{ "nbformat": 4, "nbformat_minor": 2, "metadata": { "colab": { "name": "Tensorflow 2 Object Detection: Train model.ipynb", "provenance": [], "collapsed_sections": [ "KNT9cI_ZSCla", "Iz1sd2reSTxg" ], "toc_visible": true }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "accelerator": "GPU" }, "cells": [ { "cell_type": "markdown", "source": [ "# Tensorflow 2 Object Detection: Train model\n", "\n" ], "metadata": { "id": "GaTTQ6iSRVZx" } }, { "cell_type": "markdown", "source": [ "
\n", " \n", " Run in Google Colab\n", " \n", "\n", " \n", " View source on GitHub\n", "
" ], "metadata": { "id": "IYfnqP0PVcW-" } }, { "cell_type": "markdown", "source": [ "This notebook walks you through training a custom object detection model using the Tensorflow Object Detection API and Tensorflow 2.\n", "\n", "The notebook is split into the following parts:\n", "* Install the Tensorflow Object Detection API\n", "* Prepare data for use with the OD API\n", "* Write custom training configuration\n", "* Train detector\n", "* Export model inference graph\n", "* Test trained model\n", "\n", "![Microcontroller Detection](https://github.com/TannerGilbert/Tensorflow-Object-Detection-API-Train-Model/blob/master/doc/output.png?raw=1)" ], "metadata": { "id": "9Yr4xvQ4VcW_" } }, { "cell_type": "markdown", "source": [ "## Installation\n", "\n", "Installing the Tensorflow Object Detection API became a lot easier with the relase of Tensorflow 2. The following few cells are all that is needed in order to install the OD API." ], "metadata": { "id": "KNT9cI_ZSCla" } }, { "cell_type": "code", "execution_count": null, "source": [ "!pip install tensorflow==\"2.6.0\"" ], "outputs": [], "metadata": { "id": "fTBYWlnKSD78", "colab": { "base_uri": "https://localhost:8080/", "height": 646 }, "outputId": "9c980ce9-3f3c-4b69-9881-3f0d949e20f0" } }, { "cell_type": "code", "execution_count": null, "source": [ "import os\r\n", "import pathlib\r\n", "\r\n", "# Clone the tensorflow models repository if it doesn't already exist\r\n", "if \"models\" in pathlib.Path.cwd().parts:\r\n", " while \"models\" in pathlib.Path.cwd().parts:\r\n", " os.chdir('..')\r\n", "elif not pathlib.Path('models').exists():\r\n", " !git clone --depth 1 https://github.com/tensorflow/models" ], "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Cloning into 'models'...\n", "remote: Enumerating objects: 2797, done.\u001b[K\n", "remote: Counting objects: 100% (2797/2797), done.\u001b[K\n", "remote: Compressing objects: 100% (2439/2439), done.\u001b[K\n", "remote: Total 2797 (delta 563), reused 1415 (delta 322), pack-reused 0\u001b[K\n", "Receiving objects: 100% (2797/2797), 57.73 MiB | 17.76 MiB/s, done.\n", "Resolving deltas: 100% (563/563), done.\n" ] } ], "metadata": { "id": "Kpha2-F_SGBj", "colab": { "base_uri": "https://localhost:8080/", "height": 136 }, "outputId": "57e68c9c-7a03-49a2-ebd9-44558d9a85ca" } }, { "cell_type": "code", "execution_count": null, "source": [ "# Install the Object Detection API\n", "%%bash\n", "cd models/research/\n", "protoc object_detection/protos/*.proto --python_out=.\n", "cp object_detection/packages/tf2/setup.py .\n", "python -m pip install ." ], "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Processing /content/models/research\n", "Requirement already satisfied: pillow in /usr/local/lib/python3.6/dist-packages (from object-detection==0.1) (7.0.0)\n", "Requirement already satisfied: lxml in /usr/local/lib/python3.6/dist-packages (from object-detection==0.1) (4.2.6)\n", "Requirement already satisfied: matplotlib in /usr/local/lib/python3.6/dist-packages (from object-detection==0.1) (3.2.2)\n", "Requirement already satisfied: Cython in /usr/local/lib/python3.6/dist-packages (from object-detection==0.1) (0.29.21)\n", "Requirement already satisfied: contextlib2 in /usr/local/lib/python3.6/dist-packages (from object-detection==0.1) (0.5.5)\n", "Collecting tf-slim\n", " Downloading https://files.pythonhosted.org/packages/02/97/b0f4a64df018ca018cc035d44f2ef08f91e2e8aa67271f6f19633a015ff7/tf_slim-1.1.0-py2.py3-none-any.whl (352kB)\n", "Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from object-detection==0.1) (1.12.0)\n", "Requirement already satisfied: pycocotools in /usr/local/lib/python3.6/dist-packages (from object-detection==0.1) (2.0.1)\n", "Requirement already satisfied: scipy in /usr/local/lib/python3.6/dist-packages (from object-detection==0.1) (1.4.1)\n", "Requirement already satisfied: pandas in /usr/local/lib/python3.6/dist-packages (from object-detection==0.1) (1.0.5)\n", "Collecting tf-models-official\n", " Downloading https://files.pythonhosted.org/packages/77/74/14ec628a5be6ef83b95aaddbbc2d19277fb8d3d497188b615ac1377d1bfc/tf_models_official-2.2.1-py2.py3-none-any.whl (711kB)\n", "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->object-detection==0.1) (1.2.0)\n", "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->object-detection==0.1) (2.4.7)\n", "Requirement already satisfied: numpy>=1.11 in /usr/local/lib/python3.6/dist-packages (from matplotlib->object-detection==0.1) (1.18.5)\n", "Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->object-detection==0.1) (2.8.1)\n", "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.6/dist-packages (from matplotlib->object-detection==0.1) (0.10.0)\n", "Requirement already satisfied: absl-py>=0.2.2 in /usr/local/lib/python3.6/dist-packages (from tf-slim->object-detection==0.1) (0.9.0)\n", "Requirement already satisfied: setuptools>=18.0 in /usr/local/lib/python3.6/dist-packages (from pycocotools->object-detection==0.1) (49.1.0)\n", "Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.6/dist-packages (from pandas->object-detection==0.1) (2018.9)\n", "Collecting py-cpuinfo>=3.3.0\n", " Downloading https://files.pythonhosted.org/packages/f6/f5/8e6e85ce2e9f6e05040cf0d4e26f43a4718bcc4bce988b433276d4b1a5c1/py-cpuinfo-7.0.0.tar.gz (95kB)\n", "Collecting mlperf-compliance==0.0.10\n", " Downloading https://files.pythonhosted.org/packages/f4/08/f2febd8cbd5c9371f7dab311e90400d83238447ba7609b3bf0145b4cb2a2/mlperf_compliance-0.0.10-py3-none-any.whl\n", "Requirement already satisfied: pyyaml in /usr/local/lib/python3.6/dist-packages (from tf-models-official->object-detection==0.1) (3.13)\n", "Requirement already satisfied: kaggle>=1.3.9 in /usr/local/lib/python3.6/dist-packages (from tf-models-official->object-detection==0.1) (1.5.6)\n", "Requirement already satisfied: google-cloud-bigquery>=0.31.0 in /usr/local/lib/python3.6/dist-packages (from tf-models-official->object-detection==0.1) (1.21.0)\n", "Requirement already satisfied: tensorflow-datasets in /usr/local/lib/python3.6/dist-packages (from tf-models-official->object-detection==0.1) (2.1.0)\n", "Requirement already satisfied: tensorflow-addons in /usr/local/lib/python3.6/dist-packages (from tf-models-official->object-detection==0.1) (0.8.3)\n", "Requirement already satisfied: google-api-python-client>=1.6.7 in /usr/local/lib/python3.6/dist-packages (from tf-models-official->object-detection==0.1) (1.7.12)\n", "Collecting typing==3.7.4.1\n", " Downloading https://files.pythonhosted.org/packages/fe/2e/b480ee1b75e6d17d2993738670e75c1feeb9ff7f64452153cf018051cc92/typing-3.7.4.1-py3-none-any.whl\n", "Requirement already satisfied: tensorflow>=2.2.0 in /usr/local/lib/python3.6/dist-packages (from tf-models-official->object-detection==0.1) (2.2.0)\n", "Requirement already satisfied: gin-config in /usr/local/lib/python3.6/dist-packages (from tf-models-official->object-detection==0.1) (0.3.0)\n", "Requirement already satisfied: oauth2client>=4.1.2 in /usr/local/lib/python3.6/dist-packages (from tf-models-official->object-detection==0.1) (4.1.3)\n", "Collecting sentencepiece\n", " Downloading https://files.pythonhosted.org/packages/d4/a4/d0a884c4300004a78cca907a6ff9a5e9fe4f090f5d95ab341c53d28cbc58/sentencepiece-0.1.91-cp36-cp36m-manylinux1_x86_64.whl (1.1MB)\n", "Requirement already satisfied: psutil>=5.4.3 in /usr/local/lib/python3.6/dist-packages (from tf-models-official->object-detection==0.1) (5.4.8)\n", "Requirement already satisfied: tensorflow-hub>=0.6.0 in /usr/local/lib/python3.6/dist-packages (from tf-models-official->object-detection==0.1) (0.8.0)\n", "Requirement already satisfied: dataclasses in /usr/local/lib/python3.6/dist-packages (from tf-models-official->object-detection==0.1) (0.7)\n", "Collecting tensorflow-model-optimization>=0.2.1\n", " Downloading https://files.pythonhosted.org/packages/09/7e/e94aa029999ec30951e8129fa992fecbbaffda66eba97c65d5a83f8ea96d/tensorflow_model_optimization-0.3.0-py2.py3-none-any.whl (165kB)\n", "Collecting opencv-python-headless\n", " Downloading https://files.pythonhosted.org/packages/17/e4/a98a3c3098ea55b6ae193a1cd19a221dc3c1bde87a36db5550addc879d36/opencv_python_headless-4.3.0.36-cp36-cp36m-manylinux2014_x86_64.whl (36.4MB)\n", "Requirement already satisfied: certifi in /usr/local/lib/python3.6/dist-packages (from kaggle>=1.3.9->tf-models-official->object-detection==0.1) (2020.6.20)\n", "Requirement already satisfied: urllib3<1.25,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from kaggle>=1.3.9->tf-models-official->object-detection==0.1) (1.24.3)\n", "Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from kaggle>=1.3.9->tf-models-official->object-detection==0.1) (2.23.0)\n", "Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from kaggle>=1.3.9->tf-models-official->object-detection==0.1) (4.41.1)\n", "Requirement already satisfied: python-slugify in /usr/local/lib/python3.6/dist-packages (from kaggle>=1.3.9->tf-models-official->object-detection==0.1) (4.0.1)\n", "Requirement already satisfied: google-resumable-media!=0.4.0,<0.5.0dev,>=0.3.1 in /usr/local/lib/python3.6/dist-packages (from google-cloud-bigquery>=0.31.0->tf-models-official->object-detection==0.1) (0.4.1)\n", "Requirement already satisfied: google-cloud-core<2.0dev,>=1.0.3 in /usr/local/lib/python3.6/dist-packages (from google-cloud-bigquery>=0.31.0->tf-models-official->object-detection==0.1) (1.0.3)\n", "Requirement already satisfied: protobuf>=3.6.0 in /usr/local/lib/python3.6/dist-packages (from google-cloud-bigquery>=0.31.0->tf-models-official->object-detection==0.1) (3.12.2)\n", "Requirement already satisfied: tensorflow-metadata in /usr/local/lib/python3.6/dist-packages (from tensorflow-datasets->tf-models-official->object-detection==0.1) (0.22.2)\n", "Requirement already satisfied: termcolor in /usr/local/lib/python3.6/dist-packages (from tensorflow-datasets->tf-models-official->object-detection==0.1) (1.1.0)\n", "Requirement already satisfied: wrapt in /usr/local/lib/python3.6/dist-packages (from tensorflow-datasets->tf-models-official->object-detection==0.1) (1.12.1)\n", "Requirement already satisfied: dill in /usr/local/lib/python3.6/dist-packages (from tensorflow-datasets->tf-models-official->object-detection==0.1) (0.3.2)\n", "Requirement already satisfied: attrs>=18.1.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow-datasets->tf-models-official->object-detection==0.1) (19.3.0)\n", "Requirement already satisfied: future in /usr/local/lib/python3.6/dist-packages (from tensorflow-datasets->tf-models-official->object-detection==0.1) (0.16.0)\n", "Requirement already satisfied: promise in /usr/local/lib/python3.6/dist-packages (from tensorflow-datasets->tf-models-official->object-detection==0.1) (2.3)\n", "Requirement already satisfied: typeguard in /usr/local/lib/python3.6/dist-packages (from tensorflow-addons->tf-models-official->object-detection==0.1) (2.7.1)\n", "Requirement already satisfied: google-auth>=1.4.1 in /usr/local/lib/python3.6/dist-packages (from google-api-python-client>=1.6.7->tf-models-official->object-detection==0.1) (1.17.2)\n", "Requirement already satisfied: httplib2<1dev,>=0.17.0 in /usr/local/lib/python3.6/dist-packages (from google-api-python-client>=1.6.7->tf-models-official->object-detection==0.1) (0.17.4)\n", "Requirement already satisfied: uritemplate<4dev,>=3.0.0 in /usr/local/lib/python3.6/dist-packages (from google-api-python-client>=1.6.7->tf-models-official->object-detection==0.1) (3.0.1)\n", "Requirement already satisfied: google-auth-httplib2>=0.0.3 in /usr/local/lib/python3.6/dist-packages (from google-api-python-client>=1.6.7->tf-models-official->object-detection==0.1) (0.0.4)\n", "Requirement already satisfied: opt-einsum>=2.3.2 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (3.2.1)\n", "Requirement already satisfied: tensorflow-estimator<2.3.0,>=2.2.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (2.2.0)\n", "Requirement already satisfied: h5py<2.11.0,>=2.10.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (2.10.0)\n", "Requirement already satisfied: gast==0.3.3 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (0.3.3)\n", "Requirement already satisfied: grpcio>=1.8.6 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (1.30.0)\n", "Requirement already satisfied: keras-preprocessing>=1.1.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (1.1.2)\n", "Requirement already satisfied: wheel>=0.26; python_version >= \"3\" in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (0.34.2)\n", "Requirement already satisfied: google-pasta>=0.1.8 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (0.2.0)\n", "Requirement already satisfied: tensorboard<2.3.0,>=2.2.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (2.2.2)\n", "Requirement already satisfied: astunparse==1.6.3 in /usr/local/lib/python3.6/dist-packages (from tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (1.6.3)\n", "Requirement already satisfied: rsa>=3.1.4 in /usr/local/lib/python3.6/dist-packages (from oauth2client>=4.1.2->tf-models-official->object-detection==0.1) (4.6)\n", "Requirement already satisfied: pyasn1>=0.1.7 in /usr/local/lib/python3.6/dist-packages (from oauth2client>=4.1.2->tf-models-official->object-detection==0.1) (0.4.8)\n", "Requirement already satisfied: pyasn1-modules>=0.0.5 in /usr/local/lib/python3.6/dist-packages (from oauth2client>=4.1.2->tf-models-official->object-detection==0.1) (0.2.8)\n", "Collecting dm-tree~=0.1.1\n", " Downloading https://files.pythonhosted.org/packages/16/48/10fb721334810081b7e6eebeba0d12e12126c76993e8c243062d2f56a89f/dm_tree-0.1.5-cp36-cp36m-manylinux1_x86_64.whl (294kB)\n", "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests->kaggle>=1.3.9->tf-models-official->object-detection==0.1) (2.10)\n", "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests->kaggle>=1.3.9->tf-models-official->object-detection==0.1) (3.0.4)\n", "Requirement already satisfied: text-unidecode>=1.3 in /usr/local/lib/python3.6/dist-packages (from python-slugify->kaggle>=1.3.9->tf-models-official->object-detection==0.1) (1.3)\n", "Requirement already satisfied: google-api-core<2.0.0dev,>=1.14.0 in /usr/local/lib/python3.6/dist-packages (from google-cloud-core<2.0dev,>=1.0.3->google-cloud-bigquery>=0.31.0->tf-models-official->object-detection==0.1) (1.16.0)\n", "Requirement already satisfied: googleapis-common-protos in /usr/local/lib/python3.6/dist-packages (from tensorflow-metadata->tensorflow-datasets->tf-models-official->object-detection==0.1) (1.52.0)\n", "Requirement already satisfied: cachetools<5.0,>=2.0.0 in /usr/local/lib/python3.6/dist-packages (from google-auth>=1.4.1->google-api-python-client>=1.6.7->tf-models-official->object-detection==0.1) (4.1.1)\n", "Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (0.4.1)\n", "Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (1.7.0)\n", "Requirement already satisfied: werkzeug>=0.11.15 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (1.0.1)\n", "Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (3.2.2)\n", "Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.6/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.3.0,>=2.2.0->tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (1.3.0)\n", "Requirement already satisfied: importlib-metadata; python_version < \"3.8\" in /usr/local/lib/python3.6/dist-packages (from markdown>=2.6.8->tensorboard<2.3.0,>=2.2.0->tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (1.7.0)\n", "Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.6/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.3.0,>=2.2.0->tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (3.1.0)\n", "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.6/dist-packages (from importlib-metadata; python_version < \"3.8\"->markdown>=2.6.8->tensorboard<2.3.0,>=2.2.0->tensorflow>=2.2.0->tf-models-official->object-detection==0.1) (3.1.0)\n", "Building wheels for collected packages: object-detection, py-cpuinfo\n", " Building wheel for object-detection (setup.py): started\n", " Building wheel for object-detection (setup.py): finished with status 'done'\n", " Created wheel for object-detection: filename=object_detection-0.1-cp36-none-any.whl size=1533329 sha256=d7d2f8626d5043591cbc978a05c392b3c73ae89534d2f1a0e3f2ef1338bbc505\n", " Stored in directory: /tmp/pip-ephem-wheel-cache-5s9aptwv/wheels/94/49/4b/39b051683087a22ef7e80ec52152a27249d1a644ccf4e442ea\n", " Building wheel for py-cpuinfo (setup.py): started\n", " Building wheel for py-cpuinfo (setup.py): finished with status 'done'\n", " Created wheel for py-cpuinfo: filename=py_cpuinfo-7.0.0-cp36-none-any.whl size=20069 sha256=7e02ad8735d4be1fe8292a7f3ecd791ab5438245c60cc96235ad68aec9806ab4\n", " Stored in directory: /root/.cache/pip/wheels/f1/93/7b/127daf0c3a5a49feb2fecd468d508067c733fba5192f726ad1\n", "Successfully built object-detection py-cpuinfo\n", "Installing collected packages: tf-slim, py-cpuinfo, mlperf-compliance, typing, sentencepiece, dm-tree, tensorflow-model-optimization, opencv-python-headless, tf-models-official, object-detection\n", "Successfully installed dm-tree-0.1.5 mlperf-compliance-0.0.10 object-detection-0.1 opencv-python-headless-4.3.0.36 py-cpuinfo-7.0.0 sentencepiece-0.1.91 tensorflow-model-optimization-0.3.0 tf-models-official-2.2.1 tf-slim-1.1.0 typing-3.7.4.1\n" ] }, { "output_type": "stream", "name": "stderr", "text": [ "object_detection/protos/input_reader.proto: warning: Import object_detection/protos/image_resizer.proto but not used.\n" ] } ], "metadata": { "id": "rmr2UdV_SHuc", "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "outputId": "941be81e-fa0a-4642-f1d2-f36bfb5971b2" } }, { "cell_type": "code", "execution_count": null, "source": [ "#run model builder test\n", "!python /content/models/research/object_detection/builders/model_builder_tf2_test.py" ], "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "2020-07-18 15:53:31.348956: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n", "Running tests under Python 3.6.9: /usr/bin/python3\n", "[ RUN ] ModelBuilderTF2Test.test_create_center_net_model\n", "2020-07-18 15:53:33.836001: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcuda.so.1\n", "2020-07-18 15:53:33.887663: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:53:33.888362: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] Found device 0 with properties: \n", "pciBusID: 0000:00:04.0 name: Tesla P100-PCIE-16GB computeCapability: 6.0\n", "coreClock: 1.3285GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s\n", "2020-07-18 15:53:33.888409: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n", "2020-07-18 15:53:34.137369: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n", "2020-07-18 15:53:34.270543: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n", "2020-07-18 15:53:34.290292: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n", "2020-07-18 15:53:34.570730: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n", "2020-07-18 15:53:34.604292: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n", "2020-07-18 15:53:35.144359: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n", "2020-07-18 15:53:35.144603: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:53:35.145370: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:53:35.145966: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1703] Adding visible gpu devices: 0\n", "2020-07-18 15:53:35.146307: I tensorflow/core/platform/cpu_feature_guard.cc:143] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX512F\n", "2020-07-18 15:53:35.177665: I tensorflow/core/platform/profile_utils/cpu_utils.cc:102] CPU Frequency: 2000179999 Hz\n", "2020-07-18 15:53:35.177869: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x24caf40 initialized for platform Host (this does not guarantee that XLA will be used). Devices:\n", "2020-07-18 15:53:35.177903: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): Host, Default Version\n", "2020-07-18 15:53:35.325361: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:53:35.326101: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x24cad80 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices:\n", "2020-07-18 15:53:35.326130: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): Tesla P100-PCIE-16GB, Compute Capability 6.0\n", "2020-07-18 15:53:35.327390: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:53:35.327991: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] Found device 0 with properties: \n", "pciBusID: 0000:00:04.0 name: Tesla P100-PCIE-16GB computeCapability: 6.0\n", "coreClock: 1.3285GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s\n", "2020-07-18 15:53:35.328035: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n", "2020-07-18 15:53:35.328081: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n", "2020-07-18 15:53:35.328123: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n", "2020-07-18 15:53:35.328145: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n", "2020-07-18 15:53:35.328206: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n", "2020-07-18 15:53:35.328230: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n", "2020-07-18 15:53:35.328251: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n", "2020-07-18 15:53:35.328332: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:53:35.328929: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:53:35.329492: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1703] Adding visible gpu devices: 0\n", "2020-07-18 15:53:35.333064: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n", "2020-07-18 15:53:41.707389: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1102] Device interconnect StreamExecutor with strength 1 edge matrix:\n", "2020-07-18 15:53:41.707444: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1108] 0 \n", "2020-07-18 15:53:41.707458: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1121] 0: N \n", "2020-07-18 15:53:41.771654: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:53:41.772409: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:53:41.772966: W tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:39] Overriding allow_growth setting because the TF_FORCE_GPU_ALLOW_GROWTH environment variable is set. Original config value was 0.\n", "2020-07-18 15:53:41.773014: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1247] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14974 MB memory) -> physical GPU (device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0)\n", "[ OK ] ModelBuilderTF2Test.test_create_center_net_model\n", "[ RUN ] ModelBuilderTF2Test.test_create_experimental_model\n", "[ OK ] ModelBuilderTF2Test.test_create_experimental_model\n", "[ RUN ] ModelBuilderTF2Test.test_create_faster_rcnn_from_config_with_crop_feature(True)\n", "[ OK ] ModelBuilderTF2Test.test_create_faster_rcnn_from_config_with_crop_feature(True)\n", "[ RUN ] ModelBuilderTF2Test.test_create_faster_rcnn_from_config_with_crop_feature(False)\n", "[ OK ] ModelBuilderTF2Test.test_create_faster_rcnn_from_config_with_crop_feature(False)\n", "[ RUN ] ModelBuilderTF2Test.test_create_faster_rcnn_model_from_config_with_example_miner\n", "[ OK ] ModelBuilderTF2Test.test_create_faster_rcnn_model_from_config_with_example_miner\n", "[ RUN ] ModelBuilderTF2Test.test_create_faster_rcnn_models_from_config_faster_rcnn_with_matmul\n", "[ OK ] ModelBuilderTF2Test.test_create_faster_rcnn_models_from_config_faster_rcnn_with_matmul\n", "[ RUN ] ModelBuilderTF2Test.test_create_faster_rcnn_models_from_config_faster_rcnn_without_matmul\n", "[ OK ] ModelBuilderTF2Test.test_create_faster_rcnn_models_from_config_faster_rcnn_without_matmul\n", "[ RUN ] ModelBuilderTF2Test.test_create_faster_rcnn_models_from_config_mask_rcnn_with_matmul\n", "[ OK ] ModelBuilderTF2Test.test_create_faster_rcnn_models_from_config_mask_rcnn_with_matmul\n", "[ RUN ] ModelBuilderTF2Test.test_create_faster_rcnn_models_from_config_mask_rcnn_without_matmul\n", "[ OK ] ModelBuilderTF2Test.test_create_faster_rcnn_models_from_config_mask_rcnn_without_matmul\n", "[ RUN ] ModelBuilderTF2Test.test_create_rfcn_model_from_config\n", "[ OK ] ModelBuilderTF2Test.test_create_rfcn_model_from_config\n", "[ RUN ] ModelBuilderTF2Test.test_create_ssd_fpn_model_from_config\n", "[ OK ] ModelBuilderTF2Test.test_create_ssd_fpn_model_from_config\n", "[ RUN ] ModelBuilderTF2Test.test_create_ssd_models_from_config\n", "I0718 15:53:50.383395 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:144] EfficientDet EfficientNet backbone version: efficientnet-b0\n", "I0718 15:53:50.383588 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:145] EfficientDet BiFPN num filters: 64\n", "I0718 15:53:50.383674 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:147] EfficientDet BiFPN num iterations: 3\n", "I0718 15:53:50.391403 139783477233536 efficientnet_model.py:146] round_filter input=32 output=32\n", "I0718 15:53:50.430215 139783477233536 efficientnet_model.py:146] round_filter input=32 output=32\n", "I0718 15:53:50.430354 139783477233536 efficientnet_model.py:146] round_filter input=16 output=16\n", "I0718 15:53:50.546231 139783477233536 efficientnet_model.py:146] round_filter input=16 output=16\n", "I0718 15:53:50.546369 139783477233536 efficientnet_model.py:146] round_filter input=24 output=24\n", "I0718 15:53:50.855049 139783477233536 efficientnet_model.py:146] round_filter input=24 output=24\n", "I0718 15:53:50.855231 139783477233536 efficientnet_model.py:146] round_filter input=40 output=40\n", "I0718 15:53:51.163151 139783477233536 efficientnet_model.py:146] round_filter input=40 output=40\n", "I0718 15:53:51.163348 139783477233536 efficientnet_model.py:146] round_filter input=80 output=80\n", "I0718 15:53:51.631662 139783477233536 efficientnet_model.py:146] round_filter input=80 output=80\n", "I0718 15:53:51.631822 139783477233536 efficientnet_model.py:146] round_filter input=112 output=112\n", "I0718 15:53:52.096985 139783477233536 efficientnet_model.py:146] round_filter input=112 output=112\n", "I0718 15:53:52.097150 139783477233536 efficientnet_model.py:146] round_filter input=192 output=192\n", "I0718 15:53:52.894778 139783477233536 efficientnet_model.py:146] round_filter input=192 output=192\n", "I0718 15:53:52.894949 139783477233536 efficientnet_model.py:146] round_filter input=320 output=320\n", "I0718 15:53:53.037482 139783477233536 efficientnet_model.py:146] round_filter input=1280 output=1280\n", "I0718 15:53:53.098095 139783477233536 efficientnet_model.py:459] Building model efficientnet with params ModelConfig(width_coefficient=1.0, depth_coefficient=1.0, resolution=224, dropout_rate=0.2, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_size=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kernel_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40, kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filters=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_filters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, output_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet', rescale_input=False, data_format='channels_last', dtype='float32')\n", "I0718 15:53:53.196350 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:144] EfficientDet EfficientNet backbone version: efficientnet-b1\n", "I0718 15:53:53.196521 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:145] EfficientDet BiFPN num filters: 88\n", "I0718 15:53:53.196609 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:147] EfficientDet BiFPN num iterations: 4\n", "I0718 15:53:53.203763 139783477233536 efficientnet_model.py:146] round_filter input=32 output=32\n", "I0718 15:53:53.242450 139783477233536 efficientnet_model.py:146] round_filter input=32 output=32\n", "I0718 15:53:53.242589 139783477233536 efficientnet_model.py:146] round_filter input=16 output=16\n", "I0718 15:53:53.471552 139783477233536 efficientnet_model.py:146] round_filter input=16 output=16\n", "I0718 15:53:53.471700 139783477233536 efficientnet_model.py:146] round_filter input=24 output=24\n", "I0718 15:53:53.948541 139783477233536 efficientnet_model.py:146] round_filter input=24 output=24\n", "I0718 15:53:53.948699 139783477233536 efficientnet_model.py:146] round_filter input=40 output=40\n", "I0718 15:53:54.426619 139783477233536 efficientnet_model.py:146] round_filter input=40 output=40\n", "I0718 15:53:54.426785 139783477233536 efficientnet_model.py:146] round_filter input=80 output=80\n", "I0718 15:53:55.058634 139783477233536 efficientnet_model.py:146] round_filter input=80 output=80\n", "I0718 15:53:55.058791 139783477233536 efficientnet_model.py:146] round_filter input=112 output=112\n", "I0718 15:53:55.696157 139783477233536 efficientnet_model.py:146] round_filter input=112 output=112\n", "I0718 15:53:55.696341 139783477233536 efficientnet_model.py:146] round_filter input=192 output=192\n", "I0718 15:53:56.479348 139783477233536 efficientnet_model.py:146] round_filter input=192 output=192\n", "I0718 15:53:56.479512 139783477233536 efficientnet_model.py:146] round_filter input=320 output=320\n", "I0718 15:53:56.808774 139783477233536 efficientnet_model.py:146] round_filter input=1280 output=1280\n", "I0718 15:53:56.868782 139783477233536 efficientnet_model.py:459] Building model efficientnet with params ModelConfig(width_coefficient=1.0, depth_coefficient=1.1, resolution=240, dropout_rate=0.2, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_size=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kernel_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40, kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filters=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_filters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, output_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet', rescale_input=False, data_format='channels_last', dtype='float32')\n", "I0718 15:53:57.169081 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:144] EfficientDet EfficientNet backbone version: efficientnet-b2\n", "I0718 15:53:57.169301 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:145] EfficientDet BiFPN num filters: 112\n", "I0718 15:53:57.169383 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:147] EfficientDet BiFPN num iterations: 5\n", "I0718 15:53:57.179291 139783477233536 efficientnet_model.py:146] round_filter input=32 output=32\n", "I0718 15:53:57.222126 139783477233536 efficientnet_model.py:146] round_filter input=32 output=32\n", "I0718 15:53:57.222292 139783477233536 efficientnet_model.py:146] round_filter input=16 output=16\n", "I0718 15:53:57.450467 139783477233536 efficientnet_model.py:146] round_filter input=16 output=16\n", "I0718 15:53:57.450621 139783477233536 efficientnet_model.py:146] round_filter input=24 output=24\n", "I0718 15:53:57.921869 139783477233536 efficientnet_model.py:146] round_filter input=24 output=24\n", "I0718 15:53:57.922047 139783477233536 efficientnet_model.py:146] round_filter input=40 output=48\n", "I0718 15:53:58.394853 139783477233536 efficientnet_model.py:146] round_filter input=40 output=48\n", "I0718 15:53:58.395023 139783477233536 efficientnet_model.py:146] round_filter input=80 output=88\n", "I0718 15:53:59.036375 139783477233536 efficientnet_model.py:146] round_filter input=80 output=88\n", "I0718 15:53:59.036572 139783477233536 efficientnet_model.py:146] round_filter input=112 output=120\n", "I0718 15:53:59.687438 139783477233536 efficientnet_model.py:146] round_filter input=112 output=120\n", "I0718 15:53:59.687608 139783477233536 efficientnet_model.py:146] round_filter input=192 output=208\n", "I0718 15:54:00.491297 139783477233536 efficientnet_model.py:146] round_filter input=192 output=208\n", "I0718 15:54:00.491468 139783477233536 efficientnet_model.py:146] round_filter input=320 output=352\n", "I0718 15:54:00.807165 139783477233536 efficientnet_model.py:146] round_filter input=1280 output=1408\n", "I0718 15:54:00.866840 139783477233536 efficientnet_model.py:459] Building model efficientnet with params ModelConfig(width_coefficient=1.1, depth_coefficient=1.2, resolution=260, dropout_rate=0.3, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_size=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kernel_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40, kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filters=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_filters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, output_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet', rescale_input=False, data_format='channels_last', dtype='float32')\n", "I0718 15:54:00.966921 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:144] EfficientDet EfficientNet backbone version: efficientnet-b3\n", "I0718 15:54:00.967070 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:145] EfficientDet BiFPN num filters: 160\n", "I0718 15:54:00.967152 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:147] EfficientDet BiFPN num iterations: 6\n", "I0718 15:54:00.973970 139783477233536 efficientnet_model.py:146] round_filter input=32 output=40\n", "I0718 15:54:01.011606 139783477233536 efficientnet_model.py:146] round_filter input=32 output=40\n", "I0718 15:54:01.011738 139783477233536 efficientnet_model.py:146] round_filter input=16 output=24\n", "I0718 15:54:01.250095 139783477233536 efficientnet_model.py:146] round_filter input=16 output=24\n", "I0718 15:54:01.250275 139783477233536 efficientnet_model.py:146] round_filter input=24 output=32\n", "I0718 15:54:01.742437 139783477233536 efficientnet_model.py:146] round_filter input=24 output=32\n", "I0718 15:54:01.742615 139783477233536 efficientnet_model.py:146] round_filter input=40 output=48\n", "I0718 15:54:02.214576 139783477233536 efficientnet_model.py:146] round_filter input=40 output=48\n", "I0718 15:54:02.214745 139783477233536 efficientnet_model.py:146] round_filter input=80 output=96\n", "I0718 15:54:03.244881 139783477233536 efficientnet_model.py:146] round_filter input=80 output=96\n", "I0718 15:54:03.245072 139783477233536 efficientnet_model.py:146] round_filter input=112 output=136\n", "I0718 15:54:04.066666 139783477233536 efficientnet_model.py:146] round_filter input=112 output=136\n", "I0718 15:54:04.066832 139783477233536 efficientnet_model.py:146] round_filter input=192 output=232\n", "I0718 15:54:05.061048 139783477233536 efficientnet_model.py:146] round_filter input=192 output=232\n", "I0718 15:54:05.061232 139783477233536 efficientnet_model.py:146] round_filter input=320 output=384\n", "I0718 15:54:05.387217 139783477233536 efficientnet_model.py:146] round_filter input=1280 output=1536\n", "I0718 15:54:05.445710 139783477233536 efficientnet_model.py:459] Building model efficientnet with params ModelConfig(width_coefficient=1.2, depth_coefficient=1.4, resolution=300, dropout_rate=0.3, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_size=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kernel_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40, kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filters=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_filters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, output_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet', rescale_input=False, data_format='channels_last', dtype='float32')\n", "I0718 15:54:05.552754 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:144] EfficientDet EfficientNet backbone version: efficientnet-b4\n", "I0718 15:54:05.552904 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:145] EfficientDet BiFPN num filters: 224\n", "I0718 15:54:05.552979 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:147] EfficientDet BiFPN num iterations: 7\n", "I0718 15:54:05.559571 139783477233536 efficientnet_model.py:146] round_filter input=32 output=48\n", "I0718 15:54:05.599698 139783477233536 efficientnet_model.py:146] round_filter input=32 output=48\n", "I0718 15:54:05.599832 139783477233536 efficientnet_model.py:146] round_filter input=16 output=24\n", "I0718 15:54:05.849825 139783477233536 efficientnet_model.py:146] round_filter input=16 output=24\n", "I0718 15:54:05.849990 139783477233536 efficientnet_model.py:146] round_filter input=24 output=32\n", "I0718 15:54:06.503325 139783477233536 efficientnet_model.py:146] round_filter input=24 output=32\n", "I0718 15:54:06.503524 139783477233536 efficientnet_model.py:146] round_filter input=40 output=56\n", "I0718 15:54:07.158834 139783477233536 efficientnet_model.py:146] round_filter input=40 output=56\n", "I0718 15:54:07.159014 139783477233536 efficientnet_model.py:146] round_filter input=80 output=112\n", "I0718 15:54:08.160660 139783477233536 efficientnet_model.py:146] round_filter input=80 output=112\n", "I0718 15:54:08.160824 139783477233536 efficientnet_model.py:146] round_filter input=112 output=160\n", "I0718 15:54:09.162787 139783477233536 efficientnet_model.py:146] round_filter input=112 output=160\n", "I0718 15:54:09.162958 139783477233536 efficientnet_model.py:146] round_filter input=192 output=272\n", "I0718 15:54:10.759003 139783477233536 efficientnet_model.py:146] round_filter input=192 output=272\n", "I0718 15:54:10.759187 139783477233536 efficientnet_model.py:146] round_filter input=320 output=448\n", "I0718 15:54:11.075441 139783477233536 efficientnet_model.py:146] round_filter input=1280 output=1792\n", "I0718 15:54:11.135566 139783477233536 efficientnet_model.py:459] Building model efficientnet with params ModelConfig(width_coefficient=1.4, depth_coefficient=1.8, resolution=380, dropout_rate=0.4, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_size=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kernel_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40, kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filters=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_filters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, output_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet', rescale_input=False, data_format='channels_last', dtype='float32')\n", "I0718 15:54:11.260094 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:144] EfficientDet EfficientNet backbone version: efficientnet-b5\n", "I0718 15:54:11.260264 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:145] EfficientDet BiFPN num filters: 288\n", "I0718 15:54:11.260339 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:147] EfficientDet BiFPN num iterations: 7\n", "I0718 15:54:11.267058 139783477233536 efficientnet_model.py:146] round_filter input=32 output=48\n", "I0718 15:54:11.304764 139783477233536 efficientnet_model.py:146] round_filter input=32 output=48\n", "I0718 15:54:11.304882 139783477233536 efficientnet_model.py:146] round_filter input=16 output=24\n", "I0718 15:54:11.677724 139783477233536 efficientnet_model.py:146] round_filter input=16 output=24\n", "I0718 15:54:11.677884 139783477233536 efficientnet_model.py:146] round_filter input=24 output=40\n", "I0718 15:54:12.480824 139783477233536 efficientnet_model.py:146] round_filter input=24 output=40\n", "I0718 15:54:12.480993 139783477233536 efficientnet_model.py:146] round_filter input=40 output=64\n", "I0718 15:54:13.280297 139783477233536 efficientnet_model.py:146] round_filter input=40 output=64\n", "I0718 15:54:13.280489 139783477233536 efficientnet_model.py:146] round_filter input=80 output=128\n", "I0718 15:54:14.424644 139783477233536 efficientnet_model.py:146] round_filter input=80 output=128\n", "I0718 15:54:14.424811 139783477233536 efficientnet_model.py:146] round_filter input=112 output=176\n", "I0718 15:54:15.571858 139783477233536 efficientnet_model.py:146] round_filter input=112 output=176\n", "I0718 15:54:15.572030 139783477233536 efficientnet_model.py:146] round_filter input=192 output=304\n", "I0718 15:54:17.033928 139783477233536 efficientnet_model.py:146] round_filter input=192 output=304\n", "I0718 15:54:17.034095 139783477233536 efficientnet_model.py:146] round_filter input=320 output=512\n", "I0718 15:54:17.526939 139783477233536 efficientnet_model.py:146] round_filter input=1280 output=2048\n", "I0718 15:54:17.587463 139783477233536 efficientnet_model.py:459] Building model efficientnet with params ModelConfig(width_coefficient=1.6, depth_coefficient=2.2, resolution=456, dropout_rate=0.4, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_size=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kernel_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40, kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filters=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_filters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, output_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet', rescale_input=False, data_format='channels_last', dtype='float32')\n", "I0718 15:54:18.087429 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:144] EfficientDet EfficientNet backbone version: efficientnet-b6\n", "I0718 15:54:18.087618 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:145] EfficientDet BiFPN num filters: 384\n", "I0718 15:54:18.087708 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:147] EfficientDet BiFPN num iterations: 8\n", "I0718 15:54:18.094159 139783477233536 efficientnet_model.py:146] round_filter input=32 output=56\n", "I0718 15:54:18.135271 139783477233536 efficientnet_model.py:146] round_filter input=32 output=56\n", "I0718 15:54:18.135396 139783477233536 efficientnet_model.py:146] round_filter input=16 output=32\n", "I0718 15:54:18.514646 139783477233536 efficientnet_model.py:146] round_filter input=16 output=32\n", "I0718 15:54:18.514820 139783477233536 efficientnet_model.py:146] round_filter input=24 output=40\n", "I0718 15:54:19.495274 139783477233536 efficientnet_model.py:146] round_filter input=24 output=40\n", "I0718 15:54:19.495432 139783477233536 efficientnet_model.py:146] round_filter input=40 output=72\n", "I0718 15:54:20.461184 139783477233536 efficientnet_model.py:146] round_filter input=40 output=72\n", "I0718 15:54:20.461385 139783477233536 efficientnet_model.py:146] round_filter input=80 output=144\n", "I0718 15:54:21.781459 139783477233536 efficientnet_model.py:146] round_filter input=80 output=144\n", "I0718 15:54:21.781636 139783477233536 efficientnet_model.py:146] round_filter input=112 output=200\n", "I0718 15:54:23.097401 139783477233536 efficientnet_model.py:146] round_filter input=112 output=200\n", "I0718 15:54:23.097569 139783477233536 efficientnet_model.py:146] round_filter input=192 output=344\n", "I0718 15:54:24.937327 139783477233536 efficientnet_model.py:146] round_filter input=192 output=344\n", "I0718 15:54:24.937556 139783477233536 efficientnet_model.py:146] round_filter input=320 output=576\n", "I0718 15:54:25.435920 139783477233536 efficientnet_model.py:146] round_filter input=1280 output=2304\n", "I0718 15:54:25.495490 139783477233536 efficientnet_model.py:459] Building model efficientnet with params ModelConfig(width_coefficient=1.8, depth_coefficient=2.6, resolution=528, dropout_rate=0.5, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_size=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kernel_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40, kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filters=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_filters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, output_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet', rescale_input=False, data_format='channels_last', dtype='float32')\n", "I0718 15:54:25.657754 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:144] EfficientDet EfficientNet backbone version: efficientnet-b7\n", "I0718 15:54:25.657919 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:145] EfficientDet BiFPN num filters: 384\n", "I0718 15:54:25.657990 139783477233536 ssd_efficientnet_bifpn_feature_extractor.py:147] EfficientDet BiFPN num iterations: 8\n", "I0718 15:54:25.664875 139783477233536 efficientnet_model.py:146] round_filter input=32 output=64\n", "I0718 15:54:25.713185 139783477233536 efficientnet_model.py:146] round_filter input=32 output=64\n", "I0718 15:54:25.713321 139783477233536 efficientnet_model.py:146] round_filter input=16 output=32\n", "I0718 15:54:26.226270 139783477233536 efficientnet_model.py:146] round_filter input=16 output=32\n", "I0718 15:54:26.226435 139783477233536 efficientnet_model.py:146] round_filter input=24 output=48\n", "I0718 15:54:27.412612 139783477233536 efficientnet_model.py:146] round_filter input=24 output=48\n", "I0718 15:54:27.412778 139783477233536 efficientnet_model.py:146] round_filter input=40 output=80\n", "I0718 15:54:29.042933 139783477233536 efficientnet_model.py:146] round_filter input=40 output=80\n", "I0718 15:54:29.043100 139783477233536 efficientnet_model.py:146] round_filter input=80 output=160\n", "I0718 15:54:30.741483 139783477233536 efficientnet_model.py:146] round_filter input=80 output=160\n", "I0718 15:54:30.741668 139783477233536 efficientnet_model.py:146] round_filter input=112 output=224\n", "I0718 15:54:32.468313 139783477233536 efficientnet_model.py:146] round_filter input=112 output=224\n", "I0718 15:54:32.468503 139783477233536 efficientnet_model.py:146] round_filter input=192 output=384\n", "I0718 15:54:34.713875 139783477233536 efficientnet_model.py:146] round_filter input=192 output=384\n", "I0718 15:54:34.714047 139783477233536 efficientnet_model.py:146] round_filter input=320 output=640\n", "I0718 15:54:35.418475 139783477233536 efficientnet_model.py:146] round_filter input=1280 output=2560\n", "I0718 15:54:35.479586 139783477233536 efficientnet_model.py:459] Building model efficientnet with params ModelConfig(width_coefficient=2.0, depth_coefficient=3.1, resolution=600, dropout_rate=0.5, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_size=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kernel_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40, kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filters=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_filters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, output_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet', rescale_input=False, data_format='channels_last', dtype='float32')\n", "[ OK ] ModelBuilderTF2Test.test_create_ssd_models_from_config\n", "[ RUN ] ModelBuilderTF2Test.test_invalid_faster_rcnn_batchnorm_update\n", "[ OK ] ModelBuilderTF2Test.test_invalid_faster_rcnn_batchnorm_update\n", "[ RUN ] ModelBuilderTF2Test.test_invalid_first_stage_nms_iou_threshold\n", "[ OK ] ModelBuilderTF2Test.test_invalid_first_stage_nms_iou_threshold\n", "[ RUN ] ModelBuilderTF2Test.test_invalid_model_config_proto\n", "[ OK ] ModelBuilderTF2Test.test_invalid_model_config_proto\n", "[ RUN ] ModelBuilderTF2Test.test_invalid_second_stage_batch_size\n", "[ OK ] ModelBuilderTF2Test.test_invalid_second_stage_batch_size\n", "[ RUN ] ModelBuilderTF2Test.test_session\n", "[ SKIPPED ] ModelBuilderTF2Test.test_session\n", "[ RUN ] ModelBuilderTF2Test.test_unknown_faster_rcnn_feature_extractor\n", "[ OK ] ModelBuilderTF2Test.test_unknown_faster_rcnn_feature_extractor\n", "[ RUN ] ModelBuilderTF2Test.test_unknown_meta_architecture\n", "[ OK ] ModelBuilderTF2Test.test_unknown_meta_architecture\n", "[ RUN ] ModelBuilderTF2Test.test_unknown_ssd_feature_extractor\n", "[ OK ] ModelBuilderTF2Test.test_unknown_ssd_feature_extractor\n", "----------------------------------------------------------------------\n", "Ran 20 tests in 62.089s\n", "\n", "OK (skipped=1)\n" ] } ], "metadata": { "id": "XzXxTBXHSNqA", "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "outputId": "53c9df5c-dd92-4bcd-d7e4-1ae30970a3aa" } }, { "cell_type": "markdown", "source": [ "## Prepare data\n", "\n", "To train a robust model, you need a lot of pictures that vary greatly from each other. You can either take the pictures yourself or you can download them from the internet.\n", "\n", "After collecting the images you need to label them. For this I recommend using [LabelImg](https://github.com/tzutalin/labelImg) - an free, open source graphical image annotation tool.\n", "\n", "![LabelImg](https://raw.githubusercontent.com/tzutalin/labelImg/master/demo/demo3.jpg)\n", "\n", "After labeling the images, split the data into a training and testing part and convert the xml label files to csv using the [xml_to_csv.py](https://github.com/TannerGilbert/Tensorflow-Object-Detection-API-Train-Model/blob/master/xml_to_csv.py) script.\n", "\n", "I uploaded my Microcontroller Detection data-set on Kaggle. The below four cells are used to download and extract the data-set." ], "metadata": { "id": "Iz1sd2reSTxg" } }, { "cell_type": "code", "execution_count": null, "source": [ "# Install Kaggle API\n", "!pip install -q kaggle\n", "!pip install -q kaggle-cli" ], "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "\u001b[K |████████████████████████████████| 81kB 6.4MB/s \n", "\u001b[K |████████████████████████████████| 5.3MB 13.9MB/s \n", "\u001b[K |████████████████████████████████| 112kB 60.9MB/s \n", "\u001b[K |████████████████████████████████| 51kB 7.7MB/s \n", "\u001b[K |████████████████████████████████| 122kB 57.3MB/s \n", "\u001b[?25h Building wheel for kaggle-cli (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Building wheel for pyperclip (setup.py) ... \u001b[?25l\u001b[?25hdone\n" ] } ], "metadata": { "id": "N8XSaOzhSX-n", "colab": { "base_uri": "https://localhost:8080/", "height": 136 }, "outputId": "b35cdfa4-c507-4813-c11a-3fb2291fe848" } }, { "cell_type": "code", "execution_count": null, "source": [ "# only for google colab\n", "import os\n", "os.environ['KAGGLE_USERNAME'] = \"\" \n", "os.environ['KAGGLE_KEY'] = \"\"" ], "outputs": [], "metadata": { "id": "SQqz-fsJbiQ0" } }, { "cell_type": "code", "execution_count": null, "source": [ "!kaggle datasets download -d tannergi/microcontroller-detection --unzip" ], "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Downloading microcontroller-detection.zip to /content\n", "\r 0% 0.00/8.34M [00:00] 3.30K --.-KB/s in 0s \n", "\n", "2020-07-18 15:54:55 (53.3 MB/s) - ‘generate_tfrecord.py’ saved [3382/3382]\n", "\n" ] } ], "metadata": { "id": "3KHDdTY_cm5G", "colab": { "base_uri": "https://localhost:8080/", "height": 204 }, "outputId": "737cebbc-8a74-4913-a250-bdad41d58577" } }, { "cell_type": "code", "execution_count": null, "source": [ "!wget https://raw.githubusercontent.com/TannerGilbert/Tensorflow-Object-Detection-API-Train-Model/master/training/labelmap.pbtxt" ], "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "--2020-07-18 15:54:58-- https://raw.githubusercontent.com/TannerGilbert/Tensorflow-Object-Detection-API-Train-Model/master/training/labelmap.pbtxt\n", "Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.0.133, 151.101.64.133, 151.101.128.133, ...\n", "Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.0.133|:443... connected.\n", "HTTP request sent, awaiting response... 200 OK\n", "Length: 177 [text/plain]\n", "Saving to: ‘labelmap.pbtxt’\n", "\n", "\rlabelmap.pbtxt 0%[ ] 0 --.-KB/s \rlabelmap.pbtxt 100%[===================>] 177 --.-KB/s in 0s \n", "\n", "2020-07-18 15:54:58 (12.3 MB/s) - ‘labelmap.pbtxt’ saved [177/177]\n", "\n" ] } ], "metadata": { "id": "5IRZfTu6di4R", "colab": { "base_uri": "https://localhost:8080/", "height": 204 }, "outputId": "03fcb74c-8b3b-40f4-b4c4-f0eccc1cfe6e" } }, { "cell_type": "code", "execution_count": null, "source": [ "!python generate_tfrecord.py --csv_input=microcontroller-detection/train_labels.csv --image_dir=microcontroller-detection/train --output_path=train.record\n", "!python generate_tfrecord.py --csv_input=microcontroller-detection/test_labels.csv --image_dir=microcontroller-detection/test --output_path=test.record" ], "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "2020-07-18 15:55:01.284990: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n", "Successfully created the TFRecords: /content/train.record\n", "2020-07-18 15:55:04.972641: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n", "Successfully created the TFRecords: /content/test.record\n" ] } ], "metadata": { "id": "hs4KdOs7coyX", "colab": { "base_uri": "https://localhost:8080/", "height": 85 }, "outputId": "f0c2068b-a1a2-4d2b-9f90-56f25f85c982" } }, { "cell_type": "code", "execution_count": null, "source": [ "train_record_path = '/content/train.record'\n", "test_record_path = '/content/test.record'\n", "labelmap_path = '/content/labelmap.pbtxt'" ], "outputs": [], "metadata": { "id": "Z_W_8L24c4Sk" } }, { "cell_type": "markdown", "source": [ "## Configuring training\n", "\n", "Now that the data is ready it's time to create a training configuration. The OD API supports lots of models, each with its own config file. In this notebook I'm making use of EfficientDet, but you can replace it with any model available in the [Tensorflow 2 Detection Model Zoo](https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf2_detection_zoo.md)." ], "metadata": { "id": "SK79i98YSY8a" } }, { "cell_type": "code", "execution_count": null, "source": [ "batch_size = 16\n", "num_steps = 8000\n", "num_eval_steps = 1000" ], "outputs": [], "metadata": { "id": "Axko9Jd0hEI3" } }, { "cell_type": "code", "execution_count": null, "source": [ "!wget http://download.tensorflow.org/models/object_detection/tf2/20200711/efficientdet_d0_coco17_tpu-32.tar.gz\n", "!tar -xf efficientdet_d0_coco17_tpu-32.tar.gz" ], "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "--2020-07-18 15:55:08-- http://download.tensorflow.org/models/object_detection/tf2/20200711/efficientdet_d0_coco17_tpu-32.tar.gz\n", "Resolving download.tensorflow.org (download.tensorflow.org)... 108.177.126.128, 2a00:1450:4013:c01::80\n", "Connecting to download.tensorflow.org (download.tensorflow.org)|108.177.126.128|:80... connected.\n", "HTTP request sent, awaiting response... 200 OK\n", "Length: 30736482 (29M) [application/x-tar]\n", "Saving to: ‘efficientdet_d0_coco17_tpu-32.tar.gz’\n", "\n", "\r efficient 0%[ ] 0 --.-KB/s \r efficientd 19%[==> ] 5.61M 28.1MB/s \r efficientde 80%[===============> ] 23.72M 59.3MB/s \refficientdet_d0_coc 100%[===================>] 29.31M 71.6MB/s in 0.4s \n", "\n", "2020-07-18 15:55:09 (71.6 MB/s) - ‘efficientdet_d0_coco17_tpu-32.tar.gz’ saved [30736482/30736482]\n", "\n" ] } ], "metadata": { "id": "8RNI68K_dyzX", "colab": { "base_uri": "https://localhost:8080/", "height": 204 }, "outputId": "9a506324-6669-4f5e-c6e6-f354a9600177" } }, { "cell_type": "code", "execution_count": null, "source": [ "fine_tune_checkpoint = 'efficientdet_d0_coco17_tpu-32/checkpoint/ckpt-0'" ], "outputs": [], "metadata": { "id": "HKENdH3TfhGb" } }, { "cell_type": "code", "execution_count": null, "source": [ "!wget https://raw.githubusercontent.com/tensorflow/models/master/research/object_detection/configs/tf2/ssd_efficientdet_d0_512x512_coco17_tpu-8.config\n", "\n", "base_config_path = 'ssd_efficientdet_d0_512x512_coco17_tpu-8.config'" ], "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "--2020-07-18 15:55:13-- https://raw.githubusercontent.com/tensorflow/models/master/research/object_detection/configs/tf2/ssd_efficientdet_d0_512x512_coco17_tpu-8.config\n", "Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.0.133, 151.101.64.133, 151.101.128.133, ...\n", "Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.0.133|:443... connected.\n", "HTTP request sent, awaiting response... 200 OK\n", "Length: 4630 (4.5K) [text/plain]\n", "Saving to: ‘ssd_efficientdet_d0_512x512_coco17_tpu-8.config’\n", "\n", "\r ssd_effic 0%[ ] 0 --.-KB/s \rssd_efficientdet_d0 100%[===================>] 4.52K --.-KB/s in 0s \n", "\n", "2020-07-18 15:55:13 (74.9 MB/s) - ‘ssd_efficientdet_d0_512x512_coco17_tpu-8.config’ saved [4630/4630]\n", "\n" ] } ], "metadata": { "id": "qzQ84qIQelJB", "colab": { "base_uri": "https://localhost:8080/", "height": 204 }, "outputId": "695c03d0-03ba-49b2-998a-aaa5a3e4b2ea" } }, { "cell_type": "code", "execution_count": null, "source": [ "# edit configuration file (from https://colab.research.google.com/drive/1sLqFKVV94wm-lglFq_0kGo2ciM0kecWD)\n", "\n", "import re\n", "\n", "with open(base_config_path) as f:\n", " config = f.read()\n", "\n", "with open('model_config.config', 'w') as f:\n", " \n", " # Set labelmap path\n", " config = re.sub('label_map_path: \".*?\"', \n", " 'label_map_path: \"{}\"'.format(labelmap_path), config)\n", " \n", " # Set fine_tune_checkpoint path\n", " config = re.sub('fine_tune_checkpoint: \".*?\"',\n", " 'fine_tune_checkpoint: \"{}\"'.format(fine_tune_checkpoint), config)\n", " \n", " # Set train tf-record file path\n", " config = re.sub('(input_path: \".*?)(PATH_TO_BE_CONFIGURED/train)(.*?\")', \n", " 'input_path: \"{}\"'.format(train_record_path), config)\n", " \n", " # Set test tf-record file path\n", " config = re.sub('(input_path: \".*?)(PATH_TO_BE_CONFIGURED/val)(.*?\")', \n", " 'input_path: \"{}\"'.format(test_record_path), config)\n", " \n", " # Set number of classes.\n", " config = re.sub('num_classes: [0-9]+',\n", " 'num_classes: {}'.format(4), config)\n", " \n", " # Set batch size\n", " config = re.sub('batch_size: [0-9]+',\n", " 'batch_size: {}'.format(batch_size), config)\n", " \n", " # Set training steps\n", " config = re.sub('num_steps: [0-9]+',\n", " 'num_steps: {}'.format(num_steps), config)\n", " \n", " # Set fine-tune checkpoint type to detection\n", " config = re.sub('fine_tune_checkpoint_type: \"classification\"', \n", " 'fine_tune_checkpoint_type: \"{}\"'.format('detection'), config)\n", " \n", " f.write(config)" ], "outputs": [], "metadata": { "id": "m3ehVTRgesxS" } }, { "cell_type": "code", "execution_count": null, "source": [ "%cat model_config.config" ], "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ " # SSD with EfficientNet-b0 + BiFPN feature extractor,\n", "# shared box predictor and focal loss (a.k.a EfficientDet-d0).\n", "# See EfficientDet, Tan et al, https://arxiv.org/abs/1911.09070\n", "# See Lin et al, https://arxiv.org/abs/1708.02002\n", "# Trained on COCO, initialized from an EfficientNet-b0 checkpoint.\n", "#\n", "# Train on TPU-8\n", "\n", "model {\n", " ssd {\n", " inplace_batchnorm_update: true\n", " freeze_batchnorm: false\n", " num_classes: 4\n", " add_background_class: false\n", " box_coder {\n", " faster_rcnn_box_coder {\n", " y_scale: 10.0\n", " x_scale: 10.0\n", " height_scale: 5.0\n", " width_scale: 5.0\n", " }\n", " }\n", " matcher {\n", " argmax_matcher {\n", " matched_threshold: 0.5\n", " unmatched_threshold: 0.5\n", " ignore_thresholds: false\n", " negatives_lower_than_unmatched: true\n", " force_match_for_each_row: true\n", " use_matmul_gather: true\n", " }\n", " }\n", " similarity_calculator {\n", " iou_similarity {\n", " }\n", " }\n", " encode_background_as_zeros: true\n", " anchor_generator {\n", " multiscale_anchor_generator {\n", " min_level: 3\n", " max_level: 7\n", " anchor_scale: 4.0\n", " aspect_ratios: [1.0, 2.0, 0.5]\n", " scales_per_octave: 3\n", " }\n", " }\n", " image_resizer {\n", " keep_aspect_ratio_resizer {\n", " min_dimension: 512\n", " max_dimension: 512\n", " pad_to_max_dimension: true\n", " }\n", " }\n", " box_predictor {\n", " weight_shared_convolutional_box_predictor {\n", " depth: 64\n", " class_prediction_bias_init: -4.6\n", " conv_hyperparams {\n", " force_use_bias: true\n", " activation: SWISH\n", " regularizer {\n", " l2_regularizer {\n", " weight: 0.00004\n", " }\n", " }\n", " initializer {\n", " random_normal_initializer {\n", " stddev: 0.01\n", " mean: 0.0\n", " }\n", " }\n", " batch_norm {\n", " scale: true\n", " decay: 0.99\n", " epsilon: 0.001\n", " }\n", " }\n", " num_layers_before_predictor: 3\n", " kernel_size: 3\n", " use_depthwise: true\n", " }\n", " }\n", " feature_extractor {\n", " type: 'ssd_efficientnet-b0_bifpn_keras'\n", " bifpn {\n", " min_level: 3\n", " max_level: 7\n", " num_iterations: 3\n", " num_filters: 64\n", " }\n", " conv_hyperparams {\n", " force_use_bias: true\n", " activation: SWISH\n", " regularizer {\n", " l2_regularizer {\n", " weight: 0.00004\n", " }\n", " }\n", " initializer {\n", " truncated_normal_initializer {\n", " stddev: 0.03\n", " mean: 0.0\n", " }\n", " }\n", " batch_norm {\n", " scale: true,\n", " decay: 0.99,\n", " epsilon: 0.001,\n", " }\n", " }\n", " }\n", " loss {\n", " classification_loss {\n", " weighted_sigmoid_focal {\n", " alpha: 0.25\n", " gamma: 1.5\n", " }\n", " }\n", " localization_loss {\n", " weighted_smooth_l1 {\n", " }\n", " }\n", " classification_weight: 1.0\n", " localization_weight: 1.0\n", " }\n", " normalize_loss_by_num_matches: true\n", " normalize_loc_loss_by_codesize: true\n", " post_processing {\n", " batch_non_max_suppression {\n", " score_threshold: 1e-8\n", " iou_threshold: 0.5\n", " max_detections_per_class: 100\n", " max_total_detections: 100\n", " }\n", " score_converter: SIGMOID\n", " }\n", " }\n", "}\n", "\n", "train_config: {\n", " fine_tune_checkpoint: \"efficientdet_d0_coco17_tpu-32/checkpoint/ckpt-0\"\n", " fine_tune_checkpoint_version: V2\n", " fine_tune_checkpoint_type: \"detection\"\n", " batch_size: 16\n", " sync_replicas: true\n", " startup_delay_steps: 0\n", " replicas_to_aggregate: 8\n", " use_bfloat16: true\n", " num_steps: 8000\n", " data_augmentation_options {\n", " random_horizontal_flip {\n", " }\n", " }\n", " data_augmentation_options {\n", " random_scale_crop_and_pad_to_square {\n", " output_size: 512\n", " scale_min: 0.1\n", " scale_max: 2.0\n", " }\n", " }\n", " optimizer {\n", " momentum_optimizer: {\n", " learning_rate: {\n", " cosine_decay_learning_rate {\n", " learning_rate_base: 8e-2\n", " total_steps: 300000\n", " warmup_learning_rate: .001\n", " warmup_steps: 2500\n", " }\n", " }\n", " momentum_optimizer_value: 0.9\n", " }\n", " use_moving_average: false\n", " }\n", " max_number_of_boxes: 100\n", " unpad_groundtruth_tensors: false\n", "}\n", "\n", "train_input_reader: {\n", " label_map_path: \"/content/labelmap.pbtxt\"\n", " tf_record_input_reader {\n", " input_path: \"/content/train.record\"\n", " }\n", "}\n", "\n", "eval_config: {\n", " metrics_set: \"coco_detection_metrics\"\n", " use_moving_averages: false\n", " batch_size: 16;\n", "}\n", "\n", "eval_input_reader: {\n", " label_map_path: \"/content/labelmap.pbtxt\"\n", " shuffle: false\n", " num_epochs: 1\n", " tf_record_input_reader {\n", " input_path: \"/content/test.record\"\n", " }\n", "}\n" ] } ], "metadata": { "id": "SmtrS5dihpS_", "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "outputId": "61b25374-04d3-459a-92d5-0043a7eb5873" } }, { "cell_type": "code", "execution_count": null, "source": [ "model_dir = 'training/'\n", "pipeline_config_path = 'model_config.config'" ], "outputs": [], "metadata": { "id": "eRTBSsYthwxG" } }, { "cell_type": "markdown", "source": [ "## Train detector" ], "metadata": { "id": "Tv0sbQlciKWA" } }, { "cell_type": "code", "execution_count": null, "source": [ "!python /content/models/research/object_detection/model_main_tf2.py \\\n", " --pipeline_config_path={pipeline_config_path} \\\n", " --model_dir={model_dir} \\\n", " --alsologtostderr \\\n", " --num_train_steps={num_steps} \\\n", " --sample_1_of_n_eval_examples=1 \\\n", " --num_eval_steps={num_eval_steps}" ], "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "2020-07-18 15:55:18.541351: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n", "2020-07-18 15:55:20.730572: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcuda.so.1\n", "2020-07-18 15:55:20.744101: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:55:20.744746: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] Found device 0 with properties: \n", "pciBusID: 0000:00:04.0 name: Tesla P100-PCIE-16GB computeCapability: 6.0\n", "coreClock: 1.3285GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s\n", "2020-07-18 15:55:20.744782: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n", "2020-07-18 15:55:20.746525: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n", "2020-07-18 15:55:20.754937: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n", "2020-07-18 15:55:20.755316: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n", "2020-07-18 15:55:20.757284: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n", "2020-07-18 15:55:20.758312: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n", "2020-07-18 15:55:20.762422: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n", "2020-07-18 15:55:20.762544: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:55:20.763225: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:55:20.763788: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1703] Adding visible gpu devices: 0\n", "2020-07-18 15:55:20.764113: I tensorflow/core/platform/cpu_feature_guard.cc:143] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX512F\n", "2020-07-18 15:55:20.769083: I tensorflow/core/platform/profile_utils/cpu_utils.cc:102] CPU Frequency: 2000179999 Hz\n", "2020-07-18 15:55:20.769275: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x23bcd80 initialized for platform Host (this does not guarantee that XLA will be used). Devices:\n", "2020-07-18 15:55:20.769302: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): Host, Default Version\n", "2020-07-18 15:55:20.856829: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:55:20.857598: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x23bcbc0 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices:\n", "2020-07-18 15:55:20.857631: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): Tesla P100-PCIE-16GB, Compute Capability 6.0\n", "2020-07-18 15:55:20.857811: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:55:20.858474: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] Found device 0 with properties: \n", "pciBusID: 0000:00:04.0 name: Tesla P100-PCIE-16GB computeCapability: 6.0\n", "coreClock: 1.3285GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s\n", "2020-07-18 15:55:20.858558: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n", "2020-07-18 15:55:20.858626: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n", "2020-07-18 15:55:20.858659: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n", "2020-07-18 15:55:20.858685: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n", "2020-07-18 15:55:20.858708: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n", "2020-07-18 15:55:20.858730: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n", "2020-07-18 15:55:20.858753: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n", "2020-07-18 15:55:20.858858: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:55:20.859494: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:55:20.860023: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1703] Adding visible gpu devices: 0\n", "2020-07-18 15:55:20.860069: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n", "2020-07-18 15:55:21.384629: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1102] Device interconnect StreamExecutor with strength 1 edge matrix:\n", "2020-07-18 15:55:21.384686: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1108] 0 \n", "2020-07-18 15:55:21.384701: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1121] 0: N \n", "2020-07-18 15:55:21.384914: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:55:21.385568: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 15:55:21.386097: W tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:39] Overriding allow_growth setting because the TF_FORCE_GPU_ALLOW_GROWTH environment variable is set. Original config value was 0.\n", "2020-07-18 15:55:21.386147: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1247] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14974 MB memory) -> physical GPU (device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0)\n", "INFO:tensorflow:Using MirroredStrategy with devices ('/job:localhost/replica:0/task:0/device:GPU:0',)\n", "I0718 15:55:21.388301 139647596537728 mirrored_strategy.py:500] Using MirroredStrategy with devices ('/job:localhost/replica:0/task:0/device:GPU:0',)\n", "INFO:tensorflow:Maybe overwriting train_steps: 8000\n", "I0718 15:55:21.393160 139647596537728 config_util.py:552] Maybe overwriting train_steps: 8000\n", "INFO:tensorflow:Maybe overwriting use_bfloat16: False\n", "I0718 15:55:21.393323 139647596537728 config_util.py:552] Maybe overwriting use_bfloat16: False\n", "I0718 15:55:21.409111 139647596537728 ssd_efficientnet_bifpn_feature_extractor.py:144] EfficientDet EfficientNet backbone version: efficientnet-b0\n", "I0718 15:55:21.409232 139647596537728 ssd_efficientnet_bifpn_feature_extractor.py:145] EfficientDet BiFPN num filters: 64\n", "I0718 15:55:21.409301 139647596537728 ssd_efficientnet_bifpn_feature_extractor.py:147] EfficientDet BiFPN num iterations: 3\n", "I0718 15:55:21.419074 139647596537728 efficientnet_model.py:146] round_filter input=32 output=32\n", "INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "I0718 15:55:21.449922 139647596537728 cross_device_ops.py:440] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "I0718 15:55:21.452643 139647596537728 cross_device_ops.py:440] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "I0718 15:55:21.460427 139647596537728 cross_device_ops.py:440] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "I0718 15:55:21.463117 139647596537728 cross_device_ops.py:440] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "I0718 15:55:21.487277 139647596537728 efficientnet_model.py:146] round_filter input=32 output=32\n", "I0718 15:55:21.487384 139647596537728 efficientnet_model.py:146] round_filter input=16 output=16\n", "INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "I0718 15:55:21.508268 139647596537728 cross_device_ops.py:440] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "I0718 15:55:21.510931 139647596537728 cross_device_ops.py:440] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "I0718 15:55:21.518724 139647596537728 cross_device_ops.py:440] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "I0718 15:55:21.521116 139647596537728 cross_device_ops.py:440] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "I0718 15:55:21.590935 139647596537728 cross_device_ops.py:440] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "I0718 15:55:21.593564 139647596537728 cross_device_ops.py:440] Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).\n", "I0718 15:55:21.620893 139647596537728 efficientnet_model.py:146] round_filter input=16 output=16\n", "I0718 15:55:21.620997 139647596537728 efficientnet_model.py:146] round_filter input=24 output=24\n", "I0718 15:55:22.095125 139647596537728 efficientnet_model.py:146] round_filter input=24 output=24\n", "I0718 15:55:22.095307 139647596537728 efficientnet_model.py:146] round_filter input=40 output=40\n", "I0718 15:55:22.474871 139647596537728 efficientnet_model.py:146] round_filter input=40 output=40\n", "I0718 15:55:22.475042 139647596537728 efficientnet_model.py:146] round_filter input=80 output=80\n", "I0718 15:55:23.045157 139647596537728 efficientnet_model.py:146] round_filter input=80 output=80\n", "I0718 15:55:23.045339 139647596537728 efficientnet_model.py:146] round_filter input=112 output=112\n", "I0718 15:55:23.627793 139647596537728 efficientnet_model.py:146] round_filter input=112 output=112\n", "I0718 15:55:23.628000 139647596537728 efficientnet_model.py:146] round_filter input=192 output=192\n", "I0718 15:55:24.393873 139647596537728 efficientnet_model.py:146] round_filter input=192 output=192\n", "I0718 15:55:24.394054 139647596537728 efficientnet_model.py:146] round_filter input=320 output=320\n", "I0718 15:55:24.571159 139647596537728 efficientnet_model.py:146] round_filter input=1280 output=1280\n", "I0718 15:55:24.642750 139647596537728 efficientnet_model.py:459] Building model efficientnet with params ModelConfig(width_coefficient=1.0, depth_coefficient=1.0, resolution=224, dropout_rate=0.2, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_size=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kernel_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40, kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filters=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_filters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, output_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet', rescale_input=False, data_format='channels_last', dtype='float32')\n", "WARNING:tensorflow:num_readers has been reduced to 1 to match input file shards.\n", "W0718 15:55:24.849716 139647596537728 dataset_builder.py:83] num_readers has been reduced to 1 to match input file shards.\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/object_detection/builders/dataset_builder.py:100: parallel_interleave (from tensorflow.python.data.experimental.ops.interleave_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use `tf.data.Dataset.interleave(map_func, cycle_length, block_length, num_parallel_calls=tf.data.experimental.AUTOTUNE)` instead. If sloppy execution is desired, use `tf.data.Options.experimental_deterministic`.\n", "W0718 15:55:24.853544 139647596537728 deprecation.py:323] From /usr/local/lib/python3.6/dist-packages/object_detection/builders/dataset_builder.py:100: parallel_interleave (from tensorflow.python.data.experimental.ops.interleave_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use `tf.data.Dataset.interleave(map_func, cycle_length, block_length, num_parallel_calls=tf.data.experimental.AUTOTUNE)` instead. If sloppy execution is desired, use `tf.data.Options.experimental_deterministic`.\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/object_detection/builders/dataset_builder.py:175: DatasetV1.map_with_legacy_function (from tensorflow.python.data.ops.dataset_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use `tf.data.Dataset.map()\n", "W0718 15:55:24.870084 139647596537728 deprecation.py:323] From /usr/local/lib/python3.6/dist-packages/object_detection/builders/dataset_builder.py:175: DatasetV1.map_with_legacy_function (from tensorflow.python.data.ops.dataset_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use `tf.data.Dataset.map()\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/object_detection/inputs.py:79: sparse_to_dense (from tensorflow.python.ops.sparse_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Create a `tf.sparse.SparseTensor` and use `tf.sparse.to_dense` instead.\n", "W0718 15:55:35.259865 139647596537728 deprecation.py:323] From /usr/local/lib/python3.6/dist-packages/object_detection/inputs.py:79: sparse_to_dense (from tensorflow.python.ops.sparse_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Create a `tf.sparse.SparseTensor` and use `tf.sparse.to_dense` instead.\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/object_detection/inputs.py:259: to_float (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use `tf.cast` instead.\n", "W0718 15:55:41.317755 139647596537728 deprecation.py:323] From /usr/local/lib/python3.6/dist-packages/object_detection/inputs.py:259: to_float (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use `tf.cast` instead.\n", "2020-07-18 15:56:19.728733: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n", "2020-07-18 15:56:21.173091: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._groundtruth_lists\n", "W0718 15:56:29.761919 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._groundtruth_lists\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor\n", "W0718 15:56:29.762262 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._batched_prediction_tensor_names\n", "W0718 15:56:29.762364 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._batched_prediction_tensor_names\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._box_prediction_head\n", "W0718 15:56:29.762434 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._box_prediction_head\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._prediction_heads\n", "W0718 15:56:29.762498 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._prediction_heads\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._sorted_head_names\n", "W0718 15:56:29.762557 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._sorted_head_names\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._additional_projection_layers\n", "W0718 15:56:29.762616 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._additional_projection_layers\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads\n", "W0718 15:56:29.762675 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers\n", "W0718 15:56:29.762732 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._box_prediction_head._box_encoder_layers\n", "W0718 15:56:29.762791 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._box_prediction_head._box_encoder_layers\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._prediction_heads.class_predictions_with_background\n", "W0718 15:56:29.762852 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._prediction_heads.class_predictions_with_background\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._additional_projection_layers.0\n", "W0718 15:56:29.762915 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._additional_projection_layers.0\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._additional_projection_layers.1\n", "W0718 15:56:29.762973 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._additional_projection_layers.1\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._additional_projection_layers.2\n", "W0718 15:56:29.763030 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._additional_projection_layers.2\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._additional_projection_layers.3\n", "W0718 15:56:29.763087 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._additional_projection_layers.3\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._additional_projection_layers.4\n", "W0718 15:56:29.763144 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._additional_projection_layers.4\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings\n", "W0718 15:56:29.763216 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background\n", "W0718 15:56:29.763274 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower\n", "W0718 15:56:29.763345 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower\n", "W0718 15:56:29.763403 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._box_prediction_head._box_encoder_layers.0\n", "W0718 15:56:29.763488 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._box_prediction_head._box_encoder_layers.0\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._prediction_heads.class_predictions_with_background._class_predictor_layers\n", "W0718 15:56:29.763558 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._prediction_heads.class_predictions_with_background._class_predictor_layers\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0\n", "W0718 15:56:29.763622 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1\n", "W0718 15:56:29.763680 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2\n", "W0718 15:56:29.763737 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3\n", "W0718 15:56:29.763794 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4\n", "W0718 15:56:29.763852 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0\n", "W0718 15:56:29.763909 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1\n", "W0718 15:56:29.763967 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2\n", "W0718 15:56:29.764024 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3\n", "W0718 15:56:29.764081 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4\n", "W0718 15:56:29.764138 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.0\n", "W0718 15:56:29.764207 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.0\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.1\n", "W0718 15:56:29.764265 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.1\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.2\n", "W0718 15:56:29.764327 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.2\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.0\n", "W0718 15:56:29.764384 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.0\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.1\n", "W0718 15:56:29.764441 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.1\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.2\n", "W0718 15:56:29.764498 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.2\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._box_prediction_head._box_encoder_layers.0.depthwise_kernel\n", "W0718 15:56:29.764617 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._box_prediction_head._box_encoder_layers.0.depthwise_kernel\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._box_prediction_head._box_encoder_layers.0.pointwise_kernel\n", "W0718 15:56:29.764679 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._box_prediction_head._box_encoder_layers.0.pointwise_kernel\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._box_prediction_head._box_encoder_layers.0.bias\n", "W0718 15:56:29.764738 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._box_prediction_head._box_encoder_layers.0.bias\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._prediction_heads.class_predictions_with_background._class_predictor_layers.0\n", "W0718 15:56:29.764797 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._prediction_heads.class_predictions_with_background._class_predictor_layers.0\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.1\n", "W0718 15:56:29.764855 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.1\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.2\n", "W0718 15:56:29.764914 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.2\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.4\n", "W0718 15:56:29.764971 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.4\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.5\n", "W0718 15:56:29.765028 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.5\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.7\n", "W0718 15:56:29.765086 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.7\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.8\n", "W0718 15:56:29.765143 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.8\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.1\n", "W0718 15:56:29.765213 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.1\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.2\n", "W0718 15:56:29.765273 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.2\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.4\n", "W0718 15:56:29.765335 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.4\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.5\n", "W0718 15:56:29.765393 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.5\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.7\n", "W0718 15:56:29.765450 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.7\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.8\n", "W0718 15:56:29.765506 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.8\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.1\n", "W0718 15:56:29.765563 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.1\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.2\n", "W0718 15:56:29.765620 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.2\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.4\n", "W0718 15:56:29.765678 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.4\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.5\n", "W0718 15:56:29.765735 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.5\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.7\n", "W0718 15:56:29.765793 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.7\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.8\n", "W0718 15:56:29.765850 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.8\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.1\n", "W0718 15:56:29.765907 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.1\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.2\n", "W0718 15:56:29.765964 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.2\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.4\n", "W0718 15:56:29.766020 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.4\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.5\n", "W0718 15:56:29.766077 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.5\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.7\n", "W0718 15:56:29.810621 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.7\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.8\n", "W0718 15:56:29.810745 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.8\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.1\n", "W0718 15:56:29.810834 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.1\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.2\n", "W0718 15:56:29.810914 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.2\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.4\n", "W0718 15:56:29.810986 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.4\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.5\n", "W0718 15:56:29.811067 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.5\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.7\n", "W0718 15:56:29.811146 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.7\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.8\n", "W0718 15:56:29.811270 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.8\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.1\n", "W0718 15:56:29.811366 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.1\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.2\n", "W0718 15:56:29.811450 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.2\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.4\n", "W0718 15:56:29.811532 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.4\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.5\n", "W0718 15:56:29.811616 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.5\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.7\n", "W0718 15:56:29.811705 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.7\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.8\n", "W0718 15:56:29.811781 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.8\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.1\n", "W0718 15:56:29.811860 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.1\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.2\n", "W0718 15:56:29.811955 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.2\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.4\n", "W0718 15:56:29.812035 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.4\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.5\n", "W0718 15:56:29.812120 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.5\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.7\n", "W0718 15:56:29.812219 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.7\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.8\n", "W0718 15:56:29.812301 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.8\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.1\n", "W0718 15:56:29.812401 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.1\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.2\n", "W0718 15:56:29.812483 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.2\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.4\n", "W0718 15:56:29.812563 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.4\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.5\n", "W0718 15:56:29.812645 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.5\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.7\n", "W0718 15:56:29.812726 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.7\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.8\n", "W0718 15:56:29.812806 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.8\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.1\n", "W0718 15:56:29.812887 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.1\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.2\n", "W0718 15:56:29.812968 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.2\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.4\n", "W0718 15:56:29.813050 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.4\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.5\n", "W0718 15:56:29.813129 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.5\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.7\n", "W0718 15:56:29.813226 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.7\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.8\n", "W0718 15:56:29.813346 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.8\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.1\n", "W0718 15:56:29.813433 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.1\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.2\n", "W0718 15:56:29.813519 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.2\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.4\n", "W0718 15:56:29.813604 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.4\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.5\n", "W0718 15:56:29.813692 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.5\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.7\n", "W0718 15:56:29.813778 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.7\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.8\n", "W0718 15:56:29.813867 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.8\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.0.depthwise_kernel\n", "W0718 15:56:29.813955 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.0.depthwise_kernel\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.0.pointwise_kernel\n", "W0718 15:56:29.814041 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.0.pointwise_kernel\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.0.bias\n", "W0718 15:56:29.814128 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.0.bias\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.1.depthwise_kernel\n", "W0718 15:56:29.814244 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.1.depthwise_kernel\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.1.pointwise_kernel\n", "W0718 15:56:29.814334 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.1.pointwise_kernel\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.1.bias\n", "W0718 15:56:29.814417 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.1.bias\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.2.depthwise_kernel\n", "W0718 15:56:29.814499 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.2.depthwise_kernel\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.2.pointwise_kernel\n", "W0718 15:56:29.814582 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.2.pointwise_kernel\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.2.bias\n", "W0718 15:56:29.814663 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.BoxPredictionTower.2.bias\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.0.depthwise_kernel\n", "W0718 15:56:29.814744 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.0.depthwise_kernel\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.0.pointwise_kernel\n", "W0718 15:56:29.814825 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.0.pointwise_kernel\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.0.bias\n", "W0718 15:56:29.814907 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.0.bias\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.1.depthwise_kernel\n", "W0718 15:56:29.814988 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.1.depthwise_kernel\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.1.pointwise_kernel\n", "W0718 15:56:29.815070 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.1.pointwise_kernel\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.1.bias\n", "W0718 15:56:29.815150 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.1.bias\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.2.depthwise_kernel\n", "W0718 15:56:29.815248 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.2.depthwise_kernel\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.2.pointwise_kernel\n", "W0718 15:56:29.815335 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.2.pointwise_kernel\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.2.bias\n", "W0718 15:56:29.815419 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._head_scope_conv_layers.ClassPredictionTower.2.bias\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._prediction_heads.class_predictions_with_background._class_predictor_layers.0.depthwise_kernel\n", "W0718 15:56:29.815531 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._prediction_heads.class_predictions_with_background._class_predictor_layers.0.depthwise_kernel\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._prediction_heads.class_predictions_with_background._class_predictor_layers.0.pointwise_kernel\n", "W0718 15:56:29.815632 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._prediction_heads.class_predictions_with_background._class_predictor_layers.0.pointwise_kernel\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._prediction_heads.class_predictions_with_background._class_predictor_layers.0.bias\n", "W0718 15:56:29.815710 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._prediction_heads.class_predictions_with_background._class_predictor_layers.0.bias\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.1.axis\n", "W0718 15:56:29.815792 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.1.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.1.gamma\n", "W0718 15:56:29.815867 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.1.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.1.beta\n", "W0718 15:56:29.815943 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.1.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.1.moving_mean\n", "W0718 15:56:29.816020 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.1.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.1.moving_variance\n", "W0718 15:56:29.816096 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.1.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.4.axis\n", "W0718 15:56:29.816186 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.4.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.4.gamma\n", "W0718 15:56:29.816267 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.4.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.4.beta\n", "W0718 15:56:29.816352 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.4.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.4.moving_mean\n", "W0718 15:56:29.816429 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.4.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.4.moving_variance\n", "W0718 15:56:29.816505 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.4.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.7.axis\n", "W0718 15:56:29.816605 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.7.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.7.gamma\n", "W0718 15:56:29.816684 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.7.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.7.beta\n", "W0718 15:56:29.816772 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.7.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.7.moving_mean\n", "W0718 15:56:29.816852 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.7.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.7.moving_variance\n", "W0718 15:56:29.816948 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.0.7.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.1.axis\n", "W0718 15:56:29.817027 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.1.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.1.gamma\n", "W0718 15:56:29.817115 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.1.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.1.beta\n", "W0718 15:56:29.817224 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.1.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.1.moving_mean\n", "W0718 15:56:29.817324 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.1.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.1.moving_variance\n", "W0718 15:56:29.817402 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.1.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.4.axis\n", "W0718 15:56:29.817478 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.4.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.4.gamma\n", "W0718 15:56:29.817553 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.4.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.4.beta\n", "W0718 15:56:29.817629 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.4.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.4.moving_mean\n", "W0718 15:56:29.817703 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.4.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.4.moving_variance\n", "W0718 15:56:29.817779 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.4.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.7.axis\n", "W0718 15:56:29.817855 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.7.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.7.gamma\n", "W0718 15:56:29.817929 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.7.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.7.beta\n", "W0718 15:56:29.818004 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.7.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.7.moving_mean\n", "W0718 15:56:29.818079 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.7.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.7.moving_variance\n", "W0718 15:56:29.818154 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.1.7.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.1.axis\n", "W0718 15:56:29.818247 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.1.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.1.gamma\n", "W0718 15:56:29.818345 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.1.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.1.beta\n", "W0718 15:56:29.818425 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.1.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.1.moving_mean\n", "W0718 15:56:29.818501 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.1.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.1.moving_variance\n", "W0718 15:56:29.818577 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.1.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.4.axis\n", "W0718 15:56:29.818654 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.4.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.4.gamma\n", "W0718 15:56:29.818728 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.4.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.4.beta\n", "W0718 15:56:29.818803 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.4.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.4.moving_mean\n", "W0718 15:56:29.818878 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.4.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.4.moving_variance\n", "W0718 15:56:29.818954 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.4.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.7.axis\n", "W0718 15:56:29.819030 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.7.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.7.gamma\n", "W0718 15:56:29.819106 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.7.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.7.beta\n", "W0718 15:56:29.819215 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.7.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.7.moving_mean\n", "W0718 15:56:29.819300 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.7.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.7.moving_variance\n", "W0718 15:56:29.819400 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.2.7.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.1.axis\n", "W0718 15:56:29.819477 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.1.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.1.gamma\n", "W0718 15:56:29.819554 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.1.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.1.beta\n", "W0718 15:56:29.819630 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.1.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.1.moving_mean\n", "W0718 15:56:29.819706 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.1.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.1.moving_variance\n", "W0718 15:56:29.819782 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.1.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.4.axis\n", "W0718 15:56:29.819859 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.4.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.4.gamma\n", "W0718 15:56:29.819932 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.4.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.4.beta\n", "W0718 15:56:29.820010 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.4.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.4.moving_mean\n", "W0718 15:56:29.820087 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.4.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.4.moving_variance\n", "W0718 15:56:29.820164 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.4.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.7.axis\n", "W0718 15:56:29.820260 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.7.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.7.gamma\n", "W0718 15:56:29.820369 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.7.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.7.beta\n", "W0718 15:56:29.820448 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.7.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.7.moving_mean\n", "W0718 15:56:29.820524 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.7.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.7.moving_variance\n", "W0718 15:56:29.820601 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.3.7.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.1.axis\n", "W0718 15:56:29.820678 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.1.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.1.gamma\n", "W0718 15:56:29.820750 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.1.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.1.beta\n", "W0718 15:56:29.820826 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.1.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.1.moving_mean\n", "W0718 15:56:29.820902 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.1.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.1.moving_variance\n", "W0718 15:56:29.820977 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.1.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.4.axis\n", "W0718 15:56:29.821054 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.4.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.4.gamma\n", "W0718 15:56:29.821150 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.4.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.4.beta\n", "W0718 15:56:29.821259 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.4.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.4.moving_mean\n", "W0718 15:56:29.821367 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.4.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.4.moving_variance\n", "W0718 15:56:29.821450 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.4.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.7.axis\n", "W0718 15:56:29.821529 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.7.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.7.gamma\n", "W0718 15:56:29.821611 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.7.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.7.beta\n", "W0718 15:56:29.821691 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.7.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.7.moving_mean\n", "W0718 15:56:29.821772 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.7.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.7.moving_variance\n", "W0718 15:56:29.821853 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.box_encodings.4.7.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.1.axis\n", "W0718 15:56:29.821935 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.1.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.1.gamma\n", "W0718 15:56:29.822015 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.1.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.1.beta\n", "W0718 15:56:29.822103 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.1.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.1.moving_mean\n", "W0718 15:56:29.822192 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.1.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.1.moving_variance\n", "W0718 15:56:29.822274 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.1.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.4.axis\n", "W0718 15:56:29.822359 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.4.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.4.gamma\n", "W0718 15:56:29.822437 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.4.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.4.beta\n", "W0718 15:56:29.822513 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.4.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.4.moving_mean\n", "W0718 15:56:29.822589 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.4.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.4.moving_variance\n", "W0718 15:56:29.822665 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.4.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.7.axis\n", "W0718 15:56:29.822742 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.7.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.7.gamma\n", "W0718 15:56:29.822818 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.7.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.7.beta\n", "W0718 15:56:29.822895 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.7.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.7.moving_mean\n", "W0718 15:56:29.822970 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.7.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.7.moving_variance\n", "W0718 15:56:29.823045 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.0.7.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.1.axis\n", "W0718 15:56:29.823122 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.1.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.1.gamma\n", "W0718 15:56:29.823216 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.1.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.1.beta\n", "W0718 15:56:29.823318 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.1.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.1.moving_mean\n", "W0718 15:56:29.823413 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.1.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.1.moving_variance\n", "W0718 15:56:29.823491 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.1.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.4.axis\n", "W0718 15:56:29.823567 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.4.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.4.gamma\n", "W0718 15:56:29.823643 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.4.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.4.beta\n", "W0718 15:56:29.823720 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.4.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.4.moving_mean\n", "W0718 15:56:29.823795 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.4.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.4.moving_variance\n", "W0718 15:56:29.823871 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.4.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.7.axis\n", "W0718 15:56:29.823946 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.7.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.7.gamma\n", "W0718 15:56:29.824021 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.7.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.7.beta\n", "W0718 15:56:29.824096 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.7.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.7.moving_mean\n", "W0718 15:56:29.824186 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.7.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.7.moving_variance\n", "W0718 15:56:29.824268 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.1.7.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.1.axis\n", "W0718 15:56:29.824372 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.1.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.1.gamma\n", "W0718 15:56:29.824465 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.1.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.1.beta\n", "W0718 15:56:29.824541 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.1.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.1.moving_mean\n", "W0718 15:56:29.824617 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.1.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.1.moving_variance\n", "W0718 15:56:29.824712 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.1.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.4.axis\n", "W0718 15:56:29.824794 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.4.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.4.gamma\n", "W0718 15:56:29.824875 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.4.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.4.beta\n", "W0718 15:56:29.824963 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.4.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.4.moving_mean\n", "W0718 15:56:29.825040 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.4.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.4.moving_variance\n", "W0718 15:56:29.825116 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.4.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.7.axis\n", "W0718 15:56:29.825203 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.7.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.7.gamma\n", "W0718 15:56:29.825282 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.7.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.7.beta\n", "W0718 15:56:29.825365 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.7.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.7.moving_mean\n", "W0718 15:56:29.825443 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.7.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.7.moving_variance\n", "W0718 15:56:29.825519 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.2.7.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.1.axis\n", "W0718 15:56:29.825596 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.1.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.1.gamma\n", "W0718 15:56:29.825672 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.1.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.1.beta\n", "W0718 15:56:29.825749 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.1.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.1.moving_mean\n", "W0718 15:56:29.825831 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.1.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.1.moving_variance\n", "W0718 15:56:29.825907 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.1.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.4.axis\n", "W0718 15:56:29.825983 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.4.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.4.gamma\n", "W0718 15:56:29.826059 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.4.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.4.beta\n", "W0718 15:56:29.826136 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.4.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.4.moving_mean\n", "W0718 15:56:29.826230 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.4.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.4.moving_variance\n", "W0718 15:56:29.826308 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.4.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.7.axis\n", "W0718 15:56:29.826394 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.7.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.7.gamma\n", "W0718 15:56:29.826470 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.7.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.7.beta\n", "W0718 15:56:29.826546 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.7.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.7.moving_mean\n", "W0718 15:56:29.826622 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.7.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.7.moving_variance\n", "W0718 15:56:29.826699 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.3.7.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.1.axis\n", "W0718 15:56:29.826775 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.1.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.1.gamma\n", "W0718 15:56:29.826850 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.1.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.1.beta\n", "W0718 15:56:29.826926 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.1.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.1.moving_mean\n", "W0718 15:56:29.827002 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.1.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.1.moving_variance\n", "W0718 15:56:29.827077 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.1.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.4.axis\n", "W0718 15:56:29.827152 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.4.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.4.gamma\n", "W0718 15:56:29.827246 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.4.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.4.beta\n", "W0718 15:56:29.827331 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.4.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.4.moving_mean\n", "W0718 15:56:29.827410 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.4.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.4.moving_variance\n", "W0718 15:56:29.827486 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.4.moving_variance\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.7.axis\n", "W0718 15:56:29.827564 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.7.axis\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.7.gamma\n", "W0718 15:56:29.827640 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.7.gamma\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.7.beta\n", "W0718 15:56:29.827715 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.7.beta\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.7.moving_mean\n", "W0718 15:56:29.827791 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.7.moving_mean\n", "WARNING:tensorflow:Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.7.moving_variance\n", "W0718 15:56:29.827867 139647596537728 util.py:144] Unresolved object in checkpoint: (root).model._box_predictor._base_tower_layers_for_heads.class_predictions_with_background.4.7.moving_variance\n", "WARNING:tensorflow:A checkpoint was restored (e.g. tf.train.Checkpoint.restore or tf.keras.Model.load_weights) but not all checkpointed values were used. See above for specific issues. Use expect_partial() on the load status object, e.g. tf.train.Checkpoint.restore(...).expect_partial(), to silence these warnings, or use assert_consumed() to make the check explicit. See https://www.tensorflow.org/guide/checkpoint#loading_mechanics for details.\n", "W0718 15:56:29.827985 139647596537728 util.py:152] A checkpoint was restored (e.g. tf.train.Checkpoint.restore or tf.keras.Model.load_weights) but not all checkpointed values were used. See above for specific issues. Use expect_partial() on the load status object, e.g. tf.train.Checkpoint.restore(...).expect_partial(), to silence these warnings, or use assert_consumed() to make the check explicit. See https://www.tensorflow.org/guide/checkpoint#loading_mechanics for details.\n", "WARNING:tensorflow:num_readers has been reduced to 1 to match input file shards.\n", "W0718 15:56:29.836683 139647596537728 dataset_builder.py:83] num_readers has been reduced to 1 to match input file shards.\n", "WARNING:tensorflow:Gradients do not exist for variables ['top_bn/gamma:0', 'top_bn/beta:0'] when minimizing the loss.\n", "W0718 15:56:41.910216 139643864684288 optimizer_v2.py:1223] Gradients do not exist for variables ['top_bn/gamma:0', 'top_bn/beta:0'] when minimizing the loss.\n", "WARNING:tensorflow:Gradients do not exist for variables ['top_bn/gamma:0', 'top_bn/beta:0'] when minimizing the loss.\n", "W0718 15:56:55.353491 139643864684288 optimizer_v2.py:1223] Gradients do not exist for variables ['top_bn/gamma:0', 'top_bn/beta:0'] when minimizing the loss.\n", "INFO:tensorflow:Step 100 per-step time 0.963s loss=1.618\n", "I0718 15:58:53.005567 139647596537728 model_lib_v2.py:635] Step 100 per-step time 0.963s loss=1.618\n", "INFO:tensorflow:Step 200 per-step time 0.973s loss=0.983\n", "I0718 16:00:31.596000 139647596537728 model_lib_v2.py:635] Step 200 per-step time 0.973s loss=0.983\n", "INFO:tensorflow:Step 300 per-step time 0.948s loss=0.584\n", "I0718 16:02:10.137982 139647596537728 model_lib_v2.py:635] Step 300 per-step time 0.948s loss=0.584\n", "INFO:tensorflow:Step 400 per-step time 1.031s loss=0.462\n", "I0718 16:03:48.128544 139647596537728 model_lib_v2.py:635] Step 400 per-step time 1.031s loss=0.462\n", "INFO:tensorflow:Step 500 per-step time 1.013s loss=0.371\n", "I0718 16:05:27.004443 139647596537728 model_lib_v2.py:635] Step 500 per-step time 1.013s loss=0.371\n", "INFO:tensorflow:Step 600 per-step time 1.018s loss=0.309\n", "I0718 16:07:05.286844 139647596537728 model_lib_v2.py:635] Step 600 per-step time 1.018s loss=0.309\n", "INFO:tensorflow:Step 700 per-step time 0.952s loss=0.286\n", "I0718 16:08:43.153319 139647596537728 model_lib_v2.py:635] Step 700 per-step time 0.952s loss=0.286\n", "INFO:tensorflow:Step 800 per-step time 0.952s loss=0.268\n", "I0718 16:10:20.226912 139647596537728 model_lib_v2.py:635] Step 800 per-step time 0.952s loss=0.268\n", "INFO:tensorflow:Step 900 per-step time 0.954s loss=0.301\n", "I0718 16:11:58.051970 139647596537728 model_lib_v2.py:635] Step 900 per-step time 0.954s loss=0.301\n", "INFO:tensorflow:Step 1000 per-step time 1.007s loss=0.272\n", "I0718 16:13:35.937324 139647596537728 model_lib_v2.py:635] Step 1000 per-step time 1.007s loss=0.272\n", "INFO:tensorflow:Step 1100 per-step time 0.956s loss=0.262\n", "I0718 16:15:12.069109 139647596537728 model_lib_v2.py:635] Step 1100 per-step time 0.956s loss=0.262\n", "INFO:tensorflow:Step 1200 per-step time 1.039s loss=0.250\n", "I0718 16:16:49.407042 139647596537728 model_lib_v2.py:635] Step 1200 per-step time 1.039s loss=0.250\n", "INFO:tensorflow:Step 1300 per-step time 0.976s loss=0.197\n", "I0718 16:18:26.032222 139647596537728 model_lib_v2.py:635] Step 1300 per-step time 0.976s loss=0.197\n", "INFO:tensorflow:Step 1400 per-step time 0.951s loss=0.237\n", "I0718 16:20:03.382388 139647596537728 model_lib_v2.py:635] Step 1400 per-step time 0.951s loss=0.237\n", "INFO:tensorflow:Step 1500 per-step time 0.977s loss=0.306\n", "I0718 16:21:41.338461 139647596537728 model_lib_v2.py:635] Step 1500 per-step time 0.977s loss=0.306\n", "INFO:tensorflow:Step 1600 per-step time 1.063s loss=0.237\n", "I0718 16:23:20.234978 139647596537728 model_lib_v2.py:635] Step 1600 per-step time 1.063s loss=0.237\n", "INFO:tensorflow:Step 1700 per-step time 0.974s loss=0.213\n", "I0718 16:24:58.889896 139647596537728 model_lib_v2.py:635] Step 1700 per-step time 0.974s loss=0.213\n", "INFO:tensorflow:Step 1800 per-step time 1.016s loss=0.300\n", "I0718 16:26:36.388681 139647596537728 model_lib_v2.py:635] Step 1800 per-step time 1.016s loss=0.300\n", "INFO:tensorflow:Step 1900 per-step time 0.954s loss=0.254\n", "I0718 16:28:14.356321 139647596537728 model_lib_v2.py:635] Step 1900 per-step time 0.954s loss=0.254\n", "INFO:tensorflow:Step 2000 per-step time 0.970s loss=0.242\n", "I0718 16:29:51.866037 139647596537728 model_lib_v2.py:635] Step 2000 per-step time 0.970s loss=0.242\n", "INFO:tensorflow:Step 2100 per-step time 1.017s loss=0.194\n", "I0718 16:31:29.485513 139647596537728 model_lib_v2.py:635] Step 2100 per-step time 1.017s loss=0.194\n", "INFO:tensorflow:Step 2200 per-step time 1.022s loss=0.186\n", "I0718 16:33:07.731748 139647596537728 model_lib_v2.py:635] Step 2200 per-step time 1.022s loss=0.186\n", "INFO:tensorflow:Step 2300 per-step time 1.008s loss=0.309\n", "I0718 16:34:45.874040 139647596537728 model_lib_v2.py:635] Step 2300 per-step time 1.008s loss=0.309\n", "INFO:tensorflow:Step 2400 per-step time 1.015s loss=0.148\n", "I0718 16:36:22.904197 139647596537728 model_lib_v2.py:635] Step 2400 per-step time 1.015s loss=0.148\n", "INFO:tensorflow:Step 2500 per-step time 0.927s loss=0.150\n", "I0718 16:38:01.355399 139647596537728 model_lib_v2.py:635] Step 2500 per-step time 0.927s loss=0.150\n", "INFO:tensorflow:Step 2600 per-step time 0.947s loss=0.297\n", "I0718 16:39:40.349664 139647596537728 model_lib_v2.py:635] Step 2600 per-step time 0.947s loss=0.297\n", "INFO:tensorflow:Step 2700 per-step time 0.967s loss=0.207\n", "I0718 16:41:19.720731 139647596537728 model_lib_v2.py:635] Step 2700 per-step time 0.967s loss=0.207\n", "INFO:tensorflow:Step 2800 per-step time 0.961s loss=0.190\n", "I0718 16:42:57.518537 139647596537728 model_lib_v2.py:635] Step 2800 per-step time 0.961s loss=0.190\n", "INFO:tensorflow:Step 2900 per-step time 1.003s loss=0.212\n", "I0718 16:44:35.050038 139647596537728 model_lib_v2.py:635] Step 2900 per-step time 1.003s loss=0.212\n", "INFO:tensorflow:Step 3000 per-step time 1.063s loss=0.248\n", "I0718 16:46:12.523824 139647596537728 model_lib_v2.py:635] Step 3000 per-step time 1.063s loss=0.248\n", "INFO:tensorflow:Step 3100 per-step time 0.973s loss=0.149\n", "I0718 16:47:48.734216 139647596537728 model_lib_v2.py:635] Step 3100 per-step time 0.973s loss=0.149\n", "INFO:tensorflow:Step 3200 per-step time 0.941s loss=0.140\n", "I0718 16:49:26.268930 139647596537728 model_lib_v2.py:635] Step 3200 per-step time 0.941s loss=0.140\n", "INFO:tensorflow:Step 3300 per-step time 1.040s loss=0.151\n", "I0718 16:51:03.988835 139647596537728 model_lib_v2.py:635] Step 3300 per-step time 1.040s loss=0.151\n", "INFO:tensorflow:Step 3400 per-step time 0.949s loss=0.128\n", "I0718 16:52:41.263417 139647596537728 model_lib_v2.py:635] Step 3400 per-step time 0.949s loss=0.128\n", "INFO:tensorflow:Step 3500 per-step time 1.038s loss=0.147\n", "I0718 16:54:19.543487 139647596537728 model_lib_v2.py:635] Step 3500 per-step time 1.038s loss=0.147\n", "INFO:tensorflow:Step 3600 per-step time 0.931s loss=0.118\n", "I0718 16:55:57.125929 139647596537728 model_lib_v2.py:635] Step 3600 per-step time 0.931s loss=0.118\n", "INFO:tensorflow:Step 3700 per-step time 0.946s loss=0.137\n", "I0718 16:57:34.303002 139647596537728 model_lib_v2.py:635] Step 3700 per-step time 0.946s loss=0.137\n", "INFO:tensorflow:Step 3800 per-step time 0.991s loss=0.131\n", "I0718 16:59:12.041098 139647596537728 model_lib_v2.py:635] Step 3800 per-step time 0.991s loss=0.131\n", "INFO:tensorflow:Step 3900 per-step time 0.990s loss=0.170\n", "I0718 17:00:49.065743 139647596537728 model_lib_v2.py:635] Step 3900 per-step time 0.990s loss=0.170\n", "INFO:tensorflow:Step 4000 per-step time 0.962s loss=0.139\n", "I0718 17:02:26.259342 139647596537728 model_lib_v2.py:635] Step 4000 per-step time 0.962s loss=0.139\n", "INFO:tensorflow:Step 4100 per-step time 0.952s loss=0.147\n", "I0718 17:04:03.287443 139647596537728 model_lib_v2.py:635] Step 4100 per-step time 0.952s loss=0.147\n", "INFO:tensorflow:Step 4200 per-step time 0.958s loss=0.192\n", "I0718 17:05:40.161522 139647596537728 model_lib_v2.py:635] Step 4200 per-step time 0.958s loss=0.192\n", "INFO:tensorflow:Step 4300 per-step time 1.007s loss=0.132\n", "I0718 17:07:18.131650 139647596537728 model_lib_v2.py:635] Step 4300 per-step time 1.007s loss=0.132\n", "INFO:tensorflow:Step 4400 per-step time 0.895s loss=0.155\n", "I0718 17:08:55.491564 139647596537728 model_lib_v2.py:635] Step 4400 per-step time 0.895s loss=0.155\n", "INFO:tensorflow:Step 4500 per-step time 0.936s loss=0.203\n", "I0718 17:10:32.971879 139647596537728 model_lib_v2.py:635] Step 4500 per-step time 0.936s loss=0.203\n", "INFO:tensorflow:Step 4600 per-step time 1.011s loss=0.169\n", "I0718 17:12:09.851675 139647596537728 model_lib_v2.py:635] Step 4600 per-step time 1.011s loss=0.169\n", "INFO:tensorflow:Step 4700 per-step time 0.990s loss=0.142\n", "I0718 17:13:47.197745 139647596537728 model_lib_v2.py:635] Step 4700 per-step time 0.990s loss=0.142\n", "INFO:tensorflow:Step 4800 per-step time 0.929s loss=0.124\n", "I0718 17:15:23.954118 139647596537728 model_lib_v2.py:635] Step 4800 per-step time 0.929s loss=0.124\n", "INFO:tensorflow:Step 4900 per-step time 0.946s loss=0.129\n", "I0718 17:17:00.635682 139647596537728 model_lib_v2.py:635] Step 4900 per-step time 0.946s loss=0.129\n", "INFO:tensorflow:Step 5000 per-step time 0.989s loss=0.110\n", "I0718 17:18:37.576071 139647596537728 model_lib_v2.py:635] Step 5000 per-step time 0.989s loss=0.110\n", "INFO:tensorflow:Step 5100 per-step time 0.916s loss=0.145\n", "I0718 17:20:15.425503 139647596537728 model_lib_v2.py:635] Step 5100 per-step time 0.916s loss=0.145\n", "INFO:tensorflow:Step 5200 per-step time 0.948s loss=0.165\n", "I0718 17:21:52.617373 139647596537728 model_lib_v2.py:635] Step 5200 per-step time 0.948s loss=0.165\n", "INFO:tensorflow:Step 5300 per-step time 0.958s loss=0.180\n", "I0718 17:23:30.207345 139647596537728 model_lib_v2.py:635] Step 5300 per-step time 0.958s loss=0.180\n", "INFO:tensorflow:Step 5400 per-step time 0.927s loss=0.158\n", "I0718 17:25:07.380574 139647596537728 model_lib_v2.py:635] Step 5400 per-step time 0.927s loss=0.158\n", "INFO:tensorflow:Step 5500 per-step time 0.983s loss=0.118\n", "I0718 17:26:44.486347 139647596537728 model_lib_v2.py:635] Step 5500 per-step time 0.983s loss=0.118\n", "INFO:tensorflow:Step 5600 per-step time 0.965s loss=0.112\n", "I0718 17:28:22.722653 139647596537728 model_lib_v2.py:635] Step 5600 per-step time 0.965s loss=0.112\n", "INFO:tensorflow:Step 5700 per-step time 0.966s loss=0.122\n", "I0718 17:30:01.129547 139647596537728 model_lib_v2.py:635] Step 5700 per-step time 0.966s loss=0.122\n", "INFO:tensorflow:Step 5800 per-step time 1.025s loss=0.120\n", "I0718 17:31:41.212644 139647596537728 model_lib_v2.py:635] Step 5800 per-step time 1.025s loss=0.120\n", "INFO:tensorflow:Step 5900 per-step time 0.954s loss=0.105\n", "I0718 17:33:20.486520 139647596537728 model_lib_v2.py:635] Step 5900 per-step time 0.954s loss=0.105\n", "INFO:tensorflow:Step 6000 per-step time 1.005s loss=0.122\n", "I0718 17:35:00.397906 139647596537728 model_lib_v2.py:635] Step 6000 per-step time 1.005s loss=0.122\n", "INFO:tensorflow:Step 6100 per-step time 0.985s loss=0.110\n", "I0718 17:36:40.049550 139647596537728 model_lib_v2.py:635] Step 6100 per-step time 0.985s loss=0.110\n", "INFO:tensorflow:Step 6200 per-step time 1.072s loss=0.108\n", "I0718 17:38:19.901260 139647596537728 model_lib_v2.py:635] Step 6200 per-step time 1.072s loss=0.108\n", "INFO:tensorflow:Step 6300 per-step time 0.970s loss=0.119\n", "I0718 17:39:59.510702 139647596537728 model_lib_v2.py:635] Step 6300 per-step time 0.970s loss=0.119\n", "INFO:tensorflow:Step 6400 per-step time 0.991s loss=0.101\n", "I0718 17:41:39.184242 139647596537728 model_lib_v2.py:635] Step 6400 per-step time 0.991s loss=0.101\n", "INFO:tensorflow:Step 6500 per-step time 1.013s loss=0.127\n", "I0718 17:43:19.403757 139647596537728 model_lib_v2.py:635] Step 6500 per-step time 1.013s loss=0.127\n", "INFO:tensorflow:Step 6600 per-step time 0.938s loss=0.106\n", "I0718 17:44:59.473459 139647596537728 model_lib_v2.py:635] Step 6600 per-step time 0.938s loss=0.106\n", "INFO:tensorflow:Step 6700 per-step time 1.028s loss=0.093\n", "I0718 17:46:39.841076 139647596537728 model_lib_v2.py:635] Step 6700 per-step time 1.028s loss=0.093\n", "INFO:tensorflow:Step 6800 per-step time 1.011s loss=0.117\n", "I0718 17:48:20.955692 139647596537728 model_lib_v2.py:635] Step 6800 per-step time 1.011s loss=0.117\n", "INFO:tensorflow:Step 6900 per-step time 0.978s loss=0.108\n", "I0718 17:50:01.963084 139647596537728 model_lib_v2.py:635] Step 6900 per-step time 0.978s loss=0.108\n", "INFO:tensorflow:Step 7000 per-step time 1.031s loss=0.093\n", "I0718 17:51:42.939702 139647596537728 model_lib_v2.py:635] Step 7000 per-step time 1.031s loss=0.093\n", "INFO:tensorflow:Step 7100 per-step time 1.013s loss=0.111\n", "I0718 17:53:23.458900 139647596537728 model_lib_v2.py:635] Step 7100 per-step time 1.013s loss=0.111\n", "INFO:tensorflow:Step 7200 per-step time 1.048s loss=0.120\n", "I0718 17:55:04.379149 139647596537728 model_lib_v2.py:635] Step 7200 per-step time 1.048s loss=0.120\n", "INFO:tensorflow:Step 7300 per-step time 1.031s loss=0.113\n", "I0718 17:56:45.987596 139647596537728 model_lib_v2.py:635] Step 7300 per-step time 1.031s loss=0.113\n", "INFO:tensorflow:Step 7400 per-step time 1.027s loss=0.105\n", "I0718 17:58:27.480935 139647596537728 model_lib_v2.py:635] Step 7400 per-step time 1.027s loss=0.105\n", "INFO:tensorflow:Step 7500 per-step time 1.141s loss=0.098\n", "I0718 18:00:08.795779 139647596537728 model_lib_v2.py:635] Step 7500 per-step time 1.141s loss=0.098\n", "INFO:tensorflow:Step 7600 per-step time 1.074s loss=0.116\n", "I0718 18:01:50.352721 139647596537728 model_lib_v2.py:635] Step 7600 per-step time 1.074s loss=0.116\n", "INFO:tensorflow:Step 7700 per-step time 1.087s loss=0.126\n", "I0718 18:03:31.442188 139647596537728 model_lib_v2.py:635] Step 7700 per-step time 1.087s loss=0.126\n", "INFO:tensorflow:Step 7800 per-step time 0.987s loss=0.116\n", "I0718 18:05:12.665795 139647596537728 model_lib_v2.py:635] Step 7800 per-step time 0.987s loss=0.116\n", "INFO:tensorflow:Step 7900 per-step time 1.020s loss=0.098\n", "I0718 18:06:54.143270 139647596537728 model_lib_v2.py:635] Step 7900 per-step time 1.020s loss=0.098\n", "INFO:tensorflow:Step 8000 per-step time 0.951s loss=0.104\n", "I0718 18:08:34.783083 139647596537728 model_lib_v2.py:635] Step 8000 per-step time 0.951s loss=0.104\n" ] } ], "metadata": { "id": "t2zxx5AXiNNK", "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "outputId": "2679ad37-2c00-45d1-ba83-68a7892f28c3" } }, { "cell_type": "code", "execution_count": null, "source": [ "%load_ext tensorboard\n", "%tensorboard --logdir '/content/training/train'" ], "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "" ], "application/javascript": "\n (async () => {\n const url = await google.colab.kernel.proxyPort(6006, {\"cache\": true});\n const iframe = document.createElement('iframe');\n iframe.src = url;\n iframe.setAttribute('width', '100%');\n iframe.setAttribute('height', '800');\n iframe.setAttribute('frameborder', 0);\n document.body.appendChild(iframe);\n })();\n " }, "metadata": { "tags": [] } } ], "metadata": { "id": "PK8amcT_wgVb", "colab": { "resources": { "https://localhost:6006/": { "data": "PCFkb2N0eXBlIGh0bWw+PCEtLQpAbGljZW5zZQpDb3B5cmlnaHQgMjAxNiBUaGUgVGVuc29yRmxvdyBBdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgoKTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgogICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgpVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgpTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotLT48aHRtbD48aGVhZD48bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgPHRpdGxlPlRlbnNvckJvYXJkPC90aXRsZT4KICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTVFBQUFERUNBWUFBQURBcG81ckFBQUFCSE5DU1ZRSUNBZ0lmQWhraUFBQUFBbHdTRmx6QUFCYWJnQUFXbTRCeFdzak9BQUFBQmwwUlZoMFUyOW1kSGRoY21VQWQzZDNMbWx1YTNOallYQmxMbTl5WjV2dVBCb0FBQmwwU1VSQlZIaWM3WjE1ZUZUVjNjYy92NXNGQ1ZSeHFWdHB0VlcyVmx4ZjYxcXRpcTBMOUdsOU5YVUJGRXBGUlRJaGhCQURDVGRBTUFFa0NZc0s3cUI5K2tENzJxZkJXaXZxVzdWYTY3NGlyZTlyYXhYMWJaVldaVEhML040LzVnNEdTR0R1ekwxejc1MDVuMzg0ek13NTU4dk0vWEsyM3prSERJR2ppemhQRjNGZTBEb01JRUVMeUdkMFBvT3dhQUF1Y1Y1YWgwVzVWUEI2a0xyeUdXT0lBRkNiL3ZTakVxZ0crdXp3S3dnZHdDMTBVQ2ZWL0RzWWhmbUxNVVFXVVJ1TEVrWUQ4eEVPMnY3R2pvWndQc3hIV014aElFdWxsSzVzNnN4bmpDR3loQzdnSkpSVzRDU2daeFAwbkg0Smk1aVU4N2pmR2czR0VMNmpUUXdFNWdHamtXN2ZkK3FHU0xLV0lzcGtNbS83SU5QZ1lBemhFMnBUUWgrcXNLZ0MrZ0x1VGJCcmVpdXdtSFlhWkRxZmVpcllBQmhEZUk0cVFpTVhBd3NRRHZQQUJEMmxOeUxVczRuYnhTYWV1V3BERW1NSUQ5RWJPUUZvUlRodCs0ditHQ0w1NTdOQXVjUjRLaTNCaGwwd2h2QUFiZUFRTEd4Z0FtRDVhb0x1NmNTZml2QUxsRXFKOFk1TDZZYWRNSWJJQUxVcHBvaHJFV1lqN0wzOWpld2FJcG5lakxLUXZXbVVjV3hMNlI5ZzJBVmppRFRSdVl6Q29nWDRCcEE5RTNSUDkveiszNEdaVXNiS1hxUWJkb014aEV1MGdhTVJtbEhPOXZBQi82T1RPdGtEUXlUU3lpTW81UkxqdFo3K0hZYWVzWUlXRUJYVVpqK2RTeXZ3UE1yWkhoVzdFV0VpbjNFYVV6a1ZvUlQ0bXljbEMrZGc4Ykl1WmFYZXdvR2VsSmtIbUJaaUQ2aE5JVVdNUjJrQUR2Q29WZGlLc0pqNHJ1c0p1cHdTUHFNS3FFS2M5WXZleWttOXprMUFFd2ZTTEtXMFkrZ1ZZNGpkb1BXY2cwVUx3bEhiWDh6Y0VHc1J5bVRhN2xlY3RZbUJGRGtyM095d3hwMk9JWkxwRFFoVDVUb2UyRjNkK1l3eFJBL29IQVpCdDdCc2IxcUZGeW1nWENyZHhTVHBJczRFV2hDTzNhWE05TFdzbzRDWVhNTWJiclRrQThZUTNWQ2IvZ2lWeUU1aDJaa1o0aU9FT1J5ZWZ0U3EybGdNWURUS2ZPQWdqM1Ixb054Q0lYVXkwWVNaSnpHR3dIbmdMT2VCNnlrc083MEhML0hBaVhmN0duUVovV252d2JEcGF3U2NNUFA5VEpnNUdFT2dzMU1JeTNiL3NLMGpUa3hxL09tU2FDdURVQnFRN1R2dHZPald2WWhRTHRma2Q1aDUzaHBDYlJkaDJhay9WQnRRS3FTRzMzZ3F0aGUwbFhPQUZ1QW9EOWRFMWxKQW1mdzBQOFBNODg0UWFsTUN6clJtcW1IWmUzNlFOaUUwOFRuTlltZDNXbE50Q3RtWDhZZ3pMZHk3UmpmcFJKaDVFUTN5ay93S004OGJReWdJZFZ5TXhRTFVaVmgyNys5M290eUpNRk5xK0lmWG10MmdpOWlQUW1ZQjF5RVVibjhqTTNPOGgxTERSRmFKb0o0S0RpbDVZUWl0NVFRa2c3RHNubDk3Rkl0eXFlWlZUOFZtaUM1aEtFb3o0aHhyNDAxWDZsbVVtRnpEMHg1S0RTVTViUWl0NFJDS3NORU13N0ozZk8wdGxCcVp5UnFQNVhxS0xtWVVRZ3ZpQkI5Q3B1WlE0RjQ2cUpKSmZPQ3AyQkNSazRaUW0ySTZQUXpMVHZ5WkNLL2VoeHVsak04OWx1d0xhbFBNL3M3M0FIdDcxRnBzUmxoSVlXNkdtZWVjSVhTRzUySFpjWVQ3RUtiSkRENzBWbTEyME9VY1FnYzI0clNVNE1YMzhoWkNqVXdJZDB2cGxwd3hoTjdBVUFwb0JzN3pjQXJ5R1pTWTFQR01oMUlEUTI5MnRyZ3FwM24ySFZrOFNwd3A4bE5lOFZCcVlFVGVFR3F6SHgzTVFyZ09uTm1Wekgvc2Q0RVoxT2JlN0lvcXdpM09JUWh3R09ERjk5V0pPTE50NDRPZGJjdVV5QnBDYlFycFlEeDRHcGE5QlZqQWwyaVNDclo2S0RkMDZISks2S1FLU1NITVBOVzB4U2JpTkxGM2RNUE1JMmtJclhGV2FMMEx5MWJnRnhRd1RXWjZ0RUVuSXVqaUZNTE0zYVlUWWVZVk1pNDdLL1plRWlsRDZFd0dFZmM4TFBzNUxNcWxqajk0cHpSNjZNMmM2VXhHN0JwbTdqYjl4V3ZyS0tSTXhyTGVPNlgrRWdsRHFPMUVlU3JWQ0gyMnY1R1pJVFlDOVdBTyswcWlOaFlITzRjeGR3OHpoMHpXYlJKUnZ4M1JDRE1QdFNIVXhtSXJvN0djSHdpOGFCWGFnVnNwWWFZNURySm5kQm45c2FqRWNzTE1JUk5ESkVtRW1mY05kNWg1YUEyaE4zUUx5L1p1R25VdFFreHMvdGREcVRtTDNzb2d4T21pWm02SVpQb0ZsSElaeHhOZWF2V0swQmxDcXhpSTFXMlFCMTYwQ2kraGxNc2NmdStwMkR4QlZ6RENpWTlLVEdKa1pvaGtlaTF4SnNzNC91cWwxa3dKalNIVXBvUXR6alFnOVBXb1ZVaHMzMXpQVWxrVDNtWTZDcWhOSVY5eFRoOFJKOHdjTWpFRUpLYTVsOUNYdVZMS1o5NHFUby9BRGFFZ1RPTml4RmtvY3YrbDlwUk9YRXZWVHAwMGhYOGdGeVgwZHZaRG1RVk1BZ295TkVReS9SNUNEYU9EWHdnTjFCQTZsUk93ZWduTFR0OFE2eERLWlk2NXVOQlA5RGFHQVl1UWJyZW5adjdiL1FtTG1JemVmcEpoMWduRUVGcnVoR1h2N3JSczkxL3FCdUpNbFhubXpLRnNvcmN6Q3B4Z1NtOWFkMFdjTVBOeDJROHp6Nm9obk83Uk5KUmFoUDQ5cW5EL3BYNE0xRlBFeldMVDZhMWlReXJvWGV4Rm5BcmdCcUMvUitPL1Q3Q1lReEdMc3hrR2t2VVdRaXM0emprTjc0d2VWYVJ1aUVSWWRoR1ZZdk4vZm1nMXVFT1hjd2lGUG9XWlg1R2RNUFBBeGhCYXlTaUVWdURycmcyaFBJb3dSZWJsUnNoeHJxRjNjd0pkenRqUXV6V2tSMUhLWmJTL1czYURIVlRiRkxPWmF4SG1BRi9hUVZIUFg4eGJXTlJJUTI1dFNzbEZWQkh1OWlITUhPNmtpSmxTNmsrWWVlRFRyZ0JheGFIQUxHQUMwbU5UbTlpMldFeWoyTG0zYlRHWDBlV1VVSnppYWVhcHB6ZWgxSE1veStRc2I4ZU5vVEJFRXEzaVA1eHUxS21Pc3NURzlpNnFaRUh1Ym16UEIvUTJCbExNUE5URE1ITjRFNHNLdVpRSHZkSVpLa09BTXhNMW5URUlGMk5oeXp4ZUNGcVR3VHYwTHI3cmhKa2ZzLzNGek0xeFAzRXE1WXJNWTlSQ1p3aEQ3cU0yRm9jN1llYVNRWmo1anVrT0xHNmhnMW9aelNmcGFqT0dNQVNHcnFZL1c3dWRaZzZadHhiQyt5ZzJGbmVrRTJadURHRUlITDJQUVhTbEVXYSt1elE4ajBXNWxQS2tHeTNHRUliUW9QZHdQc0lpaEtGQXBvYUF4S1gyRStUSDNKbXFCdGUza0dvNUU3U2NIN3JOWnpEc0NibVNCOW5LMGNCRTRKOWVGQWtjNmlhRCsydDVsU05SN3RjWTYvUjZ4OGtHZzBmSVJEcGtEQ3Zvd3hCZ01XUjNIMHM2aGloeVV1ZFF3Q3NhbzFXdjZ4YW9aekI0Z0pUeXNZd21ScHpod0crelZhOTdRMWpiRFFGUUJKUlJ4SHFOTWRZelZRYURnNHhsdll6bWZJUWZnUDk3NFROcElib3pFTGhIeTNqWWRLTU1maUNYMDBZUnc0QnlTSCtkWVUrNE53UTlHaUtCTUlJQ1h0WXBOS3JOWHVuTE1oaDJSVXBwbHl0b1JSZ0cvcHlsNWEwaEVoU2pUT2Rmdks0eFJxWWp5bURZSFhJWkc4R2Z2ZGQrR0NMSk54RGFkQXB0V3NuWDA2akhZTWc2WG8waGRzZEl1bmhkSzdCTk44b1FkaktkWlVxVnZpaXorSVRYdEpJTDA4aHZNR1NGYkxRUTNUbUNPR3UxZ2pZdDUvQU15akVZZk1IUE1jVHVHRWtCYjJpbDZVWVp3a1ZRaG9Ca04rcFRYdFZwWE9CUm1RWkRSZ1JwaUNSSG9qeWdVMm5UYXRPTk1nUkx0c2NRdlNPTXBKUFh0UXBiSjNlN0ZNVmd5Q0x1RFNFK0dTSkJDY29zK3ZDYVR1dDJacWpCa0NYQzBHWGFGZUZJNEVHdG9rMm5PbWY2R0F4WklKeUcrSUxFYkpUcFJobXlSTmdOQVZBQ3pLS0VWM1U2Mzg5eTNZWThJd3FHU0RJSStLMVcwNmJUK1ZwQUdndzVUcFFNa1VBWmliQmVxN0hWcGpoUUxZYWNJM3FHU0pEb1JtM2pWYTNtZTBHTE1lUU9VVFZFa3NFSUQra050T2tNdmhxMEdFUDBpYm9oa293a3pucXRNZDBvUTJia2lpRUErZ0d6YU9jVnJlSGNvTVVZb29rclEyamk0S2RDbjdSNHhSRGdkenJEZEtNTTduSFhRbHdkZWpOMFp5U3dYbWVhYmxSZUUzZDNHSUhiTGxOWXUwdTkwUTlsRmwyOHJETVpFYlFZUTFiWmpGTFBOaGE1eWVUT0VQdEd6aEFKbEtIQTczUW1LN1dHZzRLV1kvQVZCVmJSd1NDNURGdkd1YnVDelowaE9pTnFpQVFDaktHQURUcVRtTnFSNnY0WlVrSDVFeGFueWFXTWxURzhuMDRSN2d6UkZXbERKTmtIb1lVdW50TmFUZ3Rhak1FVDNrVzRra3M1V1VwNU9wT0MzQm5DcjgxQndYQU13aE5hWjdwUmtVWFpBdFJUd0dDNWxKVWltUjllNXM0UThad3lCQ1M3VVlXOHFYWEU5QklLZ2haa1NCRmhGVVVNbHN1d3BaU3QzaFhyQXIyZW9SU3czbFdwMFVxL2hEQkpiSjdDa0plNGF5R0tjcTZGMkpsamdTZlZacVhhSEJpMEdFUDJ5ZWN4Uk0rbzA0MkNEVnBQVEZlYmJsUStZUXpST3dOUVdsalBzenFiVTRJV1k4Z091YjVTN1FYSG9meEI2MW1wOC9oeTBHSU0vbUphaU5SSWRLTTYyYUJ6VERjcWwzRm5DTW43SUxsOVVWcll3SjkwTGljSExjYmdQYWJMbEE3SzhTaFA2UnpUamNvMVRKY3BmUkxkcUM3VGpjb2xUQXVST2ZzaXRQQVhudEhabkJTMEdFTm11RE5FZXJjSDVRZktDVmc4cFhOWnFUWUhCQzNIa0I2bWhmQVdDMkVNUld6UUJtSnFwN1ZuUFZSb013T0MxcEFKdXBxRDNYemU3USsyNXowRXJxS2pjcGI5Z0JhS2VWSWJPU1pvTWVtZ1N6aFVsN0tjWXVZRXJTVWRkQlZEOUdjOFFBZFQzZVJ6TzZoMk4rMXF6SEVLU2xuUUl0eWdOc1c2aEJnV2J5SmNUWG9uc3dTRzNzZStlaCtOV0x3QzdtK21jcmRyVENsSyt5SGZNZDltNERHZ2pTNmVvSWpIMEJ6ZGt4Q25QV2dKcWFMTEdJWFNDdEc3VjF4dExJNWdOTEFBMGcvTWRMdU5NcE14eE5zb0R3TnIyWWVIeFA3aVFkRktLb0Q3TWlnN3ZBZ2RRVXZZRTdxTVk0blRnbkptMEZyU1FlL2pMT0swSUJ5ZGFWbnVER0ZSNUdKUFVoZUovUVZyRWRya0pwN3Y3WU95a0o5cEpaZEREdDVoTGVGdElYUXArd04xeEprRTBWdEgwWlY4RFl1NUtHTzg2cDY3N3pMdG5zMkkweFVxNU5leWdBOWNLTG1lTHI1TDRnUyszRUhEMTBMb2NvcG81enJpMUNQc0U3UWV0K2hLK2lGTUE2YWo3T1hsV05XTEx0UGJDQThqdTNhRjNDQ04vRldyYUVDWmwzZ2huVkpDU01nTW9Zc1p3ZWUwQU44S1dvdGJWQkh1WlF4S0U3aWJUazJWZEF6eFJWY29UcHNzN3IwcjVKb1NGckNaVWhJNzEzSURLeHlHMEtVTXBvdEZLQmRHOFQ4YnZZc1RXVVVyK0xzM3haMGh1cmliSXVaTE14LzdJVVpzT3JXUzZ4Q2VwUHQwWDIvN29LTkJvR01JYldZQVFqVmRUSUhvUlN2clBYd0Z1QkVZVFJaK2ZWZUdrS1c4NlplUTdYVXM1R21keG5MZ1dyL3J5Z29CZFpuVXhtSkE1dE9RUWFHcjZjdFd5b0Fad0pleVZXODRGMTIyVVkzdzNoNC9GNFhXSW9CWkpyMkpzOWlIRjRCN2lLSVo3bUlVVzNnRHBaRXNtZ0ZDYWdoWndpZEFoYnRNL21qSm1DeTJFSG9UWDlWbVZtTHhLRVF2WkVUdjVIaTlpOGNSZmcwY0hvU0cwSjV2S2syczFtbU1SaGpsUHJNUGd0SWxDNGJRQmZURFlockNkR0F2dit2ekdyMkgvZW1pRGdsK1BTUzBoZ0RBNG5xVXM0RCthWmNSdkRsODZ6S3BJaXppWW9TRkVMMnJpblU1UlJSekhWM2hXUThKWlpjcGlUVHhEa0s5ZHdWNlZsTHErRFR0cWdzNWtVVThDYXdtaW1hNGt4RVU4UkpLQzRURERKQmxRNmhOb2JwOUxQdlNBcnpvdVpqc21HTVR5cXRlRnFoTkhLb0xXWTd3UitCVUw4dk9Cbm9IUS9SMkhuRGkycjRadEo2ZDhkMFFPcGsrT29VUldrRXJuL0F1VTdqS1RYNng2VVM1bXNTQ29ELzRZUTdsQXl6T2tocmU4S3pJaFZ4RUFYK0c2SVZsQStqdGpBZGVROXlIWldjTFg3NVVuVUpmbmNJb25jSktDdmtRZUJnb0F3NUNhTllxQnJvcFQrYnpISEN6SDFwM3JjeVRVdDZtZ085SU5TOTdVdG9YSEVPMFk3MkdFZkp4cTJmaXRKd0JLT2NpakVMNUVkQy9sNGRySDdxNEJWek9IaWt6RUg0RTdzeVVFZW1aNHpVSytiNU1aNlBIYWd4WklLTVdRaWV4djhZWXF6SGFVRDRrTWNBYnc1NW5oVVpxQlQ5MlU1Zk01MU1rOUx2UEhxZUEwNDBab290clEraGtCbW9aVjJ1TU5ncDVuOFJxNkVqY3hza0lTN1hTM1NxcU5ISS95cTljMWVNVmUyNHQxbExDZVZMTnY3T2d4dUFUN2k1dUwrY2lMTjVCV0U3Q0JKbnNvRHVBT00ydWN5bVRJT0NIYm1kektQZnlaUzZTQ3U5dXNqRUVnOXNydGZyaDVaeU1jTGxPNVlldXNzeG5JOG9zenpSa2lzVVN1cmhTSm9ZanpOdVFHY0ZQM1FrM2F6WDd1c3JUbHlYQUgvMFJsRElLMU1zTXlzUW1IckFXZzBjRWJ3ZzRoRTZhM0dRUW16Z1dFeUd3LzVXN1VLNlJXdXlBNmpmNFJCZ01BVEJCcC9FOU54bGtIcThBUzN6U3N6dmFFUzZUT2xZRVVMZkJaOEppQ0NIT2NyVmRCdkgxb1JaNDJ4OUpQYklaWVpUTVpFMFc2elJra2JBWUFvVEQyY3hjVjFsc3RqZ2h3OW5nWXl4R1NDMi95MUo5aGdBSWp5RVNUTmJwbk80bWc4empRZUFYUHVsSjhnN0NxVEl6OElHOHdXZkNaZ2lMT0xlcjdYS1RTeWVUZ1gvNUk0bjFGSEM2MUxMQnAvSU5JU0pzaGdBWXdtWnEzV1J3RGtTYjZZT1c1eWppVEpuSjM5TXRRQnM0eWt0QkJuOEpveUVBcXJTYUUxemxLT1lXNENrUE5UekdYcHd0TmZ3ajNRTDBScVlqVkhxb3llQXpZVFZFSVhIdTBLdFREdzBSbXpnRlhJTTNheE8vQWk2UTZYeWFiZ0hhd0d6bjFBaERoQWlySVFDT1lRQlZiakxJSEY1RjBvaVAycEc3Z1V2RVpsczZtVlVSYmFBRmNkZnRNNFNETUJzQ29GYW51enlEZEFzMjhEOXAxU1kwaWMwNHNlbE1KN3V1cG9CNTNBN0UwcXJmRURoaE4wUWY0QTY5SlBXalNhU1pyVTVFYk9vSWlsSXBOdFZ1QlNiUjFSVHdaKzRDeHFkYmhpRjR3bTRJVUU3aTYweDJrMFhtOFJEQ3oxUDhlQmN3UVdaemszdHhDZFNtbUQrekJtRk11bVVZd2tINERRRWdOR2cxUjdyS0U2Y2MyTFNIVDMxT1lyeHdaN3JTMUthRVF0cUFINlZiaGlFOFJNTVFVSUp5bTVzamJHUWVIOEp1dTBEL3dtS0V6T2IrZEVYcEF2bzVabkFWbUdnSUwxRXhCTUIzcWVhbnJuSTBjQnZ3WkEvdkpJNklzWHQ4THlYVVpnRGJXQWVjblc0Wmh2QVJKVU9Bc2tCbjhOVlVQeTZKVFR3VFNIU05raVNPaUxGNUtXMFpOZ2RTd0g4REo2ZGJoaUdjUk1zUXNEZGQzT29tZzh4bEE3RFErZXZyeFBtTzJMeVZyZ0MxT1pnQ0hpR0NwMnNiOWt6VURBRndnVlp6aGFzY2hjeEZ1WnNDVHBlR0ZPNmQ2QVdkeTJGWVBBRW1QaWxYQ2ZVcGFydWhWV3RZNXd5Yzk0aXo2and1a3dyVlpqQngxa0hxWFRaRDlJaGlDd0d3UDhyaWJGV21jeGlHeFdNWU0rUThVVFVFS0tWNkF4ZjVYbzNOOGNSNUhEalU3N29Nd1JOZFF5UllwamI3K1ZXNHp1WkVoSWVCQS95cXd4QXVvbTZJZzltV2ZzakY3dERabklueUNQaG5PRVA0aUxvaFFMaEtxem5QeXlLMW52T0o4eUJadmdIVEVEelJOd1NBc0Z5cnZIbDQxZVlIS1BjRGZiMG96eEF0Y3NNUThEVUt1VEhUUXJTT3k0QmZrZ2c3TitRaHVXSUlnR3QxQm1la20xbHRya2E0bCtpdXpSZzhJSmNNWWFIY3BsUGNkM1cwamtuQXJlVFc5MkZJZzF4N0FBWlQ0dTRBWXExak9zSlNOQVEzV2hzQ0o5Y01BY3BVcmVYRWxENDZpM293SjJQa01HK2cvTkpOQm5lRzZPSnhKUFJubXhZUTV3NjFlNy9pUzBGMEZxMG9kZGtVWnNnYW00QnFDamxPUnJzN2Z0VFZBRktXOFRmZyt6cUZFY1JwQVpjblltU1A0YlJ6QTFDLzh4dHFZOUhKQ3BTZkJLREw0Qzl4NEQ2S21DcWw2UjB3bDFhWFNacFp4MWFPUXlrbjZQdmVla09vMFZxR2QzOUpMNkdBVHU1RWpCbHlEdUZSTEk2VEt4aWJyaGtnZ3pHRXJLQkRGdE5LSjBjQWkwbWNYaEVtaW9semo5cUpWbEJ0aWhuS2FvUXJneFptOEpTM0VFcmxDczZSeTNrbDA4SXlIbFRMTWo2U1ZtSUl3NEdITWkzUFk0NmpnM0tkVEI4NldRUCtSOGNhc3NabW9KNU9oc3NWM2wxZzQ5a2lsTFN3SGpoUFkxeUNNQjg0M0t1eU0wS1l6VDVjQkp3U3RCU0RKeWh3TDUxVXlUZys4THB3ejZkZHBaVTFER0FJUWpud2lkZmxwMEZmakJseWhXZFJUcE94alBYRERPRFRPb1RZdEVzenJSUXhERmdCNXRwYVEwYThoM0lsWXpoSnJ1UnBQeXZ5ZFdGTzVyTlJtcGtJbkFUOHdjKzZERG5KVnFDSnZneVZxMWdwZ3ZwZFlWWUMyYVNaNXhTK1F3VVhBd3VBdzdKUnJ5SFNyRVdaTEZmeDEyeFdtclhRRFFHVlJhemhNNzZKVUUvQy9RYkR6cnlBY29aY3hTZ1psMTB6UUFDeFRMS0NMYklRbXdJR0E2dkEvMmJRRUFrK0FzcnB4N2RsSEU4RUpTS3c0RDZaejd0eUUyT0JVeEJ6M1cwZTB3RXNwcDBqWkJ5dFVocnNBbS9nMGE2eWtHZm94Mm5PQ25KS0I0OFpjb1oxd0xFeW5waE1ERWNJVU9DR2dNU0ZpYktBbFNoSE9PT0x6L2VZeVJCbE5tQnhvWXpuWEJuUEcwR0w2VTRvREpGRUZySlo1bU5Ud0ZHSWQ4dnhodER3TWNway9zNVJNbzdmQkMybUowSzVmMWdhZVFzbzFXck9kc0xNaCs4cGp5SDh5SVRNRDRMd20xQzFFRHNqalR4S0NjY2pUSVQwUTNvTmhsUUp0U0VBeEtaVEdsbUJNQVNsQ1dnUFdwTWhkd205SVpKSUk1dGtQdFhFT1JyQzJmODBSSi9JR0NLSnpHZUROSEloY0M2RWE0YkNFSDBpWjRnazBzZzZQdUpZSjh3OEZIUFlodWdUV1VPQXM0MTFIcTNBRWM0RkttSGJ4bXFJR0pFMlJCSzVrWS9rUm1MRU9SRjRQR2c5aHVpU0U0WklJbzI4S1BNNEUvZ0I4SGJRZWd6Ukk2Y01rVVFhYUdNTDMwS3BCajROV284aE91U2tJUUNrbWEweWp5WUtHWXFhYmF5RzFNaFpReVFSbTQzU3dFU1VreENlQ2xwUHhQZ3Y0dHN2dmM4TGN0NFFTYVNCNTVqTjZRaWx3RHRCNndrNWJ3TG55eVQrVXlibjExZ3Nid3dCempiVzJheWhnR0Vrem4zZEZyU21rUEV4U2puL1pMaE00cmRCaXdtQ3ZESkVFckhaSXJPeHNSZ0VyQ0lMcHptRW5FNWdCVVVNa2NtMGlrMW4wSUtDSWk4TmtVUnMzcFhaaktXTHM0Q1hndFlUQ01vanhEbE9Kak5SSnZMUG9PVUVUVjRiSW9uTTRmY0lKK1RaTnRhL0lKUktHU01reG10Qml3a0x4aEFPWWhNWG01WEFrWkRUMjFnL1E2a0hoc3Rrc3l0eFo0d2hka0pzUGhNYm13S0dRMDQ5TUhGZ0ZjcVJFc09Xc3B3MWZFYUVjZ3RwR0pCYS9nS1VhajNuQU0xRWV4dnJNeWd4S2VlWm9JV0VIZE5DN0FHWnhTTW94ME1rdDdHK0MxeEpqRk9NR1ZMREdDSUZ4S1pUNmxoQm5LRWtia3NLKzdUa0ZxQ2VPSU9sUER1SEJPY0t4aEF1RUp1UHBZNFlCUXhIZVRCb1BUMmd3QnE2K0taTXdaWUtjMzZ1Vzh3WUlnMmtoamVCQzNRT0kwaTBHTU1DbGdUQzgwQk1wcGhyQnpMQnRCQVpJTFdzNDhzY0UvQnRyTzhqVE9UZmZOdVlJWE9NSVRKRUp0SWh0YlJpY1FTUzFXMnM3Y0JpaWhncVUxZ2h0Z2x2OXdKakNJK1FHajZTR21MQXQ4SDM0OXpYWWpGTXBoS1RzbERjNDVjem1ER0V4OGdNWGdETzBMbU13cUxWNCtMZlJEaGJwdktZeCtVYURQNmpOaVhheUJsQjZ6Q2t6djhEUWQ3UXJNYkxSMUFBQUFBQVNVVk9SSzVDWUlJPSI+CiAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU1RQUFBREVDQVlBQUFEQXBvNXJBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQmFiZ0FBV200QnhXc2pPQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFkM2QzTG1sdWEzTmpZWEJsTG05eVo1dnVQQm9BQUJsMFNVUkJWSGljN1oxNWVGVFYzY2MvdjVzRkNWUnhxVnRwdFZXMlZseGY2MXF0aXEwTDlHbDlOWFVCRkVwRlJUSWhoQkFEQ1RkQU1BRWtDWXNLN3FCOStrRDcycWZCV2l2cVc3VmE2NzRpcmU5cmF4WDFiWlZXWlRITC9ONC81ZzRHU0dEdXpMMXo3NTA1bjM4NHpNdzU1OHZNL1hLMjN6a0hESUdqaXpoUEYzRmUwRG9NSUVFTHlHZDBQb093YUFBdWNWNWFoMFc1VlBCNmtMcnlHV09JQUZDYi92U2pFcWdHK3V6d0t3Z2R3QzEwVUNmVi9Ec1loZm1MTVVRV1VSdUxFa1lEOHhFTzJ2N0dqb1p3UHN4SFdNeGhJRXVsbEs1czZzeG5qQ0d5aEM3Z0pKUlc0Q1NnWnhQMG5INEppNWlVODdqZkdnM0dFTDZqVFF3RTVnR2prVzdmZCtxR1NMS1dJc3BrTW0vN0lOUGdZQXpoRTJwVFFoK3FzS2dDK2dMdVRiQnJlaXV3bUhZYVpEcWZlaXJZQUJoRGVJNHFRaU1YQXdzUUR2UEFCRDJsTnlMVXM0bmJ4U2FldVdwREVtTUlEOUViT1FGb1JUaHQrNHYrR0NMNTU3TkF1Y1I0S2kzQmhsMHdodkFBYmVBUUxHeGdBbUQ1YW9MdTZjU2ZpdkFMbEVxSjhZNUw2WWFkTUliSUFMVXBwb2hyRVdZajdMMzlqZXdhSXBuZWpMS1F2V21VY1d4TDZSOWcyQVZqaURUUnVZekNvZ1g0QnBBOUUzUlA5L3orMzRHWlVzYktYcVFiZG9NeGhFdTBnYU1SbWxITzl2QUIvNk9UT3RrRFF5VFN5aU1vNVJManRaNytIWWFlc1lJV0VCWFVaaitkU3l2d1BNclpIaFc3RVdFaW4zRWFVemtWb1JUNG15Y2xDK2RnOGJJdVphWGV3b0dlbEprSG1CWmlENmhOSVVXTVIya0FEdkNvVmRpS3NKajRydXNKdXB3U1BxTUtxRUtjOVl2ZXlrbTl6azFBRXdmU0xLVzBZK2dWWTRqZG9QV2NnMFVMd2xIYlg4emNFR3NSeW1UYTdsZWN0WW1CRkRrcjNPeXd4cDJPSVpMcERRaFQ1VG9lMkYzZCtZd3hSQS9vSEFaQnQ3QnNiMXFGRnltZ1hDcmR4U1RwSXM0RVdoQ08zYVhNOUxXc280Q1lYTU1iYnJUa0E4WVEzVkNiL2dpVnlFNWgyWmtaNGlPRU9SeWVmdFNxMmxnTVlEVEtmT0FnajNSMW9OeENJWFV5MFlTWkp6R0d3SG5nTE9lQjZ5a3NPNzBITC9IQWlYZjdHblFaL1dudndiRHBhd1NjTVBQOVRKZzVHRU9nczFNSXkzYi9zSzBqVGt4cS9PbVNhQ3VEVUJxUTdUdnR2T2pXdlloUUx0ZmtkNWg1M2hwQ2JSZGgyYWsvVkJ0UUtxU0czM2dxdGhlMGxYT0FGdUFvRDlkRTFsSkFtZncwUDhQTTg4NFFhbE1DenJSbXFtSFplMzZRTmlFMDhUbk5ZbWQzV2xOdEN0bVg4WWd6TGR5N1JqZnBSSmg1RVEzeWsvd0tNODhiUXlnSWRWeU14UUxVWlZoMjcrOTNvdHlKTUZOcStJZlhtdDJnaTlpUFFtWUIxeUVVYm44ak0zTzhoMUxEUkZhSm9KNEtEaWw1WVFpdDVRUWtnN0Rzbmw5N0ZJdHlxZVpWVDhWbWlDNWhLRW96NGh4cjQwMVg2bG1VbUZ6RDB4NUtEU1U1YlFpdDRSQ0tzTkVNdzdKM2ZPMHRsQnFaeVJxUDVYcUtMbVlVUWd2aUJCOUNwdVpRNEY0NnFKSkpmT0NwMkJDUms0WlFtMkk2UFF6TFR2eVpDSy9laHh1bGpNODlsdXdMYWxQTS9zNzNBSHQ3MUZwc1JsaElZVzZHbWVlY0lYU0c1MkhaY1lUN0VLYkpERDcwVm0xMjBPVWNRZ2MyNHJTVTRNWDM4aFpDalV3SWQwdnBscHd4aE43QVVBcG9Cczd6Y0FyeUdaU1kxUEdNaDFJRFEyOTJ0cmdxcDNuMkhWazhTcHdwOGxOZThWQnFZRVRlRUdxekh4M01RcmdPbk5tVnpIL3NkNEVaMU9iZTdJb3F3aTNPSVFod0dPREY5OVdKT0xOdDQ0T2RiY3VVeUJwQ2JRcnBZRHg0R3BhOUJWakFsMmlTQ3JaNktEZDA2SEpLNktRS1NTSE1QTlcweFNiaU5MRjNkTVBNSTJrSXJYRldhTDBMeTFiZ0Z4UXdUV1o2dEVFbkl1amlGTUxNM2FZVFllWVZNaTQ3Sy9aZUVpbEQ2RXdHRWZjOExQczVMTXFsamo5NHB6UjY2TTJjNlV4RzdCcG03amI5eFd2cktLUk14ckxlTzZYK0VnbERxTzFFZVNyVkNIMjJ2NUdaSVRZQzlXQU8rMHFpTmhZSE80Y3hkdzh6aDB6V2JSSlJ2eDNSQ0RNUHRTSFV4bUlybzdHY0h3aThhQlhhZ1ZzcFlhWTVEckpuZEJuOXNhakVjc0xNSVJOREpFbUVtZmNOZDVoNWFBMmhOM1FMeS9adUduVXRRa3hzL3RkRHFUbUwzc29neE9taVptNklaUG9GbEhJWnh4TmVhdldLMEJsQ3F4aUkxVzJRQjE2MENpK2hsTXNjZnUrcDJEeEJWekRDaVk5S1RHSmtab2hrZWkxeEpzczQvdXFsMWt3SmpTSFVwb1F0empRZzlQV29WVWhzMzF6UFVsa1QzbVk2Q3FoTklWOXhUaDhSSjh3Y01qRUVKS2E1bDlDWHVWTEtaOTRxVG8vQURhRWdUT05peEZrb2N2K2w5cFJPWEV2VlRwMDBoWDhnRnlYMGR2WkRtUVZNQWdveU5FUXkvUjVDRGFPRFh3Z04xQkE2bFJPd2VnbkxUdDhRNnhES1pZNjV1TkJQOURhR0FZdVFicmVuWnY3Yi9RbUxtSXplZnBKaDFnbkVFRnJ1aEdYdjdyUnM5MS9xQnVKTWxYbm16S0Zzb3JjekNweGdTbTlhZDBXY01QTngyUTh6ejZvaG5PN1JOSlJhaFA0OXFuRC9wWDRNMUZQRXpXTFQ2YTFpUXlyb1hleEZuQXJnQnFDL1IrTy9UN0NZUXhHTHN4a0drdlVXUWlzNHpqa043NHdlVmFSdWlFUllkaEdWWXZOL2ZtZzF1RU9YY3dpRlBvV1pYNUdkTVBQQXhoQmF5U2lFVnVEcnJnMmhQSW93UmVibFJzaHhycUYzY3dKZHp0alF1eldrUjFIS1piUy9XM2FESFZUYkZMT1pheEhtQUYvYVFWSFBYOHhiV05SSVEyNXRTc2xGVkJIdTlpSE1ITzZraUpsUzZrK1llZURUcmdCYXhhSEFMR0FDMG1OVG05aTJXRXlqMkxtM2JUR1gwZVdVVUp6aWFlYXBwemVoMUhNb3krUXNiOGVOb1RCRUVxM2lQNXh1MUttT3NzVEc5aTZxWkVIdWJtelBCL1EyQmxMTVBOVERNSE40RTRzS3VaUUh2ZElaS2tPQU14TTFuVEVJRjJOaHl6eGVDRnFUd1R2MExyN3JoSmtmcy8zRnpNMXhQM0VxNVlyTVk5UkNad2hEN3FNMkZvYzdZZWFTUVpqNWp1a09MRzZoZzFvWnpTZnBhak9HTUFTR3JxWS9XN3VkWmc2WnR4YkMreWcyRm5la0UyWnVER0VJSEwyUFFYU2xFV2ErdXpROGowVzVsUEtrR3kzR0VJYlFvUGR3UHNJaWhLRkFwb2FBeEtYMkUrVEgzSm1xQnRlM2tHbzVFN1NjSDdyTlp6RHNDYm1TQjluSzBjQkU0SjllRkFrYzZpYUQrMnQ1bFNOUjd0Y1k2L1I2eDhrR2cwZklSRHBrREN2b3d4QmdNV1IzSDBzNmhpaHlVdWRRd0NzYW8xV3Y2eGFvWnpCNGdKVHlzWXdtUnB6aHdHK3pWYTk3UTFqYkRRRlFCSlJSeEhxTk1kWXpWUWFEZzR4bHZZem1mSVFmZ1A5NzRUTnBJYm96RUxoSHkzallkS01NZmlDWDAwWVJ3NEJ5U0grZFlVKzROd1E5R2lLQk1JSUNYdFlwTktyTlh1bkxNaGgyUlVwcGx5dG9SUmdHL3B5bDVhMGhFaFNqVE9kZnZLNHhScVlqeW1EWUhYSVpHOEdmdmRkK0dDTEpOeERhZEFwdFdzblgwNmpIWU1nNlhvMGhkc2RJdW5oZEs3Qk5OOG9RZGpLZFpVcVZ2aWl6K0lUWHRKSUwwOGh2TUdTRmJMUVEzVG1DT0d1MWdqWXQ1L0FNeWpFWWZNSFBNY1R1R0VrQmIyaWw2VVlad2tWUWhvQmtOK3BUWHRWcFhPQlJtUVpEUmdScGlDUkhvanlnVTJuVGF0T05NZ1JMdHNjUXZTT01wSlBYdFFwYkozZTdGTVZneUNMdURTRStHU0pCQ2Nvcyt2Q2FUdXQyWnFqQmtDWEMwR1hhRmVGSTRFR3RvazJuT21mNkdBeFpJSnlHK0lMRWJKVHBSaG15Uk5nTkFWQUN6S0tFVjNVNjM4OXkzWVk4SXdxR1NESUkrSzFXMDZiVCtWcEFHZ3c1VHBRTWtVQVppYkJlcTdIVnBqaFFMWWFjSTNxR1NKRG9SbTNqVmEzbWUwR0xNZVFPVVRWRWtzRUlEK2tOdE9rTXZocTBHRVAwaWJvaGtvd2t6bnF0TWQwb1EyYmtpaUVBK2dHemFPY1ZyZUhjb01VWW9va3JRMmppNEtkQ243UjR4UkRnZHpyRGRLTU03bkhYUWx3ZGVqTjBaeVN3WG1lYWJsUmVFM2QzR0lIYkxsTll1MHU5MFE5bEZsMjhyRE1aRWJRWVExYlpqRkxQTmhhNXllVE9FUHRHemhBSmxLSEE3M1FtSzdXR2c0S1dZL0FWQlZiUndTQzVERnZHdWJ1Q3paMGhPaU5xaUFRQ2pLR0FEVHFUbU5xUjZ2NFpVa0g1RXhhbnlhV01sVEc4bjA0UjdnelJGV2xESk5rSG9ZVXVudE5hVGd0YWpNRVQza1c0a2tzNVdVcDVPcE9DM0JuQ3I4MUJ3WEFNd2hOYVo3cFJrVVhaQXRSVHdHQzVsSlVpbVI5ZTVzNFE4Wnd5QkNTN1VZVzhxWFhFOUJJS2doWmtTQkZoRlVVTWxzdXdwWlN0M2hYckFyMmVvUlN3M2xXcDBVcS9oREJKYko3Q2tKZTRheUdLY3E2RjJKbGpnU2ZWWnFYYUhCaTBHRVAyeWVjeFJNK28wNDJDRFZwUFRGZWJibFErWVF6Uk93TlFXbGpQc3pxYlU0SVdZOGdPdWI1UzdRWEhvZnhCNjFtcDgvaHkwR0lNL21KYWlOUklkS002MmFCelREY3FsM0ZuQ01uN0lMbDlVVnJZd0o5MExpY0hMY2JnUGFiTGxBN0s4U2hQNlJ6VGpjbzFUSmNwZlJMZHFDN1RqY29sVEF1Uk9mc2l0UEFYbnRIWm5CUzBHRU5tdURORWVyY0g1UWZLQ1ZnOHBYTlpxVFlIQkMzSGtCNm1oZkFXQzJFTVJXelFCbUpxcDdWblBWUm9Nd09DMXBBSnVwcUQzWHplN1ErMjV6MEVycUtqY3BiOWdCYUtlVkliT1Nab01lbWdTemhVbDdLY1l1WUVyU1VkZEJWRDlHYzhRQWRUM2VSek82aDJOKzFxekhFS1NsblFJdHlnTnNXNmhCZ1dieUpjVFhvbnN3U0czc2UrZWgrTldMd0M3bSttY3JkclRDbEsreUhmTWQ5bTRER2dqUzZlb0lqSDBCemRreENuUFdnSnFhTExHSVhTQ3RHN1YxeHRMSTVnTkxBQTBnL01kTHVOTXBNeHhOc29Ed05yMlllSHhQN2lRZEZLS29EN01pZzd2QWdkUVV2WUU3cU1ZNG5UZ25KbTBGclNRZS9qTE9LMElCeWRhVm51REdGUjVHSlBVaGVKL1FWckVkcmtKcDd2N1lPeWtKOXBKWmRERHQ1aExlRnRJWFFwK3dOMXhKa0UwVnRIMFpWOERZdTVLR084NnA2Nzd6THRuczJJMHhVcTVOZXlnQTljS0xtZUxyNUw0Z1MrM0VIRDEwTG9jb3BvNXpyaTFDUHNFN1FldCtoSytpRk1BNmFqN09YbFdOV0xMdFBiQ0E4anUzYUYzQ0NOL0ZXcmFFQ1psM2doblZKQ1NNZ01vWXNad2VlMEFOOEtXb3RiVkJIdVpReEtFN2liVGsyVmRBenhSVmNvVHBzczdyMHI1Sm9TRnJDWlVoSTcxM0lES3h5RzBLVU1wb3RGS0JkRzhUOGJ2WXNUV1VVcitMczN4WjBodXJpYkl1WkxNeC83SVVac09yV1M2eENlcFB0MFgyLzdvS05Cb0dNSWJXWUFRalZkVElIb1JTdnJQWHdGdUJFWVRSWitmVmVHa0tXODZaZVE3WFVzNUdtZHhuTGdXci9yeWdvQmRablV4bUpBNXRPUVFhR3I2Y3RXeW9BWndKZXlWVzg0RjEyMlVZM3czaDQvRjRYV0lvQlpKcjJKczlpSEY0QjdpS0laN21JVVczZ0RwWkVzbWdGQ2FnaFp3aWRBaGJ0TS9takptQ3kyRUhvVFg5Vm1WbUx4S0VRdlpFVHY1SGk5aThjUmZnMGNIb1NHMEo1dktrMnMxbW1NUmhqbFByTVBndElsQzRiUUJmVERZaHJDZEdBdnYrdnpHcjJIL2VtaURnbCtQU1MwaGdEQTRucVVzNEQrYVpjUnZEbDg2ektwSWl6aVlvU0ZFTDJyaW5VNVJSUnpIVjNoV1E4SlpaY3BpVFR4RGtLOWR3VjZWbExxK0RUdHFnczVrVVU4Q2F3bWltYTRreEVVOFJKS0M0VERESkJsUTZoTm9icDlMUHZTQXJ6b3VaanNtR01UeXF0ZUZxaE5IS29MV1k3d1IrQlVMOHZPQm5vSFEvUjJIbkRpMnI0WnRKNmQ4ZDBRT3BrK09vVVJXa0Vybi9BdVU3aktUWDZ4NlVTNW1zU0NvRC80WVE3bEF5ek9raHJlOEt6SWhWeEVBWCtHNklWbEEranRqQWRlUTl5SFpXY0xYNzVVblVKZm5jSW9uY0pLQ3ZrUWVCZ29BdzVDYU5ZcUJyb3BUK2J6SEhDekgxcDNyY3lUVXQ2bWdPOUlOUzk3VXRvWEhFTzBZNzJHRWZKeHEyZml0SndCS09jaWpFTDVFZEMvbDRkckg3cTRCVnpPSGlrekVINEU3c3lVRWVtWjR6VUsrYjVNWjZQSGFneFpJS01XUWlleHY4WVlxekhhVUQ0a01jQWJ3NTVuaFVacUJUOTJVNWZNNTFNazlMdlBIcWVBMDQwWm9vdHJRK2hrQm1vWlYydU1OZ3A1bjhScTZFamN4c2tJUzdYUzNTcXFOSEkveXE5YzFlTVZlMjR0MWxMQ2VWTE52N09neHVBVDdpNXVMK2NpTE41QldFN0NCSm5zb0R1QU9NMnVjeW1USU9DSGJtZHpLUGZ5WlM2U0N1OXVzakVFZzlzcnRmcmg1WnlNY0xsTzVZZXVzc3huSThvc3p6Umtpc1VTdXJoU0pvWWp6TnVRR2NGUDNRazNhelg3dXNyVGx5WEFILzBSbERJSzFNc015c1FtSHJBV2cwY0Vid2c0aEU2YTNHUVFtemdXRXlHdy81VzdVSzZSV3V5QTZqZjRSQmdNQVRCQnAvRTlOeGxrSHE4QVMzelNzenZhRVM2VE9sWUVVTGZCWjhKaUNDSE9jclZkQnZIMW9SWjQyeDlKUGJJWllaVE1aRTBXNnpSa2tiQVlBb1REMmN4Y1YxbHN0amdodzluZ1l5eEdTQzIveTFKOWhnQUlqeUVTVE5icG5PNG1nOHpqUWVBWFB1bEo4ZzdDcVRJejhJRzh3V2ZDWmdpTE9MZXI3WEtUU3llVGdYLzVJNG4xRkhDNjFMTEJwL0lOSVNKc2hnQVl3bVpxM1dSd0RrU2I2WU9XNXlqaVRKbkozOU10UUJzNHlrdEJCbjhKb3lFQXFyU2FFMXpsS09ZVzRDa1BOVHpHWHB3dE5md2ozUUwwUnFZalZIcW95ZUF6WVRWRUlYSHUwS3RURHcwUm16Z0ZYSU0zYXhPL0FpNlE2WHlhYmdIYXdHem4xQWhEaEFpcklRQ09ZUUJWYmpMSUhGNUYwb2lQMnBHN2dVdkVabHM2bVZVUmJhQUZjZGZ0TTRTRE1Cc0NvRmFudXp5RGRBczI4RDlwMVNZMGljMDRzZWxNSjd1dXBvQjUzQTdFMHFyZkVEaGhOMFFmNEE2OUpQV2pTYVNaclU1RWJPb0lpbElwTnRWdUJTYlIxUlR3Wis0Q3hxZGJoaUY0d200SVVFN2k2MHgyazBYbThSREN6MVA4ZUJjd1FXWnprM3R4Q2RTbW1EK3pCbUZNdW1VWXdrSDREUUVnTkdnMVI3cktFNmNjMkxTSFQzMU9Zcnh3WjdyUzFLYUVRdHFBSDZWYmhpRThSTU1RVUlKeW01c2piR1FlSDhKdXUwRC93bUtFek9iK2RFWHBBdm81Wm5BVm1HZ0lMMUV4Qk1CM3FlYW5ybkkwY0J2d1pBL3ZKSTZJc1h0OEx5WFVaZ0RiV0FlY25XNFpodkFSSlVPQXNrQm44TlZVUHk2SlRUd1RTSFNOa2lTT2lMRjVLVzBaTmdkU3dIOERKNmRiaGlHY1JNc1FzRGRkM09vbWc4eGxBN0RRK2V2cnhQbU8yTHlWcmdDMU9aZ0NIaUdDcDJzYjlrelVEQUZ3Z1Zaemhhc2NoY3hGdVpzQ1RwZUdGTzZkNkFXZHkyRllQQUVtUGlsWENmVXBhcnVoVld0WTV3eWM5NGl6Nmp3dWt3clZaakJ4MWtIcVhUWkQ5SWhpQ3dHd1A4cmliRldtY3hpR3hXTVlNK1E4VVRVRUtLVjZBeGY1WG8zTjhjUjVIRGpVNzdvTXdSTmRReVJZcGpiNytWVzR6dVpFaEllQkEveXF3eEF1b202SWc5bVdmc2pGN3REWm5JbnlDUGhuT0VQNGlMb2hRTGhLcXpuUHl5SzFudk9KOHlCWnZnSFRFRHpSTndTQXNGeXJ2SGw0MWVZSEtQY0RmYjBvenhBdGNzTVE4RFVLdVRIVFFyU095NEJma2dnN04rUWh1V0lJZ0d0MUJtZWttMWx0cmthNGwraXV6Umc4SUpjTVlhSGNwbFBjZDNXMGprbkFyZVRXOTJGSWcxeDdBQVpUNHU0QVlxMWpPc0pTTkFRM1doc0NKOWNNQWNwVXJlWEVsRDQ2aTNvd0oyUGtNRytnL05KTkJuZUc2T0p4SlBSbm14WVE1dzYxZTcvaVMwRjBGcTBvZGRrVVpzZ2FtNEJxQ2psT1JyczdmdFRWQUZLVzhUZmcrenFGRWNScEFaY25ZbVNQNGJSekExQy84eHRxWTlISkNwU2ZCS0RMNEM5eDRENkttQ3FsNlIwd2wxYVhTWnBaeDFhT1F5a242UHZlZWtPbzBWcUdkMzlKTDZHQVR1NUVqQmx5RHVGUkxJNlRLeGlicmhrZ2d6R0VyS0JERnROS0owY0FpMG1jWGhFbWlvbHpqOXFKVmxCdGlobkthb1FyZ3habThKUzNFRXJsQ3M2Unkza2wwOEl5SGxUTE1qNlNWbUlJdzRHSE1pM1BZNDZqZzNLZFRCODZXUVArUjhjYXNzWm1vSjVPaHNzVjNsMWc0OWtpbExTd0hqaFBZMXlDTUI4NDNLdXlNMEtZelQ1Y0JKd1N0QlNESnlod0w1MVV5VGcrOExwd3o2ZGRwWlUxREdBSVFqbndpZGZscDBGZmpCbHloV2RSVHBPeGpQWERET0RUT29UWXRFc3pyUlF4REZnQjV0cGFRMGE4aDNJbFl6aEpydVJwUHl2eWRXRk81ck5SbXBrSW5BVDh3Yys2RERuSlZxQ0p2Z3lWcTFncGd2cGRZVllDMmFTWjV4UytRd1VYQXd1QXc3SlJyeUhTckVXWkxGZngxMnhXbXJYUURRR1ZSYXpoTTc2SlVFL0MvUWJEenJ5QWNvWmN4U2dabDEwelFBQ3hUTEtDTGJJUW13SUdBNnZBLzJiUUVBaytBc3JweDdkbEhFOEVKU0t3NEQ2Wno3dHlFMk9CVXhCejNXMGUwd0VzcHAwalpCeXRVaHJzQW0vZzBhNnlrR2ZveDJuT0NuSktCNDhaY29aMXdMRXlucGhNREVjSVVPQ0dnTVNGaWJLQWxTaEhPT09Mei9lWXlSQmxObUJ4b1l6blhCblBHMEdMNlU0b0RKRkVGckpaNW1OVHdGR0lkOHZ4aHREd01jcGsvczVSTW83ZkJDMm1KMEs1ZjFnYWVRc28xV3JPZHNMTWgrOHBqeUg4eUlUTUQ0THdtMUMxRURzampUeEtDY2NqVElUMFEzb05obFFKdFNFQXhLWlRHbG1CTUFTbENXZ1BXcE1oZHdtOUlaSklJNXRrUHRYRU9SckMyZjgwUkovSUdDS0p6R2VETkhJaGNDNkVhNGJDRUgwaVo0Z2swc2c2UHVKWUo4dzhGSFBZaHVnVFdVT0FzNDExSHEzQUVjNEZLbUhieG1xSUdKRTJSQks1a1kva1JtTEVPUkY0UEdnOWh1aVNFNFpJSW8yOEtQTTRFL2dCOEhiUWVnelJJNmNNa1VRYWFHTUwzMEtwQmo0TldvOGhPdVNrSVFDa21hMHlqeVlLR1lxYWJheUcxTWhaUXlRUm00M1N3RVNVa3hDZUNscFB4UGd2NHRzdnZjOExjdDRRU2FTQjU1ak42UWlsd0R0QjZ3azVid0xueXlUK1V5Ym4xMWdzYnd3QnpqYlcyYXloZ0dFa3puM2RGclNta1BFeFNqbi9aTGhNNHJkQml3bUN2REpFRXJIWklyT3hzUmdFckNJTHB6bUVuRTVnQlVVTWtjbTBpazFuMElLQ0lpOE5rVVJzM3BYWmpLV0xzNENYZ3RZVENNb2p4RGxPSmpOUkp2TFBvT1VFVFY0Yklvbk00ZmNJSitUWk50YS9JSlJLR1NNa3htdEJpd2tMeGhBT1loTVhtNVhBa1pEVDIxZy9RNmtIaHN0a3N5dHhaNHdoZGtKc1BoTWJtd0tHUTA0OU1IRmdGY3FSRXNPV3NwdzFmRWFFY2d0cEdKQmEvZ0tVYWozbkFNMUVleHZyTXlneEtlZVpvSVdFSGROQzdBR1p4U01veDBNa3Q3RytDMXhKakZPTUdWTERHQ0lGeEtaVDZsaEJuS0VrYmtzSys3VGtGcUNlT0lPbFBEdUhCT2NLeGhBdUVKdVBwWTRZQlF4SGVUQm9QVDJnd0JxNitLWk13WllLYzM2dVc4d1lJZzJraGplQkMzUU9JMGkwR01NQ2xnVEM4MEJNcHBockJ6TEJ0QkFaSUxXczQ4c2NFL0J0ck84alRPVGZmTnVZSVhPTUlUSkVKdElodGJSaWNRU1MxVzJzN2NCaWloZ3FVMWdodGdsdjl3SmpDSStRR2o2U0dtTEF0OEgzNDl6WFlqRk1waEtUc2xEYzQ1Y3ptREdFeDhnTVhnRE8wTG1Nd3FMVjQrTGZSRGhicHZLWXgrVWFEUDZqTmlYYXlCbEI2ekNrenY4RFFkN1FyTWJMUjFBQUFBQUFTVVZPUks1Q1lJST0iPgoKICAKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCjxzdHlsZT4KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90bycpLCBsb2NhbCgnUm9ib3RvLVJlZ3VsYXInKSwgdXJsKC9mb250LXJvYm90by91WUVDTUtvSGNPOXgxd2RtYnlISW0zLV9rZjZCeVlPNkNMWWRCNEhRRS1ZLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8nKSwgbG9jYWwoJ1JvYm90by1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vc1RkYUE2ajBQc2I5MjBWanYtbXJ6SC1fa2Y2QnlZTzZDTFlkQjRIUUUtWS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL19WWUZ4LXM4MjRrWHFfVWwyQkhxWUgtX2tmNkJ5WU82Q0xZZEI0SFFFLVkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDNGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL3RuajRTQjZETmJkYVFuc004Q0ZxQlgtX2tmNkJ5WU82Q0xZZEI0SFFFLVkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL29NTWdmWk1RdGhPcnlRbzluMjJkY3V2dkRpbjFwSzhhS3RlTHBlWjVjMEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIyMTIsIFUrMjIxNTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL0tzX2NWeGlDaXdVV1ZzRldGQTNCam4tX2tmNkJ5WU82Q0xZZEI0SFFFLVkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDI0RiwgVSsxRTAwLTFFRkYsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8nKSwgbG9jYWwoJ1JvYm90by1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vTko0dnhsZ1d3V2JFc3YxOGRBaHFubi1fa2Y2QnlZTzZDTFlkQjRIUUUtWS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9pc1otd2JDWE5LQWJuam82X1R3SFRvWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by83N0ZYRmpSYkd6TjRhQ3JTRmhsaDNvWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9qU04yQ0dWRGJjVnlDbmZKZmpTZGZJWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkJyksIGxvY2FsKCdSb2JvdG8tQm9sZCcpLCB1cmwoL2ZvbnQtcm9ib3RvL1VYNmk0SnhRRG0zZlZUYzFDUHV3cW9YMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSwgbG9jYWwoJ1JvYm90by1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vZC02SVlwbE9Gb2NDYWNLenh3WFNPSkJ3MXhVMXJLcHRKal8wamFuczkyMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by85N3VhaHhpcVpSb25jQmFDRUkzYVc0WDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUrMUUwMC0xRUZGLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQ0YsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSwgbG9jYWwoJ1JvYm90by1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vUHdaYy1ZYklMNDE0d0I5ckIxSUFQWVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1Cb2xkSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vdDZOZDRjZlBSaFpQNDRRNVFBamNDMTRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQgSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tQm9sZEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL3Q2TmQ0Y2ZQUmhaUDQ0UTVRQWpjQ19acmFSMlRnOHcybHptN2tMTkwwLXcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0N3dF9SbTY5MUxUZWJLZlkyWmtLU21JLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0MxQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0M0Z3A5UThnYllyaHFHbFJhdl9JWGZrLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMjAwMC0yMDZGLCBVKzIwNzQsIFUrMjBBQywgVSsyMjEyLCBVKzIyMTU7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0M2RThrTTR4V1IxXzFiWVVSUm9qUkdjLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUrMUUwMC0xRUZGLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQ0YsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQgSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tQm9sZEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL3Q2TmQ0Y2ZQUmhaUDQ0UTVRQWpjQzlEaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09wWFVxVG8wVWdRUWhHal9TRmRMV0JrQXo0clluNDdaeTJydmlnV1FmNncud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9XeHJYSmEwQzNLZHRDN2xNYWZHNGRSa0F6NHJZbjQ3WnkycnZpZ1dRZjZ3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vY0RLaFJhWG5RVE9WYmFveHdkT3I5eGtBejRyWW40N1p5MnJ2aWdXUWY2dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vMWhaZjAyUE9BTmgzMmsyVmtnRW9VQmtBejRyWW40N1p5MnJ2aWdXUWY2dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vdlBjeW5TTDBxSHFfNmRYN2xLVkJ5WFloamJTcHZjNDdlZTZ4Ul84MEhudy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vdlN6dWxmS1NLMExMampmZWF4Y1JFaGtBejRyWW40N1p5MnJ2aWdXUWY2dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9LMjNjeFdWVHJJRkQ2REpzRVZpMDdSa0F6NHJZbjQ3WnkycnZpZ1dRZjZ3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCcpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0JyksIHVybCgvZm9udC1yb2JvdG8vRmw0eTBRZE94eXlUSEVHTVhYOGtjWVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0JyksIGxvY2FsKCdSb2JvdG8tTGlnaHQnKSwgdXJsKC9mb250LXJvYm90by8wZUM2ZmwwNmx1WEVZV3BCU0p2WENJWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQnKSwgbG9jYWwoJ1JvYm90by1MaWdodCcpLCB1cmwoL2ZvbnQtcm9ib3RvL0kzUzF3c2dTZzlZQ3VyVjZQVWtUT1lYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDNGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0JyksIGxvY2FsKCdSb2JvdG8tTGlnaHQnKSwgdXJsKC9mb250LXJvYm90by8tTDE0SmswNm02cFVIQi01bVhRUW5ZWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCcpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0JyksIHVybCgvZm9udC1yb2JvdG8vSGdvMTNrLXRmU3BuMHFpMVNGZFVmWkJ3MXhVMXJLcHRKal8wamFuczkyMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQnKSwgbG9jYWwoJ1JvYm90by1MaWdodCcpLCB1cmwoL2ZvbnQtcm9ib3RvL1BydTMzcWpTaHBaU21HM3o2Vll3bllYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDI0RiwgVSsxRTAwLTFFRkYsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQnKSwgbG9jYWwoJ1JvYm90by1MaWdodCcpLCB1cmwoL2ZvbnQtcm9ib3RvL05ZRFdCZEQ0Z0lxMjZHNVhZYkhzRklYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0MTRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0X1pyYVIyVGc4dzJsem03a0xOTDAtdy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0d3RfUm02OTFMVGViS2ZZMlprS1NtSS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQgSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tTGlnaHRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by83bThsN1RsRk8tUzNWa2hIdVIwYXQxQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1MaWdodEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvLzdtOGw3VGxGTy1TM1ZraEh1UjBhdDRncDlROGdiWXJocUdsUmF2X0lYZmsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIyMTIsIFUrMjIxNTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0NkU4a000eFdSMV8xYllVUlJvalJHYy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1MaWdodEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvLzdtOGw3VGxGTy1TM1ZraEh1UjBhdDlEaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bScpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bScpLCB1cmwoL2ZvbnQtcm9ib3RvL29IaTMwa3dRV3ZwQ1dxQWh6SGNDU0lYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0nKSwgbG9jYWwoJ1JvYm90by1NZWRpdW0nKSwgdXJsKC9mb250LXJvYm90by9aTHFLZWVsWWJBVEc2MEVwWkJTRHk0WDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vbXg5VWNrNnVCNjNWSUtGWW5FTVhyWVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vckd2SGRKbnIybDc1cWIwWU5EOU55SVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vUnhaSmRuemVvM1I1elNleGdlOFVVWkJ3MXhVMXJLcHRKal8wamFuczkyMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vb09lRndaTmxyVGVmekxZbWxWVjFVSVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0nKSwgbG9jYWwoJ1JvYm90by1NZWRpdW0nKSwgdXJsKC9mb250LXJvYm90by9tYm1ocHJNSDY5Wmk2ZUVQQllWRmhZWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vT0xmZkdCVGFGMFhGT1cxZ251SEYwVjRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bSBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1NZWRpdW1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9PTGZmR0JUYUYwWEZPVzFnbnVIRjBmWnJhUjJUZzh3Mmx6bTdrTE5MMC13LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09MZmZHQlRhRjBYRk9XMWdudUhGMFF0X1JtNjkxTFRlYktmWTJaa0tTbUkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDNGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bSBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1NZWRpdW1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9PTGZmR0JUYUYwWEZPVzFnbnVIRjBWQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vT0xmZkdCVGFGMFhGT1cxZ251SEYwWWdwOVE4Z2JZcmhxR2xSYXZfSVhmay53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09MZmZHQlRhRjBYRk9XMWdudUhGMGFFOGtNNHhXUjFfMWJZVVJSb2pSR2Mud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDI0RiwgVSsxRTAwLTFFRkYsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09MZmZHQlRhRjBYRk9XMWdudUhGMGREaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZMTRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZX1pyYVIyVGc4dzJsem03a0xOTDAtdy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZd3RfUm02OTFMVGViS2ZZMlprS1NtSS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNb25vJyksIGxvY2FsKCdSb2JvdG9Nb25vLVJlZ3VsYXInKSwgdXJsKC9mb250LXJvYm90by9oTXFQTkxzdV9keXdNYTRDX0RFcFkxQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8nKSwgbG9jYWwoJ1JvYm90b01vbm8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL2hNcVBOTHN1X2R5d01hNENfREVwWTRncDlROGdiWXJocUdsUmF2X0lYZmsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIyMTIsIFUrMjIxNTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZNkU4a000eFdSMV8xYllVUlJvalJHYy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8nKSwgbG9jYWwoJ1JvYm90b01vbm8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL2hNcVBOTHN1X2R5d01hNENfREVwWTlEaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubyBCb2xkJyksIGxvY2FsKCdSb2JvdG9Nb25vLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9ONGR1VmM5QzU4dXdQaVk4XzU5RnoxeC1NMUkxdzVPTWlxblZGOHhCTGhVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNb25vIEJvbGQnKSwgbG9jYWwoJ1JvYm90b01vbm8tQm9sZCcpLCB1cmwoL2ZvbnQtcm9ib3RvL040ZHVWYzlDNTh1d1BpWThfNTlGendYYUFYdXA1bVpsZks2eFJMcmhzY28ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvTW9uby1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vTjRkdVZjOUM1OHV3UGlZOF81OUZ6d242V3F4by14d3hpbERYUFU4Y2hWVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNb25vIEJvbGQnKSwgbG9jYWwoJ1JvYm90b01vbm8tQm9sZCcpLCB1cmwoL2ZvbnQtcm9ib3RvL040ZHVWYzlDNTh1d1BpWThfNTlGejFUN2FKTEs2bktwbjM2SU13VGNNTWMud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubyBCb2xkJyksIGxvY2FsKCdSb2JvdG9Nb25vLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9ONGR1VmM5QzU4dXdQaVk4XzU5RnpfNzlfWnVVeENpZ00yRGVzcFRuRmF3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMjAwMC0yMDZGLCBVKzIwNzQsIFUrMjBBQywgVSsyMjEyLCBVKzIyMTU7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvTW9uby1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vTjRkdVZjOUM1OHV3UGlZOF81OUZ6NGdkOU9FUFVDTjNBZFlXMGU4dGF0NC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvTW9uby1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vTjRkdVZjOUM1OHV3UGlZOF81OUZ6OGJJUVNZWm5XTGFXQzlRTkNwVEtfVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Cjwvc3R5bGU+CgoKPHN0eWxlPgogIGh0bWwsCiAgYm9keSB7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwOwogICAgaGVpZ2h0OiAxMDAlOwogICAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjsKICB9Cjwvc3R5bGU+CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo8c3R5bGUgaXM9ImN1c3RvbS1zdHlsZSI+CiAgOnJvb3QgewogICAgLS10Yi1vcmFuZ2Utd2VhazogI2ZmYTcyNjsKICAgIC0tdGItb3JhbmdlLXN0cm9uZzogI2Y1N2MwMDsKICAgIC0tdGItb3JhbmdlLWRhcms6ICNkYzczMjA7CiAgICAtLXRiLWdyZXktZGFya2VyOiAjZTJlMmUyOwogICAgLS10Yi1ncmV5LWxpZ2h0ZXI6ICNmM2YzZjM7CiAgICAtLXRiLXVpLWRhcmstYWNjZW50OiAjNzU3NTc1OwogICAgLS10Yi11aS1saWdodC1hY2NlbnQ6ICNlMGUwZTA7CiAgICAtLXRiLWdyYXBoLWZhZGVkOiAjZTBkNGIzOwogIH0KPC9zdHlsZT4KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKPHN0eWxlPgoucGxvdHRhYmxlLWNvbG9ycy0wIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTI3OWM3OyAvKiBJTkRJR08gKi8KfQoKLnBsb3R0YWJsZS1jb2xvcnMtMSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkMzczZTsgLyogQ09SQUxfUkVEICovCn0KCi5wbG90dGFibGUtY29sb3JzLTIgewogIGJhY2tncm91bmQtY29sb3I6ICM2M2MyNjE7IC8qIEZFUk4gKi8KfQoKLnBsb3R0YWJsZS1jb2xvcnMtMyB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZDQxOTsgLyogQlJJR0hUX1NVTiAqLwp9CgoucGxvdHRhYmxlLWNvbG9ycy00IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyYjZmOyAvKiBKQUNBUlRBICovCn0KCi5wbG90dGFibGUtY29sb3JzLTUgewogIGJhY2tncm91bmQtY29sb3I6ICNmZjc5Mzk7IC8qIEJVUk5JTkdfT1JBTkdFICovCn0KCi5wbG90dGFibGUtY29sb3JzLTYgewogIGJhY2tncm91bmQtY29sb3I6ICNkYjJlNjU7IC8qIENFUklTRV9SRUQgKi8KfQoKLnBsb3R0YWJsZS1jb2xvcnMtNyB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzk5Y2U1MDsgLyogQ09OSUZFUiAqLwp9CgoucGxvdHRhYmxlLWNvbG9ycy04IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTYyNTY1OyAvKiBST1lBTF9IRUFUSCAqLwp9CgoucGxvdHRhYmxlLWNvbG9ycy05IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDZjY2NjOyAvKiBST0JJTlNfRUdHX0JMVUUgKi8KfQoKLyoqCiAqIFVzZXItc3VwcGxpZWQgcmVuZGVyVG8gZWxlbWVudC4KICovCi5wbG90dGFibGUgewogIGRpc3BsYXk6IGJsb2NrOyAvKiBtdXN0IGJlIGJsb2NrIGVsZW1lbnRzIGZvciB3aWR0aC9oZWlnaHQgY2FsY3VsYXRpb25zIHRvIHdvcmsgaW4gRmlyZWZveC4gKi8KICBwb2ludGVyLWV2ZW50czogdmlzaWJsZUZpbGw7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIC8qKgogICAqIFByZSAzLjAsIHVzZXJzIGNvdWxkIHNldCB0aGUgZGltZW5zaW9uIG9mIHRoZSByb290IGVsZW1lbnQgaW4gdHdvIHdheXM6IGVpdGhlciB1c2luZyBDU1MKICAgKiAoaW5saW5lIG9yIHRocm91Z2ggYSBzdHlsZXNoZWV0KSwgb3IgdXNpbmcgdGhlIFNWRyB3aWR0aC9oZWlnaHQgYXR0cmlidXRlcy4gQnkgZGVmYXVsdCwgd2UKICAgKiBzZXQgdGhlIFNWRyB3aWR0aC9oZWlnaHQgYXR0cmlidXRlcyB0byAxMDAlLgogICAqCiAgICogUG9zdCAzLjAgdGhlIHJvb3QgZWxlbWVudCBpcyBhbHdheXMgYSBub3JtYWwgZGl2IGFuZCB0aGUgb25seSB3YXkgdG8gc2V0IHRoZSBkaW1lbnNpb25zIGlzCiAgICogdG8gdXNlIENTUy4gVG8gcmVwbGljYXRlIHRoZSAiMTAwJS1ieS1kZWZhdWx0IiBiZWhhdmlvciwgd2UgYXBwbHkgd2lkdGgvaGVpZ2h0IDEwMCUuCiAgICovCiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwp9CgovKioKICogVGhlIF9lbGVtZW50IHRoYXQgcm9vdHMgZWFjaCBDb21wb25lbnQncyBET00uCiAqLwoucGxvdHRhYmxlIC5jb21wb25lbnQgewogIC8qIEFsbG93IGNvbXBvbmVudHMgdG8gYmUgcG9zaXRpb25lZCB3aXRoIGV4cGxpY2l0IGxlZnQvdG9wL3dpZHRoL2hlaWdodCBzdHlsZXMgKi8KICBwb3NpdGlvbjogYWJzb2x1dGU7Cn0KCi5wbG90dGFibGUgLmJhY2tncm91bmQtY29udGFpbmVyLAoucGxvdHRhYmxlIC5jb250ZW50LAoucGxvdHRhYmxlIC5mb3JlZ3JvdW5kLWNvbnRhaW5lciB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKfQoKLyoqCiAqIERvbid0IGFsbG93IHN2ZyBlbGVtZW50cyBhYm92ZSB0aGUgY29udGVudCB0byBzdGVhbCBldmVudHMKICovCi5wbG90dGFibGUgLmZvcmVncm91bmQtY29udGFpbmVyIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLnBsb3R0YWJsZSAuY29tcG9uZW50LW92ZXJmbG93LWhpZGRlbiB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLnBsb3R0YWJsZSAuY29tcG9uZW50LW92ZXJmbG93LXZpc2libGUgewogIG92ZXJmbG93OiB2aXNpYmxlOwp9CgoucGxvdHRhYmxlIC5wbG90LWNhbnZhcy1jb250YWluZXIgewogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKICBvdmVyZmxvdzogaGlkZGVuOwp9CgoucGxvdHRhYmxlIC5wbG90LWNhbnZhcyB7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIC8qKgogICAqIFBsYXkgd2VsbCB3aXRoIGRlZmVycmVkIHJlbmRlcmluZy4KICAgKi8KICB0cmFuc2Zvcm0tb3JpZ2luOiAwcHggMHB4IDBweDsKfQoKLnBsb3R0YWJsZSB0ZXh0IHsKICB0ZXh0LXJlbmRlcmluZzogZ2VvbWV0cmljUHJlY2lzaW9uOwp9CgoucGxvdHRhYmxlIC5sYWJlbCB0ZXh0IHsKICBmb250LWZhbWlseTogIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjsKICBmaWxsOiAjMzIzMTNGOwp9CgoucGxvdHRhYmxlIC5iYXItbGFiZWwtdGV4dC1hcmVhIHRleHQgewogIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTJweDsKfQoKLnBsb3R0YWJsZSAubGFiZWwtYXJlYSB0ZXh0IHsKICBmaWxsOiAjMzIzMTNGOwogIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTRweDsKfQoKLnBsb3R0YWJsZSAubGlnaHQtbGFiZWwgdGV4dCB7CiAgZmlsbDogd2hpdGU7Cn0KCi5wbG90dGFibGUgLmRhcmstbGFiZWwgdGV4dCB7CiAgZmlsbDogIzMyMzEzRjsKfQoKLnBsb3R0YWJsZSAub2ZmLWJhci1sYWJlbCB0ZXh0IHsKICBmaWxsOiAjMzIzMTNGOwp9CgoucGxvdHRhYmxlIC5zdGFja2VkLWJhci1sYWJlbCB0ZXh0IHsKICBmaWxsOiAjMzIzMTNGOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKfQoKLnBsb3R0YWJsZSAuc3RhY2tlZC1iYXItcGxvdCAub2ZmLWJhci1sYWJlbCB7CiAgLyogSEFDS0hBQ0sgIzI3OTU6IGNvcnJlY3Qgb2ZmLWJhciBsYWJlbCBsb2dpYyB0byBiZSBpbXBsZW1lbnRlZCBvbiBTdGFja2VkQmFyICovCiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7Cn0KCi5wbG90dGFibGUgLmF4aXMtbGFiZWwgdGV4dCB7CiAgZm9udC1zaXplOiAxMHB4OwogIGZvbnQtd2VpZ2h0OiBib2xkOwogIGxldHRlci1zcGFjaW5nOiAxcHg7CiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoucGxvdHRhYmxlIC50aXRsZS1sYWJlbCB0ZXh0IHsKICBmb250LXNpemU6IDIwcHg7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7Cn0KCi5wbG90dGFibGUgLmF4aXMgbGluZS5iYXNlbGluZSB7CiAgc3Ryb2tlOiAjQ0NDOwogIHN0cm9rZS13aWR0aDogMXB4Owp9CgoucGxvdHRhYmxlIC5heGlzIGxpbmUudGljay1tYXJrIHsKICBzdHJva2U6ICNDQ0M7CiAgc3Ryb2tlLXdpZHRoOiAxcHg7Cn0KCi5wbG90dGFibGUgLmF4aXMgdGV4dCB7CiAgZmlsbDogIzMyMzEzRjsKICBmb250LWZhbWlseTogIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjsKICBmb250LXNpemU6IDEycHg7CiAgZm9udC13ZWlnaHQ6IDIwMDsKICBsaW5lLWhlaWdodDogbm9ybWFsOwp9CgoucGxvdHRhYmxlIC5heGlzIC5hbm5vdGF0aW9uLWNpcmNsZSB7CiAgZmlsbDogd2hpdGU7CiAgc3Ryb2tlLXdpZHRoOiAxcHg7CiAgc3Ryb2tlOiAjQ0NDOwp9CgoucGxvdHRhYmxlIC5heGlzIC5hbm5vdGF0aW9uLWxpbmUgewogIHN0cm9rZTogI0NDQzsKICBzdHJva2Utd2lkdGg6IDFweDsKfQoKLnBsb3R0YWJsZSAuYXhpcyAuYW5ub3RhdGlvbi1yZWN0IHsKICBzdHJva2U6ICNDQ0M7CiAgc3Ryb2tlLXdpZHRoOiAxcHg7CiAgZmlsbDogd2hpdGU7Cn0KCi5wbG90dGFibGUgLmJhci1wbG90IC5iYXNlbGluZSB7CiAgc3Ryb2tlOiAjOTk5Owp9CgoucGxvdHRhYmxlIC5ncmlkbGluZXMgbGluZSB7CiAgc3Ryb2tlOiAjM0MzQzNDOyAvKiBoYWNraGFjazogZ3JpZGxpbmVzIHNob3VsZCBiZSBzb2xpZDsgc2VlICM4MjAgKi8KICBvcGFjaXR5OiAwLjI1OwogIHN0cm9rZS13aWR0aDogMXB4Owp9CgoucGxvdHRhYmxlIC5zZWxlY3Rpb24tYm94LWxheWVyIC5zZWxlY3Rpb24tYXJlYSB7CiAgZmlsbDogYmxhY2s7CiAgZmlsbC1vcGFjaXR5OiAwLjAzOwogIHN0cm9rZTogI0NDQzsKfQovKiBEcmFnQm94TGF5ZXIgKi8KLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIueC1yZXNpemFibGUgLmRyYWctZWRnZS1sciB7CiAgY3Vyc29yOiBldy1yZXNpemU7Cn0KLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIueS1yZXNpemFibGUgLmRyYWctZWRnZS10YiB7CiAgY3Vyc29yOiBucy1yZXNpemU7Cn0KCi5wbG90dGFibGUgLmRyYWctYm94LWxheWVyLngtcmVzaXphYmxlLnktcmVzaXphYmxlIC5kcmFnLWNvcm5lci10bCB7CiAgY3Vyc29yOiBud3NlLXJlc2l6ZTsKfQoucGxvdHRhYmxlIC5kcmFnLWJveC1sYXllci54LXJlc2l6YWJsZS55LXJlc2l6YWJsZSAuZHJhZy1jb3JuZXItdHIgewogIGN1cnNvcjogbmVzdy1yZXNpemU7Cn0KLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIueC1yZXNpemFibGUueS1yZXNpemFibGUgLmRyYWctY29ybmVyLWJsIHsKICBjdXJzb3I6IG5lc3ctcmVzaXplOwp9Ci5wbG90dGFibGUgLmRyYWctYm94LWxheWVyLngtcmVzaXphYmxlLnktcmVzaXphYmxlIC5kcmFnLWNvcm5lci1iciB7CiAgY3Vyc29yOiBud3NlLXJlc2l6ZTsKfQoKLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIubW92YWJsZSAuc2VsZWN0aW9uLWFyZWEgewogIGN1cnNvcjogbW92ZTsgLyogSUUgZmFsbGJhY2sgKi8KICBjdXJzb3I6IC1tb3otZ3JhYjsKICBjdXJzb3I6IC13ZWJraXQtZ3JhYjsKICBjdXJzb3I6IGdyYWI7Cn0KCi5wbG90dGFibGUgLmRyYWctYm94LWxheWVyLm1vdmFibGUgLnNlbGVjdGlvbi1hcmVhOmFjdGl2ZSB7CiAgY3Vyc29yOiAtbW96LWdyYWJiaW5nOwogIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZzsKICBjdXJzb3I6IGdyYWJiaW5nOwp9Ci8qIC9EcmFnQm94TGF5ZXIgKi8KCi5wbG90dGFibGUgLmd1aWRlLWxpbmUtbGF5ZXIgbGluZS5ndWlkZS1saW5lIHsKICBzdHJva2U6ICNDQ0M7CiAgc3Ryb2tlLXdpZHRoOiAxcHg7Cn0KCi5wbG90dGFibGUgLmRyYWctbGluZS1sYXllci5lbmFibGVkLnZlcnRpY2FsIGxpbmUuZHJhZy1lZGdlIHsKICBjdXJzb3I6IGV3LXJlc2l6ZTsKfQoKLnBsb3R0YWJsZSAuZHJhZy1saW5lLWxheWVyLmVuYWJsZWQuaG9yaXpvbnRhbCBsaW5lLmRyYWctZWRnZSB7CiAgY3Vyc29yOiBucy1yZXNpemU7Cn0KCi5wbG90dGFibGUgLmxlZ2VuZCB0ZXh0IHsKICBmaWxsOiAjMzIzMTNGOwogIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTJweDsKICBmb250LXdlaWdodDogYm9sZDsKICBsaW5lLWhlaWdodDogbm9ybWFsOwp9CgoucGxvdHRhYmxlIC5pbnRlcnBvbGF0ZWQtY29sb3ItbGVnZW5kIHJlY3Quc3dhdGNoLWJvdW5kaW5nLWJveCB7CiAgZmlsbDogbm9uZTsKICBzdHJva2U6ICNDQ0M7CiAgc3Ryb2tlLXdpZHRoOiAxcHg7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KCi5wbG90dGFibGUgLndhdGVyZmFsbC1wbG90IGxpbmUuY29ubmVjdG9yIHsKICBzdHJva2U6ICNDQ0M7CiAgc3Ryb2tlLXdpZHRoOiAxcHg7Cn0KCi5wbG90dGFibGUgLnBpZS1wbG90IC5hcmMub3V0bGluZSB7CiAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDsKfQo8L3N0eWxlPgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCjxzdHlsZT4vKiBDb3B5cmlnaHQgMjAxOSBUaGUgVGVuc29yRmxvdyBBdXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgpTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLnRlbnNvci13aWRnZXQgewogIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgZm9udC1zaXplOiAxNHB4OwogIG92ZXJmbG93LXg6IGhpZGRlbjsKICBvdmVyZmxvdy15OiBoaWRkZW47CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgoudGVuc29yLXdpZGdldC1kaW0gewogIGJvcmRlcjogMXB4IHNvbGlkIHJnYigxNjAsIDE2MCwgMTYwKTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZm9udC1zaXplOiAxMnB4OwogIGhlaWdodDogMTRweDsKICBsaW5lLWhlaWdodDogMTRweDsKICBtYXJnaW4tbGVmdDogMTVweDsKICBtYXJnaW4tcmlnaHQ6IDE1cHg7CiAgcGFkZGluZzogMnB4Owp9CgoudGVuc29yLXdpZGdldC1kaW0tY29tbWEgewogIGNvbG9yOiByZ2IoMTI4LCAxMjgsIDEyOCk7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtc2l6ZTogMTJweDsKICBoZWlnaHQ6IDE0cHg7CiAgbGluZS1oZWlnaHQ6IDE0cHg7Cn0KCi50ZW5zb3Itd2lkZ2V0LWRpbS1oaWdobGlnaHRlZCB7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiKDEwMCwgMTgwLCAyNTUpOwogIGZvbnQtd2VpZ2h0OiBib2xkOwp9CgoudGVuc29yLXdpZGdldC1kaW0tYnJhY2tldHMgewogIGNvbG9yOiByZ2IoMTI4LCAxMjgsIDEyOCk7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtc2l6ZTogOHB0Owp9CgoudGVuc29yLXdpZGdldC1kaW0tZHJvcGRvd24gewogIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsKICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMTI4LCAxMjgsIDEyOCk7CiAgYm94LXNoYWRvdzogMnB4IDJweCAycHggI2IwYjBiMDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgd2lkdGg6IDE4MHB4OwogIHotaW5kZXg6IDEwMDA7Cn0KCi50ZW5zb3Itd2lkZ2V0LWRpbS1kcm9wZG93bi1tZW51LWl0ZW0gewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2IoMTgwLCAxODAsIDE4MCk7CiAgZm9udC1zaXplOiAxMnB4OwogIHBhZGRpbmc6IDNweDsKICB1c2VyLXNlbGVjdDogbm9uZTsKfQoKLnRlbnNvci13aWRnZXQtZGltLWRyb3Bkb3duLW1lbnUtaXRlbS1hY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYigxMDAsIDE4MCwgMjU1KTsKfQoKLnRlbnNvci13aWRnZXQtZGltLWRyb3Bkb3duLW1lbnUtaXRlbS1kaXNhYmxlZCB7CiAgY29sb3I6IHJnYigxMjgsIDEyOCwgMTI4KTsKfQoKLnRlbnNvci13aWRnZXQtZHR5cGUgewogIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICBjb2xvcjogcmdiKDYwLCA2MCwgNjApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXNpemU6IDhwdDsKICBoZWlnaHQ6IDQ4cHg7CiAgbGluZS1oZWlnaHQ6IDIycHg7CiAgbWF4LWhlaWdodDogMjJweDsKICBwYWRkaW5nLWxlZnQ6IDE0cHg7CiAgcGFkZGluZy1yaWdodDogMTBweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoKLnRlbnNvci13aWRnZXQtZHR5cGUtbGFiZWwgewogIGNvbG9yOiByZ2IoMTI4LCAxMjgsIDEyOCk7Cn0KCi50ZW5zb3Itd2lkZ2V0LWhlYWRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1MiwgMjUyLCAyNTIpOwogIGJveC1zaGFkb3c6IDJweCAycHggMnB4ICNiMGIwYjA7CiAgaGVpZ2h0OiA0MHB4OwogIGxpbmUtaGVpZ2h0OiA0MHB4OwogIG1heC1oZWlnaHQ6IDQwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgd2lkdGg6IDEwMCU7Cn0KCi50ZW5zb3Itd2lkZ2V0LWluZm8gewogIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICBjb2xvcjogcmdiKDAsIDAsIDI1NSk7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtc2l6ZTogOHB0OwogIGhlaWdodDogMjJweDsKICBsaW5lLWhlaWdodDogMjJweDsKICBtYXJnaW4tbGVmdDogOHB4OwogIG1heC1oZWlnaHQ6IDIycHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KCi50ZW5zb3Itd2lkZ2V0LW1lbnUtdGh1bWIgewogIGNvbG9yOiByZ2IoMzIsIDMzLCAzNik7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXdlaWdodDogYm9sZDsKICBmb250LXNpemU6IDE2cHg7CiAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgbWFyZ2luLXJpZ2h0OiA1cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHVzZXItc2VsZWN0OiBub25lOwp9CgoudGVuc29yLXdpZGdldC1tZW51LXRodW1iOmhvdmVyIHsKICBjb2xvcjogcmdiKDIyNywgMTE2LCAwKTsKfQoKLnRlbnNvci13aWRnZXQtc2hhcGUgewogIGNvbG9yOiByZ2IoNjAsIDYwLCA2MCk7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIG1hcmdpbi1sZWZ0OiAxMnB4Owp9CgoudGVuc29yLXdpZGdldC1zaGFwZS1sYWJlbCB7CiAgY29sb3I6IHJnYigxMjgsIDEyOCwgMTI4KTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KCi50ZW5zb3Itd2lkZ2V0LXNoYXBlLXZhbHVlIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KCi50ZW5zb3Itd2lkZ2V0LXNsaWNpbmctZ3JvdXAgewogIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTAsIDI1MCwgMjUwKTsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKDE5MCwgMTkwLCAxOTApOwogIGRpc3BsYXk6IGJsb2NrOwogIGhlaWdodDogMThweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgcGFkZGluZy1ib3R0b206IDVweDsKICBwYWRkaW5nLXRvcDogNXB4Owp9CgoudGVuc29yLXdpZGdldC10ZW5zb3ItbmFtZSB7CiAgY29sb3I6IGJsYWNrOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXdlaWdodDogYm9sZDsKfQoKLnRlbnNvci13aWRnZXQtbGVmdC1ydWxlci10aWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ydWxlci1iYWNrZ3JvdW5kLWNvbG9yKTsKICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItc3R5bGUpOwogIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci1zdHlsZSk7CiAgYm94LXNoYWRvdzogdmFyKC0tYm9yZGVyLXN0eWxlKTsKICBjb2xvcjogcmdiKDExMCwgMTEwLCAxMTApOwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZm9udC1zaXplOiAxMnB4OwogIGhlaWdodDogMjlweDsKICBsaW5lLWhlaWdodDogMjlweDsKICBtYXJnaW4tbGVmdDogMHB4OwogIG1heC13aWR0aDogNDVweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aWR0aDogNDVweDsKfQoKLnRlbnNvci13aWRnZXQtdG9wLXJ1bGVyIHsKICBoZWlnaHQ6IDI0cHg7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKLnRlbnNvci13aWRnZXQtdmFsdWUtdG9vbHRpcCB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MCwgMjQwLCAyNDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYigxNjAsIDE2MCwgMTYwKTsKICBib3gtc2hhZG93OiAxcHggMXB4IDFweCAjYjBiMGIwOwogIGRpc3BsYXk6IG5vbmU7CiAgZm9udC1zaXplOiAxM3B4OwogIHBhZGRpbmc6IDVweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgd2lkdGg6IDI0MHB4Owp9CgoudGVuc29yLXdpZGdldC12YWx1ZS10b29sdGlwLWNvbG9yYmFyIHsKICBoZWlnaHQ6IDI0cHg7CiAgd2lkdGg6IDk1JTsKfQoKLnRlbnNvci13aWRnZXQtdmFsdWUtdG9vbHRpcC1pbmRpY2VzIHsKICBmb250LXdlaWdodDogYm9sZDsKfQoKLnRlbnNvci13aWRnZXQtdmFsdWUtdG9vbHRpcC12YWx1ZSB7CiAgbWFyZ2luLXRvcDogMjBweDsKfQoKLnRlbnNvci13aWRnZXQtdG9wLXJ1bGVyLXRpY2sgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1bGVyLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci1zdHlsZSk7CiAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1ib3JkZXItc3R5bGUpOwogIGNvbG9yOiByZ2IoMTEwLCAxMTAsIDExMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXNpemU6IDEycHg7CiAgaGVpZ2h0OiAyNHB4OwogIGxpbmUtaGVpZ2h0OiAyNHB4OwogIHBhZGRpbmctcmlnaHQ6IDJweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aWR0aDogNDVweDsKfQoKLnRlbnNvci13aWRnZXQtdmFsdWUtZGl2IHsKICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItc3R5bGUpOwogIGJvcmRlci1yaWdodDogdmFyKC0tYm9yZGVyLXN0eWxlKTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtc2l6ZTogODAlOwogIGhlaWdodDogMjRweDsKICBsaW5lLWhlaWdodDogMjRweDsKICBtYXgtd2lkdGg6IDQ1cHg7CiAgcGFkZGluZy1yaWdodDogMnB4OwogIHRleHQtYWxpZ246IHJpZ2h0OwogIHVzZXItc2VsZWN0OiBub25lOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgd2lkdGg6IDQ1cHg7Cn0KCi50ZW5zb3Itd2lkZ2V0LXZhbHVlLWRpdi1zZWxlY3Rpb24gewogIGZvbnQtd2VpZ2h0OiBib2xkOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS1kaXYtc2VsZWN0aW9uLWJvdHRvbSB7CiAgYm9yZGVyLWJvdHRvbTogMC41cHggc29saWQgYmx1ZTsKfQoKLnRlbnNvci13aWRnZXQtdmFsdWUtZGl2LXNlbGVjdGlvbi1sZWZ0IHsKICBib3JkZXItbGVmdDogMC41cHggc29saWQgYmx1ZTsKfQoKLnRlbnNvci13aWRnZXQtdmFsdWUtZGl2LXNlbGVjdGlvbi1yaWdodCB7CiAgYm9yZGVyLXJpZ2h0OiAwLjVweCBzb2xpZCBibHVlOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS1kaXYtc2VsZWN0aW9uLXRvcCB7CiAgYm9yZGVyLXRvcDogMC41cHggc29saWQgYmx1ZTsKfQoKLnRlbnNvci13aWRnZXQtdmFsdWUtc2VjdGlvbiB7CiAgLS1ib3JkZXItc3R5bGU6IDFweCBzb2xpZCByZ2IoMTQwLCAxNDAsIDE0MCk7CiAgLS1ydWxlci1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjEwLCAyMTAsIDIxMCk7CiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lOwogIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsKICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS1yb3cgewogIGhlaWdodDogMjVweDsKICBsaW5lLWhlaWdodDogMjVweDsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Cjwvc3R5bGU+CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKICA8L2hlYWQ+PGJvZHk+PGN1c3RvbS1zdHlsZT4KICA8c3R5bGUgaXM9ImN1c3RvbS1zdHlsZSI+CiAgICBbaGlkZGVuXSB7CiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KICA8L3N0eWxlPgo8L2N1c3RvbS1zdHlsZT48Y3VzdG9tLXN0eWxlPgogIDxzdHlsZSBpcz0iY3VzdG9tLXN0eWxlIj4KICAgIGh0bWwgewoKICAgICAgLS1sYXlvdXQ6IHsKICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWlubGluZTogewogICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtaG9yaXpvbnRhbDogewogICAgICAgIEBhcHBseSAtLWxheW91dDsKCiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgIH07CgogICAgICAtLWxheW91dC1ob3Jpem9udGFsLXJldmVyc2U6IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQ7CgogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtdmVydGljYWw6IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQ7CgogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtdmVydGljYWwtcmV2ZXJzZTogewogICAgICAgIEBhcHBseSAtLWxheW91dDsKCiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7CiAgICAgIH07CgogICAgICAtLWxheW91dC13cmFwOiB7CiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH07CgogICAgICAtLWxheW91dC13cmFwLXJldmVyc2U6IHsKICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2U7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsKICAgICAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtYXV0bzogewogICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bzsKICAgICAgICAtd2Via2l0LWZsZXg6IDEgMSBhdXRvOwogICAgICAgIGZsZXg6IDEgMSBhdXRvOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZmxleC1ub25lOiB7CiAgICAgICAgLW1zLWZsZXg6IG5vbmU7CiAgICAgICAgLXdlYmtpdC1mbGV4OiBub25lOwogICAgICAgIGZsZXg6IG5vbmU7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4OiB7CiAgICAgICAgLW1zLWZsZXg6IDEgMSAwLjAwMDAwMDAwMXB4OwogICAgICAgIC13ZWJraXQtZmxleDogMTsKICAgICAgICBmbGV4OiAxOwogICAgICAgIC13ZWJraXQtZmxleC1iYXNpczogMC4wMDAwMDAwMDFweDsKICAgICAgICBmbGV4LWJhc2lzOiAwLjAwMDAwMDAwMXB4OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZmxleC0yOiB7CiAgICAgICAgLW1zLWZsZXg6IDI7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAyOwogICAgICAgIGZsZXg6IDI7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LTM6IHsKICAgICAgICAtbXMtZmxleDogMzsKICAgICAgICAtd2Via2l0LWZsZXg6IDM7CiAgICAgICAgZmxleDogMzsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtNDogewogICAgICAgIC1tcy1mbGV4OiA0OwogICAgICAgIC13ZWJraXQtZmxleDogNDsKICAgICAgICBmbGV4OiA0OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZmxleC01OiB7CiAgICAgICAgLW1zLWZsZXg6IDU7CiAgICAgICAgLXdlYmtpdC1mbGV4OiA1OwogICAgICAgIGZsZXg6IDU7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LTY6IHsKICAgICAgICAtbXMtZmxleDogNjsKICAgICAgICAtd2Via2l0LWZsZXg6IDY7CiAgICAgICAgZmxleDogNjsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtNzogewogICAgICAgIC1tcy1mbGV4OiA3OwogICAgICAgIC13ZWJraXQtZmxleDogNzsKICAgICAgICBmbGV4OiA3OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZmxleC04OiB7CiAgICAgICAgLW1zLWZsZXg6IDg7CiAgICAgICAgLXdlYmtpdC1mbGV4OiA4OwogICAgICAgIGZsZXg6IDg7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LTk6IHsKICAgICAgICAtbXMtZmxleDogOTsKICAgICAgICAtd2Via2l0LWZsZXg6IDk7CiAgICAgICAgZmxleDogOTsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtMTA6IHsKICAgICAgICAtbXMtZmxleDogMTA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxMDsKICAgICAgICBmbGV4OiAxMDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtMTE6IHsKICAgICAgICAtbXMtZmxleDogMTE7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxMTsKICAgICAgICBmbGV4OiAxMTsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtMTI6IHsKICAgICAgICAtbXMtZmxleDogMTI7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxMjsKICAgICAgICBmbGV4OiAxMjsKICAgICAgfTsKCiAgICAgIC8qIGFsaWdubWVudCBpbiBjcm9zcyBheGlzICovCgogICAgICAtLWxheW91dC1zdGFydDogewogICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtY2VudGVyOiB7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWVuZDogewogICAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtYmFzZWxpbmU6IHsKICAgICAgICAtbXMtZmxleC1hbGlnbjogYmFzZWxpbmU7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICB9OwoKICAgICAgLyogYWxpZ25tZW50IGluIG1haW4gYXhpcyAqLwoKICAgICAgLS1sYXlvdXQtc3RhcnQtanVzdGlmaWVkOiB7CiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtY2VudGVyLWp1c3RpZmllZDogewogICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZW5kLWp1c3RpZmllZDogewogICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWFyb3VuZC1qdXN0aWZpZWQ6IHsKICAgICAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlOwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgICAgIH07CgogICAgICAtLWxheW91dC1qdXN0aWZpZWQ6IHsKICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWNlbnRlci1jZW50ZXI6IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyOwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXItanVzdGlmaWVkOwogICAgICB9OwoKICAgICAgLyogc2VsZiBhbGlnbm1lbnQgKi8KCiAgICAgIC0tbGF5b3V0LXNlbGYtc3RhcnQ6IHsKICAgICAgICAtbXMtYWxpZ24tc2VsZjogZmxleC1zdGFydDsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7CiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LXNlbGYtY2VudGVyOiB7CiAgICAgICAgLW1zLWFsaWduLXNlbGY6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGNlbnRlcjsKICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgIH07CgogICAgICAtLWxheW91dC1zZWxmLWVuZDogewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBmbGV4LWVuZDsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtc2VsZi1zdHJldGNoOiB7CiAgICAgICAgLW1zLWFsaWduLXNlbGY6IHN0cmV0Y2g7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBzdHJldGNoOwogICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7CiAgICAgIH07CgogICAgICAtLWxheW91dC1zZWxmLWJhc2VsaW5lOiB7CiAgICAgICAgLW1zLWFsaWduLXNlbGY6IGJhc2VsaW5lOwogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogYmFzZWxpbmU7CiAgICAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmU7CiAgICAgIH07CgogICAgICAvKiBtdWx0aS1saW5lIGFsaWdubWVudCBpbiBtYWluIGF4aXMgKi8KCiAgICAgIC0tbGF5b3V0LXN0YXJ0LWFsaWduZWQ6IHsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0OyAgLyogSUUxMCAqLwogICAgICAgIC1tcy1hbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogZmxleC1zdGFydDsKICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZW5kLWFsaWduZWQ6IHsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZDsgIC8qIElFMTAgKi8KICAgICAgICAtbXMtYWxpZ24tY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWNlbnRlci1hbGlnbmVkOiB7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXI7ICAvKiBJRTEwICovCiAgICAgICAgLW1zLWFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7CiAgICAgIH07CgogICAgICAtLWxheW91dC1iZXR3ZWVuLWFsaWduZWQ6IHsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnk7ICAvKiBJRTEwICovCiAgICAgICAgLW1zLWFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIH07CgogICAgICAtLWxheW91dC1hcm91bmQtYWxpZ25lZDogewogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZTsgIC8qIElFMTAgKi8KICAgICAgICAtbXMtYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOwogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOwogICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsKICAgICAgfTsKCiAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICAgICAgICAgICAgICBPdGhlciBMYXlvdXQKICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiAgICAgIC0tbGF5b3V0LWJsb2NrOiB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH07CgogICAgICAtLWxheW91dC1pbnZpc2libGU6IHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LXJlbGF0aXZlOiB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZml0OiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LXNjcm9sbDogewogICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZ1bGxibGVlZDogewogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICB9OwoKICAgICAgLyogZml4ZWQgcG9zaXRpb24gKi8KCiAgICAgIC0tbGF5b3V0LWZpeGVkLXRvcDogewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZpeGVkLXJpZ2h0OiB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH07CgogICAgICAtLWxheW91dC1maXhlZC1ib3R0b206IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH07CgogICAgICAtLWxheW91dC1maXhlZC1sZWZ0OiB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgfTsKCiAgICB9CiAgPC9zdHlsZT4KPC9jdXN0b20tc3R5bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXJpcHBsZSI+CgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwoKICAgICAgICAvKiBTZWUgUG9seW1lckVsZW1lbnRzL3BhcGVyLWJlaGF2aW9ycy9pc3N1ZXMvMzQuIE9uIG5vbi1DaHJvbWUgYnJvd3NlcnMsCiAgICAgICAgICogY3JlYXRpbmcgYSBub2RlICh3aXRoIGEgcG9zaXRpb246YWJzb2x1dGUpIGluIHRoZSBtaWRkbGUgb2YgYW4gZXZlbnQKICAgICAgICAgKiBoYW5kbGVyICJpbnRlcnJ1cHRzIiB0aGF0IGV2ZW50IGhhbmRsZXIgKHdoaWNoIGhhcHBlbnMgd2hlbiB0aGUKICAgICAgICAgKiByaXBwbGUgaXMgY3JlYXRlZCBvbiBkZW1hbmQpICovCiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIDpob3N0KFthbmltYXRpbmddKSB7CiAgICAgICAgLyogVGhpcyByZXNvbHZlcyBhIHJlbmRlcmluZyBpc3N1ZSBpbiBDaHJvbWUgKGFzIG9mIDQwKSB3aGVyZSB0aGUKICAgICAgICAgICByaXBwbGUgaXMgbm90IHByb3Blcmx5IGNsaXBwZWQgYnkgaXRzIHBhcmVudCAod2hpY2ggbWF5IGhhdmUKICAgICAgICAgICByb3VuZGVkIGNvcm5lcnMpLiBTZWU6IGh0dHA6Ly9qc2Jpbi5jb20vdGVtZXhhLzQKCiAgICAgICAgICAgTm90ZTogV2Ugb25seSBhcHBseSB0aGlzIHN0eWxlIGNvbmRpdGlvbmFsbHkuIE90aGVyd2lzZSwgdGhlIGJyb3dzZXIKICAgICAgICAgICB3aWxsIGNyZWF0ZSBhIG5ldyBjb21wb3NpdGluZyBsYXllciBmb3IgZXZlcnkgcmlwcGxlIGVsZW1lbnQgb24gdGhlCiAgICAgICAgICAgcGFnZSwgYW5kIHRoYXQgd291bGQgYmUgYmFkLiAqLwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgICAgfQoKICAgICAgI2JhY2tncm91bmQsCiAgICAgICN3YXZlcywKICAgICAgLndhdmUtY29udGFpbmVyLAogICAgICAud2F2ZSB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgI2JhY2tncm91bmQsCiAgICAgIC53YXZlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAjd2F2ZXMsCiAgICAgIC53YXZlIHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAud2F2ZS1jb250YWluZXIsCiAgICAgIC53YXZlIHsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIDpob3N0KC5jaXJjbGUpICNiYWNrZ3JvdW5kLAogICAgICA6aG9zdCguY2lyY2xlKSAjd2F2ZXMgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgfQoKICAgICAgOmhvc3QoLmNpcmNsZSkgLndhdmUtY29udGFpbmVyIHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgaWQ9ImJhY2tncm91bmQiPjwvZGl2PgogICAgPGRpdiBpZD0id2F2ZXMiPjwvZGl2PgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48Y3VzdG9tLXN0eWxlPgogIDxzdHlsZSBpcz0iY3VzdG9tLXN0eWxlIj4KICAgIGh0bWwgewoKICAgICAgLS1zaGFkb3ctdHJhbnNpdGlvbjogewogICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4yOHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfTsKCiAgICAgIC0tc2hhZG93LW5vbmU6IHsKICAgICAgICBib3gtc2hhZG93OiBub25lOwogICAgICB9OwoKICAgICAgLyogZnJvbSBodHRwOi8vY29kZXBlbi5pby9zaHluZG1hbi9wZW4vYzUzOTRkZGYyZThiMmE1YzkxODU5MDRiNTc0MjFjZGIgKi8KCiAgICAgIC0tc2hhZG93LWVsZXZhdGlvbi0yZHA6IHsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLAogICAgICAgICAgICAgICAgICAgIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksCiAgICAgICAgICAgICAgICAgICAgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpOwogICAgICB9OwoKICAgICAgLS1zaGFkb3ctZWxldmF0aW9uLTNkcDogewogICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksCiAgICAgICAgICAgICAgICAgICAgMCAxcHggOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwKICAgICAgICAgICAgICAgICAgICAwIDNweCAzcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgICAgIH07CgogICAgICAtLXNoYWRvdy1lbGV2YXRpb24tNGRwOiB7CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwKICAgICAgICAgICAgICAgICAgICAwIDFweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwKICAgICAgICAgICAgICAgICAgICAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgICAgIH07CgogICAgICAtLXNoYWRvdy1lbGV2YXRpb24tNmRwOiB7CiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksCiAgICAgICAgICAgICAgICAgICAgMCAxcHggMThweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksCiAgICAgICAgICAgICAgICAgICAgMCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICB9OwoKICAgICAgLS1zaGFkb3ctZWxldmF0aW9uLThkcDogewogICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksCiAgICAgICAgICAgICAgICAgICAgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKSwKICAgICAgICAgICAgICAgICAgICAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgICAgIH07CgogICAgICAtLXNoYWRvdy1lbGV2YXRpb24tMTJkcDogewogICAgICAgIGJveC1zaGFkb3c6IDAgMTJweCAxNnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLAogICAgICAgICAgICAgICAgICAgIDAgNHB4IDIycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMiksCiAgICAgICAgICAgICAgICAgICAgMCA2cHggN3B4IC00cHggcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICB9OwoKICAgICAgLS1zaGFkb3ctZWxldmF0aW9uLTE2ZHA6IHsKICAgICAgICBib3gtc2hhZG93OiAwIDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwKICAgICAgICAgICAgICAgICAgICAwICA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKSwKICAgICAgICAgICAgICAgICAgICAwICA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC40KTsKICAgICAgfTsKCiAgICAgIC0tc2hhZG93LWVsZXZhdGlvbi0yNGRwOiB7CiAgICAgICAgYm94LXNoYWRvdzogMCAyNHB4IDM4cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksCiAgICAgICAgICAgICAgICAgICAgMCA5cHggNDZweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKSwKICAgICAgICAgICAgICAgICAgICAwIDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC40KTsKICAgICAgfTsKICAgIH0KICA8L3N0eWxlPgo8L2N1c3RvbS1zdHlsZT48ZG9tLW1vZHVsZSBpZD0icGFwZXItbWF0ZXJpYWwtc3R5bGVzIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0LCBodG1sIHsKICAgICAgICAtLXBhcGVyLW1hdGVyaWFsOiB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB9OwogICAgICAgIC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTE6IHsKICAgICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tMmRwOwogICAgICAgIH07CiAgICAgICAgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMjogewogICAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi00ZHA7CiAgICAgICAgfTsKICAgICAgICAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi0zOiB7CiAgICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLTZkcDsKICAgICAgICB9OwogICAgICAgIC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTQ6IHsKICAgICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tOGRwOwogICAgICAgIH07CiAgICAgICAgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tNTogewogICAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi0xNmRwOwogICAgICAgIH07CiAgICAgIH0KICAgICAgOmhvc3QoLnBhcGVyLW1hdGVyaWFsKSwgLnBhcGVyLW1hdGVyaWFsIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbDsKICAgICAgfQogICAgICA6aG9zdCgucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSIxIl0pLCAucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSIxIl0gewogICAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi0xOwogICAgICB9CiAgICAgIDpob3N0KC5wYXBlci1tYXRlcmlhbFtlbGV2YXRpb249IjIiXSksIC5wYXBlci1tYXRlcmlhbFtlbGV2YXRpb249IjIiXSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTI7CiAgICAgIH0KICAgICAgOmhvc3QoLnBhcGVyLW1hdGVyaWFsW2VsZXZhdGlvbj0iMyJdKSwgLnBhcGVyLW1hdGVyaWFsW2VsZXZhdGlvbj0iMyJdIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMzsKICAgICAgfQogICAgICA6aG9zdCgucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSI0Il0pLCAucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSI0Il0gewogICAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi00OwogICAgICB9CiAgICAgIDpob3N0KC5wYXBlci1tYXRlcmlhbFtlbGV2YXRpb249IjUiXSksIC5wYXBlci1tYXRlcmlhbFtlbGV2YXRpb249IjUiXSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJwYXBlci1idXR0b24iPgogIDx0ZW1wbGF0ZSBzdHJpcC13aGl0ZXNwYWNlPgogICAgPHN0eWxlIGluY2x1ZGU9InBhcGVyLW1hdGVyaWFsLXN0eWxlcyI+CiAgICAgIC8qIE5lZWQgdG8gc3BlY2lmeSB0aGUgc2FtZSBzcGVjaWZpY2l0eSBhcyB0aGUgc3R5bGVzIGltcG9ydGVkIGZyb20gcGFwZXItbWF0ZXJpYWwuICovCiAgICAgIDpob3N0IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaW5saW5lOwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXItY2VudGVyOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIG1pbi13aWR0aDogNS4xNGVtOwogICAgICAgIG1hcmdpbjogMCAwLjI5ZW07CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOwogICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgICAgZm9udDogaW5oZXJpdDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIG91dGxpbmUtd2lkdGg6IDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHotaW5kZXg6IDA7CiAgICAgICAgcGFkZGluZzogMC43ZW0gMC41N2VtOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWJ1dHRvbjsKICAgICAgfQoKICAgICAgOmhvc3QoW2VsZXZhdGlvbj0iMSJdKSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTE7CiAgICAgIH0KCiAgICAgIDpob3N0KFtlbGV2YXRpb249IjIiXSkgewogICAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi0yOwogICAgICB9CgogICAgICA6aG9zdChbZWxldmF0aW9uPSIzIl0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMzsKICAgICAgfQoKICAgICAgOmhvc3QoW2VsZXZhdGlvbj0iNCJdKSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTQ7CiAgICAgIH0KCiAgICAgIDpob3N0KFtlbGV2YXRpb249IjUiXSkgewogICAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi01OwogICAgICB9CgogICAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgOmhvc3QoW3JhaXNlZF0ua2V5Ym9hcmQtZm9jdXMpIHsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICBAYXBwbHkgLS1wYXBlci1idXR0b24tcmFpc2VkLWtleWJvYXJkLWZvY3VzOwogICAgICB9CgogICAgICA6aG9zdCg6bm90KFtyYWlzZWRdKS5rZXlib2FyZC1mb2N1cykgewogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWJ1dHRvbi1mbGF0LWtleWJvYXJkLWZvY3VzOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSB7CiAgICAgICAgYmFja2dyb3VuZDogI2VhZWFlYTsKICAgICAgICBjb2xvcjogI2E4YThhODsKICAgICAgICBjdXJzb3I6IGF1dG87CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWJ1dHRvbi1kaXNhYmxlZDsKICAgICAgfQoKICAgICAgOmhvc3QoW2FuaW1hdGVkXSkgewogICAgICAgIEBhcHBseSAtLXNoYWRvdy10cmFuc2l0aW9uOwogICAgICB9CgogICAgICBwYXBlci1yaXBwbGUgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1idXR0b24taW5rLWNvbG9yKTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48Y3VzdG9tLXN0eWxlPgogIDxzdHlsZSBpcz0iY3VzdG9tLXN0eWxlIj4KICAgIGh0bWwgewoKICAgICAgLyogTWF0ZXJpYWwgRGVzaWduIGNvbG9yIHBhbGV0dGUgZm9yIEdvb2dsZSBwcm9kdWN0cyAqLwoKICAgICAgLS1nb29nbGUtcmVkLTEwMDogI2Y0YzdjMzsKICAgICAgLS1nb29nbGUtcmVkLTMwMDogI2U2N2M3MzsKICAgICAgLS1nb29nbGUtcmVkLTUwMDogI2RiNDQzNzsKICAgICAgLS1nb29nbGUtcmVkLTcwMDogI2M1MzkyOTsKCiAgICAgIC0tZ29vZ2xlLWJsdWUtMTAwOiAjYzZkYWZjOwogICAgICAtLWdvb2dsZS1ibHVlLTMwMDogIzdiYWFmNzsKICAgICAgLS1nb29nbGUtYmx1ZS01MDA6ICM0Mjg1ZjQ7CiAgICAgIC0tZ29vZ2xlLWJsdWUtNzAwOiAjMzM2N2Q2OwoKICAgICAgLS1nb29nbGUtZ3JlZW4tMTAwOiAjYjdlMWNkOwogICAgICAtLWdvb2dsZS1ncmVlbi0zMDA6ICM1N2JiOGE7CiAgICAgIC0tZ29vZ2xlLWdyZWVuLTUwMDogIzBmOWQ1ODsKICAgICAgLS1nb29nbGUtZ3JlZW4tNzAwOiAjMGI4MDQzOwoKICAgICAgLS1nb29nbGUteWVsbG93LTEwMDogI2ZjZThiMjsKICAgICAgLS1nb29nbGUteWVsbG93LTMwMDogI2Y3Y2I0ZDsKICAgICAgLS1nb29nbGUteWVsbG93LTUwMDogI2Y0YjQwMDsKICAgICAgLS1nb29nbGUteWVsbG93LTcwMDogI2YwOTMwMDsKCiAgICAgIC0tZ29vZ2xlLWdyZXktMTAwOiAjZjVmNWY1OwogICAgICAtLWdvb2dsZS1ncmV5LTMwMDogI2UwZTBlMDsKICAgICAgLS1nb29nbGUtZ3JleS01MDA6ICM5ZTllOWU7CiAgICAgIC0tZ29vZ2xlLWdyZXktNzAwOiAjNjE2MTYxOwoKICAgICAgLyogTWF0ZXJpYWwgRGVzaWduIGNvbG9yIHBhbGV0dGUgZnJvbSBvbmxpbmUgc3BlYyBkb2N1bWVudCAqLwoKICAgICAgLS1wYXBlci1yZWQtNTA6ICNmZmViZWU7CiAgICAgIC0tcGFwZXItcmVkLTEwMDogI2ZmY2RkMjsKICAgICAgLS1wYXBlci1yZWQtMjAwOiAjZWY5YTlhOwogICAgICAtLXBhcGVyLXJlZC0zMDA6ICNlNTczNzM7CiAgICAgIC0tcGFwZXItcmVkLTQwMDogI2VmNTM1MDsKICAgICAgLS1wYXBlci1yZWQtNTAwOiAjZjQ0MzM2OwogICAgICAtLXBhcGVyLXJlZC02MDA6ICNlNTM5MzU7CiAgICAgIC0tcGFwZXItcmVkLTcwMDogI2QzMmYyZjsKICAgICAgLS1wYXBlci1yZWQtODAwOiAjYzYyODI4OwogICAgICAtLXBhcGVyLXJlZC05MDA6ICNiNzFjMWM7CiAgICAgIC0tcGFwZXItcmVkLWExMDA6ICNmZjhhODA7CiAgICAgIC0tcGFwZXItcmVkLWEyMDA6ICNmZjUyNTI7CiAgICAgIC0tcGFwZXItcmVkLWE0MDA6ICNmZjE3NDQ7CiAgICAgIC0tcGFwZXItcmVkLWE3MDA6ICNkNTAwMDA7CgogICAgICAtLXBhcGVyLXBpbmstNTA6ICNmY2U0ZWM7CiAgICAgIC0tcGFwZXItcGluay0xMDA6ICNmOGJiZDA7CiAgICAgIC0tcGFwZXItcGluay0yMDA6ICNmNDhmYjE7CiAgICAgIC0tcGFwZXItcGluay0zMDA6ICNmMDYyOTI7CiAgICAgIC0tcGFwZXItcGluay00MDA6ICNlYzQwN2E7CiAgICAgIC0tcGFwZXItcGluay01MDA6ICNlOTFlNjM7CiAgICAgIC0tcGFwZXItcGluay02MDA6ICNkODFiNjA7CiAgICAgIC0tcGFwZXItcGluay03MDA6ICNjMjE4NWI7CiAgICAgIC0tcGFwZXItcGluay04MDA6ICNhZDE0NTc7CiAgICAgIC0tcGFwZXItcGluay05MDA6ICM4ODBlNGY7CiAgICAgIC0tcGFwZXItcGluay1hMTAwOiAjZmY4MGFiOwogICAgICAtLXBhcGVyLXBpbmstYTIwMDogI2ZmNDA4MTsKICAgICAgLS1wYXBlci1waW5rLWE0MDA6ICNmNTAwNTc7CiAgICAgIC0tcGFwZXItcGluay1hNzAwOiAjYzUxMTYyOwoKICAgICAgLS1wYXBlci1wdXJwbGUtNTA6ICNmM2U1ZjU7CiAgICAgIC0tcGFwZXItcHVycGxlLTEwMDogI2UxYmVlNzsKICAgICAgLS1wYXBlci1wdXJwbGUtMjAwOiAjY2U5M2Q4OwogICAgICAtLXBhcGVyLXB1cnBsZS0zMDA6ICNiYTY4Yzg7CiAgICAgIC0tcGFwZXItcHVycGxlLTQwMDogI2FiNDdiYzsKICAgICAgLS1wYXBlci1wdXJwbGUtNTAwOiAjOWMyN2IwOwogICAgICAtLXBhcGVyLXB1cnBsZS02MDA6ICM4ZTI0YWE7CiAgICAgIC0tcGFwZXItcHVycGxlLTcwMDogIzdiMWZhMjsKICAgICAgLS1wYXBlci1wdXJwbGUtODAwOiAjNmExYjlhOwogICAgICAtLXBhcGVyLXB1cnBsZS05MDA6ICM0YTE0OGM7CiAgICAgIC0tcGFwZXItcHVycGxlLWExMDA6ICNlYTgwZmM7CiAgICAgIC0tcGFwZXItcHVycGxlLWEyMDA6ICNlMDQwZmI7CiAgICAgIC0tcGFwZXItcHVycGxlLWE0MDA6ICNkNTAwZjk7CiAgICAgIC0tcGFwZXItcHVycGxlLWE3MDA6ICNhYTAwZmY7CgogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLTUwOiAjZWRlN2Y2OwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLTEwMDogI2QxYzRlOTsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS0yMDA6ICNiMzlkZGI7CiAgICAgIC0tcGFwZXItZGVlcC1wdXJwbGUtMzAwOiAjOTU3NWNkOwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLTQwMDogIzdlNTdjMjsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS01MDA6ICM2NzNhYjc7CiAgICAgIC0tcGFwZXItZGVlcC1wdXJwbGUtNjAwOiAjNWUzNWIxOwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLTcwMDogIzUxMmRhODsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS04MDA6ICM0NTI3YTA7CiAgICAgIC0tcGFwZXItZGVlcC1wdXJwbGUtOTAwOiAjMzExYjkyOwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLWExMDA6ICNiMzg4ZmY7CiAgICAgIC0tcGFwZXItZGVlcC1wdXJwbGUtYTIwMDogIzdjNGRmZjsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS1hNDAwOiAjNjUxZmZmOwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLWE3MDA6ICM2MjAwZWE7CgogICAgICAtLXBhcGVyLWluZGlnby01MDogI2U4ZWFmNjsKICAgICAgLS1wYXBlci1pbmRpZ28tMTAwOiAjYzVjYWU5OwogICAgICAtLXBhcGVyLWluZGlnby0yMDA6ICM5ZmE4ZGE7CiAgICAgIC0tcGFwZXItaW5kaWdvLTMwMDogIzc5ODZjYjsKICAgICAgLS1wYXBlci1pbmRpZ28tNDAwOiAjNWM2YmMwOwogICAgICAtLXBhcGVyLWluZGlnby01MDA6ICMzZjUxYjU7CiAgICAgIC0tcGFwZXItaW5kaWdvLTYwMDogIzM5NDlhYjsKICAgICAgLS1wYXBlci1pbmRpZ28tNzAwOiAjMzAzZjlmOwogICAgICAtLXBhcGVyLWluZGlnby04MDA6ICMyODM1OTM7CiAgICAgIC0tcGFwZXItaW5kaWdvLTkwMDogIzFhMjM3ZTsKICAgICAgLS1wYXBlci1pbmRpZ28tYTEwMDogIzhjOWVmZjsKICAgICAgLS1wYXBlci1pbmRpZ28tYTIwMDogIzUzNmRmZTsKICAgICAgLS1wYXBlci1pbmRpZ28tYTQwMDogIzNkNWFmZTsKICAgICAgLS1wYXBlci1pbmRpZ28tYTcwMDogIzMwNGZmZTsKCiAgICAgIC0tcGFwZXItYmx1ZS01MDogI2UzZjJmZDsKICAgICAgLS1wYXBlci1ibHVlLTEwMDogI2JiZGVmYjsKICAgICAgLS1wYXBlci1ibHVlLTIwMDogIzkwY2FmOTsKICAgICAgLS1wYXBlci1ibHVlLTMwMDogIzY0YjVmNjsKICAgICAgLS1wYXBlci1ibHVlLTQwMDogIzQyYTVmNTsKICAgICAgLS1wYXBlci1ibHVlLTUwMDogIzIxOTZmMzsKICAgICAgLS1wYXBlci1ibHVlLTYwMDogIzFlODhlNTsKICAgICAgLS1wYXBlci1ibHVlLTcwMDogIzE5NzZkMjsKICAgICAgLS1wYXBlci1ibHVlLTgwMDogIzE1NjVjMDsKICAgICAgLS1wYXBlci1ibHVlLTkwMDogIzBkNDdhMTsKICAgICAgLS1wYXBlci1ibHVlLWExMDA6ICM4MmIxZmY7CiAgICAgIC0tcGFwZXItYmx1ZS1hMjAwOiAjNDQ4YWZmOwogICAgICAtLXBhcGVyLWJsdWUtYTQwMDogIzI5NzlmZjsKICAgICAgLS1wYXBlci1ibHVlLWE3MDA6ICMyOTYyZmY7CgogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtNTA6ICNlMWY1ZmU7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS0xMDA6ICNiM2U1ZmM7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS0yMDA6ICM4MWQ0ZmE7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS0zMDA6ICM0ZmMzZjc7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS00MDA6ICMyOWI2ZjY7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS01MDA6ICMwM2E5ZjQ7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS02MDA6ICMwMzliZTU7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS03MDA6ICMwMjg4ZDE7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS04MDA6ICMwMjc3YmQ7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS05MDA6ICMwMTU3OWI7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS1hMTAwOiAjODBkOGZmOwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtYTIwMDogIzQwYzRmZjsKICAgICAgLS1wYXBlci1saWdodC1ibHVlLWE0MDA6ICMwMGIwZmY7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS1hNzAwOiAjMDA5MWVhOwoKICAgICAgLS1wYXBlci1jeWFuLTUwOiAjZTBmN2ZhOwogICAgICAtLXBhcGVyLWN5YW4tMTAwOiAjYjJlYmYyOwogICAgICAtLXBhcGVyLWN5YW4tMjAwOiAjODBkZWVhOwogICAgICAtLXBhcGVyLWN5YW4tMzAwOiAjNGRkMGUxOwogICAgICAtLXBhcGVyLWN5YW4tNDAwOiAjMjZjNmRhOwogICAgICAtLXBhcGVyLWN5YW4tNTAwOiAjMDBiY2Q0OwogICAgICAtLXBhcGVyLWN5YW4tNjAwOiAjMDBhY2MxOwogICAgICAtLXBhcGVyLWN5YW4tNzAwOiAjMDA5N2E3OwogICAgICAtLXBhcGVyLWN5YW4tODAwOiAjMDA4MzhmOwogICAgICAtLXBhcGVyLWN5YW4tOTAwOiAjMDA2MDY0OwogICAgICAtLXBhcGVyLWN5YW4tYTEwMDogIzg0ZmZmZjsKICAgICAgLS1wYXBlci1jeWFuLWEyMDA6ICMxOGZmZmY7CiAgICAgIC0tcGFwZXItY3lhbi1hNDAwOiAjMDBlNWZmOwogICAgICAtLXBhcGVyLWN5YW4tYTcwMDogIzAwYjhkNDsKCiAgICAgIC0tcGFwZXItdGVhbC01MDogI2UwZjJmMTsKICAgICAgLS1wYXBlci10ZWFsLTEwMDogI2IyZGZkYjsKICAgICAgLS1wYXBlci10ZWFsLTIwMDogIzgwY2JjNDsKICAgICAgLS1wYXBlci10ZWFsLTMwMDogIzRkYjZhYzsKICAgICAgLS1wYXBlci10ZWFsLTQwMDogIzI2YTY5YTsKICAgICAgLS1wYXBlci10ZWFsLTUwMDogIzAwOTY4ODsKICAgICAgLS1wYXBlci10ZWFsLTYwMDogIzAwODk3YjsKICAgICAgLS1wYXBlci10ZWFsLTcwMDogIzAwNzk2YjsKICAgICAgLS1wYXBlci10ZWFsLTgwMDogIzAwNjk1YzsKICAgICAgLS1wYXBlci10ZWFsLTkwMDogIzAwNGQ0MDsKICAgICAgLS1wYXBlci10ZWFsLWExMDA6ICNhN2ZmZWI7CiAgICAgIC0tcGFwZXItdGVhbC1hMjAwOiAjNjRmZmRhOwogICAgICAtLXBhcGVyLXRlYWwtYTQwMDogIzFkZTliNjsKICAgICAgLS1wYXBlci10ZWFsLWE3MDA6ICMwMGJmYTU7CgogICAgICAtLXBhcGVyLWdyZWVuLTUwOiAjZThmNWU5OwogICAgICAtLXBhcGVyLWdyZWVuLTEwMDogI2M4ZTZjOTsKICAgICAgLS1wYXBlci1ncmVlbi0yMDA6ICNhNWQ2YTc7CiAgICAgIC0tcGFwZXItZ3JlZW4tMzAwOiAjODFjNzg0OwogICAgICAtLXBhcGVyLWdyZWVuLTQwMDogIzY2YmI2YTsKICAgICAgLS1wYXBlci1ncmVlbi01MDA6ICM0Y2FmNTA7CiAgICAgIC0tcGFwZXItZ3JlZW4tNjAwOiAjNDNhMDQ3OwogICAgICAtLXBhcGVyLWdyZWVuLTcwMDogIzM4OGUzYzsKICAgICAgLS1wYXBlci1ncmVlbi04MDA6ICMyZTdkMzI7CiAgICAgIC0tcGFwZXItZ3JlZW4tOTAwOiAjMWI1ZTIwOwogICAgICAtLXBhcGVyLWdyZWVuLWExMDA6ICNiOWY2Y2E7CiAgICAgIC0tcGFwZXItZ3JlZW4tYTIwMDogIzY5ZjBhZTsKICAgICAgLS1wYXBlci1ncmVlbi1hNDAwOiAjMDBlNjc2OwogICAgICAtLXBhcGVyLWdyZWVuLWE3MDA6ICMwMGM4NTM7CgogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLTUwOiAjZjFmOGU5OwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLTEwMDogI2RjZWRjODsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi0yMDA6ICNjNWUxYTU7CiAgICAgIC0tcGFwZXItbGlnaHQtZ3JlZW4tMzAwOiAjYWVkNTgxOwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLTQwMDogIzljY2M2NTsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi01MDA6ICM4YmMzNGE7CiAgICAgIC0tcGFwZXItbGlnaHQtZ3JlZW4tNjAwOiAjN2NiMzQyOwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLTcwMDogIzY4OWYzODsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi04MDA6ICM1NThiMmY7CiAgICAgIC0tcGFwZXItbGlnaHQtZ3JlZW4tOTAwOiAjMzM2OTFlOwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLWExMDA6ICNjY2ZmOTA7CiAgICAgIC0tcGFwZXItbGlnaHQtZ3JlZW4tYTIwMDogI2IyZmY1OTsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi1hNDAwOiAjNzZmZjAzOwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLWE3MDA6ICM2NGRkMTc7CgogICAgICAtLXBhcGVyLWxpbWUtNTA6ICNmOWZiZTc7CiAgICAgIC0tcGFwZXItbGltZS0xMDA6ICNmMGY0YzM7CiAgICAgIC0tcGFwZXItbGltZS0yMDA6ICNlNmVlOWM7CiAgICAgIC0tcGFwZXItbGltZS0zMDA6ICNkY2U3NzU7CiAgICAgIC0tcGFwZXItbGltZS00MDA6ICNkNGUxNTc7CiAgICAgIC0tcGFwZXItbGltZS01MDA6ICNjZGRjMzk7CiAgICAgIC0tcGFwZXItbGltZS02MDA6ICNjMGNhMzM7CiAgICAgIC0tcGFwZXItbGltZS03MDA6ICNhZmI0MmI7CiAgICAgIC0tcGFwZXItbGltZS04MDA6ICM5ZTlkMjQ7CiAgICAgIC0tcGFwZXItbGltZS05MDA6ICM4Mjc3MTc7CiAgICAgIC0tcGFwZXItbGltZS1hMTAwOiAjZjRmZjgxOwogICAgICAtLXBhcGVyLWxpbWUtYTIwMDogI2VlZmY0MTsKICAgICAgLS1wYXBlci1saW1lLWE0MDA6ICNjNmZmMDA7CiAgICAgIC0tcGFwZXItbGltZS1hNzAwOiAjYWVlYTAwOwoKICAgICAgLS1wYXBlci15ZWxsb3ctNTA6ICNmZmZkZTc7CiAgICAgIC0tcGFwZXIteWVsbG93LTEwMDogI2ZmZjljNDsKICAgICAgLS1wYXBlci15ZWxsb3ctMjAwOiAjZmZmNTlkOwogICAgICAtLXBhcGVyLXllbGxvdy0zMDA6ICNmZmYxNzY7CiAgICAgIC0tcGFwZXIteWVsbG93LTQwMDogI2ZmZWU1ODsKICAgICAgLS1wYXBlci15ZWxsb3ctNTAwOiAjZmZlYjNiOwogICAgICAtLXBhcGVyLXllbGxvdy02MDA6ICNmZGQ4MzU7CiAgICAgIC0tcGFwZXIteWVsbG93LTcwMDogI2ZiYzAyZDsKICAgICAgLS1wYXBlci15ZWxsb3ctODAwOiAjZjlhODI1OwogICAgICAtLXBhcGVyLXllbGxvdy05MDA6ICNmNTdmMTc7CiAgICAgIC0tcGFwZXIteWVsbG93LWExMDA6ICNmZmZmOGQ7CiAgICAgIC0tcGFwZXIteWVsbG93LWEyMDA6ICNmZmZmMDA7CiAgICAgIC0tcGFwZXIteWVsbG93LWE0MDA6ICNmZmVhMDA7CiAgICAgIC0tcGFwZXIteWVsbG93LWE3MDA6ICNmZmQ2MDA7CgogICAgICAtLXBhcGVyLWFtYmVyLTUwOiAjZmZmOGUxOwogICAgICAtLXBhcGVyLWFtYmVyLTEwMDogI2ZmZWNiMzsKICAgICAgLS1wYXBlci1hbWJlci0yMDA6ICNmZmUwODI7CiAgICAgIC0tcGFwZXItYW1iZXItMzAwOiAjZmZkNTRmOwogICAgICAtLXBhcGVyLWFtYmVyLTQwMDogI2ZmY2EyODsKICAgICAgLS1wYXBlci1hbWJlci01MDA6ICNmZmMxMDc7CiAgICAgIC0tcGFwZXItYW1iZXItNjAwOiAjZmZiMzAwOwogICAgICAtLXBhcGVyLWFtYmVyLTcwMDogI2ZmYTAwMDsKICAgICAgLS1wYXBlci1hbWJlci04MDA6ICNmZjhmMDA7CiAgICAgIC0tcGFwZXItYW1iZXItOTAwOiAjZmY2ZjAwOwogICAgICAtLXBhcGVyLWFtYmVyLWExMDA6ICNmZmU1N2Y7CiAgICAgIC0tcGFwZXItYW1iZXItYTIwMDogI2ZmZDc0MDsKICAgICAgLS1wYXBlci1hbWJlci1hNDAwOiAjZmZjNDAwOwogICAgICAtLXBhcGVyLWFtYmVyLWE3MDA6ICNmZmFiMDA7CgogICAgICAtLXBhcGVyLW9yYW5nZS01MDogI2ZmZjNlMDsKICAgICAgLS1wYXBlci1vcmFuZ2UtMTAwOiAjZmZlMGIyOwogICAgICAtLXBhcGVyLW9yYW5nZS0yMDA6ICNmZmNjODA7CiAgICAgIC0tcGFwZXItb3JhbmdlLTMwMDogI2ZmYjc0ZDsKICAgICAgLS1wYXBlci1vcmFuZ2UtNDAwOiAjZmZhNzI2OwogICAgICAtLXBhcGVyLW9yYW5nZS01MDA6ICNmZjk4MDA7CiAgICAgIC0tcGFwZXItb3JhbmdlLTYwMDogI2ZiOGMwMDsKICAgICAgLS1wYXBlci1vcmFuZ2UtNzAwOiAjZjU3YzAwOwogICAgICAtLXBhcGVyLW9yYW5nZS04MDA6ICNlZjZjMDA7CiAgICAgIC0tcGFwZXItb3JhbmdlLTkwMDogI2U2NTEwMDsKICAgICAgLS1wYXBlci1vcmFuZ2UtYTEwMDogI2ZmZDE4MDsKICAgICAgLS1wYXBlci1vcmFuZ2UtYTIwMDogI2ZmYWI0MDsKICAgICAgLS1wYXBlci1vcmFuZ2UtYTQwMDogI2ZmOTEwMDsKICAgICAgLS1wYXBlci1vcmFuZ2UtYTcwMDogI2ZmNjUwMDsKCiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtNTA6ICNmYmU5ZTc7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtMTAwOiAjZmZjY2JjOwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLTIwMDogI2ZmYWI5MTsKICAgICAgLS1wYXBlci1kZWVwLW9yYW5nZS0zMDA6ICNmZjhhNjU7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtNDAwOiAjZmY3MDQzOwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLTUwMDogI2ZmNTcyMjsKICAgICAgLS1wYXBlci1kZWVwLW9yYW5nZS02MDA6ICNmNDUxMWU7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtNzAwOiAjZTY0YTE5OwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLTgwMDogI2Q4NDMxNTsKICAgICAgLS1wYXBlci1kZWVwLW9yYW5nZS05MDA6ICNiZjM2MGM7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtYTEwMDogI2ZmOWU4MDsKICAgICAgLS1wYXBlci1kZWVwLW9yYW5nZS1hMjAwOiAjZmY2ZTQwOwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLWE0MDA6ICNmZjNkMDA7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtYTcwMDogI2RkMmMwMDsKCiAgICAgIC0tcGFwZXItYnJvd24tNTA6ICNlZmViZTk7CiAgICAgIC0tcGFwZXItYnJvd24tMTAwOiAjZDdjY2M4OwogICAgICAtLXBhcGVyLWJyb3duLTIwMDogI2JjYWFhNDsKICAgICAgLS1wYXBlci1icm93bi0zMDA6ICNhMTg4N2Y7CiAgICAgIC0tcGFwZXItYnJvd24tNDAwOiAjOGQ2ZTYzOwogICAgICAtLXBhcGVyLWJyb3duLTUwMDogIzc5NTU0ODsKICAgICAgLS1wYXBlci1icm93bi02MDA6ICM2ZDRjNDE7CiAgICAgIC0tcGFwZXItYnJvd24tNzAwOiAjNWQ0MDM3OwogICAgICAtLXBhcGVyLWJyb3duLTgwMDogIzRlMzQyZTsKICAgICAgLS1wYXBlci1icm93bi05MDA6ICMzZTI3MjM7CgogICAgICAtLXBhcGVyLWdyZXktNTA6ICNmYWZhZmE7CiAgICAgIC0tcGFwZXItZ3JleS0xMDA6ICNmNWY1ZjU7CiAgICAgIC0tcGFwZXItZ3JleS0yMDA6ICNlZWVlZWU7CiAgICAgIC0tcGFwZXItZ3JleS0zMDA6ICNlMGUwZTA7CiAgICAgIC0tcGFwZXItZ3JleS00MDA6ICNiZGJkYmQ7CiAgICAgIC0tcGFwZXItZ3JleS01MDA6ICM5ZTllOWU7CiAgICAgIC0tcGFwZXItZ3JleS02MDA6ICM3NTc1NzU7CiAgICAgIC0tcGFwZXItZ3JleS03MDA6ICM2MTYxNjE7CiAgICAgIC0tcGFwZXItZ3JleS04MDA6ICM0MjQyNDI7CiAgICAgIC0tcGFwZXItZ3JleS05MDA6ICMyMTIxMjE7CgogICAgICAtLXBhcGVyLWJsdWUtZ3JleS01MDogI2VjZWZmMTsKICAgICAgLS1wYXBlci1ibHVlLWdyZXktMTAwOiAjY2ZkOGRjOwogICAgICAtLXBhcGVyLWJsdWUtZ3JleS0yMDA6ICNiMGJlYzU7CiAgICAgIC0tcGFwZXItYmx1ZS1ncmV5LTMwMDogIzkwYTRhZTsKICAgICAgLS1wYXBlci1ibHVlLWdyZXktNDAwOiAjNzg5MDljOwogICAgICAtLXBhcGVyLWJsdWUtZ3JleS01MDA6ICM2MDdkOGI7CiAgICAgIC0tcGFwZXItYmx1ZS1ncmV5LTYwMDogIzU0NmU3YTsKICAgICAgLS1wYXBlci1ibHVlLWdyZXktNzAwOiAjNDU1YTY0OwogICAgICAtLXBhcGVyLWJsdWUtZ3JleS04MDA6ICMzNzQ3NGY7CiAgICAgIC0tcGFwZXItYmx1ZS1ncmV5LTkwMDogIzI2MzIzODsKCiAgICAgIC8qIG9wYWNpdHkgZm9yIGRhcmsgdGV4dCBvbiBhIGxpZ2h0IGJhY2tncm91bmQgKi8KICAgICAgLS1kYXJrLWRpdmlkZXItb3BhY2l0eTogMC4xMjsKICAgICAgLS1kYXJrLWRpc2FibGVkLW9wYWNpdHk6IDAuMzg7IC8qIG9yIGhpbnQgdGV4dCBvciBpY29uICovCiAgICAgIC0tZGFyay1zZWNvbmRhcnktb3BhY2l0eTogMC41NDsKICAgICAgLS1kYXJrLXByaW1hcnktb3BhY2l0eTogMC44NzsKCiAgICAgIC8qIG9wYWNpdHkgZm9yIGxpZ2h0IHRleHQgb24gYSBkYXJrIGJhY2tncm91bmQgKi8KICAgICAgLS1saWdodC1kaXZpZGVyLW9wYWNpdHk6IDAuMTI7CiAgICAgIC0tbGlnaHQtZGlzYWJsZWQtb3BhY2l0eTogMC4zOyAvKiBvciBoaW50IHRleHQgb3IgaWNvbiAqLwogICAgICAtLWxpZ2h0LXNlY29uZGFyeS1vcGFjaXR5OiAwLjc7CiAgICAgIC0tbGlnaHQtcHJpbWFyeS1vcGFjaXR5OiAxLjA7CgogICAgfQoKICA8L3N0eWxlPgo8L2N1c3RvbS1zdHlsZT48Y3VzdG9tLXN0eWxlPgogIDxzdHlsZSBpcz0iY3VzdG9tLXN0eWxlIj4KICAgIGh0bWwgewogICAgICAvKgogICAgICAgKiBZb3UgY2FuIHVzZSB0aGVzZSBnZW5lcmljIHZhcmlhYmxlcyBpbiB5b3VyIGVsZW1lbnRzIGZvciBlYXN5IHRoZW1pbmcuCiAgICAgICAqIEZvciBleGFtcGxlLCBpZiBhbGwgeW91ciBlbGVtZW50cyB1c2UgYC0tcHJpbWFyeS10ZXh0LWNvbG9yYCBhcyBpdHMgbWFpbgogICAgICAgKiBjb2xvciwgdGhlbiBzd2l0Y2hpbmcgZnJvbSBhIGxpZ2h0IHRvIGEgZGFyayB0aGVtZSBpcyBqdXN0IGEgbWF0dGVyIG9mCiAgICAgICAqIGNoYW5naW5nIHRoZSB2YWx1ZSBvZiBgLS1wcmltYXJ5LXRleHQtY29sb3JgIGluIHlvdXIgYXBwbGljYXRpb24uCiAgICAgICAqLwogICAgICAtLXByaW1hcnktdGV4dC1jb2xvcjogdmFyKC0tbGlnaHQtdGhlbWUtdGV4dC1jb2xvcik7CiAgICAgIC0tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC10aGVtZS1iYWNrZ3JvdW5kLWNvbG9yKTsKICAgICAgLS1zZWNvbmRhcnktdGV4dC1jb2xvcjogdmFyKC0tbGlnaHQtdGhlbWUtc2Vjb25kYXJ5LWNvbG9yKTsKICAgICAgLS1kaXNhYmxlZC10ZXh0LWNvbG9yOiB2YXIoLS1saWdodC10aGVtZS1kaXNhYmxlZC1jb2xvcik7CiAgICAgIC0tZGl2aWRlci1jb2xvcjogdmFyKC0tbGlnaHQtdGhlbWUtZGl2aWRlci1jb2xvcik7CiAgICAgIC0tZXJyb3ItY29sb3I6IHZhcigtLXBhcGVyLWRlZXAtb3JhbmdlLWE3MDApOwoKICAgICAgLyoKICAgICAgICogUHJpbWFyeSBhbmQgYWNjZW50IGNvbG9ycy4gQWxzbyBzZWUgY29sb3IuaHRtbCBmb3IgbW9yZSBjb2xvcnMuCiAgICAgICAqLwogICAgICAtLXByaW1hcnktY29sb3I6IHZhcigtLXBhcGVyLWluZGlnby01MDApOwogICAgICAtLWxpZ2h0LXByaW1hcnktY29sb3I6IHZhcigtLXBhcGVyLWluZGlnby0xMDApOwogICAgICAtLWRhcmstcHJpbWFyeS1jb2xvcjogdmFyKC0tcGFwZXItaW5kaWdvLTcwMCk7CgogICAgICAtLWFjY2VudC1jb2xvcjogdmFyKC0tcGFwZXItcGluay1hMjAwKTsKICAgICAgLS1saWdodC1hY2NlbnQtY29sb3I6IHZhcigtLXBhcGVyLXBpbmstYTEwMCk7CiAgICAgIC0tZGFyay1hY2NlbnQtY29sb3I6IHZhcigtLXBhcGVyLXBpbmstYTQwMCk7CgoKICAgICAgLyoKICAgICAgICogTWF0ZXJpYWwgRGVzaWduIExpZ2h0IGJhY2tncm91bmQgdGhlbWUKICAgICAgICovCiAgICAgIC0tbGlnaHQtdGhlbWUtYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsKICAgICAgLS1saWdodC10aGVtZS1iYXNlLWNvbG9yOiAjMDAwMDAwOwogICAgICAtLWxpZ2h0LXRoZW1lLXRleHQtY29sb3I6IHZhcigtLXBhcGVyLWdyZXktOTAwKTsKICAgICAgLS1saWdodC10aGVtZS1zZWNvbmRhcnktY29sb3I6ICM3MzczNzM7ICAvKiBmb3Igc2Vjb25kYXJ5IHRleHQgYW5kIGljb25zICovCiAgICAgIC0tbGlnaHQtdGhlbWUtZGlzYWJsZWQtY29sb3I6ICM5YjliOWI7ICAvKiBkaXNhYmxlZC9oaW50IHRleHQgKi8KICAgICAgLS1saWdodC10aGVtZS1kaXZpZGVyLWNvbG9yOiAjZGJkYmRiOwoKICAgICAgLyoKICAgICAgICogTWF0ZXJpYWwgRGVzaWduIERhcmsgYmFja2dyb3VuZCB0aGVtZQogICAgICAgKi8KICAgICAgLS1kYXJrLXRoZW1lLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLWdyZXktOTAwKTsKICAgICAgLS1kYXJrLXRoZW1lLWJhc2UtY29sb3I6ICNmZmZmZmY7CiAgICAgIC0tZGFyay10aGVtZS10ZXh0LWNvbG9yOiAjZmZmZmZmOwogICAgICAtLWRhcmstdGhlbWUtc2Vjb25kYXJ5LWNvbG9yOiAjYmNiY2JjOyAgLyogZm9yIHNlY29uZGFyeSB0ZXh0IGFuZCBpY29ucyAqLwogICAgICAtLWRhcmstdGhlbWUtZGlzYWJsZWQtY29sb3I6ICM2NDY0NjQ7ICAvKiBkaXNhYmxlZC9oaW50IHRleHQgKi8KICAgICAgLS1kYXJrLXRoZW1lLWRpdmlkZXItY29sb3I6ICMzYzNjM2M7CgogICAgICAvKgogICAgICAgKiBEZXByZWNhdGVkIHZhbHVlcyBiZWNhdXNlIG9mIHRoZWlyIGNvbmZ1c2luZyBuYW1lcy4KICAgICAgICovCiAgICAgIC0tdGV4dC1wcmltYXJ5LWNvbG9yOiB2YXIoLS1kYXJrLXRoZW1lLXRleHQtY29sb3IpOwogICAgICAtLWRlZmF1bHQtcHJpbWFyeS1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7CiAgICB9CiAgPC9zdHlsZT4KPC9jdXN0b20tc3R5bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLWNoZWNrYm94Ij4KICA8dGVtcGxhdGUgc3RyaXAtd2hpdGVzcGFjZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZTogdmFyKC0tcGFwZXItY2hlY2tib3gtc2l6ZSwgMThweCk7CiAgICAgICAgLyogLTFweCBpcyBhIHNlbnRpbmVsIGZvciB0aGUgZGVmYXVsdCBhbmQgaXMgcmVwbGFjZWQgaW4gYGF0dGFjaGVkYC4gKi8KICAgICAgICAtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtaW5rLXNpemU6IHZhcigtLXBhcGVyLWNoZWNrYm94LWluay1zaXplLCAtMXB4KTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIGxpbmUtaGVpZ2h0OiAwOwogICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIDpob3N0KFtoaWRkZW5dKSB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICA6aG9zdCg6Zm9jdXMpIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICAuaGlkZGVuIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAjY2hlY2tib3hDb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZSk7CiAgICAgICAgaGVpZ2h0OiB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LXNpemUpOwogICAgICAgIG1pbi13aWR0aDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1jaGVja2JveC1zaXplKTsKICAgICAgICBtYXJnaW46IHZhcigtLXBhcGVyLWNoZWNrYm94LW1hcmdpbiwgaW5pdGlhbCk7CiAgICAgICAgdmVydGljYWwtYWxpZ246IHZhcigtLXBhcGVyLWNoZWNrYm94LXZlcnRpY2FsLWFsaWduLCBtaWRkbGUpOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCk7CiAgICAgIH0KCiAgICAgICNpbmsgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKCiAgICAgICAgLyogQ2VudGVyIHRoZSByaXBwbGUgaW4gdGhlIGNoZWNrYm94IGJ5IG5lZ2F0aXZlIG9mZnNldHRpbmcgaXQgYnkKICAgICAgICAgKiAoaW5rV2lkdGggLSByaXBwbGVXaWR0aCkgLyAyICovCiAgICAgICAgdG9wOiBjYWxjKDBweCAtICh2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LWluay1zaXplKSAtIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZSkpIC8gMik7CiAgICAgICAgbGVmdDogY2FsYygwcHggLSAodmFyKC0tY2FsY3VsYXRlZC1wYXBlci1jaGVja2JveC1pbmstc2l6ZSkgLSB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LXNpemUpKSAvIDIpOwogICAgICAgIHdpZHRoOiB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LWluay1zaXplKTsKICAgICAgICBoZWlnaHQ6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtaW5rLXNpemUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtaW5rLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgICNpbms6ZGlyKHJ0bCkgewogICAgICAgIHJpZ2h0OiBjYWxjKDBweCAtICh2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LWluay1zaXplKSAtIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZSkpIC8gMik7CiAgICAgICAgbGVmdDogYXV0bzsKICAgICAgfQoKICAgICAgI2lua1tjaGVja2VkXSB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CiAgICAgIH0KCiAgICAgICNjaGVja2JveCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJvcmRlcjogc29saWQgMnB4OwogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE0MG1zLCBib3JkZXItY29sb3IgMTQwbXM7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNDBtcywgYm9yZGVyLWNvbG9yIDE0MG1zOwogICAgICB9CgogICAgICAvKiBjaGVja2JveCBjaGVja2VkIGFuaW1hdGlvbnMgKi8KICAgICAgI2NoZWNrYm94LmNoZWNrZWQgI2NoZWNrbWFyayB7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGNoZWNrbWFyay1leHBhbmQgMTQwbXMgZWFzZS1vdXQgZm9yd2FyZHM7CiAgICAgICAgYW5pbWF0aW9uOiBjaGVja21hcmstZXhwYW5kIDE0MG1zIGVhc2Utb3V0IGZvcndhcmRzOwogICAgICB9CgogICAgICBALXdlYmtpdC1rZXlmcmFtZXMgY2hlY2ttYXJrLWV4cGFuZCB7CiAgICAgICAgMCUgewogICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAsIDApIHJvdGF0ZSg0NWRlZyk7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHJvdGF0ZSg0NWRlZyk7CiAgICAgICAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGNoZWNrbWFyay1leHBhbmQgewogICAgICAgIDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMCkgcm90YXRlKDQ1ZGVnKTsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHJvdGF0ZSg0NWRlZyk7CiAgICAgICAgfQogICAgICB9CgogICAgICAjY2hlY2tib3guY2hlY2tlZCB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwogICAgICB9CgogICAgICAjY2hlY2ttYXJrIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2lkdGg6IDM2JTsKICAgICAgICBoZWlnaHQ6IDcwJTsKICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOwogICAgICAgIGJvcmRlci10b3A6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBjYWxjKDIvMTUgKiB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LXNpemUpKTsKICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBjYWxjKDIvMTUgKiB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LXNpemUpKTsKICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LWNoZWNrbWFyay1jb2xvciwgd2hpdGUpOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogOTclIDg2JTsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA5NyUgODYlOwogICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiBwcm90ZWN0IGFnYWluc3QgcGFnZS1sZXZlbCBib3gtc2l6aW5nICovCiAgICAgIH0KCiAgICAgICNjaGVja21hcms6ZGlyKHJ0bCkgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDE0JTsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTQlOwogICAgICB9CgogICAgICAvKiBsYWJlbCAqLwogICAgICAjY2hlY2tib3hMYWJlbCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFwZXItY2hlY2tib3gtbGFiZWwtc3BhY2luZywgOHB4KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LWxhYmVsLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1jaGVja2JveC1sYWJlbDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NoZWNrZWRdKSAjY2hlY2tib3hMYWJlbCB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LWxhYmVsLWNoZWNrZWQtY29sb3IsIHZhcigtLXBhcGVyLWNoZWNrYm94LWxhYmVsLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKSk7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItY2hlY2tib3gtbGFiZWwtY2hlY2tlZDsKICAgICAgfQoKICAgICAgI2NoZWNrYm94TGFiZWw6ZGlyKHJ0bCkgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhcGVyLWNoZWNrYm94LWxhYmVsLXNwYWNpbmcsIDhweCk7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOwogICAgICB9CgogICAgICAjY2hlY2tib3hMYWJlbFtoaWRkZW5dIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBkaXNhYmxlZCBzdGF0ZSAqLwoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgI2NoZWNrYm94IHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtY29sb3IsIHZhcigtLXByaW1hcnktdGV4dC1jb2xvcikpOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdW2NoZWNrZWRdKSAjY2hlY2tib3ggewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAjY2hlY2tib3hMYWJlbCAgewogICAgICAgIG9wYWNpdHk6IDAuNjU7CiAgICAgIH0KCiAgICAgIC8qIGludmFsaWQgc3RhdGUgKi8KICAgICAgI2NoZWNrYm94LmludmFsaWQ6bm90KC5jaGVja2VkKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wYXBlci1jaGVja2JveC1lcnJvci1jb2xvciwgdmFyKC0tZXJyb3ItY29sb3IpKTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGlkPSJjaGVja2JveENvbnRhaW5lciI+CiAgICAgIDxkaXYgaWQ9ImNoZWNrYm94IiBjbGFzcyQ9IltbX2NvbXB1dGVDaGVja2JveENsYXNzKGNoZWNrZWQsIGludmFsaWQpXV0iPgogICAgICAgIDxkaXYgaWQ9ImNoZWNrbWFyayIgY2xhc3MkPSJbW19jb21wdXRlQ2hlY2ttYXJrQ2xhc3MoY2hlY2tlZCldXSI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBpZD0iY2hlY2tib3hMYWJlbCI+PHNsb3Q+PC9zbG90PjwvZGl2PgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9Imlyb24taWNvbiI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWlubGluZTsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyLWNlbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CgogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CgogICAgICAgIGZpbGw6IHZhcigtLWlyb24taWNvbi1maWxsLWNvbG9yLCBjdXJyZW50Y29sb3IpOwogICAgICAgIHN0cm9rZTogdmFyKC0taXJvbi1pY29uLXN0cm9rZS1jb2xvciwgbm9uZSk7CgogICAgICAgIHdpZHRoOiB2YXIoLS1pcm9uLWljb24td2lkdGgsIDI0cHgpOwogICAgICAgIGhlaWdodDogdmFyKC0taXJvbi1pY29uLWhlaWdodCwgMjRweCk7CiAgICAgICAgQGFwcGx5IC0taXJvbi1pY29uOwogICAgICB9CgogICAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KCiAgCgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9Imlyb24tYTExeS1hbm5vdW5jZXIiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgY2xpcDogcmVjdCgwcHgsMHB4LDBweCwwcHgpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGRpdiBhcmlhLWxpdmUkPSJbW21vZGVdXSI+W1tfdGV4dF1dPC9kaXY+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0iaXJvbi1pbnB1dCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPHNsb3QgaWQ9ImNvbnRlbnQiPjwvc2xvdD4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGN1c3RvbS1zdHlsZT4KICA8c3R5bGUgaXM9ImN1c3RvbS1zdHlsZSI+CiAgICBodG1sIHsKCiAgICAgIC8qIFNoYXJlZCBTdHlsZXMgKi8KICAgICAgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOiB7CiAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCAnTm90bycsIHNhbnMtc2VyaWY7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtY29tbW9uLWNvZGU6IHsKICAgICAgICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJywgJ0NvbnNvbGFzJywgJ01lbmxvJywgbW9ub3NwYWNlOwogICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWNvbW1vbi1leHBlbnNpdmUta2VybmluZzogewogICAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtY29tbW9uLW5vd3JhcDogewogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfTsKCiAgICAgIC8qIE1hdGVyaWFsIEZvbnQgU3R5bGVzICovCgogICAgICAtLXBhcGVyLWZvbnQtZGlzcGxheTQ6IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLW5vd3JhcDsKCiAgICAgICAgZm9udC1zaXplOiAxMTJweDsKICAgICAgICBmb250LXdlaWdodDogMzAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjA0NGVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxMjBweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1kaXNwbGF5MzogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tbm93cmFwOwoKICAgICAgICBmb250LXNpemU6IDU2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMjZlbTsKICAgICAgICBsaW5lLWhlaWdodDogNjBweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1kaXNwbGF5MjogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CgogICAgICAgIGZvbnQtc2l6ZTogNDVweDsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxOGVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4OwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWRpc3BsYXkxOiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tYmFzZTsKCiAgICAgICAgZm9udC1zaXplOiAzNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTsKICAgICAgICBsaW5lLWhlaWdodDogNDBweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1oZWFkbGluZTogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CgogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxMmVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LXRpdGxlOiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tYmFzZTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1ub3dyYXA7CgogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LXN1YmhlYWQ6IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwoKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBsaW5lLWhlaWdodDogMjRweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1ib2R5MjogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWJvZHkxOiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tYmFzZTsKCiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtY2FwdGlvbjogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tbm93cmFwOwoKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMTFlbTsKICAgICAgICBsaW5lLWhlaWdodDogMjBweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1tZW51OiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tYmFzZTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1ub3dyYXA7CgogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWJ1dHRvbjogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tbm93cmFwOwoKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMThlbTsKICAgICAgICBsaW5lLWhlaWdodDogMjRweDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWNvZGUyOiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tY29kZTsKCiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtY29kZTE6IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1jb2RlOwoKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsaW5lLWhlaWdodDogMjBweDsKICAgICAgfTsKCiAgICB9CgogIDwvc3R5bGU+CjwvY3VzdG9tLXN0eWxlPjxkb20tbW9kdWxlIGlkPSJwYXBlci1pbnB1dC1jaGFyLWNvdW50ZXIiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBmbG9hdDogcmlnaHQ7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY2FwdGlvbjsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jaGFyLWNvdW50ZXI7CiAgICAgIH0KCiAgICAgIDpob3N0KFtoaWRkZW5dKSB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICA6aG9zdCg6ZGlyKHJ0bCkpIHsKICAgICAgICBmbG9hdDogbGVmdDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c3Bhbj5bW19jaGFyQ291bnRlclN0cl1dPC9zcGFuPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48Y3VzdG9tLXN0eWxlPgogIDxzdHlsZSBpcz0iY3VzdG9tLXN0eWxlIj4KICAgIGh0bWwgewogICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1zaGFyZWQtaW5wdXQtc3R5bGU6IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIHRvIG1ha2UgYSBzdGFja2luZyBjb250ZXh0ICovCiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3gtc2hhZG93OiBub25lOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7CiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1zdWJoZWFkOwogICAgICB9OwogICAgfQogIDwvc3R5bGU+CjwvY3VzdG9tLXN0eWxlPjxkb20tbW9kdWxlIGlkPSJwYXBlci1pbnB1dC1jb250YWluZXIiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lcjsKICAgICAgfQoKICAgICAgOmhvc3QoW2lubGluZV0pIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBvcGFjaXR5OiAwLjMzOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItZGlzYWJsZWQ7CiAgICAgIH0KCiAgICAgIDpob3N0KFtoaWRkZW5dKSB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICBbaGlkZGVuXSB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuZmxvYXRlZC1sYWJlbC1wbGFjZWhvbGRlciB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jYXB0aW9uOwogICAgICB9CgogICAgICAudW5kZXJsaW5lIHsKICAgICAgICBoZWlnaHQ6IDJweDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5mb2N1c2VkLWxpbmUgewogICAgICAgIEBhcHBseSAtLWxheW91dC1maXQ7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwoKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLDEsMSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsMSwxKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLXVuZGVybGluZS1mb2N1czsKICAgICAgfQoKICAgICAgLnVuZGVybGluZS5pcy1oaWdobGlnaHRlZCAuZm9jdXNlZC1saW5lIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjI1czsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXM7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLXRyYW5zaXRpb24tZWFzaW5nOwogICAgICB9CgogICAgICAudW5kZXJsaW5lLmlzLWludmFsaWQgLmZvY3VzZWQtbGluZSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItaW52YWxpZC1jb2xvciwgdmFyKC0tZXJyb3ItY29sb3IpKTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjI1czsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXM7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLXRyYW5zaXRpb24tZWFzaW5nOwogICAgICB9CgogICAgICAudW5mb2N1c2VkLWxpbmUgewogICAgICAgIEBhcHBseSAtLWxheW91dC1maXQ7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1jb2xvciwgdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpKTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItdW5kZXJsaW5lOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAudW5mb2N1c2VkLWxpbmUgewogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQ7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItY29sb3IsIHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLXVuZGVybGluZS1kaXNhYmxlZDsKICAgICAgfQoKICAgICAgLmlucHV0LXdyYXBwZXIgewogICAgICAgIEBhcHBseSAtLWxheW91dC1ob3Jpem9udGFsOwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuaW5wdXQtY29udGVudCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXgtYXV0bzsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtcmVsYXRpdmU7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQobGFiZWwpLAogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQoLnBhcGVyLWlucHV0LWxhYmVsKSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGZvbnQ6IGluaGVyaXQ7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1jb2xvciwgdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpKTsKICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMjVzLCB3aWR0aCAwLjI1czsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMsIHdpZHRoIDAuMjVzOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7CiAgICAgICAgLyogRml4IGZvciBzYWZhcmkgbm90IGZvY3VzaW5nIDAtaGVpZ2h0IGRhdGUvdGltZSBpbnB1dHMgd2l0aCAtd2Via2l0LWFwcGVyYW5jZTogbm9uZTsgKi8KICAgICAgICBtaW4taGVpZ2h0OiAxcHg7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLW5vd3JhcDsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LXN1YmhlYWQ7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWxhYmVsOwogICAgICAgIEBhcHBseSAtLXBhcGVyLXRyYW5zaXRpb24tZWFzaW5nOwogICAgICB9CgogICAgICAuaW5wdXQtY29udGVudC5sYWJlbC1pcy1mbG9hdGluZyA6OnNsb3R0ZWQobGFiZWwpLAogICAgICAuaW5wdXQtY29udGVudC5sYWJlbC1pcy1mbG9hdGluZyA6OnNsb3R0ZWQoLnBhcGVyLWlucHV0LWxhYmVsKSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTc1JSkgc2NhbGUoMC43NSk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03NSUpIHNjYWxlKDAuNzUpOwoKICAgICAgICAvKiBTaW5jZSB3ZSBzY2FsZSB0byA3NS8xMDAgb2YgdGhlIHNpemUsIHdlIGFjdHVhbGx5IGhhdmUgMTAwLzc1IG9mIHRoZQogICAgICAgIG9yaWdpbmFsIHNwYWNlIG5vdyBhdmFpbGFibGUgKi8KICAgICAgICB3aWR0aDogMTMzJTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWxhYmVsLWZsb2F0aW5nOwogICAgICB9CgogICAgICA6aG9zdCg6ZGlyKHJ0bCkpIC5pbnB1dC1jb250ZW50LmxhYmVsLWlzLWZsb2F0aW5nIDo6c2xvdHRlZChsYWJlbCksCiAgICAgIDpob3N0KDpkaXIocnRsKSkgLmlucHV0LWNvbnRlbnQubGFiZWwtaXMtZmxvYXRpbmcgOjpzbG90dGVkKC5wYXBlci1pbnB1dC1sYWJlbCkgewogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGxlZnQ6IGF1dG87CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wOwogICAgICB9CgogICAgICAuaW5wdXQtY29udGVudC5sYWJlbC1pcy1oaWdobGlnaHRlZCA6OnNsb3R0ZWQobGFiZWwpLAogICAgICAuaW5wdXQtY29udGVudC5sYWJlbC1pcy1oaWdobGlnaHRlZCA6OnNsb3R0ZWQoLnBhcGVyLWlucHV0LWxhYmVsKSB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItbGFiZWwtZm9jdXM7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50LmlzLWludmFsaWQgOjpzbG90dGVkKGxhYmVsKSwKICAgICAgLmlucHV0LWNvbnRlbnQuaXMtaW52YWxpZCA6OnNsb3R0ZWQoLnBhcGVyLWlucHV0LWxhYmVsKSB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnZhbGlkLWNvbG9yLCB2YXIoLS1lcnJvci1jb2xvcikpOwogICAgICB9CgogICAgICAuaW5wdXQtY29udGVudC5sYWJlbC1pcy1oaWRkZW4gOjpzbG90dGVkKGxhYmVsKSwKICAgICAgLmlucHV0LWNvbnRlbnQubGFiZWwtaXMtaGlkZGVuIDo6c2xvdHRlZCgucGFwZXItaW5wdXQtbGFiZWwpIHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50IDo6c2xvdHRlZChpbnB1dCksCiAgICAgIC5pbnB1dC1jb250ZW50IDo6c2xvdHRlZChpcm9uLWlucHV0KSwKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKHRleHRhcmVhKSwKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKGlyb24tYXV0b2dyb3ctdGV4dGFyZWEpLAogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQoLnBhcGVyLWlucHV0LWlucHV0KSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLXNoYXJlZC1pbnB1dC1zdHlsZTsKICAgICAgICAvKiBUaGUgYXBwbHkgc2hpbSBkb2Vzbid0IGFwcGx5IHRoZSBuZXN0ZWQgY29sb3IgY3VzdG9tIHByb3BlcnR5LAogICAgICAgICAgc28gd2UgaGF2ZSB0byByZS1hcHBseSBpdCBoZXJlLiAqLwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtY29sb3IsIHZhcigtLXByaW1hcnktdGV4dC1jb2xvcikpOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dDsKICAgICAgfQoKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKGlucHV0KTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKGlucHV0KTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWlucHV0LXdlYmtpdC1zcGlubmVyOwogICAgICB9CgogICAgICAuaW5wdXQtY29udGVudC5mb2N1c2VkIDo6c2xvdHRlZChpbnB1dCksCiAgICAgIC5pbnB1dC1jb250ZW50LmZvY3VzZWQgOjpzbG90dGVkKGlyb24taW5wdXQpLAogICAgICAuaW5wdXQtY29udGVudC5mb2N1c2VkIDo6c2xvdHRlZCh0ZXh0YXJlYSksCiAgICAgIC5pbnB1dC1jb250ZW50LmZvY3VzZWQgOjpzbG90dGVkKGlyb24tYXV0b2dyb3ctdGV4dGFyZWEpLAogICAgICAuaW5wdXQtY29udGVudC5mb2N1c2VkIDo6c2xvdHRlZCgucGFwZXItaW5wdXQtaW5wdXQpIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtZm9jdXM7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50LmlzLWludmFsaWQgOjpzbG90dGVkKGlucHV0KSwKICAgICAgLmlucHV0LWNvbnRlbnQuaXMtaW52YWxpZCA6OnNsb3R0ZWQoaXJvbi1pbnB1dCksCiAgICAgIC5pbnB1dC1jb250ZW50LmlzLWludmFsaWQgOjpzbG90dGVkKHRleHRhcmVhKSwKICAgICAgLmlucHV0LWNvbnRlbnQuaXMtaW52YWxpZCA6OnNsb3R0ZWQoaXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYSksCiAgICAgIC5pbnB1dC1jb250ZW50LmlzLWludmFsaWQgOjpzbG90dGVkKC5wYXBlci1pbnB1dC1pbnB1dCkgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dC1pbnZhbGlkOwogICAgICB9CgogICAgICAucHJlZml4IDo6c2xvdHRlZCgqKSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtc3ViaGVhZDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZmxleC1ub25lOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LXByZWZpeDsKICAgICAgfQoKICAgICAgLnN1ZmZpeCA6OnNsb3R0ZWQoKikgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LXN1YmhlYWQ7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXgtbm9uZTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtc3VmZml4OwogICAgICB9CgogICAgICAvKiBGaXJlZm94IHNldHMgYSBtaW4td2lkdGggb24gdGhlIGlucHV0LCB3aGljaCBjYW4gY2F1c2UgbGF5b3V0IGlzc3VlcyAqLwogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQoaW5wdXQpIHsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50IDo6c2xvdHRlZCh0ZXh0YXJlYSkgewogICAgICAgIHJlc2l6ZTogbm9uZTsKICAgICAgfQoKICAgICAgLmFkZC1vbi1jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5hZGQtb24tY29udGVudC5pcy1pbnZhbGlkIDo6c2xvdHRlZCgqKSB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnZhbGlkLWNvbG9yLCB2YXIoLS1lcnJvci1jb2xvcikpOwogICAgICB9CgogICAgICAuYWRkLW9uLWNvbnRlbnQuaXMtaGlnaGxpZ2h0ZWQgOjpzbG90dGVkKCopIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWZvY3VzLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZmxvYXRlZC1sYWJlbC1wbGFjZWhvbGRlciIgYXJpYS1oaWRkZW49InRydWUiIGhpZGRlbj0iW1tub0xhYmVsRmxvYXRdXSI+Jm5ic3A7PC9kaXY+CgogICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgIDxzcGFuIGNsYXNzPSJwcmVmaXgiPjxzbG90IG5hbWU9InByZWZpeCI+PC9zbG90Pjwvc3Bhbj4KCiAgICAgIDxkaXYgY2xhc3MkPSJbW19jb21wdXRlSW5wdXRDb250ZW50Q2xhc3Mobm9MYWJlbEZsb2F0LGFsd2F5c0Zsb2F0TGFiZWwsZm9jdXNlZCxpbnZhbGlkLF9pbnB1dEhhc0NvbnRlbnQpXV0iIGlkPSJsYWJlbEFuZElucHV0Q29udGFpbmVyIj4KICAgICAgICA8c2xvdCBuYW1lPSJsYWJlbCI+PC9zbG90PgogICAgICAgIDxzbG90IG5hbWU9ImlucHV0Ij48L3Nsb3Q+CiAgICAgIDwvZGl2PgoKICAgICAgPHNwYW4gY2xhc3M9InN1ZmZpeCI+PHNsb3QgbmFtZT0ic3VmZml4Ij48L3Nsb3Q+PC9zcGFuPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcyQ9IltbX2NvbXB1dGVVbmRlcmxpbmVDbGFzcyhmb2N1c2VkLGludmFsaWQpXV0iPgogICAgICA8ZGl2IGNsYXNzPSJ1bmZvY3VzZWQtbGluZSI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZvY3VzZWQtbGluZSI+PC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzJD0iW1tfY29tcHV0ZUFkZE9uQ29udGVudENsYXNzKGZvY3VzZWQsaW52YWxpZCldXSI+CiAgICAgIDxzbG90IG5hbWU9ImFkZC1vbiI+PC9zbG90PgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJwYXBlci1pbnB1dC1lcnJvciI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKCiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnZhbGlkLWNvbG9yLCB2YXIoLS1lcnJvci1jb2xvcikpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNhcHRpb247CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtZXJyb3I7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6MDsKICAgICAgICByaWdodDowOwogICAgICB9CgogICAgICA6aG9zdChbaW52YWxpZF0pIHsKICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwogICAgICB9OwogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJwYXBlci1pbnB1dCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIDpob3N0KFtmb2N1c2VkXSkgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtoaWRkZW5dKSB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICBpbnB1dCB7CiAgICAgICAgLyogRmlyZWZveCBzZXRzIGEgbWluLXdpZHRoIG9uIHRoZSBpbnB1dCwgd2hpY2ggY2FuIGNhdXNlIGxheW91dCBpc3N1ZXMgKi8KICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC8qIEluIDEueCwgdGhlIDxpbnB1dD4gaXMgZGlzdHJpYnV0ZWQgdG8gcGFwZXItaW5wdXQtY29udGFpbmVyLCB3aGljaCBzdHlsZXMgaXQuCiAgICAgIEluIDIueCB0aGUgPGlyb24taW5wdXQ+IGlzIGRpc3RyaWJ1dGVkIHRvIHBhcGVyLWlucHV0LWNvbnRhaW5lciwgd2hpY2ggc3R5bGVzCiAgICAgIGl0LCBidXQgaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yayBjb3JyZWN0bHksIHdlIG5lZWQgdG8gcmVzZXQgc29tZQogICAgICBvZiB0aGUgbmF0aXZlIGlucHV0J3MgcHJvcGVydGllcyB0byBpbmhlcml0IChmcm9tIHRoZSBpcm9uLWlucHV0KSAqLwogICAgICBpcm9uLWlucHV0ID4gaW5wdXQgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1zaGFyZWQtaW5wdXQtc3R5bGU7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0OwogICAgICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0OwogICAgICAgIHdvcmQtc3BhY2luZzogaW5oZXJpdDsKICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsKICAgICAgICB0ZXh0LXNoYWRvdzogaW5oZXJpdDsKICAgICAgICBjb2xvcjogaW5oZXJpdDsKICAgICAgICBjdXJzb3I6IGluaGVyaXQ7CiAgICAgIH0KCiAgICAgIGlucHV0OmRpc2FibGVkIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtZGlzYWJsZWQ7CiAgICAgIH0KCiAgICAgIGlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLAogICAgICBpbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWlucHV0LXdlYmtpdC1zcGlubmVyOwogICAgICB9CgogICAgICBpbnB1dDo6LXdlYmtpdC1jbGVhci1idXR0b24gewogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dC13ZWJraXQtY2xlYXI7CiAgICAgIH0KCiAgICAgIGlucHV0Ojotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dC13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcjsKICAgICAgfQoKICAgICAgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItY29sb3IsIHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKSk7CiAgICAgIH0KCiAgICAgIGlucHV0Oi1tb3otcGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItY29sb3IsIHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKSk7CiAgICAgIH0KCiAgICAgIGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWNvbG9yLCB2YXIoLS1zZWNvbmRhcnktdGV4dC1jb2xvcikpOwogICAgICB9CgogICAgICBpbnB1dDo6LW1zLWNsZWFyIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItbXMtY2xlYXI7CiAgICAgIH0KCiAgICAgIGlucHV0OjotbXMtcmV2ZWFsIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItbXMtcmV2ZWFsOwogICAgICB9CgogICAgICBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItY29sb3IsIHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKSk7CiAgICAgIH0KCiAgICAgIGxhYmVsIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8cGFwZXItaW5wdXQtY29udGFpbmVyIGlkPSJjb250YWluZXIiIG5vLWxhYmVsLWZsb2F0PSJbW25vTGFiZWxGbG9hdF1dIiBhbHdheXMtZmxvYXQtbGFiZWw9IltbX2NvbXB1dGVBbHdheXNGbG9hdExhYmVsKGFsd2F5c0Zsb2F0TGFiZWwscGxhY2Vob2xkZXIpXV0iIGF1dG8tdmFsaWRhdGUkPSJbW2F1dG9WYWxpZGF0ZV1dIiBkaXNhYmxlZCQ9IltbZGlzYWJsZWRdXSIgaW52YWxpZD0iW1tpbnZhbGlkXV0iPgoKICAgICAgPHNsb3QgbmFtZT0icHJlZml4IiBzbG90PSJwcmVmaXgiPjwvc2xvdD4KCiAgICAgIDxsYWJlbCBoaWRkZW4kPSJbWyFsYWJlbF1dIiBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9yJD0iW1tfaW5wdXRJZF1dIiBzbG90PSJsYWJlbCI+W1tsYWJlbF1dPC9sYWJlbD4KCiAgICAgIDxzcGFuIGlkPSJ0ZW1wbGF0ZS1wbGFjZWhvbGRlciI+PC9zcGFuPgoKICAgICAgPHNsb3QgbmFtZT0ic3VmZml4IiBzbG90PSJzdWZmaXgiPjwvc2xvdD4KCiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tlcnJvck1lc3NhZ2VdXSI+CiAgICAgICAgPHBhcGVyLWlucHV0LWVycm9yIGFyaWEtbGl2ZT0iYXNzZXJ0aXZlIiBzbG90PSJhZGQtb24iPltbZXJyb3JNZXNzYWdlXV08L3BhcGVyLWlucHV0LWVycm9yPgogICAgICA8L3RlbXBsYXRlPgoKICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2NoYXJDb3VudGVyXV0iPgogICAgICAgIDxwYXBlci1pbnB1dC1jaGFyLWNvdW50ZXIgc2xvdD0iYWRkLW9uIj48L3BhcGVyLWlucHV0LWNoYXItY291bnRlcj4KICAgICAgPC90ZW1wbGF0ZT4KCiAgICA8L3BhcGVyLWlucHV0LWNvbnRhaW5lcj4KICA8L3RlbXBsYXRlPgoKICAKICA8dGVtcGxhdGUgaWQ9InYwIj4KICAgIDxpbnB1dCBpcz0iaXJvbi1pbnB1dCIgc2xvdD0iaW5wdXQiIGNsYXNzPSJpbnB1dC1lbGVtZW50IiBpZCQ9IltbX2lucHV0SWRdXSIgYXJpYS1sYWJlbGxlZGJ5JD0iW1tfYXJpYUxhYmVsbGVkQnldXSIgYXJpYS1kZXNjcmliZWRieSQ9IltbX2FyaWFEZXNjcmliZWRCeV1dIiBkaXNhYmxlZCQ9IltbZGlzYWJsZWRdXSIgdGl0bGUkPSJbW3RpdGxlXV0iIGJpbmQtdmFsdWU9Int7dmFsdWV9fSIgaW52YWxpZD0ie3tpbnZhbGlkfX0iIHByZXZlbnQtaW52YWxpZC1pbnB1dD0iW1twcmV2ZW50SW52YWxpZElucHV0XV0iIGFsbG93ZWQtcGF0dGVybj0iW1thbGxvd2VkUGF0dGVybl1dIiB2YWxpZGF0b3I9IltbdmFsaWRhdG9yXV0iIHR5cGUkPSJbW3R5cGVdXSIgcGF0dGVybiQ9IltbcGF0dGVybl1dIiByZXF1aXJlZCQ9IltbcmVxdWlyZWRdXSIgYXV0b2NvbXBsZXRlJD0iW1thdXRvY29tcGxldGVdXSIgYXV0b2ZvY3VzJD0iW1thdXRvZm9jdXNdXSIgaW5wdXRtb2RlJD0iW1tpbnB1dG1vZGVdXSIgbWlubGVuZ3RoJD0iW1ttaW5sZW5ndGhdXSIgbWF4bGVuZ3RoJD0iW1ttYXhsZW5ndGhdXSIgbWluJD0iW1ttaW5dXSIgbWF4JD0iW1ttYXhdXSIgc3RlcCQ9Iltbc3RlcF1dIiBuYW1lJD0iW1tuYW1lXV0iIHBsYWNlaG9sZGVyJD0iW1twbGFjZWhvbGRlcl1dIiByZWFkb25seSQ9IltbcmVhZG9ubHldXSIgbGlzdCQ9IltbbGlzdF1dIiBzaXplJD0iW1tzaXplXV0iIGF1dG9jYXBpdGFsaXplJD0iW1thdXRvY2FwaXRhbGl6ZV1dIiBhdXRvY29ycmVjdCQ9IltbYXV0b2NvcnJlY3RdXSIgb24tY2hhbmdlPSJfb25DaGFuZ2UiIHRhYmluZGV4JD0iW1t0YWJJbmRleF1dIiBhdXRvc2F2ZSQ9IltbYXV0b3NhdmVdXSIgcmVzdWx0cyQ9IltbcmVzdWx0c11dIiBhY2NlcHQkPSJbW2FjY2VwdF1dIiBtdWx0aXBsZSQ9IltbbXVsdGlwbGVdXSI+CiAgPC90ZW1wbGF0ZT4KCiAgPHRlbXBsYXRlIGlkPSJ2MSI+CiAgICAKICAgIDxpcm9uLWlucHV0IGJpbmQtdmFsdWU9Int7dmFsdWV9fSIgc2xvdD0iaW5wdXQiIGNsYXNzPSJpbnB1dC1lbGVtZW50IiBpZCQ9IltbX2lucHV0SWRdXSIgbWF4bGVuZ3RoJD0iW1ttYXhsZW5ndGhdXSIgYWxsb3dlZC1wYXR0ZXJuPSJbW2FsbG93ZWRQYXR0ZXJuXV0iIGludmFsaWQ9Int7aW52YWxpZH19IiB2YWxpZGF0b3I9IltbdmFsaWRhdG9yXV0iPgogICAgICA8aW5wdXQgYXJpYS1sYWJlbGxlZGJ5JD0iW1tfYXJpYUxhYmVsbGVkQnldXSIgYXJpYS1kZXNjcmliZWRieSQ9IltbX2FyaWFEZXNjcmliZWRCeV1dIiBkaXNhYmxlZCQ9IltbZGlzYWJsZWRdXSIgdGl0bGUkPSJbW3RpdGxlXV0iIHR5cGUkPSJbW3R5cGVdXSIgcGF0dGVybiQ9IltbcGF0dGVybl1dIiByZXF1aXJlZCQ9IltbcmVxdWlyZWRdXSIgYXV0b2NvbXBsZXRlJD0iW1thdXRvY29tcGxldGVdXSIgYXV0b2ZvY3VzJD0iW1thdXRvZm9jdXNdXSIgaW5wdXRtb2RlJD0iW1tpbnB1dG1vZGVdXSIgbWlubGVuZ3RoJD0iW1ttaW5sZW5ndGhdXSIgbWF4bGVuZ3RoJD0iW1ttYXhsZW5ndGhdXSIgbWluJD0iW1ttaW5dXSIgbWF4JD0iW1ttYXhdXSIgc3RlcCQ9Iltbc3RlcF1dIiBuYW1lJD0iW1tuYW1lXV0iIHBsYWNlaG9sZGVyJD0iW1twbGFjZWhvbGRlcl1dIiByZWFkb25seSQ9IltbcmVhZG9ubHldXSIgbGlzdCQ9IltbbGlzdF1dIiBzaXplJD0iW1tzaXplXV0iIGF1dG9jYXBpdGFsaXplJD0iW1thdXRvY2FwaXRhbGl6ZV1dIiBhdXRvY29ycmVjdCQ9IltbYXV0b2NvcnJlY3RdXSIgb24tY2hhbmdlPSJfb25DaGFuZ2UiIHRhYmluZGV4JD0iW1t0YWJJbmRleF1dIiBhdXRvc2F2ZSQ9IltbYXV0b3NhdmVdXSIgcmVzdWx0cyQ9IltbcmVzdWx0c11dIiBhY2NlcHQkPSJbW2FjY2VwdF1dIiBtdWx0aXBsZSQ9IltbbXVsdGlwbGVdXSI+CiAgICA8L2lyb24taW5wdXQ+CiAgPC90ZW1wbGF0ZT4KCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0iaXJvbi1vdmVybGF5LWJhY2tkcm9wIj4KCiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pcm9uLW92ZXJsYXktYmFja2Ryb3AtYmFja2dyb3VuZC1jb2xvciwgIzAwMCk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgQGFwcGx5IC0taXJvbi1vdmVybGF5LWJhY2tkcm9wOwogICAgICB9CgogICAgICA6aG9zdCgub3BlbmVkKSB7CiAgICAgICAgb3BhY2l0eTogdmFyKC0taXJvbi1vdmVybGF5LWJhY2tkcm9wLW9wYWNpdHksIDAuNik7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgQGFwcGx5IC0taXJvbi1vdmVybGF5LWJhY2tkcm9wLW9wZW5lZDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CiAgPC90ZW1wbGF0ZT4KCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0iaXJvbi1kcm9wZG93biI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICB9CgogICAgICAjY29udGVudFdyYXBwZXIgOjpzbG90dGVkKCopIHsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgfQoKICAgICAgI2NvbnRlbnRXcmFwcGVyLmFuaW1hdGluZyA6OnNsb3R0ZWQoKikgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBpZD0iY29udGVudFdyYXBwZXIiPgogICAgICA8c2xvdCBpZD0iY29udGVudCIgbmFtZT0iZHJvcGRvd24tY29udGVudCI+PC9zbG90PgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0icGFwZXItbWVudS1idXR0b24iPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIG91dGxpbmU6IG5vbmU7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLW1lbnUtYnV0dG9uOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSB7CiAgICAgICAgY3Vyc29yOiBhdXRvOwogICAgICAgIGNvbG9yOiB2YXIoLS1kaXNhYmxlZC10ZXh0LWNvbG9yKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItbWVudS1idXR0b24tZGlzYWJsZWQ7CiAgICAgIH0KCiAgICAgIGlyb24tZHJvcGRvd24gewogICAgICAgIEBhcHBseSAtLXBhcGVyLW1lbnUtYnV0dG9uLWRyb3Bkb3duOwogICAgICB9CgogICAgICAuZHJvcGRvd24tY29udGVudCB7CiAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi0yZHA7CgogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItbWVudS1idXR0b24tZHJvcGRvd24tYmFja2dyb3VuZCwgdmFyKC0tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLW1lbnUtYnV0dG9uLWNvbnRlbnQ7CiAgICAgIH0KCiAgICAgIDpob3N0KFt2ZXJ0aWNhbC1hbGlnbj0idG9wIl0pIC5kcm9wZG93bi1jb250ZW50IHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIG1hcmdpbi10b3A6IC0xMHB4OwogICAgICAgIHRvcDogMTBweDsKICAgICAgfQoKICAgICAgOmhvc3QoW3ZlcnRpY2FsLWFsaWduPSJib3R0b20iXSkgLmRyb3Bkb3duLWNvbnRlbnQgewogICAgICAgIGJvdHRvbTogMTBweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAtMTBweDsKICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgICB9CgogICAgICAjdHJpZ2dlciB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgaWQ9InRyaWdnZXIiIG9uLXRhcD0idG9nZ2xlIj4KICAgICAgPHNsb3QgbmFtZT0iZHJvcGRvd24tdHJpZ2dlciI+PC9zbG90PgogICAgPC9kaXY+CgogICAgPGlyb24tZHJvcGRvd24gaWQ9ImRyb3Bkb3duIiBvcGVuZWQ9Int7b3BlbmVkfX0iIGhvcml6b250YWwtYWxpZ249IltbaG9yaXpvbnRhbEFsaWduXV0iIHZlcnRpY2FsLWFsaWduPSJbW3ZlcnRpY2FsQWxpZ25dXSIgZHluYW1pYy1hbGlnbj0iW1tkeW5hbWljQWxpZ25dXSIgaG9yaXpvbnRhbC1vZmZzZXQ9IltbaG9yaXpvbnRhbE9mZnNldF1dIiB2ZXJ0aWNhbC1vZmZzZXQ9IltbdmVydGljYWxPZmZzZXRdXSIgbm8tb3ZlcmxhcD0iW1tub092ZXJsYXBdXSIgb3Blbi1hbmltYXRpb24tY29uZmlnPSJbW29wZW5BbmltYXRpb25Db25maWddXSIgY2xvc2UtYW5pbWF0aW9uLWNvbmZpZz0iW1tjbG9zZUFuaW1hdGlvbkNvbmZpZ11dIiBuby1hbmltYXRpb25zPSJbW25vQW5pbWF0aW9uc11dIiBmb2N1cy10YXJnZXQ9IltbX2Ryb3Bkb3duQ29udGVudF1dIiBhbGxvdy1vdXRzaWRlLXNjcm9sbD0iW1thbGxvd091dHNpZGVTY3JvbGxdXSIgcmVzdG9yZS1mb2N1cy1vbi1jbG9zZT0iW1tyZXN0b3JlRm9jdXNPbkNsb3NlXV0iIG9uLWlyb24tb3ZlcmxheS1jYW5jZWxlZD0iX19vbklyb25PdmVybGF5Q2FuY2VsZWQiPgogICAgICA8ZGl2IHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiIGNsYXNzPSJkcm9wZG93bi1jb250ZW50Ij4KICAgICAgICA8c2xvdCBpZD0iY29udGVudCIgbmFtZT0iZHJvcGRvd24tY29udGVudCI+PC9zbG90PgogICAgICA8L2Rpdj4KICAgIDwvaXJvbi1kcm9wZG93bj4KICA8L3RlbXBsYXRlPgoKICAKPC9kb20tbW9kdWxlPjxpcm9uLWljb25zZXQtc3ZnIG5hbWU9InBhcGVyLWRyb3Bkb3duLW1lbnUiIHNpemU9IjI0Ij4KPHN2Zz48ZGVmcz4KPGcgaWQ9ImFycm93LWRyb3AtZG93biI+PHBhdGggZD0iTTcgMTBsNSA1IDUtNXoiPjwvcGF0aD48L2c+CjwvZGVmcz48L3N2Zz4KPC9pcm9uLWljb25zZXQtc3ZnPjxkb20tbW9kdWxlIGlkPSJwYXBlci1kcm9wZG93bi1tZW51LXNoYXJlZC1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKCiAgICAgICAgLyogTk9URShjZGF0YSk6IEJvdGggdmFsdWVzIGFyZSBuZWVkZWQsIHNpbmNlIHNvbWUgcGhvbmVzIHJlcXVpcmUgdGhlCiAgICAgICAgICogdmFsdWUgdG8gYmUgYHRyYW5zcGFyZW50YC4KICAgICAgICAgKi8KICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7CiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsKCiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQ6IHsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH07CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWRyb3Bkb3duLW1lbnU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1kcm9wZG93bi1tZW51LWRpc2FibGVkOwogICAgICB9CgogICAgICA6aG9zdChbbm9pbmtdKSBwYXBlci1yaXBwbGUgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtuby1sYWJlbC1mbG9hdF0pIHBhcGVyLXJpcHBsZSB7CiAgICAgICAgdG9wOiA4cHg7CiAgICAgIH0KCiAgICAgIHBhcGVyLXJpcHBsZSB7CiAgICAgICAgdG9wOiAxMnB4OwogICAgICAgIGxlZnQ6IDBweDsKICAgICAgICBib3R0b206IDhweDsKICAgICAgICByaWdodDogMHB4OwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1kcm9wZG93bi1tZW51LXJpcHBsZTsKICAgICAgfQoKICAgICAgcGFwZXItbWVudS1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDA7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWRyb3Bkb3duLW1lbnUtYnV0dG9uOwogICAgICB9CgogICAgICBwYXBlci1pbnB1dCB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZHJvcGRvd24tbWVudS1pbnB1dDsKICAgICAgfQoKICAgICAgaXJvbi1pY29uIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGlzYWJsZWQtdGV4dC1jb2xvcik7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWRyb3Bkb3duLW1lbnUtaWNvbjsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLWRyb3Bkb3duLW1lbnUiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZSBpbmNsdWRlPSJwYXBlci1kcm9wZG93bi1tZW51LXNoYXJlZC1zdHlsZXMiPjwvc3R5bGU+CgogICAgCiAgICA8c3BhbiByb2xlPSJidXR0b24iPjwvc3Bhbj4KICAgIDxwYXBlci1tZW51LWJ1dHRvbiBpZD0ibWVudUJ1dHRvbiIgdmVydGljYWwtYWxpZ249IltbdmVydGljYWxBbGlnbl1dIiBob3Jpem9udGFsLWFsaWduPSJbW2hvcml6b250YWxBbGlnbl1dIiBkeW5hbWljLWFsaWduPSJbW2R5bmFtaWNBbGlnbl1dIiB2ZXJ0aWNhbC1vZmZzZXQ9IltbX2NvbXB1dGVNZW51VmVydGljYWxPZmZzZXQobm9MYWJlbEZsb2F0LCB2ZXJ0aWNhbE9mZnNldCldXSIgZGlzYWJsZWQ9IltbZGlzYWJsZWRdXSIgbm8tYW5pbWF0aW9ucz0iW1tub0FuaW1hdGlvbnNdXSIgb24taXJvbi1zZWxlY3Q9Il9vbklyb25TZWxlY3QiIG9uLWlyb24tZGVzZWxlY3Q9Il9vbklyb25EZXNlbGVjdCIgb3BlbmVkPSJ7e29wZW5lZH19IiBjbG9zZS1vbi1hY3RpdmF0ZSBhbGxvdy1vdXRzaWRlLXNjcm9sbD0iW1thbGxvd091dHNpZGVTY3JvbGxdXSIgcmVzdG9yZS1mb2N1cy1vbi1jbG9zZT0iW1tyZXN0b3JlRm9jdXNPbkNsb3NlXV0iPgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZHJvcGRvd24tdHJpZ2dlciIgc2xvdD0iZHJvcGRvd24tdHJpZ2dlciI+CiAgICAgICAgPHBhcGVyLXJpcHBsZT48L3BhcGVyLXJpcHBsZT4KICAgICAgICAKICAgICAgICA8cGFwZXItaW5wdXQgdHlwZT0idGV4dCIgaW52YWxpZD0iW1tpbnZhbGlkXV0iIHJlYWRvbmx5IGRpc2FibGVkPSJbW2Rpc2FibGVkXV0iIHZhbHVlPSJbW3ZhbHVlXV0iIHBsYWNlaG9sZGVyPSJbW3BsYWNlaG9sZGVyXV0iIGVycm9yLW1lc3NhZ2U9IltbZXJyb3JNZXNzYWdlXV0iIGFsd2F5cy1mbG9hdC1sYWJlbD0iW1thbHdheXNGbG9hdExhYmVsXV0iIG5vLWxhYmVsLWZsb2F0PSJbW25vTGFiZWxGbG9hdF1dIiBsYWJlbD0iW1tsYWJlbF1dIj4KICAgICAgICAgIAogICAgICAgICAgPGlyb24taWNvbiBpY29uPSJwYXBlci1kcm9wZG93bi1tZW51OmFycm93LWRyb3AtZG93biIgc3VmZml4IHNsb3Q9InN1ZmZpeCI+PC9pcm9uLWljb24+CiAgICAgICAgPC9wYXBlci1pbnB1dD4KICAgICAgPC9kaXY+CiAgICAgIDxzbG90IGlkPSJjb250ZW50IiBuYW1lPSJkcm9wZG93bi1jb250ZW50IiBzbG90PSJkcm9wZG93bi1jb250ZW50Ij48L3Nsb3Q+CiAgICA8L3BhcGVyLW1lbnUtYnV0dG9uPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLWxpc3Rib3giPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDhweCAwOwoKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci1saXN0Ym94LWJhY2tncm91bmQtY29sb3IsIHZhcigtLXByaW1hcnktYmFja2dyb3VuZC1jb2xvcikpOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1saXN0Ym94LWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItbGlzdGJveDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0icGFwZXItaXRlbS1zaGFyZWQtc3R5bGVzIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0LCAucGFwZXItaXRlbSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLXBhcGVyLWl0ZW0tbWluLWhlaWdodCwgNDhweCk7CiAgICAgICAgcGFkZGluZzogMHB4IDE2cHg7CiAgICAgIH0KCiAgICAgIC5wYXBlci1pdGVtIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LXN1YmhlYWQ7CiAgICAgICAgYm9yZGVyOm5vbmU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICB9CgogICAgICA6aG9zdChbaGlkZGVuXSksIC5wYXBlci1pdGVtW2hpZGRlbl0gewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgOmhvc3QoLmlyb24tc2VsZWN0ZWQpLCAucGFwZXItaXRlbS5pcm9uLXNlbGVjdGVkIHsKICAgICAgICBmb250LXdlaWdodDogdmFyKC0tcGFwZXItaXRlbS1zZWxlY3RlZC13ZWlnaHQsIGJvbGQpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1pdGVtLXNlbGVjdGVkOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSwgLnBhcGVyLWl0ZW1bZGlzYWJsZWRdIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaXRlbS1kaXNhYmxlZC1jb2xvciwgdmFyKC0tZGlzYWJsZWQtdGV4dC1jb2xvcikpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1pdGVtLWRpc2FibGVkOwogICAgICB9CgogICAgICA6aG9zdCg6Zm9jdXMpLCAucGFwZXItaXRlbTpmb2N1cyB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG91dGxpbmU6IDA7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWl0ZW0tZm9jdXNlZDsKICAgICAgfQoKICAgICAgOmhvc3QoOmZvY3VzKTpiZWZvcmUsIC5wYXBlci1pdGVtOmZvY3VzOmJlZm9yZSB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZpdDsKCiAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yOwogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIG9wYWNpdHk6IHZhcigtLWRhcmstZGl2aWRlci1vcGFjaXR5KTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItaXRlbS1mb2N1c2VkLWJlZm9yZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLWl0ZW0iPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZSBpbmNsdWRlPSJwYXBlci1pdGVtLXNoYXJlZC1zdHlsZXMiPgogICAgICA6aG9zdCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWw7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlcjsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LXN1YmhlYWQ7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWl0ZW07CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8c2xvdD48L3Nsb3Q+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtYmFja2VuZCI+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtc3RvcmFnZSI+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtdGFnLWZpbHRlcmVyIj4KICA8dGVtcGxhdGU+CiAgICA8cGFwZXItaW5wdXQgbm8tbGFiZWwtZmxvYXQgbGFiZWw9IkZpbHRlciB0YWdzIChyZWd1bGFyIGV4cHJlc3Npb25zIHN1cHBvcnRlZCkiIHZhbHVlPSJ7e190YWdGaWx0ZXJ9fSIgY2xhc3M9InNlYXJjaC1pbnB1dCI+CiAgICAgIDxpcm9uLWljb24gcHJlZml4IGljb249InNlYXJjaCIgc2xvdD0icHJlZml4Ij48L2lyb24taWNvbj4KICAgIDwvcGFwZXItaW5wdXQ+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW46IDEwcHggNXB4IDEwcHggMTBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9Imlyb24tZmxleCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAubGF5b3V0Lmhvcml6b250YWwsCiAgICAgIC5sYXlvdXQudmVydGljYWwgewogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB9CgogICAgICAubGF5b3V0LmlubGluZSB7CiAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuaG9yaXpvbnRhbCB7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQudmVydGljYWwgewogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICAubGF5b3V0LndyYXAgewogICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CgogICAgICAubGF5b3V0Lm5vLXdyYXAgewogICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDsKICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogbm93cmFwOwogICAgICAgIGZsZXgtd3JhcDogbm93cmFwOwogICAgICB9CgogICAgICAubGF5b3V0LmNlbnRlciwKICAgICAgLmxheW91dC5jZW50ZXItY2VudGVyIHsKICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAubGF5b3V0LmNlbnRlci1qdXN0aWZpZWQsCiAgICAgIC5sYXlvdXQuY2VudGVyLWNlbnRlciB7CiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5mbGV4IHsKICAgICAgICAtbXMtZmxleDogMSAxIDAuMDAwMDAwMDAxcHg7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAwLjAwMDAwMDAwMXB4OwogICAgICAgIGZsZXgtYmFzaXM6IDAuMDAwMDAwMDAxcHg7CiAgICAgIH0KCiAgICAgIC5mbGV4LWF1dG8gewogICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bzsKICAgICAgICAtd2Via2l0LWZsZXg6IDEgMSBhdXRvOwogICAgICAgIGZsZXg6IDEgMSBhdXRvOwogICAgICB9CgogICAgICAuZmxleC1ub25lIHsKICAgICAgICAtbXMtZmxleDogbm9uZTsKICAgICAgICAtd2Via2l0LWZsZXg6IG5vbmU7CiAgICAgICAgZmxleDogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9Imlyb24tZmxleC1yZXZlcnNlIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIC5sYXlvdXQuaG9yaXpvbnRhbC1yZXZlcnNlLAogICAgICAubGF5b3V0LnZlcnRpY2FsLXJldmVyc2UgewogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB9CgogICAgICAubGF5b3V0Lmhvcml6b250YWwtcmV2ZXJzZSB7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQudmVydGljYWwtcmV2ZXJzZSB7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQud3JhcC1yZXZlcnNlIHsKICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2U7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsKICAgICAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9Imlyb24tZmxleC1hbGlnbm1lbnQiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgLyoqCiAgICAgICAqIEFsaWdubWVudCBpbiBjcm9zcyBheGlzLgogICAgICAgKi8KICAgICAgLmxheW91dC5zdGFydCB7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0OwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuY2VudGVyLAogICAgICAubGF5b3V0LmNlbnRlci1jZW50ZXIgewogICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuZW5kIHsKICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgICAgfQoKICAgICAgLmxheW91dC5iYXNlbGluZSB7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGJhc2VsaW5lOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEFsaWdubWVudCBpbiBtYWluIGF4aXMuCiAgICAgICAqLwogICAgICAubGF5b3V0LnN0YXJ0LWp1c3RpZmllZCB7CiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICB9CgogICAgICAubGF5b3V0LmNlbnRlci1qdXN0aWZpZWQsCiAgICAgIC5sYXlvdXQuY2VudGVyLWNlbnRlciB7CiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuZW5kLWp1c3RpZmllZCB7CiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kOwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICB9CgogICAgICAubGF5b3V0LmFyb3VuZC1qdXN0aWZpZWQgewogICAgICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsKICAgICAgfQoKICAgICAgLmxheW91dC5qdXN0aWZpZWQgewogICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICB9CgogICAgICAvKioKICAgICAgICogU2VsZiBhbGlnbm1lbnQuCiAgICAgICAqLwogICAgICAuc2VsZi1zdGFydCB7CiAgICAgICAgLW1zLWFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OwogICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7CiAgICAgIH0KCiAgICAgIC5zZWxmLWNlbnRlciB7CiAgICAgICAgLW1zLWFsaWduLXNlbGY6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGNlbnRlcjsKICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5zZWxmLWVuZCB7CiAgICAgICAgLW1zLWFsaWduLXNlbGY6IGZsZXgtZW5kOwogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7CiAgICAgIH0KCiAgICAgIC5zZWxmLXN0cmV0Y2ggewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBzdHJldGNoOwogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogc3RyZXRjaDsKICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoOwogICAgICB9CgogICAgICAuc2VsZi1iYXNlbGluZSB7CiAgICAgICAgLW1zLWFsaWduLXNlbGY6IGJhc2VsaW5lOwogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogYmFzZWxpbmU7CiAgICAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmU7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBtdWx0aS1saW5lIGFsaWdubWVudCBpbiBtYWluIGF4aXMuCiAgICAgICAqLwogICAgICAubGF5b3V0LnN0YXJ0LWFsaWduZWQgewogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQ7ICAvKiBJRTEwICovCiAgICAgICAgLW1zLWFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuZW5kLWFsaWduZWQgewogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZW5kOyAgLyogSUUxMCAqLwogICAgICAgIC1tcy1hbGlnbi1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICB9CgogICAgICAubGF5b3V0LmNlbnRlci1hbGlnbmVkIHsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGNlbnRlcjsgIC8qIElFMTAgKi8KICAgICAgICAtbXMtYWxpZ24tY29udGVudDogY2VudGVyOwogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogY2VudGVyOwogICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmxheW91dC5iZXR3ZWVuLWFsaWduZWQgewogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeTsgIC8qIElFMTAgKi8KICAgICAgICAtbXMtYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgfQoKICAgICAgLmxheW91dC5hcm91bmQtYWxpZ25lZCB7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBkaXN0cmlidXRlOyAgLyogSUUxMCAqLwogICAgICAgIC1tcy1hbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0iaXJvbi1mbGV4LWZhY3RvcnMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgLmZsZXgsCiAgICAgIC5mbGV4LTEgewogICAgICAgIC1tcy1mbGV4OiAxIDEgMC4wMDAwMDAwMDFweDsKICAgICAgICAtd2Via2l0LWZsZXg6IDE7CiAgICAgICAgZmxleDogMTsKICAgICAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDAuMDAwMDAwMDAxcHg7CiAgICAgICAgZmxleC1iYXNpczogMC4wMDAwMDAwMDFweDsKICAgICAgfQoKICAgICAgLmZsZXgtMiB7CiAgICAgICAgLW1zLWZsZXg6IDI7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAyOwogICAgICAgIGZsZXg6IDI7CiAgICAgIH0KCiAgICAgIC5mbGV4LTMgewogICAgICAgIC1tcy1mbGV4OiAzOwogICAgICAgIC13ZWJraXQtZmxleDogMzsKICAgICAgICBmbGV4OiAzOwogICAgICB9CgogICAgICAuZmxleC00IHsKICAgICAgICAtbXMtZmxleDogNDsKICAgICAgICAtd2Via2l0LWZsZXg6IDQ7CiAgICAgICAgZmxleDogNDsKICAgICAgfQoKICAgICAgLmZsZXgtNSB7CiAgICAgICAgLW1zLWZsZXg6IDU7CiAgICAgICAgLXdlYmtpdC1mbGV4OiA1OwogICAgICAgIGZsZXg6IDU7CiAgICAgIH0KCiAgICAgIC5mbGV4LTYgewogICAgICAgIC1tcy1mbGV4OiA2OwogICAgICAgIC13ZWJraXQtZmxleDogNjsKICAgICAgICBmbGV4OiA2OwogICAgICB9CgogICAgICAuZmxleC03IHsKICAgICAgICAtbXMtZmxleDogNzsKICAgICAgICAtd2Via2l0LWZsZXg6IDc7CiAgICAgICAgZmxleDogNzsKICAgICAgfQoKICAgICAgLmZsZXgtOCB7CiAgICAgICAgLW1zLWZsZXg6IDg7CiAgICAgICAgLXdlYmtpdC1mbGV4OiA4OwogICAgICAgIGZsZXg6IDg7CiAgICAgIH0KCiAgICAgIC5mbGV4LTkgewogICAgICAgIC1tcy1mbGV4OiA5OwogICAgICAgIC13ZWJraXQtZmxleDogOTsKICAgICAgICBmbGV4OiA5OwogICAgICB9CgogICAgICAuZmxleC0xMCB7CiAgICAgICAgLW1zLWZsZXg6IDEwOwogICAgICAgIC13ZWJraXQtZmxleDogMTA7CiAgICAgICAgZmxleDogMTA7CiAgICAgIH0KCiAgICAgIC5mbGV4LTExIHsKICAgICAgICAtbXMtZmxleDogMTE7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxMTsKICAgICAgICBmbGV4OiAxMTsKICAgICAgfQoKICAgICAgLmZsZXgtMTIgewogICAgICAgIC1tcy1mbGV4OiAxMjsKICAgICAgICAtd2Via2l0LWZsZXg6IDEyOwogICAgICAgIGZsZXg6IDEyOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0iaXJvbi1wb3NpdGlvbmluZyI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAuYmxvY2sgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICBbaGlkZGVuXSB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuaW52aXNpYmxlIHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLnJlbGF0aXZlIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5maXQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH0KCiAgICAgIGJvZHkuZnVsbGJsZWVkIHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgaGVpZ2h0OiAxMDB2aDsKICAgICAgfQoKICAgICAgLnNjcm9sbCB7CiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICB9CgogICAgICAvKiBmaXhlZCBwb3NpdGlvbiAqLwogICAgICAuZml4ZWQtYm90dG9tLAogICAgICAuZml4ZWQtbGVmdCwKICAgICAgLmZpeGVkLXJpZ2h0LAogICAgICAuZml4ZWQtdG9wIHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgIH0KCiAgICAgIC5maXhlZC10b3AgewogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICB9CgogICAgICAuZml4ZWQtcmlnaHQgewogICAgICAgIHRvcDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC5maXhlZC1ib3R0b20gewogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICB9CgogICAgICAuZml4ZWQtbGVmdCB7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0iZGFzaGJvYXJkLXN0eWxlIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGUgaW5jbHVkZT0iaXJvbi1mbGV4Ij48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgLS1zaWRlYmFyLXZlcnRpY2FsLXBhZGRpbmc6IDE1cHg7CiAgICAgICAgLS1zaWRlYmFyLWxlZnQtcGFkZGluZzogMzBweDsKICAgICAgfQoKICAgICAgW3Nsb3Q9J3NpZGViYXInXSB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsKICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgICAgcGFkZGluZzogNXB4IDA7CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIHRmLXJ1bnMtc2VsZWN0b3IgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBsZWZ0OiB2YXIoLS1zaWRlYmFyLWxlZnQtcGFkZGluZyk7CiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tc2lkZWJhci12ZXJ0aWNhbC1wYWRkaW5nKSAqIDIpOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAwOwogICAgICB9CgogICAgICAuc2VhcmNoLWlucHV0IHsKICAgICAgICBtYXJnaW46IDEwcHggNXB4IDAgMTBweDsKICAgICAgfQoKICAgICAgLnNpZGViYXItc2VjdGlvbiB7CiAgICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7CiAgICAgICAgcGFkZGluZzogdmFyKC0tc2lkZWJhci12ZXJ0aWNhbC1wYWRkaW5nKSAwCiAgICAgICAgICB2YXIoLS1zaWRlYmFyLXZlcnRpY2FsLXBhZGRpbmcpIHZhcigtLXNpZGViYXItbGVmdC1wYWRkaW5nKTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5zaWRlYmFyLXNlY3Rpb246Zmlyc3Qtb2YtdHlwZSB7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICB9CgogICAgICAuc2lkZWJhci1zZWN0aW9uOmxhc3Qtb2YtdHlwZSB7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIH0KCiAgICAgIC5zaWRlYmFyLXNlY3Rpb24gcGFwZXItYnV0dG9uIHsKICAgICAgICBtYXJnaW46IDVweDsKICAgICAgfQoKICAgICAgLnNpZGViYXItc2VjdGlvbiBwYXBlci1idXR0b246Zmlyc3Qtb2YtdHlwZSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLnNpZGViYXItc2VjdGlvbiBwYXBlci1idXR0b246bGFzdC1vZi10eXBlIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLnNpZGViYXItc2VjdGlvbiA+IDpmaXJzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICBwYWRkaW5nLXRvcDogMDsKICAgICAgfQoKICAgICAgLnNpZGViYXItc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIHBhZGRpbmctYm90dG9tOiAwOwogICAgICB9CgogICAgICAuc2lkZWJhci1zZWN0aW9uIGgzIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItZ3JleS04MDApOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICAgIG1hcmdpbjogMTBweCAwIDVweDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgcGFwZXItY2hlY2tib3ggewogICAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvcjogdmFyKC0tdGItdWktZGFyay1hY2NlbnQpOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS10Yi11aS1kYXJrLWFjY2VudCk7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIG1hcmdpbi10b3A6IDVweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InNjcm9sbGJhci1zdHlsZSI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAuc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICB9CgogICAgICAuc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgIH0KCiAgICAgIC5zY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItZ3JleS01MDApOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1ncmV5LTkwMCk7CiAgICAgIH0KICAgICAgLnNjcm9sbGJhciB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWRhc2hib2FyZC1sYXlvdXQiPgogIDx0ZW1wbGF0ZT4KICAgIDxkaXYgaWQ9InNpZGViYXIiPgogICAgICA8c2xvdCBuYW1lPSJzaWRlYmFyIj48L3Nsb3Q+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGlkPSJjZW50ZXIiPgogICAgICA8c2xvdCBuYW1lPSJjZW50ZXIiIGNsYXNzPSJzY29sbGJhciI+PC9zbG90PgogICAgPC9kaXY+CiAgICA8c3R5bGUgaW5jbHVkZT0ic2Nyb2xsYmFyLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgI3NpZGViYXIgewogICAgICAgIGZsZXg6IDAgMCB2YXIoLS10Zi1kYXNoYm9hcmQtbGF5b3V0LXNpZGViYXItYmFzaXMsIDI1JSk7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG1heC13aWR0aDogdmFyKC0tdGYtZGFzaGJvYXJkLWxheW91dC1zaWRlYmFyLW1heC13aWR0aCwgMzUwcHgpOwogICAgICAgIG1pbi13aWR0aDogdmFyKC0tdGYtZGFzaGJvYXJkLWxheW91dC1zaWRlYmFyLW1pbi13aWR0aCwgMjcwcHgpOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgICNjZW50ZXIgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgOjpzbG90dGVkKFtzbG90PSdjZW50ZXInXSkgewogICAgICAgIGNvbnRhaW46IHN0cmljdDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgfQoKICAgICAgLnRmLWdyYXBoLWRhc2hib2FyZCAjY2VudGVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtb3B0aW9uLXNlbGVjdG9yIj4KICA8dGVtcGxhdGU+CiAgICA8ZGl2IGlkPSJ3cmFwIj4KICAgICAgPGgzPltbbmFtZV1dPC9oMz4KICAgICAgPGRpdiBjbGFzcz0iY29udGVudC13cmFwcGVyIj48c2xvdD48L3Nsb3Q+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgLmNvbnRlbnQtd3JhcHBlciA6OnNsb3R0ZWQoKikgewogICAgICAgIGJhY2tncm91bmQ6IG5vbmU7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgICAgfQoKICAgICAgLmNvbnRlbnQtd3JhcHBlciA6OnNsb3R0ZWQoKikgewogICAgICAgIGJhY2tncm91bmQ6IG5vbmU7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgICAgfQoKICAgICAgLmNvbnRlbnQtd3JhcHBlciA6OnNsb3R0ZWQoLnNlbGVjdGVkKSB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGItdWktZGFyay1hY2NlbnQpOwogICAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICBoMyB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWdyZXktODAwKTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgICAgICBtYXJnaW46IDAgMCA1cHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJpcm9uLWNvbGxhcHNlIj4KCiAgPHRlbXBsYXRlPgoKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLWlyb24tY29sbGFwc2UtdHJhbnNpdGlvbi1kdXJhdGlvbiwgMzAwbXMpOwogICAgICAgIC8qIFNhZmFyaSAxMCBuZWVkcyB0aGlzIHByb3BlcnR5IHByZWZpeGVkIHRvIGNvcnJlY3RseSBhcHBseSB0aGUgY3VzdG9tIHByb3BlcnR5ICovCiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS1pcm9uLWNvbGxhcHNlLXRyYW5zaXRpb24tZHVyYXRpb24sIDMwMG1zKTsKICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsKICAgICAgfQoKICAgICAgOmhvc3QoLmlyb24tY29sbGFwc2UtY2xvc2VkKSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoOm5vdCguaXJvbi1jb2xsYXBzZS1vcGVuZWQpKSB7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CgogIDwvdGVtcGxhdGU+Cgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3Ij4KICA8dGVtcGxhdGU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3BhbmVSZW5kZXJlZF1dIiBpZD0iaWZSZW5kZXJlZCI+CiAgICAgIDxidXR0b24gY2xhc3M9ImhlYWRpbmciIG9uLXRhcD0iX3RvZ2dsZVBhbmUiIG9wZW4tYnV0dG9uJD0iW1tvcGVuZWRdXSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im5hbWUiPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc1NlYXJjaFJlc3VsdHNdXSI+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNDb21wb3NpdGVTZWFyY2goY2F0ZWdvcnkpXV0iPgogICAgICAgICAgICAgIDxzcGFuPlRhZ3MgbWF0Y2hpbmcgbXVsdGlwbGUgZXhwZXJpbWVudHM8L3NwYW4+CiAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc0ludmFsaWRTZWFyY2hSZXN1bHRzXV0iPgogICAgICAgICAgICAgICAgPHNwYW4+Jm5ic3A7PHN0cm9uZz4obWFsZm9ybWVkIHJlZ3VsYXIgZXhwcmVzc2lvbik8L3N0cm9uZz48L3NwYW4+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfaXNDb21wb3NpdGVTZWFyY2goY2F0ZWdvcnkpXV0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsaWdodCI+VGFncyBtYXRjaGluZyAvPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeS1uYW1lIiB0aXRsZSQ9IltbY2F0ZWdvcnkubmFtZV1dIj5bW2NhdGVnb3J5Lm5hbWVdXTwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGlnaHQiPi88L3NwYW4+CiAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc1VuaXZlcnNhbFNlYXJjaFF1ZXJ5XV0iPgogICAgICAgICAgICAgICAgPHNwYW4+IChhbGwgdGFncyk8L3NwYW4+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzSW52YWxpZFNlYXJjaFJlc3VsdHNdXSI+CiAgICAgICAgICAgICAgICA8c3Bhbj4gPHN0cm9uZz4obWFsZm9ybWVkIHJlZ3VsYXIgZXhwcmVzc2lvbik8L3N0cm9uZz48L3NwYW4+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9pc1NlYXJjaFJlc3VsdHNdXSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeS1uYW1lIiB0aXRsZSQ9IltbY2F0ZWdvcnkubmFtZV1dIj5bW2NhdGVnb3J5Lm5hbWVdXTwvc3Bhbj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJjb3VudCI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hhc011bHRpcGxlXV0iPgogICAgICAgICAgICA8c3Bhbj5bW19jb3VudF1dPC9zcGFuPgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDxpcm9uLWljb24gaWNvbj0iZXhwYW5kLW1vcmUiIGNsYXNzPSJleHBhbmQtYXJyb3ciPjwvaXJvbi1pY29uPgogICAgICAgIDwvc3Bhbj4KICAgICAgPC9idXR0b24+CiAgICAgIAogICAgICA8aXJvbi1jb2xsYXBzZSBvcGVuZWQ9Iltbb3BlbmVkXV0iIG5vLWFuaW1hdGlvbj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KICAgICAgICAgIDxzcGFuIGlkPSJ0b3Atb2YtY29udGFpbmVyIj48L3NwYW4+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX211bHRpcGxlUGFnZXNFeGlzdF1dIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmlnLXBhZ2UtYnV0dG9ucyIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDEwcHg7Ij4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIG9uLXRhcD0iX3BlcmZvcm1QcmV2aW91c1BhZ2UiIGRpc2FibGVkJD0iW1shX2hhc1ByZXZpb3VzUGFnZV1dIj5QcmV2aW91cyBwYWdlPC9wYXBlci1idXR0b24+CiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBvbi10YXA9Il9wZXJmb3JtTmV4dFBhZ2UiIGRpc2FibGVkJD0iW1shX2hhc05leHRQYWdlXV0iPk5leHQgcGFnZTwvcGFwZXItYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CgogICAgICAgICAgPGRpdiBpZD0iaXRlbXMiPgogICAgICAgICAgICA8c2xvdCBuYW1lPSJpdGVtcyI+PC9zbG90PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX211bHRpcGxlUGFnZXNFeGlzdF1dIj4KICAgICAgICAgICAgPGRpdiBpZD0iY29udHJvbHMtY29udGFpbmVyIj4KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDAgNXB4Ij4KICAgICAgICAgICAgICAgIFBhZ2UKICAgICAgICAgICAgICAgIDxwYXBlci1pbnB1dCBpZD0icGFnZS1pbnB1dCIgdHlwZT0ibnVtYmVyIiBuby1sYWJlbC1mbG9hdCBtaW49IjEiIG1heD0iW1tfcGFnZUNvdW50XV0iIHZhbHVlPSJbW19wYWdlSW5wdXRWYWx1ZV1dIiBvbi1pbnB1dD0iX2hhbmRsZVBhZ2VJbnB1dEV2ZW50IiBvbi1jaGFuZ2U9Il9oYW5kbGVQYWdlQ2hhbmdlRXZlbnQiIG9uLWZvY3VzPSJfaGFuZGxlUGFnZUZvY3VzRXZlbnQiIG9uLWJsdXI9Il9oYW5kbGVQYWdlQmx1ckV2ZW50Ij48L3BhcGVyLWlucHV0PgogICAgICAgICAgICAgICAgb2YgW1tfcGFnZUNvdW50XV0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiaWctcGFnZS1idXR0b25zIiBzdHlsZT0ibWFyZ2luLXRvcDogMTBweDsiPgogICAgICAgICAgICAgIDxwYXBlci1idXR0b24gb24tdGFwPSJfcGVyZm9ybVByZXZpb3VzUGFnZSIgZGlzYWJsZWQkPSJbWyFfaGFzUHJldmlvdXNQYWdlXV0iPlByZXZpb3VzIHBhZ2U8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIG9uLXRhcD0iX3BlcmZvcm1OZXh0UGFnZSIgZGlzYWJsZWQkPSJbWyFfaGFzTmV4dFBhZ2VdXSI+TmV4dCBwYWdlPC9wYXBlci1idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9pcm9uLWNvbGxhcHNlPgogICAgPC90ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbjogMCA1cHggMXB4IDEwcHg7CiAgICAgIH0KCiAgICAgIDpob3N0KDpmaXJzdC1vZi10eXBlKSB7CiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgICAgfQoKICAgICAgOmhvc3QoOmxhc3Qtb2YtdHlwZSkgewogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICBib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgwLCAwLCAwLCAwLjIpOwogICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICB9CgogICAgICAuaGVhZGluZzo6LW1vei1mb2N1cy1pbm5lciB7CiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4OwogICAgICB9CgogICAgICBbb3Blbi1idXR0b25dIHsKICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7CiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgW29wZW4tYnV0dG9uXSAuZXhwYW5kLWFycm93IHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKTsKICAgICAgfQoKICAgICAgLm5hbWUgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5saWdodCB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWdyZXktNTAwKTsKICAgICAgfQoKICAgICAgLmNhdGVnb3J5LW5hbWUgewogICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBwYWRkaW5nOiAycHggMDsKICAgICAgfQoKICAgICAgLmNvdW50IHsKICAgICAgICBtYXJnaW46IDAgNXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItZ3JleS01MDApOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBmbGV4OiBub25lOwogICAgICB9CgogICAgICAuaGVhZGluZzo6LW1vei1mb2N1cy1pbm5lciB7CiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4OwogICAgICB9CgogICAgICAuY29udGVudCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDJweDsKICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMnB4OwogICAgICAgIGJvcmRlci10b3A6IG5vbmU7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlZGVkZTsKICAgICAgICBwYWRkaW5nOiAxNXB4OwogICAgICB9CgogICAgICAubGlnaHQgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1ncmV5LTUwMCk7CiAgICAgIH0KCiAgICAgICNjb250cm9scy1jb250YWluZXIgewogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNjb250cm9scy1jb250YWluZXIgcGFwZXItYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KCiAgICAgIC5iaWctcGFnZS1idXR0b25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB9CgogICAgICAuYmlnLXBhZ2UtYnV0dG9ucyBwYXBlci1idXR0b24gewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRiLXVpLWxpZ2h0LWFjY2VudCk7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgZmxleC1iYXNpczogMDsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAuYmlnLXBhZ2UtYnV0dG9ucyBwYXBlci1idXR0b25bZGlzYWJsZWRdIHsKICAgICAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgICB9CgogICAgICBzbG90IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CgogICAgICA6OnNsb3R0ZWQoW3Nsb3Q9J2l0ZW1zJ10pIHsKICAgICAgICAvKiBUb29sdGlwIGZvciBkZXNjcmlwdGlvbnMgYW5kIG90aGVycyBicmVhayB3aXRoIG1vcmUgc3RyaWN0IG9uZXMuICovCiAgICAgICAgY29udGFpbjogc3R5bGU7CiAgICAgIH0KCiAgICAgICNwYWdlLWlucHV0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgd2lkdGg6IHZhcigtLXRmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3LXBhZ2UtaW5wdXQtd2lkdGgsIDEwMCUpOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0icGFwZXItZGlhbG9nLXNoYXJlZC1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbjogMjRweCA0MHB4OwoKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci1kaWFsb2ctYmFja2dyb3VuZC1jb2xvciwgdmFyKC0tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yKSk7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWRpYWxvZy1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtYm9keTE7CiAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi0xNmRwOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWRpYWxvZzsKICAgICAgfQoKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoKikgewogICAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgICAgcGFkZGluZzogMCAyNHB4OwogICAgICB9CgogICAgICA6aG9zdCA+IDo6c2xvdHRlZCgubm8tcGFkZGluZykgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIAogICAgICA6aG9zdCA+IDo6c2xvdHRlZCgqOmZpcnN0LWNoaWxkKSB7CiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsKICAgICAgfQoKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoKjpsYXN0LWNoaWxkKSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLyogSW4gMS54LCB0aGlzIHNlbGVjdG9yIHdhcyBgOmhvc3QgPiA6OmNvbnRlbnQgaDJgLiBJbiAyLnggPHNsb3Q+IGFsbG93cwogICAgICB0byBzZWxlY3QgZGlyZWN0IGNoaWxkcmVuIG9ubHksIHdoaWNoIGluY3JlYXNlcyB0aGUgd2VpZ2h0IG9mIHRoaXMKICAgICAgc2VsZWN0b3IsIHNvIHdlIGhhdmUgdG8gcmUtZGVmaW5lIGZpcnN0LWNoaWxkL2xhc3QtY2hpbGQgbWFyZ2lucyBiZWxvdy4gKi8KICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoaDIpIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luOiAwOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LXRpdGxlOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWRpYWxvZy10aXRsZTsKICAgICAgfQoKICAgICAgLyogQXBwbHkgbWl4aW4gYWdhaW4sIGluIGNhc2UgaXQgc2V0cyBtYXJnaW4tdG9wLiAqLwogICAgICA6aG9zdCA+IDo6c2xvdHRlZChoMjpmaXJzdC1jaGlsZCkgewogICAgICAgIG1hcmdpbi10b3A6IDI0cHg7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZGlhbG9nLXRpdGxlOwogICAgICB9CgogICAgICAvKiBBcHBseSBtaXhpbiBhZ2FpbiwgaW4gY2FzZSBpdCBzZXRzIG1hcmdpbi1ib3R0b20uICovCiAgICAgIDpob3N0ID4gOjpzbG90dGVkKGgyOmxhc3QtY2hpbGQpIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIEBhcHBseSAtLXBhcGVyLWRpYWxvZy10aXRsZTsKICAgICAgfQoKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoLnBhcGVyLWRpYWxvZy1idXR0b25zKSwKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoLmJ1dHRvbnMpIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcGFkZGluZzogOHB4IDhweCA4cHggMjRweDsKICAgICAgICBtYXJnaW46IDA7CgogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1kaWFsb2ctYnV0dG9uLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLWxheW91dC1ob3Jpem9udGFsOwogICAgICAgIEBhcHBseSAtLWxheW91dC1lbmQtanVzdGlmaWVkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0icGFwZXItZGlhbG9nIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGUgaW5jbHVkZT0icGFwZXItZGlhbG9nLXNoYXJlZC1zdHlsZXMiPjwvc3R5bGU+CiAgICA8c2xvdD48L3Nsb3Q+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1jb2xvci1zY2FsZSI+CiAgCiAgCjwvZG9tLW1vZHVsZT48aXJvbi1pY29uc2V0LXN2ZyBuYW1lPSJpY29ucyIgc2l6ZT0iMjQiPgo8c3ZnPjxkZWZzPgo8ZyBpZD0iM2Qtcm90YXRpb24iPjxwYXRoIGQ9Ik03LjUyIDIxLjQ4QzQuMjUgMTkuOTQgMS45MSAxNi43NiAxLjU1IDEzSC4wNUMuNTYgMTkuMTYgNS43MSAyNCAxMiAyNGwuNjYtLjAzLTMuODEtMy44MS0xLjMzIDEuMzJ6bS44OS02LjUyYy0uMTkgMC0uMzctLjAzLS41Mi0uMDgtLjE2LS4wNi0uMjktLjEzLS40LS4yNC0uMTEtLjEtLjItLjIyLS4yNi0uMzctLjA2LS4xNC0uMDktLjMtLjA5LS40N2gtMS4zYzAgLjM2LjA3LjY4LjIxLjk1LjE0LjI3LjMzLjUuNTYuNjkuMjQuMTguNTEuMzIuODIuNDEuMy4xLjYyLjE1Ljk2LjE1LjM3IDAgLjcyLS4wNSAxLjAzLS4xNS4zMi0uMS42LS4yNS44My0uNDRzLjQyLS40My41NS0uNzJjLjEzLS4yOS4yLS42MS4yLS45NyAwLS4xOS0uMDItLjM4LS4wNy0uNTYtLjA1LS4xOC0uMTItLjM1LS4yMy0uNTEtLjEtLjE2LS4yNC0uMy0uNC0uNDMtLjE3LS4xMy0uMzctLjIzLS42MS0uMzEuMi0uMDkuMzctLjIuNTItLjMzLjE1LS4xMy4yNy0uMjcuMzctLjQyLjEtLjE1LjE3LS4zLjIyLS40Ni4wNS0uMTYuMDctLjMyLjA3LS40OCAwLS4zNi0uMDYtLjY4LS4xOC0uOTYtLjEyLS4yOC0uMjktLjUxLS41MS0uNjktLjItLjE5LS40Ny0uMzMtLjc3LS40M0M5LjEgOC4wNSA4Ljc2IDggOC4zOSA4Yy0uMzYgMC0uNjkuMDUtMSAuMTYtLjMuMTEtLjU3LjI2LS43OS40NS0uMjEuMTktLjM4LjQxLS41MS42Ny0uMTIuMjYtLjE4LjU0LS4xOC44NWgxLjNjMC0uMTcuMDMtLjMyLjA5LS40NXMuMTQtLjI1LjI1LS4zNGMuMTEtLjA5LjIzLS4xNy4zOC0uMjIuMTUtLjA1LjMtLjA4LjQ4LS4wOC40IDAgLjcuMS44OS4zMS4xOS4yLjI5LjQ5LjI5Ljg2IDAgLjE4LS4wMy4zNC0uMDguNDktLjA1LjE1LS4xNC4yNy0uMjUuMzctLjExLjEtLjI1LjE4LS40MS4yNC0uMTYuMDYtLjM2LjA5LS41OC4wOUg3LjV2MS4wM2guNzdjLjIyIDAgLjQyLjAyLjYuMDdzLjMzLjEzLjQ1LjIzYy4xMi4xMS4yMi4yNC4yOS40LjA3LjE2LjEuMzUuMS41NyAwIC40MS0uMTIuNzItLjM1LjkzLS4yMy4yMy0uNTUuMzMtLjk1LjMzem04LjU1LTUuOTJjLS4zMi0uMzMtLjctLjU5LTEuMTQtLjc3LS40My0uMTgtLjkyLS4yNy0xLjQ2LS4yN0gxMnY4aDIuM2MuNTUgMCAxLjA2LS4wOSAxLjUxLS4yNy40NS0uMTguODQtLjQzIDEuMTYtLjc2LjMyLS4zMy41Ny0uNzMuNzQtMS4xOS4xNy0uNDcuMjYtLjk5LjI2LTEuNTd2LS40YzAtLjU4LS4wOS0xLjEtLjI2LTEuNTctLjE4LS40Ny0uNDMtLjg3LS43NS0xLjJ6bS0uMzkgMy4xNmMwIC40Mi0uMDUuNzktLjE0IDEuMTMtLjEuMzMtLjI0LjYyLS40My44NS0uMTkuMjMtLjQzLjQxLS43MS41My0uMjkuMTItLjYyLjE4LS45OS4xOGgtLjkxVjkuMTJoLjk3Yy43MiAwIDEuMjcuMjMgMS42NC42OS4zOC40Ni41NyAxLjEyLjU3IDEuOTl2LjR6TTEyIDBsLS42Ni4wMyAzLjgxIDMuODEgMS4zMy0xLjMzYzMuMjcgMS41NSA1LjYxIDQuNzIgNS45NiA4LjQ4aDEuNUMyMy40NCA0Ljg0IDE4LjI5IDAgMTIgMHoiIC8+PC9nPgo8ZyBpZD0iYWNjZXNzaWJpbGl0eSI+PHBhdGggZD0iTTEyIDJjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyLTItLjktMi0yIC45LTIgMi0yem05IDdoLTZ2MTNoLTJ2LTZoLTJ2Nkg5VjlIM1Y3aDE4djJ6IiAvPjwvZz4KPGcgaWQ9ImFjY2Vzc2libGUiPjxjaXJjbGUgY3g9IjEyIiBjeT0iNCIgcj0iMiIgLz48cGF0aCBkPSJNMTkgMTN2LTJjLTEuNTQuMDItMy4wOS0uNzUtNC4wNy0xLjgzbC0xLjI5LTEuNDNjLS4xNy0uMTktLjM4LS4zNC0uNjEtLjQ1LS4wMSAwLS4wMS0uMDEtLjAyLS4wMUgxM2MtLjM1LS4yLS43NS0uMy0xLjE5LS4yNkMxMC43NiA3LjExIDEwIDguMDQgMTAgOS4wOVYxNWMwIDEuMS45IDIgMiAyaDV2NWgydi01LjVjMC0xLjEtLjktMi0yLTJoLTN2LTMuNDVjMS4yOSAxLjA3IDMuMjUgMS45NCA1IDEuOTV6bS02LjE3IDVjLS40MSAxLjE2LTEuNTIgMi0yLjgzIDItMS42NiAwLTMtMS4zNC0zLTMgMC0xLjMxLjg0LTIuNDEgMi0yLjgzVjEyLjFjLTIuMjguNDYtNCAyLjQ4LTQgNC45IDAgMi43NiAyLjI0IDUgNSA1IDIuNDIgMCA0LjQ0LTEuNzIgNC45LTRoLTIuMDd6IiAvPjwvZz4KPGcgaWQ9ImFjY291bnQtYmFsYW5jZSI+PHBhdGggZD0iTTQgMTB2N2gzdi03SDR6bTYgMHY3aDN2LTdoLTN6TTIgMjJoMTl2LTNIMnYzem0xNC0xMnY3aDN2LTdoLTN6bS00LjUtOUwyIDZ2MmgxOVY2bC05LjUtNXoiIC8+PC9nPgo8ZyBpZD0iYWNjb3VudC1iYWxhbmNlLXdhbGxldCI+PHBhdGggZD0iTTIxIDE4djFjMCAxLjEtLjkgMi0yIDJINWMtMS4xMSAwLTItLjktMi0yVjVjMC0xLjEuODktMiAyLTJoMTRjMS4xIDAgMiAuOSAyIDJ2MWgtOWMtMS4xMSAwLTIgLjktMiAydjhjMCAxLjEuODkgMiAyIDJoOXptLTktMmgxMFY4SDEydjh6bTQtMi41Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVzLjY3LTEuNSAxLjUtMS41IDEuNS42NyAxLjUgMS41LS42NyAxLjUtMS41IDEuNXoiIC8+PC9nPgo8ZyBpZD0iYWNjb3VudC1ib3giPjxwYXRoIGQ9Ik0zIDV2MTRjMCAxLjEuODkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMkg1Yy0xLjExIDAtMiAuOS0yIDJ6bTEyIDRjMCAxLjY2LTEuMzQgMy0zIDNzLTMtMS4zNC0zLTMgMS4zNC0zIDMtMyAzIDEuMzQgMyAzem0tOSA4YzAtMiA0LTMuMSA2LTMuMXM2IDEuMSA2IDMuMXYxSDZ2LTF6IiAvPjwvZz4KPGcgaWQ9ImFjY291bnQtY2lyY2xlIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAzYzEuNjYgMCAzIDEuMzQgMyAzcy0xLjM0IDMtMyAzLTMtMS4zNC0zLTMgMS4zNC0zIDMtM3ptMCAxNC4yYy0yLjUgMC00LjcxLTEuMjgtNi0zLjIyLjAzLTEuOTkgNC0zLjA4IDYtMy4wOCAxLjk5IDAgNS45NyAxLjA5IDYgMy4wOC0xLjI5IDEuOTQtMy41IDMuMjItNiAzLjIyeiIgLz48L2c+CjxnIGlkPSJhZGQiPjxwYXRoIGQ9Ik0xOSAxM2gtNnY2aC0ydi02SDV2LTJoNlY1aDJ2Nmg2djJ6IiAvPjwvZz4KPGcgaWQ9ImFkZC1hbGVydCI+PHBhdGggZD0iTTEwLjAxIDIxLjAxYzAgMS4xLjg5IDEuOTkgMS45OSAxLjk5czEuOTktLjg5IDEuOTktMS45OWgtMy45OHptOC44Ny00LjE5VjExYzAtMy4yNS0yLjI1LTUuOTctNS4yOS02LjY5di0uNzJDMTMuNTkgMi43MSAxMi44OCAyIDEyIDJzLTEuNTkuNzEtMS41OSAxLjU5di43MkM3LjM3IDUuMDMgNS4xMiA3Ljc1IDUuMTIgMTF2NS44MkwzIDE4Ljk0VjIwaDE4di0xLjA2bC0yLjEyLTIuMTJ6TTE2IDEzLjAxaC0zdjNoLTJ2LTNIOFYxMWgzVjhoMnYzaDN2Mi4wMXoiIC8+PC9nPgo8ZyBpZD0iYWRkLWJveCI+PHBhdGggZD0iTTE5IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS0yIDEwaC00djRoLTJ2LTRIN3YtMmg0VjdoMnY0aDR2MnoiIC8+PC9nPgo8ZyBpZD0iYWRkLWNpcmNsZSI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTUgMTFoLTR2NGgtMnYtNEg3di0yaDRWN2gydjRoNHYyeiIgLz48L2c+CjxnIGlkPSJhZGQtY2lyY2xlLW91dGxpbmUiPjxwYXRoIGQ9Ik0xMyA3aC0ydjRIN3YyaDR2NGgydi00aDR2LTJoLTRWN3ptLTEtNUM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAxOGMtNC40MSAwLTgtMy41OS04LThzMy41OS04IDgtOCA4IDMuNTkgOCA4LTMuNTkgOC04IDh6IiAvPjwvZz4KPGcgaWQ9ImFkZC1zaG9wcGluZy1jYXJ0Ij48cGF0aCBkPSJNMTEgOWgyVjZoM1Y0aC0zVjFoLTJ2M0g4djJoM3Yzem0tNCA5Yy0xLjEgMC0xLjk5LjktMS45OSAyUzUuOSAyMiA3IDIyczItLjkgMi0yLS45LTItMi0yem0xMCAwYy0xLjEgMC0xLjk5LjktMS45OSAycy44OSAyIDEuOTkgMiAyLS45IDItMi0uOS0yLTItMnptLTkuODMtMy4yNWwuMDMtLjEyLjktMS42M2g3LjQ1Yy43NSAwIDEuNDEtLjQxIDEuNzUtMS4wM2wzLjg2LTcuMDFMMTkuNDIgNGgtLjAxbC0xLjEgMi0yLjc2IDVIOC41M2wtLjEzLS4yN0w2LjE2IDZsLS45NS0yLS45NC0ySDF2MmgybDMuNiA3LjU5LTEuMzUgMi40NWMtLjE2LjI4LS4yNS42MS0uMjUuOTYgMCAxLjEuOSAyIDIgMmgxMnYtMkg3LjQyYy0uMTMgMC0uMjUtLjExLS4yNS0uMjV6IiAvPjwvZz4KPGcgaWQ9ImFsYXJtIj48cGF0aCBkPSJNMjIgNS43MmwtNC42LTMuODYtMS4yOSAxLjUzIDQuNiAzLjg2TDIyIDUuNzJ6TTcuODggMy4zOUw2LjYgMS44NiAyIDUuNzFsMS4yOSAxLjUzIDQuNTktMy44NXpNMTIuNSA4SDExdjZsNC43NSAyLjg1Ljc1LTEuMjMtNC0yLjM3Vjh6TTEyIDRjLTQuOTcgMC05IDQuMDMtOSA5czQuMDIgOSA5IDljNC45NyAwIDktNC4wMyA5LTlzLTQuMDMtOS05LTl6bTAgMTZjLTMuODcgMC03LTMuMTMtNy03czMuMTMtNyA3LTcgNyAzLjEzIDcgNy0zLjEzIDctNyA3eiIgLz48L2c+CjxnIGlkPSJhbGFybS1hZGQiPjxwYXRoIGQ9Ik03Ljg4IDMuMzlMNi42IDEuODYgMiA1LjcxbDEuMjkgMS41MyA0LjU5LTMuODV6TTIyIDUuNzJsLTQuNi0zLjg2LTEuMjkgMS41MyA0LjYgMy44NkwyMiA1Ljcyek0xMiA0Yy00Ljk3IDAtOSA0LjAzLTkgOXM0LjAyIDkgOSA5YzQuOTcgMCA5LTQuMDMgOS05cy00LjAzLTktOS05em0wIDE2Yy0zLjg3IDAtNy0zLjEzLTctN3MzLjEzLTcgNy03IDcgMy4xMyA3IDctMy4xMyA3LTcgN3ptMS0xMWgtMnYzSDh2MmgzdjNoMnYtM2gzdi0yaC0zVjl6IiAvPjwvZz4KPGcgaWQ9ImFsYXJtLW9mZiI+PHBhdGggZD0iTTEyIDZjMy44NyAwIDcgMy4xMyA3IDcgMCAuODQtLjE2IDEuNjUtLjQzIDIuNGwxLjUyIDEuNTJjLjU4LTEuMTkuOTEtMi41MS45MS0zLjkyIDAtNC45Ny00LjAzLTktOS05LTEuNDEgMC0yLjczLjMzLTMuOTIuOTFMOS42IDYuNDNDMTAuMzUgNi4xNiAxMS4xNiA2IDEyIDZ6bTEwLS4yOGwtNC42LTMuODYtMS4yOSAxLjUzIDQuNiAzLjg2TDIyIDUuNzJ6TTIuOTIgMi4yOUwxLjY1IDMuNTcgMi45OCA0LjlsLTEuMTEuOTMgMS40MiAxLjQyIDEuMTEtLjk0LjguOEMzLjgzIDguNjkgMyAxMC43NSAzIDEzYzAgNC45NyA0LjAyIDkgOSA5IDIuMjUgMCA0LjMxLS44MyA1Ljg5LTIuMmwyLjIgMi4yIDEuMjctMS4yN0wzLjg5IDMuMjdsLS45Ny0uOTh6bTEzLjU1IDE2LjFDMTUuMjYgMTkuMzkgMTMuNyAyMCAxMiAyMGMtMy44NyAwLTctMy4xMy03LTcgMC0xLjcuNjEtMy4yNiAxLjYxLTQuNDdsOS44NiA5Ljg2ek04LjAyIDMuMjhMNi42IDEuODZsLS44Ni43MSAxLjQyIDEuNDIuODYtLjcxeiIgLz48L2c+CjxnIGlkPSJhbGFybS1vbiI+PHBhdGggZD0iTTIyIDUuNzJsLTQuNi0zLjg2LTEuMjkgMS41MyA0LjYgMy44NkwyMiA1Ljcyek03Ljg4IDMuMzlMNi42IDEuODYgMiA1LjcxbDEuMjkgMS41MyA0LjU5LTMuODV6TTEyIDRjLTQuOTcgMC05IDQuMDMtOSA5czQuMDIgOSA5IDljNC45NyAwIDktNC4wMyA5LTlzLTQuMDMtOS05LTl6bTAgMTZjLTMuODcgMC03LTMuMTMtNy03czMuMTMtNyA3LTcgNyAzLjEzIDcgNy0zLjEzIDctNyA3em0tMS40Ni01LjQ3TDguNDEgMTIuNGwtMS4wNiAxLjA2IDMuMTggMy4xOCA2LTYtMS4wNi0xLjA2LTQuOTMgNC45NXoiIC8+PC9nPgo8ZyBpZD0iYWxsLW91dCI+PHBhdGggZD0iTTE2LjIxIDQuMTZsNCA0di00em00IDEybC00IDRoNHptLTEyIDRsLTQtNHY0em0tNC0xMmw0LTRoLTR6bTEyLjk1LS45NWMtMi43My0yLjczLTcuMTctMi43My05LjkgMHMtMi43MyA3LjE3IDAgOS45IDcuMTcgMi43MyA5LjkgMCAyLjczLTcuMTYgMC05Ljl6bS0xLjEgOC44Yy0yLjEzIDIuMTMtNS41NyAyLjEzLTcuNyAwcy0yLjEzLTUuNTcgMC03LjcgNS41Ny0yLjEzIDcuNyAwIDIuMTMgNS41NyAwIDcuN3oiIC8+PC9nPgo8ZyBpZD0iYW5kcm9pZCI+PHBhdGggZD0iTTYgMThjMCAuNTUuNDUgMSAxIDFoMXYzLjVjMCAuODMuNjcgMS41IDEuNSAxLjVzMS41LS42NyAxLjUtMS41VjE5aDJ2My41YzAgLjgzLjY3IDEuNSAxLjUgMS41czEuNS0uNjcgMS41LTEuNVYxOWgxYy41NSAwIDEtLjQ1IDEtMVY4SDZ2MTB6TTMuNSA4QzIuNjcgOCAyIDguNjcgMiA5LjV2N2MwIC44My42NyAxLjUgMS41IDEuNVM1IDE3LjMzIDUgMTYuNXYtN0M1IDguNjcgNC4zMyA4IDMuNSA4em0xNyAwYy0uODMgMC0xLjUuNjctMS41IDEuNXY3YzAgLjgzLjY3IDEuNSAxLjUgMS41czEuNS0uNjcgMS41LTEuNXYtN2MwLS44My0uNjctMS41LTEuNS0xLjV6bS00Ljk3LTUuODRsMS4zLTEuM2MuMi0uMi4yLS41MSAwLS43MS0uMi0uMi0uNTEtLjItLjcxIDBsLTEuNDggMS40OEMxMy44NSAxLjIzIDEyLjk1IDEgMTIgMWMtLjk2IDAtMS44Ni4yMy0yLjY2LjYzTDcuODUuMTVjLS4yLS4yLS41MS0uMi0uNzEgMC0uMi4yLS4yLjUxIDAgLjcxbDEuMzEgMS4zMUM2Ljk3IDMuMjYgNiA1LjAxIDYgN2gxMmMwLTEuOTktLjk3LTMuNzUtMi40Ny00Ljg0ek0xMCA1SDlWNGgxdjF6bTUgMGgtMVY0aDF2MXoiIC8+PC9nPgo8ZyBpZD0iYW5ub3VuY2VtZW50Ij48cGF0aCBkPSJNMjAgMkg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMjJsNC00aDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6bS03IDloLTJWNWgydjZ6bTAgNGgtMnYtMmgydjJ6IiAvPjwvZz4KPGcgaWQ9ImFwcHMiPjxwYXRoIGQ9Ik00IDhoNFY0SDR2NHptNiAxMmg0di00aC00djR6bS02IDBoNHYtNEg0djR6bTAtNmg0di00SDR2NHptNiAwaDR2LTRoLTR2NHptNi0xMHY0aDRWNGgtNHptLTYgNGg0VjRoLTR2NHptNiA2aDR2LTRoLTR2NHptMCA2aDR2LTRoLTR2NHoiIC8+PC9nPgo8ZyBpZD0iYXJjaGl2ZSI+PHBhdGggZD0iTTIwLjU0IDUuMjNsLTEuMzktMS42OEMxOC44OCAzLjIxIDE4LjQ3IDMgMTggM0g2Yy0uNDcgMC0uODguMjEtMS4xNi41NUwzLjQ2IDUuMjNDMy4xNyA1LjU3IDMgNi4wMiAzIDYuNVYxOWMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjYuNWMwLS40OC0uMTctLjkzLS40Ni0xLjI3ek0xMiAxNy41TDYuNSAxMkgxMHYtMmg0djJoMy41TDEyIDE3LjV6TTUuMTIgNWwuODEtMWgxMmwuOTQgMUg1LjEyeiIgLz48L2c+CjxnIGlkPSJhcnJvdy1iYWNrIj48cGF0aCBkPSJNMjAgMTFINy44M2w1LjU5LTUuNTlMMTIgNGwtOCA4IDggOCAxLjQxLTEuNDFMNy44MyAxM0gyMHYtMnoiIC8+PC9nPgo8ZyBpZD0iYXJyb3ctZG93bndhcmQiPjxwYXRoIGQ9Ik0yMCAxMmwtMS40MS0xLjQxTDEzIDE2LjE3VjRoLTJ2MTIuMTdsLTUuNTgtNS41OUw0IDEybDggOCA4LTh6IiAvPjwvZz4KPGcgaWQ9ImFycm93LWRyb3AtZG93biI+PHBhdGggZD0iTTcgMTBsNSA1IDUtNXoiIC8+PC9nPgo8ZyBpZD0iYXJyb3ctZHJvcC1kb3duLWNpcmNsZSI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMTJsLTQtNGg4bC00IDR6IiAvPjwvZz4KPGcgaWQ9ImFycm93LWRyb3AtdXAiPjxwYXRoIGQ9Ik03IDE0bDUtNSA1IDV6IiAvPjwvZz4KPGcgaWQ9ImFycm93LWZvcndhcmQiPjxwYXRoIGQ9Ik0xMiA0bC0xLjQxIDEuNDFMMTYuMTcgMTFINHYyaDEyLjE3bC01LjU4IDUuNTlMMTIgMjBsOC04eiIgLz48L2c+CjxnIGlkPSJhcnJvdy11cHdhcmQiPjxwYXRoIGQ9Ik00IDEybDEuNDEgMS40MUwxMSA3LjgzVjIwaDJWNy44M2w1LjU4IDUuNTlMMjAgMTJsLTgtOC04IDh6IiAvPjwvZz4KPGcgaWQ9ImFzcGVjdC1yYXRpbyI+PHBhdGggZD0iTTE5IDEyaC0ydjNoLTN2Mmg1di01ek03IDloM1Y3SDV2NWgyVjl6bTE0LTZIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2LjAxSDNWNC45OWgxOHYxNC4wMnoiIC8+PC9nPgo8ZyBpZD0iYXNzZXNzbWVudCI+PHBhdGggZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yek05IDE3SDd2LTdoMnY3em00IDBoLTJWN2gydjEwem00IDBoLTJ2LTRoMnY0eiIgLz48L2c+CjxnIGlkPSJhc3NpZ25tZW50Ij48cGF0aCBkPSJNMTkgM2gtNC4xOEMxNC40IDEuODQgMTMuMyAxIDEyIDFjLTEuMyAwLTIuNC44NC0yLjgyIDJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tNyAwYy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bTIgMTRIN3YtMmg3djJ6bTMtNEg3di0yaDEwdjJ6bTAtNEg3VjdoMTB2MnoiIC8+PC9nPgo8ZyBpZD0iYXNzaWdubWVudC1pbmQiPjxwYXRoIGQ9Ik0xOSAzaC00LjE4QzE0LjQgMS44NCAxMy4zIDEgMTIgMWMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptMCA0YzEuNjYgMCAzIDEuMzQgMyAzcy0xLjM0IDMtMyAzLTMtMS4zNC0zLTMgMS4zNC0zIDMtM3ptNiAxMkg2di0xLjRjMC0yIDQtMy4xIDYtMy4xczYgMS4xIDYgMy4xVjE5eiIgLz48L2c+CjxnIGlkPSJhc3NpZ25tZW50LWxhdGUiPjxwYXRoIGQ9Ik0xOSAzaC00LjE4QzE0LjQgMS44NCAxMy4zIDEgMTIgMWMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS02IDE1aC0ydi0yaDJ2MnptMC00aC0yVjhoMnY2em0tMS05Yy0uNTUgMC0xLS40NS0xLTFzLjQ1LTEgMS0xIDEgLjQ1IDEgMS0uNDUgMS0xIDF6IiAvPjwvZz4KPGcgaWQ9ImFzc2lnbm1lbnQtcmV0dXJuIj48cGF0aCBkPSJNMTkgM2gtNC4xOEMxNC40IDEuODQgMTMuMyAxIDEyIDFjLTEuMyAwLTIuNC44NC0yLjgyIDJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tNyAwYy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bTQgMTJoLTR2M2wtNS01IDUtNXYzaDR2NHoiIC8+PC9nPgo8ZyBpZD0iYXNzaWdubWVudC1yZXR1cm5lZCI+PHBhdGggZD0iTTE5IDNoLTQuMThDMTQuNCAxLjg0IDEzLjMgMSAxMiAxYy0xLjMgMC0yLjQuODQtMi44MiAySDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptLTcgMGMuNTUgMCAxIC40NSAxIDFzLS40NSAxLTEgMS0xLS40NS0xLTEgLjQ1LTEgMS0xem0wIDE1bC01LTVoM1Y5aDR2NGgzbC01IDV6IiAvPjwvZz4KPGcgaWQ9ImFzc2lnbm1lbnQtdHVybmVkLWluIj48cGF0aCBkPSJNMTkgM2gtNC4xOEMxNC40IDEuODQgMTMuMyAxIDEyIDFjLTEuMyAwLTIuNC44NC0yLjgyIDJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tNyAwYy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bS0yIDE0bC00LTQgMS40MS0xLjQxTDEwIDE0LjE3bDYuNTktNi41OUwxOCA5bC04IDh6IiAvPjwvZz4KPGcgaWQ9ImF0dGFjaG1lbnQiPjxwYXRoIGQ9Ik0yIDEyLjVDMiA5LjQ2IDQuNDYgNyA3LjUgN0gxOGMyLjIxIDAgNCAxLjc5IDQgNHMtMS43OSA0LTQgNEg5LjVDOC4xMiAxNSA3IDEzLjg4IDcgMTIuNVM4LjEyIDEwIDkuNSAxMEgxN3YySDkuNDFjLS41NSAwLS41NSAxIDAgMUgxOGMxLjEgMCAyLS45IDItMnMtLjktMi0yLTJINy41QzUuNTcgOSA0IDEwLjU3IDQgMTIuNVM1LjU3IDE2IDcuNSAxNkgxN3YySDcuNUM0LjQ2IDE4IDIgMTUuNTQgMiAxMi41eiIgLz48L2c+CjxnIGlkPSJhdXRvcmVuZXciPjxwYXRoIGQ9Ik0xMiA2djNsNC00LTQtNHYzYy00LjQyIDAtOCAzLjU4LTggOCAwIDEuNTcuNDYgMy4wMyAxLjI0IDQuMjZMNi43IDE0LjhjLS40NS0uODMtLjctMS43OS0uNy0yLjggMC0zLjMxIDIuNjktNiA2LTZ6bTYuNzYgMS43NEwxNy4zIDkuMmMuNDQuODQuNyAxLjc5LjcgMi44IDAgMy4zMS0yLjY5IDYtNiA2di0zbC00IDQgNCA0di0zYzQuNDIgMCA4LTMuNTggOC04IDAtMS41Ny0uNDYtMy4wMy0xLjI0LTQuMjZ6IiAvPjwvZz4KPGcgaWQ9ImJhY2tzcGFjZSI+PHBhdGggZD0iTTIyIDNIN2MtLjY5IDAtMS4yMy4zNS0xLjU5Ljg4TDAgMTJsNS40MSA4LjExYy4zNi41My45Ljg5IDEuNTkuODloMTVjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptLTMgMTIuNTlMMTcuNTkgMTcgMTQgMTMuNDEgMTAuNDEgMTcgOSAxNS41OSAxMi41OSAxMiA5IDguNDEgMTAuNDEgNyAxNCAxMC41OSAxNy41OSA3IDE5IDguNDEgMTUuNDEgMTIgMTkgMTUuNTl6IiAvPjwvZz4KPGcgaWQ9ImJhY2t1cCI+PHBhdGggZD0iTTE5LjM1IDEwLjA0QzE4LjY3IDYuNTkgMTUuNjQgNCAxMiA0IDkuMTEgNCA2LjYgNS42NCA1LjM1IDguMDQgMi4zNCA4LjM2IDAgMTAuOTEgMCAxNGMwIDMuMzEgMi42OSA2IDYgNmgxM2MyLjc2IDAgNS0yLjI0IDUtNSAwLTIuNjQtMi4wNS00Ljc4LTQuNjUtNC45NnpNMTQgMTN2NGgtNHYtNEg3bDUtNSA1IDVoLTN6IiAvPjwvZz4KPGcgaWQ9ImJsb2NrIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnpNNCAxMmMwLTQuNDIgMy41OC04IDgtOCAxLjg1IDAgMy41NS42MyA0LjkgMS42OUw1LjY5IDE2LjlDNC42MyAxNS41NSA0IDEzLjg1IDQgMTJ6bTggOGMtMS44NSAwLTMuNTUtLjYzLTQuOS0xLjY5TDE4LjMxIDcuMUMxOS4zNyA4LjQ1IDIwIDEwLjE1IDIwIDEyYzAgNC40Mi0zLjU4IDgtOCA4eiIgLz48L2c+CjxnIGlkPSJib29rIj48cGF0aCBkPSJNMTggMkg2Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDEyYzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6TTYgNGg1djhsLTIuNS0xLjVMNiAxMlY0eiIgLz48L2c+CjxnIGlkPSJib29rbWFyayI+PHBhdGggZD0iTTE3IDNIN2MtMS4xIDAtMS45OS45LTEuOTkgMkw1IDIxbDctMyA3IDNWNWMwLTEuMS0uOS0yLTItMnoiIC8+PC9nPgo8ZyBpZD0iYm9va21hcmstYm9yZGVyIj48cGF0aCBkPSJNMTcgM0g3Yy0xLjEgMC0xLjk5LjktMS45OSAyTDUgMjFsNy0zIDcgM1Y1YzAtMS4xLS45LTItMi0yem0wIDE1bC01LTIuMThMNyAxOFY1aDEwdjEzeiIgLz48L2c+CjxnIGlkPSJidWctcmVwb3J0Ij48cGF0aCBkPSJNMjAgOGgtMi44MWMtLjQ1LS43OC0xLjA3LTEuNDUtMS44Mi0xLjk2TDE3IDQuNDEgMTUuNTkgM2wtMi4xNyAyLjE3QzEyLjk2IDUuMDYgMTIuNDkgNSAxMiA1Yy0uNDkgMC0uOTYuMDYtMS40MS4xN0w4LjQxIDMgNyA0LjQxbDEuNjIgMS42M0M3Ljg4IDYuNTUgNy4yNiA3LjIyIDYuODEgOEg0djJoMi4wOWMtLjA1LjMzLS4wOS42Ni0uMDkgMXYxSDR2MmgydjFjMCAuMzQuMDQuNjcuMDkgMUg0djJoMi44MWMxLjA0IDEuNzkgMi45NyAzIDUuMTkgM3M0LjE1LTEuMjEgNS4xOS0zSDIwdi0yaC0yLjA5Yy4wNS0uMzMuMDktLjY2LjA5LTF2LTFoMnYtMmgtMnYtMWMwLS4zNC0uMDQtLjY3LS4wOS0xSDIwVjh6bS02IDhoLTR2LTJoNHYyem0wLTRoLTR2LTJoNHYyeiIgLz48L2c+CjxnIGlkPSJidWlsZCI+PHBhdGggZD0iTTIyLjcgMTlsLTkuMS05LjFjLjktMi4zLjQtNS0xLjUtNi45LTItMi01LTIuNC03LjQtMS4zTDkgNiA2IDkgMS42IDQuN0MuNCA3LjEuOSAxMC4xIDIuOSAxMi4xYzEuOSAxLjkgNC42IDIuNCA2LjkgMS41bDkuMSA5LjFjLjQuNCAxIC40IDEuNCAwbDIuMy0yLjNjLjUtLjQuNS0xLjEuMS0xLjR6IiAvPjwvZz4KPGcgaWQ9ImNhY2hlZCI+PHBhdGggZD0iTTE5IDhsLTQgNGgzYzAgMy4zMS0yLjY5IDYtNiA2LTEuMDEgMC0xLjk3LS4yNS0yLjgtLjdsLTEuNDYgMS40NkM4Ljk3IDE5LjU0IDEwLjQzIDIwIDEyIDIwYzQuNDIgMCA4LTMuNTggOC04aDNsLTQtNHpNNiAxMmMwLTMuMzEgMi42OS02IDYtNiAxLjAxIDAgMS45Ny4yNSAyLjguN2wxLjQ2LTEuNDZDMTUuMDMgNC40NiAxMy41NyA0IDEyIDRjLTQuNDIgMC04IDMuNTgtOCA4SDFsNCA0IDQtNEg2eiIgLz48L2c+CjxnIGlkPSJjYW1lcmEtZW5oYW5jZSI+PHBhdGggZD0iTTkgM0w3LjE3IDVINGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yaC0zLjE3TDE1IDNIOXptMyAxNWMtMi43NiAwLTUtMi4yNC01LTVzMi4yNC01IDUtNSA1IDIuMjQgNSA1LTIuMjQgNS01IDV6bTAtMWwxLjI1LTIuNzVMMTYgMTNsLTIuNzUtMS4yNUwxMiA5bC0xLjI1IDIuNzVMOCAxM2wyLjc1IDEuMjV6IiAvPjwvZz4KPGcgaWQ9ImNhbmNlbCI+PHBhdGggZD0iTTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTUgMTMuNTlMMTUuNTkgMTcgMTIgMTMuNDEgOC40MSAxNyA3IDE1LjU5IDEwLjU5IDEyIDcgOC40MSA4LjQxIDcgMTIgMTAuNTkgMTUuNTkgNyAxNyA4LjQxIDEzLjQxIDEyIDE3IDE1LjU5eiIgLz48L2c+CjxnIGlkPSJjYXJkLWdpZnRjYXJkIj48cGF0aCBkPSJNMjAgNmgtMi4xOGMuMTEtLjMxLjE4LS42NS4xOC0xIDAtMS42Ni0xLjM0LTMtMy0zLTEuMDUgMC0xLjk2LjU0LTIuNSAxLjM1bC0uNS42Ny0uNS0uNjhDMTAuOTYgMi41NCAxMC4wNSAyIDkgMiA3LjM0IDIgNiAzLjM0IDYgNWMwIC4zNS4wNy42OS4xOCAxSDRjLTEuMTEgMC0xLjk5Ljg5LTEuOTkgMkwyIDE5YzAgMS4xMS44OSAyIDIgMmgxNmMxLjExIDAgMi0uODkgMi0yVjhjMC0xLjExLS44OS0yLTItMnptLTUtMmMuNTUgMCAxIC40NSAxIDFzLS40NSAxLTEgMS0xLS40NS0xLTEgLjQ1LTEgMS0xek05IDRjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptMTEgMTVINHYtMmgxNnYyem0wLTVINFY4aDUuMDhMNyAxMC44MyA4LjYyIDEyIDExIDguNzZsMS0xLjM2IDEgMS4zNkwxNS4zOCAxMiAxNyAxMC44MyAxNC45MiA4SDIwdjZ6IiAvPjwvZz4KPGcgaWQ9ImNhcmQtbWVtYmVyc2hpcCI+PHBhdGggZD0iTTIwIDJINGMtMS4xMSAwLTIgLjg5LTIgMnYxMWMwIDEuMTEuODkgMiAyIDJoNHY1bDQtMiA0IDJ2LTVoNGMxLjExIDAgMi0uODkgMi0yVjRjMC0xLjExLS44OS0yLTItMnptMCAxM0g0di0yaDE2djJ6bTAtNUg0VjRoMTZ2NnoiIC8+PC9nPgo8ZyBpZD0iY2FyZC10cmF2ZWwiPjxwYXRoIGQ9Ik0yMCA2aC0zVjRjMC0xLjExLS44OS0yLTItMkg5Yy0xLjExIDAtMiAuODktMiAydjJINGMtMS4xMSAwLTIgLjg5LTIgMnYxMWMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6TTkgNGg2djJIOVY0em0xMSAxNUg0di0yaDE2djJ6bTAtNUg0VjhoM3YyaDJWOGg2djJoMlY4aDN2NnoiIC8+PC9nPgo8ZyBpZD0iY2hhbmdlLWhpc3RvcnkiPjxwYXRoIGQ9Ik0xMiA3Ljc3TDE4LjM5IDE4SDUuNjFMMTIgNy43N00xMiA0TDIgMjBoMjBMMTIgNHoiIC8+PC9nPgo8ZyBpZD0iY2hlY2siPjxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiIC8+PC9nPgo8ZyBpZD0iY2hlY2stYm94Ij48cGF0aCBkPSJNMTkgM0g1Yy0xLjExIDAtMiAuOS0yIDJ2MTRjMCAxLjEuODkgMiAyIDJoMTRjMS4xMSAwIDItLjkgMi0yVjVjMC0xLjEtLjg5LTItMi0yem0tOSAxNGwtNS01IDEuNDEtMS40MUwxMCAxNC4xN2w3LjU5LTcuNTlMMTkgOGwtOSA5eiIgLz48L2c+CjxnIGlkPSJjaGVjay1ib3gtb3V0bGluZS1ibGFuayI+PHBhdGggZD0iTTE5IDV2MTRINVY1aDE0bTAtMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6IiAvPjwvZz4KPGcgaWQ9ImNoZWNrLWNpcmNsZSI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bS0yIDE1bC01LTUgMS40MS0xLjQxTDEwIDE0LjE3bDcuNTktNy41OUwxOSA4bC05IDl6IiAvPjwvZz4KPGcgaWQ9ImNoZXZyb24tbGVmdCI+PHBhdGggZD0iTTE1LjQxIDcuNDFMMTQgNmwtNiA2IDYgNiAxLjQxLTEuNDFMMTAuODMgMTJ6IiAvPjwvZz4KPGcgaWQ9ImNoZXZyb24tcmlnaHQiPjxwYXRoIGQ9Ik0xMCA2TDguNTkgNy40MSAxMy4xNyAxMmwtNC41OCA0LjU5TDEwIDE4bDYtNnoiIC8+PC9nPgo8ZyBpZD0iY2hyb21lLXJlYWRlci1tb2RlIj48cGF0aCBkPSJNMTMgMTJoN3YxLjVoLTd6bTAtMi41aDdWMTFoLTd6bTAgNWg3VjE2aC03ek0yMSA0SDNjLTEuMSAwLTIgLjktMiAydjEzYzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uOS0yLTItMnptMCAxNWgtOVY2aDl2MTN6IiAvPjwvZz4KPGcgaWQ9ImNsYXNzIj48cGF0aCBkPSJNMTggMkg2Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDEyYzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6TTYgNGg1djhsLTIuNS0xLjVMNiAxMlY0eiIgLz48L2c+CjxnIGlkPSJjbGVhciI+PHBhdGggZD0iTTE5IDYuNDFMMTcuNTkgNSAxMiAxMC41OSA2LjQxIDUgNSA2LjQxIDEwLjU5IDEyIDUgMTcuNTkgNi40MSAxOSAxMiAxMy40MSAxNy41OSAxOSAxOSAxNy41OSAxMy40MSAxMnoiIC8+PC9nPgo8ZyBpZD0iY2xvc2UiPjxwYXRoIGQ9Ik0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6IiAvPjwvZz4KPGcgaWQ9ImNsb3VkIj48cGF0aCBkPSJNMTkuMzUgMTAuMDRDMTguNjcgNi41OSAxNS42NCA0IDEyIDQgOS4xMSA0IDYuNiA1LjY0IDUuMzUgOC4wNCAyLjM0IDguMzYgMCAxMC45MSAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDEzYzIuNzYgMCA1LTIuMjQgNS01IDAtMi42NC0yLjA1LTQuNzgtNC42NS00Ljk2eiIgLz48L2c+CjxnIGlkPSJjbG91ZC1jaXJjbGUiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem00LjUgMTRIOGMtMS42NiAwLTMtMS4zNC0zLTNzMS4zNC0zIDMtM2wuMTQuMDFDOC41OCA4LjI4IDEwLjEzIDcgMTIgN2MyLjIxIDAgNCAxLjc5IDQgNGguNWMxLjM4IDAgMi41IDEuMTIgMi41IDIuNVMxNy44OCAxNiAxNi41IDE2eiIgLz48L2c+CjxnIGlkPSJjbG91ZC1kb25lIj48cGF0aCBkPSJNMTkuMzUgMTAuMDRDMTguNjcgNi41OSAxNS42NCA0IDEyIDQgOS4xMSA0IDYuNiA1LjY0IDUuMzUgOC4wNCAyLjM0IDguMzYgMCAxMC45MSAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDEzYzIuNzYgMCA1LTIuMjQgNS01IDAtMi42NC0yLjA1LTQuNzgtNC42NS00Ljk2ek0xMCAxN2wtMy41LTMuNSAxLjQxLTEuNDFMMTAgMTQuMTcgMTUuMTggOWwxLjQxIDEuNDFMMTAgMTd6IiAvPjwvZz4KPGcgaWQ9ImNsb3VkLWRvd25sb2FkIj48cGF0aCBkPSJNMTkuMzUgMTAuMDRDMTguNjcgNi41OSAxNS42NCA0IDEyIDQgOS4xMSA0IDYuNiA1LjY0IDUuMzUgOC4wNCAyLjM0IDguMzYgMCAxMC45MSAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDEzYzIuNzYgMCA1LTIuMjQgNS01IDAtMi42NC0yLjA1LTQuNzgtNC42NS00Ljk2ek0xNyAxM2wtNSA1LTUtNWgzVjloNHY0aDN6IiAvPjwvZz4KPGcgaWQ9ImNsb3VkLW9mZiI+PHBhdGggZD0iTTE5LjM1IDEwLjA0QzE4LjY3IDYuNTkgMTUuNjQgNCAxMiA0Yy0xLjQ4IDAtMi44NS40My00LjAxIDEuMTdsMS40NiAxLjQ2QzEwLjIxIDYuMjMgMTEuMDggNiAxMiA2YzMuMDQgMCA1LjUgMi40NiA1LjUgNS41di41SDE5YzEuNjYgMCAzIDEuMzQgMyAzIDAgMS4xMy0uNjQgMi4xMS0xLjU2IDIuNjJsMS40NSAxLjQ1QzIzLjE2IDE4LjE2IDI0IDE2LjY4IDI0IDE1YzAtMi42NC0yLjA1LTQuNzgtNC42NS00Ljk2ek0zIDUuMjdsMi43NSAyLjc0QzIuNTYgOC4xNSAwIDEwLjc3IDAgMTRjMCAzLjMxIDIuNjkgNiA2IDZoMTEuNzNsMiAyTDIxIDIwLjczIDQuMjcgNCAzIDUuMjd6TTcuNzMgMTBsOCA4SDZjLTIuMjEgMC00LTEuNzktNC00czEuNzktNCA0LTRoMS43M3oiIC8+PC9nPgo8ZyBpZD0iY2xvdWQtcXVldWUiPjxwYXRoIGQ9Ik0xOS4zNSAxMC4wNEMxOC42NyA2LjU5IDE1LjY0IDQgMTIgNCA5LjExIDQgNi42IDUuNjQgNS4zNSA4LjA0IDIuMzQgOC4zNiAwIDEwLjkxIDAgMTRjMCAzLjMxIDIuNjkgNiA2IDZoMTNjMi43NiAwIDUtMi4yNCA1LTUgMC0yLjY0LTIuMDUtNC43OC00LjY1LTQuOTZ6TTE5IDE4SDZjLTIuMjEgMC00LTEuNzktNC00czEuNzktNCA0LTRoLjcxQzcuMzcgNy42OSA5LjQ4IDYgMTIgNmMzLjA0IDAgNS41IDIuNDYgNS41IDUuNXYuNUgxOWMxLjY2IDAgMyAxLjM0IDMgM3MtMS4zNCAzLTMgM3oiIC8+PC9nPgo8ZyBpZD0iY2xvdWQtdXBsb2FkIj48cGF0aCBkPSJNMTkuMzUgMTAuMDRDMTguNjcgNi41OSAxNS42NCA0IDEyIDQgOS4xMSA0IDYuNiA1LjY0IDUuMzUgOC4wNCAyLjM0IDguMzYgMCAxMC45MSAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDEzYzIuNzYgMCA1LTIuMjQgNS01IDAtMi42NC0yLjA1LTQuNzgtNC42NS00Ljk2ek0xNCAxM3Y0aC00di00SDdsNS01IDUgNWgtM3oiIC8+PC9nPgo8ZyBpZD0iY29kZSI+PHBhdGggZD0iTTkuNCAxNi42TDQuOCAxMmw0LjYtNC42TDggNmwtNiA2IDYgNiAxLjQtMS40em01LjIgMGw0LjYtNC42LTQuNi00LjZMMTYgNmw2IDYtNiA2LTEuNC0xLjR6IiAvPjwvZz4KPGcgaWQ9ImNvbXBhcmUtYXJyb3dzIj48cGF0aCBkPSJNOS4wMSAxNEgydjJoNy4wMXYzTDEzIDE1bC0zLjk5LTR2M3ptNS45OC0xdi0zSDIyVjhoLTcuMDFWNUwxMSA5bDMuOTkgNHoiIC8+PC9nPgo8ZyBpZD0iY29udGVudC1jb3B5Ij48cGF0aCBkPSJNMTYgMUg0Yy0xLjEgMC0yIC45LTIgMnYxNGgyVjNoMTJWMXptMyA0SDhjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTFjMS4xIDAgMi0uOSAyLTJWN2MwLTEuMS0uOS0yLTItMnptMCAxNkg4VjdoMTF2MTR6IiAvPjwvZz4KPGcgaWQ9ImNvbnRlbnQtY3V0Ij48cGF0aCBkPSJNOS42NCA3LjY0Yy4yMy0uNS4zNi0xLjA1LjM2LTEuNjQgMC0yLjIxLTEuNzktNC00LTRTMiAzLjc5IDIgNnMxLjc5IDQgNCA0Yy41OSAwIDEuMTQtLjEzIDEuNjQtLjM2TDEwIDEybC0yLjM2IDIuMzZDNy4xNCAxNC4xMyA2LjU5IDE0IDYgMTRjLTIuMjEgMC00IDEuNzktNCA0czEuNzkgNCA0IDQgNC0xLjc5IDQtNGMwLS41OS0uMTMtMS4xNC0uMzYtMS42NEwxMiAxNGw3IDdoM3YtMUw5LjY0IDcuNjR6TTYgOGMtMS4xIDAtMi0uODktMi0ycy45LTIgMi0yIDIgLjg5IDIgMi0uOSAyLTIgMnptMCAxMmMtMS4xIDAtMi0uODktMi0ycy45LTIgMi0yIDIgLjg5IDIgMi0uOSAyLTIgMnptNi03LjVjLS4yOCAwLS41LS4yMi0uNS0uNXMuMjItLjUuNS0uNS41LjIyLjUuNS0uMjIuNS0uNS41ek0xOSAzbC02IDYgMiAyIDctN1YzeiIgLz48L2c+CjxnIGlkPSJjb250ZW50LXBhc3RlIj48cGF0aCBkPSJNMTkgMmgtNC4xOEMxNC40Ljg0IDEzLjMgMCAxMiAwYy0xLjMgMC0yLjQuODQtMi44MiAySDVjLTEuMSAwLTIgLjktMiAydjE2YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNGMwLTEuMS0uOS0yLTItMnptLTcgMGMuNTUgMCAxIC40NSAxIDFzLS40NSAxLTEgMS0xLS40NS0xLTEgLjQ1LTEgMS0xem03IDE4SDVWNGgydjNoMTBWNGgydjE2eiIgLz48L2c+CjxnIGlkPSJjb3B5cmlnaHQiPjxwYXRoIGQ9Ik0xMC4wOCAxMC44NmMuMDUtLjMzLjE2LS42Mi4zLS44N3MuMzQtLjQ2LjU5LS42MmMuMjQtLjE1LjU0LS4yMi45MS0uMjMuMjMuMDEuNDQuMDUuNjMuMTMuMi4wOS4zOC4yMS41Mi4zNnMuMjUuMzMuMzQuNTMuMTMuNDIuMTQuNjRoMS43OWMtLjAyLS40Ny0uMTEtLjktLjI4LTEuMjlzLS40LS43My0uNy0xLjAxLS42Ni0uNS0xLjA4LS42Ni0uODgtLjIzLTEuMzktLjIzYy0uNjUgMC0xLjIyLjExLTEuNy4zNHMtLjg4LjUzLTEuMi45Mi0uNTYuODQtLjcxIDEuMzZTOCAxMS4yOSA4IDExLjg3di4yN2MwIC41OC4wOCAxLjEyLjIzIDEuNjRzLjM5Ljk3LjcxIDEuMzUuNzIuNjkgMS4yLjkxIDEuMDUuMzQgMS43LjM0Yy40NyAwIC45MS0uMDggMS4zMi0uMjNzLjc3LS4zNiAxLjA4LS42My41Ni0uNTguNzQtLjk0LjI5LS43NC4zLTEuMTVoLTEuNzljLS4wMS4yMS0uMDYuNC0uMTUuNThzLS4yMS4zMy0uMzYuNDYtLjMyLjIzLS41Mi4zYy0uMTkuMDctLjM5LjA5LS42LjEtLjM2LS4wMS0uNjYtLjA4LS44OS0uMjMtLjI1LS4xNi0uNDUtLjM3LS41OS0uNjJzLS4yNS0uNTUtLjMtLjg4LS4wOC0uNjctLjA4LTF2LS4yN2MwLS4zNS4wMy0uNjguMDgtMS4wMXpNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAxOGMtNC40MSAwLTgtMy41OS04LThzMy41OS04IDgtOCA4IDMuNTkgOCA4LTMuNTkgOC04IDh6IiAvPjwvZz4KPGcgaWQ9ImNyZWF0ZSI+PHBhdGggZD0iTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwbC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M3oiIC8+PC9nPgo8ZyBpZD0iY3JlYXRlLW5ldy1mb2xkZXIiPjxwYXRoIGQ9Ik0yMCA2aC04bC0yLTJINGMtMS4xMSAwLTEuOTkuODktMS45OSAyTDIgMThjMCAxLjExLjg5IDIgMiAyaDE2YzEuMTEgMCAyLS44OSAyLTJWOGMwLTEuMTEtLjg5LTItMi0yem0tMSA4aC0zdjNoLTJ2LTNoLTN2LTJoM1Y5aDJ2M2gzdjJ6IiAvPjwvZz4KPGcgaWQ9ImNyZWRpdC1jYXJkIj48cGF0aCBkPSJNMjAgNEg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOGMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY2YzAtMS4xMS0uODktMi0yLTJ6bTAgMTRINHYtNmgxNnY2em0wLTEwSDRWNmgxNnYyeiIgLz48L2c+CjxnIGlkPSJkYXNoYm9hcmQiPjxwYXRoIGQ9Ik0zIDEzaDhWM0gzdjEwem0wIDhoOHYtNkgzdjZ6bTEwIDBoOFYxMWgtOHYxMHptMC0xOHY2aDhWM2gtOHoiIC8+PC9nPgo8ZyBpZD0iZGF0ZS1yYW5nZSI+PHBhdGggZD0iTTkgMTFIN3YyaDJ2LTJ6bTQgMGgtMnYyaDJ2LTJ6bTQgMGgtMnYyaDJ2LTJ6bTItN2gtMVYyaC0ydjJIOFYySDZ2Mkg1Yy0xLjExIDAtMS45OS45LTEuOTkgMkwzIDIwYzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjZjMC0xLjEtLjktMi0yLTJ6bTAgMTZINVY5aDE0djExeiIgLz48L2c+CjxnIGlkPSJkZWxldGUiPjxwYXRoIGQ9Ik02IDE5YzAgMS4xLjkgMiAyIDJoOGMxLjEgMCAyLS45IDItMlY3SDZ2MTJ6TTE5IDRoLTMuNWwtMS0xaC01bC0xIDFINXYyaDE0VjR6IiAvPjwvZz4KPGcgaWQ9ImRlbGV0ZS1mb3JldmVyIj48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyem0yLjQ2LTcuMTJsMS40MS0xLjQxTDEyIDEyLjU5bDIuMTItMi4xMiAxLjQxIDEuNDFMMTMuNDEgMTRsMi4xMiAyLjEyLTEuNDEgMS40MUwxMiAxNS40MWwtMi4xMiAyLjEyLTEuNDEtMS40MUwxMC41OSAxNGwtMi4xMy0yLjEyek0xNS41IDRsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIgLz48L2c+CjxnIGlkPSJkZWxldGUtc3dlZXAiPjxwYXRoIGQ9Ik0xNSAxNmg0djJoLTR6bTAtOGg3djJoLTd6bTAgNGg2djJoLTZ6TTMgMThjMCAxLjEuOSAyIDIgMmg2YzEuMSAwIDItLjkgMi0yVjhIM3YxMHpNMTQgNWgtM2wtMS0xSDZMNSA1SDJ2MmgxMnoiIC8+PC9nPgo8ZyBpZD0iZGVzY3JpcHRpb24iPjxwYXRoIGQ9Ik0xNCAySDZjLTEuMSAwLTEuOTkuOS0xLjk5IDJMNCAyMGMwIDEuMS44OSAyIDEuOTkgMkgxOGMxLjEgMCAyLS45IDItMlY4bC02LTZ6bTIgMTZIOHYtMmg4djJ6bTAtNEg4di0yaDh2MnptLTMtNVYzLjVMMTguNSA5SDEzeiIgLz48L2c+CjxnIGlkPSJkbnMiPjxwYXRoIGQ9Ik0yMCAxM0g0Yy0uNTUgMC0xIC40NS0xIDF2NmMwIC41NS40NSAxIDEgMWgxNmMuNTUgMCAxLS40NSAxLTF2LTZjMC0uNTUtLjQ1LTEtMS0xek03IDE5Yy0xLjEgMC0yLS45LTItMnMuOS0yIDItMiAyIC45IDIgMi0uOSAyLTIgMnpNMjAgM0g0Yy0uNTUgMC0xIC40NS0xIDF2NmMwIC41NS40NSAxIDEgMWgxNmMuNTUgMCAxLS40NSAxLTFWNGMwLS41NS0uNDUtMS0xLTF6TTcgOWMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTIgMiAuOSAyIDItLjkgMi0yIDJ6IiAvPjwvZz4KPGcgaWQ9ImRvbmUiPjxwYXRoIGQ9Ik05IDE2LjJMNC44IDEybC0xLjQgMS40TDkgMTkgMjEgN2wtMS40LTEuNEw5IDE2LjJ6IiAvPjwvZz4KPGcgaWQ9ImRvbmUtYWxsIj48cGF0aCBkPSJNMTggN2wtMS40MS0xLjQxLTYuMzQgNi4zNCAxLjQxIDEuNDFMMTggN3ptNC4yNC0xLjQxTDExLjY2IDE2LjE3IDcuNDggMTJsLTEuNDEgMS40MUwxMS42NiAxOWwxMi0xMi0xLjQyLTEuNDF6TS40MSAxMy40MUw2IDE5bDEuNDEtMS40MUwxLjgzIDEyIC40MSAxMy40MXoiIC8+PC9nPgo8ZyBpZD0iZG9udXQtbGFyZ2UiPjxwYXRoIGQ9Ik0xMSA1LjA4VjJjLTUgLjUtOSA0LjgxLTkgMTBzNCA5LjUgOSAxMHYtMy4wOGMtMy0uNDgtNi0zLjQtNi02LjkyczMtNi40NCA2LTYuOTJ6TTE4Ljk3IDExSDIyYy0uNDctNS00LTguNTMtOS05djMuMDhDMTYgNS41MSAxOC41NCA4IDE4Ljk3IDExek0xMyAxOC45MlYyMmM1LS40NyA4LjUzLTQgOS05aC0zLjAzYy0uNDMgMy0yLjk3IDUuNDktNS45NyA1LjkyeiIgLz48L2c+CjxnIGlkPSJkb251dC1zbWFsbCI+PHBhdGggZD0iTTExIDkuMTZWMmMtNSAuNS05IDQuNzktOSAxMHM0IDkuNSA5IDEwdi03LjE2Yy0xLS40MS0yLTEuNTItMi0yLjg0czEtMi40MyAyLTIuODR6TTE0Ljg2IDExSDIyYy0uNDgtNC43NS00LTguNTMtOS05djcuMTZjMSAuMyAxLjUyLjk4IDEuODYgMS44NHpNMTMgMTQuODRWMjJjNS0uNDcgOC41Mi00LjI1IDktOWgtNy4xNGMtLjM0Ljg2LS44NiAxLjU0LTEuODYgMS44NHoiIC8+PC9nPgo8ZyBpZD0iZHJhZnRzIj48cGF0aCBkPSJNMjEuOTkgOGMwLS43Mi0uMzctMS4zNS0uOTQtMS43TDEyIDEgMi45NSA2LjNDMi4zOCA2LjY1IDIgNy4yOCAyIDh2MTBjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMmwtLjAxLTEwek0xMiAxM0wzLjc0IDcuODQgMTIgM2w4LjI2IDQuODRMMTIgMTN6IiAvPjwvZz4KPGcgaWQ9ImVqZWN0Ij48cGF0aCBkPSJNNSAxN2gxNHYySDV6bTctMTJMNS4zMyAxNWgxMy4zNHoiIC8+PC9nPgo8ZyBpZD0iZXJyb3IiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0xIDE1aC0ydi0yaDJ2MnptMC00aC0yVjdoMnY2eiIgLz48L2c+CjxnIGlkPSJlcnJvci1vdXRsaW5lIj48cGF0aCBkPSJNMTEgMTVoMnYyaC0yem0wLThoMnY2aC0yem0uOTktNUM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnpNMTIgMjBjLTQuNDIgMC04LTMuNTgtOC04czMuNTgtOCA4LTggOCAzLjU4IDggOC0zLjU4IDgtOCA4eiIgLz48L2c+CjxnIGlkPSJldXJvLXN5bWJvbCI+PHBhdGggZD0iTTE1IDE4LjVjLTIuNTEgMC00LjY4LTEuNDItNS43Ni0zLjVIMTV2LTJIOC41OGMtLjA1LS4zMy0uMDgtLjY2LS4wOC0xcy4wMy0uNjcuMDgtMUgxNVY5SDkuMjRDMTAuMzIgNi45MiAxMi41IDUuNSAxNSA1LjVjMS42MSAwIDMuMDkuNTkgNC4yMyAxLjU3TDIxIDUuM0MxOS40MSAzLjg3IDE3LjMgMyAxNSAzYy0zLjkyIDAtNy4yNCAyLjUxLTguNDggNkgzdjJoMy4wNmMtLjA0LjMzLS4wNi42Ni0uMDYgMSAwIC4zNC4wMi42Ny4wNiAxSDN2MmgzLjUyYzEuMjQgMy40OSA0LjU2IDYgOC40OCA2IDIuMzEgMCA0LjQxLS44NyA2LTIuM2wtMS43OC0xLjc3Yy0xLjEzLjk4LTIuNiAxLjU3LTQuMjIgMS41N3oiIC8+PC9nPgo8ZyBpZD0iZXZlbnQiPjxwYXRoIGQ9Ik0xNyAxMmgtNXY1aDV2LTV6TTE2IDF2Mkg4VjFINnYySDVjLTEuMTEgMC0xLjk5LjktMS45OSAyTDMgMTljMCAxLjEuODkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMmgtMVYxaC0yem0zIDE4SDVWOGgxNHYxMXoiIC8+PC9nPgo8ZyBpZD0iZXZlbnQtc2VhdCI+PHBhdGggZD0iTTQgMTh2M2gzdi0zaDEwdjNoM3YtNkg0em0xNS04aDN2M2gtM3pNMiAxMGgzdjNIMnptMTUgM0g3VjVjMC0xLjEuOS0yIDItMmg2YzEuMSAwIDIgLjkgMiAydjh6IiAvPjwvZz4KPGcgaWQ9ImV4aXQtdG8tYXBwIj48cGF0aCBkPSJNMTAuMDkgMTUuNTlMMTEuNSAxN2w1LTUtNS01LTEuNDEgMS40MUwxMi42NyAxMUgzdjJoOS42N2wtMi41OCAyLjU5ek0xOSAzSDVjLTEuMTEgMC0yIC45LTIgMnY0aDJWNWgxNHYxNEg1di00SDN2NGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yeiIgLz48L2c+CjxnIGlkPSJleHBhbmQtbGVzcyI+PHBhdGggZD0iTTEyIDhsLTYgNiAxLjQxIDEuNDFMMTIgMTAuODNsNC41OSA0LjU4TDE4IDE0eiIgLz48L2c+CjxnIGlkPSJleHBhbmQtbW9yZSI+PHBhdGggZD0iTTE2LjU5IDguNTlMMTIgMTMuMTcgNy40MSA4LjU5IDYgMTBsNiA2IDYtNnoiIC8+PC9nPgo8ZyBpZD0iZXhwbG9yZSI+PHBhdGggZD0iTTEyIDEwLjljLS42MSAwLTEuMS40OS0xLjEgMS4xcy40OSAxLjEgMS4xIDEuMWMuNjEgMCAxLjEtLjQ5IDEuMS0xLjFzLS40OS0xLjEtMS4xLTEuMXpNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMi4xOSAxMi4xOUw2IDE4bDMuODEtOC4xOUwxOCA2bC0zLjgxIDguMTl6IiAvPjwvZz4KPGcgaWQ9ImV4dGVuc2lvbiI+PHBhdGggZD0iTTIwLjUgMTFIMTlWN2MwLTEuMS0uOS0yLTItMmgtNFYzLjVDMTMgMi4xMiAxMS44OCAxIDEwLjUgMVM4IDIuMTIgOCAzLjVWNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAydjMuOEgzLjVjMS40OSAwIDIuNyAxLjIxIDIuNyAyLjdzLTEuMjEgMi43LTIuNyAyLjdIMlYyMGMwIDEuMS45IDIgMiAyaDMuOHYtMS41YzAtMS40OSAxLjIxLTIuNyAyLjctMi43IDEuNDkgMCAyLjcgMS4yMSAyLjcgMi43VjIySDE3YzEuMSAwIDItLjkgMi0ydi00aDEuNWMxLjM4IDAgMi41LTEuMTIgMi41LTIuNVMyMS44OCAxMSAyMC41IDExeiIgLz48L2c+CjxnIGlkPSJmYWNlIj48cGF0aCBkPSJNOSAxMS43NWMtLjY5IDAtMS4yNS41Ni0xLjI1IDEuMjVzLjU2IDEuMjUgMS4yNSAxLjI1IDEuMjUtLjU2IDEuMjUtMS4yNS0uNTYtMS4yNS0xLjI1LTEuMjV6bTYgMGMtLjY5IDAtMS4yNS41Ni0xLjI1IDEuMjVzLjU2IDEuMjUgMS4yNSAxLjI1IDEuMjUtLjU2IDEuMjUtMS4yNS0uNTYtMS4yNS0xLjI1LTEuMjV6TTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04IDAtLjI5LjAyLS41OC4wNS0uODYgMi4zNi0xLjA1IDQuMjMtMi45OCA1LjIxLTUuMzdDMTEuMDcgOC4zMyAxNC4wNSAxMCAxNy40MiAxMGMuNzggMCAxLjUzLS4wOSAyLjI1LS4yNi4yMS43MS4zMyAxLjQ3LjMzIDIuMjYgMCA0LjQxLTMuNTkgOC04IDh6IiAvPjwvZz4KPGcgaWQ9ImZhdm9yaXRlIj48cGF0aCBkPSJNMTIgMjEuMzVsLTEuNDUtMS4zMkM1LjQgMTUuMzYgMiAxMi4yOCAyIDguNSAyIDUuNDIgNC40MiAzIDcuNSAzYzEuNzQgMCAzLjQxLjgxIDQuNSAyLjA5QzEzLjA5IDMuODEgMTQuNzYgMyAxNi41IDMgMTkuNTggMyAyMiA1LjQyIDIyIDguNWMwIDMuNzgtMy40IDYuODYtOC41NSAxMS41NEwxMiAyMS4zNXoiIC8+PC9nPgo8ZyBpZD0iZmF2b3JpdGUtYm9yZGVyIj48cGF0aCBkPSJNMTYuNSAzYy0xLjc0IDAtMy40MS44MS00LjUgMi4wOUMxMC45MSAzLjgxIDkuMjQgMyA3LjUgMyA0LjQyIDMgMiA1LjQyIDIgOC41YzAgMy43OCAzLjQgNi44NiA4LjU1IDExLjU0TDEyIDIxLjM1bDEuNDUtMS4zMkMxOC42IDE1LjM2IDIyIDEyLjI4IDIyIDguNSAyMiA1LjQyIDE5LjU4IDMgMTYuNSAzem0tNC40IDE1LjU1bC0uMS4xLS4xLS4xQzcuMTQgMTQuMjQgNCAxMS4zOSA0IDguNSA0IDYuNSA1LjUgNSA3LjUgNWMxLjU0IDAgMy4wNC45OSAzLjU3IDIuMzZoMS44N0MxMy40NiA1Ljk5IDE0Ljk2IDUgMTYuNSA1YzIgMCAzLjUgMS41IDMuNSAzLjUgMCAyLjg5LTMuMTQgNS43NC03LjkgMTAuMDV6IiAvPjwvZz4KPGcgaWQ9ImZlZWRiYWNrIj48cGF0aCBkPSJNMjAgMkg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMjJsNC00aDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6bS03IDEyaC0ydi0yaDJ2MnptMC00aC0yVjZoMnY0eiIgLz48L2c+CjxnIGlkPSJmaWxlLWRvd25sb2FkIj48cGF0aCBkPSJNMTkgOWgtNFYzSDl2Nkg1bDcgNyA3LTd6TTUgMTh2MmgxNHYtMkg1eiIgLz48L2c+CjxnIGlkPSJmaWxlLXVwbG9hZCI+PHBhdGggZD0iTTkgMTZoNnYtNmg0bC03LTctNyA3aDR6bS00IDJoMTR2Mkg1eiIgLz48L2c+CjxnIGlkPSJmaWx0ZXItbGlzdCI+PHBhdGggZD0iTTEwIDE4aDR2LTJoLTR2MnpNMyA2djJoMThWNkgzem0zIDdoMTJ2LTJINnYyeiIgLz48L2c+CjxnIGlkPSJmaW5kLWluLXBhZ2UiPjxwYXRoIGQ9Ik0yMCAxOS41OVY4bC02LTZINmMtMS4xIDAtMS45OS45LTEuOTkgMkw0IDIwYzAgMS4xLjg5IDIgMS45OSAySDE4Yy40NSAwIC44NS0uMTUgMS4xOS0uNGwtNC40My00LjQzYy0uOC41Mi0xLjc0LjgzLTIuNzYuODMtMi43NiAwLTUtMi4yNC01LTVzMi4yNC01IDUtNSA1IDIuMjQgNSA1YzAgMS4wMi0uMzEgMS45Ni0uODMgMi43NUwyMCAxOS41OXpNOSAxM2MwIDEuNjYgMS4zNCAzIDMgM3MzLTEuMzQgMy0zLTEuMzQtMy0zLTMtMyAxLjM0LTMgM3oiIC8+PC9nPgo8ZyBpZD0iZmluZC1yZXBsYWNlIj48cGF0aCBkPSJNMTEgNmMxLjM4IDAgMi42My41NiAzLjU0IDEuNDZMMTIgMTBoNlY0bC0yLjA1IDIuMDVDMTQuNjggNC43OCAxMi45MyA0IDExIDRjLTMuNTMgMC02LjQzIDIuNjEtNi45MiA2SDYuMWMuNDYtMi4yOCAyLjQ4LTQgNC45LTR6bTUuNjQgOS4xNGMuNjYtLjkgMS4xMi0xLjk3IDEuMjgtMy4xNEgxNS45Yy0uNDYgMi4yOC0yLjQ4IDQtNC45IDQtMS4zOCAwLTIuNjMtLjU2LTMuNTQtMS40NkwxMCAxMkg0djZsMi4wNS0yLjA1QzcuMzIgMTcuMjIgOS4wNyAxOCAxMSAxOGMxLjU1IDAgMi45OC0uNTEgNC4xNC0xLjM2TDIwIDIxLjQ5IDIxLjQ5IDIwbC00Ljg1LTQuODZ6IiAvPjwvZz4KPGcgaWQ9ImZpbmdlcnByaW50Ij48cGF0aCBkPSJNMTcuODEgNC40N2MtLjA4IDAtLjE2LS4wMi0uMjMtLjA2QzE1LjY2IDMuNDIgMTQgMyAxMi4wMSAzYy0xLjk4IDAtMy44Ni40Ny01LjU3IDEuNDEtLjI0LjEzLS41NC4wNC0uNjgtLjItLjEzLS4yNC0uMDQtLjU1LjItLjY4QzcuODIgMi41MiA5Ljg2IDIgMTIuMDEgMmMyLjEzIDAgMy45OS40NyA2LjAzIDEuNTIuMjUuMTMuMzQuNDMuMjEuNjctLjA5LjE4LS4yNi4yOC0uNDQuMjh6TTMuNSA5LjcyYy0uMSAwLS4yLS4wMy0uMjktLjA5LS4yMy0uMTYtLjI4LS40Ny0uMTItLjcuOTktMS40IDIuMjUtMi41IDMuNzUtMy4yN0M5Ljk4IDQuMDQgMTQgNC4wMyAxNy4xNSA1LjY1YzEuNS43NyAyLjc2IDEuODYgMy43NSAzLjI1LjE2LjIyLjExLjU0LS4xMi43LS4yMy4xNi0uNTQuMTEtLjctLjEyLS45LTEuMjYtMi4wNC0yLjI1LTMuMzktMi45NC0yLjg3LTEuNDctNi41NC0xLjQ3LTkuNC4wMS0xLjM2LjctMi41IDEuNy0zLjQgMi45Ni0uMDguMTQtLjIzLjIxLS4zOS4yMXptNi4yNSAxMi4wN2MtLjEzIDAtLjI2LS4wNS0uMzUtLjE1LS44Ny0uODctMS4zNC0xLjQzLTIuMDEtMi42NC0uNjktMS4yMy0xLjA1LTIuNzMtMS4wNS00LjM0IDAtMi45NyAyLjU0LTUuMzkgNS42Ni01LjM5czUuNjYgMi40MiA1LjY2IDUuMzljMCAuMjgtLjIyLjUtLjUuNXMtLjUtLjIyLS41LS41YzAtMi40Mi0yLjA5LTQuMzktNC42Ni00LjM5LTIuNTcgMC00LjY2IDEuOTctNC42NiA0LjM5IDAgMS40NC4zMiAyLjc3LjkzIDMuODUuNjQgMS4xNSAxLjA4IDEuNjQgMS44NSAyLjQyLjE5LjIuMTkuNTEgMCAuNzEtLjExLjEtLjI0LjE1LS4zNy4xNXptNy4xNy0xLjg1Yy0xLjE5IDAtMi4yNC0uMy0zLjEtLjg5LTEuNDktMS4wMS0yLjM4LTIuNjUtMi4zOC00LjM5IDAtLjI4LjIyLS41LjUtLjVzLjUuMjIuNS41YzAgMS40MS43MiAyLjc0IDEuOTQgMy41Ni43MS40OCAxLjU0LjcxIDIuNTQuNzEuMjQgMCAuNjQtLjAzIDEuMDQtLjEuMjctLjA1LjUzLjEzLjU4LjQxLjA1LjI3LS4xMy41My0uNDEuNTgtLjU3LjExLTEuMDcuMTItMS4yMS4xMnpNMTQuOTEgMjJjLS4wNCAwLS4wOS0uMDEtLjEzLS4wMi0xLjU5LS40NC0yLjYzLTEuMDMtMy43Mi0yLjEtMS40LTEuMzktMi4xNy0zLjI0LTIuMTctNS4yMiAwLTEuNjIgMS4zOC0yLjk0IDMuMDgtMi45NCAxLjcgMCAzLjA4IDEuMzIgMy4wOCAyLjk0IDAgMS4wNy45MyAxLjk0IDIuMDggMS45NHMyLjA4LS44NyAyLjA4LTEuOTRjMC0zLjc3LTMuMjUtNi44My03LjI1LTYuODMtMi44NCAwLTUuNDQgMS41OC02LjYxIDQuMDMtLjM5LjgxLS41OSAxLjc2LS41OSAyLjggMCAuNzguMDcgMi4wMS42NyAzLjYxLjEuMjYtLjAzLjU1LS4yOS42NC0uMjYuMS0uNTUtLjA0LS42NC0uMjktLjQ5LTEuMzEtLjczLTIuNjEtLjczLTMuOTYgMC0xLjIuMjMtMi4yOS42OC0zLjI0IDEuMzMtMi43OSA0LjI4LTQuNiA3LjUxLTQuNiA0LjU1IDAgOC4yNSAzLjUxIDguMjUgNy44MyAwIDEuNjItMS4zOCAyLjk0LTMuMDggMi45NHMtMy4wOC0xLjMyLTMuMDgtMi45NGMwLTEuMDctLjkzLTEuOTQtMi4wOC0xLjk0cy0yLjA4Ljg3LTIuMDggMS45NGMwIDEuNzEuNjYgMy4zMSAxLjg3IDQuNTEuOTUuOTQgMS44NiAxLjQ2IDMuMjcgMS44NS4yNy4wNy40Mi4zNS4zNS42MS0uMDUuMjMtLjI2LjM4LS40Ny4zOHoiIC8+PC9nPgo8ZyBpZD0iZmlyc3QtcGFnZSI+PHBhdGggZD0iTTE4LjQxIDE2LjU5TDEzLjgyIDEybDQuNTktNC41OUwxNyA2bC02IDYgNiA2ek02IDZoMnYxMkg2eiIgLz48L2c+CjxnIGlkPSJmbGFnIj48cGF0aCBkPSJNMTQuNCA2TDE0IDRINXYxN2gydi03aDUuNmwuNCAyaDdWNnoiIC8+PC9nPgo8ZyBpZD0iZmxpZ2h0LWxhbmQiPjxwYXRoIGQ9Ik0yLjUgMTloMTl2MmgtMTl6bTcuMTgtNS43M2w0LjM1IDEuMTYgNS4zMSAxLjQyYy44LjIxIDEuNjItLjI2IDEuODQtMS4wNi4yMS0uOC0uMjYtMS42Mi0xLjA2LTEuODRsLTUuMzEtMS40Mi0yLjc2LTkuMDJMMTAuMTIgMnY4LjI4TDUuMTUgOC45NWwtLjkzLTIuMzItMS40NS0uMzl2NS4xN2wxLjYuNDMgNS4zMSAxLjQzeiIgLz48L2c+CjxnIGlkPSJmbGlnaHQtdGFrZW9mZiI+PHBhdGggZD0iTTIuNSAxOWgxOXYyaC0xOXptMTkuNTctOS4zNmMtLjIxLS44LTEuMDQtMS4yOC0xLjg0LTEuMDZMMTQuOTIgMTBsLTYuOS02LjQzLTEuOTMuNTEgNC4xNCA3LjE3LTQuOTcgMS4zMy0xLjk3LTEuNTQtMS40NS4zOSAxLjgyIDMuMTYuNzcgMS4zMyAxLjYtLjQzIDUuMzEtMS40MiA0LjM1LTEuMTZMMjEgMTEuNDljLjgxLS4yMyAxLjI4LTEuMDUgMS4wNy0xLjg1eiIgLz48L2c+CjxnIGlkPSJmbGlwLXRvLWJhY2siPjxwYXRoIGQ9Ik05IDdIN3YyaDJWN3ptMCA0SDd2Mmgydi0yem0wLThjLTEuMTEgMC0yIC45LTIgMmgyVjN6bTQgMTJoLTJ2Mmgydi0yem02LTEydjJoMmMwLTEuMS0uOS0yLTItMnptLTYgMGgtMnYyaDJWM3pNOSAxN3YtMkg3YzAgMS4xLjg5IDIgMiAyem0xMC00aDJ2LTJoLTJ2MnptMC00aDJWN2gtMnYyem0wIDhjMS4xIDAgMi0uOSAyLTJoLTJ2MnpNNSA3SDN2MTJjMCAxLjEuODkgMiAyIDJoMTJ2LTJINVY3em0xMC0yaDJWM2gtMnYyem0wIDEyaDJ2LTJoLTJ2MnoiIC8+PC9nPgo8ZyBpZD0iZmxpcC10by1mcm9udCI+PHBhdGggZD0iTTMgMTNoMnYtMkgzdjJ6bTAgNGgydi0ySDN2MnptMiA0di0ySDNjMCAxLjEuODkgMiAyIDJ6TTMgOWgyVjdIM3Yyem0xMiAxMmgydi0yaC0ydjJ6bTQtMThIOWMtMS4xMSAwLTIgLjktMiAydjEwYzAgMS4xLjg5IDIgMiAyaDEwYzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTJIOVY1aDEwdjEwem0tOCA2aDJ2LTJoLTJ2MnptLTQgMGgydi0ySDd2MnoiIC8+PC9nPgo8ZyBpZD0iZm9sZGVyIj48cGF0aCBkPSJNMTAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yaC04bC0yLTJ6IiAvPjwvZz4KPGcgaWQ9ImZvbGRlci1vcGVuIj48cGF0aCBkPSJNMjAgNmgtOGwtMi0ySDRjLTEuMSAwLTEuOTkuOS0xLjk5IDJMMiAxOGMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjhjMC0xLjEtLjktMi0yLTJ6bTAgMTJINFY4aDE2djEweiIgLz48L2c+CjxnIGlkPSJmb2xkZXItc2hhcmVkIj48cGF0aCBkPSJNMjAgNmgtOGwtMi0ySDRjLTEuMSAwLTEuOTkuOS0xLjk5IDJMMiAxOGMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjhjMC0xLjEtLjktMi0yLTJ6bS01IDNjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyLTItLjktMi0yIC45LTIgMi0yem00IDhoLTh2LTFjMC0xLjMzIDIuNjctMiA0LTJzNCAuNjcgNCAydjF6IiAvPjwvZz4KPGcgaWQ9ImZvbnQtZG93bmxvYWQiPjxwYXRoIGQ9Ik05LjkzIDEzLjVoNC4xNEwxMiA3Ljk4ek0yMCAySDRjLTEuMSAwLTIgLjktMiAydjE2YzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWNGMwLTEuMS0uOS0yLTItMnptLTQuMDUgMTYuNWwtMS4xNC0zSDkuMTdsLTEuMTIgM0g1Ljk2bDUuMTEtMTNoMS44Nmw1LjExIDEzaC0yLjA5eiIgLz48L2c+CjxnIGlkPSJmb3J3YXJkIj48cGF0aCBkPSJNMTIgOFY0bDggOC04IDh2LTRINFY4eiIgLz48L2c+CjxnIGlkPSJmdWxsc2NyZWVuIj48cGF0aCBkPSJNNyAxNEg1djVoNXYtMkg3di0zem0tMi00aDJWN2gzVjVINXY1em0xMiA3aC0zdjJoNXYtNWgtMnYzek0xNCA1djJoM3YzaDJWNWgtNXoiIC8+PC9nPgo8ZyBpZD0iZnVsbHNjcmVlbi1leGl0Ij48cGF0aCBkPSJNNSAxNmgzdjNoMnYtNUg1djJ6bTMtOEg1djJoNVY1SDh2M3ptNiAxMWgydi0zaDN2LTJoLTV2NXptMi0xMVY1aC0ydjVoNVY4aC0zeiIgLz48L2c+CjxnIGlkPSJnLXRyYW5zbGF0ZSI+PHBhdGggZD0iTTIwIDVoLTkuMTJMMTAgMkg0Yy0xLjEgMC0yIC45LTIgMnYxM2MwIDEuMS45IDIgMiAyaDdsMSAzaDhjMS4xIDAgMi0uOSAyLTJWN2MwLTEuMS0uOS0yLTItMnpNNy4xNyAxNC41OWMtMi4yNSAwLTQuMDktMS44My00LjA5LTQuMDlzMS44My00LjA5IDQuMDktNC4wOWMxLjA0IDAgMS45OS4zNyAyLjc0IDEuMDdsLjA3LjA2LTEuMjMgMS4xOC0uMDYtLjA1Yy0uMjktLjI3LS43OC0uNTktMS41Mi0uNTktMS4zMSAwLTIuMzggMS4wOS0yLjM4IDIuNDJzMS4wNyAyLjQyIDIuMzggMi40MmMxLjM3IDAgMS45Ni0uODcgMi4xMi0xLjQ2SDcuMDhWOS45MWgzLjk1bC4wMS4wN2MuMDQuMjEuMDUuNC4wNS42MSAwIDIuMzUtMS42MSA0LTMuOTIgNHptNi4wMy0xLjcxYy4zMy42Ljc0IDEuMTggMS4xOSAxLjdsLS41NC41My0uNjUtMi4yM3ptLjc3LS43NmgtLjk5bC0uMzEtMS4wNGgzLjk5cy0uMzQgMS4zMS0xLjU2IDIuNzRjLS41Mi0uNjItLjg5LTEuMjMtMS4xMy0xLjd6TTIxIDIwYzAgLjU1LS40NSAxLTEgMWgtN2wyLTItLjgxLTIuNzcuOTItLjkyTDE3Ljc5IDE4bC43My0uNzMtMi43MS0yLjY4Yy45LTEuMDMgMS42LTIuMjUgMS45Mi0zLjUxSDE5di0xLjA0aC0zLjY0VjloLTEuMDR2MS4wNGgtMS45NkwxMS4xOCA2SDIwYy41NSAwIDEgLjQ1IDEgMXYxM3oiIC8+PC9nPgo8ZyBpZD0iZ2F2ZWwiPjxwYXRoIGQ9Ik0xIDIxaDEydjJIMXpNNS4yNDUgOC4wN2wyLjgzLTIuODI3IDE0LjE0IDE0LjE0Mi0yLjgyOCAyLjgyOHpNMTIuMzE3IDFsNS42NTcgNS42NTYtMi44MyAyLjgzLTUuNjU0LTUuNjZ6TTMuODI1IDkuNDg1bDUuNjU3IDUuNjU3LTIuODI4IDIuODI4LTUuNjU3LTUuNjU3eiIgLz48L2c+CjxnIGlkPSJnZXN0dXJlIj48cGF0aCBkPSJNNC41OSA2Ljg5Yy43LS43MSAxLjQtMS4zNSAxLjcxLTEuMjIuNS4yIDAgMS4wMy0uMyAxLjUyLS4yNS40Mi0yLjg2IDMuODktMi44NiA2LjMxIDAgMS4yOC40OCAyLjM0IDEuMzQgMi45OC43NS41NiAxLjc0LjczIDIuNjQuNDYgMS4wNy0uMzEgMS45NS0xLjQgMy4wNi0yLjc3IDEuMjEtMS40OSAyLjgzLTMuNDQgNC4wOC0zLjQ0IDEuNjMgMCAxLjY1IDEuMDEgMS43NiAxLjc5LTMuNzguNjQtNS4zOCAzLjY3LTUuMzggNS4zNyAwIDEuNyAxLjQ0IDMuMDkgMy4yMSAzLjA5IDEuNjMgMCA0LjI5LTEuMzMgNC42OS02LjFIMjF2LTIuNWgtMi40N2MtLjE1LTEuNjUtMS4wOS00LjItNC4wMy00LjItMi4yNSAwLTQuMTggMS45MS00Ljk0IDIuODQtLjU4LjczLTIuMDYgMi40OC0yLjI5IDIuNzItLjI1LjMtLjY4Ljg0LTEuMTEuODQtLjQ1IDAtLjcyLS44My0uMzYtMS45Mi4zNS0xLjA5IDEuNC0yLjg2IDEuODUtMy41Mi43OC0xLjE0IDEuMy0xLjkyIDEuMy0zLjI4QzguOTUgMy42OSA3LjMxIDMgNi40NCAzIDUuMTIgMyAzLjk3IDQgMy43MiA0LjI1Yy0uMzYuMzYtLjY2LjY2LS44OC45M2wxLjc1IDEuNzF6bTkuMjkgMTEuNjZjLS4zMSAwLS43NC0uMjYtLjc0LS43MiAwLS42LjczLTIuMiAyLjg3LTIuNzYtLjMgMi42OS0xLjQzIDMuNDgtMi4xMyAzLjQ4eiIgLz48L2c+CjxnIGlkPSJnZXQtYXBwIj48cGF0aCBkPSJNMTkgOWgtNFYzSDl2Nkg1bDcgNyA3LTd6TTUgMTh2MmgxNHYtMkg1eiIgLz48L2c+CjxnIGlkPSJnaWYiPjxwYXRoIGQ9Ik0xMS41IDlIMTN2NmgtMS41ek05IDlINmMtLjYgMC0xIC41LTEgMXY0YzAgLjUuNCAxIDEgMWgzYy42IDAgMS0uNSAxLTF2LTJIOC41djEuNWgtMnYtM0gxMFYxMGMwLS41LS40LTEtMS0xem0xMCAxLjVWOWgtNC41djZIMTZ2LTJoMnYtMS41aC0ydi0xeiIgLz48L2c+CjxnIGlkPSJncmFkZSI+PHBhdGggZD0iTTEyIDE3LjI3TDE4LjE4IDIxbC0xLjY0LTcuMDNMMjIgOS4yNGwtNy4xOS0uNjFMMTIgMiA5LjE5IDguNjMgMiA5LjI0bDUuNDYgNC43M0w1LjgyIDIxeiIgLz48L2c+CjxnIGlkPSJncm91cC13b3JrIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnpNOCAxNy41Yy0xLjM4IDAtMi41LTEuMTItMi41LTIuNXMxLjEyLTIuNSAyLjUtMi41IDIuNSAxLjEyIDIuNSAyLjUtMS4xMiAyLjUtMi41IDIuNXpNOS41IDhjMC0xLjM4IDEuMTItMi41IDIuNS0yLjVzMi41IDEuMTIgMi41IDIuNS0xLjEyIDIuNS0yLjUgMi41UzkuNSA5LjM4IDkuNSA4em02LjUgOS41Yy0xLjM4IDAtMi41LTEuMTItMi41LTIuNXMxLjEyLTIuNSAyLjUtMi41IDIuNSAxLjEyIDIuNSAyLjUtMS4xMiAyLjUtMi41IDIuNXoiIC8+PC9nPgo8ZyBpZD0iaGVscCI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTEgMTdoLTJ2LTJoMnYyem0yLjA3LTcuNzVsLS45LjkyQzEzLjQ1IDEyLjkgMTMgMTMuNSAxMyAxNWgtMnYtLjVjMC0xLjEuNDUtMi4xIDEuMTctMi44M2wxLjI0LTEuMjZjLjM3LS4zNi41OS0uODYuNTktMS40MSAwLTEuMS0uOS0yLTItMnMtMiAuOS0yIDJIOGMwLTIuMjEgMS43OS00IDQtNHM0IDEuNzkgNCA0YzAgLjg4LS4zNiAxLjY4LS45MyAyLjI1eiIgLz48L2c+CjxnIGlkPSJoZWxwLW91dGxpbmUiPjxwYXRoIGQ9Ik0xMSAxOGgydi0yaC0ydjJ6bTEtMTZDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4em0wLTE0Yy0yLjIxIDAtNCAxLjc5LTQgNGgyYzAtMS4xLjktMiAyLTJzMiAuOSAyIDJjMCAyLTMgMS43NS0zIDVoMmMwLTIuMjUgMy0yLjUgMy01IDAtMi4yMS0xLjc5LTQtNC00eiIgLz48L2c+CjxnIGlkPSJoaWdobGlnaHQtb2ZmIj48cGF0aCBkPSJNMTQuNTkgOEwxMiAxMC41OSA5LjQxIDggOCA5LjQxIDEwLjU5IDEyIDggMTQuNTkgOS40MSAxNiAxMiAxMy40MSAxNC41OSAxNiAxNiAxNC41OSAxMy40MSAxMiAxNiA5LjQxIDE0LjU5IDh6TTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiIgLz48L2c+CjxnIGlkPSJoaXN0b3J5Ij48cGF0aCBkPSJNMTMgM2MtNC45NyAwLTkgNC4wMy05IDlIMWwzLjg5IDMuODkuMDcuMTRMOSAxMkg2YzAtMy44NyAzLjEzLTcgNy03czcgMy4xMyA3IDctMy4xMyA3LTcgN2MtMS45MyAwLTMuNjgtLjc5LTQuOTQtMi4wNmwtMS40MiAxLjQyQzguMjcgMTkuOTkgMTAuNTEgMjEgMTMgMjFjNC45NyAwIDktNC4wMyA5LTlzLTQuMDMtOS05LTl6bS0xIDV2NWw0LjI4IDIuNTQuNzItMS4yMS0zLjUtMi4wOFY4SDEyeiIgLz48L2c+CjxnIGlkPSJob21lIj48cGF0aCBkPSJNMTAgMjB2LTZoNHY2aDV2LThoM0wxMiAzIDIgMTJoM3Y4eiIgLz48L2c+CjxnIGlkPSJob3VyZ2xhc3MtZW1wdHkiPjxwYXRoIGQ9Ik02IDJ2NmguMDFMNiA4LjAxIDEwIDEybC00IDQgLjAxLjAxSDZWMjJoMTJ2LTUuOTloLS4wMUwxOCAxNmwtNC00IDQtMy45OS0uMDEtLjAxSDE4VjJINnptMTAgMTQuNVYyMEg4di0zLjVsNC00IDQgNHptLTQtNWwtNC00VjRoOHYzLjVsLTQgNHoiIC8+PC9nPgo8ZyBpZD0iaG91cmdsYXNzLWZ1bGwiPjxwYXRoIGQ9Ik02IDJ2NmguMDFMNiA4LjAxIDEwIDEybC00IDQgLjAxLjAxSDZWMjJoMTJ2LTUuOTloLS4wMUwxOCAxNmwtNC00IDQtMy45OS0uMDEtLjAxSDE4VjJINnoiIC8+PC9nPgo8ZyBpZD0iaHR0cCI+PHBhdGggZD0iTTQuNSAxMWgtMlY5SDF2NmgxLjV2LTIuNWgyVjE1SDZWOUg0LjV2MnptMi41LS41aDEuNVYxNUgxMHYtNC41aDEuNVY5SDd2MS41em01LjUgMEgxNFYxNWgxLjV2LTQuNUgxN1Y5aC00LjV2MS41em05LTEuNUgxOHY2aDEuNXYtMmgyYy44IDAgMS41LS43IDEuNS0xLjV2LTFjMC0uOC0uNy0xLjUtMS41LTEuNXptMCAyLjVoLTJ2LTFoMnYxeiIgLz48L2c+CjxnIGlkPSJodHRwcyI+PHBhdGggZD0iTTE4IDhoLTFWNmMwLTIuNzYtMi4yNC01LTUtNVM3IDMuMjQgNyA2djJINmMtMS4xIDAtMiAuOS0yIDJ2MTBjMCAxLjEuOSAyIDIgMmgxMmMxLjEgMCAyLS45IDItMlYxMGMwLTEuMS0uOS0yLTItMnptLTYgOWMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTIgMiAuOSAyIDItLjkgMi0yIDJ6bTMuMS05SDguOVY2YzAtMS43MSAxLjM5LTMuMSAzLjEtMy4xIDEuNzEgMCAzLjEgMS4zOSAzLjEgMy4xdjJ6IiAvPjwvZz4KPGcgaWQ9ImltcG9ydGFudC1kZXZpY2VzIj48cGF0aCBkPSJNMjMgMTEuMDFMMTggMTFjLS41NSAwLTEgLjQ1LTEgMXY5YzAgLjU1LjQ1IDEgMSAxaDVjLjU1IDAgMS0uNDUgMS0xdi05YzAtLjU1LS40NS0uOTktMS0uOTl6TTIzIDIwaC01di03aDV2N3pNMjAgMkgyQy44OSAyIDAgMi44OSAwIDR2MTJjMCAxLjEuODkgMiAyIDJoN3YySDd2Mmg4di0yaC0ydi0yaDJ2LTJIMlY0aDE4djVoMlY0YzAtMS4xMS0uOS0yLTItMnptLTguMDMgN0wxMSA2bC0uOTcgM0g3bDIuNDcgMS43Ni0uOTQgMi45MSAyLjQ3LTEuOCAyLjQ3IDEuOC0uOTQtMi45MUwxNSA5aC0zLjAzeiIgLz48L2c+CjxnIGlkPSJpbmJveCI+PHBhdGggZD0iTTE5IDNINC45OWMtMS4xMSAwLTEuOTguODktMS45OCAyTDMgMTljMCAxLjEuODggMiAxLjk5IDJIMTljMS4xIDAgMi0uOSAyLTJWNWMwLTEuMTEtLjktMi0yLTJ6bTAgMTJoLTRjMCAxLjY2LTEuMzUgMy0zIDNzLTMtMS4zNC0zLTNINC45OVY1SDE5djEweiIgLz48L2c+CjxnIGlkPSJpbmRldGVybWluYXRlLWNoZWNrLWJveCI+PHBhdGggZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tMiAxMEg3di0yaDEwdjJ6IiAvPjwvZz4KPGcgaWQ9ImluZm8iPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0xIDE1aC0ydi02aDJ2NnptMC04aC0yVjdoMnYyeiIgLz48L2c+CjxnIGlkPSJpbmZvLW91dGxpbmUiPjxwYXRoIGQ9Ik0xMSAxN2gydi02aC0ydjZ6bTEtMTVDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4ek0xMSA5aDJWN2gtMnYyeiIgLz48L2c+CjxnIGlkPSJpbnB1dCI+PHBhdGggZD0iTTIxIDMuMDFIM2MtMS4xIDAtMiAuOS0yIDJWOWgyVjQuOTloMTh2MTQuMDNIM1YxNUgxdjQuMDFjMCAxLjEuOSAxLjk4IDIgMS45OGgxOGMxLjEgMCAyLS44OCAyLTEuOTh2LTE0YzAtMS4xMS0uOS0yLTItMnpNMTEgMTZsNC00LTQtNHYzSDF2MmgxMHYzeiIgLz48L2c+CjxnIGlkPSJpbnZlcnQtY29sb3JzIj48cGF0aCBkPSJNMTcuNjYgNy45M0wxMiAyLjI3IDYuMzQgNy45M2MtMy4xMiAzLjEyLTMuMTIgOC4xOSAwIDExLjMxQzcuOSAyMC44IDkuOTUgMjEuNTggMTIgMjEuNThjMi4wNSAwIDQuMS0uNzggNS42Ni0yLjM0IDMuMTItMy4xMiAzLjEyLTguMTkgMC0xMS4zMXpNMTIgMTkuNTljLTEuNiAwLTMuMTEtLjYyLTQuMjQtMS43NkM2LjYyIDE2LjY5IDYgMTUuMTkgNiAxMy41OXMuNjItMy4xMSAxLjc2LTQuMjRMMTIgNS4xdjE0LjQ5eiIgLz48L2c+CjxnIGlkPSJsYWJlbCI+PHBhdGggZD0iTTE3LjYzIDUuODRDMTcuMjcgNS4zMyAxNi42NyA1IDE2IDVMNSA1LjAxQzMuOSA1LjAxIDMgNS45IDMgN3YxMGMwIDEuMS45IDEuOTkgMiAxLjk5TDE2IDE5Yy42NyAwIDEuMjctLjMzIDEuNjMtLjg0TDIyIDEybC00LjM3LTYuMTZ6IiAvPjwvZz4KPGcgaWQ9ImxhYmVsLW91dGxpbmUiPjxwYXRoIGQ9Ik0xNy42MyA1Ljg0QzE3LjI3IDUuMzMgMTYuNjcgNSAxNiA1TDUgNS4wMUMzLjkgNS4wMSAzIDUuOSAzIDd2MTBjMCAxLjEuOSAxLjk5IDIgMS45OUwxNiAxOWMuNjcgMCAxLjI3LS4zMyAxLjYzLS44NEwyMiAxMmwtNC4zNy02LjE2ek0xNiAxN0g1VjdoMTFsMy41NSA1TDE2IDE3eiIgLz48L2c+CjxnIGlkPSJsYW5ndWFnZSI+PHBhdGggZD0iTTExLjk5IDJDNi40NyAyIDIgNi40OCAyIDEyczQuNDcgMTAgOS45OSAxMEMxNy41MiAyMiAyMiAxNy41MiAyMiAxMlMxNy41MiAyIDExLjk5IDJ6bTYuOTMgNmgtMi45NWMtLjMyLTEuMjUtLjc4LTIuNDUtMS4zOC0zLjU2IDEuODQuNjMgMy4zNyAxLjkxIDQuMzMgMy41NnpNMTIgNC4wNGMuODMgMS4yIDEuNDggMi41MyAxLjkxIDMuOTZoLTMuODJjLjQzLTEuNDMgMS4wOC0yLjc2IDEuOTEtMy45NnpNNC4yNiAxNEM0LjEgMTMuMzYgNCAxMi42OSA0IDEycy4xLTEuMzYuMjYtMmgzLjM4Yy0uMDguNjYtLjE0IDEuMzItLjE0IDIgMCAuNjguMDYgMS4zNC4xNCAySDQuMjZ6bS44MiAyaDIuOTVjLjMyIDEuMjUuNzggMi40NSAxLjM4IDMuNTYtMS44NC0uNjMtMy4zNy0xLjktNC4zMy0zLjU2em0yLjk1LThINS4wOGMuOTYtMS42NiAyLjQ5LTIuOTMgNC4zMy0zLjU2QzguODEgNS41NSA4LjM1IDYuNzUgOC4wMyA4ek0xMiAxOS45NmMtLjgzLTEuMi0xLjQ4LTIuNTMtMS45MS0zLjk2aDMuODJjLS40MyAxLjQzLTEuMDggMi43Ni0xLjkxIDMuOTZ6TTE0LjM0IDE0SDkuNjZjLS4wOS0uNjYtLjE2LTEuMzItLjE2LTIgMC0uNjguMDctMS4zNS4xNi0yaDQuNjhjLjA5LjY1LjE2IDEuMzIuMTYgMiAwIC42OC0uMDcgMS4zNC0uMTYgMnptLjI1IDUuNTZjLjYtMS4xMSAxLjA2LTIuMzEgMS4zOC0zLjU2aDIuOTVjLS45NiAxLjY1LTIuNDkgMi45My00LjMzIDMuNTZ6TTE2LjM2IDE0Yy4wOC0uNjYuMTQtMS4zMi4xNC0yIDAtLjY4LS4wNi0xLjM0LS4xNC0yaDMuMzhjLjE2LjY0LjI2IDEuMzEuMjYgMnMtLjEgMS4zNi0uMjYgMmgtMy4zOHoiIC8+PC9nPgo8ZyBpZD0ibGFzdC1wYWdlIj48cGF0aCBkPSJNNS41OSA3LjQxTDEwLjE4IDEybC00LjU5IDQuNTlMNyAxOGw2LTYtNi02ek0xNiA2aDJ2MTJoLTJ6IiAvPjwvZz4KPGcgaWQ9ImxhdW5jaCI+PHBhdGggZD0iTTE5IDE5SDVWNWg3VjNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0ydi03aC0ydjd6TTE0IDN2MmgzLjU5bC05LjgzIDkuODMgMS40MSAxLjQxTDE5IDYuNDFWMTBoMlYzaC03eiIgLz48L2c+CjxnIGlkPSJsaWdodGJ1bGItb3V0bGluZSI+PHBhdGggZD0iTTkgMjFjMCAuNTUuNDUgMSAxIDFoNGMuNTUgMCAxLS40NSAxLTF2LTFIOXYxem0zLTE5QzguMTQgMiA1IDUuMTQgNSA5YzAgMi4zOCAxLjE5IDQuNDcgMyA1Ljc0VjE3YzAgLjU1LjQ1IDEgMSAxaDZjLjU1IDAgMS0uNDUgMS0xdi0yLjI2YzEuODEtMS4yNyAzLTMuMzYgMy01Ljc0IDAtMy44Ni0zLjE0LTctNy03em0yLjg1IDExLjFsLS44NS42VjE2aC00di0yLjNsLS44NS0uNkM3LjggMTIuMTYgNyAxMC42MyA3IDljMC0yLjc2IDIuMjQtNSA1LTVzNSAyLjI0IDUgNWMwIDEuNjMtLjggMy4xNi0yLjE1IDQuMXoiIC8+PC9nPgo8ZyBpZD0ibGluZS1zdHlsZSI+PHBhdGggZD0iTTMgMTZoNXYtMkgzdjJ6bTYuNSAwaDV2LTJoLTV2MnptNi41IDBoNXYtMmgtNXYyek0zIDIwaDJ2LTJIM3Yyem00IDBoMnYtMkg3djJ6bTQgMGgydi0yaC0ydjJ6bTQgMGgydi0yaC0ydjJ6bTQgMGgydi0yaC0ydjJ6TTMgMTJoOHYtMkgzdjJ6bTEwIDBoOHYtMmgtOHYyek0zIDR2NGgxOFY0SDN6IiAvPjwvZz4KPGcgaWQ9ImxpbmUtd2VpZ2h0Ij48cGF0aCBkPSJNMyAxN2gxOHYtMkgzdjJ6bTAgM2gxOHYtMUgzdjF6bTAtN2gxOHYtM0gzdjN6bTAtOXY0aDE4VjRIM3oiIC8+PC9nPgo8ZyBpZD0ibGluayI+PHBhdGggZD0iTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TTggMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01eiIgLz48L2c+CjxnIGlkPSJsaXN0Ij48cGF0aCBkPSJNMyAxM2gydi0ySDN2MnptMCA0aDJ2LTJIM3Yyem0wLThoMlY3SDN2MnptNCA0aDE0di0ySDd2MnptMCA0aDE0di0ySDd2MnpNNyA3djJoMTRWN0g3eiIgLz48L2c+CjxnIGlkPSJsb2NrIj48cGF0aCBkPSJNMTggOGgtMVY2YzAtMi43Ni0yLjI0LTUtNS01UzcgMy4yNCA3IDZ2Mkg2Yy0xLjEgMC0yIC45LTIgMnYxMGMwIDEuMS45IDIgMiAyaDEyYzEuMSAwIDItLjkgMi0yVjEwYzAtMS4xLS45LTItMi0yem0tNiA5Yy0xLjEgMC0yLS45LTItMnMuOS0yIDItMiAyIC45IDIgMi0uOSAyLTIgMnptMy4xLTlIOC45VjZjMC0xLjcxIDEuMzktMy4xIDMuMS0zLjEgMS43MSAwIDMuMSAxLjM5IDMuMSAzLjF2MnoiIC8+PC9nPgo8ZyBpZD0ibG9jay1vcGVuIj48cGF0aCBkPSJNMTIgMTdjMS4xIDAgMi0uOSAyLTJzLS45LTItMi0yLTIgLjktMiAyIC45IDIgMiAyem02LTloLTFWNmMwLTIuNzYtMi4yNC01LTUtNVM3IDMuMjQgNyA2aDEuOWMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMSAxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXYySDZjLTEuMSAwLTIgLjktMiAydjEwYzAgMS4xLjkgMiAyIDJoMTJjMS4xIDAgMi0uOSAyLTJWMTBjMC0xLjEtLjktMi0yLTJ6bTAgMTJINlYxMGgxMnYxMHoiIC8+PC9nPgo8ZyBpZD0ibG9jay1vdXRsaW5lIj48cGF0aCBkPSJNMTIgMTdjMS4xIDAgMi0uOSAyLTJzLS45LTItMi0yLTIgLjktMiAyIC45IDIgMiAyem02LTloLTFWNmMwLTIuNzYtMi4yNC01LTUtNVM3IDMuMjQgNyA2djJINmMtMS4xIDAtMiAuOS0yIDJ2MTBjMCAxLjEuOSAyIDIgMmgxMmMxLjEgMCAyLS45IDItMlYxMGMwLTEuMS0uOS0yLTItMnpNOC45IDZjMC0xLjcxIDEuMzktMy4xIDMuMS0zLjFzMy4xIDEuMzkgMy4xIDMuMXYySDguOVY2ek0xOCAyMEg2VjEwaDEydjEweiIgLz48L2c+CjxnIGlkPSJsb3ctcHJpb3JpdHkiPjxwYXRoIGQ9Ik0xNCA1aDh2MmgtOHptMCA1LjVoOHYyaC04em0wIDUuNWg4djJoLTh6TTIgMTEuNUMyIDE1LjA4IDQuOTIgMTggOC41IDE4SDl2MmwzLTMtMy0zdjJoLS41QzYuMDIgMTYgNCAxMy45OCA0IDExLjVTNi4wMiA3IDguNSA3SDEyVjVIOC41QzQuOTIgNSAyIDcuOTIgMiAxMS41eiIgLz48L2c+CjxnIGlkPSJsb3lhbHR5Ij48cGF0aCBkPSJNMjEuNDEgMTEuNThsLTktOUMxMi4wNSAyLjIyIDExLjU1IDIgMTEgMkg0Yy0xLjEgMC0yIC45LTIgMnY3YzAgLjU1LjIyIDEuMDUuNTkgMS40Mmw5IDljLjM2LjM2Ljg2LjU4IDEuNDEuNTguNTUgMCAxLjA1LS4yMiAxLjQxLS41OWw3LTdjLjM3LS4zNi41OS0uODYuNTktMS40MSAwLS41NS0uMjMtMS4wNi0uNTktMS40MnpNNS41IDdDNC42NyA3IDQgNi4zMyA0IDUuNVM0LjY3IDQgNS41IDQgNyA0LjY3IDcgNS41IDYuMzMgNyA1LjUgN3ptMTEuNzcgOC4yN0wxMyAxOS41NGwtNC4yNy00LjI3QzguMjggMTQuODEgOCAxNC4xOSA4IDEzLjVjMC0xLjM4IDEuMTItMi41IDIuNS0yLjUuNjkgMCAxLjMyLjI4IDEuNzcuNzRsLjczLjcyLjczLS43M2MuNDUtLjQ1IDEuMDgtLjczIDEuNzctLjczIDEuMzggMCAyLjUgMS4xMiAyLjUgMi41IDAgLjY5LS4yOCAxLjMyLS43MyAxLjc3eiIgLz48L2c+CjxnIGlkPSJtYWlsIj48cGF0aCBkPSJNMjAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0wIDRsLTggNS04LTVWNmw4IDUgOC01djJ6IiAvPjwvZz4KPGcgaWQ9Im1hcmt1bnJlYWQiPjxwYXRoIGQ9Ik0yMCA0SDRjLTEuMSAwLTEuOTkuOS0xLjk5IDJMMiAxOGMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjZjMC0xLjEtLjktMi0yLTJ6bTAgNGwtOCA1LTgtNVY2bDggNSA4LTV2MnoiIC8+PC9nPgo8ZyBpZD0ibWFya3VucmVhZC1tYWlsYm94Ij48cGF0aCBkPSJNMjAgNkgxMHY2SDhWNGg2VjBINnY2SDRjLTEuMSAwLTIgLjktMiAydjEyYzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWOGMwLTEuMS0uOS0yLTItMnoiIC8+PC9nPgo8ZyBpZD0ibWVudSI+PHBhdGggZD0iTTMgMThoMTh2LTJIM3Yyem0wLTVoMTh2LTJIM3Yyem0wLTd2MmgxOFY2SDN6IiAvPjwvZz4KPGcgaWQ9Im1vcmUtaG9yaXoiPjxwYXRoIGQ9Ik02IDEwYy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnptMTIgMGMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bS02IDBjLTEuMSAwLTIgLjktMiAycy45IDIgMiAyIDItLjkgMi0yLS45LTItMi0yeiIgLz48L2c+CjxnIGlkPSJtb3JlLXZlcnQiPjxwYXRoIGQ9Ik0xMiA4YzEuMSAwIDItLjkgMi0ycy0uOS0yLTItMi0yIC45LTIgMiAuOSAyIDIgMnptMCAyYy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnptMCA2Yy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnoiIC8+PC9nPgo8ZyBpZD0ibW90b3JjeWNsZSI+PHBhdGggZD0iTTE5LjQ0IDkuMDNMMTUuNDEgNUgxMXYyaDMuNTlsMiAySDVjLTIuOCAwLTUgMi4yLTUgNXMyLjIgNSA1IDVjMi40NiAwIDQuNDUtMS42OSA0LjktNGgxLjY1bDIuNzctMi43N2MtLjIxLjU0LS4zMiAxLjE0LS4zMiAxLjc3IDAgMi44IDIuMiA1IDUgNXM1LTIuMiA1LTVjMC0yLjY1LTEuOTctNC43Ny00LjU2LTQuOTd6TTcuODIgMTVDNy40IDE2LjE1IDYuMjggMTcgNSAxN2MtMS42MyAwLTMtMS4zNy0zLTNzMS4zNy0zIDMtM2MxLjI4IDAgMi40Ljg1IDIuODIgMkg1djJoMi44MnpNMTkgMTdjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzeiIgLz48L2c+CjxnIGlkPSJtb3ZlLXRvLWluYm94Ij48cGF0aCBkPSJNMTkgM0g0Ljk5Yy0xLjExIDAtMS45OC45LTEuOTggMkwzIDE5YzAgMS4xLjg4IDIgMS45OSAySDE5YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTJoLTRjMCAxLjY2LTEuMzUgMy0zIDNzLTMtMS4zNC0zLTNINC45OVY1SDE5djEwem0tMy01aC0yVjdoLTR2M0g4bDQgNCA0LTR6IiAvPjwvZz4KPGcgaWQ9Im5leHQtd2VlayI+PHBhdGggZD0iTTIwIDdoLTRWNWMwLS41NS0uMjItMS4wNS0uNTktMS40MUMxNS4wNSAzLjIyIDE0LjU1IDMgMTQgM2gtNGMtMS4xIDAtMiAuOS0yIDJ2Mkg0Yy0xLjEgMC0yIC45LTIgMnYxMWMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjljMC0xLjEtLjktMi0yLTJ6TTEwIDVoNHYyaC00VjV6bTEgMTMuNWwtMS0xIDMtMy0zLTMgMS0xIDQgNC00IDR6IiAvPjwvZz4KPGcgaWQ9Im5vdGUtYWRkIj48cGF0aCBkPSJNMTQgMkg2Yy0xLjEgMC0xLjk5LjktMS45OSAyTDQgMjBjMCAxLjEuODkgMiAxLjk5IDJIMThjMS4xIDAgMi0uOSAyLTJWOGwtNi02em0yIDE0aC0zdjNoLTJ2LTNIOHYtMmgzdi0zaDJ2M2gzdjJ6bS0zLTdWMy41TDE4LjUgOUgxM3oiIC8+PC9nPgo8ZyBpZD0ib2ZmbGluZS1waW4iPjxwYXRoIGQ9Ik0xMiAyQzYuNSAyIDIgNi41IDIgMTJzNC41IDEwIDEwIDEwIDEwLTQuNSAxMC0xMFMxNy41IDIgMTIgMnptNSAxNkg3di0yaDEwdjJ6bS02LjctNEw3IDEwLjdsMS40LTEuNCAxLjkgMS45IDUuMy01LjNMMTcgNy4zIDEwLjMgMTR6IiAvPjwvZz4KPGcgaWQ9Im9wYWNpdHkiPjxwYXRoIGQ9Ik0xNy42NiA4TDEyIDIuMzUgNi4zNCA4QzQuNzggOS41NiA0IDExLjY0IDQgMTMuNjRzLjc4IDQuMTEgMi4zNCA1LjY3IDMuNjEgMi4zNSA1LjY2IDIuMzUgNC4xLS43OSA1LjY2LTIuMzVTMjAgMTUuNjQgMjAgMTMuNjQgMTkuMjIgOS41NiAxNy42NiA4ek02IDE0Yy4wMS0yIC42Mi0zLjI3IDEuNzYtNC40TDEyIDUuMjdsNC4yNCA0LjM4QzE3LjM4IDEwLjc3IDE3Ljk5IDEyIDE4IDE0SDZ6IiAvPjwvZz4KPGcgaWQ9Im9wZW4taW4tYnJvd3NlciI+PHBhdGggZD0iTTE5IDRINWMtMS4xMSAwLTIgLjktMiAydjEyYzAgMS4xLjg5IDIgMiAyaDR2LTJINVY4aDE0djEwaC00djJoNGMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS44OS0yLTItMnptLTcgNmwtNCA0aDN2Nmgydi02aDNsLTQtNHoiIC8+PC9nPgo8ZyBpZD0ib3Blbi1pbi1uZXciPjxwYXRoIGQ9Ik0xOSAxOUg1VjVoN1YzSDVjLTEuMTEgMC0yIC45LTIgMnYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiIC8+PC9nPgo8ZyBpZD0ib3Blbi13aXRoIj48cGF0aCBkPSJNMTAgOWg0VjZoM2wtNS01LTUgNWgzdjN6bS0xIDFINlY3bC01IDUgNSA1di0zaDN2LTR6bTE0IDJsLTUtNXYzaC0zdjRoM3YzbDUtNXptLTkgM2gtNHYzSDdsNSA1IDUtNWgtM3YtM3oiIC8+PC9nPgo8ZyBpZD0icGFnZXZpZXciPjxwYXRoIGQ9Ik0xMS41IDlDMTAuMTIgOSA5IDEwLjEyIDkgMTEuNXMxLjEyIDIuNSAyLjUgMi41IDIuNS0xLjEyIDIuNS0yLjVTMTIuODggOSAxMS41IDl6TTIwIDRINGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0tMy4yMSAxNC4yMWwtMi45MS0yLjkxYy0uNjkuNDQtMS41MS43LTIuMzkuN0M5LjAxIDE2IDcgMTMuOTkgNyAxMS41UzkuMDEgNyAxMS41IDcgMTYgOS4wMSAxNiAxMS41YzAgLjg4LS4yNiAxLjY5LS43IDIuMzlsMi45MSAyLjktMS40MiAxLjQyeiIgLz48L2c+CjxnIGlkPSJwYW4tdG9vbCI+PHBhdGggZD0iTTIzIDUuNVYyMGMwIDIuMi0xLjggNC00IDRoLTcuM2MtMS4wOCAwLTIuMS0uNDMtMi44NS0xLjE5TDEgMTQuODNzMS4yNi0xLjIzIDEuMy0xLjI1Yy4yMi0uMTkuNDktLjI5Ljc5LS4yOS4yMiAwIC40Mi4wNi42LjE2LjA0LjAxIDQuMzEgMi40NiA0LjMxIDIuNDZWNGMwLS44My42Ny0xLjUgMS41LTEuNVMxMSAzLjE3IDExIDR2N2gxVjEuNWMwLS44My42Ny0xLjUgMS41LTEuNVMxNSAuNjcgMTUgMS41VjExaDFWMi41YzAtLjgzLjY3LTEuNSAxLjUtMS41czEuNS42NyAxLjUgMS41VjExaDFWNS41YzAtLjgzLjY3LTEuNSAxLjUtMS41czEuNS42NyAxLjUgMS41eiIgLz48L2c+CjxnIGlkPSJwYXltZW50Ij48cGF0aCBkPSJNMjAgNEg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOGMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY2YzAtMS4xMS0uODktMi0yLTJ6bTAgMTRINHYtNmgxNnY2em0wLTEwSDRWNmgxNnYyeiIgLz48L2c+CjxnIGlkPSJwZXJtLWNhbWVyYS1taWMiPjxwYXRoIGQ9Ik0yMCA1aC0zLjE3TDE1IDNIOUw3LjE3IDVINGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmg3di0yLjA5Yy0yLjgzLS40OC01LTIuOTQtNS01LjkxaDJjMCAyLjIxIDEuNzkgNCA0IDRzNC0xLjc5IDQtNGgyYzAgMi45Ny0yLjE3IDUuNDMtNSA1LjkxVjIxaDdjMS4xIDAgMi0uOSAyLTJWN2MwLTEuMS0uOS0yLTItMnptLTYgOGMwIDEuMS0uOSAyLTIgMnMtMi0uOS0yLTJWOWMwLTEuMS45LTIgMi0yczIgLjkgMiAydjR6IiAvPjwvZz4KPGcgaWQ9InBlcm0tY29udGFjdC1jYWxlbmRhciI+PHBhdGggZD0iTTE5IDNoLTFWMWgtMnYySDhWMUg2djJINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS03IDNjMS42NiAwIDMgMS4zNCAzIDNzLTEuMzQgMy0zIDMtMy0xLjM0LTMtMyAxLjM0LTMgMy0zem02IDEySDZ2LTFjMC0yIDQtMy4xIDYtMy4xczYgMS4xIDYgMy4xdjF6IiAvPjwvZz4KPGcgaWQ9InBlcm0tZGF0YS1zZXR0aW5nIj48cGF0aCBkPSJNMTguOTkgMTEuNWMuMzQgMCAuNjcuMDMgMSAuMDdMMjAgMCAwIDIwaDExLjU2Yy0uMDQtLjMzLS4wNy0uNjYtLjA3LTEgMC00LjE0IDMuMzYtNy41IDcuNS03LjV6bTMuNzEgNy45OWMuMDItLjE2LjA0LS4zMi4wNC0uNDkgMC0uMTctLjAxLS4zMy0uMDQtLjQ5bDEuMDYtLjgzYy4wOS0uMDguMTItLjIxLjA2LS4zMmwtMS0xLjczYy0uMDYtLjExLS4xOS0uMTUtLjMxLS4xMWwtMS4yNC41Yy0uMjYtLjItLjU0LS4zNy0uODUtLjQ5bC0uMTktMS4zMmMtLjAxLS4xMi0uMTItLjIxLS4yNC0uMjFoLTJjLS4xMiAwLS4yMy4wOS0uMjUuMjFsLS4xOSAxLjMyYy0uMy4xMy0uNTkuMjktLjg1LjQ5bC0xLjI0LS41Yy0uMTEtLjA0LS4yNCAwLS4zMS4xMWwtMSAxLjczYy0uMDYuMTEtLjA0LjI0LjA2LjMybDEuMDYuODNjLS4wMi4xNi0uMDMuMzItLjAzLjQ5IDAgLjE3LjAxLjMzLjAzLjQ5bC0xLjA2LjgzYy0uMDkuMDgtLjEyLjIxLS4wNi4zMmwxIDEuNzNjLjA2LjExLjE5LjE1LjMxLjExbDEuMjQtLjVjLjI2LjIuNTQuMzcuODUuNDlsLjE5IDEuMzJjLjAyLjEyLjEyLjIxLjI1LjIxaDJjLjEyIDAgLjIzLS4wOS4yNS0uMjFsLjE5LTEuMzJjLjMtLjEzLjU5LS4yOS44NC0uNDlsMS4yNS41Yy4xMS4wNC4yNCAwIC4zMS0uMTFsMS0xLjczYy4wNi0uMTEuMDMtLjI0LS4wNi0uMzJsLTEuMDctLjgzem0tMy43MSAxLjAxYy0uODMgMC0xLjUtLjY3LTEuNS0xLjVzLjY3LTEuNSAxLjUtMS41IDEuNS42NyAxLjUgMS41LS42NyAxLjUtMS41IDEuNXoiIC8+PC9nPgo8ZyBpZD0icGVybS1kZXZpY2UtaW5mb3JtYXRpb24iPjxwYXRoIGQ9Ik0xMyA3aC0ydjJoMlY3em0wIDRoLTJ2Nmgydi02em00LTkuOTlMNyAxYy0xLjEgMC0yIC45LTIgMnYxOGMwIDEuMS45IDIgMiAyaDEwYzEuMSAwIDItLjkgMi0yVjNjMC0xLjEtLjktMS45OS0yLTEuOTl6TTE3IDE5SDdWNWgxMHYxNHoiIC8+PC9nPgo8ZyBpZD0icGVybS1pZGVudGl0eSI+PHBhdGggZD0iTTEyIDUuOWMxLjE2IDAgMi4xLjk0IDIuMSAyLjFzLS45NCAyLjEtMi4xIDIuMVM5LjkgOS4xNiA5LjkgOHMuOTQtMi4xIDIuMS0yLjFtMCA5YzIuOTcgMCA2LjEgMS40NiA2LjEgMi4xdjEuMUg1LjlWMTdjMC0uNjQgMy4xMy0yLjEgNi4xLTIuMU0xMiA0QzkuNzkgNCA4IDUuNzkgOCA4czEuNzkgNCA0IDQgNC0xLjc5IDQtNC0xLjc5LTQtNC00em0wIDljLTIuNjcgMC04IDEuMzQtOCA0djNoMTZ2LTNjMC0yLjY2LTUuMzMtNC04LTR6IiAvPjwvZz4KPGcgaWQ9InBlcm0tbWVkaWEiPjxwYXRoIGQ9Ik0yIDZIMHY1aC4wMUwwIDIwYzAgMS4xLjkgMiAyIDJoMTh2LTJIMlY2em0yMC0yaC04bC0yLTJINmMtMS4xIDAtMS45OS45LTEuOTkgMkw0IDE2YzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uOS0yLTItMnpNNyAxNWw0LjUtNiAzLjUgNC41MSAyLjUtMy4wMUwyMSAxNUg3eiIgLz48L2c+CjxnIGlkPSJwZXJtLXBob25lLW1zZyI+PHBhdGggZD0iTTIwIDE1LjVjLTEuMjUgMC0yLjQ1LS4yLTMuNTctLjU3LS4zNS0uMTEtLjc0LS4wMy0xLjAyLjI0bC0yLjIgMi4yYy0yLjgzLTEuNDQtNS4xNS0zLjc1LTYuNTktNi41OGwyLjItMi4yMWMuMjgtLjI3LjM2LS42Ni4yNS0xLjAxQzguNyA2LjQ1IDguNSA1LjI1IDguNSA0YzAtLjU1LS40NS0xLTEtMUg0Yy0uNTUgMC0xIC40NS0xIDEgMCA5LjM5IDcuNjEgMTcgMTcgMTcgLjU1IDAgMS0uNDUgMS0xdi0zLjVjMC0uNTUtLjQ1LTEtMS0xek0xMiAzdjEwbDMtM2g2VjNoLTl6IiAvPjwvZz4KPGcgaWQ9InBlcm0tc2Nhbi13aWZpIj48cGF0aCBkPSJNMTIgM0M2Ljk1IDMgMy4xNSA0Ljg1IDAgNy4yM0wxMiAyMiAyNCA3LjI1QzIwLjg1IDQuODcgMTcuMDUgMyAxMiAzem0xIDEzaC0ydi02aDJ2NnptLTItOFY2aDJ2MmgtMnoiIC8+PC9nPgo8ZyBpZD0icGV0cyI+PGNpcmNsZSBjeD0iNC41IiBjeT0iOS41IiByPSIyLjUiIC8+PGNpcmNsZSBjeD0iOSIgY3k9IjUuNSIgcj0iMi41IiAvPjxjaXJjbGUgY3g9IjE1IiBjeT0iNS41IiByPSIyLjUiIC8+PGNpcmNsZSBjeD0iMTkuNSIgY3k9IjkuNSIgcj0iMi41IiAvPjxwYXRoIGQ9Ik0xNy4zNCAxNC44NmMtLjg3LTEuMDItMS42LTEuODktMi40OC0yLjkxLS40Ni0uNTQtMS4wNS0xLjA4LTEuNzUtMS4zMi0uMTEtLjA0LS4yMi0uMDctLjMzLS4wOS0uMjUtLjA0LS41Mi0uMDQtLjc4LS4wNHMtLjUzIDAtLjc5LjA1Yy0uMTEuMDItLjIyLjA1LS4zMy4wOS0uNy4yNC0xLjI4Ljc4LTEuNzUgMS4zMi0uODcgMS4wMi0xLjYgMS44OS0yLjQ4IDIuOTEtMS4zMSAxLjMxLTIuOTIgMi43Ni0yLjYyIDQuNzkuMjkgMS4wMiAxLjAyIDIuMDMgMi4zMyAyLjMyLjczLjE1IDMuMDYtLjQ0IDUuNTQtLjQ0aC4xOGMyLjQ4IDAgNC44MS41OCA1LjU0LjQ0IDEuMzEtLjI5IDIuMDQtMS4zMSAyLjMzLTIuMzIuMzEtMi4wNC0xLjMtMy40OS0yLjYxLTQuOHoiIC8+PC9nPgo8ZyBpZD0icGljdHVyZS1pbi1waWN0dXJlIj48cGF0aCBkPSJNMTkgN2gtOHY2aDhWN3ptMi00SDNjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMS45OCAyIDEuOThoMThjMS4xIDAgMi0uODggMi0xLjk4VjVjMC0xLjEtLjktMi0yLTJ6bTAgMTYuMDFIM1Y0Ljk4aDE4djE0LjAzeiIgLz48L2c+CjxnIGlkPSJwaWN0dXJlLWluLXBpY3R1cmUtYWx0Ij48cGF0aCBkPSJNMTkgMTFoLTh2Nmg4di02em00IDhWNC45OEMyMyAzLjg4IDIyLjEgMyAyMSAzSDNjLTEuMSAwLTIgLjg4LTIgMS45OFYxOWMwIDEuMS45IDIgMiAyaDE4YzEuMSAwIDItLjkgMi0yem0tMiAuMDJIM1Y0Ljk3aDE4djE0LjA1eiIgLz48L2c+CjxnIGlkPSJwbGF5LWZvci13b3JrIj48cGF0aCBkPSJNMTEgNXY1LjU5SDcuNWw0LjUgNC41IDQuNS00LjVIMTNWNWgtMnptLTUgOWMwIDMuMzEgMi42OSA2IDYgNnM2LTIuNjkgNi02aC0yYzAgMi4yMS0xLjc5IDQtNCA0cy00LTEuNzktNC00SDZ6IiAvPjwvZz4KPGcgaWQ9InBvbHltZXIiPjxwYXRoIGQ9Ik0xOSA0aC00TDcuMTEgMTYuNjMgNC41IDEyIDkgNEg1TC41IDEyIDUgMjBoNGw3Ljg5LTEyLjYzTDE5LjUgMTIgMTUgMjBoNGw0LjUtOHoiIC8+PC9nPgo8ZyBpZD0icG93ZXItc2V0dGluZ3MtbmV3Ij48cGF0aCBkPSJNMTMgM2gtMnYxMGgyVjN6bTQuODMgMi4xN2wtMS40MiAxLjQyQzE3Ljk5IDcuODYgMTkgOS44MSAxOSAxMmMwIDMuODctMy4xMyA3LTcgN3MtNy0zLjEzLTctN2MwLTIuMTkgMS4wMS00LjE0IDIuNTgtNS40Mkw2LjE3IDUuMTdDNC4yMyA2LjgyIDMgOS4yNiAzIDEyYzAgNC45NyA0LjAzIDkgOSA5czktNC4wMyA5LTljMC0yLjc0LTEuMjMtNS4xOC0zLjE3LTYuODN6IiAvPjwvZz4KPGcgaWQ9InByZWduYW50LXdvbWFuIj48cGF0aCBkPSJNOSA0YzAtMS4xMS44OS0yIDItMnMyIC44OSAyIDItLjg5IDItMiAyLTItLjg5LTItMnptNyA5Yy0uMDEtMS4zNC0uODMtMi41MS0yLTMgMC0xLjY2LTEuMzQtMy0zLTNzLTMgMS4zNC0zIDN2N2gydjVoM3YtNWgzdi00eiIgLz48L2c+CjxnIGlkPSJwcmludCI+PHBhdGggZD0iTTE5IDhINWMtMS42NiAwLTMgMS4zNC0zIDN2Nmg0djRoMTJ2LTRoNHYtNmMwLTEuNjYtMS4zNC0zLTMtM3ptLTMgMTFIOHYtNWg4djV6bTMtN2MtLjU1IDAtMS0uNDUtMS0xcy40NS0xIDEtMSAxIC40NSAxIDEtLjQ1IDEtMSAxem0tMS05SDZ2NGgxMlYzeiIgLz48L2c+CjxnIGlkPSJxdWVyeS1idWlsZGVyIj48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnpNMTIgMjBjLTQuNDIgMC04LTMuNTgtOC04czMuNTgtOCA4LTggOCAzLjU4IDggOC0zLjU4IDgtOCA4em0uNS0xM0gxMXY2bDUuMjUgMy4xNS43NS0xLjIzLTQuNS0yLjY3eiIgLz48L2c+CjxnIGlkPSJxdWVzdGlvbi1hbnN3ZXIiPjxwYXRoIGQ9Ik0yMSA2aC0ydjlINnYyYzAgLjU1LjQ1IDEgMSAxaDExbDQgNFY3YzAtLjU1LS40NS0xLTEtMXptLTQgNlYzYzAtLjU1LS40NS0xLTEtMUgzYy0uNTUgMC0xIC40NS0xIDF2MTRsNC00aDEwYy41NSAwIDEtLjQ1IDEtMXoiIC8+PC9nPgo8ZyBpZD0icmFkaW8tYnV0dG9uLWNoZWNrZWQiPjxwYXRoIGQ9Ik0xMiA3Yy0yLjc2IDAtNSAyLjI0LTUgNXMyLjI0IDUgNSA1IDUtMi4yNCA1LTUtMi4yNC01LTUtNXptMC01QzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0wIDE4Yy00LjQyIDAtOC0zLjU4LTgtOHMzLjU4LTggOC04IDggMy41OCA4IDgtMy41OCA4LTggOHoiIC8+PC9nPgo8ZyBpZD0icmFkaW8tYnV0dG9uLXVuY2hlY2tlZCI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDIgMC04LTMuNTgtOC04czMuNTgtOCA4LTggOCAzLjU4IDggOC0zLjU4IDgtOCA4eiIgLz48L2c+CjxnIGlkPSJyZWNlaXB0Ij48cGF0aCBkPSJNMTggMTdINnYtMmgxMnYyem0wLTRINnYtMmgxMnYyem0wLTRINlY3aDEydjJ6TTMgMjJsMS41LTEuNUw2IDIybDEuNS0xLjVMOSAyMmwxLjUtMS41TDEyIDIybDEuNS0xLjVMMTUgMjJsMS41LTEuNUwxOCAyMmwxLjUtMS41TDIxIDIyVjJsLTEuNSAxLjVMMTggMmwtMS41IDEuNUwxNSAybC0xLjUgMS41TDEyIDJsLTEuNSAxLjVMOSAyIDcuNSAzLjUgNiAyIDQuNSAzLjUgMyAydjIweiIgLz48L2c+CjxnIGlkPSJyZWNvcmQtdm9pY2Utb3ZlciI+PGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjQiIC8+PHBhdGggZD0iTTkgMTVjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6bTcuNzYtOS42NGwtMS42OCAxLjY5Yy44NCAxLjE4Ljg0IDIuNzEgMCAzLjg5bDEuNjggMS42OWMyLjAyLTIuMDIgMi4wMi01LjA3IDAtNy4yN3pNMjAuMDcgMmwtMS42MyAxLjYzYzIuNzcgMy4wMiAyLjc3IDcuNTYgMCAxMC43NEwyMC4wNyAxNmMzLjktMy44OSAzLjkxLTkuOTUgMC0xNHoiIC8+PC9nPgo8ZyBpZD0icmVkZWVtIj48cGF0aCBkPSJNMjAgNmgtMi4xOGMuMTEtLjMxLjE4LS42NS4xOC0xIDAtMS42Ni0xLjM0LTMtMy0zLTEuMDUgMC0xLjk2LjU0LTIuNSAxLjM1bC0uNS42Ny0uNS0uNjhDMTAuOTYgMi41NCAxMC4wNSAyIDkgMiA3LjM0IDIgNiAzLjM0IDYgNWMwIC4zNS4wNy42OS4xOCAxSDRjLTEuMTEgMC0xLjk5Ljg5LTEuOTkgMkwyIDE5YzAgMS4xMS44OSAyIDIgMmgxNmMxLjExIDAgMi0uODkgMi0yVjhjMC0xLjExLS44OS0yLTItMnptLTUtMmMuNTUgMCAxIC40NSAxIDFzLS40NSAxLTEgMS0xLS40NS0xLTEgLjQ1LTEgMS0xek05IDRjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptMTEgMTVINHYtMmgxNnYyem0wLTVINFY4aDUuMDhMNyAxMC44MyA4LjYyIDEyIDExIDguNzZsMS0xLjM2IDEgMS4zNkwxNS4zOCAxMiAxNyAxMC44MyAxNC45MiA4SDIwdjZ6IiAvPjwvZz4KPGcgaWQ9InJlZG8iPjxwYXRoIGQ9Ik0xOC40IDEwLjZDMTYuNTUgOC45OSAxNC4xNSA4IDExLjUgOGMtNC42NSAwLTguNTggMy4wMy05Ljk2IDcuMjJMMy45IDE2YzEuMDUtMy4xOSA0LjA1LTUuNSA3LjYtNS41IDEuOTUgMCAzLjczLjcyIDUuMTIgMS44OEwxMyAxNmg5VjdsLTMuNiAzLjZ6IiAvPjwvZz4KPGcgaWQ9InJlZnJlc2giPjxwYXRoIGQ9Ik0xNy42NSA2LjM1QzE2LjIgNC45IDE0LjIxIDQgMTIgNGMtNC40MiAwLTcuOTkgMy41OC03Ljk5IDhzMy41NyA4IDcuOTkgOGMzLjczIDAgNi44NC0yLjU1IDcuNzMtNmgtMi4wOGMtLjgyIDIuMzMtMy4wNCA0LTUuNjUgNC0zLjMxIDAtNi0yLjY5LTYtNnMyLjY5LTYgNi02YzEuNjYgMCAzLjE0LjY5IDQuMjIgMS43OEwxMyAxMWg3VjRsLTIuMzUgMi4zNXoiIC8+PC9nPgo8ZyBpZD0icmVtb3ZlIj48cGF0aCBkPSJNMTkgMTNINXYtMmgxNHYyeiIgLz48L2c+CjxnIGlkPSJyZW1vdmUtY2lyY2xlIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptNSAxMUg3di0yaDEwdjJ6IiAvPjwvZz4KPGcgaWQ9InJlbW92ZS1jaXJjbGUtb3V0bGluZSI+PHBhdGggZD0iTTcgMTF2MmgxMHYtMkg3em01LTlDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiIgLz48L2c+CjxnIGlkPSJyZW1vdmUtc2hvcHBpbmctY2FydCI+PHBhdGggZD0iTTIyLjczIDIyLjczTDIuNzcgMi43NyAyIDJsLS43My0uNzNMMCAyLjU0bDQuMzkgNC4zOSAyLjIxIDQuNjYtMS4zNSAyLjQ1Yy0uMTYuMjgtLjI1LjYxLS4yNS45NiAwIDEuMS45IDIgMiAyaDcuNDZsMS4zOCAxLjM4Yy0uNS4zNi0uODMuOTUtLjgzIDEuNjIgMCAxLjEuODkgMiAxLjk5IDIgLjY3IDAgMS4yNi0uMzMgMS42Mi0uODRMMjEuNDYgMjRsMS4yNy0xLjI3ek03LjQyIDE1Yy0uMTQgMC0uMjUtLjExLS4yNS0uMjVsLjAzLS4xMi45LTEuNjNoMi4zNmwyIDJINy40MnptOC4xMy0yYy43NSAwIDEuNDEtLjQxIDEuNzUtMS4wM2wzLjU4LTYuNDljLjA4LS4xNC4xMi0uMzEuMTItLjQ4IDAtLjU1LS40NS0xLTEtMUg2LjU0bDkuMDEgOXpNNyAxOGMtMS4xIDAtMS45OS45LTEuOTkgMlM1LjkgMjIgNyAyMnMyLS45IDItMi0uOS0yLTItMnoiIC8+PC9nPgo8ZyBpZD0icmVvcmRlciI+PHBhdGggZD0iTTMgMTVoMTh2LTJIM3Yyem0wIDRoMTh2LTJIM3Yyem0wLThoMThWOUgzdjJ6bTAtNnYyaDE4VjVIM3oiIC8+PC9nPgo8ZyBpZD0icmVwbHkiPjxwYXRoIGQ9Ik0xMCA5VjVsLTcgNyA3IDd2LTQuMWM1IDAgOC41IDEuNiAxMSA1LjEtMS01LTQtMTAtMTEtMTF6IiAvPjwvZz4KPGcgaWQ9InJlcGx5LWFsbCI+PHBhdGggZD0iTTcgOFY1bC03IDcgNyA3di0zbC00LTQgNC00em02IDFWNWwtNyA3IDcgN3YtNC4xYzUgMCA4LjUgMS42IDExIDUuMS0xLTUtNC0xMC0xMS0xMXoiIC8+PC9nPgo8ZyBpZD0icmVwb3J0Ij48cGF0aCBkPSJNMTUuNzMgM0g4LjI3TDMgOC4yN3Y3LjQ2TDguMjcgMjFoNy40NkwyMSAxNS43M1Y4LjI3TDE1LjczIDN6TTEyIDE3LjNjLS43MiAwLTEuMy0uNTgtMS4zLTEuMyAwLS43Mi41OC0xLjMgMS4zLTEuMy43MiAwIDEuMy41OCAxLjMgMS4zIDAgLjcyLS41OCAxLjMtMS4zIDEuM3ptMS00LjNoLTJWN2gydjZ6IiAvPjwvZz4KPGcgaWQ9InJlcG9ydC1wcm9ibGVtIj48cGF0aCBkPSJNMSAyMWgyMkwxMiAyIDEgMjF6bTEyLTNoLTJ2LTJoMnYyem0wLTRoLTJ2LTRoMnY0eiIgLz48L2c+CjxnIGlkPSJyZXN0b3JlIj48cGF0aCBkPSJNMTMgM2MtNC45NyAwLTkgNC4wMy05IDlIMWwzLjg5IDMuODkuMDcuMTRMOSAxMkg2YzAtMy44NyAzLjEzLTcgNy03czcgMy4xMyA3IDctMy4xMyA3LTcgN2MtMS45MyAwLTMuNjgtLjc5LTQuOTQtMi4wNmwtMS40MiAxLjQyQzguMjcgMTkuOTkgMTAuNTEgMjEgMTMgMjFjNC45NyAwIDktNC4wMyA5LTlzLTQuMDMtOS05LTl6bS0xIDV2NWw0LjI4IDIuNTQuNzItMS4yMS0zLjUtMi4wOFY4SDEyeiIgLz48L2c+CjxnIGlkPSJyZXN0b3JlLXBhZ2UiPjxwYXRoIGQ9Ik0xNCAySDZjLTEuMSAwLTEuOTkuOS0xLjk5IDJMNCAyMGMwIDEuMS44OSAyIDEuOTkgMkgxOGMxLjEgMCAyLS45IDItMlY4bC02LTZ6bS0yIDE2Yy0yLjA1IDAtMy44MS0xLjI0LTQuNTgtM2gxLjcxYy42My45IDEuNjggMS41IDIuODcgMS41IDEuOTMgMCAzLjUtMS41NyAzLjUtMy41UzEzLjkzIDkuNSAxMiA5LjVjLTEuMzUgMC0yLjUyLjc4LTMuMSAxLjlsMS42IDEuNmgtNFY5bDEuMyAxLjNDOC42OSA4LjkyIDEwLjIzIDggMTIgOGMyLjc2IDAgNSAyLjI0IDUgNXMtMi4yNCA1LTUgNXoiIC8+PC9nPgo8ZyBpZD0icm9vbSI+PHBhdGggZD0iTTEyIDJDOC4xMyAyIDUgNS4xMyA1IDljMCA1LjI1IDcgMTMgNyAxM3M3LTcuNzUgNy0xM2MwLTMuODctMy4xMy03LTctN3ptMCA5LjVjLTEuMzggMC0yLjUtMS4xMi0yLjUtMi41czEuMTItMi41IDIuNS0yLjUgMi41IDEuMTIgMi41IDIuNS0xLjEyIDIuNS0yLjUgMi41eiIgLz48L2c+CjxnIGlkPSJyb3VuZGVkLWNvcm5lciI+PHBhdGggZD0iTTE5IDE5aDJ2MmgtMnYtMnptMC0yaDJ2LTJoLTJ2MnpNMyAxM2gydi0ySDN2MnptMCA0aDJ2LTJIM3Yyem0wLThoMlY3SDN2MnptMC00aDJWM0gzdjJ6bTQgMGgyVjNIN3Yyem04IDE2aDJ2LTJoLTJ2MnptLTQgMGgydi0yaC0ydjJ6bTQgMGgydi0yaC0ydjJ6bS04IDBoMnYtMkg3djJ6bS00IDBoMnYtMkgzdjJ6TTIxIDhjMC0yLjc2LTIuMjQtNS01LTVoLTV2Mmg1YzEuNjUgMCAzIDEuMzUgMyAzdjVoMlY4eiIgLz48L2c+CjxnIGlkPSJyb3dpbmciPjxwYXRoIGQ9Ik04LjUgMTQuNUw0IDE5bDEuNSAxLjVMOSAxN2gybC0yLjUtMi41ek0xNSAxYy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnptNiAyMC4wMUwxOCAyNGwtMi45OS0zLjAxVjE5LjVsLTcuMS03LjA5Yy0uMzEuMDUtLjYxLjA3LS45MS4wN3YtMi4xNmMxLjY2LjAzIDMuNjEtLjg3IDQuNjctMi4wNGwxLjQtMS41NWMuMTktLjIxLjQzLS4zOC42OS0uNS4yOS0uMTQuNjItLjIzLjk2LS4yM2guMDNDMTUuOTkgNi4wMSAxNyA3LjAyIDE3IDguMjZ2NS43NWMwIC44NC0uMzUgMS42MS0uOTIgMi4xNmwtMy41OC0zLjU4di0yLjI3Yy0uNjMuNTItMS40MyAxLjAyLTIuMjkgMS4zOUwxNi41IDE4SDE4bDMgMy4wMXoiIC8+PC9nPgo8ZyBpZD0ic2F2ZSI+PHBhdGggZD0iTTE3IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdsLTQtNHptLTUgMTZjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzem0zLTEwSDVWNWgxMHY0eiIgLz48L2c+CjxnIGlkPSJzY2hlZHVsZSI+PHBhdGggZD0iTTExLjk5IDJDNi40NyAyIDIgNi40OCAyIDEyczQuNDcgMTAgOS45OSAxMEMxNy41MiAyMiAyMiAxNy41MiAyMiAxMlMxNy41MiAyIDExLjk5IDJ6TTEyIDIwYy00LjQyIDAtOC0zLjU4LTgtOHMzLjU4LTggOC04IDggMy41OCA4IDgtMy41OCA4LTggOHptLjUtMTNIMTF2Nmw1LjI1IDMuMTUuNzUtMS4yMy00LjUtMi42N3oiIC8+PC9nPgo8ZyBpZD0ic2VhcmNoIj48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHoiIC8+PC9nPgo8ZyBpZD0ic2VsZWN0LWFsbCI+PHBhdGggZD0iTTMgNWgyVjNjLTEuMSAwLTIgLjktMiAyem0wIDhoMnYtMkgzdjJ6bTQgOGgydi0ySDd2MnpNMyA5aDJWN0gzdjJ6bTEwLTZoLTJ2MmgyVjN6bTYgMHYyaDJjMC0xLjEtLjktMi0yLTJ6TTUgMjF2LTJIM2MwIDEuMS45IDIgMiAyem0tMi00aDJ2LTJIM3Yyek05IDNIN3YyaDJWM3ptMiAxOGgydi0yaC0ydjJ6bTgtOGgydi0yaC0ydjJ6bTAgOGMxLjEgMCAyLS45IDItMmgtMnYyem0wLTEyaDJWN2gtMnYyem0wIDhoMnYtMmgtMnYyem0tNCA0aDJ2LTJoLTJ2MnptMC0xNmgyVjNoLTJ2MnpNNyAxN2gxMFY3SDd2MTB6bTItOGg2djZIOVY5eiIgLz48L2c+CjxnIGlkPSJzZW5kIj48cGF0aCBkPSJNMi4wMSAyMUwyMyAxMiAyLjAxIDMgMiAxMGwxNSAyLTE1IDJ6IiAvPjwvZz4KPGcgaWQ9InNldHRpbmdzIj48cGF0aCBkPSJNMTkuNDMgMTIuOThjLjA0LS4zMi4wNy0uNjQuMDctLjk4cy0uMDMtLjY2LS4wNy0uOThsMi4xMS0xLjY1Yy4xOS0uMTUuMjQtLjQyLjEyLS42NGwtMi0zLjQ2Yy0uMTItLjIyLS4zOS0uMy0uNjEtLjIybC0yLjQ5IDFjLS41Mi0uNC0xLjA4LS43My0xLjY5LS45OGwtLjM4LTIuNjVDMTQuNDYgMi4xOCAxNC4yNSAyIDE0IDJoLTRjLS4yNSAwLS40Ni4xOC0uNDkuNDJsLS4zOCAyLjY1Yy0uNjEuMjUtMS4xNy41OS0xLjY5Ljk4bC0yLjQ5LTFjLS4yMy0uMDktLjQ5IDAtLjYxLjIybC0yIDMuNDZjLS4xMy4yMi0uMDcuNDkuMTIuNjRsMi4xMSAxLjY1Yy0uMDQuMzItLjA3LjY1LS4wNy45OHMuMDMuNjYuMDcuOThsLTIuMTEgMS42NWMtLjE5LjE1LS4yNC40Mi0uMTIuNjRsMiAzLjQ2Yy4xMi4yMi4zOS4zLjYxLjIybDIuNDktMWMuNTIuNCAxLjA4LjczIDEuNjkuOThsLjM4IDIuNjVjLjAzLjI0LjI0LjQyLjQ5LjQyaDRjLjI1IDAgLjQ2LS4xOC40OS0uNDJsLjM4LTIuNjVjLjYxLS4yNSAxLjE3LS41OSAxLjY5LS45OGwyLjQ5IDFjLjIzLjA5LjQ5IDAgLjYxLS4yMmwyLTMuNDZjLjEyLS4yMi4wNy0uNDktLjEyLS42NGwtMi4xMS0xLjY1ek0xMiAxNS41Yy0xLjkzIDAtMy41LTEuNTctMy41LTMuNXMxLjU3LTMuNSAzLjUtMy41IDMuNSAxLjU3IDMuNSAzLjUtMS41NyAzLjUtMy41IDMuNXoiIC8+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtYXBwbGljYXRpb25zIj48cGF0aCBkPSJNMTIgMTBjLTEuMSAwLTIgLjktMiAycy45IDIgMiAyIDItLjkgMi0yLS45LTItMi0yem03LTdINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMTEgMCAyLS45IDItMlY1YzAtMS4xLS44OS0yLTItMnptLTEuNzUgOWMwIC4yMy0uMDIuNDYtLjA1LjY4bDEuNDggMS4xNmMuMTMuMTEuMTcuMy4wOC40NWwtMS40IDIuNDJjLS4wOS4xNS0uMjcuMjEtLjQzLjE1bC0xLjc0LS43Yy0uMzYuMjgtLjc2LjUxLTEuMTguNjlsLS4yNiAxLjg1Yy0uMDMuMTctLjE4LjMtLjM1LjNoLTIuOGMtLjE3IDAtLjMyLS4xMy0uMzUtLjI5bC0uMjYtMS44NWMtLjQzLS4xOC0uODItLjQxLTEuMTgtLjY5bC0xLjc0LjdjLS4xNi4wNi0uMzQgMC0uNDMtLjE1bC0xLjQtMi40MmMtLjA5LS4xNS0uMDUtLjM0LjA4LS40NWwxLjQ4LTEuMTZjLS4wMy0uMjMtLjA1LS40Ni0uMDUtLjY5IDAtLjIzLjAyLS40Ni4wNS0uNjhsLTEuNDgtMS4xNmMtLjEzLS4xMS0uMTctLjMtLjA4LS40NWwxLjQtMi40MmMuMDktLjE1LjI3LS4yMS40My0uMTVsMS43NC43Yy4zNi0uMjguNzYtLjUxIDEuMTgtLjY5bC4yNi0xLjg1Yy4wMy0uMTcuMTgtLjMuMzUtLjNoMi44Yy4xNyAwIC4zMi4xMy4zNS4yOWwuMjYgMS44NWMuNDMuMTguODIuNDEgMS4xOC42OWwxLjc0LS43Yy4xNi0uMDYuMzQgMCAuNDMuMTVsMS40IDIuNDJjLjA5LjE1LjA1LjM0LS4wOC40NWwtMS40OCAxLjE2Yy4wMy4yMy4wNS40Ni4wNS42OXoiIC8+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtYmFja3VwLXJlc3RvcmUiPjxwYXRoIGQ9Ik0xNCAxMmMwLTEuMS0uOS0yLTItMnMtMiAuOS0yIDIgLjkgMiAyIDIgMi0uOSAyLTJ6bS0yLTljLTQuOTcgMC05IDQuMDMtOSA5SDBsNCA0IDQtNEg1YzAtMy44NyAzLjEzLTcgNy03czcgMy4xMyA3IDctMy4xMyA3LTcgN2MtMS41MSAwLTIuOTEtLjQ5LTQuMDYtMS4zbC0xLjQyIDEuNDRDOC4wNCAyMC4zIDkuOTQgMjEgMTIgMjFjNC45NyAwIDktNC4wMyA5LTlzLTQuMDMtOS05LTl6IiAvPjwvZz4KPGcgaWQ9InNldHRpbmdzLWJsdWV0b290aCI+PHBhdGggZD0iTTExIDI0aDJ2LTJoLTJ2MnptLTQgMGgydi0ySDd2MnptOCAwaDJ2LTJoLTJ2MnptMi43MS0xOC4yOUwxMiAwaC0xdjcuNTlMNi40MSAzIDUgNC40MSAxMC41OSAxMCA1IDE1LjU5IDYuNDEgMTcgMTEgMTIuNDFWMjBoMWw1LjcxLTUuNzEtNC4zLTQuMjkgNC4zLTQuMjl6TTEzIDMuODNsMS44OCAxLjg4TDEzIDcuNTlWMy44M3ptMS44OCAxMC40NkwxMyAxNi4xN3YtMy43NmwxLjg4IDEuODh6IiAvPjwvZz4KPGcgaWQ9InNldHRpbmdzLWJyaWdodG5lc3MiPjxwYXRoIGQ9Ik0yMSAzSDNjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxNi4wMUgzVjQuOTloMTh2MTQuMDJ6TTggMTZoMi41bDEuNSAxLjUgMS41LTEuNUgxNnYtMi41bDEuNS0xLjUtMS41LTEuNVY4aC0yLjVMMTIgNi41IDEwLjUgOEg4djIuNUw2LjUgMTIgOCAxMy41VjE2em00LTdjMS42NiAwIDMgMS4zNCAzIDNzLTEuMzQgMy0zIDNWOXoiIC8+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtY2VsbCI+PHBhdGggZD0iTTcgMjRoMnYtMkg3djJ6bTQgMGgydi0yaC0ydjJ6bTQgMGgydi0yaC0ydjJ6TTE2IC4wMUw4IDBDNi45IDAgNiAuOSA2IDJ2MTZjMCAxLjEuOSAyIDIgMmg4YzEuMSAwIDItLjkgMi0yVjJjMC0xLjEtLjktMS45OS0yLTEuOTl6TTE2IDE2SDhWNGg4djEyeiIgLz48L2c+CjxnIGlkPSJzZXR0aW5ncy1ldGhlcm5ldCI+PHBhdGggZD0iTTcuNzcgNi43Nkw2LjIzIDUuNDguODIgMTJsNS40MSA2LjUyIDEuNTQtMS4yOEwzLjQyIDEybDQuMzUtNS4yNHpNNyAxM2gydi0ySDd2MnptMTAtMmgtMnYyaDJ2LTJ6bS02IDJoMnYtMmgtMnYyem02Ljc3LTcuNTJsLTEuNTQgMS4yOEwyMC41OCAxMmwtNC4zNSA1LjI0IDEuNTQgMS4yOEwyMy4xOCAxMmwtNS40MS02LjUyeiIgLz48L2c+CjxnIGlkPSJzZXR0aW5ncy1pbnB1dC1hbnRlbm5hIj48cGF0aCBkPSJNMTIgNWMtMy44NyAwLTcgMy4xMy03IDdoMmMwLTIuNzYgMi4yNC01IDUtNXM1IDIuMjQgNSA1aDJjMC0zLjg3LTMuMTMtNy03LTd6bTEgOS4yOWMuODgtLjM5IDEuNS0xLjI2IDEuNS0yLjI5IDAtMS4zOC0xLjEyLTIuNS0yLjUtMi41UzkuNSAxMC42MiA5LjUgMTJjMCAxLjAyLjYyIDEuOSAxLjUgMi4yOXYzLjNMNy41OSAyMSA5IDIyLjQxbDMtMyAzIDNMMTYuNDEgMjEgMTMgMTcuNTl2LTMuM3pNMTIgMUM1LjkzIDEgMSA1LjkzIDEgMTJoMmMwLTQuOTcgNC4wMy05IDktOXM5IDQuMDMgOSA5aDJjMC02LjA3LTQuOTMtMTEtMTEtMTF6IiAvPjwvZz4KPGcgaWQ9InNldHRpbmdzLWlucHV0LWNvbXBvbmVudCI+PHBhdGggZD0iTTUgMmMwLS41NS0uNDUtMS0xLTFzLTEgLjQ1LTEgMXY0SDF2Nmg2VjZINVYyem00IDE0YzAgMS4zLjg0IDIuNCAyIDIuODJWMjNoMnYtNC4xOGMxLjE2LS40MSAyLTEuNTEgMi0yLjgydi0ySDl2MnptLTggMGMwIDEuMy44NCAyLjQgMiAyLjgyVjIzaDJ2LTQuMThDNi4xNiAxOC40IDcgMTcuMyA3IDE2di0ySDF2MnpNMjEgNlYyYzAtLjU1LS40NS0xLTEtMXMtMSAuNDUtMSAxdjRoLTJ2Nmg2VjZoLTJ6bS04LTRjMC0uNTUtLjQ1LTEtMS0xcy0xIC40NS0xIDF2NEg5djZoNlY2aC0yVjJ6bTQgMTRjMCAxLjMuODQgMi40IDIgMi44MlYyM2gydi00LjE4YzEuMTYtLjQxIDItMS41MSAyLTIuODJ2LTJoLTZ2MnoiIC8+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtaW5wdXQtY29tcG9zaXRlIj48cGF0aCBkPSJNNSAyYzAtLjU1LS40NS0xLTEtMXMtMSAuNDUtMSAxdjRIMXY2aDZWNkg1VjJ6bTQgMTRjMCAxLjMuODQgMi40IDIgMi44MlYyM2gydi00LjE4YzEuMTYtLjQxIDItMS41MSAyLTIuODJ2LTJIOXYyem0tOCAwYzAgMS4zLjg0IDIuNCAyIDIuODJWMjNoMnYtNC4xOEM2LjE2IDE4LjQgNyAxNy4zIDcgMTZ2LTJIMXYyek0yMSA2VjJjMC0uNTUtLjQ1LTEtMS0xcy0xIC40NS0xIDF2NGgtMnY2aDZWNmgtMnptLTgtNGMwLS41NS0uNDUtMS0xLTFzLTEgLjQ1LTEgMXY0SDl2Nmg2VjZoLTJWMnptNCAxNGMwIDEuMy44NCAyLjQgMiAyLjgyVjIzaDJ2LTQuMThjMS4xNi0uNDEgMi0xLjUxIDItMi44MnYtMmgtNnYyeiIgLz48L2c+CjxnIGlkPSJzZXR0aW5ncy1pbnB1dC1oZG1pIj48cGF0aCBkPSJNMTggN1Y0YzAtMS4xLS45LTItMi0ySDhjLTEuMSAwLTIgLjktMiAydjNINXY2bDMgNnYzaDh2LTNsMy02VjdoLTF6TTggNGg4djNoLTJWNWgtMXYyaC0yVjVoLTF2Mkg4VjR6IiAvPjwvZz4KPGcgaWQ9InNldHRpbmdzLWlucHV0LXN2aWRlbyI+PHBhdGggZD0iTTggMTEuNWMwLS44My0uNjctMS41LTEuNS0xLjVTNSAxMC42NyA1IDExLjUgNS42NyAxMyA2LjUgMTMgOCAxMi4zMyA4IDExLjV6bTctNWMwLS44My0uNjctMS41LTEuNS0xLjVoLTNDOS42NyA1IDkgNS42NyA5IDYuNVM5LjY3IDggMTAuNSA4aDNjLjgzIDAgMS41LS42NyAxLjUtMS41ek04LjUgMTVjLS44MyAwLTEuNS42Ny0xLjUgMS41UzcuNjcgMTggOC41IDE4czEuNS0uNjcgMS41LTEuNVM5LjMzIDE1IDguNSAxNXpNMTIgMUM1LjkzIDEgMSA1LjkzIDEgMTJzNC45MyAxMSAxMSAxMSAxMS00LjkzIDExLTExUzE4LjA3IDEgMTIgMXptMCAyMGMtNC45NiAwLTktNC4wNC05LTlzNC4wNC05IDktOSA5IDQuMDQgOSA5LTQuMDQgOS05IDl6bTUuNS0xMWMtLjgzIDAtMS41LjY3LTEuNSAxLjVzLjY3IDEuNSAxLjUgMS41IDEuNS0uNjcgMS41LTEuNS0uNjctMS41LTEuNS0xLjV6bS0yIDVjLS44MyAwLTEuNS42Ny0xLjUgMS41cy42NyAxLjUgMS41IDEuNSAxLjUtLjY3IDEuNS0xLjUtLjY3LTEuNS0xLjUtMS41eiIgLz48L2c+CjxnIGlkPSJzZXR0aW5ncy1vdmVyc2NhbiI+PHBhdGggZD0iTTEyLjAxIDUuNUwxMCA4aDRsLTEuOTktMi41ek0xOCAxMHY0bDIuNS0xLjk5TDE4IDEwek02IDEwbC0yLjUgMi4wMUw2IDE0di00em04IDZoLTRsMi4wMSAyLjVMMTQgMTZ6bTctMTNIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2LjAxSDNWNC45OWgxOHYxNC4wMnoiIC8+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtcGhvbmUiPjxwYXRoIGQ9Ik0xMyA5aC0ydjJoMlY5em00IDBoLTJ2MmgyVjl6bTMgNi41Yy0xLjI1IDAtMi40NS0uMi0zLjU3LS41Ny0uMzUtLjExLS43NC0uMDMtMS4wMi4yNGwtMi4yIDIuMmMtMi44My0xLjQ0LTUuMTUtMy43NS02LjU5LTYuNThsMi4yLTIuMjFjLjI4LS4yNy4zNi0uNjYuMjUtMS4wMUM4LjcgNi40NSA4LjUgNS4yNSA4LjUgNGMwLS41NS0uNDUtMS0xLTFINGMtLjU1IDAtMSAuNDUtMSAxIDAgOS4zOSA3LjYxIDE3IDE3IDE3IC41NSAwIDEtLjQ1IDEtMXYtMy41YzAtLjU1LS40NS0xLTEtMXpNMTkgOXYyaDJWOWgtMnoiIC8+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtcG93ZXIiPjxwYXRoIGQ9Ik03IDI0aDJ2LTJIN3Yyem00IDBoMnYtMmgtMnYyem0yLTIyaC0ydjEwaDJWMnptMy41NiAyLjQ0bC0xLjQ1IDEuNDVDMTYuODQgNi45NCAxOCA4LjgzIDE4IDExYzAgMy4zMS0yLjY5IDYtNiA2cy02LTIuNjktNi02YzAtMi4xNyAxLjE2LTQuMDYgMi44OC01LjEyTDcuNDQgNC40NEM1LjM2IDUuODggNCA4LjI4IDQgMTFjMCA0LjQyIDMuNTggOCA4IDhzOC0zLjU4IDgtOGMwLTIuNzItMS4zNi01LjEyLTMuNDQtNi41NnpNMTUgMjRoMnYtMmgtMnYyeiIgLz48L2c+CjxnIGlkPSJzZXR0aW5ncy1yZW1vdGUiPjxwYXRoIGQ9Ik0xNSA5SDljLS41NSAwLTEgLjQ1LTEgMXYxMmMwIC41NS40NSAxIDEgMWg2Yy41NSAwIDEtLjQ1IDEtMVYxMGMwLS41NS0uNDUtMS0xLTF6bS0zIDZjLTEuMSAwLTItLjktMi0ycy45LTIgMi0yIDIgLjkgMiAyLS45IDItMiAyek03LjA1IDYuMDVsMS40MSAxLjQxQzkuMzcgNi41NiAxMC42MiA2IDEyIDZzMi42My41NiAzLjU0IDEuNDZsMS40MS0xLjQxQzE1LjY4IDQuNzggMTMuOTMgNCAxMiA0cy0zLjY4Ljc4LTQuOTUgMi4wNXpNMTIgMEM4Ljk2IDAgNi4yMSAxLjIzIDQuMjIgMy4yMmwxLjQxIDEuNDFDNy4yNiAzLjAxIDkuNTEgMiAxMiAyczQuNzQgMS4wMSA2LjM2IDIuNjRsMS40MS0xLjQxQzE3Ljc5IDEuMjMgMTUuMDQgMCAxMiAweiIgLz48L2c+CjxnIGlkPSJzZXR0aW5ncy12b2ljZSI+PHBhdGggZD0iTTcgMjRoMnYtMkg3djJ6bTUtMTFjMS42NiAwIDIuOTktMS4zNCAyLjk5LTNMMTUgNGMwLTEuNjYtMS4zNC0zLTMtM1M5IDIuMzQgOSA0djZjMCAxLjY2IDEuMzQgMyAzIDN6bS0xIDExaDJ2LTJoLTJ2MnptNCAwaDJ2LTJoLTJ2MnptNC0xNGgtMS43YzAgMy0yLjU0IDUuMS01LjMgNS4xUzYuNyAxMyA2LjcgMTBINWMwIDMuNDEgMi43MiA2LjIzIDYgNi43MlYyMGgydi0zLjI4YzMuMjgtLjQ5IDYtMy4zMSA2LTYuNzJ6IiAvPjwvZz4KPGcgaWQ9InNob3AiPjxwYXRoIGQ9Ik0xNiA2VjRjMC0xLjExLS44OS0yLTItMmgtNGMtMS4xMSAwLTIgLjg5LTIgMnYySDJ2MTNjMCAxLjExLjg5IDIgMiAyaDE2YzEuMTEgMCAyLS44OSAyLTJWNmgtNnptLTYtMmg0djJoLTRWNHpNOSAxOFY5bDcuNSA0TDkgMTh6IiAvPjwvZz4KPGcgaWQ9InNob3AtdHdvIj48cGF0aCBkPSJNMyA5SDF2MTFjMCAxLjExLjg5IDIgMiAyaDE0YzEuMTEgMCAyLS44OSAyLTJIM1Y5em0xNS00VjNjMC0xLjExLS44OS0yLTItMmgtNGMtMS4xMSAwLTIgLjg5LTIgMnYySDV2MTFjMCAxLjExLjg5IDIgMiAyaDE0YzEuMTEgMCAyLS44OSAyLTJWNWgtNXptLTYtMmg0djJoLTRWM3ptMCAxMlY4bDUuNSAzLTUuNSA0eiIgLz48L2c+CjxnIGlkPSJzaG9wcGluZy1iYXNrZXQiPjxwYXRoIGQ9Ik0xNy4yMSA5bC00LjM4LTYuNTZjLS4xOS0uMjgtLjUxLS40Mi0uODMtLjQyLS4zMiAwLS42NC4xNC0uODMuNDNMNi43OSA5SDJjLS41NSAwLTEgLjQ1LTEgMSAwIC4wOS4wMS4xOC4wNC4yN2wyLjU0IDkuMjdjLjIzLjg0IDEgMS40NiAxLjkyIDEuNDZoMTNjLjkyIDAgMS42OS0uNjIgMS45My0xLjQ2bDIuNTQtOS4yN0wyMyAxMGMwLS41NS0uNDUtMS0xLTFoLTQuNzl6TTkgOWwzLTQuNEwxNSA5SDl6bTMgOGMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTIgMiAuOSAyIDItLjkgMi0yIDJ6IiAvPjwvZz4KPGcgaWQ9InNob3BwaW5nLWNhcnQiPjxwYXRoIGQ9Ik03IDE4Yy0xLjEgMC0xLjk5LjktMS45OSAyUzUuOSAyMiA3IDIyczItLjkgMi0yLS45LTItMi0yek0xIDJ2MmgybDMuNiA3LjU5LTEuMzUgMi40NWMtLjE2LjI4LS4yNS42MS0uMjUuOTYgMCAxLjEuOSAyIDIgMmgxMnYtMkg3LjQyYy0uMTQgMC0uMjUtLjExLS4yNS0uMjVsLjAzLS4xMi45LTEuNjNoNy40NWMuNzUgMCAxLjQxLS40MSAxLjc1LTEuMDNsMy41OC02LjQ5Yy4wOC0uMTQuMTItLjMxLjEyLS40OCAwLS41NS0uNDUtMS0xLTFINS4yMWwtLjk0LTJIMXptMTYgMTZjLTEuMSAwLTEuOTkuOS0xLjk5IDJzLjg5IDIgMS45OSAyIDItLjkgMi0yLS45LTItMi0yeiIgLz48L2c+CjxnIGlkPSJzb3J0Ij48cGF0aCBkPSJNMyAxOGg2di0ySDN2MnpNMyA2djJoMThWNkgzem0wIDdoMTJ2LTJIM3YyeiIgLz48L2c+CjxnIGlkPSJzcGVha2VyLW5vdGVzIj48cGF0aCBkPSJNMjAgMkg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMjJsNC00aDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6TTggMTRINnYtMmgydjJ6bTAtM0g2VjloMnYyem0wLTNINlY2aDJ2MnptNyA2aC01di0yaDV2MnptMy0zaC04VjloOHYyem0wLTNoLThWNmg4djJ6IiAvPjwvZz4KPGcgaWQ9InNwZWFrZXItbm90ZXMtb2ZmIj48cGF0aCBkPSJNMTAuNTQgMTFsLS41NC0uNTRMNy41NCA4IDYgNi40NiAyLjM4IDIuODQgMS4yNyAxLjczIDAgM2wyLjAxIDIuMDFMMiAyMmw0LTRoOWw1LjczIDUuNzNMMjIgMjIuNDYgMTcuNTQgMThsLTctN3pNOCAxNEg2di0yaDJ2MnptLTItM1Y5bDIgMkg2em0xNC05SDQuMDhMMTAgNy45MlY2aDh2MmgtNy45MmwxIDFIMTh2MmgtNC45Mmw2Ljk5IDYuOTlDMjEuMTQgMTcuOTUgMjIgMTcuMDggMjIgMTZWNGMwLTEuMS0uOS0yLTItMnoiIC8+PC9nPgo8ZyBpZD0ic3BlbGxjaGVjayI+PHBhdGggZD0iTTEyLjQ1IDE2aDIuMDlMOS40MyAzSDcuNTdMMi40NiAxNmgyLjA5bDEuMTItM2g1LjY0bDEuMTQgM3ptLTYuMDItNUw4LjUgNS40OCAxMC41NyAxMUg2LjQzem0xNS4xNi41OWwtOC4wOSA4LjA5TDkuODMgMTZsLTEuNDEgMS40MSA1LjA5IDUuMDlMMjMgMTNsLTEuNDEtMS40MXoiIC8+PC9nPgo8ZyBpZD0ic3RhciI+PHBhdGggZD0iTTEyIDE3LjI3TDE4LjE4IDIxbC0xLjY0LTcuMDNMMjIgOS4yNGwtNy4xOS0uNjFMMTIgMiA5LjE5IDguNjMgMiA5LjI0bDUuNDYgNC43M0w1LjgyIDIxeiIgLz48L2c+CjxnIGlkPSJzdGFyLWJvcmRlciI+PHBhdGggZD0iTTIyIDkuMjRsLTcuMTktLjYyTDEyIDIgOS4xOSA4LjYzIDIgOS4yNGw1LjQ2IDQuNzNMNS44MiAyMSAxMiAxNy4yNyAxOC4xOCAyMWwtMS42My03LjAzTDIyIDkuMjR6TTEyIDE1LjRsLTMuNzYgMi4yNyAxLTQuMjgtMy4zMi0yLjg4IDQuMzgtLjM4TDEyIDYuMWwxLjcxIDQuMDQgNC4zOC4zOC0zLjMyIDIuODggMSA0LjI4TDEyIDE1LjR6IiAvPjwvZz4KPGcgaWQ9InN0YXItaGFsZiI+PHBhdGggZD0iTTIyIDkuMjRsLTcuMTktLjYyTDEyIDIgOS4xOSA4LjYzIDIgOS4yNGw1LjQ2IDQuNzNMNS44MiAyMSAxMiAxNy4yNyAxOC4xOCAyMWwtMS42My03LjAzTDIyIDkuMjR6TTEyIDE1LjRWNi4xbDEuNzEgNC4wNCA0LjM4LjM4LTMuMzIgMi44OCAxIDQuMjhMMTIgMTUuNHoiIC8+PC9nPgo8ZyBpZD0ic3RhcnMiPjxwYXRoIGQ9Ik0xMS45OSAyQzYuNDcgMiAyIDYuNDggMiAxMnM0LjQ3IDEwIDkuOTkgMTBDMTcuNTIgMjIgMjIgMTcuNTIgMjIgMTJTMTcuNTIgMiAxMS45OSAyem00LjI0IDE2TDEyIDE1LjQ1IDcuNzcgMThsMS4xMi00LjgxLTMuNzMtMy4yMyA0LjkyLS40MkwxMiA1bDEuOTIgNC41MyA0LjkyLjQyLTMuNzMgMy4yM0wxNi4yMyAxOHoiIC8+PC9nPgo8ZyBpZD0ic3RvcmUiPjxwYXRoIGQ9Ik0yMCA0SDR2MmgxNlY0em0xIDEwdi0ybC0xLTVINGwtMSA1djJoMXY2aDEwdi02aDR2Nmgydi02aDF6bS05IDRINnYtNGg2djR6IiAvPjwvZz4KPGcgaWQ9InN1YmRpcmVjdG9yeS1hcnJvdy1sZWZ0Ij48cGF0aCBkPSJNMTEgOWwxLjQyIDEuNDJMOC44MyAxNEgxOFY0aDJ2MTJIOC44M2wzLjU5IDMuNThMMTEgMjFsLTYtNiA2LTZ6IiAvPjwvZz4KPGcgaWQ9InN1YmRpcmVjdG9yeS1hcnJvdy1yaWdodCI+PHBhdGggZD0iTTE5IDE1bC02IDYtMS40Mi0xLjQyTDE1LjE3IDE2SDRWNGgydjEwaDkuMTdsLTMuNTktMy41OEwxMyA5bDYgNnoiIC8+PC9nPgo8ZyBpZD0ic3ViamVjdCI+PHBhdGggZD0iTTE0IDE3SDR2MmgxMHYtMnptNi04SDR2MmgxNlY5ek00IDE1aDE2di0ySDR2MnpNNCA1djJoMTZWNUg0eiIgLz48L2c+CjxnIGlkPSJzdXBlcnZpc29yLWFjY291bnQiPjxwYXRoIGQ9Ik0xNi41IDEyYzEuMzggMCAyLjQ5LTEuMTIgMi40OS0yLjVTMTcuODggNyAxNi41IDdDMTUuMTIgNyAxNCA4LjEyIDE0IDkuNXMxLjEyIDIuNSAyLjUgMi41ek05IDExYzEuNjYgMCAyLjk5LTEuMzQgMi45OS0zUzEwLjY2IDUgOSA1QzcuMzQgNSA2IDYuMzQgNiA4czEuMzQgMyAzIDN6bTcuNSAzYy0xLjgzIDAtNS41LjkyLTUuNSAyLjc1VjE5aDExdi0yLjI1YzAtMS44My0zLjY3LTIuNzUtNS41LTIuNzV6TTkgMTNjLTIuMzMgMC03IDEuMTctNyAzLjVWMTloN3YtMi4yNWMwLS44NS4zMy0yLjM0IDIuMzctMy40N0MxMC41IDEzLjEgOS42NiAxMyA5IDEzeiIgLz48L2c+CjxnIGlkPSJzd2FwLWhvcml6Ij48cGF0aCBkPSJNNi45OSAxMUwzIDE1bDMuOTkgNHYtM0gxNHYtMkg2Ljk5di0zek0yMSA5bC0zLjk5LTR2M0gxMHYyaDcuMDF2M0wyMSA5eiIgLz48L2c+CjxnIGlkPSJzd2FwLXZlcnQiPjxwYXRoIGQ9Ik0xNiAxNy4wMVYxMGgtMnY3LjAxaC0zTDE1IDIxbDQtMy45OWgtM3pNOSAzTDUgNi45OWgzVjE0aDJWNi45OWgzTDkgM3oiIC8+PC9nPgo8ZyBpZD0ic3dhcC12ZXJ0aWNhbC1jaXJjbGUiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyek02LjUgOUwxMCA1LjUgMTMuNSA5SDExdjRIOVY5SDYuNXptMTEgNkwxNCAxOC41IDEwLjUgMTVIMTN2LTRoMnY0aDIuNXoiIC8+PC9nPgo8ZyBpZD0ic3lzdGVtLXVwZGF0ZS1hbHQiPjxwYXRoIGQ9Ik0xMiAxNi41bDQtNGgtM3YtOWgtMnY5SDhsNCA0em05LTEzaC02djEuOTloNnYxNC4wM0gzVjUuNDloNlYzLjVIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMnYtMTRjMC0xLjEtLjktMi0yLTJ6IiAvPjwvZz4KPGcgaWQ9InRhYiI+PHBhdGggZD0iTTIxIDNIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDNWNWgxMHY0aDh2MTB6IiAvPjwvZz4KPGcgaWQ9InRhYi11bnNlbGVjdGVkIj48cGF0aCBkPSJNMSA5aDJWN0gxdjJ6bTAgNGgydi0ySDF2MnptMC04aDJWM2MtMS4xIDAtMiAuOS0yIDJ6bTggMTZoMnYtMkg5djJ6bS04LTRoMnYtMkgxdjJ6bTIgNHYtMkgxYzAgMS4xLjkgMiAyIDJ6TTIxIDNoLTh2NmgxMFY1YzAtMS4xLS45LTItMi0yem0wIDE0aDJ2LTJoLTJ2MnpNOSA1aDJWM0g5djJ6TTUgMjFoMnYtMkg1djJ6TTUgNWgyVjNINXYyem0xNiAxNmMxLjEgMCAyLS45IDItMmgtMnYyem0wLThoMnYtMmgtMnYyem0tOCA4aDJ2LTJoLTJ2MnptNCAwaDJ2LTJoLTJ2MnoiIC8+PC9nPgo8ZyBpZD0idGV4dC1mb3JtYXQiPjxwYXRoIGQ9Ik01IDE3djJoMTR2LTJINXptNC41LTQuMmg1bC45IDIuMmgyLjFMMTIuNzUgNGgtMS41TDYuNSAxNWgyLjFsLjktMi4yek0xMiA1Ljk4TDEzLjg3IDExaC0zLjc0TDEyIDUuOTh6IiAvPjwvZz4KPGcgaWQ9InRoZWF0ZXJzIj48cGF0aCBkPSJNMTggM3YyaC0yVjNIOHYySDZWM0g0djE4aDJ2LTJoMnYyaDh2LTJoMnYyaDJWM2gtMnpNOCAxN0g2di0yaDJ2MnptMC00SDZ2LTJoMnYyem0wLTRINlY3aDJ2MnptMTAgOGgtMnYtMmgydjJ6bTAtNGgtMnYtMmgydjJ6bTAtNGgtMlY3aDJ2MnoiIC8+PC9nPgo8ZyBpZD0idGh1bWItZG93biI+PHBhdGggZD0iTTE1IDNINmMtLjgzIDAtMS41NC41LTEuODQgMS4yMmwtMy4wMiA3LjA1Yy0uMDkuMjMtLjE0LjQ3LS4xNC43M3YxLjkxbC4wMS4wMUwxIDE0YzAgMS4xLjkgMiAyIDJoNi4zMWwtLjk1IDQuNTctLjAzLjMyYzAgLjQxLjE3Ljc5LjQ0IDEuMDZMOS44MyAyM2w2LjU5LTYuNTljLjM2LS4zNi41OC0uODYuNTgtMS40MVY1YzAtMS4xLS45LTItMi0yem00IDB2MTJoNFYzaC00eiIgLz48L2c+CjxnIGlkPSJ0aHVtYi11cCI+PHBhdGggZD0iTTEgMjFoNFY5SDF2MTJ6bTIyLTExYzAtMS4xLS45LTItMi0yaC02LjMxbC45NS00LjU3LjAzLS4zMmMwLS40MS0uMTctLjc5LS40NC0xLjA2TDE0LjE3IDEgNy41OSA3LjU5QzcuMjIgNy45NSA3IDguNDUgNyA5djEwYzAgMS4xLjkgMiAyIDJoOWMuODMgMCAxLjU0LS41IDEuODQtMS4yMmwzLjAyLTcuMDVjLjA5LS4yMy4xNC0uNDcuMTQtLjczdi0xLjkxbC0uMDEtLjAxTDIzIDEweiIgLz48L2c+CjxnIGlkPSJ0aHVtYnMtdXAtZG93biI+PHBhdGggZD0iTTEyIDZjMC0uNTUtLjQ1LTEtMS0xSDUuODJsLjY2LTMuMTguMDItLjIzYzAtLjMxLS4xMy0uNTktLjMzLS44TDUuMzggMCAuNDQgNC45NEMuMTcgNS4yMSAwIDUuNTkgMCA2djYuNWMwIC44My42NyAxLjUgMS41IDEuNWg2Ljc1Yy42MiAwIDEuMTUtLjM4IDEuMzgtLjkxbDIuMjYtNS4yOWMuMDctLjE3LjExLS4zNi4xMS0uNTVWNnptMTAuNSA0aC02Ljc1Yy0uNjIgMC0xLjE1LjM4LTEuMzguOTFsLTIuMjYgNS4yOWMtLjA3LjE3LS4xMS4zNi0uMTEuNTVWMThjMCAuNTUuNDUgMSAxIDFoNS4xOGwtLjY2IDMuMTgtLjAyLjI0YzAgLjMxLjEzLjU5LjMzLjhsLjc5Ljc4IDQuOTQtNC45NGMuMjctLjI3LjQ0LS42NS40NC0xLjA2di02LjVjMC0uODMtLjY3LTEuNS0xLjUtMS41eiIgLz48L2c+CjxnIGlkPSJ0aW1lbGluZSI+PHBhdGggZD0iTTIzIDhjMCAxLjEtLjkgMi0yIDItLjE4IDAtLjM1LS4wMi0uNTEtLjA3bC0zLjU2IDMuNTVjLjA1LjE2LjA3LjM0LjA3LjUyIDAgMS4xLS45IDItMiAycy0yLS45LTItMmMwLS4xOC4wMi0uMzYuMDctLjUybC0yLjU1LTIuNTVjLS4xNi4wNS0uMzQuMDctLjUyLjA3cy0uMzYtLjAyLS41Mi0uMDdsLTQuNTUgNC41NmMuMDUuMTYuMDcuMzMuMDcuNTEgMCAxLjEtLjkgMi0yIDJzLTItLjktMi0yIC45LTIgMi0yYy4xOCAwIC4zNS4wMi41MS4wN2w0LjU2LTQuNTVDOC4wMiA5LjM2IDggOS4xOCA4IDljMC0xLjEuOS0yIDItMnMyIC45IDIgMmMwIC4xOC0uMDIuMzYtLjA3LjUybDIuNTUgMi41NWMuMTYtLjA1LjM0LS4wNy41Mi0uMDdzLjM2LjAyLjUyLjA3bDMuNTUtMy41NkMxOS4wMiA4LjM1IDE5IDguMTggMTkgOGMwLTEuMS45LTIgMi0yczIgLjkgMiAyeiIgLz48L2c+CjxnIGlkPSJ0b2MiPjxwYXRoIGQ9Ik0zIDloMTRWN0gzdjJ6bTAgNGgxNHYtMkgzdjJ6bTAgNGgxNHYtMkgzdjJ6bTE2IDBoMnYtMmgtMnYyem0wLTEwdjJoMlY3aC0yem0wIDZoMnYtMmgtMnYyeiIgLz48L2c+CjxnIGlkPSJ0b2RheSI+PHBhdGggZD0iTTE5IDNoLTFWMWgtMnYySDhWMUg2djJINWMtMS4xMSAwLTEuOTkuOS0xLjk5IDJMMyAxOWMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDVWOGgxNHYxMXpNNyAxMGg1djVIN3oiIC8+PC9nPgo8ZyBpZD0idG9sbCI+PHBhdGggZD0iTTE1IDRjLTQuNDIgMC04IDMuNTgtOCA4czMuNTggOCA4IDggOC0zLjU4IDgtOC0zLjU4LTgtOC04em0wIDE0Yy0zLjMxIDAtNi0yLjY5LTYtNnMyLjY5LTYgNi02IDYgMi42OSA2IDYtMi42OSA2LTYgNnpNMyAxMmMwLTIuNjEgMS42Ny00LjgzIDQtNS42NVY0LjI2QzMuNTUgNS4xNSAxIDguMjcgMSAxMnMyLjU1IDYuODUgNiA3Ljc0di0yLjA5Yy0yLjMzLS44Mi00LTMuMDQtNC01LjY1eiIgLz48L2c+CjxnIGlkPSJ0b3VjaC1hcHAiPjxwYXRoIGQ9Ik05IDExLjI0VjcuNUM5IDYuMTIgMTAuMTIgNSAxMS41IDVTMTQgNi4xMiAxNCA3LjV2My43NGMxLjIxLS44MSAyLTIuMTggMi0zLjc0QzE2IDUuMDEgMTMuOTkgMyAxMS41IDNTNyA1LjAxIDcgNy41YzAgMS41Ni43OSAyLjkzIDIgMy43NHptOS44NCA0LjYzbC00LjU0LTIuMjZjLS4xNy0uMDctLjM1LS4xMS0uNTQtLjExSDEzdi02YzAtLjgzLS42Ny0xLjUtMS41LTEuNVMxMCA2LjY3IDEwIDcuNXYxMC43NGwtMy40My0uNzJjLS4wOC0uMDEtLjE1LS4wMy0uMjQtLjAzLS4zMSAwLS41OS4xMy0uNzkuMzNsLS43OS44IDQuOTQgNC45NGMuMjcuMjcuNjUuNDQgMS4wNi40NGg2Ljc5Yy43NSAwIDEuMzMtLjU1IDEuNDQtMS4yOGwuNzUtNS4yN2MuMDEtLjA3LjAyLS4xNC4wMi0uMiAwLS42Mi0uMzgtMS4xNi0uOTEtMS4zOHoiIC8+PC9nPgo8ZyBpZD0idHJhY2stY2hhbmdlcyI+PHBhdGggZD0iTTE5LjA3IDQuOTNsLTEuNDEgMS40MUMxOS4xIDcuNzkgMjAgOS43OSAyMCAxMmMwIDQuNDItMy41OCA4LTggOHMtOC0zLjU4LTgtOGMwLTQuMDggMy4wNS03LjQ0IDctNy45M3YyLjAyQzguMTYgNi41NyA2IDkuMDMgNiAxMmMwIDMuMzEgMi42OSA2IDYgNnM2LTIuNjkgNi02YzAtMS42Ni0uNjctMy4xNi0xLjc2LTQuMjRsLTEuNDEgMS40MUMxNS41NSA5LjkgMTYgMTAuOSAxNiAxMmMwIDIuMjEtMS43OSA0LTQgNHMtNC0xLjc5LTQtNGMwLTEuODYgMS4yOC0zLjQxIDMtMy44NnYyLjE0Yy0uNi4zNS0xIC45OC0xIDEuNzIgMCAxLjEuOSAyIDIgMnMyLS45IDItMmMwLS43NC0uNC0xLjM4LTEtMS43MlYyaC0xQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBjMC0yLjc2LTEuMTItNS4yNi0yLjkzLTcuMDd6IiAvPjwvZz4KPGcgaWQ9InRyYW5zbGF0ZSI+PHBhdGggZD0iTTEyLjg3IDE1LjA3bC0yLjU0LTIuNTEuMDMtLjAzYzEuNzQtMS45NCAyLjk4LTQuMTcgMy43MS02LjUzSDE3VjRoLTdWMkg4djJIMXYxLjk5aDExLjE3QzExLjUgNy45MiAxMC40NCA5Ljc1IDkgMTEuMzUgOC4wNyAxMC4zMiA3LjMgOS4xOSA2LjY5IDhoLTJjLjczIDEuNjMgMS43MyAzLjE3IDIuOTggNC41NmwtNS4wOSA1LjAyTDQgMTlsNS01IDMuMTEgMy4xMS43Ni0yLjA0ek0xOC41IDEwaC0yTDEyIDIyaDJsMS4xMi0zaDQuNzVMMjEgMjJoMmwtNC41LTEyem0tMi42MiA3bDEuNjItNC4zM0wxOS4xMiAxN2gtMy4yNHoiIC8+PC9nPgo8ZyBpZD0idHJlbmRpbmctZG93biI+PHBhdGggZD0iTTE2IDE4bDIuMjktMi4yOS00Ljg4LTQuODgtNCA0TDIgNy40MSAzLjQxIDZsNiA2IDQtNCA2LjMgNi4yOUwyMiAxMnY2eiIgLz48L2c+CjxnIGlkPSJ0cmVuZGluZy1mbGF0Ij48cGF0aCBkPSJNMjIgMTJsLTQtNHYzSDN2MmgxNXYzeiIgLz48L2c+CjxnIGlkPSJ0cmVuZGluZy11cCI+PHBhdGggZD0iTTE2IDZsMi4yOSAyLjI5LTQuODggNC44OC00LTRMMiAxNi41OSAzLjQxIDE4bDYtNiA0IDQgNi4zLTYuMjlMMjIgMTJWNnoiIC8+PC9nPgo8ZyBpZD0idHVybmVkLWluIj48cGF0aCBkPSJNMTcgM0g3Yy0xLjEgMC0xLjk5LjktMS45OSAyTDUgMjFsNy0zIDcgM1Y1YzAtMS4xLS45LTItMi0yeiIgLz48L2c+CjxnIGlkPSJ0dXJuZWQtaW4tbm90Ij48cGF0aCBkPSJNMTcgM0g3Yy0xLjEgMC0xLjk5LjktMS45OSAyTDUgMjFsNy0zIDcgM1Y1YzAtMS4xLS45LTItMi0yem0wIDE1bC01LTIuMThMNyAxOFY1aDEwdjEzeiIgLz48L2c+CjxnIGlkPSJ1bmFyY2hpdmUiPjxwYXRoIGQ9Ik0yMC41NSA1LjIybC0xLjM5LTEuNjhDMTguODggMy4yMSAxOC40NyAzIDE4IDNINmMtLjQ3IDAtLjg4LjIxLTEuMTUuNTVMMy40NiA1LjIyQzMuMTcgNS41NyAzIDYuMDEgMyA2LjVWMTljMCAxLjEuODkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNi41YzAtLjQ5LS4xNy0uOTMtLjQ1LTEuMjh6TTEyIDkuNWw1LjUgNS41SDE0djJoLTR2LTJINi41TDEyIDkuNXpNNS4xMiA1bC44Mi0xaDEybC45MyAxSDUuMTJ6IiAvPjwvZz4KPGcgaWQ9InVuZG8iPjxwYXRoIGQ9Ik0xMi41IDhjLTIuNjUgMC01LjA1Ljk5LTYuOSAyLjZMMiA3djloOWwtMy42Mi0zLjYyYzEuMzktMS4xNiAzLjE2LTEuODggNS4xMi0xLjg4IDMuNTQgMCA2LjU1IDIuMzEgNy42IDUuNWwyLjM3LS43OEMyMS4wOCAxMS4wMyAxNy4xNSA4IDEyLjUgOHoiIC8+PC9nPgo8ZyBpZD0idW5mb2xkLWxlc3MiPjxwYXRoIGQ9Ik03LjQxIDE4LjU5TDguODMgMjAgMTIgMTYuODMgMTUuMTcgMjBsMS40MS0xLjQxTDEyIDE0bC00LjU5IDQuNTl6bTkuMTgtMTMuMThMMTUuMTcgNCAxMiA3LjE3IDguODMgNCA3LjQxIDUuNDEgMTIgMTBsNC41OS00LjU5eiIgLz48L2c+CjxnIGlkPSJ1bmZvbGQtbW9yZSI+PHBhdGggZD0iTTEyIDUuODNMMTUuMTcgOWwxLjQxLTEuNDFMMTIgMyA3LjQxIDcuNTkgOC44MyA5IDEyIDUuODN6bTAgMTIuMzRMOC44MyAxNWwtMS40MSAxLjQxTDEyIDIxbDQuNTktNC41OUwxNS4xNyAxNSAxMiAxOC4xN3oiIC8+PC9nPgo8ZyBpZD0idXBkYXRlIj48cGF0aCBkPSJNMjEgMTAuMTJoLTYuNzhsMi43NC0yLjgyYy0yLjczLTIuNy03LjE1LTIuOC05Ljg4LS4xLTIuNzMgMi43MS0yLjczIDcuMDggMCA5Ljc5IDIuNzMgMi43MSA3LjE1IDIuNzEgOS44OCAwQzE4LjMyIDE1LjY1IDE5IDE0LjA4IDE5IDEyLjFoMmMwIDEuOTgtLjg4IDQuNTUtMi42NCA2LjI5LTMuNTEgMy40OC05LjIxIDMuNDgtMTIuNzIgMC0zLjUtMy40Ny0zLjUzLTkuMTEtLjAyLTEyLjU4IDMuNTEtMy40NyA5LjE0LTMuNDcgMTIuNjUgMEwyMSAzdjcuMTJ6TTEyLjUgOHY0LjI1bDMuNSAyLjA4LS43MiAxLjIxTDExIDEzVjhoMS41eiIgLz48L2c+CjxnIGlkPSJ2ZXJpZmllZC11c2VyIj48cGF0aCBkPSJNMTIgMUwzIDV2NmMwIDUuNTUgMy44NCAxMC43NCA5IDEyIDUuMTYtMS4yNiA5LTYuNDUgOS0xMlY1bC05LTR6bS0yIDE2bC00LTQgMS40MS0xLjQxTDEwIDE0LjE3bDYuNTktNi41OUwxOCA5bC04IDh6IiAvPjwvZz4KPGcgaWQ9InZpZXctYWdlbmRhIj48cGF0aCBkPSJNMjAgMTNIM2MtLjU1IDAtMSAuNDUtMSAxdjZjMCAuNTUuNDUgMSAxIDFoMTdjLjU1IDAgMS0uNDUgMS0xdi02YzAtLjU1LS40NS0xLTEtMXptMC0xMEgzYy0uNTUgMC0xIC40NS0xIDF2NmMwIC41NS40NSAxIDEgMWgxN2MuNTUgMCAxLS40NSAxLTFWNGMwLS41NS0uNDUtMS0xLTF6IiAvPjwvZz4KPGcgaWQ9InZpZXctYXJyYXkiPjxwYXRoIGQ9Ik00IDE4aDNWNUg0djEzek0xOCA1djEzaDNWNWgtM3pNOCAxOGg5VjVIOHYxM3oiIC8+PC9nPgo8ZyBpZD0idmlldy1jYXJvdXNlbCI+PHBhdGggZD0iTTcgMTloMTBWNEg3djE1em0tNS0yaDRWNkgydjExek0xOCA2djExaDRWNmgtNHoiIC8+PC9nPgo8ZyBpZD0idmlldy1jb2x1bW4iPjxwYXRoIGQ9Ik0xMCAxOGg1VjVoLTV2MTN6bS02IDBoNVY1SDR2MTN6TTE2IDV2MTNoNVY1aC01eiIgLz48L2c+CjxnIGlkPSJ2aWV3LWRheSI+PHBhdGggZD0iTTIgMjFoMTl2LTNIMnYzek0yMCA4SDNjLS41NSAwLTEgLjQ1LTEgMXY2YzAgLjU1LjQ1IDEgMSAxaDE3Yy41NSAwIDEtLjQ1IDEtMVY5YzAtLjU1LS40NS0xLTEtMXpNMiAzdjNoMTlWM0gyeiIgLz48L2c+CjxnIGlkPSJ2aWV3LWhlYWRsaW5lIj48cGF0aCBkPSJNNCAxNWgxNnYtMkg0djJ6bTAgNGgxNnYtMkg0djJ6bTAtOGgxNlY5SDR2MnptMC02djJoMTZWNUg0eiIgLz48L2c+CjxnIGlkPSJ2aWV3LWxpc3QiPjxwYXRoIGQ9Ik00IDE0aDR2LTRINHY0em0wIDVoNHYtNEg0djR6TTQgOWg0VjVINHY0em01IDVoMTJ2LTRIOXY0em0wIDVoMTJ2LTRIOXY0ek05IDV2NGgxMlY1SDl6IiAvPjwvZz4KPGcgaWQ9InZpZXctbW9kdWxlIj48cGF0aCBkPSJNNCAxMWg1VjVINHY2em0wIDdoNXYtNkg0djZ6bTYgMGg1di02aC01djZ6bTYgMGg1di02aC01djZ6bS02LTdoNVY1aC01djZ6bTYtNnY2aDVWNWgtNXoiIC8+PC9nPgo8ZyBpZD0idmlldy1xdWlsdCI+PHBhdGggZD0iTTEwIDE4aDV2LTZoLTV2NnptLTYgMGg1VjVINHYxM3ptMTIgMGg1di02aC01djZ6TTEwIDV2NmgxMVY1SDEweiIgLz48L2c+CjxnIGlkPSJ2aWV3LXN0cmVhbSI+PHBhdGggZD0iTTQgMThoMTd2LTZINHY2ek00IDV2NmgxN1Y1SDR6IiAvPjwvZz4KPGcgaWQ9InZpZXctd2VlayI+PHBhdGggZD0iTTYgNUgzYy0uNTUgMC0xIC40NS0xIDF2MTJjMCAuNTUuNDUgMSAxIDFoM2MuNTUgMCAxLS40NSAxLTFWNmMwLS41NS0uNDUtMS0xLTF6bTE0IDBoLTNjLS41NSAwLTEgLjQ1LTEgMXYxMmMwIC41NS40NSAxIDEgMWgzYy41NSAwIDEtLjQ1IDEtMVY2YzAtLjU1LS40NS0xLTEtMXptLTcgMGgtM2MtLjU1IDAtMSAuNDUtMSAxdjEyYzAgLjU1LjQ1IDEgMSAxaDNjLjU1IDAgMS0uNDUgMS0xVjZjMC0uNTUtLjQ1LTEtMS0xeiIgLz48L2c+CjxnIGlkPSJ2aXNpYmlsaXR5Ij48cGF0aCBkPSJNMTIgNC41QzcgNC41IDIuNzMgNy42MSAxIDEyYzEuNzMgNC4zOSA2IDcuNSAxMSA3LjVzOS4yNy0zLjExIDExLTcuNWMtMS43My00LjM5LTYtNy41LTExLTcuNXpNMTIgMTdjLTIuNzYgMC01LTIuMjQtNS01czIuMjQtNSA1LTUgNSAyLjI0IDUgNS0yLjI0IDUtNSA1em0wLThjLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDMgMy0xLjM0IDMtMy0xLjM0LTMtMy0zeiIgLz48L2c+CjxnIGlkPSJ2aXNpYmlsaXR5LW9mZiI+PHBhdGggZD0iTTEyIDdjMi43NiAwIDUgMi4yNCA1IDUgMCAuNjUtLjEzIDEuMjYtLjM2IDEuODNsMi45MiAyLjkyYzEuNTEtMS4yNiAyLjctMi44OSAzLjQzLTQuNzUtMS43My00LjM5LTYtNy41LTExLTcuNS0xLjQgMC0yLjc0LjI1LTMuOTguN2wyLjE2IDIuMTZDMTAuNzQgNy4xMyAxMS4zNSA3IDEyIDd6TTIgNC4yN2wyLjI4IDIuMjguNDYuNDZDMy4wOCA4LjMgMS43OCAxMC4wMiAxIDEyYzEuNzMgNC4zOSA2IDcuNSAxMSA3LjUgMS41NSAwIDMuMDMtLjMgNC4zOC0uODRsLjQyLjQyTDE5LjczIDIyIDIxIDIwLjczIDMuMjcgMyAyIDQuMjd6TTcuNTMgOS44bDEuNTUgMS41NWMtLjA1LjIxLS4wOC40My0uMDguNjUgMCAxLjY2IDEuMzQgMyAzIDMgLjIyIDAgLjQ0LS4wMy42NS0uMDhsMS41NSAxLjU1Yy0uNjcuMzMtMS40MS41My0yLjIuNTMtMi43NiAwLTUtMi4yNC01LTUgMC0uNzkuMi0xLjUzLjUzLTIuMnptNC4zMS0uNzhsMy4xNSAzLjE1LjAyLS4xNmMwLTEuNjYtMS4zNC0zLTMtM2wtLjE3LjAxeiIgLz48L2c+CjxnIGlkPSJ3YXJuaW5nIj48cGF0aCBkPSJNMSAyMWgyMkwxMiAyIDEgMjF6bTEyLTNoLTJ2LTJoMnYyem0wLTRoLTJ2LTRoMnY0eiIgLz48L2c+CjxnIGlkPSJ3YXRjaC1sYXRlciI+PHBhdGggZD0iTTEyIDJDNi41IDIgMiA2LjUgMiAxMnM0LjUgMTAgMTAgMTAgMTAtNC41IDEwLTEwUzE3LjUgMiAxMiAyem00LjIgMTQuMkwxMSAxM1Y3aDEuNXY1LjJsNC41IDIuNy0uOCAxLjN6IiAvPjwvZz4KPGcgaWQ9IndlZWtlbmQiPjxwYXRoIGQ9Ik0yMSAxMGMtMS4xIDAtMiAuOS0yIDJ2M0g1di0zYzAtMS4xLS45LTItMi0ycy0yIC45LTIgMnY1YzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJ2LTVjMC0xLjEtLjktMi0yLTJ6bS0zLTVINmMtMS4xIDAtMiAuOS0yIDJ2Mi4xNWMxLjE2LjQxIDIgMS41MSAyIDIuODJWMTRoMTJ2LTIuMDNjMC0xLjMuODQtMi40IDItMi44MlY3YzAtMS4xLS45LTItMi0yeiIgLz48L2c+CjxnIGlkPSJ3b3JrIj48cGF0aCBkPSJNMjAgNmgtNFY0YzAtMS4xMS0uODktMi0yLTJoLTRjLTEuMTEgMC0yIC44OS0yIDJ2Mkg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOWMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6bS02IDBoLTRWNGg0djJ6IiAvPjwvZz4KPGcgaWQ9InlvdXR1YmUtc2VhcmNoZWQtZm9yIj48cGF0aCBkPSJNMTcuMDEgMTRoLS44bC0uMjctLjI3Yy45OC0xLjE0IDEuNTctMi42MSAxLjU3LTQuMjMgMC0zLjU5LTIuOTEtNi41LTYuNS02LjVzLTYuNSAzLTYuNSA2LjVIMmwzLjg0IDQgNC4xNi00SDYuNTFDNi41MSA3IDguNTMgNSAxMS4wMSA1czQuNSAyLjAxIDQuNSA0LjVjMCAyLjQ4LTIuMDIgNC41LTQuNSA0LjUtLjY1IDAtMS4yNi0uMTQtMS44Mi0uMzhMNy43MSAxNS4xYy45Ny41NyAyLjA5LjkgMy4zLjkgMS42MSAwIDMuMDgtLjU5IDQuMjItMS41N2wuMjcuMjd2Ljc5bDUuMDEgNC45OUwyMiAxOWwtNC45OS01eiIgLz48L2c+CjxnIGlkPSJ6b29tLWluIj48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHptMi41LTRoLTJ2Mkg5di0ySDdWOWgyVjdoMXYyaDJ2MXoiIC8+PC9nPgo8ZyBpZD0iem9vbS1vdXQiPjxwYXRoIGQ9Ik0xNS41IDE0aC0uNzlsLS4yOC0uMjdDMTUuNDEgMTIuNTkgMTYgMTEuMTEgMTYgOS41IDE2IDUuOTEgMTMuMDkgMyA5LjUgM1MzIDUuOTEgMyA5LjUgNS45MSAxNiA5LjUgMTZjMS42MSAwIDMuMDktLjU5IDQuMjMtMS41N2wuMjcuMjh2Ljc5bDUgNC45OUwyMC40OSAxOWwtNC45OS01em0tNiAwQzcuMDEgMTQgNSAxMS45OSA1IDkuNVM3LjAxIDUgOS41IDUgMTQgNy4wMSAxNCA5LjUgMTEuOTkgMTQgOS41IDE0ek03IDloNXYxSDd6IiAvPjwvZz4KPC9kZWZzPjwvc3ZnPgo8L2lyb24taWNvbnNldC1zdmc+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLWljb24tYnV0dG9uIj4KICA8dGVtcGxhdGUgc3RyaXAtd2hpdGVzcGFjZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgei1pbmRleDogMDsKICAgICAgICBsaW5lLWhlaWdodDogMTsKCiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwoKICAgICAgICAvKiBOT1RFOiBCb3RoIHZhbHVlcyBhcmUgbmVlZGVkLCBzaW5jZSBzb21lIHBob25lcyByZXF1aXJlIHRoZSB2YWx1ZSB0byBiZSBgdHJhbnNwYXJlbnRgLiAqLwogICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OwoKICAgICAgICAvKiBCZWNhdXNlIG9mIHBvbHltZXIvMjU1OCwgdGhpcyBzdHlsZSBoYXMgbG93ZXIgc3BlY2lmaWNpdHkgdGhhbiAqICovCiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50OwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1pY29uLWJ1dHRvbjsKICAgICAgfQoKICAgICAgOmhvc3QgI2luayB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWljb24tYnV0dG9uLWluay1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWljb24tYnV0dG9uLWRpc2FibGVkLXRleHQsIHZhcigtLWRpc2FibGVkLXRleHQtY29sb3IpKTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBjdXJzb3I6IGF1dG87CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWljb24tYnV0dG9uLWRpc2FibGVkOwogICAgICB9CgogICAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgOmhvc3QoOmhvdmVyKSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaWNvbi1idXR0b24taG92ZXI7CiAgICAgIH0KCiAgICAgIGlyb24taWNvbiB7CiAgICAgICAgLS1pcm9uLWljb24td2lkdGg6IDEwMCU7CiAgICAgICAgLS1pcm9uLWljb24taGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxpcm9uLWljb24gaWQ9Imljb24iIHNyYz0iW1tzcmNdXSIgaWNvbj0iW1tpY29uXV0iIGFsdCQ9IltbYWx0XV0iPjwvaXJvbi1pY29uPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InJ1bi1jb2xvci1zdHlsZSI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICBbY29sb3ItY2xhc3M9J2xpZ2h0LWJsdWUnXSBwYXBlci1jaGVja2JveCB7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1saWdodC1ibHVlLTUwMCk7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItbGlnaHQtYmx1ZS01MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1saWdodC1ibHVlLTkwMCk7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1saWdodC1ibHVlLTkwMCk7CiAgICAgIH0KICAgICAgW2NvbG9yLWNsYXNzPSdyZWQnXSBwYXBlci1jaGVja2JveCB7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1yZWQtNTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1yZWQtNTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItcmVkLTkwMCk7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1yZWQtOTAwKTsKICAgICAgfQogICAgICBbY29sb3ItY2xhc3M9J2dyZWVuJ10gcGFwZXItY2hlY2tib3ggewogICAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItZ3JlZW4tNTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1ncmVlbi01MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1ncmVlbi05MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItZ3JlZW4tOTAwKTsKICAgICAgfQogICAgICBbY29sb3ItY2xhc3M9J3B1cnBsZSddIHBhcGVyLWNoZWNrYm94IHsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLXB1cnBsZS01MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLXB1cnBsZS01MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1wdXJwbGUtOTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLXB1cnBsZS05MDApOwogICAgICB9CiAgICAgIFtjb2xvci1jbGFzcz0ndGVhbCddIHBhcGVyLWNoZWNrYm94IHsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLXRlYWwtNTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci10ZWFsLTUwMCk7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLXRlYWwtOTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLXRlYWwtOTAwKTsKICAgICAgfQogICAgICBbY29sb3ItY2xhc3M9J3BpbmsnXSBwYXBlci1jaGVja2JveCB7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1waW5rLTUwMCk7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItcGluay01MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1waW5rLTkwMCk7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1waW5rLTkwMCk7CiAgICAgIH0KICAgICAgW2NvbG9yLWNsYXNzPSdvcmFuZ2UnXSBwYXBlci1jaGVja2JveCB7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1vcmFuZ2UtNTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1vcmFuZ2UtNTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItb3JhbmdlLTkwMCk7CiAgICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1vcmFuZ2UtOTAwKTsKICAgICAgfQogICAgICBbY29sb3ItY2xhc3M9J2Jyb3duJ10gcGFwZXItY2hlY2tib3ggewogICAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItYnJvd24tNTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1icm93bi01MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1icm93bi05MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItYnJvd24tOTAwKTsKICAgICAgfQogICAgICBbY29sb3ItY2xhc3M9J2luZGlnbyddIHBhcGVyLWNoZWNrYm94IHsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLWluZGlnby01MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLWluZGlnby01MDApOwogICAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1pbmRpZ28tOTAwKTsKICAgICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLWluZGlnby05MDApOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtbXVsdGktY2hlY2tib3giPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZSBpbmNsdWRlPSJzY3JvbGxiYXItc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGUgaW5jbHVkZT0icnVuLWNvbG9yLXN0eWxlIj48L3N0eWxlPgoKICAgIDxwYXBlci1pbnB1dCBpZD0ibmFtZXMtcmVnZXgiIG5vLWxhYmVsLWZsb2F0IGxhYmVsPSJXcml0ZSBhIHJlZ2V4IHRvIGZpbHRlciBydW5zIiB2YWx1ZT0iW1tyZWdleF1dIiBvbi1iaW5kLXZhbHVlLWNoYW5nZWQ9Il9kZWJvdW5jZWRSZWdleENoYW5nZSI+PC9wYXBlci1pbnB1dD4KICAgIDxkaXYgaWQ9Im91dGVyLWNvbnRhaW5lciIgY2xhc3M9InNjcm9sbGJhciI+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbbmFtZXNNYXRjaGluZ1JlZ2V4XV0iIG9uLWRvbS1jaGFuZ2U9InN5bmNocm9uaXplQ29sb3JzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJuYW1lLXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLWNvbnRhaW5lciBjaGVja2JveC1jb250YWluZXIgdmVydGljYWwtYWxpZ24tY29udGFpbmVyIj4KICAgICAgICAgICAgPHBhcGVyLWNoZWNrYm94IGNsYXNzPSJjaGVja2JveCB2ZXJ0aWNhbC1hbGlnbi1jZW50ZXIiIGlkJD0iY2hlY2tib3gtW1tpdGVtXV0iIG5hbWU9IltbaXRlbV1dIiBjaGVja2VkJD0iW1tfaXNDaGVja2VkKGl0ZW0sIHNlbGVjdGlvblN0YXRlLiopXV0iIG9uLWNoYW5nZT0iX2NoZWNrYm94Q2hhbmdlIj48L3BhcGVyLWNoZWNrYm94PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLWNvbnRhaW5lciBpc29sYXRvci1jb250YWluZXIgdmVydGljYWwtYWxpZ24tY29udGFpbmVyIj4KICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249InJhZGlvLWJ1dHRvbi11bmNoZWNrZWQiIGNsYXNzPSJpc29sYXRvciB2ZXJ0aWNhbC1hbGlnbi1jZW50ZXIiIG9uLXRhcD0iX2lzb2xhdGVOYW1lIiBuYW1lPSJbW2l0ZW1dXSI+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbS1sYWJlbC1jb250YWluZXIiPgogICAgICAgICAgICA8c3Bhbj5bW2l0ZW1dXTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIHBhcGVyLWlucHV0IHsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQ6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB9CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItbGFiZWw6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB9CiAgICAgIH0KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQogICAgICAjb3V0ZXItY29udGFpbmVyIHsKICAgICAgICBjb250YWluOiBjb250ZW50OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgfQogICAgICAubmFtZS1yb3cgewogICAgICAgIGNvbnRhaW46IGNvbnRlbnQ7CiAgICAgICAgcGFkZGluZy10b3A6IDVweDsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOyAvKiBtYWtlcyB3cmFwcGluZyBvZiBoeXBlcnBhcmFtIHN0cmluZ3MgYmV0dGVyICovCiAgICAgIH0KICAgICAgLmljb24tY29udGFpbmVyIHsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7CiAgICAgIH0KICAgICAgLmNoZWNrYm94IHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgIH0KICAgICAgLmlzb2xhdG9yIHsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgcGFkZGluZzogMHB4OwogICAgICB9CiAgICAgIC5pc29sYXRvci1jb250YWluZXIgewogICAgICAgIHBhZGRpbmctbGVmdDogNnB4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDNweDsKICAgICAgfQogICAgICAuY2hlY2tib3gtY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDsKICAgICAgfQogICAgICAuaXRlbS1sYWJlbC1jb250YWluZXIgewogICAgICAgIHBhZGRpbmctbGVmdDogNXB4OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICB3aWR0aDogMHB4OyAvKiBoYWNrIHRvIGdldCB0aGUgZmxleC1ncm93IHRvIHdvcmsgcHJvcGVybHkgKi8KICAgICAgfQogICAgICAudG9vbHRpcC12YWx1ZS1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgIHBhZGRpbmctbGVmdDogMnB4OwogICAgICB9CiAgICAgIC52ZXJ0aWNhbC1hbGlnbi1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KICAgICAgLnZlcnRpY2FsLWFsaWduLWNvbnRhaW5lciAudmVydGljYWwtYWxpZ24tY2VudGVyIHsKICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgIH0KICAgICAgLnZlcnRpY2FsLWFsaWduLWNvbnRhaW5lciAudmVydGljYWwtYWxpZ24tdG9wIHsKICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLXdici1zdHJpbmciPgogIDx0ZW1wbGF0ZT4KICAgIAogICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfcGFydHNdXSIgYXM9InBhcnQiPltbcGFydF1dPHdicj48L3RlbXBsYXRlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtcnVucy1zZWxlY3RvciI+CiAgPHRlbXBsYXRlPgogICAgPHBhcGVyLWRpYWxvZyB3aXRoLWJhY2tkcm9wIGlkPSJkYXRhLWxvY2F0aW9uLWRpYWxvZyI+CiAgICAgIDxoMj5EYXRhIExvY2F0aW9uPC9oMj4KICAgICAgPHRmLXdici1zdHJpbmcgdmFsdWU9IltbZGF0YUxvY2F0aW9uXV0iIC8+CiAgICA8L3BhcGVyLWRpYWxvZz4KICAgIDxkaXYgaWQ9InRvcC10ZXh0Ij4KICAgICAgPGgzIGlkPSJ0b29sdGlwLWhlbHAiIGNsYXNzPSJ0b29sdGlwLWNvbnRhaW5lciI+UnVuczwvaDM+CiAgICA8L2Rpdj4KICAgIDx0Zi1tdWx0aS1jaGVja2JveCBpZD0ibXVsdGlDaGVja2JveCIgbmFtZXM9IltbcnVuc11dIiBzZWxlY3Rpb24tc3RhdGU9Int7cnVuU2VsZWN0aW9uU3RhdGV9fSIgb3V0LXNlbGVjdGVkPSJ7e3NlbGVjdGVkUnVuc319IiByZWdleD0ie3tyZWdleElucHV0fX0iIGNvbG9yaW5nPSJbW2NvbG9yaW5nXV0iPjwvdGYtbXVsdGktY2hlY2tib3g+CiAgICA8cGFwZXItYnV0dG9uIGNsYXNzPSJ4LWJ1dHRvbiIgaWQ9InRvZ2dsZS1hbGwiIG9uLXRhcD0iX3RvZ2dsZUFsbCI+CiAgICAgIFRvZ2dsZSBBbGwgUnVucwogICAgPC9wYXBlci1idXR0b24+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbZGF0YUxvY2F0aW9uXV0iPgogICAgICA8ZGl2IGlkPSJkYXRhLWxvY2F0aW9uIj4KICAgICAgICA8dGYtd2JyLXN0cmluZyB2YWx1ZT0iW1tfY2xpcHBlZERhdGFMb2NhdGlvbl1dIiAvPjx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc2hvdWxkU2hvd0V4cGFuZERhdGFMb2NhdGlvbkJ1dHRvbihkYXRhTG9jYXRpb24sIF9kYXRhTG9jYXRpb25DbGlwTGVuZ3RoKV1dIj48YSBocmVmPSIiIG9uLWNsaWNrPSJfb3BlbkRhdGFMb2NhdGlvbkRpYWxvZyI+4oCmPC9hPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OwogICAgICB9CiAgICAgICN0b3AtdGV4dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItZ3JleS04MDApOwogICAgICB9CiAgICAgIHRmLW11bHRpLWNoZWNrYm94IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICAgIC54LWJ1dHRvbiB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRiLXVpLWxpZ2h0LWFjY2VudCk7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTsKICAgICAgfQogICAgICAjdG9vbHRpcC1oZWxwIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItZ3JleS04MDApOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgIH0KICAgICAgcGFwZXItYnV0dG9uIHsKICAgICAgICBtYXJnaW4tbGVmdDogMDsKICAgICAgfQogICAgICAjZGF0YS1sb2NhdGlvbiB7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbWFyZ2luOiA1cHggMCAwIDA7CiAgICAgICAgbWF4LXdpZHRoOiAyODhweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXNwaW5uZXItc3R5bGVzIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIC8qCiAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKi8KICAgICAgLyogU1RZTEVTIEZPUiBUSEUgU1BJTk5FUiAqLwogICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKiovCgogICAgICAvKgogICAgICAgKiBDb25zdGFudHM6CiAgICAgICAqICAgICAgQVJDU0laRSAgICAgPSAyNzAgZGVncmVlcyAoYW1vdW50IG9mIGNpcmNsZSB0aGUgYXJjIHRha2VzIHVwKQogICAgICAgKiAgICAgIEFSQ1RJTUUgICAgID0gMTMzM21zICh0aW1lIGl0IHRha2VzIHRvIGV4cGFuZCBhbmQgY29udHJhY3QgYXJjKQogICAgICAgKiAgICAgIEFSQ1NUQVJUUk9UID0gMjE2IGRlZ3JlZXMgKGhvdyBtdWNoIHRoZSBzdGFydCBsb2NhdGlvbiBvZiB0aGUgYXJjCiAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGQgcm90YXRlIGVhY2ggdGltZSwgMjE2IGdpdmVzIHVzIGEKICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUgcG9pbnRlZCBzdGFyIHNoYXBlIChpdCdzIDM2MC81ICogMykuCiAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgYSA3IHBvaW50ZWQgc3Rhciwgd2UgbWlnaHQgZG8KICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM2MC83ICogMyA9IDE1NC4yODYpCiAgICAgICAqICAgICAgU0hSSU5LX1RJTUUgPSA0MDBtcwogICAgICAgKi8KCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAyOHB4OwogICAgICAgIGhlaWdodDogMjhweDsKCiAgICAgICAgLyogMzYwICogQVJDVElNRSAvIChBUkNTVEFSVFJPVCArICgzNjAtQVJDU0laRSkpICovCiAgICAgICAgLS1wYXBlci1zcGlubmVyLWNvbnRhaW5lci1yb3RhdGlvbi1kdXJhdGlvbjogMTU2OG1zOwoKICAgICAgICAvKiBBUkNUSU1FICovCiAgICAgICAgLS1wYXBlci1zcGlubmVyLWV4cGFuZC1jb250cmFjdC1kdXJhdGlvbjogMTMzM21zOwoKICAgICAgICAvKiA0ICogQVJDVElNRSAqLwogICAgICAgIC0tcGFwZXItc3Bpbm5lci1mdWxsLWN5Y2xlLWR1cmF0aW9uOiA1MzMybXM7CgogICAgICAgIC8qIFNIUklOS19USU1FICovCiAgICAgICAgLS1wYXBlci1zcGlubmVyLWNvb2xkb3duLWR1cmF0aW9uOiA0MDBtczsKICAgICAgfQoKICAgICAgI3NwaW5uZXJDb250YWluZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKCiAgICAgICAgLyogVGhlIHNwaW5uZXIgZG9lcyBub3QgaGF2ZSBhbnkgY29udGVudHMgdGhhdCB3b3VsZCBoYXZlIHRvIGJlCiAgICAgICAgICogZmxpcHBlZCBpZiB0aGUgZGlyZWN0aW9uIGNoYW5nZXMuIEFsd2F5cyB1c2UgbHRyIHNvIHRoYXQgdGhlCiAgICAgICAgICogc3R5bGUgd29ya3Mgb3V0IGNvcnJlY3RseSBpbiBib3RoIGNhc2VzLiAqLwogICAgICAgIGRpcmVjdGlvbjogbHRyOwogICAgICB9CgogICAgICAjc3Bpbm5lckNvbnRhaW5lci5hY3RpdmUgewogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBjb250YWluZXItcm90YXRlIHZhcigtLXBhcGVyLXNwaW5uZXItY29udGFpbmVyLXJvdGF0aW9uLWR1cmF0aW9uKSBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgYW5pbWF0aW9uOiBjb250YWluZXItcm90YXRlIHZhcigtLXBhcGVyLXNwaW5uZXItY29udGFpbmVyLXJvdGF0aW9uLWR1cmF0aW9uKSBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBjb250YWluZXItcm90YXRlIHsKICAgICAgICB0byB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKSB9CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgY29udGFpbmVyLXJvdGF0ZSB7CiAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIH0KICAgICAgfQoKICAgICAgLnNwaW5uZXItbGF5ZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1zcGlubmVyLWNvbG9yLCB2YXIoLS1nb29nbGUtYmx1ZS01MDApKTsKICAgICAgfQoKICAgICAgLmxheWVyLTEgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1zcGlubmVyLWxheWVyLTEtY29sb3IsIHZhcigtLWdvb2dsZS1ibHVlLTUwMCkpOwogICAgICB9CgogICAgICAubGF5ZXItMiB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLXNwaW5uZXItbGF5ZXItMi1jb2xvciwgdmFyKC0tZ29vZ2xlLXJlZC01MDApKTsKICAgICAgfQoKICAgICAgLmxheWVyLTMgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1zcGlubmVyLWxheWVyLTMtY29sb3IsIHZhcigtLWdvb2dsZS15ZWxsb3ctNTAwKSk7CiAgICAgIH0KCiAgICAgIC5sYXllci00IHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItc3Bpbm5lci1sYXllci00LWNvbG9yLCB2YXIoLS1nb29nbGUtZ3JlZW4tNTAwKSk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBJTVBPUlRBTlQgTk9URSBBQk9VVCBDU1MgQU5JTUFUSU9OIFBST1BFUlRJRVMgKGtlYW51bGVlKToKICAgICAgICoKICAgICAgICogaU9TIFNhZmFyaSAodGVzdGVkIG9uIGlPUyA4LjEpIGRvZXMgbm90IGhhbmRsZSBhbmltYXRpb24tZGVsYXkgdmVyeSB3ZWxsIC0gaXQgZG9lc24ndAogICAgICAgKiBndWFyYW50ZWUgdGhhdCB0aGUgYW5pbWF0aW9uIHdpbGwgc3RhcnQgX2V4YWN0bHlfIGFmdGVyIHRoYXQgdmFsdWUuIFNvIHdlIGF2b2lkIHVzaW5nCiAgICAgICAqIGFuaW1hdGlvbi1kZWxheSBhbmQgaW5zdGVhZCBzZXQgY3VzdG9tIGtleWZyYW1lcyBmb3IgZWFjaCBjb2xvciAoYXMgbGF5ZXItMnVuZGFudCBhcyBpdAogICAgICAgKiBzZWVtcykuCiAgICAgICAqLwogICAgICAuYWN0aXZlIC5zcGlubmVyLWxheWVyIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmaWxsLXVuZmlsbC1yb3RhdGU7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXNwaW5uZXItZnVsbC1jeWNsZS1kdXJhdGlvbik7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSk7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsKICAgICAgICBhbmltYXRpb24tbmFtZTogZmlsbC11bmZpbGwtcm90YXRlOwogICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItc3Bpbm5lci1mdWxsLWN5Y2xlLWR1cmF0aW9uKTsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSk7CiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5sYXllci0xIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmaWxsLXVuZmlsbC1yb3RhdGUsIGxheWVyLTEtZmFkZS1pbi1vdXQ7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZpbGwtdW5maWxsLXJvdGF0ZSwgbGF5ZXItMS1mYWRlLWluLW91dDsKICAgICAgfQoKICAgICAgLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5sYXllci0yIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmaWxsLXVuZmlsbC1yb3RhdGUsIGxheWVyLTItZmFkZS1pbi1vdXQ7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZpbGwtdW5maWxsLXJvdGF0ZSwgbGF5ZXItMi1mYWRlLWluLW91dDsKICAgICAgfQoKICAgICAgLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5sYXllci0zIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmaWxsLXVuZmlsbC1yb3RhdGUsIGxheWVyLTMtZmFkZS1pbi1vdXQ7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZpbGwtdW5maWxsLXJvdGF0ZSwgbGF5ZXItMy1mYWRlLWluLW91dDsKICAgICAgfQoKICAgICAgLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5sYXllci00IHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmaWxsLXVuZmlsbC1yb3RhdGUsIGxheWVyLTQtZmFkZS1pbi1vdXQ7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZpbGwtdW5maWxsLXJvdGF0ZSwgbGF5ZXItNC1mYWRlLWluLW91dDsKICAgICAgfQoKICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIGZpbGwtdW5maWxsLXJvdGF0ZSB7CiAgICAgICAgMTIuNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgfSAvKiAwLjUgKiBBUkNTSVpFICovCiAgICAgICAgMjUlICAgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZykgfSAvKiAxICAgKiBBUkNTSVpFICovCiAgICAgICAgMzcuNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQwNWRlZykgfSAvKiAxLjUgKiBBUkNTSVpFICovCiAgICAgICAgNTAlICAgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDU0MGRlZykgfSAvKiAyICAgKiBBUkNTSVpFICovCiAgICAgICAgNjIuNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDY3NWRlZykgfSAvKiAyLjUgKiBBUkNTSVpFICovCiAgICAgICAgNzUlICAgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDgxMGRlZykgfSAvKiAzICAgKiBBUkNTSVpFICovCiAgICAgICAgODcuNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDk0NWRlZykgfSAvKiAzLjUgKiBBUkNTSVpFICovCiAgICAgICAgdG8gICAgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEwODBkZWcpIH0gLyogNCAgICogQVJDU0laRSAqLwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGZpbGwtdW5maWxsLXJvdGF0ZSB7CiAgICAgICAgMTIuNSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpIH0gLyogMC41ICogQVJDU0laRSAqLwogICAgICAgIDI1JSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKSB9IC8qIDEgICAqIEFSQ1NJWkUgKi8KICAgICAgICAzNy41JSB7IHRyYW5zZm9ybTogcm90YXRlKDQwNWRlZykgfSAvKiAxLjUgKiBBUkNTSVpFICovCiAgICAgICAgNTAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg1NDBkZWcpIH0gLyogMiAgICogQVJDU0laRSAqLwogICAgICAgIDYyLjUlIHsgdHJhbnNmb3JtOiByb3RhdGUoNjc1ZGVnKSB9IC8qIDIuNSAqIEFSQ1NJWkUgKi8KICAgICAgICA3NSUgICB7IHRyYW5zZm9ybTogcm90YXRlKDgxMGRlZykgfSAvKiAzICAgKiBBUkNTSVpFICovCiAgICAgICAgODcuNSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg5NDVkZWcpIH0gLyogMy41ICogQVJDU0laRSAqLwogICAgICAgIHRvICAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMTA4MGRlZykgfSAvKiA0ICAgKiBBUkNTSVpFICovCiAgICAgIH0KCiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBsYXllci0xLWZhZGUtaW4tb3V0IHsKICAgICAgICAwJSB7IG9wYWNpdHk6IDEgfQogICAgICAgIDI1JSB7IG9wYWNpdHk6IDEgfQogICAgICAgIDI2JSB7IG9wYWNpdHk6IDAgfQogICAgICAgIDg5JSB7IG9wYWNpdHk6IDAgfQogICAgICAgIDkwJSB7IG9wYWNpdHk6IDEgfQogICAgICAgIHRvIHsgb3BhY2l0eTogMSB9CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgbGF5ZXItMS1mYWRlLWluLW91dCB7CiAgICAgICAgMCUgeyBvcGFjaXR5OiAxIH0KICAgICAgICAyNSUgeyBvcGFjaXR5OiAxIH0KICAgICAgICAyNiUgeyBvcGFjaXR5OiAwIH0KICAgICAgICA4OSUgeyBvcGFjaXR5OiAwIH0KICAgICAgICA5MCUgeyBvcGFjaXR5OiAxIH0KICAgICAgICB0byB7IG9wYWNpdHk6IDEgfQogICAgICB9CgogICAgICBALXdlYmtpdC1rZXlmcmFtZXMgbGF5ZXItMi1mYWRlLWluLW91dCB7CiAgICAgICAgMCUgeyBvcGFjaXR5OiAwIH0KICAgICAgICAxNSUgeyBvcGFjaXR5OiAwIH0KICAgICAgICAyNSUgeyBvcGFjaXR5OiAxIH0KICAgICAgICA1MCUgeyBvcGFjaXR5OiAxIH0KICAgICAgICA1MSUgeyBvcGFjaXR5OiAwIH0KICAgICAgICB0byB7IG9wYWNpdHk6IDAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGxheWVyLTItZmFkZS1pbi1vdXQgewogICAgICAgIDAlIHsgb3BhY2l0eTogMCB9CiAgICAgICAgMTUlIHsgb3BhY2l0eTogMCB9CiAgICAgICAgMjUlIHsgb3BhY2l0eTogMSB9CiAgICAgICAgNTAlIHsgb3BhY2l0eTogMSB9CiAgICAgICAgNTElIHsgb3BhY2l0eTogMCB9CiAgICAgICAgdG8geyBvcGFjaXR5OiAwIH0KICAgICAgfQoKICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIGxheWVyLTMtZmFkZS1pbi1vdXQgewogICAgICAgIDAlIHsgb3BhY2l0eTogMCB9CiAgICAgICAgNDAlIHsgb3BhY2l0eTogMCB9CiAgICAgICAgNTAlIHsgb3BhY2l0eTogMSB9CiAgICAgICAgNzUlIHsgb3BhY2l0eTogMSB9CiAgICAgICAgNzYlIHsgb3BhY2l0eTogMCB9CiAgICAgICAgdG8geyBvcGFjaXR5OiAwIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBsYXllci0zLWZhZGUtaW4tb3V0IHsKICAgICAgICAwJSB7IG9wYWNpdHk6IDAgfQogICAgICAgIDQwJSB7IG9wYWNpdHk6IDAgfQogICAgICAgIDUwJSB7IG9wYWNpdHk6IDEgfQogICAgICAgIDc1JSB7IG9wYWNpdHk6IDEgfQogICAgICAgIDc2JSB7IG9wYWNpdHk6IDAgfQogICAgICAgIHRvIHsgb3BhY2l0eTogMCB9CiAgICAgIH0KCiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBsYXllci00LWZhZGUtaW4tb3V0IHsKICAgICAgICAwJSB7IG9wYWNpdHk6IDAgfQogICAgICAgIDY1JSB7IG9wYWNpdHk6IDAgfQogICAgICAgIDc1JSB7IG9wYWNpdHk6IDEgfQogICAgICAgIDkwJSB7IG9wYWNpdHk6IDEgfQogICAgICAgIHRvIHsgb3BhY2l0eTogMCB9CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgbGF5ZXItNC1mYWRlLWluLW91dCB7CiAgICAgICAgMCUgeyBvcGFjaXR5OiAwIH0KICAgICAgICA2NSUgeyBvcGFjaXR5OiAwIH0KICAgICAgICA3NSUgeyBvcGFjaXR5OiAxIH0KICAgICAgICA5MCUgeyBvcGFjaXR5OiAxIH0KICAgICAgICB0byB7IG9wYWNpdHk6IDAgfQogICAgICB9CgogICAgICAuY2lyY2xlLWNsaXBwZXIgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDUwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFBhdGNoIHRoZSBnYXAgdGhhdCBhcHBlYXIgYmV0d2VlbiB0aGUgdHdvIGFkamFjZW50IGRpdi5jaXJjbGUtY2xpcHBlciB3aGlsZSB0aGUKICAgICAgICogc3Bpbm5lciBpcyByb3RhdGluZyAoYXBwZWFycyBvbiBDaHJvbWUgNTAsIFNhZmFyaSA5LjEuMSwgYW5kIEVkZ2UpLgogICAgICAgKi8KICAgICAgLnNwaW5uZXItbGF5ZXI6OmFmdGVyIHsKICAgICAgICBsZWZ0OiA0NSU7CiAgICAgICAgd2lkdGg6IDEwJTsKICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsKICAgICAgfQoKICAgICAgLnNwaW5uZXItbGF5ZXI6OmFmdGVyLAogICAgICAuY2lyY2xlLWNsaXBwZXI6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1wYXBlci1zcGlubmVyLXN0cm9rZS13aWR0aCwgM3B4KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIC5jaXJjbGUtY2xpcHBlcjo6YWZ0ZXIgewogICAgICAgIGJvdHRvbTogMDsKICAgICAgICB3aWR0aDogMjAwJTsKICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOwogICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5jaXJjbGUtY2xpcHBlci5sZWZ0OjphZnRlciB7CiAgICAgICAgbGVmdDogMDsKICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMjlkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEyOWRlZyk7CiAgICAgIH0KCiAgICAgIC5jaXJjbGUtY2xpcHBlci5yaWdodDo6YWZ0ZXIgewogICAgICAgIGxlZnQ6IC0xMDAlOwogICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEyOWRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEyOWRlZyk7CiAgICAgIH0KCiAgICAgIC5hY3RpdmUgLmdhcC1wYXRjaDo6YWZ0ZXIsCiAgICAgIC5hY3RpdmUgLmNpcmNsZS1jbGlwcGVyOjphZnRlciB7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXNwaW5uZXItZXhwYW5kLWNvbnRyYWN0LWR1cmF0aW9uKTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOwogICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItc3Bpbm5lci1leHBhbmQtY29udHJhY3QtZHVyYXRpb24pOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKTsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgLmFjdGl2ZSAuY2lyY2xlLWNsaXBwZXIubGVmdDo6YWZ0ZXIgewogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxlZnQtc3BpbjsKICAgICAgICBhbmltYXRpb24tbmFtZTogbGVmdC1zcGluOwogICAgICB9CgogICAgICAuYWN0aXZlIC5jaXJjbGUtY2xpcHBlci5yaWdodDo6YWZ0ZXIgewogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJpZ2h0LXNwaW47CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHJpZ2h0LXNwaW47CiAgICAgIH0KCiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBsZWZ0LXNwaW4gewogICAgICAgIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpIH0KICAgICAgICA1MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC01ZGVnKSB9CiAgICAgICAgdG8geyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzMGRlZykgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGxlZnQtc3BpbiB7CiAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpIH0KICAgICAgICA1MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZykgfQogICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMTMwZGVnKSB9CiAgICAgIH0KCiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyByaWdodC1zcGluIHsKICAgICAgICAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzMGRlZykgfQogICAgICAgIDUwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZykgfQogICAgICAgIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTMwZGVnKSB9CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgcmlnaHQtc3BpbiB7CiAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTMwZGVnKSB9CiAgICAgICAgNTAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZykgfQogICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoLTEzMGRlZykgfQogICAgICB9CgogICAgICAjc3Bpbm5lckNvbnRhaW5lci5jb29sZG93biB7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGNvbnRhaW5lci1yb3RhdGUgdmFyKC0tcGFwZXItc3Bpbm5lci1jb250YWluZXItcm90YXRpb24tZHVyYXRpb24pIGxpbmVhciBpbmZpbml0ZSwgZmFkZS1vdXQgdmFyKC0tcGFwZXItc3Bpbm5lci1jb29sZG93bi1kdXJhdGlvbikgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpOwogICAgICAgIGFuaW1hdGlvbjogY29udGFpbmVyLXJvdGF0ZSB2YXIoLS1wYXBlci1zcGlubmVyLWNvbnRhaW5lci1yb3RhdGlvbi1kdXJhdGlvbikgbGluZWFyIGluZmluaXRlLCBmYWRlLW91dCB2YXIoLS1wYXBlci1zcGlubmVyLWNvb2xkb3duLWR1cmF0aW9uKSBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBmYWRlLW91dCB7CiAgICAgICAgMCUgeyBvcGFjaXR5OiAxIH0KICAgICAgICB0byB7IG9wYWNpdHk6IDAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGZhZGUtb3V0IHsKICAgICAgICAwJSB7IG9wYWNpdHk6IDEgfQogICAgICAgIHRvIHsgb3BhY2l0eTogMCB9CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJwYXBlci1zcGlubmVyLWxpdGUiPgogIDx0ZW1wbGF0ZSBzdHJpcC13aGl0ZXNwYWNlPgogICAgPHN0eWxlIGluY2x1ZGU9InBhcGVyLXNwaW5uZXItc3R5bGVzIj48L3N0eWxlPgoKICAgIDxkaXYgaWQ9InNwaW5uZXJDb250YWluZXIiIGNsYXNzLW5hbWU9IltbX19jb21wdXRlQ29udGFpbmVyQ2xhc3NlcyhhY3RpdmUsIF9fY29vbGluZ0Rvd24pXV0iIG9uLWFuaW1hdGlvbmVuZD0iX19yZXNldCIgb24td2Via2l0LWFuaW1hdGlvbi1lbmQ9Il9fcmVzZXQiPgogICAgICA8ZGl2IGNsYXNzPSJzcGlubmVyLWxheWVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUtY2xpcHBlciBsZWZ0Ij48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUtY2xpcHBlciByaWdodCI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0icGxvdHRhYmxlLXN0eWxlIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+Ci5wbG90dGFibGUtY29sb3JzLTAgewogIGJhY2tncm91bmQtY29sb3I6ICM1Mjc5Yzc7IC8qIElORElHTyAqLwp9CgoucGxvdHRhYmxlLWNvbG9ycy0xIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmQzNzNlOyAvKiBDT1JBTF9SRUQgKi8KfQoKLnBsb3R0YWJsZS1jb2xvcnMtMiB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzYzYzI2MTsgLyogRkVSTiAqLwp9CgoucGxvdHRhYmxlLWNvbG9ycy0zIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFkNDE5OyAvKiBCUklHSFRfU1VOICovCn0KCi5wbG90dGFibGUtY29sb3JzLTQgewogIGJhY2tncm91bmQtY29sb3I6ICMyYzJiNmY7IC8qIEpBQ0FSVEEgKi8KfQoKLnBsb3R0YWJsZS1jb2xvcnMtNSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNzkzOTsgLyogQlVSTklOR19PUkFOR0UgKi8KfQoKLnBsb3R0YWJsZS1jb2xvcnMtNiB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2RiMmU2NTsgLyogQ0VSSVNFX1JFRCAqLwp9CgoucGxvdHRhYmxlLWNvbG9ycy03IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTljZTUwOyAvKiBDT05JRkVSICovCn0KCi5wbG90dGFibGUtY29sb3JzLTggewogIGJhY2tncm91bmQtY29sb3I6ICM5NjI1NjU7IC8qIFJPWUFMX0hFQVRIICovCn0KCi5wbG90dGFibGUtY29sb3JzLTkgewogIGJhY2tncm91bmQtY29sb3I6ICMwNmNjY2M7IC8qIFJPQklOU19FR0dfQkxVRSAqLwp9CgovKioKICogVXNlci1zdXBwbGllZCByZW5kZXJUbyBlbGVtZW50LgogKi8KLnBsb3R0YWJsZSB7CiAgZGlzcGxheTogYmxvY2s7IC8qIG11c3QgYmUgYmxvY2sgZWxlbWVudHMgZm9yIHdpZHRoL2hlaWdodCBjYWxjdWxhdGlvbnMgdG8gd29yayBpbiBGaXJlZm94LiAqLwogIHBvaW50ZXItZXZlbnRzOiB2aXNpYmxlRmlsbDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLyoqCiAgICogUHJlIDMuMCwgdXNlcnMgY291bGQgc2V0IHRoZSBkaW1lbnNpb24gb2YgdGhlIHJvb3QgZWxlbWVudCBpbiB0d28gd2F5czogZWl0aGVyIHVzaW5nIENTUwogICAqIChpbmxpbmUgb3IgdGhyb3VnaCBhIHN0eWxlc2hlZXQpLCBvciB1c2luZyB0aGUgU1ZHIHdpZHRoL2hlaWdodCBhdHRyaWJ1dGVzLiBCeSBkZWZhdWx0LCB3ZQogICAqIHNldCB0aGUgU1ZHIHdpZHRoL2hlaWdodCBhdHRyaWJ1dGVzIHRvIDEwMCUuCiAgICoKICAgKiBQb3N0IDMuMCB0aGUgcm9vdCBlbGVtZW50IGlzIGFsd2F5cyBhIG5vcm1hbCBkaXYgYW5kIHRoZSBvbmx5IHdheSB0byBzZXQgdGhlIGRpbWVuc2lvbnMgaXMKICAgKiB0byB1c2UgQ1NTLiBUbyByZXBsaWNhdGUgdGhlICIxMDAlLWJ5LWRlZmF1bHQiIGJlaGF2aW9yLCB3ZSBhcHBseSB3aWR0aC9oZWlnaHQgMTAwJS4KICAgKi8KICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7Cn0KCi8qKgogKiBUaGUgX2VsZW1lbnQgdGhhdCByb290cyBlYWNoIENvbXBvbmVudCdzIERPTS4KICovCi5wbG90dGFibGUgLmNvbXBvbmVudCB7CiAgLyogQWxsb3cgY29tcG9uZW50cyB0byBiZSBwb3NpdGlvbmVkIHdpdGggZXhwbGljaXQgbGVmdC90b3Avd2lkdGgvaGVpZ2h0IHN0eWxlcyAqLwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoKLnBsb3R0YWJsZSAuYmFja2dyb3VuZC1jb250YWluZXIsCi5wbG90dGFibGUgLmNvbnRlbnQsCi5wbG90dGFibGUgLmZvcmVncm91bmQtY29udGFpbmVyIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwp9CgovKioKICogRG9uJ3QgYWxsb3cgc3ZnIGVsZW1lbnRzIGFib3ZlIHRoZSBjb250ZW50IHRvIHN0ZWFsIGV2ZW50cwogKi8KLnBsb3R0YWJsZSAuZm9yZWdyb3VuZC1jb250YWluZXIgewogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgoucGxvdHRhYmxlIC5jb21wb25lbnQtb3ZlcmZsb3ctaGlkZGVuIHsKICBvdmVyZmxvdzogaGlkZGVuOwp9CgoucGxvdHRhYmxlIC5jb21wb25lbnQtb3ZlcmZsb3ctdmlzaWJsZSB7CiAgb3ZlcmZsb3c6IHZpc2libGU7Cn0KCi5wbG90dGFibGUgLnBsb3QtY2FudmFzLWNvbnRhaW5lciB7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5wbG90dGFibGUgLnBsb3QtY2FudmFzIHsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgLyoqCiAgICogUGxheSB3ZWxsIHdpdGggZGVmZXJyZWQgcmVuZGVyaW5nLgogICAqLwogIHRyYW5zZm9ybS1vcmlnaW46IDBweCAwcHggMHB4Owp9CgoucGxvdHRhYmxlIHRleHQgewogIHRleHQtcmVuZGVyaW5nOiBnZW9tZXRyaWNQcmVjaXNpb247Cn0KCi5wbG90dGFibGUgLmxhYmVsIHRleHQgewogIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmOwogIGZpbGw6ICMzMjMxM0Y7Cn0KCi5wbG90dGFibGUgLmJhci1sYWJlbC10ZXh0LWFyZWEgdGV4dCB7CiAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7CiAgZm9udC1zaXplOiAxMnB4Owp9CgoucGxvdHRhYmxlIC5sYWJlbC1hcmVhIHRleHQgewogIGZpbGw6ICMzMjMxM0Y7CiAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7CiAgZm9udC1zaXplOiAxNHB4Owp9CgoucGxvdHRhYmxlIC5saWdodC1sYWJlbCB0ZXh0IHsKICBmaWxsOiB3aGl0ZTsKfQoKLnBsb3R0YWJsZSAuZGFyay1sYWJlbCB0ZXh0IHsKICBmaWxsOiAjMzIzMTNGOwp9CgoucGxvdHRhYmxlIC5vZmYtYmFyLWxhYmVsIHRleHQgewogIGZpbGw6ICMzMjMxM0Y7Cn0KCi5wbG90dGFibGUgLnN0YWNrZWQtYmFyLWxhYmVsIHRleHQgewogIGZpbGw6ICMzMjMxM0Y7CiAgZm9udC1zdHlsZTogbm9ybWFsOwp9CgoucGxvdHRhYmxlIC5zdGFja2VkLWJhci1wbG90IC5vZmYtYmFyLWxhYmVsIHsKICAvKiBIQUNLSEFDSyAjMjc5NTogY29ycmVjdCBvZmYtYmFyIGxhYmVsIGxvZ2ljIHRvIGJlIGltcGxlbWVudGVkIG9uIFN0YWNrZWRCYXIgKi8KICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsKfQoKLnBsb3R0YWJsZSAuYXhpcy1sYWJlbCB0ZXh0IHsKICBmb250LXNpemU6IDEwcHg7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICBsaW5lLWhlaWdodDogbm9ybWFsOwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5wbG90dGFibGUgLnRpdGxlLWxhYmVsIHRleHQgewogIGZvbnQtc2l6ZTogMjBweDsKICBmb250LXdlaWdodDogYm9sZDsKfQoKLnBsb3R0YWJsZSAuYXhpcyBsaW5lLmJhc2VsaW5lIHsKICBzdHJva2U6ICNDQ0M7CiAgc3Ryb2tlLXdpZHRoOiAxcHg7Cn0KCi5wbG90dGFibGUgLmF4aXMgbGluZS50aWNrLW1hcmsgewogIHN0cm9rZTogI0NDQzsKICBzdHJva2Utd2lkdGg6IDFweDsKfQoKLnBsb3R0YWJsZSAuYXhpcyB0ZXh0IHsKICBmaWxsOiAjMzIzMTNGOwogIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTJweDsKICBmb250LXdlaWdodDogMjAwOwogIGxpbmUtaGVpZ2h0OiBub3JtYWw7Cn0KCi5wbG90dGFibGUgLmF4aXMgLmFubm90YXRpb24tY2lyY2xlIHsKICBmaWxsOiB3aGl0ZTsKICBzdHJva2Utd2lkdGg6IDFweDsKICBzdHJva2U6ICNDQ0M7Cn0KCi5wbG90dGFibGUgLmF4aXMgLmFubm90YXRpb24tbGluZSB7CiAgc3Ryb2tlOiAjQ0NDOwogIHN0cm9rZS13aWR0aDogMXB4Owp9CgoucGxvdHRhYmxlIC5heGlzIC5hbm5vdGF0aW9uLXJlY3QgewogIHN0cm9rZTogI0NDQzsKICBzdHJva2Utd2lkdGg6IDFweDsKICBmaWxsOiB3aGl0ZTsKfQoKLnBsb3R0YWJsZSAuYmFyLXBsb3QgLmJhc2VsaW5lIHsKICBzdHJva2U6ICM5OTk7Cn0KCi5wbG90dGFibGUgLmdyaWRsaW5lcyBsaW5lIHsKICBzdHJva2U6ICMzQzNDM0M7IC8qIGhhY2toYWNrOiBncmlkbGluZXMgc2hvdWxkIGJlIHNvbGlkOyBzZWUgIzgyMCAqLwogIG9wYWNpdHk6IDAuMjU7CiAgc3Ryb2tlLXdpZHRoOiAxcHg7Cn0KCi5wbG90dGFibGUgLnNlbGVjdGlvbi1ib3gtbGF5ZXIgLnNlbGVjdGlvbi1hcmVhIHsKICBmaWxsOiBibGFjazsKICBmaWxsLW9wYWNpdHk6IDAuMDM7CiAgc3Ryb2tlOiAjQ0NDOwp9Ci8qIERyYWdCb3hMYXllciAqLwoucGxvdHRhYmxlIC5kcmFnLWJveC1sYXllci54LXJlc2l6YWJsZSAuZHJhZy1lZGdlLWxyIHsKICBjdXJzb3I6IGV3LXJlc2l6ZTsKfQoucGxvdHRhYmxlIC5kcmFnLWJveC1sYXllci55LXJlc2l6YWJsZSAuZHJhZy1lZGdlLXRiIHsKICBjdXJzb3I6IG5zLXJlc2l6ZTsKfQoKLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIueC1yZXNpemFibGUueS1yZXNpemFibGUgLmRyYWctY29ybmVyLXRsIHsKICBjdXJzb3I6IG53c2UtcmVzaXplOwp9Ci5wbG90dGFibGUgLmRyYWctYm94LWxheWVyLngtcmVzaXphYmxlLnktcmVzaXphYmxlIC5kcmFnLWNvcm5lci10ciB7CiAgY3Vyc29yOiBuZXN3LXJlc2l6ZTsKfQoucGxvdHRhYmxlIC5kcmFnLWJveC1sYXllci54LXJlc2l6YWJsZS55LXJlc2l6YWJsZSAuZHJhZy1jb3JuZXItYmwgewogIGN1cnNvcjogbmVzdy1yZXNpemU7Cn0KLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIueC1yZXNpemFibGUueS1yZXNpemFibGUgLmRyYWctY29ybmVyLWJyIHsKICBjdXJzb3I6IG53c2UtcmVzaXplOwp9CgoucGxvdHRhYmxlIC5kcmFnLWJveC1sYXllci5tb3ZhYmxlIC5zZWxlY3Rpb24tYXJlYSB7CiAgY3Vyc29yOiBtb3ZlOyAvKiBJRSBmYWxsYmFjayAqLwogIGN1cnNvcjogLW1vei1ncmFiOwogIGN1cnNvcjogLXdlYmtpdC1ncmFiOwogIGN1cnNvcjogZ3JhYjsKfQoKLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIubW92YWJsZSAuc2VsZWN0aW9uLWFyZWE6YWN0aXZlIHsKICBjdXJzb3I6IC1tb3otZ3JhYmJpbmc7CiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nOwogIGN1cnNvcjogZ3JhYmJpbmc7Cn0KLyogL0RyYWdCb3hMYXllciAqLwoKLnBsb3R0YWJsZSAuZ3VpZGUtbGluZS1sYXllciBsaW5lLmd1aWRlLWxpbmUgewogIHN0cm9rZTogI0NDQzsKICBzdHJva2Utd2lkdGg6IDFweDsKfQoKLnBsb3R0YWJsZSAuZHJhZy1saW5lLWxheWVyLmVuYWJsZWQudmVydGljYWwgbGluZS5kcmFnLWVkZ2UgewogIGN1cnNvcjogZXctcmVzaXplOwp9CgoucGxvdHRhYmxlIC5kcmFnLWxpbmUtbGF5ZXIuZW5hYmxlZC5ob3Jpem9udGFsIGxpbmUuZHJhZy1lZGdlIHsKICBjdXJzb3I6IG5zLXJlc2l6ZTsKfQoKLnBsb3R0YWJsZSAubGVnZW5kIHRleHQgewogIGZpbGw6ICMzMjMxM0Y7CiAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7CiAgZm9udC1zaXplOiAxMnB4OwogIGZvbnQtd2VpZ2h0OiBib2xkOwogIGxpbmUtaGVpZ2h0OiBub3JtYWw7Cn0KCi5wbG90dGFibGUgLmludGVycG9sYXRlZC1jb2xvci1sZWdlbmQgcmVjdC5zd2F0Y2gtYm91bmRpbmctYm94IHsKICBmaWxsOiBub25lOwogIHN0cm9rZTogI0NDQzsKICBzdHJva2Utd2lkdGg6IDFweDsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLnBsb3R0YWJsZSAud2F0ZXJmYWxsLXBsb3QgbGluZS5jb25uZWN0b3IgewogIHN0cm9rZTogI0NDQzsKICBzdHJva2Utd2lkdGg6IDFweDsKfQoKLnBsb3R0YWJsZSAucGllLXBsb3QgLmFyYy5vdXRsaW5lIHsKICBzdHJva2UtbGluZWpvaW46IHJvdW5kOwp9Cjwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2ei1jaGFydC10b29sdGlwIj4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2ei1wYW4tem9vbS1zdHlsZSI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAuaGVscCB7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBhbmltYXRpb24tZGVsYXk6IDFzOwogICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGUtb3V0OwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzAsIDMwLCAzMCwgMC42KTsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgdG9wOiAwOwogICAgICB9CgogICAgICAuaGVscCA+IHNwYW4gewogICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgZmFkZS1vdXQgewogICAgICAgIDAlIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgfQoKICAgICAgICAxMDAlIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgfQogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idnotbGluZS1jaGFydDIiPgogIDx0ZW1wbGF0ZT4KICAgIDxkaXYgaWQ9ImNoYXJ0ZGl2Ij48L2Rpdj4KICAgIDx2ei1jaGFydC10b29sdGlwIGlkPSJ0b29sdGlwIiBwb3NpdGlvbj0iW1t0b29sdGlwUG9zaXRpb25dXSIgY29udGVudC1jb21wb25lbnQtbmFtZT0idnotbGluZS1jaGFydC10b29sdGlwIj48L3Z6LWNoYXJ0LXRvb2x0aXA+CiAgICA8c3R5bGUgaW5jbHVkZT0icGxvdHRhYmxlLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlIGluY2x1ZGU9InZ6LXBhbi16b29tLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQogICAgICBkaXYgewogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgIH0KCiAgICAgICNjaGFydGRpdiAubWFpbiB7CiAgICAgICAgY29udGFpbjogc3RyaWN0OwogICAgICAgIGN1cnNvcjogY3Jvc3NoYWlyOwogICAgICB9CgogICAgICA6aG9zdCgucGFua2V5KSAjY2hhcnRkaXYgOm5vdCguZHJhZy16b29taW5nKSAubWFpbiB7CiAgICAgICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7CiAgICAgICAgY3Vyc29yOiBncmFiOwogICAgICB9CgogICAgICA6aG9zdCgubW91c2Vkb3duKSAjY2hhcnRkaXYgLnBhbm5pbmcgLm1haW4gewogICAgICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZzsKICAgICAgICBjdXJzb3I6IGdyYWJiaW5nOwogICAgICB9CgogICAgICAjY2hhcnRkaXYgewogICAgICAgIGNvbnRhaW46IHN0cmljdDsKICAgICAgfQoKICAgICAgI2NoYXJ0ZGl2IGxpbmUuZ3VpZGUtbGluZSB7CiAgICAgICAgc3Ryb2tlOiAjOTk5OwogICAgICAgIHN0cm9rZS13aWR0aDogMS41cHg7CiAgICAgIH0KICAgICAgI2NoYXJ0ZGl2OmhvdmVyIC5tYWluIHsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICB9CgogICAgICAuZ2hvc3QgewogICAgICAgIG9wYWNpdHk6IDAuMjsKICAgICAgICBzdHJva2Utd2lkdGg6IDFweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAogIAogIAogIAogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InZ6LWxpbmUtY2hhcnQtdG9vbHRpcCI+CiAgPHRlbXBsYXRlPgogICAgPGRpdiBjbGFzcz0iY29udGVudCI+CiAgICAgIDx0YWJsZT4KICAgICAgICA8dGhlYWQ+PC90aGVhZD4KICAgICAgICA8dGJvZHk+PC90Ym9keT4KICAgICAgPC90YWJsZT4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5jb250ZW50IHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIHRhYmxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtOwogICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICB9CgogICAgICB0aGVhZCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICB0Ym9keSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIHRkIHsKICAgICAgICBwYWRkaW5nOiAwIDVweDsKICAgICAgfQoKICAgICAgLnN3YXRjaCB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMThweDsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgfQoKICAgICAgLmNsb3Nlc3QgLnN3YXRjaCB7CiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4ICNmZmY7CiAgICAgIH0KCiAgICAgIHRoIHsKICAgICAgICBwYWRkaW5nOiAwIDVweDsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICB9CgogICAgICAuZGlzdGFudCB0ZDpub3QoLnN3YXRjaCkgewogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgfQoKICAgICAgLmdob3N0IHsKICAgICAgICBvcGFjaXR5OiAwLjI7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAxcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyIj4KICA8dGVtcGxhdGU+CiAgICA8ZGl2IGlkPSJjaGFydC1hbmQtc3Bpbm5lci1jb250YWluZXIiPgogICAgICA8dnotbGluZS1jaGFydDIgaWQ9ImNoYXJ0IiBkYXRhLWxvYWRpbmckPSJbW2RhdGFMb2FkaW5nXV0iIGNvbG9yLXNjYWxlPSJbW2NvbG9yU2NhbGVdXSIgZGVmYXVsdC14LXJhbmdlPSJbW2RlZmF1bHRYUmFuZ2VdXSIgZGVmYXVsdC15LXJhbmdlPSJbW2RlZmF1bHRZUmFuZ2VdXSIgZmlsbC1hcmVhPSJbW2ZpbGxBcmVhXV0iIGlnbm9yZS15LW91dGxpZXJzPSJbW2lnbm9yZVlPdXRsaWVyc11dIiBvbi1jaGFydC1hdHRhY2hlZD0iX29uQ2hhcnRBdHRhY2hlZCIgc21vb3RoaW5nLWVuYWJsZWQ9Iltbc21vb3RoaW5nRW5hYmxlZF1dIiBzbW9vdGhpbmctd2VpZ2h0PSJbW3Ntb290aGluZ1dlaWdodF1dIiBzeW1ib2wtZnVuY3Rpb249Iltbc3ltYm9sRnVuY3Rpb25dXSIgdG9vbHRpcC1jb2x1bW5zPSJbW3Rvb2x0aXBDb2x1bW5zXV0iIHRvb2x0aXAtcG9zaXRpb249IltbdG9vbHRpcFBvc2l0aW9uXV0iIHRvb2x0aXAtc29ydGluZy1tZXRob2Q9IltbdG9vbHRpcFNvcnRpbmdNZXRob2RdXSIgeC1jb21wb25lbnRzLWNyZWF0aW9uLW1ldGhvZD0iW1t4Q29tcG9uZW50c0NyZWF0aW9uTWV0aG9kXV0iIHgtdHlwZT0iW1t4VHlwZV1dIiB5LXZhbHVlLWFjY2Vzc29yPSJbW3lWYWx1ZUFjY2Vzc29yXV0iPjwvdnotbGluZS1jaGFydDI+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tkYXRhTG9hZGluZ11dIj4KICAgICAgICA8ZGl2IGlkPSJsb2FkaW5nLXNwaW5uZXItY29udGFpbmVyIj4KICAgICAgICAgIDxwYXBlci1zcGlubmVyLWxpdGUgYWN0aXZlPjwvcGFwZXItc3Bpbm5lci1saXRlPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICA6aG9zdChbX21heWJlLXJlbmRlcmVkLWluLWJhZC1zdGF0ZV0pIHZ6LWxpbmUtY2hhcnQgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgI2NoYXJ0LWFuZC1zcGlubmVyLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAjbG9hZGluZy1zcGlubmVyLWNvbnRhaW5lciB7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgfQoKICAgICAgdnotbGluZS1jaGFydDIgewogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgdnotbGluZS1jaGFydDJbZGF0YS1sb2FkaW5nXSB7CiAgICAgICAgb3BhY2l0eTogMC4zOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0icGFwZXItZGlhbG9nLXNjcm9sbGFibGUiPgoKICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXJlbGF0aXZlOwogICAgICB9CgogICAgICA6aG9zdCguaXMtc2Nyb2xsZWQ6bm90KDpmaXJzdC1jaGlsZCkpOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kaXZpZGVyLWNvbG9yKTsKICAgICAgfQoKICAgICAgOmhvc3QoLmNhbi1zY3JvbGw6bm90KC5zY3JvbGxlZC10by1ib3R0b20pOm5vdCg6bGFzdC1jaGlsZCkpOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRpdmlkZXItY29sb3IpOwogICAgICB9CgogICAgICAuc2Nyb2xsYWJsZSB7CiAgICAgICAgcGFkZGluZzogMCAyNHB4OwoKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtc2Nyb2xsOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWRpYWxvZy1zY3JvbGxhYmxlOwogICAgICB9CgogICAgICAuZml0IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0OwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgaWQ9InNjcm9sbGFibGUiIGNsYXNzPSJzY3JvbGxhYmxlIiBvbi1zY3JvbGw9InVwZGF0ZVNjcm9sbFN0YXRlIj4KICAgICAgPHNsb3Q+PC9zbG90PgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtbWFya2Rvd24tdmlldyI+CiAgPHRlbXBsYXRlPgogICAgPGRpdiBpZD0ibWFya2Rvd24iIGlubmVyLWgtdC1tLWw9IltbaHRtbF1dIj48L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgLyoKICAgICAgICogUmVkdWNlIHRvcG1vc3QgYW5kIGJvdHRvbW1vc3QgbWFyZ2lucyBmcm9tIDE2cHggdG8gMC4zZW0gKHJlbmRlcnMKICAgICAgICogYXQgYWJvdXQgNC44cHgpIHRvIGtlZXAgdGhlIGxheW91dCBjb21wYWN0LiBUaGlzIGltcHJvdmVzIHRoZQogICAgICAgKiBhcHBlYXJhbmNlIHdoZW4gdGhlcmUgaXMgb25seSBvbmUgbGluZSBvZiB0ZXh0OyBzdGFuZGFyZCBNYXJrZG93bgogICAgICAgKiByZW5kZXJlcnMgd2lsbCBzdGlsbCBpbmNsdWRlIGEgYDxwPmAgZWxlbWVudC4KICAgICAgICoKICAgICAgICogQnkgdGFyZ2V0aW5nIG9ubHkgdGhlIHRvcC1sZXZlbCwgZXh0cmVtYWwgZWxlbWVudHMsIHdlIHByZXNlcnZlIGFueQogICAgICAgKiBhY3R1YWwgcGFyYWdyYXBoIGJyZWFrcyBhbmQgb25seSBjaGFuZ2UgdGhlIHBhZGRpbmcgYWdhaW5zdCB0aGUKICAgICAgICogY29tcG9uZW50IGVkZ2VzLgogICAgICAgKi8KICAgICAgI21hcmtkb3duID4gcDpmaXJzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLXRvcDogMC4zZW07CiAgICAgIH0KICAgICAgI21hcmtkb3duID4gcDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjNlbTsKICAgICAgfQoKICAgICAgLyogUGxlYXNhbnQgc3R5bGVzIGZvciBNYXJrZG93biB0YWJsZXMuICovCiAgICAgICNtYXJrZG93biB0YWJsZSB7CiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgICAgfQogICAgICAjbWFya2Rvd24gdGFibGUgdGggewogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KICAgICAgI21hcmtkb3duIHRhYmxlIHRoLAogICAgICAjbWFya2Rvd24gdGFibGUgdGQgewogICAgICAgIHBhZGRpbmc6IDZweCAxM3B4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZmUyZTU7CiAgICAgIH0KICAgICAgI21hcmtkb3duIHRhYmxlIHRyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzZjYmQxOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtY2FyZC1oZWFkaW5nLXN0eWxlIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIGZpZ2NhcHRpb24gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAvKiogSG9yaXpvbnRhbCBsaW5lIG9mIGxhYmVscy4gKi8KICAgICAgLmhlYWRpbmctcm93IHsKICAgICAgICBtYXJnaW4tdG9wOiAtNHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KCiAgICAgIC8qKiBQaWVjZSBvZiB0ZXh0IGluIHRoZSBmaWd1cmUgY2FwdGlvbi4gKi8KICAgICAgLmhlYWRpbmctbGFiZWwgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgfQoKICAgICAgLyoqIE1ha2VzIGxhYmVsIHNob3cgb24gdGhlIHJpZ2h0LiAqLwogICAgICAuaGVhZGluZy1yaWdodCB7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtY2FyZC1oZWFkaW5nIj4KICA8dGVtcGxhdGU+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICA8ZmlnY2FwdGlvbiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1yb3ciPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19uYW1lTGFiZWxdXSI+CiAgICAgICAgICAgIDxkaXYgaXRlbXByb3A9Im5hbWUiIGNsYXNzPSJoZWFkaW5nLWxhYmVsIG5hbWUiPgogICAgICAgICAgICAgIFtbX25hbWVMYWJlbF1dCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tydW5dXSI+CiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgPHNwYW4gaXRlbXByb3A9InJ1biIgaWQ9ImhlYWRpbmctcnVuIiBjbGFzcz0iaGVhZGluZy1sYWJlbCBoZWFkaW5nLXJpZ2h0IHJ1biI+W1tydW5dXTwvc3Bhbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3RhZ0xhYmVsXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLWxhYmVsIj4KICAgICAgICAgICAgICB0YWc6IDxzcGFuIGl0ZW1wcm9wPSJ0YWciPltbX3RhZ0xhYmVsXV08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgIDwvZmlnY2FwdGlvbj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2Rlc2NyaXB0aW9uXV0iPgogICAgICAgIDxwYXBlci1pY29uLWJ1dHRvbiBpY29uPSJpbmZvIiBvbi10YXA9Il90b2dnbGVEZXNjcmlwdGlvbkRpYWxvZyIgdGl0bGU9IlNob3cgc3VtbWFyeSBkZXNjcmlwdGlvbiI+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHBhcGVyLWRpYWxvZyBpZD0iZGVzY3JpcHRpb25EaWFsb2ciIG5vLW92ZXJsYXAgaG9yaXpvbnRhbC1hbGlnbj0iYXV0byIgdmVydGljYWwtYWxpZ249ImF1dG8iPgogICAgICAgIDxwYXBlci1kaWFsb2ctc2Nyb2xsYWJsZT4KICAgICAgICAgIDx0Zi1tYXJrZG93bi12aWV3IGh0bWw9IltbZGVzY3JpcHRpb25dXSI+PC90Zi1tYXJrZG93bi12aWV3PgogICAgICAgIDwvcGFwZXItZGlhbG9nLXNjcm9sbGFibGU+CiAgICAgIDwvcGFwZXItZGlhbG9nPgogICAgPC9kaXY+CiAgICA8c3R5bGUgaW5jbHVkZT0idGYtY2FyZC1oZWFkaW5nLXN0eWxlIj4KICAgICAgLmNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQogICAgICAuY29udGVudCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQogICAgICAubmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CiAgICAgIC5ydW4gewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgcGFkZGluZzogMXB4IDRweCAycHg7CiAgICAgIH0KICAgICAgcGFwZXItaWNvbi1idXR0b24gewogICAgICAgIGZsZXgtZ3JvdzogMDsKICAgICAgfQogICAgICBwYXBlci1kaWFsb2ctc2Nyb2xsYWJsZSB7CiAgICAgICAgbWF4LXdpZHRoOiA2NDBweDsKICAgICAgfQogICAgICAjaGVhZGluZy1ydW4gewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRmLWNhcmQtaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG9yKTsKICAgICAgICBjb2xvcjogdmFyKC0tdGYtY2FyZC1oZWFkaW5nLWNvbG9yKTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWRvd25sb2FkZXIiPgogIDx0ZW1wbGF0ZT4KICAgIDxwYXBlci1kcm9wZG93bi1tZW51IG5vLWxhYmVsLWZsb2F0PSJ0cnVlIiBsYWJlbD0icnVuIHRvIGRvd25sb2FkIiBzZWxlY3RlZC1pdGVtLWxhYmVsPSJ7e19ydW59fSI+CiAgICAgIDxwYXBlci1saXN0Ym94IHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbcnVuc11dIj4KICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5bW2l0ZW1dXTwvcGFwZXItaXRlbT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3J1bl1dIj4KICAgICAgPGEgZG93bmxvYWQ9IltbX2Nzdk5hbWUodGFnLCBfcnVuKV1dIiBocmVmPSJbW19jc3ZVcmwodGFnLCBfcnVuLCB1cmxGbildXSI+Q1NWPC9hPjxhIGRvd25sb2FkPSJbW19qc29uTmFtZSh0YWcsIF9ydW4pXV0iIGhyZWY9IltbX2pzb25VcmwodGFnLCBfcnVuLCB1cmxGbildXSI+SlNPTjwvYT4KICAgIDwvdGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICB9CiAgICAgIHBhcGVyLWRyb3Bkb3duLW1lbnUgewogICAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbDogewogICAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIH0KICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dDogewogICAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIH0KICAgICAgfQogICAgICBhIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgbWFyZ2luOiAwIDAuMmVtOwogICAgICB9CiAgICAgIHBhcGVyLWlucHV0IHsKICAgICAgICBmb250LXNpemU6IDIycHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1zY2FsYXItY2FyZCI+CiAgPHRlbXBsYXRlPgogICAgPHRmLWNhcmQtaGVhZGluZyB0YWc9IltbdGFnXV0iIGRpc3BsYXktbmFtZT0iW1t0YWdNZXRhZGF0YS5kaXNwbGF5TmFtZV1dIiBkZXNjcmlwdGlvbj0iW1t0YWdNZXRhZGF0YS5kZXNjcmlwdGlvbl1dIj48L3RmLWNhcmQtaGVhZGluZz4KICAgIDxkaXYgaWQ9InRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXItY29udGFpbmVyIj4KICAgICAgPHRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIgYWN0aXZlPSJbW2FjdGl2ZV1dIiBjb2xvci1zY2FsZT0iW1tfZ2V0Q29sb3JTY2FsZShjb2xvclNjYWxlKV1dIiBkYXRhLXNlcmllcz0iW1tfZ2V0RGF0YVNlcmllcyhkYXRhVG9Mb2FkLiopXV0iIGRhdGEtdG8tbG9hZD0iW1tkYXRhVG9Mb2FkXV0iIGdldC1kYXRhLWxvYWQtbmFtZT0iW1tfZ2V0RGF0YUxvYWROYW1lXV0iIGdldC1kYXRhLWxvYWQtdXJsPSJbW2dldERhdGFMb2FkVXJsXV0iIHJlcXVlc3QtZGF0YT0iW1tyZXF1ZXN0RGF0YV1dIiBpZ25vcmUteS1vdXRsaWVycz0iW1tpZ25vcmVZT3V0bGllcnNdXSIgbG9hZC1kYXRhLWNhbGxiYWNrPSJbW19sb2FkRGF0YUNhbGxiYWNrXV0iIGxvYWQta2V5PSJbW3RhZ11dIiBsb2ctc2NhbGUtYWN0aXZlPSJbW19sb2dTY2FsZUFjdGl2ZV1dIiByZXF1ZXN0LW1hbmFnZXI9IltbcmVxdWVzdE1hbmFnZXJdXSIgc21vb3RoaW5nLWVuYWJsZWQ9Iltbc21vb3RoaW5nRW5hYmxlZF1dIiBzbW9vdGhpbmctd2VpZ2h0PSJbW3Ntb290aGluZ1dlaWdodF1dIiB0YWctbWV0YWRhdGE9IltbdGFnTWV0YWRhdGFdXSIgdG9vbHRpcC1jb2x1bW5zPSJbW190b29sdGlwQ29sdW1uc11dIiB0b29sdGlwLXBvc2l0aW9uPSJhdXRvIiB0b29sdGlwLXNvcnRpbmctbWV0aG9kPSJbW3Rvb2x0aXBTb3J0aW5nTWV0aG9kXV0iIHgtdHlwZT0iW1t4VHlwZV1dIj4KICAgICAgPC90Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyPgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJidXR0b25zIj4KICAgICAgPHBhcGVyLWljb24tYnV0dG9uIHNlbGVjdGVkJD0iW1tfZXhwYW5kZWRdXSIgaWNvbj0iZnVsbHNjcmVlbiIgb24tdGFwPSJfdG9nZ2xlRXhwYW5kZWQiPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbiBzZWxlY3RlZCQ9IltbX2xvZ1NjYWxlQWN0aXZlXV0iIGljb249ImxpbmUtd2VpZ2h0IiBvbi10YXA9Il90b2dnbGVMb2dTY2FsZSIgdGl0bGU9IlRvZ2dsZSB5LWF4aXMgbG9nIHNjYWxlIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0ic2V0dGluZ3Mtb3ZlcnNjYW4iIG9uLXRhcD0iX3Jlc2V0RG9tYWluIiB0aXRsZT0iRml0IGRvbWFpbiB0byBkYXRhIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Iltbc2hvd0Rvd25sb2FkTGlua3NdXSI+CiAgICAgICAgPHBhcGVyLW1lbnUtYnV0dG9uIG9uLXBhcGVyLWRyb3Bkb3duLW9wZW49Il91cGRhdGVEb3dubG9hZExpbmsiPgogICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGNsYXNzPSJkcm9wZG93bi10cmlnZ2VyIiBzbG90PSJkcm9wZG93bi10cmlnZ2VyIiBpY29uPSJmaWxlLWRvd25sb2FkIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgICAgPHBhcGVyLWxpc3Rib3ggY2xhc3M9ImRyb3Bkb3duLWNvbnRlbnQiIHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiPgogICAgICAgICAgICA8cGFwZXItaXRlbT4KICAgICAgICAgICAgICA8YSBpZD0ic3ZnTGluayIgZG93bmxvYWQ9IltbdGFnXV0uc3ZnIj4KICAgICAgICAgICAgICAgIERvd25sb2FkIEN1cnJlbnQgQ2hhcnQgYXMgU1ZHCiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3BhcGVyLWl0ZW0+CiAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgPC9wYXBlci1tZW51LWJ1dHRvbj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHNwYW4gc3R5bGU9ImZsZXgtZ3JvdzogMSI+PC9zcGFuPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Iltbc2hvd0Rvd25sb2FkTGlua3NdXSI+CiAgICAgICAgPGRpdiBjbGFzcz0iZG93bmxvYWQtbGlua3MiPgogICAgICAgICAgPHRmLWRvd25sb2FkZXIgcnVucz0iW1tfcnVuc0Zyb21EYXRhKGRhdGFUb0xvYWQpXV0iIHRhZz0iW1t0YWddXSIgdXJsLWZuPSJbW19kb3dubG9hZFVybEZuXV0iPjwvdGYtZG93bmxvYWRlcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgbWFyZ2luOiA1cHg7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDMzMHB4OwogICAgICB9CgogICAgICA6aG9zdChbX2V4cGFuZGVkXSkgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICA6aG9zdChbX2V4cGFuZGVkXSkgI3RmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXItY29udGFpbmVyIHsKICAgICAgICBoZWlnaHQ6IDQwMHB4OwogICAgICB9CgogICAgICAjdGYtbGluZS1jaGFydC1kYXRhLWxvYWRlci1jb250YWluZXIgewogICAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIHRmLWNhcmQtaGVhZGluZyB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgfQoKICAgICAgI2J1dHRvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b24gewogICAgICAgIGNvbG9yOiAjMjE5NmYzOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b25bc2VsZWN0ZWRdIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10Yi11aS1saWdodC1hY2NlbnQpOwogICAgICB9CgogICAgICAuZG93bmxvYWQtbGlua3MgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICB9CgogICAgICAuZG93bmxvYWQtbGlua3MgYSB7CiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBtYXJnaW46IDJweDsKICAgICAgfQoKICAgICAgLmRvd25sb2FkLWxpbmtzIHBhcGVyLWRyb3Bkb3duLW1lbnUgewogICAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbDogewogICAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIH0KICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dDogewogICAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIH0KICAgICAgfQoKICAgICAgcGFwZXItbWVudS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KICAgICAgcGFwZXItaXRlbSBhIHsKICAgICAgICBjb2xvcjogaW5oZXJpdDsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXByb2dyZXNzIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMjAwcHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIDpob3N0KFtoaWRkZW5dKSwgW2hpZGRlbl0gewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgI3Byb2dyZXNzQ29udGFpbmVyIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1wcm9ncmVzcy1jb250YWluZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAjcHJvZ3Jlc3NDb250YWluZXIsCiAgICAgIC8qIHRoZSBzdHJpcGUgZm9yIHRoZSBpbmRldGVybWluYXRlIGFuaW1hdGlvbiovCiAgICAgIC5pbmRldGVybWluYXRlOjphZnRlciB7CiAgICAgICAgaGVpZ2h0OiB2YXIoLS1wYXBlci1wcm9ncmVzcy1oZWlnaHQsIDRweCk7CiAgICAgIH0KCiAgICAgICNwcmltYXJ5UHJvZ3Jlc3MsCiAgICAgICNzZWNvbmRhcnlQcm9ncmVzcywKICAgICAgLmluZGV0ZXJtaW5hdGU6OmFmdGVyIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0OwogICAgICB9CgogICAgICAjcHJvZ3Jlc3NDb250YWluZXIsCiAgICAgIC5pbmRldGVybWluYXRlOjphZnRlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItcHJvZ3Jlc3MtY29udGFpbmVyLWNvbG9yLCB2YXIoLS1nb29nbGUtZ3JleS0zMDApKTsKICAgICAgfQoKICAgICAgOmhvc3QoLnRyYW5zaXRpbmcpICNwcmltYXJ5UHJvZ3Jlc3MsCiAgICAgIDpob3N0KC50cmFuc2l0aW5nKSAjc2Vjb25kYXJ5UHJvZ3Jlc3MgewogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07CiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwoKICAgICAgICAvKiBEdXJhdGlvbiAqLwogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItcHJvZ3Jlc3MtdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4wOHMpOwogICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXByb2dyZXNzLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMDhzKTsKCiAgICAgICAgLyogVGltaW5nIGZ1bmN0aW9uICovCiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tcGFwZXItcHJvZ3Jlc3MtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sIGVhc2UpOwogICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1wYXBlci1wcm9ncmVzcy10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgZWFzZSk7CgogICAgICAgIC8qIERlbGF5ICovCiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiB2YXIoLS1wYXBlci1wcm9ncmVzcy10cmFuc2l0aW9uLWRlbGF5LCAwcyk7CiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogdmFyKC0tcGFwZXItcHJvZ3Jlc3MtdHJhbnNpdGlvbi1kZWxheSwgMHMpOwogICAgICB9CgogICAgICAjcHJpbWFyeVByb2dyZXNzLAogICAgICAjc2Vjb25kYXJ5UHJvZ3Jlc3MgewogICAgICAgIEBhcHBseSAtLWxheW91dC1maXQ7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApOwogICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgICAgIH0KCiAgICAgICNwcmltYXJ5UHJvZ3Jlc3MgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLXByb2dyZXNzLWFjdGl2ZS1jb2xvciwgdmFyKC0tZ29vZ2xlLWdyZWVuLTUwMCkpOwogICAgICB9CgogICAgICAjc2Vjb25kYXJ5UHJvZ3Jlc3MgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLXByb2dyZXNzLXNlY29uZGFyeS1jb2xvciwgdmFyKC0tZ29vZ2xlLWdyZWVuLTEwMCkpOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAjcHJpbWFyeVByb2dyZXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci1wcm9ncmVzcy1kaXNhYmxlZC1hY3RpdmUtY29sb3IsIHZhcigtLWdvb2dsZS1ncmV5LTUwMCkpOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAjc2Vjb25kYXJ5UHJvZ3Jlc3MgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLXByb2dyZXNzLWRpc2FibGVkLXNlY29uZGFyeS1jb2xvciwgdmFyKC0tZ29vZ2xlLWdyZXktMzAwKSk7CiAgICAgIH0KCiAgICAgIDpob3N0KDpub3QoW2Rpc2FibGVkXSkpICNwcmltYXJ5UHJvZ3Jlc3MuaW5kZXRlcm1pbmF0ZSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBpbmRldGVybWluYXRlLWJhciB2YXIoLS1wYXBlci1wcm9ncmVzcy1pbmRldGVybWluYXRlLWN5Y2xlLWR1cmF0aW9uLCAycykgbGluZWFyIGluZmluaXRlOwogICAgICAgIGFuaW1hdGlvbjogaW5kZXRlcm1pbmF0ZS1iYXIgdmFyKC0tcGFwZXItcHJvZ3Jlc3MtaW5kZXRlcm1pbmF0ZS1jeWNsZS1kdXJhdGlvbiwgMnMpIGxpbmVhciBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgOmhvc3QoOm5vdChbZGlzYWJsZWRdKSkgI3ByaW1hcnlQcm9ncmVzcy5pbmRldGVybWluYXRlOjphZnRlciB7CiAgICAgICAgY29udGVudDogIiI7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7CgogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBpbmRldGVybWluYXRlLXNwbGl0dGVyIHZhcigtLXBhcGVyLXByb2dyZXNzLWluZGV0ZXJtaW5hdGUtY3ljbGUtZHVyYXRpb24sIDJzKSBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgYW5pbWF0aW9uOiBpbmRldGVybWluYXRlLXNwbGl0dGVyIHZhcigtLXBhcGVyLXByb2dyZXNzLWluZGV0ZXJtaW5hdGUtY3ljbGUtZHVyYXRpb24sIDJzKSBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBpbmRldGVybWluYXRlLWJhciB7CiAgICAgICAgMCUgewogICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKSB0cmFuc2xhdGVYKC0xMDAlKTsKICAgICAgICB9CiAgICAgICAgNTAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSkgdHJhbnNsYXRlWCgwJSk7CiAgICAgICAgfQogICAgICAgIDc1JSB7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpIHRyYW5zbGF0ZVgoMCUpOwogICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjI4LC42MiwuMzcsLjkxKTsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApIHRyYW5zbGF0ZVgoMCUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIGluZGV0ZXJtaW5hdGUtc3BsaXR0ZXIgewogICAgICAgIDAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLjc1KSB0cmFuc2xhdGVYKC0xMjUlKTsKICAgICAgICB9CiAgICAgICAgMzAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLjc1KSB0cmFuc2xhdGVYKC0xMjUlKTsKICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40MiwwLC42LC44KTsKICAgICAgICB9CiAgICAgICAgOTAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLjc1KSB0cmFuc2xhdGVYKDEyNSUpOwogICAgICAgIH0KICAgICAgICAxMDAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLjc1KSB0cmFuc2xhdGVYKDEyNSUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBpbmRldGVybWluYXRlLWJhciB7CiAgICAgICAgMCUgewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMTAwJSk7CiAgICAgICAgfQogICAgICAgIDUwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKSB0cmFuc2xhdGVYKDAlKTsKICAgICAgICB9CiAgICAgICAgNzUlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpIHRyYW5zbGF0ZVgoMCUpOwogICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yOCwuNjIsLjM3LC45MSk7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCkgdHJhbnNsYXRlWCgwJSk7CiAgICAgICAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGluZGV0ZXJtaW5hdGUtc3BsaXR0ZXIgewogICAgICAgIDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC43NSkgdHJhbnNsYXRlWCgtMTI1JSk7CiAgICAgICAgfQogICAgICAgIDMwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCguNzUpIHRyYW5zbGF0ZVgoLTEyNSUpOwogICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40MiwwLC42LC44KTsKICAgICAgICB9CiAgICAgICAgOTAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC43NSkgdHJhbnNsYXRlWCgxMjUlKTsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCguNzUpIHRyYW5zbGF0ZVgoMTI1JSk7CiAgICAgICAgfQogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgaWQ9InByb2dyZXNzQ29udGFpbmVyIj4KICAgICAgPGRpdiBpZD0ic2Vjb25kYXJ5UHJvZ3Jlc3MiIGhpZGRlbiQ9IltbX2hpZGVTZWNvbmRhcnlQcm9ncmVzcyhzZWNvbmRhcnlSYXRpbyldXSI+PC9kaXY+CiAgICAgIDxkaXYgaWQ9InByaW1hcnlQcm9ncmVzcyI+PC9kaXY+CiAgICA8L2Rpdj4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXNsaWRlciI+CiAgPHRlbXBsYXRlIHN0cmlwLXdoaXRlc3BhY2U+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQ7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWp1c3RpZmllZDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyOwogICAgICAgIHdpZHRoOiAyMDBweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CiAgICAgICAgLS1wYXBlci1wcm9ncmVzcy1hY3RpdmUtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1hY3RpdmUtY29sb3IsIHZhcigtLWdvb2dsZS1ibHVlLTcwMCkpOwogICAgICAgIC0tcGFwZXItcHJvZ3Jlc3Mtc2Vjb25kYXJ5LWNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXItc2Vjb25kYXJ5LWNvbG9yLCB2YXIoLS1nb29nbGUtYmx1ZS0zMDApKTsKICAgICAgICAtLXBhcGVyLXByb2dyZXNzLWRpc2FibGVkLWFjdGl2ZS1jb2xvcjogdmFyKC0tcGFwZXItc2xpZGVyLWRpc2FibGVkLWFjdGl2ZS1jb2xvciwgdmFyKC0tcGFwZXItZ3JleS00MDApKTsKICAgICAgICAtLXBhcGVyLXByb2dyZXNzLWRpc2FibGVkLXNlY29uZGFyeS1jb2xvcjogdmFyKC0tcGFwZXItc2xpZGVyLWRpc2FibGVkLXNlY29uZGFyeS1jb2xvciwgdmFyKC0tcGFwZXItZ3JleS00MDApKTsKICAgICAgICAtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodDogdmFyKC0tcGFwZXItc2xpZGVyLWhlaWdodCwgMnB4KTsKICAgICAgfQoKICAgICAgLyogZm9jdXMgc2hvd3MgdGhlIHJpcHBsZSAqLwogICAgICA6aG9zdCg6Zm9jdXMpIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICAvKioKICAgICAgICogTk9URShrZWFudWxlZSk6IFRob3VnaCA6aG9zdC1jb250ZXh0IGlzIG5vdCB1bml2ZXJzYWxseSBzdXBwb3J0ZWQsIHNvbWUgcGFnZXMKICAgICAgICogc3RpbGwgcmVseSBvbiBwYXBlci1zbGlkZXIgYmVpbmcgZmxpcHBlZCB3aGVuIGRpcj0icnRsIiBpcyBzZXQgb24gYm9keS4gRm9yIGZ1bGwKICAgICAgICogY29tcGF0YWJpbGl0eSwgZGlyPSJydGwiIG11c3QgYmUgZXhwbGljaXRseSBzZXQgb24gcGFwZXItc2xpZGVyLgogICAgICAgKi8KICAgICAgOmRpcihydGwpICNzbGlkZXJDb250YWluZXIgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLTEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE5PVEUoa2VhbnVsZWUpOiBUaGlzIGlzIHNlcGFyYXRlIGZyb20gdGhlIHJ1bGUgYWJvdmUgYmVjYXVzZSA6aG9zdC1jb250ZXh0IG1heQogICAgICAgKiBub3QgYmUgcmVjb2duaXplZC4KICAgICAgICovCiAgICAgIDpob3N0KFtkaXI9InJ0bCJdKSAjc2xpZGVyQ29udGFpbmVyIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKC0xKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBOT1RFKGtlYW51bGVlKTogTmVlZGVkIHRvIG92ZXJyaWRlIHRoZSA6aG9zdC1jb250ZXh0IHJ1bGUgKHdoZXJlIHN1cHBvcnRlZCkKICAgICAgICogdG8gc3VwcG9ydCBMVFIgc2xpZGVycyBpbiBSVEwgcGFnZXMuCiAgICAgICAqLwogICAgICA6aG9zdChbZGlyPSJsdHIiXSkgI3NsaWRlckNvbnRhaW5lciB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICAgICAgfQoKICAgICAgI3NsaWRlckNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogY2FsYygzMHB4ICsgdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1zbGlkZXItaGVpZ2h0KSk7CiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTVweCArIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodCkvMik7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDE1cHggKyB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXNsaWRlci1oZWlnaHQpLzIpOwogICAgICB9CgogICAgICAjc2xpZGVyQ29udGFpbmVyOmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiAwOwogICAgICB9CgogICAgICAjc2xpZGVyQ29udGFpbmVyLmVkaXRhYmxlIHsKICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgIH0KCiAgICAgIC5iYXItY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5yaW5nID4gLmJhci1jb250YWluZXIgewogICAgICAgIGxlZnQ6IGNhbGMoNXB4ICsgdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1zbGlkZXItaGVpZ2h0KS8yKTsKICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMThzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5yaW5nLmV4cGFuZC5kcmFnZ2luZyA+IC5iYXItY29udGFpbmVyIHsKICAgICAgICB0cmFuc2l0aW9uOiBub25lOwogICAgICB9CgogICAgICAucmluZy5leHBhbmQ6bm90KC5waW4pID4gLmJhci1jb250YWluZXIgewogICAgICAgIGxlZnQ6IGNhbGMoOHB4ICsgdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1zbGlkZXItaGVpZ2h0KS8yKTsKICAgICAgfQoKICAgICAgI3NsaWRlckJhciB7CiAgICAgICAgcGFkZGluZzogMTVweCAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1iYXItY29sb3IsIHRyYW5zcGFyZW50KTsKICAgICAgICAtLXBhcGVyLXByb2dyZXNzLWNvbnRhaW5lci1jb2xvcjogdmFyKC0tcGFwZXItc2xpZGVyLWNvbnRhaW5lci1jb2xvciwgdmFyKC0tcGFwZXItZ3JleS00MDApKTsKICAgICAgICAtLXBhcGVyLXByb2dyZXNzLWhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1zbGlkZXItaGVpZ2h0KTsKICAgICAgfQoKICAgICAgLnNsaWRlci1tYXJrZXJzIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiBjYWxjKDE0cHggKyB2YXIoLS1wYXBlci1zbGlkZXItaGVpZ2h0LDJweCkvMik7CiAgICAgICAgaGVpZ2h0OiB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXNsaWRlci1oZWlnaHQpOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IC0xcHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaG9yaXpvbnRhbDsKICAgICAgfQoKICAgICAgLnNsaWRlci1tYXJrZXIgewogICAgICAgIEBhcHBseSAtLWxheW91dC1mbGV4OwogICAgICB9CiAgICAgIC5zbGlkZXItbWFya2Vyczo6YWZ0ZXIsCiAgICAgIC5zbGlkZXItbWFya2VyOjphZnRlciB7CiAgICAgICAgY29udGVudDogIiI7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7CiAgICAgICAgd2lkdGg6IDJweDsKICAgICAgICBoZWlnaHQ6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1tYXJrZXJzLWNvbG9yLCAjMDAwKTsKICAgICAgfQoKICAgICAgLnNsaWRlci1rbm9iIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTE1cHggLSB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXNsaWRlci1oZWlnaHQpLzIpOwogICAgICAgIHdpZHRoOiBjYWxjKDMwcHggKyB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXNsaWRlci1oZWlnaHQpKTsKICAgICAgICBoZWlnaHQ6IGNhbGMoMzBweCArIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodCkpOwogICAgICB9CgogICAgICAudHJhbnNpdGluZyA+IC5zbGlkZXIta25vYiB7CiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjA4cyBlYXNlOwogICAgICB9CgogICAgICAuc2xpZGVyLWtub2I6Zm9jdXMgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5zbGlkZXIta25vYi5kcmFnZ2luZyB7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgLnNuYXBzID4gLnNsaWRlci1rbm9iLmRyYWdnaW5nIHsKICAgICAgICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjA4cyBlYXNlOwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA4cyBlYXNlOwogICAgICB9CgogICAgICAuc2xpZGVyLWtub2ItaW5uZXIgewogICAgICAgIG1hcmdpbjogMTBweDsKICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7CiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyMHB4KTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXIta25vYi1jb2xvciwgdmFyKC0tZ29vZ2xlLWJsdWUtNzAwKSk7CiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcGFwZXItc2xpZGVyLWtub2ItY29sb3IsIHZhcigtLWdvb2dsZS1ibHVlLTcwMCkpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKCiAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CgogICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXI7CiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXI7CiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xOHM7CiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7CiAgICAgIH0KCiAgICAgIC5leHBhbmQ6bm90KC5waW4pID4gLnNsaWRlci1rbm9iID4gLnNsaWRlci1rbm9iLWlubmVyIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7CiAgICAgIH0KCiAgICAgIC5yaW5nID4gLnNsaWRlci1rbm9iID4gLnNsaWRlci1rbm9iLWlubmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXIta25vYi1zdGFydC1jb2xvciwgdHJhbnNwYXJlbnQpOwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWJvcmRlci1jb2xvciwgdmFyKC0tcGFwZXItZ3JleS00MDApKTsKICAgICAgfQoKICAgICAgLnNsaWRlci1rbm9iLWlubmVyOjpiZWZvcmUgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1waW4tY29sb3IsIHZhcigtLWdvb2dsZS1ibHVlLTcwMCkpOwogICAgICB9CgogICAgICAucGluID4gLnNsaWRlci1rbm9iID4gLnNsaWRlci1rbm9iLWlubmVyOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICIiOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogNTAlOwogICAgICAgIG1hcmdpbi1sZWZ0OiAtMTNweDsKICAgICAgICB3aWR0aDogMjZweDsKICAgICAgICBoZWlnaHQ6IDI2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlIDUwJSA1MCUgMDsKCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDApIHRyYW5zbGF0ZSgwKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDApIHRyYW5zbGF0ZSgwKTsKICAgICAgfQoKICAgICAgLnNsaWRlci1rbm9iLWlubmVyOjpiZWZvcmUsCiAgICAgIC5zbGlkZXIta25vYi1pbm5lcjo6YWZ0ZXIgewogICAgICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC4xOHMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAuMThzIGVhc2U7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xOHMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAuMThzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5waW4ucmluZyA+IC5zbGlkZXIta25vYiA+IC5zbGlkZXIta25vYi1pbm5lcjo6YmVmb3JlIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXItcGluLXN0YXJ0LWNvbG9yLCB2YXIoLS1wYXBlci1ncmV5LTQwMCkpOwogICAgICB9CgogICAgICAucGluLmV4cGFuZCA+IC5zbGlkZXIta25vYiA+IC5zbGlkZXIta25vYi1pbm5lcjo6YmVmb3JlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGUoMSkgdHJhbnNsYXRlKDE3cHgsIC0xN3B4KTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDEpIHRyYW5zbGF0ZSgxN3B4LCAtMTdweCk7CiAgICAgIH0KCiAgICAgIC5waW4gPiAuc2xpZGVyLWtub2IgPiAuc2xpZGVyLWtub2ItaW5uZXI6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiBhdHRyKHZhbHVlKTsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICBtYXJnaW4tbGVmdDogLTE2cHg7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAyNnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItc2xpZGVyLWZvbnQtY29sb3IsICNmZmYpOwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZSgwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHRyYW5zbGF0ZSgwKTsKICAgICAgfQoKICAgICAgLnBpbi5leHBhbmQgPiAuc2xpZGVyLWtub2IgPiAuc2xpZGVyLWtub2ItaW5uZXI6OmFmdGVyIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlKDAsIC0xN3B4KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZSgwLCAtMTdweCk7CiAgICAgIH0KCiAgICAgIC8qIHBhcGVyLWlucHV0ICovCiAgICAgIC5zbGlkZXItaW5wdXQgewogICAgICAgIHdpZHRoOiA1MHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQ6IHsKICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgIEBhcHBseSAtLXBhcGVyLXNsaWRlci1pbnB1dC1jb250YWluZXItaW5wdXQ7CiAgICAgICAgfTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1zbGlkZXItaW5wdXQ7CiAgICAgIH0KCiAgICAgIC8qIGRpc2FibGVkIHN0YXRlICovCiAgICAgICNzbGlkZXJDb250YWluZXIuZGlzYWJsZWQgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuZGlzYWJsZWQgPiAuc2xpZGVyLWtub2IgPiAuc2xpZGVyLWtub2ItaW5uZXIgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1kaXNhYmxlZC1rbm9iLWNvbG9yLCB2YXIoLS1wYXBlci1ncmV5LTQwMCkpOwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXBhcGVyLXNsaWRlci1kaXNhYmxlZC1rbm9iLWNvbG9yLCB2YXIoLS1wYXBlci1ncmV5LTQwMCkpOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDAuNzUsIDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAwLjc1LCAxKTsKICAgICAgfQoKICAgICAgLmRpc2FibGVkLnJpbmcgPiAuc2xpZGVyLWtub2IgPiAuc2xpZGVyLWtub2ItaW5uZXIgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWNvbG9yLCB0cmFuc3BhcmVudCk7CiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcGFwZXItc2xpZGVyLWtub2Itc3RhcnQtYm9yZGVyLWNvbG9yLCB2YXIoLS1wYXBlci1ncmV5LTQwMCkpOwogICAgICB9CgogICAgICBwYXBlci1yaXBwbGUgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXIta25vYi1jb2xvciwgdmFyKC0tZ29vZ2xlLWJsdWUtNzAwKSk7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBpZD0ic2xpZGVyQ29udGFpbmVyIiBjbGFzcyQ9IltbX2dldENsYXNzTmFtZXMoZGlzYWJsZWQsIHBpbiwgc25hcHMsIGltbWVkaWF0ZVZhbHVlLCBtaW4sIGV4cGFuZCwgZHJhZ2dpbmcsIHRyYW5zaXRpbmcsIGVkaXRhYmxlKV1dIj4KICAgICAgPGRpdiBjbGFzcz0iYmFyLWNvbnRhaW5lciI+CiAgICAgICAgPHBhcGVyLXByb2dyZXNzIGRpc2FibGVkJD0iW1tkaXNhYmxlZF1dIiBpZD0ic2xpZGVyQmFyIiBhcmlhLWhpZGRlbj0idHJ1ZSIgbWluPSJbW21pbl1dIiBtYXg9IltbbWF4XV0iIHN0ZXA9Iltbc3RlcF1dIiB2YWx1ZT0iW1tpbW1lZGlhdGVWYWx1ZV1dIiBzZWNvbmRhcnktcHJvZ3Jlc3M9Iltbc2Vjb25kYXJ5UHJvZ3Jlc3NdXSIgb24tZG93bj0iX2JhcmRvd24iIG9uLXVwPSJfcmVzZXRLbm9iIiBvbi10cmFjaz0iX2JhcnRyYWNrIiBvbi10YXA9Il9iYXJjbGljayI+CiAgICAgICAgPC9wYXBlci1wcm9ncmVzcz4KICAgICAgPC9kaXY+CgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Iltbc25hcHNdXSI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2xpZGVyLW1hcmtlcnMiPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1ttYXJrZXJzXV0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbGlkZXItbWFya2VyIj48L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CgogICAgICA8ZGl2IGlkPSJzbGlkZXJLbm9iIiBjbGFzcz0ic2xpZGVyLWtub2IiIG9uLWRvd249Il9rbm9iZG93biIgb24tdXA9Il9yZXNldEtub2IiIG9uLXRyYWNrPSJfb25UcmFjayIgb24tdHJhbnNpdGlvbmVuZD0iX2tub2JUcmFuc2l0aW9uRW5kIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNsaWRlci1rbm9iLWlubmVyIiB2YWx1ZSQ9IltbaW1tZWRpYXRlVmFsdWVdXSI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2VkaXRhYmxlXV0iPgogICAgICA8cGFwZXItaW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJudW1iZXIiIHN0ZXA9Iltbc3RlcF1dIiBtaW49IltbbWluXV0iIG1heD0iW1ttYXhdXSIgY2xhc3M9InNsaWRlci1pbnB1dCIgZGlzYWJsZWQkPSJbW2Rpc2FibGVkXV0iIHZhbHVlPSJbW2ltbWVkaWF0ZVZhbHVlXV0iIG9uLWNoYW5nZT0iX2NoYW5nZVZhbHVlIiBvbi1rZXlkb3duPSJfaW5wdXRLZXlEb3duIiBuby1sYWJlbC1mbG9hdD4KICAgICAgPC9wYXBlci1pbnB1dD4KICAgIDwvdGVtcGxhdGU+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtc21vb3RoaW5nLWlucHV0Ij4KICA8dGVtcGxhdGU+CiAgICA8aDMgY2xhc3M9InRpdGxlIj5TbW9vdGhpbmc8L2gzPgogICAgPGRpdiBjbGFzcz0ic21vb3RoaW5nLWJsb2NrIj4KICAgICAgPHBhcGVyLXNsaWRlciBpZD0ic2xpZGVyIiBpbW1lZGlhdGUtdmFsdWU9Int7X2ltbWVkaWF0ZVdlaWdodE51bWJlckZvclBhcGVyU2xpZGVyfX0iIG1heD0iW1ttYXhdXSIgbWluPSJbW21pbl1dIiBwaW4gc3RlcD0iW1tzdGVwXV0iIHR5cGU9Im51bWJlciIgdmFsdWU9Int7d2VpZ2h0fX0iPjwvcGFwZXItc2xpZGVyPgogICAgICA8cGFwZXItaW5wdXQgaWQ9ImlucHV0IiBsYWJlbD0id2VpZ2h0IiBuby1sYWJlbC1mbG9hdCB2YWx1ZT0ie3tfaW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0fX0iIHR5cGU9Im51bWJlciIgc3RlcD0iW1tzdGVwXV0iIG1pbj0iW1ttaW5dXSIgbWF4PSJbW21heF1dIj48L3BhcGVyLWlucHV0PgogICAgPC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIC50aXRsZSB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWdyZXktODAwKTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICB9CgogICAgICAuc21vb3RoaW5nLWJsb2NrIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB9CgogICAgICBwYXBlci1zbGlkZXIgewogICAgICAgIC0tcGFwZXItc2xpZGVyLWFjdGl2ZS1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXIta25vYi1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXIta25vYi1zdGFydC1ib3JkZXItY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWtub2Itc3RhcnQtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLW1hcmtlcnMtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLXBpbi1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXItcGluLXN0YXJ0LWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICBmbGV4LWdyb3c6IDI7CiAgICAgIH0KCiAgICAgIHBhcGVyLWlucHV0IHsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQ6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB9CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItbGFiZWw6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB9CiAgICAgICAgd2lkdGg6IDYwcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1zY2FsYXItZGFzaGJvYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8dGYtZGFzaGJvYXJkLWxheW91dD4KICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciIgc2xvdD0ic2lkZWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxpbmUtaXRlbSI+CiAgICAgICAgICAgIDxwYXBlci1jaGVja2JveCBpZD0ic2hvdy1kb3dubG9hZC1saW5rcyIgY2hlY2tlZD0ie3tfc2hvd0Rvd25sb2FkTGlua3N9fSI+U2hvdyBkYXRhIGRvd25sb2FkIGxpbmtzPC9wYXBlci1jaGVja2JveD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibGluZS1pdGVtIj4KICAgICAgICAgICAgPHBhcGVyLWNoZWNrYm94IGlkPSJpZ25vcmUteS1vdXRsaWVyIiBjaGVja2VkPSJ7e19pZ25vcmVZT3V0bGllcnN9fSI+SWdub3JlIG91dGxpZXJzIGluIGNoYXJ0IHNjYWxpbmc8L3BhcGVyLWNoZWNrYm94PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGlkPSJ0b29sdGlwLXNvcnRpbmciPgogICAgICAgICAgICA8ZGl2PlRvb2x0aXAgc29ydGluZyBtZXRob2Q6PC9kaXY+CiAgICAgICAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51IG5vLWxhYmVsLWZsb2F0IHNlbGVjdGVkLWl0ZW0tbGFiZWw9Int7X3Rvb2x0aXBTb3J0aW5nTWV0aG9kfX0iPgogICAgICAgICAgICAgIDxwYXBlci1saXN0Ym94IGNsYXNzPSJkcm9wZG93bi1jb250ZW50IiBzZWxlY3RlZD0iMCIgc2xvdD0iZHJvcGRvd24tY29udGVudCI+CiAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5kZWZhdWx0PC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0+ZGVzY2VuZGluZzwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPmFzY2VuZGluZzwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPm5lYXJlc3Q8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPHRmLXNtb290aGluZy1pbnB1dCB3ZWlnaHQ9Int7X3Ntb290aGluZ1dlaWdodH19IiBzdGVwPSIwLjAwMSIgbWluPSIwIiBtYXg9IjAuOTk5Ij48L3RmLXNtb290aGluZy1pbnB1dD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPHRmLW9wdGlvbi1zZWxlY3RvciBpZD0ieC10eXBlLXNlbGVjdG9yIiBuYW1lPSJIb3Jpem9udGFsIEF4aXMiIHNlbGVjdGVkLWlkPSJ7e194VHlwZX19Ij4KICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0ic3RlcCI+c3RlcDwvcGFwZXItYnV0dG9uPjxwYXBlci1idXR0b24gaWQ9InJlbGF0aXZlIj5yZWxhdGl2ZTwvcGFwZXItYnV0dG9uPjxwYXBlci1idXR0b24gaWQ9IndhbGxfdGltZSI+d2FsbDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgPC90Zi1vcHRpb24tc2VsZWN0b3I+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDx0Zi1ydW5zLXNlbGVjdG9yIHNlbGVjdGVkLXJ1bnM9Int7X3NlbGVjdGVkUnVuc319Ij4KICAgICAgICAgIDwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyBzY2FsYXIgZGF0YSB3YXMgZm91bmQuPC9oMz4KICAgICAgICAgICAgPHA+UHJvYmFibGUgY2F1c2VzOjwvcD4KICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgIDxsaT5Zb3UgaGF2ZW7igJl0IHdyaXR0ZW4gYW55IHNjYWxhciBkYXRhIHRvIHlvdXIgZXZlbnQgZmlsZXMuPC9saT4KICAgICAgICAgICAgICA8bGk+VGVuc29yQm9hcmQgY2Fu4oCZdCBmaW5kIHlvdXIgZXZlbnQgZmlsZXMuPC9saT4KICAgICAgICAgICAgPC91bD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdeKAmXJlIG5ldyB0byB1c2luZyBUZW5zb3JCb2FyZCwgYW5kIHdhbnQgdG8gZmluZCBvdXQgaG93IHRvCiAgICAgICAgICAgICAgYWRkIGRhdGEgYW5kIHNldCB1cCB5b3VyIGV2ZW50IGZpbGVzLCBjaGVjayBvdXQgdGhlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIj5SRUFETUU8L2E+CiAgICAgICAgICAgICAgYW5kIHBlcmhhcHMgdGhlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvZ2V0X3N0YXJ0ZWQvc3VtbWFyaWVzX2FuZF90ZW5zb3Jib2FyZCI+VGVuc29yQm9hcmQgdHV0b3JpYWw8L2E+LgogICAgICAgICAgICA8L3A+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3UgdGhpbmsgVGVuc29yQm9hcmQgaXMgY29uZmlndXJlZCBwcm9wZXJseSwgcGxlYXNlIHNlZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNteS10ZW5zb3Jib2FyZC1pc250LXNob3dpbmctYW55LWRhdGEtd2hhdHMtd3JvbmciPnRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXM8L2E+CiAgICAgICAgICAgICAgYW5kIGNvbnNpZGVyIGZpbGluZyBhbiBpc3N1ZSBvbiBHaXRIdWIuCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPHRmLXRhZy1maWx0ZXJlciB0YWctZmlsdGVyPSJ7e190YWdGaWx0ZXJ9fSI+PC90Zi10YWctZmlsdGVyZXI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jYXRlZ29yaWVzXV0iIGFzPSJjYXRlZ29yeSI+CiAgICAgICAgICAgIDx0Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldyBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIiBpbml0aWFsLW9wZW5lZD0iW1tfc2hvdWxkT3BlbihpbmRleCldXSIgZ2V0LWNhdGVnb3J5LWl0ZW0ta2V5PSJbW19nZXRDYXRlZ29yeUl0ZW1LZXldXSI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRmLXNjYWxhci1jYXJkIGFjdGl2ZT0iW1thY3RpdmVdXSIgZGF0YS10by1sb2FkPSJbW2l0ZW0uc2VyaWVzXV0iIGlnbm9yZS15LW91dGxpZXJzPSJbW19pZ25vcmVZT3V0bGllcnNdXSIgbXVsdGktZXhwZXJpbWVudHM9IltbX2dldE11bHRpRXhwZXJpbWVudHMoZGF0YVNlbGVjdGlvbildXSIgcmVxdWVzdC1tYW5hZ2VyPSJbW19yZXF1ZXN0TWFuYWdlcl1dIiBzaG93LWRvd25sb2FkLWxpbmtzPSJbW19zaG93RG93bmxvYWRMaW5rc11dIiBzbW9vdGhpbmctZW5hYmxlZD0iW1tfc21vb3RoaW5nRW5hYmxlZF1dIiBzbW9vdGhpbmctd2VpZ2h0PSJbW19zbW9vdGhpbmdXZWlnaHRdXSIgdGFnLW1ldGFkYXRhPSJbW190YWdNZXRhZGF0YShjYXRlZ29yeSwgX3J1blRvVGFnSW5mbywgaXRlbSldXSIgdGFnPSJbW2l0ZW0udGFnXV0iIHRvb2x0aXAtc29ydGluZy1tZXRob2Q9IltbX3Rvb2x0aXBTb3J0aW5nTWV0aG9kXV0iIHgtdHlwZT0iW1tfeFR5cGVdXSI+PC90Zi1zY2FsYXItY2FyZD4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvdGYtZGFzaGJvYXJkLWxheW91dD4KCiAgICA8c3R5bGUgaW5jbHVkZT0iZGFzaGJvYXJkLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICAjdG9vbHRpcC1zb3J0aW5nIHsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbi10b3A6IDE1cHg7CiAgICAgIH0KICAgICAgI3Rvb2x0aXAtc29ydGluZyBwYXBlci1kcm9wZG93bi1tZW51IHsKICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgd2lkdGg6IDEwNXB4OwogICAgICB9CiAgICAgIC5saW5lLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmctdG9wOiA1cHg7CiAgICAgIH0KICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgIH0KICAgICAgLmNlbnRlciB7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWN1c3RvbS1zY2FsYXItY2FyZC1zdHlsZSI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgbWFyZ2luOiA1cHggMTBweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgd2lkdGg6IDMzMHB4OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsKICAgICAgfQoKICAgICAgOmhvc3QoW19leHBhbmRlZF0pIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgOmhvc3QoW19leHBhbmRlZF0pICN0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyLWNvbnRhaW5lciB7CiAgICAgICAgaGVpZ2h0OiA0MDBweDsKICAgICAgfQoKICAgICAgaDEgewogICAgICAgIGZvbnQtc2l6ZTogMTlweDsKICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICB9CgogICAgICAjdGYtbGluZS1jaGFydC1kYXRhLWxvYWRlci1jb250YWluZXIgewogICAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNidXR0b25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgIH0KCiAgICAgIHBhcGVyLWljb24tYnV0dG9uIHsKICAgICAgICBjb2xvcjogIzIxOTZmMzsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlOwogICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgIH0KCiAgICAgIHBhcGVyLWljb24tYnV0dG9uW3NlbGVjdGVkXSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGItdWktbGlnaHQtYWNjZW50KTsKICAgICAgfQoKICAgICAgLmRvd25sb2FkLWxpbmtzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgfQoKICAgICAgLmRvd25sb2FkLWxpbmtzIGEgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luOiAycHg7CiAgICAgIH0KCiAgICAgIC5kb3dubG9hZC1saW5rcyBwYXBlci1kcm9wZG93bi1tZW51IHsKICAgICAgICB3aWR0aDogMTAwcHg7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItbGFiZWw6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICB9CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQ6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICB9CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1jdXN0b20tc2NhbGFyLW1hcmdpbi1jaGFydC1jYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8dGYtY2FyZC1oZWFkaW5nIGRpc3BsYXktbmFtZT0iW1tfdGl0bGVEaXNwbGF5U3RyaW5nXV0iPjwvdGYtY2FyZC1oZWFkaW5nPgogICAgPGRpdiBpZD0idGYtbGluZS1jaGFydC1kYXRhLWxvYWRlci1jb250YWluZXIiPgogICAgICA8dGYtbGluZS1jaGFydC1kYXRhLWxvYWRlciBpZD0ibG9hZGVyIiBhY3RpdmU9IltbYWN0aXZlXV0iIGNvbG9yLXNjYWxlPSJbW19jb2xvclNjYWxlXV0iIGRhdGEtc2VyaWVzPSJbW19zZXJpZXNOYW1lc11dIiBnZXQtZGF0YS1sb2FkLXVybD0iW1tfZGF0YVVybF1dIiBmaWxsLWFyZWE9IltbX2ZpbGxBcmVhXV0iIGlnbm9yZS15LW91dGxpZXJzPSJbW2lnbm9yZVlPdXRsaWVyc11dIiBsb2FkLWtleT0iW1tfdGFnRmlsdGVyXV0iIGRhdGEtdG8tbG9hZD0iW1tydW5zXV0iIGxvZy1zY2FsZS1hY3RpdmU9IltbX2xvZ1NjYWxlQWN0aXZlXV0iIGxvYWQtZGF0YS1jYWxsYmFjaz0iW1tfY3JlYXRlUHJvY2Vzc0RhdGFGdW5jdGlvbihtYXJnaW5DaGFydFNlcmllcyldXSIgcmVxdWVzdC1tYW5hZ2VyPSJbW3JlcXVlc3RNYW5hZ2VyXV0iIHN5bWJvbC1mdW5jdGlvbj0iW1tfY3JlYXRlU3ltYm9sRnVuY3Rpb24oKV1dIiB0b29sdGlwLWNvbHVtbnM9IltbX3Rvb2x0aXBDb2x1bW5zXV0iIHRvb2x0aXAtc29ydGluZy1tZXRob2Q9IltbdG9vbHRpcFNvcnRpbmdNZXRob2RdXSIgeC10eXBlPSJbW3hUeXBlXV0iPgogICAgICA8L3RmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXI+CiAgICA8L2Rpdj4KICAgIDxkaXYgaWQ9ImJ1dHRvbnMiPgogICAgICA8cGFwZXItaWNvbi1idXR0b24gc2VsZWN0ZWQkPSJbW19leHBhbmRlZF1dIiBpY29uPSJmdWxsc2NyZWVuIiBvbi10YXA9Il90b2dnbGVFeHBhbmRlZCI+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgPHBhcGVyLWljb24tYnV0dG9uIHNlbGVjdGVkJD0iW1tfbG9nU2NhbGVBY3RpdmVdXSIgaWNvbj0ibGluZS13ZWlnaHQiIG9uLXRhcD0iX3RvZ2dsZUxvZ1NjYWxlIiB0aXRsZT0iVG9nZ2xlIHktYXhpcyBsb2cgc2NhbGUiPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbiBpY29uPSJzZXR0aW5ncy1vdmVyc2NhbiIgb24tdGFwPSJfcmVzZXREb21haW4iIHRpdGxlPSJGaXQgZG9tYWluIHRvIGRhdGEiPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgIDxzcGFuIHN0eWxlPSJmbGV4LWdyb3c6IDEiPjwvc3Bhbj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW3Nob3dEb3dubG9hZExpbmtzXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImRvd25sb2FkLWxpbmtzIj4KICAgICAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51IG5vLWxhYmVsLWZsb2F0PSJ0cnVlIiBsYWJlbD0ic2VyaWVzIHRvIGRvd25sb2FkIiBzZWxlY3RlZC1pdGVtLWxhYmVsPSJ7e19kYXRhU2VyaWVzTmFtZVRvRG93bmxvYWR9fSI+CiAgICAgICAgICAgIDxwYXBlci1saXN0Ym94IGNsYXNzPSJkcm9wZG93bi1jb250ZW50IiBzbG90PSJkcm9wZG93bi1jb250ZW50Ij4KICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19zZXJpZXNOYW1lc11dIiBhcz0iZGF0YVNlcmllc05hbWUiPgogICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0gbm8tbGFiZWwtZmxvYXQ9InRydWUiPltbZGF0YVNlcmllc05hbWVdXTwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgICAgICA8YSBkb3dubG9hZD0iW1tfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkXV0uY3N2IiBocmVmPSJbW19jc3ZVcmwoX25hbWVUb0RhdGFTZXJpZXMsIF9kYXRhU2VyaWVzTmFtZVRvRG93bmxvYWQpXV0iPkNTVjwvYT4KICAgICAgICAgIDxhIGRvd25sb2FkPSJbW19kYXRhU2VyaWVzTmFtZVRvRG93bmxvYWRdXS5qc29uIiBocmVmPSJbW19qc29uVXJsKF9uYW1lVG9EYXRhU2VyaWVzLCBfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkKV1dIj5KU09OPC9hPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CgogICAgCiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX21pc3NpbmdUYWdzLmxlbmd0aF1dIj4KICAgICAgPGRpdiBjbGFzcz0iY29sbGFwc2libGUtbGlzdC10aXRsZSI+CiAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249IltbX2dldFRvZ2dsZUNvbGxhcHNpYmxlSWNvbihfbWlzc2luZ1RhZ3NDb2xsYXBzaWJsZU9wZW5lZCldXSIgb24tY2xpY2s9Il90b2dnbGVNaXNzaW5nVGFnc0NvbGxhcHNpYmxlT3BlbiIgY2xhc3M9InRvZ2dsZS1jb2xsYXBzaWJsZS1idXR0b24iPgogICAgICAgIDwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNvbGxhcHNpYmxlLXRpdGxlLXRleHQiPgogICAgICAgICAgPGlyb24taWNvbiBpY29uPSJpY29uczplcnJvciI+PC9pcm9uLWljb24+IE1pc3NpbmcgVGFncwogICAgICAgIDwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxpcm9uLWNvbGxhcHNlIG9wZW5lZD0iW1tfbWlzc2luZ1RhZ3NDb2xsYXBzaWJsZU9wZW5lZF1dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJlcnJvci1jb250ZW50Ij4KICAgICAgICAgIDxpcm9uLWljb24gY2xhc3M9ImVycm9yLWljb24iIGljb249Imljb25zOmVycm9yIj48L2lyb24taWNvbj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX21pc3NpbmdUYWdzXV0iIGFzPSJtaXNzaW5nRW50cnkiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtaXNzaW5nLXRhZ3MtZm9yLXJ1bi1jb250YWluZXIiPgogICAgICAgICAgICAgIFJ1biAiW1ttaXNzaW5nRW50cnkucnVuXV0iIGxhY2tzIGRhdGEgZm9yIHRhZ3MKICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW21pc3NpbmdFbnRyeS50YWdzXV0iIGFzPSJ0YWciPgogICAgICAgICAgICAgICAgICA8bGk+W1t0YWddXTwvbGk+CiAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9pcm9uLWNvbGxhcHNlPgogICAgPC90ZW1wbGF0ZT4KCiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3RhZ0ZpbHRlckludmFsaWRdXSI+CiAgICAgIDxkaXYgY2xhc3M9ImVycm9yLWNvbnRlbnQiPgogICAgICAgIDxpcm9uLWljb24gY2xhc3M9ImVycm9yLWljb24iIGljb249Imljb25zOmVycm9yIj48L2lyb24taWNvbj4KICAgICAgICBUaGlzIHJlZ3VsYXIgZXhwcmVzaW9uIGlzIGludmFsaWQ6PGJyPgogICAgICAgIDxzcGFuIGNsYXNzPSJpbnZhbGlkLXJlZ2V4Ij5bW190YWdGaWx0ZXJdXTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICA8L3RlbXBsYXRlPgoKICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc3RlcHNNaXNtYXRjaF1dIj4KICAgICAgPGRpdiBjbGFzcz0iZXJyb3ItY29udGVudCI+CiAgICAgICAgPGlyb24taWNvbiBjbGFzcz0iZXJyb3ItaWNvbiIgaWNvbj0iaWNvbnM6ZXJyb3IiPjwvaXJvbi1pY29uPgogICAgICAgIFRoZSBzdGVwcyBmb3IgdmFsdWUsIGxvd2VyLCBhbmQgdXBwZXIgdGFncyBkbyBub3QgbWF0Y2g6CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFnLW5hbWUiPltbX3N0ZXBzTWlzbWF0Y2guc2VyaWVzT2JqZWN0LnZhbHVlXV08L3NwYW4+OgogICAgICAgICAgICBbW19zZXBhcmF0ZVdpdGhDb21tYXMoX3N0ZXBzTWlzbWF0Y2gudmFsdWVTdGVwcyldXQogICAgICAgICAgPC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhZy1uYW1lIj5bW19zdGVwc01pc21hdGNoLnNlcmllc09iamVjdC5sb3dlcl1dPC9zcGFuPjoKICAgICAgICAgICAgW1tfc2VwYXJhdGVXaXRoQ29tbWFzKF9zdGVwc01pc21hdGNoLmxvd2VyU3RlcHMpXV0KICAgICAgICAgIDwvbGk+CiAgICAgICAgICA8bGk+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWctbmFtZSI+W1tfc3RlcHNNaXNtYXRjaC5zZXJpZXNPYmplY3QudXBwZXJdXTwvc3Bhbj46CiAgICAgICAgICAgIFtbX3NlcGFyYXRlV2l0aENvbW1hcyhfc3RlcHNNaXNtYXRjaC51cHBlclN0ZXBzKV1dCiAgICAgICAgICA8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGl2PgogICAgPC90ZW1wbGF0ZT4KCiAgICA8ZGl2IGlkPSJtYXRjaGVzLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbGxhcHNpYmxlLWxpc3QtdGl0bGUiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc2VyaWVzTmFtZXMubGVuZ3RoXV0iPgogICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249IltbX2dldFRvZ2dsZUNvbGxhcHNpYmxlSWNvbihfbWF0Y2hlc0xpc3RPcGVuZWQpXV0iIG9uLWNsaWNrPSJfdG9nZ2xlTWF0Y2hlc09wZW4iIGNsYXNzPSJ0b2dnbGUtbWF0Y2hlcy1idXR0b24iPgogICAgICAgICAgPC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICA8L3RlbXBsYXRlPgoKICAgICAgICA8c3BhbiBjbGFzcz0iY29sbGFwc2libGUtdGl0bGUtdGV4dCI+CiAgICAgICAgICBNYXRjaGVzIChbW19zZXJpZXNOYW1lcy5sZW5ndGhdXSkKICAgICAgICA8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3Nlcmllc05hbWVzLmxlbmd0aF1dIj4KICAgICAgICA8aXJvbi1jb2xsYXBzZSBvcGVuZWQ9IltbX21hdGNoZXNMaXN0T3BlbmVkXV0iPgogICAgICAgICAgPGRpdiBpZD0ibWF0Y2hlcy1saXN0Ij4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfc2VyaWVzTmFtZXNdXSIgYXM9InNlcmllc05hbWUiIGlkPSJtYXRjaC1saXN0LXJlcGVhdCIgb24tZG9tLWNoYW5nZT0iX21hdGNoTGlzdEVudHJ5Q29sb3JVcGRhdGVkIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRjaC1saXN0LWVudHJ5Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtYXRjaC1lbnRyeS1zeW1ib2wiPgogICAgICAgICAgICAgICAgICBbW19kZXRlcm1pbmVTeW1ib2woX25hbWVUb0RhdGFTZXJpZXMsIHNlcmllc05hbWUpXV0KICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIFtbc2VyaWVzTmFtZV1dCiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2lyb24tY29sbGFwc2U+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L2Rpdj4KCiAgICA8c3R5bGUgaW5jbHVkZT0idGYtY3VzdG9tLXNjYWxhci1jYXJkLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICAuZXJyb3ItY29udGVudCB7CiAgICAgICAgYmFja2dyb3VuZDogI2YwMDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMCAwOwogICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgIH0KCiAgICAgIC5lcnJvci1pY29uIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICAgIG1hcmdpbjogMCBhdXRvIDVweCBhdXRvOwogICAgICB9CgogICAgICAuaW52YWxpZC1yZWdleCB7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIH0KCiAgICAgIC5lcnJvci1jb250ZW50IHVsIHsKICAgICAgICBtYXJnaW46IDFweCAwIDAgMDsKICAgICAgICBwYWRkaW5nOiAwIDAgMCAxOXB4OwogICAgICB9CgogICAgICAudGFnLW5hbWUgewogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICB9CgogICAgICAuY29sbGFwc2libGUtbGlzdC10aXRsZSB7CiAgICAgICAgbWFyZ2luOiAxMHB4IDAgNXB4IDA7CiAgICAgIH0KCiAgICAgIC5jb2xsYXBzaWJsZS10aXRsZS10ZXh0IHsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICB9CgogICAgICAjbWF0Y2hlcy1saXN0IHsKICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CgogICAgICAubWF0Y2gtbGlzdC1lbnRyeSB7CiAgICAgICAgbWFyZ2luOiAwIDAgNXB4IDA7CiAgICAgIH0KCiAgICAgIC5tYXRjaC1lbnRyeS1zeW1ib2wgewogICAgICAgIGZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgIH0KCiAgICAgIC5taXNzaW5nLXRhZ3MtZm9yLXJ1bi1jb250YWluZXIgewogICAgICAgIG1hcmdpbjogOHB4IDAgMCAwOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtY3VzdG9tLXNjYWxhci1tdWx0aS1saW5lLWNoYXJ0LWNhcmQiPgogIDx0ZW1wbGF0ZT4KICAgIDx0Zi1jYXJkLWhlYWRpbmcgZGlzcGxheS1uYW1lPSJbW190aXRsZURpc3BsYXlTdHJpbmddXSI+PC90Zi1jYXJkLWhlYWRpbmc+CiAgICA8ZGl2IGlkPSJ0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyLWNvbnRhaW5lciI+CiAgICAgIDx0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyIGlkPSJsb2FkZXIiIGFjdGl2ZT0iW1thY3RpdmVdXSIgY29sb3Itc2NhbGU9IltbX2NvbG9yU2NhbGVdXSIgZGF0YS1zZXJpZXM9IltbX3Nlcmllc05hbWVzXV0iIGdldC1kYXRhLWxvYWQtdXJsPSJbW19kYXRhVXJsXV0iIGlnbm9yZS15LW91dGxpZXJzPSJbW2lnbm9yZVlPdXRsaWVyc11dIiBsb2FkLWtleT0iW1tfdGFnRmlsdGVyXV0iIGRhdGEtdG8tbG9hZD0iW1tydW5zXV0iIGxvZy1zY2FsZS1hY3RpdmU9IltbX2xvZ1NjYWxlQWN0aXZlXV0iIGxvYWQtZGF0YS1jYWxsYmFjaz0iW1tfY3JlYXRlUHJvY2Vzc0RhdGFGdW5jdGlvbigpXV0iIHJlcXVlc3QtbWFuYWdlcj0iW1tyZXF1ZXN0TWFuYWdlcl1dIiBzbW9vdGhpbmctZW5hYmxlZD0iW1tzbW9vdGhpbmdFbmFibGVkXV0iIHNtb290aGluZy13ZWlnaHQ9Iltbc21vb3RoaW5nV2VpZ2h0XV0iIHN5bWJvbC1mdW5jdGlvbj0iW1tfY3JlYXRlU3ltYm9sRnVuY3Rpb24oKV1dIiB0b29sdGlwLXNvcnRpbmctbWV0aG9kPSJbW3Rvb2x0aXBTb3J0aW5nTWV0aG9kXV0iIHgtdHlwZT0iW1t4VHlwZV1dIj4KICAgICAgPC90Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyPgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJidXR0b25zIj4KICAgICAgPHBhcGVyLWljb24tYnV0dG9uIHNlbGVjdGVkJD0iW1tfZXhwYW5kZWRdXSIgaWNvbj0iZnVsbHNjcmVlbiIgb24tdGFwPSJfdG9nZ2xlRXhwYW5kZWQiPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbiBzZWxlY3RlZCQ9IltbX2xvZ1NjYWxlQWN0aXZlXV0iIGljb249ImxpbmUtd2VpZ2h0IiBvbi10YXA9Il90b2dnbGVMb2dTY2FsZSIgdGl0bGU9IlRvZ2dsZSB5LWF4aXMgbG9nIHNjYWxlIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0ic2V0dGluZ3Mtb3ZlcnNjYW4iIG9uLXRhcD0iX3Jlc2V0RG9tYWluIiB0aXRsZT0iRml0IGRvbWFpbiB0byBkYXRhIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8c3BhbiBzdHlsZT0iZmxleC1ncm93OiAxIj48L3NwYW4+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tzaG93RG93bmxvYWRMaW5rc11dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkb3dubG9hZC1saW5rcyI+CiAgICAgICAgICA8cGFwZXItZHJvcGRvd24tbWVudSBuby1sYWJlbC1mbG9hdD0idHJ1ZSIgbGFiZWw9InNlcmllcyB0byBkb3dubG9hZCIgc2VsZWN0ZWQtaXRlbS1sYWJlbD0ie3tfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkfX0iPgogICAgICAgICAgICA8cGFwZXItbGlzdGJveCBjbGFzcz0iZHJvcGRvd24tY29udGVudCIgc2xvdD0iZHJvcGRvd24tY29udGVudCI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfc2VyaWVzTmFtZXNdXSIgYXM9ImRhdGFTZXJpZXNOYW1lIj4KICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5bW2RhdGFTZXJpZXNOYW1lXV08L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgICAgICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgogICAgICAgICAgPGEgZG93bmxvYWQ9IltbX2RhdGFTZXJpZXNOYW1lVG9Eb3dubG9hZF1dLmNzdiIgaHJlZj0iW1tfY3N2VXJsKF9uYW1lVG9EYXRhU2VyaWVzLCBfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkKV1dIj5DU1Y8L2E+CiAgICAgICAgICA8YSBkb3dubG9hZD0iW1tfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkXV0uanNvbiIgaHJlZj0iW1tfanNvblVybChfbmFtZVRvRGF0YVNlcmllcywgX2RhdGFTZXJpZXNOYW1lVG9Eb3dubG9hZCldXSI+SlNPTjwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvZGl2PgogICAgPGRpdiBpZD0ibWF0Y2hlcy1jb250YWluZXIiPgogICAgICA8ZGl2IGlkPSJtYXRjaGVzLWxpc3QtdGl0bGUiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc2VyaWVzTmFtZXMubGVuZ3RoXV0iPgogICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249IltbX2dldFRvZ2dsZU1hdGNoZXNJY29uKF9tYXRjaGVzTGlzdE9wZW5lZCldXSIgb24tY2xpY2s9Il90b2dnbGVNYXRjaGVzT3BlbiIgY2xhc3M9InRvZ2dsZS1tYXRjaGVzLWJ1dHRvbiI+CiAgICAgICAgICA8L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgIDwvdGVtcGxhdGU+CgogICAgICAgIDxzcGFuIGNsYXNzPSJtYXRjaGVzLXRleHQiPgogICAgICAgICAgTWF0Y2hlcyAoW1tfc2VyaWVzTmFtZXMubGVuZ3RoXV0pCiAgICAgICAgPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19zZXJpZXNOYW1lcy5sZW5ndGhdXSI+CiAgICAgICAgPGlyb24tY29sbGFwc2Ugb3BlbmVkPSJbW19tYXRjaGVzTGlzdE9wZW5lZF1dIj4KICAgICAgICAgIDxkaXYgaWQ9Im1hdGNoZXMtbGlzdCI+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX3Nlcmllc05hbWVzXV0iIGFzPSJzZXJpZXNOYW1lIiBpZD0ibWF0Y2gtbGlzdC1yZXBlYXQiIG9uLWRvbS1jaGFuZ2U9Il9tYXRjaExpc3RFbnRyeUNvbG9yVXBkYXRlZCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0Y2gtbGlzdC1lbnRyeSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWF0Y2gtZW50cnktc3ltYm9sIj4KICAgICAgICAgICAgICAgICAgW1tfZGV0ZXJtaW5lU3ltYm9sKF9uYW1lVG9EYXRhU2VyaWVzLCBzZXJpZXNOYW1lKV1dCiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICBbW3Nlcmllc05hbWVdXQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9pcm9uLWNvbGxhcHNlPgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CgogICAgPHN0eWxlIGluY2x1ZGU9InRmLWN1c3RvbS1zY2FsYXItY2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgI21hdGNoZXMtbGlzdC10aXRsZSB7CiAgICAgICAgbWFyZ2luOiAxMHB4IDAgNXB4IDA7CiAgICAgIH0KCiAgICAgICNtYXRjaGVzLWxpc3QgewogICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KCiAgICAgIC5tYXRjaC1saXN0LWVudHJ5IHsKICAgICAgICBtYXJnaW46IDAgMCA1cHggMDsKICAgICAgfQoKICAgICAgLm1hdGNoLWVudHJ5LXN5bWJvbCB7CiAgICAgICAgZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICB3aWR0aDogMTBweDsKICAgICAgfQoKICAgICAgLm1hdGNoZXMtdGV4dCB7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWN1c3RvbS1zY2FsYXItZGFzaGJvYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8dGYtZGFzaGJvYXJkLWxheW91dD4KICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciIgc2xvdD0ic2lkZWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxpbmUtaXRlbSI+CiAgICAgICAgICAgIDxwYXBlci1jaGVja2JveCBjaGVja2VkPSJ7e19zaG93RG93bmxvYWRMaW5rc319Ij5TaG93IGRhdGEgZG93bmxvYWQgbGlua3M8L3BhcGVyLWNoZWNrYm94PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5lLWl0ZW0iPgogICAgICAgICAgICA8cGFwZXItY2hlY2tib3ggY2hlY2tlZD0ie3tfaWdub3JlWU91dGxpZXJzfX0iPklnbm9yZSBvdXRsaWVycyBpbiBjaGFydCBzY2FsaW5nPC9wYXBlci1jaGVja2JveD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBpZD0idG9vbHRpcC1zb3J0aW5nIj4KICAgICAgICAgICAgPGRpdiBpZD0idG9vbHRpcC1zb3J0aW5nLWxhYmVsIj5Ub29sdGlwIHNvcnRpbmcgbWV0aG9kOjwvZGl2PgogICAgICAgICAgICA8cGFwZXItZHJvcGRvd24tbWVudSBuby1sYWJlbC1mbG9hdCBzZWxlY3RlZC1pdGVtLWxhYmVsPSJ7e190b29sdGlwU29ydGluZ01ldGhvZH19Ij4KICAgICAgICAgICAgICA8cGFwZXItbGlzdGJveCBjbGFzcz0iZHJvcGRvd24tY29udGVudCIgc2VsZWN0ZWQ9IjAiIHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0+ZGVmYXVsdDwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPmRlc2NlbmRpbmc8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5hc2NlbmRpbmc8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5uZWFyZXN0PC9wYXBlci1pdGVtPgogICAgICAgICAgICAgIDwvcGFwZXItbGlzdGJveD4KICAgICAgICAgICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDx0Zi1zbW9vdGhpbmctaW5wdXQgd2VpZ2h0PSJ7e19zbW9vdGhpbmdXZWlnaHR9fSIgc3RlcD0iMC4wMDEiIG1pbj0iMCIgbWF4PSIxIj48L3RmLXNtb290aGluZy1pbnB1dD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPHRmLW9wdGlvbi1zZWxlY3RvciBpZD0ieC10eXBlLXNlbGVjdG9yIiBuYW1lPSJIb3Jpem9udGFsIEF4aXMiIHNlbGVjdGVkLWlkPSJ7e194VHlwZX19Ij4KICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0ic3RlcCI+c3RlcDwvcGFwZXItYnV0dG9uPjxwYXBlci1idXR0b24gaWQ9InJlbGF0aXZlIj5yZWxhdGl2ZTwvcGFwZXItYnV0dG9uPjxwYXBlci1idXR0b24gaWQ9IndhbGxfdGltZSI+d2FsbDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgPC90Zi1vcHRpb24tc2VsZWN0b3I+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDx0Zi1ydW5zLXNlbGVjdG9yIHNlbGVjdGVkLXJ1bnM9Int7X3NlbGVjdGVkUnVuc319Ij4KICAgICAgICAgIDwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIiBpZD0iY2F0ZWdvcmllcy1jb250YWluZXIiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS13YXJuaW5nIj4KICAgICAgICAgICAgPGgzPlRoZSBjdXN0b20gc2NhbGFycyBkYXNoYm9hcmQgaXMgaW5hY3RpdmUuPC9oMz4KICAgICAgICAgICAgPHA+UHJvYmFibGUgY2F1c2VzOjwvcD4KICAgICAgICAgICAgPG9sPgogICAgICAgICAgICAgIDxsaT5Zb3UgaGF2ZW4ndCBsYWlkIG91dCB0aGUgZGFzaGJvYXJkLjwvbGk+CiAgICAgICAgICAgICAgPGxpPllvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgc2NhbGFyIGRhdGEgdG8geW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICA8L29sPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgVG8gbGF5IG91dCB0aGUgZGFzaGJvYXJkLCBwYXNzIGEgPGNvZGU+TGF5b3V0PC9jb2RlPiBwcm90b2J1ZmZlcgogICAgICAgICAgICAgIHRvIHRoZSA8Y29kZT5zZXRfbGF5b3V0PC9jb2RlPiBtZXRob2QuIEZvciBleGFtcGxlLAogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDxwcmU+ZnJvbSB0ZW5zb3Jib2FyZCBpbXBvcnQgc3VtbWFyeQpmcm9tIHRlbnNvcmJvYXJkLnBsdWdpbnMuY3VzdG9tX3NjYWxhciBpbXBvcnQgbGF5b3V0X3BiMgouLi4KIyBUaGlzIGFjdGlvbiBkb2VzIG5vdCBoYXZlIHRvIGJlIHBlcmZvcm1lZCBhdCBldmVyeSBzdGVwLCBzbyB0aGUgYWN0aW9uIGlzIG5vdAojIHRha2VuIGNhcmUgb2YgYnkgYW4gb3AgaW4gdGhlIGdyYXBoLiBXZSBvbmx5IG5lZWQgdG8gc3BlY2lmeSB0aGUgbGF5b3V0IG9uY2UKIyAoaW5zdGVhZCBvZiBwZXIgc3RlcCkuCmxheW91dF9zdW1tYXJ5ID0gc3VtbWFyeV9saWIuY3VzdG9tX3NjYWxhcl9wYihsYXlvdXRfcGIyLkxheW91dCgKICBjYXRlZ29yeT1bCiAgICBsYXlvdXRfcGIyLkNhdGVnb3J5KAogICAgICB0aXRsZT0nbG9zc2VzJywKICAgICAgY2hhcnQ9WwogICAgICAgICAgbGF5b3V0X3BiMi5DaGFydCgKICAgICAgICAgICAgICB0aXRsZT0nbG9zc2VzJywKICAgICAgICAgICAgICBtdWx0aWxpbmU9bGF5b3V0X3BiMi5NdWx0aWxpbmVDaGFydENvbnRlbnQoCiAgICAgICAgICAgICAgICB0YWc9W3InbG9zcy4qJ10sCiAgICAgICAgICAgICAgKSksCiAgICAgICAgICBsYXlvdXRfcGIyLkNoYXJ0KAogICAgICAgICAgICAgIHRpdGxlPSdiYXonLAogICAgICAgICAgICAgIG1hcmdpbj1sYXlvdXRfcGIyLk1hcmdpbkNoYXJ0Q29udGVudCgKICAgICAgICAgICAgICAgIHNlcmllcz1bCiAgICAgICAgICAgICAgICAgIGxheW91dF9wYjIuTWFyZ2luQ2hhcnRDb250ZW50LlNlcmllcygKICAgICAgICAgICAgICAgICAgICB2YWx1ZT0nbG9zcy9iYXovc2NhbGFyX3N1bW1hcnknLAogICAgICAgICAgICAgICAgICAgIGxvd2VyPSdiYXpfbG93ZXIvYmF6L3NjYWxhcl9zdW1tYXJ5JywKICAgICAgICAgICAgICAgICAgICB1cHBlcj0nYmF6X3VwcGVyL2Jhei9zY2FsYXJfc3VtbWFyeScpLAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICApKSwKICAgICAgXSksCiAgICBsYXlvdXRfcGIyLkNhdGVnb3J5KAogICAgICB0aXRsZT0ndHJpZyBmdW5jdGlvbnMnLAogICAgICBjaGFydD1bCiAgICAgICAgICBsYXlvdXRfcGIyLkNoYXJ0KAogICAgICAgICAgICAgIHRpdGxlPSd3YXZlIHRyaWcgZnVuY3Rpb25zJywKICAgICAgICAgICAgICBtdWx0aWxpbmU9bGF5b3V0X3BiMi5NdWx0aWxpbmVDaGFydENvbnRlbnQoCiAgICAgICAgICAgICAgICB0YWc9W3IndHJpZ0Z1bmN0aW9ucy9jb3NpbmUnLCByJ3RyaWdGdW5jdGlvbnMvc2luZSddLAogICAgICAgICAgICAgICkpLAogICAgICAgICAgIyBUaGUgcmFuZ2Ugb2YgdGFuZ2VudCBpcyBkaWZmZXJlbnQuIExldCdzIGdpdmUgaXQgaXRzIG93biBjaGFydC4KICAgICAgICAgIGxheW91dF9wYjIuQ2hhcnQoCiAgICAgICAgICAgICAgdGl0bGU9J3RhbicsCiAgICAgICAgICAgICAgbXVsdGlsaW5lPWxheW91dF9wYjIuTXVsdGlsaW5lQ2hhcnRDb250ZW50KAogICAgICAgICAgICAgICAgdGFnPVtyJ3RyaWdGdW5jdGlvbnMvdGFuZ2VudCddLAogICAgICAgICAgICAgICkpLAogICAgICBdLAogICAgICAjIFRoaXMgY2F0ZWdvcnkgd2UgY2FyZSBsZXNzIGFib3V0LiBMZXQncyBtYWtlIGl0IGluaXRpYWxseSBjbG9zZWQuCiAgICAgIGNsb3NlZD1UcnVlKSwKICBdKSkKd3JpdGVyLmFkZF9zdW1tYXJ5KGxheW91dF9zdW1tYXJ5KQo8L3ByZT4KICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW914oCZcmUgbmV3IHRvIHVzaW5nIFRlbnNvckJvYXJkLCBhbmQgd2FudCB0byBmaW5kIG91dCBob3cgdG8KICAgICAgICAgICAgICBhZGQgZGF0YSBhbmQgc2V0IHVwIHlvdXIgZXZlbnQgZmlsZXMsIGNoZWNrIG91dCB0aGUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiPlJFQURNRTwvYT4KICAgICAgICAgICAgICBhbmQgcGVyaGFwcyB0aGUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIj5UZW5zb3JCb2FyZCB0dXRvcmlhbDwvYT4uCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY2F0ZWdvcmllc11dIiBhcz0iY2F0ZWdvcnkiPgogICAgICAgICAgICA8dGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXcgYXM9ImNoYXJ0IiBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIiBkaXNhYmxlLXBhZ2luYXRpb24gaW5pdGlhbC1vcGVuZWQ9IltbY2F0ZWdvcnkubWV0YWRhdGEub3BlbmVkXV0iPgogICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tjaGFydC5tdWx0aWxpbmVdXSI+CiAgICAgICAgICAgICAgICAgICAgPHRmLWN1c3RvbS1zY2FsYXItbXVsdGktbGluZS1jaGFydC1jYXJkIGFjdGl2ZT0iW1thY3RpdmVdXSIgcmVxdWVzdC1tYW5hZ2VyPSJbW19yZXF1ZXN0TWFuYWdlcl1dIiBydW5zPSJbW19zZWxlY3RlZFJ1bnNdXSIgdGl0bGU9IltbY2hhcnQudGl0bGVdXSIgeC10eXBlPSJbW194VHlwZV1dIiBzbW9vdGhpbmctZW5hYmxlZD0iW1tfc21vb3RoaW5nRW5hYmxlZF1dIiBzbW9vdGhpbmctd2VpZ2h0PSJbW19zbW9vdGhpbmdXZWlnaHRdXSIgdG9vbHRpcC1zb3J0aW5nLW1ldGhvZD0iW1t0b29sdGlwU29ydGluZ01ldGhvZF1dIiBpZ25vcmUteS1vdXRsaWVycz0iW1tfaWdub3JlWU91dGxpZXJzXV0iIHNob3ctZG93bmxvYWQtbGlua3M9IltbX3Nob3dEb3dubG9hZExpbmtzXV0iIHRhZy1yZWdleGVzPSJbW2NoYXJ0Lm11bHRpbGluZS50YWddXSI+PC90Zi1jdXN0b20tc2NhbGFyLW11bHRpLWxpbmUtY2hhcnQtY2FyZD4KICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2NoYXJ0Lm1hcmdpbl1dIj4KICAgICAgICAgICAgICAgICAgICA8dGYtY3VzdG9tLXNjYWxhci1tYXJnaW4tY2hhcnQtY2FyZCBhY3RpdmU9IltbYWN0aXZlXV0iIHJlcXVlc3QtbWFuYWdlcj0iW1tfcmVxdWVzdE1hbmFnZXJdXSIgcnVucz0iW1tfc2VsZWN0ZWRSdW5zXV0iIHRpdGxlPSJbW2NoYXJ0LnRpdGxlXV0iIHgtdHlwZT0iW1tfeFR5cGVdXSIgdG9vbHRpcC1zb3J0aW5nLW1ldGhvZD0iW1t0b29sdGlwU29ydGluZ01ldGhvZF1dIiBpZ25vcmUteS1vdXRsaWVycz0iW1tfaWdub3JlWU91dGxpZXJzXV0iIHNob3ctZG93bmxvYWQtbGlua3M9IltbX3Nob3dEb3dubG9hZExpbmtzXV0iIG1hcmdpbi1jaGFydC1zZXJpZXM9IltbY2hhcnQubWFyZ2luLnNlcmllc11dIj48L3RmLWN1c3RvbS1zY2FsYXItbWFyZ2luLWNoYXJ0LWNhcmQ+CiAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvdGYtZGFzaGJvYXJkLWxheW91dD4KCiAgICA8c3R5bGUgaW5jbHVkZT0iZGFzaGJvYXJkLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICAjdG9vbHRpcC1zb3J0aW5nIHsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbi10b3A6IDE1cHg7CiAgICAgIH0KICAgICAgI3Rvb2x0aXAtc29ydGluZyBwYXBlci1kcm9wZG93bi1tZW51IHsKICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgd2lkdGg6IDEwNXB4OwogICAgICB9CiAgICAgIC5saW5lLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmctdG9wOiA1cHg7CiAgICAgIH0KICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtaW1hZ2UtbG9hZGVyIj4KICA8dGVtcGxhdGU+CiAgICA8dGYtY2FyZC1oZWFkaW5nIHRhZz0iW1t0YWddXSIgcnVuPSJbW3J1bl1dIiBkaXNwbGF5LW5hbWU9IltbdGFnTWV0YWRhdGEuZGlzcGxheU5hbWVdXSIgZGVzY3JpcHRpb249IltbdGFnTWV0YWRhdGEuZGVzY3JpcHRpb25dXSIgY29sb3I9IltbX3J1bkNvbG9yXV0iPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hhc011bHRpcGxlU2FtcGxlc11dIj4KICAgICAgICA8ZGl2PnNhbXBsZTogW1tfc2FtcGxlVGV4dF1dIG9mIFtbb2ZTYW1wbGVzXV08L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19oYXNBdExlYXN0T25lU3RlcF1dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLWxhYmVsIj4KICAgICAgICAgICAgc3RlcAogICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQiPltbX3RvTG9jYWxlU3RyaW5nKF9zdGVwVmFsdWUpXV08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmctbGFiZWwgaGVhZGluZy1yaWdodCBkYXRldGltZSI+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfY3VycmVudFdhbGxUaW1lXV0iPgogICAgICAgICAgICAgIFtbX2N1cnJlbnRXYWxsVGltZV1dCiAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsIHJpZ2h0Ij4KICAgICAgICAgICAgPHBhcGVyLXNwaW5uZXItbGl0ZSBhY3RpdmUgaGlkZGVuJD0iW1shX2lzSW1hZ2VMb2FkaW5nXV0iPgogICAgICAgICAgICA8L3BhcGVyLXNwaW5uZXItbGl0ZT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hhc011bHRpcGxlU3RlcHNdXSI+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxwYXBlci1zbGlkZXIgaWQ9InN0ZXBzIiBpbW1lZGlhdGUtdmFsdWU9Int7X3N0ZXBJbmRleH19IiBtYXg9IltbX21heFN0ZXBJbmRleF1dIiBtYXgtbWFya2Vycz0iW1tfbWF4U3RlcEluZGV4XV0iIHNuYXBzIHN0ZXA9IjEiIHZhbHVlPSJ7e19zdGVwSW5kZXh9fSI+PC9wYXBlci1zbGlkZXI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L3RmLWNhcmQtaGVhZGluZz4KCiAgICAKICAgIDxhIGlkPSJtYWluLWltYWdlLWNvbnRhaW5lciIgcm9sZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJUb2dnbGUgYWN0dWFsIHNpemUiIGFyaWEtZXhwYW5kZWQkPSJbW19nZXRBcmlhRXhwYW5kZWQoYWN0dWFsU2l6ZSldXSIgb24tdGFwPSJfaGFuZGxlVGFwIj48L2E+CgogICAgPHN0eWxlIGluY2x1ZGU9InRmLWNhcmQtaGVhZGluZy1zdHlsZSI+CiAgICAgIC8qKiBNYWtlIGJ1dHRvbiBhIGRpdi4gKi8KICAgICAgYnV0dG9uIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAvKiogRmlyZWZveDogR2V0IHJpZCBvZiBkb3R0ZWQgbGluZSBpbnNpZGUgYnV0dG9uLiAqLwogICAgICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIgewogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAvKiogRmlyZWZveDogU2ltdWxhdGUgQ2hyb21lJ3Mgb3V0ZXIgZ2xvdyBvbiBidXR0b24gd2hlbiBmb2N1c2VkLiAqLwogICAgICBidXR0b246LW1vei1mb2N1c3JpbmcgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAxcHggMnB4IEhpZ2hsaWdodDsKICAgICAgfQoKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHdpZHRoOiAzNTBweDsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbjogMCAxNXB4IDQwcHggMDsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICB9CgogICAgICAvKiogV2hlbiBhY3R1YWwgc2l6ZSBzaG93biBpcyBvbiwgdXNlIHRoZSBhY3R1YWwgaW1hZ2Ugd2lkdGguICovCiAgICAgIDpob3N0KFthY3R1YWwtc2l6ZV0pIHsKICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgd2lkdGg6IGF1dG87CiAgICAgIH0KCiAgICAgIDpob3N0KFthY3R1YWwtc2l6ZV0pICNtYWluLWltYWdlLWNvbnRhaW5lciB7CiAgICAgICAgbWF4LWhlaWdodDogbm9uZTsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgfQoKICAgICAgOmhvc3QoW2FjdHVhbC1zaXplXSkgI21haW4taW1hZ2UtY29udGFpbmVyIGltZyB7CiAgICAgICAgd2lkdGg6IGF1dG87CiAgICAgIH0KCiAgICAgIHBhcGVyLXNwaW5uZXItbGl0ZSB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTsKICAgICAgICAtLXBhcGVyLXNwaW5uZXItY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICB9CgogICAgICAjc3RlcHMgewogICAgICAgIGhlaWdodDogMTVweDsKICAgICAgICBtYXJnaW46IDAgMCAwIC0xNXB4OwogICAgICAgIC8qCiAgICAgICAgICogMzEgY29tZXMgZnJvbSBhZGRpbmcgYSBwYWRkaW5nIG9mIDE1cHggZnJvbSBib3RoIHNpZGVzIG9mIHRoZQogICAgICAgICAqIHBhcGVyLXNsaWRlciwgc3VidHJhY3RpbmcgMXB4IHNvIHRoYXQgdGhlIHNsaWRlciB3aWR0aCBhbGlnbnMKICAgICAgICAgKiB3aXRoIHRoZSBpbWFnZSAodGhlIGxhc3Qgc2xpZGVyIG1hcmtlciB0YWtlcyB1cCAxcHgpLCBhbmQKICAgICAgICAgKiBhZGRpbmcgMnB4IHRvIGFjY291bnQgZm9yIGEgYm9yZGVyIG9mIDFweCBvbiBib3RoIHNpZGVzIG9mCiAgICAgICAgICogdGhlIGltYWdlLiAzMCAtIDEgKyAyLgogICAgICAgICAqLwogICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzMXB4KTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1hY3RpdmUtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWtub2ItY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWtub2Itc3RhcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1tYXJrZXJzLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1waW4tY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLXBpbi1zdGFydC1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgIH0KCiAgICAgICNtYWluLWltYWdlLWNvbnRhaW5lciB7CiAgICAgICAgbWF4LWhlaWdodDogMTAyNHB4OwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICB9CgogICAgICAjbWFpbi1pbWFnZS1jb250YWluZXIgaW1nIHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtbW96LWNyaXNwLWVkZ2VzOwogICAgICAgIGltYWdlLXJlbmRlcmluZzogcGl4ZWxhdGVkOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b24gewogICAgICAgIGNvbG9yOiAjMjE5NmYzOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgfQogICAgICBwYXBlci1pY29uLWJ1dHRvbltzZWxlY3RlZF0gewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRiLXVpLWxpZ2h0LWFjY2VudCk7CiAgICAgIH0KICAgICAgW2hpZGRlbl0gewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1pbWFnZS1kYXNoYm9hcmQiPgogIDx0ZW1wbGF0ZT4KICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyIiBzbG90PSJzaWRlYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibGluZS1pdGVtIj4KICAgICAgICAgICAgPHBhcGVyLWNoZWNrYm94IGNoZWNrZWQ9Int7X2FjdHVhbFNpemV9fSI+U2hvdyBhY3R1YWwgaW1hZ2Ugc2l6ZTwvcGFwZXItY2hlY2tib3g+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPGgzIGNsYXNzPSJ0b29sdGlwLWNvbnRhaW5lciI+QnJpZ2h0bmVzcyBhZGp1c3RtZW50PC9oMz4KICAgICAgICAgIDxkaXYgY2xhc3M9InJlc2V0dGFibGUtc2xpZGVyLWNvbnRhaW5lciI+CiAgICAgICAgICAgIDxwYXBlci1zbGlkZXIgbWluPSIwIiBtYXg9IjIiIHNuYXBzIHBpbiBzdGVwPSIwLjAxIiB2YWx1ZT0ie3tfYnJpZ2h0bmVzc0FkanVzdG1lbnR9fSIgaW1tZWRpYXRlLXZhbHVlPSJ7e19icmlnaHRuZXNzQWRqdXN0bWVudH19Ij48L3BhcGVyLXNsaWRlcj4KICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBjbGFzcz0ieC1idXR0b24iIG9uLXRhcD0iX3Jlc2V0QnJpZ2h0bmVzcyIgZGlzYWJsZWQ9IltbX2JyaWdodG5lc3NJc0RlZmF1bHRdXSI+UmVzZXQ8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiI+CiAgICAgICAgICA8aDMgY2xhc3M9InRvb2x0aXAtY29udGFpbmVyIj5Db250cmFzdCBhZGp1c3RtZW50PC9oMz4KICAgICAgICAgIDxkaXYgY2xhc3M9InJlc2V0dGFibGUtc2xpZGVyLWNvbnRhaW5lciI+CiAgICAgICAgICAgIDxwYXBlci1zbGlkZXIgbWluPSIwIiBtYXg9IjUwMCIgc25hcHMgcGluIHN0ZXA9IjEiIHZhbHVlPSJ7e19jb250cmFzdFBlcmNlbnRhZ2V9fSIgaW1tZWRpYXRlLXZhbHVlPSJ7e19jb250cmFzdFBlcmNlbnRhZ2V9fSI+PC9wYXBlci1zbGlkZXI+CiAgICAgICAgICAgIDxwYXBlci1idXR0b24gY2xhc3M9IngtYnV0dG9uIiBvbi10YXA9Il9yZXNldENvbnRyYXN0IiBkaXNhYmxlZD0iW1tfY29udHJhc3RJc0RlZmF1bHRdXSI+UmVzZXQ8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiI+CiAgICAgICAgICA8dGYtcnVucy1zZWxlY3RvciBpZD0icnVucy1zZWxlY3RvciIgc2VsZWN0ZWQtcnVucz0ie3tfc2VsZWN0ZWRSdW5zfX0iPjwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyBpbWFnZSBkYXRhIHdhcyBmb3VuZC48L2gzPgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPllvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgaW1hZ2UgZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgICAgPGxpPlRlbnNvckJvYXJkIGNhbuKAmXQgZmluZCB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCI+UkVBRE1FPC9hPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRlbnNvcmZsb3cub3JnL2dldF9zdGFydGVkL3N1bW1hcmllc19hbmRfdGVuc29yYm9hcmQiPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hPi4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW91IHRoaW5rIFRlbnNvckJvYXJkIGlzIGNvbmZpZ3VyZWQgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQjbXktdGVuc29yYm9hcmQtaXNudC1zaG93aW5nLWFueS1kYXRhLXdoYXRzLXdyb25nIj50aGUgc2VjdGlvbiBvZiB0aGUgUkVBRE1FIGRldm90ZWQgdG8gbWlzc2luZyBkYXRhIHByb2JsZW1zPC9hPgogICAgICAgICAgICAgIGFuZCBjb25zaWRlciBmaWxpbmcgYW4gaXNzdWUgb24gR2l0SHViLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDx0Zi10YWctZmlsdGVyZXIgdGFnLWZpbHRlcj0ie3tfdGFnRmlsdGVyfX0iPjwvdGYtdGFnLWZpbHRlcmVyPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY2F0ZWdvcmllc11dIiBhcz0iY2F0ZWdvcnkiPgogICAgICAgICAgICA8dGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXcgY2F0ZWdvcnk9IltbY2F0ZWdvcnldXSIgaW5pdGlhbC1vcGVuZWQ9IltbX3Nob3VsZE9wZW4oaW5kZXgpXV0iPgogICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgIDx0Zi1pbWFnZS1sb2FkZXIgYWN0aXZlPSJbW2FjdGl2ZV1dIiBydW49IltbaXRlbS5ydW5dXSIgdGFnPSJbW2l0ZW0udGFnXV0iIHNhbXBsZT0iW1tpdGVtLnNhbXBsZV1dIiBvZi1zYW1wbGVzPSJbW2l0ZW0ub2ZTYW1wbGVzXV0iIHRhZy1tZXRhZGF0YT0iW1tfdGFnTWV0YWRhdGEoX3J1blRvVGFnSW5mbywgaXRlbS5ydW4sIGl0ZW0udGFnKV1dIiByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iIGFjdHVhbC1zaXplPSJbW19hY3R1YWxTaXplXV0iIGJyaWdodG5lc3MtYWRqdXN0bWVudD0iW1tfYnJpZ2h0bmVzc0FkanVzdG1lbnRdXSIgY29udHJhc3QtcGVyY2VudGFnZT0iW1tfY29udHJhc3RQZXJjZW50YWdlXV0iPjwvdGYtaW1hZ2UtbG9hZGVyPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXc+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgPHN0eWxlIGluY2x1ZGU9ImRhc2hib2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgLnJlc2V0dGFibGUtc2xpZGVyLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQogICAgICAucmVzZXR0YWJsZS1zbGlkZXItY29udGFpbmVyIHBhcGVyLXNsaWRlciB7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICB9CiAgICAgIC5yZXNldHRhYmxlLXNsaWRlci1jb250YWluZXIgcGFwZXItYnV0dG9uIHsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgIH0KICAgICAgLnJlc2V0dGFibGUtc2xpZGVyLWNvbnRhaW5lciBwYXBlci1idXR0b25bZGlzYWJsZWRdIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDsKICAgICAgfQogICAgICAueC1idXR0b24gewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10Yi11aS1saWdodC1hY2NlbnQpOwogICAgICAgIGNvbG9yOiB2YXIoLS10Yi11aS1kYXJrLWFjY2VudCk7CiAgICAgIH0KICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgIH0KICAgICAgcGFwZXItc2xpZGVyIHsKICAgICAgICAtLXBhcGVyLXNsaWRlci1hY3RpdmUtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWtub2ItY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWtub2Itc3RhcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1tYXJrZXJzLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1waW4tY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLXBpbi1zdGFydC1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1hdWRpby1sb2FkZXIiPgogIDx0ZW1wbGF0ZT4KICAgIDx0Zi1jYXJkLWhlYWRpbmcgdGFnPSJbW3RhZ11dIiBydW49IltbcnVuXV0iIGRpc3BsYXktbmFtZT0iW1t0YWdNZXRhZGF0YS5kaXNwbGF5TmFtZV1dIiBkZXNjcmlwdGlvbj0iW1t0YWdNZXRhZGF0YS5kZXNjcmlwdGlvbl1dIiBjb2xvcj0iW1tfcnVuQ29sb3JdXSI+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzTXVsdGlwbGVTYW1wbGVzXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmctcm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmctbGFiZWwiPgogICAgICAgICAgICBzYW1wbGU6IFtbX3NhbXBsZVRleHRdXSBvZiBbW3RvdGFsU2FtcGxlc11dCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19oYXNBdExlYXN0T25lU3RlcF1dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLWxhYmVsIj4KICAgICAgICAgICAgc3RlcCA8c3Ryb25nPltbX2N1cnJlbnREYXR1bS5zdGVwXV08L3N0cm9uZz4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19jdXJyZW50RGF0dW0ud2FsbF90aW1lXV0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLWxhYmVsIGhlYWRpbmctcmlnaHQiPgogICAgICAgICAgICAgIFtbX2N1cnJlbnREYXR1bS53YWxsX3RpbWVdXQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzTXVsdGlwbGVTdGVwc11dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLXJvdyI+CiAgICAgICAgICA8cGFwZXItc2xpZGVyIGlkPSJzdGVwcyIgaW1tZWRpYXRlLXZhbHVlPSJ7e19zdGVwSW5kZXh9fSIgbWF4PSJbW19tYXhTdGVwSW5kZXhdXSIgbWF4LW1hcmtlcnM9IltbX21heFN0ZXBJbmRleF1dIiBzbmFwcyBzdGVwPSIxIiB2YWx1ZT0ie3tfc3RlcEluZGV4fX0iPjwvcGFwZXItc2xpZGVyPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC90Zi1jYXJkLWhlYWRpbmc+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hhc0F0TGVhc3RPbmVTdGVwXV0iPgogICAgICA8YXVkaW8gY29udHJvbHMgc3JjJD0iW1tfY3VycmVudERhdHVtLnVybF1dIiB0eXBlJD0iW1tfY3VycmVudERhdHVtLmNvbnRlbnRUeXBlXV0iPjwvYXVkaW8+CiAgICAgIDx0Zi1tYXJrZG93bi12aWV3IGh0bWw9IltbX2N1cnJlbnREYXR1bS5sYWJlbF1dIj48L3RmLW1hcmtkb3duLXZpZXc+CiAgICA8L3RlbXBsYXRlPgogICAgPGRpdiBpZD0ibWFpbi1hdWRpby1jb250YWluZXIiPjwvZGl2PgoKICAgIDxzdHlsZSBpbmNsdWRlPSJ0Zi1jYXJkLWhlYWRpbmctc3R5bGUiPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDM1MHB4OwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgLS1zdGVwLXNsaWRlci1rbm9iLWNvbG9yOiAjNDI0MjQyOwogICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICB9CgogICAgICAjc3RlcHMgewogICAgICAgIGhlaWdodDogMTVweDsKICAgICAgICBtYXJnaW46IDAgMCAwIC0xNXB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgcGFkZGluZzogMCA1cHg7IC8qIHNvIHRoZSBzbGlkZXIga25vYiBkb2Vzbid0IGJ1dHQgb3V0ICovCiAgICAgICAgbWFyZ2luLXRvcDogNXB4OwogICAgICAgIC0tcGFwZXItc2xpZGVyLWFjdGl2ZS1jb2xvcjogdmFyKC0tc3RlcC1zbGlkZXIta25vYi1jb2xvcik7CiAgICAgICAgLS1wYXBlci1zbGlkZXIta25vYi1jb2xvcjogdmFyKC0tc3RlcC1zbGlkZXIta25vYi1jb2xvcik7CiAgICAgICAgLS1wYXBlci1zbGlkZXItcGluLWNvbG9yOiB2YXIoLS1zdGVwLXNsaWRlci1rbm9iLWNvbG9yKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWNvbG9yOiB2YXIoLS1zdGVwLXNsaWRlci1rbm9iLWNvbG9yKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tc3RlcC1zbGlkZXIta25vYi1jb2xvcik7CiAgICAgICAgLS1wYXBlci1zbGlkZXItcGluLXN0YXJ0LWNvbG9yOiB2YXIoLS1zdGVwLXNsaWRlci1rbm9iLWNvbG9yKTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWF1ZGlvLWRhc2hib2FyZCI+CiAgPHRlbXBsYXRlPgogICAgPHRmLWRhc2hib2FyZC1sYXlvdXQ+CiAgICAgIDxkaXYgY2xhc3M9InNpZGViYXIiIHNsb3Q9InNpZGViYXIiPgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiI+CiAgICAgICAgICA8dGYtcnVucy1zZWxlY3RvciBpZD0icnVucy1zZWxlY3RvciIgc2VsZWN0ZWQtcnVucz0ie3tfc2VsZWN0ZWRSdW5zfX0iPjwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyBhdWRpbyBkYXRhIHdhcyBmb3VuZC48L2gzPgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPllvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgYXVkaW8gZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgICAgPGxpPlRlbnNvckJvYXJkIGNhbuKAmXQgZmluZCB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCI+UkVBRE1FPC9hPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRlbnNvcmZsb3cub3JnL2dldF9zdGFydGVkL3N1bW1hcmllc19hbmRfdGVuc29yYm9hcmQiPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hPi4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW91IHRoaW5rIFRlbnNvckJvYXJkIGlzIGNvbmZpZ3VyZWQgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQjbXktdGVuc29yYm9hcmQtaXNudC1zaG93aW5nLWFueS1kYXRhLXdoYXRzLXdyb25nIj50aGUgc2VjdGlvbiBvZiB0aGUgUkVBRE1FIGRldm90ZWQgdG8gbWlzc2luZyBkYXRhIHByb2JsZW1zPC9hPgogICAgICAgICAgICAgIGFuZCBjb25zaWRlciBmaWxpbmcgYW4gaXNzdWUgb24gR2l0SHViLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDx0Zi10YWctZmlsdGVyZXIgdGFnLWZpbHRlcj0ie3tfdGFnRmlsdGVyfX0iPjwvdGYtdGFnLWZpbHRlcmVyPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY2F0ZWdvcmllc11dIiBhcz0iY2F0ZWdvcnkiPgogICAgICAgICAgICA8dGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXcgY2F0ZWdvcnk9IltbY2F0ZWdvcnldXSIgaW5pdGlhbC1vcGVuZWQ9IltbX3Nob3VsZE9wZW4oaW5kZXgpXV0iPgogICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgIDx0Zi1hdWRpby1sb2FkZXIgYWN0aXZlPSJbW2FjdGl2ZV1dIiBydW49IltbaXRlbS5ydW5dXSIgdGFnPSJbW2l0ZW0udGFnXV0iIHNhbXBsZT0iW1tpdGVtLnNhbXBsZV1dIiB0b3RhbC1zYW1wbGVzPSJbW2l0ZW0udG90YWxTYW1wbGVzXV0iIHRhZy1tZXRhZGF0YT0iW1tfdGFnTWV0YWRhdGEoX3J1blRvVGFnSW5mbywgaXRlbS5ydW4sIGl0ZW0udGFnKV1dIiByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iPjwvdGYtYXVkaW8tbG9hZGVyPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXc+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgPHN0eWxlIGluY2x1ZGU9ImRhc2hib2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJpcm9uLWF1dG9ncm93LXRleHRhcmVhIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiA0MDBweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZDsKICAgICAgICBwYWRkaW5nOiAycHg7CiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0YXJlYTsKICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRhcmVhOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5taXJyb3ItdGV4dCB7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICBAYXBwbHkgLS1pcm9uLWF1dG9ncm93LXRleHRhcmVhOwogICAgICB9CgogICAgICAuZml0IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0OwogICAgICB9CgogICAgICB0ZXh0YXJlYSB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIHJlc2l6ZTogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0OwogICAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgICAgIC8qIHNlZSBjb21tZW50cyBpbiB0ZW1wbGF0ZSAqLwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDsKICAgICAgICBAYXBwbHkgLS1pcm9uLWF1dG9ncm93LXRleHRhcmVhOwogICAgICB9CgogICAgICB0ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7CiAgICAgICAgQGFwcGx5IC0taXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYS1wbGFjZWhvbGRlcjsKICAgICAgfQoKICAgICAgdGV4dGFyZWE6LW1vei1wbGFjZWhvbGRlciB7CiAgICAgICAgQGFwcGx5IC0taXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYS1wbGFjZWhvbGRlcjsKICAgICAgfQoKICAgICAgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogICAgICAgIEBhcHBseSAtLWlyb24tYXV0b2dyb3ctdGV4dGFyZWEtcGxhY2Vob2xkZXI7CiAgICAgIH0KCiAgICAgIHRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7CiAgICAgICAgQGFwcGx5IC0taXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYS1wbGFjZWhvbGRlcjsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICAKICAgIAogICAgPGRpdiBpZD0ibWlycm9yIiBjbGFzcz0ibWlycm9yLXRleHQiIGFyaWEtaGlkZGVuPSJ0cnVlIj4mbmJzcDs8L2Rpdj4KCiAgICAKICAgIDxkaXYgY2xhc3M9InRleHRhcmVhLWNvbnRhaW5lciBmaXQiPgogICAgICA8dGV4dGFyZWEgaWQ9InRleHRhcmVhIiBuYW1lJD0iW1tuYW1lXV0iIGFyaWEtbGFiZWwkPSJbW2xhYmVsXV0iIGF1dG9jb21wbGV0ZSQ9IltbYXV0b2NvbXBsZXRlXV0iIGF1dG9mb2N1cyQ9IltbYXV0b2ZvY3VzXV0iIGlucHV0bW9kZSQ9IltbaW5wdXRtb2RlXV0iIHBsYWNlaG9sZGVyJD0iW1twbGFjZWhvbGRlcl1dIiByZWFkb25seSQ9IltbcmVhZG9ubHldXSIgcmVxdWlyZWQkPSJbW3JlcXVpcmVkXV0iIGRpc2FibGVkJD0iW1tkaXNhYmxlZF1dIiByb3dzJD0iW1tyb3dzXV0iIG1pbmxlbmd0aCQ9IltbbWlubGVuZ3RoXV0iIG1heGxlbmd0aCQ9IltbbWF4bGVuZ3RoXV0iPjwvdGV4dGFyZWE+CiAgICA8L2Rpdj4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXRleHRhcmVhIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgOmhvc3QoW2hpZGRlbl0pIHsKICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIGxhYmVsIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8cGFwZXItaW5wdXQtY29udGFpbmVyIG5vLWxhYmVsLWZsb2F0JD0iW1tub0xhYmVsRmxvYXRdXSIgYWx3YXlzLWZsb2F0LWxhYmVsPSJbW19jb21wdXRlQWx3YXlzRmxvYXRMYWJlbChhbHdheXNGbG9hdExhYmVsLHBsYWNlaG9sZGVyKV1dIiBhdXRvLXZhbGlkYXRlJD0iW1thdXRvVmFsaWRhdGVdXSIgZGlzYWJsZWQkPSJbW2Rpc2FibGVkXV0iIGludmFsaWQ9IltbaW52YWxpZF1dIj4KCiAgICAgIDxsYWJlbCBoaWRkZW4kPSJbWyFsYWJlbF1dIiBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9yJD0iW1tfaW5wdXRJZF1dIiBzbG90PSJsYWJlbCI+W1tsYWJlbF1dPC9sYWJlbD4KCiAgICAgIDxpcm9uLWF1dG9ncm93LXRleHRhcmVhIGNsYXNzPSJwYXBlci1pbnB1dC1pbnB1dCIgc2xvdD0iaW5wdXQiIGlkJD0iW1tfaW5wdXRJZF1dIiBhcmlhLWxhYmVsbGVkYnkkPSJbW19hcmlhTGFiZWxsZWRCeV1dIiBhcmlhLWRlc2NyaWJlZGJ5JD0iW1tfYXJpYURlc2NyaWJlZEJ5XV0iIGJpbmQtdmFsdWU9Int7dmFsdWV9fSIgaW52YWxpZD0ie3tpbnZhbGlkfX0iIHZhbGlkYXRvciQ9IltbdmFsaWRhdG9yXV0iIGRpc2FibGVkJD0iW1tkaXNhYmxlZF1dIiBhdXRvY29tcGxldGUkPSJbW2F1dG9jb21wbGV0ZV1dIiBhdXRvZm9jdXMkPSJbW2F1dG9mb2N1c11dIiBpbnB1dG1vZGUkPSJbW2lucHV0bW9kZV1dIiBuYW1lJD0iW1tuYW1lXV0iIHBsYWNlaG9sZGVyJD0iW1twbGFjZWhvbGRlcl1dIiByZWFkb25seSQ9IltbcmVhZG9ubHldXSIgcmVxdWlyZWQkPSJbW3JlcXVpcmVkXV0iIG1pbmxlbmd0aCQ9IltbbWlubGVuZ3RoXV0iIG1heGxlbmd0aCQ9IltbbWF4bGVuZ3RoXV0iIGF1dG9jYXBpdGFsaXplJD0iW1thdXRvY2FwaXRhbGl6ZV1dIiByb3dzJD0iW1tyb3dzXV0iIG1heC1yb3dzJD0iW1ttYXhSb3dzXV0iIG9uLWNoYW5nZT0iX29uQ2hhbmdlIj48L2lyb24tYXV0b2dyb3ctdGV4dGFyZWE+CgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbZXJyb3JNZXNzYWdlXV0iPgogICAgICAgIDxwYXBlci1pbnB1dC1lcnJvciBhcmlhLWxpdmU9ImFzc2VydGl2ZSIgc2xvdD0iYWRkLW9uIj5bW2Vycm9yTWVzc2FnZV1dPC9wYXBlci1pbnB1dC1lcnJvcj4KICAgICAgPC90ZW1wbGF0ZT4KCiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tjaGFyQ291bnRlcl1dIj4KICAgICAgICA8cGFwZXItaW5wdXQtY2hhci1jb3VudGVyIHNsb3Q9ImFkZC1vbiI+PC9wYXBlci1pbnB1dC1jaGFyLWNvdW50ZXI+CiAgICAgIDwvdGVtcGxhdGU+CgogICAgPC9wYXBlci1pbnB1dC1jb250YWluZXI+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJwYXBlci10b2FzdCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXRvYXN0LWJhY2tncm91bmQtY29sb3IsICMzMjMyMzIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci10b2FzdC1jb2xvciwgI2YxZjFmMSk7CiAgICAgICAgbWluLWhlaWdodDogNDhweDsKICAgICAgICBtaW4td2lkdGg6IDI4OHB4OwogICAgICAgIHBhZGRpbmc6IDE2cHggMjRweDsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4yNik7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIG1hcmdpbjogMTJweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcywgb3BhY2l0eSAwLjNzOwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzLCBvcGFjaXR5IDAuM3M7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDBweCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHB4KTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICB9CgogICAgICA6aG9zdCguY2Fwc3VsZSkgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7CiAgICAgIH0KCiAgICAgIDpob3N0KC5maXQtYm90dG9tKSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICA6aG9zdCgucGFwZXItdG9hc3Qtb3BlbikgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c3BhbiBpZD0ibGFiZWwiPnt7dGV4dH19PC9zcGFuPgogICAgPHNsb3Q+PC9zbG90PgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXRvZ2dsZS1idXR0b24iPgogIDx0ZW1wbGF0ZSBzdHJpcC13aGl0ZXNwYWNlPgoKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaG9yaXpvbnRhbDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoOmZvY3VzKSB7CiAgICAgICAgb3V0bGluZTpub25lOwogICAgICB9CgogICAgICAudG9nZ2xlLWJhciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMC40OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgbGluZWFyIC4wOHM7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi11bmNoZWNrZWQtYmFyLWNvbG9yLCAjMDAwMDAwKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi11bmNoZWNrZWQtYmFyOwogICAgICB9CgogICAgICAudG9nZ2xlLWJ1dHRvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogLTNweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjYpOwogICAgICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIGxpbmVhciAuMDhzLCBiYWNrZ3JvdW5kLWNvbG9yIGxpbmVhciAuMDhzOwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBsaW5lYXIgLjA4cywgYmFja2dyb3VuZC1jb2xvciBsaW5lYXIgLjA4czsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXRvZ2dsZS1idXR0b24tdW5jaGVja2VkLWJ1dHRvbi1jb2xvciwgdmFyKC0tcGFwZXItZ3JleS01MCkpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci10b2dnbGUtYnV0dG9uLXVuY2hlY2tlZC1idXR0b247CiAgICAgIH0KCiAgICAgIC50b2dnbGUtYnV0dG9uLmRyYWdnaW5nIHsKICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NoZWNrZWRdOm5vdChbZGlzYWJsZWRdKSkgLnRvZ2dsZS1iYXIgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci10b2dnbGUtYnV0dG9uLWNoZWNrZWQtYmFyLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLXRvZ2dsZS1idXR0b24tY2hlY2tlZC1iYXI7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC50b2dnbGUtYmFyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOwogICAgICAgIG9wYWNpdHk6IDAuMTI7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjaGVja2VkXSkgLnRvZ2dsZS1idXR0b24gewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTZweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTZweCwgMCk7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjaGVja2VkXTpub3QoW2Rpc2FibGVkXSkpIC50b2dnbGUtYnV0dG9uIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci10b2dnbGUtYnV0dG9uLWNoZWNrZWQtYnV0dG9uLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLXRvZ2dsZS1idXR0b24tY2hlY2tlZC1idXR0b247CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC50b2dnbGUtYnV0dG9uIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRiZGJkOwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtaW5rIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAtMTRweDsKICAgICAgICBsZWZ0OiAtMTRweDsKICAgICAgICByaWdodDogYXV0bzsKICAgICAgICBib3R0b206IGF1dG87CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi11bmNoZWNrZWQtaW5rLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi11bmNoZWNrZWQtaW5rOwogICAgICB9CgogICAgICA6aG9zdChbY2hlY2tlZF0pIC50b2dnbGUtaW5rIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi1jaGVja2VkLWluay1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci10b2dnbGUtYnV0dG9uLWNoZWNrZWQtaW5rOwogICAgICB9CgogICAgICAudG9nZ2xlLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgLyogVGhlIHRvZ2dsZSBidXR0b24gaGFzIGFuIGFic29sdXRlIHBvc2l0aW9uIG9mIC0zcHg7IFRoZSBleHRyYSAxcHgKICAgICAgICAvKiBhY2NvdW50cyBmb3IgdGhlIHRvZ2dsZSBidXR0b24gc2hhZG93IGJveC4gKi8KICAgICAgICBtYXJnaW46IDRweCAxcHg7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtbGFiZWwgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhcGVyLXRvZ2dsZS1idXR0b24tbGFiZWwtc3BhY2luZywgOHB4KTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi1sYWJlbC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgIH0KCiAgICAgIC8qIGludmFsaWQgc3RhdGUgKi8KICAgICAgOmhvc3QoW2ludmFsaWRdKSAudG9nZ2xlLWJhciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi1pbnZhbGlkLWJhci1jb2xvciwgdmFyKC0tZXJyb3ItY29sb3IpKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2ludmFsaWRdKSAudG9nZ2xlLWJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi1pbnZhbGlkLWJ1dHRvbi1jb2xvciwgdmFyKC0tZXJyb3ItY29sb3IpKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2ludmFsaWRdKSAudG9nZ2xlLWluayB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLXRvZ2dsZS1idXR0b24taW52YWxpZC1pbmstY29sb3IsIHZhcigtLWVycm9yLWNvbG9yKSk7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0idG9nZ2xlLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgaWQ9InRvZ2dsZUJhciIgY2xhc3M9InRvZ2dsZS1iYXIiPjwvZGl2PgogICAgICA8ZGl2IGlkPSJ0b2dnbGVCdXR0b24iIGNsYXNzPSJ0b2dnbGUtYnV0dG9uIj48L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InRvZ2dsZS1sYWJlbCI+PHNsb3Q+PC9zbG90PjwvZGl2PgoKICA8L3RlbXBsYXRlPgoKICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1ncmFwaC1taW5pbWFwIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgbGluZWFyOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CgogICAgICA6aG9zdCguaGlkZGVuKSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgY2FudmFzIHsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5OwogICAgICB9CgogICAgICByZWN0IHsKICAgICAgICBmaWxsOiB3aGl0ZTsKICAgICAgICBzdHJva2U6ICMxMTExMTE7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAxcHg7CiAgICAgICAgZmlsbC1vcGFjaXR5OiAwOwogICAgICAgIGZpbHRlcjogdXJsKCNtaW5pbWFwRHJvcFNoYWRvdyk7CiAgICAgICAgY3Vyc29yOiBtb3ZlOwogICAgICB9CgogICAgICBzdmcgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxzdmc+CiAgICAgIDxkZWZzPgogICAgICAgIDxmaWx0ZXIgaWQ9Im1pbmltYXBEcm9wU2hhZG93IiB4PSItMjAlIiB5PSItMjAlIiB3aWR0aD0iMTUwJSIgaGVpZ2h0PSIxNTAlIj4KICAgICAgICAgIDxmZW9mZnNldCByZXN1bHQ9Im9mZk91dCIgaW49IlNvdXJjZUdyYXBoaWMiIGR4PSIxIiBkeT0iMSI+PC9mZW9mZnNldD4KICAgICAgICAgIDxmZWNvbG9ybWF0cml4IHJlc3VsdD0ibWF0cml4T3V0IiBpbj0ib2ZmT3V0IiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMC4xIDAgMCAwIDAgMCAwLjEgMCAwIDAgMCAwIDAuMSAwIDAgMCAwIDAgMC41IDAiPjwvZmVjb2xvcm1hdHJpeD4KICAgICAgICAgIDxmZWdhdXNzaWFuYmx1ciByZXN1bHQ9ImJsdXJPdXQiIGluPSJtYXRyaXhPdXQiIHN0ZGRldmlhdGlvbj0iMiI+PC9mZWdhdXNzaWFuYmx1cj4KICAgICAgICAgIDxmZWJsZW5kIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImJsdXJPdXQiIG1vZGU9Im5vcm1hbCI+PC9mZWJsZW5kPgogICAgICAgIDwvZmlsdGVyPgogICAgICA8L2RlZnM+CiAgICAgIDxyZWN0PjwvcmVjdD4KICAgIDwvc3ZnPgogICAgPGNhbnZhcyBjbGFzcz0iZmlyc3QiPjwvY2FudmFzPgogICAgCiAgICA8Y2FudmFzIGNsYXNzPSJzZWNvbmQiPjwvY2FudmFzPgogICAgPGNhbnZhcyBjbGFzcz0iZG93bmxvYWQiPjwvY2FudmFzPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZ3JhcGgtc2NlbmUiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgI3N2ZyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAjaGlkZGVuIHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICB9CgogICAgICAvKiAtLS0gTm9kZSBhbmQgYW5ub3RhdGlvbi1ub2RlIGZvciBNZXRhbm9kZSAtLS0gKi8KCiAgICAgIC5tZXRhID4gLm5vZGVzaGFwZSA+IHJlY3QsCiAgICAgIC5tZXRhID4gLmFubm90YXRpb24tbm9kZSA+IHJlY3QgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmaWxsOiBoc2woMCwgMCUsIDcwJSk7CiAgICAgIH0KICAgICAgLm5vZGUubWV0YS5oaWdobGlnaHRlZCA+IC5ub2Rlc2hhcGUgPiByZWN0LAogICAgICAubm9kZS5tZXRhLmhpZ2hsaWdodGVkID4gLmFubm90YXRpb24tbm9kZSA+IHJlY3QgewogICAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgICAgfQogICAgICAuYW5ub3RhdGlvbi5tZXRhLmhpZ2hsaWdodGVkID4gLm5vZGVzaGFwZSA+IHJlY3QsCiAgICAgIC5hbm5vdGF0aW9uLm1ldGEuaGlnaGxpZ2h0ZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gcmVjdCB7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAxOwogICAgICB9CiAgICAgIC5tZXRhLnNlbGVjdGVkID4gLm5vZGVzaGFwZSA+IHJlY3QsCiAgICAgIC5tZXRhLnNlbGVjdGVkID4gLmFubm90YXRpb24tbm9kZSA+IHJlY3QgewogICAgICAgIHN0cm9rZTogcmVkOwogICAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgICAgfQogICAgICAubm9kZS5tZXRhLnNlbGVjdGVkLmV4cGFuZGVkID4gLm5vZGVzaGFwZSA+IHJlY3QsCiAgICAgIC5ub2RlLm1ldGEuc2VsZWN0ZWQuZXhwYW5kZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gcmVjdCB7CiAgICAgICAgc3Ryb2tlOiByZWQ7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAzOwogICAgICB9CiAgICAgIC5hbm5vdGF0aW9uLm1ldGEuc2VsZWN0ZWQgPiAubm9kZXNoYXBlID4gcmVjdCwKICAgICAgLmFubm90YXRpb24ubWV0YS5zZWxlY3RlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiByZWN0IHsKICAgICAgICBzdHJva2U6IHJlZDsKICAgICAgICBzdHJva2Utd2lkdGg6IDI7CiAgICAgIH0KICAgICAgLm5vZGUubWV0YS5zZWxlY3RlZC5leHBhbmRlZC5oaWdobGlnaHRlZCA+IC5ub2Rlc2hhcGUgPiByZWN0LAogICAgICAubm9kZS5tZXRhLnNlbGVjdGVkLmV4cGFuZGVkLmhpZ2hsaWdodGVkID4gLmFubm90YXRpb24tbm9kZSA+IHJlY3QgewogICAgICAgIHN0cm9rZTogcmVkOwogICAgICAgIHN0cm9rZS13aWR0aDogNDsKICAgICAgfQoKICAgICAgLmZhZGVkLAogICAgICAuZmFkZWQgcmVjdCwKICAgICAgLmZhZGVkIGVsbGlwc2UsCiAgICAgIC5mYWRlZCBwYXRoLAogICAgICAuZmFkZWQgdXNlLAogICAgICAjcmVjdEhhdGNoIGxpbmUsCiAgICAgICNlbGxpcHNlSGF0Y2ggbGluZSB7CiAgICAgICAgY29sb3I6ICNlMGQ0YjMgIWltcG9ydGFudDsKICAgICAgICBmaWxsOiB3aGl0ZTsKICAgICAgICBzdHJva2U6ICNlMGQ0YjMgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmZhZGVkIHBhdGggewogICAgICAgIHN0cm9rZS13aWR0aDogMXB4ICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5mYWRlZCByZWN0IHsKICAgICAgICBmaWxsOiB1cmwoI3JlY3RIYXRjaCkgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmZhZGVkIGVsbGlwc2UsCiAgICAgIC5mYWRlZCB1c2UgewogICAgICAgIGZpbGw6IHVybCgjZWxsaXBzZUhhdGNoKSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuZmFkZWQgdGV4dCB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgfQoKICAgICAgLyogUnVsZXMgdXNlZCBmb3IgaW5wdXQtdHJhY2luZy4gKi8KICAgICAgLmlucHV0LWhpZ2hsaWdodCA+ICogPiByZWN0LAogICAgICAuaW5wdXQtaGlnaGxpZ2h0ID4gKiA+IGVsbGlwc2UsCiAgICAgIC5pbnB1dC1oaWdobGlnaHQgPiAqID4gdXNlIHsKICAgICAgICBmaWxsOiB3aGl0ZTsKICAgICAgICBzdHJva2U6ICNmZjk4MDAgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLyogIC0gRmFkZWQgbm9uLWlucHV0IHN0eWxpbmcgKi8KICAgICAgLm5vbi1pbnB1dCA+ICogPiByZWN0LAoubm9uLWlucHV0ID4gKiA+IGVsbGlwc2UsCi5ub24taW5wdXQgPiAqID4gdXNlLAovKiBGb3IgQ29uc3Qgbm9kZXMuICovCi5ub24taW5wdXQgPiAqID4gLmNvbnN0YW50Om5vdChbY2xhc3MqPSJpbnB1dC1oaWdobGlnaHQiXSkgPgogIC5hbm5vdGF0aW9uLW5vZGUgPiBlbGxpcHNlLAovKiBGb3Igc3R5bGluZyBvZiBhbm5vdGF0aW9uIG5vZGVzIG9mIG5vbi1pbnB1dCBub2Rlcy4gKi8KLm5vbi1pbnB1dCA+IGcgPiAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLW5vZGUgPiByZWN0IHsKICAgICAgICBzdHJva2U6ICNlMGQ0YjMgIWltcG9ydGFudDsKICAgICAgICBzdHJva2Utd2lkdGg6IGluaGVyaXQ7CiAgICAgICAgc3Ryb2tlLWRhc2hhcnJheTogaW5oZXJpdDsKICAgICAgfQoKICAgICAgLm5vbi1pbnB1dCBwYXRoIHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5ub24taW5wdXQgPiAubm9kZXNoYXBlID4gcmVjdCwKLm5vbi1pbnB1dCA+IC5hbm5vdGF0aW9uLW5vZGUgPiByZWN0LAovKiBGb3Igc3R5bGluZyBvZiBhbm5vdGF0aW9uIG5vZGVzIG9mIG5vbi1pbnB1dCBub2Rlcy4gKi8KLm5vbi1pbnB1dCA+IGcgPiAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLW5vZGUgPiByZWN0IHsKICAgICAgICBmaWxsOiB1cmwoI3JlY3RIYXRjaCkgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLm5vbi1pbnB1dCBlbGxpcHNlLAogICAgICAubm9uLWlucHV0IHVzZSB7CiAgICAgICAgZmlsbDogdXJsKCNlbGxpcHNlSGF0Y2gpICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5ub24taW5wdXQgPiB0ZXh0IHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAubm9uLWlucHV0IC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tZWRnZSB7CiAgICAgICAgbWFya2VyLWVuZDogdXJsKCNhbm5vdGF0aW9uLWFycm93aGVhZC1mYWRlZCk7CiAgICAgIH0KCiAgICAgIC5ub24taW5wdXQgLmFubm90YXRpb24gPiAuYW5ub3RhdGlvbi1lZGdlLnJlZmxpbmUgewogICAgICAgIG1hcmtlci1zdGFydDogdXJsKCNyZWYtYW5ub3RhdGlvbi1hcnJvd2hlYWQtZmFkZWQpOwogICAgICB9CgogICAgICAvKiBJbnB1dCBlZGdlcy4gKi8KICAgICAgLmlucHV0LWVkZ2UtaGlnaGxpZ2h0ID4gdGV4dCB7CiAgICAgICAgZmlsbDogYmxhY2sgIWltcG9ydGFudDsKICAgICAgfQogICAgICAuaW5wdXQtaGlnaGxpZ2h0ID4gLmluLWFubm90YXRpb25zID4gLmFubm90YXRpb24gPiAuYW5ub3RhdGlvbi1lZGdlLAogICAgICAuaW5wdXQtaGlnaGxpZ2h0LXNlbGVjdGVkCiAgICAgICAgPiAuaW4tYW5ub3RhdGlvbnMKICAgICAgICA+IC5hbm5vdGF0aW9uCiAgICAgICAgPiAuYW5ub3RhdGlvbi1lZGdlIHsKICAgICAgICBzdHJva2U6ICM5OTkgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLyogTm9uLWlucHV0IGVkZ2VzLiAqLwogICAgICAubm9uLWlucHV0LWVkZ2UtaGlnaGxpZ2h0LAoubm9uLWlucHV0ID4gZyA+IC5hbm5vdGF0aW9uID4gcGF0aCwKLyogQW5ub3RhdGlvbiBzdHlsZXMgKGxhYmVsIGFuZCBlZGdlcyByZXNwZWN0aXZlbHkpLiAqLwoubm9uLWlucHV0ID4gZyA+Ci5hbm5vdGF0aW9uOm5vdCguaW5wdXQtaGlnaGxpZ2h0KTpub3QoLmlucHV0LWhpZ2hsaWdodC1zZWxlY3RlZCkgPgouYW5ub3RhdGlvbi1sYWJlbAovKi5hbm5vdGF0aW9uLWVkZ2UqLwogewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLyogLS0tIE9wIE5vZGUgLS0tICovCgogICAgICAub3AgPiAubm9kZXNoYXBlID4gLm5vZGVjb2xvcnRhcmdldCwKICAgICAgLm9wID4gLmFubm90YXRpb24tbm9kZSA+IC5ub2RlY29sb3J0YXJnZXQgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICAgIHN0cm9rZTogI2NjYzsKICAgICAgfQoKICAgICAgLm9wLnNlbGVjdGVkID4gLm5vZGVzaGFwZSA+IC5ub2RlY29sb3J0YXJnZXQsCiAgICAgIC5vcC5zZWxlY3RlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiAubm9kZWNvbG9ydGFyZ2V0IHsKICAgICAgICBzdHJva2U6IHJlZDsKICAgICAgICBzdHJva2Utd2lkdGg6IDI7CiAgICAgIH0KCiAgICAgIC5vcC5oaWdobGlnaHRlZCA+IC5ub2Rlc2hhcGUgPiAubm9kZWNvbG9ydGFyZ2V0LAogICAgICAub3AuaGlnaGxpZ2h0ZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gLm5vZGVjb2xvcnRhcmdldCB7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAyOwogICAgICB9CgogICAgICAvKiAtLS0gU2VyaWVzIE5vZGUgLS0tICovCgogICAgICAvKiBCeSBkZWZhdWx0LCBkb24ndCBzaG93IHRoZSBzZXJpZXMgYmFja2dyb3VuZCA8cmVjdD4uICovCiAgICAgIC5zZXJpZXMgPiAubm9kZXNoYXBlID4gcmVjdCB7CiAgICAgICAgZmlsbDogaHNsKDAsIDAlLCA3MCUpOwogICAgICAgIGZpbGwtb3BhY2l0eTogMDsKICAgICAgICBzdHJva2UtZGFzaGFycmF5OiA1LCA1OwogICAgICAgIHN0cm9rZS1vcGFjaXR5OiAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLyogT25jZSBleHBhbmRlZCwgc2hvdyB0aGUgc2VyaWVzIGJhY2tncm91bmQgPHJlY3Q+IGFuZCBoaWRlIHRoZSA8dXNlPi4gKi8KICAgICAgLnNlcmllcy5leHBhbmRlZCA+IC5ub2Rlc2hhcGUgPiByZWN0IHsKICAgICAgICBmaWxsLW9wYWNpdHk6IDAuMTU7CiAgICAgICAgc3Ryb2tlOiBoc2woMCwgMCUsIDcwJSk7CiAgICAgICAgc3Ryb2tlLW9wYWNpdHk6IDE7CiAgICAgIH0KICAgICAgLnNlcmllcy5leHBhbmRlZCA+IC5ub2Rlc2hhcGUgPiB1c2UgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLyoqCiAqIFRPRE86IFNpbXBsaWZ5IHRoaXMgYnkgYXBwbHlpbmcgYSBzdGFibGUgY2xhc3MgbmFtZSB0byBhbGwgPGc+CiAqIGVsZW1lbnRzIHRoYXQgY3VycmVudGx5IGhhdmUgZWl0aGVyIHRoZSBub2Rlc2hhcGUgb3IgYW5ub3RhdGlvbi1ub2RlIGNsYXNzZXMuCiAqLwogICAgICAuc2VyaWVzID4gLm5vZGVzaGFwZSA+IHVzZSwKICAgICAgLnNlcmllcyA+IC5hbm5vdGF0aW9uLW5vZGUgPiB1c2UgewogICAgICAgIHN0cm9rZTogI2NjYzsKICAgICAgfQogICAgICAuc2VyaWVzLmhpZ2hsaWdodGVkID4gLm5vZGVzaGFwZSA+IHVzZSwKICAgICAgLnNlcmllcy5oaWdobGlnaHRlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiB1c2UgewogICAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgICAgfQogICAgICAuc2VyaWVzLnNlbGVjdGVkID4gLm5vZGVzaGFwZSA+IHVzZSwKICAgICAgLnNlcmllcy5zZWxlY3RlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiB1c2UgewogICAgICAgIHN0cm9rZTogcmVkOwogICAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgICAgfQoKICAgICAgLnNlcmllcy5zZWxlY3RlZCA+IC5ub2Rlc2hhcGUgPiByZWN0IHsKICAgICAgICBzdHJva2U6IHJlZDsKICAgICAgICBzdHJva2Utd2lkdGg6IDI7CiAgICAgIH0KCiAgICAgIC5hbm5vdGF0aW9uLnNlcmllcy5zZWxlY3RlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiB1c2UgewogICAgICAgIHN0cm9rZTogcmVkOwogICAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgICAgfQoKICAgICAgLyogLS0tIEJyaWRnZSBOb2RlIC0tLSAqLwogICAgICAuYnJpZGdlID4gLm5vZGVzaGFwZSA+IHJlY3QgewogICAgICAgIHN0cm9rZTogI2YwZjsKICAgICAgICBvcGFjaXR5OiAwLjI7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogLS0tIFN0cnVjdHVyYWwgRWxlbWVudHMgLS0tICovCiAgICAgIC5lZGdlID4gcGF0aC5lZGdlbGluZS5zdHJ1Y3R1cmFsIHsKICAgICAgICBzdHJva2U6ICNmMGY7CiAgICAgICAgb3BhY2l0eTogMC4yOwogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIFJlZmVyZW5jZSBFZGdlICovCiAgICAgIC5lZGdlID4gcGF0aC5lZGdlbGluZS5yZWZlcmVuY2VlZGdlIHsKICAgICAgICBzdHJva2U6ICNmZmI3NGQ7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLyogLS0tIFNlcmllcyBOb2RlcyAtLS0gKi8KCiAgICAgIC8qIEhpZGUgdGhlIHJlY3QgZm9yIGEgc2VyaWVzJyBhbm5vdGF0aW9uLiAqLwogICAgICAuc2VyaWVzID4gLmFubm90YXRpb24tbm9kZSA+IHJlY3QgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIC0tLSBOb2RlIGxhYmVsIC0tLSAqLwoKICAgICAgLm5vZGUgPiB0ZXh0Lm5vZGVsYWJlbCB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZpbGw6ICM0NDQ7CiAgICAgIH0KCiAgICAgIC5tZXRhLmV4cGFuZGVkID4gdGV4dC5ub2RlbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogOXB4OwogICAgICB9CgogICAgICAuc2VyaWVzID4gdGV4dC5ub2RlbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogOHB4OwogICAgICB9CgogICAgICAub3AgPiB0ZXh0Lm5vZGVsYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiA2cHg7CiAgICAgIH0KCiAgICAgIC5icmlkZ2UgPiB0ZXh0Lm5vZGVsYWJlbCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLm5vZGUubWV0YS5leHBhbmRlZCA+IHRleHQubm9kZWxhYmVsIHsKICAgICAgICBjdXJzb3I6IG5vcm1hbDsKICAgICAgfQoKICAgICAgLmFubm90YXRpb24ubWV0YS5oaWdobGlnaHRlZCA+IHRleHQuYW5ub3RhdGlvbi1sYWJlbCB7CiAgICAgICAgZmlsbDogIzUwYTNmNzsKICAgICAgfQoKICAgICAgLmFubm90YXRpb24ubWV0YS5zZWxlY3RlZCA+IHRleHQuYW5ub3RhdGlvbi1sYWJlbCB7CiAgICAgICAgZmlsbDogIzQyODVmNDsKICAgICAgfQoKICAgICAgLyogLS0tIEFubm90YXRpb24gLS0tICovCgogICAgICAvKiBvbmx5IGFwcGxpZWQgZm9yIGFubm90YXRpb25zIHRoYXQgYXJlIG5vdCBzdW1tYXJ5IG9yIGNvbnN0YW50LgooLnN1bW1hcnksIC5jb25zdGFudCBnZXRzIG92ZXJyaWRkZW4gYmVsb3cpICovCiAgICAgIC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tbm9kZSA+ICogewogICAgICAgIHN0cm9rZS13aWR0aDogMC41OwogICAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDEsIDE7CiAgICAgIH0KCiAgICAgIC5hbm5vdGF0aW9uLnN1bW1hcnkgPiAuYW5ub3RhdGlvbi1ub2RlID4gKiwKICAgICAgLmFubm90YXRpb24uY29uc3RhbnQgPiAuYW5ub3RhdGlvbi1ub2RlID4gKiB7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAxOwogICAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tZWRnZSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICNhYWE7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAwLjU7CiAgICAgICAgbWFya2VyLWVuZDogdXJsKCNhbm5vdGF0aW9uLWFycm93aGVhZCk7CiAgICAgIH0KCiAgICAgIC5mYWRlZCAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLWVkZ2UgewogICAgICAgIG1hcmtlci1lbmQ6IHVybCgjYW5ub3RhdGlvbi1hcnJvd2hlYWQtZmFkZWQpOwogICAgICB9CgogICAgICAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLWVkZ2UucmVmbGluZSB7CiAgICAgICAgbWFya2VyLXN0YXJ0OiB1cmwoI3JlZi1hbm5vdGF0aW9uLWFycm93aGVhZCk7CiAgICAgIH0KCiAgICAgIC5mYWRlZCAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLWVkZ2UucmVmbGluZSB7CiAgICAgICAgbWFya2VyLXN0YXJ0OiB1cmwoI3JlZi1hbm5vdGF0aW9uLWFycm93aGVhZC1mYWRlZCk7CiAgICAgIH0KCiAgICAgIC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tY29udHJvbC1lZGdlIHsKICAgICAgICBzdHJva2UtZGFzaGFycmF5OiAxLCAxOwogICAgICB9CgogICAgICAjYW5ub3RhdGlvbi1hcnJvd2hlYWQgewogICAgICAgIGZpbGw6ICNhYWE7CiAgICAgIH0KCiAgICAgICNhbm5vdGF0aW9uLWFycm93aGVhZC1mYWRlZCB7CiAgICAgICAgZmlsbDogI2UwZDRiMzsKICAgICAgfQoKICAgICAgI3JlZi1hbm5vdGF0aW9uLWFycm93aGVhZCB7CiAgICAgICAgZmlsbDogI2FhYTsKICAgICAgfQoKICAgICAgI3JlZi1hbm5vdGF0aW9uLWFycm93aGVhZC1mYWRlZCB7CiAgICAgICAgZmlsbDogI2UwZDRiMzsKICAgICAgfQoKICAgICAgLmFubm90YXRpb24gPiAuYW5ub3RhdGlvbi1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiA1cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CiAgICAgIC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tbGFiZWwuYW5ub3RhdGlvbi1lbGxpcHNpcyB7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICAvKiBIaWRlIGFubm90YXRpb25zIG9uIGV4cGFuZGVkIG1ldGEgbm9kZXMgc2luY2UgdGhleSdyZSByZWR1bmRhbnQuICovCiAgICAgIC5leHBhbmRlZCA+IC5pbi1hbm5vdGF0aW9ucywKICAgICAgLmV4cGFuZGVkID4gLm91dC1hbm5vdGF0aW9ucyB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogLS0tIEFubm90YXRpb246IENvbnN0YW50IC0tLSAqLwoKICAgICAgLmNvbnN0YW50ID4gLmFubm90YXRpb24tbm9kZSA+IGVsbGlwc2UgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmaWxsOiB3aGl0ZTsKICAgICAgICBzdHJva2U6ICM4NDg0ODQ7CiAgICAgIH0KCiAgICAgIC5jb25zdGFudC5zZWxlY3RlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiBlbGxpcHNlIHsKICAgICAgICBmaWxsOiB3aGl0ZTsKICAgICAgICBzdHJva2U6IHJlZDsKICAgICAgfQoKICAgICAgLmNvbnN0YW50LmhpZ2hsaWdodGVkID4gLmFubm90YXRpb24tbm9kZSA+IGVsbGlwc2UgewogICAgICAgIHN0cm9rZS13aWR0aDogMS41OwogICAgICB9CgogICAgICAvKiAtLS0gQW5ub3RhdGlvbjogU3VtbWFyeSAtLS0gKi8KCiAgICAgIC5zdW1tYXJ5ID4gLmFubm90YXRpb24tbm9kZSA+IGVsbGlwc2UgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmaWxsOiAjZGI0NDM3OwogICAgICAgIHN0cm9rZTogI2RiNDQzNzsKICAgICAgfQoKICAgICAgLnN1bW1hcnkuc2VsZWN0ZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gZWxsaXBzZSB7CiAgICAgICAgZmlsbDogI2E1MjcxNDsKICAgICAgICBzdHJva2U6ICNhNTI3MTQ7CiAgICAgIH0KCiAgICAgIC5zdW1tYXJ5LmhpZ2hsaWdodGVkID4gLmFubm90YXRpb24tbm9kZSA+IGVsbGlwc2UgewogICAgICAgIHN0cm9rZS13aWR0aDogMS41OwogICAgICB9CgogICAgICAvKiAtLS0gRWRnZSAtLS0gKi8KCiAgICAgIC5lZGdlID4gcGF0aC5lZGdlbGluZSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICNiYmI7CiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgICAgIHN0cm9rZS13aWR0aDogMC43NTsKICAgICAgfQoKICAgICAgLmVkZ2UgLnNlbGVjdGFibGVlZGdlIHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5zZWxlY3RlZGVkZ2UgPiBwYXRoLmVkZ2VsaW5lIHsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgc3Ryb2tlOiAjZjAwOwogICAgICB9CgogICAgICAuZWRnZS5zZWxlY3RlZGVkZ2UgdGV4dCB7CiAgICAgICAgZmlsbDogIzAwMDsKICAgICAgfQoKICAgICAgLyogTGFiZWxzIHNob3dpbmcgdGVuc29yIHNoYXBlcyBvbiBlZGdlcyAqLwogICAgICAuZWRnZSA+IHRleHQgewogICAgICAgIGZvbnQtc2l6ZTogMy41cHg7CiAgICAgICAgZmlsbDogIzY2NjsKICAgICAgfQoKICAgICAgLmRhdGFmbG93LWFycm93aGVhZCB7CiAgICAgICAgZmlsbDogI2JiYjsKICAgICAgfQoKICAgICAgLnJlZmVyZW5jZS1hcnJvd2hlYWQgewogICAgICAgIGZpbGw6ICNmZmI3NGQ7CiAgICAgIH0KCiAgICAgIC5zZWxlY3RlZC1hcnJvd2hlYWQgewogICAgICAgIGZpbGw6ICNmMDA7CiAgICAgIH0KCiAgICAgIC5lZGdlIC5jb250cm9sLWRlcCB7CiAgICAgICAgc3Ryb2tlLWRhc2hhcnJheTogMiwgMjsKICAgICAgfQoKICAgICAgLyogLS0tIEdyb3VwIG5vZGUgZXhwYW5kL2NvbGxhcHNlIGJ1dHRvbiAtLS0gKi8KCiAgICAgIC8qIEhpZGVzIGV4cGFuZC9jb2xsYXBzZSBidXR0b25zIHdoZW4gYSBub2RlIGlzbid0IGV4cGFuZGVkIG9yIGhpZ2hsaWdodGVkLiBVc2luZwogICBpbmNyZWRpYmx5IHNtYWxsIG9wYWNpdHkgc28gdGhhdCB0aGUgYm91bmRpbmcgYm94IG9mIHRoZSA8Zz4gcGFyZW50IHN0aWxsIHRha2VzCiAgIHRoaXMgY29udGFpbmVyIGludG8gYWNjb3VudCBldmVuIHdoZW4gaXQgaXNuJ3QgdmlzaWJsZSAqLwogICAgICAubm9kZTpub3QoLmhpZ2hsaWdodGVkKTpub3QoLmV4cGFuZGVkKSA+IC5ub2Rlc2hhcGUgPiAuYnV0dG9uY29udGFpbmVyIHsKICAgICAgICBvcGFjaXR5OiAwLjAxOwogICAgICB9CiAgICAgIC5ub2RlLmhpZ2hsaWdodGVkID4gLm5vZGVzaGFwZSA+IC5idXR0b25jb250YWluZXIgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQogICAgICAuYnV0dG9uY2lyY2xlIHsKICAgICAgICBmaWxsOiAjZTc4MTFkOwogICAgICB9CiAgICAgIC5idXR0b25jaXJjbGU6aG92ZXIgewogICAgICAgIGZpbGw6ICNiOTY3MTc7CiAgICAgIH0KICAgICAgLmV4cGFuZGJ1dHRvbiwKICAgICAgLmNvbGxhcHNlYnV0dG9uIHsKICAgICAgICBzdHJva2U6IHdoaXRlOwogICAgICB9CiAgICAgIC8qIERvIG5vdCBsZXQgdGhlIHBhdGggZWxlbWVudHMgaW4gdGhlIGJ1dHRvbiB0YWtlIHBvaW50ZXIgZm9jdXMgKi8KICAgICAgLm5vZGUgPiAubm9kZXNoYXBlID4gLmJ1dHRvbmNvbnRhaW5lciA+IC5leHBhbmRidXR0b24sCiAgICAgIC5ub2RlID4gLm5vZGVzaGFwZSA+IC5idXR0b25jb250YWluZXIgPiAuY29sbGFwc2VidXR0b24gewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICAgIC8qIE9ubHkgc2hvdyB0aGUgZXhwYW5kIGJ1dHRvbiB3aGVuIGEgbm9kZSBpcyBjb2xsYXBzZWQgYW5kIG9ubHkgc2hvdyB0aGUKICAgY29sbGFwc2UgYnV0dG9uIHdoZW4gYSBub2RlIGlzIGV4cGFuZGVkLiAqLwogICAgICAubm9kZS5leHBhbmRlZCA+IC5ub2Rlc2hhcGUgPiAuYnV0dG9uY29udGFpbmVyID4gLmV4cGFuZGJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgICAubm9kZTpub3QoLmV4cGFuZGVkKSA+IC5ub2Rlc2hhcGUgPiAuYnV0dG9uY29udGFpbmVyID4gLmNvbGxhcHNlYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAuaGVhbHRoLXBpbGwtc3RhdHMgewogICAgICAgIGZvbnQtc2l6ZTogNHB4OwogICAgICAgIHRleHQtYW5jaG9yOiBtaWRkbGU7CiAgICAgIH0KCiAgICAgIC5oZWFsdGgtcGlsbCByZWN0IHsKICAgICAgICBmaWx0ZXI6IHVybCgjaGVhbHRoLXBpbGwtc2hhZG93KTsKICAgICAgICByeDogMzsKICAgICAgICByeTogMzsKICAgICAgfQoKICAgICAgLnRpdGxlQ29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdG9wOiAyMHB4OwogICAgICB9CgogICAgICAudGl0bGUsCiAgICAgIC5hdXhUaXRsZSwKICAgICAgLmZ1bmN0aW9uTGlicmFyeVRpdGxlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIH0KCiAgICAgICNtaW5pbWFwIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDIwcHg7CiAgICAgICAgYm90dG9tOiAyMHB4OwogICAgICB9CgogICAgICAuY29udGV4dC1tZW51IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlMmUyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbWluLXdpZHRoOiAxNTBweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDRkNGQ0OwogICAgICB9CgogICAgICAuY29udGV4dC1tZW51IHVsIHsKICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICAuY29udGV4dC1tZW51IHVsIGxpIHsKICAgICAgICBwYWRkaW5nOiA0cHggMTZweDsKICAgICAgfQoKICAgICAgLmNvbnRleHQtbWVudSB1bCBsaTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzOTEzZTsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJ0aXRsZUNvbnRhaW5lciI+CiAgICAgIDxkaXYgaWQ9InRpdGxlIiBjbGFzcz0idGl0bGUiPk1haW4gR3JhcGg8L2Rpdj4KICAgICAgPGRpdiBpZD0iYXV4VGl0bGUiIGNsYXNzPSJhdXhUaXRsZSI+QXV4aWxpYXJ5IE5vZGVzPC9kaXY+CiAgICAgIDxkaXYgaWQ9ImZ1bmN0aW9uTGlicmFyeVRpdGxlIiBjbGFzcz0iZnVuY3Rpb25MaWJyYXJ5VGl0bGUiPgogICAgICAgIEZ1bmN0aW9ucwogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPHN2ZyBpZD0ic3ZnIj4KICAgICAgPGRlZnM+CiAgICAgICAgCiAgICAgICAgPHBhdGggaWQ9InJlZmVyZW5jZS1hcnJvd2hlYWQtcGF0aCIgZD0iTSAwLDAgTCAxMCw1IEwgMCwxMCBDIDMsNyAzLDMgMCwwIiAvPgogICAgICAgIDxtYXJrZXIgY2xhc3M9InJlZmVyZW5jZS1hcnJvd2hlYWQiIGlkPSJyZWZlcmVuY2UtYXJyb3doZWFkLXNtYWxsIiB2aWV3Ym94PSIwIDAgMTAgMTAiIG1hcmtlcndpZHRoPSI1IiBtYXJrZXJoZWlnaHQ9IjUiIHJlZng9IjIiIHJlZnk9IjUiIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIiBtYXJrZXJ1bml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcmVmZXJlbmNlLWFycm93aGVhZC1wYXRoIiAvPgogICAgICAgIDwvbWFya2VyPgogICAgICAgIDxtYXJrZXIgY2xhc3M9InJlZmVyZW5jZS1hcnJvd2hlYWQiIGlkPSJyZWZlcmVuY2UtYXJyb3doZWFkLW1lZGl1bSIgdmlld2JveD0iMCAwIDEwIDEwIiBtYXJrZXJ3aWR0aD0iMTMiIG1hcmtlcmhlaWdodD0iMTMiIHJlZng9IjIiIHJlZnk9IjUiIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIiBtYXJrZXJ1bml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcmVmZXJlbmNlLWFycm93aGVhZC1wYXRoIiAvPgogICAgICAgIDwvbWFya2VyPgogICAgICAgIDxtYXJrZXIgY2xhc3M9InJlZmVyZW5jZS1hcnJvd2hlYWQiIGlkPSJyZWZlcmVuY2UtYXJyb3doZWFkLWxhcmdlIiB2aWV3Ym94PSIwIDAgMTAgMTAiIG1hcmtlcndpZHRoPSIxNiIgbWFya2VyaGVpZ2h0PSIxNiIgcmVmeD0iMiIgcmVmeT0iNSIgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiIG1hcmtlcnVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNyZWZlcmVuY2UtYXJyb3doZWFkLXBhdGgiIC8+CiAgICAgICAgPC9tYXJrZXI+CiAgICAgICAgPG1hcmtlciBjbGFzcz0icmVmZXJlbmNlLWFycm93aGVhZCIgaWQ9InJlZmVyZW5jZS1hcnJvd2hlYWQteGxhcmdlIiB2aWV3Ym94PSIwIDAgMTAgMTAiIG1hcmtlcndpZHRoPSIyMCIgbWFya2VyaGVpZ2h0PSIyMCIgcmVmeD0iMiIgcmVmeT0iNSIgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiIG1hcmtlcnVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNyZWZlcmVuY2UtYXJyb3doZWFkLXBhdGgiIC8+CiAgICAgICAgPC9tYXJrZXI+CgogICAgICAgIAogICAgICAgIDxwYXRoIGlkPSJkYXRhZmxvdy1hcnJvd2hlYWQtcGF0aCIgZD0iTSAwLDAgTCAxMCw1IEwgMCwxMCBDIDMsNyAzLDMgMCwwIiAvPgogICAgICAgIDxtYXJrZXIgY2xhc3M9ImRhdGFmbG93LWFycm93aGVhZCIgaWQ9ImRhdGFmbG93LWFycm93aGVhZC1zbWFsbCIgdmlld2JveD0iMCAwIDEwIDEwIiBtYXJrZXJ3aWR0aD0iNSIgbWFya2VyaGVpZ2h0PSI1IiByZWZ4PSIyIiByZWZ5PSI1IiBvcmllbnQ9ImF1dG8tc3RhcnQtcmV2ZXJzZSIgbWFya2VydW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI2RhdGFmbG93LWFycm93aGVhZC1wYXRoIiAvPgogICAgICAgIDwvbWFya2VyPgogICAgICAgIDxtYXJrZXIgY2xhc3M9ImRhdGFmbG93LWFycm93aGVhZCIgaWQ9ImRhdGFmbG93LWFycm93aGVhZC1tZWRpdW0iIHZpZXdib3g9IjAgMCAxMCAxMCIgbWFya2Vyd2lkdGg9IjEzIiBtYXJrZXJoZWlnaHQ9IjEzIiByZWZ4PSIyIiByZWZ5PSI1IiBvcmllbnQ9ImF1dG8tc3RhcnQtcmV2ZXJzZSIgbWFya2VydW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI2RhdGFmbG93LWFycm93aGVhZC1wYXRoIiAvPgogICAgICAgIDwvbWFya2VyPgogICAgICAgIDxtYXJrZXIgY2xhc3M9ImRhdGFmbG93LWFycm93aGVhZCIgaWQ9ImRhdGFmbG93LWFycm93aGVhZC1sYXJnZSIgdmlld2JveD0iMCAwIDEwIDEwIiBtYXJrZXJ3aWR0aD0iMTYiIG1hcmtlcmhlaWdodD0iMTYiIHJlZng9IjIiIHJlZnk9IjUiIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIiBtYXJrZXJ1bml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjZGF0YWZsb3ctYXJyb3doZWFkLXBhdGgiIC8+CiAgICAgICAgPC9tYXJrZXI+CiAgICAgICAgPG1hcmtlciBjbGFzcz0iZGF0YWZsb3ctYXJyb3doZWFkIiBpZD0iZGF0YWZsb3ctYXJyb3doZWFkLXhsYXJnZSIgdmlld2JveD0iMCAwIDEwIDEwIiBtYXJrZXJ3aWR0aD0iMjAiIG1hcmtlcmhlaWdodD0iMjAiIHJlZng9IjIiIHJlZnk9IjUiIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIiBtYXJrZXJ1bml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjZGF0YWZsb3ctYXJyb3doZWFkLXBhdGgiIC8+CiAgICAgICAgPC9tYXJrZXI+CgogICAgICAgIAogICAgICAgIDxtYXJrZXIgaWQ9ImFubm90YXRpb24tYXJyb3doZWFkIiBtYXJrZXJ3aWR0aD0iNSIgbWFya2VyaGVpZ2h0PSI1IiByZWZ4PSI1IiByZWZ5PSIyLjUiIG9yaWVudD0iYXV0byI+CiAgICAgICAgICA8cGF0aCBkPSJNIDAsMCBMIDUsMi41IEwgMCw1IEwgMCwwIiAvPgogICAgICAgIDwvbWFya2VyPgogICAgICAgIDxtYXJrZXIgaWQ9ImFubm90YXRpb24tYXJyb3doZWFkLWZhZGVkIiBtYXJrZXJ3aWR0aD0iNSIgbWFya2VyaGVpZ2h0PSI1IiByZWZ4PSI1IiByZWZ5PSIyLjUiIG9yaWVudD0iYXV0byI+CiAgICAgICAgICA8cGF0aCBkPSJNIDAsMCBMIDUsMi41IEwgMCw1IEwgMCwwIiAvPgogICAgICAgIDwvbWFya2VyPgogICAgICAgIDxtYXJrZXIgaWQ9InJlZi1hbm5vdGF0aW9uLWFycm93aGVhZCIgbWFya2Vyd2lkdGg9IjUiIG1hcmtlcmhlaWdodD0iNSIgcmVmeD0iMCIgcmVmeT0iMi41IiBvcmllbnQ9ImF1dG8iPgogICAgICAgICAgPHBhdGggZD0iTSA1LDAgTCAwLDIuNSBMIDUsNSBMIDUsMCIgLz4KICAgICAgICA8L21hcmtlcj4KICAgICAgICA8bWFya2VyIGlkPSJyZWYtYW5ub3RhdGlvbi1hcnJvd2hlYWQtZmFkZWQiIG1hcmtlcndpZHRoPSI1IiBtYXJrZXJoZWlnaHQ9IjUiIHJlZng9IjAiIHJlZnk9IjIuNSIgb3JpZW50PSJhdXRvIj4KICAgICAgICAgIDxwYXRoIGQ9Ik0gNSwwIEwgMCwyLjUgTCA1LDUgTCA1LDAiIC8+CiAgICAgICAgPC9tYXJrZXI+CiAgICAgICAgCiAgICAgICAgPGVsbGlwc2UgaWQ9Im9wLW5vZGUtc3RhbXAiIHJ4PSI3LjUiIHJ5PSIzIiBzdHJva2U9ImluaGVyaXQiIGZpbGw9ImluaGVyaXQiIC8+CiAgICAgICAgCiAgICAgICAgPGVsbGlwc2UgaWQ9Im9wLW5vZGUtYW5ub3RhdGlvbi1zdGFtcCIgcng9IjUiIHJ5PSIyIiBzdHJva2U9ImluaGVyaXQiIGZpbGw9ImluaGVyaXQiIC8+CiAgICAgICAgCiAgICAgICAgPGcgaWQ9Im9wLXNlcmllcy12ZXJ0aWNhbC1zdGFtcCI+CiAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSI4IiB5PSI5IiAvPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iOCIgeT0iNiIgLz4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtc3RhbXAiIHg9IjgiIHk9IjMiIC8+CiAgICAgICAgPC9nPgogICAgICAgIAogICAgICAgIDxnIGlkPSJvcC1zZXJpZXMtaG9yaXpvbnRhbC1zdGFtcCI+CiAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSIxNiIgeT0iNCIgLz4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtc3RhbXAiIHg9IjEyIiB5PSI0IiAvPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iOCIgeT0iNCIgLz4KICAgICAgICA8L2c+CiAgICAgICAgCiAgICAgICAgPGcgaWQ9Im9wLXNlcmllcy1hbm5vdGF0aW9uLXN0YW1wIj4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtYW5ub3RhdGlvbi1zdGFtcCIgeD0iOSIgeT0iMiIgLz4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtYW5ub3RhdGlvbi1zdGFtcCIgeD0iNyIgeT0iMiIgLz4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtYW5ub3RhdGlvbi1zdGFtcCIgeD0iNSIgeT0iMiIgLz4KICAgICAgICA8L2c+CiAgICAgICAgPHN2ZyBpZD0ic3VtbWFyeS1pY29uIiBmaWxsPSIjODQ4NDg0IiBoZWlnaHQ9IjEyIiB2aWV3Ym94PSIwIDAgMjQgMjQiIHdpZHRoPSIxMiI+CiAgICAgICAgICA8cGF0aCBkPSJNMTkgM0g1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6TTkgMTdIN3YtN2gydjd6bTQgMGgtMlY3aDJ2MTB6bTQgMGgtMnYtNGgydjR6IiAvPgogICAgICAgIDwvc3ZnPgoKICAgICAgICAKICAgICAgICA8cGF0dGVybiBpZD0icmVjdEhhdGNoIiBwYXR0ZXJudHJhbnNmb3JtPSJyb3RhdGUoNDUgMCAwKSIgd2lkdGg9IjUiIGhlaWdodD0iNSIgcGF0dGVybnVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgICAgICA8bGluZSB4MT0iMCIgeTE9IjAiIHgyPSIwIiB5Mj0iNSIgc3R5bGU9InN0cm9rZS13aWR0aDogMSIgLz4KICAgICAgICA8L3BhdHRlcm4+CiAgICAgICAgPHBhdHRlcm4gaWQ9ImVsbGlwc2VIYXRjaCIgcGF0dGVybnRyYW5zZm9ybT0icm90YXRlKDQ1IDAgMCkiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHBhdHRlcm51bml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICAgICAgPGxpbmUgeDE9IjAiIHkxPSIwIiB4Mj0iMCIgeTI9IjIiIHN0eWxlPSJzdHJva2Utd2lkdGg6IDEiIC8+CiAgICAgICAgPC9wYXR0ZXJuPgoKICAgICAgICAKICAgICAgICA8ZmlsdGVyIGlkPSJoZWFsdGgtcGlsbC1zaGFkb3ciIHg9Ii00MCUiIHk9Ii00MCUiIHdpZHRoPSIxODAlIiBoZWlnaHQ9IjE4MCUiPgogICAgICAgICAgPGZlZ2F1c3NpYW5ibHVyIGluPSJTb3VyY2VBbHBoYSIgc3RkRGV2aWF0aW9uPSIwLjgiIC8+CiAgICAgICAgICA8ZmVvZmZzZXQgZHg9IjAiIGR5PSIwIiByZXN1bHQ9Im9mZnNldGJsdXIiIC8+CiAgICAgICAgICA8ZmVmbG9vZCBmbG9vZC1jb2xvcj0iIzAwMDAwMCIgLz4KICAgICAgICAgIDxmZWNvbXBvc2l0ZSBpbjI9Im9mZnNldGJsdXIiIG9wZXJhdG9yPSJpbiIgLz4KICAgICAgICAgIDxmZW1lcmdlPgogICAgICAgICAgICA8ZmVtZXJnZW5vZGUgLz4KICAgICAgICAgICAgPGZlbWVyZ2Vub2RlIGluPSJTb3VyY2VHcmFwaGljIiAvPgogICAgICAgICAgPC9mZW1lcmdlPgogICAgICAgIDwvZmlsdGVyPgogICAgICA8L2RlZnM+CiAgICAgIAogICAgICA8cmVjdCBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjEwMDAwIiBoZWlnaHQ9IjEwMDAwIj48L3JlY3Q+CiAgICAgIDxnIGlkPSJyb290Ij48L2c+CiAgICA8L3N2Zz4KICAgIDx0Zi1ncmFwaC1taW5pbWFwIGlkPSJtaW5pbWFwIj48L3RmLWdyYXBoLW1pbmltYXA+CiAgICA8ZGl2IGlkPSJjb250ZXh0TWVudSIgY2xhc3M9ImNvbnRleHQtbWVudSI+PC9kaXY+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1ncmFwaCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAuY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsKICAgICAgfQoKICAgICAgLnZlcnRpY2FsIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXZlcnRpY2FsOwogICAgICB9CgogICAgICAuYXV0byB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXgtYXV0bzsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtdmVydGljYWw7CiAgICAgIH0KCiAgICAgIGgyIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIHBhcGVyLWJ1dHRvbiB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJ2ZXJ0aWNhbCI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW3RpdGxlXV0iPgogICAgICAgICAgPGgyPltbdGl0bGVdXTwvaDI+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGYtZ3JhcGgtc2NlbmUgaWQ9InNjZW5lIiBjbGFzcz0iYXV0byIgcmVuZGVyLWhpZXJhcmNoeT0iW1tyZW5kZXJIaWVyYXJjaHldXSIgaGlnaGxpZ2h0ZWQtbm9kZT0iW1tfZ2V0VmlzaWJsZShoaWdobGlnaHRlZE5vZGUpXV0iIHNlbGVjdGVkLW5vZGU9Int7c2VsZWN0ZWROb2RlfX0iIHNlbGVjdGVkLWVkZ2U9Int7c2VsZWN0ZWRFZGdlfX0iIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIgcHJvZ3Jlc3M9IltbcHJvZ3Jlc3NdXSIgbm9kZS1jb250ZXh0LW1lbnUtaXRlbXM9Iltbbm9kZUNvbnRleHRNZW51SXRlbXNdXSIgbm9kZS1uYW1lcy10by1oZWFsdGgtcGlsbHM9Iltbbm9kZU5hbWVzVG9IZWFsdGhQaWxsc11dIiBoZWFsdGgtcGlsbC1zdGVwLWluZGV4PSJ7e2hlYWx0aFBpbGxTdGVwSW5kZXh9fSIgaGFuZGxlLWVkZ2Utc2VsZWN0ZWQ9IltbaGFuZGxlRWRnZVNlbGVjdGVkXV0iIHRyYWNlLWlucHV0cz0iW1t0cmFjZUlucHV0c11dIj48L3RmLWdyYXBoLXNjZW5lPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZGVidWdnZXItY29udGludWUtZGlhbG9nIj4KICA8dGVtcGxhdGU+CiAgICA8cGFwZXItYnV0dG9uIHJhaXNlZCBjbGFzcz0iY29udGludWUtYnV0dG9uIiBvbi1jbGljaz0iX2NvbnRpbnVlQnV0dG9uQ2FsbGJhY2siPgogICAgICA8c3Bhbj5bW19jb250aW51ZUJ1dHRvblRleHRdXTwvc3Bhbj4KICAgIDwvcGFwZXItYnV0dG9uPgogICAgPHBhcGVyLWRpYWxvZyB3aXRoLWJhY2tkcm9wIGlkPSJjb250aW51ZURpYWxvZyI+CiAgICAgIDxoMj5Db250aW51ZS4uLjwvaDI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRpbnVlLXRvLXR5cGUiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRpbnVlLXRvLXR5cGUtbmFtZSI+CiAgICAgICAgICBPdmVyIFNlc3Npb24gUnVuczoKICAgICAgICA8L2Rpdj4KICAgICAgICA8cGFwZXItaW5wdXQgaWQ9ImNvbnRpbnVlTnVtIiBjbGFzcz0iaW5wdXQtYm94IiBsYWJlbD0iTnVtYmVyIG9mIFNlc3Npb24gUnVucyAoaW5jbHVkaW5nIHRoZSBjdXJyZW50IG9uZSk6IiBhbHdheXMtZmxvYXQtbGFiZWwgdHlwZT0ibnVtYmVyIiBtaW49IjEiIHN0ZXA9IjEiIHZhbHVlPSJ7e2NvbnRpbnVlTnVtfX0iPjwvcGFwZXItaW5wdXQ+CiAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGNsYXNzPSJnby1idXR0b24iIGljb249ImFycm93LWZvcndhcmQiIHRpdGxlPSJTZXNzaW9uIFJ1bnMgR28iIG9uLXRhcD0iX3Nlc3Npb25SdW5Hb0J1dHRvbkNhbGxiYWNrIj4KICAgICAgICA8L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29udGludWUtdG8tdHlwZSI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGludWUtdG8tdHlwZS1uYW1lIj4KICAgICAgICAgIFRpbGwgQ29uZGl0aW9uIE1ldCBieSBXYXRjaGVkIFRlbnNvcgogICAgICAgIDwvZGl2PgogICAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51IGlkPSJ0ZW5zb3JDb25kaXRpb25Ecm9wZG93biIgY2xhc3M9ImlucHV0LWJveCIgbm8tbGFiZWwtZmxvYXQ9InRydWUiIGxhYmVsPSJUZW5zb3IgQ29uZGl0aW9uIiBzZWxlY3RlZC1pdGVtLWxhYmVsPSJ7e19zZWxlY3RlZFRlbnNvckNvbmRpdGlvbn19Ij4KICAgICAgICAgIAogICAgICAgICAgPHBhcGVyLWxpc3Rib3ggaWQ9InRlbnNvckNvbmRpdGlvbk1lbnUiIGNsYXNzPSJkcm9wZG93bi1jb250ZW50IiBzbG90PSJkcm9wZG93bi1jb250ZW50Ij4KICAgICAgICAgICAgPHBhcGVyLWl0ZW0gbm8tbGFiZWwtZmxvYXQ9InRydWUiPkNvbnRhaW5zICsvLeKIniBvciBOYU48L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5Db250YWlucyArLy3iiJ48L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5Db250YWlucyBOYU48L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5NYXggJmd0OzwvcGFwZXItaXRlbT4KICAgICAgICAgICAgPHBhcGVyLWl0ZW0gbm8tbGFiZWwtZmxvYXQ9InRydWUiPk1heCAmbHQ7PC9wYXBlci1pdGVtPgogICAgICAgICAgICA8cGFwZXItaXRlbSBuby1sYWJlbC1mbG9hdD0idHJ1ZSI+TWluICZndDs8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5NaW4gJmx0OzwvcGFwZXItaXRlbT4KICAgICAgICAgICAgPHBhcGVyLWl0ZW0gbm8tbGFiZWwtZmxvYXQ9InRydWUiPk1heCAtIE1pbiAmZ3Q7PC9wYXBlci1pdGVtPgogICAgICAgICAgICA8cGFwZXItaXRlbSBuby1sYWJlbC1mbG9hdD0idHJ1ZSI+TWF4IC0gTWluICZsdDs8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5NZWFuICZndDs8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5NZWFuICZsdDs8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5TdGFuZGFyZCBkZXZpYXRpb24gJmd0OzwvcGFwZXItaXRlbT4KICAgICAgICAgICAgPHBhcGVyLWl0ZW0gbm8tbGFiZWwtZmxvYXQ9InRydWUiPlN0YW5kYXJkIGRldmlhdGlvbiAmbHQ7PC9wYXBlci1pdGVtPgogICAgICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgICAgIDwvcGFwZXItZHJvcGRvd24tbWVudT4KICAgICAgICA8cGFwZXItaWNvbi1idXR0b24gY2xhc3M9ImdvLWJ1dHRvbiIgaWNvbj0iYXJyb3ctZm9yd2FyZCIgdGl0bGU9IlRlbnNvciBDb25kaXRpb24gR28iIG9uLXRhcD0iX3RlbnNvckNvbnRpbnVlR29CdXR0b25DYWxsYmFjayI+CiAgICAgICAgPC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICA8cGFwZXItaW5wdXQgaWQ9InJlZi12YWx1ZSIgY2xhc3M9ImlucHV0LWJveCIgbGFiZWw9IlJlZmVyZW5jZSB2YWx1ZSB0byBjb21wYXJlIHRvIiB0eXBlPSJudW1iZXIiIHZhbHVlPSJ7e190ZW5zb3JDb25kaXRpb25SZWZWYWx1ZX19IiBoaWRkZW49IltbX2lzUmVmVmFsdWVJbnB1dEhpZGRlbl1dIj4KICAgICAgICA8L3BhcGVyLWlucHV0PgogICAgICA8L2Rpdj4KICAgIDwvcGFwZXItZGlhbG9nPgogICAgPHN0eWxlIGluY2x1ZGU9ImRhc2hib2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgLmNvbnRpbnVlLXRvLXR5cGUtbmFtZSB7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIH0KICAgICAgOmhvc3QgcGFwZXItZGlhbG9nIHsKICAgICAgICB3aWR0aDogMzZ2dzsKICAgICAgfQogICAgICA6aG9zdCAuaW5wdXQtYm94IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiA4MCU7CiAgICAgICAgZm9udC1zaXplOiAxMTAlOwogICAgICB9CiAgICAgIDpob3N0IC5nby1idXR0b24gewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTUlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWRlYnVnZ2VyLWluaXRpYWwtZGlhbG9nIj4KICA8dGVtcGxhdGU+CiAgICAKICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfb3Blbl1dIj4KICAgICAgPGRpdiBpZD0iZGFzaGJvYXJkLWJhY2tkcm9wIj48L2Rpdj4KICAgIDwvdGVtcGxhdGU+CiAgICA8cGFwZXItZGlhbG9nIGlkPSJkaWFsb2ciIG5vLWNhbmNlbC1vbi1vdXRzaWRlLWNsaWNrIG5vLWNhbmNlbC1vbi1lc2Mta2V5IG9wZW5lZD0ie3tfb3Blbn19Ij4KICAgICAgPGgyIGlkPSJkaWFsb2ctdGl0bGUiPltbX3RpdGxlXV08L2gyPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hhc0N1c3RvbU1lc3NhZ2VdXSI+CiAgICAgICAgPGRpdiBjbGFzcz0iY3VzdG9tLW1lc3NhZ2UiPltbX2N1c3RvbU1lc3NhZ2VdXTwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9oYXNDdXN0b21NZXNzYWdlXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtZXhhbXBsZSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWV4YW1wbGUtc2VjdGlvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtZXhhbXBsZS1zZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9hcGlfZG9jcy9weXRob24vdGYvU2Vzc2lvbiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+dGYuU2Vzc2lvbjwvYT46CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8cHJlIGNsYXNzPSJjb2RlLXNuaXBwZXQiPmltcG9ydCB0ZW5zb3JmbG93IGFzIHRmCmZyb20gdGVuc29yZmxvdy5weXRob24gaW1wb3J0IGRlYnVnIGFzIHRmX2RlYnVnCgpzZXNzID0gdGYuU2Vzc2lvbigpCnNlc3MgPSB0Zl9kZWJ1Zy5UZW5zb3JCb2FyZERlYnVnV3JhcHBlclNlc3Npb24oc2VzcywgIltbX2hvc3RdXTpbW19wb3J0XV0iKQpzZXNzLnJ1bihteV9mZXRjaGVzKQogICAgICAgICAgPC9wcmU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtZXhhbXBsZS1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1leGFtcGxlLXNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRlbnNvcmZsb3cub3JnL3Byb2dyYW1tZXJzX2d1aWRlL2VzdGltYXRvcnMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkVzdGltYXRvcjwvYT4KICAgICAgICAgICAgICB8CiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvYXBpX2RvY3MvcHl0aG9uL3RmL3RyYWluL01vbml0b3JlZFNlc3Npb24iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPk1vbml0b3JlZFNlc3Npb248L2E+OgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHByZSBjbGFzcz0iY29kZS1zbmlwcGV0Ij5pbXBvcnQgdGVuc29yZmxvdyBhcyB0Zgpmcm9tIHRlbnNvcmZsb3cucHl0aG9uIGltcG9ydCBkZWJ1ZyBhcyB0Zl9kZWJ1ZwoKaG9vayA9IHRmX2RlYnVnLlRlbnNvckJvYXJkRGVidWdIb29rKCJbW19ob3N0XV06W1tfcG9ydF1dIikKbXlfZXN0aW1hdG9yLmZpdCh4PXhfZGF0YSwgeT15X2RhdGEsIHN0ZXBzPTEwMDAsIG1vbml0b3JzPVtob29rXSkKICAgICAgICAgICAgPC9wcmU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtZXhhbXBsZS1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1leGFtcGxlLXNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8va2VyYXMuaW8vbW9kZWxzL21vZGVsLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+S2VyYXMgTW9kZWw8L2E+OgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHByZSBjbGFzcz0iY29kZS1zbmlwcGV0Ij5pbXBvcnQgdGVuc29yZmxvdyBhcyB0Zgpmcm9tIHRlbnNvcmZsb3cucHl0aG9uIGltcG9ydCBkZWJ1ZyBhcyB0Zl9kZWJ1ZwppbXBvcnQga2VyYXMKCmtlcmFzLmJhY2tlbmQuc2V0X3Nlc3Npb24oCiAgICB0Zl9kZWJ1Zy5UZW5zb3JCb2FyZERlYnVnV3JhcHBlclNlc3Npb24odGYuU2Vzc2lvbigpLCAiW1tfaG9zdF1dOltbX3BvcnRdXSIpKQojIERlZmluZSB5b3VyIGtlcmFzIG1vZGVsLCBjYWxsZWQgIm1vZGVsIi4KbW9kZWwuZml0KC4uLikKICAgICAgICAgICAgPC9wcmU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvcGFwZXItZGlhbG9nPgogICAgPHN0eWxlPgogICAgICAvKiogV2UgcmVseSBvbiBhIHNlcGFyYXRlIGBfaGlkZGVuYCBwcm9wZXJ0eSBpbnN0ZWFkIG9mIGRpcmVjdGx5IG1ha2luZyB1c2UKICAgICAgICAgIG9mIHRoZSBgX29wZW5gIGF0dHJpYnV0ZSBiZWNhdXNlIHRoaXMgQ1NTIHNwZWNpZmljYXRpb24gbWF5IHN0cmFuZ2VseQogICAgICAgICAgYWZmZWN0IG90aGVyIGVsZW1lbnRzIHRocm91Z2hvdXQgVGVuc29yQm9hcmQuIFNlZSAjODk5LiAqLwogICAgICA6aG9zdChbX2hpZGRlbl0pIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CiAgICAgIDpob3N0LAogICAgICAjZGFzaGJvYXJkLWJhY2tkcm9wIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICB9CgogICAgICAjZGFzaGJvYXJkLWJhY2tkcm9wIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgIH0KCiAgICAgIC5jb2RlLWV4YW1wbGUgewogICAgICAgIG1hcmdpbjogMTBweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICB9CiAgICAgIC5jb2RlLWV4YW1wbGUtc2VjdGlvbiB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7CiAgICAgIH0KICAgICAgLmNvZGUtZXhhbXBsZS1zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgfQogICAgICAuY29kZS1zbmlwcGV0IHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTsKICAgICAgfQoKICAgICAgI2RpYWxvZy10aXRsZSB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7CiAgICAgIH0KCiAgICAgIC5jdXN0b20tbWVzc2FnZSB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZGVidWdnZXItcmVzaXplciI+CiAgPHRlbXBsYXRlPgogICAgPGRpdiBjbGFzcz0iYmFycyI+CiAgICAgIDxkaXYgY2xhc3M9ImJhcnMtcm90YXRvciI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImJhcnMtdGV4dCI+fCB8PC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICA6aG9zdChbX3Jlc2l6ZXItaWRlbnRpZmllcl0pIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYmFja2dyb3VuZDogI2NjYzsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2lzLWhvcml6b250YWxdKSB7CiAgICAgICAgY3Vyc29yOiByb3ctcmVzaXplOwogICAgICAgIGhlaWdodDogMTBweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICB9CgogICAgICA6aG9zdChbX2lzLXZlcnRpY2FsXSkgewogICAgICAgIGN1cnNvcjogY29sLXJlc2l6ZTsKICAgICAgICByaWdodDogLTE1cHg7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICB3aWR0aDogMTBweDsKICAgICAgfQoKICAgICAgLmJhcnMgewogICAgICAgIHdpZHRoOiA4MCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgZm9udC1zaXplOiA1cHg7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgIH0KCiAgICAgIC8qKiBUaGlzIGJsb2NrIHByZXZlbnRzIHRoZSBiYXJzIHJvdGF0b3IgZnJvbSBoYXZpbmcgYSBoZWlnaHQgdGhhdCBpcwogICAgICAgICAgdGhlIGVudGlyZSB2aWV3cG9ydCwgdGh1cyBvY2NsdWRpbmcgaXQgYW5kIGdpdmluZyBpdCBhbiB1bmRlc2lyZWQgY3Vyc29yCiAgICAgICAgICB2YWx1ZS4gKi8KICAgICAgLmJhcnMtcm90YXRvciB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICA6aG9zdChbaXMtaG9yaXpvbnRhbF0pIC5iYXJzLXJvdGF0b3IgewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsKICAgICAgfQoKICAgICAgLmJhcnMtdGV4dCB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMTUpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLW9wLXNlbGVjdG9yIj4KICA8dGVtcGxhdGU+CiAgICA8ZGl2PgogICAgICA8cGFwZXItZHJvcGRvd24tbWVudSBpZD0iZmlsdGVyLW1vZGUiIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIiBsYWJlbD0iRmlsdGVyIE1vZGUiIHNlbGVjdGVkLWl0ZW0tbGFiZWw9Int7X2ZpbHRlck1vZGV9fSI+CiAgICAgICAgPHBhcGVyLWxpc3Rib3ggY2xhc3M9ImRyb3Bkb3duLWNvbnRlbnQiIHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiPgogICAgICAgICAgPHBhcGVyLWl0ZW0gbm8tbGFiZWwtZmxvYXQ9InRydWUiPk5vZGUgTmFtZTwvcGFwZXItaXRlbT4KICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIj5PcCBUeXBlPC9wYXBlci1pdGVtPgogICAgICAgIDwvcGFwZXItbGlzdGJveD4KICAgICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgogICAgICA8cGFwZXItaW5wdXQgaWQ9ImZpbHRlci1pbnB1dCIgbGFiZWw9IkZpbHRlciBSZWdleCIgYWx3YXlzLWZsb2F0LWxhYmVsIHZhbHVlPSJ7e19maWx0ZXJJbnB1dH19Ij48L3BhcGVyLWlucHV0PgogICAgPC9kaXY+CiAgICA8cGFwZXItc3Bpbm5lci1saXRlIGFjdGl2ZSBjbGFzcz0ic3Bpbm5lciIgaWQ9ImxvYWRpbmctc3Bpbm5lciIgaGlkZGVuPSJbWyFfaXNMb2FkaW5nXV0iPgogICAgPC9wYXBlci1zcGlubmVyLWxpdGU+CiAgICA8ZGl2IGlkPSJzZWxlY3Rvci1oaWVyYXJjaHkiPjwvZGl2PgogICAgPHN0eWxlPgogICAgICAuaW5kZW50ZWQtbGV2ZWwtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7CiAgICAgICAgbWFyZ2luOiAwIDAgMCAyMHB4OwogICAgICB9CgogICAgICAubGV2ZWwtY29udGFpbmVyIGlyb24tY29sbGFwc2UgewogICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7CiAgICAgIH0KCiAgICAgIHBhcGVyLWNoZWNrYm94IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIG1hcmdpbjogMCA4cHggMCAwOwogICAgICB9CgogICAgICAub3AtdHlwZSB7CiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDsKICAgICAgICBjb2xvcjogIzQ0NDsKICAgICAgfQoKICAgICAgLm9wLXRpdGxlLWxlYWYgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLm9wLXRpdGxlLWxlYWY6aG92ZXIgewogICAgICAgIGNvbG9yOiBibHVlOwogICAgICB9CgogICAgICAucGFydGlhbC1jaGVja2JveCB7CiAgICAgICAgYmFja2dyb3VuZDogI2Y1N2MwMDsKICAgICAgfQoKICAgICAgLm5vZGUtZXhwYW5kLWJ1dHRvbiB7CiAgICAgICAgbWFyZ2luOiAwIDAgMCAtMTNweDsKICAgICAgfQoKICAgICAgLmxldmVsLXRpdGxlLXRleHQgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBmb250LXdlaWdodDogODAwOwogICAgICAgIG1hcmdpbjogMCAwIDAgLTFweDsKICAgICAgfQoKICAgICAgLm9wLWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXdlaWdodDogMzAwOwogICAgICAgIG1hcmdpbjogMCAwIDAgMjdweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDA7CiAgICAgIH0KCiAgICAgIC5zcGlubmVyIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgfQoKICAgICAgI2ZpbHRlci1tb2RlIHsKICAgICAgICB3aWR0aDogMTUwcHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAjZmlsdGVyLWlucHV0IHsKICAgICAgICB3aWR0aDogMjUwcHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAuaGlnaGxpZ2h0ZWQgewogICAgICAgIGNvbG9yOiByZWQ7CiAgICAgIH0KICAgICAgLmhpZ2hsaWdodGVkID4gLm9wLXR5cGUgewogICAgICAgIGNvbG9yOiByZWQ7CiAgICAgIH0KCiAgICAgICNzZWxlY3Rvci1oaWVyYXJjaHkgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICBbaGlkZGVuXSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLXNlc3Npb24tcnVucy12aWV3Ij4KICA8dGVtcGxhdGU+CiAgICA8ZGl2IGNsYXNzPSJzZXNzaW9uLXJ1bnMtZGl2Ij4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+U2Vzc2lvbiBSdW5zPC9kaXY+CiAgICAgIDx0YWJsZSBpZD0ic2Vzc2lvbi1ydW5zLXRhYmxlIiBhbGlnbj0ibGVmdCIgY2xhc3M9InNlc3Npb24tcnVucy10YWJsZSI+CiAgICAgICAgPHRib2R5Pjx0ciBhbGlnbj0ibGVmdCI+CiAgICAgICAgICA8dGg+RmVlZHM8L3RoPgogICAgICAgICAgPHRoPkZldGNoZXM8L3RoPgogICAgICAgICAgPHRoPlRhcmdldHM8L3RoPgogICAgICAgICAgPHRoPiMoRGV2aWNlcyk8L3RoPgogICAgICAgICAgPHRoPkNvdW50PC90aD4KICAgICAgICA8L3RyPgogICAgICA8L3Rib2R5PjwvdGFibGU+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDIwcHggMDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTEwJTsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgfQogICAgICA6aG9zdCAuaW5kZW50ZWQtbGV2ZWwtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7CiAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4OwogICAgICB9CgogICAgICAvKiBUT0RPKGNhaXMpOiBUaGlzIG5lZWRzIHdvcms6IHRoZSB0YWJsZSBzaG91bGRuJ3QgZ2V0IHRvbyB3aWRlIHdoZW4KICAgICAgICAgdGhlcmUgYXJlIG1hbnkgZmVlZHMvZmV0Y2hlcy90YXJndGUgbmFtZXMuICovCiAgICAgIC5zZXNzaW9uLXJ1bnMtdGFibGUgewogICAgICAgIGFsaWduLWNvbnRlbnQ6IGxlZnQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGxlZnQ7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICBmb250LXNpemU6IDkwJTsKICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkIDFweCBibGFjazsKICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICBwYWRkaW5nLXRvcDogM3B4OwogICAgICAgIHBhZGRpbmctbGVmdDogM3B4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDNweDsKICAgICAgICBib3gtc2hhZG93OiAzcHggM3B4ICNkZGQ7CiAgICAgIH0KICAgICAgLmFjdGl2ZS1zZXNzaW9uLXJ1biB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZlMDsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgfQogICAgICAuc29sZS1hY3RpdmUtc2Vzc2lvbi1ydW4gewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNzIsIDIzMiwgMTg4KTsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgfQoKICAgICAgLm5vZGUtb3ItdGVuc29yLWVsZW1lbnQgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLm5vZGUtb3ItdGVuc29yLWVsZW1lbnQ6aG92ZXIgewogICAgICAgIGNvbG9yOiBibHVlOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtc291cmNlLWNvZGUtdmlldyI+CiAgPHRlbXBsYXRlPgogICAgPGRpdiBpZD0iZnVsbFN0YWNrRGlhbG9nIiBoaWRkZW4kPSJbWyFfZnVsbFN0YWNrU2hvd25dXSI+CiAgICAgIDxkaXYgaWQ9ImZ1bGwtc3RhY2stdGl0bGUiPgogICAgICAgIDxwYXBlci1pY29uLWJ1dHRvbiBpY29uPSJmaWx0ZXItbGlzdCIgZGlzYWJsZWQ9InRydWUiPgogICAgICAgIDwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgICAgRnVsbCBTdGFjayBUcmFjZSBvZiBOb2RlOgogICAgICAgIDxkaXYgaWQ9ImZ1bGwtc3RhY2stbm9kZS1uYW1lIj4iW1tfZnVsbFN0YWNrTm9kZU5hbWVdXSI8L2Rpdj4KICAgICAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0iY2xvc2UiIGlkPSJjbG9zZS1mdWxsLXN0YWNrLWJ1dHRvbiIgdGl0bGU9IkNsb3NlIEZ1bGwgU3RhY2siIG9uLXRhcD0iX2Nsb3NlRnVsbFN0YWNrRGlhbG9nIj4KICAgICAgICA8L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8L2Rpdj4KICAgICAgPHVsIGlkPSJmdWxsLXN0YWNrLWNvbnRlbnQiPjwvdWw+CiAgICA8L2Rpdj4KICAgIDxwYXBlci10YWJzIGlkPSJzb3VyY2UtZmlsZXMtdGFicyIgc2VsZWN0ZWQ9Int7X2ZpbGVQYXRoU2VsZWN0ZWR9fSI+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX3Nob3J0RmlsZVBhdGhzXV0iPgogICAgICAgIDxwYXBlci10YWIgaWQ9IltbaXRlbS5pZF1dIj5bW2l0ZW0ubmFtZV1dPC9wYXBlci10YWI+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L3BhcGVyLXRhYnM+CiAgICA8ZGl2IGlkPSJzb3VyY2UtZmlsZS1jb250ZW50IiBjbGFzcz0ic291cmNlLWNvbnRlbnQiPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19maWxlTGluZXNdXSI+CiAgICAgICAgPGRpdiBjbGFzcyQ9Int7aXRlbS5zb3VyY2VDbGFzc319IiBpZD0ic291cmNlLWxpbmUtW1tpdGVtLmxpbmVub11dIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJzb3VyY2UtbGluZS1udW1iZXIiIGlkPSJzb3VyY2UtbGluZW5vLVtbaXRlbS5saW5lbm9dXSI+CiAgICAgICAgICAgIFtbaXRlbS5saW5lbm9dXQogICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9InNvdXJjZS1saW5lLW5vZGUtdG9nZ2xlIiBpZD0ic291cmNlLWxpbmUtbm9kZS10b2dnbGUtW1tpdGVtLmxpbmVub11dIj4KICAgICAgICAgICAgW1tpdGVtLm51bU5vZGVzXV0KICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJzb3VyY2UtbGluZS10ZXh0IiBpZD0ic291cmNlLWxpbmUtdGV4dC1bW2l0ZW0ubGluZW5vXV0iPgogICAgICAgICAgICBbW2l0ZW0udGV4dF1dCiAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzb3VyY2UtbGluZS1ub2RlcyIgaWQ9InNvdXJjZS1saW5lLW5vZGVzLVtbaXRlbS5saW5lbm9dXSI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgI3NvdXJjZS1maWxlcy10YWJzIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgaGVpZ2h0OiA4JTsKICAgICAgfQogICAgICAuc291cmNlLWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDkwJTsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogOTAlOwogICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDsKICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7CiAgICAgIH0KICAgICAgLnNvdXJjZS1jb250ZW50IDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmYwMDsKICAgICAgfQogICAgICAuaGlnaGxpZ2h0ZWQtc291cmNlLWxpbmUgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZTA7CiAgICAgIH0KICAgICAgLnNvdXJjZS1saW5lLW51bWJlciB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGNvbG9yOiBsaWdodGJsdWU7CiAgICAgICAgd2lkdGg6IDJlbTsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07CiAgICAgIH0KICAgICAgLnNvdXJjZS1saW5lLW5vZGUtdG9nZ2xlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgY29sb3I6IGJsdWU7CiAgICAgICAgd2lkdGg6IDVlbTsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CiAgICAgIC5zb3VyY2UtbGluZS1ub2RlcyB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiA0ZW07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiBibHVlOwogICAgICAgIG1hcmdpbi10b3A6IDBlbTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwZW07CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07CiAgICAgIH0KICAgICAgLnNvdXJjZS1saW5lLW5vZGUtZW50cnkgewogICAgICAgIG1hcmdpbi1yaWdodDogMWVtOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKICAgICAgfQogICAgICAuc291cmNlLWxpbmUtbm9kZXMgc3BhbiB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKICAgICAgfQogICAgICAuc291cmNlLWxpbmUtdGV4dCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgfQogICAgICAjZnVsbFN0YWNrRGlhbG9nIHsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDEwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgd2lkdGg6IDQ1JTsKICAgICAgICBoZWlnaHQ6IDg1JTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBncmF5OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgYm94LXNoYWRvdzogM3B4IDNweCAjZGRkOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KICAgICAgI2Z1bGwtc3RhY2stdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTEwJTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIH0KICAgICAgI2Z1bGwtc3RhY2stbm9kZS1uYW1lIHsKICAgICAgICBjb2xvcjogYmx1ZTsKICAgICAgfQogICAgICA6aG9zdCAjZnVsbC1zdGFjay1jb250ZW50IHsKICAgICAgICBwYWRkaW5nLXRvcDogMWVtOwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNWVtOwogICAgICAgIG1hcmdpbi10b3A6IDAuNWVtOwogICAgICAgIGZvbnQtc2l6ZTogOTAlOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgfQogICAgICAuc3RhY2stZnJhbWUtY2xpY2thYmxlIHsKICAgICAgICBjb2xvcjogYmx1ZTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KICAgICAgLnN0YWNrLWZyYW1lLW5vbmNsaWNrYWJsZSB7CiAgICAgICAgY29sb3I6ICM1NTU7CiAgICAgIH0KICAgICAgI2Nsb3NlLWZ1bGwtc3RhY2stYnV0dG9uIHsKICAgICAgICBmbG9hdDogcmlnaHQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi10ZW5zb3ItZGF0YS1zdW1tYXJ5Ij4KICA8dGVtcGxhdGU+CiAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+VGVuc29yIFZhbHVlIE92ZXJ2aWV3PC9zcGFuPgogICAgPGRpdiBpZD0idGVuc29yLWRhdGEtZGl2IiBjbGFzcz0idGVuc29yLWRhdGEtZGl2Ij4KICAgICAgPHRhYmxlIGlkPSJ0ZW5zb3ItZGF0YS10YWJsZSIgYWxpZ249ImxlZnQiIGNsYXNzPSJ0ZW5zb3ItZGF0YS10YWJsZSI+CiAgICAgICAgPHRoZWFkPgogICAgICAgICAgPHRyIGFsaWduPSJsZWZ0Ij4KICAgICAgICAgICAgPHRoPlRlbnNvcjwvdGg+CiAgICAgICAgICAgIDx0aD5Db3VudDwvdGg+CiAgICAgICAgICAgIDx0aD5EVHlwZTwvdGg+CiAgICAgICAgICAgIDx0aD5TaGFwZTwvdGg+CiAgICAgICAgICAgIDx0aCB3aWR0aD0iMjUlIj5WYWx1ZTwvdGg+CiAgICAgICAgICAgIDx0aCB3aWR0aD0iMjUlIj4KICAgICAgICAgICAgICBIZWFsdGggUGlsbAogICAgICAgICAgICAgIDxwYXBlci10b2dnbGUtYnV0dG9uIGlkPSJzaG93LWhlYWx0aC1waWxscyIgY2hlY2tlZD0ie3tfaGVhbHRoUGlsbHNFbmFibGVkfX0iPgogICAgICAgICAgICAgIDwvcGFwZXItdG9nZ2xlLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItY2FyZD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWx0aC1waWxsLWxlZ2VuZCIgaWQ9ImhlYWx0aC1waWxsLWxlZ2VuZCI+PC9kaXY+CiAgICAgICAgICAgICAgPC9wYXBlci1jYXJkPgogICAgICAgICAgICA8L3RoPgogICAgICAgICAgICA8dGggd2lkdGg9IjUlIj48L3RoPgogICAgICAgICAgPC90cj4KICAgICAgICA8L3RoZWFkPgogICAgICAgIDx0Ym9keT48L3Rib2R5PgogICAgICA8L3RhYmxlPgogICAgPC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0ICN0ZW5zb3ItZGF0YS1kaXYgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDExMCU7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIH0KICAgICAgOmhvc3QgLmluZGVudGVkLWxldmVsLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgewogICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDsKICAgICAgfQogICAgICA6aG9zdCAudGVuc29yLWRhdGEtdGFibGUgewogICAgICAgIGFsaWduLWNvbnRlbnQ6IGxlZnQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGxlZnQ7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBhZGRpbmctdG9wOiAzcHg7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7CiAgICAgICAgcGFkZGluZy1yaWdodDogM3B4OwogICAgICAgIGJveC1zaGFkb3c6IDNweCAzcHggI2RkZDsKICAgICAgfQogICAgICA6aG9zdCAjdGVuc29yLWRhdGEtdGFibGUgdGggewogICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CiAgICAgIH0KICAgICAgOmhvc3QgLmFjdGl2ZS10ZW5zb3IgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZTA7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzg4ODsKICAgICAgfQogICAgICA6aG9zdCAuaGlnaGxpZ2h0ZWQgewogICAgICAgIGNvbG9yOiByZWQ7CiAgICAgIH0KICAgICAgOmhvc3QgLmhlYWx0aC1waWxsLWxlZ2VuZCB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgIH0KICAgICAgOmhvc3QgI3Nob3ctaGVhbHRoLXBpbGxzIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KICAgICAgLnZhbHVlLWV4cGFuc2lvbi1saW5rIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KICAgICAgLnZhbHVlLWV4cGFuc2lvbi1saW5rIDpob3ZlciB7CiAgICAgICAgY29sb3I6IGJsdWU7CiAgICAgIH0KICAgICAgLmhlYWx0aC1waWxsIDpob3ZlciB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CiAgICAgIC50ZW5zb3ItbmFtZSB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CiAgICAgIC50ZW5zb3ItbmFtZSA6aG92ZXIgewogICAgICAgIGNvbG9yOiBibHVlOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGVuc29yLXdpZGdldC1zdHlsZSI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPi8qIENvcHlyaWdodCAyMDE5IFRoZSBUZW5zb3JGbG93IEF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgpZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuClNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgoudGVuc29yLXdpZGdldCB7CiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICBmb250LXNpemU6IDE0cHg7CiAgb3ZlcmZsb3cteDogaGlkZGVuOwogIG92ZXJmbG93LXk6IGhpZGRlbjsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi50ZW5zb3Itd2lkZ2V0LWRpbSB7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiKDE2MCwgMTYwLCAxNjApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXNpemU6IDEycHg7CiAgaGVpZ2h0OiAxNHB4OwogIGxpbmUtaGVpZ2h0OiAxNHB4OwogIG1hcmdpbi1sZWZ0OiAxNXB4OwogIG1hcmdpbi1yaWdodDogMTVweDsKICBwYWRkaW5nOiAycHg7Cn0KCi50ZW5zb3Itd2lkZ2V0LWRpbS1jb21tYSB7CiAgY29sb3I6IHJnYigxMjgsIDEyOCwgMTI4KTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZm9udC1zaXplOiAxMnB4OwogIGhlaWdodDogMTRweDsKICBsaW5lLWhlaWdodDogMTRweDsKfQoKLnRlbnNvci13aWRnZXQtZGltLWhpZ2hsaWdodGVkIHsKICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMTAwLCAxODAsIDI1NSk7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7Cn0KCi50ZW5zb3Itd2lkZ2V0LWRpbS1icmFja2V0cyB7CiAgY29sb3I6IHJnYigxMjgsIDEyOCwgMTI4KTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZm9udC1zaXplOiA4cHQ7Cn0KCi50ZW5zb3Itd2lkZ2V0LWRpbS1kcm9wZG93biB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYigxMjgsIDEyOCwgMTI4KTsKICBib3gtc2hhZG93OiAycHggMnB4IDJweCAjYjBiMGIwOwogIGN1cnNvcjogcG9pbnRlcjsKICB3aWR0aDogMTgwcHg7CiAgei1pbmRleDogMTAwMDsKfQoKLnRlbnNvci13aWRnZXQtZGltLWRyb3Bkb3duLW1lbnUtaXRlbSB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYigxODAsIDE4MCwgMTgwKTsKICBmb250LXNpemU6IDEycHg7CiAgcGFkZGluZzogM3B4OwogIHVzZXItc2VsZWN0OiBub25lOwp9CgoudGVuc29yLXdpZGdldC1kaW0tZHJvcGRvd24tbWVudS1pdGVtLWFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEwMCwgMTgwLCAyNTUpOwp9CgoudGVuc29yLXdpZGdldC1kaW0tZHJvcGRvd24tbWVudS1pdGVtLWRpc2FibGVkIHsKICBjb2xvcjogcmdiKDEyOCwgMTI4LCAxMjgpOwp9CgoudGVuc29yLXdpZGdldC1kdHlwZSB7CiAgYWxpZ24tY29udGVudDogY2VudGVyOwogIGNvbG9yOiByZ2IoNjAsIDYwLCA2MCk7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtc2l6ZTogOHB0OwogIGhlaWdodDogNDhweDsKICBsaW5lLWhlaWdodDogMjJweDsKICBtYXgtaGVpZ2h0OiAyMnB4OwogIHBhZGRpbmctbGVmdDogMTRweDsKICBwYWRkaW5nLXJpZ2h0OiAxMHB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9CgoudGVuc29yLXdpZGdldC1kdHlwZS1sYWJlbCB7CiAgY29sb3I6IHJnYigxMjgsIDEyOCwgMTI4KTsKfQoKLnRlbnNvci13aWRnZXQtaGVhZGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUyLCAyNTIsIDI1Mik7CiAgYm94LXNoYWRvdzogMnB4IDJweCAycHggI2IwYjBiMDsKICBoZWlnaHQ6IDQwcHg7CiAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgbWF4LWhlaWdodDogNDBweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aWR0aDogMTAwJTsKfQoKLnRlbnNvci13aWRnZXQtaW5mbyB7CiAgYWxpZ24tY29udGVudDogY2VudGVyOwogIGNvbG9yOiByZ2IoMCwgMCwgMjU1KTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZm9udC1zaXplOiA4cHQ7CiAgaGVpZ2h0OiAyMnB4OwogIGxpbmUtaGVpZ2h0OiAyMnB4OwogIG1hcmdpbi1sZWZ0OiA4cHg7CiAgbWF4LWhlaWdodDogMjJweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoKLnRlbnNvci13aWRnZXQtbWVudS10aHVtYiB7CiAgY29sb3I6IHJnYigzMiwgMzMsIDM2KTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtd2VpZ2h0OiBib2xkOwogIGZvbnQtc2l6ZTogMTZweDsKICBtYXJnaW4tbGVmdDogMTBweDsKICBtYXJnaW4tcmlnaHQ6IDVweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdXNlci1zZWxlY3Q6IG5vbmU7Cn0KCi50ZW5zb3Itd2lkZ2V0LW1lbnUtdGh1bWI6aG92ZXIgewogIGNvbG9yOiByZ2IoMjI3LCAxMTYsIDApOwp9CgoudGVuc29yLXdpZGdldC1zaGFwZSB7CiAgY29sb3I6IHJnYig2MCwgNjAsIDYwKTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgbWFyZ2luLWxlZnQ6IDEycHg7Cn0KCi50ZW5zb3Itd2lkZ2V0LXNoYXBlLWxhYmVsIHsKICBjb2xvcjogcmdiKDEyOCwgMTI4LCAxMjgpOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLnRlbnNvci13aWRnZXQtc2hhcGUtdmFsdWUgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLnRlbnNvci13aWRnZXQtc2xpY2luZy1ncm91cCB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1MCwgMjUwLCAyNTApOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2IoMTkwLCAxOTAsIDE5MCk7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAxOHB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBwYWRkaW5nLWJvdHRvbTogNXB4OwogIHBhZGRpbmctdG9wOiA1cHg7Cn0KCi50ZW5zb3Itd2lkZ2V0LXRlbnNvci1uYW1lIHsKICBjb2xvcjogYmxhY2s7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtd2VpZ2h0OiBib2xkOwp9CgoudGVuc29yLXdpZGdldC1sZWZ0LXJ1bGVyLXRpY2sgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJ1bGVyLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci1zdHlsZSk7CiAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXN0eWxlKTsKICBib3gtc2hhZG93OiB2YXIoLS1ib3JkZXItc3R5bGUpOwogIGNvbG9yOiByZ2IoMTEwLCAxMTAsIDExMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXNpemU6IDEycHg7CiAgaGVpZ2h0OiAyOXB4OwogIGxpbmUtaGVpZ2h0OiAyOXB4OwogIG1hcmdpbi1sZWZ0OiAwcHg7CiAgbWF4LXdpZHRoOiA0NXB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB1c2VyLXNlbGVjdDogbm9uZTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHdpZHRoOiA0NXB4Owp9CgoudGVuc29yLXdpZGdldC10b3AtcnVsZXIgewogIGhlaWdodDogMjRweDsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS10b29sdGlwIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiKDE2MCwgMTYwLCAxNjApOwogIGJveC1zaGFkb3c6IDFweCAxcHggMXB4ICNiMGIwYjA7CiAgZGlzcGxheTogbm9uZTsKICBmb250LXNpemU6IDEzcHg7CiAgcGFkZGluZzogNXB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB1c2VyLXNlbGVjdDogbm9uZTsKICB3aWR0aDogMjQwcHg7Cn0KCi50ZW5zb3Itd2lkZ2V0LXZhbHVlLXRvb2x0aXAtY29sb3JiYXIgewogIGhlaWdodDogMjRweDsKICB3aWR0aDogOTUlOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS10b29sdGlwLWluZGljZXMgewogIGZvbnQtd2VpZ2h0OiBib2xkOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS10b29sdGlwLXZhbHVlIHsKICBtYXJnaW4tdG9wOiAyMHB4Owp9CgoudGVuc29yLXdpZGdldC10b3AtcnVsZXItdGljayB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcnVsZXItYmFja2dyb3VuZC1jb2xvcik7CiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXN0eWxlKTsKICBib3JkZXItcmlnaHQ6IHZhcigtLWJvcmRlci1zdHlsZSk7CiAgY29sb3I6IHJnYigxMTAsIDExMCwgMTEwKTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtc2l6ZTogMTJweDsKICBoZWlnaHQ6IDI0cHg7CiAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgcGFkZGluZy1yaWdodDogMnB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB1c2VyLXNlbGVjdDogbm9uZTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHdpZHRoOiA0NXB4Owp9CgoudGVuc29yLXdpZGdldC12YWx1ZS1kaXYgewogIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci1zdHlsZSk7CiAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1ib3JkZXItc3R5bGUpOwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZm9udC1zaXplOiA4MCU7CiAgaGVpZ2h0OiAyNHB4OwogIGxpbmUtaGVpZ2h0OiAyNHB4OwogIG1heC13aWR0aDogNDVweDsKICBwYWRkaW5nLXJpZ2h0OiAycHg7CiAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aWR0aDogNDVweDsKfQoKLnRlbnNvci13aWRnZXQtdmFsdWUtZGl2LXNlbGVjdGlvbiB7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7Cn0KCi50ZW5zb3Itd2lkZ2V0LXZhbHVlLWRpdi1zZWxlY3Rpb24tYm90dG9tIHsKICBib3JkZXItYm90dG9tOiAwLjVweCBzb2xpZCBibHVlOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS1kaXYtc2VsZWN0aW9uLWxlZnQgewogIGJvcmRlci1sZWZ0OiAwLjVweCBzb2xpZCBibHVlOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS1kaXYtc2VsZWN0aW9uLXJpZ2h0IHsKICBib3JkZXItcmlnaHQ6IDAuNXB4IHNvbGlkIGJsdWU7Cn0KCi50ZW5zb3Itd2lkZ2V0LXZhbHVlLWRpdi1zZWxlY3Rpb24tdG9wIHsKICBib3JkZXItdG9wOiAwLjVweCBzb2xpZCBibHVlOwp9CgoudGVuc29yLXdpZGdldC12YWx1ZS1zZWN0aW9uIHsKICAtLWJvcmRlci1zdHlsZTogMXB4IHNvbGlkIHJnYigxNDAsIDE0MCwgMTQwKTsKICAtLXJ1bGVyLWJhY2tncm91bmQtY29sb3I6IHJnYigyMTAsIDIxMCwgMjEwKTsKICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7CiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOwogIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7Cn0KCi50ZW5zb3Itd2lkZ2V0LXZhbHVlLXJvdyB7CiAgaGVpZ2h0OiAyNXB4OwogIGxpbmUtaGVpZ2h0OiAyNXB4OwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWRlYnVnZ2VyLWxpbmUtY2hhcnQiPgogIDx0ZW1wbGF0ZT4KICAgIDx2ei1saW5lLWNoYXJ0MiB4LWNvbXBvbmVudHMtY3JlYXRpb24tbWV0aG9kPSJbW19saW5lQ2hhcnRYQ29tcG9uZW50c0NyZWF0aW9uTWV0aG9kXV0iIHktdmFsdWUtYWNjZXNzb3I9IltbX2xpbmVDaGFydFlWYWx1ZUFjY2Vzc29yXV0iIHRvb2x0aXAtY29sdW1ucz0iW1tfbGluZUNoYXJ0VG9vbHRpcENvbHVtbnNdXSIgc21vb3RoaW5nLWVuYWJsZWQ9IltbX2xpbmVDaGFydFNtb290aGluZ0VuYWJsZWRdXSI+PC92ei1saW5lLWNoYXJ0Mj4KICAgIDxzdHlsZT4KICAgICAgdnotbGluZS1jaGFydDIgewogICAgICAgIGhlaWdodDogMzAwcHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLXRlbnNvci12YWx1ZS12aWV3Ij4KICA8dGVtcGxhdGU+CiAgICA8cGFwZXItdG9hc3QgaWQ9InRlbnNvclZhbHVlVG9hc3QiIHRleHQ9IiIgYWx3YXlzLW9uLXRvcD48L3BhcGVyLXRvYXN0PgogICAgPHRhYmxlIGNsYXNzPSJ0ZW5zb3ItdmFsdWUtdmlldy10YWJsZSI+CiAgICAgIDx0Ym9keT48dHI+CiAgICAgICAgPHRkIGNvbHNwYW49IjIiPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPHBhcGVyLWl0ZW0gaWQ9InRlbnNvci1uYW1lIiBvbi10YXA9InRlbnNvck5hbWVDYWxsYmFjayI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRlbnNvci1uYW1lLXRleHQiPltbdGVuc29yTmFtZV1dPC9zcGFuPgogICAgICAgICAgICA8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxwYXBlci1pY29uLWJ1dHRvbiBpY29uPSJjbG9zZSIgY2xhc3M9InZhbHVlLXZpZXctaWNvbi1idXR0b24iIGlkPSJ2YWx1ZS12aWV3LWljb24tYnV0dG9uIiB0aXRsZT0iQ2xvc2UiIG9uLXRhcD0iY2xvc2VCdXR0b25DYWxsYmFjayI+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249ImZvcndhcmQiIGNsYXNzPSJ2YWx1ZS12aWV3LWljb24tYnV0dG9uIiBpZD0idmFsdWUtdmlldy1pY29uLWJ1dHRvbiIgdGl0bGU9IkNvbnRpbnVlIHRvIiBvbi10YXA9ImNvbnRpbnVlVG9CdXR0b25DYWxsYmFjayI+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0ciBjbGFzcz0idGVuc29yLXZhbHVlLXZhbHVlLXRyIj4KICAgICAgICA8dGQ+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3VzZVRlbnNvcldpZGdldF1dIj4KICAgICAgICAgICAgPGRpdiBpZD0idGVuc29yLXdpZGdldCI+PC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgoKICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX3VzZVRlbnNvcldpZGdldF1dIj4KICAgICAgICAgICAgPHBhcGVyLWl0ZW0gaWQ9ImRlYnVnLW9wIj48L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgPHBhcGVyLWlucHV0IGNsYXNzPSJpbmxpbmUgdmFsdWUtY2FyZC1pbnB1dCIgbGFiZWw9IlNsaWNpbmciIGlkPSJzbGljaW5nIiB2YWx1ZT0ie3tzbGljaW5nfX0iIG9uLWNoYW5nZT0icmVmcmVzaCI+CiAgICAgICAgICAgICAgPC9wYXBlci1pbnB1dD4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPHBhcGVyLWlucHV0IGNsYXNzPSJpbmxpbmUgdmFsdWUtY2FyZC1pbnB1dCIgbGFiZWw9IlRpbWUgSW5kaWNlcyIgaWQ9InRpbWUtaW5kaWNlcyIgdmFsdWU9Int7dGltZUluZGljZXN9fSIgb24tY2hhbmdlPSJyZWZyZXNoIj4KICAgICAgICAgICAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIHJhaXNlZCBpZD0idGltZS1pbmRpY2VzLXRvZ2dsZS1idXR0b24iIGNsYXNzPSJ0ZW5zb3ItdmFsdWUtYnV0dG9ucyIgb24tY2xpY2s9Il90aW1lSW5kaWNlc1RvZ2dsZUJ1dHRvbkNhbGxiYWNrIj5GdWxsIEhpc3Rvcnk8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgPC9kaXY+PC90ZW1wbGF0ZT48L3RkPjx0ZCBjbGFzcz0idGVuc29yLXZhbHVlLXZpZXctdGQiPgogICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc1ZhbHVlU2NhbGFyXV0iPgogICAgICAgICAgICAgICAgICA8cGFwZXItaW5wdXQgY2xhc3M9ImlubGluZSIgbGFiZWw9IlNjYWxhciBWYWx1ZSIgaWQ9InZhbHVlLXNjYWxhciIgdmFsdWU9IltbX2RhdGFTY2FsYXJdXSI+CiAgICAgICAgICAgICAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc1ZhbHVlTGluZUNoYXJ0XV0iPgogICAgICAgICAgICAgICAgICA8dGYtZGVidWdnZXItbGluZS1jaGFydCBkYXRhPSJbW19saW5lQ2hhcnREYXRhXV0iPjwvdGYtZGVidWdnZXItbGluZS1jaGFydD4KICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzVmFsdWVJbWFnZV1dIj4KICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0idmFsdWUtaW1hZ2UiIGhlaWdodD0iMjUwcHgiIHdpZHRoPSIyNTBweCIgc3JjJD0iW1tfZGF0YUltYWdlU3JjXV0iPgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAKICAgICAgICAgIAogICAgICAgIAogICAgICA8L3RyPgogICAgPC90Ym9keT48L3RhYmxlPgoKICAgIDxzdHlsZSBpbmNsdWRlPSJ0ZW5zb3Itd2lkZ2V0LXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICAudGVuc29yLXZhbHVlLWJ1dHRvbnMgewogICAgICAgIGhlaWdodDogNzUlOwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgfQogICAgICAudGVuc29yLXZhbHVlLXZpZXctdGFibGUgewogICAgICAgIHdpZHRoOiA1MDBweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7CiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDVweDsKICAgICAgICBwYWRkaW5nLXRvcDogM3B4OwogICAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7CiAgICAgICAgcGFkZGluZy1yaWdodDogM3B4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7CiAgICAgICAgYm94LXNoYWRvdzogM3B4IDNweCAxcHggMXB4ICNkOGQ4ZDg7CiAgICAgIH0KICAgICAgLnRlbnNvci12YWx1ZS12aWV3LXRkIHsKICAgICAgICB3aWR0aDogMzUwcHg7CiAgICAgIH0KICAgICAgLnZhbHVlLWNhcmQtaW5wdXQgewogICAgICAgIHdpZHRoOiAxNTBweDsKICAgICAgfQogICAgICAjdGVuc29yLW5hbWUgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDUwJTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KICAgICAgLnRlbnNvci1uYW1lLXRleHQgewogICAgICAgIGNvbG9yOiBibHVlOwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CiAgICAgICNkZWJ1Zy1vcCB7CiAgICAgICAgZm9udC1zaXplOiA5MCU7CiAgICAgIH0KICAgICAgLnZhbHVlLWltYWdlIHsKICAgICAgICBpbWFnZS1yZW5kZXJpbmc6IHBpeGVsYXRlZDsKICAgICAgfQogICAgICAudmFsdWUtdmlldy1pY29uLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGZsb2F0OiByaWdodDsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICB3aWR0aDogMjAlOwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDkwJTsKICAgICAgICBjb2xvcjogYmx1ZTsKICAgICAgfQogICAgICAjdGVuc29yLXdpZGdldCB7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDE2MCwgMTYwLCAxNjApOwogICAgICAgIC8qIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OwogICAgICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7CiAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgKi8KICAgICAgICBoZWlnaHQ6IDI4MHB4OwogICAgICAgIHdpZHRoOiA0ODRweDsKICAgICAgfQogICAgICAjc2xpY2luZywKICAgICAgI3RpbWUtaW5kaWNlcyB7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQ6IHsKICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgfQogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtdGVuc29yLXZhbHVlLW11bHRpLXZpZXciPgogIDx0ZW1wbGF0ZT4KICAgIDxkaXYgaWQ9Im11bHRpVmlldyI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlRlbnNvciBWYWx1ZXM8L2Rpdj4KICAgICAgPGRpdiBpZD0ibXVsdGktdGVuc29yLXZpZXctY29udGFpbmVyIj48L2Rpdj4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMTAlOwogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICB9CiAgICAgICNtdWx0aVZpZXcgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICAgICAgcGFkZGluZy10b3A6IDNweDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDNweDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7CiAgICAgICAgYm94LXNoYWRvdzogM3B4IDNweCAjZWVlOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZGVidWdnZXItZGFzaGJvYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8cGFwZXItdG9hc3QgaWQ9InRvYXN0IiB0ZXh0PSIiIGFsd2F5cy1vbi10b3A+PC9wYXBlci10b2FzdD4KICAgIDx0Zi1kZWJ1Z2dlci1pbml0aWFsLWRpYWxvZyBpZD0iaW5pdGlhbERpYWxvZyI+PC90Zi1kZWJ1Z2dlci1pbml0aWFsLWRpYWxvZz4KICAgIAogICAgPHRmLWRhc2hib2FyZC1sYXlvdXQ+CiAgICAgIDxkaXYgY2xhc3M9InNpZGViYXIiIHNsb3Q9InNpZGViYXIiIGlkPSJsZWZ0LXBhbmUiPgogICAgICAgIDxkaXYgaWQ9Im5vZGUtZW50cmllcyIgY2xhc3M9Im5vZGUtZW50cmllcyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZWJ1Z2dlci1zZWN0aW9uLXRpdGxlIj5SdW50aW1lIE5vZGUgTGlzdDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLXNvdXJjZS1jb2RlIj4KICAgICAgICAgICAgU2hvdyBDb2RlOgogICAgICAgICAgICA8cGFwZXItdG9nZ2xlLWJ1dHRvbiBjbGFzcz0idG9nZ2xlLXNvdXJjZS1jb2RlIiBpZD0ic2hvdy1zb3VyY2UtY29kZSIgY2hlY2tlZD0ie3tfc291cmNlQ29kZVNob3dufX0iPjwvcGFwZXItdG9nZ2xlLWJ1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPHRmLW9wLXNlbGVjdG9yIGRlYnVnLXdhdGNoZXM9IltbX2RlYnVnV2F0Y2hlc11dIiBkZWJ1Zy13YXRjaC1jaGFuZ2U9IltbX2NyZWF0ZURlYnVnV2F0Y2hDaGFuZ2VIYW5kbGVyKCldXSIgbm9kZS1jbGlja2VkPSJbW19jcmVhdGVOb2RlQ2xpY2tlZEhhbmRsZXIoKV1dIiBmb3JjZS1leHBhbmQtYW5kLWNoZWNrLW5vZGUtbmFtZT0iW1tfZm9yY2VFeHBhbmRBbmRDaGVja05vZGVOYW1lXV0iIGZvcmNlLWV4cGFuZC1ub2RlLW5hbWU9IltbX2ZvcmNlRXhwYW5kTm9kZU5hbWVdXSI+CiAgICAgICAgICA8L3RmLW9wLXNlbGVjdG9yPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgaWQ9InNvdXJjZS1jb2RlLXZpZXctZGl2IiBjbGFzcz0ic291cmNlLWNvZGUtdmlldy1kaXYiIGhpZGRlbiQ9Int7IV9zb3VyY2VDb2RlU2hvd259fSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZWJ1Z2dlci1zZWN0aW9uLXRpdGxlIj5Tb3VyY2UgQ29kZTwvZGl2PgogICAgICAgICAgPHRmLXNvdXJjZS1jb2RlLXZpZXcgaWQ9InNvdXJjZUNvZGVWaWV3IiByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iIGRlYnVnLXdhdGNoZXM9IltbX2RlYnVnV2F0Y2hlc11dIiBmb2N1cy1ub2RlLW5hbWU9IltbX3NvdXJjZUZvY3VzTm9kZU5hbWVdXSIgbm9kZS1jbGlja2VkPSJbW19jcmVhdGVOb2RlQ2xpY2tlZEhhbmRsZXIoKV1dIiBjb250aW51ZS10by1ub2RlPSJbW19jcmVhdGVDb250aW51ZVRvTm9kZUhhbmRsZXIoKV1dIj48L3RmLXNvdXJjZS1jb2RlLXZpZXc+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPHRmLWRlYnVnZ2VyLXJlc2l6ZXIgY3VycmVudC1sZW5ndGg9Int7X2xlZnRQYW5lV2lkdGh9fSIgbWluLWxlbmd0aD0iW1tfbWlubGVmdFBhbmVXaWR0aF1dIiBtYXgtbGVuZ3RoPSJbW19tYXhsZWZ0UGFuZVdpZHRoXV0iPgogICAgICAgIDwvdGYtZGVidWdnZXItcmVzaXplcj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPHRmLXNlc3Npb24tcnVucy12aWV3IGlkPSJzZXNzaW9uUnVuc1ZpZXciIGxhdGVzdC1zZXNzaW9uLXJ1bj0iW1tfbGF0ZXN0U2Vzc2lvblJ1bl1dIiBzZXNzaW9uLXJ1bi1rZXktdG8tZGV2aWNlLW5hbWVzPSJbW19zZXNzaW9uUnVuS2V5MkRldmljZU5hbWVzXV0iIHNvbGUtYWN0aXZlPSJbW19zZXNzaW9uUnVuU29sZUFjdGl2ZV1dIiBub2RlLW9yLXRlbnNvci1jbGlja2VkPSJbW19jcmVhdGVGZWVkRmV0Y2hUYXJnZXRDbGlja2VkSGFuZGxlcigpXV0iPgogICAgICAgICAgPC90Zi1zZXNzaW9uLXJ1bnMtdmlldz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b25zLWNvbnRhaW5lciI+CiAgICAgICAgICA8cGFwZXItYnV0dG9uIHJhaXNlZCBjbGFzcz0iY29udGludWUtYnV0dG9uIiBvbi1jbGljaz0iX3N0ZXAiPgogICAgICAgICAgICA8c3Bhbj5bW19zdGVwQnV0dG9uVGV4dF1dPC9zcGFuPgogICAgICAgICAgPC9wYXBlci1idXR0b24+CiAgICAgICAgICA8dGYtZGVidWdnZXItY29udGludWUtZGlhbG9nIGlkPSJjb250aW51ZURpYWxvZyIgc2Vzc2lvbi1ydW4tZ289IltbX2NyZWF0ZVNlc3Npb25SdW5HbygpXV0iIHRlbnNvci1jb25kaXRpb24tZ289IltbX2NyZWF0ZVRlbnNvckNvbmRpdGlvbkdvKCldXSIgZm9yY2UtY29udGludWF0aW9uLXN0b3A9IltbX2NyZWF0ZUZvcmNlQ29udGludWF0aW9uU3RvcCgpXV0iPgogICAgICAgICAgPC90Zi1kZWJ1Z2dlci1jb250aW51ZS1kaWFsb2c+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgIDx0Zi1ncmFwaC1sb2FkZXIgaWQ9ImxvYWRlciIgb3V0LWdyYXBoLWhpZXJhcmNoeT0ie3tncmFwaEhpZXJhcmNoeX19IiBvdXQtZ3JhcGg9Int7Z3JhcGh9fSIgb3V0LXN0YXRzPSJ7e3N0YXRzfX0iIHByb2dyZXNzPSJ7e19ncmFwaFByb2dyZXNzfX0iPjwvdGYtZ3JhcGgtbG9hZGVyPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2VudGVyIiBzbG90PSJjZW50ZXIiIGlkPSJjZW50ZXItY29udGVudCI+CiAgICAgICAgPGRpdiBpZD0idG9wLXJpZ2h0LXF1YWRyYW50Ij4KICAgICAgICAgIDxwYXBlci10YWJzIHNlbGVjdGVkPSJ7e190b3BSaWdodFNlbGVjdGVkfX0iPgogICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW190b3BSaWdodFRhYnNdXSI+CiAgICAgICAgICAgICAgPHBhcGVyLXRhYiBpZD0iW1tpdGVtLmlkXV0iPltbaXRlbS5uYW1lXV08L3BhcGVyLXRhYj4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvcGFwZXItdGFicz4KICAgICAgICAgIDxkaXYgY2xhc3M9InJ1bnRpbWUtZ3JhcGgtZGV2aWNlIj4KICAgICAgICAgICAgPHNwYW4gaWQ9InJ1bnRpbWUtZ3JhcGgtZGV2aWNlLW5hbWUiPiA8L3NwYW4+CiAgICAgICAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51IGlkPSJhY3RpdmUtcnVudGltZS1ncmFwaC1kZXZpY2UtbmFtZSIgbm8tbGFiZWwtZmxvYXQ9InRydWUiIGxhYmVsPSJEZXZpY2UgbmFtZSIgc2VsZWN0ZWQtaXRlbS1sYWJlbD0ie3tfYWN0aXZlUnVudGltZUdyYXBoRGV2aWNlTmFtZX19Ij4KICAgICAgICAgICAgICA8cGFwZXItbGlzdGJveCBjbGFzcz0iZHJvcGRvd24tY29udGVudCIgc2xvdD0iZHJvcGRvd24tY29udGVudCI+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19hY3RpdmVTZXNzaW9uUnVuRGV2aWNlc11dIj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0gbm8tbGFiZWwtZmxvYXQ9InRydWUiPltbaXRlbV1dPC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgICAgIDwvcGFwZXItZHJvcGRvd24tbWVudT4KICAgICAgICAgICAgPHBhcGVyLXNwaW5uZXItbGl0ZSBjbGFzcz0ic3Bpbm5lciIgaWQ9InRvcC1yaWdodC1zcGlubmVyIiBoaWRkZW49IltbIV9idXN5XV0iIGFjdGl2ZT0iW1tfYnVzeV1dIj4KICAgICAgICAgICAgPC9wYXBlci1zcGlubmVyLWxpdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxwYXBlci1wcm9ncmVzcyBpZD0idG9wLXJpZ2h0LXByb2dyZXNzLWJhciIgdmFsdWU9IjAiPjwvcGFwZXItcHJvZ3Jlc3M+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzVG9wUmlnaHRSdW50aW1lR3JhcGhzQWN0aXZlXV0iPgogICAgICAgICAgICA8ZGl2IGlkPSJncmFwaC1jb250YWluZXIiPgogICAgICAgICAgICAgIDx0Zi1ncmFwaCBpZD0iZ3JhcGgiIGdyYXBoLWhpZXJhcmNoeT0iW1tncmFwaEhpZXJhcmNoeV1dIiBiYXNpYy1ncmFwaD0iW1tncmFwaF1dIiBzdGF0cz0iW1tzdGF0c11dIiBwcm9ncmVzcz0ie3tfZ3JhcGhQcm9ncmVzc319IiBjb2xvci1ieT0ic3RydWN0dXJlIiBjb2xvci1ieS1wYXJhbXM9Int7Y29sb3JCeVBhcmFtc319IiByZW5kZXItaGllcmFyY2h5PSJ7e19yZW5kZXJIaWVyYXJjaHl9fSIgbm9kZS1jb250ZXh0LW1lbnUtaXRlbXM9IltbX2NyZWF0ZU5vZGVDb250ZXh0TWVudUl0ZW1zKCldXSI+PC90Zi1ncmFwaD4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZXh0LW1lbnUiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzVG9wUmlnaHRUZW5zb3JWYWx1ZXNBY3RpdmVdXSI+CiAgICAgICAgICAgIDx0Zi10ZW5zb3ItdmFsdWUtbXVsdGktdmlldyBpZD0idGVuc29yVmFsdWVNdWx0aVZpZXciIGNvbnRpbnVlLXRvLWNhbGxiYWNrPSJbW19jcmVhdGVDb250aW51ZVRvQ2FsbGJhY2soKV1dIiB0ZW5zb3ItbmFtZS1jbGlja2VkPSJbW19jcmVhdGVOb2RlQ2xpY2tlZEhhbmRsZXIoKV1dIiBnZXQtaGVhbHRoLXBpbGw9IltbX2NyZWF0ZUdldEhlYWx0aFBpbGwoKV1dIj4KICAgICAgICAgICAgPC90Zi10ZW5zb3ItdmFsdWUtbXVsdGktdmlldz4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDx0Zi1kZWJ1Z2dlci1yZXNpemVyIGlzLWhvcml6b250YWw9InRydWUiIGN1cnJlbnQtbGVuZ3RoPSJ7e190b3BSaWdodFF1YWRyYW50SGVpZ2h0fX0iIG1pbi1sZW5ndGg9IltbX21pblRvcFJpZ2h0UXVhZHJhbnRIZWlnaHRdXSIgbWF4LWxlbmd0aD0iW1tfbWF4VG9wUmlnaHRRdWFkcmFudEhlaWdodF1dIj4KICAgICAgICA8L3RmLWRlYnVnZ2VyLXJlc2l6ZXI+CgogICAgICAgIDxkaXYgaWQ9InRlbnNvci1kYXRhIiBjbGFzcz0idGVuc29yLWRhdGEiPgogICAgICAgICAgPHRmLXRlbnNvci1kYXRhLXN1bW1hcnkgaWQ9InRlbnNvckRhdGFTdW1tYXJ5IiBsYXRlc3QtdGVuc29yLWRhdGE9IltbX2xhdGVzdFRlbnNvckRhdGFdXSIgZXhwYW5kLWhhbmRsZXI9IltbX2NyZWF0ZVRlbnNvckRhdGFFeHBhbmRIYW5kbGVyKCldXSIgY29udGludWUtdG8tY2FsbGJhY2s9IltbX2NyZWF0ZUNvbnRpbnVlVG9DYWxsYmFjaygpXV0iIGhpZ2hsaWdodGVkLW5vZGUtbmFtZT0iW1tfaGlnaGxpZ2h0Tm9kZU5hbWVdXSIgdGVuc29yLW5hbWUtY2xpY2tlZD0iW1tfY3JlYXRlTm9kZUNsaWNrZWRIYW5kbGVyKCldXSIgZ2V0LWhlYWx0aC1waWxsPSJbW19jcmVhdGVHZXRIZWFsdGhQaWxsKCldXSI+CiAgICAgICAgICA8L3RmLXRlbnNvci1kYXRhLXN1bW1hcnk+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgoKICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KICAgICAgcGFwZXItdG9hc3QgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDExMCU7CiAgICAgICAgd2lkdGg6IDQwdnc7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwdnc7CiAgICAgIH0KICAgICAgdGYtZGFzaGJvYXJkLWxheW91dCB7CiAgICAgICAgLS10Zi1kYXNoYm9hcmQtbGF5b3V0LXNpZGViYXItYmFzaXM6IGF1dG87CiAgICAgICAgLS10Zi1kYXNoYm9hcmQtbGF5b3V0LXNpZGViYXItbWF4LXdpZHRoOiBub25lOwogICAgICAgIC0tdGYtZGFzaGJvYXJkLWxheW91dC1zaWRlYmFyLW1pbi13aWR0aDogbm9uZTsKICAgICAgfQogICAgICAuZGVidWdnZXItc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMTAlOwogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICB9CiAgICAgIHBhcGVyLXRhYnMgewogICAgICAgIGNvbG9yOiAjNTU1OwogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgIH0KICAgICAgcGFwZXItdGFiLmlyb24tc2VsZWN0ZWQgewogICAgICAgIGNvbG9yOiBibGFjazsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgfQogICAgICAjaW5pdGlhbERpYWxvZyB7CiAgICAgICAgLyoqIFRoaXMgbWF0Y2hlcyB0aGUgZGVmYXVsdCB6LWluZGV4IG9mIHBhcGVyLWRpYWxvZyBiYWNrZHJvcHMuICovCiAgICAgICAgei1pbmRleDogMTAyOwogICAgICB9CiAgICAgIC8qKiBSZXNpemUgdGhlIHJlZ2lvbiBmb3IgdGhlIGdyYXBoIGFzIHRoZSB1c2VyIHJlc2l6ZXMgdGhlIHJlZ2lvbi4gKi8KICAgICAgI2dyYXBoLWNvbnRhaW5lciB7CiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMjBweCk7CiAgICAgICAgLyoqIENsaXAgdGhlIG1pbmltYXAgaWYgdGhlIGhlaWdodCBvZiB0aGUgZ3JhcGggY29udGFpbmVyIGlzIHNtYWxsLiAqLwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CiAgICAgICNncmFwaCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQogICAgICAjdG9vbHRpcC1zb3J0aW5nIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBtYXJnaW4tdG9wOiA1cHg7CiAgICAgIH0KICAgICAgI3Rvb2x0aXAtc29ydGluZy1sYWJlbCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTNweDsKICAgICAgfQogICAgICAjdG9vbHRpcC1zb3J0aW5nIHBhcGVyLWRyb3Bkb3duLW1lbnUgewogICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OwogICAgICAgIC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWZvY3VzLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICB3aWR0aDogMTA1cHg7CiAgICAgIH0KICAgICAgI3gtdHlwZS1zZWxlY3RvciBwYXBlci1idXR0b24gewogICAgICAgIG1hcmdpbjogNXB4IDNweDsKICAgICAgfQogICAgICAucnVudGltZS1ncmFwaC1kZXZpY2UgewogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KICAgICAgI3J1bnRpbWUtZ3JhcGgtZGV2aWNlLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogODUlOwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KICAgICAgI2FjdGl2ZS1ydW50aW1lLWdyYXBoLWRldmljZS1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDg1JTsKICAgICAgICB3aWR0aDogMzUwcHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CiAgICAgICN0b3AtcmlnaHQtcHJvZ3Jlc3MtYmFyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgfQogICAgICAubGluZS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nLXRvcDogNXB4OwogICAgICB9CiAgICAgIC5uby1kYXRhLXdhcm5pbmcgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CiAgICAgIC5zaWRlYmFyIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteDogdmlzaWJsZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KICAgICAgLmNlbnRlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQogICAgICB0Zi1kZWJ1Z2dlci1yZXNpemVyIHsKICAgICAgICByaWdodDogLTEwcHg7CiAgICAgIH0KICAgICAgI2NlbnRlci1jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgIH0KICAgICAgLyoqIFRoZSByZXNpemVyIHNob3VsZCBoYXZlIG5vIHNwYWNlIHRvIHRoZSBsZWZ0IG9mIGl0LiAqLwogICAgICAjY2VudGVyLWNvbnRlbnQgdGYtZGVidWdnZXItcmVzaXplcltpcy1ob3Jpem9udGFsXSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yM3B4OwogICAgICB9CiAgICAgIC5jb250ZXh0LW1lbnUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmUyZTI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBtaW4td2lkdGg6IDE1MHB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNGQ0ZDQ7CiAgICAgIH0KICAgICAgLnNwaW5uZXIgewogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICB9CiAgICAgIC5ub2RlLWVudHJpZXMgewogICAgICAgIGJveC1zaGFkb3c6IDNweCAzcHggI2RkZDsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGhlaWdodDogODAlOwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgIHBhZGRpbmctbGVmdDogM3B4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDNweDsKICAgICAgICBwYWRkaW5nLXRvcDogM3B4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIC5zb3VyY2UtY29kZS12aWV3LWRpdiB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGhlaWdodDogNDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBwYWRkaW5nLXRvcDogM3B4OwogICAgICAgIHBhZGRpbmctbGVmdDogM3B4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDNweDsKICAgICAgICBib3gtc2hhZG93OiAzcHggM3B4ICNkZGQ7CiAgICAgIH0KICAgICAgI3Nlc3Npb25SdW5zVmlldyB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgIG1heC1oZWlnaHQ6IDI1dmg7CiAgICAgIH0KICAgICAgLmJ1dHRvbnMtY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nOiAyMHB4IDA7CiAgICAgIH0KICAgICAgI3RlbnNvci1kYXRhIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgcGFkZGluZzogMjBweCAwOwogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsKICAgICAgfQogICAgICAjdGVuc29yRGF0YVN1bW1hcnkgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgIH0KICAgICAgI3RvcC1yaWdodC1xdWFkcmFudCB7CiAgICAgICAgaGVpZ2h0OiA2NiU7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIH0KICAgICAgLnRvZ2dsZS1zb3VyY2UtY29kZSB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07CiAgICAgICAgZm9udC1zaXplOiA4MCU7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICB9CiAgICAgIC5jb250ZXh0LW1lbnUgdWwgewogICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KICAgICAgLmNvbnRleHQtbWVudSB1bCBsaSB7CiAgICAgICAgcGFkZGluZzogNHB4IDE2cHg7CiAgICAgIH0KICAgICAgLmNvbnRleHQtbWVudSB1bCBsaTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzOTEzZTsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgIH0KCiAgICAgIHBhcGVyLWlucHV0IHsKICAgICAgICB3aWR0aDogMjAwcHg7CiAgICAgIH0KICAgICAgLmlubGluZSwKICAgICAgcGFwZXItaXRlbSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lOwogICAgICB9CgogICAgICB2ei1saW5lLWNoYXJ0IHsKICAgICAgICBoZWlnaHQ6IDMwMHB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQogICAgICBbaGlkZGVuXSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLW1hdGVyaWFsLXNoYXJlZC1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2VsZXZhdGlvbj0iMSJdKSB7CiAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi0yZHA7CiAgICAgIH0KCiAgICAgIDpob3N0KFtlbGV2YXRpb249IjIiXSkgewogICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tNGRwOwogICAgICB9CgogICAgICA6aG9zdChbZWxldmF0aW9uPSIzIl0pIHsKICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLTZkcDsKICAgICAgfQoKICAgICAgOmhvc3QoW2VsZXZhdGlvbj0iNCJdKSB7CiAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi04ZHA7CiAgICAgIH0KCiAgICAgIDpob3N0KFtlbGV2YXRpb249IjUiXSkgewogICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tMTZkcDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLW1hdGVyaWFsIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGUgaW5jbHVkZT0icGFwZXItbWF0ZXJpYWwtc2hhcmVkLXN0eWxlcyI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QoW2FuaW1hdGVkXSkgewogICAgICAgIEBhcHBseSAtLXNoYWRvdy10cmFuc2l0aW9uOwogICAgICB9CiAgICAgIDpob3N0IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1ncmFwaC1kZWJ1Z2dlci1kYXRhLWNhcmQiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgaDIgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLmhlYWx0aC1waWxsLWxlZ2VuZCB7CiAgICAgICAgcGFkZGluZzogMTVweDsKICAgICAgfQoKICAgICAgLmhlYWx0aC1waWxsLWxlZ2VuZCBoMiB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgfQoKICAgICAgLmhlYWx0aC1waWxsLWVudHJ5IHsKICAgICAgICBtYXJnaW46IDEwcHggMTBweCAxMHB4IDA7CiAgICAgIH0KCiAgICAgIC5oZWFsdGgtcGlsbC1lbnRyeSAuY29sb3ItcHJldmlldyB7CiAgICAgICAgd2lkdGg6IDI2cHg7CiAgICAgICAgaGVpZ2h0OiAyNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwOwogICAgICB9CgogICAgICAuaGVhbHRoLXBpbGwtZW50cnkgLmNvbG9yLWxhYmVsLAogICAgICAuaGVhbHRoLXBpbGwtZW50cnkgLnRlbnNvci1jb3VudCB7CiAgICAgICAgY29sb3I6ICM3Nzc7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGhlaWdodDogMjZweDsKICAgICAgICBmb250LXNpemU6IDIycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7CiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsKICAgICAgfQoKICAgICAgLmhlYWx0aC1waWxsLWVudHJ5IC50ZW5zb3ItY291bnQgewogICAgICAgIGZsb2F0OiByaWdodDsKICAgICAgfQoKICAgICAgI2hlYWx0aC1waWxsLXN0ZXAtc2xpZGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXJnaW46IDAgMCAwIC0xNXB4OwogICAgICAgIC8qIDMxIGNvbWVzIGZyb20gYWRkaW5nIGEgcGFkZGluZyBvZiAxNXB4IGZyb20gYm90aCBzaWRlcyBvZiB0aGUgcGFwZXItc2xpZGVyLCBzdWJ0cmFjdGluZwogICAqIDFweCBzbyB0aGF0IHRoZSBzbGlkZXIgd2lkdGggYWxpZ25zIHdpdGggdGhlIGltYWdlICh0aGUgbGFzdCBzbGlkZXIgbWFya2VyIHRha2VzIHVwIDFweCksCiAgICogYW5kIGFkZGluZyAycHggdG8gYWNjb3VudCBmb3IgYSBib3JkZXIgb2YgMXB4IG9uIGJvdGggc2lkZXMgb2YgdGhlIGltYWdlLiAzMCAtIDEgKyAyLgogICAqIEFwcGFyZW50bHksIHRoZSBwYXBlci1zbGlkZXIgbGFja3MgYSBtaXhpbiBmb3IgdGhvc2UgcGFkZGluZyB2YWx1ZXMuICovCiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDMxcHgpOwogICAgICB9CgogICAgICAjaGVhbHRoLXBpbGxzLWxvYWRpbmctc3Bpbm5lciB7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CiAgICAgIH0KCiAgICAgICNoZWFsdGgtcGlsbC1zdGVwLW51bWJlci1pbnB1dCB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CiAgICAgIH0KCiAgICAgICNudW1lcmljLWFsZXJ0cy10YWJsZS1jb250YWluZXIgewogICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4OwogICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CgogICAgICAjbnVtZXJpYy1hbGVydHMtdGFibGUgewogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgIH0KCiAgICAgICNudW1lcmljLWFsZXJ0cy10YWJsZSB0ZCB7CiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsKICAgICAgfQoKICAgICAgI251bWVyaWMtYWxlcnRzLXRhYmxlIC5maXJzdC1vZmZlbnNlLXRkIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KCiAgICAgIC5maXJzdC1vZmZlbnNlLXRkIHsKICAgICAgICB3aWR0aDogODBweDsKICAgICAgfQoKICAgICAgLnRlbnNvci1kZXZpY2UtdGQgewogICAgICAgIG1heC13aWR0aDogMTQwcHg7CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICB9CgogICAgICAudGVuc29yLXNlY3Rpb24td2l0aGluLXRhYmxlIHsKICAgICAgICBjb2xvcjogIzI2NjIzNjsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAudGVuc29yLXNlY3Rpb24td2l0aGluLXRhYmxlOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAuZGV2aWNlLXNlY3Rpb24td2l0aGluLXRhYmxlIHsKICAgICAgICBjb2xvcjogIzY2NjsKICAgICAgfQoKICAgICAgLm1pbmktaGVhbHRoLXBpbGwgewogICAgICAgIHdpZHRoOiAxMzBweDsKICAgICAgfQoKICAgICAgLm1pbmktaGVhbHRoLXBpbGwgPiBkaXYgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogNjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgICNldmVudC1jb3VudHMtdGggewogICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7CiAgICAgIH0KCiAgICAgIC5uZWdhdGl2ZS1pbmYtbWluaS1oZWFsdGgtcGlsbC1zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAxNDEsIDApOwogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICB9CgogICAgICAucG9zaXRpdmUtaW5mLW1pbmktaGVhbHRoLXBpbGwtc2VjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiKDAsIDYyLCAyMTIpOwogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICB9CgogICAgICAubmFuLW1pbmktaGVhbHRoLXBpbGwtc2VjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiKDIwNCwgNDcsIDQ0KTsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgfQoKICAgICAgLm5lZ2F0aXZlLWluZi1taW5pLWhlYWx0aC1waWxsLXNlY3Rpb24sCiAgICAgIC5wb3NpdGl2ZS1pbmYtbWluaS1oZWFsdGgtcGlsbC1zZWN0aW9uLAogICAgICAubmFuLW1pbmktaGVhbHRoLXBpbGwtc2VjdGlvbiB7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBsaW5lLWhlaWdodDogMjBweDsKICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAubm8tbnVtZXJpYy1hbGVydHMtbm90aWZpY2F0aW9uIHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8cGFwZXItbWF0ZXJpYWwgZWxldmF0aW9uPSIxIiBjbGFzcz0iY2FyZCBoZWFsdGgtcGlsbC1sZWdlbmQiPgogICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+CiAgICAgICAgRW5hYmxlIGFsbCAobm90IGp1c3Qgc2FtcGxlZCkgc3RlcHMuIFJlcXVpcmVzIHNsb3cgZGlzayByZWFkLgogICAgICA8L2Rpdj4KICAgICAgPHBhcGVyLXRvZ2dsZS1idXR0b24gaWQ9ImVuYWJsZUFsbFN0ZXBzTW9kZVRvZ2dsZSIgY2hlY2tlZD0ie3thbGxTdGVwc01vZGVFbmFibGVkfX0iPgogICAgICA8L3BhcGVyLXRvZ2dsZS1idXR0b24+CiAgICAgIDxoMj4KICAgICAgICBTdGVwIG9mIEhlYWx0aCBQaWxsczoKICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbYWxsU3RlcHNNb2RlRW5hYmxlZF1dIj4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIGlkPSJoZWFsdGgtcGlsbC1zdGVwLW51bWJlci1pbnB1dCIgbWluPSIwIiBtYXg9IltbX2JpZ2dlc3RTdGVwRXZlclNlZW5dXSIgdmFsdWU9Int7c3BlY2lmaWNIZWFsdGhQaWxsU3RlcDo6aW5wdXR9fSI+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIWFsbFN0ZXBzTW9kZUVuYWJsZWRdXSI+CiAgICAgICAgICBbW19jdXJyZW50U3RlcERpc3BsYXlWYWx1ZV1dCiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8cGFwZXItc3Bpbm5lci1saXRlIGFjdGl2ZSBoaWRkZW4kPSJbWyFhcmVIZWFsdGhQaWxsc0xvYWRpbmddXSIgaWQ9ImhlYWx0aC1waWxscy1sb2FkaW5nLXNwaW5uZXIiPjwvcGFwZXItc3Bpbm5lci1saXRlPgogICAgICA8L2gyPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbYWxsU3RlcHNNb2RlRW5hYmxlZF1dIj4KICAgICAgICA8cGFwZXItc2xpZGVyIGlkPSJoZWFsdGgtcGlsbC1zdGVwLXNsaWRlciIgaW1tZWRpYXRlLXZhbHVlPSJ7e3NwZWNpZmljSGVhbHRoUGlsbFN0ZXB9fSIgbWF4PSJbW19iaWdnZXN0U3RlcEV2ZXJTZWVuXV0iIHNuYXBzIHN0ZXA9IjEiIHZhbHVlPSJ7e3NwZWNpZmljSGVhbHRoUGlsbFN0ZXB9fSI+PC9wYXBlci1zbGlkZXI+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shYWxsU3RlcHNNb2RlRW5hYmxlZF1dIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX21heFN0ZXBJbmRleF1dIj4KICAgICAgICAgIDxwYXBlci1zbGlkZXIgaWQ9ImhlYWx0aC1waWxsLXN0ZXAtc2xpZGVyIiBpbW1lZGlhdGUtdmFsdWU9Int7aGVhbHRoUGlsbFN0ZXBJbmRleH19IiBtYXg9IltbX21heFN0ZXBJbmRleF1dIiBzbmFwcyBzdGVwPSIxIiB2YWx1ZT0ie3toZWFsdGhQaWxsU3RlcEluZGV4fX0iPjwvcGFwZXItc2xpZGVyPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDxoMj4KICAgICAgICBIZWFsdGggUGlsbAogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1toZWFsdGhQaWxsVmFsdWVzRm9yU2VsZWN0ZWROb2RlXV0iPgogICAgICAgICAgQ291bnRzIGZvciBTZWxlY3RlZCBOb2RlCiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIWhlYWx0aFBpbGxWYWx1ZXNGb3JTZWxlY3RlZE5vZGVdXSI+CiAgICAgICAgICBMZWdlbmQKICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2gyPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW2hlYWx0aFBpbGxFbnRyaWVzXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWx0aC1waWxsLWVudHJ5Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLXByZXZpZXciIHN0eWxlPSJiYWNrZ3JvdW5kOltbaXRlbS5iYWNrZ3JvdW5kX2NvbG9yXV0iPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sb3ItbGFiZWwiPltbaXRlbS5sYWJlbF1dPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZW5zb3ItY291bnQiPgogICAgICAgICAgICBbW19jb21wdXRlVGVuc29yQ291bnRTdHJpbmcoaGVhbHRoUGlsbFZhbHVlc0ZvclNlbGVjdGVkTm9kZSwKICAgICAgICAgICAgaW5kZXgpXV0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgICA8ZGl2IGhpZGRlbiQ9IltbIV9oYXNEZWJ1Z2dlck51bWVyaWNBbGVydHMoZGVidWdnZXJOdW1lcmljQWxlcnRzKV1dIj4KICAgICAgICA8aDIgaWQ9Im51bWVyaWMtYWxlcnRzLWhlYWRlciI+TnVtZXJpYyBBbGVydHM8L2gyPgogICAgICAgIDxwPgogICAgICAgICAgQWxlcnRzIGFyZSBzb3J0ZWQgZnJvbSB0b3AgdG8gYm90dG9tIGJ5IGluY3JlYXNpbmcgdGltZXN0YW1wLgogICAgICAgIDwvcD4KICAgICAgICA8ZGl2IGlkPSJudW1lcmljLWFsZXJ0cy10YWJsZS1jb250YWluZXIiPgogICAgICAgICAgPHRhYmxlIGlkPSJudW1lcmljLWFsZXJ0cy10YWJsZSI+CiAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGg+Rmlyc3QgT2ZmZW5zZTwvdGg+CiAgICAgICAgICAgICAgICA8dGg+VGVuc29yIChEZXZpY2UpPC90aD4KICAgICAgICAgICAgICAgIDx0aCBpZD0iZXZlbnQtY291bnRzLXRoIj5FdmVudCBDb3VudHM8L3RoPgogICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgIDx0Ym9keSBpZD0ibnVtZXJpYy1hbGVydHMtYm9keSI+PC90Ym9keT4KICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9oYXNEZWJ1Z2dlck51bWVyaWNBbGVydHMoZGVidWdnZXJOdW1lcmljQWxlcnRzKV1dIj4KICAgICAgICA8cCBjbGFzcz0ibm8tbnVtZXJpYy1hbGVydHMtbm90aWZpY2F0aW9uIj4KICAgICAgICAgIE5vIG51bWVyaWMgYWxlcnRzIHNvIGZhci4gVGhhdCBpcyBsaWtlbHkgZ29vZC4gQWxlcnRzIGluZGljYXRlIHRoZQogICAgICAgICAgcHJlc2VuY2Ugb2YgTmFOIG9yICgrLy0pIEluZmluaXR5IHZhbHVlcywgd2hpY2ggbWF5IGJlIGNvbmNlcm5pbmcuCiAgICAgICAgPC9wPgogICAgICA8L3RlbXBsYXRlPgogICAgPC9wYXBlci1tYXRlcmlhbD4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9Imlyb24tbGlzdCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbzogMSkgewogICAgICAgIDpob3N0IHsKICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgICAgICAgfQogICAgICB9CgogICAgICAjaXRlbXMgewogICAgICAgIEBhcHBseSAtLWlyb24tbGlzdC1pdGVtcy1jb250YWluZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICA6aG9zdCg6bm90KFtncmlkXSkpICNpdGVtcyA+IDo6c2xvdHRlZCgqKSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNpdGVtcyA+IDo6c2xvdHRlZCgqKSB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxhcnJheS1zZWxlY3RvciBpZD0ic2VsZWN0b3IiIGl0ZW1zPSJ7e2l0ZW1zfX0iIHNlbGVjdGVkPSJ7e3NlbGVjdGVkSXRlbXN9fSIgc2VsZWN0ZWQtaXRlbT0ie3tzZWxlY3RlZEl0ZW19fSI+PC9hcnJheS1zZWxlY3Rvcj4KCiAgICA8ZGl2IGlkPSJpdGVtcyI+CiAgICAgIDxzbG90Pjwvc2xvdD4KICAgIDwvZGl2PgoKICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLWl0ZW0tYm9keSI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgLyogbmVlZGVkIGZvciB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyB0byB3b3JrIG9uIGZmICovCiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXZlcnRpY2FsOwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXItanVzdGlmaWVkOwogICAgICAgIEBhcHBseSAtLWxheW91dC1mbGV4OwogICAgICB9CgogICAgICA6aG9zdChbdHdvLWxpbmVdKSB7CiAgICAgICAgbWluLWhlaWdodDogdmFyKC0tcGFwZXItaXRlbS1ib2R5LXR3by1saW5lLW1pbi1oZWlnaHQsIDcycHgpOwogICAgICB9CgogICAgICA6aG9zdChbdGhyZWUtbGluZV0pIHsKICAgICAgICBtaW4taGVpZ2h0OiB2YXIoLS1wYXBlci1pdGVtLWJvZHktdGhyZWUtbGluZS1taW4taGVpZ2h0LCA4OHB4KTsKICAgICAgfQoKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoKikgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoW3NlY29uZGFyeV0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWJvZHkxOwoKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaXRlbS1ib2R5LXNlY29uZGFyeS1jb2xvciwgdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItaXRlbS1ib2R5LXNlY29uZGFyeTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZ3JhcGgtaWNvbiI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1zaXplOiAwOwogICAgICB9CgogICAgICAuZmFkZWQtcmVjdCB7CiAgICAgICAgZmlsbDogdXJsKCNyZWN0SGF0Y2gpOwogICAgICB9CgogICAgICAuZmFkZWQtZWxsaXBzZSB7CiAgICAgICAgZmlsbDogdXJsKCNlbGxpcHNlSGF0Y2gpOwogICAgICB9CgogICAgICAuZmFkZWQtcmVjdCwKICAgICAgLmZhZGVkLWVsbGlwc2UsCiAgICAgIC5mYWRlZC1zZXJpZXMgewogICAgICAgIHN0cm9rZTogdmFyKC0tdGItZ3JhcGgtZmFkZWQpICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgICAgI3JlY3RIYXRjaCBsaW5lLAogICAgICAjZWxsaXBzZUhhdGNoIGxpbmUgewogICAgICAgIGNvbG9yOiAjZTBkNGIzICFpbXBvcnRhbnQ7CiAgICAgICAgZmlsbDogd2hpdGU7CiAgICAgICAgc3Ryb2tlOiAjZTBkNGIzICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxzdmcgaGVpZ2h0PSIwIiB3aWR0aD0iMCIgaWQ9InN2Z0RlZnMiPgogICAgICA8ZGVmcz4KICAgICAgICAKICAgICAgICA8cGF0dGVybiBpZD0icmVjdEhhdGNoIiBwYXR0ZXJudHJhbnNmb3JtPSJyb3RhdGUoNDUgMCAwKSIgd2lkdGg9IjUiIGhlaWdodD0iNSIgcGF0dGVybnVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgICAgICA8bGluZSB4MT0iMCIgeTE9IjAiIHgyPSIwIiB5Mj0iNSIgc3R5bGU9InN0cm9rZS13aWR0aDogMSIgLz4KICAgICAgICA8L3BhdHRlcm4+CiAgICAgICAgPHBhdHRlcm4gaWQ9ImVsbGlwc2VIYXRjaCIgcGF0dGVybnRyYW5zZm9ybT0icm90YXRlKDQ1IDAgMCkiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHBhdHRlcm51bml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICAgICAgPGxpbmUgeDE9IjAiIHkxPSIwIiB4Mj0iMCIgeTI9IjIiIHN0eWxlPSJzdHJva2Utd2lkdGg6IDEiIC8+CiAgICAgICAgPC9wYXR0ZXJuPgogICAgICAgIAogICAgICAgIDxlbGxpcHNlIGlkPSJvcC1ub2RlLXN0YW1wIiByeD0iNy41IiByeT0iMyIgc3Ryb2tlPSJpbmhlcml0IiBmaWxsPSJpbmhlcml0IiAvPgogICAgICAgIAogICAgICAgIDxlbGxpcHNlIGlkPSJvcC1ub2RlLWFubm90YXRpb24tc3RhbXAiIHJ4PSI1IiByeT0iMiIgc3Ryb2tlPSJpbmhlcml0IiBmaWxsPSJpbmhlcml0IiAvPgogICAgICAgIAogICAgICAgIDxnIGlkPSJvcC1zZXJpZXMtdmVydGljYWwtc3RhbXAiPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iOCIgeT0iOSIgLz4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtc3RhbXAiIHg9IjgiIHk9IjYiIC8+CiAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSI4IiB5PSIzIiAvPgogICAgICAgIDwvZz4KICAgICAgICA8ZyBpZD0ib3Atc2VyaWVzLWhvcml6b250YWwtc3RhbXAiPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iMTYiIHk9IjQiIC8+CiAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSIxMiIgeT0iNCIgLz4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtc3RhbXAiIHg9IjgiIHk9IjQiIC8+CiAgICAgICAgPC9nPgogICAgICAgIDxnIGlkPSJzdW1tYXJ5LWljb24iIGZpbGw9IiM4NDg0ODQiIGhlaWdodD0iMTIiIHZpZXdib3g9IjAgMCAyNCAyNCIgd2lkdGg9IjEyIj4KICAgICAgICAgIDxwYXRoIGQ9Ik0xOSAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnpNOSAxN0g3di03aDJ2N3ptNCAwaC0yVjdoMnYxMHptNCAwaC0ydi00aDJ2NHoiIC8+CiAgICAgICAgPC9nPgogICAgICA8L2RlZnM+CiAgICA8L3N2Zz4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNUeXBlKHR5cGUsICdDT05TVCcpXV0iPgogICAgICA8c3ZnIGhlaWdodCQ9IltbaGVpZ2h0XV0iIHByZXNlcnZlYXNwZWN0cmF0aW89InhNaW5ZTWlkIG1lZXQiIHZpZXdib3g9IjAgMCAxMCAxMCI+CiAgICAgICAgPGNpcmNsZSBjeD0iNSIgY3k9IjUiIHI9IjMiIGZpbGwkPSJbW19maWxsXV0iIHN0cm9rZSQ9IltbX3N0cm9rZV1dIiAvPgogICAgICA8L3N2Zz4KICAgIDwvdGVtcGxhdGU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzVHlwZSh0eXBlLCAnU1VNTUFSWScpXV0iPgogICAgICA8c3ZnIHdpZHRoJD0iW1toZWlnaHRdXSIgaGVpZ2h0JD0iW1toZWlnaHRdXSIgdmlld2JveD0iMCAwIDI0IDI0IiBmaWxsPSIjODQ4NDg0Ij4KICAgICAgICA8cGF0aCBkPSJNMTkgM0g1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6TTkgMTdIN3YtN2gydjd6bTQgMGgtMlY3aDJ2MTB6bTQgMGgtMnYtNGgydjR6IiAvPgogICAgICA8L3N2Zz4KICAgIDwvdGVtcGxhdGU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzVHlwZSh0eXBlLCAnT1AnKV1dIj4KICAgICAgPHN2ZyBoZWlnaHQkPSJbW2hlaWdodF1dIiBwcmVzZXJ2ZWFzcGVjdHJhdGlvPSJ4TWluWU1pZCBtZWV0IiB2aWV3Ym94PSIwIDAgMTYgOCI+CiAgICAgICAgPHVzZSB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeGxpbms6aHJlZj0iI29wLW5vZGUtc3RhbXAiIGZpbGwkPSJbW19maWxsXV0iIHN0cm9rZSQ9IltbX3N0cm9rZV1dIiBjbGFzcyQ9Int7X2ZhZGVkQ2xhc3MoZmFkZWQsICdlbGxpcHNlJyl9fSIgeD0iOCIgeT0iNCIgLz4KICAgICAgPC9zdmc+CiAgICA8L3RlbXBsYXRlPgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc1R5cGUodHlwZSwgJ01FVEEnKV1dIj4KICAgICAgPHN2ZyBoZWlnaHQkPSJbW2hlaWdodF1dIiBwcmVzZXJ2ZWFzcGVjdHJhdGlvPSJ4TWluWU1pZCBtZWV0IiB2aWV3Ym94PSIwIDAgMzcgMTYiPgogICAgICAgIDxyZWN0IHg9IjEiIHk9IjEiIGZpbGwkPSJbW19maWxsXV0iIHN0cm9rZSQ9IltbX3N0cm9rZV1dIiBjbGFzcyQ9Int7X2ZhZGVkQ2xhc3MoZmFkZWQsICdyZWN0Jyl9fSIgc3Ryb2tlLXdpZHRoPSIycHgiIGhlaWdodD0iMTQiIHdpZHRoPSIzNSIgcng9IjUiIHJ5PSI1IiAvPgogICAgICA8L3N2Zz4KICAgIDwvdGVtcGxhdGU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzVHlwZSh0eXBlLCAnU0VSSUVTJyldXSI+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1t2ZXJ0aWNhbF1dIj4KICAgICAgICA8c3ZnIGhlaWdodCQ9IltbaGVpZ2h0XV0iIHByZXNlcnZlYXNwZWN0cmF0aW89InhNaW5ZTWlkIG1lZXQiIHZpZXdib3g9IjAgMCAxNiAxNSI+CiAgICAgICAgICA8dXNlIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bGluazpocmVmPSIjb3Atc2VyaWVzLXZlcnRpY2FsLXN0YW1wIiBmaWxsJD0iW1tfZmlsbF1dIiBzdHJva2UkPSJbW19zdHJva2VdXSIgY2xhc3MkPSJ7e19mYWRlZENsYXNzKGZhZGVkLCAnc2VyaWVzJyl9fSIgeD0iMCIgeT0iMiIgLz4KICAgICAgICA8L3N2Zz4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyF2ZXJ0aWNhbF1dIj4KICAgICAgICA8c3ZnIGhlaWdodCQ9IltbaGVpZ2h0XV0iIHByZXNlcnZlYXNwZWN0cmF0aW89InhNaW5ZTWlkIG1lZXQiIHZpZXdib3g9IjAgMCAyNCAxMCI+CiAgICAgICAgICA8dXNlIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bGluazpocmVmPSIjb3Atc2VyaWVzLWhvcml6b250YWwtc3RhbXAiIGZpbGwkPSJbW19maWxsXV0iIHN0cm9rZSQ9IltbX3N0cm9rZV1dIiBjbGFzcyQ9Int7X2ZhZGVkQ2xhc3MoZmFkZWQsICdzZXJpZXMnKX19IiB4PSIwIiB5PSIxIiAvPgogICAgICAgIDwvc3ZnPgogICAgICA8L3RlbXBsYXRlPgogICAgPC90ZW1wbGF0ZT4KICA8L3RlbXBsYXRlPgoKICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1ub2RlLWljb24iPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgdGYtZ3JhcGgtaWNvbiB7CiAgICAgICAgLS10Yi1ncmFwaC1mYWRlZDogdmFyKC0tdGItZ3JhcGgtZmFkZWQpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPHRmLWdyYXBoLWljb24gaWQ9Imljb24iIHR5cGU9IltbX2dldFR5cGUobm9kZSwgc3VtbWFyeSwgY29uc3QsIHR5cGUpXV0iIGhlaWdodD0iW1toZWlnaHRdXSIgZmlsbC1vdmVycmlkZT0iW1tfZmlsbE92ZXJyaWRlXV0iIHN0cm9rZS1vdmVycmlkZT0iW1tfZ2V0U3Ryb2tlT3ZlcnJpZGUoX2ZpbGxPdmVycmlkZSldXSIgZmFkZWQ9IltbX2dldEZhZGVkKHJlbmRlckluZm8pXV0iIHZlcnRpY2FsPSJbW19pc1ZlcnRpY2FsKG5vZGUsIHZlcnRpY2FsKV1dIj48L3RmLWdyYXBoLWljb24+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZ3JhcGgtb3AtY29tcGF0LWxpc3QtaXRlbSI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAjbGlzdC1pdGVtIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBjb2xvcjogIzU2NTY1NjsKICAgICAgICBmb250LXNpemU6IDExcHQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAjbGlzdC1pdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb29nbGUteWVsbG93LTEwMCk7CiAgICAgIH0KCiAgICAgIC5jbGlja2FibGUgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgI2xpc3QtaXRlbSBzcGFuIHsKICAgICAgICBtYXJnaW4tbGVmdDogNDBweDsKICAgICAgfQoKICAgICAgI2xpc3QtaXRlbS5leGNsdWRlZCBzcGFuIHsKICAgICAgICBjb2xvcjogIzk5OTsKICAgICAgfQoKICAgICAgI2xpc3QtaXRlbSBzcGFuLmVkZ2UtbGFiZWwgewogICAgICAgIGZsb2F0OiByaWdodDsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsKICAgICAgfQoKICAgICAgLm5vZGUtaWNvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMXB4OwogICAgICAgIGxlZnQ6IDJweDsKICAgICAgfQoKICAgICAgLmZhZGVkIHNwYW4gewogICAgICAgIGNvbG9yOiB2YXIoLS10Yi1ncmFwaC1mYWRlZCk7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBpZD0ibGlzdC1pdGVtIiBvbi1tb3VzZW92ZXI9Il9ub2RlTGlzdGVuZXIiIG9uLW1vdXNlb3V0PSJfbm9kZUxpc3RlbmVyIiBvbi1jbGljaz0iX25vZGVMaXN0ZW5lciI+CiAgICAgIDxkaXYgY2xhc3MkPSJ7e19mYWRlZENsYXNzKGl0ZW1SZW5kZXJJbmZvKX19Ij4KICAgICAgICA8dGYtbm9kZS1pY29uIGNsYXNzPSJub2RlLWljb24iIGhlaWdodD0iMTIiIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIgY29sb3ItYnktcGFyYW1zPSJbW2NvbG9yQnlQYXJhbXNdXSIgbm9kZT0iW1tpdGVtTm9kZV1dIiByZW5kZXItaW5mbz0iW1tpdGVtUmVuZGVySW5mb11dIiB0ZW1wbGF0ZS1pbmRleD0iW1t0ZW1wbGF0ZUluZGV4XV0iPgogICAgICAgIDwvdGYtbm9kZS1pY29uPgogICAgICAgIDxzcGFuIHRpdGxlJD0iW1tuYW1lXV0iPltbbmFtZV1dPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWdyYXBoLW9wLWNvbXBhdC1jYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDsKICAgICAgfQoKICAgICAgLmluY29tcGF0aWJsZS1vcHMtbGlzdCB7CiAgICAgICAgaGVpZ2h0OiAzNTBweDsKICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDsKICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICBpcm9uLWxpc3QgewogICAgICAgIGZsZXg6IDEgMSBhdXRvOwogICAgICB9CgogICAgICBwYXBlci1pdGVtIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGJhY2tncm91bmQ6ICNlOWU5ZTk7CiAgICAgIH0KCiAgICAgIHBhcGVyLWl0ZW0tYm9keVt0d28tbGluZV0gewogICAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHggNHB4OwogICAgICB9CgogICAgICAuZXhwYW5kZWRJbmZvIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTJwdDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLm5vZGUtbmFtZSB7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsKICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CiAgICAgICAgZm9udC1zaXplOiAxNHB0OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB0OwogICAgICAgIGNvbG9yOiAjNWU1ZTVlOwogICAgICB9CgogICAgICAudG9nZ2xlLWJ1dHRvbiB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICAgIG1heC1oZWlnaHQ6IDIwcHg7CiAgICAgICAgbWF4LXdpZHRoOiAyMHB4OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC5ub24tY29udHJvbC1saXN0LWl0ZW0gewogICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsKICAgICAgfQoKICAgICAgZGl2Lm9wLWNvbXBhdC1kaXNwbGF5IHsKICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgc3ZnLm9wLWNvbXBhdCB7CiAgICAgICAgd2lkdGg6IDI1MHB4OwogICAgICAgIGhlaWdodDogMjVweDsKICAgICAgICBmbG9hdDogbGVmdDsKICAgICAgfQoKICAgICAgZGl2Lm9wLWNvbXBhdC12YWx1ZSB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6IGJsYWNrOwogICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxwYXBlci1pdGVtPgogICAgICA8cGFwZXItaXRlbS1ib2R5IHR3by1saW5lPgogICAgICAgIDxkaXY+CiAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0ie3tfZ2V0VG9nZ2xlSWNvbihfZXhwYW5kZWQpfX0iIG9uLWNsaWNrPSJfdG9nZ2xlRXhwYW5kZWQiIGNsYXNzPSJ0b2dnbGUtYnV0dG9uIj4KICAgICAgICAgIDwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJub2RlLW5hbWUiIGlkPSJub2RldGl0bGUiPltbbm9kZVRpdGxlXV08L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IHNlY29uZGFyeT4KICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3AtY29tcGF0LWRpc3BsYXkiPgogICAgICAgICAgICAgIDxzdmcgY2xhc3M9Im9wLWNvbXBhdCIgcHJlc2VydmVhc3BlY3RyYXRpbz0ieE1pbllNaWQgbWVldCIgdmlld2JveD0iMCAwIDI1MCAyNSI+CiAgICAgICAgICAgICAgICA8ZGVmcz4KICAgICAgICAgICAgICAgICAgPGxpbmVhcmdyYWRpZW50IGlkPSJvcC1jb21wYXQtZmlsbCI+CiAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yJD0iW1tfb3BDb21wYXRDb2xvcl1dIj48L3N0b3A+CiAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0JD0iW1tfb3BDb21wYXRTY29yZV1dIiBzdG9wLWNvbG9yJD0iW1tfb3BDb21wYXRDb2xvcl1dIj48L3N0b3A+CiAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0JD0iW1tfb3BDb21wYXRTY29yZV1dIiBzdG9wLWNvbG9yJD0iW1tfb3BJbmNvbXBhdENvbG9yXV0iPjwvc3RvcD4KICAgICAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3IkPSJbW19vcEluY29tcGF0Q29sb3IgXV0iPjwvc3RvcD4KICAgICAgICAgICAgICAgICAgPC9saW5lYXJncmFkaWVudD4KICAgICAgICAgICAgICAgIDwvZGVmcz4KICAgICAgICAgICAgICAgIDxyZWN0IGhlaWdodD0iMjUiIHdpZHRoPSIyNTAiIHJ4PSI1IiByeT0iNSIgc3R5bGU9ImZpbGw6IHVybCgnI29wLWNvbXBhdC1maWxsJyk7IiAvPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wLWNvbXBhdC12YWx1ZSI+W1tfb3BDb21wYXRTY29yZUxhYmVsXV08L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9wYXBlci1pdGVtLWJvZHk+CiAgICA8L3BhcGVyLWl0ZW0+CgogICAgPGlyb24tY29sbGFwc2Ugb3BlbmVkPSJ7e19leHBhbmRlZH19Ij4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJ7e19leHBhbmRlZH19IiByZXN0YW1wPSJ0cnVlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJleHBhbmRlZEluZm8iPgogICAgICAgICAgSW5jb21wYXRpYmxlIE9wZXJhdGlvbnM6ICg8c3Bhbj5bW190b3RhbEluY29tcGF0T3BzXV08L3NwYW4+KQogICAgICAgICAgPGlyb24tbGlzdCBjbGFzcz0iaW5jb21wYXRpYmxlLW9wcy1saXN0IiBpZD0iaW5jb21wYXRpYmxlT3BzTGlzdCIgaXRlbXM9IltbX2luY29tcGF0aWJsZU9wTm9kZXNdXSI+CiAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICA8dGYtZ3JhcGgtb3AtY29tcGF0LWxpc3QtaXRlbSBjbGFzcz0ibm9uLWNvbnRyb2wtbGlzdC1pdGVtIiBpdGVtLW5vZGU9IltbaXRlbV1dIiBpdGVtLXJlbmRlci1pbmZvPSJbW19nZXRSZW5kZXJJbmZvKGl0ZW0ubmFtZSwgcmVuZGVySGllcmFyY2h5KV1dIiBuYW1lPSJbW2l0ZW0ubmFtZV1dIiB0ZW1wbGF0ZS1pbmRleD0iW1tfdGVtcGxhdGVJbmRleF1dIiBjb2xvci1ieT0iW1tjb2xvckJ5XV0iIGl0ZW0tdHlwZT0iaW5jb21wYXRpYmxlLW9wcyI+CiAgICAgICAgICAgICAgPC90Zi1ncmFwaC1vcC1jb21wYXQtbGlzdC1pdGVtPgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L2lyb24tY29sbGFwc2U+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtbm9kZS1saXN0LWl0ZW0iPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgI2xpc3QtaXRlbSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgY29sb3I6ICM1NjU2NTY7CiAgICAgICAgZm9udC1zaXplOiAxMXB0OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgI2xpc3QtaXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ29vZ2xlLXllbGxvdy0xMDApOwogICAgICB9CgogICAgICAuY2xpY2thYmxlIHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgICNsaXN0LWl0ZW0gc3BhbiB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7CiAgICAgIH0KCiAgICAgICNsaXN0LWl0ZW0uZXhjbHVkZWQgc3BhbiB7CiAgICAgICAgY29sb3I6ICM5OTk7CiAgICAgIH0KCiAgICAgICNsaXN0LWl0ZW0gc3Bhbi5lZGdlLWxhYmVsIHsKICAgICAgICBmbG9hdDogcmlnaHQ7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7CiAgICAgIH0KCiAgICAgIC5ub2RlLWljb24gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDFweDsKICAgICAgICBsZWZ0OiAycHg7CiAgICAgIH0KCiAgICAgIC5mYWRlZCBzcGFuIHsKICAgICAgICBjb2xvcjogdmFyKC0tdGItZ3JhcGgtZmFkZWQpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGRpdiBpZD0ibGlzdC1pdGVtIiBvbi1tb3VzZW92ZXI9Il9ub2RlTGlzdGVuZXIiIG9uLW1vdXNlb3V0PSJfbm9kZUxpc3RlbmVyIiBvbi1jbGljaz0iX25vZGVMaXN0ZW5lciI+CiAgICAgIDxkaXYgY2xhc3MkPSJ7e19mYWRlZENsYXNzKGl0ZW1SZW5kZXJJbmZvKX19Ij4KICAgICAgICA8dGYtbm9kZS1pY29uIGNsYXNzPSJub2RlLWljb24iIGhlaWdodD0iMTIiIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIgY29sb3ItYnktcGFyYW1zPSJbW2NvbG9yQnlQYXJhbXNdXSIgbm9kZT0iW1tpdGVtTm9kZV1dIiByZW5kZXItaW5mbz0iW1tpdGVtUmVuZGVySW5mb11dIiB0ZW1wbGF0ZS1pbmRleD0iW1t0ZW1wbGF0ZUluZGV4XV0iPjwvdGYtbm9kZS1pY29uPgogICAgICAgIDxzcGFuIHRpdGxlJD0iW1tuYW1lXV0iPltbbmFtZV1dPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJlZGdlLWxhYmVsIj5bW2VkZ2VMYWJlbF1dPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLW5vZGUtaW5mbyI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAuc3ViLWxpc3QtZ3JvdXAgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxMnB0OwogICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5zdWItbGlzdCB7CiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOwogICAgICB9CgogICAgICAuYXR0ci1sZWZ0IHsKICAgICAgICBmbG9hdDogbGVmdDsKICAgICAgICB3aWR0aDogMzAlOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICBjb2xvcjogIzU2NTY1NjsKICAgICAgICBmb250LXNpemU6IDExcHQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgfQoKICAgICAgLmF0dHItcmlnaHQgewogICAgICAgIG1hcmdpbi1sZWZ0OiAzMCU7CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICAgIGNvbG9yOiAjNTY1NjU2OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgIH0KCiAgICAgIC5zdWItbGlzdC10YWJsZSB7CiAgICAgICAgZGlzcGxheTogdGFibGU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5zdWItbGlzdC10YWJsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsKICAgICAgfQoKICAgICAgLnN1Yi1saXN0LXRhYmxlLXJvdyAuc3ViLWxpc3QtdGFibGUtY2VsbDpsYXN0LWNoaWxkIHsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgfQoKICAgICAgLnN1Yi1saXN0LXRhYmxlLWNlbGwgewogICAgICAgIGNvbG9yOiAjNTY1NjU2OwogICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7CiAgICAgICAgZm9udC1zaXplOiAxMXB0OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgbWF4LXdpZHRoOiAyMDBweDsKICAgICAgICBwYWRkaW5nOiAwIDRweDsKICAgICAgfQoKICAgICAgcGFwZXItaXRlbSB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBiYWNrZ3JvdW5kOiAjZTllOWU5OwogICAgICB9CgogICAgICBwYXBlci1pdGVtLWJvZHlbdHdvLWxpbmVdIHsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4IDRweDsKICAgICAgfQoKICAgICAgLmV4cGFuZGVkSW5mbyB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgIH0KCiAgICAgIC5jb250cm9sRGVwcyB7CiAgICAgICAgcGFkZGluZzogMCAwIDAgOHB4OwogICAgICB9CgogICAgICAubm9kZS1uYW1lIHsKICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICBmb250LXNpemU6IDE0cHQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLm5vZGUtaWNvbiB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJwdDsKICAgICAgICBjb2xvcjogIzVlNWU1ZTsKICAgICAgfQoKICAgICAgLmNvbnRyb2xMaW5lIHsKICAgICAgICBmb250LXNpemU6IDExcHQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1idXR0b24gewogICAgICAgIGZsb2F0OiByaWdodDsKICAgICAgICBtYXgtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1heC13aWR0aDogMjBweDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAuY29udHJvbC10b2dnbGUtYnV0dG9uIHsKICAgICAgICBmbG9hdDogbGVmdDsKICAgICAgICBtYXgtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1heC13aWR0aDogMjBweDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAudG9nZ2xlLWluY2x1ZGUtZ3JvdXAgewogICAgICAgIHBhZGRpbmctdG9wOiA0cHg7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtaW5jbHVkZSB7CiAgICAgICAgbWFyZ2luOiA1cHggNnB4OwogICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHBhZGRpbmc6IDRweCA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB0OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7CiAgICAgICAgY29sb3I6ICM2NjY7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtaW5jbHVkZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ29vZ2xlLXllbGxvdy0xMDApOwogICAgICB9CgogICAgICAubm9uLWNvbnRyb2wtbGlzdC1pdGVtIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8cGFwZXItaXRlbT4KICAgICAgPHBhcGVyLWl0ZW0tYm9keSB0d28tbGluZT4KICAgICAgICA8ZGl2PgogICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249Int7X2dldFRvZ2dsZUljb24oX2V4cGFuZGVkKX19IiBvbi1jbGljaz0iX3RvZ2dsZUV4cGFuZGVkIiBjbGFzcz0idG9nZ2xlLWJ1dHRvbiI+CiAgICAgICAgICA8L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm9kZS1uYW1lIiBpZD0ibm9kZXRpdGxlIj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IHNlY29uZGFyeT4KICAgICAgICAgIDx0Zi1ub2RlLWljb24gY2xhc3M9Im5vZGUtaWNvbiIgbm9kZT0iW1tfbm9kZV1dIiByZW5kZXItaW5mbz0iW1tfZ2V0UmVuZGVySW5mbyhncmFwaE5vZGVOYW1lLCByZW5kZXJIaWVyYXJjaHkpXV0iIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIgdGVtcGxhdGUtaW5kZXg9IltbX3RlbXBsYXRlSW5kZXhdXSI+PC90Zi1ub2RlLWljb24+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X25vZGUub3B9fSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj4KICAgICAgICAgICAgICBPcGVyYXRpb246CiAgICAgICAgICAgICAgPHNwYW4+W1tfbm9kZS5vcF1dPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X25vZGUubWV0YWdyYXBofX0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+CiAgICAgICAgICAgICAgU3ViZ3JhcGg6CiAgICAgICAgICAgICAgPHNwYW4+W1tfbm9kZS5jYXJkaW5hbGl0eV1dPC9zcGFuPiBub2RlcwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvcGFwZXItaXRlbS1ib2R5PgogICAgPC9wYXBlci1pdGVtPgogICAgPGlyb24tY29sbGFwc2Ugb3BlbmVkPSJ7e19leHBhbmRlZH19Ij4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJ7e19leHBhbmRlZH19IiByZXN0YW1wPSJ0cnVlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJleHBhbmRlZEluZm8iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic3ViLWxpc3QtZ3JvdXAgYXR0cmlidXRlcyI+CiAgICAgICAgICAgIEF0dHJpYnV0ZXMgKDxzcGFuPltbX2F0dHJpYnV0ZXMubGVuZ3RoXV08L3NwYW4+KQogICAgICAgICAgICA8aXJvbi1saXN0IGNsYXNzPSJzdWItbGlzdCIgaWQ9ImF0dHJpYnV0ZXNMaXN0IiBpdGVtcz0iW1tfYXR0cmlidXRlc11dIj4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRyLWxlZnQiPltbaXRlbS5rZXldXTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRyLXJpZ2h0Ij5bW2l0ZW0udmFsdWVdXTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X2RldmljZX19Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3ViLWxpc3QtZ3JvdXAgZGV2aWNlIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRyLWxlZnQiPkRldmljZTwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF0dHItcmlnaHQiPltbX2RldmljZV1dPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC1ncm91cCBwcmVkZWNlc3NvcnMiPgogICAgICAgICAgICBJbnB1dHMgKDxzcGFuPltbX3RvdGFsUHJlZGVjZXNzb3JzXV08L3NwYW4+KQogICAgICAgICAgICA8aXJvbi1saXN0IGNsYXNzPSJzdWItbGlzdCIgaWQ9ImlucHV0c0xpc3QiIGl0ZW1zPSJbW19wcmVkZWNlc3NvcnMucmVndWxhcl1dIj4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGYtbm9kZS1saXN0LWl0ZW0gY2xhc3M9Im5vbi1jb250cm9sLWxpc3QtaXRlbSIgY2FyZC1ub2RlPSJbW19ub2RlXV0iIGl0ZW0tbm9kZT0iW1tpdGVtLm5vZGVdXSIgZWRnZS1sYWJlbD0iW1tpdGVtLmVkZ2VMYWJlbF1dIiBpdGVtLXJlbmRlci1pbmZvPSJbW2l0ZW0ucmVuZGVySW5mb11dIiBuYW1lPSJbW2l0ZW0ubmFtZV1dIiBpdGVtLXR5cGU9InByZWRlY2Vzc29ycyIgY29sb3ItYnk9IltbY29sb3JCeV1dIiB0ZW1wbGF0ZS1pbmRleD0iW1tfdGVtcGxhdGVJbmRleF1dIj4KICAgICAgICAgICAgICAgIDwvdGYtbm9kZS1saXN0LWl0ZW0+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfcHJlZGVjZXNzb3JzLmNvbnRyb2wubGVuZ3RoXV0iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xEZXBzIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xMaW5lIj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249Int7X2dldFRvZ2dsZUljb24oX29wZW5lZENvbnRyb2xQcmVkKX19IiBvbi1jbGljaz0iX3RvZ2dsZUNvbnRyb2xQcmVkIiBjbGFzcz0iY29udHJvbC10b2dnbGUtYnV0dG9uIj4KICAgICAgICAgICAgICAgICAgPC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgICAgICAgICAgQ29udHJvbCBkZXBlbmRlbmNpZXMKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGlyb24tY29sbGFwc2Ugb3BlbmVkPSJ7e19vcGVuZWRDb250cm9sUHJlZH19IiBuby1hbmltYXRpb24+CiAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0ie3tfb3BlbmVkQ29udHJvbFByZWR9fSIgcmVzdGFtcD0idHJ1ZSI+CiAgICAgICAgICAgICAgICAgICAgPGlyb24tbGlzdCBjbGFzcz0ic3ViLWxpc3QiIGl0ZW1zPSJbW19wcmVkZWNlc3NvcnMuY29udHJvbF1dIj4KICAgICAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHRmLW5vZGUtbGlzdC1pdGVtIGNhcmQtbm9kZT0iW1tfbm9kZV1dIiBpdGVtLW5vZGU9IltbaXRlbS5ub2RlXV0iIGl0ZW0tcmVuZGVyLWluZm89IltbaXRlbS5yZW5kZXJJbmZvXV0iIG5hbWU9IltbaXRlbS5uYW1lXV0iIGl0ZW0tdHlwZT0icHJlZGVjZXNzb3JzIiBjb2xvci1ieT0iW1tjb2xvckJ5XV0iIHRlbXBsYXRlLWluZGV4PSJbW190ZW1wbGF0ZUluZGV4XV0iPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RmLW5vZGUtbGlzdC1pdGVtPgogICAgICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICAgICAgICA8L2lyb24tbGlzdD4KICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICAgIDwvaXJvbi1jb2xsYXBzZT4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LWdyb3VwIHN1Y2Nlc3NvcnMiPgogICAgICAgICAgICBPdXRwdXRzICg8c3Bhbj5bW190b3RhbFN1Y2Nlc3NvcnNdXTwvc3Bhbj4pCiAgICAgICAgICAgIDxpcm9uLWxpc3QgY2xhc3M9InN1Yi1saXN0IiBpZD0ib3V0cHV0c0xpc3QiIGl0ZW1zPSJbW19zdWNjZXNzb3JzLnJlZ3VsYXJdXSI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRmLW5vZGUtbGlzdC1pdGVtIGNsYXNzPSJub24tY29udHJvbC1saXN0LWl0ZW0iIGNhcmQtbm9kZT0iW1tfbm9kZV1dIiBpdGVtLW5vZGU9IltbaXRlbS5ub2RlXV0iIGVkZ2UtbGFiZWw9IltbaXRlbS5lZGdlTGFiZWxdXSIgaXRlbS1yZW5kZXItaW5mbz0iW1tpdGVtLnJlbmRlckluZm9dXSIgbmFtZT0iW1tpdGVtLm5hbWVdXSIgaXRlbS10eXBlPSJzdWNjZXNzb3IiIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIgdGVtcGxhdGUtaW5kZXg9IltbX3RlbXBsYXRlSW5kZXhdXSI+CiAgICAgICAgICAgICAgICA8L3RmLW5vZGUtbGlzdC1pdGVtPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvaXJvbi1saXN0PgogICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3N1Y2Nlc3NvcnMuY29udHJvbC5sZW5ndGhdXSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbERlcHMiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbExpbmUiPgogICAgICAgICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0ie3tfZ2V0VG9nZ2xlSWNvbihfb3BlbmVkQ29udHJvbFN1Y2MpfX0iIG9uLWNsaWNrPSJfdG9nZ2xlQ29udHJvbFN1Y2MiIGNsYXNzPSJjb250cm9sLXRvZ2dsZS1idXR0b24iPgogICAgICAgICAgICAgICAgICA8L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgICAgICAgICAgICBDb250cm9sIGRlcGVuZGVuY2llcwogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8aXJvbi1jb2xsYXBzZSBvcGVuZWQ9Int7X29wZW5lZENvbnRyb2xTdWNjfX0iIG5vLWFuaW1hdGlvbj4KICAgICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJ7e19vcGVuZWRDb250cm9sU3VjY319IiByZXN0YW1wPSJ0cnVlIj4KICAgICAgICAgICAgICAgICAgICA8aXJvbi1saXN0IGNsYXNzPSJzdWItbGlzdCIgaXRlbXM9IltbX3N1Y2Nlc3NvcnMuY29udHJvbF1dIj4KICAgICAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHRmLW5vZGUtbGlzdC1pdGVtIGNhcmQtbm9kZT0iW1tfbm9kZV1dIiBpdGVtLW5vZGU9IltbaXRlbS5ub2RlXV0iIGl0ZW0tcmVuZGVyLWluZm89IltbaXRlbS5yZW5kZXJJbmZvXV0iIG5hbWU9IltbaXRlbS5uYW1lXV0iIGl0ZW0tdHlwZT0ic3VjY2Vzc29ycyIgY29sb3ItYnk9IltbY29sb3JCeV1dIiB0ZW1wbGF0ZS1pbmRleD0iW1tfdGVtcGxhdGVJbmRleF1dIj4KICAgICAgICAgICAgICAgICAgICAgICAgPC90Zi1ub2RlLWxpc3QtaXRlbT4KICAgICAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8L2lyb24tY29sbGFwc2U+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0ie3tfaGFzRGlzcGxheWFibGVOb2RlU3RhdHN9fSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LWdyb3VwIG5vZGUtc3RhdHMiPgogICAgICAgICAgICAgIE5vZGUgU3RhdHMKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZSI+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X25vZGVTdGF0cy50b3RhbEJ5dGVzfX0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZS1yb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPk1lbW9yeTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPgogICAgICAgICAgICAgICAgICAgICAgW1tfbm9kZVN0YXRzRm9ybWF0dGVkQnl0ZXNdXQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X2dldFRvdGFsTWljcm9zKF9ub2RlU3RhdHMpfX0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZS1yb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPkNvbXB1dGUgVGltZTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPgogICAgICAgICAgICAgICAgICAgICAgW1tfbm9kZVN0YXRzRm9ybWF0dGVkQ29tcHV0ZVRpbWVdXQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X25vZGVTdGF0cy5vdXRwdXRTaXplfX0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZS1yb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPlRlbnNvciBPdXRwdXQgU2l6ZXM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZS1jZWxsIj4KICAgICAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9Int7X25vZGVTdGF0c0Zvcm1hdHRlZE91dHB1dFNpemVzfX0iPgogICAgICAgICAgICAgICAgICAgICAgICBbW2l0ZW1dXSA8YnI+CiAgICAgICAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KCiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2Z1bmN0aW9uVXNhZ2VzLmxlbmd0aF1dIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3ViLWxpc3QtZ3JvdXAgcHJlZGVjZXNzb3JzIj4KICAgICAgICAgICAgICBVc2FnZXMgb2YgdGhlIEZ1bmN0aW9uICg8c3Bhbj5bW19mdW5jdGlvblVzYWdlcy5sZW5ndGhdXTwvc3Bhbj4pCiAgICAgICAgICAgICAgPGlyb24tbGlzdCBjbGFzcz0ic3ViLWxpc3QiIGlkPSJmdW5jdGlvblVzYWdlc0xpc3QiIGl0ZW1zPSJbW19mdW5jdGlvblVzYWdlc11dIj4KICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgICAgPHRmLW5vZGUtbGlzdC1pdGVtIGNsYXNzPSJub24tY29udHJvbC1saXN0LWl0ZW0iIGNhcmQtbm9kZT0iW1tfbm9kZV1dIiBpdGVtLW5vZGU9IltbaXRlbV1dIiBuYW1lPSJbW2l0ZW0ubmFtZV1dIiBpdGVtLXR5cGU9ImZ1bmN0aW9uVXNhZ2VzIiBjb2xvci1ieT0iW1tjb2xvckJ5XV0iIHRlbXBsYXRlLWluZGV4PSJbW190ZW1wbGF0ZUluZGV4XV0iPgogICAgICAgICAgICAgICAgICA8L3RmLW5vZGUtbGlzdC1pdGVtPgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8L2lyb24tbGlzdD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgoKICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2lzTGlicmFyeUZ1bmN0aW9uKF9ub2RlKV1dIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLWluY2x1ZGUtZ3JvdXAiPgogICAgICAgICAgICAgIDxwYXBlci1idXR0b24gcmFpc2VkIGNsYXNzPSJ0b2dnbGUtaW5jbHVkZSIgb24tY2xpY2s9Il90b2dnbGVJbmNsdWRlIj4KICAgICAgICAgICAgICAgIDxzcGFuPltbX2F1eEJ1dHRvblRleHRdXTwvc3Bhbj4KICAgICAgICAgICAgICA8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgoKICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0ie3tfaXNJblNlcmllcyhfbm9kZSl9fSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvZ2dsZS1pbmNsdWRlLWdyb3VwIj4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIHJhaXNlZCBjbGFzcz0idG9nZ2xlLWluY2x1ZGUiIG9uLWNsaWNrPSJfdG9nZ2xlR3JvdXAiPgogICAgICAgICAgICAgICAgPHNwYW4+W1tfZ3JvdXBCdXR0b25UZXh0XV08L3NwYW4+CiAgICAgICAgICAgICAgPC9wYXBlci1idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvaXJvbi1jb2xsYXBzZT4KICA8L3RlbXBsYXRlPgoKICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1ncmFwaC1pbmZvIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWF4LWhlaWdodDogNjUwcHg7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KCiAgICAgIGgyIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7c2VsZWN0ZWROb2RlfX0iPgogICAgICA8cGFwZXItbWF0ZXJpYWwgZWxldmF0aW9uPSIxIiBjbGFzcz0iY2FyZCI+CiAgICAgICAgPHRmLW5vZGUtaW5mbyBncmFwaC1oaWVyYXJjaHk9IltbZ3JhcGhIaWVyYXJjaHldXSIgcmVuZGVyLWhpZXJhcmNoeT0iW1tyZW5kZXJIaWVyYXJjaHldXSIgZmxhdC1ncmFwaD0iW1tncmFwaF1dIiBncmFwaC1ub2RlLW5hbWU9Iltbc2VsZWN0ZWROb2RlXV0iIG5vZGUtaW5jbHVkZT0iW1tzZWxlY3RlZE5vZGVJbmNsdWRlXV0iIGhpZ2hsaWdodGVkLW5vZGU9Int7aGlnaGxpZ2h0ZWROb2RlfX0iIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSI+CiAgICAgICAgPC90Zi1ub2RlLWluZm8+CiAgICAgIDwvcGFwZXItbWF0ZXJpYWw+CiAgICA8L3RlbXBsYXRlPgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19lcXVhbHMoY29sb3JCeSwgJ29wX2NvbXBhdGliaWxpdHknKV1dIj4KICAgICAgPHRmLWdyYXBoLW9wLWNvbXBhdC1jYXJkIGdyYXBoLWhpZXJhcmNoeT0iW1tncmFwaEhpZXJhcmNoeV1dIiBoaWVyYXJjaHktcGFyYW1zPSJbW2hpZXJhcmNoeVBhcmFtc11dIiByZW5kZXItaGllcmFyY2h5PSJbW3JlbmRlckhpZXJhcmNoeV1dIiBjb2xvci1ieT0iW1tjb2xvckJ5XV0iIG5vZGUtdGl0bGU9IltbY29tcGF0Tm9kZVRpdGxlXV0iPgogICAgICA8L3RmLWdyYXBoLW9wLWNvbXBhdC1jYXJkPgogICAgPC90ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGVhbHRoUGlsbHNBdmFpbGFibGUoZGVidWdnZXJEYXRhRW5hYmxlZCwgbm9kZU5hbWVzVG9IZWFsdGhQaWxscyldXSI+CiAgICAgIDx0Zi1ncmFwaC1kZWJ1Z2dlci1kYXRhLWNhcmQgcmVuZGVyLWhpZXJhcmNoeT0iW1tyZW5kZXJIaWVyYXJjaHldXSIgZGVidWdnZXItbnVtZXJpYy1hbGVydHM9IltbZGVidWdnZXJOdW1lcmljQWxlcnRzXV0iIG5vZGUtbmFtZXMtdG8taGVhbHRoLXBpbGxzPSJbW25vZGVOYW1lc1RvSGVhbHRoUGlsbHNdXSIgc2VsZWN0ZWQtbm9kZT0ie3tzZWxlY3RlZE5vZGV9fSIgaGlnaGxpZ2h0ZWQtbm9kZT0ie3toaWdobGlnaHRlZE5vZGV9fSIgYXJlLWhlYWx0aC1waWxscy1sb2FkaW5nPSJbW2FyZUhlYWx0aFBpbGxzTG9hZGluZ11dIiBhbGwtc3RlcHMtbW9kZS1lbmFibGVkPSJ7e2FsbFN0ZXBzTW9kZUVuYWJsZWR9fSIgc3BlY2lmaWMtaGVhbHRoLXBpbGwtc3RlcD0ie3tzcGVjaWZpY0hlYWx0aFBpbGxTdGVwfX0iIGhlYWx0aC1waWxsLXN0ZXAtaW5kZXg9Int7aGVhbHRoUGlsbFN0ZXBJbmRleH19Ij4KICAgICAgPC90Zi1ncmFwaC1kZWJ1Z2dlci1kYXRhLWNhcmQ+CiAgICA8L3RlbXBsYXRlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZ3JhcGgtYm9hcmQiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOjpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgL2RlZXAvIC5jbG9zZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBsZWZ0OiAxNXB4OwogICAgICAgIGJvdHRvbTogMTVweDsKICAgICAgfQoKICAgICAgLmNvbnRhaW5lciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5jb250YWluZXIubG9hZGluZyB7CiAgICAgICAgY3Vyc29yOiBwcm9ncmVzczsKICAgICAgICBvcGFjaXR5OiAwLjE7CiAgICAgIH0KCiAgICAgIC5jb250YWluZXIubG9hZGluZy5lcnJvciB7CiAgICAgICAgY3Vyc29yOiBhdXRvOwogICAgICB9CgogICAgICAjaW5mbyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiA1cHg7CiAgICAgICAgdG9wOiA1cHg7CiAgICAgICAgcGFkZGluZzogMHB4OwogICAgICAgIG1heC13aWR0aDogMzgwcHg7CiAgICAgICAgbWluLXdpZHRoOiAzMjBweDsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7CiAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi0yZHA7CiAgICAgIH0KCiAgICAgICNtYWluIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgICNwcm9ncmVzcy1iYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDQwcHg7CiAgICAgICAgbGVmdDogMDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgICNwcm9ncmVzcy1tc2cgewogICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAgICAgd2lkdGg6IDQwMHB4OwogICAgICB9CgogICAgICBwYXBlci1wcm9ncmVzcyB7CiAgICAgICAgd2lkdGg6IDQwMHB4OwogICAgICAgIC0tcGFwZXItcHJvZ3Jlc3MtaGVpZ2h0OiA2cHg7CiAgICAgICAgLS1wYXBlci1wcm9ncmVzcy1hY3RpdmUtY29sb3I6ICNmMzkxM2U7CiAgICAgIH0KCiAgICAgIC5jb250ZXh0LW1lbnUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmUyZTI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBtaW4td2lkdGg6IDE1MHB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNGQ0ZDQ7CiAgICAgIH0KCiAgICAgIC9kZWVwLyAuY29udGV4dC1tZW51IHVsIHsKICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICAvZGVlcC8gLmNvbnRleHQtbWVudSB1bCBsaSB7CiAgICAgICAgcGFkZGluZzogNHB4IDE2cHg7CiAgICAgIH0KCiAgICAgIC9kZWVwLyAuY29udGV4dC1tZW51IHVsIGxpOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjM5MTNlOwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNOb3RDb21wbGV0ZShwcm9ncmVzcyldXSI+CiAgICAgIDxkaXYgaWQ9InByb2dyZXNzLWJhciI+CiAgICAgICAgPGRpdiBpZD0icHJvZ3Jlc3MtbXNnIj5bW3Byb2dyZXNzLm1zZ11dPC9kaXY+CiAgICAgICAgPHBhcGVyLXByb2dyZXNzIHZhbHVlPSJbW3Byb2dyZXNzLnZhbHVlXV0iPjwvcGFwZXItcHJvZ3Jlc3M+CiAgICAgIDwvZGl2PgogICAgPC90ZW1wbGF0ZT4KICAgIDxkaXYgY2xhc3MkPSJbW19nZXRDb250YWluZXJDbGFzcyhwcm9ncmVzcyldXSI+CiAgICAgIDxkaXYgaWQ9Im1haW4iPgogICAgICAgIDx0Zi1ncmFwaCBpZD0iZ3JhcGgiIGdyYXBoLWhpZXJhcmNoeT0ie3tncmFwaEhpZXJhcmNoeX19IiBiYXNpYy1ncmFwaD0iW1tncmFwaF1dIiBoaWVyYXJjaHktcGFyYW1zPSJbW2hpZXJhcmNoeVBhcmFtc11dIiByZW5kZXItaGllcmFyY2h5PSJ7e3JlbmRlckhpZXJhcmNoeX19IiBkZXZpY2VzLWZvci1zdGF0cz0iW1tkZXZpY2VzRm9yU3RhdHNdXSIgc3RhdHM9Iltbc3RhdHNdXSIgc2VsZWN0ZWQtbm9kZT0ie3tzZWxlY3RlZE5vZGV9fSIgaGlnaGxpZ2h0ZWQtbm9kZT0ie3tfaGlnaGxpZ2h0ZWROb2RlfX0iIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIgY29sb3ItYnktcGFyYW1zPSJ7e2NvbG9yQnlQYXJhbXN9fSIgcHJvZ3Jlc3M9Int7cHJvZ3Jlc3N9fSIgZWRnZS1sYWJlbC1mdW5jdGlvbj0iW1tlZGdlTGFiZWxGdW5jdGlvbl1dIiBlZGdlLXdpZHRoLWZ1bmN0aW9uPSJbW2VkZ2VXaWR0aEZ1bmN0aW9uXV0iIG5vZGUtbmFtZXMtdG8taGVhbHRoLXBpbGxzPSJbW25vZGVOYW1lc1RvSGVhbHRoUGlsbHNdXSIgaGVhbHRoLXBpbGwtc3RlcC1pbmRleD0iW1toZWFsdGhQaWxsU3RlcEluZGV4XV0iIGhhbmRsZS1ub2RlLXNlbGVjdGVkPSJbW2hhbmRsZU5vZGVTZWxlY3RlZF1dIiBoYW5kbGUtZWRnZS1zZWxlY3RlZD0iW1toYW5kbGVFZGdlU2VsZWN0ZWRdXSIgdHJhY2UtaW5wdXRzPSJbW3RyYWNlSW5wdXRzXV0iPjwvdGYtZ3JhcGg+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGlkPSJpbmZvIj4KICAgICAgICA8dGYtZ3JhcGgtaW5mbyBpZD0iZ3JhcGgtaW5mbyIgdGl0bGU9InNlbGVjdGVkIiBncmFwaC1oaWVyYXJjaHk9IltbZ3JhcGhIaWVyYXJjaHldXSIgaGllcmFyY2h5LXBhcmFtcz0iW1toaWVyYXJjaHlQYXJhbXNdXSIgcmVuZGVyLWhpZXJhcmNoeT0iW1tyZW5kZXJIaWVyYXJjaHldXSIgZ3JhcGg9IltbZ3JhcGhdXSIgc2VsZWN0ZWQtbm9kZT0ie3tzZWxlY3RlZE5vZGV9fSIgc2VsZWN0ZWQtbm9kZS1pbmNsdWRlPSJ7e19zZWxlY3RlZE5vZGVJbmNsdWRlfX0iIGhpZ2hsaWdodGVkLW5vZGU9Int7X2hpZ2hsaWdodGVkTm9kZX19IiBjb2xvci1ieT0iW1tjb2xvckJ5XV0iIGNvbG9yLWJ5LXBhcmFtcz0iW1tjb2xvckJ5UGFyYW1zXV0iIGRlYnVnZ2VyLWRhdGEtZW5hYmxlZD0iW1tkZWJ1Z2dlckRhdGFFbmFibGVkXV0iIGFyZS1oZWFsdGgtcGlsbHMtbG9hZGluZz0iW1thcmVIZWFsdGhQaWxsc0xvYWRpbmddXSIgZGVidWdnZXItbnVtZXJpYy1hbGVydHM9IltbZGVidWdnZXJOdW1lcmljQWxlcnRzXV0iIG5vZGUtbmFtZXMtdG8taGVhbHRoLXBpbGxzPSJbW25vZGVOYW1lc1RvSGVhbHRoUGlsbHNdXSIgYWxsLXN0ZXBzLW1vZGUtZW5hYmxlZD0ie3thbGxTdGVwc01vZGVFbmFibGVkfX0iIHNwZWNpZmljLWhlYWx0aC1waWxsLXN0ZXA9Int7c3BlY2lmaWNIZWFsdGhQaWxsU3RlcH19IiBoZWFsdGgtcGlsbC1zdGVwLWluZGV4PSJ7e2hlYWx0aFBpbGxTdGVwSW5kZXh9fSIgY29tcGF0LW5vZGUtdGl0bGU9IltbY29tcGF0Tm9kZVRpdGxlXV0iIG9uLW5vZGUtdG9nZ2xlLWluY2x1c2lvbj0iX29uTm9kZUluY2x1c2lvblRvZ2dsZWQiIG9uLW5vZGUtdG9nZ2xlLXNlcmllc2dyb3VwPSJfb25Ob2RlU2VyaWVzR3JvdXBUb2dnbGVkIj48L3RmLWdyYXBoLWluZm8+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJwYXBlci1yYWRpby1idXR0b24iPgogIDx0ZW1wbGF0ZSBzdHJpcC13aGl0ZXNwYWNlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGxpbmUtaGVpZ2h0OiAwOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgLS1jYWxjdWxhdGVkLXBhcGVyLXJhZGlvLWJ1dHRvbi1zaXplOiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tc2l6ZSwgMTZweCk7CiAgICAgICAgLyogLTFweCBpcyBhIHNlbnRpbmVsIGZvciB0aGUgZGVmYXVsdCBhbmQgaXMgcmVwbGFjZSBpbiBgYXR0YWNoZWRgLiAqLwogICAgICAgIC0tY2FsY3VsYXRlZC1wYXBlci1yYWRpby1idXR0b24taW5rLXNpemU6IHZhcigtLXBhcGVyLXJhZGlvLWJ1dHRvbi1pbmstc2l6ZSwgLTFweCk7CiAgICAgIH0KCiAgICAgIDpob3N0KDpmb2N1cykgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KCiAgICAgICNyYWRpb0NvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWlubGluZTsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyLWNlbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItcmFkaW8tYnV0dG9uLXNpemUpOwogICAgICAgIGhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1yYWRpby1idXR0b24tc2l6ZSk7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItcmFkaW8tYnV0dG9uLXJhZGlvLWNvbnRhaW5lcjsKICAgICAgfQoKICAgICAgI2luayB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogNTAlOwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICByaWdodDogYXV0bzsKICAgICAgICB3aWR0aDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1yYWRpby1idXR0b24taW5rLXNpemUpOwogICAgICAgIGhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1yYWRpby1idXR0b24taW5rLXNpemUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tdW5jaGVja2VkLWluay1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgIH0KCiAgICAgICNpbmtbY2hlY2tlZF0gewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tY2hlY2tlZC1pbmstY29sb3IsIHZhcigtLXByaW1hcnktY29sb3IpKTsKICAgICAgfQoKICAgICAgI29mZlJhZGlvLCAjb25SYWRpbyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgfQoKICAgICAgI29mZlJhZGlvIHsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tdW5jaGVja2VkLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tdW5jaGVja2VkLWJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50KTsKICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4yOHM7CiAgICAgIH0KCiAgICAgICNvblJhZGlvIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOwogICAgICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIGVhc2UgMC4yOHM7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGVhc2UgMC4yOHM7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NoZWNrZWRdKSAjb2ZmUmFkaW8gewogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGFwZXItcmFkaW8tYnV0dG9uLWNoZWNrZWQtY29sb3IsIHZhcigtLXByaW1hcnktY29sb3IpKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NoZWNrZWRdKSAjb25SYWRpbyB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpOwogICAgICB9CgogICAgICAjcmFkaW9MYWJlbCB7CiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXBhcGVyLXJhZGlvLWJ1dHRvbi1sYWJlbC1zcGFjaW5nLCAxMHB4KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tbGFiZWwtY29sb3IsIHZhcigtLXByaW1hcnktdGV4dC1jb2xvcikpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1yYWRpby1idXR0b24tbGFiZWw7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjaGVja2VkXSkgI3JhZGlvTGFiZWwgewogICAgICAgIEBhcHBseSAtLXBhcGVyLXJhZGlvLWJ1dHRvbi1sYWJlbC1jaGVja2VkOwogICAgICB9CgogICAgICAjcmFkaW9MYWJlbDpkaXIocnRsKSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tbGFiZWwtc3BhY2luZywgMTBweCk7CiAgICAgIH0KCiAgICAgICNyYWRpb0xhYmVsW2hpZGRlbl0gewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIGRpc2FibGVkIHN0YXRlICovCgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAjb2ZmUmFkaW8gewogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGFwZXItcmFkaW8tYnV0dG9uLXVuY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdW2NoZWNrZWRdKSAjb25SYWRpbyB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItcmFkaW8tYnV0dG9uLXVuY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAjcmFkaW9MYWJlbCB7CiAgICAgICAgLyogc2xpZ2h0bHkgZGFya2VyIHRoYW4gdGhlIGJ1dHRvbiwgc28gdGhhdCBpdCdzIHJlYWRhYmxlICovCiAgICAgICAgb3BhY2l0eTogMC42NTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGlkPSJyYWRpb0NvbnRhaW5lciI+CiAgICAgIDxkaXYgaWQ9Im9mZlJhZGlvIj48L2Rpdj4KICAgICAgPGRpdiBpZD0ib25SYWRpbyI+PC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGlkPSJyYWRpb0xhYmVsIj48c2xvdD48L3Nsb3Q+PC9kaXY+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0icGFwZXItcmFkaW8tZ3JvdXAiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgOmhvc3QgOjpzbG90dGVkKCopIHsKICAgICAgICBwYWRkaW5nOiB2YXIoLS1wYXBlci1yYWRpby1ncm91cC1pdGVtLXBhZGRpbmcsIDEycHgpOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxzbG90Pjwvc2xvdD4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXRvb2x0aXAiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHotaW5kZXg6IDEwMDI7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgICN0b29sdGlwIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXRvb2x0aXAtYmFja2dyb3VuZCwgIzYxNjE2MSk7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLXRvb2x0aXAtdGV4dC1jb2xvciwgd2hpdGUpOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbHRpcDsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBrZXlGcmFtZVNjYWxlVXAgewogICAgICAgIDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4wKTsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGtleUZyYW1lU2NhbGVEb3duIHsKICAgICAgICAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjApOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBrZXlGcmFtZUZhZGVJbk9wYWNpdHkgewogICAgICAgIDAlIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgb3BhY2l0eTogdmFyKC0tcGFwZXItdG9vbHRpcC1vcGFjaXR5LCAwLjkpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBrZXlGcmFtZUZhZGVPdXRPcGFjaXR5IHsKICAgICAgICAwJSB7CiAgICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMga2V5RnJhbWVTbGlkZURvd25JbiB7CiAgICAgICAgMCUgewogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOwogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB9CiAgICAgICAgMTAlIHsKICAgICAgICAgIG9wYWNpdHk6IDAuMjsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGtleUZyYW1lU2xpZGVEb3duT3V0IHsKICAgICAgICAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgfQogICAgICAgIDEwJSB7CiAgICAgICAgICBvcGFjaXR5OiAwLjI7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOwogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5mYWRlLWluLWFuaW1hdGlvbiB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBhbmltYXRpb24tZGVsYXk6IHZhcigtLXBhcGVyLXRvb2x0aXAtZGVsYXktaW4sIDUwMG1zKTsKICAgICAgICBhbmltYXRpb24tbmFtZToga2V5RnJhbWVGYWRlSW5PcGFjaXR5OwogICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXRvb2x0aXAtZHVyYXRpb24taW4sIDUwMG1zKTsKICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sdGlwLWFuaW1hdGlvbjsKICAgICAgfQoKICAgICAgLmZhZGUtb3V0LWFuaW1hdGlvbiB7CiAgICAgICAgb3BhY2l0eTogdmFyKC0tcGFwZXItdG9vbHRpcC1vcGFjaXR5LCAwLjkpOwogICAgICAgIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tcGFwZXItdG9vbHRpcC1kZWxheS1vdXQsIDBtcyk7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGtleUZyYW1lRmFkZU91dE9wYWNpdHk7CiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItdG9vbHRpcC1kdXJhdGlvbi1vdXQsIDUwMG1zKTsKICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sdGlwLWFuaW1hdGlvbjsKICAgICAgfQoKICAgICAgLnNjYWxlLXVwLWFuaW1hdGlvbiB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1wYXBlci10b29sdGlwLWRlbGF5LWluLCA1MDBtcyk7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGtleUZyYW1lU2NhbGVVcDsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1wYXBlci10b29sdGlwLWR1cmF0aW9uLWluLCA1MDBtcyk7CiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbHRpcC1hbmltYXRpb247CiAgICAgIH0KCiAgICAgIC5zY2FsZS1kb3duLWFuaW1hdGlvbiB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1wYXBlci10b29sdGlwLWRlbGF5LW91dCwgNTAwbXMpOwogICAgICAgIGFuaW1hdGlvbi1uYW1lOiBrZXlGcmFtZVNjYWxlRG93bjsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1wYXBlci10b29sdGlwLWR1cmF0aW9uLW91dCwgNTAwbXMpOwogICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOwogICAgICAgIEBhcHBseSAtLXBhcGVyLXRvb2x0aXAtYW5pbWF0aW9uOwogICAgICB9CgogICAgICAuc2xpZGUtZG93bi1hbmltYXRpb24gewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tcGFwZXItdG9vbHRpcC1kZWxheS1vdXQsIDUwMG1zKTsKICAgICAgICBhbmltYXRpb24tbmFtZToga2V5RnJhbWVTbGlkZURvd25JbjsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjAsIDAuMCwgMC4yLCAxKTsKICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXRvb2x0aXAtZHVyYXRpb24tb3V0LCA1MDBtcyk7CiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbHRpcC1hbmltYXRpb247CiAgICAgIH0KCiAgICAgIC5zbGlkZS1kb3duLWFuaW1hdGlvbi1vdXQgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1wYXBlci10b29sdGlwLWRlbGF5LW91dCwgNTAwbXMpOwogICAgICAgIGFuaW1hdGlvbi1uYW1lOiBrZXlGcmFtZVNsaWRlRG93bk91dDsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAuMCwgMSwgMSk7CiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1wYXBlci10b29sdGlwLWR1cmF0aW9uLW91dCwgNTAwbXMpOwogICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOwogICAgICAgIEBhcHBseSAtLXBhcGVyLXRvb2x0aXAtYW5pbWF0aW9uOwogICAgICB9CgogICAgICAuY2FuY2VsLWFuaW1hdGlvbiB7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMzBzICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC8qIFRoYW5rcyBJRSAxMC4gKi8KCiAgICAgIC5oaWRkZW4gewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGlkPSJ0b29sdGlwIiBjbGFzcz0iaGlkZGVuIj4KICAgICAgPHNsb3Q+PC9zbG90PgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZ3JhcGgtbm9kZS1zZWFyY2giPgogIDx0ZW1wbGF0ZT4KICAgIDxkaXYgaWQ9InNlYXJjaC1jb250YWluZXIiPgogICAgICA8cGFwZXItaW5wdXQgaWQ9InJ1bnMtcmVnZXgiIGxhYmVsPSJTZWFyY2ggbm9kZXMuIFJlZ2V4ZXMgc3VwcG9ydGVkLiIgdmFsdWU9Int7X3Jhd1JlZ2V4SW5wdXR9fSI+CiAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgIDxkaXYgaWQ9InNlYXJjaC1yZXN1bHRzLWFuY2hvciI+CiAgICAgICAgPGRpdiBpZD0ic2VhcmNoLXJlc3VsdHMiPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfcmVnZXhNYXRjaGVzXV0iPgogICAgICAgICAgICA8ZGl2IGlkPSJzZWFyY2gtbWF0Y2giIG9uLWNsaWNrPSJfbWF0Y2hDbGlja2VkIj5bW2l0ZW1dXTwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgI3NlYXJjaC1jb250YWluZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOwogICAgICB9CgogICAgICAjcnVucy1yZWdleCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNzZWFyY2gtcmVzdWx0cy1hbmNob3IgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgI3NlYXJjaC1yZXN1bHRzIHsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgICNzZWFyY2gtbWF0Y2ggewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIHBhZGRpbmc6IDNweDsKICAgICAgICBmbG9hdDogcmlnaHQ7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBkaXJlY3Rpb246IHJ0bDsKICAgICAgfQoKICAgICAgI3NlYXJjaC1tYXRjaDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGItb3JhbmdlLXdlYWspOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWdyYXBoLWNvbnRyb2xzIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBjb2xvcjogZ3JheTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICBwYXBlci1kcm9wZG93bi1tZW51IHsKICAgICAgICAtLXBhcGVyLWRyb3Bkb3duLW1lbnUtaW5wdXQ6IHsKICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgICBjb2xvcjogZ3JheTsKICAgICAgICB9CiAgICAgICAgLS1pcm9uLWljb24td2lkdGg6IDE1cHg7CiAgICAgICAgLS1pcm9uLWljb24taGVpZ2h0OiAxNXB4OwogICAgICAgIC0tcHJpbWFyeS10ZXh0LWNvbG9yOiBncmF5OwogICAgICAgIC0tcGFwZXItaXRlbS1taW4taGVpZ2h0OiAzMHB4OwogICAgICB9CgogICAgICBwYXBlci1idXR0b25bcmFpc2VkXS5rZXlib2FyZC1mb2N1cyB7CiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgICAgfQoKICAgICAgLnJ1bi1kcm9wZG93biB7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXI6IHsKICAgICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAxMHB4OwogICAgICAgIH0KICAgICAgfQoKICAgICAgLmNvbG9yLWRyb3Bkb3duIHsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lcjogewogICAgICAgICAgcGFkZGluZzogOXB4IDAgMCAxM3B4OwogICAgICAgIH0KICAgICAgfQoKICAgICAgdGFibGUgewogICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7CiAgICAgIH0KCiAgICAgIHRhYmxlIHRkIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLmFsbGNvbnRyb2xzIHsKICAgICAgICBwYWRkaW5nOiAwIDIwcHggMjBweDsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQoKICAgICAgLmxlZ2VuZC1ob2xkZXIgewogICAgICAgIGJhY2tncm91bmQ6ICNlOWU5ZTk7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBjb2xvcjogIzU1NTsKICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtbGVnZW5kLWJ1dHRvbiB7CiAgICAgICAgbWF4LWhlaWdodDogMjBweDsKICAgICAgICBtYXgtd2lkdGg6IDIwcHg7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1sZWdlbmQtdGV4dCB7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgfQoKICAgICAgcGFwZXItcmFkaW8tYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiA1cHg7CiAgICAgIH0KICAgICAgc3ZnLmljb24sCiAgICAgIHRmLWdyYXBoLWljb24gewogICAgICAgIHdpZHRoOiA2MHB4OwogICAgICAgIGhlaWdodDogMThweDsKICAgICAgfQogICAgICAuZG9tYWluVmFsdWVzIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIHdpZHRoOiAxNjVweDsKICAgICAgfQogICAgICAuZG9tYWluU3RhcnQgewogICAgICAgIGZsb2F0OiBsZWZ0OwogICAgICB9CiAgICAgIC5kb21haW5FbmQgewogICAgICAgIGZsb2F0OiByaWdodDsKICAgICAgfQogICAgICAuY29sb3JCb3ggewogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICB9CgogICAgICAuaW1hZ2UtaWNvbiB7CiAgICAgICAgd2lkdGg6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICB9CgogICAgICAuaGVscC1pY29uIHsKICAgICAgICBoZWlnaHQ6IDE1cHg7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC5ncmF5IHsKICAgICAgICBjb2xvcjogIzY2NjsKICAgICAgfQoKICAgICAgLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgbWFyZ2luOiA4cHggNXB4IDhweCAwOwogICAgICAgIGNvbG9yOiBibGFjazsKICAgICAgfQogICAgICAudGl0bGUgc21hbGwgewogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgIH0KICAgICAgLmRldmljZUxpc3QsCiAgICAgIC54bGFDbHVzdGVyTGlzdCB7CiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQoKICAgICAgI2ZpbGUgewogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICB9CgogICAgICAuY29sb3ItbGVnZW5kLXJvdyB7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBjbGVhcjogYm90aDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBtYXJnaW4tdG9wOiA1cHg7CiAgICAgIH0KCiAgICAgIC5jb2xvci1sZWdlbmQtcm93IC5sYWJlbCwKICAgICAgLmNvbG9yLWxlZ2VuZC1yb3cgc3ZnLAogICAgICAuY29sb3ItbGVnZW5kLXJvdyB0Zi1ncmFwaC1pY29uIHsKICAgICAgICBmbGV4OiAwIDAgNDBweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5kZXZpY2VzLWNoZWNrYm94IGlucHV0IHsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgIH0KCiAgICAgIC5jb250cm9sLWhvbGRlciAuaWNvbi1idXR0b24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBtYXJnaW46IDAgLTVweDsKICAgICAgICBwYWRkaW5nOiA1cHg7CiAgICAgIH0KCiAgICAgIC5idXR0b24tdGV4dCB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OwogICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwogICAgICB9CgogICAgICAudXBsb2FkLWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDE2NXB4OwogICAgICAgIGhlaWdodDogMjVweDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgIH0KCiAgICAgIC5idXR0b24taWNvbiB7CiAgICAgICAgd2lkdGg6IDI2cHg7CiAgICAgICAgaGVpZ2h0OiAyNnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1vcmFuZ2UtNTAwKTsKICAgICAgfQoKICAgICAgLmhpZGRlbi1pbnB1dCB7CiAgICAgICAgaGVpZ2h0OiAwcHg7CiAgICAgICAgd2lkdGg6IDBweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuYWxsY29udHJvbHMgLmNvbnRyb2wtaG9sZGVyIHsKICAgICAgICBjbGVhcjogYm90aDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgfQoKICAgICAgLmFsbGNvbnRyb2xzIC5jb250cm9sLWhvbGRlciBwYXBlci1yYWRpby1ncm91cCB7CiAgICAgICAgbWFyZ2luLXRvcDogNXB4OwogICAgICB9CgogICAgICBzcGFuLmNvdW50ZXIgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogZ3JheTsKICAgICAgfQoKICAgICAgLnJ1bnMgcGFwZXItaXRlbSB7CiAgICAgICAgLS1wYXBlci1pdGVtOiB7CiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIH0KICAgICAgfQoKICAgICAgdGFibGUuY29udHJvbC1ob2xkZXIgewogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogICAgICB9CgogICAgICB0YWJsZS50Zi1ncmFwaC1jb250cm9scyB0ZC5pbnB1dC1lbGVtZW50LXRhYmxlLWRhdGEgewogICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7CiAgICAgIH0KCiAgICAgIC5zcGFjZXIgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQoKICAgICAgLmNvbG9yLXRleHQgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC8qKiBPdmVycmlkZSBpbmxpbmUgc3R5bGVzIHRoYXQgc3VwcHJlc3MgcG9pbnRlciBldmVudHMgZm9yIGRpc2FibGVkIGJ1dHRvbnMuIE90aGVyd2lzZSwgdGhlICovCiAgICAgIC8qICB0b29sdGlwcyBkbyBub3QgYXBwZWFyLiAqLwogICAgICBwYXBlci1yYWRpby1ncm91cCBwYXBlci1yYWRpby1idXR0b24gewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5sZWdlbmQtY2xhcmlmaWVyIHsKICAgICAgICBjb2xvcjogIzI2NjIzNjsKICAgICAgICBjdXJzb3I6IGhlbHA7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAubGVnZW5kLWNsYXJpZmllciBwYXBlci10b29sdGlwIHsKICAgICAgICB3aWR0aDogMTUwcHg7CiAgICAgIH0KCiAgICAgIC8qKiBPdGhlcndpc2UsIHBvbHltZXIgVUkgY29udHJvbHMgYXBwZWFyIGF0b3Agbm9kZSBzZWFyY2guICovCiAgICAgIHRmLWdyYXBoLW5vZGUtc2VhcmNoIHsKICAgICAgICB6LWluZGV4OiAxOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICBwYXBlci1kcm9wZG93bi1tZW51IHsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iYWxsY29udHJvbHMiPgogICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWhvbGRlciI+CiAgICAgICAgPHRmLWdyYXBoLW5vZGUtc2VhcmNoIHNlbGVjdGVkLW5vZGU9Int7c2VsZWN0ZWROb2RlfX0iIHJlbmRlci1oaWVyYXJjaHk9IltbcmVuZGVySGllcmFyY2h5XV0iPjwvdGYtZ3JhcGgtbm9kZS1zZWFyY2g+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWhvbGRlciI+CiAgICAgICAgPHBhcGVyLWJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24iIG9uLXRhcD0iX2ZpdCIgYWx0PSJGaXQgdG8gc2NyZWVuIj4KICAgICAgICAgIDxpcm9uLWljb24gaWNvbj0iYXNwZWN0LXJhdGlvIiBjbGFzcz0iYnV0dG9uLWljb24iPjwvaXJvbi1pY29uPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImJ1dHRvbi10ZXh0Ij5GaXQgdG8gU2NyZWVuPC9zcGFuPgogICAgICAgIDwvcGFwZXItYnV0dG9uPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ob2xkZXIiPgogICAgICAgIDxwYXBlci1idXR0b24gY2xhc3M9Imljb24tYnV0dG9uIiBvbi1jbGljaz0iZG93bmxvYWQiIGFsdD0iRG93bmxvYWQgUE5HIj4KICAgICAgICAgIDxpcm9uLWljb24gaWNvbj0iZmlsZS1kb3dubG9hZCIgY2xhc3M9ImJ1dHRvbi1pY29uIj48L2lyb24taWNvbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJidXR0b24tdGV4dCI+RG93bmxvYWQgUE5HPC9zcGFuPgogICAgICAgIDwvcGFwZXItYnV0dG9uPgogICAgICAgIDxhIGhyZWY9IiMiIGlkPSJncmFwaGRvd25sb2FkIiBjbGFzcz0idGl0bGUiIGRvd25sb2FkPSJncmFwaC5wbmciPjwvYT4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtaG9sZGVyIHJ1bnMiPgogICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj4KICAgICAgICAgIFJ1biA8c3BhbiBjbGFzcz0iY291bnRlciI+KFtbZGF0YXNldHMubGVuZ3RoXV0pPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51IG5vLWxhYmVsLWZsb2F0IG5vLWFuaW1hdGlvbnMgbm9pbmsgaG9yaXpvbnRhbC1hbGlnbj0ibGVmdCIgY2xhc3M9InJ1bi1kcm9wZG93biI+CiAgICAgICAgICA8cGFwZXItbGlzdGJveCBjbGFzcz0iZHJvcGRvd24tY29udGVudCIgc2VsZWN0ZWQ9Int7X3NlbGVjdGVkUnVuSW5kZXh9fSIgc2xvdD0iZHJvcGRvd24tY29udGVudCI+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbZGF0YXNldHNdXSI+CiAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0+W1tpdGVtLm5hbWVdXTwvcGFwZXItaXRlbT4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvcGFwZXItbGlzdGJveD4KICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgIDwvZGl2PgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Iltbc2hvd1Nlc3Npb25SdW5zRHJvcGRvd25dXSI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ob2xkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPgogICAgICAgICAgICBUYWcKICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvdW50ZXIiPihbW19udW1UYWdzKGRhdGFzZXRzLCBfc2VsZWN0ZWRSdW5JbmRleCldXSk8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51IG5vLWxhYmVsLWZsb2F0IG5vLWFuaW1hdGlvbnMgaG9yaXpvbnRhbC1hbGlnbj0ibGVmdCIgbm9pbmsgY2xhc3M9InJ1bi1kcm9wZG93biI+CiAgICAgICAgICAgIDxwYXBlci1saXN0Ym94IGNsYXNzPSJkcm9wZG93bi1jb250ZW50IiBzZWxlY3RlZD0ie3tfc2VsZWN0ZWRUYWdJbmRleH19IiBzbG90PSJkcm9wZG93bi1jb250ZW50Ij4KICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19nZXRUYWdzKGRhdGFzZXRzLCBfc2VsZWN0ZWRSdW5JbmRleCldXSI+CiAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5bW2l0ZW0uZGlzcGxheU5hbWVdXTwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tzaG93VXBsb2FkQnV0dG9uXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtaG9sZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj5VcGxvYWQ8L2Rpdj4KICAgICAgICAgIDxwYXBlci1idXR0b24gcmFpc2VkIGNsYXNzPSJ1cGxvYWQtYnV0dG9uIiBvbi1jbGljaz0iX2dldEZpbGUiIHRpdGxlPSJVcGxvYWQgYSBncmFwaCBwYnR4dCBmaWxlIHRvIHZpZXcgdGhlIGdyYXBoIj4KICAgICAgICAgICAgQ2hvb3NlIEZpbGUKICAgICAgICAgIDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGlkZGVuLWlucHV0Ij4KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImZpbGUiIGlkPSJmaWxlIiBuYW1lPSJmaWxlIiBvbi1jaGFuZ2U9Il91cGRhdGVGaWxlSW5wdXQiIGFjY2VwdD0iLnBidHh0Ij4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWhvbGRlciI+CiAgICAgICAgPHBhcGVyLXJhZGlvLWdyb3VwIHNlbGVjdGVkPSJ7e19zZWxlY3RlZEdyYXBoVHlwZX19Ij4KICAgICAgICAgIAogICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBuYW1lPSJvcF9ncmFwaCIgZGlzYWJsZWQ9IltbX2dldFNlbGVjdGlvbk9wR3JhcGhEaXNhYmxlZChkYXRhc2V0cywgX3NlbGVjdGVkUnVuSW5kZXgsIF9zZWxlY3RlZFRhZ0luZGV4KV1dIj5HcmFwaDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBuYW1lPSJjb25jZXB0dWFsX2dyYXBoIiBkaXNhYmxlZD0iW1tfZ2V0U2VsZWN0aW9uQ29uY2VwdHVhbEdyYXBoRGlzYWJsZWQoZGF0YXNldHMsIF9zZWxlY3RlZFJ1bkluZGV4LCBfc2VsZWN0ZWRUYWdJbmRleCldXSI+Q29uY2VwdHVhbCBHcmFwaDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBuYW1lPSJwcm9maWxlIiBkaXNhYmxlZD0iW1tfZ2V0U2VsZWN0aW9uUHJvZmlsZURpc2FibGVkKGRhdGFzZXRzLCBfc2VsZWN0ZWRSdW5JbmRleCwgX3NlbGVjdGVkVGFnSW5kZXgpXV0iPlByb2ZpbGU8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICA8L3BhcGVyLXJhZGlvLWdyb3VwPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ob2xkZXIiPgogICAgICAgIDxkaXY+CiAgICAgICAgICA8cGFwZXItdG9nZ2xlLWJ1dHRvbiBjaGVja2VkPSJ7e3RyYWNlSW5wdXRzfX0iIGNsYXNzPSJ0aXRsZSI+CiAgICAgICAgICAgIFRyYWNlIGlucHV0cwogICAgICAgICAgPC9wYXBlci10b2dnbGUtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2hlYWx0aFBpbGxzRmVhdHVyZUVuYWJsZWRdXSI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ob2xkZXIiPgogICAgICAgICAgPHBhcGVyLXRvZ2dsZS1idXR0b24gY2hlY2tlZD0ie3toZWFsdGhQaWxsc1RvZ2dsZWRPbn19IiBjbGFzcz0idGl0bGUiPlNob3cgaGVhbHRoIHBpbGxzPC9wYXBlci10b2dnbGUtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWhvbGRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPkNvbG9yPC9kaXY+CiAgICAgICAgPHBhcGVyLXJhZGlvLWdyb3VwIHNlbGVjdGVkPSJ7e2NvbG9yQnl9fSI+CiAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIG5hbWU9InN0cnVjdHVyZSI+U3RydWN0dXJlPC9wYXBlci1yYWRpby1idXR0b24+CgogICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBuYW1lPSJkZXZpY2UiPkRldmljZTwvcGFwZXItcmFkaW8tYnV0dG9uPgoKICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gaWQ9InhsYS1jbHVzdGVyLXJhZGlvLWJ1dHRvbiIgbmFtZT0ieGxhX2NsdXN0ZXIiIGRpc2FibGVkPSJbWyFfeGxhQ2x1c3RlcnNQcm92aWRlZChyZW5kZXJIaWVyYXJjaHkpXV0iPgogICAgICAgICAgICBYTEEgQ2x1c3RlcgogICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICA8cGFwZXItdG9vbHRpcCBhbmltYXRpb24tZGVsYXk9IjAiIGZvcj0ieGxhLWNsdXN0ZXItcmFkaW8tYnV0dG9uIiBwb3NpdGlvbj0icmlnaHQiIG9mZnNldD0iMCI+CiAgICAgICAgICAgIENvbG9yaW5nIGJ5IFhMQSBjbHVzdGVyIGlzIG9ubHkgZW5hYmxlZCBpZiBhdCBsZWFzdCAxIG9wIHNwZWNpZmllcwogICAgICAgICAgICBhbiBYTEEgY2x1c3Rlci4KICAgICAgICAgIDwvcGFwZXItdG9vbHRpcD4KCiAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIGlkPSJjb21wdXRlLXRpbWUtcmFkaW8tYnV0dG9uIiBuYW1lPSJjb21wdXRlX3RpbWUiIGRpc2FibGVkPSJbWyFzdGF0c11dIj4KICAgICAgICAgICAgQ29tcHV0ZSB0aW1lCiAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgIDxwYXBlci10b29sdGlwIGFuaW1hdGlvbi1kZWxheT0iMCIgZm9yPSJjb21wdXRlLXRpbWUtcmFkaW8tYnV0dG9uIiBwb3NpdGlvbj0icmlnaHQiIG9mZnNldD0iMCI+CiAgICAgICAgICAgIENvbG9yaW5nIGJ5IGNvbXB1dGUgdGltZSBpcyBvbmx5IGVuYWJsZWQgaWYgdGhlIFJ1bk1ldGFkYXRhIHByb3RvIGlzCiAgICAgICAgICAgIHBhc3NlZCB0byB0aGUgRmlsZVdyaXRlciB3aGVuIGEgc3BlY2lmaWMgc2Vzc2lvbiBpcyBydW4uCiAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CgogICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBpZD0ibWVtb3J5LXJhZGlvLWJ1dHRvbiIgbmFtZT0ibWVtb3J5IiBkaXNhYmxlZD0iW1shc3RhdHNdXSI+CiAgICAgICAgICAgIE1lbW9yeQogICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICA8cGFwZXItdG9vbHRpcCBhbmltYXRpb24tZGVsYXk9IjAiIGZvcj0ibWVtb3J5LXJhZGlvLWJ1dHRvbiIgcG9zaXRpb249InJpZ2h0IiBvZmZzZXQ9IjAiPgogICAgICAgICAgICBDb2xvcmluZyBieSBtZW1vcnkgaXMgb25seSBlbmFibGVkIGlmIHRoZSBSdW5NZXRhZGF0YSBwcm90byBpcwogICAgICAgICAgICBwYXNzZWQgdG8gdGhlIEZpbGVXcml0ZXIgd2hlbiBhIHNwZWNpZmljIHNlc3Npb24gaXMgcnVuLgogICAgICAgICAgPC9wYXBlci10b29sdGlwPgoKICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gaWQ9InRwdS1jb21wYXRpYmlsaXR5LXJhZGlvLWJ1dHRvbiIgbmFtZT0ib3BfY29tcGF0aWJpbGl0eSI+CiAgICAgICAgICAgIFRQVSBDb21wYXRpYmlsaXR5CiAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgIDxwYXBlci10b29sdGlwIGFuaW1hdGlvbi1kZWxheT0iMCIgZm9yPSJ0cHUtY29tcGF0aWJpbGl0eS1yYWRpby1idXR0b24iIHBvc2l0aW9uPSJyaWdodCIgb2Zmc2V0PSIwIj4KICAgICAgICAgICAgQ29sb3JpbmcgYnkgd2hldGhlciBhbiBvcGVyYXRpb24gaXMgY29tcGF0aWJsZSBmb3IgdGhlIFRQVSBkZXZpY2UuCiAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CiAgICAgICAgPC9wYXBlci1yYWRpby1ncm91cD4KICAgICAgICA8c3BhbiBjbGFzcz0ic3BhY2VyIj48L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2PgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNHcmFkaWVudENvbG9yaW5nKHN0YXRzLCBjb2xvckJ5KV1dIj4KICAgICAgICAgIDxzdmcgd2lkdGg9IjE0MCIgaGVpZ2h0PSIyMCIgc3R5bGU9Im1hcmdpbjogMCA1cHgiIGNsYXNzPSJjb2xvci10ZXh0Ij4KICAgICAgICAgICAgPGRlZnM+CiAgICAgICAgICAgICAgPGxpbmVhcmdyYWRpZW50IGlkPSJsaW5lYXJHcmFkaWVudCIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgICAgICAgICAgICAgPHN0b3AgY2xhc3M9InN0YXJ0IiBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yJD0iW1tfY3VycmVudEdyYWRpZW50UGFyYW1zLnN0YXJ0Q29sb3JdXSIgLz4KICAgICAgICAgICAgICAgIDxzdG9wIGNsYXNzPSJlbmQiIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvciQ9IltbX2N1cnJlbnRHcmFkaWVudFBhcmFtcy5lbmRDb2xvcl1dIiAvPgogICAgICAgICAgICAgIDwvbGluZWFyZ3JhZGllbnQ+CiAgICAgICAgICAgIDwvZGVmcz4KICAgICAgICAgICAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEzNSIgaGVpZ2h0PSIyMCIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudCkiIHN0cm9rZT0iYmxhY2siIC8+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRvbWFpblZhbHVlcyBjb2xvci10ZXh0Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG9tYWluU3RhcnQiPltbX2N1cnJlbnRHcmFkaWVudFBhcmFtcy5taW5WYWx1ZV1dPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRvbWFpbkVuZCI+W1tfY3VycmVudEdyYWRpZW50UGFyYW1zLm1heFZhbHVlXV08L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGJyIHN0eWxlPSJjbGVhcjogYm90aCI+CiAgICAgICAgICA8ZGl2PkRldmljZXMgaW5jbHVkZWQgaW4gc3RhdHM6PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXZpY2VMaXN0Ij4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY3VycmVudERldmljZXNdXSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sb3ItbGVnZW5kLXJvdyBkZXZpY2VzLWNoZWNrYm94Ij4KICAgICAgICAgICAgICAgIDxzcGFuPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgdmFsdWUkPSJbW2l0ZW0uZGV2aWNlXV0iIGNoZWNrZWQkPSJbW2l0ZW0udXNlZF1dIiBvbi1jbGljaz0iX2RldmljZUNoZWNrYm94Q2xpY2tlZCI+PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4+W1tpdGVtLnN1ZmZpeF1dPC9zcGFuPgogICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2l0ZW0uaWdub3JlZE1zZ11dIj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249ImhlbHAiIGNsYXNzPSJoZWxwLWljb24iPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgICAgICAgICAgICAgIDxwYXBlci10b29sdGlwIHBvc2l0aW9uPSJyaWdodCIgb2Zmc2V0PSIwIiBhbmltYXRpb24tZGVsYXk9IjAiPltbaXRlbS5pZ25vcmVkTXNnXV08L3BhcGVyLXRvb2x0aXA+CiAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2VxdWFscyhjb2xvckJ5LCAnc3RydWN0dXJlJyldXSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci10ZXh0Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sb3ItbGVnZW5kLXJvdyI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIj4KICAgICAgICAgICAgICAgIGNvbG9ycwogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItbGVnZW5kLXZhbHVlIj5zYW1lIHN1YnN0cnVjdHVyZTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLWxlZ2VuZC1yb3ciPgogICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uIHR5cGU9Ik1FVEEiIGhlaWdodD0iMTYiIGZpbGwtb3ZlcnJpZGU9IiNlZWUiIHN0cm9rZS1vdmVycmlkZT0iI2E2YTZhNiI+PC90Zi1ncmFwaC1pY29uPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1sZWdlbmQtdmFsdWUiPnVuaXF1ZSBzdWJzdHJ1Y3R1cmU8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2VxdWFscyhjb2xvckJ5LCAnZGV2aWNlJyldXSI+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jdXJyZW50RGV2aWNlUGFyYW1zXV0iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLWxlZ2VuZC1yb3ciPgogICAgICAgICAgICAgICAgPHRmLWdyYXBoLWljb24gdHlwZT0iTUVUQSIgaGVpZ2h0PSIxNiIgZmlsbC1vdmVycmlkZT0iW1tpdGVtLmNvbG9yXV0iIHN0cm9rZS1vdmVycmlkZT0iI2E2YTZhNiI+PC90Zi1ncmFwaC1pY29uPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbG9yLWxlZ2VuZC12YWx1ZSI+W1tpdGVtLmRldmljZV1dPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1sZWdlbmQtcm93Ij4KICAgICAgICAgICAgICA8dGYtZ3JhcGgtaWNvbiB0eXBlPSJNRVRBIiBoZWlnaHQ9IjE2IiBmaWxsLW92ZXJyaWRlPSIjZWVlIiBzdHJva2Utb3ZlcnJpZGU9IiNhNmE2YTYiPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItbGVnZW5kLXZhbHVlIj51bmtub3duIGRldmljZTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZXF1YWxzKGNvbG9yQnksICd4bGFfY2x1c3RlcicpXV0iPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY3VycmVudFhsYUNsdXN0ZXJQYXJhbXNdXSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sb3ItbGVnZW5kLXJvdyI+CiAgICAgICAgICAgICAgICA8c3ZnPgogICAgICAgICAgICAgICAgICA8dXNlIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bGluazpocmVmPSIjdW5maWxsZWQtcmVjdCIgeD0iMCIgeT0iMCIgc3R5bGU9ImZpbGw6W1tpdGVtLmNvbG9yXV0iIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1sZWdlbmQtdmFsdWUiPltbaXRlbS54bGFfY2x1c3Rlcl1dPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1sZWdlbmQtcm93Ij4KICAgICAgICAgICAgICA8c3ZnPgogICAgICAgICAgICAgICAgPHVzZSB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeGxpbms6aHJlZj0iI2dyZXktcmVjdCIgeD0iMCIgeT0iMCIgLz4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItbGVnZW5kLXZhbHVlIj51bmtub3duIFhMQSBjbHVzdGVyPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19lcXVhbHMoY29sb3JCeSwgJ29wX2NvbXBhdGliaWxpdHknKV1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLXRleHQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1sZWdlbmQtcm93Ij4KICAgICAgICAgICAgICA8dGYtZ3JhcGgtaWNvbiB0eXBlPSJPUCIgaGVpZ2h0PSIxNiIgZmlsbC1vdmVycmlkZT0iIzBmOWQ1OCIgc3Ryb2tlLW92ZXJyaWRlPSIjY2NjIj48L3RmLWdyYXBoLWljb24+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbG9yLWxlZ2VuZC12YWx1ZSI+VmFsaWQgT3A8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1sZWdlbmQtcm93Ij4KICAgICAgICAgICAgICA8dGYtZ3JhcGgtaWNvbiB0eXBlPSJPUCIgaGVpZ2h0PSIxNiIgZmlsbC1vdmVycmlkZT0iI2RiNDQzNyIgc3Ryb2tlLW92ZXJyaWRlPSIjY2NjIj48L3RmLWdyYXBoLWljb24+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbG9yLWxlZ2VuZC12YWx1ZSI+SW52YWxpZCBPcDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc3RhdHNOb3ROdWxsKHN0YXRzKV1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLWxlZ2VuZC1yb3ciPgogICAgICAgICAgICA8dGYtZ3JhcGgtaWNvbiB0eXBlPSJNRVRBIiBoZWlnaHQ9IjE2IiBmYWRlZD48L3RmLWdyYXBoLWljb24+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1sZWdlbmQtdmFsdWUiPnVudXNlZCBzdWJzdHJ1Y3R1cmU8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibGVnZW5kLWhvbGRlciI+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbiBpY29uPSJbW19nZXRUb2dnbGVMZWdlbmRJY29uKF9sZWdlbmRPcGVuZWQpXV0iIG9uLWNsaWNrPSJfdG9nZ2xlTGVnZW5kT3BlbiIgY2xhc3M9InRvZ2dsZS1sZWdlbmQtYnV0dG9uIj4KICAgICAgPC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgPHNwYW4gY2xhc3M9InRvZ2dsZS1sZWdlbmQtdGV4dCI+CiAgICAgICAgW1tfZ2V0VG9nZ2xlVGV4dChfbGVnZW5kT3BlbmVkKV1dCiAgICAgIDwvc3Bhbj4KICAgICAgPGlyb24tY29sbGFwc2Ugb3BlbmVkPSJbW19sZWdlbmRPcGVuZWRdXSI+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDx0YWJsZT4KICAgICAgICAgICAgPHRib2R5Pjx0cj4KICAgICAgICAgICAgICA8dGQ+PGRpdiBjbGFzcz0idGl0bGUiPkdyYXBoPC9kaXY+PC90ZD4KICAgICAgICAgICAgICA8dGQ+KCogPSBleHBhbmRhYmxlKTwvdGQ+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICA8dGYtZ3JhcGgtaWNvbiB0eXBlPSJNRVRBIiBoZWlnaHQ9IjE2IiBmaWxsLW92ZXJyaWRlPSIjZDlkOWQ5IiBzdHJva2Utb3ZlcnJpZGU9IiNjY2MiPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIE5hbWVzcGFjZTxzcGFuIGNsYXNzPSJncmF5Ij4qPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWNsYXJpZmllciI+CiAgICAgICAgICAgICAgICAgIDxzcGFuPj88L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxwYXBlci10b29sdGlwIGFuaW1hdGlvbi1kZWxheT0iMCIgcG9zaXRpb249InJpZ2h0IiBvZmZzZXQ9IjAiPgogICAgICAgICAgICAgICAgICAgIEVuY2Fwc3VsYXRlcyBhIHNldCBvZiBub2Rlcy4gTmFtZXNwYWNlIGlzIGhpZXJhcmNoaWNhbCBhbmQKICAgICAgICAgICAgICAgICAgICBiYXNlZCBvbiBzY29wZS4KICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uIHR5cGU9Ik9QIiBoZWlnaHQ9IjE2Ij48L3RmLWdyYXBoLWljb24+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICBPcE5vZGUKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1jbGFyaWZpZXIiPgogICAgICAgICAgICAgICAgICA8c3Bhbj4/PC9zcGFuPgogICAgICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcCBhbmltYXRpb24tZGVsYXk9IjAiIHBvc2l0aW9uPSJyaWdodCIgb2Zmc2V0PSIwIj4KICAgICAgICAgICAgICAgICAgICBOb2RlIHRoYXQgcGVyZm9ybXMgYW4gb3BlcmF0aW9uLiBUaGVzZSBub2RlcyBjYW5ub3QgZXhwYW5kLgogICAgICAgICAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgPHRmLWdyYXBoLWljb24gdHlwZT0iU0VSSUVTIiBoZWlnaHQ9IjE2Ij48L3RmLWdyYXBoLWljb24+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICBVbmNvbm5lY3RlZCBzZXJpZXM8c3BhbiBjbGFzcz0iZ3JheSI+Kjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1jbGFyaWZpZXIiPgogICAgICAgICAgICAgICAgICA8c3Bhbj4/PC9zcGFuPgogICAgICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcCBhbmltYXRpb24tZGVsYXk9IjAiIHBvc2l0aW9uPSJyaWdodCIgb2Zmc2V0PSIwIj4KICAgICAgICAgICAgICAgICAgICBTZXF1ZW5jZSBvZiBudW1iZXJlZCBub2RlcyB0aGF0IGFyZSBub3QgY29ubmVjdGVkIHRvIGVhY2gKICAgICAgICAgICAgICAgICAgICBvdGhlci4KICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uIHR5cGU9IlNFUklFUyIgaGVpZ2h0PSIxNiIgdmVydGljYWw+PC90Zi1ncmFwaC1pY29uPgogICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgQ29ubmVjdGVkIHNlcmllczxzcGFuIGNsYXNzPSJncmF5Ij4qPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWNsYXJpZmllciI+CiAgICAgICAgICAgICAgICAgIDxzcGFuPj88L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxwYXBlci10b29sdGlwIGFuaW1hdGlvbi1kZWxheT0iMCIgcG9zaXRpb249InJpZ2h0IiBvZmZzZXQ9IjAiPgogICAgICAgICAgICAgICAgICAgIFNlcXVlbmNlIG9mIG51bWJlcmVkIG5vZGVzIHRoYXQgYXJlIGNvbm5lY3RlZCB0byBlYWNoIG90aGVyLgogICAgICAgICAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaWNvbiI+CiAgICAgICAgICAgICAgICAgIDxjaXJjbGUgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzg0ODQ4NCIgY3g9IjEwIiBjeT0iMTAiIHI9IjUiIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIENvbnN0YW50CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZWdlbmQtY2xhcmlmaWVyIj4KICAgICAgICAgICAgICAgICAgPHNwYW4+Pzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAgYW5pbWF0aW9uLWRlbGF5PSIwIiBwb3NpdGlvbj0icmlnaHQiIG9mZnNldD0iMCI+CiAgICAgICAgICAgICAgICAgICAgTm9kZSB0aGF0IG91dHB1dHMgYSBjb25zdGFudCB2YWx1ZS4KICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uIHR5cGU9IlNVTU1BUlkiIGhlaWdodD0iMjAiPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIFN1bW1hcnkKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1jbGFyaWZpZXIiPgogICAgICAgICAgICAgICAgICA8c3Bhbj4/PC9zcGFuPgogICAgICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcCBhbmltYXRpb24tZGVsYXk9IjAiIHBvc2l0aW9uPSJyaWdodCIgb2Zmc2V0PSIwIj4KICAgICAgICAgICAgICAgICAgICBOb2RlIHRoYXQgY29sbGVjdHMgZGF0YSBmb3IgdmlzdWFsaXphdGlvbiB3aXRoaW4KICAgICAgICAgICAgICAgICAgICBUZW5zb3JCb2FyZC4KICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Imljb24iIGhlaWdodD0iMTVweCIgcHJlc2VydmVhc3BlY3RyYXRpbz0ieE1pbllNaWQgbWVldCIgdmlld2JveD0iMCAwIDE1IDE1Ij4KICAgICAgICAgICAgICAgICAgPGRlZnM+CiAgICAgICAgICAgICAgICAgICAgPG1hcmtlciBpZD0iZGF0YWZsb3ctYXJyb3doZWFkLWxlZ2VuZCIgZmlsbD0iI2JiYiIgbWFya2Vyd2lkdGg9IjEwIiBtYXJrZXJoZWlnaHQ9IjEwIiByZWZ4PSI5IiByZWZ5PSI1IiBvcmllbnQ9ImF1dG8tc3RhcnQtcmV2ZXJzZSI+CiAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNIDAsMCBMIDEwLDUgTCAwLDEwIEMgMyw3IDMsMyAwLDAiIC8+CiAgICAgICAgICAgICAgICAgICAgPC9tYXJrZXI+CiAgICAgICAgICAgICAgICAgIDwvZGVmcz4KICAgICAgICAgICAgICAgICAgPHBhdGggbWFya2VyLWVuZD0idXJsKCNkYXRhZmxvdy1hcnJvd2hlYWQtbGVnZW5kKSIgc3Ryb2tlPSIjYmJiIiBkPSJNMiA5IGwgMjkgMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiAvPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICBEYXRhZmxvdyBlZGdlCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZWdlbmQtY2xhcmlmaWVyIj4KICAgICAgICAgICAgICAgICAgPHNwYW4+Pzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAgYW5pbWF0aW9uLWRlbGF5PSIwIiBwb3NpdGlvbj0icmlnaHQiIG9mZnNldD0iMCI+CiAgICAgICAgICAgICAgICAgICAgRWRnZSBzaG93aW5nIHRoZSBkYXRhIGZsb3cgYmV0d2VlbiBvcGVyYXRpb25zLiBFZGdlcyBmbG93CiAgICAgICAgICAgICAgICAgICAgdXB3YXJkcyB1bmxlc3MgYXJyb3doZWFkcyBzcGVjaWZ5IG90aGVyd2lzZS4KICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Imljb24iIGhlaWdodD0iMTVweCIgcHJlc2VydmVhc3BlY3RyYXRpbz0ieE1pbllNaWQgbWVldCIgdmlld2JveD0iMCAwIDE1IDE1Ij4KICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlPSIjYmJiIiBkPSJNMiA5IGwgMjkgMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtZGFzaGFycmF5PSIyLCAyIiAvPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICBDb250cm9sIGRlcGVuZGVuY3kgZWRnZQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWNsYXJpZmllciI+CiAgICAgICAgICAgICAgICAgIDxzcGFuPj88L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxwYXBlci10b29sdGlwIGFuaW1hdGlvbi1kZWxheT0iMCIgcG9zaXRpb249InJpZ2h0IiBvZmZzZXQ9IjAiPgogICAgICAgICAgICAgICAgICAgIEVkZ2Ugc2hvd2luZyB0aGUgY29udHJvbCBkZXBlbmRlbmN5IGJldHdlZW4gb3BlcmF0aW9ucy4KICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Imljb24iIGhlaWdodD0iMTVweCIgcHJlc2VydmVhc3BlY3RyYXRpbz0ieE1pbllNaWQgbWVldCIgdmlld2JveD0iMCAwIDE1IDE1Ij4KICAgICAgICAgICAgICAgICAgPGRlZnM+CiAgICAgICAgICAgICAgICAgICAgPG1hcmtlciBpZD0icmVmZXJlbmNlLWFycm93aGVhZC1sZWdlbmQiIGZpbGw9IiNGRkI3NEQiIG1hcmtlcndpZHRoPSIxMCIgbWFya2VyaGVpZ2h0PSIxMCIgcmVmeD0iOSIgcmVmeT0iNSIgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiPgogICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTSAwLDAgTCAxMCw1IEwgMCwxMCBDIDMsNyAzLDMgMCwwIiAvPgogICAgICAgICAgICAgICAgICAgIDwvbWFya2VyPgogICAgICAgICAgICAgICAgICA8L2RlZnM+CiAgICAgICAgICAgICAgICAgIDxwYXRoIG1hcmtlci1lbmQ9InVybCgjcmVmZXJlbmNlLWFycm93aGVhZC1sZWdlbmQpIiBzdHJva2U9IiNGRkI3NEQiIGQ9Ik0yIDkgbCAyOSAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIFJlZmVyZW5jZSBlZGdlCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZWdlbmQtY2xhcmlmaWVyIj4KICAgICAgICAgICAgICAgICAgPHNwYW4+Pzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAgYW5pbWF0aW9uLWRlbGF5PSIwIiBwb3NpdGlvbj0icmlnaHQiIG9mZnNldD0iMCI+CiAgICAgICAgICAgICAgICAgICAgRWRnZSBzaG93aW5nIHRoYXQgdGhlIG91dGdvaW5nIG9wZXJhdGlvbiBub2RlIGNhbiBtdXRhdGUgdGhlCiAgICAgICAgICAgICAgICAgICAgaW5jb21pbmcgdGVuc29yLgogICAgICAgICAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgPC90Ym9keT48L3RhYmxlPgogICAgICAgIDwvZGl2PgogICAgICA8L2lyb24tY29sbGFwc2U+CiAgICA8L2Rpdj4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWdyYXBoLWRhc2hib2FyZCI+CiAgPHRlbXBsYXRlPgogICAgPHBhcGVyLWRpYWxvZyBpZD0iZXJyb3ItZGlhbG9nIiB3aXRoLWJhY2tkcm9wPjwvcGFwZXItZGlhbG9nPgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19kYXRhc2V0c1N0YXRlKF9kYXRhc2V0c0ZldGNoZWQsIF9kYXRhc2V0cywgJ0VNUFRZJyldXSI+CiAgICAgIDxkaXYgc3R5bGU9Im1heC13aWR0aDogNTQwcHg7IG1hcmdpbjogODBweCBhdXRvIDAgYXV0bzsiPgogICAgICAgIDxoMz5ObyBncmFwaCBkZWZpbml0aW9uIGZpbGVzIHdlcmUgZm91bmQuPC9oMz4KICAgICAgICA8cD4KICAgICAgICAgIFRvIHN0b3JlIGEgZ3JhcGgsIGNyZWF0ZSBhCiAgICAgICAgICA8Y29kZT50Zi5zdW1tYXJ5LkZpbGVXcml0ZXI8L2NvZGU+CiAgICAgICAgICBhbmQgcGFzcyB0aGUgZ3JhcGggZWl0aGVyIHZpYSB0aGUgY29uc3RydWN0b3IsIG9yIGJ5IGNhbGxpbmcgaXRzCiAgICAgICAgICA8Y29kZT5hZGRfZ3JhcGgoKTwvY29kZT4gbWV0aG9kLiBZb3UgbWF5IHdhbnQgdG8gY2hlY2sgb3V0IHRoZQogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvZ2V0X3N0YXJ0ZWQvZ3JhcGhfdml6Ij5ncmFwaCB2aXN1YWxpemVyIHR1dG9yaWFsPC9hPi4KICAgICAgICA8L3A+CgogICAgICAgIDxwPgogICAgICAgICAgSWYgeW914oCZcmUgbmV3IHRvIHVzaW5nIFRlbnNvckJvYXJkLCBhbmQgd2FudCB0byBmaW5kIG91dCBob3cgdG8gYWRkCiAgICAgICAgICBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIj5SRUFETUU8L2E+CiAgICAgICAgICBhbmQgcGVyaGFwcyB0aGUKICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRlbnNvcmZsb3cub3JnL2dldF9zdGFydGVkL3N1bW1hcmllc19hbmRfdGVuc29yYm9hcmQiPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hPi4KICAgICAgICA8L3A+CgogICAgICAgIDxwPgogICAgICAgICAgSWYgeW91IHRoaW5rIFRlbnNvckJvYXJkIGlzIGNvbmZpZ3VyZWQgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNteS10ZW5zb3Jib2FyZC1pc250LXNob3dpbmctYW55LWRhdGEtd2hhdHMtd3JvbmciPnRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXM8L2E+CiAgICAgICAgICBhbmQgY29uc2lkZXIgZmlsaW5nIGFuIGlzc3VlIG9uIEdpdEh1Yi4KICAgICAgICA8L3A+CiAgICAgIDwvZGl2PgogICAgPC90ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZGF0YXNldHNTdGF0ZShfZGF0YXNldHNGZXRjaGVkLCBfZGF0YXNldHMsICdQUkVTRU5UJyldXSI+CiAgICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICAgIDx0Zi1ncmFwaC1jb250cm9scyBpZD0iY29udHJvbHMiIGNsYXNzPSJzaWRlYmFyIiBzbG90PSJzaWRlYmFyIiBkZXZpY2VzLWZvci1zdGF0cz0ie3tfZGV2aWNlc0ZvclN0YXRzfX0iIGNvbG9yLWJ5LXBhcmFtcz0iW1tfY29sb3JCeVBhcmFtc11dIiBzdGF0cz0iW1tfc3RhdHNdXSIgY29sb3ItYnk9Int7X2NvbG9yQnl9fSIgZGF0YXNldHM9IltbX2RhdGFzZXRzXV0iIHJlbmRlci1oaWVyYXJjaHk9IltbX3JlbmRlckhpZXJhcmNoeV1dIiBzZWxlY3Rpb249Int7X3NlbGVjdGlvbn19IiBzZWxlY3RlZC1maWxlPSJ7e19zZWxlY3RlZEZpbGV9fSIgc2VsZWN0ZWQtbm9kZT0ie3tfc2VsZWN0ZWROb2RlfX0iIGhlYWx0aC1waWxscy1mZWF0dXJlLWVuYWJsZWQ9IltbX2RlYnVnZ2VyRGF0YUVuYWJsZWRdXSIgaGVhbHRoLXBpbGxzLXRvZ2dsZWQtb249Int7aGVhbHRoUGlsbHNUb2dnbGVkT259fSIgb24tZml0LXRhcD0iX2ZpdCIgdHJhY2UtaW5wdXRzPSJ7e190cmFjZUlucHV0c319Ij48L3RmLWdyYXBoLWNvbnRyb2xzPgogICAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICAgIDx0Zi1ncmFwaC1kYXNoYm9hcmQtbG9hZGVyIGlkPSJsb2FkZXIiIGRhdGFzZXRzPSJbW19kYXRhc2V0c11dIiBzZWxlY3Rpb249IltbX3NlbGVjdGlvbl1dIiBzZWxlY3RlZC1maWxlPSJbW19zZWxlY3RlZEZpbGVdXSIgb3V0LWdyYXBoLWhpZXJhcmNoeT0ie3tfZ3JhcGhIaWVyYXJjaHl9fSIgb3V0LWdyYXBoPSJ7e19ncmFwaH19IiBvdXQtc3RhdHM9Int7X3N0YXRzfX0iIHByb2dyZXNzPSJ7e19wcm9ncmVzc319IiBoaWVyYXJjaHktcGFyYW1zPSJbW19oaWVyYXJjaHlQYXJhbXNdXSIgY29tcGF0aWJpbGl0eS1wcm92aWRlcj0iW1tfY29tcGF0aWJpbGl0eVByb3ZpZGVyXV0iPjwvdGYtZ3JhcGgtZGFzaGJvYXJkLWxvYWRlcj4KICAgICAgICAgIDx0Zi1ncmFwaC1ib2FyZCBpZD0iZ3JhcGhib2FyZCIgZGV2aWNlcy1mb3Itc3RhdHM9IltbX2RldmljZXNGb3JTdGF0c11dIiBjb2xvci1ieT0iW1tfY29sb3JCeV1dIiBjb2xvci1ieS1wYXJhbXM9Int7X2NvbG9yQnlQYXJhbXN9fSIgZ3JhcGgtaGllcmFyY2h5PSJbW19ncmFwaEhpZXJhcmNoeV1dIiBncmFwaD0iW1tfZ3JhcGhdXSIgaGllcmFyY2h5LXBhcmFtcz0iW1tfaGllcmFyY2h5UGFyYW1zXV0iIHByb2dyZXNzPSJbW19wcm9ncmVzc11dIiBkZWJ1Z2dlci1kYXRhLWVuYWJsZWQ9IltbX2RlYnVnZ2VyRGF0YUVuYWJsZWRdXSIgYXJlLWhlYWx0aC1waWxscy1sb2FkaW5nPSJbW19hcmVIZWFsdGhQaWxsc0xvYWRpbmddXSIgZGVidWdnZXItbnVtZXJpYy1hbGVydHM9IltbX2RlYnVnZ2VyTnVtZXJpY0FsZXJ0c11dIiBub2RlLW5hbWVzLXRvLWhlYWx0aC1waWxscz0iW1tfbm9kZU5hbWVzVG9IZWFsdGhQaWxsc11dIiBhbGwtc3RlcHMtbW9kZS1lbmFibGVkPSJ7e2FsbFN0ZXBzTW9kZUVuYWJsZWR9fSIgc3BlY2lmaWMtaGVhbHRoLXBpbGwtc3RlcD0ie3tzcGVjaWZpY0hlYWx0aFBpbGxTdGVwfX0iIGhlYWx0aC1waWxsLXN0ZXAtaW5kZXg9IltbX2hlYWx0aFBpbGxTdGVwSW5kZXhdXSIgcmVuZGVyLWhpZXJhcmNoeT0ie3tfcmVuZGVySGllcmFyY2h5fX0iIHNlbGVjdGVkLW5vZGU9Int7X3NlbGVjdGVkTm9kZX19IiBzdGF0cz0iW1tfc3RhdHNdXSIgdHJhY2UtaW5wdXRzPSJbW190cmFjZUlucHV0c11dIj48L3RmLWdyYXBoLWJvYXJkPgogICAgICAgIDwvZGl2PgogICAgICA8L3RmLWRhc2hib2FyZC1sYXlvdXQ+CiAgICA8L3RlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCAvZGVlcC8gewogICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjsKICAgICAgfQoKICAgICAgLnNpZGViYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuY2VudGVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICBwYXBlci1kaWFsb2cgewogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2ei1kaXN0cmlidXRpb24tY2hhcnQiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZSBpbmNsdWRlPSJwbG90dGFibGUtc3R5bGUiPjwvc3R5bGU+CiAgICA8ZGl2IGlkPSJjaGFydGRpdiI+PC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KICAgICAgI2NoYXJ0ZGl2IHsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZGlzdHJpYnV0aW9uLWxvYWRlciI+CiAgPHRlbXBsYXRlPgogICAgPHRmLWNhcmQtaGVhZGluZyB0YWc9IltbdGFnXV0iIHJ1bj0iW1tydW5dXSIgZGlzcGxheS1uYW1lPSJbW3RhZ01ldGFkYXRhLmRpc3BsYXlOYW1lXV0iIGRlc2NyaXB0aW9uPSJbW3RhZ01ldGFkYXRhLmRlc2NyaXB0aW9uXV0iIGNvbG9yPSJbW19ydW5Db2xvcl1dIj48L3RmLWNhcmQtaGVhZGluZz4KICAgIAogICAgPHZ6LWRpc3RyaWJ1dGlvbi1jaGFydCBpZD0iY2hhcnQiIHgtdHlwZT0iW1t4VHlwZV1dIiBjb2xvci1zY2FsZT0iW1tfY29sb3JTY2FsZV1dIj48L3Z6LWRpc3RyaWJ1dGlvbi1jaGFydD4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7Ij4KICAgICAgPHBhcGVyLWljb24tYnV0dG9uIHNlbGVjdGVkJD0iW1tfZXhwYW5kZWRdXSIgaWNvbj0iZnVsbHNjcmVlbiIgb24tdGFwPSJfdG9nZ2xlRXhwYW5kZWQiPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICB3aWR0aDogMzMwcHg7CiAgICAgICAgaGVpZ2h0OiAyMzVweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgfQogICAgICA6aG9zdChbX2V4cGFuZGVkXSkgewogICAgICAgIHdpZHRoOiA3MDBweDsKICAgICAgICBoZWlnaHQ6IDUwMHB4OwogICAgICB9CgogICAgICB2ei1oaXN0b2dyYW0tdGltZXNlcmllcyB7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICBwYXBlci1pY29uLWJ1dHRvbiB7CiAgICAgICAgY29sb3I6ICMyMTk2ZjM7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICB9CiAgICAgIHBhcGVyLWljb24tYnV0dG9uW3NlbGVjdGVkXSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGItdWktbGlnaHQtYWNjZW50KTsKICAgICAgfQoKICAgICAgdGYtY2FyZC1oZWFkaW5nIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtZGlzdHJpYnV0aW9uLWRhc2hib2FyZCI+CiAgPHRlbXBsYXRlPgogICAgPHRmLWRhc2hib2FyZC1sYXlvdXQ+CiAgICAgIDxkaXYgY2xhc3M9InNpZGViYXIiIHNsb3Q9InNpZGViYXIiPgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiI+CiAgICAgICAgICA8dGYtb3B0aW9uLXNlbGVjdG9yIGlkPSJ4VHlwZVNlbGVjdG9yIiBuYW1lPSJIb3Jpem9udGFsIGF4aXMiIHNlbGVjdGVkLWlkPSJ7e194VHlwZX19Ij4KICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0ic3RlcCI+c3RlcDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJyZWxhdGl2ZSI+cmVsYXRpdmU8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0id2FsbF90aW1lIj53YWxsPC9wYXBlci1idXR0b24+CiAgICAgICAgICA8L3RmLW9wdGlvbi1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPHRmLXJ1bnMtc2VsZWN0b3Igc2VsZWN0ZWQtcnVucz0ie3tfc2VsZWN0ZWRSdW5zfX0iPgogICAgICAgICAgPC90Zi1ydW5zLXNlbGVjdG9yPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyBkaXN0cmlidXRpb24gZGF0YSB3YXMgZm91bmQuPC9oMz4KICAgICAgICAgICAgPHA+UHJvYmFibGUgY2F1c2VzOjwvcD4KICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgIFlvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgaGlzdG9ncmFtIGRhdGEgdG8geW91ciBldmVudCBmaWxlcy4KICAgICAgICAgICAgICAgIChIaXN0b2dyYW1zIGFuZCBkaXN0cmlidXRpb25zIGJvdGggdXNlIHRoZSBoaXN0b2dyYW0gc3VtbWFyeQogICAgICAgICAgICAgICAgb3BlcmF0aW9uLikKICAgICAgICAgICAgICA8L2xpPgoKICAgICAgICAgICAgICA8bGk+VGVuc29yQm9hcmQgY2Fu4oCZdCBmaW5kIHlvdXIgZXZlbnQgZmlsZXMuPC9saT4KICAgICAgICAgICAgPC91bD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdeKAmXJlIG5ldyB0byB1c2luZyBUZW5zb3JCb2FyZCwgYW5kIHdhbnQgdG8gZmluZCBvdXQgaG93IHRvCiAgICAgICAgICAgICAgYWRkIGRhdGEgYW5kIHNldCB1cCB5b3VyIGV2ZW50IGZpbGVzLCBjaGVjayBvdXQgdGhlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIj5SRUFETUU8L2E+CiAgICAgICAgICAgICAgYW5kIHBlcmhhcHMgdGhlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvZ2V0X3N0YXJ0ZWQvc3VtbWFyaWVzX2FuZF90ZW5zb3Jib2FyZCI+VGVuc29yQm9hcmQgdHV0b3JpYWw8L2E+LgogICAgICAgICAgICA8L3A+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3UgdGhpbmsgVGVuc29yQm9hcmQgaXMgY29uZmlndXJlZCBwcm9wZXJseSwgcGxlYXNlIHNlZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNteS10ZW5zb3Jib2FyZC1pc250LXNob3dpbmctYW55LWRhdGEtd2hhdHMtd3JvbmciPnRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXM8L2E+CiAgICAgICAgICAgICAgYW5kIGNvbnNpZGVyIGZpbGluZyBhbiBpc3N1ZSBvbiBHaXRIdWIuCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPHRmLXRhZy1maWx0ZXJlciB0YWctZmlsdGVyPSJ7e190YWdGaWx0ZXJ9fSI+PC90Zi10YWctZmlsdGVyZXI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jYXRlZ29yaWVzXV0iIGFzPSJjYXRlZ29yeSI+CiAgICAgICAgICAgIDx0Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldyBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIiBpbml0aWFsLW9wZW5lZD0iW1tfc2hvdWxkT3BlbihpbmRleCldXSI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRmLWRpc3RyaWJ1dGlvbi1sb2FkZXIgYWN0aXZlPSJbW2FjdGl2ZV1dIiBydW49IltbaXRlbS5ydW5dXSIgdGFnPSJbW2l0ZW0udGFnXV0iIHRhZy1tZXRhZGF0YT0iW1tfdGFnTWV0YWRhdGEoX3J1blRvVGFnSW5mbywgaXRlbS5ydW4sIGl0ZW0udGFnKV1dIiB4LXR5cGU9IltbX3hUeXBlXV0iIHJlcXVlc3QtbWFuYWdlcj0iW1tfcmVxdWVzdE1hbmFnZXJdXSI+PC90Zi1kaXN0cmlidXRpb24tbG9hZGVyPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXc+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgoKICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgIC5uby1kYXRhLXdhcm5pbmcgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InZ6LWhpc3RvZ3JhbS10aW1lc2VyaWVzIj4KICA8dGVtcGxhdGU+CiAgICA8ZGl2IGlkPSJ0b29sdGlwIj48c3Bhbj48L3NwYW4+PC9kaXY+CiAgICA8c3ZnIGlkPSJzdmciPgogICAgICA8Zz4KICAgICAgICA8ZyBjbGFzcz0iYXhpcyB4Ij48L2c+CiAgICAgICAgPGcgY2xhc3M9ImF4aXMgeSI+PC9nPgogICAgICAgIDxnIGNsYXNzPSJheGlzIHkgc2xpY2UiPjwvZz4KICAgICAgICA8ZyBjbGFzcz0ic3RhZ2UiPgogICAgICAgICAgPHJlY3QgY2xhc3M9ImJhY2tncm91bmQiPjwvcmVjdD4KICAgICAgICA8L2c+CiAgICAgICAgPGcgY2xhc3M9IngtYXhpcy1ob3ZlciI+PC9nPgogICAgICAgIDxnIGNsYXNzPSJ5LWF4aXMtaG92ZXIiPjwvZz4KICAgICAgICA8ZyBjbGFzcz0ieS1zbGljZS1heGlzLWhvdmVyIj48L2c+CiAgICAgIDwvZz4KICAgIDwvc3ZnPgoKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICBzdmcgewogICAgICAgIGZvbnQtZmFtaWx5OiByb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICB9CgogICAgICAjdG9vbHRpcCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICB9CgogICAgICAuYmFja2dyb3VuZCB7CiAgICAgICAgZmlsbC1vcGFjaXR5OiAwOwogICAgICAgIGZpbGw6IHJlZDsKICAgICAgfQoKICAgICAgLmhpc3RvZ3JhbSB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5ob3ZlciB7CiAgICAgICAgZm9udC1zaXplOiA5cHg7CiAgICAgICAgZG9taW5hbnQtYmFzZWxpbmU6IG1pZGRsZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAuaG92ZXIgY2lyY2xlIHsKICAgICAgICBzdHJva2U6IHdoaXRlOwogICAgICAgIHN0cm9rZS1vcGFjaXR5OiAwLjU7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAxcHg7CiAgICAgIH0KCiAgICAgIC5ob3ZlciB0ZXh0IHsKICAgICAgICBmaWxsOiBibGFjazsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAuaG92ZXIuaG92ZXItY2xvc2VzdCBjaXJjbGUgewogICAgICAgIGZpbGw6IGJsYWNrICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5ob3Zlci5ob3Zlci1jbG9zZXN0IHRleHQgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5iYXNlbGluZSB7CiAgICAgICAgc3Ryb2tlOiBibGFjazsKICAgICAgICBzdHJva2Utb3BhY2l0eTogMC4xOwogICAgICB9CgogICAgICAub3V0bGluZSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6IHdoaXRlOwogICAgICAgIHN0cm9rZS1vcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC5vdXRsaW5lLm91dGxpbmUtaG92ZXIgewogICAgICAgIHN0cm9rZTogYmxhY2sgIWltcG9ydGFudDsKICAgICAgICBzdHJva2Utb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLngtYXhpcy1ob3ZlciwKICAgICAgLnktYXhpcy1ob3ZlciwKICAgICAgLnktc2xpY2UtYXhpcy1ob3ZlciB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC54LWF4aXMtaG92ZXIgLmxhYmVsLAogICAgICAueS1heGlzLWhvdmVyIC5sYWJlbCwKICAgICAgLnktc2xpY2UtYXhpcy1ob3ZlciAubGFiZWwgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIHRleHQtYW5jaG9yOiBlbmQ7CiAgICAgIH0KCiAgICAgIC54LWF4aXMtaG92ZXIgdGV4dCB7CiAgICAgICAgdGV4dC1hbmNob3I6IG1pZGRsZTsKICAgICAgfQoKICAgICAgLnktYXhpcy1ob3ZlciB0ZXh0LAogICAgICAueS1zbGljZS1heGlzLWhvdmVyIHRleHQgewogICAgICAgIHRleHQtYW5jaG9yOiBzdGFydDsKICAgICAgfQoKICAgICAgLngtYXhpcy1ob3ZlciBsaW5lLAogICAgICAueS1heGlzLWhvdmVyIGxpbmUsCiAgICAgIC55LXNsaWNlLWF4aXMtaG92ZXIgbGluZSB7CiAgICAgICAgc3Ryb2tlOiBibGFjazsKICAgICAgfQoKICAgICAgLngtYXhpcy1ob3ZlciByZWN0LAogICAgICAueS1heGlzLWhvdmVyIHJlY3QsCiAgICAgIC55LXNsaWNlLWF4aXMtaG92ZXIgcmVjdCB7CiAgICAgICAgZmlsbDogd2hpdGU7CiAgICAgIH0KCiAgICAgIC5heGlzIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgIH0KCiAgICAgIC5heGlzIHBhdGguZG9tYWluIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuYXhpcyAudGljayBsaW5lIHsKICAgICAgICBzdHJva2U6ICNkZGQ7CiAgICAgIH0KCiAgICAgIC5heGlzLnNsaWNlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAuYXhpcy5zbGljZSAudGljayBsaW5lIHsKICAgICAgICBzdHJva2UtZGFzaGFycmF5OiAyOwogICAgICB9CgogICAgICAuc21hbGwgLmF4aXMgdGV4dCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgICAuc21hbGwgLmF4aXMgLnRpY2s6Zmlyc3Qtb2YtdHlwZSB0ZXh0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICAuc21hbGwgLmF4aXMgLnRpY2s6bGFzdC1vZi10eXBlIHRleHQgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIC5tZWRpdW0gLmF4aXMgdGV4dCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgICAubWVkaXVtIC5heGlzIC50aWNrOm50aC1jaGlsZCgybiArIDEpIHRleHQgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIC5sYXJnZSAuYXhpcyB0ZXh0IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CiAgICAgIC5sYXJnZSAuYXhpcyAudGljazpudGgtY2hpbGQoMm4gKyAxKSB0ZXh0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgoKICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1oaXN0b2dyYW0tbG9hZGVyIj4KICA8dGVtcGxhdGU+CiAgICA8dGYtY2FyZC1oZWFkaW5nIHRhZz0iW1t0YWddXSIgcnVuPSJbW3J1bl1dIiBkaXNwbGF5LW5hbWU9IltbdGFnTWV0YWRhdGEuZGlzcGxheU5hbWVdXSIgZGVzY3JpcHRpb249IltbdGFnTWV0YWRhdGEuZGVzY3JpcHRpb25dXSIgY29sb3I9IltbX3J1bkNvbG9yXV0iPjwvdGYtY2FyZC1oZWFkaW5nPgogICAgCiAgICA8dnotaGlzdG9ncmFtLXRpbWVzZXJpZXMgaWQ9ImNoYXJ0IiB0aW1lLXByb3BlcnR5PSJbW3RpbWVQcm9wZXJ0eV1dIiBtb2RlPSJbW2hpc3RvZ3JhbU1vZGVdXSIgY29sb3Itc2NhbGU9IltbX2NvbG9yU2NhbGVGdW5jdGlvbl1dIj48L3Z6LWhpc3RvZ3JhbS10aW1lc2VyaWVzPgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdzsiPgogICAgICA8cGFwZXItaWNvbi1idXR0b24gc2VsZWN0ZWQkPSJbW19leHBhbmRlZF1dIiBpY29uPSJmdWxsc2NyZWVuIiBvbi10YXA9Il90b2dnbGVFeHBhbmRlZCI+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHdpZHRoOiAzMzBweDsKICAgICAgICBoZWlnaHQ6IDIzNXB4OwogICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICB9CiAgICAgIDpob3N0KFtfZXhwYW5kZWRdKSB7CiAgICAgICAgd2lkdGg6IDcwMHB4OwogICAgICAgIGhlaWdodDogNTAwcHg7CiAgICAgIH0KCiAgICAgIHZ6LWhpc3RvZ3JhbS10aW1lc2VyaWVzIHsKICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b24gewogICAgICAgIGNvbG9yOiAjMjE5NmYzOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b25bc2VsZWN0ZWRdIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10Yi11aS1saWdodC1hY2NlbnQpOwogICAgICB9CgogICAgICB0Zi1jYXJkLWhlYWRpbmcgewogICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgd2lkdGg6IDkwJTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhpc3RvZ3JhbS1kYXNoYm9hcmQiPgogIDx0ZW1wbGF0ZT4KICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICA8ZGl2IHNsb3Q9InNpZGViYXIiPgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiI+CiAgICAgICAgICA8dGYtb3B0aW9uLXNlbGVjdG9yIGlkPSJoaXN0b2dyYW1Nb2RlU2VsZWN0b3IiIG5hbWU9Ikhpc3RvZ3JhbSBtb2RlIiBzZWxlY3RlZC1pZD0ie3tfaGlzdG9ncmFtTW9kZX19Ij4KICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0ib3ZlcmxheSI+b3ZlcmxheTwvcGFwZXItYnV0dG9uPgogICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJvZmZzZXQiPm9mZnNldDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgPC90Zi1vcHRpb24tc2VsZWN0b3I+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDx0Zi1vcHRpb24tc2VsZWN0b3IgaWQ9InRpbWVQcm9wZXJ0eVNlbGVjdG9yIiBuYW1lPSJPZmZzZXQgdGltZSBheGlzIiBzZWxlY3RlZC1pZD0ie3tfdGltZVByb3BlcnR5fX0iPgogICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJzdGVwIj5zdGVwPC9wYXBlci1idXR0b24+CiAgICAgICAgICAgIDxwYXBlci1idXR0b24gaWQ9InJlbGF0aXZlIj5yZWxhdGl2ZTwvcGFwZXItYnV0dG9uPgogICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJ3YWxsX3RpbWUiPndhbGw8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgIDwvdGYtb3B0aW9uLXNlbGVjdG9yPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiI+CiAgICAgICAgICA8dGYtcnVucy1zZWxlY3RvciBzZWxlY3RlZC1ydW5zPSJ7e19zZWxlY3RlZFJ1bnN9fSI+CiAgICAgICAgICA8L3RmLXJ1bnMtc2VsZWN0b3I+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IHNsb3Q9ImNlbnRlciI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19kYXRhTm90Rm91bmRdXSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJuby1kYXRhLXdhcm5pbmciPgogICAgICAgICAgICA8aDM+Tm8gaGlzdG9ncmFtIGRhdGEgd2FzIGZvdW5kLjwvaDM+CiAgICAgICAgICAgIDxwPlByb2JhYmxlIGNhdXNlczo8L3A+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICBZb3UgaGF2ZW7igJl0IHdyaXR0ZW4gYW55IGhpc3RvZ3JhbSBkYXRhIHRvIHlvdXIgZXZlbnQgZmlsZXMuCiAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICA8bGk+VGVuc29yQm9hcmQgY2Fu4oCZdCBmaW5kIHlvdXIgZXZlbnQgZmlsZXMuPC9saT4KICAgICAgICAgICAgPC91bD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdeKAmXJlIG5ldyB0byB1c2luZyBUZW5zb3JCb2FyZCwgYW5kIHdhbnQgdG8gZmluZCBvdXQgaG93IHRvCiAgICAgICAgICAgICAgYWRkIGRhdGEgYW5kIHNldCB1cCB5b3VyIGV2ZW50IGZpbGVzLCBjaGVjayBvdXQgdGhlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIj5SRUFETUU8L2E+CiAgICAgICAgICAgICAgYW5kIHBlcmhhcHMgdGhlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvZ2V0X3N0YXJ0ZWQvc3VtbWFyaWVzX2FuZF90ZW5zb3Jib2FyZCI+VGVuc29yQm9hcmQgdHV0b3JpYWw8L2E+LgogICAgICAgICAgICA8L3A+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3UgdGhpbmsgVGVuc29yQm9hcmQgaXMgY29uZmlndXJlZCBwcm9wZXJseSwgcGxlYXNlIHNlZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNteS10ZW5zb3Jib2FyZC1pc250LXNob3dpbmctYW55LWRhdGEtd2hhdHMtd3JvbmciPnRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXM8L2E+CiAgICAgICAgICAgICAgYW5kIGNvbnNpZGVyIGZpbGluZyBhbiBpc3N1ZSBvbiBHaXRIdWIuCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPHRmLXRhZy1maWx0ZXJlciB0YWctZmlsdGVyPSJ7e190YWdGaWx0ZXJ9fSI+PC90Zi10YWctZmlsdGVyZXI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jYXRlZ29yaWVzXV0iIGFzPSJjYXRlZ29yeSI+CiAgICAgICAgICAgIDx0Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldyBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIiBpbml0aWFsLW9wZW5lZD0iW1tfc2hvdWxkT3BlbihpbmRleCldXSI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRmLWhpc3RvZ3JhbS1sb2FkZXIgcnVuPSJbW2l0ZW0ucnVuXV0iIHRhZz0iW1tpdGVtLnRhZ11dIiBhY3RpdmU9IltbYWN0aXZlXV0iIHRhZy1tZXRhZGF0YT0iW1tfdGFnTWV0YWRhdGEoX3J1blRvVGFnSW5mbywgaXRlbS5ydW4sIGl0ZW0udGFnKV1dIiB0aW1lLXByb3BlcnR5PSJbW190aW1lUHJvcGVydHldXSIgaGlzdG9ncmFtLW1vZGU9IltbX2hpc3RvZ3JhbU1vZGVdXSIgcmVxdWVzdC1tYW5hZ2VyPSJbW19yZXF1ZXN0TWFuYWdlcl1dIj48L3RmLWhpc3RvZ3JhbS1sb2FkZXI+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC90Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldz4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC9kaXY+CiAgICA8L3RmLWRhc2hib2FyZC1sYXlvdXQ+CgogICAgPHN0eWxlIGluY2x1ZGU9ImRhc2hib2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtdGV4dC1sb2FkZXIiPgogIDx0ZW1wbGF0ZT4KICAgIDx0Zi1jYXJkLWhlYWRpbmcgcnVuPSJbW3J1bl1dIiB0YWc9IltbdGFnXV0iIGNvbG9yPSJbW19ydW5Db2xvcl1dIj4KICAgIDwvdGYtY2FyZC1oZWFkaW5nPgogICAgPHBhcGVyLW1hdGVyaWFsIGVsZXZhdGlvbj0iMSIgaWQ9InN0ZXBzLWNvbnRhaW5lciIgY2xhc3M9ImNvbnRhaW5lciBzY3JvbGxiYXIiIHN0eWxlPSJib3JkZXItY29sb3I6IFtbX3J1bkNvbG9yXV0iPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW190ZXh0c11dIj4KICAgICAgICA8cGFwZXItbWF0ZXJpYWwgZWxldmF0aW9uPSIxIiBjbGFzcz0ic3RlcC1jb250YWluZXIiPgogICAgICAgICAgc3RlcCA8c3BhbiBjbGFzcz0ic3RlcC12YWx1ZSI+W1tfZm9ybWF0U3RlcChpdGVtLnN0ZXApXV08L3NwYW4+CiAgICAgICAgPC9wYXBlci1tYXRlcmlhbD4KICAgICAgICA8cGFwZXItbWF0ZXJpYWwgZWxldmF0aW9uPSIxIiBjbGFzcz0idGV4dCI+CiAgICAgICAgICA8dGYtbWFya2Rvd24tdmlldyBodG1sPSJbW2l0ZW0udGV4dF1dIj48L3RmLW1hcmtkb3duLXZpZXc+CiAgICAgICAgPC9wYXBlci1tYXRlcmlhbD4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvcGFwZXItbWF0ZXJpYWw+CiAgICA8c3R5bGUgaW5jbHVkZT0ic2Nyb2xsYmFyLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgfQogICAgICAuc2Nyb2xsYmFyIHsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICB9CiAgICAgICNzdGVwcy1jb250YWluZXIgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAvKiBjb2xvciBjb21wdXRlZCBhbmQgc2V0IGFzIGlubGluZSBzdHlsZSAqLzsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICB9CiAgICAgIC50ZXh0IHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiAwIDNweCAzcHggM3B4OwogICAgICAgIHBhZGRpbmc6IDVweDsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwogICAgICB9CiAgICAgIC5zdGVwLWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGItdWktbGlnaHQtYWNjZW50KTsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7IC8qIHRvIGNvcnJlY3QgZm9yIGJvcmRlciAqLwogICAgICAgIHBhZGRpbmc6IDNweDsKICAgICAgfQogICAgICAuc3RlcC1jb250YWluZXI6bm90KDpmaXJzdC1jaGlsZCkgewogICAgICAgIG1hcmdpbi10b3A6IDE1cHg7CiAgICAgIH0KCiAgICAgIHRmLWNhcmQtaGVhZGluZyB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLXRleHQtZGFzaGJvYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8dGYtZGFzaGJvYXJkLWxheW91dD4KICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciIgc2xvdD0ic2lkZWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDx0Zi1ydW5zLXNlbGVjdG9yIHNlbGVjdGVkLXJ1bnM9Int7X3NlbGVjdGVkUnVuc319Ij4KICAgICAgICAgIDwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyB0ZXh0IGRhdGEgd2FzIGZvdW5kLjwvaDM+CiAgICAgICAgICAgIDxwPlByb2JhYmxlIGNhdXNlczo8L3A+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+WW91IGhhdmVu4oCZdCB3cml0dGVuIGFueSB0ZXh0IGRhdGEgdG8geW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICAgIDxsaT5UZW5zb3JCb2FyZCBjYW7igJl0IGZpbmQgeW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW914oCZcmUgbmV3IHRvIHVzaW5nIFRlbnNvckJvYXJkLCBhbmQgd2FudCB0byBmaW5kIG91dCBob3cgdG8KICAgICAgICAgICAgICBhZGQgZGF0YSBhbmQgc2V0IHVwIHlvdXIgZXZlbnQgZmlsZXMsIGNoZWNrIG91dCB0aGUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiPlJFQURNRTwvYT4KICAgICAgICAgICAgICBhbmQgcGVyaGFwcyB0aGUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIj5UZW5zb3JCb2FyZCB0dXRvcmlhbDwvYT4uCiAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdSB0aGluayBUZW5zb3JCb2FyZCBpcyBjb25maWd1cmVkIHByb3Blcmx5LCBwbGVhc2Ugc2VlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kI215LXRlbnNvcmJvYXJkLWlzbnQtc2hvd2luZy1hbnktZGF0YS13aGF0cy13cm9uZyI+dGhlIHNlY3Rpb24gb2YgdGhlIFJFQURNRSBkZXZvdGVkIHRvIG1pc3NpbmcgZGF0YSBwcm9ibGVtczwvYT4KICAgICAgICAgICAgICBhbmQgY29uc2lkZXIgZmlsaW5nIGFuIGlzc3VlIG9uIEdpdEh1Yi4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9kYXRhTm90Rm91bmRdXSI+CiAgICAgICAgICA8dGYtdGFnLWZpbHRlcmVyIHRhZy1maWx0ZXI9Int7X3RhZ0ZpbHRlcn19Ij48L3RmLXRhZy1maWx0ZXJlcj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX2NhdGVnb3JpZXNdXSIgYXM9ImNhdGVnb3J5Ij4KICAgICAgICAgICAgPHRmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3IGNhdGVnb3J5PSJbW2NhdGVnb3J5XV0iIGluaXRpYWwtb3BlbmVkPSJbW19zaG91bGRPcGVuKGluZGV4KV1dIj4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGYtdGV4dC1sb2FkZXIgYWN0aXZlPSJbW2FjdGl2ZV1dIiB0YWc9IltbaXRlbS50YWddXSIgcnVuPSJbW2l0ZW0ucnVuXV0iIHJlcXVlc3QtbWFuYWdlcj0iW1tfcmVxdWVzdE1hbmFnZXJdXSI+PC90Zi10ZXh0LWxvYWRlcj4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvdGYtZGFzaGJvYXJkLWxheW91dD4KICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgIC5uby1kYXRhLXdhcm5pbmcgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtcHItY3VydmUtY2FyZCI+CiAgPHRlbXBsYXRlPgogICAgPHRmLWNhcmQtaGVhZGluZyB0YWc9IltbdGFnXV0iIGRpc3BsYXktbmFtZT0iW1t0YWdNZXRhZGF0YS5kaXNwbGF5TmFtZV1dIiBkZXNjcmlwdGlvbj0iW1t0YWdNZXRhZGF0YS5kZXNjcmlwdGlvbl1dIj48L3RmLWNhcmQtaGVhZGluZz4KCiAgICA8dGYtbGluZS1jaGFydC1kYXRhLWxvYWRlciB4LWNvbXBvbmVudHMtY3JlYXRpb24tbWV0aG9kPSJbW194Q29tcG9uZW50c0NyZWF0aW9uTWV0aG9kXV0iIHktdmFsdWUtYWNjZXNzb3I9IltbX3lWYWx1ZUFjY2Vzc29yXV0iIHRvb2x0aXAtY29sdW1ucz0iW1tfdG9vbHRpcENvbHVtbnNdXSIgY29sb3Itc2NhbGU9IltbX2NvbG9yU2NhbGVGdW5jdGlvbl1dIiBkZWZhdWx0LXgtcmFuZ2U9IltbX2RlZmF1bHRYUmFuZ2VdXSIgZGVmYXVsdC15LXJhbmdlPSJbW19kZWZhdWx0WVJhbmdlXV0iIHNtb290aGluZy1lbmFibGVkPSJbW19zbW9vdGhpbmdFbmFibGVkXV0iIHJlcXVlc3QtbWFuYWdlcj0iW1tyZXF1ZXN0TWFuYWdlcl1dIiBkYXRhLXRvLWxvYWQ9IltbcnVuc11dIiBkYXRhLXNlcmllcz0iW1tydW5zXV0iIGxvYWQta2V5PSJbW3RhZ11dIiBnZXQtZGF0YS1sb2FkLXVybD0iW1tfZGF0YVVybF1dIiBsb2FkLWRhdGEtY2FsbGJhY2s9IltbX2NyZWF0ZVByb2Nlc3NEYXRhRnVuY3Rpb24oKV1dIiBhY3RpdmU9IltbYWN0aXZlXV0iPjwvdGYtbGluZS1jaGFydC1kYXRhLWxvYWRlcj4KCiAgICA8ZGl2IGlkPSJidXR0b25zLXJvdyI+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbiBzZWxlY3RlZCQ9IltbX2V4cGFuZGVkXV0iIGljb249ImZ1bGxzY3JlZW4iIG9uLXRhcD0iX3RvZ2dsZUV4cGFuZGVkIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0ic2V0dGluZ3Mtb3ZlcnNjYW4iIG9uLXRhcD0iX3Jlc2V0RG9tYWluIiB0aXRsZT0iUmVzZXQgYXhlcyB0byBbMCwgMV0uIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgPC9kaXY+CgogICAgPGRpdiBpZD0ic3RlcC1sZWdlbmQiPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19ydW5zV2l0aFN0ZXBBdmFpbGFibGVdXSIgYXM9InJ1biI+CiAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1ib3giIHN0eWxlPSJiYWNrZ3JvdW5kOiBbW19jb21wdXRlUnVuQ29sb3IocnVuKV1dOyI+PC9kaXY+CiAgICAgICAgICBbW3J1bl1dIGlzIGF0CiAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RlcC1sYWJlbC10ZXh0Ij4KICAgICAgICAgICAgc3RlcCBbW19jb21wdXRlQ3VycmVudFN0ZXBGb3JSdW4oX3J1blRvUHJDdXJ2ZUVudHJ5LCBydW4pXV0gPC9zcGFuPjxicj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3YWxsLXRpbWUtbGFiZWwtdGV4dCI+CiAgICAgICAgICAgIChbW19jb21wdXRlQ3VycmVudFdhbGxUaW1lRm9yUnVuKF9ydW5Ub1ByQ3VydmVFbnRyeSwgcnVuKV1dKQogICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHdpZHRoOiA1MDBweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgICAgfQogICAgICA6aG9zdChbX2V4cGFuZGVkXSkgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIHRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIgewogICAgICAgIGhlaWdodDogMzAwcHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CiAgICAgIDpob3N0KFtfZXhwYW5kZWRdKSB0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyIHsKICAgICAgICBoZWlnaHQ6IDYwMHB4OwogICAgICB9CiAgICAgICNidXR0b25zLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICB9CiAgICAgICNidXR0b25zLXJvdyBwYXBlci1pY29uLWJ1dHRvbiB7CiAgICAgICAgY29sb3I6ICMyMTk2ZjM7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICB9CiAgICAgICNidXR0b25zLXJvdyBwYXBlci1pY29uLWJ1dHRvbltzZWxlY3RlZF0gewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRiLXVpLWxpZ2h0LWFjY2VudCk7CiAgICAgIH0KICAgICAgI3N0ZXAtbGVnZW5kIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGZvbnQtc2l6ZTogMC44ZW07CiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIC5sZWdlbmQtcm93IHsKICAgICAgICBtYXJnaW46IDVweCAwIDVweCAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIC5jb2xvci1ib3ggewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7CiAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgICAgaGVpZ2h0OiAxMHB4OwogICAgICB9CiAgICAgIC5zdGVwLWxhYmVsLXRleHQgewogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICB9CiAgICAgIC53YWxsLXRpbWUtbGFiZWwtdGV4dCB7CiAgICAgICAgY29sb3I6ICM4ODg7CiAgICAgICAgZm9udC1zaXplOiAwLjhlbTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLXByLWN1cnZlLXN0ZXBzLXNlbGVjdG9yIj4KICA8dGVtcGxhdGU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19ydW5zV2l0aFNsaWRlcnNdXSIgYXM9InJ1biI+CiAgICAgIDxkaXYgY2xhc3M9InJ1bi13aWRnZXQiPgogICAgICAgIDxkaXYgY2xhc3M9InJ1bi1kaXNwbGF5LWNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJydW4tY29sb3ItYm94IiBzdHlsZT0iYmFja2dyb3VuZDpbW19jb21wdXRlQ29sb3JGb3JSdW4ocnVuKV1dOyI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJydW4tdGV4dCI+CiAgICAgICAgICAgIFtbcnVuXV0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtZGlzcGxheS1jb250YWluZXIiPgogICAgICAgICAgW1tfY29tcHV0ZVRpbWVUZXh0Rm9yUnVuKHJ1blRvQXZhaWxhYmxlVGltZUVudHJpZXMsIF9ydW5Ub1N0ZXBJbmRleCwKICAgICAgICAgIHJ1biwgdGltZURpc3BsYXlUeXBlKV1dCiAgICAgICAgPC9kaXY+CiAgICAgICAgPHBhcGVyLXNsaWRlciBkYXRhLXJ1biQ9IltbcnVuXV0iIHN0ZXA9IjEiIHR5cGU9Im51bWJlciIgbWluPSIwIiBtYXg9IltbX2NvbXB1dGVNYXhTdGVwSW5kZXhGb3JSdW4ocnVuVG9BdmFpbGFibGVUaW1lRW50cmllcywgcnVuKV1dIiB2YWx1ZT0iW1tfZ2V0U3RlcChfcnVuVG9TdGVwSW5kZXgsIHJ1bildXSIgb24taW1tZWRpYXRlLXZhbHVlLWNoYW5nZWQ9Il9zbGlkZXJWYWx1ZUNoYW5nZWQiPjwvcGFwZXItc2xpZGVyPgogICAgICA8L2Rpdj4KICAgIDwvdGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIC5ydW4td2lkZ2V0IHsKICAgICAgICBtYXJnaW46IDEwcHggMCAwIDA7CiAgICAgIH0KICAgICAgcGFwZXItc2xpZGVyIHsKICAgICAgICBtYXJnaW46IC04cHggMCAwIC0xNXB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIC5zdGVwLWRpc3BsYXktY29udGFpbmVyIHsKICAgICAgICBmb250LXNpemU6IDAuOWVtOwogICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDsKICAgICAgfQogICAgICAucnVuLXRleHQgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQogICAgICAucnVuLWNvbG9yLWJveCB7CiAgICAgICAgd2lkdGg6IDEycHg7CiAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1wci1jdXJ2ZS1kYXNoYm9hcmQiPgogIDx0ZW1wbGF0ZT4KICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyIiBzbG90PSJzaWRlYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPHRmLW9wdGlvbi1zZWxlY3RvciBpZD0idGltZS10eXBlLXNlbGVjdG9yIiBuYW1lPSJUaW1lIERpc3BsYXkgVHlwZSIgc2VsZWN0ZWQtaWQ9Int7X3RpbWVEaXNwbGF5VHlwZX19Ij4KICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0ic3RlcCI+c3RlcDwvcGFwZXItYnV0dG9uPjxwYXBlci1idXR0b24gaWQ9InJlbGF0aXZlIj5yZWxhdGl2ZTwvcGFwZXItYnV0dG9uPjxwYXBlci1idXR0b24gaWQ9IndhbGxfdGltZSI+d2FsbDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgPC90Zi1vcHRpb24tc2VsZWN0b3I+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19ydW5Ub0F2YWlsYWJsZVRpbWVFbnRyaWVzXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIiBpZD0ic3RlcHMtc2VsZWN0b3ItY29udGFpbmVyIj4KICAgICAgICAgICAgPHRmLXByLWN1cnZlLXN0ZXBzLXNlbGVjdG9yIHJ1bnM9IltbX3JlbGV2YW50U2VsZWN0ZWRSdW5zXV0iIHJ1bi10by1zdGVwPSJ7e19ydW5Ub1N0ZXB9fSIgcnVuLXRvLWF2YWlsYWJsZS10aW1lLWVudHJpZXM9IltbX3J1blRvQXZhaWxhYmxlVGltZUVudHJpZXNdXSIgdGltZS1kaXNwbGF5LXR5cGU9IltbX3RpbWVEaXNwbGF5VHlwZV1dIj48L3RmLXByLWN1cnZlLXN0ZXBzLXNlbGVjdG9yPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPHRmLXJ1bnMtc2VsZWN0b3Igc2VsZWN0ZWQtcnVucz0ie3tfc2VsZWN0ZWRSdW5zfX0iPgogICAgICAgICAgPC90Zi1ydW5zLXNlbGVjdG9yPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2VudGVyIiBzbG90PSJjZW50ZXIiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS13YXJuaW5nIj4KICAgICAgICAgICAgPGgzPk5vIHByZWNpc2lvbuKAk3JlY2FsbCBjdXJ2ZSBkYXRhIHdhcyBmb3VuZC48L2gzPgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgWW91IGhhdmVu4oCZdCB3cml0dGVuIGFueSBwcmVjaXNpb27igJNyZWNhbGwgZGF0YSB0byB5b3VyIGV2ZW50CiAgICAgICAgICAgICAgICBmaWxlcy4KICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgIFRlbnNvckJvYXJkIGNhbuKAmXQgZmluZCB5b3VyIGV2ZW50IGZpbGVzLgogICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdeKAmXJlIG5ldyB0byB1c2luZyBUZW5zb3JCb2FyZCwgYW5kIHdhbnQgdG8gZmluZCBvdXQgaG93IHRvCiAgICAgICAgICAgICAgYWRkIGRhdGEgYW5kIHNldCB1cCB5b3VyIGV2ZW50IGZpbGVzLCBjaGVjayBvdXQgdGhlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIj5SRUFETUU8L2E+CiAgICAgICAgICAgICAgYW5kIHBlcmhhcHMgdGhlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvZ2V0X3N0YXJ0ZWQvc3VtbWFyaWVzX2FuZF90ZW5zb3Jib2FyZCI+VGVuc29yQm9hcmQgdHV0b3JpYWw8L2E+LgogICAgICAgICAgICA8L3A+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3UgdGhpbmsgVGVuc29yQm9hcmQgaXMgY29uZmlndXJlZCBwcm9wZXJseSwgcGxlYXNlIHNlZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNteS10ZW5zb3Jib2FyZC1pc250LXNob3dpbmctYW55LWRhdGEtd2hhdHMtd3JvbmciPnRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXM8L2E+CiAgICAgICAgICAgICAgYW5kIGNvbnNpZGVyIGZpbGluZyBhbiBpc3N1ZSBvbiBHaXRIdWIuCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPHRmLXRhZy1maWx0ZXJlciB0YWctZmlsdGVyPSJ7e190YWdGaWx0ZXJ9fSI+PC90Zi10YWctZmlsdGVyZXI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jYXRlZ29yaWVzXV0iIGFzPSJjYXRlZ29yeSI+CiAgICAgICAgICAgIDx0Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldyBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIiBpbml0aWFsLW9wZW5lZD0iW1tfc2hvdWxkT3BlbihpbmRleCldXSIgZ2V0LWNhdGVnb3J5LWl0ZW0ta2V5PSJbW19nZXRDYXRlZ29yeUl0ZW1LZXldXSI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRmLXByLWN1cnZlLWNhcmQgYWN0aXZlPSJbW2FjdGl2ZV1dIiBydW5zPSJbW2l0ZW0ucnVuc11dIiB0YWc9IltbaXRlbS50YWddXSIgdGFnLW1ldGFkYXRhPSJbW190YWdNZXRhZGF0YShfcnVuVG9UYWdJbmZvLCBpdGVtLnJ1bnMsIGl0ZW0udGFnKV1dIiByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iIHJ1bi10by1zdGVwLWNhcD0iW1tfcnVuVG9TdGVwXV0iIG9uLWRhdGEtY2hhbmdlPSJbW19jcmVhdGVEYXRhQ2hhbmdlQ2FsbGJhY2soaXRlbS50YWcpXV0iPjwvdGYtcHItY3VydmUtY2FyZD4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvdGYtZGFzaGJvYXJkLWxheW91dD4KCiAgICA8c3R5bGUgaW5jbHVkZT0iZGFzaGJvYXJkLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICAubm8tZGF0YS13YXJuaW5nIHsKICAgICAgICBtYXgtd2lkdGg6IDU0MHB4OwogICAgICAgIG1hcmdpbjogODBweCBhdXRvIDAgYXV0bzsKICAgICAgfQogICAgICAvKiogRG8gbm90IGxldCB0aGUgc3RlcHMgc2VsZWN0b3Igb2NjbHVkZSB0aGUgcnVuIHNlbGVjdG9yLiAqLwogICAgICAjc3RlcHMtc2VsZWN0b3ItY29udGFpbmVyIHsKICAgICAgICBtYXgtaGVpZ2h0OiA0MCU7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgoKICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1wcm9maWxlLXJlZGlyZWN0LWRhc2hib2FyZCI+CiAgPHRlbXBsYXRlPgogICAgPGRpdiBjbGFzcz0ibWVzc2FnZSI+CiAgICAgIDxoMz5UaGUgcHJvZmlsZSBwbHVnaW4gaGFzIG1vdmVkLjwvaDM+CiAgICAgIDxwPgogICAgICAgIFBsZWFzZSBpbnN0YWxsIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGUgcHJvZmlsZSBwbHVnaW4gZnJvbSBQeVBJIGJ5CiAgICAgICAgcnVubmluZyB0aGUgZm9sbG93aW5nIGNvbW1hbmQgZnJvbSB0aGUgbWFjaGluZSBydW5uaW5nIFRlbnNvckJvYXJkOgogICAgICA8L3A+CiAgICAgIDx0ZXh0YXJlYSBpZD0iY29tbWFuZFRleHRhcmVhIiByZWFkb25seSByb3dzPSIxIiBvbi1ibHVyPSJfcmVtb3ZlQ29waWVkTWVzc2FnZSI+CltbX2luc3RhbGxDb21tYW5kXV08L3RleHRhcmVhPgogICAgICA8ZGl2IGlkPSJjb3B5Q29udGFpbmVyIj4KICAgICAgICA8c3BhbiBpZD0iY29waWVkTWVzc2FnZSI+PC9zcGFuPgogICAgICAgIDxwYXBlci1idXR0b24gcmFpc2VkIG9uLXRhcD0iX2NvcHlJbnN0YWxsQ29tbWFuZCI+Q29weSB0byBjbGlwYm9hcmQ8L3BhcGVyLWJ1dHRvbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8c3R5bGU+CiAgICAgIC5tZXNzYWdlIHsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgfQogICAgICAjY29tbWFuZFRleHRhcmVhIHsKICAgICAgICBtYXJnaW4tdG9wOiAxZXg7CiAgICAgICAgcGFkZGluZzogMWV4IDFlbTsKICAgICAgICByZXNpemU6IHZlcnRpY2FsOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgICNjb3B5Q29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB9CiAgICAgICNjb3BpZWRNZXNzYWdlIHsKICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtcGx1Z2luLWRpYWxvZyI+CiAgPHRlbXBsYXRlPgogICAgCiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX29wZW5dXSI+CiAgICAgIDxkaXYgaWQ9ImRhc2hib2FyZC1iYWNrZHJvcCI+PC9kaXY+CiAgICA8L3RlbXBsYXRlPgogICAgPHBhcGVyLWRpYWxvZyBpZD0iZGlhbG9nIiBtb2RhbCBvcGVuZWQ9Int7X29wZW59fSIgd2l0aC1iYWNrZHJvcD0iW1tfdXNlTmF0aXZlQmFja2Ryb3BdXSI+CiAgICAgIDxoMiBpZD0iZGlhbG9nLXRpdGxlIj5bW190aXRsZV1dPC9oMj4KICAgICAgPGRpdiBjbGFzcz0iY3VzdG9tLW1lc3NhZ2UiPltbX2N1c3RvbU1lc3NhZ2VdXTwvZGl2PgogICAgPC9wYXBlci1kaWFsb2c+CiAgICA8c3R5bGU+CiAgICAgIC8qKiBXZSByZWx5IG9uIGEgc2VwYXJhdGUgYF9oaWRkZW5gIHByb3BlcnR5IGluc3RlYWQgb2YgZGlyZWN0bHkgbWFraW5nIHVzZQogICAgICAgICAgb2YgdGhlIGBfb3BlbmAgYXR0cmlidXRlIGJlY2F1c2UgdGhpcyBDU1Mgc3BlY2lmaWNhdGlvbiBtYXkgc3RyYW5nZWx5CiAgICAgICAgICBhZmZlY3Qgb3RoZXIgZWxlbWVudHMgdGhyb3VnaG91dCBUZW5zb3JCb2FyZC4gU2VlICM4OTkuICovCiAgICAgICNkYXNoYm9hcmQtYmFja2Ryb3AgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgICNkaWFsb2ctdGl0bGUgewogICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OwogICAgICB9CgogICAgICAuY3VzdG9tLW1lc3NhZ2UgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWJlaG9sZGVyLXZpZGVvIj4KICA8dGVtcGxhdGU+CiAgICA8ZGl2IGlkPSJjb250YWluZXIiPgogICAgICA8aW1nIGlkPSJ2aWRlbyIgc3JjJD0iW1tfaW1hZ2VVUkxdXSI+CiAgICA8L2Rpdj4KCiAgICA8c3R5bGU+CiAgICAgIGltZyB7CiAgICAgICAgaW1hZ2UtcmVuZGVyaW5nOiBwaXhlbGF0ZWQ7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWJlaG9sZGVyLWluZm8iPgogIDx0ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX2l0ZW1zXV0iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWluZm8iIHN0eWxlJD0iaGVpZ2h0OiBbW2l0ZW0uaGVpZ2h0XV1weCI+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPltbaXRlbS5uYW1lXV08L2xpPgogICAgICAgICAgPGxpPnNoYXBlOiBbW2l0ZW0uc2hhcGVdXTwvbGk+CiAgICAgICAgICA8bGk+cmFuZ2U6IFsgW1tpdGVtLm1pbl1dLCBbW2l0ZW0ubWF4XV0gXTwvbGk+CiAgICAgICAgICA8bGk+bWVhbjogW1tpdGVtLm1lYW5dXTwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9kaXY+CiAgICA8L3RlbXBsYXRlPgoKICAgIDxzdHlsZT4KICAgICAgLnNlY3Rpb24taW5mbyB7CiAgICAgICAgbWFyZ2luOiAwIDAgNXB4IDA7CiAgICAgIH0KICAgICAgLnNlY3Rpb24taW5mbyB1bCB7CiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtYmVob2xkZXItZGFzaGJvYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8dGYtcGx1Z2luLWRpYWxvZyBpZD0iaW5pdGlhbERpYWxvZyI+PC90Zi1wbHVnaW4tZGlhbG9nPgogICAgPHRmLWRhc2hib2FyZC1sYXlvdXQ+CiAgICAgIDxkaXYgY2xhc3M9InNpZGViYXIiIHNsb3Q9InNpZGViYXIiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfY29udHJvbHNfZGlzYWJsZWRdXSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgICA8cCBjbGFzcz0iY29udHJvbHMtZGlzYWJsZWQtbWVzc2FnZSI+CiAgICAgICAgICAgICAgQ29udHJvbHMgZGlzYWJsZWQ6IGRpcmVjdG9yeSBpcyBub3Qgd3JpdGVhYmxlLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJkaXNjbGFpbWVyIj4KICAgICAgICAgICAgICBCZWhvbGRlciByZXF1aXJlcyB3cml0ZSBhY2Nlc3MgdG8gdGhlIGxvZyBkaXJlY3RvcnkgaW4gb3JkZXIgdG8KICAgICAgICAgICAgICBjb21tdW5pY2F0ZSB2aXN1YWxpemF0aW9uIGNoYW5nZXMgdG8gdGhlIDxjb2RlPkJlaG9sZGVyPC9jb2RlPgogICAgICAgICAgICAgIGluc3RhbmNlIGluIHlvdXIgbW9kZWwuCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDxoMz5WYWx1ZXM8L2gzPgogICAgICAgICAgPHBhcGVyLXJhZGlvLWdyb3VwIGlkPSJ2YWx1ZXNTZWxlY3RvciIgc2VsZWN0ZWQ9Int7X3ZhbHVlc319Ij4KICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBuYW1lPSJ0cmFpbmFibGVfdmFyaWFibGVzIiBkaXNhYmxlZD0iW1tfY29udHJvbHNfZGlzYWJsZWRdXSI+CiAgICAgICAgICAgICAgPHByZT50Zi50cmFpbmFibGVfdmFyaWFibGVzKCk8L3ByZT4KICAgICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gaWQ9Im9wdGlvbi1hcnJheXMiIG5hbWU9ImFycmF5cyIgZGlzYWJsZWQ9IltbX2NvbnRyb2xzX2Rpc2FibGVkXV0iPgogICAgICAgICAgICAgIDxwcmU+Yi51cGRhdGUoYXJyYXlzPVtOUF9BUlJBWVNdKTwvcHJlPgogICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBpZD0ib3B0aW9uLWZyYW1lcyIgbmFtZT0iZnJhbWVzIiBkaXNhYmxlZD0iW1tfY29udHJvbHNfZGlzYWJsZWRdXSI+CiAgICAgICAgICAgICAgPHByZT5iLnVwZGF0ZShmcmFtZT1OUF9BUlJBWSk8L3ByZT4KICAgICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICA8L3BhcGVyLXJhZGlvLWdyb3VwPgoKICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfdmFsdWVzTm90RnJhbWUoX3ZhbHVlcyldXSI+CiAgICAgICAgICAgIDxwYXBlci1jaGVja2JveCBjaGVja2VkPSJ7e19zaG93QWxsfX0iIGRpc2FibGVkPSJbW19jb250cm9sc19kaXNhYmxlZF1dIj5TaG93IGFsbCBkYXRhIDxpPihjYW4gYmUgcmVzb3VyY2UgaW50ZW5zaXZlKTwvaT48L3BhcGVyLWNoZWNrYm94PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW192YWx1ZXNOb3RGcmFtZShfdmFsdWVzKV1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiI+CiAgICAgICAgICAgIDxoMz5Nb2RlPC9oMz4KICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWdyb3VwIGlkPSJtb2RlU2VsZWN0b3IiIHNlbGVjdGVkPSJ7e19tb2RlfX0iPgogICAgICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gbmFtZT0iY3VycmVudCIgZGlzYWJsZWQ9IltbX2NvbnRyb2xzX2Rpc2FibGVkXV0iPgogICAgICAgICAgICAgICAgY3VycmVudCB2YWx1ZXMKICAgICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIG5hbWU9InZhcmlhbmNlIiBkaXNhYmxlZD0iW1tfY29udHJvbHNfZGlzYWJsZWRdXSI+CiAgICAgICAgICAgICAgICB2YXJpYW5jZSBvdmVyIHRyYWluIHN0ZXBzCiAgICAgICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICAgIDwvcGFwZXItcmFkaW8tZ3JvdXA+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfdmFyaWFuY2VTZWxlY3RlZChfbW9kZSldXSI+CiAgICAgICAgICAgICAgPGg0PlZhcmlhbmNlIHRpbWVzdGVwczoge3tfd2luZG93U2l6ZX19PC9oND4KICAgICAgICAgICAgICA8cGFwZXItc2xpZGVyIGlkPSJ3aW5kb3dTbGlkZXIiIHZhbHVlPSJ7e193aW5kb3dTaXplfX0iIHR5cGU9Im51bWJlciIgc3RlcD0iMSIgbWluPSIyIiBtYXg9IjIwIiBwaW49InRydWUiIGRpc2FibGVkPSJbW19jb250cm9sc19kaXNhYmxlZF1dIj4KICAgICAgICAgICAgICA8L3BhcGVyLXNsaWRlcj4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiI+CiAgICAgICAgICAgIDxoMz5JbWFnZSBzY2FsaW5nPC9oMz4KICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWdyb3VwIGlkPSJzY2FsaW5nU2VsZWN0b3IiIHNlbGVjdGVkPSJ7e19zY2FsaW5nfX0iPgogICAgICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gaWQ9Im9wdGlvbi1sYXllciIgbmFtZT0ibGF5ZXIiIGRpc2FibGVkPSJbW19jb250cm9sc19kaXNhYmxlZF1dIj4KICAgICAgICAgICAgICAgIHBlciBzZWN0aW9uCiAgICAgICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAgZm9yPSJvcHRpb24tbGF5ZXIiIHBvc2l0aW9uPSJyaWdodCI+CiAgICAgICAgICAgICAgICBCbGFjayBpcyB0aGUgbG93ZXN0IHZhbHVlIGluIHRoYXQgc2VjdGlvbiwgd2hpdGUgaXMgdGhhdCBsYXJnZXN0CiAgICAgICAgICAgICAgICB2YWx1ZSBpbiB0aGF0IHNlY3Rpb24uCiAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgoKICAgICAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIGlkPSJvcHRpb24tbmV0d29yayIgbmFtZT0ibmV0d29yayIgZGlzYWJsZWQ9IltbX2NvbnRyb2xzX2Rpc2FibGVkXV0iPgogICAgICAgICAgICAgICAgYWxsIHNlY3Rpb25zCiAgICAgICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAgZm9yPSJvcHRpb24tbmV0d29yayIgcG9zaXRpb249InJpZ2h0Ij4KICAgICAgICAgICAgICAgIEJsYWNrIGlzIHRoZSBzbWFsbGVzdCB2YWx1ZSBpbiBhbGwgc2VjdGlvbnMsIHdoaXRlIGlzIHRoZQogICAgICAgICAgICAgICAgbGFyZ2VzdCB2YWx1ZSBpbiBhbGwgc2VjdGlvbnMuCiAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWdyb3VwPgoKICAgICAgICAgICAgPGRpdiBpZD0iY29sb3JtYXAtc2VsZWN0aW9uIj4KICAgICAgICAgICAgICA8ZGl2IGlkPSJjb2xvcm1hcC1zZWxlY3Rpb24tbGFiZWwiPkNvbG9ybWFwOjwvZGl2PgogICAgICAgICAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51IG5vLWxhYmVsLWZsb2F0IHNlbGVjdGVkLWl0ZW0tbGFiZWw9Int7X2NvbG9ybWFwfX0iIGRpc2FibGVkPSJbW19jb250cm9sc19kaXNhYmxlZF1dIj4KICAgICAgICAgICAgICAgIDxwYXBlci1saXN0Ym94IHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiIHNlbGVjdGVkPSIwIj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0+bWFnbWE8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPmluZmVybm88L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPnBsYXNtYTwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0+dmlyaWRpczwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0+Z3JheXNjYWxlPC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgICAgICAgICAgIDwvcGFwZXItZHJvcGRvd24tbWVudT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgoKICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPGgzPlVwZGF0ZXMgcGVyIHNlY29uZDoge3tfRlBTfX08L2gzPgogICAgICAgICAgPHBhcGVyLXNsaWRlciBpZD0iRlBTU2xpZGVyIiB2YWx1ZT0ie3tfRlBTfX0iIHR5cGU9Im51bWJlciIgc3RlcD0iMSIgbWluPSIwIiBtYXg9IjMwIiBwaW49InRydWUiIGRpc2FibGVkPSJbW19jb250cm9sc19kaXNhYmxlZF1dIj4KICAgICAgICAgIDwvcGFwZXItc2xpZGVyPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBjbGFzcz0ieC1idXR0b24iIGlkPSJyZWNvcmRfYnV0dG9uIiBvbi10YXA9Il90b2dnbGVSZWNvcmQiIGRpc2FibGVkPSJbW19jb250cm9sc19kaXNhYmxlZF1dIj4KICAgICAgICAgICAgICBbW19yZWNvcmRUZXh0XV0KICAgICAgICAgICAgPC9wYXBlci1idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgIDxwIGNsYXNzPSJkaXNjbGFpbWVyIj4KICAgICAgICAgICAgTm90ZTogQmVob2xkZXIgY3VycmVudGx5IG9ubHkgd29ya3Mgd2VsbCBvbiBsb2NhbCBmaWxlIHN5c3RlbXMuCiAgICAgICAgICA8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjZW50ZXIiIHNsb3Q9ImNlbnRlciI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfaXNfYWN0aXZlXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS13YXJuaW5nIj4KICAgICAgICAgICAgPGgzPk5vIEJlaG9sZGVyIGRhdGEgd2FzIGZvdW5kLjwvaDM+CgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPllvdXIgc2NyaXB0IGlzbid0IHJ1bm5pbmcuPC9saT4KICAgICAgICAgICAgICA8bGk+WW91IGFyZW4ndCBjYWxsaW5nIDxjb2RlPmJlaG9sZGVyLnVwZGF0ZSgpPC9jb2RlPi48L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgVG8gdXNlIEJlaG9sZGVyLCBpbXBvcnQgYW5kIGluc3RhbnRpYXRlIHRoZQogICAgICAgICAgICAgIDxjb2RlPkJlaG9sZGVyPC9jb2RlPiBjbGFzcywgYW5kIGNhbGwgaXRzCiAgICAgICAgICAgICAgPGNvZGU+dXBkYXRlPC9jb2RlPiBtZXRob2Qgd2l0aCBhIDxjb2RlPlNlc3Npb248L2NvZGU+IGFyZ3VtZW50CiAgICAgICAgICAgICAgYWZ0ZXIgZXZlcnkgdHJhaW4gc3RlcDoKICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHByZT5mcm9tIHRlbnNvcmJvYXJkLnBsdWdpbnMuYmVob2xkZXIgaW1wb3J0IEJlaG9sZGVyCmJlaG9sZGVyID0gQmVob2xkZXIoTE9HX0RJUkVDVE9SWSkKCiMgaW5zaWRlIHRyYWluIGxvb3AKYmVob2xkZXIudXBkYXRlKAogIHNlc3Npb249c2VzcywKICBhcnJheXM9bGlzdF9vZl9ucF9hcnJheXMsICAjIG9wdGlvbmFsIGFyZ3VtZW50CiAgZnJhbWU9dHdvX2RpbWVuc2lvbmFsX25wX2FycmF5LCAgIyBvcHRpb25hbCBhcmd1bWVudAopPC9wcmU+CiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHVzaW5nIDxjb2RlPnRmLnRyYWluLk1vbml0b3JlZFNlc3Npb248L2NvZGU+LCB5b3UgY2FuIHVzZQogICAgICAgICAgICAgIDxjb2RlPkJlaG9sZGVySG9vazwvY29kZT46CiAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxwcmU+ZnJvbSB0ZW5zb3Jib2FyZC5wbHVnaW5zLmJlaG9sZGVyIGltcG9ydCBCZWhvbGRlckhvb2sKYmVob2xkZXJfaG9vayA9IEJlaG9sZGVySG9vayhMT0dfRElSRUNUT1JZKQp3aXRoIE1vbml0b3JlZFNlc3Npb24oLi4uLCBob29rcz1bYmVob2xkZXJfaG9va10pIGFzIHNlc3M6CiAgc2Vzcy5ydW4odHJhaW5fb3ApPC9wcmU+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3UgdGhpbmsgZXZlcnl0aGluZyBpcyBzZXQgdXAgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci90ZW5zb3Jib2FyZC9wbHVnaW5zL2JlaG9sZGVyL1JFQURNRS5tZCI+dGhlIFJFQURNRTwvYT4KICAgICAgICAgICAgICBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgY29uc2lkZXIgZmlsaW5nIGFuIGlzc3VlIG9uIEdpdEh1Yi4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHAgY2xhc3M9ImRpc2NsYWltZXIiPgogICAgICAgICAgICAgIE5vdGU6IEJlaG9sZGVyIGN1cnJlbnRseSBvbmx5IHdvcmtzIHdlbGwgb24gbG9jYWwgZmlsZSBzeXN0ZW1zLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgoKICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzX2FjdGl2ZV1dIj4KICAgICAgICAgIDx0Zi1iZWhvbGRlci12aWRlbyBpZD0idmlkZW8iIGZwcz0iW1tfRlBTXV0iPjwvdGYtYmVob2xkZXItdmlkZW8+CgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW192YWx1ZXNOb3RGcmFtZShfdmFsdWVzKV1dIj4KICAgICAgICAgICAgPHRmLWJlaG9sZGVyLWluZm8gaWQ9ImluZm8iIGZwcz0iW1tfRlBTXV0iPiA8L3RmLWJlaG9sZGVyLWluZm8+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgPHN0eWxlIGluY2x1ZGU9ImRhc2hib2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgLmNlbnRlciB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwOwogICAgICB9CgogICAgICBwYXBlci1jaGVja2JveCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICB9CgogICAgICBwYXBlci1yYWRpby1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgcGFkZGluZzogNXB4OwoKICAgICAgICAtLXBhcGVyLXJhZGlvLWJ1dHRvbi1yYWRpby1jb250YWluZXI6IHsKICAgICAgICAgIGZsZXgtZ3JvdzogMDsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLS1wYXBlci1yYWRpby1idXR0b24tbGFiZWw6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHBhcGVyLXJhZGlvLWdyb3VwIHsKICAgICAgICBtYXJnaW4tdG9wOiA1cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIHBhcGVyLXNsaWRlciB7CiAgICAgICAgLS1wYXBlci1zbGlkZXItYWN0aXZlLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXIta25vYi1zdGFydC1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXItbWFya2Vycy1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXItcGluLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1waW4tc3RhcnQtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIGZsZXgtZ3JvdzogMjsKICAgICAgfQoKICAgICAgcHJlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmU7CiAgICAgIH0KCiAgICAgIHBhcGVyLWJ1dHRvbiNyZWNvcmRfYnV0dG9uIHsKICAgICAgICBjb2xvcjogI2QzMmYyZjsKICAgICAgfQoKICAgICAgcGFwZXItYnV0dG9uI3JlY29yZF9idXR0b24uaXMtcmVjb3JkaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZDMyZjJmOwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLnNpZGViYXItc2VjdGlvbi5iZWhvbGRlci1kYXNoYm9hcmQ6bGFzdC1jaGlsZCB7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICB9CgogICAgICAjY29sb3JtYXAtc2VsZWN0aW9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIG1hcmdpbi10b3A6IDVweDsKICAgICAgfQoKICAgICAgI2NvbG9ybWFwLXNlbGVjdGlvbi1sYWJlbCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTNweDsKICAgICAgfQoKICAgICAgI2NvbG9ybWFwLXNlbGVjdGlvbiBwYXBlci1kcm9wZG93bi1tZW51IHsKICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgd2lkdGg6IDEwNXB4OwogICAgICB9CgogICAgICBoNCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgICAgbWFyZ2luOiA1cHggMDsKICAgICAgfQoKICAgICAgcC5kaXNjbGFpbWVyIHsKICAgICAgICBjb2xvcjogIzk5OTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KCiAgICAgIHAuY29udHJvbHMtZGlzYWJsZWQtbWVzc2FnZSB7CiAgICAgICAgY29sb3I6ICNjMDA7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIH0KCiAgICAgIC5zaWRlYmFyIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2YWFkaW4tc3BsaXQtbGF5b3V0Ij4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgICAgIH0KCiAgICAgIDpob3N0KFt2ZXJ0aWNhbF0pIHsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICA6aG9zdCA6OnNsb3R0ZWQoKikgewogICAgICAgIGZsZXg6IDEgMSBhdXRvOwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICB9CgogICAgICA6aG9zdCA+ICNzcGxpdHRlciB7CiAgICAgICAgZmxleDogbm9uZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsKICAgICAgICBtaW4td2lkdGg6IDhweDsKICAgICAgICBtaW4taGVpZ2h0OiA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGl2aWRlci1jb2xvciwgI2NjYyk7CiAgICAgICAgZmlsbDogdmFyKC0tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKTsKICAgICAgICBAYXBwbHkgLS12YWFkaW4tc3BsaXQtbGF5b3V0LXNwbGl0dGVyOwogICAgICB9CgogICAgICA6aG9zdCg6bm90KFt2ZXJ0aWNhbF0pKSA+ICNzcGxpdHRlciB7CiAgICAgICAgY3Vyc29yOiBldy1yZXNpemU7CiAgICAgIH0KCiAgICAgIDpob3N0KFt2ZXJ0aWNhbF0pID4gI3NwbGl0dGVyIHsKICAgICAgICBjdXJzb3I6IG5zLXJlc2l6ZTsKICAgICAgfQoKICAgICAgI2hhbmRsZSwKICAgICAgI3NwbGl0dGVyIDo6c2xvdHRlZChbc2xvdD1oYW5kbGVdKSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogNTAlOwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgfQoKICAgICAgOmhvc3QoW3ZlcnRpY2FsXSkgPiAjc3BsaXR0ZXIgI2hhbmRsZSB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDkwZGVnKTsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxzbG90IGlkPSJwcmltYXJ5IiBuYW1lPSJwcmltYXJ5Ij48L3Nsb3Q+CiAgICA8ZGl2IGlkPSJzcGxpdHRlciIgb24tdHJhY2s9Il9vbkhhbmRsZVRyYWNrIiBvbi1kb3duPSJfcHJldmVudERlZmF1bHQiPgogICAgICA8c2xvdCBuYW1lPSJoYW5kbGUiPgogICAgICAgIDxzdmcgaWQ9ImhhbmRsZSIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIj4KICAgICAgICAgIDxyZWN0IHg9IjE5IiB5PSI4IiB3aWR0aD0iMiIgaGVpZ2h0PSIyNCI+PC9yZWN0PgogICAgICAgIDwvc3ZnPgogICAgICA8L3Nsb3Q+CiAgICA8L2Rpdj4KICAgIDxzbG90IGlkPSJzZWNvbmRhcnkiIG5hbWU9InNlY29uZGFyeSI+PC9zbG90PgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhwYXJhbXMtcXVlcnktcGFuZSI+CiAgPHRlbXBsYXRlPgogICAgPGRpdiBjbGFzcz0icGFuZSI+CiAgICAgIDx2YWFkaW4tc3BsaXQtbGF5b3V0IHZlcnRpY2FsPgogICAgICAgIDx2YWFkaW4tc3BsaXQtbGF5b3V0IHZlcnRpY2FsIGlkPSJoeXBlcnBhcmFtZXRlcnMtbWV0cmljcy1zdGF0dXNlcyI+CiAgICAgICAgICA8dmFhZGluLXNwbGl0LWxheW91dCB2ZXJ0aWNhbCBpZD0iaHlwZXJwYXJhbWV0ZXJzLW1ldHJpY3MiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIGh5cGVycGFyYW1ldGVycyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+SHlwZXJwYXJhbWV0ZXJzPC9kaXY+CiAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0ie3tfaHBhcmFtc319IiBhcz0iaHBhcmFtIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhwYXJhbSI+CiAgICAgICAgICAgICAgICAgIDxwYXBlci1jaGVja2JveCBjaGVja2VkPSJ7e2hwYXJhbS5kaXNwbGF5ZWR9fSIgY2xhc3M9ImhwYXJhbS1jaGVja2JveCI+CiAgICAgICAgICAgICAgICAgICAgW1tfaHBhcmFtTmFtZShocGFyYW0uaW5mbyldXQogICAgICAgICAgICAgICAgICA8L3BhcGVyLWNoZWNrYm94PgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tocGFyYW0uZmlsdGVyLmRvbWFpbkRpc2NyZXRlXV0iPgogICAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbaHBhcmFtLmZpbHRlci5kb21haW5EaXNjcmV0ZV1dIj4KICAgICAgICAgICAgICAgICAgICAgIDxwYXBlci1jaGVja2JveCBjaGVja2VkPSJ7e2l0ZW0uY2hlY2tlZH19IiBjbGFzcz0iZGlzY3JldGUtdmFsdWUtY2hlY2tib3giIG9uLWNoYW5nZT0iX3F1ZXJ5U2VydmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgW1tfcHJldHR5UHJpbnQoaXRlbS52YWx1ZSldXQogICAgICAgICAgICAgICAgICAgICAgPC9wYXBlci1jaGVja2JveD4KICAgICAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2hwYXJhbS5maWx0ZXIuaW50ZXJ2YWxdXSI+CiAgICAgICAgICAgICAgICAgICAgPHBhcGVyLWlucHV0IGxhYmVsPSJNaW4iIHZhbHVlPSJ7e2hwYXJhbS5maWx0ZXIuaW50ZXJ2YWwubWluLnZhbHVlfX0iIGFsbG93ZWRfcGF0dGVybj0iWzAtOS5lXC1dIiBvbi12YWx1ZS1jaGFuZ2VkPSJfcXVlcnlTZXJ2ZXIiIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiIGludmFsaWQ9IltbaHBhcmFtLmZpbHRlci5pbnRlcnZhbC5taW4uaW52YWxpZF1dIiBwbGFjZWhvbGRlcj0iLWluZmluaXR5Ij4KICAgICAgICAgICAgICAgICAgICA8L3BhcGVyLWlucHV0PgogICAgICAgICAgICAgICAgICAgIDxwYXBlci1pbnB1dCBsYWJlbD0iTWF4IiB2YWx1ZT0ie3tocGFyYW0uZmlsdGVyLmludGVydmFsLm1heC52YWx1ZX19IiBhbGxvd2VkX3BhdHRlcm49IlswLTkuZVwtXSIgb24tdmFsdWUtY2hhbmdlZD0iX3F1ZXJ5U2VydmVyIiBlcnJvci1tZXNzYWdlPSJJbnZhbGlkIGlucHV0IiBpbnZhbGlkPSJbW2hwYXJhbS5maWx0ZXIuaW50ZXJ2YWwubWF4LmludmFsaWRdXSIgcGxhY2Vob2xkZXI9IitpbmZpbml0eSI+CiAgICAgICAgICAgICAgICAgICAgPC9wYXBlci1pbnB1dD4KICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tocGFyYW0uZmlsdGVyLnJlZ2V4cF1dIj4KICAgICAgICAgICAgICAgICAgICA8cGFwZXItaW5wdXQgbGFiZWw9IlJlZ3VsYXIgZXhwcmVzc2lvbiIgdmFsdWU9Int7aHBhcmFtLmZpbHRlci5yZWdleHB9fSIgb24tdmFsdWUtY2hhbmdlZD0iX3F1ZXJ5U2VydmVyIj4KICAgICAgICAgICAgICAgICAgICA8L3BhcGVyLWlucHV0PgogICAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24gbWV0cmljcyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TWV0cmljczwvZGl2PgogICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9Int7X21ldHJpY3N9fSIgYXM9Im1ldHJpYyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMiPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgPHBhcGVyLWNoZWNrYm94IGNoZWNrZWQ9Int7bWV0cmljLmRpc3BsYXllZH19IiBjbGFzcz0ibWV0cmljLWNoZWNrYm94Ij4KICAgICAgICAgICAgICAgICAgICBbW19tZXRyaWNOYW1lKG1ldHJpYy5pbmZvKV1dCiAgICAgICAgICAgICAgICAgIDwvcGFwZXItY2hlY2tib3g+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGluZS1lbGVtZW50Ij4KICAgICAgICAgICAgICAgICAgICA8cGFwZXItaW5wdXQgbGFiZWw9Ik1pbiIgdmFsdWU9Int7bWV0cmljLmZpbHRlci5pbnRlcnZhbC5taW4udmFsdWV9fSIgYWxsb3dlZC1wYXR0ZXJuPSJbMC05LmVcLV0iIG9uLXZhbHVlLWNoYW5nZWQ9Il9xdWVyeVNlcnZlciIgZXJyb3ItbWVzc2FnZT0iSW52YWxpZCBpbnB1dCIgaW52YWxpZD0ie3ttZXRyaWMuZmlsdGVyLmludGVydmFsLm1pbi5pbnZhbGlkfX0iIHBsYWNlaG9sZGVyPSItaW5maW5pdHkiPgogICAgICAgICAgICAgICAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmUtZWxlbWVudCI+CiAgICAgICAgICAgICAgICAgICAgPHBhcGVyLWlucHV0IGxhYmVsPSJNYXgiIGFsbG93ZWQtcGF0dGVybj0iWzAtOS5lXC1dIiB2YWx1ZT0ie3ttZXRyaWMuZmlsdGVyLmludGVydmFsLm1heC52YWx1ZX19IiBvbi12YWx1ZS1jaGFuZ2VkPSJfcXVlcnlTZXJ2ZXIiIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiIGludmFsaWQ9Int7bWV0cmljLmZpbHRlci5pbnRlcnZhbC5tYXguaW52YWxpZH19IiBwbGFjZWhvbGRlcj0iK2luZmluaXR5Ij4KICAgICAgICAgICAgICAgICAgICA8L3BhcGVyLWlucHV0PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC92YWFkaW4tc3BsaXQtbGF5b3V0PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiBzdGF0dXMiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TdGF0dXM8L2Rpdj4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfc3RhdHVzZXNdXSIgYXM9InN0YXR1cyI+CiAgICAgICAgICAgICAgPHBhcGVyLWNoZWNrYm94IGNoZWNrZWQ9Int7c3RhdHVzLmFsbG93ZWR9fSIgb24tY2hhbmdlPSJfcXVlcnlTZXJ2ZXIiPgogICAgICAgICAgICAgICAgW1tzdGF0dXMuZGlzcGxheU5hbWVdXQogICAgICAgICAgICAgIDwvcGFwZXItY2hlY2tib3g+CiAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3ZhYWRpbi1zcGxpdC1sYXlvdXQ+CiAgICAgICAgPHZhYWRpbi1zcGxpdC1sYXlvdXQgdmVydGljYWwgaWQ9InNvcnRpbmctcGFnaW5nIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24gc29ydGluZyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlNvcnRpbmc8L2Rpdj4KICAgICAgICAgICAgPHBhcGVyLWRyb3Bkb3duLW1lbnUgbGFiZWw9IlNvcnQgYnkiIG9uLXNlbGVjdGVkLWl0ZW0tY2hhbmdlZD0iX3F1ZXJ5U2VydmVyIiBob3Jpem9udGFsLWFsaWduPSJsZWZ0Ij4KICAgICAgICAgICAgICA8cGFwZXItbGlzdGJveCBjbGFzcz0iZHJvcGRvd24tY29udGVudCIgc2xvdD0iZHJvcGRvd24tY29udGVudCIgc2VsZWN0ZWQ9Int7X3NvcnRCeUluZGV4fX0iIG9uLXNlbGVjdGVkLWl0ZW0tY2hhbmdlZD0iX3F1ZXJ5U2VydmVyIj4KICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX2hwYXJhbXNdXSIgYXM9ImhwYXJhbSI+CiAgICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPgogICAgICAgICAgICAgICAgICAgIFtbX2hwYXJhbU5hbWUoaHBhcmFtLmluZm8pXV0KICAgICAgICAgICAgICAgICAgPC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX21ldHJpY3NdXSIgYXM9Im1ldHJpYyI+CiAgICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPgogICAgICAgICAgICAgICAgICAgIFtbX21ldHJpY05hbWUobWV0cmljLmluZm8pXV0KICAgICAgICAgICAgICAgICAgPC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgICAgIDwvcGFwZXItZHJvcGRvd24tbWVudT4KICAgICAgICAgICAgPHBhcGVyLWRyb3Bkb3duLW1lbnUgbGFiZWw9IkRpcmVjdGlvbiIgb24tc2VsZWN0ZWQtaXRlbS1jaGFuZ2VkPSJfcXVlcnlTZXJ2ZXIiIGhvcml6b250YWwtYWxpZ249ImxlZnQiPgogICAgICAgICAgICAgIDxwYXBlci1saXN0Ym94IGNsYXNzPSJkcm9wZG93bi1jb250ZW50IiBzbG90PSJkcm9wZG93bi1jb250ZW50IiBzZWxlY3RlZD0ie3tfc29ydERpcmVjdGlvbn19Ij4KICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPkFzY2VuZGluZzwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPkRlc2NlbmRpbmc8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDx2YWFkaW4tc3BsaXQtbGF5b3V0IHZlcnRpY2FsIGlkPSJwYWdpbmctZG93bmxvYWQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIHBhZ2luZyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UGFnaW5nPC9kaXY+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIE51bWJlciBvZiBtYXRjaGluZyBzZXNzaW9uIGdyb3VwczoKICAgICAgICAgICAgICAgIFtbX3RvdGFsU2Vzc2lvbkdyb3Vwc0NvdW50U3RyXV0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmUtZWxlbWVudCBwYWdlLW51bWJlci1pbnB1dCI+CiAgICAgICAgICAgICAgICA8cGFwZXItaW5wdXQgbGFiZWw9IlBhZ2UgIyIgdmFsdWU9Int7X3BhZ2VOdW1iZXJJbnB1dC52YWx1ZX19IiBhbGxvd2VkLXBhdHRlcm49IlswLTldIiBlcnJvci1tZXNzYWdlPSJJbnZhbGlkIGlucHV0IiBpbnZhbGlkPSJbW19wYWdlTnVtYmVySW5wdXQuaW52YWxpZF1dIiBvbi12YWx1ZS1jaGFuZ2VkPSJfcXVlcnlTZXJ2ZXIiPgogICAgICAgICAgICAgICAgICA8ZGl2IHNsb3Q9InN1ZmZpeCIgY2xhc3M9InBhZ2Utc3VmZml4Ij4KICAgICAgICAgICAgICAgICAgICAvIFtbX3BhZ2VDb3VudFN0cl1dCiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9wYXBlci1pbnB1dD4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmUtZWxlbWVudCBwYWdlLXNpemUtaW5wdXQiPgogICAgICAgICAgICAgICAgPHBhcGVyLWlucHV0IGxhYmVsPSJNYXggIyBvZiBzZXNzaW9uIGdyb3VwcyBwZXIgcGFnZToiIHZhbHVlPSJ7e19wYWdlU2l6ZUlucHV0LnZhbHVlfX0iIGFsbG93ZWQtcGF0dGVybj0iWzAtOV0iIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiIGludmFsaWQ9IltbX3BhZ2VTaXplSW5wdXQuaW52YWxpZF1dIiBvbi12YWx1ZS1jaGFuZ2VkPSJfcXVlcnlTZXJ2ZXIiPgogICAgICAgICAgICAgICAgPC9wYXBlci1pbnB1dD4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24gZG93bmxvYWQiPgogICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc2Vzc2lvbkdyb3Vwc1JlcXVlc3RdXSI+CiAgICAgICAgICAgICAgICBEb3dubG9hZCBkYXRhIGFzCiAgICAgICAgICAgICAgICA8c3Bhbj4KICAgICAgICAgICAgICAgICAgPGEgaWQ9ImNzdkxpbmsiIGRvd25sb2FkPSJocGFyYW1zX3RhYmxlLmNzdiIgaHJlZj0iW1tfY3N2VXJsKF9zZXNzaW9uR3JvdXBzUmVxdWVzdCwgY29uZmlndXJhdGlvbildXSI+Q1NWPC9hPgogICAgICAgICAgICAgICAgICA8YSBpZD0ianNvbkxpbmsiIGRvd25sb2FkPSJocGFyYW1zX3RhYmxlLmpzb24iIGhyZWY9IltbX2pzb25VcmwoX3Nlc3Npb25Hcm91cHNSZXF1ZXN0LCBjb25maWd1cmF0aW9uKV1dIj5KU09OPC9hPgogICAgICAgICAgICAgICAgICA8YSBpZD0ibGF0ZXhMaW5rIiBkb3dubG9hZD0iaHBhcmFtc190YWJsZS50ZXgiIGhyZWY9IltbX2xhdGV4VXJsKF9zZXNzaW9uR3JvdXBzUmVxdWVzdCwgY29uZmlndXJhdGlvbildXSI+TGFUZVg8L2E+CiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3ZhYWRpbi1zcGxpdC1sYXlvdXQ+CiAgICAgICAgPC92YWFkaW4tc3BsaXQtbGF5b3V0PgogICAgICA8L3ZhYWRpbi1zcGxpdC1sYXlvdXQ+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgLnBhbmUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgICAgLnNlY3Rpb24gewogICAgICAgIG1hcmdpbjogNXB4IDEwcHggNXB4IDEwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4OwogICAgICB9CiAgICAgICNoeXBlcnBhcmFtZXRlcnMtbWV0cmljcy1zdGF0dXNlcyB7CiAgICAgICAgZmxleC1iYXNpczogNzAlOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQogICAgICAjaHlwZXJwYXJhbWV0ZXJzLW1ldHJpY3MgewogICAgICAgIGZsZXgtYmFzaXM6IDkwJTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgIH0KICAgICAgLmh5cGVycGFyYW1ldGVycyB7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgIH0KICAgICAgLm1ldHJpY3MgewogICAgICAgIGZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICB9CiAgICAgIC5zdGF0dXNlcyB7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgIH0KICAgICAgI3NvcnRpbmctcGFnaW5nIHsKICAgICAgICBmbGV4LWJhc2lzOiAzMCU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICB9CiAgICAgICNwYWdpbmctZG93bmxvYWQgewogICAgICAgIGZsZXgtYmFzaXM6IDkwJTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgIH0KICAgICAgLnNvcnRpbmcgewogICAgICAgIGZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICB9CiAgICAgIC5wYWdpbmcgewogICAgICAgIGZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICB9CiAgICAgIC5kb3dubG9hZCB7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgIH0KICAgICAgLmRpc2NyZXRlLXZhbHVlLWNoZWNrYm94LAogICAgICAubWV0cmljLWNoZWNrYm94LAogICAgICAuaHBhcmFtLWNoZWNrYm94IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICAuZGlzY3JldGUtdmFsdWUtY2hlY2tib3ggewogICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OwogICAgICB9CiAgICAgIC5ocGFyYW0sCiAgICAgIC5tZXRyaWMgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIC5pbmxpbmUtZWxlbWVudCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHdpZHRoOiA0MCU7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgICAgIH0KICAgICAgLnBhZ2UtbnVtYmVyLWlucHV0IHsKICAgICAgICB3aWR0aDogMjAlOwogICAgICB9CiAgICAgIC5wYWdlLXNpemUtaW5wdXQgewogICAgICAgIHdpZHRoOiA2MCU7CiAgICAgIH0KICAgICAgdmFhZGluLXNwbGl0LWxheW91dCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICAgIHBhcGVyLWxpc3Rib3ggewogICAgICAgIG1heC1oZWlnaHQ6IDE1ZW07CiAgICAgIH0KICAgICAgLnBhZ2Utc3VmZml4IHsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0iaXJvbi1wYWdlcyI+CgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICA6aG9zdCA+IDo6c2xvdHRlZCg6bm90KHNsb3QpOm5vdCguaXJvbi1zZWxlY3RlZCkpIHsKICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPHNsb3Q+PC9zbG90PgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLWhlYWRlci1wYW5lbCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXZlcnRpY2FsOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaGVhZGVyLXBhbmVsOwogICAgICB9CgogICAgICAjbWFpbkNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsKICAgICAgfQoKICAgICAgI21haW5QYW5lbCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXZlcnRpY2FsOwogICAgICAgIEBhcHBseSAtLWxheW91dC1mbGV4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWhlYWRlci1wYW5lbC1ib2R5OwogICAgICB9CgogICAgICAjbWFpbkNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaGVhZGVyLXBhbmVsLWNvbnRhaW5lcjsKICAgICAgfQoKICAgICAgLyoKICAgICAgICogbW9kZTogc2Nyb2xsCiAgICAgICAqLwogICAgICA6aG9zdChbbW9kZT1zY3JvbGxdKSAjbWFpbkNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaGVhZGVyLXBhbmVsLXNjcm9sbC1jb250YWluZXI7CiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICAgIH0KCiAgICAgIDpob3N0KFttb2RlPXNjcm9sbF0pIHsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgICAgIH0KCiAgICAgIC8qCiAgICAgICAqIG1vZGU6IGNvdmVyCiAgICAgICAqLwogICAgICA6aG9zdChbbW9kZT1jb3Zlcl0pICNtYWluQ29udGFpbmVyIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1oZWFkZXItcGFuZWwtY292ZXItY29udGFpbmVyOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH0KCiAgICAgIDpob3N0KFttb2RlPWNvdmVyXSkgI21haW5QYW5lbCB7CiAgICAgICAgcG9zaXRpb246IHN0YXRpYzsKICAgICAgfQoKICAgICAgLyoKICAgICAgICogbW9kZTogc3RhbmRhcmQKICAgICAgICovCiAgICAgIDpob3N0KFttb2RlPXN0YW5kYXJkXSkgI21haW5Db250YWluZXIgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWhlYWRlci1wYW5lbC1zdGFuZGFyZC1jb250YWluZXI7CiAgICAgIH0KCiAgICAgIC8qCiAgICAgICAqIG1vZGU6IHNlYW1lZAogICAgICAgKi8KICAgICAgOmhvc3QoW21vZGU9c2VhbWVkXSkgI21haW5Db250YWluZXIgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWhlYWRlci1wYW5lbC1zZWFtZWQtY29udGFpbmVyOwogICAgICB9CgoKICAgICAgLyoKICAgICAgICogbW9kZTogd2F0ZXJmYWxsCiAgICAgICAqLwogICAgICA6aG9zdChbbW9kZT13YXRlcmZhbGxdKSAjbWFpbkNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaGVhZGVyLXBhbmVsLXdhdGVyZmFsbC1jb250YWluZXI7CiAgICAgIH0KCiAgICAgIC8qCiAgICAgICAqIG1vZGU6IHdhdGVyZmFsbC10YWxsCiAgICAgICAqLwogICAgICA6aG9zdChbbW9kZT13YXRlcmZhbGwtdGFsbF0pICNtYWluQ29udGFpbmVyIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1oZWFkZXItcGFuZWwtd2F0ZXJmYWxsLXRhbGwtY29udGFpbmVyOwogICAgICB9CgogICAgICAjZHJvcFNoYWRvdyB7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzOwogICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCA1cHggNnB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWhlYWRlci1wYW5lbC1zaGFkb3c7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgICNkcm9wU2hhZG93Lmhhcy1zaGFkb3cgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgICNtYWluQ29udGFpbmVyID4gOjpzbG90dGVkKC5maXQpIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0OwogICAgICB9CgogICAgPC9zdHlsZT4KCiAgICA8c2xvdCBpZD0iaGVhZGVyU2xvdCIgbmFtZT0iaGVhZGVyIj48L3Nsb3Q+CgogICAgPGRpdiBpZD0ibWFpblBhbmVsIj4KICAgICAgPGRpdiBpZD0ibWFpbkNvbnRhaW5lciIgY2xhc3MkPSJbW19jb21wdXRlTWFpbkNvbnRhaW5lckNsYXNzKG1vZGUpXV0iPgogICAgICAgIDxzbG90Pjwvc2xvdD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgaWQ9ImRyb3BTaGFkb3ciPjwvZGl2PgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0icGFwZXItdGFiIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaW5saW5lOwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXI7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlci1qdXN0aWZpZWQ7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXgtYXV0bzsKCiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIEBhcHBseSAtLXBhcGVyLXRhYjsKICAgICAgfQoKICAgICAgOmhvc3QoOmZvY3VzKSB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2xpbmtdKSB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLnRhYi1jb250ZW50IHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGN1YmljLWJlemllcigwLjQsIDAuMCwgMSwgMSk7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWw7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlci1jZW50ZXI7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXgtYXV0bzsKICAgICAgICBAYXBwbHkgLS1wYXBlci10YWItY29udGVudDsKICAgICAgfQoKICAgICAgOmhvc3QoOm5vdCguaXJvbi1zZWxlY3RlZCkpID4gLnRhYi1jb250ZW50IHsKICAgICAgICBvcGFjaXR5OiAwLjg7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLXRhYi1jb250ZW50LXVuc2VsZWN0ZWQ7CiAgICAgIH0KCiAgICAgIDpob3N0KDpmb2N1cykgLnRhYi1jb250ZW50IHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgIH0KCiAgICAgIHBhcGVyLXJpcHBsZSB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLXRhYi1pbmssIHZhcigtLXBhcGVyLXllbGxvdy1hMTAwKSk7CiAgICAgIH0KCiAgICAgIC50YWItY29udGVudCA+IDo6c2xvdHRlZChhKSB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXgtYXV0bzsKCiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij4KICAgICAgPHNsb3Q+PC9zbG90PgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48aXJvbi1pY29uc2V0LXN2ZyBuYW1lPSJwYXBlci10YWJzIiBzaXplPSIyNCI+Cjxzdmc+PGRlZnM+CjxnIGlkPSJjaGV2cm9uLWxlZnQiPjxwYXRoIGQ9Ik0xNS40MSA3LjQxTDE0IDZsLTYgNiA2IDYgMS40MS0xLjQxTDEwLjgzIDEyeiIgLz48L2c+CjxnIGlkPSJjaGV2cm9uLXJpZ2h0Ij48cGF0aCBkPSJNMTAgNkw4LjU5IDcuNDEgMTMuMTcgMTJsLTQuNTggNC41OUwxMCAxOGw2LTZ6IiAvPjwvZz4KPC9kZWZzPjwvc3ZnPgo8L2lyb24taWNvbnNldC1zdmc+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXRhYnMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIEBhcHBseSAtLWxheW91dDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyOwoKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwoKICAgICAgICAvKiBOT1RFOiBCb3RoIHZhbHVlcyBhcmUgbmVlZGVkLCBzaW5jZSBzb21lIHBob25lcyByZXF1aXJlIHRoZSB2YWx1ZSB0byBiZSBgdHJhbnNwYXJlbnRgLiAqLwogICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OwoKICAgICAgICBAYXBwbHkgLS1wYXBlci10YWJzOwogICAgICB9CgogICAgICA6aG9zdCg6ZGlyKHJ0bCkpIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaG9yaXpvbnRhbC1yZXZlcnNlOwogICAgICB9CgogICAgICAjdGFic0NvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXgtYXV0bzsKICAgICAgICBAYXBwbHkgLS1wYXBlci10YWJzLWNvbnRhaW5lcjsKICAgICAgfQoKICAgICAgI3RhYnNDb250ZW50IHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgLW1vei1mbGV4LWJhc2lzOiBhdXRvOwogICAgICAgIC1tcy1mbGV4LWJhc2lzOiBhdXRvOwogICAgICAgIGZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdGFicy1jb250ZW50OwogICAgICB9CgogICAgICAjdGFic0NvbnRlbnQuc2Nyb2xsYWJsZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgICN0YWJzQ29udGVudDpub3QoLnNjcm9sbGFibGUpLAogICAgICAjdGFic0NvbnRlbnQuc2Nyb2xsYWJsZS5maXQtY29udGFpbmVyIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaG9yaXpvbnRhbDsKICAgICAgfQoKICAgICAgI3RhYnNDb250ZW50LnNjcm9sbGFibGUuZml0LWNvbnRhaW5lciB7CiAgICAgICAgbWluLXdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAjdGFic0NvbnRlbnQuc2Nyb2xsYWJsZS5maXQtY29udGFpbmVyID4gOjpzbG90dGVkKCopIHsKICAgICAgICAvKiBJRSAtIHByZXZlbnQgdGFicyBmcm9tIGNvbXByZXNzaW5nIHdoZW4gdGhleSBzaG91bGQgc2Nyb2xsLiAqLwogICAgICAgIC1tcy1mbGV4OiAxIDAgYXV0bzsKICAgICAgICAtd2Via2l0LWZsZXg6IDEgMCBhdXRvOwogICAgICAgIGZsZXg6IDEgMCBhdXRvOwogICAgICB9CgogICAgICAuaGlkZGVuIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAubm90LXZpc2libGUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICBwYXBlci1pY29uLWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgbWFyZ2luOiAwIDRweDsKICAgICAgfQoKICAgICAgI3NlbGVjdGlvbkJhciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tcGFwZXItdGFicy1zZWxlY3Rpb24tYmFyLWNvbG9yLCB2YXIoLS1wYXBlci15ZWxsb3ctYTEwMCkpOwogICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOwogICAgICAgICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm07CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci10YWJzLXNlbGVjdGlvbi1iYXI7CiAgICAgIH0KCiAgICAgICNzZWxlY3Rpb25CYXIuYWxpZ24tYm90dG9tIHsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiBhdXRvOwogICAgICB9CgogICAgICAjc2VsZWN0aW9uQmFyLmV4cGFuZCB7CiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7CiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAuMCwgMSwgMSk7CiAgICAgIH0KCiAgICAgICNzZWxlY3Rpb25CYXIuY29udHJhY3QgewogICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMThzOwogICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgICN0YWJzQ29udGVudCA+IDo6c2xvdHRlZCg6bm90KCNzZWxlY3Rpb25CYXIpKSB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxwYXBlci1pY29uLWJ1dHRvbiBpY29uPSJwYXBlci10YWJzOmNoZXZyb24tbGVmdCIgY2xhc3MkPSJbW19jb21wdXRlU2Nyb2xsQnV0dG9uQ2xhc3MoX2xlZnRIaWRkZW4sIHNjcm9sbGFibGUsIGhpZGVTY3JvbGxCdXR0b25zKV1dIiBvbi11cD0iX29uU2Nyb2xsQnV0dG9uVXAiIG9uLWRvd249Il9vbkxlZnRTY3JvbGxCdXR0b25Eb3duIiB0YWJpbmRleD0iLTEiPjwvcGFwZXItaWNvbi1idXR0b24+CgogICAgPGRpdiBpZD0idGFic0NvbnRhaW5lciIgb24tdHJhY2s9Il9zY3JvbGwiIG9uLWRvd249Il9kb3duIj4KICAgICAgPGRpdiBpZD0idGFic0NvbnRlbnQiIGNsYXNzJD0iW1tfY29tcHV0ZVRhYnNDb250ZW50Q2xhc3Moc2Nyb2xsYWJsZSwgZml0Q29udGFpbmVyKV1dIj4KICAgICAgICA8ZGl2IGlkPSJzZWxlY3Rpb25CYXIiIGNsYXNzJD0iW1tfY29tcHV0ZVNlbGVjdGlvbkJhckNsYXNzKG5vQmFyLCBhbGlnbkJvdHRvbSldXSIgb24tdHJhbnNpdGlvbmVuZD0iX29uQmFyVHJhbnNpdGlvbkVuZCI+PC9kaXY+CiAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxwYXBlci1pY29uLWJ1dHRvbiBpY29uPSJwYXBlci10YWJzOmNoZXZyb24tcmlnaHQiIGNsYXNzJD0iW1tfY29tcHV0ZVNjcm9sbEJ1dHRvbkNsYXNzKF9yaWdodEhpZGRlbiwgc2Nyb2xsYWJsZSwgaGlkZVNjcm9sbEJ1dHRvbnMpXV0iIG9uLXVwPSJfb25TY3JvbGxCdXR0b25VcCIgb24tZG93bj0iX29uUmlnaHRTY3JvbGxCdXR0b25Eb3duIiB0YWJpbmRleD0iLTEiPjwvcGFwZXItaWNvbi1idXR0b24+CgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InBhcGVyLXRvb2xiYXIiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLWhlaWdodDogdmFyKC0tcGFwZXItdG9vbGJhci1oZWlnaHQsIDY0cHgpOwogICAgICAgIC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLXNtLWhlaWdodDogdmFyKC0tcGFwZXItdG9vbGJhci1zbS1oZWlnaHQsIDU2cHgpOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBoZWlnaHQ6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItdG9vbGJhci1oZWlnaHQpOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLXRvb2xiYXItYmFja2dyb3VuZCwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci10b29sYmFyLWNvbG9yLCB2YXIoLS1kYXJrLXRoZW1lLXRleHQtY29sb3IpKTsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sYmFyOwogICAgICB9CgogICAgICA6aG9zdCguYW5pbWF0ZSkgewogICAgICAgIHRyYW5zaXRpb246IHZhcigtLXBhcGVyLXRvb2xiYXItdHJhbnNpdGlvbiwgaGVpZ2h0IDAuMThzIGVhc2UtaW4pOwogICAgICB9CgogICAgICA6aG9zdCgubWVkaXVtLXRhbGwpIHsKICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLWhlaWdodCkgKiAyKTsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sYmFyLW1lZGl1bTsKICAgICAgfQoKICAgICAgOmhvc3QoLnRhbGwpIHsKICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLWhlaWdodCkgKiAzKTsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sYmFyLXRhbGw7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLXRvb2xzIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgaGVpZ2h0OiB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXRvb2xiYXItaGVpZ2h0KTsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWw7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlcjsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sYmFyLWNvbnRlbnQ7CiAgICAgIH0KCiAgICAgIC8qCiAgICAgICAqIFRPRE86IFdoZXJlIHNob3VsZCBtZWRpYSBxdWVyeSBicmVha3BvaW50cyBsaXZlIHNvIHRoZXkgY2FuIGJlIHNoYXJlZCBiZXR3ZWVuIGVsZW1lbnRzPwogICAgICAgKi8KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkgewogICAgICAgIDpob3N0IHsKICAgICAgICAgIGhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLXNtLWhlaWdodCk7CiAgICAgICAgfQoKICAgICAgICA6aG9zdCgubWVkaXVtLXRhbGwpIHsKICAgICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXRvb2xiYXItc20taGVpZ2h0KSAqIDIpOwogICAgICAgIH0KCiAgICAgICAgOmhvc3QoLnRhbGwpIHsKICAgICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXRvb2xiYXItc20taGVpZ2h0KSAqIDMpOwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItdG9vbHMgewogICAgICAgICAgaGVpZ2h0OiB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXRvb2xiYXItc20taGVpZ2h0KTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgICN0b3BCYXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLyogbWlkZGxlIGJhciAqLwogICAgICAjbWlkZGxlQmFyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH0KCiAgICAgIDpob3N0KC50YWxsKSAjbWlkZGxlQmFyLAogICAgICA6aG9zdCgubWVkaXVtLXRhbGwpICNtaWRkbGVCYXIgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsKICAgICAgfQoKICAgICAgLyogYm90dG9tIGJhciAqLwogICAgICAjYm90dG9tQmFyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH0KCiAgICAgIC8qCiAgICAgICAqIG1ha2UgZWxlbWVudHMgKGUuZy4gYnV0dG9ucykgcmVzcG9uZCB0byBtb3VzZS90b3VjaCBldmVudHMKICAgICAgICoKICAgICAgICogYC50b29sYmFyLXRvb2xzYCBkaXNhYmxlcyB0b3VjaCBldmVudHMgc28gbXVsdGlwbGUgdG9vbGJhcnMgY2FuIHN0YWNrIGFuZCBub3QKICAgICAgICogYWJzb3JiIGV2ZW50cy4gQWxsIGNoaWxkcmVuIG11c3QgaGF2ZSBwb2ludGVyIGV2ZW50cyByZS1lbmFibGVkIHRvIHdvcmsgYXMKICAgICAgICogZXhwZWN0ZWQuCiAgICAgICAqLwogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZCgqOm5vdChbZGlzYWJsZWRdKSkgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CgogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZCgudGl0bGUpIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZmxleDsKICAgICAgfQoKICAgICAgLnRvb2xiYXItdG9vbHMgPiA6OnNsb3R0ZWQoLnRpdGxlKSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDU2cHg7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLXRvb2xzID4gOjpzbG90dGVkKHBhcGVyLWljb24tYnV0dG9uICsgLnRpdGxlKSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBUaGUgLS1wYXBlci10b29sYmFyLXRpdGxlIG1peGluIGlzIGFwcGxpZWQgaGVyZSBpbnN0ZWFkIG9mIGFib3ZlIHRvCiAgICAgICAqIGZpeCB0aGUgaXNzdWUgd2l0aCBtYXJnaW4tbGVmdCBiZWluZyBpZ25vcmVkIGR1ZSB0byBjc3Mgb3JkZXJpbmcuCiAgICAgICAqLwogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZCgudGl0bGUpIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sYmFyLXRpdGxlOwogICAgICB9CgogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZChwYXBlci1pY29uLWJ1dHRvbltpY29uPW1lbnVdKSB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OwogICAgICB9CgogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZCguZml0KSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogYXV0bzsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC8qIFRPRE8obm9tcyk6IFVudGlsIHdlIGhhdmUgYSBiZXR0ZXIgc29sdXRpb24gZm9yIGNsYXNzZXMgdGhhdCBkb24ndCB1c2UKICAgICAgICogL2RlZXAvIGNyZWF0ZSBvdXIgb3duLgogICAgICAgKi8KICAgICAgLnN0YXJ0LWp1c3RpZmllZCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXN0YXJ0LWp1c3RpZmllZDsKICAgICAgfQoKICAgICAgLmNlbnRlci1qdXN0aWZpZWQgewogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXItanVzdGlmaWVkOwogICAgICB9CgogICAgICAuZW5kLWp1c3RpZmllZCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWVuZC1qdXN0aWZpZWQ7CiAgICAgIH0KCiAgICAgIC5hcm91bmQtanVzdGlmaWVkIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtYXJvdW5kLWp1c3RpZmllZDsKICAgICAgfQoKICAgICAgLmp1c3RpZmllZCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWp1c3RpZmllZDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGlkPSJ0b3BCYXIiIGNsYXNzJD0idG9vbGJhci10b29scyBbW19jb21wdXRlQmFyRXh0cmFDbGFzc2VzKGp1c3RpZnkpXV0iPgogICAgICA8c2xvdCBuYW1lPSJ0b3AiPjwvc2xvdD4KICAgIDwvZGl2PgoKICAgIDxkaXYgaWQ9Im1pZGRsZUJhciIgY2xhc3MkPSJ0b29sYmFyLXRvb2xzIFtbX2NvbXB1dGVCYXJFeHRyYUNsYXNzZXMobWlkZGxlSnVzdGlmeSldXSI+CiAgICAgIDxzbG90IG5hbWU9Im1pZGRsZSI+PC9zbG90PgogICAgPC9kaXY+CgogICAgPGRpdiBpZD0iYm90dG9tQmFyIiBjbGFzcyQ9InRvb2xiYXItdG9vbHMgW1tfY29tcHV0ZUJhckV4dHJhQ2xhc3Nlcyhib3R0b21KdXN0aWZ5KV1dIj4KICAgICAgPHNsb3QgbmFtZT0iYm90dG9tIj48L3Nsb3Q+CiAgICA8L2Rpdj4KICA8L3RlbXBsYXRlPgoKICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ0Zi1ocGFyYW1zLXNjYWxlLWFuZC1jb2xvci1jb250cm9scyI+CiAgPHRlbXBsYXRlPgogICAgPGRpdiBjbGFzcz0iY29udHJvbC1wYW5lbCI+CiAgICAgIAogICAgICA8cGFwZXItZHJvcGRvd24tbWVudSBsYWJlbD0iQ29sb3IgYnkiIGlkPSJjb2xvckJ5RHJvcERvd25NZW51IiBob3Jpem9udGFsLWFsaWduPSJsZWZ0Ij4KICAgICAgICA8cGFwZXItbGlzdGJveCBjbGFzcz0iZHJvcGRvd24tY29udGVudCIgc2xvdD0iZHJvcGRvd24tY29udGVudCIgc2VsZWN0ZWQ9Int7b3B0aW9ucy5jb2xvckJ5Q29sdW1uSW5kZXh9fSIgaWQ9ImNvbG9yQnlMaXN0Qm94Ij4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9Iltbb3B0aW9ucy5jb2x1bW5zXV0iIGFzPSJjb2x1bW4iIGlkPSJjb2xvckJ5Q29sdW1uVGVtcGxhdGUiPgogICAgICAgICAgICA8cGFwZXItaXRlbSBkaXNhYmxlZD0iW1shX2lzTnVtZXJpY0NvbHVtbihjb2x1bW4uaW5kZXgpXV0iPgogICAgICAgICAgICAgIFtbY29sdW1uLm5hbWVdXQogICAgICAgICAgICA8L3BhcGVyLWl0ZW0+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvcGFwZXItbGlzdGJveD4KICAgICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgoKICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImNvbHVtbnMtY29udGFpbmVyIj4KICAgICAgICAKICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJ7e29wdGlvbnMuY29sdW1uc319IiBhcz0iY29sdW1uIj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNOdW1lcmljQ29sdW1uKGNvbHVtbi5pbmRleCldXSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbHVtbiI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sdW1uLXRpdGxlIj4KICAgICAgICAgICAgICAgIFtbY29sdW1uLm5hbWVdXQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8cGFwZXItcmFkaW8tZ3JvdXAgY2xhc3M9InNjYWxlLXJhZGlvLWdyb3VwIiBzZWxlY3RlZD0ie3tjb2x1bW4uc2NhbGV9fSI+CiAgICAgICAgICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gbmFtZT0iTElORUFSIj4KICAgICAgICAgICAgICAgICAgICBMaW5lYXIKICAgICAgICAgICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIGlkPSJsb2dTY2FsZUJ1dHRvbl9bW2NvbHVtbi5uYW1lXV0iIG5hbWU9IkxPRyIgZGlzYWJsZWQ9IltbIV9hbGxvd0xvZ1NjYWxlKGNvbHVtbiwgc2Vzc2lvbkdyb3Vwcy4qKV1dIj4KICAgICAgICAgICAgICAgICAgICBMb2dhcml0aG1pYwogICAgICAgICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBuYW1lPSJRVUFOVElMRSI+CiAgICAgICAgICAgICAgICAgICAgUXVhbnRpbGUKICAgICAgICAgICAgICAgICAgPC9wYXBlci1yYWRpby1idXR0b24+CiAgICAgICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWdyb3VwPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICAuY29udHJvbC1wYW5lbCB7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIH0KICAgICAgLmNvbHVtbiB7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICAgIG1hcmdpbi1yaWdodDogNXB4OwogICAgICAgIGJvcmRlcjogc29saWQgMXB4IGRhcmtncmF5OwogICAgICAgIHBhZGRpbmc6IDNweDsKICAgICAgfQogICAgICAuY29sdW1uLXRpdGxlIHsKICAgICAgICAvKiBGaXQgZXZlcnkgdGl0bGUgaW4gb25lIGxpbmUgc28gdGhlIHJhZGlvIGJveGVzIGFsaWduIHZlcnRpY2FsbHkuICovCiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQogICAgICAuY29sdW1ucy1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgfQogICAgICAuc2NhbGUtcmFkaW8tZ3JvdXAgcGFwZXItcmFkaW8tYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAycHg7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KICAgICAgcGFwZXItbGlzdGJveCB7CiAgICAgICAgbWF4LWhlaWdodDogMTVlbTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgoKICAKPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2YWFkaW4tZ3JpZC1hY3RpdmUtaXRlbS10aGVtYWJpbGl0eS1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgdmFhZGluLWdyaWQtdGFibGUgLnZhYWRpbi1ncmlkLXJvd1thY3RpdmVdIC52YWFkaW4tZ3JpZC1jZWxsOm5vdChbZGV0YWlsc2NlbGxdKSA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgICAgQGFwcGx5KC0tdmFhZGluLWdyaWQtYm9keS1yb3ctYWN0aXZlLWNlbGwpOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtdGFibGUtdGFibGUtc2Nyb2xsLXN0eWxlcyI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAjdGFibGUgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgICAgICAgei1pbmRleDogLTI7CiAgICAgIH0KCiAgICAgIHZhYWRpbi1ncmlkLXRhYmxlW2lvc10gI3RhYmxlIHsKICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICAgIH0KCiAgICAgIHZhYWRpbi1ncmlkLXRhYmxlW2ZpeGVkLXNlY3Rpb25zXSAjdGFibGUgewogICAgICAgIHRyYW5zZm9ybTogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InZhYWRpbi1ncmlkLXRhYmxlLXNjcm9sbC1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgdmFhZGluLWdyaWQtdGFibGUgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGUtaGVhZGVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZS1mb290ZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIHZhYWRpbi1ncmlkLXRhYmxlLWJvZHkgewogICAgICAgIHotaW5kZXg6IC0xOwogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZVtmaXhlZC1zZWN0aW9uc10gewogICAgICAgIC8qIEFueSB2YWx1ZSBvdGhlciB0aGFuIOKAmG5vbmXigJkgZm9yIHRoZSB0cmFuc2Zvcm0gcmVzdWx0cyBpbiB0aGUgY3JlYXRpb24gb2YgYm90aCBhIHN0YWNraW5nIGNvbnRleHQgYW5kCiAgICAgICAgYSBjb250YWluaW5nIGJsb2NrLiBUaGUgb2JqZWN0IGFjdHMgYXMgYSBjb250YWluaW5nIGJsb2NrIGZvciBmaXhlZCBwb3NpdGlvbmVkIGRlc2NlbmRhbnRzLiAqLwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZVtmaXhlZC1zZWN0aW9uc10gdmFhZGluLWdyaWQtdGFibGUtaGVhZGVyLAogICAgICB2YWFkaW4tZ3JpZC10YWJsZVtmaXhlZC1zZWN0aW9uc10gdmFhZGluLWdyaWQtdGFibGUtZm9vdGVyIHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgIH0KCiAgICAgIHZhYWRpbi1ncmlkLXRhYmxlW2ZpeGVkLXNlY3Rpb25zXSB2YWFkaW4tZ3JpZC10YWJsZS1ib2R5I2l0ZW1zIHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InZhYWRpbi1ncmlkLXRhYmxlLWNlbGwiPjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtdGFibGUtaGVhZGVyLWNlbGwiPjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtdGFibGUtZm9vdGVyLWNlbGwiPjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtc2l6ZXItY2VsbCI+PC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2YWFkaW4tZ3JpZC1zaXplciI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5jZWxsIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBsaW5lLWhlaWdodDogMDsKICAgICAgICBmb250LXNpemU6IDFweDsKICAgICAgICBtYXJnaW4tdG9wOiAtMWVtOwogICAgICB9CgogICAgICAuY2VsbFtoaWRkZW5dIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX2NvbHVtbnNdXSIgYXM9ImNvbHVtbiI+CiAgICAgIDx2YWFkaW4tZ3JpZC1zaXplci1jZWxsIGNsYXNzPSJjZWxsIiBjb2x1bW49IltbY29sdW1uXV0iPiZuYnNwOzwvdmFhZGluLWdyaWQtc2l6ZXItY2VsbD4KICAgIDwvdGVtcGxhdGU+CgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtdGFibGUtb3V0ZXItc2Nyb2xsZXIiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIH0KCiAgICAgIDpob3N0KFtwYXNzdGhyb3VnaF0pIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2lvc10pIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsOwogICAgICAgIHotaW5kZXg6IC0zOwogICAgICB9CgogICAgICA6aG9zdChbaW9zXVtzY3JvbGxpbmddKSB7CiAgICAgICAgei1pbmRleDogMDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtdGFibGUtZm9jdXMtdHJhcCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgIDpob3N0IHsKICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgIHotaW5kZXg6IC0zOwogICAgICAgaGVpZ2h0OiAwOwogICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICB9CgogICAgIDpob3N0KDpmb2N1cyksCiAgICAgLnByaW1hcnk6Zm9jdXMsCiAgICAgOjpzbG90dGVkKC5wcmltYXJ5OmZvY3VzKSwKICAgICAuc2Vjb25kYXJ5OmZvY3VzLAogICAgIDo6c2xvdHRlZCguc2Vjb25kYXJ5OmZvY3VzKSB7CiAgICAgICBvdXRsaW5lOiBub25lOwogICAgIH0KICAgIDwvc3R5bGU+CgogICAgCiAgICA8ZGl2IGNsYXNzPSJwcmltYXJ5IiB0YWJpbmRleD0iMCIgcm9sZT0iZ3JpZGNlbGwiIG9uLWZvY3VzPSJfb25CYWl0Rm9jdXMiIG9uLWJsdXI9Il9vbkJhaXRCbHVyIj48ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIj4mbmJzcDs8L2Rpdj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNlY29uZGFyeSIgdGFiaW5kZXg9Ii0xIiByb2xlPSJncmlkY2VsbCIgb24tZm9jdXM9Il9vbkJhaXRGb2N1cyIgb24tYmx1cj0iX29uQmFpdEJsdXIiPjxkaXYgYXJpYS1oaWRkZW49InRydWUiPiZuYnNwOzwvZGl2PjwvZGl2PgoKICAgIDxzbG90Pjwvc2xvdD4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InZhYWRpbi1ncmlkLXRhYmxlLXJvdyI+PC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2YWFkaW4tZ3JpZC10YWJsZS1oZWFkZXItcm93Ij48L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InZhYWRpbi1ncmlkLXJvdy1kZXRhaWxzLXN0eWxlcyI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICBbZGV0YWlsc2NlbGxdIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2YWFkaW4tZ3JpZC1yb3ctZGV0YWlscy10aGVtYWJpbGl0eS1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgLnZhYWRpbi1ncmlkLWNlbGxbZGV0YWlsc2NlbGxdIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgICAgIEBhcHBseSgtLXZhYWRpbi1ncmlkLWJvZHktcm93LWRldGFpbHMtY2VsbCk7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2YWFkaW4tZ3JpZC1kYXRhLXByb3ZpZGVyLXRoZW1hYmlsaXR5LXN0eWxlcyI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgoKICAgICAgLyogQW5pbSAqLwogICAgICBAa2V5ZnJhbWVzIHZhYWRpbi1ncmlkLXNwaW4tMzYwIHsKICAgICAgICAxMDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgfQogICAgICB9CiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyB2YWFkaW4tZ3JpZC1zcGluLTM2MCB7CiAgICAgICAgMTAwJSB7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgI3NwaW5uZXIgewogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXByaW1hcnktY29sb3IsICMwM0E5RjQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbnRlbnQ6ICIiOwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7CiAgICAgICAgbWFyZ2luLXRvcDogLThweDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBAYXBwbHkoLS12YWFkaW4tZ3JpZC1sb2FkaW5nLXNwaW5uZXIpOwogICAgICB9CgogICAgICA6aG9zdChbbG9hZGluZ10pICNzcGlubmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiB2YWFkaW4tZ3JpZC1zcGluLTM2MCA0MDBtcyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgYW5pbWF0aW9uOiB2YWFkaW4tZ3JpZC1zcGluLTM2MCA0MDBtcyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtsb2FkaW5nXSkgI2l0ZW1zIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtc2VsZWN0aW9uLXRoZW1hYmlsaXR5LXN0eWxlcyI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICB2YWFkaW4tZ3JpZC10YWJsZSAudmFhZGluLWdyaWQtcm93W3NlbGVjdGVkXSAudmFhZGluLWdyaWQtY2VsbDpub3QoW2RldGFpbHNjZWxsXSkgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLWdyZXktMTAwLCByZ2IoMjQzLCAyNDMsIDI0MykpOwogICAgICAgIEBhcHBseSgtLXZhYWRpbi1ncmlkLWJvZHktcm93LXNlbGVjdGVkLWNlbGwpOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtbmF2aWdhdGlvbi10aGVtYWJpbGl0eS1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QoOmZvY3VzKSwKICAgICAgI3RhYmxlOmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICA6aG9zdChbbmF2aWdhdGluZ106bm90KFtpbnRlcmFjdGluZ10pKSBbZm9jdXNlZF0gPiAudmFhZGluLWdyaWQtcm93W2ZvY3VzZWRdID4gW2ZvY3VzZWRdIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpIHsKICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgICAgIEBhcHBseSgtLXZhYWRpbi1ncmlkLWZvY3VzZWQtY2VsbCk7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2YWFkaW4tZ3JpZC1jb2x1bW4tcmVvcmRlcmluZy10aGVtYWJpbGl0eS1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgdmFhZGluLWdyaWQtdGFibGVbcmVvcmRlcmluZ10gLnZhYWRpbi1ncmlkLWNlbGwgewogICAgICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICAgIH0KCiAgICAgIDpob3N0KFtyZW9yZGVyaW5nXSkgLnZhYWRpbi1ncmlkLWNlbGxbcmVvcmRlci1zdGF0dXM9ImRyYWdnaW5nIl0gewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktY29sb3IsICMwMDApOwogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZVtyZW9yZGVyaW5nXSAudmFhZGluLWdyaWQtY2VsbDpub3QoW2RldGFpbHNjZWxsXSkgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgfQoKICAgICAgI3Njcm9sbGVyIC52YWFkaW4tZ3JpZC1jZWxsW3Jlb3JkZXItc3RhdHVzPSJhbGxvd2VkIl0gOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgICNzY3JvbGxlciAudmFhZGluLWdyaWQtY2VsbFtyZW9yZGVyLXN0YXR1cz0iZHJhZ2dpbmciXSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1jb2xvciwgIzAwMCk7CiAgICAgIH0KCiAgICAgICNzY3JvbGxlciAudmFhZGluLWdyaWQtY2VsbFtyZW9yZGVyLXN0YXR1cz0iZHJhZ2dpbmciXSA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgICAgb3BhY2l0eTogMC45NTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InZhYWRpbi1ncmlkLXRhYmxlLXN0eWxlcyI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgoKICAgICAgQGtleWZyYW1lcyBhcHBlYXIgewogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgfQogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGFuaW1hdGlvbjogMW1zIGFwcGVhcjsKICAgICAgfQoKICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1tYXgtZGV2aWNlLXBpeGVsLXJhdGlvOiAxKSB7CiAgICAgICAgOmhvc3QgewogICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgICNpdGVtcyB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAjaXRlbXMgewogICAgICAgIGJvcmRlci10b3A6IDAgc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgI2l0ZW1zID4gLnZhYWRpbi1ncmlkLXJvdyB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZS1ib2R5IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGUtaGVhZGVyIC52YWFkaW4tZ3JpZC1jZWxsLAogICAgICB2YWFkaW4tZ3JpZC10YWJsZS1mb290ZXIgLnZhYWRpbi1ncmlkLWNlbGwgewogICAgICAgIHRvcDogMDsKICAgICAgfQoKICAgICAgLnZhYWRpbi1ncmlkLWNlbGwgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQoKICAgICAgLnZhYWRpbi1ncmlkLWNlbGw6bm90KFtkZXRhaWxzY2VsbF0pIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC52YWFkaW4tZ3JpZC1jZWxsIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpIHsKICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnZhYWRpbi1ncmlkLWNvbHVtbi1yZXNpemUtaGFuZGxlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGN1cnNvcjogY29sLXJlc2l6ZTsKICAgICAgICB6LWluZGV4OiAxOwogICAgICB9CgogICAgICAudmFhZGluLWdyaWQtY29sdW1uLXJlc2l6ZS1oYW5kbGU6OmJlZm9yZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGNvbnRlbnQ6ICIiOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMzVweDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAgIH0KCiAgICAgIFtsYXN0Y29sdW1uXSAudmFhZGluLWdyaWQtY29sdW1uLXJlc2l6ZS1oYW5kbGU6OmJlZm9yZSwKICAgICAgW2xhc3QtZnJvemVuXSAudmFhZGluLWdyaWQtY29sdW1uLXJlc2l6ZS1oYW5kbGU6OmJlZm9yZSB7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGVbY29sdW1uLXJlb3JkZXJpbmctYWxsb3dlZF0gI2hlYWRlciwKICAgICAgdmFhZGluLWdyaWQtdGFibGVbY29sdW1uLXJlc2l6aW5nXSB7CiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGVbY29sdW1uLXJlc2l6aW5nXSB7CiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplOwogICAgICB9CgogICAgICAudmFhZGluLWdyaWQtcm93Om5vdChbaGlkZGVuXSkgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIFtmcm96ZW5dIHsKICAgICAgICB6LWluZGV4OiAyOwogICAgICB9CgogICAgICBbaGlkZGVuXSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGVbbm8tY29udGVudC1wb2ludGVyLWV2ZW50c10gLnZhYWRpbi1ncmlkLWNlbGwgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtdGFibGUtdGFibGUtc3R5bGVzIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0KFtpb3NdW2NvbHVtbi1yZXNpemluZ10pICNvdXRlcnNjcm9sbGVyIHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAjZml4ZWRzaXplciwKICAgICAgI291dGVyc2l6ZXIgewogICAgICAgIGJvcmRlci10b3A6IDAgc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgI3RhYmxlIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgI3RhYmxlW292ZXJmbG93LWhpZGRlbl0sCiAgICAgICNvdXRlcnNjcm9sbGVyW292ZXJmbG93LWhpZGRlbl0gewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIHZhYWRpbi1ncmlkLXNpemVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNzaXplcndyYXBwZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICB6LWluZGV4OiAtMTAwOwogICAgICB9CgogICAgICAjcmVvcmRlcmdob3N0IHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNvbHVtbiksCiAgICAgIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1zZWxlY3Rpb24tY29sdW1uKSwKICAgICAgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNvbHVtbi1ncm91cCkgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQtdGFibGUtdGhlbWFiaWxpdHktc3R5bGVzIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CgogICAgICAvKiBEZWZhdWx0IGJvcmRlcnMgKi8KICAgICAgdmFhZGluLWdyaWQtdGFibGUtaGVhZGVyIC52YWFkaW4tZ3JpZC1yb3c6bGFzdC1jaGlsZCAudmFhZGluLWdyaWQtY2VsbCA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRpdmlkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wOCkpOwogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZS1mb290ZXIgLnZhYWRpbi1ncmlkLXJvdzpmaXJzdC1jaGlsZCAudmFhZGluLWdyaWQtY2VsbCA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWRpdmlkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wOCkpOwogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZS1ib2R5IC52YWFkaW4tZ3JpZC1yb3c6bm90KFtsYXN0cm93XSkgLnZhYWRpbi1ncmlkLWNlbGwgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1kaXZpZGVyLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMDgpKTsKICAgICAgfQoKICAgICAgW2xhc3QtZnJvemVuXSA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tZGl2aWRlci1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjA4KSk7CiAgICAgIH0KCiAgICAgIC8qIENvbHVtbiByZXNpemUgaGFuZGxlICovCgogICAgICAudmFhZGluLWdyaWQtY29sdW1uLXJlc2l6ZS1oYW5kbGUgewogICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWRpdmlkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wOCkpOwogICAgICAgIEBhcHBseSgtLXZhYWRpbi1ncmlkLWNvbHVtbi1yZXNpemUtaGFuZGxlKTsKICAgICAgfQoKICAgICAgLyogQ2VsbHMgKi8KICAgICAgdmFhZGluLWdyaWQtdGFibGUgLnZhYWRpbi1ncmlkLXJvdyAudmFhZGluLWdyaWQtY2VsbDpub3QoW2RldGFpbHNjZWxsXSkgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBAYXBwbHkoLS12YWFkaW4tZ3JpZC1jZWxsKTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGUtaGVhZGVyIC52YWFkaW4tZ3JpZC1yb3cgLnZhYWRpbi1ncmlkLWNlbGw6bm90KFtkZXRhaWxzY2VsbF0pIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIEBhcHBseSgtLXZhYWRpbi1ncmlkLWhlYWRlci1jZWxsKTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGUtZm9vdGVyIC52YWFkaW4tZ3JpZC1yb3cgLnZhYWRpbi1ncmlkLWNlbGw6bm90KFtkZXRhaWxzY2VsbF0pIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIEBhcHBseSgtLXZhYWRpbi1ncmlkLWZvb3Rlci1jZWxsKTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGUtYm9keSAudmFhZGluLWdyaWQtcm93IC52YWFkaW4tZ3JpZC1jZWxsOm5vdChbZGV0YWlsc2NlbGxdKSA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgICAgQGFwcGx5KC0tdmFhZGluLWdyaWQtYm9keS1jZWxsKTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGUtYm9keSBbb2RkXSAudmFhZGluLWdyaWQtY2VsbDpub3QoW2RldGFpbHNjZWxsXSkgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIEBhcHBseSgtLXZhYWRpbi1ncmlkLWJvZHktcm93LW9kZC1jZWxsKTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGUgLnZhYWRpbi1ncmlkLXJvdyAudmFhZGluLWdyaWQtY2VsbDpub3QoW2RldGFpbHNjZWxsXSlbbGFzdC1mcm96ZW5dIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpIHsKICAgICAgICBAYXBwbHkoLS12YWFkaW4tZ3JpZC1jZWxsLWxhc3QtZnJvemVuKTsKICAgICAgfQoKICAgICAgdmFhZGluLWdyaWQtdGFibGU6bm90KFtzY3JvbGxpbmddKSB2YWFkaW4tZ3JpZC10YWJsZS1ib2R5IC52YWFkaW4tZ3JpZC1yb3c6aG92ZXIgLnZhYWRpbi1ncmlkLWNlbGwgOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIEBhcHBseSgtLXZhYWRpbi1ncmlkLWJvZHktcm93LWhvdmVyLWNlbGwpOwogICAgICB9CgogICAgICB2YWFkaW4tZ3JpZC10YWJsZSAudmFhZGluLWdyaWQtcm93IC52YWFkaW4tZ3JpZC1jZWxsLnZhYWRpbi1ncmlkLWNlbGxbbGFzdGNvbHVtbl0gOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICAgIGJvcmRlci1yaWdodDogbm9uZTsKICAgICAgfQoKICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPjxkb20tbW9kdWxlIGlkPSJ2YWFkaW4tZ3JpZC10YWJsZSI+CiAgPHRlbXBsYXRlPgogICAgICA8c3R5bGUgaW5jbHVkZT0idmFhZGluLWdyaWQtdGFibGUtdGFibGUtc2Nyb2xsLXN0eWxlcyI+PC9zdHlsZT4KICAgICAgPHN0eWxlIGluY2x1ZGU9InZhYWRpbi1ncmlkLXRhYmxlLXRhYmxlLXN0eWxlcyI+PC9zdHlsZT4KCiAgICAgIDxzdHlsZSBpbmNsdWRlPSJ2YWFkaW4tZ3JpZC1kYXRhLXByb3ZpZGVyLXRoZW1hYmlsaXR5LXN0eWxlcyI+PC9zdHlsZT4KCiAgICAgIDxkaXYgaWQ9InNwaW5uZXIiPjwvZGl2PgogICAgICA8ZGl2IGlkPSJ0YWJsZSIgdGFiaW5kZXg9Ii0xIiBvdmVyZmxvdy1oaWRkZW4kPSJbW19oaWRlVGFibGVPdmVyZmxvdyhzY3JvbGxiYXJXaWR0aCwgc2FmYXJpKV1dIj4KICAgICAgICA8ZGl2IGlkPSJzaXplcndyYXBwZXIiPgogICAgICAgICAgPHZhYWRpbi1ncmlkLXNpemVyIGlkPSJmaXhlZHNpemVyIiB0b3A9IltbX2VzdFNjcm9sbEhlaWdodF1dIiBjb2x1bW4tdHJlZT0iW1tjb2x1bW5UcmVlXV0iPjwvdmFhZGluLWdyaWQtc2l6ZXI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPHNsb3QgbmFtZT0iaGVhZGVyIj48L3Nsb3Q+CiAgICAgICAgPHNsb3QgbmFtZT0iaXRlbXMiPjwvc2xvdD4KICAgICAgICA8c2xvdCBuYW1lPSJmb290ZXIiPjwvc2xvdD4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGlkPSJyZW9yZGVyZ2hvc3QiPjwvZGl2PgogICAgICA8dmFhZGluLWdyaWQtdGFibGUtb3V0ZXItc2Nyb2xsZXIgaWQ9Im91dGVyc2Nyb2xsZXIiIHNjcm9sbC10YXJnZXQ9Iltbc2Nyb2xsVGFyZ2V0XV0iIG92ZXJmbG93LWhpZGRlbiQ9IltbX2hpZGVPdXRlclNjcm9sbGVyKHNjcm9sbGJhcldpZHRoLCBzYWZhcmkpXV0iIGlvcyQ9IltbaW9zXV0iIHNjcm9sbGluZyQ9Iltbc2Nyb2xsaW5nXV0iPgogICAgICA8dmFhZGluLWdyaWQtc2l6ZXIgaWQ9Im91dGVyc2l6ZXIiIHRvcD0iW1tfZXN0U2Nyb2xsSGVpZ2h0XV0iIGNvbHVtbi10cmVlPSJbW2NvbHVtblRyZWVdXSI+PC92YWFkaW4tZ3JpZC1zaXplcj4KICAgIDwvdmFhZGluLWdyaWQtdGFibGUtb3V0ZXItc2Nyb2xsZXI+CiAgICA8c2xvdD48L3Nsb3Q+CiAgICA8c2xvdCBuYW1lPSJmb290ZXJGb2N1c1RyYXAiPjwvc2xvdD4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InZhYWRpbi1ncmlkLWNvbHVtbiI+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idmFhZGluLWdyaWQiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogNDAwcHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRpdmlkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wOCkpOwogICAgICB9CgogICAgICA6aG9zdCg6Zm9jdXMpIHsKICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICA6aG9zdCg6Zm9jdXMpIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICAjc2Nyb2xsZXIgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c3R5bGUgaW5jbHVkZT0idmFhZGluLWdyaWQtdGFibGUtc2Nyb2xsLXN0eWxlcyI+PC9zdHlsZT4KICAgIDxzdHlsZSBpbmNsdWRlPSJ2YWFkaW4tZ3JpZC1yb3ctZGV0YWlscy1zdHlsZXMiPjwvc3R5bGU+CiAgICA8c3R5bGUgaW5jbHVkZT0idmFhZGluLWdyaWQtdGFibGUtc3R5bGVzIj48L3N0eWxlPgoKICAgIDxzdHlsZSBpbmNsdWRlPSJ2YWFkaW4tZ3JpZC10YWJsZS10aGVtYWJpbGl0eS1zdHlsZXMiPjwvc3R5bGU+CiAgICA8c3R5bGUgaW5jbHVkZT0idmFhZGluLWdyaWQtc2VsZWN0aW9uLXRoZW1hYmlsaXR5LXN0eWxlcyI+PC9zdHlsZT4KICAgIDxzdHlsZSBpbmNsdWRlPSJ2YWFkaW4tZ3JpZC1uYXZpZ2F0aW9uLXRoZW1hYmlsaXR5LXN0eWxlcyI+PC9zdHlsZT4KICAgIDxzdHlsZSBpbmNsdWRlPSJ2YWFkaW4tZ3JpZC1hY3RpdmUtaXRlbS10aGVtYWJpbGl0eS1zdHlsZXMiPjwvc3R5bGU+CiAgICA8c3R5bGUgaW5jbHVkZT0idmFhZGluLWdyaWQtcm93LWRldGFpbHMtdGhlbWFiaWxpdHktc3R5bGVzIj48L3N0eWxlPgogICAgPHN0eWxlIGluY2x1ZGU9InZhYWRpbi1ncmlkLWNvbHVtbi1yZW9yZGVyaW5nLXRoZW1hYmlsaXR5LXN0eWxlcyI+PC9zdHlsZT4KCiAgICA8dmFhZGluLWdyaWQtdGFibGUgaWQ9InNjcm9sbGVyIiBsb2FkaW5nJD0iW1tfbG9hZGluZ11dIiBiaW5kLWRhdGE9IltbX2JpbmREYXRhXV0iIHNpemU9Iltbc2l6ZV1dIiBjb2x1bW4tdHJlZT0iW1tfY29sdW1uVHJlZV1dIiByb3ctZGV0YWlscy10ZW1wbGF0ZT0iW1tfcm93RGV0YWlsc1RlbXBsYXRlXV0iIGNvbHVtbi1yZW9yZGVyaW5nLWFsbG93ZWQ9IltbY29sdW1uUmVvcmRlcmluZ0FsbG93ZWRdXSI+CiAgICAgIDx2YWFkaW4tZ3JpZC10YWJsZS1oZWFkZXIgaWQ9ImhlYWRlciIgc2xvdD0iaGVhZGVyIiB0YXJnZXQ9IltbX2dldENvbnRlbnRUYXJnZXQoKV1dIiBjb2x1bW4tdHJlZT0iW1tfY29sdW1uVHJlZV1dIj48L3ZhYWRpbi1ncmlkLXRhYmxlLWhlYWRlcj4KICAgICAgPHZhYWRpbi1ncmlkLXRhYmxlLWJvZHkgaWQ9Iml0ZW1zIiBzbG90PSJpdGVtcyI+PC92YWFkaW4tZ3JpZC10YWJsZS1ib2R5PgogICAgICA8dmFhZGluLWdyaWQtdGFibGUtZm9vdGVyIGlkPSJmb290ZXIiIHNsb3Q9ImZvb3RlciIgdGFyZ2V0PSJbW19nZXRDb250ZW50VGFyZ2V0KCldXSIgY29sdW1uLXRyZWU9IltbX2NvbHVtblRyZWVdXSI+PC92YWFkaW4tZ3JpZC10YWJsZS1mb290ZXI+CgogICAgICAKICAgICAgPHNsb3QgbmFtZT0iZm9vdGVyRm9jdXNUcmFwIj48L3Nsb3Q+CgogICAgICAKICAgICAgCiAgICAgIDxzbG90Pjwvc2xvdD4KCiAgICAgIDx2YWFkaW4tZ3JpZC10YWJsZS1mb2N1cy10cmFwIGlkPSJmb290ZXJGb2N1c1RyYXAiIHNsb3Q9ImZvb3RlckZvY3VzVHJhcCIgb24tZm9jdXMtZ2FpbmVkPSJfb25Gb290ZXJGb2N1cyIgb24tZm9jdXMtbG9zdD0iX29uRm9jdXNvdXQiPgogICAgICA8L3ZhYWRpbi1ncmlkLXRhYmxlLWZvY3VzLXRyYXA+CiAgICA8L3ZhYWRpbi1ncmlkLXRhYmxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHMiPgogIDx0ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shc2Vzc2lvbkdyb3VwXV0iPgogICAgICA8ZGl2PgogICAgICAgIDxoMz5ObyBzZXNzaW9uIGdyb3VwIHNlbGVjdGVkPC9oMz4KICAgICAgICA8cD5QbGVhc2Ugc2VsZWN0IGEgc2Vzc2lvbiBncm91cCB0byBzZWUgaXRzIG1ldHJpYy1ncmFwaHMgaGVyZS48L3A+CiAgICAgIDwvZGl2PgogICAgPC90ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2hhdmVNZXRyaWNzKHZpc2libGVTY2hlbWEuKildXSI+CiAgICAgIDxkaXY+CiAgICAgICAgPGgzPk5vIG1ldHJpY3MgYXJlIGVuYWJsZWQ8L2gzPgogICAgICAgIDxwPlBsZWFzZSBlbmFibGUgc29tZSBtZXRyaWNzIHRvIHNlZSBjb250ZW50IGhlcmUuPC9wPgogICAgICA8L2Rpdj4KICAgIDwvdGVtcGxhdGU+CiAgICA8ZGl2IGNsYXNzPSJsYXlvdXQgaG9yaXpvbnRhbCB3cmFwIHNlc3Npb24tZ3JvdXAtZGV0YWlscyI+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGF2ZU1ldHJpY3NBbmRTZXNzaW9uR3JvdXAodmlzaWJsZVNjaGVtYS4qLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb25Hcm91cCldXSI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1t2aXNpYmxlU2NoZW1hLm1ldHJpY0luZm9zXV0iIGFzPSJtZXRyaWNJbmZvIj4KICAgICAgICAgIAogICAgICAgICAgPHRmLXNjYWxhci1jYXJkIGNsYXNzPSJzY2FsYXItY2FyZCIgY29sb3Itc2NhbGU9IltbX2NvbG9yU2NhbGVdXSIgZGF0YS10by1sb2FkPSJbW19jb21wdXRlU2VyaWVzRm9yU2Vzc2lvbkdyb3VwTWV0cmljKHNlc3Npb25Hcm91cCwKICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRyaWNJbmZvKV1dIiB0YWc9IltbbWV0cmljSW5mby5uYW1lLnRhZ11dIiB0YWctbWV0YWRhdGE9IltbX2NvbXB1dGVUYWdNZXRhZGF0YShtZXRyaWNJbmZvKV1dIiB4LXR5cGU9IltbX3hUeXBlXV0iIG11bHRpLWV4cGVyaW1lbnRzPSJbW19ub011bHRpRXhwZXJpbWVudHNdXSIgcmVxdWVzdC1kYXRhPSJbW19yZXF1ZXN0RGF0YV1dIiBhY3RpdmU+CiAgICAgICAgICA8L3RmLXNjYWxhci1jYXJkPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L2Rpdj4KICAgIAogICAgPHN0eWxlIGluY2x1ZGU9Imlyb24tZmxleCI+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhwYXJhbXMtdGFibGUtdmlldyI+CiAgPHRlbXBsYXRlPgogICAgPHZhYWRpbi1ncmlkIGNsYXNzPSJzZXNzaW9uLWdyb3VwLXRhYmxlIiBpZD0ic2Vzc2lvbkdyb3Vwc1RhYmxlIiBjb2x1bW4tcmVvcmRlcmluZy1hbGxvd2VkIGl0ZW1zPSJbW3Nlc3Npb25Hcm91cHNdXSI+CiAgICAgIDx2YWFkaW4tZ3JpZC1jb2x1bW4gZmxleC1ncm93PSIwIiB3aWR0aD0iMTBlbSIgcmVzaXphYmxlPgogICAgICAgIDx0ZW1wbGF0ZSBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWhlYWRlciB0YWJsZS1jZWxsIj5UcmlhbCBJRDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtY2VsbCI+W1tpdGVtLm5hbWVdXTwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvdmFhZGluLWdyaWQtY29sdW1uPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbZW5hYmxlU2hvd01ldHJpY3NdXSI+CiAgICAgICAgPHZhYWRpbi1ncmlkLWNvbHVtbiBmbGV4LWdyb3c9IjAiIHdpZHRoPSI1ZW0iIHJlc2l6YWJsZT4KICAgICAgICAgIDx0ZW1wbGF0ZSBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIHRhYmxlLWNlbGwiPlNob3cgTWV0cmljczwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgPHBhcGVyLWNoZWNrYm94IGNsYXNzPSJ0YWJsZS1jZWxsIiBjaGVja2VkPSJ7e2V4cGFuZGVkfX0iPgogICAgICAgICAgICA8L3BhcGVyLWNoZWNrYm94PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3ZhYWRpbi1ncmlkLWNvbHVtbj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1t2aXNpYmxlU2NoZW1hLmhwYXJhbUluZm9zXV0iIGFzPSJocGFyYW1JbmZvIiBpbmRleC1hcz0iaHBhcmFtSW5kZXgiPgogICAgICAgIDx2YWFkaW4tZ3JpZC1jb2x1bW4gZmxleC1ncm93PSIyIiB3aWR0aD0iMTBlbSIgcmVzaXphYmxlPgogICAgICAgICAgPHRlbXBsYXRlIGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1oZWFkZXIgdGFibGUtY2VsbCI+CiAgICAgICAgICAgICAgW1tfaHBhcmFtTmFtZShocGFyYW1JbmZvKV1dCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtY2VsbCI+CiAgICAgICAgICAgICAgW1tfc2Vzc2lvbkdyb3VwSFBhcmFtKGl0ZW0sIGhwYXJhbUluZm8ubmFtZSldXQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC92YWFkaW4tZ3JpZC1jb2x1bW4+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9Int7dmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvc319IiBhcz0ibWV0cmljSW5mbyIgaW5kZXgtYXM9Im1ldHJpY0luZGV4Ij4KICAgICAgICA8dmFhZGluLWdyaWQtY29sdW1uIGZsZXgtZ3Jvdz0iMiIgd2lkdGg9IjEwZW0iIHJlc2l6YWJsZT4KICAgICAgICAgIDx0ZW1wbGF0ZSBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIHRhYmxlLWNlbGwiPgogICAgICAgICAgICAgIFtbX21ldHJpY05hbWUobWV0cmljSW5mbyldXQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWNlbGwiPgogICAgICAgICAgICAgIFtbX3Nlc3Npb25Hcm91cE1ldHJpYyhpdGVtLCBtZXRyaWNJbmZvLm5hbWUpXV0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdmFhZGluLWdyaWQtY29sdW1uPgogICAgICA8L3RlbXBsYXRlPgogICAgICA8dGVtcGxhdGUgY2xhc3M9InJvdy1kZXRhaWxzIj4KICAgICAgICA8dGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHMgYmFja2VuZD0iW1tiYWNrZW5kXV0iIGV4cGVyaW1lbnQtbmFtZT0iW1tleHBlcmltZW50TmFtZV1dIiBzZXNzaW9uLWdyb3VwPSJbW2l0ZW1dXSIgdmlzaWJsZS1zY2hlbWE9IltbdmlzaWJsZVNjaGVtYV1dIiBjbGFzcz0ic2Vzc2lvbi1ncm91cC1kZXRhaWxzIj4KICAgICAgICA8L3RmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC1kZXRhaWxzPgogICAgICA8L3RlbXBsYXRlPgogICAgPC92YWFkaW4tZ3JpZD4KCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICAudGFibGUtY2VsbCB7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICAgIC50YWJsZS1oZWFkZXIgewogICAgICAgIC8qIGxpbmUtYnJlYWsgb3ZlcmZsb3dpbmcgY29sdW1uIGhlYWRlcnMgKi8KICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7CiAgICAgIH0KICAgICAgLnNlc3Npb24tZ3JvdXAtdGFibGUgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQogICAgICAuc2Vzc2lvbi1ncm91cC1kZXRhaWxzIHsKICAgICAgICBoZWlnaHQ6IDM2MHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLXZhbHVlcyI+CiAgPHRlbXBsYXRlPgogICAgCiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3Byb3BlcnRpZXNBcmVQb3B1bGF0ZWQodmlzaWJsZVNjaGVtYSwgc2Vzc2lvbkdyb3VwKV1dIj4KICAgICAgCiAgICAgIDx0Zi1ocGFyYW1zLXRhYmxlLXZpZXcgdmlzaWJsZS1zY2hlbWE9IltbdmlzaWJsZVNjaGVtYV1dIiBzZXNzaW9uLWdyb3Vwcz0iW1tfc2luZ2xldG9uU2Vzc2lvbkdyb3VwcyhzZXNzaW9uR3JvdXApXV0iPgogICAgICA8L3RmLWhwYXJhbXMtdGFibGUtdmlldz4KICAgIDwvdGVtcGxhdGU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9wcm9wZXJ0aWVzQXJlUG9wdWxhdGVkKHZpc2libGVTY2hlbWEsIHNlc3Npb25Hcm91cCldXSI+CiAgICAgIDxkaXY+CiAgICAgICAgQ2xpY2sgb3IgaG92ZXIgb3ZlciBhIHNlc3Npb24gZ3JvdXAgdG8gZGlzcGxheSBpdHMgdmFsdWVzIGhlcmUuCiAgICAgIDwvZGl2PgogICAgPC90ZW1wbGF0ZT4KCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhwYXJhbXMtcGFyYWxsZWwtY29vcmRzLXBsb3QiPgogIDx0ZW1wbGF0ZT4KICAgIDxkaXYgaWQ9ImNvbnRhaW5lciI+CiAgICAgIDxzdmcgaWQ9InN2ZyI+PC9zdmc+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIHN2ZyB7CiAgICAgICAgZm9udDogMTBweCBzYW5zLXNlcmlmOwogICAgICB9CgogICAgICAuYmFja2dyb3VuZCBwYXRoIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICAgIHN0cm9rZTogI2RkZDsKICAgICAgICBzaGFwZS1yZW5kZXJpbmc6IGNyaXNwRWRnZXM7CiAgICAgIH0KCiAgICAgIC5mb3JlZ3JvdW5kIHBhdGggewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgICAgc3Ryb2tlLW9wYWNpdHk6IDAuNzsKICAgICAgICBzdHJva2Utd2lkdGg6IDE7CiAgICAgIH0KCiAgICAgIC8qIFdpbGwgYmUgc2V0IG9uIGZvcmVncm91bmQgcGF0aHMgdGhhdCBhcmUgbm90ICJjb250YWluZWQiIGluIHRoZSBjdXJyZW50CiAgICAgICAgIGF4ZXMgYnJ1c2hlcy4gSWYgbm8gYnJ1c2hlcyBhcmUgc2V0LCBubyBwYXRoIHdpbGwgaGF2ZSB0aGlzIGNsYXNzLiAqLwogICAgICAuZm9yZWdyb3VuZCAuaW52aXNpYmxlLXBhdGggewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIFN0eWxlIGZvciB0aGUgcGF0aCBjbG9zZXN0IHRvIHRoZSBtb3VzZSBwb2ludGVyICh0eXBpY2FsbHkgd2lsbCBiZWNvbWUKICAgICAgdGhlIHNlbGVjdGVkIHBhdGggd2hlbiB0aGUgdXNlciBjbGlja3MpLiAqLwogICAgICAuZm9yZWdyb3VuZCAucGVha2VkLXBhdGggewogICAgICAgIHN0cm9rZS13aWR0aDogMzsKICAgICAgfQoKICAgICAgLyogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCBwYXRoIGNsYXNzLiBXZSB1c2UgIWltcG9ydGFudCB0byBvdmVycmlkZSB0aGUKICAgICAgICAgaW5saW5lIHN0eWxlIHRoYXQgc2V0cyB0aGUgcmVndWxhciBjb2xvciBvZiBhIHBhdGguICovCiAgICAgIC5mb3JlZ3JvdW5kIC5zZWxlY3RlZC1wYXRoIHsKICAgICAgICBzdHJva2Utd2lkdGg6IDMgIWltcG9ydGFudDsKICAgICAgICBzdHJva2U6ICMwZjAgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgI2NvbnRhaW5lciB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICBzdmcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmF4aXMgdGV4dCB7CiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZiwgMXB4IDAgMCAjZmZmLCAwIC0xcHggMCAjZmZmLCAtMXB4IDAgMCAjZmZmOwogICAgICAgIGZpbGw6ICMwMDA7CiAgICAgICAgY3Vyc29yOiBtb3ZlOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAogIAogIAogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhwYXJhbXMtcGFyYWxsZWwtY29vcmRzLXZpZXciPgogIDx0ZW1wbGF0ZT4KICAgIAogICAgPGRpdiBjbGFzcz0icGFuZSI+CiAgICAgIDx2YWFkaW4tc3BsaXQtbGF5b3V0IHZlcnRpY2FsPgogICAgICAgIAogICAgICAgIDx0Zi1ocGFyYW1zLXNjYWxlLWFuZC1jb2xvci1jb250cm9scyBpZD0iY29udHJvbHMiIGNsYXNzPSJzZWN0aW9uIiBjb25maWd1cmF0aW9uPSJbW2NvbmZpZ3VyYXRpb25dXSIgc2Vzc2lvbi1ncm91cHM9Iltbc2Vzc2lvbkdyb3Vwc11dIiBvcHRpb25zPSJ7e19vcHRpb25zfX0iPgogICAgICAgIDwvdGYtaHBhcmFtcy1zY2FsZS1hbmQtY29sb3ItY29udHJvbHM+CiAgICAgICAgPHZhYWRpbi1zcGxpdC1sYXlvdXQgdmVydGljYWw+CiAgICAgICAgICAKICAgICAgICAgIDx0Zi1ocGFyYW1zLXBhcmFsbGVsLWNvb3Jkcy1wbG90IGlkPSJwbG90IiBjbGFzcz0ic2VjdGlvbiIgc2Vzc2lvbi1ncm91cHM9Iltbc2Vzc2lvbkdyb3Vwc11dIiBzZWxlY3RlZC1zZXNzaW9uLWdyb3VwPSJ7e19zZWxlY3RlZEdyb3VwfX0iIGNsb3Nlc3Qtc2Vzc2lvbi1ncm91cD0ie3tfY2xvc2VzdEdyb3VwfX0iIG9wdGlvbnM9IltbX29wdGlvbnNdXSI+CiAgICAgICAgICA8L3RmLWhwYXJhbXMtcGFyYWxsZWwtY29vcmRzLXBsb3Q+CiAgICAgICAgICA8dmFhZGluLXNwbGl0LWxheW91dCB2ZXJ0aWNhbD4KICAgICAgICAgICAgPHRmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC12YWx1ZXMgaWQ9InZhbHVlcyIgY2xhc3M9InNlY3Rpb24iIHZpc2libGUtc2NoZW1hPSJbW2NvbmZpZ3VyYXRpb24udmlzaWJsZVNjaGVtYV1dIiBzZXNzaW9uLWdyb3VwPSJbW19jbG9zZXN0T3JTZWxlY3RlZCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfY2xvc2VzdEdyb3VwLCBfc2VsZWN0ZWRHcm91cCldXSI+CiAgICAgICAgICAgIDwvdGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLXZhbHVlcz4KICAgICAgICAgICAgPHRmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC1kZXRhaWxzIGlkPSJkZXRhaWxzIiBjbGFzcz0ic2VjdGlvbiIgYmFja2VuZD0iW1tiYWNrZW5kXV0iIGV4cGVyaW1lbnQtbmFtZT0iW1tleHBlcmltZW50TmFtZV1dIiBzZXNzaW9uLWdyb3VwPSJbW19zZWxlY3RlZEdyb3VwXV0iIHZpc2libGUtc2NoZW1hPSJbW2NvbmZpZ3VyYXRpb24udmlzaWJsZVNjaGVtYV1dIj4KICAgICAgICAgICAgPC90Zi1ocGFyYW1zLXNlc3Npb24tZ3JvdXAtZGV0YWlscz4KICAgICAgICAgIDwvdmFhZGluLXNwbGl0LWxheW91dD4KICAgICAgICA8L3ZhYWRpbi1zcGxpdC1sYXlvdXQ+CiAgICAgIDwvdmFhZGluLXNwbGl0LWxheW91dD4KICAgIDwvZGl2PgoKICAgIDxzdHlsZT4KICAgICAgLnBhbmUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgICAgLnNlY3Rpb24gewogICAgICAgIG1hcmdpbjogMTBweDsKICAgICAgfQogICAgICAjY29udHJvbHMgewogICAgICAgIGZsZXgtZ3JvdzogMDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBmbGV4LWJhc2lzOiBhdXRvOwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50OwogICAgICB9CiAgICAgICNwbG90IHsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQogICAgICAjdmFsdWVzIHsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBoZWlnaHQ6IDk1cHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDsKICAgICAgfQogICAgICAjZGV0YWlscyB7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICAgIGZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7CiAgICAgIH0KICAgICAgdmFhZGluLXNwbGl0LWxheW91dCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhwYXJhbXMtc2NhdHRlci1wbG90LW1hdHJpeC1wbG90Ij4KICA8dGVtcGxhdGU+CiAgICA8ZGl2IGlkPSJjb250YWluZXIiPgogICAgICA8c3ZnIGlkPSJzdmciPjwvc3ZnPgogICAgPC9kaXY+CgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KICAgICAgc3ZnIHsKICAgICAgICBmb250OiAxMHB4IHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC8qIFRoZSBjbG9zZXN0IGRhdGEgcG9pbnQgbWFya2VyIHRvIHRoZSBtb3VzZSBwb2ludGVyLiBXZSB1c2UgIWltcG9ydGFudAogICAgICAgICB0byBvdmVycmlkZSB0aGUgaW5saW5lIHN0eWxlIHRoYXQgc2V0cyB0aGUgcmVndWxhciBzdHlsZSBvZiBhIG1hcmtlci4KICAgICAgKi8KICAgICAgLmNsb3Nlc3QtbWFya2VyIHsKICAgICAgICByOiA2ICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC8qIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgZGF0YSBwb2ludCBtYXJrZXIuIFdlIHVzZSAhaW1wb3J0YW50IHRvCiAgICAgICAgIG92ZXJyaWRlIHRoZSBpbmxpbmUgc3R5bGUgdGhhdCBzZXRzIHRoZSByZWd1bGFyIHN0eWxlIG9mIGEgbWFya2VyLiAqLwogICAgICAuc2VsZWN0ZWQtbWFya2VyIHsKICAgICAgICByOiA2ICFpbXBvcnRhbnQ7CiAgICAgICAgZmlsbDogIzBmMCAhaW1wb3J0YW50OwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhwYXJhbXMtc2NhdHRlci1wbG90LW1hdHJpeC12aWV3Ij4KICA8dGVtcGxhdGU+CiAgICA8ZGl2IGNsYXNzPSJwYW5lIj4KICAgICAgPHZhYWRpbi1zcGxpdC1sYXlvdXQgdmVydGljYWw+CiAgICAgICAgCiAgICAgICAgPHRmLWhwYXJhbXMtc2NhbGUtYW5kLWNvbG9yLWNvbnRyb2xzIGNsYXNzPSJzZWN0aW9uIiBpZD0iY29udHJvbHMiIGNvbmZpZ3VyYXRpb249IltbY29uZmlndXJhdGlvbl1dIiBzZXNzaW9uLWdyb3Vwcz0iW1tzZXNzaW9uR3JvdXBzXV0iIG9wdGlvbnM9Int7X29wdGlvbnN9fSI+CiAgICAgICAgPC90Zi1ocGFyYW1zLXNjYWxlLWFuZC1jb2xvci1jb250cm9scz4KICAgICAgICA8dmFhZGluLXNwbGl0LWxheW91dCB2ZXJ0aWNhbD4KICAgICAgICAgIAogICAgICAgICAgPHRmLWhwYXJhbXMtc2NhdHRlci1wbG90LW1hdHJpeC1wbG90IGNsYXNzPSJzZWN0aW9uIiBpZD0icGxvdCIgdmlzaWJsZS1zY2hlbWE9IltbY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hXV0iIHNlc3Npb24tZ3JvdXBzPSJbW3Nlc3Npb25Hcm91cHNdXSIgc2VsZWN0ZWQtc2Vzc2lvbi1ncm91cD0ie3tfc2VsZWN0ZWRHcm91cH19IiBjbG9zZXN0LXNlc3Npb24tZ3JvdXA9Int7X2Nsb3Nlc3RHcm91cH19IiBvcHRpb25zPSJbW19vcHRpb25zXV0iPgogICAgICAgICAgPC90Zi1ocGFyYW1zLXNjYXR0ZXItcGxvdC1tYXRyaXgtcGxvdD4KICAgICAgICAgIDx2YWFkaW4tc3BsaXQtbGF5b3V0IHZlcnRpY2FsPgogICAgICAgICAgICA8dGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLXZhbHVlcyBjbGFzcz0ic2VjdGlvbiIgaWQ9InZhbHVlcyIgdmlzaWJsZS1zY2hlbWE9IltbY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hXV0iIHNlc3Npb24tZ3JvdXA9IltbX2Nsb3Nlc3RPclNlbGVjdGVkKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfY2xvc2VzdEdyb3VwLCBfc2VsZWN0ZWRHcm91cCldXSI+CiAgICAgICAgICAgIDwvdGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLXZhbHVlcz4KICAgICAgICAgICAgCiAgICAgICAgICAgIDx0Zi1ocGFyYW1zLXNlc3Npb24tZ3JvdXAtZGV0YWlscyBjbGFzcz0ic2VjdGlvbiIgaWQ9ImRldGFpbHMiIGJhY2tlbmQ9IltbYmFja2VuZF1dIiBleHBlcmltZW50LW5hbWU9IltbZXhwZXJpbWVudE5hbWVdXSIgc2Vzc2lvbi1ncm91cD0iW1tfc2VsZWN0ZWRHcm91cF1dIiB2aXNpYmxlLXNjaGVtYT0iW1tjb25maWd1cmF0aW9uLnZpc2libGVTY2hlbWFdXSI+CiAgICAgICAgICAgIDwvdGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHM+CiAgICAgICAgICA8L3ZhYWRpbi1zcGxpdC1sYXlvdXQ+CiAgICAgICAgPC92YWFkaW4tc3BsaXQtbGF5b3V0PgogICAgICA8L3ZhYWRpbi1zcGxpdC1sYXlvdXQ+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgLnBhbmUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgICAgLnNlY3Rpb24gewogICAgICAgIG1hcmdpbjogMTBweDsKICAgICAgfQogICAgICAjY29udHJvbHMgewogICAgICAgIGZsZXgtZ3JvdzogMDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBmbGV4LWJhc2lzOiBhdXRvOwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50OwogICAgICB9CiAgICAgICNwbG90IHsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDsKICAgICAgfQogICAgICAjdmFsdWVzIHsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBoZWlnaHQ6IDk1cHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDsKICAgICAgfQogICAgICAjZGV0YWlscyB7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICAgIGZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7CiAgICAgIH0KICAgICAgdmFhZGluLXNwbGl0LWxheW91dCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhwYXJhbXMtc2Vzc2lvbnMtcGFuZSI+CiAgPHRlbXBsYXRlPgogICAgPHBhcGVyLWhlYWRlci1wYW5lbD4KICAgICAgPHBhcGVyLXRvb2xiYXIgc2xvdD0iaGVhZGVyIiBjbGFzcz0idGFiLWJhciI+CiAgICAgICAgPHBhcGVyLXRhYnMgc2VsZWN0ZWQ9Int7X3NlbGVjdGVkVGFifX0iIHNsb3Q9InRvcCI+CiAgICAgICAgICAKICAgICAgICAgIDxwYXBlci10YWIgdmlldy1pZD0idGFibGUtdmlldyI+CiAgICAgICAgICAgIFRBQkxFIFZJRVcKICAgICAgICAgIDwvcGFwZXItdGFiPgogICAgICAgICAgPHBhcGVyLXRhYiB2aWV3LWlkPSJwYXJhbGxlbC1jb29yZHMtdmlldyI+CiAgICAgICAgICAgIFBBUkFMTEVMIENPT1JESU5BVEVTIFZJRVcKICAgICAgICAgIDwvcGFwZXItdGFiPgogICAgICAgICAgPHBhcGVyLXRhYiB2aWV3LWlkPSJzY2F0dGVyLXBsb3QtbWF0cml4LXZpZXciPgogICAgICAgICAgICBTQ0FUVEVSIFBMT1QgTUFUUklYIFZJRVcKICAgICAgICAgIDwvcGFwZXItdGFiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVscC1hbmQtZmVlZGJhY2siPgogICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbYnVnUmVwb3J0VXJsXV0iPgogICAgICAgICAgICAgIDxhIGhyZWYkPSJbW2J1Z1JlcG9ydFVybF1dIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj4KICAgICAgICAgICAgICAgIDxwYXBlci1idXR0b24gaWQ9ImJ1Zy1yZXBvcnQiIHJhaXNlZCB0aXRsZT0iU2VuZCBhIGJ1ZyByZXBvcnQgb3IgZmVhdHVyZSByZXF1ZXN0Ij4KICAgICAgICAgICAgICAgICAgQnVnIFJlcG9ydCAvIEZlYXR1cmUgUmVxdWVzdAogICAgICAgICAgICAgICAgPC9wYXBlci1idXR0b24+CiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbaGVscFVybF1dIj4KICAgICAgICAgICAgICA8YSBocmVmJD0iW1toZWxwVXJsXV0iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPgogICAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249ImhlbHAtb3V0bGluZSIgdGl0bGU9IlZpZXcgZG9jdW1lbnRhdGlvbiI+CiAgICAgICAgICAgICAgICA8L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvcGFwZXItdGFicz4KICAgICAgPC9wYXBlci10b29sYmFyPgogICAgICA8aXJvbi1wYWdlcyBzZWxlY3RlZD0iW1tfc2VsZWN0ZWRUYWJdXSIgY2xhc3M9ImZpdCB0YWItdmlldyI+CiAgICAgICAgPGRpdiBpZD0iMCIgY2xhc3M9InRhYiI+CiAgICAgICAgICA8dGYtaHBhcmFtcy10YWJsZS12aWV3IGJhY2tlbmQ9IltbYmFja2VuZF1dIiBleHBlcmltZW50LW5hbWU9IltbZXhwZXJpbWVudE5hbWVdXSIgdmlzaWJsZS1zY2hlbWE9IltbY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hXV0iIHNlc3Npb24tZ3JvdXBzPSJbW3Nlc3Npb25Hcm91cHNdXSIgZW5hYmxlLXNob3ctbWV0cmljcz4KICAgICAgICAgIDwvdGYtaHBhcmFtcy10YWJsZS12aWV3PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgaWQ9IjEiIGNsYXNzPSJ0YWIiPgogICAgICAgICAgPHRmLWhwYXJhbXMtcGFyYWxsZWwtY29vcmRzLXZpZXcgYmFja2VuZD0iW1tiYWNrZW5kXV0iIGV4cGVyaW1lbnQtbmFtZT0iW1tleHBlcmltZW50TmFtZV1dIiBjb25maWd1cmF0aW9uPSJbW2NvbmZpZ3VyYXRpb25dXSIgc2Vzc2lvbi1ncm91cHM9Iltbc2Vzc2lvbkdyb3Vwc11dIj4KICAgICAgICAgIDwvdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtdmlldz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGlkPSIyIiBjbGFzcz0idGFiIj4KICAgICAgICAgIDx0Zi1ocGFyYW1zLXNjYXR0ZXItcGxvdC1tYXRyaXgtdmlldyBiYWNrZW5kPSJbW2JhY2tlbmRdXSIgZXhwZXJpbWVudC1uYW1lPSJbW2V4cGVyaW1lbnROYW1lXV0iIGNvbmZpZ3VyYXRpb249IltbY29uZmlndXJhdGlvbl1dIiBzZXNzaW9uLWdyb3Vwcz0iW1tzZXNzaW9uR3JvdXBzXV0iPgogICAgICAgICAgPC90Zi1ocGFyYW1zLXNjYXR0ZXItcGxvdC1tYXRyaXgtdmlldz4KICAgICAgICA8L2Rpdj4KICAgICAgPC9pcm9uLXBhZ2VzPgogICAgPC9wYXBlci1oZWFkZXItcGFuZWw+CgogICAgPHN0eWxlPgogICAgICAudGFiLXZpZXcgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQogICAgICAudGFiLWJhciB7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKAogICAgICAgICAgLS10Yi10b29sYmFyLWJhY2tncm91bmQtY29sb3IsCiAgICAgICAgICB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKQogICAgICAgICk7CiAgICAgIH0KICAgICAgLnRhYiB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICAgIHBhcGVyLXRhYnMgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgLS1wYXBlci10YWJzLXNlbGVjdGlvbi1iYXItY29sb3I6IHdoaXRlOwogICAgICAgIC0tcGFwZXItdGFicy1jb250ZW50OiB7CiAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAgICAgICB9CiAgICAgIH0KICAgICAgdGYtaHBhcmFtcy10YWJsZS12aWV3IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgICAgLmhlbHAtYW5kLWZlZWRiYWNrIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgLyogRW5zdXJlIHRoYXQgaWNvbnMgc3RheSBhbGlnbmVkICovCiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQogICAgICAjYnVnLXJlcG9ydCB7CiAgICAgICAgYm9yZGVyOiBzb2xpZCBibGFjazsKICAgICAgICBiYWNrZ3JvdW5kOiByZWQ7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkczsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbWF4LXdpZHRoOiAxNTBweDsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICB9CiAgICAgIC5oZWxwLWFuZC1mZWVkYmFjayBhIHsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLWhwYXJhbXMtbWFpbiI+CiAgPHRlbXBsYXRlPgogICAgPHZhYWRpbi1zcGxpdC1sYXlvdXQ+CiAgICAgIDxkaXYgY2xhc3M9InNpZGViYXIiIHNsb3Q9InNpZGViYXIiPgogICAgICAgIDx0Zi1ocGFyYW1zLXF1ZXJ5LXBhbmUgaWQ9InF1ZXJ5LXBhbmUiIGJhY2tlbmQ9IltbYmFja2VuZF1dIiBleHBlcmltZW50LW5hbWU9IltbZXhwZXJpbWVudE5hbWVdXSIgY29uZmlndXJhdGlvbj0ie3tfY29uZmlndXJhdGlvbn19IiBzZXNzaW9uLWdyb3Vwcz0ie3tfc2Vzc2lvbkdyb3Vwc319Ij4KICAgICAgICA8L3RmLWhwYXJhbXMtcXVlcnktcGFuZT4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGYtaHBhcmFtcy1zZXNzaW9ucy1wYW5lIGlkPSJzZXNzaW9ucy1wYW5lIiBiYWNrZW5kPSJbW2JhY2tlbmRdXSIgaGVscC11cmw9IltbaGVscFVybF1dIiBidWctcmVwb3J0LXVybD0iW1tidWdSZXBvcnRVcmxdXSIgZXhwZXJpbWVudC1uYW1lPSJbW2V4cGVyaW1lbnROYW1lXV0iIGNvbmZpZ3VyYXRpb249IltbX2NvbmZpZ3VyYXRpb25dXSIgc2Vzc2lvbi1ncm91cHM9IltbX3Nlc3Npb25Hcm91cHNdXSI+CiAgICAgICAgPC90Zi1ocGFyYW1zLXNlc3Npb25zLXBhbmU+CiAgICAgIDwvZGl2PgogICAgPC92YWFkaW4tc3BsaXQtbGF5b3V0PgogICAgPHRmLWhwYXJhbXMtZ29vZ2xlLWFuYWx5dGljcy10cmFja2VyIGlkPSJ0cmFja2VyIiB0cmFja2luZy1pZD0iW1t0cmFja2luZ0lkXV0iIG5hbWU9InRmX2hwYXJhbXMiPgogICAgPC90Zi1ocGFyYW1zLWdvb2dsZS1hbmFseXRpY3MtdHJhY2tlcj4KCiAgICA8c3R5bGU+CiAgICAgIHZhYWRpbi1zcGxpdC1sYXlvdXQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuc2lkZWJhciB7CiAgICAgICAgd2lkdGg6IDIwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG1pbi13aWR0aDogMTAlOwogICAgICB9CgogICAgICAuY2VudGVyIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgd2lkdGg6IDgwJTsKICAgICAgfQoKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KCiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtaHBhcmFtcy1kYXNoYm9hcmQiPgogIDx0ZW1wbGF0ZT4KICAgIAogICAgPHRmLWhwYXJhbXMtbWFpbiBpZD0iaHBhcmFtcy1tYWluIiBiYWNrZW5kPSJbW19iYWNrZW5kXV0iIGV4cGVyaW1lbnQtbmFtZT0iIj4KICAgIDwvdGYtaHBhcmFtcy1tYWluPgogIDwvdGVtcGxhdGU+CiAgCjwvZG9tLW1vZHVsZT48ZG9tLW1vZHVsZSBpZD0idGYtbWVzaC1sb2FkZXIiPgogIDx0ZW1wbGF0ZT4KICAgIDx0Zi1jYXJkLWhlYWRpbmcgY29sb3I9IltbX3J1bkNvbG9yXV0iIGNsYXNzPSJ0Zi1tZXNoLWxvYWRlci1oZWFkZXIiPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hhc011bHRpcGxlU2FtcGxlcyhvZlNhbXBsZXMpXV0iPgogICAgICAgIDxkaXY+c2FtcGxlOiBbW19nZXRTYW1wbGVUZXh0KHNhbXBsZSldXSBvZiBbW29mU2FtcGxlc11dPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzQXRMZWFzdE9uZVN0ZXAoX3N0ZXBzKV1dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLWxhYmVsIj4KICAgICAgICAgICAgc3RlcAogICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQiPltbdG9Mb2NhbGVTdHJpbmdfKF9zdGVwVmFsdWUpXV08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmctbGFiZWwgaGVhZGluZy1yaWdodCI+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfY3VycmVudFdhbGxUaW1lXV0iPgogICAgICAgICAgICAgIFtbX2N1cnJlbnRXYWxsVGltZV1dCiAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsIHJpZ2h0Ij4KICAgICAgICAgICAgPHBhcGVyLXNwaW5uZXItbGl0ZSBhY3RpdmUgaGlkZGVuJD0iW1shX2lzTWVzaExvYWRpbmddXSI+CiAgICAgICAgICAgIDwvcGFwZXItc3Bpbm5lci1saXRlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzTXVsdGlwbGVTdGVwcyhfc3RlcHMpXV0iPgogICAgICAgIDxkaXY+CiAgICAgICAgICA8cGFwZXItc2xpZGVyIGlkPSJzdGVwcyIgaW1tZWRpYXRlLXZhbHVlPSJ7e19zdGVwSW5kZXh9fSIgbWF4PSJbW19nZXRNYXhTdGVwSW5kZXgoX3N0ZXBzKV1dIiBtYXgtbWFya2Vycz0iW1tfZ2V0TWF4U3RlcEluZGV4KF9zdGVwcyldXSIgc25hcHMgc3RlcD0iMSIgdmFsdWU9Int7X3N0ZXBJbmRleH19Ij48L3BhcGVyLXNsaWRlcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvdGYtY2FyZC1oZWFkaW5nPgogICAgPHN0eWxlPgogICAgICBwYXBlci1zbGlkZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1hcmdpbi1sZWZ0OiAxcHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7CiAgICAgIH0KICAgICAgLnRmLW1lc2gtbG9hZGVyLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDVweDsKICAgICAgfQogICAgICBbaGlkZGVuXSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9Im1lc2gtZGFzaGJvYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8dGYtZGFzaGJvYXJkLWxheW91dD4KICAgICAgPGRpdiBzbG90PSJzaWRlYmFyIiBjbGFzcz0iYWxsLWNvbnRyb2xzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24gdmlldy1jb250cm9sIj4KICAgICAgICAgIDxoMyBjbGFzcz0idGl0bGUiPlBvaW50IG9mIHZpZXc8L2gzPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWdyb3VwIGlkPSJ2aWV3LXJhZGlvLWdyb3VwIiBzZWxlY3RlZD0ie3tfc2VsZWN0ZWRWaWV3fX0iPgogICAgICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gaWQ9ImFsbC1yYWRpby1idXR0b24iIG5hbWU9ImFsbCI+CiAgICAgICAgICAgICAgICBEaXNwbGF5IGFsbCBwb2ludHMKICAgICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcCBhbmltYXRpb24tZGVsYXk9IjAiIGZvcj0iYWxsLXJhZGlvLWJ1dHRvbiIgcG9zaXRpb249InJpZ2h0IiBvZmZzZXQ9IjAiPgogICAgICAgICAgICAgICAgWm9vbSBhbmQgY2VudGVyIGNhbWVyYSB0byBkaXNwbGF5IGFsbCBwb2ludHMgYXQgb25jZS4gTm90ZSwgdGhhdAogICAgICAgICAgICAgICAgc29tZSBwb2ludHMgY291bGQgYmUgdG9vIGZhciAoaS5lLiB0b28gc21hbGwpIHRvIGJlIHZpc2libGUuCiAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gaWQ9InVzZXItcmFkaW8tYnV0dG9uIiBuYW1lPSJ1c2VyIj4KICAgICAgICAgICAgICAgIEN1cnJlbnQgdmlldwogICAgICAgICAgICAgIDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgICAgIDxwYXBlci10b29sdGlwIGFuaW1hdGlvbi1kZWxheT0iMCIgZm9yPSJ1c2VyLXJhZGlvLWJ1dHRvbiIgcG9zaXRpb249InJpZ2h0IiBvZmZzZXQ9IjAiPgogICAgICAgICAgICAgICAgS2VlcCBjdXJyZW50IGNhbWVyYSBwb3NpdGlvbiBhbmQgem9vbSBsZXZlbC4KICAgICAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CiAgICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBpZD0ic2hhcmUtcmFkaW8tYnV0dG9uIiBuYW1lPSJzaGFyZSI+CiAgICAgICAgICAgICAgICBTaGFyZSB2aWV3cG9pbnQKICAgICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcCBhbmltYXRpb24tZGVsYXk9IjAiIGZvcj0ic2hhcmUtcmFkaW8tYnV0dG9uIiBwb3NpdGlvbj0icmlnaHQiIG9mZnNldD0iMCI+CiAgICAgICAgICAgICAgICBTaGFyZSB2aWV3cG9pbnQgYW1vbmcgYWxsIGNhbWVyYXMuCiAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWdyb3VwPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIHJ1bnMtc2VsZWN0b3IiPgogICAgICAgICAgPHRmLXJ1bnMtc2VsZWN0b3Igc2VsZWN0ZWQtcnVucz0ie3tfc2VsZWN0ZWRSdW5zfX0iPgogICAgICAgICAgPC90Zi1ydW5zLXNlbGVjdG9yPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBzbG90PSJjZW50ZXIiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS13YXJuaW5nIj4KICAgICAgICAgICAgPGgzPk5vIHBvaW50IGNsb3VkIGRhdGEgd2FzIGZvdW5kLjwvaDM+CiAgICAgICAgICAgIDxwPlByb2JhYmxlIGNhdXNlczo8L3A+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICBZb3UgaGF2ZW7igJl0IHdyaXR0ZW4gYW55IHBvaW50IGNsb3VkIGRhdGEgdG8geW91ciBldmVudCBmaWxlcy4KICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgIDxsaT5UZW5zb3JCb2FyZCBjYW7igJl0IGZpbmQgeW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW914oCZcmUgbmV3IHRvIHVzaW5nIFRlbnNvckJvYXJkLCBhbmQgd2FudCB0byBmaW5kIG91dCBob3cgdG8KICAgICAgICAgICAgICBhZGQgZGF0YSBhbmQgc2V0IHVwIHlvdXIgZXZlbnQgZmlsZXMsIGNoZWNrIG91dCB0aGUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiPlJFQURNRTwvYT4KICAgICAgICAgICAgICBhbmQgcGVyaGFwcyB0aGUKICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIj5UZW5zb3JCb2FyZCB0dXRvcmlhbDwvYT4uCiAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdSB0aGluayBUZW5zb3JCb2FyZCBpcyBjb25maWd1cmVkIHByb3Blcmx5LCBwbGVhc2Ugc2VlCiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kI215LXRlbnNvcmJvYXJkLWlzbnQtc2hvd2luZy1hbnktZGF0YS13aGF0cy13cm9uZyI+dGhlIHNlY3Rpb24gb2YgdGhlIFJFQURNRSBkZXZvdGVkIHRvIG1pc3NpbmcgZGF0YSBwcm9ibGVtczwvYT4KICAgICAgICAgICAgICBhbmQgY29uc2lkZXIgZmlsaW5nIGFuIGlzc3VlIG9uIEdpdEh1Yi4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9kYXRhTm90Rm91bmRdXSI+CiAgICAgICAgICA8dGYtdGFnLWZpbHRlcmVyIHRhZy1maWx0ZXI9Int7X3RhZ0ZpbHRlcn19Ij48L3RmLXRhZy1maWx0ZXJlcj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX2NhdGVnb3JpZXNdXSIgYXM9ImNhdGVnb3J5Ij4KICAgICAgICAgICAgPHRmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3IGNhdGVnb3J5PSJbW2NhdGVnb3J5XV0iIGluaXRpYWwtb3BlbmVkPSJbW19zaG91bGRPcGVuKGluZGV4KV1dIj4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGYtbWVzaC1sb2FkZXIgYWN0aXZlPSJbW2FjdGl2ZV1dIiBzZWxlY3RlZC12aWV3PSJbW19zZWxlY3RlZFZpZXddXSIgcnVuPSJbW2l0ZW0ucnVuXV0iIHRhZz0iW1tpdGVtLnRhZ11dIiBzYW1wbGU9IltbaXRlbS5zYW1wbGVdXSIgb2Ytc2FtcGxlcz0iW1tpdGVtLm9mU2FtcGxlc11dIiByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iIGNsYXNzPSJ0Zi1tZXNoLWxvYWRlci1jb250YWluZXIiIG9uLWNhbWVyYS1wb3NpdGlvbi1jaGFuZ2U9Il9vbkNhbWVyYVBvc2l0aW9uQ2hhbmdlZCI+CiAgICAgICAgICAgICAgICA8L3RmLW1lc2gtbG9hZGVyPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXc+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgoKICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgIC5uby1kYXRhLXdhcm5pbmcgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CiAgICAgIHBhcGVyLXJhZGlvLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogNXB4OwogICAgICB9CiAgICAgIC5zaWRlYmFyLXNlY3Rpb24gaDMudGl0bGUgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1ncmV5LTgwMCk7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgfQoKICAgICAgLnJ1bnMtc2VsZWN0b3IgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQoKICAgICAgdGYtcnVucy1zZWxlY3RvciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQoKICAgICAgLnZpZXctY29udHJvbCB7CiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLnZpZXctY29udHJvbCBoMy50aXRsZSB7CiAgICAgICAgcGFkZGluZy10b3A6IDE2cHg7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5hbGxjb250cm9scyAudmlldy1jb250cm9sIHBhcGVyLXJhZGlvLWdyb3VwIHsKICAgICAgICBtYXJnaW4tdG9wOiA1cHg7CiAgICAgIH0KICAgICAgLyogTGF5b3V0IG11c3QgYmUgaG9yaXpvbnRhbCwgaS5lLiBpdGVtcyBhcnJhbmdlZCBpbiBhIHJvdy4gSWYgaXRlbXMgY2Fubm90IGZpdCBpbiBhIHJvdywKICAgICAgICogdGhleSBzaG91bGQgYmUgbW92ZWQgdG8gbmV4dCBsaW5lLiBBbGwgaXRlbXMgbXVzdCBiZSBzcXVhcmUgYXQgYWxsIHRpbWVzLiBNaW5pbXVtIHNpemUgb2YKICAgICAgICogdGhlIGl0ZW0gaXMgNDgwcHguIFRoaXMgbWVhbnMgdGhhdCBtYXhpbXVtIHNpemUgb2YgdGhlIGl0ZW0gbXVzdCBiZSA0ODBweCArIDQ3OXB4ID0gOTU5cHguCiAgICAgICAqICovCiAgICAgIC5ob3Jpem9udGFsIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICAgIHRmLW1lc2gtbG9hZGVyIHsKICAgICAgICB3aWR0aDogNDgwcHg7CiAgICAgICAgZmxleC1iYXNpczogNDgwcHg7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CgogIAo8L2RvbS1tb2R1bGU+PGRvbS1tb2R1bGUgaWQ9InRmLXRlbnNvcmJvYXJkIj4KICA8dGVtcGxhdGU+CiAgICA8cGFwZXItZGlhbG9nIHdpdGgtYmFja2Ryb3AgaWQ9InNldHRpbmdzIj4KICAgICAgPGgyPlNldHRpbmdzPC9oMj4KICAgICAgPHBhcGVyLWNoZWNrYm94IGlkPSJhdXRvLXJlbG9hZC1jaGVja2JveCIgY2hlY2tlZD0ie3thdXRvUmVsb2FkRW5hYmxlZH19Ij4KICAgICAgICBSZWxvYWQgZGF0YSBldmVyeSA8c3Bhbj5bW2F1dG9SZWxvYWRJbnRlcnZhbFNlY3NdXTwvc3Bhbj5zLgogICAgICA8L3BhcGVyLWNoZWNrYm94PgogICAgICA8cGFwZXItaW5wdXQgaWQ9InBhZ2luYXRpb25MaW1pdElucHV0IiBsYWJlbD0iUGFnaW5hdGlvbiBsaW1pdCIgYWx3YXlzLWZsb2F0LWxhYmVsIHR5cGU9Im51bWJlciIgbWluPSIxIiBzdGVwPSIxIiBvbi1jaGFuZ2U9Il9wYWdpbmF0aW9uTGltaXRDaGFuZ2VkIiBvbi12YWx1ZS1jaGFuZ2VkPSJfcGFnaW5hdGlvbkxpbWl0VmFsaWRhdGUiPjwvcGFwZXItaW5wdXQ+CiAgICA8L3BhcGVyLWRpYWxvZz4KICAgIDxwYXBlci1oZWFkZXItcGFuZWw+CiAgICAgIDxwYXBlci10b29sYmFyIGlkPSJ0b29sYmFyIiBzbG90PSJoZWFkZXIiIGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxkaXYgaWQ9InRvb2xiYXItY29udGVudCIgc2xvdD0idG9wIj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2hvbWVQYXRoXV0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLXRpdGxlIj5bW2JyYW5kXV08L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hvbWVQYXRoXV0iPgogICAgICAgICAgICA8YSBocmVmPSJbW19ob21lUGF0aF1dIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIGNsYXNzPSJ0b29sYmFyLXRpdGxlIj5bW2JyYW5kXV08L2E+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19hY3RpdmVEYXNoYm9hcmRzTm90TG9hZGVkXV0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0idG9vbGJhci1tZXNzYWdlIj4KICAgICAgICAgICAgICBMb2FkaW5nIGFjdGl2ZSBkYXNoYm9hcmRz4oCmCiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2FjdGl2ZURhc2hib2FyZHNMb2FkZWRdXSI+CiAgICAgICAgICAgIDxwYXBlci10YWJzIG5vaW5rIHNjcm9sbGFibGUgc2VsZWN0ZWQ9Int7X3NlbGVjdGVkRGFzaGJvYXJkfX0iIGF0dHItZm9yLXNlbGVjdGVkPSJkYXRhLWRhc2hib2FyZCI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfZGFzaGJvYXJkRGF0YV1dIiBhcz0iZGFzaGJvYXJkRGF0dW0iPgogICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc0Rhc2hib2FyZEFjdGl2ZShkaXNhYmxlZERhc2hib2FyZHMsIF9hY3RpdmVEYXNoYm9hcmRzLCBkYXNoYm9hcmREYXR1bSldXSI+CiAgICAgICAgICAgICAgICAgIDxwYXBlci10YWIgZGF0YS1kYXNoYm9hcmQkPSJbW2Rhc2hib2FyZERhdHVtLnBsdWdpbl1dIiB0aXRsZT0iW1tkYXNoYm9hcmREYXR1bS50YWJOYW1lXV0iPgogICAgICAgICAgICAgICAgICAgIFtbZGFzaGJvYXJkRGF0dW0udGFiTmFtZV1dCiAgICAgICAgICAgICAgICAgIDwvcGFwZXItdGFiPgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3BhcGVyLXRhYnM+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaW5hY3RpdmVEYXNoYm9hcmRzRXhpc3QoX2Rhc2hib2FyZERhdGEsIGRpc2FibGVkRGFzaGJvYXJkcywgX2FjdGl2ZURhc2hib2FyZHMpXV0iPgogICAgICAgICAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51IGxhYmVsPSJJTkFDVElWRSIgbm8tbGFiZWwtZmxvYXQgbm9pbmsgc3R5bGU9Im1hcmdpbi1sZWZ0OiAxMnB4Ij4KICAgICAgICAgICAgICAgIDxwYXBlci1saXN0Ym94IGlkPSJpbmFjdGl2ZS1kYXNoYm9hcmRzLW1lbnUiIHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiIHNlbGVjdGVkPSJ7e19zZWxlY3RlZERhc2hib2FyZH19IiBhdHRyLWZvci1zZWxlY3RlZD0iZGF0YS1kYXNoYm9hcmQiPgogICAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19kYXNoYm9hcmREYXRhXV0iIGFzPSJkYXNoYm9hcmREYXR1bSI+CiAgICAgICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc0Rhc2hib2FyZEluYWN0aXZlKGRpc2FibGVkRGFzaGJvYXJkcywgX2FjdGl2ZURhc2hib2FyZHMsIGRhc2hib2FyZERhdHVtKV1dIiByZXN0YW1wPgogICAgICAgICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0gZGF0YS1kYXNoYm9hcmQkPSJbW2Rhc2hib2FyZERhdHVtLnBsdWdpbl1dIj5bW2Rhc2hib2FyZERhdHVtLnRhYk5hbWVdXTwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgICAgICAgICAgIDwvcGFwZXItZHJvcGRvd24tbWVudT4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJnbG9iYWwtYWN0aW9ucyI+CiAgICAgICAgICAgIDxzbG90IG5hbWU9ImluamVjdGVkLWhlYWRlci1pdGVtcyI+PC9zbG90PgogICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b24gaWQ9InJlbG9hZC1idXR0b24iIGNsYXNzJD0iW1tfZ2V0RGF0YVJlZnJlc2hpbmdDbGFzcyhfcmVmcmVzaGluZyldXSIgZGlzYWJsZWQkPSJbW19pc1JlbG9hZERpc2FibGVkXV0iIGljb249InJlZnJlc2giIG9uLXRhcD0icmVsb2FkIiB0aXRsZSQ9Ikxhc3QgdXBkYXRlZDogW1tfbGFzdFJlbG9hZFRpbWVTaG9ydF1dIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0ic2V0dGluZ3MiIG9uLXRhcD0ib3BlblNldHRpbmdzIiBpZD0ic2V0dGluZ3MtYnV0dG9uIj48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIgdGFiaW5kZXg9Ii0xIiB0YXJnZXQ9Il9ibGFuayI+CiAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249ImhlbHAtb3V0bGluZSI+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgICAgPC9hPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvcGFwZXItdG9vbGJhcj4KCiAgICAgIDxkaXYgaWQ9ImNvbnRlbnQtcGFuZSIgY2xhc3M9ImZpdCI+CiAgICAgICAgPHNsb3QgbmFtZT0iaW5qZWN0ZWQtb3ZlcnZpZXciPjwvc2xvdD4KICAgICAgICA8ZGl2IGlkPSJjb250ZW50Ij4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfYWN0aXZlRGFzaGJvYXJkc0ZhaWxlZFRvTG9hZF1dIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0id2FybmluZy1tZXNzYWdlIj4KICAgICAgICAgICAgICA8aDM+RmFpbGVkIHRvIGxvYWQgdGhlIHNldCBvZiBhY3RpdmUgZGFzaGJvYXJkcy48L2gzPgogICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgVGhpcyBjYW4gb2NjdXIgaWYgdGhlIFRlbnNvckJvYXJkIGJhY2tlbmQgaXMgbm8gbG9uZ2VyIHJ1bm5pbmcuCiAgICAgICAgICAgICAgICBQZXJoYXBzIHRoaXMgcGFnZSBpcyBjYWNoZWQ/CiAgICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgIElmIHlvdSB0aGluayB0aGF0IHlvdeKAmXZlIGZpeGVkIHRoZSBwcm9ibGVtLCBjbGljayB0aGUgcmVsb2FkCiAgICAgICAgICAgICAgICBidXR0b24gaW4gdGhlIHRvcC1yaWdodC4KICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1thdXRvUmVsb2FkRW5hYmxlZF1dIj4KICAgICAgICAgICAgICAgICAgV2XigJlsbCB0cnkgdG8gcmVsb2FkIGV2ZXJ5CiAgICAgICAgICAgICAgICAgIFtbYXV0b1JlbG9hZEludGVydmFsU2Vjc11dJm5ic3A7c2Vjb25kcyBhcyB3ZWxsLgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8L3A+CgogICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgPGk+TGFzdCByZWxvYWQ6IFtbX2xhc3RSZWxvYWRUaW1lXV08L2k+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFMb2NhdGlvbl1dIj4KICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT48L3A+PHA+CiAgICAgICAgICAgICAgICAgICAgPGk+TG9nIGRpcmVjdG9yeToKICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJkYXRhX2xvY2F0aW9uIj5bW19kYXRhTG9jYXRpb25dXTwvc3Bhbj48L2k+CiAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgIDxwPjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19zaG93Tm9EYXNoYm9hcmRzTWVzc2FnZV1dIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0id2FybmluZy1tZXNzYWdlIj4KICAgICAgICAgICAgICA8aDM+Tm8gZGFzaGJvYXJkcyBhcmUgYWN0aXZlIGZvciB0aGUgY3VycmVudCBkYXRhIHNldC48L2gzPgogICAgICAgICAgICAgIDxwPlByb2JhYmxlIGNhdXNlczo8L3A+CiAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgPGxpPllvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+VGVuc29yQm9hcmQgY2Fu4oCZdCBmaW5kIHlvdXIgZXZlbnQgZmlsZXMuPC9saT4KICAgICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCI+UkVBRE1FPC9hPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRlbnNvcmZsb3cub3JnL2dldF9zdGFydGVkL3N1bW1hcmllc19hbmRfdGVuc29yYm9hcmQiPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hPi4KICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgIElmIHlvdSB0aGluayBUZW5zb3JCb2FyZCBpcyBjb25maWd1cmVkIHByb3Blcmx5LCBwbGVhc2Ugc2VlCiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQjbXktdGVuc29yYm9hcmQtaXNudC1zaG93aW5nLWFueS1kYXRhLXdoYXRzLXdyb25nIj50aGUgc2VjdGlvbiBvZiB0aGUgUkVBRE1FIGRldm90ZWQgdG8gbWlzc2luZyBkYXRhIHByb2JsZW1zPC9hPgogICAgICAgICAgICAgICAgYW5kIGNvbnNpZGVyIGZpbGluZyBhbiBpc3N1ZSBvbiBHaXRIdWIuCiAgICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgIDxpPkxhc3QgcmVsb2FkOiBbW19sYXN0UmVsb2FkVGltZV1dPC9pPgogICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19kYXRhTG9jYXRpb25dXSI+CiAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+PC9wPjxwPgogICAgICAgICAgICAgICAgICAgIDxpPkRhdGEgbG9jYXRpb246CiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0iZGF0YV9sb2NhdGlvbiI+W1tfZGF0YUxvY2F0aW9uXV08L3NwYW4+PC9pPgogICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICA8cD48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc2hvd05vU3VjaERhc2hib2FyZE1lc3NhZ2VdXSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Indhcm5pbmctbWVzc2FnZSI+CiAgICAgICAgICAgICAgPGgzPgogICAgICAgICAgICAgICAgVGhlcmXigJlzIG5vIGRhc2hib2FyZCBieSB0aGUgbmFtZSBvZgogICAgICAgICAgICAgICAg4oCcPHR0PltbX3NlbGVjdGVkRGFzaGJvYXJkXV08L3R0Pi7igJ0KICAgICAgICAgICAgICA8L2gzPgogICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfYWN0aXZlRGFzaGJvYXJkc0xvYWRlZF1dIj4KICAgICAgICAgICAgICAgIDxwPllvdSBjYW4gc2VsZWN0IGEgZGFzaGJvYXJkIGZyb20gdGhlIGxpc3QgYWJvdmUuPC9wPjwvdGVtcGxhdGU+CgogICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgPGk+TGFzdCByZWxvYWQ6IFtbX2xhc3RSZWxvYWRUaW1lXV08L2k+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFMb2NhdGlvbl1dIj4KICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT48L3A+PHA+CiAgICAgICAgICAgICAgICAgICAgPGk+RGF0YSBsb2NhdGlvbjoKICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJkYXRhX2xvY2F0aW9uIj5bW19kYXRhTG9jYXRpb25dXTwvc3Bhbj48L2k+CiAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgIDxwPjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpZD0iZGFzaGJvYXJkcy10ZW1wbGF0ZSIgaXRlbXM9IltbX2Rhc2hib2FyZERhdGFdXSIgYXM9ImRhc2hib2FyZERhdHVtIiBvbi1kb20tY2hhbmdlPSJfb25UZW1wbGF0ZUNoYW5nZWQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXNoYm9hcmQtY29udGFpbmVyIiBkYXRhLWRhc2hib2FyZCQ9IltbZGFzaGJvYXJkRGF0dW0ucGx1Z2luXV0iIGRhdGEtc2VsZWN0ZWQkPSJbW19zZWxlY3RlZFN0YXR1cyhfc2VsZWN0ZWREYXNoYm9hcmQsIGRhc2hib2FyZERhdHVtLnBsdWdpbildXSI+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L3BhcGVyLWhlYWRlci1wYW5lbD4KCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItZ3JleS0xMDApOwogICAgICB9CgogICAgICAjdG9vbGJhciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKAogICAgICAgICAgLS10Yi10b29sYmFyLWJhY2tncm91bmQtY29sb3IsCiAgICAgICAgICB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKQogICAgICAgICk7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDsKICAgICAgICAvKiBJbmNyZWFzZSBjbGlja2FibGUgYXJlYSBmb3IgY2FzZSB3aGVyZSB0aXRsZSBpcyBhbiBhbmNob3IuICovCiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZGlzcGxheTogdmFyKC0tdGItdG9vbGJhci10aXRsZS1kaXNwbGF5LCBibG9jayk7CiAgICAgIH0KCiAgICAgIGEudG9vbGJhci10aXRsZSB7CiAgICAgICAgLyogT3ZlcnJpZGUgZGVmYXVsdCBhbmNob3IgY29sb3IuICovCiAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgICAgLyogT3ZlcnJpZGUgZGVmYXVsdCBhbmNob3IgdGV4dC1kZWNvcmF0aW9uLiAqLwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItbWVzc2FnZSB7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICBwYXBlci10YWJzIHsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIC0tcGFwZXItdGFicy1zZWxlY3Rpb24tYmFyLWNvbG9yOiB3aGl0ZTsKICAgICAgICAtLXBhcGVyLXRhYnMtY29udGVudDogewogICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIH0KICAgICAgfQoKICAgICAgcGFwZXItZHJvcGRvd24tbWVudSB7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvcjogd2hpdGU7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtY29sb3I6IHdoaXRlOwogICAgICAgIC0tcGFwZXItZHJvcGRvd24tbWVudS1pY29uOiB7CiAgICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgfQogICAgICAgIC0tcGFwZXItZHJvcGRvd24tbWVudS1pbnB1dDogewogICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIH0KICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbDogewogICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIH0KICAgICAgfQoKICAgICAgcGFwZXItZHJvcGRvd24tbWVudSBwYXBlci1pdGVtIHsKICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICB9CgogICAgICAjaW5hY3RpdmUtZGFzaGJvYXJkcy1tZW51IHsKICAgICAgICAtLXBhcGVyLWxpc3Rib3gtYmFja2dyb3VuZC1jb2xvcjogdmFyKAogICAgICAgICAgLS10Yi10b29sYmFyLWJhY2tncm91bmQtY29sb3IsCiAgICAgICAgICB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKQogICAgICAgICk7CiAgICAgICAgLS1wYXBlci1saXN0Ym94LWNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLmdsb2JhbC1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgLyogRW5zdXJlIHRoYXQgaWNvbnMgc3RheSBhbGlnbmVkICovCiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLmdsb2JhbC1hY3Rpb25zIGEgewogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgI3Rvb2xiYXItY29udGVudCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgI2NvbnRlbnQtcGFuZSB7CiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNjb250ZW50IHsKICAgICAgICBmbGV4OiAxIDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmRhc2hib2FyZC1jb250YWluZXIgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLyogSGlkZSB1bnNlbGVjdGVkIGRhc2hib2FyZHMuIFdlIHN0aWxsIGRpc3BsYXkgdGhlbSB3aXRoaW4gYSBjb250YWluZXIKICAgICAgICAgb2YgaGVpZ2h0IDAgc2luY2UgUGxvdHRhYmxlIHByb2R1Y2VzIGRlZ2VuZXJhdGUgY2hhcnRzIHdoZW4gY2hhcnRzIGFyZQogICAgICAgICByZWxvYWRlZCB3aGlsZSBub3QgZGlzcGxheWVkLiAqLwogICAgICAuZGFzaGJvYXJkLWNvbnRhaW5lcjpub3QoW2RhdGEtc2VsZWN0ZWRdKSB7CiAgICAgICAgbWF4LWhlaWdodDogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAvKiogV2UgZnVydGhlciBtYWtlIGNvbnRhaW5lcnMgaW52aXNpYmxlLiBTb21lIGVsZW1lbnRzIG1heSBhbmNob3IgdG8KICAgICAgICAgICAgdGhlIHZpZXdwb3J0IGluc3RlYWQgb2YgdGhlIGNvbnRhaW5lciwgaW4gd2hpY2ggY2FzZSBzZXR0aW5nIHRoZSBtYXgKICAgICAgICAgICAgaGVpZ2h0IGhlcmUgdG8gMCB3aWxsIG5vdCBoaWRlIHRoZW0uICovCiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICB9CgogICAgICAuZGFzaGJvYXJkLWNvbnRhaW5lciBpZnJhbWUgewogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC53YXJuaW5nLW1lc3NhZ2UgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CgogICAgICBbZGlzYWJsZWRdIHsKICAgICAgICBvcGFjaXR5OiAwLjI7CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICB9CgogICAgICAjcmVsb2FkLWJ1dHRvbi5yZWZyZXNoaW5nIHsKICAgICAgICBhbmltYXRpb246IHJvdGF0ZSAycyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgcm90YXRlIHsKICAgICAgICAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsKICAgICAgICB9CiAgICAgICAgNTAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgICB9CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KICAKICAKPC9kb20tbW9kdWxlPjx0Zi10ZW5zb3Jib2FyZCB1c2UtaGFzaCBicmFuZD0iVGVuc29yQm9hcmQiPjwvdGYtdGVuc29yYm9hcmQ+PHNjcmlwdCBzcmM9ImluZGV4LmpzIj48L3NjcmlwdD48L2JvZHk+PC9odG1sPg==", "ok": true, "headers": [ [ "content-type", "text/html; charset=utf-8" ] ], "status": 200, "status_text": "" }, "https://localhost:6006/index.js": { "data": "dmFyIENMT1NVUkVfTk9fREVQUyA9IHRydWU7Ci8vIENvcHlyaWdodCAyMDA2IFRoZSBDbG9zdXJlIExpYnJhcnkgQXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLy8KLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci8vIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLy8gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci8vCi8vICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCi8vCi8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTLUlTIiBCQVNJUywKLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgovKioKICogQGZpbGVvdmVydmlldyBCb290c3RyYXAgZm9yIHRoZSBHb29nbGUgSlMgTGlicmFyeSAoQ2xvc3VyZSkuCiAqCiAqIEluIHVuY29tcGlsZWQgbW9kZSBiYXNlLmpzIHdpbGwgYXR0ZW1wdCB0byBsb2FkIENsb3N1cmUncyBkZXBzIGZpbGUsIHVubGVzcwogKiB0aGUgZ2xvYmFsIDxjb2RlPkNMT1NVUkVfTk9fREVQUzwvY29kZT4gaXMgc2V0IHRvIHRydWUuICBUaGlzIGFsbG93cyBwcm9qZWN0cwogKiB0byBpbmNsdWRlIHRoZWlyIG93biBkZXBzIGZpbGUocykgZnJvbSBkaWZmZXJlbnQgbG9jYXRpb25zLgogKgogKiBBdm9pZCBpbmNsdWRpbmcgYmFzZS5qcyBtb3JlIHRoYW4gb25jZS4gVGhpcyBpcyBzdHJpY3RseSBkaXNjb3VyYWdlZCBhbmQgbm90CiAqIHN1cHBvcnRlZC4gZ29vZy5yZXF1aXJlKC4uLikgd29uJ3Qgd29yayBwcm9wZXJseSBpbiB0aGF0IGNhc2UuCiAqCiAqIEBwcm92aWRlR29vZwogKi8KCgovKioKICogQGRlZmluZSB7Ym9vbGVhbn0gT3ZlcnJpZGRlbiB0byB0cnVlIGJ5IHRoZSBjb21waWxlci4KICovCnZhciBDT01QSUxFRCA9IGZhbHNlOwoKCi8qKgogKiBCYXNlIG5hbWVzcGFjZSBmb3IgdGhlIENsb3N1cmUgbGlicmFyeS4gIENoZWNrcyB0byBzZWUgZ29vZyBpcyBhbHJlYWR5CiAqIGRlZmluZWQgaW4gdGhlIGN1cnJlbnQgc2NvcGUgYmVmb3JlIGFzc2lnbmluZyB0byBwcmV2ZW50IGNsb2JiZXJpbmcgaWYKICogYmFzZS5qcyBpcyBsb2FkZWQgbW9yZSB0aGFuIG9uY2UuCiAqCiAqIEBjb25zdAogKi8KdmFyIGdvb2cgPSBnb29nIHx8IHt9OwoKLyoqCiAqIFJlZmVyZW5jZSB0byB0aGUgZ2xvYmFsIG9iamVjdC4KICogaHR0cHM6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi85LjAvaW5kZXguaHRtbCNzZWMtZ2xvYmFsLW9iamVjdAogKgogKiBNb3JlIGluZm8gb24gdGhpcyBpbXBsZW1lbnRhdGlvbiBoZXJlOgogKiBodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFOQWVXNFdrN0k3RlYwWTJ0Y1VGdlFkR01jODlrMnZkZ1NYSW53OF9udkNJL2VkaXQKICoKICogQGNvbnN0CiAqIEBzdXBwcmVzcyB7dW5kZWZpbmVkVmFyc30gc2VsZiB3b24ndCBiZSByZWZlcmVuY2VkIHVubGVzcyBgdGhpc2AgaXMgZmFsc3kuCiAqIEB0eXBlIHshR2xvYmFsfQogKi8KZ29vZy5nbG9iYWwgPQogICAgLy8gQ2hlY2sgYHRoaXNgIGZpcnN0IGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KICAgIC8vIFZhbGlkIHVubGVzcyBydW5uaW5nIGFzIGFuIEVTIG1vZHVsZSBvciBpbiBhIGZ1bmN0aW9uIHdyYXBwZXIgY2FsbGVkCiAgICAvLyAgIHdpdGhvdXQgc2V0dGluZyBgdGhpc2AgcHJvcGVybHkuCiAgICAvLyBOb3RlIHRoYXQgYmFzZS5qcyBjYW4ndCB1c2VmdWxseSBiZSBpbXBvcnRlZCBhcyBhbiBFUyBtb2R1bGUsIGJ1dCBpdCBtYXkKICAgIC8vIGJlIGNvbXBpbGVkIGludG8gYnVuZGxlcyB0aGF0IGFyZSBsb2FkYWJsZSBhcyBFUyBtb2R1bGVzLgogICAgdGhpcyB8fAogICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1dpbmRvdy9zZWxmCiAgICAvLyBGb3IgaW4tcGFnZSBicm93c2VyIGVudmlyb25tZW50cyBhbmQgd29ya2Vycy4KICAgIHNlbGY7CgoKLyoqCiAqIEEgaG9vayBmb3Igb3ZlcnJpZGluZyB0aGUgZGVmaW5lIHZhbHVlcyBpbiB1bmNvbXBpbGVkIG1vZGUuCiAqCiAqIEluIHVuY29tcGlsZWQgbW9kZSwgYENMT1NVUkVfVU5DT01QSUxFRF9ERUZJTkVTYCBtYXkgYmUgZGVmaW5lZCBiZWZvcmUKICogbG9hZGluZyBiYXNlLmpzLiAgSWYgYSBrZXkgaXMgZGVmaW5lZCBpbiBgQ0xPU1VSRV9VTkNPTVBJTEVEX0RFRklORVNgLAogKiBgZ29vZy5kZWZpbmVgIHdpbGwgdXNlIHRoZSB2YWx1ZSBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IHZhbHVlLiAgVGhpcwogKiBhbGxvd3MgZmxhZ3MgdG8gYmUgb3ZlcndyaXR0ZW4gd2l0aG91dCBjb21waWxhdGlvbiAodGhpcyBpcyBub3JtYWxseQogKiBhY2NvbXBsaXNoZWQgd2l0aCB0aGUgY29tcGlsZXIncyAiZGVmaW5lIiBmbGFnKS4KICoKICogRXhhbXBsZToKICogPHByZT4KICogICB2YXIgQ0xPU1VSRV9VTkNPTVBJTEVEX0RFRklORVMgPSB7J2dvb2cuREVCVUcnOiBmYWxzZX07CiAqIDwvcHJlPgogKgogKiBAdHlwZSB7T2JqZWN0PHN0cmluZywgKHN0cmluZ3xudW1iZXJ8Ym9vbGVhbik+fHVuZGVmaW5lZH0KICovCmdvb2cuZ2xvYmFsLkNMT1NVUkVfVU5DT01QSUxFRF9ERUZJTkVTOwoKCi8qKgogKiBBIGhvb2sgZm9yIG92ZXJyaWRpbmcgdGhlIGRlZmluZSB2YWx1ZXMgaW4gdW5jb21waWxlZCBvciBjb21waWxlZCBtb2RlLAogKiBsaWtlIENMT1NVUkVfVU5DT01QSUxFRF9ERUZJTkVTIGJ1dCBlZmZlY3RpdmUgaW4gY29tcGlsZWQgY29kZS4gIEluCiAqIHVuY29tcGlsZWQgY29kZSBDTE9TVVJFX1VOQ09NUElMRURfREVGSU5FUyB0YWtlcyBwcmVjZWRlbmNlLgogKgogKiBBbHNvIHVubGlrZSBDTE9TVVJFX1VOQ09NUElMRURfREVGSU5FUyB0aGUgdmFsdWVzIG11c3QgYmUgbnVtYmVyLCBib29sZWFuIG9yCiAqIHN0cmluZyBsaXRlcmFscyBvciB0aGUgY29tcGlsZXIgd2lsbCBlbWl0IGFuIGVycm9yLgogKgogKiBXaGlsZSBhbnkgQGRlZmluZSB2YWx1ZSBtYXkgYmUgc2V0LCBvbmx5IHRob3NlIHNldCB3aXRoIGdvb2cuZGVmaW5lIHdpbGwgYmUKICogZWZmZWN0aXZlIGZvciB1bmNvbXBpbGVkIGNvZGUuCiAqCiAqIEV4YW1wbGU6CiAqIDxwcmU+CiAqICAgdmFyIENMT1NVUkVfREVGSU5FUyA9IHsnZ29vZy5ERUJVRyc6IGZhbHNlfSA7CiAqIDwvcHJlPgogKgogKiBAdHlwZSB7T2JqZWN0PHN0cmluZywgKHN0cmluZ3xudW1iZXJ8Ym9vbGVhbik+fHVuZGVmaW5lZH0KICovCmdvb2cuZ2xvYmFsLkNMT1NVUkVfREVGSU5FUzsKCgovKioKICogUmV0dXJucyB0cnVlIGlmIHRoZSBzcGVjaWZpZWQgdmFsdWUgaXMgbm90IHVuZGVmaW5lZC4KICoKICogQHBhcmFtIHs/fSB2YWwgVmFyaWFibGUgdG8gdGVzdC4KICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB2YXJpYWJsZSBpcyBkZWZpbmVkLgogKiBAZGVwcmVjYXRlZCBVc2UgYHZhbCAhPT0gdW5kZWZpbmVkYCBpbnN0ZWFkLgogKi8KZ29vZy5pc0RlZiA9IGZ1bmN0aW9uKHZhbCkgewogIC8vIHZvaWQgMCBhbHdheXMgZXZhbHVhdGVzIHRvIHVuZGVmaW5lZCBhbmQgaGVuY2Ugd2UgZG8gbm90IG5lZWQgdG8gZGVwZW5kIG9uCiAgLy8gdGhlIGRlZmluaXRpb24gb2YgdGhlIGdsb2JhbCB2YXJpYWJsZSBuYW1lZCAndW5kZWZpbmVkJy4KICByZXR1cm4gdmFsICE9PSB2b2lkIDA7Cn07CgovKioKICogUmV0dXJucyB0cnVlIGlmIHRoZSBzcGVjaWZpZWQgdmFsdWUgaXMgYSBzdHJpbmcuCiAqIEBwYXJhbSB7P30gdmFsIFZhcmlhYmxlIHRvIHRlc3QuCiAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdmFyaWFibGUgaXMgYSBzdHJpbmcuCiAqIEBkZXByZWNhdGVkIFVzZSBgdHlwZW9mIHZhbCA9PT0gJ3N0cmluZydgIGluc3RlYWQuCiAqLwpnb29nLmlzU3RyaW5nID0gZnVuY3Rpb24odmFsKSB7CiAgcmV0dXJuIHR5cGVvZiB2YWwgPT0gJ3N0cmluZyc7Cn07CgoKLyoqCiAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgc3BlY2lmaWVkIHZhbHVlIGlzIGEgYm9vbGVhbi4KICogQHBhcmFtIHs/fSB2YWwgVmFyaWFibGUgdG8gdGVzdC4KICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB2YXJpYWJsZSBpcyBib29sZWFuLgogKiBAZGVwcmVjYXRlZCBVc2UgYHR5cGVvZiB2YWwgPT09ICdib29sZWFuJ2AgaW5zdGVhZC4KICovCmdvb2cuaXNCb29sZWFuID0gZnVuY3Rpb24odmFsKSB7CiAgcmV0dXJuIHR5cGVvZiB2YWwgPT0gJ2Jvb2xlYW4nOwp9OwoKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHNwZWNpZmllZCB2YWx1ZSBpcyBhIG51bWJlci4KICogQHBhcmFtIHs/fSB2YWwgVmFyaWFibGUgdG8gdGVzdC4KICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB2YXJpYWJsZSBpcyBhIG51bWJlci4KICogQGRlcHJlY2F0ZWQgVXNlIGB0eXBlb2YgdmFsID09PSAnbnVtYmVyJ2AgaW5zdGVhZC4KICovCmdvb2cuaXNOdW1iZXIgPSBmdW5jdGlvbih2YWwpIHsKICByZXR1cm4gdHlwZW9mIHZhbCA9PSAnbnVtYmVyJzsKfTsKCgovKioKICogQnVpbGRzIGFuIG9iamVjdCBzdHJ1Y3R1cmUgZm9yIHRoZSBwcm92aWRlZCBuYW1lc3BhY2UgcGF0aCwgZW5zdXJpbmcgdGhhdAogKiBuYW1lcyB0aGF0IGFscmVhZHkgZXhpc3QgYXJlIG5vdCBvdmVyd3JpdHRlbi4gRm9yIGV4YW1wbGU6CiAqICJhLmIuYyIgLT4gYSA9IHt9O2EuYj17fTthLmIuYz17fTsKICogVXNlZCBieSBnb29nLnByb3ZpZGUgYW5kIGdvb2cuZXhwb3J0U3ltYm9sLgogKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBuYW1lIG9mIHRoZSBvYmplY3QgdGhhdCB0aGlzIGZpbGUgZGVmaW5lcy4KICogQHBhcmFtIHsqPX0gb3B0X29iamVjdCB0aGUgb2JqZWN0IHRvIGV4cG9zZSBhdCB0aGUgZW5kIG9mIHRoZSBwYXRoLgogKiBAcGFyYW0ge09iamVjdD19IG9wdF9vYmplY3RUb0V4cG9ydFRvIFRoZSBvYmplY3QgdG8gYWRkIHRoZSBwYXRoIHRvOyBkZWZhdWx0CiAqICAgICBpcyBgZ29vZy5nbG9iYWxgLgogKiBAcHJpdmF0ZQogKi8KZ29vZy5leHBvcnRQYXRoXyA9IGZ1bmN0aW9uKG5hbWUsIG9wdF9vYmplY3QsIG9wdF9vYmplY3RUb0V4cG9ydFRvKSB7CiAgdmFyIHBhcnRzID0gbmFtZS5zcGxpdCgnLicpOwogIHZhciBjdXIgPSBvcHRfb2JqZWN0VG9FeHBvcnRUbyB8fCBnb29nLmdsb2JhbDsKCiAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgZXhoaWJpdHMgc3RyYW5nZSBiZWhhdmlvciB3aGVuIHRocm93aW5nIGVycm9ycyBmcm9tCiAgLy8gbWV0aG9kcyBleHRlcm5lZCBpbiB0aGlzIG1hbm5lci4gIFNlZSB0aGUgdGVzdEV4cG9ydFN5bWJvbEV4Y2VwdGlvbnMgaW4KICAvLyBiYXNlX3Rlc3QuaHRtbCBmb3IgYW4gZXhhbXBsZS4KICBpZiAoIShwYXJ0c1swXSBpbiBjdXIpICYmIHR5cGVvZiBjdXIuZXhlY1NjcmlwdCAhPSAndW5kZWZpbmVkJykgewogICAgY3VyLmV4ZWNTY3JpcHQoJ3ZhciAnICsgcGFydHNbMF0pOwogIH0KCiAgZm9yICh2YXIgcGFydDsgcGFydHMubGVuZ3RoICYmIChwYXJ0ID0gcGFydHMuc2hpZnQoKSk7KSB7CiAgICBpZiAoIXBhcnRzLmxlbmd0aCAmJiBvcHRfb2JqZWN0ICE9PSB1bmRlZmluZWQpIHsKICAgICAgLy8gbGFzdCBwYXJ0IGFuZCB3ZSBoYXZlIGFuIG9iamVjdDsgdXNlIGl0CiAgICAgIGN1cltwYXJ0XSA9IG9wdF9vYmplY3Q7CiAgICB9IGVsc2UgaWYgKGN1cltwYXJ0XSAmJiBjdXJbcGFydF0gIT09IE9iamVjdC5wcm90b3R5cGVbcGFydF0pIHsKICAgICAgY3VyID0gY3VyW3BhcnRdOwogICAgfSBlbHNlIHsKICAgICAgY3VyID0gY3VyW3BhcnRdID0ge307CiAgICB9CiAgfQp9OwoKCi8qKgogKiBEZWZpbmVzIGEgbmFtZWQgdmFsdWUuIEluIHVuY29tcGlsZWQgbW9kZSwgdGhlIHZhbHVlIGlzIHJldHJpZXZlZCBmcm9tCiAqIENMT1NVUkVfREVGSU5FUyBvciBDTE9TVVJFX1VOQ09NUElMRURfREVGSU5FUyBpZiB0aGUgb2JqZWN0IGlzIGRlZmluZWQgYW5kCiAqIGhhcyB0aGUgcHJvcGVydHkgc3BlY2lmaWVkLCBhbmQgb3RoZXJ3aXNlIHVzZWQgdGhlIGRlZmluZWQgZGVmYXVsdFZhbHVlLgogKiBXaGVuIGNvbXBpbGVkIHRoZSBkZWZhdWx0IGNhbiBiZSBvdmVycmlkZGVuIHVzaW5nIHRoZSBjb21waWxlciBvcHRpb25zIG9yIHRoZQogKiB2YWx1ZSBzZXQgaW4gdGhlIENMT1NVUkVfREVGSU5FUyBvYmplY3QuIFJldHVybnMgdGhlIGRlZmluZWQgdmFsdWUgc28gdGhhdCBpdAogKiBjYW4gYmUgdXNlZCBzYWZlbHkgaW4gbW9kdWxlcy4gTm90ZSB0aGF0IHRoZSB2YWx1ZSB0eXBlIE1VU1QgYmUgZWl0aGVyCiAqIGJvb2xlYW4sIG51bWJlciwgb3Igc3RyaW5nLgogKgogKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgZGlzdGluZ3Vpc2hlZCBuYW1lIHRvIHByb3ZpZGUuCiAqIEBwYXJhbSB7VH0gZGVmYXVsdFZhbHVlCiAqIEByZXR1cm4ge1R9IFRoZSBkZWZpbmVkIHZhbHVlLgogKiBAdGVtcGxhdGUgVAogKi8KZ29vZy5kZWZpbmUgPSBmdW5jdGlvbihuYW1lLCBkZWZhdWx0VmFsdWUpIHsKICB2YXIgdmFsdWUgPSBkZWZhdWx0VmFsdWU7CiAgaWYgKCFDT01QSUxFRCkgewogICAgdmFyIHVuY29tcGlsZWREZWZpbmVzID0gZ29vZy5nbG9iYWwuQ0xPU1VSRV9VTkNPTVBJTEVEX0RFRklORVM7CiAgICB2YXIgZGVmaW5lcyA9IGdvb2cuZ2xvYmFsLkNMT1NVUkVfREVGSU5FUzsKICAgIGlmICh1bmNvbXBpbGVkRGVmaW5lcyAmJgogICAgICAgIC8vIEFudGkgRE9NLWNsb2JiZXJpbmcgcnVudGltZSBjaGVjayAoYi8zNzczNjU3NikuCiAgICAgICAgLyoqIEB0eXBlIHs/fSAqLyAodW5jb21waWxlZERlZmluZXMpLm5vZGVUeXBlID09PSB1bmRlZmluZWQgJiYKICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodW5jb21waWxlZERlZmluZXMsIG5hbWUpKSB7CiAgICAgIHZhbHVlID0gdW5jb21waWxlZERlZmluZXNbbmFtZV07CiAgICB9IGVsc2UgaWYgKAogICAgICAgIGRlZmluZXMgJiYKICAgICAgICAvLyBBbnRpIERPTS1jbG9iYmVyaW5nIHJ1bnRpbWUgY2hlY2sgKGIvMzc3MzY1NzYpLgogICAgICAgIC8qKiBAdHlwZSB7P30gKi8gKGRlZmluZXMpLm5vZGVUeXBlID09PSB1bmRlZmluZWQgJiYKICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZGVmaW5lcywgbmFtZSkpIHsKICAgICAgdmFsdWUgPSBkZWZpbmVzW25hbWVdOwogICAgfQogIH0KICByZXR1cm4gdmFsdWU7Cn07CgoKLyoqCiAqIEBkZWZpbmUge251bWJlcn0gSW50ZWdlciB5ZWFyIGluZGljYXRpbmcgdGhlIHNldCBvZiBicm93c2VyIGZlYXR1cmVzIHRoYXQgYXJlCiAqIGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudC4gIFRoaXMgaXMgZGVmaW5lZCB0byBpbmNsdWRlIGV4YWN0bHkgZmVhdHVyZXMgdGhhdAogKiB3b3JrIGNvcnJlY3RseSBvbiBhbGwgIm1vZGVybiIgYnJvd3NlcnMgdGhhdCBhcmUgc3RhYmxlIG9uIEphbnVhcnkgMSBvZiB0aGUKICogc3BlY2lmaWVkIHllYXIuICBGb3IgZXhhbXBsZSwKICogYGBganMKICogaWYgKGdvb2cuRkVBVFVSRVNFVF9ZRUFSID49IDIwMTkpIHsKICogICAvLyB1c2UgQVBJcyBrbm93biB0byBiZSBhdmFpbGFibGUgb24gYWxsIG1ham9yIHN0YWJsZSBicm93c2VycyBKYW4gMSwgMjAxOQogKiB9IGVsc2UgewogKiAgIC8vIHBvbHlmaWxsIGZvciBvbGRlciBicm93c2VycwogKiB9CiAqIGBgYAogKiBUaGlzIGlzIGludGVuZGVkIHRvIGJlIHRoZSBwcmltYXJ5IGRlZmluZSBmb3IgcmVtb3ZpbmcKICogdW5uZWNlc3NhcnkgYnJvd3NlciBjb21wYXRpYmlsaXR5IGNvZGUgKHN1Y2ggYXMgcG9ueWZpbGxzIGFuZCB3b3JrYXJvdW5kcyksCiAqIGFuZCBzaG91bGQgaW5mb3JtIHRoZSBkZWZhdWx0IHZhbHVlIGZvciBtb3N0IG90aGVyIGRlZmluZXM6CiAqIGBgYGpzCiAqIGNvbnN0IEFTU1VNRV9OQVRJVkVfUFJPTUlTRSA9CiAqICAgICBnb29nLmRlZmluZSgnQVNTVU1FX05BVElWRV9QUk9NSVNFJywgZ29vZy5GRUFUVVJFU0VUX1lFQVIgPj0gMjAxNik7CiAqIGBgYAogKgogKiBUaGUgZGVmYXVsdCBhc3N1bXB0aW9uIGlzIHRoYXQgSUU5IGlzIHRoZSBsb3dlc3Qgc3VwcG9ydGVkIGJyb3dzZXIsIHdoaWNoIHdhcwogKiBmaXJzdCBhdmFpbGFibGUgSmFuIDEsIDIwMTIuCiAqCiAqIFRPRE8odXNlcik6IFJlZmVyZW5jZSBtb3JlIHRob3JvdWdoIGRvY3VtZW50YXRpb24gd2hlbiBpdCdzIGF2YWlsYWJsZS4KICovCmdvb2cuRkVBVFVSRVNFVF9ZRUFSID0gZ29vZy5kZWZpbmUoJ2dvb2cuRkVBVFVSRVNFVF9ZRUFSJywgMjAxMik7CgoKLyoqCiAqIEBkZWZpbmUge2Jvb2xlYW59IERFQlVHIGlzIHByb3ZpZGVkIGFzIGEgY29udmVuaWVuY2Ugc28gdGhhdCBkZWJ1Z2dpbmcgY29kZQogKiB0aGF0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgaW4gYSBwcm9kdWN0aW9uLiBJdCBjYW4gYmUgZWFzaWx5IHN0cmlwcGVkCiAqIGJ5IHNwZWNpZnlpbmcgLS1kZWZpbmUgZ29vZy5ERUJVRz1mYWxzZSB0byB0aGUgQ2xvc3VyZSBDb21waWxlciBha2EKICogSlNDb21waWxlci4gRm9yIGV4YW1wbGUsIG1vc3QgdG9TdHJpbmcoKSBtZXRob2RzIHNob3VsZCBiZSBkZWNsYXJlZCBpbnNpZGUgYW4KICogImlmIChnb29nLkRFQlVHKSIgY29uZGl0aW9uYWwgYmVjYXVzZSB0aGV5IGFyZSBnZW5lcmFsbHkgdXNlZCBmb3IgZGVidWdnaW5nCiAqIHB1cnBvc2VzIGFuZCBpdCBpcyBkaWZmaWN1bHQgZm9yIHRoZSBKU0NvbXBpbGVyIHRvIHN0YXRpY2FsbHkgZGV0ZXJtaW5lCiAqIHdoZXRoZXIgdGhleSBhcmUgdXNlZC4KICovCmdvb2cuREVCVUcgPSBnb29nLmRlZmluZSgnZ29vZy5ERUJVRycsIHRydWUpOwoKCi8qKgogKiBAZGVmaW5lIHtzdHJpbmd9IExPQ0FMRSBkZWZpbmVzIHRoZSBsb2NhbGUgYmVpbmcgdXNlZCBmb3IgY29tcGlsYXRpb24uIEl0IGlzCiAqIHVzZWQgdG8gc2VsZWN0IGxvY2FsZSBzcGVjaWZpYyBkYXRhIHRvIGJlIGNvbXBpbGVkIGluIGpzIGJpbmFyeS4gQlVJTEQgcnVsZQogKiBjYW4gc3BlY2lmeSB0aGlzIHZhbHVlIGJ5ICItLWRlZmluZSBnb29nLkxPQ0FMRT08bG9jYWxlX25hbWU+IiBhcyBhIGNvbXBpbGVyCiAqIG9wdGlvbi4KICoKICogVGFrZSBpbnRvIGFjY291bnQgdGhhdCB0aGUgbG9jYWxlIGNvZGUgZm9ybWF0IGlzIGltcG9ydGFudC4gWW91IHNob3VsZCB1c2UKICogdGhlIGNhbm9uaWNhbCBVbmljb2RlIGZvcm1hdCB3aXRoIGh5cGhlbiBhcyBhIGRlbGltaXRlci4gTGFuZ3VhZ2UgbXVzdCBiZQogKiBsb3dlcmNhc2UsIExhbmd1YWdlIFNjcmlwdCAtIENhcGl0YWxpemVkLCBSZWdpb24gLSBVUFBFUkNBU0UuCiAqIFRoZXJlIGFyZSBmZXcgZXhhbXBsZXM6IHB0LUJSLCBlbiwgZW4tVVMsIHNyLUxhdGluLUJPLCB6aC1IYW5zLUNOLgogKgogKiBTZWUgbW9yZSBpbmZvIGFib3V0IGxvY2FsZSBjb2RlcyBoZXJlOgogKiBodHRwOi8vd3d3LnVuaWNvZGUub3JnL3JlcG9ydHMvdHIzNS8jVW5pY29kZV9MYW5ndWFnZV9hbmRfTG9jYWxlX0lkZW50aWZpZXJzCiAqCiAqIEZvciBsYW5ndWFnZSBjb2RlcyB5b3Ugc2hvdWxkIHVzZSB2YWx1ZXMgZGVmaW5lZCBieSBJU08gNjkzLTEuIFNlZSBpdCBoZXJlCiAqIGh0dHA6Ly93d3cudzMub3JnL1dBSS9FUi9JRy9lcnQvaXNvNjM5Lmh0bS4gVGhlcmUgaXMgb25seSBvbmUgZXhjZXB0aW9uIGZyb20KICogdGhpcyBydWxlOiB0aGUgSGVicmV3IGxhbmd1YWdlLiBGb3IgbGVnYWN5IHJlYXNvbnMgdGhlIG9sZCBjb2RlIChpdykgc2hvdWxkCiAqIGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgbmV3IGNvZGUgKGhlKS4KICoKICovCmdvb2cuTE9DQUxFID0gZ29vZy5kZWZpbmUoJ2dvb2cuTE9DQUxFJywgJ2VuJyk7ICAvLyBkZWZhdWx0IHRvIGVuCgoKLyoqCiAqIEBkZWZpbmUge2Jvb2xlYW59IFdoZXRoZXIgdGhpcyBjb2RlIGlzIHJ1bm5pbmcgb24gdHJ1c3RlZCBzaXRlcy4KICoKICogT24gdW50cnVzdGVkIHNpdGVzLCBzZXZlcmFsIG5hdGl2ZSBmdW5jdGlvbnMgY2FuIGJlIGRlZmluZWQgb3Igb3ZlcnJpZGRlbiBieQogKiBleHRlcm5hbCBsaWJyYXJpZXMgbGlrZSBQcm90b3R5cGUsIERhdGVqcywgYW5kIEpRdWVyeSBhbmQgc2V0dGluZyB0aGlzIGZsYWcKICogdG8gZmFsc2UgZm9yY2VzIGNsb3N1cmUgdG8gdXNlIGl0cyBvd24gaW1wbGVtZW50YXRpb25zIHdoZW4gcG9zc2libGUuCiAqCiAqIElmIHlvdXIgSmF2YVNjcmlwdCBjYW4gYmUgbG9hZGVkIGJ5IGEgdGhpcmQgcGFydHkgc2l0ZSBhbmQgeW91IGFyZSB3YXJ5IGFib3V0CiAqIHJlbHlpbmcgb24gbm9uLXN0YW5kYXJkIGltcGxlbWVudGF0aW9ucywgc3BlY2lmeQogKiAiLS1kZWZpbmUgZ29vZy5UUlVTVEVEX1NJVEU9ZmFsc2UiIHRvIHRoZSBjb21waWxlci4KICovCmdvb2cuVFJVU1RFRF9TSVRFID0gZ29vZy5kZWZpbmUoJ2dvb2cuVFJVU1RFRF9TSVRFJywgdHJ1ZSk7CgoKLyoqCiAqIEBkZWZpbmUge2Jvb2xlYW59IFdoZXRoZXIgYSBwcm9qZWN0IGlzIGV4cGVjdGVkIHRvIGJlIHJ1bm5pbmcgaW4gc3RyaWN0IG1vZGUuCiAqCiAqIFRoaXMgZGVmaW5lIGNhbiBiZSB1c2VkIHRvIHRyaWdnZXIgYWx0ZXJuYXRlIGltcGxlbWVudGF0aW9ucyBjb21wYXRpYmxlIHdpdGgKICogcnVubmluZyBpbiBFY21hU2NyaXB0IFN0cmljdCBtb2RlIG9yIHdhcm4gYWJvdXQgdW5hdmFpbGFibGUgZnVuY3Rpb25hbGl0eS4KICogQHNlZSBodHRwczovL2dvby5nbC9QdWRRNHkKICoKICovCmdvb2cuU1RSSUNUX01PREVfQ09NUEFUSUJMRSA9IGdvb2cuZGVmaW5lKCdnb29nLlNUUklDVF9NT0RFX0NPTVBBVElCTEUnLCBmYWxzZSk7CgoKLyoqCiAqIEBkZWZpbmUge2Jvb2xlYW59IFdoZXRoZXIgY29kZSB0aGF0IGNhbGxzIHtAbGluayBnb29nLnNldFRlc3RPbmx5fSBzaG91bGQKICogICAgIGJlIGRpc2FsbG93ZWQgaW4gdGhlIGNvbXBpbGF0aW9uIHVuaXQuCiAqLwpnb29nLkRJU0FMTE9XX1RFU1RfT05MWV9DT0RFID0KICAgIGdvb2cuZGVmaW5lKCdnb29nLkRJU0FMTE9XX1RFU1RfT05MWV9DT0RFJywgQ09NUElMRUQgJiYgIWdvb2cuREVCVUcpOwoKCi8qKgogKiBAZGVmaW5lIHtib29sZWFufSBXaGV0aGVyIHRvIHVzZSBhIENocm9tZSBhcHAgQ1NQLWNvbXBsaWFudCBtZXRob2QgZm9yCiAqICAgICBsb2FkaW5nIHNjcmlwdHMgdmlhIGdvb2cucmVxdWlyZS4gQHNlZSBhcHBlbmRTY3JpcHRTcmNOb2RlXy4KICovCmdvb2cuRU5BQkxFX0NIUk9NRV9BUFBfU0FGRV9TQ1JJUFRfTE9BRElORyA9CiAgICBnb29nLmRlZmluZSgnZ29vZy5FTkFCTEVfQ0hST01FX0FQUF9TQUZFX1NDUklQVF9MT0FESU5HJywgZmFsc2UpOwoKCi8qKgogKiBEZWZpbmVzIGEgbmFtZXNwYWNlIGluIENsb3N1cmUuCiAqCiAqIEEgbmFtZXNwYWNlIG1heSBvbmx5IGJlIGRlZmluZWQgb25jZSBpbiBhIGNvZGViYXNlLiBJdCBtYXkgYmUgZGVmaW5lZCB1c2luZwogKiBnb29nLnByb3ZpZGUoKSBvciBnb29nLm1vZHVsZSgpLgogKgogKiBUaGUgcHJlc2VuY2Ugb2Ygb25lIG9yIG1vcmUgZ29vZy5wcm92aWRlKCkgY2FsbHMgaW4gYSBmaWxlIGluZGljYXRlcwogKiB0aGF0IHRoZSBmaWxlIGRlZmluZXMgdGhlIGdpdmVuIG9iamVjdHMvbmFtZXNwYWNlcy4KICogUHJvdmlkZWQgc3ltYm9scyBtdXN0IG5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZC4KICoKICogSW4gYWRkaXRpb24sIGdvb2cucHJvdmlkZSgpIGNyZWF0ZXMgdGhlIG9iamVjdCBzdHVicyBmb3IgYSBuYW1lc3BhY2UKICogKGZvciBleGFtcGxlLCBnb29nLnByb3ZpZGUoImdvb2cuZm9vLmJhciIpIHdpbGwgY3JlYXRlIHRoZSBvYmplY3QKICogZ29vZy5mb28uYmFyIGlmIGl0IGRvZXMgbm90IGFscmVhZHkgZXhpc3QpLgogKgogKiBCdWlsZCB0b29scyBhbHNvIHNjYW4gZm9yIHByb3ZpZGUvcmVxdWlyZS9tb2R1bGUgc3RhdGVtZW50cwogKiB0byBkaXNjZXJuIGRlcGVuZGVuY2llcywgYnVpbGQgZGVwZW5kZW5jeSBmaWxlcyAoc2VlIGRlcHMuanMpLCBldGMuCiAqCiAqIEBzZWUgZ29vZy5yZXF1aXJlCiAqIEBzZWUgZ29vZy5tb2R1bGUKICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZXNwYWNlIHByb3ZpZGVkIGJ5IHRoaXMgZmlsZSBpbiB0aGUgZm9ybQogKiAgICAgImdvb2cucGFja2FnZS5wYXJ0Ii4KICovCmdvb2cucHJvdmlkZSA9IGZ1bmN0aW9uKG5hbWUpIHsKICBpZiAoZ29vZy5pc0luTW9kdWxlTG9hZGVyXygpKSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoJ2dvb2cucHJvdmlkZSBjYW5ub3QgYmUgdXNlZCB3aXRoaW4gYSBtb2R1bGUuJyk7CiAgfQogIGlmICghQ09NUElMRUQpIHsKICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBzYW1lIG5hbWVzcGFjZSBpc24ndCBwcm92aWRlZCB0d2ljZS4KICAgIC8vIEEgZ29vZy5tb2R1bGUvZ29vZy5wcm92aWRlIG1hcHMgYSBnb29nLnJlcXVpcmUgdG8gYSBzcGVjaWZpYyBmaWxlCiAgICBpZiAoZ29vZy5pc1Byb3ZpZGVkXyhuYW1lKSkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoJ05hbWVzcGFjZSAiJyArIG5hbWUgKyAnIiBhbHJlYWR5IGRlY2xhcmVkLicpOwogICAgfQogIH0KCiAgZ29vZy5jb25zdHJ1Y3ROYW1lc3BhY2VfKG5hbWUpOwp9OwoKCi8qKgogKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBOYW1lc3BhY2UgcHJvdmlkZWQgYnkgdGhpcyBmaWxlIGluIHRoZSBmb3JtCiAqICAgICAiZ29vZy5wYWNrYWdlLnBhcnQiLgogKiBAcGFyYW0ge09iamVjdD19IG9wdF9vYmogVGhlIG9iamVjdCB0byBlbWJlZCBpbiB0aGUgbmFtZXNwYWNlLgogKiBAcHJpdmF0ZQogKi8KZ29vZy5jb25zdHJ1Y3ROYW1lc3BhY2VfID0gZnVuY3Rpb24obmFtZSwgb3B0X29iaikgewogIGlmICghQ09NUElMRUQpIHsKICAgIGRlbGV0ZSBnb29nLmltcGxpY2l0TmFtZXNwYWNlc19bbmFtZV07CgogICAgdmFyIG5hbWVzcGFjZSA9IG5hbWU7CiAgICB3aGlsZSAoKG5hbWVzcGFjZSA9IG5hbWVzcGFjZS5zdWJzdHJpbmcoMCwgbmFtZXNwYWNlLmxhc3RJbmRleE9mKCcuJykpKSkgewogICAgICBpZiAoZ29vZy5nZXRPYmplY3RCeU5hbWUobmFtZXNwYWNlKSkgewogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGdvb2cuaW1wbGljaXROYW1lc3BhY2VzX1tuYW1lc3BhY2VdID0gdHJ1ZTsKICAgIH0KICB9CgogIGdvb2cuZXhwb3J0UGF0aF8obmFtZSwgb3B0X29iaik7Cn07CgoKLyoqCiAqIFJldHVybnMgQ1NQIG5vbmNlLCBpZiBzZXQgZm9yIGFueSBzY3JpcHQgdGFnLgogKiBAcGFyYW0gez9XaW5kb3c9fSBvcHRfd2luZG93IFRoZSB3aW5kb3cgY29udGV4dCB1c2VkIHRvIHJldHJpZXZlIHRoZSBub25jZS4KICogICAgIERlZmF1bHRzIHRvIGdsb2JhbCBjb250ZXh0LgogKiBAcmV0dXJuIHtzdHJpbmd9IENTUCBub25jZSBvciBlbXB0eSBzdHJpbmcgaWYgbm8gbm9uY2UgaXMgcHJlc2VudC4KICovCmdvb2cuZ2V0U2NyaXB0Tm9uY2UgPSBmdW5jdGlvbihvcHRfd2luZG93KSB7CiAgaWYgKG9wdF93aW5kb3cgJiYgb3B0X3dpbmRvdyAhPSBnb29nLmdsb2JhbCkgewogICAgcmV0dXJuIGdvb2cuZ2V0U2NyaXB0Tm9uY2VfKG9wdF93aW5kb3cuZG9jdW1lbnQpOwogIH0KICBpZiAoZ29vZy5jc3BOb25jZV8gPT09IG51bGwpIHsKICAgIGdvb2cuY3NwTm9uY2VfID0gZ29vZy5nZXRTY3JpcHROb25jZV8oZ29vZy5nbG9iYWwuZG9jdW1lbnQpOwogIH0KICByZXR1cm4gZ29vZy5jc3BOb25jZV87Cn07CgoKLyoqCiAqIEFjY29yZGluZyB0byB0aGUgQ1NQMyBzcGVjIGEgbm9uY2UgbXVzdCBiZSBhIHZhbGlkIGJhc2U2NCBzdHJpbmcuCiAqIEBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL0NTUDMvI2dyYW1tYXJkZWYtYmFzZTY0LXZhbHVlCiAqIEBwcml2YXRlIEBjb25zdAogKi8KZ29vZy5OT05DRV9QQVRURVJOXyA9IC9eW1x3Ky9fLV0rWz1dezAsMn0kLzsKCgovKioKICogQHByaXZhdGUgez9zdHJpbmd9CiAqLwpnb29nLmNzcE5vbmNlXyA9IG51bGw7CgoKLyoqCiAqIFJldHVybnMgQ1NQIG5vbmNlLCBpZiBzZXQgZm9yIGFueSBzY3JpcHQgdGFnLgogKiBAcGFyYW0geyFEb2N1bWVudH0gZG9jCiAqIEByZXR1cm4ge3N0cmluZ30gQ1NQIG5vbmNlIG9yIGVtcHR5IHN0cmluZyBpZiBubyBub25jZSBpcyBwcmVzZW50LgogKiBAcHJpdmF0ZQogKi8KZ29vZy5nZXRTY3JpcHROb25jZV8gPSBmdW5jdGlvbihkb2MpIHsKICB2YXIgc2NyaXB0ID0gZG9jLnF1ZXJ5U2VsZWN0b3IgJiYgZG9jLnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFtub25jZV0nKTsKICBpZiAoc2NyaXB0KSB7CiAgICAvLyBUcnkgdG8gZ2V0IHRoZSBub25jZSBmcm9tIHRoZSBJREwgcHJvcGVydHkgZmlyc3QsIGJlY2F1c2UgYnJvd3NlcnMgdGhhdAogICAgLy8gaW1wbGVtZW50IGFkZGl0aW9uYWwgbm9uY2UgcHJvdGVjdGlvbiBmZWF0dXJlcyAoY3VycmVudGx5IG9ubHkgQ2hyb21lKSB0bwogICAgLy8gcHJldmVudCBub25jZSBzdGVhbGluZyB2aWEgQ1NTIGRvIG5vdCBleHBvc2UgdGhlIG5vbmNlIHZpYSBhdHRyaWJ1dGVzLgogICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvaHRtbC9pc3N1ZXMvMjM2OQogICAgdmFyIG5vbmNlID0gc2NyaXB0Wydub25jZSddIHx8IHNjcmlwdC5nZXRBdHRyaWJ1dGUoJ25vbmNlJyk7CiAgICBpZiAobm9uY2UgJiYgZ29vZy5OT05DRV9QQVRURVJOXy50ZXN0KG5vbmNlKSkgewogICAgICByZXR1cm4gbm9uY2U7CiAgICB9CiAgfQogIHJldHVybiAnJzsKfTsKCgovKioKICogTW9kdWxlIGlkZW50aWZpZXIgdmFsaWRhdGlvbiByZWdleHAuCiAqIE5vdGU6IFRoaXMgaXMgYSBjb25zZXJ2YXRpdmUgY2hlY2ssIGl0IGlzIHZlcnkgcG9zc2libGUgdG8gYmUgbW9yZSBsZW5pZW50LAogKiAgIHRoZSBwcmltYXJ5IGV4Y2x1c2lvbiBoZXJlIGlzICIvIiBhbmQgIlwiIGFuZCBhIGxlYWRpbmcgIi4iLCB0aGVzZQogKiAgIHJlc3RyaWN0aW9ucyBhcmUgaW50ZW5kZWQgdG8gbGVhdmUgdGhlIGRvb3Igb3BlbiBmb3IgdXNpbmcgZ29vZy5yZXF1aXJlCiAqICAgd2l0aCByZWxhdGl2ZSBmaWxlIHBhdGhzIHJhdGhlciB0aGFuIG1vZHVsZSBpZGVudGlmaWVycy4KICogQHByaXZhdGUKICovCmdvb2cuVkFMSURfTU9EVUxFX1JFXyA9IC9eW2EtekEtWl8kXVthLXpBLVowLTkuXyRdKiQvOwoKCi8qKgogKiBEZWZpbmVzIGEgbW9kdWxlIGluIENsb3N1cmUuCiAqCiAqIE1hcmtzIHRoYXQgdGhpcyBmaWxlIG11c3QgYmUgbG9hZGVkIGFzIGEgbW9kdWxlIGFuZCBjbGFpbXMgdGhlIG5hbWVzcGFjZS4KICoKICogQSBuYW1lc3BhY2UgbWF5IG9ubHkgYmUgZGVmaW5lZCBvbmNlIGluIGEgY29kZWJhc2UuIEl0IG1heSBiZSBkZWZpbmVkIHVzaW5nCiAqIGdvb2cucHJvdmlkZSgpIG9yIGdvb2cubW9kdWxlKCkuCiAqCiAqIGdvb2cubW9kdWxlKCkgaGFzIHRocmVlIHJlcXVpcmVtZW50czoKICogLSBnb29nLm1vZHVsZSBtYXkgbm90IGJlIHVzZWQgaW4gdGhlIHNhbWUgZmlsZSBhcyBnb29nLnByb3ZpZGUuCiAqIC0gZ29vZy5tb2R1bGUgbXVzdCBiZSB0aGUgZmlyc3Qgc3RhdGVtZW50IGluIHRoZSBmaWxlLgogKiAtIG9ubHkgb25lIGdvb2cubW9kdWxlIGlzIGFsbG93ZWQgcGVyIGZpbGUuCiAqCiAqIFdoZW4gYSBnb29nLm1vZHVsZSBhbm5vdGF0ZWQgZmlsZSBpcyBsb2FkZWQsIGl0IGlzIGVuY2xvc2VkIGluCiAqIGEgc3RyaWN0IGZ1bmN0aW9uIGNsb3N1cmUuIFRoaXMgbWVhbnMgdGhhdDoKICogLSBhbnkgdmFyaWFibGVzIGRlY2xhcmVkIGluIGEgZ29vZy5tb2R1bGUgZmlsZSBhcmUgcHJpdmF0ZSB0byB0aGUgZmlsZQogKiAobm90IGdsb2JhbCksIHRob3VnaCB0aGUgY29tcGlsZXIgaXMgZXhwZWN0ZWQgdG8gaW5saW5lIHRoZSBtb2R1bGUuCiAqIC0gVGhlIGNvZGUgbXVzdCBvYmV5IGFsbCB0aGUgcnVsZXMgb2YgInN0cmljdCIgSmF2YVNjcmlwdC4KICogLSB0aGUgZmlsZSB3aWxsIGJlIG1hcmtlZCBhcyAidXNlIHN0cmljdCIKICoKICogTk9URTogdW5saWtlIGdvb2cucHJvdmlkZSwgZ29vZy5tb2R1bGUgZG9lcyBub3QgZGVjbGFyZSBhbnkgc3ltYm9scyBieQogKiBpdHNlbGYuIElmIGRlY2xhcmVkIHN5bWJvbHMgYXJlIGRlc2lyZWQsIHVzZQogKiBnb29nLm1vZHVsZS5kZWNsYXJlTGVnYWN5TmFtZXNwYWNlKCkuCiAqCiAqCiAqIFNlZSB0aGUgcHVibGljIGdvb2cubW9kdWxlIHByb3Bvc2FsOiBodHRwOi8vZ29vLmdsL1ZhMWhpbgogKgogKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBOYW1lc3BhY2UgcHJvdmlkZWQgYnkgdGhpcyBmaWxlIGluIHRoZSBmb3JtCiAqICAgICAiZ29vZy5wYWNrYWdlLnBhcnQiLCBpcyBleHBlY3RlZCBidXQgbm90IHJlcXVpcmVkLgogKiBAcmV0dXJuIHt2b2lkfQogKi8KZ29vZy5tb2R1bGUgPSBmdW5jdGlvbihuYW1lKSB7CiAgaWYgKHR5cGVvZiBuYW1lICE9PSAnc3RyaW5nJyB8fCAhbmFtZSB8fAogICAgICBuYW1lLnNlYXJjaChnb29nLlZBTElEX01PRFVMRV9SRV8pID09IC0xKSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbW9kdWxlIGlkZW50aWZpZXInKTsKICB9CiAgaWYgKCFnb29nLmlzSW5Hb29nTW9kdWxlTG9hZGVyXygpKSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoCiAgICAgICAgJ01vZHVsZSAnICsgbmFtZSArICcgaGFzIGJlZW4gbG9hZGVkIGluY29ycmVjdGx5LiBOb3RlLCAnICsKICAgICAgICAnbW9kdWxlcyBjYW5ub3QgYmUgbG9hZGVkIGFzIG5vcm1hbCBzY3JpcHRzLiBUaGV5IHJlcXVpcmUgc29tZSBraW5kIG9mICcgKwogICAgICAgICdwcmUtcHJvY2Vzc2luZyBzdGVwLiBZb3VcJ3JlIGxpa2VseSB0cnlpbmcgdG8gbG9hZCBhIG1vZHVsZSB2aWEgYSAnICsKICAgICAgICAnc2NyaXB0IHRhZyBvciBhcyBhIHBhcnQgb2YgYSBjb25jYXRlbmF0ZWQgYnVuZGxlIHdpdGhvdXQgcmV3cml0aW5nIHRoZSAnICsKICAgICAgICAnbW9kdWxlLiBGb3IgbW9yZSBpbmZvIHNlZTogJyArCiAgICAgICAgJ2h0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvY2xvc3VyZS1saWJyYXJ5L3dpa2kvZ29vZy5tb2R1bGU6LWFuLUVTNi1tb2R1bGUtbGlrZS1hbHRlcm5hdGl2ZS10by1nb29nLnByb3ZpZGUuJyk7CiAgfQogIGlmIChnb29nLm1vZHVsZUxvYWRlclN0YXRlXy5tb2R1bGVOYW1lKSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoJ2dvb2cubW9kdWxlIG1heSBvbmx5IGJlIGNhbGxlZCBvbmNlIHBlciBtb2R1bGUuJyk7CiAgfQoKICAvLyBTdG9yZSB0aGUgbW9kdWxlIG5hbWUgZm9yIHRoZSBsb2FkZXIuCiAgZ29vZy5tb2R1bGVMb2FkZXJTdGF0ZV8ubW9kdWxlTmFtZSA9IG5hbWU7CiAgaWYgKCFDT01QSUxFRCkgewogICAgLy8gRW5zdXJlIHRoYXQgdGhlIHNhbWUgbmFtZXNwYWNlIGlzbid0IHByb3ZpZGVkIHR3aWNlLgogICAgLy8gQSBnb29nLm1vZHVsZS9nb29nLnByb3ZpZGUgbWFwcyBhIGdvb2cucmVxdWlyZSB0byBhIHNwZWNpZmljIGZpbGUKICAgIGlmIChnb29nLmlzUHJvdmlkZWRfKG5hbWUpKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcignTmFtZXNwYWNlICInICsgbmFtZSArICciIGFscmVhZHkgZGVjbGFyZWQuJyk7CiAgICB9CiAgICBkZWxldGUgZ29vZy5pbXBsaWNpdE5hbWVzcGFjZXNfW25hbWVdOwogIH0KfTsKCgovKioKICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG1vZHVsZSBpZGVudGlmaWVyLgogKiBAcmV0dXJuIHs/fSBUaGUgbW9kdWxlIGV4cG9ydHMgZm9yIGFuIGFscmVhZHkgbG9hZGVkIG1vZHVsZSBvciBudWxsLgogKgogKiBOb3RlOiBUaGlzIGlzIG5vdCBhbiBhbHRlcm5hdGl2ZSB0byBnb29nLnJlcXVpcmUsIGl0IGRvZXMgbm90CiAqIGluZGljYXRlIGEgaGFyZCBkZXBlbmRlbmN5LCBpbnN0ZWFkIGl0IGlzIHVzZWQgdG8gaW5kaWNhdGUKICogYW4gb3B0aW9uYWwgZGVwZW5kZW5jeSBvciB0byBhY2Nlc3MgdGhlIGV4cG9ydHMgb2YgYSBtb2R1bGUKICogdGhhdCBoYXMgYWxyZWFkeSBiZWVuIGxvYWRlZC4KICogQHN1cHByZXNzIHttaXNzaW5nUHJvdmlkZX0KICovCmdvb2cubW9kdWxlLmdldCA9IGZ1bmN0aW9uKG5hbWUpIHsKICByZXR1cm4gZ29vZy5tb2R1bGUuZ2V0SW50ZXJuYWxfKG5hbWUpOwp9OwoKCi8qKgogKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbW9kdWxlIGlkZW50aWZpZXIuCiAqIEByZXR1cm4gez99IFRoZSBtb2R1bGUgZXhwb3J0cyBmb3IgYW4gYWxyZWFkeSBsb2FkZWQgbW9kdWxlIG9yIG51bGwuCiAqIEBwcml2YXRlCiAqLwpnb29nLm1vZHVsZS5nZXRJbnRlcm5hbF8gPSBmdW5jdGlvbihuYW1lKSB7CiAgaWYgKCFDT01QSUxFRCkgewogICAgaWYgKG5hbWUgaW4gZ29vZy5sb2FkZWRNb2R1bGVzXykgewogICAgICByZXR1cm4gZ29vZy5sb2FkZWRNb2R1bGVzX1tuYW1lXS5leHBvcnRzOwogICAgfSBlbHNlIGlmICghZ29vZy5pbXBsaWNpdE5hbWVzcGFjZXNfW25hbWVdKSB7CiAgICAgIHZhciBucyA9IGdvb2cuZ2V0T2JqZWN0QnlOYW1lKG5hbWUpOwogICAgICByZXR1cm4gbnMgIT0gbnVsbCA/IG5zIDogbnVsbDsKICAgIH0KICB9CiAgcmV0dXJuIG51bGw7Cn07CgoKLyoqCiAqIFR5cGVzIG9mIG1vZHVsZXMgdGhlIGRlYnVnIGxvYWRlciBjYW4gbG9hZC4KICogQGVudW0ge3N0cmluZ30KICovCmdvb2cuTW9kdWxlVHlwZSA9IHsKICBFUzY6ICdlczYnLAogIEdPT0c6ICdnb29nJwp9OwoKCi8qKgogKiBAcHJpdmF0ZSB7P3sKICogICBtb2R1bGVOYW1lOiAoc3RyaW5nfHVuZGVmaW5lZCksCiAqICAgZGVjbGFyZUxlZ2FjeU5hbWVzcGFjZTpib29sZWFuLAogKiAgIHR5cGU6ID9nb29nLk1vZHVsZVR5cGUKICogfX0KICovCmdvb2cubW9kdWxlTG9hZGVyU3RhdGVfID0gbnVsbDsKCgovKioKICogQHByaXZhdGUKICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciBhIGdvb2cubW9kdWxlIG9yIGFuIGVzNiBtb2R1bGUgaXMgY3VycmVudGx5IGJlaW5nCiAqICAgICBpbml0aWFsaXplZC4KICovCmdvb2cuaXNJbk1vZHVsZUxvYWRlcl8gPSBmdW5jdGlvbigpIHsKICByZXR1cm4gZ29vZy5pc0luR29vZ01vZHVsZUxvYWRlcl8oKSB8fCBnb29nLmlzSW5FczZNb2R1bGVMb2FkZXJfKCk7Cn07CgoKLyoqCiAqIEBwcml2YXRlCiAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgYSBnb29nLm1vZHVsZSBpcyBjdXJyZW50bHkgYmVpbmcgaW5pdGlhbGl6ZWQuCiAqLwpnb29nLmlzSW5Hb29nTW9kdWxlTG9hZGVyXyA9IGZ1bmN0aW9uKCkgewogIHJldHVybiAhIWdvb2cubW9kdWxlTG9hZGVyU3RhdGVfICYmCiAgICAgIGdvb2cubW9kdWxlTG9hZGVyU3RhdGVfLnR5cGUgPT0gZ29vZy5Nb2R1bGVUeXBlLkdPT0c7Cn07CgoKLyoqCiAqIEBwcml2YXRlCiAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgYW4gZXM2IG1vZHVsZSBpcyBjdXJyZW50bHkgYmVpbmcgaW5pdGlhbGl6ZWQuCiAqLwpnb29nLmlzSW5FczZNb2R1bGVMb2FkZXJfID0gZnVuY3Rpb24oKSB7CiAgdmFyIGluTG9hZGVyID0gISFnb29nLm1vZHVsZUxvYWRlclN0YXRlXyAmJgogICAgICBnb29nLm1vZHVsZUxvYWRlclN0YXRlXy50eXBlID09IGdvb2cuTW9kdWxlVHlwZS5FUzY7CgogIGlmIChpbkxvYWRlcikgewogICAgcmV0dXJuIHRydWU7CiAgfQoKICB2YXIganNjb21wID0gZ29vZy5nbG9iYWxbJyRqc2NvbXAnXTsKCiAgaWYgKGpzY29tcCkgewogICAgLy8ganNjb21wIG1heSBub3QgaGF2ZSBnZXRDdXJyZW50TW9kdWxlUGF0aCBpZiB0aGlzIGlzIGEgY29tcGlsZWQgYnVuZGxlCiAgICAvLyB0aGF0IGhhcyBzb21lIG9mIHRoZSBydW50aW1lLCBidXQgbm90IGFsbCBvZiBpdC4gVGhpcyBjYW4gaGFwcGVuIGlmCiAgICAvLyBvcHRpbWl6YXRpb25zIGFyZSB0dXJuZWQgb24gc28gdGhlIHVudXNlZCBydW50aW1lIGlzIHJlbW92ZWQgYnV0IHJlbmFtaW5nCiAgICAvLyBhbmQgQ2xvc3VyZSBwYXNzIGFyZSBvZmYgKHNvICRqc2NvbXAgaXMgc3RpbGwgbmFtZWQgJGpzY29tcCBhbmQgdGhlCiAgICAvLyBnb29nLnByb3ZpZGUvcmVxdWlyZSBjYWxscyBzdGlsbCBleGlzdCkuCiAgICBpZiAodHlwZW9mIGpzY29tcC5nZXRDdXJyZW50TW9kdWxlUGF0aCAhPSAnZnVuY3Rpb24nKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvLyBCdW5kbGVkIEVTNiBtb2R1bGUuCiAgICByZXR1cm4gISFqc2NvbXAuZ2V0Q3VycmVudE1vZHVsZVBhdGgoKTsKICB9CgogIHJldHVybiBmYWxzZTsKfTsKCgovKioKICogUHJvdmlkZSB0aGUgbW9kdWxlJ3MgZXhwb3J0cyBhcyBhIGdsb2JhbGx5IGFjY2Vzc2libGUgb2JqZWN0IHVuZGVyIHRoZQogKiBtb2R1bGUncyBkZWNsYXJlZCBuYW1lLiAgVGhpcyBpcyBpbnRlbmRlZCB0byBlYXNlIG1pZ3JhdGlvbiB0byBnb29nLm1vZHVsZQogKiBmb3IgZmlsZXMgdGhhdCBoYXZlIGV4aXN0aW5nIHVzYWdlcy4KICogQHN1cHByZXNzIHttaXNzaW5nUHJvdmlkZX0KICovCmdvb2cubW9kdWxlLmRlY2xhcmVMZWdhY3lOYW1lc3BhY2UgPSBmdW5jdGlvbigpIHsKICBpZiAoIUNPTVBJTEVEICYmICFnb29nLmlzSW5Hb29nTW9kdWxlTG9hZGVyXygpKSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoCiAgICAgICAgJ2dvb2cubW9kdWxlLmRlY2xhcmVMZWdhY3lOYW1lc3BhY2UgbXVzdCBiZSBjYWxsZWQgZnJvbSAnICsKICAgICAgICAnd2l0aGluIGEgZ29vZy5tb2R1bGUnKTsKICB9CiAgaWYgKCFDT01QSUxFRCAmJiAhZ29vZy5tb2R1bGVMb2FkZXJTdGF0ZV8ubW9kdWxlTmFtZSkgewogICAgdGhyb3cgbmV3IEVycm9yKAogICAgICAgICdnb29nLm1vZHVsZSBtdXN0IGJlIGNhbGxlZCBwcmlvciB0byAnICsKICAgICAgICAnZ29vZy5tb2R1bGUuZGVjbGFyZUxlZ2FjeU5hbWVzcGFjZS4nKTsKICB9CiAgZ29vZy5tb2R1bGVMb2FkZXJTdGF0ZV8uZGVjbGFyZUxlZ2FjeU5hbWVzcGFjZSA9IHRydWU7Cn07CgoKLyoqCiAqIEFzc29jaWF0ZXMgYW4gRVM2IG1vZHVsZSB3aXRoIGEgQ2xvc3VyZSBtb2R1bGUgSUQgc28gdGhhdCBpcyBhdmFpbGFibGUgdmlhCiAqIGdvb2cucmVxdWlyZS4gVGhlIGFzc29jaWF0ZWQgSUQgIGFjdHMgbGlrZSBhIGdvb2cubW9kdWxlIElEIC0gaXQgZG9lcyBub3QKICogY3JlYXRlIGFueSBnbG9iYWwgbmFtZXMsIGl0IGlzIG1lcmVseSBhdmFpbGFibGUgdmlhIGdvb2cucmVxdWlyZSAvCiAqIGdvb2cubW9kdWxlLmdldCAvIGdvb2cuZm9yd2FyZERlY2xhcmUgLyBnb29nLnJlcXVpcmVUeXBlLiBnb29nLnJlcXVpcmUgYW5kCiAqIGdvb2cubW9kdWxlLmdldCB3aWxsIHJldHVybiB0aGUgZW50aXJlIG1vZHVsZSBhcyBpZiBpdCB3YXMgaW1wb3J0IConZC4gVGhpcwogKiBhbGxvd3MgQ2xvc3VyZSBmaWxlcyB0byByZWZlcmVuY2UgRVM2IG1vZHVsZXMgZm9yIHRoZSBzYWtlIG9mIG1pZ3JhdGlvbi4KICoKICogQHBhcmFtIHtzdHJpbmd9IG5hbWVzcGFjZQogKiBAc3VwcHJlc3Mge21pc3NpbmdQcm92aWRlfQogKi8KZ29vZy5kZWNsYXJlTW9kdWxlSWQgPSBmdW5jdGlvbihuYW1lc3BhY2UpIHsKICBpZiAoIUNPTVBJTEVEKSB7CiAgICBpZiAoIWdvb2cuaXNJbkVzNk1vZHVsZUxvYWRlcl8oKSkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoCiAgICAgICAgICAnZ29vZy5kZWNsYXJlTW9kdWxlSWQgbWF5IG9ubHkgYmUgY2FsbGVkIGZyb20gJyArCiAgICAgICAgICAnd2l0aGluIGFuIEVTNiBtb2R1bGUnKTsKICAgIH0KICAgIGlmIChnb29nLm1vZHVsZUxvYWRlclN0YXRlXyAmJiBnb29nLm1vZHVsZUxvYWRlclN0YXRlXy5tb2R1bGVOYW1lKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigKICAgICAgICAgICdnb29nLmRlY2xhcmVNb2R1bGVJZCBtYXkgb25seSBiZSBjYWxsZWQgb25jZSBwZXIgbW9kdWxlLicpOwogICAgfQogICAgaWYgKG5hbWVzcGFjZSBpbiBnb29nLmxvYWRlZE1vZHVsZXNfKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigKICAgICAgICAgICdNb2R1bGUgd2l0aCBuYW1lc3BhY2UgIicgKyBuYW1lc3BhY2UgKyAnIiBhbHJlYWR5IGV4aXN0cy4nKTsKICAgIH0KICB9CiAgaWYgKGdvb2cubW9kdWxlTG9hZGVyU3RhdGVfKSB7CiAgICAvLyBOb3QgYnVuZGxlZCAtIGRlYnVnIGxvYWRpbmcuCiAgICBnb29nLm1vZHVsZUxvYWRlclN0YXRlXy5tb2R1bGVOYW1lID0gbmFtZXNwYWNlOwogIH0gZWxzZSB7CiAgICAvLyBCdW5kbGVkIC0gbm90IGRlYnVnIGxvYWRpbmcsIG5vIG1vZHVsZSBsb2FkZXIgc3RhdGUuCiAgICB2YXIganNjb21wID0gZ29vZy5nbG9iYWxbJyRqc2NvbXAnXTsKICAgIGlmICghanNjb21wIHx8IHR5cGVvZiBqc2NvbXAuZ2V0Q3VycmVudE1vZHVsZVBhdGggIT0gJ2Z1bmN0aW9uJykgewogICAgICB0aHJvdyBuZXcgRXJyb3IoCiAgICAgICAgICAnTW9kdWxlIHdpdGggbmFtZXNwYWNlICInICsgbmFtZXNwYWNlICsKICAgICAgICAgICciIGhhcyBiZWVuIGxvYWRlZCBpbmNvcnJlY3RseS4nKTsKICAgIH0KICAgIHZhciBleHBvcnRzID0ganNjb21wLnJlcXVpcmUoanNjb21wLmdldEN1cnJlbnRNb2R1bGVQYXRoKCkpOwogICAgZ29vZy5sb2FkZWRNb2R1bGVzX1tuYW1lc3BhY2VdID0gewogICAgICBleHBvcnRzOiBleHBvcnRzLAogICAgICB0eXBlOiBnb29nLk1vZHVsZVR5cGUuRVM2LAogICAgICBtb2R1bGVJZDogbmFtZXNwYWNlCiAgICB9OwogIH0KfTsKCgovKioKICogTWFya3MgdGhhdCB0aGUgY3VycmVudCBmaWxlIHNob3VsZCBvbmx5IGJlIHVzZWQgZm9yIHRlc3RpbmcsIGFuZCBuZXZlciBmb3IKICogbGl2ZSBjb2RlIGluIHByb2R1Y3Rpb24uCiAqCiAqIEluIHRoZSBjYXNlIG9mIHVuaXQgdGVzdHMsIHRoZSBtZXNzYWdlIG1heSBvcHRpb25hbGx5IGJlIGFuIGV4YWN0IG5hbWVzcGFjZQogKiBmb3IgdGhlIHRlc3QgKGUuZy4gJ2dvb2cuc3RyaW5nVGVzdCcpLiBUaGUgbGludGVyIHdpbGwgdGhlbiBpZ25vcmUgdGhlIGV4dHJhCiAqIHByb3ZpZGUgKGlmIG5vdCBleHBsaWNpdGx5IGRlZmluZWQgaW4gdGhlIGNvZGUpLgogKgogKiBAcGFyYW0ge3N0cmluZz19IG9wdF9tZXNzYWdlIE9wdGlvbmFsIG1lc3NhZ2UgdG8gYWRkIHRvIHRoZSBlcnJvciB0aGF0J3MKICogICAgIHJhaXNlZCB3aGVuIHVzZWQgaW4gcHJvZHVjdGlvbiBjb2RlLgogKi8KZ29vZy5zZXRUZXN0T25seSA9IGZ1bmN0aW9uKG9wdF9tZXNzYWdlKSB7CiAgaWYgKGdvb2cuRElTQUxMT1dfVEVTVF9PTkxZX0NPREUpIHsKICAgIG9wdF9tZXNzYWdlID0gb3B0X21lc3NhZ2UgfHwgJyc7CiAgICB0aHJvdyBuZXcgRXJyb3IoCiAgICAgICAgJ0ltcG9ydGluZyB0ZXN0LW9ubHkgY29kZSBpbnRvIG5vbi1kZWJ1ZyBlbnZpcm9ubWVudCcgKwogICAgICAgIChvcHRfbWVzc2FnZSA/ICc6ICcgKyBvcHRfbWVzc2FnZSA6ICcuJykpOwogIH0KfTsKCgovKioKICogRm9yd2FyZCBkZWNsYXJlcyBhIHN5bWJvbC4gVGhpcyBpcyBhbiBpbmRpY2F0aW9uIHRvIHRoZSBjb21waWxlciB0aGF0IHRoZQogKiBzeW1ib2wgbWF5IGJlIHVzZWQgaW4gdGhlIHNvdXJjZSB5ZXQgaXMgbm90IHJlcXVpcmVkIGFuZCBtYXkgbm90IGJlIHByb3ZpZGVkCiAqIGluIGNvbXBpbGF0aW9uLgogKgogKiBUaGUgbW9zdCBjb21tb24gdXNhZ2Ugb2YgZm9yd2FyZCBkZWNsYXJhdGlvbiBpcyBjb2RlIHRoYXQgdGFrZXMgYSB0eXBlIGFzIGEKICogZnVuY3Rpb24gcGFyYW1ldGVyIGJ1dCBkb2VzIG5vdCBuZWVkIHRvIHJlcXVpcmUgaXQuIEJ5IGZvcndhcmQgZGVjbGFyaW5nCiAqIGluc3RlYWQgb2YgcmVxdWlyaW5nLCBubyBoYXJkIGRlcGVuZGVuY3kgaXMgbWFkZSwgYW5kIChpZiBub3QgcmVxdWlyZWQKICogZWxzZXdoZXJlKSB0aGUgbmFtZXNwYWNlIG1heSBuZXZlciBiZSByZXF1aXJlZCBhbmQgdGh1cywgbm90IGJlIHB1bGxlZAogKiBpbnRvIHRoZSBKYXZhU2NyaXB0IGJpbmFyeS4gSWYgaXQgaXMgcmVxdWlyZWQgZWxzZXdoZXJlLCBpdCB3aWxsIGJlIHR5cGUKICogY2hlY2tlZCBhcyBub3JtYWwuCiAqCiAqIEJlZm9yZSB1c2luZyBnb29nLmZvcndhcmREZWNsYXJlLCBwbGVhc2UgcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBhdAogKiBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2Nsb3N1cmUtY29tcGlsZXIvd2lraS9CYWQtVHlwZS1Bbm5vdGF0aW9uIHRvCiAqIHVuZGVyc3RhbmQgdGhlIG9wdGlvbnMgYW5kIHRyYWRlb2ZmcyB3aGVuIHdvcmtpbmcgd2l0aCBmb3J3YXJkIGRlY2xhcmF0aW9ucy4KICoKICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWVzcGFjZSB0byBmb3J3YXJkIGRlY2xhcmUgaW4gdGhlIGZvcm0gb2YKICogICAgICJnb29nLnBhY2thZ2UucGFydCIuCiAqLwpnb29nLmZvcndhcmREZWNsYXJlID0gZnVuY3Rpb24obmFtZSkge307CgoKLyoqCiAqIEZvcndhcmQgZGVjbGFyZSB0eXBlIGluZm9ybWF0aW9uLiBVc2VkIHRvIGFzc2lnbiB0eXBlcyB0byBnb29nLmdsb2JhbAogKiByZWZlcmVuY2VkIG9iamVjdCB0aGF0IHdvdWxkIG90aGVyd2lzZSByZXN1bHQgaW4gdW5rbm93biB0eXBlIHJlZmVyZW5jZXMKICogYW5kIHRodXMgYmxvY2sgcHJvcGVydHkgZGlzYW1iaWd1YXRpb24uCiAqLwpnb29nLmZvcndhcmREZWNsYXJlKCdEb2N1bWVudCcpOwpnb29nLmZvcndhcmREZWNsYXJlKCdIVE1MU2NyaXB0RWxlbWVudCcpOwpnb29nLmZvcndhcmREZWNsYXJlKCdYTUxIdHRwUmVxdWVzdCcpOwoKCmlmICghQ09NUElMRUQpIHsKICAvKioKICAgKiBDaGVjayBpZiB0aGUgZ2l2ZW4gbmFtZSBoYXMgYmVlbiBnb29nLnByb3ZpZGVkLiBUaGlzIHdpbGwgcmV0dXJuIGZhbHNlIGZvcgogICAqIG5hbWVzIHRoYXQgYXJlIGF2YWlsYWJsZSBvbmx5IGFzIGltcGxpY2l0IG5hbWVzcGFjZXMuCiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgbmFtZSBvZiB0aGUgb2JqZWN0IHRvIGxvb2sgZm9yLgogICAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhlIG5hbWUgaGFzIGJlZW4gcHJvdmlkZWQuCiAgICogQHByaXZhdGUKICAgKi8KICBnb29nLmlzUHJvdmlkZWRfID0gZnVuY3Rpb24obmFtZSkgewogICAgcmV0dXJuIChuYW1lIGluIGdvb2cubG9hZGVkTW9kdWxlc18pIHx8CiAgICAgICAgKCFnb29nLmltcGxpY2l0TmFtZXNwYWNlc19bbmFtZV0gJiYgZ29vZy5nZXRPYmplY3RCeU5hbWUobmFtZSkgIT0gbnVsbCk7CiAgfTsKCiAgLyoqCiAgICogTmFtZXNwYWNlcyBpbXBsaWNpdGx5IGRlZmluZWQgYnkgZ29vZy5wcm92aWRlLiBGb3IgZXhhbXBsZSwKICAgKiBnb29nLnByb3ZpZGUoJ2dvb2cuZXZlbnRzLkV2ZW50JykgaW1wbGljaXRseSBkZWNsYXJlcyB0aGF0ICdnb29nJyBhbmQKICAgKiAnZ29vZy5ldmVudHMnIG11c3QgYmUgbmFtZXNwYWNlcy4KICAgKgogICAqIEB0eXBlIHshT2JqZWN0PHN0cmluZywgKGJvb2xlYW58dW5kZWZpbmVkKT59CiAgICogQHByaXZhdGUKICAgKi8KICBnb29nLmltcGxpY2l0TmFtZXNwYWNlc18gPSB7J2dvb2cubW9kdWxlJzogdHJ1ZX07CgogIC8vIE5PVEU6IFdlIGFkZCBnb29nLm1vZHVsZSBhcyBhbiBpbXBsaWNpdCBuYW1lc3BhY2UgYXMgZ29vZy5tb2R1bGUgaXMgZGVmaW5lZAogIC8vIGhlcmUgYW5kIGJlY2F1c2UgdGhlIGV4aXN0aW5nIG1vZHVsZSBwYWNrYWdlIGhhcyBub3QgYmVlbiBtb3ZlZCB5ZXQgb3V0IG9mCiAgLy8gdGhlIGdvb2cubW9kdWxlIG5hbWVzcGFjZS4gVGhpcyBzYXRpc2lmaWVzIGJvdGggdGhlIGRlYnVnIGxvYWRlciBhbmQKICAvLyBhaGVhZC1vZi10aW1lIGRlcGVuZGVuY3kgbWFuYWdlbWVudC4KfQoKCi8qKgogKiBSZXR1cm5zIGFuIG9iamVjdCBiYXNlZCBvbiBpdHMgZnVsbHkgcXVhbGlmaWVkIGV4dGVybmFsIG5hbWUuICBUaGUgb2JqZWN0CiAqIGlzIG5vdCBmb3VuZCBpZiBudWxsIG9yIHVuZGVmaW5lZC4gIElmIHlvdSBhcmUgdXNpbmcgYSBjb21waWxhdGlvbiBwYXNzIHRoYXQKICogcmVuYW1lcyBwcm9wZXJ0eSBuYW1lcyBiZXdhcmUgdGhhdCB1c2luZyB0aGlzIGZ1bmN0aW9uIHdpbGwgbm90IGZpbmQgcmVuYW1lZAogKiBwcm9wZXJ0aWVzLgogKgogKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgZnVsbHkgcXVhbGlmaWVkIG5hbWUuCiAqIEBwYXJhbSB7T2JqZWN0PX0gb3B0X29iaiBUaGUgb2JqZWN0IHdpdGhpbiB3aGljaCB0byBsb29rOyBkZWZhdWx0IGlzCiAqICAgICB8Z29vZy5nbG9iYWx8LgogKiBAcmV0dXJuIHs/fSBUaGUgdmFsdWUgKG9iamVjdCBvciBwcmltaXRpdmUpIG9yLCBpZiBub3QgZm91bmQsIG51bGwuCiAqLwpnb29nLmdldE9iamVjdEJ5TmFtZSA9IGZ1bmN0aW9uKG5hbWUsIG9wdF9vYmopIHsKICB2YXIgcGFydHMgPSBuYW1lLnNwbGl0KCcuJyk7CiAgdmFyIGN1ciA9IG9wdF9vYmogfHwgZ29vZy5nbG9iYWw7CiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7IGkrKykgewogICAgY3VyID0gY3VyW3BhcnRzW2ldXTsKICAgIGlmIChjdXIgPT0gbnVsbCkgewogICAgICByZXR1cm4gbnVsbDsKICAgIH0KICB9CiAgcmV0dXJuIGN1cjsKfTsKCgovKioKICogR2xvYmFsaXplcyBhIHdob2xlIG5hbWVzcGFjZSwgc3VjaCBhcyBnb29nIG9yIGdvb2cubGFuZy4KICoKICogQHBhcmFtIHshT2JqZWN0fSBvYmogVGhlIG5hbWVzcGFjZSB0byBnbG9iYWxpemUuCiAqIEBwYXJhbSB7T2JqZWN0PX0gb3B0X2dsb2JhbCBUaGUgb2JqZWN0IHRvIGFkZCB0aGUgcHJvcGVydGllcyB0by4KICogQGRlcHJlY2F0ZWQgUHJvcGVydGllcyBtYXkgYmUgZXhwbGljaXRseSBleHBvcnRlZCB0byB0aGUgZ2xvYmFsIHNjb3BlLCBidXQKICogICAgIHRoaXMgc2hvdWxkIG5vIGxvbmdlciBiZSBkb25lIGluIGJ1bGsuCiAqLwpnb29nLmdsb2JhbGl6ZSA9IGZ1bmN0aW9uKG9iaiwgb3B0X2dsb2JhbCkgewogIHZhciBnbG9iYWwgPSBvcHRfZ2xvYmFsIHx8IGdvb2cuZ2xvYmFsOwogIGZvciAodmFyIHggaW4gb2JqKSB7CiAgICBnbG9iYWxbeF0gPSBvYmpbeF07CiAgfQp9OwoKCi8qKgogKiBBZGRzIGEgZGVwZW5kZW5jeSBmcm9tIGEgZmlsZSB0byB0aGUgZmlsZXMgaXQgcmVxdWlyZXMuCiAqIEBwYXJhbSB7c3RyaW5nfSByZWxQYXRoIFRoZSBwYXRoIHRvIHRoZSBqcyBmaWxlLgogKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSBwcm92aWRlcyBBbiBhcnJheSBvZiBzdHJpbmdzIHdpdGgKICogICAgIHRoZSBuYW1lcyBvZiB0aGUgb2JqZWN0cyB0aGlzIGZpbGUgcHJvdmlkZXMuCiAqIEBwYXJhbSB7IUFycmF5PHN0cmluZz59IHJlcXVpcmVzIEFuIGFycmF5IG9mIHN0cmluZ3Mgd2l0aAogKiAgICAgdGhlIG5hbWVzIG9mIHRoZSBvYmplY3RzIHRoaXMgZmlsZSByZXF1aXJlcy4KICogQHBhcmFtIHtib29sZWFufCFPYmplY3Q8c3RyaW5nPj19IG9wdF9sb2FkRmxhZ3MgUGFyYW1ldGVycyBpbmRpY2F0aW5nCiAqICAgICBob3cgdGhlIGZpbGUgbXVzdCBiZSBsb2FkZWQuICBUaGUgYm9vbGVhbiAndHJ1ZScgaXMgZXF1aXZhbGVudAogKiAgICAgdG8geydtb2R1bGUnOiAnZ29vZyd9IGZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eS4gIFZhbGlkIHByb3BlcnRpZXMKICogICAgIGFuZCB2YWx1ZXMgaW5jbHVkZSB7J21vZHVsZSc6ICdnb29nJ30gYW5kIHsnbGFuZyc6ICdlczYnfS4KICovCmdvb2cuYWRkRGVwZW5kZW5jeSA9IGZ1bmN0aW9uKHJlbFBhdGgsIHByb3ZpZGVzLCByZXF1aXJlcywgb3B0X2xvYWRGbGFncykgewogIGlmICghQ09NUElMRUQgJiYgZ29vZy5ERVBFTkRFTkNJRVNfRU5BQkxFRCkgewogICAgZ29vZy5kZWJ1Z0xvYWRlcl8uYWRkRGVwZW5kZW5jeShyZWxQYXRoLCBwcm92aWRlcywgcmVxdWlyZXMsIG9wdF9sb2FkRmxhZ3MpOwogIH0KfTsKCgoKCi8vIE5PVEUobm5hemUpOiBUaGUgZGVidWcgRE9NIGxvYWRlciB3YXMgaW5jbHVkZWQgaW4gYmFzZS5qcyBhcyBhbiBvcmlnaW5hbCB3YXkKLy8gdG8gZG8gImRlYnVnLW1vZGUiIGRldmVsb3BtZW50LiAgVGhlIGRlcGVuZGVuY3kgc3lzdGVtIGNhbiBzb21ldGltZXMgYmUKLy8gY29uZnVzaW5nLCBhcyBjYW4gdGhlIGRlYnVnIERPTSBsb2FkZXIncyBhc3luY2hyb25vdXMgbmF0dXJlLgovLwovLyBXaXRoIHRoZSBET00gbG9hZGVyLCBhIGNhbGwgdG8gZ29vZy5yZXF1aXJlKCkgaXMgbm90IGJsb2NraW5nIC0tIHRoZSBzY3JpcHQKLy8gd2lsbCBub3QgbG9hZCB1bnRpbCBzb21lIHBvaW50IGFmdGVyIHRoZSBjdXJyZW50IHNjcmlwdC4gIElmIGEgbmFtZXNwYWNlIGlzCi8vIG5lZWRlZCBhdCBydW50aW1lLCBpdCBuZWVkcyB0byBiZSBkZWZpbmVkIGluIGEgcHJldmlvdXMgc2NyaXB0LCBvciBsb2FkZWQgdmlhCi8vIHJlcXVpcmUoKSB3aXRoIGl0cyByZWdpc3RlcmVkIGRlcGVuZGVuY2llcy4KLy8KLy8gVXNlci1kZWZpbmVkIG5hbWVzcGFjZXMgbWF5IG5lZWQgdGhlaXIgb3duIGRlcHMgZmlsZS4gRm9yIGEgcmVmZXJlbmNlIG9uCi8vIGNyZWF0aW5nIGEgZGVwcyBmaWxlLCBzZWU6Ci8vIEV4dGVybmFsbHk6IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2Nsb3N1cmUvbGlicmFyeS9kb2NzL2RlcHN3cml0ZXIKLy8KLy8gQmVjYXVzZSBvZiBsZWdhY3kgY2xpZW50cywgdGhlIERPTSBsb2FkZXIgY2FuJ3QgYmUgZWFzaWx5IHJlbW92ZWQgZnJvbQovLyBiYXNlLmpzLiAgV29yayB3YXMgZG9uZSB0byBtYWtlIGl0IGRpc2FibGVhYmxlIG9yIHJlcGxhY2VhYmxlIGZvcgovLyBkaWZmZXJlbnQgZW52aXJvbm1lbnRzIChET00tbGVzcyBKYXZhU2NyaXB0IGludGVycHJldGVycyBsaWtlIFJoaW5vIG9yIFY4LAovLyBmb3IgZXhhbXBsZSkuIFNlZSBib290c3RyYXAvIGZvciBtb3JlIGluZm9ybWF0aW9uLgoKCi8qKgogKiBAZGVmaW5lIHtib29sZWFufSBXaGV0aGVyIHRvIGVuYWJsZSB0aGUgZGVidWcgbG9hZGVyLgogKgogKiBJZiBlbmFibGVkLCBhIGNhbGwgdG8gZ29vZy5yZXF1aXJlKCkgd2lsbCBhdHRlbXB0IHRvIGxvYWQgdGhlIG5hbWVzcGFjZSBieQogKiBhcHBlbmRpbmcgYSBzY3JpcHQgdGFnIHRvIHRoZSBET00gKGlmIHRoZSBuYW1lc3BhY2UgaGFzIGJlZW4gcmVnaXN0ZXJlZCkuCiAqCiAqIElmIGRpc2FibGVkLCBnb29nLnJlcXVpcmUoKSB3aWxsIHNpbXBseSBhc3NlcnQgdGhhdCB0aGUgbmFtZXNwYWNlIGhhcyBiZWVuCiAqIHByb3ZpZGVkIChhbmQgZGVwZW5kIG9uIHRoZSBmYWN0IHRoYXQgc29tZSBvdXRzaWRlIHRvb2wgY29ycmVjdGx5IG9yZGVyZWQKICogdGhlIHNjcmlwdCkuCiAqLwpnb29nLkVOQUJMRV9ERUJVR19MT0FERVIgPSBnb29nLmRlZmluZSgnZ29vZy5FTkFCTEVfREVCVUdfTE9BREVSJywgdHJ1ZSk7CgoKLyoqCiAqIEBwYXJhbSB7c3RyaW5nfSBtc2cKICogQHByaXZhdGUKICovCmdvb2cubG9nVG9Db25zb2xlXyA9IGZ1bmN0aW9uKG1zZykgewogIGlmIChnb29nLmdsb2JhbC5jb25zb2xlKSB7CiAgICBnb29nLmdsb2JhbC5jb25zb2xlWydlcnJvciddKG1zZyk7CiAgfQp9OwoKCi8qKgogKiBJbXBsZW1lbnRzIGEgc3lzdGVtIGZvciB0aGUgZHluYW1pYyByZXNvbHV0aW9uIG9mIGRlcGVuZGVuY2llcyB0aGF0IHdvcmtzIGluCiAqIHBhcmFsbGVsIHdpdGggdGhlIEJVSUxEIHN5c3RlbS4KICoKICogTm90ZSB0aGF0IGFsbCBjYWxscyB0byBnb29nLnJlcXVpcmUgd2lsbCBiZSBzdHJpcHBlZCBieSB0aGUgY29tcGlsZXIuCiAqCiAqIEBzZWUgZ29vZy5wcm92aWRlCiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lc3BhY2UgTmFtZXNwYWNlIChhcyB3YXMgZ2l2ZW4gaW4gZ29vZy5wcm92aWRlLAogKiAgICAgZ29vZy5tb2R1bGUsIG9yIGdvb2cuZGVjbGFyZU1vZHVsZUlkKSBpbiB0aGUgZm9ybQogKiAgICAgImdvb2cucGFja2FnZS5wYXJ0Ii4KICogQHJldHVybiB7P30gSWYgY2FsbGVkIHdpdGhpbiBhIGdvb2cubW9kdWxlIG9yIEVTNiBtb2R1bGUgZmlsZSwgdGhlIGFzc29jaWF0ZWQKICogICAgIG5hbWVzcGFjZSBvciBtb2R1bGUgb3RoZXJ3aXNlIG51bGwuCiAqLwpnb29nLnJlcXVpcmUgPSBmdW5jdGlvbihuYW1lc3BhY2UpIHsKICBpZiAoIUNPTVBJTEVEKSB7CiAgICAvLyBNaWdodCBuZWVkIHRvIGxhenkgbG9hZCBvbiBvbGQgSUUuCiAgICBpZiAoZ29vZy5FTkFCTEVfREVCVUdfTE9BREVSKSB7CiAgICAgIGdvb2cuZGVidWdMb2FkZXJfLnJlcXVlc3RlZChuYW1lc3BhY2UpOwogICAgfQoKICAgIC8vIElmIHRoZSBvYmplY3QgYWxyZWFkeSBleGlzdHMgd2UgZG8gbm90IG5lZWQgdG8gZG8gYW55dGhpbmcuCiAgICBpZiAoZ29vZy5pc1Byb3ZpZGVkXyhuYW1lc3BhY2UpKSB7CiAgICAgIGlmIChnb29nLmlzSW5Nb2R1bGVMb2FkZXJfKCkpIHsKICAgICAgICByZXR1cm4gZ29vZy5tb2R1bGUuZ2V0SW50ZXJuYWxfKG5hbWVzcGFjZSk7CiAgICAgIH0KICAgIH0gZWxzZSBpZiAoZ29vZy5FTkFCTEVfREVCVUdfTE9BREVSKSB7CiAgICAgIHZhciBtb2R1bGVMb2FkZXJTdGF0ZSA9IGdvb2cubW9kdWxlTG9hZGVyU3RhdGVfOwogICAgICBnb29nLm1vZHVsZUxvYWRlclN0YXRlXyA9IG51bGw7CiAgICAgIHRyeSB7CiAgICAgICAgZ29vZy5kZWJ1Z0xvYWRlcl8ubG9hZF8obmFtZXNwYWNlKTsKICAgICAgfSBmaW5hbGx5IHsKICAgICAgICBnb29nLm1vZHVsZUxvYWRlclN0YXRlXyA9IG1vZHVsZUxvYWRlclN0YXRlOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuIG51bGw7CiAgfQp9OwoKCi8qKgogKiBSZXF1aXJlcyBhIHN5bWJvbCBmb3IgaXRzIHR5cGUgaW5mb3JtYXRpb24uIFRoaXMgaXMgYW4gaW5kaWNhdGlvbiB0byB0aGUKICogY29tcGlsZXIgdGhhdCB0aGUgc3ltYm9sIG1heSBhcHBlYXIgaW4gdHlwZSBhbm5vdGF0aW9ucywgeWV0IGl0IGlzIG5vdAogKiByZWZlcmVuY2VkIGF0IHJ1bnRpbWUuCiAqCiAqIFdoZW4gY2FsbGVkIHdpdGhpbiBhIGdvb2cubW9kdWxlIG9yIEVTNiBtb2R1bGUgZmlsZSwgdGhlIHJldHVybiB2YWx1ZSBtYXkgYmUKICogYXNzaWduZWQgdG8gb3IgZGVzdHJ1Y3R1cmVkIGludG8gYSB2YXJpYWJsZSwgYnV0IGl0IG1heSBub3QgYmUgb3RoZXJ3aXNlIHVzZWQKICogaW4gY29kZSBvdXRzaWRlIG9mIGEgdHlwZSBhbm5vdGF0aW9uLgogKgogKiBOb3RlIHRoYXQgYWxsIGNhbGxzIHRvIGdvb2cucmVxdWlyZVR5cGUgd2lsbCBiZSBzdHJpcHBlZCBieSB0aGUgY29tcGlsZXIuCiAqCiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lc3BhY2UgTmFtZXNwYWNlIChhcyB3YXMgZ2l2ZW4gaW4gZ29vZy5wcm92aWRlLAogKiAgICAgZ29vZy5tb2R1bGUsIG9yIGdvb2cuZGVjbGFyZU1vZHVsZUlkKSBpbiB0aGUgZm9ybQogKiAgICAgImdvb2cucGFja2FnZS5wYXJ0Ii4KICogQHJldHVybiB7P30KICovCmdvb2cucmVxdWlyZVR5cGUgPSBmdW5jdGlvbihuYW1lc3BhY2UpIHsKICAvLyBSZXR1cm4gYW4gZW1wdHkgb2JqZWN0IHNvIHRoYXQgc2luZ2xlLWxldmVsIGRlc3RydWN0dXJpbmcgb2YgdGhlIHJldHVybgogIC8vIHZhbHVlIGRvZXNuJ3QgY3Jhc2ggYXQgcnVudGltZSB3aGVuIHVzaW5nIHRoZSBkZWJ1ZyBsb2FkZXIuIE11bHRpLWxldmVsCiAgLy8gZGVzdHJ1Y3R1cmluZyBpc24ndCBzdXBwb3J0ZWQuCiAgcmV0dXJuIHt9Owp9OwoKCi8qKgogKiBQYXRoIGZvciBpbmNsdWRlZCBzY3JpcHRzLgogKiBAdHlwZSB7c3RyaW5nfQogKi8KZ29vZy5iYXNlUGF0aCA9ICcnOwoKCi8qKgogKiBBIGhvb2sgZm9yIG92ZXJyaWRpbmcgdGhlIGJhc2UgcGF0aC4KICogQHR5cGUge3N0cmluZ3x1bmRlZmluZWR9CiAqLwpnb29nLmdsb2JhbC5DTE9TVVJFX0JBU0VfUEFUSDsKCgovKioKICogV2hldGhlciB0byBhdHRlbXB0IHRvIGxvYWQgQ2xvc3VyZSdzIGRlcHMgZmlsZS4gQnkgZGVmYXVsdCwgd2hlbiB1bmNvbXBpbGVkLAogKiBkZXBzIGZpbGVzIHdpbGwgYXR0ZW1wdCB0byBiZSBsb2FkZWQuCiAqIEB0eXBlIHtib29sZWFufHVuZGVmaW5lZH0KICovCmdvb2cuZ2xvYmFsLkNMT1NVUkVfTk9fREVQUzsKCgovKioKICogQSBmdW5jdGlvbiB0byBpbXBvcnQgYSBzaW5nbGUgc2NyaXB0LiBUaGlzIGlzIG1lYW50IHRvIGJlIG92ZXJyaWRkZW4gd2hlbgogKiBDbG9zdXJlIGlzIGJlaW5nIHJ1biBpbiBub24tSFRNTCBjb250ZXh0cywgc3VjaCBhcyB3ZWIgd29ya2Vycy4gSXQncyBkZWZpbmVkCiAqIGluIHRoZSBnbG9iYWwgc2NvcGUgc28gdGhhdCBpdCBjYW4gYmUgc2V0IGJlZm9yZSBiYXNlLmpzIGlzIGxvYWRlZCwgd2hpY2gKICogYWxsb3dzIGRlcHMuanMgdG8gYmUgaW1wb3J0ZWQgcHJvcGVybHkuCiAqCiAqIFRoZSBmaXJzdCBwYXJhbWV0ZXIgdGhlIHNjcmlwdCBzb3VyY2UsIHdoaWNoIGlzIGEgcmVsYXRpdmUgVVJJLiBUaGUgc2Vjb25kLAogKiBvcHRpb25hbCBwYXJhbWV0ZXIgaXMgdGhlIHNjcmlwdCBjb250ZW50cywgaW4gdGhlIGV2ZW50IHRoZSBzY3JpcHQgbmVlZGVkCiAqIHRyYW5zZm9ybWF0aW9uLiBJdCBzaG91bGQgcmV0dXJuIHRydWUgaWYgdGhlIHNjcmlwdCB3YXMgaW1wb3J0ZWQsIGZhbHNlCiAqIG90aGVyd2lzZS4KICogQHR5cGUgeyhmdW5jdGlvbihzdHJpbmcsIHN0cmluZz0pOiBib29sZWFuKXx1bmRlZmluZWR9CiAqLwpnb29nLmdsb2JhbC5DTE9TVVJFX0lNUE9SVF9TQ1JJUFQ7CgoKLyoqCiAqIE51bGwgZnVuY3Rpb24gdXNlZCBmb3IgZGVmYXVsdCB2YWx1ZXMgb2YgY2FsbGJhY2tzLCBldGMuCiAqIEByZXR1cm4ge3ZvaWR9IE5vdGhpbmcuCiAqLwpnb29nLm51bGxGdW5jdGlvbiA9IGZ1bmN0aW9uKCkge307CgoKLyoqCiAqIFdoZW4gZGVmaW5pbmcgYSBjbGFzcyBGb28gd2l0aCBhbiBhYnN0cmFjdCBtZXRob2QgYmFyKCksIHlvdSBjYW4gZG86CiAqIEZvby5wcm90b3R5cGUuYmFyID0gZ29vZy5hYnN0cmFjdE1ldGhvZAogKgogKiBOb3cgaWYgYSBzdWJjbGFzcyBvZiBGb28gZmFpbHMgdG8gb3ZlcnJpZGUgYmFyKCksIGFuIGVycm9yIHdpbGwgYmUgdGhyb3duCiAqIHdoZW4gYmFyKCkgaXMgaW52b2tlZC4KICoKICogQHR5cGUgeyFGdW5jdGlvbn0KICogQHRocm93cyB7RXJyb3J9IHdoZW4gaW52b2tlZCB0byBpbmRpY2F0ZSB0aGUgbWV0aG9kIHNob3VsZCBiZSBvdmVycmlkZGVuLgogKiBAZGVwcmVjYXRlZCBVc2UgIkBhYnN0cmFjdCIgYW5ub3RhdGlvbiBpbnN0ZWFkIG9mIGdvb2cuYWJzdHJhY3RNZXRob2QgaW4gbmV3CiAqICAgICBjb2RlLiBTZWUKICogICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvY2xvc3VyZS1jb21waWxlci93aWtpL0BhYnN0cmFjdC1jbGFzc2VzLWFuZC1tZXRob2RzCiAqLwpnb29nLmFic3RyYWN0TWV0aG9kID0gZnVuY3Rpb24oKSB7CiAgdGhyb3cgbmV3IEVycm9yKCd1bmltcGxlbWVudGVkIGFic3RyYWN0IG1ldGhvZCcpOwp9OwoKCi8qKgogKiBBZGRzIGEgYGdldEluc3RhbmNlYCBzdGF0aWMgbWV0aG9kIHRoYXQgYWx3YXlzIHJldHVybnMgdGhlIHNhbWUKICogaW5zdGFuY2Ugb2JqZWN0LgogKiBAcGFyYW0geyFGdW5jdGlvbn0gY3RvciBUaGUgY29uc3RydWN0b3IgZm9yIHRoZSBjbGFzcyB0byBhZGQgdGhlIHN0YXRpYwogKiAgICAgbWV0aG9kIHRvLgogKiBAc3VwcHJlc3Mge21pc3NpbmdQcm9wZXJ0aWVzfSAnaW5zdGFuY2VfJyBpc24ndCBhIHByb3BlcnR5IG9uICdGdW5jdGlvbicKICogICAgIGJ1dCB3ZSBkb24ndCBoYXZlIGEgYmV0dGVyIHR5cGUgdG8gdXNlIGhlcmUuCiAqLwpnb29nLmFkZFNpbmdsZXRvbkdldHRlciA9IGZ1bmN0aW9uKGN0b3IpIHsKICAvLyBpbnN0YW5jZV8gaXMgaW1tZWRpYXRlbHkgc2V0IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggc2VhbGVkIGNvbnN0cnVjdG9ycwogIC8vIHN1Y2ggYXMgYXJlIGVuY291bnRlcmVkIHdoZW4gYSBjb25zdHJ1Y3RvciBpcyByZXR1cm5lZCBhcyB0aGUgZXhwb3J0IG9iamVjdAogIC8vIG9mIGEgZ29vZy5tb2R1bGUgaW4gdW5vcHRpbWl6ZWQgY29kZS4KICAvLyBEZWxjYXJlIHR5cGUgdG8gYXZvaWQgY29uZm9ybWFuY2UgdmlvbGF0aW9ucyB0aGF0IGN0b3IuaW5zdGFuY2VfIGlzIHVua25vd24KICAvKiogQHR5cGUge3VuZGVmaW5lZHwhT2JqZWN0fSBAc3VwcHJlc3Mge3VuZGVyc2NvcmV9ICovCiAgY3Rvci5pbnN0YW5jZV8gPSB1bmRlZmluZWQ7CiAgY3Rvci5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uKCkgewogICAgaWYgKGN0b3IuaW5zdGFuY2VfKSB7CiAgICAgIHJldHVybiBjdG9yLmluc3RhbmNlXzsKICAgIH0KICAgIGlmIChnb29nLkRFQlVHKSB7CiAgICAgIC8vIE5PVEU6IEpTQ29tcGlsZXIgY2FuJ3Qgb3B0aW1pemUgYXdheSBBcnJheSNwdXNoLgogICAgICBnb29nLmluc3RhbnRpYXRlZFNpbmdsZXRvbnNfW2dvb2cuaW5zdGFudGlhdGVkU2luZ2xldG9uc18ubGVuZ3RoXSA9IGN0b3I7CiAgICB9CiAgICAvLyBDYXN0IHRvIGF2b2lkIGNvbmZvcm1hbmNlIHZpb2xhdGlvbnMgdGhhdCBjdG9yLmluc3RhbmNlXyBpcyB1bmtub3duCiAgICByZXR1cm4gLyoqIEB0eXBlIHshT2JqZWN0fHVuZGVmaW5lZH0gKi8gKGN0b3IuaW5zdGFuY2VfKSA9IG5ldyBjdG9yOwogIH07Cn07CgoKLyoqCiAqIEFsbCBzaW5nbGV0b24gY2xhc3NlcyB0aGF0IGhhdmUgYmVlbiBpbnN0YW50aWF0ZWQsIGZvciB0ZXN0aW5nLiBEb24ndCByZWFkCiAqIGl0IGRpcmVjdGx5LCB1c2UgdGhlIGBnb29nLnRlc3Rpbmcuc2luZ2xldG9uYCBtb2R1bGUuIFRoZSBjb21waWxlcgogKiByZW1vdmVzIHRoaXMgdmFyaWFibGUgaWYgdW51c2VkLgogKiBAdHlwZSB7IUFycmF5PCFGdW5jdGlvbj59CiAqIEBwcml2YXRlCiAqLwpnb29nLmluc3RhbnRpYXRlZFNpbmdsZXRvbnNfID0gW107CgoKLyoqCiAqIEBkZWZpbmUge2Jvb2xlYW59IFdoZXRoZXIgdG8gbG9hZCBnb29nLm1vZHVsZXMgdXNpbmcgYGV2YWxgIHdoZW4gdXNpbmcKICogdGhlIGRlYnVnIGxvYWRlci4gIFRoaXMgcHJvdmlkZXMgYSBiZXR0ZXIgZGVidWdnaW5nIGV4cGVyaWVuY2UgYXMgdGhlCiAqIHNvdXJjZSBpcyB1bm1vZGlmaWVkIGFuZCBjYW4gYmUgZWRpdGVkIHVzaW5nIENocm9tZSBXb3Jrc3BhY2VzIG9yIHNpbWlsYXIuCiAqIEhvd2V2ZXIgaW4gc29tZSBlbnZpcm9ubWVudHMgdGhlIHVzZSBvZiBgZXZhbGAgaXMgYmFubmVkCiAqIHNvIHdlIHByb3ZpZGUgYW4gYWx0ZXJuYXRpdmUuCiAqLwpnb29nLkxPQURfTU9EVUxFX1VTSU5HX0VWQUwgPSBnb29nLmRlZmluZSgnZ29vZy5MT0FEX01PRFVMRV9VU0lOR19FVkFMJywgdHJ1ZSk7CgoKLyoqCiAqIEBkZWZpbmUge2Jvb2xlYW59IFdoZXRoZXIgdGhlIGV4cG9ydHMgb2YgZ29vZy5tb2R1bGVzIHNob3VsZCBiZSBzZWFsZWQgd2hlbgogKiBwb3NzaWJsZS4KICovCmdvb2cuU0VBTF9NT0RVTEVfRVhQT1JUUyA9IGdvb2cuZGVmaW5lKCdnb29nLlNFQUxfTU9EVUxFX0VYUE9SVFMnLCBnb29nLkRFQlVHKTsKCgovKioKICogVGhlIHJlZ2lzdHJ5IG9mIGluaXRpYWxpemVkIG1vZHVsZXM6CiAqIFRoZSBtb2R1bGUgaWRlbnRpZmllciBvciBwYXRoIHRvIG1vZHVsZSBleHBvcnRzIG1hcC4KICogQHByaXZhdGUgQGNvbnN0IHshT2JqZWN0PHN0cmluZywge2V4cG9ydHM6Pyx0eXBlOnN0cmluZyxtb2R1bGVJZDpzdHJpbmd9Pn0KICovCmdvb2cubG9hZGVkTW9kdWxlc18gPSB7fTsKCgovKioKICogVHJ1ZSBpZiB0aGUgZGVidWcgbG9hZGVyIGVuYWJsZWQgYW5kIHVzZWQuCiAqIEBjb25zdCB7Ym9vbGVhbn0KICovCmdvb2cuREVQRU5ERU5DSUVTX0VOQUJMRUQgPSAhQ09NUElMRUQgJiYgZ29vZy5FTkFCTEVfREVCVUdfTE9BREVSOwoKCi8qKgogKiBAZGVmaW5lIHtzdHJpbmd9IEhvdyB0byBkZWNpZGUgd2hldGhlciB0byB0cmFuc3BpbGUuICBWYWxpZCB2YWx1ZXMKICogYXJlICdhbHdheXMnLCAnbmV2ZXInLCBhbmQgJ2RldGVjdCcuICBUaGUgZGVmYXVsdCAoJ2RldGVjdCcpIGlzIHRvCiAqIHVzZSBmZWF0dXJlIGRldGVjdGlvbiB0byBkZXRlcm1pbmUgd2hpY2ggbGFuZ3VhZ2UgbGV2ZWxzIG5lZWQKICogdHJhbnNwaWxhdGlvbi4KICovCi8vIE5PVEUoc2RoKTogd2UgY291bGQgZXhwYW5kIHRoaXMgdG8gYWNjZXB0IGEgbGFuZ3VhZ2UgbGV2ZWwgdG8gYnlwYXNzCi8vIGRldGVjdGlvbjogZS5nLiBnb29nLlRSQU5TUElMRSA9PSAnZXM1JyB3b3VsZCB0cmFuc3BpbGUgRVM2IGZpbGVzIGJ1dAovLyB3b3VsZCBsZWF2ZSBFUzMgYW5kIEVTNSBmaWxlcyBhbG9uZS4KZ29vZy5UUkFOU1BJTEUgPSBnb29nLmRlZmluZSgnZ29vZy5UUkFOU1BJTEUnLCAnZGV0ZWN0Jyk7CgovKioKICogQGRlZmluZSB7Ym9vbGVhbn0gSWYgdHJ1ZSBhc3N1bWUgdGhhdCBFUyBtb2R1bGVzIGhhdmUgYWxyZWFkeSBiZWVuCiAqIHRyYW5zcGlsZWQgYnkgdGhlIGpzY29tcGlsZXIgKGluIHRoZSBzYW1lIHdheSB0aGF0IHRyYW5zcGlsZS5qcyB3b3VsZAogKiB0cmFuc3BpbGUgdGhlbSAtIHRvIGpzY29tcCBtb2R1bGVzKS4gVXNlZnVsIG9ubHkgZm9yIHNlcnZlcnMgdGhhdCB3aXNoIHRvIHVzZQogKiB0aGUgZGVidWcgbG9hZGVyIGFuZCB0cmFuc3BpbGUgc2VydmVyIHNpZGUuIFRodXMgdGhpcyBpcyBvbmx5IHJlc3BlY3RlZCBpZgogKiBnb29nLlRSQU5TUElMRSBpcyAibmV2ZXIiLgogKi8KZ29vZy5BU1NVTUVfRVNfTU9EVUxFU19UUkFOU1BJTEVEID0KICAgIGdvb2cuZGVmaW5lKCdnb29nLkFTU1VNRV9FU19NT0RVTEVTX1RSQU5TUElMRUQnLCBmYWxzZSk7CgoKLyoqCiAqIEBkZWZpbmUge3N0cmluZ30gSWYgYSBmaWxlIG5lZWRzIHRvIGJlIHRyYW5zcGlsZWQgd2hhdCB0aGUgb3V0cHV0IGxhbmd1YWdlCiAqIHNob3VsZCBiZS4gQnkgZGVmYXVsdCB0aGlzIGlzIHRoZSBoaWdoZXN0IGxhbmd1YWdlIGxldmVsIHRoaXMgZmlsZSBkZXRlY3RzCiAqIHRoZSBjdXJyZW50IGVudmlyb25tZW50IHN1cHBvcnRzLiBHZW5lcmFsbHkgdGhpcyBmbGFnIHNob3VsZCBub3QgYmUgc2V0LCBidXQKICogaXQgY291bGQgYmUgdXNlZnVsIHRvIG92ZXJyaWRlLiBFeGFtcGxlOiBJZiB0aGUgY3VycmVudCBlbnZpcm9ubWVudCBzdXBwb3J0cwogKiBFUzYgdGhlbiBieSBkZWZhdWx0IEVTNysgZmlsZXMgd2lsbCBiZSB0cmFuc3BpbGVkIHRvIEVTNiwgdW5sZXNzIHRoaXMgaXMKICogb3ZlcnJpZGRlbi4KICoKICogVmFsaWQgdmFsdWVzIGluY2x1ZGU6IGVzMywgZXM1LCBlczYsIGVzNywgYW5kIGVzOC4gQW55dGhpbmcgbm90IHJlY29nbml6ZWQKICogaXMgdHJlYXRlZCBhcyBlczMuCiAqCiAqIE5vdGUgdGhhdCBzZXR0aW5nIHRoaXMgdmFsdWUgZG9lcyBub3QgZm9yY2UgdHJhbnNwaWxhdGlvbi4gSnVzdCBpZgogKiB0cmFuc3BpbGF0aW9uIG9jY3VycyB0aGlzIHdpbGwgYmUgdGhlIG91dHB1dC4gU28gdGhpcyBpcyBtb3N0IHVzZWZ1bCB3aGVuCiAqIGdvb2cuVFJBTlNQSUxFIGlzIHNldCB0byAnYWx3YXlzJyBhbmQgdGhlbiBmb3JjaW5nIHRoZSBsYW5ndWFnZSBsZXZlbCB0byBiZQogKiBzb21ldGhpbmcgbG93ZXIgdGhhbiB3aGF0IHRoZSBlbnZpcm9ubWVudCBkZXRlY3RzLgogKi8KZ29vZy5UUkFOU1BJTEVfVE9fTEFOR1VBR0UgPSBnb29nLmRlZmluZSgnZ29vZy5UUkFOU1BJTEVfVE9fTEFOR1VBR0UnLCAnJyk7CgoKLyoqCiAqIEBkZWZpbmUge3N0cmluZ30gUGF0aCB0byB0aGUgdHJhbnNwaWxlci4gIEV4ZWN1dGluZyB0aGUgc2NyaXB0IGF0IHRoaXMKICogcGF0aCAocmVsYXRpdmUgdG8gYmFzZS5qcykgc2hvdWxkIGRlZmluZSBhIGZ1bmN0aW9uICRqc2NvbXAudHJhbnNwaWxlLgogKi8KZ29vZy5UUkFOU1BJTEVSID0gZ29vZy5kZWZpbmUoJ2dvb2cuVFJBTlNQSUxFUicsICd0cmFuc3BpbGUuanMnKTsKCgovKioKICogQHBhY2thZ2Ugez9ib29sZWFufQogKiBWaXNpYmxlIGZvciB0ZXN0aW5nLgogKi8KZ29vZy5oYXNCYWRMZXRTY29waW5nID0gbnVsbDsKCgovKioKICogQHJldHVybiB7Ym9vbGVhbn0KICogQHBhY2thZ2UgVmlzaWJsZSBmb3IgdGVzdGluZy4KICovCmdvb2cudXNlU2FmYXJpMTBXb3JrYXJvdW5kID0gZnVuY3Rpb24oKSB7CiAgaWYgKGdvb2cuaGFzQmFkTGV0U2NvcGluZyA9PSBudWxsKSB7CiAgICB2YXIgaGFzQmFkTGV0U2NvcGluZzsKICAgIHRyeSB7CiAgICAgIGhhc0JhZExldFNjb3BpbmcgPSAhZXZhbCgKICAgICAgICAgICcidXNlIHN0cmljdCI7JyArCiAgICAgICAgICAnbGV0IHggPSAxOyBmdW5jdGlvbiBmKCkgeyByZXR1cm4gdHlwZW9mIHg7IH07JyArCiAgICAgICAgICAnZigpID09ICJudW1iZXIiOycpOwogICAgfSBjYXRjaCAoZSkgewogICAgICAvLyBBc3N1bWUgdGhhdCBFUzYgc3ludGF4IGlzbid0IHN1cHBvcnRlZC4KICAgICAgaGFzQmFkTGV0U2NvcGluZyA9IGZhbHNlOwogICAgfQogICAgZ29vZy5oYXNCYWRMZXRTY29waW5nID0gaGFzQmFkTGV0U2NvcGluZzsKICB9CiAgcmV0dXJuIGdvb2cuaGFzQmFkTGV0U2NvcGluZzsKfTsKCgovKioKICogQHBhcmFtIHtzdHJpbmd9IG1vZHVsZURlZgogKiBAcmV0dXJuIHtzdHJpbmd9CiAqIEBwYWNrYWdlIFZpc2libGUgZm9yIHRlc3RpbmcuCiAqLwpnb29nLndvcmthcm91bmRTYWZhcmkxMEV2YWxCdWcgPSBmdW5jdGlvbihtb2R1bGVEZWYpIHsKICByZXR1cm4gJyhmdW5jdGlvbigpeycgKyBtb2R1bGVEZWYgKwogICAgICAnXG4nICsgIC8vIFRlcm1pbmF0ZSBhbnkgdHJhaWxpbmcgc2luZ2xlIGxpbmUgY29tbWVudC4KICAgICAgJzsnICsgICAvLyBUZXJtaW5hdGUgYW55IHRyYWlsaW5nIGV4cHJlc3Npb24uCiAgICAgICd9KSgpO1xuJzsKfTsKCgovKioKICogQHBhcmFtIHtmdW5jdGlvbig/KTo/fHN0cmluZ30gbW9kdWxlRGVmIFRoZSBtb2R1bGUgZGVmaW5pdGlvbi4KICovCmdvb2cubG9hZE1vZHVsZSA9IGZ1bmN0aW9uKG1vZHVsZURlZikgewogIC8vIE5PVEU6IHdlIGFsbG93IGZ1bmN0aW9uIGRlZmluaXRpb25zIHRvIGJlIGVpdGhlciBpbiB0aGUgZnJvbQogIC8vIG9mIGEgc3RyaW5nIHRvIGV2YWwgKHdoaWNoIGtlZXBzIHRoZSBvcmlnaW5hbCBzb3VyY2UgaW50YWN0KSBvcgogIC8vIGluIGEgZXZhbCBmb3JiaWRkZW4gZW52aXJvbm1lbnQgKENTUCkgd2UgYWxsb3cgYSBmdW5jdGlvbiBkZWZpbml0aW9uCiAgLy8gd2hpY2ggaW4gaXRzIGJvZHkgbXVzdCBjYWxsIGBnb29nLm1vZHVsZWAsIGFuZCByZXR1cm4gdGhlIGV4cG9ydHMKICAvLyBvZiB0aGUgbW9kdWxlLgogIHZhciBwcmV2aW91c1N0YXRlID0gZ29vZy5tb2R1bGVMb2FkZXJTdGF0ZV87CiAgdHJ5IHsKICAgIGdvb2cubW9kdWxlTG9hZGVyU3RhdGVfID0gewogICAgICBtb2R1bGVOYW1lOiAnJywKICAgICAgZGVjbGFyZUxlZ2FjeU5hbWVzcGFjZTogZmFsc2UsCiAgICAgIHR5cGU6IGdvb2cuTW9kdWxlVHlwZS5HT09HCiAgICB9OwogICAgdmFyIGV4cG9ydHM7CiAgICBpZiAoZ29vZy5pc0Z1bmN0aW9uKG1vZHVsZURlZikpIHsKICAgICAgZXhwb3J0cyA9IG1vZHVsZURlZi5jYWxsKHVuZGVmaW5lZCwge30pOwogICAgfSBlbHNlIGlmICh0eXBlb2YgbW9kdWxlRGVmID09PSAnc3RyaW5nJykgewogICAgICBpZiAoZ29vZy51c2VTYWZhcmkxMFdvcmthcm91bmQoKSkgewogICAgICAgIG1vZHVsZURlZiA9IGdvb2cud29ya2Fyb3VuZFNhZmFyaTEwRXZhbEJ1Zyhtb2R1bGVEZWYpOwogICAgICB9CgogICAgICBleHBvcnRzID0gZ29vZy5sb2FkTW9kdWxlRnJvbVNvdXJjZV8uY2FsbCh1bmRlZmluZWQsIG1vZHVsZURlZik7CiAgICB9IGVsc2UgewogICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbW9kdWxlIGRlZmluaXRpb24nKTsKICAgIH0KCiAgICB2YXIgbW9kdWxlTmFtZSA9IGdvb2cubW9kdWxlTG9hZGVyU3RhdGVfLm1vZHVsZU5hbWU7CiAgICBpZiAodHlwZW9mIG1vZHVsZU5hbWUgPT09ICdzdHJpbmcnICYmIG1vZHVsZU5hbWUpIHsKICAgICAgLy8gRG9uJ3Qgc2VhbCBsZWdhY3kgbmFtZXNwYWNlcyBhcyB0aGV5IG1heSBiZSB1c2VkIGFzIGEgcGFyZW50IG9mCiAgICAgIC8vIGFub3RoZXIgbmFtZXNwYWNlCiAgICAgIGlmIChnb29nLm1vZHVsZUxvYWRlclN0YXRlXy5kZWNsYXJlTGVnYWN5TmFtZXNwYWNlKSB7CiAgICAgICAgZ29vZy5jb25zdHJ1Y3ROYW1lc3BhY2VfKG1vZHVsZU5hbWUsIGV4cG9ydHMpOwogICAgICB9IGVsc2UgaWYgKAogICAgICAgICAgZ29vZy5TRUFMX01PRFVMRV9FWFBPUlRTICYmIE9iamVjdC5zZWFsICYmCiAgICAgICAgICB0eXBlb2YgZXhwb3J0cyA9PSAnb2JqZWN0JyAmJiBleHBvcnRzICE9IG51bGwpIHsKICAgICAgICBPYmplY3Quc2VhbChleHBvcnRzKTsKICAgICAgfQoKICAgICAgdmFyIGRhdGEgPSB7CiAgICAgICAgZXhwb3J0czogZXhwb3J0cywKICAgICAgICB0eXBlOiBnb29nLk1vZHVsZVR5cGUuR09PRywKICAgICAgICBtb2R1bGVJZDogZ29vZy5tb2R1bGVMb2FkZXJTdGF0ZV8ubW9kdWxlTmFtZQogICAgICB9OwogICAgICBnb29nLmxvYWRlZE1vZHVsZXNfW21vZHVsZU5hbWVdID0gZGF0YTsKICAgIH0gZWxzZSB7CiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtb2R1bGUgbmFtZSBcIicgKyBtb2R1bGVOYW1lICsgJ1wiJyk7CiAgICB9CiAgfSBmaW5hbGx5IHsKICAgIGdvb2cubW9kdWxlTG9hZGVyU3RhdGVfID0gcHJldmlvdXNTdGF0ZTsKICB9Cn07CgoKLyoqCiAqIEBwcml2YXRlIEBjb25zdAogKi8KZ29vZy5sb2FkTW9kdWxlRnJvbVNvdXJjZV8gPSAvKiogQHR5cGUge2Z1bmN0aW9uKHN0cmluZyk6P30gKi8gKGZ1bmN0aW9uKCkgewogIC8vIE5PVEU6IHdlIGF2b2lkIGRlY2xhcmluZyBwYXJhbWV0ZXJzIG9yIGxvY2FsIHZhcmlhYmxlcyBoZXJlIHRvIGF2b2lkCiAgLy8gbWFza2luZyBnbG9iYWxzIG9yIGxlYWtpbmcgdmFsdWVzIGludG8gdGhlIG1vZHVsZSBkZWZpbml0aW9uLgogICd1c2Ugc3RyaWN0JzsKICB2YXIgZXhwb3J0cyA9IHt9OwogIGV2YWwoYXJndW1lbnRzWzBdKTsKICByZXR1cm4gZXhwb3J0czsKfSk7CgoKLyoqCiAqIE5vcm1hbGl6ZSBhIGZpbGUgcGF0aCBieSByZW1vdmluZyByZWR1bmRhbnQgIi4uIiBhbmQgZXh0cmFuZW91cyAiLiIgZmlsZQogKiBwYXRoIGNvbXBvbmVudHMuCiAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoCiAqIEByZXR1cm4ge3N0cmluZ30KICogQHByaXZhdGUKICovCmdvb2cubm9ybWFsaXplUGF0aF8gPSBmdW5jdGlvbihwYXRoKSB7CiAgdmFyIGNvbXBvbmVudHMgPSBwYXRoLnNwbGl0KCcvJyk7CiAgdmFyIGkgPSAwOwogIHdoaWxlIChpIDwgY29tcG9uZW50cy5sZW5ndGgpIHsKICAgIGlmIChjb21wb25lbnRzW2ldID09ICcuJykgewogICAgICBjb21wb25lbnRzLnNwbGljZShpLCAxKTsKICAgIH0gZWxzZSBpZiAoCiAgICAgICAgaSAmJiBjb21wb25lbnRzW2ldID09ICcuLicgJiYgY29tcG9uZW50c1tpIC0gMV0gJiYKICAgICAgICBjb21wb25lbnRzW2kgLSAxXSAhPSAnLi4nKSB7CiAgICAgIGNvbXBvbmVudHMuc3BsaWNlKC0taSwgMik7CiAgICB9IGVsc2UgewogICAgICBpKys7CiAgICB9CiAgfQogIHJldHVybiBjb21wb25lbnRzLmpvaW4oJy8nKTsKfTsKCgovKioKICogUHJvdmlkZXMgYSBob29rIGZvciBsb2FkaW5nIGEgZmlsZSB3aGVuIHVzaW5nIENsb3N1cmUncyBnb29nLnJlcXVpcmUoKSBBUEkKICogd2l0aCBnb29nLm1vZHVsZXMuICBJbiBwYXJ0aWN1bGFyIHRoaXMgaG9vayBpcyBwcm92aWRlZCB0byBzdXBwb3J0IE5vZGUuanMuCiAqCiAqIEB0eXBlIHsoZnVuY3Rpb24oc3RyaW5nKTpzdHJpbmcpfHVuZGVmaW5lZH0KICovCmdvb2cuZ2xvYmFsLkNMT1NVUkVfTE9BRF9GSUxFX1NZTkM7CgoKLyoqCiAqIExvYWRzIGZpbGUgYnkgc3luY2hyb25vdXMgWEhSLiBTaG91bGQgbm90IGJlIHVzZWQgaW4gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuCiAqIEBwYXJhbSB7c3RyaW5nfSBzcmMgU291cmNlIFVSTC4KICogQHJldHVybiB7P3N0cmluZ30gRmlsZSBjb250ZW50cywgb3IgbnVsbCBpZiBsb2FkIGZhaWxlZC4KICogQHByaXZhdGUKICovCmdvb2cubG9hZEZpbGVTeW5jXyA9IGZ1bmN0aW9uKHNyYykgewogIGlmIChnb29nLmdsb2JhbC5DTE9TVVJFX0xPQURfRklMRV9TWU5DKSB7CiAgICByZXR1cm4gZ29vZy5nbG9iYWwuQ0xPU1VSRV9MT0FEX0ZJTEVfU1lOQyhzcmMpOwogIH0gZWxzZSB7CiAgICB0cnkgewogICAgICAvKiogQHR5cGUge1hNTEh0dHBSZXF1ZXN0fSAqLwogICAgICB2YXIgeGhyID0gbmV3IGdvb2cuZ2xvYmFsWydYTUxIdHRwUmVxdWVzdCddKCk7CiAgICAgIHhoci5vcGVuKCdnZXQnLCBzcmMsIGZhbHNlKTsKICAgICAgeGhyLnNlbmQoKTsKICAgICAgLy8gTk9URTogU3VjY2Vzc2Z1bCBodHRwOiByZXF1ZXN0cyBoYXZlIGEgc3RhdHVzIG9mIDIwMCwgYnV0IHN1Y2Nlc3NmdWwKICAgICAgLy8gZmlsZTogcmVxdWVzdHMgbWF5IGhhdmUgYSBzdGF0dXMgb2YgemVyby4gIEFueSBvdGhlciBzdGF0dXMsIG9yIGEKICAgICAgLy8gdGhyb3duIGV4Y2VwdGlvbiAocGFydGljdWxhcmx5IGluIGNhc2Ugb2YgZmlsZTogcmVxdWVzdHMpIGluZGljYXRlcwogICAgICAvLyBzb21lIHNvcnQgb2YgZXJyb3IsIHdoaWNoIHdlIHRyZWF0IGFzIGEgbWlzc2luZyBvciB1bmF2YWlsYWJsZSBmaWxlLgogICAgICByZXR1cm4geGhyLnN0YXR1cyA9PSAwIHx8IHhoci5zdGF0dXMgPT0gMjAwID8geGhyLnJlc3BvbnNlVGV4dCA6IG51bGw7CiAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgLy8gTm8gbmVlZCB0byByZXRocm93IG9yIGxvZywgc2luY2UgZXJyb3JzIHNob3VsZCBzaG93IHVwIG9uIHRoZWlyIG93bi4KICAgICAgcmV0dXJuIG51bGw7CiAgICB9CiAgfQp9OwoKCi8qKgogKiBMYXppbHkgcmV0cmlldmVzIHRoZSB0cmFuc3BpbGVyIGFuZCBhcHBsaWVzIGl0IHRvIHRoZSBzb3VyY2UuCiAqIEBwYXJhbSB7c3RyaW5nfSBjb2RlIEpTIGNvZGUuCiAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFBhdGggdG8gdGhlIGNvZGUuCiAqIEBwYXJhbSB7c3RyaW5nfSB0YXJnZXQgTGFuZ3VhZ2UgbGV2ZWwgb3V0cHV0LgogKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSB0cmFuc3BpbGVkIGNvZGUuCiAqIEBwcml2YXRlCiAqLwpnb29nLnRyYW5zcGlsZV8gPSBmdW5jdGlvbihjb2RlLCBwYXRoLCB0YXJnZXQpIHsKICB2YXIganNjb21wID0gZ29vZy5nbG9iYWxbJyRqc2NvbXAnXTsKICBpZiAoIWpzY29tcCkgewogICAgZ29vZy5nbG9iYWxbJyRqc2NvbXAnXSA9IGpzY29tcCA9IHt9OwogIH0KICB2YXIgdHJhbnNwaWxlID0ganNjb21wLnRyYW5zcGlsZTsKICBpZiAoIXRyYW5zcGlsZSkgewogICAgdmFyIHRyYW5zcGlsZXJQYXRoID0gZ29vZy5iYXNlUGF0aCArIGdvb2cuVFJBTlNQSUxFUjsKICAgIHZhciB0cmFuc3BpbGVyQ29kZSA9IGdvb2cubG9hZEZpbGVTeW5jXyh0cmFuc3BpbGVyUGF0aCk7CiAgICBpZiAodHJhbnNwaWxlckNvZGUpIHsKICAgICAgLy8gVGhpcyBtdXN0IGJlIGV4ZWN1dGVkIHN5bmNocm9ub3VzbHksIHNpbmNlIGJ5IHRoZSB0aW1lIHdlIGtub3cgd2UKICAgICAgLy8gbmVlZCBpdCwgd2UncmUgYWJvdXQgdG8gbG9hZCBhbmQgd3JpdGUgdGhlIEVTNiBjb2RlIHN5bmNocm9ub3VzbHksCiAgICAgIC8vIHNvIGEgbm9ybWFsIHNjcmlwdC10YWcgbG9hZCB3aWxsIGJlIHRvbyBzbG93LiBXcmFwcGVkIGluIGEgZnVuY3Rpb24KICAgICAgLy8gc28gdGhhdCBjb2RlIGlzIGV2YWwnZCBpbiB0aGUgZ2xvYmFsIHNjb3BlLgogICAgICAoZnVuY3Rpb24oKSB7CiAgICAgICAgKDAsIGV2YWwpKHRyYW5zcGlsZXJDb2RlICsgJ1xuLy8jIHNvdXJjZVVSTD0nICsgdHJhbnNwaWxlclBhdGgpOwogICAgICB9KS5jYWxsKGdvb2cuZ2xvYmFsKTsKICAgICAgLy8gRXZlbiB0aG91Z2ggdGhlIHRyYW5zcGlsZXIgaXMgb3B0aW9uYWwsIGlmICRnd3RFeHBvcnQgaXMgZm91bmQsIGl0J3MKICAgICAgLy8gYSBzaWduIHRoZSB0cmFuc3BpbGVyIHdhcyBsb2FkZWQgYW5kIHRoZSAkanNjb21wLnRyYW5zcGlsZSAqc2hvdWxkKgogICAgICAvLyBiZSB0aGVyZS4KICAgICAgaWYgKGdvb2cuZ2xvYmFsWyckZ3d0RXhwb3J0J10gJiYgZ29vZy5nbG9iYWxbJyRnd3RFeHBvcnQnXVsnJGpzY29tcCddICYmCiAgICAgICAgICAhZ29vZy5nbG9iYWxbJyRnd3RFeHBvcnQnXVsnJGpzY29tcCddWyd0cmFuc3BpbGUnXSkgewogICAgICAgIHRocm93IG5ldyBFcnJvcigKICAgICAgICAgICAgJ1RoZSB0cmFuc3BpbGVyIGRpZCBub3QgcHJvcGVybHkgZXhwb3J0IHRoZSAidHJhbnNwaWxlIiAnICsKICAgICAgICAgICAgJ21ldGhvZC4gJGd3dEV4cG9ydDogJyArIEpTT04uc3RyaW5naWZ5KGdvb2cuZ2xvYmFsWyckZ3d0RXhwb3J0J10pKTsKICAgICAgfQogICAgICAvLyB0cmFuc3BpbGUuanMgb25seSBleHBvcnRzIGEgc2luZ2xlICRqc2NvbXAgZnVuY3Rpb24sIHRyYW5zcGlsZS4gV2UKICAgICAgLy8gZ3JhYiBqdXN0IHRoYXQgYW5kIGFkZCBpdCB0byB0aGUgZXhpc3RpbmcgZGVmaW5pdGlvbiBvZiAkanNjb21wIHdoaWNoCiAgICAgIC8vIGNvbnRhaW5zIHRoZSBwb2x5ZmlsbHMuCiAgICAgIGdvb2cuZ2xvYmFsWyckanNjb21wJ10udHJhbnNwaWxlID0KICAgICAgICAgIGdvb2cuZ2xvYmFsWyckZ3d0RXhwb3J0J11bJyRqc2NvbXAnXVsndHJhbnNwaWxlJ107CiAgICAgIGpzY29tcCA9IGdvb2cuZ2xvYmFsWyckanNjb21wJ107CiAgICAgIHRyYW5zcGlsZSA9IGpzY29tcC50cmFuc3BpbGU7CiAgICB9CiAgfQogIGlmICghdHJhbnNwaWxlKSB7CiAgICAvLyBUaGUgdHJhbnNwaWxlciBpcyBhbiBvcHRpb25hbCBjb21wb25lbnQuICBJZiBpdCdzIG5vdCBhdmFpbGFibGUgdGhlbgogICAgLy8gcmVwbGFjZSBpdCB3aXRoIGEgcGFzcy10aHJvdWdoIGZ1bmN0aW9uIHRoYXQgc2ltcGx5IGxvZ3MuCiAgICB2YXIgc3VmZml4ID0gJyByZXF1aXJlcyB0cmFuc3BpbGF0aW9uIGJ1dCBubyB0cmFuc3BpbGVyIHdhcyBmb3VuZC4nOwogICAgdHJhbnNwaWxlID0ganNjb21wLnRyYW5zcGlsZSA9IGZ1bmN0aW9uKGNvZGUsIHBhdGgpIHsKICAgICAgLy8gVE9ETyhzZGgpOiBmaWd1cmUgb3V0IHNvbWUgd2F5IHRvIGdldCB0aGlzIGVycm9yIHRvIHNob3cgdXAKICAgICAgLy8gaW4gdGVzdCByZXN1bHRzLCBub3RpbmcgdGhhdCB0aGUgZmFpbHVyZSBtYXkgb2NjdXIgaW4gbWFueQogICAgICAvLyBkaWZmZXJlbnQgd2F5cywgaW5jbHVkaW5nIGluIGxvYWRNb2R1bGUoKSBiZWZvcmUgdGhlIHRlc3QKICAgICAgLy8gcnVubmVyIGV2ZW4gY29tZXMgdXAuCiAgICAgIGdvb2cubG9nVG9Db25zb2xlXyhwYXRoICsgc3VmZml4KTsKICAgICAgcmV0dXJuIGNvZGU7CiAgICB9OwogIH0KICAvLyBOb3RlOiBhbnkgdHJhbnNwaWxhdGlvbiBlcnJvcnMvd2FybmluZ3Mgd2lsbCBiZSBsb2dnZWQgdG8gdGhlIGNvbnNvbGUuCiAgcmV0dXJuIHRyYW5zcGlsZShjb2RlLCBwYXRoLCB0YXJnZXQpOwp9OwoKLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8gTGFuZ3VhZ2UgRW5oYW5jZW1lbnRzCi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoKLyoqCiAqIFRoaXMgaXMgYSAiZml4ZWQiIHZlcnNpb24gb2YgdGhlIHR5cGVvZiBvcGVyYXRvci4gIEl0IGRpZmZlcnMgZnJvbSB0aGUgdHlwZW9mCiAqIG9wZXJhdG9yIGluIHN1Y2ggYSB3YXkgdGhhdCBudWxsIHJldHVybnMgJ251bGwnIGFuZCBhcnJheXMgcmV0dXJuICdhcnJheScuCiAqIEBwYXJhbSB7P30gdmFsdWUgVGhlIHZhbHVlIHRvIGdldCB0aGUgdHlwZSBvZi4KICogQHJldHVybiB7c3RyaW5nfSBUaGUgbmFtZSBvZiB0aGUgdHlwZS4KICovCmdvb2cudHlwZU9mID0gZnVuY3Rpb24odmFsdWUpIHsKICB2YXIgcyA9IHR5cGVvZiB2YWx1ZTsKICBpZiAocyA9PSAnb2JqZWN0JykgewogICAgaWYgKHZhbHVlKSB7CiAgICAgIC8vIENoZWNrIHRoZXNlIGZpcnN0LCBzbyB3ZSBjYW4gYXZvaWQgY2FsbGluZyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGlmCiAgICAgIC8vIHBvc3NpYmxlLgogICAgICAvLwogICAgICAvLyBJRSBpbXByb3Blcmx5IG1hcnNoYWxzIHR5cGVvZiBhY3Jvc3MgZXhlY3V0aW9uIGNvbnRleHRzLCBidXQgYQogICAgICAvLyBjcm9zcy1jb250ZXh0IG9iamVjdCB3aWxsIHN0aWxsIHJldHVybiBmYWxzZSBmb3IgImluc3RhbmNlb2YgT2JqZWN0Ii4KICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHsKICAgICAgICByZXR1cm4gJ2FycmF5JzsKICAgICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE9iamVjdCkgewogICAgICAgIHJldHVybiBzOwogICAgICB9CgogICAgICAvLyBIQUNLOiBJbiBvcmRlciB0byB1c2UgYW4gT2JqZWN0IHByb3RvdHlwZSBtZXRob2Qgb24gdGhlIGFyYml0cmFyeQogICAgICAvLyAgIHZhbHVlLCB0aGUgY29tcGlsZXIgcmVxdWlyZXMgdGhlIHZhbHVlIGJlIGNhc3QgdG8gdHlwZSBPYmplY3QsCiAgICAgIC8vICAgZXZlbiB0aG91Z2ggdGhlIEVDTUEgc3BlYyBleHBsaWNpdGx5IGFsbG93cyBpdC4KICAgICAgdmFyIGNsYXNzTmFtZSA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCgKICAgICAgICAgIC8qKiBAdHlwZSB7IU9iamVjdH0gKi8gKHZhbHVlKSk7CiAgICAgIC8vIEluIEZpcmVmb3ggMy42LCBhdHRlbXB0aW5nIHRvIGFjY2VzcyBpZnJhbWUgd2luZG93IG9iamVjdHMnIGxlbmd0aAogICAgICAvLyBwcm9wZXJ0eSB0aHJvd3MgYW4gTlNfRVJST1JfRkFJTFVSRSwgc28gd2UgbmVlZCB0byBzcGVjaWFsLWNhc2UgaXQKICAgICAgLy8gaGVyZS4KICAgICAgaWYgKGNsYXNzTmFtZSA9PSAnW29iamVjdCBXaW5kb3ddJykgewogICAgICAgIHJldHVybiAnb2JqZWN0JzsKICAgICAgfQoKICAgICAgLy8gV2UgY2Fubm90IGFsd2F5cyB1c2UgY29uc3RydWN0b3IgPT0gQXJyYXkgb3IgaW5zdGFuY2VvZiBBcnJheSBiZWNhdXNlCiAgICAgIC8vIGRpZmZlcmVudCBmcmFtZXMgaGF2ZSBkaWZmZXJlbnQgQXJyYXkgb2JqZWN0cy4gSW4gSUU2LCBpZiB0aGUgaWZyYW1lCiAgICAgIC8vIHdoZXJlIHRoZSBhcnJheSB3YXMgY3JlYXRlZCBpcyBkZXN0cm95ZWQsIHRoZSBhcnJheSBsb3NlcyBpdHMKICAgICAgLy8gcHJvdG90eXBlLiBUaGVuIGRlcmVmZXJlbmNpbmcgdmFsLnNwbGljZSBoZXJlIHRocm93cyBhbiBleGNlcHRpb24sIHNvCiAgICAgIC8vIHdlIGNhbid0IHVzZSBnb29nLmlzRnVuY3Rpb24uIENhbGxpbmcgdHlwZW9mIGRpcmVjdGx5IHJldHVybnMgJ3Vua25vd24nCiAgICAgIC8vIHNvIHRoYXQgd2lsbCB3b3JrLiBJbiB0aGlzIGNhc2UsIHRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gZmFsc2UgYW5kCiAgICAgIC8vIG1vc3QgYXJyYXkgZnVuY3Rpb25zIHdpbGwgc3RpbGwgd29yayBiZWNhdXNlIHRoZSBhcnJheSBpcyBzdGlsbAogICAgICAvLyBhcnJheS1saWtlIChzdXBwb3J0cyBsZW5ndGggYW5kIFtdKSBldmVuIHRob3VnaCBpdCBoYXMgbG9zdCBpdHMKICAgICAgLy8gcHJvdG90eXBlLgogICAgICAvLyBNYXJrIE1pbGxlciBub3RpY2VkIHRoYXQgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZwogICAgICAvLyBhbGxvd3MgYWNjZXNzIHRvIHRoZSB1bmZvcmdlYWJsZSBbW0NsYXNzXV0gcHJvcGVydHkuCiAgICAgIC8vICAxNS4yLjQuMiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nICggKQogICAgICAvLyAgV2hlbiB0aGUgdG9TdHJpbmcgbWV0aG9kIGlzIGNhbGxlZCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAgICAgIC8vICAgICAgMS4gR2V0IHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhpcyBvYmplY3QuCiAgICAgIC8vICAgICAgMi4gQ29tcHV0ZSBhIHN0cmluZyB2YWx1ZSBieSBjb25jYXRlbmF0aW5nIHRoZSB0aHJlZSBzdHJpbmdzCiAgICAgIC8vICAgICAgICAgIltvYmplY3QgIiwgUmVzdWx0KDEpLCBhbmQgIl0iLgogICAgICAvLyAgICAgIDMuIFJldHVybiBSZXN1bHQoMikuCiAgICAgIC8vIGFuZCB0aGlzIGJlaGF2aW9yIHN1cnZpdmVzIHRoZSBkZXN0cnVjdGlvbiBvZiB0aGUgZXhlY3V0aW9uIGNvbnRleHQuCiAgICAgIGlmICgoY2xhc3NOYW1lID09ICdbb2JqZWN0IEFycmF5XScgfHwKICAgICAgICAgICAvLyBJbiBJRSBhbGwgbm9uIHZhbHVlIHR5cGVzIGFyZSB3cmFwcGVkIGFzIG9iamVjdHMgYWNyb3NzIHdpbmRvdwogICAgICAgICAgIC8vIGJvdW5kYXJpZXMgKG5vdCBpZnJhbWUgdGhvdWdoKSBzbyB3ZSBoYXZlIHRvIGRvIG9iamVjdCBkZXRlY3Rpb24KICAgICAgICAgICAvLyBmb3IgdGhpcyBlZGdlIGNhc2UuCiAgICAgICAgICAgdHlwZW9mIHZhbHVlLmxlbmd0aCA9PSAnbnVtYmVyJyAmJgogICAgICAgICAgICAgICB0eXBlb2YgdmFsdWUuc3BsaWNlICE9ICd1bmRlZmluZWQnICYmCiAgICAgICAgICAgICAgIHR5cGVvZiB2YWx1ZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSAhPSAndW5kZWZpbmVkJyAmJgogICAgICAgICAgICAgICAhdmFsdWUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NwbGljZScpCgogICAgICAgICAgICAgICApKSB7CiAgICAgICAgcmV0dXJuICdhcnJheSc7CiAgICAgIH0KICAgICAgLy8gSEFDSzogVGhlcmUgaXMgc3RpbGwgYW4gYXJyYXkgY2FzZSB0aGF0IGZhaWxzLgogICAgICAvLyAgICAgZnVuY3Rpb24gQXJyYXlJbXBvc3RvcigpIHt9CiAgICAgIC8vICAgICBBcnJheUltcG9zdG9yLnByb3RvdHlwZSA9IFtdOwogICAgICAvLyAgICAgdmFyIGltcG9zdG9yID0gbmV3IEFycmF5SW1wb3N0b3I7CiAgICAgIC8vIHRoaXMgY2FuIGJlIGZpeGVkIGJ5IGdldHRpbmcgcmlkIG9mIHRoZSBmYXN0IHBhdGgKICAgICAgLy8gKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIGFuZCBzb2xlbHkgcmVseWluZyBvbgogICAgICAvLyAodmFsdWUgJiYgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy52YWxsKHZhbHVlKSA9PT0gJ1tvYmplY3QgQXJyYXldJykKICAgICAgLy8gYnV0IHRoYXQgd291bGQgcmVxdWlyZSBtYW55IG1vcmUgZnVuY3Rpb24gY2FsbHMgYW5kIGlzIG5vdCB3YXJyYW50ZWQKICAgICAgLy8gdW5sZXNzIGNsb3N1cmUgY29kZSBpcyByZWNlaXZpbmcgb2JqZWN0cyBmcm9tIHVudHJ1c3RlZCBzb3VyY2VzLgoKICAgICAgLy8gSUUgaW4gY3Jvc3Mtd2luZG93IGNhbGxzIGRvZXMgbm90IGNvcnJlY3RseSBtYXJzaGFsIHRoZSBmdW5jdGlvbiB0eXBlCiAgICAgIC8vIChpdCBhcHBlYXJzIGp1c3QgYXMgYW4gb2JqZWN0KSBzbyB3ZSBjYW5ub3QgdXNlIGp1c3QgdHlwZW9mIHZhbCA9PQogICAgICAvLyAnZnVuY3Rpb24nLiBIb3dldmVyLCBpZiB0aGUgb2JqZWN0IGhhcyBhIGNhbGwgcHJvcGVydHksIGl0IGlzIGEKICAgICAgLy8gZnVuY3Rpb24uCiAgICAgIGlmICgoY2xhc3NOYW1lID09ICdbb2JqZWN0IEZ1bmN0aW9uXScgfHwKICAgICAgICAgICB0eXBlb2YgdmFsdWUuY2FsbCAhPSAndW5kZWZpbmVkJyAmJgogICAgICAgICAgICAgICB0eXBlb2YgdmFsdWUucHJvcGVydHlJc0VudW1lcmFibGUgIT0gJ3VuZGVmaW5lZCcgJiYKICAgICAgICAgICAgICAgIXZhbHVlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdjYWxsJykpKSB7CiAgICAgICAgcmV0dXJuICdmdW5jdGlvbic7CiAgICAgIH0KCiAgICB9IGVsc2UgewogICAgICByZXR1cm4gJ251bGwnOwogICAgfQoKICB9IGVsc2UgaWYgKHMgPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgdmFsdWUuY2FsbCA9PSAndW5kZWZpbmVkJykgewogICAgLy8gSW4gU2FmYXJpIHR5cGVvZiBub2RlTGlzdCByZXR1cm5zICdmdW5jdGlvbicsIGFuZCBvbiBGaXJlZm94IHR5cGVvZgogICAgLy8gYmVoYXZlcyBzaW1pbGFybHkgZm9yIEhUTUx7QXBwbGV0LEVtYmVkLE9iamVjdH0sIEVsZW1lbnRzIGFuZCBSZWdFeHBzLiBXZQogICAgLy8gd291bGQgbGlrZSB0byByZXR1cm4gb2JqZWN0IGZvciB0aG9zZSBhbmQgd2UgY2FuIGRldGVjdCBhbiBpbnZhbGlkCiAgICAvLyBmdW5jdGlvbiBieSBtYWtpbmcgc3VyZSB0aGF0IHRoZSBmdW5jdGlvbiBvYmplY3QgaGFzIGEgY2FsbCBtZXRob2QuCiAgICByZXR1cm4gJ29iamVjdCc7CiAgfQogIHJldHVybiBzOwp9OwoKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHNwZWNpZmllZCB2YWx1ZSBpcyBudWxsLgogKiBAcGFyYW0gez99IHZhbCBWYXJpYWJsZSB0byB0ZXN0LgogKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHZhcmlhYmxlIGlzIG51bGwuCiAqIEBkZXByZWNhdGVkIFVzZSBgdmFsID09PSBudWxsYCBpbnN0ZWFkLgogKi8KZ29vZy5pc051bGwgPSBmdW5jdGlvbih2YWwpIHsKICByZXR1cm4gdmFsID09PSBudWxsOwp9OwoKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHNwZWNpZmllZCB2YWx1ZSBpcyBkZWZpbmVkIGFuZCBub3QgbnVsbC4KICogQHBhcmFtIHs/fSB2YWwgVmFyaWFibGUgdG8gdGVzdC4KICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB2YXJpYWJsZSBpcyBkZWZpbmVkIGFuZCBub3QgbnVsbC4KICogQGRlcHJlY2F0ZWQgVXNlIGB2YWwgIT0gbnVsbGAgaW5zdGVhZC4KICovCmdvb2cuaXNEZWZBbmROb3ROdWxsID0gZnVuY3Rpb24odmFsKSB7CiAgLy8gTm90ZSB0aGF0IHVuZGVmaW5lZCA9PSBudWxsLgogIHJldHVybiB2YWwgIT0gbnVsbDsKfTsKCgovKioKICogUmV0dXJucyB0cnVlIGlmIHRoZSBzcGVjaWZpZWQgdmFsdWUgaXMgYW4gYXJyYXkuCiAqIEBwYXJhbSB7P30gdmFsIFZhcmlhYmxlIHRvIHRlc3QuCiAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdmFyaWFibGUgaXMgYW4gYXJyYXkuCiAqLwpnb29nLmlzQXJyYXkgPSBmdW5jdGlvbih2YWwpIHsKICByZXR1cm4gZ29vZy50eXBlT2YodmFsKSA9PSAnYXJyYXknOwp9OwoKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIG9iamVjdCBsb29rcyBsaWtlIGFuIGFycmF5LiBUbyBxdWFsaWZ5IGFzIGFycmF5IGxpa2UKICogdGhlIHZhbHVlIG5lZWRzIHRvIGJlIGVpdGhlciBhIE5vZGVMaXN0IG9yIGFuIG9iamVjdCB3aXRoIGEgTnVtYmVyIGxlbmd0aAogKiBwcm9wZXJ0eS4gTm90ZSB0aGF0IGZvciB0aGlzIGZ1bmN0aW9uIG5laXRoZXIgc3RyaW5ncyBub3IgZnVuY3Rpb25zIGFyZQogKiBjb25zaWRlcmVkICJhcnJheS1saWtlIi4KICoKICogQHBhcmFtIHs/fSB2YWwgVmFyaWFibGUgdG8gdGVzdC4KICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB2YXJpYWJsZSBpcyBhbiBhcnJheS4KICovCmdvb2cuaXNBcnJheUxpa2UgPSBmdW5jdGlvbih2YWwpIHsKICB2YXIgdHlwZSA9IGdvb2cudHlwZU9mKHZhbCk7CiAgLy8gV2UgZG8gbm90IHVzZSBnb29nLmlzT2JqZWN0IGhlcmUgaW4gb3JkZXIgdG8gZXhjbHVkZSBmdW5jdGlvbiB2YWx1ZXMuCiAgcmV0dXJuIHR5cGUgPT0gJ2FycmF5JyB8fCB0eXBlID09ICdvYmplY3QnICYmIHR5cGVvZiB2YWwubGVuZ3RoID09ICdudW1iZXInOwp9OwoKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIG9iamVjdCBsb29rcyBsaWtlIGEgRGF0ZS4gVG8gcXVhbGlmeSBhcyBEYXRlLWxpa2UgdGhlCiAqIHZhbHVlIG5lZWRzIHRvIGJlIGFuIG9iamVjdCBhbmQgaGF2ZSBhIGdldEZ1bGxZZWFyKCkgZnVuY3Rpb24uCiAqIEBwYXJhbSB7P30gdmFsIFZhcmlhYmxlIHRvIHRlc3QuCiAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdmFyaWFibGUgaXMgYSBsaWtlIGEgRGF0ZS4KICovCmdvb2cuaXNEYXRlTGlrZSA9IGZ1bmN0aW9uKHZhbCkgewogIHJldHVybiBnb29nLmlzT2JqZWN0KHZhbCkgJiYgdHlwZW9mIHZhbC5nZXRGdWxsWWVhciA9PSAnZnVuY3Rpb24nOwp9OwoKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHNwZWNpZmllZCB2YWx1ZSBpcyBhIGZ1bmN0aW9uLgogKiBAcGFyYW0gez99IHZhbCBWYXJpYWJsZSB0byB0ZXN0LgogKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHZhcmlhYmxlIGlzIGEgZnVuY3Rpb24uCiAqLwpnb29nLmlzRnVuY3Rpb24gPSBmdW5jdGlvbih2YWwpIHsKICByZXR1cm4gZ29vZy50eXBlT2YodmFsKSA9PSAnZnVuY3Rpb24nOwp9OwoKCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgdGhlIHNwZWNpZmllZCB2YWx1ZSBpcyBhbiBvYmplY3QuICBUaGlzIGluY2x1ZGVzIGFycmF5cyBhbmQKICogZnVuY3Rpb25zLgogKiBAcGFyYW0gez99IHZhbCBWYXJpYWJsZSB0byB0ZXN0LgogKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHZhcmlhYmxlIGlzIGFuIG9iamVjdC4KICovCmdvb2cuaXNPYmplY3QgPSBmdW5jdGlvbih2YWwpIHsKICB2YXIgdHlwZSA9IHR5cGVvZiB2YWw7CiAgcmV0dXJuIHR5cGUgPT0gJ29iamVjdCcgJiYgdmFsICE9IG51bGwgfHwgdHlwZSA9PSAnZnVuY3Rpb24nOwogIC8vIHJldHVybiBPYmplY3QodmFsKSA9PT0gdmFsIGFsc28gd29ya3MsIGJ1dCBpcyBzbG93ZXIsIGVzcGVjaWFsbHkgaWYgdmFsIGlzCiAgLy8gbm90IGFuIG9iamVjdC4KfTsKCgovKioKICogR2V0cyBhIHVuaXF1ZSBJRCBmb3IgYW4gb2JqZWN0LiBUaGlzIG11dGF0ZXMgdGhlIG9iamVjdCBzbyB0aGF0IGZ1cnRoZXIgY2FsbHMKICogd2l0aCB0aGUgc2FtZSBvYmplY3QgYXMgYSBwYXJhbWV0ZXIgcmV0dXJucyB0aGUgc2FtZSB2YWx1ZS4gVGhlIHVuaXF1ZSBJRCBpcwogKiBndWFyYW50ZWVkIHRvIGJlIHVuaXF1ZSBhY3Jvc3MgdGhlIGN1cnJlbnQgc2Vzc2lvbiBhbW9uZ3N0IG9iamVjdHMgdGhhdCBhcmUKICogcGFzc2VkIGludG8gYGdldFVpZGAuIFRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IHRoZSBJRCBpcyB1bmlxdWUgb3IKICogY29uc2lzdGVudCBhY3Jvc3Mgc2Vzc2lvbnMuIEl0IGlzIHVuc2FmZSB0byBnZW5lcmF0ZSB1bmlxdWUgSUQgZm9yIGZ1bmN0aW9uCiAqIHByb3RvdHlwZXMuCiAqCiAqIEBwYXJhbSB7T2JqZWN0fSBvYmogVGhlIG9iamVjdCB0byBnZXQgdGhlIHVuaXF1ZSBJRCBmb3IuCiAqIEByZXR1cm4ge251bWJlcn0gVGhlIHVuaXF1ZSBJRCBmb3IgdGhlIG9iamVjdC4KICovCmdvb2cuZ2V0VWlkID0gZnVuY3Rpb24ob2JqKSB7CiAgLy8gVE9ETyhhcnYpOiBNYWtlIHRoZSB0eXBlIHN0cmljdGVyLCBkbyBub3QgYWNjZXB0IG51bGwuCgogIC8vIEluIE9wZXJhIHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSBleGlzdHMgYnV0IGFsd2F5cyByZXR1cm5zIGZhbHNlIHNvIHdlIGF2b2lkCiAgLy8gdXNpbmcgaXQuIEFzIGEgY29uc2VxdWVuY2UgdGhlIHVuaXF1ZSBJRCBnZW5lcmF0ZWQgZm9yIEJhc2VDbGFzcy5wcm90b3R5cGUKICAvLyBhbmQgU3ViQ2xhc3MucHJvdG90eXBlIHdpbGwgYmUgdGhlIHNhbWUuCiAgLy8gVE9ETyhiLzE0MTUxMjMyMyk6IFVVSURzIGFyZSBicm9rZW4gZm9yIGN0b3JzIHdpdGggY2xhc3Mtc2lkZSBpbmhlcml0YW5jZS4KICByZXR1cm4gb2JqW2dvb2cuVUlEX1BST1BFUlRZX10gfHwKICAgICAgKG9ialtnb29nLlVJRF9QUk9QRVJUWV9dID0gKytnb29nLnVpZENvdW50ZXJfKTsKfTsKCgovKioKICogV2hldGhlciB0aGUgZ2l2ZW4gb2JqZWN0IGlzIGFscmVhZHkgYXNzaWduZWQgYSB1bmlxdWUgSUQuCiAqCiAqIFRoaXMgZG9lcyBub3QgbW9kaWZ5IHRoZSBvYmplY3QuCiAqCiAqIEBwYXJhbSB7IU9iamVjdH0gb2JqIFRoZSBvYmplY3QgdG8gY2hlY2suCiAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhlcmUgaXMgYW4gYXNzaWduZWQgdW5pcXVlIGlkIGZvciB0aGUgb2JqZWN0LgogKi8KZ29vZy5oYXNVaWQgPSBmdW5jdGlvbihvYmopIHsKICByZXR1cm4gISFvYmpbZ29vZy5VSURfUFJPUEVSVFlfXTsKfTsKCgovKioKICogUmVtb3ZlcyB0aGUgdW5pcXVlIElEIGZyb20gYW4gb2JqZWN0LiBUaGlzIGlzIHVzZWZ1bCBpZiB0aGUgb2JqZWN0IHdhcwogKiBwcmV2aW91c2x5IG11dGF0ZWQgdXNpbmcgYGdvb2cuZ2V0VWlkYCBpbiB3aGljaCBjYXNlIHRoZSBtdXRhdGlvbiBpcwogKiB1bmRvbmUuCiAqIEBwYXJhbSB7T2JqZWN0fSBvYmogVGhlIG9iamVjdCB0byByZW1vdmUgdGhlIHVuaXF1ZSBJRCBmaWVsZCBmcm9tLgogKi8KZ29vZy5yZW1vdmVVaWQgPSBmdW5jdGlvbihvYmopIHsKICAvLyBUT0RPKGFydik6IE1ha2UgdGhlIHR5cGUgc3RyaWN0ZXIsIGRvIG5vdCBhY2NlcHQgbnVsbC4KCiAgLy8gSW4gSUUsIERPTSBub2RlcyBhcmUgbm90IGluc3RhbmNlcyBvZiBPYmplY3QgYW5kIHRocm93IGFuIGV4Y2VwdGlvbiBpZiB3ZQogIC8vIHRyeSB0byBkZWxldGUuICBJbnN0ZWFkIHdlIHRyeSB0byB1c2UgcmVtb3ZlQXR0cmlidXRlLgogIGlmIChvYmogIT09IG51bGwgJiYgJ3JlbW92ZUF0dHJpYnV0ZScgaW4gb2JqKSB7CiAgICBvYmoucmVtb3ZlQXR0cmlidXRlKGdvb2cuVUlEX1BST1BFUlRZXyk7CiAgfQoKICB0cnkgewogICAgZGVsZXRlIG9ialtnb29nLlVJRF9QUk9QRVJUWV9dOwogIH0gY2F0Y2ggKGV4KSB7CiAgfQp9OwoKCi8qKgogKiBOYW1lIGZvciB1bmlxdWUgSUQgcHJvcGVydHkuIEluaXRpYWxpemVkIGluIGEgd2F5IHRvIGhlbHAgYXZvaWQgY29sbGlzaW9ucwogKiB3aXRoIG90aGVyIGNsb3N1cmUgSmF2YVNjcmlwdCBvbiB0aGUgc2FtZSBwYWdlLgogKiBAdHlwZSB7c3RyaW5nfQogKiBAcHJpdmF0ZQogKi8KZ29vZy5VSURfUFJPUEVSVFlfID0gJ2Nsb3N1cmVfdWlkXycgKyAoKE1hdGgucmFuZG9tKCkgKiAxZTkpID4+PiAwKTsKCgovKioKICogQ291bnRlciBmb3IgVUlELgogKiBAdHlwZSB7bnVtYmVyfQogKiBAcHJpdmF0ZQogKi8KZ29vZy51aWRDb3VudGVyXyA9IDA7CgoKLyoqCiAqIEFkZHMgYSBoYXNoIGNvZGUgZmllbGQgdG8gYW4gb2JqZWN0LiBUaGUgaGFzaCBjb2RlIGlzIHVuaXF1ZSBmb3IgdGhlCiAqIGdpdmVuIG9iamVjdC4KICogQHBhcmFtIHtPYmplY3R9IG9iaiBUaGUgb2JqZWN0IHRvIGdldCB0aGUgaGFzaCBjb2RlIGZvci4KICogQHJldHVybiB7bnVtYmVyfSBUaGUgaGFzaCBjb2RlIGZvciB0aGUgb2JqZWN0LgogKiBAZGVwcmVjYXRlZCBVc2UgZ29vZy5nZXRVaWQgaW5zdGVhZC4KICovCmdvb2cuZ2V0SGFzaENvZGUgPSBnb29nLmdldFVpZDsKCgovKioKICogUmVtb3ZlcyB0aGUgaGFzaCBjb2RlIGZpZWxkIGZyb20gYW4gb2JqZWN0LgogKiBAcGFyYW0ge09iamVjdH0gb2JqIFRoZSBvYmplY3QgdG8gcmVtb3ZlIHRoZSBmaWVsZCBmcm9tLgogKiBAZGVwcmVjYXRlZCBVc2UgZ29vZy5yZW1vdmVVaWQgaW5zdGVhZC4KICovCmdvb2cucmVtb3ZlSGFzaENvZGUgPSBnb29nLnJlbW92ZVVpZDsKCgovKioKICogQ2xvbmVzIGEgdmFsdWUuIFRoZSBpbnB1dCBtYXkgYmUgYW4gT2JqZWN0LCBBcnJheSwgb3IgYmFzaWMgdHlwZS4gT2JqZWN0cyBhbmQKICogYXJyYXlzIHdpbGwgYmUgY2xvbmVkIHJlY3Vyc2l2ZWx5LgogKgogKiBXQVJOSU5HUzoKICogPGNvZGU+Z29vZy5jbG9uZU9iamVjdDwvY29kZT4gZG9lcyBub3QgZGV0ZWN0IHJlZmVyZW5jZSBsb29wcy4gT2JqZWN0cyB0aGF0CiAqIHJlZmVyIHRvIHRoZW1zZWx2ZXMgd2lsbCBjYXVzZSBpbmZpbml0ZSByZWN1cnNpb24uCiAqCiAqIDxjb2RlPmdvb2cuY2xvbmVPYmplY3Q8L2NvZGU+IGlzIHVuYXdhcmUgb2YgdW5pcXVlIGlkZW50aWZpZXJzLCBhbmQgY29waWVzCiAqIFVJRHMgY3JlYXRlZCBieSA8Y29kZT5nZXRVaWQ8L2NvZGU+IGludG8gY2xvbmVkIHJlc3VsdHMuCiAqCiAqIEBwYXJhbSB7Kn0gb2JqIFRoZSB2YWx1ZSB0byBjbG9uZS4KICogQHJldHVybiB7Kn0gQSBjbG9uZSBvZiB0aGUgaW5wdXQgdmFsdWUuCiAqIEBkZXByZWNhdGVkIGdvb2cuY2xvbmVPYmplY3QgaXMgdW5zYWZlLiBQcmVmZXIgdGhlIGdvb2cub2JqZWN0IG1ldGhvZHMuCiAqLwpnb29nLmNsb25lT2JqZWN0ID0gZnVuY3Rpb24ob2JqKSB7CiAgdmFyIHR5cGUgPSBnb29nLnR5cGVPZihvYmopOwogIGlmICh0eXBlID09ICdvYmplY3QnIHx8IHR5cGUgPT0gJ2FycmF5JykgewogICAgaWYgKHR5cGVvZiBvYmouY2xvbmUgPT09ICdmdW5jdGlvbicpIHsKICAgICAgcmV0dXJuIG9iai5jbG9uZSgpOwogICAgfQogICAgdmFyIGNsb25lID0gdHlwZSA9PSAnYXJyYXknID8gW10gOiB7fTsKICAgIGZvciAodmFyIGtleSBpbiBvYmopIHsKICAgICAgY2xvbmVba2V5XSA9IGdvb2cuY2xvbmVPYmplY3Qob2JqW2tleV0pOwogICAgfQogICAgcmV0dXJuIGNsb25lOwogIH0KCiAgcmV0dXJuIG9iajsKfTsKCgovKioKICogQSBuYXRpdmUgaW1wbGVtZW50YXRpb24gb2YgZ29vZy5iaW5kLgogKiBAcGFyYW0gez9mdW5jdGlvbih0aGlzOlQsIC4uLil9IGZuIEEgZnVuY3Rpb24gdG8gcGFydGlhbGx5IGFwcGx5LgogKiBAcGFyYW0ge1R9IHNlbGZPYmogU3BlY2lmaWVzIHRoZSBvYmplY3Qgd2hpY2ggdGhpcyBzaG91bGQgcG9pbnQgdG8gd2hlbiB0aGUKICogICAgIGZ1bmN0aW9uIGlzIHJ1bi4KICogQHBhcmFtIHsuLi4qfSB2YXJfYXJncyBBZGRpdGlvbmFsIGFyZ3VtZW50cyB0aGF0IGFyZSBwYXJ0aWFsbHkgYXBwbGllZCB0byB0aGUKICogICAgIGZ1bmN0aW9uLgogKiBAcmV0dXJuIHshRnVuY3Rpb259IEEgcGFydGlhbGx5LWFwcGxpZWQgZm9ybSBvZiB0aGUgZnVuY3Rpb24gZ29vZy5iaW5kKCkgd2FzCiAqICAgICBpbnZva2VkIGFzIGEgbWV0aG9kIG9mLgogKiBAdGVtcGxhdGUgVAogKiBAcHJpdmF0ZQogKi8KZ29vZy5iaW5kTmF0aXZlXyA9IGZ1bmN0aW9uKGZuLCBzZWxmT2JqLCB2YXJfYXJncykgewogIHJldHVybiAvKiogQHR5cGUgeyFGdW5jdGlvbn0gKi8gKGZuLmNhbGwuYXBwbHkoZm4uYmluZCwgYXJndW1lbnRzKSk7Cn07CgoKLyoqCiAqIEEgcHVyZS1KUyBpbXBsZW1lbnRhdGlvbiBvZiBnb29nLmJpbmQuCiAqIEBwYXJhbSB7P2Z1bmN0aW9uKHRoaXM6VCwgLi4uKX0gZm4gQSBmdW5jdGlvbiB0byBwYXJ0aWFsbHkgYXBwbHkuCiAqIEBwYXJhbSB7VH0gc2VsZk9iaiBTcGVjaWZpZXMgdGhlIG9iamVjdCB3aGljaCB0aGlzIHNob3VsZCBwb2ludCB0byB3aGVuIHRoZQogKiAgICAgZnVuY3Rpb24gaXMgcnVuLgogKiBAcGFyYW0gey4uLip9IHZhcl9hcmdzIEFkZGl0aW9uYWwgYXJndW1lbnRzIHRoYXQgYXJlIHBhcnRpYWxseSBhcHBsaWVkIHRvIHRoZQogKiAgICAgZnVuY3Rpb24uCiAqIEByZXR1cm4geyFGdW5jdGlvbn0gQSBwYXJ0aWFsbHktYXBwbGllZCBmb3JtIG9mIHRoZSBmdW5jdGlvbiBnb29nLmJpbmQoKSB3YXMKICogICAgIGludm9rZWQgYXMgYSBtZXRob2Qgb2YuCiAqIEB0ZW1wbGF0ZSBUCiAqIEBwcml2YXRlCiAqLwpnb29nLmJpbmRKc18gPSBmdW5jdGlvbihmbiwgc2VsZk9iaiwgdmFyX2FyZ3MpIHsKICBpZiAoIWZuKSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoKTsKICB9CgogIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMikgewogICAgdmFyIGJvdW5kQXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMik7CiAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgIC8vIFByZXBlbmQgdGhlIGJvdW5kIGFyZ3VtZW50cyB0byB0aGUgY3VycmVudCBhcmd1bWVudHMuCiAgICAgIHZhciBuZXdBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTsKICAgICAgQXJyYXkucHJvdG90eXBlLnVuc2hpZnQuYXBwbHkobmV3QXJncywgYm91bmRBcmdzKTsKICAgICAgcmV0dXJuIGZuLmFwcGx5KHNlbGZPYmosIG5ld0FyZ3MpOwogICAgfTsKCiAgfSBlbHNlIHsKICAgIHJldHVybiBmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIGZuLmFwcGx5KHNlbGZPYmosIGFyZ3VtZW50cyk7CiAgICB9OwogIH0KfTsKCgovKioKICogUGFydGlhbGx5IGFwcGxpZXMgdGhpcyBmdW5jdGlvbiB0byBhIHBhcnRpY3VsYXIgJ3RoaXMgb2JqZWN0JyBhbmQgemVybyBvcgogKiBtb3JlIGFyZ3VtZW50cy4gVGhlIHJlc3VsdCBpcyBhIG5ldyBmdW5jdGlvbiB3aXRoIHNvbWUgYXJndW1lbnRzIG9mIHRoZSBmaXJzdAogKiBmdW5jdGlvbiBwcmUtZmlsbGVkIGFuZCB0aGUgdmFsdWUgb2YgdGhpcyAncHJlLXNwZWNpZmllZCcuCiAqCiAqIFJlbWFpbmluZyBhcmd1bWVudHMgc3BlY2lmaWVkIGF0IGNhbGwtdGltZSBhcmUgYXBwZW5kZWQgdG8gdGhlIHByZS1zcGVjaWZpZWQKICogb25lcy4KICoKICogQWxzbyBzZWU6IHtAbGluayAjcGFydGlhbH0uCiAqCiAqIFVzYWdlOgogKiA8cHJlPnZhciBiYXJNZXRoQm91bmQgPSBnb29nLmJpbmQobXlGdW5jdGlvbiwgbXlPYmosICdhcmcxJywgJ2FyZzInKTsKICogYmFyTWV0aEJvdW5kKCdhcmczJywgJ2FyZzQnKTs8L3ByZT4KICoKICogQHBhcmFtIHs/ZnVuY3Rpb24odGhpczpULCAuLi4pfSBmbiBBIGZ1bmN0aW9uIHRvIHBhcnRpYWxseSBhcHBseS4KICogQHBhcmFtIHtUfSBzZWxmT2JqIFNwZWNpZmllcyB0aGUgb2JqZWN0IHdoaWNoIHRoaXMgc2hvdWxkIHBvaW50IHRvIHdoZW4gdGhlCiAqICAgICBmdW5jdGlvbiBpcyBydW4uCiAqIEBwYXJhbSB7Li4uKn0gdmFyX2FyZ3MgQWRkaXRpb25hbCBhcmd1bWVudHMgdGhhdCBhcmUgcGFydGlhbGx5IGFwcGxpZWQgdG8gdGhlCiAqICAgICBmdW5jdGlvbi4KICogQHJldHVybiB7IUZ1bmN0aW9ufSBBIHBhcnRpYWxseS1hcHBsaWVkIGZvcm0gb2YgdGhlIGZ1bmN0aW9uIGdvb2cuYmluZCgpIHdhcwogKiAgICAgaW52b2tlZCBhcyBhIG1ldGhvZCBvZi4KICogQHRlbXBsYXRlIFQKICogQHN1cHByZXNzIHtkZXByZWNhdGVkfSBTZWUgYWJvdmUuCiAqLwpnb29nLmJpbmQgPSBmdW5jdGlvbihmbiwgc2VsZk9iaiwgdmFyX2FyZ3MpIHsKICAvLyBUT0RPKG5pY2tzYW50b3MpOiBuYXJyb3cgdGhlIHR5cGUgc2lnbmF0dXJlLgogIGlmIChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAmJgogICAgICAvLyBOT1RFKG5pY2tzYW50b3MpOiBTb21lYm9keSBwdWxsZWQgYmFzZS5qcyBpbnRvIHRoZSBkZWZhdWx0IENocm9tZQogICAgICAvLyBleHRlbnNpb24gZW52aXJvbm1lbnQuIFRoaXMgbWVhbnMgdGhhdCBmb3IgQ2hyb21lIGV4dGVuc2lvbnMsIHRoZXkgZ2V0CiAgICAgIC8vIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCB0aGF0IGNhbGxzIGdvb2cuYmluZAogICAgICAvLyBpbnN0ZWFkIG9mIHRoZSBuYXRpdmUgb25lLiBFdmVuIHdvcnNlLCB3ZSBkb24ndCB3YW50IHRvIGludHJvZHVjZSBhCiAgICAgIC8vIGNpcmN1bGFyIGRlcGVuZGVuY3kgYmV0d2VlbiBnb29nLmJpbmQgYW5kIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCBzbwogICAgICAvLyB3ZSBoYXZlIHRvIGhhY2sgdGhpcyB0byBtYWtlIHN1cmUgaXQgd29ya3MgY29ycmVjdGx5LgogICAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC50b1N0cmluZygpLmluZGV4T2YoJ25hdGl2ZSBjb2RlJykgIT0gLTEpIHsKICAgIGdvb2cuYmluZCA9IGdvb2cuYmluZE5hdGl2ZV87CiAgfSBlbHNlIHsKICAgIGdvb2cuYmluZCA9IGdvb2cuYmluZEpzXzsKICB9CiAgcmV0dXJuIGdvb2cuYmluZC5hcHBseShudWxsLCBhcmd1bWVudHMpOwp9OwoKCi8qKgogKiBMaWtlIGdvb2cuYmluZCgpLCBleGNlcHQgdGhhdCBhICd0aGlzIG9iamVjdCcgaXMgbm90IHJlcXVpcmVkLiBVc2VmdWwgd2hlbgogKiB0aGUgdGFyZ2V0IGZ1bmN0aW9uIGlzIGFscmVhZHkgYm91bmQuCiAqCiAqIFVzYWdlOgogKiB2YXIgZyA9IGdvb2cucGFydGlhbChmLCBhcmcxLCBhcmcyKTsKICogZyhhcmczLCBhcmc0KTsKICoKICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gQSBmdW5jdGlvbiB0byBwYXJ0aWFsbHkgYXBwbHkuCiAqIEBwYXJhbSB7Li4uKn0gdmFyX2FyZ3MgQWRkaXRpb25hbCBhcmd1bWVudHMgdGhhdCBhcmUgcGFydGlhbGx5IGFwcGxpZWQgdG8gZm4uCiAqIEByZXR1cm4geyFGdW5jdGlvbn0gQSBwYXJ0aWFsbHktYXBwbGllZCBmb3JtIG9mIHRoZSBmdW5jdGlvbiBnb29nLnBhcnRpYWwoKQogKiAgICAgd2FzIGludm9rZWQgYXMgYSBtZXRob2Qgb2YuCiAqLwpnb29nLnBhcnRpYWwgPSBmdW5jdGlvbihmbiwgdmFyX2FyZ3MpIHsKICB2YXIgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSk7CiAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgLy8gQ2xvbmUgdGhlIGFycmF5ICh3aXRoIHNsaWNlKCkpIGFuZCBhcHBlbmQgYWRkaXRpb25hbCBhcmd1bWVudHMKICAgIC8vIHRvIHRoZSBleGlzdGluZyBhcmd1bWVudHMuCiAgICB2YXIgbmV3QXJncyA9IGFyZ3Muc2xpY2UoKTsKICAgIG5ld0FyZ3MucHVzaC5hcHBseShuZXdBcmdzLCBhcmd1bWVudHMpOwogICAgcmV0dXJuIGZuLmFwcGx5KC8qKiBAdHlwZSB7P30gKi8gKHRoaXMpLCBuZXdBcmdzKTsKICB9Owp9OwoKCi8qKgogKiBDb3BpZXMgYWxsIHRoZSBtZW1iZXJzIG9mIGEgc291cmNlIG9iamVjdCB0byBhIHRhcmdldCBvYmplY3QuIFRoaXMgbWV0aG9kCiAqIGRvZXMgbm90IHdvcmsgb24gYWxsIGJyb3dzZXJzIGZvciBhbGwgb2JqZWN0cyB0aGF0IGNvbnRhaW4ga2V5cyBzdWNoIGFzCiAqIHRvU3RyaW5nIG9yIGhhc093blByb3BlcnR5LiBVc2UgZ29vZy5vYmplY3QuZXh0ZW5kIGZvciB0aGlzIHB1cnBvc2UuCiAqCiAqIE5PVEU6IFNvbWUgaGF2ZSBhZHZvY2F0ZWQgZm9yIHRoZSB1c2Ugb2YgZ29vZy5taXhpbiB0byBzZXR1cCBjbGFzc2VzCiAqIHdpdGggbXVsdGlwbGUgaW5oZXJpdGVuY2UgKHRyYWl0cywgbWl4aW5zLCBldGMpLiAgSG93ZXZlciwgYXMgaXQgc2ltcGx5CiAqIHVzZXMgImZvciBpbiIsIHRoaXMgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBFUzYgY2xhc3NlcyB3aG9zZSBtZXRob2RzIGFyZQogKiBub24tZW51bWVyYWJsZS4gIENoYW5naW5nIHRoaXMsIHdvdWxkIGJyZWFrIGNhc2VzIHdoZXJlIG5vbi1lbnVtZXJhYmxlCiAqIHByb3BlcnRpZXMgYXJlIG5vdCBleHBlY3RlZC4KICoKICogQHBhcmFtIHtPYmplY3R9IHRhcmdldCBUYXJnZXQuCiAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgU291cmNlLgogKiBAZGVwcmVjYXRlZCBQcmVmZXIgT2JqZWN0LmFzc2lnbgogKi8KZ29vZy5taXhpbiA9IGZ1bmN0aW9uKHRhcmdldCwgc291cmNlKSB7CiAgZm9yICh2YXIgeCBpbiBzb3VyY2UpIHsKICAgIHRhcmdldFt4XSA9IHNvdXJjZVt4XTsKICB9CgogIC8vIEZvciBJRTcgb3IgbG93ZXIsIHRoZSBmb3ItaW4tbG9vcCBkb2VzIG5vdCBjb250YWluIGFueSBwcm9wZXJ0aWVzIHRoYXQgYXJlCiAgLy8gbm90IGVudW1lcmFibGUgb24gdGhlIHByb3RvdHlwZSBvYmplY3QgKGZvciBleGFtcGxlLCBpc1Byb3RvdHlwZU9mIGZyb20KICAvLyBPYmplY3QucHJvdG90eXBlKSBidXQgYWxzbyBpdCB3aWxsIG5vdCBpbmNsdWRlICdyZXBsYWNlJyBvbiBvYmplY3RzIHRoYXQKICAvLyBleHRlbmQgU3RyaW5nIGFuZCBjaGFuZ2UgJ3JlcGxhY2UnIChub3QgdGhhdCBpdCBpcyBjb21tb24gZm9yIGFueW9uZSB0bwogIC8vIGV4dGVuZCBhbnl0aGluZyBleGNlcHQgT2JqZWN0KS4KfTsKCgovKioKICogQHJldHVybiB7bnVtYmVyfSBBbiBpbnRlZ2VyIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcwogKiAgICAgYmV0d2VlbiBtaWRuaWdodCwgSmFudWFyeSAxLCAxOTcwIGFuZCB0aGUgY3VycmVudCB0aW1lLgogKiBAZGVwcmVjYXRlZCBVc2UgRGF0ZS5ub3cKICovCmdvb2cubm93ID0gKGdvb2cuVFJVU1RFRF9TSVRFICYmIERhdGUubm93KSB8fCAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAvLyBVbmFyeSBwbHVzIG9wZXJhdG9yIGNvbnZlcnRzIGl0cyBvcGVyYW5kIHRvIGEgbnVtYmVyIHdoaWNoIGluCiAgICAgICAgICAgICAvLyB0aGUgY2FzZSBvZgogICAgICAgICAgICAgLy8gYSBkYXRlIGlzIGRvbmUgYnkgY2FsbGluZyBnZXRUaW1lKCkuCiAgICAgICAgICAgICByZXR1cm4gK25ldyBEYXRlKCk7CiAgICAgICAgICAgfSk7CgoKLyoqCiAqIEV2YWxzIEphdmFTY3JpcHQgaW4gdGhlIGdsb2JhbCBzY29wZS4gIEluIElFIHRoaXMgdXNlcyBleGVjU2NyaXB0LCBvdGhlcgogKiBicm93c2VycyB1c2UgZ29vZy5nbG9iYWwuZXZhbC4gSWYgZ29vZy5nbG9iYWwuZXZhbCBkb2VzIG5vdCBldmFsdWF0ZSBpbiB0aGUKICogZ2xvYmFsIHNjb3BlIChmb3IgZXhhbXBsZSwgaW4gU2FmYXJpKSwgYXBwZW5kcyBhIHNjcmlwdCB0YWcgaW5zdGVhZC4KICogVGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiBuZWl0aGVyIGV4ZWNTY3JpcHQgb3IgZXZhbCBpcyBkZWZpbmVkLgogKiBAcGFyYW0ge3N0cmluZ30gc2NyaXB0IEphdmFTY3JpcHQgc3RyaW5nLgogKi8KZ29vZy5nbG9iYWxFdmFsID0gZnVuY3Rpb24oc2NyaXB0KSB7CiAgaWYgKGdvb2cuZ2xvYmFsLmV4ZWNTY3JpcHQpIHsKICAgIGdvb2cuZ2xvYmFsLmV4ZWNTY3JpcHQoc2NyaXB0LCAnSmF2YVNjcmlwdCcpOwogIH0gZWxzZSBpZiAoZ29vZy5nbG9iYWwuZXZhbCkgewogICAgLy8gVGVzdCB0byBzZWUgaWYgZXZhbCB3b3JrcwogICAgaWYgKGdvb2cuZXZhbFdvcmtzRm9yR2xvYmFsc18gPT0gbnVsbCkgewogICAgICB0cnkgewogICAgICAgIGdvb2cuZ2xvYmFsLmV2YWwoJ3ZhciBfZXZhbFRlc3RfID0gMTsnKTsKICAgICAgfSBjYXRjaCAoaWdub3JlKSB7CiAgICAgIH0KICAgICAgaWYgKHR5cGVvZiBnb29nLmdsb2JhbFsnX2V2YWxUZXN0XyddICE9ICd1bmRlZmluZWQnKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIGRlbGV0ZSBnb29nLmdsb2JhbFsnX2V2YWxUZXN0XyddOwogICAgICAgIH0gY2F0Y2ggKGlnbm9yZSkgewogICAgICAgICAgLy8gTWljcm9zb2Z0IGVkZ2UgZmFpbHMgdGhlIGRlbGV0aW9uIGFib3ZlIGluIHN0cmljdCBtb2RlLgogICAgICAgIH0KICAgICAgICBnb29nLmV2YWxXb3Jrc0Zvckdsb2JhbHNfID0gdHJ1ZTsKICAgICAgfSBlbHNlIHsKICAgICAgICBnb29nLmV2YWxXb3Jrc0Zvckdsb2JhbHNfID0gZmFsc2U7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoZ29vZy5ldmFsV29ya3NGb3JHbG9iYWxzXykgewogICAgICBnb29nLmdsb2JhbC5ldmFsKHNjcmlwdCk7CiAgICB9IGVsc2UgewogICAgICAvKiogQHR5cGUgeyFEb2N1bWVudH0gKi8KICAgICAgdmFyIGRvYyA9IGdvb2cuZ2xvYmFsLmRvY3VtZW50OwogICAgICB2YXIgc2NyaXB0RWx0ID0KICAgICAgICAgIC8qKiBAdHlwZSB7IUhUTUxTY3JpcHRFbGVtZW50fSAqLyAoZG9jLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpKTsKICAgICAgc2NyaXB0RWx0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgc2NyaXB0RWx0LmRlZmVyID0gZmFsc2U7CiAgICAgIC8vIE5vdGUodXNlcik6IGNhbid0IHVzZSAuaW5uZXJIVE1MIHNpbmNlICJ0KCc8dGVzdD4nKSIgd2lsbCBmYWlsIGFuZAogICAgICAvLyAudGV4dCBkb2Vzbid0IHdvcmsgaW4gU2FmYXJpIDIuICBUaGVyZWZvcmUgd2UgYXBwZW5kIGEgdGV4dCBub2RlLgogICAgICBzY3JpcHRFbHQuYXBwZW5kQ2hpbGQoZG9jLmNyZWF0ZVRleHROb2RlKHNjcmlwdCkpOwogICAgICBkb2MuaGVhZC5hcHBlbmRDaGlsZChzY3JpcHRFbHQpOwogICAgICBkb2MuaGVhZC5yZW1vdmVDaGlsZChzY3JpcHRFbHQpOwogICAgfQogIH0gZWxzZSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoJ2dvb2cuZ2xvYmFsRXZhbCBub3QgYXZhaWxhYmxlJyk7CiAgfQp9OwoKCi8qKgogKiBJbmRpY2F0ZXMgd2hldGhlciBvciBub3Qgd2UgY2FuIGNhbGwgJ2V2YWwnIGRpcmVjdGx5IHRvIGV2YWwgY29kZSBpbiB0aGUKICogZ2xvYmFsIHNjb3BlLiBTZXQgdG8gYSBCb29sZWFuIGJ5IHRoZSBmaXJzdCBjYWxsIHRvIGdvb2cuZ2xvYmFsRXZhbCAod2hpY2gKICogZW1waXJpY2FsbHkgdGVzdHMgd2hldGhlciBldmFsIHdvcmtzIGZvciBnbG9iYWxzKS4gQHNlZSBnb29nLmdsb2JhbEV2YWwKICogQHR5cGUgez9ib29sZWFufQogKiBAcHJpdmF0ZQogKi8KZ29vZy5ldmFsV29ya3NGb3JHbG9iYWxzXyA9IG51bGw7CgoKLyoqCiAqIE9wdGlvbmFsIG1hcCBvZiBDU1MgY2xhc3MgbmFtZXMgdG8gb2JmdXNjYXRlZCBuYW1lcyB1c2VkIHdpdGgKICogZ29vZy5nZXRDc3NOYW1lKCkuCiAqIEBwcml2YXRlIHshT2JqZWN0PHN0cmluZywgc3RyaW5nPnx1bmRlZmluZWR9CiAqIEBzZWUgZ29vZy5zZXRDc3NOYW1lTWFwcGluZwogKi8KZ29vZy5jc3NOYW1lTWFwcGluZ187CgoKLyoqCiAqIE9wdGlvbmFsIG9iZnVzY2F0aW9uIHN0eWxlIGZvciBDU1MgY2xhc3MgbmFtZXMuIFNob3VsZCBiZSBzZXQgdG8gZWl0aGVyCiAqICdCWV9XSE9MRScgb3IgJ0JZX1BBUlQnIGlmIGRlZmluZWQuCiAqIEB0eXBlIHtzdHJpbmd8dW5kZWZpbmVkfQogKiBAcHJpdmF0ZQogKiBAc2VlIGdvb2cuc2V0Q3NzTmFtZU1hcHBpbmcKICovCmdvb2cuY3NzTmFtZU1hcHBpbmdTdHlsZV87CgoKCi8qKgogKiBBIGhvb2sgZm9yIG1vZGlmeWluZyB0aGUgZGVmYXVsdCBiZWhhdmlvciBnb29nLmdldENzc05hbWUuIFRoZSBmdW5jdGlvbgogKiBpZiBwcmVzZW50LCB3aWxsIHJlY2VpdmUgdGhlIHN0YW5kYXJkIG91dHB1dCBvZiB0aGUgZ29vZy5nZXRDc3NOYW1lIGFzCiAqIGl0cyBpbnB1dC4KICoKICogQHR5cGUgeyhmdW5jdGlvbihzdHJpbmcpOnN0cmluZyl8dW5kZWZpbmVkfQogKi8KZ29vZy5nbG9iYWwuQ0xPU1VSRV9DU1NfTkFNRV9NQVBfRk47CgoKLyoqCiAqIEhhbmRsZXMgc3RyaW5ncyB0aGF0IGFyZSBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIENTUyBjbGFzcyBuYW1lcy4KICoKICogVGhpcyBmdW5jdGlvbiB3b3JrcyBpbiB0YW5kZW0gd2l0aCBAc2VlIGdvb2cuc2V0Q3NzTmFtZU1hcHBpbmcuCiAqCiAqIFdpdGhvdXQgYW55IG1hcHBpbmcgc2V0LCB0aGUgYXJndW1lbnRzIGFyZSBzaW1wbGUgam9pbmVkIHdpdGggYSBoeXBoZW4gYW5kCiAqIHBhc3NlZCB0aHJvdWdoIHVuYWx0ZXJlZC4KICoKICogV2hlbiB0aGVyZSBpcyBhIG1hcHBpbmcsIHRoZXJlIGFyZSB0d28gcG9zc2libGUgc3R5bGVzIGluIHdoaWNoIHRoZXNlCiAqIG1hcHBpbmdzIGFyZSB1c2VkLiBJbiB0aGUgQllfUEFSVCBzdHlsZSwgZWFjaCBwYXJ0IChpLmUuIGluIGJldHdlZW4gaHlwaGVucykKICogb2YgdGhlIHBhc3NlZCBpbiBjc3MgbmFtZSBpcyByZXdyaXR0ZW4gYWNjb3JkaW5nIHRvIHRoZSBtYXAuIEluIHRoZSBCWV9XSE9MRQogKiBzdHlsZSwgdGhlIGZ1bGwgY3NzIG5hbWUgaXMgbG9va2VkIHVwIGluIHRoZSBtYXAgZGlyZWN0bHkuIElmIGEgcmV3cml0ZSBpcwogKiBub3Qgc3BlY2lmaWVkIGJ5IHRoZSBtYXAsIHRoZSBjb21waWxlciB3aWxsIG91dHB1dCBhIHdhcm5pbmcuCiAqCiAqIFdoZW4gdGhlIG1hcHBpbmcgaXMgcGFzc2VkIHRvIHRoZSBjb21waWxlciwgaXQgd2lsbCByZXBsYWNlIGNhbGxzIHRvCiAqIGdvb2cuZ2V0Q3NzTmFtZSB3aXRoIHRoZSBzdHJpbmdzIGZyb20gdGhlIG1hcHBpbmcsIGUuZy4KICogICAgIHZhciB4ID0gZ29vZy5nZXRDc3NOYW1lKCdmb28nKTsKICogICAgIHZhciB5ID0gZ29vZy5nZXRDc3NOYW1lKHRoaXMuYmFzZUNsYXNzLCAnYWN0aXZlJyk7CiAqICBiZWNvbWVzOgogKiAgICAgdmFyIHggPSAnZm9vJzsKICogICAgIHZhciB5ID0gdGhpcy5iYXNlQ2xhc3MgKyAnLWFjdGl2ZSc7CiAqCiAqIElmIG9uZSBhcmd1bWVudCBpcyBwYXNzZWQgaXQgd2lsbCBiZSBwcm9jZXNzZWQsIGlmIHR3byBhcmUgcGFzc2VkIG9ubHkgdGhlCiAqIG1vZGlmaWVyIHdpbGwgYmUgcHJvY2Vzc2VkLCBhcyBpdCBpcyBhc3N1bWVkIHRoZSBmaXJzdCBhcmd1bWVudCB3YXMgZ2VuZXJhdGVkCiAqIGFzIGEgcmVzdWx0IG9mIGNhbGxpbmcgZ29vZy5nZXRDc3NOYW1lLgogKgogKiBAcGFyYW0ge3N0cmluZ30gY2xhc3NOYW1lIFRoZSBjbGFzcyBuYW1lLgogKiBAcGFyYW0ge3N0cmluZz19IG9wdF9tb2RpZmllciBBIG1vZGlmaWVyIHRvIGJlIGFwcGVuZGVkIHRvIHRoZSBjbGFzcyBuYW1lLgogKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBjbGFzcyBuYW1lIG9yIHRoZSBjb25jYXRlbmF0aW9uIG9mIHRoZSBjbGFzcyBuYW1lIGFuZAogKiAgICAgdGhlIG1vZGlmaWVyLgogKi8KZ29vZy5nZXRDc3NOYW1lID0gZnVuY3Rpb24oY2xhc3NOYW1lLCBvcHRfbW9kaWZpZXIpIHsKICAvLyBTdHJpbmcoKSBpcyB1c2VkIGZvciBjb21wYXRpYmlsaXR5IHdpdGggY29tcGlsZWQgc295IHdoZXJlIHRoZSBwYXNzZWQKICAvLyBjbGFzc05hbWUgY2FuIGJlIG5vbi1zdHJpbmcgb2JqZWN0cy4KICBpZiAoU3RyaW5nKGNsYXNzTmFtZSkuY2hhckF0KDApID09ICcuJykgewogICAgdGhyb3cgbmV3IEVycm9yKAogICAgICAgICdjbGFzc05hbWUgcGFzc2VkIGluIGdvb2cuZ2V0Q3NzTmFtZSBtdXN0IG5vdCBzdGFydCB3aXRoICIuIi4nICsKICAgICAgICAnIFlvdSBwYXNzZWQ6ICcgKyBjbGFzc05hbWUpOwogIH0KCiAgdmFyIGdldE1hcHBpbmcgPSBmdW5jdGlvbihjc3NOYW1lKSB7CiAgICByZXR1cm4gZ29vZy5jc3NOYW1lTWFwcGluZ19bY3NzTmFtZV0gfHwgY3NzTmFtZTsKICB9OwoKICB2YXIgcmVuYW1lQnlQYXJ0cyA9IGZ1bmN0aW9uKGNzc05hbWUpIHsKICAgIC8vIFJlbWFwIGFsbCB0aGUgcGFydHMgaW5kaXZpZHVhbGx5LgogICAgdmFyIHBhcnRzID0gY3NzTmFtZS5zcGxpdCgnLScpOwogICAgdmFyIG1hcHBlZCA9IFtdOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7IGkrKykgewogICAgICBtYXBwZWQucHVzaChnZXRNYXBwaW5nKHBhcnRzW2ldKSk7CiAgICB9CiAgICByZXR1cm4gbWFwcGVkLmpvaW4oJy0nKTsKICB9OwoKICB2YXIgcmVuYW1lOwogIGlmIChnb29nLmNzc05hbWVNYXBwaW5nXykgewogICAgcmVuYW1lID0KICAgICAgICBnb29nLmNzc05hbWVNYXBwaW5nU3R5bGVfID09ICdCWV9XSE9MRScgPyBnZXRNYXBwaW5nIDogcmVuYW1lQnlQYXJ0czsKICB9IGVsc2UgewogICAgcmVuYW1lID0gZnVuY3Rpb24oYSkgewogICAgICByZXR1cm4gYTsKICAgIH07CiAgfQoKICB2YXIgcmVzdWx0ID0KICAgICAgb3B0X21vZGlmaWVyID8gY2xhc3NOYW1lICsgJy0nICsgcmVuYW1lKG9wdF9tb2RpZmllcikgOiByZW5hbWUoY2xhc3NOYW1lKTsKCiAgLy8gVGhlIHNwZWNpYWwgQ0xPU1VSRV9DU1NfTkFNRV9NQVBfRk4gYWxsb3dzIHVzZXJzIHRvIHNwZWNpZnkgZnVydGhlcgogIC8vIHByb2Nlc3Npbmcgb2YgdGhlIGNsYXNzIG5hbWUuCiAgaWYgKGdvb2cuZ2xvYmFsLkNMT1NVUkVfQ1NTX05BTUVfTUFQX0ZOKSB7CiAgICByZXR1cm4gZ29vZy5nbG9iYWwuQ0xPU1VSRV9DU1NfTkFNRV9NQVBfRk4ocmVzdWx0KTsKICB9CgogIHJldHVybiByZXN1bHQ7Cn07CgoKLyoqCiAqIFNldHMgdGhlIG1hcCB0byBjaGVjayB3aGVuIHJldHVybmluZyBhIHZhbHVlIGZyb20gZ29vZy5nZXRDc3NOYW1lKCkuIEV4YW1wbGU6CiAqIDxwcmU+CiAqIGdvb2cuc2V0Q3NzTmFtZU1hcHBpbmcoewogKiAgICJnb29nIjogImEiLAogKiAgICJkaXNhYmxlZCI6ICJiIiwKICogfSk7CiAqCiAqIHZhciB4ID0gZ29vZy5nZXRDc3NOYW1lKCdnb29nJyk7CiAqIC8vIFRoZSBmb2xsb3dpbmcgZXZhbHVhdGVzIHRvOiAiYSBhLWIiLgogKiBnb29nLmdldENzc05hbWUoJ2dvb2cnKSArICcgJyArIGdvb2cuZ2V0Q3NzTmFtZSh4LCAnZGlzYWJsZWQnKQogKiA8L3ByZT4KICogV2hlbiBkZWNsYXJlZCBhcyBhIG1hcCBvZiBzdHJpbmcgbGl0ZXJhbHMgdG8gc3RyaW5nIGxpdGVyYWxzLCB0aGUgSlNDb21waWxlcgogKiB3aWxsIHJlcGxhY2UgYWxsIGNhbGxzIHRvIGdvb2cuZ2V0Q3NzTmFtZSgpIHVzaW5nIHRoZSBzdXBwbGllZCBtYXAgaWYgdGhlCiAqIC0tcHJvY2Vzc19jbG9zdXJlX3ByaW1pdGl2ZXMgZmxhZyBpcyBzZXQuCiAqCiAqIEBwYXJhbSB7IU9iamVjdH0gbWFwcGluZyBBIG1hcCBvZiBzdHJpbmdzIHRvIHN0cmluZ3Mgd2hlcmUga2V5cyBhcmUgcG9zc2libGUKICogICAgIGFyZ3VtZW50cyB0byBnb29nLmdldENzc05hbWUoKSBhbmQgdmFsdWVzIGFyZSB0aGUgY29ycmVzcG9uZGluZyB2YWx1ZXMKICogICAgIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkLgogKiBAcGFyYW0ge3N0cmluZz19IG9wdF9zdHlsZSBUaGUgc3R5bGUgb2YgY3NzIG5hbWUgbWFwcGluZy4gVGhlcmUgYXJlIHR3byB2YWxpZAogKiAgICAgb3B0aW9uczogJ0JZX1BBUlQnLCBhbmQgJ0JZX1dIT0xFJy4KICogQHNlZSBnb29nLmdldENzc05hbWUgZm9yIGEgZGVzY3JpcHRpb24uCiAqLwpnb29nLnNldENzc05hbWVNYXBwaW5nID0gZnVuY3Rpb24obWFwcGluZywgb3B0X3N0eWxlKSB7CiAgZ29vZy5jc3NOYW1lTWFwcGluZ18gPSBtYXBwaW5nOwogIGdvb2cuY3NzTmFtZU1hcHBpbmdTdHlsZV8gPSBvcHRfc3R5bGU7Cn07CgoKLyoqCiAqIFRvIHVzZSBDU1MgcmVuYW1pbmcgaW4gY29tcGlsZWQgbW9kZSwgb25lIG9mIHRoZSBpbnB1dCBmaWxlcyBzaG91bGQgaGF2ZSBhCiAqIGNhbGwgdG8gZ29vZy5zZXRDc3NOYW1lTWFwcGluZygpIHdpdGggYW4gb2JqZWN0IGxpdGVyYWwgdGhhdCB0aGUgSlNDb21waWxlcgogKiBjYW4gZXh0cmFjdCBhbmQgdXNlIHRvIHJlcGxhY2UgYWxsIGNhbGxzIHRvIGdvb2cuZ2V0Q3NzTmFtZSgpLiBJbiB1bmNvbXBpbGVkCiAqIG1vZGUsIEphdmFTY3JpcHQgY29kZSBzaG91bGQgYmUgbG9hZGVkIGJlZm9yZSB0aGlzIGJhc2UuanMgZmlsZSB0aGF0IGRlY2xhcmVzCiAqIGEgZ2xvYmFsIHZhcmlhYmxlLCBDTE9TVVJFX0NTU19OQU1FX01BUFBJTkcsIHdoaWNoIGlzIHVzZWQgYmVsb3cuIFRoaXMgaXMKICogdG8gZW5zdXJlIHRoYXQgdGhlIG1hcHBpbmcgaXMgbG9hZGVkIGJlZm9yZSBhbnkgY2FsbHMgdG8gZ29vZy5nZXRDc3NOYW1lKCkKICogYXJlIG1hZGUgaW4gdW5jb21waWxlZCBtb2RlLgogKgogKiBBIGhvb2sgZm9yIG92ZXJyaWRpbmcgdGhlIENTUyBuYW1lIG1hcHBpbmcuCiAqIEB0eXBlIHshT2JqZWN0PHN0cmluZywgc3RyaW5nPnx1bmRlZmluZWR9CiAqLwpnb29nLmdsb2JhbC5DTE9TVVJFX0NTU19OQU1FX01BUFBJTkc7CgoKaWYgKCFDT01QSUxFRCAmJiBnb29nLmdsb2JhbC5DTE9TVVJFX0NTU19OQU1FX01BUFBJTkcpIHsKICAvLyBUaGlzIGRvZXMgbm90IGNhbGwgZ29vZy5zZXRDc3NOYW1lTWFwcGluZygpIGJlY2F1c2UgdGhlIEpTQ29tcGlsZXIKICAvLyByZXF1aXJlcyB0aGF0IGdvb2cuc2V0Q3NzTmFtZU1hcHBpbmcoKSBiZSBjYWxsZWQgd2l0aCBhbiBvYmplY3QgbGl0ZXJhbC4KICBnb29nLmNzc05hbWVNYXBwaW5nXyA9IGdvb2cuZ2xvYmFsLkNMT1NVUkVfQ1NTX05BTUVfTUFQUElORzsKfQoKCi8qKgogKiBHZXRzIGEgbG9jYWxpemVkIG1lc3NhZ2UuCiAqCiAqIFRoaXMgZnVuY3Rpb24gaXMgYSBjb21waWxlciBwcmltaXRpdmUuIElmIHlvdSBnaXZlIHRoZSBjb21waWxlciBhIGxvY2FsaXplZAogKiBtZXNzYWdlIGJ1bmRsZSwgaXQgd2lsbCByZXBsYWNlIHRoZSBzdHJpbmcgYXQgY29tcGlsZS10aW1lIHdpdGggYSBsb2NhbGl6ZWQKICogdmVyc2lvbiwgYW5kIGV4cGFuZCBnb29nLmdldE1zZyBjYWxsIHRvIGEgY29uY2F0ZW5hdGVkIHN0cmluZy4KICoKICogTWVzc2FnZXMgbXVzdCBiZSBpbml0aWFsaXplZCBpbiB0aGUgZm9ybToKICogPGNvZGU+CiAqIHZhciBNU0dfTkFNRSA9IGdvb2cuZ2V0TXNnKCdIZWxsbyB7JHBsYWNlaG9sZGVyfScsIHsncGxhY2Vob2xkZXInOiAnd29ybGQnfSk7CiAqIDwvY29kZT4KICoKICogVGhpcyBmdW5jdGlvbiBwcm9kdWNlcyBhIHN0cmluZyB3aGljaCBzaG91bGQgYmUgdHJlYXRlZCBhcyBwbGFpbiB0ZXh0LiBVc2UKICoge0BsaW5rIGdvb2cuaHRtbC5TYWZlSHRtbEZvcm1hdHRlcn0gaW4gY29uanVuY3Rpb24gd2l0aCBnb29nLmdldE1zZyB0bwogKiBwcm9kdWNlIFNhZmVIdG1sLgogKgogKiBAcGFyYW0ge3N0cmluZ30gc3RyIFRyYW5zbGF0YWJsZSBzdHJpbmcsIHBsYWNlcyBob2xkZXJzIGluIHRoZSBmb3JtIHskZm9vfS4KICogQHBhcmFtIHtPYmplY3Q8c3RyaW5nLCBzdHJpbmc+PX0gb3B0X3ZhbHVlcyBNYXBzIHBsYWNlIGhvbGRlciBuYW1lIHRvIHZhbHVlLgogKiBAcGFyYW0ge3todG1sOiBib29sZWFufT19IG9wdF9vcHRpb25zIE9wdGlvbnM6CiAqICAgICBodG1sOiBFc2NhcGUgJzwnIGluIHN0ciB0byAnJmx0OycuIFVzZWQgYnkgQ2xvc3VyZSBUZW1wbGF0ZXMgd2hlcmUgdGhlCiAqICAgICBnZW5lcmF0ZWQgY29kZSBzaXplIGFuZCBwZXJmb3JtYW5jZSBpcyBjcml0aWNhbCB3aGljaCBpcyB3aHkge0BsaW5rCiAqICAgICBnb29nLmh0bWwuU2FmZUh0bWxGb3JtYXR0ZXJ9IGlzIG5vdCB1c2VkLiBUaGUgdmFsdWUgbXVzdCBiZSBsaXRlcmFsIHRydWUKICogICAgIG9yIGZhbHNlLgogKiBAcmV0dXJuIHtzdHJpbmd9IG1lc3NhZ2Ugd2l0aCBwbGFjZWhvbGRlcnMgZmlsbGVkLgogKi8KZ29vZy5nZXRNc2cgPSBmdW5jdGlvbihzdHIsIG9wdF92YWx1ZXMsIG9wdF9vcHRpb25zKSB7CiAgaWYgKG9wdF9vcHRpb25zICYmIG9wdF9vcHRpb25zLmh0bWwpIHsKICAgIC8vIE5vdGUgdGhhdCAnJicgaXMgbm90IHJlcGxhY2VkIGJlY2F1c2UgdGhlIHRyYW5zbGF0aW9uIGNhbiBjb250YWluIEhUTUwKICAgIC8vIGVudGl0aWVzLgogICAgc3RyID0gc3RyLnJlcGxhY2UoLzwvZywgJyZsdDsnKTsKICB9CiAgaWYgKG9wdF92YWx1ZXMpIHsKICAgIHN0ciA9IHN0ci5yZXBsYWNlKC9ce1wkKFtefV0rKX0vZywgZnVuY3Rpb24obWF0Y2gsIGtleSkgewogICAgICByZXR1cm4gKG9wdF92YWx1ZXMgIT0gbnVsbCAmJiBrZXkgaW4gb3B0X3ZhbHVlcykgPyBvcHRfdmFsdWVzW2tleV0gOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaDsKICAgIH0pOwogIH0KICByZXR1cm4gc3RyOwp9OwoKCi8qKgogKiBHZXRzIGEgbG9jYWxpemVkIG1lc3NhZ2UuIElmIHRoZSBtZXNzYWdlIGRvZXMgbm90IGhhdmUgYSB0cmFuc2xhdGlvbiwgZ2l2ZXMgYQogKiBmYWxsYmFjayBtZXNzYWdlLgogKgogKiBUaGlzIGlzIHVzZWZ1bCB3aGVuIGludHJvZHVjaW5nIGEgbmV3IG1lc3NhZ2UgdGhhdCBoYXMgbm90IHlldCBiZWVuCiAqIHRyYW5zbGF0ZWQgaW50byBhbGwgbGFuZ3VhZ2VzLgogKgogKiBUaGlzIGZ1bmN0aW9uIGlzIGEgY29tcGlsZXIgcHJpbWl0aXZlLiBNdXN0IGJlIHVzZWQgaW4gdGhlIGZvcm06CiAqIDxjb2RlPnZhciB4ID0gZ29vZy5nZXRNc2dXaXRoRmFsbGJhY2soTVNHX0EsIE1TR19CKTs8L2NvZGU+CiAqIHdoZXJlIE1TR19BIGFuZCBNU0dfQiB3ZXJlIGluaXRpYWxpemVkIHdpdGggZ29vZy5nZXRNc2cuCiAqCiAqIEBwYXJhbSB7c3RyaW5nfSBhIFRoZSBwcmVmZXJyZWQgbWVzc2FnZS4KICogQHBhcmFtIHtzdHJpbmd9IGIgVGhlIGZhbGxiYWNrIG1lc3NhZ2UuCiAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGJlc3QgdHJhbnNsYXRlZCBtZXNzYWdlLgogKi8KZ29vZy5nZXRNc2dXaXRoRmFsbGJhY2sgPSBmdW5jdGlvbihhLCBiKSB7CiAgcmV0dXJuIGE7Cn07CgoKLyoqCiAqIEV4cG9zZXMgYW4gdW5vYmZ1c2NhdGVkIGdsb2JhbCBuYW1lc3BhY2UgcGF0aCBmb3IgdGhlIGdpdmVuIG9iamVjdC4KICogTm90ZSB0aGF0IGZpZWxkcyBvZiB0aGUgZXhwb3J0ZWQgb2JqZWN0ICp3aWxsKiBiZSBvYmZ1c2NhdGVkLCB1bmxlc3MgdGhleSBhcmUKICogZXhwb3J0ZWQgaW4gdHVybiB2aWEgdGhpcyBmdW5jdGlvbiBvciBnb29nLmV4cG9ydFByb3BlcnR5LgogKgogKiBBbHNvIGhhbmR5IGZvciBtYWtpbmcgcHVibGljIGl0ZW1zIHRoYXQgYXJlIGRlZmluZWQgaW4gYW5vbnltb3VzIGNsb3N1cmVzLgogKgogKiBleC4gZ29vZy5leHBvcnRTeW1ib2woJ3B1YmxpYy5wYXRoLkZvbycsIEZvbyk7CiAqCiAqIGV4LiBnb29nLmV4cG9ydFN5bWJvbCgncHVibGljLnBhdGguRm9vLnN0YXRpY0Z1bmN0aW9uJywgRm9vLnN0YXRpY0Z1bmN0aW9uKTsKICogICAgIHB1YmxpYy5wYXRoLkZvby5zdGF0aWNGdW5jdGlvbigpOwogKgogKiBleC4gZ29vZy5leHBvcnRTeW1ib2woJ3B1YmxpYy5wYXRoLkZvby5wcm90b3R5cGUubXlNZXRob2QnLAogKiAgICAgICAgICAgICAgICAgICAgICAgRm9vLnByb3RvdHlwZS5teU1ldGhvZCk7CiAqICAgICBuZXcgcHVibGljLnBhdGguRm9vKCkubXlNZXRob2QoKTsKICoKICogQHBhcmFtIHtzdHJpbmd9IHB1YmxpY1BhdGggVW5vYmZ1c2NhdGVkIG5hbWUgdG8gZXhwb3J0LgogKiBAcGFyYW0geyp9IG9iamVjdCBPYmplY3QgdGhlIG5hbWUgc2hvdWxkIHBvaW50IHRvLgogKiBAcGFyYW0ge09iamVjdD19IG9wdF9vYmplY3RUb0V4cG9ydFRvIFRoZSBvYmplY3QgdG8gYWRkIHRoZSBwYXRoIHRvOyBkZWZhdWx0CiAqICAgICBpcyBnb29nLmdsb2JhbC4KICovCmdvb2cuZXhwb3J0U3ltYm9sID0gZnVuY3Rpb24ocHVibGljUGF0aCwgb2JqZWN0LCBvcHRfb2JqZWN0VG9FeHBvcnRUbykgewogIGdvb2cuZXhwb3J0UGF0aF8ocHVibGljUGF0aCwgb2JqZWN0LCBvcHRfb2JqZWN0VG9FeHBvcnRUbyk7Cn07CgoKLyoqCiAqIEV4cG9ydHMgYSBwcm9wZXJ0eSB1bm9iZnVzY2F0ZWQgaW50byB0aGUgb2JqZWN0J3MgbmFtZXNwYWNlLgogKiBleC4gZ29vZy5leHBvcnRQcm9wZXJ0eShGb28sICdzdGF0aWNGdW5jdGlvbicsIEZvby5zdGF0aWNGdW5jdGlvbik7CiAqIGV4LiBnb29nLmV4cG9ydFByb3BlcnR5KEZvby5wcm90b3R5cGUsICdteU1ldGhvZCcsIEZvby5wcm90b3R5cGUubXlNZXRob2QpOwogKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IE9iamVjdCB3aG9zZSBzdGF0aWMgcHJvcGVydHkgaXMgYmVpbmcgZXhwb3J0ZWQuCiAqIEBwYXJhbSB7c3RyaW5nfSBwdWJsaWNOYW1lIFVub2JmdXNjYXRlZCBuYW1lIHRvIGV4cG9ydC4KICogQHBhcmFtIHsqfSBzeW1ib2wgT2JqZWN0IHRoZSBuYW1lIHNob3VsZCBwb2ludCB0by4KICovCmdvb2cuZXhwb3J0UHJvcGVydHkgPSBmdW5jdGlvbihvYmplY3QsIHB1YmxpY05hbWUsIHN5bWJvbCkgewogIG9iamVjdFtwdWJsaWNOYW1lXSA9IHN5bWJvbDsKfTsKCgovKioKICogSW5oZXJpdCB0aGUgcHJvdG90eXBlIG1ldGhvZHMgZnJvbSBvbmUgY29uc3RydWN0b3IgaW50byBhbm90aGVyLgogKgogKiBVc2FnZToKICogPHByZT4KICogZnVuY3Rpb24gUGFyZW50Q2xhc3MoYSwgYikgeyB9CiAqIFBhcmVudENsYXNzLnByb3RvdHlwZS5mb28gPSBmdW5jdGlvbihhKSB7IH07CiAqCiAqIGZ1bmN0aW9uIENoaWxkQ2xhc3MoYSwgYiwgYykgewogKiAgIENoaWxkQ2xhc3MuYmFzZSh0aGlzLCAnY29uc3RydWN0b3InLCBhLCBiKTsKICogfQogKiBnb29nLmluaGVyaXRzKENoaWxkQ2xhc3MsIFBhcmVudENsYXNzKTsKICoKICogdmFyIGNoaWxkID0gbmV3IENoaWxkQ2xhc3MoJ2EnLCAnYicsICdzZWUnKTsKICogY2hpbGQuZm9vKCk7IC8vIFRoaXMgd29ya3MuCiAqIDwvcHJlPgogKgogKiBAcGFyYW0geyFGdW5jdGlvbn0gY2hpbGRDdG9yIENoaWxkIGNsYXNzLgogKiBAcGFyYW0geyFGdW5jdGlvbn0gcGFyZW50Q3RvciBQYXJlbnQgY2xhc3MuCiAqIEBzdXBwcmVzcyB7c3RyaWN0TWlzc2luZ1Byb3BlcnRpZXN9IHN1cGVyQ2xhc3NfIGFuZCBiYXNlIGlzIG5vdCBkZWZpbmVkIG9uCiAqICAgIEZ1bmN0aW9uLgogKi8KZ29vZy5pbmhlcml0cyA9IGZ1bmN0aW9uKGNoaWxkQ3RvciwgcGFyZW50Q3RvcikgewogIC8qKiBAY29uc3RydWN0b3IgKi8KICBmdW5jdGlvbiB0ZW1wQ3RvcigpIHt9CiAgdGVtcEN0b3IucHJvdG90eXBlID0gcGFyZW50Q3Rvci5wcm90b3R5cGU7CiAgY2hpbGRDdG9yLnN1cGVyQ2xhc3NfID0gcGFyZW50Q3Rvci5wcm90b3R5cGU7CiAgY2hpbGRDdG9yLnByb3RvdHlwZSA9IG5ldyB0ZW1wQ3RvcigpOwogIC8qKiBAb3ZlcnJpZGUgKi8KICBjaGlsZEN0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gY2hpbGRDdG9yOwoKICAvKioKICAgKiBDYWxscyBzdXBlcmNsYXNzIGNvbnN0cnVjdG9yL21ldGhvZC4KICAgKgogICAqIFRoaXMgZnVuY3Rpb24gaXMgb25seSBhdmFpbGFibGUgaWYgeW91IHVzZSBnb29nLmluaGVyaXRzIHRvCiAgICogZXhwcmVzcyBpbmhlcml0YW5jZSByZWxhdGlvbnNoaXBzIGJldHdlZW4gY2xhc3Nlcy4KICAgKgogICAqIE5PVEU6IFRoaXMgaXMgYSByZXBsYWNlbWVudCBmb3IgZ29vZy5iYXNlIGFuZCBmb3Igc3VwZXJDbGFzc18KICAgKiBwcm9wZXJ0eSBkZWZpbmVkIGluIGNoaWxkQ3Rvci4KICAgKgogICAqIEBwYXJhbSB7IU9iamVjdH0gbWUgU2hvdWxkIGFsd2F5cyBiZSAidGhpcyIuCiAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZE5hbWUgVGhlIG1ldGhvZCBuYW1lIHRvIGNhbGwuIENhbGxpbmcKICAgKiAgICAgc3VwZXJjbGFzcyBjb25zdHJ1Y3RvciBjYW4gYmUgZG9uZSB3aXRoIHRoZSBzcGVjaWFsIHN0cmluZwogICAqICAgICAnY29uc3RydWN0b3InLgogICAqIEBwYXJhbSB7Li4uKn0gdmFyX2FyZ3MgVGhlIGFyZ3VtZW50cyB0byBwYXNzIHRvIHN1cGVyY2xhc3MKICAgKiAgICAgbWV0aG9kL2NvbnN0cnVjdG9yLgogICAqIEByZXR1cm4geyp9IFRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIHN1cGVyY2xhc3MgbWV0aG9kL2NvbnN0cnVjdG9yLgogICAqLwogIGNoaWxkQ3Rvci5iYXNlID0gZnVuY3Rpb24obWUsIG1ldGhvZE5hbWUsIHZhcl9hcmdzKSB7CiAgICAvLyBDb3B5aW5nIHVzaW5nIGxvb3AgdG8gYXZvaWQgZGVvcCBkdWUgdG8gcGFzc2luZyBhcmd1bWVudHMgb2JqZWN0IHRvCiAgICAvLyBmdW5jdGlvbi4gVGhpcyBpcyBmYXN0ZXIgaW4gbWFueSBKUyBlbmdpbmVzIGFzIG9mIGxhdGUgMjAxNC4KICAgIHZhciBhcmdzID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGggLSAyKTsKICAgIGZvciAodmFyIGkgPSAyOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgIGFyZ3NbaSAtIDJdID0gYXJndW1lbnRzW2ldOwogICAgfQogICAgcmV0dXJuIHBhcmVudEN0b3IucHJvdG90eXBlW21ldGhvZE5hbWVdLmFwcGx5KG1lLCBhcmdzKTsKICB9Owp9OwoKCi8qKgogKiBDYWxsIHVwIHRvIHRoZSBzdXBlcmNsYXNzLgogKgogKiBJZiB0aGlzIGlzIGNhbGxlZCBmcm9tIGEgY29uc3RydWN0b3IsIHRoZW4gdGhpcyBjYWxscyB0aGUgc3VwZXJjbGFzcwogKiBjb25zdHJ1Y3RvciB3aXRoIGFyZ3VtZW50cyAxLU4uCiAqCiAqIElmIHRoaXMgaXMgY2FsbGVkIGZyb20gYSBwcm90b3R5cGUgbWV0aG9kLCB0aGVuIHlvdSBtdXN0IHBhc3MgdGhlIG5hbWUgb2YgdGhlCiAqIG1ldGhvZCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIHRoaXMgZnVuY3Rpb24uIElmIHlvdSBkbyBub3QsIHlvdSB3aWxsIGdldCBhCiAqIHJ1bnRpbWUgZXJyb3IuIFRoaXMgY2FsbHMgdGhlIHN1cGVyY2xhc3MnIG1ldGhvZCB3aXRoIGFyZ3VtZW50cyAyLU4uCiAqCiAqIFRoaXMgZnVuY3Rpb24gb25seSB3b3JrcyBpZiB5b3UgdXNlIGdvb2cuaW5oZXJpdHMgdG8gZXhwcmVzcyBpbmhlcml0YW5jZQogKiByZWxhdGlvbnNoaXBzIGJldHdlZW4geW91ciBjbGFzc2VzLgogKgogKiBUaGlzIGZ1bmN0aW9uIGlzIGEgY29tcGlsZXIgcHJpbWl0aXZlLiBBdCBjb21waWxlLXRpbWUsIHRoZSBjb21waWxlciB3aWxsIGRvCiAqIG1hY3JvIGV4cGFuc2lvbiB0byByZW1vdmUgYSBsb3Qgb2YgdGhlIGV4dHJhIG92ZXJoZWFkIHRoYXQgdGhpcyBmdW5jdGlvbgogKiBpbnRyb2R1Y2VzLiBUaGUgY29tcGlsZXIgd2lsbCBhbHNvIGVuZm9yY2UgYSBsb3Qgb2YgdGhlIGFzc3VtcHRpb25zIHRoYXQgdGhpcwogKiBmdW5jdGlvbiBtYWtlcywgYW5kIHRyZWF0IGl0IGFzIGEgY29tcGlsZXIgZXJyb3IgaWYgeW91IGJyZWFrIHRoZW0uCiAqCiAqIEBwYXJhbSB7IU9iamVjdH0gbWUgU2hvdWxkIGFsd2F5cyBiZSAidGhpcyIuCiAqIEBwYXJhbSB7Kj19IG9wdF9tZXRob2ROYW1lIFRoZSBtZXRob2QgbmFtZSBpZiBjYWxsaW5nIGEgc3VwZXIgbWV0aG9kLgogKiBAcGFyYW0gey4uLip9IHZhcl9hcmdzIFRoZSByZXN0IG9mIHRoZSBhcmd1bWVudHMuCiAqIEByZXR1cm4geyp9IFRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIHN1cGVyY2xhc3MgbWV0aG9kLgogKiBAc3VwcHJlc3Mge2VzNVN0cmljdH0gVGhpcyBtZXRob2QgY2FuIG5vdCBiZSB1c2VkIGluIHN0cmljdCBtb2RlLCBidXQKICogICAgIGFsbCBDbG9zdXJlIExpYnJhcnkgY29uc3VtZXJzIG11c3QgZGVwZW5kIG9uIHRoaXMgZmlsZS4KICogQGRlcHJlY2F0ZWQgZ29vZy5iYXNlIGlzIG5vdCBzdHJpY3QgbW9kZSBjb21wYXRpYmxlLiAgUHJlZmVyIHRoZSBzdGF0aWMKICogICAgICJiYXNlIiBtZXRob2QgYWRkZWQgdG8gdGhlIGNvbnN0cnVjdG9yIGJ5IGdvb2cuaW5oZXJpdHMKICogICAgIG9yIEVTNiBjbGFzc2VzIGFuZCB0aGUgInN1cGVyIiBrZXl3b3JkLgogKi8KZ29vZy5iYXNlID0gZnVuY3Rpb24obWUsIG9wdF9tZXRob2ROYW1lLCB2YXJfYXJncykgewogIHZhciBjYWxsZXIgPSBhcmd1bWVudHMuY2FsbGVlLmNhbGxlcjsKCiAgaWYgKGdvb2cuU1RSSUNUX01PREVfQ09NUEFUSUJMRSB8fCAoZ29vZy5ERUJVRyAmJiAhY2FsbGVyKSkgewogICAgdGhyb3cgbmV3IEVycm9yKAogICAgICAgICdhcmd1bWVudHMuY2FsbGVyIG5vdCBkZWZpbmVkLiAgZ29vZy5iYXNlKCkgY2Fubm90IGJlIHVzZWQgJyArCiAgICAgICAgJ3dpdGggc3RyaWN0IG1vZGUgY29kZS4gU2VlICcgKwogICAgICAgICdodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNS4xLyNzZWMtQycpOwogIH0KCiAgaWYgKHR5cGVvZiBjYWxsZXIuc3VwZXJDbGFzc18gIT09ICd1bmRlZmluZWQnKSB7CiAgICAvLyBDb3B5aW5nIHVzaW5nIGxvb3AgdG8gYXZvaWQgZGVvcCBkdWUgdG8gcGFzc2luZyBhcmd1bWVudHMgb2JqZWN0IHRvCiAgICAvLyBmdW5jdGlvbi4gVGhpcyBpcyBmYXN0ZXIgaW4gbWFueSBKUyBlbmdpbmVzIGFzIG9mIGxhdGUgMjAxNC4KICAgIHZhciBjdG9yQXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoIC0gMSk7CiAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgewogICAgICBjdG9yQXJnc1tpIC0gMV0gPSBhcmd1bWVudHNbaV07CiAgICB9CiAgICAvLyBUaGlzIGlzIGEgY29uc3RydWN0b3IuIENhbGwgdGhlIHN1cGVyY2xhc3MgY29uc3RydWN0b3IuCiAgICByZXR1cm4gLyoqIEB0eXBlIHshRnVuY3Rpb259ICovIChjYWxsZXIuc3VwZXJDbGFzc18pCiAgICAgICAgLmNvbnN0cnVjdG9yLmFwcGx5KG1lLCBjdG9yQXJncyk7CiAgfQoKICBpZiAodHlwZW9mIG9wdF9tZXRob2ROYW1lICE9ICdzdHJpbmcnICYmIHR5cGVvZiBvcHRfbWV0aG9kTmFtZSAhPSAnc3ltYm9sJykgewogICAgdGhyb3cgbmV3IEVycm9yKAogICAgICAgICdtZXRob2QgbmFtZXMgcHJvdmlkZWQgdG8gZ29vZy5iYXNlIG11c3QgYmUgYSBzdHJpbmcgb3IgYSBzeW1ib2wnKTsKICB9CgogIC8vIENvcHlpbmcgdXNpbmcgbG9vcCB0byBhdm9pZCBkZW9wIGR1ZSB0byBwYXNzaW5nIGFyZ3VtZW50cyBvYmplY3QgdG8KICAvLyBmdW5jdGlvbi4gVGhpcyBpcyBmYXN0ZXIgaW4gbWFueSBKUyBlbmdpbmVzIGFzIG9mIGxhdGUgMjAxNC4KICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoIC0gMik7CiAgZm9yICh2YXIgaSA9IDI7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsKICAgIGFyZ3NbaSAtIDJdID0gYXJndW1lbnRzW2ldOwogIH0KICB2YXIgZm91bmRDYWxsZXIgPSBmYWxzZTsKICBmb3IgKHZhciBwcm90byA9IG1lLmNvbnN0cnVjdG9yLnByb3RvdHlwZTsgcHJvdG87CiAgICAgICBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihwcm90bykpIHsKICAgIGlmIChwcm90b1tvcHRfbWV0aG9kTmFtZV0gPT09IGNhbGxlcikgewogICAgICBmb3VuZENhbGxlciA9IHRydWU7CiAgICB9IGVsc2UgaWYgKGZvdW5kQ2FsbGVyKSB7CiAgICAgIHJldHVybiBwcm90b1tvcHRfbWV0aG9kTmFtZV0uYXBwbHkobWUsIGFyZ3MpOwogICAgfQogIH0KCiAgLy8gSWYgd2UgZGlkIG5vdCBmaW5kIHRoZSBjYWxsZXIgaW4gdGhlIHByb3RvdHlwZSBjaGFpbiwgdGhlbiBvbmUgb2YgdHdvCiAgLy8gdGhpbmdzIGhhcHBlbmVkOgogIC8vIDEpIFRoZSBjYWxsZXIgaXMgYW4gaW5zdGFuY2UgbWV0aG9kLgogIC8vIDIpIFRoaXMgbWV0aG9kIHdhcyBub3QgY2FsbGVkIGJ5IHRoZSByaWdodCBjYWxsZXIuCiAgaWYgKG1lW29wdF9tZXRob2ROYW1lXSA9PT0gY2FsbGVyKSB7CiAgICByZXR1cm4gbWUuY29uc3RydWN0b3IucHJvdG90eXBlW29wdF9tZXRob2ROYW1lXS5hcHBseShtZSwgYXJncyk7CiAgfSBlbHNlIHsKICAgIHRocm93IG5ldyBFcnJvcigKICAgICAgICAnZ29vZy5iYXNlIGNhbGxlZCBmcm9tIGEgbWV0aG9kIG9mIG9uZSBuYW1lICcgKwogICAgICAgICd0byBhIG1ldGhvZCBvZiBhIGRpZmZlcmVudCBuYW1lJyk7CiAgfQp9OwoKCi8qKgogKiBBbGxvdyBmb3IgYWxpYXNpbmcgd2l0aGluIHNjb3BlIGZ1bmN0aW9ucy4gIFRoaXMgZnVuY3Rpb24gZXhpc3RzIGZvcgogKiB1bmNvbXBpbGVkIGNvZGUgLSBpbiBjb21waWxlZCBjb2RlIHRoZSBjYWxscyB3aWxsIGJlIGlubGluZWQgYW5kIHRoZSBhbGlhc2VzCiAqIGFwcGxpZWQuICBJbiB1bmNvbXBpbGVkIGNvZGUgdGhlIGZ1bmN0aW9uIGlzIHNpbXBseSBydW4gc2luY2UgdGhlIGFsaWFzZXMgYXMKICogd3JpdHRlbiBhcmUgdmFsaWQgSmF2YVNjcmlwdC4KICoKICoKICogQHBhcmFtIHtmdW5jdGlvbigpfSBmbiBGdW5jdGlvbiB0byBjYWxsLiAgVGhpcyBmdW5jdGlvbiBjYW4gY29udGFpbiBhbGlhc2VzCiAqICAgICB0byBuYW1lc3BhY2VzIChlLmcuICJ2YXIgZG9tID0gZ29vZy5kb20iKSBvciBjbGFzc2VzCiAqICAgICAoZS5nLiAidmFyIFRpbWVyID0gZ29vZy5UaW1lciIpLgogKi8KZ29vZy5zY29wZSA9IGZ1bmN0aW9uKGZuKSB7CiAgaWYgKGdvb2cuaXNJbk1vZHVsZUxvYWRlcl8oKSkgewogICAgdGhyb3cgbmV3IEVycm9yKCdnb29nLnNjb3BlIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aGluIGEgbW9kdWxlLicpOwogIH0KICBmbi5jYWxsKGdvb2cuZ2xvYmFsKTsKfTsKCgovKgogKiBUbyBzdXBwb3J0IHVuY29tcGlsZWQsIHN0cmljdCBtb2RlIGJ1bmRsZXMgdGhhdCB1c2UgZXZhbCB0byBkaXZpZGUgc291cmNlCiAqIGxpa2Ugc286CiAqICAgIGV2YWwoJ3NvbWVTb3VyY2U7Ly8jIHNvdXJjZVVybCBzb3VyY2VmaWxlLmpzJyk7CiAqIFdlIG5lZWQgdG8gZXhwb3J0IHRoZSBnbG9iYWxseSBkZWZpbmVkIHN5bWJvbHMgImdvb2ciIGFuZCAiQ09NUElMRUQiLgogKiBFeHBvcnRpbmcgImdvb2ciIGJyZWFrcyB0aGUgY29tcGlsZXIgb3B0aW1pemF0aW9ucywgc28gd2UgcmVxdWlyZWQgdGhhdAogKiBiZSBkZWZpbmVkIGV4dGVybmFsbHkuCiAqIE5PVEU6IFdlIGRvbid0IHVzZSBnb29nLmV4cG9ydFN5bWJvbCBoZXJlIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCB0byB0cmlnZ2VyCiAqIGV4dGVybiBnZW5lcmF0aW9uIHdoZW4gdGhhdCBjb21waWxlciBvcHRpb24gaXMgZW5hYmxlZC4KICovCmlmICghQ09NUElMRUQpIHsKICBnb29nLmdsb2JhbFsnQ09NUElMRUQnXSA9IENPTVBJTEVEOwp9CgoKLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8gZ29vZy5kZWZpbmVDbGFzcyBpbXBsZW1lbnRhdGlvbgovLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKCi8qKgogKiBDcmVhdGVzIGEgcmVzdHJpY3RlZCBmb3JtIG9mIGEgQ2xvc3VyZSAiY2xhc3MiOgogKiAgIC0gZnJvbSB0aGUgY29tcGlsZXIncyBwZXJzcGVjdGl2ZSwgdGhlIGluc3RhbmNlIHJldHVybmVkIGZyb20gdGhlCiAqICAgICBjb25zdHJ1Y3RvciBpcyBzZWFsZWQgKG5vIG5ldyBwcm9wZXJ0aWVzIG1heSBiZSBhZGRlZCkuICBUaGlzIGVuYWJsZXMKICogICAgIGJldHRlciBjaGVja3MuCiAqICAgLSB0aGUgY29tcGlsZXIgd2lsbCByZXdyaXRlIHRoaXMgZGVmaW5pdGlvbiB0byBhIGZvcm0gdGhhdCBpcyBvcHRpbWFsCiAqICAgICBmb3IgdHlwZSBjaGVja2luZyBhbmQgb3B0aW1pemF0aW9uIChpbml0aWFsbHkgdGhpcyB3aWxsIGJlIGEgbW9yZQogKiAgICAgdHJhZGl0aW9uYWwgZm9ybSkuCiAqCiAqIEBwYXJhbSB7RnVuY3Rpb259IHN1cGVyQ2xhc3MgVGhlIHN1cGVyY2xhc3MsIE9iamVjdCBvciBudWxsLgogKiBAcGFyYW0ge2dvb2cuZGVmaW5lQ2xhc3MuQ2xhc3NEZXNjcmlwdG9yfSBkZWYKICogICAgIEFuIG9iamVjdCBsaXRlcmFsIGRlc2NyaWJpbmcKICogICAgIHRoZSBjbGFzcy4gIEl0IG1heSBoYXZlIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczoKICogICAgICJjb25zdHJ1Y3RvciI6IHRoZSBjb25zdHJ1Y3RvciBmdW5jdGlvbgogKiAgICAgInN0YXRpY3MiOiBhbiBvYmplY3QgbGl0ZXJhbCBjb250YWluaW5nIG1ldGhvZHMgdG8gYWRkIHRvIHRoZSBjb25zdHJ1Y3RvcgogKiAgICAgICAgYXMgInN0YXRpYyIgbWV0aG9kcyBvciBhIGZ1bmN0aW9uIHRoYXQgd2lsbCByZWNlaXZlIHRoZSBjb25zdHJ1Y3RvcgogKiAgICAgICAgZnVuY3Rpb24gYXMgaXRzIG9ubHkgcGFyYW1ldGVyIHRvIHdoaWNoIHN0YXRpYyBwcm9wZXJ0aWVzIGNhbgogKiAgICAgICAgYmUgYWRkZWQuCiAqICAgICBhbGwgb3RoZXIgcHJvcGVydGllcyBhcmUgYWRkZWQgdG8gdGhlIHByb3RvdHlwZS4KICogQHJldHVybiB7IUZ1bmN0aW9ufSBUaGUgY2xhc3MgY29uc3RydWN0b3IuCiAqIEBkZXByZWNhdGVkIFVzZSBFUzYgY2xhc3Mgc3ludGF4IGluc3RlYWQuCiAqLwpnb29nLmRlZmluZUNsYXNzID0gZnVuY3Rpb24oc3VwZXJDbGFzcywgZGVmKSB7CiAgLy8gVE9ETyhqb2hubGVueik6IGNvbnNpZGVyIG1ha2luZyB0aGUgc3VwZXJDbGFzcyBhbiBvcHRpb25hbCBwYXJhbWV0ZXIuCiAgdmFyIGNvbnN0cnVjdG9yID0gZGVmLmNvbnN0cnVjdG9yOwogIHZhciBzdGF0aWNzID0gZGVmLnN0YXRpY3M7CiAgLy8gV3JhcCB0aGUgY29uc3RydWN0b3IgcHJpb3IgdG8gc2V0dGluZyB1cCB0aGUgcHJvdG90eXBlIGFuZCBzdGF0aWMgbWV0aG9kcy4KICBpZiAoIWNvbnN0cnVjdG9yIHx8IGNvbnN0cnVjdG9yID09IE9iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3IpIHsKICAgIGNvbnN0cnVjdG9yID0gZnVuY3Rpb24oKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigKICAgICAgICAgICdjYW5ub3QgaW5zdGFudGlhdGUgYW4gaW50ZXJmYWNlIChubyBjb25zdHJ1Y3RvciBkZWZpbmVkKS4nKTsKICAgIH07CiAgfQoKICB2YXIgY2xzID0gZ29vZy5kZWZpbmVDbGFzcy5jcmVhdGVTZWFsaW5nQ29uc3RydWN0b3JfKGNvbnN0cnVjdG9yLCBzdXBlckNsYXNzKTsKICBpZiAoc3VwZXJDbGFzcykgewogICAgZ29vZy5pbmhlcml0cyhjbHMsIHN1cGVyQ2xhc3MpOwogIH0KCiAgLy8gUmVtb3ZlIGFsbCB0aGUgcHJvcGVydGllcyB0aGF0IHNob3VsZCBub3QgYmUgY29waWVkIHRvIHRoZSBwcm90b3R5cGUuCiAgZGVsZXRlIGRlZi5jb25zdHJ1Y3RvcjsKICBkZWxldGUgZGVmLnN0YXRpY3M7CgogIGdvb2cuZGVmaW5lQ2xhc3MuYXBwbHlQcm9wZXJ0aWVzXyhjbHMucHJvdG90eXBlLCBkZWYpOwogIGlmIChzdGF0aWNzICE9IG51bGwpIHsKICAgIGlmIChzdGF0aWNzIGluc3RhbmNlb2YgRnVuY3Rpb24pIHsKICAgICAgc3RhdGljcyhjbHMpOwogICAgfSBlbHNlIHsKICAgICAgZ29vZy5kZWZpbmVDbGFzcy5hcHBseVByb3BlcnRpZXNfKGNscywgc3RhdGljcyk7CiAgICB9CiAgfQoKICByZXR1cm4gY2xzOwp9OwoKCi8qKgogKiBAdHlwZWRlZiB7ewogKiAgIGNvbnN0cnVjdG9yOiAoIUZ1bmN0aW9ufHVuZGVmaW5lZCksCiAqICAgc3RhdGljczogKE9iamVjdHx1bmRlZmluZWR8ZnVuY3Rpb24oRnVuY3Rpb24pOnZvaWQpCiAqIH19CiAqLwpnb29nLmRlZmluZUNsYXNzLkNsYXNzRGVzY3JpcHRvcjsKCgovKioKICogQGRlZmluZSB7Ym9vbGVhbn0gV2hldGhlciB0aGUgaW5zdGFuY2VzIHJldHVybmVkIGJ5IGdvb2cuZGVmaW5lQ2xhc3Mgc2hvdWxkCiAqICAgICBiZSBzZWFsZWQgd2hlbiBwb3NzaWJsZS4KICoKICogV2hlbiBzZWFsaW5nIGlzIGRpc2FibGVkIHRoZSBjb25zdHJ1Y3RvciBmdW5jdGlvbiB3aWxsIG5vdCBiZSB3cmFwcGVkIGJ5CiAqIGdvb2cuZGVmaW5lQ2xhc3MsIG1ha2luZyBpdCBpbmNvbXBhdGlibGUgd2l0aCBFUzYgY2xhc3MgbWV0aG9kcy4KICovCmdvb2cuZGVmaW5lQ2xhc3MuU0VBTF9DTEFTU19JTlNUQU5DRVMgPQogICAgZ29vZy5kZWZpbmUoJ2dvb2cuZGVmaW5lQ2xhc3MuU0VBTF9DTEFTU19JTlNUQU5DRVMnLCBnb29nLkRFQlVHKTsKCgovKioKICogSWYgZ29vZy5kZWZpbmVDbGFzcy5TRUFMX0NMQVNTX0lOU1RBTkNFUyBpcyBlbmFibGVkIGFuZCBPYmplY3Quc2VhbCBpcwogKiBkZWZpbmVkLCB0aGlzIGZ1bmN0aW9uIHdpbGwgd3JhcCB0aGUgY29uc3RydWN0b3IgaW4gYSBmdW5jdGlvbiB0aGF0IHNlYWxzIHRoZQogKiByZXN1bHRzIG9mIHRoZSBwcm92aWRlZCBjb25zdHJ1Y3RvciBmdW5jdGlvbi4KICoKICogQHBhcmFtIHshRnVuY3Rpb259IGN0ciBUaGUgY29uc3RydWN0b3Igd2hvc2UgcmVzdWx0cyBtYXliZSBiZSBzZWFsZWQuCiAqIEBwYXJhbSB7RnVuY3Rpb259IHN1cGVyQ2xhc3MgVGhlIHN1cGVyY2xhc3MgY29uc3RydWN0b3IuCiAqIEByZXR1cm4geyFGdW5jdGlvbn0gVGhlIHJlcGxhY2VtZW50IGNvbnN0cnVjdG9yLgogKiBAcHJpdmF0ZQogKi8KZ29vZy5kZWZpbmVDbGFzcy5jcmVhdGVTZWFsaW5nQ29uc3RydWN0b3JfID0gZnVuY3Rpb24oY3RyLCBzdXBlckNsYXNzKSB7CiAgaWYgKCFnb29nLmRlZmluZUNsYXNzLlNFQUxfQ0xBU1NfSU5TVEFOQ0VTKSB7CiAgICAvLyBEbyBub3cgd3JhcCB0aGUgY29uc3RydWN0b3Igd2hlbiBzZWFsaW5nIGlzIGRpc2FibGVkLiBBbmd1bGFyIGNvZGUKICAgIC8vIGRlcGVuZHMgb24gdGhpcyBmb3IgaW5qZWN0aW9uIHRvIHdvcmsgcHJvcGVybHkuCiAgICByZXR1cm4gY3RyOwogIH0KCiAgLy8gQ29tcHV0ZSB3aGV0aGVyIHRoZSBjb25zdHJ1Y3RvciBpcyBzZWFsYWJsZSBhdCBkZWZpbml0aW9uIHRpbWUsIHJhdGhlcgogIC8vIHRoYW4gd2hlbiB0aGUgaW5zdGFuY2UgaXMgYmVpbmcgY29uc3RydWN0ZWQuCiAgdmFyIHN1cGVyY2xhc3NTZWFsYWJsZSA9ICFnb29nLmRlZmluZUNsYXNzLmlzVW5zZWFsYWJsZV8oc3VwZXJDbGFzcyk7CgogIC8qKgogICAqIEB0aGlzIHtPYmplY3R9CiAgICogQHJldHVybiB7P30KICAgKi8KICB2YXIgd3JhcHBlZEN0ciA9IGZ1bmN0aW9uKCkgewogICAgLy8gRG9uJ3Qgc2VhbCBhbiBpbnN0YW5jZSBvZiBhIHN1YmNsYXNzIHdoZW4gaXQgY2FsbHMgdGhlIGNvbnN0cnVjdG9yIG9mCiAgICAvLyBpdHMgc3VwZXIgY2xhc3MgYXMgdGhlcmUgaXMgbW9zdCBsaWtlbHkgc3RpbGwgc2V0dXAgdG8gZG8uCiAgICB2YXIgaW5zdGFuY2UgPSBjdHIuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzOwogICAgaW5zdGFuY2VbZ29vZy5VSURfUFJPUEVSVFlfXSA9IGluc3RhbmNlW2dvb2cuVUlEX1BST1BFUlRZX107CgogICAgaWYgKHRoaXMuY29uc3RydWN0b3IgPT09IHdyYXBwZWRDdHIgJiYgc3VwZXJjbGFzc1NlYWxhYmxlICYmCiAgICAgICAgT2JqZWN0LnNlYWwgaW5zdGFuY2VvZiBGdW5jdGlvbikgewogICAgICBPYmplY3Quc2VhbChpbnN0YW5jZSk7CiAgICB9CiAgICByZXR1cm4gaW5zdGFuY2U7CiAgfTsKCiAgcmV0dXJuIHdyYXBwZWRDdHI7Cn07CgoKLyoqCiAqIEBwYXJhbSB7RnVuY3Rpb259IGN0ciBUaGUgY29uc3RydWN0b3IgdG8gdGVzdC4KICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB0aGUgY29uc3RydWN0b3IgaGFzIGJlZW4gdGFnZ2VkIGFzIHVuc2VhbGFibGUKICogICAgIHVzaW5nIGdvb2cudGFnVW5zZWFsYWJsZUNsYXNzLgogKiBAcHJpdmF0ZQogKi8KZ29vZy5kZWZpbmVDbGFzcy5pc1Vuc2VhbGFibGVfID0gZnVuY3Rpb24oY3RyKSB7CiAgcmV0dXJuIGN0ciAmJiBjdHIucHJvdG90eXBlICYmCiAgICAgIGN0ci5wcm90b3R5cGVbZ29vZy5VTlNFQUxBQkxFX0NPTlNUUlVDVE9SX1BST1BFUlRZX107Cn07CgoKLy8gVE9ETyhqb2hubGVueik6IHNoYXJlIHRoZXNlIHZhbHVlcyB3aXRoIHRoZSBnb29nLm9iamVjdAovKioKICogVGhlIG5hbWVzIG9mIHRoZSBmaWVsZHMgdGhhdCBhcmUgZGVmaW5lZCBvbiBPYmplY3QucHJvdG90eXBlLgogKiBAdHlwZSB7IUFycmF5PHN0cmluZz59CiAqIEBwcml2YXRlCiAqIEBjb25zdAogKi8KZ29vZy5kZWZpbmVDbGFzcy5PQkpFQ1RfUFJPVE9UWVBFX0ZJRUxEU18gPSBbCiAgJ2NvbnN0cnVjdG9yJywgJ2hhc093blByb3BlcnR5JywgJ2lzUHJvdG90eXBlT2YnLCAncHJvcGVydHlJc0VudW1lcmFibGUnLAogICd0b0xvY2FsZVN0cmluZycsICd0b1N0cmluZycsICd2YWx1ZU9mJwpdOwoKCi8vIFRPRE8oam9obmxlbnopOiBzaGFyZSB0aGlzIGZ1bmN0aW9uIHdpdGggdGhlIGdvb2cub2JqZWN0Ci8qKgogKiBAcGFyYW0geyFPYmplY3R9IHRhcmdldCBUaGUgb2JqZWN0IHRvIGFkZCBwcm9wZXJ0aWVzIHRvLgogKiBAcGFyYW0geyFPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IHRvIGNvcHkgcHJvcGVydGllcyBmcm9tLgogKiBAcHJpdmF0ZQogKi8KZ29vZy5kZWZpbmVDbGFzcy5hcHBseVByb3BlcnRpZXNfID0gZnVuY3Rpb24odGFyZ2V0LCBzb3VyY2UpIHsKICAvLyBUT0RPKGpvaG5sZW56KTogdXBkYXRlIHRoaXMgdG8gc3VwcG9ydCBFUzUgZ2V0dGVycy9zZXR0ZXJzCgogIHZhciBrZXk7CiAgZm9yIChrZXkgaW4gc291cmNlKSB7CiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgewogICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOwogICAgfQogIH0KCiAgLy8gRm9yIElFIHRoZSBmb3ItaW4tbG9vcCBkb2VzIG5vdCBjb250YWluIGFueSBwcm9wZXJ0aWVzIHRoYXQgYXJlIG5vdAogIC8vIGVudW1lcmFibGUgb24gdGhlIHByb3RvdHlwZSBvYmplY3QgKGZvciBleGFtcGxlIGlzUHJvdG90eXBlT2YgZnJvbQogIC8vIE9iamVjdC5wcm90b3R5cGUpIGFuZCBpdCB3aWxsIGFsc28gbm90IGluY2x1ZGUgJ3JlcGxhY2UnIG9uIG9iamVjdHMgdGhhdAogIC8vIGV4dGVuZCBTdHJpbmcgYW5kIGNoYW5nZSAncmVwbGFjZScgKG5vdCB0aGF0IGl0IGlzIGNvbW1vbiBmb3IgYW55b25lIHRvCiAgLy8gZXh0ZW5kIGFueXRoaW5nIGV4Y2VwdCBPYmplY3QpLgogIGZvciAodmFyIGkgPSAwOyBpIDwgZ29vZy5kZWZpbmVDbGFzcy5PQkpFQ1RfUFJPVE9UWVBFX0ZJRUxEU18ubGVuZ3RoOyBpKyspIHsKICAgIGtleSA9IGdvb2cuZGVmaW5lQ2xhc3MuT0JKRUNUX1BST1RPVFlQRV9GSUVMRFNfW2ldOwogICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsKICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsKICAgIH0KICB9Cn07CgoKLyoqCiAqIFNlYWxpbmcgY2xhc3NlcyBicmVha3MgdGhlIG9sZGVyIGlkaW9tIG9mIGFzc2lnbmluZyBwcm9wZXJ0aWVzIG9uIHRoZQogKiBwcm90b3R5cGUgcmF0aGVyIHRoYW4gaW4gdGhlIGNvbnN0cnVjdG9yLiBBcyBzdWNoLCBnb29nLmRlZmluZUNsYXNzCiAqIG11c3Qgbm90IHNlYWwgc3ViY2xhc3NlcyBvZiB0aGVzZSBvbGQtc3R5bGUgY2xhc3NlcyB1bnRpbCB0aGV5IGFyZSBmaXhlZC4KICogVW50aWwgdGhlbiwgdGhpcyBtYXJrcyBhIGNsYXNzIGFzICJicm9rZW4iLCBpbnN0cnVjdGluZyBkZWZpbmVDbGFzcwogKiBub3QgdG8gc2VhbCBzdWJjbGFzc2VzLgogKiBAcGFyYW0geyFGdW5jdGlvbn0gY3RyIFRoZSBsZWdhY3kgY29uc3RydWN0b3IgdG8gdGFnIGFzIHVuc2VhbGFibGUuCiAqLwpnb29nLnRhZ1Vuc2VhbGFibGVDbGFzcyA9IGZ1bmN0aW9uKGN0cikgewogIGlmICghQ09NUElMRUQgJiYgZ29vZy5kZWZpbmVDbGFzcy5TRUFMX0NMQVNTX0lOU1RBTkNFUykgewogICAgY3RyLnByb3RvdHlwZVtnb29nLlVOU0VBTEFCTEVfQ09OU1RSVUNUT1JfUFJPUEVSVFlfXSA9IHRydWU7CiAgfQp9OwoKCi8qKgogKiBOYW1lIGZvciB1bnNlYWxhYmxlIHRhZyBwcm9wZXJ0eS4KICogQGNvbnN0IEBwcml2YXRlIHtzdHJpbmd9CiAqLwpnb29nLlVOU0VBTEFCTEVfQ09OU1RSVUNUT1JfUFJPUEVSVFlfID0gJ2dvb2dfZGVmaW5lQ2xhc3NfbGVnYWN5X3Vuc2VhbGFibGUnOwoKCi8vIFRoZXJlJ3MgYSBidWcgaW4gdGhlIGNvbXBpbGVyIHdoZXJlIHdpdGhvdXQgY29sbGFwc2UgcHJvcGVydGllcyB0aGUKLy8gQ2xvc3VyZSBuYW1lc3BhY2UgZGVmaW5lcyBkbyBub3QgZ3VhcmQgY29kZSBjb3JyZWN0bHkuIFRvIGhlbHAgcmVkdWNlIGNvZGUKLy8gc2l6ZSBhbHNvIGNoZWNrIGZvciAhQ09NUElMRUQgZXZlbiB0aG91Z2ggaXQgcmVkdW5kYW50IHVudGlsIHRoaXMgaXMgZml4ZWQuCmlmICghQ09NUElMRUQgJiYgZ29vZy5ERVBFTkRFTkNJRVNfRU5BQkxFRCkgewoKICAvKioKICAgKiBUcmllcyB0byBkZXRlY3Qgd2hldGhlciBpcyBpbiB0aGUgY29udGV4dCBvZiBhbiBIVE1MIGRvY3VtZW50LgogICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgaXQgbG9va3MgbGlrZSBIVE1MIGRvY3VtZW50LgogICAqIEBwcml2YXRlCiAgICovCiAgZ29vZy5pbkh0bWxEb2N1bWVudF8gPSBmdW5jdGlvbigpIHsKICAgIC8qKiBAdHlwZSB7IURvY3VtZW50fSAqLwogICAgdmFyIGRvYyA9IGdvb2cuZ2xvYmFsLmRvY3VtZW50OwogICAgcmV0dXJuIGRvYyAhPSBudWxsICYmICd3cml0ZScgaW4gZG9jOyAgLy8gWFVMRG9jdW1lbnQgbWlzc2VzIHdyaXRlLgogIH07CgoKICAvKioKICAgKiBXZSdkIGxpa2UgdG8gY2hlY2sgZm9yIGlmIHRoZSBkb2N1bWVudCByZWFkeVN0YXRlIGlzICdsb2FkaW5nJzsgaG93ZXZlcgogICAqIHRoZXJlIGFyZSBidWdzIG9uIElFIDEwIGFuZCBiZWxvdyB3aGVyZSB0aGUgcmVhZHlTdGF0ZSBiZWluZyBhbnl0aGluZyBvdGhlcgogICAqIHRoYW4gJ2NvbXBsZXRlJyBpcyBub3QgcmVsaWFibGUuCiAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgKiBAcHJpdmF0ZQogICAqLwogIGdvb2cuaXNEb2N1bWVudExvYWRpbmdfID0gZnVuY3Rpb24oKSB7CiAgICAvLyBhdHRhY2hFdmVudCBpcyBhdmFpbGFibGUgb24gSUUgNiB0aHJ1IDEwIG9ubHksIGFuZCB0aHVzIGNhbiBiZSB1c2VkIHRvCiAgICAvLyBkZXRlY3QgdGhvc2UgYnJvd3NlcnMuCiAgICAvKiogQHR5cGUgeyFIVE1MRG9jdW1lbnR9ICovCiAgICB2YXIgZG9jID0gZ29vZy5nbG9iYWwuZG9jdW1lbnQ7CiAgICByZXR1cm4gZG9jLmF0dGFjaEV2ZW50ID8gZG9jLnJlYWR5U3RhdGUgIT0gJ2NvbXBsZXRlJyA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jLnJlYWR5U3RhdGUgPT0gJ2xvYWRpbmcnOwogIH07CgoKICAvKioKICAgKiBUcmllcyB0byBkZXRlY3QgdGhlIGJhc2UgcGF0aCBvZiBiYXNlLmpzIHNjcmlwdCB0aGF0IGJvb3RzdHJhcHMgQ2xvc3VyZS4KICAgKiBAcHJpdmF0ZQogICAqLwogIGdvb2cuZmluZEJhc2VQYXRoXyA9IGZ1bmN0aW9uKCkgewogICAgaWYgKGdvb2cuZ2xvYmFsLkNMT1NVUkVfQkFTRV9QQVRIICE9IHVuZGVmaW5lZCAmJgogICAgICAgIC8vIEFudGkgRE9NLWNsb2JiZXJpbmcgcnVudGltZSBjaGVjayAoYi8zNzczNjU3NikuCiAgICAgICAgdHlwZW9mIGdvb2cuZ2xvYmFsLkNMT1NVUkVfQkFTRV9QQVRIID09PSAnc3RyaW5nJykgewogICAgICBnb29nLmJhc2VQYXRoID0gZ29vZy5nbG9iYWwuQ0xPU1VSRV9CQVNFX1BBVEg7CiAgICAgIHJldHVybjsKICAgIH0gZWxzZSBpZiAoIWdvb2cuaW5IdG1sRG9jdW1lbnRfKCkpIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgLyoqIEB0eXBlIHshRG9jdW1lbnR9ICovCiAgICB2YXIgZG9jID0gZ29vZy5nbG9iYWwuZG9jdW1lbnQ7CiAgICAvLyBJZiB3ZSBoYXZlIGEgY3VycmVudFNjcmlwdCBhdmFpbGFibGUsIHVzZSBpdCBleGNsdXNpdmVseS4KICAgIHZhciBjdXJyZW50U2NyaXB0ID0gZG9jLmN1cnJlbnRTY3JpcHQ7CiAgICBpZiAoY3VycmVudFNjcmlwdCkgewogICAgICB2YXIgc2NyaXB0cyA9IFtjdXJyZW50U2NyaXB0XTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBzY3JpcHRzID0gZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdTQ1JJUFQnKTsKICAgIH0KICAgIC8vIFNlYXJjaCBiYWNrd2FyZHMgc2luY2UgdGhlIGN1cnJlbnQgc2NyaXB0IGlzIGluIGFsbW9zdCBhbGwgY2FzZXMgdGhlIG9uZQogICAgLy8gdGhhdCBoYXMgYmFzZS5qcy4KICAgIGZvciAodmFyIGkgPSBzY3JpcHRzLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7CiAgICAgIHZhciBzY3JpcHQgPSAvKiogQHR5cGUgeyFIVE1MU2NyaXB0RWxlbWVudH0gKi8gKHNjcmlwdHNbaV0pOwogICAgICB2YXIgc3JjID0gc2NyaXB0LnNyYzsKICAgICAgdmFyIHFtYXJrID0gc3JjLmxhc3RJbmRleE9mKCc/Jyk7CiAgICAgIHZhciBsID0gcW1hcmsgPT0gLTEgPyBzcmMubGVuZ3RoIDogcW1hcms7CiAgICAgIGlmIChzcmMuc3Vic3RyKGwgLSA3LCA3KSA9PSAnYmFzZS5qcycpIHsKICAgICAgICBnb29nLmJhc2VQYXRoID0gc3JjLnN1YnN0cigwLCBsIC0gNyk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICB9CiAgfTsKCiAgZ29vZy5maW5kQmFzZVBhdGhfKCk7CgogIC8qKiBAc3RydWN0IEBjb25zdHJ1Y3RvciBAZmluYWwgKi8KICBnb29nLlRyYW5zcGlsZXIgPSBmdW5jdGlvbigpIHsKICAgIC8qKiBAcHJpdmF0ZSB7P09iamVjdDxzdHJpbmcsIGJvb2xlYW4+fSAqLwogICAgdGhpcy5yZXF1aXJlc1RyYW5zcGlsYXRpb25fID0gbnVsbDsKICAgIC8qKiBAcHJpdmF0ZSB7c3RyaW5nfSAqLwogICAgdGhpcy50cmFuc3BpbGF0aW9uVGFyZ2V0XyA9IGdvb2cuVFJBTlNQSUxFX1RPX0xBTkdVQUdFOwogIH07CgoKICAvKioKICAgKiBSZXR1cm5zIGEgbmV3bHkgY3JlYXRlZCBtYXAgZnJvbSBsYW5ndWFnZSBtb2RlIHN0cmluZyB0byBhIGJvb2xlYW4KICAgKiBpbmRpY2F0aW5nIHdoZXRoZXIgdHJhbnNwaWxhdGlvbiBzaG91bGQgYmUgZG9uZSBmb3IgdGhhdCBtb2RlIGFzIHdlbGwgYXMKICAgKiB0aGUgaGlnaGVzdCBsZXZlbCBsYW5ndWFnZSB0aGF0IHRoaXMgZW52aXJvbm1lbnQgc3VwcG9ydHMuCiAgICoKICAgKiBHdWFyYW50ZWVkIGludmFyaWFudDoKICAgKiBGb3IgYW55IHR3byBtb2RlcywgbDEgYW5kIGwyIHdoZXJlIGwyIGlzIGEgbmV3ZXIgbW9kZSB0aGFuIGwxLAogICAqIGBtYXBbbDFdID09IHRydWVgIGltcGxpZXMgdGhhdCBgbWFwW2wyXSA9PSB0cnVlYC4KICAgKgogICAqIE5vdGUgdGhpcyBtZXRob2QgaXMgZXh0cmFjdGVkIGFuZCB1c2VkIGVsc2V3aGVyZSwgc28gaXQgY2Fubm90IHJlbHkgb24KICAgKiBhbnl0aGluZyBleHRlcm5hbCAoaXQgc2hvdWxkIGVhc2lseSBiZSBhYmxlIHRvIGJlIHRyYW5zZm9ybWVkIGludG8gYQogICAqIHN0YW5kYWxvbmUsIHRvcCBsZXZlbCBmdW5jdGlvbikuCiAgICoKICAgKiBAcHJpdmF0ZQogICAqIEByZXR1cm4ge3sKICAgKiAgIHRhcmdldDogc3RyaW5nLAogICAqICAgbWFwOiAhT2JqZWN0PHN0cmluZywgYm9vbGVhbj4KICAgKiB9fQogICAqLwogIGdvb2cuVHJhbnNwaWxlci5wcm90b3R5cGUuY3JlYXRlUmVxdWlyZXNUcmFuc3BpbGF0aW9uXyA9IGZ1bmN0aW9uKCkgewogICAgdmFyIHRyYW5zcGlsYXRpb25UYXJnZXQgPSAnZXMzJzsKICAgIHZhciAvKiogIU9iamVjdDxzdHJpbmcsIGJvb2xlYW4+ICovIHJlcXVpcmVzVHJhbnNwaWxhdGlvbiA9IHsnZXMzJzogZmFsc2V9OwogICAgdmFyIHRyYW5zcGlsYXRpb25SZXF1aXJlZEZvckFsbExhdGVyTW9kZXMgPSBmYWxzZTsKCiAgICAvKioKICAgICAqIEFkZHMgYW4gZW50cnkgdG8gcmVxdWlyZXNUcmFuc3BsaWF0aW9uIGZvciB0aGUgZ2l2ZW4gbGFuZ3VhZ2UgbW9kZS4KICAgICAqCiAgICAgKiBJTVBPUlRBTlQ6IENhbGxzIG11c3QgYmUgbWFkZSBpbiBvcmRlciBmcm9tIG9sZGVzdCB0byBuZXdlc3QgbGFuZ3VhZ2UKICAgICAqIG1vZGUuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbW9kZU5hbWUKICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oKTogYm9vbGVhbn0gaXNTdXBwb3J0ZWQgUmV0dXJucyB0cnVlIGlmIHRoZSBKUyBlbmdpbmUKICAgICAqICAgICBzdXBwb3J0cyB0aGUgZ2l2ZW4gbW9kZS4KICAgICAqLwogICAgZnVuY3Rpb24gYWRkTmV3ZXJMYW5ndWFnZVRyYW5zcGlsYXRpb25DaGVjayhtb2RlTmFtZSwgaXNTdXBwb3J0ZWQpIHsKICAgICAgaWYgKHRyYW5zcGlsYXRpb25SZXF1aXJlZEZvckFsbExhdGVyTW9kZXMpIHsKICAgICAgICByZXF1aXJlc1RyYW5zcGlsYXRpb25bbW9kZU5hbWVdID0gdHJ1ZTsKICAgICAgfSBlbHNlIGlmIChpc1N1cHBvcnRlZCgpKSB7CiAgICAgICAgdHJhbnNwaWxhdGlvblRhcmdldCA9IG1vZGVOYW1lOwogICAgICAgIHJlcXVpcmVzVHJhbnNwaWxhdGlvblttb2RlTmFtZV0gPSBmYWxzZTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXF1aXJlc1RyYW5zcGlsYXRpb25bbW9kZU5hbWVdID0gdHJ1ZTsKICAgICAgICB0cmFuc3BpbGF0aW9uUmVxdWlyZWRGb3JBbGxMYXRlck1vZGVzID0gdHJ1ZTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogRG9lcyB0aGUgZ2l2ZW4gY29kZSBldmFsdWF0ZSB3aXRob3V0IHN5bnRheCBlcnJvcnMgYW5kIHJldHVybiBhIHRydXRoeQogICAgICogcmVzdWx0PwogICAgICovCiAgICBmdW5jdGlvbiAvKiogYm9vbGVhbiAqLyBldmFsQ2hlY2soLyoqIHN0cmluZyAqLyBjb2RlKSB7CiAgICAgIHRyeSB7CiAgICAgICAgcmV0dXJuICEhZXZhbChjb2RlKTsKICAgICAgfSBjYXRjaCAoaWdub3JlZCkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgfQoKICAgIHZhciB1c2VyQWdlbnQgPSBnb29nLmdsb2JhbC5uYXZpZ2F0b3IgJiYgZ29vZy5nbG9iYWwubmF2aWdhdG9yLnVzZXJBZ2VudCA/CiAgICAgICAgZ29vZy5nbG9iYWwubmF2aWdhdG9yLnVzZXJBZ2VudCA6CiAgICAgICAgJyc7CgogICAgLy8gSWRlbnRpZnkgRVMzLW9ubHkgYnJvd3NlcnMgYnkgdGhlaXIgaW5jb3JyZWN0IHRyZWF0bWVudCBvZiBjb21tYXMuCiAgICBhZGROZXdlckxhbmd1YWdlVHJhbnNwaWxhdGlvbkNoZWNrKCdlczUnLCBmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIGV2YWxDaGVjaygnWzEsXS5sZW5ndGg9PTEnKTsKICAgIH0pOwogICAgYWRkTmV3ZXJMYW5ndWFnZVRyYW5zcGlsYXRpb25DaGVjaygnZXM2JywgZnVuY3Rpb24oKSB7CiAgICAgIC8vIEVkZ2UgaGFzIGEgbm9uLWRldGVybWluaXN0aWMgKGkuZS4sIG5vdCByZXByb2R1Y2libGUpIGJ1ZyB3aXRoIEVTNjoKICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9DaGFrcmFDb3JlL2lzc3Vlcy8xNDk2LgogICAgICB2YXIgcmUgPSAvRWRnZVwvKFxkKykoXC5cZCkqL2k7CiAgICAgIHZhciBlZGdlVXNlckFnZW50ID0gdXNlckFnZW50Lm1hdGNoKHJlKTsKICAgICAgaWYgKGVkZ2VVc2VyQWdlbnQpIHsKICAgICAgICAvLyBUaGUgUmVmbGVjdC5jb25zdHJ1Y3QgdGVzdCBiZWxvdyBpcyBmbGFreSBvbiBFZGdlLiBJdCBjYW4gc29tZXRpbWVzCiAgICAgICAgLy8gcGFzcyBvciBmYWlsIG9uIDQwIDE1LjE1MDYzLCBzbyBqdXN0IGV4aXQgZWFybHkgZm9yIEVkZ2UgYW5kIHRyZWF0CiAgICAgICAgLy8gaXQgYXMgRVM1LiBVbnRpbCB3ZSdyZSBvbiBhIG1vcmUgdXAgdG8gZGF0ZSB2ZXJzaW9uIGp1c3QgYWx3YXlzIHVzZQogICAgICAgIC8vIEVTNS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvQ2hha3JhQ29yZS9pc3N1ZXMvMzIxNy4KICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgLy8gVGVzdCBlczY6IFtGRjUwICg/KSwgRWRnZSAxNCAoPyksIENocm9tZSA1MF0KICAgICAgLy8gICAoYSkgZGVmYXVsdCBwYXJhbXMgKHNwZWNpZmljYWxseSBzaGFkb3dpbmcgbG9jYWxzKSwKICAgICAgLy8gICAoYikgZGVzdHJ1Y3R1cmluZywgKGMpIGJsb2NrLXNjb3BlZCBmdW5jdGlvbnMsCiAgICAgIC8vICAgKGQpIGZvci1vZiAoY29uc3QpLCAoZSkgbmV3LnRhcmdldC9SZWZsZWN0LmNvbnN0cnVjdAogICAgICB2YXIgZXM2ZnVsbFRlc3QgPQogICAgICAgICAgJ2NsYXNzIFh7Y29uc3RydWN0b3IoKXtpZihuZXcudGFyZ2V0IT1TdHJpbmcpdGhyb3cgMTt0aGlzLng9NDJ9fScgKwogICAgICAgICAgJ2xldCBxPVJlZmxlY3QuY29uc3RydWN0KFgsW10sU3RyaW5nKTtpZihxLnghPTQyfHwhKHEgaW5zdGFuY2VvZiAnICsKICAgICAgICAgICdTdHJpbmcpKXRocm93IDE7Zm9yKGNvbnN0IGEgb2ZbMiwzXSl7aWYoYT09Miljb250aW51ZTtmdW5jdGlvbiAnICsKICAgICAgICAgICdmKHo9e2F9KXtsZXQgYT0wO3JldHVybiB6LmF9e2Z1bmN0aW9uIGYoKXtyZXR1cm4gMDt9fXJldHVybiBmKCknICsKICAgICAgICAgICc9PTN9JzsKCiAgICAgIHJldHVybiBldmFsQ2hlY2soJygoKT0+eyJ1c2Ugc3RyaWN0IjsnICsgZXM2ZnVsbFRlc3QgKyAnfSkoKScpOwogICAgfSk7CiAgICAvLyAqKiBhbmQgKio9IGFyZSB0aGUgb25seSBuZXcgZmVhdHVyZXMgaW4gJ2VzNycKICAgIGFkZE5ld2VyTGFuZ3VhZ2VUcmFuc3BpbGF0aW9uQ2hlY2soJ2VzNycsIGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gZXZhbENoZWNrKCcyICoqIDIgPT0gNCcpOwogICAgfSk7CiAgICAvLyBhc3luYyBmdW5jdGlvbnMgYXJlIHRoZSBvbmx5IG5ldyBmZWF0dXJlcyBpbiAnZXM4JwogICAgYWRkTmV3ZXJMYW5ndWFnZVRyYW5zcGlsYXRpb25DaGVjaygnZXM4JywgZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiBldmFsQ2hlY2soJ2FzeW5jICgpID0+IDEsIHRydWUnKTsKICAgIH0pOwogICAgYWRkTmV3ZXJMYW5ndWFnZVRyYW5zcGlsYXRpb25DaGVjaygnZXM5JywgZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiBldmFsQ2hlY2soJyh7Li4ucmVzdH0gPSB7fSksIHRydWUnKTsKICAgIH0pOwogICAgYWRkTmV3ZXJMYW5ndWFnZVRyYW5zcGlsYXRpb25DaGVjaygnZXNfbmV4dCcsIGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gZmFsc2U7ICAvLyBhc3N1bWUgaXQgYWx3YXlzIG5lZWQgdG8gdHJhbnNwaWxlCiAgICB9KTsKICAgIHJldHVybiB7dGFyZ2V0OiB0cmFuc3BpbGF0aW9uVGFyZ2V0LCBtYXA6IHJlcXVpcmVzVHJhbnNwaWxhdGlvbn07CiAgfTsKCgogIC8qKgogICAqIERldGVybWluZXMgd2hldGhlciB0aGUgZ2l2ZW4gbGFuZ3VhZ2UgbmVlZHMgdG8gYmUgdHJhbnNwaWxlZC4KICAgKiBAcGFyYW0ge3N0cmluZ30gbGFuZwogICAqIEBwYXJhbSB7c3RyaW5nfHVuZGVmaW5lZH0gbW9kdWxlCiAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgKi8KICBnb29nLlRyYW5zcGlsZXIucHJvdG90eXBlLm5lZWRzVHJhbnNwaWxlID0gZnVuY3Rpb24obGFuZywgbW9kdWxlKSB7CiAgICBpZiAoZ29vZy5UUkFOU1BJTEUgPT0gJ2Fsd2F5cycpIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9IGVsc2UgaWYgKGdvb2cuVFJBTlNQSUxFID09ICduZXZlcicpIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSBlbHNlIGlmICghdGhpcy5yZXF1aXJlc1RyYW5zcGlsYXRpb25fKSB7CiAgICAgIHZhciBvYmogPSB0aGlzLmNyZWF0ZVJlcXVpcmVzVHJhbnNwaWxhdGlvbl8oKTsKICAgICAgdGhpcy5yZXF1aXJlc1RyYW5zcGlsYXRpb25fID0gb2JqLm1hcDsKICAgICAgdGhpcy50cmFuc3BpbGF0aW9uVGFyZ2V0XyA9IHRoaXMudHJhbnNwaWxhdGlvblRhcmdldF8gfHwgb2JqLnRhcmdldDsKICAgIH0KICAgIGlmIChsYW5nIGluIHRoaXMucmVxdWlyZXNUcmFuc3BpbGF0aW9uXykgewogICAgICBpZiAodGhpcy5yZXF1aXJlc1RyYW5zcGlsYXRpb25fW2xhbmddKSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0gZWxzZSBpZiAoCiAgICAgICAgICBnb29nLmluSHRtbERvY3VtZW50XygpICYmIG1vZHVsZSA9PSAnZXM2JyAmJgogICAgICAgICAgISgnbm9Nb2R1bGUnIGluIGdvb2cuZ2xvYmFsLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpKSkgewogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGxhbmd1YWdlIG1vZGU6ICcgKyBsYW5nKTsKICAgIH0KICB9OwoKCiAgLyoqCiAgICogTGF6aWx5IHJldHJpZXZlcyB0aGUgdHJhbnNwaWxlciBhbmQgYXBwbGllcyBpdCB0byB0aGUgc291cmNlLgogICAqIEBwYXJhbSB7c3RyaW5nfSBjb2RlIEpTIGNvZGUuCiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggUGF0aCB0byB0aGUgY29kZS4KICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSB0cmFuc3BpbGVkIGNvZGUuCiAgICovCiAgZ29vZy5UcmFuc3BpbGVyLnByb3RvdHlwZS50cmFuc3BpbGUgPSBmdW5jdGlvbihjb2RlLCBwYXRoKSB7CiAgICAvLyBUT0RPKGpvaG5wbGFpc3RlZCk6IFdlIHNob3VsZCBkZWxldGUgZ29vZy50cmFuc3BpbGVfIGFuZCBqdXN0IGhhdmUgdGhpcwogICAgLy8gZnVuY3Rpb24uIEJ1dCB0aGVyZSdzIHNvbWUgY29tcGlsZSBlcnJvciBhdG0gd2hlcmUgZ29vZy5nbG9iYWwgaXMgYmVpbmcKICAgIC8vIHN0cmlwcGVkIGluY29ycmVjdGx5IHdpdGhvdXQgdGhpcy4KICAgIHJldHVybiBnb29nLnRyYW5zcGlsZV8oY29kZSwgcGF0aCwgdGhpcy50cmFuc3BpbGF0aW9uVGFyZ2V0Xyk7CiAgfTsKCgogIC8qKiBAcHJpdmF0ZSBAZmluYWwgeyFnb29nLlRyYW5zcGlsZXJ9ICovCiAgZ29vZy50cmFuc3BpbGVyXyA9IG5ldyBnb29nLlRyYW5zcGlsZXIoKTsKCiAgLyoqCiAgICogUmV3cml0ZXMgY2xvc2luZyBzY3JpcHQgdGFncyBpbiBpbnB1dCB0byBhdm9pZCBlbmRpbmcgYW4gZW5jbG9zaW5nIHNjcmlwdAogICAqIHRhZy4KICAgKgogICAqIEBwYXJhbSB7c3RyaW5nfSBzdHIKICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICogQHByaXZhdGUKICAgKi8KICBnb29nLnByb3RlY3RTY3JpcHRUYWdfID0gZnVuY3Rpb24oc3RyKSB7CiAgICByZXR1cm4gc3RyLnJlcGxhY2UoLzxcLyhTQ1JJUFQpL2lnLCAnXFx4M2MvJDEnKTsKICB9OwoKCiAgLyoqCiAgICogQSBkZWJ1ZyBsb2FkZXIgaXMgcmVzcG9uc2libGUgZm9yIGRvd25sb2FkaW5nIGFuZCBleGVjdXRpbmcgamF2YXNjcmlwdAogICAqIGZpbGVzIGluIGFuIHVuYnVuZGxlZCwgdW5jb21waWxlZCBlbnZpcm9ubWVudC4KICAgKgogICAqIFRoaXMgY2FuIGJlIGN1c3RpbWl6ZWQgdmlhIHRoZSBzZXREZXBlbmRlbmN5RmFjdG9yeSBtZXRob2QsIG9yIGJ5CiAgICogQ0xPU1VSRV9JTVBPUlRfU0NSSVBUL0NMT1NVUkVfTE9BRF9GSUxFX1NZTkMuCiAgICoKICAgKiBAc3RydWN0IEBjb25zdHJ1Y3RvciBAZmluYWwgQHByaXZhdGUKICAgKi8KICBnb29nLkRlYnVnTG9hZGVyXyA9IGZ1bmN0aW9uKCkgewogICAgLyoqIEBwcml2YXRlIEBjb25zdCB7IU9iamVjdDxzdHJpbmcsICFnb29nLkRlcGVuZGVuY3k+fSAqLwogICAgdGhpcy5kZXBlbmRlbmNpZXNfID0ge307CiAgICAvKiogQHByaXZhdGUgQGNvbnN0IHshT2JqZWN0PHN0cmluZywgc3RyaW5nPn0gKi8KICAgIHRoaXMuaWRUb1BhdGhfID0ge307CiAgICAvKiogQHByaXZhdGUgQGNvbnN0IHshT2JqZWN0PHN0cmluZywgYm9vbGVhbj59ICovCiAgICB0aGlzLndyaXR0ZW5fID0ge307CiAgICAvKiogQHByaXZhdGUgQGNvbnN0IHshQXJyYXk8IWdvb2cuRGVwZW5kZW5jeT59ICovCiAgICB0aGlzLmxvYWRpbmdEZXBzXyA9IFtdOwogICAgLyoqIEBwcml2YXRlIHshQXJyYXk8IWdvb2cuRGVwZW5kZW5jeT59ICovCiAgICB0aGlzLmRlcHNUb0xvYWRfID0gW107CiAgICAvKiogQHByaXZhdGUge2Jvb2xlYW59ICovCiAgICB0aGlzLnBhdXNlZF8gPSBmYWxzZTsKICAgIC8qKiBAcHJpdmF0ZSB7IWdvb2cuRGVwZW5kZW5jeUZhY3Rvcnl9ICovCiAgICB0aGlzLmZhY3RvcnlfID0gbmV3IGdvb2cuRGVwZW5kZW5jeUZhY3RvcnkoZ29vZy50cmFuc3BpbGVyXyk7CiAgICAvKiogQHByaXZhdGUgQGNvbnN0IHshT2JqZWN0PHN0cmluZywgIUZ1bmN0aW9uPn0gKi8KICAgIHRoaXMuZGVmZXJyZWRDYWxsYmFja3NfID0ge307CiAgICAvKiogQHByaXZhdGUgQGNvbnN0IHshQXJyYXk8c3RyaW5nPn0gKi8KICAgIHRoaXMuZGVmZXJyZWRRdWV1ZV8gPSBbXTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSBuYW1lc3BhY2VzCiAgICogQHBhcmFtIHtmdW5jdGlvbigpOiB1bmRlZmluZWR9IGNhbGxiYWNrIEZ1bmN0aW9uIHRvIGNhbGwgb25jZSBhbGwgdGhlCiAgICogICAgIG5hbWVzcGFjZXMgaGF2ZSBsb2FkZWQuCiAgICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLmJvb3RzdHJhcCA9IGZ1bmN0aW9uKG5hbWVzcGFjZXMsIGNhbGxiYWNrKSB7CiAgICB2YXIgY2IgPSBjYWxsYmFjazsKICAgIGZ1bmN0aW9uIHJlc29sdmUoKSB7CiAgICAgIGlmIChjYikgewogICAgICAgIGdvb2cuZ2xvYmFsLnNldFRpbWVvdXQoY2IsIDApOwogICAgICAgIGNiID0gbnVsbDsKICAgICAgfQogICAgfQoKICAgIGlmICghbmFtZXNwYWNlcy5sZW5ndGgpIHsKICAgICAgcmVzb2x2ZSgpOwogICAgICByZXR1cm47CiAgICB9CgogICAgdmFyIGRlcHMgPSBbXTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbmFtZXNwYWNlcy5sZW5ndGg7IGkrKykgewogICAgICB2YXIgcGF0aCA9IHRoaXMuZ2V0UGF0aEZyb21EZXBzXyhuYW1lc3BhY2VzW2ldKTsKICAgICAgaWYgKCFwYXRoKSB7CiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnJlZ29uaXplZCBuYW1lc3BhY2U6ICcgKyBuYW1lc3BhY2VzW2ldKTsKICAgICAgfQogICAgICBkZXBzLnB1c2godGhpcy5kZXBlbmRlbmNpZXNfW3BhdGhdKTsKICAgIH0KCiAgICB2YXIgcmVxdWlyZSA9IGdvb2cucmVxdWlyZTsKICAgIHZhciBsb2FkZWQgPSAwOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuYW1lc3BhY2VzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHJlcXVpcmUobmFtZXNwYWNlc1tpXSk7CiAgICAgIGRlcHNbaV0ub25Mb2FkKGZ1bmN0aW9uKCkgewogICAgICAgIGlmICgrK2xvYWRlZCA9PSBuYW1lc3BhY2VzLmxlbmd0aCkgewogICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgfTsKCgogIC8qKgogICAqIExvYWRzIHRoZSBDbG9zdXJlIERlcGVuZGVuY3kgZmlsZS4KICAgKgogICAqIEV4cG9zZWQgYSBwdWJsaWMgZnVuY3Rpb24gc28gQ0xPU1VSRV9OT19ERVBTIGNhbiBiZSBzZXQgdG8gZmFsc2UsIGJhc2UKICAgKiBsb2FkZWQsIHNldERlcGVuZGVuY3lGYWN0b3J5IGNhbGxlZCwgYW5kIHRoZW4gdGhpcyBjYWxsZWQuIGkuZS4gYWxsb3dzCiAgICogY3VzdG9tIGxvYWRpbmcgb2YgdGhlIGRlcHMgZmlsZS4KICAgKi8KICBnb29nLkRlYnVnTG9hZGVyXy5wcm90b3R5cGUubG9hZENsb3N1cmVEZXBzID0gZnVuY3Rpb24oKSB7CiAgICAvLyBDaXJjdW12ZW50IGFkZERlcGVuZGVuY3ksIHdoaWNoIHdvdWxkIHRyeSB0byB0cmFuc3BpbGUgZGVwcy5qcyBpZgogICAgLy8gdHJhbnNwaWxlIGlzIHNldCB0byBhbHdheXMuCiAgICB2YXIgcmVsUGF0aCA9ICdkZXBzLmpzJzsKICAgIHRoaXMuZGVwc1RvTG9hZF8ucHVzaCh0aGlzLmZhY3RvcnlfLmNyZWF0ZURlcGVuZGVuY3koCiAgICAgICAgZ29vZy5ub3JtYWxpemVQYXRoXyhnb29nLmJhc2VQYXRoICsgcmVsUGF0aCksIHJlbFBhdGgsIFtdLCBbXSwge30sCiAgICAgICAgZmFsc2UpKTsKICAgIHRoaXMubG9hZERlcHNfKCk7CiAgfTsKCgogIC8qKgogICAqIE5vdGlmaWVzIHRoZSBkZWJ1ZyBsb2FkZXIgd2hlbiBhIGRlcGVuZGVuY3kgaGFzIGJlZW4gcmVxdWVzdGVkLgogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IGFic1BhdGhPcklkIFBhdGggb2YgdGhlIGRlcGVuZGVuY3kgb3IgZ29vZyBpZC4KICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBvcHRfZm9yY2UKICAgKi8KICBnb29nLkRlYnVnTG9hZGVyXy5wcm90b3R5cGUucmVxdWVzdGVkID0gZnVuY3Rpb24oYWJzUGF0aE9ySWQsIG9wdF9mb3JjZSkgewogICAgdmFyIHBhdGggPSB0aGlzLmdldFBhdGhGcm9tRGVwc18oYWJzUGF0aE9ySWQpOwogICAgaWYgKHBhdGggJiYKICAgICAgICAob3B0X2ZvcmNlIHx8IHRoaXMuYXJlRGVwc0xvYWRlZF8odGhpcy5kZXBlbmRlbmNpZXNfW3BhdGhdLnJlcXVpcmVzKSkpIHsKICAgICAgdmFyIGNhbGxiYWNrID0gdGhpcy5kZWZlcnJlZENhbGxiYWNrc19bcGF0aF07CiAgICAgIGlmIChjYWxsYmFjaykgewogICAgICAgIGRlbGV0ZSB0aGlzLmRlZmVycmVkQ2FsbGJhY2tzX1twYXRoXTsKICAgICAgICBjYWxsYmFjaygpOwogICAgICB9CiAgICB9CiAgfTsKCgogIC8qKgogICAqIFNldHMgdGhlIGRlcGVuZGVuY3kgZmFjdG9yeSwgd2hpY2ggY2FuIGJlIHVzZWQgdG8gY3JlYXRlIGN1c3RvbQogICAqIGdvb2cuRGVwZW5kZW5jeSBpbXBsZW1lbnRhdGlvbnMgdG8gY29udHJvbCBob3cgZGVwZW5kZW5jaWVzIGFyZSBsb2FkZWQuCiAgICoKICAgKiBAcGFyYW0geyFnb29nLkRlcGVuZGVuY3lGYWN0b3J5fSBmYWN0b3J5CiAgICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLnNldERlcGVuZGVuY3lGYWN0b3J5ID0gZnVuY3Rpb24oZmFjdG9yeSkgewogICAgdGhpcy5mYWN0b3J5XyA9IGZhY3Rvcnk7CiAgfTsKCgogIC8qKgogICAqIFRyYXZzZXJzZXMgdGhlIGRlcGVuZGVuY3kgZ3JhcGggYW5kIHF1ZXVlcyB0aGUgZ2l2ZW4gZGVwZW5kZW5jeSwgYW5kIGFsbCBvZgogICAqIGl0cyB0cmFuc2l0aXZlIGRlcGVuZGVuY2llcywgZm9yIGxvYWRpbmcgYW5kIHRoZW4gc3RhcnRzIGxvYWRpbmcgaWYgbm90CiAgICogcGF1c2VkLgogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVzcGFjZQogICAqIEBwcml2YXRlCiAgICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLmxvYWRfID0gZnVuY3Rpb24obmFtZXNwYWNlKSB7CiAgICBpZiAoIXRoaXMuZ2V0UGF0aEZyb21EZXBzXyhuYW1lc3BhY2UpKSB7CiAgICAgIHZhciBlcnJvck1lc3NhZ2UgPSAnZ29vZy5yZXF1aXJlIGNvdWxkIG5vdCBmaW5kOiAnICsgbmFtZXNwYWNlOwoKICAgICAgZ29vZy5sb2dUb0NvbnNvbGVfKGVycm9yTWVzc2FnZSk7CiAgICAgIHRocm93IEVycm9yKGVycm9yTWVzc2FnZSk7CiAgICB9IGVsc2UgewogICAgICB2YXIgbG9hZGVyID0gdGhpczsKCiAgICAgIHZhciBkZXBzID0gW107CgogICAgICAvKiogQHBhcmFtIHtzdHJpbmd9IG5hbWVzcGFjZSAqLwogICAgICB2YXIgdmlzaXQgPSBmdW5jdGlvbihuYW1lc3BhY2UpIHsKICAgICAgICB2YXIgcGF0aCA9IGxvYWRlci5nZXRQYXRoRnJvbURlcHNfKG5hbWVzcGFjZSk7CgogICAgICAgIGlmICghcGF0aCkgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdCYWQgZGVwZW5kZW5jeSBwYXRoIG9yIHN5bWJvbDogJyArIG5hbWVzcGFjZSk7CiAgICAgICAgfQoKICAgICAgICBpZiAobG9hZGVyLndyaXR0ZW5fW3BhdGhdKSB7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBsb2FkZXIud3JpdHRlbl9bcGF0aF0gPSB0cnVlOwoKICAgICAgICB2YXIgZGVwID0gbG9hZGVyLmRlcGVuZGVuY2llc19bcGF0aF07CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkZXAucmVxdWlyZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGlmICghZ29vZy5pc1Byb3ZpZGVkXyhkZXAucmVxdWlyZXNbaV0pKSB7CiAgICAgICAgICAgIHZpc2l0KGRlcC5yZXF1aXJlc1tpXSk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBkZXBzLnB1c2goZGVwKTsKICAgICAgfTsKCiAgICAgIHZpc2l0KG5hbWVzcGFjZSk7CgogICAgICB2YXIgd2FzTG9hZGluZyA9ICEhdGhpcy5kZXBzVG9Mb2FkXy5sZW5ndGg7CiAgICAgIHRoaXMuZGVwc1RvTG9hZF8gPSB0aGlzLmRlcHNUb0xvYWRfLmNvbmNhdChkZXBzKTsKCiAgICAgIGlmICghdGhpcy5wYXVzZWRfICYmICF3YXNMb2FkaW5nKSB7CiAgICAgICAgdGhpcy5sb2FkRGVwc18oKTsKICAgICAgfQogICAgfQogIH07CgoKICAvKioKICAgKiBMb2FkcyBhbnkgcXVldWVkIGRlcGVuZGVuY2llcyB1bnRpbCB0aGV5IGFyZSBhbGwgbG9hZGVkIG9yIHBhdXNlZC4KICAgKgogICAqIEBwcml2YXRlCiAgICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLmxvYWREZXBzXyA9IGZ1bmN0aW9uKCkgewogICAgdmFyIGxvYWRlciA9IHRoaXM7CiAgICB2YXIgcGF1c2VkID0gdGhpcy5wYXVzZWRfOwoKICAgIHdoaWxlICh0aGlzLmRlcHNUb0xvYWRfLmxlbmd0aCAmJiAhcGF1c2VkKSB7CiAgICAgIChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgbG9hZENhbGxEb25lID0gZmFsc2U7CiAgICAgICAgdmFyIGRlcCA9IGxvYWRlci5kZXBzVG9Mb2FkXy5zaGlmdCgpOwoKICAgICAgICB2YXIgbG9hZGVkID0gZmFsc2U7CiAgICAgICAgbG9hZGVyLmxvYWRpbmdfKGRlcCk7CgogICAgICAgIHZhciBjb250cm9sbGVyID0gewogICAgICAgICAgcGF1c2U6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBpZiAobG9hZENhbGxEb25lKSB7CiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgY2FsbCBwYXVzZSBhZnRlciB0aGUgY2FsbCB0byBsb2FkLicpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHBhdXNlZCA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICByZXN1bWU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBpZiAobG9hZENhbGxEb25lKSB7CiAgICAgICAgICAgICAgbG9hZGVyLnJlc3VtZV8oKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAvLyBTb21lIGRlcCBjYWxsZWQgcGF1c2UgYW5kIHRoZW4gcmVzdW1lIGluIHRoZSBzYW1lIGxvYWQgY2FsbC4KICAgICAgICAgICAgICAvLyBKdXN0IGtlZXAgcnVubmluZyB0aGlzIHNhbWUgbG9vcC4KICAgICAgICAgICAgICBwYXVzZWQgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIGxvYWRlZDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmIChsb2FkZWQpIHsKICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RvdWJsZSBjYWxsIHRvIGxvYWRlZC4nKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbG9hZGVkID0gdHJ1ZTsKICAgICAgICAgICAgbG9hZGVyLmxvYWRlZF8oZGVwKTsKICAgICAgICAgIH0sCiAgICAgICAgICBwZW5kaW5nOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgLy8gRGVmZW5zaXZlIGNvcHkuCiAgICAgICAgICAgIHZhciBwZW5kaW5nID0gW107CiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbG9hZGVyLmxvYWRpbmdEZXBzXy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgIHBlbmRpbmcucHVzaChsb2FkZXIubG9hZGluZ0RlcHNfW2ldKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gcGVuZGluZzsKICAgICAgICAgIH0sCiAgICAgICAgICAvKioKICAgICAgICAgICAqIEBwYXJhbSB7Z29vZy5Nb2R1bGVUeXBlfSB0eXBlCiAgICAgICAgICAgKi8KICAgICAgICAgIHNldE1vZHVsZVN0YXRlOiBmdW5jdGlvbih0eXBlKSB7CiAgICAgICAgICAgIGdvb2cubW9kdWxlTG9hZGVyU3RhdGVfID0gewogICAgICAgICAgICAgIHR5cGU6IHR5cGUsCiAgICAgICAgICAgICAgbW9kdWxlTmFtZTogJycsCiAgICAgICAgICAgICAgZGVjbGFyZUxlZ2FjeU5hbWVzcGFjZTogZmFsc2UKICAgICAgICAgICAgfTsKICAgICAgICAgIH0sCiAgICAgICAgICAvKiogQHR5cGUge2Z1bmN0aW9uKHN0cmluZywgc3RyaW5nLCBzdHJpbmc9KX0gKi8KICAgICAgICAgIHJlZ2lzdGVyRXM2TW9kdWxlRXhwb3J0czogZnVuY3Rpb24oCiAgICAgICAgICAgICAgcGF0aCwgZXhwb3J0cywgb3B0X2Nsb3N1cmVOYW1lc3BhY2UpIHsKICAgICAgICAgICAgaWYgKG9wdF9jbG9zdXJlTmFtZXNwYWNlKSB7CiAgICAgICAgICAgICAgZ29vZy5sb2FkZWRNb2R1bGVzX1tvcHRfY2xvc3VyZU5hbWVzcGFjZV0gPSB7CiAgICAgICAgICAgICAgICBleHBvcnRzOiBleHBvcnRzLAogICAgICAgICAgICAgICAgdHlwZTogZ29vZy5Nb2R1bGVUeXBlLkVTNiwKICAgICAgICAgICAgICAgIG1vZHVsZUlkOiBvcHRfY2xvc3VyZU5hbWVzcGFjZSB8fCAnJwogICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAvKiogQHR5cGUge2Z1bmN0aW9uKHN0cmluZywgPyl9ICovCiAgICAgICAgICByZWdpc3Rlckdvb2dNb2R1bGVFeHBvcnRzOiBmdW5jdGlvbihtb2R1bGVJZCwgZXhwb3J0cykgewogICAgICAgICAgICBnb29nLmxvYWRlZE1vZHVsZXNfW21vZHVsZUlkXSA9IHsKICAgICAgICAgICAgICBleHBvcnRzOiBleHBvcnRzLAogICAgICAgICAgICAgIHR5cGU6IGdvb2cuTW9kdWxlVHlwZS5HT09HLAogICAgICAgICAgICAgIG1vZHVsZUlkOiBtb2R1bGVJZAogICAgICAgICAgICB9OwogICAgICAgICAgfSwKICAgICAgICAgIGNsZWFyTW9kdWxlU3RhdGU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBnb29nLm1vZHVsZUxvYWRlclN0YXRlXyA9IG51bGw7CiAgICAgICAgICB9LAogICAgICAgICAgZGVmZXI6IGZ1bmN0aW9uKGNhbGxiYWNrKSB7CiAgICAgICAgICAgIGlmIChsb2FkQ2FsbERvbmUpIHsKICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoCiAgICAgICAgICAgICAgICAgICdDYW5ub3QgcmVnaXN0ZXIgd2l0aCBkZWZlciBhZnRlciB0aGUgY2FsbCB0byBsb2FkLicpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvYWRlci5kZWZlcl8oZGVwLCBjYWxsYmFjayk7CiAgICAgICAgICB9LAogICAgICAgICAgYXJlRGVwc0xvYWRlZDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiBsb2FkZXIuYXJlRGVwc0xvYWRlZF8oZGVwLnJlcXVpcmVzKTsKICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB0cnkgewogICAgICAgICAgZGVwLmxvYWQoY29udHJvbGxlcik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgIGxvYWRDYWxsRG9uZSA9IHRydWU7CiAgICAgICAgfQogICAgICB9KSgpOwogICAgfQoKICAgIGlmIChwYXVzZWQpIHsKICAgICAgdGhpcy5wYXVzZV8oKTsKICAgIH0KICB9OwoKCiAgLyoqIEBwcml2YXRlICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLnBhdXNlXyA9IGZ1bmN0aW9uKCkgewogICAgdGhpcy5wYXVzZWRfID0gdHJ1ZTsKICB9OwoKCiAgLyoqIEBwcml2YXRlICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLnJlc3VtZV8gPSBmdW5jdGlvbigpIHsKICAgIGlmICh0aGlzLnBhdXNlZF8pIHsKICAgICAgdGhpcy5wYXVzZWRfID0gZmFsc2U7CiAgICAgIHRoaXMubG9hZERlcHNfKCk7CiAgICB9CiAgfTsKCgogIC8qKgogICAqIE1hcmtzIHRoZSBnaXZlbiBkZXBlbmRlbmN5IGFzIGxvYWRpbmcgKGxvYWQgaGFzIGJlZW4gY2FsbGVkIGJ1dCBpdCBoYXMgbm90CiAgICogeWV0IG1hcmtlZCBpdHNlbGYgYXMgZmluaXNoZWQpLiBVc2VmdWwgZm9yIGRlcGVuZGVuY2llcyB0aGF0IHdhbnQgdG8ga25vdwogICAqIHdoYXQgZWxzZSBpcyBsb2FkaW5nLiBFeGFtcGxlOiBnb29nLm1vZHVsZXMgY2Fubm90IGV2YWwgaWYgdGhlcmUgYXJlCiAgICogbG9hZGluZyBkZXBlbmRlbmNpZXMuCiAgICoKICAgKiBAcGFyYW0geyFnb29nLkRlcGVuZGVuY3l9IGRlcAogICAqIEBwcml2YXRlCiAgICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLmxvYWRpbmdfID0gZnVuY3Rpb24oZGVwKSB7CiAgICB0aGlzLmxvYWRpbmdEZXBzXy5wdXNoKGRlcCk7CiAgfTsKCgogIC8qKgogICAqIE1hcmtzIHRoZSBnaXZlbiBkZXBlbmRlbmN5IGFzIGhhdmluZyBmaW5pc2hlZCBsb2FkaW5nIGFuZCBiZWluZyBhdmFpbGFibGUKICAgKiBmb3IgcmVxdWlyZS4KICAgKgogICAqIEBwYXJhbSB7IWdvb2cuRGVwZW5kZW5jeX0gZGVwCiAgICogQHByaXZhdGUKICAgKi8KICBnb29nLkRlYnVnTG9hZGVyXy5wcm90b3R5cGUubG9hZGVkXyA9IGZ1bmN0aW9uKGRlcCkgewogICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxvYWRpbmdEZXBzXy5sZW5ndGg7IGkrKykgewogICAgICBpZiAodGhpcy5sb2FkaW5nRGVwc19baV0gPT0gZGVwKSB7CiAgICAgICAgdGhpcy5sb2FkaW5nRGVwc18uc3BsaWNlKGksIDEpOwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICB9CgogICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmRlZmVycmVkUXVldWVfLmxlbmd0aDsgaSsrKSB7CiAgICAgIGlmICh0aGlzLmRlZmVycmVkUXVldWVfW2ldID09IGRlcC5wYXRoKSB7CiAgICAgICAgdGhpcy5kZWZlcnJlZFF1ZXVlXy5zcGxpY2UoaSwgMSk7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0KCiAgICBpZiAodGhpcy5sb2FkaW5nRGVwc18ubGVuZ3RoID09IHRoaXMuZGVmZXJyZWRRdWV1ZV8ubGVuZ3RoICYmCiAgICAgICAgIXRoaXMuZGVwc1RvTG9hZF8ubGVuZ3RoKSB7CiAgICAgIC8vIFNvbWV0aGluZyBoYXMgYXNrZWQgdG8gbG9hZCB0aGVzZSwgYnV0IHRoZXkgbWF5IG5vdCBiZSBkaXJlY3RseQogICAgICAvLyByZXF1aXJlZCBhZ2FpbiBsYXRlciwgc28gbG9hZCB0aGVtIG5vdyB0aGF0IHdlIGtub3cgd2UncmUgZG9uZSBsb2FkaW5nCiAgICAgIC8vIGV2ZXJ5dGhpbmcgZWxzZS4gZS5nLiBhIGdvb2cgbW9kdWxlIGVudHJ5IHBvaW50LgogICAgICB3aGlsZSAodGhpcy5kZWZlcnJlZFF1ZXVlXy5sZW5ndGgpIHsKICAgICAgICB0aGlzLnJlcXVlc3RlZCh0aGlzLmRlZmVycmVkUXVldWVfLnNoaWZ0KCksIHRydWUpOwogICAgICB9CiAgICB9CgogICAgZGVwLmxvYWRlZCgpOwogIH07CgoKICAvKioKICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSBwYXRoc09ySWRzCiAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgKiBAcHJpdmF0ZQogICAqLwogIGdvb2cuRGVidWdMb2FkZXJfLnByb3RvdHlwZS5hcmVEZXBzTG9hZGVkXyA9IGZ1bmN0aW9uKHBhdGhzT3JJZHMpIHsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGF0aHNPcklkcy5sZW5ndGg7IGkrKykgewogICAgICB2YXIgcGF0aCA9IHRoaXMuZ2V0UGF0aEZyb21EZXBzXyhwYXRoc09ySWRzW2ldKTsKICAgICAgaWYgKCFwYXRoIHx8CiAgICAgICAgICAoIShwYXRoIGluIHRoaXMuZGVmZXJyZWRDYWxsYmFja3NfKSAmJgogICAgICAgICAgICFnb29nLmlzUHJvdmlkZWRfKHBhdGhzT3JJZHNbaV0pKSkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgfQoKICAgIHJldHVybiB0cnVlOwogIH07CgoKICAvKioKICAgKiBAcGFyYW0ge3N0cmluZ30gYWJzUGF0aE9ySWQKICAgKiBAcmV0dXJuIHs/c3RyaW5nfQogICAqIEBwcml2YXRlCiAgICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLmdldFBhdGhGcm9tRGVwc18gPSBmdW5jdGlvbihhYnNQYXRoT3JJZCkgewogICAgaWYgKGFic1BhdGhPcklkIGluIHRoaXMuaWRUb1BhdGhfKSB7CiAgICAgIHJldHVybiB0aGlzLmlkVG9QYXRoX1thYnNQYXRoT3JJZF07CiAgICB9IGVsc2UgaWYgKGFic1BhdGhPcklkIGluIHRoaXMuZGVwZW5kZW5jaWVzXykgewogICAgICByZXR1cm4gYWJzUGF0aE9ySWQ7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gbnVsbDsKICAgIH0KICB9OwoKCiAgLyoqCiAgICogQHBhcmFtIHshZ29vZy5EZXBlbmRlbmN5fSBkZXBlbmRlbmN5CiAgICogQHBhcmFtIHshRnVuY3Rpb259IGNhbGxiYWNrCiAgICogQHByaXZhdGUKICAgKi8KICBnb29nLkRlYnVnTG9hZGVyXy5wcm90b3R5cGUuZGVmZXJfID0gZnVuY3Rpb24oZGVwZW5kZW5jeSwgY2FsbGJhY2spIHsKICAgIHRoaXMuZGVmZXJyZWRDYWxsYmFja3NfW2RlcGVuZGVuY3kucGF0aF0gPSBjYWxsYmFjazsKICAgIHRoaXMuZGVmZXJyZWRRdWV1ZV8ucHVzaChkZXBlbmRlbmN5LnBhdGgpOwogIH07CgoKICAvKioKICAgKiBJbnRlcmZhY2UgZm9yIGdvb2cuRGVwZW5kZW5jeSBpbXBsZW1lbnRhdGlvbnMgdG8gaGF2ZSBzb21lIGNvbnRyb2wgb3ZlcgogICAqIGxvYWRpbmcgb2YgZGVwZW5kZW5jaWVzLgogICAqCiAgICogQHJlY29yZAogICAqLwogIGdvb2cuTG9hZENvbnRyb2xsZXIgPSBmdW5jdGlvbigpIHt9OwoKCiAgLyoqCiAgICogVGVsbHMgdGhlIGNvbnRyb2xsZXIgdG8gaGFsdCBsb2FkaW5nIG9mIG1vcmUgZGVwZW5kZW5jaWVzLgogICAqLwogIGdvb2cuTG9hZENvbnRyb2xsZXIucHJvdG90eXBlLnBhdXNlID0gZnVuY3Rpb24oKSB7fTsKCgogIC8qKgogICAqIFRlbGxzIHRoZSBjb250cm9sbGVyIHRvIHJlc3VtZSBsb2FkaW5nIG9mIG1vcmUgZGVwZW5kZW5jaWVzIGlmIHBhdXNlZC4KICAgKi8KICBnb29nLkxvYWRDb250cm9sbGVyLnByb3RvdHlwZS5yZXN1bWUgPSBmdW5jdGlvbigpIHt9OwoKCiAgLyoqCiAgICogVGVsbHMgdGhlIGNvbnRyb2xsZXIgdGhhdCB0aGlzIGRlcGVuZGVuY3kgaGFzIGZpbmlzaGVkIGxvYWRpbmcuCiAgICoKICAgKiBUaGlzIGNhdXNlcyB0aGlzIHRvIGJlIHJlbW92ZWQgZnJvbSBwZW5kaW5nKCkgYW5kIGFueSBsb2FkIGNhbGxiYWNrcyB0bwogICAqIGZpcmUuCiAgICovCiAgZ29vZy5Mb2FkQ29udHJvbGxlci5wcm90b3R5cGUubG9hZGVkID0gZnVuY3Rpb24oKSB7fTsKCgogIC8qKgogICAqIExpc3Qgb2YgZGVwZW5kZW5jaWVzIG9uIHdoaWNoIGxvYWQgaGFzIGJlZW4gY2FsbGVkIGJ1dCB3aGljaCBoYXZlIG5vdAogICAqIGNhbGxlZCBsb2FkZWQgb24gdGhlaXIgY29udHJvbGxlci4gVGhpcyBpbmNsdWRlcyB0aGUgY3VycmVudCBkZXBlbmRlbmN5LgogICAqCiAgICogQHJldHVybiB7IUFycmF5PCFnb29nLkRlcGVuZGVuY3k+fQogICAqLwogIGdvb2cuTG9hZENvbnRyb2xsZXIucHJvdG90eXBlLnBlbmRpbmcgPSBmdW5jdGlvbigpIHt9OwoKCiAgLyoqCiAgICogUmVnaXN0ZXJzIGFuIG9iamVjdCBhcyBhbiBFUzYgbW9kdWxlJ3MgZXhwb3J0cyBzbyB0aGF0IGdvb2cubW9kdWxlcyBtYXkKICAgKiByZXF1aXJlIGl0IGJ5IHBhdGguCiAgICoKICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBGdWxsIHBhdGggb2YgdGhlIG1vZHVsZS4KICAgKiBAcGFyYW0gez99IGV4cG9ydHMKICAgKiBAcGFyYW0ge3N0cmluZz19IG9wdF9jbG9zdXJlTmFtZXNwYWNlIENsb3N1cmUgbmFtZXNwYWNlIHRvIGFzc29jaWF0ZSB3aXRoCiAgICogICAgIHRoaXMgbW9kdWxlLgogICAqLwogIGdvb2cuTG9hZENvbnRyb2xsZXIucHJvdG90eXBlLnJlZ2lzdGVyRXM2TW9kdWxlRXhwb3J0cyA9IGZ1bmN0aW9uKAogICAgICBwYXRoLCBleHBvcnRzLCBvcHRfY2xvc3VyZU5hbWVzcGFjZSkge307CgoKICAvKioKICAgKiBTZXRzIHRoZSBjdXJyZW50IG1vZHVsZSBzdGF0ZS4KICAgKgogICAqIEBwYXJhbSB7Z29vZy5Nb2R1bGVUeXBlfSB0eXBlIFR5cGUgb2YgbW9kdWxlLgogICAqLwogIGdvb2cuTG9hZENvbnRyb2xsZXIucHJvdG90eXBlLnNldE1vZHVsZVN0YXRlID0gZnVuY3Rpb24odHlwZSkge307CgoKICAvKioKICAgKiBDbGVhcnMgdGhlIGN1cnJlbnQgbW9kdWxlIHN0YXRlLgogICAqLwogIGdvb2cuTG9hZENvbnRyb2xsZXIucHJvdG90eXBlLmNsZWFyTW9kdWxlU3RhdGUgPSBmdW5jdGlvbigpIHt9OwoKCiAgLyoqCiAgICogUmVnaXN0ZXJzIGEgY2FsbGJhY2sgdG8gY2FsbCBvbmNlIHRoZSBkZXBlbmRlbmN5IGlzIGFjdHVhbGx5IHJlcXVlc3RlZAogICAqIHZpYSBnb29nLnJlcXVpcmUgKyBhbGwgb2YgdGhlIGltbWVkaWF0ZSBkZXBlbmRlbmNpZXMgaGF2ZSBiZWVuIGxvYWRlZCBvcgogICAqIGFsbCBvdGhlciBmaWxlcyBoYXZlIGJlZW4gbG9hZGVkLiBBbGxvd3MgZm9yIGxhenkgbG9hZGluZyB1bnRpbAogICAqIHJlcXVpcmUnZCB3aXRob3V0IHBhdXNpbmcgZGVwZW5kZW5jeSBsb2FkaW5nLCB3aGljaCBpcyBuZWVkZWQgb24gb2xkIElFLgogICAqCiAgICogQHBhcmFtIHshRnVuY3Rpb259IGNhbGxiYWNrCiAgICovCiAgZ29vZy5Mb2FkQ29udHJvbGxlci5wcm90b3R5cGUuZGVmZXIgPSBmdW5jdGlvbihjYWxsYmFjaykge307CgoKICAvKioKICAgKiBAcmV0dXJuIHtib29sZWFufQogICAqLwogIGdvb2cuTG9hZENvbnRyb2xsZXIucHJvdG90eXBlLmFyZURlcHNMb2FkZWQgPSBmdW5jdGlvbigpIHt9OwoKCiAgLyoqCiAgICogQmFzaWMgc3VwZXIgY2xhc3MgZm9yIGFsbCBkZXBlbmRlbmNpZXMgQ2xvc3VyZSBMaWJyYXJ5IGNhbiBsb2FkLgogICAqCiAgICogVGhpcyBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGlzIGRlc2lnbmVkIHRvIGxvYWQgdW50cmFuc3BpbGVkLCBub24tbW9kdWxlCiAgICogc2NyaXB0cyBpbiBhIHdlYiBicm9zd2VyLgogICAqCiAgICogRm9yIHRyYW5zcGlsZWQgbm9uLWdvb2cubW9kdWxlIGZpbGVzIHtAc2VlIGdvb2cuVHJhbnNwaWxlZERlcGVuZGVuY3l9LgogICAqIEZvciBnb29nLm1vZHVsZXMgc2VlIHtAc2VlIGdvb2cuR29vZ01vZHVsZURlcGVuZGVuY3l9LgogICAqIEZvciB1bnRyYW5zcGlsZWQgRVM2IG1vZHVsZXMge0BzZWUgZ29vZy5FczZNb2R1bGVEZXBlbmRlbmN5fS4KICAgKgogICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIEFic29sdXRlIHBhdGggb2YgdGhpcyBzY3JpcHQuCiAgICogQHBhcmFtIHtzdHJpbmd9IHJlbGF0aXZlUGF0aCBQYXRoIG9mIHRoaXMgc2NyaXB0IHJlbGF0aXZlIHRvIGdvb2cuYmFzZVBhdGguCiAgICogQHBhcmFtIHshQXJyYXk8c3RyaW5nPn0gcHJvdmlkZXMgZ29vZy5wcm92aWRlZCBvciBnb29nLm1vZHVsZSBzeW1ib2xzCiAgICogICAgIGluIHRoaXMgZmlsZS4KICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSByZXF1aXJlcyBnb29nIHN5bWJvbHMgb3IgcmVsYXRpdmUgcGF0aHMgdG8gQ2xvc3VyZQogICAqICAgICB0aGlzIGRlcGVuZHMgb24uCiAgICogQHBhcmFtIHshT2JqZWN0PHN0cmluZywgc3RyaW5nPn0gbG9hZEZsYWdzCiAgICogQHN0cnVjdCBAY29uc3RydWN0b3IKICAgKi8KICBnb29nLkRlcGVuZGVuY3kgPSBmdW5jdGlvbigKICAgICAgcGF0aCwgcmVsYXRpdmVQYXRoLCBwcm92aWRlcywgcmVxdWlyZXMsIGxvYWRGbGFncykgewogICAgLyoqIEBjb25zdCAqLwogICAgdGhpcy5wYXRoID0gcGF0aDsKICAgIC8qKiBAY29uc3QgKi8KICAgIHRoaXMucmVsYXRpdmVQYXRoID0gcmVsYXRpdmVQYXRoOwogICAgLyoqIEBjb25zdCAqLwogICAgdGhpcy5wcm92aWRlcyA9IHByb3ZpZGVzOwogICAgLyoqIEBjb25zdCAqLwogICAgdGhpcy5yZXF1aXJlcyA9IHJlcXVpcmVzOwogICAgLyoqIEBjb25zdCAqLwogICAgdGhpcy5sb2FkRmxhZ3MgPSBsb2FkRmxhZ3M7CiAgICAvKiogQHByaXZhdGUge2Jvb2xlYW59ICovCiAgICB0aGlzLmxvYWRlZF8gPSBmYWxzZTsKICAgIC8qKiBAcHJpdmF0ZSB7IUFycmF5PGZ1bmN0aW9uKCk+fSAqLwogICAgdGhpcy5sb2FkQ2FsbGJhY2tzXyA9IFtdOwogIH07CgoKICAvKioKICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBwYXRobmFtZSBwYXJ0IG9mIHRoaXMgZGVwZW5kZW5jeSdzIHBhdGggaWYgaXQgaXMgYQogICAqICAgICBVUkkuCiAgICovCiAgZ29vZy5EZXBlbmRlbmN5LnByb3RvdHlwZS5nZXRQYXRoTmFtZSA9IGZ1bmN0aW9uKCkgewogICAgdmFyIHBhdGhOYW1lID0gdGhpcy5wYXRoOwogICAgdmFyIHByb3RvY29sSW5kZXggPSBwYXRoTmFtZS5pbmRleE9mKCc6Ly8nKTsKICAgIGlmIChwcm90b2NvbEluZGV4ID49IDApIHsKICAgICAgcGF0aE5hbWUgPSBwYXRoTmFtZS5zdWJzdHJpbmcocHJvdG9jb2xJbmRleCArIDMpOwogICAgICB2YXIgc2xhc2hJbmRleCA9IHBhdGhOYW1lLmluZGV4T2YoJy8nKTsKICAgICAgaWYgKHNsYXNoSW5kZXggPj0gMCkgewogICAgICAgIHBhdGhOYW1lID0gcGF0aE5hbWUuc3Vic3RyaW5nKHNsYXNoSW5kZXggKyAxKTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHBhdGhOYW1lOwogIH07CgoKICAvKioKICAgKiBAcGFyYW0ge2Z1bmN0aW9uKCl9IGNhbGxiYWNrIENhbGxiYWNrIHRvIGZpcmUgYXMgc29vbiBhcyB0aGlzIGhhcyBsb2FkZWQuCiAgICogQGZpbmFsCiAgICovCiAgZ29vZy5EZXBlbmRlbmN5LnByb3RvdHlwZS5vbkxvYWQgPSBmdW5jdGlvbihjYWxsYmFjaykgewogICAgaWYgKHRoaXMubG9hZGVkXykgewogICAgICBjYWxsYmFjaygpOwogICAgfSBlbHNlIHsKICAgICAgdGhpcy5sb2FkQ2FsbGJhY2tzXy5wdXNoKGNhbGxiYWNrKTsKICAgIH0KICB9OwoKCiAgLyoqCiAgICogTWFya3MgdGhpcyBkZXBlbmRlbmN5IGFzIGxvYWRlZCBhbmQgZmlyZXMgYW55IGNhbGxiYWNrcyByZWdpc3RlcmVkIHdpdGgKICAgKiBvbkxvYWQuCiAgICogQGZpbmFsCiAgICovCiAgZ29vZy5EZXBlbmRlbmN5LnByb3RvdHlwZS5sb2FkZWQgPSBmdW5jdGlvbigpIHsKICAgIHRoaXMubG9hZGVkXyA9IHRydWU7CiAgICB2YXIgY2FsbGJhY2tzID0gdGhpcy5sb2FkQ2FsbGJhY2tzXzsKICAgIHRoaXMubG9hZENhbGxiYWNrc18gPSBbXTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2FsbGJhY2tzLmxlbmd0aDsgaSsrKSB7CiAgICAgIGNhbGxiYWNrc1tpXSgpOwogICAgfQogIH07CgoKICAvKioKICAgKiBXaGV0aGVyIG9yIG5vdCBkb2N1bWVudC53cml0dGVuIC8gYXBwZW5kZWQgc2NyaXB0IHRhZ3Mgc2hvdWxkIGJlIGRlZmVycmVkLgogICAqCiAgICogQHByaXZhdGUge2Jvb2xlYW59CiAgICovCiAgZ29vZy5EZXBlbmRlbmN5LmRlZmVyXyA9IGZhbHNlOwoKCiAgLyoqCiAgICogTWFwIG9mIHNjcmlwdCByZWFkeSAvIHN0YXRlIGNoYW5nZSBjYWxsYmFja3MuIE9sZCBJRSBjYW5ub3QgaGFuZGxlIHB1dHRpbmcKICAgKiB0aGVzZSBwcm9wZXJ0aWVzIG9uIGdvb2cuZ2xvYmFsLgogICAqCiAgICogQHByaXZhdGUgQGNvbnN0IHshT2JqZWN0PHN0cmluZywgZnVuY3Rpb24oPyk6dW5kZWZpbmVkPn0KICAgKi8KICBnb29nLkRlcGVuZGVuY3kuY2FsbGJhY2tNYXBfID0ge307CgoKICAvKioKICAgKiBAcGFyYW0ge2Z1bmN0aW9uKC4uLj8pOj99IGNhbGxiYWNrCiAgICogQHJldHVybiB7c3RyaW5nfQogICAqIEBwcml2YXRlCiAgICovCiAgZ29vZy5EZXBlbmRlbmN5LnJlZ2lzdGVyQ2FsbGJhY2tfID0gZnVuY3Rpb24oY2FsbGJhY2spIHsKICAgIHZhciBrZXkgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDMyKTsKICAgIGdvb2cuRGVwZW5kZW5jeS5jYWxsYmFja01hcF9ba2V5XSA9IGNhbGxiYWNrOwogICAgcmV0dXJuIGtleTsKICB9OwoKCiAgLyoqCiAgICogQHBhcmFtIHtzdHJpbmd9IGtleQogICAqIEBwcml2YXRlCiAgICovCiAgZ29vZy5EZXBlbmRlbmN5LnVucmVnaXN0ZXJDYWxsYmFja18gPSBmdW5jdGlvbihrZXkpIHsKICAgIGRlbGV0ZSBnb29nLkRlcGVuZGVuY3kuY2FsbGJhY2tNYXBfW2tleV07CiAgfTsKCgogIC8qKgogICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkKICAgKiBAcGFyYW0gey4uLj99IHZhcl9hcmdzCiAgICogQHByaXZhdGUKICAgKiBAc3VwcHJlc3Mge3VudXNlZFByaXZhdGVNZW1iZXJzfQogICAqLwogIGdvb2cuRGVwZW5kZW5jeS5jYWxsYmFja18gPSBmdW5jdGlvbihrZXksIHZhcl9hcmdzKSB7CiAgICBpZiAoa2V5IGluIGdvb2cuRGVwZW5kZW5jeS5jYWxsYmFja01hcF8pIHsKICAgICAgdmFyIGNhbGxiYWNrID0gZ29vZy5EZXBlbmRlbmN5LmNhbGxiYWNrTWFwX1trZXldOwogICAgICB2YXIgYXJncyA9IFtdOwogICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgIGFyZ3MucHVzaChhcmd1bWVudHNbaV0pOwogICAgICB9CiAgICAgIGNhbGxiYWNrLmFwcGx5KHVuZGVmaW5lZCwgYXJncyk7CiAgICB9IGVsc2UgewogICAgICB2YXIgZXJyb3JNZXNzYWdlID0gJ0NhbGxiYWNrIGtleSAnICsga2V5ICsKICAgICAgICAgICcgZG9lcyBub3QgZXhpc3QgKHdhcyBiYXNlLmpzIGxvYWRlZCBtb3JlIHRoYW4gb25jZT8pLic7CiAgICAgIHRocm93IEVycm9yKGVycm9yTWVzc2FnZSk7CiAgICB9CiAgfTsKCgogIC8qKgogICAqIFN0YXJ0cyBsb2FkaW5nIHRoaXMgZGVwZW5kZW5jeS4gVGhpcyBkZXBlbmRlbmN5IGNhbiBwYXVzZSBsb2FkaW5nIGlmIGl0CiAgICogbmVlZHMgdG8gYW5kIHJlc3VtZSBpdCBsYXRlciB2aWEgdGhlIGNvbnRyb2xsZXIgaW50ZXJmYWNlLgogICAqCiAgICogV2hlbiB0aGlzIGlzIGxvYWRlZCBpdCBzaG91bGQgY2FsbCBjb250cm9sbGVyLmxvYWRlZCgpLiBOb3RlIHRoYXQgdGhpcyB3aWxsCiAgICogZW5kIHVwIGNhbGxpbmcgdGhlIGxvYWRlZCBtZXRob2Qgb2YgdGhpcyBkZXBlbmRlbmN5OyB0aGVyZSBpcyBubyBuZWVkIHRvCiAgICogY2FsbCBpdCBleHBsaWNpdGx5LgogICAqCiAgICogQHBhcmFtIHshZ29vZy5Mb2FkQ29udHJvbGxlcn0gY29udHJvbGxlcgogICAqLwogIGdvb2cuRGVwZW5kZW5jeS5wcm90b3R5cGUubG9hZCA9IGZ1bmN0aW9uKGNvbnRyb2xsZXIpIHsKICAgIGlmIChnb29nLmdsb2JhbC5DTE9TVVJFX0lNUE9SVF9TQ1JJUFQpIHsKICAgICAgaWYgKGdvb2cuZ2xvYmFsLkNMT1NVUkVfSU1QT1JUX1NDUklQVCh0aGlzLnBhdGgpKSB7CiAgICAgICAgY29udHJvbGxlci5sb2FkZWQoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjb250cm9sbGVyLnBhdXNlKCk7CiAgICAgIH0KICAgICAgcmV0dXJuOwogICAgfQoKICAgIGlmICghZ29vZy5pbkh0bWxEb2N1bWVudF8oKSkgewogICAgICBnb29nLmxvZ1RvQ29uc29sZV8oCiAgICAgICAgICAnQ2Fubm90IHVzZSBkZWZhdWx0IGRlYnVnIGxvYWRlciBvdXRzaWRlIG9mIEhUTUwgZG9jdW1lbnRzLicpOwogICAgICBpZiAodGhpcy5yZWxhdGl2ZVBhdGggPT0gJ2RlcHMuanMnKSB7CiAgICAgICAgLy8gU29tZSBvbGQgY29kZSBpcyByZWx5aW5nIG9uIGJhc2UuanMgYXV0byBsb2FkaW5nIGRlcHMuanMgZmFpbGluZyB3aXRoCiAgICAgICAgLy8gbm8gZXJyb3IgYmVmb3JlIGxhdGVyIHNldHRpbmcgQ0xPU1VSRV9JTVBPUlRfU0NSSVBULgogICAgICAgIC8vIENMT1NVUkVfSU1QT1JUX1NDUklQVCBzaG91bGQgYmUgc2V0ICpiZWZvcmUqIGJhc2UuanMgaXMgbG9hZGVkLCBvcgogICAgICAgIC8vIENMT1NVUkVfTk9fREVQUyBzZXQgdG8gdHJ1ZS4KICAgICAgICBnb29nLmxvZ1RvQ29uc29sZV8oCiAgICAgICAgICAgICdDb25zaWRlciBzZXR0aW5nIENMT1NVUkVfSU1QT1JUX1NDUklQVCBiZWZvcmUgbG9hZGluZyBiYXNlLmpzLCAnICsKICAgICAgICAgICAgJ29yIHNldHRpbmcgQ0xPU1VSRV9OT19ERVBTIHRvIHRydWUuJyk7CiAgICAgICAgY29udHJvbGxlci5sb2FkZWQoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjb250cm9sbGVyLnBhdXNlKCk7CiAgICAgIH0KICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8qKiBAdHlwZSB7IUhUTUxEb2N1bWVudH0gKi8KICAgIHZhciBkb2MgPSBnb29nLmdsb2JhbC5kb2N1bWVudDsKCiAgICAvLyBJZiB0aGUgdXNlciB0cmllcyB0byByZXF1aXJlIGEgbmV3IHN5bWJvbCBhZnRlciBkb2N1bWVudCBsb2FkLAogICAgLy8gc29tZXRoaW5nIGhhcyBnb25lIHRlcnJpYmx5IHdyb25nLiBEb2luZyBhIGRvY3VtZW50LndyaXRlIHdvdWxkCiAgICAvLyB3aXBlIG91dCB0aGUgcGFnZS4gVGhpcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgQ1NQLWNvbXBsaWFudCBtZXRob2QKICAgIC8vIG9mIHdyaXRpbmcgc2NyaXB0IHRhZ3MuCiAgICBpZiAoZG9jLnJlYWR5U3RhdGUgPT0gJ2NvbXBsZXRlJyAmJgogICAgICAgICFnb29nLkVOQUJMRV9DSFJPTUVfQVBQX1NBRkVfU0NSSVBUX0xPQURJTkcpIHsKICAgICAgLy8gQ2VydGFpbiB0ZXN0IGZyYW1ld29ya3MgbG9hZCBiYXNlLmpzIG11bHRpcGxlIHRpbWVzLCB3aGljaCB0cmllcwogICAgICAvLyB0byB3cml0ZSBkZXBzLmpzIGVhY2ggdGltZS4gSWYgdGhhdCBoYXBwZW5zLCBqdXN0IGZhaWwgc2lsZW50bHkuCiAgICAgIC8vIFRoZXNlIGZyYW1ld29ya3Mgd2lwZSB0aGUgcGFnZSBiZXR3ZWVuIGVhY2ggbG9hZCBvZiBiYXNlLmpzLCBzbyB0aGlzCiAgICAgIC8vIGlzIE9LLgogICAgICB2YXIgaXNEZXBzID0gL1xiZGVwcy5qcyQvLnRlc3QodGhpcy5wYXRoKTsKICAgICAgaWYgKGlzRGVwcykgewogICAgICAgIGNvbnRyb2xsZXIubG9hZGVkKCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9IGVsc2UgewogICAgICAgIHRocm93IEVycm9yKCdDYW5ub3Qgd3JpdGUgIicgKyB0aGlzLnBhdGggKyAnIiBhZnRlciBkb2N1bWVudCBsb2FkJyk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoIWdvb2cuRU5BQkxFX0NIUk9NRV9BUFBfU0FGRV9TQ1JJUFRfTE9BRElORyAmJgogICAgICAgIGdvb2cuaXNEb2N1bWVudExvYWRpbmdfKCkpIHsKICAgICAgdmFyIGtleSA9IGdvb2cuRGVwZW5kZW5jeS5yZWdpc3RlckNhbGxiYWNrXyhmdW5jdGlvbihzY3JpcHQpIHsKICAgICAgICBpZiAoIWdvb2cuRGVidWdMb2FkZXJfLklTX09MRF9JRV8gfHwgc2NyaXB0LnJlYWR5U3RhdGUgPT0gJ2NvbXBsZXRlJykgewogICAgICAgICAgZ29vZy5EZXBlbmRlbmN5LnVucmVnaXN0ZXJDYWxsYmFja18oa2V5KTsKICAgICAgICAgIGNvbnRyb2xsZXIubG9hZGVkKCk7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgdmFyIG5vbmNlQXR0ciA9ICFnb29nLkRlYnVnTG9hZGVyXy5JU19PTERfSUVfICYmIGdvb2cuZ2V0U2NyaXB0Tm9uY2UoKSA/CiAgICAgICAgICAnIG5vbmNlPSInICsgZ29vZy5nZXRTY3JpcHROb25jZSgpICsgJyInIDoKICAgICAgICAgICcnOwogICAgICB2YXIgZXZlbnQgPQogICAgICAgICAgZ29vZy5EZWJ1Z0xvYWRlcl8uSVNfT0xEX0lFXyA/ICdvbnJlYWR5c3RhdGVjaGFuZ2UnIDogJ29ubG9hZCc7CiAgICAgIHZhciBkZWZlciA9IGdvb2cuRGVwZW5kZW5jeS5kZWZlcl8gPyAnZGVmZXInIDogJyc7CiAgICAgIHZhciBzY3JpcHQgPSAnPHNjcmlwdCBzcmM9IicgKyB0aGlzLnBhdGggKyAnIiAnICsgZXZlbnQgKwogICAgICAgICAgJz0iZ29vZy5EZXBlbmRlbmN5LmNhbGxiYWNrXyhcJycgKyBrZXkgKwogICAgICAgICAgJ1wnLCB0aGlzKSIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiAnICsgZGVmZXIgKyBub25jZUF0dHIgKyAnPjwnICsKICAgICAgICAgICcvc2NyaXB0Pic7CiAgICAgIGRvYy53cml0ZSgKICAgICAgICAgIGdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfID8KICAgICAgICAgICAgICBnb29nLlRSVVNURURfVFlQRVNfUE9MSUNZXy5jcmVhdGVIVE1MKHNjcmlwdCkgOgogICAgICAgICAgICAgIHNjcmlwdCk7CiAgICB9IGVsc2UgewogICAgICB2YXIgc2NyaXB0RWwgPQogICAgICAgICAgLyoqIEB0eXBlIHshSFRNTFNjcmlwdEVsZW1lbnR9ICovIChkb2MuY3JlYXRlRWxlbWVudCgnc2NyaXB0JykpOwogICAgICBzY3JpcHRFbC5kZWZlciA9IGdvb2cuRGVwZW5kZW5jeS5kZWZlcl87CiAgICAgIHNjcmlwdEVsLmFzeW5jID0gZmFsc2U7CiAgICAgIHNjcmlwdEVsLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsKCiAgICAgIC8vIElmIENTUCBub25jZXMgYXJlIHVzZWQsIHByb3BhZ2F0ZSB0aGVtIHRvIGR5bmFtaWNhbGx5IGNyZWF0ZWQgc2NyaXB0cy4KICAgICAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgdG8gYWxsb3cgbm9uY2UtYmFzZWQgQ1NQcyB3aXRob3V0ICdzdHJpY3QtZHluYW1pYycuCiAgICAgIHZhciBub25jZSA9IGdvb2cuZ2V0U2NyaXB0Tm9uY2UoKTsKICAgICAgaWYgKG5vbmNlKSB7CiAgICAgICAgc2NyaXB0RWwuc2V0QXR0cmlidXRlKCdub25jZScsIG5vbmNlKTsKICAgICAgfQoKICAgICAgaWYgKGdvb2cuRGVidWdMb2FkZXJfLklTX09MRF9JRV8pIHsKICAgICAgICAvLyBFeGVjdXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQgb24gb2xkIElFLCBoYWx0IGxvYWRpbmcgYW5kIHdyaXRlCiAgICAgICAgLy8gdGhlc2Ugc2NyaXB0cyBvbmUgYXQgYSB0aW1lLCBhZnRlciBlYWNoIGxvYWRzLgogICAgICAgIGNvbnRyb2xsZXIucGF1c2UoKTsKICAgICAgICBzY3JpcHRFbC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIGlmIChzY3JpcHRFbC5yZWFkeVN0YXRlID09ICdsb2FkZWQnIHx8CiAgICAgICAgICAgICAgc2NyaXB0RWwucmVhZHlTdGF0ZSA9PSAnY29tcGxldGUnKSB7CiAgICAgICAgICAgIGNvbnRyb2xsZXIubG9hZGVkKCk7CiAgICAgICAgICAgIGNvbnRyb2xsZXIucmVzdW1lKCk7CiAgICAgICAgICB9CiAgICAgICAgfTsKICAgICAgfSBlbHNlIHsKICAgICAgICBzY3JpcHRFbC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIHNjcmlwdEVsLm9ubG9hZCA9IG51bGw7CiAgICAgICAgICBjb250cm9sbGVyLmxvYWRlZCgpOwogICAgICAgIH07CiAgICAgIH0KCiAgICAgIHNjcmlwdEVsLnNyYyA9IGdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfID8KICAgICAgICAgIGdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfLmNyZWF0ZVNjcmlwdFVSTCh0aGlzLnBhdGgpIDoKICAgICAgICAgIHRoaXMucGF0aDsKICAgICAgZG9jLmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0RWwpOwogICAgfQogIH07CgoKICAvKioKICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBBYnNvbHV0ZSBwYXRoIG9mIHRoaXMgc2NyaXB0LgogICAqIEBwYXJhbSB7c3RyaW5nfSByZWxhdGl2ZVBhdGggUGF0aCBvZiB0aGlzIHNjcmlwdCByZWxhdGl2ZSB0byBnb29nLmJhc2VQYXRoLgogICAqIEBwYXJhbSB7IUFycmF5PHN0cmluZz59IHByb3ZpZGVzIFNob3VsZCBiZSBhbiBlbXB0eSBhcnJheS4KICAgKiAgICAgVE9ETyhqb2hucGxhaXN0ZWQpIGFkZCBzdXBwb3J0IGZvciBhZGRpbmcgY2xvc3VyZSBuYW1lc3BhY2VzIHRvIEVTNgogICAqICAgICBtb2R1bGVzIGZvciBpbnRlcm9wIHB1cnBvc2VzLgogICAqIEBwYXJhbSB7IUFycmF5PHN0cmluZz59IHJlcXVpcmVzIGdvb2cgc3ltYm9scyBvciByZWxhdGl2ZSBwYXRocyB0byBDbG9zdXJlCiAgICogICAgIHRoaXMgZGVwZW5kcyBvbi4KICAgKiBAcGFyYW0geyFPYmplY3Q8c3RyaW5nLCBzdHJpbmc+fSBsb2FkRmxhZ3MKICAgKiBAc3RydWN0IEBjb25zdHJ1Y3RvcgogICAqIEBleHRlbmRzIHtnb29nLkRlcGVuZGVuY3l9CiAgICovCiAgZ29vZy5FczZNb2R1bGVEZXBlbmRlbmN5ID0gZnVuY3Rpb24oCiAgICAgIHBhdGgsIHJlbGF0aXZlUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBsb2FkRmxhZ3MpIHsKICAgIGdvb2cuRXM2TW9kdWxlRGVwZW5kZW5jeS5iYXNlKAogICAgICAgIHRoaXMsICdjb25zdHJ1Y3RvcicsIHBhdGgsIHJlbGF0aXZlUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBsb2FkRmxhZ3MpOwogIH07CiAgZ29vZy5pbmhlcml0cyhnb29nLkVzNk1vZHVsZURlcGVuZGVuY3ksIGdvb2cuRGVwZW5kZW5jeSk7CgoKICAvKiogQG92ZXJyaWRlICovCiAgZ29vZy5FczZNb2R1bGVEZXBlbmRlbmN5LnByb3RvdHlwZS5sb2FkID0gZnVuY3Rpb24oY29udHJvbGxlcikgewogICAgaWYgKGdvb2cuZ2xvYmFsLkNMT1NVUkVfSU1QT1JUX1NDUklQVCkgewogICAgICBpZiAoZ29vZy5nbG9iYWwuQ0xPU1VSRV9JTVBPUlRfU0NSSVBUKHRoaXMucGF0aCkpIHsKICAgICAgICBjb250cm9sbGVyLmxvYWRlZCgpOwogICAgICB9IGVsc2UgewogICAgICAgIGNvbnRyb2xsZXIucGF1c2UoKTsKICAgICAgfQogICAgICByZXR1cm47CiAgICB9CgogICAgaWYgKCFnb29nLmluSHRtbERvY3VtZW50XygpKSB7CiAgICAgIGdvb2cubG9nVG9Db25zb2xlXygKICAgICAgICAgICdDYW5ub3QgdXNlIGRlZmF1bHQgZGVidWcgbG9hZGVyIG91dHNpZGUgb2YgSFRNTCBkb2N1bWVudHMuJyk7CiAgICAgIGNvbnRyb2xsZXIucGF1c2UoKTsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8qKiBAdHlwZSB7IUhUTUxEb2N1bWVudH0gKi8KICAgIHZhciBkb2MgPSBnb29nLmdsb2JhbC5kb2N1bWVudDsKCiAgICB2YXIgZGVwID0gdGhpczsKCiAgICAvLyBUT0RPKGpvaG5wbGFpc3RlZCk6IERvZXMgZG9jdW1lbnQud3JpdGluZyByZWFsbHkgc3BlZWQgdXAgYW55dGhpbmc/IEFueQogICAgLy8gZGlmZmVyZW5jZSBiZXR3ZWVuIHRoaXMgYW5kIGp1c3Qgd2FpdGluZyBmb3IgaW50ZXJhY3RpdmUgbW9kZSBhbmQgdGhlbgogICAgLy8gYXBwZW5kaW5nPwogICAgZnVuY3Rpb24gd3JpdGUoc3JjLCBjb250ZW50cykgewogICAgICBpZiAoY29udGVudHMpIHsKICAgICAgICB2YXIgc2NyaXB0ID0gJzxzY3JpcHQgdHlwZT0ibW9kdWxlIiBjcm9zc29yaWdpbj4nICsgY29udGVudHMgKyAnPC8nICsKICAgICAgICAgICAgJ3NjcmlwdD4nOwogICAgICAgIGRvYy53cml0ZSgKICAgICAgICAgICAgZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV8gPwogICAgICAgICAgICAgICAgZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV8uY3JlYXRlSFRNTChzY3JpcHQpIDoKICAgICAgICAgICAgICAgIHNjcmlwdCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIHNjcmlwdCA9ICc8c2NyaXB0IHR5cGU9Im1vZHVsZSIgY3Jvc3NvcmlnaW4gc3JjPSInICsgc3JjICsgJyI+PC8nICsKICAgICAgICAgICAgJ3NjcmlwdD4nOwogICAgICAgIGRvYy53cml0ZSgKICAgICAgICAgICAgZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV8gPwogICAgICAgICAgICAgICAgZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV8uY3JlYXRlSFRNTChzY3JpcHQpIDoKICAgICAgICAgICAgICAgIHNjcmlwdCk7CiAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBhcHBlbmQoc3JjLCBjb250ZW50cykgewogICAgICB2YXIgc2NyaXB0RWwgPQogICAgICAgICAgLyoqIEB0eXBlIHshSFRNTFNjcmlwdEVsZW1lbnR9ICovIChkb2MuY3JlYXRlRWxlbWVudCgnc2NyaXB0JykpOwogICAgICBzY3JpcHRFbC5kZWZlciA9IHRydWU7CiAgICAgIHNjcmlwdEVsLmFzeW5jID0gZmFsc2U7CiAgICAgIHNjcmlwdEVsLnR5cGUgPSAnbW9kdWxlJzsKICAgICAgc2NyaXB0RWwuc2V0QXR0cmlidXRlKCdjcm9zc29yaWdpbicsIHRydWUpOwoKICAgICAgLy8gSWYgQ1NQIG5vbmNlcyBhcmUgdXNlZCwgcHJvcGFnYXRlIHRoZW0gdG8gZHluYW1pY2FsbHkgY3JlYXRlZCBzY3JpcHRzLgogICAgICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSB0byBhbGxvdyBub25jZS1iYXNlZCBDU1BzIHdpdGhvdXQgJ3N0cmljdC1keW5hbWljJy4KICAgICAgdmFyIG5vbmNlID0gZ29vZy5nZXRTY3JpcHROb25jZSgpOwogICAgICBpZiAobm9uY2UpIHsKICAgICAgICBzY3JpcHRFbC5zZXRBdHRyaWJ1dGUoJ25vbmNlJywgbm9uY2UpOwogICAgICB9CgogICAgICBpZiAoY29udGVudHMpIHsKICAgICAgICBzY3JpcHRFbC50ZXh0Q29udGVudCA9IGdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfID8KICAgICAgICAgICAgZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV8uY3JlYXRlU2NyaXB0KGNvbnRlbnRzKSA6CiAgICAgICAgICAgIGNvbnRlbnRzOwogICAgICB9IGVsc2UgewogICAgICAgIHNjcmlwdEVsLnNyYyA9IGdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfID8KICAgICAgICAgICAgZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV8uY3JlYXRlU2NyaXB0VVJMKHNyYykgOgogICAgICAgICAgICBzcmM7CiAgICAgIH0KCiAgICAgIGRvYy5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdEVsKTsKICAgIH0KCiAgICB2YXIgY3JlYXRlOwoKICAgIGlmIChnb29nLmlzRG9jdW1lbnRMb2FkaW5nXygpKSB7CiAgICAgIGNyZWF0ZSA9IHdyaXRlOwogICAgICAvLyBXZSBjYW4gT05MWSBjYWxsIGRvY3VtZW50LndyaXRlIGlmIHdlIGFyZSBndWFyYW50ZWVkIHRoYXQgYW55CiAgICAgIC8vIG5vbi1tb2R1bGUgc2NyaXB0IHRhZ3MgZG9jdW1lbnQud3JpdHRlbiBhZnRlciB0aGlzIGFyZSBkZWZlcnJlZC4KICAgICAgLy8gU21hbGwgb3B0aW1pemF0aW9uLCBpbiB0aGVvcnkgZG9jdW1lbnQud3JpdGluZyBpcyBmYXN0ZXIuCiAgICAgIGdvb2cuRGVwZW5kZW5jeS5kZWZlcl8gPSB0cnVlOwogICAgfSBlbHNlIHsKICAgICAgY3JlYXRlID0gYXBwZW5kOwogICAgfQoKICAgIC8vIFdyaXRlIDQgc2VwYXJhdGUgdGFncyBoZXJlOgogICAgLy8gMSkgU2V0cyB0aGUgbW9kdWxlIHN0YXRlIGF0IHRoZSBjb3JyZWN0IHRpbWUgKGp1c3QgYmVmb3JlIGV4ZWN1dGlvbikuCiAgICAvLyAyKSBBIHNyYyBub2RlIGZvciB0aGlzLCB3aGljaCBqdXN0IGhvcGVmdWxseSBsZXRzIHRoZSBicm93c2VyIGxvYWQgaXQgYQogICAgLy8gICAgbGl0dGxlIGVhcmx5IChubyBuZWVkIHRvIHBhcnNlICMzKS4KICAgIC8vIDMpIEltcG9ydCB0aGUgbW9kdWxlIGFuZCByZWdpc3RlciBpdC4KICAgIC8vIDQpIENsZWFyIHRoZSBtb2R1bGUgc3RhdGUgYXQgdGhlIGNvcnJlY3QgdGltZS4gR3VhcmFudGVlZCB0byBydW4gZXZlbgogICAgLy8gICAgaWYgdGhlcmUgaXMgYW4gZXJyb3IgaW4gdGhlIG1vZHVsZSAoIzMgd2lsbCBub3QgcnVuIGlmIHRoZXJlIGlzIGFuCiAgICAvLyAgICBlcnJvciBpbiB0aGUgbW9kdWxlKS4KICAgIHZhciBiZWZvcmVLZXkgPSBnb29nLkRlcGVuZGVuY3kucmVnaXN0ZXJDYWxsYmFja18oZnVuY3Rpb24oKSB7CiAgICAgIGdvb2cuRGVwZW5kZW5jeS51bnJlZ2lzdGVyQ2FsbGJhY2tfKGJlZm9yZUtleSk7CiAgICAgIGNvbnRyb2xsZXIuc2V0TW9kdWxlU3RhdGUoZ29vZy5Nb2R1bGVUeXBlLkVTNik7CiAgICB9KTsKICAgIGNyZWF0ZSh1bmRlZmluZWQsICdnb29nLkRlcGVuZGVuY3kuY2FsbGJhY2tfKCInICsgYmVmb3JlS2V5ICsgJyIpJyk7CgogICAgLy8gVE9ETyhqb2hucGxhaXN0ZWQpOiBEb2VzIHRoaXMgcmVhbGx5IHNwZWVkIHVwIGFueXRoaW5nPwogICAgY3JlYXRlKHRoaXMucGF0aCwgdW5kZWZpbmVkKTsKCiAgICB2YXIgcmVnaXN0ZXJLZXkgPSBnb29nLkRlcGVuZGVuY3kucmVnaXN0ZXJDYWxsYmFja18oZnVuY3Rpb24oZXhwb3J0cykgewogICAgICBnb29nLkRlcGVuZGVuY3kudW5yZWdpc3RlckNhbGxiYWNrXyhyZWdpc3RlcktleSk7CiAgICAgIGNvbnRyb2xsZXIucmVnaXN0ZXJFczZNb2R1bGVFeHBvcnRzKAogICAgICAgICAgZGVwLnBhdGgsIGV4cG9ydHMsIGdvb2cubW9kdWxlTG9hZGVyU3RhdGVfLm1vZHVsZU5hbWUpOwogICAgfSk7CiAgICBjcmVhdGUoCiAgICAgICAgdW5kZWZpbmVkLAogICAgICAgICdpbXBvcnQgKiBhcyBtIGZyb20gIicgKyB0aGlzLnBhdGggKyAnIjsgZ29vZy5EZXBlbmRlbmN5LmNhbGxiYWNrXygiJyArCiAgICAgICAgICAgIHJlZ2lzdGVyS2V5ICsgJyIsIG0pJyk7CgogICAgdmFyIGFmdGVyS2V5ID0gZ29vZy5EZXBlbmRlbmN5LnJlZ2lzdGVyQ2FsbGJhY2tfKGZ1bmN0aW9uKCkgewogICAgICBnb29nLkRlcGVuZGVuY3kudW5yZWdpc3RlckNhbGxiYWNrXyhhZnRlcktleSk7CiAgICAgIGNvbnRyb2xsZXIuY2xlYXJNb2R1bGVTdGF0ZSgpOwogICAgICBjb250cm9sbGVyLmxvYWRlZCgpOwogICAgfSk7CiAgICBjcmVhdGUodW5kZWZpbmVkLCAnZ29vZy5EZXBlbmRlbmN5LmNhbGxiYWNrXygiJyArIGFmdGVyS2V5ICsgJyIpJyk7CiAgfTsKCgogIC8qKgogICAqIFN1cGVyY2xhc3Mgb2YgYW55IGRlcGVuZGVuY3kgdGhhdCBuZWVkcyB0byBiZSBsb2FkZWQgaW50byBtZW1vcnksCiAgICogdHJhbnNmb3JtZWQsIGFuZCB0aGVuIGV2YWwnZCAoZ29vZy5tb2R1bGVzIGFuZCB0cmFuc3BpbGVkIGZpbGVzKS4KICAgKgogICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIEFic29sdXRlIHBhdGggb2YgdGhpcyBzY3JpcHQuCiAgICogQHBhcmFtIHtzdHJpbmd9IHJlbGF0aXZlUGF0aCBQYXRoIG9mIHRoaXMgc2NyaXB0IHJlbGF0aXZlIHRvIGdvb2cuYmFzZVBhdGguCiAgICogQHBhcmFtIHshQXJyYXk8c3RyaW5nPn0gcHJvdmlkZXMgZ29vZy5wcm92aWRlZCBvciBnb29nLm1vZHVsZSBzeW1ib2xzCiAgICogICAgIGluIHRoaXMgZmlsZS4KICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSByZXF1aXJlcyBnb29nIHN5bWJvbHMgb3IgcmVsYXRpdmUgcGF0aHMgdG8gQ2xvc3VyZQogICAqICAgICB0aGlzIGRlcGVuZHMgb24uCiAgICogQHBhcmFtIHshT2JqZWN0PHN0cmluZywgc3RyaW5nPn0gbG9hZEZsYWdzCiAgICogQHN0cnVjdCBAY29uc3RydWN0b3IgQGFic3RyYWN0CiAgICogQGV4dGVuZHMge2dvb2cuRGVwZW5kZW5jeX0KICAgKi8KICBnb29nLlRyYW5zZm9ybWVkRGVwZW5kZW5jeSA9IGZ1bmN0aW9uKAogICAgICBwYXRoLCByZWxhdGl2ZVBhdGgsIHByb3ZpZGVzLCByZXF1aXJlcywgbG9hZEZsYWdzKSB7CiAgICBnb29nLlRyYW5zZm9ybWVkRGVwZW5kZW5jeS5iYXNlKAogICAgICAgIHRoaXMsICdjb25zdHJ1Y3RvcicsIHBhdGgsIHJlbGF0aXZlUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBsb2FkRmxhZ3MpOwogICAgLyoqIEBwcml2YXRlIHs/c3RyaW5nfSAqLwogICAgdGhpcy5jb250ZW50c18gPSBudWxsOwoKICAgIC8qKgogICAgICogV2hldGhlciB0byBsYXppbHkgbWFrZSB0aGUgc3luY2hyb25vdXMgWEhSICh3aGVuIGdvb2cucmVxdWlyZSdkKSBvciBtYWtlCiAgICAgKiB0aGUgc3luY2hyb25vdXMgWEhSIHdoZW4gaW5pdGlhbGx5IGxvYWRpbmcuIE9uIEZpcmVGb3ggNjEgdGhlcmUgaXMgYSBidWcKICAgICAqIHdoZXJlIGFuIEVTNiBtb2R1bGUgY2Fubm90IG1ha2UgYSBzeW5jaHJvbm91cyBYSFIgKHJhdGhlciwgaXQgY2FuLCBidXQgaWYKICAgICAqIGl0IGRvZXMgdGhlbiBubyBvdGhlciBFUzYgbW9kdWxlcyB3aWxsIGxvYWQgYWZ0ZXIpLgogICAgICoKICAgICAqIHRsO2RyIHdlIGxhenkgbG9hZCBkdWUgdG8gYnVncyBvbiBvbGRlciBicm93c2VycyBhbmQgZWFnZXIgbG9hZCBkdWUgdG8KICAgICAqIGJ1Z3Mgb24gbmV3ZXIgb25lcy4KICAgICAqCiAgICAgKiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc3MDkwCiAgICAgKgogICAgICogQHByaXZhdGUgQGNvbnN0IHtib29sZWFufQogICAgICovCiAgICB0aGlzLmxhenlGZXRjaF8gPSAhZ29vZy5pbkh0bWxEb2N1bWVudF8oKSB8fAogICAgICAgICEoJ25vTW9kdWxlJyBpbiBnb29nLmdsb2JhbC5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKSk7CiAgfTsKICBnb29nLmluaGVyaXRzKGdvb2cuVHJhbnNmb3JtZWREZXBlbmRlbmN5LCBnb29nLkRlcGVuZGVuY3kpOwoKCiAgLyoqIEBvdmVycmlkZSAqLwogIGdvb2cuVHJhbnNmb3JtZWREZXBlbmRlbmN5LnByb3RvdHlwZS5sb2FkID0gZnVuY3Rpb24oY29udHJvbGxlcikgewogICAgdmFyIGRlcCA9IHRoaXM7CgogICAgZnVuY3Rpb24gZmV0Y2goKSB7CiAgICAgIGRlcC5jb250ZW50c18gPSBnb29nLmxvYWRGaWxlU3luY18oZGVwLnBhdGgpOwoKICAgICAgaWYgKGRlcC5jb250ZW50c18pIHsKICAgICAgICBkZXAuY29udGVudHNfID0gZGVwLnRyYW5zZm9ybShkZXAuY29udGVudHNfKTsKICAgICAgICBpZiAoZGVwLmNvbnRlbnRzXykgewogICAgICAgICAgZGVwLmNvbnRlbnRzXyArPSAnXG4vLyMgc291cmNlVVJMPScgKyBkZXAucGF0aDsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICBpZiAoZ29vZy5nbG9iYWwuQ0xPU1VSRV9JTVBPUlRfU0NSSVBUKSB7CiAgICAgIGZldGNoKCk7CiAgICAgIGlmICh0aGlzLmNvbnRlbnRzXyAmJgogICAgICAgICAgZ29vZy5nbG9iYWwuQ0xPU1VSRV9JTVBPUlRfU0NSSVBUKCcnLCB0aGlzLmNvbnRlbnRzXykpIHsKICAgICAgICB0aGlzLmNvbnRlbnRzXyA9IG51bGw7CiAgICAgICAgY29udHJvbGxlci5sb2FkZWQoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjb250cm9sbGVyLnBhdXNlKCk7CiAgICAgIH0KICAgICAgcmV0dXJuOwogICAgfQoKCiAgICB2YXIgaXNFczYgPSB0aGlzLmxvYWRGbGFnc1snbW9kdWxlJ10gPT0gZ29vZy5Nb2R1bGVUeXBlLkVTNjsKCiAgICBpZiAoIXRoaXMubGF6eUZldGNoXykgewogICAgICBmZXRjaCgpOwogICAgfQoKICAgIGZ1bmN0aW9uIGxvYWQoKSB7CiAgICAgIGlmIChkZXAubGF6eUZldGNoXykgewogICAgICAgIGZldGNoKCk7CiAgICAgIH0KCiAgICAgIGlmICghZGVwLmNvbnRlbnRzXykgewogICAgICAgIC8vIGxvYWRGaWxlU3luY18gb3IgdHJhbnNmb3JtIGFyZSByZXNwb25zaWJsZS4gQXNzdW1lIHRoZXkgbG9nZ2VkIGFuCiAgICAgICAgLy8gZXJyb3IuCiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAoaXNFczYpIHsKICAgICAgICBjb250cm9sbGVyLnNldE1vZHVsZVN0YXRlKGdvb2cuTW9kdWxlVHlwZS5FUzYpOwogICAgICB9CgogICAgICB2YXIgbmFtZXNwYWNlOwoKICAgICAgdHJ5IHsKICAgICAgICB2YXIgY29udGVudHMgPSBkZXAuY29udGVudHNfOwogICAgICAgIGRlcC5jb250ZW50c18gPSBudWxsOwogICAgICAgIGdvb2cuZ2xvYmFsRXZhbChjb250ZW50cyk7CiAgICAgICAgaWYgKGlzRXM2KSB7CiAgICAgICAgICBuYW1lc3BhY2UgPSBnb29nLm1vZHVsZUxvYWRlclN0YXRlXy5tb2R1bGVOYW1lOwogICAgICAgIH0KICAgICAgfSBmaW5hbGx5IHsKICAgICAgICBpZiAoaXNFczYpIHsKICAgICAgICAgIGNvbnRyb2xsZXIuY2xlYXJNb2R1bGVTdGF0ZSgpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKGlzRXM2KSB7CiAgICAgICAgLy8gRHVlIHRvIGNpcmN1bGFyIGRlcGVuZGVuY2llcyB0aGlzIG1heSBub3QgYmUgYXZhaWxhYmxlIGZvciByZXF1aXJlCiAgICAgICAgLy8gcmlnaHQgbm93LgogICAgICAgIGdvb2cuZ2xvYmFsWyckanNjb21wJ11bJ3JlcXVpcmUnXVsnZW5zdXJlJ10oCiAgICAgICAgICAgIFtkZXAuZ2V0UGF0aE5hbWUoKV0sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIGNvbnRyb2xsZXIucmVnaXN0ZXJFczZNb2R1bGVFeHBvcnRzKAogICAgICAgICAgICAgICAgICBkZXAucGF0aCwKICAgICAgICAgICAgICAgICAgZ29vZy5nbG9iYWxbJyRqc2NvbXAnXVsncmVxdWlyZSddKGRlcC5nZXRQYXRoTmFtZSgpKSwKICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlKTsKICAgICAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIGNvbnRyb2xsZXIubG9hZGVkKCk7CiAgICB9CgogICAgLy8gRG8gbm90IGZldGNoIG5vdzsgaW4gRmlyZUZveCA0NyB0aGUgc3luY2hyb25vdXMgWEhSIGRvZXNuJ3QgYmxvY2sgYWxsCiAgICAvLyBldmVudHMuIElmIHdlIGZldGNoZWQgbm93IGFuZCB0aGVuIGRvY3VtZW50LndyaXRlJ2QgdGhlIGNvbnRlbnRzIHRoZQogICAgLy8gZG9jdW1lbnQud3JpdGUgd291bGQgYmUgYW4gZXZhbCBhbmQgd291bGQgZXhlY3V0ZSB0b28gc29vbiEgSW5zdGVhZCB3cml0ZQogICAgLy8gYSBzY3JpcHQgdGFnIHRvIGZldGNoIGFuZCBldmFsIHN5bmNocm9ub3VzbHkgYXQgdGhlIGNvcnJlY3QgdGltZS4KICAgIGZ1bmN0aW9uIGZldGNoSW5Pd25TY3JpcHRUaGVuTG9hZCgpIHsKICAgICAgLyoqIEB0eXBlIHshSFRNTERvY3VtZW50fSAqLwogICAgICB2YXIgZG9jID0gZ29vZy5nbG9iYWwuZG9jdW1lbnQ7CgogICAgICB2YXIga2V5ID0gZ29vZy5EZXBlbmRlbmN5LnJlZ2lzdGVyQ2FsbGJhY2tfKGZ1bmN0aW9uKCkgewogICAgICAgIGdvb2cuRGVwZW5kZW5jeS51bnJlZ2lzdGVyQ2FsbGJhY2tfKGtleSk7CiAgICAgICAgbG9hZCgpOwogICAgICB9KTsKCiAgICAgIHZhciBzY3JpcHQgPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPicgKwogICAgICAgICAgZ29vZy5wcm90ZWN0U2NyaXB0VGFnXygnZ29vZy5EZXBlbmRlbmN5LmNhbGxiYWNrXygiJyArIGtleSArICciKTsnKSArCiAgICAgICAgICAnPC8nICsKICAgICAgICAgICdzY3JpcHQ+JzsKICAgICAgZG9jLndyaXRlKAogICAgICAgICAgZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV8gPwogICAgICAgICAgICAgIGdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfLmNyZWF0ZUhUTUwoc2NyaXB0KSA6CiAgICAgICAgICAgICAgc2NyaXB0KTsKICAgIH0KCiAgICAvLyBJZiBvbmUgdGhpbmcgaXMgcGVuZGluZyBpdCBpcyB0aGlzLgogICAgdmFyIGFueXRoaW5nRWxzZVBlbmRpbmcgPSBjb250cm9sbGVyLnBlbmRpbmcoKS5sZW5ndGggPiAxOwoKICAgIC8vIElmIGFueXRoaW5nIGVsc2UgaXMgbG9hZGluZyB3ZSBuZWVkIHRvIGxhenkgbG9hZCBkdWUgdG8gYnVncyBpbiBvbGQgSUUuCiAgICAvLyBTcGVjaWZpY2FsbHkgc2NyaXB0IHRhZ3Mgd2l0aCBzcmMgYW5kIHNjcmlwdCB0YWdzIHdpdGggY29udGVudHMgY291bGQKICAgIC8vIGV4ZWN1dGUgb3V0IG9mIG9yZGVyIGlmIGRvY3VtZW50LndyaXRlIGlzIHVzZWQsIHNvIHdlIGNhbm5vdCB1c2UKICAgIC8vIGRvY3VtZW50LndyaXRlLiBEbyBub3QgcGF1c2UgaGVyZTsgaXQgYnJlYWtzIG9sZCBJRSBhcyB3ZWxsLgogICAgdmFyIHVzZU9sZEllV29ya0Fyb3VuZCA9CiAgICAgICAgYW55dGhpbmdFbHNlUGVuZGluZyAmJiBnb29nLkRlYnVnTG9hZGVyXy5JU19PTERfSUVfOwoKICAgIC8vIEFkZGl0aW9uYWxseSBpZiB3ZSBhcmUgbWVhbnQgdG8gZGVmZXIgc2NyaXB0cyBidXQgdGhlIHBhZ2UgaXMgc3RpbGwKICAgIC8vIGxvYWRpbmcgKGUuZy4gYW4gRVM2IG1vZHVsZSBpcyBsb2FkaW5nKSB0aGVuIGFsc28gZGVmZXIuIE9yIGlmIHdlIGFyZQogICAgLy8gbWVhbnQgdG8gZGVmZXIgYW5kIGFueXRoaW5nIGVsc2UgaXMgcGVuZGluZyB0aGVuIGRlZmVyICh0aG9zZSBtYXkgYmUKICAgIC8vIHNjcmlwdHMgdGhhdCBkaWQgbm90IG5lZWQgdHJhbnNmb3JtYXRpb24gYW5kIGFyZSBqdXN0IHNjcmlwdCB0YWdzIHdpdGgKICAgIC8vIGRlZmVyIHNldCB0byB0cnVlLCBhbmQgd2UgbmVlZCB0byBldmFsdWF0ZSBhZnRlciB0aGF0IGRlZmVycmVkIHNjcmlwdCkuCiAgICB2YXIgbmVlZHNBc3luY0xvYWRpbmcgPSBnb29nLkRlcGVuZGVuY3kuZGVmZXJfICYmCiAgICAgICAgKGFueXRoaW5nRWxzZVBlbmRpbmcgfHwgZ29vZy5pc0RvY3VtZW50TG9hZGluZ18oKSk7CgogICAgaWYgKHVzZU9sZEllV29ya0Fyb3VuZCB8fCBuZWVkc0FzeW5jTG9hZGluZykgewogICAgICAvLyBOb3RlIHRoYXQgd2Ugb25seSBkZWZlciB3aGVuIHdlIGhhdmUgdG8gcmF0aGVyIHRoYW4gMTAwJSBvZiB0aGUgdGltZS4KICAgICAgLy8gQWx3YXlzIGRlZmVyaW5nIHdvdWxkIHdvcmssIGJ1dCB0aGVuIGluIHRoZW9yeSB0aGUgb3JkZXIgb2YKICAgICAgLy8gZ29vZy5yZXF1aXJlIGNhbGxzIHdvdWxkIHRoZW4gbWF0dGVyLiBXZSB3YW50IHRvIGVuZm9yY2UgdGhhdCBtb3N0IG9mCiAgICAgIC8vIHRoZSB0aW1lIHRoZSBvcmRlciBvZiB0aGUgcmVxdWlyZSBjYWxscyBkb2VzIG5vdCBtYXR0ZXIuCiAgICAgIGNvbnRyb2xsZXIuZGVmZXIoZnVuY3Rpb24oKSB7CiAgICAgICAgbG9hZCgpOwogICAgICB9KTsKICAgICAgcmV0dXJuOwogICAgfQogICAgLy8gVE9ETyhqb2hucGxhaXN0ZWQpOiBFeHRlcm5zIGFyZSBtaXNzaW5nIG9ucmVhZHlzdGF0ZWNoYW5nZSBmb3IKICAgIC8vIEhUTUxEb2N1bWVudC4KICAgIC8qKiBAdHlwZSB7P30gKi8KICAgIHZhciBkb2MgPSBnb29nLmdsb2JhbC5kb2N1bWVudDsKCiAgICB2YXIgaXNJbnRlcm5ldEV4cGxvcmVyID0KICAgICAgICBnb29nLmluSHRtbERvY3VtZW50XygpICYmICdBY3RpdmVYT2JqZWN0JyBpbiBnb29nLmdsb2JhbDsKCiAgICAvLyBEb24ndCBkZWxheSBpbiBhbnkgdmVyc2lvbiBvZiBJRS4gVGhlcmUncyBidWcgYXJvdW5kIHRoaXMgdGhhdCB3aWxsCiAgICAvLyBjYXVzZSBvdXQgb2Ygb3JkZXIgc2NyaXB0IGV4ZWN1dGlvbi4gVGhpcyBtZWFucyB0aGF0IG9uIG9sZGVyIElFIEVTNgogICAgLy8gbW9kdWxlcyB3aWxsIGxvYWQgdG9vIGVhcmx5ICh3aGlsZSB0aGUgZG9jdW1lbnQgaXMgc3RpbGwgbG9hZGluZyArIHRoZQogICAgLy8gZG9tIGlzIG5vdCBhdmFpbGFibGUpLiBUaGUgb3RoZXIgb3B0aW9uIGlzIHRvIGxvYWQgdG9vIGxhdGUgKHdoZW4gdGhlCiAgICAvLyBkb2N1bWVudCBpcyBjb21wbGV0ZSBhbmQgdGhlIG9ubG9hZCBldmVuIHdpbGwgbmV2ZXIgZmlyZSkuIFRoaXMgc2VlbXMKICAgIC8vIHRvIGJlIHRoZSBsZXNzZXIgb2YgdHdvIGV2aWxzIGFzIHNjcmlwdHMgYWxyZWFkeSBhY3QgbGlrZSB0aGUgZm9ybWVyLgogICAgaWYgKGlzRXM2ICYmIGdvb2cuaW5IdG1sRG9jdW1lbnRfKCkgJiYgZ29vZy5pc0RvY3VtZW50TG9hZGluZ18oKSAmJgogICAgICAgICFpc0ludGVybmV0RXhwbG9yZXIpIHsKICAgICAgZ29vZy5EZXBlbmRlbmN5LmRlZmVyXyA9IHRydWU7CiAgICAgIC8vIFRyYW5zcGlsZWQgRVM2IG1vZHVsZXMgc3RpbGwgbmVlZCB0byBsb2FkIGxpa2UgcmVndWxhciBFUzYgbW9kdWxlcywKICAgICAgLy8gYWthIG9ubHkgYWZ0ZXIgdGhlIGRvY3VtZW50IGlzIGludGVyYWN0aXZlLgogICAgICBjb250cm9sbGVyLnBhdXNlKCk7CiAgICAgIHZhciBvbGRDYWxsYmFjayA9IGRvYy5vbnJlYWR5c3RhdGVjaGFuZ2U7CiAgICAgIGRvYy5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKICAgICAgICBpZiAoZG9jLnJlYWR5U3RhdGUgPT0gJ2ludGVyYWN0aXZlJykgewogICAgICAgICAgZG9jLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG9sZENhbGxiYWNrOwogICAgICAgICAgbG9hZCgpOwogICAgICAgICAgY29udHJvbGxlci5yZXN1bWUoKTsKICAgICAgICB9CiAgICAgICAgaWYgKGdvb2cuaXNGdW5jdGlvbihvbGRDYWxsYmFjaykpIHsKICAgICAgICAgIG9sZENhbGxiYWNrLmFwcGx5KHVuZGVmaW5lZCwgYXJndW1lbnRzKTsKICAgICAgICB9CiAgICAgIH07CiAgICB9IGVsc2UgewogICAgICAvLyBBbHdheXMgZXZhbCBvbiBvbGQgSUUuCiAgICAgIGlmIChnb29nLkRlYnVnTG9hZGVyXy5JU19PTERfSUVfIHx8ICFnb29nLmluSHRtbERvY3VtZW50XygpIHx8CiAgICAgICAgICAhZ29vZy5pc0RvY3VtZW50TG9hZGluZ18oKSkgewogICAgICAgIGxvYWQoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBmZXRjaEluT3duU2NyaXB0VGhlbkxvYWQoKTsKICAgICAgfQogICAgfQogIH07CgoKICAvKioKICAgKiBAcGFyYW0ge3N0cmluZ30gY29udGVudHMKICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICogQGFic3RyYWN0CiAgICovCiAgZ29vZy5UcmFuc2Zvcm1lZERlcGVuZGVuY3kucHJvdG90eXBlLnRyYW5zZm9ybSA9IGZ1bmN0aW9uKGNvbnRlbnRzKSB7fTsKCgogIC8qKgogICAqIEFueSBub24tZ29vZy5tb2R1bGUgZGVwZW5kZW5jeSB3aGljaCBuZWVkcyB0byBiZSB0cmFuc3BpbGVkIGJlZm9yZSBldmFsLgogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggQWJzb2x1dGUgcGF0aCBvZiB0aGlzIHNjcmlwdC4KICAgKiBAcGFyYW0ge3N0cmluZ30gcmVsYXRpdmVQYXRoIFBhdGggb2YgdGhpcyBzY3JpcHQgcmVsYXRpdmUgdG8gZ29vZy5iYXNlUGF0aC4KICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSBwcm92aWRlcyBnb29nLnByb3ZpZGVkIG9yIGdvb2cubW9kdWxlIHN5bWJvbHMKICAgKiAgICAgaW4gdGhpcyBmaWxlLgogICAqIEBwYXJhbSB7IUFycmF5PHN0cmluZz59IHJlcXVpcmVzIGdvb2cgc3ltYm9scyBvciByZWxhdGl2ZSBwYXRocyB0byBDbG9zdXJlCiAgICogICAgIHRoaXMgZGVwZW5kcyBvbi4KICAgKiBAcGFyYW0geyFPYmplY3Q8c3RyaW5nLCBzdHJpbmc+fSBsb2FkRmxhZ3MKICAgKiBAcGFyYW0geyFnb29nLlRyYW5zcGlsZXJ9IHRyYW5zcGlsZXIKICAgKiBAc3RydWN0IEBjb25zdHJ1Y3RvcgogICAqIEBleHRlbmRzIHtnb29nLlRyYW5zZm9ybWVkRGVwZW5kZW5jeX0KICAgKi8KICBnb29nLlRyYW5zcGlsZWREZXBlbmRlbmN5ID0gZnVuY3Rpb24oCiAgICAgIHBhdGgsIHJlbGF0aXZlUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBsb2FkRmxhZ3MsIHRyYW5zcGlsZXIpIHsKICAgIGdvb2cuVHJhbnNwaWxlZERlcGVuZGVuY3kuYmFzZSgKICAgICAgICB0aGlzLCAnY29uc3RydWN0b3InLCBwYXRoLCByZWxhdGl2ZVBhdGgsIHByb3ZpZGVzLCByZXF1aXJlcywgbG9hZEZsYWdzKTsKICAgIC8qKiBAcHJvdGVjdGVkIEBjb25zdCovCiAgICB0aGlzLnRyYW5zcGlsZXIgPSB0cmFuc3BpbGVyOwogIH07CiAgZ29vZy5pbmhlcml0cyhnb29nLlRyYW5zcGlsZWREZXBlbmRlbmN5LCBnb29nLlRyYW5zZm9ybWVkRGVwZW5kZW5jeSk7CgoKICAvKiogQG92ZXJyaWRlICovCiAgZ29vZy5UcmFuc3BpbGVkRGVwZW5kZW5jeS5wcm90b3R5cGUudHJhbnNmb3JtID0gZnVuY3Rpb24oY29udGVudHMpIHsKICAgIC8vIFRyYW5zcGlsZSB3aXRoIHRoZSBwYXRobmFtZSBzbyB0aGF0IEVTNiBtb2R1bGVzIGFyZSBkb21haW4gYWdub3N0aWMuCiAgICByZXR1cm4gdGhpcy50cmFuc3BpbGVyLnRyYW5zcGlsZShjb250ZW50cywgdGhpcy5nZXRQYXRoTmFtZSgpKTsKICB9OwoKCiAgLyoqCiAgICogQW4gRVM2IG1vZHVsZSBkZXBlbmRlbmN5IHRoYXQgd2FzIHRyYW5zcGlsZWQgdG8gYSBqc2NvbXAgbW9kdWxlIG91dHNpZGUKICAgKiBvZiB0aGUgZGVidWcgbG9hZGVyLCBlLmcuIHNlcnZlciBzaWRlLgogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggQWJzb2x1dGUgcGF0aCBvZiB0aGlzIHNjcmlwdC4KICAgKiBAcGFyYW0ge3N0cmluZ30gcmVsYXRpdmVQYXRoIFBhdGggb2YgdGhpcyBzY3JpcHQgcmVsYXRpdmUgdG8gZ29vZy5iYXNlUGF0aC4KICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSBwcm92aWRlcyBnb29nLnByb3ZpZGVkIG9yIGdvb2cubW9kdWxlIHN5bWJvbHMKICAgKiAgICAgaW4gdGhpcyBmaWxlLgogICAqIEBwYXJhbSB7IUFycmF5PHN0cmluZz59IHJlcXVpcmVzIGdvb2cgc3ltYm9scyBvciByZWxhdGl2ZSBwYXRocyB0byBDbG9zdXJlCiAgICogICAgIHRoaXMgZGVwZW5kcyBvbi4KICAgKiBAcGFyYW0geyFPYmplY3Q8c3RyaW5nLCBzdHJpbmc+fSBsb2FkRmxhZ3MKICAgKiBAc3RydWN0IEBjb25zdHJ1Y3RvcgogICAqIEBleHRlbmRzIHtnb29nLlRyYW5zZm9ybWVkRGVwZW5kZW5jeX0KICAgKi8KICBnb29nLlByZVRyYW5zcGlsZWRFczZNb2R1bGVEZXBlbmRlbmN5ID0gZnVuY3Rpb24oCiAgICAgIHBhdGgsIHJlbGF0aXZlUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBsb2FkRmxhZ3MpIHsKICAgIGdvb2cuUHJlVHJhbnNwaWxlZEVzNk1vZHVsZURlcGVuZGVuY3kuYmFzZSgKICAgICAgICB0aGlzLCAnY29uc3RydWN0b3InLCBwYXRoLCByZWxhdGl2ZVBhdGgsIHByb3ZpZGVzLCByZXF1aXJlcywgbG9hZEZsYWdzKTsKICB9OwogIGdvb2cuaW5oZXJpdHMoCiAgICAgIGdvb2cuUHJlVHJhbnNwaWxlZEVzNk1vZHVsZURlcGVuZGVuY3ksIGdvb2cuVHJhbnNmb3JtZWREZXBlbmRlbmN5KTsKCgogIC8qKiBAb3ZlcnJpZGUgKi8KICBnb29nLlByZVRyYW5zcGlsZWRFczZNb2R1bGVEZXBlbmRlbmN5LnByb3RvdHlwZS50cmFuc2Zvcm0gPSBmdW5jdGlvbigKICAgICAgY29udGVudHMpIHsKICAgIHJldHVybiBjb250ZW50czsKICB9OwoKCiAgLyoqCiAgICogQSBnb29nLm1vZHVsZSwgdHJhbnNwaWxlZCBvciBub3QuIFdpbGwgYWx3YXlzIHBlcmZvcm0gc29tZSBtaW5pbWFsCiAgICogdHJhbnNmb3JtYXRpb24gZXZlbiB3aGVuIG5vdCB0cmFuc3BpbGVkIHRvIHdyYXAgaW4gYSBnb29nLmxvYWRNb2R1bGUKICAgKiBzdGF0ZW1lbnQuCiAgICoKICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBBYnNvbHV0ZSBwYXRoIG9mIHRoaXMgc2NyaXB0LgogICAqIEBwYXJhbSB7c3RyaW5nfSByZWxhdGl2ZVBhdGggUGF0aCBvZiB0aGlzIHNjcmlwdCByZWxhdGl2ZSB0byBnb29nLmJhc2VQYXRoLgogICAqIEBwYXJhbSB7IUFycmF5PHN0cmluZz59IHByb3ZpZGVzIGdvb2cucHJvdmlkZWQgb3IgZ29vZy5tb2R1bGUgc3ltYm9scwogICAqICAgICBpbiB0aGlzIGZpbGUuCiAgICogQHBhcmFtIHshQXJyYXk8c3RyaW5nPn0gcmVxdWlyZXMgZ29vZyBzeW1ib2xzIG9yIHJlbGF0aXZlIHBhdGhzIHRvIENsb3N1cmUKICAgKiAgICAgdGhpcyBkZXBlbmRzIG9uLgogICAqIEBwYXJhbSB7IU9iamVjdDxzdHJpbmcsIHN0cmluZz59IGxvYWRGbGFncwogICAqIEBwYXJhbSB7Ym9vbGVhbn0gbmVlZHNUcmFuc3BpbGUKICAgKiBAcGFyYW0geyFnb29nLlRyYW5zcGlsZXJ9IHRyYW5zcGlsZXIKICAgKiBAc3RydWN0IEBjb25zdHJ1Y3RvcgogICAqIEBleHRlbmRzIHtnb29nLlRyYW5zZm9ybWVkRGVwZW5kZW5jeX0KICAgKi8KICBnb29nLkdvb2dNb2R1bGVEZXBlbmRlbmN5ID0gZnVuY3Rpb24oCiAgICAgIHBhdGgsIHJlbGF0aXZlUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBsb2FkRmxhZ3MsIG5lZWRzVHJhbnNwaWxlLAogICAgICB0cmFuc3BpbGVyKSB7CiAgICBnb29nLkdvb2dNb2R1bGVEZXBlbmRlbmN5LmJhc2UoCiAgICAgICAgdGhpcywgJ2NvbnN0cnVjdG9yJywgcGF0aCwgcmVsYXRpdmVQYXRoLCBwcm92aWRlcywgcmVxdWlyZXMsIGxvYWRGbGFncyk7CiAgICAvKiogQHByaXZhdGUgQGNvbnN0ICovCiAgICB0aGlzLm5lZWRzVHJhbnNwaWxlXyA9IG5lZWRzVHJhbnNwaWxlOwogICAgLyoqIEBwcml2YXRlIEBjb25zdCAqLwogICAgdGhpcy50cmFuc3BpbGVyXyA9IHRyYW5zcGlsZXI7CiAgfTsKICBnb29nLmluaGVyaXRzKGdvb2cuR29vZ01vZHVsZURlcGVuZGVuY3ksIGdvb2cuVHJhbnNmb3JtZWREZXBlbmRlbmN5KTsKCgogIC8qKiBAb3ZlcnJpZGUgKi8KICBnb29nLkdvb2dNb2R1bGVEZXBlbmRlbmN5LnByb3RvdHlwZS50cmFuc2Zvcm0gPSBmdW5jdGlvbihjb250ZW50cykgewogICAgaWYgKHRoaXMubmVlZHNUcmFuc3BpbGVfKSB7CiAgICAgIGNvbnRlbnRzID0gdGhpcy50cmFuc3BpbGVyXy50cmFuc3BpbGUoY29udGVudHMsIHRoaXMuZ2V0UGF0aE5hbWUoKSk7CiAgICB9CgogICAgaWYgKCFnb29nLkxPQURfTU9EVUxFX1VTSU5HX0VWQUwgfHwgZ29vZy5nbG9iYWwuSlNPTiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgIHJldHVybiAnJyArCiAgICAgICAgICAnZ29vZy5sb2FkTW9kdWxlKGZ1bmN0aW9uKGV4cG9ydHMpIHsnICsKICAgICAgICAgICcidXNlIHN0cmljdCI7JyArIGNvbnRlbnRzICsKICAgICAgICAgICdcbicgKyAgLy8gdGVybWluYXRlIGFueSB0cmFpbGluZyBzaW5nbGUgbGluZSBjb21tZW50LgogICAgICAgICAgJztyZXR1cm4gZXhwb3J0cycgKwogICAgICAgICAgJ30pOycgKwogICAgICAgICAgJ1xuLy8jIHNvdXJjZVVSTD0nICsgdGhpcy5wYXRoICsgJ1xuJzsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiAnJyArCiAgICAgICAgICAnZ29vZy5sb2FkTW9kdWxlKCcgKwogICAgICAgICAgZ29vZy5nbG9iYWwuSlNPTi5zdHJpbmdpZnkoCiAgICAgICAgICAgICAgY29udGVudHMgKyAnXG4vLyMgc291cmNlVVJMPScgKyB0aGlzLnBhdGggKyAnXG4nKSArCiAgICAgICAgICAnKTsnOwogICAgfQogIH07CgoKICAvKioKICAgKiBXaGV0aGVyIHRoZSBicm93c2VyIGlzIElFOSBvciBlYXJsaWVyLCB3aGljaCBuZWVkcyBzcGVjaWFsIGhhbmRsaW5nCiAgICogZm9yIGRlZmVycmVkIG1vZHVsZXMuCiAgICogQGNvbnN0IEBwcml2YXRlIHtib29sZWFufQogICAqLwogIGdvb2cuRGVidWdMb2FkZXJfLklTX09MRF9JRV8gPSAhISgKICAgICAgIWdvb2cuZ2xvYmFsLmF0b2IgJiYgZ29vZy5nbG9iYWwuZG9jdW1lbnQgJiYgZ29vZy5nbG9iYWwuZG9jdW1lbnRbJ2FsbCddKTsKCgogIC8qKgogICAqIEBwYXJhbSB7c3RyaW5nfSByZWxQYXRoCiAgICogQHBhcmFtIHshQXJyYXk8c3RyaW5nPnx1bmRlZmluZWR9IHByb3ZpZGVzCiAgICogQHBhcmFtIHshQXJyYXk8c3RyaW5nPn0gcmVxdWlyZXMKICAgKiBAcGFyYW0ge2Jvb2xlYW58IU9iamVjdDxzdHJpbmc+PX0gb3B0X2xvYWRGbGFncwogICAqIEBzZWUgZ29vZy5hZGREZXBlbmRlbmN5CiAgICovCiAgZ29vZy5EZWJ1Z0xvYWRlcl8ucHJvdG90eXBlLmFkZERlcGVuZGVuY3kgPSBmdW5jdGlvbigKICAgICAgcmVsUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBvcHRfbG9hZEZsYWdzKSB7CiAgICBwcm92aWRlcyA9IHByb3ZpZGVzIHx8IFtdOwogICAgcmVsUGF0aCA9IHJlbFBhdGgucmVwbGFjZSgvXFwvZywgJy8nKTsKICAgIHZhciBwYXRoID0gZ29vZy5ub3JtYWxpemVQYXRoXyhnb29nLmJhc2VQYXRoICsgcmVsUGF0aCk7CiAgICBpZiAoIW9wdF9sb2FkRmxhZ3MgfHwgdHlwZW9mIG9wdF9sb2FkRmxhZ3MgPT09ICdib29sZWFuJykgewogICAgICBvcHRfbG9hZEZsYWdzID0gb3B0X2xvYWRGbGFncyA/IHsnbW9kdWxlJzogZ29vZy5Nb2R1bGVUeXBlLkdPT0d9IDoge307CiAgICB9CiAgICB2YXIgZGVwID0gdGhpcy5mYWN0b3J5Xy5jcmVhdGVEZXBlbmRlbmN5KAogICAgICAgIHBhdGgsIHJlbFBhdGgsIHByb3ZpZGVzLCByZXF1aXJlcywgb3B0X2xvYWRGbGFncywKICAgICAgICBnb29nLnRyYW5zcGlsZXJfLm5lZWRzVHJhbnNwaWxlKAogICAgICAgICAgICBvcHRfbG9hZEZsYWdzWydsYW5nJ10gfHwgJ2VzMycsIG9wdF9sb2FkRmxhZ3NbJ21vZHVsZSddKSk7CiAgICB0aGlzLmRlcGVuZGVuY2llc19bcGF0aF0gPSBkZXA7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3ZpZGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHRoaXMuaWRUb1BhdGhfW3Byb3ZpZGVzW2ldXSA9IHBhdGg7CiAgICB9CiAgICB0aGlzLmlkVG9QYXRoX1tyZWxQYXRoXSA9IHBhdGg7CiAgfTsKCgogIC8qKgogICAqIENyZWF0ZXMgZ29vZy5EZXBlbmRlbmN5IGluc3RhbmNlcyBmb3IgdGhlIGRlYnVnIGxvYWRlciB0byBsb2FkLgogICAqCiAgICogU2hvdWxkIGJlIG92ZXJyaWRkZW4gdG8gaGF2ZSB0aGUgZGVidWcgbG9hZGVyIHVzZSBjdXN0b20gc3ViY2xhc3NlcyBvZgogICAqIGdvb2cuRGVwZW5kZW5jeS4KICAgKgogICAqIEBwYXJhbSB7IWdvb2cuVHJhbnNwaWxlcn0gdHJhbnNwaWxlcgogICAqIEBzdHJ1Y3QgQGNvbnN0cnVjdG9yCiAgICovCiAgZ29vZy5EZXBlbmRlbmN5RmFjdG9yeSA9IGZ1bmN0aW9uKHRyYW5zcGlsZXIpIHsKICAgIC8qKiBAcHJvdGVjdGVkIEBjb25zdCAqLwogICAgdGhpcy50cmFuc3BpbGVyID0gdHJhbnNwaWxlcjsKICB9OwoKCiAgLyoqCiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggQWJzb2x1dGUgcGF0aCBvZiB0aGUgZmlsZS4KICAgKiBAcGFyYW0ge3N0cmluZ30gcmVsYXRpdmVQYXRoIFBhdGggcmVsYXRpdmUgdG8gY2xvc3VyZeKAmXMgYmFzZS5qcy4KICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSBwcm92aWRlcyBBcnJheSBvZiBwcm92aWRlZCBnb29nLnByb3ZpZGUvbW9kdWxlIGlkcy4KICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSByZXF1aXJlcyBBcnJheSBvZiByZXF1aXJlZCBnb29nLnByb3ZpZGUvbW9kdWxlIC8KICAgKiAgICAgcmVsYXRpdmUgRVM2IG1vZHVsZSBwYXRocy4KICAgKiBAcGFyYW0geyFPYmplY3Q8c3RyaW5nLCBzdHJpbmc+fSBsb2FkRmxhZ3MKICAgKiBAcGFyYW0ge2Jvb2xlYW59IG5lZWRzVHJhbnNwaWxlIFRydWUgaWYgdGhlIGZpbGUgbmVlZHMgdG8gYmUgdHJhbnNwaWxlZAogICAqICAgICBwZXIgdGhlIGdvb2cuVHJhbnNwaWxlci4KICAgKiBAcmV0dXJuIHshZ29vZy5EZXBlbmRlbmN5fQogICAqLwogIGdvb2cuRGVwZW5kZW5jeUZhY3RvcnkucHJvdG90eXBlLmNyZWF0ZURlcGVuZGVuY3kgPSBmdW5jdGlvbigKICAgICAgcGF0aCwgcmVsYXRpdmVQYXRoLCBwcm92aWRlcywgcmVxdWlyZXMsIGxvYWRGbGFncywgbmVlZHNUcmFuc3BpbGUpIHsKCiAgICBpZiAobG9hZEZsYWdzWydtb2R1bGUnXSA9PSBnb29nLk1vZHVsZVR5cGUuR09PRykgewogICAgICByZXR1cm4gbmV3IGdvb2cuR29vZ01vZHVsZURlcGVuZGVuY3koCiAgICAgICAgICBwYXRoLCByZWxhdGl2ZVBhdGgsIHByb3ZpZGVzLCByZXF1aXJlcywgbG9hZEZsYWdzLCBuZWVkc1RyYW5zcGlsZSwKICAgICAgICAgIHRoaXMudHJhbnNwaWxlcik7CiAgICB9IGVsc2UgaWYgKG5lZWRzVHJhbnNwaWxlKSB7CiAgICAgIHJldHVybiBuZXcgZ29vZy5UcmFuc3BpbGVkRGVwZW5kZW5jeSgKICAgICAgICAgIHBhdGgsIHJlbGF0aXZlUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBsb2FkRmxhZ3MsIHRoaXMudHJhbnNwaWxlcik7CiAgICB9IGVsc2UgewogICAgICBpZiAobG9hZEZsYWdzWydtb2R1bGUnXSA9PSBnb29nLk1vZHVsZVR5cGUuRVM2KSB7CiAgICAgICAgaWYgKGdvb2cuVFJBTlNQSUxFID09ICduZXZlcicgJiYgZ29vZy5BU1NVTUVfRVNfTU9EVUxFU19UUkFOU1BJTEVEKSB7CiAgICAgICAgICByZXR1cm4gbmV3IGdvb2cuUHJlVHJhbnNwaWxlZEVzNk1vZHVsZURlcGVuZGVuY3koCiAgICAgICAgICAgICAgcGF0aCwgcmVsYXRpdmVQYXRoLCBwcm92aWRlcywgcmVxdWlyZXMsIGxvYWRGbGFncyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHJldHVybiBuZXcgZ29vZy5FczZNb2R1bGVEZXBlbmRlbmN5KAogICAgICAgICAgICAgIHBhdGgsIHJlbGF0aXZlUGF0aCwgcHJvdmlkZXMsIHJlcXVpcmVzLCBsb2FkRmxhZ3MpOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IGdvb2cuRGVwZW5kZW5jeSgKICAgICAgICAgICAgcGF0aCwgcmVsYXRpdmVQYXRoLCBwcm92aWRlcywgcmVxdWlyZXMsIGxvYWRGbGFncyk7CiAgICAgIH0KICAgIH0KICB9OwoKCiAgLyoqIEBwcml2YXRlIEBjb25zdCAqLwogIGdvb2cuZGVidWdMb2FkZXJfID0gbmV3IGdvb2cuRGVidWdMb2FkZXJfKCk7CgoKICAvKioKICAgKiBMb2FkcyB0aGUgQ2xvc3VyZSBEZXBlbmRlbmN5IGZpbGUuCiAgICoKICAgKiBFeHBvc2VkIGEgcHVibGljIGZ1bmN0aW9uIHNvIENMT1NVUkVfTk9fREVQUyBjYW4gYmUgc2V0IHRvIGZhbHNlLCBiYXNlCiAgICogbG9hZGVkLCBzZXREZXBlbmRlbmN5RmFjdG9yeSBjYWxsZWQsIGFuZCB0aGVuIHRoaXMgY2FsbGVkLiBpLmUuIGFsbG93cwogICAqIGN1c3RvbSBsb2FkaW5nIG9mIHRoZSBkZXBzIGZpbGUuCiAgICovCiAgZ29vZy5sb2FkQ2xvc3VyZURlcHMgPSBmdW5jdGlvbigpIHsKICAgIGdvb2cuZGVidWdMb2FkZXJfLmxvYWRDbG9zdXJlRGVwcygpOwogIH07CgoKICAvKioKICAgKiBTZXRzIHRoZSBkZXBlbmRlbmN5IGZhY3RvcnksIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSBjdXN0b20KICAgKiBnb29nLkRlcGVuZGVuY3kgaW1wbGVtZW50YXRpb25zIHRvIGNvbnRyb2wgaG93IGRlcGVuZGVuY2llcyBhcmUgbG9hZGVkLgogICAqCiAgICogTm90ZTogaWYgeW91IHdpc2ggdG8gY2FsbCB0aGlzIGZ1bmN0aW9uIGFuZCBwcm92aWRlIHlvdXIgb3duIGltcGxlbW5ldGF0aW9uCiAgICogaXQgaXMgYSB3aXNlIGlkZWEgdG8gc2V0IENMT1NVUkVfTk9fREVQUyB0byB0cnVlLCBvdGhlcndpc2UgdGhlIGRlcGVuZGVuY3kKICAgKiBmaWxlIGFuZCBhbGwgb2YgaXRzIGdvb2cuYWRkRGVwZW5kZW5jeSBjYWxscyB3aWxsIHVzZSB0aGUgZGVmYXVsdCBmYWN0b3J5LgogICAqIFlvdSBjYW4gY2FsbCBnb29nLmxvYWRDbG9zdXJlRGVwcyB0byBsb2FkIHRoZSBDbG9zdXJlIGRlcGVuZGVuY3kgZmlsZQogICAqIGxhdGVyLCBhZnRlciB5b3VyIGZhY3RvcnkgaXMgaW5qZWN0ZWQuCiAgICoKICAgKiBAcGFyYW0geyFnb29nLkRlcGVuZGVuY3lGYWN0b3J5fSBmYWN0b3J5CiAgICovCiAgZ29vZy5zZXREZXBlbmRlbmN5RmFjdG9yeSA9IGZ1bmN0aW9uKGZhY3RvcnkpIHsKICAgIGdvb2cuZGVidWdMb2FkZXJfLnNldERlcGVuZGVuY3lGYWN0b3J5KGZhY3RvcnkpOwogIH07CgoKICBpZiAoIWdvb2cuZ2xvYmFsLkNMT1NVUkVfTk9fREVQUykgewogICAgZ29vZy5kZWJ1Z0xvYWRlcl8ubG9hZENsb3N1cmVEZXBzKCk7CiAgfQoKCiAgLyoqCiAgICogQm9vdHN0cmFwcyB0aGUgZ2l2ZW4gbmFtZXNwYWNlcyBhbmQgY2FsbHMgdGhlIGNhbGxiYWNrIG9uY2UgdGhleSBhcmUKICAgKiBhdmFpbGFibGUgZWl0aGVyIHZpYSBnb29nLnJlcXVpcmUuIFRoaXMgaXMgYSByZXBsYWNlbWVudCBmb3IgdXNpbmcKICAgKiBgZ29vZy5yZXF1aXJlYCB0byBib290c3RyYXAgQ2xvc3VyZSBKYXZhU2NyaXB0LiBQcmV2aW91c2x5IGEgYGdvb2cucmVxdWlyZWAKICAgKiBpbiBhbiBIVE1MIGZpbGUgd291bGQgZ3VhcmFudGVlIHRoYXQgdGhlIHJlcXVpcmUnZCBuYW1lc3BhY2Ugd2FzIGF2YWlsYWJsZQogICAqIGluIHRoZSBuZXh0IGltbWVkaWF0ZSBzY3JpcHQgdGFnLiBXaXRoIEVTNiBtb2R1bGVzIHRoaXMgbm8gbG9uZ2VyIGEKICAgKiBndWFyYW50ZWUuCiAgICoKICAgKiBAcGFyYW0geyFBcnJheTxzdHJpbmc+fSBuYW1lc3BhY2VzCiAgICogQHBhcmFtIHtmdW5jdGlvbigpOiA/fSBjYWxsYmFjayBGdW5jdGlvbiB0byBjYWxsIG9uY2UgYWxsIHRoZSBuYW1lc3BhY2VzCiAgICogICAgIGhhdmUgbG9hZGVkLiBBbHdheXMgY2FsbGVkIGFzeW5jaHJvbm91c2x5LgogICAqLwogIGdvb2cuYm9vdHN0cmFwID0gZnVuY3Rpb24obmFtZXNwYWNlcywgY2FsbGJhY2spIHsKICAgIGdvb2cuZGVidWdMb2FkZXJfLmJvb3RzdHJhcChuYW1lc3BhY2VzLCBjYWxsYmFjayk7CiAgfTsKfQoKCi8qKgogKiBAZGVmaW5lIHtzdHJpbmd9IFRydXN0ZWQgVHlwZXMgcG9saWN5IG5hbWUuIElmIG5vbi1lbXB0eSB0aGVuIENsb3N1cmUgd2lsbAogKiB1c2UgVHJ1c3RlZCBUeXBlcy4KICovCmdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfTkFNRSA9CiAgICBnb29nLmRlZmluZSgnZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV9OQU1FJywgJycpOwoKCi8qKgogKiBSZXR1cm5zIHRoZSBwYXJhbWV0ZXIuCiAqIEBwYXJhbSB7c3RyaW5nfSBzCiAqIEByZXR1cm4ge3N0cmluZ30KICogQHByaXZhdGUKICovCmdvb2cuaWRlbnRpdHlfID0gZnVuY3Rpb24ocykgewogIHJldHVybiBzOwp9OwoKCi8qKgogKiBDcmVhdGVzIFRydXN0ZWQgVHlwZXMgcG9saWN5IGlmIFRydXN0ZWQgVHlwZXMgYXJlIHN1cHBvcnRlZCBieSB0aGUgYnJvd3Nlci4KICogVGhlIHBvbGljeSBqdXN0IGJsZXNzZXMgYW55IHN0cmluZyBhcyBhIFRydXN0ZWQgVHlwZS4gSXQgaXMgbm90IHZpc2liaWxpdHkKICogcmVzdHJpY3RlZCBiZWNhdXNlIGFueW9uZSBjYW4gYWxzbyBjYWxsIFRydXN0ZWRUeXBlcy5jcmVhdGVQb2xpY3kgZGlyZWN0bHkuCiAqIEhvd2V2ZXIsIHRoZSBhbGxvd2VkIG5hbWVzIHNob3VsZCBiZSByZXN0cmljdGVkIGJ5IGEgSFRUUCBoZWFkZXIgYW5kIHRoZQogKiByZWZlcmVuY2UgdG8gdGhlIGNyZWF0ZWQgcG9saWN5IHNob3VsZCBiZSB2aXNpYmlsaXR5IHJlc3RyaWN0ZWQuCiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lCiAqIEByZXR1cm4gez9UcnVzdGVkVHlwZVBvbGljeX0KICovCmdvb2cuY3JlYXRlVHJ1c3RlZFR5cGVzUG9saWN5ID0gZnVuY3Rpb24obmFtZSkgewogIHZhciBwb2xpY3kgPSBudWxsOwogIC8vIFRPRE8oa290byk6IFJlbW92ZSB3aW5kb3cuVHJ1c3RlZFR5cGVzIHZhcmlhbnQgd2hlbiB0aGUgbmV3ZXIgQVBJIHNoaXBzLgogIHZhciBwb2xpY3lGYWN0b3J5ID0gZ29vZy5nbG9iYWwudHJ1c3RlZFR5cGVzIHx8IGdvb2cuZ2xvYmFsLlRydXN0ZWRUeXBlczsKICBpZiAoIXBvbGljeUZhY3RvcnkgfHwgIXBvbGljeUZhY3RvcnkuY3JlYXRlUG9saWN5KSB7CiAgICByZXR1cm4gcG9saWN5OwogIH0KICAvLyBUcnVzdGVkVHlwZXMuY3JlYXRlUG9saWN5IHRocm93cyBpZiBjYWxsZWQgd2l0aCBhIG5hbWUgdGhhdCBpcyBhbHJlYWR5CiAgLy8gcmVnaXN0ZXJlZCwgZXZlbiBpbiByZXBvcnQtb25seSBtb2RlLiBVbnRpbCB0aGUgQVBJIGNoYW5nZXMsIGNhdGNoIHRoZQogIC8vIGVycm9yIG5vdCB0byBicmVhayB0aGUgYXBwbGljYXRpb25zIGZ1bmN0aW9uYWxseS4gSW4gc3VjaCBjYXNlLCB0aGUgY29kZQogIC8vIHdpbGwgZmFsbCBiYWNrIHRvIHVzaW5nIHJlZ3VsYXIgU2FmZSBUeXBlcy4KICAvLyBUT0RPKGtvdG8pOiBSZW1vdmUgY2F0Y2hpbmcgb25jZSBjcmVhdGVQb2xpY3kgQVBJIHN0b3BzIHRocm93aW5nLgogIHRyeSB7CiAgICBwb2xpY3kgPSBwb2xpY3lGYWN0b3J5LmNyZWF0ZVBvbGljeShuYW1lLCB7CiAgICAgIGNyZWF0ZUhUTUw6IGdvb2cuaWRlbnRpdHlfLAogICAgICBjcmVhdGVTY3JpcHQ6IGdvb2cuaWRlbnRpdHlfLAogICAgICBjcmVhdGVTY3JpcHRVUkw6IGdvb2cuaWRlbnRpdHlfLAogICAgICBjcmVhdGVVUkw6IGdvb2cuaWRlbnRpdHlfCiAgICB9KTsKICB9IGNhdGNoIChlKSB7CiAgICBnb29nLmxvZ1RvQ29uc29sZV8oZS5tZXNzYWdlKTsKICB9CiAgcmV0dXJuIHBvbGljeTsKfTsKCgovKiogQHByaXZhdGUgQGNvbnN0IHs/VHJ1c3RlZFR5cGVQb2xpY3l9ICovCmdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfID0gZ29vZy5UUlVTVEVEX1RZUEVTX1BPTElDWV9OQU1FID8KICAgIGdvb2cuY3JlYXRlVHJ1c3RlZFR5cGVzUG9saWN5KGdvb2cuVFJVU1RFRF9UWVBFU19QT0xJQ1lfTkFNRSArICcjYmFzZScpIDoKICAgIG51bGw7CgovLyBDb3B5cmlnaHQgMjAxOSBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi8vCi8vIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwovLyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi8vIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAovLwovLyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAovLwovLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUy1JUyIgQkFTSVMsCi8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgovLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgovLwovLyBUaGlzIGZpbGUgaGFzIGJlZW4gYXV0by1nZW5lcmF0ZWQgYnkgR2VuSnNEZXBzLCBwbGVhc2UgZG8gbm90IGVkaXQuCgovLyBEaXNhYmxlIENsYW5nIGZvcm1hdHRlciBmb3IgdGhpcyBmaWxlLgovLyBTZWUgaHR0cDovL2dvby5nbC9TZGl3WkgKLy8gY2xhbmctZm9ybWF0IG9mZgoKZ29vZy5hZGREZXBlbmRlbmN5KCdjb2xsZWN0aW9ucy9zZXRzLmpzJywgWydnb29nLmNvbGxlY3Rpb25zLnNldHMnXSwgWydnb29nLmxhYnMuY29sbGVjdGlvbnMuaXRlcmFibGVzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY29sbGVjdGlvbnMvc2V0c190ZXN0LmpzJywgWydnb29nLmNvbGxlY3Rpb25zLnNldHNUZXN0J10sIFsnZ29vZy5jb2xsZWN0aW9ucy5zZXRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCcuLi8uLi90aGlyZF9wYXJ0eS9jbG9zdXJlL2dvb2cvbW9jaGlraXQvYXN5bmMvZGVmZXJyZWQuanMnLCBbJ2dvb2cuYXN5bmMuRGVmZXJyZWQnLCAnZ29vZy5hc3luYy5EZWZlcnJlZC5BbHJlYWR5Q2FsbGVkRXJyb3InLCAnZ29vZy5hc3luYy5EZWZlcnJlZC5DYW5jZWxlZEVycm9yJ10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuVGhlbmFibGUnLCAnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kZWJ1Zy5FcnJvciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnLi4vLi4vdGhpcmRfcGFydHkvY2xvc3VyZS9nb29nL21vY2hpa2l0L2FzeW5jL2RlZmVycmVkX2FzeW5jX3Rlc3QuanMnLCBbJ2dvb2cuYXN5bmMuZGVmZXJyZWRBc3luY1Rlc3QnXSwgWydnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCcuLi8uLi90aGlyZF9wYXJ0eS9jbG9zdXJlL2dvb2cvbW9jaGlraXQvYXN5bmMvZGVmZXJyZWRfdGVzdC5qcycsIFsnZ29vZy5hc3luYy5kZWZlcnJlZFRlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5UaGVuYWJsZScsICdnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCcuLi8uLi90aGlyZF9wYXJ0eS9jbG9zdXJlL2dvb2cvbW9jaGlraXQvYXN5bmMvZGVmZXJyZWRsaXN0LmpzJywgWydnb29nLmFzeW5jLkRlZmVycmVkTGlzdCddLCBbJ2dvb2cuYXN5bmMuRGVmZXJyZWQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJy4uLy4uL3RoaXJkX3BhcnR5L2Nsb3N1cmUvZ29vZy9tb2NoaWtpdC9hc3luYy9kZWZlcnJlZGxpc3RfdGVzdC5qcycsIFsnZ29vZy5hc3luYy5kZWZlcnJlZExpc3RUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cuYXN5bmMuRGVmZXJyZWRMaXN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm90by9wcm90by5qcycsIFsnZ29vZy5wcm90byddLCBbJ2dvb2cucHJvdG8uU2VyaWFsaXplciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHJvdG8vc2VyaWFsaXplci5qcycsIFsnZ29vZy5wcm90by5TZXJpYWxpemVyJ10sIFsnZ29vZy5qc29uLlNlcmlhbGl6ZXInLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb3RvL3NlcmlhbGl6ZXJfdGVzdC5qcycsIFsnZ29vZy5wcm90b1Rlc3QnXSwgWydnb29nLnByb3RvJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdhMTF5L2FyaWEvYW5ub3VuY2VyLmpzJywgWydnb29nLmExMXkuYXJpYS5Bbm5vdW5jZXInXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5UaW1lcicsICdnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5MaXZlUHJpb3JpdHknLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLm9iamVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYTExeS9hcmlhL2Fubm91bmNlcl90ZXN0LmpzJywgWydnb29nLmExMXkuYXJpYS5Bbm5vdW5jZXJUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuQW5ub3VuY2VyJywgJ2dvb2cuYTExeS5hcmlhLkxpdmVQcmlvcml0eScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uaWZyYW1lJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2ExMXkvYXJpYS9hcmlhLmpzJywgWydnb29nLmExMXkuYXJpYSddLCBbJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hMTF5LmFyaWEuZGF0YXRhYmxlcycsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdhMTF5L2FyaWEvYXJpYV90ZXN0LmpzJywgWydnb29nLmExMXkuYXJpYVRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2ExMXkvYXJpYS9hdHRyaWJ1dGVzLmpzJywgWydnb29nLmExMXkuYXJpYS5BdXRvQ29tcGxldGVWYWx1ZXMnLCAnZ29vZy5hMTF5LmFyaWEuQ2hlY2tlZFZhbHVlcycsICdnb29nLmExMXkuYXJpYS5Ecm9wRWZmZWN0VmFsdWVzJywgJ2dvb2cuYTExeS5hcmlhLkV4cGFuZGVkVmFsdWVzJywgJ2dvb2cuYTExeS5hcmlhLkdyYWJiZWRWYWx1ZXMnLCAnZ29vZy5hMTF5LmFyaWEuSW52YWxpZFZhbHVlcycsICdnb29nLmExMXkuYXJpYS5MaXZlUHJpb3JpdHknLCAnZ29vZy5hMTF5LmFyaWEuT3JpZW50YXRpb25WYWx1ZXMnLCAnZ29vZy5hMTF5LmFyaWEuUHJlc3NlZFZhbHVlcycsICdnb29nLmExMXkuYXJpYS5SZWxldmFudFZhbHVlcycsICdnb29nLmExMXkuYXJpYS5TZWxlY3RlZFZhbHVlcycsICdnb29nLmExMXkuYXJpYS5Tb3J0VmFsdWVzJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYTExeS9hcmlhL2RhdGF0YWJsZXMuanMnLCBbJ2dvb2cuYTExeS5hcmlhLmRhdGF0YWJsZXMnXSwgWydnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLm9iamVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYTExeS9hcmlhL3JvbGVzLmpzJywgWydnb29nLmExMXkuYXJpYS5Sb2xlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXJyYXkvYXJyYXkuanMnLCBbJ2dvb2cuYXJyYXknXSwgWydnb29nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2FycmF5L2FycmF5X3Rlc3QuanMnLCBbJ2dvb2cuYXJyYXlUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczcnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXNzZXJ0cy9hc3NlcnRzLmpzJywgWydnb29nLmFzc2VydHMnLCAnZ29vZy5hc3NlcnRzLkFzc2VydGlvbkVycm9yJ10sIFsnZ29vZy5kZWJ1Zy5FcnJvcicsICdnb29nLmRvbS5Ob2RlVHlwZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXNzZXJ0cy9hc3NlcnRzX3Rlc3QuanMnLCBbJ2dvb2cuYXNzZXJ0c1Rlc3QnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5hc3NlcnRzLkFzc2VydGlvbkVycm9yJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5yZWZsZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdhc3luYy9hbmltYXRpb25kZWxheS5qcycsIFsnZ29vZy5hc3luYy5BbmltYXRpb25EZWxheSddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmV2ZW50cycsICdnb29nLmZ1bmN0aW9ucyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXN5bmMvYW5pbWF0aW9uZGVsYXlfdGVzdC5qcycsIFsnZ29vZy5hc3luYy5BbmltYXRpb25EZWxheVRlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5UaW1lcicsICdnb29nLmFzeW5jLkFuaW1hdGlvbkRlbGF5JywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdhc3luYy9jb25kaXRpb25hbGRlbGF5LmpzJywgWydnb29nLmFzeW5jLkNvbmRpdGlvbmFsRGVsYXknXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5hc3luYy5EZWxheSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXN5bmMvY29uZGl0aW9uYWxkZWxheV90ZXN0LmpzJywgWydnb29nLmFzeW5jLkNvbmRpdGlvbmFsRGVsYXlUZXN0J10sIFsnZ29vZy5hc3luYy5Db25kaXRpb25hbERlbGF5JywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2FzeW5jL2RlYm91bmNlci5qcycsIFsnZ29vZy5hc3luYy5EZWJvdW5jZXInXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5UaW1lciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXN5bmMvZGVib3VuY2VyX3Rlc3QuanMnLCBbJ2dvb2cuYXN5bmMuRGVib3VuY2VyVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3luYy5EZWJvdW5jZXInLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2FzeW5jL2RlbGF5LmpzJywgWydnb29nLkRlbGF5JywgJ2dvb2cuYXN5bmMuRGVsYXknXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5UaW1lciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXN5bmMvZGVsYXlfdGVzdC5qcycsIFsnZ29vZy5hc3luYy5EZWxheVRlc3QnXSwgWydnb29nLmFzeW5jLkRlbGF5JywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2FzeW5jL2ZyZWVsaXN0LmpzJywgWydnb29nLmFzeW5jLkZyZWVMaXN0J10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2FzeW5jL2ZyZWVsaXN0X3Rlc3QuanMnLCBbJ2dvb2cuYXN5bmMuRnJlZUxpc3RUZXN0J10sIFsnZ29vZy5hc3luYy5GcmVlTGlzdCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXN5bmMvbmV4dHRpY2suanMnLCBbJ2dvb2cuYXN5bmMubmV4dFRpY2snLCAnZ29vZy5hc3luYy50aHJvd0V4Y2VwdGlvbiddLCBbJ2dvb2cuZGVidWcuZW50cnlQb2ludFJlZ2lzdHJ5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmxhYnMudXNlckFnZW50LmJyb3dzZXInLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC5lbmdpbmUnLCAnZ29vZy5zdHJpbmcuQ29uc3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2FzeW5jL25leHR0aWNrX3Rlc3QuanMnLCBbJ2dvb2cuYXN5bmMubmV4dFRpY2tUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuYXN5bmMubmV4dFRpY2snLCAnZ29vZy5kZWJ1Zy5FcnJvckhhbmRsZXInLCAnZ29vZy5kZWJ1Zy5lbnRyeVBvaW50UmVnaXN0cnknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmxhYnMudXNlckFnZW50LmJyb3dzZXInLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXN5bmMvcnVuLmpzJywgWydnb29nLmFzeW5jLnJ1biddLCBbJ2dvb2cuYXN5bmMuV29ya1F1ZXVlJywgJ2dvb2cuYXN5bmMubmV4dFRpY2snLCAnZ29vZy5hc3luYy50aHJvd0V4Y2VwdGlvbiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXN5bmMvcnVuX25leHRfdGlja190ZXN0LmpzJywgWydnb29nLmFzeW5jLnJ1bk5leHRUaWNrVGVzdCddLCBbJ2dvb2cuYXN5bmMucnVuJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdhc3luYy9ydW5fdGVzdC5qcycsIFsnZ29vZy5hc3luYy5ydW5UZXN0J10sIFsnZ29vZy5hc3luYy5ydW4nLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdhc3luYy90aHJvdHRsZS5qcycsIFsnZ29vZy5UaHJvdHRsZScsICdnb29nLmFzeW5jLlRocm90dGxlJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuVGltZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2FzeW5jL3Rocm90dGxlX3Rlc3QuanMnLCBbJ2dvb2cuYXN5bmMuVGhyb3R0bGVUZXN0J10sIFsnZ29vZy5hc3luYy5UaHJvdHRsZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdhc3luYy93b3JrcXVldWUuanMnLCBbJ2dvb2cuYXN5bmMuV29ya0l0ZW0nLCAnZ29vZy5hc3luYy5Xb3JrUXVldWUnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5hc3luYy5GcmVlTGlzdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYXN5bmMvd29ya3F1ZXVlX3Rlc3QuanMnLCBbJ2dvb2cuYXN5bmMuV29ya1F1ZXVlVGVzdCddLCBbJ2dvb2cuYXN5bmMuV29ya1F1ZXVlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdiYXNlLmpzJywgWydnb29nJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnYmFzZV9tb2R1bGVfdGVzdC5qcycsIFsnZ29vZy5iYXNlTW9kdWxlVGVzdCddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy50ZXN0X21vZHVsZScsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuanN1bml0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdiYXNlX3Rlc3QuanMnLCBbJ2dvb2cuYmFzZVRlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5UaW1lcicsICdnb29nLlVyaScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdF9tb2R1bGUnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmpzdW5pdCcsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjb2xvci9hbHBoYS5qcycsIFsnZ29vZy5jb2xvci5hbHBoYSddLCBbJ2dvb2cuY29sb3InXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NvbG9yL2FscGhhX3Rlc3QuanMnLCBbJ2dvb2cuY29sb3IuYWxwaGFUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmNvbG9yLmFscGhhJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjb2xvci9jb2xvci5qcycsIFsnZ29vZy5jb2xvcicsICdnb29nLmNvbG9yLkhzbCcsICdnb29nLmNvbG9yLkhzdicsICdnb29nLmNvbG9yLlJnYiddLCBbJ2dvb2cuY29sb3IubmFtZXMnLCAnZ29vZy5tYXRoJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjb2xvci9jb2xvcl90ZXN0LmpzJywgWydnb29nLmNvbG9yVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5jb2xvcicsICdnb29nLmNvbG9yLm5hbWVzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjb2xvci9uYW1lcy5qcycsIFsnZ29vZy5jb2xvci5uYW1lcyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2Flcy5qcycsIFsnZ29vZy5jcnlwdC5BZXMnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5jcnlwdC5CbG9ja0NpcGhlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvYWVzX3Rlc3QuanMnLCBbJ2dvb2cuY3J5cHQuQWVzVGVzdCddLCBbJ2dvb2cuY3J5cHQnLCAnZ29vZy5jcnlwdC5BZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2FyYzQuanMnLCBbJ2dvb2cuY3J5cHQuQXJjNCddLCBbJ2dvb2cuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvYXJjNF90ZXN0LmpzJywgWydnb29nLmNyeXB0LkFyYzRUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmNyeXB0LkFyYzQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2Jhc2U2NC5qcycsIFsnZ29vZy5jcnlwdC5iYXNlNjQnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5jcnlwdCcsICdnb29nLnN0cmluZycsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHsnbGFuZyc6ICdlczUnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvYmFzZTY0X3Rlc3QuanMnLCBbJ2dvb2cuY3J5cHQuYmFzZTY0VGVzdCddLCBbJ2dvb2cuY3J5cHQnLCAnZ29vZy5jcnlwdC5iYXNlNjQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2Jhc2VuLmpzJywgWydnb29nLmNyeXB0LmJhc2VOJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2Jhc2VuX3Rlc3QuanMnLCBbJ2dvb2cuY3J5cHQuYmFzZU5UZXN0J10sIFsnZ29vZy5jcnlwdC5iYXNlTicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvYmxvYmhhc2hlci5qcycsIFsnZ29vZy5jcnlwdC5CbG9iSGFzaGVyJywgJ2dvb2cuY3J5cHQuQmxvYkhhc2hlci5FdmVudFR5cGUnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5mcycsICdnb29nLmxvZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvYmxvYmhhc2hlcl90ZXN0LmpzJywgWydnb29nLmNyeXB0LkJsb2JIYXNoZXJUZXN0J10sIFsnZ29vZy5jcnlwdCcsICdnb29nLmNyeXB0LkJsb2JIYXNoZXInLCAnZ29vZy5jcnlwdC5NZDUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2Jsb2NrY2lwaGVyLmpzJywgWydnb29nLmNyeXB0LkJsb2NrQ2lwaGVyJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvYnl0ZXN0cmluZ19wZXJmLmpzJywgWydnb29nLmNyeXB0LmJ5dGVBcnJheVRvU3RyaW5nUGVyZiddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy50ZXN0aW5nLlBlcmZvcm1hbmNlVGFibGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2NiYy5qcycsIFsnZ29vZy5jcnlwdC5DYmMnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmNyeXB0JywgJ2dvb2cuY3J5cHQuQmxvY2tDaXBoZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2NiY190ZXN0LmpzJywgWydnb29nLmNyeXB0LkNiY1Rlc3QnXSwgWydnb29nLmNyeXB0JywgJ2dvb2cuY3J5cHQuQWVzJywgJ2dvb2cuY3J5cHQuQ2JjJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9jcnlwdC5qcycsIFsnZ29vZy5jcnlwdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9jcnlwdF90ZXN0LmpzJywgWydnb29nLmNyeXB0VGVzdCddLCBbJ2dvb2cuY3J5cHQnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2N0ci5qcycsIFsnZ29vZy5jcnlwdC5DdHInXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmNyeXB0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9jdHJfdGVzdC5qcycsIFsnZ29vZy5jcnlwdC5DdHJUZXN0J10sIFsnZ29vZy5jcnlwdCcsICdnb29nLmNyeXB0LkFlcycsICdnb29nLmNyeXB0LkN0cicsICdnb29nLnRlc3RpbmcuanN1bml0J10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvaGFzaC5qcycsIFsnZ29vZy5jcnlwdC5IYXNoJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvaGFzaDMyLmpzJywgWydnb29nLmNyeXB0Lmhhc2gzMiddLCBbJ2dvb2cuY3J5cHQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2hhc2gzMl90ZXN0LmpzJywgWydnb29nLmNyeXB0Lmhhc2gzMlRlc3QnXSwgWydnb29nLmNyeXB0Lmhhc2gzMicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2hhc2h0ZXN0ZXIuanMnLCBbJ2dvb2cuY3J5cHQuaGFzaFRlc3RlciddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5jcnlwdCcsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cucmVmbGVjdCcsICdnb29nLnRlc3RpbmcuUGVyZm9ybWFuY2VUYWJsZScsICdnb29nLnRlc3RpbmcuUHNldWRvUmFuZG9tJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9obWFjLmpzJywgWydnb29nLmNyeXB0LkhtYWMnXSwgWydnb29nLmNyeXB0Lkhhc2gnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L2htYWNfdGVzdC5qcycsIFsnZ29vZy5jcnlwdC5IbWFjVGVzdCddLCBbJ2dvb2cuY3J5cHQuSG1hYycsICdnb29nLmNyeXB0LlNoYTEnLCAnZ29vZy5jcnlwdC5oYXNoVGVzdGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9tZDUuanMnLCBbJ2dvb2cuY3J5cHQuTWQ1J10sIFsnZ29vZy5jcnlwdC5IYXNoJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9tZDVfdGVzdC5qcycsIFsnZ29vZy5jcnlwdC5NZDVUZXN0J10sIFsnZ29vZy5jcnlwdCcsICdnb29nLmNyeXB0Lk1kNScsICdnb29nLmNyeXB0Lmhhc2hUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L3Bia2RmMi5qcycsIFsnZ29vZy5jcnlwdC5wYmtkZjInXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmNyeXB0JywgJ2dvb2cuY3J5cHQuSG1hYycsICdnb29nLmNyeXB0LlNoYTEnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L3Bia2RmMl90ZXN0LmpzJywgWydnb29nLmNyeXB0LnBia2RmMlRlc3QnXSwgWydnb29nLmNyeXB0JywgJ2dvb2cuY3J5cHQucGJrZGYyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9zaGExLmpzJywgWydnb29nLmNyeXB0LlNoYTEnXSwgWydnb29nLmNyeXB0Lkhhc2gnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L3NoYTFfdGVzdC5qcycsIFsnZ29vZy5jcnlwdC5TaGExVGVzdCddLCBbJ2dvb2cuY3J5cHQnLCAnZ29vZy5jcnlwdC5TaGExJywgJ2dvb2cuY3J5cHQuaGFzaFRlc3RlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvc2hhMi5qcycsIFsnZ29vZy5jcnlwdC5TaGEyJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5jcnlwdC5IYXNoJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9zaGEyMjQuanMnLCBbJ2dvb2cuY3J5cHQuU2hhMjI0J10sIFsnZ29vZy5jcnlwdC5TaGEyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9zaGEyMjRfdGVzdC5qcycsIFsnZ29vZy5jcnlwdC5TaGEyMjRUZXN0J10sIFsnZ29vZy5jcnlwdCcsICdnb29nLmNyeXB0LlNoYTIyNCcsICdnb29nLmNyeXB0Lmhhc2hUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L3NoYTI1Ni5qcycsIFsnZ29vZy5jcnlwdC5TaGEyNTYnXSwgWydnb29nLmNyeXB0LlNoYTInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L3NoYTI1Nl90ZXN0LmpzJywgWydnb29nLmNyeXB0LlNoYTI1NlRlc3QnXSwgWydnb29nLmNyeXB0JywgJ2dvb2cuY3J5cHQuU2hhMjU2JywgJ2dvb2cuY3J5cHQuaGFzaFRlc3RlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3J5cHQvc2hhMl82NGJpdC5qcycsIFsnZ29vZy5jcnlwdC5TaGEyXzY0Yml0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5jcnlwdC5IYXNoJywgJ2dvb2cubWF0aC5Mb25nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdjcnlwdC9zaGEyXzY0Yml0X3Rlc3QuanMnLCBbJ2dvb2cuY3J5cHQuU2hhMl82NGJpdF90ZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmNyeXB0JywgJ2dvb2cuY3J5cHQuU2hhMzg0JywgJ2dvb2cuY3J5cHQuU2hhNTEyJywgJ2dvb2cuY3J5cHQuU2hhNTEyXzI1NicsICdnb29nLmNyeXB0Lmhhc2hUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L3NoYTM4NC5qcycsIFsnZ29vZy5jcnlwdC5TaGEzODQnXSwgWydnb29nLmNyeXB0LlNoYTJfNjRiaXQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L3NoYTUxMi5qcycsIFsnZ29vZy5jcnlwdC5TaGE1MTInXSwgWydnb29nLmNyeXB0LlNoYTJfNjRiaXQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2NyeXB0L3NoYTUxMl8yNTYuanMnLCBbJ2dvb2cuY3J5cHQuU2hhNTEyXzI1NiddLCBbJ2dvb2cuY3J5cHQuU2hhMl82NGJpdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3Nzb20vY3Nzb20uanMnLCBbJ2dvb2cuY3Nzb20nLCAnZ29vZy5jc3NvbS5Dc3NSdWxlVHlwZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3Nzb20vY3Nzb21fdGVzdC5qcycsIFsnZ29vZy5jc3NvbVRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuY3Nzb20nLCAnZ29vZy5jc3NvbS5Dc3NSdWxlVHlwZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnY3Nzb20vaWZyYW1lL3N0eWxlLmpzJywgWydnb29nLmNzc29tLmlmcmFtZS5zdHlsZSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmNzc29tJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Nzc29tL2lmcmFtZS9zdHlsZV90ZXN0LmpzJywgWydnb29nLmNzc29tLmlmcmFtZS5zdHlsZVRlc3QnXSwgWydnb29nLmNzc29tJywgJ2dvb2cuY3Nzb20uaWZyYW1lLnN0eWxlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkRvbUhlbHBlcicsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRhc291cmNlL2RhdGFtYW5hZ2VyLmpzJywgWydnb29nLmRzLkRhdGFNYW5hZ2VyJ10sIFsnZ29vZy5kcy5CYXNpY05vZGVMaXN0JywgJ2dvb2cuZHMuRGF0YU5vZGUnLCAnZ29vZy5kcy5FeHByJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RydWN0cycsICdnb29nLnN0cnVjdHMuTWFwJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRhc291cmNlL2RhdGFzb3VyY2UuanMnLCBbJ2dvb2cuZHMuQmFzZURhdGFOb2RlJywgJ2dvb2cuZHMuQmFzaWNOb2RlTGlzdCcsICdnb29nLmRzLkRhdGFOb2RlJywgJ2dvb2cuZHMuRGF0YU5vZGVMaXN0JywgJ2dvb2cuZHMuRW1wdHlOb2RlTGlzdCcsICdnb29nLmRzLkxvYWRTdGF0ZScsICdnb29nLmRzLlNvcnRlZE5vZGVMaXN0JywgJ2dvb2cuZHMuVXRpbCcsICdnb29nLmRzLmxvZ2dlciddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5sb2cnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RhdGFzb3VyY2UvZGF0YXNvdXJjZV90ZXN0LmpzJywgWydnb29nLmRzLkpzRGF0YVNvdXJjZVRlc3QnXSwgWydnb29nLmRvbS54bWwnLCAnZ29vZy5kcy5EYXRhTWFuYWdlcicsICdnb29nLmRzLkpzRGF0YVNvdXJjZScsICdnb29nLmRzLlNvcnRlZE5vZGVMaXN0JywgJ2dvb2cuZHMuWG1sRGF0YVNvdXJjZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGF0YXNvdXJjZS9leHByLmpzJywgWydnb29nLmRzLkV4cHInXSwgWydnb29nLmRzLkJhc2ljTm9kZUxpc3QnLCAnZ29vZy5kcy5FbXB0eU5vZGVMaXN0JywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRhc291cmNlL2V4cHJfdGVzdC5qcycsIFsnZ29vZy5kcy5FeHByVGVzdCddLCBbJ2dvb2cuZHMuRGF0YU1hbmFnZXInLCAnZ29vZy5kcy5FeHByJywgJ2dvb2cuZHMuSnNEYXRhU291cmNlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRhc291cmNlL2Zhc3RkYXRhbm9kZS5qcycsIFsnZ29vZy5kcy5BYnN0cmFjdEZhc3REYXRhTm9kZScsICdnb29nLmRzLkZhc3REYXRhTm9kZScsICdnb29nLmRzLkZhc3RMaXN0Tm9kZScsICdnb29nLmRzLlByaW1pdGl2ZUZhc3REYXRhTm9kZSddLCBbJ2dvb2cuZHMuRGF0YU1hbmFnZXInLCAnZ29vZy5kcy5EYXRhTm9kZUxpc3QnLCAnZ29vZy5kcy5FbXB0eU5vZGVMaXN0JywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRhc291cmNlL2Zhc3RkYXRhbm9kZV90ZXN0LmpzJywgWydnb29nLmRzLkZhc3REYXRhTm9kZVRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZHMuRGF0YU1hbmFnZXInLCAnZ29vZy5kcy5FeHByJywgJ2dvb2cuZHMuRmFzdERhdGFOb2RlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRhc291cmNlL2pzZGF0YXNvdXJjZS5qcycsIFsnZ29vZy5kcy5Kc0RhdGFTb3VyY2UnLCAnZ29vZy5kcy5Kc1Byb3BlcnR5RGF0YVNvdXJjZSddLCBbJ2dvb2cuZHMuQmFzZURhdGFOb2RlJywgJ2dvb2cuZHMuQmFzaWNOb2RlTGlzdCcsICdnb29nLmRzLkRhdGFNYW5hZ2VyJywgJ2dvb2cuZHMuRGF0YU5vZGUnLCAnZ29vZy5kcy5FbXB0eU5vZGVMaXN0JywgJ2dvb2cuZHMuTG9hZFN0YXRlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRhc291cmNlL2pzb25kYXRhc291cmNlLmpzJywgWydnb29nLmRzLkpzb25EYXRhU291cmNlJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuZHMuRGF0YU1hbmFnZXInLCAnZ29vZy5kcy5Kc0RhdGFTb3VyY2UnLCAnZ29vZy5kcy5Mb2FkU3RhdGUnLCAnZ29vZy5kcy5sb2dnZXInLCAnZ29vZy5sb2cnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RhdGFzb3VyY2UvanN4bWxodHRwZGF0YXNvdXJjZS5qcycsIFsnZ29vZy5kcy5Kc1htbEh0dHBEYXRhU291cmNlJ10sIFsnZ29vZy5VcmknLCAnZ29vZy5kcy5EYXRhTWFuYWdlcicsICdnb29nLmRzLkZhc3REYXRhTm9kZScsICdnb29nLmRzLkxvYWRTdGF0ZScsICdnb29nLmRzLmxvZ2dlcicsICdnb29nLmV2ZW50cycsICdnb29nLmxvZycsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5uZXQuWGhySW8nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RhdGFzb3VyY2UvanN4bWxodHRwZGF0YXNvdXJjZV90ZXN0LmpzJywgWydnb29nLmRzLkpzWG1sSHR0cERhdGFTb3VyY2VUZXN0J10sIFsnZ29vZy5kcy5Kc1htbEh0dHBEYXRhU291cmNlJywgJ2dvb2cudGVzdGluZy5UZXN0UXVldWUnLCAnZ29vZy50ZXN0aW5nLm5ldC5YaHJJbycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGF0YXNvdXJjZS94bWxkYXRhc291cmNlLmpzJywgWydnb29nLmRzLlhtbERhdGFTb3VyY2UnLCAnZ29vZy5kcy5YbWxIdHRwRGF0YVNvdXJjZSddLCBbJ2dvb2cuVXJpJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLnhtbCcsICdnb29nLmRzLkJhc2ljTm9kZUxpc3QnLCAnZ29vZy5kcy5EYXRhTWFuYWdlcicsICdnb29nLmRzLkRhdGFOb2RlJywgJ2dvb2cuZHMuTG9hZFN0YXRlJywgJ2dvb2cuZHMubG9nZ2VyJywgJ2dvb2cubG9nJywgJ2dvb2cubmV0LlhocklvJywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRlL2RhdGUuanMnLCBbJ2dvb2cuZGF0ZScsICdnb29nLmRhdGUuRGF0ZScsICdnb29nLmRhdGUuRGF0ZVRpbWUnLCAnZ29vZy5kYXRlLkludGVydmFsJywgJ2dvb2cuZGF0ZS5tb250aCcsICdnb29nLmRhdGUud2Vla0RheSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRhdGUuRGF0ZUxpa2UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9scycsICdnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGF0ZS9kYXRlX3Rlc3QuanMnLCBbJ2dvb2cuZGF0ZVRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZGF0ZScsICdnb29nLmRhdGUuRGF0ZScsICdnb29nLmRhdGUuRGF0ZVRpbWUnLCAnZ29vZy5kYXRlLkludGVydmFsJywgJ2dvb2cuZGF0ZS5tb250aCcsICdnb29nLmRhdGUud2Vla0RheScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzJywgJ2dvb2cudGVzdGluZy5FeHBlY3RlZEZhaWx1cmVzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy51c2VyQWdlbnQucGxhdGZvcm0nLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0LmlzVmVyc2lvbiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RhdGUvZGF0ZWxpa2UuanMnLCBbJ2dvb2cuZGF0ZS5EYXRlTGlrZSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RhdGUvZGF0ZXJhbmdlLmpzJywgWydnb29nLmRhdGUuRGF0ZVJhbmdlJywgJ2dvb2cuZGF0ZS5EYXRlUmFuZ2UuSXRlcmF0b3InLCAnZ29vZy5kYXRlLkRhdGVSYW5nZS5TdGFuZGFyZERhdGVSYW5nZUtleXMnXSwgWydnb29nLmRhdGUuRGF0ZScsICdnb29nLmRhdGUuSW50ZXJ2YWwnLCAnZ29vZy5pdGVyLkl0ZXJhdG9yJywgJ2dvb2cuaXRlci5TdG9wSXRlcmF0aW9uJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRlL2RhdGVyYW5nZV90ZXN0LmpzJywgWydnb29nLmRhdGUuRGF0ZVJhbmdlVGVzdCddLCBbJ2dvb2cuZGF0ZS5EYXRlJywgJ2dvb2cuZGF0ZS5EYXRlUmFuZ2UnLCAnZ29vZy5kYXRlLkludGVydmFsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RhdGUvZHVyYXRpb24uanMnLCBbJ2dvb2cuZGF0ZS5kdXJhdGlvbiddLCBbJ2dvb2cuaTE4bi5EYXRlVGltZUZvcm1hdCcsICdnb29nLmkxOG4uTWVzc2FnZUZvcm1hdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGF0ZS9kdXJhdGlvbl90ZXN0LmpzJywgWydnb29nLmRhdGUuZHVyYXRpb25UZXN0J10sIFsnZ29vZy5kYXRlLmR1cmF0aW9uJywgJ2dvb2cuaTE4bi5EYXRlVGltZUZvcm1hdCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYm4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZhJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRlL3JlbGF0aXZlLmpzJywgWydnb29nLmRhdGUucmVsYXRpdmUnLCAnZ29vZy5kYXRlLnJlbGF0aXZlLlRpbWVEZWx0YUZvcm1hdHRlcicsICdnb29nLmRhdGUucmVsYXRpdmUuVW5pdCddLCBbJ2dvb2cuaTE4bi5EYXRlVGltZUZvcm1hdCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJucycsICdnb29nLmkxOG4uUmVsYXRpdmVEYXRlVGltZUZvcm1hdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGF0ZS9yZWxhdGl2ZV90ZXN0LmpzJywgWydnb29nLmRhdGUucmVsYXRpdmVUZXN0J10sIFsnZ29vZy5kYXRlLnJlbGF0aXZlQ29tbW9uVGVzdHMnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRlL3JlbGF0aXZlY29tbW9udGVzdHMuanMnLCBbJ2dvb2cuZGF0ZS5yZWxhdGl2ZUNvbW1vblRlc3RzJ10sIFsnZ29vZy5kYXRlLkRhdGVUaW1lJywgJ2dvb2cuZGF0ZS5yZWxhdGl2ZScsICdnb29nLmkxOG4uRGF0ZVRpbWVGb3JtYXQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYXInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYm4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZXMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbm8nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mYScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbm8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYm4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbm8nLCAnZ29vZy5pMThuLnJlbGF0aXZlRGF0ZVRpbWVTeW1ib2xzJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5qc3VuaXQnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYXRlL3V0Y2RhdGV0aW1lLmpzJywgWydnb29nLmRhdGUuVXRjRGF0ZVRpbWUnXSwgWydnb29nLmRhdGUnLCAnZ29vZy5kYXRlLkRhdGUnLCAnZ29vZy5kYXRlLkRhdGVUaW1lJywgJ2dvb2cuZGF0ZS5JbnRlcnZhbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGF0ZS91dGNkYXRldGltZV90ZXN0LmpzJywgWydnb29nLmRhdGUuVXRjRGF0ZVRpbWVUZXN0J10sIFsnZ29vZy5kYXRlLkludGVydmFsJywgJ2dvb2cuZGF0ZS5VdGNEYXRlVGltZScsICdnb29nLmRhdGUubW9udGgnLCAnZ29vZy5kYXRlLndlZWtEYXknLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RiL2N1cnNvci5qcycsIFsnZ29vZy5kYi5DdXJzb3InXSwgWydnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cuZGIuRXJyb3InLCAnZ29vZy5kYi5LZXlSYW5nZScsICdnb29nLmRlYnVnJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYi9kYi5qcycsIFsnZ29vZy5kYicsICdnb29nLmRiLkJsb2NrZWRDYWxsYmFjaycsICdnb29nLmRiLlVwZ3JhZGVOZWVkZWRDYWxsYmFjayddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cuZGIuRXJyb3InLCAnZ29vZy5kYi5JbmRleGVkRGInLCAnZ29vZy5kYi5UcmFuc2FjdGlvbiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGIvZGJfdGVzdC5qcycsIFsnZ29vZy5kYlRlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5hcnJheScsICdnb29nLmRiJywgJ2dvb2cuZGIuQ3Vyc29yJywgJ2dvb2cuZGIuRXJyb3InLCAnZ29vZy5kYi5JbmRleGVkRGInLCAnZ29vZy5kYi5LZXlSYW5nZScsICdnb29nLmRiLlRyYW5zYWN0aW9uJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYi9lcnJvci5qcycsIFsnZ29vZy5kYi5Eb21FcnJvckxpa2UnLCAnZ29vZy5kYi5FcnJvcicsICdnb29nLmRiLkVycm9yLkVycm9yQ29kZScsICdnb29nLmRiLkVycm9yLkVycm9yTmFtZScsICdnb29nLmRiLkVycm9yLlZlcnNpb25DaGFuZ2VCbG9ja2VkRXJyb3InXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kZWJ1Zy5FcnJvciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGIvaW5kZXguanMnLCBbJ2dvb2cuZGIuSW5kZXgnXSwgWydnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cuZGIuQ3Vyc29yJywgJ2dvb2cuZGIuRXJyb3InLCAnZ29vZy5kYi5LZXlSYW5nZScsICdnb29nLmRlYnVnJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYi9pbmRleGVkZGIuanMnLCBbJ2dvb2cuZGIuSW5kZXhlZERiJ10sIFsnZ29vZy5kYi5FcnJvcicsICdnb29nLmRiLk9iamVjdFN0b3JlJywgJ2dvb2cuZGIuVHJhbnNhY3Rpb24nLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0J10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGIva2V5cmFuZ2UuanMnLCBbJ2dvb2cuZGIuS2V5UmFuZ2UnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkYi9vYmplY3RzdG9yZS5qcycsIFsnZ29vZy5kYi5PYmplY3RTdG9yZSddLCBbJ2dvb2cuYXN5bmMuRGVmZXJyZWQnLCAnZ29vZy5kYi5DdXJzb3InLCAnZ29vZy5kYi5FcnJvcicsICdnb29nLmRiLkluZGV4JywgJ2dvb2cuZGIuS2V5UmFuZ2UnLCAnZ29vZy5kZWJ1ZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGIvdHJhbnNhY3Rpb24uanMnLCBbJ2dvb2cuZGIuVHJhbnNhY3Rpb24nLCAnZ29vZy5kYi5UcmFuc2FjdGlvbi5UcmFuc2FjdGlvbk1vZGUnXSwgWydnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cuZGIuRXJyb3InLCAnZ29vZy5kYi5PYmplY3RTdG9yZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2NvbnNvbGUuanMnLCBbJ2dvb2cuZGVidWcuQ29uc29sZSddLCBbJ2dvb2cuZGVidWcuTG9nTWFuYWdlcicsICdnb29nLmRlYnVnLkxvZ2dlcicsICdnb29nLmRlYnVnLlRleHRGb3JtYXR0ZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2NvbnNvbGVfdGVzdC5qcycsIFsnZ29vZy5kZWJ1Zy5Db25zb2xlVGVzdCddLCBbJ2dvb2cuZGVidWcuQ29uc29sZScsICdnb29nLmRlYnVnLkxvZ1JlY29yZCcsICdnb29nLmRlYnVnLkxvZ2dlcicsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2RlYnVnLmpzJywgWydnb29nLmRlYnVnJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRlYnVnLmVycm9yY29udGV4dCcsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZGVidWdfdGVzdC5qcycsIFsnZ29vZy5kZWJ1Z1Rlc3QnXSwgWydnb29nLmRlYnVnJywgJ2dvb2cuZGVidWcuZXJyb3Jjb250ZXh0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9kZWJ1Z3dpbmRvdy5qcycsIFsnZ29vZy5kZWJ1Zy5EZWJ1Z1dpbmRvdyddLCBbJ2dvb2cuZGVidWcuSHRtbEZvcm1hdHRlcicsICdnb29nLmRlYnVnLkxvZ01hbmFnZXInLCAnZ29vZy5kZWJ1Zy5Mb2dnZXInLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cuc3RydWN0cy5DaXJjdWxhckJ1ZmZlcicsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZGVidWd3aW5kb3dfdGVzdC5qcycsIFsnZ29vZy5kZWJ1Zy5EZWJ1Z1dpbmRvd1Rlc3QnXSwgWydnb29nLmRlYnVnLkRlYnVnV2luZG93JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9kZXZjc3MvZGV2Y3NzLmpzJywgWydnb29nLmRlYnVnLkRldkNzcycsICdnb29nLmRlYnVnLkRldkNzcy5Vc2VyQWdlbnQnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5jc3NvbScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9kZXZjc3MvZGV2Y3NzX3Rlc3QuanMnLCBbJ2dvb2cuZGVidWcuRGV2Q3NzVGVzdCddLCBbJ2dvb2cuZGVidWcuRGV2Q3NzJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2RldmNzcy9kZXZjc3NydW5uZXIuanMnLCBbJ2dvb2cuZGVidWcuZGV2Q3NzUnVubmVyJ10sIFsnZ29vZy5kZWJ1Zy5EZXZDc3MnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2RpdmNvbnNvbGUuanMnLCBbJ2dvb2cuZGVidWcuRGl2Q29uc29sZSddLCBbJ2dvb2cuZGVidWcuSHRtbEZvcm1hdHRlcicsICdnb29nLmRlYnVnLkxvZ01hbmFnZXInLCAnZ29vZy5kb20uRG9tSGVscGVyJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2VuaGFuY2VlcnJvcl90ZXN0LmpzJywgWydnb29nLmRlYnVnRW5oYW5jZUVycm9yVGVzdCddLCBbJ2dvb2cuZGVidWcnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2VudHJ5cG9pbnRyZWdpc3RyeS5qcycsIFsnZ29vZy5kZWJ1Zy5FbnRyeVBvaW50TW9uaXRvcicsICdnb29nLmRlYnVnLmVudHJ5UG9pbnRSZWdpc3RyeSddLCBbJ2dvb2cuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZW50cnlwb2ludHJlZ2lzdHJ5X3Rlc3QuanMnLCBbJ2dvb2cuZGVidWcuZW50cnlQb2ludFJlZ2lzdHJ5VGVzdCddLCBbJ2dvb2cuZGVidWcuRXJyb3JIYW5kbGVyJywgJ2dvb2cuZGVidWcuZW50cnlQb2ludFJlZ2lzdHJ5JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9lcnJvci5qcycsIFsnZ29vZy5kZWJ1Zy5FcnJvciddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9lcnJvcl90ZXN0LmpzJywgWydnb29nLmRlYnVnLkVycm9yVGVzdCddLCBbJ2dvb2cuZGVidWcuRXJyb3InLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZXJyb3Jjb250ZXh0LmpzJywgWydnb29nLmRlYnVnLmVycm9yY29udGV4dCddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2Vycm9yY29udGV4dF90ZXN0LmpzJywgWydnb29nLmRlYnVnLmVycm9yY29udGV4dFRlc3QnXSwgWydnb29nLmRlYnVnLmVycm9yY29udGV4dCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZXJyb3JoYW5kbGVyLmpzJywgWydnb29nLmRlYnVnLkVycm9ySGFuZGxlcicsICdnb29nLmRlYnVnLkVycm9ySGFuZGxlci5Qcm90ZWN0ZWRGdW5jdGlvbkVycm9yJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRlYnVnJywgJ2dvb2cuZGVidWcuRW50cnlQb2ludE1vbml0b3InLCAnZ29vZy5kZWJ1Zy5FcnJvcicsICdnb29nLmRlYnVnLlRyYWNlJ10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZXJyb3JoYW5kbGVyX2FzeW5jX3Rlc3QuanMnLCBbJ2dvb2cuZGVidWcuRXJyb3JIYW5kbGVyQXN5bmNUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuZGVidWcuRXJyb3JIYW5kbGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzOCcsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9lcnJvcmhhbmRsZXJfdGVzdC5qcycsIFsnZ29vZy5kZWJ1Zy5FcnJvckhhbmRsZXJUZXN0J10sIFsnZ29vZy5kZWJ1Zy5FcnJvckhhbmRsZXInLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9lcnJvcmhhbmRsZXJ3ZWFrZGVwLmpzJywgWydnb29nLmRlYnVnLmVycm9ySGFuZGxlcldlYWtEZXAnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9lcnJvcnJlcG9ydGVyLmpzJywgWydnb29nLmRlYnVnLkVycm9yUmVwb3J0ZXInLCAnZ29vZy5kZWJ1Zy5FcnJvclJlcG9ydGVyLkV4Y2VwdGlvbkV2ZW50J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGVidWcnLCAnZ29vZy5kZWJ1Zy5FcnJvcicsICdnb29nLmRlYnVnLkVycm9ySGFuZGxlcicsICdnb29nLmRlYnVnLmVudHJ5UG9pbnRSZWdpc3RyeScsICdnb29nLmRlYnVnLmVycm9yY29udGV4dCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmxvZycsICdnb29nLm5ldC5YaHJJbycsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnVyaS51dGlscycsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZXJyb3JyZXBvcnRlcl90ZXN0LmpzJywgWydnb29nLmRlYnVnLkVycm9yUmVwb3J0ZXJUZXN0J10sIFsnZ29vZy5kZWJ1Zy5FcnJvcicsICdnb29nLmRlYnVnLkVycm9yUmVwb3J0ZXInLCAnZ29vZy5kZWJ1Zy5lcnJvcmNvbnRleHQnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZmFuY3l3aW5kb3cuanMnLCBbJ2dvb2cuZGVidWcuRmFuY3lXaW5kb3cnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRlYnVnLkRlYnVnV2luZG93JywgJ2dvb2cuZGVidWcuTG9nTWFuYWdlcicsICdnb29nLmRlYnVnLkxvZ2dlcicsICdnb29nLmRvbS5Eb21IZWxwZXInLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuU2FmZVN0eWxlU2hlZXQnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2Zvcm1hdHRlci5qcycsIFsnZ29vZy5kZWJ1Zy5Gb3JtYXR0ZXInLCAnZ29vZy5kZWJ1Zy5IdG1sRm9ybWF0dGVyJywgJ2dvb2cuZGVidWcuVGV4dEZvcm1hdHRlciddLCBbJ2dvb2cuZGVidWcnLCAnZ29vZy5kZWJ1Zy5Mb2dnZXInLCAnZ29vZy5kZWJ1Zy5SZWxhdGl2ZVRpbWVQcm92aWRlcicsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5odG1sLnVuY2hlY2tlZGNvbnZlcnNpb25zJywgJ2dvb2cuc3RyaW5nLkNvbnN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9mb3JtYXR0ZXJfdGVzdC5qcycsIFsnZ29vZy5kZWJ1Zy5Gb3JtYXR0ZXJUZXN0J10sIFsnZ29vZy5kZWJ1Zy5IdG1sRm9ybWF0dGVyJywgJ2dvb2cuZGVidWcuTG9nUmVjb3JkJywgJ2dvb2cuZGVidWcuTG9nZ2VyJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZnBzZGlzcGxheS5qcycsIFsnZ29vZy5kZWJ1Zy5GcHNEaXNwbGF5J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuYXN5bmMuQW5pbWF0aW9uRGVsYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnVpLkNvbXBvbmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvZnBzZGlzcGxheV90ZXN0LmpzJywgWydnb29nLmRlYnVnLkZwc0Rpc3BsYXlUZXN0J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmRlYnVnLkZwc0Rpc3BsYXknLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9sb2didWZmZXIuanMnLCBbJ2dvb2cuZGVidWcuTG9nQnVmZmVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGVidWcuTG9nUmVjb3JkJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9sb2didWZmZXJfdGVzdC5qcycsIFsnZ29vZy5kZWJ1Zy5Mb2dCdWZmZXJUZXN0J10sIFsnZ29vZy5kZWJ1Zy5Mb2dCdWZmZXInLCAnZ29vZy5kZWJ1Zy5Mb2dnZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL2xvZ2dlci5qcycsIFsnZ29vZy5kZWJ1Zy5Mb2dNYW5hZ2VyJywgJ2dvb2cuZGVidWcuTG9nZ2FibGUnLCAnZ29vZy5kZWJ1Zy5Mb2dnZXInLCAnZ29vZy5kZWJ1Zy5Mb2dnZXIuTGV2ZWwnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRlYnVnJywgJ2dvb2cuZGVidWcuTG9nQnVmZmVyJywgJ2dvb2cuZGVidWcuTG9nUmVjb3JkJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9sb2dnZXJfdGVzdC5qcycsIFsnZ29vZy5kZWJ1Zy5Mb2dnZXJUZXN0J10sIFsnZ29vZy5kZWJ1Zy5Mb2dNYW5hZ2VyJywgJ2dvb2cuZGVidWcuTG9nZ2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9sb2dyZWNvcmQuanMnLCBbJ2dvb2cuZGVidWcuTG9nUmVjb3JkJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvbG9ncmVjb3Jkc2VyaWFsaXplci5qcycsIFsnZ29vZy5kZWJ1Zy5sb2dSZWNvcmRTZXJpYWxpemVyJ10sIFsnZ29vZy5kZWJ1Zy5Mb2dSZWNvcmQnLCAnZ29vZy5kZWJ1Zy5Mb2dnZXInLCAnZ29vZy5qc29uJywgJ2dvb2cub2JqZWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWJ1Zy9sb2dyZWNvcmRzZXJpYWxpemVyX3Rlc3QuanMnLCBbJ2dvb2cuZGVidWcubG9nUmVjb3JkU2VyaWFsaXplclRlc3QnXSwgWydnb29nLmRlYnVnLkxvZ1JlY29yZCcsICdnb29nLmRlYnVnLkxvZ2dlcicsICdnb29nLmRlYnVnLmxvZ1JlY29yZFNlcmlhbGl6ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL3JlbGF0aXZldGltZXByb3ZpZGVyLmpzJywgWydnb29nLmRlYnVnLlJlbGF0aXZlVGltZVByb3ZpZGVyJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVidWcvdHJhY2VyLmpzJywgWydnb29nLmRlYnVnLlN0b3BUcmFjZURldGFpbCcsICdnb29nLmRlYnVnLlRyYWNlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kZWJ1Zy5Mb2dnZXInLCAnZ29vZy5pdGVyJywgJ2dvb2cubG9nJywgJ2dvb2cuc3RydWN0cy5NYXAnLCAnZ29vZy5zdHJ1Y3RzLlNpbXBsZVBvb2wnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlYnVnL3RyYWNlcl90ZXN0LmpzJywgWydnb29nLmRlYnVnLlRyYWNlVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kZWJ1Zy5UcmFjZScsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlZmluZWNsYXNzX3Rlc3QuanMnLCBbJ2dvb2cuZGVmaW5lQ2xhc3NUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RlbGVnYXRlL2RlbGVnYXRlcmVnaXN0cnkuanMnLCBbJ2dvb2cuZGVsZWdhdGUuRGVsZWdhdGVSZWdpc3RyeSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGVidWcnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWxlZ2F0ZS9kZWxlZ2F0ZXJlZ2lzdHJ5X3Rlc3QuanMnLCBbJ2dvb2cuZGVsZWdhdGUuRGVsZWdhdGVSZWdpc3RyeVRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZGVsZWdhdGUuRGVsZWdhdGVSZWdpc3RyeScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZGVsZWdhdGUvZGVsZWdhdGVzLmpzJywgWydnb29nLmRlbGVnYXRlLmRlbGVnYXRlcyddLCBbXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkZWxlZ2F0ZS9kZWxlZ2F0ZXNfdGVzdC5qcycsIFsnZ29vZy5kZWxlZ2F0ZS5kZWxlZ2F0ZXNUZXN0J10sIFsnZ29vZy5kZWxlZ2F0ZS5kZWxlZ2F0ZXMnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkaXNwb3NhYmxlL2Rpc3Bvc2FibGUuanMnLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmRpc3Bvc2UnLCAnZ29vZy5kaXNwb3NlQWxsJ10sIFsnZ29vZy5kaXNwb3NhYmxlLklEaXNwb3NhYmxlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkaXNwb3NhYmxlL2Rpc3Bvc2FibGVfdGVzdC5qcycsIFsnZ29vZy5EaXNwb3NhYmxlVGVzdCddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Rpc3Bvc2FibGUvaWRpc3Bvc2FibGUuanMnLCBbJ2dvb2cuZGlzcG9zYWJsZS5JRGlzcG9zYWJsZSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9hYnN0cmFjdG11bHRpcmFuZ2UuanMnLCBbJ2dvb2cuZG9tLkFic3RyYWN0TXVsdGlSYW5nZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uQWJzdHJhY3RSYW5nZScsICdnb29nLmRvbS5UZXh0UmFuZ2UnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9hYnN0cmFjdHJhbmdlLmpzJywgWydnb29nLmRvbS5BYnN0cmFjdFJhbmdlJywgJ2dvb2cuZG9tLlJhbmdlSXRlcmF0b3InLCAnZ29vZy5kb20uUmFuZ2VUeXBlJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uU2F2ZWRDYXJldFJhbmdlJywgJ2dvb2cuZG9tLlRhZ0l0ZXJhdG9yJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vYWJzdHJhY3RyYW5nZV90ZXN0LmpzJywgWydnb29nLmRvbS5BYnN0cmFjdFJhbmdlVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkFic3RyYWN0UmFuZ2UnLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2FuaW1hdGlvbmZyYW1lL2FuaW1hdGlvbmZyYW1lLmpzJywgWydnb29nLmRvbS5hbmltYXRpb25GcmFtZScsICdnb29nLmRvbS5hbmltYXRpb25GcmFtZS5TcGVjJywgJ2dvb2cuZG9tLmFuaW1hdGlvbkZyYW1lLlN0YXRlJ10sIFsnZ29vZy5kb20uYW5pbWF0aW9uRnJhbWUucG9seWZpbGwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9hbmltYXRpb25mcmFtZS9hbmltYXRpb25mcmFtZV90ZXN0LmpzJywgWydnb29nLmRvbS5BbmltYXRpb25GcmFtZVRlc3QnXSwgWydnb29nLmRvbS5hbmltYXRpb25GcmFtZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vYW5pbWF0aW9uZnJhbWUvcG9seWZpbGwuanMnLCBbJ2dvb2cuZG9tLmFuaW1hdGlvbkZyYW1lLnBvbHlmaWxsJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9hbm5vdGF0ZS5qcycsIFsnZ29vZy5kb20uYW5ub3RhdGUnLCAnZ29vZy5kb20uYW5ub3RhdGUuQW5ub3RhdGVGbiddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5vYmplY3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9hbm5vdGF0ZV90ZXN0LmpzJywgWydnb29nLmRvbS5hbm5vdGF0ZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmFubm90YXRlJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2Fzc2VydHMuanMnLCBbJ2dvb2cuZG9tLmFzc2VydHMnXSwgWydnb29nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9hc3NlcnRzX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLmFzc2VydHNUZXN0J10sIFsnZ29vZy5kb20uYXNzZXJ0cycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuU3RyaWN0TW9jaycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2F0dHIuanMnLCBbJ2dvb2cuZG9tLkF0dHInXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vYnJvd3NlcmZlYXR1cmUuanMnLCBbJ2dvb2cuZG9tLkJyb3dzZXJGZWF0dXJlJ10sIFsnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9icm93c2VyZmVhdHVyZV90ZXN0LmpzJywgWydnb29nLmRvbS5Ccm93c2VyRmVhdHVyZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ccm93c2VyRmVhdHVyZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2Jyb3dzZXJyYW5nZS9hYnN0cmFjdHJhbmdlLmpzJywgWydnb29nLmRvbS5icm93c2VycmFuZ2UuQWJzdHJhY3RSYW5nZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlJhbmdlRW5kcG9pbnQnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5UZXh0UmFuZ2VJdGVyYXRvcicsICdnb29nLml0ZXInLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuU3RyaW5nQnVmZmVyJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vYnJvd3NlcnJhbmdlL2Jyb3dzZXJyYW5nZS5qcycsIFsnZ29vZy5kb20uYnJvd3NlcnJhbmdlJywgJ2dvb2cuZG9tLmJyb3dzZXJyYW5nZS5FcnJvciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLmJyb3dzZXJyYW5nZS5HZWNrb1JhbmdlJywgJ2dvb2cuZG9tLmJyb3dzZXJyYW5nZS5JZVJhbmdlJywgJ2dvb2cuZG9tLmJyb3dzZXJyYW5nZS5PcGVyYVJhbmdlJywgJ2dvb2cuZG9tLmJyb3dzZXJyYW5nZS5XM2NSYW5nZScsICdnb29nLmRvbS5icm93c2VycmFuZ2UuV2ViS2l0UmFuZ2UnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9icm93c2VycmFuZ2UvYnJvd3NlcnJhbmdlX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLmJyb3dzZXJyYW5nZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5SYW5nZUVuZHBvaW50JywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uYnJvd3NlcnJhbmdlJywgJ2dvb2cuaHRtbC50ZXN0aW5nJywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9icm93c2VycmFuZ2UvZ2Vja29yYW5nZS5qcycsIFsnZ29vZy5kb20uYnJvd3NlcnJhbmdlLkdlY2tvUmFuZ2UnXSwgWydnb29nLmRvbS5icm93c2VycmFuZ2UuVzNjUmFuZ2UnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9icm93c2VycmFuZ2UvaWVyYW5nZS5qcycsIFsnZ29vZy5kb20uYnJvd3NlcnJhbmdlLkllUmFuZ2UnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlJhbmdlRW5kcG9pbnQnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5icm93c2VycmFuZ2UuQWJzdHJhY3RSYW5nZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuaHRtbC51bmNoZWNrZWRjb252ZXJzaW9ucycsICdnb29nLmxvZycsICdnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2Jyb3dzZXJyYW5nZS9vcGVyYXJhbmdlLmpzJywgWydnb29nLmRvbS5icm93c2VycmFuZ2UuT3BlcmFSYW5nZSddLCBbJ2dvb2cuZG9tLmJyb3dzZXJyYW5nZS5XM2NSYW5nZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2Jyb3dzZXJyYW5nZS93M2NyYW5nZS5qcycsIFsnZ29vZy5kb20uYnJvd3NlcnJhbmdlLlczY1JhbmdlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5SYW5nZUVuZHBvaW50JywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uYnJvd3NlcnJhbmdlLkFic3RyYWN0UmFuZ2UnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9icm93c2VycmFuZ2Uvd2Via2l0cmFuZ2UuanMnLCBbJ2dvb2cuZG9tLmJyb3dzZXJyYW5nZS5XZWJLaXRSYW5nZSddLCBbJ2dvb2cuZG9tLlJhbmdlRW5kcG9pbnQnLCAnZ29vZy5kb20uYnJvd3NlcnJhbmdlLlczY1JhbmdlJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vYnVmZmVyZWR2aWV3cG9ydHNpemVtb25pdG9yLmpzJywgWydnb29nLmRvbS5CdWZmZXJlZFZpZXdwb3J0U2l6ZU1vbml0b3InXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5hc3luYy5EZWxheScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9idWZmZXJlZHZpZXdwb3J0c2l6ZW1vbml0b3JfdGVzdC5qcycsIFsnZ29vZy5kb20uQnVmZmVyZWRWaWV3cG9ydFNpemVNb25pdG9yVGVzdCddLCBbJ2dvb2cuZG9tLkJ1ZmZlcmVkVmlld3BvcnRTaXplTW9uaXRvcicsICdnb29nLmRvbS5WaWV3cG9ydFNpemVNb25pdG9yJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLm1hdGguU2l6ZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2NsYXNzZXMuanMnLCBbJ2dvb2cuZG9tLmNsYXNzZXMnXSwgWydnb29nLmFycmF5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vY2xhc3Nlc190ZXN0LmpzJywgWydnb29nLmRvbS5jbGFzc2VzX3Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9jbGFzc2xpc3QuanMnLCBbJ2dvb2cuZG9tLmNsYXNzbGlzdCddLCBbJ2dvb2cuYXJyYXknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9jbGFzc2xpc3RfdGVzdC5qcycsIFsnZ29vZy5kb20uY2xhc3NsaXN0X3Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2NvbnRyb2xyYW5nZS5qcycsIFsnZ29vZy5kb20uQ29udHJvbFJhbmdlJywgJ2dvb2cuZG9tLkNvbnRyb2xSYW5nZUl0ZXJhdG9yJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5BYnN0cmFjdE11bHRpUmFuZ2UnLCAnZ29vZy5kb20uQWJzdHJhY3RSYW5nZScsICdnb29nLmRvbS5SYW5nZUl0ZXJhdG9yJywgJ2dvb2cuZG9tLlJhbmdlVHlwZScsICdnb29nLmRvbS5TYXZlZFJhbmdlJywgJ2dvb2cuZG9tLlRhZ1dhbGtUeXBlJywgJ2dvb2cuZG9tLlRleHRSYW5nZScsICdnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbicsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2NvbnRyb2xyYW5nZV90ZXN0LmpzJywgWydnb29nLmRvbS5Db250cm9sUmFuZ2VUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uQ29udHJvbFJhbmdlJywgJ2dvb2cuZG9tLlJhbmdlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLlRleHRSYW5nZScsICdnb29nLnRlc3RpbmcuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vZGF0YXNldC5qcycsIFsnZ29vZy5kb20uZGF0YXNldCddLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlcicsICdnb29nLnN0cmluZycsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vZGF0YXNldF90ZXN0LmpzJywgWydnb29nLmRvbS5kYXRhc2V0VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLmRhdGFzZXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9kb20uanMnLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkFwcGVuZGFibGUnLCAnZ29vZy5kb20uRG9tSGVscGVyJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20uQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwudW5jaGVja2VkY29udmVyc2lvbnMnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuVW5pY29kZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2RvbV9jb21waWxlX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLkRvbUNvbXBpbGVUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2RvbV90ZXN0LmpzJywgWydnb29nLmRvbS5kb21fdGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZG9tLkRvbUhlbHBlcicsICdnb29nLmRvbS5JbnB1dFR5cGUnLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLmh0bWwuU2FmZVVybCcsICdnb29nLmh0bWwudGVzdGluZycsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnN0cmluZy5Vbmljb2RlJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdC5pc1ZlcnNpb24nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vZm9udHNpemVtb25pdG9yLmpzJywgWydnb29nLmRvbS5Gb250U2l6ZU1vbml0b3InLCAnZ29vZy5kb20uRm9udFNpemVNb25pdG9yLkV2ZW50VHlwZSddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vZm9udHNpemVtb25pdG9yX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLkZvbnRTaXplTW9uaXRvclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Gb250U2l6ZU1vbml0b3InLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vZm9ybXMuanMnLCBbJ2dvb2cuZG9tLmZvcm1zJ10sIFsnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLnN0cnVjdHMuTWFwJywgJ2dvb2cud2luZG93J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vZm9ybXNfdGVzdC5qcycsIFsnZ29vZy5kb20uZm9ybXNUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uZm9ybXMnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9mdWxsc2NyZWVuLmpzJywgWydnb29nLmRvbS5mdWxsc2NyZWVuJywgJ2dvb2cuZG9tLmZ1bGxzY3JlZW4uRXZlbnRUeXBlJ10sIFsnZ29vZy5kb20nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9mdWxsc2NyZWVuX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLmZ1bGxzY3JlZW5fdGVzdCddLCBbJ2dvb2cuZG9tLkRvbUhlbHBlcicsICdnb29nLmRvbS5mdWxsc2NyZWVuJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vaHRtbGVsZW1lbnQuanMnLCBbJ2dvb2cuZG9tLkh0bWxFbGVtZW50J10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2lmcmFtZS5qcycsIFsnZ29vZy5kb20uaWZyYW1lJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuU2FmZVN0eWxlJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9pZnJhbWVfdGVzdC5qcycsIFsnZ29vZy5kb20uaWZyYW1lVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLmlmcmFtZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTdHlsZScsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2lucHV0dHlwZS5qcycsIFsnZ29vZy5kb20uSW5wdXRUeXBlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2lucHV0dHlwZV90ZXN0LmpzJywgWydnb29nLmRvbS5JbnB1dFR5cGVUZXN0J10sIFsnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vaXRlci5qcycsIFsnZ29vZy5kb20uaXRlci5BbmNlc3Rvckl0ZXJhdG9yJywgJ2dvb2cuZG9tLml0ZXIuQ2hpbGRJdGVyYXRvcicsICdnb29nLmRvbS5pdGVyLlNpYmxpbmdJdGVyYXRvciddLCBbJ2dvb2cuaXRlci5JdGVyYXRvcicsICdnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL2l0ZXJfdGVzdC5qcycsIFsnZ29vZy5kb20uaXRlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5pdGVyLkFuY2VzdG9ySXRlcmF0b3InLCAnZ29vZy5kb20uaXRlci5DaGlsZEl0ZXJhdG9yJywgJ2dvb2cuZG9tLml0ZXIuU2libGluZ0l0ZXJhdG9yJywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9tdWx0aXJhbmdlLmpzJywgWydnb29nLmRvbS5NdWx0aVJhbmdlJywgJ2dvb2cuZG9tLk11bHRpUmFuZ2VJdGVyYXRvciddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uQWJzdHJhY3RNdWx0aVJhbmdlJywgJ2dvb2cuZG9tLkFic3RyYWN0UmFuZ2UnLCAnZ29vZy5kb20uUmFuZ2VJdGVyYXRvcicsICdnb29nLmRvbS5SYW5nZVR5cGUnLCAnZ29vZy5kb20uU2F2ZWRSYW5nZScsICdnb29nLmRvbS5UZXh0UmFuZ2UnLCAnZ29vZy5pdGVyJywgJ2dvb2cuaXRlci5TdG9wSXRlcmF0aW9uJywgJ2dvb2cubG9nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vbXVsdGlyYW5nZV90ZXN0LmpzJywgWydnb29nLmRvbS5NdWx0aVJhbmdlVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk11bHRpUmFuZ2UnLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5pdGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vbm9kZWl0ZXJhdG9yLmpzJywgWydnb29nLmRvbS5Ob2RlSXRlcmF0b3InXSwgWydnb29nLmRvbS5UYWdJdGVyYXRvciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL25vZGVpdGVyYXRvcl90ZXN0LmpzJywgWydnb29nLmRvbS5Ob2RlSXRlcmF0b3JUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZUl0ZXJhdG9yJywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9ub2Rlb2Zmc2V0LmpzJywgWydnb29nLmRvbS5Ob2RlT2Zmc2V0J10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuZG9tLlRhZ05hbWUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9ub2Rlb2Zmc2V0X3Rlc3QuanMnLCBbJ2dvb2cuZG9tLk5vZGVPZmZzZXRUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZU9mZnNldCcsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vbm9kZXR5cGUuanMnLCBbJ2dvb2cuZG9tLk5vZGVUeXBlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3BhdHRlcm4vYWJzdHJhY3RwYXR0ZXJuLmpzJywgWydnb29nLmRvbS5wYXR0ZXJuLkFic3RyYWN0UGF0dGVybiddLCBbJ2dvb2cuZG9tLlRhZ1dhbGtUeXBlJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vcGF0dGVybi9hbGxjaGlsZHJlbi5qcycsIFsnZ29vZy5kb20ucGF0dGVybi5BbGxDaGlsZHJlbiddLCBbJ2dvb2cuZG9tLnBhdHRlcm4uQWJzdHJhY3RQYXR0ZXJuJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vcGF0dGVybi9jYWxsYmFjay9jYWxsYmFjay5qcycsIFsnZ29vZy5kb20ucGF0dGVybi5jYWxsYmFjayddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ1dhbGtUeXBlJywgJ2dvb2cuaXRlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3BhdHRlcm4vY2FsbGJhY2svY291bnRlci5qcycsIFsnZ29vZy5kb20ucGF0dGVybi5jYWxsYmFjay5Db3VudGVyJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3BhdHRlcm4vY2FsbGJhY2svdGVzdC5qcycsIFsnZ29vZy5kb20ucGF0dGVybi5jYWxsYmFjay5UZXN0J10sIFsnZ29vZy5pdGVyLlN0b3BJdGVyYXRpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9wYXR0ZXJuL2NoaWxkbWF0Y2hlcy5qcycsIFsnZ29vZy5kb20ucGF0dGVybi5DaGlsZE1hdGNoZXMnXSwgWydnb29nLmRvbS5wYXR0ZXJuLkFsbENoaWxkcmVuJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vcGF0dGVybi9lbmR0YWcuanMnLCBbJ2dvb2cuZG9tLnBhdHRlcm4uRW5kVGFnJ10sIFsnZ29vZy5kb20uVGFnV2Fsa1R5cGUnLCAnZ29vZy5kb20ucGF0dGVybi5UYWcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9wYXR0ZXJuL2Z1bGx0YWcuanMnLCBbJ2dvb2cuZG9tLnBhdHRlcm4uRnVsbFRhZyddLCBbJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJywgJ2dvb2cuZG9tLnBhdHRlcm4uU3RhcnRUYWcnLCAnZ29vZy5kb20ucGF0dGVybi5UYWcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9wYXR0ZXJuL21hdGNoZXIuanMnLCBbJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hlciddLCBbJ2dvb2cuZG9tLlRhZ0l0ZXJhdG9yJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJywgJ2dvb2cuaXRlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3BhdHRlcm4vbWF0Y2hlcl90ZXN0LmpzJywgWydnb29nLmRvbS5wYXR0ZXJuLm1hdGNoZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5wYXR0ZXJuLkVuZFRhZycsICdnb29nLmRvbS5wYXR0ZXJuLkZ1bGxUYWcnLCAnZ29vZy5kb20ucGF0dGVybi5NYXRjaGVyJywgJ2dvb2cuZG9tLnBhdHRlcm4uUmVwZWF0JywgJ2dvb2cuZG9tLnBhdHRlcm4uU2VxdWVuY2UnLCAnZ29vZy5kb20ucGF0dGVybi5TdGFydFRhZycsICdnb29nLmRvbS5wYXR0ZXJuLmNhbGxiYWNrLkNvdW50ZXInLCAnZ29vZy5kb20ucGF0dGVybi5jYWxsYmFjay5UZXN0JywgJ2dvb2cuaXRlci5TdG9wSXRlcmF0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vcGF0dGVybi9ub2RldHlwZS5qcycsIFsnZ29vZy5kb20ucGF0dGVybi5Ob2RlVHlwZSddLCBbJ2dvb2cuZG9tLnBhdHRlcm4uQWJzdHJhY3RQYXR0ZXJuJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vcGF0dGVybi9wYXR0ZXJuLmpzJywgWydnb29nLmRvbS5wYXR0ZXJuJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3BhdHRlcm4vcGF0dGVybl90ZXN0LmpzJywgWydnb29nLmRvbS5wYXR0ZXJuVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ1dhbGtUeXBlJywgJ2dvb2cuZG9tLnBhdHRlcm4uQWxsQ2hpbGRyZW4nLCAnZ29vZy5kb20ucGF0dGVybi5DaGlsZE1hdGNoZXMnLCAnZ29vZy5kb20ucGF0dGVybi5FbmRUYWcnLCAnZ29vZy5kb20ucGF0dGVybi5GdWxsVGFnJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJywgJ2dvb2cuZG9tLnBhdHRlcm4uTm9kZVR5cGUnLCAnZ29vZy5kb20ucGF0dGVybi5SZXBlYXQnLCAnZ29vZy5kb20ucGF0dGVybi5TZXF1ZW5jZScsICdnb29nLmRvbS5wYXR0ZXJuLlN0YXJ0VGFnJywgJ2dvb2cuZG9tLnBhdHRlcm4uVGV4dCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3BhdHRlcm4vcmVwZWF0LmpzJywgWydnb29nLmRvbS5wYXR0ZXJuLlJlcGVhdCddLCBbJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLnBhdHRlcm4uQWJzdHJhY3RQYXR0ZXJuJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vcGF0dGVybi9zZXF1ZW5jZS5qcycsIFsnZ29vZy5kb20ucGF0dGVybi5TZXF1ZW5jZSddLCBbJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLnBhdHRlcm4nLCAnZ29vZy5kb20ucGF0dGVybi5BYnN0cmFjdFBhdHRlcm4nLCAnZ29vZy5kb20ucGF0dGVybi5NYXRjaFR5cGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9wYXR0ZXJuL3N0YXJ0dGFnLmpzJywgWydnb29nLmRvbS5wYXR0ZXJuLlN0YXJ0VGFnJ10sIFsnZ29vZy5kb20uVGFnV2Fsa1R5cGUnLCAnZ29vZy5kb20ucGF0dGVybi5UYWcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9wYXR0ZXJuL3RhZy5qcycsIFsnZ29vZy5kb20ucGF0dGVybi5UYWcnXSwgWydnb29nLmRvbS5wYXR0ZXJuJywgJ2dvb2cuZG9tLnBhdHRlcm4uQWJzdHJhY3RQYXR0ZXJuJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJywgJ2dvb2cub2JqZWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vcGF0dGVybi90ZXh0LmpzJywgWydnb29nLmRvbS5wYXR0ZXJuLlRleHQnXSwgWydnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5wYXR0ZXJuJywgJ2dvb2cuZG9tLnBhdHRlcm4uQWJzdHJhY3RQYXR0ZXJuJywgJ2dvb2cuZG9tLnBhdHRlcm4uTWF0Y2hUeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vcmFuZ2UuanMnLCBbJ2dvb2cuZG9tLlJhbmdlJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uQWJzdHJhY3RSYW5nZScsICdnb29nLmRvbS5Ccm93c2VyRmVhdHVyZScsICdnb29nLmRvbS5Db250cm9sUmFuZ2UnLCAnZ29vZy5kb20uTXVsdGlSYW5nZScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UZXh0UmFuZ2UnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9yYW5nZV90ZXN0LmpzJywgWydnb29nLmRvbS5SYW5nZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5SYW5nZVR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5UZXh0UmFuZ2UnLCAnZ29vZy5kb20uYnJvd3NlcnJhbmdlJywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9yYW5nZWVuZHBvaW50LmpzJywgWydnb29nLmRvbS5SYW5nZUVuZHBvaW50J10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3NhZmUuanMnLCBbJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5kb20uc2FmZS5JbnNlcnRBZGphY2VudEh0bWxQb3NpdGlvbiddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5hc3NlcnRzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuU2FmZVNjcmlwdCcsICdnb29nLmh0bWwuU2FmZVN0eWxlJywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5odG1sLnVuY2hlY2tlZGNvbnZlcnNpb25zJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cuc3RyaW5nLmludGVybmFsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vc2FmZV90ZXN0LmpzJywgWydnb29nLmRvbS5zYWZlVGVzdCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5kb20uc2FmZS5JbnNlcnRBZGphY2VudEh0bWxQb3NpdGlvbicsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTY3JpcHQnLCAnZ29vZy5odG1sLlNhZmVTdHlsZScsICdnb29nLmh0bWwuU2FmZVVybCcsICdnb29nLmh0bWwuVHJ1c3RlZFJlc291cmNlVXJsJywgJ2dvb2cuaHRtbC50ZXN0aW5nJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cudGVzdGluZycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3NhdmVkY2FyZXRyYW5nZS5qcycsIFsnZ29vZy5kb20uU2F2ZWRDYXJldFJhbmdlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5TYXZlZFJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS9zYXZlZGNhcmV0cmFuZ2VfdGVzdC5qcycsIFsnZ29vZy5kb20uU2F2ZWRDYXJldFJhbmdlVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlNhdmVkQ2FyZXRSYW5nZScsICdnb29nLnRlc3RpbmcuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vc2F2ZWRyYW5nZS5qcycsIFsnZ29vZy5kb20uU2F2ZWRSYW5nZSddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmxvZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3NhdmVkcmFuZ2VfdGVzdC5qcycsIFsnZ29vZy5kb20uU2F2ZWRSYW5nZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3NlbGVjdGlvbi5qcycsIFsnZ29vZy5kb20uc2VsZWN0aW9uJ10sIFsnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vc2VsZWN0aW9uX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLnNlbGVjdGlvblRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5JbnB1dFR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zZWxlY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS90YWdpdGVyYXRvci5qcycsIFsnZ29vZy5kb20uVGFnSXRlcmF0b3InLCAnZ29vZy5kb20uVGFnV2Fsa1R5cGUnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLml0ZXIuSXRlcmF0b3InLCAnZ29vZy5pdGVyLlN0b3BJdGVyYXRpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS90YWdpdGVyYXRvcl90ZXN0LmpzJywgWydnb29nLmRvbS5UYWdJdGVyYXRvclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdJdGVyYXRvcicsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLlRhZ1dhbGtUeXBlJywgJ2dvb2cuaXRlcicsICdnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbicsICdnb29nLnRlc3RpbmcuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vdGFnbmFtZS5qcycsIFsnZ29vZy5kb20uVGFnTmFtZSddLCBbJ2dvb2cuZG9tLkh0bWxFbGVtZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vdGFnbmFtZV90ZXN0LmpzJywgWydnb29nLmRvbS5UYWdOYW1lVGVzdCddLCBbJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS90YWdzLmpzJywgWydnb29nLmRvbS50YWdzJ10sIFsnZ29vZy5vYmplY3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS90YWdzX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLnRhZ3NUZXN0J10sIFsnZ29vZy5kb20udGFncycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3RleHRhc3NlcnQuanMnLCBbJ2dvb2cuZG9tLnRleHRBc3NlcnQnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3RleHRhc3NlcnRfdGVzdC5qcycsIFsnZ29vZy5kb20udGV4dGFzc2VydF90ZXN0J10sIFsnZ29vZy5kb20udGV4dEFzc2VydCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3RleHRyYW5nZS5qcycsIFsnZ29vZy5kb20uVGV4dFJhbmdlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5BYnN0cmFjdFJhbmdlJywgJ2dvb2cuZG9tLlJhbmdlVHlwZScsICdnb29nLmRvbS5TYXZlZFJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uVGV4dFJhbmdlSXRlcmF0b3InLCAnZ29vZy5kb20uYnJvd3NlcnJhbmdlJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vdGV4dHJhbmdlX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLlRleHRSYW5nZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Db250cm9sUmFuZ2UnLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGV4dFJhbmdlJywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3RleHRyYW5nZWl0ZXJhdG9yLmpzJywgWydnb29nLmRvbS5UZXh0UmFuZ2VJdGVyYXRvciddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uUmFuZ2VJdGVyYXRvcicsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuaXRlci5TdG9wSXRlcmF0aW9uJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vdGV4dHJhbmdlaXRlcmF0b3JfdGVzdC5qcycsIFsnZ29vZy5kb20uVGV4dFJhbmdlSXRlcmF0b3JUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5UZXh0UmFuZ2VJdGVyYXRvcicsICdnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbicsICdnb29nLnRlc3RpbmcuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vdXJpLmpzJywgWydnb29nLmRvbS51cmknXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5odG1sLnVuY2hlY2tlZGNvbnZlcnNpb25zJywgJ2dvb2cuc3RyaW5nLkNvbnN0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3VyaV90ZXN0LmpzJywgWydnb29nLmRvbS51cmlUZXN0J10sIFsnZ29vZy5kb20udXJpJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS92ZW5kb3IuanMnLCBbJ2dvb2cuZG9tLnZlbmRvciddLCBbJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdkb20vdmVuZG9yX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLnZlbmRvclRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tLnZlbmRvcicsICdnb29nLmxhYnMudXNlckFnZW50LnV0aWwnLCAnZ29vZy50ZXN0aW5nLk1vY2tVc2VyQWdlbnQnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudFRlc3RVdGlsJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3ZpZXdwb3J0c2l6ZW1vbml0b3IuanMnLCBbJ2dvb2cuZG9tLlZpZXdwb3J0U2l6ZU1vbml0b3InXSwgWydnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5tYXRoLlNpemUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS92aWV3cG9ydHNpemVtb25pdG9yX3Rlc3QuanMnLCBbJ2dvb2cuZG9tLlZpZXdwb3J0U2l6ZU1vbml0b3JUZXN0J10sIFsnZ29vZy5kb20uVmlld3BvcnRTaXplTW9uaXRvcicsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZG9tL3htbC5qcycsIFsnZ29vZy5kb20ueG1sJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwubGVnYWN5Y29udmVyc2lvbnMnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2RvbS94bWxfdGVzdC5qcycsIFsnZ29vZy5kb20ueG1sVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20ueG1sJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvYnJvd3NlcmZlYXR1cmUuanMnLCBbJ2dvb2cuZWRpdG9yLkJyb3dzZXJGZWF0dXJlJ10sIFsnZ29vZy5lZGl0b3IuZGVmaW5lcycsICdnb29nLmxhYnMudXNlckFnZW50LmJyb3dzZXInLCAnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0LmlzVmVyc2lvbiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL2Jyb3dzZXJmZWF0dXJlX3Rlc3QuanMnLCBbJ2dvb2cuZWRpdG9yLkJyb3dzZXJGZWF0dXJlVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9jbGlja3RvZWRpdHdyYXBwZXIuanMnLCBbJ2dvb2cuZWRpdG9yLkNsaWNrVG9FZGl0V3JhcHBlciddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmRvbScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZWRpdG9yLkNvbW1hbmQnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IucmFuZ2UnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9jbGlja3RvZWRpdHdyYXBwZXJfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IuQ2xpY2tUb0VkaXRXcmFwcGVyVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQ2xpY2tUb0VkaXRXcmFwcGVyJywgJ2dvb2cuZWRpdG9yLlNlYW1sZXNzRmllbGQnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvY29tbWFuZC5qcycsIFsnZ29vZy5lZGl0b3IuQ29tbWFuZCddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9jb250ZW50ZWRpdGFibGVmaWVsZC5qcycsIFsnZ29vZy5lZGl0b3IuQ29udGVudEVkaXRhYmxlRmllbGQnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5sb2cnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9jb250ZW50ZWRpdGFibGVmaWVsZF90ZXN0LmpzJywgWydnb29nLmVkaXRvci5Db250ZW50RWRpdGFibGVGaWVsZFRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmVkaXRvci5Db250ZW50RWRpdGFibGVGaWVsZCcsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9kZWZpbmVzLmpzJywgWydnb29nLmVkaXRvci5kZWZpbmVzJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL2ZpZWxkLmpzJywgWydnb29nLmVkaXRvci5GaWVsZCcsICdnb29nLmVkaXRvci5GaWVsZC5FdmVudFR5cGUnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuYXN5bmMuRGVsYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLlBsdWdpbkltcGwnLCAnZ29vZy5lZGl0b3IuaWNvbnRlbnQnLCAnZ29vZy5lZGl0b3IuaWNvbnRlbnQuRmllbGRGb3JtYXRJbmZvJywgJ2dvb2cuZWRpdG9yLmljb250ZW50LkZpZWxkU3R5bGVJbmZvJywgJ2dvb2cuZWRpdG9yLm5vZGUnLCAnZ29vZy5lZGl0b3IucmFuZ2UnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cubG9nJywgJ2dvb2cubG9nLkxldmVsJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLlVuaWNvZGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvZmllbGRfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IuZmllbGRfdGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IuUGx1Z2luJywgJ2dvb2cuZWRpdG9yLnJhbmdlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cudGVzdGluZy5Mb29zZU1vY2snLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZG9tJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9mb2N1cy5qcycsIFsnZ29vZy5lZGl0b3IuZm9jdXMnXSwgWydnb29nLmRvbS5zZWxlY3Rpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9mb2N1c190ZXN0LmpzJywgWydnb29nLmVkaXRvci5mb2N1c1Rlc3QnXSwgWydnb29nLmRvbS5zZWxlY3Rpb24nLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5lZGl0b3IuZm9jdXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9pY29udGVudC5qcycsIFsnZ29vZy5lZGl0b3IuaWNvbnRlbnQnLCAnZ29vZy5lZGl0b3IuaWNvbnRlbnQuRmllbGRGb3JtYXRJbmZvJywgJ2dvb2cuZWRpdG9yLmljb250ZW50LkZpZWxkU3R5bGVJbmZvJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5zdHlsZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL2ljb250ZW50X3Rlc3QuanMnLCBbJ2dvb2cuZWRpdG9yLmljb250ZW50VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5lZGl0b3IuaWNvbnRlbnQnLCAnZ29vZy5lZGl0b3IuaWNvbnRlbnQuRmllbGRGb3JtYXRJbmZvJywgJ2dvb2cuZWRpdG9yLmljb250ZW50LkZpZWxkU3R5bGVJbmZvJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvbGluay5qcycsIFsnZ29vZy5lZGl0b3IuTGluayddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLkZpZWxkJywgJ2dvb2cuZWRpdG9yLm5vZGUnLCAnZ29vZy5lZGl0b3IucmFuZ2UnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuVW5pY29kZScsICdnb29nLnVyaS51dGlscycsICdnb29nLnVyaS51dGlscy5Db21wb25lbnRJbmRleCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL2xpbmtfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IuTGlua1Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLkxpbmsnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9ub2RlLmpzJywgWydnb29nLmVkaXRvci5ub2RlJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5pdGVyLkNoaWxkSXRlcmF0b3InLCAnZ29vZy5kb20uaXRlci5TaWJsaW5nSXRlcmF0b3InLCAnZ29vZy5pdGVyJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLlVuaWNvZGUnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9ub2RlX3Rlc3QuanMnLCBbJ2dvb2cuZWRpdG9yLm5vZGVUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLm5vZGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2luLmpzJywgWydnb29nLmVkaXRvci5QbHVnaW4nXSwgWydnb29nLmVkaXRvci5GaWVsZCcsICdnb29nLmVkaXRvci5QbHVnaW5JbXBsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2luX2ltcGwuanMnLCBbJ2dvb2cuZWRpdG9yLlBsdWdpbkltcGwnXSwgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLmxvZycsICdnb29nLm9iamVjdCcsICdnb29nLnJlZmxlY3QnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5fdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IuUGx1Z2luVGVzdCddLCBbJ2dvb2cuZWRpdG9yLkZpZWxkJywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLnRlc3RpbmcuU3RyaWN0TW9jaycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvYWJzdHJhY3RidWJibGVwbHVnaW4uanMnLCBbJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQWJzdHJhY3RCdWJibGVQbHVnaW4nXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmVkaXRvci5zdHlsZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZXZlbnRzLmFjdGlvbkV2ZW50V3JhcHBlcicsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLnN0cmluZy5Vbmljb2RlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuZWRpdG9yLkJ1YmJsZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvYWJzdHJhY3RidWJibGVwbHVnaW5fdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5BYnN0cmFjdEJ1YmJsZVBsdWdpblRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQWJzdHJhY3RCdWJibGVQbHVnaW4nLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuRmllbGRNb2NrJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuVGVzdEhlbHBlcicsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5ldmVudHMuRXZlbnQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmVkaXRvci5CdWJibGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9hYnN0cmFjdGRpYWxvZ3BsdWdpbi5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5BYnN0cmFjdERpYWxvZ1BsdWdpbicsICdnb29nLmVkaXRvci5wbHVnaW5zLkFic3RyYWN0RGlhbG9nUGx1Z2luLkV2ZW50VHlwZSddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZWRpdG9yLkZpZWxkJywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmVkaXRvci5yYW5nZScsICdnb29nLmV2ZW50cycsICdnb29nLnVpLmVkaXRvci5BYnN0cmFjdERpYWxvZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvYWJzdHJhY3RkaWFsb2dwbHVnaW5fdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5BYnN0cmFjdERpYWxvZ1BsdWdpblRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5TYXZlZFJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5BYnN0cmFjdERpYWxvZ1BsdWdpbicsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuRmllbGRNb2NrJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuVGVzdEhlbHBlcicsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMuQXJndW1lbnRNYXRjaGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5lZGl0b3IuQWJzdHJhY3REaWFsb2cnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9hYnN0cmFjdHRhYmhhbmRsZXIuanMnLCBbJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQWJzdHJhY3RUYWJIYW5kbGVyJ10sIFsnZ29vZy5lZGl0b3IuUGx1Z2luJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9hYnN0cmFjdHRhYmhhbmRsZXJfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5BYnN0cmFjdFRhYkhhbmRsZXJUZXN0J10sIFsnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5BYnN0cmFjdFRhYkhhbmRsZXInLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cudGVzdGluZy5TdHJpY3RNb2NrJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuRmllbGRNb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9iYXNpY3RleHRmb3JtYXR0ZXIuanMnLCBbJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQmFzaWNUZXh0Rm9ybWF0dGVyJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQmFzaWNUZXh0Rm9ybWF0dGVyLkNPTU1BTkQnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5lZGl0b3IuQ29tbWFuZCcsICdnb29nLmVkaXRvci5MaW5rJywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmVkaXRvci5ub2RlJywgJ2dvb2cuZWRpdG9yLnJhbmdlJywgJ2dvb2cuZWRpdG9yLnN0eWxlJywgJ2dvb2cuaXRlcicsICdnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbicsICdnb29nLmxvZycsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnN0cmluZy5Vbmljb2RlJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5lZGl0b3IubWVzc2FnZXMnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL2Jhc2ljdGV4dGZvcm1hdHRlcl90ZXN0LmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLkJhc2ljVGV4dEZvcm1hdHRlclRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5lZGl0b3IuQ29tbWFuZCcsICdnb29nLmVkaXRvci5GaWVsZCcsICdnb29nLmVkaXRvci5QbHVnaW4nLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5CYXNpY1RleHRGb3JtYXR0ZXInLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLkxvb3NlTW9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuZWRpdG9yLkZpZWxkTW9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9ibG9ja3F1b3RlLmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLkJsb2NrcXVvdGUnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmVkaXRvci5ub2RlJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cubG9nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9ibG9ja3F1b3RlX3Rlc3QuanMnLCBbJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQmxvY2txdW90ZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQmxvY2txdW90ZScsICdnb29nLnRlc3RpbmcuZWRpdG9yLkZpZWxkTW9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL2Vtb3RpY29ucy5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5FbW90aWNvbnMnXSwgWydnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmVkaXRvci5yYW5nZScsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLnVpLmVtb2ppLkVtb2ppJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9lbW90aWNvbnNfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5FbW90aWNvbnNUZXN0J10sIFsnZ29vZy5VcmknLCAnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLkZpZWxkJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuRW1vdGljb25zJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5lbW9qaS5FbW9qaScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL2VudGVyaGFuZGxlci5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5FbnRlckhhbmRsZXInXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlT2Zmc2V0JywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5lZGl0b3IuUGx1Z2luJywgJ2dvb2cuZWRpdG9yLm5vZGUnLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5CbG9ja3F1b3RlJywgJ2dvb2cuZWRpdG9yLnJhbmdlJywgJ2dvb2cuZWRpdG9yLnN0eWxlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9lbnRlcmhhbmRsZXJfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5FbnRlckhhbmRsZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5GaWVsZCcsICdnb29nLmVkaXRvci5QbHVnaW4nLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5CbG9ja3F1b3RlJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuRW50ZXJIYW5kbGVyJywgJ2dvb2cuZWRpdG9yLnJhbmdlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuaHRtbC50ZXN0aW5nJywgJ2dvb2cudGVzdGluZy5FeHBlY3RlZEZhaWx1cmVzJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLmRvbScsICdnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvZmlyc3RzdHJvbmcuanMnLCBbJ2dvb2cuZWRpdG9yLnBsdWdpbnMuRmlyc3RTdHJvbmcnXSwgWydnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdJdGVyYXRvcicsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLkNvbW1hbmQnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IuUGx1Z2luJywgJ2dvb2cuZWRpdG9yLm5vZGUnLCAnZ29vZy5lZGl0b3IucmFuZ2UnLCAnZ29vZy5pMThuLmJpZGknLCAnZ29vZy5pMThuLnVDaGFyJywgJ2dvb2cuaXRlcicsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvZmlyc3RzdHJvbmdfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5GaXJzdFN0cm9uZ1Rlc3QnXSwgWydnb29nLmRvbS5SYW5nZScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLkZpZWxkJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuRmlyc3RTdHJvbmcnLCAnZ29vZy5lZGl0b3IucmFuZ2UnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvaGVhZGVyZm9ybWF0dGVyLmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLkhlYWRlckZvcm1hdHRlciddLCBbJ2dvb2cuZWRpdG9yLkNvbW1hbmQnLCAnZ29vZy5lZGl0b3IuUGx1Z2luJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9oZWFkZXJmb3JtYXR0ZXJfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5IZWFkZXJGb3JtYXR0ZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5lZGl0b3IuQ29tbWFuZCcsICdnb29nLmVkaXRvci5wbHVnaW5zLkJhc2ljVGV4dEZvcm1hdHRlcicsICdnb29nLmVkaXRvci5wbHVnaW5zLkhlYWRlckZvcm1hdHRlcicsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy50ZXN0aW5nLkxvb3NlTW9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLkZpZWxkTW9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL2xpbmtidWJibGUuanMnLCBbJ2dvb2cuZWRpdG9yLnBsdWdpbnMuTGlua0J1YmJsZScsICdnb29nLmVkaXRvci5wbHVnaW5zLkxpbmtCdWJibGUuQWN0aW9uJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLkNvbW1hbmQnLCAnZ29vZy5lZGl0b3IuTGluaycsICdnb29nLmVkaXRvci5wbHVnaW5zLkFic3RyYWN0QnViYmxlUGx1Z2luJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5lZGl0b3IubWVzc2FnZXMnLCAnZ29vZy51cmkudXRpbHMnLCAnZ29vZy53aW5kb3cnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL2xpbmtidWJibGVfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5MaW5rQnViYmxlVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQ29tbWFuZCcsICdnb29nLmVkaXRvci5MaW5rJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuTGlua0J1YmJsZScsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLkZ1bmN0aW9uTW9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuZWRpdG9yLkZpZWxkTW9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvbGlua2RpYWxvZ3BsdWdpbi5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5MaW5rRGlhbG9nUGx1Z2luJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQWJzdHJhY3REaWFsb2dQbHVnaW4nLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cudWkuZWRpdG9yLkFic3RyYWN0RGlhbG9nJywgJ2dvb2cudWkuZWRpdG9yLkxpbmtEaWFsb2cnLCAnZ29vZy51cmkudXRpbHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL2xpbmtkaWFsb2dwbHVnaW5fdGVzdC5qcycsIFsnZ29vZy51aS5lZGl0b3IucGx1Z2lucy5MaW5rRGlhbG9nVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkRvbUhlbHBlcicsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZWRpdG9yLkNvbW1hbmQnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IuTGluaycsICdnb29nLmVkaXRvci5wbHVnaW5zLkxpbmtEaWFsb2dQbHVnaW4nLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLlVuaWNvZGUnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuRmllbGRNb2NrJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuVGVzdEhlbHBlcicsICdnb29nLnRlc3RpbmcuZWRpdG9yLmRvbScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmVkaXRvci5BYnN0cmFjdERpYWxvZycsICdnb29nLnVpLmVkaXRvci5MaW5rRGlhbG9nJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvbGlua3Nob3J0Y3V0cGx1Z2luLmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLkxpbmtTaG9ydGN1dFBsdWdpbiddLCBbJ2dvb2cuZWRpdG9yLkNvbW1hbmQnLCAnZ29vZy5lZGl0b3IuUGx1Z2luJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9saW5rc2hvcnRjdXRwbHVnaW5fdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5MaW5rU2hvcnRjdXRQbHVnaW5UZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5GaWVsZCcsICdnb29nLmVkaXRvci5wbHVnaW5zLkJhc2ljVGV4dEZvcm1hdHRlcicsICdnb29nLmVkaXRvci5wbHVnaW5zLkxpbmtCdWJibGUnLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5MaW5rU2hvcnRjdXRQbHVnaW4nLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmRvbScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL2xpc3R0YWJoYW5kbGVyLmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLkxpc3RUYWJIYW5kbGVyJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQWJzdHJhY3RUYWJIYW5kbGVyJywgJ2dvb2cuaXRlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvbGlzdHRhYmhhbmRsZXJfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5MaXN0VGFiSGFuZGxlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuTGlzdFRhYkhhbmRsZXInLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cudGVzdGluZy5TdHJpY3RNb2NrJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuRmllbGRNb2NrJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuVGVzdEhlbHBlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvbG9yZW1pcHN1bS5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5Mb3JlbUlwc3VtJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZWRpdG9yLkNvbW1hbmQnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IuUGx1Z2luJywgJ2dvb2cuZWRpdG9yLm5vZGUnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy9sb3JlbWlwc3VtX3Rlc3QuanMnLCBbJ2dvb2cuZWRpdG9yLnBsdWdpbnMuTG9yZW1JcHN1bVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLkZpZWxkJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuTG9yZW1JcHN1bScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5zdHJpbmcuVW5pY29kZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvcmVtb3ZlZm9ybWF0dGluZy5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5SZW1vdmVGb3JtYXR0aW5nJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5QbHVnaW4nLCAnZ29vZy5lZGl0b3Iubm9kZScsICdnb29nLmVkaXRvci5yYW5nZScsICdnb29nLnN0cmluZycsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvcmVtb3ZlZm9ybWF0dGluZ190ZXN0LmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLlJlbW92ZUZvcm1hdHRpbmdUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5wbHVnaW5zLlJlbW92ZUZvcm1hdHRpbmcnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLmRvbScsICdnb29nLnRlc3RpbmcuZWRpdG9yLkZpZWxkTW9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvc3BhY2VzdGFiaGFuZGxlci5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5TcGFjZXNUYWJIYW5kbGVyJ10sIFsnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5wbHVnaW5zLkFic3RyYWN0VGFiSGFuZGxlcicsICdnb29nLmVkaXRvci5yYW5nZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvc3BhY2VzdGFiaGFuZGxlcl90ZXN0LmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLlNwYWNlc1RhYkhhbmRsZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5TcGFjZXNUYWJIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLnRlc3RpbmcuU3RyaWN0TW9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLkZpZWxkTW9jaycsICdnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL3RhYmxlZWRpdG9yLmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLlRhYmxlRWRpdG9yJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmVkaXRvci5UYWJsZScsICdnb29nLmVkaXRvci5ub2RlJywgJ2dvb2cuZWRpdG9yLnJhbmdlJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy90YWJsZWVkaXRvcl90ZXN0LmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLlRhYmxlRWRpdG9yVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5UYWJsZUVkaXRvcicsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLmVkaXRvci5GaWVsZE1vY2snLCAnZ29vZy50ZXN0aW5nLmVkaXRvci5UZXN0SGVscGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy90YWdvbmVudGVyaGFuZGxlci5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5UYWdPbkVudGVySGFuZGxlciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQ29tbWFuZCcsICdnb29nLmVkaXRvci5ub2RlJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuRW50ZXJIYW5kbGVyJywgJ2dvb2cuZWRpdG9yLnJhbmdlJywgJ2dvb2cuZWRpdG9yLnN0eWxlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuc3RyaW5nLlVuaWNvZGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvdGFnb25lbnRlcmhhbmRsZXJfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5UYWdPbkVudGVySGFuZGxlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZWRpdG9yLkZpZWxkJywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmVkaXRvci5wbHVnaW5zLlRhZ09uRW50ZXJIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLnN0cmluZy5Vbmljb2RlJywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLmVkaXRvci5UZXN0SGVscGVyJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL3VuZG9yZWRvLmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLlVuZG9SZWRvJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZU9mZnNldCcsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuZWRpdG9yLkZpZWxkJywgJ2dvb2cuZWRpdG9yLlBsdWdpbicsICdnb29nLmVkaXRvci5ub2RlJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuVW5kb1JlZG9NYW5hZ2VyJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuVW5kb1JlZG9TdGF0ZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5sb2cnLCAnZ29vZy5vYmplY3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL3VuZG9yZWRvX3Rlc3QuanMnLCBbJ2dvb2cuZWRpdG9yLnBsdWdpbnMuVW5kb1JlZG9UZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5icm93c2VycmFuZ2UnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5Mb3JlbUlwc3VtJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuVW5kb1JlZG8nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLlN0cmljdE1vY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci9wbHVnaW5zL3VuZG9yZWRvbWFuYWdlci5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5VbmRvUmVkb01hbmFnZXInLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5VbmRvUmVkb01hbmFnZXIuRXZlbnRUeXBlJ10sIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5VbmRvUmVkb1N0YXRlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy91bmRvcmVkb21hbmFnZXJfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5VbmRvUmVkb01hbmFnZXJUZXN0J10sIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5VbmRvUmVkb01hbmFnZXInLCAnZ29vZy5lZGl0b3IucGx1Z2lucy5VbmRvUmVkb1N0YXRlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5TdHJpY3RNb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcGx1Z2lucy91bmRvcmVkb3N0YXRlLmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLlVuZG9SZWRvU3RhdGUnXSwgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3BsdWdpbnMvdW5kb3JlZG9zdGF0ZV90ZXN0LmpzJywgWydnb29nLmVkaXRvci5wbHVnaW5zLlVuZG9SZWRvU3RhdGVUZXN0J10sIFsnZ29vZy5lZGl0b3IucGx1Z2lucy5VbmRvUmVkb1N0YXRlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvcmFuZ2UuanMnLCBbJ2dvb2cuZWRpdG9yLnJhbmdlJywgJ2dvb2cuZWRpdG9yLnJhbmdlLlBvaW50J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5SYW5nZUVuZHBvaW50JywgJ2dvb2cuZG9tLlNhdmVkQ2FyZXRSYW5nZScsICdnb29nLmVkaXRvci5ub2RlJywgJ2dvb2cuZWRpdG9yLnN0eWxlJywgJ2dvb2cuaXRlcicsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3JhbmdlX3Rlc3QuanMnLCBbJ2dvb2cuZWRpdG9yLnJhbmdlVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IucmFuZ2UnLCAnZ29vZy5lZGl0b3IucmFuZ2UuUG9pbnQnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3NlYW1sZXNzZmllbGQuanMnLCBbJ2dvb2cuZWRpdG9yLlNlYW1sZXNzRmllbGQnXSwgWydnb29nLmNzc29tLmlmcmFtZS5zdHlsZScsICdnb29nLmRvbScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5lZGl0b3IuRmllbGQnLCAnZ29vZy5lZGl0b3IuaWNvbnRlbnQnLCAnZ29vZy5lZGl0b3IuaWNvbnRlbnQuRmllbGRGb3JtYXRJbmZvJywgJ2dvb2cuZWRpdG9yLmljb250ZW50LkZpZWxkU3R5bGVJbmZvJywgJ2dvb2cuZWRpdG9yLm5vZGUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmxvZycsICdnb29nLnN0eWxlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3Ivc2VhbWxlc3NmaWVsZF90ZXN0LmpzJywgWydnb29nLmVkaXRvci5zZWFtbGVzc2ZpZWxkX3Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Eb21IZWxwZXInLCAnZ29vZy5kb20uUmFuZ2UnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5GaWVsZCcsICdnb29nLmVkaXRvci5TZWFtbGVzc0ZpZWxkJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLk1vY2tSYW5nZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZWRpdG9yL3N0eWxlLmpzJywgWydnb29nLmVkaXRvci5zdHlsZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLm9iamVjdCcsICdnb29nLnN0eWxlJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3Ivc3R5bGVfdGVzdC5qcycsIFsnZ29vZy5lZGl0b3Iuc3R5bGVUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5zdHlsZScsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLkxvb3NlTW9jaycsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdlZGl0b3IvdGFibGUuanMnLCBbJ2dvb2cuZWRpdG9yLlRhYmxlJywgJ2dvb2cuZWRpdG9yLlRhYmxlQ2VsbCcsICdnb29nLmVkaXRvci5UYWJsZVJvdyddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5Eb21IZWxwZXInLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmxvZycsICdnb29nLnN0cmluZy5Vbmljb2RlJywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2VkaXRvci90YWJsZV90ZXN0LmpzJywgWydnb29nLmVkaXRvci5UYWJsZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZWRpdG9yLlRhYmxlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvYWN0aW9uZXZlbnR3cmFwcGVyLmpzJywgWydnb29nLmV2ZW50cy5hY3Rpb25FdmVudFdyYXBwZXInXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuRXZlbnRXcmFwcGVyJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvYWN0aW9uZXZlbnR3cmFwcGVyX3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLmFjdGlvbkV2ZW50V3JhcHBlclRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5hY3Rpb25FdmVudFdyYXBwZXInLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2FjdGlvbmhhbmRsZXIuanMnLCBbJ2dvb2cuZXZlbnRzLkFjdGlvbkV2ZW50JywgJ2dvb2cuZXZlbnRzLkFjdGlvbkhhbmRsZXInLCAnZ29vZy5ldmVudHMuQWN0aW9uSGFuZGxlci5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuQmVmb3JlQWN0aW9uRXZlbnQnXSwgWydnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvYWN0aW9uaGFuZGxlcl90ZXN0LmpzJywgWydnb29nLmV2ZW50cy5BY3Rpb25IYW5kbGVyVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkFjdGlvbkhhbmRsZXInLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2Jyb3dzZXJldmVudC5qcycsIFsnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudC5Nb3VzZUJ1dHRvbicsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQuUG9pbnRlclR5cGUnXSwgWydnb29nLmRlYnVnJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnJlZmxlY3QnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9icm93c2VyZXZlbnRfdGVzdC5qcycsIFsnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50VGVzdCddLCBbJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5Ccm93c2VyRmVhdHVyZScsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2Jyb3dzZXJmZWF0dXJlLmpzJywgWydnb29nLmV2ZW50cy5Ccm93c2VyRmVhdHVyZSddLCBbJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZXZlbnQuanMnLCBbJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50TGlrZSddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmV2ZW50cy5FdmVudElkJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZXZlbnRfdGVzdC5qcycsIFsnZ29vZy5ldmVudHMuRXZlbnRUZXN0J10sIFsnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRJZCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2V2ZW50aGFuZGxlci5qcycsIFsnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cub2JqZWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZXZlbnRoYW5kbGVyX3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlclRlc3QnXSwgWydnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZXZlbnRpZC5qcycsIFsnZ29vZy5ldmVudHMuRXZlbnRJZCddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9ldmVudHMuanMnLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkNhcHR1cmVTaW11bGF0aW9uTW9kZScsICdnb29nLmV2ZW50cy5LZXknLCAnZ29vZy5ldmVudHMuTGlzdGVuYWJsZVR5cGUnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kZWJ1Zy5lbnRyeVBvaW50UmVnaXN0cnknLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZXZlbnRzLkxpc3RlbmFibGUnLCAnZ29vZy5ldmVudHMuTGlzdGVuZXJNYXAnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9ldmVudHNfdGVzdC5qcycsIFsnZ29vZy5ldmVudHNUZXN0J10sIFsnZ29vZy5hc3NlcnRzLkFzc2VydGlvbkVycm9yJywgJ2dvb2cuZGVidWcuRW50cnlQb2ludE1vbml0b3InLCAnZ29vZy5kZWJ1Zy5FcnJvckhhbmRsZXInLCAnZ29vZy5kZWJ1Zy5lbnRyeVBvaW50UmVnaXN0cnknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRmVhdHVyZScsICdnb29nLmV2ZW50cy5DYXB0dXJlU2ltdWxhdGlvbk1vZGUnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLkxpc3RlbmVyJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2V2ZW50dGFyZ2V0LmpzJywgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldCddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuTGlzdGVuYWJsZScsICdnb29nLmV2ZW50cy5MaXN0ZW5lck1hcCcsICdnb29nLm9iamVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2V2ZW50dGFyZ2V0X3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0VGVzdCddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkxpc3RlbmFibGUnLCAnZ29vZy5ldmVudHMuZXZlbnRUYXJnZXRUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9ldmVudHRhcmdldF92aWFfZ29vZ2V2ZW50c190ZXN0LmpzJywgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldEdvb2dFdmVudHNUZXN0J10sIFsnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuZXZlbnRUYXJnZXRUZXN0ZXInLCAnZ29vZy50ZXN0aW5nJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZXZlbnR0YXJnZXRfdmlhX3czY2ludGVyZmFjZV90ZXN0LmpzJywgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldFczQ1Rlc3QnXSwgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5ldmVudFRhcmdldFRlc3RlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2V2ZW50dGFyZ2V0dGVzdGVyLmpzJywgWydnb29nLmV2ZW50cy5ldmVudFRhcmdldFRlc3RlciddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuTGlzdGVuYWJsZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZXZlbnR0eXBlLmpzJywgWydnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuTW91c2VBc01vdXNlRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLk1vdXNlRXZlbnRzJywgJ2dvb2cuZXZlbnRzLlBvaW50ZXJBc01vdXNlRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLlBvaW50ZXJBc1RvdWNoRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLlBvaW50ZXJGYWxsYmFja0V2ZW50VHlwZScsICdnb29nLmV2ZW50cy5Qb2ludGVyVG91Y2hGYWxsYmFja0V2ZW50VHlwZSddLCBbJ2dvb2cuZXZlbnRzLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZXZlbnR0eXBlX3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZVRlc3QnXSwgWydnb29nLmV2ZW50cy5Ccm93c2VyRmVhdHVyZScsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuUG9pbnRlckZhbGxiYWNrRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLlBvaW50ZXJUb3VjaEZhbGxiYWNrRXZlbnRUeXBlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZXZlbnR3cmFwcGVyLmpzJywgWydnb29nLmV2ZW50cy5FdmVudFdyYXBwZXInXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZmlsZWRyb3BoYW5kbGVyLmpzJywgWydnb29nLmV2ZW50cy5GaWxlRHJvcEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRmlsZURyb3BIYW5kbGVyLkV2ZW50VHlwZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5sb2cnLCAnZ29vZy5sb2cuTGV2ZWwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9maWxlZHJvcGhhbmRsZXJfdGVzdC5qcycsIFsnZ29vZy5ldmVudHMuRmlsZURyb3BIYW5kbGVyVGVzdCddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuRmlsZURyb3BIYW5kbGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvZm9jdXNoYW5kbGVyLmpzJywgWydnb29nLmV2ZW50cy5Gb2N1c0hhbmRsZXInLCAnZ29vZy5ldmVudHMuRm9jdXNIYW5kbGVyLkV2ZW50VHlwZSddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2ltZWhhbmRsZXIuanMnLCBbJ2dvb2cuZXZlbnRzLkltZUhhbmRsZXInLCAnZ29vZy5ldmVudHMuSW1lSGFuZGxlci5FdmVudCcsICdnb29nLmV2ZW50cy5JbWVIYW5kbGVyLkV2ZW50VHlwZSddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9pbWVoYW5kbGVyX3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLkltZUhhbmRsZXJUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5JbWVIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2lucHV0aGFuZGxlci5qcycsIFsnZ29vZy5ldmVudHMuSW5wdXRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLklucHV0SGFuZGxlci5FdmVudFR5cGUnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2lucHV0aGFuZGxlcl90ZXN0LmpzJywgWydnb29nLmV2ZW50cy5JbnB1dEhhbmRsZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5JbnB1dEhhbmRsZXInLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50JywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2tleWNvZGVzLmpzJywgWydnb29nLmV2ZW50cy5LZXlDb2RlcyddLCBbJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMva2V5Y29kZXNfdGVzdC5qcycsIFsnZ29vZy5ldmVudHMuS2V5Q29kZXNUZXN0J10sIFsnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMva2V5aGFuZGxlci5qcycsIFsnZ29vZy5ldmVudHMuS2V5RXZlbnQnLCAnZ29vZy5ldmVudHMuS2V5SGFuZGxlcicsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyLkV2ZW50VHlwZSddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9rZXloYW5kbGVyX3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLktleUV2ZW50VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9rZXluYW1lcy5qcycsIFsnZ29vZy5ldmVudHMuS2V5TmFtZXMnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMva2V5cy5qcycsIFsnZ29vZy5ldmVudHMuS2V5cyddLCBbXSwgeydsYW5nJzogJ2VzNSd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvbGlzdGVuYWJsZS5qcycsIFsnZ29vZy5ldmVudHMuTGlzdGVuYWJsZScsICdnb29nLmV2ZW50cy5MaXN0ZW5hYmxlS2V5J10sIFsnZ29vZy5ldmVudHMuRXZlbnRJZCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2xpc3RlbmFibGVfdGVzdC5qcycsIFsnZ29vZy5ldmVudHMuTGlzdGVuYWJsZVRlc3QnXSwgWydnb29nLmV2ZW50cy5MaXN0ZW5hYmxlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvbGlzdGVuZXIuanMnLCBbJ2dvb2cuZXZlbnRzLkxpc3RlbmVyJ10sIFsnZ29vZy5ldmVudHMuTGlzdGVuYWJsZUtleSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL2xpc3RlbmVybWFwLmpzJywgWydnb29nLmV2ZW50cy5MaXN0ZW5lck1hcCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5ldmVudHMuTGlzdGVuZXInLCAnZ29vZy5vYmplY3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9saXN0ZW5lcm1hcF90ZXN0LmpzJywgWydnb29nLmV2ZW50cy5MaXN0ZW5lck1hcFRlc3QnXSwgWydnb29nLmRpc3Bvc2UnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRJZCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5MaXN0ZW5lck1hcCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL21vdXNld2hlZWxoYW5kbGVyLmpzJywgWydnb29nLmV2ZW50cy5Nb3VzZVdoZWVsRXZlbnQnLCAnZ29vZy5ldmVudHMuTW91c2VXaGVlbEhhbmRsZXInLCAnZ29vZy5ldmVudHMuTW91c2VXaGVlbEhhbmRsZXIuRXZlbnRUeXBlJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cubWF0aCcsICdnb29nLnN0eWxlJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvbW91c2V3aGVlbGhhbmRsZXJfdGVzdC5qcycsIFsnZ29vZy5ldmVudHMuTW91c2VXaGVlbEhhbmRsZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLk1vdXNlV2hlZWxFdmVudCcsICdnb29nLmV2ZW50cy5Nb3VzZVdoZWVsSGFuZGxlcicsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvb25saW5laGFuZGxlci5qcycsIFsnZ29vZy5ldmVudHMuT25saW5lSGFuZGxlcicsICdnb29nLmV2ZW50cy5PbmxpbmVIYW5kbGVyLkV2ZW50VHlwZSddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5ldmVudHMuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLm5ldC5OZXR3b3JrU3RhdHVzTW9uaXRvciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZXZlbnRzL29ubGluZWxpc3RlbmVyX3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLk9ubGluZUhhbmRsZXJUZXN0J10sIFsnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLk9ubGluZUhhbmRsZXInLCAnZ29vZy5uZXQuTmV0d29ya1N0YXR1c01vbml0b3InLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy9wYXN0ZWhhbmRsZXIuanMnLCBbJ2dvb2cuZXZlbnRzLlBhc3RlSGFuZGxlcicsICdnb29nLmV2ZW50cy5QYXN0ZUhhbmRsZXIuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLlBhc3RlSGFuZGxlci5TdGF0ZSddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hc3luYy5Db25kaXRpb25hbERlbGF5JywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cubG9nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvcGFzdGVoYW5kbGVyX3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLlBhc3RlSGFuZGxlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZXZlbnRzLlBhc3RlSGFuZGxlcicsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvd2hlZWxldmVudC5qcycsIFsnZ29vZy5ldmVudHMuV2hlZWxFdmVudCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2V2ZW50cy93aGVlbGhhbmRsZXIuanMnLCBbJ2dvb2cuZXZlbnRzLldoZWVsSGFuZGxlciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLldoZWVsRXZlbnQnLCAnZ29vZy5zdHlsZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QuaXNWZXJzaW9uJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdldmVudHMvd2hlZWxoYW5kbGVyX3Rlc3QuanMnLCBbJ2dvb2cuZXZlbnRzLldoZWVsSGFuZGxlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuV2hlZWxFdmVudCcsICdnb29nLmV2ZW50cy5XaGVlbEhhbmRsZXInLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZm9ybWF0L2VtYWlsYWRkcmVzcy5qcycsIFsnZ29vZy5mb3JtYXQuRW1haWxBZGRyZXNzJ10sIFsnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Zvcm1hdC9lbWFpbGFkZHJlc3NfdGVzdC5qcycsIFsnZ29vZy5mb3JtYXQuRW1haWxBZGRyZXNzVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5mb3JtYXQuRW1haWxBZGRyZXNzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmb3JtYXQvZm9ybWF0LmpzJywgWydnb29nLmZvcm1hdCddLCBbJ2dvb2cuaTE4bi5HcmFwaGVtZUJyZWFrJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmb3JtYXQvZm9ybWF0X3Rlc3QuanMnLCBbJ2dvb2cuZm9ybWF0VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5mb3JtYXQnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Zvcm1hdC9odG1scHJldHR5cHJpbnRlci5qcycsIFsnZ29vZy5mb3JtYXQuSHRtbFByZXR0eVByaW50ZXInLCAnZ29vZy5mb3JtYXQuSHRtbFByZXR0eVByaW50ZXIuQnVmZmVyJ10sIFsnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZy5TdHJpbmdCdWZmZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Zvcm1hdC9odG1scHJldHR5cHJpbnRlcl90ZXN0LmpzJywgWydnb29nLmZvcm1hdC5IdG1sUHJldHR5UHJpbnRlclRlc3QnXSwgWydnb29nLmZvcm1hdC5IdG1sUHJldHR5UHJpbnRlcicsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmb3JtYXQvaW50ZXJuYXRpb25hbGl6ZWRlbWFpbGFkZHJlc3MuanMnLCBbJ2dvb2cuZm9ybWF0LkludGVybmF0aW9uYWxpemVkRW1haWxBZGRyZXNzJ10sIFsnZ29vZy5mb3JtYXQuRW1haWxBZGRyZXNzJywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmb3JtYXQvaW50ZXJuYXRpb25hbGl6ZWRlbWFpbGFkZHJlc3NfdGVzdC5qcycsIFsnZ29vZy5mb3JtYXQuSW50ZXJuYXRpb25hbGl6ZWRFbWFpbEFkZHJlc3NUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmZvcm1hdC5JbnRlcm5hdGlvbmFsaXplZEVtYWlsQWRkcmVzcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZm9ybWF0L2pzb25wcmV0dHlwcmludGVyLmpzJywgWydnb29nLmZvcm1hdC5Kc29uUHJldHR5UHJpbnRlcicsICdnb29nLmZvcm1hdC5Kc29uUHJldHR5UHJpbnRlci5TYWZlSHRtbERlbGltaXRlcnMnLCAnZ29vZy5mb3JtYXQuSnNvblByZXR0eVByaW50ZXIuVGV4dERlbGltaXRlcnMnXSwgWydnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5qc29uJywgJ2dvb2cuanNvbi5TZXJpYWxpemVyJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLmZvcm1hdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZm9ybWF0L2pzb25wcmV0dHlwcmludGVyX3Rlc3QuanMnLCBbJ2dvb2cuZm9ybWF0Lkpzb25QcmV0dHlQcmludGVyVGVzdCddLCBbJ2dvb2cuZm9ybWF0Lkpzb25QcmV0dHlQcmludGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmcy9lbnRyeS5qcycsIFsnZ29vZy5mcy5EaXJlY3RvcnlFbnRyeScsICdnb29nLmZzLkRpcmVjdG9yeUVudHJ5LkJlaGF2aW9yJywgJ2dvb2cuZnMuRW50cnknLCAnZ29vZy5mcy5GaWxlRW50cnknXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmcy9lbnRyeWltcGwuanMnLCBbJ2dvb2cuZnMuRGlyZWN0b3J5RW50cnlJbXBsJywgJ2dvb2cuZnMuRW50cnlJbXBsJywgJ2dvb2cuZnMuRmlsZUVudHJ5SW1wbCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmZzLkRpcmVjdG9yeUVudHJ5JywgJ2dvb2cuZnMuRW50cnknLCAnZ29vZy5mcy5FcnJvcicsICdnb29nLmZzLkZpbGVFbnRyeScsICdnb29nLmZzLkZpbGVXcml0ZXInLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2ZzL2Vycm9yLmpzJywgWydnb29nLmZzLkRPTUVycm9yTGlrZScsICdnb29nLmZzLkVycm9yJywgJ2dvb2cuZnMuRXJyb3IuRXJyb3JDb2RlJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGVidWcuRXJyb3InLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2ZzL2ZpbGVyZWFkZXIuanMnLCBbJ2dvb2cuZnMuRmlsZVJlYWRlcicsICdnb29nLmZzLkZpbGVSZWFkZXIuRXZlbnRUeXBlJywgJ2dvb2cuZnMuRmlsZVJlYWRlci5SZWFkeVN0YXRlJ10sIFsnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmZzLkVycm9yJywgJ2dvb2cuZnMuUHJvZ3Jlc3NFdmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZnMvZmlsZXNhdmVyLmpzJywgWydnb29nLmZzLkZpbGVTYXZlcicsICdnb29nLmZzLkZpbGVTYXZlci5FdmVudFR5cGUnLCAnZ29vZy5mcy5GaWxlU2F2ZXIuUmVhZHlTdGF0ZSddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZnMuRXJyb3InLCAnZ29vZy5mcy5Qcm9ncmVzc0V2ZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmcy9maWxlc3lzdGVtLmpzJywgWydnb29nLmZzLkZpbGVTeXN0ZW0nXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmcy9maWxlc3lzdGVtaW1wbC5qcycsIFsnZ29vZy5mcy5GaWxlU3lzdGVtSW1wbCddLCBbJ2dvb2cuZnMuRGlyZWN0b3J5RW50cnlJbXBsJywgJ2dvb2cuZnMuRmlsZVN5c3RlbSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZnMvZmlsZXdyaXRlci5qcycsIFsnZ29vZy5mcy5GaWxlV3JpdGVyJ10sIFsnZ29vZy5mcy5FcnJvcicsICdnb29nLmZzLkZpbGVTYXZlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZnMvZnMuanMnLCBbJ2dvb2cuZnMnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXN5bmMuRGVmZXJyZWQnLCAnZ29vZy5mcy5FcnJvcicsICdnb29nLmZzLkZpbGVSZWFkZXInLCAnZ29vZy5mcy5GaWxlU3lzdGVtSW1wbCcsICdnb29nLmZzLnVybCcsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZnMvZnNfdGVzdC5qcycsIFsnZ29vZy5mc1Rlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnMnLCAnZ29vZy5mcy5EaXJlY3RvcnlFbnRyeScsICdnb29nLmZzLkVycm9yJywgJ2dvb2cuZnMuRmlsZVJlYWRlcicsICdnb29nLmZzLkZpbGVTYXZlcicsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZnMvcHJvZ3Jlc3NldmVudC5qcycsIFsnZ29vZy5mcy5Qcm9ncmVzc0V2ZW50J10sIFsnZ29vZy5ldmVudHMuRXZlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2ZzL3VybC5qcycsIFsnZ29vZy5mcy51cmwnXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZnMvdXJsX3Rlc3QuanMnLCBbJ2dvb2cudXJsVGVzdCddLCBbJ2dvb2cuZnMudXJsJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmdW5jdGlvbnMvZnVuY3Rpb25zLmpzJywgWydnb29nLmZ1bmN0aW9ucyddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmdW5jdGlvbnMvZnVuY3Rpb25zX3Rlc3QuanMnLCBbJ2dvb2cuZnVuY3Rpb25zVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2Fic3RyYWN0ZHJhZ2Ryb3AuanMnLCBbJ2dvb2cuZnguQWJzdHJhY3REcmFnRHJvcCcsICdnb29nLmZ4LkFic3RyYWN0RHJhZ0Ryb3AuRXZlbnRUeXBlJywgJ2dvb2cuZnguRHJhZ0Ryb3BFdmVudCcsICdnb29nLmZ4LkRyYWdEcm9wSXRlbSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZnguRHJhZ2dlcicsICdnb29nLm1hdGguQm94JywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2Fic3RyYWN0ZHJhZ2Ryb3BfdGVzdC5qcycsIFsnZ29vZy5meC5BYnN0cmFjdERyYWdEcm9wVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5meC5BYnN0cmFjdERyYWdEcm9wJywgJ2dvb2cuZnguRHJhZ0Ryb3BJdGVtJywgJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5ldmVudHMuRXZlbnQnLCAnZ29vZy50ZXN0aW5nLmpzdW5pdCddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2FuaW0vYW5pbS5qcycsIFsnZ29vZy5meC5hbmltJywgJ2dvb2cuZnguYW5pbS5BbmltYXRlZCddLCBbJ2dvb2cuYXN5bmMuQW5pbWF0aW9uRGVsYXknLCAnZ29vZy5hc3luYy5EZWxheScsICdnb29nLm9iamVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvYW5pbS9hbmltX3Rlc3QuanMnLCBbJ2dvb2cuZnguYW5pbVRlc3QnXSwgWydnb29nLmFzeW5jLkFuaW1hdGlvbkRlbGF5JywgJ2dvb2cuYXN5bmMuRGVsYXknLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5meC5BbmltYXRpb24nLCAnZ29vZy5meC5hbmltJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmeC9hbmltYXRpb24uanMnLCBbJ2dvb2cuZnguQW5pbWF0aW9uJywgJ2dvb2cuZnguQW5pbWF0aW9uLkV2ZW50VHlwZScsICdnb29nLmZ4LkFuaW1hdGlvbi5TdGF0ZScsICdnb29nLmZ4LkFuaW1hdGlvbkV2ZW50J10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5meC5UcmFuc2l0aW9uJywgJ2dvb2cuZnguVHJhbnNpdGlvbkJhc2UnLCAnZ29vZy5meC5hbmltJywgJ2dvb2cuZnguYW5pbS5BbmltYXRlZCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvYW5pbWF0aW9uX3Rlc3QuanMnLCBbJ2dvb2cuZnguQW5pbWF0aW9uVGVzdCddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnguQW5pbWF0aW9uJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2FuaW1hdGlvbnF1ZXVlLmpzJywgWydnb29nLmZ4LkFuaW1hdGlvblBhcmFsbGVsUXVldWUnLCAnZ29vZy5meC5BbmltYXRpb25RdWV1ZScsICdnb29nLmZ4LkFuaW1hdGlvblNlcmlhbFF1ZXVlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5meC5BbmltYXRpb24nLCAnZ29vZy5meC5UcmFuc2l0aW9uJywgJ2dvb2cuZnguVHJhbnNpdGlvbkJhc2UnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2FuaW1hdGlvbnF1ZXVlX3Rlc3QuanMnLCBbJ2dvb2cuZnguQW5pbWF0aW9uUXVldWVUZXN0J10sIFsnZ29vZy5ldmVudHMnLCAnZ29vZy5meC5BbmltYXRpb24nLCAnZ29vZy5meC5BbmltYXRpb25QYXJhbGxlbFF1ZXVlJywgJ2dvb2cuZnguQW5pbWF0aW9uU2VyaWFsUXVldWUnLCAnZ29vZy5meC5UcmFuc2l0aW9uJywgJ2dvb2cuZnguYW5pbScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmeC9jc3MzL2Z4LmpzJywgWydnb29nLmZ4LmNzczMnXSwgWydnb29nLmZ4LmNzczMuVHJhbnNpdGlvbiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvY3NzMy90cmFuc2l0aW9uLmpzJywgWydnb29nLmZ4LmNzczMuVHJhbnNpdGlvbiddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZnguVHJhbnNpdGlvbkJhc2UnLCAnZ29vZy5zdHlsZScsICdnb29nLnN0eWxlLnRyYW5zaXRpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2NzczMvdHJhbnNpdGlvbl90ZXN0LmpzJywgWydnb29nLmZ4LmNzczMuVHJhbnNpdGlvblRlc3QnXSwgWydnb29nLmRpc3Bvc2UnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmZ4LlRyYW5zaXRpb24nLCAnZ29vZy5meC5jc3MzLlRyYW5zaXRpb24nLCAnZ29vZy5zdHlsZS50cmFuc2l0aW9uJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmeC9jc3NzcHJpdGVhbmltYXRpb24uanMnLCBbJ2dvb2cuZnguQ3NzU3ByaXRlQW5pbWF0aW9uJ10sIFsnZ29vZy5meC5BbmltYXRpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2Nzc3Nwcml0ZWFuaW1hdGlvbl90ZXN0LmpzJywgWydnb29nLmZ4LkNzc1Nwcml0ZUFuaW1hdGlvblRlc3QnXSwgWydnb29nLmZ4LkNzc1Nwcml0ZUFuaW1hdGlvbicsICdnb29nLm1hdGguQm94JywgJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2RvbS5qcycsIFsnZ29vZy5meC5kb20nLCAnZ29vZy5meC5kb20uQmdDb2xvclRyYW5zZm9ybScsICdnb29nLmZ4LmRvbS5Db2xvclRyYW5zZm9ybScsICdnb29nLmZ4LmRvbS5GYWRlJywgJ2dvb2cuZnguZG9tLkZhZGVJbicsICdnb29nLmZ4LmRvbS5GYWRlSW5BbmRTaG93JywgJ2dvb2cuZnguZG9tLkZhZGVPdXQnLCAnZ29vZy5meC5kb20uRmFkZU91dEFuZEhpZGUnLCAnZ29vZy5meC5kb20uUHJlZGVmaW5lZEVmZmVjdCcsICdnb29nLmZ4LmRvbS5SZXNpemUnLCAnZ29vZy5meC5kb20uUmVzaXplSGVpZ2h0JywgJ2dvb2cuZnguZG9tLlJlc2l6ZVdpZHRoJywgJ2dvb2cuZnguZG9tLlNjcm9sbCcsICdnb29nLmZ4LmRvbS5TbGlkZScsICdnb29nLmZ4LmRvbS5TbGlkZUZyb20nLCAnZ29vZy5meC5kb20uU3dpcGUnXSwgWydnb29nLmNvbG9yJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnguQW5pbWF0aW9uJywgJ2dvb2cuZnguVHJhbnNpdGlvbicsICdnb29nLnN0eWxlJywgJ2dvb2cuc3R5bGUuYmlkaSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvZHJhZ2Ryb3AuanMnLCBbJ2dvb2cuZnguRHJhZ0Ryb3AnXSwgWydnb29nLmZ4LkFic3RyYWN0RHJhZ0Ryb3AnLCAnZ29vZy5meC5EcmFnRHJvcEl0ZW0nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2RyYWdkcm9wZ3JvdXAuanMnLCBbJ2dvb2cuZnguRHJhZ0Ryb3BHcm91cCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZnguQWJzdHJhY3REcmFnRHJvcCcsICdnb29nLmZ4LkRyYWdEcm9wSXRlbSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvZHJhZ2Ryb3Bncm91cF90ZXN0LmpzJywgWydnb29nLmZ4LkRyYWdEcm9wR3JvdXBUZXN0J10sIFsnZ29vZy5ldmVudHMnLCAnZ29vZy5meC5EcmFnRHJvcEdyb3VwJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmeC9kcmFnZ2VyLmpzJywgWydnb29nLmZ4LkRyYWdFdmVudCcsICdnb29nLmZ4LkRyYWdnZXInLCAnZ29vZy5meC5EcmFnZ2VyLkV2ZW50VHlwZSddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLm1hdGguUmVjdCcsICdnb29nLnN0eWxlJywgJ2dvb2cuc3R5bGUuYmlkaScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvZHJhZ2dlcl90ZXN0LmpzJywgWydnb29nLmZ4LkRyYWdnZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZnguRHJhZ2dlcicsICdnb29nLm1hdGguUmVjdCcsICdnb29nLnN0eWxlLmJpZGknLCAnZ29vZy50ZXN0aW5nLlN0cmljdE1vY2snLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvZHJhZ2xpc3Rncm91cC5qcycsIFsnZ29vZy5meC5EcmFnTGlzdERpcmVjdGlvbicsICdnb29nLmZ4LkRyYWdMaXN0R3JvdXAnLCAnZ29vZy5meC5EcmFnTGlzdEdyb3VwLkV2ZW50VHlwZScsICdnb29nLmZ4LkRyYWdMaXN0R3JvdXBFdmVudCcsICdnb29nLmZ4LkRyYWdMaXN0UGVybWlzc2lvbiddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRJZCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5meC5EcmFnZ2VyJywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2RyYWdsaXN0Z3JvdXBfdGVzdC5qcycsIFsnZ29vZy5meC5EcmFnTGlzdEdyb3VwVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmZ4LkRyYWdFdmVudCcsICdnb29nLmZ4LkRyYWdMaXN0RGlyZWN0aW9uJywgJ2dvb2cuZnguRHJhZ0xpc3RHcm91cCcsICdnb29nLmZ4LkRyYWdMaXN0UGVybWlzc2lvbicsICdnb29nLmZ4LkRyYWdnZXInLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmeC9kcmFnc2Nyb2xsc3VwcG9ydC5qcycsIFsnZ29vZy5meC5EcmFnU2Nyb2xsU3VwcG9ydCddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLlRpbWVyJywgJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5zdHlsZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvZHJhZ3Njcm9sbHN1cHBvcnRfdGVzdC5qcycsIFsnZ29vZy5meC5EcmFnU2Nyb2xsU3VwcG9ydFRlc3QnXSwgWydnb29nLmZ4LkRyYWdTY3JvbGxTdXBwb3J0JywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cubWF0aC5SZWN0JywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvZWFzaW5nLmpzJywgWydnb29nLmZ4LmVhc2luZyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L2Vhc2luZ190ZXN0LmpzJywgWydnb29nLmZ4LmVhc2luZ1Rlc3QnXSwgWydnb29nLmZ4LmVhc2luZycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvZnguanMnLCBbJ2dvb2cuZngnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5meC5BbmltYXRpb24nLCAnZ29vZy5meC5BbmltYXRpb24uRXZlbnRUeXBlJywgJ2dvb2cuZnguQW5pbWF0aW9uLlN0YXRlJywgJ2dvb2cuZnguQW5pbWF0aW9uRXZlbnQnLCAnZ29vZy5meC5UcmFuc2l0aW9uLkV2ZW50VHlwZScsICdnb29nLmZ4LmVhc2luZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZngvZnhfdGVzdC5qcycsIFsnZ29vZy5meFRlc3QnXSwgWydnb29nLmZ4LkFuaW1hdGlvbicsICdnb29nLm9iamVjdCcsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdmeC90cmFuc2l0aW9uLmpzJywgWydnb29nLmZ4LlRyYW5zaXRpb24nLCAnZ29vZy5meC5UcmFuc2l0aW9uLkV2ZW50VHlwZSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2Z4L3RyYW5zaXRpb25iYXNlLmpzJywgWydnb29nLmZ4LlRyYW5zaXRpb25CYXNlJywgJ2dvb2cuZnguVHJhbnNpdGlvbkJhc2UuU3RhdGUnXSwgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmZ4LlRyYW5zaXRpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dvb2cuanMnLCBbXSwgW10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdncmFwaGljcy9hYnN0cmFjdGdyYXBoaWNzLmpzJywgWydnb29nLmdyYXBoaWNzLkFic3RyYWN0R3JhcGhpY3MnXSwgWydnb29nLmRvbScsICdnb29nLmdyYXBoaWNzLkFmZmluZVRyYW5zZm9ybScsICdnb29nLmdyYXBoaWNzLkVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5FbGxpcHNlRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLkZpbGwnLCAnZ29vZy5ncmFwaGljcy5Gb250JywgJ2dvb2cuZ3JhcGhpY3MuR3JvdXBFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuUGF0aCcsICdnb29nLmdyYXBoaWNzLlBhdGhFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuUmVjdEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5TdHJva2UnLCAnZ29vZy5ncmFwaGljcy5TdHJva2VBbmRGaWxsRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlRleHRFbGVtZW50JywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Db21wb25lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2FmZmluZXRyYW5zZm9ybS5qcycsIFsnZ29vZy5ncmFwaGljcy5BZmZpbmVUcmFuc2Zvcm0nXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvYWZmaW5ldHJhbnNmb3JtX3Rlc3QuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuQWZmaW5lVHJhbnNmb3JtVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5ncmFwaGljcycsICdnb29nLmdyYXBoaWNzLkFmZmluZVRyYW5zZm9ybScsICdnb29nLm1hdGgnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2NhbnZhc2VsZW1lbnQuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuQ2FudmFzRWxsaXBzZUVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5DYW52YXNHcm91cEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5DYW52YXNJbWFnZUVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5DYW52YXNQYXRoRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLkNhbnZhc1JlY3RFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuQ2FudmFzVGV4dEVsZW1lbnQnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmdyYXBoaWNzLkVsbGlwc2VFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuRm9udCcsICdnb29nLmdyYXBoaWNzLkdyb3VwRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLkltYWdlRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlBhdGgnLCAnZ29vZy5ncmFwaGljcy5QYXRoRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlJlY3RFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuVGV4dEVsZW1lbnQnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuaHRtbC51bmNoZWNrZWRjb252ZXJzaW9ucycsICdnb29nLm1hdGgnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuQ29uc3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2NhbnZhc2dyYXBoaWNzLmpzJywgWydnb29nLmdyYXBoaWNzLkNhbnZhc0dyYXBoaWNzJ10sIFsnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ncmFwaGljcy5BYnN0cmFjdEdyYXBoaWNzJywgJ2dvb2cuZ3JhcGhpY3MuQ2FudmFzRWxsaXBzZUVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5DYW52YXNHcm91cEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5DYW52YXNJbWFnZUVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5DYW52YXNQYXRoRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLkNhbnZhc1JlY3RFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuQ2FudmFzVGV4dEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5Gb250JywgJ2dvb2cuZ3JhcGhpY3MuU29saWRGaWxsJywgJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2NhbnZhc2dyYXBoaWNzX3Rlc3QuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuQ2FudmFzR3JhcGhpY3NUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ncmFwaGljcy5DYW52YXNHcmFwaGljcycsICdnb29nLmdyYXBoaWNzLlNvbGlkRmlsbCcsICdnb29nLmdyYXBoaWNzLlN0cm9rZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvZWxlbWVudC5qcycsIFsnZ29vZy5ncmFwaGljcy5FbGVtZW50J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkxpc3RlbmFibGUnLCAnZ29vZy5ncmFwaGljcy5BZmZpbmVUcmFuc2Zvcm0nLCAnZ29vZy5tYXRoJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdncmFwaGljcy9lbGxpcHNlZWxlbWVudC5qcycsIFsnZ29vZy5ncmFwaGljcy5FbGxpcHNlRWxlbWVudCddLCBbJ2dvb2cuZ3JhcGhpY3MuU3Ryb2tlQW5kRmlsbEVsZW1lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2V4dC9jb29yZGluYXRlcy5qcycsIFsnZ29vZy5ncmFwaGljcy5leHQuY29vcmRpbmF0ZXMnXSwgWydnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvZXh0L2Nvb3JkaW5hdGVzX3Rlc3QuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuZXh0LmNvb3JkaW5hdGVzVGVzdCddLCBbJ2dvb2cuZ3JhcGhpY3MnLCAnZ29vZy5ncmFwaGljcy5leHQuY29vcmRpbmF0ZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2V4dC9lbGVtZW50LmpzJywgWydnb29nLmdyYXBoaWNzLmV4dC5FbGVtZW50J10sIFsnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5ncmFwaGljcy5leHQuY29vcmRpbmF0ZXMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2V4dC9lbGVtZW50X3Rlc3QuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuZXh0LkVsZW1lbnRUZXN0J10sIFsnZ29vZy5ncmFwaGljcycsICdnb29nLmdyYXBoaWNzLmV4dCcsICdnb29nLnRlc3RpbmcuU3RyaWN0TW9jaycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvZXh0L2VsbGlwc2UuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuZXh0LkVsbGlwc2UnXSwgWydnb29nLmdyYXBoaWNzLmV4dC5TdHJva2VBbmRGaWxsRWxlbWVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvZXh0L2V4dC5qcycsIFsnZ29vZy5ncmFwaGljcy5leHQnXSwgWydnb29nLmdyYXBoaWNzLmV4dC5FbGxpcHNlJywgJ2dvb2cuZ3JhcGhpY3MuZXh0LkdyYXBoaWNzJywgJ2dvb2cuZ3JhcGhpY3MuZXh0Lkdyb3VwJywgJ2dvb2cuZ3JhcGhpY3MuZXh0LkltYWdlJywgJ2dvb2cuZ3JhcGhpY3MuZXh0LlJlY3RhbmdsZScsICdnb29nLmdyYXBoaWNzLmV4dC5TaGFwZScsICdnb29nLmdyYXBoaWNzLmV4dC5jb29yZGluYXRlcyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvZXh0L2dyYXBoaWNzLmpzJywgWydnb29nLmdyYXBoaWNzLmV4dC5HcmFwaGljcyddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmdyYXBoaWNzJywgJ2dvb2cuZ3JhcGhpY3MuZXh0Lkdyb3VwJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdncmFwaGljcy9leHQvZ3JvdXAuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuZXh0Lkdyb3VwJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmdyYXBoaWNzLmV4dC5FbGVtZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdncmFwaGljcy9leHQvaW1hZ2UuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuZXh0LkltYWdlJ10sIFsnZ29vZy5ncmFwaGljcy5leHQuRWxlbWVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvZXh0L3BhdGguanMnLCBbJ2dvb2cuZ3JhcGhpY3MuZXh0LlBhdGgnXSwgWydnb29nLmdyYXBoaWNzLkFmZmluZVRyYW5zZm9ybScsICdnb29nLmdyYXBoaWNzLlBhdGgnLCAnZ29vZy5tYXRoLlJlY3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2V4dC9wYXRoX3Rlc3QuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuZXh0LlBhdGhUZXN0J10sIFsnZ29vZy5ncmFwaGljcycsICdnb29nLmdyYXBoaWNzLmV4dC5QYXRoJywgJ2dvb2cubWF0aC5SZWN0JywgJ2dvb2cudGVzdGluZy5ncmFwaGljcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvZXh0L3JlY3RhbmdsZS5qcycsIFsnZ29vZy5ncmFwaGljcy5leHQuUmVjdGFuZ2xlJ10sIFsnZ29vZy5ncmFwaGljcy5leHQuU3Ryb2tlQW5kRmlsbEVsZW1lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2V4dC9zaGFwZS5qcycsIFsnZ29vZy5ncmFwaGljcy5leHQuU2hhcGUnXSwgWydnb29nLmdyYXBoaWNzLmV4dC5TdHJva2VBbmRGaWxsRWxlbWVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvZXh0L3N0cm9rZWFuZGZpbGxlbGVtZW50LmpzJywgWydnb29nLmdyYXBoaWNzLmV4dC5TdHJva2VBbmRGaWxsRWxlbWVudCddLCBbJ2dvb2cuZ3JhcGhpY3MuZXh0LkVsZW1lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2ZpbGwuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuRmlsbCddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2ZvbnQuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuRm9udCddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2dyYXBoaWNzLmpzJywgWydnb29nLmdyYXBoaWNzJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5ncmFwaGljcy5DYW52YXNHcmFwaGljcycsICdnb29nLmdyYXBoaWNzLlN2Z0dyYXBoaWNzJywgJ2dvb2cuZ3JhcGhpY3MuVm1sR3JhcGhpY3MnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2dyb3VwZWxlbWVudC5qcycsIFsnZ29vZy5ncmFwaGljcy5Hcm91cEVsZW1lbnQnXSwgWydnb29nLmdyYXBoaWNzLkVsZW1lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2ltYWdlZWxlbWVudC5qcycsIFsnZ29vZy5ncmFwaGljcy5JbWFnZUVsZW1lbnQnXSwgWydnb29nLmdyYXBoaWNzLkVsZW1lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL2xpbmVhcmdyYWRpZW50LmpzJywgWydnb29nLmdyYXBoaWNzLkxpbmVhckdyYWRpZW50J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZ3JhcGhpY3MuRmlsbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvcGF0aC5qcycsIFsnZ29vZy5ncmFwaGljcy5QYXRoJywgJ2dvb2cuZ3JhcGhpY3MuUGF0aC5TZWdtZW50J10sIFsnZ29vZy5hcnJheScsICdnb29nLmdyYXBoaWNzLkFmZmluZVRyYW5zZm9ybScsICdnb29nLm1hdGgnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL3BhdGhfdGVzdC5qcycsIFsnZ29vZy5ncmFwaGljcy5QYXRoVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5ncmFwaGljcy5BZmZpbmVUcmFuc2Zvcm0nLCAnZ29vZy5ncmFwaGljcy5QYXRoJywgJ2dvb2cudGVzdGluZy5ncmFwaGljcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvcGF0aGVsZW1lbnQuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuUGF0aEVsZW1lbnQnXSwgWydnb29nLmdyYXBoaWNzLlN0cm9rZUFuZEZpbGxFbGVtZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdncmFwaGljcy9wYXRocy5qcycsIFsnZ29vZy5ncmFwaGljcy5wYXRocyddLCBbJ2dvb2cuZ3JhcGhpY3MuUGF0aCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvcGF0aHNfdGVzdC5qcycsIFsnZ29vZy5ncmFwaGljcy5wYXRoc1Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmdyYXBoaWNzJywgJ2dvb2cuZ3JhcGhpY3MucGF0aHMnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL3JlY3RlbGVtZW50LmpzJywgWydnb29nLmdyYXBoaWNzLlJlY3RFbGVtZW50J10sIFsnZ29vZy5ncmFwaGljcy5TdHJva2VBbmRGaWxsRWxlbWVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3Mvc29saWRmaWxsLmpzJywgWydnb29nLmdyYXBoaWNzLlNvbGlkRmlsbCddLCBbJ2dvb2cuZ3JhcGhpY3MuRmlsbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3Mvc29saWRmaWxsX3Rlc3QuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuU29saWRGaWxsVGVzdCddLCBbJ2dvb2cuZ3JhcGhpY3MuU29saWRGaWxsJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdncmFwaGljcy9zdHJva2UuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuU3Ryb2tlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3Mvc3Ryb2tlYW5kZmlsbGVsZW1lbnQuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuU3Ryb2tlQW5kRmlsbEVsZW1lbnQnXSwgWydnb29nLmdyYXBoaWNzLkVsZW1lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL3N2Z2VsZW1lbnQuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuU3ZnRWxsaXBzZUVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5TdmdHcm91cEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5TdmdJbWFnZUVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5TdmdQYXRoRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlN2Z1JlY3RFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuU3ZnVGV4dEVsZW1lbnQnXSwgWydnb29nLmRvbScsICdnb29nLmdyYXBoaWNzLkVsbGlwc2VFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuR3JvdXBFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuSW1hZ2VFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuUGF0aEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5SZWN0RWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlRleHRFbGVtZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdncmFwaGljcy9zdmdncmFwaGljcy5qcycsIFsnZ29vZy5ncmFwaGljcy5TdmdHcmFwaGljcyddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmdyYXBoaWNzLkFic3RyYWN0R3JhcGhpY3MnLCAnZ29vZy5ncmFwaGljcy5Gb250JywgJ2dvb2cuZ3JhcGhpY3MuTGluZWFyR3JhZGllbnQnLCAnZ29vZy5ncmFwaGljcy5QYXRoJywgJ2dvb2cuZ3JhcGhpY3MuU29saWRGaWxsJywgJ2dvb2cuZ3JhcGhpY3MuU3Ryb2tlJywgJ2dvb2cuZ3JhcGhpY3MuU3ZnRWxsaXBzZUVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5TdmdHcm91cEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5TdmdJbWFnZUVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5TdmdQYXRoRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlN2Z1JlY3RFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuU3ZnVGV4dEVsZW1lbnQnLCAnZ29vZy5tYXRoJywgJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2dyYXBoaWNzL3N2Z2dyYXBoaWNzX3Rlc3QuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuU3ZnR3JhcGhpY3NUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ncmFwaGljcy5BZmZpbmVUcmFuc2Zvcm0nLCAnZ29vZy5ncmFwaGljcy5Tb2xpZEZpbGwnLCAnZ29vZy5ncmFwaGljcy5TdmdHcmFwaGljcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3MvdGV4dGVsZW1lbnQuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuVGV4dEVsZW1lbnQnXSwgWydnb29nLmdyYXBoaWNzLlN0cm9rZUFuZEZpbGxFbGVtZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdncmFwaGljcy92bWxlbGVtZW50LmpzJywgWydnb29nLmdyYXBoaWNzLlZtbEVsbGlwc2VFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuVm1sR3JvdXBFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuVm1sSW1hZ2VFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuVm1sUGF0aEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5WbWxSZWN0RWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlZtbFRleHRFbGVtZW50J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ncmFwaGljcy5FbGxpcHNlRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLkdyb3VwRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLkltYWdlRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlBhdGhFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuUmVjdEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5UZXh0RWxlbWVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnZ3JhcGhpY3Mvdm1sZ3JhcGhpY3MuanMnLCBbJ2dvb2cuZ3JhcGhpY3MuVm1sR3JhcGhpY3MnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZ3JhcGhpY3MuQWJzdHJhY3RHcmFwaGljcycsICdnb29nLmdyYXBoaWNzLkZvbnQnLCAnZ29vZy5ncmFwaGljcy5MaW5lYXJHcmFkaWVudCcsICdnb29nLmdyYXBoaWNzLlBhdGgnLCAnZ29vZy5ncmFwaGljcy5Tb2xpZEZpbGwnLCAnZ29vZy5ncmFwaGljcy5WbWxFbGxpcHNlRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlZtbEdyb3VwRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlZtbEltYWdlRWxlbWVudCcsICdnb29nLmdyYXBoaWNzLlZtbFBhdGhFbGVtZW50JywgJ2dvb2cuZ3JhcGhpY3MuVm1sUmVjdEVsZW1lbnQnLCAnZ29vZy5ncmFwaGljcy5WbWxUZXh0RWxlbWVudCcsICdnb29nLmh0bWwudW5jaGVja2VkY29udmVyc2lvbnMnLCAnZ29vZy5tYXRoJywgJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cucmVmbGVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnN0eWxlJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdoaXN0b3J5L2V2ZW50LmpzJywgWydnb29nLmhpc3RvcnkuRXZlbnQnXSwgWydnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmhpc3RvcnkuRXZlbnRUeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdoaXN0b3J5L2V2ZW50dHlwZS5qcycsIFsnZ29vZy5oaXN0b3J5LkV2ZW50VHlwZSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2hpc3RvcnkvaGlzdG9yeS5qcycsIFsnZ29vZy5IaXN0b3J5JywgJ2dvb2cuSGlzdG9yeS5FdmVudCcsICdnb29nLkhpc3RvcnkuRXZlbnRUeXBlJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmhpc3RvcnkuRXZlbnQnLCAnZ29vZy5oaXN0b3J5LkV2ZW50VHlwZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmh0bWwudW5jaGVja2VkY29udmVyc2lvbnMnLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC5kZXZpY2UnLCAnZ29vZy5tZW1vaXplJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdoaXN0b3J5L2hpc3RvcnlfdGVzdC5qcycsIFsnZ29vZy5IaXN0b3J5VGVzdCddLCBbJ2dvb2cuSGlzdG9yeScsICdnb29nLmRpc3Bvc2UnLCAnZ29vZy5kb20nLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaGlzdG9yeS9odG1sNWhpc3RvcnkuanMnLCBbJ2dvb2cuaGlzdG9yeS5IdG1sNUhpc3RvcnknLCAnZ29vZy5oaXN0b3J5Lkh0bWw1SGlzdG9yeS5Ub2tlblRyYW5zZm9ybWVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmhpc3RvcnkuRXZlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2hpc3RvcnkvaHRtbDVoaXN0b3J5X3Rlc3QuanMnLCBbJ2dvb2cuaGlzdG9yeS5IdG1sNUhpc3RvcnlUZXN0J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5oaXN0b3J5LkV2ZW50VHlwZScsICdnb29nLmhpc3RvcnkuSHRtbDVIaXN0b3J5JywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC9jc3NzcGVjaWZpY2l0eS5qcycsIFsnZ29vZy5odG1sLkNzc1NwZWNpZmljaXR5J10sIFsnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCddLCB7J21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvY3Nzc3BlY2lmaWNpdHlfdGVzdC5qcycsIFsnZ29vZy5odG1sLkNzc1NwZWNpZmljaXR5VGVzdCddLCBbJ2dvb2cuaHRtbC5Dc3NTcGVjaWZpY2l0eScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL2ZsYXNoLmpzJywgWydnb29nLmh0bWwuZmxhc2gnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5odG1sLlNhZmVIdG1sJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL2ZsYXNoX3Rlc3QuanMnLCBbJ2dvb2cuaHRtbC5mbGFzaFRlc3QnXSwgWydnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmh0bWwuZmxhc2gnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvbGVnYWN5Y29udmVyc2lvbnMuanMnLCBbJ2dvb2cuaHRtbC5sZWdhY3ljb252ZXJzaW9ucyddLCBbJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuU2FmZVNjcmlwdCcsICdnb29nLmh0bWwuU2FmZVN0eWxlJywgJ2dvb2cuaHRtbC5TYWZlU3R5bGVTaGVldCcsICdnb29nLmh0bWwuU2FmZVVybCcsICdnb29nLmh0bWwuVHJ1c3RlZFJlc291cmNlVXJsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL2xlZ2FjeWNvbnZlcnNpb25zX3Rlc3QuanMnLCBbJ2dvb2cuaHRtbC5sZWdhY3ljb252ZXJzaW9uc1Rlc3QnXSwgWydnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTY3JpcHQnLCAnZ29vZy5odG1sLlNhZmVTdHlsZScsICdnb29nLmh0bWwuU2FmZVN0eWxlU2hlZXQnLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmh0bWwubGVnYWN5Y29udmVyc2lvbnMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FmZWh0bWwuanMnLCBbJ2dvb2cuaHRtbC5TYWZlSHRtbCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20udGFncycsICdnb29nLmh0bWwuU2FmZVNjcmlwdCcsICdnb29nLmh0bWwuU2FmZVN0eWxlJywgJ2dvb2cuaHRtbC5TYWZlU3R5bGVTaGVldCcsICdnb29nLmh0bWwuU2FmZVVybCcsICdnb29nLmh0bWwuVHJ1c3RlZFJlc291cmNlVXJsJywgJ2dvb2cuaHRtbC50cnVzdGVkdHlwZXMnLCAnZ29vZy5pMThuLmJpZGkuRGlyJywgJ2dvb2cuaTE4bi5iaWRpLkRpcmVjdGlvbmFsU3RyaW5nJywgJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlcicsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnN0cmluZy5UeXBlZFN0cmluZycsICdnb29nLnN0cmluZy5pbnRlcm5hbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC9zYWZlaHRtbF90ZXN0LmpzJywgWydnb29nLmh0bWwuc2FmZUh0bWxUZXN0J10sIFsnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuaHRtbC5TYWZlU2NyaXB0JywgJ2dvb2cuaHRtbC5TYWZlU3R5bGUnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy5odG1sLnRydXN0ZWR0eXBlcycsICdnb29nLmkxOG4uYmlkaS5EaXInLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC5icm93c2VyJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3NhZmVodG1sZm9ybWF0dGVyLmpzJywgWydnb29nLmh0bWwuU2FmZUh0bWxGb3JtYXR0ZXInXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kb20udGFncycsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FmZWh0bWxmb3JtYXR0ZXJfdGVzdC5qcycsIFsnZ29vZy5odG1sLnNhZmVIdG1sRm9ybWF0dGVyVGVzdCddLCBbJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuU2FmZUh0bWxGb3JtYXR0ZXInLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FmZXNjcmlwdC5qcycsIFsnZ29vZy5odG1sLlNhZmVTY3JpcHQnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5odG1sLnRydXN0ZWR0eXBlcycsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnN0cmluZy5UeXBlZFN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC9zYWZlc2NyaXB0X3Rlc3QuanMnLCBbJ2dvb2cuaHRtbC5zYWZlU2NyaXB0VGVzdCddLCBbJ2dvb2cuaHRtbC5TYWZlU2NyaXB0JywgJ2dvb2cuaHRtbC50cnVzdGVkdHlwZXMnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FmZXN0eWxlLmpzJywgWydnb29nLmh0bWwuU2FmZVN0eWxlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy5zdHJpbmcuVHlwZWRTdHJpbmcnLCAnZ29vZy5zdHJpbmcuaW50ZXJuYWwnXSwgeydsYW5nJzogJ2VzNSd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3NhZmVzdHlsZV90ZXN0LmpzJywgWydnb29nLmh0bWwuc2FmZVN0eWxlVGVzdCddLCBbJ2dvb2cuaHRtbC5TYWZlU3R5bGUnLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FmZXN0eWxlc2hlZXQuanMnLCBbJ2dvb2cuaHRtbC5TYWZlU3R5bGVTaGVldCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuaHRtbC5TYWZlU3R5bGUnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy5zdHJpbmcuVHlwZWRTdHJpbmcnLCAnZ29vZy5zdHJpbmcuaW50ZXJuYWwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FmZXN0eWxlc2hlZXRfdGVzdC5qcycsIFsnZ29vZy5odG1sLnNhZmVTdHlsZVNoZWV0VGVzdCddLCBbJ2dvb2cuaHRtbC5TYWZlU3R5bGUnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3NhZmV1cmwuanMnLCBbJ2dvb2cuaHRtbC5TYWZlVXJsJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZnMudXJsJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5pMThuLmJpZGkuRGlyJywgJ2dvb2cuaTE4bi5iaWRpLkRpcmVjdGlvbmFsU3RyaW5nJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cuc3RyaW5nLlR5cGVkU3RyaW5nJywgJ2dvb2cuc3RyaW5nLmludGVybmFsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3NhZmV1cmxfdGVzdC5qcycsIFsnZ29vZy5odG1sLnNhZmVVcmxUZXN0J10sIFsnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmh0bWwuc2FmZVVybFRlc3RWZWN0b3JzJywgJ2dvb2cuaTE4bi5iaWRpLkRpcicsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC9zYWZldXJsX3Rlc3RfdmVjdG9ycy5qcycsIFsnZ29vZy5odG1sLnNhZmVVcmxUZXN0VmVjdG9ycyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FuaXRpemVyL2F0dHJpYnV0ZXdoaXRlbGlzdC5qcycsIFsnZ29vZy5odG1sLnNhbml0aXplci5BdHRyaWJ1dGVTYW5pdGl6ZWRXaGl0ZWxpc3QnLCAnZ29vZy5odG1sLnNhbml0aXplci5BdHRyaWJ1dGVXaGl0ZWxpc3QnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9jc3Nwcm9wZXJ0eXNhbml0aXplci5qcycsIFsnZ29vZy5odG1sLnNhbml0aXplci5Dc3NQcm9wZXJ0eVNhbml0aXplciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmh0bWwuU2FmZVVybCcsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZyddLCB7J21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FuaXRpemVyL2Nzc3Byb3BlcnR5c2FuaXRpemVyX3Rlc3QuanMnLCBbJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuQ3NzUHJvcGVydHlTYW5pdGl6ZXJUZXN0J10sIFsnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5odG1sLnNhbml0aXplci5Dc3NQcm9wZXJ0eVNhbml0aXplcicsICdnb29nLmh0bWwuc2FuaXRpemVyLm5vY2xvYmJlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9jc3NzYW5pdGl6ZXIuanMnLCBbJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuQ3NzU2FuaXRpemVyJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5odG1sLkNzc1NwZWNpZmljaXR5JywgJ2dvb2cuaHRtbC5TYWZlU3R5bGUnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuQ3NzUHJvcGVydHlTYW5pdGl6ZXInLCAnZ29vZy5odG1sLnNhbml0aXplci5ub2Nsb2JiZXInLCAnZ29vZy5odG1sLnVuY2hlY2tlZGNvbnZlcnNpb25zJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FuaXRpemVyL2Nzc3Nhbml0aXplcl90ZXN0LmpzJywgWydnb29nLmh0bWwuQ3NzU2FuaXRpemVyVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5odG1sLlNhZmVTdHlsZScsICdnb29nLmh0bWwuU2FmZVN0eWxlU2hlZXQnLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5odG1sLnNhbml0aXplci5Dc3NTYW5pdGl6ZXInLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdC5pc1ZlcnNpb24nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9lbGVtZW50d2Vha21hcC5qcycsIFsnZ29vZy5odG1sLnNhbml0aXplci5FbGVtZW50V2Vha01hcCddLCBbJ2dvb2cuaHRtbC5zYW5pdGl6ZXIubm9jbG9iYmVyJ10sIHsnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC9zYW5pdGl6ZXIvZWxlbWVudHdlYWttYXBfdGVzdC5qcycsIFsnZ29vZy5odG1sLnNhbml0aXplci5FbGVtZW50V2Vha01hcFRlc3QnXSwgWydnb29nLmh0bWwuc2FuaXRpemVyLkVsZW1lbnRXZWFrTWFwJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9odG1sX3Rlc3RfdmVjdG9ycy5qcycsIFsnZ29vZy5odG1sLmh0bWxUZXN0VmVjdG9ycyddLCBbXSwgeydsYW5nJzogJ2VzNSd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9odG1sc2FuaXRpemVyLmpzJywgWydnb29nLmh0bWwuc2FuaXRpemVyLkh0bWxTYW5pdGl6ZXInLCAnZ29vZy5odG1sLnNhbml0aXplci5IdG1sU2FuaXRpemVyLkJ1aWxkZXInLCAnZ29vZy5odG1sLnNhbml0aXplci5IdG1sU2FuaXRpemVyQXR0cmlidXRlUG9saWN5JywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuSHRtbFNhbml0aXplclBvbGljeScsICdnb29nLmh0bWwuc2FuaXRpemVyLkh0bWxTYW5pdGl6ZXJQb2xpY3lDb250ZXh0JywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuSHRtbFNhbml0aXplclBvbGljeUhpbnRzJywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuSHRtbFNhbml0aXplclVybFBvbGljeSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuaHRtbC5TYWZlU3R5bGUnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuQXR0cmlidXRlU2FuaXRpemVkV2hpdGVsaXN0JywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuQXR0cmlidXRlV2hpdGVsaXN0JywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuQ3NzU2FuaXRpemVyJywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuU2FmZURvbVRyZWVQcm9jZXNzb3InLCAnZ29vZy5odG1sLnNhbml0aXplci5UYWdCbGFja2xpc3QnLCAnZ29vZy5odG1sLnNhbml0aXplci5UYWdXaGl0ZWxpc3QnLCAnZ29vZy5odG1sLnNhbml0aXplci5ub2Nsb2JiZXInLCAnZ29vZy5odG1sLnVuY2hlY2tlZGNvbnZlcnNpb25zJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLkNvbnN0J10sIHsnbGFuZyc6ICdlczUnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC9zYW5pdGl6ZXIvaHRtbHNhbml0aXplcl90ZXN0LmpzJywgWydnb29nLmh0bWwuSHRtbFNhbml0aXplclRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuU2FmZVVybCcsICdnb29nLmh0bWwuc2FuaXRpemVyLkh0bWxTYW5pdGl6ZXInLCAnZ29vZy5odG1sLnNhbml0aXplci5IdG1sU2FuaXRpemVyLkJ1aWxkZXInLCAnZ29vZy5odG1sLnNhbml0aXplci5UYWdXaGl0ZWxpc3QnLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9odG1sc2FuaXRpemVyX3VuaWZpZWRfdGVzdC5qcycsIFsnZ29vZy5odG1sLkh0bWxTYW5pdGl6ZXJVbmlmaWVkVGVzdCddLCBbJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuaHRtbFRlc3RWZWN0b3JzJywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuSHRtbFNhbml0aXplci5CdWlsZGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9ub2Nsb2JiZXIuanMnLCBbJ2dvb2cuaHRtbC5zYW5pdGl6ZXIubm9jbG9iYmVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNScsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9ub2Nsb2JiZXJfdGVzdC5qcycsIFsnZ29vZy5odG1sLnNhbml0aXplci5ub2Nsb2JiZXJUZXN0J10sIFsnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5odG1sLnNhbml0aXplci5ub2Nsb2JiZXInLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci9zYWZlZG9tdHJlZXByb2Nlc3Nvci5qcycsIFsnZ29vZy5odG1sLnNhbml0aXplci5TYWZlRG9tVHJlZVByb2Nlc3NvciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwuc2FuaXRpemVyLkVsZW1lbnRXZWFrTWFwJywgJ2dvb2cuaHRtbC5zYW5pdGl6ZXIubm9jbG9iYmVyJywgJ2dvb2cuaHRtbC51bmNoZWNrZWRjb252ZXJzaW9ucycsICdnb29nLmxvZycsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnVzZXJBZ2VudCddLCB7J21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FuaXRpemVyL3NhZmVkb210cmVlcHJvY2Vzc29yX3Rlc3QuanMnLCBbJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuU2FmZURvbVRyZWVQcm9jZXNzb3JUZXN0J10sIFsnZ29vZy5odG1sLnNhbml0aXplci5TYWZlRG9tVHJlZVByb2Nlc3NvcicsICdnb29nLmh0bWwuc2FuaXRpemVyLm5vY2xvYmJlcicsICdnb29nLnRlc3RpbmcuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3Nhbml0aXplci90YWdibGFja2xpc3QuanMnLCBbJ2dvb2cuaHRtbC5zYW5pdGl6ZXIuVGFnQmxhY2tsaXN0J10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC9zYW5pdGl6ZXIvdGFnd2hpdGVsaXN0LmpzJywgWydnb29nLmh0bWwuc2FuaXRpemVyLlRhZ1doaXRlbGlzdCddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FuaXRpemVyL3Vuc2FmZS5qcycsIFsnZ29vZy5odG1sLnNhbml0aXplci51bnNhZmUnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5odG1sLnNhbml0aXplci5IdG1sU2FuaXRpemVyLkJ1aWxkZXInLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuQ29uc3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvc2FuaXRpemVyL3Vuc2FmZV90ZXN0LmpzJywgWydnb29nLmh0bWwuVW5zYWZlVGVzdCddLCBbJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuc2FuaXRpemVyLkF0dHJpYnV0ZVdoaXRlbGlzdCcsICdnb29nLmh0bWwuc2FuaXRpemVyLkh0bWxTYW5pdGl6ZXInLCAnZ29vZy5odG1sLnNhbml0aXplci5UYWdXaGl0ZWxpc3QnLCAnZ29vZy5odG1sLnNhbml0aXplci51bnNhZmUnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC9zaWx2ZXJsaWdodC5qcycsIFsnZ29vZy5odG1sLnNpbHZlcmxpZ2h0J10sIFsnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5odG1sLmZsYXNoJywgJ2dvb2cuc3RyaW5nLkNvbnN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3NpbHZlcmxpZ2h0X3Rlc3QuanMnLCBbJ2dvb2cuaHRtbC5zaWx2ZXJsaWdodFRlc3QnXSwgWydnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmh0bWwuc2lsdmVybGlnaHQnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvdGVzdGluZy5qcycsIFsnZ29vZy5odG1sLnRlc3RpbmcnXSwgWydnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTY3JpcHQnLCAnZ29vZy5odG1sLlNhZmVTdHlsZScsICdnb29nLmh0bWwuU2FmZVN0eWxlU2hlZXQnLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzLkFyZ3VtZW50TWF0Y2hlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC90ZXh0ZXh0cmFjdG9yLmpzJywgWydnb29nLmh0bWwudGV4dEV4dHJhY3RvciddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmh0bWwuc2FuaXRpemVyLkh0bWxTYW5pdGl6ZXInLCAnZ29vZy5vYmplY3QnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvdGV4dGV4dHJhY3Rvcl90ZXN0LmpzJywgWydnb29nLmh0bWwudGV4dEV4dHJhY3RvclRlc3QnXSwgWydnb29nLmh0bWwudGV4dEV4dHJhY3RvcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC90cnVzdGVkcmVzb3VyY2V1cmwuanMnLCBbJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5odG1sLnRydXN0ZWR0eXBlcycsICdnb29nLmkxOG4uYmlkaS5EaXInLCAnZ29vZy5pMThuLmJpZGkuRGlyZWN0aW9uYWxTdHJpbmcnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy5zdHJpbmcuVHlwZWRTdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvdHJ1c3RlZHJlc291cmNldXJsX3Rlc3QuanMnLCBbJ2dvb2cuaHRtbC50cnVzdGVkUmVzb3VyY2VVcmxUZXN0J10sIFsnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmh0bWwudHJ1c3RlZHR5cGVzJywgJ2dvb2cuaTE4bi5iaWRpLkRpcicsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaHRtbC90cnVzdGVkdHlwZXMuanMnLCBbJ2dvb2cuaHRtbC50cnVzdGVkdHlwZXMnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3VuY2hlY2tlZGNvbnZlcnNpb25zLmpzJywgWydnb29nLmh0bWwudW5jaGVja2VkY29udmVyc2lvbnMnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuaHRtbC5TYWZlU2NyaXB0JywgJ2dvb2cuaHRtbC5TYWZlU3R5bGUnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy5zdHJpbmcuaW50ZXJuYWwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvdW5jaGVja2VkY29udmVyc2lvbnNfdGVzdC5qcycsIFsnZ29vZy5odG1sLnVuY2hlY2tlZGNvbnZlcnNpb25zVGVzdCddLCBbJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuU2FmZVNjcmlwdCcsICdnb29nLmh0bWwuU2FmZVN0eWxlJywgJ2dvb2cuaHRtbC5TYWZlU3R5bGVTaGVldCcsICdnb29nLmh0bWwuU2FmZVVybCcsICdnb29nLmh0bWwuVHJ1c3RlZFJlc291cmNlVXJsJywgJ2dvb2cuaHRtbC51bmNoZWNrZWRjb252ZXJzaW9ucycsICdnb29nLmkxOG4uYmlkaS5EaXInLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2h0bWwvdXRpbHMuanMnLCBbJ2dvb2cuaHRtbC51dGlscyddLCBbJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdodG1sL3V0aWxzX3Rlc3QuanMnLCBbJ2dvb2cuaHRtbC5VdGlsc1Rlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5odG1sLnV0aWxzJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2JpZGkuanMnLCBbJ2dvb2cuaTE4bi5iaWRpJywgJ2dvb2cuaTE4bi5iaWRpLkRpcicsICdnb29nLmkxOG4uYmlkaS5EaXJlY3Rpb25hbFN0cmluZycsICdnb29nLmkxOG4uYmlkaS5Gb3JtYXQnXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9iaWRpX3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5iaWRpVGVzdCddLCBbJ2dvb2cuaTE4bi5iaWRpJywgJ2dvb2cuaTE4bi5iaWRpLkRpcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9iaWRpZm9ybWF0dGVyLmpzJywgWydnb29nLmkxOG4uQmlkaUZvcm1hdHRlciddLCBbJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmkxOG4uYmlkaScsICdnb29nLmkxOG4uYmlkaS5EaXInLCAnZ29vZy5pMThuLmJpZGkuRm9ybWF0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2JpZGlmb3JtYXR0ZXJfdGVzdC5qcycsIFsnZ29vZy5pMThuLkJpZGlGb3JtYXR0ZXJUZXN0J10sIFsnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuaHRtbC50ZXN0aW5nJywgJ2dvb2cuaTE4bi5CaWRpRm9ybWF0dGVyJywgJ2dvb2cuaTE4bi5iaWRpLkRpcicsICdnb29nLmkxOG4uYmlkaS5Gb3JtYXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vY2hhcmxpc3RkZWNvbXByZXNzb3IuanMnLCBbJ2dvb2cuaTE4bi5DaGFyTGlzdERlY29tcHJlc3NvciddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5pMThuLnVDaGFyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2NoYXJsaXN0ZGVjb21wcmVzc29yX3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5DaGFyTGlzdERlY29tcHJlc3NvclRlc3QnXSwgWydnb29nLmkxOG4uQ2hhckxpc3REZWNvbXByZXNzb3InLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vY2hhcnBpY2tlcmRhdGEuanMnLCBbJ2dvb2cuaTE4bi5DaGFyUGlja2VyRGF0YSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vY29sbGF0aW9uLmpzJywgWydnb29nLmkxOG4uY29sbGF0aW9uJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vY29sbGF0aW9uX3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5jb2xsYXRpb25UZXN0J10sIFsnZ29vZy5pMThuLmNvbGxhdGlvbicsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9jb21wYWN0bnVtYmVyZm9ybWF0c3ltYm9scy5qcycsIFsnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hZicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYW0nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9EWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfRUcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2F6JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19iZScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYmcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JuJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19icicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYnMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2NhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19jaHInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2NzJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19jeScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZGEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2RlJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kZV9BVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZGVfQ0gnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VsJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fQVUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0NBJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9HQicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fSUUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0lOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9TRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fVVMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1pBJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lcycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfNDE5JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19FUycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfTVgnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1VTJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ldCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19maScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZmlsJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfQ0EnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2dhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19nbCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZ3N3JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ndScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaGF3JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19oZScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaGknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2hyJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19odScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaHknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2lkJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19pbicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaXMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2l0JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19pdycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfamEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2thJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19raycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa20nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tuJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa3knLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2xuJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19sbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbHQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2x2JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19taycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbWwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21uJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbXInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21zJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tdCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbXknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25iJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19uZScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbmwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25vJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ub19OTycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfb3InLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3BhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19wbCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcHQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3B0X0JSJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19wdF9QVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcm8nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3J1JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zaCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2knLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NrJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zbCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc3EnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zcl9MYXRuJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zdicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc3cnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3RhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190ZScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdGgnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3RsJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190cicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdWsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3VyJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc191eicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdmknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3poJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9DTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfemhfSEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3poX1RXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196dSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vY29tcGFjdG51bWJlcmZvcm1hdHN5bWJvbHNleHQuanMnLCBbJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc0V4dCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYWZfTkEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FmX1pBJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hZ3EnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FncV9DTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYWsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FrX0dIJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hbV9FVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfMDAxJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9BRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfQkgnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0RKJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9FSCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfRVInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0lMJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9JUScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfSk8nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0tNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9LVycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfTEInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0xZJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9NQScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfTVInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyX09NJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9QUycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfUUEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1NBJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9TRCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfU08nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1NTJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9TWScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfVEQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1ROJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hcl9YQicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXJfWUUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FzJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hc19JTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXNhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hc2FfVFonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2FzdCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYXN0X0VTJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hel9DeXJsJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hel9DeXJsX0FaJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hel9MYXRuJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19hel9MYXRuX0FaJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19iYXMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2Jhc19DTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYmVfQlknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JlbScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYmVtX1pNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19iZXonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2Jlel9UWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYmdfQkcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JtJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ibV9NTCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYm5fQkQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JuX0lOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ibycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYm9fQ04nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JvX0lOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19icl9GUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfYnJ4JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19icnhfSU4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JzX0N5cmwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JzX0N5cmxfQkEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JzX0xhdG4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2JzX0xhdG5fQkEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2NhX0FEJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19jYV9FUycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfY2FfRlInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2NhX0lUJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19jY3AnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2NjcF9CRCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfY2NwX0lOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19jZScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfY2VfUlUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2NlYicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfY2ViX1BIJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19jZ2cnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2NnZ19VRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfY2hyX1VTJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ja2InLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2NrYl9JUScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfY2tiX0lSJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19jc19DWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfY3lfR0InLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2RhX0RLJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kYV9HTCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZGF2JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kYXZfS0UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0JFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kZV9ERScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZGVfSVQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0xJJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kZV9MVScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZGplJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kamVfTkUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2RzYicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZHNiX0RFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kdWEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2R1YV9DTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZHlvJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19keW9fU04nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2R6JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kel9CVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZWJ1JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lYnVfS0UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VlJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lZV9HSCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZWVfVEcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VsX0NZJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbF9HUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fMDAxJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl8xNTAnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0FFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9BRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fQUknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0FTJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9BVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fQkInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0JFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9CSScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fQk0nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0JTJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9CVycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fQlonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0NDJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9DSCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fQ0snLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0NNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9DWCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fQ1knLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0RFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9ERycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fREsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0RNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9FUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fRkknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0ZKJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9GSycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fRk0nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0dEJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9HRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fR0gnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0dJJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9HTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fR1UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0dZJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9ISycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fSUwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0lNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9JTycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fSkUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0pNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9LRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fS0knLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0tOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9LWScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fTEMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0xSJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9MUycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fTUcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX01IJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9NTycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fTVAnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX01TJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9NVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fTVUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX01XJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9NWScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fTkEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX05GJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9ORycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fTkwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX05SJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9OVScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fTlonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1BHJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9QSCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fUEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1BOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9QUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fUFcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1JXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9TQicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0MnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1NEJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9TRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0gnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1NJJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9TTCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fU1MnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1NYJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9TWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fVEMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1RLJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9UTycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fVFQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1RWJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9UWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fVUcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1VNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9VU19QT1NJWCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fVkMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1ZHJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9WSScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fVlUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1dTJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbl9YQScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW5fWk0nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1pXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW9fMDAxJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19BUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfQk8nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0JSJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19CWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfQ0wnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0NPJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19DUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfQ1UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0RPJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19FQScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfRUMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0dRJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19HVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfSE4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0lDJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19OSScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfUEEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1BFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19QSCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfUFInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1BZJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19lc19TVicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXNfVVknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1ZFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ldF9FRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXVfRVMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2V3bycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZXdvX0NNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mYV9BRicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZmFfSVInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZmJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0JGJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0NNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0dIJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0dNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0dOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0dXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0xSJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX01SJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX05FJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX05HJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX1NMJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX1NOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19maV9GSScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZmlsX1BIJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZm9fREsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZvX0ZPJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9CRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfQkYnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX0JJJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9CSicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfQkwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX0NEJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9DRicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfQ0cnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX0NIJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9DSScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfQ00nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX0RKJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9EWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfRlInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX0dBJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9HRicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfR04nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX0dQJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9HUScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfSFQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX0tNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9MVScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfTUEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX01DJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NRicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfTUcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX01MJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NUScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfTVInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX01VJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9OQycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfTkUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX1BGJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9QTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfUkUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX1JXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9TQycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfU04nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX1NZJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9URCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfVEcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX1ROJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mcl9WVScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnJfV0YnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX1lUJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19mdXInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2Z1cl9JVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZnknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2Z5X05MJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19nYV9JRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZ2QnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2dkX0dCJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19nbF9FUycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZ3N3X0NIJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19nc3dfRlInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2dzd19MSScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZ3VfSU4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2d1eicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZ3V6X0tFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ndicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZ3ZfSU0nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2hhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19oYV9HSCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaGFfTkUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2hhX05HJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19oYXdfVVMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2hlX0lMJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19oaV9JTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaHJfQkEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2hyX0hSJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19oc2InLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2hzYl9ERScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaHVfSFUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2h5X0FNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19pYScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaWFfMDAxJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19pZF9JRCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaWcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2lnX05HJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19paScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaWlfQ04nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2lzX0lTJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19pdF9DSCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfaXRfSVQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2l0X1NNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19pdF9WQScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfamFfSlAnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2pnbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfamdvX0NNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19qbWMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ptY19UWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfanYnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2p2X0lEJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rYV9HRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa2FiJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rYWJfRFonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2thbScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa2FtX0tFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rZGUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tkZV9UWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa2VhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rZWFfQ1YnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tocScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa2hxX01MJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19raScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa2lfS0UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2trX0taJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ra2onLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tral9DTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa2wnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tsX0dMJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rbG4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tsbl9LRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa21fS0gnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tuX0lOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rb19LUCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa29fS1InLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tvaycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa29rX0lOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rcycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa3NfSU4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tzYicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa3NiX1RaJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rc2YnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2tzZl9DTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa3NoJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rc2hfREUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2t1JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19rdV9UUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfa3cnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2t3X0dCJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19reV9LRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbGFnJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19sYWdfVFonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2xiJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19sYl9MVScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbGcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2xnX1VHJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19sa3QnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2xrdF9VUycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbG5fQU8nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2xuX0NEJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19sbl9DRicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbG5fQ0cnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2xvX0xBJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19scmMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2xyY19JUScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbHJjX0lSJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19sdF9MVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbHUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2x1X0NEJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19sdW8nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2x1b19LRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbHV5JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19sdXlfS0UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2x2X0xWJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tYXMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21hc19LRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbWFzX1RaJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tZXInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21lcl9LRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbWZlJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tZmVfTVUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21nJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tZ19NRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbWdoJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tZ2hfTVonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21nbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbWdvX0NNJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19taScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbWlfTlonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21rX01LJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tbF9JTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbW5fTU4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21yX0lOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tc19CTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbXNfTVknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX21zX1NHJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tdF9NVCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbXVhJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tdWFfQ00nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX215X01NJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19tem4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX216bl9JUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbmFxJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19uYXFfTkEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25iX05PJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19uYl9TSicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbmQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25kX1pXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19uZHMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25kc19ERScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbmRzX05MJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19uZV9JTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbmVfTlAnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25sX0FXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ubF9CRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbmxfQlEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25sX0NXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ubF9OTCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbmxfU1InLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25sX1NYJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ubWcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25tZ19DTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbm4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25uX05PJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ubmgnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX25uaF9DTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbnVzJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19udXNfU1MnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX255bicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfbnluX1VHJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19vbScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfb21fRVQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX29tX0tFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19vcl9JTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfb3MnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX29zX0dFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19vc19SVScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcGFfQXJhYicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcGFfQXJhYl9QSycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcGFfR3VydScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcGFfR3VydV9JTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcGxfUEwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3BzJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19wc19BRicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcHNfUEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3B0X0FPJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19wdF9DSCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcHRfQ1YnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3B0X0dRJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19wdF9HVycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcHRfTFUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3B0X01PJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19wdF9NWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcHRfU1QnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3B0X1RMJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19xdScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcXVfQk8nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3F1X0VDJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19xdV9QRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcm0nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3JtX0NIJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ybicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcm5fQkknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3JvX01EJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19yb19STycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcm9mJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19yb2ZfVFonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3J1X0JZJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ydV9LRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcnVfS1onLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3J1X01EJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19ydV9SVScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcnVfVUEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3J3JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19yd19SVycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfcndrJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19yd2tfVFonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NhaCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2FoX1JVJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zYXEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NhcV9LRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2JwJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zYnBfVFonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NkJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zZF9QSycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NlX0ZJJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zZV9OTycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2VfU0UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NlaCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2VoX01aJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zZXMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3Nlc19NTCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2cnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NnX0NGJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zaGknLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NoaV9MYXRuJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zaGlfTGF0bl9NQScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2hpX1RmbmcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NoaV9UZm5nX01BJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zaV9MSycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc2tfU0snLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NsX1NJJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zbW4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3Ntbl9GSScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc24nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NuX1pXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc29fREonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NvX0VUJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zb19LRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc29fU08nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NxX0FMJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zcV9NSycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc3FfWEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0N5cmwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0N5cmxfQkEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0N5cmxfTUUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0N5cmxfUlMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0N5cmxfWEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0xhdG5fQkEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0xhdG5fTUUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0xhdG5fUlMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0xhdG5fWEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3N2X0FYJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zdl9GSScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc3ZfU0UnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3N3X0NEJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19zd19LRScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfc3dfVFonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3N3X1VHJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190YV9JTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdGFfTEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3RhX01ZJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190YV9TRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdGVfSU4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3RlbycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdGVvX0tFJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190ZW9fVUcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3RnJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190Z19USicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdGhfVEgnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3RpJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190aV9FUicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdGlfRVQnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3RrJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190a19UTScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdG8nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3RvX1RPJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190cl9DWScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdHJfVFInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3R0JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190dF9SVScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdHdxJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc190d3FfTkUnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3R6bScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdHptX01BJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc191ZycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdWdfQ04nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3VrX1VBJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc191cl9JTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdXJfUEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0FyYWInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0FyYWJfQUYnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0N5cmwnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0N5cmxfVVonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0xhdG4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0xhdG5fVVonLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3ZhaScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdmFpX0xhdG4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3ZhaV9MYXRuX0xSJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc192YWlfVmFpaScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfdmFpX1ZhaWlfTFInLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3ZpX1ZOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc192dW4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3Z1bl9UWicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfd2FlJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc193YWVfQ0gnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3dvJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc193b19TTicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfeGgnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3hoX1pBJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc194b2cnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3hvZ19VRycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfeWF2JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc195YXZfQ00nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3lpJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc195aV8wMDEnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3lvJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc195b19CSicsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfeW9fTkcnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3l1ZScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfeXVlX0hhbnMnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3l1ZV9IYW5zX0NOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc195dWVfSGFudCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfeXVlX0hhbnRfSEsnLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX3pnaCcsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfemdoX01BJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW5zJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW5zX0NOJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW5zX0hLJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW5zX01PJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW5zX1NHJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW50JywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW50X0hLJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW50X01PJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW50X1RXJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc196dV9aQSddLCBbJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9scyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9jdXJyZW5jeS5qcycsIFsnZ29vZy5pMThuLmN1cnJlbmN5JywgJ2dvb2cuaTE4bi5jdXJyZW5jeS5DdXJyZW5jeUluZm8nLCAnZ29vZy5pMThuLmN1cnJlbmN5LkN1cnJlbmN5SW5mb1RpZXIyJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vY3VycmVuY3lfdGVzdC5qcycsIFsnZ29vZy5pMThuLmN1cnJlbmN5VGVzdCddLCBbJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXQnLCAnZ29vZy5pMThuLmN1cnJlbmN5JywgJ2dvb2cuaTE4bi5jdXJyZW5jeS5DdXJyZW5jeUluZm8nLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vY3VycmVuY3ljb2RlbWFwLmpzJywgWydnb29nLmkxOG4uY3VycmVuY3lDb2RlTWFwJywgJ2dvb2cuaTE4bi5jdXJyZW5jeUNvZGVNYXBUaWVyMiddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vZGF0ZWludGVydmFsZm9ybWF0LmpzJywgWydnb29nLmkxOG4uRGF0ZUludGVydmFsRm9ybWF0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kYXRlLkRhdGVMaWtlJywgJ2dvb2cuZGF0ZS5EYXRlUmFuZ2UnLCAnZ29vZy5kYXRlLkRhdGVUaW1lJywgJ2dvb2cuZGF0ZS5JbnRlcnZhbCcsICdnb29nLmkxOG4uRGF0ZVRpbWVGb3JtYXQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9scycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzVHlwZScsICdnb29nLmkxOG4uVGltZVpvbmUnLCAnZ29vZy5pMThuLmRhdGVJbnRlcnZhbFN5bWJvbHMnLCAnZ29vZy5vYmplY3QnXSwgeydsYW5nJzogJ2VzNScsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2RhdGVpbnRlcnZhbGZvcm1hdF90ZXN0LmpzJywgWydnb29nLmkxOG4uRGF0ZUludGVydmFsRm9ybWF0VGVzdCddLCBbJ2dvb2cuZGF0ZS5EYXRlJywgJ2dvb2cuZGF0ZS5EYXRlUmFuZ2UnLCAnZ29vZy5kYXRlLkRhdGVUaW1lJywgJ2dvb2cuZGF0ZS5JbnRlcnZhbCcsICdnb29nLmkxOG4uRGF0ZUludGVydmFsRm9ybWF0JywgJ2dvb2cuaTE4bi5EYXRlVGltZUZvcm1hdCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX0VHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9DQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2dsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaGknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc196aCcsICdnb29nLmkxOG4uVGltZVpvbmUnLCAnZ29vZy5pMThuLmRhdGVJbnRlcnZhbFBhdHRlcm5zJywgJ2dvb2cuaTE4bi5kYXRlSW50ZXJ2YWxTeW1ib2xzJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2RhdGVpbnRlcnZhbHBhdHRlcm5zLmpzJywgWydnb29nLmkxOG4uZGF0ZUludGVydmFsUGF0dGVybnMnXSwgWydnb29nLmkxOG4uZGF0ZUludGVydmFsU3ltYm9scyddLCB7J21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vZGF0ZWludGVydmFscGF0dGVybnNleHQuanMnLCBbJ2dvb2cuaTE4bi5kYXRlSW50ZXJ2YWxQYXR0ZXJuc0V4dCddLCBbJ2dvb2cuaTE4bi5kYXRlSW50ZXJ2YWxQYXR0ZXJucyddLCB7J21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vZGF0ZWludGVydmFsc3ltYm9scy5qcycsIFsnZ29vZy5pMThuLmRhdGVJbnRlcnZhbFN5bWJvbHMnXSwgW10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9kYXRlaW50ZXJ2YWxzeW1ib2xzZXh0LmpzJywgWydnb29nLmkxOG4uZGF0ZUludGVydmFsU3ltYm9sc0V4dCddLCBbJ2dvb2cuaTE4bi5kYXRlSW50ZXJ2YWxTeW1ib2xzJ10sIHsnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9kYXRldGltZWZvcm1hdC5qcycsIFsnZ29vZy5pMThuLkRhdGVUaW1lRm9ybWF0JywgJ2dvb2cuaTE4bi5EYXRlVGltZUZvcm1hdC5Gb3JtYXQnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kYXRlJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHMnLCAnZ29vZy5pMThuLlRpbWVab25lJywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2RhdGV0aW1lZm9ybWF0X3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5EYXRlVGltZUZvcm1hdFRlc3QnXSwgWydnb29nLmRhdGUuRGF0ZScsICdnb29nLmRhdGUuRGF0ZVRpbWUnLCAnZ29vZy5pMThuLkRhdGVUaW1lRm9ybWF0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0VHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JnJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2RlJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VuX1hBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2phJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3N2JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3poX0hLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3poX0hhbnRfVFcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9scycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX0FFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfRUcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9TQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JuX0JEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZGUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0dCJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fSUUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZmEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX0RKJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaGVfSUwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19qYScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3JvX1JPJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc3YnLCAnZ29vZy5pMThuLlRpbWVab25lJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2RhdGV0aW1lcGFyc2UuanMnLCBbJ2dvb2cuaTE4bi5EYXRlVGltZVBhcnNlJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGF0ZScsICdnb29nLmkxOG4uRGF0ZVRpbWVGb3JtYXQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9scyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9kYXRldGltZXBhcnNlX3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5EYXRlVGltZVBhcnNlVGVzdCddLCBbJ2dvb2cuZGF0ZS5EYXRlJywgJ2dvb2cuaTE4bi5EYXRlVGltZUZvcm1hdCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXJzZScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mYScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcGwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc196aCcsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9kYXRldGltZXBhdHRlcm5zLmpzJywgWydnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJucycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hZicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hbScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hcicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hcl9EWicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hcl9FRycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19heicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19iZScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19iZycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ibicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19icicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19icycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jYScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jaHInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfY3MnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfY3knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGVfQVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGVfQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZWwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQVUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQ0EnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fR0InLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fSUUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU0cnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fWkEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZXMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZXNfNDE5JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX01YJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2V0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2V1JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZpbCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19mcicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19mcl9DQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19nYScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19nbCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19nc3cnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZ3UnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfaGF3JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2hlJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2hpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2hyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2h1JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2h5JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2lkJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2luJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2lzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2l0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2l3JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2phJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2thJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2trJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ttJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2t5JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2xuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2xvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2x0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2x2JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21rJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21sJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21uJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21vJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21yJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21zJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX210JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX215JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25iJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25lJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25sJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25vJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25vX05PJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX29yJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3BhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3BsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3B0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3B0X0JSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3B0X1BUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3JvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3J1JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NoJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NrJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NxJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NyX0xhdG4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc3YnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc3cnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdGEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdGUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdGgnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdGwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdHInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdWsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdXInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdXonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdmknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfemgnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfemhfQ04nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfemhfSEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfemhfVFcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfenUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2RhdGV0aW1lcGF0dGVybnNleHQuanMnLCBbJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zRXh0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FmX05BJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FmX1pBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FncScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hZ3FfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYWsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYWtfR0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYW1fRVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYXJfMDAxJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0FFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0JIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0RKJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0VIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0VSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0lMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0lRJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0pPJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0tNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0tXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0xCJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX0xZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX01BJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX01SJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX09NJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1BTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1FBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1NBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1NEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1NPJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1NTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1NZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1REJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1ROJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1hCJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FyX1lFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FzX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FzYScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hc2FfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYXN0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2FzdF9FUycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hel9DeXJsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2F6X0N5cmxfQVonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYXpfTGF0bicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19hel9MYXRuX0FaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JhcycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19iYXNfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYmVfQlknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYmVtJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JlbV9aTScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19iZXonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYmV6X1RaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JnX0JHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JtJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JtX01MJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JuX0JEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JuX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JvX0NOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JvX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JyX0ZSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JyeCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19icnhfSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYnNfQ3lybCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ic19DeXJsX0JBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2JzX0xhdG4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfYnNfTGF0bl9CQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jYV9BRCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jYV9FUycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jYV9GUicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jYV9JVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jY3AnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfY2NwX0JEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2NjcF9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jZScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jZV9SVScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jZWInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfY2ViX1BIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2NnZycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19jZ2dfVUcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfY2hyX1VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2NrYicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ja2JfSVEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfY2tiX0lSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2NzX0NaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2N5X0dCJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2RhX0RLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2RhX0dMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2RhdicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19kYXZfS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGVfQkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGVfREUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGVfSVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGVfTEknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGVfTFUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZGplJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2RqZV9ORScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19kc2InLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZHNiX0RFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2R1YScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19kdWFfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZHlvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2R5b19TTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19keicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19kel9CVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19lYnUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZWJ1X0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VlJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VlX0dIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VlX1RHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VsX0NZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VsX0dSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VuXzAwMScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19lbl8xNTAnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQUUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQUcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQUknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQkInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQkknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQk0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQlMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQlcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQlonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQ0MnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQ0snLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQ1gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fQ1knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fREUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fREcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fREsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fRE0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fRVInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fRkknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fRkonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fRksnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fRk0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fR0QnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fR0cnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fR0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fR0knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fR00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fR1UnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fR1knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fSEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fSUwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fSU0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fSU8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fSkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fSk0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fS0knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fS04nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fS1knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTEMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTFInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTFMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTUcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTUgnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTU8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTVAnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTVUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTVcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTVknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTkEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTkYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTkcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTkwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTlInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTlUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fTlonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fUEcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fUEgnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fUEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fUE4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fUFInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fUFcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fUlcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU0InLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU0MnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU0QnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU0knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU0wnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU1MnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU1gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fU1onLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVEMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVE8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVFQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVFYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVUcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVU0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVVNfUE9TSVgnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVkMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVkcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVkknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fVlUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fV1MnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fWEEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fWk0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW5fWlcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZW9fMDAxJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0FSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0JPJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0JSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0JaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0NMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0NPJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0NSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0NVJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0RPJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0VBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0VDJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0dRJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0dUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0hOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX0lDJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX05JJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1BBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1BFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1BIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1BSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1BZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1NWJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1VZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2VzX1ZFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2V0X0VFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2V1X0VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2V3bycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ld29fQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmFfQUYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmFfSVInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmZfTGF0bicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19mZl9MYXRuX0JGJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZmX0xhdG5fQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmZfTGF0bl9HSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19mZl9MYXRuX0dNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZmX0xhdG5fR04nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmZfTGF0bl9HVycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19mZl9MYXRuX0xSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZmX0xhdG5fTVInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmZfTGF0bl9ORScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19mZl9MYXRuX05HJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ZmX0xhdG5fU0wnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZmZfTGF0bl9TTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19maV9GSScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19maWxfUEgnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZm8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZm9fREsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZm9fRk8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQkYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQkknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQkonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQkwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQ0QnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQ0YnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQ0cnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQ0knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfREonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfRFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfRlInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfR0EnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfR0YnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfR04nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfR1AnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfR1EnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfSFQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfS00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTFUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTUMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTUYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTUcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTUwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTVEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTVInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTVUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTkMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfTkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfUEYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfUE0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfUkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfUlcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfU0MnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfU04nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfU1knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfVEQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfVEcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfVE4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfVlUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfV0YnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnJfWVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZnVyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2Z1cl9JVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19meScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19meV9OTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19nYV9JRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19nZCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19nZF9HQicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19nbF9FUycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19nc3dfQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZ3N3X0ZSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2dzd19MSScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ndV9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ndXonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfZ3V6X0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2d2JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2d2X0lNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2hhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2hhX0dIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2hhX05FJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2hhX05HJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2hhd19VUycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19oZV9JTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19oaV9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ocl9CQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ocl9IUicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19oc2InLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfaHNiX0RFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2h1X0hVJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2h5X0FNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2lhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2lhXzAwMScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19pZF9JRCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19pZycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19pZ19ORycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19paScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19paV9DTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19pc19JUycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19pdF9DSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19pdF9JVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19pdF9TTScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19pdF9WQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19qYV9KUCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19qZ28nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfamdvX0NNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2ptYycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19qbWNfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfanYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfanZfSUQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa2FfR0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa2FiJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2thYl9EWicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rYW0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa2FtX0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tkZScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rZGVfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa2VhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tlYV9DVicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19raHEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa2hxX01MJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tpX0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2trX0taJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2traicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ra2pfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa2wnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa2xfR0wnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa2xuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tsbl9LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rbV9LSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rbl9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rb19LUCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rb19LUicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rb2snLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa29rX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tzX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tzYicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rc2JfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa3NmJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2tzZl9DTScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19rc2gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfa3NoX0RFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2t1JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2t1X1RSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2t3JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2t3X0dCJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2t5X0tHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2xhZycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sYWdfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbGInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbGJfTFUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbGcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbGdfVUcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbGt0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2xrdF9VUycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sbl9BTycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sbl9DRCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sbl9DRicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sbl9DRycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sb19MQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19scmMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbHJjX0lRJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2xyY19JUicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sdF9MVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sdScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sdV9DRCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sdW8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbHVvX0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX2x1eScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19sdXlfS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbHZfTFYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbWFzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21hc19LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tYXNfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbWVyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21lcl9LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tZmUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbWZlX01VJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21nJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21nX01HJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21naCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tZ2hfTVonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbWdvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX21nb19DTScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19taScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19taV9OWicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ta19NSycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tbF9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tbl9NTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tcl9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tc19CTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tc19NWScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tc19TRycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tdF9NVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tdWEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbXVhX0NNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX215X01NJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX216bicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19tem5fSVInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbmFxJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25hcV9OQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19uYl9OTycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19uYl9TSicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19uZCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19uZF9aVycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19uZHMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbmRzX0RFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25kc19OTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19uZV9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19uZV9OUCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubF9BVycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubF9CRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubF9CUScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubF9DVycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubF9OTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubF9TUicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubF9TWCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubWcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbm1nX0NNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25uJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25uX05PJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX25uaCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ubmhfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbnVzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX251c19TUycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ueW4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfbnluX1VHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX29tJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX29tX0VUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX29tX0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX29yX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX29zJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX29zX0dFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX29zX1JVJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3BhX0FyYWInLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcGFfQXJhYl9QSycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19wYV9HdXJ1JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3BhX0d1cnVfSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcGxfUEwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHNfQUYnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHNfUEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfQU8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfQ1YnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfR1EnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfR1cnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfTFUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfTU8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfTVonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfU1QnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcHRfVEwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcXUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcXVfQk8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcXVfRUMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcXVfUEUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcm0nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcm1fQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcm4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcm5fQkknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcm9fTUQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcm9fUk8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcm9mJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3JvZl9UWicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ydV9CWScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ydV9LRycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ydV9LWicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ydV9NRCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ydV9SVScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ydV9VQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19ydycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19yd19SVycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19yd2snLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfcndrX1RaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NhaCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zYWhfUlUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2FxJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NhcV9LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zYnAnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2JwX1RaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NkJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NkX1BLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NlJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NlX0ZJJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NlX05PJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NlX1NFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NlaCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zZWhfTVonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2VzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3Nlc19NTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zZycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zZ19DRicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zaGknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2hpX0xhdG4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2hpX0xhdG5fTUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2hpX1RmbmcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2hpX1RmbmdfTUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2lfTEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2tfU0snLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc2xfU0knLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc21uJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3Ntbl9GSScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zbicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zbl9aVycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zbycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zb19ESicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zb19FVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zb19LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zb19TTycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zcV9BTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zcV9NSycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zcV9YSycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zcl9DeXJsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NyX0N5cmxfQkEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc3JfQ3lybF9NRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zcl9DeXJsX1JTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NyX0N5cmxfWEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc3JfTGF0bl9CQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zcl9MYXRuX01FJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3NyX0xhdG5fUlMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfc3JfTGF0bl9YSycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zdl9BWCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zdl9GSScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zdl9TRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zd19DRCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zd19LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zd19UWicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc19zd19VRycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190YV9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190YV9MSycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190YV9NWScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190YV9TRycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190ZV9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190ZW8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdGVvX0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3Rlb19VRycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190ZycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190Z19USicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190aF9USCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190aScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190aV9FUicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190aV9FVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190aycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190a19UTScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190bycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190b19UTycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190cl9DWScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190cl9UUicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190dCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190dF9SVScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190d3EnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdHdxX05FJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3R6bScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc190em1fTUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdWcnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdWdfQ04nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdWtfVUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdXJfSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdXJfUEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdXpfQXJhYicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc191el9BcmFiX0FGJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3V6X0N5cmwnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdXpfQ3lybF9VWicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc191el9MYXRuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3V6X0xhdG5fVVonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfdmFpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3ZhaV9MYXRuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3ZhaV9MYXRuX0xSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3ZhaV9WYWlpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3ZhaV9WYWlpX0xSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3ZpX1ZOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3Z1bicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc192dW5fVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfd2FlJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3dhZV9DSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc193bycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc193b19TTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc194aCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc194aF9aQScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc194b2cnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfeG9nX1VHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3lhdicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc195YXZfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfeWknLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfeWlfMDAxJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3lvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3lvX0JKJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3lvX05HJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3l1ZScsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc195dWVfSGFucycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc195dWVfSGFuc19DTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc195dWVfSGFudCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc195dWVfSGFudF9ISycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc196Z2gnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfemdoX01BJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3poX0hhbnMnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfemhfSGFuc19DTicsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc196aF9IYW5zX0hLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3poX0hhbnNfTU8nLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfemhfSGFuc19TRycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc196aF9IYW50JywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3poX0hhbnRfSEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnNfemhfSGFudF9NTycsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXR0ZXJuc196aF9IYW50X1RXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVBhdHRlcm5zX3p1X1pBJ10sIFsnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vZGF0ZXRpbWVzeW1ib2xzLmpzJywgWydnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNUeXBlJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYWYnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hbScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfRFonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9FRycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2F6JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYmUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19iZycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYnInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19icycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfY2hyJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfY3MnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19jeScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2RhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZGUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19kZV9BVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2RlX0NIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZWwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0FVJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fQ0EnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9HQicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0lFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9JU08nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9TRycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fWkEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lcycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzXzQxOScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX0VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfTVgnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19VUycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2V0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mYScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZmlsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9DQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2dhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZ2wnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19nc3cnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ndScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2hhdycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2hlJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaGknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ocicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2h1JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaHknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19pZCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2luJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaXMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19pdCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2l3JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfamEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rYScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2trJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfa20nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rbicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfa3knLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19sbicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2xvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19sdicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX21rJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbWwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tbicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX21vJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbXInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tcycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX210JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbXknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19uYicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25lJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbmwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ubycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25vX05PJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfb3InLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19wYScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3BsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcHQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19wdF9CUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3B0X1BUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcm8nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ydScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NoJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc2knLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zaycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc3EnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zcicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NyX0xhdG4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zdicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3N3JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdGEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190ZScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3RoJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdGwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190cicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3VrJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdXInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc191eicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3ZpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfemgnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc196aF9DTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3poX0hLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfemhfVFcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc196dSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vZGF0ZXRpbWVzeW1ib2xzZXh0LmpzJywgWydnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzRXh0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYWZfTkEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hZl9aQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FncScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FncV9DTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FrJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYWtfR0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hbV9FVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyXzAwMScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX0FFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfQkgnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9ESicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX0VIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfRVInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9JTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX0lRJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfSk8nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9LTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX0tXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfTEInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9MWScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX01BJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfTVInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9PTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX1BTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfUUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9TQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX1NEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfU08nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9TUycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX1NZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfVEQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcl9UTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FyX1hCJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXJfWUUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hcycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2FzX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXNhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXNhX1RaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXN0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXN0X0VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXpfQ3lybCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2F6X0N5cmxfQVonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19hel9MYXRuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYXpfTGF0bl9BWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JhcycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2Jhc19DTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JlX0JZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYmVtJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYmVtX1pNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYmV6JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYmV6X1RaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYmdfQkcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ibScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JtX01MJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYm5fQkQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ibl9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYm9fQ04nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ib19JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JyX0ZSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYnJ4JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYnJ4X0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYnNfQ3lybCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2JzX0N5cmxfQkEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ic19MYXRuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfYnNfTGF0bl9CQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NhX0FEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfY2FfRVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19jYV9GUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NhX0lUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfY2NwJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfY2NwX0JEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfY2NwX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfY2UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19jZV9SVScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NlYicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NlYl9QSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NnZycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NnZ19VRycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2Nocl9VUycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NrYicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NrYl9JUScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NrYl9JUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2NzX0NaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfY3lfR0InLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19kYV9ESycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2RhX0dMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZGF2JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZGF2X0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZGVfQkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19kZV9ERScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2RlX0lUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZGVfTEknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19kZV9MVScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2RqZScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2RqZV9ORScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2RzYicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2RzYl9ERScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2R1YScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2R1YV9DTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2R5bycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2R5b19TTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2R6JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZHpfQlQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lYnUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lYnVfS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lZScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VlX0dIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZWVfVEcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbF9DWScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VsX0dSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fMDAxJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fMTUwJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fQUUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9BRycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0FJJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fQVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9BVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0JCJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fQkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9CSScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0JNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fQlMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9CVycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0JaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fQ0MnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9DSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0NLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9DWCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0NZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fREUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9ERycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0RLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fRE0nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9FUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0ZJJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fRkonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9GSycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0ZNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fR0QnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9HRycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0dIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fR0knLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9HTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0dVJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fR1knLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9ISycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0lMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fSU0nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9JTycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0pFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fSk0nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0tJJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fS04nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9LWScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX0xDJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fTFInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9MUycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX01HJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fTUgnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9NTycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX01QJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fTVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9NVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX01VJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fTVcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9NWScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX05BJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fTkYnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9ORycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX05MJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fTlInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9OVScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX05aJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fUEcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9QSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1BLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fUE4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9QUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1BXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fUlcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9TQicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1NDJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fU0QnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9TRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1NIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fU0knLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9TTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1NTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fU1gnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9TWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1RDJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fVEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9UTycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1RUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fVFYnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9UWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1VHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fVU0nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9VU19QT1NJWCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1ZDJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fVkcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9WSScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1ZVJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fV1MnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbl9YQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1pNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZW5fWlcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lbycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VvXzAwMScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX0FSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfQk8nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19CUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX0JaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfQ0wnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19DTycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX0NSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfQ1UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19ETycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX0VBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfRUMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19HUScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX0dUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfSE4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19JQycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX05JJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfUEEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19QRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX1BIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfUFInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19QWScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VzX1NWJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXNfVVknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19lc19WRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2V0X0VFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZXVfRVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ld28nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ld29fQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mYV9BRicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZhX0lSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZmYnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mZl9MYXRuJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZmZfTGF0bl9CRicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZmX0xhdG5fQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mZl9MYXRuX0dIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZmZfTGF0bl9HTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZmX0xhdG5fR04nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mZl9MYXRuX0dXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZmZfTGF0bl9MUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZmX0xhdG5fTVInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mZl9MYXRuX05FJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZmZfTGF0bl9ORycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZmX0xhdG5fU0wnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mZl9MYXRuX1NOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZmlfRkknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19maWxfUEgnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mbycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZvX0RLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZm9fRk8nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9CRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX0JGJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfQkknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9CSicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX0JMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfQ0QnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9DRicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX0NHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9DSScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX0NNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfREonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9EWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX0ZSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfR0EnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9HRicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX0dOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfR1AnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9HUScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX0hUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfS00nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9MVScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX01BJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfTUMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9NRicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX01HJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfTUwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9NUScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX01SJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfTVUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9OQycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX05FJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfUEYnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9QTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX1JFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfUlcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9TQycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX1NOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfU1knLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9URCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX1RHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfVE4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mcl9WVScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ZyX1dGJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZnJfWVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mdXInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19mdXJfSVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19meScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2Z5X05MJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZ2FfSUUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19nZCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2dkX0dCJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZ2xfRVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19nc3dfQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19nc3dfRlInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19nc3dfTEknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ndV9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2d1eicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2d1el9LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2d2JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfZ3ZfSU0nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19oYScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2hhX0dIJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaGFfTkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19oYV9ORycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2hhd19VUycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2hlX0lMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaGlfSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ocl9CQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2hyX0hSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaHNiJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaHNiX0RFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaHVfSFUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19oeV9BTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2lhJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaWFfMDAxJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaWRfSUQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19pZycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2lnX05HJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaWknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19paV9DTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2lzX0lTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaXRfQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19pdF9JVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2l0X1NNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfaXRfVkEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19qYV9KUCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2pnbycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2pnb19DTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ptYycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2ptY19UWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2p2JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfanZfSUQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rYV9HRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2thYicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2thYl9EWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2thbScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2thbV9LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tkZScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tkZV9UWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tlYScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tlYV9DVicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tocScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tocV9NTCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfa2lfS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ra19LWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2traicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tral9DTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfa2xfR0wnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rbG4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rbG5fS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rbV9LSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tuX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfa29fS1AnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rb19LUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tvaycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tva19JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2tzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfa3NfSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rc2InLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rc2JfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rc2YnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rc2ZfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rc2gnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rc2hfREUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rdScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2t1X1RSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfa3cnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19rd19HQicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2t5X0tHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbGFnJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbGFnX1RaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbGInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19sYl9MVScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2xnJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbGdfVUcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19sa3QnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19sa3RfVVMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19sbl9BTycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2xuX0NEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbG5fQ0YnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19sbl9DRycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2xvX0xBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHJjJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHJjX0lRJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHJjX0lSJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHRfTFQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19sdScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2x1X0NEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHVvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHVvX0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHV5JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHV5X0tFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbHZfTFYnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tYXMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tYXNfS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tYXNfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tZXInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tZXJfS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tZmUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tZmVfTVUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tZycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX21nX01HJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbWdoJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbWdoX01aJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbWdvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbWdvX0NNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbWknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19taV9OWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX21rX01LJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbWxfSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tbl9NTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX21yX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbXNfQk4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tc19NWScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX21zX1NHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbXRfTVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tdWEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19tdWFfQ00nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19teV9NTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX216bicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX216bl9JUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25hcScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25hcV9OQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25iX05PJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbmJfU0onLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19uZCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25kX1pXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbmRzJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbmRzX0RFJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbmRzX05MJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbmVfSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19uZV9OUCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25sX0FXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbmxfQkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ubF9CUScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25sX0NXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbmxfTkwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ubF9TUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25sX1NYJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbm1nJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbm1nX0NNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfbm4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ubl9OTycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25uaCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX25uaF9DTScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX251cycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX251c19TUycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX255bicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX255bl9VRycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX29tJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfb21fRVQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19vbV9LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX29yX0lOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfb3MnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19vc19HRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX29zX1JVJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcGFfQXJhYicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3BhX0FyYWJfUEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19wYV9HdXJ1JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcGFfR3VydV9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3BsX1BMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcHMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19wc19BRicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3BzX1BLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcHRfQU8nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19wdF9DSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3B0X0NWJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcHRfR1EnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19wdF9HVycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3B0X0xVJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcHRfTU8nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19wdF9NWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3B0X1NUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcHRfVEwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19xdScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3F1X0JPJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcXVfRUMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19xdV9QRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3JtJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcm1fQ0gnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ybicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3JuX0JJJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcm9fTUQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19yb19STycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3JvZicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3JvZl9UWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3J1X0JZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcnVfS0cnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ydV9LWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3J1X01EJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcnVfUlUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19ydV9VQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3J3JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfcndfUlcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19yd2snLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19yd2tfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zYWgnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zYWhfUlUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zYXEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zYXFfS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zYnAnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zYnBfVFonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zZCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NkX1BLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc2UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zZV9GSScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NlX05PJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc2VfU0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zZWgnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zZWhfTVonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zZXMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zZXNfTUwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zZycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NnX0NGJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc2hpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc2hpX0xhdG4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zaGlfTGF0bl9NQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NoaV9UZm5nJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc2hpX1RmbmdfTUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zaV9MSycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NrX1NLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc2xfU0knLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zbW4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zbW5fRkknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zbicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NuX1pXJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc28nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zb19ESicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NvX0VUJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc29fS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zb19TTycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NxX0FMJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc3FfTUsnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zcV9YSycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NyX0N5cmwnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zcl9DeXJsX0JBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc3JfQ3lybF9NRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NyX0N5cmxfUlMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zcl9DeXJsX1hLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc3JfTGF0bl9CQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3NyX0xhdG5fTUUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zcl9MYXRuX1JTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc3JfTGF0bl9YSycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3N2X0FYJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc3ZfRkknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zdl9TRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3N3X0NEJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfc3dfS0UnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc19zd19UWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3N3X1VHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdGFfSU4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190YV9MSycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3RhX01ZJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdGFfU0cnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190ZV9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3RlbycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3Rlb19LRScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3Rlb19VRycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3RnJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdGdfVEonLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190aF9USCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3RpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdGlfRVInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190aV9FVCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3RrJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdGtfVE0nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190bycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3RvX1RPJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdHJfQ1knLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190cl9UUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3R0JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdHRfUlUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190d3EnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190d3FfTkUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190em0nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc190em1fTUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc191ZycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3VnX0NOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdWtfVUEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc191cl9JTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3VyX1BLJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdXpfQXJhYicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3V6X0FyYWJfQUYnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc191el9DeXJsJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdXpfQ3lybF9VWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3V6X0xhdG4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc191el9MYXRuX1VaJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdmFpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdmFpX0xhdG4nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc192YWlfTGF0bl9MUicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3ZhaV9WYWlpJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfdmFpX1ZhaWlfTFInLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc192aV9WTicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3Z1bicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3Z1bl9UWicsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3dhZScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3dhZV9DSCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3dvJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfd29fU04nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc194aCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3hoX1pBJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfeG9nJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfeG9nX1VHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfeWF2JywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfeWF2X0NNJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfeWknLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc195aV8wMDEnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc195bycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3lvX0JKJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfeW9fTkcnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc195dWUnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc195dWVfSGFucycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3l1ZV9IYW5zX0NOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfeXVlX0hhbnQnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc195dWVfSGFudF9ISycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3pnaCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3pnaF9NQScsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3poX0hhbnMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc196aF9IYW5zX0NOJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfemhfSGFuc19ISycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3poX0hhbnNfTU8nLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc196aF9IYW5zX1NHJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfemhfSGFudCcsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3poX0hhbnRfSEsnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9sc196aF9IYW50X01PJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfemhfSGFudF9UVycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX3p1X1pBJ10sIFsnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9scyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9ncmFwaGVtZWJyZWFrLmpzJywgWydnb29nLmkxOG4uR3JhcGhlbWVCcmVhayddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmkxOG4udUNoYXInLCAnZ29vZy5zdHJ1Y3RzLkludmVyc2lvbk1hcCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9ncmFwaGVtZWJyZWFrX3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5HcmFwaGVtZUJyZWFrVGVzdCddLCBbJ2dvb2cuaTE4bi5HcmFwaGVtZUJyZWFrJywgJ2dvb2cuaTE4bi51Q2hhcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9sb2NhbGVmZWF0dXJlLmpzJywgWydnb29nLmkxOG4uTG9jYWxlRmVhdHVyZSddLCBbXSwgeydtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL2xvY2FsZWZlYXR1cmVfdGVzdC5qcycsIFsnZ29vZy5pMThuLkxvY2FsZUZlYXR1cmVUZXN0J10sIFsnZ29vZy5pMThuLkxvY2FsZUZlYXR1cmUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vbWVzc2FnZWZvcm1hdC5qcycsIFsnZ29vZy5pMThuLk1lc3NhZ2VGb3JtYXQnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9scycsICdnb29nLmkxOG4ub3JkaW5hbFJ1bGVzJywgJ2dvb2cuaTE4bi5wbHVyYWxSdWxlcyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9tZXNzYWdlZm9ybWF0X3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5NZXNzYWdlRm9ybWF0VGVzdCddLCBbJ2dvb2cuaTE4bi5NZXNzYWdlRm9ybWF0JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2hyJywgJ2dvb2cuaTE4bi5wbHVyYWxSdWxlcycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9taW1lLmpzJywgWydnb29nLmkxOG4ubWltZScsICdnb29nLmkxOG4ubWltZS5lbmNvZGUnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuaTE4bi51Q2hhciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9taW1lX3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5taW1lLmVuY29kZVRlc3QnXSwgWydnb29nLmkxOG4ubWltZS5lbmNvZGUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vbnVtYmVyZm9ybWF0LmpzJywgWydnb29nLmkxOG4uTnVtYmVyRm9ybWF0JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXQuQ3VycmVuY3lTdHlsZScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0LkZvcm1hdCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5jdXJyZW5jeScsICdnb29nLm1hdGgnLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vbnVtYmVyZm9ybWF0X3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRUZXN0J10sIFsnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzJywgJ2dvb2cuaTE4bi5Db21wYWN0TnVtYmVyRm9ybWF0U3ltYm9sc19kZScsICdnb29nLmkxOG4uQ29tcGFjdE51bWJlckZvcm1hdFN5bWJvbHNfZW4nLCAnZ29vZy5pMThuLkNvbXBhY3ROdW1iZXJGb3JtYXRTeW1ib2xzX2ZyJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfRUcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfRUdfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0FVJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1VTJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZpJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZyJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3BsJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3JvJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3VfbnVfbGF0bicsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdC5pc1ZlcnNpb24nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL251bWJlcmZvcm1hdHN5bWJvbHMuanMnLCBbJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FmJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FtJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0RaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0VHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0VHX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19heicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19iZScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19iZycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ibicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ibl91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYnInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYnMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2EnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2hyJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2NzJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2N5JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RhJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0FUJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0NIJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VsJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0FVJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0NBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0dCJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0lFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1NHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1VTJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuX1pBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzXzQxOScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19lc19FUycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19lc19NWCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19lc19VUycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ldCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ldScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mYScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mYV91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmlsJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZyJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZyX0NBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2dhJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2dsJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2dzdycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ndScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19oYXcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaGUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaGknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaHInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaHUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaHknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaWQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaW4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaXMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaXQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaXcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfamEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2EnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2snLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa20nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa24nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa28nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa3knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbG8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbHQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbHYnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbW4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbW8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbXInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbXJfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX21zJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX210JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX215JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX215X3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19uYicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19uZScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19uZV91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbmwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbm8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbm9fTk8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfb3InLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcGEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcGwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfQlInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfUFQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcm8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcnUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2snLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2wnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc3EnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc3InLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc3JfTGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zdicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zdycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc190YScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc190ZScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc190aCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc190bCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc190cicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc191X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdWsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdXInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdXonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdmknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfemgnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfemhfQ04nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfemhfSEsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfemhfVFcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfenUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL251bWJlcmZvcm1hdHN5bWJvbHNleHQuanMnLCBbJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzRXh0JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FmX05BJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FmX1pBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FncScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hZ3FfQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYWsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYWtfR0gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYW1fRVQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfMDAxJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0FFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0FFX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9CSCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9CSF91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfREonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfREpfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0VIJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0VSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0VSX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9JTCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9JTF91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfSVEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfSVFfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0pPJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0pPX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9LTScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9LTV91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfS1cnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfS1dfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0xCJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX0xCX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9MWScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9NQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9NUicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9NUl91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfT00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfT01fdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1BTJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1BTX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9RQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9RQV91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfU0EnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfU0FfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1NEJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1NEX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9TTycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9TT191X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfU1MnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfU1NfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1NZJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FyX1NZX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9URCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9URF91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfVE4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfWEInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfWUUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXJfWUVfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FzJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FzX0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FzX0lOX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hc191X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXNhJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2FzYV9UWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hc3QnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXN0X0VTJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2F6X0N5cmwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYXpfQ3lybF9BWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hel9MYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2F6X0xhdG5fQVonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYmFzJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2Jhc19DTScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19iZV9CWScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19iZW0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYmVtX1pNJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2JleicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19iZXpfVFonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYmdfQkcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYm0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYm1fTUwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYm5fQkQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYm5fQkRfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2JuX0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2JuX0lOX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ibycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ib19DTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ib19JTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19icl9GUicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19icngnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYnJ4X0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2JzX0N5cmwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfYnNfQ3lybF9CQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ic19MYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2JzX0xhdG5fQkEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2FfQUQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2FfRVMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2FfRlInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2FfSVQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2NwJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2NjcF9CRCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19jY3BfQkRfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2NjcF9JTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19jY3BfSU5fdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2NjcF91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2VfUlUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2ViJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2NlYl9QSCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19jZ2cnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2dnX1VHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2Nocl9VUycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ja2InLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2tiX0lRJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2NrYl9JUV91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2tiX0lSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2NrYl9JUl91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfY2tiX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19jc19DWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19jeV9HQicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19kYV9ESycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19kYV9HTCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19kYXYnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZGF2X0tFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0JFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0RFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0lUJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0xJJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RlX0xVJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RqZScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19kamVfTkUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZHNiJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2RzYl9ERScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19kdWEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZHVhX0NNJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2R5bycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19keW9fU04nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZHonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZHpfQlQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZHpfQlRfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2R6X3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19lYnUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZWJ1X0tFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VlJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VlX0dIJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VlX1RHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VsX0NZJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VsX0dSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VuXzAwMScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19lbl8xNTAnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQUUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQUcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQUknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQVMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQVQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQkInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQkUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQkknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQk0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQlMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQlcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQlonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQ0MnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQ0gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQ0snLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQ1gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fQ1knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fREUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fREcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fREsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fRE0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fRVInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fRkknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fRkonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fRksnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fRk0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fR0QnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fR0cnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fR0gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fR0knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fR00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fR1UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fR1knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fSEsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fSUwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fSU0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fSU8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fSkUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fSk0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fS0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fS0knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fS04nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fS1knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTEMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTFInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTFMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTUcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTUgnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTU8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTVAnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTVMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTVQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTVUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTVcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTVknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTkEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTkYnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTkcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTkwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTlInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTlUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fTlonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fUEcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fUEgnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fUEsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fUE4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fUFInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fUFcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fUlcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0InLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0MnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0QnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU0wnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU1MnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU1gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fU1onLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVEMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVEsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVE8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVFQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVFYnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVFonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVUcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVU0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVVNfUE9TSVgnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVkMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVkcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVkknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fVlUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fV1MnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fWEEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fWk0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW5fWlcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZW9fMDAxJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0FSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0JPJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0JSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0JaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0NMJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0NPJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0NSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0NVJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0RPJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0VBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0VDJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0dRJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0dUJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0hOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX0lDJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX05JJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1BBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1BFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1BIJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1BSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1BZJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1NWJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1VZJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2VzX1ZFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2V0X0VFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2V1X0VTJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2V3bycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ld29fQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmFfQUYnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmFfQUZfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZhX0lSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZhX0lSX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mZicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZmX0xhdG5fQkYnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmZfTGF0bl9DTScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0dIJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZmX0xhdG5fR00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmZfTGF0bl9HTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX0dXJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZmX0xhdG5fTFInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmZfTGF0bl9NUicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX05FJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZmX0xhdG5fTkcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZmZfTGF0bl9TTCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mZl9MYXRuX1NOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZpX0ZJJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ZpbF9QSCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mbycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mb19ESycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mb19GTycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9CRScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9CRicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9CSScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9CSicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9CTCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9DRCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9DRicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9DRycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9DSCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9DSScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9DTScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9ESicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9EWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9GUicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9HQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9HRicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9HTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9HUCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9HUScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9IVCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9LTScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9MVScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NQycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NRicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NRycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NTCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NUScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NUicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9NVScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9OQycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9ORScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9QRicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9QTScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9SRScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9SVycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9TQycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9TTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9TWScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9URCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9URycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9UTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9WVScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9XRicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mcl9ZVCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mdXInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZnVyX0lUJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2Z5JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2Z5X05MJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2dhX0lFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2dkJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2dkX0dCJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2dsX0VTJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2dzd19DSCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19nc3dfRlInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZ3N3X0xJJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2d1X0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2d1eicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ndXpfS0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZ3YnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfZ3ZfSU0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaGEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaGFfR0gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaGFfTkUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaGFfTkcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaGF3X1VTJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2hlX0lMJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2hpX0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2hyX0JBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2hyX0hSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2hzYicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19oc2JfREUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaHVfSFUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaHlfQU0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaWEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfaWFfMDAxJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2lkX0lEJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2lnJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2lnX05HJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2lpJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2lpX0NOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2lzX0lTJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2l0X0NIJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2l0X0lUJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2l0X1NNJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2l0X1ZBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2phX0pQJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2pnbycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19qZ29fQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfam1jJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ptY19UWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19qdicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19qdl9JRCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rYV9HRScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rYWInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2FiX0RaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2thbScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rYW1fS0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2RlJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tkZV9UWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rZWEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2VhX0NWJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tocScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19raHFfTUwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2knLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2lfS0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2tfS1onLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2tqJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tral9DTScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rbCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rbF9HTCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rbG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa2xuX0tFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2ttX0tIJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tuX0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tvX0tQJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tvX0tSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tvaycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rb2tfSU4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa3MnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa3NfSU4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa3NfSU5fdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tzX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rc2InLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa3NiX1RaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tzZicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rc2ZfQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfa3NoJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2tzaF9ERScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rdScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rdV9UUicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rdycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19rd19HQicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19reV9LRycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19sYWcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbGFnX1RaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2xiJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2xiX0xVJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2xnJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2xnX1VHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2xrdCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19sa3RfVVMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbG5fQU8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbG5fQ0QnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbG5fQ0YnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbG5fQ0cnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbG9fTEEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbHJjJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2xyY19JUScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19scmNfSVFfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2xyY19JUicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19scmNfSVJfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2xyY191X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbHRfTFQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbHUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbHVfQ0QnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbHVvJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2x1b19LRScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19sdXknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbHV5X0tFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX2x2X0xWJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX21hcycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tYXNfS0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWFzX1RaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX21lcicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tZXJfS0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWZlJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX21mZV9NVScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tZycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tZ19NRycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tZ2gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWdoX01aJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX21nbycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tZ29fQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWlfTlonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWtfTUsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbWxfSU4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbW5fTU4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbXJfSU4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbXJfSU5fdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX21zX0JOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX21zX01ZJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX21zX1NHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX210X01UJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX211YScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tdWFfQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbXlfTU0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbXlfTU1fdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX216bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tem5fSVInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbXpuX0lSX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19tem5fdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX25hcScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19uYXFfTkEnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbmJfTk8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbmJfU0onLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbmQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbmRfWlcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbmRzJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX25kc19ERScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19uZHNfTkwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbmVfSU4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbmVfSU5fdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX25lX05QJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX25lX05QX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubF9BVycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubF9CRScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubF9CUScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubF9DVycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubF9OTCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubF9TUicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubF9TWCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubWcnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbm1nX0NNJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX25uJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX25uX05PJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX25uaCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ubmhfQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbnVzJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX251c19TUycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ueW4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfbnluX1VHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX29tJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX29tX0VUJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX29tX0tFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX29yX0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX29zJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX29zX0dFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX29zX1JVJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3BhX0FyYWInLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcGFfQXJhYl9QSycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19wYV9BcmFiX1BLX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19wYV9BcmFiX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19wYV9HdXJ1JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3BhX0d1cnVfSU4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcGxfUEwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHNfQUYnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHNfQUZfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3BzX1BLJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3BzX1BLX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19wc191X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfQU8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfQ0gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfQ1YnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfR1EnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfR1cnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfTFUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfTU8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfTVonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfU1QnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcHRfVEwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcXUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcXVfQk8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcXVfRUMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcXVfUEUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcm0nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcm1fQ0gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcm4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcm5fQkknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcm9fTUQnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcm9fUk8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcm9mJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3JvZl9UWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ydV9CWScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ydV9LRycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ydV9LWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ydV9NRCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ydV9SVScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ydV9VQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19ydycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19yd19SVycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19yd2snLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfcndrX1RaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NhaCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zYWhfUlUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2FxJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NhcV9LRScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zYnAnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2JwX1RaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NkJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NkX1BLJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NkX1BLX3VfbnVfbGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zZF91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2VfRkknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2VfTk8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2VfU0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2VoJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NlaF9NWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zZXMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc2VzX01MJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NnJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NnX0NGJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NoaScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zaGlfTGF0bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zaGlfTGF0bl9NQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zaGlfVGZuZycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zaGlfVGZuZ19NQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zaV9MSycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19za19TSycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zbF9TSScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zbW4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc21uX0ZJJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NuX1pXJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NvJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NvX0RKJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NvX0VUJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NvX0tFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NvX1NPJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NxX0FMJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NxX01LJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NxX1hLJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0N5cmwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc3JfQ3lybF9CQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zcl9DeXJsX01FJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0N5cmxfUlMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc3JfQ3lybF9YSycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zcl9MYXRuX0JBJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3NyX0xhdG5fTUUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfc3JfTGF0bl9SUycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19zcl9MYXRuX1hLJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3N2X0FYJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3N2X0ZJJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3N2X1NFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3N3X0NEJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3N3X0tFJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3N3X1RaJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3N3X1VHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RhX0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RhX0xLJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RhX01ZJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RhX1NHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RlX0lOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RlbycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc190ZW9fS0UnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdGVvX1VHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RnJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RnX1RKJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RoX1RIJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RpJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RpX0VSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RpX0VUJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RrJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RrX1RNJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RvJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RvX1RPJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RyX0NZJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3RyX1RSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3R0JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3R0X1JVJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3R3cScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc190d3FfTkUnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdHptJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3R6bV9NQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc191ZycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc191Z19DTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc191a19VQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc191cl9JTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc191cl9JTl91X251X2xhdG4nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdXJfUEsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdXpfQXJhYicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc191el9BcmFiX0FGJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0FyYWJfQUZfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0FyYWJfdV9udV9sYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0N5cmwnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdXpfQ3lybF9VWicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc191el9MYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3V6X0xhdG5fVVonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdmFpJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3ZhaV9MYXRuJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3ZhaV9MYXRuX0xSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3ZhaV9WYWlpJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3ZhaV9WYWlpX0xSJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3ZpX1ZOJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3Z1bicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc192dW5fVFonLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfd2FlJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3dhZV9DSCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc193bycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc193b19TTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc194aCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc194aF9aQScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc194b2cnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfeG9nX1VHJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3lhdicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc195YXZfQ00nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfeWknLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfeWlfMDAxJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3lvJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3lvX0JKJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3lvX05HJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3l1ZScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc195dWVfSGFucycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc195dWVfSGFuc19DTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc195dWVfSGFudCcsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc195dWVfSGFudF9ISycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc196Z2gnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfemdoX01BJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3poX0hhbnMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfemhfSGFuc19DTicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW5zX0hLJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3poX0hhbnNfTU8nLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfemhfSGFuc19TRycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW50JywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3poX0hhbnRfSEsnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfemhfSGFudF9NTycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc196aF9IYW50X1RXJywgJ2dvb2cuaTE4bi5OdW1iZXJGb3JtYXRTeW1ib2xzX3p1X1pBJ10sIFsnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHMnLCAnZ29vZy5pMThuLk51bWJlckZvcm1hdFN5bWJvbHNfdV9udV9sYXRuJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL29yZGluYWxydWxlcy5qcycsIFsnZ29vZy5pMThuLm9yZGluYWxSdWxlcyddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL3BsdXJhbHJ1bGVzLmpzJywgWydnb29nLmkxOG4ucGx1cmFsUnVsZXMnXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9wbHVyYWxydWxlc190ZXN0LmpzJywgWydnb29nLmkxOG4ucGx1cmFsUnVsZXNUZXN0J10sIFsnZ29vZy5pMThuLnBsdXJhbFJ1bGVzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL3JlbGF0aXZlZGF0ZXRpbWVmb3JtYXQuanMnLCBbJ2dvb2cuaTE4bi5SZWxhdGl2ZURhdGVUaW1lRm9ybWF0J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuaTE4bi5Mb2NhbGVGZWF0dXJlJywgJ2dvb2cuaTE4bi5NZXNzYWdlRm9ybWF0JywgJ2dvb2cuaTE4bi5yZWxhdGl2ZURhdGVUaW1lU3ltYm9scyddLCB7J2xhbmcnOiAnZXM1JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vcmVsYXRpdmVkYXRldGltZWZvcm1hdF90ZXN0LmpzJywgWydnb29nLmkxOG4uUmVsYXRpdmVEYXRlVGltZUZvcm1hdFRlc3QnXSwgWydnb29nLmkxOG4uTG9jYWxlRmVhdHVyZScsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19hcl9FRycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19lbicsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19lcycsICdnb29nLmkxOG4uTnVtYmVyRm9ybWF0U3ltYm9sc19mYScsICdnb29nLmkxOG4uUmVsYXRpdmVEYXRlVGltZUZvcm1hdCcsICdnb29nLmkxOG4ucmVsYXRpdmVEYXRlVGltZVN5bWJvbHMnLCAnZ29vZy5pMThuLnJlbGF0aXZlRGF0ZVRpbWVTeW1ib2xzRXh0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL3JlbGF0aXZlZGF0ZXRpbWVzeW1ib2xzLmpzJywgWydnb29nLmkxOG4ucmVsYXRpdmVEYXRlVGltZVN5bWJvbHMnXSwgW10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi9yZWxhdGl2ZWRhdGV0aW1lc3ltYm9sc2V4dC5qcycsIFsnZ29vZy5pMThuLnJlbGF0aXZlRGF0ZVRpbWVTeW1ib2xzRXh0J10sIFsnZ29vZy5pMThuLnJlbGF0aXZlRGF0ZVRpbWVTeW1ib2xzJ10sIHsnbGFuZyc6ICdlczUnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi90aW1lem9uZS5qcycsIFsnZ29vZy5pMThuLlRpbWVab25lJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRhdGUuRGF0ZUxpa2UnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vdGltZXpvbmVfdGVzdC5qcycsIFsnZ29vZy5pMThuLlRpbWVab25lVGVzdCddLCBbJ2dvb2cuaTE4bi5UaW1lWm9uZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi91Y2hhci5qcycsIFsnZ29vZy5pMThuLnVDaGFyJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vdWNoYXIvbG9jYWxuYW1lZmV0Y2hlci5qcycsIFsnZ29vZy5pMThuLnVDaGFyLkxvY2FsTmFtZUZldGNoZXInXSwgWydnb29nLmkxOG4udUNoYXIuTmFtZUZldGNoZXInLCAnZ29vZy5pMThuLnVDaGFyTmFtZXMnLCAnZ29vZy5sb2cnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vdWNoYXIvbG9jYWxuYW1lZmV0Y2hlcl90ZXN0LmpzJywgWydnb29nLmkxOG4udUNoYXIuTG9jYWxOYW1lRmV0Y2hlclRlc3QnXSwgWydnb29nLmkxOG4udUNoYXIuTG9jYWxOYW1lRmV0Y2hlcicsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vdWNoYXIvbmFtZWZldGNoZXIuanMnLCBbJ2dvb2cuaTE4bi51Q2hhci5OYW1lRmV0Y2hlciddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vdWNoYXIvcmVtb3RlbmFtZWZldGNoZXIuanMnLCBbJ2dvb2cuaTE4bi51Q2hhci5SZW1vdGVOYW1lRmV0Y2hlciddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLlVyaScsICdnb29nLmV2ZW50cycsICdnb29nLmkxOG4udUNoYXInLCAnZ29vZy5pMThuLnVDaGFyLk5hbWVGZXRjaGVyJywgJ2dvb2cubG9nJywgJ2dvb2cubmV0LkV2ZW50VHlwZScsICdnb29nLm5ldC5YaHJJbyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaTE4bi91Y2hhci9yZW1vdGVuYW1lZmV0Y2hlcl90ZXN0LmpzJywgWydnb29nLmkxOG4udUNoYXIuUmVtb3RlTmFtZUZldGNoZXJUZXN0J10sIFsnZ29vZy5pMThuLnVDaGFyLlJlbW90ZU5hbWVGZXRjaGVyJywgJ2dvb2cubmV0LlhocklvJywgJ2dvb2cudGVzdGluZy5uZXQuWGhySW8nLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdpMThuL3VjaGFyX3Rlc3QuanMnLCBbJ2dvb2cuaTE4bi51Q2hhclRlc3QnXSwgWydnb29nLmkxOG4udUNoYXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vdWNoYXJuYW1lcy5qcycsIFsnZ29vZy5pMThuLnVDaGFyTmFtZXMnXSwgWydnb29nLmkxOG4udUNoYXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2kxOG4vdWNoYXJuYW1lc190ZXN0LmpzJywgWydnb29nLmkxOG4udUNoYXJOYW1lc1Rlc3QnXSwgWydnb29nLmkxOG4udUNoYXJOYW1lcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaXRlci9lczYuanMnLCBbJ2dvb2cuaXRlci5lczYnXSwgWydnb29nLml0ZXIuSXRlcmFibGUnLCAnZ29vZy5pdGVyLkl0ZXJhdG9yJywgJ2dvb2cuaXRlci5TdG9wSXRlcmF0aW9uJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaXRlci9lczZfdGVzdC5qcycsIFsnZ29vZy5pdGVyLmVzNlRlc3QnXSwgWydnb29nLml0ZXInLCAnZ29vZy5pdGVyLmVzNicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaXRlci9pdGVyLmpzJywgWydnb29nLml0ZXInLCAnZ29vZy5pdGVyLkl0ZXJhYmxlJywgJ2dvb2cuaXRlci5JdGVyYXRvcicsICdnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbiddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cubWF0aCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnaXRlci9pdGVyX3Rlc3QuanMnLCBbJ2dvb2cuaXRlclRlc3QnXSwgWydnb29nLml0ZXInLCAnZ29vZy5pdGVyLkl0ZXJhdG9yJywgJ2dvb2cuaXRlci5TdG9wSXRlcmF0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdqc29uL2h5YnJpZC5qcycsIFsnZ29vZy5qc29uLmh5YnJpZCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmpzb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2pzb24vaHlicmlkX3Rlc3QuanMnLCBbJ2dvb2cuanNvbi5oeWJyaWRUZXN0J10sIFsnZ29vZy5qc29uJywgJ2dvb2cuanNvbi5oeWJyaWQnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdqc29uL2pzb24uanMnLCBbJ2dvb2cuanNvbicsICdnb29nLmpzb24uUmVwbGFjZXInLCAnZ29vZy5qc29uLlJldml2ZXInLCAnZ29vZy5qc29uLlNlcmlhbGl6ZXInXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnanNvbi9qc29uX3BlcmYuanMnLCBbJ2dvb2cuanNvblBlcmYnXSwgWydnb29nLmRvbScsICdnb29nLmpzb24nLCAnZ29vZy5tYXRoJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy5QZXJmb3JtYW5jZVRhYmxlJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5qc3VuaXQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2pzb24vanNvbl90ZXN0LmpzJywgWydnb29nLmpzb25UZXN0J10sIFsnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5qc29uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdqc29uL2pzb25hYmxlLmpzJywgWydnb29nLmpzb24uSnNvbmFibGUnXSwgW10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnanNvbi9uYXRpdmVqc29ucHJvY2Vzc29yLmpzJywgWydnb29nLmpzb24uTmF0aXZlSnNvblByb2Nlc3NvciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmpzb24uUHJvY2Vzc29yJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdqc29uL3Byb2Nlc3Nvci5qcycsIFsnZ29vZy5qc29uLlByb2Nlc3NvciddLCBbJ2dvb2cuc3RyaW5nLlBhcnNlcicsICdnb29nLnN0cmluZy5TdHJpbmdpZmllciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnanNvbi9wcm9jZXNzb3JfdGVzdC5qcycsIFsnZ29vZy5qc29uLnByb2Nlc3NvclRlc3QnXSwgWydnb29nLmpzb24uTmF0aXZlSnNvblByb2Nlc3NvcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9jb2xsZWN0aW9ucy9pdGVyYWJsZXMuanMnLCBbJ2dvb2cubGFicy5jb2xsZWN0aW9ucy5pdGVyYWJsZXMnXSwgW10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9jb2xsZWN0aW9ucy9pdGVyYWJsZXNfdGVzdC5qcycsIFsnZ29vZy5sYWJzLml0ZXJhYmxlVGVzdCddLCBbJ2dvb2cubGFicy5jb2xsZWN0aW9ucy5pdGVyYWJsZXMnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL2RvbS9wYWdldmlzaWJpbGl0eW1vbml0b3IuanMnLCBbJ2dvb2cubGFicy5kb20uUGFnZVZpc2liaWxpdHlFdmVudCcsICdnb29nLmxhYnMuZG9tLlBhZ2VWaXNpYmlsaXR5TW9uaXRvcicsICdnb29nLmxhYnMuZG9tLlBhZ2VWaXNpYmlsaXR5U3RhdGUnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS52ZW5kb3InLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubWVtb2l6ZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9kb20vcGFnZXZpc2liaWxpdHltb25pdG9yX3Rlc3QuanMnLCBbJ2dvb2cubGFicy5kb20uUGFnZVZpc2liaWxpdHlNb25pdG9yVGVzdCddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cubGFicy5kb20uUGFnZVZpc2liaWxpdHlNb25pdG9yJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvZXZlbnRzL25vbmRpc3Bvc2FibGVldmVudHRhcmdldC5qcycsIFsnZ29vZy5sYWJzLmV2ZW50cy5Ob25EaXNwb3NhYmxlRXZlbnRUYXJnZXQnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5MaXN0ZW5hYmxlJywgJ2dvb2cuZXZlbnRzLkxpc3RlbmVyTWFwJywgJ2dvb2cub2JqZWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL2V2ZW50cy9ub25kaXNwb3NhYmxlZXZlbnR0YXJnZXRfdGVzdC5qcycsIFsnZ29vZy5sYWJzLmV2ZW50cy5Ob25EaXNwb3NhYmxlRXZlbnRUYXJnZXRUZXN0J10sIFsnZ29vZy5ldmVudHMuTGlzdGVuYWJsZScsICdnb29nLmV2ZW50cy5ldmVudFRhcmdldFRlc3RlcicsICdnb29nLmxhYnMuZXZlbnRzLk5vbkRpc3Bvc2FibGVFdmVudFRhcmdldCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9ldmVudHMvbm9uZGlzcG9zYWJsZWV2ZW50dGFyZ2V0X3ZpYV9nb29nZXZlbnRzX3Rlc3QuanMnLCBbJ2dvb2cubGFicy5ldmVudHMuTm9uRGlzcG9zYWJsZUV2ZW50VGFyZ2V0R29vZ0V2ZW50c1Rlc3QnXSwgWydnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5ldmVudFRhcmdldFRlc3RlcicsICdnb29nLmxhYnMuZXZlbnRzLk5vbkRpc3Bvc2FibGVFdmVudFRhcmdldCcsICdnb29nLnRlc3RpbmcnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvZXZlbnRzL3RvdWNoLmpzJywgWydnb29nLmxhYnMuZXZlbnRzLnRvdWNoJywgJ2dvb2cubGFicy5ldmVudHMudG91Y2guVG91Y2hEYXRhJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL2V2ZW50cy90b3VjaF90ZXN0LmpzJywgWydnb29nLmxhYnMuZXZlbnRzLnRvdWNoVGVzdCddLCBbJ2dvb2cubGFicy5ldmVudHMudG91Y2gnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvZm9ybWF0L2Nzdi5qcycsIFsnZ29vZy5sYWJzLmZvcm1hdC5jc3YnLCAnZ29vZy5sYWJzLmZvcm1hdC5jc3YuUGFyc2VFcnJvcicsICdnb29nLmxhYnMuZm9ybWF0LmNzdi5Ub2tlbiddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGVidWcuRXJyb3InLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcubmV3bGluZXMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvZm9ybWF0L2Nzdl90ZXN0LmpzJywgWydnb29nLmxhYnMuZm9ybWF0LmNzdlRlc3QnXSwgWydnb29nLmxhYnMuZm9ybWF0LmNzdicsICdnb29nLmxhYnMuZm9ybWF0LmNzdi5QYXJzZUVycm9yJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL2kxOG4vbGlzdGZvcm1hdC5qcycsIFsnZ29vZy5sYWJzLmkxOG4uR2VuZGVySW5mbycsICdnb29nLmxhYnMuaTE4bi5HZW5kZXJJbmZvLkdlbmRlcicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL2kxOG4vbGlzdGZvcm1hdF90ZXN0LmpzJywgWydnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0VGVzdCddLCBbJ2dvb2cubGFicy5pMThuLkdlbmRlckluZm8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9scycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19lbCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19lbicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19mcicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tbCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc196dScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9pMThuL2xpc3RzeW1ib2xzLmpzJywgWydnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9scycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hZicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hbScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hcicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hcl9EWicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hcl9FRycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19heicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19iZScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19iZycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ibicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19icicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19icycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jYScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jaHInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfY3MnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfY3knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGVfQVQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGVfQ0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZWwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQVUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQ0EnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fR0InLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fSUUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fSU4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU0cnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVVMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fWkEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZXMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZXNfNDE5JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0VTJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX01YJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1VTJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2V0JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2V1JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ZhJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ZpJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ZpbCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19mcicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19mcl9DQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19nYScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19nbCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19nc3cnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZ3UnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfaGF3JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2hlJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2hpJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2hyJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2h1JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2h5JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2lkJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2luJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2lzJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2l0JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2l3JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2phJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2thJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2trJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ttJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tuJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tvJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2t5JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2xuJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2xvJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2x0JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2x2JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21rJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21sJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21uJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21vJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21yJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21zJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX210JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX215JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25iJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25lJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25sJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25vJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25vX05PJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX29yJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3BhJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3BsJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3B0JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3B0X0JSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3B0X1BUJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3JvJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3J1JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NoJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NpJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NrJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NsJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NxJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NyJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NyX0xhdG4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc3YnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc3cnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdGEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdGUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdGgnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdGwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdHInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdWsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdXInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdXonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdmknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfemgnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfemhfQ04nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfemhfSEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfemhfVFcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfenUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL2kxOG4vbGlzdHN5bWJvbHNleHQuanMnLCBbJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzRXh0JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FmX05BJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FmX1pBJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FncScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hZ3FfQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYWsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYWtfR0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYW1fRVQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYXJfMDAxJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0FFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0JIJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0RKJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0VIJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0VSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0lMJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0lRJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0pPJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0tNJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0tXJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0xCJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX0xZJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX01BJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX01SJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX09NJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1BTJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1FBJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1NBJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1NEJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1NPJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1NTJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1NZJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1REJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1ROJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1hCJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FyX1lFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FzJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FzX0lOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FzYScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hc2FfVFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYXN0JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2FzdF9FUycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hel9DeXJsJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2F6X0N5cmxfQVonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYXpfTGF0bicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19hel9MYXRuX0FaJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JhcycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19iYXNfQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYmVfQlknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYmVtJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JlbV9aTScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19iZXonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYmV6X1RaJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JnX0JHJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JtJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JtX01MJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JuX0JEJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JuX0lOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JvJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JvX0NOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JvX0lOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JyX0ZSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JyeCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19icnhfSU4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYnNfQ3lybCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ic19DeXJsX0JBJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2JzX0xhdG4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfYnNfTGF0bl9CQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jYV9BRCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jYV9FUycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jYV9GUicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jYV9JVCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jY3AnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfY2NwX0JEJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2NjcF9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jZScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jZV9SVScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jZWInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfY2ViX1BIJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2NnZycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19jZ2dfVUcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfY2hyX1VTJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2NrYicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ja2JfSVEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfY2tiX0lSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2NzX0NaJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2N5X0dCJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2RhX0RLJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2RhX0dMJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2RhdicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19kYXZfS0UnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGVfQkUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGVfREUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGVfSVQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGVfTEknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGVfTFUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZGplJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2RqZV9ORScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19kc2InLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZHNiX0RFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2R1YScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19kdWFfQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZHlvJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2R5b19TTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19keicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19kel9CVCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19lYnUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZWJ1X0tFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VlJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VlX0dIJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VlX1RHJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VsX0NZJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VsX0dSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VuXzAwMScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19lbl8xNTAnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQUUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQUcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQUknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQVMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQVQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQkInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQkUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQkknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQk0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQlMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQlcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQlonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQ0MnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQ0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQ0snLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQ1gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fQ1knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fREUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fREcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fREsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fRE0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fRVInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fRkknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fRkonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fRksnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fRk0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fR0QnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fR0cnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fR0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fR0knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fR00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fR1UnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fR1knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fSEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fSUwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fSU0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fSU8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fSkUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fSk0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fS0UnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fS0knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fS04nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fS1knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTEMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTFInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTFMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTUcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTUgnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTU8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTVAnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTVMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTVQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTVUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTVcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTVknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTkEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTkYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTkcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTkwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTlInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTlUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fTlonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fUEcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fUEgnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fUEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fUE4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fUFInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fUFcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fUlcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU0InLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU0MnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU0QnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU0UnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU0knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU0wnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU1MnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU1gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fU1onLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVEMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVE8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVFQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVFYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVUcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVU0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVVNfUE9TSVgnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVkMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVkcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVkknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fVlUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fV1MnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fWEEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fWk0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW5fWlcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZW9fMDAxJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0FSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0JPJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0JSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0JaJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0NMJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0NPJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0NSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0NVJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0RPJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0VBJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0VDJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0dRJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0dUJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0hOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX0lDJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX05JJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1BBJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1BFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1BIJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1BSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1BZJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1NWJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1VZJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2VzX1ZFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2V0X0VFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2V1X0VTJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2V3bycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ld29fQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZmFfQUYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZmFfSVInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZmYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZmZfTGF0bicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19mZl9MYXRuX0JGJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ZmX0xhdG5fQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZmZfTGF0bl9HSCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19mZl9MYXRuX0dNJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ZmX0xhdG5fR04nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZmZfTGF0bl9HVycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19mZl9MYXRuX0xSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ZmX0xhdG5fTVInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZmZfTGF0bl9ORScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19mZl9MYXRuX05HJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ZmX0xhdG5fU0wnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZmZfTGF0bl9TTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19maV9GSScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19maWxfUEgnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZm8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZm9fREsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZm9fRk8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQkUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQkYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQkknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQkonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQkwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQ0QnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQ0YnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQ0cnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQ0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQ0knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfREonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfRFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfRlInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfR0EnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfR0YnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfR04nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfR1AnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfR1EnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfSFQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfS00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTFUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTUEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTUMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTUYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTUcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTUwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTVEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTVInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTVUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTkMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfTkUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfUEYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfUE0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfUkUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfUlcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfU0MnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfU04nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfU1knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfVEQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfVEcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfVE4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfVlUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfV0YnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnJfWVQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZnVyJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2Z1cl9JVCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19meScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19meV9OTCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19nYV9JRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19nZCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19nZF9HQicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19nbF9FUycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19nc3dfQ0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZ3N3X0ZSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2dzd19MSScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ndV9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ndXonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfZ3V6X0tFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2d2JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2d2X0lNJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2hhJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2hhX0dIJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2hhX05FJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2hhX05HJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2hhd19VUycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19oZV9JTCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19oaV9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ocl9CQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ocl9IUicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19oc2InLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfaHNiX0RFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2h1X0hVJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2h5X0FNJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2lhJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2lhXzAwMScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19pZF9JRCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19pZycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19pZ19ORycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19paScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19paV9DTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19pc19JUycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19pdF9DSCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19pdF9JVCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19pdF9TTScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19pdF9WQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19qYV9KUCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19qZ28nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfamdvX0NNJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2ptYycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19qbWNfVFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfanYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfanZfSUQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa2FfR0UnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa2FiJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2thYl9EWicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rYW0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa2FtX0tFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tkZScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rZGVfVFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa2VhJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tlYV9DVicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19raHEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa2hxX01MJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tpJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tpX0tFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2trX0taJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2traicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ra2pfQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa2wnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa2xfR0wnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa2xuJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tsbl9LRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rbV9LSCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rbl9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rb19LUCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rb19LUicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rb2snLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa29rX0lOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tzJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tzX0lOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tzYicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rc2JfVFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa3NmJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2tzZl9DTScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19rc2gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfa3NoX0RFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2t1JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2t1X1RSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2t3JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2t3X0dCJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2t5X0tHJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2xhZycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sYWdfVFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbGInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbGJfTFUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbGcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbGdfVUcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbGt0JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2xrdF9VUycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sbl9BTycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sbl9DRCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sbl9DRicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sbl9DRycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sb19MQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19scmMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbHJjX0lRJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2xyY19JUicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sdF9MVCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sdScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sdV9DRCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sdW8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbHVvX0tFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX2x1eScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19sdXlfS0UnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbHZfTFYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbWFzJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21hc19LRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tYXNfVFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbWVyJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21lcl9LRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tZmUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbWZlX01VJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21nJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21nX01HJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21naCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tZ2hfTVonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbWdvJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX21nb19DTScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19taScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19taV9OWicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ta19NSycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tbF9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tbl9NTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tcl9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tc19CTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tc19NWScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tc19TRycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tdF9NVCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tdWEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbXVhX0NNJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX215X01NJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX216bicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19tem5fSVInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbmFxJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25hcV9OQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19uYl9OTycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19uYl9TSicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19uZCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19uZF9aVycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19uZHMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbmRzX0RFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25kc19OTCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19uZV9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19uZV9OUCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubF9BVycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubF9CRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubF9CUScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubF9DVycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubF9OTCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubF9TUicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubF9TWCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubWcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbm1nX0NNJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25uJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25uX05PJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX25uaCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ubmhfQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbnVzJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX251c19TUycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ueW4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfbnluX1VHJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX29tJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX29tX0VUJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX29tX0tFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX29yX0lOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX29zJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX29zX0dFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX29zX1JVJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3BhX0FyYWInLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcGFfQXJhYl9QSycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19wYV9HdXJ1JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3BhX0d1cnVfSU4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcGxfUEwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHNfQUYnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHNfUEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfQU8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfQ0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfQ1YnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfR1EnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfR1cnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfTFUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfTU8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfTVonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfU1QnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcHRfVEwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcXUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcXVfQk8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcXVfRUMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcXVfUEUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcm0nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcm1fQ0gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcm4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcm5fQkknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcm9fTUQnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcm9fUk8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcm9mJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3JvZl9UWicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ydV9CWScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ydV9LRycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ydV9LWicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ydV9NRCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ydV9SVScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ydV9VQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19ydycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19yd19SVycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19yd2snLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfcndrX1RaJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NhaCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zYWhfUlUnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2FxJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NhcV9LRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zYnAnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2JwX1RaJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NkJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NkX1BLJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NlJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NlX0ZJJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NlX05PJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NlX1NFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NlaCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zZWhfTVonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2VzJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3Nlc19NTCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zZycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zZ19DRicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zaGknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2hpX0xhdG4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2hpX0xhdG5fTUEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2hpX1RmbmcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2hpX1RmbmdfTUEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2lfTEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2tfU0snLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc2xfU0knLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc21uJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3Ntbl9GSScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zbicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zbl9aVycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zbycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zb19ESicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zb19FVCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zb19LRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zb19TTycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zcV9BTCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zcV9NSycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zcV9YSycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zcl9DeXJsJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NyX0N5cmxfQkEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc3JfQ3lybF9NRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zcl9DeXJsX1JTJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NyX0N5cmxfWEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc3JfTGF0bl9CQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zcl9MYXRuX01FJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3NyX0xhdG5fUlMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfc3JfTGF0bl9YSycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zdl9BWCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zdl9GSScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zdl9TRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zd19DRCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zd19LRScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zd19UWicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc19zd19VRycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190YV9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190YV9MSycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190YV9NWScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190YV9TRycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190ZV9JTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190ZW8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdGVvX0tFJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3Rlb19VRycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190ZycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190Z19USicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190aF9USCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190aScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190aV9FUicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190aV9FVCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190aycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190a19UTScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190bycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190b19UTycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190cl9DWScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190cl9UUicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190dCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190dF9SVScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190d3EnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdHdxX05FJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3R6bScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc190em1fTUEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdWcnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdWdfQ04nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdWtfVUEnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdXJfSU4nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdXJfUEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdXpfQXJhYicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc191el9BcmFiX0FGJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3V6X0N5cmwnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdXpfQ3lybF9VWicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc191el9MYXRuJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3V6X0xhdG5fVVonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfdmFpJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3ZhaV9MYXRuJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3ZhaV9MYXRuX0xSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3ZhaV9WYWlpJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3ZhaV9WYWlpX0xSJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3ZpX1ZOJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3Z1bicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc192dW5fVFonLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfd2FlJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3dhZV9DSCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc193bycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc193b19TTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc194aCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc194aF9aQScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc194b2cnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfeG9nX1VHJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3lhdicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc195YXZfQ00nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfeWknLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfeWlfMDAxJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3lvJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3lvX0JKJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3lvX05HJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3l1ZScsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc195dWVfSGFucycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc195dWVfSGFuc19DTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc195dWVfSGFudCcsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc195dWVfSGFudF9ISycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc196Z2gnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfemdoX01BJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3poX0hhbnMnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfemhfSGFuc19DTicsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc196aF9IYW5zX0hLJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3poX0hhbnNfTU8nLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfemhfSGFuc19TRycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc196aF9IYW50JywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3poX0hhbnRfSEsnLCAnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHNfemhfSGFudF9NTycsICdnb29nLmxhYnMuaTE4bi5MaXN0Rm9ybWF0U3ltYm9sc196aF9IYW50X1RXJywgJ2dvb2cubGFicy5pMThuLkxpc3RGb3JtYXRTeW1ib2xzX3p1X1pBJ10sIFsnZ29vZy5sYWJzLmkxOG4uTGlzdEZvcm1hdFN5bWJvbHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbW9jay9tb2NrLmpzJywgWydnb29nLmxhYnMubW9jaycsICdnb29nLmxhYnMubW9jay5UaW1lb3V0RXJyb3InLCAnZ29vZy5sYWJzLm1vY2suVmVyaWZpY2F0aW9uRXJyb3InXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRlYnVnJywgJ2dvb2cuZGVidWcuRXJyb3InLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5sYWJzLm1vY2sudGltZW91dCcsICdnb29nLmxhYnMubW9jay50aW1lb3V0LlRpbWVvdXRNb2RlJywgJ2dvb2cubGFicy5tb2NrLnZlcmlmaWNhdGlvbicsICdnb29nLmxhYnMubW9jay52ZXJpZmljYXRpb24uQmFzZVZlcmlmaWNhdGlvbk1vZGUnLCAnZ29vZy5sYWJzLm1vY2sudmVyaWZpY2F0aW9uLlZlcmlmaWNhdGlvbk1vZGUnLCAnZ29vZy5vYmplY3QnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL21vY2svbW9ja190ZXN0LmpzJywgWydnb29nLmxhYnMubW9ja1Rlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cubGFicy5tb2NrJywgJ2dvb2cubGFicy5tb2NrLlRpbWVvdXRFcnJvcicsICdnb29nLmxhYnMubW9jay5WZXJpZmljYXRpb25FcnJvcicsICdnb29nLmxhYnMubW9jay50aW1lb3V0JywgJ2dvb2cubGFicy5tb2NrLnZlcmlmaWNhdGlvbicsICdnb29nLmxhYnMudGVzdGluZy5Bbnl0aGluZ01hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuR3JlYXRlclRoYW5NYXRjaGVyJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy5qc3VuaXQnXSwgeydsYW5nJzogJ2VzOCd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL21vY2svdGltZW91dG1vZGUuanMnLCBbJ2dvb2cubGFicy5tb2NrLnRpbWVvdXQnLCAnZ29vZy5sYWJzLm1vY2sudGltZW91dC5UaW1lb3V0TW9kZSddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL21vY2svdmVyaWZpY2F0aW9ubW9kZS5qcycsIFsnZ29vZy5sYWJzLm1vY2sudmVyaWZpY2F0aW9uJywgJ2dvb2cubGFicy5tb2NrLnZlcmlmaWNhdGlvbi5CYXNlVmVyaWZpY2F0aW9uTW9kZScsICdnb29nLmxhYnMubW9jay52ZXJpZmljYXRpb24uVmVyaWZpY2F0aW9uTW9kZSddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL21vY2svdmVyaWZpY2F0aW9ubW9kZV90ZXN0LmpzJywgWydnb29nLmxhYnMubW9jay5WZXJpZmljYXRpb25Nb2RlVGVzdCddLCBbJ2dvb2cubGFicy5tb2NrLnZlcmlmaWNhdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvaW1hZ2UuanMnLCBbJ2dvb2cubGFicy5uZXQuaW1hZ2UnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cubmV0LkV2ZW50VHlwZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvaW1hZ2VfdGVzdC5qcycsIFsnZ29vZy5sYWJzLm5ldC5pbWFnZVRlc3QnXSwgWydnb29nLmxhYnMubmV0LmltYWdlJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbmV0L3dlYmNoYW5uZWwuanMnLCBbJ2dvb2cubmV0LldlYkNoYW5uZWwnXSwgWydnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5MaXN0ZW5hYmxlJywgJ2dvb2cubmV0LlhtbEh0dHBGYWN0b3J5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC93ZWJjaGFubmVsL2Jhc2V0ZXN0Y2hhbm5lbC5qcycsIFsnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkJhc2VUZXN0Q2hhbm5lbCddLCBbJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5DaGFubmVsJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5DaGFubmVsUmVxdWVzdCcsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2ViQ2hhbm5lbERlYnVnJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5yZXF1ZXN0U3RhdHMnLCAnZ29vZy5uZXQuV2ViQ2hhbm5lbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvd2ViY2hhbm5lbC9jaGFubmVsLmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuQ2hhbm5lbCddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC93ZWJjaGFubmVsL2NoYW5uZWxyZXF1ZXN0LmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuQ2hhbm5lbFJlcXVlc3QnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuYXN5bmMuVGhyb3R0bGUnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5DaGFubmVsJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XZWJDaGFubmVsRGVidWcnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLmVudmlyb25tZW50JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5yZXF1ZXN0U3RhdHMnLCAnZ29vZy5uZXQuRXJyb3JDb2RlJywgJ2dvb2cubmV0LkV2ZW50VHlwZScsICdnb29nLm5ldC5XZWJDaGFubmVsJywgJ2dvb2cubmV0LlhtbEh0dHAnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbmV0L3dlYmNoYW5uZWwvY2hhbm5lbHJlcXVlc3RfdGVzdC5qcycsIFsnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLmNoYW5uZWxSZXF1ZXN0VGVzdCddLCBbJ2dvb2cuVXJpJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5DaGFubmVsUmVxdWVzdCcsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2ViQ2hhbm5lbERlYnVnJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5yZXF1ZXN0U3RhdHMnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLnJlcXVlc3RTdGF0cy5TZXJ2ZXJSZWFjaGFiaWxpdHknLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcubmV0LlhocklvJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvd2ViY2hhbm5lbC9jb25uZWN0aW9uc3RhdGUuanMnLCBbJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5Db25uZWN0aW9uU3RhdGUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC93ZWJjaGFubmVsL2Vudmlyb25tZW50LmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuZW52aXJvbm1lbnQnXSwgWydnb29nLnVzZXJBZ2VudCddLCB7J21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbmV0L3dlYmNoYW5uZWwvZW52aXJvbm1lbnRfdGVzdC5qcycsIFsnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkVudmlyb25tZW50VGVzdCddLCBbJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5lbnZpcm9ubWVudCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvd2ViY2hhbm5lbC9mb3J3YXJkY2hhbm5lbHJlcXVlc3Rwb29sLmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuRm9yd2FyZENoYW5uZWxSZXF1ZXN0UG9vbCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkNoYW5uZWxSZXF1ZXN0JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XaXJlJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RydWN0cy5TZXQnXSwgeydtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC93ZWJjaGFubmVsL2ZvcndhcmRjaGFubmVscmVxdWVzdHBvb2xfdGVzdC5qcycsIFsnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkZvcndhcmRDaGFubmVsUmVxdWVzdFBvb2xUZXN0J10sIFsnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkNoYW5uZWxSZXF1ZXN0JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5Gb3J3YXJkQ2hhbm5lbFJlcXVlc3RQb29sJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC93ZWJjaGFubmVsL25ldHV0aWxzLmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwubmV0VXRpbHMnXSwgWydnb29nLlVyaScsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2ViQ2hhbm5lbERlYnVnJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC93ZWJjaGFubmVsL3JlcXVlc3RzdGF0cy5qcycsIFsnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLnJlcXVlc3RTdGF0cycsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwucmVxdWVzdFN0YXRzLkV2ZW50JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5yZXF1ZXN0U3RhdHMuU2VydmVyUmVhY2hhYmlsaXR5JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5yZXF1ZXN0U3RhdHMuU2VydmVyUmVhY2hhYmlsaXR5RXZlbnQnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLnJlcXVlc3RTdGF0cy5TdGF0JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5yZXF1ZXN0U3RhdHMuU3RhdEV2ZW50JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5yZXF1ZXN0U3RhdHMuVGltaW5nRXZlbnQnXSwgWydnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvd2ViY2hhbm5lbC93ZWJjaGFubmVsYmFzZS5qcycsIFsnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLldlYkNoYW5uZWxCYXNlJ10sIFsnZ29vZy5VcmknLCAnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5hc3luYy5ydW4nLCAnZ29vZy5qc29uJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5CYXNlVGVzdENoYW5uZWwnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkNoYW5uZWwnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkNoYW5uZWxSZXF1ZXN0JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5Db25uZWN0aW9uU3RhdGUnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkZvcndhcmRDaGFubmVsUmVxdWVzdFBvb2wnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLldlYkNoYW5uZWxEZWJ1ZycsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2lyZScsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2lyZVY4JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5uZXRVdGlscycsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwucmVxdWVzdFN0YXRzJywgJ2dvb2cubmV0LldlYkNoYW5uZWwnLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy5uZXQuWG1sSHR0cEZhY3RvcnknLCAnZ29vZy5uZXQucnBjLkh0dHBDb3JzJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RydWN0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvd2ViY2hhbm5lbC93ZWJjaGFubmVsYmFzZV90ZXN0LmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwud2ViQ2hhbm5lbEJhc2VUZXN0J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuanNvbicsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuQ2hhbm5lbFJlcXVlc3QnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkZvcndhcmRDaGFubmVsUmVxdWVzdFBvb2wnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLldlYkNoYW5uZWxCYXNlJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XZWJDaGFubmVsQmFzZVRyYW5zcG9ydCcsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2ViQ2hhbm5lbERlYnVnJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XaXJlJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5uZXRVdGlscycsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwucmVxdWVzdFN0YXRzJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5yZXF1ZXN0U3RhdHMuU3RhdCcsICdnb29nLnN0cnVjdHMuTWFwJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbmV0L3dlYmNoYW5uZWwvd2ViY2hhbm5lbGJhc2V0cmFuc3BvcnQuanMnLCBbJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XZWJDaGFubmVsQmFzZVRyYW5zcG9ydCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmpzb24nLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLkNoYW5uZWxSZXF1ZXN0JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XZWJDaGFubmVsQmFzZScsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2lyZScsICdnb29nLmxvZycsICdnb29nLm5ldC5XZWJDaGFubmVsJywgJ2dvb2cubmV0LldlYkNoYW5uZWxUcmFuc3BvcnQnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcucGF0aCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvd2ViY2hhbm5lbC93ZWJjaGFubmVsYmFzZXRyYW5zcG9ydF90ZXN0LmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwud2ViQ2hhbm5lbEJhc2VUcmFuc3BvcnRUZXN0J10sIFsnZ29vZy5ldmVudHMnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5qc29uJywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5DaGFubmVsUmVxdWVzdCcsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2ViQ2hhbm5lbEJhc2UnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLldlYkNoYW5uZWxCYXNlVHJhbnNwb3J0JywgJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XaXJlJywgJ2dvb2cubmV0LldlYkNoYW5uZWwnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbmV0L3dlYmNoYW5uZWwvd2ViY2hhbm5lbGRlYnVnLmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2ViQ2hhbm5lbERlYnVnJ10sIFsnZ29vZy5qc29uJywgJ2dvb2cubG9nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC93ZWJjaGFubmVsL3dpcmUuanMnLCBbJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XaXJlJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbmV0L3dlYmNoYW5uZWwvd2lyZXY4LmpzJywgWydnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2lyZVY4J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuanNvbicsICdnb29nLmpzb24uTmF0aXZlSnNvblByb2Nlc3NvcicsICdnb29nLmxhYnMubmV0LndlYkNoYW5uZWwuV2lyZScsICdnb29nLnN0cnVjdHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbmV0L3dlYmNoYW5uZWwvd2lyZXY4X3Rlc3QuanMnLCBbJ2dvb2cubGFicy5uZXQud2ViQ2hhbm5lbC5XaXJlVjhUZXN0J10sIFsnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLldpcmVWOCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9uZXQvd2ViY2hhbm5lbHRyYW5zcG9ydC5qcycsIFsnZ29vZy5uZXQuV2ViQ2hhbm5lbFRyYW5zcG9ydCddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvbmV0L3dlYmNoYW5uZWx0cmFuc3BvcnRmYWN0b3J5LmpzJywgWydnb29nLm5ldC5jcmVhdGVXZWJDaGFubmVsVHJhbnNwb3J0J10sIFsnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5sYWJzLm5ldC53ZWJDaGFubmVsLldlYkNoYW5uZWxCYXNlVHJhbnNwb3J0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC94aHIuanMnLCBbJ2dvb2cubGFicy5uZXQueGhyJywgJ2dvb2cubGFicy5uZXQueGhyLkVycm9yJywgJ2dvb2cubGFicy5uZXQueGhyLkh0dHBFcnJvcicsICdnb29nLmxhYnMubmV0Lnhoci5PcHRpb25zJywgJ2dvb2cubGFicy5uZXQueGhyLlBvc3REYXRhJywgJ2dvb2cubGFicy5uZXQueGhyLlJlc3BvbnNlVHlwZScsICdnb29nLmxhYnMubmV0Lnhoci5UaW1lb3V0RXJyb3InXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGVidWcuRXJyb3InLCAnZ29vZy5uZXQuSHR0cFN0YXR1cycsICdnb29nLm5ldC5YbWxIdHRwJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXJpLnV0aWxzJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL25ldC94aHJfdGVzdC5qcycsIFsnZ29vZy5sYWJzLm5ldC54aHJUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmxhYnMubmV0LnhocicsICdnb29nLm5ldC5XcmFwcGVyWG1sSHR0cEZhY3RvcnknLCAnZ29vZy5uZXQuWGhyTGlrZScsICdnb29nLm5ldC5YbWxIdHRwJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5qc3VuaXQnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3B1YnN1Yi9icm9hZGNhc3RwdWJzdWIuanMnLCBbJ2dvb2cubGFicy5wdWJzdWIuQnJvYWRjYXN0UHViU3ViJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuVGltZXInLCAnZ29vZy5hcnJheScsICdnb29nLmFzeW5jLnJ1bicsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubG9nJywgJ2dvb2cubWF0aCcsICdnb29nLnB1YnN1Yi5QdWJTdWInLCAnZ29vZy5zdG9yYWdlLlN0b3JhZ2UnLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5IVE1MNUxvY2FsU3RvcmFnZScsICdnb29nLnN0cmluZycsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9wdWJzdWIvYnJvYWRjYXN0cHVic3ViX3Rlc3QuanMnLCBbJ2dvb2cubGFicy5wdWJzdWIuQnJvYWRjYXN0UHViU3ViVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kZWJ1Zy5Mb2dnZXInLCAnZ29vZy5qc29uJywgJ2dvb2cubGFicy5wdWJzdWIuQnJvYWRjYXN0UHViU3ViJywgJ2dvb2cuc3RvcmFnZS5TdG9yYWdlJywgJ2dvb2cuc3RydWN0cy5NYXAnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50JywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5Bcmd1bWVudE1hdGNoZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3N0b3JhZ2UvYm91bmRlZGNvbGxlY3RhYmxlc3RvcmFnZS5qcycsIFsnZ29vZy5sYWJzLnN0b3JhZ2UuQm91bmRlZENvbGxlY3RhYmxlU3RvcmFnZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuaXRlcicsICdnb29nLnN0b3JhZ2UuQ29sbGVjdGFibGVTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5FcnJvckNvZGUnLCAnZ29vZy5zdG9yYWdlLkV4cGlyaW5nU3RvcmFnZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9zdG9yYWdlL2JvdW5kZWRjb2xsZWN0YWJsZXN0b3JhZ2VfdGVzdC5qcycsIFsnZ29vZy5sYWJzLnN0b3JhZ2UuQm91bmRlZENvbGxlY3RhYmxlU3RvcmFnZVRlc3QnXSwgWydnb29nLmxhYnMuc3RvcmFnZS5Cb3VuZGVkQ29sbGVjdGFibGVTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5jb2xsZWN0YWJsZVN0b3JhZ2VUZXN0ZXInLCAnZ29vZy5zdG9yYWdlLnN0b3JhZ2VUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3Rpbmcuc3RvcmFnZS5GYWtlTWVjaGFuaXNtJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3N0cnVjdHMvbXVsdGltYXAuanMnLCBbJ2dvb2cubGFicy5zdHJ1Y3RzLk11bHRpbWFwJ10sIFsnZ29vZy5hcnJheScsICdnb29nLm9iamVjdCddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvc3RydWN0cy9tdWx0aW1hcF90ZXN0LmpzJywgWydnb29nLmxhYnMuc3RydWN0cy5NdWx0aW1hcFRlc3QnXSwgWydnb29nLmxhYnMuc3RydWN0cy5NdWx0aW1hcCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy9zdHlsZS9waXhlbGRlbnNpdHltb25pdG9yLmpzJywgWydnb29nLmxhYnMuc3R5bGUuUGl4ZWxEZW5zaXR5TW9uaXRvcicsICdnb29nLmxhYnMuc3R5bGUuUGl4ZWxEZW5zaXR5TW9uaXRvci5EZW5zaXR5JywgJ2dvb2cubGFicy5zdHlsZS5QaXhlbERlbnNpdHlNb25pdG9yLkV2ZW50VHlwZSddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3N0eWxlL3BpeGVsZGVuc2l0eW1vbml0b3JfdGVzdC5qcycsIFsnZ29vZy5sYWJzLnN0eWxlLlBpeGVsRGVuc2l0eU1vbml0b3JUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbS5Eb21IZWxwZXInLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5sYWJzLnN0eWxlLlBpeGVsRGVuc2l0eU1vbml0b3InLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy90ZXN0aW5nL2Fzc2VydHRoYXQuanMnLCBbJ2dvb2cubGFicy50ZXN0aW5nLk1hdGNoZXJFcnJvcicsICdnb29nLmxhYnMudGVzdGluZy5hc3NlcnRUaGF0J10sIFsnZ29vZy5kZWJ1Zy5FcnJvciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy90ZXN0aW5nL2Fzc2VydHRoYXRfdGVzdC5qcycsIFsnZ29vZy5sYWJzLnRlc3RpbmcuYXNzZXJ0VGhhdFRlc3QnXSwgWydnb29nLmxhYnMudGVzdGluZy5NYXRjaGVyRXJyb3InLCAnZ29vZy5sYWJzLnRlc3RpbmcuYXNzZXJ0VGhhdCcsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9kZWNvcmF0b3JtYXRjaGVyLmpzJywgWydnb29nLmxhYnMudGVzdGluZy5Bbnl0aGluZ01hdGNoZXInXSwgWydnb29nLmxhYnMudGVzdGluZy5NYXRjaGVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3Rlc3RpbmcvZGVjb3JhdG9ybWF0Y2hlcl90ZXN0LmpzJywgWydnb29nLmxhYnMudGVzdGluZy5kZWNvcmF0b3JNYXRjaGVyVGVzdCddLCBbJ2dvb2cubGFicy50ZXN0aW5nLkFueXRoaW5nTWF0Y2hlcicsICdnb29nLmxhYnMudGVzdGluZy5HcmVhdGVyVGhhbk1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuTWF0Y2hlckVycm9yJywgJ2dvb2cubGFicy50ZXN0aW5nLmFzc2VydFRoYXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9kaWN0aW9uYXJ5bWF0Y2hlci5qcycsIFsnZ29vZy5sYWJzLnRlc3RpbmcuSGFzRW50cmllc01hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuSGFzRW50cnlNYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLkhhc0tleU1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuSGFzVmFsdWVNYXRjaGVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubGFicy50ZXN0aW5nLk1hdGNoZXInLCAnZ29vZy5vYmplY3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9kaWN0aW9uYXJ5bWF0Y2hlcl90ZXN0LmpzJywgWydnb29nLmxhYnMudGVzdGluZy5kaWN0aW9uYXJ5TWF0Y2hlclRlc3QnXSwgWydnb29nLmxhYnMudGVzdGluZy5IYXNFbnRyeU1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuTWF0Y2hlckVycm9yJywgJ2dvb2cubGFicy50ZXN0aW5nLmFzc2VydFRoYXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9lbnZpcm9ubWVudC5qcycsIFsnZ29vZy5sYWJzLnRlc3RpbmcuRW52aXJvbm1lbnQnXSwgWydnb29nLlRoZW5hYmxlJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGVidWcuQ29uc29sZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLmpzdW5pdCddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9lbnZpcm9ubWVudF90ZXN0LmpzJywgWydnb29nLmxhYnMudGVzdGluZy5lbnZpcm9ubWVudFRlc3QnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5sYWJzLnRlc3RpbmcuRW52aXJvbm1lbnQnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczgnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy90ZXN0aW5nL2Vudmlyb25tZW50X3VzYWdlX3Rlc3QuanMnLCBbJ2dvb2cubGFicy50ZXN0aW5nLmVudmlyb25tZW50VXNhZ2VUZXN0J10sIFsnZ29vZy5sYWJzLnRlc3RpbmcuRW52aXJvbm1lbnQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9qc29uX2Z1enppbmcuanMnLCBbJ2dvb2cubGFicy50ZXN0aW5nLkpzb25GdXp6aW5nJ10sIFsnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLlBzZXVkb1JhbmRvbSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy90ZXN0aW5nL2pzb25fZnV6emluZ190ZXN0LmpzJywgWydnb29nLmxhYnMudGVzdGluZy5Kc29uRnV6emluZ1Rlc3QnXSwgWydnb29nLmpzb24nLCAnZ29vZy5sYWJzLnRlc3RpbmcuSnNvbkZ1enppbmcnLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9sb2dpY21hdGNoZXIuanMnLCBbJ2dvb2cubGFicy50ZXN0aW5nLkFsbE9mTWF0Y2hlcicsICdnb29nLmxhYnMudGVzdGluZy5BbnlPZk1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuSXNOb3RNYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLmxvZ2ljTWF0Y2hlcnMnXSwgWydnb29nLmFycmF5JywgJ2dvb2cubGFicy50ZXN0aW5nLk1hdGNoZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9sb2dpY21hdGNoZXJfdGVzdC5qcycsIFsnZ29vZy5sYWJzLnRlc3RpbmcubG9naWNNYXRjaGVyVGVzdCddLCBbJ2dvb2cubGFicy50ZXN0aW5nLkFsbE9mTWF0Y2hlcicsICdnb29nLmxhYnMudGVzdGluZy5HcmVhdGVyVGhhbk1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuTWF0Y2hlckVycm9yJywgJ2dvb2cubGFicy50ZXN0aW5nLmFzc2VydFRoYXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9tYXRjaGVyLmpzJywgWydnb29nLmxhYnMudGVzdGluZy5NYXRjaGVyJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9udW1iZXJtYXRjaGVyLmpzJywgWydnb29nLmxhYnMudGVzdGluZy5BbnlOdW1iZXJNYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLkNsb3NlVG9NYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLkVxdWFsVG9NYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLkdyZWF0ZXJUaGFuRXF1YWxUb01hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuR3JlYXRlclRoYW5NYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLkxlc3NUaGFuRXF1YWxUb01hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuTGVzc1RoYW5NYXRjaGVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubGFicy50ZXN0aW5nLk1hdGNoZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9udW1iZXJtYXRjaGVyX3Rlc3QuanMnLCBbJ2dvb2cubGFicy50ZXN0aW5nLm51bWJlck1hdGNoZXJUZXN0J10sIFsnZ29vZy5sYWJzLnRlc3RpbmcuTGVzc1RoYW5NYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLk1hdGNoZXJFcnJvcicsICdnb29nLmxhYnMudGVzdGluZy5hc3NlcnRUaGF0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3Rlc3Rpbmcvb2JqZWN0bWF0Y2hlci5qcycsIFsnZ29vZy5sYWJzLnRlc3RpbmcuQW55T2JqZWN0TWF0Y2hlcicsICdnb29nLmxhYnMudGVzdGluZy5IYXNQcm9wZXJ0eU1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuSW5zdGFuY2VPZk1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuSXNOdWxsTWF0Y2hlcicsICdnb29nLmxhYnMudGVzdGluZy5Jc051bGxPclVuZGVmaW5lZE1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuSXNVbmRlZmluZWRNYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLk9iamVjdEVxdWFsc01hdGNoZXInXSwgWydnb29nLmxhYnMudGVzdGluZy5NYXRjaGVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3Rlc3Rpbmcvb2JqZWN0bWF0Y2hlcl90ZXN0LmpzJywgWydnb29nLmxhYnMudGVzdGluZy5vYmplY3RNYXRjaGVyVGVzdCddLCBbJ2dvb2cubGFicy50ZXN0aW5nLk1hdGNoZXJFcnJvcicsICdnb29nLmxhYnMudGVzdGluZy5PYmplY3RFcXVhbHNNYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLmFzc2VydFRoYXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdGVzdGluZy9zdHJpbmdtYXRjaGVyLmpzJywgWydnb29nLmxhYnMudGVzdGluZy5BbnlTdHJpbmdNYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLkNvbnRhaW5zU3RyaW5nTWF0Y2hlcicsICdnb29nLmxhYnMudGVzdGluZy5FbmRzV2l0aE1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuRXF1YWxUb0lnbm9yaW5nV2hpdGVzcGFjZU1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuRXF1YWxzTWF0Y2hlcicsICdnb29nLmxhYnMudGVzdGluZy5SZWdleE1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuU3RhcnRzV2l0aE1hdGNoZXInLCAnZ29vZy5sYWJzLnRlc3RpbmcuU3RyaW5nQ29udGFpbnNJbk9yZGVyTWF0Y2hlciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmxhYnMudGVzdGluZy5NYXRjaGVyJywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3Rlc3Rpbmcvc3RyaW5nbWF0Y2hlcl90ZXN0LmpzJywgWydnb29nLmxhYnMudGVzdGluZy5zdHJpbmdNYXRjaGVyVGVzdCddLCBbJ2dvb2cubGFicy50ZXN0aW5nLk1hdGNoZXJFcnJvcicsICdnb29nLmxhYnMudGVzdGluZy5TdHJpbmdDb250YWluc0luT3JkZXJNYXRjaGVyJywgJ2dvb2cubGFicy50ZXN0aW5nLmFzc2VydFRoYXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdXNlcmFnZW50L2Jyb3dzZXIuanMnLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlciddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC51dGlsJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nLmludGVybmFsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3VzZXJhZ2VudC9icm93c2VyX3Rlc3QuanMnLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlclRlc3QnXSwgWydnb29nLmxhYnMudXNlckFnZW50LmJyb3dzZXInLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC50ZXN0QWdlbnRzJywgJ2dvb2cubGFicy51c2VyQWdlbnQudXRpbCcsICdnb29nLm9iamVjdCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy91c2VyYWdlbnQvZGV2aWNlLmpzJywgWydnb29nLmxhYnMudXNlckFnZW50LmRldmljZSddLCBbJ2dvb2cubGFicy51c2VyQWdlbnQudXRpbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy91c2VyYWdlbnQvZGV2aWNlX3Rlc3QuanMnLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuZGV2aWNlVGVzdCddLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuZGV2aWNlJywgJ2dvb2cubGFicy51c2VyQWdlbnQudGVzdEFnZW50cycsICdnb29nLmxhYnMudXNlckFnZW50LnV0aWwnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdXNlcmFnZW50L2VuZ2luZS5qcycsIFsnZ29vZy5sYWJzLnVzZXJBZ2VudC5lbmdpbmUnXSwgWydnb29nLmFycmF5JywgJ2dvb2cubGFicy51c2VyQWdlbnQudXRpbCcsICdnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy91c2VyYWdlbnQvZW5naW5lX3Rlc3QuanMnLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuZW5naW5lVGVzdCddLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuZW5naW5lJywgJ2dvb2cubGFicy51c2VyQWdlbnQudGVzdEFnZW50cycsICdnb29nLmxhYnMudXNlckFnZW50LnV0aWwnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdXNlcmFnZW50L2V4dHJhLmpzJywgWydnb29nLmxhYnMudXNlckFnZW50LmV4dHJhJ10sIFsnZ29vZy5sYWJzLnVzZXJBZ2VudC5icm93c2VyJywgJ2dvb2cubGFicy51c2VyQWdlbnQucGxhdGZvcm0nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3VzZXJhZ2VudC9leHRyYV90ZXN0LmpzJywgWydnb29nLmxhYnMudXNlckFnZW50LmV4dHJhVGVzdCddLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlcicsICdnb29nLmxhYnMudXNlckFnZW50LmV4dHJhJywgJ2dvb2cubGFicy51c2VyQWdlbnQudGVzdEFnZW50cycsICdnb29nLmxhYnMudXNlckFnZW50LnV0aWwnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xhYnMvdXNlcmFnZW50L3BsYXRmb3JtLmpzJywgWydnb29nLmxhYnMudXNlckFnZW50LnBsYXRmb3JtJ10sIFsnZ29vZy5sYWJzLnVzZXJBZ2VudC51dGlsJywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3VzZXJhZ2VudC9wbGF0Zm9ybV90ZXN0LmpzJywgWydnb29nLmxhYnMudXNlckFnZW50LnBsYXRmb3JtVGVzdCddLCBbJ2dvb2cubGFicy51c2VyQWdlbnQucGxhdGZvcm0nLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC50ZXN0QWdlbnRzJywgJ2dvb2cubGFicy51c2VyQWdlbnQudXRpbCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy91c2VyYWdlbnQvdGVzdF9hZ2VudHMuanMnLCBbJ2dvb2cubGFicy51c2VyQWdlbnQudGVzdEFnZW50cyddLCBbXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsYWJzL3VzZXJhZ2VudC91dGlsLmpzJywgWydnb29nLmxhYnMudXNlckFnZW50LnV0aWwnXSwgWydnb29nLnN0cmluZy5pbnRlcm5hbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy91c2VyYWdlbnQvdXRpbF90ZXN0LmpzJywgWydnb29nLmxhYnMudXNlckFnZW50LnV0aWxUZXN0J10sIFsnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC50ZXN0QWdlbnRzJywgJ2dvb2cubGFicy51c2VyQWdlbnQudXRpbCcsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy91c2VyYWdlbnQvdmVyaWZpZXIuanMnLCBbJ2dvb2cubGFicy51c2VyYWdlbnQudmVyaWZpZXInXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbGFicy91c2VyYWdlbnQvdmVyaWZpZXJfdGVzdC5qcycsIFsnZ29vZy5sYWJzLnVzZXJhZ2VudC52ZXJpZmllclRlc3QnXSwgWydnb29nLmxhYnMudXNlckFnZW50LmJyb3dzZXInLCAnZ29vZy5sYWJzLnVzZXJhZ2VudC52ZXJpZmllcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbG9hZGVyL2Fic3RyYWN0bW9kdWxlbWFuYWdlci5qcycsIFsnZ29vZy5sb2FkZXIuQWJzdHJhY3RNb2R1bGVNYW5hZ2VyJywgJ2dvb2cubG9hZGVyLkFic3RyYWN0TW9kdWxlTWFuYWdlci5DYWxsYmFja1R5cGUnLCAnZ29vZy5sb2FkZXIuQWJzdHJhY3RNb2R1bGVNYW5hZ2VyLkZhaWx1cmVUeXBlJ10sIFsnZ29vZy5tb2R1bGUuQWJzdHJhY3RNb2R1bGVMb2FkZXInLCAnZ29vZy5tb2R1bGUuTW9kdWxlSW5mbycsICdnb29nLm1vZHVsZS5Nb2R1bGVMb2FkQ2FsbGJhY2snXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xvYWRlci9hY3RpdmVtb2R1bGVtYW5hZ2VyLmpzJywgWydnb29nLmxvYWRlci5hY3RpdmVNb2R1bGVNYW5hZ2VyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubG9hZGVyLkFic3RyYWN0TW9kdWxlTWFuYWdlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xvY2FsZS9jb3VudHJpZXMuanMnLCBbJ2dvb2cubG9jYWxlLmNvdW50cmllcyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xvY2FsZS9jb3VudHJ5bGFuZ3VhZ2VuYW1lc190ZXN0LmpzJywgWydnb29nLmxvY2FsZS5jb3VudHJ5TGFuZ3VhZ2VOYW1lc1Rlc3QnXSwgWydnb29nLmxvY2FsZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbG9jYWxlL2RlZmF1bHRsb2NhbGVuYW1lY29uc3RhbnRzLmpzJywgWydnb29nLmxvY2FsZS5kZWZhdWx0TG9jYWxlTmFtZUNvbnN0YW50cyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xvY2FsZS9nZW5lcmljZm9udG5hbWVzLmpzJywgWydnb29nLmxvY2FsZS5nZW5lcmljRm9udE5hbWVzJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbG9jYWxlL2dlbmVyaWNmb250bmFtZXNfdGVzdC5qcycsIFsnZ29vZy5sb2NhbGUuZ2VuZXJpY0ZvbnROYW1lc1Rlc3QnXSwgWydnb29nLmxvY2FsZS5nZW5lcmljRm9udE5hbWVzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsb2NhbGUvZ2VuZXJpY2ZvbnRuYW1lc2RhdGEuanMnLCBbJ2dvb2cubG9jYWxlLmdlbmVyaWNGb250TmFtZXNEYXRhJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbG9jYWxlL2xvY2FsZS5qcycsIFsnZ29vZy5sb2NhbGUnXSwgWydnb29nLmxvY2FsZS5uYXRpdmVOYW1lQ29uc3RhbnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsb2NhbGUvbmF0aXZlbmFtZWNvbnN0YW50cy5qcycsIFsnZ29vZy5sb2NhbGUubmF0aXZlTmFtZUNvbnN0YW50cyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xvY2FsZS9zY3JpcHRUb0xhbmd1YWdlcy5qcycsIFsnZ29vZy5sb2NhbGUuc2NyaXB0VG9MYW5ndWFnZXMnXSwgWydnb29nLmxvY2FsZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbG9jYWxlL3RpbWV6b25lZGV0ZWN0aW9uLmpzJywgWydnb29nLmxvY2FsZS50aW1lWm9uZURldGVjdGlvbiddLCBbJ2dvb2cubG9jYWxlLlRpbWVab25lRmluZ2VycHJpbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xvY2FsZS90aW1lem9uZWRldGVjdGlvbl90ZXN0LmpzJywgWydnb29nLmxvY2FsZS50aW1lWm9uZURldGVjdGlvblRlc3QnXSwgWydnb29nLmxvY2FsZS50aW1lWm9uZURldGVjdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbG9jYWxlL3RpbWV6b25lZmluZ2VycHJpbnQuanMnLCBbJ2dvb2cubG9jYWxlLlRpbWVab25lRmluZ2VycHJpbnQnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsb2NhbGUvdGltZXpvbmVsaXN0LmpzJywgWydnb29nLmxvY2FsZS5UaW1lWm9uZUxpc3QnLCAnZ29vZy5sb2NhbGUuZ2V0VGltZVpvbmVBbGxMb25nTmFtZXMnLCAnZ29vZy5sb2NhbGUuZ2V0VGltZVpvbmVTZWxlY3RlZExvbmdOYW1lcycsICdnb29nLmxvY2FsZS5nZXRUaW1lWm9uZVNlbGVjdGVkU2hvcnROYW1lcyddLCBbJ2dvb2cubG9jYWxlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdsb2NhbGUvdGltZXpvbmVsaXN0X3Rlc3QuanMnLCBbJ2dvb2cubG9jYWxlLlRpbWVab25lTGlzdFRlc3QnXSwgWydnb29nLmxvY2FsZScsICdnb29nLmxvY2FsZS5UaW1lWm9uZUxpc3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ2xvZy9sb2cuanMnLCBbJ2dvb2cubG9nJywgJ2dvb2cubG9nLkxldmVsJywgJ2dvb2cubG9nLkxvZ1JlY29yZCcsICdnb29nLmxvZy5Mb2dnZXInXSwgWydnb29nLmRlYnVnJywgJ2dvb2cuZGVidWcuTG9nTWFuYWdlcicsICdnb29nLmRlYnVnLkxvZ1JlY29yZCcsICdnb29nLmRlYnVnLkxvZ2dlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbG9nL2xvZ190ZXN0LmpzJywgWydnb29nLmxvZ1Rlc3QnXSwgWydnb29nLmRlYnVnLkxvZ01hbmFnZXInLCAnZ29vZy5sb2cnLCAnZ29vZy5sb2cuTGV2ZWwnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvYWZmaW5ldHJhbnNmb3JtLmpzJywgWydnb29nLm1hdGguQWZmaW5lVHJhbnNmb3JtJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvYWZmaW5ldHJhbnNmb3JtX3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5BZmZpbmVUcmFuc2Zvcm1UZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLm1hdGgnLCAnZ29vZy5tYXRoLkFmZmluZVRyYW5zZm9ybScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9iZXppZXIuanMnLCBbJ2dvb2cubWF0aC5CZXppZXInXSwgWydnb29nLm1hdGgnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvYmV6aWVyX3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5CZXppZXJUZXN0J10sIFsnZ29vZy5tYXRoJywgJ2dvb2cubWF0aC5CZXppZXInLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvYm94LmpzJywgWydnb29nLm1hdGguQm94J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubWF0aC5Db29yZGluYXRlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL2JveF90ZXN0LmpzJywgWydnb29nLm1hdGguQm94VGVzdCddLCBbJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvY29vcmRpbmF0ZS5qcycsIFsnZ29vZy5tYXRoLkNvb3JkaW5hdGUnXSwgWydnb29nLm1hdGgnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvY29vcmRpbmF0ZTMuanMnLCBbJ2dvb2cubWF0aC5Db29yZGluYXRlMyddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL2Nvb3JkaW5hdGUzX3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5Db29yZGluYXRlM1Rlc3QnXSwgWydnb29nLm1hdGguQ29vcmRpbmF0ZTMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvY29vcmRpbmF0ZV90ZXN0LmpzJywgWydnb29nLm1hdGguQ29vcmRpbmF0ZVRlc3QnXSwgWydnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9leHBvbmVudGlhbGJhY2tvZmYuanMnLCBbJ2dvb2cubWF0aC5FeHBvbmVudGlhbEJhY2tvZmYnXSwgWydnb29nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvZXhwb25lbnRpYWxiYWNrb2ZmX3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5FeHBvbmVudGlhbEJhY2tvZmZUZXN0J10sIFsnZ29vZy5tYXRoLkV4cG9uZW50aWFsQmFja29mZicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9pbnRlZ2VyLmpzJywgWydnb29nLm1hdGguSW50ZWdlciddLCBbJ2dvb2cucmVmbGVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9pbnRlZ2VyX3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5JbnRlZ2VyVGVzdCddLCBbJ2dvb2cubWF0aC5JbnRlZ2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL2ludGVycG9sYXRvci9pbnRlcnBvbGF0b3IxLmpzJywgWydnb29nLm1hdGguaW50ZXJwb2xhdG9yLkludGVycG9sYXRvcjEnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL2ludGVycG9sYXRvci9saW5lYXIxLmpzJywgWydnb29nLm1hdGguaW50ZXJwb2xhdG9yLkxpbmVhcjEnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLm1hdGgnLCAnZ29vZy5tYXRoLmludGVycG9sYXRvci5JbnRlcnBvbGF0b3IxJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL2ludGVycG9sYXRvci9saW5lYXIxX3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5pbnRlcnBvbGF0b3IuTGluZWFyMVRlc3QnXSwgWydnb29nLm1hdGguaW50ZXJwb2xhdG9yLkxpbmVhcjEnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvaW50ZXJwb2xhdG9yL3BjaGlwMS5qcycsIFsnZ29vZy5tYXRoLmludGVycG9sYXRvci5QY2hpcDEnXSwgWydnb29nLm1hdGgnLCAnZ29vZy5tYXRoLmludGVycG9sYXRvci5TcGxpbmUxJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL2ludGVycG9sYXRvci9wY2hpcDFfdGVzdC5qcycsIFsnZ29vZy5tYXRoLmludGVycG9sYXRvci5QY2hpcDFUZXN0J10sIFsnZ29vZy5tYXRoLmludGVycG9sYXRvci5QY2hpcDEnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvaW50ZXJwb2xhdG9yL3NwbGluZTEuanMnLCBbJ2dvb2cubWF0aC5pbnRlcnBvbGF0b3IuU3BsaW5lMSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cubWF0aCcsICdnb29nLm1hdGguaW50ZXJwb2xhdG9yLkludGVycG9sYXRvcjEnLCAnZ29vZy5tYXRoLnRkbWEnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvaW50ZXJwb2xhdG9yL3NwbGluZTFfdGVzdC5qcycsIFsnZ29vZy5tYXRoLmludGVycG9sYXRvci5TcGxpbmUxVGVzdCddLCBbJ2dvb2cubWF0aC5pbnRlcnBvbGF0b3IuU3BsaW5lMScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9pcmVjdC5qcycsIFsnZ29vZy5tYXRoLklSZWN0J10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9saW5lLmpzJywgWydnb29nLm1hdGguTGluZSddLCBbJ2dvb2cubWF0aCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9saW5lX3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5MaW5lVGVzdCddLCBbJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cubWF0aC5MaW5lJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL2xvbmcuanMnLCBbJ2dvb2cubWF0aC5Mb25nJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cucmVmbGVjdCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvbG9uZ190ZXN0LmpzJywgWydnb29nLm1hdGguTG9uZ1Rlc3QnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5tYXRoLkxvbmcnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvbWF0aC5qcycsIFsnZ29vZy5tYXRoJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvbWF0aF90ZXN0LmpzJywgWydnb29nLm1hdGhUZXN0J10sIFsnZ29vZy5tYXRoJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL21hdHJpeC5qcycsIFsnZ29vZy5tYXRoLk1hdHJpeCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cubWF0aCcsICdnb29nLm1hdGguU2l6ZScsICdnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9tYXRyaXhfdGVzdC5qcycsIFsnZ29vZy5tYXRoLk1hdHJpeFRlc3QnXSwgWydnb29nLm1hdGguTWF0cml4JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL3BhdGguanMnLCBbJ2dvb2cubWF0aC5QYXRoJywgJ2dvb2cubWF0aC5QYXRoLlNlZ21lbnQnXSwgWydnb29nLmFycmF5JywgJ2dvb2cubWF0aCcsICdnb29nLm1hdGguQWZmaW5lVHJhbnNmb3JtJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL3BhdGhfdGVzdC5qcycsIFsnZ29vZy5tYXRoLlBhdGhUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLm1hdGguQWZmaW5lVHJhbnNmb3JtJywgJ2dvb2cubWF0aC5QYXRoJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL3BhdGhzLmpzJywgWydnb29nLm1hdGgucGF0aHMnXSwgWydnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLm1hdGguUGF0aCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9wYXRoc190ZXN0LmpzJywgWydnb29nLm1hdGgucGF0aHNUZXN0J10sIFsnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5tYXRoLnBhdGhzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL3JhbmdlLmpzJywgWydnb29nLm1hdGguUmFuZ2UnXSwgWydnb29nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvcmFuZ2VfdGVzdC5qcycsIFsnZ29vZy5tYXRoLlJhbmdlVGVzdCddLCBbJ2dvb2cubWF0aC5SYW5nZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9yYW5nZXNldC5qcycsIFsnZ29vZy5tYXRoLlJhbmdlU2V0J10sIFsnZ29vZy5hcnJheScsICdnb29nLml0ZXIuSXRlcmF0b3InLCAnZ29vZy5pdGVyLlN0b3BJdGVyYXRpb24nLCAnZ29vZy5tYXRoLlJhbmdlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL3Jhbmdlc2V0X3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5SYW5nZVNldFRlc3QnXSwgWydnb29nLml0ZXInLCAnZ29vZy5tYXRoLlJhbmdlJywgJ2dvb2cubWF0aC5SYW5nZVNldCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9yZWN0LmpzJywgWydnb29nLm1hdGguUmVjdCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLm1hdGguQm94JywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cubWF0aC5JUmVjdCcsICdnb29nLm1hdGguU2l6ZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9yZWN0X3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5SZWN0VGVzdCddLCBbJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5tYXRoLlJlY3QnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvc2l6ZS5qcycsIFsnZ29vZy5tYXRoLlNpemUnXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC9zaXplX3Rlc3QuanMnLCBbJ2dvb2cubWF0aC5TaXplVGVzdCddLCBbJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtYXRoL3RkbWEuanMnLCBbJ2dvb2cubWF0aC50ZG1hJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvdGRtYV90ZXN0LmpzJywgWydnb29nLm1hdGgudGRtYVRlc3QnXSwgWydnb29nLm1hdGgudGRtYScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC92ZWMyLmpzJywgWydnb29nLm1hdGguVmVjMiddLCBbJ2dvb2cubWF0aCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZSddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvdmVjMl90ZXN0LmpzJywgWydnb29nLm1hdGguVmVjMlRlc3QnXSwgWydnb29nLm1hdGguVmVjMicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWF0aC92ZWMzLmpzJywgWydnb29nLm1hdGguVmVjMyddLCBbJ2dvb2cubWF0aCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZTMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21hdGgvdmVjM190ZXN0LmpzJywgWydnb29nLm1hdGguVmVjM1Rlc3QnXSwgWydnb29nLm1hdGguQ29vcmRpbmF0ZTMnLCAnZ29vZy5tYXRoLlZlYzMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21lbW9pemUvbWVtb2l6ZS5qcycsIFsnZ29vZy5tZW1vaXplJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21lbW9pemUvbWVtb2l6ZV90ZXN0LmpzJywgWydnb29nLm1lbW9pemVUZXN0J10sIFsnZ29vZy5tZW1vaXplJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvYWJzdHJhY3RjaGFubmVsLmpzJywgWydnb29nLm1lc3NhZ2luZy5BYnN0cmFjdENoYW5uZWwnXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5qc29uJywgJ2dvb2cubG9nJywgJ2dvb2cubWVzc2FnaW5nLk1lc3NhZ2VDaGFubmVsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvYWJzdHJhY3RjaGFubmVsX3Rlc3QuanMnLCBbJ2dvb2cubWVzc2FnaW5nLkFic3RyYWN0Q2hhbm5lbFRlc3QnXSwgWydnb29nLm1lc3NhZ2luZy5BYnN0cmFjdENoYW5uZWwnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5hc3luYy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL2J1ZmZlcmVkY2hhbm5lbC5qcycsIFsnZ29vZy5tZXNzYWdpbmcuQnVmZmVyZWRDaGFubmVsJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuVGltZXInLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5sb2cnLCAnZ29vZy5tZXNzYWdpbmcuTWVzc2FnZUNoYW5uZWwnLCAnZ29vZy5tZXNzYWdpbmcuTXVsdGlDaGFubmVsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvYnVmZmVyZWRjaGFubmVsX3Rlc3QuanMnLCBbJ2dvb2cubWVzc2FnaW5nLkJ1ZmZlcmVkQ2hhbm5lbFRlc3QnXSwgWydnb29nLmRlYnVnLkNvbnNvbGUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmxvZycsICdnb29nLmxvZy5MZXZlbCcsICdnb29nLm1lc3NhZ2luZy5CdWZmZXJlZENoYW5uZWwnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLmFzeW5jLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VDaGFubmVsJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvZGVmZXJyZWRjaGFubmVsLmpzJywgWydnb29nLm1lc3NhZ2luZy5EZWZlcnJlZENoYW5uZWwnXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5tZXNzYWdpbmcuTWVzc2FnZUNoYW5uZWwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21lc3NhZ2luZy9kZWZlcnJlZGNoYW5uZWxfdGVzdC5qcycsIFsnZ29vZy5tZXNzYWdpbmcuRGVmZXJyZWRDaGFubmVsVGVzdCddLCBbJ2dvb2cuYXN5bmMuRGVmZXJyZWQnLCAnZ29vZy5tZXNzYWdpbmcuRGVmZXJyZWRDaGFubmVsJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcuYXN5bmMuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLm1lc3NhZ2luZy5Nb2NrTWVzc2FnZUNoYW5uZWwnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21lc3NhZ2luZy9sb2dnZXJjbGllbnQuanMnLCBbJ2dvb2cubWVzc2FnaW5nLkxvZ2dlckNsaWVudCddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmRlYnVnJywgJ2dvb2cuZGVidWcuTG9nTWFuYWdlcicsICdnb29nLmRlYnVnLkxvZ2dlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL2xvZ2dlcmNsaWVudF90ZXN0LmpzJywgWydnb29nLm1lc3NhZ2luZy5Mb2dnZXJDbGllbnRUZXN0J10sIFsnZ29vZy5kZWJ1ZycsICdnb29nLmRlYnVnLkxvZ2dlcicsICdnb29nLm1lc3NhZ2luZy5Mb2dnZXJDbGllbnQnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VDaGFubmVsJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvbG9nZ2Vyc2VydmVyLmpzJywgWydnb29nLm1lc3NhZ2luZy5Mb2dnZXJTZXJ2ZXInXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5sb2cnLCAnZ29vZy5sb2cuTGV2ZWwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21lc3NhZ2luZy9sb2dnZXJzZXJ2ZXJfdGVzdC5qcycsIFsnZ29vZy5tZXNzYWdpbmcuTG9nZ2VyU2VydmVyVGVzdCddLCBbJ2dvb2cuZGVidWcuTG9nTWFuYWdlcicsICdnb29nLmRlYnVnLkxvZ2dlcicsICdnb29nLmxvZycsICdnb29nLmxvZy5MZXZlbCcsICdnb29nLm1lc3NhZ2luZy5Mb2dnZXJTZXJ2ZXInLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VDaGFubmVsJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvbWVzc2FnZWNoYW5uZWwuanMnLCBbJ2dvb2cubWVzc2FnaW5nLk1lc3NhZ2VDaGFubmVsJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL21lc3NhZ2luZy5qcycsIFsnZ29vZy5tZXNzYWdpbmcnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvbWVzc2FnaW5nX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VDaGFubmVsVGVzdCddLCBbJ2dvb2cubWVzc2FnaW5nJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcubWVzc2FnaW5nLk1vY2tNZXNzYWdlQ2hhbm5lbCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL211bHRpY2hhbm5lbC5qcycsIFsnZ29vZy5tZXNzYWdpbmcuTXVsdGlDaGFubmVsJywgJ2dvb2cubWVzc2FnaW5nLk11bHRpQ2hhbm5lbC5WaXJ0dWFsQ2hhbm5lbCddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmxvZycsICdnb29nLm1lc3NhZ2luZy5NZXNzYWdlQ2hhbm5lbCcsICdnb29nLm9iamVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL211bHRpY2hhbm5lbF90ZXN0LmpzJywgWydnb29nLm1lc3NhZ2luZy5NdWx0aUNoYW5uZWxUZXN0J10sIFsnZ29vZy5tZXNzYWdpbmcuTXVsdGlDaGFubmVsJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcubWVzc2FnaW5nLk1vY2tNZXNzYWdlQ2hhbm5lbCcsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzLklnbm9yZUFyZ3VtZW50JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvcG9ydGNhbGxlci5qcycsIFsnZ29vZy5tZXNzYWdpbmcuUG9ydENhbGxlciddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cubWVzc2FnaW5nLkRlZmVycmVkQ2hhbm5lbCcsICdnb29nLm1lc3NhZ2luZy5Qb3J0Q2hhbm5lbCcsICdnb29nLm1lc3NhZ2luZy5Qb3J0TmV0d29yaycsICdnb29nLm9iamVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL3BvcnRjYWxsZXJfdGVzdC5qcycsIFsnZ29vZy5tZXNzYWdpbmcuUG9ydENhbGxlclRlc3QnXSwgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLm1lc3NhZ2luZy5Qb3J0Q2FsbGVyJywgJ2dvb2cubWVzc2FnaW5nLlBvcnROZXR3b3JrJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcubWVzc2FnaW5nLk1vY2tNZXNzYWdlQ2hhbm5lbCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL3BvcnRjaGFubmVsLmpzJywgWydnb29nLm1lc3NhZ2luZy5Qb3J0Q2hhbm5lbCddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hcnJheScsICdnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cuZGVidWcnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuanNvbicsICdnb29nLmxvZycsICdnb29nLm1lc3NhZ2luZy5BYnN0cmFjdENoYW5uZWwnLCAnZ29vZy5tZXNzYWdpbmcuRGVmZXJyZWRDaGFubmVsJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvcG9ydGNoYW5uZWxfdGVzdC5qcycsIFsnZ29vZy5tZXNzYWdpbmcuUG9ydENoYW5uZWxUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuVGltZXInLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5qc29uJywgJ2dvb2cubWVzc2FnaW5nLlBvcnRDaGFubmVsJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLm1lc3NhZ2luZy5Nb2NrTWVzc2FnZUV2ZW50JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvcG9ydG5ldHdvcmsuanMnLCBbJ2dvb2cubWVzc2FnaW5nLlBvcnROZXR3b3JrJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL3BvcnRuZXR3b3JrX3Rlc3QuanMnLCBbJ2dvb2cubWVzc2FnaW5nLlBvcnROZXR3b3JrVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLlRpbWVyJywgJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlcicsICdnb29nLm1lc3NhZ2luZy5Qb3J0Q2hhbm5lbCcsICdnb29nLm1lc3NhZ2luZy5Qb3J0T3BlcmF0b3InLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvcG9ydG9wZXJhdG9yLmpzJywgWydnb29nLm1lc3NhZ2luZy5Qb3J0T3BlcmF0b3InXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cubG9nJywgJ2dvb2cubWVzc2FnaW5nLlBvcnRDaGFubmVsJywgJ2dvb2cubWVzc2FnaW5nLlBvcnROZXR3b3JrJywgJ2dvb2cub2JqZWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvcG9ydG9wZXJhdG9yX3Rlc3QuanMnLCBbJ2dvb2cubWVzc2FnaW5nLlBvcnRPcGVyYXRvclRlc3QnXSwgWydnb29nLm1lc3NhZ2luZy5Qb3J0TmV0d29yaycsICdnb29nLm1lc3NhZ2luZy5Qb3J0T3BlcmF0b3InLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VDaGFubmVsJywgJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VQb3J0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtZXNzYWdpbmcvcmVzcG9uZGluZ2NoYW5uZWwuanMnLCBbJ2dvb2cubWVzc2FnaW5nLlJlc3BvbmRpbmdDaGFubmVsJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuUHJvbWlzZScsICdnb29nLmxvZycsICdnb29nLm1lc3NhZ2luZy5NdWx0aUNoYW5uZWwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21lc3NhZ2luZy9yZXNwb25kaW5nY2hhbm5lbF90ZXN0LmpzJywgWydnb29nLm1lc3NhZ2luZy5SZXNwb25kaW5nQ2hhbm5lbFRlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5tZXNzYWdpbmcuUmVzcG9uZGluZ0NoYW5uZWwnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VDaGFubmVsJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL3Rlc3RkYXRhL3BvcnRjaGFubmVsX3dvcmtlci5qcycsIFsnZ29vZy5tZXNzYWdpbmcudGVzdGRhdGEucG9ydGNoYW5uZWxfd29ya2VyJ10sIFsnZ29vZy5tZXNzYWdpbmcuUG9ydENoYW5uZWwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21lc3NhZ2luZy90ZXN0ZGF0YS9wb3J0bmV0d29ya193b3JrZXIxLmpzJywgWydnb29nLm1lc3NhZ2luZy50ZXN0ZGF0YS5wb3J0bmV0d29ya193b3JrZXIxJ10sIFsnZ29vZy5tZXNzYWdpbmcuUG9ydENhbGxlcicsICdnb29nLm1lc3NhZ2luZy5Qb3J0Q2hhbm5lbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbWVzc2FnaW5nL3Rlc3RkYXRhL3BvcnRuZXR3b3JrX3dvcmtlcjIuanMnLCBbJ2dvb2cubWVzc2FnaW5nLnRlc3RkYXRhLnBvcnRuZXR3b3JrX3dvcmtlcjInXSwgWydnb29nLm1lc3NhZ2luZy5Qb3J0Q2FsbGVyJywgJ2dvb2cubWVzc2FnaW5nLlBvcnRDaGFubmVsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtb2R1bGUvYWJzdHJhY3Rtb2R1bGVsb2FkZXIuanMnLCBbJ2dvb2cubW9kdWxlLkFic3RyYWN0TW9kdWxlTG9hZGVyJ10sIFsnZ29vZy5tb2R1bGUnLCAnZ29vZy5tb2R1bGUuTW9kdWxlSW5mbyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbW9kdWxlL2Jhc2Vtb2R1bGUuanMnLCBbJ2dvb2cubW9kdWxlLkJhc2VNb2R1bGUnXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5tb2R1bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21vZHVsZS9sb2FkZXIuanMnLCBbJ2dvb2cubW9kdWxlLkxvYWRlciddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuaHRtbC5sZWdhY3ljb252ZXJzaW9ucycsICdnb29nLm1vZHVsZScsICdnb29nLm9iamVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbW9kdWxlL21vZHVsZS5qcycsIFsnZ29vZy5tb2R1bGUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtb2R1bGUvbW9kdWxlaW5mby5qcycsIFsnZ29vZy5tb2R1bGUuTW9kdWxlSW5mbyddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmFzeW5jLnRocm93RXhjZXB0aW9uJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5tb2R1bGUnLCAnZ29vZy5tb2R1bGUuQmFzZU1vZHVsZScsICdnb29nLm1vZHVsZS5Nb2R1bGVMb2FkQ2FsbGJhY2snXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21vZHVsZS9tb2R1bGVpbmZvX3Rlc3QuanMnLCBbJ2dvb2cubW9kdWxlLk1vZHVsZUluZm9UZXN0J10sIFsnZ29vZy5tb2R1bGUuQmFzZU1vZHVsZScsICdnb29nLm1vZHVsZS5Nb2R1bGVJbmZvJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21vZHVsZS9tb2R1bGVsb2FkY2FsbGJhY2suanMnLCBbJ2dvb2cubW9kdWxlLk1vZHVsZUxvYWRDYWxsYmFjayddLCBbJ2dvb2cuZGVidWcuZW50cnlQb2ludFJlZ2lzdHJ5JywgJ2dvb2cubW9kdWxlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtb2R1bGUvbW9kdWxlbG9hZGNhbGxiYWNrX3Rlc3QuanMnLCBbJ2dvb2cubW9kdWxlLk1vZHVsZUxvYWRDYWxsYmFja1Rlc3QnXSwgWydnb29nLmRlYnVnLkVycm9ySGFuZGxlcicsICdnb29nLmRlYnVnLmVudHJ5UG9pbnRSZWdpc3RyeScsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLm1vZHVsZS5Nb2R1bGVMb2FkQ2FsbGJhY2snLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtb2R1bGUvbW9kdWxlbG9hZGVyLmpzJywgWydnb29nLm1vZHVsZS5Nb2R1bGVMb2FkZXInXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50SWQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmxhYnMudXNlckFnZW50LmJyb3dzZXInLCAnZ29vZy5sb2cnLCAnZ29vZy5tb2R1bGUuQWJzdHJhY3RNb2R1bGVMb2FkZXInLCAnZ29vZy5uZXQuQnVsa0xvYWRlcicsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5uZXQuanNsb2FkZXInLCAnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ21vZHVsZS9tb2R1bGVsb2FkZXJfdGVzdC5qcycsIFsnZ29vZy5tb2R1bGUuTW9kdWxlTG9hZGVyVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLmxvYWRlci5hY3RpdmVNb2R1bGVNYW5hZ2VyJywgJ2dvb2cubW9kdWxlLk1vZHVsZUxvYWRlcicsICdnb29nLm1vZHVsZS5Nb2R1bGVNYW5hZ2VyJywgJ2dvb2cubmV0LkJ1bGtMb2FkZXInLCAnZ29vZy5uZXQuWG1sSHR0cCcsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudE9ic2VydmVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtb2R1bGUvbW9kdWxlbWFuYWdlci5qcycsIFsnZ29vZy5tb2R1bGUuTW9kdWxlTWFuYWdlcicsICdnb29nLm1vZHVsZS5Nb2R1bGVNYW5hZ2VyLkNhbGxiYWNrVHlwZScsICdnb29nLm1vZHVsZS5Nb2R1bGVNYW5hZ2VyLkZhaWx1cmVUeXBlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmRlYnVnLlRyYWNlJywgJ2dvb2cuZGlzcG9zYWJsZS5JRGlzcG9zYWJsZScsICdnb29nLmRpc3Bvc2VBbGwnLCAnZ29vZy5sb2FkZXIuQWJzdHJhY3RNb2R1bGVNYW5hZ2VyJywgJ2dvb2cubG9hZGVyLmFjdGl2ZU1vZHVsZU1hbmFnZXInLCAnZ29vZy5sb2cnLCAnZ29vZy5tb2R1bGUnLCAnZ29vZy5tb2R1bGUuTW9kdWxlSW5mbycsICdnb29nLm1vZHVsZS5Nb2R1bGVMb2FkQ2FsbGJhY2snLCAnZ29vZy5vYmplY3QnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdtb2R1bGUvbW9kdWxlbWFuYWdlcl90ZXN0LmpzJywgWydnb29nLm1vZHVsZS5Nb2R1bGVNYW5hZ2VyVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5tb2R1bGUuQmFzZU1vZHVsZScsICdnb29nLm1vZHVsZS5Nb2R1bGVNYW5hZ2VyJywgJ2dvb2cudGVzdGluZycsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbW9kdWxlL3Rlc3RkYXRhL21vZEFfMS5qcycsIFsnZ29vZy5tb2R1bGUudGVzdGRhdGEubW9kQV8xJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbW9kdWxlL3Rlc3RkYXRhL21vZEFfMi5qcycsIFsnZ29vZy5tb2R1bGUudGVzdGRhdGEubW9kQV8yJ10sIFsnZ29vZy5tb2R1bGUuTW9kdWxlTWFuYWdlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbW9kdWxlL3Rlc3RkYXRhL21vZEJfMS5qcycsIFsnZ29vZy5tb2R1bGUudGVzdGRhdGEubW9kQl8xJ10sIFsnZ29vZy5tb2R1bGUuTW9kdWxlTWFuYWdlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2Jyb3dzZXJjaGFubmVsLmpzJywgWydnb29nLm5ldC5Ccm93c2VyQ2hhbm5lbCcsICdnb29nLm5ldC5Ccm93c2VyQ2hhbm5lbC5FcnJvcicsICdnb29nLm5ldC5Ccm93c2VyQ2hhbm5lbC5FdmVudCcsICdnb29nLm5ldC5Ccm93c2VyQ2hhbm5lbC5IYW5kbGVyJywgJ2dvb2cubmV0LkJyb3dzZXJDaGFubmVsLkxvZ1NhdmVyJywgJ2dvb2cubmV0LkJyb3dzZXJDaGFubmVsLlF1ZXVlZE1hcCcsICdnb29nLm5ldC5Ccm93c2VyQ2hhbm5lbC5TZXJ2ZXJSZWFjaGFiaWxpdHknLCAnZ29vZy5uZXQuQnJvd3NlckNoYW5uZWwuU2VydmVyUmVhY2hhYmlsaXR5RXZlbnQnLCAnZ29vZy5uZXQuQnJvd3NlckNoYW5uZWwuU3RhdCcsICdnb29nLm5ldC5Ccm93c2VyQ2hhbm5lbC5TdGF0RXZlbnQnLCAnZ29vZy5uZXQuQnJvd3NlckNoYW5uZWwuU3RhdGUnLCAnZ29vZy5uZXQuQnJvd3NlckNoYW5uZWwuVGltaW5nRXZlbnQnXSwgWydnb29nLlVyaScsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRlYnVnLlRleHRGb3JtYXR0ZXInLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5qc29uJywgJ2dvb2cuanNvbi5OYXRpdmVKc29uUHJvY2Vzc29yJywgJ2dvb2cubG9nJywgJ2dvb2cubmV0LkJyb3dzZXJUZXN0Q2hhbm5lbCcsICdnb29nLm5ldC5DaGFubmVsRGVidWcnLCAnZ29vZy5uZXQuQ2hhbm5lbFJlcXVlc3QnLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy5uZXQudG1wbmV0d29yaycsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnN0cnVjdHMnLCAnZ29vZy5zdHJ1Y3RzLkNpcmN1bGFyQnVmZmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvYnJvd3NlcmNoYW5uZWxfdGVzdC5qcycsIFsnZ29vZy5uZXQuQnJvd3NlckNoYW5uZWxUZXN0J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuanNvbicsICdnb29nLm5ldC5Ccm93c2VyQ2hhbm5lbCcsICdnb29nLm5ldC5DaGFubmVsRGVidWcnLCAnZ29vZy5uZXQuQ2hhbm5lbFJlcXVlc3QnLCAnZ29vZy5uZXQudG1wbmV0d29yaycsICdnb29nLnN0cnVjdHMuTWFwJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvYnJvd3NlcnRlc3RjaGFubmVsLmpzJywgWydnb29nLm5ldC5Ccm93c2VyVGVzdENoYW5uZWwnXSwgWydnb29nLmpzb24uTmF0aXZlSnNvblByb2Nlc3NvcicsICdnb29nLm5ldC5DaGFubmVsUmVxdWVzdCcsICdnb29nLm5ldC5DaGFubmVsUmVxdWVzdC5FcnJvcicsICdnb29nLm5ldC50bXBuZXR3b3JrJywgJ2dvb2cuc3RyaW5nLlBhcnNlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2J1bGtsb2FkZXIuanMnLCBbJ2dvb2cubmV0LkJ1bGtMb2FkZXInXSwgWydnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5sb2cnLCAnZ29vZy5uZXQuQnVsa0xvYWRlckhlbHBlcicsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5uZXQuWGhySW8nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9idWxrbG9hZGVyX3Rlc3QuanMnLCBbJ2dvb2cubmV0LkJ1bGtMb2FkZXJUZXN0J10sIFsnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cubmV0LkJ1bGtMb2FkZXInLCAnZ29vZy5uZXQuRXZlbnRUeXBlJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9idWxrbG9hZGVyaGVscGVyLmpzJywgWydnb29nLm5ldC5CdWxrTG9hZGVySGVscGVyJ10sIFsnZ29vZy5EaXNwb3NhYmxlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvY2hhbm5lbGRlYnVnLmpzJywgWydnb29nLm5ldC5DaGFubmVsRGVidWcnXSwgWydnb29nLmpzb24nLCAnZ29vZy5sb2cnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvY2hhbm5lbHJlcXVlc3QuanMnLCBbJ2dvb2cubmV0LkNoYW5uZWxSZXF1ZXN0JywgJ2dvb2cubmV0LkNoYW5uZWxSZXF1ZXN0LkVycm9yJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFzeW5jLlRocm90dGxlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5odG1sLlNhZmVVcmwnLCAnZ29vZy5odG1sLnVuY2hlY2tlZGNvbnZlcnNpb25zJywgJ2dvb2cubmV0LkVycm9yQ29kZScsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5uZXQuWG1sSHR0cCcsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2NoYW5uZWxyZXF1ZXN0X3Rlc3QuanMnLCBbJ2dvb2cubmV0LkNoYW5uZWxSZXF1ZXN0VGVzdCddLCBbJ2dvb2cuVXJpJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cubmV0LkJyb3dzZXJDaGFubmVsJywgJ2dvb2cubmV0LkNoYW5uZWxEZWJ1ZycsICdnb29nLm5ldC5DaGFubmVsUmVxdWVzdCcsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5uZXQuWGhySW8nLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvY29va2llcy5qcycsIFsnZ29vZy5uZXQuQ29va2llcycsICdnb29nLm5ldC5jb29raWVzJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuc3RyaW5nJ10sIHsnbGFuZyc6ICdlczUnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2Nvb2tpZXNfdGVzdC5qcycsIFsnZ29vZy5uZXQuY29va2llc1Rlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cubmV0LkNvb2tpZXMnLCAnZ29vZy5uZXQuY29va2llcycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2NvcnN4bWxodHRwZmFjdG9yeS5qcycsIFsnZ29vZy5uZXQuQ29yc1htbEh0dHBGYWN0b3J5JywgJ2dvb2cubmV0LkllQ29yc1hockFkYXB0ZXInXSwgWydnb29nLm5ldC5IdHRwU3RhdHVzJywgJ2dvb2cubmV0Llhockxpa2UnLCAnZ29vZy5uZXQuWG1sSHR0cCcsICdnb29nLm5ldC5YbWxIdHRwRmFjdG9yeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2NvcnN4bWxodHRwZmFjdG9yeV90ZXN0LmpzJywgWydnb29nLm5ldC5Db3JzWG1sSHR0cEZhY3RvcnlUZXN0J10sIFsnZ29vZy5uZXQuQ29yc1htbEh0dHBGYWN0b3J5JywgJ2dvb2cubmV0LkllQ29yc1hockFkYXB0ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9jcm9zc2RvbWFpbnJwYy5qcycsIFsnZ29vZy5uZXQuQ3Jvc3NEb21haW5ScGMnXSwgWydnb29nLlVyaScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmxvZycsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5uZXQuSHR0cFN0YXR1cycsICdnb29nLnN0cmluZycsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2Nyb3NzZG9tYWlucnBjX3Rlc3QuanMnLCBbJ2dvb2cubmV0LkNyb3NzRG9tYWluUnBjVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLmxvZycsICdnb29nLm5ldC5Dcm9zc0RvbWFpblJwYycsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2Vycm9yY29kZS5qcycsIFsnZ29vZy5uZXQuRXJyb3JDb2RlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2V2ZW50dHlwZS5qcycsIFsnZ29vZy5uZXQuRXZlbnRUeXBlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2ZldGNoeG1saHR0cGZhY3RvcnkuanMnLCBbJ2dvb2cubmV0LkZldGNoWG1sSHR0cCcsICdnb29nLm5ldC5GZXRjaFhtbEh0dHBGYWN0b3J5J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cubG9nJywgJ2dvb2cubmV0Llhockxpa2UnLCAnZ29vZy5uZXQuWG1sSHR0cEZhY3RvcnknXSwgeydsYW5nJzogJ2VzNSd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvZmV0Y2h4bWxodHRwZmFjdG9yeV90ZXN0LmpzJywgWydnb29nLm5ldC5GZXRjaFhtbEh0dHBGYWN0b3J5VGVzdCddLCBbJ2dvb2cubmV0LkZldGNoWG1sSHR0cCcsICdnb29nLm5ldC5GZXRjaFhtbEh0dHBGYWN0b3J5JywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QuaXNWZXJzaW9uJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2ZpbGVkb3dubG9hZGVyLmpzJywgWydnb29nLm5ldC5GaWxlRG93bmxvYWRlcicsICdnb29nLm5ldC5GaWxlRG93bmxvYWRlci5FcnJvciddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmNyeXB0Lmhhc2gzMicsICdnb29nLmRlYnVnLkVycm9yJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmZzJywgJ2dvb2cuZnMuRGlyZWN0b3J5RW50cnknLCAnZ29vZy5mcy5FcnJvcicsICdnb29nLmZzLkZpbGVTYXZlcicsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy5uZXQuWGhySW9Qb29sJywgJ2dvb2cub2JqZWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvZmlsZWRvd25sb2FkZXJfdGVzdC5qcycsIFsnZ29vZy5uZXQuRmlsZURvd25sb2FkZXJUZXN0J10sIFsnZ29vZy5mcy5FcnJvcicsICdnb29nLm5ldC5FcnJvckNvZGUnLCAnZ29vZy5uZXQuRmlsZURvd25sb2FkZXInLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5mcycsICdnb29nLnRlc3RpbmcuZnMuRmlsZVN5c3RlbScsICdnb29nLnRlc3RpbmcubmV0LlhocklvUG9vbCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2h0dHBzdGF0dXMuanMnLCBbJ2dvb2cubmV0Lkh0dHBTdGF0dXMnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvaHR0cHN0YXR1c25hbWUuanMnLCBbJ2dvb2cubmV0Lkh0dHBTdGF0dXNOYW1lJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2lmcmFtZWlvLmpzJywgWydnb29nLm5ldC5JZnJhbWVJbycsICdnb29nLm5ldC5JZnJhbWVJby5JbmNyZW1lbnRhbERhdGFFdmVudCddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5VcmknLCAnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kZWJ1Zy5IdG1sRm9ybWF0dGVyJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLklucHV0VHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC5sZWdhY3ljb252ZXJzaW9ucycsICdnb29nLmh0bWwudW5jaGVja2VkY29udmVyc2lvbnMnLCAnZ29vZy5qc29uJywgJ2dvb2cubG9nJywgJ2dvb2cubG9nLkxldmVsJywgJ2dvb2cubmV0LkVycm9yQ29kZScsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5yZWZsZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cuc3RydWN0cycsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2lmcmFtZWlvX3Rlc3QuanMnLCBbJ2dvb2cubmV0LklmcmFtZUlvVGVzdCddLCBbJ2dvb2cuZGVidWcnLCAnZ29vZy5kZWJ1Zy5EaXZDb25zb2xlJywgJ2dvb2cuZGVidWcuTG9nTWFuYWdlcicsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmxvZycsICdnb29nLmxvZy5MZXZlbCcsICdnb29nLm5ldC5JZnJhbWVJbycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5ldmVudHMuRXZlbnQnLCAnZ29vZy50ZXN0aW5nLmpzdW5pdCcsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9pZnJhbWVsb2FkbW9uaXRvci5qcycsIFsnZ29vZy5uZXQuSWZyYW1lTG9hZE1vbml0b3InXSwgWydnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9pZnJhbWVsb2FkbW9uaXRvcl90ZXN0LmpzJywgWydnb29nLm5ldC5JZnJhbWVMb2FkTW9uaXRvclRlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5UaW1lcicsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cubmV0LklmcmFtZUxvYWRNb25pdG9yJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvaW1hZ2Vsb2FkZXIuanMnLCBbJ2dvb2cubmV0LkltYWdlTG9hZGVyJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5uZXQuRXZlbnRUeXBlJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvaW1hZ2Vsb2FkZXJfdGVzdC5qcycsIFsnZ29vZy5uZXQuSW1hZ2VMb2FkZXJUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuVGltZXInLCAnZ29vZy5hcnJheScsICdnb29nLmRpc3Bvc2UnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubmV0LkV2ZW50VHlwZScsICdnb29nLm5ldC5JbWFnZUxvYWRlcicsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvaXBhZGRyZXNzLmpzJywgWydnb29nLm5ldC5JcEFkZHJlc3MnLCAnZ29vZy5uZXQuSXB2NEFkZHJlc3MnLCAnZ29vZy5uZXQuSXB2NkFkZHJlc3MnXSwgWydnb29nLmFycmF5JywgJ2dvb2cubWF0aC5JbnRlZ2VyJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvaXBhZGRyZXNzX3Rlc3QuanMnLCBbJ2dvb2cubmV0LklwQWRkcmVzc1Rlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cubWF0aC5JbnRlZ2VyJywgJ2dvb2cubmV0LklwQWRkcmVzcycsICdnb29nLm5ldC5JcHY0QWRkcmVzcycsICdnb29nLm5ldC5JcHY2QWRkcmVzcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2pzbG9hZGVyLmpzJywgWydnb29nLm5ldC5qc2xvYWRlcicsICdnb29nLm5ldC5qc2xvYWRlci5FcnJvcicsICdnb29nLm5ldC5qc2xvYWRlci5FcnJvckNvZGUnLCAnZ29vZy5uZXQuanNsb2FkZXIuT3B0aW9ucyddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmRlYnVnLkVycm9yJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwuVHJ1c3RlZFJlc291cmNlVXJsJywgJ2dvb2cub2JqZWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvanNsb2FkZXJfdGVzdC5qcycsIFsnZ29vZy5uZXQuanNsb2FkZXJUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5uZXQuanNsb2FkZXInLCAnZ29vZy5uZXQuanNsb2FkZXIuRXJyb3JDb2RlJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvanNvbnAuanMnLCBbJ2dvb2cubmV0Lkpzb25wJ10sIFsnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLm5ldC5qc2xvYWRlcicsICdnb29nLm9iamVjdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L2pzb25wX3Rlc3QuanMnLCBbJ2dvb2cubmV0Lkpzb25wVGVzdCddLCBbJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5uZXQuSnNvbnAnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvbW9ja2lmcmFtZWlvLmpzJywgWydnb29nLm5ldC5Nb2NrSUZyYW1lSW8nXSwgWydnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLm5ldC5FcnJvckNvZGUnLCAnZ29vZy5uZXQuRXZlbnRUeXBlJywgJ2dvb2cubmV0LklmcmFtZUlvJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvbXVsdGlpZnJhbWVsb2FkbW9uaXRvci5qcycsIFsnZ29vZy5uZXQuTXVsdGlJZnJhbWVMb2FkTW9uaXRvciddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cubmV0LklmcmFtZUxvYWRNb25pdG9yJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvbXVsdGlpZnJhbWVsb2FkbW9uaXRvcl90ZXN0LmpzJywgWydnb29nLm5ldC5NdWx0aUlmcmFtZUxvYWRNb25pdG9yVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLlRpbWVyJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5uZXQuTXVsdGlJZnJhbWVMb2FkTW9uaXRvcicsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L25ldHdvcmtzdGF0dXNtb25pdG9yLmpzJywgWydnb29nLm5ldC5OZXR3b3JrU3RhdHVzTW9uaXRvciddLCBbJ2dvb2cuZXZlbnRzLkxpc3RlbmFibGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9uZXR3b3JrdGVzdGVyLmpzJywgWydnb29nLm5ldC5OZXR3b3JrVGVzdGVyJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLlVyaScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cubG9nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvbmV0d29ya3Rlc3Rlcl90ZXN0LmpzJywgWydnb29nLm5ldC5OZXR3b3JrVGVzdGVyVGVzdCddLCBbJ2dvb2cuVXJpJywgJ2dvb2cubmV0Lk5ldHdvcmtUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3JwYy9odHRwY29ycy5qcycsIFsnZ29vZy5uZXQucnBjLkh0dHBDb3JzJ10sIFsnZ29vZy5VcmknLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy51cmkudXRpbHMnXSwgeydtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvcnBjL2h0dHBjb3JzX3Rlc3QuanMnLCBbJ2dvb2cubmV0LnJwYy5IdHRwQ29yc1Rlc3QnXSwgWydnb29nLlVyaScsICdnb29nLm5ldC5ycGMuSHR0cENvcnMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9zdHJlYW1zL2Jhc2U2NHBic3RyZWFtcGFyc2VyLmpzJywgWydnb29nLm5ldC5zdHJlYW1zLkJhc2U2NFBiU3RyZWFtUGFyc2VyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubmV0LnN0cmVhbXMuQmFzZTY0U3RyZWFtRGVjb2RlcicsICdnb29nLm5ldC5zdHJlYW1zLlBiU3RyZWFtUGFyc2VyJywgJ2dvb2cubmV0LnN0cmVhbXMuU3RyZWFtUGFyc2VyJ10sIHsnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3N0cmVhbXMvYmFzZTY0cGJzdHJlYW1wYXJzZXJfdGVzdC5qcycsIFsnZ29vZy5uZXQuc3RyZWFtcy5CYXNlNjRQYlN0cmVhbVBhcnNlclRlc3QnXSwgWydnb29nLmNyeXB0LmJhc2U2NCcsICdnb29nLm5ldC5zdHJlYW1zLkJhc2U2NFBiU3RyZWFtUGFyc2VyJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvc3RyZWFtcy9iYXNlNjRzdHJlYW1kZWNvZGVyLmpzJywgWydnb29nLm5ldC5zdHJlYW1zLkJhc2U2NFN0cmVhbURlY29kZXInXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5jcnlwdC5iYXNlNjQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9zdHJlYW1zL2Jhc2U2NHN0cmVhbWRlY29kZXJfdGVzdC5qcycsIFsnZ29vZy5uZXQuc3RyZWFtcy5CYXNlNjRTdHJlYW1EZWNvZGVyVGVzdCddLCBbJ2dvb2cubmV0LnN0cmVhbXMuQmFzZTY0U3RyZWFtRGVjb2RlcicsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3N0cmVhbXMvanNvbnN0cmVhbXBhcnNlci5qcycsIFsnZ29vZy5uZXQuc3RyZWFtcy5Kc29uU3RyZWFtUGFyc2VyJywgJ2dvb2cubmV0LnN0cmVhbXMuSnNvblN0cmVhbVBhcnNlci5PcHRpb25zJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubmV0LnN0cmVhbXMuU3RyZWFtUGFyc2VyJywgJ2dvb2cubmV0LnN0cmVhbXMudXRpbHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9zdHJlYW1zL2pzb25zdHJlYW1wYXJzZXJfdGVzdC5qcycsIFsnZ29vZy5uZXQuc3RyZWFtcy5Kc29uU3RyZWFtUGFyc2VyVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5qc29uJywgJ2dvb2cubGFicy50ZXN0aW5nLkpzb25GdXp6aW5nJywgJ2dvb2cubmV0LnN0cmVhbXMuSnNvblN0cmVhbVBhcnNlcicsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXJpLnV0aWxzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3N0cmVhbXMvbm9kZXJlYWRhYmxlc3RyZWFtLmpzJywgWydnb29nLm5ldC5zdHJlYW1zLk5vZGVSZWFkYWJsZVN0cmVhbSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9zdHJlYW1zL3BianNvbnN0cmVhbXBhcnNlci5qcycsIFsnZ29vZy5uZXQuc3RyZWFtcy5QYkpzb25TdHJlYW1QYXJzZXInXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5uZXQuc3RyZWFtcy5Kc29uU3RyZWFtUGFyc2VyJywgJ2dvb2cubmV0LnN0cmVhbXMuU3RyZWFtUGFyc2VyJywgJ2dvb2cubmV0LnN0cmVhbXMudXRpbHMnXSwgeydtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvc3RyZWFtcy9wYmpzb25zdHJlYW1wYXJzZXJfdGVzdC5qcycsIFsnZ29vZy5uZXQuc3RyZWFtcy5QYkpzb25TdHJlYW1QYXJzZXJUZXN0J10sIFsnZ29vZy5uZXQuc3RyZWFtcy5QYkpzb25TdHJlYW1QYXJzZXInLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9zdHJlYW1zL3Bic3RyZWFtcGFyc2VyLmpzJywgWydnb29nLm5ldC5zdHJlYW1zLlBiU3RyZWFtUGFyc2VyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubmV0LnN0cmVhbXMuU3RyZWFtUGFyc2VyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvc3RyZWFtcy9wYnN0cmVhbXBhcnNlcl90ZXN0LmpzJywgWydnb29nLm5ldC5zdHJlYW1zLlBiU3RyZWFtUGFyc2VyVGVzdCddLCBbJ2dvb2cubmV0LnN0cmVhbXMuUGJTdHJlYW1QYXJzZXInLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9zdHJlYW1zL3N0cmVhbWZhY3RvcnkuanMnLCBbJ2dvb2cubmV0LnN0cmVhbXMuY3JlYXRlWGhyTm9kZVJlYWRhYmxlU3RyZWFtJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cubmV0LnN0cmVhbXMuWGhyTm9kZVJlYWRhYmxlU3RyZWFtJywgJ2dvb2cubmV0LnN0cmVhbXMuWGhyU3RyZWFtUmVhZGVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvc3RyZWFtcy9zdHJlYW1wYXJzZXIuanMnLCBbJ2dvb2cubmV0LnN0cmVhbXMuU3RyZWFtUGFyc2VyJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3N0cmVhbXMvdXRpbHMuanMnLCBbJ2dvb2cubmV0LnN0cmVhbXMudXRpbHMnXSwgW10sIHsnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3N0cmVhbXMveGhybm9kZXJlYWRhYmxlc3RyZWFtLmpzJywgWydnb29nLm5ldC5zdHJlYW1zLlhock5vZGVSZWFkYWJsZVN0cmVhbSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5sb2cnLCAnZ29vZy5uZXQuc3RyZWFtcy5Ob2RlUmVhZGFibGVTdHJlYW0nLCAnZ29vZy5uZXQuc3RyZWFtcy5YaHJTdHJlYW1SZWFkZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC9zdHJlYW1zL3hocm5vZGVyZWFkYWJsZXN0cmVhbV90ZXN0LmpzJywgWydnb29nLm5ldC5zdHJlYW1zLlhock5vZGVSZWFkYWJsZVN0cmVhbVRlc3QnXSwgWydnb29nLm5ldC5zdHJlYW1zLk5vZGVSZWFkYWJsZVN0cmVhbScsICdnb29nLm5ldC5zdHJlYW1zLlhock5vZGVSZWFkYWJsZVN0cmVhbScsICdnb29nLm5ldC5zdHJlYW1zLlhoclN0cmVhbVJlYWRlcicsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3N0cmVhbXMveGhyc3RyZWFtcmVhZGVyLmpzJywgWydnb29nLm5ldC5zdHJlYW1zLlhoclN0cmVhbVJlYWRlciddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmxvZycsICdnb29nLm5ldC5FcnJvckNvZGUnLCAnZ29vZy5uZXQuRXZlbnRUeXBlJywgJ2dvb2cubmV0Lkh0dHBTdGF0dXMnLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy5uZXQuWG1sSHR0cCcsICdnb29nLm5ldC5zdHJlYW1zLkJhc2U2NFBiU3RyZWFtUGFyc2VyJywgJ2dvb2cubmV0LnN0cmVhbXMuSnNvblN0cmVhbVBhcnNlcicsICdnb29nLm5ldC5zdHJlYW1zLlBiSnNvblN0cmVhbVBhcnNlcicsICdnb29nLm5ldC5zdHJlYW1zLlBiU3RyZWFtUGFyc2VyJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvc3RyZWFtcy94aHJzdHJlYW1yZWFkZXJfdGVzdC5qcycsIFsnZ29vZy5uZXQuc3RyZWFtcy5YaHJTdHJlYW1SZWFkZXJUZXN0J10sIFsnZ29vZy5uZXQuRXJyb3JDb2RlJywgJ2dvb2cubmV0Lkh0dHBTdGF0dXMnLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy5uZXQuWG1sSHR0cCcsICdnb29nLm5ldC5zdHJlYW1zLkJhc2U2NFBiU3RyZWFtUGFyc2VyJywgJ2dvb2cubmV0LnN0cmVhbXMuSnNvblN0cmVhbVBhcnNlcicsICdnb29nLm5ldC5zdHJlYW1zLlBiSnNvblN0cmVhbVBhcnNlcicsICdnb29nLm5ldC5zdHJlYW1zLlBiU3RyZWFtUGFyc2VyJywgJ2dvb2cubmV0LnN0cmVhbXMuWGhyU3RyZWFtUmVhZGVyJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy5uZXQuWGhySW8nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC90ZXN0ZGF0YS9qc2xvYWRlcl90ZXN0MS5qcycsIFsnZ29vZy5uZXQudGVzdGRhdGEuanNsb2FkZXJfdGVzdDEnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvdGVzdGRhdGEvanNsb2FkZXJfdGVzdDIuanMnLCBbJ2dvb2cubmV0LnRlc3RkYXRhLmpzbG9hZGVyX3Rlc3QyJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3Rlc3RkYXRhL2pzbG9hZGVyX3Rlc3QzLmpzJywgWydnb29nLm5ldC50ZXN0ZGF0YS5qc2xvYWRlcl90ZXN0MyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC90ZXN0ZGF0YS9qc2xvYWRlcl90ZXN0NC5qcycsIFsnZ29vZy5uZXQudGVzdGRhdGEuanNsb2FkZXJfdGVzdDQnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvdG1wbmV0d29yay5qcycsIFsnZ29vZy5uZXQudG1wbmV0d29yayddLCBbJ2dvb2cuVXJpJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5uZXQuQ2hhbm5lbERlYnVnJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvd2Vic29ja2V0LmpzJywgWydnb29nLm5ldC5XZWJTb2NrZXQnLCAnZ29vZy5uZXQuV2ViU29ja2V0LkVycm9yRXZlbnQnLCAnZ29vZy5uZXQuV2ViU29ja2V0LkV2ZW50VHlwZScsICdnb29nLm5ldC5XZWJTb2NrZXQuTWVzc2FnZUV2ZW50J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kZWJ1Zy5lbnRyeVBvaW50UmVnaXN0cnknLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5sb2cnXSwgeydsYW5nJzogJ2VzNSd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQvd2Vic29ja2V0X3Rlc3QuanMnLCBbJ2dvb2cubmV0LldlYlNvY2tldFRlc3QnXSwgWydnb29nLmRlYnVnLkVudHJ5UG9pbnRNb25pdG9yJywgJ2dvb2cuZGVidWcuRXJyb3JIYW5kbGVyJywgJ2dvb2cuZGVidWcuZW50cnlQb2ludFJlZ2lzdHJ5JywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cubmV0LldlYlNvY2tldCcsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3dyYXBwZXJ4bWxodHRwZmFjdG9yeS5qcycsIFsnZ29vZy5uZXQuV3JhcHBlclhtbEh0dHBGYWN0b3J5J10sIFsnZ29vZy5uZXQuWGhyTGlrZScsICdnb29nLm5ldC5YbWxIdHRwRmFjdG9yeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3hocmlvLmpzJywgWydnb29nLm5ldC5YaHJJbycsICdnb29nLm5ldC5YaHJJby5SZXNwb25zZVR5cGUnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZGVidWcuZW50cnlQb2ludFJlZ2lzdHJ5JywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuanNvbi5oeWJyaWQnLCAnZ29vZy5sb2cnLCAnZ29vZy5uZXQuRXJyb3JDb2RlJywgJ2dvb2cubmV0LkV2ZW50VHlwZScsICdnb29nLm5ldC5IdHRwU3RhdHVzJywgJ2dvb2cubmV0LlhtbEh0dHAnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJ1Y3RzJywgJ2dvb2cuc3RydWN0cy5NYXAnLCAnZ29vZy51cmkudXRpbHMnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94aHJpb190ZXN0LmpzJywgWydnb29nLm5ldC5YaHJJb1Rlc3QnXSwgWydnb29nLlVyaScsICdnb29nLmRlYnVnLkVudHJ5UG9pbnRNb25pdG9yJywgJ2dvb2cuZGVidWcuRXJyb3JIYW5kbGVyJywgJ2dvb2cuZGVidWcuZW50cnlQb2ludFJlZ2lzdHJ5JywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cubmV0LkV2ZW50VHlwZScsICdnb29nLm5ldC5XcmFwcGVyWG1sSHR0cEZhY3RvcnknLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy5uZXQuWG1sSHR0cCcsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5qc3VuaXQnLCAnZ29vZy50ZXN0aW5nLm5ldC5YaHJJbycsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94aHJpb3Bvb2wuanMnLCBbJ2dvb2cubmV0LlhocklvUG9vbCddLCBbJ2dvb2cubmV0LlhocklvJywgJ2dvb2cuc3RydWN0cy5Qcmlvcml0eVBvb2wnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94aHJpb3Bvb2xfdGVzdC5qcycsIFsnZ29vZy5uZXQuWGhySW9Qb29sVGVzdCddLCBbJ2dvb2cubmV0LlhocklvUG9vbCcsICdnb29nLnN0cnVjdHMuTWFwJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQveGhybGlrZS5qcycsIFsnZ29vZy5uZXQuWGhyTGlrZSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94aHJtYW5hZ2VyLmpzJywgWydnb29nLm5ldC5YaHJNYW5hZ2VyJywgJ2dvb2cubmV0Llhock1hbmFnZXIuRXZlbnQnLCAnZ29vZy5uZXQuWGhyTWFuYWdlci5SZXF1ZXN0J10sIFsnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cubmV0LkVycm9yQ29kZScsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy5uZXQuWGhySW9Qb29sJywgJ2dvb2cuc3RydWN0cy5NYXAnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94aHJtYW5hZ2VyX3Rlc3QuanMnLCBbJ2dvb2cubmV0Llhock1hbmFnZXJUZXN0J10sIFsnZ29vZy5ldmVudHMnLCAnZ29vZy5uZXQuRXZlbnRUeXBlJywgJ2dvb2cubmV0LlhocklvJywgJ2dvb2cubmV0Llhock1hbmFnZXInLCAnZ29vZy50ZXN0aW5nLm5ldC5YaHJJb1Bvb2wnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQveG1saHR0cC5qcycsIFsnZ29vZy5uZXQuRGVmYXVsdFhtbEh0dHBGYWN0b3J5JywgJ2dvb2cubmV0LlhtbEh0dHAnLCAnZ29vZy5uZXQuWG1sSHR0cC5PcHRpb25UeXBlJywgJ2dvb2cubmV0LlhtbEh0dHAuUmVhZHlTdGF0ZScsICdnb29nLm5ldC5YbWxIdHRwRGVmaW5lcyddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLm5ldC5XcmFwcGVyWG1sSHR0cEZhY3RvcnknLCAnZ29vZy5uZXQuWG1sSHR0cEZhY3RvcnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94bWxodHRwZmFjdG9yeS5qcycsIFsnZ29vZy5uZXQuWG1sSHR0cEZhY3RvcnknXSwgWydnb29nLm5ldC5YaHJMaWtlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQveHBjL2Nyb3NzcGFnZWNoYW5uZWwuanMnLCBbJ2dvb2cubmV0LnhwYy5Dcm9zc1BhZ2VDaGFubmVsJ10sIFsnZ29vZy5VcmknLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmFzeW5jLkRlbGF5JywgJ2dvb2cuZGlzcG9zZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmh0bWwubGVnYWN5Y29udmVyc2lvbnMnLCAnZ29vZy5qc29uJywgJ2dvb2cubG9nJywgJ2dvb2cubWVzc2FnaW5nLkFic3RyYWN0Q2hhbm5lbCcsICdnb29nLm5ldC54cGMnLCAnZ29vZy5uZXQueHBjLkNmZ0ZpZWxkcycsICdnb29nLm5ldC54cGMuQ2hhbm5lbFN0YXRlcycsICdnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbFJvbGUnLCAnZ29vZy5uZXQueHBjLkRpcmVjdFRyYW5zcG9ydCcsICdnb29nLm5ldC54cGMuTmF0aXZlTWVzc2FnaW5nVHJhbnNwb3J0JywgJ2dvb2cubmV0LnhwYy5UcmFuc3BvcnRUeXBlcycsICdnb29nLm5ldC54cGMuVXJpQ2ZnRmllbGRzJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXJpLnV0aWxzJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQveHBjL2Nyb3NzcGFnZWNoYW5uZWxfdGVzdC5qcycsIFsnZ29vZy5uZXQueHBjLkNyb3NzUGFnZUNoYW5uZWxUZXN0J10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuUHJvbWlzZScsICdnb29nLlRpbWVyJywgJ2dvb2cuVXJpJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC5icm93c2VyJywgJ2dvb2cubG9nJywgJ2dvb2cubG9nLkxldmVsJywgJ2dvb2cubmV0LnhwYycsICdnb29nLm5ldC54cGMuQ2ZnRmllbGRzJywgJ2dvb2cubmV0LnhwYy5Dcm9zc1BhZ2VDaGFubmVsJywgJ2dvb2cubmV0LnhwYy5Dcm9zc1BhZ2VDaGFubmVsUm9sZScsICdnb29nLm5ldC54cGMuVHJhbnNwb3J0VHlwZXMnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5qc3VuaXQnXSwgeydsYW5nJzogJ2VzOCd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQveHBjL2Nyb3NzcGFnZWNoYW5uZWxyb2xlLmpzJywgWydnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbFJvbGUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQveHBjL2RpcmVjdHRyYW5zcG9ydC5qcycsIFsnZ29vZy5uZXQueHBjLkRpcmVjdFRyYW5zcG9ydCddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5sb2cnLCAnZ29vZy5uZXQueHBjJywgJ2dvb2cubmV0LnhwYy5DZmdGaWVsZHMnLCAnZ29vZy5uZXQueHBjLkNyb3NzUGFnZUNoYW5uZWxSb2xlJywgJ2dvb2cubmV0LnhwYy5UcmFuc3BvcnQnLCAnZ29vZy5uZXQueHBjLlRyYW5zcG9ydFR5cGVzJywgJ2dvb2cub2JqZWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCduZXQveHBjL2RpcmVjdHRyYW5zcG9ydF90ZXN0LmpzJywgWydnb29nLm5ldC54cGMuRGlyZWN0VHJhbnNwb3J0VGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlcicsICdnb29nLmxvZycsICdnb29nLmxvZy5MZXZlbCcsICdnb29nLm5ldC54cGMnLCAnZ29vZy5uZXQueHBjLkNmZ0ZpZWxkcycsICdnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbCcsICdnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbFJvbGUnLCAnZ29vZy5uZXQueHBjLlRyYW5zcG9ydFR5cGVzJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3hwYy9pZnJhbWVwb2xsaW5ndHJhbnNwb3J0LmpzJywgWydnb29nLm5ldC54cGMuSWZyYW1lUG9sbGluZ1RyYW5zcG9ydCcsICdnb29nLm5ldC54cGMuSWZyYW1lUG9sbGluZ1RyYW5zcG9ydC5SZWNlaXZlcicsICdnb29nLm5ldC54cGMuSWZyYW1lUG9sbGluZ1RyYW5zcG9ydC5TZW5kZXInXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmxvZycsICdnb29nLmxvZy5MZXZlbCcsICdnb29nLm5ldC54cGMnLCAnZ29vZy5uZXQueHBjLkNmZ0ZpZWxkcycsICdnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbFJvbGUnLCAnZ29vZy5uZXQueHBjLlRyYW5zcG9ydCcsICdnb29nLm5ldC54cGMuVHJhbnNwb3J0VHlwZXMnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94cGMvaWZyYW1lcG9sbGluZ3RyYW5zcG9ydF90ZXN0LmpzJywgWydnb29nLm5ldC54cGMuSWZyYW1lUG9sbGluZ1RyYW5zcG9ydFRlc3QnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5uZXQueHBjLkNmZ0ZpZWxkcycsICdnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbCcsICdnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbFJvbGUnLCAnZ29vZy5uZXQueHBjLklmcmFtZVBvbGxpbmdUcmFuc3BvcnQnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94cGMvbmF0aXZlbWVzc2FnaW5ndHJhbnNwb3J0LmpzJywgWydnb29nLm5ldC54cGMuTmF0aXZlTWVzc2FnaW5nVHJhbnNwb3J0J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFzc2VydHMnLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5sb2cnLCAnZ29vZy5uZXQueHBjJywgJ2dvb2cubmV0LnhwYy5Dcm9zc1BhZ2VDaGFubmVsUm9sZScsICdnb29nLm5ldC54cGMuVHJhbnNwb3J0JywgJ2dvb2cubmV0LnhwYy5UcmFuc3BvcnRUeXBlcyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3hwYy9uYXRpdmVtZXNzYWdpbmd0cmFuc3BvcnRfdGVzdC5qcycsIFsnZ29vZy5uZXQueHBjLk5hdGl2ZU1lc3NhZ2luZ1RyYW5zcG9ydFRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLm5ldC54cGMnLCAnZ29vZy5uZXQueHBjLkNmZ0ZpZWxkcycsICdnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbCcsICdnb29nLm5ldC54cGMuQ3Jvc3NQYWdlQ2hhbm5lbFJvbGUnLCAnZ29vZy5uZXQueHBjLk5hdGl2ZU1lc3NhZ2luZ1RyYW5zcG9ydCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3hwYy9yZWxheS5qcycsIFsnZ29vZy5uZXQueHBjLnJlbGF5J10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ25ldC94cGMvdHJhbnNwb3J0LmpzJywgWydnb29nLm5ldC54cGMuVHJhbnNwb3J0J10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuZG9tJywgJ2dvb2cubmV0LnhwYy5UcmFuc3BvcnROYW1lcyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnbmV0L3hwYy94cGMuanMnLCBbJ2dvb2cubmV0LnhwYycsICdnb29nLm5ldC54cGMuQ2ZnRmllbGRzJywgJ2dvb2cubmV0LnhwYy5DaGFubmVsU3RhdGVzJywgJ2dvb2cubmV0LnhwYy5UcmFuc3BvcnROYW1lcycsICdnb29nLm5ldC54cGMuVHJhbnNwb3J0VHlwZXMnLCAnZ29vZy5uZXQueHBjLlVyaUNmZ0ZpZWxkcyddLCBbJ2dvb2cubG9nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdvYmplY3Qvb2JqZWN0LmpzJywgWydnb29nLm9iamVjdCddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdvYmplY3Qvb2JqZWN0X3Rlc3QuanMnLCBbJ2dvb2cub2JqZWN0VGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwb3NpdGlvbmluZy9hYnNvbHV0ZXBvc2l0aW9uLmpzJywgWydnb29nLnBvc2l0aW9uaW5nLkFic29sdXRlUG9zaXRpb24nXSwgWydnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnBvc2l0aW9uaW5nJywgJ2dvb2cucG9zaXRpb25pbmcuQWJzdHJhY3RQb3NpdGlvbiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncG9zaXRpb25pbmcvYWJzdHJhY3Rwb3NpdGlvbi5qcycsIFsnZ29vZy5wb3NpdGlvbmluZy5BYnN0cmFjdFBvc2l0aW9uJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncG9zaXRpb25pbmcvYW5jaG9yZWRwb3NpdGlvbi5qcycsIFsnZ29vZy5wb3NpdGlvbmluZy5BbmNob3JlZFBvc2l0aW9uJ10sIFsnZ29vZy5wb3NpdGlvbmluZycsICdnb29nLnBvc2l0aW9uaW5nLkFic3RyYWN0UG9zaXRpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Bvc2l0aW9uaW5nL2FuY2hvcmVkcG9zaXRpb25fdGVzdC5qcycsIFsnZ29vZy5wb3NpdGlvbmluZy5BbmNob3JlZFBvc2l0aW9uVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cucG9zaXRpb25pbmcuQW5jaG9yZWRQb3NpdGlvbicsICdnb29nLnBvc2l0aW9uaW5nLkNvcm5lcicsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Bvc2l0aW9uaW5nL2FuY2hvcmVkdmlld3BvcnRwb3NpdGlvbi5qcycsIFsnZ29vZy5wb3NpdGlvbmluZy5BbmNob3JlZFZpZXdwb3J0UG9zaXRpb24nXSwgWydnb29nLnBvc2l0aW9uaW5nJywgJ2dvb2cucG9zaXRpb25pbmcuQW5jaG9yZWRQb3NpdGlvbicsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93JywgJ2dvb2cucG9zaXRpb25pbmcuT3ZlcmZsb3dTdGF0dXMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Bvc2l0aW9uaW5nL2FuY2hvcmVkdmlld3BvcnRwb3NpdGlvbl90ZXN0LmpzJywgWydnb29nLnBvc2l0aW9uaW5nLkFuY2hvcmVkVmlld3BvcnRQb3NpdGlvblRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLm1hdGguQm94JywgJ2dvb2cucG9zaXRpb25pbmcuQW5jaG9yZWRWaWV3cG9ydFBvc2l0aW9uJywgJ2dvb2cucG9zaXRpb25pbmcuQ29ybmVyJywgJ2dvb2cucG9zaXRpb25pbmcuT3ZlcmZsb3dTdGF0dXMnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncG9zaXRpb25pbmcvY2xpZW50cG9zaXRpb24uanMnLCBbJ2dvb2cucG9zaXRpb25pbmcuQ2xpZW50UG9zaXRpb24nXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5wb3NpdGlvbmluZycsICdnb29nLnBvc2l0aW9uaW5nLkFic3RyYWN0UG9zaXRpb24nLCAnZ29vZy5zdHlsZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncG9zaXRpb25pbmcvY2xpZW50cG9zaXRpb25fdGVzdC5qcycsIFsnZ29vZy5wb3NpdGlvbmluZy5jbGllbnRQb3NpdGlvblRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cucG9zaXRpb25pbmcuQ2xpZW50UG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncG9zaXRpb25pbmcvbWVudWFuY2hvcmVkcG9zaXRpb24uanMnLCBbJ2dvb2cucG9zaXRpb25pbmcuTWVudUFuY2hvcmVkUG9zaXRpb24nXSwgWydnb29nLnBvc2l0aW9uaW5nLkFuY2hvcmVkVmlld3BvcnRQb3NpdGlvbicsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwb3NpdGlvbmluZy9tZW51YW5jaG9yZWRwb3NpdGlvbl90ZXN0LmpzJywgWydnb29nLnBvc2l0aW9uaW5nLk1lbnVBbmNob3JlZFBvc2l0aW9uVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5wb3NpdGlvbmluZy5NZW51QW5jaG9yZWRQb3NpdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncG9zaXRpb25pbmcvcG9zaXRpb25pbmcuanMnLCBbJ2dvb2cucG9zaXRpb25pbmcnLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXJCaXQnLCAnZ29vZy5wb3NpdGlvbmluZy5PdmVyZmxvdycsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93U3RhdHVzJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5tYXRoLlJlY3QnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy5zdHlsZScsICdnb29nLnN0eWxlLmJpZGknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Bvc2l0aW9uaW5nL3Bvc2l0aW9uaW5nX3Rlc3QuanMnLCBbJ2dvb2cucG9zaXRpb25pbmdUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uRG9tSGVscGVyJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC5icm93c2VyJywgJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy5wb3NpdGlvbmluZycsICdnb29nLnBvc2l0aW9uaW5nLkNvcm5lcicsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93JywgJ2dvb2cucG9zaXRpb25pbmcuT3ZlcmZsb3dTdGF0dXMnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwb3NpdGlvbmluZy92aWV3cG9ydGNsaWVudHBvc2l0aW9uLmpzJywgWydnb29nLnBvc2l0aW9uaW5nLlZpZXdwb3J0Q2xpZW50UG9zaXRpb24nXSwgWydnb29nLmRvbScsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnBvc2l0aW9uaW5nJywgJ2dvb2cucG9zaXRpb25pbmcuQ2xpZW50UG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5PdmVyZmxvdycsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93U3RhdHVzJywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Bvc2l0aW9uaW5nL3ZpZXdwb3J0Y2xpZW50cG9zaXRpb25fdGVzdC5qcycsIFsnZ29vZy5wb3NpdGlvbmluZy5WaWV3cG9ydENsaWVudFBvc2l0aW9uVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cucG9zaXRpb25pbmcuQ29ybmVyJywgJ2dvb2cucG9zaXRpb25pbmcuT3ZlcmZsb3cnLCAnZ29vZy5wb3NpdGlvbmluZy5WaWV3cG9ydENsaWVudFBvc2l0aW9uJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Bvc2l0aW9uaW5nL3ZpZXdwb3J0cG9zaXRpb24uanMnLCBbJ2dvb2cucG9zaXRpb25pbmcuVmlld3BvcnRQb3NpdGlvbiddLCBbJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cucG9zaXRpb25pbmcnLCAnZ29vZy5wb3NpdGlvbmluZy5BYnN0cmFjdFBvc2l0aW9uJywgJ2dvb2cucG9zaXRpb25pbmcuQ29ybmVyJywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb21pc2UvbmF0aXZlcmVzb2x2ZXIuanMnLCBbJ2dvb2cucHJvbWlzZS5OYXRpdmVSZXNvbHZlciddLCBbXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm9taXNlL25hdGl2ZXJlc29sdmVyX3Rlc3QuanMnLCBbJ2dvb2cucHJvbWlzZS5uYXRpdmVSZXNvbHZlclRlc3QnXSwgWydnb29nLnByb21pc2UuTmF0aXZlUmVzb2x2ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb21pc2UvcHJvbWlzZS5qcycsIFsnZ29vZy5Qcm9taXNlJ10sIFsnZ29vZy5UaGVuYWJsZScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5hc3luYy5GcmVlTGlzdCcsICdnb29nLmFzeW5jLnJ1bicsICdnb29nLmFzeW5jLnRocm93RXhjZXB0aW9uJywgJ2dvb2cuZGVidWcuRXJyb3InLCAnZ29vZy5wcm9taXNlLlJlc29sdmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm9taXNlL3Byb21pc2VfdGVzdC5qcycsIFsnZ29vZy5Qcm9taXNlVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLlRoZW5hYmxlJywgJ2dvb2cuVGltZXInLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzOCcsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm9taXNlL3Jlc29sdmVyLmpzJywgWydnb29nLnByb21pc2UuUmVzb2x2ZXInXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm9taXNlL3Rlc3RzdWl0ZWFkYXB0ZXIuanMnLCBbJ2dvb2cucHJvbWlzZS50ZXN0U3VpdGVBZGFwdGVyJ10sIFsnZ29vZy5Qcm9taXNlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm9taXNlL3RoZW5hYmxlLmpzJywgWydnb29nLlRoZW5hYmxlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHJvdG8yL2Rlc2NyaXB0b3IuanMnLCBbJ2dvb2cucHJvdG8yLkRlc2NyaXB0b3InLCAnZ29vZy5wcm90bzIuTWV0YWRhdGEnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHJvdG8yL2Rlc2NyaXB0b3JfdGVzdC5qcycsIFsnZ29vZy5wcm90bzIuRGVzY3JpcHRvclRlc3QnXSwgWydnb29nLnByb3RvMi5EZXNjcmlwdG9yJywgJ2dvb2cucHJvdG8yLk1lc3NhZ2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb3RvMi9maWVsZGRlc2NyaXB0b3IuanMnLCBbJ2dvb2cucHJvdG8yLkZpZWxkRGVzY3JpcHRvciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHJvdG8yL2ZpZWxkZGVzY3JpcHRvcl90ZXN0LmpzJywgWydnb29nLnByb3RvMi5GaWVsZERlc2NyaXB0b3JUZXN0J10sIFsnZ29vZy5wcm90bzIuRmllbGREZXNjcmlwdG9yJywgJ2dvb2cucHJvdG8yLk1lc3NhZ2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb3RvMi9sYXp5ZGVzZXJpYWxpemVyLmpzJywgWydnb29nLnByb3RvMi5MYXp5RGVzZXJpYWxpemVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cucHJvdG8yLk1lc3NhZ2UnLCAnZ29vZy5wcm90bzIuU2VyaWFsaXplciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHJvdG8yL21lc3NhZ2UuanMnLCBbJ2dvb2cucHJvdG8yLk1lc3NhZ2UnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5wcm90bzIuRGVzY3JpcHRvcicsICdnb29nLnByb3RvMi5GaWVsZERlc2NyaXB0b3InXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb3RvMi9tZXNzYWdlX3Rlc3QuanMnLCBbJ2dvb2cucHJvdG8yLk1lc3NhZ2VUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdwcm90bzIuVGVzdEFsbFR5cGVzJywgJ3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bScsICdwcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2UnLCAncHJvdG8yLlRlc3RBbGxUeXBlcy5PcHRpb25hbEdyb3VwJywgJ3Byb3RvMi5UZXN0QWxsVHlwZXMuUmVwZWF0ZWRHcm91cCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb3RvMi9vYmplY3RzZXJpYWxpemVyLmpzJywgWydnb29nLnByb3RvMi5PYmplY3RTZXJpYWxpemVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cucHJvdG8yLkZpZWxkRGVzY3JpcHRvcicsICdnb29nLnByb3RvMi5TZXJpYWxpemVyJywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm90bzIvb2JqZWN0c2VyaWFsaXplcl90ZXN0LmpzJywgWydnb29nLnByb3RvMi5PYmplY3RTZXJpYWxpemVyVGVzdCddLCBbJ2dvb2cucHJvdG8yLk9iamVjdFNlcmlhbGl6ZXInLCAnZ29vZy5wcm90bzIuU2VyaWFsaXplcicsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ3Byb3RvMi5UZXN0QWxsVHlwZXMnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm90bzIvcGFja2FnZV90ZXN0LnBiLmpzJywgWydzb21lcHJvdG9wYWNrYWdlLlRlc3RQYWNrYWdlVHlwZXMnXSwgWydnb29nLnByb3RvMi5NZXNzYWdlJywgJ3Byb3RvMi5UZXN0QWxsVHlwZXMnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm90bzIvcGJsaXRlc2VyaWFsaXplci5qcycsIFsnZ29vZy5wcm90bzIuUGJMaXRlU2VyaWFsaXplciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLnByb3RvMi5GaWVsZERlc2NyaXB0b3InLCAnZ29vZy5wcm90bzIuTGF6eURlc2VyaWFsaXplcicsICdnb29nLnByb3RvMi5TZXJpYWxpemVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm90bzIvcGJsaXRlc2VyaWFsaXplcl90ZXN0LmpzJywgWydnb29nLnByb3RvMi5QYkxpdGVTZXJpYWxpemVyVGVzdCddLCBbJ2dvb2cucHJvdG8yLlBiTGl0ZVNlcmlhbGl6ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdwcm90bzIuVGVzdEFsbFR5cGVzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHJvdG8yL3Byb3RvX3Rlc3QuanMnLCBbJ2dvb2cucHJvdG8yLm1lc3NhZ2VUZXN0J10sIFsnZ29vZy5wcm90bzIuRmllbGREZXNjcmlwdG9yJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAncHJvdG8yLlRlc3RBbGxUeXBlcycsICdwcm90bzIuVGVzdERlZmF1bHRQYXJlbnQnLCAnc29tZXByb3RvcGFja2FnZS5UZXN0UGFja2FnZVR5cGVzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHJvdG8yL3NlcmlhbGl6ZXIuanMnLCBbJ2dvb2cucHJvdG8yLlNlcmlhbGl6ZXInXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5wcm90bzIuRmllbGREZXNjcmlwdG9yJywgJ2dvb2cucHJvdG8yLk1lc3NhZ2UnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb3RvMi90ZXN0LnBiLmpzJywgWydwcm90bzIuVGVzdEFsbFR5cGVzJywgJ3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bScsICdwcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2UnLCAncHJvdG8yLlRlc3RBbGxUeXBlcy5PcHRpb25hbEdyb3VwJywgJ3Byb3RvMi5UZXN0QWxsVHlwZXMuUmVwZWF0ZWRHcm91cCcsICdwcm90bzIuVGVzdERlZmF1bHRDaGlsZCcsICdwcm90bzIuVGVzdERlZmF1bHRQYXJlbnQnXSwgWydnb29nLnByb3RvMi5NZXNzYWdlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwcm90bzIvdGV4dGZvcm1hdHNlcmlhbGl6ZXIuanMnLCBbJ2dvb2cucHJvdG8yLlRleHRGb3JtYXRTZXJpYWxpemVyJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5tYXRoJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cucHJvdG8yLkZpZWxkRGVzY3JpcHRvcicsICdnb29nLnByb3RvMi5NZXNzYWdlJywgJ2dvb2cucHJvdG8yLlNlcmlhbGl6ZXInLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb3RvMi90ZXh0Zm9ybWF0c2VyaWFsaXplcl90ZXN0LmpzJywgWydnb29nLnByb3RvMi5UZXh0Rm9ybWF0U2VyaWFsaXplclRlc3QnXSwgWydnb29nLnByb3RvMi5PYmplY3RTZXJpYWxpemVyJywgJ2dvb2cucHJvdG8yLlRleHRGb3JtYXRTZXJpYWxpemVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAncHJvdG8yLlRlc3RBbGxUeXBlcyddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Byb3RvMi91dGlsLmpzJywgWydnb29nLnByb3RvMi5VdGlsJ10sIFsnZ29vZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwdWJzdWIvcHVic3ViLmpzJywgWydnb29nLnB1YnN1Yi5QdWJTdWInXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5hcnJheScsICdnb29nLmFzeW5jLnJ1biddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHVic3ViL3B1YnN1Yl90ZXN0LmpzJywgWydnb29nLnB1YnN1Yi5QdWJTdWJUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLnB1YnN1Yi5QdWJTdWInLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHVic3ViL3RvcGljaWQuanMnLCBbJ2dvb2cucHVic3ViLlRvcGljSWQnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdwdWJzdWIvdHlwZWRwdWJzdWIuanMnLCBbJ2dvb2cucHVic3ViLlR5cGVkUHViU3ViJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cucHVic3ViLlB1YlN1YiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncHVic3ViL3R5cGVkcHVic3ViX3Rlc3QuanMnLCBbJ2dvb2cucHVic3ViLlR5cGVkUHViU3ViVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5wdWJzdWIuVG9waWNJZCcsICdnb29nLnB1YnN1Yi5UeXBlZFB1YlN1YicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncmVmbGVjdC9yZWZsZWN0LmpzJywgWydnb29nLnJlZmxlY3QnXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncmVmbGVjdC9yZWZsZWN0X3Rlc3QuanMnLCBbJ2dvb2cucmVmbGVjdFRlc3QnXSwgWydnb29nLm9iamVjdCcsICdnb29nLnJlZmxlY3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Jlc3VsdC9jaGFpbl90ZXN0LmpzJywgWydnb29nLnJlc3VsdC5jaGFpblRlc3QnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cucmVzdWx0JywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdyZXN1bHQvY29tYmluZV90ZXN0LmpzJywgWydnb29nLnJlc3VsdC5jb21iaW5lVGVzdCddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hcnJheScsICdnb29nLnJlc3VsdCcsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncmVzdWx0L2RlZmVycmVkYWRhcHRvci5qcycsIFsnZ29vZy5yZXN1bHQuRGVmZXJyZWRBZGFwdG9yJ10sIFsnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLnJlc3VsdCcsICdnb29nLnJlc3VsdC5SZXN1bHQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Jlc3VsdC9kZWZlcnJlZGFkYXB0b3JfdGVzdC5qcycsIFsnZ29vZy5yZXN1bHQuRGVmZXJyZWRBZGFwdG9yVGVzdCddLCBbJ2dvb2cuYXN5bmMuRGVmZXJyZWQnLCAnZ29vZy5yZXN1bHQnLCAnZ29vZy5yZXN1bHQuRGVmZXJyZWRBZGFwdG9yJywgJ2dvb2cucmVzdWx0LlNpbXBsZVJlc3VsdCcsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Jlc3VsdC9kZXBlbmRlbnRyZXN1bHQuanMnLCBbJ2dvb2cucmVzdWx0LkRlcGVuZGVudFJlc3VsdCddLCBbJ2dvb2cucmVzdWx0LlJlc3VsdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncmVzdWx0L3Jlc3VsdF9pbnRlcmZhY2UuanMnLCBbJ2dvb2cucmVzdWx0LlJlc3VsdCddLCBbJ2dvb2cuVGhlbmFibGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Jlc3VsdC9yZXN1bHR1dGlsLmpzJywgWydnb29nLnJlc3VsdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5yZXN1bHQuRGVwZW5kZW50UmVzdWx0JywgJ2dvb2cucmVzdWx0LlJlc3VsdCcsICdnb29nLnJlc3VsdC5TaW1wbGVSZXN1bHQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Jlc3VsdC9yZXN1bHR1dGlsX3Rlc3QuanMnLCBbJ2dvb2cucmVzdWx0VGVzdCddLCBbJ2dvb2cucmVzdWx0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdyZXN1bHQvc2ltcGxlcmVzdWx0LmpzJywgWydnb29nLnJlc3VsdC5TaW1wbGVSZXN1bHQnLCAnZ29vZy5yZXN1bHQuU2ltcGxlUmVzdWx0LlN0YXRlRXJyb3InXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5UaGVuYWJsZScsICdnb29nLmRlYnVnLkVycm9yJywgJ2dvb2cucmVzdWx0LlJlc3VsdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncmVzdWx0L3NpbXBsZXJlc3VsdF90ZXN0LmpzJywgWydnb29nLnJlc3VsdC5TaW1wbGVSZXN1bHRUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuVGhlbmFibGUnLCAnZ29vZy5UaW1lcicsICdnb29nLnJlc3VsdCcsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgncmVzdWx0L3RyYW5zZm9ybV90ZXN0LmpzJywgWydnb29nLnJlc3VsdC50cmFuc2Zvcm1UZXN0J10sIFsnZ29vZy5UaW1lcicsICdnb29nLnJlc3VsdCcsICdnb29nLnJlc3VsdC5TaW1wbGVSZXN1bHQnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Jlc3VsdC93YWl0X3Rlc3QuanMnLCBbJ2dvb2cucmVzdWx0LndhaXRUZXN0J10sIFsnZ29vZy5UaW1lcicsICdnb29nLnJlc3VsdCcsICdnb29nLnJlc3VsdC5TaW1wbGVSZXN1bHQnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3NveS9kYXRhLmpzJywgWydnb29nLnNveS5kYXRhLlNhbml0aXplZENvbnRlbnQnLCAnZ29vZy5zb3kuZGF0YS5TYW5pdGl6ZWRDb250ZW50S2luZCcsICdnb29nLnNveS5kYXRhLlNhbml0aXplZENzcycsICdnb29nLnNveS5kYXRhLlNhbml0aXplZEh0bWwnLCAnZ29vZy5zb3kuZGF0YS5TYW5pdGl6ZWRIdG1sQXR0cmlidXRlJywgJ2dvb2cuc295LmRhdGEuU2FuaXRpemVkSnMnLCAnZ29vZy5zb3kuZGF0YS5TYW5pdGl6ZWRUcnVzdGVkUmVzb3VyY2VVcmknLCAnZ29vZy5zb3kuZGF0YS5TYW5pdGl6ZWRVcmknXSwgWydnb29nLlVyaScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuaHRtbC5TYWZlU2NyaXB0JywgJ2dvb2cuaHRtbC5TYWZlU3R5bGUnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5odG1sLnVuY2hlY2tlZGNvbnZlcnNpb25zJywgJ2dvb2cuaTE4bi5iaWRpLkRpcicsICdnb29nLnN0cmluZy5Db25zdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc295L2RhdGFfdGVzdC5qcycsIFsnZ29vZy5zb3kuZGF0YVRlc3QnXSwgWydnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5zb3kudGVzdEhlbHBlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc295L3JlbmRlcmVyLmpzJywgWydnb29nLnNveS5JbmplY3RlZERhdGFTdXBwbGllcicsICdnb29nLnNveS5SZW5kZXJlciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLnNveScsICdnb29nLnNveS5kYXRhLlNhbml0aXplZENvbnRlbnQnLCAnZ29vZy5zb3kuZGF0YS5TYW5pdGl6ZWRDb250ZW50S2luZCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc295L3JlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cuc295LlJlbmRlcmVyVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuaTE4bi5iaWRpLkRpcicsICdnb29nLnNveS5SZW5kZXJlcicsICdnb29nLnNveS5kYXRhLlNhbml0aXplZENvbnRlbnRLaW5kJywgJ2dvb2cuc295LnRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzb3kvc295LmpzJywgWydnb29nLnNveSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cuc295LmRhdGEuU2FuaXRpemVkQ29udGVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc295L3NveV90ZXN0LmpzJywgWydnb29nLnNveVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuc295JywgJ2dvb2cuc295LnRlc3RIZWxwZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3NveS9zb3lfdGVzdGhlbHBlci5qcycsIFsnZ29vZy5zb3kudGVzdEhlbHBlciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5pMThuLmJpZGkuRGlyJywgJ2dvb2cuc295LmRhdGEuU2FuaXRpemVkQ29udGVudCcsICdnb29nLnNveS5kYXRhLlNhbml0aXplZENvbnRlbnRLaW5kJywgJ2dvb2cuc295LmRhdGEuU2FuaXRpemVkQ3NzJywgJ2dvb2cuc295LmRhdGEuU2FuaXRpemVkVHJ1c3RlZFJlc291cmNlVXJpJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3BlbGwvc3BlbGxjaGVjay5qcycsIFsnZ29vZy5zcGVsbC5TcGVsbENoZWNrJywgJ2dvb2cuc3BlbGwuU3BlbGxDaGVjay5Xb3JkQ2hhbmdlZEV2ZW50J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLnN0cnVjdHMuU2V0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzcGVsbC9zcGVsbGNoZWNrX3Rlc3QuanMnLCBbJ2dvb2cuc3BlbGwuU3BlbGxDaGVja1Rlc3QnXSwgWydnb29nLnNwZWxsLlNwZWxsQ2hlY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0YXRzL2Jhc2ljc3RhdC5qcycsIFsnZ29vZy5zdGF0cy5CYXNpY1N0YXQnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5sb2cnLCAnZ29vZy5zdHJpbmcuZm9ybWF0JywgJ2dvb2cuc3RydWN0cy5DaXJjdWxhckJ1ZmZlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RhdHMvYmFzaWNzdGF0X3Rlc3QuanMnLCBbJ2dvb2cuc3RhdHMuQmFzaWNTdGF0VGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5zdGF0cy5CYXNpY1N0YXQnLCAnZ29vZy5zdHJpbmcuZm9ybWF0JywgJ2dvb2cudGVzdGluZy5Qc2V1ZG9SYW5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0b3JhZ2UvY29sbGVjdGFibGVzdG9yYWdlLmpzJywgWydnb29nLnN0b3JhZ2UuQ29sbGVjdGFibGVTdG9yYWdlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLml0ZXInLCAnZ29vZy5zdG9yYWdlLkVycm9yQ29kZScsICdnb29nLnN0b3JhZ2UuRXhwaXJpbmdTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5SaWNoU3RvcmFnZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RvcmFnZS9jb2xsZWN0YWJsZXN0b3JhZ2VfdGVzdC5qcycsIFsnZ29vZy5zdG9yYWdlLkNvbGxlY3RhYmxlU3RvcmFnZVRlc3QnXSwgWydnb29nLnN0b3JhZ2UuQ29sbGVjdGFibGVTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5jb2xsZWN0YWJsZVN0b3JhZ2VUZXN0ZXInLCAnZ29vZy5zdG9yYWdlLnN0b3JhZ2VUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3Rpbmcuc3RvcmFnZS5GYWtlTWVjaGFuaXNtJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL2NvbGxlY3RhYmxlc3RvcmFnZXRlc3Rlci5qcycsIFsnZ29vZy5zdG9yYWdlLmNvbGxlY3RhYmxlU3RvcmFnZVRlc3RlciddLCBbJ2dvb2cudGVzdGluZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL2VuY3J5cHRlZHN0b3JhZ2UuanMnLCBbJ2dvb2cuc3RvcmFnZS5FbmNyeXB0ZWRTdG9yYWdlJ10sIFsnZ29vZy5jcnlwdCcsICdnb29nLmNyeXB0LkFyYzQnLCAnZ29vZy5jcnlwdC5TaGExJywgJ2dvb2cuY3J5cHQuYmFzZTY0JywgJ2dvb2cuanNvbicsICdnb29nLmpzb24uU2VyaWFsaXplcicsICdnb29nLnN0b3JhZ2UuQ29sbGVjdGFibGVTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5FcnJvckNvZGUnLCAnZ29vZy5zdG9yYWdlLlJpY2hTdG9yYWdlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL2VuY3J5cHRlZHN0b3JhZ2VfdGVzdC5qcycsIFsnZ29vZy5zdG9yYWdlLkVuY3J5cHRlZFN0b3JhZ2VUZXN0J10sIFsnZ29vZy5qc29uJywgJ2dvb2cuc3RvcmFnZS5FbmNyeXB0ZWRTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5FcnJvckNvZGUnLCAnZ29vZy5zdG9yYWdlLlJpY2hTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5jb2xsZWN0YWJsZVN0b3JhZ2VUZXN0ZXInLCAnZ29vZy5zdG9yYWdlLnN0b3JhZ2VUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuUHNldWRvUmFuZG9tJywgJ2dvb2cudGVzdGluZy5zdG9yYWdlLkZha2VNZWNoYW5pc20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0b3JhZ2UvZXJyb3Jjb2RlLmpzJywgWydnb29nLnN0b3JhZ2UuRXJyb3JDb2RlJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RvcmFnZS9leHBpcmluZ3N0b3JhZ2UuanMnLCBbJ2dvb2cuc3RvcmFnZS5FeHBpcmluZ1N0b3JhZ2UnXSwgWydnb29nLnN0b3JhZ2UuUmljaFN0b3JhZ2UnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0b3JhZ2UvZXhwaXJpbmdzdG9yYWdlX3Rlc3QuanMnLCBbJ2dvb2cuc3RvcmFnZS5FeHBpcmluZ1N0b3JhZ2VUZXN0J10sIFsnZ29vZy5zdG9yYWdlLkV4cGlyaW5nU3RvcmFnZScsICdnb29nLnN0b3JhZ2Uuc3RvcmFnZVRlc3RlcicsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5zdG9yYWdlLkZha2VNZWNoYW5pc20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0b3JhZ2UvbWVjaGFuaXNtL2Vycm9yY29kZS5qcycsIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5FcnJvckNvZGUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9lcnJvcmhhbmRsaW5nbWVjaGFuaXNtLmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkVycm9ySGFuZGxpbmdNZWNoYW5pc20nXSwgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLk1lY2hhbmlzbSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RvcmFnZS9tZWNoYW5pc20vZXJyb3JoYW5kbGluZ21lY2hhbmlzbV90ZXN0LmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkVycm9ySGFuZGxpbmdNZWNoYW5pc21UZXN0J10sIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5FcnJvckhhbmRsaW5nTWVjaGFuaXNtJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RvcmFnZS9tZWNoYW5pc20vaHRtbDVsb2NhbHN0b3JhZ2UuanMnLCBbJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20uSFRNTDVMb2NhbFN0b3JhZ2UnXSwgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkhUTUw1V2ViU3RvcmFnZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RvcmFnZS9tZWNoYW5pc20vaHRtbDVsb2NhbHN0b3JhZ2VfdGVzdC5qcycsIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5IVE1MNUxvY2FsU3RvcmFnZVRlc3QnXSwgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkhUTUw1TG9jYWxTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20ubWVjaGFuaXNtU2VwYXJhdGlvblRlc3RlcicsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbVNoYXJpbmdUZXN0ZXInLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5tZWNoYW5pc21UZXN0RGVmaW5pdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9odG1sNXNlc3Npb25zdG9yYWdlLmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkhUTUw1U2Vzc2lvblN0b3JhZ2UnXSwgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkhUTUw1V2ViU3RvcmFnZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RvcmFnZS9tZWNoYW5pc20vaHRtbDVzZXNzaW9uc3RvcmFnZV90ZXN0LmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkhUTUw1U2Vzc2lvblN0b3JhZ2VUZXN0J10sIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5IVE1MNVNlc3Npb25TdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20ubWVjaGFuaXNtU2VwYXJhdGlvblRlc3RlcicsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbVNoYXJpbmdUZXN0ZXInLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5tZWNoYW5pc21UZXN0RGVmaW5pdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9odG1sNXdlYnN0b3JhZ2UuanMnLCBbJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20uSFRNTDVXZWJTdG9yYWdlJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuaXRlci5JdGVyYXRvcicsICdnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbicsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkVycm9yQ29kZScsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkl0ZXJhYmxlTWVjaGFuaXNtJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9odG1sNXdlYnN0b3JhZ2VfdGVzdC5qcycsIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5IVE1MNVdlYlN0b3JhZ2VUZXN0J10sIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5FcnJvckNvZGUnLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5IVE1MNVdlYlN0b3JhZ2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0b3JhZ2UvbWVjaGFuaXNtL2lldXNlcmRhdGEuanMnLCBbJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20uSUVVc2VyRGF0YSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLml0ZXIuSXRlcmF0b3InLCAnZ29vZy5pdGVyLlN0b3BJdGVyYXRpb24nLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5FcnJvckNvZGUnLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5JdGVyYWJsZU1lY2hhbmlzbScsICdnb29nLnN0cnVjdHMuTWFwJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9pZXVzZXJkYXRhX3Rlc3QuanMnLCBbJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20uSUVVc2VyRGF0YVRlc3QnXSwgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLklFVXNlckRhdGEnLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5tZWNoYW5pc21TZXBhcmF0aW9uVGVzdGVyJywgJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20ubWVjaGFuaXNtU2hhcmluZ1Rlc3RlcicsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbVRlc3REZWZpbml0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9pdGVyYWJsZW1lY2hhbmlzbS5qcycsIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5JdGVyYWJsZU1lY2hhbmlzbSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuaXRlcicsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLk1lY2hhbmlzbSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RvcmFnZS9tZWNoYW5pc20vaXRlcmFibGVtZWNoYW5pc210ZXN0ZXIuanMnLCBbJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20uaXRlcmFibGVNZWNoYW5pc21UZXN0ZXInXSwgWydnb29nLml0ZXInLCAnZ29vZy5pdGVyLlN0b3BJdGVyYXRpb24nLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0b3JhZ2UvbWVjaGFuaXNtL21lY2hhbmlzbS5qcycsIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5NZWNoYW5pc20nXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9tZWNoYW5pc21mYWN0b3J5LmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbWZhY3RvcnknXSwgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkhUTUw1TG9jYWxTdG9yYWdlJywgJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20uSFRNTDVTZXNzaW9uU3RvcmFnZScsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLklFVXNlckRhdGEnLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5QcmVmaXhlZE1lY2hhbmlzbSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RvcmFnZS9tZWNoYW5pc20vbWVjaGFuaXNtZmFjdG9yeV90ZXN0LmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbWZhY3RvcnlUZXN0J10sIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5tZWNoYW5pc21mYWN0b3J5JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9tZWNoYW5pc21zZXBhcmF0aW9udGVzdGVyLmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbVNlcGFyYXRpb25UZXN0ZXInXSwgWydnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbicsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbVRlc3REZWZpbml0aW9uJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9tZWNoYW5pc21zaGFyaW5ndGVzdGVyLmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbVNoYXJpbmdUZXN0ZXInXSwgWydnb29nLml0ZXIuU3RvcEl0ZXJhdGlvbicsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbVRlc3REZWZpbml0aW9uJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9tZWNoYW5pc210ZXN0ZGVmaW5pdGlvbi5qcycsIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5tZWNoYW5pc21UZXN0RGVmaW5pdGlvbiddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0b3JhZ2UvbWVjaGFuaXNtL21lY2hhbmlzbXRlc3Rlci5qcycsIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5tZWNoYW5pc21UZXN0ZXInXSwgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkVycm9yQ29kZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QuaXNWZXJzaW9uJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9wcmVmaXhlZG1lY2hhbmlzbS5qcycsIFsnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5QcmVmaXhlZE1lY2hhbmlzbSddLCBbJ2dvb2cuaXRlci5JdGVyYXRvcicsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkl0ZXJhYmxlTWVjaGFuaXNtJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL21lY2hhbmlzbS9wcmVmaXhlZG1lY2hhbmlzbV90ZXN0LmpzJywgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLlByZWZpeGVkTWVjaGFuaXNtVGVzdCddLCBbJ2dvb2cuc3RvcmFnZS5tZWNoYW5pc20uSFRNTDVMb2NhbFN0b3JhZ2UnLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5QcmVmaXhlZE1lY2hhbmlzbScsICdnb29nLnN0b3JhZ2UubWVjaGFuaXNtLm1lY2hhbmlzbVNlcGFyYXRpb25UZXN0ZXInLCAnZ29vZy5zdG9yYWdlLm1lY2hhbmlzbS5tZWNoYW5pc21TaGFyaW5nVGVzdGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL3JpY2hzdG9yYWdlLmpzJywgWydnb29nLnN0b3JhZ2UuUmljaFN0b3JhZ2UnLCAnZ29vZy5zdG9yYWdlLlJpY2hTdG9yYWdlLldyYXBwZXInXSwgWydnb29nLnN0b3JhZ2UuRXJyb3JDb2RlJywgJ2dvb2cuc3RvcmFnZS5TdG9yYWdlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL3JpY2hzdG9yYWdlX3Rlc3QuanMnLCBbJ2dvb2cuc3RvcmFnZS5SaWNoU3RvcmFnZVRlc3QnXSwgWydnb29nLnN0b3JhZ2UuRXJyb3JDb2RlJywgJ2dvb2cuc3RvcmFnZS5SaWNoU3RvcmFnZScsICdnb29nLnN0b3JhZ2Uuc3RvcmFnZVRlc3RlcicsICdnb29nLnRlc3Rpbmcuc3RvcmFnZS5GYWtlTWVjaGFuaXNtJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL3N0b3JhZ2UuanMnLCBbJ2dvb2cuc3RvcmFnZS5TdG9yYWdlJ10sIFsnZ29vZy5qc29uJywgJ2dvb2cuc3RvcmFnZS5FcnJvckNvZGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0b3JhZ2Uvc3RvcmFnZV90ZXN0LmpzJywgWydnb29nLnN0b3JhZ2Uuc3RvcmFnZV90ZXN0J10sIFsnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5zdG9yYWdlLkVycm9yQ29kZScsICdnb29nLnN0b3JhZ2UuU3RvcmFnZScsICdnb29nLnN0b3JhZ2Uuc3RvcmFnZVRlc3RlcicsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3Rpbmcuc3RvcmFnZS5GYWtlTWVjaGFuaXNtJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdG9yYWdlL3N0b3JhZ2V0ZXN0ZXIuanMnLCBbJ2dvb2cuc3RvcmFnZS5zdG9yYWdlVGVzdGVyJ10sIFsnZ29vZy5zdG9yYWdlLlN0b3JhZ2UnLCAnZ29vZy5zdHJ1Y3RzLk1hcCcsICdnb29nLnRlc3RpbmcuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyZWFtcy9kZWZpbmVzLmpzJywgWydnb29nLnN0cmVhbXMuZGVmaW5lcyddLCBbXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJlYW1zL2Z1bGwuanMnLCBbJ2dvb2cuc3RyZWFtcy5mdWxsJ10sIFsnZ29vZy5zdHJlYW1zLmRlZmluZXMnLCAnZ29vZy5zdHJlYW1zLmZ1bGxJbXBsJywgJ2dvb2cuc3RyZWFtcy5mdWxsTmF0aXZlSW1wbCcsICdnb29nLnN0cmVhbXMuZnVsbFR5cGVzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyZWFtcy9mdWxsX2ltcGwuanMnLCBbJ2dvb2cuc3RyZWFtcy5mdWxsSW1wbCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLnByb21pc2UuTmF0aXZlUmVzb2x2ZXInLCAnZ29vZy5zdHJlYW1zLmZ1bGxUeXBlcycsICdnb29nLnN0cmVhbXMubGl0ZUltcGwnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJlYW1zL2Z1bGxfaW1wbF90ZXN0LmpzJywgWydnb29nLnN0cmVhbXMuZnVsbEltcGxUZXN0J10sIFsnZ29vZy5zdHJlYW1zLmZ1bGxJbXBsJywgJ2dvb2cuc3RyZWFtcy5mdWxsVGVzdENhc2VzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJlYW1zL2Z1bGxfbmF0aXZlX2ltcGwuanMnLCBbJ2dvb2cuc3RyZWFtcy5mdWxsTmF0aXZlSW1wbCddLCBbJ2dvb2cuc3RyZWFtcy5mdWxsVHlwZXMnLCAnZ29vZy5zdHJlYW1zLmxpdGVOYXRpdmVJbXBsJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyZWFtcy9mdWxsX25hdGl2ZV9pbXBsX3Rlc3QuanMnLCBbJ2dvb2cuc3RyZWFtcy5mdWxsTmF0aXZlSW1wbFRlc3QnXSwgWydnb29nLnN0cmVhbXMuZnVsbE5hdGl2ZUltcGwnLCAnZ29vZy5zdHJlYW1zLmZ1bGxUZXN0Q2FzZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmVhbXMvZnVsbF90ZXN0X2Nhc2VzLmpzJywgWydnb29nLnN0cmVhbXMuZnVsbFRlc3RDYXNlcyddLCBbJ2dvb2cuc3RyZWFtcy5mdWxsVHlwZXMnLCAnZ29vZy5zdHJlYW1zLmxpdGVUZXN0Q2FzZXMnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJ10sIHsnbGFuZyc6ICdlczknLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyZWFtcy9mdWxsX3R5cGVzLmpzJywgWydnb29nLnN0cmVhbXMuZnVsbFR5cGVzJ10sIFsnZ29vZy5zdHJlYW1zLmxpdGVUeXBlcyddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmVhbXMvbGl0ZS5qcycsIFsnZ29vZy5zdHJlYW1zLmxpdGUnXSwgWydnb29nLnN0cmVhbXMuZGVmaW5lcycsICdnb29nLnN0cmVhbXMubGl0ZUltcGwnLCAnZ29vZy5zdHJlYW1zLmxpdGVOYXRpdmVJbXBsJywgJ2dvb2cuc3RyZWFtcy5saXRlVHlwZXMnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJlYW1zL2xpdGVfaW1wbC5qcycsIFsnZ29vZy5zdHJlYW1zLmxpdGVJbXBsJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cucHJvbWlzZS5OYXRpdmVSZXNvbHZlcicsICdnb29nLnN0cmVhbXMubGl0ZVR5cGVzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyZWFtcy9saXRlX2ltcGxfdGVzdC5qcycsIFsnZ29vZy5zdHJlYW1zLmxpdGVJbXBsVGVzdCddLCBbJ2dvb2cuc3RyZWFtcy5saXRlSW1wbCcsICdnb29nLnN0cmVhbXMubGl0ZVRlc3RDYXNlcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyZWFtcy9saXRlX25hdGl2ZV9pbXBsLmpzJywgWydnb29nLnN0cmVhbXMubGl0ZU5hdGl2ZUltcGwnXSwgWydnb29nLnN0cmVhbXMubGl0ZVR5cGVzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyZWFtcy9saXRlX25hdGl2ZV9pbXBsX3Rlc3QuanMnLCBbJ2dvb2cuc3RyZWFtcy5saXRlTmF0aXZlSW1wbFRlc3QnXSwgWydnb29nLnN0cmVhbXMubGl0ZU5hdGl2ZUltcGwnLCAnZ29vZy5zdHJlYW1zLmxpdGVUZXN0Q2FzZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmVhbXMvbGl0ZV90ZXN0X2Nhc2VzLmpzJywgWydnb29nLnN0cmVhbXMubGl0ZVRlc3RDYXNlcyddLCBbJ2dvb2cuc3RyZWFtcy5saXRlVHlwZXMnLCAnZ29vZy50ZXN0aW5nLmpzdW5pdCddLCB7J2xhbmcnOiAnZXM4JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmVhbXMvbGl0ZV90eXBlcy5qcycsIFsnZ29vZy5zdHJlYW1zLmxpdGVUeXBlcyddLCBbXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJpbmcvY29uc3QuanMnLCBbJ2dvb2cuc3RyaW5nLkNvbnN0J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuc3RyaW5nLlR5cGVkU3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJpbmcvY29uc3RfdGVzdC5qcycsIFsnZ29vZy5zdHJpbmcuY29uc3RUZXN0J10sIFsnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmluZy9pbnRlcm5hbC5qcycsIFsnZ29vZy5zdHJpbmcuaW50ZXJuYWwnXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyaW5nL2xpbmtpZnkuanMnLCBbJ2dvb2cuc3RyaW5nLmxpbmtpZnknXSwgWydnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5zdHJpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmluZy9saW5raWZ5X3Rlc3QuanMnLCBbJ2dvb2cuc3RyaW5nLmxpbmtpZnlUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLnN0cmluZycsICdnb29nLnN0cmluZy5saW5raWZ5JywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmluZy9uZXdsaW5lcy5qcycsIFsnZ29vZy5zdHJpbmcubmV3bGluZXMnLCAnZ29vZy5zdHJpbmcubmV3bGluZXMuTGluZSddLCBbJ2dvb2cuYXJyYXknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmluZy9uZXdsaW5lc190ZXN0LmpzJywgWydnb29nLnN0cmluZy5uZXdsaW5lc1Rlc3QnXSwgWydnb29nLnN0cmluZy5uZXdsaW5lcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyaW5nL3BhcnNlci5qcycsIFsnZ29vZy5zdHJpbmcuUGFyc2VyJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyaW5nL3BhdGguanMnLCBbJ2dvb2cuc3RyaW5nLnBhdGgnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJpbmcvcGF0aF90ZXN0LmpzJywgWydnb29nLnN0cmluZy5wYXRoVGVzdCddLCBbJ2dvb2cuc3RyaW5nLnBhdGgnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cmluZy9zdHJpbmcuanMnLCBbJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLlVuaWNvZGUnXSwgWydnb29nLmRvbS5zYWZlJywgJ2dvb2cuaHRtbC51bmNoZWNrZWRjb252ZXJzaW9ucycsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnN0cmluZy5pbnRlcm5hbCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyaW5nL3N0cmluZ190ZXN0LmpzJywgWydnb29nLnN0cmluZ1Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLlVuaWNvZGUnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJpbmcvc3RyaW5nYnVmZmVyLmpzJywgWydnb29nLnN0cmluZy5TdHJpbmdCdWZmZXInXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyaW5nL3N0cmluZ2J1ZmZlcl90ZXN0LmpzJywgWydnb29nLnN0cmluZy5TdHJpbmdCdWZmZXJUZXN0J10sIFsnZ29vZy5zdHJpbmcuU3RyaW5nQnVmZmVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJpbmcvc3RyaW5nZm9ybWF0LmpzJywgWydnb29nLnN0cmluZy5mb3JtYXQnXSwgWydnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyaW5nL3N0cmluZ2Zvcm1hdF90ZXN0LmpzJywgWydnb29nLnN0cmluZy5mb3JtYXRUZXN0J10sIFsnZ29vZy5zdHJpbmcuZm9ybWF0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJpbmcvc3RyaW5naWZpZXIuanMnLCBbJ2dvb2cuc3RyaW5nLlN0cmluZ2lmaWVyJ10sIFtdLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RyaW5nL3R5cGVkc3RyaW5nLmpzJywgWydnb29nLnN0cmluZy5UeXBlZFN0cmluZyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvYXZsdHJlZS5qcycsIFsnZ29vZy5zdHJ1Y3RzLkF2bFRyZWUnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5zdHJ1Y3RzLkNvbGxlY3Rpb24nXSwgeydtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL2F2bHRyZWVfdGVzdC5qcycsIFsnZ29vZy5zdHJ1Y3RzLkF2bFRyZWVUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLnN0cnVjdHMuQXZsVHJlZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9jaXJjdWxhcmJ1ZmZlci5qcycsIFsnZ29vZy5zdHJ1Y3RzLkNpcmN1bGFyQnVmZmVyJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvY2lyY3VsYXJidWZmZXJfdGVzdC5qcycsIFsnZ29vZy5zdHJ1Y3RzLkNpcmN1bGFyQnVmZmVyVGVzdCddLCBbJ2dvb2cuc3RydWN0cy5DaXJjdWxhckJ1ZmZlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9jb2xsZWN0aW9uLmpzJywgWydnb29nLnN0cnVjdHMuQ29sbGVjdGlvbiddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvY29sbGVjdGlvbl90ZXN0LmpzJywgWydnb29nLnN0cnVjdHMuQ29sbGVjdGlvblRlc3QnXSwgWydnb29nLnN0cnVjdHMuQXZsVHJlZScsICdnb29nLnN0cnVjdHMuU2V0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL2hlYXAuanMnLCBbJ2dvb2cuc3RydWN0cy5IZWFwJ10sIFsnZ29vZy5hcnJheScsICdnb29nLm9iamVjdCcsICdnb29nLnN0cnVjdHMuTm9kZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9oZWFwX3Rlc3QuanMnLCBbJ2dvb2cuc3RydWN0cy5IZWFwVGVzdCddLCBbJ2dvb2cuc3RydWN0cycsICdnb29nLnN0cnVjdHMuSGVhcCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9pbnZlcnNpb25tYXAuanMnLCBbJ2dvb2cuc3RydWN0cy5JbnZlcnNpb25NYXAnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9pbnZlcnNpb25tYXBfdGVzdC5qcycsIFsnZ29vZy5zdHJ1Y3RzLkludmVyc2lvbk1hcFRlc3QnXSwgWydnb29nLnN0cnVjdHMuSW52ZXJzaW9uTWFwJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL2xpbmtlZG1hcC5qcycsIFsnZ29vZy5zdHJ1Y3RzLkxpbmtlZE1hcCddLCBbJ2dvb2cuc3RydWN0cy5NYXAnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvbGlua2VkbWFwX3Rlc3QuanMnLCBbJ2dvb2cuc3RydWN0cy5MaW5rZWRNYXBUZXN0J10sIFsnZ29vZy5zdHJ1Y3RzLkxpbmtlZE1hcCcsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvbWFwLmpzJywgWydnb29nLnN0cnVjdHMuTWFwJ10sIFsnZ29vZy5pdGVyLkl0ZXJhdG9yJywgJ2dvb2cuaXRlci5TdG9wSXRlcmF0aW9uJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL21hcF90ZXN0LmpzJywgWydnb29nLnN0cnVjdHMuTWFwVGVzdCddLCBbJ2dvb2cuaXRlcicsICdnb29nLnN0cnVjdHMnLCAnZ29vZy5zdHJ1Y3RzLk1hcCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9ub2RlLmpzJywgWydnb29nLnN0cnVjdHMuTm9kZSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvcG9vbC5qcycsIFsnZ29vZy5zdHJ1Y3RzLlBvb2wnXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5zdHJ1Y3RzLlF1ZXVlJywgJ2dvb2cuc3RydWN0cy5TZXQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvcG9vbF90ZXN0LmpzJywgWydnb29nLnN0cnVjdHMuUG9vbFRlc3QnXSwgWydnb29nLnN0cnVjdHMuUG9vbCcsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL3ByaW9yaXR5cG9vbC5qcycsIFsnZ29vZy5zdHJ1Y3RzLlByaW9yaXR5UG9vbCddLCBbJ2dvb2cuc3RydWN0cy5Qb29sJywgJ2dvb2cuc3RydWN0cy5Qcmlvcml0eVF1ZXVlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL3ByaW9yaXR5cG9vbF90ZXN0LmpzJywgWydnb29nLnN0cnVjdHMuUHJpb3JpdHlQb29sVGVzdCddLCBbJ2dvb2cuc3RydWN0cy5Qcmlvcml0eVBvb2wnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9wcmlvcml0eXF1ZXVlLmpzJywgWydnb29nLnN0cnVjdHMuUHJpb3JpdHlRdWV1ZSddLCBbJ2dvb2cuc3RydWN0cy5IZWFwJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL3ByaW9yaXR5cXVldWVfdGVzdC5qcycsIFsnZ29vZy5zdHJ1Y3RzLlByaW9yaXR5UXVldWVUZXN0J10sIFsnZ29vZy5zdHJ1Y3RzJywgJ2dvb2cuc3RydWN0cy5Qcmlvcml0eVF1ZXVlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL3F1YWR0cmVlLmpzJywgWydnb29nLnN0cnVjdHMuUXVhZFRyZWUnLCAnZ29vZy5zdHJ1Y3RzLlF1YWRUcmVlLk5vZGUnLCAnZ29vZy5zdHJ1Y3RzLlF1YWRUcmVlLlBvaW50J10sIFsnZ29vZy5tYXRoLkNvb3JkaW5hdGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvcXVhZHRyZWVfdGVzdC5qcycsIFsnZ29vZy5zdHJ1Y3RzLlF1YWRUcmVlVGVzdCddLCBbJ2dvb2cuc3RydWN0cycsICdnb29nLnN0cnVjdHMuUXVhZFRyZWUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvcXVldWUuanMnLCBbJ2dvb2cuc3RydWN0cy5RdWV1ZSddLCBbJ2dvb2cuYXJyYXknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvcXVldWVfdGVzdC5qcycsIFsnZ29vZy5zdHJ1Y3RzLlF1ZXVlVGVzdCddLCBbJ2dvb2cuc3RydWN0cy5RdWV1ZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9zZXQuanMnLCBbJ2dvb2cuc3RydWN0cy5TZXQnXSwgWydnb29nLnN0cnVjdHMnLCAnZ29vZy5zdHJ1Y3RzLkNvbGxlY3Rpb24nLCAnZ29vZy5zdHJ1Y3RzLk1hcCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9zZXRfdGVzdC5qcycsIFsnZ29vZy5zdHJ1Y3RzLlNldFRlc3QnXSwgWydnb29nLml0ZXInLCAnZ29vZy5zdHJ1Y3RzJywgJ2dvb2cuc3RydWN0cy5TZXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvc2ltcGxlcG9vbC5qcycsIFsnZ29vZy5zdHJ1Y3RzLlNpbXBsZVBvb2wnXSwgWydnb29nLkRpc3Bvc2FibGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvc3RyaW5nc2V0LmpzJywgWydnb29nLnN0cnVjdHMuU3RyaW5nU2V0J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuaXRlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3RydWN0cy9zdHJpbmdzZXRfdGVzdC5qcycsIFsnZ29vZy5zdHJ1Y3RzLlN0cmluZ1NldFRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuaXRlcicsICdnb29nLnN0cnVjdHMuU3RyaW5nU2V0JywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL3N0cnVjdHMuanMnLCBbJ2dvb2cuc3RydWN0cyddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5vYmplY3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvc3RydWN0c190ZXN0LmpzJywgWydnb29nLnN0cnVjdHNUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuc3RydWN0cycsICdnb29nLnN0cnVjdHMuTWFwJywgJ2dvb2cuc3RydWN0cy5TZXQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvdHJlZW5vZGUuanMnLCBbJ2dvb2cuc3RydWN0cy5UcmVlTm9kZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuc3RydWN0cy5Ob2RlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHJ1Y3RzL3RyZWVub2RlX3Rlc3QuanMnLCBbJ2dvb2cuc3RydWN0cy5UcmVlTm9kZVRlc3QnXSwgWydnb29nLnN0cnVjdHMuVHJlZU5vZGUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvdHJpZS5qcycsIFsnZ29vZy5zdHJ1Y3RzLlRyaWUnXSwgWydnb29nLm9iamVjdCcsICdnb29nLnN0cnVjdHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0cnVjdHMvdHJpZV90ZXN0LmpzJywgWydnb29nLnN0cnVjdHMuVHJpZVRlc3QnXSwgWydnb29nLm9iamVjdCcsICdnb29nLnN0cnVjdHMnLCAnZ29vZy5zdHJ1Y3RzLlRyaWUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0eWxlL2JpZGkuanMnLCBbJ2dvb2cuc3R5bGUuYmlkaSddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy51c2VyQWdlbnQucGxhdGZvcm0nLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0LmlzVmVyc2lvbiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3R5bGUvYmlkaV90ZXN0LmpzJywgWydnb29nLnN0eWxlLmJpZGlUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5zdHlsZScsICdnb29nLnN0eWxlLmJpZGknLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0eWxlL2N1cnNvci5qcycsIFsnZ29vZy5zdHlsZS5jdXJzb3InXSwgWydnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3R5bGUvY3Vyc29yX3Rlc3QuanMnLCBbJ2dvb2cuc3R5bGUuY3Vyc29yVGVzdCddLCBbJ2dvb2cuc3R5bGUuY3Vyc29yJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHlsZS9zdHlsZS5qcycsIFsnZ29vZy5zdHlsZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20udmVuZG9yJywgJ2dvb2cuaHRtbC5TYWZlU3R5bGVTaGVldCcsICdnb29nLm1hdGguQm94JywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cubWF0aC5SZWN0JywgJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cucmVmbGVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3R5bGUvc3R5bGVfZG9jdW1lbnRfc2Nyb2xsX3Rlc3QuanMnLCBbJ2dvb2cuc3R5bGUuc3R5bGVfZG9jdW1lbnRfc2Nyb2xsX3Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHlsZS9zdHlsZV90ZXN0LmpzJywgWydnb29nLnN0eWxlX3Rlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuY29sb3InLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC51dGlsJywgJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5tYXRoLlJlY3QnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuTW9ja1VzZXJBZ2VudCcsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50VGVzdFV0aWwnLCAnZ29vZy51c2VyQWdlbnRUZXN0VXRpbC5Vc2VyQWdlbnRzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3R5bGUvc3R5bGVfd2Via2l0X3Njcm9sbGJhcnNfdGVzdC5qcycsIFsnZ29vZy5zdHlsZS53ZWJraXRTY3JvbGxiYXJzVGVzdCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLnN0eWxlJywgJ2dvb2cuc3R5bGVTY3JvbGxiYXJUZXN0ZXInLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0eWxlL3N0eWxlc2Nyb2xsYmFydGVzdGVyLmpzJywgWydnb29nLnN0eWxlU2Nyb2xsYmFyVGVzdGVyJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCdzdHlsZS90cmFuc2Zvcm0uanMnLCBbJ2dvb2cuc3R5bGUudHJhbnNmb3JtJ10sIFsnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUzJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdC5pc1ZlcnNpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0eWxlL3RyYW5zZm9ybV90ZXN0LmpzJywgWydnb29nLnN0eWxlLnRyYW5zZm9ybVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy5zdHlsZS50cmFuc2Zvcm0nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0LmlzVmVyc2lvbiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3N0eWxlL3RyYW5zaXRpb24uanMnLCBbJ2dvb2cuc3R5bGUudHJhbnNpdGlvbicsICdnb29nLnN0eWxlLnRyYW5zaXRpb24uQ3NzM1Byb3BlcnR5J10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuZG9tLnZlbmRvcicsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5zdHlsZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgnc3R5bGUvdHJhbnNpdGlvbl90ZXN0LmpzJywgWydnb29nLnN0eWxlLnRyYW5zaXRpb25UZXN0J10sIFsnZ29vZy5zdHlsZScsICdnb29nLnN0eWxlLnRyYW5zaXRpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RfbW9kdWxlLmpzJywgWydnb29nLnRlc3RfbW9kdWxlJ10sIFsnZ29vZy50ZXN0X21vZHVsZV9kZXAnXSwgeydtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0X21vZHVsZV9kZXAuanMnLCBbJ2dvb2cudGVzdF9tb2R1bGVfZGVwJ10sIFtdLCB7J21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvYXNzZXJ0aW9uZmFpbHVyZS5qcycsIFsnZ29vZy50ZXN0aW5nLnNhZmUuYXNzZXJ0aW9uRmFpbHVyZSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcuYXNzZXJ0cyddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvYXNzZXJ0cy5qcycsIFsnZ29vZy50ZXN0aW5nLmFzc2VydHMnXSwgWydnb29nLnRlc3RpbmcuSnNVbml0RXhjZXB0aW9uJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2Fzc2VydHNfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLmFzc2VydHNUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmRvbScsICdnb29nLml0ZXIuSXRlcmF0b3InLCAnZ29vZy5pdGVyLlN0b3BJdGVyYXRpb24nLCAnZ29vZy5zdHJ1Y3RzLk1hcCcsICdnb29nLnN0cnVjdHMuU2V0JywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzOCcsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2FzeW5jL21vY2tjb250cm9sLmpzJywgWydnb29nLnRlc3RpbmcuYXN5bmMuTW9ja0NvbnRyb2wnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLmRlYnVnJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzLklnbm9yZUFyZ3VtZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2FzeW5jL21vY2tjb250cm9sX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5hc3luYy5Nb2NrQ29udHJvbFRlc3QnXSwgWydnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcuYXN5bmMuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvYXN5bmN0ZXN0Y2FzZS5qcycsIFsnZ29vZy50ZXN0aW5nLkFzeW5jVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLkFzeW5jVGVzdENhc2UuQ29udHJvbEJyZWFraW5nRXhjZXB0aW9uJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9hc3luY3Rlc3RjYXNlX2FzeW5jX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5Bc3luY1Rlc3RDYXNlQXN5bmNUZXN0J10sIFsnZ29vZy50ZXN0aW5nLkFzeW5jVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5qc3VuaXQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2FzeW5jdGVzdGNhc2Vfbm9hc3luY190ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuQXN5bmNUZXN0Q2FzZVN5bmNUZXN0J10sIFsnZ29vZy50ZXN0aW5nLkFzeW5jVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvYXN5bmN0ZXN0Y2FzZV90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuQXN5bmNUZXN0Q2FzZVRlc3QnXSwgWydnb29nLmRlYnVnLkVycm9yJywgJ2dvb2cudGVzdGluZy5Bc3luY1Rlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2JlbmNobWFyay5qcycsIFsnZ29vZy50ZXN0aW5nLmJlbmNobWFyayddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy50ZXN0aW5nLlBlcmZvcm1hbmNlVGFibGUnLCAnZ29vZy50ZXN0aW5nLlBlcmZvcm1hbmNlVGltZXInLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2NvbnRpbnVhdGlvbnRlc3RjYXNlLmpzJywgWydnb29nLnRlc3RpbmcuQ29udGludWF0aW9uVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLkNvbnRpbnVhdGlvblRlc3RDYXNlLkNvbnRpbnVhdGlvblRlc3QnLCAnZ29vZy50ZXN0aW5nLkNvbnRpbnVhdGlvblRlc3RDYXNlLlN0ZXAnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvY29udGludWF0aW9udGVzdGNhc2VfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLkNvbnRpbnVhdGlvblRlc3RDYXNlVGVzdCddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cudGVzdGluZy5Db250aW51YXRpb25UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuanN1bml0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9kZWZlcnJlZHRlc3RjYXNlLmpzJywgWydnb29nLnRlc3RpbmcuRGVmZXJyZWRUZXN0Q2FzZSddLCBbJ2dvb2cuYXN5bmMuRGVmZXJyZWQnLCAnZ29vZy50ZXN0aW5nLkFzeW5jVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2RlZmVycmVkdGVzdGNhc2VfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLkRlZmVycmVkVGVzdENhc2VUZXN0J10sIFsnZ29vZy5hc3luYy5EZWZlcnJlZCcsICdnb29nLnRlc3RpbmcuRGVmZXJyZWRUZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLlRlc3RSdW5uZXInLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2RvbS5qcycsIFsnZ29vZy50ZXN0aW5nLmRvbSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkFic3RyYWN0UmFuZ2UnLCAnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLk5vZGVJdGVyYXRvcicsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdJdGVyYXRvcicsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLml0ZXInLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9kb21fdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLmRvbVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZWRpdG9yL2RvbS5qcycsIFsnZ29vZy50ZXN0aW5nLmVkaXRvci5kb20nXSwgWydnb29nLmRvbS5BYnN0cmFjdFJhbmdlJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ0l0ZXJhdG9yJywgJ2dvb2cuZG9tLlRhZ1dhbGtUeXBlJywgJ2dvb2cuaXRlcicsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9lZGl0b3IvZG9tX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5lZGl0b3IuZG9tVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy50ZXN0aW5nLmVkaXRvci5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZWRpdG9yL2ZpZWxkbW9jay5qcycsIFsnZ29vZy50ZXN0aW5nLmVkaXRvci5GaWVsZE1vY2snXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmVkaXRvci5GaWVsZCcsICdnb29nLnRlc3RpbmcuTG9vc2VNb2NrJywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZWRpdG9yL3Rlc3RoZWxwZXIuanMnLCBbJ2dvb2cudGVzdGluZy5lZGl0b3IuVGVzdEhlbHBlciddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmRvbScsICdnb29nLmRvbS5SYW5nZScsICdnb29nLmVkaXRvci5Ccm93c2VyRmVhdHVyZScsICdnb29nLmVkaXRvci5ub2RlJywgJ2dvb2cuZWRpdG9yLnBsdWdpbnMuQWJzdHJhY3RCdWJibGVQbHVnaW4nLCAnZ29vZy50ZXN0aW5nLmRvbSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9lZGl0b3IvdGVzdGhlbHBlcl90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuZWRpdG9yLlRlc3RIZWxwZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmVkaXRvci5ub2RlJywgJ2dvb2cudGVzdGluZy5lZGl0b3IuVGVzdEhlbHBlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9ldmVudHMvZXZlbnRvYnNlcnZlci5qcycsIFsnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudE9ic2VydmVyJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmV2ZW50cy5FdmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9ldmVudHMvZXZlbnRvYnNlcnZlcl90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50T2JzZXJ2ZXJUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50T2JzZXJ2ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZXZlbnRzL2V2ZW50cy5qcycsIFsnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50J10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZXZlbnRzL2V2ZW50c190ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuZXZlbnRzVGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZXZlbnRzL21hdGNoZXJzLmpzJywgWydnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50TWF0Y2hlciddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMuQXJndW1lbnRNYXRjaGVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2V2ZW50cy9tYXRjaGVyc190ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50TWF0Y2hlclRlc3QnXSwgWydnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50TWF0Y2hlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9ldmVudHMvb25saW5laGFuZGxlci5qcycsIFsnZ29vZy50ZXN0aW5nLmV2ZW50cy5PbmxpbmVIYW5kbGVyJ10sIFsnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5uZXQuTmV0d29ya1N0YXR1c01vbml0b3InXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZXZlbnRzL29ubGluZWhhbmRsZXJfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLmV2ZW50cy5PbmxpbmVIYW5kbGVyVGVzdCddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cubmV0Lk5ldHdvcmtTdGF0dXNNb25pdG9yJywgJ2dvb2cudGVzdGluZy5ldmVudHMuRXZlbnRPYnNlcnZlcicsICdnb29nLnRlc3RpbmcuZXZlbnRzLk9ubGluZUhhbmRsZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZXhwZWN0ZWRmYWlsdXJlcy5qcycsIFsnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kZWJ1Zy5EaXZDb25zb2xlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubG9nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLkpzVW5pdEV4Y2VwdGlvbicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZXhwZWN0ZWRmYWlsdXJlc190ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlc1Rlc3QnXSwgWydnb29nLmRlYnVnLkxvZ2dlcicsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuSnNVbml0RXhjZXB0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2ZzL2Jsb2IuanMnLCBbJ2dvb2cudGVzdGluZy5mcy5CbG9iJ10sIFsnZ29vZy5jcnlwdCcsICdnb29nLmNyeXB0LmJhc2U2NCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9mcy9ibG9iX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5mcy5CbG9iVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cudGVzdGluZy5mcy5CbG9iJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2ZzL2RpcmVjdG9yeWVudHJ5X3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5mcy5EaXJlY3RvcnlFbnRyeVRlc3QnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZnMuRGlyZWN0b3J5RW50cnknLCAnZ29vZy5mcy5FcnJvcicsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuZnMuRmlsZVN5c3RlbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9mcy9lbnRyeS5qcycsIFsnZ29vZy50ZXN0aW5nLmZzLkRpcmVjdG9yeUVudHJ5JywgJ2dvb2cudGVzdGluZy5mcy5FbnRyeScsICdnb29nLnRlc3RpbmcuZnMuRmlsZUVudHJ5J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cuZnMuRGlyZWN0b3J5RW50cnknLCAnZ29vZy5mcy5EaXJlY3RvcnlFbnRyeUltcGwnLCAnZ29vZy5mcy5FbnRyeScsICdnb29nLmZzLkVycm9yJywgJ2dvb2cuZnMuRmlsZUVudHJ5JywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy5mcy5GaWxlJywgJ2dvb2cudGVzdGluZy5mcy5GaWxlV3JpdGVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2ZzL2VudHJ5X3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5mcy5FbnRyeVRlc3QnXSwgWydnb29nLmZzLkRpcmVjdG9yeUVudHJ5JywgJ2dvb2cuZnMuRXJyb3InLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLmZzLkZpbGVTeXN0ZW0nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZnMvZmlsZS5qcycsIFsnZ29vZy50ZXN0aW5nLmZzLkZpbGUnXSwgWydnb29nLnRlc3RpbmcuZnMuQmxvYiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9mcy9maWxlZW50cnlfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLmZzLkZpbGVFbnRyeVRlc3QnXSwgWydnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5mcy5GaWxlRW50cnknLCAnZ29vZy50ZXN0aW5nLmZzLkZpbGVTeXN0ZW0nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZnMvZmlsZXJlYWRlci5qcycsIFsnZ29vZy50ZXN0aW5nLmZzLkZpbGVSZWFkZXInXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZnMuRXJyb3InLCAnZ29vZy5mcy5GaWxlUmVhZGVyJywgJ2dvb2cudGVzdGluZy5mcy5CbG9iJywgJ2dvb2cudGVzdGluZy5mcy5Qcm9ncmVzc0V2ZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2ZzL2ZpbGVyZWFkZXJfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLmZzLkZpbGVSZWFkZXJUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5mcy5FcnJvcicsICdnb29nLmZzLkZpbGVSZWFkZXInLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudE9ic2VydmVyJywgJ2dvb2cudGVzdGluZy5mcy5GaWxlUmVhZGVyJywgJ2dvb2cudGVzdGluZy5mcy5GaWxlU3lzdGVtJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2ZzL2ZpbGVzeXN0ZW0uanMnLCBbJ2dvb2cudGVzdGluZy5mcy5GaWxlU3lzdGVtJ10sIFsnZ29vZy5mcy5GaWxlU3lzdGVtJywgJ2dvb2cudGVzdGluZy5mcy5EaXJlY3RvcnlFbnRyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9mcy9maWxld3JpdGVyLmpzJywgWydnb29nLnRlc3RpbmcuZnMuRmlsZVdyaXRlciddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5mcy5FcnJvcicsICdnb29nLmZzLkZpbGVTYXZlcicsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuZnMuQmxvYicsICdnb29nLnRlc3RpbmcuZnMuRmlsZScsICdnb29nLnRlc3RpbmcuZnMuUHJvZ3Jlc3NFdmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9mcy9maWxld3JpdGVyX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5mcy5GaWxlV3JpdGVyVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLmFycmF5JywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnMuRXJyb3InLCAnZ29vZy5mcy5GaWxlU2F2ZXInLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50T2JzZXJ2ZXInLCAnZ29vZy50ZXN0aW5nLmZzLkJsb2InLCAnZ29vZy50ZXN0aW5nLmZzLkZpbGVTeXN0ZW0nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZnMvZnMuanMnLCBbJ2dvb2cudGVzdGluZy5mcyddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hcnJheScsICdnb29nLmFzeW5jLkRlZmVycmVkJywgJ2dvb2cuZnMnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmZzLkJsb2InLCAnZ29vZy50ZXN0aW5nLmZzLkZpbGVTeXN0ZW0nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZnMvZnNfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLmZzVGVzdCddLCBbJ2dvb2cudGVzdGluZy5mcycsICdnb29nLnRlc3RpbmcuZnMuQmxvYicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9mcy9pbnRlZ3JhdGlvbl90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuZnMuaW50ZWdyYXRpb25UZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnMnLCAnZ29vZy5mcy5EaXJlY3RvcnlFbnRyeScsICdnb29nLmZzLkVycm9yJywgJ2dvb2cuZnMuRmlsZVNhdmVyJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5mcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9mcy9wcm9ncmVzc2V2ZW50LmpzJywgWydnb29nLnRlc3RpbmcuZnMuUHJvZ3Jlc3NFdmVudCddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2Z1bmN0aW9ubW9jay5qcycsIFsnZ29vZy50ZXN0aW5nJywgJ2dvb2cudGVzdGluZy5GdW5jdGlvbk1vY2snLCAnZ29vZy50ZXN0aW5nLkdsb2JhbEZ1bmN0aW9uTW9jaycsICdnb29nLnRlc3RpbmcuTWV0aG9kTW9jayddLCBbJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy5Mb29zZU1vY2snLCAnZ29vZy50ZXN0aW5nLk1vY2snLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLlN0cmljdE1vY2snXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvZnVuY3Rpb25tb2NrX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5GdW5jdGlvbk1vY2tUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcnLCAnZ29vZy50ZXN0aW5nLkZ1bmN0aW9uTW9jaycsICdnb29nLnRlc3RpbmcuTW9jaycsICdnb29nLnRlc3RpbmcuU3RyaWN0TW9jaycsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2dyYXBoaWNzLmpzJywgWydnb29nLnRlc3RpbmcuZ3JhcGhpY3MnXSwgWydnb29nLmdyYXBoaWNzLlBhdGgnLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvaTE4bi9hc3NlcnRzLmpzJywgWydnb29nLnRlc3RpbmcuaTE4bi5hc3NlcnRzJ10sIFsnZ29vZy50ZXN0aW5nLmpzdW5pdCddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvaTE4bi9hc3NlcnRzX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5pMThuLmFzc2VydHNUZXN0J10sIFsnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLmkxOG4uYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9qc3RkYXN5bmN3cmFwcGVyLmpzJywgWydnb29nLnRlc3RpbmcuSnNUZEFzeW5jV3JhcHBlciddLCBbJ2dvb2cuUHJvbWlzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9qc3RkdGVzdGNhc2VhZGFwdGVyLmpzJywgWydnb29nLnRlc3RpbmcuSnNUZFRlc3RDYXNlQWRhcHRlciddLCBbJ2dvb2cuYXN5bmMucnVuJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cudGVzdGluZy5Kc1RkQXN5bmNXcmFwcGVyJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuanN1bml0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2pzdW5pdC5qcycsIFsnZ29vZy50ZXN0aW5nLmpzdW5pdCddLCBbJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5UZXN0UnVubmVyJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2pzdW5pdGV4Y2VwdGlvbi5qcycsIFsnZ29vZy50ZXN0aW5nLkpzVW5pdEV4Y2VwdGlvbiddLCBbJ2dvb2cudGVzdGluZy5zdGFja3RyYWNlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL2xvb3NlbW9jay5qcycsIFsnZ29vZy50ZXN0aW5nLkxvb3NlRXhwZWN0YXRpb25Db2xsZWN0aW9uJywgJ2dvb2cudGVzdGluZy5Mb29zZU1vY2snXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLnN0cnVjdHMuTWFwJywgJ2dvb2cuc3RydWN0cy5TZXQnLCAnZ29vZy50ZXN0aW5nLk1vY2snXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbG9vc2Vtb2NrX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5Mb29zZU1vY2tUZXN0J10sIFsnZ29vZy50ZXN0aW5nLkxvb3NlTW9jaycsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzOCcsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL21lc3NhZ2luZy9tb2NrbWVzc2FnZWNoYW5uZWwuanMnLCBbJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VDaGFubmVsJ10sIFsnZ29vZy5tZXNzYWdpbmcuQWJzdHJhY3RDaGFubmVsJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9tZXNzYWdpbmcvbW9ja21lc3NhZ2VldmVudC5qcycsIFsnZ29vZy50ZXN0aW5nLm1lc3NhZ2luZy5Nb2NrTWVzc2FnZUV2ZW50J10sIFsnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL21lc3NhZ2luZy9tb2NrbWVzc2FnZXBvcnQuanMnLCBbJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja01lc3NhZ2VQb3J0J10sIFsnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL21lc3NhZ2luZy9tb2NrcG9ydG5ldHdvcmsuanMnLCBbJ2dvb2cudGVzdGluZy5tZXNzYWdpbmcuTW9ja1BvcnROZXR3b3JrJ10sIFsnZ29vZy5tZXNzYWdpbmcuUG9ydE5ldHdvcmsnLCAnZ29vZy50ZXN0aW5nLm1lc3NhZ2luZy5Nb2NrTWVzc2FnZUNoYW5uZWwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9jay5qcycsIFsnZ29vZy50ZXN0aW5nLk1vY2snLCAnZ29vZy50ZXN0aW5nLk1vY2tFeHBlY3RhdGlvbiddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLm9iamVjdCcsICdnb29nLnByb21pc2UuUmVzb2x2ZXInLCAnZ29vZy50ZXN0aW5nLkpzVW5pdEV4Y2VwdGlvbicsICdnb29nLnRlc3RpbmcuTW9ja0ludGVyZmFjZScsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL21vY2tfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLk1vY2tUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLnRlc3RpbmcnLCAnZ29vZy50ZXN0aW5nLk1vY2snLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5Nb2NrRXhwZWN0YXRpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM4JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9ja2NsYXNzZmFjdG9yeS5qcycsIFsnZ29vZy50ZXN0aW5nLk1vY2tDbGFzc0ZhY3RvcnknLCAnZ29vZy50ZXN0aW5nLk1vY2tDbGFzc1JlY29yZCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLkxvb3NlTW9jaycsICdnb29nLnRlc3RpbmcuU3RyaWN0TW9jaycsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9tb2NrY2xhc3NmYWN0b3J5X3Rlc3QuanMnLCBbJ2Zha2UuQmFzZUNsYXNzJywgJ2Zha2UuQ2hpbGRDbGFzcycsICdnb29nLnRlc3RpbmcuTW9ja0NsYXNzRmFjdG9yeVRlc3QnXSwgWydnb29nLnRlc3RpbmcnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbGFzc0ZhY3RvcnknLCAnZ29vZy50ZXN0aW5nLmpzdW5pdCddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9ja2Nsb2NrLmpzJywgWydnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuUHJvbWlzZScsICdnb29nLlRoZW5hYmxlJywgJ2dvb2cuYXN5bmMucnVuJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9tb2NrY2xvY2tfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLk1vY2tDbG9ja1Rlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5UaW1lcicsICdnb29nLmV2ZW50cycsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9tb2NrY29udHJvbC5qcycsIFsnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJ10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuYXJyYXknLCAnZ29vZy50ZXN0aW5nJywgJ2dvb2cudGVzdGluZy5Mb29zZU1vY2snLCAnZ29vZy50ZXN0aW5nLlN0cmljdE1vY2snXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9ja2NvbnRyb2xfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sVGVzdCddLCBbJ2dvb2cudGVzdGluZy5Nb2NrJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9tb2NraW50ZXJmYWNlLmpzJywgWydnb29nLnRlc3RpbmcuTW9ja0ludGVyZmFjZSddLCBbJ2dvb2cuUHJvbWlzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9tb2NrbWF0Y2hlcnMuanMnLCBbJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5Bcmd1bWVudE1hdGNoZXInLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5JZ25vcmVBcmd1bWVudCcsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzLkluc3RhbmNlT2YnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5PYmplY3RFcXVhbHMnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5SZWdleHBNYXRjaCcsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzLlNhdmVBcmd1bWVudCcsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzLlR5cGVPZiddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9ja21hdGNoZXJzX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnNUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnRlc3RpbmcuanN1bml0JywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5Bcmd1bWVudE1hdGNoZXInXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL21vY2tyYW5kb20uanMnLCBbJ2dvb2cudGVzdGluZy5Nb2NrUmFuZG9tJ10sIFsnZ29vZy5EaXNwb3NhYmxlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL21vY2tyYW5kb21fdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLk1vY2tSYW5kb21UZXN0J10sIFsnZ29vZy50ZXN0aW5nLk1vY2tSYW5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9ja3JhbmdlLmpzJywgWydnb29nLnRlc3RpbmcuTW9ja1JhbmdlJ10sIFsnZ29vZy5kb20uQWJzdHJhY3RSYW5nZScsICdnb29nLnRlc3RpbmcuTG9vc2VNb2NrJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL21vY2tyYW5nZV90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuTW9ja1JhbmdlVGVzdCddLCBbJ2dvb2cudGVzdGluZy5Nb2NrUmFuZ2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9ja3N0b3JhZ2UuanMnLCBbJ2dvb2cudGVzdGluZy5Nb2NrU3RvcmFnZSddLCBbJ2dvb2cuc3RydWN0cy5NYXAnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9ja3N0b3JhZ2VfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLk1vY2tTdG9yYWdlVGVzdCddLCBbJ2dvb2cudGVzdGluZy5Nb2NrU3RvcmFnZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9tb2NrdXNlcmFnZW50LmpzJywgWydnb29nLnRlc3RpbmcuTW9ja1VzZXJBZ2VudCddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmxhYnMudXNlckFnZW50LnV0aWwnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbW9ja3VzZXJhZ2VudF90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuTW9ja1VzZXJBZ2VudFRlc3QnXSwgWydnb29nLmRpc3Bvc2UnLCAnZ29vZy50ZXN0aW5nLk1vY2tVc2VyQWdlbnQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvbXVsdGl0ZXN0cnVubmVyLmpzJywgWydnb29nLnRlc3RpbmcuTXVsdGlUZXN0UnVubmVyJywgJ2dvb2cudGVzdGluZy5NdWx0aVRlc3RSdW5uZXIuVGVzdEZyYW1lJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuU2VydmVyQ2hhcnQnLCAnZ29vZy51aS5UYWJsZVNvcnRlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9tdWx0aXRlc3RydW5uZXJfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLk11bHRpVGVzdFJ1bm5lclRlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5hcnJheScsICdnb29nLmV2ZW50cycsICdnb29nLnRlc3RpbmcuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLk11bHRpVGVzdFJ1bm5lcicsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9uZXQvbW9ja2lmcmFtZWlvLmpzJywgWydnb29nLnRlc3RpbmcubmV0Lk1vY2tJRnJhbWVJbyddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cubmV0LkVycm9yQ29kZScsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5uZXQuSWZyYW1lSW8nLCAnZ29vZy50ZXN0aW5nLlRlc3RRdWV1ZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9uZXQveGhyaW8uanMnLCBbJ2dvb2cudGVzdGluZy5uZXQuWGhySW8nXSwgWydnb29nLlVyaScsICdnb29nLmFycmF5JywgJ2dvb2cuZG9tLnhtbCcsICdnb29nLmV2ZW50cycsICdnb29nLm5ldC5FcnJvckNvZGUnLCAnZ29vZy5uZXQuRXZlbnRUeXBlJywgJ2dvb2cubmV0Lkh0dHBTdGF0dXMnLCAnZ29vZy5uZXQuWGhySW8nLCAnZ29vZy5uZXQuWG1sSHR0cCcsICdnb29nLm9iamVjdCcsICdnb29nLnN0cnVjdHMnLCAnZ29vZy5zdHJ1Y3RzLk1hcCcsICdnb29nLnRlc3RpbmcuVGVzdFF1ZXVlJywgJ2dvb2cudXJpLnV0aWxzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL25ldC94aHJpb190ZXN0LmpzJywgWydnb29nLnRlc3RpbmcubmV0LlhocklvVGVzdCddLCBbJ2dvb2cuZG9tLnhtbCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLm5ldC5FcnJvckNvZGUnLCAnZ29vZy5uZXQuRXZlbnRUeXBlJywgJ2dvb2cubmV0LlhtbEh0dHAnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMuSW5zdGFuY2VPZicsICdnb29nLnRlc3RpbmcubmV0LlhocklvJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL25ldC94aHJpb3Bvb2wuanMnLCBbJ2dvb2cudGVzdGluZy5uZXQuWGhySW9Qb29sJ10sIFsnZ29vZy5uZXQuWGhySW9Qb29sJywgJ2dvb2cudGVzdGluZy5uZXQuWGhySW8nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3Rpbmcvb2JqZWN0cHJvcGVydHlzdHJpbmcuanMnLCBbJ2dvb2cudGVzdGluZy5PYmplY3RQcm9wZXJ0eVN0cmluZyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvcGFyYWxsZWxfY2xvc3VyZV90ZXN0X3N1aXRlLmpzJywgWydnb29nLnRlc3RpbmcucGFyYWxsZWxDbG9zdXJlVGVzdFN1aXRlJ10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmV2ZW50cycsICdnb29nLmpzb24nLCAnZ29vZy50ZXN0aW5nLk11bHRpVGVzdFJ1bm5lcicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvcGFyYWxsZWxfY2xvc3VyZV90ZXN0X3N1aXRlX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5wYXJhbGxlbENsb3N1cmVUZXN0U3VpdGVUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5NdWx0aVRlc3RSdW5uZXInLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5Bcmd1bWVudE1hdGNoZXInLCAnZ29vZy50ZXN0aW5nLnBhcmFsbGVsQ2xvc3VyZVRlc3RTdWl0ZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9wZXJmb3JtYW5jZXRhYmxlLmpzJywgWydnb29nLnRlc3RpbmcuUGVyZm9ybWFuY2VUYWJsZSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cudGVzdGluZy5QZXJmb3JtYW5jZVRpbWVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3BlcmZvcm1hbmNldGltZXIuanMnLCBbJ2dvb2cudGVzdGluZy5QZXJmb3JtYW5jZVRpbWVyJywgJ2dvb2cudGVzdGluZy5QZXJmb3JtYW5jZVRpbWVyLlRhc2snXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXN5bmMuRGVmZXJyZWQnLCAnZ29vZy5tYXRoJ10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9wZXJmb3JtYW5jZXRpbWVyX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5QZXJmb3JtYW5jZVRpbWVyVGVzdCddLCBbJ2dvb2cuYXN5bmMuRGVmZXJyZWQnLCAnZ29vZy5kb20nLCAnZ29vZy5tYXRoJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlBlcmZvcm1hbmNlVGltZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvcHJvcGVydHlyZXBsYWNlci5qcycsIFsnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvcHJvcGVydHlyZXBsYWNlcl90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0LmlzVmVyc2lvbiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvcHJvdG8yL3Byb3RvMi5qcycsIFsnZ29vZy50ZXN0aW5nLnByb3RvMiddLCBbJ2dvb2cucHJvdG8yLk1lc3NhZ2UnLCAnZ29vZy5wcm90bzIuT2JqZWN0U2VyaWFsaXplcicsICdnb29nLnRlc3RpbmcuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9wcm90bzIvcHJvdG8yX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5wcm90bzJUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnByb3RvMicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ3Byb3RvMi5UZXN0QWxsVHlwZXMnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3BzZXVkb3JhbmRvbS5qcycsIFsnZ29vZy50ZXN0aW5nLlBzZXVkb1JhbmRvbSddLCBbJ2dvb2cuRGlzcG9zYWJsZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9wc2V1ZG9yYW5kb21fdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLlBzZXVkb1JhbmRvbVRlc3QnXSwgWydnb29nLnRlc3RpbmcuUHNldWRvUmFuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3JlY29yZGZ1bmN0aW9uLmpzJywgWydnb29nLnRlc3RpbmcuRnVuY3Rpb25DYWxsJywgJ2dvb2cudGVzdGluZy5yZWNvcmRDb25zdHJ1Y3RvcicsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5wcm9taXNlLlJlc29sdmVyJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3JlY29yZGZ1bmN0aW9uX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvblRlc3QnXSwgWydnb29nLmZ1bmN0aW9ucycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcucmVjb3JkQ29uc3RydWN0b3InLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzOCcsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3NoYXJkaW5ndGVzdGNhc2UuanMnLCBbJ2dvb2cudGVzdGluZy5TaGFyZGluZ1Rlc3RDYXNlJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9zaGFyZGluZ3Rlc3RjYXNlX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5TaGFyZGluZ1Rlc3RDYXNlVGVzdCddLCBbJ2dvb2cudGVzdGluZy5TaGFyZGluZ1Rlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcuanN1bml0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9zaW5nbGV0b24uanMnLCBbJ2dvb2cudGVzdGluZy5zaW5nbGV0b24nXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9zaW5nbGV0b25fdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLnNpbmdsZXRvblRlc3QnXSwgWydnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3Rpbmcuc2luZ2xldG9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3N0YWNrdHJhY2UuanMnLCBbJ2dvb2cudGVzdGluZy5zdGFja3RyYWNlJywgJ2dvb2cudGVzdGluZy5zdGFja3RyYWNlLkZyYW1lJ10sIFtdLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3Rpbmcvc3RhY2t0cmFjZV90ZXN0LmpzJywgWydnb29nLnRlc3Rpbmcuc3RhY2t0cmFjZVRlc3QnXSwgWydnb29nLmZ1bmN0aW9ucycsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuU3RyaWN0TW9jaycsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3Rpbmcuc3RhY2t0cmFjZScsICdnb29nLnRlc3Rpbmcuc3RhY2t0cmFjZS5GcmFtZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9zdG9yYWdlL2Zha2VtZWNoYW5pc20uanMnLCBbJ2dvb2cudGVzdGluZy5zdG9yYWdlLkZha2VNZWNoYW5pc20nXSwgWydnb29nLnN0b3JhZ2UubWVjaGFuaXNtLkl0ZXJhYmxlTWVjaGFuaXNtJywgJ2dvb2cuc3RydWN0cy5NYXAnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3Rpbmcvc3RyaWN0bW9jay5qcycsIFsnZ29vZy50ZXN0aW5nLlN0cmljdE1vY2snXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLnN0cnVjdHMuU2V0JywgJ2dvb2cudGVzdGluZy5Nb2NrJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3N0cmljdG1vY2tfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLlN0cmljdE1vY2tUZXN0J10sIFsnZ29vZy50ZXN0aW5nLlN0cmljdE1vY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM4JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3Rpbmcvc3R5bGUvbGF5b3V0YXNzZXJ0cy5qcycsIFsnZ29vZy50ZXN0aW5nLnN0eWxlLmxheW91dGFzc2VydHMnXSwgWydnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJywgJ2dvb2cudGVzdGluZy5zdHlsZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9zdHlsZS9sYXlvdXRhc3NlcnRzX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy5zdHlsZS5sYXlvdXRhc3NlcnRzVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3Rpbmcuc3R5bGUubGF5b3V0YXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9zdHlsZS9zdHlsZS5qcycsIFsnZ29vZy50ZXN0aW5nLnN0eWxlJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5tYXRoLlJlY3QnLCAnZ29vZy5zdHlsZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy9zdHlsZS9zdHlsZV90ZXN0LmpzJywgWydnb29nLnRlc3Rpbmcuc3R5bGVUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5zdHlsZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy90ZXN0Y2FzZS5qcycsIFsnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZS5FcnJvcicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UuT3JkZXInLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlLlJlc3VsdCcsICdnb29nLnRlc3RpbmcuVGVzdENhc2UuVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLlRoZW5hYmxlJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLkpzVW5pdEV4Y2VwdGlvbicsICdnb29nLnRlc3RpbmcuYXNzZXJ0cyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy90ZXN0Y2FzZV90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuVGVzdENhc2VUZXN0J10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuVGltZXInLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLkZ1bmN0aW9uTW9jaycsICdnb29nLnRlc3RpbmcuSnNVbml0RXhjZXB0aW9uJywgJ2dvb2cudGVzdGluZy5NZXRob2RNb2NrJywgJ2dvb2cudGVzdGluZy5Nb2NrUmFuZG9tJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczgnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy90ZXN0cXVldWUuanMnLCBbJ2dvb2cudGVzdGluZy5UZXN0UXVldWUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3Rlc3RydW5uZXIuanMnLCBbJ2dvb2cudGVzdGluZy5UZXN0UnVubmVyJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuanNvbicsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvdGVzdHJ1bm5lcl90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcuVGVzdFJ1bm5lclRlc3QnXSwgWydnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLlRlc3RSdW5uZXInLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3Rlc3RpbmcvdGVzdHN1aXRlLmpzJywgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIFsnZ29vZy5sYWJzLnRlc3RpbmcuRW52aXJvbm1lbnQnLCAnZ29vZy50ZXN0aW5nLlRlc3RDYXNlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3Rlc3RzdWl0ZV90ZXN0LmpzJywgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlVGVzdCddLCBbJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy91aS9yZW5kZXJlcmFzc2VydHMuanMnLCBbJ2dvb2cudGVzdGluZy51aS5yZW5kZXJlcmFzc2VydHMnXSwgWydnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy91aS9yZW5kZXJlcmFzc2VydHNfdGVzdC5qcycsIFsnZ29vZy50ZXN0aW5nLnVpLnJlbmRlcmVyYXNzZXJ0c1Rlc3QnXSwgWydnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudGVzdGluZy51aS5yZW5kZXJlcmFzc2VydHMnLCAnZ29vZy51aS5Db250cm9sUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3VpL3JlbmRlcmVyaGFybmVzcy5qcycsIFsnZ29vZy50ZXN0aW5nLnVpLlJlbmRlcmVySGFybmVzcyddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLnRlc3RpbmcuYXNzZXJ0cycsICdnb29nLnRlc3RpbmcuZG9tJywgJ2dvb2cudWkuQ29udHJvbCcsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndGVzdGluZy91aS9zdHlsZS5qcycsIFsnZ29vZy50ZXN0aW5nLnVpLnN0eWxlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cudGVzdGluZy5hc3NlcnRzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0ZXN0aW5nL3VpL3N0eWxlX3Rlc3QuanMnLCBbJ2dvb2cudGVzdGluZy51aS5zdHlsZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudGVzdGluZy51aS5zdHlsZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3RpbWVyL3RpbWVyLmpzJywgWydnb29nLlRpbWVyJ10sIFsnZ29vZy5Qcm9taXNlJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd0aW1lci90aW1lcl90ZXN0LmpzJywgWydnb29nLlRpbWVyVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLlRpbWVyJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3R3ZWFrL2VudHJpZXMuanMnLCBbJ2dvb2cudHdlYWsuQmFzZUVudHJ5JywgJ2dvb2cudHdlYWsuQmFzZVByaW1pdGl2ZVNldHRpbmcnLCAnZ29vZy50d2Vhay5CYXNlU2V0dGluZycsICdnb29nLnR3ZWFrLkJvb2xlYW5Hcm91cCcsICdnb29nLnR3ZWFrLkJvb2xlYW5Jbkdyb3VwU2V0dGluZycsICdnb29nLnR3ZWFrLkJvb2xlYW5TZXR0aW5nJywgJ2dvb2cudHdlYWsuQnV0dG9uQWN0aW9uJywgJ2dvb2cudHdlYWsuTnVtZXJpY1NldHRpbmcnLCAnZ29vZy50d2Vhay5TdHJpbmdTZXR0aW5nJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5sb2cnLCAnZ29vZy5vYmplY3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3R3ZWFrL2VudHJpZXNfdGVzdC5qcycsIFsnZ29vZy50d2Vhay5CYXNlRW50cnlUZXN0J10sIFsnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy50d2Vhay50ZXN0aGVscGVycyddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3R3ZWFrL3JlZ2lzdHJ5LmpzJywgWydnb29nLnR3ZWFrLlJlZ2lzdHJ5J10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5sb2cnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50d2Vhay5CYXNlUHJpbWl0aXZlU2V0dGluZycsICdnb29nLnR3ZWFrLkJhc2VTZXR0aW5nJywgJ2dvb2cudHdlYWsuQm9vbGVhblNldHRpbmcnLCAnZ29vZy50d2Vhay5OdW1lcmljU2V0dGluZycsICdnb29nLnR3ZWFrLlN0cmluZ1NldHRpbmcnLCAnZ29vZy51cmkudXRpbHMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3R3ZWFrL3JlZ2lzdHJ5X3Rlc3QuanMnLCBbJ2dvb2cudHdlYWsuUmVnaXN0cnlUZXN0J10sIFsnZ29vZy5hc3NlcnRzLkFzc2VydGlvbkVycm9yJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy50d2VhaycsICdnb29nLnR3ZWFrLnRlc3RoZWxwZXJzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndHdlYWsvdGVzdGhlbHBlcnMuanMnLCBbJ2dvb2cudHdlYWsudGVzdGhlbHBlcnMnXSwgWydnb29nLnR3ZWFrJywgJ2dvb2cudHdlYWsuQm9vbGVhbkdyb3VwJywgJ2dvb2cudHdlYWsuQm9vbGVhbkluR3JvdXBTZXR0aW5nJywgJ2dvb2cudHdlYWsuQm9vbGVhblNldHRpbmcnLCAnZ29vZy50d2Vhay5CdXR0b25BY3Rpb24nLCAnZ29vZy50d2Vhay5OdW1lcmljU2V0dGluZycsICdnb29nLnR3ZWFrLlJlZ2lzdHJ5JywgJ2dvb2cudHdlYWsuU3RyaW5nU2V0dGluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndHdlYWsvdHdlYWsuanMnLCBbJ2dvb2cudHdlYWsnLCAnZ29vZy50d2Vhay5Db25maWdQYXJhbXMnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy50d2Vhay5CYXNlU2V0dGluZycsICdnb29nLnR3ZWFrLkJvb2xlYW5Hcm91cCcsICdnb29nLnR3ZWFrLkJvb2xlYW5Jbkdyb3VwU2V0dGluZycsICdnb29nLnR3ZWFrLkJvb2xlYW5TZXR0aW5nJywgJ2dvb2cudHdlYWsuQnV0dG9uQWN0aW9uJywgJ2dvb2cudHdlYWsuTnVtZXJpY1NldHRpbmcnLCAnZ29vZy50d2Vhay5SZWdpc3RyeScsICdnb29nLnR3ZWFrLlN0cmluZ1NldHRpbmcnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3R3ZWFrL3R3ZWFrdWkuanMnLCBbJ2dvb2cudHdlYWsuRW50cmllc1BhbmVsJywgJ2dvb2cudHdlYWsuVHdlYWtVaSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50d2VhaycsICdnb29nLnR3ZWFrLkJhc2VFbnRyeScsICdnb29nLnR3ZWFrLkJvb2xlYW5Hcm91cCcsICdnb29nLnR3ZWFrLkJvb2xlYW5Jbkdyb3VwU2V0dGluZycsICdnb29nLnR3ZWFrLkJvb2xlYW5TZXR0aW5nJywgJ2dvb2cudHdlYWsuQnV0dG9uQWN0aW9uJywgJ2dvb2cudHdlYWsuTnVtZXJpY1NldHRpbmcnLCAnZ29vZy50d2Vhay5TdHJpbmdTZXR0aW5nJywgJ2dvb2cudWkuWmlwcHknLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3R3ZWFrL3R3ZWFrdWlfdGVzdC5qcycsIFsnZ29vZy50d2Vhay5Ud2Vha1VpVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnR3ZWFrJywgJ2dvb2cudHdlYWsuVHdlYWtVaScsICdnb29nLnR3ZWFrLnRlc3RoZWxwZXJzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYWJzdHJhY3RzcGVsbGNoZWNrZXIuanMnLCBbJ2dvb2cudWkuQWJzdHJhY3RTcGVsbENoZWNrZXInLCAnZ29vZy51aS5BYnN0cmFjdFNwZWxsQ2hlY2tlci5Bc3luY1Jlc3VsdCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLklucHV0VHlwZScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmRvbS5zZWxlY3Rpb24nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cuc3BlbGwuU3BlbGxDaGVjaycsICdnb29nLnN0cnVjdHMuU2V0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5NZW51SXRlbScsICdnb29nLnVpLk1lbnVTZXBhcmF0b3InLCAnZ29vZy51aS5Qb3B1cE1lbnUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL2FjLmpzJywgWydnb29nLnVpLmFjJ10sIFsnZ29vZy51aS5hYy5BcnJheU1hdGNoZXInLCAnZ29vZy51aS5hYy5BdXRvQ29tcGxldGUnLCAnZ29vZy51aS5hYy5JbnB1dEhhbmRsZXInLCAnZ29vZy51aS5hYy5SZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYWMvYWNfdGVzdC5qcycsIFsnZ29vZy51aS5hY1Rlc3QnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZG9tLnNlbGVjdGlvbicsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5hYycsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL2FycmF5bWF0Y2hlci5qcycsIFsnZ29vZy51aS5hYy5BcnJheU1hdGNoZXInXSwgWydnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYWMvYXJyYXltYXRjaGVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuYWMuQXJyYXlNYXRjaGVyVGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5hYy5BcnJheU1hdGNoZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hYy9hdXRvY29tcGxldGUuanMnLCBbJ2dvb2cudWkuYWMuQXV0b0NvbXBsZXRlJywgJ2dvb2cudWkuYWMuQXV0b0NvbXBsZXRlLkV2ZW50VHlwZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudWkuYWMuUmVuZGVyT3B0aW9ucyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYWMvYXV0b2NvbXBsZXRlX3Rlc3QuanMnLCBbJ2dvb2cudWkuYWMuQXV0b0NvbXBsZXRlVGVzdCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmFjLkF1dG9Db21wbGV0ZScsICdnb29nLnVpLmFjLklucHV0SGFuZGxlcicsICdnb29nLnVpLmFjLlJlbmRlck9wdGlvbnMnLCAnZ29vZy51aS5hYy5SZW5kZXJlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL2NhY2hpbmdtYXRjaGVyLmpzJywgWydnb29nLnVpLmFjLkNhY2hpbmdNYXRjaGVyJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmFzeW5jLlRocm90dGxlJywgJ2dvb2cudWkuYWMuQXJyYXlNYXRjaGVyJywgJ2dvb2cudWkuYWMuUmVuZGVyT3B0aW9ucyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYWMvY2FjaGluZ21hdGNoZXJfdGVzdC5qcycsIFsnZ29vZy51aS5hYy5DYWNoaW5nTWF0Y2hlclRlc3QnXSwgWydnb29nLnRlc3RpbmcuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuYWMuQ2FjaGluZ01hdGNoZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hYy9pbnB1dGhhbmRsZXIuanMnLCBbJ2dvb2cudWkuYWMuSW5wdXRIYW5kbGVyJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuVGltZXInLCAnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLmRvbS5zZWxlY3Rpb24nLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL2lucHV0aGFuZGxlcl90ZXN0LmpzJywgWydnb29nLnVpLmFjLklucHV0SGFuZGxlclRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2VsZWN0aW9uJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmFjLklucHV0SGFuZGxlcicsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL3JlbW90ZS5qcycsIFsnZ29vZy51aS5hYy5SZW1vdGUnXSwgWydnb29nLnVpLmFjLkF1dG9Db21wbGV0ZScsICdnb29nLnVpLmFjLklucHV0SGFuZGxlcicsICdnb29nLnVpLmFjLlJlbW90ZUFycmF5TWF0Y2hlcicsICdnb29nLnVpLmFjLlJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hYy9yZW1vdGVhcnJheW1hdGNoZXIuanMnLCBbJ2dvb2cudWkuYWMuUmVtb3RlQXJyYXlNYXRjaGVyJ10sIFsnZ29vZy5EaXNwb3NhYmxlJywgJ2dvb2cuVXJpJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cubmV0LkV2ZW50VHlwZScsICdnb29nLm5ldC5YaHJJbyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYWMvcmVtb3RlYXJyYXltYXRjaGVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuYWMuUmVtb3RlQXJyYXlNYXRjaGVyVGVzdCddLCBbJ2dvb2cubmV0LlhocklvJywgJ2dvb2cudGVzdGluZy5Nb2NrQ29udHJvbCcsICdnb29nLnRlc3RpbmcubmV0LlhocklvJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5hYy5SZW1vdGVBcnJheU1hdGNoZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hYy9yZW5kZXJlci5qcycsIFsnZ29vZy51aS5hYy5SZW5kZXJlcicsICdnb29nLnVpLmFjLlJlbmRlcmVyLkN1c3RvbVJlbmRlcmVyJ10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRpc3Bvc2UnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZnguZG9tLkZhZGVJbkFuZFNob3cnLCAnZ29vZy5meC5kb20uRmFkZU91dEFuZEhpZGUnLCAnZ29vZy5wb3NpdGlvbmluZycsICdnb29nLnBvc2l0aW9uaW5nLkNvcm5lcicsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5JZEdlbmVyYXRvcicsICdnb29nLnVpLmFjLkF1dG9Db21wbGV0ZSddLCB7J2xhbmcnOiAnZXM2J30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL3JlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuYWMuUmVuZGVyZXJUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5meC5kb20uRmFkZUluQW5kU2hvdycsICdnb29nLmZ4LmRvbS5GYWRlT3V0QW5kSGlkZScsICdnb29nLnN0cmluZycsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5hYy5BdXRvQ29tcGxldGUnLCAnZ29vZy51aS5hYy5SZW5kZXJlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL3JlbmRlcm9wdGlvbnMuanMnLCBbJ2dvb2cudWkuYWMuUmVuZGVyT3B0aW9ucyddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL3JpY2hpbnB1dGhhbmRsZXIuanMnLCBbJ2dvb2cudWkuYWMuUmljaElucHV0SGFuZGxlciddLCBbJ2dvb2cudWkuYWMuSW5wdXRIYW5kbGVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hYy9yaWNocmVtb3RlLmpzJywgWydnb29nLnVpLmFjLlJpY2hSZW1vdGUnXSwgWydnb29nLnVpLmFjLkF1dG9Db21wbGV0ZScsICdnb29nLnVpLmFjLlJlbW90ZScsICdnb29nLnVpLmFjLlJlbmRlcmVyJywgJ2dvb2cudWkuYWMuUmljaElucHV0SGFuZGxlcicsICdnb29nLnVpLmFjLlJpY2hSZW1vdGVBcnJheU1hdGNoZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjL3JpY2hyZW1vdGVhcnJheW1hdGNoZXIuanMnLCBbJ2dvb2cudWkuYWMuUmljaFJlbW90ZUFycmF5TWF0Y2hlciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cudWkuYWMuUmVtb3RlQXJyYXlNYXRjaGVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hYy9yaWNocmVtb3RlYXJyYXltYXRjaGVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuYWMuUmljaFJlbW90ZUFycmF5TWF0Y2hlclRlc3QnXSwgWydnb29nLm5ldC5YaHJJbycsICdnb29nLnRlc3RpbmcuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLm5ldC5YaHJJbycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuYWMuUmljaFJlbW90ZUFycmF5TWF0Y2hlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FjdGl2aXR5bW9uaXRvci5qcycsIFsnZ29vZy51aS5BY3Rpdml0eU1vbml0b3InXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hY3Rpdml0eW1vbml0b3JfdGVzdC5qcycsIFsnZ29vZy51aS5BY3Rpdml0eU1vbml0b3JUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkFjdGl2aXR5TW9uaXRvciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2FkdmFuY2VkdG9vbHRpcC5qcycsIFsnZ29vZy51aS5BZHZhbmNlZFRvb2x0aXAnXSwgWydnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5tYXRoLkJveCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuVG9vbHRpcCcsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYWR2YW5jZWR0b29sdGlwX3Rlc3QuanMnLCBbJ2dvb2cudWkuQWR2YW5jZWRUb29sdGlwVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkFkdmFuY2VkVG9vbHRpcCcsICdnb29nLnVpLlRvb2x0aXAnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hbmltYXRlZHppcHB5LmpzJywgWydnb29nLnVpLkFuaW1hdGVkWmlwcHknXSwgWydnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5meC5BbmltYXRpb24nLCAnZ29vZy5meC5UcmFuc2l0aW9uJywgJ2dvb2cuZnguZWFzaW5nJywgJ2dvb2cudWkuWmlwcHknLCAnZ29vZy51aS5aaXBweUV2ZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9hbmltYXRlZHppcHB5X3Rlc3QuanMnLCBbJ2dvb2cudWkuQW5pbWF0ZWRaaXBweVRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLmZ4LkFuaW1hdGlvbicsICdnb29nLmZ4LlRyYW5zaXRpb24nLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkFuaW1hdGVkWmlwcHknLCAnZ29vZy51aS5aaXBweSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2F0dGFjaGFibGVtZW51LmpzJywgWydnb29nLnVpLkF0dGFjaGFibGVNZW51J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5JdGVtRXZlbnQnLCAnZ29vZy51aS5NZW51QmFzZScsICdnb29nLnVpLlBvcHVwQmFzZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYmlkaWlucHV0LmpzJywgWydnb29nLnVpLkJpZGlJbnB1dCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLklucHV0VHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLklucHV0SGFuZGxlcicsICdnb29nLmkxOG4uYmlkaScsICdnb29nLnVpLkNvbXBvbmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYmlkaWlucHV0X3Rlc3QuanMnLCBbJ2dvb2cudWkuQmlkaUlucHV0VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5CaWRpSW5wdXQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9idWJibGUuanMnLCBbJ2dvb2cudWkuQnViYmxlJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5tYXRoLkJveCcsICdnb29nLnBvc2l0aW9uaW5nJywgJ2dvb2cucG9zaXRpb25pbmcuQWJzb2x1dGVQb3NpdGlvbicsICdnb29nLnBvc2l0aW9uaW5nLkFuY2hvcmVkUG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXJCaXQnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLlBvcHVwJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9idXR0b24uanMnLCBbJ2dvb2cudWkuQnV0dG9uJywgJ2dvb2cudWkuQnV0dG9uLlNpZGUnXSwgWydnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5ldmVudHMuS2V5SGFuZGxlcicsICdnb29nLnVpLkJ1dHRvblJlbmRlcmVyJywgJ2dvb2cudWkuQnV0dG9uU2lkZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2wnLCAnZ29vZy51aS5OYXRpdmVCdXR0b25SZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9idXR0b25fdGVzdC5qcycsIFsnZ29vZy51aS5CdXR0b25UZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkJ1dHRvbicsICdnb29nLnVpLkJ1dHRvblJlbmRlcmVyJywgJ2dvb2cudWkuQnV0dG9uU2lkZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLk5hdGl2ZUJ1dHRvblJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvYnV0dG9ucmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuQnV0dG9uUmVuZGVyZXInXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLnVpLkJ1dHRvblNpZGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5Db250cm9sUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2J1dHRvbnJlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuQnV0dG9uUmVuZGVyZXJUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudGVzdGluZy51aS5yZW5kZXJlcmFzc2VydHMnLCAnZ29vZy51aS5CdXR0b24nLCAnZ29vZy51aS5CdXR0b25SZW5kZXJlcicsICdnb29nLnVpLkJ1dHRvblNpZGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5Db250cm9sUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9idXR0b25zaWRlLmpzJywgWydnb29nLnVpLkJ1dHRvblNpZGUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jaGFyY291bnRlci5qcycsIFsnZ29vZy51aS5DaGFyQ291bnRlcicsICdnb29nLnVpLkNoYXJDb3VudGVyLkRpc3BsYXknXSwgWydnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5JbnB1dEhhbmRsZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NoYXJjb3VudGVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuQ2hhckNvdW50ZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy50ZXN0aW5nLmFzc2VydHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNoYXJDb3VudGVyJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY2hhcnBpY2tlci5qcycsIFsnZ29vZy51aS5DaGFyUGlja2VyJ10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5JbnB1dEhhbmRsZXInLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5ldmVudHMuS2V5SGFuZGxlcicsICdnb29nLmkxOG4uQ2hhckxpc3REZWNvbXByZXNzb3InLCAnZ29vZy5pMThuLkNoYXJQaWNrZXJEYXRhJywgJ2dvb2cuaTE4bi51Q2hhcicsICdnb29nLmkxOG4udUNoYXIuTmFtZUZldGNoZXInLCAnZ29vZy5zdHJ1Y3RzLlNldCcsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQnV0dG9uJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29udGFpbmVyU2Nyb2xsZXInLCAnZ29vZy51aS5GbGF0QnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5Ib3ZlckNhcmQnLCAnZ29vZy51aS5MYWJlbElucHV0JywgJ2dvb2cudWkuTWVudScsICdnb29nLnVpLk1lbnVCdXR0b24nLCAnZ29vZy51aS5NZW51SXRlbScsICdnb29nLnVpLlRvb2x0aXAnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NoYXJwaWNrZXJfdGVzdC5qcycsIFsnZ29vZy51aS5DaGFyUGlja2VyVGVzdCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZGlzcG9zZScsICdnb29nLmRvbScsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5pMThuLkNoYXJQaWNrZXJEYXRhJywgJ2dvb2cuaTE4bi51Q2hhci5OYW1lRmV0Y2hlcicsICdnb29nLnRlc3RpbmcuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5DaGFyUGlja2VyJywgJ2dvb2cudWkuRmxhdEJ1dHRvblJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY2hlY2tib3guanMnLCBbJ2dvb2cudWkuQ2hlY2tib3gnLCAnZ29vZy51aS5DaGVja2JveC5TdGF0ZSddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLnN0cmluZycsICdnb29nLnVpLkNoZWNrYm94UmVuZGVyZXInLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5Db250cm9sJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NoZWNrYm94X3Rlc3QuanMnLCBbJ2dvb2cudWkuQ2hlY2tib3hUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5DaGVja2JveCcsICdnb29nLnVpLkNoZWNrYm94UmVuZGVyZXInLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5Db250cm9sUmVuZGVyZXInLCAnZ29vZy51aS5kZWNvcmF0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NoZWNrYm94bWVudWl0ZW0uanMnLCBbJ2dvb2cudWkuQ2hlY2tCb3hNZW51SXRlbSddLCBbJ2dvb2cudWkuTWVudUl0ZW0nLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY2hlY2tib3hyZW5kZXJlci5qcycsIFsnZ29vZy51aS5DaGVja2JveFJlbmRlcmVyJ10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLm9iamVjdCcsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY29sb3JtZW51YnV0dG9uLmpzJywgWydnb29nLnVpLkNvbG9yTWVudUJ1dHRvbiddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5vYmplY3QnLCAnZ29vZy51aS5Db2xvck1lbnVCdXR0b25SZW5kZXJlcicsICdnb29nLnVpLkNvbG9yUGFsZXR0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLk1lbnUnLCAnZ29vZy51aS5NZW51QnV0dG9uJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NvbG9ybWVudWJ1dHRvbnJlbmRlcmVyLmpzJywgWydnb29nLnVpLkNvbG9yTWVudUJ1dHRvblJlbmRlcmVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuY29sb3InLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy51aS5NZW51QnV0dG9uUmVuZGVyZXInLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NvbG9ybWVudWJ1dHRvbnJlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuQ29sb3JNZW51QnV0dG9uVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnRlc3RpbmcudWkuUmVuZGVyZXJIYXJuZXNzJywgJ2dvb2cudGVzdGluZy51aS5yZW5kZXJlcmFzc2VydHMnLCAnZ29vZy51aS5Db2xvck1lbnVCdXR0b24nLCAnZ29vZy51aS5Db2xvck1lbnVCdXR0b25SZW5kZXJlcicsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NvbG9ycGFsZXR0ZS5qcycsIFsnZ29vZy51aS5Db2xvclBhbGV0dGUnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuY29sb3InLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuUGFsZXR0ZScsICdnb29nLnVpLlBhbGV0dGVSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY29sb3JwYWxldHRlX3Rlc3QuanMnLCBbJ2dvb2cudWkuQ29sb3JQYWxldHRlVGVzdCddLCBbJ2dvb2cuY29sb3InLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29sb3JQYWxldHRlJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY29sb3JwaWNrZXIuanMnLCBbJ2dvb2cudWkuQ29sb3JQaWNrZXInLCAnZ29vZy51aS5Db2xvclBpY2tlci5FdmVudFR5cGUnXSwgWydnb29nLnVpLkNvbG9yUGFsZXR0ZScsICdnb29nLnVpLkNvbXBvbmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY29tYm9ib3guanMnLCBbJ2dvb2cudWkuQ29tYm9Cb3gnLCAnZ29vZy51aS5Db21ib0JveEl0ZW0nXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5JbnB1dFR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLklucHV0SGFuZGxlcicsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cubG9nJywgJ2dvb2cucG9zaXRpb25pbmcuQ29ybmVyJywgJ2dvb2cucG9zaXRpb25pbmcuTWVudUFuY2hvcmVkUG9zaXRpb24nLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkl0ZW1FdmVudCcsICdnb29nLnVpLkxhYmVsSW5wdXQnLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudUl0ZW0nLCAnZ29vZy51aS5NZW51U2VwYXJhdG9yJywgJ2dvb2cudWkucmVnaXN0cnknLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NvbWJvYm94X3Rlc3QuanMnLCBbJ2dvb2cudWkuQ29tYm9Cb3hUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5Db21ib0JveCcsICdnb29nLnVpLkNvbWJvQm94SXRlbScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlcicsICdnb29nLnVpLkxhYmVsSW5wdXQnLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudUl0ZW0nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb21wb25lbnQuanMnLCBbJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29tcG9uZW50LkVycm9yJywgJ2dvb2cudWkuQ29tcG9uZW50LkV2ZW50VHlwZScsICdnb29nLnVpLkNvbXBvbmVudC5TdGF0ZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5JZEdlbmVyYXRvciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY29tcG9uZW50X3Rlc3QuanMnLCBbJ2dvb2cudWkuQ29tcG9uZW50VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkRvbUhlbHBlcicsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5Db21wb25lbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb21wb25lbnR1dGlsLmpzJywgWydnb29nLnVpLkNvbXBvbmVudFV0aWwnXSwgWydnb29nLmV2ZW50cy5Nb3VzZUFzTW91c2VFdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuTW91c2VFdmVudHMnLCAnZ29vZy5ldmVudHMuUG9pbnRlckFzTW91c2VFdmVudFR5cGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NvbXBvbmVudHV0aWxfdGVzdC5qcycsIFsnZ29vZy51aS5Db21wb25lbnRVdGlsVGVzdCddLCBbJ2dvb2cuZXZlbnRzLk1vdXNlQXNNb3VzZUV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5Qb2ludGVyQXNNb3VzZUV2ZW50VHlwZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29tcG9uZW50VXRpbCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NvbnRhaW5lci5qcycsIFsnZ29vZy51aS5Db250YWluZXInLCAnZ29vZy51aS5Db250YWluZXIuRXZlbnRUeXBlJywgJ2dvb2cudWkuQ29udGFpbmVyLk9yaWVudGF0aW9uJ10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5Db21wb25lbnRVdGlsJywgJ2dvb2cudWkuQ29udGFpbmVyUmVuZGVyZXInLCAnZ29vZy51aS5Db250cm9sJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb250YWluZXJfdGVzdC5qcycsIFsnZ29vZy51aS5Db250YWluZXJUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZXZlbnRzLktleUV2ZW50JywgJ2dvb2cuZXZlbnRzLlBvaW50ZXJGYWxsYmFja0V2ZW50VHlwZScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5ldmVudHMuRXZlbnQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRhaW5lcicsICdnb29nLnVpLkNvbnRyb2wnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb250YWluZXJyZW5kZXJlci5qcycsIFsnZ29vZy51aS5Db250YWluZXJSZW5kZXJlciddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5yZWdpc3RyeScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY29udGFpbmVycmVuZGVyZXJfdGVzdC5qcycsIFsnZ29vZy51aS5Db250YWluZXJSZW5kZXJlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnRlc3RpbmcudWkucmVuZGVyZXJhc3NlcnRzJywgJ2dvb2cudWkuQ29udGFpbmVyJywgJ2dvb2cudWkuQ29udGFpbmVyUmVuZGVyZXInLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb250YWluZXJzY3JvbGxlci5qcycsIFsnZ29vZy51aS5Db250YWluZXJTY3JvbGxlciddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLlRpbWVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29udGFpbmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb250YWluZXJzY3JvbGxlcl90ZXN0LmpzJywgWydnb29nLnVpLkNvbnRhaW5lclNjcm9sbGVyVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29udGFpbmVyJywgJ2dvb2cudWkuQ29udGFpbmVyU2Nyb2xsZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb250cm9sLmpzJywgWydnb29nLnVpLkNvbnRyb2wnXSwgWydnb29nLkRpc3Bvc2FibGUnLCAnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29tcG9uZW50VXRpbCcsICdnb29nLnVpLkNvbnRyb2xDb250ZW50JywgJ2dvb2cudWkuQ29udHJvbFJlbmRlcmVyJywgJ2dvb2cudWkucmVnaXN0cnknLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NvbnRyb2xfdGVzdC5qcycsIFsnZ29vZy51aS5Db250cm9sVGVzdCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZXZlbnRzLlBvaW50ZXJGYWxsYmFja0V2ZW50VHlwZScsICdnb29nLmh0bWwudGVzdGluZycsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5FeHBlY3RlZEZhaWx1cmVzJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29udHJvbCcsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5JywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY29udHJvbGNvbnRlbnQuanMnLCBbJ2dvb2cudWkuQ29udHJvbENvbnRlbnQnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb250cm9scmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuQ29udHJvbFJlbmRlcmVyJ10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLm9iamVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29udHJvbENvbnRlbnQnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NvbnRyb2xyZW5kZXJlcl90ZXN0LmpzJywgWydnb29nLnVpLkNvbnRyb2xSZW5kZXJlclRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2wnLCAnZ29vZy51aS5Db250cm9sUmVuZGVyZXInLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jb29raWVlZGl0b3IuanMnLCBbJ2dvb2cudWkuQ29va2llRWRpdG9yJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubmV0LmNvb2tpZXMnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY29va2llZWRpdG9yX3Rlc3QuanMnLCBbJ2dvb2cudWkuQ29va2llRWRpdG9yVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLm5ldC5jb29raWVzJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvb2tpZUVkaXRvciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2NzczNidXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5Dc3MzQnV0dG9uUmVuZGVyZXInXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy51aS5CdXR0b24nLCAnZ29vZy51aS5CdXR0b25SZW5kZXJlcicsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLklOTElORV9CTE9DS19DTEFTU05BTUUnLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY3NzM21lbnVidXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5Dc3MzTWVudUJ1dHRvblJlbmRlcmVyJ10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnVpLklOTElORV9CTE9DS19DTEFTU05BTUUnLCAnZ29vZy51aS5NZW51QnV0dG9uJywgJ2dvb2cudWkuTWVudUJ1dHRvblJlbmRlcmVyJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2Nzc25hbWVzLmpzJywgWydnb29nLnVpLklOTElORV9CTE9DS19DTEFTU05BTUUnXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jdXN0b21idXR0b24uanMnLCBbJ2dvb2cudWkuQ3VzdG9tQnV0dG9uJ10sIFsnZ29vZy51aS5CdXR0b24nLCAnZ29vZy51aS5DdXN0b21CdXR0b25SZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jdXN0b21idXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5DdXN0b21CdXR0b25SZW5kZXJlciddLCBbJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudWkuQnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5JTkxJTkVfQkxPQ0tfQ0xBU1NOQU1FJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9jdXN0b21jb2xvcnBhbGV0dGUuanMnLCBbJ2dvb2cudWkuQ3VzdG9tQ29sb3JQYWxldHRlJ10sIFsnZ29vZy5jb2xvcicsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnVpLkNvbG9yUGFsZXR0ZScsICdnb29nLnVpLkNvbXBvbmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvY3VzdG9tY29sb3JwYWxldHRlX3Rlc3QuanMnLCBbJ2dvb2cudWkuQ3VzdG9tQ29sb3JQYWxldHRlVGVzdCddLCBbJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5DdXN0b21Db2xvclBhbGV0dGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kYXRlcGlja2VyLmpzJywgWydnb29nLnVpLkRhdGVQaWNrZXInLCAnZ29vZy51aS5EYXRlUGlja2VyLkV2ZW50cycsICdnb29nLnVpLkRhdGVQaWNrZXJFdmVudCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRhdGUuRGF0ZScsICdnb29nLmRhdGUuRGF0ZVJhbmdlJywgJ2dvb2cuZGF0ZS5JbnRlcnZhbCcsICdnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlVHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5SGFuZGxlcicsICdnb29nLmkxOG4uRGF0ZVRpbWVGb3JtYXQnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGF0dGVybnMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9scycsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuRGVmYXVsdERhdGVQaWNrZXJSZW5kZXJlcicsICdnb29nLnVpLklkR2VuZXJhdG9yJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kYXRlcGlja2VyX3Rlc3QuanMnLCBbJ2dvb2cudWkuRGF0ZVBpY2tlclRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuZGF0ZS5EYXRlJywgJ2dvb2cuZGF0ZS5EYXRlUmFuZ2UnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5pMThuLkRhdGVUaW1lU3ltYm9scycsICdnb29nLmkxOG4uRGF0ZVRpbWVTeW1ib2xzX2VuX1VTJywgJ2dvb2cuaTE4bi5EYXRlVGltZVN5bWJvbHNfemhfSEsnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuRGF0ZVBpY2tlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2RhdGVwaWNrZXJyZW5kZXJlci5qcycsIFsnZ29vZy51aS5EYXRlUGlja2VyUmVuZGVyZXInXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kZWNvcmF0ZS5qcycsIFsnZ29vZy51aS5kZWNvcmF0ZSddLCBbJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2RlY29yYXRlX3Rlc3QuanMnLCBbJ2dvb2cudWkuZGVjb3JhdGVUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmRlY29yYXRlJywgJ2dvb2cudWkucmVnaXN0cnknXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kZWZhdWx0ZGF0ZXBpY2tlcnJlbmRlcmVyLmpzJywgWydnb29nLnVpLkRlZmF1bHREYXRlUGlja2VyUmVuZGVyZXInXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cudWkuRGF0ZVBpY2tlclJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kaWFsb2cuanMnLCBbJ2dvb2cudWkuRGlhbG9nJywgJ2dvb2cudWkuRGlhbG9nLkJ1dHRvblNldCcsICdnb29nLnVpLkRpYWxvZy5CdXR0b25TZXQuRGVmYXVsdEJ1dHRvbnMnLCAnZ29vZy51aS5EaWFsb2cuRGVmYXVsdEJ1dHRvbkNhcHRpb25zJywgJ2dvb2cudWkuRGlhbG9nLkRlZmF1bHRCdXR0b25LZXlzJywgJ2dvb2cudWkuRGlhbG9nLkV2ZW50JywgJ2dvb2cudWkuRGlhbG9nLkV2ZW50VHlwZSddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZG9tLnNhZmUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZXZlbnRzLktleXMnLCAnZ29vZy5meC5EcmFnZ2VyJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLm1hdGguUmVjdCcsICdnb29nLnN0cmluZycsICdnb29nLnN0cnVjdHMuTWFwJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Nb2RhbFBvcHVwJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kaWFsb2dfdGVzdC5qcycsIFsnZ29vZy51aS5EaWFsb2dUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5meC5jc3MzJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwudGVzdGluZycsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkRpYWxvZycsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2RpbWVuc2lvbnBpY2tlci5qcycsIFsnZ29vZy51aS5EaW1lbnNpb25QaWNrZXInXSwgWydnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQuUG9pbnRlclR5cGUnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29tcG9uZW50VXRpbCcsICdnb29nLnVpLkNvbnRyb2wnLCAnZ29vZy51aS5EaW1lbnNpb25QaWNrZXJSZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kaW1lbnNpb25waWNrZXJfdGVzdC5qcycsIFsnZ29vZy51aS5EaW1lbnNpb25QaWNrZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnRlc3RpbmcudWkucmVuZGVyZXJhc3NlcnRzJywgJ2dvb2cudWkuRGltZW5zaW9uUGlja2VyJywgJ2dvb2cudWkuRGltZW5zaW9uUGlja2VyUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kaW1lbnNpb25waWNrZXJyZW5kZXJlci5qcycsIFsnZ29vZy51aS5EaW1lbnNpb25QaWNrZXJSZW5kZXJlciddLCBbJ2dvb2cuYTExeS5hcmlhLkFubm91bmNlcicsICdnb29nLmExMXkuYXJpYS5MaXZlUHJpb3JpdHknLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmkxOG4uYmlkaScsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29udHJvbFJlbmRlcmVyJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kaW1lbnNpb25waWNrZXJyZW5kZXJlcl90ZXN0LmpzJywgWydnb29nLnVpLkRpbWVuc2lvblBpY2tlclJlbmRlcmVyVGVzdCddLCBbJ2dvb2cuYTExeS5hcmlhLkxpdmVQcmlvcml0eScsICdnb29nLmFycmF5JywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuRGltZW5zaW9uUGlja2VyJywgJ2dvb2cudWkuRGltZW5zaW9uUGlja2VyUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9kcmFnZHJvcGRldGVjdG9yLmpzJywgWydnb29nLnVpLkRyYWdEcm9wRGV0ZWN0b3InLCAnZ29vZy51aS5EcmFnRHJvcERldGVjdG9yLkV2ZW50VHlwZScsICdnb29nLnVpLkRyYWdEcm9wRGV0ZWN0b3IuSW1hZ2VEcm9wRXZlbnQnLCAnZ29vZy51aS5EcmFnRHJvcERldGVjdG9yLkxpbmtEcm9wRXZlbnQnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5JbnB1dFR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2RyaWxsZG93bnJvdy5qcycsIFsnZ29vZy51aS5EcmlsbGRvd25Sb3cnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5zdHJpbmcuVW5pY29kZScsICdnb29nLnVpLkNvbXBvbmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZHJpbGxkb3ducm93X3Rlc3QuanMnLCBbJ2dvb2cudWkuRHJpbGxkb3duUm93VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5odG1sLlNhZmVIdG1sJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5EcmlsbGRvd25Sb3cnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9lZGl0b3IvYWJzdHJhY3RkaWFsb2cuanMnLCBbJ2dvb2cudWkuZWRpdG9yLkFic3RyYWN0RGlhbG9nJywgJ2dvb2cudWkuZWRpdG9yLkFic3RyYWN0RGlhbG9nLkJ1aWxkZXInLCAnZ29vZy51aS5lZGl0b3IuQWJzdHJhY3REaWFsb2cuRXZlbnRUeXBlJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLnN0cmluZycsICdnb29nLnVpLkRpYWxvZycsICdnb29nLnVpLlBvcHVwQmFzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZWRpdG9yL2Fic3RyYWN0ZGlhbG9nX3Rlc3QuanMnLCBbJ2dvb2cudWkuZWRpdG9yLkFic3RyYWN0RGlhbG9nVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLkRvbUhlbHBlcicsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5Bcmd1bWVudE1hdGNoZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmVkaXRvci5BYnN0cmFjdERpYWxvZycsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2VkaXRvci9idWJibGUuanMnLCBbJ2dvb2cudWkuZWRpdG9yLkJ1YmJsZSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLlZpZXdwb3J0U2l6ZU1vbml0b3InLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZWRpdG9yLnN0eWxlJywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5sb2cnLCAnZ29vZy5tYXRoLkJveCcsICdnb29nLm9iamVjdCcsICdnb29nLnBvc2l0aW9uaW5nJywgJ2dvb2cucG9zaXRpb25pbmcuQ29ybmVyJywgJ2dvb2cucG9zaXRpb25pbmcuT3ZlcmZsb3cnLCAnZ29vZy5wb3NpdGlvbmluZy5PdmVyZmxvd1N0YXR1cycsICdnb29nLnN0cmluZycsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuUG9wdXBCYXNlJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9lZGl0b3IvYnViYmxlX3Rlc3QuanMnLCBbJ2dvb2cudWkuZWRpdG9yLkJ1YmJsZVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnBvc2l0aW9uaW5nLkNvcm5lcicsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93U3RhdHVzJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLmVkaXRvci5UZXN0SGVscGVyJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLmVkaXRvci5CdWJibGUnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2VkaXRvci9kZWZhdWx0dG9vbGJhci5qcycsIFsnZ29vZy51aS5lZGl0b3IuQnV0dG9uRGVzY3JpcHRvcicsICdnb29nLnVpLmVkaXRvci5EZWZhdWx0VG9vbGJhciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmVkaXRvci5Db21tYW5kJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5lZGl0b3IuVG9vbGJhckZhY3RvcnknLCAnZ29vZy51aS5lZGl0b3IubWVzc2FnZXMnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2VkaXRvci9saW5rZGlhbG9nLmpzJywgWydnb29nLnVpLmVkaXRvci5MaW5rRGlhbG9nJywgJ2dvb2cudWkuZWRpdG9yLkxpbmtEaWFsb2cuQmVmb3JlVGVzdExpbmtFdmVudCcsICdnb29nLnVpLmVkaXRvci5MaW5rRGlhbG9nLkV2ZW50VHlwZScsICdnb29nLnVpLmVkaXRvci5MaW5rRGlhbG9nLk9rRXZlbnQnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLmRvbS5JbnB1dFR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuZWRpdG9yLkJyb3dzZXJGZWF0dXJlJywgJ2dvb2cuZWRpdG9yLkxpbmsnLCAnZ29vZy5lZGl0b3IuZm9jdXMnLCAnZ29vZy5lZGl0b3Iubm9kZScsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuSW5wdXRIYW5kbGVyJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmh0bWwuU2FmZUh0bWxGb3JtYXR0ZXInLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuVW5pY29kZScsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQnV0dG9uJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuTGlua0J1dHRvblJlbmRlcmVyJywgJ2dvb2cudWkuZWRpdG9yLkFic3RyYWN0RGlhbG9nJywgJ2dvb2cudWkuZWRpdG9yLlRhYlBhbmUnLCAnZ29vZy51aS5lZGl0b3IubWVzc2FnZXMnLCAnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy53aW5kb3cnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2VkaXRvci9saW5rZGlhbG9nX3Rlc3QuanMnLCBbJ2dvb2cudWkuZWRpdG9yLkxpbmtEaWFsb2dUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uRG9tSGVscGVyJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5lZGl0b3IuQnJvd3NlckZlYXR1cmUnLCAnZ29vZy5lZGl0b3IuTGluaycsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50JywgJ2dvb2cudGVzdGluZy5tb2NrbWF0Y2hlcnMnLCAnZ29vZy50ZXN0aW5nLm1vY2ttYXRjaGVycy5Bcmd1bWVudE1hdGNoZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmVkaXRvci5BYnN0cmFjdERpYWxvZycsICdnb29nLnVpLmVkaXRvci5MaW5rRGlhbG9nJywgJ2dvb2cudWkuZWRpdG9yLm1lc3NhZ2VzJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZWRpdG9yL21lc3NhZ2VzLmpzJywgWydnb29nLnVpLmVkaXRvci5tZXNzYWdlcyddLCBbJ2dvb2cuaHRtbC5TYWZlSHRtbEZvcm1hdHRlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZWRpdG9yL3RhYnBhbmUuanMnLCBbJ2dvb2cudWkuZWRpdG9yLlRhYlBhbmUnXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2wnLCAnZ29vZy51aS5UYWInLCAnZ29vZy51aS5UYWJCYXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2VkaXRvci90b29sYmFyY29udHJvbGxlci5qcycsIFsnZ29vZy51aS5lZGl0b3IuVG9vbGJhckNvbnRyb2xsZXInXSwgWydnb29nLmVkaXRvci5GaWVsZCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy51aS5Db21wb25lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2VkaXRvci90b29sYmFyZmFjdG9yeS5qcycsIFsnZ29vZy51aS5lZGl0b3IuVG9vbGJhckZhY3RvcnknXSwgWydnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuVW5pY29kZScsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29udGFpbmVyJywgJ2dvb2cudWkuT3B0aW9uJywgJ2dvb2cudWkuVG9vbGJhcicsICdnb29nLnVpLlRvb2xiYXJCdXR0b24nLCAnZ29vZy51aS5Ub29sYmFyQ29sb3JNZW51QnV0dG9uJywgJ2dvb2cudWkuVG9vbGJhck1lbnVCdXR0b24nLCAnZ29vZy51aS5Ub29sYmFyUmVuZGVyZXInLCAnZ29vZy51aS5Ub29sYmFyU2VsZWN0JywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9lZGl0b3IvdG9vbGJhcmZhY3RvcnlfdGVzdC5qcycsIFsnZ29vZy51aS5lZGl0b3IuVG9vbGJhckZhY3RvcnlUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLmVkaXRvci5UZXN0SGVscGVyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5lZGl0b3IuVG9vbGJhckZhY3RvcnknLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9lbW9qaS9lbW9qaS5qcycsIFsnZ29vZy51aS5lbW9qaS5FbW9qaSddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2Vtb2ppL2Vtb2ppcGFsZXR0ZS5qcycsIFsnZ29vZy51aS5lbW9qaS5FbW9qaVBhbGV0dGUnXSwgWydnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5uZXQuSW1hZ2VMb2FkZXInLCAnZ29vZy51aS5QYWxldHRlJywgJ2dvb2cudWkuZW1vamkuRW1vamknLCAnZ29vZy51aS5lbW9qaS5FbW9qaVBhbGV0dGVSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZW1vamkvZW1vamlwYWxldHRlcmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuZW1vamkuRW1vamlQYWxldHRlUmVuZGVyZXInXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLlBhbGV0dGVSZW5kZXJlcicsICdnb29nLnVpLmVtb2ppLkVtb2ppJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9lbW9qaS9lbW9qaXBpY2tlci5qcycsIFsnZ29vZy51aS5lbW9qaS5FbW9qaVBpY2tlciddLCBbJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLlRhYlBhbmUnLCAnZ29vZy51aS5lbW9qaS5FbW9qaScsICdnb29nLnVpLmVtb2ppLkVtb2ppUGFsZXR0ZScsICdnb29nLnVpLmVtb2ppLkVtb2ppUGFsZXR0ZVJlbmRlcmVyJywgJ2dvb2cudWkuZW1vamkuUHJvZ3Jlc3NpdmVFbW9qaVBhbGV0dGVSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZW1vamkvZW1vamlwaWNrZXJfdGVzdC5qcycsIFsnZ29vZy51aS5lbW9qaS5FbW9qaVBpY2tlclRlc3QnXSwgWydnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5lbW9qaS5FbW9qaScsICdnb29nLnVpLmVtb2ppLkVtb2ppUGlja2VyJywgJ2dvb2cudWkuZW1vamkuU3ByaXRlSW5mbyddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2Vtb2ppL2Zhc3Rfbm9ucHJvZ3Jlc3NpdmVfZW1vamlwaWNrZXJfdGVzdC5qcycsIFsnZ29vZy51aS5lbW9qaS5GYXN0Tm9uUHJvZ3Jlc3NpdmVFbW9qaVBpY2tlclRlc3QnXSwgWydnb29nLlByb21pc2UnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLm5ldC5FdmVudFR5cGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuVGVzdENhc2UnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmVtb2ppLkVtb2ppJywgJ2dvb2cudWkuZW1vamkuRW1vamlQaWNrZXInLCAnZ29vZy51aS5lbW9qaS5TcHJpdGVJbmZvJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZW1vamkvZmFzdF9wcm9ncmVzc2l2ZV9lbW9qaXBpY2tlcl90ZXN0LmpzJywgWydnb29nLnVpLmVtb2ppLkZhc3RQcm9ncmVzc2l2ZUVtb2ppUGlja2VyVGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cubmV0LkV2ZW50VHlwZScsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5lbW9qaS5FbW9qaScsICdnb29nLnVpLmVtb2ppLkVtb2ppUGlja2VyJywgJ2dvb2cudWkuZW1vamkuU3ByaXRlSW5mbyddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2Vtb2ppL3BvcHVwZW1vamlwaWNrZXIuanMnLCBbJ2dvb2cudWkuZW1vamkuUG9wdXBFbW9qaVBpY2tlciddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnBvc2l0aW9uaW5nLkFuY2hvcmVkUG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5Qb3B1cCcsICdnb29nLnVpLmVtb2ppLkVtb2ppUGlja2VyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9lbW9qaS9wb3B1cGVtb2ppcGlja2VyX3Rlc3QuanMnLCBbJ2dvb2cudWkuZW1vamkuUG9wdXBFbW9qaVBpY2tlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuZW1vamkuUG9wdXBFbW9qaVBpY2tlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2Vtb2ppL3Byb2dyZXNzaXZlZW1vamlwYWxldHRlcmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuZW1vamkuUHJvZ3Jlc3NpdmVFbW9qaVBhbGV0dGVSZW5kZXJlciddLCBbJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLmVtb2ppLkVtb2ppUGFsZXR0ZVJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9lbW9qaS9zcHJpdGVpbmZvLmpzJywgWydnb29nLnVpLmVtb2ppLlNwcml0ZUluZm8nXSwgW10sIHsnbGFuZyc6ICdlczYnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZW1vamkvc3ByaXRlaW5mb190ZXN0LmpzJywgWydnb29nLnVpLmVtb2ppLlNwcml0ZUluZm9UZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLmVtb2ppLlNwcml0ZUluZm8nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9maWx0ZXJlZG1lbnUuanMnLCBbJ2dvb2cudWkuRmlsdGVyZWRNZW51J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuQXV0b0NvbXBsZXRlVmFsdWVzJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLklucHV0VHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5JbnB1dEhhbmRsZXInLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkZpbHRlck9ic2VydmluZ01lbnVJdGVtJywgJ2dvb2cudWkuTWVudScsICdnb29nLnVpLk1lbnVJdGVtJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9maWx0ZXJlZG1lbnVfdGVzdC5qcycsIFsnZ29vZy51aS5GaWx0ZXJlZE1lbnVUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuQXV0b0NvbXBsZXRlVmFsdWVzJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cubWF0aC5SZWN0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuRmlsdGVyZWRNZW51JywgJ2dvb2cudWkuTWVudUl0ZW0nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9maWx0ZXJvYnNlcnZpbmdtZW51aXRlbS5qcycsIFsnZ29vZy51aS5GaWx0ZXJPYnNlcnZpbmdNZW51SXRlbSddLCBbJ2dvb2cudWkuRmlsdGVyT2JzZXJ2aW5nTWVudUl0ZW1SZW5kZXJlcicsICdnb29nLnVpLk1lbnVJdGVtJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2ZpbHRlcm9ic2VydmluZ21lbnVpdGVtcmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuRmlsdGVyT2JzZXJ2aW5nTWVudUl0ZW1SZW5kZXJlciddLCBbJ2dvb2cudWkuTWVudUl0ZW1SZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZmxhdGJ1dHRvbnJlbmRlcmVyLmpzJywgWydnb29nLnVpLkZsYXRCdXR0b25SZW5kZXJlciddLCBbJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cudWkuQnV0dG9uJywgJ2dvb2cudWkuQnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5JTkxJTkVfQkxPQ0tfQ0xBU1NOQU1FJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2ZsYXRtZW51YnV0dG9ucmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuRmxhdE1lbnVCdXR0b25SZW5kZXJlciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkZsYXRCdXR0b25SZW5kZXJlcicsICdnb29nLnVpLklOTElORV9CTE9DS19DTEFTU05BTUUnLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudUJ1dHRvbicsICdnb29nLnVpLk1lbnVSZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9mb3JtcG9zdC5qcycsIFsnZ29vZy51aS5Gb3JtUG9zdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy51aS5Db21wb25lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2Zvcm1wb3N0X3Rlc3QuanMnLCBbJ2dvb2cudWkuRm9ybVBvc3RUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5Gb3JtUG9zdCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QuaXNWZXJzaW9uJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZ2F1Z2UuanMnLCBbJ2dvb2cudWkuR2F1Z2UnLCAnZ29vZy51aS5HYXVnZUNvbG9yZWRSYW5nZSddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnguQW5pbWF0aW9uJywgJ2dvb2cuZnguVHJhbnNpdGlvbicsICdnb29nLmZ4LmVhc2luZycsICdnb29nLmdyYXBoaWNzJywgJ2dvb2cuZ3JhcGhpY3MuRm9udCcsICdnb29nLmdyYXBoaWNzLlBhdGgnLCAnZ29vZy5ncmFwaGljcy5Tb2xpZEZpbGwnLCAnZ29vZy5tYXRoJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuR2F1Z2VUaGVtZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvZ2F1Z2V0aGVtZS5qcycsIFsnZ29vZy51aS5HYXVnZVRoZW1lJ10sIFsnZ29vZy5ncmFwaGljcy5MaW5lYXJHcmFkaWVudCcsICdnb29nLmdyYXBoaWNzLlNvbGlkRmlsbCcsICdnb29nLmdyYXBoaWNzLlN0cm9rZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvaG92ZXJjYXJkLmpzJywgWydnb29nLnVpLkhvdmVyQ2FyZCcsICdnb29nLnVpLkhvdmVyQ2FyZC5FdmVudFR5cGUnLCAnZ29vZy51aS5Ib3ZlckNhcmQuVHJpZ2dlckV2ZW50J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy51aS5BZHZhbmNlZFRvb2x0aXAnLCAnZ29vZy51aS5Qb3B1cEJhc2UnLCAnZ29vZy51aS5Ub29sdGlwJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9ob3ZlcmNhcmRfdGVzdC5qcycsIFsnZ29vZy51aS5Ib3ZlckNhcmRUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuSG92ZXJDYXJkJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvaHN2YXBhbGV0dGUuanMnLCBbJ2dvb2cudWkuSHN2YVBhbGV0dGUnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuY29sb3IuYWxwaGEnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkhzdlBhbGV0dGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2hzdmFwYWxldHRlX3Rlc3QuanMnLCBbJ2dvb2cudWkuSHN2YVBhbGV0dGVUZXN0J10sIFsnZ29vZy5jb2xvci5hbHBoYScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5Ic3ZhUGFsZXR0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2hzdnBhbGV0dGUuanMnLCBbJ2dvb2cudWkuSHN2UGFsZXR0ZSddLCBbJ2dvb2cuY29sb3InLCAnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLklucHV0SGFuZGxlcicsICdnb29nLnN0eWxlJywgJ2dvb2cuc3R5bGUuYmlkaScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvaHN2cGFsZXR0ZV90ZXN0LmpzJywgWydnb29nLnVpLkhzdlBhbGV0dGVUZXN0J10sIFsnZ29vZy5jb2xvcicsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5Ic3ZQYWxldHRlJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvaWRnZW5lcmF0b3IuanMnLCBbJ2dvb2cudWkuSWRHZW5lcmF0b3InXSwgW10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9pZGxldGltZXIuanMnLCBbJ2dvb2cudWkuSWRsZVRpbWVyJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLnN0cnVjdHMuU2V0JywgJ2dvb2cudWkuQWN0aXZpdHlNb25pdG9yJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9pZGxldGltZXJfdGVzdC5qcycsIFsnZ29vZy51aS5JZGxlVGltZXJUZXN0J10sIFsnZ29vZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuSWRsZVRpbWVyJywgJ2dvb2cudWkuTW9ja0FjdGl2aXR5TW9uaXRvciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2lmcmFtZW1hc2suanMnLCBbJ2dvb2cudWkuSWZyYW1lTWFzayddLCBbJ2dvb2cuRGlzcG9zYWJsZScsICdnb29nLlRpbWVyJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLmlmcmFtZScsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5zdHJ1Y3RzLlBvb2wnLCAnZ29vZy5zdHlsZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvaWZyYW1lbWFza190ZXN0LmpzJywgWydnb29nLnVpLklmcmFtZU1hc2tUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5pZnJhbWUnLCAnZ29vZy5zdHJ1Y3RzLlBvb2wnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5TdHJpY3RNb2NrJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5JZnJhbWVNYXNrJywgJ2dvb2cudWkuUG9wdXAnLCAnZ29vZy51aS5Qb3B1cEJhc2UnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9pbWFnZWxlc3NidXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5JbWFnZWxlc3NCdXR0b25SZW5kZXJlciddLCBbJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cudWkuQnV0dG9uJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ3VzdG9tQnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5JTkxJTkVfQkxPQ0tfQ0xBU1NOQU1FJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2ltYWdlbGVzc21lbnVidXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5JbWFnZWxlc3NNZW51QnV0dG9uUmVuZGVyZXInXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnVpLklOTElORV9CTE9DS19DTEFTU05BTUUnLCAnZ29vZy51aS5NZW51QnV0dG9uJywgJ2dvb2cudWkuTWVudUJ1dHRvblJlbmRlcmVyJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2lucHV0ZGF0ZXBpY2tlci5qcycsIFsnZ29vZy51aS5JbnB1dERhdGVQaWNrZXInXSwgWydnb29nLmRhdGUuRGF0ZVRpbWUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5pMThuLkRhdGVUaW1lUGFyc2UnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5EYXRlUGlja2VyJywgJ2dvb2cudWkuTGFiZWxJbnB1dCcsICdnb29nLnVpLlBvcHVwQmFzZScsICdnb29nLnVpLlBvcHVwRGF0ZVBpY2tlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvaW5wdXRkYXRlcGlja2VyX3Rlc3QuanMnLCBbJ2dvb2cudWkuSW5wdXREYXRlUGlja2VyVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuaTE4bi5EYXRlVGltZUZvcm1hdCcsICdnb29nLmkxOG4uRGF0ZVRpbWVQYXJzZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuSW5wdXREYXRlUGlja2VyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvaXRlbWV2ZW50LmpzJywgWydnb29nLnVpLkl0ZW1FdmVudCddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9rZXlib2FyZGV2ZW50ZGF0YS5qcycsIFsnZ29vZy51aS5LZXlib2FyZEV2ZW50RGF0YSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9rZXlib2FyZHNob3J0Y3V0aGFuZGxlci5qcycsIFsnZ29vZy51aS5LZXlib2FyZFNob3J0Y3V0RXZlbnQnLCAnZ29vZy51aS5LZXlib2FyZFNob3J0Y3V0SGFuZGxlcicsICdnb29nLnVpLktleWJvYXJkU2hvcnRjdXRIYW5kbGVyLkV2ZW50VHlwZScsICdnb29nLnVpLktleWJvYXJkU2hvcnRjdXRIYW5kbGVyLk1vZGlmaWVycyddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZXZlbnRzLktleU5hbWVzJywgJ2dvb2cuZXZlbnRzLktleXMnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy51aS5LZXlib2FyZEV2ZW50RGF0YScsICdnb29nLnVpLlN5bnRoZXRpY0tleWJvYXJkRXZlbnQnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2tleWJvYXJkc2hvcnRjdXRoYW5kbGVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuS2V5Ym9hcmRTaG9ydGN1dEhhbmRsZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuQnJvd3NlckV2ZW50JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cudGVzdGluZy5Nb2NrQ2xvY2snLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLlN0cmljdE1vY2snLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuS2V5Ym9hcmRTaG9ydGN1dEhhbmRsZXInLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9sYWJlbGlucHV0LmpzJywgWydnb29nLnVpLkxhYmVsSW5wdXQnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5JbnB1dFR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbGFiZWxpbnB1dF90ZXN0LmpzJywgWydnb29nLnVpLkxhYmVsSW5wdXRUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuTGFiZWxJbnB1dCcsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL2xpbmtidXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5MaW5rQnV0dG9uUmVuZGVyZXInXSwgWydnb29nLnVpLkJ1dHRvbicsICdnb29nLnVpLkZsYXRCdXR0b25SZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZWRpYS9mbGFzaG9iamVjdC5qcycsIFsnZ29vZy51aS5tZWRpYS5GbGFzaE9iamVjdCcsICdnb29nLnVpLm1lZGlhLkZsYXNoT2JqZWN0LlNjcmlwdEFjY2Vzc0xldmVsJywgJ2dvb2cudWkubWVkaWEuRmxhc2hPYmplY3QuV21vZGVzJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5odG1sLmZsYXNoJywgJ2dvb2cubG9nJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RydWN0cy5NYXAnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5mbGFzaCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVkaWEvZmxhc2hvYmplY3RfdGVzdC5qcycsIFsnZ29vZy51aS5tZWRpYS5GbGFzaE9iamVjdFRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5Eb21IZWxwZXInLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy50ZXN0aW5nLk1vY2tDb250cm9sJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLm1lZGlhLkZsYXNoT2JqZWN0JywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVkaWEvZmxpY2tyLmpzJywgWydnb29nLnVpLm1lZGlhLkZsaWNrclNldCcsICdnb29nLnVpLm1lZGlhLkZsaWNrclNldE1vZGVsJ10sIFsnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnVpLm1lZGlhLkZsYXNoT2JqZWN0JywgJ2dvb2cudWkubWVkaWEuTWVkaWEnLCAnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsJywgJ2dvb2cudWkubWVkaWEuTWVkaWFSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVkaWEvZmxpY2tyX3Rlc3QuanMnLCBbJ2dvb2cudWkubWVkaWEuRmxpY2tyU2V0VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLm1lZGlhLkZsYXNoT2JqZWN0JywgJ2dvb2cudWkubWVkaWEuRmxpY2tyU2V0JywgJ2dvb2cudWkubWVkaWEuRmxpY2tyU2V0TW9kZWwnLCAnZ29vZy51aS5tZWRpYS5NZWRpYSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lZGlhL2dvb2dsZXZpZGVvLmpzJywgWydnb29nLnVpLm1lZGlhLkdvb2dsZVZpZGVvJywgJ2dvb2cudWkubWVkaWEuR29vZ2xlVmlkZW9Nb2RlbCddLCBbJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy51aS5tZWRpYS5GbGFzaE9iamVjdCcsICdnb29nLnVpLm1lZGlhLk1lZGlhJywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbCcsICdnb29nLnVpLm1lZGlhLk1lZGlhUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lZGlhL2dvb2dsZXZpZGVvX3Rlc3QuanMnLCBbJ2dvb2cudWkubWVkaWEuR29vZ2xlVmlkZW9UZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkubWVkaWEuRmxhc2hPYmplY3QnLCAnZ29vZy51aS5tZWRpYS5Hb29nbGVWaWRlbycsICdnb29nLnVpLm1lZGlhLkdvb2dsZVZpZGVvTW9kZWwnLCAnZ29vZy51aS5tZWRpYS5NZWRpYSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lZGlhL21lZGlhLmpzJywgWydnb29nLnVpLm1lZGlhLk1lZGlhJywgJ2dvb2cudWkubWVkaWEuTWVkaWFSZW5kZXJlciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5Db250cm9sJywgJ2dvb2cudWkuQ29udHJvbFJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZWRpYS9tZWRpYV90ZXN0LmpzJywgWydnb29nLnVpLm1lZGlhLk1lZGlhVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlcicsICdnb29nLnVpLm1lZGlhLk1lZGlhJywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbCcsICdnb29nLnVpLm1lZGlhLk1lZGlhUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZWRpYS9tZWRpYW1vZGVsLmpzJywgWydnb29nLnVpLm1lZGlhLk1lZGlhTW9kZWwnLCAnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsLkNhdGVnb3J5JywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbC5DcmVkaXQnLCAnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsLkNyZWRpdC5Sb2xlJywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbC5DcmVkaXQuU2NoZW1lJywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbC5NZWRpdW0nLCAnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsLk1pbWVUeXBlJywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbC5QbGF5ZXInLCAnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsLlN1YlRpdGxlJywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbC5UaHVtYm5haWwnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lZGlhL21lZGlhbW9kZWxfdGVzdC5qcycsIFsnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsVGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVkaWEvbXAzLmpzJywgWydnb29nLnVpLm1lZGlhLk1wMyddLCBbJ2dvb2cuc3RyaW5nJywgJ2dvb2cudWkubWVkaWEuRmxhc2hPYmplY3QnLCAnZ29vZy51aS5tZWRpYS5NZWRpYScsICdnb29nLnVpLm1lZGlhLk1lZGlhUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lZGlhL21wM190ZXN0LmpzJywgWydnb29nLnVpLm1lZGlhLk1wM1Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuaHRtbC50ZXN0aW5nJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5tZWRpYS5GbGFzaE9iamVjdCcsICdnb29nLnVpLm1lZGlhLk1lZGlhJywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbCcsICdnb29nLnVpLm1lZGlhLk1wMyddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lZGlhL3Bob3RvLmpzJywgWydnb29nLnVpLm1lZGlhLlBob3RvJ10sIFsnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnVpLm1lZGlhLk1lZGlhJywgJ2dvb2cudWkubWVkaWEuTWVkaWFSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVkaWEvcGhvdG9fdGVzdC5qcycsIFsnZ29vZy51aS5tZWRpYS5QaG90b1Rlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuaHRtbC50ZXN0aW5nJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsJywgJ2dvb2cudWkubWVkaWEuUGhvdG8nXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZWRpYS9waWNhc2EuanMnLCBbJ2dvb2cudWkubWVkaWEuUGljYXNhQWxidW0nLCAnZ29vZy51aS5tZWRpYS5QaWNhc2FBbGJ1bU1vZGVsJ10sIFsnZ29vZy5odG1sLlRydXN0ZWRSZXNvdXJjZVVybCcsICdnb29nLnN0cmluZy5Db25zdCcsICdnb29nLnVpLm1lZGlhLkZsYXNoT2JqZWN0JywgJ2dvb2cudWkubWVkaWEuTWVkaWEnLCAnZ29vZy51aS5tZWRpYS5NZWRpYU1vZGVsJywgJ2dvb2cudWkubWVkaWEuTWVkaWFSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVkaWEvcGljYXNhX3Rlc3QuanMnLCBbJ2dvb2cudWkubWVkaWEuUGljYXNhVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLm1lZGlhLkZsYXNoT2JqZWN0JywgJ2dvb2cudWkubWVkaWEuTWVkaWEnLCAnZ29vZy51aS5tZWRpYS5QaWNhc2FBbGJ1bScsICdnb29nLnVpLm1lZGlhLlBpY2FzYUFsYnVtTW9kZWwnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZWRpYS92aW1lby5qcycsIFsnZ29vZy51aS5tZWRpYS5WaW1lbycsICdnb29nLnVpLm1lZGlhLlZpbWVvTW9kZWwnXSwgWydnb29nLmh0bWwuVHJ1c3RlZFJlc291cmNlVXJsJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cudWkubWVkaWEuRmxhc2hPYmplY3QnLCAnZ29vZy51aS5tZWRpYS5NZWRpYScsICdnb29nLnVpLm1lZGlhLk1lZGlhTW9kZWwnLCAnZ29vZy51aS5tZWRpYS5NZWRpYVJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZWRpYS92aW1lb190ZXN0LmpzJywgWydnb29nLnVpLm1lZGlhLlZpbWVvVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLm1lZGlhLkZsYXNoT2JqZWN0JywgJ2dvb2cudWkubWVkaWEuTWVkaWEnLCAnZ29vZy51aS5tZWRpYS5WaW1lbycsICdnb29nLnVpLm1lZGlhLlZpbWVvTW9kZWwnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZWRpYS95b3V0dWJlLmpzJywgWydnb29nLnVpLm1lZGlhLllvdXR1YmUnLCAnZ29vZy51aS5tZWRpYS5Zb3V0dWJlTW9kZWwnXSwgWydnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuaHRtbC5UcnVzdGVkUmVzb3VyY2VVcmwnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJpbmcuQ29uc3QnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5tZWRpYS5GbGFzaE9iamVjdCcsICdnb29nLnVpLm1lZGlhLk1lZGlhJywgJ2dvb2cudWkubWVkaWEuTWVkaWFNb2RlbCcsICdnb29nLnVpLm1lZGlhLk1lZGlhUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lZGlhL3lvdXR1YmVfdGVzdC5qcycsIFsnZ29vZy51aS5tZWRpYS5Zb3V0dWJlVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLm1lZGlhLkZsYXNoT2JqZWN0JywgJ2dvb2cudWkubWVkaWEuWW91dHViZScsICdnb29nLnVpLm1lZGlhLllvdXR1YmVNb2RlbCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnUuanMnLCBbJ2dvb2cudWkuTWVudScsICdnb29nLnVpLk1lbnUuRXZlbnRUeXBlJ10sIFsnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnN0cmluZycsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50LkV2ZW50VHlwZScsICdnb29nLnVpLkNvbXBvbmVudC5TdGF0ZScsICdnb29nLnVpLkNvbnRhaW5lcicsICdnb29nLnVpLkNvbnRhaW5lci5PcmllbnRhdGlvbicsICdnb29nLnVpLk1lbnVIZWFkZXInLCAnZ29vZy51aS5NZW51SXRlbScsICdnb29nLnVpLk1lbnVSZW5kZXJlcicsICdnb29nLnVpLk1lbnVTZXBhcmF0b3InXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnVfdGVzdC5qcycsIFsnZ29vZy51aS5NZW51VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLk1lbnUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZW51YmFyLmpzJywgWydnb29nLnVpLm1lbnVCYXInXSwgWydnb29nLnVpLkNvbnRhaW5lcicsICdnb29nLnVpLk1lbnVCYXJSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVudWJhcmRlY29yYXRvci5qcycsIFsnZ29vZy51aS5tZW51QmFyRGVjb3JhdG9yJ10sIFsnZ29vZy51aS5NZW51QmFyUmVuZGVyZXInLCAnZ29vZy51aS5tZW51QmFyJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnViYXJyZW5kZXJlci5qcycsIFsnZ29vZy51aS5NZW51QmFyUmVuZGVyZXInXSwgWydnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cudWkuQ29udGFpbmVyJywgJ2dvb2cudWkuQ29udGFpbmVyUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnViYXNlLmpzJywgWydnb29nLnVpLk1lbnVCYXNlJ10sIFsnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cudWkuUG9wdXAnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnVidXR0b24uanMnLCBbJ2dvb2cudWkuTWVudUJ1dHRvbiddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5tYXRoLlJlY3QnLCAnZ29vZy5wb3NpdGlvbmluZycsICdnb29nLnBvc2l0aW9uaW5nLkNvcm5lcicsICdnb29nLnBvc2l0aW9uaW5nLk1lbnVBbmNob3JlZFBvc2l0aW9uJywgJ2dvb2cucG9zaXRpb25pbmcuT3ZlcmZsb3cnLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkJ1dHRvbicsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLklkR2VuZXJhdG9yJywgJ2dvb2cudWkuTWVudScsICdnb29nLnVpLk1lbnVCdXR0b25SZW5kZXJlcicsICdnb29nLnVpLk1lbnVJdGVtJywgJ2dvb2cudWkuTWVudVJlbmRlcmVyJywgJ2dvb2cudWkuU3ViTWVudScsICdnb29nLnVpLnJlZ2lzdHJ5JywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZW51YnV0dG9uX3Rlc3QuanMnLCBbJ2dvb2cudWkuTWVudUJ1dHRvblRlc3QnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZXZlbnRzLktleUhhbmRsZXInLCAnZ29vZy5wb3NpdGlvbmluZycsICdnb29nLnBvc2l0aW9uaW5nLkNvcm5lcicsICdnb29nLnBvc2l0aW9uaW5nLk1lbnVBbmNob3JlZFBvc2l0aW9uJywgJ2dvb2cucG9zaXRpb25pbmcuT3ZlcmZsb3cnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuTWVudScsICdnb29nLnVpLk1lbnVCdXR0b24nLCAnZ29vZy51aS5NZW51SXRlbScsICdnb29nLnVpLlN1Yk1lbnUnLCAnZ29vZy51c2VyQWdlbnQnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0LmlzVmVyc2lvbiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnVidXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5NZW51QnV0dG9uUmVuZGVyZXInXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5DdXN0b21CdXR0b25SZW5kZXJlcicsICdnb29nLnVpLklOTElORV9CTE9DS19DTEFTU05BTUUnLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudVJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZW51YnV0dG9ucmVuZGVyZXJfdGVzdC5qcycsIFsnZ29vZy51aS5NZW51QnV0dG9uUmVuZGVyZXJUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnRlc3RpbmcudWkucmVuZGVyZXJhc3NlcnRzJywgJ2dvb2cudWkuTWVudUJ1dHRvbicsICdnb29nLnVpLk1lbnVCdXR0b25SZW5kZXJlcicsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnVoZWFkZXIuanMnLCBbJ2dvb2cudWkuTWVudUhlYWRlciddLCBbJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29udHJvbCcsICdnb29nLnVpLk1lbnVIZWFkZXJSZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZW51aGVhZGVycmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuTWVudUhlYWRlclJlbmRlcmVyJ10sIFsnZ29vZy51aS5Db250cm9sUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnVpdGVtLmpzJywgWydnb29nLnVpLk1lbnVJdGVtJ10sIFsnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnN0cmluZycsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2wnLCAnZ29vZy51aS5NZW51SXRlbVJlbmRlcmVyJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21lbnVpdGVtX3Rlc3QuanMnLCBbJ2dvb2cudWkuTWVudUl0ZW1UZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuaHRtbC50ZXN0aW5nJywgJ2dvb2cubWF0aC5Db29yZGluYXRlJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5NZW51SXRlbScsICdnb29nLnVpLk1lbnVJdGVtUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZW51aXRlbXJlbmRlcmVyLmpzJywgWydnb29nLnVpLk1lbnVJdGVtUmVuZGVyZXInXSwgWydnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVudWl0ZW1yZW5kZXJlcl90ZXN0LmpzJywgWydnb29nLnVpLk1lbnVJdGVtUmVuZGVyZXJUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnRlc3RpbmcudWkucmVuZGVyZXJhc3NlcnRzJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuTWVudUl0ZW0nLCAnZ29vZy51aS5NZW51SXRlbVJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVudXJlbmRlcmVyLmpzJywgWydnb29nLnVpLk1lbnVSZW5kZXJlciddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy51aS5Db250YWluZXJSZW5kZXJlcicsICdnb29nLnVpLlNlcGFyYXRvciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVudXNlcGFyYXRvci5qcycsIFsnZ29vZy51aS5NZW51U2VwYXJhdG9yJ10sIFsnZ29vZy51aS5NZW51U2VwYXJhdG9yUmVuZGVyZXInLCAnZ29vZy51aS5TZXBhcmF0b3InLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbWVudXNlcGFyYXRvcnJlbmRlcmVyLmpzJywgWydnb29nLnVpLk1lbnVTZXBhcmF0b3JSZW5kZXJlciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cudWkuQ29udHJvbFJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tZW51c2VwYXJhdG9ycmVuZGVyZXJfdGVzdC5qcycsIFsnZ29vZy51aS5NZW51U2VwYXJhdG9yUmVuZGVyZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLk1lbnVTZXBhcmF0b3InLCAnZ29vZy51aS5NZW51U2VwYXJhdG9yUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tb2NrYWN0aXZpdHltb25pdG9yLmpzJywgWydnb29nLnVpLk1vY2tBY3Rpdml0eU1vbml0b3InXSwgWydnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy51aS5BY3Rpdml0eU1vbml0b3InXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21vY2thY3Rpdml0eW1vbml0b3JfdGVzdC5qcycsIFsnZ29vZy51aS5Nb2NrQWN0aXZpdHlNb25pdG9yVGVzdCddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQWN0aXZpdHlNb25pdG9yJywgJ2dvb2cudWkuTW9ja0FjdGl2aXR5TW9uaXRvciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21vZGFsYXJpYXZpc2liaWxpdHloZWxwZXIuanMnLCBbJ2dvb2cudWkuTW9kYWxBcmlhVmlzaWJpbGl0eUhlbHBlciddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9tb2RhbGFyaWF2aXNpYmlsaXR5aGVscGVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuTW9kYWxBcmlhVmlzaWJpbGl0eUhlbHBlclRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLnN0cmluZycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuTW9kYWxBcmlhVmlzaWJpbGl0eUhlbHBlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL21vZGFscG9wdXAuanMnLCBbJ2dvb2cudWkuTW9kYWxQb3B1cCddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uYW5pbWF0aW9uRnJhbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZG9tLmlmcmFtZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuRm9jdXNIYW5kbGVyJywgJ2dvb2cuZnguVHJhbnNpdGlvbicsICdnb29nLnN0cmluZycsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuTW9kYWxBcmlhVmlzaWJpbGl0eUhlbHBlcicsICdnb29nLnVpLlBvcHVwQmFzZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvbW9kYWxwb3B1cF90ZXN0LmpzJywgWydnb29nLnVpLk1vZGFsUG9wdXBUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5kaXNwb3NlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZnguVHJhbnNpdGlvbicsICdnb29nLmZ4LmNzczMnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLk1vZGFsUG9wdXAnLCAnZ29vZy51aS5Qb3B1cEJhc2UnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9uYXRpdmVidXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5OYXRpdmVCdXR0b25SZW5kZXJlciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5JbnB1dFR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cudWkuQnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5Db21wb25lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL25hdGl2ZWJ1dHRvbnJlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuTmF0aXZlQnV0dG9uUmVuZGVyZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLkV4cGVjdGVkRmFpbHVyZXMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudGVzdGluZy51aS5yZW5kZXJlcmFzc2VydHMnLCAnZ29vZy51aS5CdXR0b24nLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5OYXRpdmVCdXR0b25SZW5kZXJlcicsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL29wdGlvbi5qcycsIFsnZ29vZy51aS5PcHRpb24nXSwgWydnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLk1lbnVJdGVtJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3BhbGV0dGUuanMnLCBbJ2dvb2cudWkuUGFsZXR0ZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cubWF0aC5TaXplJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29udHJvbCcsICdnb29nLnVpLlBhbGV0dGVSZW5kZXJlcicsICdnb29nLnVpLlNlbGVjdGlvbk1vZGVsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9wYWxldHRlX3Rlc3QuanMnLCBbJ2dvb2cudWkuUGFsZXR0ZVRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5ldmVudHMuS2V5RXZlbnQnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cy5FdmVudCcsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRhaW5lcicsICdnb29nLnVpLlBhbGV0dGUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9wYWxldHRlcmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuUGFsZXR0ZVJlbmRlcmVyJ10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5Ob2RlSXRlcmF0b3InLCAnZ29vZy5kb20uTm9kZVR5cGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5kb20uZGF0YXNldCcsICdnb29nLml0ZXInLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlcicsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcGFsZXR0ZXJlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuUGFsZXR0ZVJlbmRlcmVyVGVzdCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuaHRtbC50ZXN0aW5nJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5QYWxldHRlJywgJ2dvb2cudWkuUGFsZXR0ZVJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcGxhaW50ZXh0c3BlbGxjaGVja2VyLmpzJywgWydnb29nLnVpLlBsYWluVGV4dFNwZWxsQ2hlY2tlciddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cuc3BlbGwuU3BlbGxDaGVjaycsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQWJzdHJhY3RTcGVsbENoZWNrZXInLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3BsYWludGV4dHNwZWxsY2hlY2tlcl90ZXN0LmpzJywgWydnb29nLnVpLlBsYWluVGV4dFNwZWxsQ2hlY2tlclRlc3QnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuc3BlbGwuU3BlbGxDaGVjaycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5BYnN0cmFjdFNwZWxsQ2hlY2tlcicsICdnb29nLnVpLlBsYWluVGV4dFNwZWxsQ2hlY2tlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3BvcHVwLmpzJywgWydnb29nLnVpLlBvcHVwJ10sIFsnZ29vZy5tYXRoLkJveCcsICdnb29nLnBvc2l0aW9uaW5nLkFic3RyYWN0UG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLlBvcHVwQmFzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcG9wdXBfdGVzdC5qcycsIFsnZ29vZy51aS5Qb3B1cFRlc3QnXSwgWydnb29nLnBvc2l0aW9uaW5nLkFuY2hvcmVkUG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuUG9wdXAnLCAnZ29vZy51c2VyQWdlbnQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9wb3B1cGJhc2UuanMnLCBbJ2dvb2cudWkuUG9wdXBCYXNlJywgJ2dvb2cudWkuUG9wdXBCYXNlLkV2ZW50VHlwZScsICdnb29nLnVpLlBvcHVwQmFzZS5UeXBlJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFycmF5JywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmZ4LlRyYW5zaXRpb24nLCAnZ29vZy5zdHlsZScsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcG9wdXBiYXNlX3Rlc3QuanMnLCBbJ2dvb2cudWkuUG9wdXBCYXNlVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZnguVHJhbnNpdGlvbicsICdnb29nLmZ4LmNzczMnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5ldmVudHMuRXZlbnQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLlBvcHVwQmFzZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3BvcHVwY29sb3JwaWNrZXIuanMnLCBbJ2dvb2cudWkuUG9wdXBDb2xvclBpY2tlciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cucG9zaXRpb25pbmcuQW5jaG9yZWRQb3NpdGlvbicsICdnb29nLnBvc2l0aW9uaW5nLkNvcm5lcicsICdnb29nLnVpLkNvbG9yUGlja2VyJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuUG9wdXAnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3BvcHVwY29sb3JwaWNrZXJfdGVzdC5qcycsIFsnZ29vZy51aS5Qb3B1cENvbG9yUGlja2VyVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbG9yUGlja2VyJywgJ2dvb2cudWkuUG9wdXBDb2xvclBpY2tlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3BvcHVwZGF0ZXBpY2tlci5qcycsIFsnZ29vZy51aS5Qb3B1cERhdGVQaWNrZXInXSwgWydnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5wb3NpdGlvbmluZy5BbmNob3JlZFZpZXdwb3J0UG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkRhdGVQaWNrZXInLCAnZ29vZy51aS5Qb3B1cCcsICdnb29nLnVpLlBvcHVwQmFzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcG9wdXBkYXRlcGlja2VyX3Rlc3QuanMnLCBbJ2dvb2cudWkuUG9wdXBEYXRlUGlja2VyVGVzdCddLCBbJ2dvb2cuZGF0ZS5EYXRlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLnJlY29yZEZ1bmN0aW9uJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5EYXRlUGlja2VyJywgJ2dvb2cudWkuUG9wdXBCYXNlJywgJ2dvb2cudWkuUG9wdXBEYXRlUGlja2VyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcG9wdXBtZW51LmpzJywgWydnb29nLnVpLlBvcHVwTWVudSddLCBbJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5Ccm93c2VyRXZlbnQuTW91c2VCdXR0b24nLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cucG9zaXRpb25pbmcuQW5jaG9yZWRWaWV3cG9ydFBvc2l0aW9uJywgJ2dvb2cucG9zaXRpb25pbmcuQ29ybmVyJywgJ2dvb2cucG9zaXRpb25pbmcuTWVudUFuY2hvcmVkUG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5PdmVyZmxvdycsICdnb29nLnBvc2l0aW9uaW5nLlZpZXdwb3J0Q2xpZW50UG9zaXRpb24nLCAnZ29vZy5zdHJ1Y3RzLk1hcCcsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuTWVudScsICdnb29nLnVpLlBvcHVwQmFzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcG9wdXBtZW51X3Rlc3QuanMnLCBbJ2dvb2cudWkuUG9wdXBNZW51VGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzLkJyb3dzZXJFdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudUl0ZW0nLCAnZ29vZy51aS5Qb3B1cE1lbnUnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9wcm9ncmVzc2Jhci5qcycsIFsnZ29vZy51aS5Qcm9ncmVzc0JhcicsICdnb29nLnVpLlByb2dyZXNzQmFyLk9yaWVudGF0aW9uJ10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLlJhbmdlTW9kZWwnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3Byb21wdC5qcycsIFsnZ29vZy51aS5Qcm9tcHQnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLklucHV0VHlwZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmZ1bmN0aW9ucycsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5EaWFsb2cnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3Byb21wdF90ZXN0LmpzJywgWydnb29nLnVpLlByb21wdFRlc3QnXSwgWydnb29nLmRvbS5zZWxlY3Rpb24nLCAnZ29vZy5ldmVudHMuSW5wdXRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkJpZGlJbnB1dCcsICdnb29nLnVpLkRpYWxvZycsICdnb29nLnVpLlByb21wdCcsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcmFuZ2Vtb2RlbC5qcycsIFsnZ29vZy51aS5SYW5nZU1vZGVsJ10sIFsnZ29vZy5ldmVudHMuRXZlbnRUYXJnZXQnLCAnZ29vZy51aS5Db21wb25lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3JhbmdlbW9kZWxfdGVzdC5qcycsIFsnZ29vZy51aS5SYW5nZU1vZGVsVGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5SYW5nZU1vZGVsJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcmF0aW5ncy5qcycsIFsnZ29vZy51aS5SYXRpbmdzJywgJ2dvb2cudWkuUmF0aW5ncy5FdmVudFR5cGUnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy51aS5Db21wb25lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3JlZ2lzdHJ5LmpzJywgWydnb29nLnVpLnJlZ2lzdHJ5J10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcmVnaXN0cnlfdGVzdC5qcycsIFsnZ29vZy51aS5yZWdpc3RyeVRlc3QnXSwgWydnb29nLm9iamVjdCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkucmVnaXN0cnknXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9yaWNodGV4dHNwZWxsY2hlY2tlci5qcycsIFsnZ29vZy51aS5SaWNoVGV4dFNwZWxsQ2hlY2tlciddLCBbJ2dvb2cuVGltZXInLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLk5vZGVUeXBlJywgJ2dvb2cuZG9tLlJhbmdlJywgJ2dvb2cuZXZlbnRzLkV2ZW50SGFuZGxlcicsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5ldmVudHMuS2V5SGFuZGxlcicsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnNwZWxsLlNwZWxsQ2hlY2snLCAnZ29vZy5zdHJpbmcuU3RyaW5nQnVmZmVyJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5BYnN0cmFjdFNwZWxsQ2hlY2tlcicsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLlBvcHVwTWVudSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcmljaHRleHRzcGVsbGNoZWNrZXJfdGVzdC5qcycsIFsnZ29vZy51aS5SaWNoVGV4dFNwZWxsQ2hlY2tlclRlc3QnXSwgWydnb29nLmRvbS5SYW5nZScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLm9iamVjdCcsICdnb29nLnNwZWxsLlNwZWxsQ2hlY2snLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5SaWNoVGV4dFNwZWxsQ2hlY2tlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3JvdW5kZWRwYW5lbC5qcycsIFsnZ29vZy51aS5CYXNlUm91bmRlZFBhbmVsJywgJ2dvb2cudWkuQ3NzUm91bmRlZFBhbmVsJywgJ2dvb2cudWkuR3JhcGhpY3NSb3VuZGVkUGFuZWwnLCAnZ29vZy51aS5Sb3VuZGVkUGFuZWwnLCAnZ29vZy51aS5Sb3VuZGVkUGFuZWwuQ29ybmVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZ3JhcGhpY3MnLCAnZ29vZy5ncmFwaGljcy5QYXRoJywgJ2dvb2cuZ3JhcGhpY3MuU29saWRGaWxsJywgJ2dvb2cuZ3JhcGhpY3MuU3Ryb2tlJywgJ2dvb2cubWF0aCcsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9yb3VuZGVkcGFuZWxfdGVzdC5qcycsIFsnZ29vZy51aS5Sb3VuZGVkUGFuZWxUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNzc1JvdW5kZWRQYW5lbCcsICdnb29nLnVpLkdyYXBoaWNzUm91bmRlZFBhbmVsJywgJ2dvb2cudWkuUm91bmRlZFBhbmVsJywgJ2dvb2cudXNlckFnZW50J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvcm91bmRlZHRhYnJlbmRlcmVyLmpzJywgWydnb29nLnVpLlJvdW5kZWRUYWJSZW5kZXJlciddLCBbJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy51aS5UYWInLCAnZ29vZy51aS5UYWJCYXInLCAnZ29vZy51aS5UYWJSZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9zY3JvbGxmbG9hdGVyLmpzJywgWydnb29nLnVpLlNjcm9sbEZsb2F0ZXInLCAnZ29vZy51aS5TY3JvbGxGbG9hdGVyLkV2ZW50VHlwZSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9zY3JvbGxmbG9hdGVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuU2Nyb2xsRmxvYXRlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLnN0eWxlJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5TY3JvbGxGbG9hdGVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc2VsZWN0LmpzJywgWydnb29nLnVpLlNlbGVjdCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5hcnJheScsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5JZEdlbmVyYXRvcicsICdnb29nLnVpLk1lbnVCdXR0b24nLCAnZ29vZy51aS5NZW51SXRlbScsICdnb29nLnVpLk1lbnVSZW5kZXJlcicsICdnb29nLnVpLlNlbGVjdGlvbk1vZGVsJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3NlbGVjdF90ZXN0LmpzJywgWydnb29nLnVpLlNlbGVjdFRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ3VzdG9tQnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudUl0ZW0nLCAnZ29vZy51aS5TZWxlY3QnLCAnZ29vZy51aS5TZXBhcmF0b3InXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9zZWxlY3Rpb25tZW51YnV0dG9uLmpzJywgWydnb29nLnVpLlNlbGVjdGlvbk1lbnVCdXR0b24nLCAnZ29vZy51aS5TZWxlY3Rpb25NZW51QnV0dG9uLlNlbGVjdGlvblN0YXRlJ10sIFsnZ29vZy5kb20uSW5wdXRUeXBlJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5NZW51QnV0dG9uJywgJ2dvb2cudWkuTWVudUl0ZW0nLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc2VsZWN0aW9ubWVudWJ1dHRvbl90ZXN0LmpzJywgWydnb29nLnVpLlNlbGVjdGlvbk1lbnVCdXR0b25UZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuU2VsZWN0aW9uTWVudUJ1dHRvbiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3NlbGVjdGlvbm1vZGVsLmpzJywgWydnb29nLnVpLlNlbGVjdGlvbk1vZGVsJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3NlbGVjdGlvbm1vZGVsX3Rlc3QuanMnLCBbJ2dvb2cudWkuU2VsZWN0aW9uTW9kZWxUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLnRlc3RpbmcucmVjb3JkRnVuY3Rpb24nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLlNlbGVjdGlvbk1vZGVsJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc2VwYXJhdG9yLmpzJywgWydnb29nLnVpLlNlcGFyYXRvciddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2wnLCAnZ29vZy51aS5NZW51U2VwYXJhdG9yUmVuZGVyZXInLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc2VydmVyY2hhcnQuanMnLCBbJ2dvb2cudWkuU2VydmVyQ2hhcnQnLCAnZ29vZy51aS5TZXJ2ZXJDaGFydC5BeGlzRGlzcGxheVR5cGUnLCAnZ29vZy51aS5TZXJ2ZXJDaGFydC5DaGFydFR5cGUnLCAnZ29vZy51aS5TZXJ2ZXJDaGFydC5FbmNvZGluZ1R5cGUnLCAnZ29vZy51aS5TZXJ2ZXJDaGFydC5FdmVudCcsICdnb29nLnVpLlNlcnZlckNoYXJ0LkxlZ2VuZFBvc2l0aW9uJywgJ2dvb2cudWkuU2VydmVyQ2hhcnQuTWF4aW11bVZhbHVlJywgJ2dvb2cudWkuU2VydmVyQ2hhcnQuTXVsdGlBeGlzQWxpZ25tZW50JywgJ2dvb2cudWkuU2VydmVyQ2hhcnQuTXVsdGlBeGlzVHlwZScsICdnb29nLnVpLlNlcnZlckNoYXJ0LlVyaVBhcmFtJywgJ2dvb2cudWkuU2VydmVyQ2hhcnQuVXJpVG9vTG9uZ0V2ZW50J10sIFsnZ29vZy5VcmknLCAnZ29vZy5hcnJheScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudWkuQ29tcG9uZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9zZXJ2ZXJjaGFydF90ZXN0LmpzJywgWydnb29nLnVpLlNlcnZlckNoYXJ0VGVzdCddLCBbJ2dvb2cuVXJpJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5TZXJ2ZXJDaGFydCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3NsaWRlci5qcycsIFsnZ29vZy51aS5TbGlkZXInLCAnZ29vZy51aS5TbGlkZXIuT3JpZW50YXRpb24nXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy51aS5TbGlkZXJCYXNlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9zbGlkZXJiYXNlLmpzJywgWydnb29nLnVpLlNsaWRlckJhc2UnLCAnZ29vZy51aS5TbGlkZXJCYXNlLkFuaW1hdGlvbkZhY3RvcnknLCAnZ29vZy51aS5TbGlkZXJCYXNlLk9yaWVudGF0aW9uJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLk1vdXNlV2hlZWxIYW5kbGVyJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuZnguQW5pbWF0aW9uUGFyYWxsZWxRdWV1ZScsICdnb29nLmZ4LkRyYWdnZXInLCAnZ29vZy5meC5UcmFuc2l0aW9uJywgJ2dvb2cuZnguZG9tLlJlc2l6ZUhlaWdodCcsICdnb29nLmZ4LmRvbS5SZXNpemVXaWR0aCcsICdnb29nLmZ4LmRvbS5TbGlkZScsICdnb29nLm1hdGgnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnN0eWxlLmJpZGknLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5SYW5nZU1vZGVsJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9zbGlkZXJiYXNlX3Rlc3QuanMnLCBbJ2dvb2cudWkuU2xpZGVyQmFzZVRlc3QnXSwgWydnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5meC5BbmltYXRpb24nLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5zdHlsZScsICdnb29nLnN0eWxlLmJpZGknLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuTW9ja0NvbnRyb2wnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcubW9ja21hdGNoZXJzJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuU2xpZGVyQmFzZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3NwbGl0cGFuZS5qcycsIFsnZ29vZy51aS5TcGxpdFBhbmUnLCAnZ29vZy51aS5TcGxpdFBhbmUuT3JpZW50YXRpb24nXSwgWydnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZnguRHJhZ2dlcicsICdnb29nLm1hdGguUmVjdCcsICdnb29nLm1hdGguU2l6ZScsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9zcGxpdHBhbmVfdGVzdC5qcycsIFsnZ29vZy51aS5TcGxpdFBhbmVUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5tYXRoLlNpemUnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5yZWNvcmRGdW5jdGlvbicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuU3BsaXRQYW5lJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc3R5bGUvYXBwL2J1dHRvbnJlbmRlcmVyLmpzJywgWydnb29nLnVpLnN0eWxlLmFwcC5CdXR0b25SZW5kZXJlciddLCBbJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cudWkuQnV0dG9uJywgJ2dvb2cudWkuQ3VzdG9tQnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5JTkxJTkVfQkxPQ0tfQ0xBU1NOQU1FJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3N0eWxlL2FwcC9idXR0b25yZW5kZXJlcl90ZXN0LmpzJywgWydnb29nLnVpLnN0eWxlLmFwcC5CdXR0b25SZW5kZXJlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudGVzdGluZy51aS5zdHlsZScsICdnb29nLnVpLkJ1dHRvbicsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLnN0eWxlLmFwcC5CdXR0b25SZW5kZXJlcicsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3N0eWxlL2FwcC9tZW51YnV0dG9ucmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuc3R5bGUuYXBwLk1lbnVCdXR0b25SZW5kZXJlciddLCBbJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudVJlbmRlcmVyJywgJ2dvb2cudWkuc3R5bGUuYXBwLkJ1dHRvblJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS9zdHlsZS9hcHAvbWVudWJ1dHRvbnJlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuc3R5bGUuYXBwLk1lbnVCdXR0b25SZW5kZXJlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudGVzdGluZy51aS5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLk1lbnVCdXR0b24nLCAnZ29vZy51aS5zdHlsZS5hcHAuTWVudUJ1dHRvblJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc3R5bGUvYXBwL3ByaW1hcnlhY3Rpb25idXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5zdHlsZS5hcHAuUHJpbWFyeUFjdGlvbkJ1dHRvblJlbmRlcmVyJ10sIFsnZ29vZy51aS5CdXR0b24nLCAnZ29vZy51aS5yZWdpc3RyeScsICdnb29nLnVpLnN0eWxlLmFwcC5CdXR0b25SZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc3R5bGUvYXBwL3ByaW1hcnlhY3Rpb25idXR0b25yZW5kZXJlcl90ZXN0LmpzJywgWydnb29nLnVpLnN0eWxlLmFwcC5QcmltYXJ5QWN0aW9uQnV0dG9uUmVuZGVyZXJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnRlc3RpbmcudWkuc3R5bGUnLCAnZ29vZy51aS5CdXR0b24nLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5zdHlsZS5hcHAuUHJpbWFyeUFjdGlvbkJ1dHRvblJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc3VibWVudS5qcycsIFsnZ29vZy51aS5TdWJNZW51J10sIFsnZ29vZy5UaW1lcicsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cucG9zaXRpb25pbmcuQW5jaG9yZWRWaWV3cG9ydFBvc2l0aW9uJywgJ2dvb2cucG9zaXRpb25pbmcuQ29ybmVyJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudUl0ZW0nLCAnZ29vZy51aS5TdWJNZW51UmVuZGVyZXInLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc3VibWVudV90ZXN0LmpzJywgWydnb29nLnVpLlN1Yk1lbnVUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuU3RhdGUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cuZXZlbnRzLktleUNvZGVzJywgJ2dvb2cuZXZlbnRzLktleUhhbmRsZXInLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5wb3NpdGlvbmluZycsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy50ZXN0aW5nLk1vY2tDbG9jaycsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5NZW51JywgJ2dvb2cudWkuTWVudUl0ZW0nLCAnZ29vZy51aS5TdWJNZW51JywgJ2dvb2cudWkuU3ViTWVudVJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvc3VibWVudXJlbmRlcmVyLmpzJywgWydnb29nLnVpLlN1Yk1lbnVSZW5kZXJlciddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYTExeS5hcmlhLlN0YXRlJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnN0eWxlJywgJ2dvb2cudWkuTWVudScsICdnb29nLnVpLk1lbnVJdGVtUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3N5bnRoZXRpY2tleWJvYXJkZXZlbnQuanMnLCBbJ2dvb2cudWkuU3ludGhldGljS2V5Ym9hcmRFdmVudCddLCBbJ2dvb2cuZXZlbnRzLkV2ZW50JywgJ2dvb2cudWkuS2V5Ym9hcmRFdmVudERhdGEnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RhYi5qcycsIFsnZ29vZy51aS5UYWInXSwgWydnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2wnLCAnZ29vZy51aS5UYWJSZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90YWJfdGVzdC5qcycsIFsnZ29vZy51aS5UYWJUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLlRhYicsICdnb29nLnVpLlRhYlJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdGFiYmFyLmpzJywgWydnb29nLnVpLlRhYkJhcicsICdnb29nLnVpLlRhYkJhci5Mb2NhdGlvbiddLCBbJ2dvb2cudWkuQ29tcG9uZW50LkV2ZW50VHlwZScsICdnb29nLnVpLkNvbnRhaW5lcicsICdnb29nLnVpLkNvbnRhaW5lci5PcmllbnRhdGlvbicsICdnb29nLnVpLlRhYicsICdnb29nLnVpLlRhYkJhclJlbmRlcmVyJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RhYmJhcl90ZXN0LmpzJywgWydnb29nLnVpLlRhYkJhclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRhaW5lcicsICdnb29nLnVpLlRhYicsICdnb29nLnVpLlRhYkJhcicsICdnb29nLnVpLlRhYkJhclJlbmRlcmVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdGFiYmFycmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuVGFiQmFyUmVuZGVyZXInXSwgWydnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudWkuQ29udGFpbmVyUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RhYmJhcnJlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuVGFiQmFyUmVuZGVyZXJUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudGVzdGluZy51aS5yZW5kZXJlcmFzc2VydHMnLCAnZ29vZy51aS5Db250YWluZXInLCAnZ29vZy51aS5UYWJCYXInLCAnZ29vZy51aS5UYWJCYXJSZW5kZXJlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RhYmxlc29ydGVyLmpzJywgWydnb29nLnVpLlRhYmxlU29ydGVyJywgJ2dvb2cudWkuVGFibGVTb3J0ZXIuRXZlbnRUeXBlJ10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy51aS5Db21wb25lbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RhYmxlc29ydGVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuVGFibGVTb3J0ZXJUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5UYWJsZVNvcnRlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RhYnBhbmUuanMnLCBbJ2dvb2cudWkuVGFiUGFuZScsICdnb29nLnVpLlRhYlBhbmUuRXZlbnRzJywgJ2dvb2cudWkuVGFiUGFuZS5UYWJMb2NhdGlvbicsICdnb29nLnVpLlRhYlBhbmUuVGFiUGFnZScsICdnb29nLnVpLlRhYlBhbmVFdmVudCddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudFRhcmdldCcsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5odG1sLlNhZmVTdHlsZVNoZWV0JywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RhYnBhbmVfdGVzdC5qcycsIFsnZ29vZy51aS5UYWJQYW5lVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS5UYWJQYW5lJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdGFicmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuVGFiUmVuZGVyZXInXSwgWydnb29nLmExMXkuYXJpYS5Sb2xlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ29udHJvbFJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90YWJyZW5kZXJlcl90ZXN0LmpzJywgWydnb29nLnVpLlRhYlJlbmRlcmVyVGVzdCddLCBbJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uY2xhc3NsaXN0JywgJ2dvb2cudGVzdGluZy5kb20nLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnRlc3RpbmcudWkucmVuZGVyZXJhc3NlcnRzJywgJ2dvb2cudWkuVGFiJywgJ2dvb2cudWkuVGFiUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90ZXh0YXJlYS5qcycsIFsnZ29vZy51aS5UZXh0YXJlYScsICdnb29nLnVpLlRleHRhcmVhLkV2ZW50VHlwZSddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Db250cm9sJywgJ2dvb2cudWkuVGV4dGFyZWFSZW5kZXJlcicsICdnb29nLnVzZXJBZ2VudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdGV4dGFyZWFfdGVzdC5qcycsIFsnZ29vZy51aS5UZXh0YXJlYVRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuRXhwZWN0ZWRGYWlsdXJlcycsICdnb29nLnRlc3RpbmcuZXZlbnRzLkV2ZW50T2JzZXJ2ZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLlRleHRhcmVhJywgJ2dvb2cudWkuVGV4dGFyZWFSZW5kZXJlcicsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdGV4dGFyZWFyZW5kZXJlci5qcycsIFsnZ29vZy51aS5UZXh0YXJlYVJlbmRlcmVyJ10sIFsnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLkNvbnRyb2xSZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdG9nZ2xlYnV0dG9uLmpzJywgWydnb29nLnVpLlRvZ2dsZUJ1dHRvbiddLCBbJ2dvb2cudWkuQnV0dG9uJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuQ3VzdG9tQnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdG9vbGJhci5qcycsIFsnZ29vZy51aS5Ub29sYmFyJ10sIFsnZ29vZy51aS5Db250YWluZXInLCAnZ29vZy51aS5Ub29sYmFyUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3Rvb2xiYXJfdGVzdC5qcycsIFsnZ29vZy51aS5Ub29sYmFyVGVzdCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuZG9tJywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLnRlc3RpbmcuZXZlbnRzJywgJ2dvb2cudGVzdGluZy5ldmVudHMuRXZlbnQnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLlRvb2xiYXInLCAnZ29vZy51aS5Ub29sYmFyTWVudUJ1dHRvbiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3Rvb2xiYXJidXR0b24uanMnLCBbJ2dvb2cudWkuVG9vbGJhckJ1dHRvbiddLCBbJ2dvb2cudWkuQnV0dG9uJywgJ2dvb2cudWkuVG9vbGJhckJ1dHRvblJlbmRlcmVyJywgJ2dvb2cudWkucmVnaXN0cnknXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3Rvb2xiYXJidXR0b25yZW5kZXJlci5qcycsIFsnZ29vZy51aS5Ub29sYmFyQnV0dG9uUmVuZGVyZXInXSwgWydnb29nLnVpLkN1c3RvbUJ1dHRvblJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90b29sYmFyY29sb3JtZW51YnV0dG9uLmpzJywgWydnb29nLnVpLlRvb2xiYXJDb2xvck1lbnVCdXR0b24nXSwgWydnb29nLnVpLkNvbG9yTWVudUJ1dHRvbicsICdnb29nLnVpLlRvb2xiYXJDb2xvck1lbnVCdXR0b25SZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90b29sYmFyY29sb3JtZW51YnV0dG9ucmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuVG9vbGJhckNvbG9yTWVudUJ1dHRvblJlbmRlcmVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnVpLkNvbG9yTWVudUJ1dHRvblJlbmRlcmVyJywgJ2dvb2cudWkuTWVudUJ1dHRvblJlbmRlcmVyJywgJ2dvb2cudWkuVG9vbGJhck1lbnVCdXR0b25SZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdG9vbGJhcmNvbG9ybWVudWJ1dHRvbnJlbmRlcmVyX3Rlc3QuanMnLCBbJ2dvb2cudWkuVG9vbGJhckNvbG9yTWVudUJ1dHRvblJlbmRlcmVyVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy50ZXN0aW5nLnVpLlJlbmRlcmVySGFybmVzcycsICdnb29nLnRlc3RpbmcudWkucmVuZGVyZXJhc3NlcnRzJywgJ2dvb2cudWkuVG9vbGJhckNvbG9yTWVudUJ1dHRvbicsICdnb29nLnVpLlRvb2xiYXJDb2xvck1lbnVCdXR0b25SZW5kZXJlciddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3Rvb2xiYXJtZW51YnV0dG9uLmpzJywgWydnb29nLnVpLlRvb2xiYXJNZW51QnV0dG9uJ10sIFsnZ29vZy51aS5NZW51QnV0dG9uJywgJ2dvb2cudWkuVG9vbGJhck1lbnVCdXR0b25SZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90b29sYmFybWVudWJ1dHRvbnJlbmRlcmVyLmpzJywgWydnb29nLnVpLlRvb2xiYXJNZW51QnV0dG9uUmVuZGVyZXInXSwgWydnb29nLnVpLk1lbnVCdXR0b25SZW5kZXJlciddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdG9vbGJhcnJlbmRlcmVyLmpzJywgWydnb29nLnVpLlRvb2xiYXJSZW5kZXJlciddLCBbJ2dvb2cuYTExeS5hcmlhLlJvbGUnLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLnVpLkNvbnRhaW5lcicsICdnb29nLnVpLkNvbnRhaW5lclJlbmRlcmVyJywgJ2dvb2cudWkuU2VwYXJhdG9yJywgJ2dvb2cudWkuVG9vbGJhclNlcGFyYXRvclJlbmRlcmVyJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90b29sYmFyc2VsZWN0LmpzJywgWydnb29nLnVpLlRvb2xiYXJTZWxlY3QnXSwgWydnb29nLnVpLlNlbGVjdCcsICdnb29nLnVpLlRvb2xiYXJNZW51QnV0dG9uUmVuZGVyZXInLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdG9vbGJhcnNlcGFyYXRvci5qcycsIFsnZ29vZy51aS5Ub29sYmFyU2VwYXJhdG9yJ10sIFsnZ29vZy51aS5TZXBhcmF0b3InLCAnZ29vZy51aS5Ub29sYmFyU2VwYXJhdG9yUmVuZGVyZXInLCAnZ29vZy51aS5yZWdpc3RyeSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdG9vbGJhcnNlcGFyYXRvcnJlbmRlcmVyLmpzJywgWydnb29nLnVpLlRvb2xiYXJTZXBhcmF0b3JSZW5kZXJlciddLCBbJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnVpLklOTElORV9CTE9DS19DTEFTU05BTUUnLCAnZ29vZy51aS5NZW51U2VwYXJhdG9yUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3Rvb2xiYXJzZXBhcmF0b3JyZW5kZXJlcl90ZXN0LmpzJywgWydnb29nLnVpLlRvb2xiYXJTZXBhcmF0b3JSZW5kZXJlclRlc3QnXSwgWydnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuQ29tcG9uZW50JywgJ2dvb2cudWkuSU5MSU5FX0JMT0NLX0NMQVNTTkFNRScsICdnb29nLnVpLlRvb2xiYXJTZXBhcmF0b3InLCAnZ29vZy51aS5Ub29sYmFyU2VwYXJhdG9yUmVuZGVyZXInXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90b29sYmFydG9nZ2xlYnV0dG9uLmpzJywgWydnb29nLnVpLlRvb2xiYXJUb2dnbGVCdXR0b24nXSwgWydnb29nLnVpLlRvZ2dsZUJ1dHRvbicsICdnb29nLnVpLlRvb2xiYXJCdXR0b25SZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90b29sdGlwLmpzJywgWydnb29nLnVpLlRvb2x0aXAnLCAnZ29vZy51aS5Ub29sdGlwLkN1cnNvclRvb2x0aXBQb3NpdGlvbicsICdnb29nLnVpLlRvb2x0aXAuRWxlbWVudFRvb2x0aXBQb3NpdGlvbicsICdnb29nLnVpLlRvb2x0aXAuU3RhdGUnXSwgWydnb29nLlRpbWVyJywgJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tJywgJ2dvb2cuZG9tLlRhZ05hbWUnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmV2ZW50cycsICdnb29nLmV2ZW50cy5FdmVudFR5cGUnLCAnZ29vZy5ldmVudHMuRm9jdXNIYW5kbGVyJywgJ2dvb2cubWF0aC5Cb3gnLCAnZ29vZy5tYXRoLkNvb3JkaW5hdGUnLCAnZ29vZy5wb3NpdGlvbmluZycsICdnb29nLnBvc2l0aW9uaW5nLkFuY2hvcmVkUG9zaXRpb24nLCAnZ29vZy5wb3NpdGlvbmluZy5Db3JuZXInLCAnZ29vZy5wb3NpdGlvbmluZy5PdmVyZmxvdycsICdnb29nLnBvc2l0aW9uaW5nLk92ZXJmbG93U3RhdHVzJywgJ2dvb2cucG9zaXRpb25pbmcuVmlld3BvcnRQb3NpdGlvbicsICdnb29nLnN0cnVjdHMuU2V0JywgJ2dvb2cuc3R5bGUnLCAnZ29vZy51aS5Qb3B1cCcsICdnb29nLnVpLlBvcHVwQmFzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdG9vbHRpcF90ZXN0LmpzJywgWydnb29nLnVpLlRvb2x0aXBUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5FdmVudEhhbmRsZXInLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLkZvY3VzSGFuZGxlcicsICdnb29nLmh0bWwudGVzdGluZycsICdnb29nLm1hdGguQ29vcmRpbmF0ZScsICdnb29nLnBvc2l0aW9uaW5nLkFic29sdXRlUG9zaXRpb24nLCAnZ29vZy5zdHlsZScsICdnb29nLnRlc3RpbmcuTW9ja0Nsb2NrJywgJ2dvb2cudGVzdGluZy5UZXN0UXVldWUnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuUG9wdXBCYXNlJywgJ2dvb2cudWkuVG9vbHRpcCcsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RyZWUvYmFzZW5vZGUuanMnLCBbJ2dvb2cudWkudHJlZS5CYXNlTm9kZScsICdnb29nLnVpLnRyZWUuQmFzZU5vZGUuRXZlbnRUeXBlJ10sIFsnZ29vZy5UaW1lcicsICdnb29nLmExMXkuYXJpYScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmFzc2VydHMnLCAnZ29vZy5kb20uc2FmZScsICdnb29nLmV2ZW50cy5FdmVudCcsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmh0bWwuU2FmZUh0bWwnLCAnZ29vZy5odG1sLlNhZmVTdHlsZScsICdnb29nLnN0cmluZycsICdnb29nLnN0cmluZy5TdHJpbmdCdWZmZXInLCAnZ29vZy5zdHlsZScsICdnb29nLnVpLkNvbXBvbmVudCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdHJlZS9iYXNlbm9kZV90ZXN0LmpzJywgWydnb29nLnVpLnRyZWUuQmFzZU5vZGVUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5odG1sLnRlc3RpbmcnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLkNvbXBvbmVudCcsICdnb29nLnVpLnRyZWUuQmFzZU5vZGUnLCAnZ29vZy51aS50cmVlLlRyZWVDb250cm9sJywgJ2dvb2cudWkudHJlZS5UcmVlTm9kZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RyZWUvdHJlZWNvbnRyb2wuanMnLCBbJ2dvb2cudWkudHJlZS5UcmVlQ29udHJvbCddLCBbJ2dvb2cuYTExeS5hcmlhJywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuRXZlbnRUeXBlJywgJ2dvb2cuZXZlbnRzLkZvY3VzSGFuZGxlcicsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cuaHRtbC5TYWZlSHRtbCcsICdnb29nLmxvZycsICdnb29nLnVpLnRyZWUuQmFzZU5vZGUnLCAnZ29vZy51aS50cmVlLlRyZWVOb2RlJywgJ2dvb2cudWkudHJlZS5UeXBlQWhlYWQnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RyZWUvdHJlZWNvbnRyb2xfdGVzdC5qcycsIFsnZ29vZy51aS50cmVlLlRyZWVDb250cm9sVGVzdCddLCBbJ2dvb2cuZG9tJywgJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51aS50cmVlLlRyZWVDb250cm9sJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdHJlZS90cmVlbm9kZS5qcycsIFsnZ29vZy51aS50cmVlLlRyZWVOb2RlJ10sIFsnZ29vZy51aS50cmVlLkJhc2VOb2RlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90cmVlL3R5cGVhaGVhZC5qcycsIFsnZ29vZy51aS50cmVlLlR5cGVBaGVhZCcsICdnb29nLnVpLnRyZWUuVHlwZUFoZWFkLk9mZnNldCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy5zdHJ1Y3RzLlRyaWUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RyZWUvdHlwZWFoZWFkX3Rlc3QuanMnLCBbJ2dvb2cudWkudHJlZS5UeXBlQWhlYWRUZXN0J10sIFsnZ29vZy5kb20nLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVpLnRyZWUuVHJlZUNvbnRyb2wnLCAnZ29vZy51aS50cmVlLlR5cGVBaGVhZCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3RyaXN0YXRlbWVudWl0ZW0uanMnLCBbJ2dvb2cudWkuVHJpU3RhdGVNZW51SXRlbScsICdnb29nLnVpLlRyaVN0YXRlTWVudUl0ZW0uU3RhdGUnXSwgWydnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy51aS5Db21wb25lbnQnLCAnZ29vZy51aS5NZW51SXRlbScsICdnb29nLnVpLlRyaVN0YXRlTWVudUl0ZW1SZW5kZXJlcicsICdnb29nLnVpLnJlZ2lzdHJ5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1aS90cmlzdGF0ZW1lbnVpdGVtcmVuZGVyZXIuanMnLCBbJ2dvb2cudWkuVHJpU3RhdGVNZW51SXRlbVJlbmRlcmVyJ10sIFsnZ29vZy5hc3NlcnRzJywgJ2dvb2cuZG9tLmNsYXNzbGlzdCcsICdnb29nLnVpLk1lbnVJdGVtUmVuZGVyZXInXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3R3b3RodW1ic2xpZGVyLmpzJywgWydnb29nLnVpLlR3b1RodW1iU2xpZGVyJ10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cudWkuU2xpZGVyQmFzZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvdHdvdGh1bWJzbGlkZXJfdGVzdC5qcycsIFsnZ29vZy51aS5Ud29UaHVtYlNsaWRlclRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuU2xpZGVyQmFzZScsICdnb29nLnVpLlR3b1RodW1iU2xpZGVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndWkvemlwcHkuanMnLCBbJ2dvb2cudWkuWmlwcHknLCAnZ29vZy51aS5aaXBweS5FdmVudHMnLCAnZ29vZy51aS5aaXBweUV2ZW50J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5hMTF5LmFyaWEuUm9sZScsICdnb29nLmExMXkuYXJpYS5TdGF0ZScsICdnb29nLmRvbScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMuRXZlbnQnLCAnZ29vZy5ldmVudHMuRXZlbnRIYW5kbGVyJywgJ2dvb2cuZXZlbnRzLkV2ZW50VGFyZ2V0JywgJ2dvb2cuZXZlbnRzLkV2ZW50VHlwZScsICdnb29nLmV2ZW50cy5LZXlDb2RlcycsICdnb29nLmV2ZW50cy5LZXlIYW5kbGVyJywgJ2dvb2cuc3R5bGUnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VpL3ppcHB5X3Rlc3QuanMnLCBbJ2dvb2cudWkuWmlwcHlUZXN0J10sIFsnZ29vZy5hMTF5LmFyaWEnLCAnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5jbGFzc2xpc3QnLCAnZ29vZy5ldmVudHMnLCAnZ29vZy5ldmVudHMuS2V5Q29kZXMnLCAnZ29vZy5vYmplY3QnLCAnZ29vZy50ZXN0aW5nLmV2ZW50cycsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudWkuWmlwcHknXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1cmkvdXJpLmpzJywgWydnb29nLlVyaScsICdnb29nLlVyaS5RdWVyeURhdGEnXSwgWydnb29nLmFycmF5JywgJ2dvb2cuYXNzZXJ0cycsICdnb29nLnN0cmluZycsICdnb29nLnN0cnVjdHMnLCAnZ29vZy5zdHJ1Y3RzLk1hcCcsICdnb29nLnVyaS51dGlscycsICdnb29nLnVyaS51dGlscy5Db21wb25lbnRJbmRleCcsICdnb29nLnVyaS51dGlscy5TdGFuZGFyZFF1ZXJ5UGFyYW0nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VyaS91cmlfdGVzdC5qcycsIFsnZ29vZy5VcmlUZXN0J10sIFsnZ29vZy5VcmknLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VyaS91dGlscy5qcycsIFsnZ29vZy51cmkudXRpbHMnLCAnZ29vZy51cmkudXRpbHMuQ29tcG9uZW50SW5kZXgnLCAnZ29vZy51cmkudXRpbHMuUXVlcnlBcnJheScsICdnb29nLnVyaS51dGlscy5RdWVyeVZhbHVlJywgJ2dvb2cudXJpLnV0aWxzLlN0YW5kYXJkUXVlcnlQYXJhbSddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5hc3NlcnRzJywgJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1cmkvdXRpbHNfdGVzdC5qcycsIFsnZ29vZy51cmkudXRpbHNUZXN0J10sIFsnZ29vZy5mdW5jdGlvbnMnLCAnZ29vZy5zdHJpbmcnLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVyaS51dGlscyddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VzZXJhZ2VudC9hZG9iZXJlYWRlci5qcycsIFsnZ29vZy51c2VyQWdlbnQuYWRvYmVSZWFkZXInXSwgWydnb29nLnN0cmluZycsICdnb29nLnVzZXJBZ2VudCddLCB7J21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VzZXJhZ2VudC9hZG9iZXJlYWRlcl90ZXN0LmpzJywgWydnb29nLnVzZXJBZ2VudC5hZG9iZVJlYWRlclRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50LmFkb2JlUmVhZGVyJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndXNlcmFnZW50L2ZsYXNoLmpzJywgWydnb29nLnVzZXJBZ2VudC5mbGFzaCddLCBbJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1c2VyYWdlbnQvZmxhc2hfdGVzdC5qcycsIFsnZ29vZy51c2VyQWdlbnQuZmxhc2hUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudC5mbGFzaCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VzZXJhZ2VudC9pcGhvdG8uanMnLCBbJ2dvb2cudXNlckFnZW50LmlwaG90byddLCBbJ2dvb2cuc3RyaW5nJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1c2VyYWdlbnQvanNjcmlwdC5qcycsIFsnZ29vZy51c2VyQWdlbnQuanNjcmlwdCddLCBbJ2dvb2cuc3RyaW5nJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1c2VyYWdlbnQvanNjcmlwdF90ZXN0LmpzJywgWydnb29nLnVzZXJBZ2VudC5qc2NyaXB0VGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy51c2VyQWdlbnQuanNjcmlwdCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VzZXJhZ2VudC9rZXlib2FyZC5qcycsIFsnZ29vZy51c2VyQWdlbnQua2V5Ym9hcmQnXSwgWydnb29nLmxhYnMudXNlckFnZW50LnBsYXRmb3JtJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1c2VyYWdlbnQva2V5Ym9hcmRfdGVzdC5qcycsIFsnZ29vZy51c2VyQWdlbnQua2V5Ym9hcmRUZXN0J10sIFsnZ29vZy5sYWJzLnVzZXJBZ2VudC50ZXN0QWdlbnRzJywgJ2dvb2cubGFicy51c2VyQWdlbnQudXRpbCcsICdnb29nLnRlc3RpbmcuTW9ja1VzZXJBZ2VudCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50LmtleWJvYXJkJywgJ2dvb2cudXNlckFnZW50VGVzdFV0aWwnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1c2VyYWdlbnQvcGxhdGZvcm0uanMnLCBbJ2dvb2cudXNlckFnZW50LnBsYXRmb3JtJ10sIFsnZ29vZy5zdHJpbmcnLCAnZ29vZy51c2VyQWdlbnQnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VzZXJhZ2VudC9wbGF0Zm9ybV90ZXN0LmpzJywgWydnb29nLnVzZXJBZ2VudC5wbGF0Zm9ybVRlc3QnXSwgWydnb29nLnRlc3RpbmcuTW9ja1VzZXJBZ2VudCcsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnBsYXRmb3JtJywgJ2dvb2cudXNlckFnZW50VGVzdFV0aWwnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1c2VyYWdlbnQvcHJvZHVjdC5qcycsIFsnZ29vZy51c2VyQWdlbnQucHJvZHVjdCddLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlcicsICdnb29nLmxhYnMudXNlckFnZW50LnBsYXRmb3JtJywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1c2VyYWdlbnQvcHJvZHVjdF9pc3ZlcnNpb24uanMnLCBbJ2dvb2cudXNlckFnZW50LnByb2R1Y3QuaXNWZXJzaW9uJ10sIFsnZ29vZy5sYWJzLnVzZXJBZ2VudC5wbGF0Zm9ybScsICdnb29nLnN0cmluZycsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudC5wcm9kdWN0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd1c2VyYWdlbnQvcHJvZHVjdF90ZXN0LmpzJywgWydnb29nLnVzZXJBZ2VudC5wcm9kdWN0VGVzdCddLCBbJ2dvb2cuYXJyYXknLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC50ZXN0QWdlbnRzJywgJ2dvb2cubGFicy51c2VyQWdlbnQudXRpbCcsICdnb29nLnRlc3RpbmcuTW9ja1VzZXJBZ2VudCcsICdnb29nLnRlc3RpbmcuUHJvcGVydHlSZXBsYWNlcicsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdC5pc1ZlcnNpb24nLCAnZ29vZy51c2VyQWdlbnRUZXN0VXRpbCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VzZXJhZ2VudC91c2VyYWdlbnQuanMnLCBbJ2dvb2cudXNlckFnZW50J10sIFsnZ29vZy5sYWJzLnVzZXJBZ2VudC5icm93c2VyJywgJ2dvb2cubGFicy51c2VyQWdlbnQuZW5naW5lJywgJ2dvb2cubGFicy51c2VyQWdlbnQucGxhdGZvcm0nLCAnZ29vZy5sYWJzLnVzZXJBZ2VudC51dGlsJywgJ2dvb2cucmVmbGVjdCcsICdnb29nLnN0cmluZyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndXNlcmFnZW50L3VzZXJhZ2VudF9xdWlya3NfdGVzdC5qcycsIFsnZ29vZy51c2VyQWdlbnRRdWlya3NUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3VzZXJhZ2VudC91c2VyYWdlbnRfdGVzdC5qcycsIFsnZ29vZy51c2VyQWdlbnRUZXN0J10sIFsnZ29vZy5hcnJheScsICdnb29nLmxhYnMudXNlckFnZW50LnBsYXRmb3JtJywgJ2dvb2cubGFicy51c2VyQWdlbnQudGVzdEFnZW50cycsICdnb29nLmxhYnMudXNlckFnZW50LnV0aWwnLCAnZ29vZy50ZXN0aW5nLlByb3BlcnR5UmVwbGFjZXInLCAnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnVzZXJBZ2VudCcsICdnb29nLnVzZXJBZ2VudFRlc3RVdGlsJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndXNlcmFnZW50L3VzZXJhZ2VudHRlc3R1dGlsLmpzJywgWydnb29nLnVzZXJBZ2VudFRlc3RVdGlsJywgJ2dvb2cudXNlckFnZW50VGVzdFV0aWwuVXNlckFnZW50cyddLCBbJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlcicsICdnb29nLmxhYnMudXNlckFnZW50LmVuZ2luZScsICdnb29nLmxhYnMudXNlckFnZW50LnBsYXRmb3JtJywgJ2dvb2cub2JqZWN0JywgJ2dvb2cudXNlckFnZW50JywgJ2dvb2cudXNlckFnZW50LmtleWJvYXJkJywgJ2dvb2cudXNlckFnZW50LnBsYXRmb3JtJywgJ2dvb2cudXNlckFnZW50LnByb2R1Y3QnLCAnZ29vZy51c2VyQWdlbnQucHJvZHVjdC5pc1ZlcnNpb24nXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy9mbG9hdDMyYXJyYXkuanMnLCBbJ2dvb2cudmVjLkZsb2F0MzJBcnJheSddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvZmxvYXQzMmFycmF5X3Rlc3QuanMnLCBbJ2dvb2cudmVjLkZsb2F0MzJBcnJheVRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudmVjLkZsb2F0MzJBcnJheSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy9mbG9hdDY0YXJyYXkuanMnLCBbJ2dvb2cudmVjLkZsb2F0NjRBcnJheSddLCBbXSwgeydsYW5nJzogJ2VzNid9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvZmxvYXQ2NGFycmF5X3Rlc3QuanMnLCBbJ2dvb2cudmVjLkZsb2F0NjRBcnJheVRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudmVjLkZsb2F0NjRBcnJheSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy9tYXQzLmpzJywgWydnb29nLnZlYy5NYXQzJ10sIFsnZ29vZy52ZWMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy9tYXQzX3Rlc3QuanMnLCBbJ2dvb2cudmVjLk1hdDNUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnZlYy5NYXQzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL21hdDNkLmpzJywgWydnb29nLnZlYy5tYXQzZCcsICdnb29nLnZlYy5tYXQzZC5UeXBlJ10sIFsnZ29vZy52ZWMnLCAnZ29vZy52ZWMudmVjM2QuVHlwZSddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL21hdDNkX3Rlc3QuanMnLCBbJ2dvb2cudmVjLm1hdDNkVGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy52ZWMubWF0M2QnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvbWF0M2YuanMnLCBbJ2dvb2cudmVjLm1hdDNmJywgJ2dvb2cudmVjLm1hdDNmLlR5cGUnXSwgWydnb29nLnZlYycsICdnb29nLnZlYy52ZWMzZi5UeXBlJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvbWF0M2ZfdGVzdC5qcycsIFsnZ29vZy52ZWMubWF0M2ZUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnZlYy5tYXQzZiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy9tYXQ0LmpzJywgWydnb29nLnZlYy5NYXQ0J10sIFsnZ29vZy52ZWMnLCAnZ29vZy52ZWMuVmVjMycsICdnb29nLnZlYy5WZWM0J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvbWF0NF90ZXN0LmpzJywgWydnb29nLnZlYy5NYXQ0VGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy52ZWMuTWF0NCcsICdnb29nLnZlYy5WZWMzJywgJ2dvb2cudmVjLlZlYzQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvbWF0NGQuanMnLCBbJ2dvb2cudmVjLm1hdDRkJywgJ2dvb2cudmVjLm1hdDRkLlR5cGUnXSwgWydnb29nLnZlYycsICdnb29nLnZlYy5RdWF0ZXJuaW9uJywgJ2dvb2cudmVjLnZlYzNkJywgJ2dvb2cudmVjLnZlYzRkJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvbWF0NGRfdGVzdC5qcycsIFsnZ29vZy52ZWMubWF0NGRUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnZlYy5RdWF0ZXJuaW9uJywgJ2dvb2cudmVjLm1hdDRkJywgJ2dvb2cudmVjLnZlYzNkJywgJ2dvb2cudmVjLnZlYzRkJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL21hdDRmLmpzJywgWydnb29nLnZlYy5tYXQ0ZicsICdnb29nLnZlYy5tYXQ0Zi5UeXBlJ10sIFsnZ29vZy52ZWMnLCAnZ29vZy52ZWMuUXVhdGVybmlvbicsICdnb29nLnZlYy52ZWMzZicsICdnb29nLnZlYy52ZWM0ZiddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL21hdDRmX3Rlc3QuanMnLCBbJ2dvb2cudmVjLm1hdDRmVGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy52ZWMuUXVhdGVybmlvbicsICdnb29nLnZlYy5tYXQ0ZicsICdnb29nLnZlYy52ZWMzZicsICdnb29nLnZlYy52ZWM0ZiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy9xdWF0ZXJuaW9uLmpzJywgWydnb29nLnZlYy5RdWF0ZXJuaW9uJywgJ2dvb2cudmVjLlF1YXRlcm5pb24uQW55VHlwZSddLCBbJ2dvb2cudmVjJywgJ2dvb2cudmVjLlZlYzMnLCAnZ29vZy52ZWMuVmVjNCddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL3F1YXRlcm5pb25fdGVzdC5qcycsIFsnZ29vZy52ZWMuUXVhdGVybmlvblRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudmVjLk1hdDMnLCAnZ29vZy52ZWMuTWF0NCcsICdnb29nLnZlYy5RdWF0ZXJuaW9uJywgJ2dvb2cudmVjLlZlYzMnLCAnZ29vZy52ZWMudmVjM2YnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvcmF5LmpzJywgWydnb29nLnZlYy5SYXknXSwgWydnb29nLnZlYy5WZWMzJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvcmF5X3Rlc3QuanMnLCBbJ2dvb2cudmVjLlJheVRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudmVjLlJheSddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy92ZWMuanMnLCBbJ2dvb2cudmVjJywgJ2dvb2cudmVjLkFueVR5cGUnLCAnZ29vZy52ZWMuQXJyYXlUeXBlJywgJ2dvb2cudmVjLkZsb2F0MzInLCAnZ29vZy52ZWMuRmxvYXQ2NCcsICdnb29nLnZlYy5OdW1iZXInXSwgWydnb29nLnZlYy5GbG9hdDMyQXJyYXknLCAnZ29vZy52ZWMuRmxvYXQ2NEFycmF5J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvdmVjMi5qcycsIFsnZ29vZy52ZWMuVmVjMiddLCBbJ2dvb2cudmVjJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvdmVjMl90ZXN0LmpzJywgWydnb29nLnZlYy5WZWMyVGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy52ZWMuVmVjMiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy92ZWMyZC5qcycsIFsnZ29vZy52ZWMudmVjMmQnLCAnZ29vZy52ZWMudmVjMmQuVHlwZSddLCBbJ2dvb2cudmVjJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvdmVjMmRfdGVzdC5qcycsIFsnZ29vZy52ZWMudmVjMmRUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnZlYy52ZWMyZCddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy92ZWMyZi5qcycsIFsnZ29vZy52ZWMudmVjMmYnLCAnZ29vZy52ZWMudmVjMmYuVHlwZSddLCBbJ2dvb2cudmVjJ10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvdmVjMmZfdGVzdC5qcycsIFsnZ29vZy52ZWMudmVjMmZUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnZlYy52ZWMyZiddLCB7J2xhbmcnOiAnZXM2JywgJ21vZHVsZSc6ICdnb29nJ30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy92ZWMzLmpzJywgWydnb29nLnZlYy5WZWMzJ10sIFsnZ29vZy52ZWMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy92ZWMzX3Rlc3QuanMnLCBbJ2dvb2cudmVjLlZlYzNUZXN0J10sIFsnZ29vZy50ZXN0aW5nLnRlc3RTdWl0ZScsICdnb29nLnZlYy5WZWMzJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL3ZlYzNkLmpzJywgWydnb29nLnZlYy52ZWMzZCcsICdnb29nLnZlYy52ZWMzZC5UeXBlJ10sIFsnZ29vZy52ZWMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy92ZWMzZF90ZXN0LmpzJywgWydnb29nLnZlYy52ZWMzZFRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudmVjLnZlYzNkJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL3ZlYzNmLmpzJywgWydnb29nLnZlYy52ZWMzZicsICdnb29nLnZlYy52ZWMzZi5UeXBlJ10sIFsnZ29vZy52ZWMnXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3ZlYy92ZWMzZl90ZXN0LmpzJywgWydnb29nLnZlYy52ZWMzZlRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudmVjLnZlYzNmJ10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL3ZlYzQuanMnLCBbJ2dvb2cudmVjLlZlYzQnXSwgWydnb29nLnZlYyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL3ZlYzRfdGVzdC5qcycsIFsnZ29vZy52ZWMuVmVjNFRlc3QnXSwgWydnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cudmVjLlZlYzQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvdmVjNGQuanMnLCBbJ2dvb2cudmVjLnZlYzRkJywgJ2dvb2cudmVjLnZlYzRkLlR5cGUnXSwgWydnb29nLnZlYyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL3ZlYzRkX3Rlc3QuanMnLCBbJ2dvb2cudmVjLnZlYzRkVGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy52ZWMudmVjNGQnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd2ZWMvdmVjNGYuanMnLCBbJ2dvb2cudmVjLnZlYzRmJywgJ2dvb2cudmVjLnZlYzRmLlR5cGUnXSwgWydnb29nLnZlYyddLCB7fSk7Cmdvb2cuYWRkRGVwZW5kZW5jeSgndmVjL3ZlYzRmX3Rlc3QuanMnLCBbJ2dvb2cudmVjLnZlYzRmVGVzdCddLCBbJ2dvb2cudGVzdGluZy50ZXN0U3VpdGUnLCAnZ29vZy52ZWMudmVjNGYnXSwgeydsYW5nJzogJ2VzNicsICdtb2R1bGUnOiAnZ29vZyd9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd3ZWJnbC93ZWJnbC5qcycsIFsnZ29vZy53ZWJnbCddLCBbXSwge30pOwpnb29nLmFkZERlcGVuZGVuY3koJ3dpbmRvdy93aW5kb3cuanMnLCBbJ2dvb2cud2luZG93J10sIFsnZ29vZy5kb20nLCAnZ29vZy5kb20uVGFnTmFtZScsICdnb29nLmRvbS5zYWZlJywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cuaHRtbC51bmNoZWNrZWRjb252ZXJzaW9ucycsICdnb29nLmxhYnMudXNlckFnZW50LnBsYXRmb3JtJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cuc3RyaW5nLkNvbnN0JywgJ2dvb2cudXNlckFnZW50J10sIHt9KTsKZ29vZy5hZGREZXBlbmRlbmN5KCd3aW5kb3cvd2luZG93X3Rlc3QuanMnLCBbJ2dvb2cud2luZG93VGVzdCddLCBbJ2dvb2cuUHJvbWlzZScsICdnb29nLmRvbScsICdnb29nLmRvbS5UYWdOYW1lJywgJ2dvb2cuZXZlbnRzJywgJ2dvb2cuZnVuY3Rpb25zJywgJ2dvb2cuaHRtbC5TYWZlVXJsJywgJ2dvb2cubGFicy51c2VyQWdlbnQuYnJvd3NlcicsICdnb29nLmxhYnMudXNlckFnZW50LmVuZ2luZScsICdnb29nLmxhYnMudXNlckFnZW50LnBsYXRmb3JtJywgJ2dvb2cuc3RyaW5nJywgJ2dvb2cudGVzdGluZy5Qcm9wZXJ0eVJlcGxhY2VyJywgJ2dvb2cudGVzdGluZy5UZXN0Q2FzZScsICdnb29nLnRlc3RpbmcudGVzdFN1aXRlJywgJ2dvb2cud2luZG93J10sIHsnbGFuZyc6ICdlczYnLCAnbW9kdWxlJzogJ2dvb2cnfSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi9leHRlcm5hbC9jb21fZ29vZ2xlX2phdmFzY3JpcHRfY2xvc3VyZV9saWJyYXJ5L2Nsb3N1cmUvZ29vZy9iYXNlLmpzCmZ1bmN0aW9uIHdhKGIpe3ZhciBkPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGQ8Yi5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6YltkKytdfTp7ZG9uZTohMH19fWZ1bmN0aW9uIGdiKGIpe3JldHVybntuZXh0OndhKGIpfX1mdW5jdGlvbiBsYihiKXt2YXIgZD0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yJiZiW1N5bWJvbC5pdGVyYXRvcl07cmV0dXJuIGQ/ZC5jYWxsKGIpOmdiKGIpfXZhciB3Yj1mdW5jdGlvbihiKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93PT09Yj9iOiJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsJiZudWxsIT1nbG9iYWw/Z2xvYmFsOmJ9KHRoaXMpLEpiPSJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYixkLGYpe2IhPUFycmF5LnByb3RvdHlwZSYmYiE9T2JqZWN0LnByb3RvdHlwZSYmKGJbZF09Zi52YWx1ZSl9OwpmdW5jdGlvbiBTYihiLGQpe2lmKGQpe3ZhciBmPXdiO2I9Yi5zcGxpdCgiLiIpO2Zvcih2YXIgaD0wO2g8Yi5sZW5ndGgtMTtoKyspe3ZhciBrPWJbaF07ayBpbiBmfHwoZltrXT17fSk7Zj1mW2tdfWI9YltiLmxlbmd0aC0xXTtoPWZbYl07ZD1kKGgpO2QhPWgmJm51bGwhPWQmJkpiKGYsYix7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmR9KX19ClNiKCJQcm9taXNlIixmdW5jdGlvbihiKXtmdW5jdGlvbiBkKHApe3RoaXMuc3RhdGVfPTA7dGhpcy5yZXN1bHRfPXZvaWQgMDt0aGlzLm9uU2V0dGxlZENhbGxiYWNrc189W107dmFyIG09dGhpcy5jcmVhdGVSZXNvbHZlQW5kUmVqZWN0XygpO3RyeXtwKG0ucmVzb2x2ZSxtLnJlamVjdCl9Y2F0Y2gobil7bS5yZWplY3Qobil9fWZ1bmN0aW9uIGYoKXt0aGlzLmJhdGNoXz1udWxsfWZ1bmN0aW9uIGgocCl7c3dpdGNoKHR5cGVvZiBwKXtjYXNlICJvYmplY3QiOnJldHVybiBudWxsIT1wO2Nhc2UgImZ1bmN0aW9uIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBrKHApe3JldHVybiBwIGluc3RhbmNlb2YgZD9wOm5ldyBkKGZ1bmN0aW9uKG0pe20ocCl9KX1pZihiKXJldHVybiBiO2YucHJvdG90eXBlLmFzeW5jRXhlY3V0ZT1mdW5jdGlvbihwKXtpZihudWxsPT10aGlzLmJhdGNoXyl7dGhpcy5iYXRjaF89W107dmFyIG09dGhpczt0aGlzLmFzeW5jRXhlY3V0ZUZ1bmN0aW9uKGZ1bmN0aW9uKCl7bS5leGVjdXRlQmF0Y2hfKCl9KX10aGlzLmJhdGNoXy5wdXNoKHApfTsKdmFyIHI9d2Iuc2V0VGltZW91dDtmLnByb3RvdHlwZS5hc3luY0V4ZWN1dGVGdW5jdGlvbj1mdW5jdGlvbihwKXtyKHAsMCl9O2YucHJvdG90eXBlLmV4ZWN1dGVCYXRjaF89ZnVuY3Rpb24oKXtmb3IoO3RoaXMuYmF0Y2hfJiZ0aGlzLmJhdGNoXy5sZW5ndGg7KXt2YXIgcD10aGlzLmJhdGNoXzt0aGlzLmJhdGNoXz1bXTtmb3IodmFyIG09MDttPHAubGVuZ3RoOysrbSl7dmFyIG49cFttXTtwW21dPW51bGw7dHJ5e24oKX1jYXRjaChxKXt0aGlzLmFzeW5jVGhyb3dfKHEpfX19dGhpcy5iYXRjaF89bnVsbH07Zi5wcm90b3R5cGUuYXN5bmNUaHJvd189ZnVuY3Rpb24ocCl7dGhpcy5hc3luY0V4ZWN1dGVGdW5jdGlvbihmdW5jdGlvbigpe3Rocm93IHA7fSl9O2QucHJvdG90eXBlLmNyZWF0ZVJlc29sdmVBbmRSZWplY3RfPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcChxKXtyZXR1cm4gZnVuY3Rpb24odSl7bnx8KG49ITAscS5jYWxsKG0sdSkpfX12YXIgbT10aGlzLG49ITE7cmV0dXJue3Jlc29sdmU6cCh0aGlzLnJlc29sdmVUb18pLApyZWplY3Q6cCh0aGlzLnJlamVjdF8pfX07ZC5wcm90b3R5cGUucmVzb2x2ZVRvXz1mdW5jdGlvbihwKXtwPT09dGhpcz90aGlzLnJlamVjdF8obmV3IFR5cGVFcnJvcigiQSBQcm9taXNlIGNhbm5vdCByZXNvbHZlIHRvIGl0c2VsZiIpKTpwIGluc3RhbmNlb2YgZD90aGlzLnNldHRsZVNhbWVBc1Byb21pc2VfKHApOmgocCk/dGhpcy5yZXNvbHZlVG9Ob25Qcm9taXNlT2JqXyhwKTp0aGlzLmZ1bGZpbGxfKHApfTtkLnByb3RvdHlwZS5yZXNvbHZlVG9Ob25Qcm9taXNlT2JqXz1mdW5jdGlvbihwKXt2YXIgbT12b2lkIDA7dHJ5e209cC50aGVufWNhdGNoKG4pe3RoaXMucmVqZWN0XyhuKTtyZXR1cm59ImZ1bmN0aW9uIj09dHlwZW9mIG0/dGhpcy5zZXR0bGVTYW1lQXNUaGVuYWJsZV8obSxwKTp0aGlzLmZ1bGZpbGxfKHApfTtkLnByb3RvdHlwZS5yZWplY3RfPWZ1bmN0aW9uKHApe3RoaXMuc2V0dGxlXygyLHApfTtkLnByb3RvdHlwZS5mdWxmaWxsXz1mdW5jdGlvbihwKXt0aGlzLnNldHRsZV8oMSwKcCl9O2QucHJvdG90eXBlLnNldHRsZV89ZnVuY3Rpb24ocCxtKXtpZigwIT10aGlzLnN0YXRlXyl0aHJvdyBFcnJvcigiQ2Fubm90IHNldHRsZSgiK3ArIiwgIittKyIpOiBQcm9taXNlIGFscmVhZHkgc2V0dGxlZCBpbiBzdGF0ZSIrdGhpcy5zdGF0ZV8pO3RoaXMuc3RhdGVfPXA7dGhpcy5yZXN1bHRfPW07dGhpcy5leGVjdXRlT25TZXR0bGVkQ2FsbGJhY2tzXygpfTtkLnByb3RvdHlwZS5leGVjdXRlT25TZXR0bGVkQ2FsbGJhY2tzXz1mdW5jdGlvbigpe2lmKG51bGwhPXRoaXMub25TZXR0bGVkQ2FsbGJhY2tzXyl7Zm9yKHZhciBwPTA7cDx0aGlzLm9uU2V0dGxlZENhbGxiYWNrc18ubGVuZ3RoOysrcClsLmFzeW5jRXhlY3V0ZSh0aGlzLm9uU2V0dGxlZENhbGxiYWNrc19bcF0pO3RoaXMub25TZXR0bGVkQ2FsbGJhY2tzXz1udWxsfX07dmFyIGw9bmV3IGY7ZC5wcm90b3R5cGUuc2V0dGxlU2FtZUFzUHJvbWlzZV89ZnVuY3Rpb24ocCl7dmFyIG09dGhpcy5jcmVhdGVSZXNvbHZlQW5kUmVqZWN0XygpOwpwLmNhbGxXaGVuU2V0dGxlZF8obS5yZXNvbHZlLG0ucmVqZWN0KX07ZC5wcm90b3R5cGUuc2V0dGxlU2FtZUFzVGhlbmFibGVfPWZ1bmN0aW9uKHAsbSl7dmFyIG49dGhpcy5jcmVhdGVSZXNvbHZlQW5kUmVqZWN0XygpO3RyeXtwLmNhbGwobSxuLnJlc29sdmUsbi5yZWplY3QpfWNhdGNoKHEpe24ucmVqZWN0KHEpfX07ZC5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oQSx5KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgQT9mdW5jdGlvbih4KXt0cnl7cShBKHgpKX1jYXRjaChDKXt1KEMpfX06eX12YXIgcSx1LHc9bmV3IGQoZnVuY3Rpb24oQSx5KXtxPUE7dT15fSk7dGhpcy5jYWxsV2hlblNldHRsZWRfKG4ocCxxKSxuKG0sdSkpO3JldHVybiB3fTtkLnByb3RvdHlwZS5jYXRjaD1mdW5jdGlvbihwKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxwKX07ZC5wcm90b3R5cGUuY2FsbFdoZW5TZXR0bGVkXz1mdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oKXtzd2l0Y2gocS5zdGF0ZV8pe2Nhc2UgMTpwKHEucmVzdWx0Xyk7CmJyZWFrO2Nhc2UgMjptKHEucmVzdWx0Xyk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiVW5leHBlY3RlZCBzdGF0ZTogIitxLnN0YXRlXyk7fX12YXIgcT10aGlzO251bGw9PXRoaXMub25TZXR0bGVkQ2FsbGJhY2tzXz9sLmFzeW5jRXhlY3V0ZShuKTp0aGlzLm9uU2V0dGxlZENhbGxiYWNrc18ucHVzaChuKX07ZC5yZXNvbHZlPWs7ZC5yZWplY3Q9ZnVuY3Rpb24ocCl7cmV0dXJuIG5ldyBkKGZ1bmN0aW9uKG0sbil7bihwKX0pfTtkLnJhY2U9ZnVuY3Rpb24ocCl7cmV0dXJuIG5ldyBkKGZ1bmN0aW9uKG0sbil7Zm9yKHZhciBxPWxiKHApLHU9cS5uZXh0KCk7IXUuZG9uZTt1PXEubmV4dCgpKWsodS52YWx1ZSkuY2FsbFdoZW5TZXR0bGVkXyhtLG4pfSl9O2QuYWxsPWZ1bmN0aW9uKHApe3ZhciBtPWxiKHApLG49bS5uZXh0KCk7cmV0dXJuIG4uZG9uZT9rKFtdKTpuZXcgZChmdW5jdGlvbihxLHUpe2Z1bmN0aW9uIHcoeCl7cmV0dXJuIGZ1bmN0aW9uKEMpe0FbeF09Qzt5LS07MD09CnkmJnEoQSl9fXZhciBBPVtdLHk9MDtkbyBBLnB1c2godm9pZCAwKSx5KyssayhuLnZhbHVlKS5jYWxsV2hlblNldHRsZWRfKHcoQS5sZW5ndGgtMSksdSksbj1tLm5leHQoKTt3aGlsZSghbi5kb25lKX0pfTtyZXR1cm4gZH0pO2Z1bmN0aW9uIFViKGIpe2Z1bmN0aW9uIGQoaCl7cmV0dXJuIGIubmV4dChoKX1mdW5jdGlvbiBmKGgpe3JldHVybiBiLnRocm93KGgpfXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihoLGspe2Z1bmN0aW9uIHIobCl7bC5kb25lP2gobC52YWx1ZSk6UHJvbWlzZS5yZXNvbHZlKGwudmFsdWUpLnRoZW4oZCxmKS50aGVuKHIsayl9cihiLm5leHQoKSl9KX1mdW5jdGlvbiBXYihiKXtyZXR1cm4gVWIoYigpKX07Ci8vIyBzb3VyY2VVUkw9YnVpbGQ6L2V4dGVybmFsL2NvbV9nb29nbGVfamF2YXNjcmlwdF9jbG9zdXJlX2xpYnJhcnkvY2xvc3VyZS9nb29nL2RlcHMuanMKLy8jIHNvdXJjZVVSTD1idWlsZDovL2FuYWx5dGljcy5odG1sLmpzCndpbmRvdy5nYT1mdW5jdGlvbigpe307CgovLyBDb3B5cmlnaHQgMjAxNCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgovLwovLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLy8geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgovLyAgICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0Ci8vCi8vIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAovLwovLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCi8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgovLyAgICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAovLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCiFmdW5jdGlvbihhLGIpe3ZhciBjPXt9LGQ9e30sZT17fSxmPW51bGw7IWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhKXtpZigibnVtYmVyIj09dHlwZW9mIGEpcmV0dXJuIGE7dmFyIGI9e307Zm9yKHZhciBjIGluIGEpYltjXT1hW2NdO3JldHVybiBifWZ1bmN0aW9uIGQoKXt0aGlzLl9kZWxheT0wLHRoaXMuX2VuZERlbGF5PTAsdGhpcy5fZmlsbD0ibm9uZSIsdGhpcy5faXRlcmF0aW9uU3RhcnQ9MCx0aGlzLl9pdGVyYXRpb25zPTEsdGhpcy5fZHVyYXRpb249MCx0aGlzLl9wbGF5YmFja1JhdGU9MSx0aGlzLl9kaXJlY3Rpb249Im5vcm1hbCIsdGhpcy5fZWFzaW5nPSJsaW5lYXIiLHRoaXMuX2Vhc2luZ0Z1bmN0aW9uPXd9ZnVuY3Rpb24gZSgpe3JldHVybiBhLmlzRGVwcmVjYXRlZCgiSW52YWxpZCB0aW1pbmcgaW5wdXRzIiwiMjAxNi0wMy0wMiIsIlR5cGVFcnJvciBleGNlcHRpb25zIHdpbGwgYmUgdGhyb3duIGluc3RlYWQuIiwhMCl9ZnVuY3Rpb24gZihiLGMsZSl7dmFyIGY9bmV3IGQ7cmV0dXJuIGMmJihmLmZpbGw9ImJvdGgiLGYuZHVyYXRpb249ImF1dG8iKSwibnVtYmVyIiE9dHlwZW9mIGJ8fGlzTmFOKGIpP3ZvaWQgMCE9PWImJk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGIpLmZvckVhY2goZnVuY3Rpb24oYyl7aWYoImF1dG8iIT1iW2NdKXtpZigoIm51bWJlciI9PXR5cGVvZiBmW2NdfHwiZHVyYXRpb24iPT1jKSYmKCJudW1iZXIiIT10eXBlb2YgYltjXXx8aXNOYU4oYltjXSkpKXJldHVybjtpZigiZmlsbCI9PWMmJi0xPT11LmluZGV4T2YoYltjXSkpcmV0dXJuO2lmKCJkaXJlY3Rpb24iPT1jJiYtMT09di5pbmRleE9mKGJbY10pKXJldHVybjtpZigicGxheWJhY2tSYXRlIj09YyYmMSE9PWJbY10mJmEuaXNEZXByZWNhdGVkKCJBbmltYXRpb25FZmZlY3RUaW1pbmcucGxheWJhY2tSYXRlIiwiMjAxNC0xMS0yOCIsIlVzZSBBbmltYXRpb24ucGxheWJhY2tSYXRlIGluc3RlYWQuIikpcmV0dXJuO2ZbY109YltjXX19KTpmLmR1cmF0aW9uPWIsZn1mdW5jdGlvbiBnKGEpe3JldHVybiJudW1iZXIiPT10eXBlb2YgYSYmKGE9aXNOYU4oYSk/e2R1cmF0aW9uOjB9OntkdXJhdGlvbjphfSksYX1mdW5jdGlvbiBoKGIsYyl7cmV0dXJuIGI9YS5udW1lcmljVGltaW5nVG9PYmplY3QoYiksZihiLGMpfWZ1bmN0aW9uIGkoYSxiLGMsZCl7cmV0dXJuIDA+YXx8YT4xfHwwPmN8fGM+MT93OmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIGYoYSxiLGMpe3JldHVybiAzKmEqKDEtYykqKDEtYykqYyszKmIqKDEtYykqYypjK2MqYypjfWlmKDA9PWV8fDE9PWUpcmV0dXJuIGU7Zm9yKHZhciBnPTAsaD0xOzspe3ZhciBpPShnK2gpLzIsaj1mKGEsYyxpKTtpZihNYXRoLmFicyhlLWopPDFlLTQpcmV0dXJuIGYoYixkLGkpO2U+aj9nPWk6aD1pfX19ZnVuY3Rpb24gaihhLGIpe3JldHVybiBmdW5jdGlvbihjKXtpZihjPj0xKXJldHVybiAxO3ZhciBkPTEvYTtyZXR1cm4gYys9YipkLGMtYyVkfX1mdW5jdGlvbiBrKGEpe0J8fChCPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlKSxCLmFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uPSIiLEIuYW5pbWF0aW9uVGltaW5nRnVuY3Rpb249YTt2YXIgYj1CLmFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uO2lmKCIiPT1iJiZlKCkpdGhyb3cgbmV3IFR5cGVFcnJvcihhKyIgaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGVhc2luZyIpO3ZhciBjPUQuZXhlYyhiKTtpZihjKXJldHVybiBpLmFwcGx5KHRoaXMsYy5zbGljZSgxKS5tYXAoTnVtYmVyKSk7dmFyIGQ9RS5leGVjKGIpO2lmKGQpcmV0dXJuIGooTnVtYmVyKGRbMV0pLHtzdGFydDp4LG1pZGRsZTp5LGVuZDp6fVtkWzJdXSk7dmFyIGY9QVtiXTtyZXR1cm4gZj9mOnd9ZnVuY3Rpb24gbChhKXtyZXR1cm4gTWF0aC5hYnMobShhKS9hLnBsYXliYWNrUmF0ZSl9ZnVuY3Rpb24gbShhKXtyZXR1cm4gYS5kdXJhdGlvbiphLml0ZXJhdGlvbnN9ZnVuY3Rpb24gbihhLGIsYyl7cmV0dXJuIG51bGw9PWI/RjpiPGMuZGVsYXk/RzpiPj1jLmRlbGF5K2E/SDpJfWZ1bmN0aW9uIG8oYSxiLGMsZCxlKXtzd2l0Y2goZCl7Y2FzZSBHOnJldHVybiJiYWNrd2FyZHMiPT1ifHwiYm90aCI9PWI/MDpudWxsO2Nhc2UgSTpyZXR1cm4gYy1lO2Nhc2UgSDpyZXR1cm4iZm9yd2FyZHMiPT1ifHwiYm90aCI9PWI/YTpudWxsO2Nhc2UgRjpyZXR1cm4gbnVsbH19ZnVuY3Rpb24gcChhLGIsYyxkKXtyZXR1cm4oZC5wbGF5YmFja1JhdGU8MD9iLWE6YikqZC5wbGF5YmFja1JhdGUrY31mdW5jdGlvbiBxKGEsYixjLGQsZSl7cmV0dXJuIGM9PT0xLzB8fGM9PT0tKDEvMCl8fGMtZD09YiYmZS5pdGVyYXRpb25zJiYoZS5pdGVyYXRpb25zK2UuaXRlcmF0aW9uU3RhcnQpJTE9PTA/YTpjJWF9ZnVuY3Rpb24gcihhLGIsYyxkKXtyZXR1cm4gMD09PWM/MDpiPT1hP2QuaXRlcmF0aW9uU3RhcnQrZC5pdGVyYXRpb25zLTE6TWF0aC5mbG9vcihjL2EpfWZ1bmN0aW9uIHMoYSxiLGMsZCl7dmFyIGU9YSUyPj0xLGY9Im5vcm1hbCI9PWQuZGlyZWN0aW9ufHxkLmRpcmVjdGlvbj09KGU/ImFsdGVybmF0ZS1yZXZlcnNlIjoiYWx0ZXJuYXRlIiksZz1mP2M6Yi1jLGg9Zy9iO3JldHVybiBiKmQuX2Vhc2luZ0Z1bmN0aW9uKGgpfWZ1bmN0aW9uIHQoYSxiLGMpe3ZhciBkPW4oYSxiLGMpLGU9byhhLGMuZmlsbCxiLGQsYy5kZWxheSk7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7aWYoMD09PWEpcmV0dXJuIGQ9PT1HPzA6MTt2YXIgZj1jLml0ZXJhdGlvblN0YXJ0KmMuZHVyYXRpb24sZz1wKGEsZSxmLGMpLGg9cShjLmR1cmF0aW9uLG0oYyksZyxmLGMpLGk9cihjLmR1cmF0aW9uLGgsZyxjKTtyZXR1cm4gcyhpLGMuZHVyYXRpb24saCxjKS9jLmR1cmF0aW9ufXZhciB1PSJiYWNrd2FyZHN8Zm9yd2FyZHN8Ym90aHxub25lIi5zcGxpdCgifCIpLHY9InJldmVyc2V8YWx0ZXJuYXRlfGFsdGVybmF0ZS1yZXZlcnNlIi5zcGxpdCgifCIpLHc9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O2QucHJvdG90eXBlPXtfc2V0TWVtYmVyOmZ1bmN0aW9uKGIsYyl7dGhpc1siXyIrYl09Yyx0aGlzLl9lZmZlY3QmJih0aGlzLl9lZmZlY3QuX3RpbWluZ0lucHV0W2JdPWMsdGhpcy5fZWZmZWN0Ll90aW1pbmc9YS5ub3JtYWxpemVUaW1pbmdJbnB1dCh0aGlzLl9lZmZlY3QuX3RpbWluZ0lucHV0KSx0aGlzLl9lZmZlY3QuYWN0aXZlRHVyYXRpb249YS5jYWxjdWxhdGVBY3RpdmVEdXJhdGlvbih0aGlzLl9lZmZlY3QuX3RpbWluZyksdGhpcy5fZWZmZWN0Ll9hbmltYXRpb24mJnRoaXMuX2VmZmVjdC5fYW5pbWF0aW9uLl9yZWJ1aWxkVW5kZXJseWluZ0FuaW1hdGlvbigpKX0sZ2V0IHBsYXliYWNrUmF0ZSgpe3JldHVybiB0aGlzLl9wbGF5YmFja1JhdGV9LHNldCBkZWxheShhKXt0aGlzLl9zZXRNZW1iZXIoImRlbGF5IixhKX0sZ2V0IGRlbGF5KCl7cmV0dXJuIHRoaXMuX2RlbGF5fSxzZXQgZW5kRGVsYXkoYSl7dGhpcy5fc2V0TWVtYmVyKCJlbmREZWxheSIsYSl9LGdldCBlbmREZWxheSgpe3JldHVybiB0aGlzLl9lbmREZWxheX0sc2V0IGZpbGwoYSl7dGhpcy5fc2V0TWVtYmVyKCJmaWxsIixhKX0sZ2V0IGZpbGwoKXtyZXR1cm4gdGhpcy5fZmlsbH0sc2V0IGl0ZXJhdGlvblN0YXJ0KGEpe2lmKChpc05hTihhKXx8MD5hKSYmZSgpKXRocm93IG5ldyBUeXBlRXJyb3IoIml0ZXJhdGlvblN0YXJ0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLCByZWNlaXZlZDogIit0aW1pbmcuaXRlcmF0aW9uU3RhcnQpO3RoaXMuX3NldE1lbWJlcigiaXRlcmF0aW9uU3RhcnQiLGEpfSxnZXQgaXRlcmF0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy5faXRlcmF0aW9uU3RhcnR9LHNldCBkdXJhdGlvbihhKXtpZigiYXV0byIhPWEmJihpc05hTihhKXx8MD5hKSYmZSgpKXRocm93IG5ldyBUeXBlRXJyb3IoImR1cmF0aW9uIG11c3QgYmUgbm9uLW5lZ2F0aXZlIG9yIGF1dG8sIHJlY2VpdmVkOiAiK2EpO3RoaXMuX3NldE1lbWJlcigiZHVyYXRpb24iLGEpfSxnZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy5fZHVyYXRpb259LHNldCBkaXJlY3Rpb24oYSl7dGhpcy5fc2V0TWVtYmVyKCJkaXJlY3Rpb24iLGEpfSxnZXQgZGlyZWN0aW9uKCl7cmV0dXJuIHRoaXMuX2RpcmVjdGlvbn0sc2V0IGVhc2luZyhhKXt0aGlzLl9lYXNpbmdGdW5jdGlvbj1rKGEpLHRoaXMuX3NldE1lbWJlcigiZWFzaW5nIixhKX0sZ2V0IGVhc2luZygpe3JldHVybiB0aGlzLl9lYXNpbmd9LHNldCBpdGVyYXRpb25zKGEpe2lmKChpc05hTihhKXx8MD5hKSYmZSgpKXRocm93IG5ldyBUeXBlRXJyb3IoIml0ZXJhdGlvbnMgbXVzdCBiZSBub24tbmVnYXRpdmUsIHJlY2VpdmVkOiAiK2EpO3RoaXMuX3NldE1lbWJlcigiaXRlcmF0aW9ucyIsYSl9LGdldCBpdGVyYXRpb25zKCl7cmV0dXJuIHRoaXMuX2l0ZXJhdGlvbnN9fTt2YXIgeD0xLHk9LjUsej0wLEE9e2Vhc2U6aSguMjUsLjEsLjI1LDEpLCJlYXNlLWluIjppKC40MiwwLDEsMSksImVhc2Utb3V0IjppKDAsMCwuNTgsMSksImVhc2UtaW4tb3V0IjppKC40MiwwLC41OCwxKSwic3RlcC1zdGFydCI6aigxLHgpLCJzdGVwLW1pZGRsZSI6aigxLHkpLCJzdGVwLWVuZCI6aigxLHopfSxCPW51bGwsQz0iXFxzKigtP1xcZCtcXC4/XFxkKnwtP1xcLlxcZCspXFxzKiIsRD1uZXcgUmVnRXhwKCJjdWJpYy1iZXppZXJcXCgiK0MrIiwiK0MrIiwiK0MrIiwiK0MrIlxcKSIpLEU9L3N0ZXBzXChccyooXGQrKVxzKixccyooc3RhcnR8bWlkZGxlfGVuZClccypcKS8sRj0wLEc9MSxIPTIsST0zO2EuY2xvbmVUaW1pbmdJbnB1dD1jLGEubWFrZVRpbWluZz1mLGEubnVtZXJpY1RpbWluZ1RvT2JqZWN0PWcsYS5ub3JtYWxpemVUaW1pbmdJbnB1dD1oLGEuY2FsY3VsYXRlQWN0aXZlRHVyYXRpb249bCxhLmNhbGN1bGF0ZVRpbWVGcmFjdGlvbj10LGEuY2FsY3VsYXRlUGhhc2U9bixhLnRvVGltaW5nRnVuY3Rpb249a30oYyxmKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSxiKXtyZXR1cm4gYSBpbiBqP2pbYV1bYl18fGI6Yn1mdW5jdGlvbiBkKGEsYixkKXt2YXIgZT1nW2FdO2lmKGUpe2guc3R5bGVbYV09Yjtmb3IodmFyIGYgaW4gZSl7dmFyIGk9ZVtmXSxqPWguc3R5bGVbaV07ZFtpXT1jKGksail9fWVsc2UgZFthXT1jKGEsYil9ZnVuY3Rpb24gZShhKXt2YXIgYj1bXTtmb3IodmFyIGMgaW4gYSlpZighKGMgaW5bImVhc2luZyIsIm9mZnNldCIsImNvbXBvc2l0ZSJdKSl7dmFyIGQ9YVtjXTtBcnJheS5pc0FycmF5KGQpfHwoZD1bZF0pO2Zvcih2YXIgZSxmPWQubGVuZ3RoLGc9MDtmPmc7ZysrKWU9e30sIm9mZnNldCJpbiBhP2Uub2Zmc2V0PWEub2Zmc2V0OjE9PWY/ZS5vZmZzZXQ9MTplLm9mZnNldD1nLyhmLTEpLCJlYXNpbmciaW4gYSYmKGUuZWFzaW5nPWEuZWFzaW5nKSwiY29tcG9zaXRlImluIGEmJihlLmNvbXBvc2l0ZT1hLmNvbXBvc2l0ZSksZVtjXT1kW2ddLGIucHVzaChlKX1yZXR1cm4gYi5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEub2Zmc2V0LWIub2Zmc2V0fSksYn1mdW5jdGlvbiBmKGEpe2Z1bmN0aW9uIGIoKXt2YXIgYT1jLmxlbmd0aDtudWxsPT1jW2EtMV0ub2Zmc2V0JiYoY1thLTFdLm9mZnNldD0xKSxhPjEmJm51bGw9PWNbMF0ub2Zmc2V0JiYoY1swXS5vZmZzZXQ9MCk7Zm9yKHZhciBiPTAsZD1jWzBdLm9mZnNldCxlPTE7YT5lO2UrKyl7dmFyIGY9Y1tlXS5vZmZzZXQ7aWYobnVsbCE9Zil7Zm9yKHZhciBnPTE7ZS1iPmc7ZysrKWNbYitnXS5vZmZzZXQ9ZCsoZi1kKSpnLyhlLWIpO2I9ZSxkPWZ9fX1pZihudWxsPT1hKXJldHVybltdO3dpbmRvdy5TeW1ib2wmJlN5bWJvbC5pdGVyYXRvciYmQXJyYXkucHJvdG90eXBlLmZyb20mJmFbU3ltYm9sLml0ZXJhdG9yXSYmKGE9QXJyYXkuZnJvbShhKSksQXJyYXkuaXNBcnJheShhKXx8KGE9ZShhKSk7Zm9yKHZhciBjPWEubWFwKGZ1bmN0aW9uKGEpe3ZhciBiPXt9O2Zvcih2YXIgYyBpbiBhKXt2YXIgZT1hW2NdO2lmKCJvZmZzZXQiPT1jKXtpZihudWxsIT1lJiYoZT1OdW1iZXIoZSksIWlzRmluaXRlKGUpKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJrZXlmcmFtZSBvZmZzZXRzIG11c3QgYmUgbnVtYmVycy4iKX1lbHNle2lmKCJjb21wb3NpdGUiPT1jKXRocm93e3R5cGU6RE9NRXhjZXB0aW9uLk5PVF9TVVBQT1JURURfRVJSLG5hbWU6Ik5vdFN1cHBvcnRlZEVycm9yIixtZXNzYWdlOiJhZGQgY29tcG9zaXRpbmcgaXMgbm90IHN1cHBvcnRlZCJ9O2U9IiIrZX1kKGMsZSxiKX1yZXR1cm4gdm9pZCAwPT1iLm9mZnNldCYmKGIub2Zmc2V0PW51bGwpLGJ9KSxmPSEwLGc9LSgxLzApLGg9MDtoPGMubGVuZ3RoO2grKyl7dmFyIGk9Y1toXS5vZmZzZXQ7aWYobnVsbCE9aSl7aWYoZz5pKXRocm93e2NvZGU6RE9NRXhjZXB0aW9uLklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUixuYW1lOiJJbnZhbGlkTW9kaWZpY2F0aW9uRXJyb3IiLG1lc3NhZ2U6IktleWZyYW1lcyBhcmUgbm90IGxvb3NlbHkgc29ydGVkIGJ5IG9mZnNldC4gU29ydCBvciBzcGVjaWZ5IG9mZnNldHMuIn07Zz1pfWVsc2UgZj0hMX1yZXR1cm4gYz1jLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYS5vZmZzZXQ+PTAmJmEub2Zmc2V0PD0xfSksZnx8YigpLGN9dmFyIGc9e2JhY2tncm91bmQ6WyJiYWNrZ3JvdW5kSW1hZ2UiLCJiYWNrZ3JvdW5kUG9zaXRpb24iLCJiYWNrZ3JvdW5kU2l6ZSIsImJhY2tncm91bmRSZXBlYXQiLCJiYWNrZ3JvdW5kQXR0YWNobWVudCIsImJhY2tncm91bmRPcmlnaW4iLCJiYWNrZ3JvdW5kQ2xpcCIsImJhY2tncm91bmRDb2xvciJdLGJvcmRlcjpbImJvcmRlclRvcENvbG9yIiwiYm9yZGVyVG9wU3R5bGUiLCJib3JkZXJUb3BXaWR0aCIsImJvcmRlclJpZ2h0Q29sb3IiLCJib3JkZXJSaWdodFN0eWxlIiwiYm9yZGVyUmlnaHRXaWR0aCIsImJvcmRlckJvdHRvbUNvbG9yIiwiYm9yZGVyQm90dG9tU3R5bGUiLCJib3JkZXJCb3R0b21XaWR0aCIsImJvcmRlckxlZnRDb2xvciIsImJvcmRlckxlZnRTdHlsZSIsImJvcmRlckxlZnRXaWR0aCJdLGJvcmRlckJvdHRvbTpbImJvcmRlckJvdHRvbVdpZHRoIiwiYm9yZGVyQm90dG9tU3R5bGUiLCJib3JkZXJCb3R0b21Db2xvciJdLGJvcmRlckNvbG9yOlsiYm9yZGVyVG9wQ29sb3IiLCJib3JkZXJSaWdodENvbG9yIiwiYm9yZGVyQm90dG9tQ29sb3IiLCJib3JkZXJMZWZ0Q29sb3IiXSxib3JkZXJMZWZ0OlsiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyTGVmdFN0eWxlIiwiYm9yZGVyTGVmdENvbG9yIl0sYm9yZGVyUmFkaXVzOlsiYm9yZGVyVG9wTGVmdFJhZGl1cyIsImJvcmRlclRvcFJpZ2h0UmFkaXVzIiwiYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMiLCJib3JkZXJCb3R0b21MZWZ0UmFkaXVzIl0sYm9yZGVyUmlnaHQ6WyJib3JkZXJSaWdodFdpZHRoIiwiYm9yZGVyUmlnaHRTdHlsZSIsImJvcmRlclJpZ2h0Q29sb3IiXSxib3JkZXJUb3A6WyJib3JkZXJUb3BXaWR0aCIsImJvcmRlclRvcFN0eWxlIiwiYm9yZGVyVG9wQ29sb3IiXSxib3JkZXJXaWR0aDpbImJvcmRlclRvcFdpZHRoIiwiYm9yZGVyUmlnaHRXaWR0aCIsImJvcmRlckJvdHRvbVdpZHRoIiwiYm9yZGVyTGVmdFdpZHRoIl0sZmxleDpbImZsZXhHcm93IiwiZmxleFNocmluayIsImZsZXhCYXNpcyJdLGZvbnQ6WyJmb250RmFtaWx5IiwiZm9udFNpemUiLCJmb250U3R5bGUiLCJmb250VmFyaWFudCIsImZvbnRXZWlnaHQiLCJsaW5lSGVpZ2h0Il0sbWFyZ2luOlsibWFyZ2luVG9wIiwibWFyZ2luUmlnaHQiLCJtYXJnaW5Cb3R0b20iLCJtYXJnaW5MZWZ0Il0sb3V0bGluZTpbIm91dGxpbmVDb2xvciIsIm91dGxpbmVTdHlsZSIsIm91dGxpbmVXaWR0aCJdLHBhZGRpbmc6WyJwYWRkaW5nVG9wIiwicGFkZGluZ1JpZ2h0IiwicGFkZGluZ0JvdHRvbSIsInBhZGRpbmdMZWZ0Il19LGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiZGl2IiksaT17dGhpbjoiMXB4IixtZWRpdW06IjNweCIsdGhpY2s6IjVweCJ9LGo9e2JvcmRlckJvdHRvbVdpZHRoOmksYm9yZGVyTGVmdFdpZHRoOmksYm9yZGVyUmlnaHRXaWR0aDppLGJvcmRlclRvcFdpZHRoOmksZm9udFNpemU6eyJ4eC1zbWFsbCI6IjYwJSIsIngtc21hbGwiOiI3NSUiLHNtYWxsOiI4OSUiLG1lZGl1bToiMTAwJSIsbGFyZ2U6IjEyMCUiLCJ4LWxhcmdlIjoiMTUwJSIsInh4LWxhcmdlIjoiMjAwJSJ9LGZvbnRXZWlnaHQ6e25vcm1hbDoiNDAwIixib2xkOiI3MDAifSxvdXRsaW5lV2lkdGg6aSx0ZXh0U2hhZG93Ontub25lOiIwcHggMHB4IDBweCB0cmFuc3BhcmVudCJ9LGJveFNoYWRvdzp7bm9uZToiMHB4IDBweCAwcHggMHB4IHRyYW5zcGFyZW50In19O2EuY29udmVydFRvQXJyYXlGb3JtPWUsYS5ub3JtYWxpemVLZXlmcmFtZXM9Zn0oYyxmKSxmdW5jdGlvbihhKXt2YXIgYj17fTthLmlzRGVwcmVjYXRlZD1mdW5jdGlvbihhLGMsZCxlKXt2YXIgZj1lPyJhcmUiOiJpcyIsZz1uZXcgRGF0ZSxoPW5ldyBEYXRlKGMpO3JldHVybiBoLnNldE1vbnRoKGguZ2V0TW9udGgoKSszKSxoPmc/KGEgaW4gYnx8Y29uc29sZS53YXJuKCJXZWIgQW5pbWF0aW9uczogIithKyIgIitmKyIgZGVwcmVjYXRlZCBhbmQgd2lsbCBzdG9wIHdvcmtpbmcgb24gIitoLnRvRGF0ZVN0cmluZygpKyIuICIrZCksYlthXT0hMCwhMSk6ITB9LGEuZGVwcmVjYXRlZD1mdW5jdGlvbihiLGMsZCxlKXt2YXIgZj1lPyJhcmUiOiJpcyI7aWYoYS5pc0RlcHJlY2F0ZWQoYixjLGQsZSkpdGhyb3cgbmV3IEVycm9yKGIrIiAiK2YrIiBubyBsb25nZXIgc3VwcG9ydGVkLiAiK2QpfX0oYyksZnVuY3Rpb24oKXtpZihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYW5pbWF0ZSl7dmFyIGE9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFuaW1hdGUoW10sMCksYj0hMDtpZihhJiYoYj0hMSwicGxheXxjdXJyZW50VGltZXxwYXVzZXxyZXZlcnNlfHBsYXliYWNrUmF0ZXxjYW5jZWx8ZmluaXNofHN0YXJ0VGltZXxwbGF5U3RhdGUiLnNwbGl0KCJ8IikuZm9yRWFjaChmdW5jdGlvbihjKXt2b2lkIDA9PT1hW2NdJiYoYj0hMCl9KSksIWIpcmV0dXJufSFmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChhKXtmb3IodmFyIGI9e30sYz0wO2M8YS5sZW5ndGg7YysrKWZvcih2YXIgZCBpbiBhW2NdKWlmKCJvZmZzZXQiIT1kJiYiZWFzaW5nIiE9ZCYmImNvbXBvc2l0ZSIhPWQpe3ZhciBlPXtvZmZzZXQ6YVtjXS5vZmZzZXQsZWFzaW5nOmFbY10uZWFzaW5nLHZhbHVlOmFbY11bZF19O2JbZF09YltkXXx8W10sYltkXS5wdXNoKGUpfWZvcih2YXIgZiBpbiBiKXt2YXIgZz1iW2ZdO2lmKDAhPWdbMF0ub2Zmc2V0fHwxIT1nW2cubGVuZ3RoLTFdLm9mZnNldCl0aHJvd3t0eXBlOkRPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUixuYW1lOiJOb3RTdXBwb3J0ZWRFcnJvciIsbWVzc2FnZToiUGFydGlhbCBrZXlmcmFtZXMgYXJlIG5vdCBzdXBwb3J0ZWQifX1yZXR1cm4gYn1mdW5jdGlvbiBlKGMpe3ZhciBkPVtdO2Zvcih2YXIgZSBpbiBjKWZvcih2YXIgZj1jW2VdLGc9MDtnPGYubGVuZ3RoLTE7ZysrKXt2YXIgaD1mW2ddLm9mZnNldCxpPWZbZysxXS5vZmZzZXQsaj1mW2ddLnZhbHVlLGs9ZltnKzFdLnZhbHVlLGw9ZltnXS5lYXNpbmc7aD09aSYmKDE9PWk/aj1rOms9aiksZC5wdXNoKHtzdGFydFRpbWU6aCxlbmRUaW1lOmksZWFzaW5nOmEudG9UaW1pbmdGdW5jdGlvbihsP2w6ImxpbmVhciIpLHByb3BlcnR5OmUsaW50ZXJwb2xhdGlvbjpiLnByb3BlcnR5SW50ZXJwb2xhdGlvbihlLGosayl9KX1yZXR1cm4gZC5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc3RhcnRUaW1lLWIuc3RhcnRUaW1lfSksZH1iLmNvbnZlcnRFZmZlY3RJbnB1dD1mdW5jdGlvbihjKXt2YXIgZj1hLm5vcm1hbGl6ZUtleWZyYW1lcyhjKSxnPWQoZiksaD1lKGcpO3JldHVybiBmdW5jdGlvbihhLGMpe2lmKG51bGwhPWMpaC5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIDA+PWMmJjA9PWEuc3RhcnRUaW1lfHxjPj0xJiYxPT1hLmVuZFRpbWV8fGM+PWEuc3RhcnRUaW1lJiZjPD1hLmVuZFRpbWV9KS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBlPWMtZC5zdGFydFRpbWUsZj1kLmVuZFRpbWUtZC5zdGFydFRpbWUsZz0wPT1mPzA6ZC5lYXNpbmcoZS9mKTtiLmFwcGx5KGEsZC5wcm9wZXJ0eSxkLmludGVycG9sYXRpb24oZykpfSk7ZWxzZSBmb3IodmFyIGQgaW4gZykib2Zmc2V0IiE9ZCYmImVhc2luZyIhPWQmJiJjb21wb3NpdGUiIT1kJiZiLmNsZWFyKGEsZCl9fX0oYyxkLGYpLGZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGEpe3JldHVybiBhLnJlcGxhY2UoLy0oLikvZyxmdW5jdGlvbihhLGIpe3JldHVybiBiLnRvVXBwZXJDYXNlKCl9KX1mdW5jdGlvbiBlKGEsYixjKXtoW2NdPWhbY118fFtdLGhbY10ucHVzaChbYSxiXSl9ZnVuY3Rpb24gZihhLGIsYyl7Zm9yKHZhciBmPTA7ZjxjLmxlbmd0aDtmKyspe3ZhciBnPWNbZl07ZShhLGIsZChnKSl9fWZ1bmN0aW9uIGcoYyxlLGYpe3ZhciBnPWM7Ly0vLnRlc3QoYykmJiFhLmlzRGVwcmVjYXRlZCgiSHlwaGVuYXRlZCBwcm9wZXJ0eSBuYW1lcyIsIjIwMTYtMDMtMjIiLCJVc2UgY2FtZWxDYXNlIGluc3RlYWQuIiwhMCkmJihnPWQoYykpLCJpbml0aWFsIiE9ZSYmImluaXRpYWwiIT1mfHwoImluaXRpYWwiPT1lJiYoZT1pW2ddKSwiaW5pdGlhbCI9PWYmJihmPWlbZ10pKTtmb3IodmFyIGo9ZT09Zj9bXTpoW2ddLGs9MDtqJiZrPGoubGVuZ3RoO2srKyl7dmFyIGw9altrXVswXShlKSxtPWpba11bMF0oZik7aWYodm9pZCAwIT09bCYmdm9pZCAwIT09bSl7dmFyIG49altrXVsxXShsLG0pO2lmKG4pe3ZhciBvPWIuSW50ZXJwb2xhdGlvbi5hcHBseShudWxsLG4pO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gMD09YT9lOjE9PWE/ZjpvKGEpfX19fXJldHVybiBiLkludGVycG9sYXRpb24oITEsITAsZnVuY3Rpb24oYSl7cmV0dXJuIGE/ZjplfSl9dmFyIGg9e307Yi5hZGRQcm9wZXJ0aWVzSGFuZGxlcj1mO3ZhciBpPXtiYWNrZ3JvdW5kQ29sb3I6InRyYW5zcGFyZW50IixiYWNrZ3JvdW5kUG9zaXRpb246IjAlIDAlIixib3JkZXJCb3R0b21Db2xvcjoiY3VycmVudENvbG9yIixib3JkZXJCb3R0b21MZWZ0UmFkaXVzOiIwcHgiLGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiIwcHgiLGJvcmRlckJvdHRvbVdpZHRoOiIzcHgiLGJvcmRlckxlZnRDb2xvcjoiY3VycmVudENvbG9yIixib3JkZXJMZWZ0V2lkdGg6IjNweCIsYm9yZGVyUmlnaHRDb2xvcjoiY3VycmVudENvbG9yIixib3JkZXJSaWdodFdpZHRoOiIzcHgiLGJvcmRlclNwYWNpbmc6IjJweCIsYm9yZGVyVG9wQ29sb3I6ImN1cnJlbnRDb2xvciIsYm9yZGVyVG9wTGVmdFJhZGl1czoiMHB4Iixib3JkZXJUb3BSaWdodFJhZGl1czoiMHB4Iixib3JkZXJUb3BXaWR0aDoiM3B4Iixib3R0b206ImF1dG8iLGNsaXA6InJlY3QoMHB4LCAwcHgsIDBweCwgMHB4KSIsY29sb3I6ImJsYWNrIixmb250U2l6ZToiMTAwJSIsZm9udFdlaWdodDoiNDAwIixoZWlnaHQ6ImF1dG8iLGxlZnQ6ImF1dG8iLGxldHRlclNwYWNpbmc6Im5vcm1hbCIsbGluZUhlaWdodDoiMTIwJSIsbWFyZ2luQm90dG9tOiIwcHgiLG1hcmdpbkxlZnQ6IjBweCIsbWFyZ2luUmlnaHQ6IjBweCIsbWFyZ2luVG9wOiIwcHgiLG1heEhlaWdodDoibm9uZSIsbWF4V2lkdGg6Im5vbmUiLG1pbkhlaWdodDoiMHB4IixtaW5XaWR0aDoiMHB4IixvcGFjaXR5OiIxLjAiLG91dGxpbmVDb2xvcjoiaW52ZXJ0IixvdXRsaW5lT2Zmc2V0OiIwcHgiLG91dGxpbmVXaWR0aDoiM3B4IixwYWRkaW5nQm90dG9tOiIwcHgiLHBhZGRpbmdMZWZ0OiIwcHgiLHBhZGRpbmdSaWdodDoiMHB4IixwYWRkaW5nVG9wOiIwcHgiLHJpZ2h0OiJhdXRvIix0ZXh0SW5kZW50OiIwcHgiLHRleHRTaGFkb3c6IjBweCAwcHggMHB4IHRyYW5zcGFyZW50Iix0b3A6ImF1dG8iLHRyYW5zZm9ybToiIix2ZXJ0aWNhbEFsaWduOiIwcHgiLHZpc2liaWxpdHk6InZpc2libGUiLHdpZHRoOiJhdXRvIix3b3JkU3BhY2luZzoibm9ybWFsIix6SW5kZXg6ImF1dG8ifTtiLnByb3BlcnR5SW50ZXJwb2xhdGlvbj1nfShjLGQsZiksZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYil7dmFyIGM9YS5jYWxjdWxhdGVBY3RpdmVEdXJhdGlvbihiKSxkPWZ1bmN0aW9uKGQpe3JldHVybiBhLmNhbGN1bGF0ZVRpbWVGcmFjdGlvbihjLGQsYil9O3JldHVybiBkLl90b3RhbER1cmF0aW9uPWIuZGVsYXkrYytiLmVuZERlbGF5LGQuX2lzQ3VycmVudD1mdW5jdGlvbihkKXt2YXIgZT1hLmNhbGN1bGF0ZVBoYXNlKGMsZCxiKTtyZXR1cm4gZT09PVBoYXNlQWN0aXZlfHxlPT09UGhhc2VCZWZvcmV9LGR9Yi5LZXlmcmFtZUVmZmVjdD1mdW5jdGlvbihjLGUsZixnKXt2YXIgaCxpPWQoYS5ub3JtYWxpemVUaW1pbmdJbnB1dChmKSksaj1iLmNvbnZlcnRFZmZlY3RJbnB1dChlKSxrPWZ1bmN0aW9uKCl7aihjLGgpfTtyZXR1cm4gay5fdXBkYXRlPWZ1bmN0aW9uKGEpe3JldHVybiBoPWkoYSksbnVsbCE9PWh9LGsuX2NsZWFyPWZ1bmN0aW9uKCl7aihjLG51bGwpfSxrLl9oYXNTYW1lVGFyZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiBjPT09YX0say5faXNDdXJyZW50PWkuX2lzQ3VycmVudCxrLl90b3RhbER1cmF0aW9uPWkuX3RvdGFsRHVyYXRpb24say5faWQ9ZyxrfSxiLk51bGxFZmZlY3Q9ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oKXthJiYoYSgpLGE9bnVsbCl9O3JldHVybiBiLl91cGRhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0sYi5fdG90YWxEdXJhdGlvbj0wLGIuX2lzQ3VycmVudD1mdW5jdGlvbigpe3JldHVybiExfSxiLl9oYXNTYW1lVGFyZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuITF9LGJ9fShjLGQsZiksZnVuY3Rpb24oYSxiKXthLmFwcGx5PWZ1bmN0aW9uKGIsYyxkKXtiLnN0eWxlW2EucHJvcGVydHlOYW1lKGMpXT1kfSxhLmNsZWFyPWZ1bmN0aW9uKGIsYyl7Yi5zdHlsZVthLnByb3BlcnR5TmFtZShjKV09IiJ9fShkLGYpLGZ1bmN0aW9uKGEpe3dpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGIsYyl7dmFyIGQ9IiI7cmV0dXJuIGMmJmMuaWQmJihkPWMuaWQpLGEudGltZWxpbmUuX3BsYXkoYS5LZXlmcmFtZUVmZmVjdCh0aGlzLGIsYyxkKSl9fShkKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSxiLGQpe2lmKCJudW1iZXIiPT10eXBlb2YgYSYmIm51bWJlciI9PXR5cGVvZiBiKXJldHVybiBhKigxLWQpK2IqZDtpZigiYm9vbGVhbiI9PXR5cGVvZiBhJiYiYm9vbGVhbiI9PXR5cGVvZiBiKXJldHVybi41PmQ/YTpiO2lmKGEubGVuZ3RoPT1iLmxlbmd0aCl7Zm9yKHZhciBlPVtdLGY9MDtmPGEubGVuZ3RoO2YrKyllLnB1c2goYyhhW2ZdLGJbZl0sZCkpO3JldHVybiBlfXRocm93Ik1pc21hdGNoZWQgaW50ZXJwb2xhdGlvbiBhcmd1bWVudHMgIithKyI6IitifWEuSW50ZXJwb2xhdGlvbj1mdW5jdGlvbihhLGIsZCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBkKGMoYSxiLGUpKX19fShkLGYpLGZ1bmN0aW9uKGEsYixjKXthLnNlcXVlbmNlTnVtYmVyPTA7dmFyIGQ9ZnVuY3Rpb24oYSxiLGMpe3RoaXMudGFyZ2V0PWEsdGhpcy5jdXJyZW50VGltZT1iLHRoaXMudGltZWxpbmVUaW1lPWMsdGhpcy50eXBlPSJmaW5pc2giLHRoaXMuYnViYmxlcz0hMSx0aGlzLmNhbmNlbGFibGU9ITEsdGhpcy5jdXJyZW50VGFyZ2V0PWEsdGhpcy5kZWZhdWx0UHJldmVudGVkPSExLHRoaXMuZXZlbnRQaGFzZT1FdmVudC5BVF9UQVJHRVQsdGhpcy50aW1lU3RhbXA9RGF0ZS5ub3coKX07Yi5BbmltYXRpb249ZnVuY3Rpb24oYil7dGhpcy5pZD0iIixiJiZiLl9pZCYmKHRoaXMuaWQ9Yi5faWQpLHRoaXMuX3NlcXVlbmNlTnVtYmVyPWEuc2VxdWVuY2VOdW1iZXIrKyx0aGlzLl9jdXJyZW50VGltZT0wLHRoaXMuX3N0YXJ0VGltZT1udWxsLHRoaXMuX3BhdXNlZD0hMSx0aGlzLl9wbGF5YmFja1JhdGU9MSx0aGlzLl9pblRpbWVsaW5lPSEwLHRoaXMuX2ZpbmlzaGVkRmxhZz0hMCx0aGlzLm9uZmluaXNoPW51bGwsdGhpcy5fZmluaXNoSGFuZGxlcnM9W10sdGhpcy5fZWZmZWN0PWIsdGhpcy5faW5FZmZlY3Q9dGhpcy5fZWZmZWN0Ll91cGRhdGUoMCksdGhpcy5faWRsZT0hMCx0aGlzLl9jdXJyZW50VGltZVBlbmRpbmc9ITF9LGIuQW5pbWF0aW9uLnByb3RvdHlwZT17X2Vuc3VyZUFsaXZlOmZ1bmN0aW9uKCl7dGhpcy5wbGF5YmFja1JhdGU8MCYmMD09PXRoaXMuY3VycmVudFRpbWU/dGhpcy5faW5FZmZlY3Q9dGhpcy5fZWZmZWN0Ll91cGRhdGUoLTEpOnRoaXMuX2luRWZmZWN0PXRoaXMuX2VmZmVjdC5fdXBkYXRlKHRoaXMuY3VycmVudFRpbWUpLHRoaXMuX2luVGltZWxpbmV8fCF0aGlzLl9pbkVmZmVjdCYmdGhpcy5fZmluaXNoZWRGbGFnfHwodGhpcy5faW5UaW1lbGluZT0hMCxiLnRpbWVsaW5lLl9hbmltYXRpb25zLnB1c2godGhpcykpfSxfdGlja0N1cnJlbnRUaW1lOmZ1bmN0aW9uKGEsYil7YSE9dGhpcy5fY3VycmVudFRpbWUmJih0aGlzLl9jdXJyZW50VGltZT1hLHRoaXMuX2lzRmluaXNoZWQmJiFiJiYodGhpcy5fY3VycmVudFRpbWU9dGhpcy5fcGxheWJhY2tSYXRlPjA/dGhpcy5fdG90YWxEdXJhdGlvbjowKSx0aGlzLl9lbnN1cmVBbGl2ZSgpKX0sZ2V0IGN1cnJlbnRUaW1lKCl7cmV0dXJuIHRoaXMuX2lkbGV8fHRoaXMuX2N1cnJlbnRUaW1lUGVuZGluZz9udWxsOnRoaXMuX2N1cnJlbnRUaW1lfSxzZXQgY3VycmVudFRpbWUoYSl7YT0rYSxpc05hTihhKXx8KGIucmVzdGFydCgpLHRoaXMuX3BhdXNlZHx8bnVsbD09dGhpcy5fc3RhcnRUaW1lfHwodGhpcy5fc3RhcnRUaW1lPXRoaXMuX3RpbWVsaW5lLmN1cnJlbnRUaW1lLWEvdGhpcy5fcGxheWJhY2tSYXRlKSx0aGlzLl9jdXJyZW50VGltZVBlbmRpbmc9ITEsdGhpcy5fY3VycmVudFRpbWUhPWEmJih0aGlzLl90aWNrQ3VycmVudFRpbWUoYSwhMCksYi5pbnZhbGlkYXRlRWZmZWN0cygpKSl9LGdldCBzdGFydFRpbWUoKXtyZXR1cm4gdGhpcy5fc3RhcnRUaW1lfSxzZXQgc3RhcnRUaW1lKGEpe2E9K2EsaXNOYU4oYSl8fHRoaXMuX3BhdXNlZHx8dGhpcy5faWRsZXx8KHRoaXMuX3N0YXJ0VGltZT1hLHRoaXMuX3RpY2tDdXJyZW50VGltZSgodGhpcy5fdGltZWxpbmUuY3VycmVudFRpbWUtdGhpcy5fc3RhcnRUaW1lKSp0aGlzLnBsYXliYWNrUmF0ZSksYi5pbnZhbGlkYXRlRWZmZWN0cygpKX0sZ2V0IHBsYXliYWNrUmF0ZSgpe3JldHVybiB0aGlzLl9wbGF5YmFja1JhdGV9LHNldCBwbGF5YmFja1JhdGUoYSl7aWYoYSE9dGhpcy5fcGxheWJhY2tSYXRlKXt2YXIgYj10aGlzLmN1cnJlbnRUaW1lO3RoaXMuX3BsYXliYWNrUmF0ZT1hLHRoaXMuX3N0YXJ0VGltZT1udWxsLCJwYXVzZWQiIT10aGlzLnBsYXlTdGF0ZSYmImlkbGUiIT10aGlzLnBsYXlTdGF0ZSYmdGhpcy5wbGF5KCksbnVsbCE9YiYmKHRoaXMuY3VycmVudFRpbWU9Yil9fSxnZXQgX2lzRmluaXNoZWQoKXtyZXR1cm4hdGhpcy5faWRsZSYmKHRoaXMuX3BsYXliYWNrUmF0ZT4wJiZ0aGlzLl9jdXJyZW50VGltZT49dGhpcy5fdG90YWxEdXJhdGlvbnx8dGhpcy5fcGxheWJhY2tSYXRlPDAmJnRoaXMuX2N1cnJlbnRUaW1lPD0wKX0sZ2V0IF90b3RhbER1cmF0aW9uKCl7cmV0dXJuIHRoaXMuX2VmZmVjdC5fdG90YWxEdXJhdGlvbn0sZ2V0IHBsYXlTdGF0ZSgpe3JldHVybiB0aGlzLl9pZGxlPyJpZGxlIjpudWxsPT10aGlzLl9zdGFydFRpbWUmJiF0aGlzLl9wYXVzZWQmJjAhPXRoaXMucGxheWJhY2tSYXRlfHx0aGlzLl9jdXJyZW50VGltZVBlbmRpbmc/InBlbmRpbmciOnRoaXMuX3BhdXNlZD8icGF1c2VkIjp0aGlzLl9pc0ZpbmlzaGVkPyJmaW5pc2hlZCI6InJ1bm5pbmcifSxwbGF5OmZ1bmN0aW9uKCl7dGhpcy5fcGF1c2VkPSExLCh0aGlzLl9pc0ZpbmlzaGVkfHx0aGlzLl9pZGxlKSYmKHRoaXMuX2N1cnJlbnRUaW1lPXRoaXMuX3BsYXliYWNrUmF0ZT4wPzA6dGhpcy5fdG90YWxEdXJhdGlvbix0aGlzLl9zdGFydFRpbWU9bnVsbCksdGhpcy5fZmluaXNoZWRGbGFnPSExLHRoaXMuX2lkbGU9ITEsdGhpcy5fZW5zdXJlQWxpdmUoKSxiLmludmFsaWRhdGVFZmZlY3RzKCl9LHBhdXNlOmZ1bmN0aW9uKCl7dGhpcy5faXNGaW5pc2hlZHx8dGhpcy5fcGF1c2VkfHx0aGlzLl9pZGxlfHwodGhpcy5fY3VycmVudFRpbWVQZW5kaW5nPSEwKSx0aGlzLl9zdGFydFRpbWU9bnVsbCx0aGlzLl9wYXVzZWQ9ITB9LGZpbmlzaDpmdW5jdGlvbigpe3RoaXMuX2lkbGV8fCh0aGlzLmN1cnJlbnRUaW1lPXRoaXMuX3BsYXliYWNrUmF0ZT4wP3RoaXMuX3RvdGFsRHVyYXRpb246MCx0aGlzLl9zdGFydFRpbWU9dGhpcy5fdG90YWxEdXJhdGlvbi10aGlzLmN1cnJlbnRUaW1lLHRoaXMuX2N1cnJlbnRUaW1lUGVuZGluZz0hMSxiLmludmFsaWRhdGVFZmZlY3RzKCkpfSxjYW5jZWw6ZnVuY3Rpb24oKXt0aGlzLl9pbkVmZmVjdCYmKHRoaXMuX2luRWZmZWN0PSExLHRoaXMuX2lkbGU9ITAsdGhpcy5fZmluaXNoZWRGbGFnPSEwLHRoaXMuY3VycmVudFRpbWU9MCx0aGlzLl9zdGFydFRpbWU9bnVsbCx0aGlzLl9lZmZlY3QuX3VwZGF0ZShudWxsKSxiLmludmFsaWRhdGVFZmZlY3RzKCkpfSxyZXZlcnNlOmZ1bmN0aW9uKCl7dGhpcy5wbGF5YmFja1JhdGUqPS0xLHRoaXMucGxheSgpfSxhZGRFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGEsYil7ImZ1bmN0aW9uIj09dHlwZW9mIGImJiJmaW5pc2giPT1hJiZ0aGlzLl9maW5pc2hIYW5kbGVycy5wdXNoKGIpfSxyZW1vdmVFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGEsYil7aWYoImZpbmlzaCI9PWEpe3ZhciBjPXRoaXMuX2ZpbmlzaEhhbmRsZXJzLmluZGV4T2YoYik7Yz49MCYmdGhpcy5fZmluaXNoSGFuZGxlcnMuc3BsaWNlKGMsMSl9fSxfZmlyZUV2ZW50czpmdW5jdGlvbihhKXtpZih0aGlzLl9pc0ZpbmlzaGVkKXtpZighdGhpcy5fZmluaXNoZWRGbGFnKXt2YXIgYj1uZXcgZCh0aGlzLHRoaXMuX2N1cnJlbnRUaW1lLGEpLGM9dGhpcy5fZmluaXNoSGFuZGxlcnMuY29uY2F0KHRoaXMub25maW5pc2g/W3RoaXMub25maW5pc2hdOltdKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5mb3JFYWNoKGZ1bmN0aW9uKGEpe2EuY2FsbChiLnRhcmdldCxiKX0pfSwwKSx0aGlzLl9maW5pc2hlZEZsYWc9ITB9fWVsc2UgdGhpcy5fZmluaXNoZWRGbGFnPSExfSxfdGljazpmdW5jdGlvbihhLGIpe3RoaXMuX2lkbGV8fHRoaXMuX3BhdXNlZHx8KG51bGw9PXRoaXMuX3N0YXJ0VGltZT9iJiYodGhpcy5zdGFydFRpbWU9YS10aGlzLl9jdXJyZW50VGltZS90aGlzLnBsYXliYWNrUmF0ZSk6dGhpcy5faXNGaW5pc2hlZHx8dGhpcy5fdGlja0N1cnJlbnRUaW1lKChhLXRoaXMuX3N0YXJ0VGltZSkqdGhpcy5wbGF5YmFja1JhdGUpKSxiJiYodGhpcy5fY3VycmVudFRpbWVQZW5kaW5nPSExLHRoaXMuX2ZpcmVFdmVudHMoYSkpfSxnZXQgX25lZWRzVGljaygpe3JldHVybiB0aGlzLnBsYXlTdGF0ZSBpbntwZW5kaW5nOjEscnVubmluZzoxfXx8IXRoaXMuX2ZpbmlzaGVkRmxhZ319fShjLGQsZiksZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSl7dmFyIGI9ajtqPVtdLGE8cC5jdXJyZW50VGltZSYmKGE9cC5jdXJyZW50VGltZSksaChhLCEwKSxiLmZvckVhY2goZnVuY3Rpb24oYil7YlsxXShhKX0pLGcoKSxsPXZvaWQgMH1mdW5jdGlvbiBlKGEsYil7cmV0dXJuIGEuX3NlcXVlbmNlTnVtYmVyLWIuX3NlcXVlbmNlTnVtYmVyfWZ1bmN0aW9uIGYoKXt0aGlzLl9hbmltYXRpb25zPVtdLHRoaXMuY3VycmVudFRpbWU9d2luZG93LnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5ub3c/cGVyZm9ybWFuY2Uubm93KCk6MH1mdW5jdGlvbiBnKCl7by5mb3JFYWNoKGZ1bmN0aW9uKGEpe2EoKX0pLG8ubGVuZ3RoPTB9ZnVuY3Rpb24gaChhLGMpe249ITE7dmFyIGQ9Yi50aW1lbGluZTtkLmN1cnJlbnRUaW1lPWEsZC5fYW5pbWF0aW9ucy5zb3J0KGUpLG09ITE7dmFyIGY9ZC5fYW5pbWF0aW9ucztkLl9hbmltYXRpb25zPVtdO3ZhciBnPVtdLGg9W107Zj1mLmZpbHRlcihmdW5jdGlvbihiKXtiLl90aWNrKGEsYyksYi5faW5FZmZlY3Q/aC5wdXNoKGIuX2VmZmVjdCk6Zy5wdXNoKGIuX2VmZmVjdCksYi5fbmVlZHNUaWNrJiYobT0hMCk7dmFyIGQ9Yi5faW5FZmZlY3R8fGIuX25lZWRzVGljaztyZXR1cm4gYi5faW5UaW1lbGluZT1kLGR9KSxvLnB1c2guYXBwbHkobyxnKSxvLnB1c2guYXBwbHkobyxoKSxkLl9hbmltYXRpb25zLnB1c2guYXBwbHkoZC5fYW5pbWF0aW9ucyxmKSxtJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXt9KX12YXIgaT13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLGo9W10saz0wO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oYSl7dmFyIGI9aysrO3JldHVybiAwPT1qLmxlbmd0aCYmaShkKSxqLnB1c2goW2IsYV0pLGJ9LHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZT1mdW5jdGlvbihhKXtqLmZvckVhY2goZnVuY3Rpb24oYil7YlswXT09YSYmKGJbMV09ZnVuY3Rpb24oKXt9KX0pfSxmLnByb3RvdHlwZT17X3BsYXk6ZnVuY3Rpb24oYyl7Yy5fdGltaW5nPWEubm9ybWFsaXplVGltaW5nSW5wdXQoYy50aW1pbmcpO3ZhciBkPW5ldyBiLkFuaW1hdGlvbihjKTtyZXR1cm4gZC5faWRsZT0hMSxkLl90aW1lbGluZT10aGlzLHRoaXMuX2FuaW1hdGlvbnMucHVzaChkKSxiLnJlc3RhcnQoKSxiLmludmFsaWRhdGVFZmZlY3RzKCksZH19O3ZhciBsPXZvaWQgMCxtPSExLG49ITE7Yi5yZXN0YXJ0PWZ1bmN0aW9uKCl7cmV0dXJuIG18fChtPSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe30pLG49ITApLG59LGIuaW52YWxpZGF0ZUVmZmVjdHM9ZnVuY3Rpb24oKXtoKGIudGltZWxpbmUuY3VycmVudFRpbWUsITEpLGcoKX07dmFyIG89W10scD1uZXcgZjtiLnRpbWVsaW5lPXB9KGMsZCxmKSxmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGEsYil7dmFyIGM9YS5leGVjKGIpO3JldHVybiBjPyhjPWEuaWdub3JlQ2FzZT9jWzBdLnRvTG93ZXJDYXNlKCk6Y1swXSxbYyxiLnN1YnN0cihjLmxlbmd0aCldKTp2b2lkIDB9ZnVuY3Rpb24gYyhhLGIpe2I9Yi5yZXBsYWNlKC9eXHMqLywiIik7dmFyIGM9YShiKTtyZXR1cm4gYz9bY1swXSxjWzFdLnJlcGxhY2UoL15ccyovLCIiKV06dm9pZCAwfWZ1bmN0aW9uIGQoYSxkLGUpe2E9Yy5iaW5kKG51bGwsYSk7Zm9yKHZhciBmPVtdOzspe3ZhciBnPWEoZSk7aWYoIWcpcmV0dXJuW2YsZV07aWYoZi5wdXNoKGdbMF0pLGU9Z1sxXSxnPWIoZCxlKSwhZ3x8IiI9PWdbMV0pcmV0dXJuW2YsZV07ZT1nWzFdfX1mdW5jdGlvbiBlKGEsYil7Zm9yKHZhciBjPTAsZD0wO2Q8Yi5sZW5ndGgmJighL1xzfCwvLnRlc3QoYltkXSl8fDAhPWMpO2QrKylpZigiKCI9PWJbZF0pYysrO2Vsc2UgaWYoIikiPT1iW2RdJiYoYy0tLDA9PWMmJmQrKywwPj1jKSlicmVhazt2YXIgZT1hKGIuc3Vic3RyKDAsZCkpO3JldHVybiB2b2lkIDA9PWU/dm9pZCAwOltlLGIuc3Vic3RyKGQpXX1mdW5jdGlvbiBmKGEsYil7Zm9yKHZhciBjPWEsZD1iO2MmJmQ7KWM+ZD9jJT1kOmQlPWM7cmV0dXJuIGM9YSpiLyhjK2QpfWZ1bmN0aW9uIGcoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPWEoYik7cmV0dXJuIGMmJihjWzBdPXZvaWQgMCksY319ZnVuY3Rpb24gaChhLGIpe3JldHVybiBmdW5jdGlvbihjKXt2YXIgZD1hKGMpO3JldHVybiBkP2Q6W2IsY119fWZ1bmN0aW9uIGkoYixjKXtmb3IodmFyIGQ9W10sZT0wO2U8Yi5sZW5ndGg7ZSsrKXt2YXIgZj1hLmNvbnN1bWVUcmltbWVkKGJbZV0sYyk7aWYoIWZ8fCIiPT1mWzBdKXJldHVybjt2b2lkIDAhPT1mWzBdJiZkLnB1c2goZlswXSksYz1mWzFdfXJldHVybiIiPT1jP2Q6dm9pZCAwfWZ1bmN0aW9uIGooYSxiLGMsZCxlKXtmb3IodmFyIGc9W10saD1bXSxpPVtdLGo9ZihkLmxlbmd0aCxlLmxlbmd0aCksaz0wO2o+aztrKyspe3ZhciBsPWIoZFtrJWQubGVuZ3RoXSxlW2slZS5sZW5ndGhdKTtpZighbClyZXR1cm47Zy5wdXNoKGxbMF0pLGgucHVzaChsWzFdKSxpLnB1c2gobFsyXSl9cmV0dXJuW2csaCxmdW5jdGlvbihiKXt2YXIgZD1iLm1hcChmdW5jdGlvbihhLGIpe3JldHVybiBpW2JdKGEpfSkuam9pbihjKTtyZXR1cm4gYT9hKGQpOmR9XX1mdW5jdGlvbiBrKGEsYixjKXtmb3IodmFyIGQ9W10sZT1bXSxmPVtdLGc9MCxoPTA7aDxjLmxlbmd0aDtoKyspaWYoImZ1bmN0aW9uIj09dHlwZW9mIGNbaF0pe3ZhciBpPWNbaF0oYVtnXSxiW2crK10pO2QucHVzaChpWzBdKSxlLnB1c2goaVsxXSksZi5wdXNoKGlbMl0pfWVsc2UhZnVuY3Rpb24oYSl7ZC5wdXNoKCExKSxlLnB1c2goITEpLGYucHVzaChmdW5jdGlvbigpe3JldHVybiBjW2FdfSl9KGgpO3JldHVybltkLGUsZnVuY3Rpb24oYSl7Zm9yKHZhciBiPSIiLGM9MDtjPGEubGVuZ3RoO2MrKyliKz1mW2NdKGFbY10pO3JldHVybiBifV19YS5jb25zdW1lVG9rZW49YixhLmNvbnN1bWVUcmltbWVkPWMsYS5jb25zdW1lUmVwZWF0ZWQ9ZCxhLmNvbnN1bWVQYXJlbnRoZXNpc2VkPWUsYS5pZ25vcmU9ZyxhLm9wdGlvbmFsPWgsYS5jb25zdW1lTGlzdD1pLGEubWVyZ2VOZXN0ZWRSZXBlYXRlZD1qLmJpbmQobnVsbCxudWxsKSxhLm1lcmdlV3JhcHBlZE5lc3RlZFJlcGVhdGVkPWosYS5tZXJnZUxpc3Q9a30oZCksZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihiKXtmdW5jdGlvbiBjKGIpe3ZhciBjPWEuY29uc3VtZVRva2VuKC9eaW5zZXQvaSxiKTtpZihjKXJldHVybiBkLmluc2V0PSEwLGM7dmFyIGM9YS5jb25zdW1lTGVuZ3RoT3JQZXJjZW50KGIpO2lmKGMpcmV0dXJuIGQubGVuZ3Rocy5wdXNoKGNbMF0pLGM7dmFyIGM9YS5jb25zdW1lQ29sb3IoYik7cmV0dXJuIGM/KGQuY29sb3I9Y1swXSxjKTp2b2lkIDB9dmFyIGQ9e2luc2V0OiExLGxlbmd0aHM6W10sY29sb3I6bnVsbH0sZT1hLmNvbnN1bWVSZXBlYXRlZChjLC9eLyxiKTtyZXR1cm4gZSYmZVswXS5sZW5ndGg/W2QsZVsxXV06dm9pZCAwfWZ1bmN0aW9uIGMoYyl7dmFyIGQ9YS5jb25zdW1lUmVwZWF0ZWQoYiwvXiwvLGMpO3JldHVybiBkJiYiIj09ZFsxXT9kWzBdOnZvaWQgMH1mdW5jdGlvbiBkKGIsYyl7Zm9yKDtiLmxlbmd0aHMubGVuZ3RoPE1hdGgubWF4KGIubGVuZ3Rocy5sZW5ndGgsYy5sZW5ndGhzLmxlbmd0aCk7KWIubGVuZ3Rocy5wdXNoKHtweDowfSk7Zm9yKDtjLmxlbmd0aHMubGVuZ3RoPE1hdGgubWF4KGIubGVuZ3Rocy5sZW5ndGgsYy5sZW5ndGhzLmxlbmd0aCk7KWMubGVuZ3Rocy5wdXNoKHtweDowfSk7aWYoYi5pbnNldD09Yy5pbnNldCYmISFiLmNvbG9yPT0hIWMuY29sb3Ipe2Zvcih2YXIgZCxlPVtdLGY9W1tdLDBdLGc9W1tdLDBdLGg9MDtoPGIubGVuZ3Rocy5sZW5ndGg7aCsrKXt2YXIgaT1hLm1lcmdlRGltZW5zaW9ucyhiLmxlbmd0aHNbaF0sYy5sZW5ndGhzW2hdLDI9PWgpO2ZbMF0ucHVzaChpWzBdKSxnWzBdLnB1c2goaVsxXSksZS5wdXNoKGlbMl0pfWlmKGIuY29sb3ImJmMuY29sb3Ipe3ZhciBqPWEubWVyZ2VDb2xvcnMoYi5jb2xvcixjLmNvbG9yKTtmWzFdPWpbMF0sZ1sxXT1qWzFdLGQ9alsyXX1yZXR1cm5bZixnLGZ1bmN0aW9uKGEpe2Zvcih2YXIgYz1iLmluc2V0PyJpbnNldCAiOiIgIixmPTA7ZjxlLmxlbmd0aDtmKyspYys9ZVtmXShhWzBdW2ZdKSsiICI7cmV0dXJuIGQmJihjKz1kKGFbMV0pKSxjfV19fWZ1bmN0aW9uIGUoYixjLGQsZSl7ZnVuY3Rpb24gZihhKXtyZXR1cm57aW5zZXQ6YSxjb2xvcjpbMCwwLDAsMF0sbGVuZ3Roczpbe3B4OjB9LHtweDowfSx7cHg6MH0se3B4OjB9XX19Zm9yKHZhciBnPVtdLGg9W10saT0wO2k8ZC5sZW5ndGh8fGk8ZS5sZW5ndGg7aSsrKXt2YXIgaj1kW2ldfHxmKGVbaV0uaW5zZXQpLGs9ZVtpXXx8ZihkW2ldLmluc2V0KTtnLnB1c2goaiksaC5wdXNoKGspfXJldHVybiBhLm1lcmdlTmVzdGVkUmVwZWF0ZWQoYixjLGcsaCl9dmFyIGY9ZS5iaW5kKG51bGwsZCwiLCAiKTthLmFkZFByb3BlcnRpZXNIYW5kbGVyKGMsZixbImJveC1zaGFkb3ciLCJ0ZXh0LXNoYWRvdyJdKX0oZCksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEpe3JldHVybiBhLnRvRml4ZWQoMykucmVwbGFjZSgiLjAwMCIsIiIpfWZ1bmN0aW9uIGQoYSxiLGMpe3JldHVybiBNYXRoLm1pbihiLE1hdGgubWF4KGEsYykpfWZ1bmN0aW9uIGUoYSl7cmV0dXJuL15ccypbLStdPyhcZCpcLik/XGQrXHMqJC8udGVzdChhKT9OdW1iZXIoYSk6dm9pZCAwfWZ1bmN0aW9uIGYoYSxiKXtyZXR1cm5bYSxiLGNdfWZ1bmN0aW9uIGcoYSxiKXtyZXR1cm4gMCE9YT9pKDAsMS8wKShhLGIpOnZvaWQgMH1mdW5jdGlvbiBoKGEsYil7cmV0dXJuW2EsYixmdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5yb3VuZChkKDEsMS8wLGEpKX1dfWZ1bmN0aW9uIGkoYSxiKXtyZXR1cm4gZnVuY3Rpb24oZSxmKXtyZXR1cm5bZSxmLGZ1bmN0aW9uKGUpe3JldHVybiBjKGQoYSxiLGUpKX1dfX1mdW5jdGlvbiBqKGEsYil7cmV0dXJuW2EsYixNYXRoLnJvdW5kXX1hLmNsYW1wPWQsYS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihlLGkoMCwxLzApLFsiYm9yZGVyLWltYWdlLXdpZHRoIiwibGluZS1oZWlnaHQiXSksYS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihlLGkoMCwxKSxbIm9wYWNpdHkiLCJzaGFwZS1pbWFnZS10aHJlc2hvbGQiXSksYS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihlLGcsWyJmbGV4LWdyb3ciLCJmbGV4LXNocmluayJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGUsaCxbIm9ycGhhbnMiLCJ3aWRvd3MiXSksYS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihlLGosWyJ6LWluZGV4Il0pLGEucGFyc2VOdW1iZXI9ZSxhLm1lcmdlTnVtYmVycz1mLGEubnVtYmVyVG9TdHJpbmc9Y30oZCxmKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSxiKXtyZXR1cm4idmlzaWJsZSI9PWF8fCJ2aXNpYmxlIj09Yj9bMCwxLGZ1bmN0aW9uKGMpe3JldHVybiAwPj1jP2E6Yz49MT9iOiJ2aXNpYmxlIn1dOnZvaWQgMH1hLmFkZFByb3BlcnRpZXNIYW5kbGVyKFN0cmluZyxjLFsidmlzaWJpbGl0eSJdKX0oZCksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEpe2E9YS50cmltKCksZi5maWxsU3R5bGU9IiMwMDAiLGYuZmlsbFN0eWxlPWE7dmFyIGI9Zi5maWxsU3R5bGU7aWYoZi5maWxsU3R5bGU9IiNmZmYiLGYuZmlsbFN0eWxlPWEsYj09Zi5maWxsU3R5bGUpe2YuZmlsbFJlY3QoMCwwLDEsMSk7dmFyIGM9Zi5nZXRJbWFnZURhdGEoMCwwLDEsMSkuZGF0YTtmLmNsZWFyUmVjdCgwLDAsMSwxKTt2YXIgZD1jWzNdLzI1NTtyZXR1cm5bY1swXSpkLGNbMV0qZCxjWzJdKmQsZF19fWZ1bmN0aW9uIGQoYixjKXtyZXR1cm5bYixjLGZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGMoYSl7cmV0dXJuIE1hdGgubWF4KDAsTWF0aC5taW4oMjU1LGEpKX1pZihiWzNdKWZvcih2YXIgZD0wOzM+ZDtkKyspYltkXT1NYXRoLnJvdW5kKGMoYltkXS9iWzNdKSk7cmV0dXJuIGJbM109YS5udW1iZXJUb1N0cmluZyhhLmNsYW1wKDAsMSxiWzNdKSksInJnYmEoIitiLmpvaW4oIiwiKSsiKSJ9XX12YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJjYW52YXMiKTtlLndpZHRoPWUuaGVpZ2h0PTE7dmFyIGY9ZS5nZXRDb250ZXh0KCIyZCIpO2EuYWRkUHJvcGVydGllc0hhbmRsZXIoYyxkLFsiYmFja2dyb3VuZC1jb2xvciIsImJvcmRlci1ib3R0b20tY29sb3IiLCJib3JkZXItbGVmdC1jb2xvciIsImJvcmRlci1yaWdodC1jb2xvciIsImJvcmRlci10b3AtY29sb3IiLCJjb2xvciIsIm91dGxpbmUtY29sb3IiLCJ0ZXh0LWRlY29yYXRpb24tY29sb3IiXSksYS5jb25zdW1lQ29sb3I9YS5jb25zdW1lUGFyZW50aGVzaXNlZC5iaW5kKG51bGwsYyksYS5tZXJnZUNvbG9ycz1kfShkLGYpLGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhLGIpe2lmKGI9Yi50cmltKCkudG9Mb3dlckNhc2UoKSwiMCI9PWImJiJweCIuc2VhcmNoKGEpPj0wKXJldHVybntweDowfTtpZigvXlteKF0qJHxeY2FsYy8udGVzdChiKSl7Yj1iLnJlcGxhY2UoL2NhbGNcKC9nLCIoIik7dmFyIGM9e307Yj1iLnJlcGxhY2UoYSxmdW5jdGlvbihhKXtyZXR1cm4gY1thXT1udWxsLCJVIithfSk7Zm9yKHZhciBkPSJVKCIrYS5zb3VyY2UrIikiLGU9Yi5yZXBsYWNlKC9bLStdPyhcZCpcLik/XGQrL2csIk4iKS5yZXBsYWNlKG5ldyBSZWdFeHAoIk4iK2QsImciKSwiRCIpLnJlcGxhY2UoL1xzWystXVxzL2csIk8iKS5yZXBsYWNlKC9ccy9nLCIiKSxmPVsvTlwqKEQpL2csLyhOfEQpWypcL11OL2csLyhOfEQpT1wxL2csL1woKE58RClcKS9nXSxnPTA7ZzxmLmxlbmd0aDspZltnXS50ZXN0KGUpPyhlPWUucmVwbGFjZShmW2ddLCIkMSIpLGc9MCk6ZysrO2lmKCJEIj09ZSl7Zm9yKHZhciBoIGluIGMpe3ZhciBpPWV2YWwoYi5yZXBsYWNlKG5ldyBSZWdFeHAoIlUiK2gsImciKSwiIikucmVwbGFjZShuZXcgUmVnRXhwKGQsImciKSwiKjAiKSk7aWYoIWlzRmluaXRlKGkpKXJldHVybjtjW2hdPWl9cmV0dXJuIGN9fX1mdW5jdGlvbiBkKGEsYil7cmV0dXJuIGUoYSxiLCEwKX1mdW5jdGlvbiBlKGIsYyxkKXt2YXIgZSxmPVtdO2ZvcihlIGluIGIpZi5wdXNoKGUpO2ZvcihlIGluIGMpZi5pbmRleE9mKGUpPDAmJmYucHVzaChlKTtyZXR1cm4gYj1mLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gYlthXXx8MH0pLGM9Zi5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIGNbYV18fDB9KSxbYixjLGZ1bmN0aW9uKGIpe3ZhciBjPWIubWFwKGZ1bmN0aW9uKGMsZSl7cmV0dXJuIDE9PWIubGVuZ3RoJiZkJiYoYz1NYXRoLm1heChjLDApKSxhLm51bWJlclRvU3RyaW5nKGMpK2ZbZV19KS5qb2luKCIgKyAiKTtyZXR1cm4gYi5sZW5ndGg+MT8iY2FsYygiK2MrIikiOmN9XX12YXIgZj0icHh8ZW18ZXh8Y2h8cmVtfHZ3fHZofHZtaW58dm1heHxjbXxtbXxpbnxwdHxwYyIsZz1jLmJpbmQobnVsbCxuZXcgUmVnRXhwKGYsImciKSksaD1jLmJpbmQobnVsbCxuZXcgUmVnRXhwKGYrInwlIiwiZyIpKSxpPWMuYmluZChudWxsLC9kZWd8cmFkfGdyYWR8dHVybi9nKTthLnBhcnNlTGVuZ3RoPWcsYS5wYXJzZUxlbmd0aE9yUGVyY2VudD1oLGEuY29uc3VtZUxlbmd0aE9yUGVyY2VudD1hLmNvbnN1bWVQYXJlbnRoZXNpc2VkLmJpbmQobnVsbCxoKSxhLnBhcnNlQW5nbGU9aSxhLm1lcmdlRGltZW5zaW9ucz1lO3ZhciBqPWEuY29uc3VtZVBhcmVudGhlc2lzZWQuYmluZChudWxsLGcpLGs9YS5jb25zdW1lUmVwZWF0ZWQuYmluZCh2b2lkIDAsaiwvXi8pLGw9YS5jb25zdW1lUmVwZWF0ZWQuYmluZCh2b2lkIDAsaywvXiwvKTthLmNvbnN1bWVTaXplUGFpckxpc3Q9bDt2YXIgbT1mdW5jdGlvbihhKXt2YXIgYj1sKGEpO3JldHVybiBiJiYiIj09YlsxXT9iWzBdOnZvaWQgMH0sbj1hLm1lcmdlTmVzdGVkUmVwZWF0ZWQuYmluZCh2b2lkIDAsZCwiICIpLG89YS5tZXJnZU5lc3RlZFJlcGVhdGVkLmJpbmQodm9pZCAwLG4sIiwiKTthLm1lcmdlTm9uTmVnYXRpdmVTaXplUGFpcj1uLGEuYWRkUHJvcGVydGllc0hhbmRsZXIobSxvLFsiYmFja2dyb3VuZC1zaXplIl0pLGEuYWRkUHJvcGVydGllc0hhbmRsZXIoaCxkLFsiYm9yZGVyLWJvdHRvbS13aWR0aCIsImJvcmRlci1pbWFnZS13aWR0aCIsImJvcmRlci1sZWZ0LXdpZHRoIiwiYm9yZGVyLXJpZ2h0LXdpZHRoIiwiYm9yZGVyLXRvcC13aWR0aCIsImZsZXgtYmFzaXMiLCJmb250LXNpemUiLCJoZWlnaHQiLCJsaW5lLWhlaWdodCIsIm1heC1oZWlnaHQiLCJtYXgtd2lkdGgiLCJvdXRsaW5lLXdpZHRoIiwid2lkdGgiXSksYS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihoLGUsWyJib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIiwiYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMiLCJib3JkZXItdG9wLWxlZnQtcmFkaXVzIiwiYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMiLCJib3R0b20iLCJsZWZ0IiwibGV0dGVyLXNwYWNpbmciLCJtYXJnaW4tYm90dG9tIiwibWFyZ2luLWxlZnQiLCJtYXJnaW4tcmlnaHQiLCJtYXJnaW4tdG9wIiwibWluLWhlaWdodCIsIm1pbi13aWR0aCIsIm91dGxpbmUtb2Zmc2V0IiwicGFkZGluZy1ib3R0b20iLCJwYWRkaW5nLWxlZnQiLCJwYWRkaW5nLXJpZ2h0IiwicGFkZGluZy10b3AiLCJwZXJzcGVjdGl2ZSIsInJpZ2h0Iiwic2hhcGUtbWFyZ2luIiwidGV4dC1pbmRlbnQiLCJ0b3AiLCJ2ZXJ0aWNhbC1hbGlnbiIsIndvcmQtc3BhY2luZyJdKX0oZCxmKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYil7cmV0dXJuIGEuY29uc3VtZUxlbmd0aE9yUGVyY2VudChiKXx8YS5jb25zdW1lVG9rZW4oL15hdXRvLyxiKX1mdW5jdGlvbiBkKGIpe3ZhciBkPWEuY29uc3VtZUxpc3QoW2EuaWdub3JlKGEuY29uc3VtZVRva2VuLmJpbmQobnVsbCwvXnJlY3QvKSksYS5pZ25vcmUoYS5jb25zdW1lVG9rZW4uYmluZChudWxsLC9eXCgvKSksYS5jb25zdW1lUmVwZWF0ZWQuYmluZChudWxsLGMsL14sLyksYS5pZ25vcmUoYS5jb25zdW1lVG9rZW4uYmluZChudWxsLC9eXCkvKSldLGIpO3JldHVybiBkJiY0PT1kWzBdLmxlbmd0aD9kWzBdOnZvaWQgMH1mdW5jdGlvbiBlKGIsYyl7cmV0dXJuImF1dG8iPT1ifHwiYXV0byI9PWM/WyEwLCExLGZ1bmN0aW9uKGQpe3ZhciBlPWQ/YjpjO2lmKCJhdXRvIj09ZSlyZXR1cm4iYXV0byI7dmFyIGY9YS5tZXJnZURpbWVuc2lvbnMoZSxlKTtyZXR1cm4gZlsyXShmWzBdKX1dOmEubWVyZ2VEaW1lbnNpb25zKGIsYyl9ZnVuY3Rpb24gZihhKXtyZXR1cm4icmVjdCgiK2ErIikifXZhciBnPWEubWVyZ2VXcmFwcGVkTmVzdGVkUmVwZWF0ZWQuYmluZChudWxsLGYsZSwiLCAiKTthLnBhcnNlQm94PWQsYS5tZXJnZUJveGVzPWcsYS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihkLGcsWyJjbGlwIl0pfShkLGYpLGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhKXtyZXR1cm4gZnVuY3Rpb24oYil7dmFyIGM9MDtyZXR1cm4gYS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1rP2JbYysrXTphfSl9fWZ1bmN0aW9uIGQoYSl7cmV0dXJuIGF9ZnVuY3Rpb24gZShiKXtpZihiPWIudG9Mb3dlckNhc2UoKS50cmltKCksIm5vbmUiPT1iKXJldHVybltdO2Zvcih2YXIgYyxkPS9ccyooXHcrKVwoKFteKV0qKVwpL2csZT1bXSxmPTA7Yz1kLmV4ZWMoYik7KXtpZihjLmluZGV4IT1mKXJldHVybjtmPWMuaW5kZXgrY1swXS5sZW5ndGg7dmFyIGc9Y1sxXSxoPW5bZ107aWYoIWgpcmV0dXJuO3ZhciBpPWNbMl0uc3BsaXQoIiwiKSxqPWhbMF07aWYoai5sZW5ndGg8aS5sZW5ndGgpcmV0dXJuO2Zvcih2YXIgaz1bXSxvPTA7bzxqLmxlbmd0aDtvKyspe3ZhciBwLHE9aVtvXSxyPWpbb107aWYocD1xP3tBOmZ1bmN0aW9uKGIpe3JldHVybiIwIj09Yi50cmltKCk/bTphLnBhcnNlQW5nbGUoYil9LE46YS5wYXJzZU51bWJlcixUOmEucGFyc2VMZW5ndGhPclBlcmNlbnQsTDphLnBhcnNlTGVuZ3RofVtyLnRvVXBwZXJDYXNlKCldKHEpOnthOm0sbjprWzBdLHQ6bH1bcl0sdm9pZCAwPT09cClyZXR1cm47ay5wdXNoKHApfWlmKGUucHVzaCh7dDpnLGQ6a30pLGQubGFzdEluZGV4PT1iLmxlbmd0aClyZXR1cm4gZX19ZnVuY3Rpb24gZihhKXtyZXR1cm4gYS50b0ZpeGVkKDYpLnJlcGxhY2UoIi4wMDAwMDAiLCIiKX1mdW5jdGlvbiBnKGIsYyl7aWYoYi5kZWNvbXBvc2l0aW9uUGFpciE9PWMpe2IuZGVjb21wb3NpdGlvblBhaXI9Yzt2YXIgZD1hLm1ha2VNYXRyaXhEZWNvbXBvc2l0aW9uKGIpfWlmKGMuZGVjb21wb3NpdGlvblBhaXIhPT1iKXtjLmRlY29tcG9zaXRpb25QYWlyPWI7dmFyIGU9YS5tYWtlTWF0cml4RGVjb21wb3NpdGlvbihjKX1yZXR1cm4gbnVsbD09ZFswXXx8bnVsbD09ZVswXT9bWyExXSxbITBdLGZ1bmN0aW9uKGEpe3JldHVybiBhP2NbMF0uZDpiWzBdLmR9XTooZFswXS5wdXNoKDApLGVbMF0ucHVzaCgxKSxbZCxlLGZ1bmN0aW9uKGIpe3ZhciBjPWEucXVhdChkWzBdWzNdLGVbMF1bM10sYls1XSksZz1hLmNvbXBvc2VNYXRyaXgoYlswXSxiWzFdLGJbMl0sYyxiWzRdKSxoPWcubWFwKGYpLmpvaW4oIiwiKTtyZXR1cm4gaH1dKX1mdW5jdGlvbiBoKGEpe3JldHVybiBhLnJlcGxhY2UoL1t4eV0vLCIiKX1mdW5jdGlvbiBpKGEpe3JldHVybiBhLnJlcGxhY2UoLyh4fHl8enwzZCk/JC8sIjNkIil9ZnVuY3Rpb24gaihiLGMpe3ZhciBkPWEubWFrZU1hdHJpeERlY29tcG9zaXRpb24mJiEwLGU9ITE7aWYoIWIubGVuZ3RofHwhYy5sZW5ndGgpe2IubGVuZ3RofHwoZT0hMCxiPWMsYz1bXSk7Zm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspe3ZhciBqPWJbZl0udCxrPWJbZl0uZCxsPSJzY2FsZSI9PWouc3Vic3RyKDAsNSk/MTowO2MucHVzaCh7dDpqLGQ6ay5tYXAoZnVuY3Rpb24oYSl7aWYoIm51bWJlciI9PXR5cGVvZiBhKXJldHVybiBsO3ZhciBiPXt9O2Zvcih2YXIgYyBpbiBhKWJbY109bDtyZXR1cm4gYn0pfSl9fXZhciBtPWZ1bmN0aW9uKGEsYil7cmV0dXJuInBlcnNwZWN0aXZlIj09YSYmInBlcnNwZWN0aXZlIj09Ynx8KCJtYXRyaXgiPT1hfHwibWF0cml4M2QiPT1hKSYmKCJtYXRyaXgiPT1ifHwibWF0cml4M2QiPT1iKX0sbz1bXSxwPVtdLHE9W107aWYoYi5sZW5ndGghPWMubGVuZ3RoKXtpZighZClyZXR1cm47dmFyIHI9ZyhiLGMpO289W3JbMF1dLHA9W3JbMV1dLHE9W1sibWF0cml4IixbclsyXV1dXX1lbHNlIGZvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7ZisrKXt2YXIgaixzPWJbZl0udCx0PWNbZl0udCx1PWJbZl0uZCx2PWNbZl0uZCx3PW5bc10seD1uW3RdO2lmKG0ocyx0KSl7aWYoIWQpcmV0dXJuO3ZhciByPWcoW2JbZl1dLFtjW2ZdXSk7by5wdXNoKHJbMF0pLHAucHVzaChyWzFdKSxxLnB1c2goWyJtYXRyaXgiLFtyWzJdXV0pfWVsc2V7aWYocz09dClqPXM7ZWxzZSBpZih3WzJdJiZ4WzJdJiZoKHMpPT1oKHQpKWo9aChzKSx1PXdbMl0odSksdj14WzJdKHYpO2Vsc2V7aWYoIXdbMV18fCF4WzFdfHxpKHMpIT1pKHQpKXtpZighZClyZXR1cm47dmFyIHI9ZyhiLGMpO289W3JbMF1dLHA9W3JbMV1dLHE9W1sibWF0cml4IixbclsyXV1dXTticmVha31qPWkocyksdT13WzFdKHUpLHY9eFsxXSh2KX1mb3IodmFyIHk9W10sej1bXSxBPVtdLEI9MDtCPHUubGVuZ3RoO0IrKyl7dmFyIEM9Im51bWJlciI9PXR5cGVvZiB1W0JdP2EubWVyZ2VOdW1iZXJzOmEubWVyZ2VEaW1lbnNpb25zLHI9Qyh1W0JdLHZbQl0pO3lbQl09clswXSx6W0JdPXJbMV0sQS5wdXNoKHJbMl0pfW8ucHVzaCh5KSxwLnB1c2goeikscS5wdXNoKFtqLEFdKX19aWYoZSl7dmFyIEQ9bztvPXAscD1EfXJldHVybltvLHAsZnVuY3Rpb24oYSl7cmV0dXJuIGEubWFwKGZ1bmN0aW9uKGEsYil7dmFyIGM9YS5tYXAoZnVuY3Rpb24oYSxjKXtyZXR1cm4gcVtiXVsxXVtjXShhKX0pLmpvaW4oIiwiKTtyZXR1cm4ibWF0cml4Ij09cVtiXVswXSYmMTY9PWMuc3BsaXQoIiwiKS5sZW5ndGgmJihxW2JdWzBdPSJtYXRyaXgzZCIpLHFbYl1bMF0rIigiK2MrIikifSkuam9pbigiICIpfV19dmFyIGs9bnVsbCxsPXtweDowfSxtPXtkZWc6MH0sbj17bWF0cml4OlsiTk5OTk5OIixbayxrLDAsMCxrLGssMCwwLDAsMCwxLDAsayxrLDAsMV0sZF0sbWF0cml4M2Q6WyJOTk5OTk5OTk5OTk5OTk5OIixkXSxyb3RhdGU6WyJBIl0scm90YXRleDpbIkEiXSxyb3RhdGV5OlsiQSJdLHJvdGF0ZXo6WyJBIl0scm90YXRlM2Q6WyJOTk5BIl0scGVyc3BlY3RpdmU6WyJMIl0sc2NhbGU6WyJObiIsYyhbayxrLDFdKSxkXSxzY2FsZXg6WyJOIixjKFtrLDEsMV0pLGMoW2ssMV0pXSxzY2FsZXk6WyJOIixjKFsxLGssMV0pLGMoWzEsa10pXSxzY2FsZXo6WyJOIixjKFsxLDEsa10pXSxzY2FsZTNkOlsiTk5OIixkXSxza2V3OlsiQWEiLG51bGwsZF0sc2tld3g6WyJBIixudWxsLGMoW2ssbV0pXSxza2V3eTpbIkEiLG51bGwsYyhbbSxrXSldLHRyYW5zbGF0ZTpbIlR0IixjKFtrLGssbF0pLGRdLHRyYW5zbGF0ZXg6WyJUIixjKFtrLGwsbF0pLGMoW2ssbF0pXSx0cmFuc2xhdGV5OlsiVCIsYyhbbCxrLGxdKSxjKFtsLGtdKV0sdHJhbnNsYXRlejpbIkwiLGMoW2wsbCxrXSldLHRyYW5zbGF0ZTNkOlsiVFRMIixkXX07YS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihlLGosWyJ0cmFuc2Zvcm0iXSl9KGQsZiksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEsYil7Yi5jb25jYXQoW2FdKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IgaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoZFthXT1iKX0pfXZhciBkPXt9O2MoInRyYW5zZm9ybSIsWyJ3ZWJraXRUcmFuc2Zvcm0iLCJtc1RyYW5zZm9ybSJdKSxjKCJ0cmFuc2Zvcm1PcmlnaW4iLFsid2Via2l0VHJhbnNmb3JtT3JpZ2luIl0pLGMoInBlcnNwZWN0aXZlIixbIndlYmtpdFBlcnNwZWN0aXZlIl0pLGMoInBlcnNwZWN0aXZlT3JpZ2luIixbIndlYmtpdFBlcnNwZWN0aXZlT3JpZ2luIl0pLGEucHJvcGVydHlOYW1lPWZ1bmN0aW9uKGEpe3JldHVybiBkW2FdfHxhfX0oZCxmKX0oKSwhZnVuY3Rpb24oKXtpZih2b2lkIDA9PT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5hbmltYXRlKFtdKS5vbmNhbmNlbCl7dmFyIGE7aWYod2luZG93LnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5ub3cpdmFyIGE9ZnVuY3Rpb24oKXtyZXR1cm4gcGVyZm9ybWFuY2Uubm93KCl9O2Vsc2UgdmFyIGE9ZnVuY3Rpb24oKXtyZXR1cm4gRGF0ZS5ub3coKX07dmFyIGI9ZnVuY3Rpb24oYSxiLGMpe3RoaXMudGFyZ2V0PWEsdGhpcy5jdXJyZW50VGltZT1iLHRoaXMudGltZWxpbmVUaW1lPWMsdGhpcy50eXBlPSJjYW5jZWwiLHRoaXMuYnViYmxlcz0hMSx0aGlzLmNhbmNlbGFibGU9ITEsdGhpcy5jdXJyZW50VGFyZ2V0PWEsdGhpcy5kZWZhdWx0UHJldmVudGVkPSExLHRoaXMuZXZlbnRQaGFzZT1FdmVudC5BVF9UQVJHRVQsdGhpcy50aW1lU3RhbXA9RGF0ZS5ub3coKX0sYz13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZTt3aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZT1mdW5jdGlvbihkLGUpe3ZhciBmPWMuY2FsbCh0aGlzLGQsZSk7Zi5fY2FuY2VsSGFuZGxlcnM9W10sZi5vbmNhbmNlbD1udWxsO3ZhciBnPWYuY2FuY2VsO2YuY2FuY2VsPWZ1bmN0aW9uKCl7Zy5jYWxsKHRoaXMpO3ZhciBjPW5ldyBiKHRoaXMsbnVsbCxhKCkpLGQ9dGhpcy5fY2FuY2VsSGFuZGxlcnMuY29uY2F0KHRoaXMub25jYW5jZWw/W3RoaXMub25jYW5jZWxdOltdKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZC5mb3JFYWNoKGZ1bmN0aW9uKGEpe2EuY2FsbChjLnRhcmdldCxjKX0pfSwwKX07dmFyIGg9Zi5hZGRFdmVudExpc3RlbmVyO2YuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIpeyJmdW5jdGlvbiI9PXR5cGVvZiBiJiYiY2FuY2VsIj09YT90aGlzLl9jYW5jZWxIYW5kbGVycy5wdXNoKGIpOmguY2FsbCh0aGlzLGEsYil9O3ZhciBpPWYucmVtb3ZlRXZlbnRMaXN0ZW5lcjtyZXR1cm4gZi5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYil7aWYoImNhbmNlbCI9PWEpe3ZhciBjPXRoaXMuX2NhbmNlbEhhbmRsZXJzLmluZGV4T2YoYik7Yz49MCYmdGhpcy5fY2FuY2VsSGFuZGxlcnMuc3BsaWNlKGMsMSl9ZWxzZSBpLmNhbGwodGhpcyxhLGIpfSxmfX19KCksZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGM9bnVsbCxkPSExO3RyeXt2YXIgZT1nZXRDb21wdXRlZFN0eWxlKGIpLmdldFByb3BlcnR5VmFsdWUoIm9wYWNpdHkiKSxmPSIwIj09ZT8iMSI6IjAiO2M9Yi5hbmltYXRlKHtvcGFjaXR5OltmLGZdfSx7ZHVyYXRpb246MX0pLGMuY3VycmVudFRpbWU9MCxkPWdldENvbXB1dGVkU3R5bGUoYikuZ2V0UHJvcGVydHlWYWx1ZSgib3BhY2l0eSIpPT1mfWNhdGNoKGcpe31maW5hbGx5e2MmJmMuY2FuY2VsKCl9aWYoIWQpe3ZhciBoPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hbmltYXRlO3dpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGIsYyl7cmV0dXJuIHdpbmRvdy5TeW1ib2wmJlN5bWJvbC5pdGVyYXRvciYmQXJyYXkucHJvdG90eXBlLmZyb20mJmJbU3ltYm9sLml0ZXJhdG9yXSYmKGI9QXJyYXkuZnJvbShiKSksQXJyYXkuaXNBcnJheShiKXx8bnVsbD09PWJ8fChiPWEuY29udmVydFRvQXJyYXlGb3JtKGIpKSxoLmNhbGwodGhpcyxiLGMpfX19KGMpLCFmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChhKXt2YXIgYj13aW5kb3cuZG9jdW1lbnQudGltZWxpbmU7Yi5jdXJyZW50VGltZT1hLGIuX2Rpc2NhcmRBbmltYXRpb25zKCksMD09Yi5fYW5pbWF0aW9ucy5sZW5ndGg/Zj0hMTpyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZCk7Cn12YXIgZT13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIGUoZnVuY3Rpb24oYil7d2luZG93LmRvY3VtZW50LnRpbWVsaW5lLl91cGRhdGVBbmltYXRpb25zUHJvbWlzZXMoKSxhKGIpLHdpbmRvdy5kb2N1bWVudC50aW1lbGluZS5fdXBkYXRlQW5pbWF0aW9uc1Byb21pc2VzKCl9KX0sYi5BbmltYXRpb25UaW1lbGluZT1mdW5jdGlvbigpe3RoaXMuX2FuaW1hdGlvbnM9W10sdGhpcy5jdXJyZW50VGltZT12b2lkIDB9LGIuQW5pbWF0aW9uVGltZWxpbmUucHJvdG90eXBlPXtnZXRBbmltYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Rpc2NhcmRBbmltYXRpb25zKCksdGhpcy5fYW5pbWF0aW9ucy5zbGljZSgpfSxfdXBkYXRlQW5pbWF0aW9uc1Byb21pc2VzOmZ1bmN0aW9uKCl7Yi5hbmltYXRpb25zV2l0aFByb21pc2VzPWIuYW5pbWF0aW9uc1dpdGhQcm9taXNlcy5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGEuX3VwZGF0ZVByb21pc2VzKCl9KX0sX2Rpc2NhcmRBbmltYXRpb25zOmZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlQW5pbWF0aW9uc1Byb21pc2VzKCksdGhpcy5fYW5pbWF0aW9ucz10aGlzLl9hbmltYXRpb25zLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4iZmluaXNoZWQiIT1hLnBsYXlTdGF0ZSYmImlkbGUiIT1hLnBsYXlTdGF0ZX0pfSxfcGxheTpmdW5jdGlvbihhKXt2YXIgYz1uZXcgYi5BbmltYXRpb24oYSx0aGlzKTtyZXR1cm4gdGhpcy5fYW5pbWF0aW9ucy5wdXNoKGMpLGIucmVzdGFydFdlYkFuaW1hdGlvbnNOZXh0VGljaygpLGMuX3VwZGF0ZVByb21pc2VzKCksYy5fYW5pbWF0aW9uLnBsYXkoKSxjLl91cGRhdGVQcm9taXNlcygpLGN9LHBsYXk6ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEucmVtb3ZlKCksdGhpcy5fcGxheShhKX19O3ZhciBmPSExO2IucmVzdGFydFdlYkFuaW1hdGlvbnNOZXh0VGljaz1mdW5jdGlvbigpe2Z8fChmPSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZShkKSl9O3ZhciBnPW5ldyBiLkFuaW1hdGlvblRpbWVsaW5lO2IudGltZWxpbmU9Zzt0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdy5kb2N1bWVudCwidGltZWxpbmUiLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGd9fSl9Y2F0Y2goaCl7fXRyeXt3aW5kb3cuZG9jdW1lbnQudGltZWxpbmU9Z31jYXRjaChoKXt9fShjLGUsZiksZnVuY3Rpb24oYSxiLGMpe2IuYW5pbWF0aW9uc1dpdGhQcm9taXNlcz1bXSxiLkFuaW1hdGlvbj1mdW5jdGlvbihiLGMpe2lmKHRoaXMuaWQ9IiIsYiYmYi5faWQmJih0aGlzLmlkPWIuX2lkKSx0aGlzLmVmZmVjdD1iLGImJihiLl9hbmltYXRpb249dGhpcyksIWMpdGhyb3cgbmV3IEVycm9yKCJBbmltYXRpb24gd2l0aCBudWxsIHRpbWVsaW5lIGlzIG5vdCBzdXBwb3J0ZWQiKTt0aGlzLl90aW1lbGluZT1jLHRoaXMuX3NlcXVlbmNlTnVtYmVyPWEuc2VxdWVuY2VOdW1iZXIrKyx0aGlzLl9ob2xkVGltZT0wLHRoaXMuX3BhdXNlZD0hMSx0aGlzLl9pc0dyb3VwPSExLHRoaXMuX2FuaW1hdGlvbj1udWxsLHRoaXMuX2NoaWxkQW5pbWF0aW9ucz1bXSx0aGlzLl9jYWxsYmFjaz1udWxsLHRoaXMuX29sZFBsYXlTdGF0ZT0iaWRsZSIsdGhpcy5fcmVidWlsZFVuZGVybHlpbmdBbmltYXRpb24oKSx0aGlzLl9hbmltYXRpb24uY2FuY2VsKCksdGhpcy5fdXBkYXRlUHJvbWlzZXMoKX0sYi5BbmltYXRpb24ucHJvdG90eXBlPXtfdXBkYXRlUHJvbWlzZXM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLl9vbGRQbGF5U3RhdGUsYj10aGlzLnBsYXlTdGF0ZTtyZXR1cm4gdGhpcy5fcmVhZHlQcm9taXNlJiZiIT09YSYmKCJpZGxlIj09Yj8odGhpcy5fcmVqZWN0UmVhZHlQcm9taXNlKCksdGhpcy5fcmVhZHlQcm9taXNlPXZvaWQgMCk6InBlbmRpbmciPT1hP3RoaXMuX3Jlc29sdmVSZWFkeVByb21pc2UoKToicGVuZGluZyI9PWImJih0aGlzLl9yZWFkeVByb21pc2U9dm9pZCAwKSksdGhpcy5fZmluaXNoZWRQcm9taXNlJiZiIT09YSYmKCJpZGxlIj09Yj8odGhpcy5fcmVqZWN0RmluaXNoZWRQcm9taXNlKCksdGhpcy5fZmluaXNoZWRQcm9taXNlPXZvaWQgMCk6ImZpbmlzaGVkIj09Yj90aGlzLl9yZXNvbHZlRmluaXNoZWRQcm9taXNlKCk6ImZpbmlzaGVkIj09YSYmKHRoaXMuX2ZpbmlzaGVkUHJvbWlzZT12b2lkIDApKSx0aGlzLl9vbGRQbGF5U3RhdGU9dGhpcy5wbGF5U3RhdGUsdGhpcy5fcmVhZHlQcm9taXNlfHx0aGlzLl9maW5pc2hlZFByb21pc2V9LF9yZWJ1aWxkVW5kZXJseWluZ0FuaW1hdGlvbjpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCk7dmFyIGEsYyxkLGUsZj0hIXRoaXMuX2FuaW1hdGlvbjtmJiYoYT10aGlzLnBsYXliYWNrUmF0ZSxjPXRoaXMuX3BhdXNlZCxkPXRoaXMuc3RhcnRUaW1lLGU9dGhpcy5jdXJyZW50VGltZSx0aGlzLl9hbmltYXRpb24uY2FuY2VsKCksdGhpcy5fYW5pbWF0aW9uLl93cmFwcGVyPW51bGwsdGhpcy5fYW5pbWF0aW9uPW51bGwpLCghdGhpcy5lZmZlY3R8fHRoaXMuZWZmZWN0IGluc3RhbmNlb2Ygd2luZG93LktleWZyYW1lRWZmZWN0KSYmKHRoaXMuX2FuaW1hdGlvbj1iLm5ld1VuZGVybHlpbmdBbmltYXRpb25Gb3JLZXlmcmFtZUVmZmVjdCh0aGlzLmVmZmVjdCksYi5iaW5kQW5pbWF0aW9uRm9yS2V5ZnJhbWVFZmZlY3QodGhpcykpLCh0aGlzLmVmZmVjdCBpbnN0YW5jZW9mIHdpbmRvdy5TZXF1ZW5jZUVmZmVjdHx8dGhpcy5lZmZlY3QgaW5zdGFuY2VvZiB3aW5kb3cuR3JvdXBFZmZlY3QpJiYodGhpcy5fYW5pbWF0aW9uPWIubmV3VW5kZXJseWluZ0FuaW1hdGlvbkZvckdyb3VwKHRoaXMuZWZmZWN0KSxiLmJpbmRBbmltYXRpb25Gb3JHcm91cCh0aGlzKSksdGhpcy5lZmZlY3QmJnRoaXMuZWZmZWN0Ll9vbnNhbXBsZSYmYi5iaW5kQW5pbWF0aW9uRm9yQ3VzdG9tRWZmZWN0KHRoaXMpLGYmJigxIT1hJiYodGhpcy5wbGF5YmFja1JhdGU9YSksbnVsbCE9PWQ/dGhpcy5zdGFydFRpbWU9ZDpudWxsIT09ZT90aGlzLmN1cnJlbnRUaW1lPWU6bnVsbCE9PXRoaXMuX2hvbGRUaW1lJiYodGhpcy5jdXJyZW50VGltZT10aGlzLl9ob2xkVGltZSksYyYmdGhpcy5wYXVzZSgpKSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxfdXBkYXRlQ2hpbGRyZW46ZnVuY3Rpb24oKXtpZih0aGlzLmVmZmVjdCYmImlkbGUiIT10aGlzLnBsYXlTdGF0ZSl7dmFyIGE9dGhpcy5lZmZlY3QuX3RpbWluZy5kZWxheTt0aGlzLl9jaGlsZEFuaW1hdGlvbnMuZm9yRWFjaChmdW5jdGlvbihjKXt0aGlzLl9hcnJhbmdlQ2hpbGRyZW4oYyxhKSx0aGlzLmVmZmVjdCBpbnN0YW5jZW9mIHdpbmRvdy5TZXF1ZW5jZUVmZmVjdCYmKGErPWIuZ3JvdXBDaGlsZER1cmF0aW9uKGMuZWZmZWN0KSl9LmJpbmQodGhpcykpfX0sX3NldEV4dGVybmFsQW5pbWF0aW9uOmZ1bmN0aW9uKGEpe2lmKHRoaXMuZWZmZWN0JiZ0aGlzLl9pc0dyb3VwKWZvcih2YXIgYj0wO2I8dGhpcy5lZmZlY3QuY2hpbGRyZW4ubGVuZ3RoO2IrKyl0aGlzLmVmZmVjdC5jaGlsZHJlbltiXS5fYW5pbWF0aW9uPWEsdGhpcy5fY2hpbGRBbmltYXRpb25zW2JdLl9zZXRFeHRlcm5hbEFuaW1hdGlvbihhKX0sX2NvbnN0cnVjdENoaWxkQW5pbWF0aW9uczpmdW5jdGlvbigpe2lmKHRoaXMuZWZmZWN0JiZ0aGlzLl9pc0dyb3VwKXt2YXIgYT10aGlzLmVmZmVjdC5fdGltaW5nLmRlbGF5O3RoaXMuX3JlbW92ZUNoaWxkQW5pbWF0aW9ucygpLHRoaXMuZWZmZWN0LmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIGQ9d2luZG93LmRvY3VtZW50LnRpbWVsaW5lLl9wbGF5KGMpO3RoaXMuX2NoaWxkQW5pbWF0aW9ucy5wdXNoKGQpLGQucGxheWJhY2tSYXRlPXRoaXMucGxheWJhY2tSYXRlLHRoaXMuX3BhdXNlZCYmZC5wYXVzZSgpLGMuX2FuaW1hdGlvbj10aGlzLmVmZmVjdC5fYW5pbWF0aW9uLHRoaXMuX2FycmFuZ2VDaGlsZHJlbihkLGEpLHRoaXMuZWZmZWN0IGluc3RhbmNlb2Ygd2luZG93LlNlcXVlbmNlRWZmZWN0JiYoYSs9Yi5ncm91cENoaWxkRHVyYXRpb24oYykpfS5iaW5kKHRoaXMpKX19LF9hcnJhbmdlQ2hpbGRyZW46ZnVuY3Rpb24oYSxiKXtudWxsPT09dGhpcy5zdGFydFRpbWU/YS5jdXJyZW50VGltZT10aGlzLmN1cnJlbnRUaW1lLWIvdGhpcy5wbGF5YmFja1JhdGU6YS5zdGFydFRpbWUhPT10aGlzLnN0YXJ0VGltZStiL3RoaXMucGxheWJhY2tSYXRlJiYoYS5zdGFydFRpbWU9dGhpcy5zdGFydFRpbWUrYi90aGlzLnBsYXliYWNrUmF0ZSl9LGdldCB0aW1lbGluZSgpe3JldHVybiB0aGlzLl90aW1lbGluZX0sZ2V0IHBsYXlTdGF0ZSgpe3JldHVybiB0aGlzLl9hbmltYXRpb24/dGhpcy5fYW5pbWF0aW9uLnBsYXlTdGF0ZToiaWRsZSJ9LGdldCBmaW5pc2hlZCgpe3JldHVybiB3aW5kb3cuUHJvbWlzZT8odGhpcy5fZmluaXNoZWRQcm9taXNlfHwoLTE9PWIuYW5pbWF0aW9uc1dpdGhQcm9taXNlcy5pbmRleE9mKHRoaXMpJiZiLmFuaW1hdGlvbnNXaXRoUHJvbWlzZXMucHVzaCh0aGlzKSx0aGlzLl9maW5pc2hlZFByb21pc2U9bmV3IFByb21pc2UoZnVuY3Rpb24oYSxiKXt0aGlzLl9yZXNvbHZlRmluaXNoZWRQcm9taXNlPWZ1bmN0aW9uKCl7YSh0aGlzKX0sdGhpcy5fcmVqZWN0RmluaXNoZWRQcm9taXNlPWZ1bmN0aW9uKCl7Yih7dHlwZTpET01FeGNlcHRpb24uQUJPUlRfRVJSLG5hbWU6IkFib3J0RXJyb3IifSl9fS5iaW5kKHRoaXMpKSwiZmluaXNoZWQiPT10aGlzLnBsYXlTdGF0ZSYmdGhpcy5fcmVzb2x2ZUZpbmlzaGVkUHJvbWlzZSgpKSx0aGlzLl9maW5pc2hlZFByb21pc2UpOihjb25zb2xlLndhcm4oIkFuaW1hdGlvbiBQcm9taXNlcyByZXF1aXJlIEphdmFTY3JpcHQgUHJvbWlzZSBjb25zdHJ1Y3RvciIpLG51bGwpfSxnZXQgcmVhZHkoKXtyZXR1cm4gd2luZG93LlByb21pc2U/KHRoaXMuX3JlYWR5UHJvbWlzZXx8KC0xPT1iLmFuaW1hdGlvbnNXaXRoUHJvbWlzZXMuaW5kZXhPZih0aGlzKSYmYi5hbmltYXRpb25zV2l0aFByb21pc2VzLnB1c2godGhpcyksdGhpcy5fcmVhZHlQcm9taXNlPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGEsYil7dGhpcy5fcmVzb2x2ZVJlYWR5UHJvbWlzZT1mdW5jdGlvbigpe2EodGhpcyl9LHRoaXMuX3JlamVjdFJlYWR5UHJvbWlzZT1mdW5jdGlvbigpe2Ioe3R5cGU6RE9NRXhjZXB0aW9uLkFCT1JUX0VSUixuYW1lOiJBYm9ydEVycm9yIn0pfX0uYmluZCh0aGlzKSksInBlbmRpbmciIT09dGhpcy5wbGF5U3RhdGUmJnRoaXMuX3Jlc29sdmVSZWFkeVByb21pc2UoKSksdGhpcy5fcmVhZHlQcm9taXNlKTooY29uc29sZS53YXJuKCJBbmltYXRpb24gUHJvbWlzZXMgcmVxdWlyZSBKYXZhU2NyaXB0IFByb21pc2UgY29uc3RydWN0b3IiKSxudWxsKX0sZ2V0IG9uZmluaXNoKCl7cmV0dXJuIHRoaXMuX2FuaW1hdGlvbi5vbmZpbmlzaH0sc2V0IG9uZmluaXNoKGEpeyJmdW5jdGlvbiI9PXR5cGVvZiBhP3RoaXMuX2FuaW1hdGlvbi5vbmZpbmlzaD1mdW5jdGlvbihiKXtiLnRhcmdldD10aGlzLGEuY2FsbCh0aGlzLGIpfS5iaW5kKHRoaXMpOnRoaXMuX2FuaW1hdGlvbi5vbmZpbmlzaD1hfSxnZXQgb25jYW5jZWwoKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uLm9uY2FuY2VsfSxzZXQgb25jYW5jZWwoYSl7ImZ1bmN0aW9uIj09dHlwZW9mIGE/dGhpcy5fYW5pbWF0aW9uLm9uY2FuY2VsPWZ1bmN0aW9uKGIpe2IudGFyZ2V0PXRoaXMsYS5jYWxsKHRoaXMsYil9LmJpbmQodGhpcyk6dGhpcy5fYW5pbWF0aW9uLm9uY2FuY2VsPWF9LGdldCBjdXJyZW50VGltZSgpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCk7dmFyIGE9dGhpcy5fYW5pbWF0aW9uLmN1cnJlbnRUaW1lO3JldHVybiB0aGlzLl91cGRhdGVQcm9taXNlcygpLGF9LHNldCBjdXJyZW50VGltZShhKXt0aGlzLl91cGRhdGVQcm9taXNlcygpLHRoaXMuX2FuaW1hdGlvbi5jdXJyZW50VGltZT1pc0Zpbml0ZShhKT9hOk1hdGguc2lnbihhKSpOdW1iZXIuTUFYX1ZBTFVFLHRoaXMuX3JlZ2lzdGVyKCksdGhpcy5fZm9yRWFjaENoaWxkKGZ1bmN0aW9uKGIsYyl7Yi5jdXJyZW50VGltZT1hLWN9KSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxnZXQgc3RhcnRUaW1lKCl7cmV0dXJuIHRoaXMuX2FuaW1hdGlvbi5zdGFydFRpbWV9LHNldCBzdGFydFRpbWUoYSl7dGhpcy5fdXBkYXRlUHJvbWlzZXMoKSx0aGlzLl9hbmltYXRpb24uc3RhcnRUaW1lPWlzRmluaXRlKGEpP2E6TWF0aC5zaWduKGEpKk51bWJlci5NQVhfVkFMVUUsdGhpcy5fcmVnaXN0ZXIoKSx0aGlzLl9mb3JFYWNoQ2hpbGQoZnVuY3Rpb24oYixjKXtiLnN0YXJ0VGltZT1hK2N9KSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxnZXQgcGxheWJhY2tSYXRlKCl7cmV0dXJuIHRoaXMuX2FuaW1hdGlvbi5wbGF5YmFja1JhdGV9LHNldCBwbGF5YmFja1JhdGUoYSl7dGhpcy5fdXBkYXRlUHJvbWlzZXMoKTt2YXIgYj10aGlzLmN1cnJlbnRUaW1lO3RoaXMuX2FuaW1hdGlvbi5wbGF5YmFja1JhdGU9YSx0aGlzLl9mb3JFYWNoQ2hpbGQoZnVuY3Rpb24oYil7Yi5wbGF5YmFja1JhdGU9YX0pLCJwYXVzZWQiIT10aGlzLnBsYXlTdGF0ZSYmImlkbGUiIT10aGlzLnBsYXlTdGF0ZSYmdGhpcy5wbGF5KCksbnVsbCE9PWImJih0aGlzLmN1cnJlbnRUaW1lPWIpLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LHBsYXk6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVQcm9taXNlcygpLHRoaXMuX3BhdXNlZD0hMSx0aGlzLl9hbmltYXRpb24ucGxheSgpLC0xPT10aGlzLl90aW1lbGluZS5fYW5pbWF0aW9ucy5pbmRleE9mKHRoaXMpJiZ0aGlzLl90aW1lbGluZS5fYW5pbWF0aW9ucy5wdXNoKHRoaXMpLHRoaXMuX3JlZ2lzdGVyKCksYi5hd2FpdFN0YXJ0VGltZSh0aGlzKSx0aGlzLl9mb3JFYWNoQ2hpbGQoZnVuY3Rpb24oYSl7dmFyIGI9YS5jdXJyZW50VGltZTthLnBsYXkoKSxhLmN1cnJlbnRUaW1lPWJ9KSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxwYXVzZTpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCksdGhpcy5jdXJyZW50VGltZSYmKHRoaXMuX2hvbGRUaW1lPXRoaXMuY3VycmVudFRpbWUpLHRoaXMuX2FuaW1hdGlvbi5wYXVzZSgpLHRoaXMuX3JlZ2lzdGVyKCksdGhpcy5fZm9yRWFjaENoaWxkKGZ1bmN0aW9uKGEpe2EucGF1c2UoKX0pLHRoaXMuX3BhdXNlZD0hMCx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxmaW5pc2g6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVQcm9taXNlcygpLHRoaXMuX2FuaW1hdGlvbi5maW5pc2goKSx0aGlzLl9yZWdpc3RlcigpLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LGNhbmNlbDpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCksdGhpcy5fYW5pbWF0aW9uLmNhbmNlbCgpLHRoaXMuX3JlZ2lzdGVyKCksdGhpcy5fcmVtb3ZlQ2hpbGRBbmltYXRpb25zKCksdGhpcy5fdXBkYXRlUHJvbWlzZXMoKX0scmV2ZXJzZTpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCk7dmFyIGE9dGhpcy5jdXJyZW50VGltZTt0aGlzLl9hbmltYXRpb24ucmV2ZXJzZSgpLHRoaXMuX2ZvckVhY2hDaGlsZChmdW5jdGlvbihhKXthLnJldmVyc2UoKX0pLG51bGwhPT1hJiYodGhpcy5jdXJyZW50VGltZT1hKSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxhZGRFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YjsiZnVuY3Rpb24iPT10eXBlb2YgYiYmKGM9ZnVuY3Rpb24oYSl7YS50YXJnZXQ9dGhpcyxiLmNhbGwodGhpcyxhKX0uYmluZCh0aGlzKSxiLl93cmFwcGVyPWMpLHRoaXMuX2FuaW1hdGlvbi5hZGRFdmVudExpc3RlbmVyKGEsYyl9LHJlbW92ZUV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oYSxiKXt0aGlzLl9hbmltYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGImJmIuX3dyYXBwZXJ8fGIpfSxfcmVtb3ZlQ2hpbGRBbmltYXRpb25zOmZ1bmN0aW9uKCl7Zm9yKDt0aGlzLl9jaGlsZEFuaW1hdGlvbnMubGVuZ3RoOyl0aGlzLl9jaGlsZEFuaW1hdGlvbnMucG9wKCkuY2FuY2VsKCl9LF9mb3JFYWNoQ2hpbGQ6ZnVuY3Rpb24oYil7dmFyIGM9MDtpZih0aGlzLmVmZmVjdC5jaGlsZHJlbiYmdGhpcy5fY2hpbGRBbmltYXRpb25zLmxlbmd0aDx0aGlzLmVmZmVjdC5jaGlsZHJlbi5sZW5ndGgmJnRoaXMuX2NvbnN0cnVjdENoaWxkQW5pbWF0aW9ucygpLHRoaXMuX2NoaWxkQW5pbWF0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKGEpe2IuY2FsbCh0aGlzLGEsYyksdGhpcy5lZmZlY3QgaW5zdGFuY2VvZiB3aW5kb3cuU2VxdWVuY2VFZmZlY3QmJihjKz1hLmVmZmVjdC5hY3RpdmVEdXJhdGlvbil9LmJpbmQodGhpcykpLCJwZW5kaW5nIiE9dGhpcy5wbGF5U3RhdGUpe3ZhciBkPXRoaXMuZWZmZWN0Ll90aW1pbmcsZT10aGlzLmN1cnJlbnRUaW1lO251bGwhPT1lJiYoZT1hLmNhbGN1bGF0ZVRpbWVGcmFjdGlvbihhLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uKGQpLGUsZCkpLChudWxsPT1lfHxpc05hTihlKSkmJnRoaXMuX3JlbW92ZUNoaWxkQW5pbWF0aW9ucygpfX19LHdpbmRvdy5BbmltYXRpb249Yi5BbmltYXRpb259KGMsZSxmKSxmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChiKXt0aGlzLl9mcmFtZXM9YS5ub3JtYWxpemVLZXlmcmFtZXMoYil9ZnVuY3Rpb24gZSgpe2Zvcih2YXIgYT0hMTtpLmxlbmd0aDspe3ZhciBiPWkuc2hpZnQoKTtiLl91cGRhdGVDaGlsZHJlbigpLGE9ITB9cmV0dXJuIGF9dmFyIGY9ZnVuY3Rpb24oYSl7aWYoYS5fYW5pbWF0aW9uPXZvaWQgMCxhIGluc3RhbmNlb2Ygd2luZG93LlNlcXVlbmNlRWZmZWN0fHxhIGluc3RhbmNlb2Ygd2luZG93Lkdyb3VwRWZmZWN0KWZvcih2YXIgYj0wO2I8YS5jaGlsZHJlbi5sZW5ndGg7YisrKWYoYS5jaGlsZHJlbltiXSl9O2IucmVtb3ZlTXVsdGk9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MDtjPGEubGVuZ3RoO2MrKyl7dmFyIGQ9YVtjXTtkLl9wYXJlbnQ/KC0xPT1iLmluZGV4T2YoZC5fcGFyZW50KSYmYi5wdXNoKGQuX3BhcmVudCksZC5fcGFyZW50LmNoaWxkcmVuLnNwbGljZShkLl9wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZihkKSwxKSxkLl9wYXJlbnQ9bnVsbCxmKGQpKTpkLl9hbmltYXRpb24mJmQuX2FuaW1hdGlvbi5lZmZlY3Q9PWQmJihkLl9hbmltYXRpb24uY2FuY2VsKCksZC5fYW5pbWF0aW9uLmVmZmVjdD1uZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCxbXSksZC5fYW5pbWF0aW9uLl9jYWxsYmFjayYmKGQuX2FuaW1hdGlvbi5fY2FsbGJhY2suX2FuaW1hdGlvbj1udWxsKSxkLl9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCksZihkKSl9Zm9yKGM9MDtjPGIubGVuZ3RoO2MrKyliW2NdLl9yZWJ1aWxkKCl9LGIuS2V5ZnJhbWVFZmZlY3Q9ZnVuY3Rpb24oYixjLGUsZil7cmV0dXJuIHRoaXMudGFyZ2V0PWIsdGhpcy5fcGFyZW50PW51bGwsZT1hLm51bWVyaWNUaW1pbmdUb09iamVjdChlKSx0aGlzLl90aW1pbmdJbnB1dD1hLmNsb25lVGltaW5nSW5wdXQoZSksdGhpcy5fdGltaW5nPWEubm9ybWFsaXplVGltaW5nSW5wdXQoZSksdGhpcy50aW1pbmc9YS5tYWtlVGltaW5nKGUsITEsdGhpcyksdGhpcy50aW1pbmcuX2VmZmVjdD10aGlzLCJmdW5jdGlvbiI9PXR5cGVvZiBjPyhhLmRlcHJlY2F0ZWQoIkN1c3RvbSBLZXlmcmFtZUVmZmVjdCIsIjIwMTUtMDYtMjIiLCJVc2UgS2V5ZnJhbWVFZmZlY3Qub25zYW1wbGUgaW5zdGVhZC4iKSx0aGlzLl9ub3JtYWxpemVkS2V5ZnJhbWVzPWMpOnRoaXMuX25vcm1hbGl6ZWRLZXlmcmFtZXM9bmV3IGQoYyksdGhpcy5fa2V5ZnJhbWVzPWMsdGhpcy5hY3RpdmVEdXJhdGlvbj1hLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uKHRoaXMuX3RpbWluZyksdGhpcy5faWQ9Zix0aGlzfSxiLktleWZyYW1lRWZmZWN0LnByb3RvdHlwZT17Z2V0RnJhbWVzOmZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX25vcm1hbGl6ZWRLZXlmcmFtZXM/dGhpcy5fbm9ybWFsaXplZEtleWZyYW1lczp0aGlzLl9ub3JtYWxpemVkS2V5ZnJhbWVzLl9mcmFtZXN9LHNldCBvbnNhbXBsZShhKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5nZXRGcmFtZXMoKSl0aHJvdyBuZXcgRXJyb3IoIlNldHRpbmcgb25zYW1wbGUgb24gY3VzdG9tIGVmZmVjdCBLZXlmcmFtZUVmZmVjdCBpcyBub3Qgc3VwcG9ydGVkLiIpO3RoaXMuX29uc2FtcGxlPWEsdGhpcy5fYW5pbWF0aW9uJiZ0aGlzLl9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCl9LGdldCBwYXJlbnQoKXtyZXR1cm4gdGhpcy5fcGFyZW50fSxjbG9uZTpmdW5jdGlvbigpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLmdldEZyYW1lcygpKXRocm93IG5ldyBFcnJvcigiQ2xvbmluZyBjdXN0b20gZWZmZWN0cyBpcyBub3Qgc3VwcG9ydGVkLiIpO3ZhciBiPW5ldyBLZXlmcmFtZUVmZmVjdCh0aGlzLnRhcmdldCxbXSxhLmNsb25lVGltaW5nSW5wdXQodGhpcy5fdGltaW5nSW5wdXQpLHRoaXMuX2lkKTtyZXR1cm4gYi5fbm9ybWFsaXplZEtleWZyYW1lcz10aGlzLl9ub3JtYWxpemVkS2V5ZnJhbWVzLGIuX2tleWZyYW1lcz10aGlzLl9rZXlmcmFtZXMsYn0scmVtb3ZlOmZ1bmN0aW9uKCl7Yi5yZW1vdmVNdWx0aShbdGhpc10pfX07dmFyIGc9RWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZTtFbGVtZW50LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGEsYyl7dmFyIGQ9IiI7cmV0dXJuIGMmJmMuaWQmJihkPWMuaWQpLGIudGltZWxpbmUuX3BsYXkobmV3IGIuS2V5ZnJhbWVFZmZlY3QodGhpcyxhLGMsZCkpfTt2YXIgaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJkaXYiKTtiLm5ld1VuZGVybHlpbmdBbmltYXRpb25Gb3JLZXlmcmFtZUVmZmVjdD1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1hLnRhcmdldHx8aCxjPWEuX2tleWZyYW1lczsiZnVuY3Rpb24iPT10eXBlb2YgYyYmKGM9W10pO3ZhciBkPWEuX3RpbWluZ0lucHV0O2QuaWQ9YS5faWR9ZWxzZSB2YXIgYj1oLGM9W10sZD0wO3JldHVybiBnLmFwcGx5KGIsW2MsZF0pfSxiLmJpbmRBbmltYXRpb25Gb3JLZXlmcmFtZUVmZmVjdD1mdW5jdGlvbihhKXthLmVmZmVjdCYmImZ1bmN0aW9uIj09dHlwZW9mIGEuZWZmZWN0Ll9ub3JtYWxpemVkS2V5ZnJhbWVzJiZiLmJpbmRBbmltYXRpb25Gb3JDdXN0b21FZmZlY3QoYSl9O3ZhciBpPVtdO2IuYXdhaXRTdGFydFRpbWU9ZnVuY3Rpb24oYSl7bnVsbD09PWEuc3RhcnRUaW1lJiZhLl9pc0dyb3VwJiYoMD09aS5sZW5ndGgmJnJlcXVlc3RBbmltYXRpb25GcmFtZShlKSxpLnB1c2goYSkpfTt2YXIgaj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZTtPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJnZXRDb21wdXRlZFN0eWxlIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6ZnVuY3Rpb24oKXt3aW5kb3cuZG9jdW1lbnQudGltZWxpbmUuX3VwZGF0ZUFuaW1hdGlvbnNQcm9taXNlcygpO3ZhciBhPWouYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBlKCkmJihhPWouYXBwbHkodGhpcyxhcmd1bWVudHMpKSx3aW5kb3cuZG9jdW1lbnQudGltZWxpbmUuX3VwZGF0ZUFuaW1hdGlvbnNQcm9taXNlcygpLGF9fSksd2luZG93LktleWZyYW1lRWZmZWN0PWIuS2V5ZnJhbWVFZmZlY3Qsd2luZG93LkVsZW1lbnQucHJvdG90eXBlLmdldEFuaW1hdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQudGltZWxpbmUuZ2V0QW5pbWF0aW9ucygpLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9PWEuZWZmZWN0JiZhLmVmZmVjdC50YXJnZXQ9PXRoaXN9LmJpbmQodGhpcykpfX0oYyxlLGYpLGZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGEpe2EuX3JlZ2lzdGVyZWR8fChhLl9yZWdpc3RlcmVkPSEwLGcucHVzaChhKSxofHwoaD0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZSkpKX1mdW5jdGlvbiBlKGEpe3ZhciBiPWc7Zz1bXSxiLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5fc2VxdWVuY2VOdW1iZXItYi5fc2VxdWVuY2VOdW1iZXJ9KSxiPWIuZmlsdGVyKGZ1bmN0aW9uKGEpe2EoKTt2YXIgYj1hLl9hbmltYXRpb24/YS5fYW5pbWF0aW9uLnBsYXlTdGF0ZToiaWRsZSI7cmV0dXJuInJ1bm5pbmciIT1iJiYicGVuZGluZyIhPWImJihhLl9yZWdpc3RlcmVkPSExKSxhLl9yZWdpc3RlcmVkfSksZy5wdXNoLmFwcGx5KGcsYiksZy5sZW5ndGg/KGg9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpKTpoPSExfXZhciBmPShkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJkaXYiKSwwKTtiLmJpbmRBbmltYXRpb25Gb3JDdXN0b21FZmZlY3Q9ZnVuY3Rpb24oYil7dmFyIGMsZT1iLmVmZmVjdC50YXJnZXQsZz0iZnVuY3Rpb24iPT10eXBlb2YgYi5lZmZlY3QuZ2V0RnJhbWVzKCk7Yz1nP2IuZWZmZWN0LmdldEZyYW1lcygpOmIuZWZmZWN0Ll9vbnNhbXBsZTt2YXIgaD1iLmVmZmVjdC50aW1pbmcsaT1udWxsO2g9YS5ub3JtYWxpemVUaW1pbmdJbnB1dChoKTt2YXIgaj1mdW5jdGlvbigpe3ZhciBkPWouX2FuaW1hdGlvbj9qLl9hbmltYXRpb24uY3VycmVudFRpbWU6bnVsbDtudWxsIT09ZCYmKGQ9YS5jYWxjdWxhdGVUaW1lRnJhY3Rpb24oYS5jYWxjdWxhdGVBY3RpdmVEdXJhdGlvbihoKSxkLGgpLGlzTmFOKGQpJiYoZD1udWxsKSksZCE9PWkmJihnP2MoZCxlLGIuZWZmZWN0KTpjKGQsYi5lZmZlY3QsYi5lZmZlY3QuX2FuaW1hdGlvbikpLGk9ZH07ai5fYW5pbWF0aW9uPWIsai5fcmVnaXN0ZXJlZD0hMSxqLl9zZXF1ZW5jZU51bWJlcj1mKyssYi5fY2FsbGJhY2s9aixkKGopfTt2YXIgZz1bXSxoPSExO2IuQW5pbWF0aW9uLnByb3RvdHlwZS5fcmVnaXN0ZXI9ZnVuY3Rpb24oKXt0aGlzLl9jYWxsYmFjayYmZCh0aGlzLl9jYWxsYmFjayl9fShjLGUsZiksZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSl7cmV0dXJuIGEuX3RpbWluZy5kZWxheSthLmFjdGl2ZUR1cmF0aW9uK2EuX3RpbWluZy5lbmREZWxheX1mdW5jdGlvbiBlKGIsYyxkKXt0aGlzLl9pZD1kLHRoaXMuX3BhcmVudD1udWxsLHRoaXMuY2hpbGRyZW49Ynx8W10sdGhpcy5fcmVwYXJlbnQodGhpcy5jaGlsZHJlbiksYz1hLm51bWVyaWNUaW1pbmdUb09iamVjdChjKSx0aGlzLl90aW1pbmdJbnB1dD1hLmNsb25lVGltaW5nSW5wdXQoYyksdGhpcy5fdGltaW5nPWEubm9ybWFsaXplVGltaW5nSW5wdXQoYywhMCksdGhpcy50aW1pbmc9YS5tYWtlVGltaW5nKGMsITAsdGhpcyksdGhpcy50aW1pbmcuX2VmZmVjdD10aGlzLCJhdXRvIj09PXRoaXMuX3RpbWluZy5kdXJhdGlvbiYmKHRoaXMuX3RpbWluZy5kdXJhdGlvbj10aGlzLmFjdGl2ZUR1cmF0aW9uKX13aW5kb3cuU2VxdWVuY2VFZmZlY3Q9ZnVuY3Rpb24oKXtlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sd2luZG93Lkdyb3VwRWZmZWN0PWZ1bmN0aW9uKCl7ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGUucHJvdG90eXBlPXtfaXNBbmNlc3RvcjpmdW5jdGlvbihhKXtmb3IodmFyIGI9dGhpcztudWxsIT09Yjspe2lmKGI9PWEpcmV0dXJuITA7Yj1iLl9wYXJlbnR9cmV0dXJuITF9LF9yZWJ1aWxkOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXM7YTspImF1dG8iPT09YS50aW1pbmcuZHVyYXRpb24mJihhLl90aW1pbmcuZHVyYXRpb249YS5hY3RpdmVEdXJhdGlvbiksYT1hLl9wYXJlbnQ7dGhpcy5fYW5pbWF0aW9uJiZ0aGlzLl9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCl9LF9yZXBhcmVudDpmdW5jdGlvbihhKXtiLnJlbW92ZU11bHRpKGEpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWFbY10uX3BhcmVudD10aGlzfSxfcHV0Q2hpbGQ6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9Yj8iQ2Fubm90IGFwcGVuZCBhbiBhbmNlc3RvciBvciBzZWxmIjoiQ2Fubm90IHByZXBlbmQgYW4gYW5jZXN0b3Igb3Igc2VsZiIsZD0wO2Q8YS5sZW5ndGg7ZCsrKWlmKHRoaXMuX2lzQW5jZXN0b3IoYVtkXSkpdGhyb3d7dHlwZTpET01FeGNlcHRpb24uSElFUkFSQ0hZX1JFUVVFU1RfRVJSLG5hbWU6IkhpZXJhcmNoeVJlcXVlc3RFcnJvciIsbWVzc2FnZTpjfTtmb3IodmFyIGQ9MDtkPGEubGVuZ3RoO2QrKyliP3RoaXMuY2hpbGRyZW4ucHVzaChhW2RdKTp0aGlzLmNoaWxkcmVuLnVuc2hpZnQoYVtkXSk7dGhpcy5fcmVwYXJlbnQoYSksdGhpcy5fcmVidWlsZCgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXt0aGlzLl9wdXRDaGlsZChhcmd1bWVudHMsITApfSxwcmVwZW5kOmZ1bmN0aW9uKCl7dGhpcy5fcHV0Q2hpbGQoYXJndW1lbnRzLCExKX0sZ2V0IHBhcmVudCgpe3JldHVybiB0aGlzLl9wYXJlbnR9LGdldCBmaXJzdENoaWxkKCl7cmV0dXJuIHRoaXMuY2hpbGRyZW4ubGVuZ3RoP3RoaXMuY2hpbGRyZW5bMF06bnVsbH0sZ2V0IGxhc3RDaGlsZCgpe3JldHVybiB0aGlzLmNoaWxkcmVuLmxlbmd0aD90aGlzLmNoaWxkcmVuW3RoaXMuY2hpbGRyZW4ubGVuZ3RoLTFdOm51bGx9LGNsb25lOmZ1bmN0aW9uKCl7Zm9yKHZhciBiPWEuY2xvbmVUaW1pbmdJbnB1dCh0aGlzLl90aW1pbmdJbnB1dCksYz1bXSxkPTA7ZDx0aGlzLmNoaWxkcmVuLmxlbmd0aDtkKyspYy5wdXNoKHRoaXMuY2hpbGRyZW5bZF0uY2xvbmUoKSk7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBHcm91cEVmZmVjdD9uZXcgR3JvdXBFZmZlY3QoYyxiKTpuZXcgU2VxdWVuY2VFZmZlY3QoYyxiKX0scmVtb3ZlOmZ1bmN0aW9uKCl7Yi5yZW1vdmVNdWx0aShbdGhpc10pfX0sd2luZG93LlNlcXVlbmNlRWZmZWN0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LlNlcXVlbmNlRWZmZWN0LnByb3RvdHlwZSwiYWN0aXZlRHVyYXRpb24iLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgYT0wO3JldHVybiB0aGlzLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oYil7YSs9ZChiKX0pLE1hdGgubWF4KGEsMCl9fSksd2luZG93Lkdyb3VwRWZmZWN0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93Lkdyb3VwRWZmZWN0LnByb3RvdHlwZSwiYWN0aXZlRHVyYXRpb24iLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgYT0wO3JldHVybiB0aGlzLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oYil7YT1NYXRoLm1heChhLGQoYikpfSksYX19KSxiLm5ld1VuZGVybHlpbmdBbmltYXRpb25Gb3JHcm91cD1mdW5jdGlvbihjKXt2YXIgZCxlPW51bGwsZj1mdW5jdGlvbihiKXt2YXIgYz1kLl93cmFwcGVyO3JldHVybiBjJiYicGVuZGluZyIhPWMucGxheVN0YXRlJiZjLmVmZmVjdD9udWxsPT1iP3ZvaWQgYy5fcmVtb3ZlQ2hpbGRBbmltYXRpb25zKCk6MD09YiYmYy5wbGF5YmFja1JhdGU8MCYmKGV8fChlPWEubm9ybWFsaXplVGltaW5nSW5wdXQoYy5lZmZlY3QudGltaW5nKSksYj1hLmNhbGN1bGF0ZVRpbWVGcmFjdGlvbihhLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uKGUpLC0xLGUpLGlzTmFOKGIpfHxudWxsPT1iKT8oYy5fZm9yRWFjaENoaWxkKGZ1bmN0aW9uKGEpe2EuY3VycmVudFRpbWU9LTF9KSx2b2lkIGMuX3JlbW92ZUNoaWxkQW5pbWF0aW9ucygpKTp2b2lkIDA6dm9pZCAwfSxnPW5ldyBLZXlmcmFtZUVmZmVjdChudWxsLFtdLGMuX3RpbWluZyxjLl9pZCk7cmV0dXJuIGcub25zYW1wbGU9ZixkPWIudGltZWxpbmUuX3BsYXkoZyl9LGIuYmluZEFuaW1hdGlvbkZvckdyb3VwPWZ1bmN0aW9uKGEpe2EuX2FuaW1hdGlvbi5fd3JhcHBlcj1hLGEuX2lzR3JvdXA9ITAsYi5hd2FpdFN0YXJ0VGltZShhKSxhLl9jb25zdHJ1Y3RDaGlsZEFuaW1hdGlvbnMoKSxhLl9zZXRFeHRlcm5hbEFuaW1hdGlvbihhKX0sYi5ncm91cENoaWxkRHVyYXRpb249ZH0oYyxlLGYpLGJbInRydWUiXT1hfSh7fSxmdW5jdGlvbigpe3JldHVybiB0aGlzfSgpKTsKCi8qKgpAbGljZW5zZSBAbm9jb21waWxlCkNvcHlyaWdodCAoYykgMjAxOCBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuClRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CkNvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCnN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiovCihmdW5jdGlvbigpey8qCgogQ29weXJpZ2h0IChjKSAyMDE2IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAoqLwondXNlIHN0cmljdCc7dmFyIG4scD0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93PT09dGhpcz90aGlzOiJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsJiZudWxsIT1nbG9iYWw/Z2xvYmFsOnRoaXMsYWE9ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzP09iamVjdC5kZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbihhLGIsYyl7YSE9QXJyYXkucHJvdG90eXBlJiZhIT1PYmplY3QucHJvdG90eXBlJiYoYVtiXT1jLnZhbHVlKX07ZnVuY3Rpb24gYmEoKXtiYT1mdW5jdGlvbigpe307cC5TeW1ib2x8fChwLlN5bWJvbD1jYSl9dmFyIGNhPWZ1bmN0aW9uKCl7dmFyIGE9MDtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuImpzY29tcF9zeW1ib2xfIisoYnx8IiIpK2ErK319KCk7CmZ1bmN0aW9uIGRhKCl7YmEoKTt2YXIgYT1wLlN5bWJvbC5pdGVyYXRvcjthfHwoYT1wLlN5bWJvbC5pdGVyYXRvcj1wLlN5bWJvbCgiaXRlcmF0b3IiKSk7ImZ1bmN0aW9uIiE9dHlwZW9mIEFycmF5LnByb3RvdHlwZVthXSYmYWEoQXJyYXkucHJvdG90eXBlLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBlYSh0aGlzKX19KTtkYT1mdW5jdGlvbigpe319ZnVuY3Rpb24gZWEoYSl7dmFyIGI9MDtyZXR1cm4gZmEoZnVuY3Rpb24oKXtyZXR1cm4gYjxhLmxlbmd0aD97ZG9uZTohMSx2YWx1ZTphW2IrK119Ontkb25lOiEwfX0pfWZ1bmN0aW9uIGZhKGEpe2RhKCk7YT17bmV4dDphfTthW3AuU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTtyZXR1cm4gYX1mdW5jdGlvbiBpYShhKXtkYSgpO3ZhciBiPWFbU3ltYm9sLml0ZXJhdG9yXTtyZXR1cm4gYj9iLmNhbGwoYSk6ZWEoYSl9CmZ1bmN0aW9uIGphKGEpe2Zvcih2YXIgYixjPVtdOyEoYj1hLm5leHQoKSkuZG9uZTspYy5wdXNoKGIudmFsdWUpO3JldHVybiBjfQooZnVuY3Rpb24oKXtpZighZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTthLmluaXRFdmVudCgiZm9vIiwhMCwhMCk7YS5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBhLmRlZmF1bHRQcmV2ZW50ZWR9KCkpe3ZhciBhPUV2ZW50LnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdDtFdmVudC5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbGFibGUmJihhLmNhbGwodGhpcyksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImRlZmF1bHRQcmV2ZW50ZWQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sY29uZmlndXJhYmxlOiEwfSkpfX12YXIgYj0vVHJpZGVudC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtpZighd2luZG93LkN1c3RvbUV2ZW50fHxiJiYiZnVuY3Rpb24iIT09dHlwZW9mIHdpbmRvdy5DdXN0b21FdmVudCl3aW5kb3cuQ3VzdG9tRXZlbnQ9ZnVuY3Rpb24oYSxiKXtiPWJ8fHt9O3ZhciBjPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJDdXN0b21FdmVudCIpOwpjLmluaXRDdXN0b21FdmVudChhLCEhYi5idWJibGVzLCEhYi5jYW5jZWxhYmxlLGIuZGV0YWlsKTtyZXR1cm4gY30sd2luZG93LkN1c3RvbUV2ZW50LnByb3RvdHlwZT13aW5kb3cuRXZlbnQucHJvdG90eXBlO2lmKCF3aW5kb3cuRXZlbnR8fGImJiJmdW5jdGlvbiIhPT10eXBlb2Ygd2luZG93LkV2ZW50KXt2YXIgYz13aW5kb3cuRXZlbnQ7d2luZG93LkV2ZW50PWZ1bmN0aW9uKGEsYil7Yj1ifHx7fTt2YXIgYz1kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTtjLmluaXRFdmVudChhLCEhYi5idWJibGVzLCEhYi5jYW5jZWxhYmxlKTtyZXR1cm4gY307aWYoYylmb3IodmFyIGQgaW4gYyl3aW5kb3cuRXZlbnRbZF09Y1tkXTt3aW5kb3cuRXZlbnQucHJvdG90eXBlPWMucHJvdG90eXBlfWlmKCF3aW5kb3cuTW91c2VFdmVudHx8YiYmImZ1bmN0aW9uIiE9PXR5cGVvZiB3aW5kb3cuTW91c2VFdmVudCl7Yj13aW5kb3cuTW91c2VFdmVudDt3aW5kb3cuTW91c2VFdmVudD1mdW5jdGlvbihhLApiKXtiPWJ8fHt9O3ZhciBjPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJNb3VzZUV2ZW50Iik7Yy5pbml0TW91c2VFdmVudChhLCEhYi5idWJibGVzLCEhYi5jYW5jZWxhYmxlLGIudmlld3x8d2luZG93LGIuZGV0YWlsLGIuc2NyZWVuWCxiLnNjcmVlblksYi5jbGllbnRYLGIuY2xpZW50WSxiLmN0cmxLZXksYi5hbHRLZXksYi5zaGlmdEtleSxiLm1ldGFLZXksYi5idXR0b24sYi5yZWxhdGVkVGFyZ2V0KTtyZXR1cm4gY307aWYoYilmb3IoZCBpbiBiKXdpbmRvdy5Nb3VzZUV2ZW50W2RdPWJbZF07d2luZG93Lk1vdXNlRXZlbnQucHJvdG90eXBlPWIucHJvdG90eXBlfUFycmF5LmZyb218fChBcnJheS5mcm9tPWZ1bmN0aW9uKGEpe3JldHVybltdLnNsaWNlLmNhbGwoYSl9KTtPYmplY3QuYXNzaWdufHwoT2JqZWN0LmFzc2lnbj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxkPTAsZTtkPGMubGVuZ3RoO2QrKylpZihlPWNbZF0pZm9yKHZhciBmPQphLG09ZSxxPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG0pLHg9MDt4PHEubGVuZ3RoO3grKyllPXFbeF0sZltlXT1tW2VdO3JldHVybiBhfSl9KSh3aW5kb3cuV2ViQ29tcG9uZW50cyk7KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe31mdW5jdGlvbiBiKGEsYil7aWYoIWEuY2hpbGROb2Rlcy5sZW5ndGgpcmV0dXJuW107c3dpdGNoKGEubm9kZVR5cGUpe2Nhc2UgTm9kZS5ET0NVTUVOVF9OT0RFOnJldHVybiB1YS5jYWxsKGEsYik7Y2FzZSBOb2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU6cmV0dXJuIGxiLmNhbGwoYSxiKTtkZWZhdWx0OnJldHVybiBVLmNhbGwoYSxiKX19dmFyIGM9InVuZGVmaW5lZCI9PT10eXBlb2YgSFRNTFRlbXBsYXRlRWxlbWVudCxkPSEoZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLmNsb25lTm9kZSgpaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KSxlPSExOy9UcmlkZW50Ly50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpJiZmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYSxiKXtpZihhIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudClmb3IodmFyIGQ7ZD1hLmZpcnN0Q2hpbGQ7KWMuY2FsbCh0aGlzLGQsYik7ZWxzZSBjLmNhbGwodGhpcywKYSxiKTtyZXR1cm4gYX1lPSEwO3ZhciBiPU5vZGUucHJvdG90eXBlLmNsb25lTm9kZTtOb2RlLnByb3RvdHlwZS5jbG9uZU5vZGU9ZnVuY3Rpb24oYSl7YT1iLmNhbGwodGhpcyxhKTt0aGlzIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCYmKGEuX19wcm90b19fPURvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlKTtyZXR1cm4gYX07RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUucXVlcnlTZWxlY3RvckFsbD1IVE1MRWxlbWVudC5wcm90b3R5cGUucXVlcnlTZWxlY3RvckFsbDtEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yPUhUTUxFbGVtZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKERvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlLHtub2RlVHlwZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERX0sY29uZmlndXJhYmxlOiEwfSxsb2NhbE5hbWU6e2dldDpmdW5jdGlvbigpe30sCmNvbmZpZ3VyYWJsZTohMH0sbm9kZU5hbWU6e2dldDpmdW5jdGlvbigpe3JldHVybiIjZG9jdW1lbnQtZnJhZ21lbnQifSxjb25maWd1cmFibGU6ITB9fSk7dmFyIGM9Tm9kZS5wcm90b3R5cGUuaW5zZXJ0QmVmb3JlO05vZGUucHJvdG90eXBlLmluc2VydEJlZm9yZT1hO3ZhciBkPU5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkO05vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkPWZ1bmN0aW9uKGIpe2IgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50P2EuY2FsbCh0aGlzLGIsbnVsbCk6ZC5jYWxsKHRoaXMsYik7cmV0dXJuIGJ9O3ZhciBmPU5vZGUucHJvdG90eXBlLnJlbW92ZUNoaWxkLGc9Tm9kZS5wcm90b3R5cGUucmVwbGFjZUNoaWxkO05vZGUucHJvdG90eXBlLnJlcGxhY2VDaGlsZD1mdW5jdGlvbihiLGMpe2IgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50PyhhLmNhbGwodGhpcyxiLGMpLGYuY2FsbCh0aGlzLGMpKTpnLmNhbGwodGhpcyxiLGMpO3JldHVybiBjfTtEb2N1bWVudC5wcm90b3R5cGUuY3JlYXRlRG9jdW1lbnRGcmFnbWVudD0KZnVuY3Rpb24oKXt2YXIgYT10aGlzLmNyZWF0ZUVsZW1lbnQoImRmIik7YS5fX3Byb3RvX189RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGU7cmV0dXJuIGF9O3ZhciBoPURvY3VtZW50LnByb3RvdHlwZS5pbXBvcnROb2RlO0RvY3VtZW50LnByb3RvdHlwZS5pbXBvcnROb2RlPWZ1bmN0aW9uKGEsYil7Yj1oLmNhbGwodGhpcyxhLGJ8fCExKTthIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCYmKGIuX19wcm90b19fPURvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlKTtyZXR1cm4gYn19KCk7dmFyIGY9Tm9kZS5wcm90b3R5cGUuY2xvbmVOb2RlLGc9RG9jdW1lbnQucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQsaD1Eb2N1bWVudC5wcm90b3R5cGUuaW1wb3J0Tm9kZSxrPU5vZGUucHJvdG90eXBlLnJlbW92ZUNoaWxkLGw9Tm9kZS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQsbT1Ob2RlLnByb3RvdHlwZS5yZXBsYWNlQ2hpbGQscT1ET01QYXJzZXIucHJvdG90eXBlLnBhcnNlRnJvbVN0cmluZywKeD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdy5IVE1MRWxlbWVudC5wcm90b3R5cGUsImlubmVySFRNTCIpfHx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5uZXJIVE1MfSxzZXQ6ZnVuY3Rpb24oYSl7dGhpcy5pbm5lckhUTUw9YX19LE09T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cuTm9kZS5wcm90b3R5cGUsImNoaWxkTm9kZXMiKXx8e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNoaWxkTm9kZXN9fSxVPUVsZW1lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3JBbGwsdWE9RG9jdW1lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3JBbGwsbGI9RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUucXVlcnlTZWxlY3RvckFsbCxtYj1mdW5jdGlvbigpe2lmKCFjKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIpLGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtiLmNvbnRlbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwphLmNvbnRlbnQuYXBwZW5kQ2hpbGQoYik7YT1hLmNsb25lTm9kZSghMCk7cmV0dXJuIDA9PT1hLmNvbnRlbnQuY2hpbGROb2Rlcy5sZW5ndGh8fDA9PT1hLmNvbnRlbnQuZmlyc3RDaGlsZC5jb250ZW50LmNoaWxkTm9kZXMubGVuZ3RofHxkfX0oKTtpZihjKXt2YXIgUz1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoInRlbXBsYXRlIiksQz0hMCxWPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7Vi50ZXh0Q29udGVudD0idGVtcGxhdGV7ZGlzcGxheTpub25lO30iO3ZhciBoYT1kb2N1bWVudC5oZWFkO2hhLmluc2VydEJlZm9yZShWLGhhLmZpcnN0RWxlbWVudENoaWxkKTthLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEhUTUxFbGVtZW50LnByb3RvdHlwZSk7dmFyIHZhPSFkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5oYXNPd25Qcm9wZXJ0eSgiaW5uZXJIVE1MIik7YS5HPWZ1bmN0aW9uKGIpe2lmKCFiLmNvbnRlbnQmJmIubmFtZXNwYWNlVVJJPT09CmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5uYW1lc3BhY2VVUkkpe2IuY29udGVudD1TLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtmb3IodmFyIGM7Yz1iLmZpcnN0Q2hpbGQ7KWwuY2FsbChiLmNvbnRlbnQsYyk7aWYodmEpYi5fX3Byb3RvX189YS5wcm90b3R5cGU7ZWxzZSBpZihiLmNsb25lTm9kZT1mdW5jdGlvbihiKXtyZXR1cm4gYS5hKHRoaXMsYil9LEMpdHJ5e1AoYiksVyhiKX1jYXRjaChUZyl7Qz0hMX1hLkMoYi5jb250ZW50KX19O3ZhciBYPXtvcHRpb246WyJzZWxlY3QiXSx0aGVhZDpbInRhYmxlIl0sY29sOlsiY29sZ3JvdXAiLCJ0YWJsZSJdLHRyOlsidGJvZHkiLCJ0YWJsZSJdLHRoOlsidHIiLCJ0Ym9keSIsInRhYmxlIl0sdGQ6WyJ0ciIsInRib2R5IiwidGFibGUiXX0sUD1mdW5jdGlvbihiKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoYiwiaW5uZXJIVE1MIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG5iKHRoaXMpfSxzZXQ6ZnVuY3Rpb24oYil7dmFyIGM9WFsoLzwoW2Etel1bXi9cMD5ceDIwXHRcclxuXGZdKykvaS5leGVjKGIpfHwKWyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV07aWYoYylmb3IodmFyIGQ9MDtkPGMubGVuZ3RoO2QrKyliPSI8IitjW2RdKyI+IitiKyI8LyIrY1tkXSsiPiI7Uy5ib2R5LmlubmVySFRNTD1iO2ZvcihhLkMoUyk7dGhpcy5jb250ZW50LmZpcnN0Q2hpbGQ7KWsuY2FsbCh0aGlzLmNvbnRlbnQsdGhpcy5jb250ZW50LmZpcnN0Q2hpbGQpO2I9Uy5ib2R5O2lmKGMpZm9yKGQ9MDtkPGMubGVuZ3RoO2QrKyliPWIubGFzdENoaWxkO2Zvcig7Yi5maXJzdENoaWxkOylsLmNhbGwodGhpcy5jb250ZW50LGIuZmlyc3RDaGlsZCl9LGNvbmZpZ3VyYWJsZTohMH0pfSxXPWZ1bmN0aW9uKGEpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJvdXRlckhUTUwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iPHRlbXBsYXRlPiIrdGhpcy5pbm5lckhUTUwrIjwvdGVtcGxhdGU+In0sc2V0OmZ1bmN0aW9uKGEpe2lmKHRoaXMucGFyZW50Tm9kZSl7Uy5ib2R5LmlubmVySFRNTD1hO2ZvcihhPXRoaXMub3duZXJEb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Uy5ib2R5LmZpcnN0Q2hpbGQ7KWwuY2FsbChhLApTLmJvZHkuZmlyc3RDaGlsZCk7bS5jYWxsKHRoaXMucGFyZW50Tm9kZSxhLHRoaXMpfWVsc2UgdGhyb3cgRXJyb3IoIkZhaWxlZCB0byBzZXQgdGhlICdvdXRlckhUTUwnIHByb3BlcnR5IG9uICdFbGVtZW50JzogVGhpcyBlbGVtZW50IGhhcyBubyBwYXJlbnQgbm9kZS4iKTt9LGNvbmZpZ3VyYWJsZTohMH0pfTtQKGEucHJvdG90eXBlKTtXKGEucHJvdG90eXBlKTthLkM9ZnVuY3Rpb24oYyl7Yz1iKGMsInRlbXBsYXRlIik7Zm9yKHZhciBkPTAsZT1jLmxlbmd0aCxmO2Q8ZSYmKGY9Y1tkXSk7ZCsrKWEuRyhmKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZnVuY3Rpb24oKXthLkMoZG9jdW1lbnQpfSk7RG9jdW1lbnQucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oKXt2YXIgYj1nLmFwcGx5KHRoaXMsYXJndW1lbnRzKTsidGVtcGxhdGUiPT09Yi5sb2NhbE5hbWUmJmEuRyhiKTtyZXR1cm4gYn07RE9NUGFyc2VyLnByb3RvdHlwZS5wYXJzZUZyb21TdHJpbmc9CmZ1bmN0aW9uKCl7dmFyIGI9cS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YS5DKGIpO3JldHVybiBifTtPYmplY3QuZGVmaW5lUHJvcGVydHkoSFRNTEVsZW1lbnQucHJvdG90eXBlLCJpbm5lckhUTUwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbmIodGhpcyl9LHNldDpmdW5jdGlvbihiKXt4LnNldC5jYWxsKHRoaXMsYik7YS5DKHRoaXMpfSxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH0pO3ZhciBWZT0vWyZcdTAwQTAiXS9nLHljPS9bJlx1MDBBMDw+XS9nLHpjPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICImIjpyZXR1cm4iJmFtcDsiO2Nhc2UgIjwiOnJldHVybiImbHQ7IjtjYXNlICI+IjpyZXR1cm4iJmd0OyI7Y2FzZSAnIic6cmV0dXJuIiZxdW90OyI7Y2FzZSAiXHUwMGEwIjpyZXR1cm4iJm5ic3A7In19O1Y9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9MDtjPGEubGVuZ3RoO2MrKyliW2FbY11dPSEwO3JldHVybiBifTt2YXIgV2U9VigiYXJlYSBiYXNlIGJyIGNvbCBjb21tYW5kIGVtYmVkIGhyIGltZyBpbnB1dCBrZXlnZW4gbGluayBtZXRhIHBhcmFtIHNvdXJjZSB0cmFjayB3YnIiLnNwbGl0KCIgIikpLApYZT1WKCJzdHlsZSBzY3JpcHQgeG1wIGlmcmFtZSBub2VtYmVkIG5vZnJhbWVzIHBsYWludGV4dCBub3NjcmlwdCIuc3BsaXQoIiAiKSksbmI9ZnVuY3Rpb24oYSxiKXsidGVtcGxhdGUiPT09YS5sb2NhbE5hbWUmJihhPWEuY29udGVudCk7Zm9yKHZhciBjPSIiLGQ9Yj9iKGEpOk0uZ2V0LmNhbGwoYSksZT0wLGY9ZC5sZW5ndGgsZztlPGYmJihnPWRbZV0pO2UrKyl7YTp7dmFyIGg9Zzt2YXIgaz1hO3ZhciBsPWI7c3dpdGNoKGgubm9kZVR5cGUpe2Nhc2UgTm9kZS5FTEVNRU5UX05PREU6Zm9yKHZhciBQPWgubG9jYWxOYW1lLG09IjwiK1AsVz1oLmF0dHJpYnV0ZXMscT0wO2s9V1txXTtxKyspbSs9IiAiK2submFtZSsnPSInK2sudmFsdWUucmVwbGFjZShWZSx6YykrJyInO20rPSI+IjtoPVdlW1BdP206bStuYihoLGwpKyI8LyIrUCsiPiI7YnJlYWsgYTtjYXNlIE5vZGUuVEVYVF9OT0RFOmg9aC5kYXRhO2g9ayYmWGVbay5sb2NhbE5hbWVdP2g6aC5yZXBsYWNlKHljLHpjKTticmVhayBhOwpjYXNlIE5vZGUuQ09NTUVOVF9OT0RFOmg9Ilx4M2MhLS0iK2guZGF0YSsiLS1ceDNlIjticmVhayBhO2RlZmF1bHQ6dGhyb3cgd2luZG93LmNvbnNvbGUuZXJyb3IoaCksRXJyb3IoIm5vdCBpbXBsZW1lbnRlZCIpO319Yys9aH1yZXR1cm4gY319aWYoY3x8bWIpe2EuYT1mdW5jdGlvbihhLGIpe3ZhciBjPWYuY2FsbChhLCExKTt0aGlzLkcmJnRoaXMuRyhjKTtiJiYobC5jYWxsKGMuY29udGVudCxmLmNhbGwoYS5jb250ZW50LCEwKSksb2IoYy5jb250ZW50LGEuY29udGVudCkpO3JldHVybiBjfTt2YXIgb2I9ZnVuY3Rpb24oYyxkKXtpZihkLnF1ZXJ5U2VsZWN0b3JBbGwmJihkPWIoZCwidGVtcGxhdGUiKSwwIT09ZC5sZW5ndGgpKXtjPWIoYywidGVtcGxhdGUiKTtmb3IodmFyIGU9MCxmPWMubGVuZ3RoLGcsaDtlPGY7ZSsrKWg9ZFtlXSxnPWNbZV0sYSYmYS5HJiZhLkcoaCksbS5jYWxsKGcucGFyZW50Tm9kZSxZZS5jYWxsKGgsITApLGcpfX0sWWU9Tm9kZS5wcm90b3R5cGUuY2xvbmVOb2RlPQpmdW5jdGlvbihiKXtpZighZSYmZCYmdGhpcyBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQpaWYoYil2YXIgYz1aZS5jYWxsKHRoaXMub3duZXJEb2N1bWVudCx0aGlzLCEwKTtlbHNlIHJldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2Vsc2UgdGhpcy5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiYidGVtcGxhdGUiPT09dGhpcy5sb2NhbE5hbWUmJnRoaXMubmFtZXNwYWNlVVJJPT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJP2M9YS5hKHRoaXMsYik6Yz1mLmNhbGwodGhpcyxiKTtiJiZvYihjLHRoaXMpO3JldHVybiBjfSxaZT1Eb2N1bWVudC5wcm90b3R5cGUuaW1wb3J0Tm9kZT1mdW5jdGlvbihjLGQpe2Q9ZHx8ITE7aWYoInRlbXBsYXRlIj09PWMubG9jYWxOYW1lKXJldHVybiBhLmEoYyxkKTt2YXIgZT1oLmNhbGwodGhpcyxjLGQpO2lmKGQpe29iKGUsYyk7Yz1iKGUsJ3NjcmlwdDpub3QoW3R5cGVdKSxzY3JpcHRbdHlwZT0iYXBwbGljYXRpb24vamF2YXNjcmlwdCJdLHNjcmlwdFt0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiXScpOwpmb3IodmFyIGYsaz0wO2s8Yy5sZW5ndGg7aysrKXtmPWNba107ZD1nLmNhbGwoZG9jdW1lbnQsInNjcmlwdCIpO2QudGV4dENvbnRlbnQ9Zi50ZXh0Q29udGVudDtmb3IodmFyIGw9Zi5hdHRyaWJ1dGVzLFA9MCxXO1A8bC5sZW5ndGg7UCsrKVc9bFtQXSxkLnNldEF0dHJpYnV0ZShXLm5hbWUsVy52YWx1ZSk7bS5jYWxsKGYucGFyZW50Tm9kZSxkLGYpfX1yZXR1cm4gZX19YyYmKHdpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50PWEpfSkoKTt2YXIga2E9c2V0VGltZW91dDtmdW5jdGlvbiBsYSgpe31mdW5jdGlvbiBtYShhLGIpe3JldHVybiBmdW5jdGlvbigpe2EuYXBwbHkoYixhcmd1bWVudHMpfX1mdW5jdGlvbiByKGEpe2lmKCEodGhpcyBpbnN0YW5jZW9mIHIpKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2VzIG11c3QgYmUgY29uc3RydWN0ZWQgdmlhIG5ldyIpO2lmKCJmdW5jdGlvbiIhPT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJub3QgYSBmdW5jdGlvbiIpO3RoaXMudT0wO3RoaXMubWE9ITE7dGhpcy5oPXZvaWQgMDt0aGlzLkk9W107bmEoYSx0aGlzKX0KZnVuY3Rpb24gb2EoYSxiKXtmb3IoOzM9PT1hLnU7KWE9YS5oOzA9PT1hLnU/YS5JLnB1c2goYik6KGEubWE9ITAscGEoZnVuY3Rpb24oKXt2YXIgYz0xPT09YS51P2IuTmE6Yi5PYTtpZihudWxsPT09YykoMT09PWEudT9xYTpyYSkoYi5nYSxhLmgpO2Vsc2V7dHJ5e3ZhciBkPWMoYS5oKX1jYXRjaChlKXtyYShiLmdhLGUpO3JldHVybn1xYShiLmdhLGQpfX0pKX1mdW5jdGlvbiBxYShhLGIpe3RyeXtpZihiPT09YSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBIHByb21pc2UgY2Fubm90IGJlIHJlc29sdmVkIHdpdGggaXRzZWxmLiIpO2lmKGImJigib2JqZWN0Ij09PXR5cGVvZiBifHwiZnVuY3Rpb24iPT09dHlwZW9mIGIpKXt2YXIgYz1iLnRoZW47aWYoYiBpbnN0YW5jZW9mIHIpe2EudT0zO2EuaD1iO3NhKGEpO3JldHVybn1pZigiZnVuY3Rpb24iPT09dHlwZW9mIGMpe25hKG1hKGMsYiksYSk7cmV0dXJufX1hLnU9MTthLmg9YjtzYShhKX1jYXRjaChkKXtyYShhLGQpfX0KZnVuY3Rpb24gcmEoYSxiKXthLnU9MjthLmg9YjtzYShhKX1mdW5jdGlvbiBzYShhKXsyPT09YS51JiYwPT09YS5JLmxlbmd0aCYmcGEoZnVuY3Rpb24oKXthLm1hfHwidW5kZWZpbmVkIiE9PXR5cGVvZiBjb25zb2xlJiZjb25zb2xlJiZjb25zb2xlLndhcm4oIlBvc3NpYmxlIFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjoiLGEuaCl9KTtmb3IodmFyIGI9MCxjPWEuSS5sZW5ndGg7YjxjO2IrKylvYShhLGEuSVtiXSk7YS5JPW51bGx9ZnVuY3Rpb24gdGEoYSxiLGMpe3RoaXMuTmE9ImZ1bmN0aW9uIj09PXR5cGVvZiBhP2E6bnVsbDt0aGlzLk9hPSJmdW5jdGlvbiI9PT10eXBlb2YgYj9iOm51bGw7dGhpcy5nYT1jfWZ1bmN0aW9uIG5hKGEsYil7dmFyIGM9ITE7dHJ5e2EoZnVuY3Rpb24oYSl7Y3x8KGM9ITAscWEoYixhKSl9LGZ1bmN0aW9uKGEpe2N8fChjPSEwLHJhKGIsYSkpfSl9Y2F0Y2goZCl7Y3x8KGM9ITAscmEoYixkKSl9fQpyLnByb3RvdHlwZVsiY2F0Y2giXT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy50aGVuKG51bGwsYSl9O3IucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgdGhpcy5jb25zdHJ1Y3RvcihsYSk7b2EodGhpcyxuZXcgdGEoYSxiLGMpKTtyZXR1cm4gY307ci5wcm90b3R5cGVbImZpbmFsbHkiXT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLmNvbnN0cnVjdG9yO3JldHVybiB0aGlzLnRoZW4oZnVuY3Rpb24oYyl7cmV0dXJuIGIucmVzb2x2ZShhKCkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gY30pfSxmdW5jdGlvbihjKXtyZXR1cm4gYi5yZXNvbHZlKGEoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBiLnJlamVjdChjKX0pfSl9OwpmdW5jdGlvbiB3YShhKXtyZXR1cm4gbmV3IHIoZnVuY3Rpb24oYixjKXtmdW5jdGlvbiBkKGEsZyl7dHJ5e2lmKGcmJigib2JqZWN0Ij09PXR5cGVvZiBnfHwiZnVuY3Rpb24iPT09dHlwZW9mIGcpKXt2YXIgaD1nLnRoZW47aWYoImZ1bmN0aW9uIj09PXR5cGVvZiBoKXtoLmNhbGwoZyxmdW5jdGlvbihiKXtkKGEsYil9LGMpO3JldHVybn19ZVthXT1nOzA9PT0tLWYmJmIoZSl9Y2F0Y2gobSl7YyhtKX19aWYoIWF8fCJ1bmRlZmluZWQiPT09dHlwZW9mIGEubGVuZ3RoKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2UuYWxsIGFjY2VwdHMgYW4gYXJyYXkiKTt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhKTtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIGIoW10pO2Zvcih2YXIgZj1lLmxlbmd0aCxnPTA7ZzxlLmxlbmd0aDtnKyspZChnLGVbZ10pfSl9CmZ1bmN0aW9uIHhhKGEpe3JldHVybiBhJiYib2JqZWN0Ij09PXR5cGVvZiBhJiZhLmNvbnN0cnVjdG9yPT09cj9hOm5ldyByKGZ1bmN0aW9uKGIpe2IoYSl9KX1mdW5jdGlvbiB5YShhKXtyZXR1cm4gbmV3IHIoZnVuY3Rpb24oYixjKXtjKGEpfSl9ZnVuY3Rpb24gemEoYSl7cmV0dXJuIG5ldyByKGZ1bmN0aW9uKGIsYyl7Zm9yKHZhciBkPTAsZT1hLmxlbmd0aDtkPGU7ZCsrKWFbZF0udGhlbihiLGMpfSl9dmFyIHBhPSJmdW5jdGlvbiI9PT10eXBlb2Ygc2V0SW1tZWRpYXRlJiZmdW5jdGlvbihhKXtzZXRJbW1lZGlhdGUoYSl9fHxmdW5jdGlvbihhKXtrYShhLDApfTsvKgoKQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dApUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dApUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28Kc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKKi8KaWYoIXdpbmRvdy5Qcm9taXNlKXt3aW5kb3cuUHJvbWlzZT1yO3IucHJvdG90eXBlLnRoZW49ci5wcm90b3R5cGUudGhlbjtyLmFsbD13YTtyLnJhY2U9emE7ci5yZXNvbHZlPXhhO3IucmVqZWN0PXlhO3ZhciBBYT1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIiksQmE9W107KG5ldyBNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKCl7Zm9yKHZhciBhPUJhLmxlbmd0aCxiPTA7YjxhO2IrKylCYVtiXSgpO0JhLnNwbGljZSgwLGEpfSkpLm9ic2VydmUoQWEse2NoYXJhY3RlckRhdGE6ITB9KTtwYT1mdW5jdGlvbihhKXtCYS5wdXNoKGEpO0FhLnRleHRDb250ZW50PTA8QWEudGV4dENvbnRlbnQubGVuZ3RoPyIiOiJhIn19OyhmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGEsYil7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiB3aW5kb3cuQ3VzdG9tRXZlbnQpcmV0dXJuIG5ldyBDdXN0b21FdmVudChhLGIpO3ZhciBjPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJDdXN0b21FdmVudCIpO2MuaW5pdEN1c3RvbUV2ZW50KGEsISFiLmJ1YmJsZXMsISFiLmNhbmNlbGFibGUsYi5kZXRhaWwpO3JldHVybiBjfWZ1bmN0aW9uIGMoYSl7aWYoTSlyZXR1cm4gYS5vd25lckRvY3VtZW50IT09ZG9jdW1lbnQ/YS5vd25lckRvY3VtZW50Om51bGw7dmFyIGI9YS5fX2ltcG9ydERvYztpZighYiYmYS5wYXJlbnROb2RlKXtiPWEucGFyZW50Tm9kZTtpZigiZnVuY3Rpb24iPT09dHlwZW9mIGIuY2xvc2VzdCliPWIuY2xvc2VzdCgibGlua1tyZWw9aW1wb3J0XSIpO2Vsc2UgZm9yKDshaChiKSYmKGI9Yi5wYXJlbnROb2RlKTspO2EuX19pbXBvcnREb2M9Yn1yZXR1cm4gYn1mdW5jdGlvbiBkKGEpe3ZhciBiPW0oZG9jdW1lbnQsImxpbmtbcmVsPWltcG9ydF06bm90KFtpbXBvcnQtZGVwZW5kZW5jeV0pIiksCmM9Yi5sZW5ndGg7Yz9xKGIsZnVuY3Rpb24oYil7cmV0dXJuIGcoYixmdW5jdGlvbigpezA9PT0tLWMmJmEoKX0pfSk6YSgpfWZ1bmN0aW9uIGUoYSl7ZnVuY3Rpb24gYigpeyJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGUmJmRvY3VtZW50LmJvZHkmJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIixiKSxhKCkpfWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLGIpO2IoKX1mdW5jdGlvbiBmKGEpe2UoZnVuY3Rpb24oKXtyZXR1cm4gZChmdW5jdGlvbigpe3JldHVybiBhJiZhKCl9KX0pfWZ1bmN0aW9uIGcoYSxiKXtpZihhLl9fbG9hZGVkKWImJmIoKTtlbHNlIGlmKCJzY3JpcHQiPT09YS5sb2NhbE5hbWUmJiFhLnNyY3x8InN0eWxlIj09PWEubG9jYWxOYW1lJiYhYS5maXJzdENoaWxkKWEuX19sb2FkZWQ9ITAsYiYmYigpO2Vsc2V7dmFyIGM9ZnVuY3Rpb24oZCl7YS5yZW1vdmVFdmVudExpc3RlbmVyKGQudHlwZSwKYyk7YS5fX2xvYWRlZD0hMDtiJiZiKCl9O2EuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsYyk7aGEmJiJzdHlsZSI9PT1hLmxvY2FsTmFtZXx8YS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsYyl9fWZ1bmN0aW9uIGgoYSl7cmV0dXJuIGEubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmImxpbmsiPT09YS5sb2NhbE5hbWUmJiJpbXBvcnQiPT09YS5yZWx9ZnVuY3Rpb24gaygpe3ZhciBhPXRoaXM7dGhpcy5hPXt9O3RoaXMuYj0wO3RoaXMuYz1uZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbihiKXtyZXR1cm4gYS5KYShiKX0pO3RoaXMuYy5vYnNlcnZlKGRvY3VtZW50LmhlYWQse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSk7dGhpcy5sb2FkSW1wb3J0cyhkb2N1bWVudCl9ZnVuY3Rpb24gbChhKXtxKG0oYSwidGVtcGxhdGUiKSxmdW5jdGlvbihhKXtxKG0oYS5jb250ZW50LCdzY3JpcHQ6bm90KFt0eXBlXSksc2NyaXB0W3R5cGU9ImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiXSxzY3JpcHRbdHlwZT0idGV4dC9qYXZhc2NyaXB0Il0sc2NyaXB0W3R5cGU9Im1vZHVsZSJdJyksCmZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3EoYS5hdHRyaWJ1dGVzLGZ1bmN0aW9uKGEpe3JldHVybiBiLnNldEF0dHJpYnV0ZShhLm5hbWUsYS52YWx1ZSl9KTtiLnRleHRDb250ZW50PWEudGV4dENvbnRlbnQ7YS5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChiLGEpfSk7bChhLmNvbnRlbnQpfSl9ZnVuY3Rpb24gbShhLGIpe3JldHVybiBhLmNoaWxkTm9kZXMubGVuZ3RoP2EucXVlcnlTZWxlY3RvckFsbChiKTpVfWZ1bmN0aW9uIHEoYSxiLGMpe3ZhciBkPWE/YS5sZW5ndGg6MCxlPWM/LTE6MTtmb3IoYz1jP2QtMTowO2M8ZCYmMDw9YztjKz1lKWIoYVtjXSxjKX12YXIgeD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIiksTT0iaW1wb3J0ImluIHgsVT14LnF1ZXJ5U2VsZWN0b3JBbGwoIioiKSx1YT1udWxsOyExPT09ImN1cnJlbnRTY3JpcHQiaW4gZG9jdW1lbnQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShkb2N1bWVudCwiY3VycmVudFNjcmlwdCIsCntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdWF8fCgiY29tcGxldGUiIT09ZG9jdW1lbnQucmVhZHlTdGF0ZT9kb2N1bWVudC5zY3JpcHRzW2RvY3VtZW50LnNjcmlwdHMubGVuZ3RoLTFdOm51bGwpfSxjb25maWd1cmFibGU6ITB9KTt2YXIgbGI9Lyh1cmxcKCkoW14pXSopKFwpKS9nLG1iPS8oQGltcG9ydFtcc10rKD8hdXJsXCgpKShbXjtdKikoOykvZyxTPS8oPGxpbmtbXj5dKikocmVsPVsnfCJdP3N0eWxlc2hlZXRbJ3wiXT9bXj5dKj4pL2csQz17RWE6ZnVuY3Rpb24oYSxiKXthLmhyZWYmJmEuc2V0QXR0cmlidXRlKCJocmVmIixDLlgoYS5nZXRBdHRyaWJ1dGUoImhyZWYiKSxiKSk7YS5zcmMmJmEuc2V0QXR0cmlidXRlKCJzcmMiLEMuWChhLmdldEF0dHJpYnV0ZSgic3JjIiksYikpO2lmKCJzdHlsZSI9PT1hLmxvY2FsTmFtZSl7dmFyIGM9Qy5xYShhLnRleHRDb250ZW50LGIsbGIpO2EudGV4dENvbnRlbnQ9Qy5xYShjLGIsbWIpfX0scWE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLnJlcGxhY2UoYywKZnVuY3Rpb24oYSxjLGQsZSl7YT1kLnJlcGxhY2UoL1siJ10vZywiIik7YiYmKGE9Qy5YKGEsYikpO3JldHVybiBjKyInIithKyInIitlfSl9LFg6ZnVuY3Rpb24oYSxiKXtpZih2b2lkIDA9PT1DLmFhKXtDLmFhPSExO3RyeXt2YXIgYz1uZXcgVVJMKCJiIiwiaHR0cDovL2EiKTtjLnBhdGhuYW1lPSJjJTIwZCI7Qy5hYT0iaHR0cDovL2EvYyUyMGQiPT09Yy5ocmVmfWNhdGNoKHljKXt9fWlmKEMuYWEpcmV0dXJuKG5ldyBVUkwoYSxiKSkuaHJlZjtjPUMueGE7Y3x8KGM9ZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCJ0ZW1wIiksQy54YT1jLGMuamE9Yy5jcmVhdGVFbGVtZW50KCJiYXNlIiksYy5oZWFkLmFwcGVuZENoaWxkKGMuamEpLGMuaWE9Yy5jcmVhdGVFbGVtZW50KCJhIikpO2MuamEuaHJlZj1iO2MuaWEuaHJlZj1hO3JldHVybiBjLmlhLmhyZWZ8fGF9fSxWPXthc3luYzohMCxsb2FkOmZ1bmN0aW9uKGEsYixjKXtpZihhKWlmKGEubWF0Y2goL15kYXRhOi8pKXthPQphLnNwbGl0KCIsIik7dmFyIGQ9YVsxXTtkPS0xPGFbMF0uaW5kZXhPZigiO2Jhc2U2NCIpP2F0b2IoZCk6ZGVjb2RlVVJJQ29tcG9uZW50KGQpO2IoZCl9ZWxzZXt2YXIgZT1uZXcgWE1MSHR0cFJlcXVlc3Q7ZS5vcGVuKCJHRVQiLGEsVi5hc3luYyk7ZS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgYT1lLnJlc3BvbnNlVVJMfHxlLmdldFJlc3BvbnNlSGVhZGVyKCJMb2NhdGlvbiIpO2EmJjA9PT1hLmluZGV4T2YoIi8iKSYmKGE9KGxvY2F0aW9uLm9yaWdpbnx8bG9jYXRpb24ucHJvdG9jb2wrIi8vIitsb2NhdGlvbi5ob3N0KSthKTt2YXIgZD1lLnJlc3BvbnNlfHxlLnJlc3BvbnNlVGV4dDszMDQ9PT1lLnN0YXR1c3x8MD09PWUuc3RhdHVzfHwyMDA8PWUuc3RhdHVzJiYzMDA+ZS5zdGF0dXM/YihkLGEpOmMoZCl9O2Uuc2VuZCgpfWVsc2UgYygiZXJyb3I6IGhyZWYgbXVzdCBiZSBzcGVjaWZpZWQiKX19LGhhPS9UcmlkZW50Ly50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfHwvRWRnZVwvXGQuL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTsKay5wcm90b3R5cGUubG9hZEltcG9ydHM9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpczthPW0oYSwibGlua1tyZWw9aW1wb3J0XSIpO3EoYSxmdW5jdGlvbihhKXtyZXR1cm4gYi5nKGEpfSl9O2sucHJvdG90eXBlLmc9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPWEuaHJlZjtpZih2b2lkIDAhPT10aGlzLmFbY10pe3ZhciBkPXRoaXMuYVtjXTtkJiZkLl9fbG9hZGVkJiYoYS5fX2ltcG9ydD1kLHRoaXMuZihhKSl9ZWxzZSB0aGlzLmIrKyx0aGlzLmFbY109InBlbmRpbmciLFYubG9hZChjLGZ1bmN0aW9uKGEsZCl7YT1iLkthKGEsZHx8Yyk7Yi5hW2NdPWE7Yi5iLS07Yi5sb2FkSW1wb3J0cyhhKTtiLmwoKX0sZnVuY3Rpb24oKXtiLmFbY109bnVsbDtiLmItLTtiLmwoKX0pfTtrLnByb3RvdHlwZS5LYT1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7aGEmJihhPWEucmVwbGFjZShTLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4tMT09PQphLmluZGV4T2YoInR5cGU9Iik/YisiIHR5cGU9aW1wb3J0LWRpc2FibGUgIitjOmF9KSk7dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtjLmlubmVySFRNTD1hO2lmKGMuY29udGVudClhPWMuY29udGVudCxsKGEpO2Vsc2UgZm9yKGE9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2MuZmlyc3RDaGlsZDspYS5hcHBlbmRDaGlsZChjLmZpcnN0Q2hpbGQpO2lmKGM9YS5xdWVyeVNlbGVjdG9yKCJiYXNlIikpYj1DLlgoYy5nZXRBdHRyaWJ1dGUoImhyZWYiKSxiKSxjLnJlbW92ZUF0dHJpYnV0ZSgiaHJlZiIpO2M9bShhLCdsaW5rW3JlbD1pbXBvcnRdLGxpbmtbcmVsPXN0eWxlc2hlZXRdW2hyZWZdW3R5cGU9aW1wb3J0LWRpc2FibGVdLHN0eWxlOm5vdChbdHlwZV0pLGxpbmtbcmVsPXN0eWxlc2hlZXRdW2hyZWZdOm5vdChbdHlwZV0pLHNjcmlwdDpub3QoW3R5cGVdKSxzY3JpcHRbdHlwZT0iYXBwbGljYXRpb24vamF2YXNjcmlwdCJdLHNjcmlwdFt0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiXSxzY3JpcHRbdHlwZT0ibW9kdWxlIl0nKTsKdmFyIGQ9MDtxKGMsZnVuY3Rpb24oYSl7ZyhhKTtDLkVhKGEsYik7YS5zZXRBdHRyaWJ1dGUoImltcG9ydC1kZXBlbmRlbmN5IiwiIik7aWYoInNjcmlwdCI9PT1hLmxvY2FsTmFtZSYmIWEuc3JjJiZhLnRleHRDb250ZW50KXtpZigibW9kdWxlIj09PWEudHlwZSl0aHJvdyBFcnJvcigiSW5saW5lIG1vZHVsZSBzY3JpcHRzIGFyZSBub3Qgc3VwcG9ydGVkIGluIEhUTUwgSW1wb3J0cy4iKTthLnNldEF0dHJpYnV0ZSgic3JjIiwiZGF0YTp0ZXh0L2phdmFzY3JpcHQ7Y2hhcnNldD11dGYtOCwiK2VuY29kZVVSSUNvbXBvbmVudChhLnRleHRDb250ZW50KygiXG4vLyMgc291cmNlVVJMPSIrYisoZD8iLSIrZDoiIikrIi5qc1xuIikpKTthLnRleHRDb250ZW50PSIiO2QrK319KTtyZXR1cm4gYX07ay5wcm90b3R5cGUubD1mdW5jdGlvbigpe3ZhciBhPXRoaXM7aWYoIXRoaXMuYil7dGhpcy5jLmRpc2Nvbm5lY3QoKTt0aGlzLmZsYXR0ZW4oZG9jdW1lbnQpO3ZhciBiPSExLGM9ITEsZD1mdW5jdGlvbigpe2MmJgpiJiYoYS5sb2FkSW1wb3J0cyhkb2N1bWVudCksYS5ifHwoYS5jLm9ic2VydmUoZG9jdW1lbnQuaGVhZCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KSxhLmRhKCkpKX07dGhpcy5NYShmdW5jdGlvbigpe2M9ITA7ZCgpfSk7dGhpcy5MYShmdW5jdGlvbigpe2I9ITA7ZCgpfSl9fTtrLnByb3RvdHlwZS5mbGF0dGVuPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7YT1tKGEsImxpbmtbcmVsPWltcG9ydF0iKTtxKGEsZnVuY3Rpb24oYSl7dmFyIGM9Yi5hW2EuaHJlZl07KGEuX19pbXBvcnQ9YykmJmMubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUmJihiLmFbYS5ocmVmXT1hLGEucmVhZHlTdGF0ZT0ibG9hZGluZyIsYS5fX2ltcG9ydD1hLGIuZmxhdHRlbihjKSxhLmFwcGVuZENoaWxkKGMpKX0pfTtrLnByb3RvdHlwZS5MYT1mdW5jdGlvbihhKXtmdW5jdGlvbiBiKGUpe2lmKGU8ZCl7dmFyIGY9Y1tlXSxoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2YucmVtb3ZlQXR0cmlidXRlKCJpbXBvcnQtZGVwZW5kZW5jeSIpOwpxKGYuYXR0cmlidXRlcyxmdW5jdGlvbihhKXtyZXR1cm4gaC5zZXRBdHRyaWJ1dGUoYS5uYW1lLGEudmFsdWUpfSk7dWE9aDtmLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGgsZik7ZyhoLGZ1bmN0aW9uKCl7dWE9bnVsbDtiKGUrMSl9KX1lbHNlIGEoKX12YXIgYz1tKGRvY3VtZW50LCJzY3JpcHRbaW1wb3J0LWRlcGVuZGVuY3ldIiksZD1jLmxlbmd0aDtiKDApfTtrLnByb3RvdHlwZS5NYT1mdW5jdGlvbihhKXt2YXIgYj1tKGRvY3VtZW50LCJzdHlsZVtpbXBvcnQtZGVwZW5kZW5jeV0sbGlua1tyZWw9c3R5bGVzaGVldF1baW1wb3J0LWRlcGVuZGVuY3ldIiksZD1iLmxlbmd0aDtpZihkKXt2YXIgZT1oYSYmISFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJsaW5rW3JlbD1zdHlsZXNoZWV0XVtocmVmXVt0eXBlPWltcG9ydC1kaXNhYmxlXSIpO3EoYixmdW5jdGlvbihiKXtnKGIsZnVuY3Rpb24oKXtiLnJlbW92ZUF0dHJpYnV0ZSgiaW1wb3J0LWRlcGVuZGVuY3kiKTswPT09LS1kJiYKYSgpfSk7aWYoZSYmYi5wYXJlbnROb2RlIT09ZG9jdW1lbnQuaGVhZCl7dmFyIGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChiLmxvY2FsTmFtZSk7Zi5fX2FwcGxpZWRFbGVtZW50PWI7Zi5zZXRBdHRyaWJ1dGUoInR5cGUiLCJpbXBvcnQtcGxhY2Vob2xkZXIiKTtiLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGYsYi5uZXh0U2libGluZyk7Zm9yKGY9YyhiKTtmJiZjKGYpOylmPWMoZik7Zi5wYXJlbnROb2RlIT09ZG9jdW1lbnQuaGVhZCYmKGY9bnVsbCk7ZG9jdW1lbnQuaGVhZC5pbnNlcnRCZWZvcmUoYixmKTtiLnJlbW92ZUF0dHJpYnV0ZSgidHlwZSIpfX0pfWVsc2UgYSgpfTtrLnByb3RvdHlwZS5kYT1mdW5jdGlvbigpe3ZhciBhPXRoaXMsYj1tKGRvY3VtZW50LCJsaW5rW3JlbD1pbXBvcnRdIik7cShiLGZ1bmN0aW9uKGIpe3JldHVybiBhLmYoYil9LCEwKX07ay5wcm90b3R5cGUuZj1mdW5jdGlvbihhKXthLl9fbG9hZGVkfHwoYS5fX2xvYWRlZD0hMCxhLmltcG9ydCYmKGEuaW1wb3J0LnJlYWR5U3RhdGU9CiJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudChiKGEuaW1wb3J0PyJsb2FkIjoiZXJyb3IiLHtidWJibGVzOiExLGNhbmNlbGFibGU6ITEsZGV0YWlsOnZvaWQgMH0pKSl9O2sucHJvdG90eXBlLkphPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7cShhLGZ1bmN0aW9uKGEpe3JldHVybiBxKGEuYWRkZWROb2RlcyxmdW5jdGlvbihhKXthJiZhLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJihoKGEpP2IuZyhhKTpiLmxvYWRJbXBvcnRzKGEpKX0pfSl9O3ZhciB2YT1udWxsO2lmKE0peD1tKGRvY3VtZW50LCJsaW5rW3JlbD1pbXBvcnRdIikscSh4LGZ1bmN0aW9uKGEpe2EuaW1wb3J0JiYibG9hZGluZyI9PT1hLmltcG9ydC5yZWFkeVN0YXRlfHwoYS5fX2xvYWRlZD0hMCl9KSx4PWZ1bmN0aW9uKGEpe2E9YS50YXJnZXQ7aChhKSYmKGEuX19sb2FkZWQ9ITApfSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIix4LCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsCngsITApO2Vsc2V7dmFyIFg9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSwiYmFzZVVSSSIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgoIVh8fFguY29uZmlndXJhYmxlP05vZGU6RWxlbWVudCkucHJvdG90eXBlLCJiYXNlVVJJIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIGE9aCh0aGlzKT90aGlzOmModGhpcyk7cmV0dXJuIGE/YS5ocmVmOlgmJlguZ2V0P1guZ2V0LmNhbGwodGhpcyk6KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJhc2UiKXx8d2luZG93LmxvY2F0aW9uKS5ocmVmfSxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShIVE1MTGlua0VsZW1lbnQucHJvdG90eXBlLCJpbXBvcnQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fX2ltcG9ydHx8bnVsbH0sY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITB9KTtlKGZ1bmN0aW9uKCl7dmE9bmV3IGt9KX1mKGZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoYigiSFRNTEltcG9ydHNMb2FkZWQiLAp7Y2FuY2VsYWJsZTohMCxidWJibGVzOiEwLGRldGFpbDp2b2lkIDB9KSl9KTthLnVzZU5hdGl2ZT1NO2Eud2hlblJlYWR5PWY7YS5pbXBvcnRGb3JFbGVtZW50PWM7YS5sb2FkSW1wb3J0cz1mdW5jdGlvbihhKXt2YSYmdmEubG9hZEltcG9ydHMoYSl9fSkod2luZG93LkhUTUxJbXBvcnRzPXdpbmRvdy5IVE1MSW1wb3J0c3x8e30pOy8qCgogQ29weXJpZ2h0IChjKSAyMDE0IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAoqLwp3aW5kb3cuV2ViQ29tcG9uZW50cz13aW5kb3cuV2ViQ29tcG9uZW50c3x8e2ZsYWdzOnt9fTt2YXIgQ2E9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc2NyaXB0W3NyYyo9IndlYmNvbXBvbmVudHMtbGl0ZS5qcyJdJyksRGE9L3djLSguKykvLHQ9e307aWYoIXQubm9PcHRzKXtsb2NhdGlvbi5zZWFyY2guc2xpY2UoMSkuc3BsaXQoIiYiKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2E9YS5zcGxpdCgiPSIpO3ZhciBiO2FbMF0mJihiPWFbMF0ubWF0Y2goRGEpKSYmKHRbYlsxXV09YVsxXXx8ITApfSk7aWYoQ2EpZm9yKHZhciBFYT0wLEZhPXZvaWQgMDtGYT1DYS5hdHRyaWJ1dGVzW0VhXTtFYSsrKSJzcmMiIT09RmEubmFtZSYmKHRbRmEubmFtZV09RmEudmFsdWV8fCEwKTtpZih0LmxvZyYmdC5sb2cuc3BsaXQpe3ZhciBHYT10LmxvZy5zcGxpdCgiLCIpO3QubG9nPXt9O0dhLmZvckVhY2goZnVuY3Rpb24oYSl7dC5sb2dbYV09ITB9KX1lbHNlIHQubG9nPXt9fQp3aW5kb3cuV2ViQ29tcG9uZW50cy5mbGFncz10O3ZhciBIYT10LnNoYWR5ZG9tO0hhJiYod2luZG93LlNoYWR5RE9NPXdpbmRvdy5TaGFkeURPTXx8e30sd2luZG93LlNoYWR5RE9NLmZvcmNlPUhhKTt2YXIgSWE9dC5yZWdpc3Rlcnx8dC5jZTtJYSYmd2luZG93LmN1c3RvbUVsZW1lbnRzJiYod2luZG93LmN1c3RvbUVsZW1lbnRzLmZvcmNlUG9seWZpbGw9SWEpOy8qCgpDb3B5cmlnaHQgKGMpIDIwMTYgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0ClRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0ClRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dApDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwpzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAoqLwpmdW5jdGlvbiBKYSgpe3RoaXMucGE9dGhpcy5yb290PW51bGw7dGhpcy5UPSExO3RoaXMuRD10aGlzLlA9dGhpcy5jYT10aGlzLmFzc2lnbmVkU2xvdD10aGlzLmFzc2lnbmVkTm9kZXM9dGhpcy5IPW51bGw7dGhpcy5jaGlsZE5vZGVzPXRoaXMubmV4dFNpYmxpbmc9dGhpcy5wcmV2aW91c1NpYmxpbmc9dGhpcy5sYXN0Q2hpbGQ9dGhpcy5maXJzdENoaWxkPXRoaXMucGFyZW50Tm9kZT10aGlzLks9dm9pZCAwO3RoaXMua2E9dGhpcy5sYT0hMTt0aGlzLk89e319SmEucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnt9fTtmdW5jdGlvbiB1KGEpe2EuX19zaGFkeXx8KGEuX19zaGFkeT1uZXcgSmEpO3JldHVybiBhLl9fc2hhZHl9ZnVuY3Rpb24gdihhKXtyZXR1cm4gYSYmYS5fX3NoYWR5fTt2YXIgdz13aW5kb3cuU2hhZHlET018fHt9O3cuR2E9ISghRWxlbWVudC5wcm90b3R5cGUuYXR0YWNoU2hhZG93fHwhTm9kZS5wcm90b3R5cGUuZ2V0Um9vdE5vZGUpO3ZhciBLYT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE5vZGUucHJvdG90eXBlLCJmaXJzdENoaWxkIik7dy5tPSEhKEthJiZLYS5jb25maWd1cmFibGUmJkthLmdldCk7dy5lYT13LmZvcmNlfHwhdy5HYTt3Lko9dy5ub1BhdGNofHwhMTt3Lm9hPXcucHJlZmVyUGVyZm9ybWFuY2U7ZnVuY3Rpb24geShhKXtyZXR1cm4oYT12KGEpKSYmdm9pZCAwIT09YS5maXJzdENoaWxkfWZ1bmN0aW9uIHooYSl7cmV0dXJuIlNoYWR5Um9vdCI9PT1hLnphfWZ1bmN0aW9uIExhKGEpe3JldHVybihhPShhPXYoYSkpJiZhLnJvb3QpJiZNYShhKX0KdmFyIE5hPUVsZW1lbnQucHJvdG90eXBlLE9hPU5hLm1hdGNoZXN8fE5hLm1hdGNoZXNTZWxlY3Rvcnx8TmEubW96TWF0Y2hlc1NlbGVjdG9yfHxOYS5tc01hdGNoZXNTZWxlY3Rvcnx8TmEub01hdGNoZXNTZWxlY3Rvcnx8TmEud2Via2l0TWF0Y2hlc1NlbGVjdG9yLFBhPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKSxRYT0wLFJhPVtdOyhuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbigpe2Zvcig7UmEubGVuZ3RoOyl0cnl7UmEuc2hpZnQoKSgpfWNhdGNoKGEpe3Rocm93IFBhLnRleHRDb250ZW50PVFhKyssYTt9fSkpLm9ic2VydmUoUGEse2NoYXJhY3RlckRhdGE6ITB9KTtmdW5jdGlvbiBTYShhKXtSYS5wdXNoKGEpO1BhLnRleHRDb250ZW50PVFhKyt9dmFyIFRhPSEhZG9jdW1lbnQuY29udGFpbnM7ZnVuY3Rpb24gVWEoYSxiKXtmb3IoO2I7KXtpZihiPT1hKXJldHVybiEwO2I9Yi5fX3NoYWR5X3BhcmVudE5vZGV9cmV0dXJuITF9CmZ1bmN0aW9uIFZhKGEpe2Zvcih2YXIgYj1hLmxlbmd0aC0xOzA8PWI7Yi0tKXt2YXIgYz1hW2JdLGQ9Yy5nZXRBdHRyaWJ1dGUoImlkIil8fGMuZ2V0QXR0cmlidXRlKCJuYW1lIik7ZCYmImxlbmd0aCIhPT1kJiZpc05hTihkKSYmKGFbZF09Yyl9YS5pdGVtPWZ1bmN0aW9uKGIpe3JldHVybiBhW2JdfTthLm5hbWVkSXRlbT1mdW5jdGlvbihiKXtpZigibGVuZ3RoIiE9PWImJmlzTmFOKGIpJiZhW2JdKXJldHVybiBhW2JdO2Zvcih2YXIgYz1pYShhKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSlpZihkPWQudmFsdWUsKGQuZ2V0QXR0cmlidXRlKCJpZCIpfHxkLmdldEF0dHJpYnV0ZSgibmFtZSIpKT09YilyZXR1cm4gZDtyZXR1cm4gbnVsbH07cmV0dXJuIGF9CmZ1bmN0aW9uIEEoYSxiLGMsZCl7Yz12b2lkIDA9PT1jPyIiOmM7Zm9yKHZhciBlIGluIGIpe3ZhciBmPWJbZV07aWYoIShkJiYwPD1kLmluZGV4T2YoZSkpKXtmLmNvbmZpZ3VyYWJsZT0hMDt2YXIgZz1jK2U7aWYoZi52YWx1ZSlhW2ddPWYudmFsdWU7ZWxzZSB0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsZyxmKX1jYXRjaChoKXt9fX19ZnVuY3Rpb24gQihhKXt2YXIgYj17fTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhKS5mb3JFYWNoKGZ1bmN0aW9uKGMpe2JbY109T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhLGMpfSk7cmV0dXJuIGJ9O3ZhciBXYT1bXSxYYTtmdW5jdGlvbiBZYShhKXtYYXx8KFhhPSEwLFNhKFphKSk7V2EucHVzaChhKX1mdW5jdGlvbiBaYSgpe1hhPSExO2Zvcih2YXIgYT0hIVdhLmxlbmd0aDtXYS5sZW5ndGg7KVdhLnNoaWZ0KCkoKTtyZXR1cm4gYX1aYS5saXN0PVdhO2Z1bmN0aW9uICRhKCl7dGhpcy5hPSExO3RoaXMuYWRkZWROb2Rlcz1bXTt0aGlzLnJlbW92ZWROb2Rlcz1bXTt0aGlzLlM9bmV3IFNldH1mdW5jdGlvbiBhYihhKXthLmF8fChhLmE9ITAsU2EoZnVuY3Rpb24oKXthLmZsdXNoKCl9KSl9JGEucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKCl7aWYodGhpcy5hKXt0aGlzLmE9ITE7dmFyIGE9dGhpcy50YWtlUmVjb3JkcygpO2EubGVuZ3RoJiZ0aGlzLlMuZm9yRWFjaChmdW5jdGlvbihiKXtiKGEpfSl9fTskYS5wcm90b3R5cGUudGFrZVJlY29yZHM9ZnVuY3Rpb24oKXtpZih0aGlzLmFkZGVkTm9kZXMubGVuZ3RofHx0aGlzLnJlbW92ZWROb2Rlcy5sZW5ndGgpe3ZhciBhPVt7YWRkZWROb2Rlczp0aGlzLmFkZGVkTm9kZXMscmVtb3ZlZE5vZGVzOnRoaXMucmVtb3ZlZE5vZGVzfV07dGhpcy5hZGRlZE5vZGVzPVtdO3RoaXMucmVtb3ZlZE5vZGVzPVtdO3JldHVybiBhfXJldHVybltdfTsKZnVuY3Rpb24gYmIoYSxiKXt2YXIgYz11KGEpO2MuSHx8KGMuSD1uZXcgJGEpO2MuSC5TLmFkZChiKTt2YXIgZD1jLkg7cmV0dXJue3lhOmIsRjpkLEFhOmEsdGFrZVJlY29yZHM6ZnVuY3Rpb24oKXtyZXR1cm4gZC50YWtlUmVjb3JkcygpfX19ZnVuY3Rpb24gY2IoYSl7dmFyIGI9YSYmYS5GO2ImJihiLlMuZGVsZXRlKGEueWEpLGIuUy5zaXplfHwodShhLkFhKS5IPW51bGwpKX0KZnVuY3Rpb24gZGIoYSxiKXt2YXIgYz1iLmdldFJvb3ROb2RlKCk7cmV0dXJuIGEubWFwKGZ1bmN0aW9uKGEpe3ZhciBiPWM9PT1hLnRhcmdldC5nZXRSb290Tm9kZSgpO2lmKGImJmEuYWRkZWROb2Rlcyl7aWYoYj1BcnJheS5mcm9tKGEuYWRkZWROb2RlcykuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBjPT09YS5nZXRSb290Tm9kZSgpfSksYi5sZW5ndGgpcmV0dXJuIGE9T2JqZWN0LmNyZWF0ZShhKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiYWRkZWROb2RlcyIse3ZhbHVlOmIsY29uZmlndXJhYmxlOiEwfSksYX1lbHNlIGlmKGIpcmV0dXJuIGF9KS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGF9KX07dmFyIGViPS9bJlx1MDBBMCJdL2csZmI9L1smXHUwMEEwPD5dL2c7ZnVuY3Rpb24gZ2IoYSl7c3dpdGNoKGEpe2Nhc2UgIiYiOnJldHVybiImYW1wOyI7Y2FzZSAiPCI6cmV0dXJuIiZsdDsiO2Nhc2UgIj4iOnJldHVybiImZ3Q7IjtjYXNlICciJzpyZXR1cm4iJnF1b3Q7IjtjYXNlICJcdTAwYTAiOnJldHVybiImbmJzcDsifX1mdW5jdGlvbiBoYihhKXtmb3IodmFyIGI9e30sYz0wO2M8YS5sZW5ndGg7YysrKWJbYVtjXV09ITA7cmV0dXJuIGJ9dmFyIGliPWhiKCJhcmVhIGJhc2UgYnIgY29sIGNvbW1hbmQgZW1iZWQgaHIgaW1nIGlucHV0IGtleWdlbiBsaW5rIG1ldGEgcGFyYW0gc291cmNlIHRyYWNrIHdiciIuc3BsaXQoIiAiKSksamI9aGIoInN0eWxlIHNjcmlwdCB4bXAgaWZyYW1lIG5vZW1iZWQgbm9mcmFtZXMgcGxhaW50ZXh0IG5vc2NyaXB0Ii5zcGxpdCgiICIpKTsKZnVuY3Rpb24ga2IoYSxiKXsidGVtcGxhdGUiPT09YS5sb2NhbE5hbWUmJihhPWEuY29udGVudCk7Zm9yKHZhciBjPSIiLGQ9Yj9iKGEpOmEuY2hpbGROb2RlcyxlPTAsZj1kLmxlbmd0aCxnPXZvaWQgMDtlPGYmJihnPWRbZV0pO2UrKyl7YTp7dmFyIGg9Zzt2YXIgaz1hLGw9Yjtzd2l0Y2goaC5ub2RlVHlwZSl7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTprPWgubG9jYWxOYW1lO2Zvcih2YXIgbT0iPCIrayxxPWguYXR0cmlidXRlcyx4PTAsTTtNPXFbeF07eCsrKW0rPSIgIitNLm5hbWUrJz0iJytNLnZhbHVlLnJlcGxhY2UoZWIsZ2IpKyciJzttKz0iPiI7aD1pYltrXT9tOm0ra2IoaCxsKSsiPC8iK2srIj4iO2JyZWFrIGE7Y2FzZSBOb2RlLlRFWFRfTk9ERTpoPWguZGF0YTtoPWsmJmpiW2subG9jYWxOYW1lXT9oOmgucmVwbGFjZShmYixnYik7YnJlYWsgYTtjYXNlIE5vZGUuQ09NTUVOVF9OT0RFOmg9Ilx4M2MhLS0iK2guZGF0YSsiLS1ceDNlIjticmVhayBhO2RlZmF1bHQ6dGhyb3cgd2luZG93LmNvbnNvbGUuZXJyb3IoaCksCkVycm9yKCJub3QgaW1wbGVtZW50ZWQiKTt9fWMrPWh9cmV0dXJuIGN9O3ZhciBwYj13Lm0scWI9e3F1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfcXVlcnlTZWxlY3RvcihhKX0scXVlcnlTZWxlY3RvckFsbDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9xdWVyeVNlbGVjdG9yQWxsKGEpfX0scmI9e307ZnVuY3Rpb24gc2IoYSl7cmJbYV09ZnVuY3Rpb24oYil7cmV0dXJuIGJbIl9fc2hhZHlfbmF0aXZlXyIrYV19fWZ1bmN0aW9uIHRiKGEsYil7QShhLGIsIl9fc2hhZHlfbmF0aXZlXyIpO2Zvcih2YXIgYyBpbiBiKXNiKGMpfWZ1bmN0aW9uIEQoYSxiKXtiPXZvaWQgMD09PWI/W106Yjtmb3IodmFyIGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9YltjXSxlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYSxkKTtlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fc2hhZHlfbmF0aXZlXyIrZCxlKSxlLnZhbHVlP3FiW2RdfHwocWJbZF09ZS52YWx1ZSk6c2IoZCkpfX0KdmFyIEU9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihkb2N1bWVudCxOb2RlRmlsdGVyLlNIT1dfQUxMLG51bGwsITEpLEY9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihkb2N1bWVudCxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCxudWxsLCExKSx1Yj1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoImluZXJ0Iik7ZnVuY3Rpb24gdmIoYSl7Zm9yKHZhciBiO2I9YS5fX3NoYWR5X25hdGl2ZV9maXJzdENoaWxkOylhLl9fc2hhZHlfbmF0aXZlX3JlbW92ZUNoaWxkKGIpfXZhciB3Yj1bImZpcnN0RWxlbWVudENoaWxkIiwibGFzdEVsZW1lbnRDaGlsZCIsImNoaWxkcmVuIiwiY2hpbGRFbGVtZW50Q291bnQiXSx4Yj1bInF1ZXJ5U2VsZWN0b3IiLCJxdWVyeVNlbGVjdG9yQWxsIl07CmZ1bmN0aW9uIHliKCl7dmFyIGE9WyJkaXNwYXRjaEV2ZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiXTt3aW5kb3cuRXZlbnRUYXJnZXQ/RCh3aW5kb3cuRXZlbnRUYXJnZXQucHJvdG90eXBlLGEpOihEKE5vZGUucHJvdG90eXBlLGEpLEQoV2luZG93LnByb3RvdHlwZSxhKSk7cGI/RChOb2RlLnByb3RvdHlwZSwicGFyZW50Tm9kZSBmaXJzdENoaWxkIGxhc3RDaGlsZCBwcmV2aW91c1NpYmxpbmcgbmV4dFNpYmxpbmcgY2hpbGROb2RlcyBwYXJlbnRFbGVtZW50IHRleHRDb250ZW50Ii5zcGxpdCgiICIpKTp0YihOb2RlLnByb3RvdHlwZSx7cGFyZW50Tm9kZTp7Z2V0OmZ1bmN0aW9uKCl7RS5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBFLnBhcmVudE5vZGUoKX19LGZpcnN0Q2hpbGQ6e2dldDpmdW5jdGlvbigpe0UuY3VycmVudE5vZGU9dGhpcztyZXR1cm4gRS5maXJzdENoaWxkKCl9fSxsYXN0Q2hpbGQ6e2dldDpmdW5jdGlvbigpe0UuY3VycmVudE5vZGU9CnRoaXM7cmV0dXJuIEUubGFzdENoaWxkKCl9fSxwcmV2aW91c1NpYmxpbmc6e2dldDpmdW5jdGlvbigpe0UuY3VycmVudE5vZGU9dGhpcztyZXR1cm4gRS5wcmV2aW91c1NpYmxpbmcoKX19LG5leHRTaWJsaW5nOntnZXQ6ZnVuY3Rpb24oKXtFLmN1cnJlbnROb2RlPXRoaXM7cmV0dXJuIEUubmV4dFNpYmxpbmcoKX19LGNoaWxkTm9kZXM6e2dldDpmdW5jdGlvbigpe3ZhciBhPVtdO0UuY3VycmVudE5vZGU9dGhpcztmb3IodmFyIGM9RS5maXJzdENoaWxkKCk7YzspYS5wdXNoKGMpLGM9RS5uZXh0U2libGluZygpO3JldHVybiBhfX0scGFyZW50RWxlbWVudDp7Z2V0OmZ1bmN0aW9uKCl7Ri5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBGLnBhcmVudE5vZGUoKX19LHRleHRDb250ZW50OntnZXQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5ub2RlVHlwZSl7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTpjYXNlIE5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERTpmb3IodmFyIGE9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcih0aGlzLApOb2RlRmlsdGVyLlNIT1dfVEVYVCxudWxsLCExKSxjPSIiLGQ7ZD1hLm5leHROb2RlKCk7KWMrPWQubm9kZVZhbHVlO3JldHVybiBjO2RlZmF1bHQ6cmV0dXJuIHRoaXMubm9kZVZhbHVlfX0sc2V0OmZ1bmN0aW9uKGEpe2lmKCJ1bmRlZmluZWQiPT09dHlwZW9mIGF8fG51bGw9PT1hKWE9IiI7c3dpdGNoKHRoaXMubm9kZVR5cGUpe2Nhc2UgTm9kZS5FTEVNRU5UX05PREU6Y2FzZSBOb2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU6dmIodGhpcyk7KDA8YS5sZW5ndGh8fHRoaXMubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSkmJnRoaXMuX19zaGFkeV9uYXRpdmVfaW5zZXJ0QmVmb3JlKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGEpLHZvaWQgMCk7YnJlYWs7ZGVmYXVsdDp0aGlzLm5vZGVWYWx1ZT1hfX19fSk7RChOb2RlLnByb3RvdHlwZSwiYXBwZW5kQ2hpbGQgaW5zZXJ0QmVmb3JlIHJlbW92ZUNoaWxkIHJlcGxhY2VDaGlsZCBjbG9uZU5vZGUgY29udGFpbnMiLnNwbGl0KCIgIikpOwphPXtmaXJzdEVsZW1lbnRDaGlsZDp7Z2V0OmZ1bmN0aW9uKCl7Ri5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBGLmZpcnN0Q2hpbGQoKX19LGxhc3RFbGVtZW50Q2hpbGQ6e2dldDpmdW5jdGlvbigpe0YuY3VycmVudE5vZGU9dGhpcztyZXR1cm4gRi5sYXN0Q2hpbGQoKX19LGNoaWxkcmVuOntnZXQ6ZnVuY3Rpb24oKXt2YXIgYT1bXTtGLmN1cnJlbnROb2RlPXRoaXM7Zm9yKHZhciBjPUYuZmlyc3RDaGlsZCgpO2M7KWEucHVzaChjKSxjPUYubmV4dFNpYmxpbmcoKTtyZXR1cm4gVmEoYSl9fSxjaGlsZEVsZW1lbnRDb3VudDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGRyZW4/dGhpcy5jaGlsZHJlbi5sZW5ndGg6MH19fTtwYj8oRChFbGVtZW50LnByb3RvdHlwZSx3YiksRChFbGVtZW50LnByb3RvdHlwZSxbInByZXZpb3VzRWxlbWVudFNpYmxpbmciLCJuZXh0RWxlbWVudFNpYmxpbmciLCJpbm5lckhUTUwiXSksT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsCiJjaGlsZHJlbiIpJiZEKEhUTUxFbGVtZW50LnByb3RvdHlwZSxbImNoaWxkcmVuIl0pLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSFRNTEVsZW1lbnQucHJvdG90eXBlLCJpbm5lckhUTUwiKSYmRChIVE1MRWxlbWVudC5wcm90b3R5cGUsWyJpbm5lckhUTUwiXSkpOih0YihFbGVtZW50LnByb3RvdHlwZSxhKSx0YihFbGVtZW50LnByb3RvdHlwZSx7cHJldmlvdXNFbGVtZW50U2libGluZzp7Z2V0OmZ1bmN0aW9uKCl7Ri5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBGLnByZXZpb3VzU2libGluZygpfX0sbmV4dEVsZW1lbnRTaWJsaW5nOntnZXQ6ZnVuY3Rpb24oKXtGLmN1cnJlbnROb2RlPXRoaXM7cmV0dXJuIEYubmV4dFNpYmxpbmcoKX19LGlubmVySFRNTDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGtiKHRoaXMsZnVuY3Rpb24oYSl7cmV0dXJuIGEuX19zaGFkeV9uYXRpdmVfY2hpbGROb2Rlc30pfSxzZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9InRlbXBsYXRlIj09PXRoaXMubG9jYWxOYW1lPwp0aGlzLmNvbnRlbnQ6dGhpczt2YihiKTt2YXIgZD10aGlzLmxvY2FsTmFtZXx8ImRpdiI7ZD10aGlzLm5hbWVzcGFjZVVSSSYmdGhpcy5uYW1lc3BhY2VVUkkhPT11Yi5uYW1lc3BhY2VVUkk/dWIuY3JlYXRlRWxlbWVudE5TKHRoaXMubmFtZXNwYWNlVVJJLGQpOnViLmNyZWF0ZUVsZW1lbnQoZCk7ZC5pbm5lckhUTUw9YTtmb3IoYT0idGVtcGxhdGUiPT09dGhpcy5sb2NhbE5hbWU/ZC5jb250ZW50OmQ7ZD1hLl9fc2hhZHlfbmF0aXZlX2ZpcnN0Q2hpbGQ7KWIuX19zaGFkeV9uYXRpdmVfaW5zZXJ0QmVmb3JlKGQsdm9pZCAwKX19fSkpO0QoRWxlbWVudC5wcm90b3R5cGUsInNldEF0dHJpYnV0ZSBnZXRBdHRyaWJ1dGUgaGFzQXR0cmlidXRlIHJlbW92ZUF0dHJpYnV0ZSBmb2N1cyBibHVyIi5zcGxpdCgiICIpKTtEKEVsZW1lbnQucHJvdG90eXBlLHhiKTtEKEhUTUxFbGVtZW50LnByb3RvdHlwZSxbImZvY3VzIiwiYmx1ciIsImNvbnRhaW5zIl0pO3BiJiZEKEhUTUxFbGVtZW50LnByb3RvdHlwZSwKWyJwYXJlbnRFbGVtZW50IiwiY2hpbGRyZW4iLCJpbm5lckhUTUwiXSk7d2luZG93LkhUTUxUZW1wbGF0ZUVsZW1lbnQmJkQod2luZG93LkhUTUxUZW1wbGF0ZUVsZW1lbnQucHJvdG90eXBlLFsiaW5uZXJIVE1MIl0pO3BiP0QoRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUsd2IpOnRiKERvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlLGEpO0QoRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUseGIpO3BiPyhEKERvY3VtZW50LnByb3RvdHlwZSx3YiksRChEb2N1bWVudC5wcm90b3R5cGUsWyJhY3RpdmVFbGVtZW50Il0pKTp0YihEb2N1bWVudC5wcm90b3R5cGUsYSk7RChEb2N1bWVudC5wcm90b3R5cGUsWyJpbXBvcnROb2RlIiwiZ2V0RWxlbWVudEJ5SWQiXSk7RChEb2N1bWVudC5wcm90b3R5cGUseGIpfTt2YXIgemI9Qih7Z2V0IGNoaWxkTm9kZXMoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2NoaWxkTm9kZXN9LGdldCBmaXJzdENoaWxkKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9maXJzdENoaWxkfSxnZXQgbGFzdENoaWxkKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9sYXN0Q2hpbGR9LGdldCB0ZXh0Q29udGVudCgpe3JldHVybiB0aGlzLl9fc2hhZHlfdGV4dENvbnRlbnR9LHNldCB0ZXh0Q29udGVudChhKXt0aGlzLl9fc2hhZHlfdGV4dENvbnRlbnQ9YX0sZ2V0IGNoaWxkRWxlbWVudENvdW50KCl7cmV0dXJuIHRoaXMuX19zaGFkeV9jaGlsZEVsZW1lbnRDb3VudH0sZ2V0IGNoaWxkcmVuKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9jaGlsZHJlbn0sZ2V0IGZpcnN0RWxlbWVudENoaWxkKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9maXJzdEVsZW1lbnRDaGlsZH0sZ2V0IGxhc3RFbGVtZW50Q2hpbGQoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2xhc3RFbGVtZW50Q2hpbGR9LGdldCBpbm5lckhUTUwoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2lubmVySFRNTH0sCnNldCBpbm5lckhUTUwoYSl7cmV0dXJuIHRoaXMuX19zaGFkeV9pbm5lckhUTUw9YX0sZ2V0IHNoYWRvd1Jvb3QoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X3NoYWRvd1Jvb3R9fSksQWI9Qih7Z2V0IHBhcmVudEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X3BhcmVudEVsZW1lbnR9LGdldCBwYXJlbnROb2RlKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9wYXJlbnROb2RlfSxnZXQgbmV4dFNpYmxpbmcoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X25leHRTaWJsaW5nfSxnZXQgcHJldmlvdXNTaWJsaW5nKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9wcmV2aW91c1NpYmxpbmd9LGdldCBuZXh0RWxlbWVudFNpYmxpbmcoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X25leHRFbGVtZW50U2libGluZ30sZ2V0IHByZXZpb3VzRWxlbWVudFNpYmxpbmcoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X3ByZXZpb3VzRWxlbWVudFNpYmxpbmd9LGdldCBjbGFzc05hbWUoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2NsYXNzTmFtZX0sCnNldCBjbGFzc05hbWUoYSl7cmV0dXJuIHRoaXMuX19zaGFkeV9jbGFzc05hbWU9YX19KSxCYjtmb3IoQmIgaW4gemIpemJbQmJdLmVudW1lcmFibGU9ITE7Zm9yKHZhciBDYiBpbiBBYilBYltDYl0uZW51bWVyYWJsZT0hMTt2YXIgRGI9dy5tfHx3LkosRWI9RGI/ZnVuY3Rpb24oKXt9OmZ1bmN0aW9uKGEpe3ZhciBiPXUoYSk7Yi5sYXx8KGIubGE9ITAsQShhLEFiKSl9LEZiPURiP2Z1bmN0aW9uKCl7fTpmdW5jdGlvbihhKXt2YXIgYj11KGEpO2Iua2F8fChiLmthPSEwLEEoYSx6YikpfTt2YXIgR2I9Il9fZXZlbnRXcmFwcGVycyIrRGF0ZS5ub3coKSxIYj1mdW5jdGlvbigpe3ZhciBhPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXZlbnQucHJvdG90eXBlLCJjb21wb3NlZCIpO3JldHVybiBhP2Z1bmN0aW9uKGIpe3JldHVybiBhLmdldC5jYWxsKGIpfTpudWxsfSgpLEliPXtibHVyOiEwLGZvY3VzOiEwLGZvY3VzaW46ITAsZm9jdXNvdXQ6ITAsY2xpY2s6ITAsZGJsY2xpY2s6ITAsbW91c2Vkb3duOiEwLG1vdXNlZW50ZXI6ITAsbW91c2VsZWF2ZTohMCxtb3VzZW1vdmU6ITAsbW91c2VvdXQ6ITAsbW91c2VvdmVyOiEwLG1vdXNldXA6ITAsd2hlZWw6ITAsYmVmb3JlaW5wdXQ6ITAsaW5wdXQ6ITAsa2V5ZG93bjohMCxrZXl1cDohMCxjb21wb3NpdGlvbnN0YXJ0OiEwLGNvbXBvc2l0aW9udXBkYXRlOiEwLGNvbXBvc2l0aW9uZW5kOiEwLHRvdWNoc3RhcnQ6ITAsdG91Y2hlbmQ6ITAsdG91Y2htb3ZlOiEwLHRvdWNoY2FuY2VsOiEwLHBvaW50ZXJvdmVyOiEwLApwb2ludGVyZW50ZXI6ITAscG9pbnRlcmRvd246ITAscG9pbnRlcm1vdmU6ITAscG9pbnRlcnVwOiEwLHBvaW50ZXJjYW5jZWw6ITAscG9pbnRlcm91dDohMCxwb2ludGVybGVhdmU6ITAsZ290cG9pbnRlcmNhcHR1cmU6ITAsbG9zdHBvaW50ZXJjYXB0dXJlOiEwLGRyYWdzdGFydDohMCxkcmFnOiEwLGRyYWdlbnRlcjohMCxkcmFnbGVhdmU6ITAsZHJhZ292ZXI6ITAsZHJvcDohMCxkcmFnZW5kOiEwLERPTUFjdGl2YXRlOiEwLERPTUZvY3VzSW46ITAsRE9NRm9jdXNPdXQ6ITAsa2V5cHJlc3M6ITB9LEpiPXtET01BdHRyTW9kaWZpZWQ6ITAsRE9NQXR0cmlidXRlTmFtZUNoYW5nZWQ6ITAsRE9NQ2hhcmFjdGVyRGF0YU1vZGlmaWVkOiEwLERPTUVsZW1lbnROYW1lQ2hhbmdlZDohMCxET01Ob2RlSW5zZXJ0ZWQ6ITAsRE9NTm9kZUluc2VydGVkSW50b0RvY3VtZW50OiEwLERPTU5vZGVSZW1vdmVkOiEwLERPTU5vZGVSZW1vdmVkRnJvbURvY3VtZW50OiEwLERPTVN1YnRyZWVNb2RpZmllZDohMH07CmZ1bmN0aW9uIEtiKGEpe3JldHVybiBhIGluc3RhbmNlb2YgTm9kZT9hLl9fc2hhZHlfZ2V0Um9vdE5vZGUoKTphfWZ1bmN0aW9uIExiKGEsYil7dmFyIGM9W10sZD1hO2ZvcihhPUtiKGEpO2Q7KWMucHVzaChkKSxkLl9fc2hhZHlfYXNzaWduZWRTbG90P2Q9ZC5fX3NoYWR5X2Fzc2lnbmVkU2xvdDpkLm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFJiZkLmhvc3QmJihifHxkIT09YSk/ZD1kLmhvc3Q6ZD1kLl9fc2hhZHlfcGFyZW50Tm9kZTtjW2MubGVuZ3RoLTFdPT09ZG9jdW1lbnQmJmMucHVzaCh3aW5kb3cpO3JldHVybiBjfWZ1bmN0aW9uIE1iKGEpe2EuX19jb21wb3NlZFBhdGh8fChhLl9fY29tcG9zZWRQYXRoPUxiKGEudGFyZ2V0LCEwKSk7cmV0dXJuIGEuX19jb21wb3NlZFBhdGh9CmZ1bmN0aW9uIE5iKGEsYil7aWYoIXopcmV0dXJuIGE7YT1MYihhLCEwKTtmb3IodmFyIGM9MCxkLGU9dm9pZCAwLGYsZz12b2lkIDA7YzxiLmxlbmd0aDtjKyspaWYoZD1iW2NdLGY9S2IoZCksZiE9PWUmJihnPWEuaW5kZXhPZihmKSxlPWYpLCF6KGYpfHwtMTxnKXJldHVybiBkfWZ1bmN0aW9uIE9iKGEpe2Z1bmN0aW9uIGIoYixkKXtiPW5ldyBhKGIsZCk7Yi5fX2NvbXBvc2VkPWQmJiEhZC5jb21wb3NlZDtyZXR1cm4gYn1iLl9fcHJvdG9fXz1hO2IucHJvdG90eXBlPWEucHJvdG90eXBlO3JldHVybiBifXZhciBQYj17Zm9jdXM6ITAsYmx1cjohMH07ZnVuY3Rpb24gUWIoYSl7cmV0dXJuIGEuX190YXJnZXQhPT1hLnRhcmdldHx8YS5fX3JlbGF0ZWRUYXJnZXQhPT1hLnJlbGF0ZWRUYXJnZXR9CmZ1bmN0aW9uIFJiKGEsYixjKXtpZihjPWIuX19oYW5kbGVycyYmYi5fX2hhbmRsZXJzW2EudHlwZV0mJmIuX19oYW5kbGVyc1thLnR5cGVdW2NdKWZvcih2YXIgZD0wLGU7KGU9Y1tkXSkmJighUWIoYSl8fGEudGFyZ2V0IT09YS5yZWxhdGVkVGFyZ2V0KSYmKGUuY2FsbChiLGEpLCFhLl9faW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKTtkKyspO30KZnVuY3Rpb24gU2IoYSl7dmFyIGI9YS5jb21wb3NlZFBhdGgoKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiY3VycmVudFRhcmdldCIse2dldDpmdW5jdGlvbigpe3JldHVybiBkfSxjb25maWd1cmFibGU6ITB9KTtmb3IodmFyIGM9Yi5sZW5ndGgtMTswPD1jO2MtLSl7dmFyIGQ9YltjXTtSYihhLGQsImNhcHR1cmUiKTtpZihhLlopcmV0dXJufU9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJldmVudFBoYXNlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEV2ZW50LkFUX1RBUkdFVH19KTt2YXIgZTtmb3IoYz0wO2M8Yi5sZW5ndGg7YysrKXtkPWJbY107dmFyIGY9dihkKTtmPWYmJmYucm9vdDtpZigwPT09Y3x8ZiYmZj09PWUpaWYoUmIoYSxkLCJidWJibGUiKSxkIT09d2luZG93JiYoZT1kLl9fc2hhZHlfZ2V0Um9vdE5vZGUoKSksYS5aKWJyZWFrfX0KZnVuY3Rpb24gVGIoYSxiLGMsZCxlLGYpe2Zvcih2YXIgZz0wO2c8YS5sZW5ndGg7ZysrKXt2YXIgaD1hW2ddLGs9aC50eXBlLGw9aC5jYXB0dXJlLG09aC5vbmNlLHE9aC5wYXNzaXZlO2lmKGI9PT1oLm5vZGUmJmM9PT1rJiZkPT09bCYmZT09PW0mJmY9PT1xKXJldHVybiBnfXJldHVybi0xfQpmdW5jdGlvbiBVYihhLGIsYyl7aWYoYil7dmFyIGQ9dHlwZW9mIGI7aWYoImZ1bmN0aW9uIj09PWR8fCJvYmplY3QiPT09ZClpZigib2JqZWN0IiE9PWR8fGIuaGFuZGxlRXZlbnQmJiJmdW5jdGlvbiI9PT10eXBlb2YgYi5oYW5kbGVFdmVudCl7aWYoSmJbYV0pcmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfYWRkRXZlbnRMaXN0ZW5lcihhLGIsYyk7aWYoYyYmIm9iamVjdCI9PT10eXBlb2YgYyl7dmFyIGU9ISFjLmNhcHR1cmU7dmFyIGY9ISFjLm9uY2U7dmFyIGc9ISFjLnBhc3NpdmV9ZWxzZSBlPSEhYyxnPWY9ITE7dmFyIGg9YyYmYy4kfHx0aGlzLGs9YltHYl07aWYoayl7aWYoLTE8VGIoayxoLGEsZSxmLGcpKXJldHVybn1lbHNlIGJbR2JdPVtdO2s9ZnVuY3Rpb24oZSl7ZiYmdGhpcy5fX3NoYWR5X3JlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpO2UuX190YXJnZXR8fFZiKGUpO2lmKGghPT10aGlzKXt2YXIgZz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsImN1cnJlbnRUYXJnZXQiKTsKT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImN1cnJlbnRUYXJnZXQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaH0sY29uZmlndXJhYmxlOiEwfSl9ZS5fX3ByZXZpb3VzQ3VycmVudFRhcmdldD1lLmN1cnJlbnRUYXJnZXQ7aWYoIXooaCl8fC0xIT1lLmNvbXBvc2VkUGF0aCgpLmluZGV4T2YoaCkpaWYoZS5jb21wb3NlZHx8LTE8ZS5jb21wb3NlZFBhdGgoKS5pbmRleE9mKGgpKWlmKFFiKGUpJiZlLnRhcmdldD09PWUucmVsYXRlZFRhcmdldCllLmV2ZW50UGhhc2U9PT1FdmVudC5CVUJCTElOR19QSEFTRSYmZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtlbHNlIGlmKGUuZXZlbnRQaGFzZT09PUV2ZW50LkNBUFRVUklOR19QSEFTRXx8ZS5idWJibGVzfHxlLnRhcmdldD09PWh8fGggaW5zdGFuY2VvZiBXaW5kb3cpe3ZhciBrPSJmdW5jdGlvbiI9PT1kP2IuY2FsbChoLGUpOmIuaGFuZGxlRXZlbnQmJmIuaGFuZGxlRXZlbnQoZSk7aCE9PXRoaXMmJihnPyhPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwKImN1cnJlbnRUYXJnZXQiLGcpLGc9bnVsbCk6ZGVsZXRlIGUuY3VycmVudFRhcmdldCk7cmV0dXJuIGt9fTtiW0diXS5wdXNoKHtub2RlOmgsdHlwZTphLGNhcHR1cmU6ZSxvbmNlOmYscGFzc2l2ZTpnLFlhOmt9KTtQYlthXT8odGhpcy5fX2hhbmRsZXJzPXRoaXMuX19oYW5kbGVyc3x8e30sdGhpcy5fX2hhbmRsZXJzW2FdPXRoaXMuX19oYW5kbGVyc1thXXx8e2NhcHR1cmU6W10sYnViYmxlOltdfSx0aGlzLl9faGFuZGxlcnNbYV1bZT8iY2FwdHVyZSI6ImJ1YmJsZSJdLnB1c2goaykpOnRoaXMuX19zaGFkeV9uYXRpdmVfYWRkRXZlbnRMaXN0ZW5lcihhLGssYyl9fX0KZnVuY3Rpb24gV2IoYSxiLGMpe2lmKGIpe2lmKEpiW2FdKXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX3JlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpO2lmKGMmJiJvYmplY3QiPT09dHlwZW9mIGMpe3ZhciBkPSEhYy5jYXB0dXJlO3ZhciBlPSEhYy5vbmNlO3ZhciBmPSEhYy5wYXNzaXZlfWVsc2UgZD0hIWMsZj1lPSExO3ZhciBnPWMmJmMuJHx8dGhpcyxoPXZvaWQgMDt2YXIgaz1udWxsO3RyeXtrPWJbR2JdfWNhdGNoKGwpe31rJiYoZT1UYihrLGcsYSxkLGUsZiksLTE8ZSYmKGg9ay5zcGxpY2UoZSwxKVswXS5ZYSxrLmxlbmd0aHx8KGJbR2JdPXZvaWQgMCkpKTt0aGlzLl9fc2hhZHlfbmF0aXZlX3JlbW92ZUV2ZW50TGlzdGVuZXIoYSxofHxiLGMpO2gmJlBiW2FdJiZ0aGlzLl9faGFuZGxlcnMmJnRoaXMuX19oYW5kbGVyc1thXSYmKGE9dGhpcy5fX2hhbmRsZXJzW2FdW2Q/ImNhcHR1cmUiOiJidWJibGUiXSxoPWEuaW5kZXhPZihoKSwtMTxoJiZhLnNwbGljZShoLDEpKX19CmZ1bmN0aW9uIFhiKCl7Zm9yKHZhciBhIGluIFBiKXdpbmRvdy5fX3NoYWR5X25hdGl2ZV9hZGRFdmVudExpc3RlbmVyKGEsZnVuY3Rpb24oYSl7YS5fX3RhcmdldHx8KFZiKGEpLFNiKGEpKX0sITApfQp2YXIgWWI9Qih7Z2V0IGNvbXBvc2VkKCl7dm9pZCAwPT09dGhpcy5fX2NvbXBvc2VkJiYoSGI/dGhpcy5fX2NvbXBvc2VkPSJmb2N1c2luIj09PXRoaXMudHlwZXx8ImZvY3Vzb3V0Ij09PXRoaXMudHlwZXx8SGIodGhpcyk6ITEhPT10aGlzLmlzVHJ1c3RlZCYmKHRoaXMuX19jb21wb3NlZD1JYlt0aGlzLnR5cGVdKSk7cmV0dXJuIHRoaXMuX19jb21wb3NlZHx8ITF9LGNvbXBvc2VkUGF0aDpmdW5jdGlvbigpe3RoaXMuX19jb21wb3NlZFBhdGh8fCh0aGlzLl9fY29tcG9zZWRQYXRoPUxiKHRoaXMuX190YXJnZXQsdGhpcy5jb21wb3NlZCkpO3JldHVybiB0aGlzLl9fY29tcG9zZWRQYXRofSxnZXQgdGFyZ2V0KCl7cmV0dXJuIE5iKHRoaXMuY3VycmVudFRhcmdldHx8dGhpcy5fX3ByZXZpb3VzQ3VycmVudFRhcmdldCx0aGlzLmNvbXBvc2VkUGF0aCgpKX0sZ2V0IHJlbGF0ZWRUYXJnZXQoKXtpZighdGhpcy5fX3JlbGF0ZWRUYXJnZXQpcmV0dXJuIG51bGw7dGhpcy5fX3JlbGF0ZWRUYXJnZXRDb21wb3NlZFBhdGh8fAoodGhpcy5fX3JlbGF0ZWRUYXJnZXRDb21wb3NlZFBhdGg9TGIodGhpcy5fX3JlbGF0ZWRUYXJnZXQsITApKTtyZXR1cm4gTmIodGhpcy5jdXJyZW50VGFyZ2V0fHx0aGlzLl9fcHJldmlvdXNDdXJyZW50VGFyZ2V0LHRoaXMuX19yZWxhdGVkVGFyZ2V0Q29tcG9zZWRQYXRoKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7RXZlbnQucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbi5jYWxsKHRoaXMpO3RoaXMuWj0hMH0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7RXZlbnQucHJvdG90eXBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbi5jYWxsKHRoaXMpO3RoaXMuWj10aGlzLl9faW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPSEwfX0pOwpmdW5jdGlvbiBWYihhKXthLl9fdGFyZ2V0PWEudGFyZ2V0O2EuX19yZWxhdGVkVGFyZ2V0PWEucmVsYXRlZFRhcmdldDtpZih3Lm0pe3ZhciBiPU9iamVjdC5nZXRQcm90b3R5cGVPZihhKTtpZighT2JqZWN0Lmhhc093blByb3BlcnR5KGIsIl9fc2hhZHlfcGF0Y2hlZFByb3RvIikpe3ZhciBjPU9iamVjdC5jcmVhdGUoYik7Yy5fX3NoYWR5X3NvdXJjZVByb3RvPWI7QShjLFliKTtiLl9fc2hhZHlfcGF0Y2hlZFByb3RvPWN9YS5fX3Byb3RvX189Yi5fX3NoYWR5X3BhdGNoZWRQcm90b31lbHNlIEEoYSxZYil9dmFyIFpiPU9iKEV2ZW50KSwkYj1PYihDdXN0b21FdmVudCksYWM9T2IoTW91c2VFdmVudCk7CmZ1bmN0aW9uIGJjKCl7aWYoIUhiJiZPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV2ZW50LnByb3RvdHlwZSwiaXNUcnVzdGVkIikpe3ZhciBhPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IE1vdXNlRXZlbnQoImNsaWNrIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLGNvbXBvc2VkOiEwfSk7dGhpcy5fX3NoYWR5X2Rpc3BhdGNoRXZlbnQoYSl9O0VsZW1lbnQucHJvdG90eXBlLmNsaWNrP0VsZW1lbnQucHJvdG90eXBlLmNsaWNrPWE6SFRNTEVsZW1lbnQucHJvdG90eXBlLmNsaWNrJiYoSFRNTEVsZW1lbnQucHJvdG90eXBlLmNsaWNrPWEpfX12YXIgY2M9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoRG9jdW1lbnQucHJvdG90eXBlKS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIm9uIj09PWEuc3Vic3RyaW5nKDAsMil9KTtmdW5jdGlvbiBkYyhhLGIpe3JldHVybntpbmRleDphLEw6W10sUjpifX0KZnVuY3Rpb24gZWMoYSxiLGMsZCl7dmFyIGU9MCxmPTAsZz0wLGg9MCxrPU1hdGgubWluKGItZSxkLWYpO2lmKDA9PWUmJjA9PWYpYTp7Zm9yKGc9MDtnPGs7ZysrKWlmKGFbZ10hPT1jW2ddKWJyZWFrIGE7Zz1rfWlmKGI9PWEubGVuZ3RoJiZkPT1jLmxlbmd0aCl7aD1hLmxlbmd0aDtmb3IodmFyIGw9Yy5sZW5ndGgsbT0wO208ay1nJiZmYyhhWy0taF0sY1stLWxdKTspbSsrO2g9bX1lKz1nO2YrPWc7Yi09aDtkLT1oO2lmKDA9PWItZSYmMD09ZC1mKXJldHVybltdO2lmKGU9PWIpe2ZvcihiPWRjKGUsMCk7ZjxkOyliLkwucHVzaChjW2YrK10pO3JldHVybltiXX1pZihmPT1kKXJldHVybltkYyhlLGItZSldO2s9ZTtnPWY7ZD1kLWcrMTtoPWItaysxO2I9QXJyYXkoZCk7Zm9yKGw9MDtsPGQ7bCsrKWJbbF09QXJyYXkoaCksYltsXVswXT1sO2ZvcihsPTA7bDxoO2wrKyliWzBdW2xdPWw7Zm9yKGw9MTtsPGQ7bCsrKWZvcihtPTE7bTxoO20rKylpZihhW2srbS0xXT09PWNbZytsLTFdKWJbbF1bbV09CmJbbC0xXVttLTFdO2Vsc2V7dmFyIHE9YltsLTFdW21dKzEseD1iW2xdW20tMV0rMTtiW2xdW21dPXE8eD9xOnh9az1iLmxlbmd0aC0xO2c9YlswXS5sZW5ndGgtMTtkPWJba11bZ107Zm9yKGE9W107MDxrfHwwPGc7KTA9PWs/KGEucHVzaCgyKSxnLS0pOjA9PWc/KGEucHVzaCgzKSxrLS0pOihoPWJbay0xXVtnLTFdLGw9YltrLTFdW2ddLG09YltrXVtnLTFdLHE9bDxtP2w8aD9sOmg6bTxoP206aCxxPT1oPyhoPT1kP2EucHVzaCgwKTooYS5wdXNoKDEpLGQ9aCksay0tLGctLSk6cT09bD8oYS5wdXNoKDMpLGstLSxkPWwpOihhLnB1c2goMiksZy0tLGQ9bSkpO2EucmV2ZXJzZSgpO2I9dm9pZCAwO2s9W107Zm9yKGc9MDtnPGEubGVuZ3RoO2crKylzd2l0Y2goYVtnXSl7Y2FzZSAwOmImJihrLnB1c2goYiksYj12b2lkIDApO2UrKztmKys7YnJlYWs7Y2FzZSAxOmJ8fChiPWRjKGUsMCkpO2IuUisrO2UrKztiLkwucHVzaChjW2ZdKTtmKys7YnJlYWs7Y2FzZSAyOmJ8fChiPWRjKGUsMCkpOwpiLlIrKztlKys7YnJlYWs7Y2FzZSAzOmJ8fChiPWRjKGUsMCkpLGIuTC5wdXNoKGNbZl0pLGYrK31iJiZrLnB1c2goYik7cmV0dXJuIGt9ZnVuY3Rpb24gZmMoYSxiKXtyZXR1cm4gYT09PWJ9O2Z1bmN0aW9uIGdjKGEsYixjKXtFYihhKTtjPWN8fG51bGw7dmFyIGQ9dShhKSxlPXUoYiksZj1jP3UoYyk6bnVsbDtkLnByZXZpb3VzU2libGluZz1jP2YucHJldmlvdXNTaWJsaW5nOmIuX19zaGFkeV9sYXN0Q2hpbGQ7aWYoZj12KGQucHJldmlvdXNTaWJsaW5nKSlmLm5leHRTaWJsaW5nPWE7aWYoZj12KGQubmV4dFNpYmxpbmc9YykpZi5wcmV2aW91c1NpYmxpbmc9YTtkLnBhcmVudE5vZGU9YjtjP2M9PT1lLmZpcnN0Q2hpbGQmJihlLmZpcnN0Q2hpbGQ9YSk6KGUubGFzdENoaWxkPWEsZS5maXJzdENoaWxkfHwoZS5maXJzdENoaWxkPWEpKTtlLmNoaWxkTm9kZXM9bnVsbH0KZnVuY3Rpb24gaGMoYSxiLGMpe0ZiKGIpO3ZhciBkPXUoYik7dm9pZCAwIT09ZC5maXJzdENoaWxkJiYoZC5jaGlsZE5vZGVzPW51bGwpO2lmKGEubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUpe2Q9YS5fX3NoYWR5X2NoaWxkTm9kZXM7Zm9yKHZhciBlPTA7ZTxkLmxlbmd0aDtlKyspZ2MoZFtlXSxiLGMpO2E9dShhKTtiPXZvaWQgMCE9PWEuZmlyc3RDaGlsZD9udWxsOnZvaWQgMDthLmZpcnN0Q2hpbGQ9YS5sYXN0Q2hpbGQ9YjthLmNoaWxkTm9kZXM9Yn1lbHNlIGdjKGEsYixjKX0KZnVuY3Rpb24gaWMoYSxiKXt2YXIgYz11KGEpO2I9dShiKTthPT09Yi5maXJzdENoaWxkJiYoYi5maXJzdENoaWxkPWMubmV4dFNpYmxpbmcpO2E9PT1iLmxhc3RDaGlsZCYmKGIubGFzdENoaWxkPWMucHJldmlvdXNTaWJsaW5nKTthPWMucHJldmlvdXNTaWJsaW5nO3ZhciBkPWMubmV4dFNpYmxpbmc7YSYmKHUoYSkubmV4dFNpYmxpbmc9ZCk7ZCYmKHUoZCkucHJldmlvdXNTaWJsaW5nPWEpO2MucGFyZW50Tm9kZT1jLnByZXZpb3VzU2libGluZz1jLm5leHRTaWJsaW5nPXZvaWQgMDt2b2lkIDAhPT1iLmNoaWxkTm9kZXMmJihiLmNoaWxkTm9kZXM9bnVsbCl9CmZ1bmN0aW9uIGpjKGEpe3ZhciBiPXUoYSk7aWYodm9pZCAwPT09Yi5maXJzdENoaWxkKXtiLmNoaWxkTm9kZXM9bnVsbDt2YXIgYz1iLmZpcnN0Q2hpbGQ9YS5fX3NoYWR5X25hdGl2ZV9maXJzdENoaWxkfHxudWxsO2IubGFzdENoaWxkPWEuX19zaGFkeV9uYXRpdmVfbGFzdENoaWxkfHxudWxsO0ZiKGEpO2I9Yztmb3IoYz12b2lkIDA7YjtiPWIuX19zaGFkeV9uYXRpdmVfbmV4dFNpYmxpbmcpe3ZhciBkPXUoYik7ZC5wYXJlbnROb2RlPWE7ZC5uZXh0U2libGluZz1iLl9fc2hhZHlfbmF0aXZlX25leHRTaWJsaW5nfHxudWxsO2QucHJldmlvdXNTaWJsaW5nPWN8fG51bGw7Yz1iO0ViKGIpfX19O3ZhciBrYz1udWxsO2Z1bmN0aW9uIEcoKXtrY3x8KGtjPXdpbmRvdy5TaGFkeUNTUyYmd2luZG93LlNoYWR5Q1NTLlNjb3BpbmdTaGltKTtyZXR1cm4ga2N8fG51bGx9ZnVuY3Rpb24gbGMoYSxiKXt2YXIgYz1HKCk7YyYmYy51bnNjb3BlTm9kZShhLGIpfWZ1bmN0aW9uIG1jKGEsYil7dmFyIGM9RygpO2lmKCFjKXJldHVybiEwO2lmKGEubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUpe2M9ITA7YT1hLl9fc2hhZHlfY2hpbGROb2Rlcztmb3IodmFyIGQ9MDtjJiZkPGEubGVuZ3RoO2QrKyljPWMmJm1jKGFbZF0sYik7cmV0dXJuIGN9cmV0dXJuIGEubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERT8hMDpjLmN1cnJlbnRTY29wZUZvck5vZGUoYSk9PT1ifWZ1bmN0aW9uIG5jKGEpe2lmKGEubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERSlyZXR1cm4iIjt2YXIgYj1HKCk7cmV0dXJuIGI/Yi5jdXJyZW50U2NvcGVGb3JOb2RlKGEpOiIifQpmdW5jdGlvbiBvYyhhLGIpe2lmKGEpe2Eubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmYihhKTthPWEuX19zaGFkeV9jaGlsZE5vZGVzO2Zvcih2YXIgYz0wLGQ7YzxhLmxlbmd0aDtjKyspZD1hW2NdLGQubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmb2MoZCxiKX19O3ZhciBwYz13aW5kb3cuZG9jdW1lbnQscWM9dy5vYSxyYz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE5vZGUucHJvdG90eXBlLCJpc0Nvbm5lY3RlZCIpLHNjPXJjJiZyYy5nZXQ7ZnVuY3Rpb24gdGMoYSl7Zm9yKHZhciBiO2I9YS5fX3NoYWR5X2ZpcnN0Q2hpbGQ7KWEuX19zaGFkeV9yZW1vdmVDaGlsZChiKX1mdW5jdGlvbiB1YyhhKXt2YXIgYj12KGEpO2lmKGImJnZvaWQgMCE9PWIuSyl7Yj1hLl9fc2hhZHlfY2hpbGROb2Rlcztmb3IodmFyIGM9MCxkPWIubGVuZ3RoLGU9dm9pZCAwO2M8ZCYmKGU9YltjXSk7YysrKXVjKGUpfWlmKGE9dihhKSlhLks9dm9pZCAwfWZ1bmN0aW9uIHZjKGEpe3ZhciBiPWE7YSYmInNsb3QiPT09YS5sb2NhbE5hbWUmJihiPShiPShiPXYoYSkpJiZiLkQpJiZiLmxlbmd0aD9iWzBdOnZjKGEuX19zaGFkeV9uZXh0U2libGluZykpO3JldHVybiBifQpmdW5jdGlvbiB3YyhhLGIsYyl7aWYoYT0oYT12KGEpKSYmYS5IKWImJmEuYWRkZWROb2Rlcy5wdXNoKGIpLGMmJmEucmVtb3ZlZE5vZGVzLnB1c2goYyksYWIoYSl9CnZhciBDYz1CKHtnZXQgcGFyZW50Tm9kZSgpe3ZhciBhPXYodGhpcyk7YT1hJiZhLnBhcmVudE5vZGU7cmV0dXJuIHZvaWQgMCE9PWE/YTp0aGlzLl9fc2hhZHlfbmF0aXZlX3BhcmVudE5vZGV9LGdldCBmaXJzdENoaWxkKCl7dmFyIGE9dih0aGlzKTthPWEmJmEuZmlyc3RDaGlsZDtyZXR1cm4gdm9pZCAwIT09YT9hOnRoaXMuX19zaGFkeV9uYXRpdmVfZmlyc3RDaGlsZH0sZ2V0IGxhc3RDaGlsZCgpe3ZhciBhPXYodGhpcyk7YT1hJiZhLmxhc3RDaGlsZDtyZXR1cm4gdm9pZCAwIT09YT9hOnRoaXMuX19zaGFkeV9uYXRpdmVfbGFzdENoaWxkfSxnZXQgbmV4dFNpYmxpbmcoKXt2YXIgYT12KHRoaXMpO2E9YSYmYS5uZXh0U2libGluZztyZXR1cm4gdm9pZCAwIT09YT9hOnRoaXMuX19zaGFkeV9uYXRpdmVfbmV4dFNpYmxpbmd9LGdldCBwcmV2aW91c1NpYmxpbmcoKXt2YXIgYT12KHRoaXMpO2E9YSYmYS5wcmV2aW91c1NpYmxpbmc7cmV0dXJuIHZvaWQgMCE9PWE/YTp0aGlzLl9fc2hhZHlfbmF0aXZlX3ByZXZpb3VzU2libGluZ30sCmdldCBjaGlsZE5vZGVzKCl7aWYoeSh0aGlzKSl7dmFyIGE9dih0aGlzKTtpZighYS5jaGlsZE5vZGVzKXthLmNoaWxkTm9kZXM9W107Zm9yKHZhciBiPXRoaXMuX19zaGFkeV9maXJzdENoaWxkO2I7Yj1iLl9fc2hhZHlfbmV4dFNpYmxpbmcpYS5jaGlsZE5vZGVzLnB1c2goYil9dmFyIGM9YS5jaGlsZE5vZGVzfWVsc2UgYz10aGlzLl9fc2hhZHlfbmF0aXZlX2NoaWxkTm9kZXM7Yy5pdGVtPWZ1bmN0aW9uKGEpe3JldHVybiBjW2FdfTtyZXR1cm4gY30sZ2V0IHBhcmVudEVsZW1lbnQoKXt2YXIgYT12KHRoaXMpOyhhPWEmJmEucGFyZW50Tm9kZSkmJmEubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERSYmKGE9bnVsbCk7cmV0dXJuIHZvaWQgMCE9PWE/YTp0aGlzLl9fc2hhZHlfbmF0aXZlX3BhcmVudEVsZW1lbnR9LGdldCBpc0Nvbm5lY3RlZCgpe2lmKHNjJiZzYy5jYWxsKHRoaXMpKXJldHVybiEwO2lmKHRoaXMubm9kZVR5cGU9PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSlyZXR1cm4hMTsKdmFyIGE9dGhpcy5vd25lckRvY3VtZW50O2lmKFRhKXtpZihhLl9fc2hhZHlfbmF0aXZlX2NvbnRhaW5zKHRoaXMpKXJldHVybiEwfWVsc2UgaWYoYS5kb2N1bWVudEVsZW1lbnQmJmEuZG9jdW1lbnRFbGVtZW50Ll9fc2hhZHlfbmF0aXZlX2NvbnRhaW5zKHRoaXMpKXJldHVybiEwO2ZvcihhPXRoaXM7YSYmIShhIGluc3RhbmNlb2YgRG9jdW1lbnQpOylhPWEuX19zaGFkeV9wYXJlbnROb2RlfHwoeihhKT9hLmhvc3Q6dm9pZCAwKTtyZXR1cm4hIShhJiZhIGluc3RhbmNlb2YgRG9jdW1lbnQpfSxnZXQgdGV4dENvbnRlbnQoKXtpZih5KHRoaXMpKXtmb3IodmFyIGE9W10sYj0wLGM9dGhpcy5fX3NoYWR5X2NoaWxkTm9kZXMsZDtkPWNbYl07YisrKWQubm9kZVR5cGUhPT1Ob2RlLkNPTU1FTlRfTk9ERSYmYS5wdXNoKGQuX19zaGFkeV90ZXh0Q29udGVudCk7cmV0dXJuIGEuam9pbigiIil9cmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfdGV4dENvbnRlbnR9LHNldCB0ZXh0Q29udGVudChhKXtpZigidW5kZWZpbmVkIj09PQp0eXBlb2YgYXx8bnVsbD09PWEpYT0iIjtzd2l0Y2godGhpcy5ub2RlVHlwZSl7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTpjYXNlIE5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERTppZigheSh0aGlzKSYmdy5tKXt2YXIgYj10aGlzLl9fc2hhZHlfZmlyc3RDaGlsZDsoYiE9dGhpcy5fX3NoYWR5X2xhc3RDaGlsZHx8YiYmYi5ub2RlVHlwZSE9Tm9kZS5URVhUX05PREUpJiZ0Yyh0aGlzKTt0aGlzLl9fc2hhZHlfbmF0aXZlX3RleHRDb250ZW50PWF9ZWxzZSB0Yyh0aGlzKSwoMDxhLmxlbmd0aHx8dGhpcy5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKSYmdGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShhKSk7YnJlYWs7ZGVmYXVsdDp0aGlzLm5vZGVWYWx1ZT1hfX0saW5zZXJ0QmVmb3JlOmZ1bmN0aW9uKGEsYil7aWYodGhpcy5vd25lckRvY3VtZW50IT09cGMmJmEub3duZXJEb2N1bWVudCE9PXBjKXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX2luc2VydEJlZm9yZShhLApiKSxhO2lmKGE9PT10aGlzKXRocm93IEVycm9yKCJGYWlsZWQgdG8gZXhlY3V0ZSAnYXBwZW5kQ2hpbGQnIG9uICdOb2RlJzogVGhlIG5ldyBjaGlsZCBlbGVtZW50IGNvbnRhaW5zIHRoZSBwYXJlbnQuIik7aWYoYil7dmFyIGM9dihiKTtjPWMmJmMucGFyZW50Tm9kZTtpZih2b2lkIDAhPT1jJiZjIT09dGhpc3x8dm9pZCAwPT09YyYmYi5fX3NoYWR5X25hdGl2ZV9wYXJlbnROb2RlIT09dGhpcyl0aHJvdyBFcnJvcigiRmFpbGVkIHRvIGV4ZWN1dGUgJ2luc2VydEJlZm9yZScgb24gJ05vZGUnOiBUaGUgbm9kZSBiZWZvcmUgd2hpY2ggdGhlIG5ldyBub2RlIGlzIHRvIGJlIGluc2VydGVkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgbm9kZS4iKTt9aWYoYj09PWEpcmV0dXJuIGE7dmFyIGQ9W10sZT0oYz14Yyh0aGlzKSk/Yy5ob3N0LmxvY2FsTmFtZTpuYyh0aGlzKSxmPWEuX19zaGFkeV9wYXJlbnROb2RlO2lmKGYpe3ZhciBnPW5jKGEpO2YuX19zaGFkeV9yZW1vdmVDaGlsZChhLCEhY3x8CiF4YyhhKSl9Zj0hMDt2YXIgaD0oIXFjfHx2b2lkIDA9PT1hLl9fbm9JbnNlcnRpb25Qb2ludCkmJiFtYyhhLGUpLGs9YyYmIWEuX19ub0luc2VydGlvblBvaW50JiYoIXFjfHxhLm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFKTtpZihrfHxoKWgmJihnPWd8fG5jKGEpKSxvYyhhLGZ1bmN0aW9uKGEpe2smJiJzbG90Ij09PWEubG9jYWxOYW1lJiZkLnB1c2goYSk7aWYoaCl7dmFyIGI9ZztHKCkmJihiJiZsYyhhLGIpLChiPUcoKSkmJmIuc2NvcGVOb2RlKGEsZSkpfX0pO2lmKCJzbG90Ij09PXRoaXMubG9jYWxOYW1lfHxkLmxlbmd0aClkLmxlbmd0aCYmKGMuYz1jLmN8fFtdLGMuYT1jLmF8fFtdLGMuYj1jLmJ8fHt9LGMuYy5wdXNoLmFwcGx5KGMuYyxkIGluc3RhbmNlb2YgQXJyYXk/ZDpqYShpYShkKSkpKSxjJiZBYyhjKTt5KHRoaXMpJiYoaGMoYSx0aGlzLGIpLGM9dih0aGlzKSxMYSh0aGlzKT8oQWMoYy5yb290KSxmPSExKTpjLnJvb3QmJihmPSExKSk7Zj8KKGM9eih0aGlzKT90aGlzLmhvc3Q6dGhpcyxiPyhiPXZjKGIpLGMuX19zaGFkeV9uYXRpdmVfaW5zZXJ0QmVmb3JlKGEsYikpOmMuX19zaGFkeV9uYXRpdmVfYXBwZW5kQ2hpbGQoYSkpOmEub3duZXJEb2N1bWVudCE9PXRoaXMub3duZXJEb2N1bWVudCYmdGhpcy5vd25lckRvY3VtZW50LmFkb3B0Tm9kZShhKTt3Yyh0aGlzLGEpO3JldHVybiBhfSxhcHBlbmRDaGlsZDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShhKX0scmVtb3ZlQ2hpbGQ6ZnVuY3Rpb24oYSxiKXtiPXZvaWQgMD09PWI/ITE6YjtpZih0aGlzLm93bmVyRG9jdW1lbnQhPT1wYylyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9yZW1vdmVDaGlsZChhKTtpZihhLl9fc2hhZHlfcGFyZW50Tm9kZSE9PXRoaXMpdGhyb3cgRXJyb3IoIlRoZSBub2RlIHRvIGJlIHJlbW92ZWQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBub2RlOiAiK2EpO3ZhciBjPXhjKGEpLGQ9YyYmQmMoYyxhKSxlPXYodGhpcyk7CmlmKHkodGhpcykmJihpYyhhLHRoaXMpLExhKHRoaXMpKSl7QWMoZS5yb290KTt2YXIgZj0hMH1pZihHKCkmJiFiJiZjKXt2YXIgZz1uYyhhKTtvYyhhLGZ1bmN0aW9uKGEpe2xjKGEsZyl9KX11YyhhKTtjJiYoKGI9dGhpcyYmInNsb3QiPT09dGhpcy5sb2NhbE5hbWUpJiYoZj0hMCksKGR8fGIpJiZBYyhjKSk7Znx8KGY9eih0aGlzKT90aGlzLmhvc3Q6dGhpcywoIWUucm9vdCYmInNsb3QiIT09YS5sb2NhbE5hbWV8fGY9PT1hLl9fc2hhZHlfbmF0aXZlX3BhcmVudE5vZGUpJiZmLl9fc2hhZHlfbmF0aXZlX3JlbW92ZUNoaWxkKGEpKTt3Yyh0aGlzLG51bGwsYSk7cmV0dXJuIGF9LHJlcGxhY2VDaGlsZDpmdW5jdGlvbihhLGIpe3RoaXMuX19zaGFkeV9pbnNlcnRCZWZvcmUoYSxiKTt0aGlzLl9fc2hhZHlfcmVtb3ZlQ2hpbGQoYik7cmV0dXJuIGF9LGNsb25lTm9kZTpmdW5jdGlvbihhKXtpZigidGVtcGxhdGUiPT10aGlzLmxvY2FsTmFtZSlyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9jbG9uZU5vZGUoYSk7CnZhciBiPXRoaXMuX19zaGFkeV9uYXRpdmVfY2xvbmVOb2RlKCExKTtpZihhJiZiLm5vZGVUeXBlIT09Tm9kZS5BVFRSSUJVVEVfTk9ERSl7YT10aGlzLl9fc2hhZHlfY2hpbGROb2Rlcztmb3IodmFyIGM9MCxkO2M8YS5sZW5ndGg7YysrKWQ9YVtjXS5fX3NoYWR5X2Nsb25lTm9kZSghMCksYi5fX3NoYWR5X2FwcGVuZENoaWxkKGQpfXJldHVybiBifSxnZXRSb290Tm9kZTpmdW5jdGlvbihhKXtpZih0aGlzJiZ0aGlzLm5vZGVUeXBlKXt2YXIgYj11KHRoaXMpLGM9Yi5LO3ZvaWQgMD09PWMmJih6KHRoaXMpPyhjPXRoaXMsYi5LPWMpOihjPShjPXRoaXMuX19zaGFkeV9wYXJlbnROb2RlKT9jLl9fc2hhZHlfZ2V0Um9vdE5vZGUoYSk6dGhpcyxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuX19zaGFkeV9uYXRpdmVfY29udGFpbnModGhpcykmJihiLks9YykpKTtyZXR1cm4gY319LGNvbnRhaW5zOmZ1bmN0aW9uKGEpe3JldHVybiBVYSh0aGlzLGEpfX0pO2Z1bmN0aW9uIERjKGEsYixjKXt2YXIgZD1bXTtFYyhhLl9fc2hhZHlfY2hpbGROb2RlcyxiLGMsZCk7cmV0dXJuIGR9ZnVuY3Rpb24gRWMoYSxiLGMsZCl7Zm9yKHZhciBlPTAsZj1hLmxlbmd0aCxnPXZvaWQgMDtlPGYmJihnPWFbZV0pO2UrKyl7dmFyIGg7aWYoaD1nLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe2g9Zzt2YXIgaz1iLGw9YyxtPWQscT1rKGgpO3EmJm0ucHVzaChoKTtsJiZsKHEpP2g9cTooRWMoaC5fX3NoYWR5X2NoaWxkTm9kZXMsayxsLG0pLGg9dm9pZCAwKX1pZihoKWJyZWFrfX0KdmFyIEZjPUIoe2dldCBmaXJzdEVsZW1lbnRDaGlsZCgpe3ZhciBhPXYodGhpcyk7aWYoYSYmdm9pZCAwIT09YS5maXJzdENoaWxkKXtmb3IoYT10aGlzLl9fc2hhZHlfZmlyc3RDaGlsZDthJiZhLm5vZGVUeXBlIT09Tm9kZS5FTEVNRU5UX05PREU7KWE9YS5fX3NoYWR5X25leHRTaWJsaW5nO3JldHVybiBhfXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX2ZpcnN0RWxlbWVudENoaWxkfSxnZXQgbGFzdEVsZW1lbnRDaGlsZCgpe3ZhciBhPXYodGhpcyk7aWYoYSYmdm9pZCAwIT09YS5sYXN0Q2hpbGQpe2ZvcihhPXRoaXMuX19zaGFkeV9sYXN0Q2hpbGQ7YSYmYS5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFOylhPWEuX19zaGFkeV9wcmV2aW91c1NpYmxpbmc7cmV0dXJuIGF9cmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfbGFzdEVsZW1lbnRDaGlsZH0sZ2V0IGNoaWxkcmVuKCl7cmV0dXJuIHkodGhpcyk/VmEoQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKHRoaXMuX19zaGFkeV9jaGlsZE5vZGVzLApmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFfSkpOnRoaXMuX19zaGFkeV9uYXRpdmVfY2hpbGRyZW59LGdldCBjaGlsZEVsZW1lbnRDb3VudCgpe3ZhciBhPXRoaXMuX19zaGFkeV9jaGlsZHJlbjtyZXR1cm4gYT9hLmxlbmd0aDowfX0pLEdjPUIoe3F1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24oYSl7cmV0dXJuIERjKHRoaXMsZnVuY3Rpb24oYil7cmV0dXJuIE9hLmNhbGwoYixhKX0sZnVuY3Rpb24oYSl7cmV0dXJuISFhfSlbMF18fG51bGx9LHF1ZXJ5U2VsZWN0b3JBbGw6ZnVuY3Rpb24oYSxiKXtpZihiKXtiPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHRoaXMuX19zaGFkeV9uYXRpdmVfcXVlcnlTZWxlY3RvckFsbChhKSk7dmFyIGM9dGhpcy5fX3NoYWR5X2dldFJvb3ROb2RlKCk7cmV0dXJuIGIuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBhLl9fc2hhZHlfZ2V0Um9vdE5vZGUoKT09Y30pfXJldHVybiBEYyh0aGlzLGZ1bmN0aW9uKGIpe3JldHVybiBPYS5jYWxsKGIsCmEpfSl9fSksSGM9dy5vYT9PYmplY3QuYXNzaWduKHt9LEZjKTpGYztPYmplY3QuYXNzaWduKEZjLEdjKTt2YXIgSWM9Qih7Z2V0RWxlbWVudEJ5SWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIiI9PT1hP251bGw6RGModGhpcyxmdW5jdGlvbihiKXtyZXR1cm4gYi5pZD09YX0sZnVuY3Rpb24oYSl7cmV0dXJuISFhfSlbMF18fG51bGx9fSk7dmFyIEpjPUIoe2dldCBhY3RpdmVFbGVtZW50KCl7dmFyIGE9dy5tP2RvY3VtZW50Ll9fc2hhZHlfbmF0aXZlX2FjdGl2ZUVsZW1lbnQ6ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtpZighYXx8IWEubm9kZVR5cGUpcmV0dXJuIG51bGw7dmFyIGI9ISF6KHRoaXMpO2lmKCEodGhpcz09PWRvY3VtZW50fHxiJiZ0aGlzLmhvc3QhPT1hJiZ0aGlzLmhvc3QuX19zaGFkeV9uYXRpdmVfY29udGFpbnMoYSkpKXJldHVybiBudWxsO2ZvcihiPXhjKGEpO2ImJmIhPT10aGlzOylhPWIuaG9zdCxiPXhjKGEpO3JldHVybiB0aGlzPT09ZG9jdW1lbnQ/Yj9udWxsOmE6Yj09PXRoaXM/YTpudWxsfX0pO3ZhciBLYz1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoImluZXJ0IiksTGM9Qih7Z2V0IGlubmVySFRNTCgpe3JldHVybiB5KHRoaXMpP2tiKCJ0ZW1wbGF0ZSI9PT10aGlzLmxvY2FsTmFtZT90aGlzLmNvbnRlbnQ6dGhpcyxmdW5jdGlvbihhKXtyZXR1cm4gYS5fX3NoYWR5X2NoaWxkTm9kZXN9KTp0aGlzLl9fc2hhZHlfbmF0aXZlX2lubmVySFRNTH0sc2V0IGlubmVySFRNTChhKXtpZigidGVtcGxhdGUiPT09dGhpcy5sb2NhbE5hbWUpdGhpcy5fX3NoYWR5X25hdGl2ZV9pbm5lckhUTUw9YTtlbHNle3RjKHRoaXMpO3ZhciBiPXRoaXMubG9jYWxOYW1lfHwiZGl2IjtiPXRoaXMubmFtZXNwYWNlVVJJJiZ0aGlzLm5hbWVzcGFjZVVSSSE9PUtjLm5hbWVzcGFjZVVSST9LYy5jcmVhdGVFbGVtZW50TlModGhpcy5uYW1lc3BhY2VVUkksYik6S2MuY3JlYXRlRWxlbWVudChiKTtmb3Iody5tP2IuX19zaGFkeV9uYXRpdmVfaW5uZXJIVE1MPWE6Yi5pbm5lckhUTUw9CmE7YT1iLl9fc2hhZHlfZmlyc3RDaGlsZDspdGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShhKX19fSk7dmFyIE1jPUIoe2FkZEV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oYSxiLGMpeyJvYmplY3QiIT09dHlwZW9mIGMmJihjPXtjYXB0dXJlOiEhY30pO2MuJD10aGlzO3RoaXMuaG9zdC5fX3NoYWR5X2FkZEV2ZW50TGlzdGVuZXIoYSxiLGMpfSxyZW1vdmVFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGEsYixjKXsib2JqZWN0IiE9PXR5cGVvZiBjJiYoYz17Y2FwdHVyZTohIWN9KTtjLiQ9dGhpczt0aGlzLmhvc3QuX19zaGFkeV9yZW1vdmVFdmVudExpc3RlbmVyKGEsYixjKX19KTtmdW5jdGlvbiBOYyhhLGIpe0EoYSxNYyxiKTtBKGEsSmMsYik7QShhLExjLGIpO0EoYSxGYyxiKTt3LkomJiFiPyhBKGEsQ2MsYiksQShhLEljLGIpKTp3Lm18fChBKGEsQWIpLEEoYSx6YikpfTt2YXIgT2M9e30sUGM9dy5kZWZlckNvbm5lY3Rpb25DYWxsYmFja3MmJiJsb2FkaW5nIj09PWRvY3VtZW50LnJlYWR5U3RhdGUsUWM7ZnVuY3Rpb24gUmMoYSl7dmFyIGI9W107ZG8gYi51bnNoaWZ0KGEpO3doaWxlKGE9YS5fX3NoYWR5X3BhcmVudE5vZGUpO3JldHVybiBifQpmdW5jdGlvbiBTYyhhLGIsYyl7aWYoYSE9PU9jKXRocm93IG5ldyBUeXBlRXJyb3IoIklsbGVnYWwgY29uc3RydWN0b3IiKTt0aGlzLnphPSJTaGFkeVJvb3QiO3RoaXMuaG9zdD1iO3RoaXMubW9kZT1jJiZjLm1vZGU7amMoYik7YT11KGIpO2Eucm9vdD10aGlzO2EucGE9ImNsb3NlZCIhPT10aGlzLm1vZGU/dGhpczpudWxsO2E9dSh0aGlzKTthLmZpcnN0Q2hpbGQ9YS5sYXN0Q2hpbGQ9YS5wYXJlbnROb2RlPWEubmV4dFNpYmxpbmc9YS5wcmV2aW91c1NpYmxpbmc9bnVsbDthLmNoaWxkTm9kZXM9W107dGhpcy5iYT10aGlzLkI9ITE7dGhpcy5jPXRoaXMuYj10aGlzLmE9bnVsbDtpZih3LnByZWZlclBlcmZvcm1hbmNlKWZvcig7YT1iLl9fc2hhZHlfbmF0aXZlX2ZpcnN0Q2hpbGQ7KWIuX19zaGFkeV9uYXRpdmVfcmVtb3ZlQ2hpbGQoYSk7ZWxzZSBBYyh0aGlzKX1mdW5jdGlvbiBBYyhhKXthLkJ8fChhLkI9ITAsWWEoZnVuY3Rpb24oKXtyZXR1cm4gVGMoYSl9KSl9CmZ1bmN0aW9uIFRjKGEpe3ZhciBiO2lmKGI9YS5CKXtmb3IodmFyIGM7YTspYTp7YS5CJiYoYz1hKSxiPWE7YT1iLmhvc3QuX19zaGFkeV9nZXRSb290Tm9kZSgpO2lmKHooYSkmJihiPXYoYi5ob3N0KSkmJjA8Yi5OKWJyZWFrIGE7YT12b2lkIDB9Yj1jfShjPWIpJiZjLl9yZW5kZXJTZWxmKCl9ClNjLnByb3RvdHlwZS5fcmVuZGVyU2VsZj1mdW5jdGlvbigpe3ZhciBhPVBjO1BjPSEwO3RoaXMuQj0hMTtpZih0aGlzLmEpe1VjKHRoaXMpO2Zvcih2YXIgYj0wLGM7Yjx0aGlzLmEubGVuZ3RoO2IrKyl7Yz10aGlzLmFbYl07dmFyIGQ9dihjKSxlPWQuYXNzaWduZWROb2RlcztkLmFzc2lnbmVkTm9kZXM9W107ZC5EPVtdO2lmKGQuY2E9ZSlmb3IoZD0wO2Q8ZS5sZW5ndGg7ZCsrKXt2YXIgZj12KGVbZF0pO2YuUD1mLmFzc2lnbmVkU2xvdDtmLmFzc2lnbmVkU2xvdD09PWMmJihmLmFzc2lnbmVkU2xvdD1udWxsKX19Zm9yKGI9dGhpcy5ob3N0Ll9fc2hhZHlfZmlyc3RDaGlsZDtiO2I9Yi5fX3NoYWR5X25leHRTaWJsaW5nKVZjKHRoaXMsYik7Zm9yKGI9MDtiPHRoaXMuYS5sZW5ndGg7YisrKXtjPXRoaXMuYVtiXTtlPXYoYyk7aWYoIWUuYXNzaWduZWROb2Rlcy5sZW5ndGgpZm9yKGQ9Yy5fX3NoYWR5X2ZpcnN0Q2hpbGQ7ZDtkPWQuX19zaGFkeV9uZXh0U2libGluZylWYyh0aGlzLApkLGMpOyhkPShkPXYoYy5fX3NoYWR5X3BhcmVudE5vZGUpKSYmZC5yb290KSYmKE1hKGQpfHxkLkIpJiZkLl9yZW5kZXJTZWxmKCk7V2ModGhpcyxlLkQsZS5hc3NpZ25lZE5vZGVzKTtpZihkPWUuY2Epe2ZvcihmPTA7ZjxkLmxlbmd0aDtmKyspdihkW2ZdKS5QPW51bGw7ZS5jYT1udWxsO2QubGVuZ3RoPmUuYXNzaWduZWROb2Rlcy5sZW5ndGgmJihlLlQ9ITApfWUuVCYmKGUuVD0hMSxYYyh0aGlzLGMpKX1jPXRoaXMuYTtiPVtdO2ZvcihlPTA7ZTxjLmxlbmd0aDtlKyspZD1jW2VdLl9fc2hhZHlfcGFyZW50Tm9kZSwoZj12KGQpKSYmZi5yb290fHwhKDA+Yi5pbmRleE9mKGQpKXx8Yi5wdXNoKGQpO2ZvcihjPTA7YzxiLmxlbmd0aDtjKyspe2Y9YltjXTtlPWY9PT10aGlzP3RoaXMuaG9zdDpmO2Q9W107Zj1mLl9fc2hhZHlfY2hpbGROb2Rlcztmb3IodmFyIGc9MDtnPGYubGVuZ3RoO2crKyl7dmFyIGg9ZltnXTtpZigic2xvdCI9PWgubG9jYWxOYW1lKXtoPXYoaCkuRDtmb3IodmFyIGs9CjA7azxoLmxlbmd0aDtrKyspZC5wdXNoKGhba10pfWVsc2UgZC5wdXNoKGgpfWY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZS5fX3NoYWR5X25hdGl2ZV9jaGlsZE5vZGVzKTtnPWVjKGQsZC5sZW5ndGgsZixmLmxlbmd0aCk7az1oPTA7Zm9yKHZhciBsPXZvaWQgMDtoPGcubGVuZ3RoJiYobD1nW2hdKTtoKyspe2Zvcih2YXIgbT0wLHE9dm9pZCAwO208bC5MLmxlbmd0aCYmKHE9bC5MW21dKTttKyspcS5fX3NoYWR5X25hdGl2ZV9wYXJlbnROb2RlPT09ZSYmZS5fX3NoYWR5X25hdGl2ZV9yZW1vdmVDaGlsZChxKSxmLnNwbGljZShsLmluZGV4K2ssMSk7ay09bC5SfWs9MDtmb3IobD12b2lkIDA7azxnLmxlbmd0aCYmKGw9Z1trXSk7aysrKWZvcihoPWZbbC5pbmRleF0sbT1sLmluZGV4O208bC5pbmRleCtsLlI7bSsrKXE9ZFttXSxlLl9fc2hhZHlfbmF0aXZlX2luc2VydEJlZm9yZShxLGgpLGYuc3BsaWNlKG0sMCxxKX19aWYoIXcucHJlZmVyUGVyZm9ybWFuY2UmJiF0aGlzLmJhKWZvcihiPQp0aGlzLmhvc3QuX19zaGFkeV9jaGlsZE5vZGVzLGM9MCxlPWIubGVuZ3RoO2M8ZTtjKyspZD1iW2NdLGY9dihkKSxkLl9fc2hhZHlfbmF0aXZlX3BhcmVudE5vZGUhPT10aGlzLmhvc3R8fCJzbG90IiE9PWQubG9jYWxOYW1lJiZmLmFzc2lnbmVkU2xvdHx8dGhpcy5ob3N0Ll9fc2hhZHlfbmF0aXZlX3JlbW92ZUNoaWxkKGQpO3RoaXMuYmE9ITA7UGM9YTtRYyYmUWMoKX07ZnVuY3Rpb24gVmMoYSxiLGMpe3ZhciBkPXUoYiksZT1kLlA7ZC5QPW51bGw7Y3x8KGM9KGE9YS5iW2IuX19zaGFkeV9zbG90fHwiX19jYXRjaGFsbCJdKSYmYVswXSk7Yz8odShjKS5hc3NpZ25lZE5vZGVzLnB1c2goYiksZC5hc3NpZ25lZFNsb3Q9Yyk6ZC5hc3NpZ25lZFNsb3Q9dm9pZCAwO2UhPT1kLmFzc2lnbmVkU2xvdCYmZC5hc3NpZ25lZFNsb3QmJih1KGQuYXNzaWduZWRTbG90KS5UPSEwKX0KZnVuY3Rpb24gV2MoYSxiLGMpe2Zvcih2YXIgZD0wLGU9dm9pZCAwO2Q8Yy5sZW5ndGgmJihlPWNbZF0pO2QrKylpZigic2xvdCI9PWUubG9jYWxOYW1lKXt2YXIgZj12KGUpLmFzc2lnbmVkTm9kZXM7ZiYmZi5sZW5ndGgmJldjKGEsYixmKX1lbHNlIGIucHVzaChjW2RdKX1mdW5jdGlvbiBYYyhhLGIpe2IuX19zaGFkeV9uYXRpdmVfZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInNsb3RjaGFuZ2UiKSk7Yj12KGIpO2IuYXNzaWduZWRTbG90JiZYYyhhLGIuYXNzaWduZWRTbG90KX0KZnVuY3Rpb24gVWMoYSl7aWYoYS5jJiZhLmMubGVuZ3RoKXtmb3IodmFyIGI9YS5jLGMsZD0wO2Q8Yi5sZW5ndGg7ZCsrKXt2YXIgZT1iW2RdO2pjKGUpO3ZhciBmPWUuX19zaGFkeV9wYXJlbnROb2RlO2pjKGYpO2Y9dihmKTtmLk49KGYuTnx8MCkrMTtmPVljKGUpO2EuYltmXT8oYz1jfHx7fSxjW2ZdPSEwLGEuYltmXS5wdXNoKGUpKTphLmJbZl09W2VdO2EuYS5wdXNoKGUpfWlmKGMpZm9yKHZhciBnIGluIGMpYS5iW2ddPVpjKGEuYltnXSk7YS5jPVtdfX1mdW5jdGlvbiBZYyhhKXt2YXIgYj1hLm5hbWV8fGEuZ2V0QXR0cmlidXRlKCJuYW1lIil8fCJfX2NhdGNoYWxsIjtyZXR1cm4gYS53YT1ifQpmdW5jdGlvbiBaYyhhKXtyZXR1cm4gYS5zb3J0KGZ1bmN0aW9uKGEsYyl7YT1SYyhhKTtmb3IodmFyIGI9UmMoYyksZT0wO2U8YS5sZW5ndGg7ZSsrKXtjPWFbZV07dmFyIGY9YltlXTtpZihjIT09ZilyZXR1cm4gYT1BcnJheS5mcm9tKGMuX19zaGFkeV9wYXJlbnROb2RlLl9fc2hhZHlfY2hpbGROb2RlcyksYS5pbmRleE9mKGMpLWEuaW5kZXhPZihmKX19KX0KZnVuY3Rpb24gQmMoYSxiKXtpZihhLmEpe1VjKGEpO3ZhciBjPWEuYixkO2ZvcihkIGluIGMpZm9yKHZhciBlPWNbZF0sZj0wO2Y8ZS5sZW5ndGg7ZisrKXt2YXIgZz1lW2ZdO2lmKFVhKGIsZykpe2Uuc3BsaWNlKGYsMSk7dmFyIGg9YS5hLmluZGV4T2YoZyk7MDw9aCYmKGEuYS5zcGxpY2UoaCwxKSwoaD12KGcuX19zaGFkeV9wYXJlbnROb2RlKSkmJmguTiYmaC5OLS0pO2YtLTtnPXYoZyk7aWYoaD1nLkQpZm9yKHZhciBrPTA7azxoLmxlbmd0aDtrKyspe3ZhciBsPWhba10sbT1sLl9fc2hhZHlfbmF0aXZlX3BhcmVudE5vZGU7bSYmbS5fX3NoYWR5X25hdGl2ZV9yZW1vdmVDaGlsZChsKX1nLkQ9W107Zy5hc3NpZ25lZE5vZGVzPVtdO2g9ITB9fXJldHVybiBofX1mdW5jdGlvbiBNYShhKXtVYyhhKTtyZXR1cm4hKCFhLmF8fCFhLmEubGVuZ3RoKX0KKGZ1bmN0aW9uKGEpe2EuX19wcm90b19fPURvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlO05jKGEsIl9fc2hhZHlfIik7TmMoYSk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYSx7bm9kZVR5cGU6e3ZhbHVlOk5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSxjb25maWd1cmFibGU6ITB9LG5vZGVOYW1lOnt2YWx1ZToiI2RvY3VtZW50LWZyYWdtZW50Iixjb25maWd1cmFibGU6ITB9LG5vZGVWYWx1ZTp7dmFsdWU6bnVsbCxjb25maWd1cmFibGU6ITB9fSk7WyJsb2NhbE5hbWUiLCJuYW1lc3BhY2VVUkkiLCJwcmVmaXgiXS5mb3JFYWNoKGZ1bmN0aW9uKGIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLGIse3ZhbHVlOnZvaWQgMCxjb25maWd1cmFibGU6ITB9KX0pO1sib3duZXJEb2N1bWVudCIsImJhc2VVUkkiLCJpc0Nvbm5lY3RlZCJdLmZvckVhY2goZnVuY3Rpb24oYil7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaG9zdFtiXX0sCmNvbmZpZ3VyYWJsZTohMH0pfSl9KShTYy5wcm90b3R5cGUpOwppZih3aW5kb3cuY3VzdG9tRWxlbWVudHMmJncuZWEmJiF3LnByZWZlclBlcmZvcm1hbmNlKXt2YXIgJGM9bmV3IE1hcDtRYz1mdW5jdGlvbigpe3ZhciBhPVtdOyRjLmZvckVhY2goZnVuY3Rpb24oYixjKXthLnB1c2goW2MsYl0pfSk7JGMuY2xlYXIoKTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIGM9YVtiXVswXTthW2JdWzFdP2MudWEoKTpjLnZhKCl9fTtQYyYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicmVhZHlzdGF0ZWNoYW5nZSIsZnVuY3Rpb24oKXtQYz0hMTtRYygpfSx7b25jZTohMH0pO3ZhciBhZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9MCxlPSJfX2lzQ29ubmVjdGVkIitkKys7aWYoYnx8YylhLnByb3RvdHlwZS5jb25uZWN0ZWRDYWxsYmFjaz1hLnByb3RvdHlwZS51YT1mdW5jdGlvbigpe1BjPyRjLnNldCh0aGlzLCEwKTp0aGlzW2VdfHwodGhpc1tlXT0hMCxiJiZiLmNhbGwodGhpcykpfSxhLnByb3RvdHlwZS5kaXNjb25uZWN0ZWRDYWxsYmFjaz0KYS5wcm90b3R5cGUudmE9ZnVuY3Rpb24oKXtQYz90aGlzLmlzQ29ubmVjdGVkfHwkYy5zZXQodGhpcywhMSk6dGhpc1tlXSYmKHRoaXNbZV09ITEsYyYmYy5jYWxsKHRoaXMpKX07cmV0dXJuIGF9LGJkPXdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmU7T2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdy5DdXN0b21FbGVtZW50UmVnaXN0cnkucHJvdG90eXBlLCJkZWZpbmUiLHt2YWx1ZTpmdW5jdGlvbihhLGIpe3ZhciBjPWIucHJvdG90eXBlLmNvbm5lY3RlZENhbGxiYWNrLGQ9Yi5wcm90b3R5cGUuZGlzY29ubmVjdGVkQ2FsbGJhY2s7YmQuY2FsbCh3aW5kb3cuY3VzdG9tRWxlbWVudHMsYSxhZChiLGMsZCkpO2IucHJvdG90eXBlLmNvbm5lY3RlZENhbGxiYWNrPWM7Yi5wcm90b3R5cGUuZGlzY29ubmVjdGVkQ2FsbGJhY2s9ZH19KX1mdW5jdGlvbiB4YyhhKXthPWEuX19zaGFkeV9nZXRSb290Tm9kZSgpO2lmKHooYSkpcmV0dXJuIGF9O2Z1bmN0aW9uIGNkKGEpe3RoaXMubm9kZT1hfW49Y2QucHJvdG90eXBlO24uYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2FkZEV2ZW50TGlzdGVuZXIoYSxiLGMpfTtuLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9yZW1vdmVFdmVudExpc3RlbmVyKGEsYixjKX07bi5hcHBlbmRDaGlsZD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfYXBwZW5kQ2hpbGQoYSl9O24uaW5zZXJ0QmVmb3JlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2luc2VydEJlZm9yZShhLGIpfTtuLnJlbW92ZUNoaWxkPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9yZW1vdmVDaGlsZChhKX07bi5yZXBsYWNlQ2hpbGQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcmVwbGFjZUNoaWxkKGEsYil9OwpuLmNsb25lTm9kZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfY2xvbmVOb2RlKGEpfTtuLmdldFJvb3ROb2RlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9nZXRSb290Tm9kZShhKX07bi5jb250YWlucz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfY29udGFpbnMoYSl9O24uZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfZGlzcGF0Y2hFdmVudChhKX07bi5zZXRBdHRyaWJ1dGU9ZnVuY3Rpb24oYSxiKXt0aGlzLm5vZGUuX19zaGFkeV9zZXRBdHRyaWJ1dGUoYSxiKX07bi5nZXRBdHRyaWJ1dGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X25hdGl2ZV9nZXRBdHRyaWJ1dGUoYSl9O24uaGFzQXR0cmlidXRlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9uYXRpdmVfaGFzQXR0cmlidXRlKGEpfTtuLnJlbW92ZUF0dHJpYnV0ZT1mdW5jdGlvbihhKXt0aGlzLm5vZGUuX19zaGFkeV9yZW1vdmVBdHRyaWJ1dGUoYSl9OwpuLmF0dGFjaFNoYWRvdz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfYXR0YWNoU2hhZG93KGEpfTtuLmZvY3VzPWZ1bmN0aW9uKCl7dGhpcy5ub2RlLl9fc2hhZHlfbmF0aXZlX2ZvY3VzKCl9O24uYmx1cj1mdW5jdGlvbigpe3RoaXMubm9kZS5fX3NoYWR5X2JsdXIoKX07bi5pbXBvcnROb2RlPWZ1bmN0aW9uKGEsYil7aWYodGhpcy5ub2RlLm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9OT0RFKXJldHVybiB0aGlzLm5vZGUuX19zaGFkeV9pbXBvcnROb2RlKGEsYil9O24uZ2V0RWxlbWVudEJ5SWQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5ub2RlLm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9OT0RFKXJldHVybiB0aGlzLm5vZGUuX19zaGFkeV9nZXRFbGVtZW50QnlJZChhKX07bi5xdWVyeVNlbGVjdG9yPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9xdWVyeVNlbGVjdG9yKGEpfTsKbi5xdWVyeVNlbGVjdG9yQWxsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3F1ZXJ5U2VsZWN0b3JBbGwoYSxiKX07bi5hc3NpZ25lZE5vZGVzPWZ1bmN0aW9uKGEpe2lmKCJzbG90Ij09PXRoaXMubm9kZS5sb2NhbE5hbWUpcmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2Fzc2lnbmVkTm9kZXMoYSl9OwpwLk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNkLnByb3RvdHlwZSx7YWN0aXZlRWxlbWVudDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7aWYoeih0aGlzLm5vZGUpfHx0aGlzLm5vZGUubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX05PREUpcmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2FjdGl2ZUVsZW1lbnR9fSxfYWN0aXZlRWxlbWVudDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWN0aXZlRWxlbWVudH19LGhvc3Q6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe2lmKHoodGhpcy5ub2RlKSlyZXR1cm4gdGhpcy5ub2RlLmhvc3R9fSxwYXJlbnROb2RlOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcGFyZW50Tm9kZX19LGZpcnN0Q2hpbGQ6e2NvbmZpZ3VyYWJsZTohMCwKZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfZmlyc3RDaGlsZH19LGxhc3RDaGlsZDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2xhc3RDaGlsZH19LG5leHRTaWJsaW5nOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfbmV4dFNpYmxpbmd9fSxwcmV2aW91c1NpYmxpbmc6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9wcmV2aW91c1NpYmxpbmd9fSxjaGlsZE5vZGVzOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfY2hpbGROb2Rlc319LHBhcmVudEVsZW1lbnQ6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLApnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcGFyZW50RWxlbWVudH19LGZpcnN0RWxlbWVudENoaWxkOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfZmlyc3RFbGVtZW50Q2hpbGR9fSxsYXN0RWxlbWVudENoaWxkOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfbGFzdEVsZW1lbnRDaGlsZH19LG5leHRFbGVtZW50U2libGluZzp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X25leHRFbGVtZW50U2libGluZ319LHByZXZpb3VzRWxlbWVudFNpYmxpbmc6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9wcmV2aW91c0VsZW1lbnRTaWJsaW5nfX0sCmNoaWxkcmVuOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfY2hpbGRyZW59fSxjaGlsZEVsZW1lbnRDb3VudDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2NoaWxkRWxlbWVudENvdW50fX0sc2hhZG93Um9vdDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3NoYWRvd1Jvb3R9fSxhc3NpZ25lZFNsb3Q6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9hc3NpZ25lZFNsb3R9fSxpc0Nvbm5lY3RlZDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2lzQ29ubmVjdGVkfX0saW5uZXJIVE1MOntjb25maWd1cmFibGU6ITAsCmVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2lubmVySFRNTH0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMubm9kZS5fX3NoYWR5X2lubmVySFRNTD1hfX0sdGV4dENvbnRlbnQ6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV90ZXh0Q29udGVudH0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMubm9kZS5fX3NoYWR5X3RleHRDb250ZW50PWF9fSxzbG90Ontjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfc2xvdH0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMubm9kZS5fX3NoYWR5X3Nsb3Q9YX19fSk7CmNjLmZvckVhY2goZnVuY3Rpb24oYSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGNkLnByb3RvdHlwZSxhLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlWyJfX3NoYWR5XyIrYV19LHNldDpmdW5jdGlvbihiKXt0aGlzLm5vZGVbIl9fc2hhZHlfIithXT1ifSxjb25maWd1cmFibGU6ITB9KX0pO3ZhciBkZD1uZXcgV2Vha01hcDtmdW5jdGlvbiBlZChhKXtpZih6KGEpfHxhIGluc3RhbmNlb2YgY2QpcmV0dXJuIGE7dmFyIGI9ZGQuZ2V0KGEpO2J8fChiPW5ldyBjZChhKSxkZC5zZXQoYSxiKSk7cmV0dXJuIGJ9O3ZhciBmZD1CKHtkaXNwYXRjaEV2ZW50OmZ1bmN0aW9uKGEpe1phKCk7cmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfZGlzcGF0Y2hFdmVudChhKX0sYWRkRXZlbnRMaXN0ZW5lcjpVYixyZW1vdmVFdmVudExpc3RlbmVyOldifSk7dmFyIGdkPUIoe2dldCBhc3NpZ25lZFNsb3QoKXt2YXIgYT10aGlzLl9fc2hhZHlfcGFyZW50Tm9kZTsoYT1hJiZhLl9fc2hhZHlfc2hhZG93Um9vdCkmJlRjKGEpO3JldHVybihhPXYodGhpcykpJiZhLmFzc2lnbmVkU2xvdHx8bnVsbH19KTt2YXIgaGQ9d2luZG93LmRvY3VtZW50O2Z1bmN0aW9uIGlkKGEsYil7aWYoInNsb3QiPT09YilhPWEuX19zaGFkeV9wYXJlbnROb2RlLExhKGEpJiZBYyh2KGEpLnJvb3QpO2Vsc2UgaWYoInNsb3QiPT09YS5sb2NhbE5hbWUmJiJuYW1lIj09PWImJihiPXhjKGEpKSl7aWYoYi5hKXtVYyhiKTt2YXIgYz1hLndhLGQ9WWMoYSk7aWYoZCE9PWMpe2M9Yi5iW2NdO3ZhciBlPWMuaW5kZXhPZihhKTswPD1lJiZjLnNwbGljZShlLDEpO2M9Yi5iW2RdfHwoYi5iW2RdPVtdKTtjLnB1c2goYSk7MTxjLmxlbmd0aCYmKGIuYltkXT1aYyhjKSl9fUFjKGIpfX0KdmFyIGpkPUIoe2dldCBwcmV2aW91c0VsZW1lbnRTaWJsaW5nKCl7dmFyIGE9dih0aGlzKTtpZihhJiZ2b2lkIDAhPT1hLnByZXZpb3VzU2libGluZyl7Zm9yKGE9dGhpcy5fX3NoYWR5X3ByZXZpb3VzU2libGluZzthJiZhLm5vZGVUeXBlIT09Tm9kZS5FTEVNRU5UX05PREU7KWE9YS5fX3NoYWR5X3ByZXZpb3VzU2libGluZztyZXR1cm4gYX1yZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9wcmV2aW91c0VsZW1lbnRTaWJsaW5nfSxnZXQgbmV4dEVsZW1lbnRTaWJsaW5nKCl7dmFyIGE9dih0aGlzKTtpZihhJiZ2b2lkIDAhPT1hLm5leHRTaWJsaW5nKXtmb3IoYT10aGlzLl9fc2hhZHlfbmV4dFNpYmxpbmc7YSYmYS5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFOylhPWEuX19zaGFkeV9uZXh0U2libGluZztyZXR1cm4gYX1yZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9uZXh0RWxlbWVudFNpYmxpbmd9LGdldCBzbG90KCl7cmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCJzbG90Iil9LApzZXQgc2xvdChhKXt0aGlzLl9fc2hhZHlfc2V0QXR0cmlidXRlKCJzbG90IixhKX0sZ2V0IHNoYWRvd1Jvb3QoKXt2YXIgYT12KHRoaXMpO3JldHVybiBhJiZhLnBhfHxudWxsfSxnZXQgY2xhc3NOYW1lKCl7cmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn0sc2V0IGNsYXNzTmFtZShhKXt0aGlzLl9fc2hhZHlfc2V0QXR0cmlidXRlKCJjbGFzcyIsYSl9LHNldEF0dHJpYnV0ZTpmdW5jdGlvbihhLGIpe2lmKHRoaXMub3duZXJEb2N1bWVudCE9PWhkKXRoaXMuX19zaGFkeV9uYXRpdmVfc2V0QXR0cmlidXRlKGEsYik7ZWxzZXt2YXIgYzsoYz1HKCkpJiYiY2xhc3MiPT09YT8oYy5zZXRFbGVtZW50Q2xhc3ModGhpcyxiKSxjPSEwKTpjPSExO2N8fCh0aGlzLl9fc2hhZHlfbmF0aXZlX3NldEF0dHJpYnV0ZShhLGIpLGlkKHRoaXMsYSkpfX0scmVtb3ZlQXR0cmlidXRlOmZ1bmN0aW9uKGEpe3RoaXMuX19zaGFkeV9uYXRpdmVfcmVtb3ZlQXR0cmlidXRlKGEpO2lkKHRoaXMsCmEpfSxhdHRhY2hTaGFkb3c6ZnVuY3Rpb24oYSl7aWYoIXRoaXMpdGhyb3cgRXJyb3IoIk11c3QgcHJvdmlkZSBhIGhvc3QuIik7aWYoIWEpdGhyb3cgRXJyb3IoIk5vdCBlbm91Z2ggYXJndW1lbnRzLiIpO3JldHVybiBuZXcgU2MoT2MsdGhpcyxhKX19KTt2YXIga2Q9Qih7Ymx1cjpmdW5jdGlvbigpe3ZhciBhPXYodGhpcyk7KGE9KGE9YSYmYS5yb290KSYmYS5hY3RpdmVFbGVtZW50KT9hLl9fc2hhZHlfYmx1cigpOnRoaXMuX19zaGFkeV9uYXRpdmVfYmx1cigpfX0pO2NjLmZvckVhY2goZnVuY3Rpb24oYSl7a2RbYV09e3NldDpmdW5jdGlvbihiKXt2YXIgYz11KHRoaXMpLGQ9YS5zdWJzdHJpbmcoMik7Yy5PW2FdJiZ0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZCxjLk9bYV0pO3RoaXMuX19zaGFkeV9hZGRFdmVudExpc3RlbmVyKGQsYik7Yy5PW2FdPWJ9LGdldDpmdW5jdGlvbigpe3ZhciBiPXYodGhpcyk7cmV0dXJuIGImJmIuT1thXX0sY29uZmlndXJhYmxlOiEwfX0pO3ZhciBsZD1CKHthc3NpZ25lZE5vZGVzOmZ1bmN0aW9uKGEpe2lmKCJzbG90Ij09PXRoaXMubG9jYWxOYW1lKXt2YXIgYj10aGlzLl9fc2hhZHlfZ2V0Um9vdE5vZGUoKTtiJiZ6KGIpJiZUYyhiKTtyZXR1cm4oYj12KHRoaXMpKT8oYSYmYS5mbGF0dGVuP2IuRDpiLmFzc2lnbmVkTm9kZXMpfHxbXTpbXX19fSk7dmFyIG1kPXdpbmRvdy5kb2N1bWVudCxuZD1CKHtpbXBvcnROb2RlOmZ1bmN0aW9uKGEsYil7aWYoYS5vd25lckRvY3VtZW50IT09bWR8fCJ0ZW1wbGF0ZSI9PT1hLmxvY2FsTmFtZSlyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9pbXBvcnROb2RlKGEsYik7dmFyIGM9dGhpcy5fX3NoYWR5X25hdGl2ZV9pbXBvcnROb2RlKGEsITEpO2lmKGIpe2E9YS5fX3NoYWR5X2NoaWxkTm9kZXM7Yj0wO2Zvcih2YXIgZDtiPGEubGVuZ3RoO2IrKylkPXRoaXMuX19zaGFkeV9pbXBvcnROb2RlKGFbYl0sITApLGMuX19zaGFkeV9hcHBlbmRDaGlsZChkKX1yZXR1cm4gY319KTt2YXIgb2Q9Qih7YWRkRXZlbnRMaXN0ZW5lcjpVYi5iaW5kKHdpbmRvdykscmVtb3ZlRXZlbnRMaXN0ZW5lcjpXYi5iaW5kKHdpbmRvdyl9KTt2YXIgcGQ9e307T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsInBhcmVudEVsZW1lbnQiKSYmKHBkLnBhcmVudEVsZW1lbnQ9Q2MucGFyZW50RWxlbWVudCk7T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsImNvbnRhaW5zIikmJihwZC5jb250YWlucz1DYy5jb250YWlucyk7T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsImNoaWxkcmVuIikmJihwZC5jaGlsZHJlbj1GYy5jaGlsZHJlbik7T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsImlubmVySFRNTCIpJiYocGQuaW5uZXJIVE1MPUxjLmlubmVySFRNTCk7T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsImNsYXNzTmFtZSIpJiYocGQuY2xhc3NOYW1lPWpkLmNsYXNzTmFtZSk7CnZhciBxZD17RXZlbnRUYXJnZXQ6W2ZkXSxOb2RlOltDYyx3aW5kb3cuRXZlbnRUYXJnZXQ/bnVsbDpmZF0sVGV4dDpbZ2RdLEVsZW1lbnQ6W2pkLEZjLGdkLCF3Lm18fCJpbm5lckhUTUwiaW4gRWxlbWVudC5wcm90b3R5cGU/TGM6bnVsbCx3aW5kb3cuSFRNTFNsb3RFbGVtZW50P251bGw6bGRdLEhUTUxFbGVtZW50OltrZCxwZF0sSFRNTFNsb3RFbGVtZW50OltsZF0sRG9jdW1lbnRGcmFnbWVudDpbSGMsSWNdLERvY3VtZW50OltuZCxIYyxJYyxKY10sV2luZG93OltvZF19LHJkPXcubT9udWxsOlsiaW5uZXJIVE1MIiwidGV4dENvbnRlbnQiXTtmdW5jdGlvbiBzZChhKXt2YXIgYj1hP251bGw6cmQsYz17fSxkO2ZvcihkIGluIHFkKWMuVz13aW5kb3dbZF0mJndpbmRvd1tkXS5wcm90b3R5cGUscWRbZF0uZm9yRWFjaChmdW5jdGlvbihjKXtyZXR1cm4gZnVuY3Rpb24oZCl7cmV0dXJuIGMuVyYmZCYmQShjLlcsZCxhLGIpfX0oYykpLGM9e1c6Yy5XfX07aWYody5lYSl7dmFyIFNoYWR5RE9NPXtpblVzZTp3LmVhLHBhdGNoOmZ1bmN0aW9uKGEpe0ZiKGEpO0ViKGEpO3JldHVybiBhfSxpc1NoYWR5Um9vdDp6LGVucXVldWU6WWEsZmx1c2g6WmEsZmx1c2hJbml0aWFsOmZ1bmN0aW9uKGEpeyFhLmJhJiZhLkImJlRjKGEpfSxzZXR0aW5nczp3LGZpbHRlck11dGF0aW9uczpkYixvYnNlcnZlQ2hpbGRyZW46YmIsdW5vYnNlcnZlQ2hpbGRyZW46Y2IsZGVmZXJDb25uZWN0aW9uQ2FsbGJhY2tzOncuZGVmZXJDb25uZWN0aW9uQ2FsbGJhY2tzLHByZWZlclBlcmZvcm1hbmNlOncucHJlZmVyUGVyZm9ybWFuY2UsaGFuZGxlc0R5bmFtaWNTY29waW5nOiEwLHdyYXA6dy5KP2VkOmZ1bmN0aW9uKGEpe3JldHVybiBhfSxXcmFwcGVyOmNkLGNvbXBvc2VkUGF0aDpNYixub1BhdGNoOncuSixuYXRpdmVNZXRob2RzOnFiLG5hdGl2ZVRyZWU6cmJ9O3dpbmRvdy5TaGFkeURPTT1TaGFkeURPTTt5YigpO3NkKCJfX3NoYWR5XyIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShkb2N1bWVudCwKIl9hY3RpdmVFbGVtZW50IixKYy5hY3RpdmVFbGVtZW50KTtBKFdpbmRvdy5wcm90b3R5cGUsb2QsIl9fc2hhZHlfIik7dy5KfHwoc2QoKSxiYygpKTtYYigpO3dpbmRvdy5FdmVudD1aYjt3aW5kb3cuQ3VzdG9tRXZlbnQ9JGI7d2luZG93Lk1vdXNlRXZlbnQ9YWM7d2luZG93LlNoYWRvd1Jvb3Q9U2N9O3ZhciB0ZD1uZXcgU2V0KCJhbm5vdGF0aW9uLXhtbCBjb2xvci1wcm9maWxlIGZvbnQtZmFjZSBmb250LWZhY2Utc3JjIGZvbnQtZmFjZS11cmkgZm9udC1mYWNlLWZvcm1hdCBmb250LWZhY2UtbmFtZSBtaXNzaW5nLWdseXBoIi5zcGxpdCgiICIpKTtmdW5jdGlvbiB1ZChhKXt2YXIgYj10ZC5oYXMoYSk7YT0vXlthLXpdWy4wLTlfYS16XSotW1wtLjAtOV9hLXpdKiQvLnRlc3QoYSk7cmV0dXJuIWImJmF9ZnVuY3Rpb24gSChhKXt2YXIgYj1hLmlzQ29ubmVjdGVkO2lmKHZvaWQgMCE9PWIpcmV0dXJuIGI7Zm9yKDthJiYhKGEuX19DRV9pc0ltcG9ydERvY3VtZW50fHxhIGluc3RhbmNlb2YgRG9jdW1lbnQpOylhPWEucGFyZW50Tm9kZXx8KHdpbmRvdy5TaGFkb3dSb290JiZhIGluc3RhbmNlb2YgU2hhZG93Um9vdD9hLmhvc3Q6dm9pZCAwKTtyZXR1cm4hKCFhfHwhKGEuX19DRV9pc0ltcG9ydERvY3VtZW50fHxhIGluc3RhbmNlb2YgRG9jdW1lbnQpKX0KZnVuY3Rpb24gdmQoYSxiKXtmb3IoO2ImJmIhPT1hJiYhYi5uZXh0U2libGluZzspYj1iLnBhcmVudE5vZGU7cmV0dXJuIGImJmIhPT1hP2IubmV4dFNpYmxpbmc6bnVsbH0KZnVuY3Rpb24gd2QoYSxiLGMpe2M9dm9pZCAwPT09Yz9uZXcgU2V0OmM7Zm9yKHZhciBkPWE7ZDspe2lmKGQubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSl7dmFyIGU9ZDtiKGUpO3ZhciBmPWUubG9jYWxOYW1lO2lmKCJsaW5rIj09PWYmJiJpbXBvcnQiPT09ZS5nZXRBdHRyaWJ1dGUoInJlbCIpKXtkPWUuaW1wb3J0O2lmKGQgaW5zdGFuY2VvZiBOb2RlJiYhYy5oYXMoZCkpZm9yKGMuYWRkKGQpLGQ9ZC5maXJzdENoaWxkO2Q7ZD1kLm5leHRTaWJsaW5nKXdkKGQsYixjKTtkPXZkKGEsZSk7Y29udGludWV9ZWxzZSBpZigidGVtcGxhdGUiPT09Zil7ZD12ZChhLGUpO2NvbnRpbnVlfWlmKGU9ZS5fX0NFX3NoYWRvd1Jvb3QpZm9yKGU9ZS5maXJzdENoaWxkO2U7ZT1lLm5leHRTaWJsaW5nKXdkKGUsYixjKX1kPWQuZmlyc3RDaGlsZD9kLmZpcnN0Q2hpbGQ6dmQoYSxkKX19ZnVuY3Rpb24gSShhLGIsYyl7YVtiXT1jfTtmdW5jdGlvbiB4ZCgpe3RoaXMuYT1uZXcgTWFwO3RoaXMuZz1uZXcgTWFwO3RoaXMuZj1bXTt0aGlzLmM9ITF9ZnVuY3Rpb24geWQoYSxiLGMpe2EuYS5zZXQoYixjKTthLmcuc2V0KGMuY29uc3RydWN0b3JGdW5jdGlvbixjKX1mdW5jdGlvbiB6ZChhLGIpe2EuYz0hMDthLmYucHVzaChiKX1mdW5jdGlvbiBBZChhLGIpe2EuYyYmd2QoYixmdW5jdGlvbihiKXtyZXR1cm4gYS5iKGIpfSl9eGQucHJvdG90eXBlLmI9ZnVuY3Rpb24oYSl7aWYodGhpcy5jJiYhYS5fX0NFX3BhdGNoZWQpe2EuX19DRV9wYXRjaGVkPSEwO2Zvcih2YXIgYj0wO2I8dGhpcy5mLmxlbmd0aDtiKyspdGhpcy5mW2JdKGEpfX07ZnVuY3Rpb24gSihhLGIpe3ZhciBjPVtdO3dkKGIsZnVuY3Rpb24oYSl7cmV0dXJuIGMucHVzaChhKX0pO2ZvcihiPTA7YjxjLmxlbmd0aDtiKyspe3ZhciBkPWNbYl07MT09PWQuX19DRV9zdGF0ZT9hLmNvbm5lY3RlZENhbGxiYWNrKGQpOkJkKGEsZCl9fQpmdW5jdGlvbiBLKGEsYil7dmFyIGM9W107d2QoYixmdW5jdGlvbihhKXtyZXR1cm4gYy5wdXNoKGEpfSk7Zm9yKGI9MDtiPGMubGVuZ3RoO2IrKyl7dmFyIGQ9Y1tiXTsxPT09ZC5fX0NFX3N0YXRlJiZhLmRpc2Nvbm5lY3RlZENhbGxiYWNrKGQpfX0KZnVuY3Rpb24gTChhLGIsYyl7Yz12b2lkIDA9PT1jP3t9OmM7dmFyIGQ9Yy5YYXx8bmV3IFNldCxlPWMuWXx8ZnVuY3Rpb24oYil7cmV0dXJuIEJkKGEsYil9LGY9W107d2QoYixmdW5jdGlvbihiKXtpZigibGluayI9PT1iLmxvY2FsTmFtZSYmImltcG9ydCI9PT1iLmdldEF0dHJpYnV0ZSgicmVsIikpe3ZhciBjPWIuaW1wb3J0O2MgaW5zdGFuY2VvZiBOb2RlJiYoYy5fX0NFX2lzSW1wb3J0RG9jdW1lbnQ9ITAsYy5fX0NFX2hhc1JlZ2lzdHJ5PSEwKTtjJiYiY29tcGxldGUiPT09Yy5yZWFkeVN0YXRlP2MuX19DRV9kb2N1bWVudExvYWRIYW5kbGVkPSEwOmIuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXt2YXIgYz1iLmltcG9ydDtpZighYy5fX0NFX2RvY3VtZW50TG9hZEhhbmRsZWQpe2MuX19DRV9kb2N1bWVudExvYWRIYW5kbGVkPSEwO3ZhciBmPW5ldyBTZXQoZCk7Zi5kZWxldGUoYyk7TChhLGMse1hhOmYsWTplfSl9fSl9ZWxzZSBmLnB1c2goYil9LGQpO2lmKGEuYylmb3IoYj0KMDtiPGYubGVuZ3RoO2IrKylhLmIoZltiXSk7Zm9yKGI9MDtiPGYubGVuZ3RoO2IrKyllKGZbYl0pfQpmdW5jdGlvbiBCZChhLGIpe2lmKHZvaWQgMD09PWIuX19DRV9zdGF0ZSl7dmFyIGM9Yi5vd25lckRvY3VtZW50O2lmKGMuZGVmYXVsdFZpZXd8fGMuX19DRV9pc0ltcG9ydERvY3VtZW50JiZjLl9fQ0VfaGFzUmVnaXN0cnkpaWYoYz1hLmEuZ2V0KGIubG9jYWxOYW1lKSl7Yy5jb25zdHJ1Y3Rpb25TdGFjay5wdXNoKGIpO3ZhciBkPWMuY29uc3RydWN0b3JGdW5jdGlvbjt0cnl7dHJ5e2lmKG5ldyBkIT09Yil0aHJvdyBFcnJvcigiVGhlIGN1c3RvbSBlbGVtZW50IGNvbnN0cnVjdG9yIGRpZCBub3QgcHJvZHVjZSB0aGUgZWxlbWVudCBiZWluZyB1cGdyYWRlZC4iKTt9ZmluYWxseXtjLmNvbnN0cnVjdGlvblN0YWNrLnBvcCgpfX1jYXRjaChnKXt0aHJvdyBiLl9fQ0Vfc3RhdGU9MixnO31iLl9fQ0Vfc3RhdGU9MTtiLl9fQ0VfZGVmaW5pdGlvbj1jO2lmKGMuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKWZvcihjPWMub2JzZXJ2ZWRBdHRyaWJ1dGVzLGQ9MDtkPGMubGVuZ3RoO2QrKyl7dmFyIGU9CmNbZF0sZj1iLmdldEF0dHJpYnV0ZShlKTtudWxsIT09ZiYmYS5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soYixlLG51bGwsZixudWxsKX1IKGIpJiZhLmNvbm5lY3RlZENhbGxiYWNrKGIpfX19eGQucHJvdG90eXBlLmNvbm5lY3RlZENhbGxiYWNrPWZ1bmN0aW9uKGEpe3ZhciBiPWEuX19DRV9kZWZpbml0aW9uO2IuY29ubmVjdGVkQ2FsbGJhY2smJmIuY29ubmVjdGVkQ2FsbGJhY2suY2FsbChhKX07eGQucHJvdG90eXBlLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWZ1bmN0aW9uKGEpe3ZhciBiPWEuX19DRV9kZWZpbml0aW9uO2IuZGlzY29ubmVjdGVkQ2FsbGJhY2smJmIuZGlzY29ubmVjdGVkQ2FsbGJhY2suY2FsbChhKX07CnhkLnByb3RvdHlwZS5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2s9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1hLl9fQ0VfZGVmaW5pdGlvbjtmLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayYmLTE8Zi5vYnNlcnZlZEF0dHJpYnV0ZXMuaW5kZXhPZihiKSYmZi5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2suY2FsbChhLGIsYyxkLGUpfTtmdW5jdGlvbiBDZChhKXt2YXIgYj1kb2N1bWVudDt0aGlzLmI9YTt0aGlzLmE9Yjt0aGlzLkY9dm9pZCAwO0wodGhpcy5iLHRoaXMuYSk7ImxvYWRpbmciPT09dGhpcy5hLnJlYWR5U3RhdGUmJih0aGlzLkY9bmV3IE11dGF0aW9uT2JzZXJ2ZXIodGhpcy5jLmJpbmQodGhpcykpLHRoaXMuRi5vYnNlcnZlKHRoaXMuYSx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KSl9ZnVuY3Rpb24gRGQoYSl7YS5GJiZhLkYuZGlzY29ubmVjdCgpfUNkLnByb3RvdHlwZS5jPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuYS5yZWFkeVN0YXRlOyJpbnRlcmFjdGl2ZSIhPT1iJiYiY29tcGxldGUiIT09Ynx8RGQodGhpcyk7Zm9yKGI9MDtiPGEubGVuZ3RoO2IrKylmb3IodmFyIGM9YVtiXS5hZGRlZE5vZGVzLGQ9MDtkPGMubGVuZ3RoO2QrKylMKHRoaXMuYixjW2RdKX07ZnVuY3Rpb24gRWQoKXt2YXIgYT10aGlzO3RoaXMuYT10aGlzLmg9dm9pZCAwO3RoaXMuYj1uZXcgUHJvbWlzZShmdW5jdGlvbihiKXthLmE9YjthLmgmJmIoYS5oKX0pfUVkLnByb3RvdHlwZS5yZXNvbHZlPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaCl0aHJvdyBFcnJvcigiQWxyZWFkeSByZXNvbHZlZC4iKTt0aGlzLmg9YTt0aGlzLmEmJnRoaXMuYShhKX07ZnVuY3Rpb24gTihhKXt0aGlzLmM9ITE7dGhpcy5hPWE7dGhpcy5sPW5ldyBNYXA7dGhpcy5mPWZ1bmN0aW9uKGEpe3JldHVybiBhKCl9O3RoaXMuYj0hMTt0aGlzLmc9W107dGhpcy5kYT1uZXcgQ2QoYSl9bj1OLnByb3RvdHlwZTsKbi5zYT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXM7aWYoIShiIGluc3RhbmNlb2YgRnVuY3Rpb24pKXRocm93IG5ldyBUeXBlRXJyb3IoIkN1c3RvbSBlbGVtZW50IGNvbnN0cnVjdG9ycyBtdXN0IGJlIGZ1bmN0aW9ucy4iKTtpZighdWQoYSkpdGhyb3cgbmV3IFN5bnRheEVycm9yKCJUaGUgZWxlbWVudCBuYW1lICciK2ErIicgaXMgbm90IHZhbGlkLiIpO2lmKHRoaXMuYS5hLmdldChhKSl0aHJvdyBFcnJvcigiQSBjdXN0b20gZWxlbWVudCB3aXRoIG5hbWUgJyIrYSsiJyBoYXMgYWxyZWFkeSBiZWVuIGRlZmluZWQuIik7aWYodGhpcy5jKXRocm93IEVycm9yKCJBIGN1c3RvbSBlbGVtZW50IGlzIGFscmVhZHkgYmVpbmcgZGVmaW5lZC4iKTt0aGlzLmM9ITA7dHJ5e3ZhciBkPWZ1bmN0aW9uKGEpe3ZhciBiPWVbYV07aWYodm9pZCAwIT09YiYmIShiIGluc3RhbmNlb2YgRnVuY3Rpb24pKXRocm93IEVycm9yKCJUaGUgJyIrYSsiJyBjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24uIik7CnJldHVybiBifSxlPWIucHJvdG90eXBlO2lmKCEoZSBpbnN0YW5jZW9mIE9iamVjdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiVGhlIGN1c3RvbSBlbGVtZW50IGNvbnN0cnVjdG9yJ3MgcHJvdG90eXBlIGlzIG5vdCBhbiBvYmplY3QuIik7dmFyIGY9ZCgiY29ubmVjdGVkQ2FsbGJhY2siKTt2YXIgZz1kKCJkaXNjb25uZWN0ZWRDYWxsYmFjayIpO3ZhciBoPWQoImFkb3B0ZWRDYWxsYmFjayIpO3ZhciBrPWQoImF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayIpO3ZhciBsPWIub2JzZXJ2ZWRBdHRyaWJ1dGVzfHxbXX1jYXRjaChtKXtyZXR1cm59ZmluYWxseXt0aGlzLmM9ITF9Yj17bG9jYWxOYW1lOmEsY29uc3RydWN0b3JGdW5jdGlvbjpiLGNvbm5lY3RlZENhbGxiYWNrOmYsZGlzY29ubmVjdGVkQ2FsbGJhY2s6ZyxhZG9wdGVkQ2FsbGJhY2s6aCxhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2s6ayxvYnNlcnZlZEF0dHJpYnV0ZXM6bCxjb25zdHJ1Y3Rpb25TdGFjazpbXX07eWQodGhpcy5hLAphLGIpO3RoaXMuZy5wdXNoKGIpO3RoaXMuYnx8KHRoaXMuYj0hMCx0aGlzLmYoZnVuY3Rpb24oKXtyZXR1cm4gRmQoYyl9KSl9O24uWT1mdW5jdGlvbihhKXtMKHRoaXMuYSxhKX07CmZ1bmN0aW9uIEZkKGEpe2lmKCExIT09YS5iKXthLmI9ITE7Zm9yKHZhciBiPWEuZyxjPVtdLGQ9bmV3IE1hcCxlPTA7ZTxiLmxlbmd0aDtlKyspZC5zZXQoYltlXS5sb2NhbE5hbWUsW10pO0woYS5hLGRvY3VtZW50LHtZOmZ1bmN0aW9uKGIpe2lmKHZvaWQgMD09PWIuX19DRV9zdGF0ZSl7dmFyIGU9Yi5sb2NhbE5hbWUsZj1kLmdldChlKTtmP2YucHVzaChiKTphLmEuYS5nZXQoZSkmJmMucHVzaChiKX19fSk7Zm9yKGU9MDtlPGMubGVuZ3RoO2UrKylCZChhLmEsY1tlXSk7Zm9yKDswPGIubGVuZ3RoOyl7dmFyIGY9Yi5zaGlmdCgpO2U9Zi5sb2NhbE5hbWU7Zj1kLmdldChmLmxvY2FsTmFtZSk7Zm9yKHZhciBnPTA7ZzxmLmxlbmd0aDtnKyspQmQoYS5hLGZbZ10pOyhlPWEubC5nZXQoZSkpJiZlLnJlc29sdmUodm9pZCAwKX19fW4uZ2V0PWZ1bmN0aW9uKGEpe2lmKGE9dGhpcy5hLmEuZ2V0KGEpKXJldHVybiBhLmNvbnN0cnVjdG9yRnVuY3Rpb259OwpuLnRhPWZ1bmN0aW9uKGEpe2lmKCF1ZChhKSlyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IFN5bnRheEVycm9yKCInIithKyInIGlzIG5vdCBhIHZhbGlkIGN1c3RvbSBlbGVtZW50IG5hbWUuIikpO3ZhciBiPXRoaXMubC5nZXQoYSk7aWYoYilyZXR1cm4gYi5iO2I9bmV3IEVkO3RoaXMubC5zZXQoYSxiKTt0aGlzLmEuYS5nZXQoYSkmJiF0aGlzLmcuc29tZShmdW5jdGlvbihiKXtyZXR1cm4gYi5sb2NhbE5hbWU9PT1hfSkmJmIucmVzb2x2ZSh2b2lkIDApO3JldHVybiBiLmJ9O24uUGE9ZnVuY3Rpb24oYSl7RGQodGhpcy5kYSk7dmFyIGI9dGhpcy5mO3RoaXMuZj1mdW5jdGlvbihjKXtyZXR1cm4gYShmdW5jdGlvbigpe3JldHVybiBiKGMpfSl9fTt3aW5kb3cuQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5PU47Ti5wcm90b3R5cGUuZGVmaW5lPU4ucHJvdG90eXBlLnNhO04ucHJvdG90eXBlLnVwZ3JhZGU9Ti5wcm90b3R5cGUuWTtOLnByb3RvdHlwZS5nZXQ9Ti5wcm90b3R5cGUuZ2V0OwpOLnByb3RvdHlwZS53aGVuRGVmaW5lZD1OLnByb3RvdHlwZS50YTtOLnByb3RvdHlwZS5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrPU4ucHJvdG90eXBlLlBhO3ZhciBHZD13aW5kb3cuRG9jdW1lbnQucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQsSGQ9d2luZG93LkRvY3VtZW50LnByb3RvdHlwZS5jcmVhdGVFbGVtZW50TlMsSWQ9d2luZG93LkRvY3VtZW50LnByb3RvdHlwZS5pbXBvcnROb2RlLEpkPXdpbmRvdy5Eb2N1bWVudC5wcm90b3R5cGUucHJlcGVuZCxLZD13aW5kb3cuRG9jdW1lbnQucHJvdG90eXBlLmFwcGVuZCxMZD13aW5kb3cuRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUucHJlcGVuZCxNZD13aW5kb3cuRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUuYXBwZW5kLE5kPXdpbmRvdy5Ob2RlLnByb3RvdHlwZS5jbG9uZU5vZGUsT2Q9d2luZG93Lk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkLFBkPXdpbmRvdy5Ob2RlLnByb3RvdHlwZS5pbnNlcnRCZWZvcmUsUWQ9d2luZG93Lk5vZGUucHJvdG90eXBlLnJlbW92ZUNoaWxkLFJkPXdpbmRvdy5Ob2RlLnByb3RvdHlwZS5yZXBsYWNlQ2hpbGQsU2Q9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cuTm9kZS5wcm90b3R5cGUsCiJ0ZXh0Q29udGVudCIpLFRkPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hdHRhY2hTaGFkb3csVWQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cuRWxlbWVudC5wcm90b3R5cGUsImlubmVySFRNTCIpLFZkPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5nZXRBdHRyaWJ1dGUsV2Q9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLnNldEF0dHJpYnV0ZSxYZD13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlLFlkPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5nZXRBdHRyaWJ1dGVOUyxaZD13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuc2V0QXR0cmlidXRlTlMsJGQ9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLnJlbW92ZUF0dHJpYnV0ZU5TLGFlPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5pbnNlcnRBZGphY2VudEVsZW1lbnQsYmU9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmluc2VydEFkamFjZW50SFRNTCxjZT13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUucHJlcGVuZCwKZGU9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmFwcGVuZCxlZT13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuYmVmb3JlLGZlPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hZnRlcixnZT13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUucmVwbGFjZVdpdGgsaGU9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLnJlbW92ZSxpZT13aW5kb3cuSFRNTEVsZW1lbnQsamU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cuSFRNTEVsZW1lbnQucHJvdG90eXBlLCJpbm5lckhUTUwiKSxrZT13aW5kb3cuSFRNTEVsZW1lbnQucHJvdG90eXBlLmluc2VydEFkamFjZW50RWxlbWVudCxsZT13aW5kb3cuSFRNTEVsZW1lbnQucHJvdG90eXBlLmluc2VydEFkamFjZW50SFRNTDt2YXIgbWU9bmV3IGZ1bmN0aW9uKCl7fTtmdW5jdGlvbiBuZSgpe3ZhciBhPW9lO3dpbmRvdy5IVE1MRWxlbWVudD1mdW5jdGlvbigpe2Z1bmN0aW9uIGIoKXt2YXIgYj10aGlzLmNvbnN0cnVjdG9yLGQ9YS5nLmdldChiKTtpZighZCl0aHJvdyBFcnJvcigiVGhlIGN1c3RvbSBlbGVtZW50IGJlaW5nIGNvbnN0cnVjdGVkIHdhcyBub3QgcmVnaXN0ZXJlZCB3aXRoIGBjdXN0b21FbGVtZW50c2AuIik7dmFyIGU9ZC5jb25zdHJ1Y3Rpb25TdGFjaztpZigwPT09ZS5sZW5ndGgpcmV0dXJuIGU9R2QuY2FsbChkb2N1bWVudCxkLmxvY2FsTmFtZSksT2JqZWN0LnNldFByb3RvdHlwZU9mKGUsYi5wcm90b3R5cGUpLGUuX19DRV9zdGF0ZT0xLGUuX19DRV9kZWZpbml0aW9uPWQsYS5iKGUpLGU7ZD1lLmxlbmd0aC0xO3ZhciBmPWVbZF07aWYoZj09PW1lKXRocm93IEVycm9yKCJUaGUgSFRNTEVsZW1lbnQgY29uc3RydWN0b3Igd2FzIGVpdGhlciBjYWxsZWQgcmVlbnRyYW50bHkgZm9yIHRoaXMgY29uc3RydWN0b3Igb3IgY2FsbGVkIG11bHRpcGxlIHRpbWVzLiIpOwplW2RdPW1lO09iamVjdC5zZXRQcm90b3R5cGVPZihmLGIucHJvdG90eXBlKTthLmIoZik7cmV0dXJuIGZ9Yi5wcm90b3R5cGU9aWUucHJvdG90eXBlO09iamVjdC5kZWZpbmVQcm9wZXJ0eShiLnByb3RvdHlwZSwiY29uc3RydWN0b3IiLHt3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTpifSk7cmV0dXJuIGJ9KCl9O2Z1bmN0aW9uIHBlKGEsYixjKXtmdW5jdGlvbiBkKGIpe3JldHVybiBmdW5jdGlvbihjKXtmb3IodmFyIGQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDsrK2UpZFtlXT1hcmd1bWVudHNbZV07ZT1bXTtmb3IodmFyIGY9W10sbD0wO2w8ZC5sZW5ndGg7bCsrKXt2YXIgbT1kW2xdO20gaW5zdGFuY2VvZiBFbGVtZW50JiZIKG0pJiZmLnB1c2gobSk7aWYobSBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQpZm9yKG09bS5maXJzdENoaWxkO207bT1tLm5leHRTaWJsaW5nKWUucHVzaChtKTtlbHNlIGUucHVzaChtKX1iLmFwcGx5KHRoaXMsZCk7Zm9yKGQ9MDtkPGYubGVuZ3RoO2QrKylLKGEsZltkXSk7aWYoSCh0aGlzKSlmb3IoZD0wO2Q8ZS5sZW5ndGg7ZCsrKWY9ZVtkXSxmIGluc3RhbmNlb2YgRWxlbWVudCYmSihhLGYpfX12b2lkIDAhPT1jLlYmJihiLnByZXBlbmQ9ZChjLlYpKTt2b2lkIDAhPT1jLmFwcGVuZCYmKGIuYXBwZW5kPWQoYy5hcHBlbmQpKX07ZnVuY3Rpb24gcWUoKXt2YXIgYT1vZTtJKERvY3VtZW50LnByb3RvdHlwZSwiY3JlYXRlRWxlbWVudCIsZnVuY3Rpb24oYil7aWYodGhpcy5fX0NFX2hhc1JlZ2lzdHJ5KXt2YXIgYz1hLmEuZ2V0KGIpO2lmKGMpcmV0dXJuIG5ldyBjLmNvbnN0cnVjdG9yRnVuY3Rpb259Yj1HZC5jYWxsKHRoaXMsYik7YS5iKGIpO3JldHVybiBifSk7SShEb2N1bWVudC5wcm90b3R5cGUsImltcG9ydE5vZGUiLGZ1bmN0aW9uKGIsYyl7Yj1JZC5jYWxsKHRoaXMsYiwhIWMpO3RoaXMuX19DRV9oYXNSZWdpc3RyeT9MKGEsYik6QWQoYSxiKTtyZXR1cm4gYn0pO0koRG9jdW1lbnQucHJvdG90eXBlLCJjcmVhdGVFbGVtZW50TlMiLGZ1bmN0aW9uKGIsYyl7aWYodGhpcy5fX0NFX2hhc1JlZ2lzdHJ5JiYobnVsbD09PWJ8fCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWIpKXt2YXIgZD1hLmEuZ2V0KGMpO2lmKGQpcmV0dXJuIG5ldyBkLmNvbnN0cnVjdG9yRnVuY3Rpb259Yj1IZC5jYWxsKHRoaXMsCmIsYyk7YS5iKGIpO3JldHVybiBifSk7cGUoYSxEb2N1bWVudC5wcm90b3R5cGUse1Y6SmQsYXBwZW5kOktkfSl9O2Z1bmN0aW9uIHJlKCl7ZnVuY3Rpb24gYShhLGQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJ0ZXh0Q29udGVudCIse2VudW1lcmFibGU6ZC5lbnVtZXJhYmxlLGNvbmZpZ3VyYWJsZTohMCxnZXQ6ZC5nZXQsc2V0OmZ1bmN0aW9uKGEpe2lmKHRoaXMubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSlkLnNldC5jYWxsKHRoaXMsYSk7ZWxzZXt2YXIgYz12b2lkIDA7aWYodGhpcy5maXJzdENoaWxkKXt2YXIgZT10aGlzLmNoaWxkTm9kZXMsaD1lLmxlbmd0aDtpZigwPGgmJkgodGhpcykpe2M9QXJyYXkoaCk7Zm9yKHZhciBrPTA7azxoO2srKyljW2tdPWVba119fWQuc2V0LmNhbGwodGhpcyxhKTtpZihjKWZvcihhPTA7YTxjLmxlbmd0aDthKyspSyhiLGNbYV0pfX19KX12YXIgYj1vZTtJKE5vZGUucHJvdG90eXBlLCJpbnNlcnRCZWZvcmUiLGZ1bmN0aW9uKGEsZCl7aWYoYSBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQpe3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5hcHBseShhLmNoaWxkTm9kZXMpOwphPVBkLmNhbGwodGhpcyxhLGQpO2lmKEgodGhpcykpZm9yKGQ9MDtkPGMubGVuZ3RoO2QrKylKKGIsY1tkXSk7cmV0dXJuIGF9Yz1IKGEpO2Q9UGQuY2FsbCh0aGlzLGEsZCk7YyYmSyhiLGEpO0godGhpcykmJkooYixhKTtyZXR1cm4gZH0pO0koTm9kZS5wcm90b3R5cGUsImFwcGVuZENoaWxkIixmdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCl7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmFwcGx5KGEuY2hpbGROb2Rlcyk7YT1PZC5jYWxsKHRoaXMsYSk7aWYoSCh0aGlzKSlmb3IodmFyIGU9MDtlPGMubGVuZ3RoO2UrKylKKGIsY1tlXSk7cmV0dXJuIGF9Yz1IKGEpO2U9T2QuY2FsbCh0aGlzLGEpO2MmJksoYixhKTtIKHRoaXMpJiZKKGIsYSk7cmV0dXJuIGV9KTtJKE5vZGUucHJvdG90eXBlLCJjbG9uZU5vZGUiLGZ1bmN0aW9uKGEpe2E9TmQuY2FsbCh0aGlzLCEhYSk7dGhpcy5vd25lckRvY3VtZW50Ll9fQ0VfaGFzUmVnaXN0cnk/TChiLGEpOgpBZChiLGEpO3JldHVybiBhfSk7SShOb2RlLnByb3RvdHlwZSwicmVtb3ZlQ2hpbGQiLGZ1bmN0aW9uKGEpe3ZhciBjPUgoYSksZT1RZC5jYWxsKHRoaXMsYSk7YyYmSyhiLGEpO3JldHVybiBlfSk7SShOb2RlLnByb3RvdHlwZSwicmVwbGFjZUNoaWxkIixmdW5jdGlvbihhLGQpe2lmKGEgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KXt2YXIgYz1BcnJheS5wcm90b3R5cGUuc2xpY2UuYXBwbHkoYS5jaGlsZE5vZGVzKTthPVJkLmNhbGwodGhpcyxhLGQpO2lmKEgodGhpcykpZm9yKEsoYixkKSxkPTA7ZDxjLmxlbmd0aDtkKyspSihiLGNbZF0pO3JldHVybiBhfWM9SChhKTt2YXIgZj1SZC5jYWxsKHRoaXMsYSxkKSxnPUgodGhpcyk7ZyYmSyhiLGQpO2MmJksoYixhKTtnJiZKKGIsYSk7cmV0dXJuIGZ9KTtTZCYmU2QuZ2V0P2EoTm9kZS5wcm90b3R5cGUsU2QpOnpkKGIsZnVuY3Rpb24oYil7YShiLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtmb3IodmFyIGE9CltdLGI9MDtiPHRoaXMuY2hpbGROb2Rlcy5sZW5ndGg7YisrKWEucHVzaCh0aGlzLmNoaWxkTm9kZXNbYl0udGV4dENvbnRlbnQpO3JldHVybiBhLmpvaW4oIiIpfSxzZXQ6ZnVuY3Rpb24oYSl7Zm9yKDt0aGlzLmZpcnN0Q2hpbGQ7KVFkLmNhbGwodGhpcyx0aGlzLmZpcnN0Q2hpbGQpO09kLmNhbGwodGhpcyxkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShhKSl9fSl9KX07ZnVuY3Rpb24gc2UoYSl7ZnVuY3Rpb24gYihiKXtyZXR1cm4gZnVuY3Rpb24oYyl7Zm9yKHZhciBkPVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7KytlKWRbZV09YXJndW1lbnRzW2VdO2U9W107Zm9yKHZhciBoPVtdLGs9MDtrPGQubGVuZ3RoO2srKyl7dmFyIGw9ZFtrXTtsIGluc3RhbmNlb2YgRWxlbWVudCYmSChsKSYmaC5wdXNoKGwpO2lmKGwgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KWZvcihsPWwuZmlyc3RDaGlsZDtsO2w9bC5uZXh0U2libGluZyllLnB1c2gobCk7ZWxzZSBlLnB1c2gobCl9Yi5hcHBseSh0aGlzLGQpO2ZvcihkPTA7ZDxoLmxlbmd0aDtkKyspSyhhLGhbZF0pO2lmKEgodGhpcykpZm9yKGQ9MDtkPGUubGVuZ3RoO2QrKyloPWVbZF0saCBpbnN0YW5jZW9mIEVsZW1lbnQmJkooYSxoKX19dmFyIGM9RWxlbWVudC5wcm90b3R5cGU7dm9pZCAwIT09ZWUmJihjLmJlZm9yZT1iKGVlKSk7dm9pZCAwIT09ZWUmJihjLmFmdGVyPWIoZmUpKTt2b2lkIDAhPT1nZSYmCkkoYywicmVwbGFjZVdpdGgiLGZ1bmN0aW9uKGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxhcmd1bWVudHMubGVuZ3RoOysrZCljW2RdPWFyZ3VtZW50c1tkXTtkPVtdO2Zvcih2YXIgZz1bXSxoPTA7aDxjLmxlbmd0aDtoKyspe3ZhciBrPWNbaF07ayBpbnN0YW5jZW9mIEVsZW1lbnQmJkgoaykmJmcucHVzaChrKTtpZihrIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudClmb3Ioaz1rLmZpcnN0Q2hpbGQ7aztrPWsubmV4dFNpYmxpbmcpZC5wdXNoKGspO2Vsc2UgZC5wdXNoKGspfWg9SCh0aGlzKTtnZS5hcHBseSh0aGlzLGMpO2ZvcihjPTA7YzxnLmxlbmd0aDtjKyspSyhhLGdbY10pO2lmKGgpZm9yKEsoYSx0aGlzKSxjPTA7YzxkLmxlbmd0aDtjKyspZz1kW2NdLGcgaW5zdGFuY2VvZiBFbGVtZW50JiZKKGEsZyl9KTt2b2lkIDAhPT1oZSYmSShjLCJyZW1vdmUiLGZ1bmN0aW9uKCl7dmFyIGI9SCh0aGlzKTtoZS5jYWxsKHRoaXMpO2ImJksoYSx0aGlzKX0pfTtmdW5jdGlvbiB0ZSgpe2Z1bmN0aW9uIGEoYSxiKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiaW5uZXJIVE1MIix7ZW51bWVyYWJsZTpiLmVudW1lcmFibGUsY29uZmlndXJhYmxlOiEwLGdldDpiLmdldCxzZXQ6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcyxlPXZvaWQgMDtIKHRoaXMpJiYoZT1bXSx3ZCh0aGlzLGZ1bmN0aW9uKGEpe2EhPT1jJiZlLnB1c2goYSl9KSk7Yi5zZXQuY2FsbCh0aGlzLGEpO2lmKGUpZm9yKHZhciBmPTA7ZjxlLmxlbmd0aDtmKyspe3ZhciBnPWVbZl07MT09PWcuX19DRV9zdGF0ZSYmZC5kaXNjb25uZWN0ZWRDYWxsYmFjayhnKX10aGlzLm93bmVyRG9jdW1lbnQuX19DRV9oYXNSZWdpc3RyeT9MKGQsdGhpcyk6QWQoZCx0aGlzKTtyZXR1cm4gYX19KX1mdW5jdGlvbiBiKGEsYil7SShhLCJpbnNlcnRBZGphY2VudEVsZW1lbnQiLGZ1bmN0aW9uKGEsYyl7dmFyIGU9SChjKTthPWIuY2FsbCh0aGlzLGEsYyk7ZSYmSyhkLGMpO0goYSkmJkooZCxjKTtyZXR1cm4gYX0pfQpmdW5jdGlvbiBjKGEsYil7ZnVuY3Rpb24gYyhhLGIpe2Zvcih2YXIgYz1bXTthIT09YjthPWEubmV4dFNpYmxpbmcpYy5wdXNoKGEpO2ZvcihiPTA7YjxjLmxlbmd0aDtiKyspTChkLGNbYl0pfUkoYSwiaW5zZXJ0QWRqYWNlbnRIVE1MIixmdW5jdGlvbihhLGQpe2E9YS50b0xvd2VyQ2FzZSgpO2lmKCJiZWZvcmViZWdpbiI9PT1hKXt2YXIgZT10aGlzLnByZXZpb3VzU2libGluZztiLmNhbGwodGhpcyxhLGQpO2MoZXx8dGhpcy5wYXJlbnROb2RlLmZpcnN0Q2hpbGQsdGhpcyl9ZWxzZSBpZigiYWZ0ZXJiZWdpbiI9PT1hKWU9dGhpcy5maXJzdENoaWxkLGIuY2FsbCh0aGlzLGEsZCksYyh0aGlzLmZpcnN0Q2hpbGQsZSk7ZWxzZSBpZigiYmVmb3JlZW5kIj09PWEpZT10aGlzLmxhc3RDaGlsZCxiLmNhbGwodGhpcyxhLGQpLGMoZXx8dGhpcy5maXJzdENoaWxkLG51bGwpO2Vsc2UgaWYoImFmdGVyZW5kIj09PWEpZT10aGlzLm5leHRTaWJsaW5nLGIuY2FsbCh0aGlzLGEsZCksYyh0aGlzLm5leHRTaWJsaW5nLAplKTtlbHNlIHRocm93IG5ldyBTeW50YXhFcnJvcigiVGhlIHZhbHVlIHByb3ZpZGVkICgiK1N0cmluZyhhKSsiKSBpcyBub3Qgb25lIG9mICdiZWZvcmViZWdpbicsICdhZnRlcmJlZ2luJywgJ2JlZm9yZWVuZCcsIG9yICdhZnRlcmVuZCcuIik7fSl9dmFyIGQ9b2U7VGQmJkkoRWxlbWVudC5wcm90b3R5cGUsImF0dGFjaFNoYWRvdyIsZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuX19DRV9zaGFkb3dSb290PWE9VGQuY2FsbCh0aGlzLGEpfSk7VWQmJlVkLmdldD9hKEVsZW1lbnQucHJvdG90eXBlLFVkKTpqZSYmamUuZ2V0P2EoSFRNTEVsZW1lbnQucHJvdG90eXBlLGplKTp6ZChkLGZ1bmN0aW9uKGIpe2EoYix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE5kLmNhbGwodGhpcywhMCkuaW5uZXJIVE1MfSxzZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9InRlbXBsYXRlIj09PXRoaXMubG9jYWxOYW1lLGM9Yj90aGlzLmNvbnRlbnQ6dGhpcyxkPUhkLmNhbGwoZG9jdW1lbnQsCnRoaXMubmFtZXNwYWNlVVJJLHRoaXMubG9jYWxOYW1lKTtmb3IoZC5pbm5lckhUTUw9YTswPGMuY2hpbGROb2Rlcy5sZW5ndGg7KVFkLmNhbGwoYyxjLmNoaWxkTm9kZXNbMF0pO2ZvcihhPWI/ZC5jb250ZW50OmQ7MDxhLmNoaWxkTm9kZXMubGVuZ3RoOylPZC5jYWxsKGMsYS5jaGlsZE5vZGVzWzBdKX19KX0pO0koRWxlbWVudC5wcm90b3R5cGUsInNldEF0dHJpYnV0ZSIsZnVuY3Rpb24oYSxiKXtpZigxIT09dGhpcy5fX0NFX3N0YXRlKXJldHVybiBXZC5jYWxsKHRoaXMsYSxiKTt2YXIgYz1WZC5jYWxsKHRoaXMsYSk7V2QuY2FsbCh0aGlzLGEsYik7Yj1WZC5jYWxsKHRoaXMsYSk7ZC5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodGhpcyxhLGMsYixudWxsKX0pO0koRWxlbWVudC5wcm90b3R5cGUsInNldEF0dHJpYnV0ZU5TIixmdW5jdGlvbihhLGIsYyl7aWYoMSE9PXRoaXMuX19DRV9zdGF0ZSlyZXR1cm4gWmQuY2FsbCh0aGlzLGEsYixjKTt2YXIgZT1ZZC5jYWxsKHRoaXMsYSwKYik7WmQuY2FsbCh0aGlzLGEsYixjKTtjPVlkLmNhbGwodGhpcyxhLGIpO2QuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKHRoaXMsYixlLGMsYSl9KTtJKEVsZW1lbnQucHJvdG90eXBlLCJyZW1vdmVBdHRyaWJ1dGUiLGZ1bmN0aW9uKGEpe2lmKDEhPT10aGlzLl9fQ0Vfc3RhdGUpcmV0dXJuIFhkLmNhbGwodGhpcyxhKTt2YXIgYj1WZC5jYWxsKHRoaXMsYSk7WGQuY2FsbCh0aGlzLGEpO251bGwhPT1iJiZkLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0aGlzLGEsYixudWxsLG51bGwpfSk7SShFbGVtZW50LnByb3RvdHlwZSwicmVtb3ZlQXR0cmlidXRlTlMiLGZ1bmN0aW9uKGEsYil7aWYoMSE9PXRoaXMuX19DRV9zdGF0ZSlyZXR1cm4gJGQuY2FsbCh0aGlzLGEsYik7dmFyIGM9WWQuY2FsbCh0aGlzLGEsYik7JGQuY2FsbCh0aGlzLGEsYik7dmFyIGU9WWQuY2FsbCh0aGlzLGEsYik7YyE9PWUmJmQuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKHRoaXMsYixjLGUsYSl9KTtrZT9iKEhUTUxFbGVtZW50LnByb3RvdHlwZSwKa2UpOmFlP2IoRWxlbWVudC5wcm90b3R5cGUsYWUpOmNvbnNvbGUud2FybigiQ3VzdG9tIEVsZW1lbnRzOiBgRWxlbWVudCNpbnNlcnRBZGphY2VudEVsZW1lbnRgIHdhcyBub3QgcGF0Y2hlZC4iKTtsZT9jKEhUTUxFbGVtZW50LnByb3RvdHlwZSxsZSk6YmU/YyhFbGVtZW50LnByb3RvdHlwZSxiZSk6Y29uc29sZS53YXJuKCJDdXN0b20gRWxlbWVudHM6IGBFbGVtZW50I2luc2VydEFkamFjZW50SFRNTGAgd2FzIG5vdCBwYXRjaGVkLiIpO3BlKGQsRWxlbWVudC5wcm90b3R5cGUse1Y6Y2UsYXBwZW5kOmRlfSk7c2UoZCl9O3ZhciB1ZT13aW5kb3cuY3VzdG9tRWxlbWVudHM7aWYoIXVlfHx1ZS5mb3JjZVBvbHlmaWxsfHwiZnVuY3Rpb24iIT10eXBlb2YgdWUuZGVmaW5lfHwiZnVuY3Rpb24iIT10eXBlb2YgdWUuZ2V0KXt2YXIgb2U9bmV3IHhkO25lKCk7cWUoKTtwZShvZSxEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZSx7VjpMZCxhcHBlbmQ6TWR9KTtyZSgpO3RlKCk7ZG9jdW1lbnQuX19DRV9oYXNSZWdpc3RyeT0hMDt2YXIgY3VzdG9tRWxlbWVudHM9bmV3IE4ob2UpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csImN1c3RvbUVsZW1lbnRzIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6Y3VzdG9tRWxlbWVudHN9KX07ZnVuY3Rpb24gdmUoKXt0aGlzLmVuZD10aGlzLnN0YXJ0PTA7dGhpcy5ydWxlcz10aGlzLnBhcmVudD10aGlzLnByZXZpb3VzPW51bGw7dGhpcy5jc3NUZXh0PXRoaXMucGFyc2VkQ3NzVGV4dD0iIjt0aGlzLmF0UnVsZT0hMTt0aGlzLnR5cGU9MDt0aGlzLnBhcnNlZFNlbGVjdG9yPXRoaXMuc2VsZWN0b3I9dGhpcy5rZXlmcmFtZXNOYW1lPSIifQpmdW5jdGlvbiB3ZShhKXthPWEucmVwbGFjZSh4ZSwiIikucmVwbGFjZSh5ZSwiIik7dmFyIGI9emUsYz1hLGQ9bmV3IHZlO2Quc3RhcnQ9MDtkLmVuZD1jLmxlbmd0aDtmb3IodmFyIGU9ZCxmPTAsZz1jLmxlbmd0aDtmPGc7ZisrKWlmKCJ7Ij09PWNbZl0pe2UucnVsZXN8fChlLnJ1bGVzPVtdKTt2YXIgaD1lLGs9aC5ydWxlc1toLnJ1bGVzLmxlbmd0aC0xXXx8bnVsbDtlPW5ldyB2ZTtlLnN0YXJ0PWYrMTtlLnBhcmVudD1oO2UucHJldmlvdXM9aztoLnJ1bGVzLnB1c2goZSl9ZWxzZSJ9Ij09PWNbZl0mJihlLmVuZD1mKzEsZT1lLnBhcmVudHx8ZCk7cmV0dXJuIGIoZCxhKX0KZnVuY3Rpb24gemUoYSxiKXt2YXIgYz1iLnN1YnN0cmluZyhhLnN0YXJ0LGEuZW5kLTEpO2EucGFyc2VkQ3NzVGV4dD1hLmNzc1RleHQ9Yy50cmltKCk7YS5wYXJlbnQmJihjPWIuc3Vic3RyaW5nKGEucHJldmlvdXM/YS5wcmV2aW91cy5lbmQ6YS5wYXJlbnQuc3RhcnQsYS5zdGFydC0xKSxjPUFlKGMpLGM9Yy5yZXBsYWNlKEJlLCIgIiksYz1jLnN1YnN0cmluZyhjLmxhc3RJbmRleE9mKCI7IikrMSksYz1hLnBhcnNlZFNlbGVjdG9yPWEuc2VsZWN0b3I9Yy50cmltKCksYS5hdFJ1bGU9MD09PWMuaW5kZXhPZigiQCIpLGEuYXRSdWxlPzA9PT1jLmluZGV4T2YoIkBtZWRpYSIpP2EudHlwZT1DZTpjLm1hdGNoKERlKSYmKGEudHlwZT1FZSxhLmtleWZyYW1lc05hbWU9YS5zZWxlY3Rvci5zcGxpdChCZSkucG9wKCkpOmEudHlwZT0wPT09Yy5pbmRleE9mKCItLSIpP0ZlOkdlKTtpZihjPWEucnVsZXMpZm9yKHZhciBkPTAsZT1jLmxlbmd0aCxmPXZvaWQgMDtkPGUmJihmPWNbZF0pO2QrKyl6ZShmLApiKTtyZXR1cm4gYX1mdW5jdGlvbiBBZShhKXtyZXR1cm4gYS5yZXBsYWNlKC9cXChbMC05YS1mXXsxLDZ9KVxzL2dpLGZ1bmN0aW9uKGEsYyl7YT1jO2ZvcihjPTYtYS5sZW5ndGg7Yy0tOylhPSIwIithO3JldHVybiJcXCIrYX0pfQpmdW5jdGlvbiBIZShhLGIsYyl7Yz12b2lkIDA9PT1jPyIiOmM7dmFyIGQ9IiI7aWYoYS5jc3NUZXh0fHxhLnJ1bGVzKXt2YXIgZT1hLnJ1bGVzLGY7aWYoZj1lKWY9ZVswXSxmPSEoZiYmZi5zZWxlY3RvciYmMD09PWYuc2VsZWN0b3IuaW5kZXhPZigiLS0iKSk7aWYoZil7Zj0wO2Zvcih2YXIgZz1lLmxlbmd0aCxoPXZvaWQgMDtmPGcmJihoPWVbZl0pO2YrKylkPUhlKGgsYixkKX1lbHNlIGI/Yj1hLmNzc1RleHQ6KGI9YS5jc3NUZXh0LGI9Yi5yZXBsYWNlKEllLCIiKS5yZXBsYWNlKEplLCIiKSxiPWIucmVwbGFjZShLZSwiIikucmVwbGFjZShMZSwiIikpLChkPWIudHJpbSgpKSYmKGQ9IiAgIitkKyJcbiIpfWQmJihhLnNlbGVjdG9yJiYoYys9YS5zZWxlY3RvcisiIHtcbiIpLGMrPWQsYS5zZWxlY3RvciYmKGMrPSJ9XG5cbiIpKTtyZXR1cm4gY30KdmFyIEdlPTEsRWU9NyxDZT00LEZlPTFFMyx4ZT0vXC9cKlteKl0qXCorKFteLypdW14qXSpcKispKlwvL2dpbSx5ZT0vQGltcG9ydFteO10qOy9naW0sSWU9Lyg/Ol5bXjtcLVxzfV0rKT8tLVteO3t9XSo/Oltee307XSo/KD86Wztcbl18JCkvZ2ltLEplPS8oPzpeW147XC1cc31dKyk/LS1bXjt7fV0qPzpbXnt9O10qP3tbXn1dKj99KD86Wztcbl18JCk/L2dpbSxLZT0vQGFwcGx5XHMqXCg/W14pO10qXCk/XHMqKD86Wztcbl18JCk/L2dpbSxMZT0vW147Ol0qPzpbXjtdKj92YXJcKFteO10qXCkoPzpbO1xuXXwkKT8vZ2ltLERlPS9eQFteXHNdKmtleWZyYW1lcy8sQmU9L1xzKy9nO3ZhciBPPSEod2luZG93LlNoYWR5RE9NJiZ3aW5kb3cuU2hhZHlET00uaW5Vc2UpLE1lO2Z1bmN0aW9uIE5lKGEpe01lPWEmJmEuc2hpbWNzc3Byb3BlcnRpZXM/ITE6T3x8IShuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9BcHBsZVdlYktpdFwvNjAxfEVkZ2VcLzE1Lyl8fCF3aW5kb3cuQ1NTfHwhQ1NTLnN1cHBvcnRzfHwhQ1NTLnN1cHBvcnRzKCJib3gtc2hhZG93IiwiMCAwIDAgdmFyKC0tZm9vKSIpKX12YXIgT2U7d2luZG93LlNoYWR5Q1NTJiZ2b2lkIDAhPT13aW5kb3cuU2hhZHlDU1MuY3NzQnVpbGQmJihPZT13aW5kb3cuU2hhZHlDU1MuY3NzQnVpbGQpO3ZhciBQZT0hKCF3aW5kb3cuU2hhZHlDU1N8fCF3aW5kb3cuU2hhZHlDU1MuZGlzYWJsZVJ1bnRpbWUpOwp3aW5kb3cuU2hhZHlDU1MmJnZvaWQgMCE9PXdpbmRvdy5TaGFkeUNTUy5uYXRpdmVDc3M/TWU9d2luZG93LlNoYWR5Q1NTLm5hdGl2ZUNzczp3aW5kb3cuU2hhZHlDU1M/KE5lKHdpbmRvdy5TaGFkeUNTUyksd2luZG93LlNoYWR5Q1NTPXZvaWQgMCk6TmUod2luZG93LldlYkNvbXBvbmVudHMmJndpbmRvdy5XZWJDb21wb25lbnRzLmZsYWdzKTt2YXIgUT1NZSxRZT1PZTt2YXIgUmU9Lyg/Ol58Wztcc3tdXHMqKSgtLVtcdy1dKj8pXHMqOlxzKig/OigoPzonKD86XFwnfC4pKj8nfCIoPzpcXCJ8LikqPyJ8XChbXildKj9cKXxbXn07e10pKyl8XHsoW159XSopXH0oPzooPz1bO1xzfV0pfCQpKS9naSxTZT0vKD86XnxcVyspQGFwcGx5XHMqXCg/KFteKTtcbl0qKVwpPy9naSxUZT0vKC0tW1x3LV0rKVxzKihbOiw7KV18JCkvZ2ksVWU9LyhhbmltYXRpb25ccyo6KXwoYW5pbWF0aW9uLW5hbWVccyo6KS8sJGU9L0BtZWRpYVxzKC4qKS8sYWY9L1x7W159XSpcfS9nO3ZhciBiZj1uZXcgU2V0O2Z1bmN0aW9uIGNmKGEsYil7aWYoIWEpcmV0dXJuIiI7InN0cmluZyI9PT10eXBlb2YgYSYmKGE9d2UoYSkpO2ImJmRmKGEsYik7cmV0dXJuIEhlKGEsUSl9ZnVuY3Rpb24gZWYoYSl7IWEuX19jc3NSdWxlcyYmYS50ZXh0Q29udGVudCYmKGEuX19jc3NSdWxlcz13ZShhLnRleHRDb250ZW50KSk7cmV0dXJuIGEuX19jc3NSdWxlc3x8bnVsbH1mdW5jdGlvbiBmZihhKXtyZXR1cm4hIWEucGFyZW50JiZhLnBhcmVudC50eXBlPT09RWV9ZnVuY3Rpb24gZGYoYSxiLGMsZCl7aWYoYSl7dmFyIGU9ITEsZj1hLnR5cGU7aWYoZCYmZj09PUNlKXt2YXIgZz1hLnNlbGVjdG9yLm1hdGNoKCRlKTtnJiYod2luZG93Lm1hdGNoTWVkaWEoZ1sxXSkubWF0Y2hlc3x8KGU9ITApKX1mPT09R2U/YihhKTpjJiZmPT09RWU/YyhhKTpmPT09RmUmJihlPSEwKTtpZigoYT1hLnJ1bGVzKSYmIWUpZm9yKGU9MCxmPWEubGVuZ3RoLGc9dm9pZCAwO2U8ZiYmKGc9YVtlXSk7ZSsrKWRmKGcsYixjLGQpfX0KZnVuY3Rpb24gZ2YoYSxiLGMsZCl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtiJiZlLnNldEF0dHJpYnV0ZSgic2NvcGUiLGIpO2UudGV4dENvbnRlbnQ9YTtoZihlLGMsZCk7cmV0dXJuIGV9dmFyIGpmPW51bGw7ZnVuY3Rpb24ga2YoYSl7YT1kb2N1bWVudC5jcmVhdGVDb21tZW50KCIgU2hhZHkgRE9NIHN0eWxlcyBmb3IgIithKyIgIik7dmFyIGI9ZG9jdW1lbnQuaGVhZDtiLmluc2VydEJlZm9yZShhLChqZj9qZi5uZXh0U2libGluZzpudWxsKXx8Yi5maXJzdENoaWxkKTtyZXR1cm4gamY9YX1mdW5jdGlvbiBoZihhLGIsYyl7Yj1ifHxkb2N1bWVudC5oZWFkO2IuaW5zZXJ0QmVmb3JlKGEsYyYmYy5uZXh0U2libGluZ3x8Yi5maXJzdENoaWxkKTtqZj9hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGpmKT09PU5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HJiYoamY9YSk6amY9YX0KZnVuY3Rpb24gbGYoYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2I8ZDtiKyspaWYoIigiPT09YVtiXSljKys7ZWxzZSBpZigiKSI9PT1hW2JdJiYwPT09LS1jKXJldHVybiBiO3JldHVybi0xfWZ1bmN0aW9uIG1mKGEsYil7dmFyIGM9YS5pbmRleE9mKCJ2YXIoIik7aWYoLTE9PT1jKXJldHVybiBiKGEsIiIsIiIsIiIpO3ZhciBkPWxmKGEsYyszKSxlPWEuc3Vic3RyaW5nKGMrNCxkKTtjPWEuc3Vic3RyaW5nKDAsYyk7YT1tZihhLnN1YnN0cmluZyhkKzEpLGIpO2Q9ZS5pbmRleE9mKCIsIik7cmV0dXJuLTE9PT1kP2IoYyxlLnRyaW0oKSwiIixhKTpiKGMsZS5zdWJzdHJpbmcoMCxkKS50cmltKCksZS5zdWJzdHJpbmcoZCsxKS50cmltKCksYSl9ZnVuY3Rpb24gbmYoYSxiKXtPP2Euc2V0QXR0cmlidXRlKCJjbGFzcyIsYik6d2luZG93LlNoYWR5RE9NLm5hdGl2ZU1ldGhvZHMuc2V0QXR0cmlidXRlLmNhbGwoYSwiY2xhc3MiLGIpfQp2YXIgb2Y9d2luZG93LlNoYWR5RE9NJiZ3aW5kb3cuU2hhZHlET00ud3JhcHx8ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O2Z1bmN0aW9uIHBmKGEpe3ZhciBiPWEubG9jYWxOYW1lLGM9IiI7Yj8tMTxiLmluZGV4T2YoIi0iKXx8KGM9YixiPWEuZ2V0QXR0cmlidXRlJiZhLmdldEF0dHJpYnV0ZSgiaXMiKXx8IiIpOihiPWEuaXMsYz1hLmV4dGVuZHMpO3JldHVybntpczpiLE06Y319ZnVuY3Rpb24gcWYoYSl7Zm9yKHZhciBiPVtdLGM9IiIsZD0wOzA8PWQmJmQ8YS5sZW5ndGg7ZCsrKWlmKCIoIj09PWFbZF0pe3ZhciBlPWxmKGEsZCk7Yys9YS5zbGljZShkLGUrMSk7ZD1lfWVsc2UiLCI9PT1hW2RdPyhiLnB1c2goYyksYz0iIik6Yys9YVtkXTtjJiZiLnB1c2goYyk7cmV0dXJuIGJ9CmZ1bmN0aW9uIHJmKGEpe2lmKHZvaWQgMCE9PVFlKXJldHVybiBRZTtpZih2b2lkIDA9PT1hLl9fY3NzQnVpbGQpe3ZhciBiPWEuZ2V0QXR0cmlidXRlKCJjc3MtYnVpbGQiKTtpZihiKWEuX19jc3NCdWlsZD1iO2Vsc2V7YTp7Yj0idGVtcGxhdGUiPT09YS5sb2NhbE5hbWU/YS5jb250ZW50LmZpcnN0Q2hpbGQ6YS5maXJzdENoaWxkO2lmKGIgaW5zdGFuY2VvZiBDb21tZW50JiYoYj1iLnRleHRDb250ZW50LnRyaW0oKS5zcGxpdCgiOiIpLCJjc3MtYnVpbGQiPT09YlswXSkpe2I9YlsxXTticmVhayBhfWI9IiJ9aWYoIiIhPT1iKXt2YXIgYz0idGVtcGxhdGUiPT09YS5sb2NhbE5hbWU/YS5jb250ZW50LmZpcnN0Q2hpbGQ6YS5maXJzdENoaWxkO2MucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChjKX1hLl9fY3NzQnVpbGQ9Yn19cmV0dXJuIGEuX19jc3NCdWlsZHx8IiJ9CmZ1bmN0aW9uIHNmKGEpe2E9dm9pZCAwPT09YT8iIjphO3JldHVybiIiIT09YSYmUT9PPyJzaGFkb3ciPT09YToic2hhZHkiPT09YTohMX07ZnVuY3Rpb24gdGYoKXt9ZnVuY3Rpb24gdWYoYSxiKXt2ZihSLGEsZnVuY3Rpb24oYSl7d2YoYSxifHwiIil9KX1mdW5jdGlvbiB2ZihhLGIsYyl7Yi5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZjKGIpO3ZhciBkOyJ0ZW1wbGF0ZSI9PT1iLmxvY2FsTmFtZT9kPShiLmNvbnRlbnR8fGIuX2NvbnRlbnR8fGIpLmNoaWxkTm9kZXM6ZD1iLmNoaWxkcmVufHxiLmNoaWxkTm9kZXM7aWYoZClmb3IoYj0wO2I8ZC5sZW5ndGg7YisrKXZmKGEsZFtiXSxjKX0KZnVuY3Rpb24gd2YoYSxiLGMpe2lmKGIpaWYoYS5jbGFzc0xpc3QpYz8oYS5jbGFzc0xpc3QucmVtb3ZlKCJzdHlsZS1zY29wZSIpLGEuY2xhc3NMaXN0LnJlbW92ZShiKSk6KGEuY2xhc3NMaXN0LmFkZCgic3R5bGUtc2NvcGUiKSxhLmNsYXNzTGlzdC5hZGQoYikpO2Vsc2UgaWYoYS5nZXRBdHRyaWJ1dGUpe3ZhciBkPWEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpO2M/ZCYmKGI9ZC5yZXBsYWNlKCJzdHlsZS1zY29wZSIsIiIpLnJlcGxhY2UoYiwiIiksbmYoYSxiKSk6bmYoYSwoZD9kKyIgIjoiIikrInN0eWxlLXNjb3BlICIrYil9fWZ1bmN0aW9uIHhmKGEsYixjKXt2ZihSLGEsZnVuY3Rpb24oYSl7d2YoYSxiLCEwKTt3ZihhLGMpfSl9ZnVuY3Rpb24geWYoYSxiKXt2ZihSLGEsZnVuY3Rpb24oYSl7d2YoYSxifHwiIiwhMCl9KX0KZnVuY3Rpb24gemYoYSxiLGMsZCxlKXt2YXIgZj1SO2U9dm9pZCAwPT09ZT8iIjplOyIiPT09ZSYmKE98fCJzaGFkeSI9PT0odm9pZCAwPT09ZD8iIjpkKT9lPWNmKGIsYyk6KGE9cGYoYSksZT1BZihmLGIsYS5pcyxhLk0sYykrIlxuXG4iKSk7cmV0dXJuIGUudHJpbSgpfWZ1bmN0aW9uIEFmKGEsYixjLGQsZSl7dmFyIGY9QmYoYyxkKTtjPWM/Ii4iK2M6IiI7cmV0dXJuIGNmKGIsZnVuY3Rpb24oYil7Yi5jfHwoYi5zZWxlY3Rvcj1iLmo9Q2YoYSxiLGEuYixjLGYpLGIuYz0hMCk7ZSYmZShiLGMsZil9KX1mdW5jdGlvbiBCZihhLGIpe3JldHVybiBiPyJbaXM9IithKyJdIjphfQpmdW5jdGlvbiBDZihhLGIsYyxkLGUpe3ZhciBmPXFmKGIuc2VsZWN0b3IpO2lmKCFmZihiKSl7Yj0wO2Zvcih2YXIgZz1mLmxlbmd0aCxoPXZvaWQgMDtiPGcmJihoPWZbYl0pO2IrKylmW2JdPWMuY2FsbChhLGgsZCxlKX1yZXR1cm4gZi5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuISFhfSkuam9pbigiLCIpfWZ1bmN0aW9uIERmKGEpe3JldHVybiBhLnJlcGxhY2UoRWYsZnVuY3Rpb24oYSxjLGQpey0xPGQuaW5kZXhPZigiKyIpP2Q9ZC5yZXBsYWNlKC9cKy9nLCJfX18iKTotMTxkLmluZGV4T2YoIl9fXyIpJiYoZD1kLnJlcGxhY2UoL19fXy9nLCIrIikpO3JldHVybiI6IitjKyIoIitkKyIpIn0pfQpmdW5jdGlvbiBGZihhKXtmb3IodmFyIGI9W10sYztjPWEubWF0Y2goR2YpOyl7dmFyIGQ9Yy5pbmRleCxlPWxmKGEsZCk7aWYoLTE9PT1lKXRocm93IEVycm9yKGMuaW5wdXQrIiBzZWxlY3RvciBtaXNzaW5nICcpJyIpO2M9YS5zbGljZShkLGUrMSk7YT1hLnJlcGxhY2UoYywiXHVlMDAwIik7Yi5wdXNoKGMpfXJldHVybntoYTphLG1hdGNoZXM6Yn19ZnVuY3Rpb24gSGYoYSxiKXt2YXIgYz1hLnNwbGl0KCJcdWUwMDAiKTtyZXR1cm4gYi5yZWR1Y2UoZnVuY3Rpb24oYSxiLGYpe3JldHVybiBhK2IrY1tmKzFdfSxjWzBdKX0KdGYucHJvdG90eXBlLmI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSExO2E9YS50cmltKCk7dmFyIGU9RWYudGVzdChhKTtlJiYoYT1hLnJlcGxhY2UoRWYsZnVuY3Rpb24oYSxiLGMpe3JldHVybiI6IitiKyIoIitjLnJlcGxhY2UoL1xzL2csIiIpKyIpIn0pLGE9RGYoYSkpO3ZhciBmPUdmLnRlc3QoYSk7aWYoZil7dmFyIGc9RmYoYSk7YT1nLmhhO2c9Zy5tYXRjaGVzfWE9YS5yZXBsYWNlKElmLCI6aG9zdCAkMSIpO2E9YS5yZXBsYWNlKEpmLGZ1bmN0aW9uKGEsZSxmKXtkfHwoYT1LZihmLGUsYixjKSxkPWR8fGEuc3RvcCxlPWEuQ2EsZj1hLnZhbHVlKTtyZXR1cm4gZStmfSk7ZiYmKGE9SGYoYSxnKSk7ZSYmKGE9RGYoYSkpO3JldHVybiBhfTsKZnVuY3Rpb24gS2YoYSxiLGMsZCl7dmFyIGU9YS5pbmRleE9mKCI6OnNsb3R0ZWQiKTswPD1hLmluZGV4T2YoIjpob3N0Iik/YT1MZihhLGQpOjAhPT1lJiYoYT1jP01mKGEsYyk6YSk7Yz0hMTswPD1lJiYoYj0iIixjPSEwKTtpZihjKXt2YXIgZj0hMDtjJiYoYT1hLnJlcGxhY2UoTmYsZnVuY3Rpb24oYSxiKXtyZXR1cm4iID4gIitifSkpfWE9YS5yZXBsYWNlKE9mLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4nW2Rpcj0iJytjKyciXSAnK2IrIiwgIitiKydbZGlyPSInK2MrJyJdJ30pO3JldHVybnt2YWx1ZTphLENhOmIsc3RvcDpmfX0KZnVuY3Rpb24gTWYoYSxiKXthPWEuc3BsaXQoLyhcWy4rP1xdKS8pO2Zvcih2YXIgYz1bXSxkPTA7ZDxhLmxlbmd0aDtkKyspaWYoMT09PWQlMiljLnB1c2goYVtkXSk7ZWxzZXt2YXIgZT1hW2RdO2lmKCIiIT09ZXx8ZCE9PWEubGVuZ3RoLTEpZT1lLnNwbGl0KCI6IiksZVswXSs9YixjLnB1c2goZS5qb2luKCI6IikpfXJldHVybiBjLmpvaW4oIiIpfWZ1bmN0aW9uIExmKGEsYil7dmFyIGM9YS5tYXRjaChQZik7cmV0dXJuKGM9YyYmY1syXS50cmltKCl8fCIiKT9jWzBdLm1hdGNoKFFmKT9hLnJlcGxhY2UoUGYsZnVuY3Rpb24oYSxjLGYpe3JldHVybiBiK2Z9KTpjLnNwbGl0KFFmKVswXT09PWI/Yzoic2hvdWxkX25vdF9tYXRjaCI6YS5yZXBsYWNlKCI6aG9zdCIsYil9ZnVuY3Rpb24gUmYoYSl7Ijpyb290Ij09PWEuc2VsZWN0b3ImJihhLnNlbGVjdG9yPSJodG1sIil9CnRmLnByb3RvdHlwZS5jPWZ1bmN0aW9uKGEpe3JldHVybiBhLm1hdGNoKCI6aG9zdCIpPyIiOmEubWF0Y2goIjo6c2xvdHRlZCIpP3RoaXMuYihhLCI6bm90KC5zdHlsZS1zY29wZSkiKTpNZihhLnRyaW0oKSwiOm5vdCguc3R5bGUtc2NvcGUpIil9O3AuT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGYucHJvdG90eXBlLHthOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4ic3R5bGUtc2NvcGUifX19KTsKdmFyIEVmPS86KG50aFstXHddKylcKChbXildKylcKS8sSmY9LyhefFtccz4rfl0rKSgoPzpcWy4rP1xdfFteXHM+K349W10pKykvZyxRZj0vW1suOiMqXS8sSWY9L14oOjpzbG90dGVkKS8sUGY9Lyg6aG9zdCkoPzpcKCgoPzpcKFteKShdKlwpfFteKShdKikrPylcKSkvLE5mPS8oPzo6OnNsb3R0ZWQpKD86XCgoKD86XChbXikoXSpcKXxbXikoXSopKz8pXCkpLyxPZj0vKC4qKTpkaXJcKCg/OihsdHJ8cnRsKSlcKS8sR2Y9LzooPzptYXRjaGVzfGFueXwtKD86d2Via2l0fG1veiktYW55KS8sUj1uZXcgdGY7ZnVuY3Rpb24gU2YoYSxiLGMsZCxlKXt0aGlzLkE9YXx8bnVsbDt0aGlzLmI9Ynx8bnVsbDt0aGlzLmZhPWN8fFtdO3RoaXMubz1udWxsO3RoaXMuY3NzQnVpbGQ9ZXx8IiI7dGhpcy5NPWR8fCIiO3RoaXMuYT10aGlzLnM9dGhpcy53PW51bGx9ZnVuY3Rpb24gVChhKXtyZXR1cm4gYT9hLl9fc3R5bGVJbmZvOm51bGx9ZnVuY3Rpb24gVGYoYSxiKXtyZXR1cm4gYS5fX3N0eWxlSW5mbz1ifVNmLnByb3RvdHlwZS5jPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQX07U2YucHJvdG90eXBlLl9nZXRTdHlsZVJ1bGVzPVNmLnByb3RvdHlwZS5jO2Z1bmN0aW9uIFVmKGEpe3ZhciBiPXRoaXMubWF0Y2hlc3x8dGhpcy5tYXRjaGVzU2VsZWN0b3J8fHRoaXMubW96TWF0Y2hlc1NlbGVjdG9yfHx0aGlzLm1zTWF0Y2hlc1NlbGVjdG9yfHx0aGlzLm9NYXRjaGVzU2VsZWN0b3J8fHRoaXMud2Via2l0TWF0Y2hlc1NlbGVjdG9yO3JldHVybiBiJiZiLmNhbGwodGhpcyxhKX12YXIgVmY9bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgiVHJpZGVudCIpO2Z1bmN0aW9uIFdmKCl7fWZ1bmN0aW9uIFhmKGEpe3ZhciBiPXt9LGM9W10sZD0wO2RmKGEsZnVuY3Rpb24oYSl7WWYoYSk7YS5pbmRleD1kKys7YT1hLmkuY3NzVGV4dDtmb3IodmFyIGM7Yz1UZS5leGVjKGEpOyl7dmFyIGU9Y1sxXTsiOiIhPT1jWzJdJiYoYltlXT0hMCl9fSxmdW5jdGlvbihhKXtjLnB1c2goYSl9KTthLmI9YzthPVtdO2Zvcih2YXIgZSBpbiBiKWEucHVzaChlKTtyZXR1cm4gYX0KZnVuY3Rpb24gWWYoYSl7aWYoIWEuaSl7dmFyIGI9e30sYz17fTtaZihhLGMpJiYoYi52PWMsYS5ydWxlcz1udWxsKTtiLmNzc1RleHQ9YS5wYXJzZWRDc3NUZXh0LnJlcGxhY2UoYWYsIiIpLnJlcGxhY2UoUmUsIiIpO2EuaT1ifX1mdW5jdGlvbiBaZihhLGIpe3ZhciBjPWEuaTtpZihjKXtpZihjLnYpcmV0dXJuIE9iamVjdC5hc3NpZ24oYixjLnYpLCEwfWVsc2V7Yz1hLnBhcnNlZENzc1RleHQ7Zm9yKHZhciBkO2E9UmUuZXhlYyhjKTspe2Q9KGFbMl18fGFbM10pLnRyaW0oKTtpZigiaW5oZXJpdCIhPT1kfHwidW5zZXQiIT09ZCliW2FbMV0udHJpbSgpXT1kO2Q9ITB9cmV0dXJuIGR9fQpmdW5jdGlvbiAkZihhLGIsYyl7YiYmKGI9MDw9Yi5pbmRleE9mKCI7Iik/YWcoYSxiLGMpOm1mKGIsZnVuY3Rpb24oYixlLGYsZyl7aWYoIWUpcmV0dXJuIGIrZzsoZT0kZihhLGNbZV0sYykpJiYiaW5pdGlhbCIhPT1lPyJhcHBseS1zaGltLWluaGVyaXQiPT09ZSYmKGU9ImluaGVyaXQiKTplPSRmKGEsY1tmXXx8ZixjKXx8ZjtyZXR1cm4gYisoZXx8IiIpK2d9KSk7cmV0dXJuIGImJmIudHJpbSgpfHwiIn0KZnVuY3Rpb24gYWcoYSxiLGMpe2I9Yi5zcGxpdCgiOyIpO2Zvcih2YXIgZD0wLGUsZjtkPGIubGVuZ3RoO2QrKylpZihlPWJbZF0pe1NlLmxhc3RJbmRleD0wO2lmKGY9U2UuZXhlYyhlKSllPSRmKGEsY1tmWzFdXSxjKTtlbHNlIGlmKGY9ZS5pbmRleE9mKCI6IiksLTEhPT1mKXt2YXIgZz1lLnN1YnN0cmluZyhmKTtnPWcudHJpbSgpO2c9JGYoYSxnLGMpfHxnO2U9ZS5zdWJzdHJpbmcoMCxmKStnfWJbZF09ZSYmZS5sYXN0SW5kZXhPZigiOyIpPT09ZS5sZW5ndGgtMT9lLnNsaWNlKDAsLTEpOmV8fCIifXJldHVybiBiLmpvaW4oIjsiKX0KZnVuY3Rpb24gYmcoYSxiKXt2YXIgYz17fSxkPVtdO2RmKGEsZnVuY3Rpb24oYSl7YS5pfHxZZihhKTt2YXIgZT1hLmp8fGEucGFyc2VkU2VsZWN0b3I7YiYmYS5pLnYmJmUmJlVmLmNhbGwoYixlKSYmKFpmKGEsYyksYT1hLmluZGV4LGU9cGFyc2VJbnQoYS8zMiwxMCksZFtlXT0oZFtlXXx8MCl8MTw8YSUzMil9LG51bGwsITApO3JldHVybnt2OmMsa2V5OmR9fQpmdW5jdGlvbiBjZyhhLGIsYyxkKXtiLml8fFlmKGIpO2lmKGIuaS52KXt2YXIgZT1wZihhKTthPWUuaXM7ZT1lLk07ZT1hP0JmKGEsZSk6Imh0bWwiO3ZhciBmPWIucGFyc2VkU2VsZWN0b3IsZz0iOmhvc3QgPiAqIj09PWZ8fCJodG1sIj09PWYsaD0wPT09Zi5pbmRleE9mKCI6aG9zdCIpJiYhZzsic2hhZHkiPT09YyYmKGc9Zj09PWUrIiA+ICouIitlfHwtMSE9PWYuaW5kZXhPZigiaHRtbCIpLGg9IWcmJjA9PT1mLmluZGV4T2YoZSkpO2lmKGd8fGgpYz1lLGgmJihiLmp8fChiLmo9Q2YoUixiLFIuYixhPyIuIithOiIiLGUpKSxjPWIuanx8ZSksZCh7aGE6YyxJYTpoLFphOmd9KX19ZnVuY3Rpb24gZGcoYSxiLGMpe3ZhciBkPXt9LGU9e307ZGYoYixmdW5jdGlvbihiKXtjZyhhLGIsYyxmdW5jdGlvbihjKXtVZi5jYWxsKGEuX2VsZW1lbnR8fGEsYy5oYSkmJihjLklhP1pmKGIsZCk6WmYoYixlKSl9KX0sbnVsbCwhMCk7cmV0dXJue1JhOmUsSGE6ZH19CmZ1bmN0aW9uIGVnKGEsYixjLGQpe3ZhciBlPXBmKGIpLGY9QmYoZS5pcyxlLk0pLGc9bmV3IFJlZ0V4cCgiKD86XnxbXi4jWzpdKSIrKGIuZXh0ZW5kcz8iXFwiK2Yuc2xpY2UoMCwtMSkrIlxcXSI6ZikrIigkfFsuOltcXHM+K35dKSIpLGg9VChiKTtlPWguQTtoPWguY3NzQnVpbGQ7dmFyIGs9ZmcoZSxkKTtyZXR1cm4gemYoYixlLGZ1bmN0aW9uKGIpe3ZhciBlPSIiO2IuaXx8WWYoYik7Yi5pLmNzc1RleHQmJihlPWFnKGEsYi5pLmNzc1RleHQsYykpO2IuY3NzVGV4dD1lO2lmKCFPJiYhZmYoYikmJmIuY3NzVGV4dCl7dmFyIGg9ZT1iLmNzc1RleHQ7bnVsbD09Yi5uYSYmKGIubmE9VWUudGVzdChlKSk7aWYoYi5uYSlpZihudWxsPT1iLlUpe2IuVT1bXTtmb3IodmFyIGwgaW4gayloPWtbbF0saD1oKGUpLGUhPT1oJiYoZT1oLGIuVS5wdXNoKGwpKX1lbHNle2ZvcihsPTA7bDxiLlUubGVuZ3RoOysrbCloPWtbYi5VW2xdXSxlPWgoZSk7aD1lfWIuY3NzVGV4dD1oO2Iuaj1iLmp8fApiLnNlbGVjdG9yO2U9Ii4iK2Q7bD1xZihiLmopO2g9MDtmb3IodmFyIE09bC5sZW5ndGgsVT12b2lkIDA7aDxNJiYoVT1sW2hdKTtoKyspbFtoXT1VLm1hdGNoKGcpP1UucmVwbGFjZShmLGUpOmUrIiAiK1U7Yi5zZWxlY3Rvcj1sLmpvaW4oIiwiKX19LGgpfWZ1bmN0aW9uIGZnKGEsYil7YT1hLmI7dmFyIGM9e307aWYoIU8mJmEpZm9yKHZhciBkPTAsZT1hW2RdO2Q8YS5sZW5ndGg7ZT1hWysrZF0pe3ZhciBmPWUsZz1iO2YuZj1uZXcgUmVnRXhwKCJcXGIiK2Yua2V5ZnJhbWVzTmFtZSsiKD8hXFxCfC0pIiwiZyIpO2YuYT1mLmtleWZyYW1lc05hbWUrIi0iK2c7Zi5qPWYuanx8Zi5zZWxlY3RvcjtmLnNlbGVjdG9yPWYuai5yZXBsYWNlKGYua2V5ZnJhbWVzTmFtZSxmLmEpO2NbZS5rZXlmcmFtZXNOYW1lXT1nZyhlKX1yZXR1cm4gY31mdW5jdGlvbiBnZyhhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIGIucmVwbGFjZShhLmYsYS5hKX19CmZ1bmN0aW9uIGhnKGEsYil7dmFyIGM9aWcsZD1lZihhKTthLnRleHRDb250ZW50PWNmKGQsZnVuY3Rpb24oYSl7dmFyIGQ9YS5jc3NUZXh0PWEucGFyc2VkQ3NzVGV4dDthLmkmJmEuaS5jc3NUZXh0JiYoZD1kLnJlcGxhY2UoSWUsIiIpLnJlcGxhY2UoSmUsIiIpLGEuY3NzVGV4dD1hZyhjLGQsYikpfSl9cC5PYmplY3QuZGVmaW5lUHJvcGVydGllcyhXZi5wcm90b3R5cGUse2E6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiJ4LXNjb3BlIn19fSk7dmFyIGlnPW5ldyBXZjt2YXIgamc9e30sa2c9d2luZG93LmN1c3RvbUVsZW1lbnRzO2lmKGtnJiYhTyYmIVBlKXt2YXIgbGc9a2cuZGVmaW5lO2tnLmRlZmluZT1mdW5jdGlvbihhLGIsYyl7amdbYV18fChqZ1thXT1rZihhKSk7bGcuY2FsbChrZyxhLGIsYyl9fTtmdW5jdGlvbiBtZygpe3RoaXMuY2FjaGU9e319bWcucHJvdG90eXBlLnN0b3JlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRoaXMuY2FjaGVbYV18fFtdO2UucHVzaCh7djpiLHN0eWxlRWxlbWVudDpjLHM6ZH0pOzEwMDxlLmxlbmd0aCYmZS5zaGlmdCgpO3RoaXMuY2FjaGVbYV09ZX07ZnVuY3Rpb24gbmcoKXt9dmFyIG9nPW5ldyBSZWdFeHAoUi5hKyJcXHMqKFteXFxzXSopIik7ZnVuY3Rpb24gcGcoYSl7cmV0dXJuKGE9KGEuY2xhc3NMaXN0JiZhLmNsYXNzTGlzdC52YWx1ZT9hLmNsYXNzTGlzdC52YWx1ZTphLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpLm1hdGNoKG9nKSk/YVsxXToiIn1mdW5jdGlvbiBxZyhhKXt2YXIgYj1vZihhKS5nZXRSb290Tm9kZSgpO3JldHVybiBiPT09YXx8Yj09PWEub3duZXJEb2N1bWVudD8iIjooYT1iLmhvc3QpP3BmKGEpLmlzOiIifQpmdW5jdGlvbiByZyhhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIGM9YVtiXTtpZihjLnRhcmdldCE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmYy50YXJnZXQhPT1kb2N1bWVudC5oZWFkKWZvcih2YXIgZD0wO2Q8Yy5hZGRlZE5vZGVzLmxlbmd0aDtkKyspe3ZhciBlPWMuYWRkZWROb2Rlc1tkXTtpZihlLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe3ZhciBmPWUuZ2V0Um9vdE5vZGUoKSxnPXBnKGUpO2lmKGcmJmY9PT1lLm93bmVyRG9jdW1lbnQmJigic3R5bGUiIT09ZS5sb2NhbE5hbWUmJiJ0ZW1wbGF0ZSIhPT1lLmxvY2FsTmFtZXx8IiI9PT1yZihlKSkpeWYoZSxnKTtlbHNlIGlmKGYgaW5zdGFuY2VvZiBTaGFkb3dSb290KWZvcihmPXFnKGUpLGYhPT1nJiZ4ZihlLGcsZiksZT13aW5kb3cuU2hhZHlET00ubmF0aXZlTWV0aG9kcy5xdWVyeVNlbGVjdG9yQWxsLmNhbGwoZSwiOm5vdCguIitSLmErIikiKSxnPTA7ZzxlLmxlbmd0aDtnKyspe2Y9ZVtnXTsKdmFyIGg9cWcoZik7aCYmd2YoZixoKX19fX19CmlmKCEoT3x8d2luZG93LlNoYWR5RE9NJiZ3aW5kb3cuU2hhZHlET00uaGFuZGxlc0R5bmFtaWNTY29waW5nKSl7dmFyIHNnPW5ldyBNdXRhdGlvbk9ic2VydmVyKHJnKSx0Zz1mdW5jdGlvbihhKXtzZy5vYnNlcnZlKGEse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSl9O2lmKHdpbmRvdy5jdXN0b21FbGVtZW50cyYmIXdpbmRvdy5jdXN0b21FbGVtZW50cy5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrKXRnKGRvY3VtZW50KTtlbHNle3ZhciB1Zz1mdW5jdGlvbigpe3RnKGRvY3VtZW50LmJvZHkpfTt3aW5kb3cuSFRNTEltcG9ydHM/d2luZG93LkhUTUxJbXBvcnRzLndoZW5SZWFkeSh1Zyk6cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7aWYoImxvYWRpbmciPT09ZG9jdW1lbnQucmVhZHlTdGF0ZSl7dmFyIGE9ZnVuY3Rpb24oKXt1ZygpO2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLGEpfTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIiwKYSl9ZWxzZSB1ZygpfSl9bmc9ZnVuY3Rpb24oKXtyZyhzZy50YWtlUmVjb3JkcygpKX19dmFyIHZnPW5nO3ZhciB3Zz17fTt2YXIgeGc9UHJvbWlzZS5yZXNvbHZlKCk7ZnVuY3Rpb24geWcoYSl7aWYoYT13Z1thXSlhLl9hcHBseVNoaW1DdXJyZW50VmVyc2lvbj1hLl9hcHBseVNoaW1DdXJyZW50VmVyc2lvbnx8MCxhLl9hcHBseVNoaW1WYWxpZGF0aW5nVmVyc2lvbj1hLl9hcHBseVNoaW1WYWxpZGF0aW5nVmVyc2lvbnx8MCxhLl9hcHBseVNoaW1OZXh0VmVyc2lvbj0oYS5fYXBwbHlTaGltTmV4dFZlcnNpb258fDApKzF9ZnVuY3Rpb24gemcoYSl7cmV0dXJuIGEuX2FwcGx5U2hpbUN1cnJlbnRWZXJzaW9uPT09YS5fYXBwbHlTaGltTmV4dFZlcnNpb259ZnVuY3Rpb24gQWcoYSl7YS5fYXBwbHlTaGltVmFsaWRhdGluZ1ZlcnNpb249YS5fYXBwbHlTaGltTmV4dFZlcnNpb247YS5fdmFsaWRhdGluZ3x8KGEuX3ZhbGlkYXRpbmc9ITAseGcudGhlbihmdW5jdGlvbigpe2EuX2FwcGx5U2hpbUN1cnJlbnRWZXJzaW9uPWEuX2FwcGx5U2hpbU5leHRWZXJzaW9uO2EuX3ZhbGlkYXRpbmc9ITF9KSl9O3ZhciBCZz17fSxDZz1uZXcgbWc7ZnVuY3Rpb24gWSgpe3RoaXMubD17fTt0aGlzLmM9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3ZhciBhPW5ldyB2ZTthLnJ1bGVzPVtdO3RoaXMuZj1UZih0aGlzLmMsbmV3IFNmKGEpKTt0aGlzLmc9ITE7dGhpcy5iPXRoaXMuYT1udWxsfW49WS5wcm90b3R5cGU7bi5mbHVzaD1mdW5jdGlvbigpe3ZnKCl9O24uRmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGVmKGEpfTtuLlZhPWZ1bmN0aW9uKGEpe3JldHVybiBjZihhKX07bi5wcmVwYXJlVGVtcGxhdGU9ZnVuY3Rpb24oYSxiLGMpe3RoaXMucHJlcGFyZVRlbXBsYXRlRG9tKGEsYik7dGhpcy5wcmVwYXJlVGVtcGxhdGVTdHlsZXMoYSxiLGMpfTsKbi5wcmVwYXJlVGVtcGxhdGVTdHlsZXM9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhLl9wcmVwYXJlZCYmIVBlKXtPfHxqZ1tiXXx8KGpnW2JdPWtmKGIpKTthLl9wcmVwYXJlZD0hMDthLm5hbWU9YjthLmV4dGVuZHM9Yzt3Z1tiXT1hO3ZhciBkPXJmKGEpLGU9c2YoZCk7Yz17aXM6YixleHRlbmRzOmN9O2Zvcih2YXIgZj1bXSxnPWEuY29udGVudC5xdWVyeVNlbGVjdG9yQWxsKCJzdHlsZSIpLGg9MDtoPGcubGVuZ3RoO2grKyl7dmFyIGs9Z1toXTtpZihrLmhhc0F0dHJpYnV0ZSgic2hhZHktdW5zY29wZWQiKSl7aWYoIU8pe3ZhciBsPWsudGV4dENvbnRlbnQ7YmYuaGFzKGwpfHwoYmYuYWRkKGwpLGw9ay5jbG9uZU5vZGUoITApLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobCkpO2sucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChrKX19ZWxzZSBmLnB1c2goay50ZXh0Q29udGVudCksay5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGspfWY9Zi5qb2luKCIiKS50cmltKCkrKEJnW2JdfHwiIik7CkRnKHRoaXMpO2lmKCFlKXtpZihnPSFkKWc9U2UudGVzdChmKXx8UmUudGVzdChmKSxTZS5sYXN0SW5kZXg9MCxSZS5sYXN0SW5kZXg9MDtoPXdlKGYpO2cmJlEmJnRoaXMuYSYmdGhpcy5hLnRyYW5zZm9ybVJ1bGVzKGgsYik7YS5fc3R5bGVBc3Q9aH1nPVtdO1F8fChnPVhmKGEuX3N0eWxlQXN0KSk7aWYoIWcubGVuZ3RofHxRKWg9Tz9hLmNvbnRlbnQ6bnVsbCxiPWpnW2JdfHxudWxsLGQ9emYoYyxhLl9zdHlsZUFzdCxudWxsLGQsZT9mOiIiKSxkPWQubGVuZ3RoP2dmKGQsYy5pcyxoLGIpOm51bGwsYS5fc3R5bGU9ZDthLmE9Z319O24uUWE9ZnVuY3Rpb24oYSxiKXtCZ1tiXT1hLmpvaW4oIiAiKX07bi5wcmVwYXJlVGVtcGxhdGVEb209ZnVuY3Rpb24oYSxiKXtpZighUGUpe3ZhciBjPXJmKGEpO098fCJzaGFkeSI9PT1jfHxhLl9kb21QcmVwYXJlZHx8KGEuX2RvbVByZXBhcmVkPSEwLHVmKGEuY29udGVudCxiKSl9fTsKZnVuY3Rpb24gRWcoYSl7dmFyIGI9cGYoYSksYz1iLmlzO2I9Yi5NO3ZhciBkPWpnW2NdfHxudWxsLGU9d2dbY107aWYoZSl7Yz1lLl9zdHlsZUFzdDt2YXIgZj1lLmE7ZT1yZihlKTtiPW5ldyBTZihjLGQsZixiLGUpO1RmKGEsYik7cmV0dXJuIGJ9fWZ1bmN0aW9uIEZnKGEpeyFhLmImJndpbmRvdy5TaGFkeUNTUyYmd2luZG93LlNoYWR5Q1NTLkN1c3RvbVN0eWxlSW50ZXJmYWNlJiYoYS5iPXdpbmRvdy5TaGFkeUNTUy5DdXN0b21TdHlsZUludGVyZmFjZSxhLmIudHJhbnNmb3JtQ2FsbGJhY2s9ZnVuY3Rpb24oYil7YS5yYShiKX0sYS5iLnZhbGlkYXRlQ2FsbGJhY2s9ZnVuY3Rpb24oKXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXsoYS5iLmVucXVldWVkfHxhLmcpJiZhLmZsdXNoQ3VzdG9tU3R5bGVzKCl9KX0pfQpmdW5jdGlvbiBEZyhhKXshYS5hJiZ3aW5kb3cuU2hhZHlDU1MmJndpbmRvdy5TaGFkeUNTUy5BcHBseVNoaW0mJihhLmE9d2luZG93LlNoYWR5Q1NTLkFwcGx5U2hpbSxhLmEuaW52YWxpZENhbGxiYWNrPXlnKTtGZyhhKX0Kbi5mbHVzaEN1c3RvbVN0eWxlcz1mdW5jdGlvbigpe2lmKCFQZSYmKERnKHRoaXMpLHRoaXMuYikpe3ZhciBhPXRoaXMuYi5wcm9jZXNzU3R5bGVzKCk7aWYodGhpcy5iLmVucXVldWVkJiYhc2YodGhpcy5mLmNzc0J1aWxkKSl7aWYoUSl7aWYoIXRoaXMuZi5jc3NCdWlsZClmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIGM9dGhpcy5iLmdldFN0eWxlRm9yQ3VzdG9tU3R5bGUoYVtiXSk7aWYoYyYmUSYmdGhpcy5hKXt2YXIgZD1lZihjKTtEZyh0aGlzKTt0aGlzLmEudHJhbnNmb3JtUnVsZXMoZCk7Yy50ZXh0Q29udGVudD1jZihkKX19fWVsc2V7R2codGhpcyx0aGlzLmMsdGhpcy5mKTtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKShjPXRoaXMuYi5nZXRTdHlsZUZvckN1c3RvbVN0eWxlKGFbYl0pKSYmaGcoYyx0aGlzLmYudyk7dGhpcy5nJiZ0aGlzLnN0eWxlRG9jdW1lbnQoKX10aGlzLmIuZW5xdWV1ZWQ9ITF9fX07Cm4uc3R5bGVFbGVtZW50PWZ1bmN0aW9uKGEsYil7aWYoUGUpe2lmKGIpe1QoYSl8fFRmKGEsbmV3IFNmKG51bGwpKTt2YXIgYz1UKGEpO2Mubz1jLm98fHt9O09iamVjdC5hc3NpZ24oYy5vLGIpO0hnKHRoaXMsYSxjKX19ZWxzZSBpZihjPVQoYSl8fEVnKGEpKWlmKGEhPT10aGlzLmMmJih0aGlzLmc9ITApLGImJihjLm89Yy5vfHx7fSxPYmplY3QuYXNzaWduKGMubyxiKSksUSlIZyh0aGlzLGEsYyk7ZWxzZSBpZih0aGlzLmZsdXNoKCksR2codGhpcyxhLGMpLGMuZmEmJmMuZmEubGVuZ3RoKXtiPXBmKGEpLmlzO3ZhciBkO2E6e2lmKGQ9Q2cuY2FjaGVbYl0pZm9yKHZhciBlPWQubGVuZ3RoLTE7MDw9ZTtlLS0pe3ZhciBmPWRbZV07Yjp7dmFyIGc9Yy5mYTtmb3IodmFyIGg9MDtoPGcubGVuZ3RoO2grKyl7dmFyIGs9Z1toXTtpZihmLnZba10hPT1jLndba10pe2c9ITE7YnJlYWsgYn19Zz0hMH1pZihnKXtkPWY7YnJlYWsgYX19ZD12b2lkIDB9Zz1kP2Quc3R5bGVFbGVtZW50Om51bGw7CmU9Yy5zOyhmPWQmJmQucyl8fChmPXRoaXMubFtiXT0odGhpcy5sW2JdfHwwKSsxLGY9YisiLSIrZik7Yy5zPWY7Zj1jLnM7aD1pZztoPWc/Zy50ZXh0Q29udGVudHx8IiI6ZWcoaCxhLGMudyxmKTtrPVQoYSk7dmFyIGw9ay5hO2wmJiFPJiZsIT09ZyYmKGwuX3VzZUNvdW50LS0sMD49bC5fdXNlQ291bnQmJmwucGFyZW50Tm9kZSYmbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGwpKTtPP2suYT8oay5hLnRleHRDb250ZW50PWgsZz1rLmEpOmgmJihnPWdmKGgsZixhLnNoYWRvd1Jvb3Qsay5iKSk6Zz9nLnBhcmVudE5vZGV8fChWZiYmLTE8aC5pbmRleE9mKCJAbWVkaWEiKSYmKGcudGV4dENvbnRlbnQ9aCksaGYoZyxudWxsLGsuYikpOmgmJihnPWdmKGgsZixudWxsLGsuYikpO2cmJihnLl91c2VDb3VudD1nLl91c2VDb3VudHx8MCxrLmEhPWcmJmcuX3VzZUNvdW50Kyssay5hPWcpO2Y9ZztPfHwoZz1jLnMsaz1oPWEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIixlJiYoaz1oLnJlcGxhY2UobmV3IFJlZ0V4cCgiXFxzKngtc2NvcGVcXHMqIisKZSsiXFxzKiIsImciKSwiICIpKSxrKz0oaz8iICI6IiIpKyJ4LXNjb3BlICIrZyxoIT09ayYmbmYoYSxrKSk7ZHx8Q2cuc3RvcmUoYixjLncsZixjLnMpfX07CmZ1bmN0aW9uIEhnKGEsYixjKXt2YXIgZD1wZihiKS5pcztpZihjLm8pe3ZhciBlPWMubyxmO2ZvcihmIGluIGUpbnVsbD09PWY/Yi5zdHlsZS5yZW1vdmVQcm9wZXJ0eShmKTpiLnN0eWxlLnNldFByb3BlcnR5KGYsZVtmXSl9ZT13Z1tkXTtpZighKCFlJiZiIT09YS5jfHxlJiYiIiE9PXJmKGUpKSYmZSYmZS5fc3R5bGUmJiF6ZyhlKSl7aWYoemcoZSl8fGUuX2FwcGx5U2hpbVZhbGlkYXRpbmdWZXJzaW9uIT09ZS5fYXBwbHlTaGltTmV4dFZlcnNpb24pRGcoYSksYS5hJiZhLmEudHJhbnNmb3JtUnVsZXMoZS5fc3R5bGVBc3QsZCksZS5fc3R5bGUudGV4dENvbnRlbnQ9emYoYixjLkEpLEFnKGUpO08mJihhPWIuc2hhZG93Um9vdCkmJihhPWEucXVlcnlTZWxlY3Rvcigic3R5bGUiKSkmJihhLnRleHRDb250ZW50PXpmKGIsYy5BKSk7Yy5BPWUuX3N0eWxlQXN0fX0KZnVuY3Rpb24gSWcoYSxiKXtyZXR1cm4oYj1vZihiKS5nZXRSb290Tm9kZSgpLmhvc3QpP1QoYil8fEVnKGIpP2I6SWcoYSxiKTphLmN9ZnVuY3Rpb24gR2coYSxiLGMpe3ZhciBkPUlnKGEsYiksZT1UKGQpLGY9ZS53O2Q9PT1hLmN8fGZ8fChHZyhhLGQsZSksZj1lLncpO2E9T2JqZWN0LmNyZWF0ZShmfHxudWxsKTtkPWRnKGIsYy5BLGMuY3NzQnVpbGQpO2I9YmcoZS5BLGIpLnY7T2JqZWN0LmFzc2lnbihhLGQuSGEsYixkLlJhKTtiPWMubztmb3IodmFyIGcgaW4gYilpZigoZT1iW2ddKXx8MD09PWUpYVtnXT1lO2c9aWc7Yj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhKTtmb3IoZT0wO2U8Yi5sZW5ndGg7ZSsrKWQ9YltlXSxhW2RdPSRmKGcsYVtkXSxhKTtjLnc9YX1uLnN0eWxlRG9jdW1lbnQ9ZnVuY3Rpb24oYSl7dGhpcy5zdHlsZVN1YnRyZWUodGhpcy5jLGEpfTsKbi5zdHlsZVN1YnRyZWU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1vZihhKSxkPWMuc2hhZG93Um9vdDsoZHx8YT09PXRoaXMuYykmJnRoaXMuc3R5bGVFbGVtZW50KGEsYik7aWYoYT1kJiYoZC5jaGlsZHJlbnx8ZC5jaGlsZE5vZGVzKSlmb3IoYz0wO2M8YS5sZW5ndGg7YysrKXRoaXMuc3R5bGVTdWJ0cmVlKGFbY10pO2Vsc2UgaWYoYz1jLmNoaWxkcmVufHxjLmNoaWxkTm9kZXMpZm9yKGE9MDthPGMubGVuZ3RoO2ErKyl0aGlzLnN0eWxlU3VidHJlZShjW2FdKX07Cm4ucmE9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPXJmKGEpO2MhPT10aGlzLmYuY3NzQnVpbGQmJih0aGlzLmYuY3NzQnVpbGQ9Yyk7aWYoIXNmKGMpKXt2YXIgZD1lZihhKTtkZihkLGZ1bmN0aW9uKGEpe2lmKE8pUmYoYSk7ZWxzZXt2YXIgZD1SO2Euc2VsZWN0b3I9YS5wYXJzZWRTZWxlY3RvcjtSZihhKTthLnNlbGVjdG9yPWEuaj1DZihkLGEsZC5jLHZvaWQgMCx2b2lkIDApfVEmJiIiPT09YyYmKERnKGIpLGIuYSYmYi5hLnRyYW5zZm9ybVJ1bGUoYSkpfSk7UT9hLnRleHRDb250ZW50PWNmKGQpOnRoaXMuZi5BLnJ1bGVzLnB1c2goZCl9fTtuLmdldENvbXB1dGVkU3R5bGVWYWx1ZT1mdW5jdGlvbihhLGIpe3ZhciBjO1F8fChjPShUKGEpfHxUKElnKHRoaXMsYSkpKS53W2JdKTtyZXR1cm4oYz1jfHx3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShhKS5nZXRQcm9wZXJ0eVZhbHVlKGIpKT9jLnRyaW0oKToiIn07Cm4uVWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1vZihhKS5nZXRSb290Tm9kZSgpO2I9Yj9iLnNwbGl0KC9ccy8pOltdO2M9Yy5ob3N0JiZjLmhvc3QubG9jYWxOYW1lO2lmKCFjKXt2YXIgZD1hLmdldEF0dHJpYnV0ZSgiY2xhc3MiKTtpZihkKXtkPWQuc3BsaXQoL1xzLyk7Zm9yKHZhciBlPTA7ZTxkLmxlbmd0aDtlKyspaWYoZFtlXT09PVIuYSl7Yz1kW2UrMV07YnJlYWt9fX1jJiZiLnB1c2goUi5hLGMpO1F8fChjPVQoYSkpJiZjLnMmJmIucHVzaChpZy5hLGMucyk7bmYoYSxiLmpvaW4oIiAiKSl9O24uQmE9ZnVuY3Rpb24oYSl7cmV0dXJuIFQoYSl9O24uVGE9ZnVuY3Rpb24oYSxiKXt3ZihhLGIpfTtuLldhPWZ1bmN0aW9uKGEsYil7d2YoYSxiLCEwKX07bi5TYT1mdW5jdGlvbihhKXtyZXR1cm4gcWcoYSl9O24uRGE9ZnVuY3Rpb24oYSl7cmV0dXJuIHBnKGEpfTtZLnByb3RvdHlwZS5mbHVzaD1ZLnByb3RvdHlwZS5mbHVzaDtZLnByb3RvdHlwZS5wcmVwYXJlVGVtcGxhdGU9WS5wcm90b3R5cGUucHJlcGFyZVRlbXBsYXRlOwpZLnByb3RvdHlwZS5zdHlsZUVsZW1lbnQ9WS5wcm90b3R5cGUuc3R5bGVFbGVtZW50O1kucHJvdG90eXBlLnN0eWxlRG9jdW1lbnQ9WS5wcm90b3R5cGUuc3R5bGVEb2N1bWVudDtZLnByb3RvdHlwZS5zdHlsZVN1YnRyZWU9WS5wcm90b3R5cGUuc3R5bGVTdWJ0cmVlO1kucHJvdG90eXBlLmdldENvbXB1dGVkU3R5bGVWYWx1ZT1ZLnByb3RvdHlwZS5nZXRDb21wdXRlZFN0eWxlVmFsdWU7WS5wcm90b3R5cGUuc2V0RWxlbWVudENsYXNzPVkucHJvdG90eXBlLlVhO1kucHJvdG90eXBlLl9zdHlsZUluZm9Gb3JOb2RlPVkucHJvdG90eXBlLkJhO1kucHJvdG90eXBlLnRyYW5zZm9ybUN1c3RvbVN0eWxlRm9yRG9jdW1lbnQ9WS5wcm90b3R5cGUucmE7WS5wcm90b3R5cGUuZ2V0U3R5bGVBc3Q9WS5wcm90b3R5cGUuRmE7WS5wcm90b3R5cGUuc3R5bGVBc3RUb1N0cmluZz1ZLnByb3RvdHlwZS5WYTtZLnByb3RvdHlwZS5mbHVzaEN1c3RvbVN0eWxlcz1ZLnByb3RvdHlwZS5mbHVzaEN1c3RvbVN0eWxlczsKWS5wcm90b3R5cGUuc2NvcGVOb2RlPVkucHJvdG90eXBlLlRhO1kucHJvdG90eXBlLnVuc2NvcGVOb2RlPVkucHJvdG90eXBlLldhO1kucHJvdG90eXBlLnNjb3BlRm9yTm9kZT1ZLnByb3RvdHlwZS5TYTtZLnByb3RvdHlwZS5jdXJyZW50U2NvcGVGb3JOb2RlPVkucHJvdG90eXBlLkRhO1kucHJvdG90eXBlLnByZXBhcmVBZG9wdGVkQ3NzVGV4dD1ZLnByb3RvdHlwZS5RYTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhZLnByb3RvdHlwZSx7bmF0aXZlU2hhZG93OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gT319LG5hdGl2ZUNzczp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFF9fX0pO3ZhciBaPW5ldyBZLEpnLEtnO3dpbmRvdy5TaGFkeUNTUyYmKEpnPXdpbmRvdy5TaGFkeUNTUy5BcHBseVNoaW0sS2c9d2luZG93LlNoYWR5Q1NTLkN1c3RvbVN0eWxlSW50ZXJmYWNlKTsKd2luZG93LlNoYWR5Q1NTPXtTY29waW5nU2hpbTpaLHByZXBhcmVUZW1wbGF0ZTpmdW5jdGlvbihhLGIsYyl7Wi5mbHVzaEN1c3RvbVN0eWxlcygpO1oucHJlcGFyZVRlbXBsYXRlKGEsYixjKX0scHJlcGFyZVRlbXBsYXRlRG9tOmZ1bmN0aW9uKGEsYil7Wi5wcmVwYXJlVGVtcGxhdGVEb20oYSxiKX0scHJlcGFyZVRlbXBsYXRlU3R5bGVzOmZ1bmN0aW9uKGEsYixjKXtaLmZsdXNoQ3VzdG9tU3R5bGVzKCk7Wi5wcmVwYXJlVGVtcGxhdGVTdHlsZXMoYSxiLGMpfSxzdHlsZVN1YnRyZWU6ZnVuY3Rpb24oYSxiKXtaLmZsdXNoQ3VzdG9tU3R5bGVzKCk7Wi5zdHlsZVN1YnRyZWUoYSxiKX0sc3R5bGVFbGVtZW50OmZ1bmN0aW9uKGEpe1ouZmx1c2hDdXN0b21TdHlsZXMoKTtaLnN0eWxlRWxlbWVudChhKX0sc3R5bGVEb2N1bWVudDpmdW5jdGlvbihhKXtaLmZsdXNoQ3VzdG9tU3R5bGVzKCk7Wi5zdHlsZURvY3VtZW50KGEpfSxmbHVzaEN1c3RvbVN0eWxlczpmdW5jdGlvbigpe1ouZmx1c2hDdXN0b21TdHlsZXMoKX0sCmdldENvbXB1dGVkU3R5bGVWYWx1ZTpmdW5jdGlvbihhLGIpe3JldHVybiBaLmdldENvbXB1dGVkU3R5bGVWYWx1ZShhLGIpfSxuYXRpdmVDc3M6USxuYXRpdmVTaGFkb3c6Tyxjc3NCdWlsZDpRZSxkaXNhYmxlUnVudGltZTpQZX07SmcmJih3aW5kb3cuU2hhZHlDU1MuQXBwbHlTaGltPUpnKTtLZyYmKHdpbmRvdy5TaGFkeUNTUy5DdXN0b21TdHlsZUludGVyZmFjZT1LZyk7dmFyIExnPXdpbmRvdy5jdXN0b21FbGVtZW50cyxNZz13aW5kb3cuSFRNTEltcG9ydHMsTmc9d2luZG93LkhUTUxUZW1wbGF0ZUVsZW1lbnQ7d2luZG93LldlYkNvbXBvbmVudHM9d2luZG93LldlYkNvbXBvbmVudHN8fHt9O2lmKExnJiZMZy5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrKXt2YXIgT2csUGc9ZnVuY3Rpb24oKXtpZihPZyl7TmcuQyYmTmcuQyh3aW5kb3cuZG9jdW1lbnQpO3ZhciBhPU9nO09nPW51bGw7YSgpO3JldHVybiEwfX0sUWc9TWcud2hlblJlYWR5O0xnLnBvbHlmaWxsV3JhcEZsdXNoQ2FsbGJhY2soZnVuY3Rpb24oYSl7T2c9YTtRZyhQZyl9KTtNZy53aGVuUmVhZHk9ZnVuY3Rpb24oYSl7UWcoZnVuY3Rpb24oKXtQZygpP01nLndoZW5SZWFkeShhKTphKCl9KX19Ck1nLndoZW5SZWFkeShmdW5jdGlvbigpe3JlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3dpbmRvdy5XZWJDb21wb25lbnRzLnJlYWR5PSEwO2RvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJXZWJDb21wb25lbnRzUmVhZHkiLHtidWJibGVzOiEwfSkpfSl9KTt2YXIgUmc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtSZy50ZXh0Q29udGVudD0iYm9keSB7dHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlLWluIDAuMnM7IH0gXG5ib2R5W3VucmVzb2x2ZWRdIHtvcGFjaXR5OiAwOyBkaXNwbGF5OiBibG9jazsgb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlOyB9IFxuIjt2YXIgU2c9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaGVhZCIpO1NnLmluc2VydEJlZm9yZShSZyxTZy5maXJzdENoaWxkKTt9KS5jYWxsKHRoaXMpOwoKCgooZnVuY3Rpb24oKXsvKgoKQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dApUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dApUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28Kc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKKi8KJ3VzZSBzdHJpY3QnO3ZhciBsPSEod2luZG93LlNoYWR5RE9NJiZ3aW5kb3cuU2hhZHlET00uaW5Vc2UpLHA7ZnVuY3Rpb24gcihhKXtwPWEmJmEuc2hpbWNzc3Byb3BlcnRpZXM/ITE6bHx8IShuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9BcHBsZVdlYktpdFwvNjAxfEVkZ2VcLzE1Lyl8fCF3aW5kb3cuQ1NTfHwhQ1NTLnN1cHBvcnRzfHwhQ1NTLnN1cHBvcnRzKCJib3gtc2hhZG93IiwiMCAwIDAgdmFyKC0tZm9vKSIpKX12YXIgdDt3aW5kb3cuU2hhZHlDU1MmJnZvaWQgMCE9PXdpbmRvdy5TaGFkeUNTUy5jc3NCdWlsZCYmKHQ9d2luZG93LlNoYWR5Q1NTLmNzc0J1aWxkKTt2YXIgYWE9ISghd2luZG93LlNoYWR5Q1NTfHwhd2luZG93LlNoYWR5Q1NTLmRpc2FibGVSdW50aW1lKTsKd2luZG93LlNoYWR5Q1NTJiZ2b2lkIDAhPT13aW5kb3cuU2hhZHlDU1MubmF0aXZlQ3NzP3A9d2luZG93LlNoYWR5Q1NTLm5hdGl2ZUNzczp3aW5kb3cuU2hhZHlDU1M/KHIod2luZG93LlNoYWR5Q1NTKSx3aW5kb3cuU2hhZHlDU1M9dm9pZCAwKTpyKHdpbmRvdy5XZWJDb21wb25lbnRzJiZ3aW5kb3cuV2ViQ29tcG9uZW50cy5mbGFncyk7dmFyIHU9cCx2PXQ7ZnVuY3Rpb24gdygpe3RoaXMuZW5kPXRoaXMuc3RhcnQ9MDt0aGlzLnJ1bGVzPXRoaXMucGFyZW50PXRoaXMucHJldmlvdXM9bnVsbDt0aGlzLmNzc1RleHQ9dGhpcy5wYXJzZWRDc3NUZXh0PSIiO3RoaXMuYXRSdWxlPSExO3RoaXMudHlwZT0wO3RoaXMucGFyc2VkU2VsZWN0b3I9dGhpcy5zZWxlY3Rvcj10aGlzLmtleWZyYW1lc05hbWU9IiJ9CmZ1bmN0aW9uIHgoYSl7YT1hLnJlcGxhY2UoYmEsIiIpLnJlcGxhY2UoY2EsIiIpO3ZhciBiPXksYz1hLGU9bmV3IHc7ZS5zdGFydD0wO2UuZW5kPWMubGVuZ3RoO2Zvcih2YXIgZD1lLGY9MCxnPWMubGVuZ3RoO2Y8ZztmKyspaWYoInsiPT09Y1tmXSl7ZC5ydWxlc3x8KGQucnVsZXM9W10pO3ZhciBoPWQsaz1oLnJ1bGVzW2gucnVsZXMubGVuZ3RoLTFdfHxudWxsO2Q9bmV3IHc7ZC5zdGFydD1mKzE7ZC5wYXJlbnQ9aDtkLnByZXZpb3VzPWs7aC5ydWxlcy5wdXNoKGQpfWVsc2UifSI9PT1jW2ZdJiYoZC5lbmQ9ZisxLGQ9ZC5wYXJlbnR8fGUpO3JldHVybiBiKGUsYSl9CmZ1bmN0aW9uIHkoYSxiKXt2YXIgYz1iLnN1YnN0cmluZyhhLnN0YXJ0LGEuZW5kLTEpO2EucGFyc2VkQ3NzVGV4dD1hLmNzc1RleHQ9Yy50cmltKCk7YS5wYXJlbnQmJihjPWIuc3Vic3RyaW5nKGEucHJldmlvdXM/YS5wcmV2aW91cy5lbmQ6YS5wYXJlbnQuc3RhcnQsYS5zdGFydC0xKSxjPWRhKGMpLGM9Yy5yZXBsYWNlKHosIiAiKSxjPWMuc3Vic3RyaW5nKGMubGFzdEluZGV4T2YoIjsiKSsxKSxjPWEucGFyc2VkU2VsZWN0b3I9YS5zZWxlY3Rvcj1jLnRyaW0oKSxhLmF0UnVsZT0wPT09Yy5pbmRleE9mKCJAIiksYS5hdFJ1bGU/MD09PWMuaW5kZXhPZigiQG1lZGlhIik/YS50eXBlPUE6Yy5tYXRjaChlYSkmJihhLnR5cGU9QixhLmtleWZyYW1lc05hbWU9YS5zZWxlY3Rvci5zcGxpdCh6KS5wb3AoKSk6YS50eXBlPTA9PT1jLmluZGV4T2YoIi0tIik/QzpEKTtpZihjPWEucnVsZXMpZm9yKHZhciBlPTAsZD1jLmxlbmd0aCxmPXZvaWQgMDtlPGQmJihmPWNbZV0pO2UrKyl5KGYsYik7CnJldHVybiBhfWZ1bmN0aW9uIGRhKGEpe3JldHVybiBhLnJlcGxhY2UoL1xcKFswLTlhLWZdezEsNn0pXHMvZ2ksZnVuY3Rpb24oYSxjKXthPWM7Zm9yKGM9Ni1hLmxlbmd0aDtjLS07KWE9IjAiK2E7cmV0dXJuIlxcIithfSl9CmZ1bmN0aW9uIEUoYSxiLGMpe2M9dm9pZCAwPT09Yz8iIjpjO3ZhciBlPSIiO2lmKGEuY3NzVGV4dHx8YS5ydWxlcyl7dmFyIGQ9YS5ydWxlcyxmO2lmKGY9ZClmPWRbMF0sZj0hKGYmJmYuc2VsZWN0b3ImJjA9PT1mLnNlbGVjdG9yLmluZGV4T2YoIi0tIikpO2lmKGYpe2Y9MDtmb3IodmFyIGc9ZC5sZW5ndGgsaD12b2lkIDA7ZjxnJiYoaD1kW2ZdKTtmKyspZT1FKGgsYixlKX1lbHNlIGI/Yj1hLmNzc1RleHQ6KGI9YS5jc3NUZXh0LGI9Yi5yZXBsYWNlKGZhLCIiKS5yZXBsYWNlKGhhLCIiKSxiPWIucmVwbGFjZShpYSwiIikucmVwbGFjZShqYSwiIikpLChlPWIudHJpbSgpKSYmKGU9IiAgIitlKyJcbiIpfWUmJihhLnNlbGVjdG9yJiYoYys9YS5zZWxlY3RvcisiIHtcbiIpLGMrPWUsYS5zZWxlY3RvciYmKGMrPSJ9XG5cbiIpKTtyZXR1cm4gY30KdmFyIEQ9MSxCPTcsQT00LEM9MUUzLGJhPS9cL1wqW14qXSpcKisoW14vKl1bXipdKlwqKykqXC8vZ2ltLGNhPS9AaW1wb3J0W147XSo7L2dpbSxmYT0vKD86XlteO1wtXHN9XSspPy0tW147e31dKj86W157fTtdKj8oPzpbO1xuXXwkKS9naW0saGE9Lyg/Ol5bXjtcLVxzfV0rKT8tLVteO3t9XSo/Oltee307XSo/e1tefV0qP30oPzpbO1xuXXwkKT8vZ2ltLGlhPS9AYXBwbHlccypcKD9bXik7XSpcKT9ccyooPzpbO1xuXXwkKT8vZ2ltLGphPS9bXjs6XSo/OlteO10qP3ZhclwoW147XSpcKSg/Ols7XG5dfCQpPy9naW0sZWE9L15AW15cc10qa2V5ZnJhbWVzLyx6PS9ccysvZzt2YXIgRz0vKD86XnxbO1xze11ccyopKC0tW1x3LV0qPylccyo6XHMqKD86KCg/OicoPzpcXCd8LikqPyd8Iig/OlxcInwuKSo/InxcKFteKV0qP1wpfFtefTt7XSkrKXxceyhbXn1dKilcfSg/Oig/PVs7XHN9XSl8JCkpL2dpLEg9Lyg/Ol58XFcrKUBhcHBseVxzKlwoPyhbXik7XG5dKilcKT8vZ2ksa2E9L0BtZWRpYVxzKC4qKS87dmFyIEk9bmV3IFNldDtmdW5jdGlvbiBKKGEpe2lmKCFhKXJldHVybiIiOyJzdHJpbmciPT09dHlwZW9mIGEmJihhPXgoYSkpO3JldHVybiBFKGEsdSl9ZnVuY3Rpb24gSyhhKXshYS5fX2Nzc1J1bGVzJiZhLnRleHRDb250ZW50JiYoYS5fX2Nzc1J1bGVzPXgoYS50ZXh0Q29udGVudCkpO3JldHVybiBhLl9fY3NzUnVsZXN8fG51bGx9ZnVuY3Rpb24gTChhLGIsYyxlKXtpZihhKXt2YXIgZD0hMSxmPWEudHlwZTtpZihlJiZmPT09QSl7dmFyIGc9YS5zZWxlY3Rvci5tYXRjaChrYSk7ZyYmKHdpbmRvdy5tYXRjaE1lZGlhKGdbMV0pLm1hdGNoZXN8fChkPSEwKSl9Zj09PUQ/YihhKTpjJiZmPT09Qj9jKGEpOmY9PT1DJiYoZD0hMCk7aWYoKGE9YS5ydWxlcykmJiFkKWZvcihkPTAsZj1hLmxlbmd0aCxnPXZvaWQgMDtkPGYmJihnPWFbZF0pO2QrKylMKGcsYixjLGUpfX0KZnVuY3Rpb24gTShhLGIpe3ZhciBjPWEuaW5kZXhPZigidmFyKCIpO2lmKC0xPT09YylyZXR1cm4gYihhLCIiLCIiLCIiKTthOnt2YXIgZT0wO3ZhciBkPWMrMztmb3IodmFyIGY9YS5sZW5ndGg7ZDxmO2QrKylpZigiKCI9PT1hW2RdKWUrKztlbHNlIGlmKCIpIj09PWFbZF0mJjA9PT0tLWUpYnJlYWsgYTtkPS0xfWU9YS5zdWJzdHJpbmcoYys0LGQpO2M9YS5zdWJzdHJpbmcoMCxjKTthPU0oYS5zdWJzdHJpbmcoZCsxKSxiKTtkPWUuaW5kZXhPZigiLCIpO3JldHVybi0xPT09ZD9iKGMsZS50cmltKCksIiIsYSk6YihjLGUuc3Vic3RyaW5nKDAsZCkudHJpbSgpLGUuc3Vic3RyaW5nKGQrMSkudHJpbSgpLGEpfQpmdW5jdGlvbiBOKGEpe2lmKHZvaWQgMCE9PXYpcmV0dXJuIHY7aWYodm9pZCAwPT09YS5fX2Nzc0J1aWxkKXt2YXIgYj1hLmdldEF0dHJpYnV0ZSgiY3NzLWJ1aWxkIik7aWYoYilhLl9fY3NzQnVpbGQ9YjtlbHNle2E6e2I9InRlbXBsYXRlIj09PWEubG9jYWxOYW1lP2EuY29udGVudC5maXJzdENoaWxkOmEuZmlyc3RDaGlsZDtpZihiIGluc3RhbmNlb2YgQ29tbWVudCYmKGI9Yi50ZXh0Q29udGVudC50cmltKCkuc3BsaXQoIjoiKSwiY3NzLWJ1aWxkIj09PWJbMF0pKXtiPWJbMV07YnJlYWsgYX1iPSIifWlmKCIiIT09Yil7dmFyIGM9InRlbXBsYXRlIj09PWEubG9jYWxOYW1lP2EuY29udGVudC5maXJzdENoaWxkOmEuZmlyc3RDaGlsZDtjLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYyl9YS5fX2Nzc0J1aWxkPWJ9fXJldHVybiBhLl9fY3NzQnVpbGR8fCIifTt2YXIgbGE9LztccyovbSxtYT0vXlxzKihpbml0aWFsKXwoaW5oZXJpdClccyokLyxPPS9ccyohaW1wb3J0YW50LztmdW5jdGlvbiBQKCl7dGhpcy5hPXt9fVAucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe2E9YS50cmltKCk7dGhpcy5hW2FdPXtoOmIsaTp7fX19O1AucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXthPWEudHJpbSgpO3JldHVybiB0aGlzLmFbYV18fG51bGx9O3ZhciBRPW51bGw7ZnVuY3Rpb24gUigpe3RoaXMuYj10aGlzLmM9bnVsbDt0aGlzLmE9bmV3IFB9Ui5wcm90b3R5cGUubz1mdW5jdGlvbihhKXthPUgudGVzdChhKXx8Ry50ZXN0KGEpO0gubGFzdEluZGV4PTA7Ry5sYXN0SW5kZXg9MDtyZXR1cm4gYX07ClIucHJvdG90eXBlLm09ZnVuY3Rpb24oYSxiKXtpZih2b2lkIDA9PT1hLl9nYXRoZXJlZFN0eWxlKXt2YXIgYz1bXTtmb3IodmFyIGU9YS5jb250ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInN0eWxlIiksZD0wO2Q8ZS5sZW5ndGg7ZCsrKXt2YXIgZj1lW2RdO2lmKGYuaGFzQXR0cmlidXRlKCJzaGFkeS11bnNjb3BlZCIpKXtpZighbCl7dmFyIGc9Zi50ZXh0Q29udGVudDtJLmhhcyhnKXx8KEkuYWRkKGcpLGc9Zi5jbG9uZU5vZGUoITApLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZykpO2YucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChmKX19ZWxzZSBjLnB1c2goZi50ZXh0Q29udGVudCksZi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGYpfShjPWMuam9pbigiIikudHJpbSgpKT8oZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpLGUudGV4dENvbnRlbnQ9YyxhLmNvbnRlbnQuaW5zZXJ0QmVmb3JlKGUsYS5jb250ZW50LmZpcnN0Q2hpbGQpLGM9ZSk6Yz1udWxsO2EuX2dhdGhlcmVkU3R5bGU9CmN9cmV0dXJuKGE9YS5fZ2F0aGVyZWRTdHlsZSk/dGhpcy5qKGEsYik6bnVsbH07Ui5wcm90b3R5cGUuaj1mdW5jdGlvbihhLGIpe2I9dm9pZCAwPT09Yj8iIjpiO3ZhciBjPUsoYSk7dGhpcy5sKGMsYik7YS50ZXh0Q29udGVudD1KKGMpO3JldHVybiBjfTtSLnByb3RvdHlwZS5mPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1LKGEpO0woYyxmdW5jdGlvbihhKXsiOnJvb3QiPT09YS5zZWxlY3RvciYmKGEuc2VsZWN0b3I9Imh0bWwiKTtiLmcoYSl9KTthLnRleHRDb250ZW50PUooYyk7cmV0dXJuIGN9O1IucHJvdG90eXBlLmw9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO3RoaXMuYz1iO0woYSxmdW5jdGlvbihhKXtjLmcoYSl9KTt0aGlzLmM9bnVsbH07Ui5wcm90b3R5cGUuZz1mdW5jdGlvbihhKXthLmNzc1RleHQ9bmEodGhpcyxhLnBhcnNlZENzc1RleHQsYSk7Ijpyb290Ij09PWEuc2VsZWN0b3ImJihhLnNlbGVjdG9yPSI6aG9zdCA+ICoiKX07CmZ1bmN0aW9uIG5hKGEsYixjKXtiPWIucmVwbGFjZShHLGZ1bmN0aW9uKGIsZCxmLGcpe3JldHVybiBvYShhLGIsZCxmLGcsYyl9KTtyZXR1cm4gUyhhLGIsYyl9ZnVuY3Rpb24gcGEoYSxiKXtmb3IodmFyIGM9YjtjLnBhcmVudDspYz1jLnBhcmVudDt2YXIgZT17fSxkPSExO0woYyxmdW5jdGlvbihjKXsoZD1kfHxjPT09Yil8fGMuc2VsZWN0b3I9PT1iLnNlbGVjdG9yJiZPYmplY3QuYXNzaWduKGUsVChhLGMucGFyc2VkQ3NzVGV4dCkpfSk7cmV0dXJuIGV9CmZ1bmN0aW9uIFMoYSxiLGMpe2Zvcih2YXIgZTtlPUguZXhlYyhiKTspe3ZhciBkPWVbMF0sZj1lWzFdO2U9ZS5pbmRleDt2YXIgZz1iLnNsaWNlKDAsZStkLmluZGV4T2YoIkBhcHBseSIpKTtiPWIuc2xpY2UoZStkLmxlbmd0aCk7dmFyIGg9Yz9wYShhLGMpOnt9O09iamVjdC5hc3NpZ24oaCxUKGEsZykpO2Q9dm9pZCAwO3ZhciBrPWE7Zj1mLnJlcGxhY2UobGEsIiIpO3ZhciBuPVtdO3ZhciBtPWsuYS5nZXQoZik7bXx8KGsuYS5zZXQoZix7fSksbT1rLmEuZ2V0KGYpKTtpZihtKXtrLmMmJihtLmlbay5jXT0hMCk7dmFyIHE9bS5oO2ZvcihkIGluIHEpaz1oJiZoW2RdLG09W2QsIjogdmFyKCIsZiwiXy1fIixkXSxrJiZtLnB1c2goIiwiLGsucmVwbGFjZShPLCIiKSksbS5wdXNoKCIpIiksTy50ZXN0KHFbZF0pJiZtLnB1c2goIiAhaW1wb3J0YW50Iiksbi5wdXNoKG0uam9pbigiIikpfWQ9bi5qb2luKCI7ICIpO2I9ZytkK2I7SC5sYXN0SW5kZXg9ZStkLmxlbmd0aH1yZXR1cm4gYn0KZnVuY3Rpb24gVChhLGIsYyl7Yz12b2lkIDA9PT1jPyExOmM7Yj1iLnNwbGl0KCI7Iik7Zm9yKHZhciBlLGQsZj17fSxnPTAsaDtnPGIubGVuZ3RoO2crKylpZihlPWJbZ10paWYoaD1lLnNwbGl0KCI6IiksMTxoLmxlbmd0aCl7ZT1oWzBdLnRyaW0oKTtkPWguc2xpY2UoMSkuam9pbigiOiIpO2lmKGMpe3ZhciBrPWE7aD1lO3ZhciBuPW1hLmV4ZWMoZCk7biYmKG5bMV0/KGsuYnx8KGsuYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJtZXRhIiksay5iLnNldEF0dHJpYnV0ZSgiYXBwbHktc2hpbS1tZWFzdXJlIiwiIiksay5iLnN0eWxlLmFsbD0iaW5pdGlhbCIsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChrLmIpKSxoPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGsuYikuZ2V0UHJvcGVydHlWYWx1ZShoKSk6aD0iYXBwbHktc2hpbS1pbmhlcml0IixkPWgpfWZbZV09ZH1yZXR1cm4gZn1mdW5jdGlvbiBxYShhLGIpe2lmKFEpZm9yKHZhciBjIGluIGIuaSljIT09YS5jJiZRKGMpfQpmdW5jdGlvbiBvYShhLGIsYyxlLGQsZil7ZSYmTShlLGZ1bmN0aW9uKGIsYyl7YyYmYS5hLmdldChjKSYmKGQ9IkBhcHBseSAiK2MrIjsiKX0pO2lmKCFkKXJldHVybiBiO3ZhciBnPVMoYSwiIitkLGYpO2Y9Yi5zbGljZSgwLGIuaW5kZXhPZigiLS0iKSk7dmFyIGg9Zz1UKGEsZywhMCksaz1hLmEuZ2V0KGMpLG49ayYmay5oO24/aD1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUobiksZyk6YS5hLnNldChjLGgpO3ZhciBtPVtdLHEsWj0hMTtmb3IocSBpbiBoKXt2YXIgRj1nW3FdO3ZvaWQgMD09PUYmJihGPSJpbml0aWFsIik7IW58fHEgaW4gbnx8KFo9ITApO20ucHVzaChjKyJfLV8iK3ErIjogIitGKX1aJiZxYShhLGspO2smJihrLmg9aCk7ZSYmKGY9YisiOyIrZik7cmV0dXJuIGYrbS5qb2luKCI7ICIpKyI7In1SLnByb3RvdHlwZS5kZXRlY3RNaXhpbj1SLnByb3RvdHlwZS5vO1IucHJvdG90eXBlLnRyYW5zZm9ybVN0eWxlPVIucHJvdG90eXBlLmo7ClIucHJvdG90eXBlLnRyYW5zZm9ybUN1c3RvbVN0eWxlPVIucHJvdG90eXBlLmY7Ui5wcm90b3R5cGUudHJhbnNmb3JtUnVsZXM9Ui5wcm90b3R5cGUubDtSLnByb3RvdHlwZS50cmFuc2Zvcm1SdWxlPVIucHJvdG90eXBlLmc7Ui5wcm90b3R5cGUudHJhbnNmb3JtVGVtcGxhdGU9Ui5wcm90b3R5cGUubTtSLnByb3RvdHlwZS5fc2VwYXJhdG9yPSJfLV8iO09iamVjdC5kZWZpbmVQcm9wZXJ0eShSLnByb3RvdHlwZSwiaW52YWxpZENhbGxiYWNrIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFF9LHNldDpmdW5jdGlvbihhKXtRPWF9fSk7dmFyIFU9e307dmFyIHJhPVByb21pc2UucmVzb2x2ZSgpO2Z1bmN0aW9uIHNhKGEpe2lmKGE9VVthXSlhLl9hcHBseVNoaW1DdXJyZW50VmVyc2lvbj1hLl9hcHBseVNoaW1DdXJyZW50VmVyc2lvbnx8MCxhLl9hcHBseVNoaW1WYWxpZGF0aW5nVmVyc2lvbj1hLl9hcHBseVNoaW1WYWxpZGF0aW5nVmVyc2lvbnx8MCxhLl9hcHBseVNoaW1OZXh0VmVyc2lvbj0oYS5fYXBwbHlTaGltTmV4dFZlcnNpb258fDApKzF9ZnVuY3Rpb24gdGEoYSl7cmV0dXJuIGEuX2FwcGx5U2hpbUN1cnJlbnRWZXJzaW9uPT09YS5fYXBwbHlTaGltTmV4dFZlcnNpb259ZnVuY3Rpb24gdWEoYSl7YS5fYXBwbHlTaGltVmFsaWRhdGluZ1ZlcnNpb249YS5fYXBwbHlTaGltTmV4dFZlcnNpb247YS5fdmFsaWRhdGluZ3x8KGEuX3ZhbGlkYXRpbmc9ITAscmEudGhlbihmdW5jdGlvbigpe2EuX2FwcGx5U2hpbUN1cnJlbnRWZXJzaW9uPWEuX2FwcGx5U2hpbU5leHRWZXJzaW9uO2EuX3ZhbGlkYXRpbmc9ITF9KSl9O3ZhciBWPW5ldyBSO2Z1bmN0aW9uIFcoKXt0aGlzLmE9bnVsbDtWLmludmFsaWRDYWxsYmFjaz1zYX1mdW5jdGlvbiBYKGEpeyFhLmEmJndpbmRvdy5TaGFkeUNTUy5DdXN0b21TdHlsZUludGVyZmFjZSYmKGEuYT13aW5kb3cuU2hhZHlDU1MuQ3VzdG9tU3R5bGVJbnRlcmZhY2UsYS5hLnRyYW5zZm9ybUNhbGxiYWNrPWZ1bmN0aW9uKGEpe1YuZihhKX0sYS5hLnZhbGlkYXRlQ2FsbGJhY2s9ZnVuY3Rpb24oKXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXthLmEuZW5xdWV1ZWQmJmEuZmx1c2hDdXN0b21TdHlsZXMoKX0pfSl9Vy5wcm90b3R5cGUucHJlcGFyZVRlbXBsYXRlPWZ1bmN0aW9uKGEsYil7WCh0aGlzKTsiIj09PU4oYSkmJihVW2JdPWEsYj1WLm0oYSxiKSxhLl9zdHlsZUFzdD1iKX07ClcucHJvdG90eXBlLmZsdXNoQ3VzdG9tU3R5bGVzPWZ1bmN0aW9uKCl7WCh0aGlzKTtpZih0aGlzLmEpe3ZhciBhPXRoaXMuYS5wcm9jZXNzU3R5bGVzKCk7aWYodGhpcy5hLmVucXVldWVkKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIGM9dGhpcy5hLmdldFN0eWxlRm9yQ3VzdG9tU3R5bGUoYVtiXSk7YyYmVi5mKGMpfXRoaXMuYS5lbnF1ZXVlZD0hMX19fTsKVy5wcm90b3R5cGUuc3R5bGVTdWJ0cmVlPWZ1bmN0aW9uKGEsYil7WCh0aGlzKTtpZihiKWZvcih2YXIgYyBpbiBiKW51bGw9PT1jP2Euc3R5bGUucmVtb3ZlUHJvcGVydHkoYyk6YS5zdHlsZS5zZXRQcm9wZXJ0eShjLGJbY10pO2lmKGEuc2hhZG93Um9vdClmb3IodGhpcy5zdHlsZUVsZW1lbnQoYSksYT1hLnNoYWRvd1Jvb3QuY2hpbGRyZW58fGEuc2hhZG93Um9vdC5jaGlsZE5vZGVzLGI9MDtiPGEubGVuZ3RoO2IrKyl0aGlzLnN0eWxlU3VidHJlZShhW2JdKTtlbHNlIGZvcihhPWEuY2hpbGRyZW58fGEuY2hpbGROb2RlcyxiPTA7YjxhLmxlbmd0aDtiKyspdGhpcy5zdHlsZVN1YnRyZWUoYVtiXSl9OwpXLnByb3RvdHlwZS5zdHlsZUVsZW1lbnQ9ZnVuY3Rpb24oYSl7WCh0aGlzKTt2YXIgYj1hLmxvY2FsTmFtZSxjO2I/LTE8Yi5pbmRleE9mKCItIik/Yz1iOmM9YS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJpcyIpfHwiIjpjPWEuaXM7Yj1VW2NdO2lmKCEoYiYmIiIhPT1OKGIpfHwhYnx8dGEoYikpKXtpZih0YShiKXx8Yi5fYXBwbHlTaGltVmFsaWRhdGluZ1ZlcnNpb24hPT1iLl9hcHBseVNoaW1OZXh0VmVyc2lvbil0aGlzLnByZXBhcmVUZW1wbGF0ZShiLGMpLHVhKGIpO2lmKGE9YS5zaGFkb3dSb290KWlmKGE9YS5xdWVyeVNlbGVjdG9yKCJzdHlsZSIpKWEuX19jc3NSdWxlcz1iLl9zdHlsZUFzdCxhLnRleHRDb250ZW50PUooYi5fc3R5bGVBc3QpfX07Vy5wcm90b3R5cGUuc3R5bGVEb2N1bWVudD1mdW5jdGlvbihhKXtYKHRoaXMpO3RoaXMuc3R5bGVTdWJ0cmVlKGRvY3VtZW50LmJvZHksYSl9OwppZighd2luZG93LlNoYWR5Q1NTfHwhd2luZG93LlNoYWR5Q1NTLlNjb3BpbmdTaGltKXt2YXIgWT1uZXcgVyx2YT13aW5kb3cuU2hhZHlDU1MmJndpbmRvdy5TaGFkeUNTUy5DdXN0b21TdHlsZUludGVyZmFjZTt3aW5kb3cuU2hhZHlDU1M9e3ByZXBhcmVUZW1wbGF0ZTpmdW5jdGlvbihhLGIpe1kuZmx1c2hDdXN0b21TdHlsZXMoKTtZLnByZXBhcmVUZW1wbGF0ZShhLGIpfSxwcmVwYXJlVGVtcGxhdGVTdHlsZXM6ZnVuY3Rpb24oYSxiLGMpe3dpbmRvdy5TaGFkeUNTUy5wcmVwYXJlVGVtcGxhdGUoYSxiLGMpfSxwcmVwYXJlVGVtcGxhdGVEb206ZnVuY3Rpb24oKXt9LHN0eWxlU3VidHJlZTpmdW5jdGlvbihhLGIpe1kuZmx1c2hDdXN0b21TdHlsZXMoKTtZLnN0eWxlU3VidHJlZShhLGIpfSxzdHlsZUVsZW1lbnQ6ZnVuY3Rpb24oYSl7WS5mbHVzaEN1c3RvbVN0eWxlcygpO1kuc3R5bGVFbGVtZW50KGEpfSxzdHlsZURvY3VtZW50OmZ1bmN0aW9uKGEpe1kuZmx1c2hDdXN0b21TdHlsZXMoKTsKWS5zdHlsZURvY3VtZW50KGEpfSxnZXRDb21wdXRlZFN0eWxlVmFsdWU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShhKS5nZXRQcm9wZXJ0eVZhbHVlKGIpKT9hLnRyaW0oKToiIn0sZmx1c2hDdXN0b21TdHlsZXM6ZnVuY3Rpb24oKXtZLmZsdXNoQ3VzdG9tU3R5bGVzKCl9LG5hdGl2ZUNzczp1LG5hdGl2ZVNoYWRvdzpsLGNzc0J1aWxkOnYsZGlzYWJsZVJ1bnRpbWU6YWF9O3ZhJiYod2luZG93LlNoYWR5Q1NTLkN1c3RvbVN0eWxlSW50ZXJmYWNlPXZhKX13aW5kb3cuU2hhZHlDU1MuQXBwbHlTaGltPVY7fSkuY2FsbCh0aGlzKTsKCgoKCihmdW5jdGlvbigpIHsKICAndXNlIHN0cmljdCc7CgogIGNvbnN0IHVzZXJQb2x5bWVyID0gd2luZG93LlBvbHltZXI7CgogIC8qKgogICAqIEBuYW1lc3BhY2UgUG9seW1lcgogICAqIEBzdW1tYXJ5IFBvbHltZXIgaXMgYSBsaWdodHdlaWdodCBsaWJyYXJ5IGJ1aWx0IG9uIHRvcCBvZiB0aGUgd2ViCiAgICogICBzdGFuZGFyZHMtYmFzZWQgV2ViIENvbXBvbmVudHMgQVBJJ3MsIGFuZCBtYWtlcyBpdCBlYXN5IHRvIGJ1aWxkIHlvdXIKICAgKiAgIG93biBjdXN0b20gSFRNTCBlbGVtZW50cy4KICAgKiBAcGFyYW0geyFQb2x5bWVySW5pdH0gaW5mbyBQcm90b3R5cGUgZm9yIHRoZSBjdXN0b20gZWxlbWVudC4gSXQgbXVzdCBjb250YWluCiAgICogICBhbiBgaXNgIHByb3BlcnR5IHRvIHNwZWNpZnkgdGhlIGVsZW1lbnQgbmFtZS4gT3RoZXIgcHJvcGVydGllcyBwb3B1bGF0ZQogICAqICAgdGhlIGVsZW1lbnQgcHJvdG90eXBlLiBUaGUgYHByb3BlcnRpZXNgLCBgb2JzZXJ2ZXJzYCwgYGhvc3RBdHRyaWJ1dGVzYCwKICAgKiAgIGFuZCBgbGlzdGVuZXJzYCBwcm9wZXJ0aWVzIGFyZSBwcm9jZXNzZWQgdG8gY3JlYXRlIGVsZW1lbnQgZmVhdHVyZXMuCiAgICogQHJldHVybiB7IU9iamVjdH0gUmV0dXJucyBhIGN1c3RvbSBlbGVtZW50IGNsYXNzIGZvciB0aGUgZ2l2ZW4gcHJvdmlkZWQKICAgKiAgIHByb3RvdHlwZSBgaW5mb2Agb2JqZWN0LiBUaGUgbmFtZSBvZiB0aGUgZWxlbWVudCBpZiBnaXZlbiBieSBgaW5mby5pc2AuCiAgICovCiAgd2luZG93LlBvbHltZXIgPSBmdW5jdGlvbihpbmZvKSB7CiAgICByZXR1cm4gd2luZG93LlBvbHltZXIuX3BvbHltZXJGbihpbmZvKTsKICB9OwoKICAvLyBzdXBwb3J0IHVzZXIgc2V0dGluZ3Mgb24gdGhlIFBvbHltZXIgb2JqZWN0CiAgaWYgKHVzZXJQb2x5bWVyKSB7CiAgICBPYmplY3QuYXNzaWduKFBvbHltZXIsIHVzZXJQb2x5bWVyKTsKICB9CgogIC8vIFRvIGJlIHBsdWdnZWQgYnkgbGVnYWN5IGltcGxlbWVudGF0aW9uIGlmIGxvYWRlZAogIC8qIGVzbGludC1kaXNhYmxlIHZhbGlkLWpzZG9jICovCiAgLyoqCiAgICogQHBhcmFtIHshUG9seW1lckluaXR9IGluZm8gUHJvdG90eXBlIGZvciB0aGUgY3VzdG9tIGVsZW1lbnQuIEl0IG11c3QgY29udGFpbgogICAqICAgYW4gYGlzYCBwcm9wZXJ0eSB0byBzcGVjaWZ5IHRoZSBlbGVtZW50IG5hbWUuIE90aGVyIHByb3BlcnRpZXMgcG9wdWxhdGUKICAgKiAgIHRoZSBlbGVtZW50IHByb3RvdHlwZS4gVGhlIGBwcm9wZXJ0aWVzYCwgYG9ic2VydmVyc2AsIGBob3N0QXR0cmlidXRlc2AsCiAgICogICBhbmQgYGxpc3RlbmVyc2AgcHJvcGVydGllcyBhcmUgcHJvY2Vzc2VkIHRvIGNyZWF0ZSBlbGVtZW50IGZlYXR1cmVzLgogICAqIEByZXR1cm4geyFPYmplY3R9IFJldHVybnMgYSBjdXN0b20gZWxlbWVudCBjbGFzcyBmb3IgdGhlIGdpdmVuIHByb3ZpZGVkCiAgICogICBwcm90b3R5cGUgYGluZm9gIG9iamVjdC4gVGhlIG5hbWUgb2YgdGhlIGVsZW1lbnQgaWYgZ2l2ZW4gYnkgYGluZm8uaXNgLgogICAqLwogIHdpbmRvdy5Qb2x5bWVyLl9wb2x5bWVyRm4gPSBmdW5jdGlvbihpbmZvKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnMKICAgIHRocm93IG5ldyBFcnJvcignTG9hZCBwb2x5bWVyLmh0bWwgdG8gdXNlIHRoZSBQb2x5bWVyKCkgZnVuY3Rpb24uJyk7CiAgfTsKICAvKiBlc2xpbnQtZW5hYmxlICovCgogIHdpbmRvdy5Qb2x5bWVyLnZlcnNpb24gPSAnMi43LjAnOwoKICAvKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqLwogIC8qCiAgV2hlbiB1c2luZyBDbG9zdXJlIENvbXBpbGVyLCBKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KHByb3BlcnR5LCBvYmplY3QpIGlzIHJlcGxhY2VkIGJ5IHRoZSBtdW5nZWQgbmFtZSBmb3Igb2JqZWN0W3Byb3BlcnR5XQogIFdlIGNhbm5vdCBhbGlhcyB0aGlzIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvIHVzZSBhIHNtYWxsIHNoaW0gdGhhdCBoYXMgdGhlIHNhbWUgYmVoYXZpb3Igd2hlbiBub3QgY29tcGlsaW5nLgogICovCiAgd2luZG93LkpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkgPSBmdW5jdGlvbihwcm9wLCBvYmopIHsKICAgIHJldHVybiBwcm9wOwogIH07CiAgLyogZXNsaW50LWVuYWJsZSAqLwoKfSkoKTsKCgoKICAoZnVuY3Rpb24oKSB7CiAgICAndXNlIHN0cmljdCc7CgogICAgbGV0IENTU19VUkxfUlggPSAvKHVybFwoKShbXildKikoXCkpL2c7CiAgICBsZXQgQUJTX1VSTCA9IC8oXlwvKXwoXiMpfCheW1x3LVxkXSo6KS87CiAgICBsZXQgd29ya2luZ1VSTDsKICAgIGxldCByZXNvbHZlRG9jOwogICAgLyoqCiAgICAgKiBSZXNvbHZlcyB0aGUgZ2l2ZW4gVVJMIGFnYWluc3QgdGhlIHByb3ZpZGVkIGBiYXNlVXJpJy4KICAgICAqIAogICAgICogTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gcGVyZm9ybXMgbm8gcmVzb2x1dGlvbiBmb3IgVVJMcyB0aGF0IHN0YXJ0CiAgICAgKiB3aXRoIGAvYCAoYWJzb2x1dGUgVVJMcykgb3IgYCNgIChoYXNoIGlkZW50aWZpZXJzKS4gIEZvciBnZW5lcmFsIHB1cnBvc2UKICAgICAqIFVSTCByZXNvbHV0aW9uLCB1c2UgYHdpbmRvdy5VUkxgLgogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlJlc29sdmVVcmwKICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgSW5wdXQgVVJMIHRvIHJlc29sdmUKICAgICAqIEBwYXJhbSB7P3N0cmluZz19IGJhc2VVUkkgQmFzZSBVUkkgdG8gcmVzb2x2ZSB0aGUgVVJMIGFnYWluc3QKICAgICAqIEByZXR1cm4ge3N0cmluZ30gcmVzb2x2ZWQgVVJMCiAgICAgKi8KICAgIGZ1bmN0aW9uIHJlc29sdmVVcmwodXJsLCBiYXNlVVJJKSB7CiAgICAgIGlmICh1cmwgJiYgQUJTX1VSTC50ZXN0KHVybCkpIHsKICAgICAgICByZXR1cm4gdXJsOwogICAgICB9CiAgICAgIC8vIExhenkgZmVhdHVyZSBkZXRlY3Rpb24uCiAgICAgIGlmICh3b3JraW5nVVJMID09PSB1bmRlZmluZWQpIHsKICAgICAgICB3b3JraW5nVVJMID0gZmFsc2U7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIGNvbnN0IHUgPSBuZXcgVVJMKCdiJywgJ2h0dHA6Ly9hJyk7CiAgICAgICAgICB1LnBhdGhuYW1lID0gJ2MlMjBkJzsKICAgICAgICAgIHdvcmtpbmdVUkwgPSAodS5ocmVmID09PSAnaHR0cDovL2EvYyUyMGQnKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAvLyBzaWxlbnRseSBmYWlsCiAgICAgICAgfQogICAgICB9CiAgICAgIGlmICghYmFzZVVSSSkgewogICAgICAgIGJhc2VVUkkgPSBkb2N1bWVudC5iYXNlVVJJIHx8IHdpbmRvdy5sb2NhdGlvbi5ocmVmOwogICAgICB9CiAgICAgIGlmICh3b3JraW5nVVJMKSB7CiAgICAgICAgcmV0dXJuIChuZXcgVVJMKHVybCwgYmFzZVVSSSkpLmhyZWY7CiAgICAgIH0KICAgICAgLy8gRmFsbGJhY2sgdG8gY3JlYXRpbmcgYW4gYW5jaG9yIGludG8gYSBkaXNjb25uZWN0ZWQgZG9jdW1lbnQuCiAgICAgIGlmICghcmVzb2x2ZURvYykgewogICAgICAgIHJlc29sdmVEb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoJ3RlbXAnKTsKICAgICAgICByZXNvbHZlRG9jLmJhc2UgPSByZXNvbHZlRG9jLmNyZWF0ZUVsZW1lbnQoJ2Jhc2UnKTsKICAgICAgICByZXNvbHZlRG9jLmhlYWQuYXBwZW5kQ2hpbGQocmVzb2x2ZURvYy5iYXNlKTsKICAgICAgICByZXNvbHZlRG9jLmFuY2hvciA9IHJlc29sdmVEb2MuY3JlYXRlRWxlbWVudCgnYScpOwogICAgICAgIHJlc29sdmVEb2MuYm9keS5hcHBlbmRDaGlsZChyZXNvbHZlRG9jLmFuY2hvcik7CiAgICAgIH0KICAgICAgcmVzb2x2ZURvYy5iYXNlLmhyZWYgPSBiYXNlVVJJOwogICAgICByZXNvbHZlRG9jLmFuY2hvci5ocmVmID0gdXJsOwogICAgICByZXR1cm4gcmVzb2x2ZURvYy5hbmNob3IuaHJlZiB8fCB1cmw7CgogICAgfQoKICAgIC8qKgogICAgICogUmVzb2x2ZXMgYW55IHJlbGF0aXZlIFVSTCdzIGluIHRoZSBnaXZlbiBDU1MgdGV4dCBhZ2FpbnN0IHRoZSBwcm92aWRlZAogICAgICogYG93bmVyRG9jdW1lbnRgJ3MgYGJhc2VVUklgLgogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlJlc29sdmVVcmwKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBjc3NUZXh0IENTUyB0ZXh0IHRvIHByb2Nlc3MKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlVVJJIEJhc2UgVVJJIHRvIHJlc29sdmUgdGhlIFVSTCBhZ2FpbnN0CiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IFByb2Nlc3NlZCBDU1MgdGV4dCB3aXRoIHJlc29sdmVkIFVSTCdzCiAgICAgKi8KICAgIGZ1bmN0aW9uIHJlc29sdmVDc3MoY3NzVGV4dCwgYmFzZVVSSSkgewogICAgICByZXR1cm4gY3NzVGV4dC5yZXBsYWNlKENTU19VUkxfUlgsIGZ1bmN0aW9uKG0sIHByZSwgdXJsLCBwb3N0KSB7CiAgICAgICAgcmV0dXJuIHByZSArICdcJycgKwogICAgICAgICAgcmVzb2x2ZVVybCh1cmwucmVwbGFjZSgvWyInXS9nLCAnJyksIGJhc2VVUkkpICsKICAgICAgICAgICdcJycgKyBwb3N0OwogICAgICB9KTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBwYXRoIGZyb20gYSBnaXZlbiBgdXJsYC4gVGhlIHBhdGggaW5jbHVkZXMgdGhlIHRyYWlsaW5nCiAgICAgKiBgL2AgZnJvbSB0aGUgdXJsLgogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlJlc29sdmVVcmwKICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgSW5wdXQgVVJMIHRvIHRyYW5zZm9ybQogICAgICogQHJldHVybiB7c3RyaW5nfSByZXNvbHZlZCBwYXRoCiAgICAgKi8KICAgIGZ1bmN0aW9uIHBhdGhGcm9tVXJsKHVybCkgewogICAgICByZXR1cm4gdXJsLnN1YnN0cmluZygwLCB1cmwubGFzdEluZGV4T2YoJy8nKSArIDEpOwogICAgfQoKICAgIC8qKgogICAgICogTW9kdWxlIHdpdGggdXRpbGl0aWVzIGZvciByZXNvbHZpbmcgcmVsYXRpdmUgVVJMJ3MuCiAgICAgKgogICAgICogQG5hbWVzcGFjZQogICAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgICAqIEBzdW1tYXJ5IE1vZHVsZSB3aXRoIHV0aWxpdGllcyBmb3IgcmVzb2x2aW5nIHJlbGF0aXZlIFVSTCdzLgogICAgICovCiAgICBQb2x5bWVyLlJlc29sdmVVcmwgPSB7CiAgICAgIHJlc29sdmVDc3M6IHJlc29sdmVDc3MsCiAgICAgIHJlc29sdmVVcmw6IHJlc29sdmVVcmwsCiAgICAgIHBhdGhGcm9tVXJsOiBwYXRoRnJvbVVybAogICAgfTsKCiAgfSkoKTsKCgoKLyoqIEBzdXBwcmVzcyB7ZGVwcmVjYXRlZH0gKi8KKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgLyoqCiAgICogU2V0cyB0aGUgZ2xvYmFsLCBsZWdhY3kgc2V0dGluZ3MuCiAgICoKICAgKiBAZGVwcmVjYXRlZAogICAqIEBuYW1lc3BhY2UKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqLwogIFBvbHltZXIuU2V0dGluZ3MgPSBQb2x5bWVyLlNldHRpbmdzIHx8IHt9OwoKICBQb2x5bWVyLlNldHRpbmdzLnVzZVNoYWRvdyA9ICEod2luZG93LlNoYWR5RE9NKTsKICBQb2x5bWVyLlNldHRpbmdzLnVzZU5hdGl2ZUNTU1Byb3BlcnRpZXMgPQogICAgQm9vbGVhbighd2luZG93LlNoYWR5Q1NTIHx8IHdpbmRvdy5TaGFkeUNTUy5uYXRpdmVDc3MpOwogIFBvbHltZXIuU2V0dGluZ3MudXNlTmF0aXZlQ3VzdG9tRWxlbWVudHMgPQogICAgISh3aW5kb3cuY3VzdG9tRWxlbWVudHMucG9seWZpbGxXcmFwRmx1c2hDYWxsYmFjayk7CgoKICAvKioKICAgKiBHbG9iYWxseSBzZXR0YWJsZSBwcm9wZXJ0eSB0aGF0IGlzIGF1dG9tYXRpY2FsbHkgYXNzaWduZWQgdG8KICAgKiBgUG9seW1lci5FbGVtZW50TWl4aW5gIGluc3RhbmNlcywgdXNlZnVsIGZvciBiaW5kaW5nIGluIHRlbXBsYXRlcyB0bwogICAqIG1ha2UgVVJMJ3MgcmVsYXRpdmUgdG8gYW4gYXBwbGljYXRpb24ncyByb290LiAgRGVmYXVsdHMgdG8gdGhlIG1haW4KICAgKiBkb2N1bWVudCBVUkwsIGJ1dCBjYW4gYmUgb3ZlcnJpZGRlbiBieSB1c2Vycy4gIEl0IG1heSBiZSB1c2VmdWwgdG8gc2V0CiAgICogYFBvbHltZXIucm9vdFBhdGhgIHRvIHByb3ZpZGUgYSBzdGFibGUgYXBwbGljYXRpb24gbW91bnQgcGF0aCB3aGVuCiAgICogdXNpbmcgY2xpZW50IHNpZGUgcm91dGluZy4KICAgKgogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICovCiAgUG9seW1lci5yb290UGF0aCA9IFBvbHltZXIucm9vdFBhdGggfHwKICAgIFBvbHltZXIuUmVzb2x2ZVVybC5wYXRoRnJvbVVybChkb2N1bWVudC5iYXNlVVJJIHx8IHdpbmRvdy5sb2NhdGlvbi5ocmVmKTsKCiAgLyoqCiAgICogU2V0cyB0aGUgZ2xvYmFsIHJvb3RQYXRoIHByb3BlcnR5IHVzZWQgYnkgYFBvbHltZXIuRWxlbWVudE1peGluYCBhbmQKICAgKiBhdmFpbGFibGUgdmlhIGBQb2x5bWVyLnJvb3RQYXRoYC4KICAgKgogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIG5ldyByb290IHBhdGgKICAgKiBAcmV0dXJuIHt2b2lkfQogICAqLwogIFBvbHltZXIuc2V0Um9vdFBhdGggPSBmdW5jdGlvbihwYXRoKSB7CiAgICBQb2x5bWVyLnJvb3RQYXRoID0gcGF0aDsKICB9OwoKICAvKioKICAgKiBBIGdsb2JhbCBjYWxsYmFjayB1c2VkIHRvIHNhbml0aXplIGFueSB2YWx1ZSBiZWZvcmUgaW5zZXJ0aW5nIGl0IGludG8gdGhlIERPTS4gVGhlIGNhbGxiYWNrIHNpZ25hdHVyZSBpczoKICAgKgogICAqICAgICBQb2x5bWVyID0gewogICAqICAgICAgIHNhbml0aXplRE9NVmFsdWU6IGZ1bmN0aW9uKHZhbHVlLCBuYW1lLCB0eXBlLCBub2RlKSB7IC4uLiB9CiAgICogICAgIH0KICAgKgogICAqIFdoZXJlOgogICAqCiAgICogYHZhbHVlYCBpcyB0aGUgdmFsdWUgdG8gc2FuaXRpemUuCiAgICogYG5hbWVgIGlzIHRoZSBuYW1lIG9mIGFuIGF0dHJpYnV0ZSBvciBwcm9wZXJ0eSAoZm9yIGV4YW1wbGUsIGhyZWYpLgogICAqIGB0eXBlYCBpbmRpY2F0ZXMgd2hlcmUgdGhlIHZhbHVlIGlzIGJlaW5nIGluc2VydGVkOiBvbmUgb2YgcHJvcGVydHksIGF0dHJpYnV0ZSwgb3IgdGV4dC4KICAgKiBgbm9kZWAgaXMgdGhlIG5vZGUgd2hlcmUgdGhlIHZhbHVlIGlzIGJlaW5nIGluc2VydGVkLgogICAqCiAgICogQHR5cGUgeyhmdW5jdGlvbigqLHN0cmluZyxzdHJpbmcsTm9kZSk6Kil8dW5kZWZpbmVkfQogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICovCiAgUG9seW1lci5zYW5pdGl6ZURPTVZhbHVlID0gUG9seW1lci5zYW5pdGl6ZURPTVZhbHVlIHx8IG51bGw7CgogIC8qKgogICAqIFNldHMgdGhlIGdsb2JhbCBzYW5pdGl6ZURPTVZhbHVlIGF2YWlsYWJsZSB2aWEgYFBvbHltZXIuc2FuaXRpemVET01WYWx1ZWAuCiAgICoKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBwYXJhbSB7KGZ1bmN0aW9uKCosc3RyaW5nLHN0cmluZyxOb2RlKToqKXx1bmRlZmluZWR9IG5ld1Nhbml0aXplRE9NVmFsdWUgdGhlIGdsb2JhbCBzYW5pdGl6ZURPTVZhbHVlIGNhbGxiYWNrCiAgICogQHJldHVybiB7dm9pZH0KICAgKi8KICBQb2x5bWVyLnNldFNhbml0aXplRE9NVmFsdWUgPSBmdW5jdGlvbihuZXdTYW5pdGl6ZURPTVZhbHVlKSB7CiAgICBQb2x5bWVyLnNhbml0aXplRE9NVmFsdWUgPSBuZXdTYW5pdGl6ZURPTVZhbHVlOwogIH07CgogIC8qKgogICAqIEdsb2JhbGx5IHNldHRhYmxlIHByb3BlcnR5IHRvIG1ha2UgUG9seW1lciBHZXN0dXJlcyB1c2UgcGFzc2l2ZSBUb3VjaEV2ZW50IGxpc3RlbmVycyB3aGVuIHJlY29nbml6aW5nIGdlc3R1cmVzLgogICAqIFdoZW4gc2V0IHRvIGB0cnVlYCwgZ2VzdHVyZXMgbWFkZSBmcm9tIHRvdWNoIHdpbGwgbm90IGJlIGFibGUgdG8gcHJldmVudCBzY3JvbGxpbmcsIGFsbG93aW5nIGZvciBzbW9vdGhlcgogICAqIHNjcm9sbGluZyBwZXJmb3JtYW5jZS4KICAgKiBEZWZhdWx0cyB0byBgZmFsc2VgIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KICAgKgogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICovCiAgUG9seW1lci5wYXNzaXZlVG91Y2hHZXN0dXJlcyA9IFBvbHltZXIucGFzc2l2ZVRvdWNoR2VzdHVyZXMgfHwgZmFsc2U7CgogIC8qKgogICAqIFNldHMgYHBhc3NpdmVUb3VjaEdlc3R1cmVzYCBnbG9iYWxseSBmb3IgYWxsIGVsZW1lbnRzIHVzaW5nIFBvbHltZXIgR2VzdHVyZXMuCiAgICoKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBwYXJhbSB7Ym9vbGVhbn0gdXNlUGFzc2l2ZSBlbmFibGUgb3IgZGlzYWJsZSBwYXNzaXZlIHRvdWNoIGdlc3R1cmVzIGdsb2JhbGx5CiAgICogQHJldHVybiB7dm9pZH0KICAgKi8KICBQb2x5bWVyLnNldFBhc3NpdmVUb3VjaEdlc3R1cmVzID0gZnVuY3Rpb24odXNlUGFzc2l2ZSkgewogICAgUG9seW1lci5wYXNzaXZlVG91Y2hHZXN0dXJlcyA9IHVzZVBhc3NpdmU7CiAgfTsKCiAgUG9seW1lci5sZWdhY3lPcHRpbWl6YXRpb25zID0gUG9seW1lci5sZWdhY3lPcHRpbWl6YXRpb25zIHx8CiAgICAgIHdpbmRvdy5Qb2x5bWVyU2V0dGluZ3MgJiYgd2luZG93LlBvbHltZXJTZXR0aW5ncy5sZWdhY3lPcHRpbWl6YXRpb25zIHx8IGZhbHNlOwoKICAvKioKICAgKiBTZXRzIGBsZWdhY3lPcHRpbWl6YXRpb25zYCBnbG9iYWxseSBmb3IgYWxsIGVsZW1lbnRzLiBFbmFibGVzCiAgICogb3B0aW1pemF0aW9ucyB3aGVuIG9ubHkgbGVnYWN5IFBvbHltZXIoKSBzdHlsZSBlbGVtZW50cyBhcmUgdXNlZC4KICAgKgogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHBhcmFtIHtib29sZWFufSB1c2VMZWdhY3lPcHRpbWl6YXRpb25zIGVuYWJsZSBvciBkaXNhYmxlIGxlZ2FjeSBvcHRpbWl6YXRpb25zIGdsb2JhbGx5LgogICAqIEByZXR1cm4ge3ZvaWR9CiAgICovCiAgUG9seW1lci5zZXRMZWdhY3lPcHRpbWl6YXRpb25zID0gZnVuY3Rpb24odXNlTGVnYWN5T3B0aW1pemF0aW9ucykgewogICAgUG9seW1lci5sZWdhY3lPcHRpbWl6YXRpb25zID0gdXNlTGVnYWN5T3B0aW1pemF0aW9uczsKICB9Owp9KSgpOwoKCgooZnVuY3Rpb24oKSB7CgogICd1c2Ugc3RyaWN0JzsKCiAgLy8gdW5pcXVlIGdsb2JhbCBpZCBmb3IgZGVkdXBpbmcgbWl4aW5zLgogIGxldCBkZWR1cGVJZCA9IDA7CgogIC8qKgogICAqIEBjb25zdHJ1Y3RvcgogICAqIEBleHRlbmRzIHtGdW5jdGlvbn0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIE1peGluRnVuY3Rpb24oKXt9CiAgLyoqIEB0eXBlIHsoV2Vha01hcCB8IHVuZGVmaW5lZCl9ICovCiAgTWl4aW5GdW5jdGlvbi5wcm90b3R5cGUuX19taXhpbkFwcGxpY2F0aW9uczsKICAvKiogQHR5cGUgeyhPYmplY3QgfCB1bmRlZmluZWQpfSAqLwogIE1peGluRnVuY3Rpb24ucHJvdG90eXBlLl9fbWl4aW5TZXQ7CgogIC8qIGVzbGludC1kaXNhYmxlIHZhbGlkLWpzZG9jICovCiAgLyoqCiAgICogV3JhcHMgYW4gRVM2IGNsYXNzIGV4cHJlc3Npb24gbWl4aW4gc3VjaCB0aGF0IHRoZSBtaXhpbiBpcyBvbmx5IGFwcGxpZWQKICAgKiBpZiBpdCBoYXMgbm90IGFscmVhZHkgYmVlbiBhcHBsaWVkIGl0cyBiYXNlIGFyZ3VtZW50LiBBbHNvIG1lbW9pemVzIG1peGluCiAgICogYXBwbGljYXRpb25zLgogICAqCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAdGVtcGxhdGUgVAogICAqIEBwYXJhbSB7VH0gbWl4aW4gRVM2IGNsYXNzIGV4cHJlc3Npb24gbWl4aW4gdG8gd3JhcAogICAqIEByZXR1cm4ge1R9CiAgICogQHN1cHByZXNzIHtpbnZhbGlkQ2FzdHN9CiAgICovCiAgUG9seW1lci5kZWR1cGluZ01peGluID0gZnVuY3Rpb24obWl4aW4pIHsKICAgIGxldCBtaXhpbkFwcGxpY2F0aW9ucyA9IC8qKiBAdHlwZSB7IU1peGluRnVuY3Rpb259ICovKG1peGluKS5fX21peGluQXBwbGljYXRpb25zOwogICAgaWYgKCFtaXhpbkFwcGxpY2F0aW9ucykgewogICAgICBtaXhpbkFwcGxpY2F0aW9ucyA9IG5ldyBXZWFrTWFwKCk7CiAgICAgIC8qKiBAdHlwZSB7IU1peGluRnVuY3Rpb259ICovKG1peGluKS5fX21peGluQXBwbGljYXRpb25zID0gbWl4aW5BcHBsaWNhdGlvbnM7CiAgICB9CiAgICAvLyBtYWludGFpbiBhIHVuaXF1ZSBpZCBmb3IgZWFjaCBtaXhpbgogICAgbGV0IG1peGluRGVkdXBlSWQgPSBkZWR1cGVJZCsrOwogICAgZnVuY3Rpb24gZGVkdXBpbmdNaXhpbihiYXNlKSB7CiAgICAgIGxldCBiYXNlU2V0ID0gLyoqIEB0eXBlIHshTWl4aW5GdW5jdGlvbn0gKi8oYmFzZSkuX19taXhpblNldDsKICAgICAgaWYgKGJhc2VTZXQgJiYgYmFzZVNldFttaXhpbkRlZHVwZUlkXSkgewogICAgICAgIHJldHVybiBiYXNlOwogICAgICB9CiAgICAgIGxldCBtYXAgPSBtaXhpbkFwcGxpY2F0aW9uczsKICAgICAgbGV0IGV4dGVuZGVkID0gbWFwLmdldChiYXNlKTsKICAgICAgaWYgKCFleHRlbmRlZCkgewogICAgICAgIGV4dGVuZGVkID0gLyoqIEB0eXBlIHshRnVuY3Rpb259ICovKG1peGluKShiYXNlKTsKICAgICAgICBtYXAuc2V0KGJhc2UsIGV4dGVuZGVkKTsKICAgICAgfQogICAgICAvLyBjb3B5IGluaGVyaXRlZCBtaXhpbiBzZXQgZnJvbSB0aGUgZXh0ZW5kZWQgY2xhc3MsIG9yIHRoZSBiYXNlIGNsYXNzCiAgICAgIC8vIE5PVEU6IHdlIGF2b2lkIHVzZSBvZiBTZXQgaGVyZSBiZWNhdXNlIHNvbWUgYnJvd3NlciAoSUUxMSkKICAgICAgLy8gY2Fubm90IGV4dGVuZCBhIGJhc2UgU2V0IHZpYSB0aGUgY29uc3RydWN0b3IuCiAgICAgIGxldCBtaXhpblNldCA9IE9iamVjdC5jcmVhdGUoLyoqIEB0eXBlIHshTWl4aW5GdW5jdGlvbn0gKi8oZXh0ZW5kZWQpLl9fbWl4aW5TZXQgfHwgYmFzZVNldCB8fCBudWxsKTsKICAgICAgbWl4aW5TZXRbbWl4aW5EZWR1cGVJZF0gPSB0cnVlOwogICAgICAvKiogQHR5cGUgeyFNaXhpbkZ1bmN0aW9ufSAqLyhleHRlbmRlZCkuX19taXhpblNldCA9IG1peGluU2V0OwogICAgICByZXR1cm4gZXh0ZW5kZWQ7CiAgICB9CgogICAgcmV0dXJuIC8qKiBAdHlwZSB7VH0gKi8gKGRlZHVwaW5nTWl4aW4pOwogIH07CiAgLyogZXNsaW50LWVuYWJsZSB2YWxpZC1qc2RvYyAqLwoKfSkoKTsKCgoKKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgY29uc3QgTU9EVUxFX1NUWUxFX0xJTktfU0VMRUNUT1IgPSAnbGlua1tyZWw9aW1wb3J0XVt0eXBlfj1jc3NdJzsKICBjb25zdCBJTkNMVURFX0FUVFIgPSAnaW5jbHVkZSc7CiAgY29uc3QgU0hBRFlfVU5TQ09QRURfQVRUUiA9ICdzaGFkeS11bnNjb3BlZCc7CgogIGZ1bmN0aW9uIGltcG9ydE1vZHVsZShtb2R1bGVJZCkgewogICAgY29uc3QgLyoqIFBvbHltZXIuRG9tTW9kdWxlICovIFBvbHltZXJEb21Nb2R1bGUgPSBjdXN0b21FbGVtZW50cy5nZXQoJ2RvbS1tb2R1bGUnKTsKICAgIGlmICghUG9seW1lckRvbU1vZHVsZSkgewogICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIHJldHVybiBQb2x5bWVyRG9tTW9kdWxlLmltcG9ydChtb2R1bGVJZCk7CiAgfQoKICBmdW5jdGlvbiBzdHlsZUZvckltcG9ydChpbXBvcnREb2MpIHsKICAgIC8vIE5PVEU6IHBvbHlmaWxsIGFmZm9yZGFuY2UuCiAgICAvLyB1bmRlciB0aGUgSFRNTEltcG9ydHMgcG9seWZpbGwsIHRoZXJlIHdpbGwgYmUgbm8gJ2JvZHknLAogICAgLy8gYnV0IHRoZSBpbXBvcnQgcHNldWRvLWRvYyBjYW4gYmUgdXNlZCBkaXJlY3RseS4KICAgIGxldCBjb250YWluZXIgPSBpbXBvcnREb2MuYm9keSA/IGltcG9ydERvYy5ib2R5IDogaW1wb3J0RG9jOwogICAgY29uc3QgaW1wb3J0Q3NzID0gUG9seW1lci5SZXNvbHZlVXJsLnJlc29sdmVDc3MoY29udGFpbmVyLnRleHRDb250ZW50LAogICAgICBpbXBvcnREb2MuYmFzZVVSSSk7CiAgICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CiAgICBzdHlsZS50ZXh0Q29udGVudCA9IGltcG9ydENzczsKICAgIHJldHVybiBzdHlsZTsKICB9CgogIC8qKiBAdHlwZWRlZiB7e2Fzc2V0cGF0aDogc3RyaW5nfX0gKi8KICBsZXQgdGVtcGxhdGVXaXRoQXNzZXRQYXRoOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzCgogIC8qKgogICAqIE1vZHVsZSB3aXRoIHV0aWxpdGllcyBmb3IgY29sbGVjdGlvbiBDU1MgdGV4dCBmcm9tIGA8dGVtcGxhdGVzPmAsIGV4dGVybmFsCiAgICogc3R5bGVzaGVldHMsIGFuZCBgZG9tLW1vZHVsZWBzLgogICAqCiAgICogQG5hbWVzcGFjZQogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHN1bW1hcnkgTW9kdWxlIHdpdGggdXRpbGl0aWVzIGZvciBjb2xsZWN0aW9uIENTUyB0ZXh0IGZyb20gdmFyaW91cyBzb3VyY2VzLgogICAqLwogIGNvbnN0IFN0eWxlR2F0aGVyID0gewoKICAgIC8qKgogICAgICogUmV0dXJucyBhIGxpc3Qgb2YgPHN0eWxlPiBlbGVtZW50cyBpbiBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIGBkb20tbW9kdWxlYHMuCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuU3R5bGVHYXRoZXIKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBtb2R1bGVJZHMgTGlzdCBvZiBkb20tbW9kdWxlIGlkJ3Mgd2l0aGluIHdoaWNoIHRvCiAgICAgKiBzZWFyY2ggZm9yIGNzcy4KICAgICAqIEByZXR1cm4geyFBcnJheTwhSFRNTFN0eWxlRWxlbWVudD59IEFycmF5IG9mIGNvbnRhaW5lZCA8c3R5bGU+IGVsZW1lbnRzCiAgICAgKiBAdGhpcyB7U3R5bGVHYXRoZXJ9CiAgICAgKi8KICAgICBzdHlsZXNGcm9tTW9kdWxlcyhtb2R1bGVJZHMpIHsKICAgICAgY29uc3QgbW9kdWxlcyA9IG1vZHVsZUlkcy50cmltKCkuc3BsaXQoL1xzKy8pOwogICAgICBjb25zdCBzdHlsZXMgPSBbXTsKICAgICAgZm9yIChsZXQgaT0wOyBpIDwgbW9kdWxlcy5sZW5ndGg7IGkrKykgewogICAgICAgIHN0eWxlcy5wdXNoKC4uLnRoaXMuc3R5bGVzRnJvbU1vZHVsZShtb2R1bGVzW2ldKSk7CiAgICAgIH0KICAgICAgcmV0dXJuIHN0eWxlczsKICAgIH0sCgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiA8c3R5bGU+IGVsZW1lbnRzIGluIGEgZ2l2ZW4gYGRvbS1tb2R1bGVgLgogICAgICogU3R5bGVzIGluIGEgYGRvbS1tb2R1bGVgIGNhbiBjb21lIGVpdGhlciBmcm9tIGA8c3R5bGU+YHMgd2l0aGluIHRoZQogICAgICogZmlyc3QgYDx0ZW1wbGF0ZT5gLCBvciBlbHNlIGZyb20gb25lIG9yIG1vcmUKICAgICAqIGA8bGluayByZWw9ImltcG9ydCIgdHlwZT0iY3NzIj5gIGxpbmtzIG91dHNpZGUgdGhlIHRlbXBsYXRlLgogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlN0eWxlR2F0aGVyCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbW9kdWxlSWQgZG9tLW1vZHVsZSBpZCB0byBnYXRoZXIgc3R5bGVzIGZyb20KICAgICAqIEByZXR1cm4geyFBcnJheTwhSFRNTFN0eWxlRWxlbWVudD59IEFycmF5IG9mIGNvbnRhaW5lZCBzdHlsZXMuCiAgICAgKiBAdGhpcyB7U3R5bGVHYXRoZXJ9CiAgICAgKi8KICAgIHN0eWxlc0Zyb21Nb2R1bGUobW9kdWxlSWQpIHsKICAgICAgY29uc3QgbSA9IGltcG9ydE1vZHVsZShtb2R1bGVJZCk7CgogICAgICBpZiAoIW0pIHsKICAgICAgICBjb25zb2xlLndhcm4oJ0NvdWxkIG5vdCBmaW5kIHN0eWxlIGRhdGEgaW4gbW9kdWxlIG5hbWVkJywgbW9kdWxlSWQpOwogICAgICAgIHJldHVybiBbXTsKICAgICAgfQoKICAgICAgaWYgKG0uX3N0eWxlcyA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgY29uc3Qgc3R5bGVzID0gW107CiAgICAgICAgLy8gbW9kdWxlIGltcG9ydHM6IDxsaW5rIHJlbD0iaW1wb3J0IiB0eXBlPSJjc3MiPgogICAgICAgIHN0eWxlcy5wdXNoKC4uLnRoaXMuX3N0eWxlc0Zyb21Nb2R1bGVJbXBvcnRzKG0pKTsKICAgICAgICAvLyBpbmNsdWRlIGNzcyBmcm9tIHRoZSBmaXJzdCB0ZW1wbGF0ZSBpbiB0aGUgbW9kdWxlCiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSBtLnF1ZXJ5U2VsZWN0b3IoJ3RlbXBsYXRlJyk7CiAgICAgICAgaWYgKHRlbXBsYXRlKSB7CiAgICAgICAgICBzdHlsZXMucHVzaCguLi50aGlzLnN0eWxlc0Zyb21UZW1wbGF0ZSh0ZW1wbGF0ZSwKICAgICAgICAgICAgLyoqIEB0eXBlIHt0ZW1wbGF0ZVdpdGhBc3NldFBhdGh9ICovKG0pLmFzc2V0cGF0aCkpOwogICAgICAgIH0KCiAgICAgICAgbS5fc3R5bGVzID0gc3R5bGVzOwogICAgICB9CgogICAgICByZXR1cm4gbS5fc3R5bGVzOwogICAgfSwKCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGA8c3R5bGU+YCBlbGVtZW50cyB3aXRoaW4gYSBnaXZlbiB0ZW1wbGF0ZS4KICAgICAqCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5TdHlsZUdhdGhlcgogICAgICogQHBhcmFtIHshSFRNTFRlbXBsYXRlRWxlbWVudH0gdGVtcGxhdGUgVGVtcGxhdGUgdG8gZ2F0aGVyIHN0eWxlcyBmcm9tCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gYmFzZVVSSSBiYXNlVVJJIGZvciBzdHlsZSBjb250ZW50CiAgICAgKiBAcmV0dXJuIHshQXJyYXk8IUhUTUxTdHlsZUVsZW1lbnQ+fSBBcnJheSBvZiBzdHlsZXMKICAgICAqIEB0aGlzIHtTdHlsZUdhdGhlcn0KICAgICAqLwogICAgc3R5bGVzRnJvbVRlbXBsYXRlKHRlbXBsYXRlLCBiYXNlVVJJKSB7CiAgICAgIGlmICghdGVtcGxhdGUuX3N0eWxlcykgewogICAgICAgIGNvbnN0IHN0eWxlcyA9IFtdOwogICAgICAgIC8vIGlmIGVsZW1lbnQgaXMgYSB0ZW1wbGF0ZSwgZ2V0IGNvbnRlbnQgZnJvbSBpdHMgLmNvbnRlbnQKICAgICAgICBjb25zdCBlJCA9IHRlbXBsYXRlLmNvbnRlbnQucXVlcnlTZWxlY3RvckFsbCgnc3R5bGUnKTsKICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBlJC5sZW5ndGg7IGkrKykgewogICAgICAgICAgbGV0IGUgPSBlJFtpXTsKICAgICAgICAgIC8vIHN1cHBvcnQgc3R5bGUgc2hhcmluZyBieSBhbGxvd2luZyBzdHlsZXMgdG8gImluY2x1ZGUiCiAgICAgICAgICAvLyBvdGhlciBkb20tbW9kdWxlcyB0aGF0IGNvbnRhaW4gc3R5bGluZwogICAgICAgICAgbGV0IGluY2x1ZGUgPSBlLmdldEF0dHJpYnV0ZShJTkNMVURFX0FUVFIpOwogICAgICAgICAgaWYgKGluY2x1ZGUpIHsKICAgICAgICAgICAgc3R5bGVzLnB1c2goLi4udGhpcy5zdHlsZXNGcm9tTW9kdWxlcyhpbmNsdWRlKS5maWx0ZXIoZnVuY3Rpb24oaXRlbSwgaW5kZXgsIHNlbGYpIHsKICAgICAgICAgICAgICByZXR1cm4gc2VsZi5pbmRleE9mKGl0ZW0pID09PSBpbmRleDsKICAgICAgICAgICAgfSkpOwogICAgICAgICAgfQogICAgICAgICAgaWYgKGJhc2VVUkkpIHsKICAgICAgICAgICAgZS50ZXh0Q29udGVudCA9IFBvbHltZXIuUmVzb2x2ZVVybC5yZXNvbHZlQ3NzKGUudGV4dENvbnRlbnQsIGJhc2VVUkkpOwogICAgICAgICAgfQogICAgICAgICAgc3R5bGVzLnB1c2goZSk7CiAgICAgICAgfQogICAgICAgIHRlbXBsYXRlLl9zdHlsZXMgPSBzdHlsZXM7CiAgICAgIH0KICAgICAgcmV0dXJuIHRlbXBsYXRlLl9zdHlsZXM7CiAgICB9LAoKICAgIC8qKgogICAgICogUmV0dXJucyBhIGxpc3Qgb2YgPHN0eWxlPiBlbGVtZW50cyAgZnJvbSBzdHlsZXNoZWV0cyBsb2FkZWQgdmlhIGA8bGluayByZWw9ImltcG9ydCIgdHlwZT0iY3NzIj5gIGxpbmtzIHdpdGhpbiB0aGUgc3BlY2lmaWVkIGBkb20tbW9kdWxlYC4KICAgICAqCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5TdHlsZUdhdGhlcgogICAgICogQHBhcmFtIHtzdHJpbmd9IG1vZHVsZUlkIElkIG9mIGBkb20tbW9kdWxlYCB0byBnYXRoZXIgQ1NTIGZyb20KICAgICAqIEByZXR1cm4geyFBcnJheTwhSFRNTFN0eWxlRWxlbWVudD59IEFycmF5IG9mIGNvbnRhaW5lZCBzdHlsZXMuCiAgICAgKiBAdGhpcyB7U3R5bGVHYXRoZXJ9CiAgICAgKi8KICAgICBzdHlsZXNGcm9tTW9kdWxlSW1wb3J0cyhtb2R1bGVJZCkgewogICAgICBsZXQgbSA9IGltcG9ydE1vZHVsZShtb2R1bGVJZCk7CiAgICAgIHJldHVybiBtID8gdGhpcy5fc3R5bGVzRnJvbU1vZHVsZUltcG9ydHMobSkgOiBbXTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5TdHlsZUdhdGhlcgogICAgICogQHRoaXMge1N0eWxlR2F0aGVyfQogICAgICogQHBhcmFtIHshSFRNTEVsZW1lbnR9IG1vZHVsZSBkb20tbW9kdWxlIGVsZW1lbnQgdGhhdCBjb3VsZCBjb250YWluIGA8bGluayByZWw9ImltcG9ydCIgdHlwZT0iY3NzIj5gIHN0eWxlcwogICAgICogQHJldHVybiB7IUFycmF5PCFIVE1MU3R5bGVFbGVtZW50Pn0gQXJyYXkgb2YgY29udGFpbmVkIHN0eWxlcwogICAgICovCiAgICBfc3R5bGVzRnJvbU1vZHVsZUltcG9ydHMobW9kdWxlKSB7CiAgICAgIGNvbnN0IHN0eWxlcyA9IFtdOwogICAgICBjb25zdCBwJCA9IG1vZHVsZS5xdWVyeVNlbGVjdG9yQWxsKE1PRFVMRV9TVFlMRV9MSU5LX1NFTEVDVE9SKTsKICAgICAgZm9yIChsZXQgaT0wOyBpIDwgcCQubGVuZ3RoOyBpKyspIHsKICAgICAgICBsZXQgcCA9IHAkW2ldOwogICAgICAgIGlmIChwLmltcG9ydCkgewogICAgICAgICAgY29uc3QgaW1wb3J0RG9jID0gcC5pbXBvcnQ7CiAgICAgICAgICBjb25zdCB1bnNjb3BlZCA9IHAuaGFzQXR0cmlidXRlKFNIQURZX1VOU0NPUEVEX0FUVFIpOwogICAgICAgICAgaWYgKHVuc2NvcGVkICYmICFpbXBvcnREb2MuX3Vuc2NvcGVkU3R5bGUpIHsKICAgICAgICAgICAgY29uc3Qgc3R5bGUgPSBzdHlsZUZvckltcG9ydChpbXBvcnREb2MpOwogICAgICAgICAgICBzdHlsZS5zZXRBdHRyaWJ1dGUoU0hBRFlfVU5TQ09QRURfQVRUUiwgJycpOwogICAgICAgICAgICBpbXBvcnREb2MuX3Vuc2NvcGVkU3R5bGUgPSBzdHlsZTsKICAgICAgICAgIH0gZWxzZSBpZiAoIWltcG9ydERvYy5fc3R5bGUpIHsKICAgICAgICAgICAgaW1wb3J0RG9jLl9zdHlsZSA9IHN0eWxlRm9ySW1wb3J0KGltcG9ydERvYyk7CiAgICAgICAgICB9CiAgICAgICAgICBzdHlsZXMucHVzaCh1bnNjb3BlZCA/IGltcG9ydERvYy5fdW5zY29wZWRTdHlsZSA6IGltcG9ydERvYy5fc3R5bGUpOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gc3R5bGVzOwogICAgfSwKCiAgICAvKioKICAgICAqCiAgICAgKiBSZXR1cm5zIENTUyB0ZXh0IG9mIHN0eWxlcyBpbiBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIGBkb20tbW9kdWxlYHMuCiAgICAgKiBOb3RlOiBUaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkLCB1c2UgYHN0eWxlc0Zyb21Nb2R1bGVzYCBpbnN0ZWFkLgogICAgICoKICAgICAqIEBkZXByZWNhdGVkCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5TdHlsZUdhdGhlcgogICAgICogQHBhcmFtIHtzdHJpbmd9IG1vZHVsZUlkcyBMaXN0IG9mIGRvbS1tb2R1bGUgaWQncyB3aXRoaW4gd2hpY2ggdG8KICAgICAqIHNlYXJjaCBmb3IgY3NzLgogICAgICogQHJldHVybiB7c3RyaW5nfSBDb25jYXRlbmF0ZWQgQ1NTIGNvbnRlbnQgZnJvbSBzcGVjaWZpZWQgYGRvbS1tb2R1bGVgcwogICAgICogQHRoaXMge1N0eWxlR2F0aGVyfQogICAgICovCiAgICAgY3NzRnJvbU1vZHVsZXMobW9kdWxlSWRzKSB7CiAgICAgIGxldCBtb2R1bGVzID0gbW9kdWxlSWRzLnRyaW0oKS5zcGxpdCgvXHMrLyk7CiAgICAgIGxldCBjc3NUZXh0ID0gJyc7CiAgICAgIGZvciAobGV0IGk9MDsgaSA8IG1vZHVsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICBjc3NUZXh0ICs9IHRoaXMuY3NzRnJvbU1vZHVsZShtb2R1bGVzW2ldKTsKICAgICAgfQogICAgICByZXR1cm4gY3NzVGV4dDsKICAgIH0sCgogICAgLyoqCiAgICAgKiBSZXR1cm5zIENTUyB0ZXh0IG9mIHN0eWxlcyBpbiBhIGdpdmVuIGBkb20tbW9kdWxlYC4gIENTUyBpbiBhIGBkb20tbW9kdWxlYAogICAgICogY2FuIGNvbWUgZWl0aGVyIGZyb20gYDxzdHlsZT5gcyB3aXRoaW4gdGhlIGZpcnN0IGA8dGVtcGxhdGU+YCwgb3IgZWxzZQogICAgICogZnJvbSBvbmUgb3IgbW9yZSBgPGxpbmsgcmVsPSJpbXBvcnQiIHR5cGU9ImNzcyI+YCBsaW5rcyBvdXRzaWRlIHRoZQogICAgICogdGVtcGxhdGUuCiAgICAgKgogICAgICogQW55IGA8c3R5bGVzPmAgcHJvY2Vzc2VkIGFyZSByZW1vdmVkIGZyb20gdGhlaXIgb3JpZ2luYWwgbG9jYXRpb24uCiAgICAgKiBOb3RlOiBUaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkLCB1c2UgYHN0eWxlRnJvbU1vZHVsZWAgaW5zdGVhZC4KICAgICAqCiAgICAgKiBAZGVwcmVjYXRlZAogICAgICogQG1lbWJlcm9mIFBvbHltZXIuU3R5bGVHYXRoZXIKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBtb2R1bGVJZCBkb20tbW9kdWxlIGlkIHRvIGdhdGhlciBzdHlsZXMgZnJvbQogICAgICogQHJldHVybiB7c3RyaW5nfSBDb25jYXRlbmF0ZWQgQ1NTIGNvbnRlbnQgZnJvbSBzcGVjaWZpZWQgYGRvbS1tb2R1bGVgCiAgICAgKiBAdGhpcyB7U3R5bGVHYXRoZXJ9CiAgICAgKi8KICAgIGNzc0Zyb21Nb2R1bGUobW9kdWxlSWQpIHsKICAgICAgbGV0IG0gPSBpbXBvcnRNb2R1bGUobW9kdWxlSWQpOwogICAgICBpZiAobSAmJiBtLl9jc3NUZXh0ID09PSB1bmRlZmluZWQpIHsKICAgICAgICAvLyBtb2R1bGUgaW1wb3J0czogPGxpbmsgcmVsPSJpbXBvcnQiIHR5cGU9ImNzcyI+CiAgICAgICAgbGV0IGNzc1RleHQgPSB0aGlzLl9jc3NGcm9tTW9kdWxlSW1wb3J0cyhtKTsKICAgICAgICAvLyBpbmNsdWRlIGNzcyBmcm9tIHRoZSBmaXJzdCB0ZW1wbGF0ZSBpbiB0aGUgbW9kdWxlCiAgICAgICAgbGV0IHQgPSBtLnF1ZXJ5U2VsZWN0b3IoJ3RlbXBsYXRlJyk7CiAgICAgICAgaWYgKHQpIHsKICAgICAgICAgIGNzc1RleHQgKz0gdGhpcy5jc3NGcm9tVGVtcGxhdGUodCwKICAgICAgICAgICAgLyoqIEB0eXBlIHt0ZW1wbGF0ZVdpdGhBc3NldFBhdGh9ICovKG0pLmFzc2V0cGF0aCk7CiAgICAgICAgfQogICAgICAgIG0uX2Nzc1RleHQgPSBjc3NUZXh0IHx8IG51bGw7CiAgICAgIH0KICAgICAgaWYgKCFtKSB7CiAgICAgICAgY29uc29sZS53YXJuKCdDb3VsZCBub3QgZmluZCBzdHlsZSBkYXRhIGluIG1vZHVsZSBuYW1lZCcsIG1vZHVsZUlkKTsKICAgICAgfQogICAgICByZXR1cm4gbSAmJiBtLl9jc3NUZXh0IHx8ICcnOwogICAgfSwKCiAgICAvKioKICAgICAqIFJldHVybnMgQ1NTIHRleHQgb2YgYDxzdHlsZXM+YCB3aXRoaW4gYSBnaXZlbiB0ZW1wbGF0ZS4KICAgICAqCiAgICAgKiBBbnkgYDxzdHlsZXM+YCBwcm9jZXNzZWQgYXJlIHJlbW92ZWQgZnJvbSB0aGVpciBvcmlnaW5hbCBsb2NhdGlvbi4KICAgICAqIE5vdGU6IFRoaXMgbWV0aG9kIGlzIGRlcHJlY2F0ZWQsIHVzZSBgc3R5bGVGcm9tVGVtcGxhdGVgIGluc3RlYWQuCiAgICAgKgogICAgICogQGRlcHJlY2F0ZWQKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlN0eWxlR2F0aGVyCiAgICAgKiBAcGFyYW0geyFIVE1MVGVtcGxhdGVFbGVtZW50fSB0ZW1wbGF0ZSBUZW1wbGF0ZSB0byBnYXRoZXIgc3R5bGVzIGZyb20KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlVVJJIEJhc2UgVVJJIHRvIHJlc29sdmUgdGhlIFVSTCBhZ2FpbnN0CiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IENvbmNhdGVuYXRlZCBDU1MgY29udGVudCBmcm9tIHNwZWNpZmllZCB0ZW1wbGF0ZQogICAgICogQHRoaXMge1N0eWxlR2F0aGVyfQogICAgICovCiAgICBjc3NGcm9tVGVtcGxhdGUodGVtcGxhdGUsIGJhc2VVUkkpIHsKICAgICAgbGV0IGNzc1RleHQgPSAnJzsKICAgICAgY29uc3QgZSQgPSB0aGlzLnN0eWxlc0Zyb21UZW1wbGF0ZSh0ZW1wbGF0ZSwgYmFzZVVSSSk7CiAgICAgIC8vIGlmIGVsZW1lbnQgaXMgYSB0ZW1wbGF0ZSwgZ2V0IGNvbnRlbnQgZnJvbSBpdHMgLmNvbnRlbnQKICAgICAgZm9yIChsZXQgaT0wOyBpIDwgZSQubGVuZ3RoOyBpKyspIHsKICAgICAgICBsZXQgZSA9IGUkW2ldOwogICAgICAgIGlmIChlLnBhcmVudE5vZGUpIHsKICAgICAgICAgIGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKTsKICAgICAgICB9CiAgICAgICAgY3NzVGV4dCArPSBlLnRleHRDb250ZW50OwogICAgICB9CiAgICAgIHJldHVybiBjc3NUZXh0OwogICAgfSwKCiAgICAvKioKICAgICAqIFJldHVybnMgQ1NTIHRleHQgZnJvbSBzdHlsZXNoZWV0cyBsb2FkZWQgdmlhIGA8bGluayByZWw9ImltcG9ydCIgdHlwZT0iY3NzIj5gCiAgICAgKiBsaW5rcyB3aXRoaW4gdGhlIHNwZWNpZmllZCBgZG9tLW1vZHVsZWAuCiAgICAgKgogICAgICogTm90ZTogVGhpcyBtZXRob2QgaXMgZGVwcmVjYXRlZCwgdXNlIGBzdHlsZXNGcm9tTW9kdWxlSW1wb3J0c2AgaW5zdGVhZC4KICAgICAqCiAgICAgKiBAZGVwcmVjYXRlZAogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlN0eWxlR2F0aGVyCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbW9kdWxlSWQgSWQgb2YgYGRvbS1tb2R1bGVgIHRvIGdhdGhlciBDU1MgZnJvbQogICAgICogQHJldHVybiB7c3RyaW5nfSBDb25jYXRlbmF0ZWQgQ1NTIGNvbnRlbnQgZnJvbSBsaW5rcyBpbiBzcGVjaWZpZWQgYGRvbS1tb2R1bGVgCiAgICAgKiBAdGhpcyB7U3R5bGVHYXRoZXJ9CiAgICAgKi8KICAgIGNzc0Zyb21Nb2R1bGVJbXBvcnRzKG1vZHVsZUlkKSB7CiAgICAgIGxldCBtID0gaW1wb3J0TW9kdWxlKG1vZHVsZUlkKTsKICAgICAgcmV0dXJuIG0gPyB0aGlzLl9jc3NGcm9tTW9kdWxlSW1wb3J0cyhtKSA6ICcnOwogICAgfSwKCiAgICAvKioKICAgICAqIEBkZXByZWNhdGVkCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5TdHlsZUdhdGhlcgogICAgICogQHRoaXMge1N0eWxlR2F0aGVyfQogICAgICogQHBhcmFtIHshSFRNTEVsZW1lbnR9IG1vZHVsZSBkb20tbW9kdWxlIGVsZW1lbnQgdGhhdCBjb3VsZCBjb250YWluIGA8bGluayByZWw9ImltcG9ydCIgdHlwZT0iY3NzIj5gIHN0eWxlcwogICAgICogQHJldHVybiB7c3RyaW5nfSBDb25jYXRlbmF0ZWQgQ1NTIGNvbnRlbnQgZnJvbSBsaW5rcyBpbiB0aGUgZG9tLW1vZHVsZQogICAgICovCiAgICAgX2Nzc0Zyb21Nb2R1bGVJbXBvcnRzKG1vZHVsZSkgewogICAgICBsZXQgY3NzVGV4dCA9ICcnOwogICAgICBsZXQgc3R5bGVzID0gdGhpcy5fc3R5bGVzRnJvbU1vZHVsZUltcG9ydHMobW9kdWxlKTsKICAgICAgZm9yIChsZXQgaT0wOyBpIDwgc3R5bGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgY3NzVGV4dCArPSBzdHlsZXNbaV0udGV4dENvbnRlbnQ7CiAgICAgIH0KICAgICAgcmV0dXJuIGNzc1RleHQ7CiAgICB9CiAgfTsKCiAgUG9seW1lci5TdHlsZUdhdGhlciA9IFN0eWxlR2F0aGVyOwp9KSgpOwoKCihmdW5jdGlvbigpIHsKICAndXNlIHN0cmljdCc7CgogIGxldCBtb2R1bGVzID0ge307CiAgbGV0IGxjTW9kdWxlcyA9IHt9OwogIGZ1bmN0aW9uIHNldE1vZHVsZShpZCwgbW9kdWxlKSB7CiAgICAvLyBzdG9yZSBpZCBzZXBhcmF0ZSBmcm9tIGxvd2VyY2FzZWQgaWQgc28gdGhhdAogICAgLy8gaW4gYWxsIGNhc2VzIG1peGVkQ2FzZSBpZCB3aWxsIHN0b3JlZCBkaXN0aW5jdGx5CiAgICAvLyBhbmQgbG93ZXJjYXNlIHZlcnNpb24gaXMgYSBmYWxsYmFjawogICAgbW9kdWxlc1tpZF0gPSBsY01vZHVsZXNbaWQudG9Mb3dlckNhc2UoKV0gPSBtb2R1bGU7CiAgfQogIGZ1bmN0aW9uIGZpbmRNb2R1bGUoaWQpIHsKICAgIHJldHVybiBtb2R1bGVzW2lkXSB8fCBsY01vZHVsZXNbaWQudG9Mb3dlckNhc2UoKV07CiAgfQoKICBmdW5jdGlvbiBzdHlsZU91dHNpZGVUZW1wbGF0ZUNoZWNrKGluc3QpIHsKICAgIGlmIChpbnN0LnF1ZXJ5U2VsZWN0b3IoJ3N0eWxlJykpIHsKICAgICAgY29uc29sZS53YXJuKCdkb20tbW9kdWxlICVzIGhhcyBzdHlsZSBvdXRzaWRlIHRlbXBsYXRlJywgaW5zdC5pZCk7CiAgICB9CiAgfQoKICAvKioKICAgKiBUaGUgYGRvbS1tb2R1bGVgIGVsZW1lbnQgcmVnaXN0ZXJzIHRoZSBkb20gaXQgY29udGFpbnMgdG8gdGhlIG5hbWUgZ2l2ZW4KICAgKiBieSB0aGUgbW9kdWxlJ3MgaWQgYXR0cmlidXRlLiBJdCBwcm92aWRlcyBhIHVuaWZpZWQgZGF0YWJhc2Ugb2YgZG9tCiAgICogYWNjZXNzaWJsZSB2aWEgaXRzIHN0YXRpYyBgaW1wb3J0YCBBUEkuCiAgICoKICAgKiBBIGtleSB1c2UgY2FzZSBvZiBgZG9tLW1vZHVsZWAgaXMgZm9yIHByb3ZpZGluZyBjdXN0b20gZWxlbWVudCBgPHRlbXBsYXRlPmBzCiAgICogdmlhIEhUTUwgaW1wb3J0cyB0aGF0IGFyZSBwYXJzZWQgYnkgdGhlIG5hdGl2ZSBIVE1MIHBhcnNlciwgdGhhdCBjYW4gYmUKICAgKiByZWxvY2F0ZWQgZHVyaW5nIGEgYnVuZGxpbmcgcGFzcyBhbmQgc3RpbGwgbG9va2VkIHVwIGJ5IGBpZGAuCiAgICoKICAgKiBFeGFtcGxlOgogICAqCiAgICogICAgIDxkb20tbW9kdWxlIGlkPSJmb28iPgogICAqICAgICAgIDxpbWcgc3JjPSJzdHVmZi5wbmciPgogICAqICAgICA8L2RvbS1tb2R1bGU+CiAgICoKICAgKiBUaGVuIGluIGNvZGUgaW4gc29tZSBvdGhlciBsb2NhdGlvbiB0aGF0IGNhbm5vdCBhY2Nlc3MgdGhlIGRvbS1tb2R1bGUgYWJvdmUKICAgKgogICAqICAgICBsZXQgaW1nID0gY3VzdG9tRWxlbWVudHMuZ2V0KCdkb20tbW9kdWxlJykuaW1wb3J0KCdmb28nLCAnaW1nJyk7CiAgICoKICAgKiBAY3VzdG9tRWxlbWVudAogICAqIEBleHRlbmRzIEhUTUxFbGVtZW50CiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAc3VtbWFyeSBDdXN0b20gZWxlbWVudCB0aGF0IHByb3ZpZGVzIGEgcmVnaXN0cnkgb2YgcmVsb2NhdGFibGUgRE9NIGNvbnRlbnQKICAgKiAgIGJ5IGBpZGAgdGhhdCBpcyBhZ25vc3RpYyB0byBidW5kbGluZy4KICAgKiBAdW5yZXN0cmljdGVkCiAgICovCiAgY2xhc3MgRG9tTW9kdWxlIGV4dGVuZHMgSFRNTEVsZW1lbnQgewoKICAgIHN0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCkgeyByZXR1cm4gWydpZCddOyB9CgogICAgLyoqCiAgICAgKiBSZXRyaWV2ZXMgdGhlIGVsZW1lbnQgc3BlY2lmaWVkIGJ5IHRoZSBjc3MgYHNlbGVjdG9yYCBpbiB0aGUgbW9kdWxlCiAgICAgKiByZWdpc3RlcmVkIGJ5IGBpZGAuIEZvciBleGFtcGxlLCB0aGlzLmltcG9ydCgnZm9vJywgJ2ltZycpOwogICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIFRoZSBpZCBvZiB0aGUgZG9tLW1vZHVsZSBpbiB3aGljaCB0byBzZWFyY2guCiAgICAgKiBAcGFyYW0ge3N0cmluZz19IHNlbGVjdG9yIFRoZSBjc3Mgc2VsZWN0b3IgYnkgd2hpY2ggdG8gZmluZCB0aGUgZWxlbWVudC4KICAgICAqIEByZXR1cm4ge0VsZW1lbnR9IFJldHVybnMgdGhlIGVsZW1lbnQgd2hpY2ggbWF0Y2hlcyBgc2VsZWN0b3JgIGluIHRoZQogICAgICogbW9kdWxlIHJlZ2lzdGVyZWQgYXQgdGhlIHNwZWNpZmllZCBgaWRgLgogICAgICovCiAgICBzdGF0aWMgaW1wb3J0KGlkLCBzZWxlY3RvcikgewogICAgICBpZiAoaWQpIHsKICAgICAgICBsZXQgbSA9IGZpbmRNb2R1bGUoaWQpOwogICAgICAgIGlmIChtICYmIHNlbGVjdG9yKSB7CiAgICAgICAgICByZXR1cm4gbS5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG07CiAgICAgIH0KICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMgKi8KICAgIC8qKgogICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZSBvZiBhdHRyaWJ1dGUuCiAgICAgKiBAcGFyYW0gez9zdHJpbmd9IG9sZCBPbGQgdmFsdWUgb2YgYXR0cmlidXRlLgogICAgICogQHBhcmFtIHs/c3RyaW5nfSB2YWx1ZSBDdXJyZW50IHZhbHVlIG9mIGF0dHJpYnV0ZS4KICAgICAqIEBwYXJhbSB7P3N0cmluZ30gbmFtZXNwYWNlIEF0dHJpYnV0ZSBuYW1lc3BhY2UuCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSwgbmFtZXNwYWNlKSB7CiAgICAgIGlmIChvbGQgIT09IHZhbHVlKSB7CiAgICAgICAgdGhpcy5yZWdpc3RlcigpOwogICAgICB9CiAgICB9CiAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLXVudXNlZC1hcmdzICovCgogICAgLyoqCiAgICAgKiBUaGUgYWJzb2x1dGUgVVJMIG9mIHRoZSBvcmlnaW5hbCBsb2NhdGlvbiBvZiB0aGlzIGBkb20tbW9kdWxlYC4KICAgICAqCiAgICAgKiBUaGlzIHZhbHVlIHdpbGwgZGlmZmVyIGZyb20gdGhpcyBlbGVtZW50J3MgYG93bmVyRG9jdW1lbnRgIGluIHRoZQogICAgICogZm9sbG93aW5nIHdheXM6CiAgICAgKiAtIFRha2VzIGludG8gYWNjb3VudCBhbnkgYGFzc2V0cGF0aGAgYXR0cmlidXRlIGFkZGVkIGR1cmluZyBidW5kbGluZwogICAgICogICB0byBpbmRpY2F0ZSB0aGUgb3JpZ2luYWwgbG9jYXRpb24gcmVsYXRpdmUgdG8gdGhlIGJ1bmRsZWQgbG9jYXRpb24KICAgICAqIC0gVXNlcyB0aGUgSFRNTEltcG9ydHMgcG9seWZpbGwncyBgaW1wb3J0Rm9yRWxlbWVudGAgQVBJIHRvIGVuc3VyZQogICAgICogICB0aGUgcGF0aCBpcyByZWxhdGl2ZSB0byB0aGUgaW1wb3J0IGRvY3VtZW50J3MgbG9jYXRpb24gc2luY2UKICAgICAqICAgYG93bmVyRG9jdW1lbnRgIGlzIG5vdCBjdXJyZW50bHkgcG9seWZpbGxlZAogICAgICovCiAgICBnZXQgYXNzZXRwYXRoKCkgewogICAgICAvLyBEb24ndCBvdmVycmlkZSBleGlzdGluZyBhc3NldHBhdGguCiAgICAgIGlmICghdGhpcy5fX2Fzc2V0cGF0aCkgewogICAgICAgIC8vIG5vdGU6IGFzc2V0cGF0aCBzZXQgdmlhIGFuIGF0dHJpYnV0ZSBtdXN0IGJlIHJlbGF0aXZlIHRvIHRoaXMKICAgICAgICAvLyBlbGVtZW50J3MgbG9jYXRpb247IGFjY29tb2RhdGUgcG9seWZpbGxlZCBIVE1MSW1wb3J0cwogICAgICAgIGNvbnN0IG93bmVyID0gd2luZG93LkhUTUxJbXBvcnRzICYmIEhUTUxJbXBvcnRzLmltcG9ydEZvckVsZW1lbnQgPwogICAgICAgICAgSFRNTEltcG9ydHMuaW1wb3J0Rm9yRWxlbWVudCh0aGlzKSB8fCBkb2N1bWVudCA6IHRoaXMub3duZXJEb2N1bWVudDsKICAgICAgICBjb25zdCB1cmwgPSBQb2x5bWVyLlJlc29sdmVVcmwucmVzb2x2ZVVybCgKICAgICAgICAgIHRoaXMuZ2V0QXR0cmlidXRlKCdhc3NldHBhdGgnKSB8fCAnJywgb3duZXIuYmFzZVVSSSk7CiAgICAgICAgdGhpcy5fX2Fzc2V0cGF0aCA9IFBvbHltZXIuUmVzb2x2ZVVybC5wYXRoRnJvbVVybCh1cmwpOwogICAgICB9CiAgICAgIHJldHVybiB0aGlzLl9fYXNzZXRwYXRoOwogICAgfQoKICAgIC8qKgogICAgICogUmVnaXN0ZXJzIHRoZSBkb20tbW9kdWxlIGF0IGEgZ2l2ZW4gaWQuIFRoaXMgbWV0aG9kIHNob3VsZCBvbmx5IGJlIGNhbGxlZAogICAgICogd2hlbiBhIGRvbS1tb2R1bGUgaXMgaW1wZXJhdGl2ZWx5IGNyZWF0ZWQuIEZvcgogICAgICogZXhhbXBsZSwgYGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RvbS1tb2R1bGUnKS5yZWdpc3RlcignZm9vJylgLgogICAgICogQHBhcmFtIHtzdHJpbmc9fSBpZCBUaGUgaWQgYXQgd2hpY2ggdG8gcmVnaXN0ZXIgdGhlIGRvbS1tb2R1bGUuCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICByZWdpc3RlcihpZCkgewogICAgICBpZCA9IGlkIHx8IHRoaXMuaWQ7CiAgICAgIGlmIChpZCkgewogICAgICAgIC8vIFVuZGVyIHN0cmljdFRlbXBsYXRlUG9saWN5LCByZWplY3QgYW5kIG51bGwgb3V0IGFueSByZS1yZWdpc3RlcmVkCiAgICAgICAgLy8gZG9tLW1vZHVsZSBzaW5jZSBpdCBpcyBhbWJpZ3VvdXMgd2hldGhlciBmaXJzdC1pbiBvciBsYXN0LWluIGlzIHRydXN0ZWQgCiAgICAgICAgaWYgKFBvbHltZXIuc3RyaWN0VGVtcGxhdGVQb2xpY3kgJiYgZmluZE1vZHVsZShpZCkgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgc2V0TW9kdWxlKGlkLCBudWxsKTsKICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgc3RyaWN0VGVtcGxhdGVQb2xpY3k6IGRvbS1tb2R1bGUgJHtpZH0gcmUtcmVnaXN0ZXJlZGApOwogICAgICAgIH0KICAgICAgICB0aGlzLmlkID0gaWQ7CiAgICAgICAgc2V0TW9kdWxlKGlkLCB0aGlzKTsKICAgICAgICBzdHlsZU91dHNpZGVUZW1wbGF0ZUNoZWNrKHRoaXMpOwogICAgICB9CiAgICB9CiAgfQoKICBEb21Nb2R1bGUucHJvdG90eXBlWydtb2R1bGVzJ10gPSBtb2R1bGVzOwoKICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2RvbS1tb2R1bGUnLCBEb21Nb2R1bGUpOwoKICAvKiogQGNvbnN0ICovCiAgUG9seW1lci5Eb21Nb2R1bGUgPSBEb21Nb2R1bGU7Cgp9KSgpOwoKCihmdW5jdGlvbigpIHsKICAndXNlIHN0cmljdCc7CgogIC8qKgogICAqIE1vZHVsZSB3aXRoIHV0aWxpdGllcyBmb3IgbWFuaXB1bGF0aW5nIHN0cnVjdHVyZWQgZGF0YSBwYXRoIHN0cmluZ3MuCiAgICoKICAgKiBAbmFtZXNwYWNlCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAc3VtbWFyeSBNb2R1bGUgd2l0aCB1dGlsaXRpZXMgZm9yIG1hbmlwdWxhdGluZyBzdHJ1Y3R1cmVkIGRhdGEgcGF0aCBzdHJpbmdzLgogICAqLwogIGNvbnN0IFBhdGggPSB7CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIHN0cmluZyBpcyBhIHN0cnVjdHVyZWQgZGF0YSBwYXRoIChoYXMgZG90cykuCiAgICAgKgogICAgICogRXhhbXBsZToKICAgICAqCiAgICAgKiBgYGAKICAgICAqIFBvbHltZXIuUGF0aC5pc1BhdGgoJ2Zvby5iYXIuYmF6JykgLy8gdHJ1ZQogICAgICogUG9seW1lci5QYXRoLmlzUGF0aCgnZm9vJykgICAgICAgICAvLyBmYWxzZQogICAgICogYGBgCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuUGF0aAogICAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggUGF0aCBzdHJpbmcKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhlIHN0cmluZyBjb250YWluZWQgb25lIG9yIG1vcmUgZG90cwogICAgICovCiAgICBpc1BhdGg6IGZ1bmN0aW9uKHBhdGgpIHsKICAgICAgcmV0dXJuIHBhdGguaW5kZXhPZignLicpID49IDA7CiAgICB9LAoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgcm9vdCBwcm9wZXJ0eSBuYW1lIGZvciB0aGUgZ2l2ZW4gcGF0aC4KICAgICAqCiAgICAgKiBFeGFtcGxlOgogICAgICoKICAgICAqIGBgYAogICAgICogUG9seW1lci5QYXRoLnJvb3QoJ2Zvby5iYXIuYmF6JykgLy8gJ2ZvbycKICAgICAqIFBvbHltZXIuUGF0aC5yb290KCdmb28nKSAgICAgICAgIC8vICdmb28nCiAgICAgKiBgYGAKICAgICAqCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5QYXRoCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBQYXRoIHN0cmluZwogICAgICogQHJldHVybiB7c3RyaW5nfSBSb290IHByb3BlcnR5IG5hbWUKICAgICAqLwogICAgcm9vdDogZnVuY3Rpb24ocGF0aCkgewogICAgICBsZXQgZG90SW5kZXggPSBwYXRoLmluZGV4T2YoJy4nKTsKICAgICAgaWYgKGRvdEluZGV4ID09PSAtMSkgewogICAgICAgIHJldHVybiBwYXRoOwogICAgICB9CiAgICAgIHJldHVybiBwYXRoLnNsaWNlKDAsIGRvdEluZGV4KTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBHaXZlbiBgYmFzZWAgaXMgYGZvby5iYXJgLCBgZm9vYCBpcyBhbiBhbmNlc3RvciwgYGZvby5iYXJgIGlzIG5vdAogICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBwYXRoIGlzIGFuIGFuY2VzdG9yIG9mIHRoZSBiYXNlIHBhdGguCiAgICAgKgogICAgICogRXhhbXBsZToKICAgICAqCiAgICAgKiBgYGAKICAgICAqIFBvbHltZXIuUGF0aC5pc0FuY2VzdG9yKCdmb28uYmFyJywgJ2ZvbycpICAgICAgICAgLy8gdHJ1ZQogICAgICogUG9seW1lci5QYXRoLmlzQW5jZXN0b3IoJ2Zvby5iYXInLCAnZm9vLmJhcicpICAgICAvLyBmYWxzZQogICAgICogUG9seW1lci5QYXRoLmlzQW5jZXN0b3IoJ2Zvby5iYXInLCAnZm9vLmJhci5iYXonKSAvLyBmYWxzZQogICAgICogYGBgCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuUGF0aAogICAgICogQHBhcmFtIHtzdHJpbmd9IGJhc2UgUGF0aCBzdHJpbmcgdG8gdGVzdCBhZ2FpbnN0LgogICAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggUGF0aCBzdHJpbmcgdG8gdGVzdC4KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYHBhdGhgIGlzIGFuIGFuY2VzdG9yIG9mIGBiYXNlYC4KICAgICAqLwogICAgaXNBbmNlc3RvcjogZnVuY3Rpb24oYmFzZSwgcGF0aCkgewogICAgICAvLyAgICAgYmFzZS5zdGFydHNXaXRoKHBhdGggKyAnLicpOwogICAgICByZXR1cm4gYmFzZS5pbmRleE9mKHBhdGggKyAnLicpID09PSAwOwogICAgfSwKCiAgICAvKioKICAgICAqIEdpdmVuIGBiYXNlYCBpcyBgZm9vLmJhcmAsIGBmb28uYmFyLmJhemAgaXMgYW4gZGVzY2VuZGFudAogICAgICoKICAgICAqIEV4YW1wbGU6CiAgICAgKgogICAgICogYGBgCiAgICAgKiBQb2x5bWVyLlBhdGguaXNEZXNjZW5kYW50KCdmb28uYmFyJywgJ2Zvby5iYXIuYmF6JykgLy8gdHJ1ZQogICAgICogUG9seW1lci5QYXRoLmlzRGVzY2VuZGFudCgnZm9vLmJhcicsICdmb28uYmFyJykgICAgIC8vIGZhbHNlCiAgICAgKiBQb2x5bWVyLlBhdGguaXNEZXNjZW5kYW50KCdmb28uYmFyJywgJ2ZvbycpICAgICAgICAgLy8gZmFsc2UKICAgICAqIGBgYAogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlBhdGgKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlIFBhdGggc3RyaW5nIHRvIHRlc3QgYWdhaW5zdC4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFBhdGggc3RyaW5nIHRvIHRlc3QuCiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIGBwYXRoYCBpcyBhIGRlc2NlbmRhbnQgb2YgYGJhc2VgLgogICAgICovCiAgICBpc0Rlc2NlbmRhbnQ6IGZ1bmN0aW9uKGJhc2UsIHBhdGgpIHsKICAgICAgLy8gICAgIHBhdGguc3RhcnRzV2l0aChiYXNlICsgJy4nKTsKICAgICAgcmV0dXJuIHBhdGguaW5kZXhPZihiYXNlICsgJy4nKSA9PT0gMDsKICAgIH0sCgogICAgLyoqCiAgICAgKiBSZXBsYWNlcyBhIHByZXZpb3VzIGJhc2UgcGF0aCB3aXRoIGEgbmV3IGJhc2UgcGF0aCwgcHJlc2VydmluZyB0aGUKICAgICAqIHJlbWFpbmRlciBvZiB0aGUgcGF0aC4KICAgICAqCiAgICAgKiBVc2VyIG11c3QgZW5zdXJlIGBwYXRoYCBoYXMgYSBwcmVmaXggb2YgYGJhc2VgLgogICAgICoKICAgICAqIEV4YW1wbGU6CiAgICAgKgogICAgICogYGBgCiAgICAgKiBQb2x5bWVyLlBhdGgudHJhbnNsYXRlKCdmb28uYmFyJywgJ3pvdCcsICdmb28uYmFyLmJheicpIC8vICd6b3QuYmF6JwogICAgICogYGBgCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuUGF0aAogICAgICogQHBhcmFtIHtzdHJpbmd9IGJhc2UgQ3VycmVudCBiYXNlIHN0cmluZyB0byByZW1vdmUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuZXdCYXNlIE5ldyBiYXNlIHN0cmluZyB0byByZXBsYWNlIHdpdGgKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFBhdGggdG8gdHJhbnNsYXRlCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRyYW5zbGF0ZWQgc3RyaW5nCiAgICAgKi8KICAgIHRyYW5zbGF0ZTogZnVuY3Rpb24oYmFzZSwgbmV3QmFzZSwgcGF0aCkgewogICAgICByZXR1cm4gbmV3QmFzZSArIHBhdGguc2xpY2UoYmFzZS5sZW5ndGgpOwogICAgfSwKCiAgICAvKioKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlIFBhdGggc3RyaW5nIHRvIHRlc3QgYWdhaW5zdAogICAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggUGF0aCBzdHJpbmcgdG8gdGVzdAogICAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBgcGF0aGAgaXMgZXF1YWwgdG8gYGJhc2VgCiAgICAgKiBAdGhpcyB7UGF0aH0KICAgICAqLwogICAgbWF0Y2hlczogZnVuY3Rpb24oYmFzZSwgcGF0aCkgewogICAgICByZXR1cm4gKGJhc2UgPT09IHBhdGgpIHx8CiAgICAgICAgICAgICB0aGlzLmlzQW5jZXN0b3IoYmFzZSwgcGF0aCkgfHwKICAgICAgICAgICAgIHRoaXMuaXNEZXNjZW5kYW50KGJhc2UsIHBhdGgpOwogICAgfSwKCiAgICAvKioKICAgICAqIENvbnZlcnRzIGFycmF5LWJhc2VkIHBhdGhzIHRvIGZsYXR0ZW5lZCBwYXRoLiAgU3RyaW5nLWJhc2VkIHBhdGhzCiAgICAgKiBhcmUgcmV0dXJuZWQgYXMtaXMuCiAgICAgKgogICAgICogRXhhbXBsZToKICAgICAqCiAgICAgKiBgYGAKICAgICAqIFBvbHltZXIuUGF0aC5ub3JtYWxpemUoWydmb28uYmFyJywgMCwgJ2JheiddKSAgLy8gJ2Zvby5iYXIuMC5iYXonCiAgICAgKiBQb2x5bWVyLlBhdGgubm9ybWFsaXplKCdmb28uYmFyLjAuYmF6JykgICAgICAgIC8vICdmb28uYmFyLjAuYmF6JwogICAgICogYGBgCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuUGF0aAogICAgICogQHBhcmFtIHtzdHJpbmcgfCAhQXJyYXk8c3RyaW5nfG51bWJlcj59IHBhdGggSW5wdXQgcGF0aAogICAgICogQHJldHVybiB7c3RyaW5nfSBGbGF0dGVuZWQgcGF0aAogICAgICovCiAgICBub3JtYWxpemU6IGZ1bmN0aW9uKHBhdGgpIHsKICAgICAgaWYgKEFycmF5LmlzQXJyYXkocGF0aCkpIHsKICAgICAgICBsZXQgcGFydHMgPSBbXTsKICAgICAgICBmb3IgKGxldCBpPTA7IGk8cGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgICAgbGV0IGFyZ3MgPSBwYXRoW2ldLnRvU3RyaW5nKCkuc3BsaXQoJy4nKTsKICAgICAgICAgIGZvciAobGV0IGo9MDsgajxhcmdzLmxlbmd0aDsgaisrKSB7CiAgICAgICAgICAgIHBhcnRzLnB1c2goYXJnc1tqXSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBwYXJ0cy5qb2luKCcuJyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHBhdGg7CiAgICAgIH0KICAgIH0sCgogICAgLyoqCiAgICAgKiBTcGxpdHMgYSBwYXRoIGludG8gYW4gYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMuIEFjY2VwdHMgZWl0aGVyIGFycmF5cwogICAgICogb2YgcGF0aCBwYXJ0cyBvciBzdHJpbmdzLgogICAgICoKICAgICAqIEV4YW1wbGU6CiAgICAgKgogICAgICogYGBgCiAgICAgKiBQb2x5bWVyLlBhdGguc3BsaXQoWydmb28uYmFyJywgMCwgJ2JheiddKSAgLy8gWydmb28nLCAnYmFyJywgJzAnLCAnYmF6J10KICAgICAqIFBvbHltZXIuUGF0aC5zcGxpdCgnZm9vLmJhci4wLmJheicpICAgICAgICAvLyBbJ2ZvbycsICdiYXInLCAnMCcsICdiYXonXQogICAgICogYGBgCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuUGF0aAogICAgICogQHBhcmFtIHtzdHJpbmcgfCAhQXJyYXk8c3RyaW5nfG51bWJlcj59IHBhdGggSW5wdXQgcGF0aAogICAgICogQHJldHVybiB7IUFycmF5PHN0cmluZz59IEFycmF5IG9mIHBhdGggcGFydHMKICAgICAqIEB0aGlzIHtQYXRofQogICAgICogQHN1cHByZXNzIHtjaGVja1R5cGVzfQogICAgICovCiAgICBzcGxpdDogZnVuY3Rpb24ocGF0aCkgewogICAgICBpZiAoQXJyYXkuaXNBcnJheShwYXRoKSkgewogICAgICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZShwYXRoKS5zcGxpdCgnLicpOwogICAgICB9CiAgICAgIHJldHVybiBwYXRoLnRvU3RyaW5nKCkuc3BsaXQoJy4nKTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBSZWFkcyBhIHZhbHVlIGZyb20gYSBwYXRoLiAgSWYgYW55IHN1Yi1wcm9wZXJ0eSBpbiB0aGUgcGF0aCBpcyBgdW5kZWZpbmVkYCwKICAgICAqIHRoaXMgbWV0aG9kIHJldHVybnMgYHVuZGVmaW5lZGAgKHdpbGwgbmV2ZXIgdGhyb3cuCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuUGF0aAogICAgICogQHBhcmFtIHtPYmplY3R9IHJvb3QgT2JqZWN0IGZyb20gd2hpY2ggdG8gZGVyZWZlcmVuY2UgcGF0aCBmcm9tCiAgICAgKiBAcGFyYW0ge3N0cmluZyB8ICFBcnJheTxzdHJpbmd8bnVtYmVyPn0gcGF0aCBQYXRoIHRvIHJlYWQKICAgICAqIEBwYXJhbSB7T2JqZWN0PX0gaW5mbyBJZiBhbiBvYmplY3QgaXMgcHJvdmlkZWQgdG8gYGluZm9gLCB0aGUgbm9ybWFsaXplZAogICAgICogIChmbGF0dGVuZWQpIHBhdGggd2lsbCBiZSBzZXQgdG8gYGluZm8ucGF0aGAuCiAgICAgKiBAcmV0dXJuIHsqfSBWYWx1ZSBhdCBwYXRoLCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgcGF0aCBjb3VsZCBub3QgYmUKICAgICAqICBmdWxseSBkZXJlZmVyZW5jZWQuCiAgICAgKiBAdGhpcyB7UGF0aH0KICAgICAqLwogICAgZ2V0OiBmdW5jdGlvbihyb290LCBwYXRoLCBpbmZvKSB7CiAgICAgIGxldCBwcm9wID0gcm9vdDsKICAgICAgbGV0IHBhcnRzID0gdGhpcy5zcGxpdChwYXRoKTsKICAgICAgLy8gTG9vcCBvdmVyIHBhdGggcGFydHNbMC4ubi0xXSBhbmQgZGVyZWZlcmVuY2UKICAgICAgZm9yIChsZXQgaT0wOyBpPHBhcnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgaWYgKCFwcm9wKSB7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGxldCBwYXJ0ID0gcGFydHNbaV07CiAgICAgICAgcHJvcCA9IHByb3BbcGFydF07CiAgICAgIH0KICAgICAgaWYgKGluZm8pIHsKICAgICAgICBpbmZvLnBhdGggPSBwYXJ0cy5qb2luKCcuJyk7CiAgICAgIH0KICAgICAgcmV0dXJuIHByb3A7CiAgICB9LAoKICAgIC8qKgogICAgICogU2V0cyBhIHZhbHVlIHRvIGEgcGF0aC4gIElmIGFueSBzdWItcHJvcGVydHkgaW4gdGhlIHBhdGggaXMgYHVuZGVmaW5lZGAsCiAgICAgKiB0aGlzIG1ldGhvZCB3aWxsIG5vLW9wLgogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlBhdGgKICAgICAqIEBwYXJhbSB7T2JqZWN0fSByb290IE9iamVjdCBmcm9tIHdoaWNoIHRvIGRlcmVmZXJlbmNlIHBhdGggZnJvbQogICAgICogQHBhcmFtIHtzdHJpbmcgfCAhQXJyYXk8c3RyaW5nfG51bWJlcj59IHBhdGggUGF0aCB0byBzZXQKICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVmFsdWUgdG8gc2V0IHRvIHBhdGgKICAgICAqIEByZXR1cm4ge3N0cmluZyB8IHVuZGVmaW5lZH0gVGhlIG5vcm1hbGl6ZWQgdmVyc2lvbiBvZiB0aGUgaW5wdXQgcGF0aAogICAgICogQHRoaXMge1BhdGh9CiAgICAgKi8KICAgIHNldDogZnVuY3Rpb24ocm9vdCwgcGF0aCwgdmFsdWUpIHsKICAgICAgbGV0IHByb3AgPSByb290OwogICAgICBsZXQgcGFydHMgPSB0aGlzLnNwbGl0KHBhdGgpOwogICAgICBsZXQgbGFzdCA9IHBhcnRzW3BhcnRzLmxlbmd0aC0xXTsKICAgICAgaWYgKHBhcnRzLmxlbmd0aCA+IDEpIHsKICAgICAgICAvLyBMb29wIG92ZXIgcGF0aCBwYXJ0c1swLi5uLTJdIGFuZCBkZXJlZmVyZW5jZQogICAgICAgIGZvciAobGV0IGk9MDsgaTxwYXJ0cy5sZW5ndGgtMTsgaSsrKSB7CiAgICAgICAgICBsZXQgcGFydCA9IHBhcnRzW2ldOwogICAgICAgICAgcHJvcCA9IHByb3BbcGFydF07CiAgICAgICAgICBpZiAoIXByb3ApIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAvLyBTZXQgdmFsdWUgdG8gb2JqZWN0IGF0IGVuZCBvZiBwYXRoCiAgICAgICAgcHJvcFtsYXN0XSA9IHZhbHVlOwogICAgICB9IGVsc2UgewogICAgICAgIC8vIFNpbXBsZSBwcm9wZXJ0eSBzZXQKICAgICAgICBwcm9wW3BhdGhdID0gdmFsdWU7CiAgICAgIH0KICAgICAgcmV0dXJuIHBhcnRzLmpvaW4oJy4nKTsKICAgIH0KCiAgfTsKCiAgLyoqCiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBzdHJpbmcgaXMgYSBzdHJ1Y3R1cmVkIGRhdGEgcGF0aCAoaGFzIGRvdHMpLgogICAqCiAgICogVGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkLiAgVXNlIGBQb2x5bWVyLlBhdGguaXNQYXRoYCBpbnN0ZWFkLgogICAqCiAgICogRXhhbXBsZToKICAgKgogICAqIGBgYAogICAqIFBvbHltZXIuUGF0aC5pc0RlZXAoJ2Zvby5iYXIuYmF6JykgLy8gdHJ1ZQogICAqIFBvbHltZXIuUGF0aC5pc0RlZXAoJ2ZvbycpICAgICAgICAgLy8gZmFsc2UKICAgKiBgYGAKICAgKgogICAqIEBkZXByZWNhdGVkCiAgICogQG1lbWJlcm9mIFBvbHltZXIuUGF0aAogICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFBhdGggc3RyaW5nCiAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgc3RyaW5nIGNvbnRhaW5lZCBvbmUgb3IgbW9yZSBkb3RzCiAgICovCiAgUGF0aC5pc0RlZXAgPSBQYXRoLmlzUGF0aDsKCiAgUG9seW1lci5QYXRoID0gUGF0aDsKCn0pKCk7CgoKKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgY29uc3QgY2FzZU1hcCA9IHt9OwogIGNvbnN0IERBU0hfVE9fQ0FNRUwgPSAvLVthLXpdL2c7CiAgY29uc3QgQ0FNRUxfVE9fREFTSCA9IC8oW0EtWl0pL2c7CgogIC8qKgogICAqIE1vZHVsZSB3aXRoIHV0aWxpdGllcyBmb3IgY29udmVydGluZyBiZXR3ZWVuICJkYXNoLWNhc2UiIGFuZCAiY2FtZWxDYXNlIgogICAqIGlkZW50aWZpZXJzLgogICAqCiAgICogQG5hbWVzcGFjZQogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHN1bW1hcnkgTW9kdWxlIHRoYXQgcHJvdmlkZXMgdXRpbGl0aWVzIGZvciBjb252ZXJ0aW5nIGJldHdlZW4gImRhc2gtY2FzZSIKICAgKiAgIGFuZCAiY2FtZWxDYXNlIi4KICAgKi8KICBjb25zdCBDYXNlTWFwID0gewoKICAgIC8qKgogICAgICogQ29udmVydHMgImRhc2gtY2FzZSIgaWRlbnRpZmllciAoZS5nLiBgZm9vLWJhci1iYXpgKSB0byAiY2FtZWxDYXNlIgogICAgICogKGUuZy4gYGZvb0JhckJhemApLgogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLkNhc2VNYXAKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBkYXNoIERhc2gtY2FzZSBpZGVudGlmaWVyCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IENhbWVsLWNhc2UgcmVwcmVzZW50YXRpb24gb2YgdGhlIGlkZW50aWZpZXIKICAgICAqLwogICAgZGFzaFRvQ2FtZWxDYXNlKGRhc2gpIHsKICAgICAgcmV0dXJuIGNhc2VNYXBbZGFzaF0gfHwgKAogICAgICAgIGNhc2VNYXBbZGFzaF0gPSBkYXNoLmluZGV4T2YoJy0nKSA8IDAgPyBkYXNoIDogZGFzaC5yZXBsYWNlKERBU0hfVE9fQ0FNRUwsCiAgICAgICAgICAobSkgPT4gbVsxXS50b1VwcGVyQ2FzZSgpCiAgICAgICAgKQogICAgICApOwogICAgfSwKCiAgICAvKioKICAgICAqIENvbnZlcnRzICJjYW1lbENhc2UiIGlkZW50aWZpZXIgKGUuZy4gYGZvb0JhckJhemApIHRvICJkYXNoLWNhc2UiCiAgICAgKiAoZS5nLiBgZm9vLWJhci1iYXpgKS4KICAgICAqCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5DYXNlTWFwCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gY2FtZWwgQ2FtZWwtY2FzZSBpZGVudGlmaWVyCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IERhc2gtY2FzZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgaWRlbnRpZmllcgogICAgICovCiAgICBjYW1lbFRvRGFzaENhc2UoY2FtZWwpIHsKICAgICAgcmV0dXJuIGNhc2VNYXBbY2FtZWxdIHx8ICgKICAgICAgICBjYXNlTWFwW2NhbWVsXSA9IGNhbWVsLnJlcGxhY2UoQ0FNRUxfVE9fREFTSCwgJy0kMScpLnRvTG93ZXJDYXNlKCkKICAgICAgKTsKICAgIH0KCiAgfTsKCiAgUG9seW1lci5DYXNlTWFwID0gQ2FzZU1hcDsKfSkoKTsKCgooZnVuY3Rpb24oKSB7CgogICd1c2Ugc3RyaWN0JzsKCiAgLy8gTWljcm90YXNrIGltcGxlbWVudGVkIHVzaW5nIE11dGF0aW9uIE9ic2VydmVyCiAgbGV0IG1pY3JvdGFza0N1cnJIYW5kbGUgPSAwOwogIGxldCBtaWNyb3Rhc2tMYXN0SGFuZGxlID0gMDsKICBsZXQgbWljcm90YXNrQ2FsbGJhY2tzID0gW107CiAgbGV0IG1pY3JvdGFza05vZGVDb250ZW50ID0gMDsKICBsZXQgbWljcm90YXNrTm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCcnKTsKICBuZXcgd2luZG93Lk11dGF0aW9uT2JzZXJ2ZXIobWljcm90YXNrRmx1c2gpLm9ic2VydmUobWljcm90YXNrTm9kZSwge2NoYXJhY3RlckRhdGE6IHRydWV9KTsKCiAgZnVuY3Rpb24gbWljcm90YXNrRmx1c2goKSB7CiAgICBjb25zdCBsZW4gPSBtaWNyb3Rhc2tDYWxsYmFja3MubGVuZ3RoOwogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykgewogICAgICBsZXQgY2IgPSBtaWNyb3Rhc2tDYWxsYmFja3NbaV07CiAgICAgIGlmIChjYikgewogICAgICAgIHRyeSB7CiAgICAgICAgICBjYigpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyB0aHJvdyBlOyB9KTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIG1pY3JvdGFza0NhbGxiYWNrcy5zcGxpY2UoMCwgbGVuKTsKICAgIG1pY3JvdGFza0xhc3RIYW5kbGUgKz0gbGVuOwogIH0KCiAgLyoqCiAgICogTW9kdWxlIHRoYXQgcHJvdmlkZXMgYSBudW1iZXIgb2Ygc3RyYXRlZ2llcyBmb3IgZW5xdWV1aW5nIGFzeW5jaHJvbm91cwogICAqIHRhc2tzLiAgRWFjaCBzdWItbW9kdWxlIHByb3ZpZGVzIGEgc3RhbmRhcmQgYHJ1bihmbilgIGludGVyZmFjZSB0aGF0IHJldHVybnMgYQogICAqIGhhbmRsZSwgYW5kIGEgYGNhbmNlbChoYW5kbGUpYCBpbnRlcmZhY2UgZm9yIGNhbmNlbGluZyBhc3luYyB0YXNrcyBiZWZvcmUKICAgKiB0aGV5IHJ1bi4KICAgKgogICAqIEBuYW1lc3BhY2UKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBzdW1tYXJ5IE1vZHVsZSB0aGF0IHByb3ZpZGVzIGEgbnVtYmVyIG9mIHN0cmF0ZWdpZXMgZm9yIGVucXVldWluZyBhc3luY2hyb25vdXMKICAgKiB0YXNrcy4KICAgKi8KICBQb2x5bWVyLkFzeW5jID0gewoKICAgIC8qKgogICAgICogQXN5bmMgaW50ZXJmYWNlIHdyYXBwZXIgYXJvdW5kIGBzZXRUaW1lb3V0YC4KICAgICAqCiAgICAgKiBAbmFtZXNwYWNlCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5Bc3luYwogICAgICogQHN1bW1hcnkgQXN5bmMgaW50ZXJmYWNlIHdyYXBwZXIgYXJvdW5kIGBzZXRUaW1lb3V0YC4KICAgICAqLwogICAgdGltZU91dDogewogICAgICAvKioKICAgICAgICogUmV0dXJucyBhIHN1Yi1tb2R1bGUgd2l0aCB0aGUgYXN5bmMgaW50ZXJmYWNlIHByb3ZpZGluZyB0aGUgcHJvdmlkZWQKICAgICAgICogZGVsYXkuCiAgICAgICAqCiAgICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLkFzeW5jLnRpbWVPdXQKICAgICAgICogQHBhcmFtIHtudW1iZXI9fSBkZWxheSBUaW1lIHRvIHdhaXQgYmVmb3JlIGNhbGxpbmcgY2FsbGJhY2tzIGluIG1zCiAgICAgICAqIEByZXR1cm4geyFBc3luY0ludGVyZmFjZX0gQW4gYXN5bmMgdGltZW91dCBpbnRlcmZhY2UKICAgICAgICovCiAgICAgIGFmdGVyKGRlbGF5KSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIHJ1bihmbikgeyByZXR1cm4gd2luZG93LnNldFRpbWVvdXQoZm4sIGRlbGF5KTsgfSwKICAgICAgICAgIGNhbmNlbChoYW5kbGUpIHsKICAgICAgICAgICAgd2luZG93LmNsZWFyVGltZW91dChoYW5kbGUpOwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgIH0sCiAgICAgIC8qKgogICAgICAgKiBFbnF1ZXVlcyBhIGZ1bmN0aW9uIGNhbGxlZCBpbiB0aGUgbmV4dCB0YXNrLgogICAgICAgKgogICAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5Bc3luYy50aW1lT3V0CiAgICAgICAqIEBwYXJhbSB7IUZ1bmN0aW9ufSBmbiBDYWxsYmFjayB0byBydW4KICAgICAgICogQHBhcmFtIHtudW1iZXI9fSBkZWxheSBEZWxheSBpbiBtaWxsaXNlY29uZHMKICAgICAgICogQHJldHVybiB7bnVtYmVyfSBIYW5kbGUgdXNlZCBmb3IgY2FuY2VsaW5nIHRhc2sKICAgICAgICovCiAgICAgIHJ1bihmbiwgZGVsYXkpIHsKICAgICAgICByZXR1cm4gd2luZG93LnNldFRpbWVvdXQoZm4sIGRlbGF5KTsKICAgICAgfSwKICAgICAgLyoqCiAgICAgICAqIENhbmNlbHMgYSBwcmV2aW91c2x5IGVucXVldWVkIGB0aW1lT3V0YCBjYWxsYmFjay4KICAgICAgICoKICAgICAgICogQG1lbWJlcm9mIFBvbHltZXIuQXN5bmMudGltZU91dAogICAgICAgKiBAcGFyYW0ge251bWJlcn0gaGFuZGxlIEhhbmRsZSByZXR1cm5lZCBmcm9tIGBydW5gIG9mIGNhbGxiYWNrIHRvIGNhbmNlbAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgY2FuY2VsKGhhbmRsZSkgewogICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQoaGFuZGxlKTsKICAgICAgfQogICAgfSwKCiAgICAvKioKICAgICAqIEFzeW5jIGludGVyZmFjZSB3cmFwcGVyIGFyb3VuZCBgcmVxdWVzdEFuaW1hdGlvbkZyYW1lYC4KICAgICAqCiAgICAgKiBAbmFtZXNwYWNlCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5Bc3luYwogICAgICogQHN1bW1hcnkgQXN5bmMgaW50ZXJmYWNlIHdyYXBwZXIgYXJvdW5kIGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgLgogICAgICovCiAgICBhbmltYXRpb25GcmFtZTogewogICAgICAvKioKICAgICAgICogRW5xdWV1ZXMgYSBmdW5jdGlvbiBjYWxsZWQgYXQgYHJlcXVlc3RBbmltYXRpb25GcmFtZWAgdGltaW5nLgogICAgICAgKgogICAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5Bc3luYy5hbmltYXRpb25GcmFtZQogICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG51bWJlcik6dm9pZH0gZm4gQ2FsbGJhY2sgdG8gcnVuCiAgICAgICAqIEByZXR1cm4ge251bWJlcn0gSGFuZGxlIHVzZWQgZm9yIGNhbmNlbGluZyB0YXNrCiAgICAgICAqLwogICAgICBydW4oZm4pIHsKICAgICAgICByZXR1cm4gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmbik7CiAgICAgIH0sCiAgICAgIC8qKgogICAgICAgKiBDYW5jZWxzIGEgcHJldmlvdXNseSBlbnF1ZXVlZCBgYW5pbWF0aW9uRnJhbWVgIGNhbGxiYWNrLgogICAgICAgKgogICAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5Bc3luYy5hbmltYXRpb25GcmFtZQogICAgICAgKiBAcGFyYW0ge251bWJlcn0gaGFuZGxlIEhhbmRsZSByZXR1cm5lZCBmcm9tIGBydW5gIG9mIGNhbGxiYWNrIHRvIGNhbmNlbAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgY2FuY2VsKGhhbmRsZSkgewogICAgICAgIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShoYW5kbGUpOwogICAgICB9CiAgICB9LAoKICAgIC8qKgogICAgICogQXN5bmMgaW50ZXJmYWNlIHdyYXBwZXIgYXJvdW5kIGByZXF1ZXN0SWRsZUNhbGxiYWNrYC4gIEZhbGxzIGJhY2sgdG8KICAgICAqIGBzZXRUaW1lb3V0YCBvbiBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IGByZXF1ZXN0SWRsZUNhbGxiYWNrYC4KICAgICAqCiAgICAgKiBAbmFtZXNwYWNlCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5Bc3luYwogICAgICogQHN1bW1hcnkgQXN5bmMgaW50ZXJmYWNlIHdyYXBwZXIgYXJvdW5kIGByZXF1ZXN0SWRsZUNhbGxiYWNrYC4KICAgICAqLwogICAgaWRsZVBlcmlvZDogewogICAgICAvKioKICAgICAgICogRW5xdWV1ZXMgYSBmdW5jdGlvbiBjYWxsZWQgYXQgYHJlcXVlc3RJZGxlQ2FsbGJhY2tgIHRpbWluZy4KICAgICAgICoKICAgICAgICogQG1lbWJlcm9mIFBvbHltZXIuQXN5bmMuaWRsZVBlcmlvZAogICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKCFJZGxlRGVhZGxpbmUpOnZvaWR9IGZuIENhbGxiYWNrIHRvIHJ1bgogICAgICAgKiBAcmV0dXJuIHtudW1iZXJ9IEhhbmRsZSB1c2VkIGZvciBjYW5jZWxpbmcgdGFzawogICAgICAgKi8KICAgICAgcnVuKGZuKSB7CiAgICAgICAgcmV0dXJuIHdpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrID8KICAgICAgICAgIHdpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrKGZuKSA6CiAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmbiwgMTYpOwogICAgICB9LAogICAgICAvKioKICAgICAgICogQ2FuY2VscyBhIHByZXZpb3VzbHkgZW5xdWV1ZWQgYGlkbGVQZXJpb2RgIGNhbGxiYWNrLgogICAgICAgKgogICAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5Bc3luYy5pZGxlUGVyaW9kCiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBoYW5kbGUgSGFuZGxlIHJldHVybmVkIGZyb20gYHJ1bmAgb2YgY2FsbGJhY2sgdG8gY2FuY2VsCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBjYW5jZWwoaGFuZGxlKSB7CiAgICAgICAgd2luZG93LmNhbmNlbElkbGVDYWxsYmFjayA/CiAgICAgICAgICB3aW5kb3cuY2FuY2VsSWRsZUNhbGxiYWNrKGhhbmRsZSkgOgogICAgICAgICAgd2luZG93LmNsZWFyVGltZW91dChoYW5kbGUpOwogICAgICB9CiAgICB9LAoKICAgIC8qKgogICAgICogQXN5bmMgaW50ZXJmYWNlIGZvciBlbnF1ZXVpbmcgY2FsbGJhY2tzIHRoYXQgcnVuIGF0IG1pY3JvdGFzayB0aW1pbmcuCiAgICAgKgogICAgICogTm90ZSB0aGF0IG1pY3JvdGFzayB0aW1pbmcgaXMgYWNoaWV2ZWQgdmlhIGEgc2luZ2xlIGBNdXRhdGlvbk9ic2VydmVyYCwKICAgICAqIGFuZCB0aHVzIGNhbGxiYWNrcyBlbnF1ZXVlZCB3aXRoIHRoaXMgQVBJIHdpbGwgYWxsIHJ1biBpbiBhIHNpbmdsZQogICAgICogYmF0Y2gsIGFuZCBub3QgaW50ZXJsZWF2ZWQgd2l0aCBvdGhlciBtaWNyb3Rhc2tzIHN1Y2ggYXMgcHJvbWlzZXMuCiAgICAgKiBQcm9taXNlcyBhcmUgYXZvaWRlZCBhcyBhbiBpbXBsZW1lbnRhdGlvbiBjaG9pY2UgZm9yIHRoZSB0aW1lIGJlaW5nCiAgICAgKiBkdWUgdG8gU2FmYXJpIGJ1Z3MgdGhhdCBjYXVzZSBQcm9taXNlcyB0byBsYWNrIG1pY3JvdGFzayBndWFyYW50ZWVzLgogICAgICoKICAgICAqIEBuYW1lc3BhY2UKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLkFzeW5jCiAgICAgKiBAc3VtbWFyeSBBc3luYyBpbnRlcmZhY2UgZm9yIGVucXVldWluZyBjYWxsYmFja3MgdGhhdCBydW4gYXQgbWljcm90YXNrCiAgICAgKiAgIHRpbWluZy4KICAgICAqLwogICAgbWljcm9UYXNrOiB7CgogICAgICAvKioKICAgICAgICogRW5xdWV1ZXMgYSBmdW5jdGlvbiBjYWxsZWQgYXQgbWljcm90YXNrIHRpbWluZy4KICAgICAgICoKICAgICAgICogQG1lbWJlcm9mIFBvbHltZXIuQXN5bmMubWljcm9UYXNrCiAgICAgICAqIEBwYXJhbSB7IUZ1bmN0aW9uPX0gY2FsbGJhY2sgQ2FsbGJhY2sgdG8gcnVuCiAgICAgICAqIEByZXR1cm4ge251bWJlcn0gSGFuZGxlIHVzZWQgZm9yIGNhbmNlbGluZyB0YXNrCiAgICAgICAqLwogICAgICBydW4oY2FsbGJhY2spIHsKICAgICAgICBtaWNyb3Rhc2tOb2RlLnRleHRDb250ZW50ID0gbWljcm90YXNrTm9kZUNvbnRlbnQrKzsKICAgICAgICBtaWNyb3Rhc2tDYWxsYmFja3MucHVzaChjYWxsYmFjayk7CiAgICAgICAgcmV0dXJuIG1pY3JvdGFza0N1cnJIYW5kbGUrKzsKICAgICAgfSwKCiAgICAgIC8qKgogICAgICAgKiBDYW5jZWxzIGEgcHJldmlvdXNseSBlbnF1ZXVlZCBgbWljcm9UYXNrYCBjYWxsYmFjay4KICAgICAgICoKICAgICAgICogQG1lbWJlcm9mIFBvbHltZXIuQXN5bmMubWljcm9UYXNrCiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBoYW5kbGUgSGFuZGxlIHJldHVybmVkIGZyb20gYHJ1bmAgb2YgY2FsbGJhY2sgdG8gY2FuY2VsCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBjYW5jZWwoaGFuZGxlKSB7CiAgICAgICAgY29uc3QgaWR4ID0gaGFuZGxlIC0gbWljcm90YXNrTGFzdEhhbmRsZTsKICAgICAgICBpZiAoaWR4ID49IDApIHsKICAgICAgICAgIGlmICghbWljcm90YXNrQ2FsbGJhY2tzW2lkeF0pIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGFzeW5jIGhhbmRsZTogJyArIGhhbmRsZSk7CiAgICAgICAgICB9CiAgICAgICAgICBtaWNyb3Rhc2tDYWxsYmFja3NbaWR4XSA9IG51bGw7CiAgICAgICAgfQogICAgICB9CgogICAgfQogIH07Cgp9KSgpOwoKCiAgKGZ1bmN0aW9uICgpIHsKCiAgICAndXNlIHN0cmljdCc7CgogICAgLyoqIEBjb25zdCB7IUFzeW5jSW50ZXJmYWNlfSAqLwogICAgY29uc3QgbWljcm90YXNrID0gUG9seW1lci5Bc3luYy5taWNyb1Rhc2s7CgogICAgLyoqCiAgICAgKiBFbGVtZW50IGNsYXNzIG1peGluIHRoYXQgcHJvdmlkZXMgYmFzaWMgbWV0YS1wcm9ncmFtbWluZyBmb3IgY3JlYXRpbmcgb25lCiAgICAgKiBvciBtb3JlIHByb3BlcnR5IGFjY2Vzc29ycyAoZ2V0dGVyL3NldHRlciBwYWlyKSB0aGF0IGVucXVldWUgYW4gYXN5bmMKICAgICAqIChiYXRjaGVkKSBgX3Byb3BlcnRpZXNDaGFuZ2VkYCBjYWxsYmFjay4KICAgICAqCiAgICAgKiBGb3IgYmFzaWMgdXNhZ2Ugb2YgdGhpcyBtaXhpbiwgY2FsbCBgTXlDbGFzcy5jcmVhdGVQcm9wZXJ0aWVzKHByb3BzKWAKICAgICAqIG9uY2UgYXQgY2xhc3MgZGVmaW5pdGlvbiB0aW1lIHRvIGNyZWF0ZSBwcm9wZXJ0eSBhY2Nlc3NvcnMgZm9yIHByb3BlcnRpZXMKICAgICAqIG5hbWVkIGluIHByb3BzLCBpbXBsZW1lbnQgYF9wcm9wZXJ0aWVzQ2hhbmdlZGAgdG8gcmVhY3QgYXMgZGVzaXJlZCB0bwogICAgICogcHJvcGVydHkgY2hhbmdlcywgYW5kIGltcGxlbWVudCBgc3RhdGljIGdldCBvYnNlcnZlZEF0dHJpYnV0ZXMoKWAgYW5kCiAgICAgKiBpbmNsdWRlIGxvd2VyY2FzZSB2ZXJzaW9ucyBvZiBhbnkgcHJvcGVydHkgbmFtZXMgdGhhdCBzaG91bGQgYmUgc2V0IGZyb20KICAgICAqIGF0dHJpYnV0ZXMuIExhc3QsIGNhbGwgYHRoaXMuX2VuYWJsZVByb3BlcnRpZXMoKWAgaW4gdGhlIGVsZW1lbnQncwogICAgICogYGNvbm5lY3RlZENhbGxiYWNrYCB0byBlbmFibGUgdGhlIGFjY2Vzc29ycy4KICAgICAqCiAgICAgKiBAbWl4aW5GdW5jdGlvbgogICAgICogQHBvbHltZXIKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICAgKiBAc3VtbWFyeSBFbGVtZW50IGNsYXNzIG1peGluIGZvciByZWFjdGluZyB0byBwcm9wZXJ0eSBjaGFuZ2VzIGZyb20KICAgICAqICAgZ2VuZXJhdGVkIHByb3BlcnR5IGFjY2Vzc29ycy4KICAgICAqLwogICAgUG9seW1lci5Qcm9wZXJ0aWVzQ2hhbmdlZCA9IFBvbHltZXIuZGVkdXBpbmdNaXhpbihzdXBlckNsYXNzID0+IHsKCiAgICAgIC8qKgogICAgICAgKiBAcG9seW1lcgogICAgICAgKiBAbWl4aW5DbGFzcwogICAgICAgKiBAZXh0ZW5kcyB7c3VwZXJDbGFzc30KICAgICAgICogQGltcGxlbWVudHMge1BvbHltZXJfUHJvcGVydGllc0NoYW5nZWR9CiAgICAgICAqIEB1bnJlc3RyaWN0ZWQKICAgICAgICovCiAgICAgIGNsYXNzIFByb3BlcnRpZXNDaGFuZ2VkIGV4dGVuZHMgc3VwZXJDbGFzcyB7CgogICAgICAgIC8qKgogICAgICAgICAqIENyZWF0ZXMgcHJvcGVydHkgYWNjZXNzb3JzIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkgbmFtZXMuCiAgICAgICAgICogQHBhcmFtIHshT2JqZWN0fSBwcm9wcyBPYmplY3Qgd2hvc2Uga2V5cyBhcmUgbmFtZXMgb2YgYWNjZXNzb3JzLgogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICogQHByb3RlY3RlZAogICAgICAgICAqLwogICAgICAgIHN0YXRpYyBjcmVhdGVQcm9wZXJ0aWVzKHByb3BzKSB7CiAgICAgICAgICBjb25zdCBwcm90byA9IHRoaXMucHJvdG90eXBlOwogICAgICAgICAgZm9yIChsZXQgcHJvcCBpbiBwcm9wcykgewogICAgICAgICAgICAvLyBkb24ndCBzdG9tcCBhbiBleGlzdGluZyBhY2Nlc3NvcgogICAgICAgICAgICBpZiAoIShwcm9wIGluIHByb3RvKSkgewogICAgICAgICAgICAgIHByb3RvLl9jcmVhdGVQcm9wZXJ0eUFjY2Vzc29yKHByb3ApOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIGFuIGF0dHJpYnV0ZSBuYW1lIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgICAqIFRoZSBhdHRyaWJ1dGUgbmFtZSBpcyB0aGUgbG93ZXJjYXNlZCBwcm9wZXJ0eSBuYW1lLiBPdmVycmlkZSB0bwogICAgICAgICAqIGN1c3RvbWl6ZSB0aGlzIG1hcHBpbmcuCiAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IFByb3BlcnR5IHRvIGNvbnZlcnQKICAgICAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IEF0dHJpYnV0ZSBuYW1lIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgICAqCiAgICAgICAgICogQHByb3RlY3RlZAogICAgICAgICAqLwogICAgICAgIHN0YXRpYyBhdHRyaWJ1dGVOYW1lRm9yUHJvcGVydHkocHJvcGVydHkpIHsKICAgICAgICAgIHJldHVybiBwcm9wZXJ0eS50b0xvd2VyQ2FzZSgpOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogT3ZlcnJpZGUgcG9pbnQgdG8gcHJvdmlkZSBhIHR5cGUgdG8gd2hpY2ggdG8gZGVzZXJpYWxpemUgYSB2YWx1ZSB0bwogICAgICAgICAqIGEgZ2l2ZW4gcHJvcGVydHkuCiAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZSBvZiBwcm9wZXJ0eQogICAgICAgICAqCiAgICAgICAgICogQHByb3RlY3RlZAogICAgICAgICAqLwogICAgICAgIHN0YXRpYyB0eXBlRm9yUHJvcGVydHkobmFtZSkgeyB9IC8vZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFycwoKICAgICAgICAvKioKICAgICAgICAgKiBDcmVhdGVzIGEgc2V0dGVyL2dldHRlciBwYWlyIGZvciB0aGUgbmFtZWQgcHJvcGVydHkgd2l0aCBpdHMgb3duCiAgICAgICAgICogbG9jYWwgc3RvcmFnZS4gIFRoZSBnZXR0ZXIgcmV0dXJucyB0aGUgdmFsdWUgaW4gdGhlIGxvY2FsIHN0b3JhZ2UsCiAgICAgICAgICogYW5kIHRoZSBzZXR0ZXIgY2FsbHMgYF9zZXRQcm9wZXJ0eWAsIHdoaWNoIHVwZGF0ZXMgdGhlIGxvY2FsIHN0b3JhZ2UKICAgICAgICAgKiBmb3IgdGhlIHByb3BlcnR5IGFuZCBlbnF1ZXVlcyBhIGBfcHJvcGVydGllc0NoYW5nZWRgIGNhbGxiYWNrLgogICAgICAgICAqCiAgICAgICAgICogVGhpcyBtZXRob2QgbWF5IGJlIGNhbGxlZCBvbiBhIHByb3RvdHlwZSBvciBhbiBpbnN0YW5jZS4gIENhbGxpbmcKICAgICAgICAgKiB0aGlzIG1ldGhvZCBtYXkgb3ZlcndyaXRlIGEgcHJvcGVydHkgdmFsdWUgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbgogICAgICAgICAqIHRoZSBwcm90b3R5cGUvaW5zdGFuY2UgYnkgY3JlYXRpbmcgdGhlIGFjY2Vzc29yLgogICAgICAgICAqCiAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IE5hbWUgb2YgdGhlIHByb3BlcnR5CiAgICAgICAgICogQHBhcmFtIHtib29sZWFuPX0gcmVhZE9ubHkgV2hlbiB0cnVlLCBubyBzZXR0ZXIgaXMgY3JlYXRlZDsgdGhlCiAgICAgICAgICogICBwcm90ZWN0ZWQgYF9zZXRQcm9wZXJ0eWAgZnVuY3Rpb24gbXVzdCBiZSB1c2VkIHRvIHNldCB0aGUgcHJvcGVydHkKICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICAgKi8KICAgICAgICBfY3JlYXRlUHJvcGVydHlBY2Nlc3Nvcihwcm9wZXJ0eSwgcmVhZE9ubHkpIHsKICAgICAgICAgIHRoaXMuX2FkZFByb3BlcnR5VG9BdHRyaWJ1dGVNYXAocHJvcGVydHkpOwogICAgICAgICAgaWYgKCF0aGlzLmhhc093blByb3BlcnR5KCdfX2RhdGFIYXNBY2Nlc3NvcicpKSB7CiAgICAgICAgICAgIHRoaXMuX19kYXRhSGFzQWNjZXNzb3IgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLl9fZGF0YUhhc0FjY2Vzc29yKTsKICAgICAgICAgIH0KICAgICAgICAgIGlmICghdGhpcy5fX2RhdGFIYXNBY2Nlc3Nvcltwcm9wZXJ0eV0pIHsKICAgICAgICAgICAgdGhpcy5fX2RhdGFIYXNBY2Nlc3Nvcltwcm9wZXJ0eV0gPSB0cnVlOwogICAgICAgICAgICB0aGlzLl9kZWZpbmVQcm9wZXJ0eUFjY2Vzc29yKHByb3BlcnR5LCByZWFkT25seSk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBBZGRzIHRoZSBnaXZlbiBgcHJvcGVydHlgIHRvIGEgbWFwIG1hdGNoaW5nIGF0dHJpYnV0ZSBuYW1lcwogICAgICAgICAqIHRvIHByb3BlcnR5IG5hbWVzLCB1c2luZyBgYXR0cmlidXRlTmFtZUZvclByb3BlcnR5YC4gVGhpcyBtYXAgaXMKICAgICAgICAgKiB1c2VkIHdoZW4gZGVzZXJpYWxpemluZyBhdHRyaWJ1dGUgdmFsdWVzIHRvIHByb3BlcnRpZXMuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgTmFtZSBvZiB0aGUgcHJvcGVydHkKICAgICAgICAgKi8KICAgICAgICBfYWRkUHJvcGVydHlUb0F0dHJpYnV0ZU1hcChwcm9wZXJ0eSkgewogICAgICAgICAgaWYgKCF0aGlzLmhhc093blByb3BlcnR5KCdfX2RhdGFBdHRyaWJ1dGVzJykpIHsKICAgICAgICAgICAgdGhpcy5fX2RhdGFBdHRyaWJ1dGVzID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5fX2RhdGFBdHRyaWJ1dGVzKTsKICAgICAgICAgIH0KICAgICAgICAgIGlmICghdGhpcy5fX2RhdGFBdHRyaWJ1dGVzW3Byb3BlcnR5XSkgewogICAgICAgICAgICBjb25zdCBhdHRyID0gdGhpcy5jb25zdHJ1Y3Rvci5hdHRyaWJ1dGVOYW1lRm9yUHJvcGVydHkocHJvcGVydHkpOwogICAgICAgICAgICB0aGlzLl9fZGF0YUF0dHJpYnV0ZXNbYXR0cl0gPSBwcm9wZXJ0eTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIERlZmluZXMgYSBwcm9wZXJ0eSBhY2Nlc3NvciBmb3IgdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBOYW1lIG9mIHRoZSBwcm9wZXJ0eQogICAgICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IHJlYWRPbmx5IFdoZW4gdHJ1ZSwgbm8gc2V0dGVyIGlzIGNyZWF0ZWQKICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqLwogICAgICAgICBfZGVmaW5lUHJvcGVydHlBY2Nlc3Nvcihwcm9wZXJ0eSwgcmVhZE9ubHkpIHsKICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBwcm9wZXJ0eSwgewogICAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSB2YWxpZC1qc2RvYyAqLwogICAgICAgICAgICAvKiogQHRoaXMge1Byb3BlcnRpZXNDaGFuZ2VkfSAqLwogICAgICAgICAgICBnZXQoKSB7CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2dldFByb3BlcnR5KHByb3BlcnR5KTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgLyoqIEB0aGlzIHtQcm9wZXJ0aWVzQ2hhbmdlZH0gKi8KICAgICAgICAgICAgc2V0OiByZWFkT25seSA/IGZ1bmN0aW9uICgpIHt9IDogZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgICAgICAgdGhpcy5fc2V0UHJvcGVydHkocHJvcGVydHksIHZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvKiBlc2xpbnQtZW5hYmxlICovCiAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgICAgc3VwZXIoKTsKICAgICAgICAgIHRoaXMuX19kYXRhRW5hYmxlZCA9IGZhbHNlOwogICAgICAgICAgdGhpcy5fX2RhdGFSZWFkeSA9IGZhbHNlOwogICAgICAgICAgdGhpcy5fX2RhdGFJbnZhbGlkID0gZmFsc2U7CiAgICAgICAgICB0aGlzLl9fZGF0YSA9IHt9OwogICAgICAgICAgdGhpcy5fX2RhdGFQZW5kaW5nID0gbnVsbDsKICAgICAgICAgIHRoaXMuX19kYXRhT2xkID0gbnVsbDsKICAgICAgICAgIHRoaXMuX19kYXRhSW5zdGFuY2VQcm9wcyA9IG51bGw7CiAgICAgICAgICB0aGlzLl9fc2VyaWFsaXppbmcgPSBmYWxzZTsKICAgICAgICAgIHRoaXMuX2luaXRpYWxpemVQcm9wZXJ0aWVzKCk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBMaWZlY3ljbGUgY2FsbGJhY2sgY2FsbGVkIHdoZW4gcHJvcGVydGllcyBhcmUgZW5hYmxlZCB2aWEKICAgICAgICAgKiBgX2VuYWJsZVByb3BlcnRpZXNgLgogICAgICAgICAqCiAgICAgICAgICogVXNlcnMgbWF5IG92ZXJyaWRlIHRoaXMgZnVuY3Rpb24gdG8gaW1wbGVtZW50IGJlaGF2aW9yIHRoYXQgaXMKICAgICAgICAgKiBkZXBlbmRlbnQgb24gdGhlIGVsZW1lbnQgaGF2aW5nIGl0cyBwcm9wZXJ0eSBkYXRhIGluaXRpYWxpemVkLCBlLmcuCiAgICAgICAgICogZnJvbSBkZWZhdWx0cyAoaW5pdGlhbGl6ZWQgZnJvbSBgY29uc3RydWN0b3JgLCBgX2luaXRpYWxpemVQcm9wZXJ0aWVzYCksCiAgICAgICAgICogYGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFja2AsIG9yIHZhbHVlcyBwcm9wYWdhdGVkIGZyb20gaG9zdCBlLmcuIHZpYQogICAgICAgICAqIGJpbmRpbmdzLiAgYHN1cGVyLnJlYWR5KClgIG11c3QgYmUgY2FsbGVkIHRvIGVuc3VyZSB0aGUgZGF0YSBzeXN0ZW0KICAgICAgICAgKiBiZWNvbWVzIGVuYWJsZWQuCiAgICAgICAgICoKICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqIEBwdWJsaWMKICAgICAgICAgKi8KICAgICAgICByZWFkeSgpIHsKICAgICAgICAgIHRoaXMuX19kYXRhUmVhZHkgPSB0cnVlOwogICAgICAgICAgdGhpcy5fZmx1c2hQcm9wZXJ0aWVzKCk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBJbml0aWFsaXplcyB0aGUgbG9jYWwgc3RvcmFnZSBmb3IgcHJvcGVydHkgYWNjZXNzb3JzLgogICAgICAgICAqCiAgICAgICAgICogUHJvdmlkZWQgYXMgYW4gb3ZlcnJpZGUgcG9pbnQgZm9yIHBlcmZvcm1pbmcgYW55IHNldHVwIHdvcmsgcHJpb3IKICAgICAgICAgKiB0byBpbml0aWFsaXppbmcgdGhlIHByb3BlcnR5IGFjY2Vzc29yIHN5c3RlbS4KICAgICAgICAgKgogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICogQHByb3RlY3RlZAogICAgICAgICAqLwogICAgICAgIF9pbml0aWFsaXplUHJvcGVydGllcygpIHsKICAgICAgICAgIC8vIENhcHR1cmUgaW5zdGFuY2UgcHJvcGVydGllczsgdGhlc2Ugd2lsbCBiZSBzZXQgaW50byBhY2Nlc3NvcnMKICAgICAgICAgIC8vIGR1cmluZyBmaXJzdCBmbHVzaC4gRG9uJ3Qgc2V0IHRoZW0gaGVyZSwgc2luY2Ugd2Ugd2FudAogICAgICAgICAgLy8gdGhlc2UgdG8gb3ZlcndyaXRlIGRlZmF1bHRzL2NvbnN0cnVjdG9yIGFzc2lnbm1lbnRzCiAgICAgICAgICBmb3IgKGxldCBwIGluIHRoaXMuX19kYXRhSGFzQWNjZXNzb3IpIHsKICAgICAgICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkocCkpIHsKICAgICAgICAgICAgICB0aGlzLl9fZGF0YUluc3RhbmNlUHJvcHMgPSB0aGlzLl9fZGF0YUluc3RhbmNlUHJvcHMgfHwge307CiAgICAgICAgICAgICAgdGhpcy5fX2RhdGFJbnN0YW5jZVByb3BzW3BdID0gdGhpc1twXTsKICAgICAgICAgICAgICBkZWxldGUgdGhpc1twXTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogQ2FsbGVkIGF0IHJlYWR5IHRpbWUgd2l0aCBiYWcgb2YgaW5zdGFuY2UgcHJvcGVydGllcyB0aGF0IG92ZXJ3cm90ZQogICAgICAgICAqIGFjY2Vzc29ycyB3aGVuIHRoZSBlbGVtZW50IHVwZ3JhZGVkLgogICAgICAgICAqCiAgICAgICAgICogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gc2V0cyB0aGVzZSBwcm9wZXJ0aWVzIGJhY2sgaW50byB0aGUKICAgICAgICAgKiBzZXR0ZXIgYXQgcmVhZHkgdGltZS4gIFRoaXMgbWV0aG9kIGlzIHByb3ZpZGVkIGFzIGFuIG92ZXJyaWRlCiAgICAgICAgICogcG9pbnQgZm9yIGN1c3RvbWl6aW5nIG9yIHByb3ZpZGluZyBtb3JlIGVmZmljaWVudCBpbml0aWFsaXphdGlvbi4KICAgICAgICAgKgogICAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBCYWcgb2YgcHJvcGVydHkgdmFsdWVzIHRoYXQgd2VyZSBvdmVyd3JpdHRlbgogICAgICAgICAqICAgd2hlbiBjcmVhdGluZyBwcm9wZXJ0eSBhY2Nlc3NvcnMuCiAgICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAgICovCiAgICAgICAgX2luaXRpYWxpemVJbnN0YW5jZVByb3BlcnRpZXMocHJvcHMpIHsKICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgcHJvcHMpOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogVXBkYXRlcyB0aGUgbG9jYWwgc3RvcmFnZSBmb3IgYSBwcm9wZXJ0eSAodmlhIGBfc2V0UGVuZGluZ1Byb3BlcnR5YCkKICAgICAgICAgKiBhbmQgZW5xdWV1ZXMgYSBgX3Byb2VwcnRpZXNDaGFuZ2VkYCBjYWxsYmFjay4KICAgICAgICAgKgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBOYW1lIG9mIHRoZSBwcm9wZXJ0eQogICAgICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVmFsdWUgdG8gc2V0CiAgICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAgICovCiAgICAgICAgX3NldFByb3BlcnR5KHByb3BlcnR5LCB2YWx1ZSkgewogICAgICAgICAgaWYgKHRoaXMuX3NldFBlbmRpbmdQcm9wZXJ0eShwcm9wZXJ0eSwgdmFsdWUpKSB7CiAgICAgICAgICAgIHRoaXMuX2ludmFsaWRhdGVQcm9wZXJ0aWVzKCk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBmb3IgdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBOYW1lIG9mIHByb3BlcnR5CiAgICAgICAgICogQHJldHVybiB7Kn0gVmFsdWUgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eQogICAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICAgKi8KICAgICAgICBfZ2V0UHJvcGVydHkocHJvcGVydHkpIHsKICAgICAgICAgIHJldHVybiB0aGlzLl9fZGF0YVtwcm9wZXJ0eV07CiAgICAgICAgfQoKICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqLwogICAgICAgIC8qKgogICAgICAgICAqIFVwZGF0ZXMgdGhlIGxvY2FsIHN0b3JhZ2UgZm9yIGEgcHJvcGVydHksIHJlY29yZHMgdGhlIHByZXZpb3VzIHZhbHVlLAogICAgICAgICAqIGFuZCBhZGRzIGl0IHRvIHRoZSBzZXQgb2YgInBlbmRpbmcgY2hhbmdlcyIgdGhhdCB3aWxsIGJlIHBhc3NlZCB0byB0aGUKICAgICAgICAgKiBgX3Byb3BlcnRpZXNDaGFuZ2VkYCBjYWxsYmFjay4gIFRoaXMgbWV0aG9kIGRvZXMgbm90IGVucXVldWUgdGhlCiAgICAgICAgICogYF9wcm9wZXJ0aWVzQ2hhbmdlZGAgY2FsbGJhY2suCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgTmFtZSBvZiB0aGUgcHJvcGVydHkKICAgICAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFZhbHVlIHRvIHNldAogICAgICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IGV4dCBOb3QgdXNlZCBoZXJlOyBhZmZvcmRhbmNlIGZvciBjbG9zdXJlCiAgICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gUmV0dXJucyB0cnVlIGlmIHRoZSBwcm9wZXJ0eSBjaGFuZ2VkCiAgICAgICAgICogQHByb3RlY3RlZAogICAgICAgICAqLwogICAgICAgIF9zZXRQZW5kaW5nUHJvcGVydHkocHJvcGVydHksIHZhbHVlLCBleHQpIHsKICAgICAgICAgIGxldCBvbGQgPSB0aGlzLl9fZGF0YVtwcm9wZXJ0eV07CiAgICAgICAgICBsZXQgY2hhbmdlZCA9IHRoaXMuX3Nob3VsZFByb3BlcnR5Q2hhbmdlKHByb3BlcnR5LCB2YWx1ZSwgb2xkKTsKICAgICAgICAgIGlmIChjaGFuZ2VkKSB7CiAgICAgICAgICAgIGlmICghdGhpcy5fX2RhdGFQZW5kaW5nKSB7CiAgICAgICAgICAgICAgdGhpcy5fX2RhdGFQZW5kaW5nID0ge307CiAgICAgICAgICAgICAgdGhpcy5fX2RhdGFPbGQgPSB7fTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBFbnN1cmUgb2xkIGlzIGNhcHR1cmVkIGZyb20gdGhlIGxhc3QgdHVybgogICAgICAgICAgICBpZiAodGhpcy5fX2RhdGFPbGQgJiYgIShwcm9wZXJ0eSBpbiB0aGlzLl9fZGF0YU9sZCkpIHsKICAgICAgICAgICAgICB0aGlzLl9fZGF0YU9sZFtwcm9wZXJ0eV0gPSBvbGQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGhpcy5fX2RhdGFbcHJvcGVydHldID0gdmFsdWU7CiAgICAgICAgICAgIHRoaXMuX19kYXRhUGVuZGluZ1twcm9wZXJ0eV0gPSB2YWx1ZTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBjaGFuZ2VkOwogICAgICAgIH0KICAgICAgICAvKiBlc2xpbnQtZW5hYmxlICovCgogICAgICAgIC8qKgogICAgICAgICAqIE1hcmtzIHRoZSBwcm9wZXJ0aWVzIGFzIGludmFsaWQsIGFuZCBlbnF1ZXVlcyBhbiBhc3luYwogICAgICAgICAqIGBfcHJvcGVydGllc0NoYW5nZWRgIGNhbGxiYWNrLgogICAgICAgICAqCiAgICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAgICovCiAgICAgICAgX2ludmFsaWRhdGVQcm9wZXJ0aWVzKCkgewogICAgICAgICAgaWYgKCF0aGlzLl9fZGF0YUludmFsaWQgJiYgdGhpcy5fX2RhdGFSZWFkeSkgewogICAgICAgICAgICB0aGlzLl9fZGF0YUludmFsaWQgPSB0cnVlOwogICAgICAgICAgICBtaWNyb3Rhc2sucnVuKCgpID0+IHsKICAgICAgICAgICAgICBpZiAodGhpcy5fX2RhdGFJbnZhbGlkKSB7CiAgICAgICAgICAgICAgICB0aGlzLl9fZGF0YUludmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIHRoaXMuX2ZsdXNoUHJvcGVydGllcygpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDYWxsIHRvIGVuYWJsZSBwcm9wZXJ0eSBhY2Nlc3NvciBwcm9jZXNzaW5nLiBCZWZvcmUgdGhpcyBtZXRob2QgaXMKICAgICAgICAgKiBjYWxsZWQgYWNjZXNzb3IgdmFsdWVzIHdpbGwgYmUgc2V0IGJ1dCBzaWRlIGVmZmVjdHMgYXJlCiAgICAgICAgICogcXVldWVkLiBXaGVuIGNhbGxlZCwgYW55IHBlbmRpbmcgc2lkZSBlZmZlY3RzIG9jY3VyIGltbWVkaWF0ZWx5LgogICAgICAgICAqIEZvciBlbGVtZW50cywgZ2VuZXJhbGx5IGBjb25uZWN0ZWRDYWxsYmFja2AgaXMgYSBub3JtYWwgc3BvdCB0byBkbyBzby4KICAgICAgICAgKiBJdCBpcyBzYWZlIHRvIGNhbGwgdGhpcyBtZXRob2QgbXVsdGlwbGUgdGltZXMgYXMgaXQgb25seSB0dXJucyBvbgogICAgICAgICAqIHByb3BlcnR5IGFjY2Vzc29ycyBvbmNlLgogICAgICAgICAqCiAgICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAgICovCiAgICAgICAgX2VuYWJsZVByb3BlcnRpZXMoKSB7CiAgICAgICAgICBpZiAoIXRoaXMuX19kYXRhRW5hYmxlZCkgewogICAgICAgICAgICB0aGlzLl9fZGF0YUVuYWJsZWQgPSB0cnVlOwogICAgICAgICAgICBpZiAodGhpcy5fX2RhdGFJbnN0YW5jZVByb3BzKSB7CiAgICAgICAgICAgICAgdGhpcy5faW5pdGlhbGl6ZUluc3RhbmNlUHJvcGVydGllcyh0aGlzLl9fZGF0YUluc3RhbmNlUHJvcHMpOwogICAgICAgICAgICAgIHRoaXMuX19kYXRhSW5zdGFuY2VQcm9wcyA9IG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGhpcy5yZWFkeSgpOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogQ2FsbHMgdGhlIGBfcHJvcGVydGllc0NoYW5nZWRgIGNhbGxiYWNrIHdpdGggdGhlIGN1cnJlbnQgc2V0IG9mCiAgICAgICAgICogcGVuZGluZyBjaGFuZ2VzIChhbmQgb2xkIHZhbHVlcyByZWNvcmRlZCB3aGVuIHBlbmRpbmcgY2hhbmdlcyB3ZXJlCiAgICAgICAgICogc2V0KSwgYW5kIHJlc2V0cyB0aGUgcGVuZGluZyBzZXQgb2YgY2hhbmdlcy4gR2VuZXJhbGx5LCB0aGlzIG1ldGhvZAogICAgICAgICAqIHNob3VsZCBub3QgYmUgY2FsbGVkIGluIHVzZXIgY29kZS4KICAgICAgICAgKgogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICogQHByb3RlY3RlZAogICAgICAgICAqLwogICAgICAgIF9mbHVzaFByb3BlcnRpZXMoKSB7CiAgICAgICAgICBjb25zdCBwcm9wcyA9IHRoaXMuX19kYXRhOwogICAgICAgICAgY29uc3QgY2hhbmdlZFByb3BzID0gdGhpcy5fX2RhdGFQZW5kaW5nOwogICAgICAgICAgY29uc3Qgb2xkID0gdGhpcy5fX2RhdGFPbGQ7CiAgICAgICAgICBpZiAodGhpcy5fc2hvdWxkUHJvcGVydGllc0NoYW5nZShwcm9wcywgY2hhbmdlZFByb3BzLCBvbGQpKSB7CiAgICAgICAgICAgIHRoaXMuX19kYXRhUGVuZGluZyA9IG51bGw7CiAgICAgICAgICAgIHRoaXMuX19kYXRhT2xkID0gbnVsbDsKICAgICAgICAgICAgdGhpcy5fcHJvcGVydGllc0NoYW5nZWQocHJvcHMsIGNoYW5nZWRQcm9wcywgb2xkKTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIENhbGxlZCBpbiBgX2ZsdXNoUHJvcGVydGllc2AgdG8gZGV0ZXJtaW5lIGlmIGBfcHJvcGVydGllc0NoYW5nZWRgCiAgICAgICAgICogc2hvdWxkIGJlIGNhbGxlZC4gVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gcmV0dXJucyB0cnVlIGlmCiAgICAgICAgICogcHJvcGVydGllcyBhcmUgcGVuZGluZy4gT3ZlcnJpZGUgdG8gY3VzdG9taXplIHdoZW4KICAgICAgICAgKiBgX3Byb3BlcnRpZXNDaGFuZ2VkYCBpcyBjYWxsZWQuCiAgICAgICAgICogQHBhcmFtIHshT2JqZWN0fSBjdXJyZW50UHJvcHMgQmFnIG9mIGFsbCBjdXJyZW50IGFjY2Vzc29yIHZhbHVlcwogICAgICAgICAqIEBwYXJhbSB7IU9iamVjdH0gY2hhbmdlZFByb3BzIEJhZyBvZiBwcm9wZXJ0aWVzIGNoYW5nZWQgc2luY2UgdGhlIGxhc3QKICAgICAgICAgKiAgIGNhbGwgdG8gYF9wcm9wZXJ0aWVzQ2hhbmdlZGAKICAgICAgICAgKiBAcGFyYW0geyFPYmplY3R9IG9sZFByb3BzIEJhZyBvZiBwcmV2aW91cyB2YWx1ZXMgZm9yIGVhY2ggcHJvcGVydHkKICAgICAgICAgKiAgIGluIGBjaGFuZ2VkUHJvcHNgCiAgICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gdHJ1ZSBpZiBjaGFuZ2VkUHJvcHMgaXMgdHJ1dGh5CiAgICAgICAgICovCiAgICAgICAgX3Nob3VsZFByb3BlcnRpZXNDaGFuZ2UoY3VycmVudFByb3BzLCBjaGFuZ2VkUHJvcHMsIG9sZFByb3BzKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnMKICAgICAgICAgIHJldHVybiBCb29sZWFuKGNoYW5nZWRQcm9wcyk7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDYWxsYmFjayBjYWxsZWQgd2hlbiBhbnkgcHJvcGVydGllcyB3aXRoIGFjY2Vzc29ycyBjcmVhdGVkIHZpYQogICAgICAgICAqIGBfY3JlYXRlUHJvcGVydHlBY2Nlc3NvcmAgaGF2ZSBiZWVuIHNldC4KICAgICAgICAgKgogICAgICAgICAqIEBwYXJhbSB7IU9iamVjdH0gY3VycmVudFByb3BzIEJhZyBvZiBhbGwgY3VycmVudCBhY2Nlc3NvciB2YWx1ZXMKICAgICAgICAgKiBAcGFyYW0geyFPYmplY3R9IGNoYW5nZWRQcm9wcyBCYWcgb2YgcHJvcGVydGllcyBjaGFuZ2VkIHNpbmNlIHRoZSBsYXN0CiAgICAgICAgICogICBjYWxsIHRvIGBfcHJvcGVydGllc0NoYW5nZWRgCiAgICAgICAgICogQHBhcmFtIHshT2JqZWN0fSBvbGRQcm9wcyBCYWcgb2YgcHJldmlvdXMgdmFsdWVzIGZvciBlYWNoIHByb3BlcnR5CiAgICAgICAgICogICBpbiBgY2hhbmdlZFByb3BzYAogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICogQHByb3RlY3RlZAogICAgICAgICAqLwogICAgICAgIF9wcm9wZXJ0aWVzQ2hhbmdlZChjdXJyZW50UHJvcHMsIGNoYW5nZWRQcm9wcywgb2xkUHJvcHMpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFycwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogTWV0aG9kIGNhbGxlZCB0byBkZXRlcm1pbmUgd2hldGhlciBhIHByb3BlcnR5IHZhbHVlIHNob3VsZCBiZQogICAgICAgICAqIGNvbnNpZGVyZWQgYXMgYSBjaGFuZ2UgYW5kIGNhdXNlIHRoZSBgX3Byb3BlcnRpZXNDaGFuZ2VkYCBjYWxsYmFjawogICAgICAgICAqIHRvIGJlIGVucXVldWVkLgogICAgICAgICAqCiAgICAgICAgICogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gcmV0dXJucyBgdHJ1ZWAgaWYgYSBzdHJpY3QgZXF1YWxpdHkKICAgICAgICAgKiBjaGVjayBmYWlscy4gVGhlIG1ldGhvZCBhbHdheXMgcmV0dXJucyBmYWxzZSBmb3IgYE5hTmAuCiAgICAgICAgICoKICAgICAgICAgKiBPdmVycmlkZSB0aGlzIG1ldGhvZCB0byBlLmcuIHByb3ZpZGUgc3RyaWN0ZXIgY2hlY2tpbmcgZm9yCiAgICAgICAgICogT2JqZWN0cy9BcnJheXMgd2hlbiB1c2luZyBpbW11dGFibGUgcGF0dGVybnMuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgTmV3IHByb3BlcnR5IHZhbHVlCiAgICAgICAgICogQHBhcmFtIHsqfSBvbGQgUHJldmlvdXMgcHJvcGVydHkgdmFsdWUKICAgICAgICAgKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgY29uc2lkZXJlZCBhIGNoYW5nZQogICAgICAgICAqICAgYW5kIGVucXVldWUgYSBgX3Byb2VwcnRpZXNDaGFuZ2VkYCBjYWxsYmFjawogICAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICAgKi8KICAgICAgICBfc2hvdWxkUHJvcGVydHlDaGFuZ2UocHJvcGVydHksIHZhbHVlLCBvbGQpIHsKICAgICAgICAgIHJldHVybiAoCiAgICAgICAgICAgIC8vIFN0cmljdCBlcXVhbGl0eSBjaGVjawogICAgICAgICAgICAob2xkICE9PSB2YWx1ZSAmJgogICAgICAgICAgICAgIC8vIFRoaXMgZW5zdXJlcyAob2xkPT1OYU4sIHZhbHVlPT1OYU4pIGFsd2F5cyByZXR1cm5zIGZhbHNlCiAgICAgICAgICAgICAgKG9sZCA9PT0gb2xkIHx8IHZhbHVlID09PSB2YWx1ZSkpCiAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogSW1wbGVtZW50cyBuYXRpdmUgQ3VzdG9tIEVsZW1lbnRzIGBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2tgIHRvCiAgICAgICAgICogc2V0IGFuIGF0dHJpYnV0ZSB2YWx1ZSB0byBhIHByb3BlcnR5IHZpYSBgX2F0dHJpYnV0ZVRvUHJvcGVydHlgLgogICAgICAgICAqCiAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZSBvZiBhdHRyaWJ1dGUgdGhhdCBjaGFuZ2VkCiAgICAgICAgICogQHBhcmFtIHs/c3RyaW5nfSBvbGQgT2xkIGF0dHJpYnV0ZSB2YWx1ZQogICAgICAgICAqIEBwYXJhbSB7P3N0cmluZ30gdmFsdWUgTmV3IGF0dHJpYnV0ZSB2YWx1ZQogICAgICAgICAqIEBwYXJhbSB7P3N0cmluZ30gbmFtZXNwYWNlIEF0dHJpYnV0ZSBuYW1lc3BhY2UuCiAgICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICAgKiBAc3VwcHJlc3Mge21pc3NpbmdQcm9wZXJ0aWVzfSBTdXBlciBtYXkgb3IgbWF5IG5vdCBpbXBsZW1lbnQgdGhlIGNhbGxiYWNrCiAgICAgICAgICovCiAgICAgICAgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKG5hbWUsIG9sZCwgdmFsdWUsIG5hbWVzcGFjZSkgewogICAgICAgICAgaWYgKG9sZCAhPT0gdmFsdWUpIHsKICAgICAgICAgICAgdGhpcy5fYXR0cmlidXRlVG9Qcm9wZXJ0eShuYW1lLCB2YWx1ZSk7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoc3VwZXIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKSB7CiAgICAgICAgICAgIHN1cGVyLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lLCBvbGQsIHZhbHVlLCBuYW1lc3BhY2UpOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogRGVzZXJpYWxpemVzIGFuIGF0dHJpYnV0ZSB0byBpdHMgYXNzb2NpYXRlZCBwcm9wZXJ0eS4KICAgICAgICAgKgogICAgICAgICAqIFRoaXMgbWV0aG9kIGNhbGxzIHRoZSBgX2Rlc2VyaWFsaXplVmFsdWVgIG1ldGhvZCB0byBjb252ZXJ0IHRoZSBzdHJpbmcgdG8KICAgICAgICAgKiBhIHR5cGVkIHZhbHVlLgogICAgICAgICAqCiAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGF0dHJpYnV0ZSBOYW1lIG9mIGF0dHJpYnV0ZSB0byBkZXNlcmlhbGl6ZS4KICAgICAgICAgKiBAcGFyYW0gez9zdHJpbmd9IHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUuCiAgICAgICAgICogQHBhcmFtIHsqPX0gdHlwZSB0eXBlIHRvIGRlc2VyaWFsaXplIHRvLCBkZWZhdWx0cyB0byB0aGUgdmFsdWUKICAgICAgICAgKiByZXR1cm5lZCBmcm9tIGB0eXBlRm9yUHJvcGVydHlgCiAgICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICAgKi8KICAgICAgICBfYXR0cmlidXRlVG9Qcm9wZXJ0eShhdHRyaWJ1dGUsIHZhbHVlLCB0eXBlKSB7CiAgICAgICAgICBpZiAoIXRoaXMuX19zZXJpYWxpemluZykgewogICAgICAgICAgICBjb25zdCBtYXAgPSB0aGlzLl9fZGF0YUF0dHJpYnV0ZXM7CiAgICAgICAgICAgIGNvbnN0IHByb3BlcnR5ID0gbWFwICYmIG1hcFthdHRyaWJ1dGVdIHx8IGF0dHJpYnV0ZTsKICAgICAgICAgICAgdGhpc1twcm9wZXJ0eV0gPSB0aGlzLl9kZXNlcmlhbGl6ZVZhbHVlKHZhbHVlLCB0eXBlIHx8CiAgICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3Rvci50eXBlRm9yUHJvcGVydHkocHJvcGVydHkpKTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIFNlcmlhbGl6ZXMgYSBwcm9wZXJ0eSB0byBpdHMgYXNzb2NpYXRlZCBhdHRyaWJ1dGUuCiAgICAgICAgICoKICAgICAgICAgKiBAc3VwcHJlc3Mge2ludmFsaWRDYXN0c30gQ2xvc3VyZSBjYW4ndCBmaWd1cmUgb3V0IGB0aGlzYCBpcyBhbiBlbGVtZW50LgogICAgICAgICAqCiAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IFByb3BlcnR5IG5hbWUgdG8gcmVmbGVjdC4KICAgICAgICAgKiBAcGFyYW0ge3N0cmluZz19IGF0dHJpYnV0ZSBBdHRyaWJ1dGUgbmFtZSB0byByZWZsZWN0IHRvLgogICAgICAgICAqIEBwYXJhbSB7Kj19IHZhbHVlIFByb3BlcnR5IHZhbHVlIHRvIHJlZmVjdC4KICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqLwogICAgICAgIF9wcm9wZXJ0eVRvQXR0cmlidXRlKHByb3BlcnR5LCBhdHRyaWJ1dGUsIHZhbHVlKSB7CiAgICAgICAgICB0aGlzLl9fc2VyaWFsaXppbmcgPSB0cnVlOwogICAgICAgICAgdmFsdWUgPSAoYXJndW1lbnRzLmxlbmd0aCA8IDMpID8gdGhpc1twcm9wZXJ0eV0gOiB2YWx1ZTsKICAgICAgICAgIHRoaXMuX3ZhbHVlVG9Ob2RlQXR0cmlidXRlKC8qKiBAdHlwZSB7IUhUTUxFbGVtZW50fSAqLyh0aGlzKSwgdmFsdWUsCiAgICAgICAgICAgIGF0dHJpYnV0ZSB8fCB0aGlzLmNvbnN0cnVjdG9yLmF0dHJpYnV0ZU5hbWVGb3JQcm9wZXJ0eShwcm9wZXJ0eSkpOwogICAgICAgICAgdGhpcy5fX3NlcmlhbGl6aW5nID0gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBTZXRzIGEgdHlwZWQgdmFsdWUgdG8gYW4gSFRNTCBhdHRyaWJ1dGUgb24gYSBub2RlLgogICAgICAgICAqCiAgICAgICAgICogVGhpcyBtZXRob2QgY2FsbHMgdGhlIGBfc2VyaWFsaXplVmFsdWVgIG1ldGhvZCB0byBjb252ZXJ0IHRoZSB0eXBlZAogICAgICAgICAqIHZhbHVlIHRvIGEgc3RyaW5nLiAgSWYgdGhlIGBfc2VyaWFsaXplVmFsdWVgIG1ldGhvZCByZXR1cm5zIGB1bmRlZmluZWRgLAogICAgICAgICAqIHRoZSBhdHRyaWJ1dGUgd2lsbCBiZSByZW1vdmVkICh0aGlzIGlzIHRoZSBkZWZhdWx0IGZvciBib29sZWFuCiAgICAgICAgICogdHlwZSBgZmFsc2VgKS4KICAgICAgICAgKgogICAgICAgICAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZSBFbGVtZW50IHRvIHNldCBhdHRyaWJ1dGUgdG8uCiAgICAgICAgICogQHBhcmFtIHsqfSB2YWx1ZSBWYWx1ZSB0byBzZXJpYWxpemUuCiAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGF0dHJpYnV0ZSBBdHRyaWJ1dGUgbmFtZSB0byBzZXJpYWxpemUgdG8uCiAgICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICAgKi8KICAgICAgICBfdmFsdWVUb05vZGVBdHRyaWJ1dGUobm9kZSwgdmFsdWUsIGF0dHJpYnV0ZSkgewogICAgICAgICAgY29uc3Qgc3RyID0gdGhpcy5fc2VyaWFsaXplVmFsdWUodmFsdWUpOwogICAgICAgICAgaWYgKHN0ciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIG5vZGUucmVtb3ZlQXR0cmlidXRlKGF0dHJpYnV0ZSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBub2RlLnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIHN0cik7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBDb252ZXJ0cyBhIHR5cGVkIEphdmFTY3JpcHQgdmFsdWUgdG8gYSBzdHJpbmcuCiAgICAgICAgICoKICAgICAgICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiBzZXR0aW5nIEpTIHByb3BlcnR5IHZhbHVlcyB0bwogICAgICAgICAqIEhUTUwgYXR0cmlidXRlcy4gIFVzZXJzIG1heSBvdmVycmlkZSB0aGlzIG1ldGhvZCB0byBwcm92aWRlCiAgICAgICAgICogc2VyaWFsaXphdGlvbiBmb3IgY3VzdG9tIHR5cGVzLgogICAgICAgICAqCiAgICAgICAgICogQHBhcmFtIHsqfSB2YWx1ZSBQcm9wZXJ0eSB2YWx1ZSB0byBzZXJpYWxpemUuCiAgICAgICAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfSBTdHJpbmcgc2VyaWFsaXplZCBmcm9tIHRoZSBwcm92aWRlZAogICAgICAgICAqIHByb3BlcnR5ICB2YWx1ZS4KICAgICAgICAgKi8KICAgICAgICBfc2VyaWFsaXplVmFsdWUodmFsdWUpIHsKICAgICAgICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7CiAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOgogICAgICAgICAgICAgIHJldHVybiB2YWx1ZSA/ICcnIDogdW5kZWZpbmVkOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgIHJldHVybiB2YWx1ZSAhPSBudWxsID8gdmFsdWUudG9TdHJpbmcoKSA6IHVuZGVmaW5lZDsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGEgdHlwZWQgSmF2YVNjcmlwdCB2YWx1ZS4KICAgICAgICAgKgogICAgICAgICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIHJlYWRpbmcgSFRNTCBhdHRyaWJ1dGUgdmFsdWVzIHRvCiAgICAgICAgICogSlMgcHJvcGVydGllcy4gIFVzZXJzIG1heSBvdmVycmlkZSB0aGlzIG1ldGhvZCB0byBwcm92aWRlCiAgICAgICAgICogZGVzZXJpYWxpemF0aW9uIGZvciBjdXN0b20gYHR5cGVgcy4gVHlwZXMgZm9yIGBCb29sZWFuYCwgYFN0cmluZ2AsCiAgICAgICAgICogYW5kIGBOdW1iZXJgIGNvbnZlcnQgYXR0cmlidXRlcyB0byB0aGUgZXhwZWN0ZWQgdHlwZXMuCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0gez9zdHJpbmd9IHZhbHVlIFZhbHVlIHRvIGRlc2VyaWFsaXplLgogICAgICAgICAqIEBwYXJhbSB7Kj19IHR5cGUgVHlwZSB0byBkZXNlcmlhbGl6ZSB0aGUgc3RyaW5nIHRvLgogICAgICAgICAqIEByZXR1cm4geyp9IFR5cGVkIHZhbHVlIGRlc2VyaWFsaXplZCBmcm9tIHRoZSBwcm92aWRlZCBzdHJpbmcuCiAgICAgICAgICovCiAgICAgICAgX2Rlc2VyaWFsaXplVmFsdWUodmFsdWUsIHR5cGUpIHsKICAgICAgICAgIHN3aXRjaCAodHlwZSkgewogICAgICAgICAgICBjYXNlIEJvb2xlYW46CiAgICAgICAgICAgICAgcmV0dXJuICh2YWx1ZSAhPT0gbnVsbCk7CiAgICAgICAgICAgIGNhc2UgTnVtYmVyOgogICAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgIHJldHVybiB2YWx1ZTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICB9CgogICAgICByZXR1cm4gUHJvcGVydGllc0NoYW5nZWQ7CiAgICB9KTsKCgogIH0pKCk7CgoKCihmdW5jdGlvbigpIHsKCiAgJ3VzZSBzdHJpY3QnOwoKICBsZXQgY2FzZU1hcCA9IFBvbHltZXIuQ2FzZU1hcDsKCiAgLy8gU2F2ZSBtYXAgb2YgbmF0aXZlIHByb3BlcnRpZXM7IHRoaXMgZm9ybXMgYSBibGFja2xpc3Qgb3IgcHJvcGVydGllcwogIC8vIHRoYXQgd29uJ3QgaGF2ZSB0aGVpciB2YWx1ZXMgInNhdmVkIiBieSBgc2F2ZUFjY2Vzc29yVmFsdWVgLCBzaW5jZQogIC8vIHJlYWRpbmcgZnJvbSBhbiBIVE1MRWxlbWVudCBhY2Nlc3NvciBmcm9tIHRoZSBjb250ZXh0IG9mIGEgcHJvdG90eXBlIHRocm93cwogIGNvbnN0IG5hdGl2ZVByb3BlcnRpZXMgPSB7fTsKICBsZXQgcHJvdG8gPSBIVE1MRWxlbWVudC5wcm90b3R5cGU7CiAgd2hpbGUgKHByb3RvKSB7CiAgICBsZXQgcHJvcHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm90byk7CiAgICBmb3IgKGxldCBpPTA7IGk8cHJvcHMubGVuZ3RoOyBpKyspIHsKICAgICAgbmF0aXZlUHJvcGVydGllc1twcm9wc1tpXV0gPSB0cnVlOwogICAgfQogICAgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvdG8pOwogIH0KCiAgLyoqCiAgICogVXNlZCB0byBzYXZlIHRoZSB2YWx1ZSBvZiBhIHByb3BlcnR5IHRoYXQgd2lsbCBiZSBvdmVycmlkZGVuIHdpdGgKICAgKiBhbiBhY2Nlc3Nvci4gSWYgdGhlIGBtb2RlbGAgaXMgYSBwcm90b3R5cGUsIHRoZSB2YWx1ZXMgd2lsbCBiZSBzYXZlZAogICAqIGluIGBfX2RhdGFQcm90b2AsIGFuZCBpdCdzIHVwIHRvIHRoZSB1c2VyIChvciBkb3duc3RyZWFtIG1peGluKSB0bwogICAqIGRlY2lkZSBob3cvd2hlbiB0byBzZXQgdGhlc2UgdmFsdWVzIGJhY2sgaW50byB0aGUgYWNjZXNzb3JzLgogICAqIElmIGBtb2RlbGAgaXMgYWxyZWFkeSBhbiBpbnN0YW5jZSAoaXQgaGFzIGEgYF9fZGF0YWAgcHJvcGVydHkpLCB0aGVuCiAgICogdGhlIHZhbHVlIHdpbGwgYmUgc2V0IGFzIGEgcGVuZGluZyBwcm9wZXJ0eSwgbWVhbmluZyB0aGUgdXNlciBzaG91bGQKICAgKiBjYWxsIGBfaW52YWxpZGF0ZVByb3BlcnRpZXNgIG9yIGBfZmx1c2hQcm9wZXJ0aWVzYCB0byB0YWtlIGVmZmVjdAogICAqCiAgICogQHBhcmFtIHtPYmplY3R9IG1vZGVsIFByb3RvdHlwZSBvciBpbnN0YW5jZQogICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBOYW1lIG9mIHByb3BlcnR5CiAgICogQHJldHVybiB7dm9pZH0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHNhdmVBY2Nlc3NvclZhbHVlKG1vZGVsLCBwcm9wZXJ0eSkgewogICAgLy8gRG9uJ3QgcmVhZC9zdG9yZSB2YWx1ZSBmb3IgYW55IG5hdGl2ZSBwcm9wZXJ0aWVzIHNpbmNlIHRoZXkgY291bGQgdGhyb3cKICAgIGlmICghbmF0aXZlUHJvcGVydGllc1twcm9wZXJ0eV0pIHsKICAgICAgbGV0IHZhbHVlID0gbW9kZWxbcHJvcGVydHldOwogICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkgewogICAgICAgIGlmIChtb2RlbC5fX2RhdGEpIHsKICAgICAgICAgIC8vIEFkZGluZyBhY2Nlc3NvciB0byBpbnN0YW5jZTsgdXBkYXRlIHRoZSBwcm9wZXJ0eQogICAgICAgICAgLy8gSXQgaXMgdGhlIHVzZXIncyByZXNwb25zaWJpbGl0eSB0byBjYWxsIF9mbHVzaFByb3BlcnRpZXMKICAgICAgICAgIG1vZGVsLl9zZXRQZW5kaW5nUHJvcGVydHkocHJvcGVydHksIHZhbHVlKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gQWRkaW5nIGFjY2Vzc29yIHRvIHByb3RvOyBzYXZlIHByb3RvJ3MgdmFsdWUgZm9yIGluc3RhbmNlLXRpbWUgdXNlCiAgICAgICAgICBpZiAoIW1vZGVsLl9fZGF0YVByb3RvKSB7CiAgICAgICAgICAgIG1vZGVsLl9fZGF0YVByb3RvID0ge307CiAgICAgICAgICB9IGVsc2UgaWYgKCFtb2RlbC5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCdfX2RhdGFQcm90bycsIG1vZGVsKSkpIHsKICAgICAgICAgICAgbW9kZWwuX19kYXRhUHJvdG8gPSBPYmplY3QuY3JlYXRlKG1vZGVsLl9fZGF0YVByb3RvKTsKICAgICAgICAgIH0KICAgICAgICAgIG1vZGVsLl9fZGF0YVByb3RvW3Byb3BlcnR5XSA9IHZhbHVlOwogICAgICAgIH0KICAgICAgfQogICAgfQogIH0KCiAgLyoqCiAgICogRWxlbWVudCBjbGFzcyBtaXhpbiB0aGF0IHByb3ZpZGVzIGJhc2ljIG1ldGEtcHJvZ3JhbW1pbmcgZm9yIGNyZWF0aW5nIG9uZQogICAqIG9yIG1vcmUgcHJvcGVydHkgYWNjZXNzb3JzIChnZXR0ZXIvc2V0dGVyIHBhaXIpIHRoYXQgZW5xdWV1ZSBhbiBhc3luYwogICAqIChiYXRjaGVkKSBgX3Byb3BlcnRpZXNDaGFuZ2VkYCBjYWxsYmFjay4KICAgKgogICAqIEZvciBiYXNpYyB1c2FnZSBvZiB0aGlzIG1peGluOgogICAqIAogICAqIC0gICBEZWNsYXJlIGF0dHJpYnV0ZXMgdG8gb2JzZXJ2ZSB2aWEgdGhlIHN0YW5kYXJkIGBzdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpYC4gVXNlCiAgICogICAgIGBkYXNoLWNhc2VgIGF0dHJpYnV0ZSBuYW1lcyB0byByZXByZXNlbnQgYGNhbWVsQ2FzZWAgcHJvcGVydHkgbmFtZXMuIAogICAqIC0gICBJbXBsZW1lbnQgdGhlIGBfcHJvcGVydGllc0NoYW5nZWRgIGNhbGxiYWNrIG9uIHRoZSBjbGFzcy4KICAgKiAtICAgQ2FsbCBgTXlDbGFzcy5jcmVhdGVQcm9wZXJ0aWVzRm9yQXR0cmlidXRlcygpYCAqKm9uY2UqKiBvbiB0aGUgY2xhc3MgdG8gZ2VuZXJhdGUgCiAgICogICAgIHByb3BlcnR5IGFjY2Vzc29ycyBmb3IgZWFjaCBvYnNlcnZlZCBhdHRyaWJ1dGUuIFRoaXMgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIHRoZSBmaXJzdCAKICAgKiAgICAgaW5zdGFuY2UgaXMgY3JlYXRlZCwgZm9yIGV4YW1wbGUsIGJ5IGNhbGxpbmcgaXQgYmVmb3JlIGNhbGxpbmcgYGN1c3RvbUVsZW1lbnRzLmRlZmluZWAuCiAgICogICAgIEl0IGNhbiBhbHNvIGJlIGNhbGxlZCBsYXppbHkgZnJvbSB0aGUgZWxlbWVudCdzIGBjb25zdHJ1Y3RvcmAsIGFzIGxvbmcgYXMgaXQncyBndWFyZGVkIHNvCiAgICogICAgIHRoYXQgdGhlIGNhbGwgaXMgb25seSBtYWRlIG9uY2UsIHdoZW4gdGhlIGZpcnN0IGluc3RhbmNlIGlzIGNyZWF0ZWQuCiAgICogLSAgIENhbGwgYHRoaXMuX2VuYWJsZVByb3BlcnRpZXMoKWAgaW4gdGhlIGVsZW1lbnQncyBgY29ubmVjdGVkQ2FsbGJhY2tgIHRvIGVuYWJsZSAKICAgKiAgICAgdGhlIGFjY2Vzc29ycy4KICAgKgogICAqIEFueSBgb2JzZXJ2ZWRBdHRyaWJ1dGVzYCB3aWxsIGF1dG9tYXRpY2FsbHkgYmUKICAgKiBkZXNlcmlhbGl6ZWQgdmlhIGBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2tgIGFuZCBzZXQgdG8gdGhlIGFzc29jaWF0ZWQKICAgKiBwcm9wZXJ0eSB1c2luZyBgZGFzaC1jYXNlYC10by1gY2FtZWxDYXNlYCBjb252ZW50aW9uLgogICAqCiAgICogQG1peGluRnVuY3Rpb24KICAgKiBAcG9seW1lcgogICAqIEBhcHBsaWVzTWl4aW4gUG9seW1lci5Qcm9wZXJ0aWVzQ2hhbmdlZAogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHN1bW1hcnkgRWxlbWVudCBjbGFzcyBtaXhpbiBmb3IgcmVhY3RpbmcgdG8gcHJvcGVydHkgY2hhbmdlcyBmcm9tCiAgICogICBnZW5lcmF0ZWQgcHJvcGVydHkgYWNjZXNzb3JzLgogICAqLwogIFBvbHltZXIuUHJvcGVydHlBY2Nlc3NvcnMgPSBQb2x5bWVyLmRlZHVwaW5nTWl4aW4oc3VwZXJDbGFzcyA9PiB7CgogICAgLyoqCiAgICAgKiBAY29uc3RydWN0b3IKICAgICAqIEBleHRlbmRzIHtzdXBlckNsYXNzfQogICAgICogQGltcGxlbWVudHMge1BvbHltZXJfUHJvcGVydGllc0NoYW5nZWR9CiAgICAgKiBAdW5yZXN0cmljdGVkCiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICAgY29uc3QgYmFzZSA9IFBvbHltZXIuUHJvcGVydGllc0NoYW5nZWQoc3VwZXJDbGFzcyk7CgogICAgLyoqCiAgICAgKiBAcG9seW1lcgogICAgICogQG1peGluQ2xhc3MKICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX1Byb3BlcnR5QWNjZXNzb3JzfQogICAgICogQGV4dGVuZHMge2Jhc2V9CiAgICAgKiBAdW5yZXN0cmljdGVkCiAgICAgKi8KICAgIGNsYXNzIFByb3BlcnR5QWNjZXNzb3JzIGV4dGVuZHMgYmFzZSB7CgogICAgICAvKioKICAgICAgICogR2VuZXJhdGVzIHByb3BlcnR5IGFjY2Vzc29ycyBmb3IgYWxsIGF0dHJpYnV0ZXMgaW4gdGhlIHN0YW5kYXJkCiAgICAgICAqIHN0YXRpYyBgb2JzZXJ2ZWRBdHRyaWJ1dGVzYCBhcnJheS4KICAgICAgICoKICAgICAgICogQXR0cmlidXRlIG5hbWVzIGFyZSBtYXBwZWQgdG8gcHJvcGVydHkgbmFtZXMgdXNpbmcgdGhlIGBkYXNoLWNhc2VgIHRvCiAgICAgICAqIGBjYW1lbENhc2VgIGNvbnZlbnRpb24KICAgICAgICoKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIHN0YXRpYyBjcmVhdGVQcm9wZXJ0aWVzRm9yQXR0cmlidXRlcygpIHsKICAgICAgICBsZXQgYSQgPSB0aGlzLm9ic2VydmVkQXR0cmlidXRlczsKICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBhJC5sZW5ndGg7IGkrKykgewogICAgICAgICAgdGhpcy5wcm90b3R5cGUuX2NyZWF0ZVByb3BlcnR5QWNjZXNzb3IoY2FzZU1hcC5kYXNoVG9DYW1lbENhc2UoYSRbaV0pKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBSZXR1cm5zIGFuIGF0dHJpYnV0ZSBuYW1lIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgKiBCeSBkZWZhdWx0LCBjb252ZXJ0cyBjYW1lbCB0byBkYXNoIGNhc2UsIGUuZy4gYGZvb0JhcmAgdG8gYGZvby1iYXJgLgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgdG8gY29udmVydAogICAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IEF0dHJpYnV0ZSBuYW1lIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgKgogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBzdGF0aWMgYXR0cmlidXRlTmFtZUZvclByb3BlcnR5KHByb3BlcnR5KSB7CiAgICAgICAgcmV0dXJuIGNhc2VNYXAuY2FtZWxUb0Rhc2hDYXNlKHByb3BlcnR5KTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE92ZXJyaWRlcyBQcm9wZXJ0aWVzQ2hhbmdlZCBpbXBsZW1lbnRhdGlvbiB0byBpbml0aWFsaXplIHZhbHVlcyBmb3IKICAgICAgICogYWNjZXNzb3JzIGNyZWF0ZWQgZm9yIHZhbHVlcyB0aGF0IGFscmVhZHkgZXhpc3RlZCBvbiB0aGUgZWxlbWVudAogICAgICAgKiBwcm90b3R5cGUuCiAgICAgICAqCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIF9pbml0aWFsaXplUHJvcGVydGllcygpIHsKICAgICAgICBpZiAodGhpcy5fX2RhdGFQcm90bykgewogICAgICAgICAgdGhpcy5faW5pdGlhbGl6ZVByb3RvUHJvcGVydGllcyh0aGlzLl9fZGF0YVByb3RvKTsKICAgICAgICAgIHRoaXMuX19kYXRhUHJvdG8gPSBudWxsOwogICAgICAgIH0KICAgICAgICBzdXBlci5faW5pdGlhbGl6ZVByb3BlcnRpZXMoKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENhbGxlZCBhdCBpbnN0YW5jZSB0aW1lIHdpdGggYmFnIG9mIHByb3BlcnRpZXMgdGhhdCB3ZXJlIG92ZXJ3cml0dGVuCiAgICAgICAqIGJ5IGFjY2Vzc29ycyBvbiB0aGUgcHJvdG90eXBlIHdoZW4gYWNjZXNzb3JzIHdlcmUgY3JlYXRlZC4KICAgICAgICoKICAgICAgICogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gc2V0cyB0aGVzZSBwcm9wZXJ0aWVzIGJhY2sgaW50byB0aGUKICAgICAgICogc2V0dGVyIGF0IGluc3RhbmNlIHRpbWUuICBUaGlzIG1ldGhvZCBpcyBwcm92aWRlZCBhcyBhbiBvdmVycmlkZQogICAgICAgKiBwb2ludCBmb3IgY3VzdG9taXppbmcgb3IgcHJvdmlkaW5nIG1vcmUgZWZmaWNpZW50IGluaXRpYWxpemF0aW9uLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgQmFnIG9mIHByb3BlcnR5IHZhbHVlcyB0aGF0IHdlcmUgb3ZlcndyaXR0ZW4KICAgICAgICogICB3aGVuIGNyZWF0aW5nIHByb3BlcnR5IGFjY2Vzc29ycy4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX2luaXRpYWxpemVQcm90b1Byb3BlcnRpZXMocHJvcHMpIHsKICAgICAgICBmb3IgKGxldCBwIGluIHByb3BzKSB7CiAgICAgICAgICB0aGlzLl9zZXRQcm9wZXJ0eShwLCBwcm9wc1twXSk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogRW5zdXJlcyB0aGUgZWxlbWVudCBoYXMgdGhlIGdpdmVuIGF0dHJpYnV0ZS4gSWYgaXQgZG9lcyBub3QsCiAgICAgICAqIGFzc2lnbnMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBhdHRyaWJ1dGUuCiAgICAgICAqCiAgICAgICAqIEBzdXBwcmVzcyB7aW52YWxpZENhc3RzfSBDbG9zdXJlIGNhbid0IGZpZ3VyZSBvdXQgYHRoaXNgIGlzIGluZmFjdCBhbiBlbGVtZW50CiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGUgTmFtZSBvZiBhdHRyaWJ1dGUgdG8gZW5zdXJlIGlzIHNldC4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfZW5zdXJlQXR0cmlidXRlKGF0dHJpYnV0ZSwgdmFsdWUpIHsKICAgICAgICBjb25zdCBlbCA9IC8qKiBAdHlwZSB7IUhUTUxFbGVtZW50fSAqLyh0aGlzKTsKICAgICAgICBpZiAoIWVsLmhhc0F0dHJpYnV0ZShhdHRyaWJ1dGUpKSB7CiAgICAgICAgICB0aGlzLl92YWx1ZVRvTm9kZUF0dHJpYnV0ZShlbCwgdmFsdWUsIGF0dHJpYnV0ZSk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIFByb3BlcnRpZXNDaGFuZ2VkIGltcGxlbWVudGlvbiB0byBzZXJpYWxpemUgb2JqZWN0cyBhcyBKU09OLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFByb3BlcnR5IHZhbHVlIHRvIHNlcmlhbGl6ZS4KICAgICAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfSBTdHJpbmcgc2VyaWFsaXplZCBmcm9tIHRoZSBwcm92aWRlZCBwcm9wZXJ0eSB2YWx1ZS4KICAgICAgICovCiAgICAgIF9zZXJpYWxpemVWYWx1ZSh2YWx1ZSkgewogICAgICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLWZhbGx0aHJvdWdoICovCiAgICAgICAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHsKICAgICAgICAgIGNhc2UgJ29iamVjdCc6CiAgICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHsKICAgICAgICAgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKTsKICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSkgewogICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUpOwogICAgICAgICAgICAgIH0gY2F0Y2goeCkgewogICAgICAgICAgICAgICAgcmV0dXJuICcnOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHJldHVybiBzdXBlci5fc2VyaWFsaXplVmFsdWUodmFsdWUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGEgdHlwZWQgSmF2YVNjcmlwdCB2YWx1ZS4KICAgICAgICoKICAgICAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIGJ5IFBvbHltZXIgd2hlbiByZWFkaW5nIEhUTUwgYXR0cmlidXRlIHZhbHVlcyB0bwogICAgICAgKiBKUyBwcm9wZXJ0aWVzLiAgVXNlcnMgbWF5IG92ZXJyaWRlIHRoaXMgbWV0aG9kIG9uIFBvbHltZXIgZWxlbWVudAogICAgICAgKiBwcm90b3R5cGVzIHRvIHByb3ZpZGUgZGVzZXJpYWxpemF0aW9uIGZvciBjdXN0b20gYHR5cGVgcy4gIE5vdGUsCiAgICAgICAqIHRoZSBgdHlwZWAgYXJndW1lbnQgaXMgdGhlIHZhbHVlIG9mIHRoZSBgdHlwZWAgZmllbGQgcHJvdmlkZWQgaW4gdGhlCiAgICAgICAqIGBwcm9wZXJ0aWVzYCBjb25maWd1cmF0aW9uIG9iamVjdCBmb3IgYSBnaXZlbiBwcm9wZXJ0eSwgYW5kIGlzCiAgICAgICAqIGJ5IGNvbnZlbnRpb24gdGhlIGNvbnN0cnVjdG9yIGZvciB0aGUgdHlwZSB0byBkZXNlcmlhbGl6ZS4KICAgICAgICoKICAgICAgICoKICAgICAgICogQHBhcmFtIHs/c3RyaW5nfSB2YWx1ZSBBdHRyaWJ1dGUgdmFsdWUgdG8gZGVzZXJpYWxpemUuCiAgICAgICAqIEBwYXJhbSB7Kj19IHR5cGUgVHlwZSB0byBkZXNlcmlhbGl6ZSB0aGUgc3RyaW5nIHRvLgogICAgICAgKiBAcmV0dXJuIHsqfSBUeXBlZCB2YWx1ZSBkZXNlcmlhbGl6ZWQgZnJvbSB0aGUgcHJvdmlkZWQgc3RyaW5nLgogICAgICAgKi8KICAgICAgX2Rlc2VyaWFsaXplVmFsdWUodmFsdWUsIHR5cGUpIHsKICAgICAgICAvKioKICAgICAgICAgKiBAdHlwZSB7Kn0KICAgICAgICAgKi8KICAgICAgICBsZXQgb3V0VmFsdWU7CiAgICAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgICAgICBjYXNlIE9iamVjdDoKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICBvdXRWYWx1ZSA9IEpTT04ucGFyc2UoLyoqIEB0eXBlIHtzdHJpbmd9ICovKHZhbHVlKSk7CiAgICAgICAgICAgIH0gY2F0Y2goeCkgewogICAgICAgICAgICAgIC8vIGFsbG93IG5vbi1KU09OIGxpdGVyYWxzIGxpa2UgU3RyaW5ncyBhbmQgTnVtYmVycwogICAgICAgICAgICAgIG91dFZhbHVlID0gdmFsdWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIEFycmF5OgogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgIG91dFZhbHVlID0gSlNPTi5wYXJzZSgvKiogQHR5cGUge3N0cmluZ30gKi8odmFsdWUpKTsKICAgICAgICAgICAgfSBjYXRjaCh4KSB7CiAgICAgICAgICAgICAgb3V0VmFsdWUgPSBudWxsOwogICAgICAgICAgICAgIGNvbnNvbGUud2FybihgUG9seW1lcjo6QXR0cmlidXRlczogY291bGRuJ3QgZGVjb2RlIEFycmF5IGFzIEpTT046ICR7dmFsdWV9YCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlIERhdGU6CiAgICAgICAgICAgIG91dFZhbHVlID0gaXNOYU4odmFsdWUpID8gU3RyaW5nKHZhbHVlKSA6IE51bWJlcih2YWx1ZSk7CiAgICAgICAgICAgIG91dFZhbHVlID0gbmV3IERhdGUob3V0VmFsdWUpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIG91dFZhbHVlID0gc3VwZXIuX2Rlc2VyaWFsaXplVmFsdWUodmFsdWUsIHR5cGUpOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG91dFZhbHVlOwogICAgICB9CiAgICAgIC8qIGVzbGludC1lbmFibGUgbm8tZmFsbHRocm91Z2ggKi8KCiAgICAgIC8qKgogICAgICAgKiBPdmVycmlkZXMgUHJvcGVydGllc0NoYW5nZWQgaW1wbGVtZW50YXRpb24gdG8gc2F2ZSBleGlzdGluZyBwcm90b3R5cGUKICAgICAgICogcHJvcGVydHkgdmFsdWUgc28gdGhhdCBpdCBjYW4gYmUgcmVzZXQuCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBOYW1lIG9mIHRoZSBwcm9wZXJ0eQogICAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSByZWFkT25seSBXaGVuIHRydWUsIG5vIHNldHRlciBpcyBjcmVhdGVkCiAgICAgICAqCiAgICAgICAqIFdoZW4gY2FsbGluZyBvbiBhIHByb3RvdHlwZSwgYW55IG92ZXJ3cml0dGVuIHZhbHVlcyBhcmUgc2F2ZWQgaW4KICAgICAgICogYF9fZGF0YVByb3RvYCwgYW5kIGl0IGlzIHVwIHRvIHRoZSBzdWJjbGFzc2VyIHRvIGRlY2lkZSBob3cvd2hlbgogICAgICAgKiB0byBzZXQgdGhvc2UgcHJvcGVydGllcyBiYWNrIGludG8gdGhlIGFjY2Vzc29yLiAgV2hlbiBjYWxsaW5nIG9uIGFuCiAgICAgICAqIGluc3RhbmNlLCB0aGUgb3ZlcndyaXR0ZW4gdmFsdWUgaXMgc2V0IHZpYSBgX3NldFBlbmRpbmdQcm9wZXJ0eWAsCiAgICAgICAqIGFuZCB0aGUgdXNlciBzaG91bGQgY2FsbCBgX2ludmFsaWRhdGVQcm9wZXJ0aWVzYCBvciBgX2ZsdXNoUHJvcGVydGllc2AKICAgICAgICogZm9yIHRoZSB2YWx1ZXMgdG8gdGFrZSBlZmZlY3QuCiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIF9kZWZpbmVQcm9wZXJ0eUFjY2Vzc29yKHByb3BlcnR5LCByZWFkT25seSkgewogICAgICAgIHNhdmVBY2Nlc3NvclZhbHVlKHRoaXMsIHByb3BlcnR5KTsKICAgICAgICBzdXBlci5fZGVmaW5lUHJvcGVydHlBY2Nlc3Nvcihwcm9wZXJ0eSwgcmVhZE9ubHkpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgbGlicmFyeSBjcmVhdGVkIGFuIGFjY2Vzc29yIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBQcm9wZXJ0eSBuYW1lCiAgICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYW4gYWNjZXNzb3Igd2FzIGNyZWF0ZWQKICAgICAgICovCiAgICAgIF9oYXNBY2Nlc3Nvcihwcm9wZXJ0eSkgewogICAgICAgIHJldHVybiB0aGlzLl9fZGF0YUhhc0FjY2Vzc29yICYmIHRoaXMuX19kYXRhSGFzQWNjZXNzb3JbcHJvcGVydHldOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBzcGVjaWZpZWQgcHJvcGVydHkgaGFzIGEgcGVuZGluZyBjaGFuZ2UuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wIFByb3BlcnR5IG5hbWUKICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBwcm9wZXJ0eSBoYXMgYSBwZW5kaW5nIGNoYW5nZQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfaXNQcm9wZXJ0eVBlbmRpbmcocHJvcCkgewogICAgICAgIHJldHVybiBCb29sZWFuKHRoaXMuX19kYXRhUGVuZGluZyAmJiAocHJvcCBpbiB0aGlzLl9fZGF0YVBlbmRpbmcpKTsKICAgICAgfQoKICAgIH0KCiAgICByZXR1cm4gUHJvcGVydHlBY2Nlc3NvcnM7CgogIH0pOwoKfSkoKTsKCgooZnVuY3Rpb24oKSB7CgogICd1c2Ugc3RyaWN0JzsKCiAgY29uc3Qgd2Fsa2VyID0gZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihkb2N1bWVudCwgTm9kZUZpbHRlci5TSE9XX0FMTCwKICAgICAgbnVsbCwgZmFsc2UpOwoKICAvLyAxLnggYmFja3dhcmRzLWNvbXBhdGlibGUgYXV0by13cmFwcGVyIGZvciB0ZW1wbGF0ZSB0eXBlIGV4dGVuc2lvbnMKICAvLyBUaGlzIGlzIGEgY2xlYXIgbGF5ZXJpbmcgdmlvbGF0aW9uIGFuZCBnaXZlcyBmYXZvcmVkLW5hdGlvbiBzdGF0dXMgdG8KICAvLyBkb20taWYgYW5kIGRvbS1yZXBlYXQgdGVtcGxhdGVzLiAgVGhpcyBpcyBhIGNvbmNlaXQgd2UncmUgY2hvb3NpbmcgdG8ga2VlcAogIC8vIGEuKSB0byBlYXNlIDEueCBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSBkdWUgdG8gbG9zcyBvZiBgaXNgLCBhbmQKICAvLyBiLikgdG8gbWFpbnRhaW4gaWYvcmVwZWF0IGNhcGFiaWxpdHkgaW4gcGFyc2VyLWNvbnN0cmFpbmVkIGVsZW1lbnRzCiAgLy8gICAgIChlLmcuIHRhYmxlLCBzZWxlY3QpIGluIGxpZXUgb2YgbmF0aXZlIENFIHR5cGUgZXh0ZW5zaW9ucyB3aXRob3V0CiAgLy8gICAgIG1hc3NpdmUgbmV3IGludmVudGlvbiBpbiB0aGlzIHNwYWNlIChlLmcuIGRpcmVjdGl2ZSBzeXN0ZW0pCiAgY29uc3QgdGVtcGxhdGVFeHRlbnNpb25zID0gewogICAgJ2RvbS1pZic6IHRydWUsCiAgICAnZG9tLXJlcGVhdCc6IHRydWUKICB9OwogIGZ1bmN0aW9uIHdyYXBUZW1wbGF0ZUV4dGVuc2lvbihub2RlKSB7CiAgICBsZXQgaXMgPSBub2RlLmdldEF0dHJpYnV0ZSgnaXMnKTsKICAgIGlmIChpcyAmJiB0ZW1wbGF0ZUV4dGVuc2lvbnNbaXNdKSB7CiAgICAgIGxldCB0ID0gbm9kZTsKICAgICAgdC5yZW1vdmVBdHRyaWJ1dGUoJ2lzJyk7CiAgICAgIG5vZGUgPSB0Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudChpcyk7CiAgICAgIHQucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQobm9kZSwgdCk7CiAgICAgIG5vZGUuYXBwZW5kQ2hpbGQodCk7CiAgICAgIHdoaWxlKHQuYXR0cmlidXRlcy5sZW5ndGgpIHsKICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSh0LmF0dHJpYnV0ZXNbMF0ubmFtZSwgdC5hdHRyaWJ1dGVzWzBdLnZhbHVlKTsKICAgICAgICB0LnJlbW92ZUF0dHJpYnV0ZSh0LmF0dHJpYnV0ZXNbMF0ubmFtZSk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBub2RlOwogIH0KCiAgZnVuY3Rpb24gZmluZFRlbXBsYXRlTm9kZShyb290LCBub2RlSW5mbykgewogICAgLy8gcmVjdXJzaXZlbHkgYXNjZW5kIHRyZWUgdW50aWwgd2UgaGl0IHJvb3QKICAgIGxldCBwYXJlbnQgPSBub2RlSW5mby5wYXJlbnRJbmZvICYmIGZpbmRUZW1wbGF0ZU5vZGUocm9vdCwgbm9kZUluZm8ucGFyZW50SW5mbyk7CiAgICAvLyB1bndpbmQgdGhlIHN0YWNrLCByZXR1cm5pbmcgdGhlIGluZGV4ZWQgbm9kZSBhdCBlYWNoIGxldmVsCiAgICBpZiAocGFyZW50KSB7CiAgICAgIC8vIG5vdGU6IG1hcmdpbmFsbHkgZmFzdGVyIHRoYW4gaW5kZXhpbmcgdmlhIGNoaWxkTm9kZXMKICAgICAgLy8gKGh0dHA6Ly9qc3BlcmYuY29tL2NoaWxkbm9kZXMtbG9va3VwKQogICAgICB3YWxrZXIuY3VycmVudE5vZGUgPSBwYXJlbnQ7CiAgICAgIGZvciAobGV0IG49d2Fsa2VyLmZpcnN0Q2hpbGQoKSwgaT0wOyBuOyBuPXdhbGtlci5uZXh0U2libGluZygpKSB7CiAgICAgICAgaWYgKG5vZGVJbmZvLnBhcmVudEluZGV4ID09PSBpKyspIHsKICAgICAgICAgIHJldHVybiBuOwogICAgICAgIH0KICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIHJvb3Q7CiAgICB9CiAgfQoKICAvLyBjb25zdHJ1Y3QgYCRgIG1hcCAoZnJvbSBpZCBhbm5vdGF0aW9ucykKICBmdW5jdGlvbiBhcHBseUlkVG9NYXAoaW5zdCwgbWFwLCBub2RlLCBub2RlSW5mbykgewogICAgaWYgKG5vZGVJbmZvLmlkKSB7CiAgICAgIG1hcFtub2RlSW5mby5pZF0gPSBub2RlOwogICAgfQogIH0KCiAgLy8gaW5zdGFsbCBldmVudCBsaXN0ZW5lcnMgKGZyb20gZXZlbnQgYW5ub3RhdGlvbnMpCiAgZnVuY3Rpb24gYXBwbHlFdmVudExpc3RlbmVyKGluc3QsIG5vZGUsIG5vZGVJbmZvKSB7CiAgICBpZiAobm9kZUluZm8uZXZlbnRzICYmIG5vZGVJbmZvLmV2ZW50cy5sZW5ndGgpIHsKICAgICAgZm9yIChsZXQgaj0wLCBlJD1ub2RlSW5mby5ldmVudHMsIGU7IChqPGUkLmxlbmd0aCkgJiYgKGU9ZSRbal0pOyBqKyspIHsKICAgICAgICBpbnN0Ll9hZGRNZXRob2RFdmVudExpc3RlbmVyVG9Ob2RlKG5vZGUsIGUubmFtZSwgZS52YWx1ZSwgaW5zdCk7CiAgICAgIH0KICAgIH0KICB9CgogIC8vIHB1c2ggY29uZmlndXJhdGlvbiByZWZlcmVuY2VzIGF0IGNvbmZpZ3VyZSB0aW1lCiAgZnVuY3Rpb24gYXBwbHlUZW1wbGF0ZUNvbnRlbnQoaW5zdCwgbm9kZSwgbm9kZUluZm8pIHsKICAgIGlmIChub2RlSW5mby50ZW1wbGF0ZUluZm8pIHsKICAgICAgbm9kZS5fdGVtcGxhdGVJbmZvID0gbm9kZUluZm8udGVtcGxhdGVJbmZvOwogICAgfQogIH0KCiAgZnVuY3Rpb24gY3JlYXRlTm9kZUV2ZW50SGFuZGxlcihjb250ZXh0LCBldmVudE5hbWUsIG1ldGhvZE5hbWUpIHsKICAgIC8vIEluc3RhbmNlcyBjYW4gb3B0aW9uYWxseSBoYXZlIGEgX21ldGhvZEhvc3Qgd2hpY2ggYWxsb3dzIHJlZGlyZWN0aW5nIHdoZXJlCiAgICAvLyB0byBmaW5kIG1ldGhvZHMuIEN1cnJlbnRseSB1c2VkIGJ5IGB0ZW1wbGF0aXplYC4KICAgIGNvbnRleHQgPSBjb250ZXh0Ll9tZXRob2RIb3N0IHx8IGNvbnRleHQ7CiAgICBsZXQgaGFuZGxlciA9IGZ1bmN0aW9uKGUpIHsKICAgICAgaWYgKGNvbnRleHRbbWV0aG9kTmFtZV0pIHsKICAgICAgICBjb250ZXh0W21ldGhvZE5hbWVdKGUsIGUuZGV0YWlsKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjb25zb2xlLndhcm4oJ2xpc3RlbmVyIG1ldGhvZCBgJyArIG1ldGhvZE5hbWUgKyAnYCBub3QgZGVmaW5lZCcpOwogICAgICB9CiAgICB9OwogICAgcmV0dXJuIGhhbmRsZXI7CiAgfQoKICAvKioKICAgKiBFbGVtZW50IG1peGluIHRoYXQgcHJvdmlkZXMgYmFzaWMgdGVtcGxhdGUgcGFyc2luZyBhbmQgc3RhbXBpbmcsIGluY2x1ZGluZwogICAqIHRoZSBmb2xsb3dpbmcgdGVtcGxhdGUtcmVsYXRlZCBmZWF0dXJlcyBmb3Igc3RhbXBlZCB0ZW1wbGF0ZXM6CiAgICoKICAgKiAtIERlY2xhcmF0aXZlIGV2ZW50IGxpc3RlbmVycyAoYG9uLWV2ZW50bmFtZT0ibGlzdGVuZXIiYCkKICAgKiAtIE1hcCBvZiBub2RlIGlkJ3MgdG8gc3RhbXBlZCBub2RlIGluc3RhbmNlcyAoYHRoaXMuJC5pZGApCiAgICogLSBOZXN0ZWQgdGVtcGxhdGUgY29udGVudCBjYWNoaW5nL3JlbW92YWwgYW5kIHJlLWluc3RhbGxhdGlvbiAocGVyZm9ybWFuY2UKICAgKiAgIG9wdGltaXphdGlvbikKICAgKgogICAqIEBtaXhpbkZ1bmN0aW9uCiAgICogQHBvbHltZXIKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBzdW1tYXJ5IEVsZW1lbnQgY2xhc3MgbWl4aW4gdGhhdCBwcm92aWRlcyBiYXNpYyB0ZW1wbGF0ZSBwYXJzaW5nIGFuZCBzdGFtcGluZwogICAqLwogIFBvbHltZXIuVGVtcGxhdGVTdGFtcCA9IFBvbHltZXIuZGVkdXBpbmdNaXhpbihzdXBlckNsYXNzID0+IHsKCiAgICAvKioKICAgICAqIEBwb2x5bWVyCiAgICAgKiBAbWl4aW5DbGFzcwogICAgICogQGltcGxlbWVudHMge1BvbHltZXJfVGVtcGxhdGVTdGFtcH0KICAgICAqLwogICAgY2xhc3MgVGVtcGxhdGVTdGFtcCBleHRlbmRzIHN1cGVyQ2xhc3MgewoKICAgICAgLyoqCiAgICAgICAqIFNjYW5zIGEgdGVtcGxhdGUgdG8gcHJvZHVjZSB0ZW1wbGF0ZSBtZXRhZGF0YS4KICAgICAgICoKICAgICAgICogVGVtcGxhdGUtc3BlY2lmaWMgbWV0YWRhdGEgYXJlIHN0b3JlZCBpbiB0aGUgb2JqZWN0IHJldHVybmVkLCBhbmQgbm9kZS0KICAgICAgICogc3BlY2lmaWMgbWV0YWRhdGEgYXJlIHN0b3JlZCBpbiBvYmplY3RzIGluIGl0cyBmbGF0dGVuZWQgYG5vZGVJbmZvTGlzdGAKICAgICAgICogYXJyYXkuICBPbmx5IG5vZGVzIGluIHRoZSB0ZW1wbGF0ZSB0aGF0IHdlcmUgcGFyc2VkIGFzIG5vZGVzIG9mCiAgICAgICAqIGludGVyZXN0IGNvbnRhaW4gYW4gb2JqZWN0IGluIGBub2RlSW5mb0xpc3RgLiAgRWFjaCBgbm9kZUluZm9gIG9iamVjdAogICAgICAgKiBjb250YWlucyBhbiBgaW5kZXhgIChgY2hpbGROb2Rlc2AgaW5kZXggaW4gcGFyZW50KSBhbmQgb3B0aW9uYWxseQogICAgICAgKiBgcGFyZW50YCwgd2hpY2ggcG9pbnRzIHRvIG5vZGUgaW5mbyBvZiBpdHMgcGFyZW50IChpbmNsdWRpbmcgaXRzIGluZGV4KS4KICAgICAgICoKICAgICAgICogVGhlIHRlbXBsYXRlIG1ldGFkYXRhIG9iamVjdCByZXR1cm5lZCBmcm9tIHRoaXMgbWV0aG9kIGhhcyB0aGUgZm9sbG93aW5nCiAgICAgICAqIHN0cnVjdHVyZSAobWFueSBmaWVsZHMgb3B0aW9uYWwpOgogICAgICAgKgogICAgICAgKiBgYGBqcwogICAgICAgKiAgIHsKICAgICAgICogICAgIC8vIEZsYXR0ZW5lZCBsaXN0IG9mIG5vZGUgbWV0YWRhdGEgKGZvciBub2RlcyB0aGF0IGdlbmVyYXRlZCBtZXRhZGF0YSkKICAgICAgICogICAgIG5vZGVJbmZvTGlzdDogWwogICAgICAgKiAgICAgICB7CiAgICAgICAqICAgICAgICAgLy8gYGlkYCBhdHRyaWJ1dGUgZm9yIGFueSBub2RlcyB3aXRoIGlkJ3MgZm9yIGdlbmVyYXRpbmcgYCRgIG1hcAogICAgICAgKiAgICAgICAgIGlkOiB7c3RyaW5nfSwKICAgICAgICogICAgICAgICAvLyBgb24tZXZlbnQ9ImhhbmRsZXIiYCBtZXRhZGF0YQogICAgICAgKiAgICAgICAgIGV2ZW50czogWwogICAgICAgKiAgICAgICAgICAgewogICAgICAgKiAgICAgICAgICAgICBuYW1lOiB7c3RyaW5nfSwgICAvLyBldmVudCBuYW1lCiAgICAgICAqICAgICAgICAgICAgIHZhbHVlOiB7c3RyaW5nfSwgIC8vIGhhbmRsZXIgbWV0aG9kIG5hbWUKICAgICAgICogICAgICAgICAgIH0sIC4uLgogICAgICAgKiAgICAgICAgIF0sCiAgICAgICAqICAgICAgICAgLy8gTm90ZXMgd2hlbiB0aGUgdGVtcGxhdGUgY29udGFpbmVkIGEgYDxzbG90PmAgZm9yIHNoYWR5IERPTQogICAgICAgKiAgICAgICAgIC8vIG9wdGltaXphdGlvbiBwdXJwb3NlcwogICAgICAgKiAgICAgICAgIGhhc0luc2VydGlvblBvaW50OiB7Ym9vbGVhbn0sCiAgICAgICAqICAgICAgICAgLy8gRm9yIG5lc3RlZCBgPHRlbXBsYXRlPmBgIG5vZGVzLCBuZXN0ZWQgdGVtcGxhdGUgbWV0YWRhdGEKICAgICAgICogICAgICAgICB0ZW1wbGF0ZUluZm86IHtvYmplY3R9LCAvLyBuZXN0ZWQgdGVtcGxhdGUgbWV0YWRhdGEKICAgICAgICogICAgICAgICAvLyBNZXRhZGF0YSB0byBhbGxvdyBlZmZpY2llbnQgcmV0cmlldmFsIG9mIGluc3RhbmNlZCBub2RlCiAgICAgICAqICAgICAgICAgLy8gY29ycmVzcG9uZGluZyB0byB0aGlzIG1ldGFkYXRhCiAgICAgICAqICAgICAgICAgcGFyZW50SW5mbzoge251bWJlcn0sICAgLy8gcmVmZXJlbmNlIHRvIHBhcmVudCBub2RlSW5mbz4KICAgICAgICogICAgICAgICBwYXJlbnRJbmRleDoge251bWJlcn0sICAvLyBpbmRleCBpbiBwYXJlbnQncyBgY2hpbGROb2Rlc2AgY29sbGVjdGlvbgogICAgICAgKiAgICAgICAgIGluZm9JbmRleDoge251bWJlcn0sICAgIC8vIGluZGV4IG9mIHRoaXMgYG5vZGVJbmZvYCBpbiBgdGVtcGxhdGVJbmZvLm5vZGVJbmZvTGlzdGAKICAgICAgICogICAgICAgfSwKICAgICAgICogICAgICAgLi4uCiAgICAgICAqICAgICBdLAogICAgICAgKiAgICAgLy8gV2hlbiB0cnVlLCB0aGUgdGVtcGxhdGUgaGFkIHRoZSBgc3RyaXAtd2hpdGVzcGFjZWAgYXR0cmlidXRlCiAgICAgICAqICAgICAvLyBvciB3YXMgbmVzdGVkIGluIGEgdGVtcGxhdGUgd2l0aCB0aGF0IHNldHRpbmcKICAgICAgICogICAgIHN0cmlwV2hpdGVzcGFjZToge2Jvb2xlYW59LAogICAgICAgKiAgICAgLy8gRm9yIG5lc3RlZCB0ZW1wbGF0ZXMsIG5lc3RlZCB0ZW1wbGF0ZSBjb250ZW50IGlzIG1vdmVkIGludG8KICAgICAgICogICAgIC8vIGEgZG9jdW1lbnQgZnJhZ21lbnQgc3RvcmVkIGhlcmU7IHRoaXMgaXMgYW4gb3B0aW1pemF0aW9uIHRvCiAgICAgICAqICAgICAvLyBhdm9pZCB0aGUgY29zdCBvZiBuZXN0ZWQgdGVtcGxhdGUgY2xvbmluZwogICAgICAgKiAgICAgY29udGVudDoge0RvY3VtZW50RnJhZ21lbnR9CiAgICAgICAqICAgfQogICAgICAgKiBgYGAKICAgICAgICoKICAgICAgICogVGhpcyBtZXRob2Qga2lja3Mgb2ZmIGEgcmVjdXJzaXZlIHRyZWV3YWxrIGFzIGZvbGxvd3M6CiAgICAgICAqCiAgICAgICAqIGBgYAogICAgICAgKiAgICBfcGFyc2VUZW1wbGF0ZSA8LS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgICAgKiAgICAgIF9wYXJzZVRlbXBsYXRlQ29udGVudCAgICAgICAgICAgICAgfAogICAgICAgKiAgICAgICAgX3BhcnNlVGVtcGxhdGVOb2RlICA8LS0tLS0tLS0tLS0tfC0tKwogICAgICAgKiAgICAgICAgICBfcGFyc2VUZW1wbGF0ZU5lc3RlZFRlbXBsYXRlIC0tKyAgfAogICAgICAgKiAgICAgICAgICBfcGFyc2VUZW1wbGF0ZUNoaWxkTm9kZXMgLS0tLS0tLS0tKwogICAgICAgKiAgICAgICAgICBfcGFyc2VUZW1wbGF0ZU5vZGVBdHRyaWJ1dGVzCiAgICAgICAqICAgICAgICAgICAgX3BhcnNlVGVtcGxhdGVOb2RlQXR0cmlidXRlCiAgICAgICAqCiAgICAgICAqIGBgYAogICAgICAgKgogICAgICAgKiBUaGVzZSBtZXRob2RzIG1heSBiZSBvdmVycmlkZGVuIHRvIGFkZCBjdXN0b20gbWV0YWRhdGEgYWJvdXQgdGVtcGxhdGVzCiAgICAgICAqIHRvIGVpdGhlciBgdGVtcGxhdGVJbmZvYCBvciBgbm9kZUluZm9gLgogICAgICAgKgogICAgICAgKiBOb3RlIHRoYXQgdGhpcyBtZXRob2QgbWF5IGJlIGRlc3RydWN0aXZlIHRvIHRoZSB0ZW1wbGF0ZSwgaW4gdGhhdAogICAgICAgKiBlLmcuIGV2ZW50IGFubm90YXRpb25zIG1heSBiZSByZW1vdmVkIGFmdGVyIGJlaW5nIG5vdGVkIGluIHRoZQogICAgICAgKiB0ZW1wbGF0ZSBtZXRhZGF0YS4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshSFRNTFRlbXBsYXRlRWxlbWVudH0gdGVtcGxhdGUgVGVtcGxhdGUgdG8gcGFyc2UKICAgICAgICogQHBhcmFtIHtUZW1wbGF0ZUluZm89fSBvdXRlclRlbXBsYXRlSW5mbyBUZW1wbGF0ZSBtZXRhZGF0YSBmcm9tIHRoZSBvdXRlcgogICAgICAgKiAgIHRlbXBsYXRlLCBmb3IgcGFyc2luZyBuZXN0ZWQgdGVtcGxhdGVzCiAgICAgICAqIEByZXR1cm4geyFUZW1wbGF0ZUluZm99IFBhcnNlZCB0ZW1wbGF0ZSBtZXRhZGF0YQogICAgICAgKi8KICAgICAgc3RhdGljIF9wYXJzZVRlbXBsYXRlKHRlbXBsYXRlLCBvdXRlclRlbXBsYXRlSW5mbykgewogICAgICAgIC8vIHNpbmNlIGEgdGVtcGxhdGUgbWF5IGJlIHJlLXVzZWQsIG1lbW8taXplIG1ldGFkYXRhCiAgICAgICAgaWYgKCF0ZW1wbGF0ZS5fdGVtcGxhdGVJbmZvKSB7CiAgICAgICAgICBsZXQgdGVtcGxhdGVJbmZvID0gdGVtcGxhdGUuX3RlbXBsYXRlSW5mbyA9IHt9OwogICAgICAgICAgdGVtcGxhdGVJbmZvLm5vZGVJbmZvTGlzdCA9IFtdOwogICAgICAgICAgdGVtcGxhdGVJbmZvLnN0cmlwV2hpdGVTcGFjZSA9IFBvbHltZXIubGVnYWN5T3B0aW1pemF0aW9ucyB8fAogICAgICAgICAgICAob3V0ZXJUZW1wbGF0ZUluZm8gJiYgb3V0ZXJUZW1wbGF0ZUluZm8uc3RyaXBXaGl0ZVNwYWNlKSB8fAogICAgICAgICAgICB0ZW1wbGF0ZS5oYXNBdHRyaWJ1dGUoJ3N0cmlwLXdoaXRlc3BhY2UnKTsKICAgICAgICAgIHRoaXMuX3BhcnNlVGVtcGxhdGVDb250ZW50KHRlbXBsYXRlLCB0ZW1wbGF0ZUluZm8sIHtwYXJlbnQ6IG51bGx9KTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRlbXBsYXRlLl90ZW1wbGF0ZUluZm87CiAgICAgIH0KCiAgICAgIHN0YXRpYyBfcGFyc2VUZW1wbGF0ZUNvbnRlbnQodGVtcGxhdGUsIHRlbXBsYXRlSW5mbywgbm9kZUluZm8pIHsKICAgICAgICByZXR1cm4gdGhpcy5fcGFyc2VUZW1wbGF0ZU5vZGUodGVtcGxhdGUuY29udGVudCwgdGVtcGxhdGVJbmZvLCBub2RlSW5mbyk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBQYXJzZXMgdGVtcGxhdGUgbm9kZSBhbmQgYWRkcyB0ZW1wbGF0ZSBhbmQgbm9kZSBtZXRhZGF0YSBiYXNlZCBvbgogICAgICAgKiB0aGUgY3VycmVudCBub2RlLCBhbmQgaXRzIGBjaGlsZE5vZGVzYCBhbmQgYGF0dHJpYnV0ZXNgLgogICAgICAgKgogICAgICAgKiBUaGlzIG1ldGhvZCBtYXkgYmUgb3ZlcnJpZGRlbiB0byBhZGQgY3VzdG9tIG5vZGUgb3IgdGVtcGxhdGUgc3BlY2lmaWMKICAgICAgICogbWV0YWRhdGEgYmFzZWQgb24gdGhpcyBub2RlLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge05vZGV9IG5vZGUgTm9kZSB0byBwYXJzZQogICAgICAgKiBAcGFyYW0geyFUZW1wbGF0ZUluZm99IHRlbXBsYXRlSW5mbyBUZW1wbGF0ZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZQogICAgICAgKiBAcGFyYW0geyFOb2RlSW5mb30gbm9kZUluZm8gTm9kZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZS4KICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gYHRydWVgIGlmIHRoZSB2aXNpdGVkIG5vZGUgYWRkZWQgbm9kZS1zcGVjaWZpYwogICAgICAgKiAgIG1ldGFkYXRhIHRvIGBub2RlSW5mb2AKICAgICAgICovCiAgICAgIHN0YXRpYyBfcGFyc2VUZW1wbGF0ZU5vZGUobm9kZSwgdGVtcGxhdGVJbmZvLCBub2RlSW5mbykgewogICAgICAgIGxldCBub3RlZDsKICAgICAgICBsZXQgZWxlbWVudCA9IC8qKiBAdHlwZSB7RWxlbWVudH0gKi8obm9kZSk7CiAgICAgICAgaWYgKGVsZW1lbnQubG9jYWxOYW1lID09ICd0ZW1wbGF0ZScgJiYgIWVsZW1lbnQuaGFzQXR0cmlidXRlKCdwcmVzZXJ2ZS1jb250ZW50JykpIHsKICAgICAgICAgIG5vdGVkID0gdGhpcy5fcGFyc2VUZW1wbGF0ZU5lc3RlZFRlbXBsYXRlKGVsZW1lbnQsIHRlbXBsYXRlSW5mbywgbm9kZUluZm8pIHx8IG5vdGVkOwogICAgICAgIH0gZWxzZSBpZiAoZWxlbWVudC5sb2NhbE5hbWUgPT09ICdzbG90JykgewogICAgICAgICAgLy8gRm9yIFNoYWR5RG9tIG9wdGltaXphdGlvbiwgaW5kaWNhdGluZyB0aGVyZSBpcyBhbiBpbnNlcnRpb24gcG9pbnQKICAgICAgICAgIHRlbXBsYXRlSW5mby5oYXNJbnNlcnRpb25Qb2ludCA9IHRydWU7CiAgICAgICAgfQogICAgICAgIHdhbGtlci5jdXJyZW50Tm9kZSA9IGVsZW1lbnQ7CiAgICAgICAgaWYgKHdhbGtlci5maXJzdENoaWxkKCkpIHsKICAgICAgICAgIG5vdGVkID0gdGhpcy5fcGFyc2VUZW1wbGF0ZUNoaWxkTm9kZXMoZWxlbWVudCwgdGVtcGxhdGVJbmZvLCBub2RlSW5mbykgfHwgbm90ZWQ7CiAgICAgICAgfQogICAgICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZXMgJiYgZWxlbWVudC5oYXNBdHRyaWJ1dGVzKCkpIHsKICAgICAgICAgIG5vdGVkID0gdGhpcy5fcGFyc2VUZW1wbGF0ZU5vZGVBdHRyaWJ1dGVzKGVsZW1lbnQsIHRlbXBsYXRlSW5mbywgbm9kZUluZm8pIHx8IG5vdGVkOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbm90ZWQ7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBQYXJzZXMgdGVtcGxhdGUgY2hpbGQgbm9kZXMgZm9yIHRoZSBnaXZlbiByb290IG5vZGUuCiAgICAgICAqCiAgICAgICAqIFRoaXMgbWV0aG9kIGFsc28gd3JhcHMgd2hpdGVsaXN0ZWQgbGVnYWN5IHRlbXBsYXRlIGV4dGVuc2lvbnMKICAgICAgICogKGBpcz0iZG9tLWlmImAgYW5kIGBpcz0iZG9tLXJlcGVhdCJgKSB3aXRoIHRoZWlyIGVxdWl2YWxlbnQgZWxlbWVudAogICAgICAgKiB3cmFwcGVycywgY29sbGFwc2VzIHRleHQgbm9kZXMsIGFuZCBzdHJpcHMgd2hpdGVzcGFjZSBmcm9tIHRoZSB0ZW1wbGF0ZQogICAgICAgKiBpZiB0aGUgYHRlbXBsYXRlSW5mby5zdHJpcFdoaXRlc3BhY2VgIHNldHRpbmcgd2FzIHByb3ZpZGVkLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge05vZGV9IHJvb3QgUm9vdCBub2RlIHdob3NlIGBjaGlsZE5vZGVzYCB3aWxsIGJlIHBhcnNlZAogICAgICAgKiBAcGFyYW0geyFUZW1wbGF0ZUluZm99IHRlbXBsYXRlSW5mbyBUZW1wbGF0ZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZQogICAgICAgKiBAcGFyYW0geyFOb2RlSW5mb30gbm9kZUluZm8gTm9kZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZS4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIHN0YXRpYyBfcGFyc2VUZW1wbGF0ZUNoaWxkTm9kZXMocm9vdCwgdGVtcGxhdGVJbmZvLCBub2RlSW5mbykgewogICAgICAgIGlmIChyb290LmxvY2FsTmFtZSA9PT0gJ3NjcmlwdCcgfHwgcm9vdC5sb2NhbE5hbWUgPT09ICdzdHlsZScpIHsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgd2Fsa2VyLmN1cnJlbnROb2RlID0gcm9vdDsKICAgICAgICBmb3IgKGxldCBub2RlPXdhbGtlci5maXJzdENoaWxkKCksIHBhcmVudEluZGV4PTAsIG5leHQ7IG5vZGU7IG5vZGU9bmV4dCkgewogICAgICAgICAgLy8gV3JhcCB0ZW1wbGF0ZXMKICAgICAgICAgIGlmIChub2RlLmxvY2FsTmFtZSA9PSAndGVtcGxhdGUnKSB7CiAgICAgICAgICAgIG5vZGUgPSB3cmFwVGVtcGxhdGVFeHRlbnNpb24obm9kZSk7CiAgICAgICAgICB9CiAgICAgICAgICAvLyBjb2xsYXBzZSBhZGphY2VudCB0ZXh0Tm9kZXM6IGZpeGVzIGFuIElFIGlzc3VlIHRoYXQgY2FuIGNhdXNlCiAgICAgICAgICAvLyB0ZXh0IG5vZGVzIHRvIGJlIGluZXhwbGljYWJseSBzcGxpdCA9KAogICAgICAgICAgLy8gbm90ZSB0aGF0IHJvb3Qubm9ybWFsaXplKCkgc2hvdWxkIHdvcmsgYnV0IGRvZXMgbm90IHNvIHdlIGRvIHRoaXMKICAgICAgICAgIC8vIG1hbnVhbGx5LgogICAgICAgICAgd2Fsa2VyLmN1cnJlbnROb2RlID0gbm9kZTsKICAgICAgICAgIG5leHQgPSB3YWxrZXIubmV4dFNpYmxpbmcoKTsKICAgICAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkgewogICAgICAgICAgICBsZXQgLyoqIE5vZGUgKi8gbiA9IG5leHQ7CiAgICAgICAgICAgIHdoaWxlIChuICYmIChuLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkpIHsKICAgICAgICAgICAgICBub2RlLnRleHRDb250ZW50ICs9IG4udGV4dENvbnRlbnQ7CiAgICAgICAgICAgICAgbmV4dCA9IHdhbGtlci5uZXh0U2libGluZygpOwogICAgICAgICAgICAgIHJvb3QucmVtb3ZlQ2hpbGQobik7CiAgICAgICAgICAgICAgbiA9IG5leHQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gb3B0aW9uYWxseSBzdHJpcCB3aGl0ZXNwYWNlCiAgICAgICAgICAgIGlmICh0ZW1wbGF0ZUluZm8uc3RyaXBXaGl0ZVNwYWNlICYmICFub2RlLnRleHRDb250ZW50LnRyaW0oKSkgewogICAgICAgICAgICAgIHJvb3QucmVtb3ZlQ2hpbGQobm9kZSk7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGxldCBjaGlsZEluZm8gPSB7IHBhcmVudEluZGV4LCBwYXJlbnRJbmZvOiBub2RlSW5mbyB9OwogICAgICAgICAgaWYgKHRoaXMuX3BhcnNlVGVtcGxhdGVOb2RlKG5vZGUsIHRlbXBsYXRlSW5mbywgY2hpbGRJbmZvKSkgewogICAgICAgICAgICBjaGlsZEluZm8uaW5mb0luZGV4ID0gdGVtcGxhdGVJbmZvLm5vZGVJbmZvTGlzdC5wdXNoKC8qKiBAdHlwZSB7IU5vZGVJbmZvfSAqLyhjaGlsZEluZm8pKSAtIDE7CiAgICAgICAgICB9CiAgICAgICAgICAvLyBJbmNyZW1lbnQgaWYgbm90IHJlbW92ZWQKICAgICAgICAgIHdhbGtlci5jdXJyZW50Tm9kZSA9IG5vZGU7CiAgICAgICAgICBpZiAod2Fsa2VyLnBhcmVudE5vZGUoKSkgewogICAgICAgICAgICBwYXJlbnRJbmRleCsrOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFBhcnNlcyB0ZW1wbGF0ZSBjb250ZW50IGZvciB0aGUgZ2l2ZW4gbmVzdGVkIGA8dGVtcGxhdGU+YC4KICAgICAgICoKICAgICAgICogTmVzdGVkIHRlbXBsYXRlIGluZm8gaXMgc3RvcmVkIGFzIGB0ZW1wbGF0ZUluZm9gIGluIHRoZSBjdXJyZW50IG5vZGUncwogICAgICAgKiBgbm9kZUluZm9gLiBgdGVtcGxhdGUuY29udGVudGAgaXMgcmVtb3ZlZCBhbmQgc3RvcmVkIGluIGB0ZW1wbGF0ZUluZm9gLgogICAgICAgKiBJdCB3aWxsIHRoZW4gYmUgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBob3N0IHRvIHNldCBpdCBiYWNrIHRvIHRoZQogICAgICAgKiB0ZW1wbGF0ZSBhbmQgZm9yIHVzZXJzIHN0YW1waW5nIG5lc3RlZCB0ZW1wbGF0ZXMgdG8gdXNlIHRoZQogICAgICAgKiBgX2NvbnRlbnRGb3JUZW1wbGF0ZWAgbWV0aG9kIHRvIHJldHJpZXZlIHRoZSBjb250ZW50IGZvciB0aGlzIHRlbXBsYXRlCiAgICAgICAqIChhbiBvcHRpbWl6YXRpb24gdG8gYXZvaWQgdGhlIGNvc3Qgb2YgY2xvbmluZyBuZXN0ZWQgdGVtcGxhdGUgY29udGVudCkuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7SFRNTFRlbXBsYXRlRWxlbWVudH0gbm9kZSBOb2RlIHRvIHBhcnNlIChhIDx0ZW1wbGF0ZT4pCiAgICAgICAqIEBwYXJhbSB7VGVtcGxhdGVJbmZvfSBvdXRlclRlbXBsYXRlSW5mbyBUZW1wbGF0ZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZQogICAgICAgKiAgIHRoYXQgaW5jbHVkZXMgdGhlIHRlbXBsYXRlIGBub2RlYAogICAgICAgKiBAcGFyYW0geyFOb2RlSW5mb30gbm9kZUluZm8gTm9kZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZS4KICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gYHRydWVgIGlmIHRoZSB2aXNpdGVkIG5vZGUgYWRkZWQgbm9kZS1zcGVjaWZpYwogICAgICAgKiAgIG1ldGFkYXRhIHRvIGBub2RlSW5mb2AKICAgICAgICovCiAgICAgIHN0YXRpYyBfcGFyc2VUZW1wbGF0ZU5lc3RlZFRlbXBsYXRlKG5vZGUsIG91dGVyVGVtcGxhdGVJbmZvLCBub2RlSW5mbykgewogICAgICAgIGxldCB0ZW1wbGF0ZUluZm8gPSB0aGlzLl9wYXJzZVRlbXBsYXRlKG5vZGUsIG91dGVyVGVtcGxhdGVJbmZvKTsKICAgICAgICBsZXQgY29udGVudCA9IHRlbXBsYXRlSW5mby5jb250ZW50ID0KICAgICAgICAgIG5vZGUuY29udGVudC5vd25lckRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKICAgICAgICBjb250ZW50LmFwcGVuZENoaWxkKG5vZGUuY29udGVudCk7CiAgICAgICAgbm9kZUluZm8udGVtcGxhdGVJbmZvID0gdGVtcGxhdGVJbmZvOwogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUGFyc2VzIHRlbXBsYXRlIG5vZGUgYXR0cmlidXRlcyBhbmQgYWRkcyBub2RlIG1ldGFkYXRhIHRvIGBub2RlSW5mb2AKICAgICAgICogZm9yIG5vZGVzIG9mIGludGVyZXN0LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge0VsZW1lbnR9IG5vZGUgTm9kZSB0byBwYXJzZQogICAgICAgKiBAcGFyYW0ge1RlbXBsYXRlSW5mb30gdGVtcGxhdGVJbmZvIFRlbXBsYXRlIG1ldGFkYXRhIGZvciBjdXJyZW50IHRlbXBsYXRlCiAgICAgICAqIEBwYXJhbSB7Tm9kZUluZm99IG5vZGVJbmZvIE5vZGUgbWV0YWRhdGEgZm9yIGN1cnJlbnQgdGVtcGxhdGUuCiAgICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IGB0cnVlYCBpZiB0aGUgdmlzaXRlZCBub2RlIGFkZGVkIG5vZGUtc3BlY2lmaWMKICAgICAgICogICBtZXRhZGF0YSB0byBgbm9kZUluZm9gCiAgICAgICAqLwogICAgICBzdGF0aWMgX3BhcnNlVGVtcGxhdGVOb2RlQXR0cmlidXRlcyhub2RlLCB0ZW1wbGF0ZUluZm8sIG5vZGVJbmZvKSB7CiAgICAgICAgLy8gTWFrZSBjb3B5IG9mIG9yaWdpbmFsIGF0dHJpYnV0ZSBsaXN0LCBzaW5jZSB0aGUgb3JkZXIgbWF5IGNoYW5nZQogICAgICAgIC8vIGFzIGF0dHJpYnV0ZXMgYXJlIGFkZGVkIGFuZCByZW1vdmVkCiAgICAgICAgbGV0IG5vdGVkID0gZmFsc2U7CiAgICAgICAgbGV0IGF0dHJzID0gQXJyYXkuZnJvbShub2RlLmF0dHJpYnV0ZXMpOwogICAgICAgIGZvciAobGV0IGk9YXR0cnMubGVuZ3RoLTEsIGE7IChhPWF0dHJzW2ldKTsgaS0tKSB7CiAgICAgICAgICBub3RlZCA9IHRoaXMuX3BhcnNlVGVtcGxhdGVOb2RlQXR0cmlidXRlKG5vZGUsIHRlbXBsYXRlSW5mbywgbm9kZUluZm8sIGEubmFtZSwgYS52YWx1ZSkgfHwgbm90ZWQ7CiAgICAgICAgfQogICAgICAgIHJldHVybiBub3RlZDsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFBhcnNlcyBhIHNpbmdsZSB0ZW1wbGF0ZSBub2RlIGF0dHJpYnV0ZSBhbmQgYWRkcyBub2RlIG1ldGFkYXRhIHRvCiAgICAgICAqIGBub2RlSW5mb2AgZm9yIGF0dHJpYnV0ZXMgb2YgaW50ZXJlc3QuCiAgICAgICAqCiAgICAgICAqIFRoaXMgaW1wbGVtZW50YXRpb24gYWRkcyBtZXRhZGF0YSBmb3IgYG9uLWV2ZW50PSJoYW5kbGVyImAgYXR0cmlidXRlcwogICAgICAgKiBhbmQgYGlkYCBhdHRyaWJ1dGVzLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge0VsZW1lbnR9IG5vZGUgTm9kZSB0byBwYXJzZQogICAgICAgKiBAcGFyYW0geyFUZW1wbGF0ZUluZm99IHRlbXBsYXRlSW5mbyBUZW1wbGF0ZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZQogICAgICAgKiBAcGFyYW0geyFOb2RlSW5mb30gbm9kZUluZm8gTm9kZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZS4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgQXR0cmlidXRlIG5hbWUKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIEF0dHJpYnV0ZSB2YWx1ZQogICAgICAgKiBAcmV0dXJuIHtib29sZWFufSBgdHJ1ZWAgaWYgdGhlIHZpc2l0ZWQgbm9kZSBhZGRlZCBub2RlLXNwZWNpZmljCiAgICAgICAqICAgbWV0YWRhdGEgdG8gYG5vZGVJbmZvYAogICAgICAgKi8KICAgICAgc3RhdGljIF9wYXJzZVRlbXBsYXRlTm9kZUF0dHJpYnV0ZShub2RlLCB0ZW1wbGF0ZUluZm8sIG5vZGVJbmZvLCBuYW1lLCB2YWx1ZSkgewogICAgICAgIC8vIGV2ZW50cyAob24tKikKICAgICAgICBpZiAobmFtZS5zbGljZSgwLCAzKSA9PT0gJ29uLScpIHsKICAgICAgICAgIG5vZGUucmVtb3ZlQXR0cmlidXRlKG5hbWUpOwogICAgICAgICAgbm9kZUluZm8uZXZlbnRzID0gbm9kZUluZm8uZXZlbnRzIHx8IFtdOwogICAgICAgICAgbm9kZUluZm8uZXZlbnRzLnB1c2goewogICAgICAgICAgICBuYW1lOiBuYW1lLnNsaWNlKDMpLAogICAgICAgICAgICB2YWx1ZQogICAgICAgICAgfSk7CiAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgLy8gc3RhdGljIGlkCiAgICAgICAgZWxzZSBpZiAobmFtZSA9PT0gJ2lkJykgewogICAgICAgICAgbm9kZUluZm8uaWQgPSB2YWx1ZTsKICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBSZXR1cm5zIHRoZSBgY29udGVudGAgZG9jdW1lbnQgZnJhZ21lbnQgZm9yIGEgZ2l2ZW4gdGVtcGxhdGUuCiAgICAgICAqCiAgICAgICAqIEZvciBuZXN0ZWQgdGVtcGxhdGVzLCBQb2x5bWVyIHBlcmZvcm1zIGFuIG9wdGltaXphdGlvbiB0byBjYWNoZSBuZXN0ZWQKICAgICAgICogdGVtcGxhdGUgY29udGVudCB0byBhdm9pZCB0aGUgY29zdCBvZiBjbG9uaW5nIGRlZXBseSBuZXN0ZWQgdGVtcGxhdGVzLgogICAgICAgKiBUaGlzIG1ldGhvZCByZXRyaWV2ZXMgdGhlIGNhY2hlZCBjb250ZW50IGZvciBhIGdpdmVuIHRlbXBsYXRlLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge0hUTUxUZW1wbGF0ZUVsZW1lbnR9IHRlbXBsYXRlIFRlbXBsYXRlIHRvIHJldHJpZXZlIGBjb250ZW50YCBmb3IKICAgICAgICogQHJldHVybiB7RG9jdW1lbnRGcmFnbWVudH0gQ29udGVudCBmcmFnbWVudAogICAgICAgKi8KICAgICAgc3RhdGljIF9jb250ZW50Rm9yVGVtcGxhdGUodGVtcGxhdGUpIHsKICAgICAgICBsZXQgdGVtcGxhdGVJbmZvID0gLyoqIEB0eXBlIHtIVE1MVGVtcGxhdGVFbGVtZW50V2l0aEluZm99ICovICh0ZW1wbGF0ZSkuX3RlbXBsYXRlSW5mbzsKICAgICAgICByZXR1cm4gKHRlbXBsYXRlSW5mbyAmJiB0ZW1wbGF0ZUluZm8uY29udGVudCkgfHwgdGVtcGxhdGUuY29udGVudDsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENsb25lcyB0aGUgcHJvdmlkZWQgdGVtcGxhdGUgY29udGVudCBhbmQgcmV0dXJucyBhIGRvY3VtZW50IGZyYWdtZW50CiAgICAgICAqIGNvbnRhaW5pbmcgdGhlIGNsb25lZCBkb20uCiAgICAgICAqCiAgICAgICAqIFRoZSB0ZW1wbGF0ZSBpcyBwYXJzZWQgKG9uY2UgYW5kIG1lbW9pemVkKSB1c2luZyB0aGlzIGxpYnJhcnkncwogICAgICAgKiB0ZW1wbGF0ZSBwYXJzaW5nIGZlYXR1cmVzLCBhbmQgcHJvdmlkZXMgdGhlIGZvbGxvd2luZyB2YWx1ZS1hZGRlZAogICAgICAgKiBmZWF0dXJlczoKICAgICAgICogKiBBZGRzIGRlY2xhcmF0aXZlIGV2ZW50IGxpc3RlbmVycyBmb3IgYG9uLWV2ZW50PSJoYW5kbGVyImAgYXR0cmlidXRlcwogICAgICAgKiAqIEdlbmVyYXRlcyBhbiAiaWQgbWFwIiBmb3IgYWxsIG5vZGVzIHdpdGggaWQncyB1bmRlciBgJGAgb24gcmV0dXJuZWQKICAgICAgICogICBkb2N1bWVudCBmcmFnbWVudAogICAgICAgKiAqIFBhc3NlcyB0ZW1wbGF0ZSBpbmZvIGluY2x1ZGluZyBgY29udGVudGAgYmFjayB0byB0ZW1wbGF0ZXMgYXMKICAgICAgICogICBgX3RlbXBsYXRlSW5mb2AgKGEgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uIHRvIGF2b2lkIGRlZXAgdGVtcGxhdGUKICAgICAgICogICBjbG9uaW5nKQogICAgICAgKgogICAgICAgKiBOb3RlIHRoYXQgdGhlIG1lbW9pemVkIHRlbXBsYXRlIHBhcnNpbmcgcHJvY2VzcyBpcyBkZXN0cnVjdGl2ZSB0byB0aGUKICAgICAgICogdGVtcGxhdGU6IGF0dHJpYnV0ZXMgZm9yIGJpbmRpbmdzIGFuZCBkZWNsYXJhdGl2ZSBldmVudCBsaXN0ZW5lcnMgYXJlCiAgICAgICAqIHJlbW92ZWQgYWZ0ZXIgYmVpbmcgbm90ZWQgaW4gbm90ZXMsIGFuZCBhbnkgbmVzdGVkIGA8dGVtcGxhdGU+LmNvbnRlbnRgCiAgICAgICAqIGlzIHJlbW92ZWQgYW5kIHN0b3JlZCBpbiBub3RlcyBhcyB3ZWxsLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyFIVE1MVGVtcGxhdGVFbGVtZW50fSB0ZW1wbGF0ZSBUZW1wbGF0ZSB0byBzdGFtcAogICAgICAgKiBAcmV0dXJuIHshU3RhbXBlZFRlbXBsYXRlfSBDbG9uZWQgdGVtcGxhdGUgY29udGVudAogICAgICAgKi8KICAgICAgX3N0YW1wVGVtcGxhdGUodGVtcGxhdGUpIHsKICAgICAgICAvLyBQb2x5ZmlsbCBzdXBwb3J0OiBib290c3RyYXAgdGhlIHRlbXBsYXRlIGlmIGl0IGhhcyBub3QgYWxyZWFkeSBiZWVuCiAgICAgICAgaWYgKHRlbXBsYXRlICYmICF0ZW1wbGF0ZS5jb250ZW50ICYmCiAgICAgICAgICAgIHdpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50ICYmIEhUTUxUZW1wbGF0ZUVsZW1lbnQuZGVjb3JhdGUpIHsKICAgICAgICAgIEhUTUxUZW1wbGF0ZUVsZW1lbnQuZGVjb3JhdGUodGVtcGxhdGUpOwogICAgICAgIH0KICAgICAgICBsZXQgdGVtcGxhdGVJbmZvID0gdGhpcy5jb25zdHJ1Y3Rvci5fcGFyc2VUZW1wbGF0ZSh0ZW1wbGF0ZSk7CiAgICAgICAgbGV0IG5vZGVJbmZvID0gdGVtcGxhdGVJbmZvLm5vZGVJbmZvTGlzdDsKICAgICAgICBsZXQgY29udGVudCA9IHRlbXBsYXRlSW5mby5jb250ZW50IHx8IHRlbXBsYXRlLmNvbnRlbnQ7CiAgICAgICAgbGV0IGRvbSA9IC8qKiBAdHlwZSB7RG9jdW1lbnRGcmFnbWVudH0gKi8gKGRvY3VtZW50LmltcG9ydE5vZGUoY29udGVudCwgdHJ1ZSkpOwogICAgICAgIC8vIE5PVEU6IFNoYWR5RG9tIG9wdGltaXphdGlvbiBpbmRpY2F0aW5nIHRoZXJlIGlzIGFuIGluc2VydGlvbiBwb2ludAogICAgICAgIGRvbS5fX25vSW5zZXJ0aW9uUG9pbnQgPSAhdGVtcGxhdGVJbmZvLmhhc0luc2VydGlvblBvaW50OwogICAgICAgIGxldCBub2RlcyA9IGRvbS5ub2RlTGlzdCA9IG5ldyBBcnJheShub2RlSW5mby5sZW5ndGgpOwogICAgICAgIGRvbS4kID0ge307CiAgICAgICAgZm9yIChsZXQgaT0wLCBsPW5vZGVJbmZvLmxlbmd0aCwgaW5mbzsgKGk8bCkgJiYgKGluZm89bm9kZUluZm9baV0pOyBpKyspIHsKICAgICAgICAgIGxldCBub2RlID0gbm9kZXNbaV0gPSBmaW5kVGVtcGxhdGVOb2RlKGRvbSwgaW5mbyk7CiAgICAgICAgICBhcHBseUlkVG9NYXAodGhpcywgZG9tLiQsIG5vZGUsIGluZm8pOwogICAgICAgICAgYXBwbHlUZW1wbGF0ZUNvbnRlbnQodGhpcywgbm9kZSwgaW5mbyk7CiAgICAgICAgICBhcHBseUV2ZW50TGlzdGVuZXIodGhpcywgbm9kZSwgaW5mbyk7CiAgICAgICAgfQogICAgICAgIGRvbSA9IC8qKiBAdHlwZSB7IVN0YW1wZWRUZW1wbGF0ZX0gKi8oZG9tKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1zZWxmLWFzc2lnbgogICAgICAgIHJldHVybiBkb207CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBBZGRzIGFuIGV2ZW50IGxpc3RlbmVyIGJ5IG1ldGhvZCBuYW1lIGZvciB0aGUgZXZlbnQgcHJvdmlkZWQuCiAgICAgICAqCiAgICAgICAqIFRoaXMgbWV0aG9kIGdlbmVyYXRlcyBhIGhhbmRsZXIgZnVuY3Rpb24gdGhhdCBsb29rcyB1cCB0aGUgbWV0aG9kCiAgICAgICAqIG5hbWUgYXQgaGFuZGxpbmcgdGltZS4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshTm9kZX0gbm9kZSBOb2RlIHRvIGFkZCBsaXN0ZW5lciBvbgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lIE5hbWUgb2YgZXZlbnQKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZE5hbWUgTmFtZSBvZiBtZXRob2QKICAgICAgICogQHBhcmFtIHsqPX0gY29udGV4dCBDb250ZXh0IHRoZSBtZXRob2Qgd2lsbCBiZSBjYWxsZWQgb24gKGRlZmF1bHRzCiAgICAgICAqICAgdG8gYG5vZGVgKQogICAgICAgKiBAcmV0dXJuIHtGdW5jdGlvbn0gR2VuZXJhdGVkIGhhbmRsZXIgZnVuY3Rpb24KICAgICAgICovCiAgICAgIF9hZGRNZXRob2RFdmVudExpc3RlbmVyVG9Ob2RlKG5vZGUsIGV2ZW50TmFtZSwgbWV0aG9kTmFtZSwgY29udGV4dCkgewogICAgICAgIGNvbnRleHQgPSBjb250ZXh0IHx8IG5vZGU7CiAgICAgICAgbGV0IGhhbmRsZXIgPSBjcmVhdGVOb2RlRXZlbnRIYW5kbGVyKGNvbnRleHQsIGV2ZW50TmFtZSwgbWV0aG9kTmFtZSk7CiAgICAgICAgdGhpcy5fYWRkRXZlbnRMaXN0ZW5lclRvTm9kZShub2RlLCBldmVudE5hbWUsIGhhbmRsZXIpOwogICAgICAgIHJldHVybiBoYW5kbGVyOwogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGUgcG9pbnQgZm9yIGFkZGluZyBjdXN0b20gb3Igc2ltdWxhdGVkIGV2ZW50IGhhbmRsaW5nLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyFOb2RlfSBub2RlIE5vZGUgdG8gYWRkIGV2ZW50IGxpc3RlbmVyIHRvCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWUgTmFtZSBvZiBldmVudAogICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKCFFdmVudCk6dm9pZH0gaGFuZGxlciBMaXN0ZW5lciBmdW5jdGlvbiB0byBhZGQKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIF9hZGRFdmVudExpc3RlbmVyVG9Ob2RlKG5vZGUsIGV2ZW50TmFtZSwgaGFuZGxlcikgewogICAgICAgIG5vZGUuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGhhbmRsZXIpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGUgcG9pbnQgZm9yIGFkZGluZyBjdXN0b20gb3Igc2ltdWxhdGVkIGV2ZW50IGhhbmRsaW5nLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyFOb2RlfSBub2RlIE5vZGUgdG8gcmVtb3ZlIGV2ZW50IGxpc3RlbmVyIGZyb20KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSBOYW1lIG9mIGV2ZW50CiAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oIUV2ZW50KTp2b2lkfSBoYW5kbGVyIExpc3RlbmVyIGZ1bmN0aW9uIHRvIHJlbW92ZQogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgX3JlbW92ZUV2ZW50TGlzdGVuZXJGcm9tTm9kZShub2RlLCBldmVudE5hbWUsIGhhbmRsZXIpIHsKICAgICAgICBub2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBoYW5kbGVyKTsKICAgICAgfQoKICAgIH0KCiAgICByZXR1cm4gVGVtcGxhdGVTdGFtcDsKCiAgfSk7Cgp9KSgpOwoKCihmdW5jdGlvbigpIHsKCiAgJ3VzZSBzdHJpY3QnOwoKICAvKiogQGNvbnN0IHtPYmplY3R9ICovCiAgY29uc3QgQ2FzZU1hcCA9IFBvbHltZXIuQ2FzZU1hcDsKCiAgLy8gTW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIHVuaXF1ZSBJRCB1c2VkIGZvciBkZS1kdXBpbmcgZWZmZWN0cyB0cmlnZ2VyZWQKICAvLyBmcm9tIG11bHRpcGxlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgdHVybgogIGxldCBkZWR1cGVJZCA9IDA7CgogIC8qKgogICAqIFByb3BlcnR5IGVmZmVjdCB0eXBlczsgZWZmZWN0cyBhcmUgc3RvcmVkIG9uIHRoZSBwcm90b3R5cGUgdXNpbmcgdGhlc2Uga2V5cwogICAqIEBlbnVtIHtzdHJpbmd9CiAgICovCiAgY29uc3QgVFlQRVMgPSB7CiAgICBDT01QVVRFOiAnX19jb21wdXRlRWZmZWN0cycsCiAgICBSRUZMRUNUOiAnX19yZWZsZWN0RWZmZWN0cycsCiAgICBOT1RJRlk6ICdfX25vdGlmeUVmZmVjdHMnLAogICAgUFJPUEFHQVRFOiAnX19wcm9wYWdhdGVFZmZlY3RzJywKICAgIE9CU0VSVkU6ICdfX29ic2VydmVFZmZlY3RzJywKICAgIFJFQURfT05MWTogJ19fcmVhZE9ubHknCiAgfTsKCiAgLyoqIEBjb25zdCB7UmVnRXhwfSAqLwogIGNvbnN0IGNhcGl0YWxBdHRyaWJ1dGVSZWdleCA9IC9bQS1aXS87CgogIC8qKgogICAqIEB0eXBlZGVmIHt7CiAgICogbmFtZTogKHN0cmluZyB8IHVuZGVmaW5lZCksCiAgICogc3RydWN0dXJlZDogKGJvb2xlYW4gfCB1bmRlZmluZWQpLAogICAqIHdpbGRjYXJkOiAoYm9vbGVhbiB8IHVuZGVmaW5lZCkKICAgKiB9fQogICAqLwogIGxldCBEYXRhVHJpZ2dlcjsgLy9lc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzCgogIC8qKgogICAqIEB0eXBlZGVmIHt7CiAgICogaW5mbzogPywKICAgKiB0cmlnZ2VyOiAoIURhdGFUcmlnZ2VyIHwgdW5kZWZpbmVkKSwKICAgKiBmbjogKCFGdW5jdGlvbiB8IHVuZGVmaW5lZCkKICAgKiB9fQogICAqLwogIGxldCBEYXRhRWZmZWN0OyAvL2VzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnMKCiAgbGV0IFByb3BlcnR5RWZmZWN0c1R5cGU7IC8vZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFycwoKICAvKioKICAgKiBFbnN1cmVzIHRoYXQgdGhlIG1vZGVsIGhhcyBhbiBvd24tcHJvcGVydHkgbWFwIG9mIGVmZmVjdHMgZm9yIHRoZSBnaXZlbiB0eXBlLgogICAqIFRoZSBtb2RlbCBtYXkgYmUgYSBwcm90b3R5cGUgb3IgYW4gaW5zdGFuY2UuCiAgICoKICAgKiBQcm9wZXJ0eSBlZmZlY3RzIGFyZSBzdG9yZWQgYXMgYXJyYXlzIG9mIGVmZmVjdHMgYnkgcHJvcGVydHkgaW4gYSBtYXAsCiAgICogYnkgbmFtZWQgdHlwZSBvbiB0aGUgbW9kZWwuIGUuZy4KICAgKgogICAqICAgX19jb21wdXRlRWZmZWN0czogewogICAqICAgICBmb286IFsgLi4uIF0sCiAgICogICAgIGJhcjogWyAuLi4gXQogICAqICAgfQogICAqCiAgICogSWYgdGhlIG1vZGVsIGRvZXMgbm90IHlldCBoYXZlIGFuIGVmZmVjdCBtYXAgZm9yIHRoZSB0eXBlLCBvbmUgaXMgY3JlYXRlZAogICAqIGFuZCByZXR1cm5lZC4gIElmIGl0IGRvZXMsIGJ1dCBpdCBpcyBub3QgYW4gb3duIHByb3BlcnR5IChpLmUuIHRoZQogICAqIHByb3RvdHlwZSBoYWQgZWZmZWN0cyksIHRoZSB0aGUgbWFwIGlzIGRlZXBseSBjbG9uZWQgYW5kIHRoZSBjb3B5IGlzCiAgICogc2V0IG9uIHRoZSBtb2RlbCBhbmQgcmV0dXJuZWQsIHJlYWR5IGZvciBuZXcgZWZmZWN0cyB0byBiZSBhZGRlZC4KICAgKgogICAqIEBwYXJhbSB7T2JqZWN0fSBtb2RlbCBQcm90b3R5cGUgb3IgaW5zdGFuY2UKICAgKiBAcGFyYW0ge3N0cmluZ30gdHlwZSBQcm9wZXJ0eSBlZmZlY3QgdHlwZQogICAqIEByZXR1cm4ge09iamVjdH0gVGhlIG93bi1wcm9wZXJ0eSBtYXAgb2YgZWZmZWN0cyBmb3IgdGhlIGdpdmVuIHR5cGUKICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIGVuc3VyZU93bkVmZmVjdE1hcChtb2RlbCwgdHlwZSkgewogICAgbGV0IGVmZmVjdHMgPSBtb2RlbFt0eXBlXTsKICAgIGlmICghZWZmZWN0cykgewogICAgICBlZmZlY3RzID0gbW9kZWxbdHlwZV0gPSB7fTsKICAgIH0gZWxzZSBpZiAoIW1vZGVsLmhhc093blByb3BlcnR5KHR5cGUpKSB7CiAgICAgIGVmZmVjdHMgPSBtb2RlbFt0eXBlXSA9IE9iamVjdC5jcmVhdGUobW9kZWxbdHlwZV0pOwogICAgICBmb3IgKGxldCBwIGluIGVmZmVjdHMpIHsKICAgICAgICBsZXQgcHJvdG9GeCA9IGVmZmVjdHNbcF07CiAgICAgICAgbGV0IGluc3RGeCA9IGVmZmVjdHNbcF0gPSBBcnJheShwcm90b0Z4Lmxlbmd0aCk7CiAgICAgICAgZm9yIChsZXQgaT0wOyBpPHByb3RvRngubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGluc3RGeFtpXSA9IHByb3RvRnhbaV07CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICByZXR1cm4gZWZmZWN0czsKICB9CgogIC8vIC0tIGVmZmVjdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAvKioKICAgKiBSdW5zIGFsbCBlZmZlY3RzIG9mIGEgZ2l2ZW4gdHlwZSBmb3IgdGhlIGdpdmVuIHNldCBvZiBwcm9wZXJ0eSBjaGFuZ2VzCiAgICogb24gYW4gaW5zdGFuY2UuCiAgICoKICAgKiBAcGFyYW0geyFQcm9wZXJ0eUVmZmVjdHNUeXBlfSBpbnN0IFRoZSBpbnN0YW5jZSB3aXRoIGVmZmVjdHMgdG8gcnVuCiAgICogQHBhcmFtIHtPYmplY3R9IGVmZmVjdHMgT2JqZWN0IG1hcCBvZiBwcm9wZXJ0eS10by1BcnJheSBvZiBlZmZlY3RzCiAgICogQHBhcmFtIHtPYmplY3R9IHByb3BzIEJhZyBvZiBjdXJyZW50IHByb3BlcnR5IGNoYW5nZXMKICAgKiBAcGFyYW0ge09iamVjdD19IG9sZFByb3BzIEJhZyBvZiBwcmV2aW91cyB2YWx1ZXMgZm9yIGNoYW5nZWQgcHJvcGVydGllcwogICAqIEBwYXJhbSB7Ym9vbGVhbj19IGhhc1BhdGhzIFRydWUgd2l0aCBgcHJvcHNgIGNvbnRhaW5zIG9uZSBvciBtb3JlIHBhdGhzCiAgICogQHBhcmFtIHsqPX0gZXh0cmFBcmdzIEFkZGl0aW9uYWwgbWV0YWRhdGEgdG8gcGFzcyB0byBlZmZlY3QgZnVuY3Rpb24KICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIGFuIGVmZmVjdCByYW4gZm9yIHRoaXMgcHJvcGVydHkKICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHJ1bkVmZmVjdHMoaW5zdCwgZWZmZWN0cywgcHJvcHMsIG9sZFByb3BzLCBoYXNQYXRocywgZXh0cmFBcmdzKSB7CiAgICBpZiAoZWZmZWN0cykgewogICAgICBsZXQgcmFuID0gZmFsc2U7CiAgICAgIGxldCBpZCA9IGRlZHVwZUlkKys7CiAgICAgIGZvciAobGV0IHByb3AgaW4gcHJvcHMpIHsKICAgICAgICBpZiAocnVuRWZmZWN0c0ZvclByb3BlcnR5KGluc3QsIGVmZmVjdHMsIGlkLCBwcm9wLCBwcm9wcywgb2xkUHJvcHMsIGhhc1BhdGhzLCBleHRyYUFyZ3MpKSB7CiAgICAgICAgICByYW4gPSB0cnVlOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gcmFuOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgLyoqCiAgICogUnVucyBhIGxpc3Qgb2YgZWZmZWN0cyBmb3IgYSBnaXZlbiBwcm9wZXJ0eS4KICAgKgogICAqIEBwYXJhbSB7IVByb3BlcnR5RWZmZWN0c1R5cGV9IGluc3QgVGhlIGluc3RhbmNlIHdpdGggZWZmZWN0cyB0byBydW4KICAgKiBAcGFyYW0ge09iamVjdH0gZWZmZWN0cyBPYmplY3QgbWFwIG9mIHByb3BlcnR5LXRvLUFycmF5IG9mIGVmZmVjdHMKICAgKiBAcGFyYW0ge251bWJlcn0gZGVkdXBlSWQgQ291bnRlciB1c2VkIGZvciBkZS1kdXBpbmcgZWZmZWN0cwogICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wIE5hbWUgb2YgY2hhbmdlZCBwcm9wZXJ0eQogICAqIEBwYXJhbSB7Kn0gcHJvcHMgQ2hhbmdlZCBwcm9wZXJ0aWVzCiAgICogQHBhcmFtIHsqfSBvbGRQcm9wcyBPbGQgcHJvcGVydGllcwogICAqIEBwYXJhbSB7Ym9vbGVhbj19IGhhc1BhdGhzIFRydWUgd2l0aCBgcHJvcHNgIGNvbnRhaW5zIG9uZSBvciBtb3JlIHBhdGhzCiAgICogQHBhcmFtIHsqPX0gZXh0cmFBcmdzIEFkZGl0aW9uYWwgbWV0YWRhdGEgdG8gcGFzcyB0byBlZmZlY3QgZnVuY3Rpb24KICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIGFuIGVmZmVjdCByYW4gZm9yIHRoaXMgcHJvcGVydHkKICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHJ1bkVmZmVjdHNGb3JQcm9wZXJ0eShpbnN0LCBlZmZlY3RzLCBkZWR1cGVJZCwgcHJvcCwgcHJvcHMsIG9sZFByb3BzLCBoYXNQYXRocywgZXh0cmFBcmdzKSB7CiAgICBsZXQgcmFuID0gZmFsc2U7CiAgICBsZXQgcm9vdFByb3BlcnR5ID0gaGFzUGF0aHMgPyBQb2x5bWVyLlBhdGgucm9vdChwcm9wKSA6IHByb3A7CiAgICBsZXQgZnhzID0gZWZmZWN0c1tyb290UHJvcGVydHldOwogICAgaWYgKGZ4cykgewogICAgICBmb3IgKGxldCBpPTAsIGw9ZnhzLmxlbmd0aCwgZng7IChpPGwpICYmIChmeD1meHNbaV0pOyBpKyspIHsKICAgICAgICBpZiAoKCFmeC5pbmZvIHx8IGZ4LmluZm8ubGFzdFJ1biAhPT0gZGVkdXBlSWQpICYmCiAgICAgICAgICAgICghaGFzUGF0aHMgfHwgcGF0aE1hdGNoZXNUcmlnZ2VyKHByb3AsIGZ4LnRyaWdnZXIpKSkgewogICAgICAgICAgaWYgKGZ4LmluZm8pIHsKICAgICAgICAgICAgZnguaW5mby5sYXN0UnVuID0gZGVkdXBlSWQ7CiAgICAgICAgICB9CiAgICAgICAgICBmeC5mbihpbnN0LCBwcm9wLCBwcm9wcywgb2xkUHJvcHMsIGZ4LmluZm8sIGhhc1BhdGhzLCBleHRyYUFyZ3MpOwogICAgICAgICAgcmFuID0gdHJ1ZTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIHJldHVybiByYW47CiAgfQoKICAvKioKICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBwcm9wZXJ0eS9wYXRoIHRoYXQgaGFzIGNoYW5nZWQgbWF0Y2hlcyB0aGUgdHJpZ2dlcgogICAqIGNyaXRlcmlhIGZvciBhbiBlZmZlY3QuICBBIHRyaWdnZXIgaXMgYSBkZXNjcmlwdG9yIHdpdGggdGhlIGZvbGxvd2luZwogICAqIHN0cnVjdHVyZSwgd2hpY2ggbWF0Y2hlcyB0aGUgZGVzY3JpcHRvcnMgcmV0dXJuZWQgZnJvbSBgcGFyc2VBcmdgLgogICAqIGUuZy4gZm9yIGBmb28uYmFyLipgOgogICAqIGBgYAogICAqIHRyaWdnZXI6IHsKICAgKiAgIG5hbWU6ICdhLmInLAogICAqICAgc3RydWN0dXJlZDogdHJ1ZSwKICAgKiAgIHdpbGRjYXJkOiB0cnVlCiAgICogfQogICAqIGBgYAogICAqIElmIG5vIHRyaWdnZXIgaXMgZ2l2ZW4sIHRoZSBwYXRoIGlzIGRlZW1lZCB0byBtYXRjaC4KICAgKgogICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFBhdGggb3IgcHJvcGVydHkgdGhhdCBjaGFuZ2VkCiAgICogQHBhcmFtIHtEYXRhVHJpZ2dlcn0gdHJpZ2dlciBEZXNjcmlwdG9yCiAgICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB0aGUgcGF0aCBtYXRjaGVkIHRoZSB0cmlnZ2VyCiAgICovCiAgZnVuY3Rpb24gcGF0aE1hdGNoZXNUcmlnZ2VyKHBhdGgsIHRyaWdnZXIpIHsKICAgIGlmICh0cmlnZ2VyKSB7CiAgICAgIGxldCB0cmlnZ2VyUGF0aCA9IHRyaWdnZXIubmFtZTsKICAgICAgcmV0dXJuICh0cmlnZ2VyUGF0aCA9PSBwYXRoKSB8fAogICAgICAgICh0cmlnZ2VyLnN0cnVjdHVyZWQgJiYgUG9seW1lci5QYXRoLmlzQW5jZXN0b3IodHJpZ2dlclBhdGgsIHBhdGgpKSB8fAogICAgICAgICh0cmlnZ2VyLndpbGRjYXJkICYmIFBvbHltZXIuUGF0aC5pc0Rlc2NlbmRhbnQodHJpZ2dlclBhdGgsIHBhdGgpKTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogIH0KCiAgLyoqCiAgICogSW1wbGVtZW50cyB0aGUgIm9ic2VydmVyIiBlZmZlY3QuCiAgICoKICAgKiBDYWxscyB0aGUgbWV0aG9kIHdpdGggYGluZm8ubWV0aG9kTmFtZWAgb24gdGhlIGluc3RhbmNlLCBwYXNzaW5nIHRoZQogICAqIG5ldyBhbmQgb2xkIHZhbHVlcy4KICAgKgogICAqIEBwYXJhbSB7IVByb3BlcnR5RWZmZWN0c1R5cGV9IGluc3QgVGhlIGluc3RhbmNlIHRoZSBlZmZlY3Qgd2lsbCBiZSBydW4gb24KICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgTmFtZSBvZiBwcm9wZXJ0eQogICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBCYWcgb2YgY3VycmVudCBwcm9wZXJ0eSBjaGFuZ2VzCiAgICogQHBhcmFtIHtPYmplY3R9IG9sZFByb3BzIEJhZyBvZiBwcmV2aW91cyB2YWx1ZXMgZm9yIGNoYW5nZWQgcHJvcGVydGllcwogICAqIEBwYXJhbSB7P30gaW5mbyBFZmZlY3QgbWV0YWRhdGEKICAgKiBAcmV0dXJuIHt2b2lkfQogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gcnVuT2JzZXJ2ZXJFZmZlY3QoaW5zdCwgcHJvcGVydHksIHByb3BzLCBvbGRQcm9wcywgaW5mbykgewogICAgbGV0IGZuID0gdHlwZW9mIGluZm8ubWV0aG9kID09PSAic3RyaW5nIiA/IGluc3RbaW5mby5tZXRob2RdIDogaW5mby5tZXRob2Q7CiAgICBsZXQgY2hhbmdlZFByb3AgPSBpbmZvLnByb3BlcnR5OwogICAgaWYgKGZuKSB7CiAgICAgIGZuLmNhbGwoaW5zdCwgaW5zdC5fX2RhdGFbY2hhbmdlZFByb3BdLCBvbGRQcm9wc1tjaGFuZ2VkUHJvcF0pOwogICAgfSBlbHNlIGlmICghaW5mby5keW5hbWljRm4pIHsKICAgICAgY29uc29sZS53YXJuKCdvYnNlcnZlciBtZXRob2QgYCcgKyBpbmZvLm1ldGhvZCArICdgIG5vdCBkZWZpbmVkJyk7CiAgICB9CiAgfQoKICAvKioKICAgKiBSdW5zICJub3RpZnkiIGVmZmVjdHMgZm9yIGEgc2V0IG9mIGNoYW5nZWQgcHJvcGVydGllcy4KICAgKgogICAqIFRoaXMgbWV0aG9kIGRpZmZlcnMgZnJvbSB0aGUgZ2VuZXJpYyBgcnVuRWZmZWN0c2AgbWV0aG9kIGluIHRoYXQgaXQKICAgKiB3aWxsIGRpc3BhdGNoIHBhdGggbm90aWZpY2F0aW9uIGV2ZW50cyBpbiB0aGUgY2FzZSB0aGF0IHRoZSBwcm9wZXJ0eQogICAqIGNoYW5nZWQgd2FzIGEgcGF0aCBhbmQgdGhlIHJvb3QgcHJvcGVydHkgZm9yIHRoYXQgcGF0aCBkaWRuJ3QgaGF2ZSBhCiAgICogIm5vdGlmeSIgZWZmZWN0LiAgVGhpcyBpcyB0byBtYWludGFpbiAxLjAgYmVoYXZpb3IgdGhhdCBkaWQgbm90IHJlcXVpcmUKICAgKiBgbm90aWZ5OiB0cnVlYCB0byBlbnN1cmUgb2JqZWN0IHN1Yi1wcm9wZXJ0eSBub3RpZmljYXRpb25zIHdlcmUKICAgKiBzZW50LgogICAqCiAgICogQHBhcmFtIHshUHJvcGVydHlFZmZlY3RzVHlwZX0gaW5zdCBUaGUgaW5zdGFuY2Ugd2l0aCBlZmZlY3RzIHRvIHJ1bgogICAqIEBwYXJhbSB7T2JqZWN0fSBub3RpZnlQcm9wcyBCYWcgb2YgcHJvcGVydGllcyB0byBub3RpZnkKICAgKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgQmFnIG9mIGN1cnJlbnQgcHJvcGVydHkgY2hhbmdlcwogICAqIEBwYXJhbSB7T2JqZWN0fSBvbGRQcm9wcyBCYWcgb2YgcHJldmlvdXMgdmFsdWVzIGZvciBjaGFuZ2VkIHByb3BlcnRpZXMKICAgKiBAcGFyYW0ge2Jvb2xlYW59IGhhc1BhdGhzIFRydWUgd2l0aCBgcHJvcHNgIGNvbnRhaW5zIG9uZSBvciBtb3JlIHBhdGhzCiAgICogQHJldHVybiB7dm9pZH0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHJ1bk5vdGlmeUVmZmVjdHMoaW5zdCwgbm90aWZ5UHJvcHMsIHByb3BzLCBvbGRQcm9wcywgaGFzUGF0aHMpIHsKICAgIC8vIE5vdGlmeQogICAgbGV0IGZ4cyA9IGluc3RbVFlQRVMuTk9USUZZXTsKICAgIGxldCBub3RpZmllZDsKICAgIGxldCBpZCA9IGRlZHVwZUlkKys7CiAgICAvLyBUcnkgbm9ybWFsIG5vdGlmeSBlZmZlY3RzOyBpZiBub25lLCBmYWxsIGJhY2sgdG8gdHJ5IHBhdGggbm90aWZpY2F0aW9uCiAgICBmb3IgKGxldCBwcm9wIGluIG5vdGlmeVByb3BzKSB7CiAgICAgIGlmIChub3RpZnlQcm9wc1twcm9wXSkgewogICAgICAgIGlmIChmeHMgJiYgcnVuRWZmZWN0c0ZvclByb3BlcnR5KGluc3QsIGZ4cywgaWQsIHByb3AsIHByb3BzLCBvbGRQcm9wcywgaGFzUGF0aHMpKSB7CiAgICAgICAgICBub3RpZmllZCA9IHRydWU7CiAgICAgICAgfSBlbHNlIGlmIChoYXNQYXRocyAmJiBub3RpZnlQYXRoKGluc3QsIHByb3AsIHByb3BzKSkgewogICAgICAgICAgbm90aWZpZWQgPSB0cnVlOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgLy8gRmx1c2ggaG9zdCBpZiB3ZSBhY3R1YWxseSBub3RpZmllZCBhbmQgaG9zdCB3YXMgYmF0Y2hpbmcKICAgIC8vIEFuZCB0aGUgaG9zdCBoYXMgYWxyZWFkeSBpbml0aWFsaXplZCBjbGllbnRzOyB0aGlzIHByZXZlbnRzCiAgICAvLyBhbiBpc3N1ZSB3aXRoIGEgaG9zdCBvYnNlcnZpbmcgZGF0YSBjaGFuZ2VzIGJlZm9yZSBjbGllbnRzIGFyZSByZWFkeS4KICAgIGxldCBob3N0OwogICAgaWYgKG5vdGlmaWVkICYmIChob3N0ID0gaW5zdC5fX2RhdGFIb3N0KSAmJiBob3N0Ll9pbnZhbGlkYXRlUHJvcGVydGllcykgewogICAgICBob3N0Ll9pbnZhbGlkYXRlUHJvcGVydGllcygpOwogICAgfQogIH0KCiAgLyoqCiAgICogRGlzcGF0Y2hlcyB7cHJvcGVydHl9LWNoYW5nZWQgZXZlbnRzIHdpdGggcGF0aCBpbmZvcm1hdGlvbiBpbiB0aGUgZGV0YWlsCiAgICogb2JqZWN0IHRvIGluZGljYXRlIGEgc3ViLXBhdGggb2YgdGhlIHByb3BlcnR5IHdhcyBjaGFuZ2VkLgogICAqCiAgICogQHBhcmFtIHshUHJvcGVydHlFZmZlY3RzVHlwZX0gaW5zdCBUaGUgZWxlbWVudCBmcm9tIHdoaWNoIHRvIGZpcmUgdGhlIGV2ZW50CiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHBhdGggdGhhdCB3YXMgY2hhbmdlZAogICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBCYWcgb2YgY3VycmVudCBwcm9wZXJ0eSBjaGFuZ2VzCiAgICogQHJldHVybiB7Ym9vbGVhbn0gUmV0dXJucyB0cnVlIGlmIHRoZSBwYXRoIHdhcyBub3RpZmllZAogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gbm90aWZ5UGF0aChpbnN0LCBwYXRoLCBwcm9wcykgewogICAgbGV0IHJvb3RQcm9wZXJ0eSA9IFBvbHltZXIuUGF0aC5yb290KHBhdGgpOwogICAgaWYgKHJvb3RQcm9wZXJ0eSAhPT0gcGF0aCkgewogICAgICBsZXQgZXZlbnROYW1lID0gUG9seW1lci5DYXNlTWFwLmNhbWVsVG9EYXNoQ2FzZShyb290UHJvcGVydHkpICsgJy1jaGFuZ2VkJzsKICAgICAgZGlzcGF0Y2hOb3RpZnlFdmVudChpbnN0LCBldmVudE5hbWUsIHByb3BzW3BhdGhdLCBwYXRoKTsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICAvKioKICAgKiBEaXNwYXRjaGVzIHtwcm9wZXJ0eX0tY2hhbmdlZCBldmVudHMgdG8gaW5kaWNhdGUgYSBwcm9wZXJ0eSAob3IgcGF0aCkKICAgKiBjaGFuZ2VkLgogICAqCiAgICogQHBhcmFtIHshUHJvcGVydHlFZmZlY3RzVHlwZX0gaW5zdCBUaGUgZWxlbWVudCBmcm9tIHdoaWNoIHRvIGZpcmUgdGhlIGV2ZW50CiAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSBUaGUgbmFtZSBvZiB0aGUgZXZlbnQgdG8gc2VuZCAoJ3twcm9wZXJ0eX0tY2hhbmdlZCcpCiAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGNoYW5nZWQgcHJvcGVydHkKICAgKiBAcGFyYW0ge3N0cmluZyB8IG51bGwgfCB1bmRlZmluZWR9IHBhdGggSWYgYSBzdWItcGF0aCBvZiB0aGlzIHByb3BlcnR5IGNoYW5nZWQsIHRoZSBwYXRoCiAgICogICB0aGF0IGNoYW5nZWQgKG9wdGlvbmFsKS4KICAgKiBAcmV0dXJuIHt2b2lkfQogICAqIEBwcml2YXRlCiAgICogQHN1cHByZXNzIHtpbnZhbGlkQ2FzdHN9CiAgICovCiAgZnVuY3Rpb24gZGlzcGF0Y2hOb3RpZnlFdmVudChpbnN0LCBldmVudE5hbWUsIHZhbHVlLCBwYXRoKSB7CiAgICBsZXQgZGV0YWlsID0gewogICAgICB2YWx1ZTogdmFsdWUsCiAgICAgIHF1ZXVlUHJvcGVydHk6IHRydWUKICAgIH07CiAgICBpZiAocGF0aCkgewogICAgICBkZXRhaWwucGF0aCA9IHBhdGg7CiAgICB9CiAgICAvKiogQHR5cGUgeyFIVE1MRWxlbWVudH0gKi8oaW5zdCkuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoZXZlbnROYW1lLCB7IGRldGFpbCB9KSk7CiAgfQoKICAvKioKICAgKiBJbXBsZW1lbnRzIHRoZSAibm90aWZ5IiBlZmZlY3QuCiAgICoKICAgKiBEaXNwYXRjaGVzIGEgbm9uLWJ1YmJsaW5nIGV2ZW50IG5hbWVkIGBpbmZvLmV2ZW50TmFtZWAgb24gdGhlIGluc3RhbmNlCiAgICogd2l0aCBhIGRldGFpbCBvYmplY3QgY29udGFpbmluZyB0aGUgbmV3IGB2YWx1ZWAuCiAgICoKICAgKiBAcGFyYW0geyFQcm9wZXJ0eUVmZmVjdHNUeXBlfSBpbnN0IFRoZSBpbnN0YW5jZSB0aGUgZWZmZWN0IHdpbGwgYmUgcnVuIG9uCiAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IE5hbWUgb2YgcHJvcGVydHkKICAgKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgQmFnIG9mIGN1cnJlbnQgcHJvcGVydHkgY2hhbmdlcwogICAqIEBwYXJhbSB7T2JqZWN0fSBvbGRQcm9wcyBCYWcgb2YgcHJldmlvdXMgdmFsdWVzIGZvciBjaGFuZ2VkIHByb3BlcnRpZXMKICAgKiBAcGFyYW0gez99IGluZm8gRWZmZWN0IG1ldGFkYXRhCiAgICogQHBhcmFtIHtib29sZWFufSBoYXNQYXRocyBUcnVlIHdpdGggYHByb3BzYCBjb250YWlucyBvbmUgb3IgbW9yZSBwYXRocwogICAqIEByZXR1cm4ge3ZvaWR9CiAgICogQHByaXZhdGUKICAgKi8KICBmdW5jdGlvbiBydW5Ob3RpZnlFZmZlY3QoaW5zdCwgcHJvcGVydHksIHByb3BzLCBvbGRQcm9wcywgaW5mbywgaGFzUGF0aHMpIHsKICAgIGxldCByb290UHJvcGVydHkgPSBoYXNQYXRocyA/IFBvbHltZXIuUGF0aC5yb290KHByb3BlcnR5KSA6IHByb3BlcnR5OwogICAgbGV0IHBhdGggPSByb290UHJvcGVydHkgIT0gcHJvcGVydHkgPyBwcm9wZXJ0eSA6IG51bGw7CiAgICBsZXQgdmFsdWUgPSBwYXRoID8gUG9seW1lci5QYXRoLmdldChpbnN0LCBwYXRoKSA6IGluc3QuX19kYXRhW3Byb3BlcnR5XTsKICAgIGlmIChwYXRoICYmIHZhbHVlID09PSB1bmRlZmluZWQpIHsKICAgICAgdmFsdWUgPSBwcm9wc1twcm9wZXJ0eV07ICAvLyBzcGVjaWZpY2FsbHkgZm9yIC5zcGxpY2VzCiAgICB9CiAgICBkaXNwYXRjaE5vdGlmeUV2ZW50KGluc3QsIGluZm8uZXZlbnROYW1lLCB2YWx1ZSwgcGF0aCk7CiAgfQoKICAvKioKICAgKiBIYW5kbGVyIGZ1bmN0aW9uIGZvciAyLXdheSBub3RpZmljYXRpb24gZXZlbnRzLiBSZWNlaXZlcyBjb250ZXh0CiAgICogaW5mb3JtYXRpb24gY2FwdHVyZWQgaW4gdGhlIGBhZGROb3RpZnlMaXN0ZW5lcmAgY2xvc3VyZSBmcm9tIHRoZQogICAqIGBfX25vdGlmeUxpc3RlbmVyc2AgbWV0YWRhdGEuCiAgICoKICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiB0aGUgbm90aWZpZWQgcHJvcGVydHkgdG8gdGhlIGhvc3QgcHJvcGVydHkgb3IgcGF0aC4gIElmCiAgICogdGhlIGV2ZW50IGNvbnRhaW5lZCBwYXRoIGluZm9ybWF0aW9uLCB0cmFuc2xhdGUgdGhhdCBwYXRoIHRvIHRoZSBob3N0CiAgICogc2NvcGUncyBuYW1lIGZvciB0aGF0IHBhdGggZmlyc3QuCiAgICoKICAgKiBAcGFyYW0ge0N1c3RvbUV2ZW50fSBldmVudCBOb3RpZmljYXRpb24gZXZlbnQgKGUuZy4gJzxwcm9wZXJ0eT4tY2hhbmdlZCcpCiAgICogQHBhcmFtIHshUHJvcGVydHlFZmZlY3RzVHlwZX0gaW5zdCBIb3N0IGVsZW1lbnQgaW5zdGFuY2UgaGFuZGxpbmcgdGhlIG5vdGlmaWNhdGlvbiBldmVudAogICAqIEBwYXJhbSB7c3RyaW5nfSBmcm9tUHJvcCBDaGlsZCBlbGVtZW50IHByb3BlcnR5IHRoYXQgd2FzIGJvdW5kCiAgICogQHBhcmFtIHtzdHJpbmd9IHRvUGF0aCBIb3N0IHByb3BlcnR5L3BhdGggdGhhdCB3YXMgYm91bmQKICAgKiBAcGFyYW0ge2Jvb2xlYW59IG5lZ2F0ZSBXaGV0aGVyIHRoZSBiaW5kaW5nIHdhcyBuZWdhdGVkCiAgICogQHJldHVybiB7dm9pZH0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIGhhbmRsZU5vdGlmaWNhdGlvbihldmVudCwgaW5zdCwgZnJvbVByb3AsIHRvUGF0aCwgbmVnYXRlKSB7CiAgICBsZXQgdmFsdWU7CiAgICBsZXQgZGV0YWlsID0gLyoqIEB0eXBlIHtPYmplY3R9ICovKGV2ZW50LmRldGFpbCk7CiAgICBsZXQgZnJvbVBhdGggPSBkZXRhaWwgJiYgZGV0YWlsLnBhdGg7CiAgICBpZiAoZnJvbVBhdGgpIHsKICAgICAgdG9QYXRoID0gUG9seW1lci5QYXRoLnRyYW5zbGF0ZShmcm9tUHJvcCwgdG9QYXRoLCBmcm9tUGF0aCk7CiAgICAgIHZhbHVlID0gZGV0YWlsICYmIGRldGFpbC52YWx1ZTsKICAgIH0gZWxzZSB7CiAgICAgIHZhbHVlID0gZXZlbnQuY3VycmVudFRhcmdldFtmcm9tUHJvcF07CiAgICB9CiAgICB2YWx1ZSA9IG5lZ2F0ZSA/ICF2YWx1ZSA6IHZhbHVlOwogICAgaWYgKCFpbnN0W1RZUEVTLlJFQURfT05MWV0gfHwgIWluc3RbVFlQRVMuUkVBRF9PTkxZXVt0b1BhdGhdKSB7CiAgICAgIGlmIChpbnN0Ll9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgodG9QYXRoLCB2YWx1ZSwgdHJ1ZSwgQm9vbGVhbihmcm9tUGF0aCkpCiAgICAgICAgJiYgKCFkZXRhaWwgfHwgIWRldGFpbC5xdWV1ZVByb3BlcnR5KSkgewogICAgICAgIGluc3QuX2ludmFsaWRhdGVQcm9wZXJ0aWVzKCk7CiAgICAgIH0KICAgIH0KICB9CgogIC8qKgogICAqIEltcGxlbWVudHMgdGhlICJyZWZsZWN0IiBlZmZlY3QuCiAgICoKICAgKiBTZXRzIHRoZSBhdHRyaWJ1dGUgbmFtZWQgYGluZm8uYXR0ck5hbWVgIHRvIHRoZSBnaXZlbiBwcm9wZXJ0eSB2YWx1ZS4KICAgKgogICAqIEBwYXJhbSB7IVByb3BlcnR5RWZmZWN0c1R5cGV9IGluc3QgVGhlIGluc3RhbmNlIHRoZSBlZmZlY3Qgd2lsbCBiZSBydW4gb24KICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgTmFtZSBvZiBwcm9wZXJ0eQogICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBCYWcgb2YgY3VycmVudCBwcm9wZXJ0eSBjaGFuZ2VzCiAgICogQHBhcmFtIHtPYmplY3R9IG9sZFByb3BzIEJhZyBvZiBwcmV2aW91cyB2YWx1ZXMgZm9yIGNoYW5nZWQgcHJvcGVydGllcwogICAqIEBwYXJhbSB7P30gaW5mbyBFZmZlY3QgbWV0YWRhdGEKICAgKiBAcmV0dXJuIHt2b2lkfQogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gcnVuUmVmbGVjdEVmZmVjdChpbnN0LCBwcm9wZXJ0eSwgcHJvcHMsIG9sZFByb3BzLCBpbmZvKSB7CiAgICBsZXQgdmFsdWUgPSBpbnN0Ll9fZGF0YVtwcm9wZXJ0eV07CiAgICBpZiAoUG9seW1lci5zYW5pdGl6ZURPTVZhbHVlKSB7CiAgICAgIHZhbHVlID0gUG9seW1lci5zYW5pdGl6ZURPTVZhbHVlKHZhbHVlLCBpbmZvLmF0dHJOYW1lLCAnYXR0cmlidXRlJywgLyoqIEB0eXBlIHtOb2RlfSAqLyhpbnN0KSk7CiAgICB9CiAgICBpbnN0Ll9wcm9wZXJ0eVRvQXR0cmlidXRlKHByb3BlcnR5LCBpbmZvLmF0dHJOYW1lLCB2YWx1ZSk7CiAgfQoKICAvKioKICAgKiBSdW5zICJjb21wdXRlZCIgZWZmZWN0cyBmb3IgYSBzZXQgb2YgY2hhbmdlZCBwcm9wZXJ0aWVzLgogICAqCiAgICogVGhpcyBtZXRob2QgZGlmZmVycyBmcm9tIHRoZSBnZW5lcmljIGBydW5FZmZlY3RzYCBtZXRob2QgaW4gdGhhdCBpdAogICAqIGNvbnRpbnVlcyB0byBydW4gY29tcHV0ZWQgZWZmZWN0cyBiYXNlZCBvbiB0aGUgb3V0cHV0IG9mIGVhY2ggcGFzcyB1bnRpbAogICAqIHRoZXJlIGFyZSBubyBtb3JlIG5ld2x5IGNvbXB1dGVkIHByb3BlcnRpZXMuICBUaGlzIGVuc3VyZXMgdGhhdCBhbGwKICAgKiBwcm9wZXJ0aWVzIHRoYXQgd2lsbCBiZSBjb21wdXRlZCBieSB0aGUgaW5pdGlhbCBzZXQgb2YgY2hhbmdlcyBhcmUKICAgKiBjb21wdXRlZCBiZWZvcmUgb3RoZXIgZWZmZWN0cyAoYmluZGluZyBwcm9wYWdhdGlvbiwgb2JzZXJ2ZXJzLCBhbmQgbm90aWZ5KQogICAqIHJ1bi4KICAgKgogICAqIEBwYXJhbSB7IVByb3BlcnR5RWZmZWN0c1R5cGV9IGluc3QgVGhlIGluc3RhbmNlIHRoZSBlZmZlY3Qgd2lsbCBiZSBydW4gb24KICAgKiBAcGFyYW0geyFPYmplY3R9IGNoYW5nZWRQcm9wcyBCYWcgb2YgY2hhbmdlZCBwcm9wZXJ0aWVzCiAgICogQHBhcmFtIHshT2JqZWN0fSBvbGRQcm9wcyBCYWcgb2YgcHJldmlvdXMgdmFsdWVzIGZvciBjaGFuZ2VkIHByb3BlcnRpZXMKICAgKiBAcGFyYW0ge2Jvb2xlYW59IGhhc1BhdGhzIFRydWUgd2l0aCBgcHJvcHNgIGNvbnRhaW5zIG9uZSBvciBtb3JlIHBhdGhzCiAgICogQHJldHVybiB7dm9pZH0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHJ1bkNvbXB1dGVkRWZmZWN0cyhpbnN0LCBjaGFuZ2VkUHJvcHMsIG9sZFByb3BzLCBoYXNQYXRocykgewogICAgbGV0IGNvbXB1dGVFZmZlY3RzID0gaW5zdFtUWVBFUy5DT01QVVRFXTsKICAgIGlmIChjb21wdXRlRWZmZWN0cykgewogICAgICBsZXQgaW5wdXRQcm9wcyA9IGNoYW5nZWRQcm9wczsKICAgICAgd2hpbGUgKHJ1bkVmZmVjdHMoaW5zdCwgY29tcHV0ZUVmZmVjdHMsIGlucHV0UHJvcHMsIG9sZFByb3BzLCBoYXNQYXRocykpIHsKICAgICAgICBPYmplY3QuYXNzaWduKG9sZFByb3BzLCBpbnN0Ll9fZGF0YU9sZCk7CiAgICAgICAgT2JqZWN0LmFzc2lnbihjaGFuZ2VkUHJvcHMsIGluc3QuX19kYXRhUGVuZGluZyk7CiAgICAgICAgaW5wdXRQcm9wcyA9IGluc3QuX19kYXRhUGVuZGluZzsKICAgICAgICBpbnN0Ll9fZGF0YVBlbmRpbmcgPSBudWxsOwogICAgICB9CiAgICB9CiAgfQoKICAvKioKICAgKiBJbXBsZW1lbnRzIHRoZSAiY29tcHV0ZWQgcHJvcGVydHkiIGVmZmVjdCBieSBydW5uaW5nIHRoZSBtZXRob2Qgd2l0aCB0aGUKICAgKiB2YWx1ZXMgb2YgdGhlIGFyZ3VtZW50cyBzcGVjaWZpZWQgaW4gdGhlIGBpbmZvYCBvYmplY3QgYW5kIHNldHRpbmcgdGhlCiAgICogcmV0dXJuIHZhbHVlIHRvIHRoZSBjb21wdXRlZCBwcm9wZXJ0eSBzcGVjaWZpZWQuCiAgICoKICAgKiBAcGFyYW0geyFQcm9wZXJ0eUVmZmVjdHNUeXBlfSBpbnN0IFRoZSBpbnN0YW5jZSB0aGUgZWZmZWN0IHdpbGwgYmUgcnVuIG9uCiAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IE5hbWUgb2YgcHJvcGVydHkKICAgKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgQmFnIG9mIGN1cnJlbnQgcHJvcGVydHkgY2hhbmdlcwogICAqIEBwYXJhbSB7T2JqZWN0fSBvbGRQcm9wcyBCYWcgb2YgcHJldmlvdXMgdmFsdWVzIGZvciBjaGFuZ2VkIHByb3BlcnRpZXMKICAgKiBAcGFyYW0gez99IGluZm8gRWZmZWN0IG1ldGFkYXRhCiAgICogQHJldHVybiB7dm9pZH0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHJ1bkNvbXB1dGVkRWZmZWN0KGluc3QsIHByb3BlcnR5LCBwcm9wcywgb2xkUHJvcHMsIGluZm8pIHsKICAgIGxldCByZXN1bHQgPSBydW5NZXRob2RFZmZlY3QoaW5zdCwgcHJvcGVydHksIHByb3BzLCBvbGRQcm9wcywgaW5mbyk7CiAgICBsZXQgY29tcHV0ZWRQcm9wID0gaW5mby5tZXRob2RJbmZvOwogICAgaWYgKGluc3QuX19kYXRhSGFzQWNjZXNzb3IgJiYgaW5zdC5fX2RhdGFIYXNBY2Nlc3Nvcltjb21wdXRlZFByb3BdKSB7CiAgICAgIGluc3QuX3NldFBlbmRpbmdQcm9wZXJ0eShjb21wdXRlZFByb3AsIHJlc3VsdCwgdHJ1ZSk7CiAgICB9IGVsc2UgewogICAgICBpbnN0W2NvbXB1dGVkUHJvcF0gPSByZXN1bHQ7CiAgICB9CiAgfQoKICAvKioKICAgKiBDb21wdXRlcyBwYXRoIGNoYW5nZXMgYmFzZWQgb24gcGF0aCBsaW5rcyBzZXQgdXAgdXNpbmcgdGhlIGBsaW5rUGF0aHNgCiAgICogQVBJLgogICAqCiAgICogQHBhcmFtIHshUHJvcGVydHlFZmZlY3RzVHlwZX0gaW5zdCBUaGUgaW5zdGFuY2Ugd2hvc2UgcHJvcHMgYXJlIGNoYW5naW5nCiAgICogQHBhcmFtIHtzdHJpbmcgfCAhQXJyYXk8KHN0cmluZ3xudW1iZXIpPn0gcGF0aCBQYXRoIHRoYXQgaGFzIGNoYW5nZWQKICAgKiBAcGFyYW0geyp9IHZhbHVlIFZhbHVlIG9mIGNoYW5nZWQgcGF0aAogICAqIEByZXR1cm4ge3ZvaWR9CiAgICogQHByaXZhdGUKICAgKi8KICBmdW5jdGlvbiBjb21wdXRlTGlua2VkUGF0aHMoaW5zdCwgcGF0aCwgdmFsdWUpIHsKICAgIGxldCBsaW5rcyA9IGluc3QuX19kYXRhTGlua2VkUGF0aHM7CiAgICBpZiAobGlua3MpIHsKICAgICAgbGV0IGxpbms7CiAgICAgIGZvciAobGV0IGEgaW4gbGlua3MpIHsKICAgICAgICBsZXQgYiA9IGxpbmtzW2FdOwogICAgICAgIGlmIChQb2x5bWVyLlBhdGguaXNEZXNjZW5kYW50KGEsIHBhdGgpKSB7CiAgICAgICAgICBsaW5rID0gUG9seW1lci5QYXRoLnRyYW5zbGF0ZShhLCBiLCBwYXRoKTsKICAgICAgICAgIGluc3QuX3NldFBlbmRpbmdQcm9wZXJ0eU9yUGF0aChsaW5rLCB2YWx1ZSwgdHJ1ZSwgdHJ1ZSk7CiAgICAgICAgfSBlbHNlIGlmIChQb2x5bWVyLlBhdGguaXNEZXNjZW5kYW50KGIsIHBhdGgpKSB7CiAgICAgICAgICBsaW5rID0gUG9seW1lci5QYXRoLnRyYW5zbGF0ZShiLCBhLCBwYXRoKTsKICAgICAgICAgIGluc3QuX3NldFBlbmRpbmdQcm9wZXJ0eU9yUGF0aChsaW5rLCB2YWx1ZSwgdHJ1ZSwgdHJ1ZSk7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfQoKICAvLyAtLSBiaW5kaW5ncyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogIC8qKgogICAqIEFkZHMgYmluZGluZyBtZXRhZGF0YSB0byB0aGUgY3VycmVudCBgbm9kZUluZm9gLCBhbmQgYmluZGluZyBlZmZlY3RzCiAgICogZm9yIGFsbCBwYXJ0IGRlcGVuZGVuY2llcyB0byBgdGVtcGxhdGVJbmZvYC4KICAgKgogICAqIEBwYXJhbSB7RnVuY3Rpb259IGNvbnN0cnVjdG9yIENsYXNzIHRoYXQgYF9wYXJzZVRlbXBsYXRlYCBpcyBjdXJyZW50bHkKICAgKiAgIHJ1bm5pbmcgb24KICAgKiBAcGFyYW0ge1RlbXBsYXRlSW5mb30gdGVtcGxhdGVJbmZvIFRlbXBsYXRlIG1ldGFkYXRhIGZvciBjdXJyZW50IHRlbXBsYXRlCiAgICogQHBhcmFtIHtOb2RlSW5mb30gbm9kZUluZm8gTm9kZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZSBub2RlCiAgICogQHBhcmFtIHtzdHJpbmd9IGtpbmQgQmluZGluZyBraW5kLCBlaXRoZXIgJ3Byb3BlcnR5JywgJ2F0dHJpYnV0ZScsIG9yICd0ZXh0JwogICAqIEBwYXJhbSB7c3RyaW5nfSB0YXJnZXQgVGFyZ2V0IHByb3BlcnR5IG5hbWUKICAgKiBAcGFyYW0geyFBcnJheTwhQmluZGluZ1BhcnQ+fSBwYXJ0cyBBcnJheSBvZiBiaW5kaW5nIHBhcnQgbWV0YWRhdGEKICAgKiBAcGFyYW0ge3N0cmluZz19IGxpdGVyYWwgTGl0ZXJhbCB0ZXh0IHN1cnJvdW5kaW5nIGJpbmRpbmcgcGFydHMgKHNwZWNpZmllZAogICAqICAgb25seSBmb3IgJ3Byb3BlcnR5JyBiaW5kaW5ncywgc2luY2UgdGhlc2UgbXVzdCBiZSBpbml0aWFsaXplZCBhcyBwYXJ0CiAgICogICBvZiBib290LXVwKQogICAqIEByZXR1cm4ge3ZvaWR9CiAgICogQHByaXZhdGUKICAgKi8KICBmdW5jdGlvbiBhZGRCaW5kaW5nKGNvbnN0cnVjdG9yLCB0ZW1wbGF0ZUluZm8sIG5vZGVJbmZvLCBraW5kLCB0YXJnZXQsIHBhcnRzLCBsaXRlcmFsKSB7CiAgICAvLyBDcmVhdGUgYmluZGluZyBtZXRhZGF0YSBhbmQgYWRkIHRvIG5vZGVJbmZvCiAgICBub2RlSW5mby5iaW5kaW5ncyA9IG5vZGVJbmZvLmJpbmRpbmdzIHx8IFtdOwogICAgbGV0IC8qKiBCaW5kaW5nICovIGJpbmRpbmcgPSB7IGtpbmQsIHRhcmdldCwgcGFydHMsIGxpdGVyYWwsIGlzQ29tcG91bmQ6IChwYXJ0cy5sZW5ndGggIT09IDEpIH07CiAgICBub2RlSW5mby5iaW5kaW5ncy5wdXNoKGJpbmRpbmcpOwogICAgLy8gQWRkIGxpc3RlbmVyIGluZm8gdG8gYmluZGluZyBtZXRhZGF0YQogICAgaWYgKHNob3VsZEFkZExpc3RlbmVyKGJpbmRpbmcpKSB7CiAgICAgIGxldCB7ZXZlbnQsIG5lZ2F0ZX0gPSBiaW5kaW5nLnBhcnRzWzBdOwogICAgICBiaW5kaW5nLmxpc3RlbmVyRXZlbnQgPSBldmVudCB8fCAoQ2FzZU1hcC5jYW1lbFRvRGFzaENhc2UodGFyZ2V0KSArICctY2hhbmdlZCcpOwogICAgICBiaW5kaW5nLmxpc3RlbmVyTmVnYXRlID0gbmVnYXRlOwogICAgfQogICAgLy8gQWRkICJwcm9wYWdhdGUiIHByb3BlcnR5IGVmZmVjdHMgdG8gdGVtcGxhdGVJbmZvCiAgICBsZXQgaW5kZXggPSB0ZW1wbGF0ZUluZm8ubm9kZUluZm9MaXN0Lmxlbmd0aDsKICAgIGZvciAobGV0IGk9MDsgaTxiaW5kaW5nLnBhcnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgIGxldCBwYXJ0ID0gYmluZGluZy5wYXJ0c1tpXTsKICAgICAgcGFydC5jb21wb3VuZEluZGV4ID0gaTsKICAgICAgYWRkRWZmZWN0Rm9yQmluZGluZ1BhcnQoY29uc3RydWN0b3IsIHRlbXBsYXRlSW5mbywgYmluZGluZywgcGFydCwgaW5kZXgpOwogICAgfQogIH0KCiAgLyoqCiAgICogQWRkcyBwcm9wZXJ0eSBlZmZlY3RzIHRvIHRoZSBnaXZlbiBgdGVtcGxhdGVJbmZvYCBmb3IgdGhlIGdpdmVuIGJpbmRpbmcKICAgKiBwYXJ0LgogICAqCiAgICogQHBhcmFtIHtGdW5jdGlvbn0gY29uc3RydWN0b3IgQ2xhc3MgdGhhdCBgX3BhcnNlVGVtcGxhdGVgIGlzIGN1cnJlbnRseQogICAqICAgcnVubmluZyBvbgogICAqIEBwYXJhbSB7VGVtcGxhdGVJbmZvfSB0ZW1wbGF0ZUluZm8gVGVtcGxhdGUgbWV0YWRhdGEgZm9yIGN1cnJlbnQgdGVtcGxhdGUKICAgKiBAcGFyYW0geyFCaW5kaW5nfSBiaW5kaW5nIEJpbmRpbmcgbWV0YWRhdGEKICAgKiBAcGFyYW0geyFCaW5kaW5nUGFydH0gcGFydCBCaW5kaW5nIHBhcnQgbWV0YWRhdGEKICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXggSW5kZXggaW50byBgbm9kZUluZm9MaXN0YCBmb3IgdGhpcyBub2RlCiAgICogQHJldHVybiB7dm9pZH0KICAgKi8KICBmdW5jdGlvbiBhZGRFZmZlY3RGb3JCaW5kaW5nUGFydChjb25zdHJ1Y3RvciwgdGVtcGxhdGVJbmZvLCBiaW5kaW5nLCBwYXJ0LCBpbmRleCkgewogICAgaWYgKCFwYXJ0LmxpdGVyYWwpIHsKICAgICAgaWYgKGJpbmRpbmcua2luZCA9PT0gJ2F0dHJpYnV0ZScgJiYgYmluZGluZy50YXJnZXRbMF0gPT09ICctJykgewogICAgICAgIGNvbnNvbGUud2FybignQ2Fubm90IHNldCBhdHRyaWJ1dGUgJyArIGJpbmRpbmcudGFyZ2V0ICsKICAgICAgICAgICcgYmVjYXVzZSAiLSIgaXMgbm90IGEgdmFsaWQgYXR0cmlidXRlIHN0YXJ0aW5nIGNoYXJhY3RlcicpOwogICAgICB9IGVsc2UgewogICAgICAgIGxldCBkZXBlbmRlbmNpZXMgPSBwYXJ0LmRlcGVuZGVuY2llczsKICAgICAgICBsZXQgaW5mbyA9IHsgaW5kZXgsIGJpbmRpbmcsIHBhcnQsIGV2YWx1YXRvcjogY29uc3RydWN0b3IgfTsKICAgICAgICBmb3IgKGxldCBqPTA7IGo8ZGVwZW5kZW5jaWVzLmxlbmd0aDsgaisrKSB7CiAgICAgICAgICBsZXQgdHJpZ2dlciA9IGRlcGVuZGVuY2llc1tqXTsKICAgICAgICAgIGlmICh0eXBlb2YgdHJpZ2dlciA9PSAnc3RyaW5nJykgewogICAgICAgICAgICB0cmlnZ2VyID0gcGFyc2VBcmcodHJpZ2dlcik7CiAgICAgICAgICAgIHRyaWdnZXIud2lsZGNhcmQgPSB0cnVlOwogICAgICAgICAgfQogICAgICAgICAgY29uc3RydWN0b3IuX2FkZFRlbXBsYXRlUHJvcGVydHlFZmZlY3QodGVtcGxhdGVJbmZvLCB0cmlnZ2VyLnJvb3RQcm9wZXJ0eSwgewogICAgICAgICAgICBmbjogcnVuQmluZGluZ0VmZmVjdCwKICAgICAgICAgICAgaW5mbywgdHJpZ2dlcgogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfQoKICAvKioKICAgKiBJbXBsZW1lbnRzIHRoZSAiYmluZGluZyIgKHByb3BlcnR5L3BhdGggYmluZGluZykgZWZmZWN0LgogICAqCiAgICogTm90ZSB0aGF0IGJpbmRpbmcgc3ludGF4IGlzIG92ZXJyaWRhYmxlIHZpYSBgX3BhcnNlQmluZGluZ3NgIGFuZAogICAqIGBfZXZhbHVhdGVCaW5kaW5nYC4gIFRoaXMgbWV0aG9kIHdpbGwgY2FsbCBgX2V2YWx1YXRlQmluZGluZ2AgZm9yIGFueQogICAqIG5vbi1saXRlcmFsIHBhcnRzIHJldHVybmVkIGZyb20gYF9wYXJzZUJpbmRpbmdzYC4gIEhvd2V2ZXIsCiAgICogdGhlcmUgaXMgbm8gc3VwcG9ydCBmb3IgX3BhdGhfIGJpbmRpbmdzIHZpYSBjdXN0b20gYmluZGluZyBwYXJ0cywKICAgKiBhcyB0aGlzIGlzIHNwZWNpZmljIHRvIFBvbHltZXIncyBwYXRoIGJpbmRpbmcgc3ludGF4LgogICAqCiAgICogQHBhcmFtIHshUHJvcGVydHlFZmZlY3RzVHlwZX0gaW5zdCBUaGUgaW5zdGFuY2UgdGhlIGVmZmVjdCB3aWxsIGJlIHJ1biBvbgogICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIE5hbWUgb2YgcHJvcGVydHkKICAgKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgQmFnIG9mIGN1cnJlbnQgcHJvcGVydHkgY2hhbmdlcwogICAqIEBwYXJhbSB7T2JqZWN0fSBvbGRQcm9wcyBCYWcgb2YgcHJldmlvdXMgdmFsdWVzIGZvciBjaGFuZ2VkIHByb3BlcnRpZXMKICAgKiBAcGFyYW0gez99IGluZm8gRWZmZWN0IG1ldGFkYXRhCiAgICogQHBhcmFtIHtib29sZWFufSBoYXNQYXRocyBUcnVlIHdpdGggYHByb3BzYCBjb250YWlucyBvbmUgb3IgbW9yZSBwYXRocwogICAqIEBwYXJhbSB7QXJyYXl9IG5vZGVMaXN0IExpc3Qgb2Ygbm9kZXMgYXNzb2NpYXRlZCB3aXRoIGBub2RlSW5mb0xpc3RgIHRlbXBsYXRlCiAgICogICBtZXRhZGF0YQogICAqIEByZXR1cm4ge3ZvaWR9CiAgICogQHByaXZhdGUKICAgKi8KICBmdW5jdGlvbiBydW5CaW5kaW5nRWZmZWN0KGluc3QsIHBhdGgsIHByb3BzLCBvbGRQcm9wcywgaW5mbywgaGFzUGF0aHMsIG5vZGVMaXN0KSB7CiAgICBsZXQgbm9kZSA9IG5vZGVMaXN0W2luZm8uaW5kZXhdOwogICAgbGV0IGJpbmRpbmcgPSBpbmZvLmJpbmRpbmc7CiAgICBsZXQgcGFydCA9IGluZm8ucGFydDsKICAgIC8vIFN1YnBhdGggbm90aWZpY2F0aW9uOiB0cmFuc2Zvcm0gcGF0aCBhbmQgc2V0IHRvIGNsaWVudAogICAgLy8gZS5nLjogZm9vPSJ7e29iai5zdWJ9fSIsIHBhdGg6ICdvYmouc3ViLnByb3AnLCBzZXQgJ2Zvby5wcm9wJz1vYmouc3ViLnByb3AKICAgIGlmIChoYXNQYXRocyAmJiBwYXJ0LnNvdXJjZSAmJiAocGF0aC5sZW5ndGggPiBwYXJ0LnNvdXJjZS5sZW5ndGgpICYmCiAgICAgICAgKGJpbmRpbmcua2luZCA9PSAncHJvcGVydHknKSAmJiAhYmluZGluZy5pc0NvbXBvdW5kICYmCiAgICAgICAgbm9kZS5fX2lzUHJvcGVydHlFZmZlY3RzQ2xpZW50ICYmCiAgICAgICAgbm9kZS5fX2RhdGFIYXNBY2Nlc3NvciAmJiBub2RlLl9fZGF0YUhhc0FjY2Vzc29yW2JpbmRpbmcudGFyZ2V0XSkgewogICAgICBsZXQgdmFsdWUgPSBwcm9wc1twYXRoXTsKICAgICAgcGF0aCA9IFBvbHltZXIuUGF0aC50cmFuc2xhdGUocGFydC5zb3VyY2UsIGJpbmRpbmcudGFyZ2V0LCBwYXRoKTsKICAgICAgaWYgKG5vZGUuX3NldFBlbmRpbmdQcm9wZXJ0eU9yUGF0aChwYXRoLCB2YWx1ZSwgZmFsc2UsIHRydWUpKSB7CiAgICAgICAgaW5zdC5fZW5xdWV1ZUNsaWVudChub2RlKTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgbGV0IHZhbHVlID0gaW5mby5ldmFsdWF0b3IuX2V2YWx1YXRlQmluZGluZyhpbnN0LCBwYXJ0LCBwYXRoLCBwcm9wcywgb2xkUHJvcHMsIGhhc1BhdGhzKTsKICAgICAgLy8gUHJvcGFnYXRlIHZhbHVlIHRvIGNoaWxkCiAgICAgIGFwcGx5QmluZGluZ1ZhbHVlKGluc3QsIG5vZGUsIGJpbmRpbmcsIHBhcnQsIHZhbHVlKTsKICAgIH0KICB9CgogIC8qKgogICAqIFNldHMgdGhlIHZhbHVlIGZvciBhbiAiYmluZGluZyIgKGJpbmRpbmcpIGVmZmVjdCB0byBhIG5vZGUsCiAgICogZWl0aGVyIGFzIGEgcHJvcGVydHkgb3IgYXR0cmlidXRlLgogICAqCiAgICogQHBhcmFtIHshUHJvcGVydHlFZmZlY3RzVHlwZX0gaW5zdCBUaGUgaW5zdGFuY2Ugb3duaW5nIHRoZSBiaW5kaW5nIGVmZmVjdAogICAqIEBwYXJhbSB7Tm9kZX0gbm9kZSBUYXJnZXQgbm9kZSBmb3IgYmluZGluZwogICAqIEBwYXJhbSB7IUJpbmRpbmd9IGJpbmRpbmcgQmluZGluZyBtZXRhZGF0YQogICAqIEBwYXJhbSB7IUJpbmRpbmdQYXJ0fSBwYXJ0IEJpbmRpbmcgcGFydCBtZXRhZGF0YQogICAqIEBwYXJhbSB7Kn0gdmFsdWUgVmFsdWUgdG8gc2V0CiAgICogQHJldHVybiB7dm9pZH0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIGFwcGx5QmluZGluZ1ZhbHVlKGluc3QsIG5vZGUsIGJpbmRpbmcsIHBhcnQsIHZhbHVlKSB7CiAgICB2YWx1ZSA9IGNvbXB1dGVCaW5kaW5nVmFsdWUobm9kZSwgdmFsdWUsIGJpbmRpbmcsIHBhcnQpOwogICAgaWYgKFBvbHltZXIuc2FuaXRpemVET01WYWx1ZSkgewogICAgICB2YWx1ZSA9IFBvbHltZXIuc2FuaXRpemVET01WYWx1ZSh2YWx1ZSwgYmluZGluZy50YXJnZXQsIGJpbmRpbmcua2luZCwgbm9kZSk7CiAgICB9CiAgICBpZiAoYmluZGluZy5raW5kID09ICdhdHRyaWJ1dGUnKSB7CiAgICAgIC8vIEF0dHJpYnV0ZSBiaW5kaW5nCiAgICAgIGluc3QuX3ZhbHVlVG9Ob2RlQXR0cmlidXRlKC8qKiBAdHlwZSB7RWxlbWVudH0gKi8obm9kZSksIHZhbHVlLCBiaW5kaW5nLnRhcmdldCk7CiAgICB9IGVsc2UgewogICAgICAvLyBQcm9wZXJ0eSBiaW5kaW5nCiAgICAgIGxldCBwcm9wID0gYmluZGluZy50YXJnZXQ7CiAgICAgIGlmIChub2RlLl9faXNQcm9wZXJ0eUVmZmVjdHNDbGllbnQgJiYKICAgICAgICAgIG5vZGUuX19kYXRhSGFzQWNjZXNzb3IgJiYgbm9kZS5fX2RhdGFIYXNBY2Nlc3Nvcltwcm9wXSkgewogICAgICAgIGlmICghbm9kZVtUWVBFUy5SRUFEX09OTFldIHx8ICFub2RlW1RZUEVTLlJFQURfT05MWV1bcHJvcF0pIHsKICAgICAgICAgIGlmIChub2RlLl9zZXRQZW5kaW5nUHJvcGVydHkocHJvcCwgdmFsdWUpKSB7CiAgICAgICAgICAgIGluc3QuX2VucXVldWVDbGllbnQobm9kZSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9IGVsc2UgIHsKICAgICAgICBpbnN0Ll9zZXRVbm1hbmFnZWRQcm9wZXJ0eVRvTm9kZShub2RlLCBwcm9wLCB2YWx1ZSk7CiAgICAgIH0KICAgIH0KICB9CgogIC8qKgogICAqIFRyYW5zZm9ybXMgYW4gImJpbmRpbmciIGVmZmVjdCB2YWx1ZSBiYXNlZCBvbiBjb21wb3VuZCAmIG5lZ2F0aW9uCiAgICogZWZmZWN0IG1ldGFkYXRhLCBhcyB3ZWxsIGFzIGhhbmRsaW5nIGZvciBzcGVjaWFsLWNhc2UgcHJvcGVydGllcwogICAqCiAgICogQHBhcmFtIHtOb2RlfSBub2RlIE5vZGUgdGhlIHZhbHVlIHdpbGwgYmUgc2V0IHRvCiAgICogQHBhcmFtIHsqfSB2YWx1ZSBWYWx1ZSB0byBzZXQKICAgKiBAcGFyYW0geyFCaW5kaW5nfSBiaW5kaW5nIEJpbmRpbmcgbWV0YWRhdGEKICAgKiBAcGFyYW0geyFCaW5kaW5nUGFydH0gcGFydCBCaW5kaW5nIHBhcnQgbWV0YWRhdGEKICAgKiBAcmV0dXJuIHsqfSBUcmFuc2Zvcm1lZCB2YWx1ZSB0byBzZXQKICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIGNvbXB1dGVCaW5kaW5nVmFsdWUobm9kZSwgdmFsdWUsIGJpbmRpbmcsIHBhcnQpIHsKICAgIGlmIChiaW5kaW5nLmlzQ29tcG91bmQpIHsKICAgICAgbGV0IHN0b3JhZ2UgPSBub2RlLl9fZGF0YUNvbXBvdW5kU3RvcmFnZVtiaW5kaW5nLnRhcmdldF07CiAgICAgIHN0b3JhZ2VbcGFydC5jb21wb3VuZEluZGV4XSA9IHZhbHVlOwogICAgICB2YWx1ZSA9IHN0b3JhZ2Uuam9pbignJyk7CiAgICB9CiAgICBpZiAoYmluZGluZy5raW5kICE9PSAnYXR0cmlidXRlJykgewogICAgICAvLyBTb21lIGJyb3dzZXJzIHNlcmlhbGl6ZSBgdW5kZWZpbmVkYCB0byBgInVuZGVmaW5lZCJgCiAgICAgIGlmIChiaW5kaW5nLnRhcmdldCA9PT0gJ3RleHRDb250ZW50JyB8fAogICAgICAgICAgKGJpbmRpbmcudGFyZ2V0ID09PSAndmFsdWUnICYmCiAgICAgICAgICAgIChub2RlLmxvY2FsTmFtZSA9PT0gJ2lucHV0JyB8fCBub2RlLmxvY2FsTmFtZSA9PT0gJ3RleHRhcmVhJykpKSB7CiAgICAgICAgdmFsdWUgPSB2YWx1ZSA9PSB1bmRlZmluZWQgPyAnJyA6IHZhbHVlOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gdmFsdWU7CiAgfQoKICAvKioKICAgKiBSZXR1cm5zIHRydWUgaWYgYSBiaW5kaW5nJ3MgbWV0YWRhdGEgbWVldHMgYWxsIHRoZSByZXF1aXJlbWVudHMgdG8gYWxsb3cKICAgKiAyLXdheSBiaW5kaW5nLCBhbmQgdGhlcmVmb3JlIGEgYDxwcm9wZXJ0eT4tY2hhbmdlZGAgZXZlbnQgbGlzdGVuZXIgc2hvdWxkIGJlCiAgICogYWRkZWQ6CiAgICogLSB1c2VkIGN1cmx5IGJyYWNlcwogICAqIC0gaXMgYSBwcm9wZXJ0eSAobm90IGF0dHJpYnV0ZSkgYmluZGluZwogICAqIC0gaXMgbm90IGEgdGV4dENvbnRlbnQgYmluZGluZwogICAqIC0gaXMgbm90IGNvbXBvdW5kCiAgICoKICAgKiBAcGFyYW0geyFCaW5kaW5nfSBiaW5kaW5nIEJpbmRpbmcgbWV0YWRhdGEKICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIDItd2F5IGxpc3RlbmVyIHNob3VsZCBiZSBhZGRlZAogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gc2hvdWxkQWRkTGlzdGVuZXIoYmluZGluZykgewogICAgcmV0dXJuIEJvb2xlYW4oYmluZGluZy50YXJnZXQpICYmCiAgICAgICAgICAgYmluZGluZy5raW5kICE9ICdhdHRyaWJ1dGUnICYmCiAgICAgICAgICAgYmluZGluZy5raW5kICE9ICd0ZXh0JyAmJgogICAgICAgICAgICFiaW5kaW5nLmlzQ29tcG91bmQgJiYKICAgICAgICAgICBiaW5kaW5nLnBhcnRzWzBdLm1vZGUgPT09ICd7JzsKICB9CgogIC8qKgogICAqIFNldHVwIGNvbXBvdW5kIGJpbmRpbmcgc3RvcmFnZSBzdHJ1Y3R1cmVzLCBub3RpZnkgbGlzdGVuZXJzLCBhbmQgZGF0YUhvc3QKICAgKiByZWZlcmVuY2VzIG9udG8gdGhlIGJvdW5kIG5vZGVMaXN0LgogICAqCiAgICogQHBhcmFtIHshUHJvcGVydHlFZmZlY3RzVHlwZX0gaW5zdCBJbnN0YW5jZSB0aGF0IGJhcyBiZWVuIHByZXZpb3VzbHkgYm91bmQKICAgKiBAcGFyYW0ge1RlbXBsYXRlSW5mb30gdGVtcGxhdGVJbmZvIFRlbXBsYXRlIG1ldGFkYXRhCiAgICogQHJldHVybiB7dm9pZH0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHNldHVwQmluZGluZ3MoaW5zdCwgdGVtcGxhdGVJbmZvKSB7CiAgICAvLyBTZXR1cCBjb21wb3VuZCBzdG9yYWdlLCBkYXRhSG9zdCwgYW5kIG5vdGlmeSBsaXN0ZW5lcnMKICAgIGxldCB7bm9kZUxpc3QsIG5vZGVJbmZvTGlzdH0gPSB0ZW1wbGF0ZUluZm87CiAgICBpZiAobm9kZUluZm9MaXN0Lmxlbmd0aCkgewogICAgICBmb3IgKGxldCBpPTA7IGkgPCBub2RlSW5mb0xpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICBsZXQgaW5mbyA9IG5vZGVJbmZvTGlzdFtpXTsKICAgICAgICBsZXQgbm9kZSA9IG5vZGVMaXN0W2ldOwogICAgICAgIGxldCBiaW5kaW5ncyA9IGluZm8uYmluZGluZ3M7CiAgICAgICAgaWYgKGJpbmRpbmdzKSB7CiAgICAgICAgICBmb3IgKGxldCBpPTA7IGk8YmluZGluZ3MubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgbGV0IGJpbmRpbmcgPSBiaW5kaW5nc1tpXTsKICAgICAgICAgICAgc2V0dXBDb21wb3VuZFN0b3JhZ2Uobm9kZSwgYmluZGluZyk7CiAgICAgICAgICAgIGFkZE5vdGlmeUxpc3RlbmVyKG5vZGUsIGluc3QsIGJpbmRpbmcpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBub2RlLl9fZGF0YUhvc3QgPSBpbnN0OwogICAgICB9CiAgICB9CiAgfQoKICAvKioKICAgKiBJbml0aWFsaXplcyBgX19kYXRhQ29tcG91bmRTdG9yYWdlYCBsb2NhbCBzdG9yYWdlIG9uIGEgYm91bmQgbm9kZSB3aXRoCiAgICogaW5pdGlhbCBsaXRlcmFsIGRhdGEgZm9yIGNvbXBvdW5kIGJpbmRpbmdzLCBhbmQgc2V0cyB0aGUgam9pbmVkCiAgICogbGl0ZXJhbCBwYXJ0cyB0byB0aGUgYm91bmQgcHJvcGVydHkuCiAgICoKICAgKiBXaGVuIGNoYW5nZXMgdG8gY29tcG91bmQgcGFydHMgb2NjdXIsIHRoZXkgYXJlIGZpcnN0IHNldCBpbnRvIHRoZSBjb21wb3VuZAogICAqIHN0b3JhZ2UgYXJyYXkgZm9yIHRoYXQgcHJvcGVydHksIGFuZCB0aGVuIHRoZSBhcnJheSBpcyBqb2luZWQgdG8gcmVzdWx0IGluCiAgICogdGhlIGZpbmFsIHZhbHVlIHNldCB0byB0aGUgcHJvcGVydHkvYXR0cmlidXRlLgogICAqCiAgICogQHBhcmFtIHtOb2RlfSBub2RlIEJvdW5kIG5vZGUgdG8gaW5pdGlhbGl6ZQogICAqIEBwYXJhbSB7QmluZGluZ30gYmluZGluZyBCaW5kaW5nIG1ldGFkYXRhCiAgICogQHJldHVybiB7dm9pZH0KICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHNldHVwQ29tcG91bmRTdG9yYWdlKG5vZGUsIGJpbmRpbmcpIHsKICAgIGlmIChiaW5kaW5nLmlzQ29tcG91bmQpIHsKICAgICAgLy8gQ3JlYXRlIGNvbXBvdW5kIHN0b3JhZ2UgbWFwCiAgICAgIGxldCBzdG9yYWdlID0gbm9kZS5fX2RhdGFDb21wb3VuZFN0b3JhZ2UgfHwKICAgICAgICAobm9kZS5fX2RhdGFDb21wb3VuZFN0b3JhZ2UgPSB7fSk7CiAgICAgIGxldCBwYXJ0cyA9IGJpbmRpbmcucGFydHM7CiAgICAgIC8vIENvcHkgbGl0ZXJhbHMgZnJvbSBwYXJ0cyBpbnRvIHN0b3JhZ2UgZm9yIHRoaXMgYmluZGluZwogICAgICBsZXQgbGl0ZXJhbHMgPSBuZXcgQXJyYXkocGFydHMubGVuZ3RoKTsKICAgICAgZm9yIChsZXQgaj0wOyBqPHBhcnRzLmxlbmd0aDsgaisrKSB7CiAgICAgICAgbGl0ZXJhbHNbal0gPSBwYXJ0c1tqXS5saXRlcmFsOwogICAgICB9CiAgICAgIGxldCB0YXJnZXQgPSBiaW5kaW5nLnRhcmdldDsKICAgICAgc3RvcmFnZVt0YXJnZXRdID0gbGl0ZXJhbHM7CiAgICAgIC8vIENvbmZpZ3VyZSBwcm9wZXJ0aWVzIHdpdGggdGhlaXIgbGl0ZXJhbCBwYXJ0cwogICAgICBpZiAoYmluZGluZy5saXRlcmFsICYmIGJpbmRpbmcua2luZCA9PSAncHJvcGVydHknKSB7CiAgICAgICAgbm9kZVt0YXJnZXRdID0gYmluZGluZy5saXRlcmFsOwogICAgICB9CiAgICB9CiAgfQoKICAvKioKICAgKiBBZGRzIGEgMi13YXkgYmluZGluZyBub3RpZmljYXRpb24gZXZlbnQgbGlzdGVuZXIgdG8gdGhlIG5vZGUgc3BlY2lmaWVkCiAgICoKICAgKiBAcGFyYW0ge09iamVjdH0gbm9kZSBDaGlsZCBlbGVtZW50IHRvIGFkZCBsaXN0ZW5lciB0bwogICAqIEBwYXJhbSB7IVByb3BlcnR5RWZmZWN0c1R5cGV9IGluc3QgSG9zdCBlbGVtZW50IGluc3RhbmNlIHRvIGhhbmRsZSBub3RpZmljYXRpb24gZXZlbnQKICAgKiBAcGFyYW0ge0JpbmRpbmd9IGJpbmRpbmcgQmluZGluZyBtZXRhZGF0YQogICAqIEByZXR1cm4ge3ZvaWR9CiAgICogQHByaXZhdGUKICAgKi8KICBmdW5jdGlvbiBhZGROb3RpZnlMaXN0ZW5lcihub2RlLCBpbnN0LCBiaW5kaW5nKSB7CiAgICBpZiAoYmluZGluZy5saXN0ZW5lckV2ZW50KSB7CiAgICAgIGxldCBwYXJ0ID0gYmluZGluZy5wYXJ0c1swXTsKICAgICAgbm9kZS5hZGRFdmVudExpc3RlbmVyKGJpbmRpbmcubGlzdGVuZXJFdmVudCwgZnVuY3Rpb24oZSkgewogICAgICAgIGhhbmRsZU5vdGlmaWNhdGlvbihlLCBpbnN0LCBiaW5kaW5nLnRhcmdldCwgcGFydC5zb3VyY2UsIHBhcnQubmVnYXRlKTsKICAgICAgfSk7CiAgICB9CiAgfQoKICAvLyAtLSBmb3IgbWV0aG9kLWJhc2VkIGVmZmVjdHMgKGNvbXBsZXhPYnNlcnZlciAmIGNvbXB1dGVkKSAtLS0tLS0tLS0tLS0tLQoKICAvKioKICAgKiBBZGRzIHByb3BlcnR5IGVmZmVjdHMgZm9yIGVhY2ggYXJndW1lbnQgaW4gdGhlIG1ldGhvZCBzaWduYXR1cmUgKGFuZAogICAqIG9wdGlvbmFsbHksIGZvciB0aGUgbWV0aG9kIG5hbWUgaWYgYGR5bmFtaWNgIGlzIHRydWUpIHRoYXQgY2FsbHMgdGhlCiAgICogcHJvdmlkZWQgZWZmZWN0IGZ1bmN0aW9uLgogICAqCiAgICogQHBhcmFtIHtFbGVtZW50IHwgT2JqZWN0fSBtb2RlbCBQcm90b3R5cGUgb3IgaW5zdGFuY2UKICAgKiBAcGFyYW0geyFNZXRob2RTaWduYXR1cmV9IHNpZyBNZXRob2Qgc2lnbmF0dXJlIG1ldGFkYXRhCiAgICogQHBhcmFtIHtzdHJpbmd9IHR5cGUgVHlwZSBvZiBwcm9wZXJ0eSBlZmZlY3QgdG8gYWRkCiAgICogQHBhcmFtIHtGdW5jdGlvbn0gZWZmZWN0Rm4gRnVuY3Rpb24gdG8gcnVuIHdoZW4gYXJndW1lbnRzIGNoYW5nZQogICAqIEBwYXJhbSB7Kj19IG1ldGhvZEluZm8gRWZmZWN0LXNwZWNpZmljIGluZm9ybWF0aW9uIHRvIGJlIGluY2x1ZGVkIGluCiAgICogICBtZXRob2QgZWZmZWN0IG1ldGFkYXRhCiAgICogQHBhcmFtIHtib29sZWFufE9iamVjdD19IGR5bmFtaWNGbiBCb29sZWFuIG9yIG9iamVjdCBtYXAgaW5kaWNhdGluZyB3aGV0aGVyCiAgICogICBtZXRob2QgbmFtZXMgc2hvdWxkIGJlIGluY2x1ZGVkIGFzIGEgZGVwZW5kZW5jeSB0byB0aGUgZWZmZWN0LiBOb3RlLAogICAqICAgZGVmYXVsdHMgdG8gdHJ1ZSBpZiB0aGUgc2lnbmF0dXJlIGlzIHN0YXRpYyAoc2lnLnN0YXRpYyBpcyB0cnVlKS4KICAgKiBAcmV0dXJuIHt2b2lkfQogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gY3JlYXRlTWV0aG9kRWZmZWN0KG1vZGVsLCBzaWcsIHR5cGUsIGVmZmVjdEZuLCBtZXRob2RJbmZvLCBkeW5hbWljRm4pIHsKICAgIGR5bmFtaWNGbiA9IHNpZy5zdGF0aWMgfHwgKGR5bmFtaWNGbiAmJgogICAgICAodHlwZW9mIGR5bmFtaWNGbiAhPT0gJ29iamVjdCcgfHwgZHluYW1pY0ZuW3NpZy5tZXRob2ROYW1lXSkpOwogICAgbGV0IGluZm8gPSB7CiAgICAgIG1ldGhvZE5hbWU6IHNpZy5tZXRob2ROYW1lLAogICAgICBhcmdzOiBzaWcuYXJncywKICAgICAgbWV0aG9kSW5mbywKICAgICAgZHluYW1pY0ZuCiAgICB9OwogICAgZm9yIChsZXQgaT0wLCBhcmc7IChpPHNpZy5hcmdzLmxlbmd0aCkgJiYgKGFyZz1zaWcuYXJnc1tpXSk7IGkrKykgewogICAgICBpZiAoIWFyZy5saXRlcmFsKSB7CiAgICAgICAgbW9kZWwuX2FkZFByb3BlcnR5RWZmZWN0KGFyZy5yb290UHJvcGVydHksIHR5cGUsIHsKICAgICAgICAgIGZuOiBlZmZlY3RGbiwgaW5mbzogaW5mbywgdHJpZ2dlcjogYXJnCiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0KICAgIGlmIChkeW5hbWljRm4pIHsKICAgICAgbW9kZWwuX2FkZFByb3BlcnR5RWZmZWN0KHNpZy5tZXRob2ROYW1lLCB0eXBlLCB7CiAgICAgICAgZm46IGVmZmVjdEZuLCBpbmZvOiBpbmZvCiAgICAgIH0pOwogICAgfQogIH0KCiAgLyoqCiAgICogQ2FsbHMgYSBtZXRob2Qgd2l0aCBhcmd1bWVudHMgbWFyc2hhbGVkIGZyb20gcHJvcGVydGllcyBvbiB0aGUgaW5zdGFuY2UKICAgKiBiYXNlZCBvbiB0aGUgbWV0aG9kIHNpZ25hdHVyZSBjb250YWluZWQgaW4gdGhlIGVmZmVjdCBtZXRhZGF0YS4KICAgKgogICAqIE11bHRpLXByb3BlcnR5IG9ic2VydmVycywgY29tcHV0ZWQgcHJvcGVydGllcywgYW5kIGlubGluZSBjb21wdXRpbmcKICAgKiBmdW5jdGlvbnMgY2FsbCB0aGlzIGZ1bmN0aW9uIHRvIGludm9rZSB0aGUgbWV0aG9kLCB0aGVuIHVzZSB0aGUgcmV0dXJuCiAgICogdmFsdWUgYWNjb3JkaW5nbHkuCiAgICoKICAgKiBAcGFyYW0geyFQcm9wZXJ0eUVmZmVjdHNUeXBlfSBpbnN0IFRoZSBpbnN0YW5jZSB0aGUgZWZmZWN0IHdpbGwgYmUgcnVuIG9uCiAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IE5hbWUgb2YgcHJvcGVydHkKICAgKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgQmFnIG9mIGN1cnJlbnQgcHJvcGVydHkgY2hhbmdlcwogICAqIEBwYXJhbSB7T2JqZWN0fSBvbGRQcm9wcyBCYWcgb2YgcHJldmlvdXMgdmFsdWVzIGZvciBjaGFuZ2VkIHByb3BlcnRpZXMKICAgKiBAcGFyYW0gez99IGluZm8gRWZmZWN0IG1ldGFkYXRhCiAgICogQHJldHVybiB7Kn0gUmV0dXJucyB0aGUgcmV0dXJuIHZhbHVlIGZyb20gdGhlIG1ldGhvZCBpbnZvY2F0aW9uCiAgICogQHByaXZhdGUKICAgKi8KICBmdW5jdGlvbiBydW5NZXRob2RFZmZlY3QoaW5zdCwgcHJvcGVydHksIHByb3BzLCBvbGRQcm9wcywgaW5mbykgewogICAgLy8gSW5zdGFuY2VzIGNhbiBvcHRpb25hbGx5IGhhdmUgYSBfbWV0aG9kSG9zdCB3aGljaCBhbGxvd3MgcmVkaXJlY3Rpbmcgd2hlcmUKICAgIC8vIHRvIGZpbmQgbWV0aG9kcy4gQ3VycmVudGx5IHVzZWQgYnkgYHRlbXBsYXRpemVgLgogICAgbGV0IGNvbnRleHQgPSBpbnN0Ll9tZXRob2RIb3N0IHx8IGluc3Q7CiAgICBsZXQgZm4gPSBjb250ZXh0W2luZm8ubWV0aG9kTmFtZV07CiAgICBpZiAoZm4pIHsKICAgICAgbGV0IGFyZ3MgPSBpbnN0Ll9tYXJzaGFsQXJncyhpbmZvLmFyZ3MsIHByb3BlcnR5LCBwcm9wcyk7CiAgICAgIHJldHVybiBmbi5hcHBseShjb250ZXh0LCBhcmdzKTsKICAgIH0gZWxzZSBpZiAoIWluZm8uZHluYW1pY0ZuKSB7CiAgICAgIGNvbnNvbGUud2FybignbWV0aG9kIGAnICsgaW5mby5tZXRob2ROYW1lICsgJ2Agbm90IGRlZmluZWQnKTsKICAgIH0KICB9CgogIGNvbnN0IGVtcHR5QXJyYXkgPSBbXTsKCiAgLy8gUmVndWxhciBleHByZXNzaW9ucyB1c2VkIGZvciBiaW5kaW5nCiAgY29uc3QgSURFTlQgID0gJyg/OicgKyAnW2EtekEtWl8kXVtcXHcuOiRcXC0qXSonICsgJyknOwogIGNvbnN0IE5VTUJFUiA9ICcoPzonICsgJ1stK10/WzAtOV0qXFwuP1swLTldKyg/OltlRV1bLStdP1swLTldKyk/JyArICcpJzsKICBjb25zdCBTUVVPVEVfU1RSSU5HID0gJyg/OicgKyAnXCcoPzpbXlwnXFxcXF18XFxcXC4pKlwnJyArICcpJzsKICBjb25zdCBEUVVPVEVfU1RSSU5HID0gJyg/OicgKyAnIig/OlteIlxcXFxdfFxcXFwuKSoiJyArICcpJzsKICBjb25zdCBTVFJJTkcgPSAnKD86JyArIFNRVU9URV9TVFJJTkcgKyAnfCcgKyBEUVVPVEVfU1RSSU5HICsgJyknOwogIGNvbnN0IEFSR1VNRU5UID0gJyg/OignICsgSURFTlQgKyAnfCcgKyBOVU1CRVIgKyAnfCcgKyAgU1RSSU5HICsgJylcXHMqJyArICcpJzsKICBjb25zdCBBUkdVTUVOVFMgPSAnKD86JyArIEFSR1VNRU5UICsgJyg/OixcXHMqJyArIEFSR1VNRU5UICsgJykqJyArICcpJzsKICBjb25zdCBBUkdVTUVOVF9MSVNUID0gJyg/OicgKyAnXFwoXFxzKicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoPzonICsgQVJHVU1FTlRTICsgJz8nICsgJyknICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xcKVxccyonICsgJyknOwogIGNvbnN0IEJJTkRJTkcgPSAnKCcgKyBJREVOVCArICdcXHMqJyArIEFSR1VNRU5UX0xJU1QgKyAnPycgKyAnKSc7IC8vIEdyb3VwIDMKICBjb25zdCBPUEVOX0JSQUNLRVQgPSAnKFxcW1xcW3x7eyknICsgJ1xccyonOwogIGNvbnN0IENMT1NFX0JSQUNLRVQgPSAnKD86XV18fX0pJzsKICBjb25zdCBORUdBVEUgPSAnKD86KCEpXFxzKik/JzsgLy8gR3JvdXAgMgogIGNvbnN0IEVYUFJFU1NJT04gPSBPUEVOX0JSQUNLRVQgKyBORUdBVEUgKyBCSU5ESU5HICsgQ0xPU0VfQlJBQ0tFVDsKICBjb25zdCBiaW5kaW5nUmVnZXggPSBuZXcgUmVnRXhwKEVYUFJFU1NJT04sICJnIik7CgogIC8qKgogICAqIENyZWF0ZSBhIHN0cmluZyBmcm9tIGJpbmRpbmcgcGFydHMgb2YgYWxsIHRoZSBsaXRlcmFsIHBhcnRzCiAgICoKICAgKiBAcGFyYW0geyFBcnJheTxCaW5kaW5nUGFydD59IHBhcnRzIEFsbCBwYXJ0cyB0byBzdHJpbmdpZnkKICAgKiBAcmV0dXJuIHtzdHJpbmd9IFN0cmluZyBtYWRlIGZyb20gdGhlIGxpdGVyYWwgcGFydHMKICAgKi8KICBmdW5jdGlvbiBsaXRlcmFsRnJvbVBhcnRzKHBhcnRzKSB7CiAgICBsZXQgcyA9ICcnOwogICAgZm9yIChsZXQgaT0wOyBpPHBhcnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgIGxldCBsaXRlcmFsID0gcGFydHNbaV0ubGl0ZXJhbDsKICAgICAgcyArPSBsaXRlcmFsIHx8ICcnOwogICAgfQogICAgcmV0dXJuIHM7CiAgfQoKICAvKioKICAgKiBQYXJzZXMgYW4gZXhwcmVzc2lvbiBzdHJpbmcgZm9yIGEgbWV0aG9kIHNpZ25hdHVyZSwgYW5kIHJldHVybnMgYSBtZXRhZGF0YQogICAqIGRlc2NyaWJpbmcgdGhlIG1ldGhvZCBpbiB0ZXJtcyBvZiBgbWV0aG9kTmFtZWAsIGBzdGF0aWNgICh3aGV0aGVyIGFsbCB0aGUKICAgKiBhcmd1bWVudHMgYXJlIGxpdGVyYWxzKSwgYW5kIGFuIGFycmF5IG9mIGBhcmdzYAogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IGV4cHJlc3Npb24gVGhlIGV4cHJlc3Npb24gdG8gcGFyc2UKICAgKiBAcmV0dXJuIHs/TWV0aG9kU2lnbmF0dXJlfSBUaGUgbWV0aG9kIG1ldGFkYXRhIG9iamVjdCBpZiBhIG1ldGhvZCBleHByZXNzaW9uIHdhcwogICAqICAgZm91bmQsIG90aGVyd2lzZSBgdW5kZWZpbmVkYAogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gcGFyc2VNZXRob2QoZXhwcmVzc2lvbikgewogICAgLy8gdHJpZXMgdG8gbWF0Y2ggdmFsaWQgamF2YXNjcmlwdCBwcm9wZXJ0eSBuYW1lcwogICAgbGV0IG0gPSBleHByZXNzaW9uLm1hdGNoKC8oW15cc10rPylcKChbXHNcU10qKVwpLyk7CiAgICBpZiAobSkgewogICAgICBsZXQgbWV0aG9kTmFtZSA9IG1bMV07CiAgICAgIGxldCBzaWcgPSB7IG1ldGhvZE5hbWUsIHN0YXRpYzogdHJ1ZSwgYXJnczogZW1wdHlBcnJheSB9OwogICAgICBpZiAobVsyXS50cmltKCkpIHsKICAgICAgICAvLyByZXBsYWNlIGVzY2FwZWQgY29tbWFzIHdpdGggY29tbWEgZW50aXR5LCBzcGxpdCBvbiB1bi1lc2NhcGVkIGNvbW1hcwogICAgICAgIGxldCBhcmdzID0gbVsyXS5yZXBsYWNlKC9cXCwvZywgJyZjb21tYTsnKS5zcGxpdCgnLCcpOwogICAgICAgIHJldHVybiBwYXJzZUFyZ3MoYXJncywgc2lnKTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gc2lnOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gbnVsbDsKICB9CgogIC8qKgogICAqIFBhcnNlcyBhbiBhcnJheSBvZiBhcmd1bWVudHMgYW5kIHNldHMgdGhlIGBhcmdzYCBwcm9wZXJ0eSBvZiB0aGUgc3VwcGxpZWQKICAgKiBzaWduYXR1cmUgbWV0YWRhdGEgb2JqZWN0LiBTZXRzIHRoZSBgc3RhdGljYCBwcm9wZXJ0eSB0byBmYWxzZSBpZiBhbnkKICAgKiBhcmd1bWVudCBpcyBhIG5vbi1saXRlcmFsLgogICAqCiAgICogQHBhcmFtIHshQXJyYXk8c3RyaW5nPn0gYXJnTGlzdCBBcnJheSBvZiBhcmd1bWVudCBuYW1lcwogICAqIEBwYXJhbSB7IU1ldGhvZFNpZ25hdHVyZX0gc2lnIE1ldGhvZCBzaWduYXR1cmUgbWV0YWRhdGEgb2JqZWN0CiAgICogQHJldHVybiB7IU1ldGhvZFNpZ25hdHVyZX0gVGhlIHVwZGF0ZWQgc2lnbmF0dXJlIG1ldGFkYXRhIG9iamVjdAogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gcGFyc2VBcmdzKGFyZ0xpc3QsIHNpZykgewogICAgc2lnLmFyZ3MgPSBhcmdMaXN0Lm1hcChmdW5jdGlvbihyYXdBcmcpIHsKICAgICAgbGV0IGFyZyA9IHBhcnNlQXJnKHJhd0FyZyk7CiAgICAgIGlmICghYXJnLmxpdGVyYWwpIHsKICAgICAgICBzaWcuc3RhdGljID0gZmFsc2U7CiAgICAgIH0KICAgICAgcmV0dXJuIGFyZzsKICAgIH0sIHRoaXMpOwogICAgcmV0dXJuIHNpZzsKICB9CgogIC8qKgogICAqIFBhcnNlcyBhbiBpbmRpdmlkdWFsIGFyZ3VtZW50LCBhbmQgcmV0dXJucyBhbiBhcmd1bWVudCBtZXRhZGF0YSBvYmplY3QKICAgKiB3aXRoIHRoZSBmb2xsb3dpbmcgZmllbGRzOgogICAqCiAgICogICB7CiAgICogICAgIHZhbHVlOiAncHJvcCcsICAgICAgICAvLyBwcm9wZXJ0eS9wYXRoIG9yIGxpdGVyYWwgdmFsdWUKICAgKiAgICAgbGl0ZXJhbDogZmFsc2UsICAgICAgIC8vIHdoZXRoZXIgYXJndW1lbnQgaXMgYSBsaXRlcmFsCiAgICogICAgIHN0cnVjdHVyZWQ6IGZhbHNlLCAgICAvLyB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBpcyBhIHBhdGgKICAgKiAgICAgcm9vdFByb3BlcnR5OiAncHJvcCcsIC8vIHRoZSByb290IHByb3BlcnR5IG9mIHRoZSBwYXRoCiAgICogICAgIHdpbGRjYXJkOiBmYWxzZSAgICAgICAvLyB3aGV0aGVyIHRoZSBhcmd1bWVudCB3YXMgYSB3aWxkY2FyZCAnLionIHBhdGgKICAgKiAgIH0KICAgKgogICAqIEBwYXJhbSB7c3RyaW5nfSByYXdBcmcgVGhlIHN0cmluZyB2YWx1ZSBvZiB0aGUgYXJndW1lbnQKICAgKiBAcmV0dXJuIHshTWV0aG9kQXJnfSBBcmd1bWVudCBtZXRhZGF0YSBvYmplY3QKICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIHBhcnNlQXJnKHJhd0FyZykgewogICAgLy8gY2xlYW4gdXAgd2hpdGVzcGFjZQogICAgbGV0IGFyZyA9IHJhd0FyZy50cmltKCkKICAgICAgLy8gcmVwbGFjZSBjb21tYSBlbnRpdHkgd2l0aCBjb21tYQogICAgICAucmVwbGFjZSgvJmNvbW1hOy9nLCAnLCcpCiAgICAgIC8vIHJlcGFpciBleHRyYSBlc2NhcGUgc2VxdWVuY2VzOyBub3RlIG9ubHkgY29tbWFzIHN0cmljdGx5IG5lZWQKICAgICAgLy8gZXNjYXBpbmcsIGJ1dCB3ZSBhbGxvdyBhbnkgb3RoZXIgY2hhciB0byBiZSBlc2NhcGVkIHNpbmNlIGl0cwogICAgICAvLyBsaWtlbHkgdXNlcnMgd2lsbCBkbyB0aGlzCiAgICAgIC5yZXBsYWNlKC9cXCguKS9nLCAnXCQxJykKICAgICAgOwogICAgLy8gYmFzaWMgYXJndW1lbnQgZGVzY3JpcHRvcgogICAgbGV0IGEgPSB7CiAgICAgIG5hbWU6IGFyZywKICAgICAgdmFsdWU6ICcnLAogICAgICBsaXRlcmFsOiBmYWxzZQogICAgfTsKICAgIC8vIGRldGVjdCBsaXRlcmFsIHZhbHVlIChtdXN0IGJlIFN0cmluZyBvciBOdW1iZXIpCiAgICBsZXQgZmMgPSBhcmdbMF07CiAgICBpZiAoZmMgPT09ICctJykgewogICAgICBmYyA9IGFyZ1sxXTsKICAgIH0KICAgIGlmIChmYyA+PSAnMCcgJiYgZmMgPD0gJzknKSB7CiAgICAgIGZjID0gJyMnOwogICAgfQogICAgc3dpdGNoKGZjKSB7CiAgICAgIGNhc2UgIiciOgogICAgICBjYXNlICciJzoKICAgICAgICBhLnZhbHVlID0gYXJnLnNsaWNlKDEsIC0xKTsKICAgICAgICBhLmxpdGVyYWwgPSB0cnVlOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlICcjJzoKICAgICAgICBhLnZhbHVlID0gTnVtYmVyKGFyZyk7CiAgICAgICAgYS5saXRlcmFsID0gdHJ1ZTsKICAgICAgICBicmVhazsKICAgIH0KICAgIC8vIGlmIG5vdCBsaXRlcmFsLCBsb29rIGZvciBzdHJ1Y3R1cmVkIHBhdGgKICAgIGlmICghYS5saXRlcmFsKSB7CiAgICAgIGEucm9vdFByb3BlcnR5ID0gUG9seW1lci5QYXRoLnJvb3QoYXJnKTsKICAgICAgLy8gZGV0ZWN0IHN0cnVjdHVyZWQgcGF0aCAoaGFzIGRvdHMpCiAgICAgIGEuc3RydWN0dXJlZCA9IFBvbHltZXIuUGF0aC5pc1BhdGgoYXJnKTsKICAgICAgaWYgKGEuc3RydWN0dXJlZCkgewogICAgICAgIGEud2lsZGNhcmQgPSAoYXJnLnNsaWNlKC0yKSA9PSAnLionKTsKICAgICAgICBpZiAoYS53aWxkY2FyZCkgewogICAgICAgICAgYS5uYW1lID0gYXJnLnNsaWNlKDAsIC0yKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBhOwogIH0KCiAgLy8gZGF0YSBhcGkKCiAgLyoqCiAgICogU2VuZHMgYXJyYXkgc3BsaWNlIG5vdGlmaWNhdGlvbnMgKGAuc3BsaWNlc2AgYW5kIGAubGVuZ3RoYCkKICAgKgogICAqIE5vdGU6IHRoaXMgaW1wbGVtZW50YXRpb24gb25seSBhY2NlcHRzIG5vcm1hbGl6ZWQgcGF0aHMKICAgKgogICAqIEBwYXJhbSB7IVByb3BlcnR5RWZmZWN0c1R5cGV9IGluc3QgSW5zdGFuY2UgdG8gc2VuZCBub3RpZmljYXRpb25zIHRvCiAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRoZSBtdXRhdGlvbnMgb2NjdXJyZWQgb24KICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCB0byB0aGUgYXJyYXkgdGhhdCB3YXMgbXV0YXRlZAogICAqIEBwYXJhbSB7QXJyYXl9IHNwbGljZXMgQXJyYXkgb2Ygc3BsaWNlIHJlY29yZHMKICAgKiBAcmV0dXJuIHt2b2lkfQogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gbm90aWZ5U3BsaWNlcyhpbnN0LCBhcnJheSwgcGF0aCwgc3BsaWNlcykgewogICAgbGV0IHNwbGljZXNQYXRoID0gcGF0aCArICcuc3BsaWNlcyc7CiAgICBpbnN0Lm5vdGlmeVBhdGgoc3BsaWNlc1BhdGgsIHsgaW5kZXhTcGxpY2VzOiBzcGxpY2VzIH0pOwogICAgaW5zdC5ub3RpZnlQYXRoKHBhdGggKyAnLmxlbmd0aCcsIGFycmF5Lmxlbmd0aCk7CiAgICAvLyBOdWxsIGhlcmUgdG8gYWxsb3cgcG90ZW50aWFsbHkgbGFyZ2Ugc3BsaWNlIHJlY29yZHMgdG8gYmUgR0MnZWQuCiAgICBpbnN0Ll9fZGF0YVtzcGxpY2VzUGF0aF0gPSB7aW5kZXhTcGxpY2VzOiBudWxsfTsKICB9CgogIC8qKgogICAqIENyZWF0ZXMgYSBzcGxpY2UgcmVjb3JkIGFuZCBzZW5kcyBhbiBhcnJheSBzcGxpY2Ugbm90aWZpY2F0aW9uIGZvcgogICAqIHRoZSBkZXNjcmliZWQgbXV0YXRpb24KICAgKgogICAqIE5vdGU6IHRoaXMgaW1wbGVtZW50YXRpb24gb25seSBhY2NlcHRzIG5vcm1hbGl6ZWQgcGF0aHMKICAgKgogICAqIEBwYXJhbSB7IVByb3BlcnR5RWZmZWN0c1R5cGV9IGluc3QgSW5zdGFuY2UgdG8gc2VuZCBub3RpZmljYXRpb25zIHRvCiAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRoZSBtdXRhdGlvbnMgb2NjdXJyZWQgb24KICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCB0byB0aGUgYXJyYXkgdGhhdCB3YXMgbXV0YXRlZAogICAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleCBJbmRleCBhdCB3aGljaCB0aGUgYXJyYXkgbXV0YXRpb24gb2NjdXJyZWQKICAgKiBAcGFyYW0ge251bWJlcn0gYWRkZWRDb3VudCBOdW1iZXIgb2YgYWRkZWQgaXRlbXMKICAgKiBAcGFyYW0ge0FycmF5fSByZW1vdmVkIEFycmF5IG9mIHJlbW92ZWQgaXRlbXMKICAgKiBAcmV0dXJuIHt2b2lkfQogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gbm90aWZ5U3BsaWNlKGluc3QsIGFycmF5LCBwYXRoLCBpbmRleCwgYWRkZWRDb3VudCwgcmVtb3ZlZCkgewogICAgbm90aWZ5U3BsaWNlcyhpbnN0LCBhcnJheSwgcGF0aCwgW3sKICAgICAgaW5kZXg6IGluZGV4LAogICAgICBhZGRlZENvdW50OiBhZGRlZENvdW50LAogICAgICByZW1vdmVkOiByZW1vdmVkLAogICAgICBvYmplY3Q6IGFycmF5LAogICAgICB0eXBlOiAnc3BsaWNlJwogICAgfV0pOwogIH0KCiAgLyoqCiAgICogUmV0dXJucyBhbiB1cHBlci1jYXNlZCB2ZXJzaW9uIG9mIHRoZSBzdHJpbmcuCiAgICoKICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBTdHJpbmcgdG8gdXBwZXJjYXNlCiAgICogQHJldHVybiB7c3RyaW5nfSBVcHBlcmNhc2VkIHN0cmluZwogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gdXBwZXIobmFtZSkgewogICAgcmV0dXJuIG5hbWVbMF0udG9VcHBlckNhc2UoKSArIG5hbWUuc3Vic3RyaW5nKDEpOwogIH0KCiAgLyoqCiAgICogRWxlbWVudCBjbGFzcyBtaXhpbiB0aGF0IHByb3ZpZGVzIG1ldGEtcHJvZ3JhbW1pbmcgZm9yIFBvbHltZXIncyB0ZW1wbGF0ZQogICAqIGJpbmRpbmcgYW5kIGRhdGEgb2JzZXJ2YXRpb24gKGNvbGxlY3RpdmVseSwgInByb3BlcnR5IGVmZmVjdHMiKSBzeXN0ZW0uCiAgICoKICAgKiBUaGlzIG1peGluIHVzZXMgcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBrZXkgc3RhdGljIG1ldGhvZHMgZm9yIGFkZGluZwogICAqIHByb3BlcnR5IGVmZmVjdHMgdG8gYW4gZWxlbWVudCBjbGFzczoKICAgKiAtIGBhZGRQcm9wZXJ0eUVmZmVjdGAKICAgKiAtIGBjcmVhdGVQcm9wZXJ0eU9ic2VydmVyYAogICAqIC0gYGNyZWF0ZU1ldGhvZE9ic2VydmVyYAogICAqIC0gYGNyZWF0ZU5vdGlmeWluZ1Byb3BlcnR5YAogICAqIC0gYGNyZWF0ZVJlYWRPbmx5UHJvcGVydHlgCiAgICogLSBgY3JlYXRlUmVmbGVjdGVkUHJvcGVydHlgCiAgICogLSBgY3JlYXRlQ29tcHV0ZWRQcm9wZXJ0eWAKICAgKiAtIGBiaW5kVGVtcGxhdGVgCiAgICoKICAgKiBFYWNoIG1ldGhvZCBjcmVhdGVzIG9uZSBvciBtb3JlIHByb3BlcnR5IGFjY2Vzc29ycywgYWxvbmcgd2l0aCBtZXRhZGF0YQogICAqIHVzZWQgYnkgdGhpcyBtaXhpbidzIGltcGxlbWVudGF0aW9uIG9mIGBfcHJvcGVydGllc0NoYW5nZWRgIHRvIHBlcmZvcm0KICAgKiB0aGUgcHJvcGVydHkgZWZmZWN0cy4KICAgKgogICAqIFVuZGVyc2NvcmVkIHZlcnNpb25zIG9mIHRoZSBhYm92ZSBtZXRob2RzIGFsc28gZXhpc3Qgb24gdGhlIGVsZW1lbnQKICAgKiBwcm90b3R5cGUgZm9yIGFkZGluZyBwcm9wZXJ0eSBlZmZlY3RzIG9uIGluc3RhbmNlcyBhdCBydW50aW1lLgogICAqCiAgICogTm90ZSB0aGF0IHRoaXMgbWl4aW4gb3ZlcnJpZGVzIHNldmVyYWwgYFByb3BlcnR5QWNjZXNzb3JzYCBtZXRob2RzLCBpbgogICAqIG1hbnkgY2FzZXMgdG8gbWFpbnRhaW4gZ3VhcmFudGVlcyBwcm92aWRlZCBieSB0aGUgUG9seW1lciAxLnggZmVhdHVyZXM7CiAgICogbm90YWJseSBpdCBjaGFuZ2VzIHByb3BlcnR5IGFjY2Vzc29ycyB0byBiZSBzeW5jaHJvbm91cyBieSBkZWZhdWx0CiAgICogd2hlcmVhcyB0aGUgZGVmYXVsdCB3aGVuIHVzaW5nIGBQcm9wZXJ0eUFjY2Vzc29yc2Agc3RhbmRhbG9uZSBpcyB0byBiZQogICAqIGFzeW5jIGJ5IGRlZmF1bHQuCiAgICoKICAgKiBAbWl4aW5GdW5jdGlvbgogICAqIEBwb2x5bWVyCiAgICogQGFwcGxpZXNNaXhpbiBQb2x5bWVyLlRlbXBsYXRlU3RhbXAKICAgKiBAYXBwbGllc01peGluIFBvbHltZXIuUHJvcGVydHlBY2Nlc3NvcnMKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBzdW1tYXJ5IEVsZW1lbnQgY2xhc3MgbWl4aW4gdGhhdCBwcm92aWRlcyBtZXRhLXByb2dyYW1taW5nIGZvciBQb2x5bWVyJ3MKICAgKiB0ZW1wbGF0ZSBiaW5kaW5nIGFuZCBkYXRhIG9ic2VydmF0aW9uIHN5c3RlbS4KICAgKi8KICBQb2x5bWVyLlByb3BlcnR5RWZmZWN0cyA9IFBvbHltZXIuZGVkdXBpbmdNaXhpbihzdXBlckNsYXNzID0+IHsKCiAgICAvKioKICAgICAqIEBjb25zdHJ1Y3RvcgogICAgICogQGV4dGVuZHMge3N1cGVyQ2xhc3N9CiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9Qcm9wZXJ0eUFjY2Vzc29yc30KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX1RlbXBsYXRlU3RhbXB9CiAgICAgKiBAdW5yZXN0cmljdGVkCiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBjb25zdCBwcm9wZXJ0eUVmZmVjdHNCYXNlID0gUG9seW1lci5UZW1wbGF0ZVN0YW1wKFBvbHltZXIuUHJvcGVydHlBY2Nlc3NvcnMoc3VwZXJDbGFzcykpOwoKICAgIC8qKgogICAgICogQHBvbHltZXIKICAgICAqIEBtaXhpbkNsYXNzCiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9Qcm9wZXJ0eUVmZmVjdHN9CiAgICAgKiBAZXh0ZW5kcyB7cHJvcGVydHlFZmZlY3RzQmFzZX0KICAgICAqIEB1bnJlc3RyaWN0ZWQKICAgICAqLwogICAgY2xhc3MgUHJvcGVydHlFZmZlY3RzIGV4dGVuZHMgcHJvcGVydHlFZmZlY3RzQmFzZSB7CgogICAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgICBzdXBlcigpOwogICAgICAgIC8qKiBAdHlwZSB7Ym9vbGVhbn0gKi8KICAgICAgICAvLyBVc2VkIHRvIGlkZW50aWZ5IHVzZXJzIG9mIHRoaXMgbWl4aW4sIGFsYSBpbnN0YW5jZW9mCiAgICAgICAgdGhpcy5fX2lzUHJvcGVydHlFZmZlY3RzQ2xpZW50ID0gdHJ1ZTsKICAgICAgICAvKiogQHR5cGUge251bWJlcn0gKi8KICAgICAgICAvLyBOT1RFOiB1c2VkIHRvIHRyYWNrIHJlLWVudHJhbnQgY2FsbHMgdG8gYF9mbHVzaFByb3BlcnRpZXNgCiAgICAgICAgLy8gcGF0aCBjaGFuZ2VzIGRpcnR5IGNoZWNrIGFnYWluc3QgYF9fZGF0YVRlbXBgIG9ubHkgZHVyaW5nIG9uZSAidHVybiIKICAgICAgICAvLyBhbmQgYXJlIGNsZWFyZWQgd2hlbiBgX19kYXRhQ291bnRlcmAgcmV0dXJucyB0byAwLgogICAgICAgIHRoaXMuX19kYXRhQ291bnRlciA9IDA7CiAgICAgICAgLyoqIEB0eXBlIHtib29sZWFufSAqLwogICAgICAgIHRoaXMuX19kYXRhQ2xpZW50c1JlYWR5OwogICAgICAgIC8qKiBAdHlwZSB7QXJyYXl9ICovCiAgICAgICAgdGhpcy5fX2RhdGFQZW5kaW5nQ2xpZW50czsKICAgICAgICAvKiogQHR5cGUge09iamVjdH0gKi8KICAgICAgICB0aGlzLl9fZGF0YVRvTm90aWZ5OwogICAgICAgIC8qKiBAdHlwZSB7T2JqZWN0fSAqLwogICAgICAgIHRoaXMuX19kYXRhTGlua2VkUGF0aHM7CiAgICAgICAgLyoqIEB0eXBlIHtib29sZWFufSAqLwogICAgICAgIHRoaXMuX19kYXRhSGFzUGF0aHM7CiAgICAgICAgLyoqIEB0eXBlIHtPYmplY3R9ICovCiAgICAgICAgdGhpcy5fX2RhdGFDb21wb3VuZFN0b3JhZ2U7CiAgICAgICAgLyoqIEB0eXBlIHtQb2x5bWVyX1Byb3BlcnR5RWZmZWN0c30gKi8KICAgICAgICB0aGlzLl9fZGF0YUhvc3Q7CiAgICAgICAgLyoqIEB0eXBlIHshT2JqZWN0fSAqLwogICAgICAgIHRoaXMuX19kYXRhVGVtcDsKICAgICAgICAvKiogQHR5cGUge2Jvb2xlYW59ICovCiAgICAgICAgdGhpcy5fX2RhdGFDbGllbnRzSW5pdGlhbGl6ZWQ7CiAgICAgICAgLyoqIEB0eXBlIHshT2JqZWN0fSAqLwogICAgICAgIHRoaXMuX19kYXRhOwogICAgICAgIC8qKiBAdHlwZSB7IU9iamVjdH0gKi8KICAgICAgICB0aGlzLl9fZGF0YVBlbmRpbmc7CiAgICAgICAgLyoqIEB0eXBlIHshT2JqZWN0fSAqLwogICAgICAgIHRoaXMuX19kYXRhT2xkOwogICAgICAgIC8qKiBAdHlwZSB7T2JqZWN0fSAqLwogICAgICAgIHRoaXMuX19jb21wdXRlRWZmZWN0czsKICAgICAgICAvKiogQHR5cGUge09iamVjdH0gKi8KICAgICAgICB0aGlzLl9fcmVmbGVjdEVmZmVjdHM7CiAgICAgICAgLyoqIEB0eXBlIHtPYmplY3R9ICovCiAgICAgICAgdGhpcy5fX25vdGlmeUVmZmVjdHM7CiAgICAgICAgLyoqIEB0eXBlIHtPYmplY3R9ICovCiAgICAgICAgdGhpcy5fX3Byb3BhZ2F0ZUVmZmVjdHM7CiAgICAgICAgLyoqIEB0eXBlIHtPYmplY3R9ICovCiAgICAgICAgdGhpcy5fX29ic2VydmVFZmZlY3RzOwogICAgICAgIC8qKiBAdHlwZSB7T2JqZWN0fSAqLwogICAgICAgIHRoaXMuX19yZWFkT25seTsKICAgICAgICAvKiogQHR5cGUgeyFUZW1wbGF0ZUluZm99ICovCiAgICAgICAgdGhpcy5fX3RlbXBsYXRlSW5mbzsKICAgICAgfQoKICAgICAgZ2V0IFBST1BFUlRZX0VGRkVDVF9UWVBFUygpIHsKICAgICAgICByZXR1cm4gVFlQRVM7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgX2luaXRpYWxpemVQcm9wZXJ0aWVzKCkgewogICAgICAgIHN1cGVyLl9pbml0aWFsaXplUHJvcGVydGllcygpOwogICAgICAgIGhvc3RTdGFjay5yZWdpc3Rlckhvc3QodGhpcyk7CiAgICAgICAgdGhpcy5fX2RhdGFDbGllbnRzUmVhZHkgPSBmYWxzZTsKICAgICAgICB0aGlzLl9fZGF0YVBlbmRpbmdDbGllbnRzID0gbnVsbDsKICAgICAgICB0aGlzLl9fZGF0YVRvTm90aWZ5ID0gbnVsbDsKICAgICAgICB0aGlzLl9fZGF0YUxpbmtlZFBhdGhzID0gbnVsbDsKICAgICAgICB0aGlzLl9fZGF0YUhhc1BhdGhzID0gZmFsc2U7CiAgICAgICAgLy8gTWF5IGJlIHNldCBvbiBpbnN0YW5jZSBwcmlvciB0byB1cGdyYWRlCiAgICAgICAgdGhpcy5fX2RhdGFDb21wb3VuZFN0b3JhZ2UgPSB0aGlzLl9fZGF0YUNvbXBvdW5kU3RvcmFnZSB8fCBudWxsOwogICAgICAgIHRoaXMuX19kYXRhSG9zdCA9IHRoaXMuX19kYXRhSG9zdCB8fCBudWxsOwogICAgICAgIHRoaXMuX19kYXRhVGVtcCA9IHt9OwogICAgICAgIHRoaXMuX19kYXRhQ2xpZW50c0luaXRpYWxpemVkID0gZmFsc2U7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBPdmVycmlkZXMgYFBvbHltZXIuUHJvcGVydHlBY2Nlc3NvcnNgIGltcGxlbWVudGF0aW9uIHRvIHByb3ZpZGUgYQogICAgICAgKiBtb3JlIGVmZmljaWVudCBpbXBsZW1lbnRhdGlvbiBvZiBpbml0aWFsaXppbmcgcHJvcGVydGllcyBmcm9tCiAgICAgICAqIHRoZSBwcm90b3R5cGUgb24gdGhlIGluc3RhbmNlLgogICAgICAgKgogICAgICAgKiBAb3ZlcnJpZGUKICAgICAgICogQHBhcmFtIHtPYmplY3R9IHByb3BzIFByb3BlcnRpZXMgdG8gaW5pdGlhbGl6ZSBvbiB0aGUgcHJvdG90eXBlCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfaW5pdGlhbGl6ZVByb3RvUHJvcGVydGllcyhwcm9wcykgewogICAgICAgIHRoaXMuX19kYXRhID0gT2JqZWN0LmNyZWF0ZShwcm9wcyk7CiAgICAgICAgdGhpcy5fX2RhdGFQZW5kaW5nID0gT2JqZWN0LmNyZWF0ZShwcm9wcyk7CiAgICAgICAgdGhpcy5fX2RhdGFPbGQgPSB7fTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE92ZXJyaWRlcyBgUG9seW1lci5Qcm9wZXJ0eUFjY2Vzc29yc2AgaW1wbGVtZW50YXRpb24gdG8gYXZvaWQgc2V0dGluZwogICAgICAgKiBgX3NldFByb3BlcnR5YCdzIGBzaG91bGROb3RpZnk6IHRydWVgLgogICAgICAgKgogICAgICAgKiBAb3ZlcnJpZGUKICAgICAgICogQHBhcmFtIHtPYmplY3R9IHByb3BzIFByb3BlcnRpZXMgdG8gaW5pdGlhbGl6ZSBvbiB0aGUgaW5zdGFuY2UKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIF9pbml0aWFsaXplSW5zdGFuY2VQcm9wZXJ0aWVzKHByb3BzKSB7CiAgICAgICAgbGV0IHJlYWRPbmx5ID0gdGhpc1tUWVBFUy5SRUFEX09OTFldOwogICAgICAgIGZvciAobGV0IHByb3AgaW4gcHJvcHMpIHsKICAgICAgICAgIGlmICghcmVhZE9ubHkgfHwgIXJlYWRPbmx5W3Byb3BdKSB7CiAgICAgICAgICAgIHRoaXMuX19kYXRhUGVuZGluZyA9IHRoaXMuX19kYXRhUGVuZGluZyB8fCB7fTsKICAgICAgICAgICAgdGhpcy5fX2RhdGFPbGQgPSB0aGlzLl9fZGF0YU9sZCB8fCB7fTsKICAgICAgICAgICAgdGhpcy5fX2RhdGFbcHJvcF0gPSB0aGlzLl9fZGF0YVBlbmRpbmdbcHJvcF0gPSBwcm9wc1twcm9wXTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIFByb3RvdHlwZSBzZXR1cCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICAgICAvKioKICAgICAgICogRXF1aXZhbGVudCB0byBzdGF0aWMgYGFkZFByb3BlcnR5RWZmZWN0YCBBUEkgYnV0IGNhbiBiZSBjYWxsZWQgb24KICAgICAgICogYW4gaW5zdGFuY2UgdG8gYWRkIGVmZmVjdHMgYXQgcnVudGltZS4gIFNlZSB0aGF0IG1ldGhvZCBmb3IKICAgICAgICogZnVsbCBBUEkgZG9jcy4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IFByb3BlcnR5IHRoYXQgc2hvdWxkIHRyaWdnZXIgdGhlIGVmZmVjdAogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdHlwZSBFZmZlY3QgdHlwZSwgZnJvbSB0aGlzLlBST1BFUlRZX0VGRkVDVF9UWVBFUwogICAgICAgKiBAcGFyYW0ge09iamVjdD19IGVmZmVjdCBFZmZlY3QgbWV0YWRhdGEgb2JqZWN0CiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIF9hZGRQcm9wZXJ0eUVmZmVjdChwcm9wZXJ0eSwgdHlwZSwgZWZmZWN0KSB7CiAgICAgICAgdGhpcy5fY3JlYXRlUHJvcGVydHlBY2Nlc3Nvcihwcm9wZXJ0eSwgdHlwZSA9PSBUWVBFUy5SRUFEX09OTFkpOwogICAgICAgIC8vIGVmZmVjdHMgYXJlIGFjY3VtdWxhdGVkIGludG8gYXJyYXlzIHBlciBwcm9wZXJ0eSBiYXNlZCBvbiB0eXBlCiAgICAgICAgbGV0IGVmZmVjdHMgPSBlbnN1cmVPd25FZmZlY3RNYXAodGhpcywgdHlwZSlbcHJvcGVydHldOwogICAgICAgIGlmICghZWZmZWN0cykgewogICAgICAgICAgZWZmZWN0cyA9IHRoaXNbdHlwZV1bcHJvcGVydHldID0gW107CiAgICAgICAgfQogICAgICAgIGVmZmVjdHMucHVzaChlZmZlY3QpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmVtb3ZlcyB0aGUgZ2l2ZW4gcHJvcGVydHkgZWZmZWN0LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgdGhlIGVmZmVjdCB3YXMgYXNzb2NpYXRlZCB3aXRoCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0eXBlIEVmZmVjdCB0eXBlLCBmcm9tIHRoaXMuUFJPUEVSVFlfRUZGRUNUX1RZUEVTCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0PX0gZWZmZWN0IEVmZmVjdCBtZXRhZGF0YSBvYmplY3QgdG8gcmVtb3ZlCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfcmVtb3ZlUHJvcGVydHlFZmZlY3QocHJvcGVydHksIHR5cGUsIGVmZmVjdCkgewogICAgICAgIGxldCBlZmZlY3RzID0gZW5zdXJlT3duRWZmZWN0TWFwKHRoaXMsIHR5cGUpW3Byb3BlcnR5XTsKICAgICAgICBsZXQgaWR4ID0gZWZmZWN0cy5pbmRleE9mKGVmZmVjdCk7CiAgICAgICAgaWYgKGlkeCA+PSAwKSB7CiAgICAgICAgICBlZmZlY3RzLnNwbGljZShpZHgsIDEpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgd2hldGhlciB0aGUgY3VycmVudCBwcm90b3R5cGUvaW5zdGFuY2UgaGFzIGEgcHJvcGVydHkgZWZmZWN0CiAgICAgICAqIG9mIGEgY2VydGFpbiB0eXBlLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICAgKiBAcGFyYW0ge3N0cmluZz19IHR5cGUgRWZmZWN0IHR5cGUsIGZyb20gdGhpcy5QUk9QRVJUWV9FRkZFQ1RfVFlQRVMKICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgcHJvdG90eXBlL2luc3RhbmNlIGhhcyBhbiBlZmZlY3Qgb2YgdGhpcyB0eXBlCiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIF9oYXNQcm9wZXJ0eUVmZmVjdChwcm9wZXJ0eSwgdHlwZSkgewogICAgICAgIGxldCBlZmZlY3RzID0gdGhpc1t0eXBlXTsKICAgICAgICByZXR1cm4gQm9vbGVhbihlZmZlY3RzICYmIGVmZmVjdHNbcHJvcGVydHldKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgd2hldGhlciB0aGUgY3VycmVudCBwcm90b3R5cGUvaW5zdGFuY2UgaGFzIGEgInJlYWQgb25seSIKICAgICAgICogYWNjZXNzb3IgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eS4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IFByb3BlcnR5IG5hbWUKICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgcHJvdG90eXBlL2luc3RhbmNlIGhhcyBhbiBlZmZlY3Qgb2YgdGhpcyB0eXBlCiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIF9oYXNSZWFkT25seUVmZmVjdChwcm9wZXJ0eSkgewogICAgICAgIHJldHVybiB0aGlzLl9oYXNQcm9wZXJ0eUVmZmVjdChwcm9wZXJ0eSwgVFlQRVMuUkVBRF9PTkxZKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgd2hldGhlciB0aGUgY3VycmVudCBwcm90b3R5cGUvaW5zdGFuY2UgaGFzIGEgIm5vdGlmeSIKICAgICAgICogcHJvcGVydHkgZWZmZWN0IGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBQcm9wZXJ0eSBuYW1lCiAgICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhlIHByb3RvdHlwZS9pbnN0YW5jZSBoYXMgYW4gZWZmZWN0IG9mIHRoaXMgdHlwZQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfaGFzTm90aWZ5RWZmZWN0KHByb3BlcnR5KSB7CiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc1Byb3BlcnR5RWZmZWN0KHByb3BlcnR5LCBUWVBFUy5OT1RJRlkpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBjdXJyZW50IHByb3RvdHlwZS9pbnN0YW5jZSBoYXMgYSAicmVmbGVjdCB0byBhdHRyaWJ1dGUiCiAgICAgICAqIHByb3BlcnR5IGVmZmVjdCBmb3IgdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSBwcm90b3R5cGUvaW5zdGFuY2UgaGFzIGFuIGVmZmVjdCBvZiB0aGlzIHR5cGUKICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX2hhc1JlZmxlY3RFZmZlY3QocHJvcGVydHkpIHsKICAgICAgICByZXR1cm4gdGhpcy5faGFzUHJvcGVydHlFZmZlY3QocHJvcGVydHksIFRZUEVTLlJFRkxFQ1QpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBjdXJyZW50IHByb3RvdHlwZS9pbnN0YW5jZSBoYXMgYSAiY29tcHV0ZWQiCiAgICAgICAqIHByb3BlcnR5IGVmZmVjdCBmb3IgdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSBwcm90b3R5cGUvaW5zdGFuY2UgaGFzIGFuIGVmZmVjdCBvZiB0aGlzIHR5cGUKICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX2hhc0NvbXB1dGVkRWZmZWN0KHByb3BlcnR5KSB7CiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc1Byb3BlcnR5RWZmZWN0KHByb3BlcnR5LCBUWVBFUy5DT01QVVRFKTsKICAgICAgfQoKICAgICAgLy8gUnVudGltZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICAgICAvKioKICAgICAgICogU2V0cyBhIHBlbmRpbmcgcHJvcGVydHkgb3IgcGF0aC4gIElmIHRoZSByb290IHByb3BlcnR5IG9mIHRoZSBwYXRoIGluCiAgICAgICAqIHF1ZXN0aW9uIGhhZCBubyBhY2Nlc3NvciwgdGhlIHBhdGggaXMgc2V0LCBvdGhlcndpc2UgaXQgaXMgZW5xdWV1ZWQKICAgICAgICogdmlhIGBfc2V0UGVuZGluZ1Byb3BlcnR5YC4KICAgICAgICoKICAgICAgICogVGhpcyBmdW5jdGlvbiBpc29sYXRlcyByZWxhdGl2ZWx5IGV4cGVuc2l2ZSBmdW5jdGlvbmFsaXR5IG5lY2Vzc2FyeQogICAgICAgKiBmb3IgdGhlIHB1YmxpYyBBUEkgKGBzZXRgLCBgc2V0UHJvcGVydGllc2AsIGBub3RpZnlQYXRoYCwgYW5kIHByb3BlcnR5CiAgICAgICAqIGNoYW5nZSBsaXN0ZW5lcnMgdmlhIHt7Li4ufX0gYmluZGluZ3MpLCBzdWNoIHRoYXQgaXQgaXMgb25seSBkb25lCiAgICAgICAqIHdoZW4gcGF0aHMgZW50ZXIgdGhlIHN5c3RlbSwgYW5kIG5vdCBhdCBldmVyeSBwcm9wYWdhdGlvbiBzdGVwLiAgSXQKICAgICAgICogYWxzbyBzZXRzIGEgYF9fZGF0YUhhc1BhdGhzYCBmbGFnIG9uIHRoZSBpbnN0YW5jZSB3aGljaCBpcyB1c2VkIHRvCiAgICAgICAqIGZhc3QtcGF0aCBzbG93ZXIgcGF0aC1tYXRjaGluZyBjb2RlIGluIHRoZSBwcm9wZXJ0eSBlZmZlY3RzIGhvc3QgcGF0aHMuCiAgICAgICAqCiAgICAgICAqIGBwYXRoYCBjYW4gYmUgYSBwYXRoIHN0cmluZyBvciBhcnJheSBvZiBwYXRoIHBhcnRzIGFzIGFjY2VwdGVkIGJ5IHRoZQogICAgICAgKiBwdWJsaWMgQVBJLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZyB8ICFBcnJheTxudW1iZXJ8c3RyaW5nPn0gcGF0aCBQYXRoIHRvIHNldAogICAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFZhbHVlIHRvIHNldAogICAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBzaG91bGROb3RpZnkgU2V0IHRvIHRydWUgaWYgdGhpcyBjaGFuZ2Ugc2hvdWxkCiAgICAgICAqICBjYXVzZSBhIHByb3BlcnR5IG5vdGlmaWNhdGlvbiBldmVudCBkaXNwYXRjaAogICAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBpc1BhdGhOb3RpZmljYXRpb24gSWYgdGhlIHBhdGggYmVpbmcgc2V0IGlzIGEgcGF0aAogICAgICAgKiAgIG5vdGlmaWNhdGlvbiBvZiBhbiBhbHJlYWR5IGNoYW5nZWQgdmFsdWUsIGFzIG9wcG9zZWQgdG8gYSByZXF1ZXN0CiAgICAgICAqICAgdG8gc2V0IGFuZCBub3RpZnkgdGhlIGNoYW5nZS4gIEluIHRoZSBsYXR0ZXIgYGZhbHNlYCBjYXNlLCBhIGRpcnR5CiAgICAgICAqICAgY2hlY2sgaXMgcGVyZm9ybWVkIGFuZCB0aGVuIHRoZSB2YWx1ZSBpcyBzZXQgdG8gdGhlIHBhdGggYmVmb3JlCiAgICAgICAqICAgZW5xdWV1aW5nIHRoZSBwZW5kaW5nIHByb3BlcnR5IGNoYW5nZS4KICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gUmV0dXJucyB0cnVlIGlmIHRoZSBwcm9wZXJ0eS9wYXRoIHdhcyBlbnF1ZXVlZCBpbgogICAgICAgKiAgIHRoZSBwZW5kaW5nIGNoYW5nZXMgYmFnLgogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfc2V0UGVuZGluZ1Byb3BlcnR5T3JQYXRoKHBhdGgsIHZhbHVlLCBzaG91bGROb3RpZnksIGlzUGF0aE5vdGlmaWNhdGlvbikgewogICAgICAgIGlmIChpc1BhdGhOb3RpZmljYXRpb24gfHwKICAgICAgICAgICAgUG9seW1lci5QYXRoLnJvb3QoQXJyYXkuaXNBcnJheShwYXRoKSA/IHBhdGhbMF0gOiBwYXRoKSAhPT0gcGF0aCkgewogICAgICAgICAgLy8gRGlydHkgY2hlY2sgY2hhbmdlcyBiZWluZyBzZXQgdG8gYSBwYXRoIGFnYWluc3QgdGhlIGFjdHVhbCBvYmplY3QsCiAgICAgICAgICAvLyBzaW5jZSB0aGlzIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgcGF0aHMgaW50byB0aGUgc3lzdGVtOyBmcm9tIGhlcmUKICAgICAgICAgIC8vIHRoZSBvbmx5IGRpcnR5IGNoZWNrcyBhcmUgYWdhaW5zdCB0aGUgYF9fZGF0YVRlbXBgIGNhY2hlIHRvIHByZXZlbnQKICAgICAgICAgIC8vIGR1cGxpY2F0ZSB3b3JrIGluIHRoZSBzYW1lIHR1cm4gb25seS4gTm90ZSwgaWYgdGhpcyB3YXMgYSBub3RpZmljYXRpb24KICAgICAgICAgIC8vIG9mIGEgY2hhbmdlIGFscmVhZHkgc2V0IHRvIGEgcGF0aCAoaXNQYXRoTm90aWZpY2F0aW9uOiB0cnVlKSwKICAgICAgICAgIC8vIHdlIGFsd2F5cyBsZXQgdGhlIGNoYW5nZSB0aHJvdWdoIGFuZCBza2lwIHRoZSBgc2V0YCBzaW5jZSBpdCB3YXMKICAgICAgICAgIC8vIGFscmVhZHkgZGlydHkgY2hlY2tlZCBhdCB0aGUgcG9pbnQgb2YgZW50cnkgYW5kIHRoZSB1bmRlcmx5aW5nCiAgICAgICAgICAvLyBvYmplY3QgaGFzIGFscmVhZHkgYmVlbiB1cGRhdGVkCiAgICAgICAgICBpZiAoIWlzUGF0aE5vdGlmaWNhdGlvbikgewogICAgICAgICAgICBsZXQgb2xkID0gUG9seW1lci5QYXRoLmdldCh0aGlzLCBwYXRoKTsKICAgICAgICAgICAgcGF0aCA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoUG9seW1lci5QYXRoLnNldCh0aGlzLCBwYXRoLCB2YWx1ZSkpOwogICAgICAgICAgICAvLyBVc2UgcHJvcGVydHktYWNjZXNzb3IncyBzaW1wbGVyIGRpcnR5IGNoZWNrCiAgICAgICAgICAgIGlmICghcGF0aCB8fCAhc3VwZXIuX3Nob3VsZFByb3BlcnR5Q2hhbmdlKHBhdGgsIHZhbHVlLCBvbGQpKSB7CiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLl9fZGF0YUhhc1BhdGhzID0gdHJ1ZTsKICAgICAgICAgIGlmICh0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHkoLyoqQHR5cGV7c3RyaW5nfSovKHBhdGgpLCB2YWx1ZSwgc2hvdWxkTm90aWZ5KSkgewogICAgICAgICAgICBjb21wdXRlTGlua2VkUGF0aHModGhpcywgcGF0aCwgdmFsdWUpOwogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKHRoaXMuX19kYXRhSGFzQWNjZXNzb3IgJiYgdGhpcy5fX2RhdGFIYXNBY2Nlc3NvcltwYXRoXSkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5fc2V0UGVuZGluZ1Byb3BlcnR5KC8qKkB0eXBle3N0cmluZ30qLyhwYXRoKSwgdmFsdWUsIHNob3VsZE5vdGlmeSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzW3BhdGhdID0gdmFsdWU7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEFwcGxpZXMgYSB2YWx1ZSB0byBhIG5vbi1Qb2x5bWVyIGVsZW1lbnQvbm9kZSdzIHByb3BlcnR5LgogICAgICAgKgogICAgICAgKiBUaGUgaW1wbGVtZW50YXRpb24gbWFrZXMgYSBiZXN0LWVmZm9ydCBhdCBiaW5kaW5nIGludGVyb3A6CiAgICAgICAqIFNvbWUgbmF0aXZlIGVsZW1lbnQgcHJvcGVydGllcyBoYXZlIHNpZGUtZWZmZWN0cyB3aGVuCiAgICAgICAqIHJlLXNldHRpbmcgdGhlIHNhbWUgdmFsdWUgKGUuZy4gc2V0dGluZyBgPGlucHV0Pi52YWx1ZWAgcmVzZXRzIHRoZQogICAgICAgKiBjdXJzb3IgcG9zaXRpb24pLCBzbyB3ZSBkbyBhIGRpcnR5LWNoZWNrIGJlZm9yZSBzZXR0aW5nIHRoZSB2YWx1ZS4KICAgICAgICogSG93ZXZlciwgZm9yIGJldHRlciBpbnRlcm9wIHdpdGggbm9uLVBvbHltZXIgY3VzdG9tIGVsZW1lbnRzIHRoYXQKICAgICAgICogYWNjZXB0IG9iamVjdHMsIHdlIGV4cGxpY2l0bHkgcmUtc2V0IG9iamVjdCBjaGFuZ2VzIGNvbWluZyBmcm9tIHRoZQogICAgICAgKiBQb2x5bWVyIHdvcmxkICh3aGljaCBtYXkgaW5jbHVkZSBkZWVwIG9iamVjdCBjaGFuZ2VzIHdpdGhvdXQgdGhlCiAgICAgICAqIHRvcCByZWZlcmVuY2UgY2hhbmdpbmcpLCBlcnJpbmcgb24gdGhlIHNpZGUgb2YgcHJvdmlkaW5nIG1vcmUKICAgICAgICogaW5mb3JtYXRpb24uCiAgICAgICAqCiAgICAgICAqIFVzZXJzIG1heSBvdmVycmlkZSB0aGlzIG1ldGhvZCB0byBwcm92aWRlIGFsdGVybmF0ZSBhcHByb2FjaGVzLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyFOb2RlfSBub2RlIFRoZSBub2RlIHRvIHNldCBhIHByb3BlcnR5IG9uCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wIFRoZSBwcm9wZXJ0eSB0byBzZXQKICAgICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0CiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIF9zZXRVbm1hbmFnZWRQcm9wZXJ0eVRvTm9kZShub2RlLCBwcm9wLCB2YWx1ZSkgewogICAgICAgIC8vIEl0IGlzIGEganVkZ21lbnQgY2FsbCB0aGF0IHJlc2V0dGluZyBwcmltaXRpdmVzIGlzCiAgICAgICAgLy8gImJhZCIgYW5kIHJlc2V0dGluZ3Mgb2JqZWN0cyBpcyBhbHNvICJnb29kIjsgYWx0ZXJuYXRpdmVseSB3ZSBjb3VsZAogICAgICAgIC8vIGltcGxlbWVudCBhIHdoaXRlbGlzdCBvZiB0YWcgJiBwcm9wZXJ0eSB2YWx1ZXMgdGhhdCBzaG91bGQgbmV2ZXIKICAgICAgICAvLyBiZSByZXNldCAoZS5nLiA8aW5wdXQ+LnZhbHVlICYmIDxzZWxlY3Q+LnZhbHVlKQogICAgICAgIGlmICh2YWx1ZSAhPT0gbm9kZVtwcm9wXSB8fCB0eXBlb2YgdmFsdWUgPT0gJ29iamVjdCcpIHsKICAgICAgICAgIG5vZGVbcHJvcF0gPSB2YWx1ZTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBPdmVycmlkZXMgdGhlIGBQcm9wZXJ0aWVzQ2hhbmdlZGAgaW1wbGVtZW50YXRpb24gdG8gaW50cm9kdWNlIHNwZWNpYWwKICAgICAgICogZGlydHkgY2hlY2sgbG9naWMgZGVwZW5kaW5nIG9uIHRoZSBwcm9wZXJ0eSAmIHZhbHVlIGJlaW5nIHNldDoKICAgICAgICoKICAgICAgICogMS4gQW55IHZhbHVlIHNldCB0byBhIHBhdGggKGUuZy4gJ29iai5wcm9wJzogNDIgb3IgJ29iai5wcm9wJzogey4uLn0pCiAgICAgICAqICAgIFN0b3JlZCBpbiBgX19kYXRhVGVtcGAsIGRpcnR5IGNoZWNrZWQgYWdhaW5zdCBgX19kYXRhVGVtcGAKICAgICAgICogMi4gT2JqZWN0IHNldCB0byBzaW1wbGUgcHJvcGVydHkgKGUuZy4gJ3Byb3AnOiB7Li4ufSkKICAgICAgICogICAgU3RvcmVkIGluIGBfX2RhdGFUZW1wYCBhbmQgYF9fZGF0YWAsIGRpcnR5IGNoZWNrZWQgYWdhaW5zdAogICAgICAgKiAgICBgX19kYXRhVGVtcGAgYnkgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiBgX3Nob3VsZFByb3BlcnR5Q2hhbmdlYAogICAgICAgKiAzLiBQcmltaXRpdmUgdmFsdWUgc2V0IHRvIHNpbXBsZSBwcm9wZXJ0eSAoZS5nLiAncHJvcCc6IDQyKQogICAgICAgKiAgICBTdG9yZWQgaW4gYF9fZGF0YWAsIGRpcnR5IGNoZWNrZWQgYWdhaW5zdCBgX19kYXRhYAogICAgICAgKgogICAgICAgKiBUaGUgZGlydHktY2hlY2sgaXMgaW1wb3J0YW50IHRvIHByZXZlbnQgY3ljbGVzIGR1ZSB0byB0d28td2F5CiAgICAgICAqIG5vdGlmaWNhdGlvbiwgYnV0IHBhdGhzIGFuZCBvYmplY3RzIGFyZSBvbmx5IGRpcnR5IGNoZWNrZWQgYWdhaW5zdCBhbnkKICAgICAgICogcHJldmlvdXMgdmFsdWUgc2V0IGR1cmluZyB0aGlzIHR1cm4gdmlhIGEgInRlbXBvcmFyeSBjYWNoZSIgdGhhdCBpcwogICAgICAgKiBjbGVhcmVkIHdoZW4gdGhlIGxhc3QgYF9wcm9wZXJ0aWVzQ2hhbmdlZGAgZXhpdHMuIFRoaXMgaXMgc286CiAgICAgICAqIGEuIGFueSBjYWNoZWQgYXJyYXkgcGF0aHMgKGUuZy4gJ2FycmF5LjMucHJvcCcpIG1heSBiZSBpbnZhbGlkYXRlZAogICAgICAgKiAgICBkdWUgdG8gYXJyYXkgbXV0YXRpb25zIGxpa2Ugc2hpZnQvdW5zaGlmdC9zcGxpY2U7IHRoaXMgaXMgZmluZQogICAgICAgKiAgICBzaW5jZSBwYXRoIGNoYW5nZXMgYXJlIGRpcnR5LWNoZWNrZWQgYXQgdXNlciBlbnRyeSBwb2ludHMgbGlrZSBgc2V0YAogICAgICAgKiBiLiBkaXJ0eS1jaGVja2luZyBmb3Igb2JqZWN0cyBvbmx5IGxhc3RzIG9uZSB0dXJuIHRvIGFsbG93IHRoZSB1c2VyCiAgICAgICAqICAgIHRvIG11dGF0ZSB0aGUgb2JqZWN0IGluLXBsYWNlIGFuZCByZS1zZXQgaXQgd2l0aCB0aGUgc2FtZSBpZGVudGl0eQogICAgICAgKiAgICBhbmQgaGF2ZSBhbGwgc3ViLXByb3BlcnRpZXMgcmUtcHJvcGFnYXRlZCBpbiBhIHN1YnNlcXVlbnQgdHVybi4KICAgICAgICoKICAgICAgICogVGhlIHRlbXAgY2FjaGUgaXMgbm90IG5lY2Vzc2FyaWx5IHN1ZmZpY2llbnQgdG8gcHJldmVudCBpbnZhbGlkIGFycmF5CiAgICAgICAqIHBhdGhzLCBzaW5jZSBhIHNwbGljZSBjYW4gaGFwcGVuIGR1cmluZyB0aGUgc2FtZSB0dXJuICh3aXRoIHBhdGhvbG9naWNhbAogICAgICAgKiB1c2VyIGNvZGUpOyB3ZSBjb3VsZCBpbnRyb2R1Y2UgYSAiZml4dXAiIGZvciB0ZW1wb3JhcmlseSBjYWNoZWQgYXJyYXkKICAgICAgICogcGF0aHMgaWYgbmVlZGVkOiBodHRwczovL2dpdGh1Yi5jb20vUG9seW1lci9wb2x5bWVyL2lzc3Vlcy80MjI3CiAgICAgICAqCiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgTmFtZSBvZiB0aGUgcHJvcGVydHkKICAgICAgICogQHBhcmFtIHsqfSB2YWx1ZSBWYWx1ZSB0byBzZXQKICAgICAgICogQHBhcmFtIHtib29sZWFuPX0gc2hvdWxkTm90aWZ5IFRydWUgaWYgcHJvcGVydHkgc2hvdWxkIGZpcmUgbm90aWZpY2F0aW9uCiAgICAgICAqICAgZXZlbnQgKGFwcGxpZXMgb25seSBmb3IgYG5vdGlmeTogdHJ1ZWAgcHJvcGVydGllcykKICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gUmV0dXJucyB0cnVlIGlmIHRoZSBwcm9wZXJ0eSBjaGFuZ2VkCiAgICAgICAqLwogICAgICBfc2V0UGVuZGluZ1Byb3BlcnR5KHByb3BlcnR5LCB2YWx1ZSwgc2hvdWxkTm90aWZ5KSB7CiAgICAgICAgbGV0IGlzUGF0aCA9IHRoaXMuX19kYXRhSGFzUGF0aHMgJiYgUG9seW1lci5QYXRoLmlzUGF0aChwcm9wZXJ0eSk7CiAgICAgICAgbGV0IHByZXZQcm9wcyA9IGlzUGF0aCA/IHRoaXMuX19kYXRhVGVtcCA6IHRoaXMuX19kYXRhOwogICAgICAgIGlmICh0aGlzLl9zaG91bGRQcm9wZXJ0eUNoYW5nZShwcm9wZXJ0eSwgdmFsdWUsIHByZXZQcm9wc1twcm9wZXJ0eV0pKSB7CiAgICAgICAgICBpZiAoIXRoaXMuX19kYXRhUGVuZGluZykgewogICAgICAgICAgICB0aGlzLl9fZGF0YVBlbmRpbmcgPSB7fTsKICAgICAgICAgICAgdGhpcy5fX2RhdGFPbGQgPSB7fTsKICAgICAgICAgIH0KICAgICAgICAgIC8vIEVuc3VyZSBvbGQgaXMgY2FwdHVyZWQgZnJvbSB0aGUgbGFzdCB0dXJuCiAgICAgICAgICBpZiAoIShwcm9wZXJ0eSBpbiB0aGlzLl9fZGF0YU9sZCkpIHsKICAgICAgICAgICAgdGhpcy5fX2RhdGFPbGRbcHJvcGVydHldID0gdGhpcy5fX2RhdGFbcHJvcGVydHldOwogICAgICAgICAgfQogICAgICAgICAgLy8gUGF0aHMgYXJlIHN0b3JlZCBpbiB0ZW1wb3JhcnkgY2FjaGUgKGNsZWFyZWQgYXQgZW5kIG9mIHR1cm4pLAogICAgICAgICAgLy8gd2hpY2ggaXMgdXNlZCBmb3IgZGlydHktY2hlY2tpbmcsIGFsbCBvdGhlcnMgc3RvcmVkIGluIF9fZGF0YQogICAgICAgICAgaWYgKGlzUGF0aCkgewogICAgICAgICAgICB0aGlzLl9fZGF0YVRlbXBbcHJvcGVydHldID0gdmFsdWU7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzLl9fZGF0YVtwcm9wZXJ0eV0gPSB2YWx1ZTsKICAgICAgICAgIH0KICAgICAgICAgIC8vIEFsbCBjaGFuZ2VzIGdvIGludG8gcGVuZGluZyBwcm9wZXJ0eSBiYWcsIHBhc3NlZCB0byBfcHJvcGVydGllc0NoYW5nZWQKICAgICAgICAgIHRoaXMuX19kYXRhUGVuZGluZ1twcm9wZXJ0eV0gPSB2YWx1ZTsKICAgICAgICAgIC8vIFRyYWNrIHByb3BlcnRpZXMgdGhhdCBzaG91bGQgbm90aWZ5IHNlcGFyYXRlbHkKICAgICAgICAgIGlmIChpc1BhdGggfHwgKHRoaXNbVFlQRVMuTk9USUZZXSAmJiB0aGlzW1RZUEVTLk5PVElGWV1bcHJvcGVydHldKSkgewogICAgICAgICAgICB0aGlzLl9fZGF0YVRvTm90aWZ5ID0gdGhpcy5fX2RhdGFUb05vdGlmeSB8fCB7fTsKICAgICAgICAgICAgdGhpcy5fX2RhdGFUb05vdGlmeVtwcm9wZXJ0eV0gPSBzaG91bGROb3RpZnk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIGJhc2UgaW1wbGVtZW50YXRpb24gdG8gZW5zdXJlIGFsbCBhY2Nlc3NvcnMgc2V0IGBzaG91bGROb3RpZnlgCiAgICAgICAqIHRvIHRydWUsIGZvciBwZXItcHJvcGVydHkgbm90aWZpY2F0aW9uIHRyYWNraW5nLgogICAgICAgKgogICAgICAgKiBAb3ZlcnJpZGUKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IE5hbWUgb2YgdGhlIHByb3BlcnR5CiAgICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVmFsdWUgdG8gc2V0CiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfc2V0UHJvcGVydHkocHJvcGVydHksIHZhbHVlKSB7CiAgICAgICAgaWYgKHRoaXMuX3NldFBlbmRpbmdQcm9wZXJ0eShwcm9wZXJ0eSwgdmFsdWUsIHRydWUpKSB7CiAgICAgICAgICB0aGlzLl9pbnZhbGlkYXRlUHJvcGVydGllcygpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE92ZXJyaWRlcyBgUHJvcGVydHlBY2Nlc3NvcmAncyBkZWZhdWx0IGFzeW5jIHF1ZXVpbmcgb2YKICAgICAgICogYF9wcm9wZXJ0aWVzQ2hhbmdlZGA6IGlmIGBfX2RhdGFSZWFkeWAgaXMgZmFsc2UgKGhhcyBub3QgeWV0IGJlZW4KICAgICAgICogbWFudWFsbHkgZmx1c2hlZCksIHRoZSBmdW5jdGlvbiBuby1vcHM7IG90aGVyd2lzZSBmbHVzaGVzCiAgICAgICAqIGBfcHJvcGVydGllc0NoYW5nZWRgIHN5bmNocm9ub3VzbHkuCiAgICAgICAqCiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgX2ludmFsaWRhdGVQcm9wZXJ0aWVzKCkgewogICAgICAgIGlmICh0aGlzLl9fZGF0YVJlYWR5KSB7CiAgICAgICAgICB0aGlzLl9mbHVzaFByb3BlcnRpZXMoKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBFbnF1ZXVlcyB0aGUgZ2l2ZW4gY2xpZW50IG9uIGEgbGlzdCBvZiBwZW5kaW5nIGNsaWVudHMsIHdob3NlCiAgICAgICAqIHBlbmRpbmcgcHJvcGVydHkgY2hhbmdlcyBjYW4gbGF0ZXIgYmUgZmx1c2hlZCB2aWEgYSBjYWxsIHRvCiAgICAgICAqIGBfZmx1c2hDbGllbnRzYC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtPYmplY3R9IGNsaWVudCBQcm9wZXJ0eUVmZmVjdHMgY2xpZW50IHRvIGVucXVldWUKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX2VucXVldWVDbGllbnQoY2xpZW50KSB7CiAgICAgICAgdGhpcy5fX2RhdGFQZW5kaW5nQ2xpZW50cyA9IHRoaXMuX19kYXRhUGVuZGluZ0NsaWVudHMgfHwgW107CiAgICAgICAgaWYgKGNsaWVudCAhPT0gdGhpcykgewogICAgICAgICAgdGhpcy5fX2RhdGFQZW5kaW5nQ2xpZW50cy5wdXNoKGNsaWVudCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIHN1cGVyY2xhc3MgaW1wbGVtZW50YXRpb24uCiAgICAgICAqCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIF9mbHVzaFByb3BlcnRpZXMoKSB7CiAgICAgICAgdGhpcy5fX2RhdGFDb3VudGVyKys7CiAgICAgICAgc3VwZXIuX2ZsdXNoUHJvcGVydGllcygpOwogICAgICAgIHRoaXMuX19kYXRhQ291bnRlci0tOwogICAgICB9CgogICAgICAvKioKICAgICAgICogRmx1c2hlcyBhbnkgY2xpZW50cyBwcmV2aW91c2x5IGVucXVldWVkIHZpYSBgX2VucXVldWVDbGllbnRgLCBjYXVzaW5nCiAgICAgICAqIHRoZWlyIGBfZmx1c2hQcm9wZXJ0aWVzYCBtZXRob2QgdG8gcnVuLgogICAgICAgKgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfZmx1c2hDbGllbnRzKCkgewogICAgICAgIGlmICghdGhpcy5fX2RhdGFDbGllbnRzUmVhZHkpIHsKICAgICAgICAgIHRoaXMuX19kYXRhQ2xpZW50c1JlYWR5ID0gdHJ1ZTsKICAgICAgICAgIHRoaXMuX3JlYWR5Q2xpZW50cygpOwogICAgICAgICAgLy8gT3ZlcnJpZGUgcG9pbnQgd2hlcmUgYWNjZXNzb3JzIGFyZSB0dXJuZWQgb247IGltcG9ydGFudGx5LAogICAgICAgICAgLy8gdGhpcyBpcyBhZnRlciBjbGllbnRzIGhhdmUgZnVsbHkgcmVhZGllZCwgcHJvdmlkaW5nIGEgZ3VhcmFudGVlCiAgICAgICAgICAvLyB0aGF0IGFueSBwcm9wZXJ0eSBlZmZlY3RzIG9jY3VyIG9ubHkgYWZ0ZXIgYWxsIGNsaWVudHMgYXJlIHJlYWR5LgogICAgICAgICAgdGhpcy5fX2RhdGFSZWFkeSA9IHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuX19lbmFibGVPckZsdXNoQ2xpZW50cygpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLy8gTk9URTogV2UgZW5zdXJlIGNsaWVudHMgZWl0aGVyIGVuYWJsZSBvciBmbHVzaCBhcyBhcHByb3ByaWF0ZS4gVGhpcwogICAgICAvLyBoYW5kbGVzIHR3byBjb3JuZXIgY2FzZXM6CiAgICAgIC8vICgxKSBjbGllbnRzIGZsdXNoIHByb3Blcmx5IHdoZW4gY29ubmVjdGVkL2VuYWJsZWQgYmVmb3JlIHRoZSBob3N0CiAgICAgIC8vIGVuYWJsZXM7IGUuZy4KICAgICAgLy8gICAoYSkgVGVtcGxhdGl6ZSBzdGFtcHMgd2l0aCBubyBwcm9wZXJ0aWVzIGFuZCBkb2VzIG5vdCBmbHVzaCBhbmQKICAgICAgLy8gICAoYikgdGhlIGluc3RhbmNlIGlzIGluc2VydGVkIGludG8gZG9tIGFuZAogICAgICAvLyAgIChjKSB0aGVuIHRoZSBpbnN0YW5jZSBmbHVzaGVzLgogICAgICAvLyAoMikgY2xpZW50cyBlbmFibGUgcHJvcGVybHkgd2hlbiBub3QgY29ubmVjdGVkL2VuYWJsZWQgd2hlbiB0aGUgaG9zdAogICAgICAvLyBmbHVzaGVzOyBlLmcuCiAgICAgIC8vICAgKGEpIGEgdGVtcGxhdGUgaXMgcnVudGltZSBzdGFtcGVkIGFuZCBub3QgeWV0IGNvbm5lY3RlZC9lbmFibGVkCiAgICAgIC8vICAgKGIpIGEgaG9zdCBzZXRzIGEgcHJvcGVydHksIGNhdXNpbmcgc3RhbXBlZCBkb20gdG8gZmx1c2gKICAgICAgLy8gICAoYykgdGhlIHN0YW1wZWQgZG9tIGVuYWJsZXMuCiAgICAgIF9fZW5hYmxlT3JGbHVzaENsaWVudHMoKSB7CiAgICAgICAgbGV0IGNsaWVudHMgPSB0aGlzLl9fZGF0YVBlbmRpbmdDbGllbnRzOwogICAgICAgIGlmIChjbGllbnRzKSB7CiAgICAgICAgICB0aGlzLl9fZGF0YVBlbmRpbmdDbGllbnRzID0gbnVsbDsKICAgICAgICAgIGZvciAobGV0IGk9MDsgaSA8IGNsaWVudHMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgbGV0IGNsaWVudCA9IGNsaWVudHNbaV07CiAgICAgICAgICAgIGlmICghY2xpZW50Ll9fZGF0YUVuYWJsZWQpIHsKICAgICAgICAgICAgICBjbGllbnQuX2VuYWJsZVByb3BlcnRpZXMoKTsKICAgICAgICAgICAgfSBlbHNlIGlmIChjbGllbnQuX19kYXRhUGVuZGluZykgewogICAgICAgICAgICAgIGNsaWVudC5fZmx1c2hQcm9wZXJ0aWVzKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBQZXJmb3JtIGFueSBpbml0aWFsIHNldHVwIG9uIGNsaWVudCBkb20uIENhbGxlZCBiZWZvcmUgdGhlIGZpcnN0CiAgICAgICAqIGBfZmx1c2hQcm9wZXJ0aWVzYCBjYWxsIG9uIGNsaWVudCBkb20gYW5kIGJlZm9yZSBhbnkgZWxlbWVudAogICAgICAgKiBvYnNlcnZlcnMgYXJlIGNhbGxlZC4KICAgICAgICoKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX3JlYWR5Q2xpZW50cygpIHsKICAgICAgICB0aGlzLl9fZW5hYmxlT3JGbHVzaENsaWVudHMoKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFNldHMgYSBiYWcgb2YgcHJvcGVydHkgY2hhbmdlcyB0byB0aGlzIGluc3RhbmNlLCBhbmQKICAgICAgICogc3luY2hyb25vdXNseSBwcm9jZXNzZXMgYWxsIGVmZmVjdHMgb2YgdGhlIHByb3BlcnRpZXMgYXMgYSBiYXRjaC4KICAgICAgICoKICAgICAgICogUHJvcGVydHkgbmFtZXMgbXVzdCBiZSBzaW1wbGUgcHJvcGVydGllcywgbm90IHBhdGhzLiAgQmF0Y2hlZAogICAgICAgKiBwYXRoIHByb3BhZ2F0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBCYWcgb2Ygb25lIG9yIG1vcmUga2V5LXZhbHVlIHBhaXJzIHdob3NlIGtleSBpcwogICAgICAgKiAgIGEgcHJvcGVydHkgYW5kIHZhbHVlIGlzIHRoZSBuZXcgdmFsdWUgdG8gc2V0IGZvciB0aGF0IHByb3BlcnR5LgogICAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBzZXRSZWFkT25seSBXaGVuIHRydWUsIGFueSBwcml2YXRlIHZhbHVlcyBzZXQgaW4KICAgICAgICogICBgcHJvcHNgIHdpbGwgYmUgc2V0LiBCeSBkZWZhdWx0LCBgc2V0UHJvcGVydGllc2Agd2lsbCBub3Qgc2V0CiAgICAgICAqICAgYHJlYWRPbmx5OiB0cnVlYCByb290IHByb3BlcnRpZXMuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwdWJsaWMKICAgICAgICovCiAgICAgIHNldFByb3BlcnRpZXMocHJvcHMsIHNldFJlYWRPbmx5KSB7CiAgICAgICAgZm9yIChsZXQgcGF0aCBpbiBwcm9wcykgewogICAgICAgICAgaWYgKHNldFJlYWRPbmx5IHx8ICF0aGlzW1RZUEVTLlJFQURfT05MWV0gfHwgIXRoaXNbVFlQRVMuUkVBRF9PTkxZXVtwYXRoXSkgewogICAgICAgICAgICAvL1RPRE8oa3NjaGFhZik6IGV4cGxpY2l0bHkgZGlzYWxsb3cgcGF0aHMgaW4gc2V0UHJvcGVydHk/CiAgICAgICAgICAgIC8vIHdpbGRjYXJkIG9ic2VydmVycyBjdXJyZW50bHkgb25seSBwYXNzIHRoZSBmaXJzdCBjaGFuZ2VkIHBhdGgKICAgICAgICAgICAgLy8gaW4gdGhlIGBpbmZvYCBvYmplY3QsIGFuZCB5b3UgY291bGQgZG8gc29tZSBvZGQgdGhpbmdzIGJhdGNoaW5nCiAgICAgICAgICAgIC8vIHBhdGhzLCBlLmcuIHsnZm9vLmJhcic6IHsuLi59LCAnZm9vJzogbnVsbH0KICAgICAgICAgICAgdGhpcy5fc2V0UGVuZGluZ1Byb3BlcnR5T3JQYXRoKHBhdGgsIHByb3BzW3BhdGhdLCB0cnVlKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdGhpcy5faW52YWxpZGF0ZVByb3BlcnRpZXMoKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE92ZXJyaWRlcyBgUHJvcGVydHlBY2Nlc3NvcnNgIHNvIHRoYXQgcHJvcGVydHkgYWNjZXNzb3IKICAgICAgICogc2lkZSBlZmZlY3RzIGFyZSBub3QgZW5hYmxlZCB1bnRpbCBhZnRlciBjbGllbnQgZG9tIGlzIGZ1bGx5IHJlYWR5LgogICAgICAgKiBBbHNvIGNhbGxzIGBfZmx1c2hDbGllbnRzYCBjYWxsYmFjayB0byBlbnN1cmUgY2xpZW50IGRvbSBpcyBlbmFibGVkCiAgICAgICAqIHRoYXQgd2FzIG5vdCBlbmFibGVkIGFzIGEgcmVzdWx0IG9mIGZsdXNoaW5nIHByb3BlcnRpZXMuCiAgICAgICAqCiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgcmVhZHkoKSB7CiAgICAgICAgLy8gSXQgaXMgaW1wb3J0YW50IHRoYXQgYHN1cGVyLnJlYWR5KClgIGlzIG5vdCBjYWxsZWQgaGVyZSBhcyBpdAogICAgICAgIC8vIGltbWVkaWF0ZWx5IHR1cm5zIG9uIGFjY2Vzc29ycy4gSW5zdGVhZCwgd2Ugd2FpdCB1bnRpbCBgcmVhZHlDbGllbnRzYAogICAgICAgIC8vIHRvIGVuYWJsZSBhY2Nlc3NvcnMgdG8gcHJvdmlkZSBhIGd1YXJhbnRlZSB0aGF0IGNsaWVudHMgYXJlIHJlYWR5CiAgICAgICAgLy8gYmVmb3JlIHByb2Nlc3NpbmcgYW55IGFjY2Vzc29ycyBzaWRlIGVmZmVjdHMuCiAgICAgICAgdGhpcy5fZmx1c2hQcm9wZXJ0aWVzKCk7CiAgICAgICAgLy8gSWYgbm8gZGF0YSB3YXMgcGVuZGluZywgYF9mbHVzaFByb3BlcnRpZXNgIHdpbGwgbm90IGBmbHVzaENsaWVudHNgCiAgICAgICAgLy8gc28gZW5zdXJlIHRoaXMgaXMgZG9uZS4KICAgICAgICBpZiAoIXRoaXMuX19kYXRhQ2xpZW50c1JlYWR5KSB7CiAgICAgICAgICB0aGlzLl9mbHVzaENsaWVudHMoKTsKICAgICAgICB9CiAgICAgICAgLy8gQmVmb3JlIHJlYWR5LCBjbGllbnQgbm90aWZpY2F0aW9ucyBkbyBub3QgdHJpZ2dlciBfZmx1c2hQcm9wZXJ0aWVzLgogICAgICAgIC8vIFRoZXJlZm9yZSBhIGZsdXNoIGlzIG5lY2Vzc2FyeSBoZXJlIGlmIGRhdGEgaGFzIGJlZW4gc2V0LgogICAgICAgIGlmICh0aGlzLl9fZGF0YVBlbmRpbmcpIHsKICAgICAgICAgIHRoaXMuX2ZsdXNoUHJvcGVydGllcygpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEltcGxlbWVudHMgYFByb3BlcnR5QWNjZXNzb3JzYCdzIHByb3BlcnRpZXMgY2hhbmdlZCBjYWxsYmFjay4KICAgICAgICoKICAgICAgICogUnVucyBlYWNoIGNsYXNzIG9mIGVmZmVjdHMgZm9yIHRoZSBiYXRjaCBvZiBjaGFuZ2VkIHByb3BlcnRpZXMgaW4KICAgICAgICogYSBzcGVjaWZpYyBvcmRlciAoY29tcHV0ZSwgcHJvcGFnYXRlLCByZWZsZWN0LCBvYnNlcnZlLCBub3RpZnkpLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyFPYmplY3R9IGN1cnJlbnRQcm9wcyBCYWcgb2YgYWxsIGN1cnJlbnQgYWNjZXNzb3IgdmFsdWVzCiAgICAgICAqIEBwYXJhbSB7IU9iamVjdH0gY2hhbmdlZFByb3BzIEJhZyBvZiBwcm9wZXJ0aWVzIGNoYW5nZWQgc2luY2UgdGhlIGxhc3QKICAgICAgICogICBjYWxsIHRvIGBfcHJvcGVydGllc0NoYW5nZWRgCiAgICAgICAqIEBwYXJhbSB7IU9iamVjdH0gb2xkUHJvcHMgQmFnIG9mIHByZXZpb3VzIHZhbHVlcyBmb3IgZWFjaCBwcm9wZXJ0eQogICAgICAgKiAgIGluIGBjaGFuZ2VkUHJvcHNgCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfcHJvcGVydGllc0NoYW5nZWQoY3VycmVudFByb3BzLCBjaGFuZ2VkUHJvcHMsIG9sZFByb3BzKSB7CiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgIC8vIGxldCBjID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoY2hhbmdlZFByb3BzIHx8IHt9KTsKICAgICAgICAvLyB3aW5kb3cuZGVidWcgJiYgY29uc29sZS5ncm91cCh0aGlzLmxvY2FsTmFtZSArICcjJyArIHRoaXMuaWQgKyAnOiAnICsgYyk7CiAgICAgICAgLy8gaWYgKHdpbmRvdy5kZWJ1ZykgeyBkZWJ1Z2dlcjsgfQogICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICBsZXQgaGFzUGF0aHMgPSB0aGlzLl9fZGF0YUhhc1BhdGhzOwogICAgICAgIHRoaXMuX19kYXRhSGFzUGF0aHMgPSBmYWxzZTsKICAgICAgICAvLyBDb21wdXRlIHByb3BlcnRpZXMKICAgICAgICBydW5Db21wdXRlZEVmZmVjdHModGhpcywgY2hhbmdlZFByb3BzLCBvbGRQcm9wcywgaGFzUGF0aHMpOwogICAgICAgIC8vIENsZWFyIG5vdGlmeSBwcm9wZXJ0aWVzIHByaW9yIHRvIHBvc3NpYmxlIHJlZW50cnkgKHByb3BhZ2F0ZSwgb2JzZXJ2ZSksCiAgICAgICAgLy8gYnV0IGFmdGVyIGNvbXB1dGluZyBlZmZlY3RzIGhhdmUgYSBjaGFuY2UgdG8gYWRkIHRvIHRoZW0KICAgICAgICBsZXQgbm90aWZ5UHJvcHMgPSB0aGlzLl9fZGF0YVRvTm90aWZ5OwogICAgICAgIHRoaXMuX19kYXRhVG9Ob3RpZnkgPSBudWxsOwogICAgICAgIC8vIFByb3BhZ2F0ZSBwcm9wZXJ0aWVzIHRvIGNsaWVudHMKICAgICAgICB0aGlzLl9wcm9wYWdhdGVQcm9wZXJ0eUNoYW5nZXMoY2hhbmdlZFByb3BzLCBvbGRQcm9wcywgaGFzUGF0aHMpOwogICAgICAgIC8vIEZsdXNoIGNsaWVudHMKICAgICAgICB0aGlzLl9mbHVzaENsaWVudHMoKTsKICAgICAgICAvLyBSZWZsZWN0IHByb3BlcnRpZXMKICAgICAgICBydW5FZmZlY3RzKHRoaXMsIHRoaXNbVFlQRVMuUkVGTEVDVF0sIGNoYW5nZWRQcm9wcywgb2xkUHJvcHMsIGhhc1BhdGhzKTsKICAgICAgICAvLyBPYnNlcnZlIHByb3BlcnRpZXMKICAgICAgICBydW5FZmZlY3RzKHRoaXMsIHRoaXNbVFlQRVMuT0JTRVJWRV0sIGNoYW5nZWRQcm9wcywgb2xkUHJvcHMsIGhhc1BhdGhzKTsKICAgICAgICAvLyBOb3RpZnkgcHJvcGVydGllcyB0byBob3N0CiAgICAgICAgaWYgKG5vdGlmeVByb3BzKSB7CiAgICAgICAgICBydW5Ob3RpZnlFZmZlY3RzKHRoaXMsIG5vdGlmeVByb3BzLCBjaGFuZ2VkUHJvcHMsIG9sZFByb3BzLCBoYXNQYXRocyk7CiAgICAgICAgfQogICAgICAgIC8vIENsZWFyIHRlbXBvcmFyeSBjYWNoZSBhdCBlbmQgb2YgdHVybgogICAgICAgIGlmICh0aGlzLl9fZGF0YUNvdW50ZXIgPT0gMSkgewogICAgICAgICAgdGhpcy5fX2RhdGFUZW1wID0ge307CiAgICAgICAgfQogICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAvLyB3aW5kb3cuZGVidWcgJiYgY29uc29sZS5ncm91cEVuZCh0aGlzLmxvY2FsTmFtZSArICcjJyArIHRoaXMuaWQgKyAnOiAnICsgYyk7CiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICB9CgogICAgICAvKioKICAgICAgICogQ2FsbGVkIHRvIHByb3BhZ2F0ZSBhbnkgcHJvcGVydHkgY2hhbmdlcyB0byBzdGFtcGVkIHRlbXBsYXRlIG5vZGVzCiAgICAgICAqIG1hbmFnZWQgYnkgdGhpcyBlbGVtZW50LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge09iamVjdH0gY2hhbmdlZFByb3BzIEJhZyBvZiBjaGFuZ2VkIHByb3BlcnRpZXMKICAgICAgICogQHBhcmFtIHtPYmplY3R9IG9sZFByb3BzIEJhZyBvZiBwcmV2aW91cyB2YWx1ZXMgZm9yIGNoYW5nZWQgcHJvcGVydGllcwogICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGhhc1BhdGhzIFRydWUgd2l0aCBgcHJvcHNgIGNvbnRhaW5zIG9uZSBvciBtb3JlIHBhdGhzCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIF9wcm9wYWdhdGVQcm9wZXJ0eUNoYW5nZXMoY2hhbmdlZFByb3BzLCBvbGRQcm9wcywgaGFzUGF0aHMpIHsKICAgICAgICBpZiAodGhpc1tUWVBFUy5QUk9QQUdBVEVdKSB7CiAgICAgICAgICBydW5FZmZlY3RzKHRoaXMsIHRoaXNbVFlQRVMuUFJPUEFHQVRFXSwgY2hhbmdlZFByb3BzLCBvbGRQcm9wcywgaGFzUGF0aHMpOwogICAgICAgIH0KICAgICAgICBsZXQgdGVtcGxhdGVJbmZvID0gdGhpcy5fX3RlbXBsYXRlSW5mbzsKICAgICAgICB3aGlsZSAodGVtcGxhdGVJbmZvKSB7CiAgICAgICAgICBydW5FZmZlY3RzKHRoaXMsIHRlbXBsYXRlSW5mby5wcm9wZXJ0eUVmZmVjdHMsIGNoYW5nZWRQcm9wcywgb2xkUHJvcHMsCiAgICAgICAgICAgIGhhc1BhdGhzLCB0ZW1wbGF0ZUluZm8ubm9kZUxpc3QpOwogICAgICAgICAgdGVtcGxhdGVJbmZvID0gdGVtcGxhdGVJbmZvLm5leHRUZW1wbGF0ZUluZm87CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogQWxpYXNlcyBvbmUgZGF0YSBwYXRoIGFzIGFub3RoZXIsIHN1Y2ggdGhhdCBwYXRoIG5vdGlmaWNhdGlvbnMgZnJvbSBvbmUKICAgICAgICogYXJlIHJvdXRlZCB0byB0aGUgb3RoZXIuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nIHwgIUFycmF5PHN0cmluZ3xudW1iZXI+fSB0byBUYXJnZXQgcGF0aCB0byBsaW5rLgogICAgICAgKiBAcGFyYW0ge3N0cmluZyB8ICFBcnJheTxzdHJpbmd8bnVtYmVyPn0gZnJvbSBTb3VyY2UgcGF0aCB0byBsaW5rLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHVibGljCiAgICAgICAqLwogICAgICBsaW5rUGF0aHModG8sIGZyb20pIHsKICAgICAgICB0byA9IFBvbHltZXIuUGF0aC5ub3JtYWxpemUodG8pOwogICAgICAgIGZyb20gPSBQb2x5bWVyLlBhdGgubm9ybWFsaXplKGZyb20pOwogICAgICAgIHRoaXMuX19kYXRhTGlua2VkUGF0aHMgPSB0aGlzLl9fZGF0YUxpbmtlZFBhdGhzIHx8IHt9OwogICAgICAgIHRoaXMuX19kYXRhTGlua2VkUGF0aHNbdG9dID0gZnJvbTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJlbW92ZXMgYSBkYXRhIHBhdGggYWxpYXMgcHJldmlvdXNseSBlc3RhYmxpc2hlZCB3aXRoIGBfbGlua1BhdGhzYC4KICAgICAgICoKICAgICAgICogTm90ZSwgdGhlIHBhdGggdG8gdW5saW5rIHNob3VsZCBiZSB0aGUgdGFyZ2V0IChgdG9gKSB1c2VkIHdoZW4KICAgICAgICogbGlua2luZyB0aGUgcGF0aHMuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nIHwgIUFycmF5PHN0cmluZ3xudW1iZXI+fSBwYXRoIFRhcmdldCBwYXRoIHRvIHVubGluay4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHB1YmxpYwogICAgICAgKi8KICAgICAgdW5saW5rUGF0aHMocGF0aCkgewogICAgICAgIHBhdGggPSBQb2x5bWVyLlBhdGgubm9ybWFsaXplKHBhdGgpOwogICAgICAgIGlmICh0aGlzLl9fZGF0YUxpbmtlZFBhdGhzKSB7CiAgICAgICAgICBkZWxldGUgdGhpcy5fX2RhdGFMaW5rZWRQYXRoc1twYXRoXTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBOb3RpZnkgdGhhdCBhbiBhcnJheSBoYXMgY2hhbmdlZC4KICAgICAgICoKICAgICAgICogRXhhbXBsZToKICAgICAgICoKICAgICAgICogICAgIHRoaXMuaXRlbXMgPSBbIHtuYW1lOiAnSmltJ30sIHtuYW1lOiAnVG9kZCd9LCB7bmFtZTogJ0JpbGwnfSBdOwogICAgICAgKiAgICAgLi4uCiAgICAgICAqICAgICB0aGlzLml0ZW1zLnNwbGljZSgxLCAxLCB7bmFtZTogJ1NhbSd9KTsKICAgICAgICogICAgIHRoaXMuaXRlbXMucHVzaCh7bmFtZTogJ0JvYid9KTsKICAgICAgICogICAgIHRoaXMubm90aWZ5U3BsaWNlcygnaXRlbXMnLCBbCiAgICAgICAqICAgICAgIHsgaW5kZXg6IDEsIHJlbW92ZWQ6IFt7bmFtZTogJ1RvZGQnfV0sIGFkZGVkQ291bnQ6IDEsIG9iamVjdDogdGhpcy5pdGVtcywgdHlwZTogJ3NwbGljZScgfSwKICAgICAgICogICAgICAgeyBpbmRleDogMywgcmVtb3ZlZDogW10sIGFkZGVkQ291bnQ6IDEsIG9iamVjdDogdGhpcy5pdGVtcywgdHlwZTogJ3NwbGljZSd9CiAgICAgICAqICAgICBdKTsKICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggUGF0aCB0aGF0IHNob3VsZCBiZSBub3RpZmllZC4KICAgICAgICogQHBhcmFtIHtBcnJheX0gc3BsaWNlcyBBcnJheSBvZiBzcGxpY2UgcmVjb3JkcyBpbmRpY2F0aW5nIG9yZGVyZWQKICAgICAgICogICBjaGFuZ2VzIHRoYXQgb2NjdXJyZWQgdG8gdGhlIGFycmF5LiBFYWNoIHJlY29yZCBzaG91bGQgaGF2ZSB0aGUKICAgICAgICogICBmb2xsb3dpbmcgZmllbGRzOgogICAgICAgKiAgICAqIGluZGV4OiBpbmRleCBhdCB3aGljaCB0aGUgY2hhbmdlIG9jY3VycmVkCiAgICAgICAqICAgICogcmVtb3ZlZDogYXJyYXkgb2YgaXRlbXMgdGhhdCB3ZXJlIHJlbW92ZWQgZnJvbSB0aGlzIGluZGV4CiAgICAgICAqICAgICogYWRkZWRDb3VudDogbnVtYmVyIG9mIG5ldyBpdGVtcyBhZGRlZCBhdCB0aGlzIGluZGV4CiAgICAgICAqICAgICogb2JqZWN0OiBhIHJlZmVyZW5jZSB0byB0aGUgYXJyYXkgaW4gcXVlc3Rpb24KICAgICAgICogICAgKiB0eXBlOiB0aGUgc3RyaW5nIGxpdGVyYWwgJ3NwbGljZScKICAgICAgICoKICAgICAgICogICBOb3RlIHRoYXQgc3BsaWNlIHJlY29yZHMgX211c3RfIGJlIG5vcm1hbGl6ZWQgc3VjaCB0aGF0IHRoZXkgYXJlCiAgICAgICAqICAgcmVwb3J0ZWQgaW4gaW5kZXggb3JkZXIgKHJhdyByZXN1bHRzIGZyb20gYE9iamVjdC5vYnNlcnZlYCBhcmUgbm90CiAgICAgICAqICAgb3JkZXJlZCBhbmQgbXVzdCBiZSBub3JtYWxpemVkL21lcmdlZCBiZWZvcmUgbm90aWZ5aW5nKS4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHB1YmxpYwogICAgICAqLwogICAgICBub3RpZnlTcGxpY2VzKHBhdGgsIHNwbGljZXMpIHsKICAgICAgICBsZXQgaW5mbyA9IHtwYXRoOiAnJ307CiAgICAgICAgbGV0IGFycmF5ID0gLyoqIEB0eXBlIHtBcnJheX0gKi8oUG9seW1lci5QYXRoLmdldCh0aGlzLCBwYXRoLCBpbmZvKSk7CiAgICAgICAgbm90aWZ5U3BsaWNlcyh0aGlzLCBhcnJheSwgaW5mby5wYXRoLCBzcGxpY2VzKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgcmVhZGluZyBhIHZhbHVlIGZyb20gYSBwYXRoLgogICAgICAgKgogICAgICAgKiBOb3RlLCBpZiBhbnkgcGFydCBpbiB0aGUgcGF0aCBpcyB1bmRlZmluZWQsIHRoaXMgbWV0aG9kIHJldHVybnMKICAgICAgICogYHVuZGVmaW5lZGAgKHRoaXMgbWV0aG9kIGRvZXMgbm90IHRocm93IHdoZW4gZGVyZWZlcmVuY2luZyB1bmRlZmluZWQKICAgICAgICogcGF0aHMpLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyhzdHJpbmd8IUFycmF5PChzdHJpbmd8bnVtYmVyKT4pfSBwYXRoIFBhdGggdG8gdGhlIHZhbHVlCiAgICAgICAqICAgdG8gcmVhZC4gIFRoZSBwYXRoIG1heSBiZSBzcGVjaWZpZWQgYXMgYSBzdHJpbmcgKGUuZy4gYGZvby5iYXIuYmF6YCkKICAgICAgICogICBvciBhbiBhcnJheSBvZiBwYXRoIHBhcnRzIChlLmcuIGBbJ2Zvby5iYXInLCAnYmF6J11gKS4gIE5vdGUgdGhhdAogICAgICAgKiAgIGJyYWNrZXRlZCBleHByZXNzaW9ucyBhcmUgbm90IHN1cHBvcnRlZDsgc3RyaW5nLWJhc2VkIHBhdGggcGFydHMKICAgICAgICogICAqbXVzdCogYmUgc2VwYXJhdGVkIGJ5IGRvdHMuICBOb3RlIHRoYXQgd2hlbiBkZXJlZmVyZW5jaW5nIGFycmF5CiAgICAgICAqICAgaW5kaWNlcywgdGhlIGluZGV4IG1heSBiZSB1c2VkIGFzIGEgZG90dGVkIHBhcnQgZGlyZWN0bHkKICAgICAgICogICAoZS5nLiBgdXNlcnMuMTIubmFtZWAgb3IgYFsndXNlcnMnLCAxMiwgJ25hbWUnXWApLgogICAgICAgKiBAcGFyYW0ge09iamVjdD19IHJvb3QgUm9vdCBvYmplY3QgZnJvbSB3aGljaCB0aGUgcGF0aCBpcyBldmFsdWF0ZWQuCiAgICAgICAqIEByZXR1cm4geyp9IFZhbHVlIGF0IHRoZSBwYXRoLCBvciBgdW5kZWZpbmVkYCBpZiBhbnkgcGFydCBvZiB0aGUgcGF0aAogICAgICAgKiAgIGlzIHVuZGVmaW5lZC4KICAgICAgICogQHB1YmxpYwogICAgICAgKi8KICAgICAgZ2V0KHBhdGgsIHJvb3QpIHsKICAgICAgICByZXR1cm4gUG9seW1lci5QYXRoLmdldChyb290IHx8IHRoaXMsIHBhdGgpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBzZXR0aW5nIGEgdmFsdWUgdG8gYSBwYXRoIGFuZCBub3RpZnlpbmcgYW55CiAgICAgICAqIGVsZW1lbnRzIGJvdW5kIHRvIHRoZSBzYW1lIHBhdGguCiAgICAgICAqCiAgICAgICAqIE5vdGUsIGlmIGFueSBwYXJ0IGluIHRoZSBwYXRoIGV4Y2VwdCBmb3IgdGhlIGxhc3QgaXMgdW5kZWZpbmVkLAogICAgICAgKiB0aGlzIG1ldGhvZCBkb2VzIG5vdGhpbmcgKHRoaXMgbWV0aG9kIGRvZXMgbm90IHRocm93IHdoZW4KICAgICAgICogZGVyZWZlcmVuY2luZyB1bmRlZmluZWQgcGF0aHMpLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyhzdHJpbmd8IUFycmF5PChzdHJpbmd8bnVtYmVyKT4pfSBwYXRoIFBhdGggdG8gdGhlIHZhbHVlCiAgICAgICAqICAgdG8gd3JpdGUuICBUaGUgcGF0aCBtYXkgYmUgc3BlY2lmaWVkIGFzIGEgc3RyaW5nIChlLmcuIGAnZm9vLmJhci5iYXonYCkKICAgICAgICogICBvciBhbiBhcnJheSBvZiBwYXRoIHBhcnRzIChlLmcuIGBbJ2Zvby5iYXInLCAnYmF6J11gKS4gIE5vdGUgdGhhdAogICAgICAgKiAgIGJyYWNrZXRlZCBleHByZXNzaW9ucyBhcmUgbm90IHN1cHBvcnRlZDsgc3RyaW5nLWJhc2VkIHBhdGggcGFydHMKICAgICAgICogICAqbXVzdCogYmUgc2VwYXJhdGVkIGJ5IGRvdHMuICBOb3RlIHRoYXQgd2hlbiBkZXJlZmVyZW5jaW5nIGFycmF5CiAgICAgICAqICAgaW5kaWNlcywgdGhlIGluZGV4IG1heSBiZSB1c2VkIGFzIGEgZG90dGVkIHBhcnQgZGlyZWN0bHkKICAgICAgICogICAoZS5nLiBgJ3VzZXJzLjEyLm5hbWUnYCBvciBgWyd1c2VycycsIDEyLCAnbmFtZSddYCkuCiAgICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVmFsdWUgdG8gc2V0IGF0IHRoZSBzcGVjaWZpZWQgcGF0aC4KICAgICAgICogQHBhcmFtIHtPYmplY3Q9fSByb290IFJvb3Qgb2JqZWN0IGZyb20gd2hpY2ggdGhlIHBhdGggaXMgZXZhbHVhdGVkLgogICAgICAgKiAgIFdoZW4gc3BlY2lmaWVkLCBubyBub3RpZmljYXRpb24gd2lsbCBvY2N1ci4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHB1YmxpYwogICAgICAqLwogICAgICBzZXQocGF0aCwgdmFsdWUsIHJvb3QpIHsKICAgICAgICBpZiAocm9vdCkgewogICAgICAgICAgUG9seW1lci5QYXRoLnNldChyb290LCBwYXRoLCB2YWx1ZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmICghdGhpc1tUWVBFUy5SRUFEX09OTFldIHx8ICF0aGlzW1RZUEVTLlJFQURfT05MWV1bLyoqIEB0eXBlIHtzdHJpbmd9ICovKHBhdGgpXSkgewogICAgICAgICAgICBpZiAodGhpcy5fc2V0UGVuZGluZ1Byb3BlcnR5T3JQYXRoKHBhdGgsIHZhbHVlLCB0cnVlKSkgewogICAgICAgICAgICAgIHRoaXMuX2ludmFsaWRhdGVQcm9wZXJ0aWVzKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBBZGRzIGl0ZW1zIG9udG8gdGhlIGVuZCBvZiB0aGUgYXJyYXkgYXQgdGhlIHBhdGggc3BlY2lmaWVkLgogICAgICAgKgogICAgICAgKiBUaGUgYXJndW1lbnRzIGFmdGVyIGBwYXRoYCBhbmQgcmV0dXJuIHZhbHVlIG1hdGNoIHRoYXQgb2YKICAgICAgICogYEFycmF5LnByb3RvdHlwZS5wdXNoYC4KICAgICAgICoKICAgICAgICogVGhpcyBtZXRob2Qgbm90aWZpZXMgb3RoZXIgcGF0aHMgdG8gdGhlIHNhbWUgYXJyYXkgdGhhdCBhCiAgICAgICAqIHNwbGljZSBvY2N1cnJlZCB0byB0aGUgYXJyYXkuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nIHwgIUFycmF5PHN0cmluZ3xudW1iZXI+fSBwYXRoIFBhdGggdG8gYXJyYXkuCiAgICAgICAqIEBwYXJhbSB7Li4uKn0gaXRlbXMgSXRlbXMgdG8gcHVzaCBvbnRvIGFycmF5CiAgICAgICAqIEByZXR1cm4ge251bWJlcn0gTmV3IGxlbmd0aCBvZiB0aGUgYXJyYXkuCiAgICAgICAqIEBwdWJsaWMKICAgICAgICovCiAgICAgIHB1c2gocGF0aCwgLi4uaXRlbXMpIHsKICAgICAgICBsZXQgaW5mbyA9IHtwYXRoOiAnJ307CiAgICAgICAgbGV0IGFycmF5ID0gLyoqIEB0eXBlIHtBcnJheX0qLyhQb2x5bWVyLlBhdGguZ2V0KHRoaXMsIHBhdGgsIGluZm8pKTsKICAgICAgICBsZXQgbGVuID0gYXJyYXkubGVuZ3RoOwogICAgICAgIGxldCByZXQgPSBhcnJheS5wdXNoKC4uLml0ZW1zKTsKICAgICAgICBpZiAoaXRlbXMubGVuZ3RoKSB7CiAgICAgICAgICBub3RpZnlTcGxpY2UodGhpcywgYXJyYXksIGluZm8ucGF0aCwgbGVuLCBpdGVtcy5sZW5ndGgsIFtdKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJldDsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJlbW92ZXMgYW4gaXRlbSBmcm9tIHRoZSBlbmQgb2YgYXJyYXkgYXQgdGhlIHBhdGggc3BlY2lmaWVkLgogICAgICAgKgogICAgICAgKiBUaGUgYXJndW1lbnRzIGFmdGVyIGBwYXRoYCBhbmQgcmV0dXJuIHZhbHVlIG1hdGNoIHRoYXQgb2YKICAgICAgICogYEFycmF5LnByb3RvdHlwZS5wb3BgLgogICAgICAgKgogICAgICAgKiBUaGlzIG1ldGhvZCBub3RpZmllcyBvdGhlciBwYXRocyB0byB0aGUgc2FtZSBhcnJheSB0aGF0IGEKICAgICAgICogc3BsaWNlIG9jY3VycmVkIHRvIHRoZSBhcnJheS4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmcgfCAhQXJyYXk8c3RyaW5nfG51bWJlcj59IHBhdGggUGF0aCB0byBhcnJheS4KICAgICAgICogQHJldHVybiB7Kn0gSXRlbSB0aGF0IHdhcyByZW1vdmVkLgogICAgICAgKiBAcHVibGljCiAgICAgICAqLwogICAgICBwb3AocGF0aCkgewogICAgICAgIGxldCBpbmZvID0ge3BhdGg6ICcnfTsKICAgICAgICBsZXQgYXJyYXkgPSAvKiogQHR5cGUge0FycmF5fSAqLyhQb2x5bWVyLlBhdGguZ2V0KHRoaXMsIHBhdGgsIGluZm8pKTsKICAgICAgICBsZXQgaGFkTGVuZ3RoID0gQm9vbGVhbihhcnJheS5sZW5ndGgpOwogICAgICAgIGxldCByZXQgPSBhcnJheS5wb3AoKTsKICAgICAgICBpZiAoaGFkTGVuZ3RoKSB7CiAgICAgICAgICBub3RpZnlTcGxpY2UodGhpcywgYXJyYXksIGluZm8ucGF0aCwgYXJyYXkubGVuZ3RoLCAwLCBbcmV0XSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiByZXQ7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBTdGFydGluZyBmcm9tIHRoZSBzdGFydCBpbmRleCBzcGVjaWZpZWQsIHJlbW92ZXMgMCBvciBtb3JlIGl0ZW1zCiAgICAgICAqIGZyb20gdGhlIGFycmF5IGFuZCBpbnNlcnRzIDAgb3IgbW9yZSBuZXcgaXRlbXMgaW4gdGhlaXIgcGxhY2UuCiAgICAgICAqCiAgICAgICAqIFRoZSBhcmd1bWVudHMgYWZ0ZXIgYHBhdGhgIGFuZCByZXR1cm4gdmFsdWUgbWF0Y2ggdGhhdCBvZgogICAgICAgKiBgQXJyYXkucHJvdG90eXBlLnNwbGljZWAuCiAgICAgICAqCiAgICAgICAqIFRoaXMgbWV0aG9kIG5vdGlmaWVzIG90aGVyIHBhdGhzIHRvIHRoZSBzYW1lIGFycmF5IHRoYXQgYQogICAgICAgKiBzcGxpY2Ugb2NjdXJyZWQgdG8gdGhlIGFycmF5LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZyB8ICFBcnJheTxzdHJpbmd8bnVtYmVyPn0gcGF0aCBQYXRoIHRvIGFycmF5LgogICAgICAgKiBAcGFyYW0ge251bWJlcn0gc3RhcnQgSW5kZXggZnJvbSB3aGljaCB0byBzdGFydCByZW1vdmluZy9pbnNlcnRpbmcuCiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBkZWxldGVDb3VudCBOdW1iZXIgb2YgaXRlbXMgdG8gcmVtb3ZlLgogICAgICAgKiBAcGFyYW0gey4uLip9IGl0ZW1zIEl0ZW1zIHRvIGluc2VydCBpbnRvIGFycmF5LgogICAgICAgKiBAcmV0dXJuIHtBcnJheX0gQXJyYXkgb2YgcmVtb3ZlZCBpdGVtcy4KICAgICAgICogQHB1YmxpYwogICAgICAgKi8KICAgICAgc3BsaWNlKHBhdGgsIHN0YXJ0LCBkZWxldGVDb3VudCwgLi4uaXRlbXMpIHsKICAgICAgICBsZXQgaW5mbyA9IHtwYXRoIDogJyd9OwogICAgICAgIGxldCBhcnJheSA9IC8qKiBAdHlwZSB7QXJyYXl9ICovKFBvbHltZXIuUGF0aC5nZXQodGhpcywgcGF0aCwgaW5mbykpOwogICAgICAgIC8vIE5vcm1hbGl6ZSBmYW5jeSBuYXRpdmUgc3BsaWNlIGhhbmRsaW5nIG9mIGNyYXp5IHN0YXJ0IHZhbHVlcwogICAgICAgIGlmIChzdGFydCA8IDApIHsKICAgICAgICAgIHN0YXJ0ID0gYXJyYXkubGVuZ3RoIC0gTWF0aC5mbG9vcigtc3RhcnQpOwogICAgICAgIH0gZWxzZSBpZiAoc3RhcnQpIHsKICAgICAgICAgIHN0YXJ0ID0gTWF0aC5mbG9vcihzdGFydCk7CiAgICAgICAgfQogICAgICAgIC8vIGFycmF5LnNwbGljZSBkb2VzIGRpZmZlcmVudCB0aGluZ3MgYmFzZWQgb24gdGhlIG51bWJlciBvZiBhcmd1bWVudHMKICAgICAgICAvLyB5b3UgcGFzcyBpbi4gVGhlcmVmb3JlLCBhcnJheS5zcGxpY2UoMCkgYW5kIGFycmF5LnNwbGljZSgwLCB1bmRlZmluZWQpCiAgICAgICAgLy8gZG8gZGlmZmVyZW50IHRoaW5ncy4gSW4gdGhlIGZvcm1lciwgdGhlIHdob2xlIGFycmF5IGlzIGNsZWFyZWQuIEluIHRoZQogICAgICAgIC8vIGxhdHRlciwgbm8gaXRlbXMgYXJlIHJlbW92ZWQuCiAgICAgICAgLy8gVGhpcyBtZWFucyB0aGF0IHdlIG5lZWQgdG8gZGV0ZWN0IHdoZXRoZXIgMS4gb25lIG9mIHRoZSBhcmd1bWVudHMKICAgICAgICAvLyBpcyBhY3R1YWxseSBwYXNzZWQgaW4gYW5kIHRoZW4gMi4gZGV0ZXJtaW5lIGhvdyBtYW55IGFyZ3VtZW50cwogICAgICAgIC8vIHdlIHNob3VsZCBwYXNzIG9uIHRvIHRoZSBuYXRpdmUgYXJyYXkuc3BsaWNlCiAgICAgICAgLy8KICAgICAgICBsZXQgcmV0OwogICAgICAgIC8vIE9taXQgYW55IGFkZGl0aW9uYWwgYXJndW1lbnRzIGlmIHRoZXkgd2VyZSBub3QgcGFzc2VkIGluCiAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIHsKICAgICAgICAgIHJldCA9IGFycmF5LnNwbGljZShzdGFydCk7CiAgICAgICAgLy8gRWl0aGVyIHN0YXJ0IHdhcyB1bmRlZmluZWQgYW5kIHRoZSBvdGhlcnMgd2VyZSBkZWZpbmVkLCBidXQgaW4gdGhpcwogICAgICAgIC8vIGNhc2Ugd2UgY2FuIHNhZmVseSBwYXNzIG9uIGFsbCBhcmd1bWVudHMKICAgICAgICAvLwogICAgICAgIC8vIE5vdGU6IHRoaXMgaW5jbHVkZXMgdGhlIGNhc2Ugd2hlcmUgbm9uZSBvZiB0aGUgYXJndW1lbnRzIHdlcmUgcGFzc2VkIGluLAogICAgICAgIC8vIGUuZy4gdGhpcy5zcGxpY2UoJ2FycmF5JykuIEhvd2V2ZXIsIGlmIGJvdGggc3RhcnQgYW5kIGRlbGV0ZUNvdW50CiAgICAgICAgLy8gYXJlIHVuZGVmaW5lZCwgYXJyYXkuc3BsaWNlIHdpbGwgbm90IG1vZGlmeSB0aGUgYXJyYXkgKGFzIGV4cGVjdGVkKQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICByZXQgPSBhcnJheS5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50LCAuLi5pdGVtcyk7CiAgICAgICAgfQogICAgICAgIC8vIEF0IHRoZSBlbmQsIGNoZWNrIHdoZXRoZXIgYW55IGl0ZW1zIHdlcmUgcGFzc2VkIGluIChlLmcuIGluc2VydGlvbnMpCiAgICAgICAgLy8gb3IgaWYgdGhlIHJldHVybiBhcnJheSBjb250YWlucyBpdGVtcyAoZS5nLiBkZWxldGlvbnMpLgogICAgICAgIC8vIE9ubHkgbm90aWZ5IGlmIGl0ZW1zIHdlcmUgYWRkZWQgb3IgZGVsZXRlZC4KICAgICAgICBpZiAoaXRlbXMubGVuZ3RoIHx8IHJldC5sZW5ndGgpIHsKICAgICAgICAgIG5vdGlmeVNwbGljZSh0aGlzLCBhcnJheSwgaW5mby5wYXRoLCBzdGFydCwgaXRlbXMubGVuZ3RoLCByZXQpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcmV0OwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmVtb3ZlcyBhbiBpdGVtIGZyb20gdGhlIGJlZ2lubmluZyBvZiBhcnJheSBhdCB0aGUgcGF0aCBzcGVjaWZpZWQuCiAgICAgICAqCiAgICAgICAqIFRoZSBhcmd1bWVudHMgYWZ0ZXIgYHBhdGhgIGFuZCByZXR1cm4gdmFsdWUgbWF0Y2ggdGhhdCBvZgogICAgICAgKiBgQXJyYXkucHJvdG90eXBlLnBvcGAuCiAgICAgICAqCiAgICAgICAqIFRoaXMgbWV0aG9kIG5vdGlmaWVzIG90aGVyIHBhdGhzIHRvIHRoZSBzYW1lIGFycmF5IHRoYXQgYQogICAgICAgKiBzcGxpY2Ugb2NjdXJyZWQgdG8gdGhlIGFycmF5LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZyB8ICFBcnJheTxzdHJpbmd8bnVtYmVyPn0gcGF0aCBQYXRoIHRvIGFycmF5LgogICAgICAgKiBAcmV0dXJuIHsqfSBJdGVtIHRoYXQgd2FzIHJlbW92ZWQuCiAgICAgICAqIEBwdWJsaWMKICAgICAgICovCiAgICAgIHNoaWZ0KHBhdGgpIHsKICAgICAgICBsZXQgaW5mbyA9IHtwYXRoOiAnJ307CiAgICAgICAgbGV0IGFycmF5ID0gLyoqIEB0eXBlIHtBcnJheX0gKi8oUG9seW1lci5QYXRoLmdldCh0aGlzLCBwYXRoLCBpbmZvKSk7CiAgICAgICAgbGV0IGhhZExlbmd0aCA9IEJvb2xlYW4oYXJyYXkubGVuZ3RoKTsKICAgICAgICBsZXQgcmV0ID0gYXJyYXkuc2hpZnQoKTsKICAgICAgICBpZiAoaGFkTGVuZ3RoKSB7CiAgICAgICAgICBub3RpZnlTcGxpY2UodGhpcywgYXJyYXksIGluZm8ucGF0aCwgMCwgMCwgW3JldF0pOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcmV0OwogICAgICB9CgogICAgICAvKioKICAgICAgICogQWRkcyBpdGVtcyBvbnRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFycmF5IGF0IHRoZSBwYXRoIHNwZWNpZmllZC4KICAgICAgICoKICAgICAgICogVGhlIGFyZ3VtZW50cyBhZnRlciBgcGF0aGAgYW5kIHJldHVybiB2YWx1ZSBtYXRjaCB0aGF0IG9mCiAgICAgICAqIGBBcnJheS5wcm90b3R5cGUucHVzaGAuCiAgICAgICAqCiAgICAgICAqIFRoaXMgbWV0aG9kIG5vdGlmaWVzIG90aGVyIHBhdGhzIHRvIHRoZSBzYW1lIGFycmF5IHRoYXQgYQogICAgICAgKiBzcGxpY2Ugb2NjdXJyZWQgdG8gdGhlIGFycmF5LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZyB8ICFBcnJheTxzdHJpbmd8bnVtYmVyPn0gcGF0aCBQYXRoIHRvIGFycmF5LgogICAgICAgKiBAcGFyYW0gey4uLip9IGl0ZW1zIEl0ZW1zIHRvIGluc2VydCBpbmZvIGFycmF5CiAgICAgICAqIEByZXR1cm4ge251bWJlcn0gTmV3IGxlbmd0aCBvZiB0aGUgYXJyYXkuCiAgICAgICAqIEBwdWJsaWMKICAgICAgICovCiAgICAgIHVuc2hpZnQocGF0aCwgLi4uaXRlbXMpIHsKICAgICAgICBsZXQgaW5mbyA9IHtwYXRoOiAnJ307CiAgICAgICAgbGV0IGFycmF5ID0gLyoqIEB0eXBlIHtBcnJheX0gKi8oUG9seW1lci5QYXRoLmdldCh0aGlzLCBwYXRoLCBpbmZvKSk7CiAgICAgICAgbGV0IHJldCA9IGFycmF5LnVuc2hpZnQoLi4uaXRlbXMpOwogICAgICAgIGlmIChpdGVtcy5sZW5ndGgpIHsKICAgICAgICAgIG5vdGlmeVNwbGljZSh0aGlzLCBhcnJheSwgaW5mby5wYXRoLCAwLCBpdGVtcy5sZW5ndGgsIFtdKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJldDsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE5vdGlmeSB0aGF0IGEgcGF0aCBoYXMgY2hhbmdlZC4KICAgICAgICoKICAgICAgICogRXhhbXBsZToKICAgICAgICoKICAgICAgICogICAgIHRoaXMuaXRlbS51c2VyLm5hbWUgPSAnQm9iJzsKICAgICAgICogICAgIHRoaXMubm90aWZ5UGF0aCgnaXRlbS51c2VyLm5hbWUnKTsKICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggUGF0aCB0aGF0IHNob3VsZCBiZSBub3RpZmllZC4KICAgICAgICogQHBhcmFtIHsqPX0gdmFsdWUgVmFsdWUgYXQgdGhlIHBhdGggKG9wdGlvbmFsKS4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHB1YmxpYwogICAgICAqLwogICAgICBub3RpZnlQYXRoKHBhdGgsIHZhbHVlKSB7CiAgICAgICAgLyoqIEB0eXBlIHtzdHJpbmd9ICovCiAgICAgICAgbGV0IHByb3BQYXRoOwogICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09IDEpIHsKICAgICAgICAgIC8vIEdldCB2YWx1ZSBpZiBub3Qgc3VwcGxpZWQKICAgICAgICAgIGxldCBpbmZvID0ge3BhdGg6ICcnfTsKICAgICAgICAgIHZhbHVlID0gUG9seW1lci5QYXRoLmdldCh0aGlzLCBwYXRoLCBpbmZvKTsKICAgICAgICAgIHByb3BQYXRoID0gaW5mby5wYXRoOwogICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShwYXRoKSkgewogICAgICAgICAgLy8gTm9ybWFsaXplIHBhdGggaWYgbmVlZGVkCiAgICAgICAgICBwcm9wUGF0aCA9IFBvbHltZXIuUGF0aC5ub3JtYWxpemUocGF0aCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHByb3BQYXRoID0gLyoqIEB0eXBle3N0cmluZ30gKi8ocGF0aCk7CiAgICAgICAgfQogICAgICAgIGlmICh0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgocHJvcFBhdGgsIHZhbHVlLCB0cnVlLCB0cnVlKSkgewogICAgICAgICAgdGhpcy5faW52YWxpZGF0ZVByb3BlcnRpZXMoKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBFcXVpdmFsZW50IHRvIHN0YXRpYyBgY3JlYXRlUmVhZE9ubHlQcm9wZXJ0eWAgQVBJIGJ1dCBjYW4gYmUgY2FsbGVkIG9uCiAgICAgICAqIGFuIGluc3RhbmNlIHRvIGFkZCBlZmZlY3RzIGF0IHJ1bnRpbWUuICBTZWUgdGhhdCBtZXRob2QgZm9yCiAgICAgICAqIGZ1bGwgQVBJIGRvY3MuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBQcm9wZXJ0eSBuYW1lCiAgICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IHByb3RlY3RlZFNldHRlciBDcmVhdGVzIGEgY3VzdG9tIHByb3RlY3RlZCBzZXR0ZXIKICAgICAgICogICB3aGVuIGB0cnVlYC4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX2NyZWF0ZVJlYWRPbmx5UHJvcGVydHkocHJvcGVydHksIHByb3RlY3RlZFNldHRlcikgewogICAgICAgIHRoaXMuX2FkZFByb3BlcnR5RWZmZWN0KHByb3BlcnR5LCBUWVBFUy5SRUFEX09OTFkpOwogICAgICAgIGlmIChwcm90ZWN0ZWRTZXR0ZXIpIHsKICAgICAgICAgIHRoaXNbJ19zZXQnICsgdXBwZXIocHJvcGVydHkpXSA9IC8qKiBAdGhpcyB7UHJvcGVydHlFZmZlY3RzfSAqL2Z1bmN0aW9uKHZhbHVlKSB7CiAgICAgICAgICAgIHRoaXMuX3NldFByb3BlcnR5KHByb3BlcnR5LCB2YWx1ZSk7CiAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEVxdWl2YWxlbnQgdG8gc3RhdGljIGBjcmVhdGVQcm9wZXJ0eU9ic2VydmVyYCBBUEkgYnV0IGNhbiBiZSBjYWxsZWQgb24KICAgICAgICogYW4gaW5zdGFuY2UgdG8gYWRkIGVmZmVjdHMgYXQgcnVudGltZS4gIFNlZSB0aGF0IG1ldGhvZCBmb3IKICAgICAgICogZnVsbCBBUEkgZG9jcy4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IFByb3BlcnR5IG5hbWUKICAgICAgICogQHBhcmFtIHtzdHJpbmd8ZnVuY3Rpb24oKiwqKX0gbWV0aG9kIEZ1bmN0aW9uIG9yIG5hbWUgb2Ygb2JzZXJ2ZXIgbWV0aG9kIHRvIGNhbGwKICAgICAgICogQHBhcmFtIHtib29sZWFuPX0gZHluYW1pY0ZuIFdoZXRoZXIgdGhlIG1ldGhvZCBuYW1lIHNob3VsZCBiZSBpbmNsdWRlZCBhcwogICAgICAgKiAgIGEgZGVwZW5kZW5jeSB0byB0aGUgZWZmZWN0LgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfY3JlYXRlUHJvcGVydHlPYnNlcnZlcihwcm9wZXJ0eSwgbWV0aG9kLCBkeW5hbWljRm4pIHsKICAgICAgICBsZXQgaW5mbyA9IHsgcHJvcGVydHksIG1ldGhvZCwgZHluYW1pY0ZuOiBCb29sZWFuKGR5bmFtaWNGbikgfTsKICAgICAgICB0aGlzLl9hZGRQcm9wZXJ0eUVmZmVjdChwcm9wZXJ0eSwgVFlQRVMuT0JTRVJWRSwgewogICAgICAgICAgZm46IHJ1bk9ic2VydmVyRWZmZWN0LCBpbmZvLCB0cmlnZ2VyOiB7bmFtZTogcHJvcGVydHl9CiAgICAgICAgfSk7CiAgICAgICAgaWYgKGR5bmFtaWNGbikgewogICAgICAgICAgdGhpcy5fYWRkUHJvcGVydHlFZmZlY3QoLyoqIEB0eXBlIHtzdHJpbmd9ICovKG1ldGhvZCksIFRZUEVTLk9CU0VSVkUsIHsKICAgICAgICAgICAgZm46IHJ1bk9ic2VydmVyRWZmZWN0LCBpbmZvLCB0cmlnZ2VyOiB7bmFtZTogbWV0aG9kfQogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogRXF1aXZhbGVudCB0byBzdGF0aWMgYGNyZWF0ZU1ldGhvZE9ic2VydmVyYCBBUEkgYnV0IGNhbiBiZSBjYWxsZWQgb24KICAgICAgICogYW4gaW5zdGFuY2UgdG8gYWRkIGVmZmVjdHMgYXQgcnVudGltZS4gIFNlZSB0aGF0IG1ldGhvZCBmb3IKICAgICAgICogZnVsbCBBUEkgZG9jcy4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGV4cHJlc3Npb24gTWV0aG9kIGV4cHJlc3Npb24KICAgICAgICogQHBhcmFtIHtib29sZWFufE9iamVjdD19IGR5bmFtaWNGbiBCb29sZWFuIG9yIG9iamVjdCBtYXAgaW5kaWNhdGluZwogICAgICAgKiAgIHdoZXRoZXIgbWV0aG9kIG5hbWVzIHNob3VsZCBiZSBpbmNsdWRlZCBhcyBhIGRlcGVuZGVuY3kgdG8gdGhlIGVmZmVjdC4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX2NyZWF0ZU1ldGhvZE9ic2VydmVyKGV4cHJlc3Npb24sIGR5bmFtaWNGbikgewogICAgICAgIGxldCBzaWcgPSBwYXJzZU1ldGhvZChleHByZXNzaW9uKTsKICAgICAgICBpZiAoIXNpZykgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJNYWxmb3JtZWQgb2JzZXJ2ZXIgZXhwcmVzc2lvbiAnIiArIGV4cHJlc3Npb24gKyAiJyIpOwogICAgICAgIH0KICAgICAgICBjcmVhdGVNZXRob2RFZmZlY3QodGhpcywgc2lnLCBUWVBFUy5PQlNFUlZFLCBydW5NZXRob2RFZmZlY3QsIG51bGwsIGR5bmFtaWNGbik7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBFcXVpdmFsZW50IHRvIHN0YXRpYyBgY3JlYXRlTm90aWZ5aW5nUHJvcGVydHlgIEFQSSBidXQgY2FuIGJlIGNhbGxlZCBvbgogICAgICAgKiBhbiBpbnN0YW5jZSB0byBhZGQgZWZmZWN0cyBhdCBydW50aW1lLiAgU2VlIHRoYXQgbWV0aG9kIGZvcgogICAgICAgKiBmdWxsIEFQSSBkb2NzLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfY3JlYXRlTm90aWZ5aW5nUHJvcGVydHkocHJvcGVydHkpIHsKICAgICAgICB0aGlzLl9hZGRQcm9wZXJ0eUVmZmVjdChwcm9wZXJ0eSwgVFlQRVMuTk9USUZZLCB7CiAgICAgICAgICBmbjogcnVuTm90aWZ5RWZmZWN0LAogICAgICAgICAgaW5mbzogewogICAgICAgICAgICBldmVudE5hbWU6IENhc2VNYXAuY2FtZWxUb0Rhc2hDYXNlKHByb3BlcnR5KSArICctY2hhbmdlZCcsCiAgICAgICAgICAgIHByb3BlcnR5OiBwcm9wZXJ0eQogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9CgogICAgICAvKioKICAgICAgICogRXF1aXZhbGVudCB0byBzdGF0aWMgYGNyZWF0ZVJlZmxlY3RlZFByb3BlcnR5YCBBUEkgYnV0IGNhbiBiZSBjYWxsZWQgb24KICAgICAgICogYW4gaW5zdGFuY2UgdG8gYWRkIGVmZmVjdHMgYXQgcnVudGltZS4gIFNlZSB0aGF0IG1ldGhvZCBmb3IKICAgICAgICogZnVsbCBBUEkgZG9jcy4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IFByb3BlcnR5IG5hbWUKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX2NyZWF0ZVJlZmxlY3RlZFByb3BlcnR5KHByb3BlcnR5KSB7CiAgICAgICAgbGV0IGF0dHIgPSB0aGlzLmNvbnN0cnVjdG9yLmF0dHJpYnV0ZU5hbWVGb3JQcm9wZXJ0eShwcm9wZXJ0eSk7CiAgICAgICAgaWYgKGF0dHJbMF0gPT09ICctJykgewogICAgICAgICAgY29uc29sZS53YXJuKCdQcm9wZXJ0eSAnICsgcHJvcGVydHkgKyAnIGNhbm5vdCBiZSByZWZsZWN0ZWQgdG8gYXR0cmlidXRlICcgKwogICAgICAgICAgICBhdHRyICsgJyBiZWNhdXNlICItIiBpcyBub3QgYSB2YWxpZCBzdGFydGluZyBhdHRyaWJ1dGUgbmFtZS4gVXNlIGEgbG93ZXJjYXNlIGZpcnN0IGxldHRlciBmb3IgdGhlIHByb3BlcnR5IGluc3RlYWQuJyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuX2FkZFByb3BlcnR5RWZmZWN0KHByb3BlcnR5LCBUWVBFUy5SRUZMRUNULCB7CiAgICAgICAgICAgIGZuOiBydW5SZWZsZWN0RWZmZWN0LAogICAgICAgICAgICBpbmZvOiB7CiAgICAgICAgICAgICAgYXR0ck5hbWU6IGF0dHIKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogRXF1aXZhbGVudCB0byBzdGF0aWMgYGNyZWF0ZUNvbXB1dGVkUHJvcGVydHlgIEFQSSBidXQgY2FuIGJlIGNhbGxlZCBvbgogICAgICAgKiBhbiBpbnN0YW5jZSB0byBhZGQgZWZmZWN0cyBhdCBydW50aW1lLiAgU2VlIHRoYXQgbWV0aG9kIGZvcgogICAgICAgKiBmdWxsIEFQSSBkb2NzLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgTmFtZSBvZiBjb21wdXRlZCBwcm9wZXJ0eSB0byBzZXQKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGV4cHJlc3Npb24gTWV0aG9kIGV4cHJlc3Npb24KICAgICAgICogQHBhcmFtIHtib29sZWFufE9iamVjdD19IGR5bmFtaWNGbiBCb29sZWFuIG9yIG9iamVjdCBtYXAgaW5kaWNhdGluZwogICAgICAgKiAgIHdoZXRoZXIgbWV0aG9kIG5hbWVzIHNob3VsZCBiZSBpbmNsdWRlZCBhcyBhIGRlcGVuZGVuY3kgdG8gdGhlIGVmZmVjdC4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX2NyZWF0ZUNvbXB1dGVkUHJvcGVydHkocHJvcGVydHksIGV4cHJlc3Npb24sIGR5bmFtaWNGbikgewogICAgICAgIGxldCBzaWcgPSBwYXJzZU1ldGhvZChleHByZXNzaW9uKTsKICAgICAgICBpZiAoIXNpZykgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJNYWxmb3JtZWQgY29tcHV0ZWQgZXhwcmVzc2lvbiAnIiArIGV4cHJlc3Npb24gKyAiJyIpOwogICAgICAgIH0KICAgICAgICBjcmVhdGVNZXRob2RFZmZlY3QodGhpcywgc2lnLCBUWVBFUy5DT01QVVRFLCBydW5Db21wdXRlZEVmZmVjdCwgcHJvcGVydHksIGR5bmFtaWNGbik7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBHYXRoZXIgdGhlIGFyZ3VtZW50IHZhbHVlcyBmb3IgYSBtZXRob2Qgc3BlY2lmaWVkIGluIHRoZSBwcm92aWRlZCBhcnJheQogICAgICAgKiBvZiBhcmd1bWVudCBtZXRhZGF0YS4KICAgICAgICoKICAgICAgICogVGhlIGBwYXRoYCBhbmQgYHZhbHVlYCBhcmd1bWVudHMgYXJlIHVzZWQgdG8gZmlsbCBpbiB3aWxkY2FyZCBkZXNjcmlwdG9yCiAgICAgICAqIHdoZW4gdGhlIG1ldGhvZCBpcyBiZWluZyBjYWxsZWQgYXMgYSByZXN1bHQgb2YgYSBwYXRoIG5vdGlmaWNhdGlvbi4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshQXJyYXk8IU1ldGhvZEFyZz59IGFyZ3MgQXJyYXkgb2YgYXJndW1lbnQgbWV0YWRhdGEKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggUHJvcGVydHkvcGF0aCBuYW1lIHRoYXQgdHJpZ2dlcmVkIHRoZSBtZXRob2QgZWZmZWN0CiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBCYWcgb2YgY3VycmVudCBwcm9wZXJ0eSBjaGFuZ2VzCiAgICAgICAqIEByZXR1cm4ge0FycmF5PCo+fSBBcnJheSBvZiBhcmd1bWVudCB2YWx1ZXMKICAgICAgICogQHByaXZhdGUKICAgICAgICovCiAgICAgIF9tYXJzaGFsQXJncyhhcmdzLCBwYXRoLCBwcm9wcykgewogICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9fZGF0YTsKICAgICAgICBsZXQgdmFsdWVzID0gW107CiAgICAgICAgZm9yIChsZXQgaT0wLCBsPWFyZ3MubGVuZ3RoOyBpPGw7IGkrKykgewogICAgICAgICAgbGV0IGFyZyA9IGFyZ3NbaV07CiAgICAgICAgICBsZXQgbmFtZSA9IGFyZy5uYW1lOwogICAgICAgICAgbGV0IHY7CiAgICAgICAgICBpZiAoYXJnLmxpdGVyYWwpIHsKICAgICAgICAgICAgdiA9IGFyZy52YWx1ZTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmIChhcmcuc3RydWN0dXJlZCkgewogICAgICAgICAgICAgIHYgPSBQb2x5bWVyLlBhdGguZ2V0KGRhdGEsIG5hbWUpOwogICAgICAgICAgICAgIC8vIHdoZW4gZGF0YSBpcyBub3Qgc3RvcmVkIGUuZy4gYHNwbGljZXNgCiAgICAgICAgICAgICAgaWYgKHYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgdiA9IHByb3BzW25hbWVdOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICB2ID0gZGF0YVtuYW1lXTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgaWYgKGFyZy53aWxkY2FyZCkgewogICAgICAgICAgICAvLyBPbmx5IHNlbmQgdGhlIGFjdHVhbCBwYXRoIGNoYW5nZWQgaW5mbyBpZiB0aGUgY2hhbmdlIHRoYXQKICAgICAgICAgICAgLy8gY2F1c2VkIHRoZSBvYnNlcnZlciB0byBydW4gbWF0Y2hlZCB0aGUgd2lsZGNhcmQKICAgICAgICAgICAgbGV0IGJhc2VDaGFuZ2VkID0gKG5hbWUuaW5kZXhPZihwYXRoICsgJy4nKSA9PT0gMCk7CiAgICAgICAgICAgIGxldCBtYXRjaGVzID0gKHBhdGguaW5kZXhPZihuYW1lKSA9PT0gMCAmJiAhYmFzZUNoYW5nZWQpOwogICAgICAgICAgICB2YWx1ZXNbaV0gPSB7CiAgICAgICAgICAgICAgcGF0aDogbWF0Y2hlcyA/IHBhdGggOiBuYW1lLAogICAgICAgICAgICAgIHZhbHVlOiBtYXRjaGVzID8gcHJvcHNbcGF0aF0gOiB2LAogICAgICAgICAgICAgIGJhc2U6IHYKICAgICAgICAgICAgfTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHZhbHVlc1tpXSA9IHY7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiB2YWx1ZXM7CiAgICAgIH0KCiAgICAgIC8vIC0tIHN0YXRpYyBjbGFzcyBtZXRob2RzIC0tLS0tLS0tLS0tLQoKICAgICAgLyoqCiAgICAgICAqIEVuc3VyZXMgYW4gYWNjZXNzb3IgZXhpc3RzIGZvciB0aGUgc3BlY2lmaWVkIHByb3BlcnR5LCBhbmQgYWRkcwogICAgICAgKiB0byBhIGxpc3Qgb2YgInByb3BlcnR5IGVmZmVjdHMiIHRoYXQgd2lsbCBydW4gd2hlbiB0aGUgYWNjZXNzb3IgZm9yCiAgICAgICAqIHRoZSBzcGVjaWZpZWQgcHJvcGVydHkgaXMgc2V0LiAgRWZmZWN0cyBhcmUgZ3JvdXBlZCBieSAidHlwZSIsIHdoaWNoCiAgICAgICAqIHJvdWdobHkgY29ycmVzcG9uZHMgdG8gYSBwaGFzZSBpbiBlZmZlY3QgcHJvY2Vzc2luZy4gIFRoZSBlZmZlY3QKICAgICAgICogbWV0YWRhdGEgc2hvdWxkIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybToKICAgICAgICoKICAgICAgICogICAgIHsKICAgICAgICogICAgICAgZm46IGVmZmVjdEZ1bmN0aW9uLCAvLyBSZWZlcmVuY2UgdG8gZnVuY3Rpb24gdG8gY2FsbCB0byBwZXJmb3JtIGVmZmVjdAogICAgICAgKiAgICAgICBpbmZvOiB7IC4uLiB9ICAgICAgIC8vIEVmZmVjdCBtZXRhZGF0YSBwYXNzZWQgdG8gZnVuY3Rpb24KICAgICAgICogICAgICAgdHJpZ2dlcjogeyAgICAgICAgICAvLyBPcHRpb25hbCB0cmlnZ2VyaW5nIG1ldGFkYXRhOyBpZiBub3QgcHJvdmlkZWQKICAgICAgICogICAgICAgICBuYW1lOiBzdHJpbmcgICAgICAvLyB0aGUgcHJvcGVydHkgaXMgdHJlYXRlZCBhcyBhIHdpbGRjYXJkCiAgICAgICAqICAgICAgICAgc3RydWN0dXJlZDogYm9vbGVhbgogICAgICAgKiAgICAgICAgIHdpbGRjYXJkOiBib29sZWFuCiAgICAgICAqICAgICAgIH0KICAgICAgICogICAgIH0KICAgICAgICoKICAgICAgICogRWZmZWN0cyBhcmUgY2FsbGVkIGZyb20gYF9wcm9wZXJ0aWVzQ2hhbmdlZGAgaW4gdGhlIGZvbGxvd2luZyBvcmRlciBieQogICAgICAgKiB0eXBlOgogICAgICAgKgogICAgICAgKiAxLiBDT01QVVRFCiAgICAgICAqIDIuIFBST1BBR0FURQogICAgICAgKiAzLiBSRUZMRUNUCiAgICAgICAqIDQuIE9CU0VSVkUKICAgICAgICogNS4gTk9USUZZCiAgICAgICAqCiAgICAgICAqIEVmZmVjdCBmdW5jdGlvbnMgYXJlIGNhbGxlZCB3aXRoIHRoZSBmb2xsb3dpbmcgc2lnbmF0dXJlOgogICAgICAgKgogICAgICAgKiAgICAgZWZmZWN0RnVuY3Rpb24oaW5zdCwgcGF0aCwgcHJvcHMsIG9sZFByb3BzLCBpbmZvLCBoYXNQYXRocykKICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IFByb3BlcnR5IHRoYXQgc2hvdWxkIHRyaWdnZXIgdGhlIGVmZmVjdAogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdHlwZSBFZmZlY3QgdHlwZSwgZnJvbSB0aGlzLlBST1BFUlRZX0VGRkVDVF9UWVBFUwogICAgICAgKiBAcGFyYW0ge09iamVjdD19IGVmZmVjdCBFZmZlY3QgbWV0YWRhdGEgb2JqZWN0CiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIHN0YXRpYyBhZGRQcm9wZXJ0eUVmZmVjdChwcm9wZXJ0eSwgdHlwZSwgZWZmZWN0KSB7CiAgICAgICAgdGhpcy5wcm90b3R5cGUuX2FkZFByb3BlcnR5RWZmZWN0KHByb3BlcnR5LCB0eXBlLCBlZmZlY3QpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogQ3JlYXRlcyBhIHNpbmdsZS1wcm9wZXJ0eSBvYnNlcnZlciBmb3IgdGhlIGdpdmVuIHByb3BlcnR5LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICAgKiBAcGFyYW0ge3N0cmluZ3xmdW5jdGlvbigqLCopfSBtZXRob2QgRnVuY3Rpb24gb3IgbmFtZSBvZiBvYnNlcnZlciBtZXRob2QgdG8gY2FsbAogICAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBkeW5hbWljRm4gV2hldGhlciB0aGUgbWV0aG9kIG5hbWUgc2hvdWxkIGJlIGluY2x1ZGVkIGFzCiAgICAgICAqICAgYSBkZXBlbmRlbmN5IHRvIHRoZSBlZmZlY3QuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIHN0YXRpYyBjcmVhdGVQcm9wZXJ0eU9ic2VydmVyKHByb3BlcnR5LCBtZXRob2QsIGR5bmFtaWNGbikgewogICAgICAgIHRoaXMucHJvdG90eXBlLl9jcmVhdGVQcm9wZXJ0eU9ic2VydmVyKHByb3BlcnR5LCBtZXRob2QsIGR5bmFtaWNGbik7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDcmVhdGVzIGEgbXVsdGktcHJvcGVydHkgIm1ldGhvZCBvYnNlcnZlciIgYmFzZWQgb24gdGhlIHByb3ZpZGVkCiAgICAgICAqIGV4cHJlc3Npb24sIHdoaWNoIHNob3VsZCBiZSBhIHN0cmluZyBpbiB0aGUgZm9ybSBvZiBhIG5vcm1hbCBKYXZhU2NyaXB0CiAgICAgICAqIGZ1bmN0aW9uIHNpZ25hdHVyZTogYCdtZXRob2ROYW1lKGFyZzEsIFsuLi4sIGFyZ25dKSdgLiAgRWFjaCBhcmd1bWVudAogICAgICAgKiBzaG91bGQgY29ycmVzcG9uZCB0byBhIHByb3BlcnR5IG9yIHBhdGggaW4gdGhlIGNvbnRleHQgb2YgdGhpcwogICAgICAgKiBwcm90b3R5cGUgKG9yIGluc3RhbmNlKSwgb3IgbWF5IGJlIGEgbGl0ZXJhbCBzdHJpbmcgb3IgbnVtYmVyLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXhwcmVzc2lvbiBNZXRob2QgZXhwcmVzc2lvbgogICAgICAgKiBAcGFyYW0ge2Jvb2xlYW58T2JqZWN0PX0gZHluYW1pY0ZuIEJvb2xlYW4gb3Igb2JqZWN0IG1hcCBpbmRpY2F0aW5nCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqICAgd2hldGhlciBtZXRob2QgbmFtZXMgc2hvdWxkIGJlIGluY2x1ZGVkIGFzIGEgZGVwZW5kZW5jeSB0byB0aGUgZWZmZWN0LgogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBzdGF0aWMgY3JlYXRlTWV0aG9kT2JzZXJ2ZXIoZXhwcmVzc2lvbiwgZHluYW1pY0ZuKSB7CiAgICAgICAgdGhpcy5wcm90b3R5cGUuX2NyZWF0ZU1ldGhvZE9ic2VydmVyKGV4cHJlc3Npb24sIGR5bmFtaWNGbik7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDYXVzZXMgdGhlIHNldHRlciBmb3IgdGhlIGdpdmVuIHByb3BlcnR5IHRvIGRpc3BhdGNoIGA8cHJvcGVydHk+LWNoYW5nZWRgCiAgICAgICAqIGV2ZW50cyB0byBub3RpZnkgb2YgY2hhbmdlcyB0byB0aGUgcHJvcGVydHkuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBQcm9wZXJ0eSBuYW1lCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIHN0YXRpYyBjcmVhdGVOb3RpZnlpbmdQcm9wZXJ0eShwcm9wZXJ0eSkgewogICAgICAgIHRoaXMucHJvdG90eXBlLl9jcmVhdGVOb3RpZnlpbmdQcm9wZXJ0eShwcm9wZXJ0eSk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDcmVhdGVzIGEgcmVhZC1vbmx5IGFjY2Vzc29yIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkuCiAgICAgICAqCiAgICAgICAqIFRvIHNldCB0aGUgcHJvcGVydHksIHVzZSB0aGUgcHJvdGVjdGVkIGBfc2V0UHJvcGVydHlgIEFQSS4KICAgICAgICogVG8gY3JlYXRlIGEgY3VzdG9tIHByb3RlY3RlZCBzZXR0ZXIgKGUuZy4gYF9zZXRNeVByb3AoKWAgZm9yCiAgICAgICAqIHByb3BlcnR5IGBteVByb3BgKSwgcGFzcyBgdHJ1ZWAgZm9yIGBwcm90ZWN0ZWRTZXR0ZXJgLgogICAgICAgKgogICAgICAgKiBOb3RlLCBpZiB0aGUgcHJvcGVydHkgd2lsbCBoYXZlIG90aGVyIHByb3BlcnR5IGVmZmVjdHMsIHRoaXMgbWV0aG9kCiAgICAgICAqIHNob3VsZCBiZSBjYWxsZWQgZmlyc3QsIGJlZm9yZSBhZGRpbmcgb3RoZXIgZWZmZWN0cy4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5IFByb3BlcnR5IG5hbWUKICAgICAgICogQHBhcmFtIHtib29sZWFuPX0gcHJvdGVjdGVkU2V0dGVyIENyZWF0ZXMgYSBjdXN0b20gcHJvdGVjdGVkIHNldHRlcgogICAgICAgKiAgIHdoZW4gYHRydWVgLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBzdGF0aWMgY3JlYXRlUmVhZE9ubHlQcm9wZXJ0eShwcm9wZXJ0eSwgcHJvdGVjdGVkU2V0dGVyKSB7CiAgICAgICAgdGhpcy5wcm90b3R5cGUuX2NyZWF0ZVJlYWRPbmx5UHJvcGVydHkocHJvcGVydHksIHByb3RlY3RlZFNldHRlcik7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDYXVzZXMgdGhlIHNldHRlciBmb3IgdGhlIGdpdmVuIHByb3BlcnR5IHRvIHJlZmxlY3QgdGhlIHByb3BlcnR5IHZhbHVlCiAgICAgICAqIHRvIGEgKGRhc2gtY2FzZWQpIGF0dHJpYnV0ZSBvZiB0aGUgc2FtZSBuYW1lLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBzdGF0aWMgY3JlYXRlUmVmbGVjdGVkUHJvcGVydHkocHJvcGVydHkpIHsKICAgICAgICB0aGlzLnByb3RvdHlwZS5fY3JlYXRlUmVmbGVjdGVkUHJvcGVydHkocHJvcGVydHkpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogQ3JlYXRlcyBhIGNvbXB1dGVkIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIHNldCB0byB0aGUgcmVzdWx0IG9mIHRoZQogICAgICAgKiBtZXRob2QgZGVzY3JpYmVkIGJ5IHRoZSBnaXZlbiBgZXhwcmVzc2lvbmAgZWFjaCB0aW1lIG9uZSBvciBtb3JlCiAgICAgICAqIGFyZ3VtZW50cyB0byB0aGUgbWV0aG9kIGNoYW5nZXMuICBUaGUgZXhwcmVzc2lvbiBzaG91bGQgYmUgYSBzdHJpbmcKICAgICAgICogaW4gdGhlIGZvcm0gb2YgYSBub3JtYWwgSmF2YVNjcmlwdCBmdW5jdGlvbiBzaWduYXR1cmU6CiAgICAgICAqIGAnbWV0aG9kTmFtZShhcmcxLCBbLi4uLCBhcmduXSknYAogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgTmFtZSBvZiBjb21wdXRlZCBwcm9wZXJ0eSB0byBzZXQKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGV4cHJlc3Npb24gTWV0aG9kIGV4cHJlc3Npb24KICAgICAgICogQHBhcmFtIHtib29sZWFufE9iamVjdD19IGR5bmFtaWNGbiBCb29sZWFuIG9yIG9iamVjdCBtYXAgaW5kaWNhdGluZyB3aGV0aGVyCiAgICAgICAqICAgbWV0aG9kIG5hbWVzIHNob3VsZCBiZSBpbmNsdWRlZCBhcyBhIGRlcGVuZGVuY3kgdG8gdGhlIGVmZmVjdC4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgc3RhdGljIGNyZWF0ZUNvbXB1dGVkUHJvcGVydHkocHJvcGVydHksIGV4cHJlc3Npb24sIGR5bmFtaWNGbikgewogICAgICAgIHRoaXMucHJvdG90eXBlLl9jcmVhdGVDb21wdXRlZFByb3BlcnR5KHByb3BlcnR5LCBleHByZXNzaW9uLCBkeW5hbWljRm4pOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUGFyc2VzIHRoZSBwcm92aWRlZCB0ZW1wbGF0ZSB0byBlbnN1cmUgYmluZGluZyBlZmZlY3RzIGFyZSBjcmVhdGVkCiAgICAgICAqIGZvciB0aGVtLCBhbmQgdGhlbiBlbnN1cmVzIHByb3BlcnR5IGFjY2Vzc29ycyBhcmUgY3JlYXRlZCBmb3IgYW55CiAgICAgICAqIGRlcGVuZGVudCBwcm9wZXJ0aWVzIGluIHRoZSB0ZW1wbGF0ZS4gIEJpbmRpbmcgZWZmZWN0cyBmb3IgYm91bmQKICAgICAgICogdGVtcGxhdGVzIGFyZSBzdG9yZWQgaW4gYSBsaW5rZWQgbGlzdCBvbiB0aGUgaW5zdGFuY2Ugc28gdGhhdAogICAgICAgKiB0ZW1wbGF0ZXMgY2FuIGJlIGVmZmljaWVudGx5IHN0YW1wZWQgYW5kIHVuc3RhbXBlZC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshSFRNTFRlbXBsYXRlRWxlbWVudH0gdGVtcGxhdGUgVGVtcGxhdGUgY29udGFpbmluZyBiaW5kaW5nCiAgICAgICAqICAgYmluZGluZ3MKICAgICAgICogQHJldHVybiB7IVRlbXBsYXRlSW5mb30gVGVtcGxhdGUgbWV0YWRhdGEgb2JqZWN0CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIHN0YXRpYyBiaW5kVGVtcGxhdGUodGVtcGxhdGUpIHsKICAgICAgICByZXR1cm4gdGhpcy5wcm90b3R5cGUuX2JpbmRUZW1wbGF0ZSh0ZW1wbGF0ZSk7CiAgICAgIH0KCiAgICAgIC8vIC0tIGJpbmRpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAgICAgLyoqCiAgICAgICAqIEVxdWl2YWxlbnQgdG8gc3RhdGljIGBiaW5kVGVtcGxhdGVgIEFQSSBidXQgY2FuIGJlIGNhbGxlZCBvbgogICAgICAgKiBhbiBpbnN0YW5jZSB0byBhZGQgZWZmZWN0cyBhdCBydW50aW1lLiAgU2VlIHRoYXQgbWV0aG9kIGZvcgogICAgICAgKiBmdWxsIEFQSSBkb2NzLgogICAgICAgKgogICAgICAgKiBUaGlzIG1ldGhvZCBtYXkgYmUgY2FsbGVkIG9uIHRoZSBwcm90b3R5cGUgKGZvciBwcm90b3R5cGljYWwgdGVtcGxhdGUKICAgICAgICogYmluZGluZywgdG8gYXZvaWQgY3JlYXRpbmcgYWNjZXNzb3JzIGV2ZXJ5IGluc3RhbmNlKSBvbmNlIHBlciBwcm90b3R5cGUsCiAgICAgICAqIGFuZCB3aWxsIGJlIGNhbGxlZCB3aXRoIGBydW50aW1lQmluZGluZzogdHJ1ZWAgYnkgYF9zdGFtcFRlbXBsYXRlYCB0bwogICAgICAgKiBjcmVhdGUgYW5kIGxpbmsgYW4gaW5zdGFuY2Ugb2YgdGhlIHRlbXBsYXRlIG1ldGFkYXRhIGFzc29jaWF0ZWQgd2l0aCBhCiAgICAgICAqIHBhcnRpY3VsYXIgc3RhbXBpbmcuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7IUhUTUxUZW1wbGF0ZUVsZW1lbnR9IHRlbXBsYXRlIFRlbXBsYXRlIGNvbnRhaW5pbmcgYmluZGluZwogICAgICAgKiAgIGJpbmRpbmdzCiAgICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IGluc3RhbmNlQmluZGluZyBXaGVuIGZhbHNlIChkZWZhdWx0KSwgcGVyZm9ybXMKICAgICAgICogICAicHJvdG90eXBpY2FsIiBiaW5kaW5nIG9mIHRoZSB0ZW1wbGF0ZSBhbmQgb3ZlcndyaXRlcyBhbnkgcHJldmlvdXNseQogICAgICAgKiAgIGJvdW5kIHRlbXBsYXRlIGZvciB0aGUgY2xhc3MuIFdoZW4gdHJ1ZSAoYXMgcGFzc2VkIGZyb20KICAgICAgICogICBgX3N0YW1wVGVtcGxhdGVgKSwgdGhlIHRlbXBsYXRlIGluZm8gaXMgaW5zdGFuY2VkIGFuZCBsaW5rZWQgaW50bwogICAgICAgKiAgIHRoZSBsaXN0IG9mIGJvdW5kIHRlbXBsYXRlcy4KICAgICAgICogQHJldHVybiB7IVRlbXBsYXRlSW5mb30gVGVtcGxhdGUgbWV0YWRhdGEgb2JqZWN0OyBmb3IgYHJ1bnRpbWVCaW5kaW5nYCwKICAgICAgICogICB0aGlzIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBwcm90b3R5cGljYWwgdGVtcGxhdGUgaW5mbwogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfYmluZFRlbXBsYXRlKHRlbXBsYXRlLCBpbnN0YW5jZUJpbmRpbmcpIHsKICAgICAgICBsZXQgdGVtcGxhdGVJbmZvID0gdGhpcy5jb25zdHJ1Y3Rvci5fcGFyc2VUZW1wbGF0ZSh0ZW1wbGF0ZSk7CiAgICAgICAgbGV0IHdhc1ByZUJvdW5kID0gdGhpcy5fX3RlbXBsYXRlSW5mbyA9PSB0ZW1wbGF0ZUluZm87CiAgICAgICAgLy8gT3B0aW1pemF0aW9uOiBzaW5jZSB0aGlzIGlzIGNhbGxlZCB0d2ljZSBmb3IgcHJvdG8tYm91bmQgdGVtcGxhdGVzLAogICAgICAgIC8vIGRvbid0IGF0dGVtcHQgdG8gcmVjcmVhdGUgYWNjZXNzb3JzIGlmIHRoaXMgdGVtcGxhdGUgd2FzIHByZS1ib3VuZAogICAgICAgIGlmICghd2FzUHJlQm91bmQpIHsKICAgICAgICAgIGZvciAobGV0IHByb3AgaW4gdGVtcGxhdGVJbmZvLnByb3BlcnR5RWZmZWN0cykgewogICAgICAgICAgICB0aGlzLl9jcmVhdGVQcm9wZXJ0eUFjY2Vzc29yKHByb3ApOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoaW5zdGFuY2VCaW5kaW5nKSB7CiAgICAgICAgICAvLyBGb3IgaW5zdGFuY2UtdGltZSBiaW5kaW5nLCBjcmVhdGUgaW5zdGFuY2Ugb2YgdGVtcGxhdGUgbWV0YWRhdGEKICAgICAgICAgIC8vIGFuZCBsaW5rIGludG8gbGlzdCBvZiB0ZW1wbGF0ZXMgaWYgbmVjZXNzYXJ5CiAgICAgICAgICB0ZW1wbGF0ZUluZm8gPSAvKiogQHR5cGUgeyFUZW1wbGF0ZUluZm99ICovKE9iamVjdC5jcmVhdGUodGVtcGxhdGVJbmZvKSk7CiAgICAgICAgICB0ZW1wbGF0ZUluZm8ud2FzUHJlQm91bmQgPSB3YXNQcmVCb3VuZDsKICAgICAgICAgIGlmICghd2FzUHJlQm91bmQgJiYgdGhpcy5fX3RlbXBsYXRlSW5mbykgewogICAgICAgICAgICBsZXQgbGFzdCA9IHRoaXMuX190ZW1wbGF0ZUluZm9MYXN0IHx8IHRoaXMuX190ZW1wbGF0ZUluZm87CiAgICAgICAgICAgIHRoaXMuX190ZW1wbGF0ZUluZm9MYXN0ID0gbGFzdC5uZXh0VGVtcGxhdGVJbmZvID0gdGVtcGxhdGVJbmZvOwogICAgICAgICAgICB0ZW1wbGF0ZUluZm8ucHJldmlvdXNUZW1wbGF0ZUluZm8gPSBsYXN0OwogICAgICAgICAgICByZXR1cm4gdGVtcGxhdGVJbmZvOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gdGhpcy5fX3RlbXBsYXRlSW5mbyA9IHRlbXBsYXRlSW5mbzsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEFkZHMgYSBwcm9wZXJ0eSBlZmZlY3QgdG8gdGhlIGdpdmVuIHRlbXBsYXRlIG1ldGFkYXRhLCB3aGljaCBpcyBydW4KICAgICAgICogYXQgdGhlICJwcm9wYWdhdGUiIHN0YWdlIG9mIGBfcHJvcGVydGllc0NoYW5nZWRgIHdoZW4gdGhlIHRlbXBsYXRlCiAgICAgICAqIGhhcyBiZWVuIGJvdW5kIHRvIHRoZSBlbGVtZW50IHZpYSBgX2JpbmRUZW1wbGF0ZWAuCiAgICAgICAqCiAgICAgICAqIFRoZSBgZWZmZWN0YCBvYmplY3Qgc2hvdWxkIG1hdGNoIHRoZSBmb3JtYXQgaW4gYF9hZGRQcm9wZXJ0eUVmZmVjdGAuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSB0ZW1wbGF0ZUluZm8gVGVtcGxhdGUgbWV0YWRhdGEgdG8gYWRkIGVmZmVjdCB0bwogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcCBQcm9wZXJ0eSB0aGF0IHNob3VsZCB0cmlnZ2VyIHRoZSBlZmZlY3QKICAgICAgICogQHBhcmFtIHtPYmplY3Q9fSBlZmZlY3QgRWZmZWN0IG1ldGFkYXRhIG9iamVjdAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBzdGF0aWMgX2FkZFRlbXBsYXRlUHJvcGVydHlFZmZlY3QodGVtcGxhdGVJbmZvLCBwcm9wLCBlZmZlY3QpIHsKICAgICAgICBsZXQgaG9zdFByb3BzID0gdGVtcGxhdGVJbmZvLmhvc3RQcm9wcyA9IHRlbXBsYXRlSW5mby5ob3N0UHJvcHMgfHwge307CiAgICAgICAgaG9zdFByb3BzW3Byb3BdID0gdHJ1ZTsKICAgICAgICBsZXQgZWZmZWN0cyA9IHRlbXBsYXRlSW5mby5wcm9wZXJ0eUVmZmVjdHMgPSB0ZW1wbGF0ZUluZm8ucHJvcGVydHlFZmZlY3RzIHx8IHt9OwogICAgICAgIGxldCBwcm9wRWZmZWN0cyA9IGVmZmVjdHNbcHJvcF0gPSBlZmZlY3RzW3Byb3BdIHx8IFtdOwogICAgICAgIHByb3BFZmZlY3RzLnB1c2goZWZmZWN0KTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFN0YW1wcyB0aGUgcHJvdmlkZWQgdGVtcGxhdGUgYW5kIHBlcmZvcm1zIGluc3RhbmNlLXRpbWUgc2V0dXAgZm9yCiAgICAgICAqIFBvbHltZXIgdGVtcGxhdGUgZmVhdHVyZXMsIGluY2x1ZGluZyBkYXRhIGJpbmRpbmdzLCBkZWNsYXJhdGl2ZSBldmVudAogICAgICAgKiBsaXN0ZW5lcnMsIGFuZCB0aGUgYHRoaXMuJGAgbWFwIG9mIGBpZGAncyB0byBub2Rlcy4gIEEgZG9jdW1lbnQgZnJhZ21lbnQKICAgICAgICogaXMgcmV0dXJuZWQgY29udGFpbmluZyB0aGUgc3RhbXBlZCBET00sIHJlYWR5IGZvciBpbnNlcnRpb24gaW50byB0aGUKICAgICAgICogRE9NLgogICAgICAgKgogICAgICAgKiBUaGlzIG1ldGhvZCBtYXkgYmUgY2FsbGVkIG1vcmUgdGhhbiBvbmNlOyBob3dldmVyIG5vdGUgdGhhdCBkdWUgdG8KICAgICAgICogYHNoYWR5Y3NzYCBwb2x5ZmlsbCBsaW1pdGF0aW9ucywgb25seSBzdHlsZXMgZnJvbSB0ZW1wbGF0ZXMgcHJlcGFyZWQKICAgICAgICogdXNpbmcgYFNoYWR5Q1NTLnByZXBhcmVUZW1wbGF0ZWAgd2lsbCBiZSBjb3JyZWN0bHkgcG9seWZpbGxlZCAoc2NvcGVkCiAgICAgICAqIHRvIHRoZSBzaGFkb3cgcm9vdCBhbmQgc3VwcG9ydCBDU1MgY3VzdG9tIHByb3BlcnRpZXMpLCBhbmQgbm90ZSB0aGF0CiAgICAgICAqIGBTaGFkeUNTUy5wcmVwYXJlVGVtcGxhdGVgIG1heSBvbmx5IGJlIGNhbGxlZCBvbmNlIHBlciBlbGVtZW50LiBBcyBzdWNoLAogICAgICAgKiBhbnkgc3R5bGVzIHJlcXVpcmVkIGJ5IGluIHJ1bnRpbWUtc3RhbXBlZCB0ZW1wbGF0ZXMgbXVzdCBiZSBpbmNsdWRlZAogICAgICAgKiBpbiB0aGUgbWFpbiBlbGVtZW50IHRlbXBsYXRlLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyFIVE1MVGVtcGxhdGVFbGVtZW50fSB0ZW1wbGF0ZSBUZW1wbGF0ZSB0byBzdGFtcAogICAgICAgKiBAcmV0dXJuIHshU3RhbXBlZFRlbXBsYXRlfSBDbG9uZWQgdGVtcGxhdGUgY29udGVudAogICAgICAgKiBAb3ZlcnJpZGUKICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgX3N0YW1wVGVtcGxhdGUodGVtcGxhdGUpIHsKICAgICAgICAvLyBFbnN1cmVzIHRoYXQgY3JlYXRlZCBkb20gaXMgYF9lbnF1ZXVlQ2xpZW50YCdkIHRvIHRoaXMgZWxlbWVudCBzbwogICAgICAgIC8vIHRoYXQgaXQgY2FuIGJlIGZsdXNoZWQgb24gbmV4dCBjYWxsIHRvIGBfZmx1c2hQcm9wZXJ0aWVzYAogICAgICAgIGhvc3RTdGFjay5iZWdpbkhvc3RpbmcodGhpcyk7CiAgICAgICAgbGV0IGRvbSA9IHN1cGVyLl9zdGFtcFRlbXBsYXRlKHRlbXBsYXRlKTsKICAgICAgICBob3N0U3RhY2suZW5kSG9zdGluZyh0aGlzKTsKICAgICAgICBsZXQgdGVtcGxhdGVJbmZvID0gLyoqIEB0eXBlIHshVGVtcGxhdGVJbmZvfSAqLyh0aGlzLl9iaW5kVGVtcGxhdGUodGVtcGxhdGUsIHRydWUpKTsKICAgICAgICAvLyBBZGQgdGVtcGxhdGUtaW5zdGFuY2Utc3BlY2lmaWMgZGF0YSB0byBpbnN0YW5jZWQgdGVtcGxhdGVJbmZvCiAgICAgICAgdGVtcGxhdGVJbmZvLm5vZGVMaXN0ID0gZG9tLm5vZGVMaXN0OwogICAgICAgIC8vIENhcHR1cmUgY2hpbGQgbm9kZXMgdG8gYWxsb3cgdW5zdGFtcGluZyBvZiBub24tcHJvdG90eXBpY2FsIHRlbXBsYXRlcwogICAgICAgIGlmICghdGVtcGxhdGVJbmZvLndhc1ByZUJvdW5kKSB7CiAgICAgICAgICBsZXQgbm9kZXMgPSB0ZW1wbGF0ZUluZm8uY2hpbGROb2RlcyA9IFtdOwogICAgICAgICAgZm9yIChsZXQgbj1kb20uZmlyc3RDaGlsZDsgbjsgbj1uLm5leHRTaWJsaW5nKSB7CiAgICAgICAgICAgIG5vZGVzLnB1c2gobik7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGRvbS50ZW1wbGF0ZUluZm8gPSB0ZW1wbGF0ZUluZm87CiAgICAgICAgLy8gU2V0dXAgY29tcG91bmQgc3RvcmFnZSwgMi13YXkgbGlzdGVuZXJzLCBhbmQgZGF0YUhvc3QgZm9yIGJpbmRpbmdzCiAgICAgICAgc2V0dXBCaW5kaW5ncyh0aGlzLCB0ZW1wbGF0ZUluZm8pOwogICAgICAgIC8vIEZsdXNoIHByb3BlcnRpZXMgaW50byB0ZW1wbGF0ZSBub2RlcyBpZiBhbHJlYWR5IGJvb3RlZAogICAgICAgIGlmICh0aGlzLl9fZGF0YVJlYWR5KSB7CiAgICAgICAgICBydW5FZmZlY3RzKHRoaXMsIHRlbXBsYXRlSW5mby5wcm9wZXJ0eUVmZmVjdHMsIHRoaXMuX19kYXRhLCBudWxsLAogICAgICAgICAgICBmYWxzZSwgdGVtcGxhdGVJbmZvLm5vZGVMaXN0KTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGRvbTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJlbW92ZXMgYW5kIHVuYmluZHMgdGhlIG5vZGVzIHByZXZpb3VzbHkgY29udGFpbmVkIGluIHRoZSBwcm92aWRlZAogICAgICAgKiBEb2N1bWVudEZyYWdtZW50IHJldHVybmVkIGZyb20gYF9zdGFtcFRlbXBsYXRlYC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshU3RhbXBlZFRlbXBsYXRlfSBkb20gRG9jdW1lbnRGcmFnbWVudCBwcmV2aW91c2x5IHJldHVybmVkCiAgICAgICAqICAgZnJvbSBgX3N0YW1wVGVtcGxhdGVgIGFzc29jaWF0ZWQgd2l0aCB0aGUgbm9kZXMgdG8gYmUgcmVtb3ZlZAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfcmVtb3ZlQm91bmREb20oZG9tKSB7CiAgICAgICAgLy8gVW5saW5rIHRlbXBsYXRlIGluZm8KICAgICAgICBsZXQgdGVtcGxhdGVJbmZvID0gZG9tLnRlbXBsYXRlSW5mbzsKICAgICAgICBpZiAodGVtcGxhdGVJbmZvLnByZXZpb3VzVGVtcGxhdGVJbmZvKSB7CiAgICAgICAgICB0ZW1wbGF0ZUluZm8ucHJldmlvdXNUZW1wbGF0ZUluZm8ubmV4dFRlbXBsYXRlSW5mbyA9CiAgICAgICAgICAgIHRlbXBsYXRlSW5mby5uZXh0VGVtcGxhdGVJbmZvOwogICAgICAgIH0KICAgICAgICBpZiAodGVtcGxhdGVJbmZvLm5leHRUZW1wbGF0ZUluZm8pIHsKICAgICAgICAgIHRlbXBsYXRlSW5mby5uZXh0VGVtcGxhdGVJbmZvLnByZXZpb3VzVGVtcGxhdGVJbmZvID0KICAgICAgICAgICAgdGVtcGxhdGVJbmZvLnByZXZpb3VzVGVtcGxhdGVJbmZvOwogICAgICAgIH0KICAgICAgICBpZiAodGhpcy5fX3RlbXBsYXRlSW5mb0xhc3QgPT0gdGVtcGxhdGVJbmZvKSB7CiAgICAgICAgICB0aGlzLl9fdGVtcGxhdGVJbmZvTGFzdCA9IHRlbXBsYXRlSW5mby5wcmV2aW91c1RlbXBsYXRlSW5mbzsKICAgICAgICB9CiAgICAgICAgdGVtcGxhdGVJbmZvLnByZXZpb3VzVGVtcGxhdGVJbmZvID0gdGVtcGxhdGVJbmZvLm5leHRUZW1wbGF0ZUluZm8gPSBudWxsOwogICAgICAgIC8vIFJlbW92ZSBzdGFtcGVkIG5vZGVzCiAgICAgICAgbGV0IG5vZGVzID0gdGVtcGxhdGVJbmZvLmNoaWxkTm9kZXM7CiAgICAgICAgZm9yIChsZXQgaT0wOyBpPG5vZGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBsZXQgbm9kZSA9IG5vZGVzW2ldOwogICAgICAgICAgbm9kZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG5vZGUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE92ZXJyaWRlcyBkZWZhdWx0IGBUZW1wbGF0ZVN0YW1wYCBpbXBsZW1lbnRhdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IKICAgICAgICogcGFyc2luZyBiaW5kaW5ncyBmcm9tIGBUZXh0Tm9kZWAncycgYHRleHRDb250ZW50YC4gIEEgYGJpbmRpbmdzYAogICAgICAgKiBhcnJheSBpcyBhZGRlZCB0byBgbm9kZUluZm9gIGFuZCBwb3B1bGF0ZWQgd2l0aCBiaW5kaW5nIG1ldGFkYXRhCiAgICAgICAqIHdpdGggaW5mb3JtYXRpb24gY2FwdHVyaW5nIHRoZSBiaW5kaW5nIHRhcmdldCwgYW5kIGEgYHBhcnRzYCBhcnJheQogICAgICAgKiB3aXRoIG9uZSBvciBtb3JlIG1ldGFkYXRhIG9iamVjdHMgY2FwdHVyaW5nIHRoZSBzb3VyY2Uocykgb2YgdGhlCiAgICAgICAqIGJpbmRpbmcuCiAgICAgICAqCiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKiBAcGFyYW0ge05vZGV9IG5vZGUgTm9kZSB0byBwYXJzZQogICAgICAgKiBAcGFyYW0ge1RlbXBsYXRlSW5mb30gdGVtcGxhdGVJbmZvIFRlbXBsYXRlIG1ldGFkYXRhIGZvciBjdXJyZW50IHRlbXBsYXRlCiAgICAgICAqIEBwYXJhbSB7Tm9kZUluZm99IG5vZGVJbmZvIE5vZGUgbWV0YWRhdGEgZm9yIGN1cnJlbnQgdGVtcGxhdGUgbm9kZQogICAgICAgKiBAcmV0dXJuIHtib29sZWFufSBgdHJ1ZWAgaWYgdGhlIHZpc2l0ZWQgbm9kZSBhZGRlZCBub2RlLXNwZWNpZmljCiAgICAgICAqICAgbWV0YWRhdGEgdG8gYG5vZGVJbmZvYAogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqIEBzdXBwcmVzcyB7bWlzc2luZ1Byb3BlcnRpZXN9IEludGVyZmFjZXMgaW4gY2xvc3VyZSBkbyBub3QgaW5oZXJpdCBzdGF0aWNzLCBidXQgY2xhc3NlcyBkbwogICAgICAgKi8KICAgICAgc3RhdGljIF9wYXJzZVRlbXBsYXRlTm9kZShub2RlLCB0ZW1wbGF0ZUluZm8sIG5vZGVJbmZvKSB7CiAgICAgICAgbGV0IG5vdGVkID0gc3VwZXIuX3BhcnNlVGVtcGxhdGVOb2RlKG5vZGUsIHRlbXBsYXRlSW5mbywgbm9kZUluZm8pOwogICAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkgewogICAgICAgICAgbGV0IHBhcnRzID0gdGhpcy5fcGFyc2VCaW5kaW5ncyhub2RlLnRleHRDb250ZW50LCB0ZW1wbGF0ZUluZm8pOwogICAgICAgICAgaWYgKHBhcnRzKSB7CiAgICAgICAgICAgIC8vIEluaXRpYWxpemUgdGhlIHRleHRDb250ZW50IHdpdGggYW55IGxpdGVyYWwgcGFydHMKICAgICAgICAgICAgLy8gTk9URTogZGVmYXVsdCB0byBhIHNwYWNlIGhlcmUgc28gdGhlIHRleHROb2RlIHJlbWFpbnM7IHNvbWUgYnJvd3NlcnMKICAgICAgICAgICAgLy8gKElFKSBvbWl0IGFuIGVtcHR5IHRleHROb2RlIGZvbGxvd2luZyBjbG9uZU5vZGUvaW1wb3J0Tm9kZS4KICAgICAgICAgICAgbm9kZS50ZXh0Q29udGVudCA9IGxpdGVyYWxGcm9tUGFydHMocGFydHMpIHx8ICcgJzsKICAgICAgICAgICAgYWRkQmluZGluZyh0aGlzLCB0ZW1wbGF0ZUluZm8sIG5vZGVJbmZvLCAndGV4dCcsICd0ZXh0Q29udGVudCcsIHBhcnRzKTsKICAgICAgICAgICAgbm90ZWQgPSB0cnVlOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gbm90ZWQ7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBPdmVycmlkZXMgZGVmYXVsdCBgVGVtcGxhdGVTdGFtcGAgaW1wbGVtZW50YXRpb24gdG8gYWRkIHN1cHBvcnQgZm9yCiAgICAgICAqIHBhcnNpbmcgYmluZGluZ3MgZnJvbSBhdHRyaWJ1dGVzLiAgQSBgYmluZGluZ3NgCiAgICAgICAqIGFycmF5IGlzIGFkZGVkIHRvIGBub2RlSW5mb2AgYW5kIHBvcHVsYXRlZCB3aXRoIGJpbmRpbmcgbWV0YWRhdGEKICAgICAgICogd2l0aCBpbmZvcm1hdGlvbiBjYXB0dXJpbmcgdGhlIGJpbmRpbmcgdGFyZ2V0LCBhbmQgYSBgcGFydHNgIGFycmF5CiAgICAgICAqIHdpdGggb25lIG9yIG1vcmUgbWV0YWRhdGEgb2JqZWN0cyBjYXB0dXJpbmcgdGhlIHNvdXJjZShzKSBvZiB0aGUKICAgICAgICogYmluZGluZy4KICAgICAgICoKICAgICAgICogQG92ZXJyaWRlCiAgICAgICAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZSBOb2RlIHRvIHBhcnNlCiAgICAgICAqIEBwYXJhbSB7VGVtcGxhdGVJbmZvfSB0ZW1wbGF0ZUluZm8gVGVtcGxhdGUgbWV0YWRhdGEgZm9yIGN1cnJlbnQgdGVtcGxhdGUKICAgICAgICogQHBhcmFtIHtOb2RlSW5mb30gbm9kZUluZm8gTm9kZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZSBub2RlCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIEF0dHJpYnV0ZSBuYW1lCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSBBdHRyaWJ1dGUgdmFsdWUKICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gYHRydWVgIGlmIHRoZSB2aXNpdGVkIG5vZGUgYWRkZWQgbm9kZS1zcGVjaWZpYwogICAgICAgKiAgIG1ldGFkYXRhIHRvIGBub2RlSW5mb2AKICAgICAgICogQHByb3RlY3RlZAogICAgICAgKiBAc3VwcHJlc3Mge21pc3NpbmdQcm9wZXJ0aWVzfSBJbnRlcmZhY2VzIGluIGNsb3N1cmUgZG8gbm90IGluaGVyaXQgc3RhdGljcywgYnV0IGNsYXNzZXMgZG8KICAgICAgICovCiAgICAgIHN0YXRpYyBfcGFyc2VUZW1wbGF0ZU5vZGVBdHRyaWJ1dGUobm9kZSwgdGVtcGxhdGVJbmZvLCBub2RlSW5mbywgbmFtZSwgdmFsdWUpIHsKICAgICAgICBsZXQgcGFydHMgPSB0aGlzLl9wYXJzZUJpbmRpbmdzKHZhbHVlLCB0ZW1wbGF0ZUluZm8pOwogICAgICAgIGlmIChwYXJ0cykgewogICAgICAgICAgLy8gQXR0cmlidXRlIG9yIHByb3BlcnR5CiAgICAgICAgICBsZXQgb3JpZ05hbWUgPSBuYW1lOwogICAgICAgICAgbGV0IGtpbmQgPSAncHJvcGVydHknOwogICAgICAgICAgLy8gVGhlIG9ubHkgd2F5IHdlIHNlZSBhIGNhcGl0YWwgbGV0dGVyIGhlcmUgaXMgaWYgdGhlIGF0dHIgaGFzCiAgICAgICAgICAvLyBhIGNhcGl0YWwgbGV0dGVyIGluIGl0IHBlciBzcGVjLiBJbiB0aGlzIGNhc2UsIHRvIG1ha2Ugc3VyZQogICAgICAgICAgLy8gdGhpcyBiaW5kaW5nIHdvcmtzLCB3ZSBnbyBhaGVhZCBhbmQgbWFrZSB0aGUgYmluZGluZyB0byB0aGUgYXR0cmlidXRlLgogICAgICAgICAgaWYgKGNhcGl0YWxBdHRyaWJ1dGVSZWdleC50ZXN0KG5hbWUpKSB7CiAgICAgICAgICAgIGtpbmQgPSAnYXR0cmlidXRlJzsKICAgICAgICAgIH0gZWxzZSBpZiAobmFtZVtuYW1lLmxlbmd0aC0xXSA9PSAnJCcpIHsKICAgICAgICAgICAgbmFtZSA9IG5hbWUuc2xpY2UoMCwgLTEpOwogICAgICAgICAgICBraW5kID0gJ2F0dHJpYnV0ZSc7CiAgICAgICAgICB9CiAgICAgICAgICAvLyBJbml0aWFsaXplIGF0dHJpYnV0ZSBiaW5kaW5ncyB3aXRoIGFueSBsaXRlcmFsIHBhcnRzCiAgICAgICAgICBsZXQgbGl0ZXJhbCA9IGxpdGVyYWxGcm9tUGFydHMocGFydHMpOwogICAgICAgICAgaWYgKGxpdGVyYWwgJiYga2luZCA9PSAnYXR0cmlidXRlJykgewogICAgICAgICAgICAvLyBFbnN1cmUgYSBTaGFkeUNTUyB0ZW1wbGF0ZSBzY29wZWQgc3R5bGUgaXMgbm90IHJlbW92ZWQKICAgICAgICAgICAgLy8gd2hlbiBhIGNsYXNzJCBiaW5kaW5nJ3MgaW5pdGlhbCBsaXRlcmFsIHZhbHVlIGlzIHNldC4KICAgICAgICAgICAgaWYgKG5hbWUgPT0gJ2NsYXNzJyAmJiBub2RlLmhhc0F0dHJpYnV0ZSgnY2xhc3MnKSkgewogICAgICAgICAgICAgIGxpdGVyYWwgKz0gJyAnICsgbm9kZS5nZXRBdHRyaWJ1dGUobmFtZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUobmFtZSwgbGl0ZXJhbCk7CiAgICAgICAgICB9CiAgICAgICAgICAvLyBDbGVhciBhdHRyaWJ1dGUgYmVmb3JlIHJlbW92aW5nLCBzaW5jZSBJRSB3b24ndCBhbGxvdyByZW1vdmluZwogICAgICAgICAgLy8gYHZhbHVlYCBhdHRyaWJ1dGUgaWYgaXQgcHJldmlvdXNseSBoYWQgYSB2YWx1ZSAoY2FuJ3QKICAgICAgICAgIC8vIHVuY29uZGl0aW9uYWxseSBzZXQgJycgYmVmb3JlIHJlbW92aW5nIHNpbmNlIGF0dHJpYnV0ZXMgd2l0aCBgJGAKICAgICAgICAgIC8vIGNhbid0IGJlIHNldCB1c2luZyBzZXRBdHRyaWJ1dGUpCiAgICAgICAgICBpZiAobm9kZS5sb2NhbE5hbWUgPT09ICdpbnB1dCcgJiYgb3JpZ05hbWUgPT09ICd2YWx1ZScpIHsKICAgICAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUob3JpZ05hbWUsICcnKTsKICAgICAgICAgIH0KICAgICAgICAgIC8vIFJlbW92ZSBhbm5vdGF0aW9uCiAgICAgICAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZShvcmlnTmFtZSk7CiAgICAgICAgICAvLyBDYXNlIGhhY2tlcnk6IGF0dHJpYnV0ZXMgYXJlIGxvd2VyLWNhc2UsIGJ1dCBiaW5kIHRhcmdldHMKICAgICAgICAgIC8vIChwcm9wZXJ0aWVzKSBhcmUgY2FzZSBzZW5zaXRpdmUuIEdhbWJpdCBpcyB0byBtYXAgZGFzaC1jYXNlIHRvCiAgICAgICAgICAvLyBjYW1lbC1jYXNlOiBgZm9vLWJhcmAgYmVjb21lcyBgZm9vQmFyYC4KICAgICAgICAgIC8vIEF0dHJpYnV0ZSBiaW5kaW5ncyBhcmUgZXhjZXB0ZWQuCiAgICAgICAgICBpZiAoa2luZCA9PT0gJ3Byb3BlcnR5JykgewogICAgICAgICAgICBuYW1lID0gUG9seW1lci5DYXNlTWFwLmRhc2hUb0NhbWVsQ2FzZShuYW1lKTsKICAgICAgICAgIH0KICAgICAgICAgIGFkZEJpbmRpbmcodGhpcywgdGVtcGxhdGVJbmZvLCBub2RlSW5mbywga2luZCwgbmFtZSwgcGFydHMsIGxpdGVyYWwpOwogICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHJldHVybiBzdXBlci5fcGFyc2VUZW1wbGF0ZU5vZGVBdHRyaWJ1dGUobm9kZSwgdGVtcGxhdGVJbmZvLCBub2RlSW5mbywgbmFtZSwgdmFsdWUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE92ZXJyaWRlcyBkZWZhdWx0IGBUZW1wbGF0ZVN0YW1wYCBpbXBsZW1lbnRhdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IKICAgICAgICogYmluZGluZyB0aGUgcHJvcGVydGllcyB0aGF0IGEgbmVzdGVkIHRlbXBsYXRlIGRlcGVuZHMgb24gdG8gdGhlIHRlbXBsYXRlCiAgICAgICAqIGFzIGBfaG9zdF88cHJvcGVydHk+YC4KICAgICAgICoKICAgICAgICogQG92ZXJyaWRlCiAgICAgICAqIEBwYXJhbSB7Tm9kZX0gbm9kZSBOb2RlIHRvIHBhcnNlCiAgICAgICAqIEBwYXJhbSB7VGVtcGxhdGVJbmZvfSB0ZW1wbGF0ZUluZm8gVGVtcGxhdGUgbWV0YWRhdGEgZm9yIGN1cnJlbnQgdGVtcGxhdGUKICAgICAgICogQHBhcmFtIHtOb2RlSW5mb30gbm9kZUluZm8gTm9kZSBtZXRhZGF0YSBmb3IgY3VycmVudCB0ZW1wbGF0ZSBub2RlCiAgICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IGB0cnVlYCBpZiB0aGUgdmlzaXRlZCBub2RlIGFkZGVkIG5vZGUtc3BlY2lmaWMKICAgICAgICogICBtZXRhZGF0YSB0byBgbm9kZUluZm9gCiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICogQHN1cHByZXNzIHttaXNzaW5nUHJvcGVydGllc30gSW50ZXJmYWNlcyBpbiBjbG9zdXJlIGRvIG5vdCBpbmhlcml0IHN0YXRpY3MsIGJ1dCBjbGFzc2VzIGRvCiAgICAgICAqLwogICAgICBzdGF0aWMgX3BhcnNlVGVtcGxhdGVOZXN0ZWRUZW1wbGF0ZShub2RlLCB0ZW1wbGF0ZUluZm8sIG5vZGVJbmZvKSB7CiAgICAgICAgbGV0IG5vdGVkID0gc3VwZXIuX3BhcnNlVGVtcGxhdGVOZXN0ZWRUZW1wbGF0ZShub2RlLCB0ZW1wbGF0ZUluZm8sIG5vZGVJbmZvKTsKICAgICAgICAvLyBNZXJnZSBob3N0IHByb3BzIGludG8gb3V0ZXIgdGVtcGxhdGUgYW5kIGFkZCBiaW5kaW5ncwogICAgICAgIGxldCBob3N0UHJvcHMgPSBub2RlSW5mby50ZW1wbGF0ZUluZm8uaG9zdFByb3BzOwogICAgICAgIGxldCBtb2RlID0gJ3snOwogICAgICAgIGZvciAobGV0IHNvdXJjZSBpbiBob3N0UHJvcHMpIHsKICAgICAgICAgIGxldCBwYXJ0cyA9IFt7IG1vZGUsIHNvdXJjZSwgZGVwZW5kZW5jaWVzOiBbc291cmNlXSB9XTsKICAgICAgICAgIGFkZEJpbmRpbmcodGhpcywgdGVtcGxhdGVJbmZvLCBub2RlSW5mbywgJ3Byb3BlcnR5JywgJ19ob3N0XycgKyBzb3VyY2UsIHBhcnRzKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5vdGVkOwogICAgICB9CgogICAgICAvKioKICAgICAgICogQ2FsbGVkIHRvIHBhcnNlIHRleHQgaW4gYSB0ZW1wbGF0ZSAoZWl0aGVyIGF0dHJpYnV0ZSB2YWx1ZXMgb3IKICAgICAgICogdGV4dENvbnRlbnQpIGludG8gYmluZGluZyBtZXRhZGF0YS4KICAgICAgICoKICAgICAgICogQW55IG92ZXJyaWRlcyBvZiB0aGlzIG1ldGhvZCBzaG91bGQgcmV0dXJuIGFuIGFycmF5IG9mIGJpbmRpbmcgcGFydAogICAgICAgKiBtZXRhZGF0YSAgcmVwcmVzZW50aW5nIG9uZSBvciBtb3JlIGJpbmRpbmdzIGZvdW5kIGluIHRoZSBwcm92aWRlZCB0ZXh0CiAgICAgICAqIGFuZCBhbnkgImxpdGVyYWwiIHRleHQgaW4gYmV0d2Vlbi4gIEFueSBub24tbGl0ZXJhbCBwYXJ0cyB3aWxsIGJlIHBhc3NlZAogICAgICAgKiB0byBgX2V2YWx1YXRlQmluZGluZ2Agd2hlbiBhbnkgZGVwZW5kZW5jaWVzIGNoYW5nZS4gIFRoZSBvbmx5IHJlcXVpcmVkCiAgICAgICAqIGZpZWxkcyBvZiBlYWNoICJwYXJ0IiBpbiB0aGUgcmV0dXJuZWQgYXJyYXkgYXJlIGFzIGZvbGxvd3M6CiAgICAgICAqCiAgICAgICAqIC0gYGRlcGVuZGVuY2llc2AgLSBBcnJheSBjb250YWluaW5nIHRyaWdnZXIgbWV0YWRhdGEgZm9yIGVhY2ggcHJvcGVydHkKICAgICAgICogICB0aGF0IHNob3VsZCB0cmlnZ2VyIHRoZSBiaW5kaW5nIHRvIHVwZGF0ZQogICAgICAgKiAtIGBsaXRlcmFsYCAtIFN0cmluZyBjb250YWluaW5nIHRleHQgaWYgdGhlIHBhcnQgcmVwcmVzZW50cyBhIGxpdGVyYWw7CiAgICAgICAqICAgaW4gdGhpcyBjYXNlIG5vIGBkZXBlbmRlbmNpZXNgIGFyZSBuZWVkZWQKICAgICAgICoKICAgICAgICogQWRkaXRpb25hbCBtZXRhZGF0YSBmb3IgdXNlIGJ5IGBfZXZhbHVhdGVCaW5kaW5nYCBtYXkgYmUgcHJvdmlkZWQgaW4KICAgICAgICogZWFjaCBwYXJ0IG9iamVjdCBhcyBuZWVkZWQuCiAgICAgICAqCiAgICAgICAqIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGhhbmRsZXMgdGhlIGZvbGxvd2luZyB0eXBlcyBvZiBiaW5kaW5ncwogICAgICAgKiAob25lIG9yIG1vcmUgbWF5IGJlIGludGVybWl4ZWQgd2l0aCBsaXRlcmFsIHN0cmluZ3MpOgogICAgICAgKiAtIFByb3BlcnR5IGJpbmRpbmc6IGBbW3Byb3BdXWAKICAgICAgICogLSBQYXRoIGJpbmRpbmc6IGBbW29iamVjdC5wcm9wXV1gCiAgICAgICAqIC0gTmVnYXRlZCBwcm9wZXJ0eSBvciBwYXRoIGJpbmRpbmdzOiBgW1shcHJvcF1dYCBvciBgW1shb2JqZWN0LnByb3BdXWAKICAgICAgICogLSBUd28td2F5IHByb3BlcnR5IG9yIHBhdGggYmluZGluZ3MgKHN1cHBvcnRzIG5lZ2F0aW9uKToKICAgICAgICogICBge3twcm9wfX1gLCBge3tvYmplY3QucHJvcH19YCwgYHt7IXByb3B9fWAgb3IgYHt7IW9iamVjdC5wcm9wfX1gCiAgICAgICAqIC0gSW5saW5lIGNvbXB1dGVkIG1ldGhvZCAoc3VwcG9ydHMgbmVnYXRpb24pOgogICAgICAgKiAgIGBbW2NvbXB1dGUoYSwgJ2xpdGVyYWwnLCBiKV1dYCwgYFtbIWNvbXB1dGUoYSwgJ2xpdGVyYWwnLCBiKV1dYAogICAgICAgKgogICAgICAgKiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiB1c2VzIGEgcmVndWxhciBleHByZXNzaW9uIGZvciBiZXN0CiAgICAgICAqIHBlcmZvcm1hbmNlLiBIb3dldmVyLCB0aGUgcmVndWxhciBleHByZXNzaW9uIHVzZXMgYSB3aGl0ZS1saXN0IG9mCiAgICAgICAqIGFsbG93ZWQgY2hhcmFjdGVycyBpbiBhIGRhdGEtYmluZGluZywgd2hpY2ggY2F1c2VzIHByb2JsZW1zIGZvcgogICAgICAgKiBkYXRhLWJpbmRpbmdzIHRoYXQgZG8gdXNlIGNoYXJhY3RlcnMgbm90IGluIHRoaXMgd2hpdGUtbGlzdC4KICAgICAgICoKICAgICAgICogSW5zdGVhZCBvZiB1cGRhdGluZyB0aGUgd2hpdGUtbGlzdCB3aXRoIGFsbCBhbGxvd2VkIGNoYXJhY3RlcnMsCiAgICAgICAqIHRoZXJlIGlzIGEgU3RyaWN0QmluZGluZ1BhcnNlciAoc2VlIGxpYi9taXhpbnMvc3RyaWN0LWJpbmRpbmctcGFyc2VyKQogICAgICAgKiB0aGF0IHVzZXMgYSBzdGF0ZSBtYWNoaW5lIGluc3RlYWQuIFRoaXMgc3RhdGUgbWFjaGluZSBpcyBhYmxlIHRvIGhhbmRsZQogICAgICAgKiBhbGwgY2hhcmFjdGVycy4gSG93ZXZlciwgaXQgaXMgc2xpZ2h0bHkgbGVzcyBwZXJmb3JtYW50LCB0aGVyZWZvcmUgd2UKICAgICAgICogZXh0cmFjdGVkIGl0IGludG8gYSBzZXBhcmF0ZSBvcHRpb25hbCBtaXhpbi4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgVGV4dCB0byBwYXJzZSBmcm9tIGF0dHJpYnV0ZSBvciB0ZXh0Q29udGVudAogICAgICAgKiBAcGFyYW0ge09iamVjdH0gdGVtcGxhdGVJbmZvIEN1cnJlbnQgdGVtcGxhdGUgbWV0YWRhdGEKICAgICAgICogQHJldHVybiB7QXJyYXk8IUJpbmRpbmdQYXJ0Pn0gQXJyYXkgb2YgYmluZGluZyBwYXJ0IG1ldGFkYXRhCiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIHN0YXRpYyBfcGFyc2VCaW5kaW5ncyh0ZXh0LCB0ZW1wbGF0ZUluZm8pIHsKICAgICAgICBsZXQgcGFydHMgPSBbXTsKICAgICAgICBsZXQgbGFzdEluZGV4ID0gMDsKICAgICAgICBsZXQgbTsKICAgICAgICAvLyBFeGFtcGxlOiAibGl0ZXJhbDF7e3Byb3B9fWxpdGVyYWwyW1shY29tcHV0ZShmb28sYmFyKV1dZmluYWwiCiAgICAgICAgLy8gUmVnZXggbWF0Y2hlczoKICAgICAgICAvLyAgICAgICAgSXRlcmF0aW9uIDE6ICBJdGVyYXRpb24gMjoKICAgICAgICAvLyBtWzFdOiAne3snICAgICAgICAgICdbWycKICAgICAgICAvLyBtWzJdOiAnJyAgICAgICAgICAgICchJwogICAgICAgIC8vIG1bM106ICdwcm9wJyAgICAgICAgJ2NvbXB1dGUoZm9vLGJhciknCiAgICAgICAgd2hpbGUgKChtID0gYmluZGluZ1JlZ2V4LmV4ZWModGV4dCkpICE9PSBudWxsKSB7CiAgICAgICAgICAvLyBBZGQgbGl0ZXJhbCBwYXJ0CiAgICAgICAgICBpZiAobS5pbmRleCA+IGxhc3RJbmRleCkgewogICAgICAgICAgICBwYXJ0cy5wdXNoKHtsaXRlcmFsOiB0ZXh0LnNsaWNlKGxhc3RJbmRleCwgbS5pbmRleCl9KTsKICAgICAgICAgIH0KICAgICAgICAgIC8vIEFkZCBiaW5kaW5nIHBhcnQKICAgICAgICAgIGxldCBtb2RlID0gbVsxXVswXTsKICAgICAgICAgIGxldCBuZWdhdGUgPSBCb29sZWFuKG1bMl0pOwogICAgICAgICAgbGV0IHNvdXJjZSA9IG1bM10udHJpbSgpOwogICAgICAgICAgbGV0IGN1c3RvbUV2ZW50ID0gZmFsc2UsIG5vdGlmeUV2ZW50ID0gJycsIGNvbG9uID0gLTE7CiAgICAgICAgICBpZiAobW9kZSA9PSAneycgJiYgKGNvbG9uID0gc291cmNlLmluZGV4T2YoJzo6JykpID4gMCkgewogICAgICAgICAgICBub3RpZnlFdmVudCA9IHNvdXJjZS5zdWJzdHJpbmcoY29sb24gKyAyKTsKICAgICAgICAgICAgc291cmNlID0gc291cmNlLnN1YnN0cmluZygwLCBjb2xvbik7CiAgICAgICAgICAgIGN1c3RvbUV2ZW50ID0gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgICAgIGxldCBzaWduYXR1cmUgPSBwYXJzZU1ldGhvZChzb3VyY2UpOwogICAgICAgICAgbGV0IGRlcGVuZGVuY2llcyA9IFtdOwogICAgICAgICAgaWYgKHNpZ25hdHVyZSkgewogICAgICAgICAgICAvLyBJbmxpbmUgY29tcHV0ZWQgZnVuY3Rpb24KICAgICAgICAgICAgbGV0IHthcmdzLCBtZXRob2ROYW1lfSA9IHNpZ25hdHVyZTsKICAgICAgICAgICAgZm9yIChsZXQgaT0wOyBpPGFyZ3MubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICBsZXQgYXJnID0gYXJnc1tpXTsKICAgICAgICAgICAgICBpZiAoIWFyZy5saXRlcmFsKSB7CiAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMucHVzaChhcmcpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBsZXQgZHluYW1pY0ZucyA9IHRlbXBsYXRlSW5mby5keW5hbWljRm5zOwogICAgICAgICAgICBpZiAoZHluYW1pY0ZucyAmJiBkeW5hbWljRm5zW21ldGhvZE5hbWVdIHx8IHNpZ25hdHVyZS5zdGF0aWMpIHsKICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMucHVzaChtZXRob2ROYW1lKTsKICAgICAgICAgICAgICBzaWduYXR1cmUuZHluYW1pY0ZuID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gUHJvcGVydHkgb3IgcGF0aAogICAgICAgICAgICBkZXBlbmRlbmNpZXMucHVzaChzb3VyY2UpOwogICAgICAgICAgfQogICAgICAgICAgcGFydHMucHVzaCh7CiAgICAgICAgICAgIHNvdXJjZSwgbW9kZSwgbmVnYXRlLCBjdXN0b21FdmVudCwgc2lnbmF0dXJlLCBkZXBlbmRlbmNpZXMsCiAgICAgICAgICAgIGV2ZW50OiBub3RpZnlFdmVudAogICAgICAgICAgfSk7CiAgICAgICAgICBsYXN0SW5kZXggPSBiaW5kaW5nUmVnZXgubGFzdEluZGV4OwogICAgICAgIH0KICAgICAgICAvLyBBZGQgYSBmaW5hbCBsaXRlcmFsIHBhcnQKICAgICAgICBpZiAobGFzdEluZGV4ICYmIGxhc3RJbmRleCA8IHRleHQubGVuZ3RoKSB7CiAgICAgICAgICBsZXQgbGl0ZXJhbCA9IHRleHQuc3Vic3RyaW5nKGxhc3RJbmRleCk7CiAgICAgICAgICBpZiAobGl0ZXJhbCkgewogICAgICAgICAgICBwYXJ0cy5wdXNoKHsKICAgICAgICAgICAgICBsaXRlcmFsOiBsaXRlcmFsCiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAocGFydHMubGVuZ3RoKSB7CiAgICAgICAgICByZXR1cm4gcGFydHM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENhbGxlZCB0byBldmFsdWF0ZSBhIHByZXZpb3VzbHkgcGFyc2VkIGJpbmRpbmcgcGFydCBiYXNlZCBvbiBhIHNldCBvZgogICAgICAgKiBvbmUgb3IgbW9yZSBjaGFuZ2VkIGRlcGVuZGVuY2llcy4KICAgICAgICoKICAgICAgICogQHBhcmFtIHt0aGlzfSBpbnN0IEVsZW1lbnQgdGhhdCBzaG91bGQgYmUgdXNlZCBhcyBzY29wZSBmb3IKICAgICAgICogICBiaW5kaW5nIGRlcGVuZGVuY2llcwogICAgICAgKiBAcGFyYW0ge0JpbmRpbmdQYXJ0fSBwYXJ0IEJpbmRpbmcgcGFydCBtZXRhZGF0YQogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBQcm9wZXJ0eS9wYXRoIHRoYXQgdHJpZ2dlcmVkIHRoaXMgZWZmZWN0CiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBCYWcgb2YgY3VycmVudCBwcm9wZXJ0eSBjaGFuZ2VzCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvbGRQcm9wcyBCYWcgb2YgcHJldmlvdXMgdmFsdWVzIGZvciBjaGFuZ2VkIHByb3BlcnRpZXMKICAgICAgICogQHBhcmFtIHtib29sZWFufSBoYXNQYXRocyBUcnVlIHdpdGggYHByb3BzYCBjb250YWlucyBvbmUgb3IgbW9yZSBwYXRocwogICAgICAgKiBAcmV0dXJuIHsqfSBWYWx1ZSB0aGUgYmluZGluZyBwYXJ0IGV2YWx1YXRlZCB0bwogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBzdGF0aWMgX2V2YWx1YXRlQmluZGluZyhpbnN0LCBwYXJ0LCBwYXRoLCBwcm9wcywgb2xkUHJvcHMsIGhhc1BhdGhzKSB7CiAgICAgICAgbGV0IHZhbHVlOwogICAgICAgIGlmIChwYXJ0LnNpZ25hdHVyZSkgewogICAgICAgICAgdmFsdWUgPSBydW5NZXRob2RFZmZlY3QoaW5zdCwgcGF0aCwgcHJvcHMsIG9sZFByb3BzLCBwYXJ0LnNpZ25hdHVyZSk7CiAgICAgICAgfSBlbHNlIGlmIChwYXRoICE9IHBhcnQuc291cmNlKSB7CiAgICAgICAgICB2YWx1ZSA9IFBvbHltZXIuUGF0aC5nZXQoaW5zdCwgcGFydC5zb3VyY2UpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBpZiAoaGFzUGF0aHMgJiYgUG9seW1lci5QYXRoLmlzUGF0aChwYXRoKSkgewogICAgICAgICAgICB2YWx1ZSA9IFBvbHltZXIuUGF0aC5nZXQoaW5zdCwgcGF0aCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB2YWx1ZSA9IGluc3QuX19kYXRhW3BhdGhdOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAocGFydC5uZWdhdGUpIHsKICAgICAgICAgIHZhbHVlID0gIXZhbHVlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgIH0KCiAgICB9CgogICAgLy8gbWFrZSBhIHR5cGluZyBmb3IgY2xvc3VyZSA6UAogICAgUHJvcGVydHlFZmZlY3RzVHlwZSA9IFByb3BlcnR5RWZmZWN0czsKCiAgICByZXR1cm4gUHJvcGVydHlFZmZlY3RzOwogIH0pOwoKICAvKioKICAgKiBIZWxwZXIgYXBpIGZvciBlbnF1ZXVpbmcgY2xpZW50IGRvbSBjcmVhdGVkIGJ5IGEgaG9zdCBlbGVtZW50LgogICAqCiAgICogQnkgZGVmYXVsdCBlbGVtZW50cyBhcmUgZmx1c2hlZCB2aWEgYF9mbHVzaFByb3BlcnRpZXNgIHdoZW4KICAgKiBgY29ubmVjdGVkQ2FsbGJhY2tgIGlzIGNhbGxlZC4gRWxlbWVudHMgYXR0YWNoIHRoZWlyIGNsaWVudCBkb20gdG8KICAgKiB0aGVtc2VsdmVzIGF0IGByZWFkeWAgdGltZSB3aGljaCByZXN1bHRzIGZyb20gdGhpcyBmaXJzdCBmbHVzaC4KICAgKiBUaGlzIHByb3ZpZGVzIGFuIG9yZGVyaW5nIGd1YXJhbnRlZSB0aGF0IHRoZSBjbGllbnQgZG9tIGFuIGVsZW1lbnQKICAgKiBjcmVhdGVzIGlzIGZsdXNoZWQgYmVmb3JlIHRoZSBlbGVtZW50IGl0c2VsZiAoaS5lLiBjbGllbnQgYHJlYWR5YAogICAqIGZpcmVzIGJlZm9yZSBob3N0IGByZWFkeWApLgogICAqCiAgICogSG93ZXZlciwgaWYgYF9mbHVzaFByb3BlcnRpZXNgIGlzIGNhbGxlZCAqYmVmb3JlKiBhbiBlbGVtZW50IGlzIGNvbm5lY3RlZCwKICAgKiBhcyBmb3IgZXhhbXBsZSBgVGVtcGxhdGl6ZWAgZG9lcywgdGhpcyBvcmRlcmluZyBndWFyYW50ZWUgY2Fubm90IGJlCiAgICogc2F0aXNmaWVkIGJlY2F1c2Ugbm8gZWxlbWVudHMgYXJlIGNvbm5lY3RlZC4gKE5vdGU6IEJvdW5kIGVsZW1lbnRzIHRoYXQKICAgKiByZWNlaXZlIGRhdGEgZG8gYmVjb21lIGVucXVldWVkIGNsaWVudHMgYW5kIGFyZSBwcm9wZXJseSBvcmRlcmVkIGJ1dAogICAqIHVuYm91bmQgZWxlbWVudHMgYXJlIG5vdC4pCiAgICoKICAgKiBUbyBtYWludGFpbiB0aGUgZGVzaXJlZCAiY2xpZW50IGJlZm9yZSBob3N0IiBvcmRlcmluZyBndWFyYW50ZWUgZm9yIHRoaXMKICAgKiBjYXNlIHdlIHJlbHkgb24gdGhlICJob3N0IHN0YWNrLiBDbGllbnQgbm9kZXMgcmVnaXN0ZXJzIHRoZW1zZWx2ZXMgd2l0aAogICAqIHRoZSBjcmVhdGluZyBob3N0IGVsZW1lbnQgd2hlbiBjcmVhdGVkLiBUaGlzIGVuc3VyZXMgdGhhdCBhbGwgY2xpZW50IGRvbQogICAqIGlzIHJlYWRpZWQgaW4gdGhlIHByb3BlciBvcmRlciwgbWFpbnRhaW5pbmcgdGhlIGRlc2lyZWQgZ3VhcmFudGVlLgogICAqCiAgICogQHByaXZhdGUKICAgKi8KICBsZXQgaG9zdFN0YWNrID0gewoKICAgIHN0YWNrOiBbXSwKCiAgICAvKioKICAgICAqIEBwYXJhbSB7Kn0gaW5zdCBJbnN0YW5jZSB0byBhZGQgdG8gaG9zdFN0YWNrCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICogQHRoaXMge2hvc3RTdGFja30KICAgICAqLwogICAgcmVnaXN0ZXJIb3N0KGluc3QpIHsKICAgICAgaWYgKHRoaXMuc3RhY2subGVuZ3RoKSB7CiAgICAgICAgbGV0IGhvc3QgPSB0aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdOwogICAgICAgIGhvc3QuX2VucXVldWVDbGllbnQoaW5zdCk7CiAgICAgIH0KICAgIH0sCgogICAgLyoqCiAgICAgKiBAcGFyYW0geyp9IGluc3QgSW5zdGFuY2UgdG8gYmVnaW4gaG9zdGluZwogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqIEB0aGlzIHtob3N0U3RhY2t9CiAgICAgKi8KICAgIGJlZ2luSG9zdGluZyhpbnN0KSB7CiAgICAgIHRoaXMuc3RhY2sucHVzaChpbnN0KTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBAcGFyYW0geyp9IGluc3QgSW5zdGFuY2UgdG8gZW5kIGhvc3RpbmcKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKiBAdGhpcyB7aG9zdFN0YWNrfQogICAgICovCiAgICBlbmRIb3N0aW5nKGluc3QpIHsKICAgICAgbGV0IHN0YWNrTGVuID0gdGhpcy5zdGFjay5sZW5ndGg7CiAgICAgIGlmIChzdGFja0xlbiAmJiB0aGlzLnN0YWNrW3N0YWNrTGVuLTFdID09IGluc3QpIHsKICAgICAgICB0aGlzLnN0YWNrLnBvcCgpOwogICAgICB9CiAgICB9CgogIH07Cgp9KSgpOwoKCihmdW5jdGlvbigpIHsKICAndXNlIHN0cmljdCc7CgogIC8qKgogICAqIFByb3ZpZGVzIGJhc2ljIHRyYWNraW5nIG9mIGVsZW1lbnQgZGVmaW5pdGlvbnMgKHJlZ2lzdHJhdGlvbnMpIGFuZAogICAqIGluc3RhbmNlIGNvdW50cy4KICAgKgogICAqIEBuYW1lc3BhY2UKICAgKiBAc3VtbWFyeSBQcm92aWRlcyBiYXNpYyB0cmFja2luZyBvZiBlbGVtZW50IGRlZmluaXRpb25zIChyZWdpc3RyYXRpb25zKSBhbmQKICAgKiBpbnN0YW5jZSBjb3VudHMuCiAgICovCiAgUG9seW1lci50ZWxlbWV0cnkgPSB7CiAgICAvKioKICAgICAqIFRvdGFsIG51bWJlciBvZiBQb2x5bWVyIGVsZW1lbnQgaW5zdGFuY2VzIGNyZWF0ZWQuCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBpbnN0YW5jZUNvdW50OiAwLAogICAgLyoqCiAgICAgKiBBcnJheSBvZiBQb2x5bWVyIGVsZW1lbnQgY2xhc3NlcyB0aGF0IGhhdmUgYmVlbiBmaW5hbGl6ZWQuCiAgICAgKiBAdHlwZSB7QXJyYXk8UG9seW1lci5FbGVtZW50Pn0KICAgICAqLwogICAgcmVnaXN0cmF0aW9uczogW10sCiAgICAvKioKICAgICAqIEBwYXJhbSB7IVBvbHltZXJFbGVtZW50Q29uc3RydWN0b3J9IHByb3RvdHlwZSBFbGVtZW50IHByb3RvdHlwZSB0byBsb2cKICAgICAqIEB0aGlzIHt0aGlzfQogICAgICogQHByaXZhdGUKICAgICAqLwogICAgX3JlZ0xvZzogZnVuY3Rpb24ocHJvdG90eXBlKSB7CiAgICAgIGNvbnNvbGUubG9nKCdbJyArIHByb3RvdHlwZS5pcyArICddOiByZWdpc3RlcmVkJyk7CiAgICB9LAogICAgLyoqCiAgICAgKiBSZWdpc3RlcnMgYSBjbGFzcyBwcm90b3R5cGUgZm9yIHRlbGVtZXRyeSBwdXJwb3Nlcy4KICAgICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHByb3RvdHlwZSBFbGVtZW50IHByb3RvdHlwZSB0byByZWdpc3RlcgogICAgICogQHRoaXMge3RoaXN9CiAgICAgKiBAcHJvdGVjdGVkCiAgICAgKi8KICAgIHJlZ2lzdGVyOiBmdW5jdGlvbihwcm90b3R5cGUpIHsKICAgICAgdGhpcy5yZWdpc3RyYXRpb25zLnB1c2gocHJvdG90eXBlKTsKICAgICAgUG9seW1lci5sb2cgJiYgdGhpcy5fcmVnTG9nKHByb3RvdHlwZSk7CiAgICB9LAogICAgLyoqCiAgICAgKiBMb2dzIGFsbCBlbGVtZW50cyByZWdpc3RlcmVkIHdpdGggYW4gYGlzYCB0byB0aGUgY29uc29sZS4KICAgICAqIEBwdWJsaWMKICAgICAqIEB0aGlzIHt0aGlzfQogICAgICovCiAgICBkdW1wUmVnaXN0cmF0aW9uczogZnVuY3Rpb24oKSB7CiAgICAgIHRoaXMucmVnaXN0cmF0aW9ucy5mb3JFYWNoKHRoaXMuX3JlZ0xvZyk7CiAgICB9CiAgfTsKCn0pKCk7CgoKKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgLyoqCiAgICogQ3JlYXRlcyBhIGNvcHkgb2YgYHByb3BzYCB3aXRoIGVhY2ggcHJvcGVydHkgbm9ybWFsaXplZCBzdWNoIHRoYXQKICAgKiB1cGdyYWRlZCBpdCBpcyBhbiBvYmplY3Qgd2l0aCBhdCBsZWFzdCBhIHR5cGUgcHJvcGVydHkgeyB0eXBlOiBUeXBlfS4KICAgKgogICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBQcm9wZXJ0aWVzIHRvIG5vcm1hbGl6ZQogICAqIEByZXR1cm4ge09iamVjdH0gQ29weSBvZiBpbnB1dCBgcHJvcHNgIHdpdGggbm9ybWFsaXplZCBwcm9wZXJ0aWVzIHRoYXQKICAgKiBhcmUgaW4gdGhlIGZvcm0ge3R5cGU6IFR5cGV9CiAgICogQHByaXZhdGUKICAgKi8KICBmdW5jdGlvbiBub3JtYWxpemVQcm9wZXJ0aWVzKHByb3BzKSB7CiAgICBjb25zdCBvdXRwdXQgPSB7fTsKICAgIGZvciAobGV0IHAgaW4gcHJvcHMpIHsKICAgICAgY29uc3QgbyA9IHByb3BzW3BdOwogICAgICBvdXRwdXRbcF0gPSAodHlwZW9mIG8gPT09ICdmdW5jdGlvbicpID8ge3R5cGU6IG99IDogbzsKICAgIH0KICAgIHJldHVybiBvdXRwdXQ7CiAgfQoKICAvKioKICAgKiBNaXhpbiB0aGF0IHByb3ZpZGVzIGEgbWluaW1hbCBzdGFydGluZyBwb2ludCB0byB1c2luZyB0aGUgUHJvcGVydGllc0NoYW5nZWQKICAgKiBtaXhpbiBieSBwcm92aWRpbmcgYSBtZWNoYW5pc20gdG8gZGVjbGFyZSBwcm9wZXJ0aWVzIGluIGEgc3RhdGljCiAgICogZ2V0dGVyIChlLmcuIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHsgcmV0dXJuIHsgZm9vOiBTdHJpbmcgfSB9KS4gQ2hhbmdlcwogICAqIGFyZSByZXBvcnRlZCB2aWEgdGhlIGBfcHJvcGVydGllc0NoYW5nZWRgIG1ldGhvZC4KICAgKgogICAqIFRoaXMgbWl4aW4gcHJvdmlkZXMgbm8gc3BlY2lmaWMgc3VwcG9ydCBmb3IgcmVuZGVyaW5nLiBVc2VycyBhcmUgZXhwZWN0ZWQKICAgKiB0byBjcmVhdGUgYSBTaGFkb3dSb290IGFuZCBwdXQgY29udGVudCBpbnRvIGl0IGFuZCB1cGRhdGUgaXQgaW4gd2hhdGV2ZXIKICAgKiB3YXkgbWFrZXMgc2Vuc2UuIFRoaXMgY2FuIGJlIGRvbmUgaW4gcmVhY3Rpb24gdG8gcHJvcGVydGllcyBjaGFuZ2luZyBieQogICAqIGltcGxlbWVudGluZyBgX3Byb3BlcnRpZXNDaGFuZ2VkYC4KICAgKgogICAqIEBtaXhpbkZ1bmN0aW9uCiAgICogQHBvbHltZXIKICAgKiBAYXBwbGllc01peGluIFBvbHltZXIuUHJvcGVydGllc0NoYW5nZWQKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBzdW1tYXJ5IE1peGluIHRoYXQgcHJvdmlkZXMgYSBtaW5pbWFsIHN0YXJ0aW5nIHBvaW50IGZvciB1c2luZwogICAqIHRoZSBQcm9wZXJ0aWVzQ2hhbmdlZCBtaXhpbiBieSBwcm92aWRpbmcgYSBkZWNsYXJhdGl2ZSBgcHJvcGVydGllc2Agb2JqZWN0LgogICAqLwogICBQb2x5bWVyLlByb3BlcnRpZXNNaXhpbiA9IFBvbHltZXIuZGVkdXBpbmdNaXhpbihzdXBlckNsYXNzID0+IHsKCiAgICAvKioKICAgICAqIEBjb25zdHJ1Y3RvcgogICAgICogQGV4dGVuZHMge3N1cGVyQ2xhc3N9CiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9Qcm9wZXJ0aWVzQ2hhbmdlZH0KICAgICAqIEBwcml2YXRlCiAgICAgKi8KICAgIGNvbnN0IGJhc2UgPSBQb2x5bWVyLlByb3BlcnRpZXNDaGFuZ2VkKHN1cGVyQ2xhc3MpOwoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgc3VwZXIgY2xhc3MgY29uc3RydWN0b3IgZm9yIHRoZSBnaXZlbiBjbGFzcywgaWYgaXQgaXMgYW4KICAgICAqIGluc3RhbmNlIG9mIHRoZSBQcm9wZXJ0aWVzTWl4aW4uCiAgICAgKgogICAgICogQHBhcmFtIHshUHJvcGVydGllc01peGluQ29uc3RydWN0b3J9IGNvbnN0cnVjdG9yIFByb3BlcnRpZXNNaXhpbiBjb25zdHJ1Y3RvcgogICAgICogQHJldHVybiB7UHJvcGVydGllc01peGluQ29uc3RydWN0b3J9IFN1cGVyIGNsYXNzIGNvbnN0cnVjdG9yCiAgICAgKi8KICAgIGZ1bmN0aW9uIHN1cGVyUHJvcGVydGllc0NsYXNzKGNvbnN0cnVjdG9yKSB7CiAgICAgIGNvbnN0IHN1cGVyQ3RvciA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjb25zdHJ1Y3Rvcik7CgogICAgICAvLyBOb3RlLCB0aGUgYFByb3BlcnRpZXNNaXhpbmAgY2xhc3MgYmVsb3cgb25seSByZWZlcnMgdG8gdGhlIGNsYXNzCiAgICAgIC8vIGdlbmVyYXRlZCBieSB0aGlzIGNhbGwgdG8gdGhlIG1peGluOyB0aGUgaW5zdGFuY2VvZiB0ZXN0IG9ubHkgd29ya3MKICAgICAgLy8gYmVjYXVzZSB0aGUgbWl4aW4gaXMgZGVkdXBlZCBhbmQgZ3VhcmFudGVlZCBvbmx5IHRvIGFwcGx5IG9uY2UsIGhlbmNlCiAgICAgIC8vIGFsbCBjb25zdHJ1Y3RvcnMgaW4gYSBwcm90byBjaGFpbiB3aWxsIHNlZSB0aGUgc2FtZSBgUHJvcGVydGllc01peGluYAogICAgICByZXR1cm4gKHN1cGVyQ3Rvci5wcm90b3R5cGUgaW5zdGFuY2VvZiBQcm9wZXJ0aWVzTWl4aW4pID8KICAgICAgICAvKiogQHR5cGUge1Byb3BlcnRpZXNNaXhpbkNvbnN0cnVjdG9yfSAqLyAoc3VwZXJDdG9yKSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgbWVtb2l6ZWQgdmVyc2lvbiBvZiB0aGUgYHByb3BlcnRpZXNgIG9iamVjdCBmb3IgdGhlCiAgICAgKiBnaXZlbiBjbGFzcy4gUHJvcGVydGllcyBub3QgaW4gb2JqZWN0IGZvcm1hdCBhcmUgY29udmVydGVkIHRvIGF0CiAgICAgKiBsZWFzdCB7dHlwZX0uCiAgICAgKgogICAgICogQHBhcmFtIHtQcm9wZXJ0aWVzTWl4aW5Db25zdHJ1Y3Rvcn0gY29uc3RydWN0b3IgUHJvcGVydGllc01peGluIGNvbnN0cnVjdG9yCiAgICAgKiBAcmV0dXJuIHtPYmplY3R9IE1lbW9pemVkIHByb3BlcnRpZXMgb2JqZWN0CiAgICAgKi8KICAgIGZ1bmN0aW9uIG93blByb3BlcnRpZXMoY29uc3RydWN0b3IpIHsKICAgICAgaWYgKCFjb25zdHJ1Y3Rvci5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCdfX293blByb3BlcnRpZXMnLCBjb25zdHJ1Y3RvcikpKSB7CiAgICAgICAgbGV0IHByb3BzID0gbnVsbDsKCiAgICAgICAgaWYgKGNvbnN0cnVjdG9yLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoJ3Byb3BlcnRpZXMnLCBjb25zdHJ1Y3RvcikpKSB7CiAgICAgICAgICBjb25zdCBwcm9wZXJ0aWVzID0gY29uc3RydWN0b3IucHJvcGVydGllczsKICAgICAgICAgIAogICAgICAgICAgaWYgKHByb3BlcnRpZXMpIHsKICAgICAgICAgICAgcHJvcHMgPSBub3JtYWxpemVQcm9wZXJ0aWVzKHByb3BlcnRpZXMpOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgY29uc3RydWN0b3IuX19vd25Qcm9wZXJ0aWVzID0gcHJvcHM7CiAgICAgIH0KICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yLl9fb3duUHJvcGVydGllczsKICAgIH0KCiAgICAvKioKICAgICAqIEBwb2x5bWVyCiAgICAgKiBAbWl4aW5DbGFzcwogICAgICogQGV4dGVuZHMge2Jhc2V9CiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9Qcm9wZXJ0aWVzTWl4aW59CiAgICAgKiBAdW5yZXN0cmljdGVkCiAgICAgKi8KICAgIGNsYXNzIFByb3BlcnRpZXNNaXhpbiBleHRlbmRzIGJhc2UgewoKICAgICAgLyoqCiAgICAgICAqIEltcGxlbWVudHMgc3RhbmRhcmQgY3VzdG9tIGVsZW1lbnRzIGdldHRlciB0byBvYnNlcnZlcyB0aGUgYXR0cmlidXRlcwogICAgICAgKiBsaXN0ZWQgaW4gYHByb3BlcnRpZXNgLgogICAgICAgKiBAc3VwcHJlc3Mge21pc3NpbmdQcm9wZXJ0aWVzfSBJbnRlcmZhY2VzIGluIGNsb3N1cmUgZG8gbm90IGluaGVyaXQgc3RhdGljcywgYnV0IGNsYXNzZXMgZG8KICAgICAgICovCiAgICAgIHN0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCkgewogICAgICAgIGlmICghdGhpcy5oYXNPd25Qcm9wZXJ0eSgnX19vYnNlcnZlZEF0dHJpYnV0ZXMnKSkgewogICAgICAgICAgUG9seW1lci50ZWxlbWV0cnkucmVnaXN0ZXIodGhpcy5wcm90b3R5cGUpOwogICAgICAgICAgY29uc3QgcHJvcHMgPSB0aGlzLl9wcm9wZXJ0aWVzOwogICAgICAgICAgdGhpcy5fX29ic2VydmVkQXR0cmlidXRlcyA9IHByb3BzID8gT2JqZWN0LmtleXMocHJvcHMpLm1hcChwID0+IHRoaXMuYXR0cmlidXRlTmFtZUZvclByb3BlcnR5KHApKSA6IFtdOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdGhpcy5fX29ic2VydmVkQXR0cmlidXRlczsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEZpbmFsaXplcyBhbiBlbGVtZW50IGRlZmluaXRpb24sIGluY2x1ZGluZyBlbnN1cmluZyBhbnkgc3VwZXIgY2xhc3NlcwogICAgICAgKiBhcmUgYWxzbyBmaW5hbGl6ZWQuIFRoaXMgaW5jbHVkZXMgZW5zdXJpbmcgcHJvcGVydHkKICAgICAgICogYWNjZXNzb3JzIGV4aXN0IG9uIHRoZSBlbGVtZW50IHByb3RvdHlwZS4gVGhpcyBtZXRob2QgY2FsbHMKICAgICAgICogYF9maW5hbGl6ZUNsYXNzYCB0byBmaW5hbGl6ZSBlYWNoIGNvbnN0cnVjdG9yIGluIHRoZSBwcm90b3R5cGUgY2hhaW4uCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBzdGF0aWMgZmluYWxpemUoKSB7CiAgICAgICAgaWYgKCF0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoJ19fZmluYWxpemVkJywgdGhpcykpKSB7CiAgICAgICAgICBjb25zdCBzdXBlckN0b3IgPSBzdXBlclByb3BlcnRpZXNDbGFzcygvKiogQHR5cGUge1Byb3BlcnRpZXNNaXhpbkNvbnN0cnVjdG9yfSAqLyh0aGlzKSk7CiAgICAgICAgICBpZiAoc3VwZXJDdG9yKSB7CiAgICAgICAgICAgIHN1cGVyQ3Rvci5maW5hbGl6ZSgpOwogICAgICAgICAgfQogICAgICAgICAgdGhpcy5fX2ZpbmFsaXplZCA9IHRydWU7CiAgICAgICAgICB0aGlzLl9maW5hbGl6ZUNsYXNzKCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogRmluYWxpemUgYW4gZWxlbWVudCBjbGFzcy4gVGhpcyBpbmNsdWRlcyBlbnN1cmluZyBwcm9wZXJ0eQogICAgICAgKiBhY2Nlc3NvcnMgZXhpc3Qgb24gdGhlIGVsZW1lbnQgcHJvdG90eXBlLiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgYnkKICAgICAgICogYGZpbmFsaXplYCBhbmQgZmluYWxpemVzIHRoZSBjbGFzcyBjb25zdHJ1Y3Rvci4KICAgICAgICoKICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgc3RhdGljIF9maW5hbGl6ZUNsYXNzKCkgewogICAgICAgIGNvbnN0IHByb3BzID0gb3duUHJvcGVydGllcygvKiogQHR5cGUge1Byb3BlcnRpZXNNaXhpbkNvbnN0cnVjdG9yfSAqLyh0aGlzKSk7CiAgICAgICAgaWYgKHByb3BzKSB7CiAgICAgICAgICB0aGlzLmNyZWF0ZVByb3BlcnRpZXMocHJvcHMpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgYSBtZW1vaXplZCB2ZXJzaW9uIG9mIGFsbCBwcm9wZXJ0aWVzLCBpbmNsdWRpbmcgdGhvc2UgaW5oZXJpdGVkCiAgICAgICAqIGZyb20gc3VwZXIgY2xhc3Nlcy4gUHJvcGVydGllcyBub3QgaW4gb2JqZWN0IGZvcm1hdCBhcmUgY29udmVydGVkIHRvCiAgICAgICAqIGF0IGxlYXN0IHt0eXBlfS4KICAgICAgICoKICAgICAgICogQHJldHVybiB7T2JqZWN0fSBPYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGZvciB0aGlzIGNsYXNzCiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIHN0YXRpYyBnZXQgX3Byb3BlcnRpZXMoKSB7CiAgICAgICAgaWYgKCF0aGlzLmhhc093blByb3BlcnR5KAogICAgICAgICAgSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgnX19wcm9wZXJ0aWVzJywgdGhpcykpKSB7CiAgICAgICAgICBjb25zdCBzdXBlckN0b3IgPSBzdXBlclByb3BlcnRpZXNDbGFzcygvKiogQHR5cGUge1Byb3BlcnRpZXNNaXhpbkNvbnN0cnVjdG9yfSAqLyh0aGlzKSk7CiAgICAgICAgICB0aGlzLl9fcHJvcGVydGllcyA9IE9iamVjdC5hc3NpZ24oe30sCiAgICAgICAgICAgIHN1cGVyQ3RvciAmJiBzdXBlckN0b3IuX3Byb3BlcnRpZXMsCiAgICAgICAgICAgIG93blByb3BlcnRpZXMoLyoqIEB0eXBlIHtQcm9wZXJ0aWVzTWl4aW5Db25zdHJ1Y3Rvcn0gKi8odGhpcykpKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRoaXMuX19wcm9wZXJ0aWVzOwogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIGBQcm9wZXJ0aWVzQ2hhbmdlZGAgbWV0aG9kIHRvIHJldHVybiB0eXBlIHNwZWNpZmllZCBpbiB0aGUKICAgICAgICogc3RhdGljIGBwcm9wZXJ0aWVzYCBvYmplY3QgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eS4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZSBvZiBwcm9wZXJ0eQogICAgICAgKiBAcmV0dXJuIHsqfSBUeXBlIHRvIHdoaWNoIHRvIGRlc2VyaWFsaXplIGF0dHJpYnV0ZQogICAgICAgKgogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBzdGF0aWMgdHlwZUZvclByb3BlcnR5KG5hbWUpIHsKICAgICAgICBjb25zdCBpbmZvID0gdGhpcy5fcHJvcGVydGllc1tuYW1lXTsKICAgICAgICByZXR1cm4gaW5mbyAmJiBpbmZvLnR5cGU7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBPdmVycmlkZXMgYFByb3BlcnRpZXNDaGFuZ2VkYCBtZXRob2QgYW5kIGFkZHMgYSBjYWxsIHRvCiAgICAgICAqIGBmaW5hbGl6ZWAgd2hpY2ggbGF6aWx5IGNvbmZpZ3VyZXMgdGhlIGVsZW1lbnQncyBwcm9wZXJ0eSBhY2Nlc3NvcnMuCiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgX2luaXRpYWxpemVQcm9wZXJ0aWVzKCkgewogICAgICAgIFBvbHltZXIudGVsZW1ldHJ5Lmluc3RhbmNlQ291bnQrKzsKICAgICAgICB0aGlzLmNvbnN0cnVjdG9yLmZpbmFsaXplKCk7CiAgICAgICAgc3VwZXIuX2luaXRpYWxpemVQcm9wZXJ0aWVzKCk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDYWxsZWQgd2hlbiB0aGUgZWxlbWVudCBpcyBhZGRlZCB0byBhIGRvY3VtZW50LgogICAgICAgKiBDYWxscyBgX2VuYWJsZVByb3BlcnRpZXNgIHRvIHR1cm4gb24gcHJvcGVydHkgc3lzdGVtIGZyb20KICAgICAgICogYFByb3BlcnRpZXNDaGFuZ2VkYC4KICAgICAgICogQHN1cHByZXNzIHttaXNzaW5nUHJvcGVydGllc30gU3VwZXIgbWF5IG9yIG1heSBub3QgaW1wbGVtZW50IHRoZSBjYWxsYmFjawogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7CiAgICAgICAgaWYgKHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKSB7CiAgICAgICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpOwogICAgICAgIH0KICAgICAgICB0aGlzLl9lbmFibGVQcm9wZXJ0aWVzKCk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDYWxsZWQgd2hlbiB0aGUgZWxlbWVudCBpcyByZW1vdmVkIGZyb20gYSBkb2N1bWVudAogICAgICAgKiBAc3VwcHJlc3Mge21pc3NpbmdQcm9wZXJ0aWVzfSBTdXBlciBtYXkgb3IgbWF5IG5vdCBpbXBsZW1lbnQgdGhlIGNhbGxiYWNrCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHsKICAgICAgICBpZiAoc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2spIHsKICAgICAgICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7CiAgICAgICAgfQogICAgICB9CgogICAgfQoKICAgIHJldHVybiBQcm9wZXJ0aWVzTWl4aW47CgogIH0pOwoKfSkoKTsKCgoKKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgY29uc3QgYnVpbHRDU1MgPSB3aW5kb3cuU2hhZHlDU1MgJiYgd2luZG93LlNoYWR5Q1NTWydjc3NCdWlsZCddOwoKICAvKioKICAgKiBFbGVtZW50IGNsYXNzIG1peGluIHRoYXQgcHJvdmlkZXMgdGhlIGNvcmUgQVBJIGZvciBQb2x5bWVyJ3MgbWV0YS1wcm9ncmFtbWluZwogICAqIGZlYXR1cmVzIGluY2x1ZGluZyB0ZW1wbGF0ZSBzdGFtcGluZywgZGF0YS1iaW5kaW5nLCBhdHRyaWJ1dGUgZGVzZXJpYWxpemF0aW9uLAogICAqIGFuZCBwcm9wZXJ0eSBjaGFuZ2Ugb2JzZXJ2YXRpb24uCiAgICoKICAgKiBTdWJjbGFzc2VycyBtYXkgcHJvdmlkZSB0aGUgZm9sbG93aW5nIHN0YXRpYyBnZXR0ZXJzIHRvIHJldHVybiBtZXRhZGF0YQogICAqIHVzZWQgdG8gY29uZmlndXJlIFBvbHltZXIncyBmZWF0dXJlcyBmb3IgdGhlIGNsYXNzOgogICAqCiAgICogLSBgc3RhdGljIGdldCBpcygpYDogV2hlbiB0aGUgdGVtcGxhdGUgaXMgcHJvdmlkZWQgdmlhIGEgYGRvbS1tb2R1bGVgLAogICAqICAgdXNlcnMgc2hvdWxkIHJldHVybiB0aGUgYGRvbS1tb2R1bGVgIGlkIGZyb20gYSBzdGF0aWMgYGlzYCBnZXR0ZXIuICBJZgogICAqICAgbm8gdGVtcGxhdGUgaXMgbmVlZGVkIG9yIHRoZSB0ZW1wbGF0ZSBpcyBwcm92aWRlZCBkaXJlY3RseSB2aWEgdGhlCiAgICogICBgdGVtcGxhdGVgIGdldHRlciwgdGhlcmUgaXMgbm8gbmVlZCB0byBkZWZpbmUgYGlzYCBmb3IgdGhlIGVsZW1lbnQuCiAgICoKICAgKiAtIGBzdGF0aWMgZ2V0IHRlbXBsYXRlKClgOiBVc2VycyBtYXkgcHJvdmlkZSB0aGUgdGVtcGxhdGUgZGlyZWN0bHkgKGFzCiAgICogICBvcHBvc2VkIHRvIHZpYSBgZG9tLW1vZHVsZWApIGJ5IGltcGxlbWVudGluZyBhIHN0YXRpYyBgdGVtcGxhdGVgIGdldHRlci4KICAgKiAgIFRoZSBnZXR0ZXIgbWF5IHJldHVybiBhbiBgSFRNTFRlbXBsYXRlRWxlbWVudGAgb3IgYSBzdHJpbmcsIHdoaWNoIHdpbGwKICAgKiAgIGF1dG9tYXRpY2FsbHkgYmUgcGFyc2VkIGludG8gYSB0ZW1wbGF0ZS4KICAgKgogICAqIC0gYHN0YXRpYyBnZXQgcHJvcGVydGllcygpYDogU2hvdWxkIHJldHVybiBhbiBvYmplY3QgZGVzY3JpYmluZwogICAqICAgcHJvcGVydHktcmVsYXRlZCBtZXRhZGF0YSB1c2VkIGJ5IFBvbHltZXIgZmVhdHVyZXMgKGtleTogcHJvcGVydHkgbmFtZQogICAqICAgdmFsdWU6IG9iamVjdCBjb250YWluaW5nIHByb3BlcnR5IG1ldGFkYXRhKS4gVmFsaWQga2V5cyBpbiBwZXItcHJvcGVydHkKICAgKiAgIG1ldGFkYXRhIGluY2x1ZGU6CiAgICogICAtIGB0eXBlYCAoU3RyaW5nfE51bWJlcnxPYmplY3R8QXJyYXl8Li4uKTogVXNlZCBieQogICAqICAgICBgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrYCB0byBkZXRlcm1pbmUgaG93IHN0cmluZy1iYXNlZCBhdHRyaWJ1dGVzCiAgICogICAgIGFyZSBkZXNlcmlhbGl6ZWQgdG8gSmF2YVNjcmlwdCBwcm9wZXJ0eSB2YWx1ZXMuCiAgICogICAtIGBub3RpZnlgIChib29sZWFuKTogQ2F1c2VzIGEgY2hhbmdlIGluIHRoZSBwcm9wZXJ0eSB0byBmaXJlIGEKICAgKiAgICAgbm9uLWJ1YmJsaW5nIGV2ZW50IGNhbGxlZCBgPHByb3BlcnR5Pi1jaGFuZ2VkYC4gRWxlbWVudHMgdGhhdCBoYXZlCiAgICogICAgIGVuYWJsZWQgdHdvLXdheSBiaW5kaW5nIHRvIHRoZSBwcm9wZXJ0eSB1c2UgdGhpcyBldmVudCB0byBvYnNlcnZlIGNoYW5nZXMuCiAgICogICAtIGByZWFkT25seWAgKGJvb2xlYW4pOiBDcmVhdGVzIGEgZ2V0dGVyIGZvciB0aGUgcHJvcGVydHksIGJ1dCBubyBzZXR0ZXIuCiAgICogICAgIFRvIHNldCBhIHJlYWQtb25seSBwcm9wZXJ0eSwgdXNlIHRoZSBwcml2YXRlIHNldHRlciBtZXRob2QKICAgKiAgICAgYF9zZXRQcm9wZXJ0eShwcm9wZXJ0eSwgdmFsdWUpYC4KICAgKiAgIC0gYG9ic2VydmVyYCAoc3RyaW5nKTogT2JzZXJ2ZXIgbWV0aG9kIG5hbWUgdGhhdCB3aWxsIGJlIGNhbGxlZCB3aGVuCiAgICogICAgIHRoZSBwcm9wZXJ0eSBjaGFuZ2VzLiBUaGUgYXJndW1lbnRzIG9mIHRoZSBtZXRob2QgYXJlCiAgICogICAgIGAodmFsdWUsIHByZXZpb3VzVmFsdWUpYC4KICAgKiAgIC0gYGNvbXB1dGVkYCAoc3RyaW5nKTogU3RyaW5nIGRlc2NyaWJpbmcgbWV0aG9kIGFuZCBkZXBlbmRlbnQgcHJvcGVydGllcwogICAqICAgICBmb3IgY29tcHV0aW5nIHRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IChlLmcuIGAnY29tcHV0ZUZvbyhiYXIsIHpvdCknYCkuCiAgICogICAgIENvbXB1dGVkIHByb3BlcnRpZXMgYXJlIHJlYWQtb25seSBieSBkZWZhdWx0IGFuZCBjYW4gb25seSBiZSBjaGFuZ2VkCiAgICogICAgIHZpYSB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBjb21wdXRpbmcgbWV0aG9kLgogICAqCiAgICogLSBgc3RhdGljIGdldCBvYnNlcnZlcnMoKWA6IEFycmF5IG9mIHN0cmluZ3MgZGVzY3JpYmluZyBtdWx0aS1wcm9wZXJ0eQogICAqICAgb2JzZXJ2ZXIgbWV0aG9kcyBhbmQgdGhlaXIgZGVwZW5kZW50IHByb3BlcnRpZXMgKGUuZy4KICAgKiAgIGAnb2JzZXJ2ZUFCQyhhLCBiLCBjKSdgKS4KICAgKgogICAqIFRoZSBiYXNlIGNsYXNzIHByb3ZpZGVzIGRlZmF1bHQgaW1wbGVtZW50YXRpb25zIGZvciB0aGUgZm9sbG93aW5nIHN0YW5kYXJkCiAgICogY3VzdG9tIGVsZW1lbnQgbGlmZWN5Y2xlIGNhbGxiYWNrczsgdXNlcnMgbWF5IG92ZXJyaWRlIHRoZXNlLCBidXQgc2hvdWxkCiAgICogY2FsbCB0aGUgc3VwZXIgbWV0aG9kIHRvIGVuc3VyZQogICAqIC0gYGNvbnN0cnVjdG9yYDogUnVuIHdoZW4gdGhlIGVsZW1lbnQgaXMgY3JlYXRlZCBvciB1cGdyYWRlZAogICAqIC0gYGNvbm5lY3RlZENhbGxiYWNrYDogUnVuIGVhY2ggdGltZSB0aGUgZWxlbWVudCBpcyBjb25uZWN0ZWQgdG8gdGhlCiAgICogICBkb2N1bWVudAogICAqIC0gYGRpc2Nvbm5lY3RlZENhbGxiYWNrYDogUnVuIGVhY2ggdGltZSB0aGUgZWxlbWVudCBpcyBkaXNjb25uZWN0ZWQgZnJvbQogICAqICAgdGhlIGRvY3VtZW50CiAgICogLSBgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrYDogUnVuIGVhY2ggdGltZSBhbiBhdHRyaWJ1dGUgaW4KICAgKiAgIGBvYnNlcnZlZEF0dHJpYnV0ZXNgIGlzIHNldCBvciByZW1vdmVkIChub3RlOiB0aGlzIGVsZW1lbnQncyBkZWZhdWx0CiAgICogICBgb2JzZXJ2ZWRBdHRyaWJ1dGVzYCBpbXBsZW1lbnRhdGlvbiB3aWxsIGF1dG9tYXRpY2FsbHkgcmV0dXJuIGFuIGFycmF5CiAgICogICBvZiBkYXNoLWNhc2VkIGF0dHJpYnV0ZXMgYmFzZWQgb24gYHByb3BlcnRpZXNgKQogICAqCiAgICogQG1peGluRnVuY3Rpb24KICAgKiBAcG9seW1lcgogICAqIEBhcHBsaWVzTWl4aW4gUG9seW1lci5Qcm9wZXJ0eUVmZmVjdHMKICAgKiBAYXBwbGllc01peGluIFBvbHltZXIuUHJvcGVydGllc01peGluCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAcHJvcGVydHkgcm9vdFBhdGgge3N0cmluZ30gU2V0IHRvIHRoZSB2YWx1ZSBvZiBgUG9seW1lci5yb290UGF0aGAsCiAgICogICB3aGljaCBkZWZhdWx0cyB0byB0aGUgbWFpbiBkb2N1bWVudCBwYXRoCiAgICogQHByb3BlcnR5IGltcG9ydFBhdGgge3N0cmluZ30gU2V0IHRvIHRoZSB2YWx1ZSBvZiB0aGUgY2xhc3MncyBzdGF0aWMKICAgKiAgIGBpbXBvcnRQYXRoYCBwcm9wZXJ0eSwgd2hpY2ggZGVmYXVsdHMgdG8gdGhlIHBhdGggb2YgdGhpcyBlbGVtZW50J3MKICAgKiAgIGBkb20tbW9kdWxlYCAod2hlbiBgaXNgIGlzIHVzZWQpLCBidXQgY2FuIGJlIG92ZXJyaWRkZW4gZm9yIG90aGVyCiAgICogICBpbXBvcnQgc3RyYXRlZ2llcy4KICAgKiBAc3VtbWFyeSBFbGVtZW50IGNsYXNzIG1peGluIHRoYXQgcHJvdmlkZXMgdGhlIGNvcmUgQVBJIGZvciBQb2x5bWVyJ3MKICAgKiBtZXRhLXByb2dyYW1taW5nIGZlYXR1cmVzLgogICAqLwogIFBvbHltZXIuRWxlbWVudE1peGluID0gUG9seW1lci5kZWR1cGluZ01peGluKGJhc2UgPT4gewoKICAgIC8qKgogICAgICogQGNvbnN0cnVjdG9yCiAgICAgKiBAZXh0ZW5kcyB7YmFzZX0KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX1Byb3BlcnR5RWZmZWN0c30KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX1Byb3BlcnRpZXNNaXhpbn0KICAgICAqIEBwcml2YXRlCiAgICAgKi8KICAgIGNvbnN0IHBvbHltZXJFbGVtZW50QmFzZSA9IFBvbHltZXIuUHJvcGVydGllc01peGluKFBvbHltZXIuUHJvcGVydHlFZmZlY3RzKGJhc2UpKTsKCiAgICAvKioKICAgICAqIFJldHVybnMgYSBsaXN0IG9mIHByb3BlcnRpZXMgd2l0aCBkZWZhdWx0IHZhbHVlcy4KICAgICAqIFRoaXMgbGlzdCBpcyBjcmVhdGVkIGFzIGFuIG9wdGltaXphdGlvbiBzaW5jZSBpdCBpcyBhIHN1YnNldCBvZgogICAgICogdGhlIGxpc3QgcmV0dXJuZWQgZnJvbSBgX3Byb3BlcnRpZXNgLgogICAgICogVGhpcyBsaXN0IGlzIHVzZWQgaW4gYF9pbml0aWFsaXplUHJvcGVydGllc2AgdG8gc2V0IHByb3BlcnR5IGRlZmF1bHRzLgogICAgICoKICAgICAqIEBwYXJhbSB7UG9seW1lckVsZW1lbnRDb25zdHJ1Y3Rvcn0gY29uc3RydWN0b3IgRWxlbWVudCBjbGFzcwogICAgICogQHJldHVybiB7UG9seW1lckVsZW1lbnRQcm9wZXJ0aWVzfSBGbGF0dGVuZWQgcHJvcGVydGllcyBmb3IgdGhpcyBjbGFzcwogICAgICogICB0aGF0IGhhdmUgZGVmYXVsdCB2YWx1ZXMKICAgICAqIEBwcml2YXRlCiAgICAgKi8KICAgIGZ1bmN0aW9uIHByb3BlcnR5RGVmYXVsdHMoY29uc3RydWN0b3IpIHsKICAgICAgaWYgKCFjb25zdHJ1Y3Rvci5oYXNPd25Qcm9wZXJ0eSgKICAgICAgICBKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCdfX3Byb3BlcnR5RGVmYXVsdHMnLCBjb25zdHJ1Y3RvcikpKSB7CiAgICAgICAgY29uc3RydWN0b3IuX19wcm9wZXJ0eURlZmF1bHRzID0gbnVsbDsKICAgICAgICBsZXQgcHJvcHMgPSBjb25zdHJ1Y3Rvci5fcHJvcGVydGllczsKICAgICAgICBmb3IgKGxldCBwIGluIHByb3BzKSB7CiAgICAgICAgICBsZXQgaW5mbyA9IHByb3BzW3BdOwogICAgICAgICAgaWYgKCd2YWx1ZScgaW4gaW5mbykgewogICAgICAgICAgICBjb25zdHJ1Y3Rvci5fX3Byb3BlcnR5RGVmYXVsdHMgPSBjb25zdHJ1Y3Rvci5fX3Byb3BlcnR5RGVmYXVsdHMgfHwge307CiAgICAgICAgICAgIGNvbnN0cnVjdG9yLl9fcHJvcGVydHlEZWZhdWx0c1twXSA9IGluZm87CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBjb25zdHJ1Y3Rvci5fX3Byb3BlcnR5RGVmYXVsdHM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgbWVtb2l6ZWQgdmVyc2lvbiBvZiB0aGUgYG9ic2VydmVyc2AgYXJyYXkuCiAgICAgKiBAcGFyYW0ge1BvbHltZXJFbGVtZW50Q29uc3RydWN0b3J9IGNvbnN0cnVjdG9yIEVsZW1lbnQgY2xhc3MKICAgICAqIEByZXR1cm4ge0FycmF5fSBBcnJheSBjb250YWluaW5nIG93biBvYnNlcnZlcnMgZm9yIHRoZSBnaXZlbiBjbGFzcwogICAgICogQHByb3RlY3RlZAogICAgICovCiAgICBmdW5jdGlvbiBvd25PYnNlcnZlcnMoY29uc3RydWN0b3IpIHsKICAgICAgaWYgKCFjb25zdHJ1Y3Rvci5oYXNPd25Qcm9wZXJ0eSgKICAgICAgICBKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCdfX293bk9ic2VydmVycycsIGNvbnN0cnVjdG9yKSkpIHsKICAgICAgICAgIGNvbnN0cnVjdG9yLl9fb3duT2JzZXJ2ZXJzID0KICAgICAgICAgIGNvbnN0cnVjdG9yLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoJ29ic2VydmVycycsIGNvbnN0cnVjdG9yKSkgPwogICAgICAgICAgLyoqIEB0eXBlIHtQb2x5bWVyRWxlbWVudENvbnN0cnVjdG9yfSAqLyAoY29uc3RydWN0b3IpLm9ic2VydmVycyA6IG51bGw7CiAgICAgIH0KICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yLl9fb3duT2JzZXJ2ZXJzOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlcyBlZmZlY3RzIGZvciBhIHByb3BlcnR5LgogICAgICoKICAgICAqIE5vdGUsIG9uY2UgYSBwcm9wZXJ0eSBoYXMgYmVlbiBzZXQgdG8KICAgICAqIGByZWFkT25seWAsIGBjb21wdXRlZGAsIGByZWZsZWN0VG9BdHRyaWJ1dGVgLCBvciBgbm90aWZ5YAogICAgICogdGhlc2UgdmFsdWVzIG1heSBub3QgYmUgY2hhbmdlZC4gRm9yIGV4YW1wbGUsIGEgc3ViY2xhc3MgY2Fubm90CiAgICAgKiBhbHRlciB0aGVzZSBzZXR0aW5ncy4gSG93ZXZlciwgYWRkaXRpb25hbCBgb2JzZXJ2ZXJzYCBtYXkgYmUgYWRkZWQKICAgICAqIGJ5IHN1YmNsYXNzZXMuCiAgICAgKgogICAgICogVGhlIGluZm8gb2JqZWN0IHNob3VsZCBjb250YWluIHByb3BlcnR5IG1ldGFkYXRhIGFzIGZvbGxvd3M6CiAgICAgKgogICAgICogKiBgdHlwZWA6IHtmdW5jdGlvbn0gdHlwZSB0byB3aGljaCBhbiBhdHRyaWJ1dGUgbWF0Y2hpbmcgdGhlIHByb3BlcnR5CiAgICAgKiBpcyBkZXNlcmlhbGl6ZWQuIE5vdGUgdGhlIHByb3BlcnR5IGlzIGNhbWVsLWNhc2VkIGZyb20gYSBkYXNoLWNhc2VkCiAgICAgKiBhdHRyaWJ1dGUuIEZvciBleGFtcGxlLCAnZm9vLWJhcicgYXR0cmlidXRlIGlzIGRlc2VyaWFsaXplZCB0byBhCiAgICAgKiBwcm9wZXJ0eSBuYW1lZCAnZm9vQmFyJy4KICAgICAqCiAgICAgKiAqIGByZWFkT25seWA6IHtib29sZWFufSBjcmVhdGVzIGEgcmVhZE9ubHkgcHJvcGVydHkgYW5kCiAgICAgKiBtYWtlcyBhIHByaXZhdGUgc2V0dGVyIGZvciB0aGUgcHJpdmF0ZSBvZiB0aGUgZm9ybSAnX3NldEZvbycgZm9yIGEKICAgICAqIHByb3BlcnR5ICdmb28nLAogICAgICoKICAgICAqICogYGNvbXB1dGVkYDoge3N0cmluZ30gY3JlYXRlcyBhIGNvbXB1dGVkIHByb3BlcnR5LiBBIGNvbXB1dGVkIHByb3BlcnR5CiAgICAgKiBpcyBhbHNvIGF1dG9tYXRpY2FsbHkgc2V0IHRvIGByZWFkT25seTogdHJ1ZWAuIFRoZSB2YWx1ZSBpcyBjYWxjdWxhdGVkCiAgICAgKiBieSBydW5uaW5nIGEgbWV0aG9kIGFuZCBhcmd1bWVudHMgcGFyc2VkIGZyb20gdGhlIGdpdmVuIHN0cmluZy4gRm9yCiAgICAgKiBleGFtcGxlICdjb21wdXRlKGZvbyknIHdpbGwgY29tcHV0ZSBhIGdpdmVuIHByb3BlcnR5IHdoZW4gdGhlCiAgICAgKiAnZm9vJyBwcm9wZXJ0eSBjaGFuZ2VzIGJ5IGV4ZWN1dGluZyB0aGUgJ2NvbXB1dGUnIG1ldGhvZC4gVGhpcyBtZXRob2QKICAgICAqIG11c3QgcmV0dXJuIHRoZSBjb21wdXRlZCB2YWx1ZS4KICAgICAqCiAgICAgKiAqIGByZWZsZWN0VG9BdHRyaWJ1dGVgOiB7Ym9vbGVhbn0gSWYgdHJ1ZSwgdGhlIHByb3BlcnR5IHZhbHVlIGlzIHJlZmxlY3RlZAogICAgICogdG8gYW4gYXR0cmlidXRlIG9mIHRoZSBzYW1lIG5hbWUuIE5vdGUsIHRoZSBhdHRyaWJ1dGUgaXMgZGFzaC1jYXNlZAogICAgICogc28gYSBwcm9wZXJ0eSBuYW1lZCAnZm9vQmFyJyBpcyByZWZsZWN0ZWQgYXMgJ2Zvby1iYXInLgogICAgICoKICAgICAqICogYG5vdGlmeWA6IHtib29sZWFufSBzZW5kcyBhIG5vbi1idWJibGluZyBub3RpZmljYXRpb24gZXZlbnQgd2hlbgogICAgICogdGhlIHByb3BlcnR5IGNoYW5nZXMuIEZvciBleGFtcGxlLCBhIHByb3BlcnR5IG5hbWVkICdmb28nIHNlbmRzIGFuCiAgICAgKiBldmVudCBuYW1lZCAnZm9vLWNoYW5nZWQnIHdpdGggYGV2ZW50LmRldGFpbGAgc2V0IHRvIHRoZSB2YWx1ZSBvZgogICAgICogdGhlIHByb3BlcnR5LgogICAgICoKICAgICAqICogb2JzZXJ2ZXI6IHtzdHJpbmd9IG5hbWUgb2YgYSBtZXRob2QgdGhhdCBydW5zIHdoZW4gdGhlIHByb3BlcnR5CiAgICAgKiBjaGFuZ2VzLiBUaGUgYXJndW1lbnRzIG9mIHRoZSBtZXRob2QgYXJlICh2YWx1ZSwgcHJldmlvdXNWYWx1ZSkuCiAgICAgKgogICAgICogTm90ZTogVXNlcnMgbWF5IHdhbnQgY29udHJvbCBvdmVyIG1vZGlmeWluZyBwcm9wZXJ0eQogICAgICogZWZmZWN0cyB2aWEgc3ViY2xhc3NpbmcuIEZvciBleGFtcGxlLCBhIHVzZXIgbWlnaHQgd2FudCB0byBtYWtlIGEKICAgICAqIHJlZmxlY3RUb0F0dHJpYnV0ZSBwcm9wZXJ0eSBub3QgZG8gc28gaW4gYSBzdWJjbGFzcy4gV2UndmUgY2hvc2VuIHRvCiAgICAgKiBkaXNhYmxlIHRoaXMgYmVjYXVzZSBpdCBsZWFkcyB0byBhZGRpdGlvbmFsIGNvbXBsaWNhdGlvbi4KICAgICAqIEZvciBleGFtcGxlLCBhIHJlYWRPbmx5IGVmZmVjdCBnZW5lcmF0ZXMgYSBzcGVjaWFsIHNldHRlci4gSWYgYSBzdWJjbGFzcwogICAgICogZGlzYWJsZXMgdGhlIGVmZmVjdCwgdGhlIHNldHRlciB3b3VsZCBmYWlsIHVuZXhwZWN0ZWRseS4KICAgICAqIEJhc2VkIG9uIGZlZWRiYWNrLCB3ZSBtYXkgd2FudCB0byB0cnkgdG8gbWFrZSBlZmZlY3RzIG1vcmUgbWFsbGVhYmxlCiAgICAgKiBhbmQvb3IgcHJvdmlkZSBhbiBhZHZhbmNlZCBhcGkgZm9yIG1hbmlwdWxhdGluZyB0aGVtLgogICAgICogQWxzbyBjb25zaWRlciBhZGRpbmcgd2FybmluZ3Mgd2hlbiBhbiBlZmZlY3QgY2Fubm90IGJlIGNoYW5nZWQuCiAgICAgKgogICAgICogQHBhcmFtIHshUG9seW1lckVsZW1lbnR9IHByb3RvIEVsZW1lbnQgY2xhc3MgcHJvdG90eXBlIHRvIGFkZCBhY2Nlc3NvcnMKICAgICAqICAgYW5kIGVmZmVjdHMgdG8KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIE5hbWUgb2YgdGhlIHByb3BlcnR5LgogICAgICogQHBhcmFtIHtPYmplY3R9IGluZm8gSW5mbyBvYmplY3QgZnJvbSB3aGljaCB0byBjcmVhdGUgcHJvcGVydHkgZWZmZWN0cy4KICAgICAqIFN1cHBvcnRlZCBrZXlzOgogICAgICogQHBhcmFtIHtPYmplY3R9IGFsbFByb3BzIEZsYXR0ZW5lZCBtYXAgb2YgYWxsIHByb3BlcnRpZXMgZGVmaW5lZCBpbiB0aGlzCiAgICAgKiAgIGVsZW1lbnQgKGluY2x1ZGluZyBpbmhlcml0ZWQgcHJvcGVydGllcykKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBmdW5jdGlvbiBjcmVhdGVQcm9wZXJ0eUZyb21Db25maWcocHJvdG8sIG5hbWUsIGluZm8sIGFsbFByb3BzKSB7CiAgICAgIC8vIGNvbXB1dGVkIGZvcmNlcyByZWFkT25seS4uLgogICAgICBpZiAoaW5mby5jb21wdXRlZCkgewogICAgICAgIGluZm8ucmVhZE9ubHkgPSB0cnVlOwogICAgICB9CiAgICAgIC8vIE5vdGUsIHNpbmNlIGFsbCBjb21wdXRlZCBwcm9wZXJ0aWVzIGFyZSByZWFkT25seSwgdGhpcyBwcmV2ZW50cwogICAgICAvLyBhZGRpbmcgYWRkaXRpb25hbCBjb21wdXRlZCBwcm9wZXJ0eSBlZmZlY3RzICh3aGljaCBsZWFkcyB0byBhIGNvbmZ1c2luZwogICAgICAvLyBzZXR1cCB3aGVyZSBtdWx0aXBsZSB0cmlnZ2VycyBmb3Igc2V0dGluZyBhIHByb3BlcnR5KQogICAgICAvLyBXaGlsZSB3ZSBkbyBoYXZlIGBoYXNDb21wdXRlZEVmZmVjdGAgdGhpcyBpcyBzZXQgb24gdGhlIHByb3BlcnR5J3MKICAgICAgLy8gZGVwZW5kZW5jaWVzIHJhdGhlciB0aGFuIGl0c2VsZi4KICAgICAgaWYgKGluZm8uY29tcHV0ZWQgJiYgIXByb3RvLl9oYXNSZWFkT25seUVmZmVjdChuYW1lKSkgewogICAgICAgIHByb3RvLl9jcmVhdGVDb21wdXRlZFByb3BlcnR5KG5hbWUsIGluZm8uY29tcHV0ZWQsIGFsbFByb3BzKTsKICAgICAgfQogICAgICBpZiAoaW5mby5yZWFkT25seSAmJiAhcHJvdG8uX2hhc1JlYWRPbmx5RWZmZWN0KG5hbWUpKSB7CiAgICAgICAgcHJvdG8uX2NyZWF0ZVJlYWRPbmx5UHJvcGVydHkobmFtZSwgIWluZm8uY29tcHV0ZWQpOwogICAgICB9CiAgICAgIGlmIChpbmZvLnJlZmxlY3RUb0F0dHJpYnV0ZSAmJiAhcHJvdG8uX2hhc1JlZmxlY3RFZmZlY3QobmFtZSkpIHsKICAgICAgICBwcm90by5fY3JlYXRlUmVmbGVjdGVkUHJvcGVydHkobmFtZSk7CiAgICAgIH0KICAgICAgaWYgKGluZm8ubm90aWZ5ICYmICFwcm90by5faGFzTm90aWZ5RWZmZWN0KG5hbWUpKSB7CiAgICAgICAgcHJvdG8uX2NyZWF0ZU5vdGlmeWluZ1Byb3BlcnR5KG5hbWUpOwogICAgICB9CiAgICAgIC8vIGFsd2F5cyBhZGQgb2JzZXJ2ZXIKICAgICAgaWYgKGluZm8ub2JzZXJ2ZXIpIHsKICAgICAgICBwcm90by5fY3JlYXRlUHJvcGVydHlPYnNlcnZlcihuYW1lLCBpbmZvLm9ic2VydmVyLCBhbGxQcm9wc1tpbmZvLm9ic2VydmVyXSk7CiAgICAgIH0KICAgICAgLy8gYWx3YXlzIGNyZWF0ZSB0aGUgbWFwcGluZyBmcm9tIGF0dHJpYnV0ZSBiYWNrIHRvIHByb3BlcnR5IGZvciBkZXNlcmlhbGl6YXRpb24uCiAgICAgIHByb3RvLl9hZGRQcm9wZXJ0eVRvQXR0cmlidXRlTWFwKG5hbWUpOwogICAgfQoKICAgIC8qKgogICAgICogUHJvY2VzcyBhbGwgc3R5bGUgZWxlbWVudHMgaW4gdGhlIGVsZW1lbnQgdGVtcGxhdGUuIFN0eWxlcyB3aXRoIHRoZQogICAgICogYGluY2x1ZGVgIGF0dHJpYnV0ZSBhcmUgcHJvY2Vzc2VkIHN1Y2ggdGhhdCBhbnkgc3R5bGVzIGluCiAgICAgKiB0aGUgYXNzb2NpYXRlZCAic3R5bGUgbW9kdWxlcyIgYXJlIGluY2x1ZGVkIGluIHRoZSBlbGVtZW50IHRlbXBsYXRlLgogICAgICogQHBhcmFtIHtQb2x5bWVyRWxlbWVudENvbnN0cnVjdG9yfSBrbGFzcyBFbGVtZW50IGNsYXNzCiAgICAgKiBAcGFyYW0geyFIVE1MVGVtcGxhdGVFbGVtZW50fSB0ZW1wbGF0ZSBUZW1wbGF0ZSB0byBwcm9jZXNzCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gaXMgTmFtZSBvZiBlbGVtZW50CiAgICAgKiBAcGFyYW0ge3N0cmluZ30gYmFzZVVSSSBCYXNlIFVSSSBmb3IgZWxlbWVudAogICAgICogQHByaXZhdGUKICAgICAqLwogICAgZnVuY3Rpb24gcHJvY2Vzc0VsZW1lbnRTdHlsZXMoa2xhc3MsIHRlbXBsYXRlLCBpcywgYmFzZVVSSSkgewogICAgICBpZiAoIWJ1aWx0Q1NTKSB7CiAgICAgICAgY29uc3QgdGVtcGxhdGVTdHlsZXMgPSB0ZW1wbGF0ZS5jb250ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3N0eWxlJyk7CiAgICAgICAgY29uc3Qgc3R5bGVzV2l0aEltcG9ydHMgPSBQb2x5bWVyLlN0eWxlR2F0aGVyLnN0eWxlc0Zyb21UZW1wbGF0ZSh0ZW1wbGF0ZSk7CiAgICAgICAgLy8gaW5zZXJ0IHN0eWxlcyBmcm9tIDxsaW5rIHJlbD0iaW1wb3J0IiB0eXBlPSJjc3MiPiBhdCB0aGUgdG9wIG9mIHRoZSB0ZW1wbGF0ZQogICAgICAgIGNvbnN0IGxpbmtlZFN0eWxlcyA9IFBvbHltZXIuU3R5bGVHYXRoZXIuc3R5bGVzRnJvbU1vZHVsZUltcG9ydHMoaXMpOwogICAgICAgIGNvbnN0IGZpcnN0VGVtcGxhdGVDaGlsZCA9IHRlbXBsYXRlLmNvbnRlbnQuZmlyc3RFbGVtZW50Q2hpbGQ7CiAgICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgbGlua2VkU3R5bGVzLmxlbmd0aDsgaWR4KyspIHsKICAgICAgICAgIGxldCBzID0gbGlua2VkU3R5bGVzW2lkeF07CiAgICAgICAgICBzLnRleHRDb250ZW50ID0ga2xhc3MuX3Byb2Nlc3NTdHlsZVRleHQocy50ZXh0Q29udGVudCwgYmFzZVVSSSk7CiAgICAgICAgICB0ZW1wbGF0ZS5jb250ZW50Lmluc2VydEJlZm9yZShzLCBmaXJzdFRlbXBsYXRlQ2hpbGQpOwogICAgICAgIH0KICAgICAgICAvLyBrZWVwIHRyYWNrIG9mIHRoZSBsYXN0ICJjb25jcmV0ZSIgc3R5bGUgaW4gdGhlIHRlbXBsYXRlIHdlIGhhdmUgZW5jb3VudGVyZWQKICAgICAgICBsZXQgdGVtcGxhdGVTdHlsZUluZGV4ID0gMDsKICAgICAgICAvLyBlbnN1cmUgYWxsIGdhdGhlcmVkIHN0eWxlcyBhcmUgYWN0dWFsbHkgaW4gdGhpcyB0ZW1wbGF0ZS4KICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0eWxlc1dpdGhJbXBvcnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBsZXQgcyA9IHN0eWxlc1dpdGhJbXBvcnRzW2ldOwogICAgICAgICAgbGV0IHRlbXBsYXRlU3R5bGUgPSB0ZW1wbGF0ZVN0eWxlc1t0ZW1wbGF0ZVN0eWxlSW5kZXhdOwogICAgICAgICAgLy8gaWYgdGhlIHN0eWxlIGlzIG5vdCBpbiB0aGlzIHRlbXBsYXRlLCBpdCdzIGJlZW4gImluY2x1ZGVkIiBhbmQKICAgICAgICAgIC8vIHdlIHB1dCBhIGNsb25lIG9mIGl0IGluIHRoZSB0ZW1wbGF0ZSBiZWZvcmUgdGhlIHN0eWxlIHRoYXQgaW5jbHVkZWQgaXQKICAgICAgICAgIGlmICh0ZW1wbGF0ZVN0eWxlICE9PSBzKSB7CiAgICAgICAgICAgIHMgPSBzLmNsb25lTm9kZSh0cnVlKTsKICAgICAgICAgICAgdGVtcGxhdGVTdHlsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0ZW1wbGF0ZVN0eWxlKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRlbXBsYXRlU3R5bGVJbmRleCsrOwogICAgICAgICAgfQogICAgICAgICAgcy50ZXh0Q29udGVudCA9IGtsYXNzLl9wcm9jZXNzU3R5bGVUZXh0KHMudGV4dENvbnRlbnQsIGJhc2VVUkkpOwogICAgICAgIH0KICAgICAgfQogICAgICBpZiAod2luZG93LlNoYWR5Q1NTKSB7CiAgICAgICAgd2luZG93LlNoYWR5Q1NTLnByZXBhcmVUZW1wbGF0ZSh0ZW1wbGF0ZSwgaXMpOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBMb29rIHVwIHRlbXBsYXRlIGZyb20gZG9tLW1vZHVsZSBmb3IgZWxlbWVudAogICAgICoKICAgICAqIEBwYXJhbSB7IXN0cmluZ30gaXMgRWxlbWVudCBuYW1lIHRvIGxvb2sgdXAKICAgICAqIEByZXR1cm4geyFIVE1MVGVtcGxhdGVFbGVtZW50fSBUZW1wbGF0ZSBmb3VuZCBpbiBkb20gbW9kdWxlLCBvcgogICAgICogICB1bmRlZmluZWQgaWYgbm90IGZvdW5kCiAgICAgKiBAcHJvdGVjdGVkCiAgICAgKi8KICAgIGZ1bmN0aW9uIGdldFRlbXBsYXRlRnJvbURvbU1vZHVsZShpcykgewogICAgICBsZXQgdGVtcGxhdGUgPSBudWxsOwogICAgICBpZiAoaXMgJiYgUG9seW1lci5Eb21Nb2R1bGUpIHsKICAgICAgICB0ZW1wbGF0ZSA9IFBvbHltZXIuRG9tTW9kdWxlLmltcG9ydChpcywgJ3RlbXBsYXRlJyk7CiAgICAgICAgLy8gVW5kZXIgc3RyaWN0VGVtcGxhdGVQb2xpY3ksIHJlcXVpcmUgYW55IGVsZW1lbnQgd2l0aCBhbiBgaXNgCiAgICAgICAgLy8gc3BlY2lmaWVkIHRvIGhhdmUgYSBkb20tbW9kdWxlCiAgICAgICAgaWYgKFBvbHltZXIuc3RyaWN0VGVtcGxhdGVQb2xpY3kgJiYgIXRlbXBsYXRlKSB7CiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHN0cmljdFRlbXBsYXRlUG9saWN5OiBleHBlY3RpbmcgZG9tLW1vZHVsZSBvciBudWxsIHRlbXBsYXRlIGZvciAke2lzfWApOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gdGVtcGxhdGU7CiAgICB9CgogIC8qKgogICAgICogQHBvbHltZXIKICAgICAqIEBtaXhpbkNsYXNzCiAgICAgKiBAdW5yZXN0cmljdGVkCiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9FbGVtZW50TWl4aW59CiAgICAgKi8KICAgIGNsYXNzIFBvbHltZXJFbGVtZW50IGV4dGVuZHMgcG9seW1lckVsZW1lbnRCYXNlIHsKCiAgICAgIC8qKgogICAgICAgKiBPdmVycmlkZSBvZiBQcm9wZXJ0aWVzTWl4aW4gX2ZpbmFsaXplQ2xhc3MgdG8gY3JlYXRlIG9ic2VydmVycyBhbmQKICAgICAgICogZmluZCB0aGUgdGVtcGxhdGUuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICogQG92ZXJyaWRlCiAgICAgICAqIEBzdXBwcmVzcyB7bWlzc2luZ1Byb3BlcnRpZXN9IEludGVyZmFjZXMgaW4gY2xvc3VyZSBkbyBub3QgaW5oZXJpdCBzdGF0aWNzLCBidXQgY2xhc3NlcyBkbwogICAgICAgKi8KICAgICAgc3RhdGljIF9maW5hbGl6ZUNsYXNzKCkgewogICAgICAgIHN1cGVyLl9maW5hbGl6ZUNsYXNzKCk7CiAgICAgICAgY29uc3Qgb2JzZXJ2ZXJzID0gb3duT2JzZXJ2ZXJzKHRoaXMpOwogICAgICAgIGlmIChvYnNlcnZlcnMpIHsKICAgICAgICAgIHRoaXMuY3JlYXRlT2JzZXJ2ZXJzKG9ic2VydmVycywgdGhpcy5fcHJvcGVydGllcyk7CiAgICAgICAgfQogICAgICAgIHRoaXMuX3ByZXBhcmVUZW1wbGF0ZSgpOwogICAgICB9CgogICAgICBzdGF0aWMgX3ByZXBhcmVUZW1wbGF0ZSgpIHsKICAgICAgICAvLyBub3RlOiBjcmVhdGUgIndvcmtpbmciIHRlbXBsYXRlIHRoYXQgaXMgZmluYWxpemVkIGF0IGluc3RhbmNlIHRpbWUKICAgICAgICBsZXQgdGVtcGxhdGUgPSAvKiogQHR5cGUge1BvbHltZXJFbGVtZW50Q29uc3RydWN0b3J9ICovICh0aGlzKS50ZW1wbGF0ZTsKICAgICAgICBpZiAodGVtcGxhdGUpIHsKICAgICAgICAgIGlmICh0eXBlb2YgdGVtcGxhdGUgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgIGxldCB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGVtcGxhdGUnKTsKICAgICAgICAgICAgdC5pbm5lckhUTUwgPSB0ZW1wbGF0ZTsKICAgICAgICAgICAgdGVtcGxhdGUgPSB0OwogICAgICAgICAgfSBlbHNlIGlmICghUG9seW1lci5sZWdhY3lPcHRpbWl6YXRpb25zKSB7CiAgICAgICAgICAgICB0ZW1wbGF0ZSA9IHRlbXBsYXRlLmNsb25lTm9kZSh0cnVlKTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHRoaXMucHJvdG90eXBlLl90ZW1wbGF0ZSA9IHRlbXBsYXRlOwogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGUgb2YgUHJvcGVydGllc0NoYW5nZWQgY3JlYXRlUHJvcGVydGllcyB0byBjcmVhdGUgYWNjZXNzb3JzCiAgICAgICAqIGFuZCBwcm9wZXJ0eSBlZmZlY3RzIGZvciBhbGwgb2YgdGhlIHByb3BlcnRpZXMuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICogQG92ZXJyaWRlCiAgICAgICAqLwogICAgICBzdGF0aWMgY3JlYXRlUHJvcGVydGllcyhwcm9wcykgewogICAgICAgIGZvciAobGV0IHAgaW4gcHJvcHMpIHsKICAgICAgICAgIGNyZWF0ZVByb3BlcnR5RnJvbUNvbmZpZyh0aGlzLnByb3RvdHlwZSwgcCwgcHJvcHNbcF0sIHByb3BzKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDcmVhdGVzIG9ic2VydmVycyBmb3IgdGhlIGdpdmVuIGBvYnNlcnZlcnNgIGFycmF5LgogICAgICAgKiBMZXZlcmFnZXMgYFByb3BlcnR5RWZmZWN0c2AgdG8gY3JlYXRlIG9ic2VydmVycy4KICAgICAgICogQHBhcmFtIHtPYmplY3R9IG9ic2VydmVycyBBcnJheSBvZiBvYnNlcnZlciBkZXNjcmlwdG9ycyBmb3IKICAgICAgICogICB0aGlzIGNsYXNzCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBkeW5hbWljRm5zIE9iamVjdCBjb250YWluaW5nIGtleXMgZm9yIGFueSBwcm9wZXJ0aWVzCiAgICAgICAqICAgdGhhdCBhcmUgZnVuY3Rpb25zIGFuZCBzaG91bGQgdHJpZ2dlciB0aGUgZWZmZWN0IHdoZW4gdGhlIGZ1bmN0aW9uCiAgICAgICAqICAgcmVmZXJlbmNlIGlzIGNoYW5nZWQKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgc3RhdGljIGNyZWF0ZU9ic2VydmVycyhvYnNlcnZlcnMsIGR5bmFtaWNGbnMpIHsKICAgICAgICBjb25zdCBwcm90byA9IHRoaXMucHJvdG90eXBlOwogICAgICAgIGZvciAobGV0IGk9MDsgaSA8IG9ic2VydmVycy5sZW5ndGg7IGkrKykgewogICAgICAgICAgcHJvdG8uX2NyZWF0ZU1ldGhvZE9ic2VydmVyKG9ic2VydmVyc1tpXSwgZHluYW1pY0Zucyk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyB0aGUgdGVtcGxhdGUgdGhhdCB3aWxsIGJlIHN0YW1wZWQgaW50byB0aGlzIGVsZW1lbnQncyBzaGFkb3cgcm9vdC4KICAgICAgICoKICAgICAgICogSWYgYSBgc3RhdGljIGdldCBpcygpYCBnZXR0ZXIgaXMgZGVmaW5lZCwgdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24KICAgICAgICogd2lsbCByZXR1cm4gdGhlIGZpcnN0IGA8dGVtcGxhdGU+YCBpbiBhIGBkb20tbW9kdWxlYCB3aG9zZSBgaWRgCiAgICAgICAqIG1hdGNoZXMgdGhpcyBlbGVtZW50J3MgYGlzYC4KICAgICAgICoKICAgICAgICogVXNlcnMgbWF5IG92ZXJyaWRlIHRoaXMgZ2V0dGVyIHRvIHJldHVybiBhbiBhcmJpdHJhcnkgdGVtcGxhdGUKICAgICAgICogKGluIHdoaWNoIGNhc2UgdGhlIGBpc2AgZ2V0dGVyIGlzIHVubmVjZXNzYXJ5KS4gVGhlIHRlbXBsYXRlIHJldHVybmVkCiAgICAgICAqIG1heSBiZSBlaXRoZXIgYW4gYEhUTUxUZW1wbGF0ZUVsZW1lbnRgIG9yIGEgc3RyaW5nIHRoYXQgd2lsbCBiZQogICAgICAgKiBhdXRvbWF0aWNhbGx5IHBhcnNlZCBpbnRvIGEgdGVtcGxhdGUuCiAgICAgICAqCiAgICAgICAqIE5vdGUgdGhhdCB3aGVuIHN1YmNsYXNzaW5nLCBpZiB0aGUgc3VwZXIgY2xhc3Mgb3ZlcnJvZGUgdGhlIGRlZmF1bHQKICAgICAgICogaW1wbGVtZW50YXRpb24gYW5kIHRoZSBzdWJjbGFzcyB3b3VsZCBsaWtlIHRvIHByb3ZpZGUgYW4gYWx0ZXJuYXRlCiAgICAgICAqIHRlbXBsYXRlIHZpYSBhIGBkb20tbW9kdWxlYCwgaXQgc2hvdWxkIG92ZXJyaWRlIHRoaXMgZ2V0dGVyIGFuZAogICAgICAgKiByZXR1cm4gYFBvbHltZXIuRG9tTW9kdWxlLmltcG9ydCh0aGlzLmlzLCAndGVtcGxhdGUnKWAuCiAgICAgICAqCiAgICAgICAqIElmIGEgc3ViY2xhc3Mgd291bGQgbGlrZSB0byBtb2RpZnkgdGhlIHN1cGVyIGNsYXNzIHRlbXBsYXRlLCBpdCBzaG91bGQKICAgICAgICogY2xvbmUgaXQgcmF0aGVyIHRoYW4gbW9kaWZ5IGl0IGluIHBsYWNlLiAgSWYgdGhlIGdldHRlciBkb2VzIGV4cGVuc2l2ZQogICAgICAgKiB3b3JrIHN1Y2ggYXMgY2xvbmluZy9tb2RpZnlpbmcgYSB0ZW1wbGF0ZSwgaXQgc2hvdWxkIG1lbW9pemUgdGhlCiAgICAgICAqIHRlbXBsYXRlIGZvciBtYXhpbXVtIHBlcmZvcm1hbmNlOgogICAgICAgKgogICAgICAgKiAgIGxldCBtZW1vaXplZFRlbXBsYXRlOwogICAgICAgKiAgIGNsYXNzIE15U3ViQ2xhc3MgZXh0ZW5kcyBNeVN1cGVyQ2xhc3MgewogICAgICAgKiAgICAgc3RhdGljIGdldCB0ZW1wbGF0ZSgpIHsKICAgICAgICogICAgICAgaWYgKCFtZW1vaXplZFRlbXBsYXRlKSB7CiAgICAgICAqICAgICAgICAgbWVtb2l6ZWRUZW1wbGF0ZSA9IE15U3VwZXJDbGFzcy50ZW1wbGF0ZS5jbG9uZU5vZGUodHJ1ZSk7CiAgICAgICAqICAgICAgICAgbGV0IHN1YkNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICogICAgICAgICBzdWJDb250ZW50LnRleHRDb250ZW50ID0gJ1RoaXMgY2FtZSBmcm9tIE15U3ViQ2xhc3MnOwogICAgICAgKiAgICAgICAgIG1lbW9pemVkVGVtcGxhdGUuY29udGVudC5hcHBlbmRDaGlsZChzdWJDb250ZW50KTsKICAgICAgICogICAgICAgfQogICAgICAgKiAgICAgICByZXR1cm4gbWVtb2l6ZWRUZW1wbGF0ZTsKICAgICAgICogICAgIH0KICAgICAgICogICB9CiAgICAgICAqCiAgICAgICAqIEByZXR1cm4ge0hUTUxUZW1wbGF0ZUVsZW1lbnR8c3RyaW5nfSBUZW1wbGF0ZSB0byBiZSBzdGFtcGVkCiAgICAgICAqLwogICAgICBzdGF0aWMgZ2V0IHRlbXBsYXRlKCkgewogICAgICAgIC8vIEV4cGxhbmF0aW9uIG9mIHRlbXBsYXRlLXJlbGF0ZWQgcHJvcGVydGllczoKICAgICAgICAvLyAtIGNvbnN0cnVjdG9yLnRlbXBsYXRlICh0aGlzIGdldHRlcik6IHRoZSB0ZW1wbGF0ZSBmb3IgdGhlIGNsYXNzLgogICAgICAgIC8vICAgICBUaGlzIGNhbiBjb21lIGZyb20gdGhlIHByb3RvdHlwZSAoZm9yIGxlZ2FjeSBlbGVtZW50cyksIGZyb20gYQogICAgICAgIC8vICAgICBkb20tbW9kdWxlLCBvciBmcm9tIHRoZSBzdXBlciBjbGFzcydzIHRlbXBsYXRlIChvciBjYW4gYmUgb3ZlcnJpZGRlbgogICAgICAgIC8vICAgICBhbHRvZ2V0aGVyIGJ5IHRoZSB1c2VyKQogICAgICAgIC8vIC0gY29uc3RydWN0b3IuX3RlbXBsYXRlOiBtZW1vaXplZCB2ZXJzaW9uIG9mIGNvbnN0cnVjdG9yLnRlbXBsYXRlCiAgICAgICAgLy8gLSBwcm90b3R5cGUuX3RlbXBsYXRlOiB3b3JraW5nIHRlbXBsYXRlIGZvciB0aGUgZWxlbWVudCwgd2hpY2ggd2lsbCBiZQogICAgICAgIC8vICAgICBwYXJzZWQgYW5kIG1vZGlmaWVkIGluIHBsYWNlLiBJdCBpcyBhIGNsb25lZCB2ZXJzaW9uIG9mCiAgICAgICAgLy8gICAgIGNvbnN0cnVjdG9yLnRlbXBsYXRlLCBzYXZlZCBpbiBfZmluYWxpemVDbGFzcygpLiBOb3RlIHRoYXQgYmVmb3JlCiAgICAgICAgLy8gICAgIHRoaXMgZ2V0dGVyIGlzIGNhbGxlZCwgZm9yIGxlZ2FjeSBlbGVtZW50cyB0aGlzIGNvdWxkIGJlIGZyb20gYQogICAgICAgIC8vICAgICBfdGVtcGxhdGUgZmllbGQgb24gdGhlIGluZm8gb2JqZWN0IHBhc3NlZCB0byBQb2x5bWVyKCksIGEgYmVoYXZpb3IsCiAgICAgICAgLy8gICAgIG9yIHNldCBpbiByZWdpc3RlcmVkKCk7IG9uY2UgdGhlIHN0YXRpYyBnZXR0ZXIgcnVucywgYSBjbG9uZSBvZiBpdAogICAgICAgIC8vICAgICB3aWxsIG92ZXJ3cml0ZSBpdCBvbiB0aGUgcHJvdG90eXBlIGFzIHRoZSB3b3JraW5nIHRlbXBsYXRlLgogICAgICAgIGlmICghdGhpcy5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCdfdGVtcGxhdGUnLCB0aGlzKSkpIHsKICAgICAgICAgIHRoaXMuX3RlbXBsYXRlID0KICAgICAgICAgICAgLy8gSWYgdXNlciBoYXMgcHV0IHRlbXBsYXRlIG9uIHByb3RvdHlwZSAoZS5nLiBpbiBsZWdhY3kgdmlhIHJlZ2lzdGVyZWQKICAgICAgICAgICAgLy8gY2FsbGJhY2sgb3IgaW5mbyBvYmplY3QpLCBwcmVmZXIgdGhhdCBmaXJzdAogICAgICAgICAgICB0aGlzLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCdfdGVtcGxhdGUnLCB0aGlzLnByb3RvdHlwZSkpID8KICAgICAgICAgICAgdGhpcy5wcm90b3R5cGUuX3RlbXBsYXRlIDoKICAgICAgICAgICAgLy8gTG9vayBpbiBkb20tbW9kdWxlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGVsZW1lbnQncyBpcwogICAgICAgICAgICAoZ2V0VGVtcGxhdGVGcm9tRG9tTW9kdWxlKC8qKiBAdHlwZSB7UG9seW1lckVsZW1lbnRDb25zdHJ1Y3Rvcn0qLyAodGhpcykuaXMpIHx8CiAgICAgICAgICAgIC8vIE5leHQgbG9vayBmb3Igc3VwZXJjbGFzcyB0ZW1wbGF0ZSAoY2FsbCB0aGUgc3VwZXIgaW1wbCB0aGlzCiAgICAgICAgICAgIC8vIHdheSBzbyB0aGF0IGB0aGlzYCBwb2ludHMgdG8gdGhlIHN1cGVyY2xhc3MpCiAgICAgICAgICAgIE9iamVjdC5nZXRQcm90b3R5cGVPZigvKiogQHR5cGUge1BvbHltZXJFbGVtZW50Q29uc3RydWN0b3J9Ki8gKHRoaXMpLnByb3RvdHlwZSkuY29uc3RydWN0b3IudGVtcGxhdGUpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGU7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBTZXQgdGhlIHRlbXBsYXRlLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyFIVE1MVGVtcGxhdGVFbGVtZW50fHN0cmluZ30gdmFsdWUgVGVtcGxhdGUgdG8gc2V0LgogICAgICAgKi8KICAgICAgc3RhdGljIHNldCB0ZW1wbGF0ZSh2YWx1ZSkgewogICAgICAgIHRoaXMuX3RlbXBsYXRlID0gdmFsdWU7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBQYXRoIG1hdGNoaW5nIHRoZSB1cmwgZnJvbSB3aGljaCB0aGUgZWxlbWVudCB3YXMgaW1wb3J0ZWQuCiAgICAgICAqCiAgICAgICAqIFRoaXMgcGF0aCBpcyB1c2VkIHRvIHJlc29sdmUgdXJsJ3MgaW4gdGVtcGxhdGUgc3R5bGUgY3NzVGV4dC4KICAgICAgICogVGhlIGBpbXBvcnRQYXRoYCBwcm9wZXJ0eSBpcyBhbHNvIHNldCBvbiBlbGVtZW50IGluc3RhbmNlcyBhbmQgY2FuIGJlCiAgICAgICAqIHVzZWQgdG8gY3JlYXRlIGJpbmRpbmdzIHJlbGF0aXZlIHRvIHRoZSBpbXBvcnQgcGF0aC4KICAgICAgICoKICAgICAgICogRm9yIGVsZW1lbnRzIGRlZmluZWQgaW4gRVMgbW9kdWxlcywgdXNlcnMgc2hvdWxkIGltcGxlbWVudAogICAgICAgKiBgc3RhdGljIGdldCBpbXBvcnRNZXRhKCkgeyByZXR1cm4gaW1wb3J0Lm1ldGE7IH1gLCBhbmQgdGhlIGRlZmF1bHQKICAgICAgICogaW1wbGVtZW50YXRpb24gb2YgYGltcG9ydFBhdGhgIHdpbGwgIHJldHVybiBgaW1wb3J0Lm1ldGEudXJsYCdzIHBhdGguCiAgICAgICAqIEZvciBlbGVtZW50cyBkZWZpbmVkIGluIEhUTUwgaW1wb3J0cywgdGhpcyBnZXR0ZXIgd2lsbCByZXR1cm4gdGhlIHBhdGgKICAgICAgICogdG8gdGhlIGRvY3VtZW50IGNvbnRhaW5pbmcgYSBgZG9tLW1vZHVsZWAgZWxlbWVudCBtYXRjaGluZyB0aGlzCiAgICAgICAqIGVsZW1lbnQncyBzdGF0aWMgYGlzYCBwcm9wZXJ0eS4KICAgICAgICoKICAgICAgICogTm90ZSwgdGhpcyBwYXRoIHNob3VsZCBjb250YWluIGEgdHJhaWxpbmcgYC9gLgogICAgICAgKgogICAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBpbXBvcnQgcGF0aCBmb3IgdGhpcyBlbGVtZW50IGNsYXNzCiAgICAgICAqIEBzdXBwcmVzcyB7bWlzc2luZ1Byb3BlcnRpZXN9CiAgICAgICAqLwogICAgICBzdGF0aWMgZ2V0IGltcG9ydFBhdGgoKSB7CiAgICAgICAgaWYgKCF0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoJ19pbXBvcnRQYXRoJywgdGhpcykpKSB7CiAgICAgICAgICBjb25zdCBtZXRhID0gdGhpcy5pbXBvcnRNZXRhOwogICAgICAgICAgaWYgKG1ldGEpIHsKICAgICAgICAgICAgdGhpcy5faW1wb3J0UGF0aCA9IFBvbHltZXIuUmVzb2x2ZVVybC5wYXRoRnJvbVVybChtZXRhLnVybCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb25zdCBtb2R1bGUgPSBQb2x5bWVyLkRvbU1vZHVsZSAmJiBQb2x5bWVyLkRvbU1vZHVsZS5pbXBvcnQoLyoqIEB0eXBlIHtQb2x5bWVyRWxlbWVudENvbnN0cnVjdG9yfSAqLyAodGhpcykuaXMpOwogICAgICAgICAgICB0aGlzLl9pbXBvcnRQYXRoID0gKG1vZHVsZSAmJiBtb2R1bGUuYXNzZXRwYXRoKSB8fAogICAgICAgICAgICAgIE9iamVjdC5nZXRQcm90b3R5cGVPZigvKiogQHR5cGUge1BvbHltZXJFbGVtZW50Q29uc3RydWN0b3J9Ki8gKHRoaXMpLnByb3RvdHlwZSkuY29uc3RydWN0b3IuaW1wb3J0UGF0aDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRoaXMuX2ltcG9ydFBhdGg7CiAgICAgIH0KCiAgICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHN1cGVyKCk7CiAgICAgICAgLyoqIEB0eXBlIHtIVE1MVGVtcGxhdGVFbGVtZW50fSAqLwogICAgICAgIHRoaXMuX3RlbXBsYXRlOwogICAgICAgIC8qKiBAdHlwZSB7c3RyaW5nfSAqLwogICAgICAgIHRoaXMuX2ltcG9ydFBhdGg7CiAgICAgICAgLyoqIEB0eXBlIHtzdHJpbmd9ICovCiAgICAgICAgdGhpcy5yb290UGF0aDsKICAgICAgICAvKiogQHR5cGUge3N0cmluZ30gKi8KICAgICAgICB0aGlzLmltcG9ydFBhdGg7CiAgICAgICAgLyoqIEB0eXBlIHtTdGFtcGVkVGVtcGxhdGUgfCBIVE1MRWxlbWVudCB8IFNoYWRvd1Jvb3R9ICovCiAgICAgICAgdGhpcy5yb290OwogICAgICAgIC8qKiBAdHlwZSB7IU9iamVjdDxzdHJpbmcsICFFbGVtZW50Pn0gKi8KICAgICAgICB0aGlzLiQ7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBPdmVycmlkZXMgdGhlIGRlZmF1bHQgYFBvbHltZXIuUHJvcGVydHlBY2Nlc3NvcnNgIHRvIGVuc3VyZSBjbGFzcwogICAgICAgKiBtZXRhcHJvZ3JhbW1pbmcgcmVsYXRlZCB0byBwcm9wZXJ0eSBhY2Nlc3NvcnMgYW5kIGVmZmVjdHMgaGFzCiAgICAgICAqIGNvbXBsZXRlZCAoY2FsbHMgYGZpbmFsaXplYCkuCiAgICAgICAqCiAgICAgICAqIEl0IGFsc28gaW5pdGlhbGl6ZXMgYW55IHByb3BlcnR5IGRlZmF1bHRzIHByb3ZpZGVkIHZpYSBgdmFsdWVgIGluCiAgICAgICAqIGBwcm9wZXJ0aWVzYCBtZXRhZGF0YS4KICAgICAgICoKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQG92ZXJyaWRlCiAgICAgICAqIEBzdXBwcmVzcyB7aW52YWxpZENhc3RzfQogICAgICAgKi8KICAgICAgX2luaXRpYWxpemVQcm9wZXJ0aWVzKCkgewogICAgICAgIHRoaXMuY29uc3RydWN0b3IuZmluYWxpemUoKTsKICAgICAgICAvLyBub3RlOiBmaW5hbGl6ZSB0ZW1wbGF0ZSB3aGVuIHdlIGhhdmUgYWNjZXNzIHRvIGBsb2NhbE5hbWVgIHRvCiAgICAgICAgLy8gYXZvaWQgZGVwZW5kZW5jZSBvbiBgaXNgIGZvciBwb2x5ZmlsbGluZyBzdHlsaW5nLgogICAgICAgIHRoaXMuY29uc3RydWN0b3IuX2ZpbmFsaXplVGVtcGxhdGUoLyoqIEB0eXBlIHshSFRNTEVsZW1lbnR9ICovKHRoaXMpLmxvY2FsTmFtZSk7CiAgICAgICAgc3VwZXIuX2luaXRpYWxpemVQcm9wZXJ0aWVzKCk7CiAgICAgICAgLy8gc2V0IHBhdGggZGVmYXVsdHMKICAgICAgICB0aGlzLnJvb3RQYXRoID0gUG9seW1lci5yb290UGF0aDsKICAgICAgICB0aGlzLmltcG9ydFBhdGggPSB0aGlzLmNvbnN0cnVjdG9yLmltcG9ydFBhdGg7CiAgICAgICAgLy8gYXBwbHkgcHJvcGVydHkgZGVmYXVsdHMuLi4KICAgICAgICBsZXQgcCQgPSBwcm9wZXJ0eURlZmF1bHRzKHRoaXMuY29uc3RydWN0b3IpOwogICAgICAgIGlmICghcCQpIHsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgZm9yIChsZXQgcCBpbiBwJCkgewogICAgICAgICAgbGV0IGluZm8gPSBwJFtwXTsKICAgICAgICAgIC8vIERvbid0IHNldCBkZWZhdWx0IHZhbHVlIGlmIHRoZXJlIGlzIGFscmVhZHkgYW4gb3duIHByb3BlcnR5LCB3aGljaAogICAgICAgICAgLy8gaGFwcGVucyB3aGVuIGEgYHByb3BlcnRpZXNgIHByb3BlcnR5IHdpdGggZGVmYXVsdCBidXQgbm8gZWZmZWN0cyBoYWQKICAgICAgICAgIC8vIGEgcHJvcGVydHkgc2V0IChlLmcuIGJvdW5kKSBieSBpdHMgaG9zdCBiZWZvcmUgdXBncmFkZQogICAgICAgICAgaWYgKCF0aGlzLmhhc093blByb3BlcnR5KHApKSB7CiAgICAgICAgICAgIGxldCB2YWx1ZSA9IHR5cGVvZiBpbmZvLnZhbHVlID09ICdmdW5jdGlvbicgPwogICAgICAgICAgICAgIGluZm8udmFsdWUuY2FsbCh0aGlzKSA6CiAgICAgICAgICAgICAgaW5mby52YWx1ZTsKICAgICAgICAgICAgLy8gU2V0IHZpYSBgX3NldFByb3BlcnR5YCBpZiB0aGVyZSBpcyBhbiBhY2Nlc3NvciwgdG8gZW5hYmxlCiAgICAgICAgICAgIC8vIGluaXRpYWxpemluZyByZWFkT25seSBwcm9wZXJ0eSBkZWZhdWx0cwogICAgICAgICAgICBpZiAodGhpcy5faGFzQWNjZXNzb3IocCkpIHsKICAgICAgICAgICAgICB0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHkocCwgdmFsdWUsIHRydWUpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHRoaXNbcF0gPSB2YWx1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEdhdGhlciBzdHlsZSB0ZXh0IGZvciBhIHN0eWxlIGVsZW1lbnQgaW4gdGhlIHRlbXBsYXRlLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gY3NzVGV4dCBUZXh0IGNvbnRhaW5pbmcgc3R5bGluZyB0byBwcm9jZXNzCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlVVJJIEJhc2UgVVJJIHRvIHJlYmFzZSBDU1MgcGF0aHMgYWdhaW5zdAogICAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBwcm9jZXNzZWQgQ1NTIHRleHQKICAgICAgICogQHByb3RlY3RlZAogICAgICAgKi8KICAgICAgc3RhdGljIF9wcm9jZXNzU3R5bGVUZXh0KGNzc1RleHQsIGJhc2VVUkkpIHsKICAgICAgICByZXR1cm4gUG9seW1lci5SZXNvbHZlVXJsLnJlc29sdmVDc3MoY3NzVGV4dCwgYmFzZVVSSSk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAqIENvbmZpZ3VyZXMgYW4gZWxlbWVudCBgcHJvdG9gIHRvIGZ1bmN0aW9uIHdpdGggYSBnaXZlbiBgdGVtcGxhdGVgLgogICAgICAqIFRoZSBlbGVtZW50IG5hbWUgYGlzYCBhbmQgZXh0ZW5kcyBgZXh0YCBtdXN0IGJlIHNwZWNpZmllZCBmb3IgU2hhZHlDU1MKICAgICAgKiBzdHlsZSBzY29waW5nLgogICAgICAqCiAgICAgICogQHBhcmFtIHtzdHJpbmd9IGlzIFRhZyBuYW1lIChvciB0eXBlIGV4dGVuc2lvbiBuYW1lKSBmb3IgdGhpcyBlbGVtZW50CiAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICovCiAgICAgIHN0YXRpYyBfZmluYWxpemVUZW1wbGF0ZShpcykgewogICAgICAgIC8qKiBAY29uc3Qge0hUTUxUZW1wbGF0ZUVsZW1lbnR9ICovCiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSB0aGlzLnByb3RvdHlwZS5fdGVtcGxhdGU7CiAgICAgICAgaWYgKHRlbXBsYXRlICYmICF0ZW1wbGF0ZS5fX3BvbHltZXJGaW5hbGl6ZWQpIHsKICAgICAgICAgIHRlbXBsYXRlLl9fcG9seW1lckZpbmFsaXplZCA9IHRydWU7CiAgICAgICAgICBjb25zdCBpbXBvcnRQYXRoID0gdGhpcy5pbXBvcnRQYXRoOwogICAgICAgICAgY29uc3QgYmFzZVVSSSA9IGltcG9ydFBhdGggPyBQb2x5bWVyLlJlc29sdmVVcmwucmVzb2x2ZVVybChpbXBvcnRQYXRoKSA6ICcnOwogICAgICAgICAgLy8gZS5nLiBzdXBwb3J0IGBpbmNsdWRlPSJtb2R1bGUtbmFtZSJgLCBhbmQgU2hhZHlDU1MKICAgICAgICAgIHByb2Nlc3NFbGVtZW50U3R5bGVzKHRoaXMsIHRlbXBsYXRlLCBpcywgYmFzZVVSSSk7CiAgICAgICAgICB0aGlzLnByb3RvdHlwZS5fYmluZFRlbXBsYXRlKHRlbXBsYXRlKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBQcm92aWRlcyBhIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgdGhlIHN0YW5kYXJkIEN1c3RvbSBFbGVtZW50cwogICAgICAgKiBgY29ubmVjdGVkQ2FsbGJhY2tgLgogICAgICAgKgogICAgICAgKiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBlbmFibGVzIHRoZSBwcm9wZXJ0eSBlZmZlY3RzIHN5c3RlbSBhbmQKICAgICAgICogZmx1c2hlcyBhbnkgcGVuZGluZyBwcm9wZXJ0aWVzLCBhbmQgdXBkYXRlcyBzaGltbWVkIENTUyBwcm9wZXJ0aWVzCiAgICAgICAqIHdoZW4gdXNpbmcgdGhlIFNoYWR5Q1NTIHNjb3BpbmcvY3VzdG9tIHByb3BlcnRpZXMgcG9seWZpbGwuCiAgICAgICAqCiAgICAgICAqIEBzdXBwcmVzcyB7bWlzc2luZ1Byb3BlcnRpZXMsIGludmFsaWRDYXN0c30gU3VwZXIgbWF5IG9yIG1heSBub3QgaW1wbGVtZW50IHRoZSBjYWxsYmFjawogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7CiAgICAgICAgaWYgKHdpbmRvdy5TaGFkeUNTUyAmJiB0aGlzLl90ZW1wbGF0ZSkgewogICAgICAgICAgd2luZG93LlNoYWR5Q1NTLnN0eWxlRWxlbWVudCgvKiogQHR5cGUgeyFIVE1MRWxlbWVudH0gKi8odGhpcykpOwogICAgICAgIH0KICAgICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogU3RhbXBzIHRoZSBlbGVtZW50IHRlbXBsYXRlLgogICAgICAgKgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAb3ZlcnJpZGUKICAgICAgICovCiAgICAgIHJlYWR5KCkgewogICAgICAgIGlmICh0aGlzLl90ZW1wbGF0ZSkgewogICAgICAgICAgdGhpcy5yb290ID0gdGhpcy5fc3RhbXBUZW1wbGF0ZSh0aGlzLl90ZW1wbGF0ZSk7CiAgICAgICAgICB0aGlzLiQgPSB0aGlzLnJvb3QuJDsKICAgICAgICB9CiAgICAgICAgc3VwZXIucmVhZHkoKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEltcGxlbWVudHMgYFByb3BlcnR5RWZmZWN0c2AncyBgX3JlYWR5Q2xpZW50c2AgY2FsbC4gQXR0YWNoZXMKICAgICAgICogZWxlbWVudCBkb20gYnkgY2FsbGluZyBgX2F0dGFjaERvbWAgd2l0aCB0aGUgZG9tIHN0YW1wZWQgZnJvbSB0aGUKICAgICAgICogZWxlbWVudCdzIHRlbXBsYXRlIHZpYSBgX3N0YW1wVGVtcGxhdGVgLiBOb3RlIHRoYXQgdGhpcyBhbGxvd3MKICAgICAgICogY2xpZW50IGRvbSB0byBiZSBhdHRhY2hlZCB0byB0aGUgZWxlbWVudCBwcmlvciB0byBhbnkgb2JzZXJ2ZXJzCiAgICAgICAqIHJ1bm5pbmcuCiAgICAgICAqCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKi8KICAgICAgX3JlYWR5Q2xpZW50cygpIHsKICAgICAgICBpZiAodGhpcy5fdGVtcGxhdGUpIHsKICAgICAgICAgIHRoaXMucm9vdCA9IHRoaXMuX2F0dGFjaERvbSgvKiogQHR5cGUge1N0YW1wZWRUZW1wbGF0ZX0gKi8odGhpcy5yb290KSk7CiAgICAgICAgfQogICAgICAgIC8vIFRoZSBzdXBlci5fcmVhZHlDbGllbnRzIGhlcmUgc2V0cyB0aGUgY2xpZW50cyBpbml0aWFsaXplZCBmbGFnLgogICAgICAgIC8vIFdlIG11c3Qgd2FpdCB0byBkbyB0aGlzIHVudGlsIGFmdGVyIGNsaWVudCBkb20gaXMgY3JlYXRlZC9hdHRhY2hlZAogICAgICAgIC8vIHNvIHRoYXQgdGhpcyBmbGFnIGNhbiBiZSBjaGVja2VkIHRvIHByZXZlbnQgbm90aWZpY2F0aW9ucyBmaXJlZAogICAgICAgIC8vIGR1cmluZyB0aGlzIHByb2Nlc3MgZnJvbSBiZWluZyBoYW5kbGVkIGJlZm9yZSBjbGllbnRzIGFyZSByZWFkeS4KICAgICAgICBzdXBlci5fcmVhZHlDbGllbnRzKCk7CiAgICAgIH0KCgogICAgICAvKioKICAgICAgICogQXR0YWNoZXMgYW4gZWxlbWVudCdzIHN0YW1wZWQgZG9tIHRvIGl0c2VsZi4gQnkgZGVmYXVsdCwKICAgICAgICogdGhpcyBtZXRob2QgY3JlYXRlcyBhIGBzaGFkb3dSb290YCBhbmQgYWRkcyB0aGUgZG9tIHRvIGl0LgogICAgICAgKiBIb3dldmVyLCB0aGlzIG1ldGhvZCBtYXkgYmUgb3ZlcnJpZGRlbiB0byBhbGxvdyBhbiBlbGVtZW50CiAgICAgICAqIHRvIHB1dCBpdHMgZG9tIGluIGFub3RoZXIgbG9jYXRpb24uCiAgICAgICAqCiAgICAgICAqIEB0aHJvd3Mge0Vycm9yfQogICAgICAgKiBAc3VwcHJlc3Mge21pc3NpbmdSZXR1cm59CiAgICAgICAqIEBwYXJhbSB7U3RhbXBlZFRlbXBsYXRlfSBkb20gdG8gYXR0YWNoIHRvIHRoZSBlbGVtZW50LgogICAgICAgKiBAcmV0dXJuIHtTaGFkb3dSb290fSBub2RlIHRvIHdoaWNoIHRoZSBkb20gaGFzIGJlZW4gYXR0YWNoZWQuCiAgICAgICAqLwogICAgICBfYXR0YWNoRG9tKGRvbSkgewogICAgICAgIGlmICh0aGlzLmF0dGFjaFNoYWRvdykgewogICAgICAgICAgaWYgKGRvbSkgewogICAgICAgICAgICBpZiAoIXRoaXMuc2hhZG93Um9vdCkgewogICAgICAgICAgICAgIHRoaXMuYXR0YWNoU2hhZG93KHttb2RlOiAnb3Blbid9KTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aGlzLnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZG9tKTsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2hhZG93Um9vdDsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NoYWRvd0RPTSBub3QgYXZhaWxhYmxlLiAnICsKICAgICAgICAgICAgLy8gVE9ETyhzb3J2ZWxsKTogbW92ZSB0byBjb21waWxlLXRpbWUgY29uZGl0aW9uYWwgd2hlbiBzdXBwb3J0ZWQKICAgICAgICAgICdQb2x5bWVyLkVsZW1lbnQgY2FuIGNyZWF0ZSBkb20gYXMgY2hpbGRyZW4gaW5zdGVhZCBvZiBpbiAnICsKICAgICAgICAgICdTaGFkb3dET00gYnkgc2V0dGluZyBgdGhpcy5yb290ID0gdGhpcztcYCBiZWZvcmUgXGByZWFkeVxgLicpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFdoZW4gdXNpbmcgdGhlIFNoYWR5Q1NTIHNjb3BpbmcgYW5kIGN1c3RvbSBwcm9wZXJ0eSBzaGltLCBjYXVzZXMgYWxsCiAgICAgICAqIHNoaW1tZWQgc3R5bGVzIGluIHRoaXMgZWxlbWVudCAoYW5kIGl0cyBzdWJ0cmVlKSB0byBiZSB1cGRhdGVkCiAgICAgICAqIGJhc2VkIG9uIGN1cnJlbnQgY3VzdG9tIHByb3BlcnR5IHZhbHVlcy4KICAgICAgICoKICAgICAgICogVGhlIG9wdGlvbmFsIHBhcmFtZXRlciBvdmVycmlkZXMgaW5saW5lIGN1c3RvbSBwcm9wZXJ0eSBzdHlsZXMgd2l0aCBhbgogICAgICAgKiBvYmplY3Qgb2YgcHJvcGVydGllcyB3aGVyZSB0aGUga2V5cyBhcmUgQ1NTIHByb3BlcnRpZXMsIGFuZCB0aGUgdmFsdWVzCiAgICAgICAqIGFyZSBzdHJpbmdzLgogICAgICAgKgogICAgICAgKiBFeGFtcGxlOiBgdGhpcy51cGRhdGVTdHlsZXMoeyctLWNvbG9yJzogJ2JsdWUnfSlgCiAgICAgICAqCiAgICAgICAqIFRoZXNlIHByb3BlcnRpZXMgYXJlIHJldGFpbmVkIHVubGVzcyBhIHZhbHVlIG9mIGBudWxsYCBpcyBzZXQuCiAgICAgICAqCiAgICAgICAqIE5vdGU6IFRoaXMgZnVuY3Rpb24gZG9lcyBub3Qgc3VwcG9ydCB1cGRhdGluZyBDU1MgbWl4aW5zLgogICAgICAgKiBZb3UgY2FuIG5vdCBkeW5hbWljYWxseSBjaGFuZ2UgdGhlIHZhbHVlIG9mIGFuIGBAYXBwbHlgLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge09iamVjdD19IHByb3BlcnRpZXMgQmFnIG9mIGN1c3RvbSBwcm9wZXJ0eSBrZXkvdmFsdWVzIHRvCiAgICAgICAqICAgYXBwbHkgdG8gdGhpcyBlbGVtZW50LgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAc3VwcHJlc3Mge2ludmFsaWRDYXN0c30KICAgICAgICovCiAgICAgIHVwZGF0ZVN0eWxlcyhwcm9wZXJ0aWVzKSB7CiAgICAgICAgaWYgKHdpbmRvdy5TaGFkeUNTUykgewogICAgICAgICAgd2luZG93LlNoYWR5Q1NTLnN0eWxlU3VidHJlZSgvKiogQHR5cGUgeyFIVE1MRWxlbWVudH0gKi8odGhpcyksIHByb3BlcnRpZXMpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJld3JpdGVzIGEgZ2l2ZW4gVVJMIHJlbGF0aXZlIHRvIGEgYmFzZSBVUkwuIFRoZSBiYXNlIFVSTCBkZWZhdWx0cyB0bwogICAgICAgKiB0aGUgb3JpZ2luYWwgbG9jYXRpb24gb2YgdGhlIGRvY3VtZW50IGNvbnRhaW5pbmcgdGhlIGBkb20tbW9kdWxlYCBmb3IKICAgICAgICogdGhpcyBlbGVtZW50LiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiB0aGUgc2FtZSBVUkwgYmVmb3JlIGFuZCBhZnRlcgogICAgICAgKiBidW5kbGluZy4KICAgICAgICoKICAgICAgICogTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gcGVyZm9ybXMgbm8gcmVzb2x1dGlvbiBmb3IgVVJMcyB0aGF0IHN0YXJ0CiAgICAgICAqIHdpdGggYC9gIChhYnNvbHV0ZSBVUkxzKSBvciBgI2AgKGhhc2ggaWRlbnRpZmllcnMpLiAgRm9yIGdlbmVyYWwgcHVycG9zZQogICAgICAgKiBVUkwgcmVzb2x1dGlvbiwgdXNlIGB3aW5kb3cuVVJMYC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHVybCBVUkwgdG8gcmVzb2x2ZS4KICAgICAgICogQHBhcmFtIHtzdHJpbmc9fSBiYXNlIE9wdGlvbmFsIGJhc2UgVVJMIHRvIHJlc29sdmUgYWdhaW5zdCwgZGVmYXVsdHMKICAgICAgICogdG8gdGhlIGVsZW1lbnQncyBgaW1wb3J0UGF0aGAKICAgICAgICogQHJldHVybiB7c3RyaW5nfSBSZXdyaXR0ZW4gVVJMIHJlbGF0aXZlIHRvIGJhc2UKICAgICAgICovCiAgICAgIHJlc29sdmVVcmwodXJsLCBiYXNlKSB7CiAgICAgICAgaWYgKCFiYXNlICYmIHRoaXMuaW1wb3J0UGF0aCkgewogICAgICAgICAgYmFzZSA9IFBvbHltZXIuUmVzb2x2ZVVybC5yZXNvbHZlVXJsKHRoaXMuaW1wb3J0UGF0aCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBQb2x5bWVyLlJlc29sdmVVcmwucmVzb2x2ZVVybCh1cmwsIGJhc2UpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIGBQcm9wZXJ0eUFjY2Vzc29yc2AgdG8gYWRkIG1hcCBvZiBkeW5hbWljIGZ1bmN0aW9ucyBvbgogICAgICAgKiB0ZW1wbGF0ZSBpbmZvLCBmb3IgY29uc3VtcHRpb24gYnkgYFByb3BlcnR5RWZmZWN0c2AgdGVtcGxhdGUgYmluZGluZwogICAgICAgKiBjb2RlLiBUaGlzIG1hcCBkZXRlcm1pbmVzIHdoaWNoIG1ldGhvZCB0ZW1wbGF0ZXMgc2hvdWxkIGhhdmUgYWNjZXNzb3JzCiAgICAgICAqIGNyZWF0ZWQgZm9yIHRoZW0uCiAgICAgICAqCiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKiBAc3VwcHJlc3Mge21pc3NpbmdQcm9wZXJ0aWVzfSBJbnRlcmZhY2VzIGluIGNsb3N1cmUgZG8gbm90IGluaGVyaXQgc3RhdGljcywgYnV0IGNsYXNzZXMgZG8KICAgICAgICovCiAgICAgIHN0YXRpYyBfcGFyc2VUZW1wbGF0ZUNvbnRlbnQodGVtcGxhdGUsIHRlbXBsYXRlSW5mbywgbm9kZUluZm8pIHsKICAgICAgICB0ZW1wbGF0ZUluZm8uZHluYW1pY0ZucyA9IHRlbXBsYXRlSW5mby5keW5hbWljRm5zIHx8IHRoaXMuX3Byb3BlcnRpZXM7CiAgICAgICAgcmV0dXJuIHN1cGVyLl9wYXJzZVRlbXBsYXRlQ29udGVudCh0ZW1wbGF0ZSwgdGVtcGxhdGVJbmZvLCBub2RlSW5mbyk7CiAgICAgIH0KCiAgICB9CgogICAgcmV0dXJuIFBvbHltZXJFbGVtZW50OwogIH0pOwoKICAvKioKICAgKiBXaGVuIHVzaW5nIHRoZSBTaGFkeUNTUyBzY29waW5nIGFuZCBjdXN0b20gcHJvcGVydHkgc2hpbSwgY2F1c2VzIGFsbAogICAqIHNoaW1tZWQgYHN0eWxlc2AgKHZpYSBgY3VzdG9tLXN0eWxlYCkgaW4gdGhlIGRvY3VtZW50IChhbmQgaXRzIHN1YnRyZWUpCiAgICogdG8gYmUgdXBkYXRlZCBiYXNlZCBvbiBjdXJyZW50IGN1c3RvbSBwcm9wZXJ0eSB2YWx1ZXMuCiAgICoKICAgKiBUaGUgb3B0aW9uYWwgcGFyYW1ldGVyIG92ZXJyaWRlcyBpbmxpbmUgY3VzdG9tIHByb3BlcnR5IHN0eWxlcyB3aXRoIGFuCiAgICogb2JqZWN0IG9mIHByb3BlcnRpZXMgd2hlcmUgdGhlIGtleXMgYXJlIENTUyBwcm9wZXJ0aWVzLCBhbmQgdGhlIHZhbHVlcwogICAqIGFyZSBzdHJpbmdzLgogICAqCiAgICogRXhhbXBsZTogYFBvbHltZXIudXBkYXRlU3R5bGVzKHsnLS1jb2xvcic6ICdibHVlJ30pYAogICAqCiAgICogVGhlc2UgcHJvcGVydGllcyBhcmUgcmV0YWluZWQgdW5sZXNzIGEgdmFsdWUgb2YgYG51bGxgIGlzIHNldC4KICAgKgogICAqIEBwYXJhbSB7T2JqZWN0PX0gcHJvcHMgQmFnIG9mIGN1c3RvbSBwcm9wZXJ0eSBrZXkvdmFsdWVzIHRvCiAgICogICBhcHBseSB0byB0aGUgZG9jdW1lbnQuCiAgICogQHJldHVybiB7dm9pZH0KICAgKi8KICBQb2x5bWVyLnVwZGF0ZVN0eWxlcyA9IGZ1bmN0aW9uKHByb3BzKSB7CiAgICBpZiAod2luZG93LlNoYWR5Q1NTKSB7CiAgICAgIHdpbmRvdy5TaGFkeUNTUy5zdHlsZURvY3VtZW50KHByb3BzKTsKICAgIH0KICB9OwoKfSkoKTsKCgooZnVuY3Rpb24oKSB7CiAgJ3VzZSBzdHJpY3QnOwoKICAvKioKICAgKiBAc3VtbWFyeSBDb2xsYXBzZSBtdWx0aXBsZSBjYWxsYmFja3MgaW50byBvbmUgaW52b2NhdGlvbiBhZnRlciBhIHRpbWVyLgogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICovCiAgY2xhc3MgRGVib3VuY2VyIHsKICAgIGNvbnN0cnVjdG9yKCkgewogICAgICB0aGlzLl9hc3luY01vZHVsZSA9IG51bGw7CiAgICAgIHRoaXMuX2NhbGxiYWNrID0gbnVsbDsKICAgICAgdGhpcy5fdGltZXIgPSBudWxsOwogICAgfQogICAgLyoqCiAgICAgKiBTZXRzIHRoZSBzY2hlZHVsZXI7IHRoYXQgaXMsIGEgbW9kdWxlIHdpdGggdGhlIEFzeW5jIGludGVyZmFjZSwKICAgICAqIGEgY2FsbGJhY2sgYW5kIG9wdGlvbmFsIGFyZ3VtZW50cyB0byBiZSBwYXNzZWQgdG8gdGhlIHJ1biBmdW5jdGlvbgogICAgICogZnJvbSB0aGUgYXN5bmMgbW9kdWxlLgogICAgICoKICAgICAqIEBwYXJhbSB7IUFzeW5jSW50ZXJmYWNlfSBhc3luY01vZHVsZSBPYmplY3Qgd2l0aCBBc3luYyBpbnRlcmZhY2UuCiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKCl9IGNhbGxiYWNrIENhbGxiYWNrIHRvIHJ1bi4KICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIHNldENvbmZpZyhhc3luY01vZHVsZSwgY2FsbGJhY2spIHsKICAgICAgdGhpcy5fYXN5bmNNb2R1bGUgPSBhc3luY01vZHVsZTsKICAgICAgdGhpcy5fY2FsbGJhY2sgPSBjYWxsYmFjazsKICAgICAgdGhpcy5fdGltZXIgPSB0aGlzLl9hc3luY01vZHVsZS5ydW4oKCkgPT4gewogICAgICAgIHRoaXMuX3RpbWVyID0gbnVsbDsKICAgICAgICB0aGlzLl9jYWxsYmFjaygpOwogICAgICB9KTsKICAgIH0KICAgIC8qKgogICAgICogQ2FuY2VscyBhbiBhY3RpdmUgZGVib3VuY2VyIGFuZCByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIGl0c2VsZi4KICAgICAqCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBjYW5jZWwoKSB7CiAgICAgIGlmICh0aGlzLmlzQWN0aXZlKCkpIHsKICAgICAgICB0aGlzLl9hc3luY01vZHVsZS5jYW5jZWwodGhpcy5fdGltZXIpOwogICAgICAgIHRoaXMuX3RpbWVyID0gbnVsbDsKICAgICAgfQogICAgfQogICAgLyoqCiAgICAgKiBGbHVzaGVzIGFuIGFjdGl2ZSBkZWJvdW5jZXIgYW5kIHJldHVybnMgYSByZWZlcmVuY2UgdG8gaXRzZWxmLgogICAgICoKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIGZsdXNoKCkgewogICAgICBpZiAodGhpcy5pc0FjdGl2ZSgpKSB7CiAgICAgICAgdGhpcy5jYW5jZWwoKTsKICAgICAgICB0aGlzLl9jYWxsYmFjaygpOwogICAgICB9CiAgICB9CiAgICAvKioKICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgZGVib3VuY2VyIGlzIGFjdGl2ZS4KICAgICAqCiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIGFjdGl2ZS4KICAgICAqLwogICAgaXNBY3RpdmUoKSB7CiAgICAgIHJldHVybiB0aGlzLl90aW1lciAhPSBudWxsOwogICAgfQogICAgLyoqCiAgICAgKiBDcmVhdGVzIGEgZGVib3VuY2VyIGlmIG5vIGRlYm91bmNlciBpcyBwYXNzZWQgYXMgYSBwYXJhbWV0ZXIKICAgICAqIG9yIGl0IGNhbmNlbHMgYW4gYWN0aXZlIGRlYm91bmNlciBvdGhlcndpc2UuIFRoZSBmb2xsb3dpbmcKICAgICAqIGV4YW1wbGUgc2hvd3MgaG93IGEgZGVib3VuY2VyIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMgd2l0aGluIGEKICAgICAqIG1pY3JvdGFzayBhbmQgImRlYm91bmNlZCIgc3VjaCB0aGF0IHRoZSBwcm92aWRlZCBjYWxsYmFjayBmdW5jdGlvbiBpcwogICAgICogY2FsbGVkIG9uY2UuIEFkZCB0aGlzIG1ldGhvZCB0byBhIGN1c3RvbSBlbGVtZW50OgogICAgICoKICAgICAqIF9kZWJvdW5jZVdvcmsoKSB7CiAgICAgKiAgIHRoaXMuX2RlYm91bmNlSm9iID0gUG9seW1lci5EZWJvdW5jZXIuZGVib3VuY2UodGhpcy5fZGVib3VuY2VKb2IsCiAgICAgKiAgICAgICBQb2x5bWVyLkFzeW5jLm1pY3JvVGFzaywgKCkgPT4gewogICAgICogICAgIHRoaXMuX2RvV29yaygpOwogICAgICogICB9KTsKICAgICAqIH0KICAgICAqCiAgICAgKiBJZiB0aGUgYF9kZWJvdW5jZVdvcmtgIG1ldGhvZCBpcyBjYWxsZWQgbXVsdGlwbGUgdGltZXMgd2l0aGluIHRoZSBzYW1lCiAgICAgKiBtaWNyb3Rhc2ssIHRoZSBgX2RvV29ya2AgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgb25seSBvbmNlIGF0IHRoZSBuZXh0CiAgICAgKiBtaWNyb3Rhc2sgY2hlY2twb2ludC4KICAgICAqCiAgICAgKiBOb3RlOiBJbiB0ZXN0aW5nIGl0IGlzIG9mdGVuIGNvbnZlbmllbnQgdG8gYXZvaWQgYXN5bmNocm9ueS4gVG8gYWNjb21wbGlzaAogICAgICogdGhpcyB3aXRoIGEgZGVib3VuY2VyLCB5b3UgY2FuIHVzZSBgUG9seW1lci5lbnF1ZXVlRGVib3VuY2VyYCBhbmQKICAgICAqIGBQb2x5bWVyLmZsdXNoYC4gRm9yIGV4YW1wbGUsIGV4dGVuZCB0aGUgYWJvdmUgZXhhbXBsZSBieSBhZGRpbmcKICAgICAqIGBQb2x5bWVyLmVucXVldWVEZWJvdW5jZXIodGhpcy5fZGVib3VuY2VKb2IpYCBhdCB0aGUgZW5kIG9mIHRoZQogICAgICogYF9kZWJvdW5jZVdvcmtgIG1ldGhvZC4gVGhlbiBpbiBhIHRlc3QsIGNhbGwgYFBvbHltZXIuZmx1c2hgIHRvIGVuc3VyZQogICAgICogdGhlIGRlYm91bmNlciBoYXMgY29tcGxldGVkLgogICAgICoKICAgICAqIEBwYXJhbSB7RGVib3VuY2VyP30gZGVib3VuY2VyIERlYm91bmNlciBvYmplY3QuCiAgICAgKiBAcGFyYW0geyFBc3luY0ludGVyZmFjZX0gYXN5bmNNb2R1bGUgT2JqZWN0IHdpdGggQXN5bmMgaW50ZXJmYWNlCiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKCl9IGNhbGxiYWNrIENhbGxiYWNrIHRvIHJ1bi4KICAgICAqIEByZXR1cm4geyFEZWJvdW5jZXJ9IFJldHVybnMgYSBkZWJvdW5jZXIgb2JqZWN0LgogICAgICovCiAgICBzdGF0aWMgZGVib3VuY2UoZGVib3VuY2VyLCBhc3luY01vZHVsZSwgY2FsbGJhY2spIHsKICAgICAgaWYgKGRlYm91bmNlciBpbnN0YW5jZW9mIERlYm91bmNlcikgewogICAgICAgIGRlYm91bmNlci5jYW5jZWwoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBkZWJvdW5jZXIgPSBuZXcgRGVib3VuY2VyKCk7CiAgICAgIH0KICAgICAgZGVib3VuY2VyLnNldENvbmZpZyhhc3luY01vZHVsZSwgY2FsbGJhY2spOwogICAgICByZXR1cm4gZGVib3VuY2VyOwogICAgfQogIH0KCiAgLyoqIEBjb25zdCAqLwogIFBvbHltZXIuRGVib3VuY2VyID0gRGVib3VuY2VyOwp9KSgpOwoKCihmdW5jdGlvbigpIHsKCiAgJ3VzZSBzdHJpY3QnOwoKICAvLyBkZXRlY3QgbmF0aXZlIHRvdWNoIGFjdGlvbiBzdXBwb3J0CiAgbGV0IEhBU19OQVRJVkVfVEEgPSB0eXBlb2YgZG9jdW1lbnQuaGVhZC5zdHlsZS50b3VjaEFjdGlvbiA9PT0gJ3N0cmluZyc7CiAgbGV0IEdFU1RVUkVfS0VZID0gJ19fcG9seW1lckdlc3R1cmVzJzsKICBsZXQgSEFORExFRF9PQkogPSAnX19wb2x5bWVyR2VzdHVyZXNIYW5kbGVkJzsKICBsZXQgVE9VQ0hfQUNUSU9OID0gJ19fcG9seW1lckdlc3R1cmVzVG91Y2hBY3Rpb24nOwogIC8vIHJhZGl1cyBmb3IgdGFwIGFuZCB0cmFjawogIGxldCBUQVBfRElTVEFOQ0UgPSAyNTsKICBsZXQgVFJBQ0tfRElTVEFOQ0UgPSA1OwogIC8vIG51bWJlciBvZiBsYXN0IE4gdHJhY2sgcG9zaXRpb25zIHRvIGtlZXAKICBsZXQgVFJBQ0tfTEVOR1RIID0gMjsKCiAgLy8gRGlzYWJsaW5nICJtb3VzZSIgaGFuZGxlcnMgZm9yIDI1MDBtcyBpcyBlbm91Z2gKICBsZXQgTU9VU0VfVElNRU9VVCA9IDI1MDA7CiAgbGV0IE1PVVNFX0VWRU5UUyA9IFsnbW91c2Vkb3duJywgJ21vdXNlbW92ZScsICdtb3VzZXVwJywgJ2NsaWNrJ107CiAgLy8gYW4gYXJyYXkgb2YgYml0bWFzayB2YWx1ZXMgZm9yIG1hcHBpbmcgTW91c2VFdmVudC53aGljaCB0byBNb3VzZUV2ZW50LmJ1dHRvbnMKICBsZXQgTU9VU0VfV0hJQ0hfVE9fQlVUVE9OUyA9IFswLCAxLCA0LCAyXTsKICBsZXQgTU9VU0VfSEFTX0JVVFRPTlMgPSAoZnVuY3Rpb24oKSB7CiAgICB0cnkgewogICAgICByZXR1cm4gbmV3IE1vdXNlRXZlbnQoJ3Rlc3QnLCB7YnV0dG9uczogMX0pLmJ1dHRvbnMgPT09IDE7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9KSgpOwoKICAvKioKICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBQb3NzaWJsZSBtb3VzZSBldmVudCBuYW1lCiAgICogQHJldHVybiB7Ym9vbGVhbn0gdHJ1ZSBpZiBtb3VzZSBldmVudCwgZmFsc2UgaWYgbm90CiAgICovCiAgZnVuY3Rpb24gaXNNb3VzZUV2ZW50KG5hbWUpIHsKICAgIHJldHVybiBNT1VTRV9FVkVOVFMuaW5kZXhPZihuYW1lKSA+IC0xOwogIH0KCiAgLyogZXNsaW50IG5vLWVtcHR5OiBbImVycm9yIiwgeyAiYWxsb3dFbXB0eUNhdGNoIjogdHJ1ZSB9XSAqLwogIC8vIGNoZWNrIGZvciBwYXNzaXZlIGV2ZW50IGxpc3RlbmVycwogIGxldCBTVVBQT1JUU19QQVNTSVZFID0gZmFsc2U7CiAgKGZ1bmN0aW9uKCkgewogICAgdHJ5IHsKICAgICAgbGV0IG9wdHMgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICdwYXNzaXZlJywge2dldCgpIHtTVVBQT1JUU19QQVNTSVZFID0gdHJ1ZTt9fSk7CiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0ZXN0JywgbnVsbCwgb3B0cyk7CiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCd0ZXN0JywgbnVsbCwgb3B0cyk7CiAgICB9IGNhdGNoKGUpIHt9CiAgfSkoKTsKCiAgLyoqCiAgICogR2VuZXJhdGUgc2V0dGluZ3MgZm9yIGV2ZW50IGxpc3RlbmVycywgZGVwZW5kYW50IG9uIGBQb2x5bWVyLnBhc3NpdmVUb3VjaEdlc3R1cmVzYAogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSBFdmVudCBuYW1lIHRvIGRldGVybWluZSBpZiBge3Bhc3NpdmV9YCBvcHRpb24gaXMgbmVlZGVkCiAgICogQHJldHVybiB7e3Bhc3NpdmU6IGJvb2xlYW59IHwgdW5kZWZpbmVkfSBPcHRpb25zIHRvIHVzZSBmb3IgYWRkRXZlbnRMaXN0ZW5lciBhbmQgcmVtb3ZlRXZlbnRMaXN0ZW5lcgogICAqLwogIGZ1bmN0aW9uIFBBU1NJVkVfVE9VQ0goZXZlbnROYW1lKSB7CiAgICBpZiAoaXNNb3VzZUV2ZW50KGV2ZW50TmFtZSkgfHwgZXZlbnROYW1lID09PSAndG91Y2hlbmQnKSB7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChIQVNfTkFUSVZFX1RBICYmIFNVUFBPUlRTX1BBU1NJVkUgJiYgUG9seW1lci5wYXNzaXZlVG91Y2hHZXN0dXJlcykgewogICAgICByZXR1cm4ge3Bhc3NpdmU6IHRydWV9OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuOwogICAgfQogIH0KCiAgLy8gQ2hlY2sgZm9yIHRvdWNoLW9ubHkgZGV2aWNlcwogIGxldCBJU19UT1VDSF9PTkxZID0gbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVAoPzpbb2FdZHxob25lKXxBbmRyb2lkLyk7CgogIGxldCBHZXN0dXJlUmVjb2duaXplciA9IGZ1bmN0aW9uKCl7fTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFycwogIC8qKiBAdHlwZSB7ZnVuY3Rpb24oKTogdm9pZH0gKi8KICBHZXN0dXJlUmVjb2duaXplci5wcm90b3R5cGUucmVzZXQ7CiAgLyoqIEB0eXBlIHtmdW5jdGlvbihNb3VzZUV2ZW50KTogdm9pZCB8IHVuZGVmaW5lZH0gKi8KICBHZXN0dXJlUmVjb2duaXplci5wcm90b3R5cGUubW91c2Vkb3duOwogIC8qKiBAdHlwZSB7KGZ1bmN0aW9uKE1vdXNlRXZlbnQpOiB2b2lkIHwgdW5kZWZpbmVkKX0gKi8KICBHZXN0dXJlUmVjb2duaXplci5wcm90b3R5cGUubW91c2Vtb3ZlOwogIC8qKiBAdHlwZSB7KGZ1bmN0aW9uKE1vdXNlRXZlbnQpOiB2b2lkIHwgdW5kZWZpbmVkKX0gKi8KICBHZXN0dXJlUmVjb2duaXplci5wcm90b3R5cGUubW91c2V1cDsKICAvKiogQHR5cGUgeyhmdW5jdGlvbihUb3VjaEV2ZW50KTogdm9pZCB8IHVuZGVmaW5lZCl9ICovCiAgR2VzdHVyZVJlY29nbml6ZXIucHJvdG90eXBlLnRvdWNoc3RhcnQ7CiAgLyoqIEB0eXBlIHsoZnVuY3Rpb24oVG91Y2hFdmVudCk6IHZvaWQgfCB1bmRlZmluZWQpfSAqLwogIEdlc3R1cmVSZWNvZ25pemVyLnByb3RvdHlwZS50b3VjaG1vdmU7CiAgLyoqIEB0eXBlIHsoZnVuY3Rpb24oVG91Y2hFdmVudCk6IHZvaWQgfCB1bmRlZmluZWQpfSAqLwogIEdlc3R1cmVSZWNvZ25pemVyLnByb3RvdHlwZS50b3VjaGVuZDsKICAvKiogQHR5cGUgeyhmdW5jdGlvbihNb3VzZUV2ZW50KTogdm9pZCB8IHVuZGVmaW5lZCl9ICovCiAgR2VzdHVyZVJlY29nbml6ZXIucHJvdG90eXBlLmNsaWNrOwoKICAvLyBrZWVwIHRyYWNrIG9mIGFueSBsYWJlbHMgaGl0IGJ5IHRoZSBtb3VzZUNhbmNlbGxlcgogIC8qKiBAdHlwZSB7IUFycmF5PCFIVE1MTGFiZWxFbGVtZW50Pn0gKi8KICBjb25zdCBjbGlja2VkTGFiZWxzID0gW107CgogIC8qKiBAdHlwZSB7IU9iamVjdDxib29sZWFuPn0gKi8KICBjb25zdCBsYWJlbGxhYmxlID0gewogICAgJ2J1dHRvbic6IHRydWUsCiAgICAnaW5wdXQnOiB0cnVlLAogICAgJ2tleWdlbic6IHRydWUsCiAgICAnbWV0ZXInOiB0cnVlLAogICAgJ291dHB1dCc6IHRydWUsCiAgICAndGV4dGFyZWEnOiB0cnVlLAogICAgJ3Byb2dyZXNzJzogdHJ1ZSwKICAgICdzZWxlY3QnOiB0cnVlCiAgfTsKCiAgLy8gRGVmaW5lZCBhdCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9mb3JtLWNvbnRyb2wtaW5mcmFzdHJ1Y3R1cmUuaHRtbCNlbmFibGluZy1hbmQtZGlzYWJsaW5nLWZvcm0tY29udHJvbHM6LXRoZS1kaXNhYmxlZC1hdHRyaWJ1dGUKICAvKiogQHR5cGUgeyFPYmplY3Q8Ym9vbGVhbj59ICovCiAgY29uc3QgY2FuQmVEaXNhYmxlZCA9IHsKICAgICdidXR0b24nOiB0cnVlLAogICAgJ2NvbW1hbmQnOiB0cnVlLAogICAgJ2ZpZWxkc2V0JzogdHJ1ZSwKICAgICdpbnB1dCc6IHRydWUsCiAgICAna2V5Z2VuJzogdHJ1ZSwKICAgICdvcHRncm91cCc6IHRydWUsCiAgICAnb3B0aW9uJzogdHJ1ZSwKICAgICdzZWxlY3QnOiB0cnVlLAogICAgJ3RleHRhcmVhJzogdHJ1ZQogIH07CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEVsZW1lbnQgdG8gY2hlY2sgbGFiZWxsaW5nIHN0YXR1cwogICAqIEByZXR1cm4ge2Jvb2xlYW59IGVsZW1lbnQgY2FuIGhhdmUgbGFiZWxzCiAgICovCiAgZnVuY3Rpb24gY2FuQmVMYWJlbGxlZChlbCkgewogICAgcmV0dXJuIGxhYmVsbGFibGVbZWwubG9jYWxOYW1lXSB8fCBmYWxzZTsKICB9CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsIEVsZW1lbnQgdGhhdCBtYXkgYmUgbGFiZWxsZWQuCiAgICogQHJldHVybiB7IUFycmF5PCFIVE1MTGFiZWxFbGVtZW50Pn0gUmVsZXZhbnQgbGFiZWwgZm9yIGBlbGAKICAgKi8KICBmdW5jdGlvbiBtYXRjaGluZ0xhYmVscyhlbCkgewogICAgbGV0IGxhYmVscyA9IEFycmF5LmZyb20oLyoqIEB0eXBlIHtIVE1MSW5wdXRFbGVtZW50fSAqLyhlbCkubGFiZWxzIHx8IFtdKTsKICAgIC8vIElFIGRvZXNuJ3QgaGF2ZSBgbGFiZWxzYCBhbmQgU2FmYXJpIGRvZXNuJ3QgcG9wdWxhdGUgYGxhYmVsc2AKICAgIC8vIGlmIGVsZW1lbnQgaXMgaW4gYSBzaGFkb3dyb290LgogICAgLy8gSW4gdGhpcyBpbnN0YW5jZSwgZmluZGluZyB0aGUgbm9uLWFuY2VzdG9yIGxhYmVscyBpcyBlbm91Z2gsCiAgICAvLyBhcyB0aGUgbW91c2VDYW5jZWxsb3IgY29kZSB3aWxsIGhhbmRsZSBhbmNzdG9yIGxhYmVscwogICAgaWYgKCFsYWJlbHMubGVuZ3RoKSB7CiAgICAgIGxhYmVscyA9IFtdOwogICAgICBsZXQgcm9vdCA9IGVsLmdldFJvb3ROb2RlKCk7CiAgICAgIC8vIGlmIHRoZXJlIGlzIGFuIGlkIG9uIGBlbGAsIGNoZWNrIGZvciBhbGwgbGFiZWxzIHdpdGggYSBtYXRjaGluZyBgZm9yYCBhdHRyaWJ1dGUKICAgICAgaWYgKGVsLmlkKSB7CiAgICAgICAgbGV0IG1hdGNoaW5nID0gcm9vdC5xdWVyeVNlbGVjdG9yQWxsKGBsYWJlbFtmb3IgPSAke2VsLmlkfV1gKTsKICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hdGNoaW5nLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBsYWJlbHMucHVzaCgvKiogQHR5cGUgeyFIVE1MTGFiZWxFbGVtZW50fSAqLyhtYXRjaGluZ1tpXSkpOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgcmV0dXJuIGxhYmVsczsKICB9CgogIC8vIHRvdWNoIHdpbGwgbWFrZSBzeW50aGV0aWMgbW91c2UgZXZlbnRzCiAgLy8gYHByZXZlbnREZWZhdWx0YCBvbiB0b3VjaGVuZCB3aWxsIGNhbmNlbCB0aGVtLAogIC8vIGJ1dCB0aGlzIGJyZWFrcyBgPGlucHV0PmAgZm9jdXMgYW5kIGxpbmsgY2xpY2tzCiAgLy8gZGlzYWJsZSBtb3VzZSBoYW5kbGVycyBmb3IgTU9VU0VfVElNRU9VVCBtcyBhZnRlcgogIC8vIGEgdG91Y2hlbmQgdG8gaWdub3JlIHN5bnRoZXRpYyBtb3VzZSBldmVudHMKICBsZXQgbW91c2VDYW5jZWxsZXIgPSBmdW5jdGlvbihtb3VzZUV2ZW50KSB7CiAgICAvLyBDaGVjayBmb3Igc291cmNlQ2FwYWJpbGl0aWVzLCB1c2VkIHRvIGRpc3Rpbmd1aXNoIHN5bnRoZXRpYyBldmVudHMKICAgIC8vIGlmIG1vdXNlRXZlbnQgZGlkIG5vdCBjb21lIGZyb20gYSBkZXZpY2UgdGhhdCBmaXJlcyB0b3VjaCBldmVudHMsCiAgICAvLyBpdCB3YXMgbWFkZSBieSBhIHJlYWwgbW91c2UgYW5kIHNob3VsZCBiZSBjb3VudGVkCiAgICAvLyBodHRwOi8vd2ljZy5naXRodWIuaW8vSW5wdXREZXZpY2VDYXBhYmlsaXRpZXMvI2RvbS1pbnB1dGRldmljZWNhcGFiaWxpdGllcy1maXJlc3RvdWNoZXZlbnRzCiAgICBsZXQgc2MgPSBtb3VzZUV2ZW50LnNvdXJjZUNhcGFiaWxpdGllczsKICAgIGlmIChzYyAmJiAhc2MuZmlyZXNUb3VjaEV2ZW50cykgewogICAgICByZXR1cm47CiAgICB9CiAgICAvLyBza2lwIHN5bnRoZXRpYyBtb3VzZSBldmVudHMKICAgIG1vdXNlRXZlbnRbSEFORExFRF9PQkpdID0ge3NraXA6IHRydWV9OwogICAgLy8gZGlzYWJsZSAiZ2hvc3QgY2xpY2tzIgogICAgaWYgKG1vdXNlRXZlbnQudHlwZSA9PT0gJ2NsaWNrJykgewogICAgICBsZXQgY2xpY2tGcm9tTGFiZWwgPSBmYWxzZTsKICAgICAgbGV0IHBhdGggPSBtb3VzZUV2ZW50LmNvbXBvc2VkUGF0aCAmJiBtb3VzZUV2ZW50LmNvbXBvc2VkUGF0aCgpOwogICAgICBpZiAocGF0aCkgewogICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0aC5sZW5ndGg7IGkrKykgewogICAgICAgICAgaWYgKHBhdGhbaV0ubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFKSB7CiAgICAgICAgICAgIGlmIChwYXRoW2ldLmxvY2FsTmFtZSA9PT0gJ2xhYmVsJykgewogICAgICAgICAgICAgIGNsaWNrZWRMYWJlbHMucHVzaChwYXRoW2ldKTsKICAgICAgICAgICAgfSBlbHNlIGlmIChjYW5CZUxhYmVsbGVkKHBhdGhbaV0pKSB7CiAgICAgICAgICAgICAgbGV0IG93bmVyTGFiZWxzID0gbWF0Y2hpbmdMYWJlbHMocGF0aFtpXSk7CiAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgb25lIG9mIHRoZSBjbGlja2VkIGxhYmVscyBpcyBsYWJlbGxpbmcgdGhpcyBlbGVtZW50CiAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBvd25lckxhYmVscy5sZW5ndGg7IGorKykgewogICAgICAgICAgICAgICAgY2xpY2tGcm9tTGFiZWwgPSBjbGlja0Zyb21MYWJlbCB8fCBjbGlja2VkTGFiZWxzLmluZGV4T2Yob3duZXJMYWJlbHNbal0pID4gLTE7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICBpZiAocGF0aFtpXSA9PT0gUE9JTlRFUlNUQVRFLm1vdXNlLnRhcmdldCkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIC8vIGlmIG9uZSBvZiB0aGUgY2xpY2tlZCBsYWJlbHMgd2FzIGxhYmVsbGluZyB0aGUgdGFyZ2V0IGVsZW1lbnQsCiAgICAgIC8vIHRoaXMgaXMgbm90IGEgZ2hvc3QgY2xpY2sKICAgICAgaWYgKGNsaWNrRnJvbUxhYmVsKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIG1vdXNlRXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgbW91c2VFdmVudC5zdG9wUHJvcGFnYXRpb24oKTsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBzZXR1cCBUcnVlIHRvIGFkZCwgZmFsc2UgdG8gcmVtb3ZlLgogICAqIEByZXR1cm4ge3ZvaWR9CiAgICovCiAgZnVuY3Rpb24gc2V0dXBUZWFyZG93bk1vdXNlQ2FuY2VsbGVyKHNldHVwKSB7CiAgICBsZXQgZXZlbnRzID0gSVNfVE9VQ0hfT05MWSA/IFsnY2xpY2snXSA6IE1PVVNFX0VWRU5UUzsKICAgIGZvciAobGV0IGkgPSAwLCBlbjsgaSA8IGV2ZW50cy5sZW5ndGg7IGkrKykgewogICAgICBlbiA9IGV2ZW50c1tpXTsKICAgICAgaWYgKHNldHVwKSB7CiAgICAgICAgLy8gcmVzZXQgY2xpY2tMYWJlbHMgYXJyYXkKICAgICAgICBjbGlja2VkTGFiZWxzLmxlbmd0aCA9IDA7CiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihlbiwgbW91c2VDYW5jZWxsZXIsIHRydWUpOwogICAgICB9IGVsc2UgewogICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZW4sIG1vdXNlQ2FuY2VsbGVyLCB0cnVlKTsKICAgICAgfQogICAgfQogIH0KCiAgZnVuY3Rpb24gaWdub3JlTW91c2UoZSkgewogICAgaWYgKCFQT0lOVEVSU1RBVEUubW91c2UubW91c2VJZ25vcmVKb2IpIHsKICAgICAgc2V0dXBUZWFyZG93bk1vdXNlQ2FuY2VsbGVyKHRydWUpOwogICAgfQogICAgbGV0IHVuc2V0ID0gZnVuY3Rpb24oKSB7CiAgICAgIHNldHVwVGVhcmRvd25Nb3VzZUNhbmNlbGxlcigpOwogICAgICBQT0lOVEVSU1RBVEUubW91c2UudGFyZ2V0ID0gbnVsbDsKICAgICAgUE9JTlRFUlNUQVRFLm1vdXNlLm1vdXNlSWdub3JlSm9iID0gbnVsbDsKICAgIH07CiAgICBQT0lOVEVSU1RBVEUubW91c2UudGFyZ2V0ID0gZS5jb21wb3NlZFBhdGgoKVswXTsKICAgIFBPSU5URVJTVEFURS5tb3VzZS5tb3VzZUlnbm9yZUpvYiA9IFBvbHltZXIuRGVib3VuY2VyLmRlYm91bmNlKAogICAgICAgICAgUE9JTlRFUlNUQVRFLm1vdXNlLm1vdXNlSWdub3JlSm9iCiAgICAgICAgLCBQb2x5bWVyLkFzeW5jLnRpbWVPdXQuYWZ0ZXIoTU9VU0VfVElNRU9VVCkKICAgICAgICAsIHVuc2V0KTsKICB9CgogIC8qKgogICAqIEBwYXJhbSB7TW91c2VFdmVudH0gZXYgZXZlbnQgdG8gdGVzdCBmb3IgbGVmdCBtb3VzZSBidXR0b24gZG93bgogICAqIEByZXR1cm4ge2Jvb2xlYW59IGhhcyBsZWZ0IG1vdXNlIGJ1dHRvbiBkb3duCiAgICovCiAgZnVuY3Rpb24gaGFzTGVmdE1vdXNlQnV0dG9uKGV2KSB7CiAgICBsZXQgdHlwZSA9IGV2LnR5cGU7CiAgICAvLyBleGl0IGVhcmx5IGlmIHRoZSBldmVudCBpcyBub3QgYSBtb3VzZSBldmVudAogICAgaWYgKCFpc01vdXNlRXZlbnQodHlwZSkpIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgLy8gZXYuYnV0dG9uIGlzIG5vdCByZWxpYWJsZSBmb3IgbW91c2Vtb3ZlICgwIGlzIG92ZXJsb2FkZWQgYXMgYm90aCBsZWZ0IGJ1dHRvbiBhbmQgbm8gYnV0dG9ucykKICAgIC8vIGluc3RlYWQgd2UgdXNlIGV2LmJ1dHRvbnMgKGJpdG1hc2sgb2YgYnV0dG9ucykgb3IgZmFsbCBiYWNrIHRvIGV2LndoaWNoIChkZXByZWNhdGVkLCAwIGZvciBubyBidXR0b25zLCAxIGZvciBsZWZ0IGJ1dHRvbikKICAgIGlmICh0eXBlID09PSAnbW91c2Vtb3ZlJykgewogICAgICAvLyBhbGxvdyB1bmRlZmluZWQgZm9yIHRlc3RpbmcgZXZlbnRzCiAgICAgIGxldCBidXR0b25zID0gZXYuYnV0dG9ucyA9PT0gdW5kZWZpbmVkID8gMSA6IGV2LmJ1dHRvbnM7CiAgICAgIGlmICgoZXYgaW5zdGFuY2VvZiB3aW5kb3cuTW91c2VFdmVudCkgJiYgIU1PVVNFX0hBU19CVVRUT05TKSB7CiAgICAgICAgYnV0dG9ucyA9IE1PVVNFX1dISUNIX1RPX0JVVFRPTlNbZXYud2hpY2hdIHx8IDA7CiAgICAgIH0KICAgICAgLy8gYnV0dG9ucyBpcyBhIGJpdG1hc2ssIGNoZWNrIHRoYXQgdGhlIGxlZnQgYnV0dG9uIGJpdCBpcyBzZXQgKDEpCiAgICAgIHJldHVybiBCb29sZWFuKGJ1dHRvbnMgJiAxKTsKICAgIH0gZWxzZSB7CiAgICAgIC8vIGFsbG93IHVuZGVmaW5lZCBmb3IgdGVzdGluZyBldmVudHMKICAgICAgbGV0IGJ1dHRvbiA9IGV2LmJ1dHRvbiA9PT0gdW5kZWZpbmVkID8gMCA6IGV2LmJ1dHRvbjsKICAgICAgLy8gZXYuYnV0dG9uIGlzIDAgaW4gbW91c2Vkb3duL21vdXNldXAvY2xpY2sgZm9yIGxlZnQgYnV0dG9uIGFjdGl2YXRpb24KICAgICAgcmV0dXJuIGJ1dHRvbiA9PT0gMDsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGlzU3ludGhldGljQ2xpY2soZXYpIHsKICAgIGlmIChldi50eXBlID09PSAnY2xpY2snKSB7CiAgICAgIC8vIGV2LmRldGFpbCBpcyAwIGZvciBIVE1MRWxlbWVudC5jbGljayBpbiBtb3N0IGJyb3dzZXJzCiAgICAgIGlmIChldi5kZXRhaWwgPT09IDApIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgICAvLyBpbiB0aGUgd29yc3QgY2FzZSwgY2hlY2sgdGhhdCB0aGUgeC95IHBvc2l0aW9uIG9mIHRoZSBjbGljayBpcyB3aXRoaW4KICAgICAgLy8gdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUgdGFyZ2V0IG9mIHRoZSBldmVudAogICAgICAvLyBUaGFua3MgSUUgMTAgPjooCiAgICAgIGxldCB0ID0gR2VzdHVyZXMuX2ZpbmRPcmlnaW5hbFRhcmdldChldik7CiAgICAgIC8vIG1ha2Ugc3VyZSB0aGUgdGFyZ2V0IG9mIHRoZSBldmVudCBpcyBhbiBlbGVtZW50IHNvIHdlIGNhbiB1c2UgZ2V0Qm91bmRpbmdDbGllbnRSZWN0LAogICAgICAvLyBpZiBub3QsIGp1c3QgYXNzdW1lIGl0IGlzIGEgc3ludGhldGljIGNsaWNrCiAgICAgIGlmICghdC5ub2RlVHlwZSB8fCAvKiogQHR5cGUge0VsZW1lbnR9ICovKHQpLm5vZGVUeXBlICE9PSBOb2RlLkVMRU1FTlRfTk9ERSkgewogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9CiAgICAgIGxldCBiY3IgPSAvKiogQHR5cGUge0VsZW1lbnR9ICovKHQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICAvLyB1c2UgcGFnZSB4L3kgdG8gYWNjb3VudCBmb3Igc2Nyb2xsaW5nCiAgICAgIGxldCB4ID0gZXYucGFnZVgsIHkgPSBldi5wYWdlWTsKICAgICAgLy8gZXYgaXMgYSBzeW50aGV0aWMgY2xpY2sgaWYgdGhlIHBvc2l0aW9uIGlzIG91dHNpZGUgdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUgdGFyZ2V0CiAgICAgIHJldHVybiAhKCh4ID49IGJjci5sZWZ0ICYmIHggPD0gYmNyLnJpZ2h0KSAmJiAoeSA+PSBiY3IudG9wICYmIHkgPD0gYmNyLmJvdHRvbSkpOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgbGV0IFBPSU5URVJTVEFURSA9IHsKICAgIG1vdXNlOiB7CiAgICAgIHRhcmdldDogbnVsbCwKICAgICAgbW91c2VJZ25vcmVKb2I6IG51bGwKICAgIH0sCiAgICB0b3VjaDogewogICAgICB4OiAwLAogICAgICB5OiAwLAogICAgICBpZDogLTEsCiAgICAgIHNjcm9sbERlY2lkZWQ6IGZhbHNlCiAgICB9CiAgfTsKCiAgZnVuY3Rpb24gZmlyc3RUb3VjaEFjdGlvbihldikgewogICAgbGV0IHRhID0gJ2F1dG8nOwogICAgbGV0IHBhdGggPSBldi5jb21wb3NlZFBhdGggJiYgZXYuY29tcG9zZWRQYXRoKCk7CiAgICBpZiAocGF0aCkgewogICAgICBmb3IgKGxldCBpID0gMCwgbjsgaSA8IHBhdGgubGVuZ3RoOyBpKyspIHsKICAgICAgICBuID0gcGF0aFtpXTsKICAgICAgICBpZiAobltUT1VDSF9BQ1RJT05dKSB7CiAgICAgICAgICB0YSA9IG5bVE9VQ0hfQUNUSU9OXTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgcmV0dXJuIHRhOwogIH0KCiAgZnVuY3Rpb24gdHJhY2tEb2N1bWVudChzdGF0ZU9iaiwgbW92ZWZuLCB1cGZuKSB7CiAgICBzdGF0ZU9iai5tb3ZlZm4gPSBtb3ZlZm47CiAgICBzdGF0ZU9iai51cGZuID0gdXBmbjsKICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG1vdmVmbik7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdXBmbik7CiAgfQoKICBmdW5jdGlvbiB1bnRyYWNrRG9jdW1lbnQoc3RhdGVPYmopIHsKICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHN0YXRlT2JqLm1vdmVmbik7CiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgc3RhdGVPYmoudXBmbik7CiAgICBzdGF0ZU9iai5tb3ZlZm4gPSBudWxsOwogICAgc3RhdGVPYmoudXBmbiA9IG51bGw7CiAgfQoKICAvLyB1c2UgYSBkb2N1bWVudC13aWRlIHRvdWNoZW5kIGxpc3RlbmVyIHRvIHN0YXJ0IHRoZSBnaG9zdC1jbGljayBwcmV2ZW50aW9uIG1lY2hhbmlzbQogIC8vIFVzZSBwYXNzaXZlIGV2ZW50IGxpc3RlbmVycywgaWYgc3VwcG9ydGVkLCB0byBub3QgYWZmZWN0IHNjcm9sbGluZyBwZXJmb3JtYW5jZQogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgaWdub3JlTW91c2UsIFNVUFBPUlRTX1BBU1NJVkUgPyB7cGFzc2l2ZTogdHJ1ZX0gOiBmYWxzZSk7CgogIC8qKgogICAqIE1vZHVsZSBmb3IgYWRkaW5nIGxpc3RlbmVycyB0byBhIG5vZGUgZm9yIHRoZSBmb2xsb3dpbmcgbm9ybWFsaXplZAogICAqIGNyb3NzLXBsYXRmb3JtICJnZXN0dXJlIiBldmVudHM6CiAgICogLSBgZG93bmAgLSBtb3VzZSBvciB0b3VjaCB3ZW50IGRvd24KICAgKiAtIGB1cGAgLSBtb3VzZSBvciB0b3VjaCB3ZW50IHVwCiAgICogLSBgdGFwYCAtIG1vdXNlIGNsaWNrIG9yIGZpbmdlciB0YXAKICAgKiAtIGB0cmFja2AgLSBtb3VzZSBkcmFnIG9yIHRvdWNoIG1vdmUKICAgKgogICAqIEBuYW1lc3BhY2UKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBzdW1tYXJ5IE1vZHVsZSBmb3IgYWRkaW5nIGNyb3NzLXBsYXRmb3JtIGdlc3R1cmUgZXZlbnQgbGlzdGVuZXJzLgogICAqLwogIGNvbnN0IEdlc3R1cmVzID0gewogICAgZ2VzdHVyZXM6IHt9LAogICAgcmVjb2duaXplcnM6IFtdLAoKICAgIC8qKgogICAgICogRmluZHMgdGhlIGVsZW1lbnQgcmVuZGVyZWQgb24gdGhlIHNjcmVlbiBhdCB0aGUgcHJvdmlkZWQgY29vcmRpbmF0ZXMuCiAgICAgKgogICAgICogU2ltaWxhciB0byBgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludGAsIGJ1dCBwaWVyY2VzIHRocm91Z2gKICAgICAqIHNoYWRvdyByb290cy4KICAgICAqCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5HZXN0dXJlcwogICAgICogQHBhcmFtIHtudW1iZXJ9IHggSG9yaXpvbnRhbCBwaXhlbCBjb29yZGluYXRlCiAgICAgKiBAcGFyYW0ge251bWJlcn0geSBWZXJ0aWNhbCBwaXhlbCBjb29yZGluYXRlCiAgICAgKiBAcmV0dXJuIHtFbGVtZW50fSBSZXR1cm5zIHRoZSBkZWVwZXN0IHNoYWRvd1Jvb3QgaW5jbHVzaXZlIGVsZW1lbnQKICAgICAqIGZvdW5kIGF0IHRoZSBzY3JlZW4gcG9zaXRpb24gZ2l2ZW4uCiAgICAgKi8KICAgIGRlZXBUYXJnZXRGaW5kOiBmdW5jdGlvbih4LCB5KSB7CiAgICAgIGxldCBub2RlID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCh4LCB5KTsKICAgICAgbGV0IG5leHQgPSBub2RlOwogICAgICAvLyB0aGlzIGNvZGUgcGF0aCBpcyBvbmx5IHRha2VuIHdoZW4gbmF0aXZlIFNoYWRvd0RPTSBpcyB1c2VkCiAgICAgIC8vIGlmIHRoZXJlIGlzIGEgc2hhZG93cm9vdCwgaXQgbWF5IGhhdmUgYSBub2RlIGF0IHgveQogICAgICAvLyBpZiB0aGVyZSBpcyBub3QgYSBzaGFkb3dyb290LCBleGl0IHRoZSBsb29wCiAgICAgIHdoaWxlIChuZXh0ICYmIG5leHQuc2hhZG93Um9vdCAmJiAhd2luZG93LlNoYWR5RE9NKSB7CiAgICAgICAgLy8gaWYgdGhlcmUgaXMgYSBub2RlIGF0IHgveSBpbiB0aGUgc2hhZG93cm9vdCwgbG9vayBkZWVwZXIKICAgICAgICBsZXQgb2xkTmV4dCA9IG5leHQ7CiAgICAgICAgbmV4dCA9IG5leHQuc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50KHgsIHkpOwogICAgICAgIC8vIG9uIFNhZmFyaSwgZWxlbWVudEZyb21Qb2ludCBtYXkgcmV0dXJuIHRoZSBzaGFkb3dSb290IGhvc3QKICAgICAgICBpZiAob2xkTmV4dCA9PT0gbmV4dCkgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGlmIChuZXh0KSB7CiAgICAgICAgICBub2RlID0gbmV4dDsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIG5vZGU7CiAgICB9LAogICAgLyoqCiAgICAgKiBhIGNoZWFwZXIgY2hlY2sgdGhhbiBldi5jb21wb3NlZFBhdGgoKVswXTsKICAgICAqCiAgICAgKiBAcHJpdmF0ZQogICAgICogQHBhcmFtIHtFdmVudH0gZXYgRXZlbnQuCiAgICAgKiBAcmV0dXJuIHtFdmVudFRhcmdldH0gUmV0dXJucyB0aGUgZXZlbnQgdGFyZ2V0LgogICAgICovCiAgICBfZmluZE9yaWdpbmFsVGFyZ2V0OiBmdW5jdGlvbihldikgewogICAgICAvLyBzaGFkb3dkb20KICAgICAgaWYgKGV2LmNvbXBvc2VkUGF0aCkgewogICAgICAgIGNvbnN0IHRhcmdldHMgPSAvKiogQHR5cGUgeyFBcnJheTwhRXZlbnRUYXJnZXQ+fSAqLyhldi5jb21wb3NlZFBhdGgoKSk7CiAgICAgICAgLy8gSXQgc2hvdWxkbid0IGJlLCBidXQgc29tZXRpbWVzIHRhcmdldHMgaXMgZW1wdHkgKHdpbmRvdyBvbiBTYWZhcmkpLgogICAgICAgIHJldHVybiB0YXJnZXRzLmxlbmd0aCA+IDAgPyB0YXJnZXRzWzBdIDogZXYudGFyZ2V0OwogICAgICB9CiAgICAgIC8vIHNoYWR5ZG9tCiAgICAgIHJldHVybiBldi50YXJnZXQ7CiAgICB9LAoKICAgIC8qKgogICAgICogQHByaXZhdGUKICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2IEV2ZW50LgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgX2hhbmRsZU5hdGl2ZTogZnVuY3Rpb24oZXYpIHsKICAgICAgbGV0IGhhbmRsZWQ7CiAgICAgIGxldCB0eXBlID0gZXYudHlwZTsKICAgICAgbGV0IG5vZGUgPSBldi5jdXJyZW50VGFyZ2V0OwogICAgICBsZXQgZ29iaiA9IG5vZGVbR0VTVFVSRV9LRVldOwogICAgICBpZiAoIWdvYmopIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgbGV0IGdzID0gZ29ialt0eXBlXTsKICAgICAgaWYgKCFncykgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBpZiAoIWV2W0hBTkRMRURfT0JKXSkgewogICAgICAgIGV2W0hBTkRMRURfT0JKXSA9IHt9OwogICAgICAgIGlmICh0eXBlLnNsaWNlKDAsIDUpID09PSAndG91Y2gnKSB7CiAgICAgICAgICBldiA9IC8qKiBAdHlwZSB7VG91Y2hFdmVudH0gKi8oZXYpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtYXNzaWduCiAgICAgICAgICBsZXQgdCA9IGV2LmNoYW5nZWRUb3VjaGVzWzBdOwogICAgICAgICAgaWYgKHR5cGUgPT09ICd0b3VjaHN0YXJ0JykgewogICAgICAgICAgICAvLyBvbmx5IGhhbmRsZSB0aGUgZmlyc3QgZmluZ2VyCiAgICAgICAgICAgIGlmIChldi50b3VjaGVzLmxlbmd0aCA9PT0gMSkgewogICAgICAgICAgICAgIFBPSU5URVJTVEFURS50b3VjaC5pZCA9IHQuaWRlbnRpZmllcjsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgaWYgKFBPSU5URVJTVEFURS50b3VjaC5pZCAhPT0gdC5pZGVudGlmaWVyKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KICAgICAgICAgIGlmICghSEFTX05BVElWRV9UQSkgewogICAgICAgICAgICBpZiAodHlwZSA9PT0gJ3RvdWNoc3RhcnQnIHx8IHR5cGUgPT09ICd0b3VjaG1vdmUnKSB7CiAgICAgICAgICAgICAgR2VzdHVyZXMuX2hhbmRsZVRvdWNoQWN0aW9uKGV2KTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICBoYW5kbGVkID0gZXZbSEFORExFRF9PQkpdOwogICAgICAvLyB1c2VkIHRvIGlnbm9yZSBzeW50aGV0aWMgbW91c2UgZXZlbnRzCiAgICAgIGlmIChoYW5kbGVkLnNraXApIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgLy8gcmVzZXQgcmVjb2duaXplciBzdGF0ZQogICAgICBmb3IgKGxldCBpID0gMCwgcjsgaSA8IEdlc3R1cmVzLnJlY29nbml6ZXJzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgciA9IEdlc3R1cmVzLnJlY29nbml6ZXJzW2ldOwogICAgICAgIGlmIChnc1tyLm5hbWVdICYmICFoYW5kbGVkW3IubmFtZV0pIHsKICAgICAgICAgIGlmIChyLmZsb3cgJiYgci5mbG93LnN0YXJ0LmluZGV4T2YoZXYudHlwZSkgPiAtMSAmJiByLnJlc2V0KSB7CiAgICAgICAgICAgIHIucmVzZXQoKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgLy8gZW5mb3JjZSBnZXN0dXJlIHJlY29nbml6ZXIgb3JkZXIKICAgICAgZm9yIChsZXQgaSA9IDAsIHI7IGkgPCBHZXN0dXJlcy5yZWNvZ25pemVycy5sZW5ndGg7IGkrKykgewogICAgICAgIHIgPSBHZXN0dXJlcy5yZWNvZ25pemVyc1tpXTsKICAgICAgICBpZiAoZ3Nbci5uYW1lXSAmJiAhaGFuZGxlZFtyLm5hbWVdKSB7CiAgICAgICAgICBoYW5kbGVkW3IubmFtZV0gPSB0cnVlOwogICAgICAgICAgclt0eXBlXShldik7CiAgICAgICAgfQogICAgICB9CiAgICB9LAoKICAgIC8qKgogICAgICogQHByaXZhdGUKICAgICAqIEBwYXJhbSB7VG91Y2hFdmVudH0gZXYgRXZlbnQuCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBfaGFuZGxlVG91Y2hBY3Rpb246IGZ1bmN0aW9uKGV2KSB7CiAgICAgIGxldCB0ID0gZXYuY2hhbmdlZFRvdWNoZXNbMF07CiAgICAgIGxldCB0eXBlID0gZXYudHlwZTsKICAgICAgaWYgKHR5cGUgPT09ICd0b3VjaHN0YXJ0JykgewogICAgICAgIFBPSU5URVJTVEFURS50b3VjaC54ID0gdC5jbGllbnRYOwogICAgICAgIFBPSU5URVJTVEFURS50b3VjaC55ID0gdC5jbGllbnRZOwogICAgICAgIFBPSU5URVJTVEFURS50b3VjaC5zY3JvbGxEZWNpZGVkID0gZmFsc2U7CiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3RvdWNobW92ZScpIHsKICAgICAgICBpZiAoUE9JTlRFUlNUQVRFLnRvdWNoLnNjcm9sbERlY2lkZWQpIHsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgUE9JTlRFUlNUQVRFLnRvdWNoLnNjcm9sbERlY2lkZWQgPSB0cnVlOwogICAgICAgIGxldCB0YSA9IGZpcnN0VG91Y2hBY3Rpb24oZXYpOwogICAgICAgIGxldCBwcmV2ZW50ID0gZmFsc2U7CiAgICAgICAgbGV0IGR4ID0gTWF0aC5hYnMoUE9JTlRFUlNUQVRFLnRvdWNoLnggLSB0LmNsaWVudFgpOwogICAgICAgIGxldCBkeSA9IE1hdGguYWJzKFBPSU5URVJTVEFURS50b3VjaC55IC0gdC5jbGllbnRZKTsKICAgICAgICBpZiAoIWV2LmNhbmNlbGFibGUpIHsKICAgICAgICAgIC8vIHNjcm9sbGluZyBpcyBoYXBwZW5pbmcKICAgICAgICB9IGVsc2UgaWYgKHRhID09PSAnbm9uZScpIHsKICAgICAgICAgIHByZXZlbnQgPSB0cnVlOwogICAgICAgIH0gZWxzZSBpZiAodGEgPT09ICdwYW4teCcpIHsKICAgICAgICAgIHByZXZlbnQgPSBkeSA+IGR4OwogICAgICAgIH0gZWxzZSBpZiAodGEgPT09ICdwYW4teScpIHsKICAgICAgICAgIHByZXZlbnQgPSBkeCA+IGR5OwogICAgICAgIH0KICAgICAgICBpZiAocHJldmVudCkgewogICAgICAgICAgZXYucHJldmVudERlZmF1bHQoKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgR2VzdHVyZXMucHJldmVudCgndHJhY2snKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCgogICAgLyoqCiAgICAgKiBBZGRzIGFuIGV2ZW50IGxpc3RlbmVyIHRvIGEgbm9kZSBmb3IgdGhlIGdpdmVuIGdlc3R1cmUgdHlwZS4KICAgICAqCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5HZXN0dXJlcwogICAgICogQHBhcmFtIHshTm9kZX0gbm9kZSBOb2RlIHRvIGFkZCBsaXN0ZW5lciBvbgogICAgICogQHBhcmFtIHtzdHJpbmd9IGV2VHlwZSBHZXN0dXJlIHR5cGU6IGBkb3duYCwgYHVwYCwgYHRyYWNrYCwgb3IgYHRhcGAKICAgICAqIEBwYXJhbSB7IWZ1bmN0aW9uKCFFdmVudCk6dm9pZH0gaGFuZGxlciBFdmVudCBsaXN0ZW5lciBmdW5jdGlvbiB0byBjYWxsCiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBSZXR1cm5zIHRydWUgaWYgYSBnZXN0dXJlIGV2ZW50IGxpc3RlbmVyIHdhcyBhZGRlZC4KICAgICAqIEB0aGlzIHtHZXN0dXJlc30KICAgICAqLwogICAgYWRkTGlzdGVuZXI6IGZ1bmN0aW9uKG5vZGUsIGV2VHlwZSwgaGFuZGxlcikgewogICAgICBpZiAodGhpcy5nZXN0dXJlc1tldlR5cGVdKSB7CiAgICAgICAgdGhpcy5fYWRkKG5vZGUsIGV2VHlwZSwgaGFuZGxlcik7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSwKCiAgICAvKioKICAgICAqIFJlbW92ZXMgYW4gZXZlbnQgbGlzdGVuZXIgZnJvbSBhIG5vZGUgZm9yIHRoZSBnaXZlbiBnZXN0dXJlIHR5cGUuCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuR2VzdHVyZXMKICAgICAqIEBwYXJhbSB7IU5vZGV9IG5vZGUgTm9kZSB0byByZW1vdmUgbGlzdGVuZXIgZnJvbQogICAgICogQHBhcmFtIHtzdHJpbmd9IGV2VHlwZSBHZXN0dXJlIHR5cGU6IGBkb3duYCwgYHVwYCwgYHRyYWNrYCwgb3IgYHRhcGAKICAgICAqIEBwYXJhbSB7IWZ1bmN0aW9uKCFFdmVudCk6dm9pZH0gaGFuZGxlciBFdmVudCBsaXN0ZW5lciBmdW5jdGlvbiBwcmV2aW91c2x5IHBhc3NlZCB0bwogICAgICogIGBhZGRMaXN0ZW5lcmAuCiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBSZXR1cm5zIHRydWUgaWYgYSBnZXN0dXJlIGV2ZW50IGxpc3RlbmVyIHdhcyByZW1vdmVkLgogICAgICogQHRoaXMge0dlc3R1cmVzfQogICAgICovCiAgICByZW1vdmVMaXN0ZW5lcjogZnVuY3Rpb24obm9kZSwgZXZUeXBlLCBoYW5kbGVyKSB7CiAgICAgIGlmICh0aGlzLmdlc3R1cmVzW2V2VHlwZV0pIHsKICAgICAgICB0aGlzLl9yZW1vdmUobm9kZSwgZXZUeXBlLCBoYW5kbGVyKTsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgICByZXR1cm4gZmFsc2U7CiAgICB9LAoKICAgIC8qKgogICAgICogYXV0b21hdGUgdGhlIGV2ZW50IGxpc3RlbmVycyBmb3IgdGhlIG5hdGl2ZSBldmVudHMKICAgICAqCiAgICAgKiBAcHJpdmF0ZQogICAgICogQHBhcmFtIHshSFRNTEVsZW1lbnR9IG5vZGUgTm9kZSBvbiB3aGljaCB0byBhZGQgdGhlIGV2ZW50LgogICAgICogQHBhcmFtIHtzdHJpbmd9IGV2VHlwZSBFdmVudCB0eXBlIHRvIGFkZC4KICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oIUV2ZW50KX0gaGFuZGxlciBFdmVudCBoYW5kbGVyIGZ1bmN0aW9uLgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqIEB0aGlzIHtHZXN0dXJlc30KICAgICAqLwogICAgX2FkZDogZnVuY3Rpb24obm9kZSwgZXZUeXBlLCBoYW5kbGVyKSB7CiAgICAgIGxldCByZWNvZ25pemVyID0gdGhpcy5nZXN0dXJlc1tldlR5cGVdOwogICAgICBsZXQgZGVwcyA9IHJlY29nbml6ZXIuZGVwczsKICAgICAgbGV0IG5hbWUgPSByZWNvZ25pemVyLm5hbWU7CiAgICAgIGxldCBnb2JqID0gbm9kZVtHRVNUVVJFX0tFWV07CiAgICAgIGlmICghZ29iaikgewogICAgICAgIG5vZGVbR0VTVFVSRV9LRVldID0gZ29iaiA9IHt9OwogICAgICB9CiAgICAgIGZvciAobGV0IGkgPSAwLCBkZXAsIGdkOyBpIDwgZGVwcy5sZW5ndGg7IGkrKykgewogICAgICAgIGRlcCA9IGRlcHNbaV07CiAgICAgICAgLy8gZG9uJ3QgYWRkIG1vdXNlIGhhbmRsZXJzIG9uIGlPUyBiZWNhdXNlIHRoZXkgY2F1c2UgZ3JheSBzZWxlY3Rpb24gb3ZlcmxheXMKICAgICAgICBpZiAoSVNfVE9VQ0hfT05MWSAmJiBpc01vdXNlRXZlbnQoZGVwKSAmJiBkZXAgIT09ICdjbGljaycpIHsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBnZCA9IGdvYmpbZGVwXTsKICAgICAgICBpZiAoIWdkKSB7CiAgICAgICAgICBnb2JqW2RlcF0gPSBnZCA9IHtfY291bnQ6IDB9OwogICAgICAgIH0KICAgICAgICBpZiAoZ2QuX2NvdW50ID09PSAwKSB7CiAgICAgICAgICBub2RlLmFkZEV2ZW50TGlzdGVuZXIoZGVwLCB0aGlzLl9oYW5kbGVOYXRpdmUsIFBBU1NJVkVfVE9VQ0goZGVwKSk7CiAgICAgICAgfQogICAgICAgIGdkW25hbWVdID0gKGdkW25hbWVdIHx8IDApICsgMTsKICAgICAgICBnZC5fY291bnQgPSAoZ2QuX2NvdW50IHx8IDApICsgMTsKICAgICAgfQogICAgICBub2RlLmFkZEV2ZW50TGlzdGVuZXIoZXZUeXBlLCBoYW5kbGVyKTsKICAgICAgaWYgKHJlY29nbml6ZXIudG91Y2hBY3Rpb24pIHsKICAgICAgICB0aGlzLnNldFRvdWNoQWN0aW9uKG5vZGUsIHJlY29nbml6ZXIudG91Y2hBY3Rpb24pOwogICAgICB9CiAgICB9LAoKICAgIC8qKgogICAgICogYXV0b21hdGUgZXZlbnQgbGlzdGVuZXIgcmVtb3ZhbCBmb3IgbmF0aXZlIGV2ZW50cwogICAgICoKICAgICAqIEBwcml2YXRlCiAgICAgKiBAcGFyYW0geyFIVE1MRWxlbWVudH0gbm9kZSBOb2RlIG9uIHdoaWNoIHRvIHJlbW92ZSB0aGUgZXZlbnQuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZUeXBlIEV2ZW50IHR5cGUgdG8gcmVtb3ZlLgogICAgICogQHBhcmFtIHtmdW5jdGlvbihFdmVudD8pfSBoYW5kbGVyIEV2ZW50IGhhbmRsZXIgZnVuY3Rpb24uCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICogQHRoaXMge0dlc3R1cmVzfQogICAgICovCiAgICBfcmVtb3ZlOiBmdW5jdGlvbihub2RlLCBldlR5cGUsIGhhbmRsZXIpIHsKICAgICAgbGV0IHJlY29nbml6ZXIgPSB0aGlzLmdlc3R1cmVzW2V2VHlwZV07CiAgICAgIGxldCBkZXBzID0gcmVjb2duaXplci5kZXBzOwogICAgICBsZXQgbmFtZSA9IHJlY29nbml6ZXIubmFtZTsKICAgICAgbGV0IGdvYmogPSBub2RlW0dFU1RVUkVfS0VZXTsKICAgICAgaWYgKGdvYmopIHsKICAgICAgICBmb3IgKGxldCBpID0gMCwgZGVwLCBnZDsgaSA8IGRlcHMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGRlcCA9IGRlcHNbaV07CiAgICAgICAgICBnZCA9IGdvYmpbZGVwXTsKICAgICAgICAgIGlmIChnZCAmJiBnZFtuYW1lXSkgewogICAgICAgICAgICBnZFtuYW1lXSA9IChnZFtuYW1lXSB8fCAxKSAtIDE7CiAgICAgICAgICAgIGdkLl9jb3VudCA9IChnZC5fY291bnQgfHwgMSkgLSAxOwogICAgICAgICAgICBpZiAoZ2QuX2NvdW50ID09PSAwKSB7CiAgICAgICAgICAgICAgbm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKGRlcCwgdGhpcy5faGFuZGxlTmF0aXZlLCBQQVNTSVZFX1RPVUNIKGRlcCkpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIG5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihldlR5cGUsIGhhbmRsZXIpOwogICAgfSwKCiAgICAvKioKICAgICAqIFJlZ2lzdGVycyBhIG5ldyBnZXN0dXJlIGV2ZW50IHJlY29nbml6ZXIgZm9yIGFkZGluZyBuZXcgY3VzdG9tCiAgICAgKiBnZXN0dXJlIGV2ZW50IHR5cGVzLgogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLkdlc3R1cmVzCiAgICAgKiBAcGFyYW0geyFHZXN0dXJlUmVjb2duaXplcn0gcmVjb2cgR2VzdHVyZSByZWNvZ25pemVyIGRlc2NyaXB0b3IKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKiBAdGhpcyB7R2VzdHVyZXN9CiAgICAgKi8KICAgIHJlZ2lzdGVyOiBmdW5jdGlvbihyZWNvZykgewogICAgICB0aGlzLnJlY29nbml6ZXJzLnB1c2gocmVjb2cpOwogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlY29nLmVtaXRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdGhpcy5nZXN0dXJlc1tyZWNvZy5lbWl0c1tpXV0gPSByZWNvZzsKICAgICAgfQogICAgfSwKCiAgICAvKioKICAgICAqIEBwcml2YXRlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZOYW1lIEV2ZW50IG5hbWUuCiAgICAgKiBAcmV0dXJuIHtPYmplY3R9IFJldHVybnMgdGhlIGdlc3R1cmUgZm9yIHRoZSBnaXZlbiBldmVudCBuYW1lLgogICAgICogQHRoaXMge0dlc3R1cmVzfQogICAgICovCiAgICBfZmluZFJlY29nbml6ZXJCeUV2ZW50OiBmdW5jdGlvbihldk5hbWUpIHsKICAgICAgZm9yIChsZXQgaSA9IDAsIHI7IGkgPCB0aGlzLnJlY29nbml6ZXJzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgciA9IHRoaXMucmVjb2duaXplcnNbaV07CiAgICAgICAgZm9yIChsZXQgaiA9IDAsIG47IGogPCByLmVtaXRzLmxlbmd0aDsgaisrKSB7CiAgICAgICAgICBuID0gci5lbWl0c1tqXTsKICAgICAgICAgIGlmIChuID09PSBldk5hbWUpIHsKICAgICAgICAgICAgcmV0dXJuIHI7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBudWxsOwogICAgfSwKCiAgICAvKioKICAgICAqIFNldHMgc2Nyb2xsaW5nIGRpcmVjdGlvbiBvbiBub2RlLgogICAgICoKICAgICAqIFRoaXMgdmFsdWUgaXMgY2hlY2tlZCBvbiBmaXJzdCBtb3ZlLCB0aHVzIGl0IHNob3VsZCBiZSBjYWxsZWQgcHJpb3IgdG8KICAgICAqIGFkZGluZyBldmVudCBsaXN0ZW5lcnMuCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuR2VzdHVyZXMKICAgICAqIEBwYXJhbSB7IUVsZW1lbnR9IG5vZGUgTm9kZSB0byBzZXQgdG91Y2ggYWN0aW9uIHNldHRpbmcgb24KICAgICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSBUb3VjaCBhY3Rpb24gdmFsdWUKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIHNldFRvdWNoQWN0aW9uOiBmdW5jdGlvbihub2RlLCB2YWx1ZSkgewogICAgICBpZiAoSEFTX05BVElWRV9UQSkgewogICAgICAgIC8vIE5PVEU6IGFkZCB0b3VjaEFjdGlvbiBhc3luYyBzbyB0aGF0IGV2ZW50cyBjYW4gYmUgYWRkZWQgaW4KICAgICAgICAvLyBjdXN0b20gZWxlbWVudCBjb25zdHJ1Y3RvcnMuIE90aGVyd2lzZSB3ZSBydW4gYWZvdWwgb2YgY3VzdG9tCiAgICAgICAgLy8gZWxlbWVudHMgcmVzdHJpY3Rpb24gYWdhaW5zdCBzZXR0aW5ncyBhdHRyaWJ1dGVzIChzdHlsZSkgaW4gdGhlCiAgICAgICAgLy8gY29uc3RydWN0b3IuCiAgICAgICAgUG9seW1lci5Bc3luYy5taWNyb1Rhc2sucnVuKCgpID0+IHsKICAgICAgICAgIG5vZGUuc3R5bGUudG91Y2hBY3Rpb24gPSB2YWx1ZTsKICAgICAgICB9KTsKICAgICAgfQogICAgICBub2RlW1RPVUNIX0FDVElPTl0gPSB2YWx1ZTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBEaXNwYXRjaGVzIGFuIGV2ZW50IG9uIHRoZSBgdGFyZ2V0YCBlbGVtZW50IG9mIGB0eXBlYCB3aXRoIHRoZSBnaXZlbgogICAgICogYGRldGFpbGAuCiAgICAgKiBAcHJpdmF0ZQogICAgICogQHBhcmFtIHshRXZlbnRUYXJnZXR9IHRhcmdldCBUaGUgZWxlbWVudCBvbiB3aGljaCB0byBmaXJlIGFuIGV2ZW50LgogICAgICogQHBhcmFtIHtzdHJpbmd9IHR5cGUgVGhlIHR5cGUgb2YgZXZlbnQgdG8gZmlyZS4KICAgICAqIEBwYXJhbSB7IU9iamVjdD19IGRldGFpbCBUaGUgZGV0YWlsIG9iamVjdCB0byBwb3B1bGF0ZSBvbiB0aGUgZXZlbnQuCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBfZmlyZTogZnVuY3Rpb24odGFyZ2V0LCB0eXBlLCBkZXRhaWwpIHsKICAgICAgbGV0IGV2ID0gbmV3IEV2ZW50KHR5cGUsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSk7CiAgICAgIGV2LmRldGFpbCA9IGRldGFpbDsKICAgICAgdGFyZ2V0LmRpc3BhdGNoRXZlbnQoZXYpOwogICAgICAvLyBmb3J3YXJkIGBwcmV2ZW50RGVmYXVsdGAgaW4gYSBjbGVhbiB3YXkKICAgICAgaWYgKGV2LmRlZmF1bHRQcmV2ZW50ZWQpIHsKICAgICAgICBsZXQgcHJldmVudGVyID0gZGV0YWlsLnByZXZlbnRlciB8fCBkZXRhaWwuc291cmNlRXZlbnQ7CiAgICAgICAgaWYgKHByZXZlbnRlciAmJiBwcmV2ZW50ZXIucHJldmVudERlZmF1bHQpIHsKICAgICAgICAgIHByZXZlbnRlci5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIH0KICAgICAgfQogICAgfSwKCiAgICAvKioKICAgICAqIFByZXZlbnRzIHRoZSBkaXNwYXRjaCBhbmQgZGVmYXVsdCBhY3Rpb24gb2YgdGhlIGdpdmVuIGV2ZW50IG5hbWUuCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuR2VzdHVyZXMKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldk5hbWUgRXZlbnQgbmFtZS4KICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKiBAdGhpcyB7R2VzdHVyZXN9CiAgICAgKi8KICAgIHByZXZlbnQ6IGZ1bmN0aW9uKGV2TmFtZSkgewogICAgICBsZXQgcmVjb2duaXplciA9IHRoaXMuX2ZpbmRSZWNvZ25pemVyQnlFdmVudChldk5hbWUpOwogICAgICBpZiAocmVjb2duaXplci5pbmZvKSB7CiAgICAgICAgcmVjb2duaXplci5pbmZvLnByZXZlbnQgPSB0cnVlOwogICAgICB9CiAgICB9LAoKICAgIC8qKgogICAgICogUmVzZXQgdGhlIDI1MDBtcyB0aW1lb3V0IG9uIHByb2Nlc3NpbmcgbW91c2UgaW5wdXQgYWZ0ZXIgZGV0ZWN0aW5nIHRvdWNoIGlucHV0LgogICAgICoKICAgICAqIFRvdWNoIGlucHV0cyBjcmVhdGUgc3ludGhlc2l6ZWQgbW91c2UgaW5wdXRzIGFueXdoZXJlIGZyb20gMCB0byAyMDAwbXMgYWZ0ZXIgdGhlIHRvdWNoLgogICAgICogVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGR1cmluZyB0ZXN0aW5nIHdpdGggc2ltdWxhdGVkIHRvdWNoIGlucHV0cy4KICAgICAqIENhbGxpbmcgdGhpcyBtZXRob2QgaW4gcHJvZHVjdGlvbiBtYXkgY2F1c2UgZHVwbGljYXRlIHRhcHMgb3Igb3RoZXIgR2VzdHVyZXMuCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuR2VzdHVyZXMKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIHJlc2V0TW91c2VDYW5jZWxsZXI6IGZ1bmN0aW9uKCkgewogICAgICBpZiAoUE9JTlRFUlNUQVRFLm1vdXNlLm1vdXNlSWdub3JlSm9iKSB7CiAgICAgICAgUE9JTlRFUlNUQVRFLm1vdXNlLm1vdXNlSWdub3JlSm9iLmZsdXNoKCk7CiAgICAgIH0KICAgIH0KICB9OwoKICAvKiBlc2xpbnQtZGlzYWJsZSB2YWxpZC1qc2RvYyAqLwoKICBHZXN0dXJlcy5yZWdpc3Rlcih7CiAgICBuYW1lOiAnZG93bnVwJywKICAgIGRlcHM6IFsnbW91c2Vkb3duJywgJ3RvdWNoc3RhcnQnLCAndG91Y2hlbmQnXSwKICAgIGZsb3c6IHsKICAgICAgc3RhcnQ6IFsnbW91c2Vkb3duJywgJ3RvdWNoc3RhcnQnXSwKICAgICAgZW5kOiBbJ21vdXNldXAnLCAndG91Y2hlbmQnXQogICAgfSwKICAgIGVtaXRzOiBbJ2Rvd24nLCAndXAnXSwKCiAgICBpbmZvOiB7CiAgICAgIG1vdmVmbjogbnVsbCwKICAgICAgdXBmbjogbnVsbAogICAgfSwKCiAgICAvKioKICAgICAqIEB0aGlzIHtHZXN0dXJlUmVjb2duaXplcn0KICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIHJlc2V0OiBmdW5jdGlvbigpIHsKICAgICAgdW50cmFja0RvY3VtZW50KHRoaXMuaW5mbyk7CiAgICB9LAoKICAgIC8qKgogICAgICogQHRoaXMge0dlc3R1cmVSZWNvZ25pemVyfQogICAgICogQHBhcmFtIHtNb3VzZUV2ZW50fSBlCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBtb3VzZWRvd246IGZ1bmN0aW9uKGUpIHsKICAgICAgaWYgKCFoYXNMZWZ0TW91c2VCdXR0b24oZSkpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgbGV0IHQgPSBHZXN0dXJlcy5fZmluZE9yaWdpbmFsVGFyZ2V0KGUpOwogICAgICBsZXQgc2VsZiA9IHRoaXM7CiAgICAgIGxldCBtb3ZlZm4gPSBmdW5jdGlvbiBtb3ZlZm4oZSkgewogICAgICAgIGlmICghaGFzTGVmdE1vdXNlQnV0dG9uKGUpKSB7CiAgICAgICAgICBzZWxmLl9maXJlKCd1cCcsIHQsIGUpOwogICAgICAgICAgdW50cmFja0RvY3VtZW50KHNlbGYuaW5mbyk7CiAgICAgICAgfQogICAgICB9OwogICAgICBsZXQgdXBmbiA9IGZ1bmN0aW9uIHVwZm4oZSkgewogICAgICAgIGlmIChoYXNMZWZ0TW91c2VCdXR0b24oZSkpIHsKICAgICAgICAgIHNlbGYuX2ZpcmUoJ3VwJywgdCwgZSk7CiAgICAgICAgfQogICAgICAgIHVudHJhY2tEb2N1bWVudChzZWxmLmluZm8pOwogICAgICB9OwogICAgICB0cmFja0RvY3VtZW50KHRoaXMuaW5mbywgbW92ZWZuLCB1cGZuKTsKICAgICAgdGhpcy5fZmlyZSgnZG93bicsIHQsIGUpOwogICAgfSwKICAgIC8qKgogICAgICogQHRoaXMge0dlc3R1cmVSZWNvZ25pemVyfQogICAgICogQHBhcmFtIHtUb3VjaEV2ZW50fSBlCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICB0b3VjaHN0YXJ0OiBmdW5jdGlvbihlKSB7CiAgICAgIHRoaXMuX2ZpcmUoJ2Rvd24nLCBHZXN0dXJlcy5fZmluZE9yaWdpbmFsVGFyZ2V0KGUpLCBlLmNoYW5nZWRUb3VjaGVzWzBdLCBlKTsKICAgIH0sCiAgICAvKioKICAgICAqIEB0aGlzIHtHZXN0dXJlUmVjb2duaXplcn0KICAgICAqIEBwYXJhbSB7VG91Y2hFdmVudH0gZQogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgdG91Y2hlbmQ6IGZ1bmN0aW9uKGUpIHsKICAgICAgdGhpcy5fZmlyZSgndXAnLCBHZXN0dXJlcy5fZmluZE9yaWdpbmFsVGFyZ2V0KGUpLCBlLmNoYW5nZWRUb3VjaGVzWzBdLCBlKTsKICAgIH0sCiAgICAvKioKICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0eXBlCiAgICAgKiBAcGFyYW0geyFFdmVudFRhcmdldH0gdGFyZ2V0CiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudAogICAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJldmVudGVyCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBfZmlyZTogZnVuY3Rpb24odHlwZSwgdGFyZ2V0LCBldmVudCwgcHJldmVudGVyKSB7CiAgICAgIEdlc3R1cmVzLl9maXJlKHRhcmdldCwgdHlwZSwgewogICAgICAgIHg6IGV2ZW50LmNsaWVudFgsCiAgICAgICAgeTogZXZlbnQuY2xpZW50WSwKICAgICAgICBzb3VyY2VFdmVudDogZXZlbnQsCiAgICAgICAgcHJldmVudGVyOiBwcmV2ZW50ZXIsCiAgICAgICAgcHJldmVudDogZnVuY3Rpb24oZSkgewogICAgICAgICAgcmV0dXJuIEdlc3R1cmVzLnByZXZlbnQoZSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0KICB9KTsKCiAgR2VzdHVyZXMucmVnaXN0ZXIoewogICAgbmFtZTogJ3RyYWNrJywKICAgIHRvdWNoQWN0aW9uOiAnbm9uZScsCiAgICBkZXBzOiBbJ21vdXNlZG93bicsICd0b3VjaHN0YXJ0JywgJ3RvdWNobW92ZScsICd0b3VjaGVuZCddLAogICAgZmxvdzogewogICAgICBzdGFydDogWydtb3VzZWRvd24nLCAndG91Y2hzdGFydCddLAogICAgICBlbmQ6IFsnbW91c2V1cCcsICd0b3VjaGVuZCddCiAgICB9LAogICAgZW1pdHM6IFsndHJhY2snXSwKCiAgICBpbmZvOiB7CiAgICAgIHg6IDAsCiAgICAgIHk6IDAsCiAgICAgIHN0YXRlOiAnc3RhcnQnLAogICAgICBzdGFydGVkOiBmYWxzZSwKICAgICAgbW92ZXM6IFtdLAogICAgICAvKiogQHRoaXMge0dlc3R1cmVSZWNvZ25pemVyfSAqLwogICAgICBhZGRNb3ZlOiBmdW5jdGlvbihtb3ZlKSB7CiAgICAgICAgaWYgKHRoaXMubW92ZXMubGVuZ3RoID4gVFJBQ0tfTEVOR1RIKSB7CiAgICAgICAgICB0aGlzLm1vdmVzLnNoaWZ0KCk7CiAgICAgICAgfQogICAgICAgIHRoaXMubW92ZXMucHVzaChtb3ZlKTsKICAgICAgfSwKICAgICAgbW92ZWZuOiBudWxsLAogICAgICB1cGZuOiBudWxsLAogICAgICBwcmV2ZW50OiBmYWxzZQogICAgfSwKCiAgICAvKioKICAgICAqIEB0aGlzIHtHZXN0dXJlUmVjb2duaXplcn0KICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIHJlc2V0OiBmdW5jdGlvbigpIHsKICAgICAgdGhpcy5pbmZvLnN0YXRlID0gJ3N0YXJ0JzsKICAgICAgdGhpcy5pbmZvLnN0YXJ0ZWQgPSBmYWxzZTsKICAgICAgdGhpcy5pbmZvLm1vdmVzID0gW107CiAgICAgIHRoaXMuaW5mby54ID0gMDsKICAgICAgdGhpcy5pbmZvLnkgPSAwOwogICAgICB0aGlzLmluZm8ucHJldmVudCA9IGZhbHNlOwogICAgICB1bnRyYWNrRG9jdW1lbnQodGhpcy5pbmZvKTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBAdGhpcyB7R2VzdHVyZVJlY29nbml6ZXJ9CiAgICAgKiBAcGFyYW0ge251bWJlcn0geAogICAgICogQHBhcmFtIHtudW1iZXJ9IHkKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIGhhc01vdmVkRW5vdWdoOiBmdW5jdGlvbih4LCB5KSB7CiAgICAgIGlmICh0aGlzLmluZm8ucHJldmVudCkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgICBpZiAodGhpcy5pbmZvLnN0YXJ0ZWQpIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgICBsZXQgZHggPSBNYXRoLmFicyh0aGlzLmluZm8ueCAtIHgpOwogICAgICBsZXQgZHkgPSBNYXRoLmFicyh0aGlzLmluZm8ueSAtIHkpOwogICAgICByZXR1cm4gKGR4ID49IFRSQUNLX0RJU1RBTkNFIHx8IGR5ID49IFRSQUNLX0RJU1RBTkNFKTsKICAgIH0sCiAgICAvKioKICAgICAqIEB0aGlzIHtHZXN0dXJlUmVjb2duaXplcn0KICAgICAqIEBwYXJhbSB7TW91c2VFdmVudH0gZQogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgbW91c2Vkb3duOiBmdW5jdGlvbihlKSB7CiAgICAgIGlmICghaGFzTGVmdE1vdXNlQnV0dG9uKGUpKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGxldCB0ID0gR2VzdHVyZXMuX2ZpbmRPcmlnaW5hbFRhcmdldChlKTsKICAgICAgbGV0IHNlbGYgPSB0aGlzOwogICAgICBsZXQgbW92ZWZuID0gZnVuY3Rpb24gbW92ZWZuKGUpIHsKICAgICAgICBsZXQgeCA9IGUuY2xpZW50WCwgeSA9IGUuY2xpZW50WTsKICAgICAgICBpZiAoc2VsZi5oYXNNb3ZlZEVub3VnaCh4LCB5KSkgewogICAgICAgICAgLy8gZmlyc3QgbW92ZSBpcyAnc3RhcnQnLCBzdWJzZXF1ZW50IG1vdmVzIGFyZSAnbW92ZScsIG1vdXNldXAgaXMgJ2VuZCcKICAgICAgICAgIHNlbGYuaW5mby5zdGF0ZSA9IHNlbGYuaW5mby5zdGFydGVkID8gKGUudHlwZSA9PT0gJ21vdXNldXAnID8gJ2VuZCcgOiAndHJhY2snKSA6ICdzdGFydCc7CiAgICAgICAgICBpZiAoc2VsZi5pbmZvLnN0YXRlID09PSAnc3RhcnQnKSB7CiAgICAgICAgICAgIC8vIGlmIGFuZCBvbmx5IGlmIHRyYWNraW5nLCBhbHdheXMgcHJldmVudCB0YXAKICAgICAgICAgICAgR2VzdHVyZXMucHJldmVudCgndGFwJyk7CiAgICAgICAgICB9CiAgICAgICAgICBzZWxmLmluZm8uYWRkTW92ZSh7eDogeCwgeTogeX0pOwogICAgICAgICAgaWYgKCFoYXNMZWZ0TW91c2VCdXR0b24oZSkpIHsKICAgICAgICAgICAgLy8gYWx3YXlzIF9maXJlICJlbmQiCiAgICAgICAgICAgIHNlbGYuaW5mby5zdGF0ZSA9ICdlbmQnOwogICAgICAgICAgICB1bnRyYWNrRG9jdW1lbnQoc2VsZi5pbmZvKTsKICAgICAgICAgIH0KICAgICAgICAgIHNlbGYuX2ZpcmUodCwgZSk7CiAgICAgICAgICBzZWxmLmluZm8uc3RhcnRlZCA9IHRydWU7CiAgICAgICAgfQogICAgICB9OwogICAgICBsZXQgdXBmbiA9IGZ1bmN0aW9uIHVwZm4oZSkgewogICAgICAgIGlmIChzZWxmLmluZm8uc3RhcnRlZCkgewogICAgICAgICAgbW92ZWZuKGUpOwogICAgICAgIH0KCiAgICAgICAgLy8gcmVtb3ZlIHRoZSB0ZW1wb3JhcnkgbGlzdGVuZXJzCiAgICAgICAgdW50cmFja0RvY3VtZW50KHNlbGYuaW5mbyk7CiAgICAgIH07CiAgICAgIC8vIGFkZCB0ZW1wb3JhcnkgZG9jdW1lbnQgbGlzdGVuZXJzIGFzIG1vdXNlIHJldGFyZ2V0cwogICAgICB0cmFja0RvY3VtZW50KHRoaXMuaW5mbywgbW92ZWZuLCB1cGZuKTsKICAgICAgdGhpcy5pbmZvLnggPSBlLmNsaWVudFg7CiAgICAgIHRoaXMuaW5mby55ID0gZS5jbGllbnRZOwogICAgfSwKICAgIC8qKgogICAgICogQHRoaXMge0dlc3R1cmVSZWNvZ25pemVyfQogICAgICogQHBhcmFtIHtUb3VjaEV2ZW50fSBlCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICB0b3VjaHN0YXJ0OiBmdW5jdGlvbihlKSB7CiAgICAgIGxldCBjdCA9IGUuY2hhbmdlZFRvdWNoZXNbMF07CiAgICAgIHRoaXMuaW5mby54ID0gY3QuY2xpZW50WDsKICAgICAgdGhpcy5pbmZvLnkgPSBjdC5jbGllbnRZOwogICAgfSwKICAgIC8qKgogICAgICogQHRoaXMge0dlc3R1cmVSZWNvZ25pemVyfQogICAgICogQHBhcmFtIHtUb3VjaEV2ZW50fSBlCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICB0b3VjaG1vdmU6IGZ1bmN0aW9uKGUpIHsKICAgICAgbGV0IHQgPSBHZXN0dXJlcy5fZmluZE9yaWdpbmFsVGFyZ2V0KGUpOwogICAgICBsZXQgY3QgPSBlLmNoYW5nZWRUb3VjaGVzWzBdOwogICAgICBsZXQgeCA9IGN0LmNsaWVudFgsIHkgPSBjdC5jbGllbnRZOwogICAgICBpZiAodGhpcy5oYXNNb3ZlZEVub3VnaCh4LCB5KSkgewogICAgICAgIGlmICh0aGlzLmluZm8uc3RhdGUgPT09ICdzdGFydCcpIHsKICAgICAgICAgIC8vIGlmIGFuZCBvbmx5IGlmIHRyYWNraW5nLCBhbHdheXMgcHJldmVudCB0YXAKICAgICAgICAgIEdlc3R1cmVzLnByZXZlbnQoJ3RhcCcpOwogICAgICAgIH0KICAgICAgICB0aGlzLmluZm8uYWRkTW92ZSh7eDogeCwgeTogeX0pOwogICAgICAgIHRoaXMuX2ZpcmUodCwgY3QpOwogICAgICAgIHRoaXMuaW5mby5zdGF0ZSA9ICd0cmFjayc7CiAgICAgICAgdGhpcy5pbmZvLnN0YXJ0ZWQgPSB0cnVlOwogICAgICB9CiAgICB9LAogICAgLyoqCiAgICAgKiBAdGhpcyB7R2VzdHVyZVJlY29nbml6ZXJ9CiAgICAgKiBAcGFyYW0ge1RvdWNoRXZlbnR9IGUKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIHRvdWNoZW5kOiBmdW5jdGlvbihlKSB7CiAgICAgIGxldCB0ID0gR2VzdHVyZXMuX2ZpbmRPcmlnaW5hbFRhcmdldChlKTsKICAgICAgbGV0IGN0ID0gZS5jaGFuZ2VkVG91Y2hlc1swXTsKICAgICAgLy8gb25seSB0cmFja2VuZCBpZiB0cmFjayB3YXMgc3RhcnRlZCBhbmQgbm90IGFib3J0ZWQKICAgICAgaWYgKHRoaXMuaW5mby5zdGFydGVkKSB7CiAgICAgICAgLy8gcmVzZXQgc3RhcnRlZCBzdGF0ZSBvbiB1cAogICAgICAgIHRoaXMuaW5mby5zdGF0ZSA9ICdlbmQnOwogICAgICAgIHRoaXMuaW5mby5hZGRNb3ZlKHt4OiBjdC5jbGllbnRYLCB5OiBjdC5jbGllbnRZfSk7CiAgICAgICAgdGhpcy5fZmlyZSh0LCBjdCwgZSk7CiAgICAgIH0KICAgIH0sCgogICAgLyoqCiAgICAgKiBAdGhpcyB7R2VzdHVyZVJlY29nbml6ZXJ9CiAgICAgKiBAcGFyYW0geyFFdmVudFRhcmdldH0gdGFyZ2V0CiAgICAgKiBAcGFyYW0ge1RvdWNofSB0b3VjaAogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgX2ZpcmU6IGZ1bmN0aW9uKHRhcmdldCwgdG91Y2gpIHsKICAgICAgbGV0IHNlY29uZGxhc3QgPSB0aGlzLmluZm8ubW92ZXNbdGhpcy5pbmZvLm1vdmVzLmxlbmd0aCAtIDJdOwogICAgICBsZXQgbGFzdG1vdmUgPSB0aGlzLmluZm8ubW92ZXNbdGhpcy5pbmZvLm1vdmVzLmxlbmd0aCAtIDFdOwogICAgICBsZXQgZHggPSBsYXN0bW92ZS54IC0gdGhpcy5pbmZvLng7CiAgICAgIGxldCBkeSA9IGxhc3Rtb3ZlLnkgLSB0aGlzLmluZm8ueTsKICAgICAgbGV0IGRkeCwgZGR5ID0gMDsKICAgICAgaWYgKHNlY29uZGxhc3QpIHsKICAgICAgICBkZHggPSBsYXN0bW92ZS54IC0gc2Vjb25kbGFzdC54OwogICAgICAgIGRkeSA9IGxhc3Rtb3ZlLnkgLSBzZWNvbmRsYXN0Lnk7CiAgICAgIH0KICAgICAgR2VzdHVyZXMuX2ZpcmUodGFyZ2V0LCAndHJhY2snLCB7CiAgICAgICAgc3RhdGU6IHRoaXMuaW5mby5zdGF0ZSwKICAgICAgICB4OiB0b3VjaC5jbGllbnRYLAogICAgICAgIHk6IHRvdWNoLmNsaWVudFksCiAgICAgICAgZHg6IGR4LAogICAgICAgIGR5OiBkeSwKICAgICAgICBkZHg6IGRkeCwKICAgICAgICBkZHk6IGRkeSwKICAgICAgICBzb3VyY2VFdmVudDogdG91Y2gsCiAgICAgICAgaG92ZXI6IGZ1bmN0aW9uKCkgewogICAgICAgICAgcmV0dXJuIEdlc3R1cmVzLmRlZXBUYXJnZXRGaW5kKHRvdWNoLmNsaWVudFgsIHRvdWNoLmNsaWVudFkpOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CgogIH0pOwoKICBHZXN0dXJlcy5yZWdpc3Rlcih7CiAgICBuYW1lOiAndGFwJywKICAgIGRlcHM6IFsnbW91c2Vkb3duJywgJ2NsaWNrJywgJ3RvdWNoc3RhcnQnLCAndG91Y2hlbmQnXSwKICAgIGZsb3c6IHsKICAgICAgc3RhcnQ6IFsnbW91c2Vkb3duJywgJ3RvdWNoc3RhcnQnXSwKICAgICAgZW5kOiBbJ2NsaWNrJywgJ3RvdWNoZW5kJ10KICAgIH0sCiAgICBlbWl0czogWyd0YXAnXSwKICAgIGluZm86IHsKICAgICAgeDogTmFOLAogICAgICB5OiBOYU4sCiAgICAgIHByZXZlbnQ6IGZhbHNlCiAgICB9LAogICAgLyoqCiAgICAgKiBAdGhpcyB7R2VzdHVyZVJlY29nbml6ZXJ9CiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICByZXNldDogZnVuY3Rpb24oKSB7CiAgICAgIHRoaXMuaW5mby54ID0gTmFOOwogICAgICB0aGlzLmluZm8ueSA9IE5hTjsKICAgICAgdGhpcy5pbmZvLnByZXZlbnQgPSBmYWxzZTsKICAgIH0sCiAgICAvKioKICAgICAqIEB0aGlzIHtHZXN0dXJlUmVjb2duaXplcn0KICAgICAqIEBwYXJhbSB7TW91c2VFdmVudH0gZQogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgc2F2ZTogZnVuY3Rpb24oZSkgewogICAgICB0aGlzLmluZm8ueCA9IGUuY2xpZW50WDsKICAgICAgdGhpcy5pbmZvLnkgPSBlLmNsaWVudFk7CiAgICB9LAogICAgLyoqCiAgICAgKiBAdGhpcyB7R2VzdHVyZVJlY29nbml6ZXJ9CiAgICAgKiBAcGFyYW0ge01vdXNlRXZlbnR9IGUKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIG1vdXNlZG93bjogZnVuY3Rpb24oZSkgewogICAgICBpZiAoaGFzTGVmdE1vdXNlQnV0dG9uKGUpKSB7CiAgICAgICAgdGhpcy5zYXZlKGUpOwogICAgICB9CiAgICB9LAogICAgLyoqCiAgICAgKiBAdGhpcyB7R2VzdHVyZVJlY29nbml6ZXJ9CiAgICAgKiBAcGFyYW0ge01vdXNlRXZlbnR9IGUKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIGNsaWNrOiBmdW5jdGlvbihlKSB7CiAgICAgIGlmIChoYXNMZWZ0TW91c2VCdXR0b24oZSkpIHsKICAgICAgICB0aGlzLmZvcndhcmQoZSk7CiAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIEB0aGlzIHtHZXN0dXJlUmVjb2duaXplcn0KICAgICAqIEBwYXJhbSB7VG91Y2hFdmVudH0gZQogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgdG91Y2hzdGFydDogZnVuY3Rpb24oZSkgewogICAgICB0aGlzLnNhdmUoZS5jaGFuZ2VkVG91Y2hlc1swXSwgZSk7CiAgICB9LAogICAgLyoqCiAgICAgKiBAdGhpcyB7R2VzdHVyZVJlY29nbml6ZXJ9CiAgICAgKiBAcGFyYW0ge1RvdWNoRXZlbnR9IGUKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIHRvdWNoZW5kOiBmdW5jdGlvbihlKSB7CiAgICAgIHRoaXMuZm9yd2FyZChlLmNoYW5nZWRUb3VjaGVzWzBdLCBlKTsKICAgIH0sCiAgICAvKioKICAgICAqIEB0aGlzIHtHZXN0dXJlUmVjb2duaXplcn0KICAgICAqIEBwYXJhbSB7RXZlbnQgfCBUb3VjaH0gZQogICAgICogQHBhcmFtIHtFdmVudD19IHByZXZlbnRlcgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgZm9yd2FyZDogZnVuY3Rpb24oZSwgcHJldmVudGVyKSB7CiAgICAgIGxldCBkeCA9IE1hdGguYWJzKGUuY2xpZW50WCAtIHRoaXMuaW5mby54KTsKICAgICAgbGV0IGR5ID0gTWF0aC5hYnMoZS5jbGllbnRZIC0gdGhpcy5pbmZvLnkpOwogICAgICAvLyBmaW5kIG9yaWdpbmFsIHRhcmdldCBmcm9tIGBwcmV2ZW50ZXJgIGZvciBUb3VjaEV2ZW50cywgb3IgYGVgIGZvciBNb3VzZUV2ZW50cwogICAgICBsZXQgdCA9IEdlc3R1cmVzLl9maW5kT3JpZ2luYWxUYXJnZXQoLyoqIEB0eXBlIHtFdmVudH0gKi8ocHJldmVudGVyIHx8IGUpKTsKICAgICAgaWYgKCF0IHx8IChjYW5CZURpc2FibGVkWy8qKiBAdHlwZSB7IUhUTUxFbGVtZW50fSAqLyh0KS5sb2NhbE5hbWVdICYmIHQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSkgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICAvLyBkeCxkeSBjYW4gYmUgTmFOIGlmIGBjbGlja2AgaGFzIGJlZW4gc2ltdWxhdGVkIGFuZCB0aGVyZSB3YXMgbm8gYGRvd25gIGZvciBgc3RhcnRgCiAgICAgIGlmIChpc05hTihkeCkgfHwgaXNOYU4oZHkpIHx8IChkeCA8PSBUQVBfRElTVEFOQ0UgJiYgZHkgPD0gVEFQX0RJU1RBTkNFKSB8fCBpc1N5bnRoZXRpY0NsaWNrKGUpKSB7CiAgICAgICAgLy8gcHJldmVudCB0YXBzIGZyb20gYmVpbmcgZ2VuZXJhdGVkIGlmIGFuIGV2ZW50IGhhcyBjYW5jZWxlZCB0aGVtCiAgICAgICAgaWYgKCF0aGlzLmluZm8ucHJldmVudCkgewogICAgICAgICAgR2VzdHVyZXMuX2ZpcmUodCwgJ3RhcCcsIHsKICAgICAgICAgICAgeDogZS5jbGllbnRYLAogICAgICAgICAgICB5OiBlLmNsaWVudFksCiAgICAgICAgICAgIHNvdXJjZUV2ZW50OiBlLAogICAgICAgICAgICBwcmV2ZW50ZXI6IHByZXZlbnRlcgogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfSk7CgogIC8qIGVzbGludC1lbmFibGUgdmFsaWQtanNkb2MgKi8KCiAgLyoqIEBkZXByZWNhdGVkICovCiAgR2VzdHVyZXMuZmluZE9yaWdpbmFsVGFyZ2V0ID0gR2VzdHVyZXMuX2ZpbmRPcmlnaW5hbFRhcmdldDsKCiAgLyoqIEBkZXByZWNhdGVkICovCiAgR2VzdHVyZXMuYWRkID0gR2VzdHVyZXMuYWRkTGlzdGVuZXI7CgogIC8qKiBAZGVwcmVjYXRlZCAqLwogIEdlc3R1cmVzLnJlbW92ZSA9IEdlc3R1cmVzLnJlbW92ZUxpc3RlbmVyOwoKICBQb2x5bWVyLkdlc3R1cmVzID0gR2VzdHVyZXM7Cgp9KSgpOwoKCihmdW5jdGlvbigpIHsKCiAgJ3VzZSBzdHJpY3QnOwoKICAvKioKICAgKiBAY29uc3Qge1BvbHltZXIuR2VzdHVyZXN9CiAgICovCiAgY29uc3QgZ2VzdHVyZXMgPSBQb2x5bWVyLkdlc3R1cmVzOwoKICAvKioKICAgKiBFbGVtZW50IGNsYXNzIG1peGluIHRoYXQgcHJvdmlkZXMgQVBJIGZvciBhZGRpbmcgUG9seW1lcidzIGNyb3NzLXBsYXRmb3JtCiAgICogZ2VzdHVyZSBldmVudHMgdG8gbm9kZXMuCiAgICoKICAgKiBUaGUgQVBJIGlzIGRlc2lnbmVkIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBvdmVycmlkZSBwb2ludHMgaW1wbGVtZW50ZWQKICAgKiBpbiBgUG9seW1lci5UZW1wbGF0ZVN0YW1wYCBzdWNoIHRoYXQgZGVjbGFyYXRpdmUgZXZlbnQgbGlzdGVuZXJzIGluCiAgICogdGVtcGxhdGVzIHdpbGwgc3VwcG9ydCBnZXN0dXJlIGV2ZW50cyB3aGVuIHRoaXMgbWl4aW4gaXMgYXBwbGllZCBhbG9uZyB3aXRoCiAgICogYFBvbHltZXIuVGVtcGxhdGVTdGFtcGAuCiAgICoKICAgKiBAbWl4aW5GdW5jdGlvbgogICAqIEBwb2x5bWVyCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAc3VtbWFyeSBFbGVtZW50IGNsYXNzIG1peGluIHRoYXQgcHJvdmlkZXMgQVBJIGZvciBhZGRpbmcgUG9seW1lcidzIGNyb3NzLXBsYXRmb3JtCiAgICogZ2VzdHVyZSBldmVudHMgdG8gbm9kZXMKICAgKi8KICBQb2x5bWVyLkdlc3R1cmVFdmVudExpc3RlbmVycyA9IFBvbHltZXIuZGVkdXBpbmdNaXhpbihzdXBlckNsYXNzID0+IHsKCiAgICAvKioKICAgICAqIEBwb2x5bWVyCiAgICAgKiBAbWl4aW5DbGFzcwogICAgICogQGltcGxlbWVudHMge1BvbHltZXJfR2VzdHVyZUV2ZW50TGlzdGVuZXJzfQogICAgICovCiAgICBjbGFzcyBHZXN0dXJlRXZlbnRMaXN0ZW5lcnMgZXh0ZW5kcyBzdXBlckNsYXNzIHsKCiAgICAgIC8qKgogICAgICAgKiBBZGQgdGhlIGV2ZW50IGxpc3RlbmVyIHRvIHRoZSBub2RlIGlmIGl0IGlzIGEgZ2VzdHVyZXMgZXZlbnQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7IU5vZGV9IG5vZGUgTm9kZSB0byBhZGQgZXZlbnQgbGlzdGVuZXIgdG8KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSBOYW1lIG9mIGV2ZW50CiAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oIUV2ZW50KTp2b2lkfSBoYW5kbGVyIExpc3RlbmVyIGZ1bmN0aW9uIHRvIGFkZAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgX2FkZEV2ZW50TGlzdGVuZXJUb05vZGUobm9kZSwgZXZlbnROYW1lLCBoYW5kbGVyKSB7CiAgICAgICAgaWYgKCFnZXN0dXJlcy5hZGRMaXN0ZW5lcihub2RlLCBldmVudE5hbWUsIGhhbmRsZXIpKSB7CiAgICAgICAgICBzdXBlci5fYWRkRXZlbnRMaXN0ZW5lclRvTm9kZShub2RlLCBldmVudE5hbWUsIGhhbmRsZXIpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJlbW92ZSB0aGUgZXZlbnQgbGlzdGVuZXIgdG8gdGhlIG5vZGUgaWYgaXQgaXMgYSBnZXN0dXJlcyBldmVudC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshTm9kZX0gbm9kZSBOb2RlIHRvIHJlbW92ZSBldmVudCBsaXN0ZW5lciBmcm9tCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWUgTmFtZSBvZiBldmVudAogICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKCFFdmVudCk6dm9pZH0gaGFuZGxlciBMaXN0ZW5lciBmdW5jdGlvbiB0byByZW1vdmUKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIF9yZW1vdmVFdmVudExpc3RlbmVyRnJvbU5vZGUobm9kZSwgZXZlbnROYW1lLCBoYW5kbGVyKSB7CiAgICAgICAgaWYgKCFnZXN0dXJlcy5yZW1vdmVMaXN0ZW5lcihub2RlLCBldmVudE5hbWUsIGhhbmRsZXIpKSB7CiAgICAgICAgICBzdXBlci5fcmVtb3ZlRXZlbnRMaXN0ZW5lckZyb21Ob2RlKG5vZGUsIGV2ZW50TmFtZSwgaGFuZGxlcik7CiAgICAgICAgfQogICAgICB9CgogICAgfQoKICAgIHJldHVybiBHZXN0dXJlRXZlbnRMaXN0ZW5lcnM7CgogIH0pOwoKfSkoKTsKCgogIChmdW5jdGlvbigpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICBjb25zdCBIT1NUX0RJUiA9IC86aG9zdFwoOmRpclwoKGx0cnxydGwpXClcKS9nOwogICAgY29uc3QgSE9TVF9ESVJfUkVQTEFDTUVOVCA9ICc6aG9zdChbZGlyPSIkMSJdKSc7CgogICAgY29uc3QgRUxfRElSID0gLyhbXHNcdy0jXC5cW1xdXCpdKik6ZGlyXCgobHRyfHJ0bClcKS9nOwogICAgY29uc3QgRUxfRElSX1JFUExBQ01FTlQgPSAnOmhvc3QoW2Rpcj0iJDIiXSkgJDEnOwoKICAgIGNvbnN0IERJUl9DSEVDSyA9IC86ZGlyXCgoPzpsdHJ8cnRsKVwpLzsKICAgIAogICAgY29uc3QgU0hJTV9TSEFET1cgPSBCb29sZWFuKHdpbmRvd1snU2hhZHlET00nXSAmJiB3aW5kb3dbJ1NoYWR5RE9NJ11bJ2luVXNlJ10pOwoKICAgIC8qKgogICAgICogQHR5cGUgeyFBcnJheTwhUG9seW1lcl9EaXJNaXhpbj59CiAgICAgKi8KICAgIGNvbnN0IERJUl9JTlNUQU5DRVMgPSBbXTsKCiAgICAvKiogQHR5cGUge011dGF0aW9uT2JzZXJ2ZXJ9ICovCiAgICBsZXQgb2JzZXJ2ZXIgPSBudWxsOwoKICAgIGxldCBET0NVTUVOVF9ESVIgPSAnJzsKCiAgICBmdW5jdGlvbiBnZXRSVEwoKSB7CiAgICAgIERPQ1VNRU5UX0RJUiA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RpcicpOwogICAgfQoKICAgIC8qKgogICAgICogQHBhcmFtIHshUG9seW1lcl9EaXJNaXhpbn0gaW5zdGFuY2UgSW5zdGFuY2UgdG8gc2V0IFJUTCBzdGF0dXMgb24KICAgICAqLwogICAgZnVuY3Rpb24gc2V0UlRMKGluc3RhbmNlKSB7CiAgICAgIGlmICghaW5zdGFuY2UuX19hdXRvRGlyT3B0T3V0KSB7CiAgICAgICAgY29uc3QgZWwgPSAvKiogQHR5cGUgeyFIVE1MRWxlbWVudH0gKi8oaW5zdGFuY2UpOwogICAgICAgIGVsLnNldEF0dHJpYnV0ZSgnZGlyJywgRE9DVU1FTlRfRElSKTsKICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIHVwZGF0ZURpcmVjdGlvbigpIHsKICAgICAgZ2V0UlRMKCk7CiAgICAgIERPQ1VNRU5UX0RJUiA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RpcicpOwogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IERJUl9JTlNUQU5DRVMubGVuZ3RoOyBpKyspIHsKICAgICAgICBzZXRSVEwoRElSX0lOU1RBTkNFU1tpXSk7CiAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiB0YWtlUmVjb3JkcygpIHsKICAgICAgaWYgKG9ic2VydmVyICYmIG9ic2VydmVyLnRha2VSZWNvcmRzKCkubGVuZ3RoKSB7CiAgICAgICAgdXBkYXRlRGlyZWN0aW9uKCk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEVsZW1lbnQgY2xhc3MgbWl4aW4gdGhhdCBhbGxvd3MgZWxlbWVudHMgdG8gdXNlIHRoZSBgOmRpcmAgQ1NTIFNlbGVjdG9yIHRvIGhhdmUKICAgICAqIHRleHQgZGlyZWN0aW9uIHNwZWNpZmljIHN0eWxpbmcuCiAgICAgKgogICAgICogV2l0aCB0aGlzIG1peGluLCBhbnkgc3R5bGVzaGVldCBwcm92aWRlZCBpbiB0aGUgdGVtcGxhdGUgd2lsbCB0cmFuc2Zvcm0gYDpkaXJgIGludG8KICAgICAqIGA6aG9zdChbZGlyXSlgIGFuZCBzeW5jIGRpcmVjdGlvbiB3aXRoIHRoZSBwYWdlIHZpYSB0aGUgZWxlbWVudCdzIGBkaXJgIGF0dHJpYnV0ZS4KICAgICAqCiAgICAgKiBFbGVtZW50cyBjYW4gb3B0IG91dCBvZiB0aGUgZ2xvYmFsIHBhZ2UgdGV4dCBkaXJlY3Rpb24gYnkgc2V0dGluZyB0aGUgYGRpcmAgYXR0cmlidXRlCiAgICAgKiBkaXJlY3RseSBpbiBgcmVhZHkoKWAgb3IgaW4gSFRNTC4KICAgICAqCiAgICAgKiBDYXZlYXRzOgogICAgICogLSBBcHBsaWNhdGlvbnMgbXVzdCBzZXQgYDxodG1sIGRpcj0ibHRyIj5gIG9yIGA8aHRtbCBkaXI9InJ0bCI+YCB0byBzeW5jIGRpcmVjdGlvbgogICAgICogLSBBdXRvbWF0aWMgbGVmdC10by1yaWdodCBvciByaWdodC10by1sZWZ0IHN0eWxpbmcgaXMgc3luYydkIHdpdGggdGhlIGA8aHRtbD5gIGVsZW1lbnQgb25seS4KICAgICAqIC0gQ2hhbmdpbmcgYGRpcmAgYXQgcnVudGltZSBpcyBzdXBwb3J0ZWQuCiAgICAgKiAtIE9wdGluZyBvdXQgb2YgdGhlIGdsb2JhbCBkaXJlY3Rpb24gc3R5bGluZyBpcyBwZXJtYW5lbnQKICAgICAqCiAgICAgKiBAbWl4aW5GdW5jdGlvbgogICAgICogQHBvbHltZXIKICAgICAqIEBhcHBsaWVzTWl4aW4gUG9seW1lci5Qcm9wZXJ0eUFjY2Vzc29ycwogICAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgICAqLwogICAgUG9seW1lci5EaXJNaXhpbiA9IFBvbHltZXIuZGVkdXBpbmdNaXhpbigoYmFzZSkgPT4gewoKICAgICAgaWYgKCFTSElNX1NIQURPVykgewogICAgICAgIGlmICghb2JzZXJ2ZXIpIHsKICAgICAgICAgIGdldFJUTCgpOwogICAgICAgICAgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcih1cGRhdGVEaXJlY3Rpb24pOwogICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIHthdHRyaWJ1dGVzOiB0cnVlLCBhdHRyaWJ1dGVGaWx0ZXI6IFsnZGlyJ119KTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBAY29uc3RydWN0b3IKICAgICAgICogQGV4dGVuZHMge2Jhc2V9CiAgICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX1Byb3BlcnR5QWNjZXNzb3JzfQogICAgICAgKiBAcHJpdmF0ZQogICAgICAgKi8KICAgICAgY29uc3QgZWxlbWVudEJhc2UgPSBQb2x5bWVyLlByb3BlcnR5QWNjZXNzb3JzKGJhc2UpOwoKICAgICAgLyoqCiAgICAgICAqIEBwb2x5bWVyCiAgICAgICAqIEBtaXhpbkNsYXNzCiAgICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX0Rpck1peGlufQogICAgICAgKi8KICAgICAgY2xhc3MgRGlyIGV4dGVuZHMgZWxlbWVudEJhc2UgewoKICAgICAgICAvKioKICAgICAgICAgKiBAb3ZlcnJpZGUKICAgICAgICAgKiBAc3VwcHJlc3Mge21pc3NpbmdQcm9wZXJ0aWVzfSBJbnRlcmZhY2VzIGluIGNsb3N1cmUgZG8gbm90IGluaGVyaXQgc3RhdGljcywgYnV0IGNsYXNzZXMgZG8KICAgICAgICAgKi8KICAgICAgICBzdGF0aWMgX3Byb2Nlc3NTdHlsZVRleHQoY3NzVGV4dCwgYmFzZVVSSSkgewogICAgICAgICAgY3NzVGV4dCA9IHN1cGVyLl9wcm9jZXNzU3R5bGVUZXh0KGNzc1RleHQsIGJhc2VVUkkpOwogICAgICAgICAgaWYgKCFTSElNX1NIQURPVyAmJiBESVJfQ0hFQ0sudGVzdChjc3NUZXh0KSkgewogICAgICAgICAgICBjc3NUZXh0ID0gdGhpcy5fcmVwbGFjZURpckluQ3NzVGV4dChjc3NUZXh0KTsKICAgICAgICAgICAgdGhpcy5fX2FjdGl2YXRlRGlyID0gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBjc3NUZXh0OwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogUmVwbGFjZSBgOmRpcmAgaW4gdGhlIGdpdmVuIENTUyB0ZXh0CiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCBDU1MgdGV4dCB0byByZXBsYWNlIERJUgogICAgICAgICAqIEByZXR1cm4ge3N0cmluZ30gTW9kaWZpZWQgQ1NTCiAgICAgICAgICovCiAgICAgICAgc3RhdGljIF9yZXBsYWNlRGlySW5Dc3NUZXh0KHRleHQpIHsKICAgICAgICAgIGxldCByZXBsYWNlZFRleHQgPSB0ZXh0OwogICAgICAgICAgcmVwbGFjZWRUZXh0ID0gcmVwbGFjZWRUZXh0LnJlcGxhY2UoSE9TVF9ESVIsIEhPU1RfRElSX1JFUExBQ01FTlQpOwogICAgICAgICAgcmVwbGFjZWRUZXh0ID0gcmVwbGFjZWRUZXh0LnJlcGxhY2UoRUxfRElSLCBFTF9ESVJfUkVQTEFDTUVOVCk7CiAgICAgICAgICByZXR1cm4gcmVwbGFjZWRUZXh0OwogICAgICAgIH0KCiAgICAgICAgY29uc3RydWN0b3IoKSB7CiAgICAgICAgICBzdXBlcigpOwogICAgICAgICAgLyoqIEB0eXBlIHtib29sZWFufSAqLwogICAgICAgICAgdGhpcy5fX2F1dG9EaXJPcHRPdXQgPSBmYWxzZTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEBzdXBwcmVzcyB7aW52YWxpZENhc3RzfSBDbG9zdXJlIGRvZXNuJ3QgdW5kZXJzdGFuZCB0aGF0IGB0aGlzYCBpcyBhbiBIVE1MRWxlbWVudAogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICovCiAgICAgICAgcmVhZHkoKSB7CiAgICAgICAgICBzdXBlci5yZWFkeSgpOwogICAgICAgICAgdGhpcy5fX2F1dG9EaXJPcHRPdXQgPSAvKiogQHR5cGUgeyFIVE1MRWxlbWVudH0gKi8odGhpcykuaGFzQXR0cmlidXRlKCdkaXInKTsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEBzdXBwcmVzcyB7bWlzc2luZ1Byb3BlcnRpZXN9IElmIGl0IGV4aXN0cyBvbiBlbGVtZW50QmFzZSwgaXQgY2FuIGJlIHN1cGVyJ2QKICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqLwogICAgICAgIGNvbm5lY3RlZENhbGxiYWNrKCkgewogICAgICAgICAgaWYgKGVsZW1lbnRCYXNlLnByb3RvdHlwZS5jb25uZWN0ZWRDYWxsYmFjaykgewogICAgICAgICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpOwogICAgICAgICAgfQogICAgICAgICAgaWYgKHRoaXMuY29uc3RydWN0b3IuX19hY3RpdmF0ZURpcikgewogICAgICAgICAgICB0YWtlUmVjb3JkcygpOwogICAgICAgICAgICBESVJfSU5TVEFOQ0VTLnB1c2godGhpcyk7CiAgICAgICAgICAgIHNldFJUTCh0aGlzKTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEBzdXBwcmVzcyB7bWlzc2luZ1Byb3BlcnRpZXN9IElmIGl0IGV4aXN0cyBvbiBlbGVtZW50QmFzZSwgaXQgY2FuIGJlIHN1cGVyJ2QKICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqLwogICAgICAgIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkgewogICAgICAgICAgaWYgKGVsZW1lbnRCYXNlLnByb3RvdHlwZS5kaXNjb25uZWN0ZWRDYWxsYmFjaykgewogICAgICAgICAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpOwogICAgICAgICAgfQogICAgICAgICAgaWYgKHRoaXMuY29uc3RydWN0b3IuX19hY3RpdmF0ZURpcikgewogICAgICAgICAgICBjb25zdCBpZHggPSBESVJfSU5TVEFOQ0VTLmluZGV4T2YodGhpcyk7CiAgICAgICAgICAgIGlmIChpZHggPiAtMSkgewogICAgICAgICAgICAgIERJUl9JTlNUQU5DRVMuc3BsaWNlKGlkeCwgMSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIERpci5fX2FjdGl2YXRlRGlyID0gZmFsc2U7CgogICAgICByZXR1cm4gRGlyOwogICAgfSk7CiAgfSkoKTsKCgoKKGZ1bmN0aW9uKCkgewoKICAndXNlIHN0cmljdCc7CgogIC8vIHJ1biBhIGNhbGxiYWNrIHdoZW4gSFRNTEltcG9ydHMgYXJlIHJlYWR5IG9yIGltbWVkaWF0ZWx5IGlmCiAgLy8gdGhpcyBhcGkgaXMgbm90IGF2YWlsYWJsZS4KICBmdW5jdGlvbiB3aGVuSW1wb3J0c1JlYWR5KGNiKSB7CiAgICBpZiAod2luZG93LkhUTUxJbXBvcnRzKSB7CiAgICAgIEhUTUxJbXBvcnRzLndoZW5SZWFkeShjYik7CiAgICB9IGVsc2UgewogICAgICBjYigpOwogICAgfQogIH0KCiAgLyoqCiAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBpbXBvcnRpbmcgYW4gSFRNTCBkb2N1bWVudCBpbXBlcmF0aXZlbHkuCiAgICoKICAgKiBUaGlzIG1ldGhvZCBjcmVhdGVzIGEgbmV3IGA8bGluayByZWw9ImltcG9ydCI+YCBlbGVtZW50IHdpdGgKICAgKiB0aGUgcHJvdmlkZWQgVVJMIGFuZCBhcHBlbmRzIGl0IHRvIHRoZSBkb2N1bWVudCB0byBzdGFydCBsb2FkaW5nLgogICAqIEluIHRoZSBgb25sb2FkYCBjYWxsYmFjaywgdGhlIGBpbXBvcnRgIHByb3BlcnR5IG9mIHRoZSBgbGlua2AKICAgKiBlbGVtZW50IHdpbGwgY29udGFpbiB0aGUgaW1wb3J0ZWQgZG9jdW1lbnQgY29udGVudHMuCiAgICoKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBwYXJhbSB7c3RyaW5nfSBocmVmIFVSTCB0byBkb2N1bWVudCB0byBsb2FkLgogICAqIEBwYXJhbSB7P2Z1bmN0aW9uKCFFdmVudCk6dm9pZD19IG9ubG9hZCBDYWxsYmFjayB0byBub3RpZnkgd2hlbiBhbiBpbXBvcnQgc3VjY2Vzc2Z1bGx5CiAgICogICBsb2FkZWQuCiAgICogQHBhcmFtIHs/ZnVuY3Rpb24oIUVycm9yRXZlbnQpOnZvaWQ9fSBvbmVycm9yIENhbGxiYWNrIHRvIG5vdGlmeSB3aGVuIGFuIGltcG9ydAogICAqICAgdW5zdWNjZXNzZnVsbHkgbG9hZGVkLgogICAqIEBwYXJhbSB7Ym9vbGVhbj19IG9wdEFzeW5jIFRydWUgaWYgdGhlIGltcG9ydCBzaG91bGQgYmUgbG9hZGVkIGBhc3luY2AuCiAgICogICBEZWZhdWx0cyB0byBgZmFsc2VgLgogICAqIEByZXR1cm4geyFIVE1MTGlua0VsZW1lbnR9IFRoZSBsaW5rIGVsZW1lbnQgZm9yIHRoZSBVUkwgdG8gYmUgbG9hZGVkLgogICAqLwogIFBvbHltZXIuaW1wb3J0SHJlZiA9IGZ1bmN0aW9uKGhyZWYsIG9ubG9hZCwgb25lcnJvciwgb3B0QXN5bmMpIHsKICAgIGxldCBsaW5rID0gLyoqIEB0eXBlIHtIVE1MTGlua0VsZW1lbnR9ICovCiAgICAgIChkb2N1bWVudC5oZWFkLnF1ZXJ5U2VsZWN0b3IoJ2xpbmtbaHJlZj0iJyArIGhyZWYgKyAnIl1baW1wb3J0LWhyZWZdJykpOwogICAgaWYgKCFsaW5rKSB7CiAgICAgIGxpbmsgPSAvKiogQHR5cGUge0hUTUxMaW5rRWxlbWVudH0gKi8gKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKSk7CiAgICAgIGxpbmsucmVsID0gJ2ltcG9ydCc7CiAgICAgIGxpbmsuaHJlZiA9IGhyZWY7CiAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdpbXBvcnQtaHJlZicsICcnKTsKICAgIH0KICAgIC8vIGFsd2F5cyBlbnN1cmUgbGluayBoYXMgYGFzeW5jYCBhdHRyaWJ1dGUgaWYgdXNlciBzcGVjaWZpZWQgb25lLAogICAgLy8gZXZlbiBpZiBpdCB3YXMgcHJldmlvdXNseSBub3QgYXN5bmMuIFRoaXMgaXMgY29uc2lkZXJlZCBsZXNzIGNvbmZ1c2luZy4KICAgIGlmIChvcHRBc3luYykgewogICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnYXN5bmMnLCAnJyk7CiAgICB9CiAgICAvLyBOT1RFOiB0aGUgbGluayBtYXkgbm93IGJlIGluIDMgc3RhdGVzOiAoMSkgcGVuZGluZyBpbnNlcnRpb24sCiAgICAvLyAoMikgaW5mbGlnaHQsICgzKSBhbHJlYWR5IGxvYWRlZC4gSW4gZWFjaCBjYXNlLCB3ZSBuZWVkIHRvIGFkZAogICAgLy8gZXZlbnQgbGlzdGVuZXJzIHRvIHByb2Nlc3MgY2FsbGJhY2tzLgogICAgbGV0IGNsZWFudXAgPSBmdW5jdGlvbigpIHsKICAgICAgbGluay5yZW1vdmVFdmVudExpc3RlbmVyKCdsb2FkJywgbG9hZExpc3RlbmVyKTsKICAgICAgbGluay5yZW1vdmVFdmVudExpc3RlbmVyKCdlcnJvcicsIGVycm9yTGlzdGVuZXIpOwogICAgfTsKICAgIGxldCBsb2FkTGlzdGVuZXIgPSBmdW5jdGlvbihldmVudCkgewogICAgICBjbGVhbnVwKCk7CiAgICAgIC8vIEluIGNhc2Ugb2YgYSBzdWNjZXNzZnVsIGxvYWQsIGNhY2hlIHRoZSBsb2FkIGV2ZW50IG9uIHRoZSBsaW5rIHNvCiAgICAgIC8vIHRoYXQgaXQgY2FuIGJlIHVzZWQgdG8gc2hvcnQtY2lyY3VpdCB0aGlzIG1ldGhvZCBpbiB0aGUgZnV0dXJlIHdoZW4KICAgICAgLy8gaXQgaXMgY2FsbGVkIHdpdGggdGhlIHNhbWUgaHJlZiBwYXJhbS4KICAgICAgbGluay5fX2R5bmFtaWNJbXBvcnRMb2FkZWQgPSB0cnVlOwogICAgICBpZiAob25sb2FkKSB7CiAgICAgICAgd2hlbkltcG9ydHNSZWFkeSgoKSA9PiB7CiAgICAgICAgICBvbmxvYWQoZXZlbnQpOwogICAgICAgIH0pOwogICAgICB9CiAgICB9OwogICAgbGV0IGVycm9yTGlzdGVuZXIgPSBmdW5jdGlvbihldmVudCkgewogICAgICBjbGVhbnVwKCk7CiAgICAgIC8vIEluIGNhc2Ugb2YgYW4gZXJyb3IsIHJlbW92ZSB0aGUgbGluayBmcm9tIHRoZSBkb2N1bWVudCBzbyB0aGF0IGl0CiAgICAgIC8vIHdpbGwgYmUgYXV0b21hdGljYWxseSBjcmVhdGVkIGFnYWluIHRoZSBuZXh0IHRpbWUgYGltcG9ydEhyZWZgIGlzCiAgICAgIC8vIGNhbGxlZC4KICAgICAgaWYgKGxpbmsucGFyZW50Tm9kZSkgewogICAgICAgIGxpbmsucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChsaW5rKTsKICAgICAgfQogICAgICBpZiAob25lcnJvcikgewogICAgICAgIHdoZW5JbXBvcnRzUmVhZHkoKCkgPT4gewogICAgICAgICAgb25lcnJvcihldmVudCk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH07CiAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBsb2FkTGlzdGVuZXIpOwogICAgbGluay5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIGVycm9yTGlzdGVuZXIpOwogICAgaWYgKGxpbmsucGFyZW50Tm9kZSA9PSBudWxsKSB7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobGluayk7CiAgICAvLyBpZiB0aGUgbGluayBhbHJlYWR5IGxvYWRlZCwgZGlzcGF0Y2ggYSBmYWtlIGxvYWQgZXZlbnQKICAgIC8vIHNvIHRoYXQgbGlzdGVuZXJzIGFyZSBjYWxsZWQgYW5kIGdldCBhIHByb3BlciBldmVudCBhcmd1bWVudC4KICAgIH0gZWxzZSBpZiAobGluay5fX2R5bmFtaWNJbXBvcnRMb2FkZWQpIHsKICAgICAgbGluay5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnbG9hZCcpKTsKICAgIH0KICAgIHJldHVybiBsaW5rOwogIH07Cgp9KSgpOwoKCihmdW5jdGlvbigpIHsKCiAgJ3VzZSBzdHJpY3QnOwoKICBsZXQgc2NoZWR1bGVkID0gZmFsc2U7CiAgbGV0IGJlZm9yZVJlbmRlclF1ZXVlID0gW107CiAgbGV0IGFmdGVyUmVuZGVyUXVldWUgPSBbXTsKCiAgZnVuY3Rpb24gc2NoZWR1bGUoKSB7CiAgICBzY2hlZHVsZWQgPSB0cnVlOwogICAgLy8gYmVmb3JlIG5leHQgcmVuZGVyCiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKSB7CiAgICAgIHNjaGVkdWxlZCA9IGZhbHNlOwogICAgICBmbHVzaFF1ZXVlKGJlZm9yZVJlbmRlclF1ZXVlKTsKICAgICAgLy8gYWZ0ZXIgdGhlIHJlbmRlcgogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgIHJ1blF1ZXVlKGFmdGVyUmVuZGVyUXVldWUpOwogICAgICB9KTsKICAgIH0pOwogIH0KCiAgZnVuY3Rpb24gZmx1c2hRdWV1ZShxdWV1ZSkgewogICAgd2hpbGUgKHF1ZXVlLmxlbmd0aCkgewogICAgICBjYWxsTWV0aG9kKHF1ZXVlLnNoaWZ0KCkpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gcnVuUXVldWUocXVldWUpIHsKICAgIGZvciAobGV0IGk9MCwgbD1xdWV1ZS5sZW5ndGg7IGkgPCBsOyBpKyspIHsKICAgICAgY2FsbE1ldGhvZChxdWV1ZS5zaGlmdCgpKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGNhbGxNZXRob2QoaW5mbykgewogICAgY29uc3QgY29udGV4dCA9IGluZm9bMF07CiAgICBjb25zdCBjYWxsYmFjayA9IGluZm9bMV07CiAgICBjb25zdCBhcmdzID0gaW5mb1syXTsKICAgIHRyeSB7CiAgICAgIGNhbGxiYWNrLmFwcGx5KGNvbnRleHQsIGFyZ3MpOwogICAgfSBjYXRjaChlKSB7CiAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgIHRocm93IGU7CiAgICAgIH0pOwogICAgfQogIH0KCiAgZnVuY3Rpb24gZmx1c2goKSB7CiAgICB3aGlsZSAoYmVmb3JlUmVuZGVyUXVldWUubGVuZ3RoIHx8IGFmdGVyUmVuZGVyUXVldWUubGVuZ3RoKSB7CiAgICAgIGZsdXNoUXVldWUoYmVmb3JlUmVuZGVyUXVldWUpOwogICAgICBmbHVzaFF1ZXVlKGFmdGVyUmVuZGVyUXVldWUpOwogICAgfQogICAgc2NoZWR1bGVkID0gZmFsc2U7CiAgfQoKICAvKioKICAgKiBNb2R1bGUgZm9yIHNjaGVkdWxpbmcgZmx1c2hhYmxlIHByZS1yZW5kZXIgYW5kIHBvc3QtcmVuZGVyIHRhc2tzLgogICAqCiAgICogQG5hbWVzcGFjZQogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHN1bW1hcnkgTW9kdWxlIGZvciBzY2hlZHVsaW5nIGZsdXNoYWJsZSBwcmUtcmVuZGVyIGFuZCBwb3N0LXJlbmRlciB0YXNrcy4KICAgKi8KICBQb2x5bWVyLlJlbmRlclN0YXR1cyA9IHsKCiAgICAvKioKICAgICAqIEVucXVldWVzIGEgY2FsbGJhY2sgd2hpY2ggd2lsbCBiZSBydW4gYmVmb3JlIHRoZSBuZXh0IHJlbmRlciwgYXQKICAgICAqIGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgIHRpbWluZy4KICAgICAqCiAgICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VmdWwgZm9yIGVucXVldWluZyB3b3JrIHRoYXQgcmVxdWlyZXMgRE9NIG1lYXN1cmVtZW50LAogICAgICogc2luY2UgbWVhc3VyZW1lbnQgbWF5IG5vdCBiZSByZWxpYWJsZSBpbiBjdXN0b20gZWxlbWVudCBjYWxsYmFja3MgYmVmb3JlCiAgICAgKiB0aGUgZmlyc3QgcmVuZGVyLCBhcyB3ZWxsIGFzIGZvciBiYXRjaGluZyBtZWFzdXJlbWVudCB0YXNrcyBpbiBnZW5lcmFsLgogICAgICoKICAgICAqIFRhc2tzIGluIHRoaXMgcXVldWUgbWF5IGJlIGZsdXNoZWQgYnkgY2FsbGluZyBgUG9seW1lci5SZW5kZXJTdGF0dXMuZmx1c2goKWAuCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuUmVuZGVyU3RhdHVzCiAgICAgKiBAcGFyYW0geyp9IGNvbnRleHQgQ29udGV4dCBvYmplY3QgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHdpbGwgYmUgYm91bmQgdG8KICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oLi4uKik6dm9pZH0gY2FsbGJhY2sgQ2FsbGJhY2sgZnVuY3Rpb24KICAgICAqIEBwYXJhbSB7IUFycmF5PX0gYXJncyBBbiBhcnJheSBvZiBhcmd1bWVudHMgdG8gY2FsbCB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gd2l0aAogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgYmVmb3JlTmV4dFJlbmRlcjogZnVuY3Rpb24oY29udGV4dCwgY2FsbGJhY2ssIGFyZ3MpIHsKICAgICAgaWYgKCFzY2hlZHVsZWQpIHsKICAgICAgICBzY2hlZHVsZSgpOwogICAgICB9CiAgICAgIGJlZm9yZVJlbmRlclF1ZXVlLnB1c2goW2NvbnRleHQsIGNhbGxiYWNrLCBhcmdzXSk7CiAgICB9LAoKICAgIC8qKgogICAgICogRW5xdWV1ZXMgYSBjYWxsYmFjayB3aGljaCB3aWxsIGJlIHJ1biBhZnRlciB0aGUgbmV4dCByZW5kZXIsIGVxdWl2YWxlbnQKICAgICAqIHRvIG9uZSB0YXNrIChgc2V0VGltZW91dGApIGFmdGVyIHRoZSBuZXh0IGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgLgogICAgICoKICAgICAqIFRoaXMgbWV0aG9kIGlzIHVzZWZ1bCBmb3IgdHVuaW5nIHRoZSBmaXJzdC1yZW5kZXIgcGVyZm9ybWFuY2Ugb2YgYW4KICAgICAqIGVsZW1lbnQgb3IgYXBwbGljYXRpb24gYnkgZGVmZXJyaW5nIG5vbi1jcml0aWNhbCB3b3JrIHVudGlsIGFmdGVyIHRoZQogICAgICogZmlyc3QgcGFpbnQuICBUeXBpY2FsIG5vbi1yZW5kZXItY3JpdGljYWwgd29yayBtYXkgaW5jbHVkZSBhZGRpbmcgVUkKICAgICAqIGV2ZW50IGxpc3RlbmVycyBhbmQgYXJpYSBhdHRyaWJ1dGVzLgogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlJlbmRlclN0YXR1cwogICAgICogQHBhcmFtIHsqfSBjb250ZXh0IENvbnRleHQgb2JqZWN0IHRoZSBjYWxsYmFjayBmdW5jdGlvbiB3aWxsIGJlIGJvdW5kIHRvCiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKC4uLiopOnZvaWR9IGNhbGxiYWNrIENhbGxiYWNrIGZ1bmN0aW9uCiAgICAgKiBAcGFyYW0geyFBcnJheT19IGFyZ3MgQW4gYXJyYXkgb2YgYXJndW1lbnRzIHRvIGNhbGwgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHdpdGgKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIGFmdGVyTmV4dFJlbmRlcjogZnVuY3Rpb24oY29udGV4dCwgY2FsbGJhY2ssIGFyZ3MpIHsKICAgICAgaWYgKCFzY2hlZHVsZWQpIHsKICAgICAgICBzY2hlZHVsZSgpOwogICAgICB9CiAgICAgIGFmdGVyUmVuZGVyUXVldWUucHVzaChbY29udGV4dCwgY2FsbGJhY2ssIGFyZ3NdKTsKICAgIH0sCgogICAgLyoqCiAgICAgKiBGbHVzaGVzIGFsbCBgYmVmb3JlTmV4dFJlbmRlcmAgdGFza3MsIGZvbGxvd2VkIGJ5IGFsbCBgYWZ0ZXJOZXh0UmVuZGVyYAogICAgICogdGFza3MuCiAgICAgKgogICAgICogQG1lbWJlcm9mIFBvbHltZXIuUmVuZGVyU3RhdHVzCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBmbHVzaDogZmx1c2gKCiAgfTsKCn0pKCk7CgoKKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgLy8gdW5yZXNvbHZlZAoKICBmdW5jdGlvbiByZXNvbHZlKCkgewogICAgZG9jdW1lbnQuYm9keS5yZW1vdmVBdHRyaWJ1dGUoJ3VucmVzb2x2ZWQnKTsKICB9CgogIGlmICh3aW5kb3cuV2ViQ29tcG9uZW50cykgewogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ1dlYkNvbXBvbmVudHNSZWFkeScsIHJlc29sdmUpOwogIH0gZWxzZSB7CiAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2ludGVyYWN0aXZlJyB8fCBkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7CiAgICAgIHJlc29sdmUoKTsKICAgIH0gZWxzZSB7CiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgcmVzb2x2ZSk7CiAgICB9CiAgfQoKfSkoKTsKCgooZnVuY3Rpb24oKSB7CgogICd1c2Ugc3RyaWN0JzsKCiAgZnVuY3Rpb24gbmV3U3BsaWNlKGluZGV4LCByZW1vdmVkLCBhZGRlZENvdW50KSB7CiAgICByZXR1cm4gewogICAgICBpbmRleDogaW5kZXgsCiAgICAgIHJlbW92ZWQ6IHJlbW92ZWQsCiAgICAgIGFkZGVkQ291bnQ6IGFkZGVkQ291bnQKICAgIH07CiAgfQoKICBjb25zdCBFRElUX0xFQVZFID0gMDsKICBjb25zdCBFRElUX1VQREFURSA9IDE7CiAgY29uc3QgRURJVF9BREQgPSAyOwogIGNvbnN0IEVESVRfREVMRVRFID0gMzsKCiAgLy8gTm90ZTogVGhpcyBmdW5jdGlvbiBpcyAqYmFzZWQqIG9uIHRoZSBjb21wdXRhdGlvbiBvZiB0aGUgTGV2ZW5zaHRlaW4KICAvLyAiZWRpdCIgZGlzdGFuY2UuIFRoZSBvbmUgY2hhbmdlIGlzIHRoYXQgInVwZGF0ZXMiIGFyZSB0cmVhdGVkIGFzIHR3bwogIC8vIGVkaXRzIC0gbm90IG9uZS4gV2l0aCBBcnJheSBzcGxpY2VzLCBhbiB1cGRhdGUgaXMgcmVhbGx5IGEgZGVsZXRlCiAgLy8gZm9sbG93ZWQgYnkgYW4gYWRkLiBCeSByZXRhaW5pbmcgdGhpcywgd2Ugb3B0aW1pemUgZm9yICJrZWVwaW5nIiB0aGUKICAvLyBtYXhpbXVtIGFycmF5IGl0ZW1zIGluIHRoZSBvcmlnaW5hbCBhcnJheS4gRm9yIGV4YW1wbGU6CiAgLy8KICAvLyAgICd4eHh4MTIzJyAtPiAnMTIzeXl5eScKICAvLwogIC8vIFdpdGggMS1lZGl0IHVwZGF0ZXMsIHRoZSBzaG9ydGVzdCBwYXRoIHdvdWxkIGJlIGp1c3QgdG8gdXBkYXRlIGFsbCBzZXZlbgogIC8vIGNoYXJhY3RlcnMuIFdpdGggMi1lZGl0IHVwZGF0ZXMsIHdlIGRlbGV0ZSA0LCBsZWF2ZSAzLCBhbmQgYWRkIDQuIFRoaXMKICAvLyBsZWF2ZXMgdGhlIHN1YnN0cmluZyAnMTIzJyBpbnRhY3QuCiAgZnVuY3Rpb24gY2FsY0VkaXREaXN0YW5jZXMoY3VycmVudCwgY3VycmVudFN0YXJ0LCBjdXJyZW50RW5kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGQsIG9sZFN0YXJ0LCBvbGRFbmQpIHsKICAgIC8vICJEZWxldGlvbiIgY29sdW1ucwogICAgbGV0IHJvd0NvdW50ID0gb2xkRW5kIC0gb2xkU3RhcnQgKyAxOwogICAgbGV0IGNvbHVtbkNvdW50ID0gY3VycmVudEVuZCAtIGN1cnJlbnRTdGFydCArIDE7CiAgICBsZXQgZGlzdGFuY2VzID0gbmV3IEFycmF5KHJvd0NvdW50KTsKCiAgICAvLyAiQWRkaXRpb24iIHJvd3MuIEluaXRpYWxpemUgbnVsbCBjb2x1bW4uCiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd0NvdW50OyBpKyspIHsKICAgICAgZGlzdGFuY2VzW2ldID0gbmV3IEFycmF5KGNvbHVtbkNvdW50KTsKICAgICAgZGlzdGFuY2VzW2ldWzBdID0gaTsKICAgIH0KCiAgICAvLyBJbml0aWFsaXplIG51bGwgcm93CiAgICBmb3IgKGxldCBqID0gMDsgaiA8IGNvbHVtbkNvdW50OyBqKyspCiAgICAgIGRpc3RhbmNlc1swXVtqXSA9IGo7CgogICAgZm9yIChsZXQgaSA9IDE7IGkgPCByb3dDb3VudDsgaSsrKSB7CiAgICAgIGZvciAobGV0IGogPSAxOyBqIDwgY29sdW1uQ291bnQ7IGorKykgewogICAgICAgIGlmIChlcXVhbHMoY3VycmVudFtjdXJyZW50U3RhcnQgKyBqIC0gMV0sIG9sZFtvbGRTdGFydCArIGkgLSAxXSkpCiAgICAgICAgICBkaXN0YW5jZXNbaV1bal0gPSBkaXN0YW5jZXNbaSAtIDFdW2ogLSAxXTsKICAgICAgICBlbHNlIHsKICAgICAgICAgIGxldCBub3J0aCA9IGRpc3RhbmNlc1tpIC0gMV1bal0gKyAxOwogICAgICAgICAgbGV0IHdlc3QgPSBkaXN0YW5jZXNbaV1baiAtIDFdICsgMTsKICAgICAgICAgIGRpc3RhbmNlc1tpXVtqXSA9IG5vcnRoIDwgd2VzdCA/IG5vcnRoIDogd2VzdDsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gZGlzdGFuY2VzOwogIH0KCiAgLy8gVGhpcyBzdGFydHMgYXQgdGhlIGZpbmFsIHdlaWdodCwgYW5kIHdhbGtzICJiYWNrd2FyZCIgYnkgZmluZGluZwogIC8vIHRoZSBtaW5pbXVtIHByZXZpb3VzIHdlaWdodCByZWN1cnNpdmVseSB1bnRpbCB0aGUgb3JpZ2luIG9mIHRoZSB3ZWlnaHQKICAvLyBtYXRyaXguCiAgZnVuY3Rpb24gc3BsaWNlT3BlcmF0aW9uc0Zyb21FZGl0RGlzdGFuY2VzKGRpc3RhbmNlcykgewogICAgbGV0IGkgPSBkaXN0YW5jZXMubGVuZ3RoIC0gMTsKICAgIGxldCBqID0gZGlzdGFuY2VzWzBdLmxlbmd0aCAtIDE7CiAgICBsZXQgY3VycmVudCA9IGRpc3RhbmNlc1tpXVtqXTsKICAgIGxldCBlZGl0cyA9IFtdOwogICAgd2hpbGUgKGkgPiAwIHx8IGogPiAwKSB7CiAgICAgIGlmIChpID09IDApIHsKICAgICAgICBlZGl0cy5wdXNoKEVESVRfQUREKTsKICAgICAgICBqLS07CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgaWYgKGogPT0gMCkgewogICAgICAgIGVkaXRzLnB1c2goRURJVF9ERUxFVEUpOwogICAgICAgIGktLTsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICBsZXQgbm9ydGhXZXN0ID0gZGlzdGFuY2VzW2kgLSAxXVtqIC0gMV07CiAgICAgIGxldCB3ZXN0ID0gZGlzdGFuY2VzW2kgLSAxXVtqXTsKICAgICAgbGV0IG5vcnRoID0gZGlzdGFuY2VzW2ldW2ogLSAxXTsKCiAgICAgIGxldCBtaW47CiAgICAgIGlmICh3ZXN0IDwgbm9ydGgpCiAgICAgICAgbWluID0gd2VzdCA8IG5vcnRoV2VzdCA/IHdlc3QgOiBub3J0aFdlc3Q7CiAgICAgIGVsc2UKICAgICAgICBtaW4gPSBub3J0aCA8IG5vcnRoV2VzdCA/IG5vcnRoIDogbm9ydGhXZXN0OwoKICAgICAgaWYgKG1pbiA9PSBub3J0aFdlc3QpIHsKICAgICAgICBpZiAobm9ydGhXZXN0ID09IGN1cnJlbnQpIHsKICAgICAgICAgIGVkaXRzLnB1c2goRURJVF9MRUFWRSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGVkaXRzLnB1c2goRURJVF9VUERBVEUpOwogICAgICAgICAgY3VycmVudCA9IG5vcnRoV2VzdDsKICAgICAgICB9CiAgICAgICAgaS0tOwogICAgICAgIGotLTsKICAgICAgfSBlbHNlIGlmIChtaW4gPT0gd2VzdCkgewogICAgICAgIGVkaXRzLnB1c2goRURJVF9ERUxFVEUpOwogICAgICAgIGktLTsKICAgICAgICBjdXJyZW50ID0gd2VzdDsKICAgICAgfSBlbHNlIHsKICAgICAgICBlZGl0cy5wdXNoKEVESVRfQUREKTsKICAgICAgICBqLS07CiAgICAgICAgY3VycmVudCA9IG5vcnRoOwogICAgICB9CiAgICB9CgogICAgZWRpdHMucmV2ZXJzZSgpOwogICAgcmV0dXJuIGVkaXRzOwogIH0KCiAgLyoqCiAgICogU3BsaWNlIFByb2plY3Rpb24gZnVuY3Rpb25zOgogICAqCiAgICogQSBzcGxpY2UgbWFwIGlzIGEgcmVwcmVzZW50YXRpb24gb2YgaG93IGEgcHJldmlvdXMgYXJyYXkgb2YgaXRlbXMKICAgKiB3YXMgdHJhbnNmb3JtZWQgaW50byBhIG5ldyBhcnJheSBvZiBpdGVtcy4gQ29uY2VwdHVhbGx5IGl0IGlzIGEgbGlzdCBvZgogICAqIHR1cGxlcyBvZgogICAqCiAgICogICA8aW5kZXgsIHJlbW92ZWQsIGFkZGVkQ291bnQ+CiAgICoKICAgKiB3aGljaCBhcmUga2VwdCBpbiBhc2NlbmRpbmcgaW5kZXggb3JkZXIgb2YuIFRoZSB0dXBsZSByZXByZXNlbnRzIHRoYXQgYXQKICAgKiB0aGUgfGluZGV4fCwgfHJlbW92ZWR8IHNlcXVlbmNlIG9mIGl0ZW1zIHdlcmUgcmVtb3ZlZCwgYW5kIGNvdW50aW5nIGZvcndhcmQKICAgKiBmcm9tIHxpbmRleHwsIHxhZGRlZENvdW50fCBpdGVtcyB3ZXJlIGFkZGVkLgogICAqLwoKICAvKioKICAgKiBMYWNraW5nIGluZGl2aWR1YWwgc3BsaWNlIG11dGF0aW9uIGluZm9ybWF0aW9uLCB0aGUgbWluaW1hbCBzZXQgb2YKICAgKiBzcGxpY2VzIGNhbiBiZSBzeW50aGVzaXplZCBnaXZlbiB0aGUgcHJldmlvdXMgc3RhdGUgYW5kIGZpbmFsIHN0YXRlIG9mIGFuCiAgICogYXJyYXkuIFRoZSBiYXNpYyBhcHByb2FjaCBpcyB0byBjYWxjdWxhdGUgdGhlIGVkaXQgZGlzdGFuY2UgbWF0cml4IGFuZAogICAqIGNob29zZSB0aGUgc2hvcnRlc3QgcGF0aCB0aHJvdWdoIGl0LgogICAqCiAgICogQ29tcGxleGl0eTogTyhsICogcCkKICAgKiAgIGw6IFRoZSBsZW5ndGggb2YgdGhlIGN1cnJlbnQgYXJyYXkKICAgKiAgIHA6IFRoZSBsZW5ndGggb2YgdGhlIG9sZCBhcnJheQogICAqCiAgICogQHBhcmFtIHshQXJyYXl9IGN1cnJlbnQgVGhlIGN1cnJlbnQgImNoYW5nZWQiIGFycmF5IGZvciB3aGljaCB0bwogICAqIGNhbGN1bGF0ZSBzcGxpY2VzLgogICAqIEBwYXJhbSB7bnVtYmVyfSBjdXJyZW50U3RhcnQgU3RhcnRpbmcgaW5kZXggaW4gdGhlIGBjdXJyZW50YCBhcnJheSBmb3IKICAgKiB3aGljaCBzcGxpY2VzIGFyZSBjYWxjdWxhdGVkLgogICAqIEBwYXJhbSB7bnVtYmVyfSBjdXJyZW50RW5kIEVuZGluZyBpbmRleCBpbiB0aGUgYGN1cnJlbnRgIGFycmF5IGZvcgogICAqIHdoaWNoIHNwbGljZXMgYXJlIGNhbGN1bGF0ZWQuCiAgICogQHBhcmFtIHshQXJyYXl9IG9sZCBUaGUgb3JpZ2luYWwgInVuY2hhbmdlZCIgYXJyYXkgdG8gY29tcGFyZSBgY3VycmVudGAKICAgKiBhZ2FpbnN0IHRvIGRldGVybWluZSBzcGxpY2VzLgogICAqIEBwYXJhbSB7bnVtYmVyfSBvbGRTdGFydCBTdGFydGluZyBpbmRleCBpbiB0aGUgYG9sZGAgYXJyYXkgZm9yCiAgICogd2hpY2ggc3BsaWNlcyBhcmUgY2FsY3VsYXRlZC4KICAgKiBAcGFyYW0ge251bWJlcn0gb2xkRW5kIEVuZGluZyBpbmRleCBpbiB0aGUgYG9sZGAgYXJyYXkgZm9yCiAgICogd2hpY2ggc3BsaWNlcyBhcmUgY2FsY3VsYXRlZC4KICAgKiBAcmV0dXJuIHshQXJyYXl9IFJldHVybnMgYW4gYXJyYXkgb2Ygc3BsaWNlIHJlY29yZCBvYmplY3RzLiBFYWNoIG9mIHRoZXNlCiAgICogY29udGFpbnM6IGBpbmRleGAgdGhlIGxvY2F0aW9uIHdoZXJlIHRoZSBzcGxpY2Ugb2NjdXJyZWQ7IGByZW1vdmVkYAogICAqIHRoZSBhcnJheSBvZiByZW1vdmVkIGl0ZW1zIGZyb20gdGhpcyBsb2NhdGlvbjsgYGFkZGVkQ291bnRgIHRoZSBudW1iZXIKICAgKiBvZiBpdGVtcyBhZGRlZCBhdCB0aGlzIGxvY2F0aW9uLgogICAqLwogIGZ1bmN0aW9uIGNhbGNTcGxpY2VzKGN1cnJlbnQsIGN1cnJlbnRTdGFydCwgY3VycmVudEVuZCwKICAgICAgICAgICAgICAgICAgICAgICAgb2xkLCBvbGRTdGFydCwgb2xkRW5kKSB7CiAgICBsZXQgcHJlZml4Q291bnQgPSAwOwogICAgbGV0IHN1ZmZpeENvdW50ID0gMDsKICAgIGxldCBzcGxpY2U7CgogICAgbGV0IG1pbkxlbmd0aCA9IE1hdGgubWluKGN1cnJlbnRFbmQgLSBjdXJyZW50U3RhcnQsIG9sZEVuZCAtIG9sZFN0YXJ0KTsKICAgIGlmIChjdXJyZW50U3RhcnQgPT0gMCAmJiBvbGRTdGFydCA9PSAwKQogICAgICBwcmVmaXhDb3VudCA9IHNoYXJlZFByZWZpeChjdXJyZW50LCBvbGQsIG1pbkxlbmd0aCk7CgogICAgaWYgKGN1cnJlbnRFbmQgPT0gY3VycmVudC5sZW5ndGggJiYgb2xkRW5kID09IG9sZC5sZW5ndGgpCiAgICAgIHN1ZmZpeENvdW50ID0gc2hhcmVkU3VmZml4KGN1cnJlbnQsIG9sZCwgbWluTGVuZ3RoIC0gcHJlZml4Q291bnQpOwoKICAgIGN1cnJlbnRTdGFydCArPSBwcmVmaXhDb3VudDsKICAgIG9sZFN0YXJ0ICs9IHByZWZpeENvdW50OwogICAgY3VycmVudEVuZCAtPSBzdWZmaXhDb3VudDsKICAgIG9sZEVuZCAtPSBzdWZmaXhDb3VudDsKCiAgICBpZiAoY3VycmVudEVuZCAtIGN1cnJlbnRTdGFydCA9PSAwICYmIG9sZEVuZCAtIG9sZFN0YXJ0ID09IDApCiAgICAgIHJldHVybiBbXTsKCiAgICBpZiAoY3VycmVudFN0YXJ0ID09IGN1cnJlbnRFbmQpIHsKICAgICAgc3BsaWNlID0gbmV3U3BsaWNlKGN1cnJlbnRTdGFydCwgW10sIDApOwogICAgICB3aGlsZSAob2xkU3RhcnQgPCBvbGRFbmQpCiAgICAgICAgc3BsaWNlLnJlbW92ZWQucHVzaChvbGRbb2xkU3RhcnQrK10pOwoKICAgICAgcmV0dXJuIFsgc3BsaWNlIF07CiAgICB9IGVsc2UgaWYgKG9sZFN0YXJ0ID09IG9sZEVuZCkKICAgICAgcmV0dXJuIFsgbmV3U3BsaWNlKGN1cnJlbnRTdGFydCwgW10sIGN1cnJlbnRFbmQgLSBjdXJyZW50U3RhcnQpIF07CgogICAgbGV0IG9wcyA9IHNwbGljZU9wZXJhdGlvbnNGcm9tRWRpdERpc3RhbmNlcygKICAgICAgICBjYWxjRWRpdERpc3RhbmNlcyhjdXJyZW50LCBjdXJyZW50U3RhcnQsIGN1cnJlbnRFbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGQsIG9sZFN0YXJ0LCBvbGRFbmQpKTsKCiAgICBzcGxpY2UgPSB1bmRlZmluZWQ7CiAgICBsZXQgc3BsaWNlcyA9IFtdOwogICAgbGV0IGluZGV4ID0gY3VycmVudFN0YXJ0OwogICAgbGV0IG9sZEluZGV4ID0gb2xkU3RhcnQ7CiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9wcy5sZW5ndGg7IGkrKykgewogICAgICBzd2l0Y2gob3BzW2ldKSB7CiAgICAgICAgY2FzZSBFRElUX0xFQVZFOgogICAgICAgICAgaWYgKHNwbGljZSkgewogICAgICAgICAgICBzcGxpY2VzLnB1c2goc3BsaWNlKTsKICAgICAgICAgICAgc3BsaWNlID0gdW5kZWZpbmVkOwogICAgICAgICAgfQoKICAgICAgICAgIGluZGV4Kys7CiAgICAgICAgICBvbGRJbmRleCsrOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSBFRElUX1VQREFURToKICAgICAgICAgIGlmICghc3BsaWNlKQogICAgICAgICAgICBzcGxpY2UgPSBuZXdTcGxpY2UoaW5kZXgsIFtdLCAwKTsKCiAgICAgICAgICBzcGxpY2UuYWRkZWRDb3VudCsrOwogICAgICAgICAgaW5kZXgrKzsKCiAgICAgICAgICBzcGxpY2UucmVtb3ZlZC5wdXNoKG9sZFtvbGRJbmRleF0pOwogICAgICAgICAgb2xkSW5kZXgrKzsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgRURJVF9BREQ6CiAgICAgICAgICBpZiAoIXNwbGljZSkKICAgICAgICAgICAgc3BsaWNlID0gbmV3U3BsaWNlKGluZGV4LCBbXSwgMCk7CgogICAgICAgICAgc3BsaWNlLmFkZGVkQ291bnQrKzsKICAgICAgICAgIGluZGV4Kys7CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIEVESVRfREVMRVRFOgogICAgICAgICAgaWYgKCFzcGxpY2UpCiAgICAgICAgICAgIHNwbGljZSA9IG5ld1NwbGljZShpbmRleCwgW10sIDApOwoKICAgICAgICAgIHNwbGljZS5yZW1vdmVkLnB1c2gob2xkW29sZEluZGV4XSk7CiAgICAgICAgICBvbGRJbmRleCsrOwogICAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoc3BsaWNlKSB7CiAgICAgIHNwbGljZXMucHVzaChzcGxpY2UpOwogICAgfQogICAgcmV0dXJuIHNwbGljZXM7CiAgfQoKICBmdW5jdGlvbiBzaGFyZWRQcmVmaXgoY3VycmVudCwgb2xkLCBzZWFyY2hMZW5ndGgpIHsKICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VhcmNoTGVuZ3RoOyBpKyspCiAgICAgIGlmICghZXF1YWxzKGN1cnJlbnRbaV0sIG9sZFtpXSkpCiAgICAgICAgcmV0dXJuIGk7CiAgICByZXR1cm4gc2VhcmNoTGVuZ3RoOwogIH0KCiAgZnVuY3Rpb24gc2hhcmVkU3VmZml4KGN1cnJlbnQsIG9sZCwgc2VhcmNoTGVuZ3RoKSB7CiAgICBsZXQgaW5kZXgxID0gY3VycmVudC5sZW5ndGg7CiAgICBsZXQgaW5kZXgyID0gb2xkLmxlbmd0aDsKICAgIGxldCBjb3VudCA9IDA7CiAgICB3aGlsZSAoY291bnQgPCBzZWFyY2hMZW5ndGggJiYgZXF1YWxzKGN1cnJlbnRbLS1pbmRleDFdLCBvbGRbLS1pbmRleDJdKSkKICAgICAgY291bnQrKzsKCiAgICByZXR1cm4gY291bnQ7CiAgfQoKICBmdW5jdGlvbiBjYWxjdWxhdGVTcGxpY2VzKGN1cnJlbnQsIHByZXZpb3VzKSB7CiAgICByZXR1cm4gY2FsY1NwbGljZXMoY3VycmVudCwgMCwgY3VycmVudC5sZW5ndGgsIHByZXZpb3VzLCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXMubGVuZ3RoKTsKICB9CgogIGZ1bmN0aW9uIGVxdWFscyhjdXJyZW50VmFsdWUsIHByZXZpb3VzVmFsdWUpIHsKICAgIHJldHVybiBjdXJyZW50VmFsdWUgPT09IHByZXZpb3VzVmFsdWU7CiAgfQoKICAvKioKICAgKiBAbmFtZXNwYWNlCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAc3VtbWFyeSBNb2R1bGUgdGhhdCBwcm92aWRlcyB1dGlsaXRpZXMgZm9yIGRpZmZpbmcgYXJyYXlzLgogICAqLwogIFBvbHltZXIuQXJyYXlTcGxpY2UgPSB7CiAgICAvKioKICAgICAqIFJldHVybnMgYW4gYXJyYXkgb2Ygc3BsaWNlIHJlY29yZHMgaW5kaWNhdGluZyB0aGUgbWluaW11bSBlZGl0cyByZXF1aXJlZAogICAgICogdG8gdHJhbnNmb3JtIHRoZSBgcHJldmlvdXNgIGFycmF5IGludG8gdGhlIGBjdXJyZW50YCBhcnJheS4KICAgICAqCiAgICAgKiBTcGxpY2UgcmVjb3JkcyBhcmUgb3JkZXJlZCBieSBpbmRleCBhbmQgY29udGFpbiB0aGUgZm9sbG93aW5nIGZpZWxkczoKICAgICAqIC0gYGluZGV4YDogaW5kZXggd2hlcmUgZWRpdCBzdGFydGVkCiAgICAgKiAtIGByZW1vdmVkYDogYXJyYXkgb2YgcmVtb3ZlZCBpdGVtcyBmcm9tIHRoaXMgaW5kZXgKICAgICAqIC0gYGFkZGVkQ291bnRgOiBudW1iZXIgb2YgaXRlbXMgYWRkZWQgYXQgdGhpcyBpbmRleAogICAgICoKICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgYmFzZWQgb24gdGhlIExldmVuc2h0ZWluICJtaW5pbXVtIGVkaXQgZGlzdGFuY2UiCiAgICAgKiBhbGdvcml0aG0uIE5vdGUgdGhhdCB1cGRhdGVzIGFyZSB0cmVhdGVkIGFzIHJlbW92YWwgZm9sbG93ZWQgYnkgYWRkaXRpb24uCiAgICAgKgogICAgICogVGhlIHdvcnN0LWNhc2UgdGltZSBjb21wbGV4aXR5IG9mIHRoaXMgYWxnb3JpdGhtIGlzIGBPKGwgKiBwKWAKICAgICAqICAgbDogVGhlIGxlbmd0aCBvZiB0aGUgY3VycmVudCBhcnJheQogICAgICogICBwOiBUaGUgbGVuZ3RoIG9mIHRoZSBwcmV2aW91cyBhcnJheQogICAgICoKICAgICAqIEhvd2V2ZXIsIHRoZSB3b3JzdC1jYXNlIGNvbXBsZXhpdHkgaXMgcmVkdWNlZCBieSBhbiBgTyhuKWAgb3B0aW1pemF0aW9uCiAgICAgKiB0byBkZXRlY3QgYW55IHNoYXJlZCBwcmVmaXggJiBzdWZmaXggYmV0d2VlbiB0aGUgdHdvIGFycmF5cyBhbmQgb25seQogICAgICogcGVyZm9ybSB0aGUgbW9yZSBleHBlbnNpdmUgbWluaW11bSBlZGl0IGRpc3RhbmNlIGNhbGN1bGF0aW9uIG92ZXIgdGhlCiAgICAgKiBub24tc2hhcmVkIHBvcnRpb25zIG9mIHRoZSBhcnJheXMuCiAgICAgKgogICAgICogQGZ1bmN0aW9uCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lci5BcnJheVNwbGljZQogICAgICogQHBhcmFtIHshQXJyYXl9IGN1cnJlbnQgVGhlICJjaGFuZ2VkIiBhcnJheSBmb3Igd2hpY2ggc3BsaWNlcyB3aWxsIGJlCiAgICAgKiBjYWxjdWxhdGVkLgogICAgICogQHBhcmFtIHshQXJyYXl9IHByZXZpb3VzIFRoZSAidW5jaGFuZ2VkIiBvcmlnaW5hbCBhcnJheSB0byBjb21wYXJlCiAgICAgKiBgY3VycmVudGAgYWdhaW5zdCB0byBkZXRlcm1pbmUgdGhlIHNwbGljZXMuCiAgICAgKiBAcmV0dXJuIHshQXJyYXl9IFJldHVybnMgYW4gYXJyYXkgb2Ygc3BsaWNlIHJlY29yZCBvYmplY3RzLiBFYWNoIG9mIHRoZXNlCiAgICAgKiBjb250YWluczogYGluZGV4YCB0aGUgbG9jYXRpb24gd2hlcmUgdGhlIHNwbGljZSBvY2N1cnJlZDsgYHJlbW92ZWRgCiAgICAgKiB0aGUgYXJyYXkgb2YgcmVtb3ZlZCBpdGVtcyBmcm9tIHRoaXMgbG9jYXRpb247IGBhZGRlZENvdW50YCB0aGUgbnVtYmVyCiAgICAgKiBvZiBpdGVtcyBhZGRlZCBhdCB0aGlzIGxvY2F0aW9uLgogICAgICovCiAgICBjYWxjdWxhdGVTcGxpY2VzCiAgfTsKCn0pKCk7CgoKKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgLyoqCiAgICogUmV0dXJucyB0cnVlIGlmIGBub2RlYCBpcyBhIHNsb3QgZWxlbWVudAogICAqIEBwYXJhbSB7Tm9kZX0gbm9kZSBOb2RlIHRvIHRlc3QuCiAgICogQHJldHVybiB7Ym9vbGVhbn0gUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBgbm9kZWAgaXMgYSBzbG90CiAgICogQHByaXZhdGUKICAgKi8KICBmdW5jdGlvbiBpc1Nsb3Qobm9kZSkgewogICAgcmV0dXJuIChub2RlLmxvY2FsTmFtZSA9PT0gJ3Nsb3QnKTsKICB9CgogIC8qKgogICAqIENsYXNzIHRoYXQgbGlzdGVucyBmb3IgY2hhbmdlcyAoYWRkaXRpb25zIG9yIHJlbW92YWxzKSB0bwogICAqICJmbGF0dGVuZWQgbm9kZXMiIG9uIGEgZ2l2ZW4gYG5vZGVgLiBUaGUgbGlzdCBvZiBmbGF0dGVuZWQgbm9kZXMgY29uc2lzdHMKICAgKiBvZiBhIG5vZGUncyBjaGlsZHJlbiBhbmQsIGZvciBhbnkgY2hpbGRyZW4gdGhhdCBhcmUgYDxzbG90PmAgZWxlbWVudHMsCiAgICogdGhlIGV4cGFuZGVkIGZsYXR0ZW5lZCBsaXN0IG9mIGBhc3NpZ25lZE5vZGVzYC4KICAgKiBGb3IgZXhhbXBsZSwgaWYgdGhlIG9ic2VydmVkIG5vZGUgaGFzIGNoaWxkcmVuIGA8YT48L2E+PHNsb3Q+PC9zbG90PjxiPjwvYj5gCiAgICogYW5kIHRoZSBgPHNsb3Q+YCBoYXMgb25lIGA8ZGl2PmAgYXNzaWduZWQgdG8gaXQsIHRoZW4gdGhlIGZsYXR0ZW5lZAogICAqIG5vZGVzIGxpc3QgaXMgYDxhPjwvYT48ZGl2PjwvZGl2PjxiPjwvYj5gLiBJZiB0aGUgYDxzbG90PmAgaGFzIG90aGVyCiAgICogYDxzbG90PmAgZWxlbWVudHMgYXNzaWduZWQgdG8gaXQsIHRoZXNlIGFyZSBmbGF0dGVuZWQgYXMgd2VsbC4KICAgKgogICAqIFRoZSBwcm92aWRlZCBgY2FsbGJhY2tgIGlzIGNhbGxlZCB3aGVuZXZlciBhbnkgY2hhbmdlIHRvIHRoaXMgbGlzdAogICAqIG9mIGZsYXR0ZW5lZCBub2RlcyBvY2N1cnMsIHdoZXJlIGFuIGFkZGl0aW9uIG9yIHJlbW92YWwgb2YgYSBub2RlIGlzCiAgICogY29uc2lkZXJlZCBhIGNoYW5nZS4gVGhlIGBjYWxsYmFja2AgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50LCBhbiBvYmplY3QKICAgKiBjb250YWluaW5nIGFuIGFycmF5IG9mIGFueSBgYWRkZWROb2Rlc2AgYW5kIGByZW1vdmVkTm9kZXNgLgogICAqCiAgICogTm90ZTogdGhlIGNhbGxiYWNrIGlzIGNhbGxlZCBhc3luY2hyb25vdXMgdG8gYW55IGNoYW5nZXMKICAgKiBhdCBhIG1pY3JvdGFzayBjaGVja3BvaW50LiBUaGlzIGlzIGJlY2F1c2Ugb2JzZXJ2YXRpb24gaXMgcGVyZm9ybWVkIHVzaW5nCiAgICogYE11dGF0aW9uT2JzZXJ2ZXJgIGFuZCB0aGUgYDxzbG90PmAgZWxlbWVudCdzIGBzbG90Y2hhbmdlYCBldmVudCB3aGljaAogICAqIGFyZSBhc3luY2hyb25vdXMuCiAgICoKICAgKiBBbiBleGFtcGxlOgogICAqIGBgYGpzCiAgICogY2xhc3MgVGVzdFNlbGZPYnNlcnZlIGV4dGVuZHMgUG9seW1lci5FbGVtZW50IHsKICAgKiAgIHN0YXRpYyBnZXQgaXMoKSB7IHJldHVybiAndGVzdC1zZWxmLW9ic2VydmUnO30KICAgKiAgIGNvbm5lY3RlZENhbGxiYWNrKCkgewogICAqICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpOwogICAqICAgICB0aGlzLl9vYnNlcnZlciA9IG5ldyBQb2x5bWVyLkZsYXR0ZW5lZE5vZGVzT2JzZXJ2ZXIodGhpcywgKGluZm8pID0+IHsKICAgKiAgICAgICB0aGlzLmluZm8gPSBpbmZvOwogICAqICAgICB9KTsKICAgKiAgIH0KICAgKiAgIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkgewogICAqICAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpOwogICAqICAgICB0aGlzLl9vYnNlcnZlci5kaXNjb25uZWN0KCk7CiAgICogICB9CiAgICogfQogICAqIGN1c3RvbUVsZW1lbnRzLmRlZmluZShUZXN0U2VsZk9ic2VydmUuaXMsIFRlc3RTZWxmT2JzZXJ2ZSk7CiAgICogYGBgCiAgICoKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBzdW1tYXJ5IENsYXNzIHRoYXQgbGlzdGVucyBmb3IgY2hhbmdlcyAoYWRkaXRpb25zIG9yIHJlbW92YWxzKSB0bwogICAqICJmbGF0dGVuZWQgbm9kZXMiIG9uIGEgZ2l2ZW4gYG5vZGVgLgogICAqLwogIGNsYXNzIEZsYXR0ZW5lZE5vZGVzT2JzZXJ2ZXIgewoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgbGlzdCBvZiBmbGF0dGVuZWQgbm9kZXMgZm9yIHRoZSBnaXZlbiBgbm9kZWAuCiAgICAgKiBUaGlzIGxpc3QgY29uc2lzdHMgb2YgYSBub2RlJ3MgY2hpbGRyZW4gYW5kLCBmb3IgYW55IGNoaWxkcmVuCiAgICAgKiB0aGF0IGFyZSBgPHNsb3Q+YCBlbGVtZW50cywgdGhlIGV4cGFuZGVkIGZsYXR0ZW5lZCBsaXN0IG9mIGBhc3NpZ25lZE5vZGVzYC4KICAgICAqIEZvciBleGFtcGxlLCBpZiB0aGUgb2JzZXJ2ZWQgbm9kZSBoYXMgY2hpbGRyZW4gYDxhPjwvYT48c2xvdD48L3Nsb3Q+PGI+PC9iPmAKICAgICAqIGFuZCB0aGUgYDxzbG90PmAgaGFzIG9uZSBgPGRpdj5gIGFzc2lnbmVkIHRvIGl0LCB0aGVuIHRoZSBmbGF0dGVuZWQKICAgICAqIG5vZGVzIGxpc3QgaXMgYDxhPjwvYT48ZGl2PjwvZGl2PjxiPjwvYj5gLiBJZiB0aGUgYDxzbG90PmAgaGFzIG90aGVyCiAgICAgKiBgPHNsb3Q+YCBlbGVtZW50cyBhc3NpZ25lZCB0byBpdCwgdGhlc2UgYXJlIGZsYXR0ZW5lZCBhcyB3ZWxsLgogICAgICoKICAgICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR8SFRNTFNsb3RFbGVtZW50fSBub2RlIFRoZSBub2RlIGZvciB3aGljaCB0byByZXR1cm4gdGhlIGxpc3Qgb2YgZmxhdHRlbmVkIG5vZGVzLgogICAgICogQHJldHVybiB7QXJyYXl9IFRoZSBsaXN0IG9mIGZsYXR0ZW5lZCBub2RlcyBmb3IgdGhlIGdpdmVuIGBub2RlYC4KICAgICovCiAgICBzdGF0aWMgZ2V0RmxhdHRlbmVkTm9kZXMobm9kZSkgewogICAgICBpZiAoaXNTbG90KG5vZGUpKSB7CiAgICAgICAgbm9kZSA9IC8qKiBAdHlwZSB7SFRNTFNsb3RFbGVtZW50fSAqLyhub2RlKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1zZWxmLWFzc2lnbgogICAgICAgIHJldHVybiBub2RlLmFzc2lnbmVkTm9kZXMoe2ZsYXR0ZW46IHRydWV9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShub2RlLmNoaWxkTm9kZXMpLm1hcCgobm9kZSkgPT4gewogICAgICAgICAgaWYgKGlzU2xvdChub2RlKSkgewogICAgICAgICAgICBub2RlID0gLyoqIEB0eXBlIHtIVE1MU2xvdEVsZW1lbnR9ICovKG5vZGUpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtYXNzaWduCiAgICAgICAgICAgIHJldHVybiBub2RlLmFzc2lnbmVkTm9kZXMoe2ZsYXR0ZW46IHRydWV9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiBbbm9kZV07CiAgICAgICAgICB9CiAgICAgICAgfSkucmVkdWNlKChhLCBiKSA9PiBhLmNvbmNhdChiKSwgW10pOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAcGFyYW0ge0VsZW1lbnR9IHRhcmdldCBOb2RlIG9uIHdoaWNoIHRvIGxpc3RlbiBmb3IgY2hhbmdlcy4KICAgICAqIEBwYXJhbSB7P2Z1bmN0aW9uKCFFbGVtZW50LCB7IHRhcmdldDogIUVsZW1lbnQsIGFkZGVkTm9kZXM6ICFBcnJheTwhRWxlbWVudD4sIHJlbW92ZWROb2RlczogIUFycmF5PCFFbGVtZW50PiB9KTp2b2lkfSBjYWxsYmFjayBGdW5jdGlvbiBjYWxsZWQgd2hlbiB0aGVyZSBhcmUgYWRkaXRpb25zCiAgICAgKiBvciByZW1vdmFscyBmcm9tIHRoZSB0YXJnZXQncyBsaXN0IG9mIGZsYXR0ZW5lZCBub2Rlcy4KICAgICovCiAgICBjb25zdHJ1Y3Rvcih0YXJnZXQsIGNhbGxiYWNrKSB7CiAgICAgIC8qKgogICAgICAgKiBAdHlwZSB7TXV0YXRpb25PYnNlcnZlcn0KICAgICAgICogQHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMuX3NoYWR5Q2hpbGRyZW5PYnNlcnZlciA9IG51bGw7CiAgICAgIC8qKgogICAgICAgKiBAdHlwZSB7TXV0YXRpb25PYnNlcnZlcn0KICAgICAgICogQHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMuX25hdGl2ZUNoaWxkcmVuT2JzZXJ2ZXIgPSBudWxsOwogICAgICB0aGlzLl9jb25uZWN0ZWQgPSBmYWxzZTsKICAgICAgLyoqCiAgICAgICAqIEB0eXBlIHtFbGVtZW50fQogICAgICAgKiBAcHJpdmF0ZQogICAgICAgKi8KICAgICAgdGhpcy5fdGFyZ2V0ID0gdGFyZ2V0OwogICAgICB0aGlzLmNhbGxiYWNrID0gY2FsbGJhY2s7CiAgICAgIHRoaXMuX2VmZmVjdGl2ZU5vZGVzID0gW107CiAgICAgIHRoaXMuX29ic2VydmVyID0gbnVsbDsKICAgICAgdGhpcy5fc2NoZWR1bGVkID0gZmFsc2U7CiAgICAgIC8qKgogICAgICAgKiBAdHlwZSB7ZnVuY3Rpb24oKX0KICAgICAgICogQHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMuX2JvdW5kU2NoZWR1bGUgPSAoKSA9PiB7CiAgICAgICAgdGhpcy5fc2NoZWR1bGUoKTsKICAgICAgfTsKICAgICAgdGhpcy5jb25uZWN0KCk7CiAgICAgIHRoaXMuX3NjaGVkdWxlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBY3RpdmF0ZXMgYW4gb2JzZXJ2ZXIuIFRoaXMgbWV0aG9kIGlzIGF1dG9tYXRpY2FsbHkgY2FsbGVkIHdoZW4KICAgICAqIGEgYEZsYXR0ZW5lZE5vZGVzT2JzZXJ2ZXJgIGlzIGNyZWF0ZWQuIEl0IHNob3VsZCBvbmx5IGJlIGNhbGxlZCB0bwogICAgICogcmUtYWN0aXZhdGUgYW4gb2JzZXJ2ZXIgdGhhdCBoYXMgYmVlbiBkZWFjdGl2YXRlZCB2aWEgdGhlIGBkaXNjb25uZWN0YCBtZXRob2QuCiAgICAgKgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgY29ubmVjdCgpIHsKICAgICAgaWYgKGlzU2xvdCh0aGlzLl90YXJnZXQpKSB7CiAgICAgICAgdGhpcy5fbGlzdGVuU2xvdHMoW3RoaXMuX3RhcmdldF0pOwogICAgICB9IGVsc2UgaWYgKHRoaXMuX3RhcmdldC5jaGlsZHJlbikgewogICAgICAgIHRoaXMuX2xpc3RlblNsb3RzKHRoaXMuX3RhcmdldC5jaGlsZHJlbik7CiAgICAgICAgaWYgKHdpbmRvdy5TaGFkeURPTSkgewogICAgICAgICAgdGhpcy5fc2hhZHlDaGlsZHJlbk9ic2VydmVyID0KICAgICAgICAgICAgU2hhZHlET00ub2JzZXJ2ZUNoaWxkcmVuKHRoaXMuX3RhcmdldCwgKG11dGF0aW9ucykgPT4gewogICAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NNdXRhdGlvbnMobXV0YXRpb25zKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuX25hdGl2ZUNoaWxkcmVuT2JzZXJ2ZXIgPQogICAgICAgICAgICBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zKSA9PiB7CiAgICAgICAgICAgICAgdGhpcy5fcHJvY2Vzc011dGF0aW9ucyhtdXRhdGlvbnMpOwogICAgICAgICAgICB9KTsKICAgICAgICAgIHRoaXMuX25hdGl2ZUNoaWxkcmVuT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl90YXJnZXQsIHtjaGlsZExpc3Q6IHRydWV9KTsKICAgICAgICB9CiAgICAgIH0KICAgICAgdGhpcy5fY29ubmVjdGVkID0gdHJ1ZTsKICAgIH0KCiAgICAvKioKICAgICAqIERlYWN0aXZhdGVzIHRoZSBmbGF0dGVuZWQgbm9kZXMgb2JzZXJ2ZXIuIEFmdGVyIGNhbGxpbmcgdGhpcyBtZXRob2QKICAgICAqIHRoZSBvYnNlcnZlciBjYWxsYmFjayB3aWxsIG5vdCBiZSBjYWxsZWQgd2hlbiBjaGFuZ2VzIHRvIGZsYXR0ZW5lZCBub2RlcwogICAgICogb2NjdXIuIFRoZSBgY29ubmVjdGAgbWV0aG9kIG1heSBiZSBzdWJzZXF1ZW50bHkgY2FsbGVkIHRvIHJlYWN0aXZhdGUKICAgICAqIHRoZSBvYnNlcnZlci4KICAgICAqCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBkaXNjb25uZWN0KCkgewogICAgICBpZiAoaXNTbG90KHRoaXMuX3RhcmdldCkpIHsKICAgICAgICB0aGlzLl91bmxpc3RlblNsb3RzKFt0aGlzLl90YXJnZXRdKTsKICAgICAgfSBlbHNlIGlmICh0aGlzLl90YXJnZXQuY2hpbGRyZW4pIHsKICAgICAgICB0aGlzLl91bmxpc3RlblNsb3RzKHRoaXMuX3RhcmdldC5jaGlsZHJlbik7CiAgICAgICAgaWYgKHdpbmRvdy5TaGFkeURPTSAmJiB0aGlzLl9zaGFkeUNoaWxkcmVuT2JzZXJ2ZXIpIHsKICAgICAgICAgIFNoYWR5RE9NLnVub2JzZXJ2ZUNoaWxkcmVuKHRoaXMuX3NoYWR5Q2hpbGRyZW5PYnNlcnZlcik7CiAgICAgICAgICB0aGlzLl9zaGFkeUNoaWxkcmVuT2JzZXJ2ZXIgPSBudWxsOwogICAgICAgIH0gZWxzZSBpZiAodGhpcy5fbmF0aXZlQ2hpbGRyZW5PYnNlcnZlcikgewogICAgICAgICAgdGhpcy5fbmF0aXZlQ2hpbGRyZW5PYnNlcnZlci5kaXNjb25uZWN0KCk7CiAgICAgICAgICB0aGlzLl9uYXRpdmVDaGlsZHJlbk9ic2VydmVyID0gbnVsbDsKICAgICAgICB9CiAgICAgIH0KICAgICAgdGhpcy5fY29ubmVjdGVkID0gZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICogQHByaXZhdGUKICAgICAqLwogICAgX3NjaGVkdWxlKCkgewogICAgICBpZiAoIXRoaXMuX3NjaGVkdWxlZCkgewogICAgICAgIHRoaXMuX3NjaGVkdWxlZCA9IHRydWU7CiAgICAgICAgUG9seW1lci5Bc3luYy5taWNyb1Rhc2sucnVuKCgpID0+IHRoaXMuZmx1c2goKSk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSB7QXJyYXk8TXV0YXRpb25SZWNvcmQ+fSBtdXRhdGlvbnMgTXV0YXRpb25zIHNpZ25hbGVkIGJ5IHRoZSBtdXRhdGlvbiBvYnNlcnZlcgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqIEBwcml2YXRlCiAgICAgKi8KICAgIF9wcm9jZXNzTXV0YXRpb25zKG11dGF0aW9ucykgewogICAgICB0aGlzLl9wcm9jZXNzU2xvdE11dGF0aW9ucyhtdXRhdGlvbnMpOwogICAgICB0aGlzLmZsdXNoKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcGFyYW0ge0FycmF5PE11dGF0aW9uUmVjb3JkPn0gbXV0YXRpb25zIE11dGF0aW9ucyBzaWduYWxlZCBieSB0aGUgbXV0YXRpb24gb2JzZXJ2ZXIKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBfcHJvY2Vzc1Nsb3RNdXRhdGlvbnMobXV0YXRpb25zKSB7CiAgICAgIGlmIChtdXRhdGlvbnMpIHsKICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBtdXRhdGlvbnMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGxldCBtdXRhdGlvbiA9IG11dGF0aW9uc1tpXTsKICAgICAgICAgIGlmIChtdXRhdGlvbi5hZGRlZE5vZGVzKSB7CiAgICAgICAgICAgIHRoaXMuX2xpc3RlblNsb3RzKG11dGF0aW9uLmFkZGVkTm9kZXMpOwogICAgICAgICAgfQogICAgICAgICAgaWYgKG11dGF0aW9uLnJlbW92ZWROb2RlcykgewogICAgICAgICAgICB0aGlzLl91bmxpc3RlblNsb3RzKG11dGF0aW9uLnJlbW92ZWROb2Rlcyk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBGbHVzaGVzIHRoZSBvYnNlcnZlciBjYXVzaW5nIGFueSBwZW5kaW5nIGNoYW5nZXMgdG8gYmUgaW1tZWRpYXRlbHkKICAgICAqIGRlbGl2ZXJlZCB0aGUgb2JzZXJ2ZXIgY2FsbGJhY2suIEJ5IGRlZmF1bHQgdGhlc2UgY2hhbmdlcyBhcmUgZGVsaXZlcmVkCiAgICAgKiBhc3luY2hyb25vdXNseSBhdCB0aGUgbmV4dCBtaWNyb3Rhc2sgY2hlY2twb2ludC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBSZXR1cm5zIHRydWUgaWYgYW55IHBlbmRpbmcgY2hhbmdlcyBjYXVzZWQgdGhlIG9ic2VydmVyCiAgICAgKiBjYWxsYmFjayB0byBydW4uCiAgICAgKi8KICAgIGZsdXNoKCkgewogICAgICBpZiAoIXRoaXMuX2Nvbm5lY3RlZCkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgICBpZiAod2luZG93LlNoYWR5RE9NKSB7CiAgICAgICAgU2hhZHlET00uZmx1c2goKTsKICAgICAgfQogICAgICBpZiAodGhpcy5fbmF0aXZlQ2hpbGRyZW5PYnNlcnZlcikgewogICAgICAgIHRoaXMuX3Byb2Nlc3NTbG90TXV0YXRpb25zKHRoaXMuX25hdGl2ZUNoaWxkcmVuT2JzZXJ2ZXIudGFrZVJlY29yZHMoKSk7CiAgICAgIH0gZWxzZSBpZiAodGhpcy5fc2hhZHlDaGlsZHJlbk9ic2VydmVyKSB7CiAgICAgICAgdGhpcy5fcHJvY2Vzc1Nsb3RNdXRhdGlvbnModGhpcy5fc2hhZHlDaGlsZHJlbk9ic2VydmVyLnRha2VSZWNvcmRzKCkpOwogICAgICB9CiAgICAgIHRoaXMuX3NjaGVkdWxlZCA9IGZhbHNlOwogICAgICBsZXQgaW5mbyA9IHsKICAgICAgICB0YXJnZXQ6IHRoaXMuX3RhcmdldCwKICAgICAgICBhZGRlZE5vZGVzOiBbXSwKICAgICAgICByZW1vdmVkTm9kZXM6IFtdCiAgICAgIH07CiAgICAgIGxldCBuZXdOb2RlcyA9IHRoaXMuY29uc3RydWN0b3IuZ2V0RmxhdHRlbmVkTm9kZXModGhpcy5fdGFyZ2V0KTsKICAgICAgbGV0IHNwbGljZXMgPSBQb2x5bWVyLkFycmF5U3BsaWNlLmNhbGN1bGF0ZVNwbGljZXMobmV3Tm9kZXMsCiAgICAgICAgdGhpcy5fZWZmZWN0aXZlTm9kZXMpOwogICAgICAvLyBwcm9jZXNzIHJlbW92YWxzCiAgICAgIGZvciAobGV0IGk9MCwgczsgKGk8c3BsaWNlcy5sZW5ndGgpICYmIChzPXNwbGljZXNbaV0pOyBpKyspIHsKICAgICAgICBmb3IgKGxldCBqPTAsIG47IChqIDwgcy5yZW1vdmVkLmxlbmd0aCkgJiYgKG49cy5yZW1vdmVkW2pdKTsgaisrKSB7CiAgICAgICAgICBpbmZvLnJlbW92ZWROb2Rlcy5wdXNoKG4pOwogICAgICAgIH0KICAgICAgfQogICAgICAvLyBwcm9jZXNzIGFkZHMKICAgICAgZm9yIChsZXQgaT0wLCBzOyAoaTxzcGxpY2VzLmxlbmd0aCkgJiYgKHM9c3BsaWNlc1tpXSk7IGkrKykgewogICAgICAgIGZvciAobGV0IGo9cy5pbmRleDsgaiA8IHMuaW5kZXggKyBzLmFkZGVkQ291bnQ7IGorKykgewogICAgICAgICAgaW5mby5hZGRlZE5vZGVzLnB1c2gobmV3Tm9kZXNbal0pOwogICAgICAgIH0KICAgICAgfQogICAgICAvLyB1cGRhdGUgY2FjaGUKICAgICAgdGhpcy5fZWZmZWN0aXZlTm9kZXMgPSBuZXdOb2RlczsKICAgICAgbGV0IGRpZEZsdXNoID0gZmFsc2U7CiAgICAgIGlmIChpbmZvLmFkZGVkTm9kZXMubGVuZ3RoIHx8IGluZm8ucmVtb3ZlZE5vZGVzLmxlbmd0aCkgewogICAgICAgIGRpZEZsdXNoID0gdHJ1ZTsKICAgICAgICB0aGlzLmNhbGxiYWNrLmNhbGwodGhpcy5fdGFyZ2V0LCBpbmZvKTsKICAgICAgfQogICAgICByZXR1cm4gZGlkRmx1c2g7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcGFyYW0geyFBcnJheTxFbGVtZW50fE5vZGU+fCFOb2RlTGlzdDxOb2RlPn0gbm9kZUxpc3QgTm9kZXMgdGhhdCBjb3VsZCBjaGFuZ2UKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBfbGlzdGVuU2xvdHMobm9kZUxpc3QpIHsKICAgICAgZm9yIChsZXQgaT0wOyBpIDwgbm9kZUxpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICBsZXQgbiA9IG5vZGVMaXN0W2ldOwogICAgICAgIGlmIChpc1Nsb3QobikpIHsKICAgICAgICAgIG4uYWRkRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIHRoaXMuX2JvdW5kU2NoZWR1bGUpOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQHBhcmFtIHshQXJyYXk8RWxlbWVudHxOb2RlPnwhTm9kZUxpc3Q8Tm9kZT59IG5vZGVMaXN0IE5vZGVzIHRoYXQgY291bGQgY2hhbmdlCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICogQHByaXZhdGUKICAgICAqLwogICAgX3VubGlzdGVuU2xvdHMobm9kZUxpc3QpIHsKICAgICAgZm9yIChsZXQgaT0wOyBpIDwgbm9kZUxpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICBsZXQgbiA9IG5vZGVMaXN0W2ldOwogICAgICAgIGlmIChpc1Nsb3QobikpIHsKICAgICAgICAgIG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIHRoaXMuX2JvdW5kU2NoZWR1bGUpOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICB9CgogIFBvbHltZXIuRmxhdHRlbmVkTm9kZXNPYnNlcnZlciA9IEZsYXR0ZW5lZE5vZGVzT2JzZXJ2ZXI7Cgp9KSgpOwoKCihmdW5jdGlvbigpIHsKICAndXNlIHN0cmljdCc7CgogIGxldCBkZWJvdW5jZXJRdWV1ZSA9IFtdOwoKICAvKioKICAgKiBBZGRzIGEgYFBvbHltZXIuRGVib3VuY2VyYCB0byBhIGxpc3Qgb2YgZ2xvYmFsbHkgZmx1c2hhYmxlIHRhc2tzLgogICAqCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAcGFyYW0geyFQb2x5bWVyLkRlYm91bmNlcn0gZGVib3VuY2VyIERlYm91bmNlciB0byBlbnF1ZXVlCiAgICogQHJldHVybiB7dm9pZH0KICAgKi8KICBQb2x5bWVyLmVucXVldWVEZWJvdW5jZXIgPSBmdW5jdGlvbihkZWJvdW5jZXIpIHsKICAgIGRlYm91bmNlclF1ZXVlLnB1c2goZGVib3VuY2VyKTsKICB9OwoKICBmdW5jdGlvbiBmbHVzaERlYm91bmNlcnMoKSB7CiAgICBjb25zdCBkaWRGbHVzaCA9IEJvb2xlYW4oZGVib3VuY2VyUXVldWUubGVuZ3RoKTsKICAgIHdoaWxlIChkZWJvdW5jZXJRdWV1ZS5sZW5ndGgpIHsKICAgICAgdHJ5IHsKICAgICAgICBkZWJvdW5jZXJRdWV1ZS5zaGlmdCgpLmZsdXNoKCk7CiAgICAgIH0gY2F0Y2goZSkgewogICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgdGhyb3cgZTsKICAgICAgICB9KTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIGRpZEZsdXNoOwogIH0KCiAgLyoqCiAgICogRm9yY2VzIHNldmVyYWwgY2xhc3NlcyBvZiBhc3luY2hyb25vdXNseSBxdWV1ZWQgdGFza3MgdG8gZmx1c2g6CiAgICogLSBEZWJvdW5jZXJzIGFkZGVkIHZpYSBgZW5xdWV1ZURlYm91bmNlcmAKICAgKiAtIFNoYWR5RE9NIGRpc3RyaWJ1dGlvbgogICAqCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAcmV0dXJuIHt2b2lkfQogICAqLwogIFBvbHltZXIuZmx1c2ggPSBmdW5jdGlvbigpIHsKICAgIGxldCBzaGFkeURPTSwgZGVib3VuY2VyczsKICAgIGRvIHsKICAgICAgc2hhZHlET00gPSB3aW5kb3cuU2hhZHlET00gJiYgU2hhZHlET00uZmx1c2goKTsKICAgICAgaWYgKHdpbmRvdy5TaGFkeUNTUyAmJiB3aW5kb3cuU2hhZHlDU1MuU2NvcGluZ1NoaW0pIHsKICAgICAgICB3aW5kb3cuU2hhZHlDU1MuU2NvcGluZ1NoaW0uZmx1c2goKTsKICAgICAgfQogICAgICBkZWJvdW5jZXJzID0gZmx1c2hEZWJvdW5jZXJzKCk7CiAgICB9IHdoaWxlIChzaGFkeURPTSB8fCBkZWJvdW5jZXJzKTsKICB9OwoKfSkoKTsKCgooZnVuY3Rpb24oKSB7CiAgJ3VzZSBzdHJpY3QnOwoKICBjb25zdCBwID0gRWxlbWVudC5wcm90b3R5cGU7CiAgLyoqCiAgICogQGNvbnN0IHtmdW5jdGlvbih0aGlzOk5vZGUsIHN0cmluZyk6IGJvb2xlYW59CiAgICovCiAgY29uc3Qgbm9ybWFsaXplZE1hdGNoZXNTZWxlY3RvciA9IHAubWF0Y2hlcyB8fCBwLm1hdGNoZXNTZWxlY3RvciB8fAogICAgcC5tb3pNYXRjaGVzU2VsZWN0b3IgfHwgcC5tc01hdGNoZXNTZWxlY3RvciB8fAogICAgcC5vTWF0Y2hlc1NlbGVjdG9yIHx8IHAud2Via2l0TWF0Y2hlc1NlbGVjdG9yOwoKICAvKioKICAgKiBDcm9zcy1wbGF0Zm9ybSBgZWxlbWVudC5tYXRjaGVzYCBzaGltLgogICAqCiAgICogQGZ1bmN0aW9uIG1hdGNoZXNTZWxlY3RvcgogICAqIEBtZW1iZXJvZiBQb2x5bWVyLmRvbQogICAqIEBwYXJhbSB7IU5vZGV9IG5vZGUgTm9kZSB0byBjaGVjayBzZWxlY3RvciBhZ2FpbnN0CiAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yIFNlbGVjdG9yIHRvIG1hdGNoCiAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBub2RlIG1hdGNoZWQgc2VsZWN0b3IKICAgKi8KICBjb25zdCBtYXRjaGVzU2VsZWN0b3IgPSBmdW5jdGlvbihub2RlLCBzZWxlY3RvcikgewogICAgcmV0dXJuIG5vcm1hbGl6ZWRNYXRjaGVzU2VsZWN0b3IuY2FsbChub2RlLCBzZWxlY3Rvcik7CiAgfTsKCiAgLyoqCiAgICogTm9kZSBBUEkgd3JhcHBlciBjbGFzcyByZXR1cm5lZCBmcm9tIGBQb2x5bWVyLmRvbS4odGFyZ2V0KWAgd2hlbgogICAqIGB0YXJnZXRgIGlzIGEgYE5vZGVgLgogICAqCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKi8KICBjbGFzcyBEb21BcGkgewoKICAgIC8qKgogICAgICogQHBhcmFtIHtOb2RlfSBub2RlIE5vZGUgZm9yIHdoaWNoIHRvIGNyZWF0ZSBhIFBvbHltZXIuZG9tIGhlbHBlciBvYmplY3QuCiAgICAgKi8KICAgIGNvbnN0cnVjdG9yKG5vZGUpIHsKICAgICAgdGhpcy5ub2RlID0gbm9kZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gaW5zdGFuY2Ugb2YgYFBvbHltZXIuRmxhdHRlbmVkTm9kZXNPYnNlcnZlcmAgdGhhdAogICAgICogbGlzdGVucyBmb3Igbm9kZSBjaGFuZ2VzIG9uIHRoaXMgZWxlbWVudC4KICAgICAqCiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKCFFbGVtZW50LCB7IHRhcmdldDogIUVsZW1lbnQsIGFkZGVkTm9kZXM6ICFBcnJheTwhRWxlbWVudD4sIHJlbW92ZWROb2RlczogIUFycmF5PCFFbGVtZW50PiB9KTp2b2lkfSBjYWxsYmFjayBDYWxsZWQgd2hlbiBkaXJlY3Qgb3IgZGlzdHJpYnV0ZWQgY2hpbGRyZW4KICAgICAqICAgb2YgdGhpcyBlbGVtZW50IGNoYW5nZXMKICAgICAqIEByZXR1cm4geyFQb2x5bWVyLkZsYXR0ZW5lZE5vZGVzT2JzZXJ2ZXJ9IE9ic2VydmVyIGluc3RhbmNlCiAgICAgKi8KICAgIG9ic2VydmVOb2RlcyhjYWxsYmFjaykgewogICAgICByZXR1cm4gbmV3IFBvbHltZXIuRmxhdHRlbmVkTm9kZXNPYnNlcnZlcih0aGlzLm5vZGUsIGNhbGxiYWNrKTsKICAgIH0KCiAgICAvKioKICAgICAqIERpc2Nvbm5lY3RzIGFuIG9ic2VydmVyIHByZXZpb3VzbHkgY3JlYXRlZCB2aWEgYG9ic2VydmVOb2Rlc2AKICAgICAqCiAgICAgKiBAcGFyYW0geyFQb2x5bWVyLkZsYXR0ZW5lZE5vZGVzT2JzZXJ2ZXJ9IG9ic2VydmVySGFuZGxlIE9ic2VydmVyIGluc3RhbmNlCiAgICAgKiAgIHRvIGRpc2Nvbm5lY3QuCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICB1bm9ic2VydmVOb2RlcyhvYnNlcnZlckhhbmRsZSkgewogICAgICBvYnNlcnZlckhhbmRsZS5kaXNjb25uZWN0KCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBQcm92aWRlZCBhcyBhIGJhY2t3YXJkcy1jb21wYXRpYmxlIEFQSSBvbmx5LiAgVGhpcyBtZXRob2QgZG9lcyBub3RoaW5nLgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgbm90aWZ5T2JzZXJ2ZXIoKSB7fQoKICAgIC8qKgogICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBwcm92aWRlZCBub2RlIGlzIGNvbnRhaW5lZCB3aXRoIHRoaXMgZWxlbWVudCdzCiAgICAgKiBsaWdodC1ET00gY2hpbGRyZW4gb3Igc2hhZG93IHJvb3QsIGluY2x1ZGluZyBhbnkgbmVzdGVkIHNoYWRvdyByb290cwogICAgICogb2YgY2hpbGRyZW4gdGhlcmVpbi4KICAgICAqCiAgICAgKiBAcGFyYW0ge05vZGV9IG5vZGUgTm9kZSB0byB0ZXN0CiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIGBub2RlYCBpcyBjb250YWluZWQgd2l0aGluCiAgICAgKiAgIHRoaXMgZWxlbWVudCdzIGxpZ2h0IG9yIHNoYWRvdyBET00uCiAgICAgKi8KICAgIGRlZXBDb250YWlucyhub2RlKSB7CiAgICAgIGlmICh0aGlzLm5vZGUuY29udGFpbnMobm9kZSkpIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgICBsZXQgbiA9IG5vZGU7CiAgICAgIGxldCBkb2MgPSBub2RlLm93bmVyRG9jdW1lbnQ7CiAgICAgIC8vIHdhbGsgZnJvbSBub2RlIHRvIGB0aGlzYCBvciBgZG9jdW1lbnRgCiAgICAgIHdoaWxlIChuICYmIG4gIT09IGRvYyAmJiBuICE9PSB0aGlzLm5vZGUpIHsKICAgICAgICAvLyB1c2UgbG9naWNhbCBwYXJlbnRub2RlLCBvciBuYXRpdmUgU2hhZG93Um9vdCBob3N0CiAgICAgICAgbiA9IG4ucGFyZW50Tm9kZSB8fCBuLmhvc3Q7CiAgICAgIH0KICAgICAgcmV0dXJuIG4gPT09IHRoaXMubm9kZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHJvb3Qgbm9kZSBvZiB0aGlzIG5vZGUuICBFcXVpdmFsZW50IHRvIGBnZXRSb29kTm9kZSgpYC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHtOb2RlfSBUb3AgbW9zdCBlbGVtZW50IGluIHRoZSBkb20gdHJlZSBpbiB3aGljaCB0aGUgbm9kZQogICAgICogZXhpc3RzLiBJZiB0aGUgbm9kZSBpcyBjb25uZWN0ZWQgdG8gYSBkb2N1bWVudCB0aGlzIGlzIGVpdGhlciBhCiAgICAgKiBzaGFkb3dSb290IG9yIHRoZSBkb2N1bWVudDsgb3RoZXJ3aXNlLCBpdCBtYXkgYmUgdGhlIG5vZGUKICAgICAqIGl0c2VsZiBvciBhIG5vZGUgb3IgZG9jdW1lbnQgZnJhZ21lbnQgY29udGFpbmluZyBpdC4KICAgICAqLwogICAgZ2V0T3duZXJSb290KCkgewogICAgICByZXR1cm4gdGhpcy5ub2RlLmdldFJvb3ROb2RlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBGb3Igc2xvdCBlbGVtZW50cywgcmV0dXJucyB0aGUgbm9kZXMgYXNzaWduZWQgdG8gdGhlIHNsb3Q7IG90aGVyd2lzZQogICAgICogYW4gZW1wdHkgYXJyYXkuIEl0IGlzIGVxdWl2YWxlbnQgdG8gYDxzbG90Pi5hZGRpZ25lZE5vZGVzKHtmbGF0dGVuOnRydWV9KWAuCiAgICAgKgogICAgICogQHJldHVybiB7IUFycmF5PCFOb2RlPn0gQXJyYXkgb2YgYXNzaWduZWQgbm9kZXMKICAgICAqLwogICAgZ2V0RGlzdHJpYnV0ZWROb2RlcygpIHsKICAgICAgcmV0dXJuICh0aGlzLm5vZGUubG9jYWxOYW1lID09PSAnc2xvdCcpID8KICAgICAgICB0aGlzLm5vZGUuYXNzaWduZWROb2Rlcyh7ZmxhdHRlbjogdHJ1ZX0pIDoKICAgICAgICBbXTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gYXJyYXkgb2YgYWxsIHNsb3RzIHRoaXMgZWxlbWVudCB3YXMgZGlzdHJpYnV0ZWQgdG8uCiAgICAgKgogICAgICogQHJldHVybiB7IUFycmF5PCFIVE1MU2xvdEVsZW1lbnQ+fSBEZXNjcmlwdGlvbgogICAgICovCiAgICBnZXREZXN0aW5hdGlvbkluc2VydGlvblBvaW50cygpIHsKICAgICAgbGV0IGlwJCA9IFtdOwogICAgICBsZXQgbiA9IHRoaXMubm9kZS5hc3NpZ25lZFNsb3Q7CiAgICAgIHdoaWxlIChuKSB7CiAgICAgICAgaXAkLnB1c2gobik7CiAgICAgICAgbiA9IG4uYXNzaWduZWRTbG90OwogICAgICB9CiAgICAgIHJldHVybiBpcCQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBDYWxscyBgaW1wb3J0Tm9kZWAgb24gdGhlIGBvd25lckRvY3VtZW50YCBmb3IgdGhpcyBub2RlLgogICAgICoKICAgICAqIEBwYXJhbSB7IU5vZGV9IG5vZGUgTm9kZSB0byBpbXBvcnQKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZGVlcCBUcnVlIGlmIHRoZSBub2RlIHNob3VsZCBiZSBjbG9uZWQgZGVlcGx5IGR1cmluZwogICAgICogICBpbXBvcnQKICAgICAqIEByZXR1cm4ge05vZGV9IENsb25lIG9mIGdpdmVuIG5vZGUgaW1wb3J0ZWQgdG8gdGhpcyBvd25lciBkb2N1bWVudAogICAgICovCiAgICBpbXBvcnROb2RlKG5vZGUsIGRlZXApIHsKICAgICAgbGV0IGRvYyA9IHRoaXMubm9kZSBpbnN0YW5jZW9mIERvY3VtZW50ID8gdGhpcy5ub2RlIDoKICAgICAgICB0aGlzLm5vZGUub3duZXJEb2N1bWVudDsKICAgICAgcmV0dXJuIGRvYy5pbXBvcnROb2RlKG5vZGUsIGRlZXApOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiB7IUFycmF5PCFOb2RlPn0gUmV0dXJucyBhIGZsYXR0ZW5lZCBsaXN0IG9mIGFsbCBjaGlsZCBub2RlcyBhbmQKICAgICAqIG5vZGVzIGFzc2lnbmVkIHRvIGNoaWxkIHNsb3RzLgogICAgICovCiAgICBnZXRFZmZlY3RpdmVDaGlsZE5vZGVzKCkgewogICAgICByZXR1cm4gUG9seW1lci5GbGF0dGVuZWROb2Rlc09ic2VydmVyLmdldEZsYXR0ZW5lZE5vZGVzKHRoaXMubm9kZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgZmlsdGVyZWQgbGlzdCBvZiBmbGF0dGVuZWQgY2hpbGQgZWxlbWVudHMgZm9yIHRoaXMgZWxlbWVudCBiYXNlZAogICAgICogb24gdGhlIGdpdmVuIHNlbGVjdG9yLgogICAgICoKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RvciBTZWxlY3RvciB0byBmaWx0ZXIgbm9kZXMgYWdhaW5zdAogICAgICogQHJldHVybiB7IUFycmF5PCFIVE1MRWxlbWVudD59IExpc3Qgb2YgZmxhdHRlbmVkIGNoaWxkIGVsZW1lbnRzCiAgICAgKi8KICAgIHF1ZXJ5RGlzdHJpYnV0ZWRFbGVtZW50cyhzZWxlY3RvcikgewogICAgICBsZXQgYyQgPSB0aGlzLmdldEVmZmVjdGl2ZUNoaWxkTm9kZXMoKTsKICAgICAgbGV0IGxpc3QgPSBbXTsKICAgICAgZm9yIChsZXQgaT0wLCBsPWMkLmxlbmd0aCwgYzsgKGk8bCkgJiYgKGM9YyRbaV0pOyBpKyspIHsKICAgICAgICBpZiAoKGMubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFKSAmJgogICAgICAgICAgICBtYXRjaGVzU2VsZWN0b3IoYywgc2VsZWN0b3IpKSB7CiAgICAgICAgICBsaXN0LnB1c2goYyk7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBsaXN0OwogICAgfQoKICAgIC8qKgogICAgICogRm9yIHNoYWRvdyByb290cywgcmV0dXJucyB0aGUgY3VycmVudGx5IGZvY3VzZWQgZWxlbWVudCB3aXRoaW4gdGhpcwogICAgICogc2hhZG93IHJvb3QuCiAgICAgKgogICAgICogQHJldHVybiB7Tm9kZXx1bmRlZmluZWR9IEN1cnJlbnRseSBmb2N1c2VkIGVsZW1lbnQKICAgICAqLwogICAgZ2V0IGFjdGl2ZUVsZW1lbnQoKSB7CiAgICAgIGxldCBub2RlID0gdGhpcy5ub2RlOwogICAgICByZXR1cm4gbm9kZS5fYWN0aXZlRWxlbWVudCAhPT0gdW5kZWZpbmVkID8gbm9kZS5fYWN0aXZlRWxlbWVudCA6IG5vZGUuYWN0aXZlRWxlbWVudDsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGZvcndhcmRNZXRob2RzKHByb3RvLCBtZXRob2RzKSB7CiAgICBmb3IgKGxldCBpPTA7IGkgPCBtZXRob2RzLmxlbmd0aDsgaSsrKSB7CiAgICAgIGxldCBtZXRob2QgPSBtZXRob2RzW2ldOwogICAgICAvKiBlc2xpbnQtZGlzYWJsZSB2YWxpZC1qc2RvYyAqLwogICAgICBwcm90b1ttZXRob2RdID0gLyoqIEB0aGlzIHtEb21BcGl9ICovIGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB0aGlzLm5vZGVbbWV0aG9kXS5hcHBseSh0aGlzLm5vZGUsIGFyZ3VtZW50cyk7CiAgICAgIH07CiAgICAgIC8qIGVzbGludC1lbmFibGUgKi8KICAgIH0KICB9CgogIGZ1bmN0aW9uIGZvcndhcmRSZWFkT25seVByb3BlcnRpZXMocHJvdG8sIHByb3BlcnRpZXMpIHsKICAgIGZvciAobGV0IGk9MDsgaSA8IHByb3BlcnRpZXMubGVuZ3RoOyBpKyspIHsKICAgICAgbGV0IG5hbWUgPSBwcm9wZXJ0aWVzW2ldOwogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sIG5hbWUsIHsKICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgY29uc3QgZG9tQXBpID0gLyoqIEB0eXBlIHtEb21BcGl9ICovKHRoaXMpOwogICAgICAgICAgcmV0dXJuIGRvbUFwaS5ub2RlW25hbWVdOwogICAgICAgIH0sCiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgIH0pOwogICAgfQogIH0KCiAgZnVuY3Rpb24gZm9yd2FyZFByb3BlcnRpZXMocHJvdG8sIHByb3BlcnRpZXMpIHsKICAgIGZvciAobGV0IGk9MDsgaSA8IHByb3BlcnRpZXMubGVuZ3RoOyBpKyspIHsKICAgICAgbGV0IG5hbWUgPSBwcm9wZXJ0aWVzW2ldOwogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sIG5hbWUsIHsKICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgY29uc3QgZG9tQXBpID0gLyoqIEB0eXBlIHtEb21BcGl9ICovKHRoaXMpOwogICAgICAgICAgcmV0dXJuIGRvbUFwaS5ub2RlW25hbWVdOwogICAgICAgIH0sCiAgICAgICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgewogICAgICAgICAgLyoqIEB0eXBlIHtEb21BcGl9ICovICh0aGlzKS5ub2RlW25hbWVdID0gdmFsdWU7CiAgICAgICAgfSwKICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgfSk7CiAgICB9CiAgfQoKICBmb3J3YXJkTWV0aG9kcyhEb21BcGkucHJvdG90eXBlLCBbCiAgICAnY2xvbmVOb2RlJywgJ2FwcGVuZENoaWxkJywgJ2luc2VydEJlZm9yZScsICdyZW1vdmVDaGlsZCcsCiAgICAncmVwbGFjZUNoaWxkJywgJ3NldEF0dHJpYnV0ZScsICdyZW1vdmVBdHRyaWJ1dGUnLAogICAgJ3F1ZXJ5U2VsZWN0b3InLCAncXVlcnlTZWxlY3RvckFsbCcKICBdKTsKCiAgZm9yd2FyZFJlYWRPbmx5UHJvcGVydGllcyhEb21BcGkucHJvdG90eXBlLCBbCiAgICAncGFyZW50Tm9kZScsICdmaXJzdENoaWxkJywgJ2xhc3RDaGlsZCcsCiAgICAnbmV4dFNpYmxpbmcnLCAncHJldmlvdXNTaWJsaW5nJywgJ2ZpcnN0RWxlbWVudENoaWxkJywKICAgICdsYXN0RWxlbWVudENoaWxkJywgJ25leHRFbGVtZW50U2libGluZycsICdwcmV2aW91c0VsZW1lbnRTaWJsaW5nJywKICAgICdjaGlsZE5vZGVzJywgJ2NoaWxkcmVuJywgJ2NsYXNzTGlzdCcKICBdKTsKCiAgZm9yd2FyZFByb3BlcnRpZXMoRG9tQXBpLnByb3RvdHlwZSwgWwogICAgJ3RleHRDb250ZW50JywgJ2lubmVySFRNTCcKICBdKTsKCgogIC8qKgogICAqIEV2ZW50IEFQSSB3cmFwcGVyIGNsYXNzIHJldHVybmVkIGZyb20gYFBvbHltZXIuZG9tLih0YXJnZXQpYCB3aGVuCiAgICogYHRhcmdldGAgaXMgYW4gYEV2ZW50YC4KICAgKi8KICBjbGFzcyBFdmVudEFwaSB7CiAgICBjb25zdHJ1Y3RvcihldmVudCkgewogICAgICB0aGlzLmV2ZW50ID0gZXZlbnQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBmaXJzdCBub2RlIG9uIHRoZSBgY29tcG9zZWRQYXRoYCBvZiB0aGlzIGV2ZW50LgogICAgICoKICAgICAqIEByZXR1cm4geyFFdmVudFRhcmdldH0gVGhlIG5vZGUgdGhpcyBldmVudCB3YXMgZGlzcGF0Y2hlZCB0bwogICAgICovCiAgICBnZXQgcm9vdFRhcmdldCgpIHsKICAgICAgcmV0dXJuIHRoaXMuZXZlbnQuY29tcG9zZWRQYXRoKClbMF07CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBsb2NhbCAocmUtdGFyZ2V0ZWQpIHRhcmdldCBmb3IgdGhpcyBldmVudC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHshRXZlbnRUYXJnZXR9IFRoZSBsb2NhbCAocmUtdGFyZ2V0ZWQpIHRhcmdldCBmb3IgdGhpcyBldmVudC4KICAgICAqLwogICAgZ2V0IGxvY2FsVGFyZ2V0KCkgewogICAgICByZXR1cm4gdGhpcy5ldmVudC50YXJnZXQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBgY29tcG9zZWRQYXRoYCBmb3IgdGhpcyBldmVudC4KICAgICAqIEByZXR1cm4geyFBcnJheTwhRXZlbnRUYXJnZXQ+fSBUaGUgbm9kZXMgdGhpcyBldmVudCBwcm9wYWdhdGVkIHRocm91Z2gKICAgICAqLwogICAgZ2V0IHBhdGgoKSB7CiAgICAgIHJldHVybiB0aGlzLmV2ZW50LmNvbXBvc2VkUGF0aCgpOwogICAgfQogIH0KCiAgUG9seW1lci5Eb21BcGkgPSBEb21BcGk7CgogIC8qKgogICAqIEBmdW5jdGlvbgogICAqIEBwYXJhbSB7Ym9vbGVhbj19IGRlZXAKICAgKiBAcmV0dXJuIHshTm9kZX0KICAgKi8KICBQb2x5bWVyLkRvbUFwaS5wcm90b3R5cGUuY2xvbmVOb2RlOwogIC8qKgogICAqIEBmdW5jdGlvbgogICAqIEBwYXJhbSB7IU5vZGV9IG5vZGUKICAgKiBAcmV0dXJuIHshTm9kZX0KICAgKi8KICBQb2x5bWVyLkRvbUFwaS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQ7CiAgLyoqCiAgICogQGZ1bmN0aW9uCiAgICogQHBhcmFtIHshTm9kZX0gbmV3Q2hpbGQKICAgKiBAcGFyYW0ge05vZGV9IHJlZkNoaWxkCiAgICogQHJldHVybiB7IU5vZGV9CiAgICovCiAgUG9seW1lci5Eb21BcGkucHJvdG90eXBlLmluc2VydEJlZm9yZTsKICAvKioKICAgKiBAZnVuY3Rpb24KICAgKiBAcGFyYW0geyFOb2RlfSBub2RlCiAgICogQHJldHVybiB7IU5vZGV9CiAgICovCiAgUG9seW1lci5Eb21BcGkucHJvdG90eXBlLnJlbW92ZUNoaWxkOwogIC8qKgogICAqIEBmdW5jdGlvbgogICAqIEBwYXJhbSB7IU5vZGV9IG9sZENoaWxkCiAgICogQHBhcmFtIHshTm9kZX0gbmV3Q2hpbGQKICAgKiBAcmV0dXJuIHshTm9kZX0KICAgKi8KICBQb2x5bWVyLkRvbUFwaS5wcm90b3R5cGUucmVwbGFjZUNoaWxkOwogIC8qKgogICAqIEBmdW5jdGlvbgogICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lCiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlCiAgICogQHJldHVybiB7dm9pZH0KICAgKi8KICBQb2x5bWVyLkRvbUFwaS5wcm90b3R5cGUuc2V0QXR0cmlidXRlOwogIC8qKgogICAqIEBmdW5jdGlvbgogICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lCiAgICogQHJldHVybiB7dm9pZH0KICAgKi8KICBQb2x5bWVyLkRvbUFwaS5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlOwogIC8qKgogICAqIEBmdW5jdGlvbgogICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RvcgogICAqIEByZXR1cm4gez9FbGVtZW50fQogICAqLwogIFBvbHltZXIuRG9tQXBpLnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yOwogIC8qKgogICAqIEBmdW5jdGlvbgogICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RvcgogICAqIEByZXR1cm4geyFOb2RlTGlzdDwhRWxlbWVudD59CiAgICovCiAgUG9seW1lci5Eb21BcGkucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3JBbGw7CgogIC8qKgogICAqIExlZ2FjeSBET00gYW5kIEV2ZW50IG1hbmlwdWxhdGlvbiBBUEkgd3JhcHBlciBmYWN0b3J5IHVzZWQgdG8gYWJzdHJhY3QKICAgKiBkaWZmZXJlbmNlcyBiZXR3ZWVuIG5hdGl2ZSBTaGFkb3cgRE9NIGFuZCAiU2hhZHkgRE9NIiB3aGVuIHBvbHlmaWxsaW5nIG9uCiAgICogb2xkZXIgYnJvd3NlcnMuCiAgICoKICAgKiBOb3RlIHRoYXQgaW4gUG9seW1lciAyLnggdXNlIG9mIGBQb2x5bWVyLmRvbWAgaXMgbm8gbG9uZ2VyIHJlcXVpcmVkIGFuZAogICAqIGluIHRoZSBtYWpvcml0eSBvZiBjYXNlcyBzaW1wbHkgZmFjYWRlcyBkaXJlY3RseSB0byB0aGUgc3RhbmRhcmQgbmF0aXZlCiAgICogQVBJLgogICAqCiAgICogQG5hbWVzcGFjZQogICAqIEBzdW1tYXJ5IExlZ2FjeSBET00gYW5kIEV2ZW50IG1hbmlwdWxhdGlvbiBBUEkgd3JhcHBlciBmYWN0b3J5IHVzZWQgdG8KICAgKiBhYnN0cmFjdCBkaWZmZXJlbmNlcyBiZXR3ZWVuIG5hdGl2ZSBTaGFkb3cgRE9NIGFuZCAiU2hhZHkgRE9NLiIKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBwYXJhbSB7KE5vZGV8RXZlbnQpPX0gb2JqIE5vZGUgb3IgZXZlbnQgdG8gb3BlcmF0ZSBvbgogICAqIEByZXR1cm4geyFEb21BcGl8IUV2ZW50QXBpfSBXcmFwcGVyIHByb3ZpZGluZyBlaXRoZXIgbm9kZSBBUEkgb3IgZXZlbnQgQVBJCiAgICovCiAgUG9seW1lci5kb20gPSBmdW5jdGlvbihvYmopIHsKICAgIG9iaiA9IG9iaiB8fCBkb2N1bWVudDsKICAgIGlmICghb2JqLl9fZG9tQXBpKSB7CiAgICAgIGxldCBoZWxwZXI7CiAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBFdmVudCkgewogICAgICAgIGhlbHBlciA9IG5ldyBFdmVudEFwaShvYmopOwogICAgICB9IGVsc2UgewogICAgICAgIGhlbHBlciA9IG5ldyBEb21BcGkob2JqKTsKICAgICAgfQogICAgICBvYmouX19kb21BcGkgPSBoZWxwZXI7CiAgICB9CiAgICByZXR1cm4gb2JqLl9fZG9tQXBpOwogIH07CgogIFBvbHltZXIuZG9tLm1hdGNoZXNTZWxlY3RvciA9IG1hdGNoZXNTZWxlY3RvcjsKCiAgLyoqCiAgICogRm9yY2VzIHNldmVyYWwgY2xhc3NlcyBvZiBhc3luY2hyb25vdXNseSBxdWV1ZWQgdGFza3MgdG8gZmx1c2g6CiAgICogLSBEZWJvdW5jZXJzIGFkZGVkIHZpYSBgUG9seW1lci5lbnF1ZXVlRGVib3VuY2VyYAogICAqIC0gU2hhZHlET00gZGlzdHJpYnV0aW9uCiAgICoKICAgKiBUaGlzIG1ldGhvZCBmYWNhZGVzIHRvIGBQb2x5bWVyLmZsdXNoYC4KICAgKgogICAqIEBtZW1iZXJvZiBQb2x5bWVyLmRvbQogICAqLwogIFBvbHltZXIuZG9tLmZsdXNoID0gUG9seW1lci5mbHVzaDsKCiAgLyoqCiAgICogQWRkcyBhIGBQb2x5bWVyLkRlYm91bmNlcmAgdG8gYSBsaXN0IG9mIGdsb2JhbGx5IGZsdXNoYWJsZSB0YXNrcy4KICAgKgogICAqIFRoaXMgbWV0aG9kIGZhY2FkZXMgdG8gYFBvbHltZXIuZW5xdWV1ZURlYm91bmNlcmAuCiAgICoKICAgKiBAbWVtYmVyb2YgUG9seW1lci5kb20KICAgKiBAcGFyYW0geyFQb2x5bWVyLkRlYm91bmNlcn0gZGVib3VuY2VyIERlYm91bmNlciB0byBlbnF1ZXVlCiAgICovCiAgUG9seW1lci5kb20uYWRkRGVib3VuY2VyID0gUG9seW1lci5lbnF1ZXVlRGVib3VuY2VyOwp9KSgpOwoKCihmdW5jdGlvbigpIHsKCiAgJ3VzZSBzdHJpY3QnOwoKICBsZXQgc3R5bGVJbnRlcmZhY2UgPSB3aW5kb3cuU2hhZHlDU1M7CgogIC8qKgogICAqIEVsZW1lbnQgY2xhc3MgbWl4aW4gdGhhdCBwcm92aWRlcyBQb2x5bWVyJ3MgImxlZ2FjeSIgQVBJIGludGVuZGVkIHRvIGJlCiAgICogYmFja3dhcmQtY29tcGF0aWJsZSB0byB0aGUgZ3JlYXRlc3QgZXh0ZW50IHBvc3NpYmxlIHdpdGggdGhlIEFQSQogICAqIGZvdW5kIG9uIHRoZSBQb2x5bWVyIDEueCBgUG9seW1lci5CYXNlYCBwcm90b3R5cGUgYXBwbGllZCB0byBhbGwgZWxlbWVudHMKICAgKiBkZWZpbmVkIHVzaW5nIHRoZSBgUG9seW1lcih7Li4ufSlgIGZ1bmN0aW9uLgogICAqCiAgICogQG1peGluRnVuY3Rpb24KICAgKiBAcG9seW1lcgogICAqIEBhcHBsaWVzTWl4aW4gUG9seW1lci5FbGVtZW50TWl4aW4KICAgKiBAYXBwbGllc01peGluIFBvbHltZXIuR2VzdHVyZUV2ZW50TGlzdGVuZXJzCiAgICogQHByb3BlcnR5IGlzQXR0YWNoZWQge2Jvb2xlYW59IFNldCB0byBgdHJ1ZWAgaW4gdGhpcyBlbGVtZW50J3MKICAgKiAgIGBjb25uZWN0ZWRDYWxsYmFja2AgYW5kIGBmYWxzZWAgaW4gYGRpc2Nvbm5lY3RlZENhbGxiYWNrYAogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHN1bW1hcnkgRWxlbWVudCBjbGFzcyBtaXhpbiB0aGF0IHByb3ZpZGVzIFBvbHltZXIncyAibGVnYWN5IiBBUEkKICAgKi8KICBQb2x5bWVyLkxlZ2FjeUVsZW1lbnRNaXhpbiA9IFBvbHltZXIuZGVkdXBpbmdNaXhpbigoYmFzZSkgPT4gewoKICAgIC8qKgogICAgICogQGNvbnN0cnVjdG9yCiAgICAgKiBAZXh0ZW5kcyB7YmFzZX0KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX0VsZW1lbnRNaXhpbn0KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX0dlc3R1cmVFdmVudExpc3RlbmVyc30KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX0Rpck1peGlufQogICAgICogQHByaXZhdGUKICAgICAqLwogICAgY29uc3QgbGVnYWN5RWxlbWVudEJhc2UgPSBQb2x5bWVyLkRpck1peGluKFBvbHltZXIuR2VzdHVyZUV2ZW50TGlzdGVuZXJzKFBvbHltZXIuRWxlbWVudE1peGluKGJhc2UpKSk7CgogICAgLyoqCiAgICAgKiBNYXAgb2Ygc2ltcGxlIG5hbWVzIHRvIHRvdWNoIGFjdGlvbiBuYW1lcwogICAgICogQGRpY3QKICAgICAqLwogICAgY29uc3QgRElSRUNUSU9OX01BUCA9IHsKICAgICAgJ3gnOiAncGFuLXgnLAogICAgICAneSc6ICdwYW4teScsCiAgICAgICdub25lJzogJ25vbmUnLAogICAgICAnYWxsJzogJ2F1dG8nCiAgICB9OwoKICAgIC8qKgogICAgICogQHBvbHltZXIKICAgICAqIEBtaXhpbkNsYXNzCiAgICAgKiBAZXh0ZW5kcyB7bGVnYWN5RWxlbWVudEJhc2V9CiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9MZWdhY3lFbGVtZW50TWl4aW59CiAgICAgKiBAdW5yZXN0cmljdGVkCiAgICAgKi8KICAgIGNsYXNzIExlZ2FjeUVsZW1lbnQgZXh0ZW5kcyBsZWdhY3lFbGVtZW50QmFzZSB7CgogICAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgICBzdXBlcigpOwogICAgICAgIC8qKiBAdHlwZSB7Ym9vbGVhbn0gKi8KICAgICAgICB0aGlzLmlzQXR0YWNoZWQ7CiAgICAgICAgLyoqIEB0eXBlIHtXZWFrTWFwPCFFbGVtZW50LCAhT2JqZWN0PHN0cmluZywgIUZ1bmN0aW9uPj59ICovCiAgICAgICAgdGhpcy5fX2JvdW5kTGlzdGVuZXJzOwogICAgICAgIC8qKiBAdHlwZSB7T2JqZWN0PHN0cmluZywgRnVuY3Rpb24+fSAqLwogICAgICAgIHRoaXMuX2RlYm91bmNlcnM7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBGb3J3YXJkcyBgaW1wb3J0TWV0YWAgZnJvbSB0aGUgcHJvdG90eXBlIChpLmUuIGZyb20gdGhlIGluZm8gb2JqZWN0CiAgICAgICAqIHBhc3NlZCB0byBgUG9seW1lcih7Li4ufSlgKSB0byB0aGUgc3RhdGljIEFQSS4KICAgICAgICoKICAgICAgICogQHJldHVybiB7IU9iamVjdH0gVGhlIGBpbXBvcnQubWV0YWAgb2JqZWN0IHNldCBvbiB0aGUgcHJvdG90eXBlCiAgICAgICAqIEBzdXBwcmVzcyB7bWlzc2luZ1Byb3BlcnRpZXN9IGB0aGlzYCBpcyBhbHdheXMgaW4gdGhlIGluc3RhbmNlIGluCiAgICAgICAqICBjbG9zdXJlIGZvciBzb21lIHJlYXNvbiBldmVuIGluIGEgc3RhdGljIG1ldGhvZCwgcmF0aGVyIHRoYW4gdGhlIGNsYXNzCiAgICAgICAqLwogICAgICBzdGF0aWMgZ2V0IGltcG9ydE1ldGEoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMucHJvdG90eXBlLmltcG9ydE1ldGE7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBMZWdhY3kgY2FsbGJhY2sgY2FsbGVkIGR1cmluZyB0aGUgYGNvbnN0cnVjdG9yYCwgZm9yIG92ZXJyaWRpbmcKICAgICAgICogYnkgdGhlIHVzZXIuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBjcmVhdGVkKCkge30KCiAgICAgIC8qKgogICAgICAgKiBQcm92aWRlcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBgY29ubmVjdGVkQ2FsbGJhY2tgCiAgICAgICAqIHdoaWNoIGFkZHMgUG9seW1lciBsZWdhY3kgQVBJJ3MgYGF0dGFjaGVkYCBtZXRob2QuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKi8KICAgICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7CiAgICAgICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTsKICAgICAgICB0aGlzLmlzQXR0YWNoZWQgPSB0cnVlOwogICAgICAgIHRoaXMuYXR0YWNoZWQoKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIExlZ2FjeSBjYWxsYmFjayBjYWxsZWQgZHVyaW5nIGBjb25uZWN0ZWRDYWxsYmFja2AsIGZvciBvdmVycmlkaW5nCiAgICAgICAqIGJ5IHRoZSB1c2VyLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgYXR0YWNoZWQoKSB7fQoKICAgICAgLyoqCiAgICAgICAqIFByb3ZpZGVzIGFuIGltcGxlbWVudGF0aW9uIG9mIGBkaXNjb25uZWN0ZWRDYWxsYmFja2AKICAgICAgICogd2hpY2ggYWRkcyBQb2x5bWVyIGxlZ2FjeSBBUEkncyBgZGV0YWNoZWRgIG1ldGhvZC4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICogQG92ZXJyaWRlCiAgICAgICAqLwogICAgICBkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHsKICAgICAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpOwogICAgICAgIHRoaXMuaXNBdHRhY2hlZCA9IGZhbHNlOwogICAgICAgIHRoaXMuZGV0YWNoZWQoKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIExlZ2FjeSBjYWxsYmFjayBjYWxsZWQgZHVyaW5nIGBkaXNjb25uZWN0ZWRDYWxsYmFja2AsIGZvciBvdmVycmlkaW5nCiAgICAgICAqIGJ5IHRoZSB1c2VyLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgZGV0YWNoZWQoKSB7fQoKICAgICAgLyoqCiAgICAgICAqIFByb3ZpZGVzIGFuIG92ZXJyaWRlIGltcGxlbWVudGF0aW9uIG9mIGBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2tgCiAgICAgICAqIHdoaWNoIGFkZHMgdGhlIFBvbHltZXIgbGVnYWN5IEFQSSdzIGBhdHRyaWJ1dGVDaGFuZ2VkYCBtZXRob2QuCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIE5hbWUgb2YgYXR0cmlidXRlLgogICAgICAgKiBAcGFyYW0gez9zdHJpbmd9IG9sZCBPbGQgdmFsdWUgb2YgYXR0cmlidXRlLgogICAgICAgKiBAcGFyYW0gez9zdHJpbmd9IHZhbHVlIEN1cnJlbnQgdmFsdWUgb2YgYXR0cmlidXRlLgogICAgICAgKiBAcGFyYW0gez9zdHJpbmd9IG5hbWVzcGFjZSBBdHRyaWJ1dGUgbmFtZXNwYWNlLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAb3ZlcnJpZGUKICAgICAgICovCiAgICAgIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lLCBvbGQsIHZhbHVlLCBuYW1lc3BhY2UpIHsKICAgICAgICBpZiAob2xkICE9PSB2YWx1ZSkgewogICAgICAgICAgc3VwZXIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKG5hbWUsIG9sZCwgdmFsdWUsIG5hbWVzcGFjZSk7CiAgICAgICAgICB0aGlzLmF0dHJpYnV0ZUNoYW5nZWQobmFtZSwgb2xkLCB2YWx1ZSk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogTGVnYWN5IGNhbGxiYWNrIGNhbGxlZCBkdXJpbmcgYGF0dHJpYnV0ZUNoYW5nZWRDaGFsbGJhY2tgLCBmb3Igb3ZlcnJpZGluZwogICAgICAgKiBieSB0aGUgdXNlci4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZSBvZiBhdHRyaWJ1dGUuCiAgICAgICAqIEBwYXJhbSB7P3N0cmluZ30gb2xkIE9sZCB2YWx1ZSBvZiBhdHRyaWJ1dGUuCiAgICAgICAqIEBwYXJhbSB7P3N0cmluZ30gdmFsdWUgQ3VycmVudCB2YWx1ZSBvZiBhdHRyaWJ1dGUuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBhdHRyaWJ1dGVDaGFuZ2VkKG5hbWUsIG9sZCwgdmFsdWUpIHt9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnMKCiAgICAgIC8qKgogICAgICAgKiBPdmVycmlkZXMgdGhlIGRlZmF1bHQgYFBvbHltZXIuUHJvcGVydHlFZmZlY3RzYCBpbXBsZW1lbnRhdGlvbiB0bwogICAgICAgKiBhZGQgc3VwcG9ydCBmb3IgY2xhc3MgaW5pdGlhbGl6YXRpb24gdmlhIHRoZSBgX3JlZ2lzdGVyZWRgIGNhbGxiYWNrLgogICAgICAgKiBUaGlzIGlzIGNhbGxlZCBvbmx5IHdoZW4gdGhlIGZpcnN0IGluc3RhbmNlIG9mIHRoZSBlbGVtZW50IGlzIGNyZWF0ZWQuCiAgICAgICAqCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKiBAc3VwcHJlc3Mge2ludmFsaWRDYXN0c30KICAgICAgICovCiAgICAgIF9pbml0aWFsaXplUHJvcGVydGllcygpIHsKICAgICAgICBsZXQgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyk7CiAgICAgICAgaWYgKCFwcm90by5oYXNPd25Qcm9wZXJ0eSgnX19oYXNSZWdpc3RlckZpbmlzaGVkJykpIHsKICAgICAgICAgIHRoaXMuX3JlZ2lzdGVyZWQoKTsKICAgICAgICAgIC8vIGJhY2tzdG9wIGluIGNhc2UgdGhlIGBfcmVnaXN0ZXJlZGAgaW1wbGVtZW50YXRpb24gZG9lcyBub3Qgc2V0IHRoaXMKICAgICAgICAgIHByb3RvLl9faGFzUmVnaXN0ZXJGaW5pc2hlZCA9IHRydWU7CiAgICAgICAgfQogICAgICAgIHN1cGVyLl9pbml0aWFsaXplUHJvcGVydGllcygpOwogICAgICAgIHRoaXMucm9vdCA9IC8qKiBAdHlwZSB7SFRNTEVsZW1lbnR9ICovKHRoaXMpOwogICAgICAgIHRoaXMuY3JlYXRlZCgpOwogICAgICAgIC8vIEVuc3VyZSBsaXN0ZW5lcnMgYXJlIGFwcGxpZWQgaW1tZWRpYXRlbHkgc28gdGhhdCB0aGV5IGFyZQogICAgICAgIC8vIGFkZGVkIGJlZm9yZSBkZWNsYXJhdGl2ZSBldmVudCBsaXN0ZW5lcnMuIFRoaXMgYWxsb3dzIGFuIGVsZW1lbnQgdG8KICAgICAgICAvLyBkZWNvcmF0ZSBpdHNlbGYgdmlhIGFuIGV2ZW50IHByaW9yIHRvIGFueSBkZWNsYXJhdGl2ZSBsaXN0ZW5lcnMKICAgICAgICAvLyBzZWVpbmcgdGhlIGV2ZW50LiBOb3RlLCB0aGlzIGVuc3VyZXMgY29tcGF0aWJpbGl0eSB3aXRoIDEueCBvcmRlcmluZy4KICAgICAgICB0aGlzLl9hcHBseUxpc3RlbmVycygpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogQ2FsbGVkIGF1dG9tYXRpY2FsbHkgd2hlbiBhbiBlbGVtZW50IGlzIGluaXRpYWxpemluZy4KICAgICAgICogVXNlcnMgbWF5IG92ZXJyaWRlIHRoaXMgbWV0aG9kIHRvIHBlcmZvcm0gY2xhc3MgcmVnaXN0cmF0aW9uIHRpbWUKICAgICAgICogd29yay4gVGhlIGltcGxlbWVudGF0aW9uIHNob3VsZCBlbnN1cmUgdGhlIHdvcmsgaXMgcGVyZm9ybWVkCiAgICAgICAqIG9ubHkgb25jZSBmb3IgdGhlIGNsYXNzLgogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfcmVnaXN0ZXJlZCgpIHt9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIHRoZSBkZWZhdWx0IGBQb2x5bWVyLlByb3BlcnR5RWZmZWN0c2AgaW1wbGVtZW50YXRpb24gdG8KICAgICAgICogYWRkIHN1cHBvcnQgZm9yIGluc3RhbGxpbmcgYGhvc3RBdHRyaWJ1dGVzYCBhbmQgYGxpc3RlbmVyc2AuCiAgICAgICAqCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqIEBvdmVycmlkZQogICAgICAgKi8KICAgICAgcmVhZHkoKSB7CiAgICAgICAgdGhpcy5fZW5zdXJlQXR0cmlidXRlcygpOwogICAgICAgIHN1cGVyLnJlYWR5KCk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBFbnN1cmVzIGFuIGVsZW1lbnQgaGFzIHJlcXVpcmVkIGF0dHJpYnV0ZXMuIENhbGxlZCB3aGVuIHRoZSBlbGVtZW50CiAgICAgICAqIGlzIGJlaW5nIHJlYWRpZWQgdmlhIGByZWFkeWAuIFVzZXJzIHNob3VsZCBvdmVycmlkZSB0byBzZXQgdGhlCiAgICAgICAqIGVsZW1lbnQncyByZXF1aXJlZCBhdHRyaWJ1dGVzLiBUaGUgaW1wbGVtZW50YXRpb24gc2hvdWxkIGJlIHN1cmUKICAgICAgICogdG8gY2hlY2sgYW5kIG5vdCBvdmVycmlkZSBleGlzdGluZyBhdHRyaWJ1dGVzIGFkZGVkIGJ5CiAgICAgICAqIHRoZSB1c2VyIG9mIHRoZSBlbGVtZW50LiBUeXBpY2FsbHksIHNldHRpbmcgYXR0cmlidXRlcyBzaG91bGQgYmUgbGVmdAogICAgICAgKiB0byB0aGUgZWxlbWVudCB1c2VyIGFuZCBub3QgZG9uZSBoZXJlOyByZWFzb25hYmxlIGV4Y2VwdGlvbnMgaW5jbHVkZQogICAgICAgKiBzZXR0aW5nIGFyaWEgcm9sZXMgYW5kIGZvY3VzYWJpbGl0eS4KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgX2Vuc3VyZUF0dHJpYnV0ZXMoKSB7fQoKICAgICAgLyoqCiAgICAgICAqIEFkZHMgZWxlbWVudCBldmVudCBsaXN0ZW5lcnMuIENhbGxlZCB3aGVuIHRoZSBlbGVtZW50CiAgICAgICAqIGlzIGJlaW5nIHJlYWRpZWQgdmlhIGByZWFkeWAuIFVzZXJzIHNob3VsZCBvdmVycmlkZSB0bwogICAgICAgKiBhZGQgYW55IHJlcXVpcmVkIGVsZW1lbnQgZXZlbnQgbGlzdGVuZXJzLgogICAgICAgKiBJbiBwZXJmb3JtYW5jZSBjcml0aWNhbCBlbGVtZW50cywgdGhlIHdvcmsgZG9uZSBoZXJlIHNob3VsZCBiZSBrZXB0CiAgICAgICAqIHRvIGEgbWluaW11bSBzaW5jZSBpdCBpcyBkb25lIGJlZm9yZSB0aGUgZWxlbWVudCBpcyByZW5kZXJlZC4gSW4KICAgICAgICogdGhlc2UgZWxlbWVudHMsIGNvbnNpZGVyIGFkZGluZyBsaXN0ZW5lcnMgYXN5bmNocm9ub3VzbHkgc28gYXMgbm90IHRvCiAgICAgICAqIGJsb2NrIHJlbmRlci4KICAgICAgICogQHByb3RlY3RlZAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgX2FwcGx5TGlzdGVuZXJzKCkge30KCiAgICAgIC8qKgogICAgICAgKiBDb252ZXJ0cyBhIHR5cGVkIEphdmFTY3JpcHQgdmFsdWUgdG8gYSBzdHJpbmcuCiAgICAgICAqCiAgICAgICAqIE5vdGUgdGhpcyBtZXRob2QgaXMgcHJvdmlkZWQgYXMgYmFja3dhcmQtY29tcGF0aWJsZSBsZWdhY3kgQVBJCiAgICAgICAqIG9ubHkuICBJdCBpcyBub3QgZGlyZWN0bHkgY2FsbGVkIGJ5IGFueSBQb2x5bWVyIGZlYXR1cmVzLiBUbyBjdXN0b21pemUKICAgICAgICogaG93IHByb3BlcnRpZXMgYXJlIHNlcmlhbGl6ZWQgdG8gYXR0cmlidXRlcyBmb3IgYXR0cmlidXRlIGJpbmRpbmdzIGFuZAogICAgICAgKiBgcmVmbGVjdFRvQXR0cmlidXRlOiB0cnVlYCBwcm9wZXJ0aWVzIGFzIHdlbGwgYXMgdGhpcyBtZXRob2QsIG92ZXJyaWRlCiAgICAgICAqIHRoZSBgX3NlcmlhbGl6ZVZhbHVlYCBtZXRob2QgcHJvdmlkZWQgYnkgYFBvbHltZXIuUHJvcGVydHlBY2Nlc3NvcnNgLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFZhbHVlIHRvIGRlc2VyaWFsaXplCiAgICAgICAqIEByZXR1cm4ge3N0cmluZyB8IHVuZGVmaW5lZH0gU2VyaWFsaXplZCB2YWx1ZQogICAgICAgKi8KICAgICAgc2VyaWFsaXplKHZhbHVlKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuX3NlcmlhbGl6ZVZhbHVlKHZhbHVlKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGEgdHlwZWQgSmF2YVNjcmlwdCB2YWx1ZS4KICAgICAgICoKICAgICAgICogTm90ZSB0aGlzIG1ldGhvZCBpcyBwcm92aWRlZCBhcyBiYWNrd2FyZC1jb21wYXRpYmxlIGxlZ2FjeSBBUEkKICAgICAgICogb25seS4gIEl0IGlzIG5vdCBkaXJlY3RseSBjYWxsZWQgYnkgYW55IFBvbHltZXIgZmVhdHVyZXMuICBUbyBjdXN0b21pemUKICAgICAgICogaG93IGF0dHJpYnV0ZXMgYXJlIGRlc2VyaWFsaXplZCB0byBwcm9wZXJ0aWVzIGZvciBpbgogICAgICAgKiBgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrYCwgb3ZlcnJpZGUgYF9kZXNlcmlhbGl6ZVZhbHVlYCBtZXRob2QKICAgICAgICogcHJvdmlkZWQgYnkgYFBvbHltZXIuUHJvcGVydHlBY2Nlc3NvcnNgLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgU3RyaW5nIHRvIGRlc2VyaWFsaXplCiAgICAgICAqIEBwYXJhbSB7Kn0gdHlwZSBUeXBlIHRvIGRlc2VyaWFsaXplIHRoZSBzdHJpbmcgdG8KICAgICAgICogQHJldHVybiB7Kn0gUmV0dXJucyB0aGUgZGVzZXJpYWxpemVkIHZhbHVlIGluIHRoZSBgdHlwZWAgZ2l2ZW4uCiAgICAgICAqLwogICAgICBkZXNlcmlhbGl6ZSh2YWx1ZSwgdHlwZSkgewogICAgICAgIHJldHVybiB0aGlzLl9kZXNlcmlhbGl6ZVZhbHVlKHZhbHVlLCB0eXBlKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFNlcmlhbGl6ZXMgYSBwcm9wZXJ0eSB0byBpdHMgYXNzb2NpYXRlZCBhdHRyaWJ1dGUuCiAgICAgICAqCiAgICAgICAqIE5vdGUgdGhpcyBtZXRob2QgaXMgcHJvdmlkZWQgYXMgYmFja3dhcmQtY29tcGF0aWJsZSBsZWdhY3kgQVBJCiAgICAgICAqIG9ubHkuICBJdCBpcyBub3QgZGlyZWN0bHkgY2FsbGVkIGJ5IGFueSBQb2x5bWVyIGZlYXR1cmVzLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZSB0byByZWZsZWN0LgogICAgICAgKiBAcGFyYW0ge3N0cmluZz19IGF0dHJpYnV0ZSBBdHRyaWJ1dGUgbmFtZSB0byByZWZsZWN0LgogICAgICAgKiBAcGFyYW0geyo9fSB2YWx1ZSBQcm9wZXJ0eSB2YWx1ZSB0byByZWZsZWN0LgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgcmVmbGVjdFByb3BlcnR5VG9BdHRyaWJ1dGUocHJvcGVydHksIGF0dHJpYnV0ZSwgdmFsdWUpIHsKICAgICAgICB0aGlzLl9wcm9wZXJ0eVRvQXR0cmlidXRlKHByb3BlcnR5LCBhdHRyaWJ1dGUsIHZhbHVlKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFNldHMgYSB0eXBlZCB2YWx1ZSB0byBhbiBIVE1MIGF0dHJpYnV0ZSBvbiBhIG5vZGUuCiAgICAgICAqCiAgICAgICAqIE5vdGUgdGhpcyBtZXRob2QgaXMgcHJvdmlkZWQgYXMgYmFja3dhcmQtY29tcGF0aWJsZSBsZWdhY3kgQVBJCiAgICAgICAqIG9ubHkuICBJdCBpcyBub3QgZGlyZWN0bHkgY2FsbGVkIGJ5IGFueSBQb2x5bWVyIGZlYXR1cmVzLgogICAgICAgKgogICAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFZhbHVlIHRvIHNlcmlhbGl6ZS4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGF0dHJpYnV0ZSBBdHRyaWJ1dGUgbmFtZSB0byBzZXJpYWxpemUgdG8uCiAgICAgICAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZSBFbGVtZW50IHRvIHNldCBhdHRyaWJ1dGUgdG8uCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBzZXJpYWxpemVWYWx1ZVRvQXR0cmlidXRlKHZhbHVlLCBhdHRyaWJ1dGUsIG5vZGUpIHsKICAgICAgICB0aGlzLl92YWx1ZVRvTm9kZUF0dHJpYnV0ZSgvKiogQHR5cGUge0VsZW1lbnR9ICovIChub2RlIHx8IHRoaXMpLCB2YWx1ZSwgYXR0cmlidXRlKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENvcGllcyBvd24gcHJvcGVydGllcyAoaW5jbHVkaW5nIGFjY2Vzc29yIGRlc2NyaXB0b3JzKSBmcm9tIGEgc291cmNlCiAgICAgICAqIG9iamVjdCB0byBhIHRhcmdldCBvYmplY3QuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm90b3R5cGUgVGFyZ2V0IG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgdG8uCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBhcGkgU291cmNlIG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgZnJvbS4KICAgICAgICogQHJldHVybiB7T2JqZWN0fSBwcm90b3R5cGUgb2JqZWN0IHRoYXQgd2FzIHBhc3NlZCBhcyBmaXJzdCBhcmd1bWVudC4KICAgICAgICovCiAgICAgIGV4dGVuZChwcm90b3R5cGUsIGFwaSkgewogICAgICAgIGlmICghKHByb3RvdHlwZSAmJiBhcGkpKSB7CiAgICAgICAgICByZXR1cm4gcHJvdG90eXBlIHx8IGFwaTsKICAgICAgICB9CiAgICAgICAgbGV0IG4kID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYXBpKTsKICAgICAgICBmb3IgKGxldCBpPTAsIG47IChpPG4kLmxlbmd0aCkgJiYgKG49biRbaV0pOyBpKyspIHsKICAgICAgICAgIGxldCBwZCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXBpLCBuKTsKICAgICAgICAgIGlmIChwZCkgewogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG90eXBlLCBuLCBwZCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBwcm90b3R5cGU7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDb3BpZXMgcHJvcHMgZnJvbSBhIHNvdXJjZSBvYmplY3QgdG8gYSB0YXJnZXQgb2JqZWN0LgogICAgICAgKgogICAgICAgKiBOb3RlLCB0aGlzIG1ldGhvZCB1c2VzIGEgc2ltcGxlIGBmb3IuLi5pbmAgc3RyYXRlZ3kgZm9yIGVudW1lcmF0aW5nCiAgICAgICAqIHByb3BlcnRpZXMuICBUbyBlbnN1cmUgb25seSBgb3duUHJvcGVydGllc2AgYXJlIGNvcGllZCBmcm9tIHNvdXJjZQogICAgICAgKiB0byB0YXJnZXQgYW5kIHRoYXQgYWNjZXNzb3IgaW1wbGVtZW50YXRpb25zIGFyZSBjb3BpZWQsIHVzZSBgZXh0ZW5kYC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshT2JqZWN0fSB0YXJnZXQgVGFyZ2V0IG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgdG8uCiAgICAgICAqIEBwYXJhbSB7IU9iamVjdH0gc291cmNlIFNvdXJjZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIGZyb20uCiAgICAgICAqIEByZXR1cm4geyFPYmplY3R9IFRhcmdldCBvYmplY3QgdGhhdCB3YXMgcGFzc2VkIGFzIGZpcnN0IGFyZ3VtZW50LgogICAgICAgKi8KICAgICAgbWl4aW4odGFyZ2V0LCBzb3VyY2UpIHsKICAgICAgICBmb3IgKGxldCBpIGluIHNvdXJjZSkgewogICAgICAgICAgdGFyZ2V0W2ldID0gc291cmNlW2ldOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdGFyZ2V0OwogICAgICB9CgogICAgICAvKioKICAgICAgICogU2V0cyB0aGUgcHJvdG90eXBlIG9mIGFuIG9iamVjdC4KICAgICAgICoKICAgICAgICogTm90ZSB0aGlzIG1ldGhvZCBpcyBwcm92aWRlZCBhcyBiYWNrd2FyZC1jb21wYXRpYmxlIGxlZ2FjeSBBUEkKICAgICAgICogb25seS4gIEl0IGlzIG5vdCBkaXJlY3RseSBjYWxsZWQgYnkgYW55IFBvbHltZXIgZmVhdHVyZXMuCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCBvbiB3aGljaCB0byBzZXQgdGhlIHByb3RvdHlwZS4KICAgICAgICogQHBhcmFtIHtPYmplY3R9IHByb3RvdHlwZSBUaGUgcHJvdG90eXBlIHRoYXQgd2lsbCBiZSBzZXQgb24gdGhlIGdpdmVuCiAgICAgICAqIGBvYmplY3RgLgogICAgICAgKiBAcmV0dXJuIHtPYmplY3R9IFJldHVybnMgdGhlIGdpdmVuIGBvYmplY3RgIHdpdGggaXRzIHByb3RvdHlwZSBzZXQKICAgICAgICogdG8gdGhlIGdpdmVuIGBwcm90b3R5cGVgIG9iamVjdC4KICAgICAgICovCiAgICAgIGNoYWluT2JqZWN0KG9iamVjdCwgcHJvdG90eXBlKSB7CiAgICAgICAgaWYgKG9iamVjdCAmJiBwcm90b3R5cGUgJiYgb2JqZWN0ICE9PSBwcm90b3R5cGUpIHsKICAgICAgICAgIG9iamVjdC5fX3Byb3RvX18gPSBwcm90b3R5cGU7CiAgICAgICAgfQogICAgICAgIHJldHVybiBvYmplY3Q7CiAgICAgIH0KCiAgICAgIC8qICoqKiogQmVnaW4gVGVtcGxhdGUgKioqKiAqLwoKICAgICAgLyoqCiAgICAgICAqIENhbGxzIGBpbXBvcnROb2RlYCBvbiB0aGUgYGNvbnRlbnRgIG9mIHRoZSBgdGVtcGxhdGVgIHNwZWNpZmllZCBhbmQKICAgICAgICogcmV0dXJucyBhIGRvY3VtZW50IGZyYWdtZW50IGNvbnRhaW5pbmcgdGhlIGltcG9ydGVkIGNvbnRlbnQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7SFRNTFRlbXBsYXRlRWxlbWVudH0gdGVtcGxhdGUgSFRNTCB0ZW1wbGF0ZSBlbGVtZW50IHRvIGluc3RhbmNlLgogICAgICAgKiBAcmV0dXJuIHshRG9jdW1lbnRGcmFnbWVudH0gRG9jdW1lbnQgZnJhZ21lbnQgY29udGFpbmluZyB0aGUgaW1wb3J0ZWQKICAgICAgICogICB0ZW1wbGF0ZSBjb250ZW50LgogICAgICAqLwogICAgICBpbnN0YW5jZVRlbXBsYXRlKHRlbXBsYXRlKSB7CiAgICAgICAgbGV0IGNvbnRlbnQgPSB0aGlzLmNvbnN0cnVjdG9yLl9jb250ZW50Rm9yVGVtcGxhdGUodGVtcGxhdGUpOwogICAgICAgIGxldCBkb20gPSAvKiogQHR5cGUgeyFEb2N1bWVudEZyYWdtZW50fSAqLwogICAgICAgICAgKGRvY3VtZW50LmltcG9ydE5vZGUoY29udGVudCwgdHJ1ZSkpOwogICAgICAgIHJldHVybiBkb207CiAgICAgIH0KCiAgICAgIC8qICoqKiogQmVnaW4gRXZlbnRzICoqKiogKi8KCgoKICAgICAgLyoqCiAgICAgICAqIERpc3BhdGNoZXMgYSBjdXN0b20gZXZlbnQgd2l0aCBhbiBvcHRpb25hbCBkZXRhaWwgdmFsdWUuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0eXBlIE5hbWUgb2YgZXZlbnQgdHlwZS4KICAgICAgICogQHBhcmFtIHsqPX0gZGV0YWlsIERldGFpbCB2YWx1ZSBjb250YWluaW5nIGV2ZW50LXNwZWNpZmljCiAgICAgICAqICAgcGF5bG9hZC4KICAgICAgICogQHBhcmFtIHt7IGJ1YmJsZXM6IChib29sZWFufHVuZGVmaW5lZCksIGNhbmNlbGFibGU6IChib29sZWFufHVuZGVmaW5lZCksIGNvbXBvc2VkOiAoYm9vbGVhbnx1bmRlZmluZWQpIH09fQogICAgICAgKiAgb3B0aW9ucyBPYmplY3Qgc3BlY2lmeWluZyBvcHRpb25zLiAgVGhlc2UgbWF5IGluY2x1ZGU6CiAgICAgICAqICBgYnViYmxlc2AgKGJvb2xlYW4sIGRlZmF1bHRzIHRvIGB0cnVlYCksCiAgICAgICAqICBgY2FuY2VsYWJsZWAgKGJvb2xlYW4sIGRlZmF1bHRzIHRvIGZhbHNlKSwgYW5kCiAgICAgICAqICBgbm9kZWAgb24gd2hpY2ggdG8gZmlyZSB0aGUgZXZlbnQgKEhUTUxFbGVtZW50LCBkZWZhdWx0cyB0byBgdGhpc2ApLgogICAgICAgKiBAcmV0dXJuIHshRXZlbnR9IFRoZSBuZXcgZXZlbnQgdGhhdCB3YXMgZmlyZWQuCiAgICAgICAqLwogICAgICBmaXJlKHR5cGUsIGRldGFpbCwgb3B0aW9ucykgewogICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwogICAgICAgIGRldGFpbCA9IChkZXRhaWwgPT09IG51bGwgfHwgZGV0YWlsID09PSB1bmRlZmluZWQpID8ge30gOiBkZXRhaWw7CiAgICAgICAgbGV0IGV2ZW50ID0gbmV3IEV2ZW50KHR5cGUsIHsKICAgICAgICAgIGJ1YmJsZXM6IG9wdGlvbnMuYnViYmxlcyA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IG9wdGlvbnMuYnViYmxlcywKICAgICAgICAgIGNhbmNlbGFibGU6IEJvb2xlYW4ob3B0aW9ucy5jYW5jZWxhYmxlKSwKICAgICAgICAgIGNvbXBvc2VkOiBvcHRpb25zLmNvbXBvc2VkID09PSB1bmRlZmluZWQgPyB0cnVlOiBvcHRpb25zLmNvbXBvc2VkCiAgICAgICAgfSk7CiAgICAgICAgZXZlbnQuZGV0YWlsID0gZGV0YWlsOwogICAgICAgIGxldCBub2RlID0gb3B0aW9ucy5ub2RlIHx8IHRoaXM7CiAgICAgICAgbm9kZS5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKICAgICAgICByZXR1cm4gZXZlbnQ7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDb252ZW5pZW5jZSBtZXRob2QgdG8gYWRkIGFuIGV2ZW50IGxpc3RlbmVyIG9uIGEgZ2l2ZW4gZWxlbWVudCwKICAgICAgICogbGF0ZSBib3VuZCB0byBhIG5hbWVkIG1ldGhvZCBvbiB0aGlzIGVsZW1lbnQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZSBFbGVtZW50IHRvIGFkZCBldmVudCBsaXN0ZW5lciB0by4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSBOYW1lIG9mIGV2ZW50IHRvIGxpc3RlbiBmb3IuCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2ROYW1lIE5hbWUgb2YgaGFuZGxlciBtZXRob2Qgb24gYHRoaXNgIHRvIGNhbGwuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBsaXN0ZW4obm9kZSwgZXZlbnROYW1lLCBtZXRob2ROYW1lKSB7CiAgICAgICAgbm9kZSA9IC8qKiBAdHlwZSB7IUVsZW1lbnR9ICovIChub2RlIHx8IHRoaXMpOwogICAgICAgIGxldCBoYmwgPSB0aGlzLl9fYm91bmRMaXN0ZW5lcnMgfHwKICAgICAgICAgICh0aGlzLl9fYm91bmRMaXN0ZW5lcnMgPSBuZXcgV2Vha01hcCgpKTsKICAgICAgICBsZXQgYmwgPSBoYmwuZ2V0KG5vZGUpOwogICAgICAgIGlmICghYmwpIHsKICAgICAgICAgIGJsID0ge307CiAgICAgICAgICBoYmwuc2V0KG5vZGUsIGJsKTsKICAgICAgICB9CiAgICAgICAgbGV0IGtleSA9IGV2ZW50TmFtZSArIG1ldGhvZE5hbWU7CiAgICAgICAgaWYgKCFibFtrZXldKSB7CiAgICAgICAgICBibFtrZXldID0gdGhpcy5fYWRkTWV0aG9kRXZlbnRMaXN0ZW5lclRvTm9kZSgKICAgICAgICAgICAgbm9kZSwgZXZlbnROYW1lLCBtZXRob2ROYW1lLCB0aGlzKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDb252ZW5pZW5jZSBtZXRob2QgdG8gcmVtb3ZlIGFuIGV2ZW50IGxpc3RlbmVyIGZyb20gYSBnaXZlbiBlbGVtZW50LAogICAgICAgKiBsYXRlIGJvdW5kIHRvIGEgbmFtZWQgbWV0aG9kIG9uIHRoaXMgZWxlbWVudC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtFbGVtZW50fSBub2RlIEVsZW1lbnQgdG8gcmVtb3ZlIGV2ZW50IGxpc3RlbmVyIGZyb20uCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWUgTmFtZSBvZiBldmVudCB0byBzdG9wIGxpc3RlbmluZyB0by4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZE5hbWUgTmFtZSBvZiBoYW5kbGVyIG1ldGhvZCBvbiBgdGhpc2AgdG8gbm90IGNhbGwKICAgICAgIGFueW1vcmUuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICB1bmxpc3Rlbihub2RlLCBldmVudE5hbWUsIG1ldGhvZE5hbWUpIHsKICAgICAgICBub2RlID0gLyoqIEB0eXBlIHshRWxlbWVudH0gKi8gKG5vZGUgfHwgdGhpcyk7CiAgICAgICAgbGV0IGJsID0gdGhpcy5fX2JvdW5kTGlzdGVuZXJzICYmIHRoaXMuX19ib3VuZExpc3RlbmVycy5nZXQobm9kZSk7CiAgICAgICAgbGV0IGtleSA9IGV2ZW50TmFtZSArIG1ldGhvZE5hbWU7CiAgICAgICAgbGV0IGhhbmRsZXIgPSBibCAmJiBibFtrZXldOwogICAgICAgIGlmIChoYW5kbGVyKSB7CiAgICAgICAgICB0aGlzLl9yZW1vdmVFdmVudExpc3RlbmVyRnJvbU5vZGUobm9kZSwgZXZlbnROYW1lLCBoYW5kbGVyKTsKICAgICAgICAgIGJsW2tleV0gPSBudWxsOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE92ZXJyaWRlIHNjcm9sbGluZyBiZWhhdmlvciB0byBhbGwgZGlyZWN0aW9uLCBvbmUgZGlyZWN0aW9uLCBvciBub25lLgogICAgICAgKgogICAgICAgKiBWYWxpZCBzY3JvbGwgZGlyZWN0aW9uczoKICAgICAgICogICAtICdhbGwnOiBzY3JvbGwgaW4gYW55IGRpcmVjdGlvbgogICAgICAgKiAgIC0gJ3gnOiBzY3JvbGwgb25seSBpbiB0aGUgJ3gnIGRpcmVjdGlvbgogICAgICAgKiAgIC0gJ3knOiBzY3JvbGwgb25seSBpbiB0aGUgJ3knIGRpcmVjdGlvbgogICAgICAgKiAgIC0gJ25vbmUnOiBkaXNhYmxlIHNjcm9sbGluZyBmb3IgdGhpcyBub2RlCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nPX0gZGlyZWN0aW9uIERpcmVjdGlvbiB0byBhbGxvdyBzY3JvbGxpbmcKICAgICAgICogRGVmYXVsdHMgdG8gYGFsbGAuCiAgICAgICAqIEBwYXJhbSB7RWxlbWVudD19IG5vZGUgRWxlbWVudCB0byBhcHBseSBzY3JvbGwgZGlyZWN0aW9uIHNldHRpbmcuCiAgICAgICAqIERlZmF1bHRzIHRvIGB0aGlzYC4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIHNldFNjcm9sbERpcmVjdGlvbihkaXJlY3Rpb24sIG5vZGUpIHsKICAgICAgICBQb2x5bWVyLkdlc3R1cmVzLnNldFRvdWNoQWN0aW9uKC8qKiBAdHlwZSB7RWxlbWVudH0gKi8gKG5vZGUgfHwgdGhpcyksIERJUkVDVElPTl9NQVBbZGlyZWN0aW9uXSB8fCAnYXV0bycpOwogICAgICB9CiAgICAgIC8qICoqKiogRW5kIEV2ZW50cyAqKioqICovCgogICAgICAvKioKICAgICAgICogQ29udmVuaWVuY2UgbWV0aG9kIHRvIHJ1biBgcXVlcnlTZWxlY3RvcmAgb24gdGhpcyBsb2NhbCBET00gc2NvcGUuCiAgICAgICAqCiAgICAgICAqIFRoaXMgZnVuY3Rpb24gY2FsbHMgYFBvbHltZXIuZG9tKHRoaXMucm9vdCkucXVlcnlTZWxlY3RvcihzbGN0cilgLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gc2xjdHIgU2VsZWN0b3IgdG8gcnVuIG9uIHRoaXMgbG9jYWwgRE9NIHNjb3BlCiAgICAgICAqIEByZXR1cm4ge0VsZW1lbnR9IEVsZW1lbnQgZm91bmQgYnkgdGhlIHNlbGVjdG9yLCBvciBudWxsIGlmIG5vdCBmb3VuZC4KICAgICAgICovCiAgICAgICQkKHNsY3RyKSB7CiAgICAgICAgcmV0dXJuIHRoaXMucm9vdC5xdWVyeVNlbGVjdG9yKHNsY3RyKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybiB0aGUgZWxlbWVudCB3aG9zZSBsb2NhbCBkb20gd2l0aGluIHdoaWNoIHRoaXMgZWxlbWVudAogICAgICAgKiBpcyBjb250YWluZWQuIFRoaXMgaXMgYSBzaG9ydGhhbmQgZm9yCiAgICAgICAqIGB0aGlzLmdldFJvb3ROb2RlKCkuaG9zdGAuCiAgICAgICAqIEB0aGlzIHtFbGVtZW50fQogICAgICAgKi8KICAgICAgZ2V0IGRvbUhvc3QoKSB7CiAgICAgICAgbGV0IHJvb3QgPSB0aGlzLmdldFJvb3ROb2RlKCk7CiAgICAgICAgcmV0dXJuIChyb290IGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCkgPyAvKiogQHR5cGUge1NoYWRvd1Jvb3R9ICovIChyb290KS5ob3N0IDogcm9vdDsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEZvcmNlIHRoaXMgZWxlbWVudCB0byBkaXN0cmlidXRlIGl0cyBjaGlsZHJlbiB0byBpdHMgbG9jYWwgZG9tLgogICAgICAgKiBUaGlzIHNob3VsZCBub3QgYmUgbmVjZXNzYXJ5IGFzIG9mIFBvbHltZXIgMi4wLjIgYW5kIGlzIHByb3ZpZGVkIG9ubHkKICAgICAgICogZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgZGlzdHJpYnV0ZUNvbnRlbnQoKSB7CiAgICAgICAgaWYgKHdpbmRvdy5TaGFkeURPTSAmJiB0aGlzLnNoYWRvd1Jvb3QpIHsKICAgICAgICAgIFNoYWR5RE9NLmZsdXNoKCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyBhIGxpc3Qgb2Ygbm9kZXMgdGhhdCBhcmUgdGhlIGVmZmVjdGl2ZSBjaGlsZE5vZGVzLiBUaGUgZWZmZWN0aXZlCiAgICAgICAqIGNoaWxkTm9kZXMgbGlzdCBpcyB0aGUgc2FtZSBhcyB0aGUgZWxlbWVudCdzIGNoaWxkTm9kZXMgZXhjZXB0IHRoYXQKICAgICAgICogYW55IGA8Y29udGVudD5gIGVsZW1lbnRzIGFyZSByZXBsYWNlZCB3aXRoIHRoZSBsaXN0IG9mIG5vZGVzIGRpc3RyaWJ1dGVkCiAgICAgICAqIHRvIHRoZSBgPGNvbnRlbnQ+YCwgdGhlIHJlc3VsdCBvZiBpdHMgYGdldERpc3RyaWJ1dGVkTm9kZXNgIG1ldGhvZC4KICAgICAgICogQHJldHVybiB7IUFycmF5PCFOb2RlPn0gTGlzdCBvZiBlZmZlY3RpdmUgY2hpbGQgbm9kZXMuCiAgICAgICAqIEBzdXBwcmVzcyB7aW52YWxpZENhc3RzfSBMZWdhY3lFbGVtZW50TWl4aW4gbXVzdCBiZSBhcHBsaWVkIHRvIGFuIEhUTUxFbGVtZW50CiAgICAgICAqLwogICAgICBnZXRFZmZlY3RpdmVDaGlsZE5vZGVzKCkgewogICAgICAgIGNvbnN0IHRoaXNFbCA9IC8qKiBAdHlwZSB7RWxlbWVudH0gKi8gKHRoaXMpOwogICAgICAgIGNvbnN0IGRvbUFwaSA9IC8qKiBAdHlwZSB7UG9seW1lci5Eb21BcGl9ICovKFBvbHltZXIuZG9tKHRoaXNFbCkpOwogICAgICAgIHJldHVybiBkb21BcGkuZ2V0RWZmZWN0aXZlQ2hpbGROb2RlcygpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyBhIGxpc3Qgb2Ygbm9kZXMgZGlzdHJpYnV0ZWQgd2l0aGluIHRoaXMgZWxlbWVudCB0aGF0IG1hdGNoCiAgICAgICAqIGBzZWxlY3RvcmAuIFRoZXNlIGNhbiBiZSBkb20gY2hpbGRyZW4gb3IgZWxlbWVudHMgZGlzdHJpYnV0ZWQgdG8KICAgICAgICogY2hpbGRyZW4gdGhhdCBhcmUgaW5zZXJ0aW9uIHBvaW50cy4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yIFNlbGVjdG9yIHRvIHJ1bi4KICAgICAgICogQHJldHVybiB7IUFycmF5PCFOb2RlPn0gTGlzdCBvZiBkaXN0cmlidXRlZCBlbGVtZW50cyB0aGF0IG1hdGNoIHNlbGVjdG9yLgogICAgICAgKiBAc3VwcHJlc3Mge2ludmFsaWRDYXN0c30gTGVnYWN5RWxlbWVudE1peGluIG11c3QgYmUgYXBwbGllZCB0byBhbiBIVE1MRWxlbWVudAogICAgICAgKi8KICAgICAgcXVlcnlEaXN0cmlidXRlZEVsZW1lbnRzKHNlbGVjdG9yKSB7CiAgICAgICAgY29uc3QgdGhpc0VsID0gLyoqIEB0eXBlIHtFbGVtZW50fSAqLyAodGhpcyk7CiAgICAgICAgY29uc3QgZG9tQXBpID0gLyoqIEB0eXBlIHtQb2x5bWVyLkRvbUFwaX0gKi8oUG9seW1lci5kb20odGhpc0VsKSk7CiAgICAgICAgcmV0dXJuIGRvbUFwaS5xdWVyeURpc3RyaWJ1dGVkRWxlbWVudHMoc2VsZWN0b3IpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyBhIGxpc3Qgb2YgZWxlbWVudHMgdGhhdCBhcmUgdGhlIGVmZmVjdGl2ZSBjaGlsZHJlbi4gVGhlIGVmZmVjdGl2ZQogICAgICAgKiBjaGlsZHJlbiBsaXN0IGlzIHRoZSBzYW1lIGFzIHRoZSBlbGVtZW50J3MgY2hpbGRyZW4gZXhjZXB0IHRoYXQKICAgICAgICogYW55IGA8Y29udGVudD5gIGVsZW1lbnRzIGFyZSByZXBsYWNlZCB3aXRoIHRoZSBsaXN0IG9mIGVsZW1lbnRzCiAgICAgICAqIGRpc3RyaWJ1dGVkIHRvIHRoZSBgPGNvbnRlbnQ+YC4KICAgICAgICoKICAgICAgICogQHJldHVybiB7IUFycmF5PCFOb2RlPn0gTGlzdCBvZiBlZmZlY3RpdmUgY2hpbGRyZW4uCiAgICAgICAqLwogICAgICBnZXRFZmZlY3RpdmVDaGlsZHJlbigpIHsKICAgICAgICBsZXQgbGlzdCA9IHRoaXMuZ2V0RWZmZWN0aXZlQ2hpbGROb2RlcygpOwogICAgICAgIHJldHVybiBsaXN0LmZpbHRlcihmdW5jdGlvbigvKiogQHR5cGUgeyFOb2RlfSAqLyBuKSB7CiAgICAgICAgICByZXR1cm4gKG4ubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFKTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgYSBzdHJpbmcgb2YgdGV4dCBjb250ZW50IHRoYXQgaXMgdGhlIGNvbmNhdGVuYXRpb24gb2YgdGhlCiAgICAgICAqIHRleHQgY29udGVudCdzIG9mIHRoZSBlbGVtZW50J3MgZWZmZWN0aXZlIGNoaWxkTm9kZXMgKHRoZSBlbGVtZW50cwogICAgICAgKiByZXR1cm5lZCBieSA8YSBocmVmPSIjZ2V0RWZmZWN0aXZlQ2hpbGROb2Rlcz5nZXRFZmZlY3RpdmVDaGlsZE5vZGVzPC9hPi4KICAgICAgICoKICAgICAgICogQHJldHVybiB7c3RyaW5nfSBMaXN0IG9mIGVmZmVjdGl2ZSBjaGlsZHJlbi4KICAgICAgICovCiAgICAgIGdldEVmZmVjdGl2ZVRleHRDb250ZW50KCkgewogICAgICAgIGxldCBjbiA9IHRoaXMuZ2V0RWZmZWN0aXZlQ2hpbGROb2RlcygpOwogICAgICAgIGxldCB0YyA9IFtdOwogICAgICAgIGZvciAobGV0IGk9MCwgYzsgKGMgPSBjbltpXSk7IGkrKykgewogICAgICAgICAgaWYgKGMubm9kZVR5cGUgIT09IE5vZGUuQ09NTUVOVF9OT0RFKSB7CiAgICAgICAgICAgIHRjLnB1c2goYy50ZXh0Q29udGVudCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiB0Yy5qb2luKCcnKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgdGhlIGZpcnN0IGVmZmVjdGl2ZSBjaGlsZE5vZGUgd2l0aGluIHRoaXMgZWxlbWVudCB0aGF0CiAgICAgICAqIG1hdGNoIGBzZWxlY3RvcmAuIFRoZXNlIGNhbiBiZSBkb20gY2hpbGQgbm9kZXMgb3IgZWxlbWVudHMgZGlzdHJpYnV0ZWQKICAgICAgICogdG8gY2hpbGRyZW4gdGhhdCBhcmUgaW5zZXJ0aW9uIHBvaW50cy4KICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yIFNlbGVjdG9yIHRvIHJ1bi4KICAgICAgICogQHJldHVybiB7Tm9kZX0gRmlyc3QgZWZmZWN0aXZlIGNoaWxkIG5vZGUgdGhhdCBtYXRjaGVzIHNlbGVjdG9yLgogICAgICAgKi8KICAgICAgcXVlcnlFZmZlY3RpdmVDaGlsZHJlbihzZWxlY3RvcikgewogICAgICAgIGxldCBlJCA9IHRoaXMucXVlcnlEaXN0cmlidXRlZEVsZW1lbnRzKHNlbGVjdG9yKTsKICAgICAgICByZXR1cm4gZSQgJiYgZSRbMF07CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBlZmZlY3RpdmUgY2hpbGROb2RlcyB3aXRoaW4gdGhpcyBlbGVtZW50IHRoYXQKICAgICAgICogbWF0Y2ggYHNlbGVjdG9yYC4gVGhlc2UgY2FuIGJlIGRvbSBjaGlsZCBub2RlcyBvciBlbGVtZW50cyBkaXN0cmlidXRlZAogICAgICAgKiB0byBjaGlsZHJlbiB0aGF0IGFyZSBpbnNlcnRpb24gcG9pbnRzLgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gc2VsZWN0b3IgU2VsZWN0b3IgdG8gcnVuLgogICAgICAgKiBAcmV0dXJuIHshQXJyYXk8IU5vZGU+fSBMaXN0IG9mIGVmZmVjdGl2ZSBjaGlsZCBub2RlcyB0aGF0IG1hdGNoIHNlbGVjdG9yLgogICAgICAgKi8KICAgICAgcXVlcnlBbGxFZmZlY3RpdmVDaGlsZHJlbihzZWxlY3RvcikgewogICAgICAgIHJldHVybiB0aGlzLnF1ZXJ5RGlzdHJpYnV0ZWRFbGVtZW50cyhzZWxlY3Rvcik7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBub2RlcyBkaXN0cmlidXRlZCB0byB0aGlzIGVsZW1lbnQncyBgPHNsb3Q+YC4KICAgICAgICoKICAgICAgICogSWYgdGhpcyBlbGVtZW50IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgYDxzbG90PmAgaW4gaXRzIGxvY2FsIERPTSwKICAgICAgICogYW4gb3B0aW9uYWwgc2VsZWN0b3IgbWF5IGJlIHBhc3NlZCB0byBjaG9vc2UgdGhlIGRlc2lyZWQgY29udGVudC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmc9fSBzbGN0ciBDU1Mgc2VsZWN0b3IgdG8gY2hvb3NlIHRoZSBkZXNpcmVkCiAgICAgICAqICAgYDxzbG90PmAuICBEZWZhdWx0cyB0byBgY29udGVudGAuCiAgICAgICAqIEByZXR1cm4geyFBcnJheTwhTm9kZT59IExpc3Qgb2YgZGlzdHJpYnV0ZWQgbm9kZXMgZm9yIHRoZSBgPHNsb3Q+YC4KICAgICAgICovCiAgICAgIGdldENvbnRlbnRDaGlsZE5vZGVzKHNsY3RyKSB7CiAgICAgICAgbGV0IGNvbnRlbnQgPSB0aGlzLnJvb3QucXVlcnlTZWxlY3RvcihzbGN0ciB8fCAnc2xvdCcpOwogICAgICAgIHJldHVybiBjb250ZW50ID8gLyoqIEB0eXBlIHtQb2x5bWVyLkRvbUFwaX0gKi8oUG9seW1lci5kb20oY29udGVudCkpLmdldERpc3RyaWJ1dGVkTm9kZXMoKSA6IFtdOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyBhIGxpc3Qgb2YgZWxlbWVudCBjaGlsZHJlbiBkaXN0cmlidXRlZCB0byB0aGlzIGVsZW1lbnQncwogICAgICAgKiBgPHNsb3Q+YC4KICAgICAgICoKICAgICAgICogSWYgdGhpcyBlbGVtZW50IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgYDxzbG90PmAgaW4gaXRzCiAgICAgICAqIGxvY2FsIERPTSwgYW4gb3B0aW9uYWwgc2VsZWN0b3IgbWF5IGJlIHBhc3NlZCB0byBjaG9vc2UgdGhlIGRlc2lyZWQKICAgICAgICogY29udGVudC4gIFRoaXMgbWV0aG9kIGRpZmZlcnMgZnJvbSBgZ2V0Q29udGVudENoaWxkTm9kZXNgIGluIHRoYXQgb25seQogICAgICAgKiBlbGVtZW50cyBhcmUgcmV0dXJuZWQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nPX0gc2xjdHIgQ1NTIHNlbGVjdG9yIHRvIGNob29zZSB0aGUgZGVzaXJlZAogICAgICAgKiAgIGA8Y29udGVudD5gLiAgRGVmYXVsdHMgdG8gYGNvbnRlbnRgLgogICAgICAgKiBAcmV0dXJuIHshQXJyYXk8IUhUTUxFbGVtZW50Pn0gTGlzdCBvZiBkaXN0cmlidXRlZCBub2RlcyBmb3IgdGhlCiAgICAgICAqICAgYDxzbG90PmAuCiAgICAgICAqIEBzdXBwcmVzcyB7aW52YWxpZENhc3RzfQogICAgICAgKi8KICAgICAgZ2V0Q29udGVudENoaWxkcmVuKHNsY3RyKSB7CiAgICAgICAgbGV0IGNoaWxkcmVuID0gLyoqIEB0eXBlIHshQXJyYXk8IUhUTUxFbGVtZW50Pn0gKi8odGhpcy5nZXRDb250ZW50Q2hpbGROb2RlcyhzbGN0cikuZmlsdGVyKGZ1bmN0aW9uKG4pIHsKICAgICAgICAgIHJldHVybiAobi5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUpOwogICAgICAgIH0pKTsKICAgICAgICByZXR1cm4gY2hpbGRyZW47CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDaGVja3Mgd2hldGhlciBhbiBlbGVtZW50IGlzIGluIHRoaXMgZWxlbWVudCdzIGxpZ2h0IERPTSB0cmVlLgogICAgICAgKgogICAgICAgKiBAcGFyYW0gez9Ob2RlfSBub2RlIFRoZSBlbGVtZW50IHRvIGJlIGNoZWNrZWQuCiAgICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IHRydWUgaWYgbm9kZSBpcyBpbiB0aGlzIGVsZW1lbnQncyBsaWdodCBET00gdHJlZS4KICAgICAgICogQHN1cHByZXNzIHtpbnZhbGlkQ2FzdHN9IExlZ2FjeUVsZW1lbnRNaXhpbiBtdXN0IGJlIGFwcGxpZWQgdG8gYW4gSFRNTEVsZW1lbnQKICAgICAgICovCiAgICAgIGlzTGlnaHREZXNjZW5kYW50KG5vZGUpIHsKICAgICAgICBjb25zdCB0aGlzTm9kZSA9IC8qKiBAdHlwZSB7Tm9kZX0gKi8gKHRoaXMpOwogICAgICAgIHJldHVybiB0aGlzTm9kZSAhPT0gbm9kZSAmJiB0aGlzTm9kZS5jb250YWlucyhub2RlKSAmJgogICAgICAgICAgdGhpc05vZGUuZ2V0Um9vdE5vZGUoKSA9PT0gbm9kZS5nZXRSb290Tm9kZSgpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogQ2hlY2tzIHdoZXRoZXIgYW4gZWxlbWVudCBpcyBpbiB0aGlzIGVsZW1lbnQncyBsb2NhbCBET00gdHJlZS4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshRWxlbWVudH0gbm9kZSBUaGUgZWxlbWVudCB0byBiZSBjaGVja2VkLgogICAgICAgKiBAcmV0dXJuIHtib29sZWFufSB0cnVlIGlmIG5vZGUgaXMgaW4gdGhpcyBlbGVtZW50J3MgbG9jYWwgRE9NIHRyZWUuCiAgICAgICAqLwogICAgICBpc0xvY2FsRGVzY2VuZGFudChub2RlKSB7CiAgICAgICAgcmV0dXJuIHRoaXMucm9vdCA9PT0gbm9kZS5nZXRSb290Tm9kZSgpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogTm8tb3AgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LiBUaGlzIHNob3VsZCBub3cgYmUgaGFuZGxlZCBieQogICAgICAgKiBTaGFkeUNzcyBsaWJyYXJ5LgogICAgICAgKiBAcGFyYW0gIHsqfSBjb250YWluZXIgVW51c2VkCiAgICAgICAqIEBwYXJhbSAgeyp9IHNob3VsZE9ic2VydmUgVW51c2VkCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBzY29wZVN1YnRyZWUoY29udGFpbmVyLCBzaG91bGRPYnNlcnZlKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnMKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgdGhlIGNvbXB1dGVkIHN0eWxlIHZhbHVlIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkuCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBUaGUgY3NzIHByb3BlcnR5IG5hbWUuCiAgICAgICAqIEByZXR1cm4ge3N0cmluZ30gUmV0dXJucyB0aGUgY29tcHV0ZWQgY3NzIHByb3BlcnR5IHZhbHVlIGZvciB0aGUgZ2l2ZW4KICAgICAgICogYHByb3BlcnR5YC4KICAgICAgICogQHN1cHByZXNzIHtpbnZhbGlkQ2FzdHN9IExlZ2FjeUVsZW1lbnRNaXhpbiBtdXN0IGJlIGFwcGxpZWQgdG8gYW4gSFRNTEVsZW1lbnQKICAgICAgICovCiAgICAgIGdldENvbXB1dGVkU3R5bGVWYWx1ZShwcm9wZXJ0eSkgewogICAgICAgIHJldHVybiBzdHlsZUludGVyZmFjZS5nZXRDb21wdXRlZFN0eWxlVmFsdWUoLyoqIEB0eXBlIHshRWxlbWVudH0gKi8odGhpcyksIHByb3BlcnR5KTsKICAgICAgfQoKICAgICAgLy8gZGVib3VuY2UKCiAgICAgIC8qKgogICAgICAgKiBDYWxsIGBkZWJvdW5jZWAgdG8gY29sbGFwc2UgbXVsdGlwbGUgcmVxdWVzdHMgZm9yIGEgbmFtZWQgdGFzayBpbnRvCiAgICAgICAqIG9uZSBpbnZvY2F0aW9uIHdoaWNoIGlzIG1hZGUgYWZ0ZXIgdGhlIHdhaXQgdGltZSBoYXMgZWxhcHNlZCB3aXRoCiAgICAgICAqIG5vIG5ldyByZXF1ZXN0LiAgSWYgbm8gd2FpdCB0aW1lIGlzIGdpdmVuLCB0aGUgY2FsbGJhY2sgd2lsbCBiZSBjYWxsZWQKICAgICAgICogYXQgbWljcm90YXNrIHRpbWluZyAoZ3VhcmFudGVlZCBiZWZvcmUgcGFpbnQpLgogICAgICAgKgogICAgICAgKiAgICAgZGVib3VuY2VkQ2xpY2tBY3Rpb24oZSkgewogICAgICAgKiAgICAgICAvLyB3aWxsIG5vdCBjYWxsIGBwcm9jZXNzQ2xpY2tgIG1vcmUgdGhhbiBvbmNlIHBlciAxMDBtcwogICAgICAgKiAgICAgICB0aGlzLmRlYm91bmNlKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgKiAgICAgICAgdGhpcy5wcm9jZXNzQ2xpY2soKTsKICAgICAgICogICAgICAgfSAxMDApOwogICAgICAgKiAgICAgfQogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gam9iTmFtZSBTdHJpbmcgdG8gaWRlbnRpZnkgdGhlIGRlYm91bmNlIGpvYi4KICAgICAgICogQHBhcmFtIHtmdW5jdGlvbigpOnZvaWR9IGNhbGxiYWNrIEZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkICh3aXRoIGB0aGlzYAogICAgICAgKiAgIGNvbnRleHQpIHdoZW4gdGhlIHdhaXQgdGltZSBlbGFwc2VzLgogICAgICAgKiBAcGFyYW0ge251bWJlcn0gd2FpdCBPcHRpb25hbCB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzIChtcykgYWZ0ZXIgdGhlCiAgICAgICAqICAgbGFzdCBzaWduYWwgdGhhdCBtdXN0IGVsYXBzZSBiZWZvcmUgaW52b2tpbmcgYGNhbGxiYWNrYAogICAgICAgKiBAcmV0dXJuIHshT2JqZWN0fSBSZXR1cm5zIGEgZGVib3VuY2VyIG9iamVjdCBvbiB3aGljaCBleGlzdHMgdGhlCiAgICAgICAqIGZvbGxvd2luZyBtZXRob2RzOiBgaXNBY3RpdmUoKWAgcmV0dXJucyB0cnVlIGlmIHRoZSBkZWJvdW5jZXIgaXMKICAgICAgICogYWN0aXZlOyBgY2FuY2VsKClgIGNhbmNlbHMgdGhlIGRlYm91bmNlciBpZiBpdCBpcyBhY3RpdmU7CiAgICAgICAqIGBmbHVzaCgpYCBpbW1lZGlhdGVseSBpbnZva2VzIHRoZSBkZWJvdW5jZWQgY2FsbGJhY2sgaWYgdGhlIGRlYm91bmNlcgogICAgICAgKiBpcyBhY3RpdmUuCiAgICAgICAqLwogICAgICBkZWJvdW5jZShqb2JOYW1lLCBjYWxsYmFjaywgd2FpdCkgewogICAgICAgIHRoaXMuX2RlYm91bmNlcnMgPSB0aGlzLl9kZWJvdW5jZXJzIHx8IHt9OwogICAgICAgIHJldHVybiB0aGlzLl9kZWJvdW5jZXJzW2pvYk5hbWVdID0gUG9seW1lci5EZWJvdW5jZXIuZGVib3VuY2UoCiAgICAgICAgICAgICAgdGhpcy5fZGVib3VuY2Vyc1tqb2JOYW1lXQogICAgICAgICAgICAsIHdhaXQgPiAwID8gUG9seW1lci5Bc3luYy50aW1lT3V0LmFmdGVyKHdhaXQpIDogUG9seW1lci5Bc3luYy5taWNyb1Rhc2sKICAgICAgICAgICAgLCBjYWxsYmFjay5iaW5kKHRoaXMpKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgd2hldGhlciBhIG5hbWVkIGRlYm91bmNlciBpcyBhY3RpdmUuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBqb2JOYW1lIFRoZSBuYW1lIG9mIHRoZSBkZWJvdW5jZXIgc3RhcnRlZCB3aXRoIGBkZWJvdW5jZWAKICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB0aGUgZGVib3VuY2VyIGlzIGFjdGl2ZSAoaGFzIG5vdCB5ZXQgZmlyZWQpLgogICAgICAgKi8KICAgICAgaXNEZWJvdW5jZXJBY3RpdmUoam9iTmFtZSkgewogICAgICAgIHRoaXMuX2RlYm91bmNlcnMgPSB0aGlzLl9kZWJvdW5jZXJzIHx8IHt9OwogICAgICAgIGxldCBkZWJvdW5jZXIgPSB0aGlzLl9kZWJvdW5jZXJzW2pvYk5hbWVdOwogICAgICAgIHJldHVybiAhIShkZWJvdW5jZXIgJiYgZGVib3VuY2VyLmlzQWN0aXZlKCkpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogSW1tZWRpYXRlbHkgY2FsbHMgdGhlIGRlYm91bmNlciBgY2FsbGJhY2tgIGFuZCBpbmFjdGl2YXRlcyBpdC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGpvYk5hbWUgVGhlIG5hbWUgb2YgdGhlIGRlYm91bmNlciBzdGFydGVkIHdpdGggYGRlYm91bmNlYAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgZmx1c2hEZWJvdW5jZXIoam9iTmFtZSkgewogICAgICAgIHRoaXMuX2RlYm91bmNlcnMgPSB0aGlzLl9kZWJvdW5jZXJzIHx8IHt9OwogICAgICAgIGxldCBkZWJvdW5jZXIgPSB0aGlzLl9kZWJvdW5jZXJzW2pvYk5hbWVdOwogICAgICAgIGlmIChkZWJvdW5jZXIpIHsKICAgICAgICAgIGRlYm91bmNlci5mbHVzaCgpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENhbmNlbHMgYW4gYWN0aXZlIGRlYm91bmNlci4gIFRoZSBgY2FsbGJhY2tgIHdpbGwgbm90IGJlIGNhbGxlZC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGpvYk5hbWUgVGhlIG5hbWUgb2YgdGhlIGRlYm91bmNlciBzdGFydGVkIHdpdGggYGRlYm91bmNlYAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgY2FuY2VsRGVib3VuY2VyKGpvYk5hbWUpIHsKICAgICAgICB0aGlzLl9kZWJvdW5jZXJzID0gdGhpcy5fZGVib3VuY2VycyB8fCB7fTsKICAgICAgICBsZXQgZGVib3VuY2VyID0gdGhpcy5fZGVib3VuY2Vyc1tqb2JOYW1lXTsKICAgICAgICBpZiAoZGVib3VuY2VyKSB7CiAgICAgICAgICBkZWJvdW5jZXIuY2FuY2VsKCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogUnVucyBhIGNhbGxiYWNrIGZ1bmN0aW9uIGFzeW5jaHJvbm91c2x5LgogICAgICAgKgogICAgICAgKiBCeSBkZWZhdWx0IChpZiBubyB3YWl0VGltZSBpcyBzcGVjaWZpZWQpLCBhc3luYyBjYWxsYmFja3MgYXJlIHJ1biBhdAogICAgICAgKiBtaWNyb3Rhc2sgdGltaW5nLCB3aGljaCB3aWxsIG9jY3VyIGJlZm9yZSBwYWludC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshRnVuY3Rpb259IGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbiB0byBydW4sIGJvdW5kIHRvIGB0aGlzYC4KICAgICAgICogQHBhcmFtIHtudW1iZXI9fSB3YWl0VGltZSBUaW1lIHRvIHdhaXQgYmVmb3JlIGNhbGxpbmcgdGhlCiAgICAgICAqICAgYGNhbGxiYWNrYC4gIElmIHVuc3BlY2lmaWVkIG9yIDAsIHRoZSBjYWxsYmFjayB3aWxsIGJlIHJ1biBhdCBtaWNyb3Rhc2sKICAgICAgICogICB0aW1pbmcgKGJlZm9yZSBwYWludCkuCiAgICAgICAqIEByZXR1cm4ge251bWJlcn0gSGFuZGxlIHRoYXQgbWF5IGJlIHVzZWQgdG8gY2FuY2VsIHRoZSBhc3luYyBqb2IuCiAgICAgICAqLwogICAgICBhc3luYyhjYWxsYmFjaywgd2FpdFRpbWUpIHsKICAgICAgICByZXR1cm4gd2FpdFRpbWUgPiAwID8gUG9seW1lci5Bc3luYy50aW1lT3V0LnJ1bihjYWxsYmFjay5iaW5kKHRoaXMpLCB3YWl0VGltZSkgOgogICAgICAgICAgICB+UG9seW1lci5Bc3luYy5taWNyb1Rhc2sucnVuKGNhbGxiYWNrLmJpbmQodGhpcykpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogQ2FuY2VscyBhbiBhc3luYyBvcGVyYXRpb24gc3RhcnRlZCB3aXRoIGBhc3luY2AuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBoYW5kbGUgSGFuZGxlIHJldHVybmVkIGZyb20gb3JpZ2luYWwgYGFzeW5jYCBjYWxsIHRvCiAgICAgICAqICAgY2FuY2VsLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgY2FuY2VsQXN5bmMoaGFuZGxlKSB7CiAgICAgICAgaGFuZGxlIDwgMCA/IFBvbHltZXIuQXN5bmMubWljcm9UYXNrLmNhbmNlbCh+aGFuZGxlKSA6CiAgICAgICAgICAgIFBvbHltZXIuQXN5bmMudGltZU91dC5jYW5jZWwoaGFuZGxlKTsKICAgICAgfQoKICAgICAgLy8gb3RoZXIKCiAgICAgIC8qKgogICAgICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGNyZWF0aW5nIGFuIGVsZW1lbnQgYW5kIGNvbmZpZ3VyaW5nIGl0LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGFnIEhUTUwgZWxlbWVudCB0YWcgdG8gY3JlYXRlLgogICAgICAgKiBAcGFyYW0ge09iamVjdD19IHByb3BzIE9iamVjdCBvZiBwcm9wZXJ0aWVzIHRvIGNvbmZpZ3VyZSBvbiB0aGUKICAgICAgICogICAgaW5zdGFuY2UuCiAgICAgICAqIEByZXR1cm4geyFFbGVtZW50fSBOZXdseSBjcmVhdGVkIGFuZCBjb25maWd1cmVkIGVsZW1lbnQuCiAgICAgICAqLwogICAgICBjcmVhdGUodGFnLCBwcm9wcykgewogICAgICAgIGxldCBlbHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZyk7CiAgICAgICAgaWYgKHByb3BzKSB7CiAgICAgICAgICBpZiAoZWx0LnNldFByb3BlcnRpZXMpIHsKICAgICAgICAgICAgZWx0LnNldFByb3BlcnRpZXMocHJvcHMpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZm9yIChsZXQgbiBpbiBwcm9wcykgewogICAgICAgICAgICAgIGVsdFtuXSA9IHByb3BzW25dOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBlbHQ7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGltcG9ydGluZyBhbiBIVE1MIGRvY3VtZW50IGltcGVyYXRpdmVseS4KICAgICAgICoKICAgICAgICogVGhpcyBtZXRob2QgY3JlYXRlcyBhIG5ldyBgPGxpbmsgcmVsPSJpbXBvcnQiPmAgZWxlbWVudCB3aXRoCiAgICAgICAqIHRoZSBwcm92aWRlZCBVUkwgYW5kIGFwcGVuZHMgaXQgdG8gdGhlIGRvY3VtZW50IHRvIHN0YXJ0IGxvYWRpbmcuCiAgICAgICAqIEluIHRoZSBgb25sb2FkYCBjYWxsYmFjaywgdGhlIGBpbXBvcnRgIHByb3BlcnR5IG9mIHRoZSBgbGlua2AKICAgICAgICogZWxlbWVudCB3aWxsIGNvbnRhaW4gdGhlIGltcG9ydGVkIGRvY3VtZW50IGNvbnRlbnRzLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gaHJlZiBVUkwgdG8gZG9jdW1lbnQgdG8gbG9hZC4KICAgICAgICogQHBhcmFtIHs/ZnVuY3Rpb24oIUV2ZW50KTp2b2lkPX0gb25sb2FkIENhbGxiYWNrIHRvIG5vdGlmeSB3aGVuIGFuIGltcG9ydCBzdWNjZXNzZnVsbHkKICAgICAgICogICBsb2FkZWQuCiAgICAgICAqIEBwYXJhbSB7P2Z1bmN0aW9uKCFFcnJvckV2ZW50KTp2b2lkPX0gb25lcnJvciBDYWxsYmFjayB0byBub3RpZnkgd2hlbiBhbiBpbXBvcnQKICAgICAgICogICB1bnN1Y2Nlc3NmdWxseSBsb2FkZWQuCiAgICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IG9wdEFzeW5jIFRydWUgaWYgdGhlIGltcG9ydCBzaG91bGQgYmUgbG9hZGVkIGBhc3luY2AuCiAgICAgICAqICAgRGVmYXVsdHMgdG8gYGZhbHNlYC4KICAgICAgICogQHJldHVybiB7IUhUTUxMaW5rRWxlbWVudH0gVGhlIGxpbmsgZWxlbWVudCBmb3IgdGhlIFVSTCB0byBiZSBsb2FkZWQuCiAgICAgICAqLwogICAgICBpbXBvcnRIcmVmKGhyZWYsIG9ubG9hZCwgb25lcnJvciwgb3B0QXN5bmMpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFycwogICAgICAgIGxldCBsb2FkRm4gPSBvbmxvYWQgPyBvbmxvYWQuYmluZCh0aGlzKSA6IG51bGw7CiAgICAgICAgbGV0IGVycm9yRm4gPSBvbmVycm9yID8gb25lcnJvci5iaW5kKHRoaXMpIDogbnVsbDsKICAgICAgICByZXR1cm4gUG9seW1lci5pbXBvcnRIcmVmKGhyZWYsIGxvYWRGbiwgZXJyb3JGbiwgb3B0QXN5bmMpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUG9seWZpbGwgZm9yIEVsZW1lbnQucHJvdG90eXBlLm1hdGNoZXMsIHdoaWNoIGlzIHNvbWV0aW1lcyBzdGlsbAogICAgICAgKiBwcmVmaXhlZC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yIFNlbGVjdG9yIHRvIHRlc3QuCiAgICAgICAqIEBwYXJhbSB7IUVsZW1lbnQ9fSBub2RlIEVsZW1lbnQgdG8gdGVzdCB0aGUgc2VsZWN0b3IgYWdhaW5zdC4KICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB0aGUgZWxlbWVudCBtYXRjaGVzIHRoZSBzZWxlY3Rvci4KICAgICAgICovCiAgICAgIGVsZW1lbnRNYXRjaGVzKHNlbGVjdG9yLCBub2RlKSB7CiAgICAgICAgcmV0dXJuIFBvbHltZXIuZG9tLm1hdGNoZXNTZWxlY3RvcigvKiogQHR5cGUgeyFFbGVtZW50fSAqLyAobm9kZSB8fCB0aGlzKSwgc2VsZWN0b3IpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogVG9nZ2xlcyBhbiBIVE1MIGF0dHJpYnV0ZSBvbiBvciBvZmYuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIEhUTUwgYXR0cmlidXRlIG5hbWUKICAgICAgICogQHBhcmFtIHtib29sZWFuPX0gYm9vbCBCb29sZWFuIHRvIGZvcmNlIHRoZSBhdHRyaWJ1dGUgb24gb3Igb2ZmLgogICAgICAgKiAgICBXaGVuIHVuc3BlY2lmaWVkLCB0aGUgc3RhdGUgb2YgdGhlIGF0dHJpYnV0ZSB3aWxsIGJlIHJldmVyc2VkLgogICAgICAgKiBAcGFyYW0ge0VsZW1lbnQ9fSBub2RlIE5vZGUgdG8gdGFyZ2V0LiAgRGVmYXVsdHMgdG8gYHRoaXNgLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgdG9nZ2xlQXR0cmlidXRlKG5hbWUsIGJvb2wsIG5vZGUpIHsKICAgICAgICBub2RlID0gLyoqIEB0eXBlIHtFbGVtZW50fSAqLyAobm9kZSB8fCB0aGlzKTsKICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAxKSB7CiAgICAgICAgICBib29sID0gIW5vZGUuaGFzQXR0cmlidXRlKG5hbWUpOwogICAgICAgIH0KICAgICAgICBpZiAoYm9vbCkgewogICAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUobmFtZSwgJycpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTsKICAgICAgICB9CiAgICAgIH0KCgogICAgICAvKioKICAgICAgICogVG9nZ2xlcyBhIENTUyBjbGFzcyBvbiBvciBvZmYuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIENTUyBjbGFzcyBuYW1lCiAgICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IGJvb2wgQm9vbGVhbiB0byBmb3JjZSB0aGUgY2xhc3Mgb24gb3Igb2ZmLgogICAgICAgKiAgICBXaGVuIHVuc3BlY2lmaWVkLCB0aGUgc3RhdGUgb2YgdGhlIGNsYXNzIHdpbGwgYmUgcmV2ZXJzZWQuCiAgICAgICAqIEBwYXJhbSB7RWxlbWVudD19IG5vZGUgTm9kZSB0byB0YXJnZXQuICBEZWZhdWx0cyB0byBgdGhpc2AuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICB0b2dnbGVDbGFzcyhuYW1lLCBib29sLCBub2RlKSB7CiAgICAgICAgbm9kZSA9IC8qKiBAdHlwZSB7RWxlbWVudH0gKi8gKG5vZGUgfHwgdGhpcyk7CiAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMSkgewogICAgICAgICAgYm9vbCA9ICFub2RlLmNsYXNzTGlzdC5jb250YWlucyhuYW1lKTsKICAgICAgICB9CiAgICAgICAgaWYgKGJvb2wpIHsKICAgICAgICAgIG5vZGUuY2xhc3NMaXN0LmFkZChuYW1lKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgbm9kZS5jbGFzc0xpc3QucmVtb3ZlKG5hbWUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENyb3NzLXBsYXRmb3JtIGhlbHBlciBmb3Igc2V0dGluZyBhbiBlbGVtZW50J3MgQ1NTIGB0cmFuc2Zvcm1gIHByb3BlcnR5LgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdHJhbnNmb3JtVGV4dCBUcmFuc2Zvcm0gc2V0dGluZy4KICAgICAgICogQHBhcmFtIHtFbGVtZW50PX0gbm9kZSBFbGVtZW50IHRvIGFwcGx5IHRoZSB0cmFuc2Zvcm0gdG8uCiAgICAgICAqIERlZmF1bHRzIHRvIGB0aGlzYAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgdHJhbnNmb3JtKHRyYW5zZm9ybVRleHQsIG5vZGUpIHsKICAgICAgICBub2RlID0gLyoqIEB0eXBlIHtFbGVtZW50fSAqLyAobm9kZSB8fCB0aGlzKTsKICAgICAgICBub2RlLnN0eWxlLndlYmtpdFRyYW5zZm9ybSA9IHRyYW5zZm9ybVRleHQ7CiAgICAgICAgbm9kZS5zdHlsZS50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1UZXh0OwogICAgICB9CgogICAgICAvKioKICAgICAgICogQ3Jvc3MtcGxhdGZvcm0gaGVscGVyIGZvciBzZXR0aW5nIGFuIGVsZW1lbnQncyBDU1MgYHRyYW5zbGF0ZTNkYAogICAgICAgKiBwcm9wZXJ0eS4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtudW1iZXJ9IHggWCBvZmZzZXQuCiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSB5IFkgb2Zmc2V0LgogICAgICAgKiBAcGFyYW0ge251bWJlcn0geiBaIG9mZnNldC4KICAgICAgICogQHBhcmFtIHtFbGVtZW50PX0gbm9kZSBFbGVtZW50IHRvIGFwcGx5IHRoZSB0cmFuc2Zvcm0gdG8uCiAgICAgICAqIERlZmF1bHRzIHRvIGB0aGlzYC4KICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIHRyYW5zbGF0ZTNkKHgsIHksIHosIG5vZGUpIHsKICAgICAgICBub2RlID0gLyoqIEB0eXBlIHtFbGVtZW50fSAqLyAobm9kZSB8fCB0aGlzKTsKICAgICAgICB0aGlzLnRyYW5zZm9ybSgndHJhbnNsYXRlM2QoJyArIHggKyAnLCcgKyB5ICsgJywnICsgeiArICcpJywgbm9kZSk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBSZW1vdmVzIGFuIGl0ZW0gZnJvbSBhbiBhcnJheSwgaWYgaXQgZXhpc3RzLgogICAgICAgKgogICAgICAgKiBJZiB0aGUgYXJyYXkgaXMgc3BlY2lmaWVkIGJ5IHBhdGgsIGEgY2hhbmdlIG5vdGlmaWNhdGlvbiBpcwogICAgICAgKiBnZW5lcmF0ZWQsIHNvIHRoYXQgb2JzZXJ2ZXJzLCBkYXRhIGJpbmRpbmdzIGFuZCBjb21wdXRlZAogICAgICAgKiBwcm9wZXJ0aWVzIHdhdGNoaW5nIHRoYXQgcGF0aCBjYW4gdXBkYXRlLgogICAgICAgKgogICAgICAgKiBJZiB0aGUgYXJyYXkgaXMgcGFzc2VkIGRpcmVjdGx5LCAqKm5vIGNoYW5nZQogICAgICAgKiBub3RpZmljYXRpb24gaXMgZ2VuZXJhdGVkKiouCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nIHwgIUFycmF5PG51bWJlcnxzdHJpbmc+fSBhcnJheU9yUGF0aCBQYXRoIHRvIGFycmF5IGZyb20gd2hpY2ggdG8gcmVtb3ZlIHRoZSBpdGVtCiAgICAgICAqICAgKG9yIHRoZSBhcnJheSBpdHNlbGYpLgogICAgICAgKiBAcGFyYW0geyp9IGl0ZW0gSXRlbSB0byByZW1vdmUuCiAgICAgICAqIEByZXR1cm4ge0FycmF5fSBBcnJheSBjb250YWluaW5nIGl0ZW0gcmVtb3ZlZC4KICAgICAgICovCiAgICAgIGFycmF5RGVsZXRlKGFycmF5T3JQYXRoLCBpdGVtKSB7CiAgICAgICAgbGV0IGluZGV4OwogICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFycmF5T3JQYXRoKSkgewogICAgICAgICAgaW5kZXggPSBhcnJheU9yUGF0aC5pbmRleE9mKGl0ZW0pOwogICAgICAgICAgaWYgKGluZGV4ID49IDApIHsKICAgICAgICAgICAgcmV0dXJuIGFycmF5T3JQYXRoLnNwbGljZShpbmRleCwgMSk7CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGxldCBhcnIgPSBQb2x5bWVyLlBhdGguZ2V0KHRoaXMsIGFycmF5T3JQYXRoKTsKICAgICAgICAgIGluZGV4ID0gYXJyLmluZGV4T2YoaXRlbSk7CiAgICAgICAgICBpZiAoaW5kZXggPj0gMCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5zcGxpY2UoYXJyYXlPclBhdGgsIGluZGV4LCAxKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KCiAgICAgIC8vIGxvZ2dpbmcKCiAgICAgIC8qKgogICAgICAgKiBGYWNhZGVzIGBjb25zb2xlLmxvZ2AvYHdhcm5gL2BlcnJvcmAgYXMgb3ZlcnJpZGUgcG9pbnQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBsZXZlbCBPbmUgb2YgJ2xvZycsICd3YXJuJywgJ2Vycm9yJwogICAgICAgKiBAcGFyYW0ge0FycmF5fSBhcmdzIEFycmF5IG9mIHN0cmluZ3Mgb3Igb2JqZWN0cyB0byBsb2cKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIF9sb2dnZXIobGV2ZWwsIGFyZ3MpIHsKICAgICAgICAvLyBhY2NlcHQgWydmb28nLCAnYmFyJ10gYW5kIFtbJ2ZvbycsICdiYXInXV0KICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhcmdzKSAmJiBhcmdzLmxlbmd0aCA9PT0gMSAmJiBBcnJheS5pc0FycmF5KGFyZ3NbMF0pKSB7CiAgICAgICAgICBhcmdzID0gYXJnc1swXTsKICAgICAgICB9CiAgICAgICAgc3dpdGNoKGxldmVsKSB7CiAgICAgICAgICBjYXNlICdsb2cnOgogICAgICAgICAgY2FzZSAnd2Fybic6CiAgICAgICAgICBjYXNlICdlcnJvcic6CiAgICAgICAgICAgIGNvbnNvbGVbbGV2ZWxdKC4uLmFyZ3MpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEZhY2FkZXMgYGNvbnNvbGUubG9nYCBhcyBhbiBvdmVycmlkZSBwb2ludC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHsuLi4qfSBhcmdzIEFycmF5IG9mIHN0cmluZ3Mgb3Igb2JqZWN0cyB0byBsb2cKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIF9sb2coLi4uYXJncykgewogICAgICAgIHRoaXMuX2xvZ2dlcignbG9nJywgYXJncyk7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBGYWNhZGVzIGBjb25zb2xlLndhcm5gIGFzIGFuIG92ZXJyaWRlIHBvaW50LgogICAgICAgKgogICAgICAgKiBAcGFyYW0gey4uLip9IGFyZ3MgQXJyYXkgb2Ygc3RyaW5ncyBvciBvYmplY3RzIHRvIGxvZwogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgX3dhcm4oLi4uYXJncykgewogICAgICAgIHRoaXMuX2xvZ2dlcignd2FybicsIGFyZ3MpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogRmFjYWRlcyBgY29uc29sZS5lcnJvcmAgYXMgYW4gb3ZlcnJpZGUgcG9pbnQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7Li4uKn0gYXJncyBBcnJheSBvZiBzdHJpbmdzIG9yIG9iamVjdHMgdG8gbG9nCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfZXJyb3IoLi4uYXJncykgewogICAgICAgIHRoaXMuX2xvZ2dlcignZXJyb3InLCBhcmdzKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEZvcm1hdHMgYSBtZXNzYWdlIHVzaW5nIHRoZSBlbGVtZW50IHR5cGUgYW4gYSBtZXRob2QgbmFtZS4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZE5hbWUgTWV0aG9kIG5hbWUgdG8gYXNzb2NpYXRlIHdpdGggbWVzc2FnZQogICAgICAgKiBAcGFyYW0gey4uLip9IGFyZ3MgQXJyYXkgb2Ygc3RyaW5ncyBvciBvYmplY3RzIHRvIGxvZwogICAgICAgKiBAcmV0dXJuIHtBcnJheX0gQXJyYXkgd2l0aCBmb3JtYXR0aW5nIGluZm9ybWF0aW9uIGZvciBgY29uc29sZWAKICAgICAgICogICBsb2dnaW5nLgogICAgICAgKi8KICAgICAgX2xvZ2YobWV0aG9kTmFtZSwgLi4uYXJncykgewogICAgICAgIHJldHVybiBbJ1slczo6JXNdJywgdGhpcy5pcywgbWV0aG9kTmFtZSwgLi4uYXJnc107CiAgICAgIH0KCiAgICB9CgogICAgTGVnYWN5RWxlbWVudC5wcm90b3R5cGUuaXMgPSAnJzsKCiAgICByZXR1cm4gTGVnYWN5RWxlbWVudDsKCiAgfSk7Cgp9KSgpOwoKCgogIChmdW5jdGlvbigpIHsKCiAgICAndXNlIHN0cmljdCc7CgogICAgY29uc3QgbGlmZWN5Y2xlUHJvcHMgPSB7CiAgICAgIGF0dGFjaGVkOiB0cnVlLAogICAgICBkZXRhY2hlZDogdHJ1ZSwKICAgICAgcmVhZHk6IHRydWUsCiAgICAgIGNyZWF0ZWQ6IHRydWUsCiAgICAgIGJlZm9yZVJlZ2lzdGVyOiB0cnVlLAogICAgICByZWdpc3RlcmVkOiB0cnVlLAogICAgICBhdHRyaWJ1dGVDaGFuZ2VkOiB0cnVlLAogICAgICBsaXN0ZW5lcnM6IHRydWUsCiAgICAgIGhvc3RBdHRyaWJ1dGVzOiB0cnVlCiAgICB9OwoKICAgIGNvbnN0IGV4Y2x1ZGVPbkluZm8gPSB7CiAgICAgIGF0dGFjaGVkOiB0cnVlLAogICAgICBkZXRhY2hlZDogdHJ1ZSwKICAgICAgcmVhZHk6IHRydWUsCiAgICAgIGNyZWF0ZWQ6IHRydWUsCiAgICAgIGJlZm9yZVJlZ2lzdGVyOiB0cnVlLAogICAgICByZWdpc3RlcmVkOiB0cnVlLAogICAgICBhdHRyaWJ1dGVDaGFuZ2VkOiB0cnVlLAogICAgICBiZWhhdmlvcnM6IHRydWUsCiAgICAgIF9ub0FjY2Vzc29yczogdHJ1ZQogICAgfTsKCiAgICBjb25zdCBleGNsdWRlT25CZWhhdmlvcnMgPSBPYmplY3QuYXNzaWduKHsKICAgICAgbGlzdGVuZXJzOiB0cnVlLAogICAgICBob3N0QXR0cmlidXRlczogdHJ1ZSwKICAgICAgcHJvcGVydGllczogdHJ1ZSwKICAgICAgb2JzZXJ2ZXJzOiB0cnVlLAogICAgfSwgZXhjbHVkZU9uSW5mbyk7CgogICAgZnVuY3Rpb24gY29weVByb3BlcnRpZXMoc291cmNlLCB0YXJnZXQsIGV4Y2x1ZGVQcm9wcykgewogICAgICBjb25zdCBub0FjY2Vzc29ycyA9IHNvdXJjZS5fbm9BY2Nlc3NvcnM7CiAgICAgIGZvciAobGV0IHAgaW4gc291cmNlKSB7CiAgICAgICAgaWYgKCEocCBpbiBleGNsdWRlUHJvcHMpKSB7CiAgICAgICAgICBpZiAobm9BY2Nlc3NvcnMpIHsKICAgICAgICAgICAgdGFyZ2V0W3BdID0gc291cmNlW3BdOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbGV0IHBkID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIHApOwogICAgICAgICAgICBpZiAocGQpIHsKICAgICAgICAgICAgICAvLyBlbnN1cmUgcHJvcGVydHkgaXMgY29uZmlndXJhYmxlIHNvIHRoYXQgYSBsYXRlciBiZWhhdmlvciBjYW4KICAgICAgICAgICAgICAvLyByZS1jb25maWd1cmUgaXQuCiAgICAgICAgICAgICAgcGQuY29uZmlndXJhYmxlID0gdHJ1ZTsKICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwLCBwZCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEFwcGxpZXMgYSAibGVnYWN5IiBiZWhhdmlvciBvciBhcnJheSBvZiBiZWhhdmlvcnMgdG8gdGhlIHByb3ZpZGVkIGNsYXNzLgogICAgICoKICAgICAqIE5vdGU6IHRoaXMgbWV0aG9kIHdpbGwgYXV0b21hdGljYWxseSBhbHNvIGFwcGx5IHRoZSBgUG9seW1lci5MZWdhY3lFbGVtZW50TWl4aW5gCiAgICAgKiB0byBlbnN1cmUgdGhhdCBhbnkgbGVnYWN5IGJlaGF2aW9ycyBjYW4gcmVseSBvbiBsZWdhY3kgUG9seW1lciBBUEkgb24KICAgICAqIHRoZSB1bmRlcmx5aW5nIGVsZW1lbnQuCiAgICAgKgogICAgICogQHRlbXBsYXRlIFQKICAgICAqIEBwYXJhbSB7IU9iamVjdHwhQXJyYXk8IU9iamVjdD59IGJlaGF2aW9ycyBCZWhhdmlvciBvYmplY3Qgb3IgYXJyYXkgb2YgYmVoYXZpb3JzLgogICAgICogQHBhcmFtIHtmdW5jdGlvbihuZXc6VCl9IGtsYXNzIEVsZW1lbnQgY2xhc3MuCiAgICAgKiBAcmV0dXJuIHtmdW5jdGlvbihuZXc6VCl9IFJldHVybnMgYSBuZXcgRWxlbWVudCBjbGFzcyBleHRlbmRlZCBieSB0aGUKICAgICAqIHBhc3NlZCBpbiBgYmVoYXZpb3JzYCBhbmQgYWxzbyBieSBgUG9seW1lci5MZWdhY3lFbGVtZW50TWl4aW5gLgogICAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgICAqIEBzdXBwcmVzcyB7aW52YWxpZENhc3RzLCBjaGVja1R5cGVzfQogICAgICovCiAgICBmdW5jdGlvbiBtaXhpbkJlaGF2aW9ycyhiZWhhdmlvcnMsIGtsYXNzKSB7CiAgICAgIHJldHVybiBHZW5lcmF0ZUNsYXNzRnJvbUluZm8oe30sIFBvbHltZXIuTGVnYWN5RWxlbWVudE1peGluKGtsYXNzKSwgYmVoYXZpb3JzKTsKICAgIH0KCiAgICAvLyBOT1RFOgogICAgLy8gMS54CiAgICAvLyBCZWhhdmlvcnMgd2VyZSBtaXhlZCBpbiAqaW4gcmV2ZXJzZSBvcmRlciogYW5kIGRlLWR1cGVkIG9uIHRoZSBmbHkuCiAgICAvLyBUaGUgcnVsZSB3YXMgdGhhdCBiZWhhdmlvciBwcm9wZXJ0aWVzIHdlcmUgY29waWVkIG9udG8gdGhlIGVsZW1lbnQKICAgIC8vIHByb3RvdHlwZSBpZiBhbmQgb25seSBpZiB0aGUgcHJvcGVydHkgZGlkIG5vdCBhbHJlYWR5IGV4aXN0LgogICAgLy8gR2l2ZW46IFBvbHltZXJ7IGJlaGF2aW9yczogW0EsIEIsIEMsIEEsIEJdfSwgcHJvcGVydHkgY29weSBvcmRlciB3YXM6CiAgICAvLyAoMSksIEIsICgyKSwgQSwgKDMpIEMuIFRoaXMgbWVhbnMgcHJvdG90eXBlIHByb3BlcnRpZXMgd2luIG92ZXIKICAgIC8vIEIgcHJvcGVydGllcyB3aW4gb3ZlciBBIHdpbiBvdmVyIEMuIFRoaXMgbWlycm9ycyB3aGF0IHdvdWxkIGhhcHBlbgogICAgLy8gd2l0aCBpbmhlcml0YW5jZSBpZiBlbGVtZW50IGV4dGVuZGVkIEIgZXh0ZW5kZWQgQSBleHRlbmRlZCBDLgogICAgLy8KICAgIC8vIEFnYWluIGdpdmVuLCBQb2x5bWVyeyBiZWhhdmlvcnM6IFtBLCBCLCBDLCBBLCBCXX0sIHRoZSByZXN1bHRpbmcKICAgIC8vIGBiZWhhdmlvcnNgIGFycmF5IHdhcyBbQywgQSwgQl0uCiAgICAvLyBCZWhhdmlvciBsaWZlY3ljbGUgbWV0aG9kcyB3ZXJlIGNhbGxlZCBpbiBiZWhhdmlvciBhcnJheSBvcmRlcgogICAgLy8gZm9sbG93ZWQgYnkgdGhlIGVsZW1lbnQsIGUuZy4gKDEpIEMuY3JlYXRlZCwgKDIpIEEuY3JlYXRlZCwKICAgIC8vICgzKSBCLmNyZWF0ZWQsICg0KSBlbGVtZW50LmNyZWF0ZWQuIFRoZXJlIHdhcyBubyBzdXBwb3J0IGZvcgogICAgLy8gc3VwZXIsIGFuZCAic3VwZXItYmVoYXZpb3IiIG1ldGhvZHMgd2VyZSBjYWxsYWJsZSBvbmx5IGJ5IG5hbWUpLgogICAgLy8KICAgIC8vIDIueAogICAgLy8gQmVoYXZpb3JzIGFyZSBtYWRlIGludG8gcHJvcGVyIG1peGlucyB3aGljaCBsaXZlIGluIHRoZQogICAgLy8gZWxlbWVudCdzIHByb3RvdHlwZSBjaGFpbi4gQmVoYXZpb3JzIGFyZSBwbGFjZWQgaW4gdGhlIGVsZW1lbnQgcHJvdG90eXBlCiAgICAvLyBlbGRlc3QgdG8geW91bmdlc3QgYW5kIGRlLWR1cGVkIHlvdW5nZXN0IHRvIG9sZGVzdDoKICAgIC8vIFNvLCBmaXJzdCBbQSwgQiwgQywgQSwgQl0gYmVjb21lcyBbQywgQSwgQl0gdGhlbiwKICAgIC8vIHRoZSBlbGVtZW50IHByb3RvdHlwZSBiZWNvbWVzIChvbGRlc3QpICgxKSBQb2x5bWVyLkVsZW1lbnQsICgyKSBjbGFzcyhDKSwKICAgIC8vICgzKSBjbGFzcyhBKSwgKDQpIGNsYXNzKEIpLCAoNSkgY2xhc3MoUG9seW1lcih7Li4ufSkpLgogICAgLy8gUmVzdWx0OgogICAgLy8gVGhpcyBtZWFucyBlbGVtZW50IHByb3BlcnRpZXMgd2luIG92ZXIgQiBwcm9wZXJ0aWVzIHdpbiBvdmVyIEEgd2luCiAgICAvLyBvdmVyIEMuIChzYW1lIGFzIDEueCkKICAgIC8vIElmIGxpZmVjeWNsZSBpcyBjYWxsZWQgKHN1cGVyIHRoZW4gbWUpLCBvcmRlciBpcwogICAgLy8gKDEpIEMuY3JlYXRlZCwgKDIpIEEuY3JlYXRlZCwgKDMpIEIuY3JlYXRlZCwgKDQpIGVsZW1lbnQuY3JlYXRlZAogICAgLy8gKGFnYWluIHNhbWUgYXMgMS54KQogICAgZnVuY3Rpb24gYXBwbHlCZWhhdmlvcnMocHJvdG8sIGJlaGF2aW9ycywgbGlmZWN5Y2xlKSB7CiAgICAgIGZvciAobGV0IGk9MDsgaTxiZWhhdmlvcnMubGVuZ3RoOyBpKyspIHsKICAgICAgICBhcHBseUluZm8ocHJvdG8sIGJlaGF2aW9yc1tpXSwgbGlmZWN5Y2xlLCBleGNsdWRlT25CZWhhdmlvcnMpOwogICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gYXBwbHlJbmZvKHByb3RvLCBpbmZvLCBsaWZlY3ljbGUsIGV4Y2x1ZGVQcm9wcykgewogICAgICBjb3B5UHJvcGVydGllcyhpbmZvLCBwcm90bywgZXhjbHVkZVByb3BzKTsKICAgICAgZm9yIChsZXQgcCBpbiBsaWZlY3ljbGVQcm9wcykgewogICAgICAgIGlmIChpbmZvW3BdKSB7CiAgICAgICAgICBsaWZlY3ljbGVbcF0gPSBsaWZlY3ljbGVbcF0gfHwgW107CiAgICAgICAgICBsaWZlY3ljbGVbcF0ucHVzaChpbmZvW3BdKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBwYXJhbSB7QXJyYXl9IGJlaGF2aW9ycyBMaXN0IG9mIGJlaGF2aW9ycyB0byBmbGF0dGVuLgogICAgICogQHBhcmFtIHtBcnJheT19IGxpc3QgVGFyZ2V0IGxpc3QgdG8gZmxhdHRlbiBiZWhhdmlvcnMgaW50by4KICAgICAqIEBwYXJhbSB7QXJyYXk9fSBleGNsdWRlIExpc3Qgb2YgYmVoYXZpb3JzIHRvIGV4Y2x1ZGUgZnJvbSB0aGUgbGlzdC4KICAgICAqIEByZXR1cm4geyFBcnJheX0gUmV0dXJucyB0aGUgbGlzdCBvZiBmbGF0dGVuZWQgYmVoYXZpb3JzLgogICAgICovCiAgICBmdW5jdGlvbiBmbGF0dGVuQmVoYXZpb3JzKGJlaGF2aW9ycywgbGlzdCwgZXhjbHVkZSkgewogICAgICBsaXN0ID0gbGlzdCB8fCBbXTsKICAgICAgZm9yIChsZXQgaT1iZWhhdmlvcnMubGVuZ3RoLTE7IGkgPj0gMDsgaS0tKSB7CiAgICAgICAgbGV0IGIgPSBiZWhhdmlvcnNbaV07CiAgICAgICAgaWYgKGIpIHsKICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGIpKSB7CiAgICAgICAgICAgIGZsYXR0ZW5CZWhhdmlvcnMoYiwgbGlzdCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyBkZWR1cAogICAgICAgICAgICBpZiAobGlzdC5pbmRleE9mKGIpIDwgMCAmJiAoIWV4Y2x1ZGUgfHwgZXhjbHVkZS5pbmRleE9mKGIpIDwgMCkpIHsKICAgICAgICAgICAgICBsaXN0LnVuc2hpZnQoYik7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgY29uc29sZS53YXJuKCdiZWhhdmlvciBpcyBudWxsLCBjaGVjayBmb3IgbWlzc2luZyBvciA0MDQgaW1wb3J0Jyk7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBsaXN0OwogICAgfQoKICAgIC8qIE5vdGUgYWJvdXQgY29uc3RydWN0aW9uIGFuZCBleHRlbnNpb24gb2YgbGVnYWN5IGNsYXNzZXMuCiAgICAgIFtDaGFuZ2VkIGluIFE0IDIwMTggdG8gb3B0aW1pemUgcGVyZm9ybWFuY2UuXQoKICAgICAgV2hlbiBjYWxsaW5nIGBQb2x5bWVyYCBvciBgbWl4aW5CZWhhdmlvcnNgLCB0aGUgZ2VuZXJhdGVkIGNsYXNzIGJlbG93IGlzCiAgICAgIG1hZGUuIFRoZSBsaXN0IG9mIGJlaGF2aW9ycyB3YXMgcHJldmlvdXNseSBtYWRlIGludG8gb25lIGdlbmVyYXRlZCBjbGFzcyBwZXIKICAgICAgYmVoYXZpb3IsIGJ1dCB0aGlzIGlzIG5vIGxvbmdlciB0aGUgY2FzZSBhcyBiZWhhdmlvcnMgYXJlIG5vdyBjYWxsZWQKICAgICAgbWFudWFsbHkuIE5vdGUsIHRoZXJlIG1heSAqc3RpbGwqIGJlIG11bHRpcGxlIGdlbmVyYXRlZCBjbGFzc2VzIGluIHRoZQogICAgICBlbGVtZW50J3MgcHJvdG90eXBlIGNoYWluIGlmIGV4dGVuc2lvbiBpcyB1c2VkIHdpdGggYG1peGluQmVoYXZpb3JzYC4KCiAgICAgIFRoZSBnZW5lcmF0ZWQgY2xhc3MgaXMgZGlyZWN0bHkgdGllZCB0byB0aGUgaW5mbyBvYmplY3QgYW5kIGJlaGF2aW9ycwogICAgICB1c2VkIHRvIGNyZWF0ZSBpdC4gVGhhdCBsaXN0IG9mIGJlaGF2aW9ycyBpcyBmaWx0ZXJlZCBzbyBpdCdzIG9ubHkgdGhlCiAgICAgIGJlaGF2aW9ycyBub3QgYWN0aXZlIG9uIHRoZSBzdXBlcmNsYXNzLiBJbiBvcmRlciB0byBjYWxsIHRocm91Z2ggdG8gdGhlCiAgICAgIGVudGlyZSBsaXN0IG9mIGxpZmVjeWNsZSBtZXRob2RzLCBpdCdzIGltcG9ydGFudCB0byBjYWxsIGBzdXBlcmAuCgogICAgICBUaGUgZWxlbWVudCdzIGBwcm9wZXJ0aWVzYCBhbmQgYG9ic2VydmVyc2AgYXJlIGNvbnRyb2xsZWQgdmlhIHRoZSBmaW5hbGl6YXRpb24KICAgICAgbWVjaGFuaXNtIHByb3ZpZGVkIGJ5IGBQcm9wZXJ0aWVzTWl4aW5gLiBgUHJvcGVydGllc2AgYW5kIGBvYnNlcnZlcnNgIGFyZQogICAgICBjb2xsZWN0ZWQgYnkgbWFudWFsbHkgdHJhdmVyc2luZyB0aGUgcHJvdG90eXBlIGNoYWluIGFuZCBtZXJnaW5nLgoKICAgICAgVG8gbGltaXQgY2hhbmdlcywgdGhlIGBfcmVnaXN0ZXJlZGAgbWV0aG9kIGlzIGNhbGxlZCB2aWEgYF9pbml0aWFsaXplUHJvcGVydGllc2AKICAgICAgYW5kIG5vdCBgX2ZpbmFsaXplQ2xhc3NgLgogICAgKi8KICAgIC8qKgogICAgICogQHBhcmFtIHshUG9seW1lckluaXR9IGluZm8gUG9seW1lciBpbmZvIG9iamVjdAogICAgICogQHBhcmFtIHtmdW5jdGlvbihuZXc6SFRNTEVsZW1lbnQpfSBCYXNlIGJhc2UgY2xhc3MgdG8gZXh0ZW5kIHdpdGggaW5mbyBvYmplY3QKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBiZWhhdmlvcnMgYmVoYXZpb3JzIHRvIGNvcHkgaW50byB0aGUgZWxlbWVudAogICAgICogQHJldHVybiB7ZnVuY3Rpb24obmV3OkhUTUxFbGVtZW50KX0gR2VuZXJhdGVkIGNsYXNzCiAgICAgKiBAc3VwcHJlc3Mge2NoZWNrVHlwZXN9CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBmdW5jdGlvbiBHZW5lcmF0ZUNsYXNzRnJvbUluZm8oaW5mbywgQmFzZSwgYmVoYXZpb3JzKSB7CgogICAgICAvLyBtYW5hZ2VzIGJlaGF2aW9yIGFuZCBsaWZlY3ljbGUgcHJvY2Vzc2luZyAoZmlsbGVkIGluIGFmdGVyIGNsYXNzIGRlZmluaXRpb24pCiAgICAgIGxldCBiZWhhdmlvckxpc3Q7CiAgICAgIGNvbnN0IGxpZmVjeWNsZSA9IHt9OwoKICAgICAgLyoqIEBwcml2YXRlICovCiAgICAgIGNsYXNzIFBvbHltZXJHZW5lcmF0ZWQgZXh0ZW5kcyBCYXNlIHsKCiAgICAgICAgLy8gZXhwbGljaXRseSBub3QgY2FsbGluZyBzdXBlci5fZmluYWxpemVDbGFzcwogICAgICAgIHN0YXRpYyBfZmluYWxpemVDbGFzcygpIHsKICAgICAgICAgIC8vIGlmIGNhbGxpbmcgdmlhIGEgc3ViY2xhc3MgdGhhdCBoYXNuJ3QgYmVlbiBnZW5lcmF0ZWQsIHBhc3MgdGhyb3VnaCB0byBzdXBlcgogICAgICAgICAgaWYgKCF0aGlzLmhhc093blByb3BlcnR5KHdpbmRvdy5KU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCdnZW5lcmF0ZWRGcm9tJywgdGhpcykpKSB7CiAgICAgICAgICAgIHN1cGVyLl9maW5hbGl6ZUNsYXNzKCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyBpbnRlcmxlYXZlIHByb3BlcnRpZXMgYW5kIG9ic2VydmVycyBwZXIgYmVoYXZpb3IgYW5kIGBpbmZvYAogICAgICAgICAgICBpZiAoYmVoYXZpb3JMaXN0KSB7CiAgICAgICAgICAgICAgZm9yIChsZXQgaT0wLCBiOyBpIDwgYmVoYXZpb3JMaXN0Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICBiID0gYmVoYXZpb3JMaXN0W2ldOwogICAgICAgICAgICAgICAgaWYgKGIucHJvcGVydGllcykgewogICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVByb3BlcnRpZXMoYi5wcm9wZXJ0aWVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChiLm9ic2VydmVycykgewogICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU9ic2VydmVycyhiLm9ic2VydmVycywgYi5wcm9wZXJ0aWVzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGluZm8ucHJvcGVydGllcykgewogICAgICAgICAgICAgIHRoaXMuY3JlYXRlUHJvcGVydGllcyhpbmZvLnByb3BlcnRpZXMpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChpbmZvLm9ic2VydmVycykgewogICAgICAgICAgICAgIHRoaXMuY3JlYXRlT2JzZXJ2ZXJzKGluZm8ub2JzZXJ2ZXJzLCBpbmZvLnByb3BlcnRpZXMpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSB0byBwcmVwYXJlIHRoZSBlbGVtZW50IHRlbXBsYXRlCiAgICAgICAgICAgIHRoaXMuX3ByZXBhcmVUZW1wbGF0ZSgpOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkgewogICAgICAgICAgY29uc3QgcHJvcGVydGllcyA9IHt9OwogICAgICAgICAgaWYgKGJlaGF2aW9yTGlzdCkgewogICAgICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBiZWhhdmlvckxpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHByb3BlcnRpZXMsIGJlaGF2aW9yTGlzdFtpXS5wcm9wZXJ0aWVzKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgT2JqZWN0LmFzc2lnbihwcm9wZXJ0aWVzLCBpbmZvLnByb3BlcnRpZXMpOwogICAgICAgICAgcmV0dXJuIHByb3BlcnRpZXM7CiAgICAgICAgfQoKICAgICAgICBzdGF0aWMgZ2V0IG9ic2VydmVycygpIHsKICAgICAgICAgIGxldCBvYnNlcnZlcnMgPSBbXTsKICAgICAgICAgIGlmIChiZWhhdmlvckxpc3QpIHsKICAgICAgICAgICAgZm9yIChsZXQgaT0wLCBiOyBpIDwgYmVoYXZpb3JMaXN0Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgYiA9IGJlaGF2aW9yTGlzdFtpXTsKICAgICAgICAgICAgICBpZiAoYi5vYnNlcnZlcnMpIHsKICAgICAgICAgICAgICAgIG9ic2VydmVycyA9IG9ic2VydmVycy5jb25jYXQoYi5vYnNlcnZlcnMpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgaWYgKGluZm8ub2JzZXJ2ZXJzKSB7CiAgICAgICAgICAgIG9ic2VydmVycyA9IG9ic2VydmVycy5jb25jYXQoaW5mby5vYnNlcnZlcnMpOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIG9ic2VydmVyczsKICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICovCiAgICAgICAgY3JlYXRlZCgpIHsKICAgICAgICAgIHN1cGVyLmNyZWF0ZWQoKTsKICAgICAgICAgIGNvbnN0IGxpc3QgPSBsaWZlY3ljbGUuY3JlYXRlZDsKICAgICAgICAgIGlmIChsaXN0KSB7CiAgICAgICAgICAgIGZvciAobGV0IGk9MDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICBsaXN0W2ldLmNhbGwodGhpcyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICovCiAgICAgICAgX3JlZ2lzdGVyZWQoKSB7CiAgICAgICAgICAvKiBOT1RFOiBgYmVmb3JlUmVnaXN0ZXJgIGlzIGNhbGxlZCBoZXJlIGZvciBiYywgYnV0IHRoZSBiZWhhdmlvcgogICAgICAgICAgICBpcyBkaWZmZXJlbnQgdGhhbiBpbiAxLnguIEluIDEuMCwgdGhlIG1ldGhvZCB3YXMgY2FsbGVkICphZnRlcioKICAgICAgICAgICAgbWl4aW5nIHByb3RvdHlwZXMgdG9nZXRoZXIgYnV0ICpiZWZvcmUqIHByb2Nlc3Npbmcgb2YgbWV0YS1vYmplY3RzLgogICAgICAgICAgICBIb3dldmVyLCBkeW5hbWljIGVmZmVjdHMgY2FuIHN0aWxsIGJlIHNldCBoZXJlIGFuZCBjYW4gYmUgZG9uZSBlaXRoZXIKICAgICAgICAgICAgaW4gYGJlZm9yZVJlZ2lzdGVyYCBvciBgcmVnaXN0ZXJlZGAuIEl0IGlzIG5vIGxvbmdlciBwb3NzaWJsZSB0byBzZXQKICAgICAgICAgICAgYGlzYCBpbiBgYmVmb3JlUmVnaXN0ZXJgIGFzIHlvdSBjb3VsZCBpbiAxLnguCiAgICAgICAgICAqLwogICAgICAgICAgLy8gb25seSBwcm9jZWVkIGlmIHRoZSBnZW5lcmF0ZWQgY2xhc3MnIHByb3RvdHlwZSBoYXMgbm90IGJlZW4gcmVnaXN0ZXJlZC4KICAgICAgICAgIGNvbnN0IGdlbmVyYXRlZFByb3RvID0gUG9seW1lckdlbmVyYXRlZC5wcm90b3R5cGU7CiAgICAgICAgICBpZiAoIWdlbmVyYXRlZFByb3RvLmhhc093blByb3BlcnR5KCdfX2hhc1JlZ2lzdGVyRmluaXNoZWQnKSkgewogICAgICAgICAgICBnZW5lcmF0ZWRQcm90by5fX2hhc1JlZ2lzdGVyRmluaXNoZWQgPSB0cnVlOwogICAgICAgICAgICAvLyBlbnN1cmUgc3VwZXJjbGFzcyBpcyByZWdpc3RlcmVkIGZpcnN0LgogICAgICAgICAgICBzdXBlci5fcmVnaXN0ZXJlZCgpOwogICAgICAgICAgICAvLyBjb3B5IHByb3BlcnRpZXMgb250byB0aGUgZ2VuZXJhdGVkIGNsYXNzIGxhemlseSBpZiB3ZSdyZSBvcHRpbWl6aW5nLAogICAgICAgICAgICBpZiAoUG9seW1lci5sZWdhY3lPcHRpbWl6YXRpb25zKSB7CiAgICAgICAgICAgICAgY29weVByb3BlcnRpZXNUb1Byb3RvKGdlbmVyYXRlZFByb3RvKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBtYWtlIHN1cmUgbGVnYWN5IGxpZmVjeWNsZSBpcyBjYWxsZWQgb24gdGhlICplbGVtZW50KidzIHByb3RvdHlwZQogICAgICAgICAgICAvLyBhbmQgbm90IHRoZSBnZW5lcmF0ZWQgY2xhc3MgcHJvdG90eXBlOyBpZiB0aGUgZWxlbWVudCBoYXMgYmVlbgogICAgICAgICAgICAvLyBleHRlbmRlZCwgdGhlc2UgYXJlICpub3QqIHRoZSBzYW1lLgogICAgICAgICAgICBjb25zdCBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKTsKICAgICAgICAgICAgbGV0IGxpc3QgPSBsaWZlY3ljbGUuYmVmb3JlUmVnaXN0ZXI7CiAgICAgICAgICAgIGlmIChsaXN0KSB7CiAgICAgICAgICAgICAgZm9yIChsZXQgaT0wOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgbGlzdFtpXS5jYWxsKHByb3RvKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbGlzdCA9IGxpZmVjeWNsZS5yZWdpc3RlcmVkOwogICAgICAgICAgICBpZiAobGlzdCkgewogICAgICAgICAgICAgIGZvciAobGV0IGk9MDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIGxpc3RbaV0uY2FsbChwcm90byk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqLwogICAgICAgIF9hcHBseUxpc3RlbmVycygpIHsKICAgICAgICAgIHN1cGVyLl9hcHBseUxpc3RlbmVycygpOwogICAgICAgICAgY29uc3QgbGlzdCA9IGxpZmVjeWNsZS5saXN0ZW5lcnM7CiAgICAgICAgICBpZiAobGlzdCkgewogICAgICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgY29uc3QgbGlzdGVuZXJzID0gbGlzdFtpXTsKICAgICAgICAgICAgICBpZiAobGlzdGVuZXJzKSB7CiAgICAgICAgICAgICAgICBmb3IgKGxldCBsIGluIGxpc3RlbmVycykgewogICAgICAgICAgICAgICAgICB0aGlzLl9hZGRNZXRob2RFdmVudExpc3RlbmVyVG9Ob2RlKHRoaXMsIGwsIGxpc3RlbmVyc1tsXSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBub3RlOiBleGNlcHRpb24gdG8gInN1cGVyIHRoZW4gbWUiIHJ1bGU7CiAgICAgICAgLy8gZG8gd29yayBiZWZvcmUgY2FsbGluZyBzdXBlciBzbyB0aGF0IHN1cGVyIGF0dHJpYnV0ZXMKICAgICAgICAvLyBvbmx5IGFwcGx5IGlmIG5vdCBhbHJlYWR5IHNldC4KICAgICAgICAvKioKICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqLwogICAgICAgIF9lbnN1cmVBdHRyaWJ1dGVzKCkgewogICAgICAgICAgY29uc3QgbGlzdCA9IGxpZmVjeWNsZS5ob3N0QXR0cmlidXRlczsKICAgICAgICAgIGlmIChsaXN0KSB7CiAgICAgICAgICAgIGZvciAobGV0IGk9bGlzdC5sZW5ndGgtMTsgaSA+PSAwOyBpLS0pIHsKICAgICAgICAgICAgICBjb25zdCBob3N0QXR0cmlidXRlcyA9IGxpc3RbaV07CiAgICAgICAgICAgICAgZm9yIChsZXQgYSBpbiBob3N0QXR0cmlidXRlcykgewogICAgICAgICAgICAgICAgICB0aGlzLl9lbnN1cmVBdHRyaWJ1dGUoYSwgaG9zdEF0dHJpYnV0ZXNbYV0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICBzdXBlci5fZW5zdXJlQXR0cmlidXRlcygpOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICAgKi8KICAgICAgICByZWFkeSgpIHsKICAgICAgICAgIHN1cGVyLnJlYWR5KCk7CiAgICAgICAgICBsZXQgbGlzdCA9IGxpZmVjeWNsZS5yZWFkeTsKICAgICAgICAgIGlmIChsaXN0KSB7CiAgICAgICAgICAgIGZvciAobGV0IGk9MDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICBsaXN0W2ldLmNhbGwodGhpcyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICovCiAgICAgICAgYXR0YWNoZWQoKSB7CiAgICAgICAgICBzdXBlci5hdHRhY2hlZCgpOwogICAgICAgICAgbGV0IGxpc3QgPSBsaWZlY3ljbGUuYXR0YWNoZWQ7CiAgICAgICAgICBpZiAobGlzdCkgewogICAgICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgbGlzdFtpXS5jYWxsKHRoaXMpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgICAqLwogICAgICAgIGRldGFjaGVkKCkgewogICAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKICAgICAgICAgIGxldCBsaXN0ID0gbGlmZWN5Y2xlLmRldGFjaGVkOwogICAgICAgICAgaWYgKGxpc3QpIHsKICAgICAgICAgICAgZm9yIChsZXQgaT0wOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgIGxpc3RbaV0uY2FsbCh0aGlzKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogSW1wbGVtZW50cyBuYXRpdmUgQ3VzdG9tIEVsZW1lbnRzIGBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2tgIHRvCiAgICAgICAgICogc2V0IGFuIGF0dHJpYnV0ZSB2YWx1ZSB0byBhIHByb3BlcnR5IHZpYSBgX2F0dHJpYnV0ZVRvUHJvcGVydHlgLgogICAgICAgICAqCiAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgTmFtZSBvZiBhdHRyaWJ1dGUgdGhhdCBjaGFuZ2VkCiAgICAgICAgICogQHBhcmFtIHs/c3RyaW5nfSBvbGQgT2xkIGF0dHJpYnV0ZSB2YWx1ZQogICAgICAgICAqIEBwYXJhbSB7P3N0cmluZ30gdmFsdWUgTmV3IGF0dHJpYnV0ZSB2YWx1ZQogICAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAgICovCiAgICAgICAgYXR0cmlidXRlQ2hhbmdlZChuYW1lLCBvbGQsIHZhbHVlKSB7CiAgICAgICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkKCk7CiAgICAgICAgICBsZXQgbGlzdCA9IGxpZmVjeWNsZS5hdHRyaWJ1dGVDaGFuZ2VkOwogICAgICAgICAgaWYgKGxpc3QpIHsKICAgICAgICAgICAgZm9yIChsZXQgaT0wOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgIGxpc3RbaV0uY2FsbCh0aGlzLCBuYW1lLCBvbGQsIHZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgLy8gYXBwbHkgYmVoYXZpb3JzLCBub3RlIGFjdHVhbCBjb3B5aW5nIGlzIGRvbmUgbGF6aWx5IGF0IGZpcnN0IGluc3RhbmNlIGNyZWF0aW9uCiAgICAgIGlmIChiZWhhdmlvcnMpIHsKICAgICAgICAvLyBOT1RFOiBlbnN1cmUgdGhlIGJlaGF2aW9yIGlzIGV4dGVuZGluZyBhIGNsYXNzIHdpdGgKICAgICAgICAvLyBsZWdhY3kgZWxlbWVudCBhcGkuIFRoaXMgaXMgbmVjZXNzYXJ5IHNpbmNlIGJlaGF2aW9ycyBleHBlY3QgdG8gYmUgYWJsZQogICAgICAgIC8vIHRvIGFjY2VzcyAxLnggbGVnYWN5IGFwaS4KICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYmVoYXZpb3JzKSkgewogICAgICAgICAgYmVoYXZpb3JzID0gW2JlaGF2aW9yc107CiAgICAgICAgfQogICAgICAgIGxldCBzdXBlckJlaGF2aW9ycyA9IEJhc2UucHJvdG90eXBlLmJlaGF2aW9yczsKICAgICAgICAvLyBnZXQgZmxhdHRlbmVkLCBkZWR1cGVkIGxpc3Qgb2YgYmVoYXZpb3JzICpub3QqIGFscmVhZHkgb24gc3VwZXIgY2xhc3MKICAgICAgICBiZWhhdmlvckxpc3QgPSBmbGF0dGVuQmVoYXZpb3JzKGJlaGF2aW9ycywgbnVsbCwgc3VwZXJCZWhhdmlvcnMpOwogICAgICAgIFBvbHltZXJHZW5lcmF0ZWQucHJvdG90eXBlLmJlaGF2aW9ycyA9IHN1cGVyQmVoYXZpb3JzID8KICAgICAgICAgIHN1cGVyQmVoYXZpb3JzLmNvbmNhdChiZWhhdmlvcnMpIDogYmVoYXZpb3JMaXN0OwogICAgICB9CgogICAgICBjb25zdCBjb3B5UHJvcGVydGllc1RvUHJvdG8gPSAocHJvdG8pID0+IHsKICAgICAgICBpZiAoYmVoYXZpb3JMaXN0KSB7CiAgICAgICAgICBhcHBseUJlaGF2aW9ycyhwcm90bywgYmVoYXZpb3JMaXN0LCBsaWZlY3ljbGUpOwogICAgICAgIH0KICAgICAgICBhcHBseUluZm8ocHJvdG8sIGluZm8sIGxpZmVjeWNsZSwgZXhjbHVkZU9uSW5mbyk7CiAgICAgIH07CgogICAgICAvLyBjb3B5IHByb3BlcnRpZXMgaWYgd2UncmUgbm90IG9wdGltaXppbmcKICAgICAgaWYgKCFQb2x5bWVyLmxlZ2FjeU9wdGltaXphdGlvbnMpIHsKICAgICAgICBjb3B5UHJvcGVydGllc1RvUHJvdG8oUG9seW1lckdlbmVyYXRlZC5wcm90b3R5cGUpOwogICAgICB9CgogICAgICBQb2x5bWVyR2VuZXJhdGVkLmdlbmVyYXRlZEZyb20gPSBpbmZvOwoKICAgICAgcmV0dXJuIFBvbHltZXJHZW5lcmF0ZWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZW5lcmF0ZXMgYSBjbGFzcyB0aGF0IGV4dGVuZHMgYFBvbHltZXIuTGVnYWN5RWxlbWVudGAgYmFzZWQgb24gdGhlCiAgICAgKiBwcm92aWRlZCBpbmZvIG9iamVjdC4gIE1ldGFkYXRhIG9iamVjdHMgb24gdGhlIGBpbmZvYCBvYmplY3QKICAgICAqIChgcHJvcGVydGllc2AsIGBvYnNlcnZlcnNgLCBgbGlzdGVuZXJzYCwgYGJlaGF2aW9yc2AsIGBpc2ApIGFyZSB1c2VkCiAgICAgKiBmb3IgUG9seW1lcidzIG1ldGEtcHJvZ3JhbW1pbmcgc3lzdGVtcywgYW5kIGFueSBmdW5jdGlvbnMgYXJlIGNvcGllZAogICAgICogdG8gdGhlIGdlbmVyYXRlZCBjbGFzcy4KICAgICAqCiAgICAgKiBWYWxpZCAibWV0YWRhdGEiIHZhbHVlcyBhcmUgYXMgZm9sbG93czoKICAgICAqCiAgICAgKiBgaXNgOiBTdHJpbmcgcHJvdmlkaW5nIHRoZSB0YWcgbmFtZSB0byByZWdpc3RlciB0aGUgZWxlbWVudCB1bmRlci4gSW4KICAgICAqIGFkZGl0aW9uLCBpZiBhIGBkb20tbW9kdWxlYCB3aXRoIHRoZSBzYW1lIGlkIGV4aXN0cywgdGhlIGZpcnN0IHRlbXBsYXRlCiAgICAgKiBpbiB0aGF0IGBkb20tbW9kdWxlYCB3aWxsIGJlIHN0YW1wZWQgaW50byB0aGUgc2hhZG93IHJvb3Qgb2YgdGhpcyBlbGVtZW50LAogICAgICogd2l0aCBzdXBwb3J0IGZvciBkZWNsYXJhdGl2ZSBldmVudCBsaXN0ZW5lcnMgKGBvbi0uLi5gKSwgUG9seW1lciBkYXRhCiAgICAgKiBiaW5kaW5ncyAoYFtbLi4uXV1gIGFuZCBge3suLi59fWApLCBhbmQgaWQtYmFzZWQgbm9kZSBmaW5kaW5nIGludG8KICAgICAqIGB0aGlzLiRgLgogICAgICoKICAgICAqIGBwcm9wZXJ0aWVzYDogT2JqZWN0IGRlc2NyaWJpbmcgcHJvcGVydHktcmVsYXRlZCBtZXRhZGF0YSB1c2VkIGJ5IFBvbHltZXIKICAgICAqIGZlYXR1cmVzIChrZXk6IHByb3BlcnR5IG5hbWVzLCB2YWx1ZTogb2JqZWN0IGNvbnRhaW5pbmcgcHJvcGVydHkgbWV0YWRhdGEpLgogICAgICogVmFsaWQga2V5cyBpbiBwZXItcHJvcGVydHkgbWV0YWRhdGEgaW5jbHVkZToKICAgICAqIC0gYHR5cGVgIChTdHJpbmd8TnVtYmVyfE9iamVjdHxBcnJheXwuLi4pOiBVc2VkIGJ5CiAgICAgKiAgIGBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2tgIHRvIGRldGVybWluZSBob3cgc3RyaW5nLWJhc2VkIGF0dHJpYnV0ZXMKICAgICAqICAgYXJlIGRlc2VyaWFsaXplZCB0byBKYXZhU2NyaXB0IHByb3BlcnR5IHZhbHVlcy4KICAgICAqIC0gYG5vdGlmeWAgKGJvb2xlYW4pOiBDYXVzZXMgYSBjaGFuZ2UgaW4gdGhlIHByb3BlcnR5IHRvIGZpcmUgYQogICAgICogICBub24tYnViYmxpbmcgZXZlbnQgY2FsbGVkIGA8cHJvcGVydHk+LWNoYW5nZWRgLiBFbGVtZW50cyB0aGF0IGhhdmUKICAgICAqICAgZW5hYmxlZCB0d28td2F5IGJpbmRpbmcgdG8gdGhlIHByb3BlcnR5IHVzZSB0aGlzIGV2ZW50IHRvIG9ic2VydmUgY2hhbmdlcy4KICAgICAqIC0gYHJlYWRPbmx5YCAoYm9vbGVhbik6IENyZWF0ZXMgYSBnZXR0ZXIgZm9yIHRoZSBwcm9wZXJ0eSwgYnV0IG5vIHNldHRlci4KICAgICAqICAgVG8gc2V0IGEgcmVhZC1vbmx5IHByb3BlcnR5LCB1c2UgdGhlIHByaXZhdGUgc2V0dGVyIG1ldGhvZAogICAgICogICBgX3NldFByb3BlcnR5KHByb3BlcnR5LCB2YWx1ZSlgLgogICAgICogLSBgb2JzZXJ2ZXJgIChzdHJpbmcpOiBPYnNlcnZlciBtZXRob2QgbmFtZSB0aGF0IHdpbGwgYmUgY2FsbGVkIHdoZW4KICAgICAqICAgdGhlIHByb3BlcnR5IGNoYW5nZXMuIFRoZSBhcmd1bWVudHMgb2YgdGhlIG1ldGhvZCBhcmUKICAgICAqICAgYCh2YWx1ZSwgcHJldmlvdXNWYWx1ZSlgLgogICAgICogLSBgY29tcHV0ZWRgIChzdHJpbmcpOiBTdHJpbmcgZGVzY3JpYmluZyBtZXRob2QgYW5kIGRlcGVuZGVudCBwcm9wZXJ0aWVzCiAgICAgKiAgIGZvciBjb21wdXRpbmcgdGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkgKGUuZy4gYCdjb21wdXRlRm9vKGJhciwgem90KSdgKS4KICAgICAqICAgQ29tcHV0ZWQgcHJvcGVydGllcyBhcmUgcmVhZC1vbmx5IGJ5IGRlZmF1bHQgYW5kIGNhbiBvbmx5IGJlIGNoYW5nZWQKICAgICAqICAgdmlhIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGNvbXB1dGluZyBtZXRob2QuCiAgICAgKgogICAgICogYG9ic2VydmVyc2A6IEFycmF5IG9mIHN0cmluZ3MgZGVzY3JpYmluZyBtdWx0aS1wcm9wZXJ0eSBvYnNlcnZlciBtZXRob2RzCiAgICAgKiAgYW5kIHRoZWlyIGRlcGVuZGVudCBwcm9wZXJ0aWVzIChlLmcuIGAnb2JzZXJ2ZUFCQyhhLCBiLCBjKSdgKS4KICAgICAqCiAgICAgKiBgbGlzdGVuZXJzYDogT2JqZWN0IGRlc2NyaWJpbmcgZXZlbnQgbGlzdGVuZXJzIHRvIGJlIGFkZGVkIHRvIGVhY2gKICAgICAqICBpbnN0YW5jZSBvZiB0aGlzIGVsZW1lbnQgKGtleTogZXZlbnQgbmFtZSwgdmFsdWU6IG1ldGhvZCBuYW1lKS4KICAgICAqCiAgICAgKiBgYmVoYXZpb3JzYDogQXJyYXkgb2YgYWRkaXRpb25hbCBgaW5mb2Agb2JqZWN0cyBjb250YWluaW5nIG1ldGFkYXRhCiAgICAgKiBhbmQgY2FsbGJhY2tzIGluIHRoZSBzYW1lIGZvcm1hdCBhcyB0aGUgYGluZm9gIG9iamVjdCBoZXJlIHdoaWNoIGFyZQogICAgICogbWVyZ2VkIGludG8gdGhpcyBlbGVtZW50LgogICAgICoKICAgICAqIGBob3N0QXR0cmlidXRlc2A6IE9iamVjdCBsaXN0aW5nIGF0dHJpYnV0ZXMgdG8gYmUgYXBwbGllZCB0byB0aGUgaG9zdAogICAgICogIG9uY2UgY3JlYXRlZCAoa2V5OiBhdHRyaWJ1dGUgbmFtZSwgdmFsdWU6IGF0dHJpYnV0ZSB2YWx1ZSkuICBWYWx1ZXMKICAgICAqICBhcmUgc2VyaWFsaXplZCBiYXNlZCBvbiB0aGUgdHlwZSBvZiB0aGUgdmFsdWUuICBIb3N0IGF0dHJpYnV0ZXMgc2hvdWxkCiAgICAgKiAgZ2VuZXJhbGx5IGJlIGxpbWl0ZWQgdG8gYXR0cmlidXRlcyBzdWNoIGFzIGB0YWJJbmRleGAgYW5kIGBhcmlhLS4uLmAuCiAgICAgKiAgQXR0cmlidXRlcyBpbiBgaG9zdEF0dHJpYnV0ZXNgIGFyZSBvbmx5IGFwcGxpZWQgaWYgYSB1c2VyLXN1cHBsaWVkCiAgICAgKiAgYXR0cmlidXRlIGlzIG5vdCBhbHJlYWR5IHByZXNlbnQgKGF0dHJpYnV0ZXMgaW4gbWFya3VwIG92ZXJyaWRlCiAgICAgKiAgYGhvc3RBdHRyaWJ1dGVzYCkuCiAgICAgKgogICAgICogSW4gYWRkaXRpb24sIHRoZSBmb2xsb3dpbmcgUG9seW1lci1zcGVjaWZpYyBjYWxsYmFja3MgbWF5IGJlIHByb3ZpZGVkOgogICAgICogLSBgcmVnaXN0ZXJlZGA6IGNhbGxlZCBhZnRlciBmaXJzdCBpbnN0YW5jZSBvZiB0aGlzIGVsZW1lbnQsCiAgICAgKiAtIGBjcmVhdGVkYDogY2FsbGVkIGR1cmluZyBgY29uc3RydWN0b3JgCiAgICAgKiAtIGBhdHRhY2hlZGA6IGNhbGxlZCBkdXJpbmcgYGNvbm5lY3RlZENhbGxiYWNrYAogICAgICogLSBgZGV0YWNoZWRgOiBjYWxsZWQgZHVyaW5nIGBkaXNjb25uZWN0ZWRDYWxsYmFja2AKICAgICAqIC0gYHJlYWR5YDogY2FsbGVkIGJlZm9yZSBmaXJzdCBgYXR0YWNoZWRgLCBhZnRlciBhbGwgcHJvcGVydGllcyBvZgogICAgICogICB0aGlzIGVsZW1lbnQgaGF2ZSBiZWVuIHByb3BhZ2F0ZWQgdG8gaXRzIHRlbXBsYXRlIGFuZCBhbGwgb2JzZXJ2ZXJzCiAgICAgKiAgIGhhdmUgcnVuCiAgICAgKgogICAgICogQHBhcmFtIHshUG9seW1lckluaXR9IGluZm8gT2JqZWN0IGNvbnRhaW5pbmcgUG9seW1lciBtZXRhZGF0YSBhbmQgZnVuY3Rpb25zCiAgICAgKiAgIHRvIGJlY29tZSBjbGFzcyBtZXRob2RzLgogICAgICogQHRlbXBsYXRlIFQKICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oVCk6VH0gbWl4aW4gT3B0aW9uYWwgbWl4aW4gdG8gYXBwbHkgdG8gbGVnYWN5IGJhc2UgY2xhc3MKICAgICAqICAgYmVmb3JlIGV4dGVuZGluZyB3aXRoIFBvbHltZXIgbWV0YXByb2dyYW1taW5nLgogICAgICogQHJldHVybiB7ZnVuY3Rpb24obmV3OkhUTUxFbGVtZW50KX0gR2VuZXJhdGVkIGNsYXNzCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAgICovCiAgICBQb2x5bWVyLkNsYXNzID0gZnVuY3Rpb24oaW5mbywgbWl4aW4pIHsKICAgICAgaWYgKCFpbmZvKSB7CiAgICAgICAgY29uc29sZS53YXJuKCdQb2x5bWVyLkNsYXNzIHJlcXVpcmVzIGBpbmZvYCBhcmd1bWVudCcpOwogICAgICB9CiAgICAgIGxldCBrbGFzcyA9IG1peGluID8gbWl4aW4oUG9seW1lci5MZWdhY3lFbGVtZW50TWl4aW4oSFRNTEVsZW1lbnQpKSA6CiAgICAgICAgICBQb2x5bWVyLkxlZ2FjeUVsZW1lbnRNaXhpbihIVE1MRWxlbWVudCk7CiAgICAgIGtsYXNzID0gR2VuZXJhdGVDbGFzc0Zyb21JbmZvKGluZm8sIGtsYXNzLCBpbmZvLmJlaGF2aW9ycyk7CiAgICAgIGlmIChpbmZvLl9lbmFibGVEaXNhYmxlVXBncmFkZSkgewogICAgICAgIGtsYXNzID0gUG9seW1lci5EaXNhYmxlVXBncmFkZU1peGluKGtsYXNzKTsKICAgICAgfQogICAgICAvLyBkZWNvcmF0ZSBrbGFzcyB3aXRoIHJlZ2lzdHJhdGlvbiBpbmZvCiAgICAgIGtsYXNzLmlzID0ga2xhc3MucHJvdG90eXBlLmlzID0gaW5mby5pczsKICAgICAgcmV0dXJuIGtsYXNzOwogICAgfTsKCiAgICBQb2x5bWVyLm1peGluQmVoYXZpb3JzID0gbWl4aW5CZWhhdmlvcnM7CgogIH0pKCk7CgoKCgogIChmdW5jdGlvbigpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICAvKioKICAgICAqIExlZ2FjeSBjbGFzcyBmYWN0b3J5IGFuZCByZWdpc3RyYXRpb24gaGVscGVyIGZvciBkZWZpbmluZyBQb2x5bWVyCiAgICAgKiBlbGVtZW50cy4KICAgICAqCiAgICAgKiBUaGlzIG1ldGhvZCBpcyBlcXVpdmFsZW50IHRvCiAgICAgKiBgY3VzdG9tRWxlbWVudHMuZGVmaW5lKGluZm8uaXMsIFBvbHltZXIuQ2xhc3MoaW5mbykpO2AKICAgICAqCiAgICAgKiBTZWUgYFBvbHltZXIuQ2xhc3NgIGZvciBkZXRhaWxzIG9uIHZhbGlkIGxlZ2FjeSBtZXRhZGF0YSBmb3JtYXQgZm9yIGBpbmZvYC4KICAgICAqCiAgICAgKiBAZ2xvYmFsCiAgICAgKiBAb3ZlcnJpZGUKICAgICAqIEBmdW5jdGlvbiBQb2x5bWVyCiAgICAgKiBAcGFyYW0geyFQb2x5bWVySW5pdH0gaW5mbyBPYmplY3QgY29udGFpbmluZyBQb2x5bWVyIG1ldGFkYXRhIGFuZCBmdW5jdGlvbnMKICAgICAqICAgdG8gYmVjb21lIGNsYXNzIG1ldGhvZHMuCiAgICAgKiBAcmV0dXJuIHtmdW5jdGlvbihuZXc6IEhUTUxFbGVtZW50KX0gR2VuZXJhdGVkIGNsYXNzCiAgICAgKiBAc3VwcHJlc3Mge2R1cGxpY2F0ZSwgaW52YWxpZENhc3RzLCBjaGVja1R5cGVzfQogICAgICovCiAgICB3aW5kb3cuUG9seW1lci5fcG9seW1lckZuID0gZnVuY3Rpb24oaW5mbykgewogICAgICAvLyBpZiBpbnB1dCBpcyBhIGBjbGFzc2AgKGFrYSBhIGZ1bmN0aW9uIHdpdGggYSBwcm90b3R5cGUpLCB1c2UgdGhlIHByb3RvdHlwZQogICAgICAvLyByZW1lbWJlciB0aGF0IHRoZSBgY29uc3RydWN0b3JgIHdpbGwgbmV2ZXIgYmUgY2FsbGVkCiAgICAgIGxldCBrbGFzczsKICAgICAgaWYgKHR5cGVvZiBpbmZvID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAga2xhc3MgPSBpbmZvOwogICAgICB9IGVsc2UgewogICAgICAgIGtsYXNzID0gUG9seW1lci5DbGFzcyhpbmZvKTsKICAgICAgfQogICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoa2xhc3MuaXMsIC8qKiBAdHlwZSB7IUhUTUxFbGVtZW50fSAqLyhrbGFzcykpOwogICAgICByZXR1cm4ga2xhc3M7CiAgICB9OwoKICB9KSgpOwoKCgooZnVuY3Rpb24oKSB7CiAgJ3VzZSBzdHJpY3QnOwoKICAvLyBDb21tb24gaW1wbGVtZW50YXRpb24gZm9yIG1peGluICYgYmVoYXZpb3IKICBmdW5jdGlvbiBtdXRhYmxlUHJvcGVydHlDaGFuZ2UoaW5zdCwgcHJvcGVydHksIHZhbHVlLCBvbGQsIG11dGFibGVEYXRhKSB7CiAgICBsZXQgaXNPYmplY3Q7CiAgICBpZiAobXV0YWJsZURhdGEpIHsKICAgICAgaXNPYmplY3QgPSAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCk7CiAgICAgIC8vIFB1bGwgYG9sZGAgZm9yIE9iamVjdHMgZnJvbSB0ZW1wIGNhY2hlLCBidXQgdHJlYXQgYG51bGxgIGFzIGEgcHJpbWl0aXZlCiAgICAgIGlmIChpc09iamVjdCkgewogICAgICAgIG9sZCA9IGluc3QuX19kYXRhVGVtcFtwcm9wZXJ0eV07CiAgICAgIH0KICAgIH0KICAgIC8vIFN0cmljdCBlcXVhbGl0eSBjaGVjaywgYnV0IHJldHVybiBmYWxzZSBmb3IgTmFOPT09TmFOCiAgICBsZXQgc2hvdWxkQ2hhbmdlID0gKG9sZCAhPT0gdmFsdWUgJiYgKG9sZCA9PT0gb2xkIHx8IHZhbHVlID09PSB2YWx1ZSkpOwogICAgLy8gT2JqZWN0cyBhcmUgc3RvcmVkIGluIHRlbXBvcmFyeSBjYWNoZSAoY2xlYXJlZCBhdCBlbmQgb2YKICAgIC8vIHR1cm4pLCB3aGljaCBpcyB1c2VkIGZvciBkaXJ0eS1jaGVja2luZwogICAgaWYgKGlzT2JqZWN0ICYmIHNob3VsZENoYW5nZSkgewogICAgICBpbnN0Ll9fZGF0YVRlbXBbcHJvcGVydHldID0gdmFsdWU7CiAgICB9CiAgICByZXR1cm4gc2hvdWxkQ2hhbmdlOwogIH0KCiAgLyoqCiAgICogRWxlbWVudCBjbGFzcyBtaXhpbiB0byBza2lwIHN0cmljdCBkaXJ0eS1jaGVja2luZyBmb3Igb2JqZWN0cyBhbmQgYXJyYXlzCiAgICogKGFsd2F5cyBjb25zaWRlciB0aGVtIHRvIGJlICJkaXJ0eSIpLCBmb3IgdXNlIG9uIGVsZW1lbnRzIHV0aWxpemluZwogICAqIGBQb2x5bWVyLlByb3BlcnR5RWZmZWN0c2AKICAgKgogICAqIEJ5IGRlZmF1bHQsIGBQb2x5bWVyLlByb3BlcnR5RWZmZWN0c2AgcGVyZm9ybXMgc3RyaWN0IGRpcnR5IGNoZWNraW5nIG9uCiAgICogb2JqZWN0cywgd2hpY2ggbWVhbnMgdGhhdCBhbnkgZGVlcCBtb2RpZmljYXRpb25zIHRvIGFuIG9iamVjdCBvciBhcnJheSB3aWxsCiAgICogbm90IGJlIHByb3BhZ2F0ZWQgdW5sZXNzICJpbW11dGFibGUiIGRhdGEgcGF0dGVybnMgYXJlIHVzZWQgKGkuZS4gYWxsIG9iamVjdAogICAqIHJlZmVyZW5jZXMgZnJvbSB0aGUgcm9vdCB0byB0aGUgbXV0YXRpb24gd2VyZSBjaGFuZ2VkKS4KICAgKgogICAqIFBvbHltZXIgYWxzbyBwcm92aWRlcyBhIHByb3ByaWV0YXJ5IGRhdGEgbXV0YXRpb24gYW5kIHBhdGggbm90aWZpY2F0aW9uIEFQSQogICAqIChlLmcuIGBub3RpZnlQYXRoYCwgYHNldGAsIGFuZCBhcnJheSBtdXRhdGlvbiBBUEkncykgdGhhdCBhbGxvdyBlZmZpY2llbnQKICAgKiBtdXRhdGlvbiBhbmQgbm90aWZpY2F0aW9uIG9mIGRlZXAgY2hhbmdlcyBpbiBhbiBvYmplY3QgZ3JhcGggdG8gYWxsIGVsZW1lbnRzCiAgICogYm91bmQgdG8gdGhlIHNhbWUgb2JqZWN0IGdyYXBoLgogICAqCiAgICogSW4gY2FzZXMgd2hlcmUgbmVpdGhlciBpbW11dGFibGUgcGF0dGVybnMgbm9yIHRoZSBkYXRhIG11dGF0aW9uIEFQSSBjYW4gYmUKICAgKiB1c2VkLCBhcHBseWluZyB0aGlzIG1peGluIHdpbGwgY2F1c2UgUG9seW1lciB0byBza2lwIGRpcnR5IGNoZWNraW5nIGZvcgogICAqIG9iamVjdHMgYW5kIGFycmF5cyAoYWx3YXlzIGNvbnNpZGVyIHRoZW0gdG8gYmUgImRpcnR5IikuICBUaGlzIGFsbG93cyBhCiAgICogdXNlciB0byBtYWtlIGEgZGVlcCBtb2RpZmljYXRpb24gdG8gYSBib3VuZCBvYmplY3QgZ3JhcGgsIGFuZCB0aGVuIGVpdGhlcgogICAqIHNpbXBseSByZS1zZXQgdGhlIG9iamVjdCAoZS5nLiBgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXNgKSBvciBjYWxsIGBub3RpZnlQYXRoYAogICAqIChlLmcuIGB0aGlzLm5vdGlmeVBhdGgoJ2l0ZW1zJylgKSB0byB1cGRhdGUgdGhlIHRyZWUuICBOb3RlIHRoYXQgYWxsCiAgICogZWxlbWVudHMgdGhhdCB3aXNoIHRvIGJlIHVwZGF0ZWQgYmFzZWQgb24gZGVlcCBtdXRhdGlvbnMgbXVzdCBhcHBseSB0aGlzCiAgICogbWl4aW4gb3Igb3RoZXJ3aXNlIHNraXAgc3RyaWN0IGRpcnR5IGNoZWNraW5nIGZvciBvYmplY3RzL2FycmF5cy4KICAgKiBTcGVjaWZpY2FsbHksIGFueSBlbGVtZW50cyBpbiB0aGUgYmluZGluZyB0cmVlIGJldHdlZW4gdGhlIHNvdXJjZSBvZiBhCiAgICogbXV0YXRpb24gYW5kIHRoZSBjb25zdW1wdGlvbiBvZiBpdCBtdXN0IGFwcGx5IHRoaXMgbWl4aW4gb3IgZW5hYmxlIHRoZQogICAqIGBQb2x5bWVyLk9wdGlvbmFsTXV0YWJsZURhdGFgIG1peGluLgogICAqCiAgICogSW4gb3JkZXIgdG8gbWFrZSB0aGUgZGlydHkgY2hlY2sgc3RyYXRlZ3kgY29uZmlndXJhYmxlLCBzZWUKICAgKiBgUG9seW1lci5PcHRpb25hbE11dGFibGVEYXRhYC4KICAgKgogICAqIE5vdGUsIHRoZSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgcHJvcGFnYXRpbmcgbGFyZ2Ugb2JqZWN0IGdyYXBocwogICAqIHdpbGwgYmUgd29yc2UgYXMgb3Bwb3NlZCB0byB1c2luZyBzdHJpY3QgZGlydHkgY2hlY2tpbmcgd2l0aCBpbW11dGFibGUKICAgKiBwYXR0ZXJucyBvciBQb2x5bWVyJ3MgcGF0aCBub3RpZmljYXRpb24gQVBJLgogICAqCiAgICogQG1peGluRnVuY3Rpb24KICAgKiBAcG9seW1lcgogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHN1bW1hcnkgRWxlbWVudCBjbGFzcyBtaXhpbiB0byBza2lwIHN0cmljdCBkaXJ0eS1jaGVja2luZyBmb3Igb2JqZWN0cwogICAqICAgYW5kIGFycmF5cwogICAqLwogIFBvbHltZXIuTXV0YWJsZURhdGEgPSBQb2x5bWVyLmRlZHVwaW5nTWl4aW4oc3VwZXJDbGFzcyA9PiB7CgogICAgLyoqCiAgICAgKiBAcG9seW1lcgogICAgICogQG1peGluQ2xhc3MKICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX011dGFibGVEYXRhfQogICAgICovCiAgICBjbGFzcyBNdXRhYmxlRGF0YSBleHRlbmRzIHN1cGVyQ2xhc3MgewogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIGBQb2x5bWVyLlByb3BlcnR5RWZmZWN0c2AgdG8gcHJvdmlkZSBvcHRpb24gZm9yIHNraXBwaW5nCiAgICAgICAqIHN0cmljdCBlcXVhbGl0eSBjaGVja2luZyBmb3IgT2JqZWN0cyBhbmQgQXJyYXlzLgogICAgICAgKgogICAgICAgKiBUaGlzIG1ldGhvZCBwdWxscyB0aGUgdmFsdWUgdG8gZGlydHkgY2hlY2sgYWdhaW5zdCBmcm9tIHRoZSBgX19kYXRhVGVtcGAKICAgICAgICogY2FjaGUgKHJhdGhlciB0aGFuIHRoZSBub3JtYWwgYF9fZGF0YWAgY2FjaGUpIGZvciBPYmplY3RzLiAgU2luY2UgdGhlIHRlbXAKICAgICAgICogY2FjaGUgaXMgY2xlYXJlZCBhdCB0aGUgZW5kIG9mIGEgdHVybiwgdGhpcyBpbXBsZW1lbnRhdGlvbiBhbGxvd3MKICAgICAgICogc2lkZS1lZmZlY3RzIG9mIGRlZXAgb2JqZWN0IGNoYW5nZXMgdG8gYmUgcHJvY2Vzc2VkIGJ5IHJlLXNldHRpbmcgdGhlCiAgICAgICAqIHNhbWUgb2JqZWN0ICh1c2luZyB0aGUgdGVtcCBjYWNoZSBhcyBhbiBpbi10dXJuIGJhY2tzdG9wIHRvIHByZXZlbnQKICAgICAgICogY3ljbGVzIGR1ZSB0byAyLXdheSBub3RpZmljYXRpb24pLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICAgKiBAcGFyYW0geyp9IHZhbHVlIE5ldyBwcm9wZXJ0eSB2YWx1ZQogICAgICAgKiBAcGFyYW0geyp9IG9sZCBQcmV2aW91cyBwcm9wZXJ0eSB2YWx1ZQogICAgICAgKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgY29uc2lkZXJlZCBhIGNoYW5nZQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfc2hvdWxkUHJvcGVydHlDaGFuZ2UocHJvcGVydHksIHZhbHVlLCBvbGQpIHsKICAgICAgICByZXR1cm4gbXV0YWJsZVByb3BlcnR5Q2hhbmdlKHRoaXMsIHByb3BlcnR5LCB2YWx1ZSwgb2xkLCB0cnVlKTsKICAgICAgfQoKICAgIH0KCiAgICByZXR1cm4gTXV0YWJsZURhdGE7CgogIH0pOwoKCiAgLyoqCiAgICogRWxlbWVudCBjbGFzcyBtaXhpbiB0byBhZGQgdGhlIG9wdGlvbmFsIGFiaWxpdHkgdG8gc2tpcCBzdHJpY3QKICAgKiBkaXJ0eS1jaGVja2luZyBmb3Igb2JqZWN0cyBhbmQgYXJyYXlzIChhbHdheXMgY29uc2lkZXIgdGhlbSB0byBiZQogICAqICJkaXJ0eSIpIGJ5IHNldHRpbmcgYSBgbXV0YWJsZS1kYXRhYCBhdHRyaWJ1dGUgb24gYW4gZWxlbWVudCBpbnN0YW5jZS4KICAgKgogICAqIEJ5IGRlZmF1bHQsIGBQb2x5bWVyLlByb3BlcnR5RWZmZWN0c2AgcGVyZm9ybXMgc3RyaWN0IGRpcnR5IGNoZWNraW5nIG9uCiAgICogb2JqZWN0cywgd2hpY2ggbWVhbnMgdGhhdCBhbnkgZGVlcCBtb2RpZmljYXRpb25zIHRvIGFuIG9iamVjdCBvciBhcnJheSB3aWxsCiAgICogbm90IGJlIHByb3BhZ2F0ZWQgdW5sZXNzICJpbW11dGFibGUiIGRhdGEgcGF0dGVybnMgYXJlIHVzZWQgKGkuZS4gYWxsIG9iamVjdAogICAqIHJlZmVyZW5jZXMgZnJvbSB0aGUgcm9vdCB0byB0aGUgbXV0YXRpb24gd2VyZSBjaGFuZ2VkKS4KICAgKgogICAqIFBvbHltZXIgYWxzbyBwcm92aWRlcyBhIHByb3ByaWV0YXJ5IGRhdGEgbXV0YXRpb24gYW5kIHBhdGggbm90aWZpY2F0aW9uIEFQSQogICAqIChlLmcuIGBub3RpZnlQYXRoYCwgYHNldGAsIGFuZCBhcnJheSBtdXRhdGlvbiBBUEkncykgdGhhdCBhbGxvdyBlZmZpY2llbnQKICAgKiBtdXRhdGlvbiBhbmQgbm90aWZpY2F0aW9uIG9mIGRlZXAgY2hhbmdlcyBpbiBhbiBvYmplY3QgZ3JhcGggdG8gYWxsIGVsZW1lbnRzCiAgICogYm91bmQgdG8gdGhlIHNhbWUgb2JqZWN0IGdyYXBoLgogICAqCiAgICogSW4gY2FzZXMgd2hlcmUgbmVpdGhlciBpbW11dGFibGUgcGF0dGVybnMgbm9yIHRoZSBkYXRhIG11dGF0aW9uIEFQSSBjYW4gYmUKICAgKiB1c2VkLCBhcHBseWluZyB0aGlzIG1peGluIHdpbGwgYWxsb3cgUG9seW1lciB0byBza2lwIGRpcnR5IGNoZWNraW5nIGZvcgogICAqIG9iamVjdHMgYW5kIGFycmF5cyAoYWx3YXlzIGNvbnNpZGVyIHRoZW0gdG8gYmUgImRpcnR5IikuICBUaGlzIGFsbG93cyBhCiAgICogdXNlciB0byBtYWtlIGEgZGVlcCBtb2RpZmljYXRpb24gdG8gYSBib3VuZCBvYmplY3QgZ3JhcGgsIGFuZCB0aGVuIGVpdGhlcgogICAqIHNpbXBseSByZS1zZXQgdGhlIG9iamVjdCAoZS5nLiBgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXNgKSBvciBjYWxsIGBub3RpZnlQYXRoYAogICAqIChlLmcuIGB0aGlzLm5vdGlmeVBhdGgoJ2l0ZW1zJylgKSB0byB1cGRhdGUgdGhlIHRyZWUuICBOb3RlIHRoYXQgYWxsCiAgICogZWxlbWVudHMgdGhhdCB3aXNoIHRvIGJlIHVwZGF0ZWQgYmFzZWQgb24gZGVlcCBtdXRhdGlvbnMgbXVzdCBhcHBseSB0aGlzCiAgICogbWl4aW4gb3Igb3RoZXJ3aXNlIHNraXAgc3RyaWN0IGRpcnR5IGNoZWNraW5nIGZvciBvYmplY3RzL2FycmF5cy4KICAgKiBTcGVjaWZpY2FsbHksIGFueSBlbGVtZW50cyBpbiB0aGUgYmluZGluZyB0cmVlIGJldHdlZW4gdGhlIHNvdXJjZSBvZiBhCiAgICogbXV0YXRpb24gYW5kIHRoZSBjb25zdW1wdGlvbiBvZiBpdCBtdXN0IGVuYWJsZSB0aGlzIG1peGluIG9yIGFwcGx5IHRoZQogICAqIGBQb2x5bWVyLk11dGFibGVEYXRhYCBtaXhpbi4KICAgKgogICAqIFdoaWxlIHRoaXMgbWl4aW4gYWRkcyB0aGUgYWJpbGl0eSB0byBmb3JnbyBPYmplY3QvQXJyYXkgZGlydHkgY2hlY2tpbmcsCiAgICogdGhlIGBtdXRhYmxlRGF0YWAgZmxhZyBkZWZhdWx0cyB0byBmYWxzZSBhbmQgbXVzdCBiZSBzZXQgb24gdGhlIGluc3RhbmNlLgogICAqCiAgICogTm90ZSwgdGhlIHBlcmZvcm1hbmNlIGNoYXJhY3RlcmlzdGljcyBvZiBwcm9wYWdhdGluZyBsYXJnZSBvYmplY3QgZ3JhcGhzCiAgICogd2lsbCBiZSB3b3JzZSBieSByZWx5aW5nIG9uIGBtdXRhYmxlRGF0YTogdHJ1ZWAgYXMgb3Bwb3NlZCB0byB1c2luZwogICAqIHN0cmljdCBkaXJ0eSBjaGVja2luZyB3aXRoIGltbXV0YWJsZSBwYXR0ZXJucyBvciBQb2x5bWVyJ3MgcGF0aCBub3RpZmljYXRpb24KICAgKiBBUEkuCiAgICoKICAgKiBAbWl4aW5GdW5jdGlvbgogICAqIEBwb2x5bWVyCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAc3VtbWFyeSBFbGVtZW50IGNsYXNzIG1peGluIHRvIG9wdGlvbmFsbHkgc2tpcCBzdHJpY3QgZGlydHktY2hlY2tpbmcKICAgKiAgIGZvciBvYmplY3RzIGFuZCBhcnJheXMKICAgKi8KICBQb2x5bWVyLk9wdGlvbmFsTXV0YWJsZURhdGEgPSBQb2x5bWVyLmRlZHVwaW5nTWl4aW4oc3VwZXJDbGFzcyA9PiB7CgogICAgLyoqCiAgICAgKiBAbWl4aW5DbGFzcwogICAgICogQHBvbHltZXIKICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX09wdGlvbmFsTXV0YWJsZURhdGF9CiAgICAgKi8KICAgIGNsYXNzIE9wdGlvbmFsTXV0YWJsZURhdGEgZXh0ZW5kcyBzdXBlckNsYXNzIHsKCiAgICAgIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgLyoqCiAgICAgICAgICAgKiBJbnN0YW5jZS1sZXZlbCBmbGFnIGZvciBjb25maWd1cmluZyB0aGUgZGlydHktY2hlY2tpbmcgc3RyYXRlZ3kKICAgICAgICAgICAqIGZvciB0aGlzIGVsZW1lbnQuICBXaGVuIHRydWUsIE9iamVjdHMgYW5kIEFycmF5cyB3aWxsIHNraXAgZGlydHkKICAgICAgICAgICAqIGNoZWNraW5nLCBvdGhlcndpc2Ugc3RyaWN0IGVxdWFsaXR5IGNoZWNraW5nIHdpbGwgYmUgdXNlZC4KICAgICAgICAgICAqLwogICAgICAgICAgbXV0YWJsZURhdGE6IEJvb2xlYW4KICAgICAgICB9OwogICAgICB9CgogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIGBQb2x5bWVyLlByb3BlcnR5RWZmZWN0c2AgdG8gcHJvdmlkZSBvcHRpb24gZm9yIHNraXBwaW5nCiAgICAgICAqIHN0cmljdCBlcXVhbGl0eSBjaGVja2luZyBmb3IgT2JqZWN0cyBhbmQgQXJyYXlzLgogICAgICAgKgogICAgICAgKiBXaGVuIGB0aGlzLm11dGFibGVEYXRhYCBpcyB0cnVlIG9uIHRoaXMgaW5zdGFuY2UsIHRoaXMgbWV0aG9kCiAgICAgICAqIHB1bGxzIHRoZSB2YWx1ZSB0byBkaXJ0eSBjaGVjayBhZ2FpbnN0IGZyb20gdGhlIGBfX2RhdGFUZW1wYCBjYWNoZQogICAgICAgKiAocmF0aGVyIHRoYW4gdGhlIG5vcm1hbCBgX19kYXRhYCBjYWNoZSkgZm9yIE9iamVjdHMuICBTaW5jZSB0aGUgdGVtcAogICAgICAgKiBjYWNoZSBpcyBjbGVhcmVkIGF0IHRoZSBlbmQgb2YgYSB0dXJuLCB0aGlzIGltcGxlbWVudGF0aW9uIGFsbG93cwogICAgICAgKiBzaWRlLWVmZmVjdHMgb2YgZGVlcCBvYmplY3QgY2hhbmdlcyB0byBiZSBwcm9jZXNzZWQgYnkgcmUtc2V0dGluZyB0aGUKICAgICAgICogc2FtZSBvYmplY3QgKHVzaW5nIHRoZSB0ZW1wIGNhY2hlIGFzIGFuIGluLXR1cm4gYmFja3N0b3AgdG8gcHJldmVudAogICAgICAgKiBjeWNsZXMgZHVlIHRvIDItd2F5IG5vdGlmaWNhdGlvbikuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eSBQcm9wZXJ0eSBuYW1lCiAgICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgTmV3IHByb3BlcnR5IHZhbHVlCiAgICAgICAqIEBwYXJhbSB7Kn0gb2xkIFByZXZpb3VzIHByb3BlcnR5IHZhbHVlCiAgICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhlIHByb3BlcnR5IHNob3VsZCBiZSBjb25zaWRlcmVkIGEgY2hhbmdlCiAgICAgICAqIEBwcm90ZWN0ZWQKICAgICAgICovCiAgICAgIF9zaG91bGRQcm9wZXJ0eUNoYW5nZShwcm9wZXJ0eSwgdmFsdWUsIG9sZCkgewogICAgICAgIHJldHVybiBtdXRhYmxlUHJvcGVydHlDaGFuZ2UodGhpcywgcHJvcGVydHksIHZhbHVlLCBvbGQsIHRoaXMubXV0YWJsZURhdGEpOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuIE9wdGlvbmFsTXV0YWJsZURhdGE7CgogIH0pOwoKICAvLyBFeHBvcnQgZm9yIHVzZSBieSBsZWdhY3kgYmVoYXZpb3IKICBQb2x5bWVyLk11dGFibGVEYXRhLl9tdXRhYmxlUHJvcGVydHlDaGFuZ2UgPSBtdXRhYmxlUHJvcGVydHlDaGFuZ2U7Cgp9KSgpOwoKCiAgKGZ1bmN0aW9uKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8vIEJhc2UgY2xhc3MgZm9yIEhUTUxUZW1wbGF0ZUVsZW1lbnQgZXh0ZW5zaW9uIHRoYXQgaGFzIHByb3BlcnR5IGVmZmVjdHMKICAgIC8vIG1hY2hpbmVyeSBmb3IgcHJvcGFnYXRpbmcgaG9zdCBwcm9wZXJ0aWVzIHRvIGNoaWxkcmVuLiBUaGlzIGlzIGFuIEVTNQogICAgLy8gY2xhc3Mgb25seSBiZWNhdXNlIEJhYmVsIChpbmNvcnJlY3RseSkgcmVxdWlyZXMgc3VwZXIoKSBpbiB0aGUgY2xhc3MKICAgIC8vIGNvbnN0cnVjdG9yIGV2ZW4gdGhvdWdoIG5vIGB0aGlzYCBpcyB1c2VkIGFuZCBpdCByZXR1cm5zIGFuIGluc3RhbmNlLgogICAgbGV0IG5ld0luc3RhbmNlID0gbnVsbDsKCiAgICAvKioKICAgICAqIEBjb25zdHJ1Y3RvcgogICAgICogQGV4dGVuZHMge0hUTUxUZW1wbGF0ZUVsZW1lbnR9CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBmdW5jdGlvbiBIVE1MVGVtcGxhdGVFbGVtZW50RXh0ZW5zaW9uKCkgeyByZXR1cm4gbmV3SW5zdGFuY2U7IH0KICAgIEhUTUxUZW1wbGF0ZUVsZW1lbnRFeHRlbnNpb24ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShIVE1MVGVtcGxhdGVFbGVtZW50LnByb3RvdHlwZSwgewogICAgICBjb25zdHJ1Y3RvcjogewogICAgICAgIHZhbHVlOiBIVE1MVGVtcGxhdGVFbGVtZW50RXh0ZW5zaW9uLAogICAgICAgIHdyaXRhYmxlOiB0cnVlCiAgICAgIH0KICAgIH0pOwoKICAgIC8qKgogICAgICogQGNvbnN0cnVjdG9yCiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9Qcm9wZXJ0eUVmZmVjdHN9CiAgICAgKiBAZXh0ZW5kcyB7SFRNTFRlbXBsYXRlRWxlbWVudEV4dGVuc2lvbn0KICAgICAqIEBwcml2YXRlCiAgICAgKi8KICAgIGNvbnN0IERhdGFUZW1wbGF0ZSA9IFBvbHltZXIuUHJvcGVydHlFZmZlY3RzKEhUTUxUZW1wbGF0ZUVsZW1lbnRFeHRlbnNpb24pOwoKICAgIC8qKgogICAgICogQGNvbnN0cnVjdG9yCiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9NdXRhYmxlRGF0YX0KICAgICAqIEBleHRlbmRzIHtEYXRhVGVtcGxhdGV9CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBjb25zdCBNdXRhYmxlRGF0YVRlbXBsYXRlID0gUG9seW1lci5NdXRhYmxlRGF0YShEYXRhVGVtcGxhdGUpOwoKICAgIC8vIEFwcGxpZXMgYSBEYXRhVGVtcGxhdGUgc3ViY2xhc3MgdG8gYSA8dGVtcGxhdGU+IGluc3RhbmNlCiAgICBmdW5jdGlvbiB1cGdyYWRlVGVtcGxhdGUodGVtcGxhdGUsIGNvbnN0cnVjdG9yKSB7CiAgICAgIG5ld0luc3RhbmNlID0gdGVtcGxhdGU7CiAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0ZW1wbGF0ZSwgY29uc3RydWN0b3IucHJvdG90eXBlKTsKICAgICAgbmV3IGNvbnN0cnVjdG9yKCk7CiAgICAgIG5ld0luc3RhbmNlID0gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEJhc2UgY2xhc3MgZm9yIFRlbXBsYXRlSW5zdGFuY2UuCiAgICAgKiBAY29uc3RydWN0b3IKICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX1Byb3BlcnR5RWZmZWN0c30KICAgICAqIEBwcml2YXRlCiAgICAgKi8KICAgIGNvbnN0IGJhc2UgPSBQb2x5bWVyLlByb3BlcnR5RWZmZWN0cyhjbGFzcyB7fSk7CgogICAgLyoqCiAgICAgKiBAcG9seW1lcgogICAgICogQGN1c3RvbUVsZW1lbnQKICAgICAqIEBhcHBsaWVzTWl4aW4gUG9seW1lci5Qcm9wZXJ0eUVmZmVjdHMKICAgICAqIEB1bnJlc3RyaWN0ZWQKICAgICAqLwogICAgY2xhc3MgVGVtcGxhdGVJbnN0YW5jZUJhc2UgZXh0ZW5kcyBiYXNlIHsKICAgICAgY29uc3RydWN0b3IocHJvcHMpIHsKICAgICAgICBzdXBlcigpOwogICAgICAgIHRoaXMuX2NvbmZpZ3VyZVByb3BlcnRpZXMocHJvcHMpOwogICAgICAgIHRoaXMucm9vdCA9IHRoaXMuX3N0YW1wVGVtcGxhdGUodGhpcy5fX2RhdGFIb3N0KTsKICAgICAgICAvLyBTYXZlIGxpc3Qgb2Ygc3RhbXBlZCBjaGlsZHJlbgogICAgICAgIGxldCBjaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW4gPSBbXTsKICAgICAgICBmb3IgKGxldCBuID0gdGhpcy5yb290LmZpcnN0Q2hpbGQ7IG47IG49bi5uZXh0U2libGluZykgewogICAgICAgICAgY2hpbGRyZW4ucHVzaChuKTsKICAgICAgICAgIG4uX190ZW1wbGF0aXplSW5zdGFuY2UgPSB0aGlzOwogICAgICAgIH0KICAgICAgICBpZiAodGhpcy5fX3RlbXBsYXRpemVPd25lciAmJgogICAgICAgICAgdGhpcy5fX3RlbXBsYXRpemVPd25lci5fX2hpZGVUZW1wbGF0ZUNoaWxkcmVuX18pIHsKICAgICAgICAgIHRoaXMuX3Nob3dIaWRlQ2hpbGRyZW4odHJ1ZSk7CiAgICAgICAgfQogICAgICAgIC8vIEZsdXNoIHByb3BzIG9ubHkgd2hlbiBwcm9wcyBhcmUgcGFzc2VkIGlmIGluc3RhbmNlIHByb3BzIGV4aXN0CiAgICAgICAgLy8gb3Igd2hlbiB0aGVyZSBpc24ndCBpbnN0YW5jZSBwcm9wcy4KICAgICAgICBsZXQgb3B0aW9ucyA9IHRoaXMuX190ZW1wbGF0aXplT3B0aW9uczsKICAgICAgICBpZiAoKHByb3BzICYmIG9wdGlvbnMuaW5zdGFuY2VQcm9wcykgfHwgIW9wdGlvbnMuaW5zdGFuY2VQcm9wcykgewogICAgICAgICAgdGhpcy5fZW5hYmxlUHJvcGVydGllcygpOwogICAgICAgIH0KICAgICAgfQogICAgICAvKioKICAgICAgICogQ29uZmlndXJlIHRoZSBnaXZlbiBgcHJvcHNgIGJ5IGNhbGxpbmcgYF9zZXRQZW5kaW5nUHJvcGVydHlgLiBBbHNvCiAgICAgICAqIHNldHMgYW55IHByb3BlcnRpZXMgc3RvcmVkIGluIGBfX2hvc3RQcm9wc2AuCiAgICAgICAqIEBwcml2YXRlCiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBPYmplY3Qgb2YgcHJvcGVydHkgbmFtZS12YWx1ZSBwYWlycyB0byBzZXQuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfY29uZmlndXJlUHJvcGVydGllcyhwcm9wcykgewogICAgICAgIGxldCBvcHRpb25zID0gdGhpcy5fX3RlbXBsYXRpemVPcHRpb25zOwogICAgICAgIGlmIChvcHRpb25zLmZvcndhcmRIb3N0UHJvcCkgewogICAgICAgICAgZm9yIChsZXQgaHByb3AgaW4gdGhpcy5fX2hvc3RQcm9wcykgewogICAgICAgICAgICB0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHkoaHByb3AsIHRoaXMuX19kYXRhSG9zdFsnX2hvc3RfJyArIGhwcm9wXSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIEFueSBpbnN0YW5jZSBwcm9wcyBwYXNzZWQgaW4gdGhlIGNvbnN0cnVjdG9yIHdpbGwgb3ZlcndyaXRlIGhvc3QgcHJvcHM7CiAgICAgICAgLy8gbm9ybWFsbHkgdGhpcyB3b3VsZCBiZSBhIHVzZXIgZXJyb3IgYnV0IHdlIGRvbid0IHNwZWNpZmljYWxseSBmaWx0ZXIgdGhlbQogICAgICAgIGZvciAobGV0IGlwcm9wIGluIHByb3BzKSB7CiAgICAgICAgICB0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHkoaXByb3AsIHByb3BzW2lwcm9wXSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIC8qKgogICAgICAgKiBGb3J3YXJkcyBhIGhvc3QgcHJvcGVydHkgdG8gdGhpcyBpbnN0YW5jZS4gIFRoaXMgbWV0aG9kIHNob3VsZCBiZQogICAgICAgKiBjYWxsZWQgb24gaW5zdGFuY2VzIGZyb20gdGhlIGBvcHRpb25zLmZvcndhcmRIb3N0UHJvcGAgY2FsbGJhY2sKICAgICAgICogdG8gcHJvcGFnYXRlIGNoYW5nZXMgb2YgaG9zdCBwcm9wZXJ0aWVzIHRvIGVhY2ggaW5zdGFuY2UuCiAgICAgICAqCiAgICAgICAqIE5vdGUgdGhpcyBtZXRob2QgZW5xdWV1ZXMgdGhlIGNoYW5nZSwgd2hpY2ggYXJlIGZsdXNoZWQgYXMgYSBiYXRjaC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3AgUHJvcGVydHkgb3IgcGF0aCBuYW1lCiAgICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVmFsdWUgb2YgdGhlIHByb3BlcnR5IHRvIGZvcndhcmQKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIGZvcndhcmRIb3N0UHJvcChwcm9wLCB2YWx1ZSkgewogICAgICAgIGlmICh0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgocHJvcCwgdmFsdWUsIGZhbHNlLCB0cnVlKSkgewogICAgICAgICAgdGhpcy5fX2RhdGFIb3N0Ll9lbnF1ZXVlQ2xpZW50KHRoaXMpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIE92ZXJyaWRlIHBvaW50IGZvciBhZGRpbmcgY3VzdG9tIG9yIHNpbXVsYXRlZCBldmVudCBoYW5kbGluZy4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshTm9kZX0gbm9kZSBOb2RlIHRvIGFkZCBldmVudCBsaXN0ZW5lciB0bwogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lIE5hbWUgb2YgZXZlbnQKICAgICAgICogQHBhcmFtIHtmdW5jdGlvbighRXZlbnQpOnZvaWR9IGhhbmRsZXIgTGlzdGVuZXIgZnVuY3Rpb24gdG8gYWRkCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBfYWRkRXZlbnRMaXN0ZW5lclRvTm9kZShub2RlLCBldmVudE5hbWUsIGhhbmRsZXIpIHsKICAgICAgICBpZiAodGhpcy5fbWV0aG9kSG9zdCAmJiB0aGlzLl9fdGVtcGxhdGl6ZU9wdGlvbnMucGFyZW50TW9kZWwpIHsKICAgICAgICAgIC8vIElmIHRoaXMgaW5zdGFuY2Ugc2hvdWxkIGJlIGNvbnNpZGVyZWQgYSBwYXJlbnQgbW9kZWwsIGRlY29yYXRlCiAgICAgICAgICAvLyBldmVudHMgdGhpcyB0ZW1wbGF0ZSBpbnN0YW5jZSBhcyBgbW9kZWxgCiAgICAgICAgICB0aGlzLl9tZXRob2RIb3N0Ll9hZGRFdmVudExpc3RlbmVyVG9Ob2RlKG5vZGUsIGV2ZW50TmFtZSwgKGUpID0+IHsKICAgICAgICAgICAgZS5tb2RlbCA9IHRoaXM7CiAgICAgICAgICAgIGhhbmRsZXIoZSk7CiAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gT3RoZXJ3aXNlIGRlbGVnYXRlIHRvIHRoZSB0ZW1wbGF0ZSdzIGhvc3QgKHdoaWNoIGNvdWxkIGJlKQogICAgICAgICAgLy8gYW5vdGhlciB0ZW1wbGF0ZSBpbnN0YW5jZQogICAgICAgICAgbGV0IHRlbXBsYXRlSG9zdCA9IHRoaXMuX19kYXRhSG9zdC5fX2RhdGFIb3N0OwogICAgICAgICAgaWYgKHRlbXBsYXRlSG9zdCkgewogICAgICAgICAgICB0ZW1wbGF0ZUhvc3QuX2FkZEV2ZW50TGlzdGVuZXJUb05vZGUobm9kZSwgZXZlbnROYW1lLCBoYW5kbGVyKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgLyoqCiAgICAgICAqIFNob3dzIG9yIGhpZGVzIHRoZSB0ZW1wbGF0ZSBpbnN0YW5jZSB0b3AgbGV2ZWwgY2hpbGQgZWxlbWVudHMuIEZvcgogICAgICAgKiB0ZXh0IG5vZGVzLCBgdGV4dENvbnRlbnRgIGlzIHJlbW92ZWQgd2hpbGUgImhpZGRlbiIgYW5kIHJlcGxhY2VkIHdoZW4KICAgICAgICogInNob3duLiIKICAgICAgICogQHBhcmFtIHtib29sZWFufSBoaWRlIFNldCB0byB0cnVlIHRvIGhpZGUgdGhlIGNoaWxkcmVuOwogICAgICAgKiBzZXQgdG8gZmFsc2UgdG8gc2hvdyB0aGVtLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfc2hvd0hpZGVDaGlsZHJlbihoaWRlKSB7CiAgICAgICAgbGV0IGMgPSB0aGlzLmNoaWxkcmVuOwogICAgICAgIGZvciAobGV0IGk9MDsgaTxjLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBsZXQgbiA9IGNbaV07CiAgICAgICAgICAvLyBJZ25vcmUgbm9uLWNoYW5nZXMKICAgICAgICAgIGlmIChCb29sZWFuKGhpZGUpICE9IEJvb2xlYW4obi5fX2hpZGVUZW1wbGF0ZUNoaWxkcmVuX18pKSB7CiAgICAgICAgICAgIGlmIChuLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkgewogICAgICAgICAgICAgIGlmIChoaWRlKSB7CiAgICAgICAgICAgICAgICBuLl9fcG9seW1lclRleHRDb250ZW50X18gPSBuLnRleHRDb250ZW50OwogICAgICAgICAgICAgICAgbi50ZXh0Q29udGVudCA9ICcnOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBuLnRleHRDb250ZW50ID0gbi5fX3BvbHltZXJUZXh0Q29udGVudF9fOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gcmVtb3ZlIGFuZCByZXBsYWNlIHNsb3QKICAgICAgICAgICAgfSBlbHNlIGlmIChuLmxvY2FsTmFtZSA9PT0gJ3Nsb3QnKSB7CiAgICAgICAgICAgICAgaWYgKGhpZGUpIHsKICAgICAgICAgICAgICAgIG4uX19wb2x5bWVyUmVwbGFjZWRfXyA9IGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoJ2hpZGRlbi1zbG90Jyk7CiAgICAgICAgICAgICAgICBuLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKG4uX19wb2x5bWVyUmVwbGFjZWRfXywgbik7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbnN0IHJlcGxhY2UgPSBuLl9fcG9seW1lclJlcGxhY2VkX187CiAgICAgICAgICAgICAgICBpZiAocmVwbGFjZSkgewogICAgICAgICAgICAgICAgICByZXBsYWNlLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKG4sIHJlcGxhY2UpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgZWxzZSBpZiAobi5zdHlsZSkgewogICAgICAgICAgICAgIGlmIChoaWRlKSB7CiAgICAgICAgICAgICAgICBuLl9fcG9seW1lckRpc3BsYXlfXyA9IG4uc3R5bGUuZGlzcGxheTsKICAgICAgICAgICAgICAgIG4uc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbi5zdHlsZS5kaXNwbGF5ID0gbi5fX3BvbHltZXJEaXNwbGF5X187CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICBuLl9faGlkZVRlbXBsYXRlQ2hpbGRyZW5fXyA9IGhpZGU7CiAgICAgICAgICBpZiAobi5fc2hvd0hpZGVDaGlsZHJlbikgewogICAgICAgICAgICBuLl9zaG93SGlkZUNoaWxkcmVuKGhpZGUpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICAvKioKICAgICAgICogT3ZlcnJpZGVzIGRlZmF1bHQgcHJvcGVydHktZWZmZWN0cyBpbXBsZW1lbnRhdGlvbiB0byBpbnRlcmNlcHQKICAgICAgICogdGV4dENvbnRlbnQgYmluZGluZ3Mgd2hpbGUgY2hpbGRyZW4gYXJlICJoaWRkZW4iIGFuZCBjYWNoZSBpbgogICAgICAgKiBwcml2YXRlIHN0b3JhZ2UgZm9yIGxhdGVyIHJldHJpZXZhbC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHshTm9kZX0gbm9kZSBUaGUgbm9kZSB0byBzZXQgYSBwcm9wZXJ0eSBvbgogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcCBUaGUgcHJvcGVydHkgdG8gc2V0CiAgICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAcHJvdGVjdGVkCiAgICAgICAqLwogICAgICBfc2V0VW5tYW5hZ2VkUHJvcGVydHlUb05vZGUobm9kZSwgcHJvcCwgdmFsdWUpIHsKICAgICAgICBpZiAobm9kZS5fX2hpZGVUZW1wbGF0ZUNoaWxkcmVuX18gJiYKICAgICAgICAgICAgbm9kZS5ub2RlVHlwZSA9PSBOb2RlLlRFWFRfTk9ERSAmJiBwcm9wID09ICd0ZXh0Q29udGVudCcpIHsKICAgICAgICAgIG5vZGUuX19wb2x5bWVyVGV4dENvbnRlbnRfXyA9IHZhbHVlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBzdXBlci5fc2V0VW5tYW5hZ2VkUHJvcGVydHlUb05vZGUobm9kZSwgcHJvcCwgdmFsdWUpOwogICAgICAgIH0KICAgICAgfQogICAgICAvKioKICAgICAgICogRmluZCB0aGUgcGFyZW50IG1vZGVsIG9mIHRoaXMgdGVtcGxhdGUgaW5zdGFuY2UuICBUaGUgcGFyZW50IG1vZGVsCiAgICAgICAqIGlzIGVpdGhlciBhbm90aGVyIHRlbXBsYXRpemUgaW5zdGFuY2UgdGhhdCBoYWQgb3B0aW9uIGBwYXJlbnRNb2RlbDogdHJ1ZWAsCiAgICAgICAqIG9yIGVsc2UgdGhlIGhvc3QgZWxlbWVudC4KICAgICAgICoKICAgICAgICogQHJldHVybiB7IVBvbHltZXJfUHJvcGVydHlFZmZlY3RzfSBUaGUgcGFyZW50IG1vZGVsIG9mIHRoaXMgaW5zdGFuY2UKICAgICAgICovCiAgICAgIGdldCBwYXJlbnRNb2RlbCgpIHsKICAgICAgICBsZXQgbW9kZWwgPSB0aGlzLl9fcGFyZW50TW9kZWw7CiAgICAgICAgaWYgKCFtb2RlbCkgewogICAgICAgICAgbGV0IG9wdGlvbnM7CiAgICAgICAgICBtb2RlbCA9IHRoaXM7CiAgICAgICAgICBkbyB7CiAgICAgICAgICAgIC8vIEEgdGVtcGxhdGUgaW5zdGFuY2UncyBgX19kYXRhSG9zdGAgaXMgYSA8dGVtcGxhdGU+CiAgICAgICAgICAgIC8vIGBtb2RlbC5fX2RhdGFIb3N0Ll9fZGF0YUhvc3RgIGlzIHRoZSB0ZW1wbGF0ZSdzIGhvc3QKICAgICAgICAgICAgbW9kZWwgPSBtb2RlbC5fX2RhdGFIb3N0Ll9fZGF0YUhvc3Q7CiAgICAgICAgICB9IHdoaWxlICgob3B0aW9ucyA9IG1vZGVsLl9fdGVtcGxhdGl6ZU9wdGlvbnMpICYmICFvcHRpb25zLnBhcmVudE1vZGVsKTsKICAgICAgICAgIHRoaXMuX19wYXJlbnRNb2RlbCA9IG1vZGVsOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbW9kZWw7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBTdHViIG9mIEhUTUxFbGVtZW50J3MgYGRpc3BhdGNoRXZlbnRgLCBzbyB0aGF0IGVmZmVjdHMgdGhhdCBtYXkKICAgICAgICogZGlzcGF0Y2ggZXZlbnRzIHNhZmVseSBuby1vcC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnQgRXZlbnQgdG8gZGlzcGF0Y2gKICAgICAgICogQHJldHVybiB7Ym9vbGVhbn0gQWx3YXlzIHRydWUuCiAgICAgICAqLwogICAgICAgZGlzcGF0Y2hFdmVudChldmVudCkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgICB9CiAgICB9CgogICAgLyoqIEB0eXBlIHshRGF0YVRlbXBsYXRlfSAqLwogICAgVGVtcGxhdGVJbnN0YW5jZUJhc2UucHJvdG90eXBlLl9fZGF0YUhvc3Q7CiAgICAvKiogQHR5cGUgeyFUZW1wbGF0aXplT3B0aW9uc30gKi8KICAgIFRlbXBsYXRlSW5zdGFuY2VCYXNlLnByb3RvdHlwZS5fX3RlbXBsYXRpemVPcHRpb25zOwogICAgLyoqIEB0eXBlIHshUG9seW1lcl9Qcm9wZXJ0eUVmZmVjdHN9ICovCiAgICBUZW1wbGF0ZUluc3RhbmNlQmFzZS5wcm90b3R5cGUuX21ldGhvZEhvc3Q7CiAgICAvKiogQHR5cGUgeyFPYmplY3R9ICovCiAgICBUZW1wbGF0ZUluc3RhbmNlQmFzZS5wcm90b3R5cGUuX190ZW1wbGF0aXplT3duZXI7CiAgICAvKiogQHR5cGUgeyFPYmplY3R9ICovCiAgICBUZW1wbGF0ZUluc3RhbmNlQmFzZS5wcm90b3R5cGUuX19ob3N0UHJvcHM7CgogICAgLyoqCiAgICAgKiBAY29uc3RydWN0b3IKICAgICAqIEBleHRlbmRzIHtUZW1wbGF0ZUluc3RhbmNlQmFzZX0KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX011dGFibGVEYXRhfQogICAgICogQHByaXZhdGUKICAgICAqLwogICAgY29uc3QgTXV0YWJsZVRlbXBsYXRlSW5zdGFuY2VCYXNlID0gUG9seW1lci5NdXRhYmxlRGF0YShUZW1wbGF0ZUluc3RhbmNlQmFzZSk7CgogICAgZnVuY3Rpb24gZmluZE1ldGhvZEhvc3QodGVtcGxhdGUpIHsKICAgICAgLy8gVGVjaG5pY2FsbHkgdGhpcyBzaG91bGQgYmUgdGhlIG93bmVyIG9mIHRoZSBvdXRlcm1vc3QgdGVtcGxhdGUuCiAgICAgIC8vIEluIHNoYWRvdyBkb20sIHRoaXMgaXMgYWx3YXlzIGdldFJvb3ROb2RlKCkuaG9zdCwgYnV0IHdlIGNhbgogICAgICAvLyBhcHByb3hpbWF0ZSB0aGlzIHZpYSBjb29wZXJhdGlvbiB3aXRoIG91ciBkYXRhSG9zdCBhbHdheXMgc2V0dGluZwogICAgICAvLyBgX21ldGhvZEhvc3RgIGFzIGxvbmcgYXMgdGhlcmUgd2VyZSBiaW5kaW5ncyAob3IgaWQncykgb24gdGhpcwogICAgICAvLyBpbnN0YW5jZSBjYXVzaW5nIGl0IHRvIGdldCBhIGRhdGFIb3N0LgogICAgICBsZXQgdGVtcGxhdGVIb3N0ID0gdGVtcGxhdGUuX19kYXRhSG9zdDsKICAgICAgcmV0dXJuIHRlbXBsYXRlSG9zdCAmJiB0ZW1wbGF0ZUhvc3QuX21ldGhvZEhvc3QgfHwgdGVtcGxhdGVIb3N0OwogICAgfQoKICAgIC8qIGVzbGludC1kaXNhYmxlIHZhbGlkLWpzZG9jICovCiAgICAvKioKICAgICAqIEBzdXBwcmVzcyB7bWlzc2luZ1Byb3BlcnRpZXN9IGNsYXNzLnByb3RvdHlwZSBpcyBub3QgZGVmaW5lZCBmb3Igc29tZSByZWFzb24KICAgICAqLwogICAgZnVuY3Rpb24gY3JlYXRlVGVtcGxhdGl6ZXJDbGFzcyh0ZW1wbGF0ZSwgdGVtcGxhdGVJbmZvLCBvcHRpb25zKSB7CiAgICAgIC8vIEFub255bW91cyBjbGFzcyBjcmVhdGVkIGJ5IHRoZSB0ZW1wbGF0aXplCiAgICAgIGxldCBiYXNlID0gb3B0aW9ucy5tdXRhYmxlRGF0YSA/CiAgICAgICAgTXV0YWJsZVRlbXBsYXRlSW5zdGFuY2VCYXNlIDogVGVtcGxhdGVJbnN0YW5jZUJhc2U7CiAgICAgIC8vIEFmZm9yZGFuY2UgZm9yIGdsb2JhbCBtaXhpbnMgb250byBUZW1wbGF0aXplSW5zdGFuY2UKICAgICAgaWYgKFBvbHltZXIuVGVtcGxhdGl6ZS5taXhpbikgewogICAgICAgIGJhc2UgPSBQb2x5bWVyLlRlbXBsYXRpemUubWl4aW4oYmFzZSk7CiAgICAgIH0KICAgICAgLyoqCiAgICAgICAqIEBjb25zdHJ1Y3RvcgogICAgICAgKiBAZXh0ZW5kcyB7YmFzZX0KICAgICAgICogQHByaXZhdGUKICAgICAgICovCiAgICAgIGxldCBrbGFzcyA9IGNsYXNzIGV4dGVuZHMgYmFzZSB7IH07CiAgICAgIGtsYXNzLnByb3RvdHlwZS5fX3RlbXBsYXRpemVPcHRpb25zID0gb3B0aW9uczsKICAgICAga2xhc3MucHJvdG90eXBlLl9iaW5kVGVtcGxhdGUodGVtcGxhdGUpOwogICAgICBhZGROb3RpZnlFZmZlY3RzKGtsYXNzLCB0ZW1wbGF0ZSwgdGVtcGxhdGVJbmZvLCBvcHRpb25zKTsKICAgICAgcmV0dXJuIGtsYXNzOwogICAgfQoKICAgIC8qKgogICAgICogQHN1cHByZXNzIHttaXNzaW5nUHJvcGVydGllc30gY2xhc3MucHJvdG90eXBlIGlzIG5vdCBkZWZpbmVkIGZvciBzb21lIHJlYXNvbgogICAgICovCiAgICBmdW5jdGlvbiBhZGRQcm9wYWdhdGVFZmZlY3RzKHRlbXBsYXRlLCB0ZW1wbGF0ZUluZm8sIG9wdGlvbnMpIHsKICAgICAgbGV0IHVzZXJGb3J3YXJkSG9zdFByb3AgPSBvcHRpb25zLmZvcndhcmRIb3N0UHJvcDsKICAgICAgaWYgKHVzZXJGb3J3YXJkSG9zdFByb3ApIHsKICAgICAgICAvLyBQcm92aWRlIGRhdGEgQVBJIGFuZCBwcm9wZXJ0eSBlZmZlY3RzIG9uIG1lbW9pemVkIHRlbXBsYXRlIGNsYXNzCiAgICAgICAgbGV0IGtsYXNzID0gdGVtcGxhdGVJbmZvLnRlbXBsYXRpemVUZW1wbGF0ZUNsYXNzOwogICAgICAgIGlmICgha2xhc3MpIHsKICAgICAgICAgIGxldCBiYXNlID0gb3B0aW9ucy5tdXRhYmxlRGF0YSA/IE11dGFibGVEYXRhVGVtcGxhdGUgOiBEYXRhVGVtcGxhdGU7CiAgICAgICAgICAvKiogQHByaXZhdGUgKi8KICAgICAgICAgIGtsYXNzID0gdGVtcGxhdGVJbmZvLnRlbXBsYXRpemVUZW1wbGF0ZUNsYXNzID0KICAgICAgICAgICAgY2xhc3MgVGVtcGxhdGl6ZWRUZW1wbGF0ZSBleHRlbmRzIGJhc2Uge307CiAgICAgICAgICAvLyBBZGQgdGVtcGxhdGUgLSA+aW5zdGFuY2VzIGVmZmVjdHMKICAgICAgICAgIC8vIGFuZCBob3N0IDwtIHRlbXBsYXRlIGVmZmVjdHMKICAgICAgICAgIGxldCBob3N0UHJvcHMgPSB0ZW1wbGF0ZUluZm8uaG9zdFByb3BzOwogICAgICAgICAgZm9yIChsZXQgcHJvcCBpbiBob3N0UHJvcHMpIHsKICAgICAgICAgICAga2xhc3MucHJvdG90eXBlLl9hZGRQcm9wZXJ0eUVmZmVjdCgnX2hvc3RfJyArIHByb3AsCiAgICAgICAgICAgICAga2xhc3MucHJvdG90eXBlLlBST1BFUlRZX0VGRkVDVF9UWVBFUy5QUk9QQUdBVEUsCiAgICAgICAgICAgICAge2ZuOiBjcmVhdGVGb3J3YXJkSG9zdFByb3BFZmZlY3QocHJvcCwgdXNlckZvcndhcmRIb3N0UHJvcCl9KTsKICAgICAgICAgICAga2xhc3MucHJvdG90eXBlLl9jcmVhdGVOb3RpZnlpbmdQcm9wZXJ0eSgnX2hvc3RfJyArIHByb3ApOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB1cGdyYWRlVGVtcGxhdGUodGVtcGxhdGUsIGtsYXNzKTsKICAgICAgICAvLyBNaXggYW55IHByZS1ib3VuZCBkYXRhIGludG8gX19kYXRhOyBubyBuZWVkIHRvIGZsdXNoIHRoaXMgdG8KICAgICAgICAvLyBpbnN0YW5jZXMgc2luY2UgdGhleSBwdWxsIGZyb20gdGhlIHRlbXBsYXRlIGF0IGluc3RhbmNlLXRpbWUKICAgICAgICBpZiAodGVtcGxhdGUuX19kYXRhUHJvdG8pIHsKICAgICAgICAgIC8vIE5vdGUsIGdlbmVyYWxseSBgX19kYXRhUHJvdG9gIGNvdWxkIGJlIGNoYWluZWQsIGJ1dCBpdCdzIGd1YXJhbnRlZWQKICAgICAgICAgIC8vIHRvIG5vdCBiZSBzaW5jZSB0aGlzIGlzIGEgdmFuaWxsYSB0ZW1wbGF0ZSB3ZSBqdXN0IGFkZGVkIGVmZmVjdHMgdG8KICAgICAgICAgIE9iamVjdC5hc3NpZ24odGVtcGxhdGUuX19kYXRhLCB0ZW1wbGF0ZS5fX2RhdGFQcm90byk7CiAgICAgICAgfQogICAgICAgIC8vIENsZWFyIGFueSBwZW5kaW5nIGRhdGEgZm9yIHBlcmZvcm1hbmNlCiAgICAgICAgdGVtcGxhdGUuX19kYXRhVGVtcCA9IHt9OwogICAgICAgIHRlbXBsYXRlLl9fZGF0YVBlbmRpbmcgPSBudWxsOwogICAgICAgIHRlbXBsYXRlLl9fZGF0YU9sZCA9IG51bGw7CiAgICAgICAgdGVtcGxhdGUuX2VuYWJsZVByb3BlcnRpZXMoKTsKICAgICAgfQogICAgfQogICAgLyogZXNsaW50LWVuYWJsZSB2YWxpZC1qc2RvYyAqLwoKICAgIGZ1bmN0aW9uIGNyZWF0ZUZvcndhcmRIb3N0UHJvcEVmZmVjdChob3N0UHJvcCwgdXNlckZvcndhcmRIb3N0UHJvcCkgewogICAgICByZXR1cm4gZnVuY3Rpb24gZm9yd2FyZEhvc3RQcm9wKHRlbXBsYXRlLCBwcm9wLCBwcm9wcykgewogICAgICAgIHVzZXJGb3J3YXJkSG9zdFByb3AuY2FsbCh0ZW1wbGF0ZS5fX3RlbXBsYXRpemVPd25lciwKICAgICAgICAgIHByb3Auc3Vic3RyaW5nKCdfaG9zdF8nLmxlbmd0aCksIHByb3BzW3Byb3BdKTsKICAgICAgfTsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGROb3RpZnlFZmZlY3RzKGtsYXNzLCB0ZW1wbGF0ZSwgdGVtcGxhdGVJbmZvLCBvcHRpb25zKSB7CiAgICAgIGxldCBob3N0UHJvcHMgPSB0ZW1wbGF0ZUluZm8uaG9zdFByb3BzIHx8IHt9OwogICAgICBmb3IgKGxldCBpcHJvcCBpbiBvcHRpb25zLmluc3RhbmNlUHJvcHMpIHsKICAgICAgICBkZWxldGUgaG9zdFByb3BzW2lwcm9wXTsKICAgICAgICBsZXQgdXNlck5vdGlmeUluc3RhbmNlUHJvcCA9IG9wdGlvbnMubm90aWZ5SW5zdGFuY2VQcm9wOwogICAgICAgIGlmICh1c2VyTm90aWZ5SW5zdGFuY2VQcm9wKSB7CiAgICAgICAgICBrbGFzcy5wcm90b3R5cGUuX2FkZFByb3BlcnR5RWZmZWN0KGlwcm9wLAogICAgICAgICAgICBrbGFzcy5wcm90b3R5cGUuUFJPUEVSVFlfRUZGRUNUX1RZUEVTLk5PVElGWSwKICAgICAgICAgICAge2ZuOiBjcmVhdGVOb3RpZnlJbnN0YW5jZVByb3BFZmZlY3QoaXByb3AsIHVzZXJOb3RpZnlJbnN0YW5jZVByb3ApfSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmIChvcHRpb25zLmZvcndhcmRIb3N0UHJvcCAmJiB0ZW1wbGF0ZS5fX2RhdGFIb3N0KSB7CiAgICAgICAgZm9yIChsZXQgaHByb3AgaW4gaG9zdFByb3BzKSB7CiAgICAgICAgICBrbGFzcy5wcm90b3R5cGUuX2FkZFByb3BlcnR5RWZmZWN0KGhwcm9wLAogICAgICAgICAgICBrbGFzcy5wcm90b3R5cGUuUFJPUEVSVFlfRUZGRUNUX1RZUEVTLk5PVElGWSwKICAgICAgICAgICAge2ZuOiBjcmVhdGVOb3RpZnlIb3N0UHJvcEVmZmVjdCgpfSk7CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gY3JlYXRlTm90aWZ5SW5zdGFuY2VQcm9wRWZmZWN0KGluc3RQcm9wLCB1c2VyTm90aWZ5SW5zdGFuY2VQcm9wKSB7CiAgICAgIHJldHVybiBmdW5jdGlvbiBub3RpZnlJbnN0YW5jZVByb3AoaW5zdCwgcHJvcCwgcHJvcHMpIHsKICAgICAgICB1c2VyTm90aWZ5SW5zdGFuY2VQcm9wLmNhbGwoaW5zdC5fX3RlbXBsYXRpemVPd25lciwKICAgICAgICAgIGluc3QsIHByb3AsIHByb3BzW3Byb3BdKTsKICAgICAgfTsKICAgIH0KCiAgICBmdW5jdGlvbiBjcmVhdGVOb3RpZnlIb3N0UHJvcEVmZmVjdCgpIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uIG5vdGlmeUhvc3RQcm9wKGluc3QsIHByb3AsIHByb3BzKSB7CiAgICAgICAgaW5zdC5fX2RhdGFIb3N0Ll9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgoJ19ob3N0XycgKyBwcm9wLCBwcm9wc1twcm9wXSwgdHJ1ZSwgdHJ1ZSk7CiAgICAgIH07CiAgICB9CgogICAgLyoqCiAgICAgKiBNb2R1bGUgZm9yIHByZXBhcmluZyBhbmQgc3RhbXBpbmcgaW5zdGFuY2VzIG9mIHRlbXBsYXRlcyB0aGF0IHV0aWxpemUKICAgICAqIFBvbHltZXIncyBkYXRhLWJpbmRpbmcgYW5kIGRlY2xhcmF0aXZlIGV2ZW50IGxpc3RlbmVyIGZlYXR1cmVzLgogICAgICoKICAgICAqIEV4YW1wbGU6CiAgICAgKgogICAgICogICAgIC8vIEdldCBhIHRlbXBsYXRlIGZyb20gc29tZXdoZXJlLCBlLmcuIGxpZ2h0IERPTQogICAgICogICAgIGxldCB0ZW1wbGF0ZSA9IHRoaXMucXVlcnlTZWxlY3RvcigndGVtcGxhdGUnKTsKICAgICAqICAgICAvLyBQcmVwYXJlIHRoZSB0ZW1wbGF0ZQogICAgICogICAgIGxldCBUZW1wbGF0ZUNsYXNzID0gUG9seW1lci5UZW1wbGF0aXplLnRlbXBsYXRpemUodGVtcGxhdGUpOwogICAgICogICAgIC8vIEluc3RhbmNlIHRoZSB0ZW1wbGF0ZSB3aXRoIGFuIGluaXRpYWwgZGF0YSBtb2RlbAogICAgICogICAgIGxldCBpbnN0YW5jZSA9IG5ldyBUZW1wbGF0ZUNsYXNzKHtteVByb3A6ICdpbml0aWFsJ30pOwogICAgICogICAgIC8vIEluc2VydCB0aGUgaW5zdGFuY2UncyBET00gc29tZXdoZXJlLCBlLmcuIGVsZW1lbnQncyBzaGFkb3cgRE9NCiAgICAgKiAgICAgdGhpcy5zaGFkb3dSb290LmFwcGVuZENoaWxkKGluc3RhbmNlLnJvb3QpOwogICAgICogICAgIC8vIENoYW5naW5nIGEgcHJvcGVydHkgb24gdGhlIGluc3RhbmNlIHdpbGwgcHJvcGFnYXRlIHRvIGJpbmRpbmdzCiAgICAgKiAgICAgLy8gaW4gdGhlIHRlbXBsYXRlCiAgICAgKiAgICAgaW5zdGFuY2UubXlQcm9wID0gJ25ldyB2YWx1ZSc7CiAgICAgKgogICAgICogVGhlIGBvcHRpb25zYCBkaWN0aW9uYXJ5IHBhc3NlZCB0byBgdGVtcGxhdGl6ZWAgYWxsb3dzIGZvciBjdXN0b21pemluZwogICAgICogZmVhdHVyZXMgb2YgdGhlIGdlbmVyYXRlZCB0ZW1wbGF0ZSBjbGFzcywgaW5jbHVkaW5nIGhvdyBvdXRlci1zY29wZSBob3N0CiAgICAgKiBwcm9wZXJ0aWVzIHNob3VsZCBiZSBmb3J3YXJkZWQgaW50byB0ZW1wbGF0ZSBpbnN0YW5jZXMsIGhvdyBhbnkgaW5zdGFuY2UKICAgICAqIHByb3BlcnRpZXMgYWRkZWQgaW50byB0aGUgdGVtcGxhdGUncyBzY29wZSBzaG91bGQgYmUgbm90aWZpZWQgb3V0IHRvCiAgICAgKiB0aGUgaG9zdCwgYW5kIHdoZXRoZXIgdGhlIGluc3RhbmNlIHNob3VsZCBiZSBkZWNvcmF0ZWQgYXMgYSAicGFyZW50IG1vZGVsIgogICAgICogb2YgYW55IGV2ZW50IGhhbmRsZXJzLgogICAgICoKICAgICAqICAgICAvLyBDdXN0b21pemUgcHJvcGVydHkgZm9yd2FyZGluZyBhbmQgZXZlbnQgbW9kZWwgZGVjb3JhdGlvbgogICAgICogICAgIGxldCBUZW1wbGF0ZUNsYXNzID0gUG9seW1lci5UZW1wbGF0aXplLnRlbXBsYXRpemUodGVtcGxhdGUsIHRoaXMsIHsKICAgICAqICAgICAgIHBhcmVudE1vZGVsOiB0cnVlLAogICAgICogICAgICAgZm9yd2FyZEhvc3RQcm9wKHByb3BlcnR5LCB2YWx1ZSkgey4uLn0sCiAgICAgKiAgICAgICBpbnN0YW5jZVByb3BzOiB7Li4ufSwKICAgICAqICAgICAgIG5vdGlmeUluc3RhbmNlUHJvcChpbnN0YW5jZSwgcHJvcGVydHksIHZhbHVlKSB7Li4ufSwKICAgICAqICAgICB9KTsKICAgICAqCiAgICAgKiBAbmFtZXNwYWNlCiAgICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAgICogQHN1bW1hcnkgTW9kdWxlIGZvciBwcmVwYXJpbmcgYW5kIHN0YW1waW5nIGluc3RhbmNlcyBvZiB0ZW1wbGF0ZXMKICAgICAqICAgdXRpbGl6aW5nIFBvbHltZXIgdGVtcGxhdGluZyBmZWF0dXJlcy4KICAgICAqLwogICAgUG9seW1lci5UZW1wbGF0aXplID0gewoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgYW4gYW5vbnltb3VzIGBQb2x5bWVyLlByb3BlcnR5RWZmZWN0c2AgY2xhc3MgYm91bmQgdG8gdGhlCiAgICAgICAqIGA8dGVtcGxhdGU+YCBwcm92aWRlZC4gIEluc3RhbmNpbmcgdGhlIGNsYXNzIHdpbGwgcmVzdWx0IGluIHRoZQogICAgICAgKiB0ZW1wbGF0ZSBiZWluZyBzdGFtcGVkIGludG8gYSBkb2N1bWVudCBmcmFnbWVudCBzdG9yZWQgYXMgdGhlIGluc3RhbmNlJ3MKICAgICAgICogYHJvb3RgIHByb3BlcnR5LCBhZnRlciB3aGljaCBpdCBjYW4gYmUgYXBwZW5kZWQgdG8gdGhlIERPTS4KICAgICAgICoKICAgICAgICogVGVtcGxhdGVzIG1heSB1dGlsaXplIGFsbCBQb2x5bWVyIGRhdGEtYmluZGluZyBmZWF0dXJlcyBhcyB3ZWxsIGFzCiAgICAgICAqIGRlY2xhcmF0aXZlIGV2ZW50IGxpc3RlbmVycy4gIEV2ZW50IGxpc3RlbmVycyBhbmQgaW5saW5lIGNvbXB1dGluZwogICAgICAgKiBmdW5jdGlvbnMgaW4gdGhlIHRlbXBsYXRlIHdpbGwgYmUgY2FsbGVkIG9uIHRoZSBob3N0IG9mIHRoZSB0ZW1wbGF0ZS4KICAgICAgICoKICAgICAgICogVGhlIGNvbnN0cnVjdG9yIHJldHVybmVkIHRha2VzIGEgc2luZ2xlIGFyZ3VtZW50IGRpY3Rpb25hcnkgb2YgaW5pdGlhbAogICAgICAgKiBwcm9wZXJ0eSB2YWx1ZXMgdG8gcHJvcGFnYXRlIGludG8gdGVtcGxhdGUgYmluZGluZ3MuICBBZGRpdGlvbmFsbHkKICAgICAgICogaG9zdCBwcm9wZXJ0aWVzIGNhbiBiZSBmb3J3YXJkZWQgaW4sIGFuZCBpbnN0YW5jZSBwcm9wZXJ0aWVzIGNhbiBiZQogICAgICAgKiBub3RpZmllZCBvdXQgYnkgcHJvdmlkaW5nIG9wdGlvbmFsIGNhbGxiYWNrcyBpbiB0aGUgYG9wdGlvbnNgIGRpY3Rpb25hcnkuCiAgICAgICAqCiAgICAgICAqIFZhbGlkIGNvbmZpZ3VyYXRpb24gaW4gYG9wdGlvbnNgIGFyZSBhcyBmb2xsb3dzOgogICAgICAgKgogICAgICAgKiAtIGBmb3J3YXJkSG9zdFByb3AocHJvcGVydHksIHZhbHVlKWA6IENhbGxlZCB3aGVuIGEgcHJvcGVydHkgcmVmZXJlbmNlZAogICAgICAgKiAgIGluIHRoZSB0ZW1wbGF0ZSBjaGFuZ2VkIG9uIHRoZSB0ZW1wbGF0ZSdzIGhvc3QuIEFzIHRoaXMgbGlicmFyeSBkb2VzCiAgICAgICAqICAgbm90IHJldGFpbiByZWZlcmVuY2VzIHRvIHRlbXBsYXRlcyBpbnN0YW5jZWQgYnkgdGhlIHVzZXIsIGl0IGlzIHRoZQogICAgICAgKiAgIHRlbXBsYXRpemUgb3duZXIncyByZXNwb25zaWJpbGl0eSB0byBmb3J3YXJkIGhvc3QgcHJvcGVydHkgY2hhbmdlcyBpbnRvCiAgICAgICAqICAgdXNlci1zdGFtcGVkIGluc3RhbmNlcy4gIFRoZSBgaW5zdGFuY2UuZm9yd2FyZEhvc3RQcm9wKHByb3BlcnR5LCB2YWx1ZSlgCiAgICAgICAqICAgIG1ldGhvZCBvbiB0aGUgZ2VuZXJhdGVkIGNsYXNzIHNob3VsZCBiZSBjYWxsZWQgdG8gZm9yd2FyZCBob3N0CiAgICAgICAqICAgcHJvcGVydGllcyBpbnRvIHRoZSB0ZW1wbGF0ZSB0byBwcmV2ZW50IHVubmVjZXNzYXJ5IHByb3BlcnR5LWNoYW5nZWQKICAgICAgICogICBub3RpZmljYXRpb25zLiBBbnkgcHJvcGVydGllcyByZWZlcmVuY2VkIGluIHRoZSB0ZW1wbGF0ZSB0aGF0IGFyZSBub3QKICAgICAgICogICBkZWZpbmVkIGluIGBpbnN0YW5jZVByb3BzYCB3aWxsIGJlIG5vdGlmaWVkIHVwIHRvIHRoZSB0ZW1wbGF0ZSdzIGhvc3QKICAgICAgICogICBhdXRvbWF0aWNhbGx5LgogICAgICAgKiAtIGBpbnN0YW5jZVByb3BzYDogRGljdGlvbmFyeSBvZiBwcm9wZXJ0eSBuYW1lcyB0aGF0IHdpbGwgYmUgYWRkZWQKICAgICAgICogICB0byB0aGUgaW5zdGFuY2UgYnkgdGhlIHRlbXBsYXRpemUgb3duZXIuICBUaGVzZSBwcm9wZXJ0aWVzIHNoYWRvdyBhbnkKICAgICAgICogICBob3N0IHByb3BlcnRpZXMsIGFuZCBjaGFuZ2VzIHdpdGhpbiB0aGUgdGVtcGxhdGUgdG8gdGhlc2UgcHJvcGVydGllcwogICAgICAgKiAgIHdpbGwgcmVzdWx0IGluIGBub3RpZnlJbnN0YW5jZVByb3BgIGJlaW5nIGNhbGxlZC4KICAgICAgICogLSBgbXV0YWJsZURhdGFgOiBXaGVuIGB0cnVlYCwgdGhlIGdlbmVyYXRlZCBjbGFzcyB3aWxsIHNraXAgc3RyaWN0CiAgICAgICAqICAgZGlydHktY2hlY2tpbmcgZm9yIG9iamVjdHMgYW5kIGFycmF5cyAoYWx3YXlzIGNvbnNpZGVyIHRoZW0gdG8gYmUKICAgICAgICogICAiZGlydHkiKS4KICAgICAgICogLSBgbm90aWZ5SW5zdGFuY2VQcm9wKGluc3RhbmNlLCBwcm9wZXJ0eSwgdmFsdWUpYDogQ2FsbGVkIHdoZW4KICAgICAgICogICBhbiBpbnN0YW5jZSBwcm9wZXJ0eSBjaGFuZ2VzLiAgVXNlcnMgbWF5IGNob29zZSB0byBjYWxsIGBub3RpZnlQYXRoYAogICAgICAgKiAgIG9uIGUuZy4gdGhlIG93bmVyIHRvIG5vdGlmeSB0aGUgY2hhbmdlLgogICAgICAgKiAtIGBwYXJlbnRNb2RlbGA6IFdoZW4gYHRydWVgLCBldmVudHMgaGFuZGxlZCBieSBkZWNsYXJhdGl2ZSBldmVudCBsaXN0ZW5lcnMKICAgICAgICogICAoYG9uLWV2ZW50PSJoYW5kbGVyImApIHdpbGwgYmUgZGVjb3JhdGVkIHdpdGggYSBgbW9kZWxgIHByb3BlcnR5IHBvaW50aW5nCiAgICAgICAqICAgdG8gdGhlIHRlbXBsYXRlIGluc3RhbmNlIHRoYXQgc3RhbXBlZCBpdC4gIEl0IHdpbGwgYWxzbyBiZSByZXR1cm5lZAogICAgICAgKiAgIGZyb20gYGluc3RhbmNlLnBhcmVudE1vZGVsYCBpbiBjYXNlcyB3aGVyZSB0ZW1wbGF0ZSBpbnN0YW5jZSBuZXN0aW5nCiAgICAgICAqICAgY2F1c2VzIGFuIGlubmVyIG1vZGVsIHRvIHNoYWRvdyBhbiBvdXRlciBtb2RlbC4KICAgICAgICoKICAgICAgICogQWxsIGNhbGxiYWNrcyBhcmUgY2FsbGVkIGJvdW5kIHRvIHRoZSBgb3duZXJgLiBBbnkgY29udGV4dAogICAgICAgKiBuZWVkZWQgZm9yIHRoZSBjYWxsYmFja3MgKHN1Y2ggYXMgcmVmZXJlbmNlcyB0byBgaW5zdGFuY2VzYCBzdGFtcGVkKQogICAgICAgKiBzaG91bGQgYmUgc3RvcmVkIG9uIHRoZSBgb3duZXJgIHN1Y2ggdGhhdCB0aGV5IGNhbiBiZSByZXRyaWV2ZWQgdmlhCiAgICAgICAqIGB0aGlzYC4KICAgICAgICoKICAgICAgICogV2hlbiBgb3B0aW9ucy5mb3J3YXJkSG9zdFByb3BgIGlzIGRlY2xhcmVkIGFzIGFuIG9wdGlvbiwgYW55IHByb3BlcnRpZXMKICAgICAgICogcmVmZXJlbmNlZCBpbiB0aGUgdGVtcGxhdGUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGZvcndhcmRlZCBmcm9tIHRoZSBob3N0IG9mCiAgICAgICAqIHRoZSBgPHRlbXBsYXRlPmAgdG8gaW5zdGFuY2VzLCB3aXRoIHRoZSBleGNlcHRpb24gb2YgYW55IHByb3BlcnRpZXMgbGlzdGVkIGluCiAgICAgICAqIHRoZSBgb3B0aW9ucy5pbnN0YW5jZVByb3BzYCBvYmplY3QuICBgaW5zdGFuY2VQcm9wc2AgYXJlIGFzc3VtZWQgdG8gYmUKICAgICAgICogbWFuYWdlZCBieSB0aGUgb3duZXIgb2YgdGhlIGluc3RhbmNlcywgZWl0aGVyIHBhc3NlZCBpbnRvIHRoZSBjb25zdHJ1Y3RvcgogICAgICAgKiBvciBzZXQgYWZ0ZXIgdGhlIGZhY3QuICBOb3RlLCBhbnkgcHJvcGVydGllcyBwYXNzZWQgaW50byB0aGUgY29uc3RydWN0b3Igd2lsbAogICAgICAgKiBhbHdheXMgYmUgc2V0IHRvIHRoZSBpbnN0YW5jZSAocmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZXkgd291bGQgbm9ybWFsbHkKICAgICAgICogYmUgZm9yd2FyZGVkIGZyb20gdGhlIGhvc3QpLgogICAgICAgKgogICAgICAgKiBOb3RlIHRoYXQgYHRlbXBsYXRpemUoKWAgY2FuIGJlIHJ1biBvbmx5IG9uY2UgZm9yIGEgZ2l2ZW4gYDx0ZW1wbGF0ZT5gLgogICAgICAgKiBGdXJ0aGVyIGNhbGxzIHdpbGwgcmVzdWx0IGluIGFuIGVycm9yLiBBbHNvLCB0aGVyZSBpcyBhIHNwZWNpYWwKICAgICAgICogYmVoYXZpb3IgaWYgdGhlIHRlbXBsYXRlIHdhcyBkdXBsaWNhdGVkIHRocm91Z2ggYSBtZWNoYW5pc20gc3VjaCBhcwogICAgICAgKiBgPGRvbS1yZXBlYXQ+YCBvciBgPHRlc3QtZml4dHVyZT5gLiBJbiB0aGlzIGNhc2UsIGFsbCBjYWxscyB0bwogICAgICAgKiBgdGVtcGxhdGl6ZSgpYCByZXR1cm4gdGhlIHNhbWUgY2xhc3MgZm9yIGFsbCBkdXBsaWNhdGVzIG9mIGEgdGVtcGxhdGUuCiAgICAgICAqIFRoZSBjbGFzcyByZXR1cm5lZCBmcm9tIGB0ZW1wbGF0aXplKClgIGlzIGdlbmVyYXRlZCBvbmx5IG9uY2UgdXNpbmcKICAgICAgICogdGhlIGBvcHRpb25zYCBmcm9tIHRoZSBmaXJzdCBjYWxsLiBUaGlzIG1lYW5zIHRoYXQgYW55IGBvcHRpb25zYAogICAgICAgKiBwcm92aWRlZCB0byBzdWJzZXF1ZW50IGNhbGxzIHdpbGwgYmUgaWdub3JlZC4gVGhlcmVmb3JlLCBpdCBpcyB2ZXJ5CiAgICAgICAqIGltcG9ydGFudCBub3QgdG8gY2xvc2Ugb3ZlciBhbnkgdmFyaWFibGVzIGluc2lkZSB0aGUgY2FsbGJhY2tzLiBBbHNvLAogICAgICAgKiBhcnJvdyBmdW5jdGlvbnMgbXVzdCBiZSBhdm9pZGVkIGJlY2F1c2UgdGhleSBiaW5kIHRoZSBvdXRlciBgdGhpc2AuCiAgICAgICAqIEluc2lkZSB0aGUgY2FsbGJhY2tzLCBhbnkgY29udGV4dHVhbCBpbmZvcm1hdGlvbiBjYW4gYmUgYWNjZXNzZWQKICAgICAgICogdGhyb3VnaCBgdGhpc2AsIHdoaWNoIHBvaW50cyB0byB0aGUgYG93bmVyYC4KICAgICAgICoKICAgICAgICogQG1lbWJlcm9mIFBvbHltZXIuVGVtcGxhdGl6ZQogICAgICAgKiBAcGFyYW0geyFIVE1MVGVtcGxhdGVFbGVtZW50fSB0ZW1wbGF0ZSBUZW1wbGF0ZSB0byB0ZW1wbGF0aXplCiAgICAgICAqIEBwYXJhbSB7UG9seW1lcl9Qcm9wZXJ0eUVmZmVjdHM9fSBvd25lciBPd25lciBvZiB0aGUgdGVtcGxhdGUgaW5zdGFuY2VzOwogICAgICAgKiAgIGFueSBvcHRpb25hbCBjYWxsYmFja3Mgd2lsbCBiZSBib3VuZCB0byB0aGlzIG93bmVyLgogICAgICAgKiBAcGFyYW0ge09iamVjdD19IG9wdGlvbnMgT3B0aW9ucyBkaWN0aW9uYXJ5IChzZWUgc3VtbWFyeSBmb3IgZGV0YWlscykKICAgICAgICogQHJldHVybiB7ZnVuY3Rpb24obmV3OlRlbXBsYXRlSW5zdGFuY2VCYXNlKX0gR2VuZXJhdGVkIGNsYXNzIGJvdW5kIHRvIHRoZSB0ZW1wbGF0ZQogICAgICAgKiAgIHByb3ZpZGVkCiAgICAgICAqIEBzdXBwcmVzcyB7aW52YWxpZENhc3RzfQogICAgICAgKi8KICAgICAgdGVtcGxhdGl6ZSh0ZW1wbGF0ZSwgb3duZXIsIG9wdGlvbnMpIHsKICAgICAgICAvLyBVbmRlciBzdHJpY3RUZW1wbGF0ZVBvbGljeSwgdGhlIHRlbXBsYXRpemVkIGVsZW1lbnQgbXVzdCBiZSBvd25lZAogICAgICAgIC8vIGJ5IGEgKHRydXN0ZWQpIFBvbHltZXIgZWxlbWVudCwgaW5kaWNhdGVkIGJ5IGV4aXN0ZW5jZSBvZiBfbWV0aG9kSG9zdDsKICAgICAgICAvLyBlLmcuIGZvciBkb20taWYgJiBkb20tcmVwZWF0IGluIG1haW4gZG9jdW1lbnQsIF9tZXRob2RIb3N0IGlzIG51bGwKICAgICAgICBpZiAoUG9seW1lci5zdHJpY3RUZW1wbGF0ZVBvbGljeSAmJiAhZmluZE1ldGhvZEhvc3QodGVtcGxhdGUpKSB7CiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3N0cmljdFRlbXBsYXRlUG9saWN5OiB0ZW1wbGF0ZSBvd25lciBub3QgdHJ1c3RlZCcpOwogICAgICAgIH0KICAgICAgICBvcHRpb25zID0gLyoqIEB0eXBlIHshVGVtcGxhdGl6ZU9wdGlvbnN9ICovKG9wdGlvbnMgfHwge30pOwogICAgICAgIGlmICh0ZW1wbGF0ZS5fX3RlbXBsYXRpemVPd25lcikgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBIDx0ZW1wbGF0ZT4gY2FuIG9ubHkgYmUgdGVtcGxhdGl6ZWQgb25jZScpOwogICAgICAgIH0KICAgICAgICB0ZW1wbGF0ZS5fX3RlbXBsYXRpemVPd25lciA9IG93bmVyOwogICAgICAgIGNvbnN0IGN0b3IgPSBvd25lciA/IG93bmVyLmNvbnN0cnVjdG9yIDogVGVtcGxhdGVJbnN0YW5jZUJhc2U7CiAgICAgICAgbGV0IHRlbXBsYXRlSW5mbyA9IGN0b3IuX3BhcnNlVGVtcGxhdGUodGVtcGxhdGUpOwogICAgICAgIC8vIEdldCBtZW1vaXplZCBiYXNlIGNsYXNzIGZvciB0aGUgcHJvdG90eXBpY2FsIHRlbXBsYXRlLCB3aGljaAogICAgICAgIC8vIGluY2x1ZGVzIHByb3BlcnR5IGVmZmVjdHMgZm9yIGJpbmRpbmcgdGVtcGxhdGUgJiBmb3J3YXJkaW5nCiAgICAgICAgbGV0IGJhc2VDbGFzcyA9IHRlbXBsYXRlSW5mby50ZW1wbGF0aXplSW5zdGFuY2VDbGFzczsKICAgICAgICBpZiAoIWJhc2VDbGFzcykgewogICAgICAgICAgYmFzZUNsYXNzID0gY3JlYXRlVGVtcGxhdGl6ZXJDbGFzcyh0ZW1wbGF0ZSwgdGVtcGxhdGVJbmZvLCBvcHRpb25zKTsKICAgICAgICAgIHRlbXBsYXRlSW5mby50ZW1wbGF0aXplSW5zdGFuY2VDbGFzcyA9IGJhc2VDbGFzczsKICAgICAgICB9CiAgICAgICAgLy8gSG9zdCBwcm9wZXJ0eSBmb3J3YXJkaW5nIG11c3QgYmUgaW5zdGFsbGVkIG9udG8gdGVtcGxhdGUgaW5zdGFuY2UKICAgICAgICBhZGRQcm9wYWdhdGVFZmZlY3RzKHRlbXBsYXRlLCB0ZW1wbGF0ZUluZm8sIG9wdGlvbnMpOwogICAgICAgIC8vIFN1YmNsYXNzIGJhc2UgY2xhc3MgYW5kIGFkZCByZWZlcmVuY2UgZm9yIHRoaXMgc3BlY2lmaWMgdGVtcGxhdGUKICAgICAgICAvKiogQHByaXZhdGUgKi8KICAgICAgICBsZXQga2xhc3MgPSBjbGFzcyBUZW1wbGF0ZUluc3RhbmNlIGV4dGVuZHMgYmFzZUNsYXNzIHt9OwogICAgICAgIGtsYXNzLnByb3RvdHlwZS5fbWV0aG9kSG9zdCA9IGZpbmRNZXRob2RIb3N0KHRlbXBsYXRlKTsKICAgICAgICBrbGFzcy5wcm90b3R5cGUuX19kYXRhSG9zdCA9IHRlbXBsYXRlOwogICAgICAgIGtsYXNzLnByb3RvdHlwZS5fX3RlbXBsYXRpemVPd25lciA9IG93bmVyOwogICAgICAgIGtsYXNzLnByb3RvdHlwZS5fX2hvc3RQcm9wcyA9IHRlbXBsYXRlSW5mby5ob3N0UHJvcHM7CiAgICAgICAga2xhc3MgPSAvKiogQHR5cGUge2Z1bmN0aW9uKG5ldzpUZW1wbGF0ZUluc3RhbmNlQmFzZSl9ICovKGtsYXNzKTsgLy9lc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtYXNzaWduCiAgICAgICAgcmV0dXJuIGtsYXNzOwogICAgICB9LAoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgdGhlIHRlbXBsYXRlICJtb2RlbCIgYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4gZWxlbWVudCwgd2hpY2gKICAgICAgICogc2VydmVzIGFzIHRoZSBiaW5kaW5nIHNjb3BlIGZvciB0aGUgdGVtcGxhdGUgaW5zdGFuY2UgdGhlIGVsZW1lbnQgaXMKICAgICAgICogY29udGFpbmVkIGluLiBBIHRlbXBsYXRlIG1vZGVsIGlzIGFuIGluc3RhbmNlIG9mCiAgICAgICAqIGBUZW1wbGF0ZUluc3RhbmNlQmFzZWAsIGFuZCBzaG91bGQgYmUgdXNlZCB0byBtYW5pcHVsYXRlIGRhdGEKICAgICAgICogYXNzb2NpYXRlZCB3aXRoIHRoaXMgdGVtcGxhdGUgaW5zdGFuY2UuCiAgICAgICAqCiAgICAgICAqIEV4YW1wbGU6CiAgICAgICAqCiAgICAgICAqICAgbGV0IG1vZGVsID0gbW9kZWxGb3JFbGVtZW50KGVsKTsKICAgICAgICogICBpZiAobW9kZWwuaW5kZXggPCAxMCkgewogICAgICAgKiAgICAgbW9kZWwuc2V0KCdpdGVtLmNoZWNrZWQnLCB0cnVlKTsKICAgICAgICogICB9CiAgICAgICAqCiAgICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyLlRlbXBsYXRpemUKICAgICAgICogQHBhcmFtIHtIVE1MVGVtcGxhdGVFbGVtZW50fSB0ZW1wbGF0ZSBUaGUgbW9kZWwgd2lsbCBiZSByZXR1cm5lZCBmb3IKICAgICAgICogICBlbGVtZW50cyBzdGFtcGVkIGZyb20gdGhpcyB0ZW1wbGF0ZQogICAgICAgKiBAcGFyYW0ge05vZGU9fSBub2RlIE5vZGUgZm9yIHdoaWNoIHRvIHJldHVybiBhIHRlbXBsYXRlIG1vZGVsLgogICAgICAgKiBAcmV0dXJuIHtUZW1wbGF0ZUluc3RhbmNlQmFzZX0gVGVtcGxhdGUgaW5zdGFuY2UgcmVwcmVzZW50aW5nIHRoZQogICAgICAgKiAgIGJpbmRpbmcgc2NvcGUgZm9yIHRoZSBlbGVtZW50CiAgICAgICAqLwogICAgICBtb2RlbEZvckVsZW1lbnQodGVtcGxhdGUsIG5vZGUpIHsKICAgICAgICBsZXQgbW9kZWw7CiAgICAgICAgd2hpbGUgKG5vZGUpIHsKICAgICAgICAgIC8vIEFuIGVsZW1lbnQgd2l0aCBhIF9fdGVtcGxhdGl6ZUluc3RhbmNlIG1hcmtzIHRoZSB0b3AgYm91bmRhcnkKICAgICAgICAgIC8vIG9mIGEgc2NvcGU7IHdhbGsgdXAgdW50aWwgd2UgZmluZCBvbmUsIGFuZCB0aGVuIGVuc3VyZSB0aGF0CiAgICAgICAgICAvLyBpdHMgX19kYXRhSG9zdCBtYXRjaGVzIGB0aGlzYCwgbWVhbmluZyB0aGlzIGRvbS1yZXBlYXQgc3RhbXBlZCBpdAogICAgICAgICAgaWYgKChtb2RlbCA9IG5vZGUuX190ZW1wbGF0aXplSW5zdGFuY2UpKSB7CiAgICAgICAgICAgIC8vIEZvdW5kIGFuIGVsZW1lbnQgc3RhbXBlZCBieSBhbm90aGVyIHRlbXBsYXRlOyBrZWVwIHdhbGtpbmcgdXAKICAgICAgICAgICAgLy8gZnJvbSBpdHMgX19kYXRhSG9zdAogICAgICAgICAgICBpZiAobW9kZWwuX19kYXRhSG9zdCAhPSB0ZW1wbGF0ZSkgewogICAgICAgICAgICAgIG5vZGUgPSBtb2RlbC5fX2RhdGFIb3N0OwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHJldHVybiBtb2RlbDsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gU3RpbGwgaW4gYSB0ZW1wbGF0ZSBzY29wZSwga2VlcCBnb2luZyB1cCB1bnRpbAogICAgICAgICAgICAvLyBhIF9fdGVtcGxhdGl6ZUluc3RhbmNlIGlzIGZvdW5kCiAgICAgICAgICAgIG5vZGUgPSBub2RlLnBhcmVudE5vZGU7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CiAgICB9OwoKICAgIFBvbHltZXIuVGVtcGxhdGVJbnN0YW5jZUJhc2UgPSBUZW1wbGF0ZUluc3RhbmNlQmFzZTsKCiAgfSkoKTsKCgoKICAoZnVuY3Rpb24oKSB7CiAgICAndXNlIHN0cmljdCc7CgogICAgbGV0IFRlbXBsYXRlSW5zdGFuY2VCYXNlID0gUG9seW1lci5UZW1wbGF0ZUluc3RhbmNlQmFzZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZQoKICAgIC8qKgogICAgICogQHR5cGVkZWYge3sKICAgICAqICAgX3RlbXBsYXRpemVyVGVtcGxhdGU6IEhUTUxUZW1wbGF0ZUVsZW1lbnQsCiAgICAgKiAgIF9wYXJlbnRNb2RlbDogYm9vbGVhbiwKICAgICAqICAgX2luc3RhbmNlUHJvcHM6IE9iamVjdCwKICAgICAqICAgX2ZvcndhcmRIb3N0UHJvcFYyOiBGdW5jdGlvbiwKICAgICAqICAgX25vdGlmeUluc3RhbmNlUHJvcFYyOiBGdW5jdGlvbiwKICAgICAqICAgY3RvcjogVGVtcGxhdGVJbnN0YW5jZUJhc2UKICAgICAqIH19CiAgICAgKi8KICAgIGxldCBUZW1wbGF0aXplclVzZXI7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUKCiAgICAvKioKICAgICAqIFRoZSBgUG9seW1lci5UZW1wbGF0aXplcmAgYmVoYXZpb3IgYWRkcyBtZXRob2RzIHRvIGdlbmVyYXRlIGluc3RhbmNlcyBvZgogICAgICogdGVtcGxhdGVzIHRoYXQgYXJlIGVhY2ggbWFuYWdlZCBieSBhbiBhbm9ueW1vdXMgYFBvbHltZXIuUHJvcGVydHlFZmZlY3RzYAogICAgICogaW5zdGFuY2Ugd2hlcmUgZGF0YS1iaW5kaW5ncyBpbiB0aGUgc3RhbXBlZCB0ZW1wbGF0ZSBjb250ZW50IGFyZSBib3VuZCB0bwogICAgICogYWNjZXNzb3JzIG9uIGl0c2VsZi4KICAgICAqCiAgICAgKiBUaGlzIGJlaGF2aW9yIGlzIHByb3ZpZGVkIGluIFBvbHltZXIgMi54IGFzIGEgaHlicmlkLWVsZW1lbnQgY29udmVuaWVuY2UKICAgICAqIG9ubHkuICBGb3Igbm9uLWh5YnJpZCB1c2FnZSwgdGhlIGBQb2x5bWVyLlRlbXBsYXRpemVgIGxpYnJhcnkKICAgICAqIHNob3VsZCBiZSB1c2VkIGluc3RlYWQuCiAgICAgKgogICAgICogRXhhbXBsZToKICAgICAqCiAgICAgKiAgICAgLy8gR2V0IGEgdGVtcGxhdGUgZnJvbSBzb21ld2hlcmUsIGUuZy4gbGlnaHQgRE9NCiAgICAgKiAgICAgbGV0IHRlbXBsYXRlID0gdGhpcy5xdWVyeVNlbGVjdG9yKCd0ZW1wbGF0ZScpOwogICAgICogICAgIC8vIFByZXBhcmUgdGhlIHRlbXBsYXRlCiAgICAgKiAgICAgdGhpcy50ZW1wbGF0aXplKHRlbXBsYXRlKTsKICAgICAqICAgICAvLyBJbnN0YW5jZSB0aGUgdGVtcGxhdGUgd2l0aCBhbiBpbml0aWFsIGRhdGEgbW9kZWwKICAgICAqICAgICBsZXQgaW5zdGFuY2UgPSB0aGlzLnN0YW1wKHtteVByb3A6ICdpbml0aWFsJ30pOwogICAgICogICAgIC8vIEluc2VydCB0aGUgaW5zdGFuY2UncyBET00gc29tZXdoZXJlLCBlLmcuIGxpZ2h0IERPTQogICAgICogICAgIFBvbHltZXIuZG9tKHRoaXMpLmFwcGVuZENoaWxkKGluc3RhbmNlLnJvb3QpOwogICAgICogICAgIC8vIENoYW5naW5nIGEgcHJvcGVydHkgb24gdGhlIGluc3RhbmNlIHdpbGwgcHJvcGFnYXRlIHRvIGJpbmRpbmdzCiAgICAgKiAgICAgLy8gaW4gdGhlIHRlbXBsYXRlCiAgICAgKiAgICAgaW5zdGFuY2UubXlQcm9wID0gJ25ldyB2YWx1ZSc7CiAgICAgKgogICAgICogVXNlcnMgb2YgYFRlbXBsYXRpemVyYCBtYXkgbmVlZCB0byBpbXBsZW1lbnQgdGhlIGZvbGxvd2luZyBhYnN0cmFjdAogICAgICogQVBJJ3MgdG8gZGV0ZXJtaW5lIGhvdyBwcm9wZXJ0aWVzIGFuZCBwYXRocyBmcm9tIHRoZSBob3N0IHNob3VsZCBiZQogICAgICogZm9yd2FyZGVkIGludG8gdG8gaW5zdGFuY2VzOgogICAgICoKICAgICAqICAgICBfZm9yd2FyZEhvc3RQcm9wVjI6IGZ1bmN0aW9uKHByb3AsIHZhbHVlKQogICAgICoKICAgICAqIExpa2V3aXNlLCB1c2VycyBtYXkgaW1wbGVtZW50IHRoZXNlIGFkZGl0aW9uYWwgYWJzdHJhY3QgQVBJJ3MgdG8gZGV0ZXJtaW5lCiAgICAgKiBob3cgaW5zdGFuY2Utc3BlY2lmaWMgcHJvcGVydGllcyB0aGF0IGNoYW5nZSBvbiB0aGUgaW5zdGFuY2Ugc2hvdWxkIGJlCiAgICAgKiBmb3J3YXJkZWQgb3V0IHRvIHRoZSBob3N0LCBpZiBuZWNlc3NhcnkuCiAgICAgKgogICAgICogICAgIF9ub3RpZnlJbnN0YW5jZVByb3BWMjogZnVuY3Rpb24oaW5zdCwgcHJvcCwgdmFsdWUpCiAgICAgKgogICAgICogSW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHdoaWNoIHByb3BlcnRpZXMgYXJlIGluc3RhbmNlLXNwZWNpZmljIGFuZCByZXF1aXJlCiAgICAgKiBjdXN0b20gbm90aWZpY2F0aW9uIHZpYSBgX25vdGlmeUluc3RhbmNlUHJvcGAsIGRlZmluZSBhbiBgX2luc3RhbmNlUHJvcHNgCiAgICAgKiBvYmplY3QgY29udGFpbmluZyBrZXlzIGZvciBlYWNoIGluc3RhbmNlIHByb3AsIGZvciBleGFtcGxlOgogICAgICoKICAgICAqICAgICBfaW5zdGFuY2VQcm9wczogewogICAgICogICAgICAgaXRlbTogdHJ1ZSwKICAgICAqICAgICAgIGluZGV4OiB0cnVlCiAgICAgKiAgICAgfQogICAgICoKICAgICAqIEFueSBwcm9wZXJ0aWVzIHVzZWQgaW4gdGhlIHRlbXBsYXRlIHRoYXQgYXJlIG5vdCBkZWZpbmVkIGluIF9pbnN0YW5jZVByb3AKICAgICAqIHdpbGwgYmUgZm9yd2FyZGVkIG91dCB0byB0aGUgVGVtcGxhdGl6ZSBgb3duZXJgIGF1dG9tYXRpY2FsbHkuCiAgICAgKgogICAgICogVXNlcnMgbWF5IGFsc28gaW1wbGVtZW50IHRoZSBmb2xsb3dpbmcgYWJzdHJhY3QgZnVuY3Rpb24gdG8gc2hvdyBvcgogICAgICogaGlkZSBhbnkgRE9NIGdlbmVyYXRlZCB1c2luZyBgc3RhbXBgOgogICAgICoKICAgICAqICAgICBfc2hvd0hpZGVDaGlsZHJlbjogZnVuY3Rpb24oc2hvdWxkSGlkZSkKICAgICAqCiAgICAgKiBOb3RlIHRoYXQgc29tZSBjYWxsYmFja3MgYXJlIHN1ZmZpeGVkIHdpdGggYFYyYCBpbiB0aGUgUG9seW1lciAyLnggYmVoYXZpb3IKICAgICAqIGFzIHRoZSBpbXBsZW1lbnRhdGlvbnMgd2lsbCBuZWVkIHRvIGRpZmZlciBmcm9tIHRoZSBjYWxsYmFja3MgcmVxdWlyZWQKICAgICAqIGJ5IHRoZSAxLnggVGVtcGxhdGl6ZXIgQVBJIGR1ZSB0byBjaGFuZ2VzIGluIHRoZSBgVGVtcGxhdGVJbnN0YW5jZWAgQVBJCiAgICAgKiBiZXR3ZWVuIHZlcnNpb25zIDEueCBhbmQgMi54LgogICAgICoKICAgICAqIEBwb2x5bWVyQmVoYXZpb3IKICAgICAqLwogICAgUG9seW1lci5UZW1wbGF0aXplciA9IHsKCiAgICAgIC8qKgogICAgICAgKiBHZW5lcmF0ZXMgYW4gYW5vbnltb3VzIGBUZW1wbGF0ZUluc3RhbmNlYCBjbGFzcyAoc3RvcmVkIGFzIGB0aGlzLmN0b3JgKQogICAgICAgKiBmb3IgdGhlIHByb3ZpZGVkIHRlbXBsYXRlLiAgVGhpcyBtZXRob2Qgc2hvdWxkIGJlIGNhbGxlZCBvbmNlIHBlcgogICAgICAgKiB0ZW1wbGF0ZSB0byBwcmVwYXJlIGFuIGVsZW1lbnQgZm9yIHN0YW1waW5nIHRoZSB0ZW1wbGF0ZSwgZm9sbG93ZWQKICAgICAgICogYnkgYHN0YW1wYCB0byBjcmVhdGUgbmV3IGluc3RhbmNlcyBvZiB0aGUgdGVtcGxhdGUuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7IUhUTUxUZW1wbGF0ZUVsZW1lbnR9IHRlbXBsYXRlIFRlbXBsYXRlIHRvIHByZXBhcmUKICAgICAgICogQHBhcmFtIHtib29sZWFuPX0gbXV0YWJsZURhdGEgV2hlbiBgdHJ1ZWAsIHRoZSBnZW5lcmF0ZWQgY2xhc3Mgd2lsbCBza2lwCiAgICAgICAqICAgc3RyaWN0IGRpcnR5LWNoZWNraW5nIGZvciBvYmplY3RzIGFuZCBhcnJheXMgKGFsd2F5cyBjb25zaWRlciB0aGVtIHRvCiAgICAgICAqICAgYmUgImRpcnR5IikuIERlZmF1bHRzIHRvIGZhbHNlLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKiBAdGhpcyB7VGVtcGxhdGl6ZXJVc2VyfQogICAgICAgKi8KICAgICAgdGVtcGxhdGl6ZSh0ZW1wbGF0ZSwgbXV0YWJsZURhdGEpIHsKICAgICAgICB0aGlzLl90ZW1wbGF0aXplclRlbXBsYXRlID0gdGVtcGxhdGU7CiAgICAgICAgdGhpcy5jdG9yID0gUG9seW1lci5UZW1wbGF0aXplLnRlbXBsYXRpemUodGVtcGxhdGUsIHRoaXMsIHsKICAgICAgICAgIG11dGFibGVEYXRhOiBCb29sZWFuKG11dGFibGVEYXRhKSwKICAgICAgICAgIHBhcmVudE1vZGVsOiB0aGlzLl9wYXJlbnRNb2RlbCwKICAgICAgICAgIGluc3RhbmNlUHJvcHM6IHRoaXMuX2luc3RhbmNlUHJvcHMsCiAgICAgICAgICBmb3J3YXJkSG9zdFByb3A6IHRoaXMuX2ZvcndhcmRIb3N0UHJvcFYyLAogICAgICAgICAgbm90aWZ5SW5zdGFuY2VQcm9wOiB0aGlzLl9ub3RpZnlJbnN0YW5jZVByb3BWMgogICAgICAgIH0pOwogICAgICB9LAoKICAgICAgLyoqCiAgICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgdGhlIHRlbXBsYXRlIHByZXBhcmVkIGJ5IGB0ZW1wbGF0aXplYC4gIFRoZSBvYmplY3QKICAgICAgICogcmV0dXJuZWQgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIGFub255bW91cyBjbGFzcyBnZW5lcmF0ZWQgYnkgYHRlbXBsYXRpemVgCiAgICAgICAqIHdob3NlIGByb290YCBwcm9wZXJ0eSBpcyBhIGRvY3VtZW50IGZyYWdtZW50IGNvbnRhaW5pbmcgbmV3bHkgY2xvbmVkCiAgICAgICAqIHRlbXBsYXRlIGNvbnRlbnQsIGFuZCB3aGljaCBoYXMgcHJvcGVydHkgYWNjZXNzb3JzIGNvcnJlc3BvbmRpbmcgdG8KICAgICAgICogcHJvcGVydGllcyByZWZlcmVuY2VkIGluIHRlbXBsYXRlIGJpbmRpbmdzLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge09iamVjdD19IG1vZGVsIE9iamVjdCBjb250YWluaW5nIGluaXRpYWwgcHJvcGVydHkgdmFsdWVzIHRvCiAgICAgICAqICAgcG9wdWxhdGUgaW50byB0aGUgdGVtcGxhdGUgYmluZGluZ3MuCiAgICAgICAqIEByZXR1cm4ge1RlbXBsYXRlSW5zdGFuY2VCYXNlfSBSZXR1cm5zIHRoZSBjcmVhdGVkIGluc3RhbmNlIG9mCiAgICAgICAqIHRoZSB0ZW1wbGF0ZSBwcmVwYXJlZCBieSBgdGVtcGxhdGl6ZWAuCiAgICAgICAqIEB0aGlzIHtUZW1wbGF0aXplclVzZXJ9CiAgICAgICAqLwogICAgICBzdGFtcChtb2RlbCkgewogICAgICAgIHJldHVybiBuZXcgdGhpcy5jdG9yKG1vZGVsKTsKICAgICAgfSwKCiAgICAgIC8qKgogICAgICAgKiBSZXR1cm5zIHRoZSB0ZW1wbGF0ZSAibW9kZWwiIChgVGVtcGxhdGVJbnN0YW5jZWApIGFzc29jaWF0ZWQgd2l0aAogICAgICAgKiBhIGdpdmVuIGVsZW1lbnQsIHdoaWNoIHNlcnZlcyBhcyB0aGUgYmluZGluZyBzY29wZSBmb3IgdGhlIHRlbXBsYXRlCiAgICAgICAqIGluc3RhbmNlIHRoZSBlbGVtZW50IGlzIGNvbnRhaW5lZCBpbi4gIEEgdGVtcGxhdGUgbW9kZWwgc2hvdWxkIGJlIHVzZWQKICAgICAgICogdG8gbWFuaXB1bGF0ZSBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHRlbXBsYXRlIGluc3RhbmNlLgogICAgICAgKgogICAgICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbCBFbGVtZW50IGZvciB3aGljaCB0byByZXR1cm4gYSB0ZW1wbGF0ZSBtb2RlbC4KICAgICAgICogQHJldHVybiB7VGVtcGxhdGVJbnN0YW5jZUJhc2V9IE1vZGVsIHJlcHJlc2VudGluZyB0aGUgYmluZGluZyBzY29wZSBmb3IKICAgICAgICogICB0aGUgZWxlbWVudC4KICAgICAgICogQHRoaXMge1RlbXBsYXRpemVyVXNlcn0KICAgICAgICovCiAgICAgIG1vZGVsRm9yRWxlbWVudChlbCkgewogICAgICAgIHJldHVybiBQb2x5bWVyLlRlbXBsYXRpemUubW9kZWxGb3JFbGVtZW50KHRoaXMuX3RlbXBsYXRpemVyVGVtcGxhdGUsIGVsKTsKICAgICAgfQogICAgfTsKCiAgfSkoKTsKCgoKICAoZnVuY3Rpb24oKSB7CiAgICAndXNlIHN0cmljdCc7CgogICAgLyoqCiAgICAgKiBAY29uc3RydWN0b3IKICAgICAqIEBleHRlbmRzIHtIVE1MRWxlbWVudH0KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX1Byb3BlcnR5RWZmZWN0c30KICAgICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX09wdGlvbmFsTXV0YWJsZURhdGF9CiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9HZXN0dXJlRXZlbnRMaXN0ZW5lcnN9CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBjb25zdCBkb21CaW5kQmFzZSA9CiAgICAgIFBvbHltZXIuR2VzdHVyZUV2ZW50TGlzdGVuZXJzKAogICAgICAgIFBvbHltZXIuT3B0aW9uYWxNdXRhYmxlRGF0YSgKICAgICAgICAgIFBvbHltZXIuUHJvcGVydHlFZmZlY3RzKEhUTUxFbGVtZW50KSkpOwoKICAgIC8qKgogICAgICogQ3VzdG9tIGVsZW1lbnQgdG8gYWxsb3cgdXNpbmcgUG9seW1lcidzIHRlbXBsYXRlIGZlYXR1cmVzIChkYXRhIGJpbmRpbmcsCiAgICAgKiBkZWNsYXJhdGl2ZSBldmVudCBsaXN0ZW5lcnMsIGV0Yy4pIGluIHRoZSBtYWluIGRvY3VtZW50IHdpdGhvdXQgZGVmaW5pbmcKICAgICAqIGEgbmV3IGN1c3RvbSBlbGVtZW50LgogICAgICoKICAgICAqIGA8dGVtcGxhdGU+YCB0YWdzIHV0aWxpemluZyBiaW5kaW5ncyBtYXkgYmUgd3JhcHBlZCB3aXRoIHRoZSBgPGRvbS1iaW5kPmAKICAgICAqIGVsZW1lbnQsIHdoaWNoIHdpbGwgaW1tZWRpYXRlbHkgc3RhbXAgdGhlIHdyYXBwZWQgdGVtcGxhdGUgaW50byB0aGUgbWFpbgogICAgICogZG9jdW1lbnQgYW5kIGJpbmQgZWxlbWVudHMgdG8gdGhlIGBkb20tYmluZGAgZWxlbWVudCBpdHNlbGYgYXMgdGhlCiAgICAgKiBiaW5kaW5nIHNjb3BlLgogICAgICoKICAgICAqIEBwb2x5bWVyCiAgICAgKiBAY3VzdG9tRWxlbWVudAogICAgICogQGFwcGxpZXNNaXhpbiBQb2x5bWVyLlByb3BlcnR5RWZmZWN0cwogICAgICogQGFwcGxpZXNNaXhpbiBQb2x5bWVyLk9wdGlvbmFsTXV0YWJsZURhdGEKICAgICAqIEBhcHBsaWVzTWl4aW4gUG9seW1lci5HZXN0dXJlRXZlbnRMaXN0ZW5lcnMKICAgICAqIEBleHRlbmRzIHtkb21CaW5kQmFzZX0KICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICAgKiBAc3VtbWFyeSBDdXN0b20gZWxlbWVudCB0byBhbGxvdyB1c2luZyBQb2x5bWVyJ3MgdGVtcGxhdGUgZmVhdHVyZXMgKGRhdGEKICAgICAqICAgYmluZGluZywgZGVjbGFyYXRpdmUgZXZlbnQgbGlzdGVuZXJzLCBldGMuKSBpbiB0aGUgbWFpbiBkb2N1bWVudC4KICAgICAqLwogICAgY2xhc3MgRG9tQmluZCBleHRlbmRzIGRvbUJpbmRCYXNlIHsKCiAgICAgIHN0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCkgeyByZXR1cm4gWydtdXRhYmxlLWRhdGEnXTsgfQoKICAgICAgY29uc3RydWN0b3IoKSB7CiAgICAgICAgc3VwZXIoKTsKICAgICAgICBpZiAoUG9seW1lci5zdHJpY3RUZW1wbGF0ZVBvbGljeSkgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBzdHJpY3RUZW1wbGF0ZVBvbGljeTogZG9tLWJpbmQgbm90IGFsbG93ZWRgKTsKICAgICAgICB9CiAgICAgICAgdGhpcy5yb290ID0gbnVsbDsKICAgICAgICB0aGlzLiQgPSBudWxsOwogICAgICAgIHRoaXMuX19jaGlsZHJlbiA9IG51bGw7CiAgICAgIH0KCiAgICAgIC8qKiBAcmV0dXJuIHt2b2lkfSAqLwogICAgICBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soKSB7CiAgICAgICAgLy8gYXNzdW1lcyBvbmx5IG9uZSBvYnNlcnZlZCBhdHRyaWJ1dGUKICAgICAgICB0aGlzLm11dGFibGVEYXRhID0gdHJ1ZTsKICAgICAgfQoKICAgICAgLyoqIEByZXR1cm4ge3ZvaWR9ICovCiAgICAgIGNvbm5lY3RlZENhbGxiYWNrKCkgewogICAgICAgIHRoaXMuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICB0aGlzLnJlbmRlcigpOwogICAgICB9CgogICAgICAvKiogQHJldHVybiB7dm9pZH0gKi8KICAgICAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7CiAgICAgICAgdGhpcy5fX3JlbW92ZUNoaWxkcmVuKCk7CiAgICAgIH0KCiAgICAgIF9faW5zZXJ0Q2hpbGRyZW4oKSB7CiAgICAgICAgdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLnJvb3QsIHRoaXMpOwogICAgICB9CgogICAgICBfX3JlbW92ZUNoaWxkcmVuKCkgewogICAgICAgIGlmICh0aGlzLl9fY2hpbGRyZW4pIHsKICAgICAgICAgIGZvciAobGV0IGk9MDsgaTx0aGlzLl9fY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdGhpcy5yb290LmFwcGVuZENoaWxkKHRoaXMuX19jaGlsZHJlbltpXSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogRm9yY2VzIHRoZSBlbGVtZW50IHRvIHJlbmRlciBpdHMgY29udGVudC4gVGhpcyBpcyB0eXBpY2FsbHkgb25seQogICAgICAgKiBuZWNlc3NhcnkgdG8gY2FsbCBpZiBIVE1MSW1wb3J0cyB3aXRoIHRoZSBhc3luYyBhdHRyaWJ1dGUgYXJlIHVzZWQuCiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICByZW5kZXIoKSB7CiAgICAgICAgbGV0IHRlbXBsYXRlOwogICAgICAgIGlmICghdGhpcy5fX2NoaWxkcmVuKSB7CiAgICAgICAgICB0ZW1wbGF0ZSA9IC8qKiBAdHlwZSB7SFRNTFRlbXBsYXRlRWxlbWVudH0gKi8odGVtcGxhdGUgfHwgdGhpcy5xdWVyeVNlbGVjdG9yKCd0ZW1wbGF0ZScpKTsKICAgICAgICAgIGlmICghdGVtcGxhdGUpIHsKICAgICAgICAgICAgLy8gV2FpdCB1bnRpbCBjaGlsZExpc3QgY2hhbmdlcyBhbmQgdGVtcGxhdGUgc2hvdWxkIGJlIHRoZXJlIGJ5IHRoZW4KICAgICAgICAgICAgbGV0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gewogICAgICAgICAgICAgIHRlbXBsYXRlID0gLyoqIEB0eXBlIHtIVE1MVGVtcGxhdGVFbGVtZW50fSAqLyh0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3RlbXBsYXRlJykpOwogICAgICAgICAgICAgIGlmICh0ZW1wbGF0ZSkgewogICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOwogICAgICAgICAgICAgICAgdGhpcy5yZW5kZXIoKTsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdkb20tYmluZCByZXF1aXJlcyBhIDx0ZW1wbGF0ZT4gY2hpbGQnKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRoaXMsIHtjaGlsZExpc3Q6IHRydWV9KTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQogICAgICAgICAgdGhpcy5yb290ID0gdGhpcy5fc3RhbXBUZW1wbGF0ZSh0ZW1wbGF0ZSk7CiAgICAgICAgICB0aGlzLiQgPSB0aGlzLnJvb3QuJDsKICAgICAgICAgIHRoaXMuX19jaGlsZHJlbiA9IFtdOwogICAgICAgICAgZm9yIChsZXQgbj10aGlzLnJvb3QuZmlyc3RDaGlsZDsgbjsgbj1uLm5leHRTaWJsaW5nKSB7CiAgICAgICAgICAgIHRoaXMuX19jaGlsZHJlblt0aGlzLl9fY2hpbGRyZW4ubGVuZ3RoXSA9IG47CiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLl9lbmFibGVQcm9wZXJ0aWVzKCk7CiAgICAgICAgfQogICAgICAgIHRoaXMuX19pbnNlcnRDaGlsZHJlbigpOwogICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2RvbS1jaGFuZ2UnLCB7CiAgICAgICAgICBidWJibGVzOiB0cnVlLAogICAgICAgICAgY29tcG9zZWQ6IHRydWUKICAgICAgICB9KSk7CiAgICAgIH0KCiAgICB9CgogICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdkb20tYmluZCcsIERvbUJpbmQpOwoKICAgIC8qKiBAY29uc3QgKi8KICAgIFBvbHltZXIuRG9tQmluZCA9IERvbUJpbmQ7CgogIH0pKCk7CgoKCiAgKGZ1bmN0aW9uKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8qKgogICAgICogQ2xhc3MgcmVwcmVzZW50aW5nIGEgc3RhdGljIHN0cmluZyB2YWx1ZSB3aGljaCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIKICAgICAqIHN0cmluZ3MgYnkgYXNzZXRpbmcgdGhhdCB0aGV5IGhhdmUgYmVlbiBjcmVhdGVkIHZpYSB0aGlzIGNsYXNzLiBUaGUKICAgICAqIGB2YWx1ZWAgcHJvcGVydHkgcmV0dXJucyB0aGUgc3RyaW5nIHBhc3NlZCB0byB0aGUgY29uc3RydWN0b3IuCiAgICAgKi8KICAgIGNsYXNzIExpdGVyYWxTdHJpbmcgewogICAgICBjb25zdHJ1Y3RvcihzdHJpbmcpIHsKICAgICAgICAvKiogQHR5cGUge3N0cmluZ30gKi8KICAgICAgICB0aGlzLnZhbHVlID0gc3RyaW5nLnRvU3RyaW5nKCk7CiAgICAgIH0KICAgICAgLyoqCiAgICAgICAqIEByZXR1cm4ge3N0cmluZ30gTGl0ZXJhbFN0cmluZyBzdHJpbmcgdmFsdWUKICAgICAgICovCiAgICAgIHRvU3RyaW5nKCkgewogICAgICAgIHJldHVybiB0aGlzLnZhbHVlOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIE9iamVjdCB0byBzdHJpbmdpZnkgaW50byBIVE1MCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IEhUTUwgc3RyaW5naWZpZWQgZm9ybSBvZiBgb2JqYAogICAgICovCiAgICBmdW5jdGlvbiBsaXRlcmFsVmFsdWUodmFsdWUpIHsKICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTGl0ZXJhbFN0cmluZykgewogICAgICAgIHJldHVybiAvKiogQHR5cGUgeyFMaXRlcmFsU3RyaW5nfSAqLyh2YWx1ZSkudmFsdWU7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBub24tbGl0ZXJhbCB2YWx1ZSBwYXNzZWQgdG8gUG9seW1lci5odG1sTGl0ZXJhbDogJHt2YWx1ZX1gKTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQHBhcmFtIHsqfSB2YWx1ZSBPYmplY3QgdG8gc3RyaW5naWZ5IGludG8gSFRNTAogICAgICogQHJldHVybiB7c3RyaW5nfSBIVE1MIHN0cmluZ2lmaWVkIGZvcm0gb2YgYG9iamAKICAgICAqLwogICAgZnVuY3Rpb24gaHRtbFZhbHVlKHZhbHVlKSB7CiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEhUTUxUZW1wbGF0ZUVsZW1lbnQpIHsKICAgICAgICByZXR1cm4gLyoqIEB0eXBlIHshSFRNTFRlbXBsYXRlRWxlbWVudCB9ICovKHZhbHVlKS5pbm5lckhUTUw7CiAgICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBMaXRlcmFsU3RyaW5nKSB7CiAgICAgICAgcmV0dXJuIGxpdGVyYWxWYWx1ZSh2YWx1ZSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBub24tdGVtcGxhdGUgdmFsdWUgcGFzc2VkIHRvIFBvbHltZXIuaHRtbDogJHt2YWx1ZX1gKTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQSB0ZW1wbGF0ZSBsaXRlcmFsIHRhZyB0aGF0IGNyZWF0ZXMgYW4gSFRNTCA8dGVtcGxhdGU+IGVsZW1lbnQgZnJvbSB0aGUKICAgICAqIGNvbnRlbnRzIG9mIHRoZSBzdHJpbmcuCiAgICAgKgogICAgICogVGhpcyBhbGxvd3MgeW91IHRvIHdyaXRlIGEgUG9seW1lciBUZW1wbGF0ZSBpbiBKYXZhU2NyaXB0LgogICAgICoKICAgICAqIFRlbXBsYXRlcyBjYW4gYmUgY29tcG9zZWQgYnkgaW50ZXJwb2xhdGluZyBgSFRNTFRlbXBsYXRlRWxlbWVudGBzIGluCiAgICAgKiBleHByZXNzaW9ucyBpbiB0aGUgSmF2YVNjcmlwdCB0ZW1wbGF0ZSBsaXRlcmFsLiBUaGUgbmVzdGVkIHRlbXBsYXRlJ3MKICAgICAqIGBpbm5lckhUTUxgIGlzIGluY2x1ZGVkIGluIHRoZSBjb250YWluaW5nIHRlbXBsYXRlLiAgVGhlIG9ubHkgb3RoZXIKICAgICAqIHZhbHVlcyBhbGxvd2VkIGluIGV4cHJlc3Npb25zIGFyZSB0aG9zZSByZXR1cm5lZCBmcm9tIGBQb2x5bWVyLmh0bWxMaXRlcmFsYAogICAgICogd2hpY2ggZW5zdXJlcyBvbmx5IGxpdGVyYWwgdmFsdWVzIGZyb20gSlMgc291cmNlIGV2ZXIgcmVhY2ggdGhlIEhUTUwsIHRvCiAgICAgKiBndWFyZCBhZ2FpbnN0IFhTUyByaXNrcy4KICAgICAqCiAgICAgKiBBbGwgb3RoZXIgdmFsdWVzIGFyZSBkaXNhbGxvd2VkIGluIGV4cHJlc3Npb25zIHRvIGhlbHAgcHJldmVudCBYU1MKICAgICAqIGF0dGFja3M7IGhvd2V2ZXIsIGBQb2x5bWVyLmh0bWxMaXRlcmFsYCBjYW4gYmUgdXNlZCB0byBjb21wb3NlIHN0YXRpYwogICAgICogc3RyaW5nIHZhbHVlcyBpbnRvIHRlbXBsYXRlcy4gVGhpcyBpcyB1c2VmdWwgdG8gY29tcG9zZSBzdHJpbmdzIGludG8KICAgICAqIHBsYWNlcyB0aGF0IGRvIG5vdCBhY2NlcHQgaHRtbCwgbGlrZSB0aGUgY3NzIHRleHQgb2YgYSBgc3R5bGVgCiAgICAgKiBlbGVtZW50LgogICAgICoKICAgICAqIEV4YW1wbGU6CiAgICAgKgogICAgICogICAgIHN0YXRpYyBnZXQgdGVtcGxhdGUoKSB7CiAgICAgKiAgICAgICByZXR1cm4gUG9seW1lci5odG1sYAogICAgICogICAgICAgICA8c3R5bGU+Omhvc3R7IGNvbnRlbnQ6Ii4uLiIgfTwvc3R5bGU+CiAgICAgKiAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRvd2VkIj4ke3RoaXMucGFydGlhbFRlbXBsYXRlfTwvZGl2PgogICAgICogICAgICAgICAke3N1cGVyLnRlbXBsYXRlfQogICAgICogICAgICAgYDsKICAgICAqICAgICB9CiAgICAgKiAgICAgc3RhdGljIGdldCBwYXJ0aWFsVGVtcGxhdGUoKSB7IHJldHVybiBQb2x5bWVyLmh0bWxgPHNwYW4+UGFydGlhbCE8L3NwYW4+YDsgfQogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICAgKiBAcGFyYW0geyFJVGVtcGxhdGVBcnJheX0gc3RyaW5ncyBDb25zdGFudCBwYXJ0cyBvZiB0YWdnZWQgdGVtcGxhdGUgbGl0ZXJhbAogICAgICogQHBhcmFtIHsuLi4qfSB2YWx1ZXMgVmFyaWFibGUgcGFydHMgb2YgdGFnZ2VkIHRlbXBsYXRlIGxpdGVyYWwKICAgICAqIEByZXR1cm4geyFIVE1MVGVtcGxhdGVFbGVtZW50fSBDb25zdHJ1Y3RlZCBIVE1MVGVtcGxhdGVFbGVtZW50CiAgICAgKi8KICAgIFBvbHltZXIuaHRtbCA9IGZ1bmN0aW9uIGh0bWwoc3RyaW5ncywgLi4udmFsdWVzKSB7CiAgICAgIGNvbnN0IHRlbXBsYXRlID0gLyoqIEB0eXBlIHshSFRNTFRlbXBsYXRlRWxlbWVudH0gKi8oZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGVtcGxhdGUnKSk7CiAgICAgIHRlbXBsYXRlLmlubmVySFRNTCA9IHZhbHVlcy5yZWR1Y2UoKGFjYywgdiwgaWR4KSA9PgogICAgICAgICAgYWNjICsgaHRtbFZhbHVlKHYpICsgc3RyaW5nc1tpZHggKyAxXSwgc3RyaW5nc1swXSk7CiAgICAgIHJldHVybiB0ZW1wbGF0ZTsKICAgIH07CgogICAgLyoqCiAgICAgKiBBbiBodG1sIGxpdGVyYWwgdGFnIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBgUG9seW1lci5odG1sYCB0byBjb21wb3NlLgogICAgICogYSBsaXRlcmFsIHN0cmluZy4KICAgICAqCiAgICAgKiBFeGFtcGxlOgogICAgICoKICAgICAqICAgICBzdGF0aWMgZ2V0IHRlbXBsYXRlKCkgewogICAgICogICAgICAgcmV0dXJuIFBvbHltZXIuaHRtbGAKICAgICAqICAgICAgICAgPHN0eWxlPgogICAgICogICAgICAgICAgIDpob3N0IHsgZGlzcGxheTogYmxvY2s7IH0KICAgICAqICAgICAgICAgICAke3N0eWxlVGVtcGxhdGV9CiAgICAgKiAgICAgICAgIDwvc3R5bGU+CiAgICAgKiAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRvd2VkIj4ke3N0YXRpY1ZhbHVlfTwvZGl2PgogICAgICogICAgICAgICAke3N1cGVyLnRlbXBsYXRlfQogICAgICogICAgICAgYDsKICAgICAqICAgICB9CiAgICAgKiAgICAgc3RhdGljIGdldCBzdHlsZVRlbXBsYXRlKCkgeyByZXR1cm4gUG9seW1lci5odG1sTGl0ZXJhbGAuc2hhZG93ZWQgeyBiYWNrZ3JvdW5kOiBncmF5OyB9YDsgfQogICAgICoKICAgICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICAgKiBAcGFyYW0geyFJVGVtcGxhdGVBcnJheX0gc3RyaW5ncyBDb25zdGFudCBwYXJ0cyBvZiB0YWdnZWQgdGVtcGxhdGUgbGl0ZXJhbAogICAgICogQHBhcmFtIHsuLi4qfSB2YWx1ZXMgVmFyaWFibGUgcGFydHMgb2YgdGFnZ2VkIHRlbXBsYXRlIGxpdGVyYWwKICAgICAqIEByZXR1cm4geyFMaXRlcmFsU3RyaW5nfSBDb25zdHJ1Y3RlZCBsaXRlcmFsIHN0cmluZwogICAgICovCiAgICBQb2x5bWVyLmh0bWxMaXRlcmFsID0gZnVuY3Rpb24oc3RyaW5ncywgLi4udmFsdWVzKSB7CiAgICAgIHJldHVybiBuZXcgTGl0ZXJhbFN0cmluZyh2YWx1ZXMucmVkdWNlKChhY2MsIHYsIGlkeCkgPT4KICAgICAgICAgIGFjYyArIGxpdGVyYWxWYWx1ZSh2KSArIHN0cmluZ3NbaWR4ICsgMV0sIHN0cmluZ3NbMF0pKTsKICAgIH07CiAgfSkoKTsKCgooZnVuY3Rpb24oKSB7CiAgJ3VzZSBzdHJpY3QnOwoKICAvKioKICAgKiBCYXNlIGNsYXNzIHRoYXQgcHJvdmlkZXMgdGhlIGNvcmUgQVBJIGZvciBQb2x5bWVyJ3MgbWV0YS1wcm9ncmFtbWluZwogICAqIGZlYXR1cmVzIGluY2x1ZGluZyB0ZW1wbGF0ZSBzdGFtcGluZywgZGF0YS1iaW5kaW5nLCBhdHRyaWJ1dGUgZGVzZXJpYWxpemF0aW9uLAogICAqIGFuZCBwcm9wZXJ0eSBjaGFuZ2Ugb2JzZXJ2YXRpb24uCiAgICoKICAgKiBAY3VzdG9tRWxlbWVudAogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQGNvbnN0cnVjdG9yCiAgICogQGltcGxlbWVudHMge1BvbHltZXJfRWxlbWVudE1peGlufQogICAqIEBleHRlbmRzIHtIVE1MRWxlbWVudH0KICAgKiBAYXBwbGllc01peGluIFBvbHltZXIuRWxlbWVudE1peGluCiAgICogQHN1bW1hcnkgQ3VzdG9tIGVsZW1lbnQgYmFzZSBjbGFzcyB0aGF0IHByb3ZpZGVzIHRoZSBjb3JlIEFQSSBmb3IgUG9seW1lcidzCiAgICogICBrZXkgbWV0YS1wcm9ncmFtbWluZyBmZWF0dXJlcyBpbmNsdWRpbmcgdGVtcGxhdGUgc3RhbXBpbmcsIGRhdGEtYmluZGluZywKICAgKiAgIGF0dHJpYnV0ZSBkZXNlcmlhbGl6YXRpb24sIGFuZCBwcm9wZXJ0eSBjaGFuZ2Ugb2JzZXJ2YXRpb24KICAgKi8KICBQb2x5bWVyLkVsZW1lbnQgPSBQb2x5bWVyLkVsZW1lbnRNaXhpbihIVE1MRWxlbWVudCk7CgogIC8vIE5PVEU6IHRoaXMgaXMgaGVyZSBmb3IgbW9kdWxpemVyIHRvIGV4cG9ydCBgaHRtbGAgZm9yIHRoZSBtb2R1bGUgdmVyc2lvbiBvZiB0aGlzIGZpbGUKICBQb2x5bWVyLmh0bWwgPSBQb2x5bWVyLmh0bWw7Cn0pKCk7CgoKKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgbGV0IFRlbXBsYXRlSW5zdGFuY2VCYXNlID0gUG9seW1lci5UZW1wbGF0ZUluc3RhbmNlQmFzZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZQoKICAvKioKICAgKiBAY29uc3RydWN0b3IKICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9PcHRpb25hbE11dGFibGVEYXRhfQogICAqIEBleHRlbmRzIHtQb2x5bWVyLkVsZW1lbnR9CiAgICogQHByaXZhdGUKICAgKi8KICBjb25zdCBkb21SZXBlYXRCYXNlID0gUG9seW1lci5PcHRpb25hbE11dGFibGVEYXRhKFBvbHltZXIuRWxlbWVudCk7CgogIC8qKgogICAqIFRoZSBgPGRvbS1yZXBlYXQ+YCBlbGVtZW50IHdpbGwgYXV0b21hdGljYWxseSBzdGFtcCBhbmQgYmluZHMgb25lIGluc3RhbmNlCiAgICogb2YgdGVtcGxhdGUgY29udGVudCB0byBlYWNoIG9iamVjdCBpbiBhIHVzZXItcHJvdmlkZWQgYXJyYXkuCiAgICogYGRvbS1yZXBlYXRgIGFjY2VwdHMgYW4gYGl0ZW1zYCBwcm9wZXJ0eSwgYW5kIG9uZSBpbnN0YW5jZSBvZiB0aGUgdGVtcGxhdGUKICAgKiBpcyBzdGFtcGVkIGZvciBlYWNoIGl0ZW0gaW50byB0aGUgRE9NIGF0IHRoZSBsb2NhdGlvbiBvZiB0aGUgYGRvbS1yZXBlYXRgCiAgICogZWxlbWVudC4gIFRoZSBgaXRlbWAgcHJvcGVydHkgd2lsbCBiZSBzZXQgb24gZWFjaCBpbnN0YW5jZSdzIGJpbmRpbmcKICAgKiBzY29wZSwgdGh1cyB0ZW1wbGF0ZXMgc2hvdWxkIGJpbmQgdG8gc3ViLXByb3BlcnRpZXMgb2YgYGl0ZW1gLgogICAqCiAgICogRXhhbXBsZToKICAgKgogICAqIGBgYGh0bWwKICAgKiA8ZG9tLW1vZHVsZSBpZD0iZW1wbG95ZWUtbGlzdCI+CiAgICoKICAgKiAgIDx0ZW1wbGF0ZT4KICAgKgogICAqICAgICA8ZGl2PiBFbXBsb3llZSBsaXN0OiA8L2Rpdj4KICAgKiAgICAgPGRvbS1yZXBlYXQgaXRlbXM9Int7ZW1wbG95ZWVzfX0iPgogICAqICAgICAgIDx0ZW1wbGF0ZT4KICAgKiAgICAgICAgIDxkaXY+Rmlyc3QgbmFtZTogPHNwYW4+e3tpdGVtLmZpcnN0fX08L3NwYW4+PC9kaXY+CiAgICogICAgICAgICA8ZGl2Pkxhc3QgbmFtZTogPHNwYW4+e3tpdGVtLmxhc3R9fTwvc3Bhbj48L2Rpdj4KICAgKiAgICAgICA8L3RlbXBsYXRlPgogICAqICAgICA8L2RvbS1yZXBlYXQ+CiAgICoKICAgKiAgIDwvdGVtcGxhdGU+CiAgICoKICAgKiA8L2RvbS1tb2R1bGU+CiAgICogYGBgCiAgICoKICAgKiBXaXRoIHRoZSBmb2xsb3dpbmcgY3VzdG9tIGVsZW1lbnQgZGVmaW5pdGlvbjoKICAgKgogICAqIGBgYGpzCiAgICogY2xhc3MgRW1wbG95ZWVMaXN0IGV4dGVuZHMgUG9seW1lci5FbGVtZW50IHsKICAgKiAgIHN0YXRpYyBnZXQgaXMoKSB7IHJldHVybiAnZW1wbG95ZWUtbGlzdCc7IH0KICAgKiAgIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHsKICAgKiAgICAgcmV0dXJuIHsKICAgKiAgICAgICBlbXBsb3llZXM6IHsKICAgKiAgICAgICAgIHZhbHVlKCkgewogICAqICAgICAgICAgICByZXR1cm4gWwogICAqICAgICAgICAgICAgIHtmaXJzdDogJ0JvYicsIGxhc3Q6ICdTbWl0aCd9LAogICAqICAgICAgICAgICAgIHtmaXJzdDogJ1NhbGx5JywgbGFzdDogJ0pvaG5zb24nfSwKICAgKiAgICAgICAgICAgICAuLi4KICAgKiAgICAgICAgICAgXTsKICAgKiAgICAgICAgIH0KICAgKiAgICAgICB9CiAgICogICAgIH07CiAgICogICB9CiAgICogfQogICAqIGBgYAogICAqCiAgICogTm90aWZpY2F0aW9ucyBmb3IgY2hhbmdlcyB0byBpdGVtcyBzdWItcHJvcGVydGllcyB3aWxsIGJlIGZvcndhcmRlZCB0byB0ZW1wbGF0ZQogICAqIGluc3RhbmNlcywgd2hpY2ggd2lsbCB1cGRhdGUgdmlhIHRoZSBub3JtYWwgc3RydWN0dXJlZCBkYXRhIG5vdGlmaWNhdGlvbiBzeXN0ZW0uCiAgICoKICAgKiBNdXRhdGlvbnMgdG8gdGhlIGBpdGVtc2AgYXJyYXkgaXRzZWxmIHNob3VsZCBiZSBtYWRlIHVzaW5nIHRoZSBBcnJheQogICAqIG11dGF0aW9uIEFQSSdzIG9uIGBQb2x5bWVyLkJhc2VgIChgcHVzaGAsIGBwb3BgLCBgc3BsaWNlYCwgYHNoaWZ0YCwKICAgKiBgdW5zaGlmdGApLCBhbmQgdGVtcGxhdGUgaW5zdGFuY2VzIHdpbGwgYmUga2VwdCBpbiBzeW5jIHdpdGggdGhlIGRhdGEgaW4gdGhlCiAgICogYXJyYXkuCiAgICoKICAgKiBFdmVudHMgY2F1Z2h0IGJ5IGV2ZW50IGhhbmRsZXJzIHdpdGhpbiB0aGUgYGRvbS1yZXBlYXRgIHRlbXBsYXRlIHdpbGwgYmUKICAgKiBkZWNvcmF0ZWQgd2l0aCBhIGBtb2RlbGAgcHJvcGVydHksIHdoaWNoIHJlcHJlc2VudHMgdGhlIGJpbmRpbmcgc2NvcGUgZm9yCiAgICogZWFjaCB0ZW1wbGF0ZSBpbnN0YW5jZS4gIFRoZSBtb2RlbCBpcyBhbiBpbnN0YW5jZSBvZiBQb2x5bWVyLkJhc2UsIGFuZCBzaG91bGQKICAgKiBiZSB1c2VkIHRvIG1hbmlwdWxhdGUgZGF0YSBvbiB0aGUgaW5zdGFuY2UsIGZvciBleGFtcGxlCiAgICogYGV2ZW50Lm1vZGVsLnNldCgnaXRlbS5jaGVja2VkJywgdHJ1ZSk7YC4KICAgKgogICAqIEFsdGVybmF0aXZlbHksIHRoZSBtb2RlbCBmb3IgYSB0ZW1wbGF0ZSBpbnN0YW5jZSBmb3IgYW4gZWxlbWVudCBzdGFtcGVkIGJ5CiAgICogYSBgZG9tLXJlcGVhdGAgY2FuIGJlIG9idGFpbmVkIHVzaW5nIHRoZSBgbW9kZWxGb3JFbGVtZW50YCBBUEkgb24gdGhlCiAgICogYGRvbS1yZXBlYXRgIHRoYXQgc3RhbXBlZCBpdCwgZm9yIGV4YW1wbGUKICAgKiBgdGhpcy4kLmRvbVJlcGVhdC5tb2RlbEZvckVsZW1lbnQoZXZlbnQudGFyZ2V0KS5zZXQoJ2l0ZW0uY2hlY2tlZCcsIHRydWUpO2AuCiAgICogVGhpcyBtYXkgYmUgdXNlZnVsIGZvciBtYW5pcHVsYXRpbmcgaW5zdGFuY2UgZGF0YSBvZiBldmVudCB0YXJnZXRzIG9idGFpbmVkCiAgICogYnkgZXZlbnQgaGFuZGxlcnMgb24gcGFyZW50cyBvZiB0aGUgYGRvbS1yZXBlYXRgIChldmVudCBkZWxlZ2F0aW9uKS4KICAgKgogICAqIEEgdmlldy1zcGVjaWZpYyBmaWx0ZXIvc29ydCBtYXkgYmUgYXBwbGllZCB0byBlYWNoIGBkb20tcmVwZWF0YCBieSBzdXBwbHlpbmcgYQogICAqIGBmaWx0ZXJgIGFuZC9vciBgc29ydGAgcHJvcGVydHkuICBUaGlzIG1heSBiZSBhIHN0cmluZyB0aGF0IG5hbWVzIGEgZnVuY3Rpb24gb24KICAgKiB0aGUgaG9zdCwgb3IgYSBmdW5jdGlvbiBtYXkgYmUgYXNzaWduZWQgdG8gdGhlIHByb3BlcnR5IGRpcmVjdGx5LiAgVGhlIGZ1bmN0aW9ucwogICAqIHNob3VsZCBpbXBsZW1lbnRlZCBmb2xsb3dpbmcgdGhlIHN0YW5kYXJkIGBBcnJheWAgZmlsdGVyL3NvcnQgQVBJLgogICAqCiAgICogSW4gb3JkZXIgdG8gcmUtcnVuIHRoZSBmaWx0ZXIgb3Igc29ydCBmdW5jdGlvbnMgYmFzZWQgb24gY2hhbmdlcyB0byBzdWItZmllbGRzCiAgICogb2YgYGl0ZW1zYCwgdGhlIGBvYnNlcnZlYCBwcm9wZXJ0eSBtYXkgYmUgc2V0IGFzIGEgc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YKICAgKiBgaXRlbWAgc3ViLWZpZWxkcyB0aGF0IHNob3VsZCBjYXVzZSBhIHJlLWZpbHRlci9zb3J0IHdoZW4gbW9kaWZpZWQuICBJZgogICAqIHRoZSBmaWx0ZXIgb3Igc29ydCBmdW5jdGlvbiBkZXBlbmRzIG9uIHByb3BlcnRpZXMgbm90IGNvbnRhaW5lZCBpbiBgaXRlbXNgLAogICAqIHRoZSB1c2VyIHNob3VsZCBvYnNlcnZlIGNoYW5nZXMgdG8gdGhvc2UgcHJvcGVydGllcyBhbmQgY2FsbCBgcmVuZGVyYCB0byB1cGRhdGUKICAgKiB0aGUgdmlldyBiYXNlZCBvbiB0aGUgZGVwZW5kZW5jeSBjaGFuZ2UuCiAgICoKICAgKiBGb3IgZXhhbXBsZSwgZm9yIGFuIGBkb20tcmVwZWF0YCB3aXRoIGEgZmlsdGVyIG9mIHRoZSBmb2xsb3dpbmc6CiAgICoKICAgKiBgYGBqcwogICAqIGlzRW5naW5lZXIoaXRlbSkgewogICAqICAgcmV0dXJuIGl0ZW0udHlwZSA9PSAnZW5naW5lZXInIHx8IGl0ZW0ubWFuYWdlci50eXBlID09ICdlbmdpbmVlcic7CiAgICogfQogICAqIGBgYAogICAqCiAgICogVGhlbiB0aGUgYG9ic2VydmVgIHByb3BlcnR5IHNob3VsZCBiZSBjb25maWd1cmVkIGFzIGZvbGxvd3M6CiAgICoKICAgKiBgYGBodG1sCiAgICogPGRvbS1yZXBlYXQgaXRlbXM9Int7ZW1wbG95ZWVzfX0iIGZpbHRlcj0iaXNFbmdpbmVlciIgb2JzZXJ2ZT0idHlwZSBtYW5hZ2VyLnR5cGUiPgogICAqIGBgYAogICAqCiAgICogQGN1c3RvbUVsZW1lbnQKICAgKiBAcG9seW1lcgogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQGV4dGVuZHMge2RvbVJlcGVhdEJhc2V9CiAgICogQGFwcGxpZXNNaXhpbiBQb2x5bWVyLk9wdGlvbmFsTXV0YWJsZURhdGEKICAgKiBAc3VtbWFyeSBDdXN0b20gZWxlbWVudCBmb3Igc3RhbXBpbmcgaW5zdGFuY2Ugb2YgYSB0ZW1wbGF0ZSBib3VuZCB0bwogICAqICAgaXRlbXMgaW4gYW4gYXJyYXkuCiAgICovCiAgY2xhc3MgRG9tUmVwZWF0IGV4dGVuZHMgZG9tUmVwZWF0QmFzZSB7CgogICAgLy8gTm90IG5lZWRlZCB0byBmaW5kIHRlbXBsYXRlOyBjYW4gYmUgcmVtb3ZlZCBvbmNlIHRoZSBhbmFseXplcgogICAgLy8gY2FuIGZpbmQgdGhlIHRhZyBuYW1lIGZyb20gY3VzdG9tRWxlbWVudHMuZGVmaW5lIGNhbGwKICAgIHN0YXRpYyBnZXQgaXMoKSB7IHJldHVybiAnZG9tLXJlcGVhdCc7IH0KCiAgICBzdGF0aWMgZ2V0IHRlbXBsYXRlKCkgeyByZXR1cm4gbnVsbDsgfQoKICAgIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHsKCiAgICAgIC8qKgogICAgICAgKiBGaXJlZCB3aGVuZXZlciBET00gaXMgYWRkZWQgb3IgcmVtb3ZlZCBieSB0aGlzIHRlbXBsYXRlIChieQogICAgICAgKiBkZWZhdWx0LCByZW5kZXJpbmcgb2NjdXJzIGxhemlseSkuICBUbyBmb3JjZSBpbW1lZGlhdGUgcmVuZGVyaW5nLCBjYWxsCiAgICAgICAqIGByZW5kZXJgLgogICAgICAgKgogICAgICAgKiBAZXZlbnQgZG9tLWNoYW5nZQogICAgICAgKi8KICAgICAgcmV0dXJuIHsKCiAgICAgICAgLyoqCiAgICAgICAgICogQW4gYXJyYXkgY29udGFpbmluZyBpdGVtcyBkZXRlcm1pbmluZyBob3cgbWFueSBpbnN0YW5jZXMgb2YgdGhlIHRlbXBsYXRlCiAgICAgICAgICogdG8gc3RhbXAgYW5kIHRoYXQgdGhhdCBlYWNoIHRlbXBsYXRlIGluc3RhbmNlIHNob3VsZCBiaW5kIHRvLgogICAgICAgICAqLwogICAgICAgIGl0ZW1zOiB7CiAgICAgICAgICB0eXBlOiBBcnJheQogICAgICAgIH0sCgogICAgICAgIC8qKgogICAgICAgICAqIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB0byBhZGQgdG8gdGhlIGJpbmRpbmcgc2NvcGUgZm9yIHRoZSBhcnJheQogICAgICAgICAqIGVsZW1lbnQgYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4gdGVtcGxhdGUgaW5zdGFuY2UuCiAgICAgICAgICovCiAgICAgICAgYXM6IHsKICAgICAgICAgIHR5cGU6IFN0cmluZywKICAgICAgICAgIHZhbHVlOiAnaXRlbScKICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBUaGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdG8gYWRkIHRvIHRoZSBiaW5kaW5nIHNjb3BlIHdpdGggdGhlIGluZGV4CiAgICAgICAgICogb2YgdGhlIGluc3RhbmNlIGluIHRoZSBzb3J0ZWQgYW5kIGZpbHRlcmVkIGxpc3Qgb2YgcmVuZGVyZWQgaXRlbXMuCiAgICAgICAgICogTm90ZSwgZm9yIHRoZSBpbmRleCBpbiB0aGUgYHRoaXMuaXRlbXNgIGFycmF5LCB1c2UgdGhlIHZhbHVlIG9mIHRoZQogICAgICAgICAqIGBpdGVtc0luZGV4QXNgIHByb3BlcnR5LgogICAgICAgICAqLwogICAgICAgIGluZGV4QXM6IHsKICAgICAgICAgIHR5cGU6IFN0cmluZywKICAgICAgICAgIHZhbHVlOiAnaW5kZXgnCiAgICAgICAgfSwKCiAgICAgICAgLyoqCiAgICAgICAgICogVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRvIGFkZCB0byB0aGUgYmluZGluZyBzY29wZSB3aXRoIHRoZSBpbmRleAogICAgICAgICAqIG9mIHRoZSBpbnN0YW5jZSBpbiB0aGUgYHRoaXMuaXRlbXNgIGFycmF5LiBOb3RlLCBmb3IgdGhlIGluZGV4IG9mCiAgICAgICAgICogdGhpcyBpbnN0YW5jZSBpbiB0aGUgc29ydGVkIGFuZCBmaWx0ZXJlZCBsaXN0IG9mIHJlbmRlcmVkIGl0ZW1zLAogICAgICAgICAqIHVzZSB0aGUgdmFsdWUgb2YgdGhlIGBpbmRleEFzYCBwcm9wZXJ0eS4KICAgICAgICAgKi8KICAgICAgICBpdGVtc0luZGV4QXM6IHsKICAgICAgICAgIHR5cGU6IFN0cmluZywKICAgICAgICAgIHZhbHVlOiAnaXRlbXNJbmRleCcKICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBBIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGRldGVybWluZSB0aGUgc29ydCBvcmRlciBvZiB0aGUgaXRlbXMuICBUaGlzCiAgICAgICAgICogcHJvcGVydHkgc2hvdWxkIGVpdGhlciBiZSBwcm92aWRlZCBhcyBhIHN0cmluZywgaW5kaWNhdGluZyBhIG1ldGhvZAogICAgICAgICAqIG5hbWUgb24gdGhlIGVsZW1lbnQncyBob3N0LCBvciBlbHNlIGJlIGFuIGFjdHVhbCBmdW5jdGlvbi4gIFRoZQogICAgICAgICAqIGZ1bmN0aW9uIHNob3VsZCBtYXRjaCB0aGUgc29ydCBmdW5jdGlvbiBwYXNzZWQgdG8gYEFycmF5LnNvcnRgLgogICAgICAgICAqIFVzaW5nIGEgc29ydCBmdW5jdGlvbiBoYXMgbm8gZWZmZWN0IG9uIHRoZSB1bmRlcmx5aW5nIGBpdGVtc2AgYXJyYXkuCiAgICAgICAgICovCiAgICAgICAgc29ydDogewogICAgICAgICAgdHlwZTogRnVuY3Rpb24sCiAgICAgICAgICBvYnNlcnZlcjogJ19fc29ydENoYW5nZWQnCiAgICAgICAgfSwKCiAgICAgICAgLyoqCiAgICAgICAgICogQSBmdW5jdGlvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBpdGVtcyBvdXQgb2YgdGhlIHZpZXcuICBUaGlzCiAgICAgICAgICogcHJvcGVydHkgc2hvdWxkIGVpdGhlciBiZSBwcm92aWRlZCBhcyBhIHN0cmluZywgaW5kaWNhdGluZyBhIG1ldGhvZAogICAgICAgICAqIG5hbWUgb24gdGhlIGVsZW1lbnQncyBob3N0LCBvciBlbHNlIGJlIGFuIGFjdHVhbCBmdW5jdGlvbi4gIFRoZQogICAgICAgICAqIGZ1bmN0aW9uIHNob3VsZCBtYXRjaCB0aGUgc29ydCBmdW5jdGlvbiBwYXNzZWQgdG8gYEFycmF5LmZpbHRlcmAuCiAgICAgICAgICogVXNpbmcgYSBmaWx0ZXIgZnVuY3Rpb24gaGFzIG5vIGVmZmVjdCBvbiB0aGUgdW5kZXJseWluZyBgaXRlbXNgIGFycmF5LgogICAgICAgICAqLwogICAgICAgIGZpbHRlcjogewogICAgICAgICAgdHlwZTogRnVuY3Rpb24sCiAgICAgICAgICBvYnNlcnZlcjogJ19fZmlsdGVyQ2hhbmdlZCcKICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBXaGVuIHVzaW5nIGEgYGZpbHRlcmAgb3IgYHNvcnRgIGZ1bmN0aW9uLCB0aGUgYG9ic2VydmVgIHByb3BlcnR5CiAgICAgICAgICogc2hvdWxkIGJlIHNldCB0byBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIHRoZSBuYW1lcyBvZiBpdGVtCiAgICAgICAgICogc3ViLWZpZWxkcyB0aGF0IHNob3VsZCB0cmlnZ2VyIGEgcmUtc29ydCBvciByZS1maWx0ZXIgd2hlbiBjaGFuZ2VkLgogICAgICAgICAqIFRoZXNlIHNob3VsZCBnZW5lcmFsbHkgYmUgZmllbGRzIG9mIGBpdGVtYCB0aGF0IHRoZSBzb3J0IG9yIGZpbHRlcgogICAgICAgICAqIGZ1bmN0aW9uIGRlcGVuZHMgb24uCiAgICAgICAgICovCiAgICAgICAgb2JzZXJ2ZTogewogICAgICAgICAgdHlwZTogU3RyaW5nLAogICAgICAgICAgb2JzZXJ2ZXI6ICdfX29ic2VydmVDaGFuZ2VkJwogICAgICAgIH0sCgogICAgICAgIC8qKgogICAgICAgICAqIFdoZW4gdXNpbmcgYSBgZmlsdGVyYCBvciBgc29ydGAgZnVuY3Rpb24sIHRoZSBgZGVsYXlgIHByb3BlcnR5CiAgICAgICAgICogZGV0ZXJtaW5lcyBhIGRlYm91bmNlIHRpbWUgaW4gbXMgYWZ0ZXIgYSBjaGFuZ2UgdG8gb2JzZXJ2ZWQgaXRlbQogICAgICAgICAqIHByb3BlcnRpZXMgdGhhdCBtdXN0IHBhc3MgYmVmb3JlIHRoZSBmaWx0ZXIgb3Igc29ydCBpcyByZS1ydW4uCiAgICAgICAgICogVGhpcyBpcyB1c2VmdWwgaW4gcmF0ZS1saW1pdGluZyBzaHVmZmxpbmcgb2YgdGhlIHZpZXcgd2hlbgogICAgICAgICAqIGl0ZW0gY2hhbmdlcyBtYXkgYmUgZnJlcXVlbnQuCiAgICAgICAgICovCiAgICAgICAgZGVsYXk6IE51bWJlciwKCiAgICAgICAgLyoqCiAgICAgICAgICogQ291bnQgb2YgY3VycmVudGx5IHJlbmRlcmVkIGl0ZW1zIGFmdGVyIGBmaWx0ZXJgIChpZiBhbnkpIGhhcyBiZWVuIGFwcGxpZWQuCiAgICAgICAgICogSWYgImNodW5raW5nIG1vZGUiIGlzIGVuYWJsZWQsIGByZW5kZXJlZEl0ZW1Db3VudGAgaXMgdXBkYXRlZCBlYWNoIHRpbWUgYQogICAgICAgICAqIHNldCBvZiB0ZW1wbGF0ZSBpbnN0YW5jZXMgaXMgcmVuZGVyZWQuCiAgICAgICAgICoKICAgICAgICAgKi8KICAgICAgICByZW5kZXJlZEl0ZW1Db3VudDogewogICAgICAgICAgdHlwZTogTnVtYmVyLAogICAgICAgICAgbm90aWZ5OiB0cnVlLAogICAgICAgICAgcmVhZE9ubHk6IHRydWUKICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBEZWZpbmVzIGFuIGluaXRpYWwgY291bnQgb2YgdGVtcGxhdGUgaW5zdGFuY2VzIHRvIHJlbmRlciBhZnRlciBzZXR0aW5nCiAgICAgICAgICogdGhlIGBpdGVtc2AgYXJyYXksIGJlZm9yZSB0aGUgbmV4dCBwYWludCwgYW5kIHB1dHMgdGhlIGBkb20tcmVwZWF0YAogICAgICAgICAqIGludG8gImNodW5raW5nIG1vZGUiLiAgVGhlIHJlbWFpbmluZyBpdGVtcyB3aWxsIGJlIGNyZWF0ZWQgYW5kIHJlbmRlcmVkCiAgICAgICAgICogaW5jcmVtZW50YWxseSBhdCBlYWNoIGFuaW1hdGlvbiBmcmFtZSB0aGVyb2YgdW50aWwgYWxsIGluc3RhbmNlcyBoYXZlCiAgICAgICAgICogYmVlbiByZW5kZXJlZC4KICAgICAgICAgKi8KICAgICAgICBpbml0aWFsQ291bnQ6IHsKICAgICAgICAgIHR5cGU6IE51bWJlciwKICAgICAgICAgIG9ic2VydmVyOiAnX19pbml0aWFsaXplQ2h1bmtpbmcnCiAgICAgICAgfSwKCiAgICAgICAgLyoqCiAgICAgICAgICogV2hlbiBgaW5pdGlhbENvdW50YCBpcyB1c2VkLCB0aGlzIHByb3BlcnR5IGRlZmluZXMgYSBmcmFtZSByYXRlIChpbgogICAgICAgICAqIGZwcykgdG8gdGFyZ2V0IGJ5IHRocm90dGxpbmcgdGhlIG51bWJlciBvZiBpbnN0YW5jZXMgcmVuZGVyZWQgZWFjaAogICAgICAgICAqIGZyYW1lIHRvIG5vdCBleGNlZWQgdGhlIGJ1ZGdldCBmb3IgdGhlIHRhcmdldCBmcmFtZSByYXRlLiAgVGhlCiAgICAgICAgICogZnJhbWVyYXRlIGlzIGVmZmVjdGl2ZWx5IHRoZSBudW1iZXIgb2YgYHJlcXVlc3RBbmltYXRpb25GcmFtZWBzIHRoYXQKICAgICAgICAgKiBpdCB0cmllcyB0byBhbGxvdyB0byBhY3R1YWxseSBmaXJlIGluIGEgZ2l2ZW4gc2Vjb25kLiBJdCBkb2VzIHRoaXMKICAgICAgICAgKiBieSBtZWFzdXJpbmcgdGhlIHRpbWUgYmV0d2VlbiBgckFGYHMgYW5kIGNvbnRpbnVvdXNseSBhZGp1c3RpbmcgdGhlCiAgICAgICAgICogbnVtYmVyIG9mIGl0ZW1zIGNyZWF0ZWQgZWFjaCBgckFGYCB0byBtYWludGFpbiB0aGUgdGFyZ2V0IGZyYW1lcmF0ZS4KICAgICAgICAgKiBTZXR0aW5nIHRoaXMgdG8gYSBoaWdoZXIgbnVtYmVyIGFsbG93cyBsb3dlciBsYXRlbmN5IGFuZCBoaWdoZXIKICAgICAgICAgKiB0aHJvdWdocHV0IGZvciBldmVudCBoYW5kbGVycyBhbmQgb3RoZXIgdGFza3MsIGJ1dCByZXN1bHRzIGluIGEKICAgICAgICAgKiBsb25nZXIgdGltZSBmb3IgdGhlIHJlbWFpbmluZyBpdGVtcyB0byBjb21wbGV0ZSByZW5kZXJpbmcuCiAgICAgICAgICovCiAgICAgICAgdGFyZ2V0RnJhbWVyYXRlOiB7CiAgICAgICAgICB0eXBlOiBOdW1iZXIsCiAgICAgICAgICB2YWx1ZTogMjAKICAgICAgICB9LAoKICAgICAgICBfdGFyZ2V0RnJhbWVUaW1lOiB7CiAgICAgICAgICB0eXBlOiBOdW1iZXIsCiAgICAgICAgICBjb21wdXRlZDogJ19fY29tcHV0ZUZyYW1lVGltZSh0YXJnZXRGcmFtZXJhdGUpJwogICAgICAgIH0KCiAgICAgIH07CgogICAgfQoKICAgIHN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCkgewogICAgICByZXR1cm4gWyAnX19pdGVtc0NoYW5nZWQoaXRlbXMuKiknIF07CiAgICB9CgogICAgY29uc3RydWN0b3IoKSB7CiAgICAgIHN1cGVyKCk7CiAgICAgIHRoaXMuX19pbnN0YW5jZXMgPSBbXTsKICAgICAgdGhpcy5fX2xpbWl0ID0gSW5maW5pdHk7CiAgICAgIHRoaXMuX19wb29sID0gW107CiAgICAgIHRoaXMuX19yZW5kZXJEZWJvdW5jZXIgPSBudWxsOwogICAgICB0aGlzLl9faXRlbXNJZHhUb0luc3RJZHggPSB7fTsKICAgICAgdGhpcy5fX2NodW5rQ291bnQgPSBudWxsOwogICAgICB0aGlzLl9fbGFzdENodW5rVGltZSA9IG51bGw7CiAgICAgIHRoaXMuX19zb3J0Rm4gPSBudWxsOwogICAgICB0aGlzLl9fZmlsdGVyRm4gPSBudWxsOwogICAgICB0aGlzLl9fb2JzZXJ2ZVBhdGhzID0gbnVsbDsKICAgICAgdGhpcy5fX2N0b3IgPSBudWxsOwogICAgICB0aGlzLl9faXNEZXRhY2hlZCA9IHRydWU7CiAgICAgIHRoaXMudGVtcGxhdGUgPSBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7CiAgICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7CiAgICAgIHRoaXMuX19pc0RldGFjaGVkID0gdHJ1ZTsKICAgICAgZm9yIChsZXQgaT0wOyBpPHRoaXMuX19pbnN0YW5jZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICB0aGlzLl9fZGV0YWNoSW5zdGFuY2UoaSk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIGNvbm5lY3RlZENhbGxiYWNrKCkgewogICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpOwogICAgICB0aGlzLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgIC8vIG9ubHkgcGVyZm9ybSBhdHRhY2htZW50IGlmIHRoZSBlbGVtZW50IHdhcyBwcmV2aW91c2x5IGRldGFjaGVkLgogICAgICBpZiAodGhpcy5fX2lzRGV0YWNoZWQpIHsKICAgICAgICB0aGlzLl9faXNEZXRhY2hlZCA9IGZhbHNlOwogICAgICAgIGxldCBwYXJlbnQgPSB0aGlzLnBhcmVudE5vZGU7CiAgICAgICAgZm9yIChsZXQgaT0wOyBpPHRoaXMuX19pbnN0YW5jZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIHRoaXMuX19hdHRhY2hJbnN0YW5jZShpLCBwYXJlbnQpOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIF9fZW5zdXJlVGVtcGxhdGl6ZWQoKSB7CiAgICAgIC8vIFRlbXBsYXRpemluZyAoZ2VuZXJhdGluZyB0aGUgaW5zdGFuY2UgY29uc3RydWN0b3IpIG5lZWRzIHRvIHdhaXQKICAgICAgLy8gdW50aWwgcmVhZHksIHNpbmNlIHdvbid0IGhhdmUgaXRzIHRlbXBsYXRlIGNvbnRlbnQgaGFuZGVkIGJhY2sgdG8KICAgICAgLy8gaXQgdW50aWwgdGhlbgogICAgICBpZiAoIXRoaXMuX19jdG9yKSB7CiAgICAgICAgbGV0IHRlbXBsYXRlID0gdGhpcy50ZW1wbGF0ZSA9IC8qKiBAdHlwZSB7SFRNTFRlbXBsYXRlRWxlbWVudH0gKi8odGhpcy5xdWVyeVNlbGVjdG9yKCd0ZW1wbGF0ZScpKTsKICAgICAgICBpZiAoIXRlbXBsYXRlKSB7CiAgICAgICAgICAvLyAvLyBXYWl0IHVudGlsIGNoaWxkTGlzdCBjaGFuZ2VzIGFuZCB0ZW1wbGF0ZSBzaG91bGQgYmUgdGhlcmUgYnkgdGhlbgogICAgICAgICAgbGV0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gewogICAgICAgICAgICBpZiAodGhpcy5xdWVyeVNlbGVjdG9yKCd0ZW1wbGF0ZScpKSB7CiAgICAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOwogICAgICAgICAgICAgIHRoaXMuX19yZW5kZXIoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2RvbS1yZXBlYXQgcmVxdWlyZXMgYSA8dGVtcGxhdGU+IGNoaWxkJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLCB7Y2hpbGRMaXN0OiB0cnVlfSk7CiAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgIC8vIFRlbXBsYXRlIGluc3RhbmNlIHByb3BzIHRoYXQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gZm9yd2FyZGluZwogICAgICAgIGxldCBpbnN0YW5jZVByb3BzID0ge307CiAgICAgICAgaW5zdGFuY2VQcm9wc1t0aGlzLmFzXSA9IHRydWU7CiAgICAgICAgaW5zdGFuY2VQcm9wc1t0aGlzLmluZGV4QXNdID0gdHJ1ZTsKICAgICAgICBpbnN0YW5jZVByb3BzW3RoaXMuaXRlbXNJbmRleEFzXSA9IHRydWU7CiAgICAgICAgdGhpcy5fX2N0b3IgPSBQb2x5bWVyLlRlbXBsYXRpemUudGVtcGxhdGl6ZSh0ZW1wbGF0ZSwgdGhpcywgewogICAgICAgICAgbXV0YWJsZURhdGE6IHRoaXMubXV0YWJsZURhdGEsCiAgICAgICAgICBwYXJlbnRNb2RlbDogdHJ1ZSwKICAgICAgICAgIGluc3RhbmNlUHJvcHM6IGluc3RhbmNlUHJvcHMsCiAgICAgICAgICAvKioKICAgICAgICAgICAqIEB0aGlzIHt0aGlzfQogICAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3AgUHJvcGVydHkgdG8gc2V0CiAgICAgICAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFZhbHVlIHRvIHNldCBwcm9wZXJ0eSB0bwogICAgICAgICAgICovCiAgICAgICAgICBmb3J3YXJkSG9zdFByb3A6IGZ1bmN0aW9uKHByb3AsIHZhbHVlKSB7CiAgICAgICAgICAgIGxldCBpJCA9IHRoaXMuX19pbnN0YW5jZXM7CiAgICAgICAgICAgIGZvciAobGV0IGk9MCwgaW5zdDsgKGk8aSQubGVuZ3RoKSAmJiAoaW5zdD1pJFtpXSk7IGkrKykgewogICAgICAgICAgICAgIGluc3QuZm9yd2FyZEhvc3RQcm9wKHByb3AsIHZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIC8qKgogICAgICAgICAgICogQHRoaXMge3RoaXN9CiAgICAgICAgICAgKiBAcGFyYW0ge09iamVjdH0gaW5zdCBJbnN0YW5jZSB0byBub3RpZnkKICAgICAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wIFByb3BlcnR5IHRvIG5vdGlmeQogICAgICAgICAgICogQHBhcmFtIHsqfSB2YWx1ZSBWYWx1ZSB0byBub3RpZnkKICAgICAgICAgICAqLwogICAgICAgICAgbm90aWZ5SW5zdGFuY2VQcm9wOiBmdW5jdGlvbihpbnN0LCBwcm9wLCB2YWx1ZSkgewogICAgICAgICAgICBpZiAoUG9seW1lci5QYXRoLm1hdGNoZXModGhpcy5hcywgcHJvcCkpIHsKICAgICAgICAgICAgICBsZXQgaWR4ID0gaW5zdFt0aGlzLml0ZW1zSW5kZXhBc107CiAgICAgICAgICAgICAgaWYgKHByb3AgPT0gdGhpcy5hcykgewogICAgICAgICAgICAgICAgdGhpcy5pdGVtc1tpZHhdID0gdmFsdWU7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGxldCBwYXRoID0gUG9seW1lci5QYXRoLnRyYW5zbGF0ZSh0aGlzLmFzLCAnaXRlbXMuJyArIGlkeCwgcHJvcCk7CiAgICAgICAgICAgICAgdGhpcy5ub3RpZnlQYXRoKHBhdGgsIHZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9CiAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIF9fZ2V0TWV0aG9kSG9zdCgpIHsKICAgICAgLy8gVGVjaG5pY2FsbHkgdGhpcyBzaG91bGQgYmUgdGhlIG93bmVyIG9mIHRoZSBvdXRlcm1vc3QgdGVtcGxhdGUuCiAgICAgIC8vIEluIHNoYWRvdyBkb20sIHRoaXMgaXMgYWx3YXlzIGdldFJvb3ROb2RlKCkuaG9zdCwgYnV0IHdlIGNhbgogICAgICAvLyBhcHByb3hpbWF0ZSB0aGlzIHZpYSBjb29wZXJhdGlvbiB3aXRoIG91ciBkYXRhSG9zdCBhbHdheXMgc2V0dGluZwogICAgICAvLyBgX21ldGhvZEhvc3RgIGFzIGxvbmcgYXMgdGhlcmUgd2VyZSBiaW5kaW5ncyAob3IgaWQncykgb24gdGhpcwogICAgICAvLyBpbnN0YW5jZSBjYXVzaW5nIGl0IHRvIGdldCBhIGRhdGFIb3N0LgogICAgICByZXR1cm4gdGhpcy5fX2RhdGFIb3N0Ll9tZXRob2RIb3N0IHx8IHRoaXMuX19kYXRhSG9zdDsKICAgIH0KCiAgICBfX2Z1bmN0aW9uRnJvbVByb3BlcnR5VmFsdWUoZnVuY3Rpb25Pck1ldGhvZE5hbWUpIHsKICAgICAgaWYgKHR5cGVvZiBmdW5jdGlvbk9yTWV0aG9kTmFtZSA9PT0gJ3N0cmluZycpIHsKICAgICAgICBsZXQgbWV0aG9kTmFtZSA9IGZ1bmN0aW9uT3JNZXRob2ROYW1lOwogICAgICAgIGxldCBvYmogPSB0aGlzLl9fZ2V0TWV0aG9kSG9zdCgpOwogICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsgcmV0dXJuIG9ialttZXRob2ROYW1lXS5hcHBseShvYmosIGFyZ3VtZW50cyk7IH07CiAgICAgIH0KCiAgICAgIHJldHVybiBmdW5jdGlvbk9yTWV0aG9kTmFtZTsKICAgIH0KCiAgICBfX3NvcnRDaGFuZ2VkKHNvcnQpIHsKICAgICAgdGhpcy5fX3NvcnRGbiA9IHRoaXMuX19mdW5jdGlvbkZyb21Qcm9wZXJ0eVZhbHVlKHNvcnQpOwogICAgICBpZiAodGhpcy5pdGVtcykgeyB0aGlzLl9fZGVib3VuY2VSZW5kZXIodGhpcy5fX3JlbmRlcik7IH0KICAgIH0KCiAgICBfX2ZpbHRlckNoYW5nZWQoZmlsdGVyKSB7CiAgICAgIHRoaXMuX19maWx0ZXJGbiA9IHRoaXMuX19mdW5jdGlvbkZyb21Qcm9wZXJ0eVZhbHVlKGZpbHRlcik7CiAgICAgIGlmICh0aGlzLml0ZW1zKSB7IHRoaXMuX19kZWJvdW5jZVJlbmRlcih0aGlzLl9fcmVuZGVyKTsgfQogICAgfQoKICAgIF9fY29tcHV0ZUZyYW1lVGltZShyYXRlKSB7CiAgICAgIHJldHVybiBNYXRoLmNlaWwoMTAwMC9yYXRlKTsKICAgIH0KCiAgICBfX2luaXRpYWxpemVDaHVua2luZygpIHsKICAgICAgaWYgKHRoaXMuaW5pdGlhbENvdW50KSB7CiAgICAgICAgdGhpcy5fX2xpbWl0ID0gdGhpcy5pbml0aWFsQ291bnQ7CiAgICAgICAgdGhpcy5fX2NodW5rQ291bnQgPSB0aGlzLmluaXRpYWxDb3VudDsKICAgICAgICB0aGlzLl9fbGFzdENodW5rVGltZSA9IHBlcmZvcm1hbmNlLm5vdygpOwogICAgICB9CiAgICB9CgogICAgX190cnlSZW5kZXJDaHVuaygpIHsKICAgICAgLy8gRGVib3VuY2VkIHNvIHRoYXQgbXVsdGlwbGUgY2FsbHMgdGhyb3VnaCBgX3JlbmRlcmAgYmV0d2VlbiBhbmltYXRpb24KICAgICAgLy8gZnJhbWVzIG9ubHkgcXVldWUgb25lIG5ldyByQUYgKGUuZy4gYXJyYXkgbXV0YXRpb24gJiBjaHVua2VkIHJlbmRlcikKICAgICAgaWYgKHRoaXMuaXRlbXMgJiYgdGhpcy5fX2xpbWl0IDwgdGhpcy5pdGVtcy5sZW5ndGgpIHsKICAgICAgICB0aGlzLl9fZGVib3VuY2VSZW5kZXIodGhpcy5fX3JlcXVlc3RSZW5kZXJDaHVuayk7CiAgICAgIH0KICAgIH0KCiAgICBfX3JlcXVlc3RSZW5kZXJDaHVuaygpIHsKICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT50aGlzLl9fcmVuZGVyQ2h1bmsoKSk7CiAgICB9CgogICAgX19yZW5kZXJDaHVuaygpIHsKICAgICAgLy8gU2ltcGxlIGF1dG8gY2h1bmtTaXplIHRocm90dGxpbmcgYWxnb3JpdGhtIGJhc2VkIG9uIGZlZWRiYWNrIGxvb3A6CiAgICAgIC8vIG1lYXN1cmUgYWN0dWFsIHRpbWUgYmV0d2VlbiBmcmFtZXMgYW5kIHNjYWxlIGNodW5rIGNvdW50IGJ5IHJhdGlvCiAgICAgIC8vIG9mIHRhcmdldC9hY3R1YWwgZnJhbWUgdGltZQogICAgICBsZXQgY3VyckNodW5rVGltZSA9IHBlcmZvcm1hbmNlLm5vdygpOwogICAgICBsZXQgcmF0aW8gPSB0aGlzLl90YXJnZXRGcmFtZVRpbWUgLyAoY3VyckNodW5rVGltZSAtIHRoaXMuX19sYXN0Q2h1bmtUaW1lKTsKICAgICAgdGhpcy5fX2NodW5rQ291bnQgPSBNYXRoLnJvdW5kKHRoaXMuX19jaHVua0NvdW50ICogcmF0aW8pIHx8IDE7CiAgICAgIHRoaXMuX19saW1pdCArPSB0aGlzLl9fY2h1bmtDb3VudDsKICAgICAgdGhpcy5fX2xhc3RDaHVua1RpbWUgPSBjdXJyQ2h1bmtUaW1lOwogICAgICB0aGlzLl9fZGVib3VuY2VSZW5kZXIodGhpcy5fX3JlbmRlcik7CiAgICB9CgogICAgX19vYnNlcnZlQ2hhbmdlZCgpIHsKICAgICAgdGhpcy5fX29ic2VydmVQYXRocyA9IHRoaXMub2JzZXJ2ZSAmJgogICAgICAgIHRoaXMub2JzZXJ2ZS5yZXBsYWNlKCcuKicsICcuJykuc3BsaXQoJyAnKTsKICAgIH0KCiAgICBfX2l0ZW1zQ2hhbmdlZChjaGFuZ2UpIHsKICAgICAgaWYgKHRoaXMuaXRlbXMgJiYgIUFycmF5LmlzQXJyYXkodGhpcy5pdGVtcykpIHsKICAgICAgICBjb25zb2xlLndhcm4oJ2RvbS1yZXBlYXQgZXhwZWN0ZWQgYXJyYXkgZm9yIGBpdGVtc2AsIGZvdW5kJywgdGhpcy5pdGVtcyk7CiAgICAgIH0KICAgICAgLy8gSWYgcGF0aCB3YXMgdG8gYW4gaXRlbSAoZS5nLiAnaXRlbXMuMycgb3IgJ2l0ZW1zLjMuZm9vJyksIGZvcndhcmQgdGhlCiAgICAgIC8vIHBhdGggdG8gdGhhdCBpbnN0YW5jZSBzeW5jaHJvbm91c2x5IChyZXR1cm5zIGZhbHNlIGZvciBub24taXRlbSBwYXRocykKICAgICAgaWYgKCF0aGlzLl9faGFuZGxlSXRlbVBhdGgoY2hhbmdlLnBhdGgsIGNoYW5nZS52YWx1ZSkpIHsKICAgICAgICAvLyBPdGhlcndpc2UsIHRoZSBhcnJheSB3YXMgcmVzZXQgKCdpdGVtcycpIG9yIHNwbGljZWQgKCdpdGVtcy5zcGxpY2VzJyksCiAgICAgICAgLy8gc28gcXVldWUgYSBmdWxsIHJlZnJlc2gKICAgICAgICB0aGlzLl9faW5pdGlhbGl6ZUNodW5raW5nKCk7CiAgICAgICAgdGhpcy5fX2RlYm91bmNlUmVuZGVyKHRoaXMuX19yZW5kZXIpOwogICAgICB9CiAgICB9CgogICAgX19oYW5kbGVPYnNlcnZlZFBhdGhzKHBhdGgpIHsKICAgICAgLy8gSGFuZGxlIGNhc2VzIHdoZXJlIHBhdGggY2hhbmdlcyBzaG91bGQgY2F1c2UgYSByZS1zb3J0L2ZpbHRlcgogICAgICBpZiAodGhpcy5fX3NvcnRGbiB8fCB0aGlzLl9fZmlsdGVyRm4pIHsKICAgICAgICBpZiAoIXBhdGgpIHsKICAgICAgICAgIC8vIEFsd2F5cyByZS1yZW5kZXIgaWYgdGhlIGl0ZW0gaXRzZWxmIGNoYW5nZWQKICAgICAgICAgIHRoaXMuX19kZWJvdW5jZVJlbmRlcih0aGlzLl9fcmVuZGVyLCB0aGlzLmRlbGF5KTsKICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX19vYnNlcnZlUGF0aHMpIHsKICAgICAgICAgIC8vIE90aGVyd2lzZSwgcmUtcmVuZGVyIGlmIHRoZSBwYXRoIGNoYW5nZWQgbWF0Y2hlcyBhbiBvYnNlcnZlZCBwYXRoCiAgICAgICAgICBsZXQgcGF0aHMgPSB0aGlzLl9fb2JzZXJ2ZVBhdGhzOwogICAgICAgICAgZm9yIChsZXQgaT0wOyBpPHBhdGhzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChwYXRoLmluZGV4T2YocGF0aHNbaV0pID09PSAwKSB7CiAgICAgICAgICAgICAgdGhpcy5fX2RlYm91bmNlUmVuZGVyKHRoaXMuX19yZW5kZXIsIHRoaXMuZGVsYXkpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKHRoaXM6RG9tUmVwZWF0KX0gZm4gRnVuY3Rpb24gdG8gZGVib3VuY2UuCiAgICAgKiBAcGFyYW0ge251bWJlcj19IGRlbGF5IERlbGF5IGluIG1zIHRvIGRlYm91bmNlIGJ5LgogICAgICovCiAgICBfX2RlYm91bmNlUmVuZGVyKGZuLCBkZWxheSA9IDApIHsKICAgICAgdGhpcy5fX3JlbmRlckRlYm91bmNlciA9IFBvbHltZXIuRGVib3VuY2VyLmRlYm91bmNlKAogICAgICAgICAgICB0aGlzLl9fcmVuZGVyRGVib3VuY2VyCiAgICAgICAgICAsIGRlbGF5ID4gMCA/IFBvbHltZXIuQXN5bmMudGltZU91dC5hZnRlcihkZWxheSkgOiBQb2x5bWVyLkFzeW5jLm1pY3JvVGFzawogICAgICAgICAgLCBmbi5iaW5kKHRoaXMpKTsKICAgICAgUG9seW1lci5lbnF1ZXVlRGVib3VuY2VyKHRoaXMuX19yZW5kZXJEZWJvdW5jZXIpOwogICAgfQoKICAgIC8qKgogICAgICogRm9yY2VzIHRoZSBlbGVtZW50IHRvIHJlbmRlciBpdHMgY29udGVudC4gTm9ybWFsbHkgcmVuZGVyaW5nIGlzCiAgICAgKiBhc3luY2hyb25vdXMgdG8gYSBwcm92b2tpbmcgY2hhbmdlLiBUaGlzIGlzIGRvbmUgZm9yIGVmZmljaWVuY3kgc28KICAgICAqIHRoYXQgbXVsdGlwbGUgY2hhbmdlcyB0cmlnZ2VyIG9ubHkgYSBzaW5nbGUgcmVuZGVyLiBUaGUgcmVuZGVyIG1ldGhvZAogICAgICogc2hvdWxkIGJlIGNhbGxlZCBpZiwgZm9yIGV4YW1wbGUsIHRlbXBsYXRlIHJlbmRlcmluZyBpcyByZXF1aXJlZCB0bwogICAgICogdmFsaWRhdGUgYXBwbGljYXRpb24gc3RhdGUuCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICByZW5kZXIoKSB7CiAgICAgIC8vIFF1ZXVlIHRoaXMgcmVwZWF0ZXIsIHRoZW4gZmx1c2ggYWxsIGluIG9yZGVyCiAgICAgIHRoaXMuX19kZWJvdW5jZVJlbmRlcih0aGlzLl9fcmVuZGVyKTsKICAgICAgUG9seW1lci5mbHVzaCgpOwogICAgfQoKICAgIF9fcmVuZGVyKCkgewogICAgICBpZiAoIXRoaXMuX19lbnN1cmVUZW1wbGF0aXplZCgpKSB7CiAgICAgICAgLy8gTm8gdGVtcGxhdGUgZm91bmQgeWV0CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHRoaXMuX19hcHBseUZ1bGxSZWZyZXNoKCk7CiAgICAgIC8vIFJlc2V0IHRoZSBwb29sCiAgICAgIC8vIFRPRE8oa3NjaGFhZik6IFJldXNlIHBvb2wgYWNyb3NzIHR1cm5zIGFuZCBuZXN0ZWQgdGVtcGxhdGVzCiAgICAgIC8vIE5vdyB0aGF0IG9iamVjdHMvYXJyYXlzIGFyZSByZS1ldmFsdWF0ZWQgd2hlbiBzZXQsIHdlIGNhbiBzYWZlbHkKICAgICAgLy8gcmV1c2UgcG9vbGVkIGluc3RhbmNlcyBhY3Jvc3MgdHVybnMsIGhvd2V2ZXIgd2Ugc3RpbGwgbmVlZCB0byBkZWNpZGUKICAgICAgLy8gc2VtYW50aWNzIHJlZ2FyZGluZyBob3cgbG9uZyB0byBob2xkLCBob3cgbWFueSB0byBob2xkLCBldGMuCiAgICAgIHRoaXMuX19wb29sLmxlbmd0aCA9IDA7CiAgICAgIC8vIFNldCByZW5kZXJlZCBpdGVtIGNvdW50CiAgICAgIHRoaXMuX3NldFJlbmRlcmVkSXRlbUNvdW50KHRoaXMuX19pbnN0YW5jZXMubGVuZ3RoKTsKICAgICAgLy8gTm90aWZ5IHVzZXJzCiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2RvbS1jaGFuZ2UnLCB7CiAgICAgICAgYnViYmxlczogdHJ1ZSwKICAgICAgICBjb21wb3NlZDogdHJ1ZQogICAgICB9KSk7CiAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB3ZSBuZWVkIHRvIHJlbmRlciBtb3JlIGl0ZW1zCiAgICAgIHRoaXMuX190cnlSZW5kZXJDaHVuaygpOwogICAgfQoKICAgIF9fYXBwbHlGdWxsUmVmcmVzaCgpIHsKICAgICAgbGV0IGl0ZW1zID0gdGhpcy5pdGVtcyB8fCBbXTsKICAgICAgbGV0IGlzbnRJZHhUb0l0ZW1zSWR4ID0gbmV3IEFycmF5KGl0ZW1zLmxlbmd0aCk7CiAgICAgIGZvciAobGV0IGk9MDsgaTxpdGVtcy5sZW5ndGg7IGkrKykgewogICAgICAgIGlzbnRJZHhUb0l0ZW1zSWR4W2ldID0gaTsKICAgICAgfQogICAgICAvLyBBcHBseSB1c2VyIGZpbHRlcgogICAgICBpZiAodGhpcy5fX2ZpbHRlckZuKSB7CiAgICAgICAgaXNudElkeFRvSXRlbXNJZHggPSBpc250SWR4VG9JdGVtc0lkeC5maWx0ZXIoKGksIGlkeCwgYXJyYXkpID0+CiAgICAgICAgICB0aGlzLl9fZmlsdGVyRm4oaXRlbXNbaV0sIGlkeCwgYXJyYXkpKTsKICAgICAgfQogICAgICAvLyBBcHBseSB1c2VyIHNvcnQKICAgICAgaWYgKHRoaXMuX19zb3J0Rm4pIHsKICAgICAgICBpc250SWR4VG9JdGVtc0lkeC5zb3J0KChhLCBiKSA9PiB0aGlzLl9fc29ydEZuKGl0ZW1zW2FdLCBpdGVtc1tiXSkpOwogICAgICB9CiAgICAgIC8vIGl0ZW1zLT5pbnN0IG1hcCBrZXB0IGZvciBpdGVtIHBhdGggZm9yd2FyZGluZwogICAgICBjb25zdCBpdGVtc0lkeFRvSW5zdElkeCA9IHRoaXMuX19pdGVtc0lkeFRvSW5zdElkeCA9IHt9OwogICAgICBsZXQgaW5zdElkeCA9IDA7CiAgICAgIC8vIEdlbmVyYXRlIGluc3RhbmNlcyBhbmQgYXNzaWduIGl0ZW1zCiAgICAgIGNvbnN0IGxpbWl0ID0gTWF0aC5taW4oaXNudElkeFRvSXRlbXNJZHgubGVuZ3RoLCB0aGlzLl9fbGltaXQpOwogICAgICBmb3IgKDsgaW5zdElkeDxsaW1pdDsgaW5zdElkeCsrKSB7CiAgICAgICAgbGV0IGluc3QgPSB0aGlzLl9faW5zdGFuY2VzW2luc3RJZHhdOwogICAgICAgIGxldCBpdGVtSWR4ID0gaXNudElkeFRvSXRlbXNJZHhbaW5zdElkeF07CiAgICAgICAgbGV0IGl0ZW0gPSBpdGVtc1tpdGVtSWR4XTsKICAgICAgICBpdGVtc0lkeFRvSW5zdElkeFtpdGVtSWR4XSA9IGluc3RJZHg7CiAgICAgICAgaWYgKGluc3QpIHsKICAgICAgICAgIGluc3QuX3NldFBlbmRpbmdQcm9wZXJ0eSh0aGlzLmFzLCBpdGVtKTsKICAgICAgICAgIGluc3QuX3NldFBlbmRpbmdQcm9wZXJ0eSh0aGlzLmluZGV4QXMsIGluc3RJZHgpOwogICAgICAgICAgaW5zdC5fc2V0UGVuZGluZ1Byb3BlcnR5KHRoaXMuaXRlbXNJbmRleEFzLCBpdGVtSWR4KTsKICAgICAgICAgIGluc3QuX2ZsdXNoUHJvcGVydGllcygpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLl9faW5zZXJ0SW5zdGFuY2UoaXRlbSwgaW5zdElkeCwgaXRlbUlkeCk7CiAgICAgICAgfQogICAgICB9CiAgICAgIC8vIFJlbW92ZSBhbnkgZXh0cmEgaW5zdGFuY2VzIGZyb20gcHJldmlvdXMgc3RhdGUKICAgICAgZm9yIChsZXQgaT10aGlzLl9faW5zdGFuY2VzLmxlbmd0aC0xOyBpPj1pbnN0SWR4OyBpLS0pIHsKICAgICAgICB0aGlzLl9fZGV0YWNoQW5kUmVtb3ZlSW5zdGFuY2UoaSk7CiAgICAgIH0KICAgIH0KCiAgICBfX2RldGFjaEluc3RhbmNlKGlkeCkgewogICAgICBsZXQgaW5zdCA9IHRoaXMuX19pbnN0YW5jZXNbaWR4XTsKICAgICAgZm9yIChsZXQgaT0wOyBpPGluc3QuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHsKICAgICAgICBsZXQgZWwgPSBpbnN0LmNoaWxkcmVuW2ldOwogICAgICAgIGluc3Qucm9vdC5hcHBlbmRDaGlsZChlbCk7CiAgICAgIH0KICAgICAgcmV0dXJuIGluc3Q7CiAgICB9CgogICAgX19hdHRhY2hJbnN0YW5jZShpZHgsIHBhcmVudCkgewogICAgICBsZXQgaW5zdCA9IHRoaXMuX19pbnN0YW5jZXNbaWR4XTsKICAgICAgcGFyZW50Lmluc2VydEJlZm9yZShpbnN0LnJvb3QsIHRoaXMpOwogICAgfQoKICAgIF9fZGV0YWNoQW5kUmVtb3ZlSW5zdGFuY2UoaWR4KSB7CiAgICAgIGxldCBpbnN0ID0gdGhpcy5fX2RldGFjaEluc3RhbmNlKGlkeCk7CiAgICAgIGlmIChpbnN0KSB7CiAgICAgICAgdGhpcy5fX3Bvb2wucHVzaChpbnN0KTsKICAgICAgfQogICAgICB0aGlzLl9faW5zdGFuY2VzLnNwbGljZShpZHgsIDEpOwogICAgfQoKICAgIF9fc3RhbXBJbnN0YW5jZShpdGVtLCBpbnN0SWR4LCBpdGVtSWR4KSB7CiAgICAgIGxldCBtb2RlbCA9IHt9OwogICAgICBtb2RlbFt0aGlzLmFzXSA9IGl0ZW07CiAgICAgIG1vZGVsW3RoaXMuaW5kZXhBc10gPSBpbnN0SWR4OwogICAgICBtb2RlbFt0aGlzLml0ZW1zSW5kZXhBc10gPSBpdGVtSWR4OwogICAgICByZXR1cm4gbmV3IHRoaXMuX19jdG9yKG1vZGVsKTsKICAgIH0KCiAgICBfX2luc2VydEluc3RhbmNlKGl0ZW0sIGluc3RJZHgsIGl0ZW1JZHgpIHsKICAgICAgbGV0IGluc3QgPSB0aGlzLl9fcG9vbC5wb3AoKTsKICAgICAgaWYgKGluc3QpIHsKICAgICAgICAvLyBUT0RPKGtzY2hhYWYpOiBJZiB0aGUgcG9vbCBpcyBzaGFyZWQgYWNyb3NzIHR1cm5zLCBob3N0UHJvcHMKICAgICAgICAvLyBuZWVkIHRvIGJlIHJlLXNldCB0byByZXVzZWQgaW5zdGFuY2VzIGluIGFkZGl0aW9uIHRvIGl0ZW0KICAgICAgICBpbnN0Ll9zZXRQZW5kaW5nUHJvcGVydHkodGhpcy5hcywgaXRlbSk7CiAgICAgICAgaW5zdC5fc2V0UGVuZGluZ1Byb3BlcnR5KHRoaXMuaW5kZXhBcywgaW5zdElkeCk7CiAgICAgICAgaW5zdC5fc2V0UGVuZGluZ1Byb3BlcnR5KHRoaXMuaXRlbXNJbmRleEFzLCBpdGVtSWR4KTsKICAgICAgICBpbnN0Ll9mbHVzaFByb3BlcnRpZXMoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBpbnN0ID0gdGhpcy5fX3N0YW1wSW5zdGFuY2UoaXRlbSwgaW5zdElkeCwgaXRlbUlkeCk7CiAgICAgIH0KICAgICAgbGV0IGJlZm9yZVJvdyA9IHRoaXMuX19pbnN0YW5jZXNbaW5zdElkeCArIDFdOwogICAgICBsZXQgYmVmb3JlTm9kZSA9IGJlZm9yZVJvdyA/IGJlZm9yZVJvdy5jaGlsZHJlblswXSA6IHRoaXM7CiAgICAgIHRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaW5zdC5yb290LCBiZWZvcmVOb2RlKTsKICAgICAgdGhpcy5fX2luc3RhbmNlc1tpbnN0SWR4XSA9IGluc3Q7CiAgICAgIHJldHVybiBpbnN0OwogICAgfQoKICAgIC8vIEltcGxlbWVudHMgZXh0ZW5zaW9uIHBvaW50IGZyb20gVGVtcGxhdGl6ZSBtaXhpbgogICAgLyoqCiAgICAgKiBTaG93cyBvciBoaWRlcyB0aGUgdGVtcGxhdGUgaW5zdGFuY2UgdG9wIGxldmVsIGNoaWxkIGVsZW1lbnRzLiBGb3IKICAgICAqIHRleHQgbm9kZXMsIGB0ZXh0Q29udGVudGAgaXMgcmVtb3ZlZCB3aGlsZSAiaGlkZGVuIiBhbmQgcmVwbGFjZWQgd2hlbgogICAgICogInNob3duLiIKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gaGlkZGVuIFNldCB0byB0cnVlIHRvIGhpZGUgdGhlIGNoaWxkcmVuOwogICAgICogc2V0IHRvIGZhbHNlIHRvIHNob3cgdGhlbS4KICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKiBAcHJvdGVjdGVkCiAgICAgKi8KICAgIF9zaG93SGlkZUNoaWxkcmVuKGhpZGRlbikgewogICAgICBmb3IgKGxldCBpPTA7IGk8dGhpcy5fX2luc3RhbmNlcy5sZW5ndGg7IGkrKykgewogICAgICAgIHRoaXMuX19pbnN0YW5jZXNbaV0uX3Nob3dIaWRlQ2hpbGRyZW4oaGlkZGVuKTsKICAgICAgfQogICAgfQoKICAgIC8vIENhbGxlZCBhcyBhIHNpZGUgZWZmZWN0IG9mIGEgaG9zdCBpdGVtcy48a2V5Pi48cGF0aD4gcGF0aCBjaGFuZ2UsCiAgICAvLyByZXNwb25zaWJsZSBmb3Igbm90aWZ5aW5nIGl0ZW0uPHBhdGg+IGNoYW5nZXMgdG8gaW5zdCBmb3Iga2V5CiAgICBfX2hhbmRsZUl0ZW1QYXRoKHBhdGgsIHZhbHVlKSB7CiAgICAgIGxldCBpdGVtc1BhdGggPSBwYXRoLnNsaWNlKDYpOyAvLyAnaXRlbXMuJy5sZW5ndGggPT0gNgogICAgICBsZXQgZG90ID0gaXRlbXNQYXRoLmluZGV4T2YoJy4nKTsKICAgICAgbGV0IGl0ZW1zSWR4ID0gZG90IDwgMCA/IGl0ZW1zUGF0aCA6IGl0ZW1zUGF0aC5zdWJzdHJpbmcoMCwgZG90KTsKICAgICAgLy8gSWYgcGF0aCB3YXMgaW5kZXggaW50byBhcnJheS4uLgogICAgICBpZiAoaXRlbXNJZHggPT0gcGFyc2VJbnQoaXRlbXNJZHgsIDEwKSkgewogICAgICAgIGxldCBpdGVtU3ViUGF0aCA9IGRvdCA8IDAgPyAnJyA6IGl0ZW1zUGF0aC5zdWJzdHJpbmcoZG90KzEpOwogICAgICAgIC8vIElmIHRoZSBwYXRoIGlzIG9ic2VydmVkLCBpdCB3aWxsIHRyaWdnZXIgYSBmdWxsIHJlZnJlc2gKICAgICAgICB0aGlzLl9faGFuZGxlT2JzZXJ2ZWRQYXRocyhpdGVtU3ViUGF0aCk7CiAgICAgICAgLy8gTm90ZSwgZXZlbiBpZiBhIHJ1bGwgcmVmcmVzaCBpcyB0cmlnZ2VyZWQsIGFsd2F5cyBkbyB0aGUgcGF0aAogICAgICAgIC8vIG5vdGlmaWNhdGlvbiBiZWNhdXNlIHVubGVzcyBtdXRhYmxlRGF0YSBpcyB1c2VkIGZvciBkb20tcmVwZWF0CiAgICAgICAgLy8gYW5kIGFsbCBlbGVtZW50cyBpbiB0aGUgaW5zdGFuY2Ugc3VidHJlZSwgYSBmdWxsIHJlZnJlc2ggbWF5CiAgICAgICAgLy8gbm90IHRyaWdnZXIgdGhlIHByb3BlciB1cGRhdGUuCiAgICAgICAgbGV0IGluc3RJZHggPSB0aGlzLl9faXRlbXNJZHhUb0luc3RJZHhbaXRlbXNJZHhdOwogICAgICAgIGxldCBpbnN0ID0gdGhpcy5fX2luc3RhbmNlc1tpbnN0SWR4XTsKICAgICAgICBpZiAoaW5zdCkgewogICAgICAgICAgbGV0IGl0ZW1QYXRoID0gdGhpcy5hcyArIChpdGVtU3ViUGF0aCA/ICcuJyArIGl0ZW1TdWJQYXRoIDogJycpOwogICAgICAgICAgLy8gVGhpcyBpcyBlZmZlY3RpdmVseSBgbm90aWZ5UGF0aGAsIGJ1dCBhdm9pZHMgc29tZSBvZiB0aGUgb3ZlcmhlYWQKICAgICAgICAgIC8vIG9mIHRoZSBwdWJsaWMgQVBJCiAgICAgICAgICBpbnN0Ll9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgoaXRlbVBhdGgsIHZhbHVlLCBmYWxzZSwgdHJ1ZSk7CiAgICAgICAgICBpbnN0Ll9mbHVzaFByb3BlcnRpZXMoKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGl0ZW0gYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4gZWxlbWVudCBzdGFtcGVkIGJ5CiAgICAgKiB0aGlzIGBkb20tcmVwZWF0YC4KICAgICAqCiAgICAgKiBOb3RlLCB0byBtb2RpZnkgc3ViLXByb3BlcnRpZXMgb2YgdGhlIGl0ZW0sCiAgICAgKiBgbW9kZWxGb3JFbGVtZW50KGVsKS5zZXQoJ2l0ZW0uPHN1Yi1wcm9wPicsIHZhbHVlKWAKICAgICAqIHNob3VsZCBiZSB1c2VkLgogICAgICoKICAgICAqIEBwYXJhbSB7IUhUTUxFbGVtZW50fSBlbCBFbGVtZW50IGZvciB3aGljaCB0byByZXR1cm4gdGhlIGl0ZW0uCiAgICAgKiBAcmV0dXJuIHsqfSBJdGVtIGFzc29jaWF0ZWQgd2l0aCB0aGUgZWxlbWVudC4KICAgICAqLwogICAgaXRlbUZvckVsZW1lbnQoZWwpIHsKICAgICAgbGV0IGluc3RhbmNlID0gdGhpcy5tb2RlbEZvckVsZW1lbnQoZWwpOwogICAgICByZXR1cm4gaW5zdGFuY2UgJiYgaW5zdGFuY2VbdGhpcy5hc107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBpbnN0IGluZGV4IGZvciBhIGdpdmVuIGVsZW1lbnQgc3RhbXBlZCBieSB0aGlzIGBkb20tcmVwZWF0YC4KICAgICAqIElmIGBzb3J0YCBpcyBwcm92aWRlZCwgdGhlIGluZGV4IHdpbGwgcmVmbGVjdCB0aGUgc29ydGVkIG9yZGVyIChyYXRoZXIKICAgICAqIHRoYW4gdGhlIG9yaWdpbmFsIGFycmF5IG9yZGVyKS4KICAgICAqCiAgICAgKiBAcGFyYW0geyFIVE1MRWxlbWVudH0gZWwgRWxlbWVudCBmb3Igd2hpY2ggdG8gcmV0dXJuIHRoZSBpbmRleC4KICAgICAqIEByZXR1cm4gez9udW1iZXJ9IFJvdyBpbmRleCBhc3NvY2lhdGVkIHdpdGggdGhlIGVsZW1lbnQgKG5vdGUgdGhpcyBtYXkKICAgICAqICAgbm90IGNvcnJlc3BvbmQgdG8gdGhlIGFycmF5IGluZGV4IGlmIGEgdXNlciBgc29ydGAgaXMgYXBwbGllZCkuCiAgICAgKi8KICAgIGluZGV4Rm9yRWxlbWVudChlbCkgewogICAgICBsZXQgaW5zdGFuY2UgPSB0aGlzLm1vZGVsRm9yRWxlbWVudChlbCk7CiAgICAgIHJldHVybiBpbnN0YW5jZSAmJiBpbnN0YW5jZVt0aGlzLmluZGV4QXNdOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgdGVtcGxhdGUgIm1vZGVsIiBhc3NvY2lhdGVkIHdpdGggYSBnaXZlbiBlbGVtZW50LCB3aGljaAogICAgICogc2VydmVzIGFzIHRoZSBiaW5kaW5nIHNjb3BlIGZvciB0aGUgdGVtcGxhdGUgaW5zdGFuY2UgdGhlIGVsZW1lbnQgaXMKICAgICAqIGNvbnRhaW5lZCBpbi4gQSB0ZW1wbGF0ZSBtb2RlbCBpcyBhbiBpbnN0YW5jZSBvZiBgUG9seW1lci5CYXNlYCwgYW5kCiAgICAgKiBzaG91bGQgYmUgdXNlZCB0byBtYW5pcHVsYXRlIGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoaXMgdGVtcGxhdGUgaW5zdGFuY2UuCiAgICAgKgogICAgICogRXhhbXBsZToKICAgICAqCiAgICAgKiAgIGxldCBtb2RlbCA9IG1vZGVsRm9yRWxlbWVudChlbCk7CiAgICAgKiAgIGlmIChtb2RlbC5pbmRleCA8IDEwKSB7CiAgICAgKiAgICAgbW9kZWwuc2V0KCdpdGVtLmNoZWNrZWQnLCB0cnVlKTsKICAgICAqICAgfQogICAgICoKICAgICAqIEBwYXJhbSB7IUhUTUxFbGVtZW50fSBlbCBFbGVtZW50IGZvciB3aGljaCB0byByZXR1cm4gYSB0ZW1wbGF0ZSBtb2RlbC4KICAgICAqIEByZXR1cm4ge1RlbXBsYXRlSW5zdGFuY2VCYXNlfSBNb2RlbCByZXByZXNlbnRpbmcgdGhlIGJpbmRpbmcgc2NvcGUgZm9yCiAgICAgKiAgIHRoZSBlbGVtZW50LgogICAgICovCiAgICBtb2RlbEZvckVsZW1lbnQoZWwpIHsKICAgICAgcmV0dXJuIFBvbHltZXIuVGVtcGxhdGl6ZS5tb2RlbEZvckVsZW1lbnQodGhpcy50ZW1wbGF0ZSwgZWwpOwogICAgfQoKICB9CgogIGN1c3RvbUVsZW1lbnRzLmRlZmluZShEb21SZXBlYXQuaXMsIERvbVJlcGVhdCk7CgogIC8qKiBAY29uc3QgKi8KICBQb2x5bWVyLkRvbVJlcGVhdCA9IERvbVJlcGVhdDsKCn0pKCk7CgoKCgooZnVuY3Rpb24oKSB7CiAgJ3VzZSBzdHJpY3QnOwoKICAvKioKICAgKiBUaGUgYDxkb20taWY+YCBlbGVtZW50IHdpbGwgc3RhbXAgYSBsaWdodC1kb20gYDx0ZW1wbGF0ZT5gIGNoaWxkIHdoZW4KICAgKiB0aGUgYGlmYCBwcm9wZXJ0eSBiZWNvbWVzIHRydXRoeSwgYW5kIHRoZSB0ZW1wbGF0ZSBjYW4gdXNlIFBvbHltZXIKICAgKiBkYXRhLWJpbmRpbmcgYW5kIGRlY2xhcmF0aXZlIGV2ZW50IGZlYXR1cmVzIHdoZW4gdXNlZCBpbiB0aGUgY29udGV4dCBvZgogICAqIGEgUG9seW1lciBlbGVtZW50J3MgdGVtcGxhdGUuCiAgICoKICAgKiBXaGVuIGBpZmAgYmVjb21lcyBmYWxzeSwgdGhlIHN0YW1wZWQgY29udGVudCBpcyBoaWRkZW4gYnV0IG5vdAogICAqIHJlbW92ZWQgZnJvbSBkb20uIFdoZW4gYGlmYCBzdWJzZXF1ZW50bHkgYmVjb21lcyB0cnV0aHkgYWdhaW4sIHRoZSBjb250ZW50CiAgICogaXMgc2ltcGx5IHJlLXNob3duLiBUaGlzIGFwcHJvYWNoIGlzIHVzZWQgZHVlIHRvIGl0cyBmYXZvcmFibGUgcGVyZm9ybWFuY2UKICAgKiBjaGFyYWN0ZXJpc3RpY3M6IHRoZSBleHBlbnNlIG9mIGNyZWF0aW5nIHRlbXBsYXRlIGNvbnRlbnQgaXMgcGFpZCBvbmx5CiAgICogb25jZSBhbmQgbGF6aWx5LgogICAqCiAgICogU2V0IHRoZSBgcmVzdGFtcGAgcHJvcGVydHkgdG8gdHJ1ZSB0byBmb3JjZSB0aGUgc3RhbXBlZCBjb250ZW50IHRvIGJlCiAgICogY3JlYXRlZCAvIGRlc3Ryb3llZCB3aGVuIHRoZSBgaWZgIGNvbmRpdGlvbiBjaGFuZ2VzLgogICAqCiAgICogQGN1c3RvbUVsZW1lbnQKICAgKiBAcG9seW1lcgogICAqIEBleHRlbmRzIFBvbHltZXIuRWxlbWVudAogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHN1bW1hcnkgQ3VzdG9tIGVsZW1lbnQgdGhhdCBjb25kaXRpb25hbGx5IHN0YW1wcyBhbmQgaGlkZXMgb3IgcmVtb3ZlcwogICAqICAgdGVtcGxhdGUgY29udGVudCBiYXNlZCBvbiBhIGJvb2xlYW4gZmxhZy4KICAgKi8KICBjbGFzcyBEb21JZiBleHRlbmRzIFBvbHltZXIuRWxlbWVudCB7CgogICAgLy8gTm90IG5lZWRlZCB0byBmaW5kIHRlbXBsYXRlOyBjYW4gYmUgcmVtb3ZlZCBvbmNlIHRoZSBhbmFseXplcgogICAgLy8gY2FuIGZpbmQgdGhlIHRhZyBuYW1lIGZyb20gY3VzdG9tRWxlbWVudHMuZGVmaW5lIGNhbGwKICAgIHN0YXRpYyBnZXQgaXMoKSB7IHJldHVybiAnZG9tLWlmJzsgfQoKICAgIHN0YXRpYyBnZXQgdGVtcGxhdGUoKSB7IHJldHVybiBudWxsOyB9CgogICAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkgewoKICAgICAgcmV0dXJuIHsKCiAgICAgICAgLyoqCiAgICAgICAgICogRmlyZWQgd2hlbmV2ZXIgRE9NIGlzIGFkZGVkIG9yIHJlbW92ZWQvaGlkZGVuIGJ5IHRoaXMgdGVtcGxhdGUgKGJ5CiAgICAgICAgICogZGVmYXVsdCwgcmVuZGVyaW5nIG9jY3VycyBsYXppbHkpLiAgVG8gZm9yY2UgaW1tZWRpYXRlIHJlbmRlcmluZywgY2FsbAogICAgICAgICAqIGByZW5kZXJgLgogICAgICAgICAqCiAgICAgICAgICogQGV2ZW50IGRvbS1jaGFuZ2UKICAgICAgICAgKi8KCiAgICAgICAgLyoqCiAgICAgICAgICogQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGlzIHRlbXBsYXRlIHNob3VsZCBzdGFtcC4KICAgICAgICAgKi8KICAgICAgICBpZjogewogICAgICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgICAgIG9ic2VydmVyOiAnX19kZWJvdW5jZVJlbmRlcicKICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBXaGVuIHRydWUsIGVsZW1lbnRzIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIERPTSBhbmQgZGlzY2FyZGVkIHdoZW4gYGlmYAogICAgICAgICAqIGJlY29tZXMgZmFsc2UgYW5kIHJlLWNyZWF0ZWQgYW5kIGFkZGVkIGJhY2sgdG8gdGhlIERPTSB3aGVuIGBpZmAKICAgICAgICAgKiBiZWNvbWVzIHRydWUuICBCeSBkZWZhdWx0LCBzdGFtcGVkIGVsZW1lbnRzIHdpbGwgYmUgaGlkZGVuIGJ1dCBsZWZ0CiAgICAgICAgICogaW4gdGhlIERPTSB3aGVuIGBpZmAgYmVjb21lcyBmYWxzZSwgd2hpY2ggaXMgZ2VuZXJhbGx5IHJlc3VsdHMKICAgICAgICAgKiBpbiBiZXR0ZXIgcGVyZm9ybWFuY2UuCiAgICAgICAgICovCiAgICAgICAgcmVzdGFtcDogewogICAgICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgICAgIG9ic2VydmVyOiAnX19kZWJvdW5jZVJlbmRlcicKICAgICAgICB9CgogICAgICB9OwoKICAgIH0KCiAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgc3VwZXIoKTsKICAgICAgdGhpcy5fX3JlbmRlckRlYm91bmNlciA9IG51bGw7CiAgICAgIHRoaXMuX19pbnZhbGlkUHJvcHMgPSBudWxsOwogICAgICB0aGlzLl9faW5zdGFuY2UgPSBudWxsOwogICAgICB0aGlzLl9sYXN0SWYgPSBmYWxzZTsKICAgICAgdGhpcy5fX2N0b3IgPSBudWxsOwogICAgfQoKICAgIF9fZGVib3VuY2VSZW5kZXIoKSB7CiAgICAgIC8vIFJlbmRlciBpcyBhc3luYyBmb3IgMiByZWFzb25zOgogICAgICAvLyAxLiBUbyBlbGltaW5hdGUgZG9tIGNyZWF0aW9uIHRyYXNoaW5nIGlmIHVzZXIgY29kZSB0aHJhc2hlcyBgaWZgIGluIHRoZQogICAgICAvLyAgICBzYW1lIHR1cm4uIFRoaXMgd2FzIG1vcmUgY29tbW9uIGluIDEueCB3aGVyZSBhIGNvbXBvdW5kIGNvbXB1dGVkCiAgICAgIC8vICAgIHByb3BlcnR5IGNvdWxkIHJlc3VsdCBpbiB0aGUgcmVzdWx0IGNoYW5naW5nIG11bHRpcGxlIHRpbWVzLCBidXQgaXMKICAgICAgLy8gICAgbWl0aWdhdGVkIHRvIGEgbGFyZ2UgZXh0ZW50IGJ5IGJhdGNoZWQgcHJvcGVydHkgcHJvY2Vzc2luZyBpbiAyLnguCiAgICAgIC8vIDIuIFRvIGF2b2lkIGRvdWJsZSBvYmplY3QgcHJvcGFnYXRpb24gd2hlbiBhIGJhZyBpbmNsdWRpbmcgdmFsdWVzIGJvdW5kCiAgICAgIC8vICAgIHRvIHRoZSBgaWZgIHByb3BlcnR5IGFzIHdlbGwgYXMgb25lIG9yIG1vcmUgaG9zdFByb3BzIGNvdWxkIGVucXVldWUKICAgICAgLy8gICAgdGhlIDxkb20taWY+IHRvIGZsdXNoIGJlZm9yZSB0aGUgPHRlbXBsYXRlPidzIGhvc3QgcHJvcGVydHkKICAgICAgLy8gICAgZm9yd2FyZGluZy4gSW4gdGhhdCBzY2VuYXJpbyBjcmVhdGluZyBhbiBpbnN0YW5jZSB3b3VsZCByZXN1bHQgaW4KICAgICAgLy8gICAgdGhlIGhvc3QgcHJvcHMgYmVpbmcgc2V0IG9uY2UsIGFuZCB0aGVuIHRoZSBlbnF1ZXVlZCBjaGFuZ2VzIG9uIHRoZQogICAgICAvLyAgICB0ZW1wbGF0ZSB3b3VsZCBzZXQgcHJvcGVydGllcyBhIHNlY29uZCB0aW1lLCBwb3RlbnRpYWxseSBjYXVzaW5nIGFuCiAgICAgIC8vICAgIG9iamVjdCB0byBiZSBzZXQgdG8gYW4gaW5zdGFuY2UgbW9yZSB0aGFuIG9uY2UuICBDcmVhdGluZyB0aGUKICAgICAgLy8gICAgaW5zdGFuY2UgYXN5bmMgZnJvbSBmbHVzaGluZyBkYXRhIGVuc3VyZXMgdGhpcyBkb2Vzbid0IGhhcHBlbi4gSWYKICAgICAgLy8gICAgd2Ugd2FudGVkIGEgc3luYyBvcHRpb24gaW4gdGhlIGZ1dHVyZSwgc2ltcGx5IGhhdmluZyA8ZG9tLWlmPiBmbHVzaAogICAgICAvLyAgICAob3IgY2xlYXIpIGl0cyB0ZW1wbGF0ZSdzIHBlbmRpbmcgaG9zdCBwcm9wZXJ0aWVzIGJlZm9yZSBjcmVhdGluZwogICAgICAvLyAgICB0aGUgaW5zdGFuY2Ugd291bGQgYWxzbyBhdm9pZCB0aGUgcHJvYmxlbS4KICAgICAgdGhpcy5fX3JlbmRlckRlYm91bmNlciA9IFBvbHltZXIuRGVib3VuY2VyLmRlYm91bmNlKAogICAgICAgICAgICB0aGlzLl9fcmVuZGVyRGVib3VuY2VyCiAgICAgICAgICAsIFBvbHltZXIuQXN5bmMubWljcm9UYXNrCiAgICAgICAgICAsICgpID0+IHRoaXMuX19yZW5kZXIoKSk7CiAgICAgIFBvbHltZXIuZW5xdWV1ZURlYm91bmNlcih0aGlzLl9fcmVuZGVyRGVib3VuY2VyKTsKICAgIH0KCiAgICAvKioKICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgKi8KICAgIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkgewogICAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpOwogICAgICBpZiAoIXRoaXMucGFyZW50Tm9kZSB8fAogICAgICAgICAgKHRoaXMucGFyZW50Tm9kZS5ub2RlVHlwZSA9PSBOb2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUgJiYKICAgICAgICAgICAhdGhpcy5wYXJlbnROb2RlLmhvc3QpKSB7CiAgICAgICAgdGhpcy5fX3RlYXJkb3duSW5zdGFuY2UoKTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7CiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7CiAgICAgIHRoaXMuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgaWYgKHRoaXMuaWYpIHsKICAgICAgICB0aGlzLl9fZGVib3VuY2VSZW5kZXIoKTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogRm9yY2VzIHRoZSBlbGVtZW50IHRvIHJlbmRlciBpdHMgY29udGVudC4gTm9ybWFsbHkgcmVuZGVyaW5nIGlzCiAgICAgKiBhc3luY2hyb25vdXMgdG8gYSBwcm92b2tpbmcgY2hhbmdlLiBUaGlzIGlzIGRvbmUgZm9yIGVmZmljaWVuY3kgc28KICAgICAqIHRoYXQgbXVsdGlwbGUgY2hhbmdlcyB0cmlnZ2VyIG9ubHkgYSBzaW5nbGUgcmVuZGVyLiBUaGUgcmVuZGVyIG1ldGhvZAogICAgICogc2hvdWxkIGJlIGNhbGxlZCBpZiwgZm9yIGV4YW1wbGUsIHRlbXBsYXRlIHJlbmRlcmluZyBpcyByZXF1aXJlZCB0bwogICAgICogdmFsaWRhdGUgYXBwbGljYXRpb24gc3RhdGUuCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICByZW5kZXIoKSB7CiAgICAgIFBvbHltZXIuZmx1c2goKTsKICAgIH0KCiAgICBfX3JlbmRlcigpIHsKICAgICAgaWYgKHRoaXMuaWYpIHsKICAgICAgICBpZiAoIXRoaXMuX19lbnN1cmVJbnN0YW5jZSgpKSB7CiAgICAgICAgICAvLyBObyB0ZW1wbGF0ZSBmb3VuZCB5ZXQKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdGhpcy5fc2hvd0hpZGVDaGlsZHJlbigpOwogICAgICB9IGVsc2UgaWYgKHRoaXMucmVzdGFtcCkgewogICAgICAgIHRoaXMuX190ZWFyZG93bkluc3RhbmNlKCk7CiAgICAgIH0KICAgICAgaWYgKCF0aGlzLnJlc3RhbXAgJiYgdGhpcy5fX2luc3RhbmNlKSB7CiAgICAgICAgdGhpcy5fc2hvd0hpZGVDaGlsZHJlbigpOwogICAgICB9CiAgICAgIGlmICh0aGlzLmlmICE9IHRoaXMuX2xhc3RJZikgewogICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2RvbS1jaGFuZ2UnLCB7CiAgICAgICAgICBidWJibGVzOiB0cnVlLAogICAgICAgICAgY29tcG9zZWQ6IHRydWUKICAgICAgICB9KSk7CiAgICAgICAgdGhpcy5fbGFzdElmID0gdGhpcy5pZjsKICAgICAgfQogICAgfQoKICAgIF9fZW5zdXJlSW5zdGFuY2UoKSB7CiAgICAgIGxldCBwYXJlbnROb2RlID0gdGhpcy5wYXJlbnROb2RlOwogICAgICAvLyBHdWFyZCBhZ2FpbnN0IGVsZW1lbnQgYmVpbmcgZGV0YWNoZWQgd2hpbGUgcmVuZGVyIHdhcyBxdWV1ZWQKICAgICAgaWYgKHBhcmVudE5vZGUpIHsKICAgICAgICBpZiAoIXRoaXMuX19jdG9yKSB7CiAgICAgICAgICBsZXQgdGVtcGxhdGUgPSAvKiogQHR5cGUge0hUTUxUZW1wbGF0ZUVsZW1lbnR9ICovKHRoaXMucXVlcnlTZWxlY3RvcigndGVtcGxhdGUnKSk7CiAgICAgICAgICBpZiAoIXRlbXBsYXRlKSB7CiAgICAgICAgICAgIC8vIFdhaXQgdW50aWwgY2hpbGRMaXN0IGNoYW5nZXMgYW5kIHRlbXBsYXRlIHNob3VsZCBiZSB0aGVyZSBieSB0aGVuCiAgICAgICAgICAgIGxldCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHsKICAgICAgICAgICAgICBpZiAodGhpcy5xdWVyeVNlbGVjdG9yKCd0ZW1wbGF0ZScpKSB7CiAgICAgICAgICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CiAgICAgICAgICAgICAgICB0aGlzLl9fcmVuZGVyKCk7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignZG9tLWlmIHJlcXVpcmVzIGEgPHRlbXBsYXRlPiBjaGlsZCcpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGhpcywge2NoaWxkTGlzdDogdHJ1ZX0pOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLl9fY3RvciA9IFBvbHltZXIuVGVtcGxhdGl6ZS50ZW1wbGF0aXplKHRlbXBsYXRlLCB0aGlzLCB7CiAgICAgICAgICAgIC8vIGRvbS1pZiB0ZW1wbGF0aXplciBpbnN0YW5jZXMgcmVxdWlyZSBgbXV0YWJsZTogdHJ1ZWAsIGFzCiAgICAgICAgICAgIC8vIGBfX3N5bmNIb3N0UHJvcGVydGllc2AgcmVsaWVzIG9uIHRoYXQgYmVoYXZpb3IgdG8gc3luYyBvYmplY3RzCiAgICAgICAgICAgIG11dGFibGVEYXRhOiB0cnVlLAogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHByb3AgUHJvcGVydHkgdG8gZm9yd2FyZAogICAgICAgICAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFZhbHVlIG9mIHByb3BlcnR5CiAgICAgICAgICAgICAqIEB0aGlzIHt0aGlzfQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZm9yd2FyZEhvc3RQcm9wOiBmdW5jdGlvbihwcm9wLCB2YWx1ZSkgewogICAgICAgICAgICAgIGlmICh0aGlzLl9faW5zdGFuY2UpIHsKICAgICAgICAgICAgICAgIGlmICh0aGlzLmlmKSB7CiAgICAgICAgICAgICAgICAgIHRoaXMuX19pbnN0YW5jZS5mb3J3YXJkSG9zdFByb3AocHJvcCwgdmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBhbiBpbnN0YW5jZSBidXQgYXJlIHNxdWVsY2hpbmcgaG9zdCBwcm9wZXJ0eQogICAgICAgICAgICAgICAgICAvLyBmb3J3YXJkaW5nIGR1ZSB0byBpZiBiZWluZyBmYWxzZSwgbm90ZSB0aGUgaW52YWxpZGF0ZWQKICAgICAgICAgICAgICAgICAgLy8gcHJvcGVydGllcyBzbyBgX19zeW5jSG9zdFByb3BlcnRpZXNgIGNhbiBzeW5jIHRoZW0gdGhlIG5leHQKICAgICAgICAgICAgICAgICAgLy8gdGltZSBgaWZgIGJlY29tZXMgdHJ1ZQogICAgICAgICAgICAgICAgICB0aGlzLl9faW52YWxpZFByb3BzID0gdGhpcy5fX2ludmFsaWRQcm9wcyB8fCBPYmplY3QuY3JlYXRlKG51bGwpOwogICAgICAgICAgICAgICAgICB0aGlzLl9faW52YWxpZFByb3BzW1BvbHltZXIuUGF0aC5yb290KHByb3ApXSA9IHRydWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgICAgaWYgKCF0aGlzLl9faW5zdGFuY2UpIHsKICAgICAgICAgIHRoaXMuX19pbnN0YW5jZSA9IG5ldyB0aGlzLl9fY3RvcigpOwogICAgICAgICAgcGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5fX2luc3RhbmNlLnJvb3QsIHRoaXMpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLl9fc3luY0hvc3RQcm9wZXJ0aWVzKCk7CiAgICAgICAgICBsZXQgYyQgPSB0aGlzLl9faW5zdGFuY2UuY2hpbGRyZW47CiAgICAgICAgICBpZiAoYyQgJiYgYyQubGVuZ3RoKSB7CiAgICAgICAgICAgIC8vIERldGVjdCBjYXNlIHdoZXJlIGRvbS1pZiB3YXMgcmUtYXR0YWNoZWQgaW4gbmV3IHBvc2l0aW9uCiAgICAgICAgICAgIGxldCBsYXN0Q2hpbGQgPSB0aGlzLnByZXZpb3VzU2libGluZzsKICAgICAgICAgICAgaWYgKGxhc3RDaGlsZCAhPT0gYyRbYyQubGVuZ3RoLTFdKSB7CiAgICAgICAgICAgICAgZm9yIChsZXQgaT0wLCBuOyAoaTxjJC5sZW5ndGgpICYmIChuPWMkW2ldKTsgaSsrKSB7CiAgICAgICAgICAgICAgICBwYXJlbnROb2RlLmluc2VydEJlZm9yZShuLCB0aGlzKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgX19zeW5jSG9zdFByb3BlcnRpZXMoKSB7CiAgICAgIGxldCBwcm9wcyA9IHRoaXMuX19pbnZhbGlkUHJvcHM7CiAgICAgIGlmIChwcm9wcykgewogICAgICAgIGZvciAobGV0IHByb3AgaW4gcHJvcHMpIHsKICAgICAgICAgIHRoaXMuX19pbnN0YW5jZS5fc2V0UGVuZGluZ1Byb3BlcnR5KHByb3AsIHRoaXMuX19kYXRhSG9zdFtwcm9wXSk7CiAgICAgICAgfQogICAgICAgIHRoaXMuX19pbnZhbGlkUHJvcHMgPSBudWxsOwogICAgICAgIHRoaXMuX19pbnN0YW5jZS5fZmx1c2hQcm9wZXJ0aWVzKCk7CiAgICAgIH0KICAgIH0KCiAgICBfX3RlYXJkb3duSW5zdGFuY2UoKSB7CiAgICAgIGlmICh0aGlzLl9faW5zdGFuY2UpIHsKICAgICAgICBsZXQgYyQgPSB0aGlzLl9faW5zdGFuY2UuY2hpbGRyZW47CiAgICAgICAgaWYgKGMkICYmIGMkLmxlbmd0aCkgewogICAgICAgICAgLy8gdXNlIGZpcnN0IGNoaWxkIHBhcmVudCwgZm9yIGNhc2Ugd2hlbiBkb20taWYgbWF5IGhhdmUgYmVlbiBkZXRhY2hlZAogICAgICAgICAgbGV0IHBhcmVudCA9IGMkWzBdLnBhcmVudE5vZGU7CiAgICAgICAgICAvLyBJbnN0YW5jZSBjaGlsZHJlbiBtYXkgYmUgZGlzY29ubmVjdGVkIGZyb20gcGFyZW50cyB3aGVuIGRvbS1pZgogICAgICAgICAgLy8gZGV0YWNoZXMgaWYgYSB0cmVlIHdhcyBpbm5lckhUTUwnZWQKICAgICAgICAgIGlmIChwYXJlbnQpIHsKICAgICAgICAgICAgZm9yIChsZXQgaT0wLCBuOyAoaTxjJC5sZW5ndGgpICYmIChuPWMkW2ldKTsgaSsrKSB7CiAgICAgICAgICAgICAgcGFyZW50LnJlbW92ZUNoaWxkKG4pOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHRoaXMuX19pbnN0YW5jZSA9IG51bGw7CiAgICAgICAgdGhpcy5fX2ludmFsaWRQcm9wcyA9IG51bGw7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFNob3dzIG9yIGhpZGVzIHRoZSB0ZW1wbGF0ZSBpbnN0YW5jZSB0b3AgbGV2ZWwgY2hpbGQgZWxlbWVudHMuIEZvcgogICAgICogdGV4dCBub2RlcywgYHRleHRDb250ZW50YCBpcyByZW1vdmVkIHdoaWxlICJoaWRkZW4iIGFuZCByZXBsYWNlZCB3aGVuCiAgICAgKiAic2hvd24uIgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqIEBwcm90ZWN0ZWQKICAgICAqLwogICAgX3Nob3dIaWRlQ2hpbGRyZW4oKSB7CiAgICAgIGxldCBoaWRkZW4gPSB0aGlzLl9faGlkZVRlbXBsYXRlQ2hpbGRyZW5fXyB8fCAhdGhpcy5pZjsKICAgICAgaWYgKHRoaXMuX19pbnN0YW5jZSkgewogICAgICAgIHRoaXMuX19pbnN0YW5jZS5fc2hvd0hpZGVDaGlsZHJlbihoaWRkZW4pOwogICAgICB9CiAgICB9CgogIH0KCiAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKERvbUlmLmlzLCBEb21JZik7CgogIC8qKiBAY29uc3QgKi8KICBQb2x5bWVyLkRvbUlmID0gRG9tSWY7Cgp9KSgpOwoKCihmdW5jdGlvbigpIHsKICAndXNlIHN0cmljdCc7CgogIC8qKgogICAqIEVsZW1lbnQgbWl4aW4gZm9yIHJlY29yZGluZyBkeW5hbWljIGFzc29jaWF0aW9ucyBiZXR3ZWVuIGl0ZW0gcGF0aHMgaW4gYQogICAqIG1hc3RlciBgaXRlbXNgIGFycmF5IGFuZCBhIGBzZWxlY3RlZGAgYXJyYXkgc3VjaCB0aGF0IHBhdGggY2hhbmdlcyB0byB0aGUKICAgKiBtYXN0ZXIgYXJyYXkgKGF0IHRoZSBob3N0KSBlbGVtZW50IG9yIGVsc2V3aGVyZSB2aWEgZGF0YS1iaW5kaW5nKSBhcmUKICAgKiBjb3JyZWN0bHkgcHJvcGFnYXRlZCB0byBpdGVtcyBpbiB0aGUgc2VsZWN0ZWQgYXJyYXkgYW5kIHZpY2UtdmVyc2EuCiAgICoKICAgKiBUaGUgYGl0ZW1zYCBwcm9wZXJ0eSBhY2NlcHRzIGFuIGFycmF5IG9mIHVzZXIgZGF0YSwgYW5kIHZpYSB0aGUKICAgKiBgc2VsZWN0KGl0ZW0pYCBhbmQgYGRlc2VsZWN0KGl0ZW0pYCBBUEksIHVwZGF0ZXMgdGhlIGBzZWxlY3RlZGAgcHJvcGVydHkKICAgKiB3aGljaCBtYXkgYmUgYm91bmQgdG8gb3RoZXIgcGFydHMgb2YgdGhlIGFwcGxpY2F0aW9uLCBhbmQgYW55IGNoYW5nZXMgdG8KICAgKiBzdWItZmllbGRzIG9mIGBzZWxlY3RlZGAgaXRlbShzKSB3aWxsIGJlIGtlcHQgaW4gc3luYyB3aXRoIGl0ZW1zIGluIHRoZQogICAqIGBpdGVtc2AgYXJyYXkuICBXaGVuIGBtdWx0aWAgaXMgZmFsc2UsIGBzZWxlY3RlZGAgaXMgYSBwcm9wZXJ0eQogICAqIHJlcHJlc2VudGluZyB0aGUgbGFzdCBzZWxlY3RlZCBpdGVtLiAgV2hlbiBgbXVsdGlgIGlzIHRydWUsIGBzZWxlY3RlZGAKICAgKiBpcyBhbiBhcnJheSBvZiBtdWx0aXBseSBzZWxlY3RlZCBpdGVtcy4KICAgKgogICAqIEBwb2x5bWVyCiAgICogQG1peGluRnVuY3Rpb24KICAgKiBAYXBwbGllc01peGluIFBvbHltZXIuRWxlbWVudE1peGluCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAc3VtbWFyeSBFbGVtZW50IG1peGluIGZvciByZWNvcmRpbmcgZHluYW1pYyBhc3NvY2lhdGlvbnMgYmV0d2VlbiBpdGVtIHBhdGhzIGluIGEKICAgKiBtYXN0ZXIgYGl0ZW1zYCBhcnJheSBhbmQgYSBgc2VsZWN0ZWRgIGFycmF5CiAgICovCiAgbGV0IEFycmF5U2VsZWN0b3JNaXhpbiA9IFBvbHltZXIuZGVkdXBpbmdNaXhpbihzdXBlckNsYXNzID0+IHsKCiAgICAvKioKICAgICAqIEBjb25zdHJ1Y3RvcgogICAgICogQGV4dGVuZHMge3N1cGVyQ2xhc3N9CiAgICAgKiBAaW1wbGVtZW50cyB7UG9seW1lcl9FbGVtZW50TWl4aW59CiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBsZXQgZWxlbWVudEJhc2UgPSBQb2x5bWVyLkVsZW1lbnRNaXhpbihzdXBlckNsYXNzKTsKCiAgICAvKioKICAgICAqIEBwb2x5bWVyCiAgICAgKiBAbWl4aW5DbGFzcwogICAgICogQGltcGxlbWVudHMge1BvbHltZXJfQXJyYXlTZWxlY3Rvck1peGlufQogICAgICogQHVucmVzdHJpY3RlZAogICAgICovCiAgICBjbGFzcyBBcnJheVNlbGVjdG9yTWl4aW4gZXh0ZW5kcyBlbGVtZW50QmFzZSB7CgogICAgICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7CgogICAgICAgIHJldHVybiB7CgogICAgICAgICAgLyoqCiAgICAgICAgICAgKiBBbiBhcnJheSBjb250YWluaW5nIGl0ZW1zIGZyb20gd2hpY2ggc2VsZWN0aW9uIHdpbGwgYmUgbWFkZS4KICAgICAgICAgICAqLwogICAgICAgICAgaXRlbXM6IHsKICAgICAgICAgICAgdHlwZTogQXJyYXksCiAgICAgICAgICB9LAoKICAgICAgICAgIC8qKgogICAgICAgICAgICogV2hlbiBgdHJ1ZWAsIG11bHRpcGxlIGl0ZW1zIG1heSBiZSBzZWxlY3RlZCBhdCBvbmNlIChpbiB0aGlzIGNhc2UsCiAgICAgICAgICAgKiBgc2VsZWN0ZWRgIGlzIGFuIGFycmF5IG9mIGN1cnJlbnRseSBzZWxlY3RlZCBpdGVtcykuICBXaGVuIGBmYWxzZWAsCiAgICAgICAgICAgKiBvbmx5IG9uZSBpdGVtIG1heSBiZSBzZWxlY3RlZCBhdCBhIHRpbWUuCiAgICAgICAgICAgKi8KICAgICAgICAgIG11bHRpOiB7CiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSwKICAgICAgICAgIH0sCgogICAgICAgICAgLyoqCiAgICAgICAgICAgKiBXaGVuIGBtdWx0aWAgaXMgdHJ1ZSwgdGhpcyBpcyBhbiBhcnJheSB0aGF0IGNvbnRhaW5zIGFueSBzZWxlY3RlZC4KICAgICAgICAgICAqIFdoZW4gYG11bHRpYCBpcyBmYWxzZSwgdGhpcyBpcyB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGl0ZW0sIG9yIGBudWxsYAogICAgICAgICAgICogaWYgbm8gaXRlbSBpcyBzZWxlY3RlZC4KICAgICAgICAgICAqIEB0eXBlIHs/KE9iamVjdHxBcnJheTwhT2JqZWN0Pil9CiAgICAgICAgICAgKi8KICAgICAgICAgIHNlbGVjdGVkOiB7CiAgICAgICAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgICAgICAgbm90aWZ5OiB0cnVlCiAgICAgICAgICB9LAoKICAgICAgICAgIC8qKgogICAgICAgICAgICogV2hlbiBgbXVsdGlgIGlzIGZhbHNlLCB0aGlzIGlzIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgaXRlbSwgb3IgYG51bGxgCiAgICAgICAgICAgKiBpZiBubyBpdGVtIGlzIHNlbGVjdGVkLgogICAgICAgICAgICogQHR5cGUgez9PYmplY3R9CiAgICAgICAgICAgKi8KICAgICAgICAgIHNlbGVjdGVkSXRlbTogewogICAgICAgICAgICB0eXBlOiBPYmplY3QsCiAgICAgICAgICAgIG5vdGlmeTogdHJ1ZQogICAgICAgICAgfSwKCiAgICAgICAgICAvKioKICAgICAgICAgICAqIFdoZW4gYHRydWVgLCBjYWxsaW5nIGBzZWxlY3RgIG9uIGFuIGl0ZW0gdGhhdCBpcyBhbHJlYWR5IHNlbGVjdGVkCiAgICAgICAgICAgKiB3aWxsIGRlc2VsZWN0IHRoZSBpdGVtLgogICAgICAgICAgICovCiAgICAgICAgICB0b2dnbGU6IHsKICAgICAgICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgICAgICAgdmFsdWU6IGZhbHNlCiAgICAgICAgICB9CgogICAgICAgIH07CiAgICAgIH0KCiAgICAgIHN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCkgewogICAgICAgIHJldHVybiBbJ19fdXBkYXRlU2VsZWN0aW9uKG11bHRpLCBpdGVtcy4qKSddOwogICAgICB9CgogICAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgICBzdXBlcigpOwogICAgICAgIHRoaXMuX19sYXN0SXRlbXMgPSBudWxsOwogICAgICAgIHRoaXMuX19sYXN0TXVsdGkgPSBudWxsOwogICAgICAgIHRoaXMuX19zZWxlY3RlZE1hcCA9IG51bGw7CiAgICAgIH0KCiAgICAgIF9fdXBkYXRlU2VsZWN0aW9uKG11bHRpLCBpdGVtc0luZm8pIHsKICAgICAgICBsZXQgcGF0aCA9IGl0ZW1zSW5mby5wYXRoOwogICAgICAgIGlmIChwYXRoID09ICdpdGVtcycpIHsKICAgICAgICAgIC8vIENhc2UgMSAtIGl0ZW1zIGFycmF5IGNoYW5nZWQsIHNvIGRpZmYgYWdhaW5zdCBwcmV2aW91cyBhcnJheSBhbmQKICAgICAgICAgIC8vIGRlc2VsZWN0IGFueSByZW1vdmVkIGl0ZW1zIGFuZCBhZGp1c3Qgc2VsZWN0ZWQgaW5kaWNlcwogICAgICAgICAgbGV0IG5ld0l0ZW1zID0gaXRlbXNJbmZvLmJhc2UgfHwgW107CiAgICAgICAgICBsZXQgbGFzdEl0ZW1zID0gdGhpcy5fX2xhc3RJdGVtczsKICAgICAgICAgIGxldCBsYXN0TXVsdGkgPSB0aGlzLl9fbGFzdE11bHRpOwogICAgICAgICAgaWYgKG11bHRpICE9PSBsYXN0TXVsdGkpIHsKICAgICAgICAgICAgdGhpcy5jbGVhclNlbGVjdGlvbigpOwogICAgICAgICAgfQogICAgICAgICAgaWYgKGxhc3RJdGVtcykgewogICAgICAgICAgICBsZXQgc3BsaWNlcyA9IFBvbHltZXIuQXJyYXlTcGxpY2UuY2FsY3VsYXRlU3BsaWNlcyhuZXdJdGVtcywgbGFzdEl0ZW1zKTsKICAgICAgICAgICAgdGhpcy5fX2FwcGx5U3BsaWNlcyhzcGxpY2VzKTsKICAgICAgICAgIH0KICAgICAgICAgIHRoaXMuX19sYXN0SXRlbXMgPSBuZXdJdGVtczsKICAgICAgICAgIHRoaXMuX19sYXN0TXVsdGkgPSBtdWx0aTsKICAgICAgICB9IGVsc2UgaWYgKGl0ZW1zSW5mby5wYXRoID09ICdpdGVtcy5zcGxpY2VzJykgewogICAgICAgICAgLy8gQ2FzZSAyIC0gZ290IHNwZWNpZmljIHNwbGljZSBpbmZvcm1hdGlvbiBkZXNjcmliaW5nIHRoZSBhcnJheSBtdXRhdGlvbjoKICAgICAgICAgIC8vIGRlc2VsZWN0IGFueSByZW1vdmVkIGl0ZW1zIGFuZCBhZGp1c3Qgc2VsZWN0ZWQgaW5kaWNlcwogICAgICAgICAgdGhpcy5fX2FwcGx5U3BsaWNlcyhpdGVtc0luZm8udmFsdWUuaW5kZXhTcGxpY2VzKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gQ2FzZSAzIC0gYW4gYXJyYXkgZWxlbWVudCB3YXMgY2hhbmdlZCwgc28gZGVzZWxlY3QgdGhlIHByZXZpb3VzCiAgICAgICAgICAvLyBpdGVtIGZvciB0aGF0IGluZGV4IGlmIGl0IHdhcyBwcmV2aW91c2x5IHNlbGVjdGVkCiAgICAgICAgICBsZXQgcGFydCA9IHBhdGguc2xpY2UoJ2l0ZW1zLicubGVuZ3RoKTsKICAgICAgICAgIGxldCBpZHggPSBwYXJzZUludChwYXJ0LCAxMCk7CiAgICAgICAgICBpZiAoKHBhcnQuaW5kZXhPZignLicpIDwgMCkgJiYgcGFydCA9PSBpZHgpIHsKICAgICAgICAgICAgdGhpcy5fX2Rlc2VsZWN0Q2hhbmdlZElkeChpZHgpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgX19hcHBseVNwbGljZXMoc3BsaWNlcykgewogICAgICAgIGxldCBzZWxlY3RlZCA9IHRoaXMuX19zZWxlY3RlZE1hcDsKICAgICAgICAvLyBBZGp1c3Qgc2VsZWN0ZWQgaW5kaWNlcyBhbmQgbWFyayByZW1vdmFscwogICAgICAgIGZvciAobGV0IGk9MDsgaTxzcGxpY2VzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBsZXQgcyA9IHNwbGljZXNbaV07CiAgICAgICAgICBzZWxlY3RlZC5mb3JFYWNoKChpZHgsIGl0ZW0pID0+IHsKICAgICAgICAgICAgaWYgKGlkeCA8IHMuaW5kZXgpIHsKICAgICAgICAgICAgICAvLyBubyBjaGFuZ2UKICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPj0gcy5pbmRleCArIHMucmVtb3ZlZC5sZW5ndGgpIHsKICAgICAgICAgICAgICAvLyBhZGp1c3QgaW5kZXgKICAgICAgICAgICAgICBzZWxlY3RlZC5zZXQoaXRlbSwgaWR4ICsgcy5hZGRlZENvdW50IC0gcy5yZW1vdmVkLmxlbmd0aCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgLy8gcmVtb3ZlIGluZGV4CiAgICAgICAgICAgICAgc2VsZWN0ZWQuc2V0KGl0ZW0sIC0xKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgICBmb3IgKGxldCBqPTA7IGo8cy5hZGRlZENvdW50OyBqKyspIHsKICAgICAgICAgICAgbGV0IGlkeCA9IHMuaW5kZXggKyBqOwogICAgICAgICAgICBpZiAoc2VsZWN0ZWQuaGFzKHRoaXMuaXRlbXNbaWR4XSkpIHsKICAgICAgICAgICAgICBzZWxlY3RlZC5zZXQodGhpcy5pdGVtc1tpZHhdLCBpZHgpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIFVwZGF0ZSBsaW5rZWQgcGF0aHMKICAgICAgICB0aGlzLl9fdXBkYXRlTGlua3MoKTsKICAgICAgICAvLyBSZW1vdmUgc2VsZWN0ZWQgaXRlbXMgdGhhdCB3ZXJlIHJlbW92ZWQgZnJvbSB0aGUgaXRlbXMgYXJyYXkKICAgICAgICBsZXQgc2lkeCA9IDA7CiAgICAgICAgc2VsZWN0ZWQuZm9yRWFjaCgoaWR4LCBpdGVtKSA9PiB7CiAgICAgICAgICBpZiAoaWR4IDwgMCkgewogICAgICAgICAgICBpZiAodGhpcy5tdWx0aSkgewogICAgICAgICAgICAgIHRoaXMuc3BsaWNlKCdzZWxlY3RlZCcsIHNpZHgsIDEpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkSXRlbSA9IG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc2VsZWN0ZWQuZGVsZXRlKGl0ZW0pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgc2lkeCsrOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9CgogICAgICBfX3VwZGF0ZUxpbmtzKCkgewogICAgICAgIHRoaXMuX19kYXRhTGlua2VkUGF0aHMgPSB7fTsKICAgICAgICBpZiAodGhpcy5tdWx0aSkgewogICAgICAgICAgbGV0IHNpZHggPSAwOwogICAgICAgICAgdGhpcy5fX3NlbGVjdGVkTWFwLmZvckVhY2goaWR4ID0+IHsKICAgICAgICAgICAgaWYgKGlkeCA+PSAwKSB7CiAgICAgICAgICAgICAgdGhpcy5saW5rUGF0aHMoJ2l0ZW1zLicgKyBpZHgsICdzZWxlY3RlZC4nICsgc2lkeCsrKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuX19zZWxlY3RlZE1hcC5mb3JFYWNoKGlkeCA9PiB7CiAgICAgICAgICAgIHRoaXMubGlua1BhdGhzKCdzZWxlY3RlZCcsICdpdGVtcy4nICsgaWR4KTsKICAgICAgICAgICAgdGhpcy5saW5rUGF0aHMoJ3NlbGVjdGVkSXRlbScsICdpdGVtcy4nICsgaWR4KTsKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIENsZWFycyB0aGUgc2VsZWN0aW9uIHN0YXRlLgogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgY2xlYXJTZWxlY3Rpb24oKSB7CiAgICAgICAgLy8gVW5iaW5kIHByZXZpb3VzIHNlbGVjdGlvbgogICAgICAgIHRoaXMuX19kYXRhTGlua2VkUGF0aHMgPSB7fTsKICAgICAgICAvLyBUaGUgc2VsZWN0ZWQgbWFwIHN0b3JlcyAzIHBpZWNlcyBvZiBpbmZvcm1hdGlvbjoKICAgICAgICAvLyBrZXk6IGl0ZW1zIGFycmF5IG9iamVjdAogICAgICAgIC8vIHZhbHVlOiBpdGVtcyBhcnJheSBpbmRleAogICAgICAgIC8vIG9yZGVyOiBzZWxlY3RlZCBhcnJheSBpbmRleAogICAgICAgIHRoaXMuX19zZWxlY3RlZE1hcCA9IG5ldyBNYXAoKTsKICAgICAgICAvLyBJbml0aWFsaXplIHNlbGVjdGlvbgogICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLm11bHRpID8gW10gOiBudWxsOwogICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gbnVsbDsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFJldHVybnMgd2hldGhlciB0aGUgaXRlbSBpcyBjdXJyZW50bHkgc2VsZWN0ZWQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7Kn0gaXRlbSBJdGVtIGZyb20gYGl0ZW1zYCBhcnJheSB0byB0ZXN0CiAgICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhlIGl0ZW0gaXMgc2VsZWN0ZWQKICAgICAgICovCiAgICAgIGlzU2VsZWN0ZWQoaXRlbSkgewogICAgICAgIHJldHVybiB0aGlzLl9fc2VsZWN0ZWRNYXAuaGFzKGl0ZW0pOwogICAgICB9CgogICAgICAvKioKICAgICAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBpdGVtIGlzIGN1cnJlbnRseSBzZWxlY3RlZC4KICAgICAgICoKICAgICAgICogQHBhcmFtIHtudW1iZXJ9IGlkeCBJbmRleCBmcm9tIGBpdGVtc2AgYXJyYXkgdG8gdGVzdAogICAgICAgKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoZSBpdGVtIGlzIHNlbGVjdGVkCiAgICAgICAqLwogICAgICBpc0luZGV4U2VsZWN0ZWQoaWR4KSB7CiAgICAgICAgcmV0dXJuIHRoaXMuaXNTZWxlY3RlZCh0aGlzLml0ZW1zW2lkeF0pOwogICAgICB9CgogICAgICBfX2Rlc2VsZWN0Q2hhbmdlZElkeChpZHgpIHsKICAgICAgICBsZXQgc2lkeCA9IHRoaXMuX19zZWxlY3RlZEluZGV4Rm9ySXRlbUluZGV4KGlkeCk7CiAgICAgICAgaWYgKHNpZHggPj0gMCkgewogICAgICAgICAgbGV0IGkgPSAwOwogICAgICAgICAgdGhpcy5fX3NlbGVjdGVkTWFwLmZvckVhY2goKGlkeCwgaXRlbSkgPT4gewogICAgICAgICAgICBpZiAoc2lkeCA9PSBpKyspIHsKICAgICAgICAgICAgICB0aGlzLmRlc2VsZWN0KGl0ZW0pOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIF9fc2VsZWN0ZWRJbmRleEZvckl0ZW1JbmRleChpZHgpIHsKICAgICAgICBsZXQgc2VsZWN0ZWQgPSB0aGlzLl9fZGF0YUxpbmtlZFBhdGhzWydpdGVtcy4nICsgaWR4XTsKICAgICAgICBpZiAoc2VsZWN0ZWQpIHsKICAgICAgICAgIHJldHVybiBwYXJzZUludChzZWxlY3RlZC5zbGljZSgnc2VsZWN0ZWQuJy5sZW5ndGgpLCAxMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKioKICAgICAgICogRGVzZWxlY3RzIHRoZSBnaXZlbiBpdGVtIGlmIGl0IGlzIGFscmVhZHkgc2VsZWN0ZWQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7Kn0gaXRlbSBJdGVtIGZyb20gYGl0ZW1zYCBhcnJheSB0byBkZXNlbGVjdAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgZGVzZWxlY3QoaXRlbSkgewogICAgICAgIGxldCBpZHggPSB0aGlzLl9fc2VsZWN0ZWRNYXAuZ2V0KGl0ZW0pOwogICAgICAgIGlmIChpZHggPj0gMCkgewogICAgICAgICAgdGhpcy5fX3NlbGVjdGVkTWFwLmRlbGV0ZShpdGVtKTsKICAgICAgICAgIGxldCBzaWR4OwogICAgICAgICAgaWYgKHRoaXMubXVsdGkpIHsKICAgICAgICAgICAgc2lkeCA9IHRoaXMuX19zZWxlY3RlZEluZGV4Rm9ySXRlbUluZGV4KGlkeCk7CiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLl9fdXBkYXRlTGlua3MoKTsKICAgICAgICAgIGlmICh0aGlzLm11bHRpKSB7CiAgICAgICAgICAgIHRoaXMuc3BsaWNlKCdzZWxlY3RlZCcsIHNpZHgsIDEpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWRJdGVtID0gbnVsbDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBEZXNlbGVjdHMgdGhlIGdpdmVuIGluZGV4IGlmIGl0IGlzIGFscmVhZHkgc2VsZWN0ZWQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBpZHggSW5kZXggZnJvbSBgaXRlbXNgIGFycmF5IHRvIGRlc2VsZWN0CiAgICAgICAqIEByZXR1cm4ge3ZvaWR9CiAgICAgICAqLwogICAgICBkZXNlbGVjdEluZGV4KGlkeCkgewogICAgICAgIHRoaXMuZGVzZWxlY3QodGhpcy5pdGVtc1tpZHhdKTsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFNlbGVjdHMgdGhlIGdpdmVuIGl0ZW0uICBXaGVuIGB0b2dnbGVgIGlzIHRydWUsIHRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5CiAgICAgICAqIGRlc2VsZWN0IHRoZSBpdGVtIGlmIGFscmVhZHkgc2VsZWN0ZWQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7Kn0gaXRlbSBJdGVtIGZyb20gYGl0ZW1zYCBhcnJheSB0byBzZWxlY3QKICAgICAgICogQHJldHVybiB7dm9pZH0KICAgICAgICovCiAgICAgIHNlbGVjdChpdGVtKSB7CiAgICAgICAgdGhpcy5zZWxlY3RJbmRleCh0aGlzLml0ZW1zLmluZGV4T2YoaXRlbSkpOwogICAgICB9CgogICAgICAvKioKICAgICAgICogU2VsZWN0cyB0aGUgZ2l2ZW4gaW5kZXguICBXaGVuIGB0b2dnbGVgIGlzIHRydWUsIHRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5CiAgICAgICAqIGRlc2VsZWN0IHRoZSBpdGVtIGlmIGFscmVhZHkgc2VsZWN0ZWQuCiAgICAgICAqCiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBpZHggSW5kZXggZnJvbSBgaXRlbXNgIGFycmF5IHRvIHNlbGVjdAogICAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICAgKi8KICAgICAgc2VsZWN0SW5kZXgoaWR4KSB7CiAgICAgICAgbGV0IGl0ZW0gPSB0aGlzLml0ZW1zW2lkeF07CiAgICAgICAgaWYgKCF0aGlzLmlzU2VsZWN0ZWQoaXRlbSkpIHsKICAgICAgICAgIGlmICghdGhpcy5tdWx0aSkgewogICAgICAgICAgICB0aGlzLl9fc2VsZWN0ZWRNYXAuY2xlYXIoKTsKICAgICAgICAgIH0KICAgICAgICAgIHRoaXMuX19zZWxlY3RlZE1hcC5zZXQoaXRlbSwgaWR4KTsKICAgICAgICAgIHRoaXMuX191cGRhdGVMaW5rcygpOwogICAgICAgICAgaWYgKHRoaXMubXVsdGkpIHsKICAgICAgICAgICAgdGhpcy5wdXNoKCdzZWxlY3RlZCcsIGl0ZW0pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWRJdGVtID0gaXRlbTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKHRoaXMudG9nZ2xlKSB7CiAgICAgICAgICB0aGlzLmRlc2VsZWN0SW5kZXgoaWR4KTsKICAgICAgICB9CiAgICAgIH0KCiAgICB9CgogICAgcmV0dXJuIEFycmF5U2VsZWN0b3JNaXhpbjsKCiAgfSk7CgogIC8vIGV4cG9ydCBtaXhpbgogIFBvbHltZXIuQXJyYXlTZWxlY3Rvck1peGluID0gQXJyYXlTZWxlY3Rvck1peGluOwoKICAvKioKICAgKiBAY29uc3RydWN0b3IKICAgKiBAZXh0ZW5kcyB7UG9seW1lci5FbGVtZW50fQogICAqIEBpbXBsZW1lbnRzIHtQb2x5bWVyX0FycmF5U2VsZWN0b3JNaXhpbn0KICAgKiBAcHJpdmF0ZQogICAqLwogIGxldCBiYXNlQXJyYXlTZWxlY3RvciA9IEFycmF5U2VsZWN0b3JNaXhpbihQb2x5bWVyLkVsZW1lbnQpOwoKICAvKioKICAgKiBFbGVtZW50IGltcGxlbWVudGluZyB0aGUgYFBvbHltZXIuQXJyYXlTZWxlY3RvcmAgbWl4aW4sIHdoaWNoIHJlY29yZHMKICAgKiBkeW5hbWljIGFzc29jaWF0aW9ucyBiZXR3ZWVuIGl0ZW0gcGF0aHMgaW4gYSBtYXN0ZXIgYGl0ZW1zYCBhcnJheSBhbmQgYQogICAqIGBzZWxlY3RlZGAgYXJyYXkgc3VjaCB0aGF0IHBhdGggY2hhbmdlcyB0byB0aGUgbWFzdGVyIGFycmF5IChhdCB0aGUgaG9zdCkKICAgKiBlbGVtZW50IG9yIGVsc2V3aGVyZSB2aWEgZGF0YS1iaW5kaW5nKSBhcmUgY29ycmVjdGx5IHByb3BhZ2F0ZWQgdG8gaXRlbXMKICAgKiBpbiB0aGUgc2VsZWN0ZWQgYXJyYXkgYW5kIHZpY2UtdmVyc2EuCiAgICoKICAgKiBUaGUgYGl0ZW1zYCBwcm9wZXJ0eSBhY2NlcHRzIGFuIGFycmF5IG9mIHVzZXIgZGF0YSwgYW5kIHZpYSB0aGUKICAgKiBgc2VsZWN0KGl0ZW0pYCBhbmQgYGRlc2VsZWN0KGl0ZW0pYCBBUEksIHVwZGF0ZXMgdGhlIGBzZWxlY3RlZGAgcHJvcGVydHkKICAgKiB3aGljaCBtYXkgYmUgYm91bmQgdG8gb3RoZXIgcGFydHMgb2YgdGhlIGFwcGxpY2F0aW9uLCBhbmQgYW55IGNoYW5nZXMgdG8KICAgKiBzdWItZmllbGRzIG9mIGBzZWxlY3RlZGAgaXRlbShzKSB3aWxsIGJlIGtlcHQgaW4gc3luYyB3aXRoIGl0ZW1zIGluIHRoZQogICAqIGBpdGVtc2AgYXJyYXkuICBXaGVuIGBtdWx0aWAgaXMgZmFsc2UsIGBzZWxlY3RlZGAgaXMgYSBwcm9wZXJ0eQogICAqIHJlcHJlc2VudGluZyB0aGUgbGFzdCBzZWxlY3RlZCBpdGVtLiAgV2hlbiBgbXVsdGlgIGlzIHRydWUsIGBzZWxlY3RlZGAKICAgKiBpcyBhbiBhcnJheSBvZiBtdWx0aXBseSBzZWxlY3RlZCBpdGVtcy4KICAgKgogICAqIEV4YW1wbGU6CiAgICoKICAgKiBgYGBodG1sCiAgICogPGRvbS1tb2R1bGUgaWQ9ImVtcGxveWVlLWxpc3QiPgogICAqCiAgICogICA8dGVtcGxhdGU+CiAgICoKICAgKiAgICAgPGRpdj4gRW1wbG95ZWUgbGlzdDogPC9kaXY+CiAgICogICAgIDxkb20tcmVwZWF0IGlkPSJlbXBsb3llZUxpc3QiIGl0ZW1zPSJ7e2VtcGxveWVlc319Ij4KICAgKiAgICAgICA8dGVtcGxhdGU+CiAgICogICAgICAgICA8ZGl2PkZpcnN0IG5hbWU6IDxzcGFuPnt7aXRlbS5maXJzdH19PC9zcGFuPjwvZGl2PgogICAqICAgICAgICAgICA8ZGl2Pkxhc3QgbmFtZTogPHNwYW4+e3tpdGVtLmxhc3R9fTwvc3Bhbj48L2Rpdj4KICAgKiAgICAgICAgICAgPGJ1dHRvbiBvbi1jbGljaz0idG9nZ2xlU2VsZWN0aW9uIj5TZWxlY3Q8L2J1dHRvbj4KICAgKiAgICAgICA8L3RlbXBsYXRlPgogICAqICAgICA8L2RvbS1yZXBlYXQ+CiAgICoKICAgKiAgICAgPGFycmF5LXNlbGVjdG9yIGlkPSJzZWxlY3RvciIgaXRlbXM9Int7ZW1wbG95ZWVzfX0iIHNlbGVjdGVkPSJ7e3NlbGVjdGVkfX0iIG11bHRpIHRvZ2dsZT48L2FycmF5LXNlbGVjdG9yPgogICAqCiAgICogICAgIDxkaXY+IFNlbGVjdGVkIGVtcGxveWVlczogPC9kaXY+CiAgICogICAgIDxkb20tcmVwZWF0IGl0ZW1zPSJ7e3NlbGVjdGVkfX0iPgogICAqICAgICAgIDx0ZW1wbGF0ZT4KICAgKiAgICAgICAgIDxkaXY+Rmlyc3QgbmFtZTogPHNwYW4+e3tpdGVtLmZpcnN0fX08L3NwYW4+PC9kaXY+CiAgICogICAgICAgICA8ZGl2Pkxhc3QgbmFtZTogPHNwYW4+e3tpdGVtLmxhc3R9fTwvc3Bhbj48L2Rpdj4KICAgKiAgICAgICA8L3RlbXBsYXRlPgogICAqICAgICA8L2RvbS1yZXBlYXQ+CiAgICoKICAgKiAgIDwvdGVtcGxhdGU+CiAgICoKICAgKiA8L2RvbS1tb2R1bGU+CiAgICogYGBgCiAgICoKICAgKiBgYGBqcwogICAqY2xhc3MgRW1wbG95ZWVMaXN0IGV4dGVuZHMgUG9seW1lci5FbGVtZW50IHsKICAgKiAgc3RhdGljIGdldCBpcygpIHsgcmV0dXJuICdlbXBsb3llZS1saXN0JzsgfQogICAqICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7CiAgICogICAgcmV0dXJuIHsKICAgKiAgICAgIGVtcGxveWVlczogewogICAqICAgICAgICB2YWx1ZSgpIHsKICAgKiAgICAgICAgICByZXR1cm4gWwogICAqICAgICAgICAgICAge2ZpcnN0OiAnQm9iJywgbGFzdDogJ1NtaXRoJ30sCiAgICogICAgICAgICAgICB7Zmlyc3Q6ICdTYWxseScsIGxhc3Q6ICdKb2huc29uJ30sCiAgICogICAgICAgICAgICAuLi4KICAgKiAgICAgICAgICBdOwogICAqICAgICAgICB9CiAgICogICAgICB9CiAgICogICAgfTsKICAgKiAgfQogICAqICB0b2dnbGVTZWxlY3Rpb24oZSkgewogICAqICAgIGxldCBpdGVtID0gdGhpcy4kLmVtcGxveWVlTGlzdC5pdGVtRm9yRWxlbWVudChlLnRhcmdldCk7CiAgICogICAgdGhpcy4kLnNlbGVjdG9yLnNlbGVjdChpdGVtKTsKICAgKiAgfQogICAqfQogICAqIGBgYAogICAqCiAgICogQHBvbHltZXIKICAgKiBAY3VzdG9tRWxlbWVudAogICAqIEBleHRlbmRzIHtiYXNlQXJyYXlTZWxlY3Rvcn0KICAgKiBAYXBwbGllc01peGluIFBvbHltZXIuQXJyYXlTZWxlY3Rvck1peGluCiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAc3VtbWFyeSBDdXN0b20gZWxlbWVudCB0aGF0IGxpbmtzIHBhdGhzIGJldHdlZW4gYW4gaW5wdXQgYGl0ZW1zYCBhcnJheSBhbmQKICAgKiAgIGFuIG91dHB1dCBgc2VsZWN0ZWRgIGl0ZW0gb3IgYXJyYXkgYmFzZWQgb24gY2FsbHMgdG8gaXRzIHNlbGVjdGlvbiBBUEkuCiAgICovCiAgY2xhc3MgQXJyYXlTZWxlY3RvciBleHRlbmRzIGJhc2VBcnJheVNlbGVjdG9yIHsKICAgIC8vIE5vdCBuZWVkZWQgdG8gZmluZCB0ZW1wbGF0ZTsgY2FuIGJlIHJlbW92ZWQgb25jZSB0aGUgYW5hbHl6ZXIKICAgIC8vIGNhbiBmaW5kIHRoZSB0YWcgbmFtZSBmcm9tIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBjYWxsCiAgICBzdGF0aWMgZ2V0IGlzKCkgeyByZXR1cm4gJ2FycmF5LXNlbGVjdG9yJzsgfQogIH0KICBjdXN0b21FbGVtZW50cy5kZWZpbmUoQXJyYXlTZWxlY3Rvci5pcywgQXJyYXlTZWxlY3Rvcik7CgogIC8qKiBAY29uc3QgKi8KICBQb2x5bWVyLkFycmF5U2VsZWN0b3IgPSBBcnJheVNlbGVjdG9yOwoKfSkoKTsKCgooZnVuY3Rpb24oKXsvKgoKQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dApUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dApUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28Kc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKKi8KJ3VzZSBzdHJpY3QnO3ZhciBjPW51bGwsZj13aW5kb3cuSFRNTEltcG9ydHMmJndpbmRvdy5IVE1MSW1wb3J0cy53aGVuUmVhZHl8fG51bGwsZztmdW5jdGlvbiBoKGEpe3JlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2Y/ZihhKTooY3x8KGM9bmV3IFByb21pc2UoZnVuY3Rpb24oYSl7Zz1hfSksImNvbXBsZXRlIj09PWRvY3VtZW50LnJlYWR5U3RhdGU/ZygpOmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLGZ1bmN0aW9uKCl7ImNvbXBsZXRlIj09PWRvY3VtZW50LnJlYWR5U3RhdGUmJmcoKX0pKSxjLnRoZW4oZnVuY3Rpb24oKXthJiZhKCl9KSl9KX07dmFyIGs9bnVsbCxsPW51bGw7ZnVuY3Rpb24gbSgpe3RoaXMuY3VzdG9tU3R5bGVzPVtdO3RoaXMuZW5xdWV1ZWQ9ITE7aChmdW5jdGlvbigpe3dpbmRvdy5TaGFkeUNTUy5mbHVzaEN1c3RvbVN0eWxlcyYmd2luZG93LlNoYWR5Q1NTLmZsdXNoQ3VzdG9tU3R5bGVzKCl9KX1mdW5jdGlvbiBuKGEpeyFhLmVucXVldWVkJiZsJiYoYS5lbnF1ZXVlZD0hMCxoKGwpKX1tLnByb3RvdHlwZS5jPWZ1bmN0aW9uKGEpe2EuX19zZWVuQnlTaGFkeUNTU3x8KGEuX19zZWVuQnlTaGFkeUNTUz0hMCx0aGlzLmN1c3RvbVN0eWxlcy5wdXNoKGEpLG4odGhpcykpfTttLnByb3RvdHlwZS5iPWZ1bmN0aW9uKGEpe2lmKGEuX19zaGFkeUNTU0NhY2hlZFN0eWxlKXJldHVybiBhLl9fc2hhZHlDU1NDYWNoZWRTdHlsZTt2YXIgYjthLmdldFN0eWxlP2I9YS5nZXRTdHlsZSgpOmI9YTtyZXR1cm4gYn07Cm0ucHJvdG90eXBlLmE9ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcy5jdXN0b21TdHlsZXMsYj0wO2I8YS5sZW5ndGg7YisrKXt2YXIgZD1hW2JdO2lmKCFkLl9fc2hhZHlDU1NDYWNoZWRTdHlsZSl7dmFyIGU9dGhpcy5iKGQpO2UmJihlPWUuX19hcHBsaWVkRWxlbWVudHx8ZSxrJiZrKGUpLGQuX19zaGFkeUNTU0NhY2hlZFN0eWxlPWUpfX1yZXR1cm4gYX07bS5wcm90b3R5cGUuYWRkQ3VzdG9tU3R5bGU9bS5wcm90b3R5cGUuYzttLnByb3RvdHlwZS5nZXRTdHlsZUZvckN1c3RvbVN0eWxlPW0ucHJvdG90eXBlLmI7bS5wcm90b3R5cGUucHJvY2Vzc1N0eWxlcz1tLnByb3RvdHlwZS5hOwpPYmplY3QuZGVmaW5lUHJvcGVydGllcyhtLnByb3RvdHlwZSx7dHJhbnNmb3JtQ2FsbGJhY2s6e2dldDpmdW5jdGlvbigpe3JldHVybiBrfSxzZXQ6ZnVuY3Rpb24oYSl7az1hfX0sdmFsaWRhdGVDYWxsYmFjazp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGx9LHNldDpmdW5jdGlvbihhKXt2YXIgYj0hMTtsfHwoYj0hMCk7bD1hO2ImJm4odGhpcyl9fX0pO2Z1bmN0aW9uIHAoYSxiKXtmb3IodmFyIGQgaW4gYiludWxsPT09ZD9hLnN0eWxlLnJlbW92ZVByb3BlcnR5KGQpOmEuc3R5bGUuc2V0UHJvcGVydHkoZCxiW2RdKX07dmFyIHE9ISh3aW5kb3cuU2hhZHlET00mJndpbmRvdy5TaGFkeURPTS5pblVzZSkscjtmdW5jdGlvbiB0KGEpe3I9YSYmYS5zaGltY3NzcHJvcGVydGllcz8hMTpxfHwhKG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0FwcGxlV2ViS2l0XC82MDF8RWRnZVwvMTUvKXx8IXdpbmRvdy5DU1N8fCFDU1Muc3VwcG9ydHN8fCFDU1Muc3VwcG9ydHMoImJveC1zaGFkb3ciLCIwIDAgMCB2YXIoLS1mb28pIikpfXZhciB1O3dpbmRvdy5TaGFkeUNTUyYmdm9pZCAwIT09d2luZG93LlNoYWR5Q1NTLmNzc0J1aWxkJiYodT13aW5kb3cuU2hhZHlDU1MuY3NzQnVpbGQpO3ZhciB2PSEoIXdpbmRvdy5TaGFkeUNTU3x8IXdpbmRvdy5TaGFkeUNTUy5kaXNhYmxlUnVudGltZSk7CndpbmRvdy5TaGFkeUNTUyYmdm9pZCAwIT09d2luZG93LlNoYWR5Q1NTLm5hdGl2ZUNzcz9yPXdpbmRvdy5TaGFkeUNTUy5uYXRpdmVDc3M6d2luZG93LlNoYWR5Q1NTPyh0KHdpbmRvdy5TaGFkeUNTUyksd2luZG93LlNoYWR5Q1NTPXZvaWQgMCk6dCh3aW5kb3cuV2ViQ29tcG9uZW50cyYmd2luZG93LldlYkNvbXBvbmVudHMuZmxhZ3MpO3ZhciB3PXIseD11O3ZhciB5PW5ldyBtO3dpbmRvdy5TaGFkeUNTU3x8KHdpbmRvdy5TaGFkeUNTUz17cHJlcGFyZVRlbXBsYXRlOmZ1bmN0aW9uKCl7fSxwcmVwYXJlVGVtcGxhdGVEb206ZnVuY3Rpb24oKXt9LHByZXBhcmVUZW1wbGF0ZVN0eWxlczpmdW5jdGlvbigpe30sc3R5bGVTdWJ0cmVlOmZ1bmN0aW9uKGEsYil7eS5hKCk7cChhLGIpfSxzdHlsZUVsZW1lbnQ6ZnVuY3Rpb24oKXt5LmEoKX0sc3R5bGVEb2N1bWVudDpmdW5jdGlvbihhKXt5LmEoKTtwKGRvY3VtZW50LmJvZHksYSl9LGdldENvbXB1dGVkU3R5bGVWYWx1ZTpmdW5jdGlvbihhLGIpe3JldHVybihhPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGEpLmdldFByb3BlcnR5VmFsdWUoYikpP2EudHJpbSgpOiIifSxmbHVzaEN1c3RvbVN0eWxlczpmdW5jdGlvbigpe30sbmF0aXZlQ3NzOncsbmF0aXZlU2hhZG93OnEsY3NzQnVpbGQ6eCxkaXNhYmxlUnVudGltZTp2fSk7d2luZG93LlNoYWR5Q1NTLkN1c3RvbVN0eWxlSW50ZXJmYWNlPXk7fSkuY2FsbCh0aGlzKTsKCgoKCihmdW5jdGlvbigpIHsKICAndXNlIHN0cmljdCc7CgogIGNvbnN0IGF0dHIgPSAnaW5jbHVkZSc7CgogIGNvbnN0IEN1c3RvbVN0eWxlSW50ZXJmYWNlID0gd2luZG93LlNoYWR5Q1NTLkN1c3RvbVN0eWxlSW50ZXJmYWNlOwoKICAvKioKICAgKiBDdXN0b20gZWxlbWVudCBmb3IgZGVmaW5pbmcgc3R5bGVzIGluIHRoZSBtYWluIGRvY3VtZW50IHRoYXQgY2FuIHRha2UKICAgKiBhZHZhbnRhZ2Ugb2YgW3NoYWR5IERPTV0oaHR0cHM6Ly9naXRodWIuY29tL3dlYmNvbXBvbmVudHMvc2hhZHljc3MpIHNoaW1zCiAgICogZm9yIHN0eWxlIGVuY2Fwc3VsYXRpb24sIGN1c3RvbSBwcm9wZXJ0aWVzLCBhbmQgY3VzdG9tIG1peGlucy4KICAgKgogICAqIC0gRG9jdW1lbnQgc3R5bGVzIGRlZmluZWQgaW4gYSBgPGN1c3RvbS1zdHlsZT5gIGFyZSBzaGltbWVkIHRvIGVuc3VyZSB0aGV5CiAgICogICBkbyBub3QgbGVhayBpbnRvIGxvY2FsIERPTSB3aGVuIHJ1bm5pbmcgb24gYnJvd3NlcnMgd2l0aG91dCBuYXRpdmUKICAgKiAgIFNoYWRvdyBET00uCiAgICogLSBDdXN0b20gcHJvcGVydGllcyBjYW4gYmUgZGVmaW5lZCBpbiBhIGA8Y3VzdG9tLXN0eWxlPmAuIFVzZSB0aGUgYGh0bWxgIHNlbGVjdG9yCiAgICogICB0byBkZWZpbmUgY3VzdG9tIHByb3BlcnRpZXMgdGhhdCBhcHBseSB0byBhbGwgY3VzdG9tIGVsZW1lbnRzLgogICAqIC0gQ3VzdG9tIG1peGlucyBjYW4gYmUgZGVmaW5lZCBpbiBhIGA8Y3VzdG9tLXN0eWxlPmAsIGlmIHlvdSBpbXBvcnQgdGhlIG9wdGlvbmFsCiAgICogICBbYXBwbHkgc2hpbV0oaHR0cHM6Ly9naXRodWIuY29tL3dlYmNvbXBvbmVudHMvc2hhZHljc3MjYWJvdXQtYXBwbHlzaGltKQogICAqICAgKGBzaGFkeWNzcy9hcHBseS1zaGltLmh0bWxgKS4KICAgKgogICAqIFRvIHVzZToKICAgKgogICAqIC0gSW1wb3J0IGBjdXN0b20tc3R5bGUuaHRtbGAuCiAgICogLSBQbGFjZSBhIGA8Y3VzdG9tLXN0eWxlPmAgZWxlbWVudCBpbiB0aGUgbWFpbiBkb2N1bWVudCwgd3JhcHBpbmcgYW4gaW5saW5lIGA8c3R5bGU+YCB0YWcgdGhhdAogICAqICAgY29udGFpbnMgdGhlIENTUyBydWxlcyB5b3Ugd2FudCB0byBzaGltLgogICAqCiAgICogRm9yIGV4YW1wbGU6CiAgICoKICAgKiBgYGBodG1sCiAgICogPCEtLSBpbXBvcnQgYXBwbHkgc2hpbS0tb25seSByZXF1aXJlZCBpZiB1c2luZyBtaXhpbnMgLS0+CiAgICogPGxpbmsgcmVsPSJpbXBvcnQiIGhyZWY9ImJvd2VyX2NvbXBvbmVudHMvc2hhZHljc3MvYXBwbHktc2hpbS5odG1sIj4KICAgKiA8IS0tIGltcG9ydCBjdXN0b20tc3R5bGUgZWxlbWVudCAtLT4KICAgKiA8bGluayByZWw9ImltcG9ydCIgaHJlZj0iYm93ZXJfY29tcG9uZW50cy9wb2x5bWVyL2xpYi9lbGVtZW50cy9jdXN0b20tc3R5bGUuaHRtbCI+CiAgICoKICAgKiA8Y3VzdG9tLXN0eWxlPgogICAqICAgPHN0eWxlPgogICAqICAgICBodG1sIHsKICAgKiAgICAgICAtLWN1c3RvbS1jb2xvcjogYmx1ZTsKICAgKiAgICAgICAtLWN1c3RvbS1taXhpbjogewogICAqICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICogICAgICAgICBjb2xvcjogcmVkOwogICAqICAgICAgIH07CiAgICogICAgIH0KICAgKiAgIDwvc3R5bGU+CiAgICogPC9jdXN0b20tc3R5bGU+CiAgICogYGBgCiAgICoKICAgKiBAY3VzdG9tRWxlbWVudAogICAqIEBleHRlbmRzIEhUTUxFbGVtZW50CiAgICogQG1lbWJlcm9mIFBvbHltZXIKICAgKiBAc3VtbWFyeSBDdXN0b20gZWxlbWVudCBmb3IgZGVmaW5pbmcgc3R5bGVzIGluIHRoZSBtYWluIGRvY3VtZW50IHRoYXQgY2FuCiAgICogICB0YWtlIGFkdmFudGFnZSBvZiBQb2x5bWVyJ3Mgc3R5bGUgc2NvcGluZyBhbmQgY3VzdG9tIHByb3BlcnRpZXMgc2hpbXMuCiAgICovCiAgY2xhc3MgQ3VzdG9tU3R5bGUgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CiAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgc3VwZXIoKTsKICAgICAgdGhpcy5fc3R5bGUgPSBudWxsOwogICAgICBDdXN0b21TdHlsZUludGVyZmFjZS5hZGRDdXN0b21TdHlsZSh0aGlzKTsKICAgIH0KICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgbGlnaHQtRE9NIGA8c3R5bGU+YCBjaGlsZCB0aGlzIGVsZW1lbnQgd3JhcHMuICBVcG9uIGZpcnN0CiAgICAgKiBjYWxsIGFueSBzdHlsZSBtb2R1bGVzIHJlZmVyZW5jZWQgdmlhIHRoZSBgaW5jbHVkZWAgYXR0cmlidXRlIHdpbGwgYmUKICAgICAqIGNvbmNhdGVuYXRlZCB0byB0aGlzIGVsZW1lbnQncyBgPHN0eWxlPmAuCiAgICAgKgogICAgICogQHJldHVybiB7SFRNTFN0eWxlRWxlbWVudH0gVGhpcyBlbGVtZW50J3MgbGlnaHQtRE9NIGA8c3R5bGU+YAogICAgICovCiAgICBnZXRTdHlsZSgpIHsKICAgICAgaWYgKHRoaXMuX3N0eWxlKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuX3N0eWxlOwogICAgICB9CiAgICAgIGNvbnN0IHN0eWxlID0gLyoqIEB0eXBlIHtIVE1MU3R5bGVFbGVtZW50fSAqLyh0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3N0eWxlJykpOwogICAgICBpZiAoIXN0eWxlKSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KICAgICAgdGhpcy5fc3R5bGUgPSBzdHlsZTsKICAgICAgY29uc3QgaW5jbHVkZSA9IHN0eWxlLmdldEF0dHJpYnV0ZShhdHRyKTsKICAgICAgaWYgKGluY2x1ZGUpIHsKICAgICAgICBzdHlsZS5yZW1vdmVBdHRyaWJ1dGUoYXR0cik7CiAgICAgICAgc3R5bGUudGV4dENvbnRlbnQgPSBQb2x5bWVyLlN0eWxlR2F0aGVyLmNzc0Zyb21Nb2R1bGVzKGluY2x1ZGUpICsgc3R5bGUudGV4dENvbnRlbnQ7CiAgICAgIH0KICAgICAgLyoKICAgICAgSFRNTCBJbXBvcnRzIHN0eWxpbmcgdGhlIG1haW4gZG9jdW1lbnQgYXJlIGRlcHJlY2F0ZWQgaW4gQ2hyb21lCiAgICAgIGh0dHBzOi8vY3JidWcuY29tLzUyMzk1MgoKICAgICAgSWYgdGhpcyBlbGVtZW50IGlzIG5vdCBpbiB0aGUgbWFpbiBkb2N1bWVudCwgdGhlbiBpdCBtdXN0IGJlIGluIGFuIEhUTUwgSW1wb3J0IGRvY3VtZW50LgogICAgICBJbiB0aGF0IGNhc2UsIG1vdmUgdGhlIGN1c3RvbSBzdHlsZSB0byB0aGUgbWFpbiBkb2N1bWVudC4KCiAgICAgIFRoZSBvcmRlcmluZyBvZiBgPGN1c3RvbS1zdHlsZT5gIHNob3VsZCBzdGF5IHRoZSBzYW1lIGFzIHdoZW4gbG9hZGVkIGJ5IEhUTUwgSW1wb3J0cywgYnV0IHRoZXJlIG1heSBiZSBvZGQKICAgICAgY2FzZXMgb2Ygb3JkZXJpbmcgdy5yLnQgdGhlIG1haW4gZG9jdW1lbnQgc3R5bGVzLgogICAgICAqLwogICAgICBpZiAodGhpcy5vd25lckRvY3VtZW50ICE9PSB3aW5kb3cuZG9jdW1lbnQpIHsKICAgICAgICB3aW5kb3cuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh0aGlzKTsKICAgICAgfQogICAgICByZXR1cm4gdGhpcy5fc3R5bGU7CiAgICB9CiAgfQoKICB3aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdjdXN0b20tc3R5bGUnLCBDdXN0b21TdHlsZSk7CgogIC8qKiBAY29uc3QgKi8KICBQb2x5bWVyLkN1c3RvbVN0eWxlID0gQ3VzdG9tU3R5bGU7Cn0pKCk7CgoKKGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgbGV0IG11dGFibGVQcm9wZXJ0eUNoYW5nZTsKICAvKiogQHN1cHByZXNzIHttaXNzaW5nUHJvcGVydGllc30gKi8KICAoKCkgPT4gewogICAgbXV0YWJsZVByb3BlcnR5Q2hhbmdlID0gUG9seW1lci5NdXRhYmxlRGF0YS5fbXV0YWJsZVByb3BlcnR5Q2hhbmdlOwogIH0pKCk7CgogIC8qKgogICAqIExlZ2FjeSBlbGVtZW50IGJlaGF2aW9yIHRvIHNraXAgc3RyaWN0IGRpcnR5LWNoZWNraW5nIGZvciBvYmplY3RzIGFuZCBhcnJheXMsCiAgICogKGFsd2F5cyBjb25zaWRlciB0aGVtIHRvIGJlICJkaXJ0eSIpIGZvciB1c2Ugb24gbGVnYWN5IEFQSSBQb2x5bWVyIGVsZW1lbnRzLgogICAqCiAgICogQnkgZGVmYXVsdCwgYFBvbHltZXIuUHJvcGVydHlFZmZlY3RzYCBwZXJmb3JtcyBzdHJpY3QgZGlydHkgY2hlY2tpbmcgb24KICAgKiBvYmplY3RzLCB3aGljaCBtZWFucyB0aGF0IGFueSBkZWVwIG1vZGlmaWNhdGlvbnMgdG8gYW4gb2JqZWN0IG9yIGFycmF5IHdpbGwKICAgKiBub3QgYmUgcHJvcGFnYXRlZCB1bmxlc3MgImltbXV0YWJsZSIgZGF0YSBwYXR0ZXJucyBhcmUgdXNlZCAoaS5lLiBhbGwgb2JqZWN0CiAgICogcmVmZXJlbmNlcyBmcm9tIHRoZSByb290IHRvIHRoZSBtdXRhdGlvbiB3ZXJlIGNoYW5nZWQpLgogICAqCiAgICogUG9seW1lciBhbHNvIHByb3ZpZGVzIGEgcHJvcHJpZXRhcnkgZGF0YSBtdXRhdGlvbiBhbmQgcGF0aCBub3RpZmljYXRpb24gQVBJCiAgICogKGUuZy4gYG5vdGlmeVBhdGhgLCBgc2V0YCwgYW5kIGFycmF5IG11dGF0aW9uIEFQSSdzKSB0aGF0IGFsbG93IGVmZmljaWVudAogICAqIG11dGF0aW9uIGFuZCBub3RpZmljYXRpb24gb2YgZGVlcCBjaGFuZ2VzIGluIGFuIG9iamVjdCBncmFwaCB0byBhbGwgZWxlbWVudHMKICAgKiBib3VuZCB0byB0aGUgc2FtZSBvYmplY3QgZ3JhcGguCiAgICoKICAgKiBJbiBjYXNlcyB3aGVyZSBuZWl0aGVyIGltbXV0YWJsZSBwYXR0ZXJucyBub3IgdGhlIGRhdGEgbXV0YXRpb24gQVBJIGNhbiBiZQogICAqIHVzZWQsIGFwcGx5aW5nIHRoaXMgbWl4aW4gd2lsbCBjYXVzZSBQb2x5bWVyIHRvIHNraXAgZGlydHkgY2hlY2tpbmcgZm9yCiAgICogb2JqZWN0cyBhbmQgYXJyYXlzIChhbHdheXMgY29uc2lkZXIgdGhlbSB0byBiZSAiZGlydHkiKS4gIFRoaXMgYWxsb3dzIGEKICAgKiB1c2VyIHRvIG1ha2UgYSBkZWVwIG1vZGlmaWNhdGlvbiB0byBhIGJvdW5kIG9iamVjdCBncmFwaCwgYW5kIHRoZW4gZWl0aGVyCiAgICogc2ltcGx5IHJlLXNldCB0aGUgb2JqZWN0IChlLmcuIGB0aGlzLml0ZW1zID0gdGhpcy5pdGVtc2ApIG9yIGNhbGwgYG5vdGlmeVBhdGhgCiAgICogKGUuZy4gYHRoaXMubm90aWZ5UGF0aCgnaXRlbXMnKWApIHRvIHVwZGF0ZSB0aGUgdHJlZS4gIE5vdGUgdGhhdCBhbGwKICAgKiBlbGVtZW50cyB0aGF0IHdpc2ggdG8gYmUgdXBkYXRlZCBiYXNlZCBvbiBkZWVwIG11dGF0aW9ucyBtdXN0IGFwcGx5IHRoaXMKICAgKiBtaXhpbiBvciBvdGhlcndpc2Ugc2tpcCBzdHJpY3QgZGlydHkgY2hlY2tpbmcgZm9yIG9iamVjdHMvYXJyYXlzLgogICAqIFNwZWNpZmljYWxseSwgYW55IGVsZW1lbnRzIGluIHRoZSBiaW5kaW5nIHRyZWUgYmV0d2VlbiB0aGUgc291cmNlIG9mIGEKICAgKiBtdXRhdGlvbiBhbmQgdGhlIGNvbnN1bXB0aW9uIG9mIGl0IG11c3QgYXBwbHkgdGhpcyBiZWhhdmlvciBvciBlbmFibGUgdGhlCiAgICogYFBvbHltZXIuT3B0aW9uYWxNdXRhYmxlRGF0YUJlaGF2aW9yYC4KICAgKgogICAqIEluIG9yZGVyIHRvIG1ha2UgdGhlIGRpcnR5IGNoZWNrIHN0cmF0ZWd5IGNvbmZpZ3VyYWJsZSwgc2VlCiAgICogYFBvbHltZXIuT3B0aW9uYWxNdXRhYmxlRGF0YUJlaGF2aW9yYC4KICAgKgogICAqIE5vdGUsIHRoZSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgcHJvcGFnYXRpbmcgbGFyZ2Ugb2JqZWN0IGdyYXBocwogICAqIHdpbGwgYmUgd29yc2UgYXMgb3Bwb3NlZCB0byB1c2luZyBzdHJpY3QgZGlydHkgY2hlY2tpbmcgd2l0aCBpbW11dGFibGUKICAgKiBwYXR0ZXJucyBvciBQb2x5bWVyJ3MgcGF0aCBub3RpZmljYXRpb24gQVBJLgogICAqCiAgICogQHBvbHltZXJCZWhhdmlvcgogICAqIEBtZW1iZXJvZiBQb2x5bWVyCiAgICogQHN1bW1hcnkgQmVoYXZpb3IgdG8gc2tpcCBzdHJpY3QgZGlydHktY2hlY2tpbmcgZm9yIG9iamVjdHMgYW5kCiAgICogICBhcnJheXMKICAgKi8KICBQb2x5bWVyLk11dGFibGVEYXRhQmVoYXZpb3IgPSB7CgogICAgLyoqCiAgICAgKiBPdmVycmlkZXMgYFBvbHltZXIuUHJvcGVydHlFZmZlY3RzYCB0byBwcm92aWRlIG9wdGlvbiBmb3Igc2tpcHBpbmcKICAgICAqIHN0cmljdCBlcXVhbGl0eSBjaGVja2luZyBmb3IgT2JqZWN0cyBhbmQgQXJyYXlzLgogICAgICoKICAgICAqIFRoaXMgbWV0aG9kIHB1bGxzIHRoZSB2YWx1ZSB0byBkaXJ0eSBjaGVjayBhZ2FpbnN0IGZyb20gdGhlIGBfX2RhdGFUZW1wYAogICAgICogY2FjaGUgKHJhdGhlciB0aGFuIHRoZSBub3JtYWwgYF9fZGF0YWAgY2FjaGUpIGZvciBPYmplY3RzLiAgU2luY2UgdGhlIHRlbXAKICAgICAqIGNhY2hlIGlzIGNsZWFyZWQgYXQgdGhlIGVuZCBvZiBhIHR1cm4sIHRoaXMgaW1wbGVtZW50YXRpb24gYWxsb3dzCiAgICAgKiBzaWRlLWVmZmVjdHMgb2YgZGVlcCBvYmplY3QgY2hhbmdlcyB0byBiZSBwcm9jZXNzZWQgYnkgcmUtc2V0dGluZyB0aGUKICAgICAqIHNhbWUgb2JqZWN0ICh1c2luZyB0aGUgdGVtcCBjYWNoZSBhcyBhbiBpbi10dXJuIGJhY2tzdG9wIHRvIHByZXZlbnQKICAgICAqIGN5Y2xlcyBkdWUgdG8gMi13YXkgbm90aWZpY2F0aW9uKS4KICAgICAqCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICogQHBhcmFtIHsqfSB2YWx1ZSBOZXcgcHJvcGVydHkgdmFsdWUKICAgICAqIEBwYXJhbSB7Kn0gb2xkIFByZXZpb3VzIHByb3BlcnR5IHZhbHVlCiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgY29uc2lkZXJlZCBhIGNoYW5nZQogICAgICogQHByb3RlY3RlZAogICAgICovCiAgICBfc2hvdWxkUHJvcGVydHlDaGFuZ2UocHJvcGVydHksIHZhbHVlLCBvbGQpIHsKICAgICAgcmV0dXJuIG11dGFibGVQcm9wZXJ0eUNoYW5nZSh0aGlzLCBwcm9wZXJ0eSwgdmFsdWUsIG9sZCwgdHJ1ZSk7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogTGVnYWN5IGVsZW1lbnQgYmVoYXZpb3IgdG8gYWRkIHRoZSBvcHRpb25hbCBhYmlsaXR5IHRvIHNraXAgc3RyaWN0CiAgICogZGlydHktY2hlY2tpbmcgZm9yIG9iamVjdHMgYW5kIGFycmF5cyAoYWx3YXlzIGNvbnNpZGVyIHRoZW0gdG8gYmUKICAgKiAiZGlydHkiKSBieSBzZXR0aW5nIGEgYG11dGFibGUtZGF0YWAgYXR0cmlidXRlIG9uIGFuIGVsZW1lbnQgaW5zdGFuY2UuCiAgICoKICAgKiBCeSBkZWZhdWx0LCBgUG9seW1lci5Qcm9wZXJ0eUVmZmVjdHNgIHBlcmZvcm1zIHN0cmljdCBkaXJ0eSBjaGVja2luZyBvbgogICAqIG9iamVjdHMsIHdoaWNoIG1lYW5zIHRoYXQgYW55IGRlZXAgbW9kaWZpY2F0aW9ucyB0byBhbiBvYmplY3Qgb3IgYXJyYXkgd2lsbAogICAqIG5vdCBiZSBwcm9wYWdhdGVkIHVubGVzcyAiaW1tdXRhYmxlIiBkYXRhIHBhdHRlcm5zIGFyZSB1c2VkIChpLmUuIGFsbCBvYmplY3QKICAgKiByZWZlcmVuY2VzIGZyb20gdGhlIHJvb3QgdG8gdGhlIG11dGF0aW9uIHdlcmUgY2hhbmdlZCkuCiAgICoKICAgKiBQb2x5bWVyIGFsc28gcHJvdmlkZXMgYSBwcm9wcmlldGFyeSBkYXRhIG11dGF0aW9uIGFuZCBwYXRoIG5vdGlmaWNhdGlvbiBBUEkKICAgKiAoZS5nLiBgbm90aWZ5UGF0aGAsIGBzZXRgLCBhbmQgYXJyYXkgbXV0YXRpb24gQVBJJ3MpIHRoYXQgYWxsb3cgZWZmaWNpZW50CiAgICogbXV0YXRpb24gYW5kIG5vdGlmaWNhdGlvbiBvZiBkZWVwIGNoYW5nZXMgaW4gYW4gb2JqZWN0IGdyYXBoIHRvIGFsbCBlbGVtZW50cwogICAqIGJvdW5kIHRvIHRoZSBzYW1lIG9iamVjdCBncmFwaC4KICAgKgogICAqIEluIGNhc2VzIHdoZXJlIG5laXRoZXIgaW1tdXRhYmxlIHBhdHRlcm5zIG5vciB0aGUgZGF0YSBtdXRhdGlvbiBBUEkgY2FuIGJlCiAgICogdXNlZCwgYXBwbHlpbmcgdGhpcyBtaXhpbiB3aWxsIGFsbG93IFBvbHltZXIgdG8gc2tpcCBkaXJ0eSBjaGVja2luZyBmb3IKICAgKiBvYmplY3RzIGFuZCBhcnJheXMgKGFsd2F5cyBjb25zaWRlciB0aGVtIHRvIGJlICJkaXJ0eSIpLiAgVGhpcyBhbGxvd3MgYQogICAqIHVzZXIgdG8gbWFrZSBhIGRlZXAgbW9kaWZpY2F0aW9uIHRvIGEgYm91bmQgb2JqZWN0IGdyYXBoLCBhbmQgdGhlbiBlaXRoZXIKICAgKiBzaW1wbHkgcmUtc2V0IHRoZSBvYmplY3QgKGUuZy4gYHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zYCkgb3IgY2FsbCBgbm90aWZ5UGF0aGAKICAgKiAoZS5nLiBgdGhpcy5ub3RpZnlQYXRoKCdpdGVtcycpYCkgdG8gdXBkYXRlIHRoZSB0cmVlLiAgTm90ZSB0aGF0IGFsbAogICAqIGVsZW1lbnRzIHRoYXQgd2lzaCB0byBiZSB1cGRhdGVkIGJhc2VkIG9uIGRlZXAgbXV0YXRpb25zIG11c3QgYXBwbHkgdGhpcwogICAqIG1peGluIG9yIG90aGVyd2lzZSBza2lwIHN0cmljdCBkaXJ0eSBjaGVja2luZyBmb3Igb2JqZWN0cy9hcnJheXMuCiAgICogU3BlY2lmaWNhbGx5LCBhbnkgZWxlbWVudHMgaW4gdGhlIGJpbmRpbmcgdHJlZSBiZXR3ZWVuIHRoZSBzb3VyY2Ugb2YgYQogICAqIG11dGF0aW9uIGFuZCB0aGUgY29uc3VtcHRpb24gb2YgaXQgbXVzdCBlbmFibGUgdGhpcyBiZWhhdmlvciBvciBhcHBseSB0aGUKICAgKiBgUG9seW1lci5PcHRpb25hbE11dGFibGVEYXRhQmVoYXZpb3JgLgogICAqCiAgICogV2hpbGUgdGhpcyBiZWhhdmlvciBhZGRzIHRoZSBhYmlsaXR5IHRvIGZvcmdvIE9iamVjdC9BcnJheSBkaXJ0eSBjaGVja2luZywKICAgKiB0aGUgYG11dGFibGVEYXRhYCBmbGFnIGRlZmF1bHRzIHRvIGZhbHNlIGFuZCBtdXN0IGJlIHNldCBvbiB0aGUgaW5zdGFuY2UuCiAgICoKICAgKiBOb3RlLCB0aGUgcGVyZm9ybWFuY2UgY2hhcmFjdGVyaXN0aWNzIG9mIHByb3BhZ2F0aW5nIGxhcmdlIG9iamVjdCBncmFwaHMKICAgKiB3aWxsIGJlIHdvcnNlIGJ5IHJlbHlpbmcgb24gYG11dGFibGVEYXRhOiB0cnVlYCBhcyBvcHBvc2VkIHRvIHVzaW5nCiAgICogc3RyaWN0IGRpcnR5IGNoZWNraW5nIHdpdGggaW1tdXRhYmxlIHBhdHRlcm5zIG9yIFBvbHltZXIncyBwYXRoIG5vdGlmaWNhdGlvbgogICAqIEFQSS4KICAgKgogICAqIEBwb2x5bWVyQmVoYXZpb3IKICAgKiBAbWVtYmVyb2YgUG9seW1lcgogICAqIEBzdW1tYXJ5IEJlaGF2aW9yIHRvIG9wdGlvbmFsbHkgc2tpcCBzdHJpY3QgZGlydHktY2hlY2tpbmcgZm9yIG9iamVjdHMgYW5kCiAgICogICBhcnJheXMKICAgKi8KICBQb2x5bWVyLk9wdGlvbmFsTXV0YWJsZURhdGFCZWhhdmlvciA9IHsKCiAgICBwcm9wZXJ0aWVzOiB7CiAgICAgIC8qKgogICAgICAgKiBJbnN0YW5jZS1sZXZlbCBmbGFnIGZvciBjb25maWd1cmluZyB0aGUgZGlydHktY2hlY2tpbmcgc3RyYXRlZ3kKICAgICAgICogZm9yIHRoaXMgZWxlbWVudC4gIFdoZW4gdHJ1ZSwgT2JqZWN0cyBhbmQgQXJyYXlzIHdpbGwgc2tpcCBkaXJ0eQogICAgICAgKiBjaGVja2luZywgb3RoZXJ3aXNlIHN0cmljdCBlcXVhbGl0eSBjaGVja2luZyB3aWxsIGJlIHVzZWQuCiAgICAgICAqLwogICAgICBtdXRhYmxlRGF0YTogQm9vbGVhbgogICAgfSwKCiAgICAvKioKICAgICAqIE92ZXJyaWRlcyBgUG9seW1lci5Qcm9wZXJ0eUVmZmVjdHNgIHRvIHNraXAgc3RyaWN0IGVxdWFsaXR5IGNoZWNraW5nCiAgICAgKiBmb3IgT2JqZWN0cyBhbmQgQXJyYXlzLgogICAgICoKICAgICAqIFB1bGxzIHRoZSB2YWx1ZSB0byBkaXJ0eSBjaGVjayBhZ2FpbnN0IGZyb20gdGhlIGBfX2RhdGFUZW1wYCBjYWNoZQogICAgICogKHJhdGhlciB0aGFuIHRoZSBub3JtYWwgYF9fZGF0YWAgY2FjaGUpIGZvciBPYmplY3RzLiAgU2luY2UgdGhlIHRlbXAKICAgICAqIGNhY2hlIGlzIGNsZWFyZWQgYXQgdGhlIGVuZCBvZiBhIHR1cm4sIHRoaXMgaW1wbGVtZW50YXRpb24gYWxsb3dzCiAgICAgKiBzaWRlLWVmZmVjdHMgb2YgZGVlcCBvYmplY3QgY2hhbmdlcyB0byBiZSBwcm9jZXNzZWQgYnkgcmUtc2V0dGluZyB0aGUKICAgICAqIHNhbWUgb2JqZWN0ICh1c2luZyB0aGUgdGVtcCBjYWNoZSBhcyBhbiBpbi10dXJuIGJhY2tzdG9wIHRvIHByZXZlbnQKICAgICAqIGN5Y2xlcyBkdWUgdG8gMi13YXkgbm90aWZpY2F0aW9uKS4KICAgICAqCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkgUHJvcGVydHkgbmFtZQogICAgICogQHBhcmFtIHsqfSB2YWx1ZSBOZXcgcHJvcGVydHkgdmFsdWUKICAgICAqIEBwYXJhbSB7Kn0gb2xkIFByZXZpb3VzIHByb3BlcnR5IHZhbHVlCiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgY29uc2lkZXJlZCBhIGNoYW5nZQogICAgICogQHRoaXMge3RoaXN9CiAgICAgKiBAcHJvdGVjdGVkCiAgICAgKi8KICAgIF9zaG91bGRQcm9wZXJ0eUNoYW5nZShwcm9wZXJ0eSwgdmFsdWUsIG9sZCkgewogICAgICByZXR1cm4gbXV0YWJsZVByb3BlcnR5Q2hhbmdlKHRoaXMsIHByb3BlcnR5LCB2YWx1ZSwgb2xkLCB0aGlzLm11dGFibGVEYXRhKTsKICAgIH0KICB9OwoKfSkoKTsKCgoKICAvLyBiYwogIFBvbHltZXIuQmFzZSA9IFBvbHltZXIuTGVnYWN5RWxlbWVudE1peGluKEhUTUxFbGVtZW50KS5wcm90b3R5cGU7CgogIC8vIE5PVEU6IHRoaXMgaXMgaGVyZSBmb3IgbW9kdWxpemVyIHRvIGV4cG9ydCBgaHRtbGAgZm9yIHRoZSBtb2R1bGUgdmVyc2lvbiBvZiB0aGlzIGZpbGUKICBQb2x5bWVyLmh0bWwgPSBQb2x5bWVyLmh0bWw7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1mbGV4LWxheW91dC9pcm9uLWZsZXgtbGF5b3V0Lmh0bWwuanMKKGZ1bmN0aW9uKCl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtiLnRleHRDb250ZW50PSJbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSI7ZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChiKX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1hMTF5LWtleXMtYmVoYXZpb3IvaXJvbi1hMTF5LWtleXMtYmVoYXZpb3IuaHRtbC5qcwooZnVuY3Rpb24oKXtmdW5jdGlvbiBiKHgsQyl7dmFyIEc9IiI7aWYoeClpZih4PXgudG9Mb3dlckNhc2UoKSwiICI9PT14fHxBLnRlc3QoeCkpRz0ic3BhY2UiO2Vsc2UgaWYoeS50ZXN0KHgpKUc9ImVzYyI7ZWxzZSBpZigxPT14Lmxlbmd0aCl7aWYoIUN8fHEudGVzdCh4KSlHPXh9ZWxzZSBHPXcudGVzdCh4KT94LnJlcGxhY2UoImFycm93IiwiIik6Im11bHRpcGx5Ij09eD8iKiI6eDtyZXR1cm4gR31mdW5jdGlvbiBkKHgpe3ZhciBDPSIiO3gmJih4IGluIHA/Qz1wW3hdOnUudGVzdCh4KT8oeD1wYXJzZUludCh4LnJlcGxhY2UoIlUrIiwiMHgiKSwxNiksQz1TdHJpbmcuZnJvbUNoYXJDb2RlKHgpLnRvTG93ZXJDYXNlKCkpOkM9eC50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gQ31mdW5jdGlvbiBmKHgpe3ZhciBDPSIiO051bWJlcih4KSYmKEM9NjU8PXgmJjkwPj14P1N0cmluZy5mcm9tQ2hhckNvZGUoMzIreCk6MTEyPD14JiYxMjM+PXg/ImYiKyh4LTExMisxKTo0ODw9eCYmNTc+PXg/ClN0cmluZyh4LTQ4KTo5Njw9eCYmMTA1Pj14P1N0cmluZyh4LTk2KTptW3hdKTtyZXR1cm4gQ31mdW5jdGlvbiBoKHgsQyl7cmV0dXJuIHgua2V5P2IoeC5rZXksQyk6eC5kZXRhaWwmJnguZGV0YWlsLmtleT9iKHguZGV0YWlsLmtleSxDKTpkKHgua2V5SWRlbnRpZmllcil8fGYoeC5rZXlDb2RlKXx8IiJ9ZnVuY3Rpb24gayh4LEMpe3JldHVybiBoKEMseC5oYXNNb2RpZmllcnMpPT09eC5rZXkmJigheC5oYXNNb2RpZmllcnN8fCEhQy5zaGlmdEtleT09PSEheC5zaGlmdEtleSYmISFDLmN0cmxLZXk9PT0hIXguY3RybEtleSYmISFDLmFsdEtleT09PSEheC5hbHRLZXkmJiEhQy5tZXRhS2V5PT09ISF4Lm1ldGFLZXkpfWZ1bmN0aW9uIHIoeCl7cmV0dXJuIDE9PT14Lmxlbmd0aD97Y29tYm86eCxrZXk6eCxldmVudDoia2V5ZG93biJ9Onguc3BsaXQoIisiKS5yZWR1Y2UoZnVuY3Rpb24oQyxHKXt2YXIgRD1HLnNwbGl0KCI6Iik7Rz1EWzBdO0Q9RFsxXTtHIGluIG4/KENbbltHXV09ITAsCkMuaGFzTW9kaWZpZXJzPSEwKTooQy5rZXk9RyxDLmV2ZW50PUR8fCJrZXlkb3duIik7cmV0dXJuIEN9LHtjb21ibzp4LnNwbGl0KCI6Iikuc2hpZnQoKX0pfWZ1bmN0aW9uIGwoeCl7cmV0dXJuIHgudHJpbSgpLnNwbGl0KCIgIikubWFwKGZ1bmN0aW9uKEMpe3JldHVybiByKEMpfSl9dmFyIHA9eyJVKzAwMDgiOiJiYWNrc3BhY2UiLCJVKzAwMDkiOiJ0YWIiLCJVKzAwMUIiOiJlc2MiLCJVKzAwMjAiOiJzcGFjZSIsIlUrMDA3RiI6ImRlbCJ9LG09ezg6ImJhY2tzcGFjZSIsOToidGFiIiwxMzoiZW50ZXIiLDI3OiJlc2MiLDMzOiJwYWdldXAiLDM0OiJwYWdlZG93biIsMzU6ImVuZCIsMzY6ImhvbWUiLDMyOiJzcGFjZSIsMzc6ImxlZnQiLDM4OiJ1cCIsMzk6InJpZ2h0Iiw0MDoiZG93biIsNDY6ImRlbCIsMTA2OiIqIn0sbj17c2hpZnQ6InNoaWZ0S2V5IixjdHJsOiJjdHJsS2V5IixhbHQ6ImFsdEtleSIsbWV0YToibWV0YUtleSJ9LHE9L1thLXowLTkqXS8sdT0vVVwrLyx3PS9eYXJyb3cvLApBPS9ec3BhY2UoYmFyKT8vLHk9L15lc2NhcGUkLztQb2x5bWVyLklyb25BMTF5S2V5c0JlaGF2aW9yPXtwcm9wZXJ0aWVzOntrZXlFdmVudFRhcmdldDp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319LHN0b3BLZXlib2FyZEV2ZW50UHJvcGFnYXRpb246e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX2JvdW5kS2V5SGFuZGxlcnM6e3R5cGU6QXJyYXksdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm5bXX19LF9pbXBlcmF0aXZlS2V5QmluZGluZ3M6e3R5cGU6T2JqZWN0LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue319fX0sb2JzZXJ2ZXJzOlsiX3Jlc2V0S2V5RXZlbnRMaXN0ZW5lcnMoa2V5RXZlbnRUYXJnZXQsIF9ib3VuZEtleUhhbmRsZXJzKSJdLGtleUJpbmRpbmdzOnt9LHJlZ2lzdGVyZWQ6ZnVuY3Rpb24oKXt0aGlzLl9wcmVwS2V5QmluZGluZ3MoKX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9saXN0ZW5LZXlFdmVudExpc3RlbmVycygpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX3VubGlzdGVuS2V5RXZlbnRMaXN0ZW5lcnMoKX0sCmFkZE93bktleUJpbmRpbmc6ZnVuY3Rpb24oeCxDKXt0aGlzLl9pbXBlcmF0aXZlS2V5QmluZGluZ3NbeF09Qzt0aGlzLl9wcmVwS2V5QmluZGluZ3MoKTt0aGlzLl9yZXNldEtleUV2ZW50TGlzdGVuZXJzKCl9LHJlbW92ZU93bktleUJpbmRpbmdzOmZ1bmN0aW9uKCl7dGhpcy5faW1wZXJhdGl2ZUtleUJpbmRpbmdzPXt9O3RoaXMuX3ByZXBLZXlCaW5kaW5ncygpO3RoaXMuX3Jlc2V0S2V5RXZlbnRMaXN0ZW5lcnMoKX0sa2V5Ym9hcmRFdmVudE1hdGNoZXNLZXlzOmZ1bmN0aW9uKHgsQyl7Qz1sKEMpO2Zvcih2YXIgRz0wO0c8Qy5sZW5ndGg7KytHKWlmKGsoQ1tHXSx4KSlyZXR1cm4hMDtyZXR1cm4hMX0sX2NvbGxlY3RLZXlCaW5kaW5nczpmdW5jdGlvbigpe3ZhciB4PXRoaXMuYmVoYXZpb3JzLm1hcChmdW5jdGlvbihDKXtyZXR1cm4gQy5rZXlCaW5kaW5nc30pOy0xPT09eC5pbmRleE9mKHRoaXMua2V5QmluZGluZ3MpJiZ4LnB1c2godGhpcy5rZXlCaW5kaW5ncyk7cmV0dXJuIHh9LApfcHJlcEtleUJpbmRpbmdzOmZ1bmN0aW9uKCl7dGhpcy5fa2V5QmluZGluZ3M9e307dGhpcy5fY29sbGVjdEtleUJpbmRpbmdzKCkuZm9yRWFjaChmdW5jdGlvbihHKXtmb3IodmFyIEQgaW4gRyl0aGlzLl9hZGRLZXlCaW5kaW5nKEQsR1tEXSl9LHRoaXMpO2Zvcih2YXIgeCBpbiB0aGlzLl9pbXBlcmF0aXZlS2V5QmluZGluZ3MpdGhpcy5fYWRkS2V5QmluZGluZyh4LHRoaXMuX2ltcGVyYXRpdmVLZXlCaW5kaW5nc1t4XSk7Zm9yKHZhciBDIGluIHRoaXMuX2tleUJpbmRpbmdzKXRoaXMuX2tleUJpbmRpbmdzW0NdLnNvcnQoZnVuY3Rpb24oRyxEKXtHPUdbMF0uaGFzTW9kaWZpZXJzO3JldHVybiBHPT09RFswXS5oYXNNb2RpZmllcnM/MDpHPy0xOjF9KX0sX2FkZEtleUJpbmRpbmc6ZnVuY3Rpb24oeCxDKXtsKHgpLmZvckVhY2goZnVuY3Rpb24oRyl7dGhpcy5fa2V5QmluZGluZ3NbRy5ldmVudF09dGhpcy5fa2V5QmluZGluZ3NbRy5ldmVudF18fFtdO3RoaXMuX2tleUJpbmRpbmdzW0cuZXZlbnRdLnB1c2goW0csCkNdKX0sdGhpcyl9LF9yZXNldEtleUV2ZW50TGlzdGVuZXJzOmZ1bmN0aW9uKCl7dGhpcy5fdW5saXN0ZW5LZXlFdmVudExpc3RlbmVycygpO3RoaXMuaXNBdHRhY2hlZCYmdGhpcy5fbGlzdGVuS2V5RXZlbnRMaXN0ZW5lcnMoKX0sX2xpc3RlbktleUV2ZW50TGlzdGVuZXJzOmZ1bmN0aW9uKCl7dGhpcy5rZXlFdmVudFRhcmdldCYmT2JqZWN0LmtleXModGhpcy5fa2V5QmluZGluZ3MpLmZvckVhY2goZnVuY3Rpb24oeCl7dmFyIEM9dGhpcy5fb25LZXlCaW5kaW5nRXZlbnQuYmluZCh0aGlzLHRoaXMuX2tleUJpbmRpbmdzW3hdKTt0aGlzLl9ib3VuZEtleUhhbmRsZXJzLnB1c2goW3RoaXMua2V5RXZlbnRUYXJnZXQseCxDXSk7dGhpcy5rZXlFdmVudFRhcmdldC5hZGRFdmVudExpc3RlbmVyKHgsQyl9LHRoaXMpfSxfdW5saXN0ZW5LZXlFdmVudExpc3RlbmVyczpmdW5jdGlvbigpe2Zvcih2YXIgeCxDLEc7dGhpcy5fYm91bmRLZXlIYW5kbGVycy5sZW5ndGg7KXg9dGhpcy5fYm91bmRLZXlIYW5kbGVycy5wb3AoKSwKQz14WzBdLEc9eFsxXSx4PXhbMl0sQy5yZW1vdmVFdmVudExpc3RlbmVyKEcseCl9LF9vbktleUJpbmRpbmdFdmVudDpmdW5jdGlvbih4LEMpe3RoaXMuc3RvcEtleWJvYXJkRXZlbnRQcm9wYWdhdGlvbiYmQy5zdG9wUHJvcGFnYXRpb24oKTtpZighQy5kZWZhdWx0UHJldmVudGVkKWZvcih2YXIgRz0wO0c8eC5sZW5ndGg7RysrKXt2YXIgRD14W0ddWzBdLEI9eFtHXVsxXTtpZihrKEQsQykmJih0aGlzLl90cmlnZ2VyS2V5SGFuZGxlcihELEIsQyksQy5kZWZhdWx0UHJldmVudGVkKSlicmVha319LF90cmlnZ2VyS2V5SGFuZGxlcjpmdW5jdGlvbih4LEMsRyl7dmFyIEQ9T2JqZWN0LmNyZWF0ZSh4KTtELmtleWJvYXJkRXZlbnQ9Rzt4PW5ldyBDdXN0b21FdmVudCh4LmV2ZW50LHtkZXRhaWw6RCxjYW5jZWxhYmxlOiEwfSk7dGhpc1tDXS5jYWxsKHRoaXMseCk7eC5kZWZhdWx0UHJldmVudGVkJiZHLnByZXZlbnREZWZhdWx0KCl9fX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1iZWhhdmlvcnMvaXJvbi1jb250cm9sLXN0YXRlLmh0bWwuanMKUG9seW1lci5Jcm9uQ29udHJvbFN0YXRlPXtwcm9wZXJ0aWVzOntmb2N1c2VkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsbm90aWZ5OiEwLHJlYWRPbmx5OiEwLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sZGlzYWJsZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxub3RpZnk6ITAsb2JzZXJ2ZXI6Il9kaXNhYmxlZENoYW5nZWQiLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sX29sZFRhYkluZGV4Ont0eXBlOlN0cmluZ30sX2JvdW5kRm9jdXNCbHVySGFuZGxlcjp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9mb2N1c0JsdXJIYW5kbGVyLmJpbmQodGhpcyl9fSxfX2hhbmRsZUV2ZW50UmV0YXJnZXRpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiF0aGlzLnNoYWRvd1Jvb3QmJiFQb2x5bWVyLkVsZW1lbnR9fX0sb2JzZXJ2ZXJzOlsiX2NoYW5nZWRDb250cm9sU3RhdGUoZm9jdXNlZCwgZGlzYWJsZWQpIl0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwKdGhpcy5fYm91bmRGb2N1c0JsdXJIYW5kbGVyLCEwKTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX2JvdW5kRm9jdXNCbHVySGFuZGxlciwhMCl9LF9mb2N1c0JsdXJIYW5kbGVyOmZ1bmN0aW9uKGIpe2lmKFBvbHltZXIuRWxlbWVudCl0aGlzLl9zZXRGb2N1c2VkKCJmb2N1cyI9PT1iLnR5cGUpO2Vsc2UgaWYoYi50YXJnZXQ9PT10aGlzKXRoaXMuX3NldEZvY3VzZWQoImZvY3VzIj09PWIudHlwZSk7ZWxzZSBpZih0aGlzLl9faGFuZGxlRXZlbnRSZXRhcmdldGluZyl7dmFyIGQ9UG9seW1lci5kb20oYikubG9jYWxUYXJnZXQ7dGhpcy5pc0xpZ2h0RGVzY2VuZGFudChkKXx8dGhpcy5maXJlKGIudHlwZSx7c291cmNlRXZlbnQ6Yn0se25vZGU6dGhpcyxidWJibGVzOmIuYnViYmxlcyxjYW5jZWxhYmxlOmIuY2FuY2VsYWJsZX0pfX0sX2Rpc2FibGVkQ2hhbmdlZDpmdW5jdGlvbihiKXt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIsYj8idHJ1ZSI6ImZhbHNlIik7CnRoaXMuc3R5bGUucG9pbnRlckV2ZW50cz1iPyJub25lIjoiIjtiPyh0aGlzLl9vbGRUYWJJbmRleD10aGlzLmdldEF0dHJpYnV0ZSgidGFiaW5kZXgiKSx0aGlzLl9zZXRGb2N1c2VkKCExKSx0aGlzLnRhYkluZGV4PS0xLHRoaXMuYmx1cigpKTp2b2lkIDAhPT10aGlzLl9vbGRUYWJJbmRleCYmKG51bGw9PT10aGlzLl9vbGRUYWJJbmRleD90aGlzLnJlbW92ZUF0dHJpYnV0ZSgidGFiaW5kZXgiKTp0aGlzLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLHRoaXMuX29sZFRhYkluZGV4KSl9LF9jaGFuZ2VkQ29udHJvbFN0YXRlOmZ1bmN0aW9uKCl7dGhpcy5fY29udHJvbFN0YXRlQ2hhbmdlZCYmdGhpcy5fY29udHJvbFN0YXRlQ2hhbmdlZCgpfX07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1iZWhhdmlvcnMvaXJvbi1idXR0b24tc3RhdGUuaHRtbC5qcwpQb2x5bWVyLklyb25CdXR0b25TdGF0ZUltcGw9e3Byb3BlcnRpZXM6e3ByZXNzZWQ6e3R5cGU6Qm9vbGVhbixyZWFkT25seTohMCx2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsb2JzZXJ2ZXI6Il9wcmVzc2VkQ2hhbmdlZCJ9LHRvZ2dsZXM6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LGFjdGl2ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG5vdGlmeTohMCxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LHBvaW50ZXJEb3duOnt0eXBlOkJvb2xlYW4scmVhZE9ubHk6ITAsdmFsdWU6ITF9LHJlY2VpdmVkRm9jdXNGcm9tS2V5Ym9hcmQ6e3R5cGU6Qm9vbGVhbixyZWFkT25seTohMH0sYXJpYUFjdGl2ZUF0dHJpYnV0ZTp7dHlwZTpTdHJpbmcsdmFsdWU6ImFyaWEtcHJlc3NlZCIsb2JzZXJ2ZXI6Il9hcmlhQWN0aXZlQXR0cmlidXRlQ2hhbmdlZCJ9fSxsaXN0ZW5lcnM6e2Rvd246Il9kb3duSGFuZGxlciIsdXA6Il91cEhhbmRsZXIiLHRhcDoiX3RhcEhhbmRsZXIifSwKb2JzZXJ2ZXJzOlsiX2ZvY3VzQ2hhbmdlZChmb2N1c2VkKSIsIl9hY3RpdmVDaGFuZ2VkKGFjdGl2ZSwgYXJpYUFjdGl2ZUF0dHJpYnV0ZSkiXSxrZXlCaW5kaW5nczp7ImVudGVyOmtleWRvd24iOiJfYXN5bmNDbGljayIsInNwYWNlOmtleWRvd24iOiJfc3BhY2VLZXlEb3duSGFuZGxlciIsInNwYWNlOmtleXVwIjoiX3NwYWNlS2V5VXBIYW5kbGVyIn0sX21vdXNlRXZlbnRSZTovXm1vdXNlLyxfdGFwSGFuZGxlcjpmdW5jdGlvbigpe3RoaXMudG9nZ2xlcz90aGlzLl91c2VyQWN0aXZhdGUoIXRoaXMuYWN0aXZlKTp0aGlzLmFjdGl2ZT0hMX0sX2ZvY3VzQ2hhbmdlZDpmdW5jdGlvbihiKXt0aGlzLl9kZXRlY3RLZXlib2FyZEZvY3VzKGIpO2J8fHRoaXMuX3NldFByZXNzZWQoITEpfSxfZGV0ZWN0S2V5Ym9hcmRGb2N1czpmdW5jdGlvbihiKXt0aGlzLl9zZXRSZWNlaXZlZEZvY3VzRnJvbUtleWJvYXJkKCF0aGlzLnBvaW50ZXJEb3duJiZiKX0sX3VzZXJBY3RpdmF0ZTpmdW5jdGlvbihiKXt0aGlzLmFjdGl2ZSE9PQpiJiYodGhpcy5hY3RpdmU9Yix0aGlzLmZpcmUoImNoYW5nZSIpKX0sX2Rvd25IYW5kbGVyOmZ1bmN0aW9uKCl7dGhpcy5fc2V0UG9pbnRlckRvd24oITApO3RoaXMuX3NldFByZXNzZWQoITApO3RoaXMuX3NldFJlY2VpdmVkRm9jdXNGcm9tS2V5Ym9hcmQoITEpfSxfdXBIYW5kbGVyOmZ1bmN0aW9uKCl7dGhpcy5fc2V0UG9pbnRlckRvd24oITEpO3RoaXMuX3NldFByZXNzZWQoITEpfSxfc3BhY2VLZXlEb3duSGFuZGxlcjpmdW5jdGlvbihiKXtiPWIuZGV0YWlsLmtleWJvYXJkRXZlbnQ7dmFyIGQ9UG9seW1lci5kb20oYikubG9jYWxUYXJnZXQ7dGhpcy5pc0xpZ2h0RGVzY2VuZGFudChkKXx8KGIucHJldmVudERlZmF1bHQoKSxiLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLHRoaXMuX3NldFByZXNzZWQoITApKX0sX3NwYWNlS2V5VXBIYW5kbGVyOmZ1bmN0aW9uKGIpe2I9UG9seW1lci5kb20oYi5kZXRhaWwua2V5Ym9hcmRFdmVudCkubG9jYWxUYXJnZXQ7dGhpcy5pc0xpZ2h0RGVzY2VuZGFudChiKXx8Cih0aGlzLnByZXNzZWQmJnRoaXMuX2FzeW5jQ2xpY2soKSx0aGlzLl9zZXRQcmVzc2VkKCExKSl9LF9hc3luY0NsaWNrOmZ1bmN0aW9uKCl7dGhpcy5hc3luYyhmdW5jdGlvbigpe3RoaXMuY2xpY2soKX0sMSl9LF9wcmVzc2VkQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuX2NoYW5nZWRCdXR0b25TdGF0ZSgpfSxfYXJpYUFjdGl2ZUF0dHJpYnV0ZUNoYW5nZWQ6ZnVuY3Rpb24oYixkKXtkJiZkIT1iJiZ0aGlzLmhhc0F0dHJpYnV0ZShkKSYmdGhpcy5yZW1vdmVBdHRyaWJ1dGUoZCl9LF9hY3RpdmVDaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMudG9nZ2xlcz90aGlzLnNldEF0dHJpYnV0ZSh0aGlzLmFyaWFBY3RpdmVBdHRyaWJ1dGUsYj8idHJ1ZSI6ImZhbHNlIik6dGhpcy5yZW1vdmVBdHRyaWJ1dGUodGhpcy5hcmlhQWN0aXZlQXR0cmlidXRlKTt0aGlzLl9jaGFuZ2VkQnV0dG9uU3RhdGUoKX0sX2NvbnRyb2xTdGF0ZUNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmRpc2FibGVkP3RoaXMuX3NldFByZXNzZWQoITEpOgp0aGlzLl9jaGFuZ2VkQnV0dG9uU3RhdGUoKX0sX2NoYW5nZWRCdXR0b25TdGF0ZTpmdW5jdGlvbigpe3RoaXMuX2J1dHRvblN0YXRlQ2hhbmdlZCYmdGhpcy5fYnV0dG9uU3RhdGVDaGFuZ2VkKCl9fTtQb2x5bWVyLklyb25CdXR0b25TdGF0ZT1bUG9seW1lci5Jcm9uQTExeUtleXNCZWhhdmlvcixQb2x5bWVyLklyb25CdXR0b25TdGF0ZUltcGxdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWJlaGF2aW9ycy9wYXBlci1yaXBwbGUtYmVoYXZpb3IuaHRtbC5qcwpQb2x5bWVyLlBhcGVyUmlwcGxlQmVoYXZpb3I9e3Byb3BlcnRpZXM6e25vaW5rOnt0eXBlOkJvb2xlYW4sb2JzZXJ2ZXI6Il9ub2lua0NoYW5nZWQifSxfcmlwcGxlQ29udGFpbmVyOnt0eXBlOk9iamVjdH19LF9idXR0b25TdGF0ZUNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmZvY3VzZWQmJnRoaXMuZW5zdXJlUmlwcGxlKCl9LF9kb3duSGFuZGxlcjpmdW5jdGlvbihiKXtQb2x5bWVyLklyb25CdXR0b25TdGF0ZUltcGwuX2Rvd25IYW5kbGVyLmNhbGwodGhpcyxiKTt0aGlzLnByZXNzZWQmJnRoaXMuZW5zdXJlUmlwcGxlKGIpfSxlbnN1cmVSaXBwbGU6ZnVuY3Rpb24oYil7aWYoIXRoaXMuaGFzUmlwcGxlKCkpe3RoaXMuX3JpcHBsZT10aGlzLl9jcmVhdGVSaXBwbGUoKTt0aGlzLl9yaXBwbGUubm9pbms9dGhpcy5ub2luazt2YXIgZD10aGlzLl9yaXBwbGVDb250YWluZXJ8fHRoaXMucm9vdDtkJiZQb2x5bWVyLmRvbShkKS5hcHBlbmRDaGlsZCh0aGlzLl9yaXBwbGUpO2lmKGIpe2Q9ClBvbHltZXIuZG9tKHRoaXMuX3JpcHBsZUNvbnRhaW5lcnx8dGhpcyk7dmFyIGY9UG9seW1lci5kb20oYikucm9vdFRhcmdldDtkLmRlZXBDb250YWlucyhmKSYmdGhpcy5fcmlwcGxlLnVpRG93bkFjdGlvbihiKX19fSxnZXRSaXBwbGU6ZnVuY3Rpb24oKXt0aGlzLmVuc3VyZVJpcHBsZSgpO3JldHVybiB0aGlzLl9yaXBwbGV9LGhhc1JpcHBsZTpmdW5jdGlvbigpe3JldHVybiEhdGhpcy5fcmlwcGxlfSxfY3JlYXRlUmlwcGxlOmZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInBhcGVyLXJpcHBsZSIpfSxfbm9pbmtDaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMuaGFzUmlwcGxlKCkmJih0aGlzLl9yaXBwbGUubm9pbms9Yil9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1iZWhhdmlvcnMvcGFwZXItYnV0dG9uLWJlaGF2aW9yLmh0bWwuanMKUG9seW1lci5QYXBlckJ1dHRvbkJlaGF2aW9ySW1wbD17cHJvcGVydGllczp7ZWxldmF0aW9uOnt0eXBlOk51bWJlcixyZWZsZWN0VG9BdHRyaWJ1dGU6ITAscmVhZE9ubHk6ITB9fSxvYnNlcnZlcnM6WyJfY2FsY3VsYXRlRWxldmF0aW9uKGZvY3VzZWQsIGRpc2FibGVkLCBhY3RpdmUsIHByZXNzZWQsIHJlY2VpdmVkRm9jdXNGcm9tS2V5Ym9hcmQpIiwiX2NvbXB1dGVLZXlib2FyZENsYXNzKHJlY2VpdmVkRm9jdXNGcm9tS2V5Ym9hcmQpIl0saG9zdEF0dHJpYnV0ZXM6e3JvbGU6ImJ1dHRvbiIsdGFiaW5kZXg6IjAiLGFuaW1hdGVkOiEwfSxfY2FsY3VsYXRlRWxldmF0aW9uOmZ1bmN0aW9uKCl7dmFyIGI9MTt0aGlzLmRpc2FibGVkP2I9MDp0aGlzLmFjdGl2ZXx8dGhpcy5wcmVzc2VkP2I9NDp0aGlzLnJlY2VpdmVkRm9jdXNGcm9tS2V5Ym9hcmQmJihiPTMpO3RoaXMuX3NldEVsZXZhdGlvbihiKX0sX2NvbXB1dGVLZXlib2FyZENsYXNzOmZ1bmN0aW9uKGIpe3RoaXMudG9nZ2xlQ2xhc3MoImtleWJvYXJkLWZvY3VzIiwKYil9LF9zcGFjZUtleURvd25IYW5kbGVyOmZ1bmN0aW9uKGIpe1BvbHltZXIuSXJvbkJ1dHRvblN0YXRlSW1wbC5fc3BhY2VLZXlEb3duSGFuZGxlci5jYWxsKHRoaXMsYik7dGhpcy5oYXNSaXBwbGUoKSYmMT50aGlzLmdldFJpcHBsZSgpLnJpcHBsZXMubGVuZ3RoJiZ0aGlzLl9yaXBwbGUudWlEb3duQWN0aW9uKCl9LF9zcGFjZUtleVVwSGFuZGxlcjpmdW5jdGlvbihiKXtQb2x5bWVyLklyb25CdXR0b25TdGF0ZUltcGwuX3NwYWNlS2V5VXBIYW5kbGVyLmNhbGwodGhpcyxiKTt0aGlzLmhhc1JpcHBsZSgpJiZ0aGlzLl9yaXBwbGUudWlVcEFjdGlvbigpfX07UG9seW1lci5QYXBlckJ1dHRvbkJlaGF2aW9yPVtQb2x5bWVyLklyb25CdXR0b25TdGF0ZSxQb2x5bWVyLklyb25Db250cm9sU3RhdGUsUG9seW1lci5QYXBlclJpcHBsZUJlaGF2aW9yLFBvbHltZXIuUGFwZXJCdXR0b25CZWhhdmlvckltcGxdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tbWV0YS9pcm9uLW1ldGEuaHRtbC5qcwooZnVuY3Rpb24oKXtQb2x5bWVyLklyb25NZXRhPWZ1bmN0aW9uKGQpe1BvbHltZXIuSXJvbk1ldGFbIiAiXShkKTt0aGlzLnR5cGU9ZCYmZC50eXBlfHwiZGVmYXVsdCI7dGhpcy5rZXk9ZCYmZC5rZXk7ZCYmInZhbHVlImluIGQmJih0aGlzLnZhbHVlPWQudmFsdWUpfTtQb2x5bWVyLklyb25NZXRhWyIgIl09ZnVuY3Rpb24oKXt9O1BvbHltZXIuSXJvbk1ldGEudHlwZXM9e307UG9seW1lci5Jcm9uTWV0YS5wcm90b3R5cGU9e2dldCB2YWx1ZSgpe3ZhciBkPXRoaXMudHlwZSxmPXRoaXMua2V5O2lmKGQmJmYpcmV0dXJuIFBvbHltZXIuSXJvbk1ldGEudHlwZXNbZF0mJlBvbHltZXIuSXJvbk1ldGEudHlwZXNbZF1bZl19LHNldCB2YWx1ZShkKXt2YXIgZj10aGlzLnR5cGUsaD10aGlzLmtleTtmJiZoJiYoZj1Qb2x5bWVyLklyb25NZXRhLnR5cGVzW2ZdPVBvbHltZXIuSXJvbk1ldGEudHlwZXNbZl18fHt9LG51bGw9PWQ/ZGVsZXRlIGZbaF06ZltoXT1kKX0sZ2V0IGxpc3QoKXtpZih0aGlzLnR5cGUpe3ZhciBkPQpQb2x5bWVyLklyb25NZXRhLnR5cGVzW3RoaXMudHlwZV07cmV0dXJuIGQ/T2JqZWN0LmtleXMoZCkubWFwKGZ1bmN0aW9uKGYpe3JldHVybiBiW3RoaXMudHlwZV1bZl19LHRoaXMpOltdfX0sYnlLZXk6ZnVuY3Rpb24oZCl7dGhpcy5rZXk9ZDtyZXR1cm4gdGhpcy52YWx1ZX19O3ZhciBiPVBvbHltZXIuSXJvbk1ldGEudHlwZXM7UG9seW1lcih7aXM6Imlyb24tbWV0YSIscHJvcGVydGllczp7dHlwZTp7dHlwZTpTdHJpbmcsdmFsdWU6ImRlZmF1bHQifSxrZXk6e3R5cGU6U3RyaW5nfSx2YWx1ZTp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSxzZWxmOnt0eXBlOkJvb2xlYW4sb2JzZXJ2ZXI6Il9zZWxmQ2hhbmdlZCJ9LF9fbWV0YTp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfX2NvbXB1dGVNZXRhKHR5cGUsIGtleSwgdmFsdWUpIn19LGhvc3RBdHRyaWJ1dGVzOntoaWRkZW46ITB9LF9fY29tcHV0ZU1ldGE6ZnVuY3Rpb24oZCxmLGgpe2Q9bmV3IFBvbHltZXIuSXJvbk1ldGEoe3R5cGU6ZCwKa2V5OmZ9KTt2b2lkIDAhPT1oJiZoIT09ZC52YWx1ZT9kLnZhbHVlPWg6dGhpcy52YWx1ZSE9PWQudmFsdWUmJih0aGlzLnZhbHVlPWQudmFsdWUpO3JldHVybiBkfSxnZXQgbGlzdCgpe3JldHVybiB0aGlzLl9fbWV0YSYmdGhpcy5fX21ldGEubGlzdH0sX3NlbGZDaGFuZ2VkOmZ1bmN0aW9uKGQpe2QmJih0aGlzLnZhbHVlPXRoaXMpfSxieUtleTpmdW5jdGlvbihkKXtyZXR1cm4obmV3IFBvbHltZXIuSXJvbk1ldGEoe3R5cGU6dGhpcy50eXBlLGtleTpkfSkpLnZhbHVlfX0pfSkoKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLXZhbGlkYXRhYmxlLWJlaGF2aW9yL2lyb24tdmFsaWRhdGFibGUtYmVoYXZpb3IuaHRtbC5qcwpQb2x5bWVyLklyb25WYWxpZGF0YWJsZUJlaGF2aW9yTWV0YT1udWxsOwpQb2x5bWVyLklyb25WYWxpZGF0YWJsZUJlaGF2aW9yPXtwcm9wZXJ0aWVzOnt2YWxpZGF0b3I6e3R5cGU6U3RyaW5nfSxpbnZhbGlkOntub3RpZnk6ITAscmVmbGVjdFRvQXR0cmlidXRlOiEwLHR5cGU6Qm9vbGVhbix2YWx1ZTohMSxvYnNlcnZlcjoiX2ludmFsaWRDaGFuZ2VkIn19LHJlZ2lzdGVyZWQ6ZnVuY3Rpb24oKXtQb2x5bWVyLklyb25WYWxpZGF0YWJsZUJlaGF2aW9yTWV0YT1uZXcgUG9seW1lci5Jcm9uTWV0YSh7dHlwZToidmFsaWRhdG9yIn0pfSxfaW52YWxpZENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmludmFsaWQ/dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtaW52YWxpZCIsInRydWUiKTp0aGlzLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIil9LGdldCBfdmFsaWRhdG9yKCl7cmV0dXJuIFBvbHltZXIuSXJvblZhbGlkYXRhYmxlQmVoYXZpb3JNZXRhJiZQb2x5bWVyLklyb25WYWxpZGF0YWJsZUJlaGF2aW9yTWV0YS5ieUtleSh0aGlzLnZhbGlkYXRvcil9LGhhc1ZhbGlkYXRvcjpmdW5jdGlvbigpe3JldHVybiBudWxsIT0KdGhpcy5fdmFsaWRhdG9yfSx2YWxpZGF0ZTpmdW5jdGlvbihiKXt0aGlzLmludmFsaWQ9dm9pZCAwPT09YiYmdm9pZCAwIT09dGhpcy52YWx1ZT8hdGhpcy5fZ2V0VmFsaWRpdHkodGhpcy52YWx1ZSk6IXRoaXMuX2dldFZhbGlkaXR5KGIpO3JldHVybiF0aGlzLmludmFsaWR9LF9nZXRWYWxpZGl0eTpmdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5oYXNWYWxpZGF0b3IoKT90aGlzLl92YWxpZGF0b3IudmFsaWRhdGUoYik6ITB9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLWZvcm0tZWxlbWVudC1iZWhhdmlvci9pcm9uLWZvcm0tZWxlbWVudC1iZWhhdmlvci5odG1sLmpzClBvbHltZXIuSXJvbkZvcm1FbGVtZW50QmVoYXZpb3I9e3Byb3BlcnRpZXM6e25hbWU6e3R5cGU6U3RyaW5nfSx2YWx1ZTp7bm90aWZ5OiEwLHR5cGU6U3RyaW5nfSxyZXF1aXJlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfcGFyZW50Rm9ybTp7dHlwZTpPYmplY3R9fSxhdHRhY2hlZDpmdW5jdGlvbigpe1BvbHltZXIuRWxlbWVudHx8dGhpcy5maXJlKCJpcm9uLWZvcm0tZWxlbWVudC1yZWdpc3RlciIpfSxkZXRhY2hlZDpmdW5jdGlvbigpeyFQb2x5bWVyLkVsZW1lbnQmJnRoaXMuX3BhcmVudEZvcm0mJnRoaXMuX3BhcmVudEZvcm0uZmlyZSgiaXJvbi1mb3JtLWVsZW1lbnQtdW5yZWdpc3RlciIse3RhcmdldDp0aGlzfSl9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLWNoZWNrZWQtZWxlbWVudC1iZWhhdmlvci9pcm9uLWNoZWNrZWQtZWxlbWVudC1iZWhhdmlvci5odG1sLmpzClBvbHltZXIuSXJvbkNoZWNrZWRFbGVtZW50QmVoYXZpb3JJbXBsPXtwcm9wZXJ0aWVzOntjaGVja2VkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwLG5vdGlmeTohMCxvYnNlcnZlcjoiX2NoZWNrZWRDaGFuZ2VkIn0sdG9nZ2xlczp7dHlwZTpCb29sZWFuLHZhbHVlOiEwLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sdmFsdWU6e3R5cGU6U3RyaW5nLHZhbHVlOiJvbiIsb2JzZXJ2ZXI6Il92YWx1ZUNoYW5nZWQifX0sb2JzZXJ2ZXJzOlsiX3JlcXVpcmVkQ2hhbmdlZChyZXF1aXJlZCkiXSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5faGFzSXJvbkNoZWNrZWRFbGVtZW50QmVoYXZpb3I9ITB9LF9nZXRWYWxpZGl0eTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRpc2FibGVkfHwhdGhpcy5yZXF1aXJlZHx8dGhpcy5jaGVja2VkfSxfcmVxdWlyZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5yZXF1aXJlZD90aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1yZXF1aXJlZCIsCiJ0cnVlIik6dGhpcy5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtcmVxdWlyZWQiKX0sX2NoZWNrZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5hY3RpdmU9dGhpcy5jaGVja2VkO3RoaXMuZmlyZSgiaXJvbi1jaGFuZ2UiKX0sX3ZhbHVlQ2hhbmdlZDpmdW5jdGlvbigpe2lmKHZvaWQgMD09PXRoaXMudmFsdWV8fG51bGw9PT10aGlzLnZhbHVlKXRoaXMudmFsdWU9Im9uIn19O1BvbHltZXIuSXJvbkNoZWNrZWRFbGVtZW50QmVoYXZpb3I9W1BvbHltZXIuSXJvbkZvcm1FbGVtZW50QmVoYXZpb3IsUG9seW1lci5Jcm9uVmFsaWRhdGFibGVCZWhhdmlvcixQb2x5bWVyLklyb25DaGVja2VkRWxlbWVudEJlaGF2aW9ySW1wbF07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItYmVoYXZpb3JzL3BhcGVyLWlua3ktZm9jdXMtYmVoYXZpb3IuaHRtbC5qcwpQb2x5bWVyLlBhcGVySW5reUZvY3VzQmVoYXZpb3JJbXBsPXtvYnNlcnZlcnM6WyJfZm9jdXNlZENoYW5nZWQocmVjZWl2ZWRGb2N1c0Zyb21LZXlib2FyZCkiXSxfZm9jdXNlZENoYW5nZWQ6ZnVuY3Rpb24oYil7YiYmdGhpcy5lbnN1cmVSaXBwbGUoKTt0aGlzLmhhc1JpcHBsZSgpJiYodGhpcy5fcmlwcGxlLmhvbGREb3duPWIpfSxfY3JlYXRlUmlwcGxlOmZ1bmN0aW9uKCl7dmFyIGI9UG9seW1lci5QYXBlclJpcHBsZUJlaGF2aW9yLl9jcmVhdGVSaXBwbGUoKTtiLmlkPSJpbmsiO2Iuc2V0QXR0cmlidXRlKCJjZW50ZXIiLCIiKTtiLmNsYXNzTGlzdC5hZGQoImNpcmNsZSIpO3JldHVybiBifX07UG9seW1lci5QYXBlcklua3lGb2N1c0JlaGF2aW9yPVtQb2x5bWVyLklyb25CdXR0b25TdGF0ZSxQb2x5bWVyLklyb25Db250cm9sU3RhdGUsUG9seW1lci5QYXBlclJpcHBsZUJlaGF2aW9yLFBvbHltZXIuUGFwZXJJbmt5Rm9jdXNCZWhhdmlvckltcGxdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWJlaGF2aW9ycy9wYXBlci1jaGVja2VkLWVsZW1lbnQtYmVoYXZpb3IuaHRtbC5qcwpQb2x5bWVyLlBhcGVyQ2hlY2tlZEVsZW1lbnRCZWhhdmlvckltcGw9e19jaGVja2VkQ2hhbmdlZDpmdW5jdGlvbigpe1BvbHltZXIuSXJvbkNoZWNrZWRFbGVtZW50QmVoYXZpb3JJbXBsLl9jaGVja2VkQ2hhbmdlZC5jYWxsKHRoaXMpO3RoaXMuaGFzUmlwcGxlKCkmJih0aGlzLmNoZWNrZWQ/dGhpcy5fcmlwcGxlLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsIiIpOnRoaXMuX3JpcHBsZS5yZW1vdmVBdHRyaWJ1dGUoImNoZWNrZWQiKSl9LF9idXR0b25TdGF0ZUNoYW5nZWQ6ZnVuY3Rpb24oKXtQb2x5bWVyLlBhcGVyUmlwcGxlQmVoYXZpb3IuX2J1dHRvblN0YXRlQ2hhbmdlZC5jYWxsKHRoaXMpOyF0aGlzLmRpc2FibGVkJiZ0aGlzLmlzQXR0YWNoZWQmJih0aGlzLmNoZWNrZWQ9dGhpcy5hY3RpdmUpfX07ClBvbHltZXIuUGFwZXJDaGVja2VkRWxlbWVudEJlaGF2aW9yPVtQb2x5bWVyLlBhcGVySW5reUZvY3VzQmVoYXZpb3IsUG9seW1lci5Jcm9uQ2hlY2tlZEVsZW1lbnRCZWhhdmlvcixQb2x5bWVyLlBhcGVyQ2hlY2tlZEVsZW1lbnRCZWhhdmlvckltcGxdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWlucHV0L3BhcGVyLWlucHV0LWJlaGF2aW9yLmh0bWwuanMKUG9seW1lci5QYXBlcklucHV0SGVscGVyPXt9O1BvbHltZXIuUGFwZXJJbnB1dEhlbHBlci5OZXh0TGFiZWxJRD0xO1BvbHltZXIuUGFwZXJJbnB1dEhlbHBlci5OZXh0QWRkb25JRD0xO1BvbHltZXIuUGFwZXJJbnB1dEhlbHBlci5OZXh0SW5wdXRJRD0xOwpQb2x5bWVyLlBhcGVySW5wdXRCZWhhdmlvckltcGw9e3Byb3BlcnRpZXM6e2xhYmVsOnt0eXBlOlN0cmluZ30sdmFsdWU6e25vdGlmeTohMCx0eXBlOlN0cmluZ30sZGlzYWJsZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0saW52YWxpZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG5vdGlmeTohMH0sYWxsb3dlZFBhdHRlcm46e3R5cGU6U3RyaW5nfSx0eXBlOnt0eXBlOlN0cmluZ30sbGlzdDp7dHlwZTpTdHJpbmd9LHBhdHRlcm46e3R5cGU6U3RyaW5nfSxyZXF1aXJlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxlcnJvck1lc3NhZ2U6e3R5cGU6U3RyaW5nfSxjaGFyQ291bnRlcjp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxub0xhYmVsRmxvYXQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sYWx3YXlzRmxvYXRMYWJlbDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxhdXRvVmFsaWRhdGU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sdmFsaWRhdG9yOnt0eXBlOlN0cmluZ30sYXV0b2NvbXBsZXRlOnt0eXBlOlN0cmluZywKdmFsdWU6Im9mZiJ9LGF1dG9mb2N1czp7dHlwZTpCb29sZWFuLG9ic2VydmVyOiJfYXV0b2ZvY3VzQ2hhbmdlZCJ9LGlucHV0bW9kZTp7dHlwZTpTdHJpbmd9LG1pbmxlbmd0aDp7dHlwZTpOdW1iZXJ9LG1heGxlbmd0aDp7dHlwZTpOdW1iZXJ9LG1pbjp7dHlwZTpTdHJpbmd9LG1heDp7dHlwZTpTdHJpbmd9LHN0ZXA6e3R5cGU6U3RyaW5nfSxuYW1lOnt0eXBlOlN0cmluZ30scGxhY2Vob2xkZXI6e3R5cGU6U3RyaW5nLHZhbHVlOiIifSxyZWFkb25seTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxzaXplOnt0eXBlOk51bWJlcn0sYXV0b2NhcGl0YWxpemU6e3R5cGU6U3RyaW5nLHZhbHVlOiJub25lIn0sYXV0b2NvcnJlY3Q6e3R5cGU6U3RyaW5nLHZhbHVlOiJvZmYifSxhdXRvc2F2ZTp7dHlwZTpTdHJpbmd9LHJlc3VsdHM6e3R5cGU6TnVtYmVyfSxhY2NlcHQ6e3R5cGU6U3RyaW5nfSxtdWx0aXBsZTp7dHlwZTpCb29sZWFufSxfYXJpYURlc2NyaWJlZEJ5Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sCl9hcmlhTGFiZWxsZWRCeTp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9LF9pbnB1dElkOnt0eXBlOlN0cmluZyx2YWx1ZToiIn19LGxpc3RlbmVyczp7ImFkZG9uLWF0dGFjaGVkIjoiX29uQWRkb25BdHRhY2hlZCJ9LGtleUJpbmRpbmdzOnsic2hpZnQrdGFiOmtleWRvd24iOiJfb25TaGlmdFRhYkRvd24ifSxob3N0QXR0cmlidXRlczp7dGFiaW5kZXg6MH0sZ2V0IGlucHV0RWxlbWVudCgpe3RoaXMuJHx8KHRoaXMuJD17fSk7dGhpcy4kLmlucHV0fHwodGhpcy5fZ2VuZXJhdGVJbnB1dElkKCksdGhpcy4kLmlucHV0PXRoaXMuJCQoIiMiK3RoaXMuX2lucHV0SWQpKTtyZXR1cm4gdGhpcy4kLmlucHV0fSxnZXQgX2ZvY3VzYWJsZUVsZW1lbnQoKXtyZXR1cm4gdGhpcy5pbnB1dEVsZW1lbnR9LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl90eXBlc1RoYXRIYXZlVGV4dD0iZGF0ZSBkYXRldGltZSBkYXRldGltZS1sb2NhbCBtb250aCB0aW1lIHdlZWsgZmlsZSIuc3BsaXQoIiAiKX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVBcmlhTGFiZWxsZWRCeSgpOwohUG9seW1lci5FbGVtZW50JiZ0aGlzLmlucHV0RWxlbWVudCYmLTEhPT10aGlzLl90eXBlc1RoYXRIYXZlVGV4dC5pbmRleE9mKHRoaXMuaW5wdXRFbGVtZW50LnR5cGUpJiYodGhpcy5hbHdheXNGbG9hdExhYmVsPSEwKX0sX2FwcGVuZFN0cmluZ1dpdGhTcGFjZTpmdW5jdGlvbihiLGQpe3JldHVybiBiP2IrIiAiK2Q6ZH0sX29uQWRkb25BdHRhY2hlZDpmdW5jdGlvbihiKXtiPVBvbHltZXIuZG9tKGIpLnJvb3RUYXJnZXQ7aWYoYi5pZCl0aGlzLl9hcmlhRGVzY3JpYmVkQnk9dGhpcy5fYXBwZW5kU3RyaW5nV2l0aFNwYWNlKHRoaXMuX2FyaWFEZXNjcmliZWRCeSxiLmlkKTtlbHNle3ZhciBkPSJwYXBlci1pbnB1dC1hZGQtb24tIitQb2x5bWVyLlBhcGVySW5wdXRIZWxwZXIuTmV4dEFkZG9uSUQrKztiLmlkPWQ7dGhpcy5fYXJpYURlc2NyaWJlZEJ5PXRoaXMuX2FwcGVuZFN0cmluZ1dpdGhTcGFjZSh0aGlzLl9hcmlhRGVzY3JpYmVkQnksZCl9fSx2YWxpZGF0ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmlucHV0RWxlbWVudC52YWxpZGF0ZSgpfSwKX2ZvY3VzQmx1ckhhbmRsZXI6ZnVuY3Rpb24oYil7UG9seW1lci5Jcm9uQ29udHJvbFN0YXRlLl9mb2N1c0JsdXJIYW5kbGVyLmNhbGwodGhpcyxiKTt0aGlzLmZvY3VzZWQmJiF0aGlzLl9zaGlmdFRhYlByZXNzZWQmJnRoaXMuX2ZvY3VzYWJsZUVsZW1lbnQmJnRoaXMuX2ZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKX0sX29uU2hpZnRUYWJEb3duOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5nZXRBdHRyaWJ1dGUoInRhYmluZGV4Iik7dGhpcy5fc2hpZnRUYWJQcmVzc2VkPSEwO3RoaXMuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIi0xIik7dGhpcy5hc3luYyhmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsYik7dGhpcy5fc2hpZnRUYWJQcmVzc2VkPSExfSwxKX0sX2hhbmRsZUF1dG9WYWxpZGF0ZTpmdW5jdGlvbigpe3RoaXMuYXV0b1ZhbGlkYXRlJiZ0aGlzLnZhbGlkYXRlKCl9LHVwZGF0ZVZhbHVlQW5kUHJlc2VydmVDYXJldDpmdW5jdGlvbihiKXt0cnl7dmFyIGQ9CnRoaXMuaW5wdXRFbGVtZW50LnNlbGVjdGlvblN0YXJ0O3RoaXMudmFsdWU9Yjt0aGlzLmlucHV0RWxlbWVudC5zZWxlY3Rpb25TdGFydD1kO3RoaXMuaW5wdXRFbGVtZW50LnNlbGVjdGlvbkVuZD1kfWNhdGNoKGYpe3RoaXMudmFsdWU9Yn19LF9jb21wdXRlQWx3YXlzRmxvYXRMYWJlbDpmdW5jdGlvbihiLGQpe3JldHVybiBkfHxifSxfdXBkYXRlQXJpYUxhYmVsbGVkQnk6ZnVuY3Rpb24oKXt2YXIgYj1Qb2x5bWVyLmRvbSh0aGlzLnJvb3QpLnF1ZXJ5U2VsZWN0b3IoImxhYmVsIik7aWYoYil7aWYoYi5pZCl2YXIgZD1iLmlkO2Vsc2UgZD0icGFwZXItaW5wdXQtbGFiZWwtIitQb2x5bWVyLlBhcGVySW5wdXRIZWxwZXIuTmV4dExhYmVsSUQrKyxiLmlkPWQ7dGhpcy5fYXJpYUxhYmVsbGVkQnk9ZH1lbHNlIHRoaXMuX2FyaWFMYWJlbGxlZEJ5PSIifSxfZ2VuZXJhdGVJbnB1dElkOmZ1bmN0aW9uKCl7dGhpcy5faW5wdXRJZCYmIiIhPT10aGlzLl9pbnB1dElkfHwodGhpcy5faW5wdXRJZD0KImlucHV0LSIrUG9seW1lci5QYXBlcklucHV0SGVscGVyLk5leHRJbnB1dElEKyspfSxfb25DaGFuZ2U6ZnVuY3Rpb24oYil7dGhpcy5zaGFkb3dSb290JiZ0aGlzLmZpcmUoYi50eXBlLHtzb3VyY2VFdmVudDpifSx7bm9kZTp0aGlzLGJ1YmJsZXM6Yi5idWJibGVzLGNhbmNlbGFibGU6Yi5jYW5jZWxhYmxlfSl9LF9hdXRvZm9jdXNDaGFuZ2VkOmZ1bmN0aW9uKCl7aWYodGhpcy5hdXRvZm9jdXMmJnRoaXMuX2ZvY3VzYWJsZUVsZW1lbnQpe3ZhciBiPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7YiBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZiIT09ZG9jdW1lbnQuYm9keSYmYiE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8dGhpcy5fZm9jdXNhYmxlRWxlbWVudC5mb2N1cygpfX19O1BvbHltZXIuUGFwZXJJbnB1dEJlaGF2aW9yPVtQb2x5bWVyLklyb25Db250cm9sU3RhdGUsUG9seW1lci5Jcm9uQTExeUtleXNCZWhhdmlvcixQb2x5bWVyLlBhcGVySW5wdXRCZWhhdmlvckltcGxdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWlucHV0L3BhcGVyLWlucHV0LWFkZG9uLWJlaGF2aW9yLmh0bWwuanMKUG9seW1lci5QYXBlcklucHV0QWRkb25CZWhhdmlvcj17YXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLmZpcmUoImFkZG9uLWF0dGFjaGVkIil9LHVwZGF0ZTpmdW5jdGlvbigpe319OwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tZml0LWJlaGF2aW9yL2lyb24tZml0LWJlaGF2aW9yLmh0bWwuanMKUG9seW1lci5Jcm9uRml0QmVoYXZpb3I9e3Byb3BlcnRpZXM6e3NpemluZ1RhcmdldDp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319LGZpdEludG86e3R5cGU6T2JqZWN0LHZhbHVlOndpbmRvd30sbm9PdmVybGFwOnt0eXBlOkJvb2xlYW59LHBvc2l0aW9uVGFyZ2V0Ont0eXBlOkVsZW1lbnR9LGhvcml6b250YWxBbGlnbjp7dHlwZTpTdHJpbmd9LHZlcnRpY2FsQWxpZ246e3R5cGU6U3RyaW5nfSxkeW5hbWljQWxpZ246e3R5cGU6Qm9vbGVhbn0saG9yaXpvbnRhbE9mZnNldDp7dHlwZTpOdW1iZXIsdmFsdWU6MCxub3RpZnk6ITB9LHZlcnRpY2FsT2Zmc2V0Ont0eXBlOk51bWJlcix2YWx1ZTowLG5vdGlmeTohMH0sYXV0b0ZpdE9uQXR0YWNoOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9maXRJbmZvOnt0eXBlOk9iamVjdH19LGdldCBfZml0V2lkdGgoKXtyZXR1cm4gdGhpcy5maXRJbnRvPT09d2luZG93P3RoaXMuZml0SW50by5pbm5lcldpZHRoOnRoaXMuZml0SW50by5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aH0sCmdldCBfZml0SGVpZ2h0KCl7cmV0dXJuIHRoaXMuZml0SW50bz09PXdpbmRvdz90aGlzLmZpdEludG8uaW5uZXJIZWlnaHQ6dGhpcy5maXRJbnRvLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodH0sZ2V0IF9maXRMZWZ0KCl7cmV0dXJuIHRoaXMuZml0SW50bz09PXdpbmRvdz8wOnRoaXMuZml0SW50by5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0fSxnZXQgX2ZpdFRvcCgpe3JldHVybiB0aGlzLmZpdEludG89PT13aW5kb3c/MDp0aGlzLmZpdEludG8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wfSxnZXQgX2RlZmF1bHRQb3NpdGlvblRhcmdldCgpe3ZhciBiPVBvbHltZXIuZG9tKHRoaXMpLnBhcmVudE5vZGU7YiYmYi5ub2RlVHlwZT09PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSYmKGI9Yi5ob3N0KTtyZXR1cm4gYn0sZ2V0IF9sb2NhbGVIb3Jpem9udGFsQWxpZ24oKXtpZih0aGlzLl9pc1JUTCl7aWYoInJpZ2h0Ij09PXRoaXMuaG9yaXpvbnRhbEFsaWduKXJldHVybiJsZWZ0IjsKaWYoImxlZnQiPT09dGhpcy5ob3Jpem9udGFsQWxpZ24pcmV0dXJuInJpZ2h0In1yZXR1cm4gdGhpcy5ob3Jpem9udGFsQWxpZ259LGdldCBfX3Nob3VsZFBvc2l0aW9uKCl7cmV0dXJuKHRoaXMuaG9yaXpvbnRhbEFsaWdufHx0aGlzLnZlcnRpY2FsQWxpZ24pJiZ0aGlzLnBvc2l0aW9uVGFyZ2V0fSxhdHRhY2hlZDpmdW5jdGlvbigpeyJ1bmRlZmluZWQiPT09dHlwZW9mIHRoaXMuX2lzUlRMJiYodGhpcy5faXNSVEw9InJ0bCI9PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMpLmRpcmVjdGlvbik7dGhpcy5wb3NpdGlvblRhcmdldD10aGlzLnBvc2l0aW9uVGFyZ2V0fHx0aGlzLl9kZWZhdWx0UG9zaXRpb25UYXJnZXQ7dGhpcy5hdXRvRml0T25BdHRhY2gmJigibm9uZSI9PT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzKS5kaXNwbGF5P3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLmZpdCgpfS5iaW5kKHRoaXMpKTood2luZG93LlNoYWR5RE9NJiZTaGFkeURPTS5mbHVzaCgpLAp0aGlzLmZpdCgpKSl9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fX2RlZmVycmVkRml0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX19kZWZlcnJlZEZpdCksdGhpcy5fX2RlZmVycmVkRml0PW51bGwpfSxmaXQ6ZnVuY3Rpb24oKXt0aGlzLnBvc2l0aW9uKCk7dGhpcy5jb25zdHJhaW4oKTt0aGlzLmNlbnRlcigpfSxfZGlzY292ZXJJbmZvOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX2ZpdEluZm8pe3ZhciBiPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMpLGQ9d2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5zaXppbmdUYXJnZXQpO3RoaXMuX2ZpdEluZm89e2lubGluZVN0eWxlOnt0b3A6dGhpcy5zdHlsZS50b3B8fCIiLGxlZnQ6dGhpcy5zdHlsZS5sZWZ0fHwiIixwb3NpdGlvbjp0aGlzLnN0eWxlLnBvc2l0aW9ufHwiIn0sc2l6ZXJJbmxpbmVTdHlsZTp7bWF4V2lkdGg6dGhpcy5zaXppbmdUYXJnZXQuc3R5bGUubWF4V2lkdGh8fCIiLG1heEhlaWdodDp0aGlzLnNpemluZ1RhcmdldC5zdHlsZS5tYXhIZWlnaHR8fAoiIixib3hTaXppbmc6dGhpcy5zaXppbmdUYXJnZXQuc3R5bGUuYm94U2l6aW5nfHwiIn0scG9zaXRpb25lZEJ5Ont2ZXJ0aWNhbGx5OiJhdXRvIiE9PWIudG9wPyJ0b3AiOiJhdXRvIiE9PWIuYm90dG9tPyJib3R0b20iOm51bGwsaG9yaXpvbnRhbGx5OiJhdXRvIiE9PWIubGVmdD8ibGVmdCI6ImF1dG8iIT09Yi5yaWdodD8icmlnaHQiOm51bGx9LHNpemVkQnk6e2hlaWdodDoibm9uZSIhPT1kLm1heEhlaWdodCx3aWR0aDoibm9uZSIhPT1kLm1heFdpZHRoLG1pbldpZHRoOnBhcnNlSW50KGQubWluV2lkdGgsMTApfHwwLG1pbkhlaWdodDpwYXJzZUludChkLm1pbkhlaWdodCwxMCl8fDB9LG1hcmdpbjp7dG9wOnBhcnNlSW50KGIubWFyZ2luVG9wLDEwKXx8MCxyaWdodDpwYXJzZUludChiLm1hcmdpblJpZ2h0LDEwKXx8MCxib3R0b206cGFyc2VJbnQoYi5tYXJnaW5Cb3R0b20sMTApfHwwLGxlZnQ6cGFyc2VJbnQoYi5tYXJnaW5MZWZ0LDEwKXx8MH19fX0scmVzZXRGaXQ6ZnVuY3Rpb24oKXt2YXIgYj0KdGhpcy5fZml0SW5mb3x8e30sZDtmb3IoZCBpbiBiLnNpemVySW5saW5lU3R5bGUpdGhpcy5zaXppbmdUYXJnZXQuc3R5bGVbZF09Yi5zaXplcklubGluZVN0eWxlW2RdO2ZvcihkIGluIGIuaW5saW5lU3R5bGUpdGhpcy5zdHlsZVtkXT1iLmlubGluZVN0eWxlW2RdO3RoaXMuX2ZpdEluZm89bnVsbH0scmVmaXQ6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLnNpemluZ1RhcmdldC5zY3JvbGxMZWZ0LGQ9dGhpcy5zaXppbmdUYXJnZXQuc2Nyb2xsVG9wO3RoaXMucmVzZXRGaXQoKTt0aGlzLmZpdCgpO3RoaXMuc2l6aW5nVGFyZ2V0LnNjcm9sbExlZnQ9Yjt0aGlzLnNpemluZ1RhcmdldC5zY3JvbGxUb3A9ZH0scG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzLl9fc2hvdWxkUG9zaXRpb24pe3RoaXMuX2Rpc2NvdmVySW5mbygpO3RoaXMuc3R5bGUucG9zaXRpb249ImZpeGVkIjt0aGlzLnNpemluZ1RhcmdldC5zdHlsZS5ib3hTaXppbmc9ImJvcmRlci1ib3giO3RoaXMuc3R5bGUubGVmdD0iMHB4IjsKdGhpcy5zdHlsZS50b3A9IjBweCI7dmFyIGI9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxkPXRoaXMuX19nZXROb3JtYWxpemVkUmVjdCh0aGlzLnBvc2l0aW9uVGFyZ2V0KSxmPXRoaXMuX19nZXROb3JtYWxpemVkUmVjdCh0aGlzLmZpdEludG8pLGg9dGhpcy5fZml0SW5mby5tYXJnaW4saz10aGlzLl9fZ2V0UG9zaXRpb24odGhpcy5fbG9jYWxlSG9yaXpvbnRhbEFsaWduLHRoaXMudmVydGljYWxBbGlnbix7d2lkdGg6Yi53aWR0aCtoLmxlZnQraC5yaWdodCxoZWlnaHQ6Yi5oZWlnaHQraC50b3AraC5ib3R0b219LGIsZCxmKTtkPWsubGVmdCtoLmxlZnQ7az1rLnRvcCtoLnRvcDt2YXIgcj1NYXRoLm1pbihmLnJpZ2h0LWgucmlnaHQsZCtiLndpZHRoKSxsPU1hdGgubWluKGYuYm90dG9tLWguYm90dG9tLGsrYi5oZWlnaHQpO2Q9TWF0aC5tYXgoZi5sZWZ0K2gubGVmdCxNYXRoLm1pbihkLHItdGhpcy5fZml0SW5mby5zaXplZEJ5Lm1pbldpZHRoKSk7az1NYXRoLm1heChmLnRvcCsKaC50b3AsTWF0aC5taW4oayxsLXRoaXMuX2ZpdEluZm8uc2l6ZWRCeS5taW5IZWlnaHQpKTt0aGlzLnNpemluZ1RhcmdldC5zdHlsZS5tYXhXaWR0aD1NYXRoLm1heChyLWQsdGhpcy5fZml0SW5mby5zaXplZEJ5Lm1pbldpZHRoKSsicHgiO3RoaXMuc2l6aW5nVGFyZ2V0LnN0eWxlLm1heEhlaWdodD1NYXRoLm1heChsLWssdGhpcy5fZml0SW5mby5zaXplZEJ5Lm1pbkhlaWdodCkrInB4Ijt0aGlzLnN0eWxlLmxlZnQ9ZC1iLmxlZnQrInB4Ijt0aGlzLnN0eWxlLnRvcD1rLWIudG9wKyJweCJ9fSxjb25zdHJhaW46ZnVuY3Rpb24oKXtpZighdGhpcy5fX3Nob3VsZFBvc2l0aW9uKXt0aGlzLl9kaXNjb3ZlckluZm8oKTt2YXIgYj10aGlzLl9maXRJbmZvO2IucG9zaXRpb25lZEJ5LnZlcnRpY2FsbHl8fCh0aGlzLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdGhpcy5zdHlsZS50b3A9IjBweCIpO2IucG9zaXRpb25lZEJ5Lmhvcml6b250YWxseXx8KHRoaXMuc3R5bGUucG9zaXRpb249ImZpeGVkIiwKdGhpcy5zdHlsZS5sZWZ0PSIwcHgiKTt0aGlzLnNpemluZ1RhcmdldC5zdHlsZS5ib3hTaXppbmc9ImJvcmRlci1ib3giO3ZhciBkPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Yi5zaXplZEJ5LmhlaWdodHx8dGhpcy5fX3NpemVEaW1lbnNpb24oZCxiLnBvc2l0aW9uZWRCeS52ZXJ0aWNhbGx5LCJ0b3AiLCJib3R0b20iLCJIZWlnaHQiKTtiLnNpemVkQnkud2lkdGh8fHRoaXMuX19zaXplRGltZW5zaW9uKGQsYi5wb3NpdGlvbmVkQnkuaG9yaXpvbnRhbGx5LCJsZWZ0IiwicmlnaHQiLCJXaWR0aCIpfX0sX3NpemVEaW1lbnNpb246ZnVuY3Rpb24oYixkLGYsaCxrKXt0aGlzLl9fc2l6ZURpbWVuc2lvbihiLGQsZixoLGspfSxfX3NpemVEaW1lbnNpb246ZnVuY3Rpb24oYixkLGYsaCxrKXt2YXIgcj10aGlzLl9maXRJbmZvLGw9dGhpcy5fX2dldE5vcm1hbGl6ZWRSZWN0KHRoaXMuZml0SW50byk7bD0iV2lkdGgiPT09az9sLndpZHRoOmwuaGVpZ2h0O2Q9ZD09PWg7dmFyIHA9CiJvZmZzZXQiK2s7dGhpcy5zaXppbmdUYXJnZXQuc3R5bGVbIm1heCIra109bC1yLm1hcmdpbltkP2Y6aF0tKGQ/bC1iW2hdOmJbZl0pLSh0aGlzW3BdLXRoaXMuc2l6aW5nVGFyZ2V0W3BdKSsicHgifSxjZW50ZXI6ZnVuY3Rpb24oKXtpZighdGhpcy5fX3Nob3VsZFBvc2l0aW9uKXt0aGlzLl9kaXNjb3ZlckluZm8oKTt2YXIgYj10aGlzLl9maXRJbmZvLnBvc2l0aW9uZWRCeTtpZighYi52ZXJ0aWNhbGx5fHwhYi5ob3Jpem9udGFsbHkpe3RoaXMuc3R5bGUucG9zaXRpb249ImZpeGVkIjtiLnZlcnRpY2FsbHl8fCh0aGlzLnN0eWxlLnRvcD0iMHB4Iik7Yi5ob3Jpem9udGFsbHl8fCh0aGlzLnN0eWxlLmxlZnQ9IjBweCIpO3ZhciBkPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZj10aGlzLl9fZ2V0Tm9ybWFsaXplZFJlY3QodGhpcy5maXRJbnRvKTtiLnZlcnRpY2FsbHl8fCh0aGlzLnN0eWxlLnRvcD1mLnRvcC1kLnRvcCsoZi5oZWlnaHQtZC5oZWlnaHQpLzIrInB4Iik7Yi5ob3Jpem9udGFsbHl8fAoodGhpcy5zdHlsZS5sZWZ0PWYubGVmdC1kLmxlZnQrKGYud2lkdGgtZC53aWR0aCkvMisicHgiKX19fSxfX2dldE5vcm1hbGl6ZWRSZWN0OmZ1bmN0aW9uKGIpe3JldHVybiBiPT09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50fHxiPT09d2luZG93P3t0b3A6MCxsZWZ0OjAsd2lkdGg6d2luZG93LmlubmVyV2lkdGgsaGVpZ2h0OndpbmRvdy5pbm5lckhlaWdodCxyaWdodDp3aW5kb3cuaW5uZXJXaWR0aCxib3R0b206d2luZG93LmlubmVySGVpZ2h0fTpiLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfSxfX2dldE9mZnNjcmVlbkFyZWE6ZnVuY3Rpb24oYixkLGYpe3JldHVybiBNYXRoLmFicyhNYXRoLm1pbigwLGIudG9wKStNYXRoLm1pbigwLGYuYm90dG9tLShiLnRvcCtkLmhlaWdodCkpKSpkLndpZHRoK01hdGguYWJzKE1hdGgubWluKDAsYi5sZWZ0KStNYXRoLm1pbigwLGYucmlnaHQtKGIubGVmdCtkLndpZHRoKSkpKmQuaGVpZ2h0fSxfX2dldFBvc2l0aW9uOmZ1bmN0aW9uKGIsZCwKZixoLGsscil7dmFyIGw9W3t2ZXJ0aWNhbEFsaWduOiJ0b3AiLGhvcml6b250YWxBbGlnbjoibGVmdCIsdG9wOmsudG9wK3RoaXMudmVydGljYWxPZmZzZXQsbGVmdDprLmxlZnQrdGhpcy5ob3Jpem9udGFsT2Zmc2V0fSx7dmVydGljYWxBbGlnbjoidG9wIixob3Jpem9udGFsQWxpZ246InJpZ2h0Iix0b3A6ay50b3ArdGhpcy52ZXJ0aWNhbE9mZnNldCxsZWZ0OmsucmlnaHQtZi53aWR0aC10aGlzLmhvcml6b250YWxPZmZzZXR9LHt2ZXJ0aWNhbEFsaWduOiJib3R0b20iLGhvcml6b250YWxBbGlnbjoibGVmdCIsdG9wOmsuYm90dG9tLWYuaGVpZ2h0LXRoaXMudmVydGljYWxPZmZzZXQsbGVmdDprLmxlZnQrdGhpcy5ob3Jpem9udGFsT2Zmc2V0fSx7dmVydGljYWxBbGlnbjoiYm90dG9tIixob3Jpem9udGFsQWxpZ246InJpZ2h0Iix0b3A6ay5ib3R0b20tZi5oZWlnaHQtdGhpcy52ZXJ0aWNhbE9mZnNldCxsZWZ0OmsucmlnaHQtZi53aWR0aC10aGlzLmhvcml6b250YWxPZmZzZXR9XTsKaWYodGhpcy5ub092ZXJsYXApe2Zvcih2YXIgcD0wLG09bC5sZW5ndGg7cDxtO3ArKyl7dmFyIG49e30scTtmb3IocSBpbiBsW3BdKW5bcV09bFtwXVtxXTtsLnB1c2gobil9bFswXS50b3A9bFsxXS50b3ArPWsuaGVpZ2h0O2xbMl0udG9wPWxbM10udG9wLT1rLmhlaWdodDtsWzRdLmxlZnQ9bFs2XS5sZWZ0Kz1rLndpZHRoO2xbNV0ubGVmdD1sWzddLmxlZnQtPWsud2lkdGh9ZD0iYXV0byI9PT1kP251bGw6ZDtiPSJhdXRvIj09PWI/bnVsbDpiO2ImJiJjZW50ZXIiIT09Ynx8KGwucHVzaCh7dmVydGljYWxBbGlnbjoidG9wIixob3Jpem9udGFsQWxpZ246ImNlbnRlciIsdG9wOmsudG9wK3RoaXMudmVydGljYWxPZmZzZXQrKHRoaXMubm9PdmVybGFwP2suaGVpZ2h0OjApLGxlZnQ6ay5sZWZ0LWgud2lkdGgvMitrLndpZHRoLzIrdGhpcy5ob3Jpem9udGFsT2Zmc2V0fSksbC5wdXNoKHt2ZXJ0aWNhbEFsaWduOiJib3R0b20iLGhvcml6b250YWxBbGlnbjoiY2VudGVyIix0b3A6ay5ib3R0b20tCmYuaGVpZ2h0LXRoaXMudmVydGljYWxPZmZzZXQtKHRoaXMubm9PdmVybGFwP2suaGVpZ2h0OjApLGxlZnQ6ay5sZWZ0LWgud2lkdGgvMitrLndpZHRoLzIrdGhpcy5ob3Jpem9udGFsT2Zmc2V0fSkpO2QmJiJtaWRkbGUiIT09ZHx8KGwucHVzaCh7dmVydGljYWxBbGlnbjoibWlkZGxlIixob3Jpem9udGFsQWxpZ246ImxlZnQiLHRvcDprLnRvcC1oLmhlaWdodC8yK2suaGVpZ2h0LzIrdGhpcy52ZXJ0aWNhbE9mZnNldCxsZWZ0OmsubGVmdCt0aGlzLmhvcml6b250YWxPZmZzZXQrKHRoaXMubm9PdmVybGFwP2sud2lkdGg6MCl9KSxsLnB1c2goe3ZlcnRpY2FsQWxpZ246Im1pZGRsZSIsaG9yaXpvbnRhbEFsaWduOiJyaWdodCIsdG9wOmsudG9wLWguaGVpZ2h0LzIray5oZWlnaHQvMit0aGlzLnZlcnRpY2FsT2Zmc2V0LGxlZnQ6ay5yaWdodC1mLndpZHRoLXRoaXMuaG9yaXpvbnRhbE9mZnNldC0odGhpcy5ub092ZXJsYXA/ay53aWR0aDowKX0pKTsibWlkZGxlIj09PWQmJiJjZW50ZXIiPT09CmImJmwucHVzaCh7dmVydGljYWxBbGlnbjoibWlkZGxlIixob3Jpem9udGFsQWxpZ246ImNlbnRlciIsdG9wOmsudG9wLWguaGVpZ2h0LzIray5oZWlnaHQvMit0aGlzLnZlcnRpY2FsT2Zmc2V0LGxlZnQ6ay5sZWZ0LWgud2lkdGgvMitrLndpZHRoLzIrdGhpcy5ob3Jpem9udGFsT2Zmc2V0fSk7Zm9yKHA9MDtwPGwubGVuZ3RoO3ArKyl7aD1sW3BdO2s9aC52ZXJ0aWNhbEFsaWduPT09ZDttPWguaG9yaXpvbnRhbEFsaWduPT09YjtpZighdGhpcy5keW5hbWljQWxpZ24mJiF0aGlzLm5vT3ZlcmxhcCYmayYmbSl7dmFyIHU9aDticmVha31uPSghZHx8aykmJighYnx8bSk7aWYodGhpcy5keW5hbWljQWxpZ258fG4pe2gub2Zmc2NyZWVuQXJlYT10aGlzLl9fZ2V0T2Zmc2NyZWVuQXJlYShoLGYscik7aWYoMD09PWgub2Zmc2NyZWVuQXJlYSYmbil7dT1oO2JyZWFrfXU9dXx8aDtuPWgub2Zmc2NyZWVuQXJlYS11Lm9mZnNjcmVlbkFyZWE7aWYoMD5ufHwwPT09biYmKGt8fG0pKXU9aH19cmV0dXJuIHV9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLXJlc2l6YWJsZS1iZWhhdmlvci9pcm9uLXJlc2l6YWJsZS1iZWhhdmlvci5odG1sLmpzClBvbHltZXIuSXJvblJlc2l6YWJsZUJlaGF2aW9yPXtwcm9wZXJ0aWVzOntfcGFyZW50UmVzaXphYmxlOnt0eXBlOk9iamVjdCxvYnNlcnZlcjoiX3BhcmVudFJlc2l6YWJsZUNoYW5nZWQifSxfbm90aWZ5aW5nRGVzY2VuZGFudDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfX0sbGlzdGVuZXJzOnsiaXJvbi1yZXF1ZXN0LXJlc2l6ZS1ub3RpZmljYXRpb25zIjoiX29uSXJvblJlcXVlc3RSZXNpemVOb3RpZmljYXRpb25zIn0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuX2ludGVyZXN0ZWRSZXNpemFibGVzPVtdO3RoaXMuX2JvdW5kTm90aWZ5UmVzaXplPXRoaXMubm90aWZ5UmVzaXplLmJpbmQodGhpcyl9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fcmVxdWVzdFJlc2l6ZU5vdGlmaWNhdGlvbnMoKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9wYXJlbnRSZXNpemFibGU/dGhpcy5fcGFyZW50UmVzaXphYmxlLnN0b3BSZXNpemVOb3RpZmljYXRpb25zRm9yKHRoaXMpOndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLAp0aGlzLl9ib3VuZE5vdGlmeVJlc2l6ZSk7dGhpcy5fcGFyZW50UmVzaXphYmxlPW51bGx9LG5vdGlmeVJlc2l6ZTpmdW5jdGlvbigpe3RoaXMuaXNBdHRhY2hlZCYmKHRoaXMuX2ludGVyZXN0ZWRSZXNpemFibGVzLmZvckVhY2goZnVuY3Rpb24oYil7dGhpcy5yZXNpemVyU2hvdWxkTm90aWZ5KGIpJiZ0aGlzLl9ub3RpZnlEZXNjZW5kYW50KGIpfSx0aGlzKSx0aGlzLl9maXJlUmVzaXplKCkpfSxhc3NpZ25QYXJlbnRSZXNpemFibGU6ZnVuY3Rpb24oYil7dGhpcy5fcGFyZW50UmVzaXphYmxlPWJ9LHN0b3BSZXNpemVOb3RpZmljYXRpb25zRm9yOmZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMuX2ludGVyZXN0ZWRSZXNpemFibGVzLmluZGV4T2YoYik7LTE8ZCYmKHRoaXMuX2ludGVyZXN0ZWRSZXNpemFibGVzLnNwbGljZShkLDEpLHRoaXMudW5saXN0ZW4oYiwiaXJvbi1yZXNpemUiLCJfb25EZXNjZW5kYW50SXJvblJlc2l6ZSIpKX0scmVzaXplclNob3VsZE5vdGlmeTpmdW5jdGlvbigpe3JldHVybiEwfSwKX29uRGVzY2VuZGFudElyb25SZXNpemU6ZnVuY3Rpb24oYil7dGhpcy5fbm90aWZ5aW5nRGVzY2VuZGFudD9iLnN0b3BQcm9wYWdhdGlvbigpOlBvbHltZXIuU2V0dGluZ3MudXNlU2hhZG93fHx0aGlzLl9maXJlUmVzaXplKCl9LF9maXJlUmVzaXplOmZ1bmN0aW9uKCl7dGhpcy5maXJlKCJpcm9uLXJlc2l6ZSIsbnVsbCx7bm9kZTp0aGlzLGJ1YmJsZXM6ITF9KX0sX29uSXJvblJlcXVlc3RSZXNpemVOb3RpZmljYXRpb25zOmZ1bmN0aW9uKGIpe3ZhciBkPVBvbHltZXIuZG9tKGIpLnJvb3RUYXJnZXQ7ZCE9PXRoaXMmJigtMT09PXRoaXMuX2ludGVyZXN0ZWRSZXNpemFibGVzLmluZGV4T2YoZCkmJih0aGlzLl9pbnRlcmVzdGVkUmVzaXphYmxlcy5wdXNoKGQpLHRoaXMubGlzdGVuKGQsImlyb24tcmVzaXplIiwiX29uRGVzY2VuZGFudElyb25SZXNpemUiKSksZC5hc3NpZ25QYXJlbnRSZXNpemFibGUodGhpcyksdGhpcy5fbm90aWZ5RGVzY2VuZGFudChkKSxiLnN0b3BQcm9wYWdhdGlvbigpKX0sCl9wYXJlbnRSZXNpemFibGVDaGFuZ2VkOmZ1bmN0aW9uKGIpe2ImJndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX2JvdW5kTm90aWZ5UmVzaXplKX0sX25vdGlmeURlc2NlbmRhbnQ6ZnVuY3Rpb24oYil7dGhpcy5pc0F0dGFjaGVkJiYodGhpcy5fbm90aWZ5aW5nRGVzY2VuZGFudD0hMCxiLm5vdGlmeVJlc2l6ZSgpLHRoaXMuX25vdGlmeWluZ0Rlc2NlbmRhbnQ9ITEpfSxfcmVxdWVzdFJlc2l6ZU5vdGlmaWNhdGlvbnM6ZnVuY3Rpb24oKXtpZih0aGlzLmlzQXR0YWNoZWQpaWYoImxvYWRpbmciPT09ZG9jdW1lbnQucmVhZHlTdGF0ZSl7dmFyIGI9dGhpcy5fcmVxdWVzdFJlc2l6ZU5vdGlmaWNhdGlvbnMuYmluZCh0aGlzKTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIixmdW5jdGlvbiBmKCl7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVhZHlzdGF0ZWNoYW5nZSIsZik7YigpfSl9ZWxzZSB0aGlzLmZpcmUoImlyb24tcmVxdWVzdC1yZXNpemUtbm90aWZpY2F0aW9ucyIsCm51bGwse25vZGU6dGhpcyxidWJibGVzOiEwLGNhbmNlbGFibGU6ITB9KSx0aGlzLl9wYXJlbnRSZXNpemFibGV8fCh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9ib3VuZE5vdGlmeVJlc2l6ZSksdGhpcy5ub3RpZnlSZXNpemUoKSl9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLW92ZXJsYXktYmVoYXZpb3IvaXJvbi1vdmVybGF5LW1hbmFnZXIuaHRtbC5qcwpQb2x5bWVyLklyb25PdmVybGF5TWFuYWdlckNsYXNzPWZ1bmN0aW9uKCl7dGhpcy5fb3ZlcmxheXM9W107dGhpcy5fbWluaW11bVo9MTAxO3RoaXMuX2JhY2tkcm9wRWxlbWVudD1udWxsO1BvbHltZXIuR2VzdHVyZXMuYWRkKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwidGFwIixmdW5jdGlvbigpe30pO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRhcCIsdGhpcy5fb25DYXB0dXJlQ2xpY2suYmluZCh0aGlzKSwhMCk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHRoaXMuX29uQ2FwdHVyZUZvY3VzLmJpbmQodGhpcyksITApO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX29uQ2FwdHVyZUtleURvd24uYmluZCh0aGlzKSwhMCl9OwpQb2x5bWVyLklyb25PdmVybGF5TWFuYWdlckNsYXNzLnByb3RvdHlwZT17Y29uc3RydWN0b3I6UG9seW1lci5Jcm9uT3ZlcmxheU1hbmFnZXJDbGFzcyxnZXQgYmFja2Ryb3BFbGVtZW50KCl7dGhpcy5fYmFja2Ryb3BFbGVtZW50fHwodGhpcy5fYmFja2Ryb3BFbGVtZW50PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlyb24tb3ZlcmxheS1iYWNrZHJvcCIpKTtyZXR1cm4gdGhpcy5fYmFja2Ryb3BFbGVtZW50fSxnZXQgZGVlcEFjdGl2ZUVsZW1lbnQoKXt2YXIgYj1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2ImJiExIT09YiBpbnN0YW5jZW9mIEVsZW1lbnR8fChiPWRvY3VtZW50LmJvZHkpO2Zvcig7Yi5yb290JiZQb2x5bWVyLmRvbShiLnJvb3QpLmFjdGl2ZUVsZW1lbnQ7KWI9UG9seW1lci5kb20oYi5yb290KS5hY3RpdmVFbGVtZW50O3JldHVybiBifSxfYnJpbmdPdmVybGF5QXRJbmRleFRvRnJvbnQ6ZnVuY3Rpb24oYil7dmFyIGQ9dGhpcy5fb3ZlcmxheXNbYl07aWYoZCl7dmFyIGY9CnRoaXMuX292ZXJsYXlzLmxlbmd0aC0xLGg9dGhpcy5fb3ZlcmxheXNbZl07aCYmdGhpcy5fc2hvdWxkQmVCZWhpbmRPdmVybGF5KGQsaCkmJmYtLTtpZighKGI+PWYpKXtoPU1hdGgubWF4KHRoaXMuY3VycmVudE92ZXJsYXlaKCksdGhpcy5fbWluaW11bVopO2Zvcih0aGlzLl9nZXRaKGQpPD1oJiZ0aGlzLl9hcHBseU92ZXJsYXlaKGQsaCk7YjxmOyl0aGlzLl9vdmVybGF5c1tiXT10aGlzLl9vdmVybGF5c1tiKzFdLGIrKzt0aGlzLl9vdmVybGF5c1tmXT1kfX19LGFkZE9yUmVtb3ZlT3ZlcmxheTpmdW5jdGlvbihiKXtiLm9wZW5lZD90aGlzLmFkZE92ZXJsYXkoYik6dGhpcy5yZW1vdmVPdmVybGF5KGIpfSxhZGRPdmVybGF5OmZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMuX292ZXJsYXlzLmluZGV4T2YoYik7aWYoMDw9ZCl0aGlzLl9icmluZ092ZXJsYXlBdEluZGV4VG9Gcm9udChkKTtlbHNle2Q9dGhpcy5fb3ZlcmxheXMubGVuZ3RoO3ZhciBmPXRoaXMuX292ZXJsYXlzW2QtMV0saD0KTWF0aC5tYXgodGhpcy5fZ2V0WihmKSx0aGlzLl9taW5pbXVtWiksaz10aGlzLl9nZXRaKGIpO2YmJnRoaXMuX3Nob3VsZEJlQmVoaW5kT3ZlcmxheShiLGYpJiYodGhpcy5fYXBwbHlPdmVybGF5WihmLGgpLGQtLSxoPU1hdGgubWF4KHRoaXMuX2dldFoodGhpcy5fb3ZlcmxheXNbZC0xXSksdGhpcy5fbWluaW11bVopKTtrPD1oJiZ0aGlzLl9hcHBseU92ZXJsYXlaKGIsaCk7dGhpcy5fb3ZlcmxheXMuc3BsaWNlKGQsMCxiKX10aGlzLnRyYWNrQmFja2Ryb3AoKX0scmVtb3ZlT3ZlcmxheTpmdW5jdGlvbihiKXtiPXRoaXMuX292ZXJsYXlzLmluZGV4T2YoYik7LTEhPT1iJiYodGhpcy5fb3ZlcmxheXMuc3BsaWNlKGIsMSksdGhpcy50cmFja0JhY2tkcm9wKCkpfSxjdXJyZW50T3ZlcmxheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9vdmVybGF5c1t0aGlzLl9vdmVybGF5cy5sZW5ndGgtMV19LGN1cnJlbnRPdmVybGF5WjpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9nZXRaKHRoaXMuY3VycmVudE92ZXJsYXkoKSl9LAplbnN1cmVNaW5pbXVtWjpmdW5jdGlvbihiKXt0aGlzLl9taW5pbXVtWj1NYXRoLm1heCh0aGlzLl9taW5pbXVtWixiKX0sZm9jdXNPdmVybGF5OmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5jdXJyZW50T3ZlcmxheSgpO2ImJmIuX2FwcGx5Rm9jdXMoKX0sdHJhY2tCYWNrZHJvcDpmdW5jdGlvbigpe3ZhciBiPXRoaXMuX292ZXJsYXlXaXRoQmFja2Ryb3AoKTtpZihifHx0aGlzLl9iYWNrZHJvcEVsZW1lbnQpdGhpcy5iYWNrZHJvcEVsZW1lbnQuc3R5bGUuekluZGV4PXRoaXMuX2dldFooYiktMSx0aGlzLmJhY2tkcm9wRWxlbWVudC5vcGVuZWQ9ISFiLHRoaXMuYmFja2Ryb3BFbGVtZW50LnByZXBhcmUoKX0sZ2V0QmFja2Ryb3BzOmZ1bmN0aW9uKCl7Zm9yKHZhciBiPVtdLGQ9MDtkPHRoaXMuX292ZXJsYXlzLmxlbmd0aDtkKyspdGhpcy5fb3ZlcmxheXNbZF0ud2l0aEJhY2tkcm9wJiZiLnB1c2godGhpcy5fb3ZlcmxheXNbZF0pO3JldHVybiBifSxiYWNrZHJvcFo6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZ2V0Wih0aGlzLl9vdmVybGF5V2l0aEJhY2tkcm9wKCkpLQoxfSxfb3ZlcmxheVdpdGhCYWNrZHJvcDpmdW5jdGlvbigpe2Zvcih2YXIgYj10aGlzLl9vdmVybGF5cy5sZW5ndGgtMTswPD1iO2ItLSlpZih0aGlzLl9vdmVybGF5c1tiXS53aXRoQmFja2Ryb3ApcmV0dXJuIHRoaXMuX292ZXJsYXlzW2JdfSxfZ2V0WjpmdW5jdGlvbihiKXt2YXIgZD10aGlzLl9taW5pbXVtWjtiJiYoYj1OdW1iZXIoYi5zdHlsZS56SW5kZXh8fHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGIpLnpJbmRleCksYj09PWImJihkPWIpKTtyZXR1cm4gZH0sX3NldFo6ZnVuY3Rpb24oYixkKXtiLnN0eWxlLnpJbmRleD1kfSxfYXBwbHlPdmVybGF5WjpmdW5jdGlvbihiLGQpe3RoaXMuX3NldFooYixkKzIpfSxfb3ZlcmxheUluUGF0aDpmdW5jdGlvbihiKXtiPWJ8fFtdO2Zvcih2YXIgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWlmKGJbZF0uX21hbmFnZXI9PT10aGlzKXJldHVybiBiW2RdfSxfb25DYXB0dXJlQ2xpY2s6ZnVuY3Rpb24oYil7dmFyIGQ9dGhpcy5fb3ZlcmxheXMubGVuZ3RoLQoxO2lmKC0xIT09ZClmb3IodmFyIGY9UG9seW1lci5kb20oYikucGF0aCxoOyhoPXRoaXMuX292ZXJsYXlzW2RdKSYmdGhpcy5fb3ZlcmxheUluUGF0aChmKSE9PWg7KWlmKGguX29uQ2FwdHVyZUNsaWNrKGIpLGguYWxsb3dDbGlja1Rocm91Z2gpZC0tO2Vsc2UgYnJlYWt9LF9vbkNhcHR1cmVGb2N1czpmdW5jdGlvbihiKXt2YXIgZD10aGlzLmN1cnJlbnRPdmVybGF5KCk7ZCYmZC5fb25DYXB0dXJlRm9jdXMoYil9LF9vbkNhcHR1cmVLZXlEb3duOmZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMuY3VycmVudE92ZXJsYXkoKTtkJiYoUG9seW1lci5Jcm9uQTExeUtleXNCZWhhdmlvci5rZXlib2FyZEV2ZW50TWF0Y2hlc0tleXMoYiwiZXNjIik/ZC5fb25DYXB0dXJlRXNjKGIpOlBvbHltZXIuSXJvbkExMXlLZXlzQmVoYXZpb3Iua2V5Ym9hcmRFdmVudE1hdGNoZXNLZXlzKGIsInRhYiIpJiZkLl9vbkNhcHR1cmVUYWIoYikpfSxfc2hvdWxkQmVCZWhpbmRPdmVybGF5OmZ1bmN0aW9uKGIsZCl7cmV0dXJuIWIuYWx3YXlzT25Ub3AmJgpkLmFsd2F5c09uVG9wfX07UG9seW1lci5Jcm9uT3ZlcmxheU1hbmFnZXI9bmV3IFBvbHltZXIuSXJvbk92ZXJsYXlNYW5hZ2VyQ2xhc3M7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1vdmVybGF5LWJlaGF2aW9yL2lyb24tc2Nyb2xsLW1hbmFnZXIuaHRtbC5qcwooZnVuY3Rpb24oKXt2YXIgYj0wLGQ9MCxmPW51bGwsaD1bXSxrPVsid2hlZWwiLCJtb3VzZXdoZWVsIiwiRE9NTW91c2VTY3JvbGwiLCJ0b3VjaHN0YXJ0IiwidG91Y2htb3ZlIl07UG9seW1lci5Jcm9uU2Nyb2xsTWFuYWdlcj17Z2V0IGN1cnJlbnRMb2NraW5nRWxlbWVudCgpe3JldHVybiB0aGlzLl9sb2NraW5nRWxlbWVudHNbdGhpcy5fbG9ja2luZ0VsZW1lbnRzLmxlbmd0aC0xXX0sZWxlbWVudElzU2Nyb2xsTG9ja2VkOmZ1bmN0aW9uKHIpe3ZhciBsPXRoaXMuY3VycmVudExvY2tpbmdFbGVtZW50O2lmKHZvaWQgMD09PWwpcmV0dXJuITE7aWYodGhpcy5faGFzQ2FjaGVkTG9ja2VkRWxlbWVudChyKSlyZXR1cm4hMDtpZih0aGlzLl9oYXNDYWNoZWRVbmxvY2tlZEVsZW1lbnQocikpcmV0dXJuITE7KGw9ISFsJiZsIT09ciYmIXRoaXMuX2NvbXBvc2VkVHJlZUNvbnRhaW5zKGwscikpP3RoaXMuX2xvY2tlZEVsZW1lbnRDYWNoZS5wdXNoKHIpOnRoaXMuX3VubG9ja2VkRWxlbWVudENhY2hlLnB1c2gocik7CnJldHVybiBsfSxwdXNoU2Nyb2xsTG9jazpmdW5jdGlvbihyKXswPD10aGlzLl9sb2NraW5nRWxlbWVudHMuaW5kZXhPZihyKXx8KDA9PT10aGlzLl9sb2NraW5nRWxlbWVudHMubGVuZ3RoJiZ0aGlzLl9sb2NrU2Nyb2xsSW50ZXJhY3Rpb25zKCksdGhpcy5fbG9ja2luZ0VsZW1lbnRzLnB1c2gociksdGhpcy5fbG9ja2VkRWxlbWVudENhY2hlPVtdLHRoaXMuX3VubG9ja2VkRWxlbWVudENhY2hlPVtdKX0scmVtb3ZlU2Nyb2xsTG9jazpmdW5jdGlvbihyKXtyPXRoaXMuX2xvY2tpbmdFbGVtZW50cy5pbmRleE9mKHIpOy0xIT09ciYmKHRoaXMuX2xvY2tpbmdFbGVtZW50cy5zcGxpY2UociwxKSx0aGlzLl9sb2NrZWRFbGVtZW50Q2FjaGU9W10sdGhpcy5fdW5sb2NrZWRFbGVtZW50Q2FjaGU9W10sMD09PXRoaXMuX2xvY2tpbmdFbGVtZW50cy5sZW5ndGgmJnRoaXMuX3VubG9ja1Njcm9sbEludGVyYWN0aW9ucygpKX0sX2xvY2tpbmdFbGVtZW50czpbXSxfbG9ja2VkRWxlbWVudENhY2hlOm51bGwsCl91bmxvY2tlZEVsZW1lbnRDYWNoZTpudWxsLF9oYXNDYWNoZWRMb2NrZWRFbGVtZW50OmZ1bmN0aW9uKHIpe3JldHVybi0xPHRoaXMuX2xvY2tlZEVsZW1lbnRDYWNoZS5pbmRleE9mKHIpfSxfaGFzQ2FjaGVkVW5sb2NrZWRFbGVtZW50OmZ1bmN0aW9uKHIpe3JldHVybi0xPHRoaXMuX3VubG9ja2VkRWxlbWVudENhY2hlLmluZGV4T2Yocil9LF9jb21wb3NlZFRyZWVDb250YWluczpmdW5jdGlvbihyLGwpe3ZhciBwLG07aWYoci5jb250YWlucyhsKSlyZXR1cm4hMDtyPVBvbHltZXIuZG9tKHIpLnF1ZXJ5U2VsZWN0b3JBbGwoImNvbnRlbnQsc2xvdCIpO2ZvcihwPTA7cDxyLmxlbmd0aDsrK3Ape3ZhciBuPVBvbHltZXIuZG9tKHJbcF0pLmdldERpc3RyaWJ1dGVkTm9kZXMoKTtmb3IobT0wO208bi5sZW5ndGg7KyttKWlmKG5bbV0ubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdGhpcy5fY29tcG9zZWRUcmVlQ29udGFpbnMoblttXSxsKSlyZXR1cm4hMH1yZXR1cm4hMX0sX3Njcm9sbEludGVyYWN0aW9uSGFuZGxlcjpmdW5jdGlvbihyKXtyLmNhbmNlbGFibGUmJgp0aGlzLl9zaG91bGRQcmV2ZW50U2Nyb2xsaW5nKHIpJiZyLnByZXZlbnREZWZhdWx0KCk7ci50YXJnZXRUb3VjaGVzJiYocj1yLnRhcmdldFRvdWNoZXNbMF0sYj1yLnBhZ2VYLGQ9ci5wYWdlWSl9LF9sb2NrU2Nyb2xsSW50ZXJhY3Rpb25zOmZ1bmN0aW9uKCl7dGhpcy5fYm91bmRTY3JvbGxIYW5kbGVyPXRoaXMuX2JvdW5kU2Nyb2xsSGFuZGxlcnx8dGhpcy5fc2Nyb2xsSW50ZXJhY3Rpb25IYW5kbGVyLmJpbmQodGhpcyk7Zm9yKHZhciByPTAsbD1rLmxlbmd0aDtyPGw7cisrKWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoa1tyXSx0aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXIse2NhcHR1cmU6ITAscGFzc2l2ZTohMX0pfSxfdW5sb2NrU2Nyb2xsSW50ZXJhY3Rpb25zOmZ1bmN0aW9uKCl7Zm9yKHZhciByPTAsbD1rLmxlbmd0aDtyPGw7cisrKWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoa1tyXSx0aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXIse2NhcHR1cmU6ITAscGFzc2l2ZTohMX0pfSwKX3Nob3VsZFByZXZlbnRTY3JvbGxpbmc6ZnVuY3Rpb24ocil7dmFyIGw9UG9seW1lci5kb20ocikucm9vdFRhcmdldDsidG91Y2htb3ZlIiE9PXIudHlwZSYmZiE9PWwmJihmPWwsaD10aGlzLl9nZXRTY3JvbGxhYmxlTm9kZXMoUG9seW1lci5kb20ocikucGF0aCkpO2lmKCFoLmxlbmd0aClyZXR1cm4hMDtpZigidG91Y2hzdGFydCI9PT1yLnR5cGUpcmV0dXJuITE7cj10aGlzLl9nZXRTY3JvbGxJbmZvKHIpO3JldHVybiF0aGlzLl9nZXRTY3JvbGxpbmdOb2RlKGgsci5kZWx0YVgsci5kZWx0YVkpfSxfZ2V0U2Nyb2xsYWJsZU5vZGVzOmZ1bmN0aW9uKHIpe2Zvcih2YXIgbD1bXSxwPXIuaW5kZXhPZih0aGlzLmN1cnJlbnRMb2NraW5nRWxlbWVudCksbT0wO208PXA7bSsrKWlmKHJbbV0ubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSl7dmFyIG49clttXSxxPW4uc3R5bGU7InNjcm9sbCIhPT1xLm92ZXJmbG93JiYiYXV0byIhPT1xLm92ZXJmbG93JiYocT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShuKSk7CiJzY3JvbGwiIT09cS5vdmVyZmxvdyYmImF1dG8iIT09cS5vdmVyZmxvd3x8bC5wdXNoKG4pfXJldHVybiBsfSxfZ2V0U2Nyb2xsaW5nTm9kZTpmdW5jdGlvbihyLGwscCl7aWYobHx8cClmb3IodmFyIG09TWF0aC5hYnMocCk+PU1hdGguYWJzKGwpLG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIHE9cltuXTtpZihtPzA+cD8wPHEuc2Nyb2xsVG9wOnEuc2Nyb2xsVG9wPHEuc2Nyb2xsSGVpZ2h0LXEuY2xpZW50SGVpZ2h0OjA+bD8wPHEuc2Nyb2xsTGVmdDpxLnNjcm9sbExlZnQ8cS5zY3JvbGxXaWR0aC1xLmNsaWVudFdpZHRoKXJldHVybiBxfX0sX2dldFNjcm9sbEluZm86ZnVuY3Rpb24ocil7dmFyIGw9e2RlbHRhWDpyLmRlbHRhWCxkZWx0YVk6ci5kZWx0YVl9OyJkZWx0YVgiaW4gcnx8KCJ3aGVlbERlbHRhWCJpbiByJiYid2hlZWxEZWx0YVkiaW4gcj8obC5kZWx0YVg9LXIud2hlZWxEZWx0YVgsbC5kZWx0YVk9LXIud2hlZWxEZWx0YVkpOiJ3aGVlbERlbHRhImluIHI/KGwuZGVsdGFYPQowLGwuZGVsdGFZPS1yLndoZWVsRGVsdGEpOiJheGlzImluIHI/KGwuZGVsdGFYPTE9PT1yLmF4aXM/ci5kZXRhaWw6MCxsLmRlbHRhWT0yPT09ci5heGlzP3IuZGV0YWlsOjApOnIudGFyZ2V0VG91Y2hlcyYmKHI9ci50YXJnZXRUb3VjaGVzWzBdLGwuZGVsdGFYPWItci5wYWdlWCxsLmRlbHRhWT1kLXIucGFnZVkpKTtyZXR1cm4gbH19fSkoKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLW92ZXJsYXktYmVoYXZpb3IvaXJvbi1mb2N1c2FibGVzLWhlbHBlci5odG1sLmpzCihmdW5jdGlvbigpe3ZhciBiPUVsZW1lbnQucHJvdG90eXBlLGQ9Yi5tYXRjaGVzfHxiLm1hdGNoZXNTZWxlY3Rvcnx8Yi5tb3pNYXRjaGVzU2VsZWN0b3J8fGIubXNNYXRjaGVzU2VsZWN0b3J8fGIub01hdGNoZXNTZWxlY3Rvcnx8Yi53ZWJraXRNYXRjaGVzU2VsZWN0b3I7UG9seW1lci5Jcm9uRm9jdXNhYmxlc0hlbHBlcj17Z2V0VGFiYmFibGVOb2RlczpmdW5jdGlvbihmKXt2YXIgaD1bXTtyZXR1cm4gdGhpcy5fY29sbGVjdFRhYmJhYmxlTm9kZXMoZixoKT90aGlzLl9zb3J0QnlUYWJJbmRleChoKTpofSxpc0ZvY3VzYWJsZTpmdW5jdGlvbihmKXtyZXR1cm4gZC5jYWxsKGYsImlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBidXR0b24sIG9iamVjdCIpP2QuY2FsbChmLCI6bm90KFtkaXNhYmxlZF0pIik6ZC5jYWxsKGYsImFbaHJlZl0sIGFyZWFbaHJlZl0sIGlmcmFtZSwgW3RhYmluZGV4XSwgW2NvbnRlbnRFZGl0YWJsZV0iKX0saXNUYWJiYWJsZTpmdW5jdGlvbihmKXtyZXR1cm4gdGhpcy5pc0ZvY3VzYWJsZShmKSYmCmQuY2FsbChmLCc6bm90KFt0YWJpbmRleFx4M2QiLTEiXSknKSYmdGhpcy5faXNWaXNpYmxlKGYpfSxfbm9ybWFsaXplZFRhYkluZGV4OmZ1bmN0aW9uKGYpe3JldHVybiB0aGlzLmlzRm9jdXNhYmxlKGYpPyhmPWYuZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpfHwwLE51bWJlcihmKSk6LTF9LF9jb2xsZWN0VGFiYmFibGVOb2RlczpmdW5jdGlvbihmLGgpe2lmKGYubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERXx8IXRoaXMuX2lzVmlzaWJsZShmKSlyZXR1cm4hMTt2YXIgaz10aGlzLl9ub3JtYWxpemVkVGFiSW5kZXgoZikscj0wPGs7MDw9ayYmaC5wdXNoKGYpO2Y9ImNvbnRlbnQiPT09Zi5sb2NhbE5hbWV8fCJzbG90Ij09PWYubG9jYWxOYW1lP1BvbHltZXIuZG9tKGYpLmdldERpc3RyaWJ1dGVkTm9kZXMoKTpQb2x5bWVyLmRvbShmLnJvb3R8fGYpLmNoaWxkcmVuO2ZvcihrPTA7azxmLmxlbmd0aDtrKyspcj10aGlzLl9jb2xsZWN0VGFiYmFibGVOb2RlcyhmW2tdLGgpfHxyOwpyZXR1cm4gcn0sX2lzVmlzaWJsZTpmdW5jdGlvbihmKXt2YXIgaD1mLnN0eWxlO3JldHVybiJoaWRkZW4iIT09aC52aXNpYmlsaXR5JiYibm9uZSIhPT1oLmRpc3BsYXk/KGg9d2luZG93LmdldENvbXB1dGVkU3R5bGUoZiksImhpZGRlbiIhPT1oLnZpc2liaWxpdHkmJiJub25lIiE9PWguZGlzcGxheSk6ITF9LF9zb3J0QnlUYWJJbmRleDpmdW5jdGlvbihmKXt2YXIgaD1mLmxlbmd0aDtpZigyPmgpcmV0dXJuIGY7dmFyIGs9TWF0aC5jZWlsKGgvMik7aD10aGlzLl9zb3J0QnlUYWJJbmRleChmLnNsaWNlKDAsaykpO2Y9dGhpcy5fc29ydEJ5VGFiSW5kZXgoZi5zbGljZShrKSk7cmV0dXJuIHRoaXMuX21lcmdlU29ydEJ5VGFiSW5kZXgoaCxmKX0sX21lcmdlU29ydEJ5VGFiSW5kZXg6ZnVuY3Rpb24oZixoKXtmb3IodmFyIGs9W107MDxmLmxlbmd0aCYmMDxoLmxlbmd0aDspdGhpcy5faGFzTG93ZXJUYWJPcmRlcihmWzBdLGhbMF0pP2sucHVzaChoLnNoaWZ0KCkpOmsucHVzaChmLnNoaWZ0KCkpOwpyZXR1cm4gay5jb25jYXQoZixoKX0sX2hhc0xvd2VyVGFiT3JkZXI6ZnVuY3Rpb24oZixoKXtmPU1hdGgubWF4KGYudGFiSW5kZXgsMCk7aD1NYXRoLm1heChoLnRhYkluZGV4LDApO3JldHVybiAwPT09Znx8MD09PWg/aD5mOmY+aH19fSkoKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLW92ZXJsYXktYmVoYXZpb3IvaXJvbi1vdmVybGF5LWJlaGF2aW9yLmh0bWwuanMKKGZ1bmN0aW9uKCl7UG9seW1lci5Jcm9uT3ZlcmxheUJlaGF2aW9ySW1wbD17cHJvcGVydGllczp7b3BlbmVkOntvYnNlcnZlcjoiX29wZW5lZENoYW5nZWQiLHR5cGU6Qm9vbGVhbix2YWx1ZTohMSxub3RpZnk6ITB9LGNhbmNlbGVkOntvYnNlcnZlcjoiX2NhbmNlbGVkQ2hhbmdlZCIscmVhZE9ubHk6ITAsdHlwZTpCb29sZWFuLHZhbHVlOiExfSx3aXRoQmFja2Ryb3A6e29ic2VydmVyOiJfd2l0aEJhY2tkcm9wQ2hhbmdlZCIsdHlwZTpCb29sZWFufSxub0F1dG9Gb2N1czp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxub0NhbmNlbE9uRXNjS2V5Ont0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LG5vQ2FuY2VsT25PdXRzaWRlQ2xpY2s6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sY2xvc2luZ1JlYXNvbjp7dHlwZTpPYmplY3R9LHJlc3RvcmVGb2N1c09uQ2xvc2U6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sYWxsb3dDbGlja1Rocm91Z2g6e3R5cGU6Qm9vbGVhbn0sYWx3YXlzT25Ub3A6e3R5cGU6Qm9vbGVhbn0sCnNjcm9sbEFjdGlvbjp7dHlwZTpTdHJpbmd9LF9tYW5hZ2VyOnt0eXBlOk9iamVjdCx2YWx1ZTpQb2x5bWVyLklyb25PdmVybGF5TWFuYWdlcn0sX2ZvY3VzZWRDaGlsZDp7dHlwZTpPYmplY3R9fSxsaXN0ZW5lcnM6eyJpcm9uLXJlc2l6ZSI6Il9vbklyb25SZXNpemUifSxvYnNlcnZlcnM6WyJfX3VwZGF0ZVNjcm9sbE9ic2VydmVycyhpc0F0dGFjaGVkLCBvcGVuZWQsIHNjcm9sbEFjdGlvbikiXSxnZXQgYmFja2Ryb3BFbGVtZW50KCl7cmV0dXJuIHRoaXMuX21hbmFnZXIuYmFja2Ryb3BFbGVtZW50fSxnZXQgX2ZvY3VzTm9kZSgpe3JldHVybiB0aGlzLl9mb2N1c2VkQ2hpbGR8fFBvbHltZXIuZG9tKHRoaXMpLnF1ZXJ5U2VsZWN0b3IoIlthdXRvZm9jdXNdIil8fHRoaXN9LGdldCBfZm9jdXNhYmxlTm9kZXMoKXtyZXR1cm4gUG9seW1lci5Jcm9uRm9jdXNhYmxlc0hlbHBlci5nZXRUYWJiYWJsZU5vZGVzKHRoaXMpfSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuX19zaG91bGRSZW1vdmVUYWJJbmRleD0KdGhpcy5fX2lzQW5pbWF0aW5nPSExO3RoaXMuX19maXJzdEZvY3VzYWJsZU5vZGU9dGhpcy5fX2xhc3RGb2N1c2FibGVOb2RlPW51bGw7dGhpcy5fX3JhZnM9e307dGhpcy5fX3Njcm9sbFRvcD10aGlzLl9fc2Nyb2xsTGVmdD10aGlzLl9fcmVzdG9yZUZvY3VzTm9kZT1udWxsO3RoaXMuX19vbkNhcHR1cmVTY3JvbGw9dGhpcy5fX29uQ2FwdHVyZVNjcm9sbC5iaW5kKHRoaXMpO3RoaXMuX19yb290Tm9kZXM9bnVsbDt0aGlzLl9lbnN1cmVTZXR1cCgpfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMub3BlbmVkJiZ0aGlzLl9vcGVuZWRDaGFuZ2VkKHRoaXMub3BlbmVkKTt0aGlzLl9vYnNlcnZlcj1Qb2x5bWVyLmRvbSh0aGlzKS5vYnNlcnZlTm9kZXModGhpcy5fb25Ob2Rlc0NoYW5nZSl9LGRldGFjaGVkOmZ1bmN0aW9uKCl7UG9seW1lci5kb20odGhpcykudW5vYnNlcnZlTm9kZXModGhpcy5fb2JzZXJ2ZXIpO3RoaXMuX29ic2VydmVyPW51bGw7Zm9yKHZhciBiIGluIHRoaXMuX19yYWZzKW51bGwhPT0KdGhpcy5fX3JhZnNbYl0mJmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX19yYWZzW2JdKTt0aGlzLl9fcmFmcz17fTt0aGlzLl9tYW5hZ2VyLnJlbW92ZU92ZXJsYXkodGhpcyk7dGhpcy5fX2lzQW5pbWF0aW5nJiYodGhpcy5vcGVuZWQ/dGhpcy5fZmluaXNoUmVuZGVyT3BlbmVkKCk6KHRoaXMuX2FwcGx5Rm9jdXMoKSx0aGlzLl9maW5pc2hSZW5kZXJDbG9zZWQoKSkpfSx0b2dnbGU6ZnVuY3Rpb24oKXt0aGlzLl9zZXRDYW5jZWxlZCghMSk7dGhpcy5vcGVuZWQ9IXRoaXMub3BlbmVkfSxvcGVuOmZ1bmN0aW9uKCl7dGhpcy5fc2V0Q2FuY2VsZWQoITEpO3RoaXMub3BlbmVkPSEwfSxjbG9zZTpmdW5jdGlvbigpe3RoaXMuX3NldENhbmNlbGVkKCExKTt0aGlzLm9wZW5lZD0hMX0sY2FuY2VsOmZ1bmN0aW9uKGIpe3RoaXMuZmlyZSgiaXJvbi1vdmVybGF5LWNhbmNlbGVkIixiLHtjYW5jZWxhYmxlOiEwfSkuZGVmYXVsdFByZXZlbnRlZHx8KHRoaXMuX3NldENhbmNlbGVkKCEwKSx0aGlzLm9wZW5lZD0KITEpfSxpbnZhbGlkYXRlVGFiYmFibGVzOmZ1bmN0aW9uKCl7dGhpcy5fX2ZpcnN0Rm9jdXNhYmxlTm9kZT10aGlzLl9fbGFzdEZvY3VzYWJsZU5vZGU9bnVsbH0sX2Vuc3VyZVNldHVwOmZ1bmN0aW9uKCl7dGhpcy5fb3ZlcmxheVNldHVwfHwodGhpcy5fb3ZlcmxheVNldHVwPSEwLHRoaXMuc3R5bGUub3V0bGluZT0ibm9uZSIsdGhpcy5zdHlsZS5kaXNwbGF5PSJub25lIil9LF9vcGVuZWRDaGFuZ2VkOmZ1bmN0aW9uKGIpe2I/dGhpcy5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIik6dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpO3RoaXMuaXNBdHRhY2hlZCYmKHRoaXMuX19pc0FuaW1hdGluZz0hMCx0aGlzLl9fZGVyYWYoIl9fb3BlbmVkQ2hhbmdlZCIsdGhpcy5fX29wZW5lZENoYW5nZWQpKX0sX2NhbmNlbGVkQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuY2xvc2luZ1JlYXNvbj10aGlzLmNsb3NpbmdSZWFzb258fHt9O3RoaXMuY2xvc2luZ1JlYXNvbi5jYW5jZWxlZD0KdGhpcy5jYW5jZWxlZH0sX3dpdGhCYWNrZHJvcENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLndpdGhCYWNrZHJvcCYmIXRoaXMuaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpPyh0aGlzLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCItMSIpLHRoaXMuX19zaG91bGRSZW1vdmVUYWJJbmRleD0hMCk6dGhpcy5fX3Nob3VsZFJlbW92ZVRhYkluZGV4JiYodGhpcy5yZW1vdmVBdHRyaWJ1dGUoInRhYmluZGV4IiksdGhpcy5fX3Nob3VsZFJlbW92ZVRhYkluZGV4PSExKTt0aGlzLm9wZW5lZCYmdGhpcy5pc0F0dGFjaGVkJiZ0aGlzLl9tYW5hZ2VyLnRyYWNrQmFja2Ryb3AoKX0sX3ByZXBhcmVSZW5kZXJPcGVuZWQ6ZnVuY3Rpb24oKXt0aGlzLl9fcmVzdG9yZUZvY3VzTm9kZT10aGlzLl9tYW5hZ2VyLmRlZXBBY3RpdmVFbGVtZW50O3RoaXMuX3ByZXBhcmVQb3NpdGlvbmluZygpO3RoaXMucmVmaXQoKTt0aGlzLl9maW5pc2hQb3NpdGlvbmluZygpO3RoaXMubm9BdXRvRm9jdXMmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT0KdGhpcy5fZm9jdXNOb2RlJiYodGhpcy5fZm9jdXNOb2RlLmJsdXIoKSx0aGlzLl9fcmVzdG9yZUZvY3VzTm9kZS5mb2N1cygpKX0sX3JlbmRlck9wZW5lZDpmdW5jdGlvbigpe3RoaXMuX2ZpbmlzaFJlbmRlck9wZW5lZCgpfSxfcmVuZGVyQ2xvc2VkOmZ1bmN0aW9uKCl7dGhpcy5fZmluaXNoUmVuZGVyQ2xvc2VkKCl9LF9maW5pc2hSZW5kZXJPcGVuZWQ6ZnVuY3Rpb24oKXt0aGlzLm5vdGlmeVJlc2l6ZSgpO3RoaXMuX19pc0FuaW1hdGluZz0hMTt0aGlzLmZpcmUoImlyb24tb3ZlcmxheS1vcGVuZWQiKX0sX2ZpbmlzaFJlbmRlckNsb3NlZDpmdW5jdGlvbigpe3RoaXMuc3R5bGUuZGlzcGxheT0ibm9uZSI7dGhpcy5zdHlsZS56SW5kZXg9IiI7dGhpcy5ub3RpZnlSZXNpemUoKTt0aGlzLl9faXNBbmltYXRpbmc9ITE7dGhpcy5maXJlKCJpcm9uLW92ZXJsYXktY2xvc2VkIix0aGlzLmNsb3NpbmdSZWFzb24pfSxfcHJlcGFyZVBvc2l0aW9uaW5nOmZ1bmN0aW9uKCl7dGhpcy5zdHlsZS50cmFuc2l0aW9uPQp0aGlzLnN0eWxlLndlYmtpdFRyYW5zaXRpb249Im5vbmUiO3RoaXMuc3R5bGUudHJhbnNmb3JtPXRoaXMuc3R5bGUud2Via2l0VHJhbnNmb3JtPSJub25lIjt0aGlzLnN0eWxlLmRpc3BsYXk9IiJ9LF9maW5pc2hQb3NpdGlvbmluZzpmdW5jdGlvbigpe3RoaXMuc3R5bGUuZGlzcGxheT0ibm9uZSI7dGhpcy5zY3JvbGxUb3A9dGhpcy5zY3JvbGxUb3A7dGhpcy5zdHlsZS50cmFuc2l0aW9uPXRoaXMuc3R5bGUud2Via2l0VHJhbnNpdGlvbj0iIjt0aGlzLnN0eWxlLnRyYW5zZm9ybT10aGlzLnN0eWxlLndlYmtpdFRyYW5zZm9ybT0iIjt0aGlzLnN0eWxlLmRpc3BsYXk9IiI7dGhpcy5zY3JvbGxUb3A9dGhpcy5zY3JvbGxUb3B9LF9hcHBseUZvY3VzOmZ1bmN0aW9uKCl7aWYodGhpcy5vcGVuZWQpdGhpcy5ub0F1dG9Gb2N1c3x8dGhpcy5fZm9jdXNOb2RlLmZvY3VzKCk7ZWxzZXt0aGlzLl9mb2N1c05vZGUuYmx1cigpO3RoaXMuX2ZvY3VzZWRDaGlsZD1udWxsO2lmKHRoaXMucmVzdG9yZUZvY3VzT25DbG9zZSYmCnRoaXMuX19yZXN0b3JlRm9jdXNOb2RlKXt2YXIgYj10aGlzLl9tYW5hZ2VyLmRlZXBBY3RpdmVFbGVtZW50OyhiPT09ZG9jdW1lbnQuYm9keXx8UG9seW1lci5kb20odGhpcykuZGVlcENvbnRhaW5zKGIpKSYmdGhpcy5fX3Jlc3RvcmVGb2N1c05vZGUuZm9jdXMoKX10aGlzLl9fcmVzdG9yZUZvY3VzTm9kZT1udWxsOyhiPXRoaXMuX21hbmFnZXIuY3VycmVudE92ZXJsYXkoKSkmJnRoaXMhPT1iJiZiLl9hcHBseUZvY3VzKCl9fSxfb25DYXB0dXJlQ2xpY2s6ZnVuY3Rpb24oYil7dGhpcy5ub0NhbmNlbE9uT3V0c2lkZUNsaWNrfHx0aGlzLmNhbmNlbChiKX0sX29uQ2FwdHVyZUZvY3VzOmZ1bmN0aW9uKGIpe2lmKHRoaXMud2l0aEJhY2tkcm9wKXt2YXIgZD1Qb2x5bWVyLmRvbShiKS5wYXRoOy0xPT09ZC5pbmRleE9mKHRoaXMpPyhiLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuX2FwcGx5Rm9jdXMoKSk6dGhpcy5fZm9jdXNlZENoaWxkPWRbMF19fSxfb25DYXB0dXJlRXNjOmZ1bmN0aW9uKGIpe3RoaXMubm9DYW5jZWxPbkVzY0tleXx8CnRoaXMuY2FuY2VsKGIpfSxfb25DYXB0dXJlVGFiOmZ1bmN0aW9uKGIpe2lmKHRoaXMud2l0aEJhY2tkcm9wKXt0aGlzLl9fZW5zdXJlRmlyc3RMYXN0Rm9jdXNhYmxlcygpO3ZhciBkPWIuc2hpZnRLZXksZj1kP3RoaXMuX19maXJzdEZvY3VzYWJsZU5vZGU6dGhpcy5fX2xhc3RGb2N1c2FibGVOb2RlO2Q9ZD90aGlzLl9fbGFzdEZvY3VzYWJsZU5vZGU6dGhpcy5fX2ZpcnN0Rm9jdXNhYmxlTm9kZTtpZihmPT09ZClmPSEwO2Vsc2V7dmFyIGg9dGhpcy5fbWFuYWdlci5kZWVwQWN0aXZlRWxlbWVudDtmPWg9PT1mfHxoPT09dGhpc31mJiYoYi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2ZvY3VzZWRDaGlsZD1kLHRoaXMuX2FwcGx5Rm9jdXMoKSl9fSxfb25Jcm9uUmVzaXplOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQmJiF0aGlzLl9faXNBbmltYXRpbmcmJnRoaXMuX19kZXJhZigicmVmaXQiLHRoaXMucmVmaXQpfSxfb25Ob2Rlc0NoYW5nZTpmdW5jdGlvbigpe3RoaXMub3BlbmVkJiYhdGhpcy5fX2lzQW5pbWF0aW5nJiYKKHRoaXMuaW52YWxpZGF0ZVRhYmJhYmxlcygpLHRoaXMubm90aWZ5UmVzaXplKCkpfSxfX2Vuc3VyZUZpcnN0TGFzdEZvY3VzYWJsZXM6ZnVuY3Rpb24oKXtpZighdGhpcy5fX2ZpcnN0Rm9jdXNhYmxlTm9kZXx8IXRoaXMuX19sYXN0Rm9jdXNhYmxlTm9kZSl7dmFyIGI9dGhpcy5fZm9jdXNhYmxlTm9kZXM7dGhpcy5fX2ZpcnN0Rm9jdXNhYmxlTm9kZT1iWzBdO3RoaXMuX19sYXN0Rm9jdXNhYmxlTm9kZT1iW2IubGVuZ3RoLTFdfX0sX19vcGVuZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ/KHRoaXMuX3ByZXBhcmVSZW5kZXJPcGVuZWQoKSx0aGlzLl9tYW5hZ2VyLmFkZE92ZXJsYXkodGhpcyksdGhpcy5fYXBwbHlGb2N1cygpLHRoaXMuX3JlbmRlck9wZW5lZCgpKToodGhpcy5fbWFuYWdlci5yZW1vdmVPdmVybGF5KHRoaXMpLHRoaXMuX2FwcGx5Rm9jdXMoKSx0aGlzLl9yZW5kZXJDbG9zZWQoKSl9LF9fZGVyYWY6ZnVuY3Rpb24oYixkKXt2YXIgZj10aGlzLl9fcmFmczsKbnVsbCE9PWZbYl0mJmNhbmNlbEFuaW1hdGlvbkZyYW1lKGZbYl0pO2ZbYl09cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7ZltiXT1udWxsO2QuY2FsbCh0aGlzKX0uYmluZCh0aGlzKSl9LF9fdXBkYXRlU2Nyb2xsT2JzZXJ2ZXJzOmZ1bmN0aW9uKGIsZCxmKXtiJiZkJiZ0aGlzLl9faXNWYWxpZFNjcm9sbEFjdGlvbihmKT8oImxvY2siPT09ZiYmKHRoaXMuX19zYXZlU2Nyb2xsUG9zaXRpb24oKSxQb2x5bWVyLklyb25TY3JvbGxNYW5hZ2VyLnB1c2hTY3JvbGxMb2NrKHRoaXMpKSx0aGlzLl9fYWRkU2Nyb2xsTGlzdGVuZXJzKCkpOihQb2x5bWVyLklyb25TY3JvbGxNYW5hZ2VyLnJlbW92ZVNjcm9sbExvY2sodGhpcyksdGhpcy5fX3JlbW92ZVNjcm9sbExpc3RlbmVycygpKX0sX19hZGRTY3JvbGxMaXN0ZW5lcnM6ZnVuY3Rpb24oKXtpZighdGhpcy5fX3Jvb3ROb2Rlcyl7dGhpcy5fX3Jvb3ROb2Rlcz1bXTtpZihQb2x5bWVyLlNldHRpbmdzLnVzZVNoYWRvdylmb3IodmFyIGI9CnRoaXM7YjspYi5ub2RlVHlwZT09PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSYmYi5ob3N0JiZ0aGlzLl9fcm9vdE5vZGVzLnB1c2goYiksYj1iLmhvc3R8fGIuYXNzaWduZWRTbG90fHxiLnBhcmVudE5vZGU7dGhpcy5fX3Jvb3ROb2Rlcy5wdXNoKGRvY3VtZW50KX10aGlzLl9fcm9vdE5vZGVzLmZvckVhY2goZnVuY3Rpb24oZCl7ZC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuX19vbkNhcHR1cmVTY3JvbGwse2NhcHR1cmU6ITAscGFzc2l2ZTohMH0pfSx0aGlzKX0sX19yZW1vdmVTY3JvbGxMaXN0ZW5lcnM6ZnVuY3Rpb24oKXt0aGlzLl9fcm9vdE5vZGVzJiZ0aGlzLl9fcm9vdE5vZGVzLmZvckVhY2goZnVuY3Rpb24oYil7Yi5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuX19vbkNhcHR1cmVTY3JvbGwse2NhcHR1cmU6ITAscGFzc2l2ZTohMH0pfSx0aGlzKTt0aGlzLmlzQXR0YWNoZWR8fCh0aGlzLl9fcm9vdE5vZGVzPW51bGwpfSxfX2lzVmFsaWRTY3JvbGxBY3Rpb246ZnVuY3Rpb24oYil7cmV0dXJuImxvY2siPT09CmJ8fCJyZWZpdCI9PT1ifHwiY2FuY2VsIj09PWJ9LF9fb25DYXB0dXJlU2Nyb2xsOmZ1bmN0aW9uKGIpe2lmKCEodGhpcy5fX2lzQW5pbWF0aW5nfHwwPD1Qb2x5bWVyLmRvbShiKS5wYXRoLmluZGV4T2YodGhpcykpKXN3aXRjaCh0aGlzLnNjcm9sbEFjdGlvbil7Y2FzZSAibG9jayI6dGhpcy5fX3Jlc3RvcmVTY3JvbGxQb3NpdGlvbigpO2JyZWFrO2Nhc2UgInJlZml0Ijp0aGlzLl9fZGVyYWYoInJlZml0Iix0aGlzLnJlZml0KTticmVhaztjYXNlICJjYW5jZWwiOnRoaXMuY2FuY2VsKGIpfX0sX19zYXZlU2Nyb2xsUG9zaXRpb246ZnVuY3Rpb24oKXtkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50Pyh0aGlzLl9fc2Nyb2xsVG9wPWRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wLHRoaXMuX19zY3JvbGxMZWZ0PWRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsTGVmdCk6KHRoaXMuX19zY3JvbGxUb3A9TWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCwKZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApLHRoaXMuX19zY3JvbGxMZWZ0PU1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0LGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCkpfSxfX3Jlc3RvcmVTY3JvbGxQb3NpdGlvbjpmdW5jdGlvbigpe2RvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQ/KGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wPXRoaXMuX19zY3JvbGxUb3AsZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxMZWZ0PXRoaXMuX19zY3JvbGxMZWZ0KTooZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcD1kb2N1bWVudC5ib2R5LnNjcm9sbFRvcD10aGlzLl9fc2Nyb2xsVG9wLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0PWRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdD10aGlzLl9fc2Nyb2xsTGVmdCl9fTtQb2x5bWVyLklyb25PdmVybGF5QmVoYXZpb3I9W1BvbHltZXIuSXJvbkZpdEJlaGF2aW9yLFBvbHltZXIuSXJvblJlc2l6YWJsZUJlaGF2aW9yLApQb2x5bWVyLklyb25PdmVybGF5QmVoYXZpb3JJbXBsXX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vbmVvbi1hbmltYXRpb24vbmVvbi1hbmltYXRhYmxlLWJlaGF2aW9yLmh0bWwuanMKUG9seW1lci5OZW9uQW5pbWF0YWJsZUJlaGF2aW9yPXtwcm9wZXJ0aWVzOnthbmltYXRpb25Db25maWc6e3R5cGU6T2JqZWN0fSxlbnRyeUFuaW1hdGlvbjp7b2JzZXJ2ZXI6Il9lbnRyeUFuaW1hdGlvbkNoYW5nZWQiLHR5cGU6U3RyaW5nfSxleGl0QW5pbWF0aW9uOntvYnNlcnZlcjoiX2V4aXRBbmltYXRpb25DaGFuZ2VkIix0eXBlOlN0cmluZ319LF9lbnRyeUFuaW1hdGlvbkNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmFuaW1hdGlvbkNvbmZpZz10aGlzLmFuaW1hdGlvbkNvbmZpZ3x8e307dGhpcy5hbmltYXRpb25Db25maWcuZW50cnk9W3tuYW1lOnRoaXMuZW50cnlBbmltYXRpb24sbm9kZTp0aGlzfV19LF9leGl0QW5pbWF0aW9uQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuYW5pbWF0aW9uQ29uZmlnPXRoaXMuYW5pbWF0aW9uQ29uZmlnfHx7fTt0aGlzLmFuaW1hdGlvbkNvbmZpZy5leGl0PVt7bmFtZTp0aGlzLmV4aXRBbmltYXRpb24sbm9kZTp0aGlzfV19LF9jb3B5UHJvcGVydGllczpmdW5jdGlvbihiLApkKXtmb3IodmFyIGYgaW4gZCliW2ZdPWRbZl19LF9jbG9uZUNvbmZpZzpmdW5jdGlvbihiKXt2YXIgZD17aXNDbG9uZTohMH07dGhpcy5fY29weVByb3BlcnRpZXMoZCxiKTtyZXR1cm4gZH0sX2dldEFuaW1hdGlvbkNvbmZpZ1JlY3Vyc2l2ZTpmdW5jdGlvbihiLGQsZil7aWYodGhpcy5hbmltYXRpb25Db25maWcpaWYodGhpcy5hbmltYXRpb25Db25maWcudmFsdWUmJiJmdW5jdGlvbiI9PT10eXBlb2YgdGhpcy5hbmltYXRpb25Db25maWcudmFsdWUpdGhpcy5fd2Fybih0aGlzLl9sb2dmKCJwbGF5QW5pbWF0aW9uIiwiUGxlYXNlIHB1dCAnYW5pbWF0aW9uQ29uZmlnJyBpbnNpZGUgb2YgeW91ciBjb21wb25lbnRzICdwcm9wZXJ0aWVzJyBvYmplY3QgaW5zdGVhZCBvZiBvdXRzaWRlIG9mIGl0LiIpKTtlbHNle3ZhciBoPWI/dGhpcy5hbmltYXRpb25Db25maWdbYl06dGhpcy5hbmltYXRpb25Db25maWc7QXJyYXkuaXNBcnJheShoKXx8KGg9W2hdKTtpZihoKWZvcih2YXIgayxyPTA7az0KaFtyXTtyKyspaWYoay5hbmltYXRhYmxlKWsuYW5pbWF0YWJsZS5fZ2V0QW5pbWF0aW9uQ29uZmlnUmVjdXJzaXZlKGsudHlwZXx8YixkLGYpO2Vsc2UgaWYoay5pZCl7dmFyIGw9ZFtrLmlkXTtsPyhsLmlzQ2xvbmV8fChkW2suaWRdPXRoaXMuX2Nsb25lQ29uZmlnKGwpLGw9ZFtrLmlkXSksdGhpcy5fY29weVByb3BlcnRpZXMobCxrKSk6ZFtrLmlkXT1rfWVsc2UgZi5wdXNoKGspfX0sZ2V0QW5pbWF0aW9uQ29uZmlnOmZ1bmN0aW9uKGIpe3ZhciBkPXt9LGY9W107dGhpcy5fZ2V0QW5pbWF0aW9uQ29uZmlnUmVjdXJzaXZlKGIsZCxmKTtmb3IodmFyIGggaW4gZClmLnB1c2goZFtoXSk7cmV0dXJuIGZ9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9uZW9uLWFuaW1hdGlvbi9uZW9uLWFuaW1hdGlvbi1ydW5uZXItYmVoYXZpb3IuaHRtbC5qcwpQb2x5bWVyLk5lb25BbmltYXRpb25SdW5uZXJCZWhhdmlvckltcGw9e19jb25maWd1cmVBbmltYXRpb25zOmZ1bmN0aW9uKGIpe3ZhciBkPVtdLGY9W107aWYoMDxiLmxlbmd0aClmb3IodmFyIGgsaz0wO2g9YltrXTtrKyspe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoaC5uYW1lKTtpZihyLmlzTmVvbkFuaW1hdGlvbil7dmFyIGw9bnVsbDtyLmNvbmZpZ3VyZXx8KHIuY29uZmlndXJlPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9KTtsPXIuY29uZmlndXJlKGgpO2YucHVzaCh7cmVzdWx0OmwsY29uZmlnOmh9KX1lbHNlIGNvbnNvbGUud2Fybih0aGlzLmlzKyI6IixoLm5hbWUsIm5vdCBmb3VuZCEiKX1mb3IoYj0wO2I8Zi5sZW5ndGg7YisrKXtsPWZbYl0ucmVzdWx0O2g9ZltiXS5jb25maWc7dHJ5eyJmdW5jdGlvbiIhPXR5cGVvZiBsLmNhbmNlbCYmKGw9ZG9jdW1lbnQudGltZWxpbmUucGxheShsKSl9Y2F0Y2gocCl7bD1udWxsLGNvbnNvbGUud2FybigiQ291bGRudCBwbGF5IiwKIigiLGgubmFtZSwiKS4iLHApfWwmJmQucHVzaCh7bmVvbkFuaW1hdGlvbjpyLGNvbmZpZzpoLGFuaW1hdGlvbjpsfSl9cmV0dXJuIGR9LF9zaG91bGRDb21wbGV0ZTpmdW5jdGlvbihiKXtmb3IodmFyIGQ9ITAsZj0wO2Y8Yi5sZW5ndGg7ZisrKWlmKCJmaW5pc2hlZCIhPWJbZl0uYW5pbWF0aW9uLnBsYXlTdGF0ZSl7ZD0hMTticmVha31yZXR1cm4gZH0sX2NvbXBsZXRlOmZ1bmN0aW9uKGIpe2Zvcih2YXIgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWJbZF0ubmVvbkFuaW1hdGlvbi5jb21wbGV0ZShiW2RdLmNvbmZpZyk7Zm9yKGQ9MDtkPGIubGVuZ3RoO2QrKyliW2RdLmFuaW1hdGlvbi5jYW5jZWwoKX0scGxheUFuaW1hdGlvbjpmdW5jdGlvbihiLGQpe3ZhciBmPXRoaXMuZ2V0QW5pbWF0aW9uQ29uZmlnKGIpO2lmKGYpe3RoaXMuX2FjdGl2ZT10aGlzLl9hY3RpdmV8fHt9O3RoaXMuX2FjdGl2ZVtiXSYmKHRoaXMuX2NvbXBsZXRlKHRoaXMuX2FjdGl2ZVtiXSksZGVsZXRlIHRoaXMuX2FjdGl2ZVtiXSk7CnZhciBoPXRoaXMuX2NvbmZpZ3VyZUFuaW1hdGlvbnMoZik7aWYoMD09aC5sZW5ndGgpdGhpcy5maXJlKCJuZW9uLWFuaW1hdGlvbi1maW5pc2giLGQse2J1YmJsZXM6ITF9KTtlbHNlIGZvcih0aGlzLl9hY3RpdmVbYl09aCxmPTA7ZjxoLmxlbmd0aDtmKyspaFtmXS5hbmltYXRpb24ub25maW5pc2g9ZnVuY3Rpb24oKXt0aGlzLl9zaG91bGRDb21wbGV0ZShoKSYmKHRoaXMuX2NvbXBsZXRlKGgpLGRlbGV0ZSB0aGlzLl9hY3RpdmVbYl0sdGhpcy5maXJlKCJuZW9uLWFuaW1hdGlvbi1maW5pc2giLGQse2J1YmJsZXM6ITF9KSl9LmJpbmQodGhpcyl9fSxjYW5jZWxBbmltYXRpb246ZnVuY3Rpb24oKXtmb3IodmFyIGIgaW4gdGhpcy5fYWN0aXZlKXt2YXIgZD10aGlzLl9hY3RpdmVbYl0sZjtmb3IoZiBpbiBkKWRbZl0uYW5pbWF0aW9uLmNhbmNlbCgpfXRoaXMuX2FjdGl2ZT17fX19OwpQb2x5bWVyLk5lb25BbmltYXRpb25SdW5uZXJCZWhhdmlvcj1bUG9seW1lci5OZW9uQW5pbWF0YWJsZUJlaGF2aW9yLFBvbHltZXIuTmVvbkFuaW1hdGlvblJ1bm5lckJlaGF2aW9ySW1wbF07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1kcm9wZG93bi9pcm9uLWRyb3Bkb3duLXNjcm9sbC1tYW5hZ2VyLmh0bWwuanMKKGZ1bmN0aW9uKCl7UG9seW1lci5Jcm9uRHJvcGRvd25TY3JvbGxNYW5hZ2VyPVBvbHltZXIuSXJvblNjcm9sbE1hbmFnZXJ9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL25lb24tYW5pbWF0aW9uL25lb24tYW5pbWF0aW9uLWJlaGF2aW9yLmh0bWwuanMKUG9seW1lci5OZW9uQW5pbWF0aW9uQmVoYXZpb3I9e3Byb3BlcnRpZXM6e2FuaW1hdGlvblRpbWluZzp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57ZHVyYXRpb246NTAwLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSIsZmlsbDoiYm90aCJ9fX19LGlzTmVvbkFuaW1hdGlvbjohMCxjcmVhdGVkOmZ1bmN0aW9uKCl7ZG9jdW1lbnQuYm9keS5hbmltYXRlfHxjb25zb2xlLndhcm4oIk5vIHdlYiBhbmltYXRpb25zIGRldGVjdGVkLiBUaGlzIGVsZW1lbnQgd2lsbCBub3QgZnVuY3Rpb24gd2l0aG91dCBhIHdlYiBhbmltYXRpb25zIHBvbHlmaWxsLiIpfSx0aW1pbmdGcm9tQ29uZmlnOmZ1bmN0aW9uKGIpe2lmKGIudGltaW5nKWZvcih2YXIgZCBpbiBiLnRpbWluZyl0aGlzLmFuaW1hdGlvblRpbWluZ1tkXT1iLnRpbWluZ1tkXTtyZXR1cm4gdGhpcy5hbmltYXRpb25UaW1pbmd9LHNldFByZWZpeGVkUHJvcGVydHk6ZnVuY3Rpb24oYixkLGYpe2Zvcih2YXIgaD0Ke3RyYW5zZm9ybTpbIndlYmtpdFRyYW5zZm9ybSJdLHRyYW5zZm9ybU9yaWdpbjpbIm1velRyYW5zZm9ybU9yaWdpbiIsIndlYmtpdFRyYW5zZm9ybU9yaWdpbiJdfVtkXSxrLHI9MDtrPWhbcl07cisrKWIuc3R5bGVba109ZjtiLnN0eWxlW2RdPWZ9LGNvbXBsZXRlOmZ1bmN0aW9uKCl7fX07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vbmVvbi1hbmltYXRpb24vYW5pbWF0aW9ucy9mYWRlLWluLWFuaW1hdGlvbi5odG1sLmpzClBvbHltZXIoe2lzOiJmYWRlLWluLWFuaW1hdGlvbiIsYmVoYXZpb3JzOltQb2x5bWVyLk5lb25BbmltYXRpb25CZWhhdmlvcl0sY29uZmlndXJlOmZ1bmN0aW9uKGIpe3JldHVybiB0aGlzLl9lZmZlY3Q9bmV3IEtleWZyYW1lRWZmZWN0KGIubm9kZSxbe29wYWNpdHk6IjAifSx7b3BhY2l0eToiMSJ9XSx0aGlzLnRpbWluZ0Zyb21Db25maWcoYikpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL25lb24tYW5pbWF0aW9uL2FuaW1hdGlvbnMvZmFkZS1vdXQtYW5pbWF0aW9uLmh0bWwuanMKUG9seW1lcih7aXM6ImZhZGUtb3V0LWFuaW1hdGlvbiIsYmVoYXZpb3JzOltQb2x5bWVyLk5lb25BbmltYXRpb25CZWhhdmlvcl0sY29uZmlndXJlOmZ1bmN0aW9uKGIpe3JldHVybiB0aGlzLl9lZmZlY3Q9bmV3IEtleWZyYW1lRWZmZWN0KGIubm9kZSxbe29wYWNpdHk6IjEifSx7b3BhY2l0eToiMCJ9XSx0aGlzLnRpbWluZ0Zyb21Db25maWcoYikpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLW1lbnUtYnV0dG9uL3BhcGVyLW1lbnUtYnV0dG9uLWFuaW1hdGlvbnMuaHRtbC5qcwpQb2x5bWVyKHtpczoicGFwZXItbWVudS1ncm93LWhlaWdodC1hbmltYXRpb24iLGJlaGF2aW9yczpbUG9seW1lci5OZW9uQW5pbWF0aW9uQmVoYXZpb3JdLGNvbmZpZ3VyZTpmdW5jdGlvbihiKXt2YXIgZD1iLm5vZGUsZj1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtyZXR1cm4gdGhpcy5fZWZmZWN0PW5ldyBLZXlmcmFtZUVmZmVjdChkLFt7aGVpZ2h0OmYvMisicHgifSx7aGVpZ2h0OmYrInB4In1dLHRoaXMudGltaW5nRnJvbUNvbmZpZyhiKSl9fSk7UG9seW1lcih7aXM6InBhcGVyLW1lbnUtZ3Jvdy13aWR0aC1hbmltYXRpb24iLGJlaGF2aW9yczpbUG9seW1lci5OZW9uQW5pbWF0aW9uQmVoYXZpb3JdLGNvbmZpZ3VyZTpmdW5jdGlvbihiKXt2YXIgZD1iLm5vZGUsZj1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO3JldHVybiB0aGlzLl9lZmZlY3Q9bmV3IEtleWZyYW1lRWZmZWN0KGQsW3t3aWR0aDpmLzIrInB4In0se3dpZHRoOmYrInB4In1dLHRoaXMudGltaW5nRnJvbUNvbmZpZyhiKSl9fSk7ClBvbHltZXIoe2lzOiJwYXBlci1tZW51LXNocmluay13aWR0aC1hbmltYXRpb24iLGJlaGF2aW9yczpbUG9seW1lci5OZW9uQW5pbWF0aW9uQmVoYXZpb3JdLGNvbmZpZ3VyZTpmdW5jdGlvbihiKXt2YXIgZD1iLm5vZGUsZj1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO3JldHVybiB0aGlzLl9lZmZlY3Q9bmV3IEtleWZyYW1lRWZmZWN0KGQsW3t3aWR0aDpmKyJweCJ9LHt3aWR0aDpmLWYvMjArInB4In1dLHRoaXMudGltaW5nRnJvbUNvbmZpZyhiKSl9fSk7ClBvbHltZXIoe2lzOiJwYXBlci1tZW51LXNocmluay1oZWlnaHQtYW5pbWF0aW9uIixiZWhhdmlvcnM6W1BvbHltZXIuTmVvbkFuaW1hdGlvbkJlaGF2aW9yXSxjb25maWd1cmU6ZnVuY3Rpb24oYil7dmFyIGQ9Yi5ub2RlLGY9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7dGhpcy5zZXRQcmVmaXhlZFByb3BlcnR5KGQsInRyYW5zZm9ybU9yaWdpbiIsIjAgMCIpO3JldHVybiB0aGlzLl9lZmZlY3Q9bmV3IEtleWZyYW1lRWZmZWN0KGQsW3toZWlnaHQ6ZisicHgiLHRyYW5zZm9ybToidHJhbnNsYXRlWSgwKSJ9LHtoZWlnaHQ6Zi8yKyJweCIsdHJhbnNmb3JtOiJ0cmFuc2xhdGVZKC0yMHB4KSJ9XSx0aGlzLnRpbWluZ0Zyb21Db25maWcoYikpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24taWNvbnNldC1zdmcvaXJvbi1pY29uc2V0LXN2Zy5odG1sLmpzClBvbHltZXIoe2lzOiJpcm9uLWljb25zZXQtc3ZnIixwcm9wZXJ0aWVzOntuYW1lOnt0eXBlOlN0cmluZyxvYnNlcnZlcjoiX25hbWVDaGFuZ2VkIn0sc2l6ZTp7dHlwZTpOdW1iZXIsdmFsdWU6MjR9LHJ0bE1pcnJvcmluZzp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSx1c2VHbG9iYWxSdGxBdHRyaWJ1dGU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX19LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9tZXRhPW5ldyBQb2x5bWVyLklyb25NZXRhKHt0eXBlOiJpY29uc2V0IixrZXk6bnVsbCx2YWx1ZTpudWxsfSl9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5zdHlsZS5kaXNwbGF5PSJub25lIn0sZ2V0SWNvbk5hbWVzOmZ1bmN0aW9uKCl7dGhpcy5faWNvbnM9dGhpcy5fY3JlYXRlSWNvbk1hcCgpO3JldHVybiBPYmplY3Qua2V5cyh0aGlzLl9pY29ucykubWFwKGZ1bmN0aW9uKGIpe3JldHVybiB0aGlzLm5hbWUrIjoiK2J9LHRoaXMpfSxhcHBseUljb246ZnVuY3Rpb24oYixkKXt0aGlzLnJlbW92ZUljb24oYik7CmlmKGQ9dGhpcy5fY2xvbmVJY29uKGQsdGhpcy5ydGxNaXJyb3JpbmcmJnRoaXMuX3RhcmdldElzUlRMKGIpKSl7dmFyIGY9UG9seW1lci5kb20oYi5yb290fHxiKTtmLmluc2VydEJlZm9yZShkLGYuY2hpbGROb2Rlc1swXSk7cmV0dXJuIGIuX3N2Z0ljb249ZH1yZXR1cm4gbnVsbH0scmVtb3ZlSWNvbjpmdW5jdGlvbihiKXtiLl9zdmdJY29uJiYoUG9seW1lci5kb20oYi5yb290fHxiKS5yZW1vdmVDaGlsZChiLl9zdmdJY29uKSxiLl9zdmdJY29uPW51bGwpfSxfdGFyZ2V0SXNSVEw6ZnVuY3Rpb24oYil7bnVsbD09dGhpcy5fX3RhcmdldElzUlRMJiYodGhpcy51c2VHbG9iYWxSdGxBdHRyaWJ1dGU/dGhpcy5fX3RhcmdldElzUlRMPSJydGwiPT09KGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmJvZHkuaGFzQXR0cmlidXRlKCJkaXIiKT9kb2N1bWVudC5ib2R5OmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0QXR0cmlidXRlKCJkaXIiKTooYiYmYi5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFJiYKKGI9Yi5ob3N0KSx0aGlzLl9fdGFyZ2V0SXNSVEw9YiYmInJ0bCI9PT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShiKS5kaXJlY3Rpb24pKTtyZXR1cm4gdGhpcy5fX3RhcmdldElzUlRMfSxfbmFtZUNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLl9tZXRhLnZhbHVlPW51bGw7dGhpcy5fbWV0YS5rZXk9dGhpcy5uYW1lO3RoaXMuX21ldGEudmFsdWU9dGhpczt0aGlzLmFzeW5jKGZ1bmN0aW9uKCl7dGhpcy5maXJlKCJpcm9uLWljb25zZXQtYWRkZWQiLHRoaXMse25vZGU6d2luZG93fSl9KX0sX2NyZWF0ZUljb25NYXA6ZnVuY3Rpb24oKXt2YXIgYj1PYmplY3QuY3JlYXRlKG51bGwpO1BvbHltZXIuZG9tKHRoaXMpLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZF0iKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe2JbZC5pZF09ZH0pO3JldHVybiBifSxfY2xvbmVJY29uOmZ1bmN0aW9uKGIsZCl7dGhpcy5faWNvbnM9dGhpcy5faWNvbnN8fHRoaXMuX2NyZWF0ZUljb25NYXAoKTtyZXR1cm4gdGhpcy5fcHJlcGFyZVN2Z0Nsb25lKHRoaXMuX2ljb25zW2JdLAp0aGlzLnNpemUsZCl9LF9wcmVwYXJlU3ZnQ2xvbmU6ZnVuY3Rpb24oYixkLGYpe2lmKGIpe2I9Yi5jbG9uZU5vZGUoITApO3ZhciBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJzdmciKTtkPWIuZ2V0QXR0cmlidXRlKCJ2aWV3Qm94Iil8fCIwIDAgIitkKyIgIitkO3ZhciBrPSJwb2ludGVyLWV2ZW50czogbm9uZTsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IjtmJiZiLmhhc0F0dHJpYnV0ZSgibWlycm9yLWluLXJ0bCIpJiYoays9Ii13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC0xLDEpO3RyYW5zZm9ybTpzY2FsZSgtMSwxKTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjsiKTtoLnNldEF0dHJpYnV0ZSgidmlld0JveCIsZCk7aC5zZXRBdHRyaWJ1dGUoInByZXNlcnZlQXNwZWN0UmF0aW8iLCJ4TWlkWU1pZCBtZWV0Iik7aC5zZXRBdHRyaWJ1dGUoImZvY3VzYWJsZSIsImZhbHNlIik7aC5zdHlsZS5jc3NUZXh0PQprO2guYXBwZW5kQ2hpbGQoYikucmVtb3ZlQXR0cmlidXRlKCJpZCIpO3JldHVybiBofXJldHVybiBudWxsfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tc2VsZWN0b3IvaXJvbi1zZWxlY3Rpb24uaHRtbC5qcwpQb2x5bWVyLklyb25TZWxlY3Rpb249ZnVuY3Rpb24oYil7dGhpcy5zZWxlY3Rpb249W107dGhpcy5zZWxlY3RDYWxsYmFjaz1ifTsKUG9seW1lci5Jcm9uU2VsZWN0aW9uLnByb3RvdHlwZT17Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXVsdGk/dGhpcy5zZWxlY3Rpb24uc2xpY2UoKTp0aGlzLnNlbGVjdGlvblswXX0sY2xlYXI6ZnVuY3Rpb24oYil7dGhpcy5zZWxlY3Rpb24uc2xpY2UoKS5mb3JFYWNoKGZ1bmN0aW9uKGQpeyghYnx8MD5iLmluZGV4T2YoZCkpJiZ0aGlzLnNldEl0ZW1TZWxlY3RlZChkLCExKX0sdGhpcyl9LGlzU2VsZWN0ZWQ6ZnVuY3Rpb24oYil7cmV0dXJuIDA8PXRoaXMuc2VsZWN0aW9uLmluZGV4T2YoYil9LHNldEl0ZW1TZWxlY3RlZDpmdW5jdGlvbihiLGQpe2lmKG51bGwhPWImJmQhPT10aGlzLmlzU2VsZWN0ZWQoYikpe2lmKGQpdGhpcy5zZWxlY3Rpb24ucHVzaChiKTtlbHNle3ZhciBmPXRoaXMuc2VsZWN0aW9uLmluZGV4T2YoYik7MDw9ZiYmdGhpcy5zZWxlY3Rpb24uc3BsaWNlKGYsMSl9dGhpcy5zZWxlY3RDYWxsYmFjayYmdGhpcy5zZWxlY3RDYWxsYmFjayhiLGQpfX0sc2VsZWN0OmZ1bmN0aW9uKGIpe3RoaXMubXVsdGk/CnRoaXMudG9nZ2xlKGIpOnRoaXMuZ2V0KCkhPT1iJiYodGhpcy5zZXRJdGVtU2VsZWN0ZWQodGhpcy5nZXQoKSwhMSksdGhpcy5zZXRJdGVtU2VsZWN0ZWQoYiwhMCkpfSx0b2dnbGU6ZnVuY3Rpb24oYil7dGhpcy5zZXRJdGVtU2VsZWN0ZWQoYiwhdGhpcy5pc1NlbGVjdGVkKGIpKX19OwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tc2VsZWN0b3IvaXJvbi1zZWxlY3RhYmxlLmh0bWwuanMKUG9seW1lci5Jcm9uU2VsZWN0YWJsZUJlaGF2aW9yPXtwcm9wZXJ0aWVzOnthdHRyRm9yU2VsZWN0ZWQ6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LHNlbGVjdGVkOnt0eXBlOlN0cmluZyxub3RpZnk6ITB9LHNlbGVjdGVkSXRlbTp7dHlwZTpPYmplY3QscmVhZE9ubHk6ITAsbm90aWZ5OiEwfSxhY3RpdmF0ZUV2ZW50Ont0eXBlOlN0cmluZyx2YWx1ZToidGFwIixvYnNlcnZlcjoiX2FjdGl2YXRlRXZlbnRDaGFuZ2VkIn0sc2VsZWN0YWJsZTpTdHJpbmcsc2VsZWN0ZWRDbGFzczp7dHlwZTpTdHJpbmcsdmFsdWU6Imlyb24tc2VsZWN0ZWQifSxzZWxlY3RlZEF0dHJpYnV0ZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sZmFsbGJhY2tTZWxlY3Rpb246e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LGl0ZW1zOnt0eXBlOkFycmF5LHJlYWRPbmx5OiEwLG5vdGlmeTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX0sX2V4Y2x1ZGVkTG9jYWxOYW1lczp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57dGVtcGxhdGU6MSwKImRvbS1iaW5kIjoxLCJkb20taWYiOjEsImRvbS1yZXBlYXQiOjF9fX19LG9ic2VydmVyczpbIl91cGRhdGVBdHRyRm9yU2VsZWN0ZWQoYXR0ckZvclNlbGVjdGVkKSIsIl91cGRhdGVTZWxlY3RlZChzZWxlY3RlZCkiLCJfY2hlY2tGYWxsYmFjayhmYWxsYmFja1NlbGVjdGlvbikiXSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5fYmluZEZpbHRlckl0ZW09dGhpcy5fZmlsdGVySXRlbS5iaW5kKHRoaXMpO3RoaXMuX3NlbGVjdGlvbj1uZXcgUG9seW1lci5Jcm9uU2VsZWN0aW9uKHRoaXMuX2FwcGx5U2VsZWN0aW9uLmJpbmQodGhpcykpfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX29ic2VydmVyPXRoaXMuX29ic2VydmVJdGVtcyh0aGlzKTt0aGlzLl9hZGRMaXN0ZW5lcih0aGlzLmFjdGl2YXRlRXZlbnQpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX29ic2VydmVyJiZQb2x5bWVyLmRvbSh0aGlzKS51bm9ic2VydmVOb2Rlcyh0aGlzLl9vYnNlcnZlcik7dGhpcy5fcmVtb3ZlTGlzdGVuZXIodGhpcy5hY3RpdmF0ZUV2ZW50KX0sCmluZGV4T2Y6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuaXRlbXM/dGhpcy5pdGVtcy5pbmRleE9mKGIpOi0xfSxzZWxlY3Q6ZnVuY3Rpb24oYil7dGhpcy5zZWxlY3RlZD1ifSxzZWxlY3RQcmV2aW91czpmdW5jdGlvbigpe3ZhciBiPXRoaXMuaXRlbXMubGVuZ3RoO2I9KE51bWJlcih0aGlzLl92YWx1ZVRvSW5kZXgodGhpcy5zZWxlY3RlZCkpLTErYiklYjt0aGlzLnNlbGVjdGVkPXRoaXMuX2luZGV4VG9WYWx1ZShiKX0sc2VsZWN0TmV4dDpmdW5jdGlvbigpe3ZhciBiPShOdW1iZXIodGhpcy5fdmFsdWVUb0luZGV4KHRoaXMuc2VsZWN0ZWQpKSsxKSV0aGlzLml0ZW1zLmxlbmd0aDt0aGlzLnNlbGVjdGVkPXRoaXMuX2luZGV4VG9WYWx1ZShiKX0sc2VsZWN0SW5kZXg6ZnVuY3Rpb24oYil7dGhpcy5zZWxlY3QodGhpcy5faW5kZXhUb1ZhbHVlKGIpKX0sZm9yY2VTeW5jaHJvbm91c0l0ZW1VcGRhdGU6ZnVuY3Rpb24oKXt0aGlzLl9vYnNlcnZlciYmImZ1bmN0aW9uIj09PXR5cGVvZiB0aGlzLl9vYnNlcnZlci5mbHVzaD8KdGhpcy5fb2JzZXJ2ZXIuZmx1c2goKTp0aGlzLl91cGRhdGVJdGVtcygpfSxnZXQgX3Nob3VsZFVwZGF0ZVNlbGVjdGlvbigpe3JldHVybiBudWxsIT10aGlzLnNlbGVjdGVkfSxfY2hlY2tGYWxsYmFjazpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVNlbGVjdGVkKCl9LF9hZGRMaXN0ZW5lcjpmdW5jdGlvbihiKXt0aGlzLmxpc3Rlbih0aGlzLGIsIl9hY3RpdmF0ZUhhbmRsZXIiKX0sX3JlbW92ZUxpc3RlbmVyOmZ1bmN0aW9uKGIpe3RoaXMudW5saXN0ZW4odGhpcyxiLCJfYWN0aXZhdGVIYW5kbGVyIil9LF9hY3RpdmF0ZUV2ZW50Q2hhbmdlZDpmdW5jdGlvbihiLGQpe3RoaXMuX3JlbW92ZUxpc3RlbmVyKGQpO3RoaXMuX2FkZExpc3RlbmVyKGIpfSxfdXBkYXRlSXRlbXM6ZnVuY3Rpb24oKXt2YXIgYj1Qb2x5bWVyLmRvbSh0aGlzKS5xdWVyeURpc3RyaWJ1dGVkRWxlbWVudHModGhpcy5zZWxlY3RhYmxlfHwiKiIpO2I9QXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGIsdGhpcy5fYmluZEZpbHRlckl0ZW0pOwp0aGlzLl9zZXRJdGVtcyhiKX0sX3VwZGF0ZUF0dHJGb3JTZWxlY3RlZDpmdW5jdGlvbigpe3RoaXMuc2VsZWN0ZWRJdGVtJiYodGhpcy5zZWxlY3RlZD10aGlzLl92YWx1ZUZvckl0ZW0odGhpcy5zZWxlY3RlZEl0ZW0pKX0sX3VwZGF0ZVNlbGVjdGVkOmZ1bmN0aW9uKCl7dGhpcy5fc2VsZWN0U2VsZWN0ZWQodGhpcy5zZWxlY3RlZCl9LF9zZWxlY3RTZWxlY3RlZDpmdW5jdGlvbigpe2lmKHRoaXMuaXRlbXMpe3ZhciBiPXRoaXMuX3ZhbHVlVG9JdGVtKHRoaXMuc2VsZWN0ZWQpO2I/dGhpcy5fc2VsZWN0aW9uLnNlbGVjdChiKTp0aGlzLl9zZWxlY3Rpb24uY2xlYXIoKTt0aGlzLmZhbGxiYWNrU2VsZWN0aW9uJiZ0aGlzLml0ZW1zLmxlbmd0aCYmdm9pZCAwPT09dGhpcy5fc2VsZWN0aW9uLmdldCgpJiYodGhpcy5zZWxlY3RlZD10aGlzLmZhbGxiYWNrU2VsZWN0aW9uKX19LF9maWx0ZXJJdGVtOmZ1bmN0aW9uKGIpe3JldHVybiF0aGlzLl9leGNsdWRlZExvY2FsTmFtZXNbYi5sb2NhbE5hbWVdfSwKX3ZhbHVlVG9JdGVtOmZ1bmN0aW9uKGIpe3JldHVybiBudWxsPT1iP251bGw6dGhpcy5pdGVtc1t0aGlzLl92YWx1ZVRvSW5kZXgoYildfSxfdmFsdWVUb0luZGV4OmZ1bmN0aW9uKGIpe2lmKHRoaXMuYXR0ckZvclNlbGVjdGVkKWZvcih2YXIgZD0wLGY7Zj10aGlzLml0ZW1zW2RdO2QrKyl7aWYodGhpcy5fdmFsdWVGb3JJdGVtKGYpPT1iKXJldHVybiBkfWVsc2UgcmV0dXJuIE51bWJlcihiKX0sX2luZGV4VG9WYWx1ZTpmdW5jdGlvbihiKXtpZih0aGlzLmF0dHJGb3JTZWxlY3RlZCl7aWYoYj10aGlzLml0ZW1zW2JdKXJldHVybiB0aGlzLl92YWx1ZUZvckl0ZW0oYil9ZWxzZSByZXR1cm4gYn0sX3ZhbHVlRm9ySXRlbTpmdW5jdGlvbihiKXtpZighYilyZXR1cm4gbnVsbDtpZighdGhpcy5hdHRyRm9yU2VsZWN0ZWQpcmV0dXJuIGI9dGhpcy5pbmRleE9mKGIpLC0xPT09Yj9udWxsOmI7dmFyIGQ9YltQb2x5bWVyLkNhc2VNYXAuZGFzaFRvQ2FtZWxDYXNlKHRoaXMuYXR0ckZvclNlbGVjdGVkKV07CnJldHVybiB2b2lkIDAhPWQ/ZDpiLmdldEF0dHJpYnV0ZSh0aGlzLmF0dHJGb3JTZWxlY3RlZCl9LF9hcHBseVNlbGVjdGlvbjpmdW5jdGlvbihiLGQpe3RoaXMuc2VsZWN0ZWRDbGFzcyYmdGhpcy50b2dnbGVDbGFzcyh0aGlzLnNlbGVjdGVkQ2xhc3MsZCxiKTt0aGlzLnNlbGVjdGVkQXR0cmlidXRlJiZ0aGlzLnRvZ2dsZUF0dHJpYnV0ZSh0aGlzLnNlbGVjdGVkQXR0cmlidXRlLGQsYik7dGhpcy5fc2VsZWN0aW9uQ2hhbmdlKCk7dGhpcy5maXJlKCJpcm9uLSIrKGQ/InNlbGVjdCI6ImRlc2VsZWN0Iikse2l0ZW06Yn0pfSxfc2VsZWN0aW9uQ2hhbmdlOmZ1bmN0aW9uKCl7dGhpcy5fc2V0U2VsZWN0ZWRJdGVtKHRoaXMuX3NlbGVjdGlvbi5nZXQoKSl9LF9vYnNlcnZlSXRlbXM6ZnVuY3Rpb24oYil7cmV0dXJuIFBvbHltZXIuZG9tKGIpLm9ic2VydmVOb2RlcyhmdW5jdGlvbihkKXt0aGlzLl91cGRhdGVJdGVtcygpO3RoaXMuX3VwZGF0ZVNlbGVjdGVkKCk7dGhpcy5maXJlKCJpcm9uLWl0ZW1zLWNoYW5nZWQiLApkLHtidWJibGVzOiExLGNhbmNlbGFibGU6ITF9KX0pfSxfYWN0aXZhdGVIYW5kbGVyOmZ1bmN0aW9uKGIpe2I9Yi50YXJnZXQ7Zm9yKHZhciBkPXRoaXMuaXRlbXM7YiYmYiE9dGhpczspe3ZhciBmPWQuaW5kZXhPZihiKTtpZigwPD1mKXtkPXRoaXMuX2luZGV4VG9WYWx1ZShmKTt0aGlzLl9pdGVtQWN0aXZhdGUoZCxiKTticmVha31iPWIucGFyZW50Tm9kZX19LF9pdGVtQWN0aXZhdGU6ZnVuY3Rpb24oYixkKXt0aGlzLmZpcmUoImlyb24tYWN0aXZhdGUiLHtzZWxlY3RlZDpiLGl0ZW06ZH0se2NhbmNlbGFibGU6ITB9KS5kZWZhdWx0UHJldmVudGVkfHx0aGlzLnNlbGVjdChiKX19OwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tc2VsZWN0b3IvaXJvbi1tdWx0aS1zZWxlY3RhYmxlLmh0bWwuanMKUG9seW1lci5Jcm9uTXVsdGlTZWxlY3RhYmxlQmVoYXZpb3JJbXBsPXtwcm9wZXJ0aWVzOnttdWx0aTp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJtdWx0aUNoYW5nZWQifSxzZWxlY3RlZFZhbHVlczp7dHlwZTpBcnJheSxub3RpZnk6ITAsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm5bXX19LHNlbGVjdGVkSXRlbXM6e3R5cGU6QXJyYXkscmVhZE9ubHk6ITAsbm90aWZ5OiEwLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fX0sb2JzZXJ2ZXJzOlsiX3VwZGF0ZVNlbGVjdGVkKHNlbGVjdGVkVmFsdWVzLnNwbGljZXMpIl0sc2VsZWN0OmZ1bmN0aW9uKGIpe3RoaXMubXVsdGk/dGhpcy5fdG9nZ2xlU2VsZWN0ZWQoYik6dGhpcy5zZWxlY3RlZD1ifSxtdWx0aUNoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5fc2VsZWN0aW9uLm11bHRpPWI7dGhpcy5fdXBkYXRlU2VsZWN0ZWQoKX0sZ2V0IF9zaG91bGRVcGRhdGVTZWxlY3Rpb24oKXtyZXR1cm4gbnVsbCE9dGhpcy5zZWxlY3RlZHx8Cm51bGwhPXRoaXMuc2VsZWN0ZWRWYWx1ZXMmJnRoaXMuc2VsZWN0ZWRWYWx1ZXMubGVuZ3RofSxfdXBkYXRlQXR0ckZvclNlbGVjdGVkOmZ1bmN0aW9uKCl7dGhpcy5tdWx0aT90aGlzLnNlbGVjdGVkSXRlbXMmJjA8dGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCYmKHRoaXMuc2VsZWN0ZWRWYWx1ZXM9dGhpcy5zZWxlY3RlZEl0ZW1zLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5faW5kZXhUb1ZhbHVlKHRoaXMuaW5kZXhPZihiKSl9LHRoaXMpLmZpbHRlcihmdW5jdGlvbihiKXtyZXR1cm4gbnVsbCE9Yn0sdGhpcykpOlBvbHltZXIuSXJvblNlbGVjdGFibGVCZWhhdmlvci5fdXBkYXRlQXR0ckZvclNlbGVjdGVkLmFwcGx5KHRoaXMpfSxfdXBkYXRlU2VsZWN0ZWQ6ZnVuY3Rpb24oKXt0aGlzLm11bHRpP3RoaXMuX3NlbGVjdE11bHRpKHRoaXMuc2VsZWN0ZWRWYWx1ZXMpOnRoaXMuX3NlbGVjdFNlbGVjdGVkKHRoaXMuc2VsZWN0ZWQpfSxfc2VsZWN0TXVsdGk6ZnVuY3Rpb24oYil7Yj0KYnx8W107Yj0odGhpcy5fdmFsdWVzVG9JdGVtcyhiKXx8W10pLmZpbHRlcihmdW5jdGlvbihmKXtyZXR1cm4gbnVsbCE9PWYmJnZvaWQgMCE9PWZ9KTt0aGlzLl9zZWxlY3Rpb24uY2xlYXIoYik7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspdGhpcy5fc2VsZWN0aW9uLnNldEl0ZW1TZWxlY3RlZChiW2RdLCEwKTt0aGlzLmZhbGxiYWNrU2VsZWN0aW9uJiYhdGhpcy5fc2VsZWN0aW9uLmdldCgpLmxlbmd0aCYmdGhpcy5fdmFsdWVUb0l0ZW0odGhpcy5mYWxsYmFja1NlbGVjdGlvbikmJnRoaXMuc2VsZWN0KHRoaXMuZmFsbGJhY2tTZWxlY3Rpb24pfSxfc2VsZWN0aW9uQ2hhbmdlOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5fc2VsZWN0aW9uLmdldCgpO3RoaXMubXVsdGk/KHRoaXMuX3NldFNlbGVjdGVkSXRlbXMoYiksdGhpcy5fc2V0U2VsZWN0ZWRJdGVtKGIubGVuZ3RoP2JbMF06bnVsbCkpOm51bGwhPT1iJiZ2b2lkIDAhPT1iPyh0aGlzLl9zZXRTZWxlY3RlZEl0ZW1zKFtiXSksCnRoaXMuX3NldFNlbGVjdGVkSXRlbShiKSk6KHRoaXMuX3NldFNlbGVjdGVkSXRlbXMoW10pLHRoaXMuX3NldFNlbGVjdGVkSXRlbShudWxsKSl9LF90b2dnbGVTZWxlY3RlZDpmdW5jdGlvbihiKXt2YXIgZD10aGlzLnNlbGVjdGVkVmFsdWVzLmluZGV4T2YoYik7MD5kP3RoaXMucHVzaCgic2VsZWN0ZWRWYWx1ZXMiLGIpOnRoaXMuc3BsaWNlKCJzZWxlY3RlZFZhbHVlcyIsZCwxKX0sX3ZhbHVlc1RvSXRlbXM6ZnVuY3Rpb24oYil7cmV0dXJuIG51bGw9PWI/bnVsbDpiLm1hcChmdW5jdGlvbihkKXtyZXR1cm4gdGhpcy5fdmFsdWVUb0l0ZW0oZCl9LHRoaXMpfX07UG9seW1lci5Jcm9uTXVsdGlTZWxlY3RhYmxlQmVoYXZpb3I9W1BvbHltZXIuSXJvblNlbGVjdGFibGVCZWhhdmlvcixQb2x5bWVyLklyb25NdWx0aVNlbGVjdGFibGVCZWhhdmlvckltcGxdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tbWVudS1iZWhhdmlvci9pcm9uLW1lbnUtYmVoYXZpb3IuaHRtbC5qcwpQb2x5bWVyLklyb25NZW51QmVoYXZpb3JJbXBsPXtwcm9wZXJ0aWVzOntmb2N1c2VkSXRlbTp7b2JzZXJ2ZXI6Il9mb2N1c2VkSXRlbUNoYW5nZWQiLHJlYWRPbmx5OiEwLHR5cGU6T2JqZWN0fSxhdHRyRm9ySXRlbVRpdGxlOnt0eXBlOlN0cmluZ30sZGlzYWJsZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxvYnNlcnZlcjoiX2Rpc2FibGVkQ2hhbmdlZCJ9fSxfTU9ESUZJRVJfS0VZUzoiQWx0IEFsdEdyYXBoIENhcHNMb2NrIENvbnRyb2wgRm4gRm5Mb2NrIEh5cGVyIE1ldGEgTnVtTG9jayBPUyBTY3JvbGxMb2NrIFNoaWZ0IFN1cGVyIFN5bWJvbCBTeW1ib2xMb2NrIi5zcGxpdCgiICIpLF9TRUFSQ0hfUkVTRVRfVElNRU9VVF9NUzoxRTMsX3ByZXZpb3VzVGFiSW5kZXg6MCxob3N0QXR0cmlidXRlczp7cm9sZToibWVudSJ9LG9ic2VydmVyczpbIl91cGRhdGVNdWx0aXNlbGVjdGFibGUobXVsdGkpIl0sbGlzdGVuZXJzOntmb2N1czoiX29uRm9jdXMiLGtleWRvd246Il9vbktleWRvd24iLAoiaXJvbi1pdGVtcy1jaGFuZ2VkIjoiX29uSXJvbkl0ZW1zQ2hhbmdlZCJ9LGtleUJpbmRpbmdzOnt1cDoiX29uVXBLZXkiLGRvd246Il9vbkRvd25LZXkiLGVzYzoiX29uRXNjS2V5Iiwic2hpZnQrdGFiOmtleWRvd24iOiJfb25TaGlmdFRhYkRvd24ifSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX3Jlc2V0VGFiaW5kaWNlcygpfSxzZWxlY3Q6ZnVuY3Rpb24oYil7dGhpcy5fZGVmYXVsdEZvY3VzQXN5bmMmJih0aGlzLmNhbmNlbEFzeW5jKHRoaXMuX2RlZmF1bHRGb2N1c0FzeW5jKSx0aGlzLl9kZWZhdWx0Rm9jdXNBc3luYz1udWxsKTt2YXIgZD10aGlzLl92YWx1ZVRvSXRlbShiKTtkJiZkLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKXx8KHRoaXMuX3NldEZvY3VzZWRJdGVtKGQpLFBvbHltZXIuSXJvbk11bHRpU2VsZWN0YWJsZUJlaGF2aW9ySW1wbC5zZWxlY3QuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sX3Jlc2V0VGFiaW5kaWNlczpmdW5jdGlvbigpe3ZhciBiPXRoaXMubXVsdGk/CnRoaXMuc2VsZWN0ZWRJdGVtcyYmdGhpcy5zZWxlY3RlZEl0ZW1zWzBdOnRoaXMuc2VsZWN0ZWRJdGVtO3RoaXMuaXRlbXMuZm9yRWFjaChmdW5jdGlvbihkKXtkLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLGQ9PT1iPyIwIjoiLTEiKX0sdGhpcyl9LF91cGRhdGVNdWx0aXNlbGVjdGFibGU6ZnVuY3Rpb24oYil7Yj90aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1tdWx0aXNlbGVjdGFibGUiLCJ0cnVlIik6dGhpcy5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtbXVsdGlzZWxlY3RhYmxlIil9LF9mb2N1c1dpdGhLZXlib2FyZEV2ZW50OmZ1bmN0aW9uKGIpe2lmKC0xPT09dGhpcy5fTU9ESUZJRVJfS0VZUy5pbmRleE9mKGIua2V5KSl7dGhpcy5jYW5jZWxEZWJvdW5jZXIoIl9jbGVhclNlYXJjaFRleHQiKTt2YXIgZD10aGlzLl9zZWFyY2hUZXh0fHwiIjtkKz0oYi5rZXkmJjE9PWIua2V5Lmxlbmd0aD9iLmtleTpTdHJpbmcuZnJvbUNoYXJDb2RlKGIua2V5Q29kZSkpLnRvTG9jYWxlTG93ZXJDYXNlKCk7CmI9ZC5sZW5ndGg7Zm9yKHZhciBmPTAsaDtoPXRoaXMuaXRlbXNbZl07ZisrKWlmKCFoLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKSl7dmFyIGs9dGhpcy5hdHRyRm9ySXRlbVRpdGxlfHwidGV4dENvbnRlbnQiO2s9KGhba118fGguZ2V0QXR0cmlidXRlKGspfHwiIikudHJpbSgpO2lmKCEoay5sZW5ndGg8YikmJmsuc2xpY2UoMCxiKS50b0xvY2FsZUxvd2VyQ2FzZSgpPT1kKXt0aGlzLl9zZXRGb2N1c2VkSXRlbShoKTticmVha319dGhpcy5fc2VhcmNoVGV4dD1kO3RoaXMuZGVib3VuY2UoIl9jbGVhclNlYXJjaFRleHQiLHRoaXMuX2NsZWFyU2VhcmNoVGV4dCx0aGlzLl9TRUFSQ0hfUkVTRVRfVElNRU9VVF9NUyl9fSxfY2xlYXJTZWFyY2hUZXh0OmZ1bmN0aW9uKCl7dGhpcy5fc2VhcmNoVGV4dD0iIn0sX2ZvY3VzUHJldmlvdXM6ZnVuY3Rpb24oKXtmb3IodmFyIGI9dGhpcy5pdGVtcy5sZW5ndGgsZD1OdW1iZXIodGhpcy5pbmRleE9mKHRoaXMuZm9jdXNlZEl0ZW0pKSxmPTE7ZjwKYisxO2YrKyl7dmFyIGg9dGhpcy5pdGVtc1soZC1mK2IpJWJdO2lmKCFoLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKSl7dmFyIGs9UG9seW1lci5kb20oaCkuZ2V0T3duZXJSb290KCl8fGRvY3VtZW50O3RoaXMuX3NldEZvY3VzZWRJdGVtKGgpO2lmKFBvbHltZXIuZG9tKGspLmFjdGl2ZUVsZW1lbnQ9PWgpYnJlYWt9fX0sX2ZvY3VzTmV4dDpmdW5jdGlvbigpe2Zvcih2YXIgYj10aGlzLml0ZW1zLmxlbmd0aCxkPU51bWJlcih0aGlzLmluZGV4T2YodGhpcy5mb2N1c2VkSXRlbSkpLGY9MTtmPGIrMTtmKyspe3ZhciBoPXRoaXMuaXRlbXNbKGQrZiklYl07aWYoIWguaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpKXt2YXIgaz1Qb2x5bWVyLmRvbShoKS5nZXRPd25lclJvb3QoKXx8ZG9jdW1lbnQ7dGhpcy5fc2V0Rm9jdXNlZEl0ZW0oaCk7aWYoUG9seW1lci5kb20oaykuYWN0aXZlRWxlbWVudD09aClicmVha319fSxfYXBwbHlTZWxlY3Rpb246ZnVuY3Rpb24oYixkKXtkP2Iuc2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVkIiwKInRydWUiKTpiLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIpO1BvbHltZXIuSXJvblNlbGVjdGFibGVCZWhhdmlvci5fYXBwbHlTZWxlY3Rpb24uYXBwbHkodGhpcyxhcmd1bWVudHMpfSxfZm9jdXNlZEl0ZW1DaGFuZ2VkOmZ1bmN0aW9uKGIsZCl7ZCYmZC5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiLTEiKTshYnx8Yi5oYXNBdHRyaWJ1dGUoImRpc2FibGVkIil8fHRoaXMuZGlzYWJsZWR8fChiLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCIwIiksYi5mb2N1cygpKX0sX29uSXJvbkl0ZW1zQ2hhbmdlZDpmdW5jdGlvbihiKXtiLmRldGFpbC5hZGRlZE5vZGVzLmxlbmd0aCYmdGhpcy5fcmVzZXRUYWJpbmRpY2VzKCl9LF9vblNoaWZ0VGFiRG93bjpmdW5jdGlvbigpe3ZhciBiPXRoaXMuZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpO1BvbHltZXIuSXJvbk1lbnVCZWhhdmlvckltcGwuX3NoaWZ0VGFiUHJlc3NlZD0hMDt0aGlzLl9zZXRGb2N1c2VkSXRlbShudWxsKTt0aGlzLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLAoiLTEiKTt0aGlzLmFzeW5jKGZ1bmN0aW9uKCl7dGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IixiKTtQb2x5bWVyLklyb25NZW51QmVoYXZpb3JJbXBsLl9zaGlmdFRhYlByZXNzZWQ9ITF9LDEpfSxfb25Gb2N1czpmdW5jdGlvbihiKXshUG9seW1lci5Jcm9uTWVudUJlaGF2aW9ySW1wbC5fc2hpZnRUYWJQcmVzc2VkJiYoYj1Qb2x5bWVyLmRvbShiKS5yb290VGFyZ2V0LGI9PT10aGlzfHwidW5kZWZpbmVkIj09PXR5cGVvZiBiLnRhYkluZGV4fHx0aGlzLmlzTGlnaHREZXNjZW5kYW50KGIpKSYmKHRoaXMuX2RlZmF1bHRGb2N1c0FzeW5jPXRoaXMuYXN5bmMoZnVuY3Rpb24oKXt2YXIgZD10aGlzLm11bHRpP3RoaXMuc2VsZWN0ZWRJdGVtcyYmdGhpcy5zZWxlY3RlZEl0ZW1zWzBdOnRoaXMuc2VsZWN0ZWRJdGVtO3RoaXMuX3NldEZvY3VzZWRJdGVtKG51bGwpO2Q/dGhpcy5fc2V0Rm9jdXNlZEl0ZW0oZCk6dGhpcy5pdGVtc1swXSYmdGhpcy5fZm9jdXNOZXh0KCl9KSl9LF9vblVwS2V5OmZ1bmN0aW9uKGIpe3RoaXMuX2ZvY3VzUHJldmlvdXMoKTsKYi5kZXRhaWwua2V5Ym9hcmRFdmVudC5wcmV2ZW50RGVmYXVsdCgpfSxfb25Eb3duS2V5OmZ1bmN0aW9uKGIpe3RoaXMuX2ZvY3VzTmV4dCgpO2IuZGV0YWlsLmtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKX0sX29uRXNjS2V5OmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5mb2N1c2VkSXRlbTtiJiZiLmJsdXIoKX0sX29uS2V5ZG93bjpmdW5jdGlvbihiKXt0aGlzLmtleWJvYXJkRXZlbnRNYXRjaGVzS2V5cyhiLCJ1cCBkb3duIGVzYyIpfHx0aGlzLl9mb2N1c1dpdGhLZXlib2FyZEV2ZW50KGIpO2Iuc3RvcFByb3BhZ2F0aW9uKCl9LF9hY3RpdmF0ZUhhbmRsZXI6ZnVuY3Rpb24oYil7UG9seW1lci5Jcm9uU2VsZWN0YWJsZUJlaGF2aW9yLl9hY3RpdmF0ZUhhbmRsZXIuY2FsbCh0aGlzLGIpO2Iuc3RvcFByb3BhZ2F0aW9uKCl9LF9kaXNhYmxlZENoYW5nZWQ6ZnVuY3Rpb24oYil7Yj8odGhpcy5fcHJldmlvdXNUYWJJbmRleD10aGlzLmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKT90aGlzLnRhYkluZGV4OgowLHRoaXMucmVtb3ZlQXR0cmlidXRlKCJ0YWJpbmRleCIpKTp0aGlzLmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKXx8dGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4Iix0aGlzLl9wcmV2aW91c1RhYkluZGV4KX19O1BvbHltZXIuSXJvbk1lbnVCZWhhdmlvckltcGwuX3NoaWZ0VGFiUHJlc3NlZD0hMTtQb2x5bWVyLklyb25NZW51QmVoYXZpb3I9W1BvbHltZXIuSXJvbk11bHRpU2VsZWN0YWJsZUJlaGF2aW9yLFBvbHltZXIuSXJvbkExMXlLZXlzQmVoYXZpb3IsUG9seW1lci5Jcm9uTWVudUJlaGF2aW9ySW1wbF07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItaXRlbS9wYXBlci1pdGVtLWJlaGF2aW9yLmh0bWwuanMKUG9seW1lci5QYXBlckl0ZW1CZWhhdmlvckltcGw9e2hvc3RBdHRyaWJ1dGVzOntyb2xlOiJvcHRpb24iLHRhYmluZGV4OiIwIn19O1BvbHltZXIuUGFwZXJJdGVtQmVoYXZpb3I9W1BvbHltZXIuSXJvbkJ1dHRvblN0YXRlLFBvbHltZXIuSXJvbkNvbnRyb2xTdGF0ZSxQb2x5bWVyLlBhcGVySXRlbUJlaGF2aW9ySW1wbF07CgovKgoKIExvZGFzaCA8aHR0cHM6Ly9sb2Rhc2guY29tLz4KIENvcHlyaWdodCBKUyBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMgPGh0dHBzOi8vanMuZm91bmRhdGlvbi8+CiBSZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZSA8aHR0cHM6Ly9sb2Rhc2guY29tL2xpY2Vuc2U+CiBCYXNlZCBvbiBVbmRlcnNjb3JlLmpzIDEuOC4zIDxodHRwOi8vdW5kZXJzY29yZWpzLm9yZy9MSUNFTlNFPgogQ29weXJpZ2h0IEplcmVteSBBc2hrZW5hcywgRG9jdW1lbnRDbG91ZCBhbmQgSW52ZXN0aWdhdGl2ZSBSZXBvcnRlcnMgJiBFZGl0b3JzCiovCihmdW5jdGlvbigpe3ZhciB1bmRlZmluZWQ7dmFyIFZFUlNJT049IjQuMTcuNSI7dmFyIExBUkdFX0FSUkFZX1NJWkU9MjAwO3ZhciBDT1JFX0VSUk9SX1RFWFQ9IlVuc3VwcG9ydGVkIGNvcmUtanMgdXNlLiBUcnkgaHR0cHM6Ly9ucG1zLmlvL3NlYXJjaD9xXHgzZHBvbnlmaWxsLiIsRlVOQ19FUlJPUl9URVhUPSJFeHBlY3RlZCBhIGZ1bmN0aW9uIjt2YXIgSEFTSF9VTkRFRklORUQ9Il9fbG9kYXNoX2hhc2hfdW5kZWZpbmVkX18iO3ZhciBNQVhfTUVNT0laRV9TSVpFPTUwMDt2YXIgUExBQ0VIT0xERVI9Il9fbG9kYXNoX3BsYWNlaG9sZGVyX18iO3ZhciBDTE9ORV9ERUVQX0ZMQUc9MSxDTE9ORV9GTEFUX0ZMQUc9MixDTE9ORV9TWU1CT0xTX0ZMQUc9NDt2YXIgQ09NUEFSRV9QQVJUSUFMX0ZMQUc9MSxDT01QQVJFX1VOT1JERVJFRF9GTEFHPTI7dmFyIFdSQVBfQklORF9GTEFHPTEsV1JBUF9CSU5EX0tFWV9GTEFHPTIsV1JBUF9DVVJSWV9CT1VORF9GTEFHPTQsV1JBUF9DVVJSWV9GTEFHPQo4LFdSQVBfQ1VSUllfUklHSFRfRkxBRz0xNixXUkFQX1BBUlRJQUxfRkxBRz0zMixXUkFQX1BBUlRJQUxfUklHSFRfRkxBRz02NCxXUkFQX0FSWV9GTEFHPTEyOCxXUkFQX1JFQVJHX0ZMQUc9MjU2LFdSQVBfRkxJUF9GTEFHPTUxMjt2YXIgREVGQVVMVF9UUlVOQ19MRU5HVEg9MzAsREVGQVVMVF9UUlVOQ19PTUlTU0lPTj0iLi4uIjt2YXIgSE9UX0NPVU5UPTgwMCxIT1RfU1BBTj0xNjt2YXIgTEFaWV9GSUxURVJfRkxBRz0xLExBWllfTUFQX0ZMQUc9MixMQVpZX1dISUxFX0ZMQUc9Mzt2YXIgSU5GSU5JVFk9MS8wLE1BWF9TQUZFX0lOVEVHRVI9OTAwNzE5OTI1NDc0MDk5MSxNQVhfSU5URUdFUj0xLjc5NzY5MzEzNDg2MjMxNTdFMzA4LE5BTj0wLzA7dmFyIE1BWF9BUlJBWV9MRU5HVEg9NDI5NDk2NzI5NSxNQVhfQVJSQVlfSU5ERVg9TUFYX0FSUkFZX0xFTkdUSC0xLEhBTEZfTUFYX0FSUkFZX0xFTkdUSD1NQVhfQVJSQVlfTEVOR1RIPj4+MTt2YXIgd3JhcEZsYWdzPVtbImFyeSIsCldSQVBfQVJZX0ZMQUddLFsiYmluZCIsV1JBUF9CSU5EX0ZMQUddLFsiYmluZEtleSIsV1JBUF9CSU5EX0tFWV9GTEFHXSxbImN1cnJ5IixXUkFQX0NVUlJZX0ZMQUddLFsiY3VycnlSaWdodCIsV1JBUF9DVVJSWV9SSUdIVF9GTEFHXSxbImZsaXAiLFdSQVBfRkxJUF9GTEFHXSxbInBhcnRpYWwiLFdSQVBfUEFSVElBTF9GTEFHXSxbInBhcnRpYWxSaWdodCIsV1JBUF9QQVJUSUFMX1JJR0hUX0ZMQUddLFsicmVhcmciLFdSQVBfUkVBUkdfRkxBR11dO3ZhciBhcmdzVGFnPSJbb2JqZWN0IEFyZ3VtZW50c10iLGFycmF5VGFnPSJbb2JqZWN0IEFycmF5XSIsYXN5bmNUYWc9IltvYmplY3QgQXN5bmNGdW5jdGlvbl0iLGJvb2xUYWc9IltvYmplY3QgQm9vbGVhbl0iLGRhdGVUYWc9IltvYmplY3QgRGF0ZV0iLGRvbUV4Y1RhZz0iW29iamVjdCBET01FeGNlcHRpb25dIixlcnJvclRhZz0iW29iamVjdCBFcnJvcl0iLGZ1bmNUYWc9IltvYmplY3QgRnVuY3Rpb25dIixnZW5UYWc9IltvYmplY3QgR2VuZXJhdG9yRnVuY3Rpb25dIiwKbWFwVGFnPSJbb2JqZWN0IE1hcF0iLG51bWJlclRhZz0iW29iamVjdCBOdW1iZXJdIixudWxsVGFnPSJbb2JqZWN0IE51bGxdIixvYmplY3RUYWc9IltvYmplY3QgT2JqZWN0XSIscHJvbWlzZVRhZz0iW29iamVjdCBQcm9taXNlXSIscHJveHlUYWc9IltvYmplY3QgUHJveHldIixyZWdleHBUYWc9IltvYmplY3QgUmVnRXhwXSIsc2V0VGFnPSJbb2JqZWN0IFNldF0iLHN0cmluZ1RhZz0iW29iamVjdCBTdHJpbmddIixzeW1ib2xUYWc9IltvYmplY3QgU3ltYm9sXSIsdW5kZWZpbmVkVGFnPSJbb2JqZWN0IFVuZGVmaW5lZF0iLHdlYWtNYXBUYWc9IltvYmplY3QgV2Vha01hcF0iLHdlYWtTZXRUYWc9IltvYmplY3QgV2Vha1NldF0iO3ZhciBhcnJheUJ1ZmZlclRhZz0iW29iamVjdCBBcnJheUJ1ZmZlcl0iLGRhdGFWaWV3VGFnPSJbb2JqZWN0IERhdGFWaWV3XSIsZmxvYXQzMlRhZz0iW29iamVjdCBGbG9hdDMyQXJyYXldIixmbG9hdDY0VGFnPSJbb2JqZWN0IEZsb2F0NjRBcnJheV0iLAppbnQ4VGFnPSJbb2JqZWN0IEludDhBcnJheV0iLGludDE2VGFnPSJbb2JqZWN0IEludDE2QXJyYXldIixpbnQzMlRhZz0iW29iamVjdCBJbnQzMkFycmF5XSIsdWludDhUYWc9IltvYmplY3QgVWludDhBcnJheV0iLHVpbnQ4Q2xhbXBlZFRhZz0iW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iLHVpbnQxNlRhZz0iW29iamVjdCBVaW50MTZBcnJheV0iLHVpbnQzMlRhZz0iW29iamVjdCBVaW50MzJBcnJheV0iO3ZhciByZUVtcHR5U3RyaW5nTGVhZGluZz0vXGJfX3AgXCs9ICcnOy9nLHJlRW1wdHlTdHJpbmdNaWRkbGU9L1xiKF9fcCBcKz0pICcnIFwrL2cscmVFbXB0eVN0cmluZ1RyYWlsaW5nPS8oX19lXCguKj9cKXxcYl9fdFwpKSBcK1xuJyc7L2c7dmFyIHJlRXNjYXBlZEh0bWw9LyYoPzphbXB8bHR8Z3R8cXVvdHwjMzkpOy9nLHJlVW5lc2NhcGVkSHRtbD0vWyY8PiInXS9nLHJlSGFzRXNjYXBlZEh0bWw9UmVnRXhwKHJlRXNjYXBlZEh0bWwuc291cmNlKSxyZUhhc1VuZXNjYXBlZEh0bWw9ClJlZ0V4cChyZVVuZXNjYXBlZEh0bWwuc291cmNlKTt2YXIgcmVFc2NhcGU9LzwlLShbXHNcU10rPyklPi9nLHJlRXZhbHVhdGU9LzwlKFtcc1xTXSs/KSU+L2cscmVJbnRlcnBvbGF0ZT0vPCU9KFtcc1xTXSs/KSU+L2c7dmFyIHJlSXNEZWVwUHJvcD0vXC58XFsoPzpbXltcXV0qfChbIiddKSg/Oig/IVwxKVteXFxdfFxcLikqP1wxKVxdLyxyZUlzUGxhaW5Qcm9wPS9eXHcqJC8scmVQcm9wTmFtZT0vW14uW1xdXSt8XFsoPzooLT9cZCsoPzpcLlxkKyk/KXwoWyInXSkoKD86KD8hXDIpW15cXF18XFwuKSo/KVwyKVxdfCg/PSg/OlwufFxbXF0pKD86XC58XFtcXXwkKSkvZzt2YXIgcmVSZWdFeHBDaGFyPS9bXFxeJC4qKz8oKVtcXXt9fF0vZyxyZUhhc1JlZ0V4cENoYXI9UmVnRXhwKHJlUmVnRXhwQ2hhci5zb3VyY2UpO3ZhciByZVRyaW09L15ccyt8XHMrJC9nLHJlVHJpbVN0YXJ0PS9eXHMrLyxyZVRyaW1FbmQ9L1xzKyQvO3ZhciByZVdyYXBDb21tZW50PS9ceyg/OlxuXC9cKiBcW3dyYXBwZWQgd2l0aCAuK1xdIFwqXC8pP1xuPy8sCnJlV3JhcERldGFpbHM9L1x7XG5cL1wqIFxbd3JhcHBlZCB3aXRoICguKylcXSBcKi8scmVTcGxpdERldGFpbHM9Lyw/ICYgLzt2YXIgcmVBc2NpaVdvcmQ9L1teXHgwMC1ceDJmXHgzYS1ceDQwXHg1Yi1ceDYwXHg3Yi1ceDdmXSsvZzt2YXIgcmVFc2NhcGVDaGFyPS9cXChcXCk/L2c7dmFyIHJlRXNUZW1wbGF0ZT0vXCRceyhbXlxcfV0qKD86XFwuW15cXH1dKikqKVx9L2c7dmFyIHJlRmxhZ3M9L1x3KiQvO3ZhciByZUlzQmFkSGV4PS9eWy0rXTB4WzAtOWEtZl0rJC9pO3ZhciByZUlzQmluYXJ5PS9eMGJbMDFdKyQvaTt2YXIgcmVJc0hvc3RDdG9yPS9eXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXSQvO3ZhciByZUlzT2N0YWw9L14wb1swLTddKyQvaTt2YXIgcmVJc1VpbnQ9L14oPzowfFsxLTldXGQqKSQvO3ZhciByZUxhdGluPS9bXHhjMC1ceGQ2XHhkOC1ceGY2XHhmOC1ceGZmXHUwMTAwLVx1MDE3Zl0vZzt2YXIgcmVOb01hdGNoPS8oJF4pLzt2YXIgcmVVbmVzY2FwZWRTdHJpbmc9Ci9bJ1xuXHJcdTIwMjhcdTIwMjlcXF0vZzt2YXIgcnNBc3RyYWxSYW5nZT0iXFx1ZDgwMC1cXHVkZmZmIixyc0NvbWJvTWFya3NSYW5nZT0iXFx1MDMwMC1cXHUwMzZmIixyZUNvbWJvSGFsZk1hcmtzUmFuZ2U9IlxcdWZlMjAtXFx1ZmUyZiIscnNDb21ib1N5bWJvbHNSYW5nZT0iXFx1MjBkMC1cXHUyMGZmIixyc0NvbWJvUmFuZ2U9cnNDb21ib01hcmtzUmFuZ2UrcmVDb21ib0hhbGZNYXJrc1JhbmdlK3JzQ29tYm9TeW1ib2xzUmFuZ2UscnNEaW5nYmF0UmFuZ2U9IlxcdTI3MDAtXFx1MjdiZiIscnNMb3dlclJhbmdlPSJhLXpcXHhkZi1cXHhmNlxceGY4LVxceGZmIixyc01hdGhPcFJhbmdlPSJcXHhhY1xceGIxXFx4ZDdcXHhmNyIscnNOb25DaGFyUmFuZ2U9IlxceDAwLVxceDJmXFx4M2EtXFx4NDBcXHg1Yi1cXHg2MFxceDdiLVxceGJmIixyc1B1bmN0dWF0aW9uUmFuZ2U9IlxcdTIwMDAtXFx1MjA2ZiIscnNTcGFjZVJhbmdlPSIgXFx0XFx4MGJcXGZcXHhhMFxcdWZlZmZcXG5cXHJcXHUyMDI4XFx1MjAyOVxcdTE2ODBcXHUxODBlXFx1MjAwMFxcdTIwMDFcXHUyMDAyXFx1MjAwM1xcdTIwMDRcXHUyMDA1XFx1MjAwNlxcdTIwMDdcXHUyMDA4XFx1MjAwOVxcdTIwMGFcXHUyMDJmXFx1MjA1ZlxcdTMwMDAiLApyc1VwcGVyUmFuZ2U9IkEtWlxceGMwLVxceGQ2XFx4ZDgtXFx4ZGUiLHJzVmFyUmFuZ2U9IlxcdWZlMGVcXHVmZTBmIixyc0JyZWFrUmFuZ2U9cnNNYXRoT3BSYW5nZStyc05vbkNoYXJSYW5nZStyc1B1bmN0dWF0aW9uUmFuZ2UrcnNTcGFjZVJhbmdlO3ZhciByc0Fwb3M9IlsnXHUyMDE5XSIscnNBc3RyYWw9IlsiK3JzQXN0cmFsUmFuZ2UrIl0iLHJzQnJlYWs9IlsiK3JzQnJlYWtSYW5nZSsiXSIscnNDb21ibz0iWyIrcnNDb21ib1JhbmdlKyJdIixyc0RpZ2l0cz0iXFxkKyIscnNEaW5nYmF0PSJbIityc0RpbmdiYXRSYW5nZSsiXSIscnNMb3dlcj0iWyIrcnNMb3dlclJhbmdlKyJdIixyc01pc2M9IlteIityc0FzdHJhbFJhbmdlK3JzQnJlYWtSYW5nZStyc0RpZ2l0cytyc0RpbmdiYXRSYW5nZStyc0xvd2VyUmFuZ2UrcnNVcHBlclJhbmdlKyJdIixyc0ZpdHo9IlxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZmXSIscnNNb2RpZmllcj0iKD86Iityc0NvbWJvKyJ8Iityc0ZpdHorIikiLHJzTm9uQXN0cmFsPQoiW14iK3JzQXN0cmFsUmFuZ2UrIl0iLHJzUmVnaW9uYWw9Iig/OlxcdWQ4M2NbXFx1ZGRlNi1cXHVkZGZmXSl7Mn0iLHJzU3VyclBhaXI9IltcXHVkODAwLVxcdWRiZmZdW1xcdWRjMDAtXFx1ZGZmZl0iLHJzVXBwZXI9IlsiK3JzVXBwZXJSYW5nZSsiXSIscnNaV0o9IlxcdTIwMGQiO3ZhciByc01pc2NMb3dlcj0iKD86Iityc0xvd2VyKyJ8Iityc01pc2MrIikiLHJzTWlzY1VwcGVyPSIoPzoiK3JzVXBwZXIrInwiK3JzTWlzYysiKSIscnNPcHRDb250ckxvd2VyPSIoPzoiK3JzQXBvcysiKD86ZHxsbHxtfHJlfHN8dHx2ZSkpPyIscnNPcHRDb250clVwcGVyPSIoPzoiK3JzQXBvcysiKD86RHxMTHxNfFJFfFN8VHxWRSkpPyIscmVPcHRNb2Q9cnNNb2RpZmllcisiPyIscnNPcHRWYXI9IlsiK3JzVmFyUmFuZ2UrIl0/Iixyc09wdEpvaW49Iig/OiIrcnNaV0orIig/OiIrW3JzTm9uQXN0cmFsLHJzUmVnaW9uYWwscnNTdXJyUGFpcl0uam9pbigifCIpKyIpIityc09wdFZhcityZU9wdE1vZCsKIikqIixyc09yZExvd2VyPSJcXGQqKD86MXN0fDJuZHwzcmR8KD8hWzEyM10pXFxkdGgpKD9ceDNkXFxifFtBLVpfXSkiLHJzT3JkVXBwZXI9IlxcZCooPzoxU1R8Mk5EfDNSRHwoPyFbMTIzXSlcXGRUSCkoP1x4M2RcXGJ8W2Etel9dKSIscnNTZXE9cnNPcHRWYXIrcmVPcHRNb2QrcnNPcHRKb2luLHJzRW1vamk9Iig/OiIrW3JzRGluZ2JhdCxyc1JlZ2lvbmFsLHJzU3VyclBhaXJdLmpvaW4oInwiKSsiKSIrcnNTZXEscnNTeW1ib2w9Iig/OiIrW3JzTm9uQXN0cmFsK3JzQ29tYm8rIj8iLHJzQ29tYm8scnNSZWdpb25hbCxyc1N1cnJQYWlyLHJzQXN0cmFsXS5qb2luKCJ8IikrIikiO3ZhciByZUFwb3M9UmVnRXhwKHJzQXBvcywiZyIpO3ZhciByZUNvbWJvTWFyaz1SZWdFeHAocnNDb21ibywiZyIpO3ZhciByZVVuaWNvZGU9UmVnRXhwKHJzRml0eisiKD9ceDNkIityc0ZpdHorIil8Iityc1N5bWJvbCtyc1NlcSwiZyIpO3ZhciByZVVuaWNvZGVXb3JkPVJlZ0V4cChbcnNVcHBlcisiPyIrCnJzTG93ZXIrIisiK3JzT3B0Q29udHJMb3dlcisiKD9ceDNkIitbcnNCcmVhayxyc1VwcGVyLCIkIl0uam9pbigifCIpKyIpIixyc01pc2NVcHBlcisiKyIrcnNPcHRDb250clVwcGVyKyIoP1x4M2QiK1tyc0JyZWFrLHJzVXBwZXIrcnNNaXNjTG93ZXIsIiQiXS5qb2luKCJ8IikrIikiLHJzVXBwZXIrIj8iK3JzTWlzY0xvd2VyKyIrIityc09wdENvbnRyTG93ZXIscnNVcHBlcisiKyIrcnNPcHRDb250clVwcGVyLHJzT3JkVXBwZXIscnNPcmRMb3dlcixyc0RpZ2l0cyxyc0Vtb2ppXS5qb2luKCJ8IiksImciKTt2YXIgcmVIYXNVbmljb2RlPVJlZ0V4cCgiWyIrcnNaV0orcnNBc3RyYWxSYW5nZStyc0NvbWJvUmFuZ2UrcnNWYXJSYW5nZSsiXSIpO3ZhciByZUhhc1VuaWNvZGVXb3JkPS9bYS16XVtBLVpdfFtBLVpdezIsfVthLXpdfFswLTldW2EtekEtWl18W2EtekEtWl1bMC05XXxbXmEtekEtWjAtOSBdLzt2YXIgY29udGV4dFByb3BzPVsiQXJyYXkiLCJCdWZmZXIiLCJEYXRhVmlldyIsCiJEYXRlIiwiRXJyb3IiLCJGbG9hdDMyQXJyYXkiLCJGbG9hdDY0QXJyYXkiLCJGdW5jdGlvbiIsIkludDhBcnJheSIsIkludDE2QXJyYXkiLCJJbnQzMkFycmF5IiwiTWFwIiwiTWF0aCIsIk9iamVjdCIsIlByb21pc2UiLCJSZWdFeHAiLCJTZXQiLCJTdHJpbmciLCJTeW1ib2wiLCJUeXBlRXJyb3IiLCJVaW50OEFycmF5IiwiVWludDhDbGFtcGVkQXJyYXkiLCJVaW50MTZBcnJheSIsIlVpbnQzMkFycmF5IiwiV2Vha01hcCIsIl8iLCJjbGVhclRpbWVvdXQiLCJpc0Zpbml0ZSIsInBhcnNlSW50Iiwic2V0VGltZW91dCJdO3ZhciB0ZW1wbGF0ZUNvdW50ZXI9LTE7dmFyIHR5cGVkQXJyYXlUYWdzPXt9O3R5cGVkQXJyYXlUYWdzW2Zsb2F0MzJUYWddPXR5cGVkQXJyYXlUYWdzW2Zsb2F0NjRUYWddPXR5cGVkQXJyYXlUYWdzW2ludDhUYWddPXR5cGVkQXJyYXlUYWdzW2ludDE2VGFnXT10eXBlZEFycmF5VGFnc1tpbnQzMlRhZ109dHlwZWRBcnJheVRhZ3NbdWludDhUYWddPXR5cGVkQXJyYXlUYWdzW3VpbnQ4Q2xhbXBlZFRhZ109CnR5cGVkQXJyYXlUYWdzW3VpbnQxNlRhZ109dHlwZWRBcnJheVRhZ3NbdWludDMyVGFnXT10cnVlO3R5cGVkQXJyYXlUYWdzW2FyZ3NUYWddPXR5cGVkQXJyYXlUYWdzW2FycmF5VGFnXT10eXBlZEFycmF5VGFnc1thcnJheUJ1ZmZlclRhZ109dHlwZWRBcnJheVRhZ3NbYm9vbFRhZ109dHlwZWRBcnJheVRhZ3NbZGF0YVZpZXdUYWddPXR5cGVkQXJyYXlUYWdzW2RhdGVUYWddPXR5cGVkQXJyYXlUYWdzW2Vycm9yVGFnXT10eXBlZEFycmF5VGFnc1tmdW5jVGFnXT10eXBlZEFycmF5VGFnc1ttYXBUYWddPXR5cGVkQXJyYXlUYWdzW251bWJlclRhZ109dHlwZWRBcnJheVRhZ3Nbb2JqZWN0VGFnXT10eXBlZEFycmF5VGFnc1tyZWdleHBUYWddPXR5cGVkQXJyYXlUYWdzW3NldFRhZ109dHlwZWRBcnJheVRhZ3Nbc3RyaW5nVGFnXT10eXBlZEFycmF5VGFnc1t3ZWFrTWFwVGFnXT1mYWxzZTt2YXIgY2xvbmVhYmxlVGFncz17fTtjbG9uZWFibGVUYWdzW2FyZ3NUYWddPWNsb25lYWJsZVRhZ3NbYXJyYXlUYWddPQpjbG9uZWFibGVUYWdzW2FycmF5QnVmZmVyVGFnXT1jbG9uZWFibGVUYWdzW2RhdGFWaWV3VGFnXT1jbG9uZWFibGVUYWdzW2Jvb2xUYWddPWNsb25lYWJsZVRhZ3NbZGF0ZVRhZ109Y2xvbmVhYmxlVGFnc1tmbG9hdDMyVGFnXT1jbG9uZWFibGVUYWdzW2Zsb2F0NjRUYWddPWNsb25lYWJsZVRhZ3NbaW50OFRhZ109Y2xvbmVhYmxlVGFnc1tpbnQxNlRhZ109Y2xvbmVhYmxlVGFnc1tpbnQzMlRhZ109Y2xvbmVhYmxlVGFnc1ttYXBUYWddPWNsb25lYWJsZVRhZ3NbbnVtYmVyVGFnXT1jbG9uZWFibGVUYWdzW29iamVjdFRhZ109Y2xvbmVhYmxlVGFnc1tyZWdleHBUYWddPWNsb25lYWJsZVRhZ3Nbc2V0VGFnXT1jbG9uZWFibGVUYWdzW3N0cmluZ1RhZ109Y2xvbmVhYmxlVGFnc1tzeW1ib2xUYWddPWNsb25lYWJsZVRhZ3NbdWludDhUYWddPWNsb25lYWJsZVRhZ3NbdWludDhDbGFtcGVkVGFnXT1jbG9uZWFibGVUYWdzW3VpbnQxNlRhZ109Y2xvbmVhYmxlVGFnc1t1aW50MzJUYWddPXRydWU7CmNsb25lYWJsZVRhZ3NbZXJyb3JUYWddPWNsb25lYWJsZVRhZ3NbZnVuY1RhZ109Y2xvbmVhYmxlVGFnc1t3ZWFrTWFwVGFnXT1mYWxzZTt2YXIgZGVidXJyZWRMZXR0ZXJzPXsiXHUwMGMwIjoiQSIsIlx1MDBjMSI6IkEiLCJcdTAwYzIiOiJBIiwiXHUwMGMzIjoiQSIsIlx1MDBjNCI6IkEiLCJcdTAwYzUiOiJBIiwiXHUwMGUwIjoiYSIsIlx1MDBlMSI6ImEiLCJcdTAwZTIiOiJhIiwiXHUwMGUzIjoiYSIsIlx1MDBlNCI6ImEiLCJcdTAwZTUiOiJhIiwiXHUwMGM3IjoiQyIsIlx1MDBlNyI6ImMiLCJcdTAwZDAiOiJEIiwiXHUwMGYwIjoiZCIsIlx1MDBjOCI6IkUiLCJcdTAwYzkiOiJFIiwiXHUwMGNhIjoiRSIsIlx1MDBjYiI6IkUiLCJcdTAwZTgiOiJlIiwiXHUwMGU5IjoiZSIsIlx1MDBlYSI6ImUiLCJcdTAwZWIiOiJlIiwiXHUwMGNjIjoiSSIsIlx1MDBjZCI6IkkiLCJcdTAwY2UiOiJJIiwiXHUwMGNmIjoiSSIsIlx1MDBlYyI6ImkiLCJcdTAwZWQiOiJpIiwiXHUwMGVlIjoiaSIsCiJcdTAwZWYiOiJpIiwiXHUwMGQxIjoiTiIsIlx1MDBmMSI6Im4iLCJcdTAwZDIiOiJPIiwiXHUwMGQzIjoiTyIsIlx1MDBkNCI6Ik8iLCJcdTAwZDUiOiJPIiwiXHUwMGQ2IjoiTyIsIlx1MDBkOCI6Ik8iLCJcdTAwZjIiOiJvIiwiXHUwMGYzIjoibyIsIlx1MDBmNCI6Im8iLCJcdTAwZjUiOiJvIiwiXHUwMGY2IjoibyIsIlx1MDBmOCI6Im8iLCJcdTAwZDkiOiJVIiwiXHUwMGRhIjoiVSIsIlx1MDBkYiI6IlUiLCJcdTAwZGMiOiJVIiwiXHUwMGY5IjoidSIsIlx1MDBmYSI6InUiLCJcdTAwZmIiOiJ1IiwiXHUwMGZjIjoidSIsIlx1MDBkZCI6IlkiLCJcdTAwZmQiOiJ5IiwiXHUwMGZmIjoieSIsIlx1MDBjNiI6IkFlIiwiXHUwMGU2IjoiYWUiLCJcdTAwZGUiOiJUaCIsIlx1MDBmZSI6InRoIiwiXHUwMGRmIjoic3MiLCJcdTAxMDAiOiJBIiwiXHUwMTAyIjoiQSIsIlx1MDEwNCI6IkEiLCJcdTAxMDEiOiJhIiwiXHUwMTAzIjoiYSIsIlx1MDEwNSI6ImEiLCJcdTAxMDYiOiJDIiwiXHUwMTA4IjoiQyIsCiJcdTAxMGEiOiJDIiwiXHUwMTBjIjoiQyIsIlx1MDEwNyI6ImMiLCJcdTAxMDkiOiJjIiwiXHUwMTBiIjoiYyIsIlx1MDEwZCI6ImMiLCJcdTAxMGUiOiJEIiwiXHUwMTEwIjoiRCIsIlx1MDEwZiI6ImQiLCJcdTAxMTEiOiJkIiwiXHUwMTEyIjoiRSIsIlx1MDExNCI6IkUiLCJcdTAxMTYiOiJFIiwiXHUwMTE4IjoiRSIsIlx1MDExYSI6IkUiLCJcdTAxMTMiOiJlIiwiXHUwMTE1IjoiZSIsIlx1MDExNyI6ImUiLCJcdTAxMTkiOiJlIiwiXHUwMTFiIjoiZSIsIlx1MDExYyI6IkciLCJcdTAxMWUiOiJHIiwiXHUwMTIwIjoiRyIsIlx1MDEyMiI6IkciLCJcdTAxMWQiOiJnIiwiXHUwMTFmIjoiZyIsIlx1MDEyMSI6ImciLCJcdTAxMjMiOiJnIiwiXHUwMTI0IjoiSCIsIlx1MDEyNiI6IkgiLCJcdTAxMjUiOiJoIiwiXHUwMTI3IjoiaCIsIlx1MDEyOCI6IkkiLCJcdTAxMmEiOiJJIiwiXHUwMTJjIjoiSSIsIlx1MDEyZSI6IkkiLCJcdTAxMzAiOiJJIiwiXHUwMTI5IjoiaSIsIlx1MDEyYiI6ImkiLAoiXHUwMTJkIjoiaSIsIlx1MDEyZiI6ImkiLCJcdTAxMzEiOiJpIiwiXHUwMTM0IjoiSiIsIlx1MDEzNSI6ImoiLCJcdTAxMzYiOiJLIiwiXHUwMTM3IjoiayIsIlx1MDEzOCI6ImsiLCJcdTAxMzkiOiJMIiwiXHUwMTNiIjoiTCIsIlx1MDEzZCI6IkwiLCJcdTAxM2YiOiJMIiwiXHUwMTQxIjoiTCIsIlx1MDEzYSI6ImwiLCJcdTAxM2MiOiJsIiwiXHUwMTNlIjoibCIsIlx1MDE0MCI6ImwiLCJcdTAxNDIiOiJsIiwiXHUwMTQzIjoiTiIsIlx1MDE0NSI6Ik4iLCJcdTAxNDciOiJOIiwiXHUwMTRhIjoiTiIsIlx1MDE0NCI6Im4iLCJcdTAxNDYiOiJuIiwiXHUwMTQ4IjoibiIsIlx1MDE0YiI6Im4iLCJcdTAxNGMiOiJPIiwiXHUwMTRlIjoiTyIsIlx1MDE1MCI6Ik8iLCJcdTAxNGQiOiJvIiwiXHUwMTRmIjoibyIsIlx1MDE1MSI6Im8iLCJcdTAxNTQiOiJSIiwiXHUwMTU2IjoiUiIsIlx1MDE1OCI6IlIiLCJcdTAxNTUiOiJyIiwiXHUwMTU3IjoiciIsIlx1MDE1OSI6InIiLCJcdTAxNWEiOiJTIiwKIlx1MDE1YyI6IlMiLCJcdTAxNWUiOiJTIiwiXHUwMTYwIjoiUyIsIlx1MDE1YiI6InMiLCJcdTAxNWQiOiJzIiwiXHUwMTVmIjoicyIsIlx1MDE2MSI6InMiLCJcdTAxNjIiOiJUIiwiXHUwMTY0IjoiVCIsIlx1MDE2NiI6IlQiLCJcdTAxNjMiOiJ0IiwiXHUwMTY1IjoidCIsIlx1MDE2NyI6InQiLCJcdTAxNjgiOiJVIiwiXHUwMTZhIjoiVSIsIlx1MDE2YyI6IlUiLCJcdTAxNmUiOiJVIiwiXHUwMTcwIjoiVSIsIlx1MDE3MiI6IlUiLCJcdTAxNjkiOiJ1IiwiXHUwMTZiIjoidSIsIlx1MDE2ZCI6InUiLCJcdTAxNmYiOiJ1IiwiXHUwMTcxIjoidSIsIlx1MDE3MyI6InUiLCJcdTAxNzQiOiJXIiwiXHUwMTc1IjoidyIsIlx1MDE3NiI6IlkiLCJcdTAxNzciOiJ5IiwiXHUwMTc4IjoiWSIsIlx1MDE3OSI6IloiLCJcdTAxN2IiOiJaIiwiXHUwMTdkIjoiWiIsIlx1MDE3YSI6InoiLCJcdTAxN2MiOiJ6IiwiXHUwMTdlIjoieiIsIlx1MDEzMiI6IklKIiwiXHUwMTMzIjoiaWoiLCJcdTAxNTIiOiJPZSIsCiJcdTAxNTMiOiJvZSIsIlx1MDE0OSI6IiduIiwiXHUwMTdmIjoicyJ9O3ZhciBodG1sRXNjYXBlcz17Ilx4MjYiOiJceDI2YW1wOyIsIlx4M2MiOiJceDI2bHQ7IiwiXHgzZSI6Ilx4MjZndDsiLCciJzoiXHgyNnF1b3Q7IiwiJyI6Ilx4MjYjMzk7In07dmFyIGh0bWxVbmVzY2FwZXM9eyJceDI2YW1wOyI6Ilx4MjYiLCJceDI2bHQ7IjoiXHgzYyIsIlx4MjZndDsiOiJceDNlIiwiXHgyNnF1b3Q7IjonIicsIlx4MjYjMzk7IjoiJyJ9O3ZhciBzdHJpbmdFc2NhcGVzPXsiXFwiOiJcXCIsIiciOiInIiwiXG4iOiJuIiwiXHIiOiJyIiwiXHUyMDI4IjoidTIwMjgiLCJcdTIwMjkiOiJ1MjAyOSJ9O3ZhciBmcmVlUGFyc2VGbG9hdD1wYXJzZUZsb2F0LGZyZWVQYXJzZUludD1wYXJzZUludDt2YXIgZnJlZUdsb2JhbD10eXBlb2YgZ2xvYmFsPT0ib2JqZWN0IiYmZ2xvYmFsJiZnbG9iYWwuT2JqZWN0PT09T2JqZWN0JiZnbG9iYWw7dmFyIGZyZWVTZWxmPXR5cGVvZiBzZWxmPT0ib2JqZWN0IiYmCnNlbGYmJnNlbGYuT2JqZWN0PT09T2JqZWN0JiZzZWxmO3ZhciByb290PWZyZWVHbG9iYWx8fGZyZWVTZWxmfHxGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpO3ZhciBmcmVlRXhwb3J0cz10eXBlb2YgZXhwb3J0cz09Im9iamVjdCImJmV4cG9ydHMmJiFleHBvcnRzLm5vZGVUeXBlJiZleHBvcnRzO3ZhciBmcmVlTW9kdWxlPWZyZWVFeHBvcnRzJiZ0eXBlb2YgbW9kdWxlPT0ib2JqZWN0IiYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGU7dmFyIG1vZHVsZUV4cG9ydHM9ZnJlZU1vZHVsZSYmZnJlZU1vZHVsZS5leHBvcnRzPT09ZnJlZUV4cG9ydHM7dmFyIGZyZWVQcm9jZXNzPW1vZHVsZUV4cG9ydHMmJmZyZWVHbG9iYWwucHJvY2Vzczt2YXIgbm9kZVV0aWw9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGZyZWVQcm9jZXNzJiZmcmVlUHJvY2Vzcy5iaW5kaW5nJiZmcmVlUHJvY2Vzcy5iaW5kaW5nKCJ1dGlsIil9Y2F0Y2goZSl7fX0oKTt2YXIgbm9kZUlzQXJyYXlCdWZmZXI9bm9kZVV0aWwmJgpub2RlVXRpbC5pc0FycmF5QnVmZmVyLG5vZGVJc0RhdGU9bm9kZVV0aWwmJm5vZGVVdGlsLmlzRGF0ZSxub2RlSXNNYXA9bm9kZVV0aWwmJm5vZGVVdGlsLmlzTWFwLG5vZGVJc1JlZ0V4cD1ub2RlVXRpbCYmbm9kZVV0aWwuaXNSZWdFeHAsbm9kZUlzU2V0PW5vZGVVdGlsJiZub2RlVXRpbC5pc1NldCxub2RlSXNUeXBlZEFycmF5PW5vZGVVdGlsJiZub2RlVXRpbC5pc1R5cGVkQXJyYXk7ZnVuY3Rpb24gYXBwbHkoZnVuYyx0aGlzQXJnLGFyZ3Mpe3N3aXRjaChhcmdzLmxlbmd0aCl7Y2FzZSAwOnJldHVybiBmdW5jLmNhbGwodGhpc0FyZyk7Y2FzZSAxOnJldHVybiBmdW5jLmNhbGwodGhpc0FyZyxhcmdzWzBdKTtjYXNlIDI6cmV0dXJuIGZ1bmMuY2FsbCh0aGlzQXJnLGFyZ3NbMF0sYXJnc1sxXSk7Y2FzZSAzOnJldHVybiBmdW5jLmNhbGwodGhpc0FyZyxhcmdzWzBdLGFyZ3NbMV0sYXJnc1syXSl9cmV0dXJuIGZ1bmMuYXBwbHkodGhpc0FyZyxhcmdzKX1mdW5jdGlvbiBhcnJheUFnZ3JlZ2F0b3IoYXJyYXksCnNldHRlcixpdGVyYXRlZSxhY2N1bXVsYXRvcil7dmFyIGluZGV4PS0xLGxlbmd0aD1hcnJheT09bnVsbD8wOmFycmF5Lmxlbmd0aDt3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIHZhbHVlPWFycmF5W2luZGV4XTtzZXR0ZXIoYWNjdW11bGF0b3IsdmFsdWUsaXRlcmF0ZWUodmFsdWUpLGFycmF5KX1yZXR1cm4gYWNjdW11bGF0b3J9ZnVuY3Rpb24gYXJyYXlFYWNoKGFycmF5LGl0ZXJhdGVlKXt2YXIgaW5kZXg9LTEsbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoO3doaWxlKCsraW5kZXg8bGVuZ3RoKWlmKGl0ZXJhdGVlKGFycmF5W2luZGV4XSxpbmRleCxhcnJheSk9PT1mYWxzZSlicmVhaztyZXR1cm4gYXJyYXl9ZnVuY3Rpb24gYXJyYXlFYWNoUmlnaHQoYXJyYXksaXRlcmF0ZWUpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7d2hpbGUobGVuZ3RoLS0paWYoaXRlcmF0ZWUoYXJyYXlbbGVuZ3RoXSxsZW5ndGgsYXJyYXkpPT09ZmFsc2UpYnJlYWs7CnJldHVybiBhcnJheX1mdW5jdGlvbiBhcnJheUV2ZXJ5KGFycmF5LHByZWRpY2F0ZSl7dmFyIGluZGV4PS0xLGxlbmd0aD1hcnJheT09bnVsbD8wOmFycmF5Lmxlbmd0aDt3aGlsZSgrK2luZGV4PGxlbmd0aClpZighcHJlZGljYXRlKGFycmF5W2luZGV4XSxpbmRleCxhcnJheSkpcmV0dXJuIGZhbHNlO3JldHVybiB0cnVlfWZ1bmN0aW9uIGFycmF5RmlsdGVyKGFycmF5LHByZWRpY2F0ZSl7dmFyIGluZGV4PS0xLGxlbmd0aD1hcnJheT09bnVsbD8wOmFycmF5Lmxlbmd0aCxyZXNJbmRleD0wLHJlc3VsdD1bXTt3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIHZhbHVlPWFycmF5W2luZGV4XTtpZihwcmVkaWNhdGUodmFsdWUsaW5kZXgsYXJyYXkpKXJlc3VsdFtyZXNJbmRleCsrXT12YWx1ZX1yZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGFycmF5SW5jbHVkZXMoYXJyYXksdmFsdWUpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7cmV0dXJuISFsZW5ndGgmJmJhc2VJbmRleE9mKGFycmF5LAp2YWx1ZSwwKT4tMX1mdW5jdGlvbiBhcnJheUluY2x1ZGVzV2l0aChhcnJheSx2YWx1ZSxjb21wYXJhdG9yKXt2YXIgaW5kZXg9LTEsbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoO3doaWxlKCsraW5kZXg8bGVuZ3RoKWlmKGNvbXBhcmF0b3IodmFsdWUsYXJyYXlbaW5kZXhdKSlyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9ZnVuY3Rpb24gYXJyYXlNYXAoYXJyYXksaXRlcmF0ZWUpe3ZhciBpbmRleD0tMSxsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGgscmVzdWx0PUFycmF5KGxlbmd0aCk7d2hpbGUoKytpbmRleDxsZW5ndGgpcmVzdWx0W2luZGV4XT1pdGVyYXRlZShhcnJheVtpbmRleF0saW5kZXgsYXJyYXkpO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gYXJyYXlQdXNoKGFycmF5LHZhbHVlcyl7dmFyIGluZGV4PS0xLGxlbmd0aD12YWx1ZXMubGVuZ3RoLG9mZnNldD1hcnJheS5sZW5ndGg7d2hpbGUoKytpbmRleDxsZW5ndGgpYXJyYXlbb2Zmc2V0K2luZGV4XT0KdmFsdWVzW2luZGV4XTtyZXR1cm4gYXJyYXl9ZnVuY3Rpb24gYXJyYXlSZWR1Y2UoYXJyYXksaXRlcmF0ZWUsYWNjdW11bGF0b3IsaW5pdEFjY3VtKXt2YXIgaW5kZXg9LTEsbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoO2lmKGluaXRBY2N1bSYmbGVuZ3RoKWFjY3VtdWxhdG9yPWFycmF5WysraW5kZXhdO3doaWxlKCsraW5kZXg8bGVuZ3RoKWFjY3VtdWxhdG9yPWl0ZXJhdGVlKGFjY3VtdWxhdG9yLGFycmF5W2luZGV4XSxpbmRleCxhcnJheSk7cmV0dXJuIGFjY3VtdWxhdG9yfWZ1bmN0aW9uIGFycmF5UmVkdWNlUmlnaHQoYXJyYXksaXRlcmF0ZWUsYWNjdW11bGF0b3IsaW5pdEFjY3VtKXt2YXIgbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoO2lmKGluaXRBY2N1bSYmbGVuZ3RoKWFjY3VtdWxhdG9yPWFycmF5Wy0tbGVuZ3RoXTt3aGlsZShsZW5ndGgtLSlhY2N1bXVsYXRvcj1pdGVyYXRlZShhY2N1bXVsYXRvcixhcnJheVtsZW5ndGhdLGxlbmd0aCxhcnJheSk7CnJldHVybiBhY2N1bXVsYXRvcn1mdW5jdGlvbiBhcnJheVNvbWUoYXJyYXkscHJlZGljYXRlKXt2YXIgaW5kZXg9LTEsbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoO3doaWxlKCsraW5kZXg8bGVuZ3RoKWlmKHByZWRpY2F0ZShhcnJheVtpbmRleF0saW5kZXgsYXJyYXkpKXJldHVybiB0cnVlO3JldHVybiBmYWxzZX12YXIgYXNjaWlTaXplPWJhc2VQcm9wZXJ0eSgibGVuZ3RoIik7ZnVuY3Rpb24gYXNjaWlUb0FycmF5KHN0cmluZyl7cmV0dXJuIHN0cmluZy5zcGxpdCgiIil9ZnVuY3Rpb24gYXNjaWlXb3JkcyhzdHJpbmcpe3JldHVybiBzdHJpbmcubWF0Y2gocmVBc2NpaVdvcmQpfHxbXX1mdW5jdGlvbiBiYXNlRmluZEtleShjb2xsZWN0aW9uLHByZWRpY2F0ZSxlYWNoRnVuYyl7dmFyIHJlc3VsdDtlYWNoRnVuYyhjb2xsZWN0aW9uLGZ1bmN0aW9uKHZhbHVlLGtleSxjb2xsZWN0aW9uKXtpZihwcmVkaWNhdGUodmFsdWUsa2V5LGNvbGxlY3Rpb24pKXtyZXN1bHQ9a2V5OwpyZXR1cm4gZmFsc2V9fSk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBiYXNlRmluZEluZGV4KGFycmF5LHByZWRpY2F0ZSxmcm9tSW5kZXgsZnJvbVJpZ2h0KXt2YXIgbGVuZ3RoPWFycmF5Lmxlbmd0aCxpbmRleD1mcm9tSW5kZXgrKGZyb21SaWdodD8xOi0xKTt3aGlsZShmcm9tUmlnaHQ/aW5kZXgtLTorK2luZGV4PGxlbmd0aClpZihwcmVkaWNhdGUoYXJyYXlbaW5kZXhdLGluZGV4LGFycmF5KSlyZXR1cm4gaW5kZXg7cmV0dXJuLTF9ZnVuY3Rpb24gYmFzZUluZGV4T2YoYXJyYXksdmFsdWUsZnJvbUluZGV4KXtyZXR1cm4gdmFsdWU9PT12YWx1ZT9zdHJpY3RJbmRleE9mKGFycmF5LHZhbHVlLGZyb21JbmRleCk6YmFzZUZpbmRJbmRleChhcnJheSxiYXNlSXNOYU4sZnJvbUluZGV4KX1mdW5jdGlvbiBiYXNlSW5kZXhPZldpdGgoYXJyYXksdmFsdWUsZnJvbUluZGV4LGNvbXBhcmF0b3Ipe3ZhciBpbmRleD1mcm9tSW5kZXgtMSxsZW5ndGg9YXJyYXkubGVuZ3RoO3doaWxlKCsraW5kZXg8Cmxlbmd0aClpZihjb21wYXJhdG9yKGFycmF5W2luZGV4XSx2YWx1ZSkpcmV0dXJuIGluZGV4O3JldHVybi0xfWZ1bmN0aW9uIGJhc2VJc05hTih2YWx1ZSl7cmV0dXJuIHZhbHVlIT09dmFsdWV9ZnVuY3Rpb24gYmFzZU1lYW4oYXJyYXksaXRlcmF0ZWUpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7cmV0dXJuIGxlbmd0aD9iYXNlU3VtKGFycmF5LGl0ZXJhdGVlKS9sZW5ndGg6TkFOfWZ1bmN0aW9uIGJhc2VQcm9wZXJ0eShrZXkpe3JldHVybiBmdW5jdGlvbihvYmplY3Qpe3JldHVybiBvYmplY3Q9PW51bGw/dW5kZWZpbmVkOm9iamVjdFtrZXldfX1mdW5jdGlvbiBiYXNlUHJvcGVydHlPZihvYmplY3Qpe3JldHVybiBmdW5jdGlvbihrZXkpe3JldHVybiBvYmplY3Q9PW51bGw/dW5kZWZpbmVkOm9iamVjdFtrZXldfX1mdW5jdGlvbiBiYXNlUmVkdWNlKGNvbGxlY3Rpb24saXRlcmF0ZWUsYWNjdW11bGF0b3IsaW5pdEFjY3VtLGVhY2hGdW5jKXtlYWNoRnVuYyhjb2xsZWN0aW9uLApmdW5jdGlvbih2YWx1ZSxpbmRleCxjb2xsZWN0aW9uKXthY2N1bXVsYXRvcj1pbml0QWNjdW0/KGluaXRBY2N1bT1mYWxzZSx2YWx1ZSk6aXRlcmF0ZWUoYWNjdW11bGF0b3IsdmFsdWUsaW5kZXgsY29sbGVjdGlvbil9KTtyZXR1cm4gYWNjdW11bGF0b3J9ZnVuY3Rpb24gYmFzZVNvcnRCeShhcnJheSxjb21wYXJlcil7dmFyIGxlbmd0aD1hcnJheS5sZW5ndGg7YXJyYXkuc29ydChjb21wYXJlcik7d2hpbGUobGVuZ3RoLS0pYXJyYXlbbGVuZ3RoXT1hcnJheVtsZW5ndGhdLnZhbHVlO3JldHVybiBhcnJheX1mdW5jdGlvbiBiYXNlU3VtKGFycmF5LGl0ZXJhdGVlKXt2YXIgcmVzdWx0LGluZGV4PS0xLGxlbmd0aD1hcnJheS5sZW5ndGg7d2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciBjdXJyZW50PWl0ZXJhdGVlKGFycmF5W2luZGV4XSk7aWYoY3VycmVudCE9PXVuZGVmaW5lZClyZXN1bHQ9cmVzdWx0PT09dW5kZWZpbmVkP2N1cnJlbnQ6cmVzdWx0K2N1cnJlbnR9cmV0dXJuIHJlc3VsdH0KZnVuY3Rpb24gYmFzZVRpbWVzKG4saXRlcmF0ZWUpe3ZhciBpbmRleD0tMSxyZXN1bHQ9QXJyYXkobik7d2hpbGUoKytpbmRleDxuKXJlc3VsdFtpbmRleF09aXRlcmF0ZWUoaW5kZXgpO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gYmFzZVRvUGFpcnMob2JqZWN0LHByb3BzKXtyZXR1cm4gYXJyYXlNYXAocHJvcHMsZnVuY3Rpb24oa2V5KXtyZXR1cm5ba2V5LG9iamVjdFtrZXldXX0pfWZ1bmN0aW9uIGJhc2VVbmFyeShmdW5jKXtyZXR1cm4gZnVuY3Rpb24odmFsdWUpe3JldHVybiBmdW5jKHZhbHVlKX19ZnVuY3Rpb24gYmFzZVZhbHVlcyhvYmplY3QscHJvcHMpe3JldHVybiBhcnJheU1hcChwcm9wcyxmdW5jdGlvbihrZXkpe3JldHVybiBvYmplY3Rba2V5XX0pfWZ1bmN0aW9uIGNhY2hlSGFzKGNhY2hlLGtleSl7cmV0dXJuIGNhY2hlLmhhcyhrZXkpfWZ1bmN0aW9uIGNoYXJzU3RhcnRJbmRleChzdHJTeW1ib2xzLGNoclN5bWJvbHMpe3ZhciBpbmRleD0tMSxsZW5ndGg9c3RyU3ltYm9scy5sZW5ndGg7CndoaWxlKCsraW5kZXg8bGVuZ3RoJiZiYXNlSW5kZXhPZihjaHJTeW1ib2xzLHN0clN5bWJvbHNbaW5kZXhdLDApPi0xKTtyZXR1cm4gaW5kZXh9ZnVuY3Rpb24gY2hhcnNFbmRJbmRleChzdHJTeW1ib2xzLGNoclN5bWJvbHMpe3ZhciBpbmRleD1zdHJTeW1ib2xzLmxlbmd0aDt3aGlsZShpbmRleC0tJiZiYXNlSW5kZXhPZihjaHJTeW1ib2xzLHN0clN5bWJvbHNbaW5kZXhdLDApPi0xKTtyZXR1cm4gaW5kZXh9ZnVuY3Rpb24gY291bnRIb2xkZXJzKGFycmF5LHBsYWNlaG9sZGVyKXt2YXIgbGVuZ3RoPWFycmF5Lmxlbmd0aCxyZXN1bHQ9MDt3aGlsZShsZW5ndGgtLSlpZihhcnJheVtsZW5ndGhdPT09cGxhY2Vob2xkZXIpKytyZXN1bHQ7cmV0dXJuIHJlc3VsdH12YXIgZGVidXJyTGV0dGVyPWJhc2VQcm9wZXJ0eU9mKGRlYnVycmVkTGV0dGVycyk7dmFyIGVzY2FwZUh0bWxDaGFyPWJhc2VQcm9wZXJ0eU9mKGh0bWxFc2NhcGVzKTtmdW5jdGlvbiBlc2NhcGVTdHJpbmdDaGFyKGNocil7cmV0dXJuIlxcIisKc3RyaW5nRXNjYXBlc1tjaHJdfWZ1bmN0aW9uIGdldFZhbHVlKG9iamVjdCxrZXkpe3JldHVybiBvYmplY3Q9PW51bGw/dW5kZWZpbmVkOm9iamVjdFtrZXldfWZ1bmN0aW9uIGhhc1VuaWNvZGUoc3RyaW5nKXtyZXR1cm4gcmVIYXNVbmljb2RlLnRlc3Qoc3RyaW5nKX1mdW5jdGlvbiBoYXNVbmljb2RlV29yZChzdHJpbmcpe3JldHVybiByZUhhc1VuaWNvZGVXb3JkLnRlc3Qoc3RyaW5nKX1mdW5jdGlvbiBpdGVyYXRvclRvQXJyYXkoaXRlcmF0b3Ipe3ZhciBkYXRhLHJlc3VsdD1bXTt3aGlsZSghKGRhdGE9aXRlcmF0b3IubmV4dCgpKS5kb25lKXJlc3VsdC5wdXNoKGRhdGEudmFsdWUpO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gbWFwVG9BcnJheShtYXApe3ZhciBpbmRleD0tMSxyZXN1bHQ9QXJyYXkobWFwLnNpemUpO21hcC5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlLGtleSl7cmVzdWx0WysraW5kZXhdPVtrZXksdmFsdWVdfSk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBvdmVyQXJnKGZ1bmMsCnRyYW5zZm9ybSl7cmV0dXJuIGZ1bmN0aW9uKGFyZyl7cmV0dXJuIGZ1bmModHJhbnNmb3JtKGFyZykpfX1mdW5jdGlvbiByZXBsYWNlSG9sZGVycyhhcnJheSxwbGFjZWhvbGRlcil7dmFyIGluZGV4PS0xLGxlbmd0aD1hcnJheS5sZW5ndGgscmVzSW5kZXg9MCxyZXN1bHQ9W107d2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciB2YWx1ZT1hcnJheVtpbmRleF07aWYodmFsdWU9PT1wbGFjZWhvbGRlcnx8dmFsdWU9PT1QTEFDRUhPTERFUil7YXJyYXlbaW5kZXhdPVBMQUNFSE9MREVSO3Jlc3VsdFtyZXNJbmRleCsrXT1pbmRleH19cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBzYWZlR2V0KG9iamVjdCxrZXkpe3JldHVybiBrZXk9PSJfX3Byb3RvX18iP3VuZGVmaW5lZDpvYmplY3Rba2V5XX1mdW5jdGlvbiBzZXRUb0FycmF5KHNldCl7dmFyIGluZGV4PS0xLHJlc3VsdD1BcnJheShzZXQuc2l6ZSk7c2V0LmZvckVhY2goZnVuY3Rpb24odmFsdWUpe3Jlc3VsdFsrK2luZGV4XT12YWx1ZX0pOwpyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIHNldFRvUGFpcnMoc2V0KXt2YXIgaW5kZXg9LTEscmVzdWx0PUFycmF5KHNldC5zaXplKTtzZXQuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSl7cmVzdWx0WysraW5kZXhdPVt2YWx1ZSx2YWx1ZV19KTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIHN0cmljdEluZGV4T2YoYXJyYXksdmFsdWUsZnJvbUluZGV4KXt2YXIgaW5kZXg9ZnJvbUluZGV4LTEsbGVuZ3RoPWFycmF5Lmxlbmd0aDt3aGlsZSgrK2luZGV4PGxlbmd0aClpZihhcnJheVtpbmRleF09PT12YWx1ZSlyZXR1cm4gaW5kZXg7cmV0dXJuLTF9ZnVuY3Rpb24gc3RyaWN0TGFzdEluZGV4T2YoYXJyYXksdmFsdWUsZnJvbUluZGV4KXt2YXIgaW5kZXg9ZnJvbUluZGV4KzE7d2hpbGUoaW5kZXgtLSlpZihhcnJheVtpbmRleF09PT12YWx1ZSlyZXR1cm4gaW5kZXg7cmV0dXJuIGluZGV4fWZ1bmN0aW9uIHN0cmluZ1NpemUoc3RyaW5nKXtyZXR1cm4gaGFzVW5pY29kZShzdHJpbmcpP3VuaWNvZGVTaXplKHN0cmluZyk6CmFzY2lpU2l6ZShzdHJpbmcpfWZ1bmN0aW9uIHN0cmluZ1RvQXJyYXkoc3RyaW5nKXtyZXR1cm4gaGFzVW5pY29kZShzdHJpbmcpP3VuaWNvZGVUb0FycmF5KHN0cmluZyk6YXNjaWlUb0FycmF5KHN0cmluZyl9dmFyIHVuZXNjYXBlSHRtbENoYXI9YmFzZVByb3BlcnR5T2YoaHRtbFVuZXNjYXBlcyk7ZnVuY3Rpb24gdW5pY29kZVNpemUoc3RyaW5nKXt2YXIgcmVzdWx0PXJlVW5pY29kZS5sYXN0SW5kZXg9MDt3aGlsZShyZVVuaWNvZGUudGVzdChzdHJpbmcpKSsrcmVzdWx0O3JldHVybiByZXN1bHR9ZnVuY3Rpb24gdW5pY29kZVRvQXJyYXkoc3RyaW5nKXtyZXR1cm4gc3RyaW5nLm1hdGNoKHJlVW5pY29kZSl8fFtdfWZ1bmN0aW9uIHVuaWNvZGVXb3JkcyhzdHJpbmcpe3JldHVybiBzdHJpbmcubWF0Y2gocmVVbmljb2RlV29yZCl8fFtdfXZhciBydW5JbkNvbnRleHQ9ZnVuY3Rpb24gcnVuSW5Db250ZXh0KGNvbnRleHQpe2NvbnRleHQ9Y29udGV4dD09bnVsbD9yb290Ol8uZGVmYXVsdHMocm9vdC5PYmplY3QoKSwKY29udGV4dCxfLnBpY2socm9vdCxjb250ZXh0UHJvcHMpKTt2YXIgQXJyYXk9Y29udGV4dC5BcnJheSxEYXRlPWNvbnRleHQuRGF0ZSxFcnJvcj1jb250ZXh0LkVycm9yLEZ1bmN0aW9uPWNvbnRleHQuRnVuY3Rpb24sTWF0aD1jb250ZXh0Lk1hdGgsT2JqZWN0PWNvbnRleHQuT2JqZWN0LFJlZ0V4cD1jb250ZXh0LlJlZ0V4cCxTdHJpbmc9Y29udGV4dC5TdHJpbmcsVHlwZUVycm9yPWNvbnRleHQuVHlwZUVycm9yO3ZhciBhcnJheVByb3RvPUFycmF5LnByb3RvdHlwZSxmdW5jUHJvdG89RnVuY3Rpb24ucHJvdG90eXBlLG9iamVjdFByb3RvPU9iamVjdC5wcm90b3R5cGU7dmFyIGNvcmVKc0RhdGE9Y29udGV4dFsiX19jb3JlLWpzX3NoYXJlZF9fIl07dmFyIGZ1bmNUb1N0cmluZz1mdW5jUHJvdG8udG9TdHJpbmc7dmFyIGhhc093blByb3BlcnR5PW9iamVjdFByb3RvLmhhc093blByb3BlcnR5O3ZhciBpZENvdW50ZXI9MDt2YXIgbWFza1NyY0tleT1mdW5jdGlvbigpe3ZhciB1aWQ9Ci9bXi5dKyQvLmV4ZWMoY29yZUpzRGF0YSYmY29yZUpzRGF0YS5rZXlzJiZjb3JlSnNEYXRhLmtleXMuSUVfUFJPVE98fCIiKTtyZXR1cm4gdWlkPyJTeW1ib2woc3JjKV8xLiIrdWlkOiIifSgpO3ZhciBuYXRpdmVPYmplY3RUb1N0cmluZz1vYmplY3RQcm90by50b1N0cmluZzt2YXIgb2JqZWN0Q3RvclN0cmluZz1mdW5jVG9TdHJpbmcuY2FsbChPYmplY3QpO3ZhciBvbGREYXNoPXJvb3QuXzt2YXIgcmVJc05hdGl2ZT1SZWdFeHAoIl4iK2Z1bmNUb1N0cmluZy5jYWxsKGhhc093blByb3BlcnR5KS5yZXBsYWNlKHJlUmVnRXhwQ2hhciwiXFwkXHgyNiIpLnJlcGxhY2UoL2hhc093blByb3BlcnR5fChmdW5jdGlvbikuKj8oPz1cXFwoKXwgZm9yIC4rPyg/PVxcXF0pL2csIiQxLio/IikrIiQiKTt2YXIgQnVmZmVyPW1vZHVsZUV4cG9ydHM/Y29udGV4dC5CdWZmZXI6dW5kZWZpbmVkLFN5bWJvbD1jb250ZXh0LlN5bWJvbCxVaW50OEFycmF5PWNvbnRleHQuVWludDhBcnJheSxhbGxvY1Vuc2FmZT0KQnVmZmVyP0J1ZmZlci5hbGxvY1Vuc2FmZTp1bmRlZmluZWQsZ2V0UHJvdG90eXBlPW92ZXJBcmcoT2JqZWN0LmdldFByb3RvdHlwZU9mLE9iamVjdCksb2JqZWN0Q3JlYXRlPU9iamVjdC5jcmVhdGUscHJvcGVydHlJc0VudW1lcmFibGU9b2JqZWN0UHJvdG8ucHJvcGVydHlJc0VudW1lcmFibGUsc3BsaWNlPWFycmF5UHJvdG8uc3BsaWNlLHNwcmVhZGFibGVTeW1ib2w9U3ltYm9sP1N5bWJvbC5pc0NvbmNhdFNwcmVhZGFibGU6dW5kZWZpbmVkLHN5bUl0ZXJhdG9yPVN5bWJvbD9TeW1ib2wuaXRlcmF0b3I6dW5kZWZpbmVkLHN5bVRvU3RyaW5nVGFnPVN5bWJvbD9TeW1ib2wudG9TdHJpbmdUYWc6dW5kZWZpbmVkO3ZhciBkZWZpbmVQcm9wZXJ0eT1mdW5jdGlvbigpe3RyeXt2YXIgZnVuYz1nZXROYXRpdmUoT2JqZWN0LCJkZWZpbmVQcm9wZXJ0eSIpO2Z1bmMoe30sIiIse30pO3JldHVybiBmdW5jfWNhdGNoKGUpe319KCk7dmFyIGN0eENsZWFyVGltZW91dD1jb250ZXh0LmNsZWFyVGltZW91dCE9PQpyb290LmNsZWFyVGltZW91dCYmY29udGV4dC5jbGVhclRpbWVvdXQsY3R4Tm93PURhdGUmJkRhdGUubm93IT09cm9vdC5EYXRlLm5vdyYmRGF0ZS5ub3csY3R4U2V0VGltZW91dD1jb250ZXh0LnNldFRpbWVvdXQhPT1yb290LnNldFRpbWVvdXQmJmNvbnRleHQuc2V0VGltZW91dDt2YXIgbmF0aXZlQ2VpbD1NYXRoLmNlaWwsbmF0aXZlRmxvb3I9TWF0aC5mbG9vcixuYXRpdmVHZXRTeW1ib2xzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsbmF0aXZlSXNCdWZmZXI9QnVmZmVyP0J1ZmZlci5pc0J1ZmZlcjp1bmRlZmluZWQsbmF0aXZlSXNGaW5pdGU9Y29udGV4dC5pc0Zpbml0ZSxuYXRpdmVKb2luPWFycmF5UHJvdG8uam9pbixuYXRpdmVLZXlzPW92ZXJBcmcoT2JqZWN0LmtleXMsT2JqZWN0KSxuYXRpdmVNYXg9TWF0aC5tYXgsbmF0aXZlTWluPU1hdGgubWluLG5hdGl2ZU5vdz1EYXRlLm5vdyxuYXRpdmVQYXJzZUludD1jb250ZXh0LnBhcnNlSW50LG5hdGl2ZVJhbmRvbT0KTWF0aC5yYW5kb20sbmF0aXZlUmV2ZXJzZT1hcnJheVByb3RvLnJldmVyc2U7dmFyIERhdGFWaWV3PWdldE5hdGl2ZShjb250ZXh0LCJEYXRhVmlldyIpLE1hcD1nZXROYXRpdmUoY29udGV4dCwiTWFwIiksUHJvbWlzZT1nZXROYXRpdmUoY29udGV4dCwiUHJvbWlzZSIpLFNldD1nZXROYXRpdmUoY29udGV4dCwiU2V0IiksV2Vha01hcD1nZXROYXRpdmUoY29udGV4dCwiV2Vha01hcCIpLG5hdGl2ZUNyZWF0ZT1nZXROYXRpdmUoT2JqZWN0LCJjcmVhdGUiKTt2YXIgbWV0YU1hcD1XZWFrTWFwJiZuZXcgV2Vha01hcDt2YXIgcmVhbE5hbWVzPXt9O3ZhciBkYXRhVmlld0N0b3JTdHJpbmc9dG9Tb3VyY2UoRGF0YVZpZXcpLG1hcEN0b3JTdHJpbmc9dG9Tb3VyY2UoTWFwKSxwcm9taXNlQ3RvclN0cmluZz10b1NvdXJjZShQcm9taXNlKSxzZXRDdG9yU3RyaW5nPXRvU291cmNlKFNldCksd2Vha01hcEN0b3JTdHJpbmc9dG9Tb3VyY2UoV2Vha01hcCk7dmFyIHN5bWJvbFByb3RvPVN5bWJvbD8KU3ltYm9sLnByb3RvdHlwZTp1bmRlZmluZWQsc3ltYm9sVmFsdWVPZj1zeW1ib2xQcm90bz9zeW1ib2xQcm90by52YWx1ZU9mOnVuZGVmaW5lZCxzeW1ib2xUb1N0cmluZz1zeW1ib2xQcm90bz9zeW1ib2xQcm90by50b1N0cmluZzp1bmRlZmluZWQ7ZnVuY3Rpb24gbG9kYXNoKHZhbHVlKXtpZihpc09iamVjdExpa2UodmFsdWUpJiYhaXNBcnJheSh2YWx1ZSkmJiEodmFsdWUgaW5zdGFuY2VvZiBMYXp5V3JhcHBlcikpe2lmKHZhbHVlIGluc3RhbmNlb2YgTG9kYXNoV3JhcHBlcilyZXR1cm4gdmFsdWU7aWYoaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwiX193cmFwcGVkX18iKSlyZXR1cm4gd3JhcHBlckNsb25lKHZhbHVlKX1yZXR1cm4gbmV3IExvZGFzaFdyYXBwZXIodmFsdWUpfXZhciBiYXNlQ3JlYXRlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gb2JqZWN0KCl7fXJldHVybiBmdW5jdGlvbihwcm90byl7aWYoIWlzT2JqZWN0KHByb3RvKSlyZXR1cm57fTtpZihvYmplY3RDcmVhdGUpcmV0dXJuIG9iamVjdENyZWF0ZShwcm90byk7Cm9iamVjdC5wcm90b3R5cGU9cHJvdG87dmFyIHJlc3VsdD1uZXcgb2JqZWN0O29iamVjdC5wcm90b3R5cGU9dW5kZWZpbmVkO3JldHVybiByZXN1bHR9fSgpO2Z1bmN0aW9uIGJhc2VMb2Rhc2goKXt9ZnVuY3Rpb24gTG9kYXNoV3JhcHBlcih2YWx1ZSxjaGFpbkFsbCl7dGhpcy5fX3dyYXBwZWRfXz12YWx1ZTt0aGlzLl9fYWN0aW9uc19fPVtdO3RoaXMuX19jaGFpbl9fPSEhY2hhaW5BbGw7dGhpcy5fX2luZGV4X189MDt0aGlzLl9fdmFsdWVzX189dW5kZWZpbmVkfWxvZGFzaC50ZW1wbGF0ZVNldHRpbmdzPXsiZXNjYXBlIjpyZUVzY2FwZSwiZXZhbHVhdGUiOnJlRXZhbHVhdGUsImludGVycG9sYXRlIjpyZUludGVycG9sYXRlLCJ2YXJpYWJsZSI6IiIsImltcG9ydHMiOnsiXyI6bG9kYXNofX07bG9kYXNoLnByb3RvdHlwZT1iYXNlTG9kYXNoLnByb3RvdHlwZTtsb2Rhc2gucHJvdG90eXBlLmNvbnN0cnVjdG9yPWxvZGFzaDtMb2Rhc2hXcmFwcGVyLnByb3RvdHlwZT1iYXNlQ3JlYXRlKGJhc2VMb2Rhc2gucHJvdG90eXBlKTsKTG9kYXNoV3JhcHBlci5wcm90b3R5cGUuY29uc3RydWN0b3I9TG9kYXNoV3JhcHBlcjtmdW5jdGlvbiBMYXp5V3JhcHBlcih2YWx1ZSl7dGhpcy5fX3dyYXBwZWRfXz12YWx1ZTt0aGlzLl9fYWN0aW9uc19fPVtdO3RoaXMuX19kaXJfXz0xO3RoaXMuX19maWx0ZXJlZF9fPWZhbHNlO3RoaXMuX19pdGVyYXRlZXNfXz1bXTt0aGlzLl9fdGFrZUNvdW50X189TUFYX0FSUkFZX0xFTkdUSDt0aGlzLl9fdmlld3NfXz1bXX1mdW5jdGlvbiBsYXp5Q2xvbmUoKXt2YXIgcmVzdWx0PW5ldyBMYXp5V3JhcHBlcih0aGlzLl9fd3JhcHBlZF9fKTtyZXN1bHQuX19hY3Rpb25zX189Y29weUFycmF5KHRoaXMuX19hY3Rpb25zX18pO3Jlc3VsdC5fX2Rpcl9fPXRoaXMuX19kaXJfXztyZXN1bHQuX19maWx0ZXJlZF9fPXRoaXMuX19maWx0ZXJlZF9fO3Jlc3VsdC5fX2l0ZXJhdGVlc19fPWNvcHlBcnJheSh0aGlzLl9faXRlcmF0ZWVzX18pO3Jlc3VsdC5fX3Rha2VDb3VudF9fPXRoaXMuX190YWtlQ291bnRfXzsKcmVzdWx0Ll9fdmlld3NfXz1jb3B5QXJyYXkodGhpcy5fX3ZpZXdzX18pO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gbGF6eVJldmVyc2UoKXtpZih0aGlzLl9fZmlsdGVyZWRfXyl7dmFyIHJlc3VsdD1uZXcgTGF6eVdyYXBwZXIodGhpcyk7cmVzdWx0Ll9fZGlyX189LTE7cmVzdWx0Ll9fZmlsdGVyZWRfXz10cnVlfWVsc2V7cmVzdWx0PXRoaXMuY2xvbmUoKTtyZXN1bHQuX19kaXJfXyo9LTF9cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBsYXp5VmFsdWUoKXt2YXIgYXJyYXk9dGhpcy5fX3dyYXBwZWRfXy52YWx1ZSgpLGRpcj10aGlzLl9fZGlyX18saXNBcnI9aXNBcnJheShhcnJheSksaXNSaWdodD1kaXI8MCxhcnJMZW5ndGg9aXNBcnI/YXJyYXkubGVuZ3RoOjAsdmlldz1nZXRWaWV3KDAsYXJyTGVuZ3RoLHRoaXMuX192aWV3c19fKSxzdGFydD12aWV3LnN0YXJ0LGVuZD12aWV3LmVuZCxsZW5ndGg9ZW5kLXN0YXJ0LGluZGV4PWlzUmlnaHQ/ZW5kOnN0YXJ0LTEsaXRlcmF0ZWVzPXRoaXMuX19pdGVyYXRlZXNfXywKaXRlckxlbmd0aD1pdGVyYXRlZXMubGVuZ3RoLHJlc0luZGV4PTAsdGFrZUNvdW50PW5hdGl2ZU1pbihsZW5ndGgsdGhpcy5fX3Rha2VDb3VudF9fKTtpZighaXNBcnJ8fCFpc1JpZ2h0JiZhcnJMZW5ndGg9PWxlbmd0aCYmdGFrZUNvdW50PT1sZW5ndGgpcmV0dXJuIGJhc2VXcmFwcGVyVmFsdWUoYXJyYXksdGhpcy5fX2FjdGlvbnNfXyk7dmFyIHJlc3VsdD1bXTtvdXRlcjp3aGlsZShsZW5ndGgtLSYmcmVzSW5kZXg8dGFrZUNvdW50KXtpbmRleCs9ZGlyO3ZhciBpdGVySW5kZXg9LTEsdmFsdWU9YXJyYXlbaW5kZXhdO3doaWxlKCsraXRlckluZGV4PGl0ZXJMZW5ndGgpe3ZhciBkYXRhPWl0ZXJhdGVlc1tpdGVySW5kZXhdLGl0ZXJhdGVlPWRhdGEuaXRlcmF0ZWUsdHlwZT1kYXRhLnR5cGUsY29tcHV0ZWQ9aXRlcmF0ZWUodmFsdWUpO2lmKHR5cGU9PUxBWllfTUFQX0ZMQUcpdmFsdWU9Y29tcHV0ZWQ7ZWxzZSBpZighY29tcHV0ZWQpaWYodHlwZT09TEFaWV9GSUxURVJfRkxBRyljb250aW51ZSBvdXRlcjsKZWxzZSBicmVhayBvdXRlcn1yZXN1bHRbcmVzSW5kZXgrK109dmFsdWV9cmV0dXJuIHJlc3VsdH1MYXp5V3JhcHBlci5wcm90b3R5cGU9YmFzZUNyZWF0ZShiYXNlTG9kYXNoLnByb3RvdHlwZSk7TGF6eVdyYXBwZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yPUxhenlXcmFwcGVyO2Z1bmN0aW9uIEhhc2goZW50cmllcyl7dmFyIGluZGV4PS0xLGxlbmd0aD1lbnRyaWVzPT1udWxsPzA6ZW50cmllcy5sZW5ndGg7dGhpcy5jbGVhcigpO3doaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgZW50cnk9ZW50cmllc1tpbmRleF07dGhpcy5zZXQoZW50cnlbMF0sZW50cnlbMV0pfX1mdW5jdGlvbiBoYXNoQ2xlYXIoKXt0aGlzLl9fZGF0YV9fPW5hdGl2ZUNyZWF0ZT9uYXRpdmVDcmVhdGUobnVsbCk6e307dGhpcy5zaXplPTB9ZnVuY3Rpb24gaGFzaERlbGV0ZShrZXkpe3ZhciByZXN1bHQ9dGhpcy5oYXMoa2V5KSYmZGVsZXRlIHRoaXMuX19kYXRhX19ba2V5XTt0aGlzLnNpemUtPXJlc3VsdD8xOjA7CnJldHVybiByZXN1bHR9ZnVuY3Rpb24gaGFzaEdldChrZXkpe3ZhciBkYXRhPXRoaXMuX19kYXRhX187aWYobmF0aXZlQ3JlYXRlKXt2YXIgcmVzdWx0PWRhdGFba2V5XTtyZXR1cm4gcmVzdWx0PT09SEFTSF9VTkRFRklORUQ/dW5kZWZpbmVkOnJlc3VsdH1yZXR1cm4gaGFzT3duUHJvcGVydHkuY2FsbChkYXRhLGtleSk/ZGF0YVtrZXldOnVuZGVmaW5lZH1mdW5jdGlvbiBoYXNoSGFzKGtleSl7dmFyIGRhdGE9dGhpcy5fX2RhdGFfXztyZXR1cm4gbmF0aXZlQ3JlYXRlP2RhdGFba2V5XSE9PXVuZGVmaW5lZDpoYXNPd25Qcm9wZXJ0eS5jYWxsKGRhdGEsa2V5KX1mdW5jdGlvbiBoYXNoU2V0KGtleSx2YWx1ZSl7dmFyIGRhdGE9dGhpcy5fX2RhdGFfXzt0aGlzLnNpemUrPXRoaXMuaGFzKGtleSk/MDoxO2RhdGFba2V5XT1uYXRpdmVDcmVhdGUmJnZhbHVlPT09dW5kZWZpbmVkP0hBU0hfVU5ERUZJTkVEOnZhbHVlO3JldHVybiB0aGlzfUhhc2gucHJvdG90eXBlLmNsZWFyPWhhc2hDbGVhcjsKSGFzaC5wcm90b3R5cGVbImRlbGV0ZSJdPWhhc2hEZWxldGU7SGFzaC5wcm90b3R5cGUuZ2V0PWhhc2hHZXQ7SGFzaC5wcm90b3R5cGUuaGFzPWhhc2hIYXM7SGFzaC5wcm90b3R5cGUuc2V0PWhhc2hTZXQ7ZnVuY3Rpb24gTGlzdENhY2hlKGVudHJpZXMpe3ZhciBpbmRleD0tMSxsZW5ndGg9ZW50cmllcz09bnVsbD8wOmVudHJpZXMubGVuZ3RoO3RoaXMuY2xlYXIoKTt3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIGVudHJ5PWVudHJpZXNbaW5kZXhdO3RoaXMuc2V0KGVudHJ5WzBdLGVudHJ5WzFdKX19ZnVuY3Rpb24gbGlzdENhY2hlQ2xlYXIoKXt0aGlzLl9fZGF0YV9fPVtdO3RoaXMuc2l6ZT0wfWZ1bmN0aW9uIGxpc3RDYWNoZURlbGV0ZShrZXkpe3ZhciBkYXRhPXRoaXMuX19kYXRhX18saW5kZXg9YXNzb2NJbmRleE9mKGRhdGEsa2V5KTtpZihpbmRleDwwKXJldHVybiBmYWxzZTt2YXIgbGFzdEluZGV4PWRhdGEubGVuZ3RoLTE7aWYoaW5kZXg9PWxhc3RJbmRleClkYXRhLnBvcCgpOwplbHNlIHNwbGljZS5jYWxsKGRhdGEsaW5kZXgsMSk7LS10aGlzLnNpemU7cmV0dXJuIHRydWV9ZnVuY3Rpb24gbGlzdENhY2hlR2V0KGtleSl7dmFyIGRhdGE9dGhpcy5fX2RhdGFfXyxpbmRleD1hc3NvY0luZGV4T2YoZGF0YSxrZXkpO3JldHVybiBpbmRleDwwP3VuZGVmaW5lZDpkYXRhW2luZGV4XVsxXX1mdW5jdGlvbiBsaXN0Q2FjaGVIYXMoa2V5KXtyZXR1cm4gYXNzb2NJbmRleE9mKHRoaXMuX19kYXRhX18sa2V5KT4tMX1mdW5jdGlvbiBsaXN0Q2FjaGVTZXQoa2V5LHZhbHVlKXt2YXIgZGF0YT10aGlzLl9fZGF0YV9fLGluZGV4PWFzc29jSW5kZXhPZihkYXRhLGtleSk7aWYoaW5kZXg8MCl7Kyt0aGlzLnNpemU7ZGF0YS5wdXNoKFtrZXksdmFsdWVdKX1lbHNlIGRhdGFbaW5kZXhdWzFdPXZhbHVlO3JldHVybiB0aGlzfUxpc3RDYWNoZS5wcm90b3R5cGUuY2xlYXI9bGlzdENhY2hlQ2xlYXI7TGlzdENhY2hlLnByb3RvdHlwZVsiZGVsZXRlIl09bGlzdENhY2hlRGVsZXRlO0xpc3RDYWNoZS5wcm90b3R5cGUuZ2V0PQpsaXN0Q2FjaGVHZXQ7TGlzdENhY2hlLnByb3RvdHlwZS5oYXM9bGlzdENhY2hlSGFzO0xpc3RDYWNoZS5wcm90b3R5cGUuc2V0PWxpc3RDYWNoZVNldDtmdW5jdGlvbiBNYXBDYWNoZShlbnRyaWVzKXt2YXIgaW5kZXg9LTEsbGVuZ3RoPWVudHJpZXM9PW51bGw/MDplbnRyaWVzLmxlbmd0aDt0aGlzLmNsZWFyKCk7d2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciBlbnRyeT1lbnRyaWVzW2luZGV4XTt0aGlzLnNldChlbnRyeVswXSxlbnRyeVsxXSl9fWZ1bmN0aW9uIG1hcENhY2hlQ2xlYXIoKXt0aGlzLnNpemU9MDt0aGlzLl9fZGF0YV9fPXsiaGFzaCI6bmV3IEhhc2gsIm1hcCI6bmV3IChNYXB8fExpc3RDYWNoZSksInN0cmluZyI6bmV3IEhhc2h9fWZ1bmN0aW9uIG1hcENhY2hlRGVsZXRlKGtleSl7dmFyIHJlc3VsdD1nZXRNYXBEYXRhKHRoaXMsa2V5KVsiZGVsZXRlIl0oa2V5KTt0aGlzLnNpemUtPXJlc3VsdD8xOjA7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBtYXBDYWNoZUdldChrZXkpe3JldHVybiBnZXRNYXBEYXRhKHRoaXMsCmtleSkuZ2V0KGtleSl9ZnVuY3Rpb24gbWFwQ2FjaGVIYXMoa2V5KXtyZXR1cm4gZ2V0TWFwRGF0YSh0aGlzLGtleSkuaGFzKGtleSl9ZnVuY3Rpb24gbWFwQ2FjaGVTZXQoa2V5LHZhbHVlKXt2YXIgZGF0YT1nZXRNYXBEYXRhKHRoaXMsa2V5KSxzaXplPWRhdGEuc2l6ZTtkYXRhLnNldChrZXksdmFsdWUpO3RoaXMuc2l6ZSs9ZGF0YS5zaXplPT1zaXplPzA6MTtyZXR1cm4gdGhpc31NYXBDYWNoZS5wcm90b3R5cGUuY2xlYXI9bWFwQ2FjaGVDbGVhcjtNYXBDYWNoZS5wcm90b3R5cGVbImRlbGV0ZSJdPW1hcENhY2hlRGVsZXRlO01hcENhY2hlLnByb3RvdHlwZS5nZXQ9bWFwQ2FjaGVHZXQ7TWFwQ2FjaGUucHJvdG90eXBlLmhhcz1tYXBDYWNoZUhhcztNYXBDYWNoZS5wcm90b3R5cGUuc2V0PW1hcENhY2hlU2V0O2Z1bmN0aW9uIFNldENhY2hlKHZhbHVlcyl7dmFyIGluZGV4PS0xLGxlbmd0aD12YWx1ZXM9PW51bGw/MDp2YWx1ZXMubGVuZ3RoO3RoaXMuX19kYXRhX189bmV3IE1hcENhY2hlOwp3aGlsZSgrK2luZGV4PGxlbmd0aCl0aGlzLmFkZCh2YWx1ZXNbaW5kZXhdKX1mdW5jdGlvbiBzZXRDYWNoZUFkZCh2YWx1ZSl7dGhpcy5fX2RhdGFfXy5zZXQodmFsdWUsSEFTSF9VTkRFRklORUQpO3JldHVybiB0aGlzfWZ1bmN0aW9uIHNldENhY2hlSGFzKHZhbHVlKXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModmFsdWUpfVNldENhY2hlLnByb3RvdHlwZS5hZGQ9U2V0Q2FjaGUucHJvdG90eXBlLnB1c2g9c2V0Q2FjaGVBZGQ7U2V0Q2FjaGUucHJvdG90eXBlLmhhcz1zZXRDYWNoZUhhcztmdW5jdGlvbiBTdGFjayhlbnRyaWVzKXt2YXIgZGF0YT10aGlzLl9fZGF0YV9fPW5ldyBMaXN0Q2FjaGUoZW50cmllcyk7dGhpcy5zaXplPWRhdGEuc2l6ZX1mdW5jdGlvbiBzdGFja0NsZWFyKCl7dGhpcy5fX2RhdGFfXz1uZXcgTGlzdENhY2hlO3RoaXMuc2l6ZT0wfWZ1bmN0aW9uIHN0YWNrRGVsZXRlKGtleSl7dmFyIGRhdGE9dGhpcy5fX2RhdGFfXyxyZXN1bHQ9ZGF0YVsiZGVsZXRlIl0oa2V5KTsKdGhpcy5zaXplPWRhdGEuc2l6ZTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIHN0YWNrR2V0KGtleSl7cmV0dXJuIHRoaXMuX19kYXRhX18uZ2V0KGtleSl9ZnVuY3Rpb24gc3RhY2tIYXMoa2V5KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXMoa2V5KX1mdW5jdGlvbiBzdGFja1NldChrZXksdmFsdWUpe3ZhciBkYXRhPXRoaXMuX19kYXRhX187aWYoZGF0YSBpbnN0YW5jZW9mIExpc3RDYWNoZSl7dmFyIHBhaXJzPWRhdGEuX19kYXRhX187aWYoIU1hcHx8cGFpcnMubGVuZ3RoPExBUkdFX0FSUkFZX1NJWkUtMSl7cGFpcnMucHVzaChba2V5LHZhbHVlXSk7dGhpcy5zaXplPSsrZGF0YS5zaXplO3JldHVybiB0aGlzfWRhdGE9dGhpcy5fX2RhdGFfXz1uZXcgTWFwQ2FjaGUocGFpcnMpfWRhdGEuc2V0KGtleSx2YWx1ZSk7dGhpcy5zaXplPWRhdGEuc2l6ZTtyZXR1cm4gdGhpc31TdGFjay5wcm90b3R5cGUuY2xlYXI9c3RhY2tDbGVhcjtTdGFjay5wcm90b3R5cGVbImRlbGV0ZSJdPXN0YWNrRGVsZXRlOwpTdGFjay5wcm90b3R5cGUuZ2V0PXN0YWNrR2V0O1N0YWNrLnByb3RvdHlwZS5oYXM9c3RhY2tIYXM7U3RhY2sucHJvdG90eXBlLnNldD1zdGFja1NldDtmdW5jdGlvbiBhcnJheUxpa2VLZXlzKHZhbHVlLGluaGVyaXRlZCl7dmFyIGlzQXJyPWlzQXJyYXkodmFsdWUpLGlzQXJnPSFpc0FyciYmaXNBcmd1bWVudHModmFsdWUpLGlzQnVmZj0haXNBcnImJiFpc0FyZyYmaXNCdWZmZXIodmFsdWUpLGlzVHlwZT0haXNBcnImJiFpc0FyZyYmIWlzQnVmZiYmaXNUeXBlZEFycmF5KHZhbHVlKSxza2lwSW5kZXhlcz1pc0Fycnx8aXNBcmd8fGlzQnVmZnx8aXNUeXBlLHJlc3VsdD1za2lwSW5kZXhlcz9iYXNlVGltZXModmFsdWUubGVuZ3RoLFN0cmluZyk6W10sbGVuZ3RoPXJlc3VsdC5sZW5ndGg7Zm9yKHZhciBrZXkgaW4gdmFsdWUpaWYoKGluaGVyaXRlZHx8aGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSxrZXkpKSYmIShza2lwSW5kZXhlcyYmKGtleT09Imxlbmd0aCJ8fGlzQnVmZiYmKGtleT09CiJvZmZzZXQifHxrZXk9PSJwYXJlbnQiKXx8aXNUeXBlJiYoa2V5PT0iYnVmZmVyInx8a2V5PT0iYnl0ZUxlbmd0aCJ8fGtleT09ImJ5dGVPZmZzZXQiKXx8aXNJbmRleChrZXksbGVuZ3RoKSkpKXJlc3VsdC5wdXNoKGtleSk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBhcnJheVNhbXBsZShhcnJheSl7dmFyIGxlbmd0aD1hcnJheS5sZW5ndGg7cmV0dXJuIGxlbmd0aD9hcnJheVtiYXNlUmFuZG9tKDAsbGVuZ3RoLTEpXTp1bmRlZmluZWR9ZnVuY3Rpb24gYXJyYXlTYW1wbGVTaXplKGFycmF5LG4pe3JldHVybiBzaHVmZmxlU2VsZihjb3B5QXJyYXkoYXJyYXkpLGJhc2VDbGFtcChuLDAsYXJyYXkubGVuZ3RoKSl9ZnVuY3Rpb24gYXJyYXlTaHVmZmxlKGFycmF5KXtyZXR1cm4gc2h1ZmZsZVNlbGYoY29weUFycmF5KGFycmF5KSl9ZnVuY3Rpb24gYXNzaWduTWVyZ2VWYWx1ZShvYmplY3Qsa2V5LHZhbHVlKXtpZih2YWx1ZSE9PXVuZGVmaW5lZCYmIWVxKG9iamVjdFtrZXldLHZhbHVlKXx8CnZhbHVlPT09dW5kZWZpbmVkJiYhKGtleSBpbiBvYmplY3QpKWJhc2VBc3NpZ25WYWx1ZShvYmplY3Qsa2V5LHZhbHVlKX1mdW5jdGlvbiBhc3NpZ25WYWx1ZShvYmplY3Qsa2V5LHZhbHVlKXt2YXIgb2JqVmFsdWU9b2JqZWN0W2tleV07aWYoIShoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCxrZXkpJiZlcShvYmpWYWx1ZSx2YWx1ZSkpfHx2YWx1ZT09PXVuZGVmaW5lZCYmIShrZXkgaW4gb2JqZWN0KSliYXNlQXNzaWduVmFsdWUob2JqZWN0LGtleSx2YWx1ZSl9ZnVuY3Rpb24gYXNzb2NJbmRleE9mKGFycmF5LGtleSl7dmFyIGxlbmd0aD1hcnJheS5sZW5ndGg7d2hpbGUobGVuZ3RoLS0paWYoZXEoYXJyYXlbbGVuZ3RoXVswXSxrZXkpKXJldHVybiBsZW5ndGg7cmV0dXJuLTF9ZnVuY3Rpb24gYmFzZUFnZ3JlZ2F0b3IoY29sbGVjdGlvbixzZXR0ZXIsaXRlcmF0ZWUsYWNjdW11bGF0b3Ipe2Jhc2VFYWNoKGNvbGxlY3Rpb24sZnVuY3Rpb24odmFsdWUsa2V5LGNvbGxlY3Rpb24pe3NldHRlcihhY2N1bXVsYXRvciwKdmFsdWUsaXRlcmF0ZWUodmFsdWUpLGNvbGxlY3Rpb24pfSk7cmV0dXJuIGFjY3VtdWxhdG9yfWZ1bmN0aW9uIGJhc2VBc3NpZ24ob2JqZWN0LHNvdXJjZSl7cmV0dXJuIG9iamVjdCYmY29weU9iamVjdChzb3VyY2Usa2V5cyhzb3VyY2UpLG9iamVjdCl9ZnVuY3Rpb24gYmFzZUFzc2lnbkluKG9iamVjdCxzb3VyY2Upe3JldHVybiBvYmplY3QmJmNvcHlPYmplY3Qoc291cmNlLGtleXNJbihzb3VyY2UpLG9iamVjdCl9ZnVuY3Rpb24gYmFzZUFzc2lnblZhbHVlKG9iamVjdCxrZXksdmFsdWUpe2lmKGtleT09Il9fcHJvdG9fXyImJmRlZmluZVByb3BlcnR5KWRlZmluZVByb3BlcnR5KG9iamVjdCxrZXkseyJjb25maWd1cmFibGUiOnRydWUsImVudW1lcmFibGUiOnRydWUsInZhbHVlIjp2YWx1ZSwid3JpdGFibGUiOnRydWV9KTtlbHNlIG9iamVjdFtrZXldPXZhbHVlfWZ1bmN0aW9uIGJhc2VBdChvYmplY3QscGF0aHMpe3ZhciBpbmRleD0tMSxsZW5ndGg9cGF0aHMubGVuZ3RoLHJlc3VsdD0KQXJyYXkobGVuZ3RoKSxza2lwPW9iamVjdD09bnVsbDt3aGlsZSgrK2luZGV4PGxlbmd0aClyZXN1bHRbaW5kZXhdPXNraXA/dW5kZWZpbmVkOmdldChvYmplY3QscGF0aHNbaW5kZXhdKTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGJhc2VDbGFtcChudW1iZXIsbG93ZXIsdXBwZXIpe2lmKG51bWJlcj09PW51bWJlcil7aWYodXBwZXIhPT11bmRlZmluZWQpbnVtYmVyPW51bWJlcjw9dXBwZXI/bnVtYmVyOnVwcGVyO2lmKGxvd2VyIT09dW5kZWZpbmVkKW51bWJlcj1udW1iZXI+PWxvd2VyP251bWJlcjpsb3dlcn1yZXR1cm4gbnVtYmVyfWZ1bmN0aW9uIGJhc2VDbG9uZSh2YWx1ZSxiaXRtYXNrLGN1c3RvbWl6ZXIsa2V5LG9iamVjdCxzdGFjayl7dmFyIHJlc3VsdCxpc0RlZXA9Yml0bWFzayZDTE9ORV9ERUVQX0ZMQUcsaXNGbGF0PWJpdG1hc2smQ0xPTkVfRkxBVF9GTEFHLGlzRnVsbD1iaXRtYXNrJkNMT05FX1NZTUJPTFNfRkxBRztpZihjdXN0b21pemVyKXJlc3VsdD1vYmplY3Q/CmN1c3RvbWl6ZXIodmFsdWUsa2V5LG9iamVjdCxzdGFjayk6Y3VzdG9taXplcih2YWx1ZSk7aWYocmVzdWx0IT09dW5kZWZpbmVkKXJldHVybiByZXN1bHQ7aWYoIWlzT2JqZWN0KHZhbHVlKSlyZXR1cm4gdmFsdWU7dmFyIGlzQXJyPWlzQXJyYXkodmFsdWUpO2lmKGlzQXJyKXtyZXN1bHQ9aW5pdENsb25lQXJyYXkodmFsdWUpO2lmKCFpc0RlZXApcmV0dXJuIGNvcHlBcnJheSh2YWx1ZSxyZXN1bHQpfWVsc2V7dmFyIHRhZz1nZXRUYWcodmFsdWUpLGlzRnVuYz10YWc9PWZ1bmNUYWd8fHRhZz09Z2VuVGFnO2lmKGlzQnVmZmVyKHZhbHVlKSlyZXR1cm4gY2xvbmVCdWZmZXIodmFsdWUsaXNEZWVwKTtpZih0YWc9PW9iamVjdFRhZ3x8dGFnPT1hcmdzVGFnfHxpc0Z1bmMmJiFvYmplY3Qpe3Jlc3VsdD1pc0ZsYXR8fGlzRnVuYz97fTppbml0Q2xvbmVPYmplY3QodmFsdWUpO2lmKCFpc0RlZXApcmV0dXJuIGlzRmxhdD9jb3B5U3ltYm9sc0luKHZhbHVlLGJhc2VBc3NpZ25JbihyZXN1bHQsCnZhbHVlKSk6Y29weVN5bWJvbHModmFsdWUsYmFzZUFzc2lnbihyZXN1bHQsdmFsdWUpKX1lbHNle2lmKCFjbG9uZWFibGVUYWdzW3RhZ10pcmV0dXJuIG9iamVjdD92YWx1ZTp7fTtyZXN1bHQ9aW5pdENsb25lQnlUYWcodmFsdWUsdGFnLGlzRGVlcCl9fXN0YWNrfHwoc3RhY2s9bmV3IFN0YWNrKTt2YXIgc3RhY2tlZD1zdGFjay5nZXQodmFsdWUpO2lmKHN0YWNrZWQpcmV0dXJuIHN0YWNrZWQ7c3RhY2suc2V0KHZhbHVlLHJlc3VsdCk7aWYoaXNTZXQodmFsdWUpKXt2YWx1ZS5mb3JFYWNoKGZ1bmN0aW9uKHN1YlZhbHVlKXtyZXN1bHQuYWRkKGJhc2VDbG9uZShzdWJWYWx1ZSxiaXRtYXNrLGN1c3RvbWl6ZXIsc3ViVmFsdWUsdmFsdWUsc3RhY2spKX0pO3JldHVybiByZXN1bHR9aWYoaXNNYXAodmFsdWUpKXt2YWx1ZS5mb3JFYWNoKGZ1bmN0aW9uKHN1YlZhbHVlLGtleSl7cmVzdWx0LnNldChrZXksYmFzZUNsb25lKHN1YlZhbHVlLGJpdG1hc2ssY3VzdG9taXplcixrZXksdmFsdWUsCnN0YWNrKSl9KTtyZXR1cm4gcmVzdWx0fXZhciBrZXlzRnVuYz1pc0Z1bGw/aXNGbGF0P2dldEFsbEtleXNJbjpnZXRBbGxLZXlzOmlzRmxhdD9rZXlzSW46a2V5czt2YXIgcHJvcHM9aXNBcnI/dW5kZWZpbmVkOmtleXNGdW5jKHZhbHVlKTthcnJheUVhY2gocHJvcHN8fHZhbHVlLGZ1bmN0aW9uKHN1YlZhbHVlLGtleSl7aWYocHJvcHMpe2tleT1zdWJWYWx1ZTtzdWJWYWx1ZT12YWx1ZVtrZXldfWFzc2lnblZhbHVlKHJlc3VsdCxrZXksYmFzZUNsb25lKHN1YlZhbHVlLGJpdG1hc2ssY3VzdG9taXplcixrZXksdmFsdWUsc3RhY2spKX0pO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gYmFzZUNvbmZvcm1zKHNvdXJjZSl7dmFyIHByb3BzPWtleXMoc291cmNlKTtyZXR1cm4gZnVuY3Rpb24ob2JqZWN0KXtyZXR1cm4gYmFzZUNvbmZvcm1zVG8ob2JqZWN0LHNvdXJjZSxwcm9wcyl9fWZ1bmN0aW9uIGJhc2VDb25mb3Jtc1RvKG9iamVjdCxzb3VyY2UscHJvcHMpe3ZhciBsZW5ndGg9cHJvcHMubGVuZ3RoOwppZihvYmplY3Q9PW51bGwpcmV0dXJuIWxlbmd0aDtvYmplY3Q9T2JqZWN0KG9iamVjdCk7d2hpbGUobGVuZ3RoLS0pe3ZhciBrZXk9cHJvcHNbbGVuZ3RoXSxwcmVkaWNhdGU9c291cmNlW2tleV0sdmFsdWU9b2JqZWN0W2tleV07aWYodmFsdWU9PT11bmRlZmluZWQmJiEoa2V5IGluIG9iamVjdCl8fCFwcmVkaWNhdGUodmFsdWUpKXJldHVybiBmYWxzZX1yZXR1cm4gdHJ1ZX1mdW5jdGlvbiBiYXNlRGVsYXkoZnVuYyx3YWl0LGFyZ3Mpe2lmKHR5cGVvZiBmdW5jIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtyZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpe2Z1bmMuYXBwbHkodW5kZWZpbmVkLGFyZ3MpfSx3YWl0KX1mdW5jdGlvbiBiYXNlRGlmZmVyZW5jZShhcnJheSx2YWx1ZXMsaXRlcmF0ZWUsY29tcGFyYXRvcil7dmFyIGluZGV4PS0xLGluY2x1ZGVzPWFycmF5SW5jbHVkZXMsaXNDb21tb249dHJ1ZSxsZW5ndGg9YXJyYXkubGVuZ3RoLApyZXN1bHQ9W10sdmFsdWVzTGVuZ3RoPXZhbHVlcy5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm4gcmVzdWx0O2lmKGl0ZXJhdGVlKXZhbHVlcz1hcnJheU1hcCh2YWx1ZXMsYmFzZVVuYXJ5KGl0ZXJhdGVlKSk7aWYoY29tcGFyYXRvcil7aW5jbHVkZXM9YXJyYXlJbmNsdWRlc1dpdGg7aXNDb21tb249ZmFsc2V9ZWxzZSBpZih2YWx1ZXMubGVuZ3RoPj1MQVJHRV9BUlJBWV9TSVpFKXtpbmNsdWRlcz1jYWNoZUhhcztpc0NvbW1vbj1mYWxzZTt2YWx1ZXM9bmV3IFNldENhY2hlKHZhbHVlcyl9b3V0ZXI6d2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciB2YWx1ZT1hcnJheVtpbmRleF0sY29tcHV0ZWQ9aXRlcmF0ZWU9PW51bGw/dmFsdWU6aXRlcmF0ZWUodmFsdWUpO3ZhbHVlPWNvbXBhcmF0b3J8fHZhbHVlIT09MD92YWx1ZTowO2lmKGlzQ29tbW9uJiZjb21wdXRlZD09PWNvbXB1dGVkKXt2YXIgdmFsdWVzSW5kZXg9dmFsdWVzTGVuZ3RoO3doaWxlKHZhbHVlc0luZGV4LS0paWYodmFsdWVzW3ZhbHVlc0luZGV4XT09PQpjb21wdXRlZCljb250aW51ZSBvdXRlcjtyZXN1bHQucHVzaCh2YWx1ZSl9ZWxzZSBpZighaW5jbHVkZXModmFsdWVzLGNvbXB1dGVkLGNvbXBhcmF0b3IpKXJlc3VsdC5wdXNoKHZhbHVlKX1yZXR1cm4gcmVzdWx0fXZhciBiYXNlRWFjaD1jcmVhdGVCYXNlRWFjaChiYXNlRm9yT3duKTt2YXIgYmFzZUVhY2hSaWdodD1jcmVhdGVCYXNlRWFjaChiYXNlRm9yT3duUmlnaHQsdHJ1ZSk7ZnVuY3Rpb24gYmFzZUV2ZXJ5KGNvbGxlY3Rpb24scHJlZGljYXRlKXt2YXIgcmVzdWx0PXRydWU7YmFzZUVhY2goY29sbGVjdGlvbixmdW5jdGlvbih2YWx1ZSxpbmRleCxjb2xsZWN0aW9uKXtyZXN1bHQ9ISFwcmVkaWNhdGUodmFsdWUsaW5kZXgsY29sbGVjdGlvbik7cmV0dXJuIHJlc3VsdH0pO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gYmFzZUV4dHJlbXVtKGFycmF5LGl0ZXJhdGVlLGNvbXBhcmF0b3Ipe3ZhciBpbmRleD0tMSxsZW5ndGg9YXJyYXkubGVuZ3RoO3doaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgdmFsdWU9CmFycmF5W2luZGV4XSxjdXJyZW50PWl0ZXJhdGVlKHZhbHVlKTtpZihjdXJyZW50IT1udWxsJiYoY29tcHV0ZWQ9PT11bmRlZmluZWQ/Y3VycmVudD09PWN1cnJlbnQmJiFpc1N5bWJvbChjdXJyZW50KTpjb21wYXJhdG9yKGN1cnJlbnQsY29tcHV0ZWQpKSl2YXIgY29tcHV0ZWQ9Y3VycmVudCxyZXN1bHQ9dmFsdWV9cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBiYXNlRmlsbChhcnJheSx2YWx1ZSxzdGFydCxlbmQpe3ZhciBsZW5ndGg9YXJyYXkubGVuZ3RoO3N0YXJ0PXRvSW50ZWdlcihzdGFydCk7aWYoc3RhcnQ8MClzdGFydD0tc3RhcnQ+bGVuZ3RoPzA6bGVuZ3RoK3N0YXJ0O2VuZD1lbmQ9PT11bmRlZmluZWR8fGVuZD5sZW5ndGg/bGVuZ3RoOnRvSW50ZWdlcihlbmQpO2lmKGVuZDwwKWVuZCs9bGVuZ3RoO2VuZD1zdGFydD5lbmQ/MDp0b0xlbmd0aChlbmQpO3doaWxlKHN0YXJ0PGVuZClhcnJheVtzdGFydCsrXT12YWx1ZTtyZXR1cm4gYXJyYXl9ZnVuY3Rpb24gYmFzZUZpbHRlcihjb2xsZWN0aW9uLApwcmVkaWNhdGUpe3ZhciByZXN1bHQ9W107YmFzZUVhY2goY29sbGVjdGlvbixmdW5jdGlvbih2YWx1ZSxpbmRleCxjb2xsZWN0aW9uKXtpZihwcmVkaWNhdGUodmFsdWUsaW5kZXgsY29sbGVjdGlvbikpcmVzdWx0LnB1c2godmFsdWUpfSk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBiYXNlRmxhdHRlbihhcnJheSxkZXB0aCxwcmVkaWNhdGUsaXNTdHJpY3QscmVzdWx0KXt2YXIgaW5kZXg9LTEsbGVuZ3RoPWFycmF5Lmxlbmd0aDtwcmVkaWNhdGV8fChwcmVkaWNhdGU9aXNGbGF0dGVuYWJsZSk7cmVzdWx0fHwocmVzdWx0PVtdKTt3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIHZhbHVlPWFycmF5W2luZGV4XTtpZihkZXB0aD4wJiZwcmVkaWNhdGUodmFsdWUpKWlmKGRlcHRoPjEpYmFzZUZsYXR0ZW4odmFsdWUsZGVwdGgtMSxwcmVkaWNhdGUsaXNTdHJpY3QscmVzdWx0KTtlbHNlIGFycmF5UHVzaChyZXN1bHQsdmFsdWUpO2Vsc2UgaWYoIWlzU3RyaWN0KXJlc3VsdFtyZXN1bHQubGVuZ3RoXT0KdmFsdWV9cmV0dXJuIHJlc3VsdH12YXIgYmFzZUZvcj1jcmVhdGVCYXNlRm9yKCk7dmFyIGJhc2VGb3JSaWdodD1jcmVhdGVCYXNlRm9yKHRydWUpO2Z1bmN0aW9uIGJhc2VGb3JPd24ob2JqZWN0LGl0ZXJhdGVlKXtyZXR1cm4gb2JqZWN0JiZiYXNlRm9yKG9iamVjdCxpdGVyYXRlZSxrZXlzKX1mdW5jdGlvbiBiYXNlRm9yT3duUmlnaHQob2JqZWN0LGl0ZXJhdGVlKXtyZXR1cm4gb2JqZWN0JiZiYXNlRm9yUmlnaHQob2JqZWN0LGl0ZXJhdGVlLGtleXMpfWZ1bmN0aW9uIGJhc2VGdW5jdGlvbnMob2JqZWN0LHByb3BzKXtyZXR1cm4gYXJyYXlGaWx0ZXIocHJvcHMsZnVuY3Rpb24oa2V5KXtyZXR1cm4gaXNGdW5jdGlvbihvYmplY3Rba2V5XSl9KX1mdW5jdGlvbiBiYXNlR2V0KG9iamVjdCxwYXRoKXtwYXRoPWNhc3RQYXRoKHBhdGgsb2JqZWN0KTt2YXIgaW5kZXg9MCxsZW5ndGg9cGF0aC5sZW5ndGg7d2hpbGUob2JqZWN0IT1udWxsJiZpbmRleDxsZW5ndGgpb2JqZWN0PW9iamVjdFt0b0tleShwYXRoW2luZGV4KytdKV07CnJldHVybiBpbmRleCYmaW5kZXg9PWxlbmd0aD9vYmplY3Q6dW5kZWZpbmVkfWZ1bmN0aW9uIGJhc2VHZXRBbGxLZXlzKG9iamVjdCxrZXlzRnVuYyxzeW1ib2xzRnVuYyl7dmFyIHJlc3VsdD1rZXlzRnVuYyhvYmplY3QpO3JldHVybiBpc0FycmF5KG9iamVjdCk/cmVzdWx0OmFycmF5UHVzaChyZXN1bHQsc3ltYm9sc0Z1bmMob2JqZWN0KSl9ZnVuY3Rpb24gYmFzZUdldFRhZyh2YWx1ZSl7aWYodmFsdWU9PW51bGwpcmV0dXJuIHZhbHVlPT09dW5kZWZpbmVkP3VuZGVmaW5lZFRhZzpudWxsVGFnO3JldHVybiBzeW1Ub1N0cmluZ1RhZyYmc3ltVG9TdHJpbmdUYWcgaW4gT2JqZWN0KHZhbHVlKT9nZXRSYXdUYWcodmFsdWUpOm9iamVjdFRvU3RyaW5nKHZhbHVlKX1mdW5jdGlvbiBiYXNlR3QodmFsdWUsb3RoZXIpe3JldHVybiB2YWx1ZT5vdGhlcn1mdW5jdGlvbiBiYXNlSGFzKG9iamVjdCxrZXkpe3JldHVybiBvYmplY3QhPW51bGwmJmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LAprZXkpfWZ1bmN0aW9uIGJhc2VIYXNJbihvYmplY3Qsa2V5KXtyZXR1cm4gb2JqZWN0IT1udWxsJiZrZXkgaW4gT2JqZWN0KG9iamVjdCl9ZnVuY3Rpb24gYmFzZUluUmFuZ2UobnVtYmVyLHN0YXJ0LGVuZCl7cmV0dXJuIG51bWJlcj49bmF0aXZlTWluKHN0YXJ0LGVuZCkmJm51bWJlcjxuYXRpdmVNYXgoc3RhcnQsZW5kKX1mdW5jdGlvbiBiYXNlSW50ZXJzZWN0aW9uKGFycmF5cyxpdGVyYXRlZSxjb21wYXJhdG9yKXt2YXIgaW5jbHVkZXM9Y29tcGFyYXRvcj9hcnJheUluY2x1ZGVzV2l0aDphcnJheUluY2x1ZGVzLGxlbmd0aD1hcnJheXNbMF0ubGVuZ3RoLG90aExlbmd0aD1hcnJheXMubGVuZ3RoLG90aEluZGV4PW90aExlbmd0aCxjYWNoZXM9QXJyYXkob3RoTGVuZ3RoKSxtYXhMZW5ndGg9SW5maW5pdHkscmVzdWx0PVtdO3doaWxlKG90aEluZGV4LS0pe3ZhciBhcnJheT1hcnJheXNbb3RoSW5kZXhdO2lmKG90aEluZGV4JiZpdGVyYXRlZSlhcnJheT1hcnJheU1hcChhcnJheSwKYmFzZVVuYXJ5KGl0ZXJhdGVlKSk7bWF4TGVuZ3RoPW5hdGl2ZU1pbihhcnJheS5sZW5ndGgsbWF4TGVuZ3RoKTtjYWNoZXNbb3RoSW5kZXhdPSFjb21wYXJhdG9yJiYoaXRlcmF0ZWV8fGxlbmd0aD49MTIwJiZhcnJheS5sZW5ndGg+PTEyMCk/bmV3IFNldENhY2hlKG90aEluZGV4JiZhcnJheSk6dW5kZWZpbmVkfWFycmF5PWFycmF5c1swXTt2YXIgaW5kZXg9LTEsc2Vlbj1jYWNoZXNbMF07b3V0ZXI6d2hpbGUoKytpbmRleDxsZW5ndGgmJnJlc3VsdC5sZW5ndGg8bWF4TGVuZ3RoKXt2YXIgdmFsdWU9YXJyYXlbaW5kZXhdLGNvbXB1dGVkPWl0ZXJhdGVlP2l0ZXJhdGVlKHZhbHVlKTp2YWx1ZTt2YWx1ZT1jb21wYXJhdG9yfHx2YWx1ZSE9PTA/dmFsdWU6MDtpZighKHNlZW4/Y2FjaGVIYXMoc2Vlbixjb21wdXRlZCk6aW5jbHVkZXMocmVzdWx0LGNvbXB1dGVkLGNvbXBhcmF0b3IpKSl7b3RoSW5kZXg9b3RoTGVuZ3RoO3doaWxlKC0tb3RoSW5kZXgpe3ZhciBjYWNoZT1jYWNoZXNbb3RoSW5kZXhdOwppZighKGNhY2hlP2NhY2hlSGFzKGNhY2hlLGNvbXB1dGVkKTppbmNsdWRlcyhhcnJheXNbb3RoSW5kZXhdLGNvbXB1dGVkLGNvbXBhcmF0b3IpKSljb250aW51ZSBvdXRlcn1pZihzZWVuKXNlZW4ucHVzaChjb21wdXRlZCk7cmVzdWx0LnB1c2godmFsdWUpfX1yZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGJhc2VJbnZlcnRlcihvYmplY3Qsc2V0dGVyLGl0ZXJhdGVlLGFjY3VtdWxhdG9yKXtiYXNlRm9yT3duKG9iamVjdCxmdW5jdGlvbih2YWx1ZSxrZXksb2JqZWN0KXtzZXR0ZXIoYWNjdW11bGF0b3IsaXRlcmF0ZWUodmFsdWUpLGtleSxvYmplY3QpfSk7cmV0dXJuIGFjY3VtdWxhdG9yfWZ1bmN0aW9uIGJhc2VJbnZva2Uob2JqZWN0LHBhdGgsYXJncyl7cGF0aD1jYXN0UGF0aChwYXRoLG9iamVjdCk7b2JqZWN0PXBhcmVudChvYmplY3QscGF0aCk7dmFyIGZ1bmM9b2JqZWN0PT1udWxsP29iamVjdDpvYmplY3RbdG9LZXkobGFzdChwYXRoKSldO3JldHVybiBmdW5jPT1udWxsP3VuZGVmaW5lZDoKYXBwbHkoZnVuYyxvYmplY3QsYXJncyl9ZnVuY3Rpb24gYmFzZUlzQXJndW1lbnRzKHZhbHVlKXtyZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSYmYmFzZUdldFRhZyh2YWx1ZSk9PWFyZ3NUYWd9ZnVuY3Rpb24gYmFzZUlzQXJyYXlCdWZmZXIodmFsdWUpe3JldHVybiBpc09iamVjdExpa2UodmFsdWUpJiZiYXNlR2V0VGFnKHZhbHVlKT09YXJyYXlCdWZmZXJUYWd9ZnVuY3Rpb24gYmFzZUlzRGF0ZSh2YWx1ZSl7cmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkmJmJhc2VHZXRUYWcodmFsdWUpPT1kYXRlVGFnfWZ1bmN0aW9uIGJhc2VJc0VxdWFsKHZhbHVlLG90aGVyLGJpdG1hc2ssY3VzdG9taXplcixzdGFjayl7aWYodmFsdWU9PT1vdGhlcilyZXR1cm4gdHJ1ZTtpZih2YWx1ZT09bnVsbHx8b3RoZXI9PW51bGx8fCFpc09iamVjdExpa2UodmFsdWUpJiYhaXNPYmplY3RMaWtlKG90aGVyKSlyZXR1cm4gdmFsdWUhPT12YWx1ZSYmb3RoZXIhPT1vdGhlcjtyZXR1cm4gYmFzZUlzRXF1YWxEZWVwKHZhbHVlLApvdGhlcixiaXRtYXNrLGN1c3RvbWl6ZXIsYmFzZUlzRXF1YWwsc3RhY2spfWZ1bmN0aW9uIGJhc2VJc0VxdWFsRGVlcChvYmplY3Qsb3RoZXIsYml0bWFzayxjdXN0b21pemVyLGVxdWFsRnVuYyxzdGFjayl7dmFyIG9iaklzQXJyPWlzQXJyYXkob2JqZWN0KSxvdGhJc0Fycj1pc0FycmF5KG90aGVyKSxvYmpUYWc9b2JqSXNBcnI/YXJyYXlUYWc6Z2V0VGFnKG9iamVjdCksb3RoVGFnPW90aElzQXJyP2FycmF5VGFnOmdldFRhZyhvdGhlcik7b2JqVGFnPW9ialRhZz09YXJnc1RhZz9vYmplY3RUYWc6b2JqVGFnO290aFRhZz1vdGhUYWc9PWFyZ3NUYWc/b2JqZWN0VGFnOm90aFRhZzt2YXIgb2JqSXNPYmo9b2JqVGFnPT1vYmplY3RUYWcsb3RoSXNPYmo9b3RoVGFnPT1vYmplY3RUYWcsaXNTYW1lVGFnPW9ialRhZz09b3RoVGFnO2lmKGlzU2FtZVRhZyYmaXNCdWZmZXIob2JqZWN0KSl7aWYoIWlzQnVmZmVyKG90aGVyKSlyZXR1cm4gZmFsc2U7b2JqSXNBcnI9dHJ1ZTtvYmpJc09iaj0KZmFsc2V9aWYoaXNTYW1lVGFnJiYhb2JqSXNPYmope3N0YWNrfHwoc3RhY2s9bmV3IFN0YWNrKTtyZXR1cm4gb2JqSXNBcnJ8fGlzVHlwZWRBcnJheShvYmplY3QpP2VxdWFsQXJyYXlzKG9iamVjdCxvdGhlcixiaXRtYXNrLGN1c3RvbWl6ZXIsZXF1YWxGdW5jLHN0YWNrKTplcXVhbEJ5VGFnKG9iamVjdCxvdGhlcixvYmpUYWcsYml0bWFzayxjdXN0b21pemVyLGVxdWFsRnVuYyxzdGFjayl9aWYoIShiaXRtYXNrJkNPTVBBUkVfUEFSVElBTF9GTEFHKSl7dmFyIG9iaklzV3JhcHBlZD1vYmpJc09iaiYmaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIl9fd3JhcHBlZF9fIiksb3RoSXNXcmFwcGVkPW90aElzT2JqJiZoYXNPd25Qcm9wZXJ0eS5jYWxsKG90aGVyLCJfX3dyYXBwZWRfXyIpO2lmKG9iaklzV3JhcHBlZHx8b3RoSXNXcmFwcGVkKXt2YXIgb2JqVW53cmFwcGVkPW9iaklzV3JhcHBlZD9vYmplY3QudmFsdWUoKTpvYmplY3Qsb3RoVW53cmFwcGVkPW90aElzV3JhcHBlZD9vdGhlci52YWx1ZSgpOgpvdGhlcjtzdGFja3x8KHN0YWNrPW5ldyBTdGFjayk7cmV0dXJuIGVxdWFsRnVuYyhvYmpVbndyYXBwZWQsb3RoVW53cmFwcGVkLGJpdG1hc2ssY3VzdG9taXplcixzdGFjayl9fWlmKCFpc1NhbWVUYWcpcmV0dXJuIGZhbHNlO3N0YWNrfHwoc3RhY2s9bmV3IFN0YWNrKTtyZXR1cm4gZXF1YWxPYmplY3RzKG9iamVjdCxvdGhlcixiaXRtYXNrLGN1c3RvbWl6ZXIsZXF1YWxGdW5jLHN0YWNrKX1mdW5jdGlvbiBiYXNlSXNNYXAodmFsdWUpe3JldHVybiBpc09iamVjdExpa2UodmFsdWUpJiZnZXRUYWcodmFsdWUpPT1tYXBUYWd9ZnVuY3Rpb24gYmFzZUlzTWF0Y2gob2JqZWN0LHNvdXJjZSxtYXRjaERhdGEsY3VzdG9taXplcil7dmFyIGluZGV4PW1hdGNoRGF0YS5sZW5ndGgsbGVuZ3RoPWluZGV4LG5vQ3VzdG9taXplcj0hY3VzdG9taXplcjtpZihvYmplY3Q9PW51bGwpcmV0dXJuIWxlbmd0aDtvYmplY3Q9T2JqZWN0KG9iamVjdCk7d2hpbGUoaW5kZXgtLSl7dmFyIGRhdGE9bWF0Y2hEYXRhW2luZGV4XTsKaWYobm9DdXN0b21pemVyJiZkYXRhWzJdP2RhdGFbMV0hPT1vYmplY3RbZGF0YVswXV06IShkYXRhWzBdaW4gb2JqZWN0KSlyZXR1cm4gZmFsc2V9d2hpbGUoKytpbmRleDxsZW5ndGgpe2RhdGE9bWF0Y2hEYXRhW2luZGV4XTt2YXIga2V5PWRhdGFbMF0sb2JqVmFsdWU9b2JqZWN0W2tleV0sc3JjVmFsdWU9ZGF0YVsxXTtpZihub0N1c3RvbWl6ZXImJmRhdGFbMl0pe2lmKG9ialZhbHVlPT09dW5kZWZpbmVkJiYhKGtleSBpbiBvYmplY3QpKXJldHVybiBmYWxzZX1lbHNle3ZhciBzdGFjaz1uZXcgU3RhY2s7aWYoY3VzdG9taXplcil2YXIgcmVzdWx0PWN1c3RvbWl6ZXIob2JqVmFsdWUsc3JjVmFsdWUsa2V5LG9iamVjdCxzb3VyY2Usc3RhY2spO2lmKCEocmVzdWx0PT09dW5kZWZpbmVkP2Jhc2VJc0VxdWFsKHNyY1ZhbHVlLG9ialZhbHVlLENPTVBBUkVfUEFSVElBTF9GTEFHfENPTVBBUkVfVU5PUkRFUkVEX0ZMQUcsY3VzdG9taXplcixzdGFjayk6cmVzdWx0KSlyZXR1cm4gZmFsc2V9fXJldHVybiB0cnVlfQpmdW5jdGlvbiBiYXNlSXNOYXRpdmUodmFsdWUpe2lmKCFpc09iamVjdCh2YWx1ZSl8fGlzTWFza2VkKHZhbHVlKSlyZXR1cm4gZmFsc2U7dmFyIHBhdHRlcm49aXNGdW5jdGlvbih2YWx1ZSk/cmVJc05hdGl2ZTpyZUlzSG9zdEN0b3I7cmV0dXJuIHBhdHRlcm4udGVzdCh0b1NvdXJjZSh2YWx1ZSkpfWZ1bmN0aW9uIGJhc2VJc1JlZ0V4cCh2YWx1ZSl7cmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkmJmJhc2VHZXRUYWcodmFsdWUpPT1yZWdleHBUYWd9ZnVuY3Rpb24gYmFzZUlzU2V0KHZhbHVlKXtyZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSYmZ2V0VGFnKHZhbHVlKT09c2V0VGFnfWZ1bmN0aW9uIGJhc2VJc1R5cGVkQXJyYXkodmFsdWUpe3JldHVybiBpc09iamVjdExpa2UodmFsdWUpJiZpc0xlbmd0aCh2YWx1ZS5sZW5ndGgpJiYhIXR5cGVkQXJyYXlUYWdzW2Jhc2VHZXRUYWcodmFsdWUpXX1mdW5jdGlvbiBiYXNlSXRlcmF0ZWUodmFsdWUpe2lmKHR5cGVvZiB2YWx1ZT09ImZ1bmN0aW9uIilyZXR1cm4gdmFsdWU7CmlmKHZhbHVlPT1udWxsKXJldHVybiBpZGVudGl0eTtpZih0eXBlb2YgdmFsdWU9PSJvYmplY3QiKXJldHVybiBpc0FycmF5KHZhbHVlKT9iYXNlTWF0Y2hlc1Byb3BlcnR5KHZhbHVlWzBdLHZhbHVlWzFdKTpiYXNlTWF0Y2hlcyh2YWx1ZSk7cmV0dXJuIHByb3BlcnR5KHZhbHVlKX1mdW5jdGlvbiBiYXNlS2V5cyhvYmplY3Qpe2lmKCFpc1Byb3RvdHlwZShvYmplY3QpKXJldHVybiBuYXRpdmVLZXlzKG9iamVjdCk7dmFyIHJlc3VsdD1bXTtmb3IodmFyIGtleSBpbiBPYmplY3Qob2JqZWN0KSlpZihoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCxrZXkpJiZrZXkhPSJjb25zdHJ1Y3RvciIpcmVzdWx0LnB1c2goa2V5KTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGJhc2VLZXlzSW4ob2JqZWN0KXtpZighaXNPYmplY3Qob2JqZWN0KSlyZXR1cm4gbmF0aXZlS2V5c0luKG9iamVjdCk7dmFyIGlzUHJvdG89aXNQcm90b3R5cGUob2JqZWN0KSxyZXN1bHQ9W107Zm9yKHZhciBrZXkgaW4gb2JqZWN0KWlmKCEoa2V5PT0KImNvbnN0cnVjdG9yIiYmKGlzUHJvdG98fCFoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCxrZXkpKSkpcmVzdWx0LnB1c2goa2V5KTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGJhc2VMdCh2YWx1ZSxvdGhlcil7cmV0dXJuIHZhbHVlPG90aGVyfWZ1bmN0aW9uIGJhc2VNYXAoY29sbGVjdGlvbixpdGVyYXRlZSl7dmFyIGluZGV4PS0xLHJlc3VsdD1pc0FycmF5TGlrZShjb2xsZWN0aW9uKT9BcnJheShjb2xsZWN0aW9uLmxlbmd0aCk6W107YmFzZUVhY2goY29sbGVjdGlvbixmdW5jdGlvbih2YWx1ZSxrZXksY29sbGVjdGlvbil7cmVzdWx0WysraW5kZXhdPWl0ZXJhdGVlKHZhbHVlLGtleSxjb2xsZWN0aW9uKX0pO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gYmFzZU1hdGNoZXMoc291cmNlKXt2YXIgbWF0Y2hEYXRhPWdldE1hdGNoRGF0YShzb3VyY2UpO2lmKG1hdGNoRGF0YS5sZW5ndGg9PTEmJm1hdGNoRGF0YVswXVsyXSlyZXR1cm4gbWF0Y2hlc1N0cmljdENvbXBhcmFibGUobWF0Y2hEYXRhWzBdWzBdLAptYXRjaERhdGFbMF1bMV0pO3JldHVybiBmdW5jdGlvbihvYmplY3Qpe3JldHVybiBvYmplY3Q9PT1zb3VyY2V8fGJhc2VJc01hdGNoKG9iamVjdCxzb3VyY2UsbWF0Y2hEYXRhKX19ZnVuY3Rpb24gYmFzZU1hdGNoZXNQcm9wZXJ0eShwYXRoLHNyY1ZhbHVlKXtpZihpc0tleShwYXRoKSYmaXNTdHJpY3RDb21wYXJhYmxlKHNyY1ZhbHVlKSlyZXR1cm4gbWF0Y2hlc1N0cmljdENvbXBhcmFibGUodG9LZXkocGF0aCksc3JjVmFsdWUpO3JldHVybiBmdW5jdGlvbihvYmplY3Qpe3ZhciBvYmpWYWx1ZT1nZXQob2JqZWN0LHBhdGgpO3JldHVybiBvYmpWYWx1ZT09PXVuZGVmaW5lZCYmb2JqVmFsdWU9PT1zcmNWYWx1ZT9oYXNJbihvYmplY3QscGF0aCk6YmFzZUlzRXF1YWwoc3JjVmFsdWUsb2JqVmFsdWUsQ09NUEFSRV9QQVJUSUFMX0ZMQUd8Q09NUEFSRV9VTk9SREVSRURfRkxBRyl9fWZ1bmN0aW9uIGJhc2VNZXJnZShvYmplY3Qsc291cmNlLHNyY0luZGV4LGN1c3RvbWl6ZXIsc3RhY2spe2lmKG9iamVjdD09PQpzb3VyY2UpcmV0dXJuO2Jhc2VGb3Ioc291cmNlLGZ1bmN0aW9uKHNyY1ZhbHVlLGtleSl7aWYoaXNPYmplY3Qoc3JjVmFsdWUpKXtzdGFja3x8KHN0YWNrPW5ldyBTdGFjayk7YmFzZU1lcmdlRGVlcChvYmplY3Qsc291cmNlLGtleSxzcmNJbmRleCxiYXNlTWVyZ2UsY3VzdG9taXplcixzdGFjayl9ZWxzZXt2YXIgbmV3VmFsdWU9Y3VzdG9taXplcj9jdXN0b21pemVyKHNhZmVHZXQob2JqZWN0LGtleSksc3JjVmFsdWUsa2V5KyIiLG9iamVjdCxzb3VyY2Usc3RhY2spOnVuZGVmaW5lZDtpZihuZXdWYWx1ZT09PXVuZGVmaW5lZCluZXdWYWx1ZT1zcmNWYWx1ZTthc3NpZ25NZXJnZVZhbHVlKG9iamVjdCxrZXksbmV3VmFsdWUpfX0sa2V5c0luKX1mdW5jdGlvbiBiYXNlTWVyZ2VEZWVwKG9iamVjdCxzb3VyY2Usa2V5LHNyY0luZGV4LG1lcmdlRnVuYyxjdXN0b21pemVyLHN0YWNrKXt2YXIgb2JqVmFsdWU9c2FmZUdldChvYmplY3Qsa2V5KSxzcmNWYWx1ZT1zYWZlR2V0KHNvdXJjZSwKa2V5KSxzdGFja2VkPXN0YWNrLmdldChzcmNWYWx1ZSk7aWYoc3RhY2tlZCl7YXNzaWduTWVyZ2VWYWx1ZShvYmplY3Qsa2V5LHN0YWNrZWQpO3JldHVybn12YXIgbmV3VmFsdWU9Y3VzdG9taXplcj9jdXN0b21pemVyKG9ialZhbHVlLHNyY1ZhbHVlLGtleSsiIixvYmplY3Qsc291cmNlLHN0YWNrKTp1bmRlZmluZWQ7dmFyIGlzQ29tbW9uPW5ld1ZhbHVlPT09dW5kZWZpbmVkO2lmKGlzQ29tbW9uKXt2YXIgaXNBcnI9aXNBcnJheShzcmNWYWx1ZSksaXNCdWZmPSFpc0FyciYmaXNCdWZmZXIoc3JjVmFsdWUpLGlzVHlwZWQ9IWlzQXJyJiYhaXNCdWZmJiZpc1R5cGVkQXJyYXkoc3JjVmFsdWUpO25ld1ZhbHVlPXNyY1ZhbHVlO2lmKGlzQXJyfHxpc0J1ZmZ8fGlzVHlwZWQpaWYoaXNBcnJheShvYmpWYWx1ZSkpbmV3VmFsdWU9b2JqVmFsdWU7ZWxzZSBpZihpc0FycmF5TGlrZU9iamVjdChvYmpWYWx1ZSkpbmV3VmFsdWU9Y29weUFycmF5KG9ialZhbHVlKTtlbHNlIGlmKGlzQnVmZil7aXNDb21tb249CmZhbHNlO25ld1ZhbHVlPWNsb25lQnVmZmVyKHNyY1ZhbHVlLHRydWUpfWVsc2UgaWYoaXNUeXBlZCl7aXNDb21tb249ZmFsc2U7bmV3VmFsdWU9Y2xvbmVUeXBlZEFycmF5KHNyY1ZhbHVlLHRydWUpfWVsc2UgbmV3VmFsdWU9W107ZWxzZSBpZihpc1BsYWluT2JqZWN0KHNyY1ZhbHVlKXx8aXNBcmd1bWVudHMoc3JjVmFsdWUpKXtuZXdWYWx1ZT1vYmpWYWx1ZTtpZihpc0FyZ3VtZW50cyhvYmpWYWx1ZSkpbmV3VmFsdWU9dG9QbGFpbk9iamVjdChvYmpWYWx1ZSk7ZWxzZSBpZighaXNPYmplY3Qob2JqVmFsdWUpfHxzcmNJbmRleCYmaXNGdW5jdGlvbihvYmpWYWx1ZSkpbmV3VmFsdWU9aW5pdENsb25lT2JqZWN0KHNyY1ZhbHVlKX1lbHNlIGlzQ29tbW9uPWZhbHNlfWlmKGlzQ29tbW9uKXtzdGFjay5zZXQoc3JjVmFsdWUsbmV3VmFsdWUpO21lcmdlRnVuYyhuZXdWYWx1ZSxzcmNWYWx1ZSxzcmNJbmRleCxjdXN0b21pemVyLHN0YWNrKTtzdGFja1siZGVsZXRlIl0oc3JjVmFsdWUpfWFzc2lnbk1lcmdlVmFsdWUob2JqZWN0LAprZXksbmV3VmFsdWUpfWZ1bmN0aW9uIGJhc2VOdGgoYXJyYXksbil7dmFyIGxlbmd0aD1hcnJheS5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm47bis9bjwwP2xlbmd0aDowO3JldHVybiBpc0luZGV4KG4sbGVuZ3RoKT9hcnJheVtuXTp1bmRlZmluZWR9ZnVuY3Rpb24gYmFzZU9yZGVyQnkoY29sbGVjdGlvbixpdGVyYXRlZXMsb3JkZXJzKXt2YXIgaW5kZXg9LTE7aXRlcmF0ZWVzPWFycmF5TWFwKGl0ZXJhdGVlcy5sZW5ndGg/aXRlcmF0ZWVzOltpZGVudGl0eV0sYmFzZVVuYXJ5KGdldEl0ZXJhdGVlKCkpKTt2YXIgcmVzdWx0PWJhc2VNYXAoY29sbGVjdGlvbixmdW5jdGlvbih2YWx1ZSxrZXksY29sbGVjdGlvbil7dmFyIGNyaXRlcmlhPWFycmF5TWFwKGl0ZXJhdGVlcyxmdW5jdGlvbihpdGVyYXRlZSl7cmV0dXJuIGl0ZXJhdGVlKHZhbHVlKX0pO3JldHVybnsiY3JpdGVyaWEiOmNyaXRlcmlhLCJpbmRleCI6KytpbmRleCwidmFsdWUiOnZhbHVlfX0pO3JldHVybiBiYXNlU29ydEJ5KHJlc3VsdCwKZnVuY3Rpb24ob2JqZWN0LG90aGVyKXtyZXR1cm4gY29tcGFyZU11bHRpcGxlKG9iamVjdCxvdGhlcixvcmRlcnMpfSl9ZnVuY3Rpb24gYmFzZVBpY2sob2JqZWN0LHBhdGhzKXtyZXR1cm4gYmFzZVBpY2tCeShvYmplY3QscGF0aHMsZnVuY3Rpb24odmFsdWUscGF0aCl7cmV0dXJuIGhhc0luKG9iamVjdCxwYXRoKX0pfWZ1bmN0aW9uIGJhc2VQaWNrQnkob2JqZWN0LHBhdGhzLHByZWRpY2F0ZSl7dmFyIGluZGV4PS0xLGxlbmd0aD1wYXRocy5sZW5ndGgscmVzdWx0PXt9O3doaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgcGF0aD1wYXRoc1tpbmRleF0sdmFsdWU9YmFzZUdldChvYmplY3QscGF0aCk7aWYocHJlZGljYXRlKHZhbHVlLHBhdGgpKWJhc2VTZXQocmVzdWx0LGNhc3RQYXRoKHBhdGgsb2JqZWN0KSx2YWx1ZSl9cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBiYXNlUHJvcGVydHlEZWVwKHBhdGgpe3JldHVybiBmdW5jdGlvbihvYmplY3Qpe3JldHVybiBiYXNlR2V0KG9iamVjdCxwYXRoKX19CmZ1bmN0aW9uIGJhc2VQdWxsQWxsKGFycmF5LHZhbHVlcyxpdGVyYXRlZSxjb21wYXJhdG9yKXt2YXIgaW5kZXhPZj1jb21wYXJhdG9yP2Jhc2VJbmRleE9mV2l0aDpiYXNlSW5kZXhPZixpbmRleD0tMSxsZW5ndGg9dmFsdWVzLmxlbmd0aCxzZWVuPWFycmF5O2lmKGFycmF5PT09dmFsdWVzKXZhbHVlcz1jb3B5QXJyYXkodmFsdWVzKTtpZihpdGVyYXRlZSlzZWVuPWFycmF5TWFwKGFycmF5LGJhc2VVbmFyeShpdGVyYXRlZSkpO3doaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgZnJvbUluZGV4PTAsdmFsdWU9dmFsdWVzW2luZGV4XSxjb21wdXRlZD1pdGVyYXRlZT9pdGVyYXRlZSh2YWx1ZSk6dmFsdWU7d2hpbGUoKGZyb21JbmRleD1pbmRleE9mKHNlZW4sY29tcHV0ZWQsZnJvbUluZGV4LGNvbXBhcmF0b3IpKT4tMSl7aWYoc2VlbiE9PWFycmF5KXNwbGljZS5jYWxsKHNlZW4sZnJvbUluZGV4LDEpO3NwbGljZS5jYWxsKGFycmF5LGZyb21JbmRleCwxKX19cmV0dXJuIGFycmF5fWZ1bmN0aW9uIGJhc2VQdWxsQXQoYXJyYXksCmluZGV4ZXMpe3ZhciBsZW5ndGg9YXJyYXk/aW5kZXhlcy5sZW5ndGg6MCxsYXN0SW5kZXg9bGVuZ3RoLTE7d2hpbGUobGVuZ3RoLS0pe3ZhciBpbmRleD1pbmRleGVzW2xlbmd0aF07aWYobGVuZ3RoPT1sYXN0SW5kZXh8fGluZGV4IT09cHJldmlvdXMpe3ZhciBwcmV2aW91cz1pbmRleDtpZihpc0luZGV4KGluZGV4KSlzcGxpY2UuY2FsbChhcnJheSxpbmRleCwxKTtlbHNlIGJhc2VVbnNldChhcnJheSxpbmRleCl9fXJldHVybiBhcnJheX1mdW5jdGlvbiBiYXNlUmFuZG9tKGxvd2VyLHVwcGVyKXtyZXR1cm4gbG93ZXIrbmF0aXZlRmxvb3IobmF0aXZlUmFuZG9tKCkqKHVwcGVyLWxvd2VyKzEpKX1mdW5jdGlvbiBiYXNlUmFuZ2Uoc3RhcnQsZW5kLHN0ZXAsZnJvbVJpZ2h0KXt2YXIgaW5kZXg9LTEsbGVuZ3RoPW5hdGl2ZU1heChuYXRpdmVDZWlsKChlbmQtc3RhcnQpLyhzdGVwfHwxKSksMCkscmVzdWx0PUFycmF5KGxlbmd0aCk7d2hpbGUobGVuZ3RoLS0pe3Jlc3VsdFtmcm9tUmlnaHQ/Cmxlbmd0aDorK2luZGV4XT1zdGFydDtzdGFydCs9c3RlcH1yZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGJhc2VSZXBlYXQoc3RyaW5nLG4pe3ZhciByZXN1bHQ9IiI7aWYoIXN0cmluZ3x8bjwxfHxuPk1BWF9TQUZFX0lOVEVHRVIpcmV0dXJuIHJlc3VsdDtkb3tpZihuJTIpcmVzdWx0Kz1zdHJpbmc7bj1uYXRpdmVGbG9vcihuLzIpO2lmKG4pc3RyaW5nKz1zdHJpbmd9d2hpbGUobik7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBiYXNlUmVzdChmdW5jLHN0YXJ0KXtyZXR1cm4gc2V0VG9TdHJpbmcob3ZlclJlc3QoZnVuYyxzdGFydCxpZGVudGl0eSksZnVuYysiIil9ZnVuY3Rpb24gYmFzZVNhbXBsZShjb2xsZWN0aW9uKXtyZXR1cm4gYXJyYXlTYW1wbGUodmFsdWVzKGNvbGxlY3Rpb24pKX1mdW5jdGlvbiBiYXNlU2FtcGxlU2l6ZShjb2xsZWN0aW9uLG4pe3ZhciBhcnJheT12YWx1ZXMoY29sbGVjdGlvbik7cmV0dXJuIHNodWZmbGVTZWxmKGFycmF5LGJhc2VDbGFtcChuLDAsYXJyYXkubGVuZ3RoKSl9CmZ1bmN0aW9uIGJhc2VTZXQob2JqZWN0LHBhdGgsdmFsdWUsY3VzdG9taXplcil7aWYoIWlzT2JqZWN0KG9iamVjdCkpcmV0dXJuIG9iamVjdDtwYXRoPWNhc3RQYXRoKHBhdGgsb2JqZWN0KTt2YXIgaW5kZXg9LTEsbGVuZ3RoPXBhdGgubGVuZ3RoLGxhc3RJbmRleD1sZW5ndGgtMSxuZXN0ZWQ9b2JqZWN0O3doaWxlKG5lc3RlZCE9bnVsbCYmKytpbmRleDxsZW5ndGgpe3ZhciBrZXk9dG9LZXkocGF0aFtpbmRleF0pLG5ld1ZhbHVlPXZhbHVlO2lmKGluZGV4IT1sYXN0SW5kZXgpe3ZhciBvYmpWYWx1ZT1uZXN0ZWRba2V5XTtuZXdWYWx1ZT1jdXN0b21pemVyP2N1c3RvbWl6ZXIob2JqVmFsdWUsa2V5LG5lc3RlZCk6dW5kZWZpbmVkO2lmKG5ld1ZhbHVlPT09dW5kZWZpbmVkKW5ld1ZhbHVlPWlzT2JqZWN0KG9ialZhbHVlKT9vYmpWYWx1ZTppc0luZGV4KHBhdGhbaW5kZXgrMV0pP1tdOnt9fWFzc2lnblZhbHVlKG5lc3RlZCxrZXksbmV3VmFsdWUpO25lc3RlZD1uZXN0ZWRba2V5XX1yZXR1cm4gb2JqZWN0fQp2YXIgYmFzZVNldERhdGE9IW1ldGFNYXA/aWRlbnRpdHk6ZnVuY3Rpb24oZnVuYyxkYXRhKXttZXRhTWFwLnNldChmdW5jLGRhdGEpO3JldHVybiBmdW5jfTt2YXIgYmFzZVNldFRvU3RyaW5nPSFkZWZpbmVQcm9wZXJ0eT9pZGVudGl0eTpmdW5jdGlvbihmdW5jLHN0cmluZyl7cmV0dXJuIGRlZmluZVByb3BlcnR5KGZ1bmMsInRvU3RyaW5nIix7ImNvbmZpZ3VyYWJsZSI6dHJ1ZSwiZW51bWVyYWJsZSI6ZmFsc2UsInZhbHVlIjpjb25zdGFudChzdHJpbmcpLCJ3cml0YWJsZSI6dHJ1ZX0pfTtmdW5jdGlvbiBiYXNlU2h1ZmZsZShjb2xsZWN0aW9uKXtyZXR1cm4gc2h1ZmZsZVNlbGYodmFsdWVzKGNvbGxlY3Rpb24pKX1mdW5jdGlvbiBiYXNlU2xpY2UoYXJyYXksc3RhcnQsZW5kKXt2YXIgaW5kZXg9LTEsbGVuZ3RoPWFycmF5Lmxlbmd0aDtpZihzdGFydDwwKXN0YXJ0PS1zdGFydD5sZW5ndGg/MDpsZW5ndGgrc3RhcnQ7ZW5kPWVuZD5sZW5ndGg/bGVuZ3RoOmVuZDtpZihlbmQ8MCllbmQrPQpsZW5ndGg7bGVuZ3RoPXN0YXJ0PmVuZD8wOmVuZC1zdGFydD4+PjA7c3RhcnQ+Pj49MDt2YXIgcmVzdWx0PUFycmF5KGxlbmd0aCk7d2hpbGUoKytpbmRleDxsZW5ndGgpcmVzdWx0W2luZGV4XT1hcnJheVtpbmRleCtzdGFydF07cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBiYXNlU29tZShjb2xsZWN0aW9uLHByZWRpY2F0ZSl7dmFyIHJlc3VsdDtiYXNlRWFjaChjb2xsZWN0aW9uLGZ1bmN0aW9uKHZhbHVlLGluZGV4LGNvbGxlY3Rpb24pe3Jlc3VsdD1wcmVkaWNhdGUodmFsdWUsaW5kZXgsY29sbGVjdGlvbik7cmV0dXJuIXJlc3VsdH0pO3JldHVybiEhcmVzdWx0fWZ1bmN0aW9uIGJhc2VTb3J0ZWRJbmRleChhcnJheSx2YWx1ZSxyZXRIaWdoZXN0KXt2YXIgbG93PTAsaGlnaD1hcnJheT09bnVsbD9sb3c6YXJyYXkubGVuZ3RoO2lmKHR5cGVvZiB2YWx1ZT09Im51bWJlciImJnZhbHVlPT09dmFsdWUmJmhpZ2g8PUhBTEZfTUFYX0FSUkFZX0xFTkdUSCl7d2hpbGUobG93PGhpZ2gpe3ZhciBtaWQ9CmxvdytoaWdoPj4+MSxjb21wdXRlZD1hcnJheVttaWRdO2lmKGNvbXB1dGVkIT09bnVsbCYmIWlzU3ltYm9sKGNvbXB1dGVkKSYmKHJldEhpZ2hlc3Q/Y29tcHV0ZWQ8PXZhbHVlOmNvbXB1dGVkPHZhbHVlKSlsb3c9bWlkKzE7ZWxzZSBoaWdoPW1pZH1yZXR1cm4gaGlnaH1yZXR1cm4gYmFzZVNvcnRlZEluZGV4QnkoYXJyYXksdmFsdWUsaWRlbnRpdHkscmV0SGlnaGVzdCl9ZnVuY3Rpb24gYmFzZVNvcnRlZEluZGV4QnkoYXJyYXksdmFsdWUsaXRlcmF0ZWUscmV0SGlnaGVzdCl7dmFsdWU9aXRlcmF0ZWUodmFsdWUpO3ZhciBsb3c9MCxoaWdoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoLHZhbElzTmFOPXZhbHVlIT09dmFsdWUsdmFsSXNOdWxsPXZhbHVlPT09bnVsbCx2YWxJc1N5bWJvbD1pc1N5bWJvbCh2YWx1ZSksdmFsSXNVbmRlZmluZWQ9dmFsdWU9PT11bmRlZmluZWQ7d2hpbGUobG93PGhpZ2gpe3ZhciBtaWQ9bmF0aXZlRmxvb3IoKGxvdytoaWdoKS8yKSxjb21wdXRlZD0KaXRlcmF0ZWUoYXJyYXlbbWlkXSksb3RoSXNEZWZpbmVkPWNvbXB1dGVkIT09dW5kZWZpbmVkLG90aElzTnVsbD1jb21wdXRlZD09PW51bGwsb3RoSXNSZWZsZXhpdmU9Y29tcHV0ZWQ9PT1jb21wdXRlZCxvdGhJc1N5bWJvbD1pc1N5bWJvbChjb21wdXRlZCk7aWYodmFsSXNOYU4pdmFyIHNldExvdz1yZXRIaWdoZXN0fHxvdGhJc1JlZmxleGl2ZTtlbHNlIGlmKHZhbElzVW5kZWZpbmVkKXNldExvdz1vdGhJc1JlZmxleGl2ZSYmKHJldEhpZ2hlc3R8fG90aElzRGVmaW5lZCk7ZWxzZSBpZih2YWxJc051bGwpc2V0TG93PW90aElzUmVmbGV4aXZlJiZvdGhJc0RlZmluZWQmJihyZXRIaWdoZXN0fHwhb3RoSXNOdWxsKTtlbHNlIGlmKHZhbElzU3ltYm9sKXNldExvdz1vdGhJc1JlZmxleGl2ZSYmb3RoSXNEZWZpbmVkJiYhb3RoSXNOdWxsJiYocmV0SGlnaGVzdHx8IW90aElzU3ltYm9sKTtlbHNlIGlmKG90aElzTnVsbHx8b3RoSXNTeW1ib2wpc2V0TG93PWZhbHNlO2Vsc2Ugc2V0TG93PQpyZXRIaWdoZXN0P2NvbXB1dGVkPD12YWx1ZTpjb21wdXRlZDx2YWx1ZTtpZihzZXRMb3cpbG93PW1pZCsxO2Vsc2UgaGlnaD1taWR9cmV0dXJuIG5hdGl2ZU1pbihoaWdoLE1BWF9BUlJBWV9JTkRFWCl9ZnVuY3Rpb24gYmFzZVNvcnRlZFVuaXEoYXJyYXksaXRlcmF0ZWUpe3ZhciBpbmRleD0tMSxsZW5ndGg9YXJyYXkubGVuZ3RoLHJlc0luZGV4PTAscmVzdWx0PVtdO3doaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgdmFsdWU9YXJyYXlbaW5kZXhdLGNvbXB1dGVkPWl0ZXJhdGVlP2l0ZXJhdGVlKHZhbHVlKTp2YWx1ZTtpZighaW5kZXh8fCFlcShjb21wdXRlZCxzZWVuKSl7dmFyIHNlZW49Y29tcHV0ZWQ7cmVzdWx0W3Jlc0luZGV4KytdPXZhbHVlPT09MD8wOnZhbHVlfX1yZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGJhc2VUb051bWJlcih2YWx1ZSl7aWYodHlwZW9mIHZhbHVlPT0ibnVtYmVyIilyZXR1cm4gdmFsdWU7aWYoaXNTeW1ib2wodmFsdWUpKXJldHVybiBOQU47cmV0dXJuK3ZhbHVlfQpmdW5jdGlvbiBiYXNlVG9TdHJpbmcodmFsdWUpe2lmKHR5cGVvZiB2YWx1ZT09InN0cmluZyIpcmV0dXJuIHZhbHVlO2lmKGlzQXJyYXkodmFsdWUpKXJldHVybiBhcnJheU1hcCh2YWx1ZSxiYXNlVG9TdHJpbmcpKyIiO2lmKGlzU3ltYm9sKHZhbHVlKSlyZXR1cm4gc3ltYm9sVG9TdHJpbmc/c3ltYm9sVG9TdHJpbmcuY2FsbCh2YWx1ZSk6IiI7dmFyIHJlc3VsdD12YWx1ZSsiIjtyZXR1cm4gcmVzdWx0PT0iMCImJjEvdmFsdWU9PS1JTkZJTklUWT8iLTAiOnJlc3VsdH1mdW5jdGlvbiBiYXNlVW5pcShhcnJheSxpdGVyYXRlZSxjb21wYXJhdG9yKXt2YXIgaW5kZXg9LTEsaW5jbHVkZXM9YXJyYXlJbmNsdWRlcyxsZW5ndGg9YXJyYXkubGVuZ3RoLGlzQ29tbW9uPXRydWUscmVzdWx0PVtdLHNlZW49cmVzdWx0O2lmKGNvbXBhcmF0b3Ipe2lzQ29tbW9uPWZhbHNlO2luY2x1ZGVzPWFycmF5SW5jbHVkZXNXaXRofWVsc2UgaWYobGVuZ3RoPj1MQVJHRV9BUlJBWV9TSVpFKXt2YXIgc2V0PQppdGVyYXRlZT9udWxsOmNyZWF0ZVNldChhcnJheSk7aWYoc2V0KXJldHVybiBzZXRUb0FycmF5KHNldCk7aXNDb21tb249ZmFsc2U7aW5jbHVkZXM9Y2FjaGVIYXM7c2Vlbj1uZXcgU2V0Q2FjaGV9ZWxzZSBzZWVuPWl0ZXJhdGVlP1tdOnJlc3VsdDtvdXRlcjp3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIHZhbHVlPWFycmF5W2luZGV4XSxjb21wdXRlZD1pdGVyYXRlZT9pdGVyYXRlZSh2YWx1ZSk6dmFsdWU7dmFsdWU9Y29tcGFyYXRvcnx8dmFsdWUhPT0wP3ZhbHVlOjA7aWYoaXNDb21tb24mJmNvbXB1dGVkPT09Y29tcHV0ZWQpe3ZhciBzZWVuSW5kZXg9c2Vlbi5sZW5ndGg7d2hpbGUoc2VlbkluZGV4LS0paWYoc2VlbltzZWVuSW5kZXhdPT09Y29tcHV0ZWQpY29udGludWUgb3V0ZXI7aWYoaXRlcmF0ZWUpc2Vlbi5wdXNoKGNvbXB1dGVkKTtyZXN1bHQucHVzaCh2YWx1ZSl9ZWxzZSBpZighaW5jbHVkZXMoc2Vlbixjb21wdXRlZCxjb21wYXJhdG9yKSl7aWYoc2VlbiE9PXJlc3VsdClzZWVuLnB1c2goY29tcHV0ZWQpOwpyZXN1bHQucHVzaCh2YWx1ZSl9fXJldHVybiByZXN1bHR9ZnVuY3Rpb24gYmFzZVVuc2V0KG9iamVjdCxwYXRoKXtwYXRoPWNhc3RQYXRoKHBhdGgsb2JqZWN0KTtvYmplY3Q9cGFyZW50KG9iamVjdCxwYXRoKTtyZXR1cm4gb2JqZWN0PT1udWxsfHxkZWxldGUgb2JqZWN0W3RvS2V5KGxhc3QocGF0aCkpXX1mdW5jdGlvbiBiYXNlVXBkYXRlKG9iamVjdCxwYXRoLHVwZGF0ZXIsY3VzdG9taXplcil7cmV0dXJuIGJhc2VTZXQob2JqZWN0LHBhdGgsdXBkYXRlcihiYXNlR2V0KG9iamVjdCxwYXRoKSksY3VzdG9taXplcil9ZnVuY3Rpb24gYmFzZVdoaWxlKGFycmF5LHByZWRpY2F0ZSxpc0Ryb3AsZnJvbVJpZ2h0KXt2YXIgbGVuZ3RoPWFycmF5Lmxlbmd0aCxpbmRleD1mcm9tUmlnaHQ/bGVuZ3RoOi0xO3doaWxlKChmcm9tUmlnaHQ/aW5kZXgtLTorK2luZGV4PGxlbmd0aCkmJnByZWRpY2F0ZShhcnJheVtpbmRleF0saW5kZXgsYXJyYXkpKTtyZXR1cm4gaXNEcm9wP2Jhc2VTbGljZShhcnJheSwKZnJvbVJpZ2h0PzA6aW5kZXgsZnJvbVJpZ2h0P2luZGV4KzE6bGVuZ3RoKTpiYXNlU2xpY2UoYXJyYXksZnJvbVJpZ2h0P2luZGV4KzE6MCxmcm9tUmlnaHQ/bGVuZ3RoOmluZGV4KX1mdW5jdGlvbiBiYXNlV3JhcHBlclZhbHVlKHZhbHVlLGFjdGlvbnMpe3ZhciByZXN1bHQ9dmFsdWU7aWYocmVzdWx0IGluc3RhbmNlb2YgTGF6eVdyYXBwZXIpcmVzdWx0PXJlc3VsdC52YWx1ZSgpO3JldHVybiBhcnJheVJlZHVjZShhY3Rpb25zLGZ1bmN0aW9uKHJlc3VsdCxhY3Rpb24pe3JldHVybiBhY3Rpb24uZnVuYy5hcHBseShhY3Rpb24udGhpc0FyZyxhcnJheVB1c2goW3Jlc3VsdF0sYWN0aW9uLmFyZ3MpKX0scmVzdWx0KX1mdW5jdGlvbiBiYXNlWG9yKGFycmF5cyxpdGVyYXRlZSxjb21wYXJhdG9yKXt2YXIgbGVuZ3RoPWFycmF5cy5sZW5ndGg7aWYobGVuZ3RoPDIpcmV0dXJuIGxlbmd0aD9iYXNlVW5pcShhcnJheXNbMF0pOltdO3ZhciBpbmRleD0tMSxyZXN1bHQ9QXJyYXkobGVuZ3RoKTsKd2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciBhcnJheT1hcnJheXNbaW5kZXhdLG90aEluZGV4PS0xO3doaWxlKCsrb3RoSW5kZXg8bGVuZ3RoKWlmKG90aEluZGV4IT1pbmRleClyZXN1bHRbaW5kZXhdPWJhc2VEaWZmZXJlbmNlKHJlc3VsdFtpbmRleF18fGFycmF5LGFycmF5c1tvdGhJbmRleF0saXRlcmF0ZWUsY29tcGFyYXRvcil9cmV0dXJuIGJhc2VVbmlxKGJhc2VGbGF0dGVuKHJlc3VsdCwxKSxpdGVyYXRlZSxjb21wYXJhdG9yKX1mdW5jdGlvbiBiYXNlWmlwT2JqZWN0KHByb3BzLHZhbHVlcyxhc3NpZ25GdW5jKXt2YXIgaW5kZXg9LTEsbGVuZ3RoPXByb3BzLmxlbmd0aCx2YWxzTGVuZ3RoPXZhbHVlcy5sZW5ndGgscmVzdWx0PXt9O3doaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgdmFsdWU9aW5kZXg8dmFsc0xlbmd0aD92YWx1ZXNbaW5kZXhdOnVuZGVmaW5lZDthc3NpZ25GdW5jKHJlc3VsdCxwcm9wc1tpbmRleF0sdmFsdWUpfXJldHVybiByZXN1bHR9ZnVuY3Rpb24gY2FzdEFycmF5TGlrZU9iamVjdCh2YWx1ZSl7cmV0dXJuIGlzQXJyYXlMaWtlT2JqZWN0KHZhbHVlKT8KdmFsdWU6W119ZnVuY3Rpb24gY2FzdEZ1bmN0aW9uKHZhbHVlKXtyZXR1cm4gdHlwZW9mIHZhbHVlPT0iZnVuY3Rpb24iP3ZhbHVlOmlkZW50aXR5fWZ1bmN0aW9uIGNhc3RQYXRoKHZhbHVlLG9iamVjdCl7aWYoaXNBcnJheSh2YWx1ZSkpcmV0dXJuIHZhbHVlO3JldHVybiBpc0tleSh2YWx1ZSxvYmplY3QpP1t2YWx1ZV06c3RyaW5nVG9QYXRoKHRvU3RyaW5nKHZhbHVlKSl9dmFyIGNhc3RSZXN0PWJhc2VSZXN0O2Z1bmN0aW9uIGNhc3RTbGljZShhcnJheSxzdGFydCxlbmQpe3ZhciBsZW5ndGg9YXJyYXkubGVuZ3RoO2VuZD1lbmQ9PT11bmRlZmluZWQ/bGVuZ3RoOmVuZDtyZXR1cm4hc3RhcnQmJmVuZD49bGVuZ3RoP2FycmF5OmJhc2VTbGljZShhcnJheSxzdGFydCxlbmQpfXZhciBjbGVhclRpbWVvdXQ9Y3R4Q2xlYXJUaW1lb3V0fHxmdW5jdGlvbihpZCl7cmV0dXJuIHJvb3QuY2xlYXJUaW1lb3V0KGlkKX07ZnVuY3Rpb24gY2xvbmVCdWZmZXIoYnVmZmVyLGlzRGVlcCl7aWYoaXNEZWVwKXJldHVybiBidWZmZXIuc2xpY2UoKTsKdmFyIGxlbmd0aD1idWZmZXIubGVuZ3RoLHJlc3VsdD1hbGxvY1Vuc2FmZT9hbGxvY1Vuc2FmZShsZW5ndGgpOm5ldyBidWZmZXIuY29uc3RydWN0b3IobGVuZ3RoKTtidWZmZXIuY29weShyZXN1bHQpO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gY2xvbmVBcnJheUJ1ZmZlcihhcnJheUJ1ZmZlcil7dmFyIHJlc3VsdD1uZXcgYXJyYXlCdWZmZXIuY29uc3RydWN0b3IoYXJyYXlCdWZmZXIuYnl0ZUxlbmd0aCk7KG5ldyBVaW50OEFycmF5KHJlc3VsdCkpLnNldChuZXcgVWludDhBcnJheShhcnJheUJ1ZmZlcikpO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gY2xvbmVEYXRhVmlldyhkYXRhVmlldyxpc0RlZXApe3ZhciBidWZmZXI9aXNEZWVwP2Nsb25lQXJyYXlCdWZmZXIoZGF0YVZpZXcuYnVmZmVyKTpkYXRhVmlldy5idWZmZXI7cmV0dXJuIG5ldyBkYXRhVmlldy5jb25zdHJ1Y3RvcihidWZmZXIsZGF0YVZpZXcuYnl0ZU9mZnNldCxkYXRhVmlldy5ieXRlTGVuZ3RoKX1mdW5jdGlvbiBjbG9uZVJlZ0V4cChyZWdleHApe3ZhciByZXN1bHQ9Cm5ldyByZWdleHAuY29uc3RydWN0b3IocmVnZXhwLnNvdXJjZSxyZUZsYWdzLmV4ZWMocmVnZXhwKSk7cmVzdWx0Lmxhc3RJbmRleD1yZWdleHAubGFzdEluZGV4O3JldHVybiByZXN1bHR9ZnVuY3Rpb24gY2xvbmVTeW1ib2woc3ltYm9sKXtyZXR1cm4gc3ltYm9sVmFsdWVPZj9PYmplY3Qoc3ltYm9sVmFsdWVPZi5jYWxsKHN5bWJvbCkpOnt9fWZ1bmN0aW9uIGNsb25lVHlwZWRBcnJheSh0eXBlZEFycmF5LGlzRGVlcCl7dmFyIGJ1ZmZlcj1pc0RlZXA/Y2xvbmVBcnJheUJ1ZmZlcih0eXBlZEFycmF5LmJ1ZmZlcik6dHlwZWRBcnJheS5idWZmZXI7cmV0dXJuIG5ldyB0eXBlZEFycmF5LmNvbnN0cnVjdG9yKGJ1ZmZlcix0eXBlZEFycmF5LmJ5dGVPZmZzZXQsdHlwZWRBcnJheS5sZW5ndGgpfWZ1bmN0aW9uIGNvbXBhcmVBc2NlbmRpbmcodmFsdWUsb3RoZXIpe2lmKHZhbHVlIT09b3RoZXIpe3ZhciB2YWxJc0RlZmluZWQ9dmFsdWUhPT11bmRlZmluZWQsdmFsSXNOdWxsPXZhbHVlPT09Cm51bGwsdmFsSXNSZWZsZXhpdmU9dmFsdWU9PT12YWx1ZSx2YWxJc1N5bWJvbD1pc1N5bWJvbCh2YWx1ZSk7dmFyIG90aElzRGVmaW5lZD1vdGhlciE9PXVuZGVmaW5lZCxvdGhJc051bGw9b3RoZXI9PT1udWxsLG90aElzUmVmbGV4aXZlPW90aGVyPT09b3RoZXIsb3RoSXNTeW1ib2w9aXNTeW1ib2wob3RoZXIpO2lmKCFvdGhJc051bGwmJiFvdGhJc1N5bWJvbCYmIXZhbElzU3ltYm9sJiZ2YWx1ZT5vdGhlcnx8dmFsSXNTeW1ib2wmJm90aElzRGVmaW5lZCYmb3RoSXNSZWZsZXhpdmUmJiFvdGhJc051bGwmJiFvdGhJc1N5bWJvbHx8dmFsSXNOdWxsJiZvdGhJc0RlZmluZWQmJm90aElzUmVmbGV4aXZlfHwhdmFsSXNEZWZpbmVkJiZvdGhJc1JlZmxleGl2ZXx8IXZhbElzUmVmbGV4aXZlKXJldHVybiAxO2lmKCF2YWxJc051bGwmJiF2YWxJc1N5bWJvbCYmIW90aElzU3ltYm9sJiZ2YWx1ZTxvdGhlcnx8b3RoSXNTeW1ib2wmJnZhbElzRGVmaW5lZCYmdmFsSXNSZWZsZXhpdmUmJiF2YWxJc051bGwmJgohdmFsSXNTeW1ib2x8fG90aElzTnVsbCYmdmFsSXNEZWZpbmVkJiZ2YWxJc1JlZmxleGl2ZXx8IW90aElzRGVmaW5lZCYmdmFsSXNSZWZsZXhpdmV8fCFvdGhJc1JlZmxleGl2ZSlyZXR1cm4tMX1yZXR1cm4gMH1mdW5jdGlvbiBjb21wYXJlTXVsdGlwbGUob2JqZWN0LG90aGVyLG9yZGVycyl7dmFyIGluZGV4PS0xLG9iakNyaXRlcmlhPW9iamVjdC5jcml0ZXJpYSxvdGhDcml0ZXJpYT1vdGhlci5jcml0ZXJpYSxsZW5ndGg9b2JqQ3JpdGVyaWEubGVuZ3RoLG9yZGVyc0xlbmd0aD1vcmRlcnMubGVuZ3RoO3doaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgcmVzdWx0PWNvbXBhcmVBc2NlbmRpbmcob2JqQ3JpdGVyaWFbaW5kZXhdLG90aENyaXRlcmlhW2luZGV4XSk7aWYocmVzdWx0KXtpZihpbmRleD49b3JkZXJzTGVuZ3RoKXJldHVybiByZXN1bHQ7dmFyIG9yZGVyPW9yZGVyc1tpbmRleF07cmV0dXJuIHJlc3VsdCoob3JkZXI9PSJkZXNjIj8tMToxKX19cmV0dXJuIG9iamVjdC5pbmRleC0Kb3RoZXIuaW5kZXh9ZnVuY3Rpb24gY29tcG9zZUFyZ3MoYXJncyxwYXJ0aWFscyxob2xkZXJzLGlzQ3VycmllZCl7dmFyIGFyZ3NJbmRleD0tMSxhcmdzTGVuZ3RoPWFyZ3MubGVuZ3RoLGhvbGRlcnNMZW5ndGg9aG9sZGVycy5sZW5ndGgsbGVmdEluZGV4PS0xLGxlZnRMZW5ndGg9cGFydGlhbHMubGVuZ3RoLHJhbmdlTGVuZ3RoPW5hdGl2ZU1heChhcmdzTGVuZ3RoLWhvbGRlcnNMZW5ndGgsMCkscmVzdWx0PUFycmF5KGxlZnRMZW5ndGgrcmFuZ2VMZW5ndGgpLGlzVW5jdXJyaWVkPSFpc0N1cnJpZWQ7d2hpbGUoKytsZWZ0SW5kZXg8bGVmdExlbmd0aClyZXN1bHRbbGVmdEluZGV4XT1wYXJ0aWFsc1tsZWZ0SW5kZXhdO3doaWxlKCsrYXJnc0luZGV4PGhvbGRlcnNMZW5ndGgpaWYoaXNVbmN1cnJpZWR8fGFyZ3NJbmRleDxhcmdzTGVuZ3RoKXJlc3VsdFtob2xkZXJzW2FyZ3NJbmRleF1dPWFyZ3NbYXJnc0luZGV4XTt3aGlsZShyYW5nZUxlbmd0aC0tKXJlc3VsdFtsZWZ0SW5kZXgrK109CmFyZ3NbYXJnc0luZGV4KytdO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gY29tcG9zZUFyZ3NSaWdodChhcmdzLHBhcnRpYWxzLGhvbGRlcnMsaXNDdXJyaWVkKXt2YXIgYXJnc0luZGV4PS0xLGFyZ3NMZW5ndGg9YXJncy5sZW5ndGgsaG9sZGVyc0luZGV4PS0xLGhvbGRlcnNMZW5ndGg9aG9sZGVycy5sZW5ndGgscmlnaHRJbmRleD0tMSxyaWdodExlbmd0aD1wYXJ0aWFscy5sZW5ndGgscmFuZ2VMZW5ndGg9bmF0aXZlTWF4KGFyZ3NMZW5ndGgtaG9sZGVyc0xlbmd0aCwwKSxyZXN1bHQ9QXJyYXkocmFuZ2VMZW5ndGgrcmlnaHRMZW5ndGgpLGlzVW5jdXJyaWVkPSFpc0N1cnJpZWQ7d2hpbGUoKythcmdzSW5kZXg8cmFuZ2VMZW5ndGgpcmVzdWx0W2FyZ3NJbmRleF09YXJnc1thcmdzSW5kZXhdO3ZhciBvZmZzZXQ9YXJnc0luZGV4O3doaWxlKCsrcmlnaHRJbmRleDxyaWdodExlbmd0aClyZXN1bHRbb2Zmc2V0K3JpZ2h0SW5kZXhdPXBhcnRpYWxzW3JpZ2h0SW5kZXhdO3doaWxlKCsraG9sZGVyc0luZGV4PApob2xkZXJzTGVuZ3RoKWlmKGlzVW5jdXJyaWVkfHxhcmdzSW5kZXg8YXJnc0xlbmd0aClyZXN1bHRbb2Zmc2V0K2hvbGRlcnNbaG9sZGVyc0luZGV4XV09YXJnc1thcmdzSW5kZXgrK107cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBjb3B5QXJyYXkoc291cmNlLGFycmF5KXt2YXIgaW5kZXg9LTEsbGVuZ3RoPXNvdXJjZS5sZW5ndGg7YXJyYXl8fChhcnJheT1BcnJheShsZW5ndGgpKTt3aGlsZSgrK2luZGV4PGxlbmd0aClhcnJheVtpbmRleF09c291cmNlW2luZGV4XTtyZXR1cm4gYXJyYXl9ZnVuY3Rpb24gY29weU9iamVjdChzb3VyY2UscHJvcHMsb2JqZWN0LGN1c3RvbWl6ZXIpe3ZhciBpc05ldz0hb2JqZWN0O29iamVjdHx8KG9iamVjdD17fSk7dmFyIGluZGV4PS0xLGxlbmd0aD1wcm9wcy5sZW5ndGg7d2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciBrZXk9cHJvcHNbaW5kZXhdO3ZhciBuZXdWYWx1ZT1jdXN0b21pemVyP2N1c3RvbWl6ZXIob2JqZWN0W2tleV0sc291cmNlW2tleV0sCmtleSxvYmplY3Qsc291cmNlKTp1bmRlZmluZWQ7aWYobmV3VmFsdWU9PT11bmRlZmluZWQpbmV3VmFsdWU9c291cmNlW2tleV07aWYoaXNOZXcpYmFzZUFzc2lnblZhbHVlKG9iamVjdCxrZXksbmV3VmFsdWUpO2Vsc2UgYXNzaWduVmFsdWUob2JqZWN0LGtleSxuZXdWYWx1ZSl9cmV0dXJuIG9iamVjdH1mdW5jdGlvbiBjb3B5U3ltYm9scyhzb3VyY2Usb2JqZWN0KXtyZXR1cm4gY29weU9iamVjdChzb3VyY2UsZ2V0U3ltYm9scyhzb3VyY2UpLG9iamVjdCl9ZnVuY3Rpb24gY29weVN5bWJvbHNJbihzb3VyY2Usb2JqZWN0KXtyZXR1cm4gY29weU9iamVjdChzb3VyY2UsZ2V0U3ltYm9sc0luKHNvdXJjZSksb2JqZWN0KX1mdW5jdGlvbiBjcmVhdGVBZ2dyZWdhdG9yKHNldHRlcixpbml0aWFsaXplcil7cmV0dXJuIGZ1bmN0aW9uKGNvbGxlY3Rpb24saXRlcmF0ZWUpe3ZhciBmdW5jPWlzQXJyYXkoY29sbGVjdGlvbik/YXJyYXlBZ2dyZWdhdG9yOmJhc2VBZ2dyZWdhdG9yLGFjY3VtdWxhdG9yPQppbml0aWFsaXplcj9pbml0aWFsaXplcigpOnt9O3JldHVybiBmdW5jKGNvbGxlY3Rpb24sc2V0dGVyLGdldEl0ZXJhdGVlKGl0ZXJhdGVlLDIpLGFjY3VtdWxhdG9yKX19ZnVuY3Rpb24gY3JlYXRlQXNzaWduZXIoYXNzaWduZXIpe3JldHVybiBiYXNlUmVzdChmdW5jdGlvbihvYmplY3Qsc291cmNlcyl7dmFyIGluZGV4PS0xLGxlbmd0aD1zb3VyY2VzLmxlbmd0aCxjdXN0b21pemVyPWxlbmd0aD4xP3NvdXJjZXNbbGVuZ3RoLTFdOnVuZGVmaW5lZCxndWFyZD1sZW5ndGg+Mj9zb3VyY2VzWzJdOnVuZGVmaW5lZDtjdXN0b21pemVyPWFzc2lnbmVyLmxlbmd0aD4zJiZ0eXBlb2YgY3VzdG9taXplcj09ImZ1bmN0aW9uIj8obGVuZ3RoLS0sY3VzdG9taXplcik6dW5kZWZpbmVkO2lmKGd1YXJkJiZpc0l0ZXJhdGVlQ2FsbChzb3VyY2VzWzBdLHNvdXJjZXNbMV0sZ3VhcmQpKXtjdXN0b21pemVyPWxlbmd0aDwzP3VuZGVmaW5lZDpjdXN0b21pemVyO2xlbmd0aD0xfW9iamVjdD1PYmplY3Qob2JqZWN0KTsKd2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciBzb3VyY2U9c291cmNlc1tpbmRleF07aWYoc291cmNlKWFzc2lnbmVyKG9iamVjdCxzb3VyY2UsaW5kZXgsY3VzdG9taXplcil9cmV0dXJuIG9iamVjdH0pfWZ1bmN0aW9uIGNyZWF0ZUJhc2VFYWNoKGVhY2hGdW5jLGZyb21SaWdodCl7cmV0dXJuIGZ1bmN0aW9uKGNvbGxlY3Rpb24saXRlcmF0ZWUpe2lmKGNvbGxlY3Rpb249PW51bGwpcmV0dXJuIGNvbGxlY3Rpb247aWYoIWlzQXJyYXlMaWtlKGNvbGxlY3Rpb24pKXJldHVybiBlYWNoRnVuYyhjb2xsZWN0aW9uLGl0ZXJhdGVlKTt2YXIgbGVuZ3RoPWNvbGxlY3Rpb24ubGVuZ3RoLGluZGV4PWZyb21SaWdodD9sZW5ndGg6LTEsaXRlcmFibGU9T2JqZWN0KGNvbGxlY3Rpb24pO3doaWxlKGZyb21SaWdodD9pbmRleC0tOisraW5kZXg8bGVuZ3RoKWlmKGl0ZXJhdGVlKGl0ZXJhYmxlW2luZGV4XSxpbmRleCxpdGVyYWJsZSk9PT1mYWxzZSlicmVhaztyZXR1cm4gY29sbGVjdGlvbn19ZnVuY3Rpb24gY3JlYXRlQmFzZUZvcihmcm9tUmlnaHQpe3JldHVybiBmdW5jdGlvbihvYmplY3QsCml0ZXJhdGVlLGtleXNGdW5jKXt2YXIgaW5kZXg9LTEsaXRlcmFibGU9T2JqZWN0KG9iamVjdCkscHJvcHM9a2V5c0Z1bmMob2JqZWN0KSxsZW5ndGg9cHJvcHMubGVuZ3RoO3doaWxlKGxlbmd0aC0tKXt2YXIga2V5PXByb3BzW2Zyb21SaWdodD9sZW5ndGg6KytpbmRleF07aWYoaXRlcmF0ZWUoaXRlcmFibGVba2V5XSxrZXksaXRlcmFibGUpPT09ZmFsc2UpYnJlYWt9cmV0dXJuIG9iamVjdH19ZnVuY3Rpb24gY3JlYXRlQmluZChmdW5jLGJpdG1hc2ssdGhpc0FyZyl7dmFyIGlzQmluZD1iaXRtYXNrJldSQVBfQklORF9GTEFHLEN0b3I9Y3JlYXRlQ3RvcihmdW5jKTtmdW5jdGlvbiB3cmFwcGVyKCl7dmFyIGZuPXRoaXMmJnRoaXMhPT1yb290JiZ0aGlzIGluc3RhbmNlb2Ygd3JhcHBlcj9DdG9yOmZ1bmM7cmV0dXJuIGZuLmFwcGx5KGlzQmluZD90aGlzQXJnOnRoaXMsYXJndW1lbnRzKX1yZXR1cm4gd3JhcHBlcn1mdW5jdGlvbiBjcmVhdGVDYXNlRmlyc3QobWV0aG9kTmFtZSl7cmV0dXJuIGZ1bmN0aW9uKHN0cmluZyl7c3RyaW5nPQp0b1N0cmluZyhzdHJpbmcpO3ZhciBzdHJTeW1ib2xzPWhhc1VuaWNvZGUoc3RyaW5nKT9zdHJpbmdUb0FycmF5KHN0cmluZyk6dW5kZWZpbmVkO3ZhciBjaHI9c3RyU3ltYm9scz9zdHJTeW1ib2xzWzBdOnN0cmluZy5jaGFyQXQoMCk7dmFyIHRyYWlsaW5nPXN0clN5bWJvbHM/Y2FzdFNsaWNlKHN0clN5bWJvbHMsMSkuam9pbigiIik6c3RyaW5nLnNsaWNlKDEpO3JldHVybiBjaHJbbWV0aG9kTmFtZV0oKSt0cmFpbGluZ319ZnVuY3Rpb24gY3JlYXRlQ29tcG91bmRlcihjYWxsYmFjayl7cmV0dXJuIGZ1bmN0aW9uKHN0cmluZyl7cmV0dXJuIGFycmF5UmVkdWNlKHdvcmRzKGRlYnVycihzdHJpbmcpLnJlcGxhY2UocmVBcG9zLCIiKSksY2FsbGJhY2ssIiIpfX1mdW5jdGlvbiBjcmVhdGVDdG9yKEN0b3Ipe3JldHVybiBmdW5jdGlvbigpe3ZhciBhcmdzPWFyZ3VtZW50cztzd2l0Y2goYXJncy5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4gbmV3IEN0b3I7Y2FzZSAxOnJldHVybiBuZXcgQ3RvcihhcmdzWzBdKTsKY2FzZSAyOnJldHVybiBuZXcgQ3RvcihhcmdzWzBdLGFyZ3NbMV0pO2Nhc2UgMzpyZXR1cm4gbmV3IEN0b3IoYXJnc1swXSxhcmdzWzFdLGFyZ3NbMl0pO2Nhc2UgNDpyZXR1cm4gbmV3IEN0b3IoYXJnc1swXSxhcmdzWzFdLGFyZ3NbMl0sYXJnc1szXSk7Y2FzZSA1OnJldHVybiBuZXcgQ3RvcihhcmdzWzBdLGFyZ3NbMV0sYXJnc1syXSxhcmdzWzNdLGFyZ3NbNF0pO2Nhc2UgNjpyZXR1cm4gbmV3IEN0b3IoYXJnc1swXSxhcmdzWzFdLGFyZ3NbMl0sYXJnc1szXSxhcmdzWzRdLGFyZ3NbNV0pO2Nhc2UgNzpyZXR1cm4gbmV3IEN0b3IoYXJnc1swXSxhcmdzWzFdLGFyZ3NbMl0sYXJnc1szXSxhcmdzWzRdLGFyZ3NbNV0sYXJnc1s2XSl9dmFyIHRoaXNCaW5kaW5nPWJhc2VDcmVhdGUoQ3Rvci5wcm90b3R5cGUpLHJlc3VsdD1DdG9yLmFwcGx5KHRoaXNCaW5kaW5nLGFyZ3MpO3JldHVybiBpc09iamVjdChyZXN1bHQpP3Jlc3VsdDp0aGlzQmluZGluZ319ZnVuY3Rpb24gY3JlYXRlQ3VycnkoZnVuYywKYml0bWFzayxhcml0eSl7dmFyIEN0b3I9Y3JlYXRlQ3RvcihmdW5jKTtmdW5jdGlvbiB3cmFwcGVyKCl7dmFyIGxlbmd0aD1hcmd1bWVudHMubGVuZ3RoLGFyZ3M9QXJyYXkobGVuZ3RoKSxpbmRleD1sZW5ndGgscGxhY2Vob2xkZXI9Z2V0SG9sZGVyKHdyYXBwZXIpO3doaWxlKGluZGV4LS0pYXJnc1tpbmRleF09YXJndW1lbnRzW2luZGV4XTt2YXIgaG9sZGVycz1sZW5ndGg8MyYmYXJnc1swXSE9PXBsYWNlaG9sZGVyJiZhcmdzW2xlbmd0aC0xXSE9PXBsYWNlaG9sZGVyP1tdOnJlcGxhY2VIb2xkZXJzKGFyZ3MscGxhY2Vob2xkZXIpO2xlbmd0aC09aG9sZGVycy5sZW5ndGg7aWYobGVuZ3RoPGFyaXR5KXJldHVybiBjcmVhdGVSZWN1cnJ5KGZ1bmMsYml0bWFzayxjcmVhdGVIeWJyaWQsd3JhcHBlci5wbGFjZWhvbGRlcix1bmRlZmluZWQsYXJncyxob2xkZXJzLHVuZGVmaW5lZCx1bmRlZmluZWQsYXJpdHktbGVuZ3RoKTt2YXIgZm49dGhpcyYmdGhpcyE9PXJvb3QmJnRoaXMgaW5zdGFuY2VvZgp3cmFwcGVyP0N0b3I6ZnVuYztyZXR1cm4gYXBwbHkoZm4sdGhpcyxhcmdzKX1yZXR1cm4gd3JhcHBlcn1mdW5jdGlvbiBjcmVhdGVGaW5kKGZpbmRJbmRleEZ1bmMpe3JldHVybiBmdW5jdGlvbihjb2xsZWN0aW9uLHByZWRpY2F0ZSxmcm9tSW5kZXgpe3ZhciBpdGVyYWJsZT1PYmplY3QoY29sbGVjdGlvbik7aWYoIWlzQXJyYXlMaWtlKGNvbGxlY3Rpb24pKXt2YXIgaXRlcmF0ZWU9Z2V0SXRlcmF0ZWUocHJlZGljYXRlLDMpO2NvbGxlY3Rpb249a2V5cyhjb2xsZWN0aW9uKTtwcmVkaWNhdGU9ZnVuY3Rpb24oa2V5KXtyZXR1cm4gaXRlcmF0ZWUoaXRlcmFibGVba2V5XSxrZXksaXRlcmFibGUpfX12YXIgaW5kZXg9ZmluZEluZGV4RnVuYyhjb2xsZWN0aW9uLHByZWRpY2F0ZSxmcm9tSW5kZXgpO3JldHVybiBpbmRleD4tMT9pdGVyYWJsZVtpdGVyYXRlZT9jb2xsZWN0aW9uW2luZGV4XTppbmRleF06dW5kZWZpbmVkfX1mdW5jdGlvbiBjcmVhdGVGbG93KGZyb21SaWdodCl7cmV0dXJuIGZsYXRSZXN0KGZ1bmN0aW9uKGZ1bmNzKXt2YXIgbGVuZ3RoPQpmdW5jcy5sZW5ndGgsaW5kZXg9bGVuZ3RoLHByZXJlcT1Mb2Rhc2hXcmFwcGVyLnByb3RvdHlwZS50aHJ1O2lmKGZyb21SaWdodClmdW5jcy5yZXZlcnNlKCk7d2hpbGUoaW5kZXgtLSl7dmFyIGZ1bmM9ZnVuY3NbaW5kZXhdO2lmKHR5cGVvZiBmdW5jIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtpZihwcmVyZXEmJiF3cmFwcGVyJiZnZXRGdW5jTmFtZShmdW5jKT09IndyYXBwZXIiKXZhciB3cmFwcGVyPW5ldyBMb2Rhc2hXcmFwcGVyKFtdLHRydWUpfWluZGV4PXdyYXBwZXI/aW5kZXg6bGVuZ3RoO3doaWxlKCsraW5kZXg8bGVuZ3RoKXtmdW5jPWZ1bmNzW2luZGV4XTt2YXIgZnVuY05hbWU9Z2V0RnVuY05hbWUoZnVuYyksZGF0YT1mdW5jTmFtZT09IndyYXBwZXIiP2dldERhdGEoZnVuYyk6dW5kZWZpbmVkO2lmKGRhdGEmJmlzTGF6aWFibGUoZGF0YVswXSkmJmRhdGFbMV09PShXUkFQX0FSWV9GTEFHfFdSQVBfQ1VSUllfRkxBR3xXUkFQX1BBUlRJQUxfRkxBR3wKV1JBUF9SRUFSR19GTEFHKSYmIWRhdGFbNF0ubGVuZ3RoJiZkYXRhWzldPT0xKXdyYXBwZXI9d3JhcHBlcltnZXRGdW5jTmFtZShkYXRhWzBdKV0uYXBwbHkod3JhcHBlcixkYXRhWzNdKTtlbHNlIHdyYXBwZXI9ZnVuYy5sZW5ndGg9PTEmJmlzTGF6aWFibGUoZnVuYyk/d3JhcHBlcltmdW5jTmFtZV0oKTp3cmFwcGVyLnRocnUoZnVuYyl9cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGFyZ3M9YXJndW1lbnRzLHZhbHVlPWFyZ3NbMF07aWYod3JhcHBlciYmYXJncy5sZW5ndGg9PTEmJmlzQXJyYXkodmFsdWUpKXJldHVybiB3cmFwcGVyLnBsYW50KHZhbHVlKS52YWx1ZSgpO3ZhciBpbmRleD0wLHJlc3VsdD1sZW5ndGg/ZnVuY3NbaW5kZXhdLmFwcGx5KHRoaXMsYXJncyk6dmFsdWU7d2hpbGUoKytpbmRleDxsZW5ndGgpcmVzdWx0PWZ1bmNzW2luZGV4XS5jYWxsKHRoaXMscmVzdWx0KTtyZXR1cm4gcmVzdWx0fX0pfWZ1bmN0aW9uIGNyZWF0ZUh5YnJpZChmdW5jLGJpdG1hc2ssdGhpc0FyZywKcGFydGlhbHMsaG9sZGVycyxwYXJ0aWFsc1JpZ2h0LGhvbGRlcnNSaWdodCxhcmdQb3MsYXJ5LGFyaXR5KXt2YXIgaXNBcnk9Yml0bWFzayZXUkFQX0FSWV9GTEFHLGlzQmluZD1iaXRtYXNrJldSQVBfQklORF9GTEFHLGlzQmluZEtleT1iaXRtYXNrJldSQVBfQklORF9LRVlfRkxBRyxpc0N1cnJpZWQ9Yml0bWFzayYoV1JBUF9DVVJSWV9GTEFHfFdSQVBfQ1VSUllfUklHSFRfRkxBRyksaXNGbGlwPWJpdG1hc2smV1JBUF9GTElQX0ZMQUcsQ3Rvcj1pc0JpbmRLZXk/dW5kZWZpbmVkOmNyZWF0ZUN0b3IoZnVuYyk7ZnVuY3Rpb24gd3JhcHBlcigpe3ZhciBsZW5ndGg9YXJndW1lbnRzLmxlbmd0aCxhcmdzPUFycmF5KGxlbmd0aCksaW5kZXg9bGVuZ3RoO3doaWxlKGluZGV4LS0pYXJnc1tpbmRleF09YXJndW1lbnRzW2luZGV4XTtpZihpc0N1cnJpZWQpdmFyIHBsYWNlaG9sZGVyPWdldEhvbGRlcih3cmFwcGVyKSxob2xkZXJzQ291bnQ9Y291bnRIb2xkZXJzKGFyZ3MscGxhY2Vob2xkZXIpOwppZihwYXJ0aWFscylhcmdzPWNvbXBvc2VBcmdzKGFyZ3MscGFydGlhbHMsaG9sZGVycyxpc0N1cnJpZWQpO2lmKHBhcnRpYWxzUmlnaHQpYXJncz1jb21wb3NlQXJnc1JpZ2h0KGFyZ3MscGFydGlhbHNSaWdodCxob2xkZXJzUmlnaHQsaXNDdXJyaWVkKTtsZW5ndGgtPWhvbGRlcnNDb3VudDtpZihpc0N1cnJpZWQmJmxlbmd0aDxhcml0eSl7dmFyIG5ld0hvbGRlcnM9cmVwbGFjZUhvbGRlcnMoYXJncyxwbGFjZWhvbGRlcik7cmV0dXJuIGNyZWF0ZVJlY3VycnkoZnVuYyxiaXRtYXNrLGNyZWF0ZUh5YnJpZCx3cmFwcGVyLnBsYWNlaG9sZGVyLHRoaXNBcmcsYXJncyxuZXdIb2xkZXJzLGFyZ1BvcyxhcnksYXJpdHktbGVuZ3RoKX12YXIgdGhpc0JpbmRpbmc9aXNCaW5kP3RoaXNBcmc6dGhpcyxmbj1pc0JpbmRLZXk/dGhpc0JpbmRpbmdbZnVuY106ZnVuYztsZW5ndGg9YXJncy5sZW5ndGg7aWYoYXJnUG9zKWFyZ3M9cmVvcmRlcihhcmdzLGFyZ1Bvcyk7ZWxzZSBpZihpc0ZsaXAmJmxlbmd0aD4KMSlhcmdzLnJldmVyc2UoKTtpZihpc0FyeSYmYXJ5PGxlbmd0aClhcmdzLmxlbmd0aD1hcnk7aWYodGhpcyYmdGhpcyE9PXJvb3QmJnRoaXMgaW5zdGFuY2VvZiB3cmFwcGVyKWZuPUN0b3J8fGNyZWF0ZUN0b3IoZm4pO3JldHVybiBmbi5hcHBseSh0aGlzQmluZGluZyxhcmdzKX1yZXR1cm4gd3JhcHBlcn1mdW5jdGlvbiBjcmVhdGVJbnZlcnRlcihzZXR0ZXIsdG9JdGVyYXRlZSl7cmV0dXJuIGZ1bmN0aW9uKG9iamVjdCxpdGVyYXRlZSl7cmV0dXJuIGJhc2VJbnZlcnRlcihvYmplY3Qsc2V0dGVyLHRvSXRlcmF0ZWUoaXRlcmF0ZWUpLHt9KX19ZnVuY3Rpb24gY3JlYXRlTWF0aE9wZXJhdGlvbihvcGVyYXRvcixkZWZhdWx0VmFsdWUpe3JldHVybiBmdW5jdGlvbih2YWx1ZSxvdGhlcil7dmFyIHJlc3VsdDtpZih2YWx1ZT09PXVuZGVmaW5lZCYmb3RoZXI9PT11bmRlZmluZWQpcmV0dXJuIGRlZmF1bHRWYWx1ZTtpZih2YWx1ZSE9PXVuZGVmaW5lZClyZXN1bHQ9dmFsdWU7aWYob3RoZXIhPT0KdW5kZWZpbmVkKXtpZihyZXN1bHQ9PT11bmRlZmluZWQpcmV0dXJuIG90aGVyO2lmKHR5cGVvZiB2YWx1ZT09InN0cmluZyJ8fHR5cGVvZiBvdGhlcj09InN0cmluZyIpe3ZhbHVlPWJhc2VUb1N0cmluZyh2YWx1ZSk7b3RoZXI9YmFzZVRvU3RyaW5nKG90aGVyKX1lbHNle3ZhbHVlPWJhc2VUb051bWJlcih2YWx1ZSk7b3RoZXI9YmFzZVRvTnVtYmVyKG90aGVyKX1yZXN1bHQ9b3BlcmF0b3IodmFsdWUsb3RoZXIpfXJldHVybiByZXN1bHR9fWZ1bmN0aW9uIGNyZWF0ZU92ZXIoYXJyYXlGdW5jKXtyZXR1cm4gZmxhdFJlc3QoZnVuY3Rpb24oaXRlcmF0ZWVzKXtpdGVyYXRlZXM9YXJyYXlNYXAoaXRlcmF0ZWVzLGJhc2VVbmFyeShnZXRJdGVyYXRlZSgpKSk7cmV0dXJuIGJhc2VSZXN0KGZ1bmN0aW9uKGFyZ3Mpe3ZhciB0aGlzQXJnPXRoaXM7cmV0dXJuIGFycmF5RnVuYyhpdGVyYXRlZXMsZnVuY3Rpb24oaXRlcmF0ZWUpe3JldHVybiBhcHBseShpdGVyYXRlZSx0aGlzQXJnLGFyZ3MpfSl9KX0pfQpmdW5jdGlvbiBjcmVhdGVQYWRkaW5nKGxlbmd0aCxjaGFycyl7Y2hhcnM9Y2hhcnM9PT11bmRlZmluZWQ/IiAiOmJhc2VUb1N0cmluZyhjaGFycyk7dmFyIGNoYXJzTGVuZ3RoPWNoYXJzLmxlbmd0aDtpZihjaGFyc0xlbmd0aDwyKXJldHVybiBjaGFyc0xlbmd0aD9iYXNlUmVwZWF0KGNoYXJzLGxlbmd0aCk6Y2hhcnM7dmFyIHJlc3VsdD1iYXNlUmVwZWF0KGNoYXJzLG5hdGl2ZUNlaWwobGVuZ3RoL3N0cmluZ1NpemUoY2hhcnMpKSk7cmV0dXJuIGhhc1VuaWNvZGUoY2hhcnMpP2Nhc3RTbGljZShzdHJpbmdUb0FycmF5KHJlc3VsdCksMCxsZW5ndGgpLmpvaW4oIiIpOnJlc3VsdC5zbGljZSgwLGxlbmd0aCl9ZnVuY3Rpb24gY3JlYXRlUGFydGlhbChmdW5jLGJpdG1hc2ssdGhpc0FyZyxwYXJ0aWFscyl7dmFyIGlzQmluZD1iaXRtYXNrJldSQVBfQklORF9GTEFHLEN0b3I9Y3JlYXRlQ3RvcihmdW5jKTtmdW5jdGlvbiB3cmFwcGVyKCl7dmFyIGFyZ3NJbmRleD0tMSxhcmdzTGVuZ3RoPQphcmd1bWVudHMubGVuZ3RoLGxlZnRJbmRleD0tMSxsZWZ0TGVuZ3RoPXBhcnRpYWxzLmxlbmd0aCxhcmdzPUFycmF5KGxlZnRMZW5ndGgrYXJnc0xlbmd0aCksZm49dGhpcyYmdGhpcyE9PXJvb3QmJnRoaXMgaW5zdGFuY2VvZiB3cmFwcGVyP0N0b3I6ZnVuYzt3aGlsZSgrK2xlZnRJbmRleDxsZWZ0TGVuZ3RoKWFyZ3NbbGVmdEluZGV4XT1wYXJ0aWFsc1tsZWZ0SW5kZXhdO3doaWxlKGFyZ3NMZW5ndGgtLSlhcmdzW2xlZnRJbmRleCsrXT1hcmd1bWVudHNbKythcmdzSW5kZXhdO3JldHVybiBhcHBseShmbixpc0JpbmQ/dGhpc0FyZzp0aGlzLGFyZ3MpfXJldHVybiB3cmFwcGVyfWZ1bmN0aW9uIGNyZWF0ZVJhbmdlKGZyb21SaWdodCl7cmV0dXJuIGZ1bmN0aW9uKHN0YXJ0LGVuZCxzdGVwKXtpZihzdGVwJiZ0eXBlb2Ygc3RlcCE9Im51bWJlciImJmlzSXRlcmF0ZWVDYWxsKHN0YXJ0LGVuZCxzdGVwKSllbmQ9c3RlcD11bmRlZmluZWQ7c3RhcnQ9dG9GaW5pdGUoc3RhcnQpO2lmKGVuZD09PQp1bmRlZmluZWQpe2VuZD1zdGFydDtzdGFydD0wfWVsc2UgZW5kPXRvRmluaXRlKGVuZCk7c3RlcD1zdGVwPT09dW5kZWZpbmVkP3N0YXJ0PGVuZD8xOi0xOnRvRmluaXRlKHN0ZXApO3JldHVybiBiYXNlUmFuZ2Uoc3RhcnQsZW5kLHN0ZXAsZnJvbVJpZ2h0KX19ZnVuY3Rpb24gY3JlYXRlUmVsYXRpb25hbE9wZXJhdGlvbihvcGVyYXRvcil7cmV0dXJuIGZ1bmN0aW9uKHZhbHVlLG90aGVyKXtpZighKHR5cGVvZiB2YWx1ZT09InN0cmluZyImJnR5cGVvZiBvdGhlcj09InN0cmluZyIpKXt2YWx1ZT10b051bWJlcih2YWx1ZSk7b3RoZXI9dG9OdW1iZXIob3RoZXIpfXJldHVybiBvcGVyYXRvcih2YWx1ZSxvdGhlcil9fWZ1bmN0aW9uIGNyZWF0ZVJlY3VycnkoZnVuYyxiaXRtYXNrLHdyYXBGdW5jLHBsYWNlaG9sZGVyLHRoaXNBcmcscGFydGlhbHMsaG9sZGVycyxhcmdQb3MsYXJ5LGFyaXR5KXt2YXIgaXNDdXJyeT1iaXRtYXNrJldSQVBfQ1VSUllfRkxBRyxuZXdIb2xkZXJzPWlzQ3Vycnk/CmhvbGRlcnM6dW5kZWZpbmVkLG5ld0hvbGRlcnNSaWdodD1pc0N1cnJ5P3VuZGVmaW5lZDpob2xkZXJzLG5ld1BhcnRpYWxzPWlzQ3Vycnk/cGFydGlhbHM6dW5kZWZpbmVkLG5ld1BhcnRpYWxzUmlnaHQ9aXNDdXJyeT91bmRlZmluZWQ6cGFydGlhbHM7Yml0bWFza3w9aXNDdXJyeT9XUkFQX1BBUlRJQUxfRkxBRzpXUkFQX1BBUlRJQUxfUklHSFRfRkxBRztiaXRtYXNrJj1+KGlzQ3Vycnk/V1JBUF9QQVJUSUFMX1JJR0hUX0ZMQUc6V1JBUF9QQVJUSUFMX0ZMQUcpO2lmKCEoYml0bWFzayZXUkFQX0NVUlJZX0JPVU5EX0ZMQUcpKWJpdG1hc2smPX4oV1JBUF9CSU5EX0ZMQUd8V1JBUF9CSU5EX0tFWV9GTEFHKTt2YXIgbmV3RGF0YT1bZnVuYyxiaXRtYXNrLHRoaXNBcmcsbmV3UGFydGlhbHMsbmV3SG9sZGVycyxuZXdQYXJ0aWFsc1JpZ2h0LG5ld0hvbGRlcnNSaWdodCxhcmdQb3MsYXJ5LGFyaXR5XTt2YXIgcmVzdWx0PXdyYXBGdW5jLmFwcGx5KHVuZGVmaW5lZCxuZXdEYXRhKTtpZihpc0xhemlhYmxlKGZ1bmMpKXNldERhdGEocmVzdWx0LApuZXdEYXRhKTtyZXN1bHQucGxhY2Vob2xkZXI9cGxhY2Vob2xkZXI7cmV0dXJuIHNldFdyYXBUb1N0cmluZyhyZXN1bHQsZnVuYyxiaXRtYXNrKX1mdW5jdGlvbiBjcmVhdGVSb3VuZChtZXRob2ROYW1lKXt2YXIgZnVuYz1NYXRoW21ldGhvZE5hbWVdO3JldHVybiBmdW5jdGlvbihudW1iZXIscHJlY2lzaW9uKXtudW1iZXI9dG9OdW1iZXIobnVtYmVyKTtwcmVjaXNpb249cHJlY2lzaW9uPT1udWxsPzA6bmF0aXZlTWluKHRvSW50ZWdlcihwcmVjaXNpb24pLDI5Mik7aWYocHJlY2lzaW9uKXt2YXIgcGFpcj0odG9TdHJpbmcobnVtYmVyKSsiZSIpLnNwbGl0KCJlIiksdmFsdWU9ZnVuYyhwYWlyWzBdKyJlIisoK3BhaXJbMV0rcHJlY2lzaW9uKSk7cGFpcj0odG9TdHJpbmcodmFsdWUpKyJlIikuc3BsaXQoImUiKTtyZXR1cm4rKHBhaXJbMF0rImUiKygrcGFpclsxXS1wcmVjaXNpb24pKX1yZXR1cm4gZnVuYyhudW1iZXIpfX12YXIgY3JlYXRlU2V0PSEoU2V0JiYxL3NldFRvQXJyYXkobmV3IFNldChbLAotMF0pKVsxXT09SU5GSU5JVFkpP25vb3A6ZnVuY3Rpb24odmFsdWVzKXtyZXR1cm4gbmV3IFNldCh2YWx1ZXMpfTtmdW5jdGlvbiBjcmVhdGVUb1BhaXJzKGtleXNGdW5jKXtyZXR1cm4gZnVuY3Rpb24ob2JqZWN0KXt2YXIgdGFnPWdldFRhZyhvYmplY3QpO2lmKHRhZz09bWFwVGFnKXJldHVybiBtYXBUb0FycmF5KG9iamVjdCk7aWYodGFnPT1zZXRUYWcpcmV0dXJuIHNldFRvUGFpcnMob2JqZWN0KTtyZXR1cm4gYmFzZVRvUGFpcnMob2JqZWN0LGtleXNGdW5jKG9iamVjdCkpfX1mdW5jdGlvbiBjcmVhdGVXcmFwKGZ1bmMsYml0bWFzayx0aGlzQXJnLHBhcnRpYWxzLGhvbGRlcnMsYXJnUG9zLGFyeSxhcml0eSl7dmFyIGlzQmluZEtleT1iaXRtYXNrJldSQVBfQklORF9LRVlfRkxBRztpZighaXNCaW5kS2V5JiZ0eXBlb2YgZnVuYyE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7dmFyIGxlbmd0aD1wYXJ0aWFscz9wYXJ0aWFscy5sZW5ndGg6CjA7aWYoIWxlbmd0aCl7Yml0bWFzayY9fihXUkFQX1BBUlRJQUxfRkxBR3xXUkFQX1BBUlRJQUxfUklHSFRfRkxBRyk7cGFydGlhbHM9aG9sZGVycz11bmRlZmluZWR9YXJ5PWFyeT09PXVuZGVmaW5lZD9hcnk6bmF0aXZlTWF4KHRvSW50ZWdlcihhcnkpLDApO2FyaXR5PWFyaXR5PT09dW5kZWZpbmVkP2FyaXR5OnRvSW50ZWdlcihhcml0eSk7bGVuZ3RoLT1ob2xkZXJzP2hvbGRlcnMubGVuZ3RoOjA7aWYoYml0bWFzayZXUkFQX1BBUlRJQUxfUklHSFRfRkxBRyl7dmFyIHBhcnRpYWxzUmlnaHQ9cGFydGlhbHMsaG9sZGVyc1JpZ2h0PWhvbGRlcnM7cGFydGlhbHM9aG9sZGVycz11bmRlZmluZWR9dmFyIGRhdGE9aXNCaW5kS2V5P3VuZGVmaW5lZDpnZXREYXRhKGZ1bmMpO3ZhciBuZXdEYXRhPVtmdW5jLGJpdG1hc2ssdGhpc0FyZyxwYXJ0aWFscyxob2xkZXJzLHBhcnRpYWxzUmlnaHQsaG9sZGVyc1JpZ2h0LGFyZ1BvcyxhcnksYXJpdHldO2lmKGRhdGEpbWVyZ2VEYXRhKG5ld0RhdGEsCmRhdGEpO2Z1bmM9bmV3RGF0YVswXTtiaXRtYXNrPW5ld0RhdGFbMV07dGhpc0FyZz1uZXdEYXRhWzJdO3BhcnRpYWxzPW5ld0RhdGFbM107aG9sZGVycz1uZXdEYXRhWzRdO2FyaXR5PW5ld0RhdGFbOV09bmV3RGF0YVs5XT09PXVuZGVmaW5lZD9pc0JpbmRLZXk/MDpmdW5jLmxlbmd0aDpuYXRpdmVNYXgobmV3RGF0YVs5XS1sZW5ndGgsMCk7aWYoIWFyaXR5JiZiaXRtYXNrJihXUkFQX0NVUlJZX0ZMQUd8V1JBUF9DVVJSWV9SSUdIVF9GTEFHKSliaXRtYXNrJj1+KFdSQVBfQ1VSUllfRkxBR3xXUkFQX0NVUlJZX1JJR0hUX0ZMQUcpO2lmKCFiaXRtYXNrfHxiaXRtYXNrPT1XUkFQX0JJTkRfRkxBRyl2YXIgcmVzdWx0PWNyZWF0ZUJpbmQoZnVuYyxiaXRtYXNrLHRoaXNBcmcpO2Vsc2UgaWYoYml0bWFzaz09V1JBUF9DVVJSWV9GTEFHfHxiaXRtYXNrPT1XUkFQX0NVUlJZX1JJR0hUX0ZMQUcpcmVzdWx0PWNyZWF0ZUN1cnJ5KGZ1bmMsYml0bWFzayxhcml0eSk7ZWxzZSBpZigoYml0bWFzaz09CldSQVBfUEFSVElBTF9GTEFHfHxiaXRtYXNrPT0oV1JBUF9CSU5EX0ZMQUd8V1JBUF9QQVJUSUFMX0ZMQUcpKSYmIWhvbGRlcnMubGVuZ3RoKXJlc3VsdD1jcmVhdGVQYXJ0aWFsKGZ1bmMsYml0bWFzayx0aGlzQXJnLHBhcnRpYWxzKTtlbHNlIHJlc3VsdD1jcmVhdGVIeWJyaWQuYXBwbHkodW5kZWZpbmVkLG5ld0RhdGEpO3ZhciBzZXR0ZXI9ZGF0YT9iYXNlU2V0RGF0YTpzZXREYXRhO3JldHVybiBzZXRXcmFwVG9TdHJpbmcoc2V0dGVyKHJlc3VsdCxuZXdEYXRhKSxmdW5jLGJpdG1hc2spfWZ1bmN0aW9uIGN1c3RvbURlZmF1bHRzQXNzaWduSW4ob2JqVmFsdWUsc3JjVmFsdWUsa2V5LG9iamVjdCl7aWYob2JqVmFsdWU9PT11bmRlZmluZWR8fGVxKG9ialZhbHVlLG9iamVjdFByb3RvW2tleV0pJiYhaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3Qsa2V5KSlyZXR1cm4gc3JjVmFsdWU7cmV0dXJuIG9ialZhbHVlfWZ1bmN0aW9uIGN1c3RvbURlZmF1bHRzTWVyZ2Uob2JqVmFsdWUsc3JjVmFsdWUsCmtleSxvYmplY3Qsc291cmNlLHN0YWNrKXtpZihpc09iamVjdChvYmpWYWx1ZSkmJmlzT2JqZWN0KHNyY1ZhbHVlKSl7c3RhY2suc2V0KHNyY1ZhbHVlLG9ialZhbHVlKTtiYXNlTWVyZ2Uob2JqVmFsdWUsc3JjVmFsdWUsdW5kZWZpbmVkLGN1c3RvbURlZmF1bHRzTWVyZ2Usc3RhY2spO3N0YWNrWyJkZWxldGUiXShzcmNWYWx1ZSl9cmV0dXJuIG9ialZhbHVlfWZ1bmN0aW9uIGN1c3RvbU9taXRDbG9uZSh2YWx1ZSl7cmV0dXJuIGlzUGxhaW5PYmplY3QodmFsdWUpP3VuZGVmaW5lZDp2YWx1ZX1mdW5jdGlvbiBlcXVhbEFycmF5cyhhcnJheSxvdGhlcixiaXRtYXNrLGN1c3RvbWl6ZXIsZXF1YWxGdW5jLHN0YWNrKXt2YXIgaXNQYXJ0aWFsPWJpdG1hc2smQ09NUEFSRV9QQVJUSUFMX0ZMQUcsYXJyTGVuZ3RoPWFycmF5Lmxlbmd0aCxvdGhMZW5ndGg9b3RoZXIubGVuZ3RoO2lmKGFyckxlbmd0aCE9b3RoTGVuZ3RoJiYhKGlzUGFydGlhbCYmb3RoTGVuZ3RoPmFyckxlbmd0aCkpcmV0dXJuIGZhbHNlOwp2YXIgc3RhY2tlZD1zdGFjay5nZXQoYXJyYXkpO2lmKHN0YWNrZWQmJnN0YWNrLmdldChvdGhlcikpcmV0dXJuIHN0YWNrZWQ9PW90aGVyO3ZhciBpbmRleD0tMSxyZXN1bHQ9dHJ1ZSxzZWVuPWJpdG1hc2smQ09NUEFSRV9VTk9SREVSRURfRkxBRz9uZXcgU2V0Q2FjaGU6dW5kZWZpbmVkO3N0YWNrLnNldChhcnJheSxvdGhlcik7c3RhY2suc2V0KG90aGVyLGFycmF5KTt3aGlsZSgrK2luZGV4PGFyckxlbmd0aCl7dmFyIGFyclZhbHVlPWFycmF5W2luZGV4XSxvdGhWYWx1ZT1vdGhlcltpbmRleF07aWYoY3VzdG9taXplcil2YXIgY29tcGFyZWQ9aXNQYXJ0aWFsP2N1c3RvbWl6ZXIob3RoVmFsdWUsYXJyVmFsdWUsaW5kZXgsb3RoZXIsYXJyYXksc3RhY2spOmN1c3RvbWl6ZXIoYXJyVmFsdWUsb3RoVmFsdWUsaW5kZXgsYXJyYXksb3RoZXIsc3RhY2spO2lmKGNvbXBhcmVkIT09dW5kZWZpbmVkKXtpZihjb21wYXJlZCljb250aW51ZTtyZXN1bHQ9ZmFsc2U7YnJlYWt9aWYoc2Vlbil7aWYoIWFycmF5U29tZShvdGhlciwKZnVuY3Rpb24ob3RoVmFsdWUsb3RoSW5kZXgpe2lmKCFjYWNoZUhhcyhzZWVuLG90aEluZGV4KSYmKGFyclZhbHVlPT09b3RoVmFsdWV8fGVxdWFsRnVuYyhhcnJWYWx1ZSxvdGhWYWx1ZSxiaXRtYXNrLGN1c3RvbWl6ZXIsc3RhY2spKSlyZXR1cm4gc2Vlbi5wdXNoKG90aEluZGV4KX0pKXtyZXN1bHQ9ZmFsc2U7YnJlYWt9fWVsc2UgaWYoIShhcnJWYWx1ZT09PW90aFZhbHVlfHxlcXVhbEZ1bmMoYXJyVmFsdWUsb3RoVmFsdWUsYml0bWFzayxjdXN0b21pemVyLHN0YWNrKSkpe3Jlc3VsdD1mYWxzZTticmVha319c3RhY2tbImRlbGV0ZSJdKGFycmF5KTtzdGFja1siZGVsZXRlIl0ob3RoZXIpO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gZXF1YWxCeVRhZyhvYmplY3Qsb3RoZXIsdGFnLGJpdG1hc2ssY3VzdG9taXplcixlcXVhbEZ1bmMsc3RhY2spe3N3aXRjaCh0YWcpe2Nhc2UgZGF0YVZpZXdUYWc6aWYob2JqZWN0LmJ5dGVMZW5ndGghPW90aGVyLmJ5dGVMZW5ndGh8fG9iamVjdC5ieXRlT2Zmc2V0IT0Kb3RoZXIuYnl0ZU9mZnNldClyZXR1cm4gZmFsc2U7b2JqZWN0PW9iamVjdC5idWZmZXI7b3RoZXI9b3RoZXIuYnVmZmVyO2Nhc2UgYXJyYXlCdWZmZXJUYWc6aWYob2JqZWN0LmJ5dGVMZW5ndGghPW90aGVyLmJ5dGVMZW5ndGh8fCFlcXVhbEZ1bmMobmV3IFVpbnQ4QXJyYXkob2JqZWN0KSxuZXcgVWludDhBcnJheShvdGhlcikpKXJldHVybiBmYWxzZTtyZXR1cm4gdHJ1ZTtjYXNlIGJvb2xUYWc6Y2FzZSBkYXRlVGFnOmNhc2UgbnVtYmVyVGFnOnJldHVybiBlcSgrb2JqZWN0LCtvdGhlcik7Y2FzZSBlcnJvclRhZzpyZXR1cm4gb2JqZWN0Lm5hbWU9PW90aGVyLm5hbWUmJm9iamVjdC5tZXNzYWdlPT1vdGhlci5tZXNzYWdlO2Nhc2UgcmVnZXhwVGFnOmNhc2Ugc3RyaW5nVGFnOnJldHVybiBvYmplY3Q9PW90aGVyKyIiO2Nhc2UgbWFwVGFnOnZhciBjb252ZXJ0PW1hcFRvQXJyYXk7Y2FzZSBzZXRUYWc6dmFyIGlzUGFydGlhbD1iaXRtYXNrJkNPTVBBUkVfUEFSVElBTF9GTEFHO2NvbnZlcnR8fAooY29udmVydD1zZXRUb0FycmF5KTtpZihvYmplY3Quc2l6ZSE9b3RoZXIuc2l6ZSYmIWlzUGFydGlhbClyZXR1cm4gZmFsc2U7dmFyIHN0YWNrZWQ9c3RhY2suZ2V0KG9iamVjdCk7aWYoc3RhY2tlZClyZXR1cm4gc3RhY2tlZD09b3RoZXI7Yml0bWFza3w9Q09NUEFSRV9VTk9SREVSRURfRkxBRztzdGFjay5zZXQob2JqZWN0LG90aGVyKTt2YXIgcmVzdWx0PWVxdWFsQXJyYXlzKGNvbnZlcnQob2JqZWN0KSxjb252ZXJ0KG90aGVyKSxiaXRtYXNrLGN1c3RvbWl6ZXIsZXF1YWxGdW5jLHN0YWNrKTtzdGFja1siZGVsZXRlIl0ob2JqZWN0KTtyZXR1cm4gcmVzdWx0O2Nhc2Ugc3ltYm9sVGFnOmlmKHN5bWJvbFZhbHVlT2YpcmV0dXJuIHN5bWJvbFZhbHVlT2YuY2FsbChvYmplY3QpPT1zeW1ib2xWYWx1ZU9mLmNhbGwob3RoZXIpfXJldHVybiBmYWxzZX1mdW5jdGlvbiBlcXVhbE9iamVjdHMob2JqZWN0LG90aGVyLGJpdG1hc2ssY3VzdG9taXplcixlcXVhbEZ1bmMsc3RhY2spe3ZhciBpc1BhcnRpYWw9CmJpdG1hc2smQ09NUEFSRV9QQVJUSUFMX0ZMQUcsb2JqUHJvcHM9Z2V0QWxsS2V5cyhvYmplY3QpLG9iakxlbmd0aD1vYmpQcm9wcy5sZW5ndGgsb3RoUHJvcHM9Z2V0QWxsS2V5cyhvdGhlciksb3RoTGVuZ3RoPW90aFByb3BzLmxlbmd0aDtpZihvYmpMZW5ndGghPW90aExlbmd0aCYmIWlzUGFydGlhbClyZXR1cm4gZmFsc2U7dmFyIGluZGV4PW9iakxlbmd0aDt3aGlsZShpbmRleC0tKXt2YXIga2V5PW9ialByb3BzW2luZGV4XTtpZighKGlzUGFydGlhbD9rZXkgaW4gb3RoZXI6aGFzT3duUHJvcGVydHkuY2FsbChvdGhlcixrZXkpKSlyZXR1cm4gZmFsc2V9dmFyIHN0YWNrZWQ9c3RhY2suZ2V0KG9iamVjdCk7aWYoc3RhY2tlZCYmc3RhY2suZ2V0KG90aGVyKSlyZXR1cm4gc3RhY2tlZD09b3RoZXI7dmFyIHJlc3VsdD10cnVlO3N0YWNrLnNldChvYmplY3Qsb3RoZXIpO3N0YWNrLnNldChvdGhlcixvYmplY3QpO3ZhciBza2lwQ3Rvcj1pc1BhcnRpYWw7d2hpbGUoKytpbmRleDxvYmpMZW5ndGgpe2tleT0Kb2JqUHJvcHNbaW5kZXhdO3ZhciBvYmpWYWx1ZT1vYmplY3Rba2V5XSxvdGhWYWx1ZT1vdGhlcltrZXldO2lmKGN1c3RvbWl6ZXIpdmFyIGNvbXBhcmVkPWlzUGFydGlhbD9jdXN0b21pemVyKG90aFZhbHVlLG9ialZhbHVlLGtleSxvdGhlcixvYmplY3Qsc3RhY2spOmN1c3RvbWl6ZXIob2JqVmFsdWUsb3RoVmFsdWUsa2V5LG9iamVjdCxvdGhlcixzdGFjayk7aWYoIShjb21wYXJlZD09PXVuZGVmaW5lZD9vYmpWYWx1ZT09PW90aFZhbHVlfHxlcXVhbEZ1bmMob2JqVmFsdWUsb3RoVmFsdWUsYml0bWFzayxjdXN0b21pemVyLHN0YWNrKTpjb21wYXJlZCkpe3Jlc3VsdD1mYWxzZTticmVha31za2lwQ3Rvcnx8KHNraXBDdG9yPWtleT09ImNvbnN0cnVjdG9yIil9aWYocmVzdWx0JiYhc2tpcEN0b3Ipe3ZhciBvYmpDdG9yPW9iamVjdC5jb25zdHJ1Y3RvcixvdGhDdG9yPW90aGVyLmNvbnN0cnVjdG9yO2lmKG9iakN0b3IhPW90aEN0b3ImJigiY29uc3RydWN0b3IiaW4gb2JqZWN0JiYiY29uc3RydWN0b3IiaW4Kb3RoZXIpJiYhKHR5cGVvZiBvYmpDdG9yPT0iZnVuY3Rpb24iJiZvYmpDdG9yIGluc3RhbmNlb2Ygb2JqQ3RvciYmdHlwZW9mIG90aEN0b3I9PSJmdW5jdGlvbiImJm90aEN0b3IgaW5zdGFuY2VvZiBvdGhDdG9yKSlyZXN1bHQ9ZmFsc2V9c3RhY2tbImRlbGV0ZSJdKG9iamVjdCk7c3RhY2tbImRlbGV0ZSJdKG90aGVyKTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGZsYXRSZXN0KGZ1bmMpe3JldHVybiBzZXRUb1N0cmluZyhvdmVyUmVzdChmdW5jLHVuZGVmaW5lZCxmbGF0dGVuKSxmdW5jKyIiKX1mdW5jdGlvbiBnZXRBbGxLZXlzKG9iamVjdCl7cmV0dXJuIGJhc2VHZXRBbGxLZXlzKG9iamVjdCxrZXlzLGdldFN5bWJvbHMpfWZ1bmN0aW9uIGdldEFsbEtleXNJbihvYmplY3Qpe3JldHVybiBiYXNlR2V0QWxsS2V5cyhvYmplY3Qsa2V5c0luLGdldFN5bWJvbHNJbil9dmFyIGdldERhdGE9IW1ldGFNYXA/bm9vcDpmdW5jdGlvbihmdW5jKXtyZXR1cm4gbWV0YU1hcC5nZXQoZnVuYyl9OwpmdW5jdGlvbiBnZXRGdW5jTmFtZShmdW5jKXt2YXIgcmVzdWx0PWZ1bmMubmFtZSsiIixhcnJheT1yZWFsTmFtZXNbcmVzdWx0XSxsZW5ndGg9aGFzT3duUHJvcGVydHkuY2FsbChyZWFsTmFtZXMscmVzdWx0KT9hcnJheS5sZW5ndGg6MDt3aGlsZShsZW5ndGgtLSl7dmFyIGRhdGE9YXJyYXlbbGVuZ3RoXSxvdGhlckZ1bmM9ZGF0YS5mdW5jO2lmKG90aGVyRnVuYz09bnVsbHx8b3RoZXJGdW5jPT1mdW5jKXJldHVybiBkYXRhLm5hbWV9cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBnZXRIb2xkZXIoZnVuYyl7dmFyIG9iamVjdD1oYXNPd25Qcm9wZXJ0eS5jYWxsKGxvZGFzaCwicGxhY2Vob2xkZXIiKT9sb2Rhc2g6ZnVuYztyZXR1cm4gb2JqZWN0LnBsYWNlaG9sZGVyfWZ1bmN0aW9uIGdldEl0ZXJhdGVlKCl7dmFyIHJlc3VsdD1sb2Rhc2guaXRlcmF0ZWV8fGl0ZXJhdGVlO3Jlc3VsdD1yZXN1bHQ9PT1pdGVyYXRlZT9iYXNlSXRlcmF0ZWU6cmVzdWx0O3JldHVybiBhcmd1bWVudHMubGVuZ3RoPwpyZXN1bHQoYXJndW1lbnRzWzBdLGFyZ3VtZW50c1sxXSk6cmVzdWx0fWZ1bmN0aW9uIGdldE1hcERhdGEobWFwLGtleSl7dmFyIGRhdGE9bWFwLl9fZGF0YV9fO3JldHVybiBpc0tleWFibGUoa2V5KT9kYXRhW3R5cGVvZiBrZXk9PSJzdHJpbmciPyJzdHJpbmciOiJoYXNoIl06ZGF0YS5tYXB9ZnVuY3Rpb24gZ2V0TWF0Y2hEYXRhKG9iamVjdCl7dmFyIHJlc3VsdD1rZXlzKG9iamVjdCksbGVuZ3RoPXJlc3VsdC5sZW5ndGg7d2hpbGUobGVuZ3RoLS0pe3ZhciBrZXk9cmVzdWx0W2xlbmd0aF0sdmFsdWU9b2JqZWN0W2tleV07cmVzdWx0W2xlbmd0aF09W2tleSx2YWx1ZSxpc1N0cmljdENvbXBhcmFibGUodmFsdWUpXX1yZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGdldE5hdGl2ZShvYmplY3Qsa2V5KXt2YXIgdmFsdWU9Z2V0VmFsdWUob2JqZWN0LGtleSk7cmV0dXJuIGJhc2VJc05hdGl2ZSh2YWx1ZSk/dmFsdWU6dW5kZWZpbmVkfWZ1bmN0aW9uIGdldFJhd1RhZyh2YWx1ZSl7dmFyIGlzT3duPQpoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLHN5bVRvU3RyaW5nVGFnKSx0YWc9dmFsdWVbc3ltVG9TdHJpbmdUYWddO3RyeXt2YWx1ZVtzeW1Ub1N0cmluZ1RhZ109dW5kZWZpbmVkO3ZhciB1bm1hc2tlZD10cnVlfWNhdGNoKGUpe312YXIgcmVzdWx0PW5hdGl2ZU9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpO2lmKHVubWFza2VkKWlmKGlzT3duKXZhbHVlW3N5bVRvU3RyaW5nVGFnXT10YWc7ZWxzZSBkZWxldGUgdmFsdWVbc3ltVG9TdHJpbmdUYWddO3JldHVybiByZXN1bHR9dmFyIGdldFN5bWJvbHM9IW5hdGl2ZUdldFN5bWJvbHM/c3R1YkFycmF5OmZ1bmN0aW9uKG9iamVjdCl7aWYob2JqZWN0PT1udWxsKXJldHVybltdO29iamVjdD1PYmplY3Qob2JqZWN0KTtyZXR1cm4gYXJyYXlGaWx0ZXIobmF0aXZlR2V0U3ltYm9scyhvYmplY3QpLGZ1bmN0aW9uKHN5bWJvbCl7cmV0dXJuIHByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwob2JqZWN0LHN5bWJvbCl9KX07dmFyIGdldFN5bWJvbHNJbj0KIW5hdGl2ZUdldFN5bWJvbHM/c3R1YkFycmF5OmZ1bmN0aW9uKG9iamVjdCl7dmFyIHJlc3VsdD1bXTt3aGlsZShvYmplY3Qpe2FycmF5UHVzaChyZXN1bHQsZ2V0U3ltYm9scyhvYmplY3QpKTtvYmplY3Q9Z2V0UHJvdG90eXBlKG9iamVjdCl9cmV0dXJuIHJlc3VsdH07dmFyIGdldFRhZz1iYXNlR2V0VGFnO2lmKERhdGFWaWV3JiZnZXRUYWcobmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigxKSkpIT1kYXRhVmlld1RhZ3x8TWFwJiZnZXRUYWcobmV3IE1hcCkhPW1hcFRhZ3x8UHJvbWlzZSYmZ2V0VGFnKFByb21pc2UucmVzb2x2ZSgpKSE9cHJvbWlzZVRhZ3x8U2V0JiZnZXRUYWcobmV3IFNldCkhPXNldFRhZ3x8V2Vha01hcCYmZ2V0VGFnKG5ldyBXZWFrTWFwKSE9d2Vha01hcFRhZylnZXRUYWc9ZnVuY3Rpb24odmFsdWUpe3ZhciByZXN1bHQ9YmFzZUdldFRhZyh2YWx1ZSksQ3Rvcj1yZXN1bHQ9PW9iamVjdFRhZz92YWx1ZS5jb25zdHJ1Y3Rvcjp1bmRlZmluZWQsY3RvclN0cmluZz0KQ3Rvcj90b1NvdXJjZShDdG9yKToiIjtpZihjdG9yU3RyaW5nKXN3aXRjaChjdG9yU3RyaW5nKXtjYXNlIGRhdGFWaWV3Q3RvclN0cmluZzpyZXR1cm4gZGF0YVZpZXdUYWc7Y2FzZSBtYXBDdG9yU3RyaW5nOnJldHVybiBtYXBUYWc7Y2FzZSBwcm9taXNlQ3RvclN0cmluZzpyZXR1cm4gcHJvbWlzZVRhZztjYXNlIHNldEN0b3JTdHJpbmc6cmV0dXJuIHNldFRhZztjYXNlIHdlYWtNYXBDdG9yU3RyaW5nOnJldHVybiB3ZWFrTWFwVGFnfXJldHVybiByZXN1bHR9O2Z1bmN0aW9uIGdldFZpZXcoc3RhcnQsZW5kLHRyYW5zZm9ybXMpe3ZhciBpbmRleD0tMSxsZW5ndGg9dHJhbnNmb3Jtcy5sZW5ndGg7d2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciBkYXRhPXRyYW5zZm9ybXNbaW5kZXhdLHNpemU9ZGF0YS5zaXplO3N3aXRjaChkYXRhLnR5cGUpe2Nhc2UgImRyb3AiOnN0YXJ0Kz1zaXplO2JyZWFrO2Nhc2UgImRyb3BSaWdodCI6ZW5kLT1zaXplO2JyZWFrO2Nhc2UgInRha2UiOmVuZD1uYXRpdmVNaW4oZW5kLApzdGFydCtzaXplKTticmVhaztjYXNlICJ0YWtlUmlnaHQiOnN0YXJ0PW5hdGl2ZU1heChzdGFydCxlbmQtc2l6ZSk7YnJlYWt9fXJldHVybnsic3RhcnQiOnN0YXJ0LCJlbmQiOmVuZH19ZnVuY3Rpb24gZ2V0V3JhcERldGFpbHMoc291cmNlKXt2YXIgbWF0Y2g9c291cmNlLm1hdGNoKHJlV3JhcERldGFpbHMpO3JldHVybiBtYXRjaD9tYXRjaFsxXS5zcGxpdChyZVNwbGl0RGV0YWlscyk6W119ZnVuY3Rpb24gaGFzUGF0aChvYmplY3QscGF0aCxoYXNGdW5jKXtwYXRoPWNhc3RQYXRoKHBhdGgsb2JqZWN0KTt2YXIgaW5kZXg9LTEsbGVuZ3RoPXBhdGgubGVuZ3RoLHJlc3VsdD1mYWxzZTt3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIGtleT10b0tleShwYXRoW2luZGV4XSk7aWYoIShyZXN1bHQ9b2JqZWN0IT1udWxsJiZoYXNGdW5jKG9iamVjdCxrZXkpKSlicmVhaztvYmplY3Q9b2JqZWN0W2tleV19aWYocmVzdWx0fHwrK2luZGV4IT1sZW5ndGgpcmV0dXJuIHJlc3VsdDtsZW5ndGg9Cm9iamVjdD09bnVsbD8wOm9iamVjdC5sZW5ndGg7cmV0dXJuISFsZW5ndGgmJmlzTGVuZ3RoKGxlbmd0aCkmJmlzSW5kZXgoa2V5LGxlbmd0aCkmJihpc0FycmF5KG9iamVjdCl8fGlzQXJndW1lbnRzKG9iamVjdCkpfWZ1bmN0aW9uIGluaXRDbG9uZUFycmF5KGFycmF5KXt2YXIgbGVuZ3RoPWFycmF5Lmxlbmd0aCxyZXN1bHQ9bmV3IGFycmF5LmNvbnN0cnVjdG9yKGxlbmd0aCk7aWYobGVuZ3RoJiZ0eXBlb2YgYXJyYXlbMF09PSJzdHJpbmciJiZoYXNPd25Qcm9wZXJ0eS5jYWxsKGFycmF5LCJpbmRleCIpKXtyZXN1bHQuaW5kZXg9YXJyYXkuaW5kZXg7cmVzdWx0LmlucHV0PWFycmF5LmlucHV0fXJldHVybiByZXN1bHR9ZnVuY3Rpb24gaW5pdENsb25lT2JqZWN0KG9iamVjdCl7cmV0dXJuIHR5cGVvZiBvYmplY3QuY29uc3RydWN0b3I9PSJmdW5jdGlvbiImJiFpc1Byb3RvdHlwZShvYmplY3QpP2Jhc2VDcmVhdGUoZ2V0UHJvdG90eXBlKG9iamVjdCkpOnt9fWZ1bmN0aW9uIGluaXRDbG9uZUJ5VGFnKG9iamVjdCwKdGFnLGlzRGVlcCl7dmFyIEN0b3I9b2JqZWN0LmNvbnN0cnVjdG9yO3N3aXRjaCh0YWcpe2Nhc2UgYXJyYXlCdWZmZXJUYWc6cmV0dXJuIGNsb25lQXJyYXlCdWZmZXIob2JqZWN0KTtjYXNlIGJvb2xUYWc6Y2FzZSBkYXRlVGFnOnJldHVybiBuZXcgQ3Rvcigrb2JqZWN0KTtjYXNlIGRhdGFWaWV3VGFnOnJldHVybiBjbG9uZURhdGFWaWV3KG9iamVjdCxpc0RlZXApO2Nhc2UgZmxvYXQzMlRhZzpjYXNlIGZsb2F0NjRUYWc6Y2FzZSBpbnQ4VGFnOmNhc2UgaW50MTZUYWc6Y2FzZSBpbnQzMlRhZzpjYXNlIHVpbnQ4VGFnOmNhc2UgdWludDhDbGFtcGVkVGFnOmNhc2UgdWludDE2VGFnOmNhc2UgdWludDMyVGFnOnJldHVybiBjbG9uZVR5cGVkQXJyYXkob2JqZWN0LGlzRGVlcCk7Y2FzZSBtYXBUYWc6cmV0dXJuIG5ldyBDdG9yO2Nhc2UgbnVtYmVyVGFnOmNhc2Ugc3RyaW5nVGFnOnJldHVybiBuZXcgQ3RvcihvYmplY3QpO2Nhc2UgcmVnZXhwVGFnOnJldHVybiBjbG9uZVJlZ0V4cChvYmplY3QpOwpjYXNlIHNldFRhZzpyZXR1cm4gbmV3IEN0b3I7Y2FzZSBzeW1ib2xUYWc6cmV0dXJuIGNsb25lU3ltYm9sKG9iamVjdCl9fWZ1bmN0aW9uIGluc2VydFdyYXBEZXRhaWxzKHNvdXJjZSxkZXRhaWxzKXt2YXIgbGVuZ3RoPWRldGFpbHMubGVuZ3RoO2lmKCFsZW5ndGgpcmV0dXJuIHNvdXJjZTt2YXIgbGFzdEluZGV4PWxlbmd0aC0xO2RldGFpbHNbbGFzdEluZGV4XT0obGVuZ3RoPjE/Ilx4MjYgIjoiIikrZGV0YWlsc1tsYXN0SW5kZXhdO2RldGFpbHM9ZGV0YWlscy5qb2luKGxlbmd0aD4yPyIsICI6IiAiKTtyZXR1cm4gc291cmNlLnJlcGxhY2UocmVXcmFwQ29tbWVudCwie1xuLyogW3dyYXBwZWQgd2l0aCAiK2RldGFpbHMrIl0gKi9cbiIpfWZ1bmN0aW9uIGlzRmxhdHRlbmFibGUodmFsdWUpe3JldHVybiBpc0FycmF5KHZhbHVlKXx8aXNBcmd1bWVudHModmFsdWUpfHwhIShzcHJlYWRhYmxlU3ltYm9sJiZ2YWx1ZSYmdmFsdWVbc3ByZWFkYWJsZVN5bWJvbF0pfWZ1bmN0aW9uIGlzSW5kZXgodmFsdWUsCmxlbmd0aCl7dmFyIHR5cGU9dHlwZW9mIHZhbHVlO2xlbmd0aD1sZW5ndGg9PW51bGw/TUFYX1NBRkVfSU5URUdFUjpsZW5ndGg7cmV0dXJuISFsZW5ndGgmJih0eXBlPT0ibnVtYmVyInx8dHlwZSE9InN5bWJvbCImJnJlSXNVaW50LnRlc3QodmFsdWUpKSYmKHZhbHVlPi0xJiZ2YWx1ZSUxPT0wJiZ2YWx1ZTxsZW5ndGgpfWZ1bmN0aW9uIGlzSXRlcmF0ZWVDYWxsKHZhbHVlLGluZGV4LG9iamVjdCl7aWYoIWlzT2JqZWN0KG9iamVjdCkpcmV0dXJuIGZhbHNlO3ZhciB0eXBlPXR5cGVvZiBpbmRleDtpZih0eXBlPT0ibnVtYmVyIj9pc0FycmF5TGlrZShvYmplY3QpJiZpc0luZGV4KGluZGV4LG9iamVjdC5sZW5ndGgpOnR5cGU9PSJzdHJpbmciJiZpbmRleCBpbiBvYmplY3QpcmV0dXJuIGVxKG9iamVjdFtpbmRleF0sdmFsdWUpO3JldHVybiBmYWxzZX1mdW5jdGlvbiBpc0tleSh2YWx1ZSxvYmplY3Qpe2lmKGlzQXJyYXkodmFsdWUpKXJldHVybiBmYWxzZTt2YXIgdHlwZT10eXBlb2YgdmFsdWU7CmlmKHR5cGU9PSJudW1iZXIifHx0eXBlPT0ic3ltYm9sInx8dHlwZT09ImJvb2xlYW4ifHx2YWx1ZT09bnVsbHx8aXNTeW1ib2wodmFsdWUpKXJldHVybiB0cnVlO3JldHVybiByZUlzUGxhaW5Qcm9wLnRlc3QodmFsdWUpfHwhcmVJc0RlZXBQcm9wLnRlc3QodmFsdWUpfHxvYmplY3QhPW51bGwmJnZhbHVlIGluIE9iamVjdChvYmplY3QpfWZ1bmN0aW9uIGlzS2V5YWJsZSh2YWx1ZSl7dmFyIHR5cGU9dHlwZW9mIHZhbHVlO3JldHVybiB0eXBlPT0ic3RyaW5nInx8dHlwZT09Im51bWJlciJ8fHR5cGU9PSJzeW1ib2wifHx0eXBlPT0iYm9vbGVhbiI/dmFsdWUhPT0iX19wcm90b19fIjp2YWx1ZT09PW51bGx9ZnVuY3Rpb24gaXNMYXppYWJsZShmdW5jKXt2YXIgZnVuY05hbWU9Z2V0RnVuY05hbWUoZnVuYyksb3RoZXI9bG9kYXNoW2Z1bmNOYW1lXTtpZih0eXBlb2Ygb3RoZXIhPSJmdW5jdGlvbiJ8fCEoZnVuY05hbWUgaW4gTGF6eVdyYXBwZXIucHJvdG90eXBlKSlyZXR1cm4gZmFsc2U7CmlmKGZ1bmM9PT1vdGhlcilyZXR1cm4gdHJ1ZTt2YXIgZGF0YT1nZXREYXRhKG90aGVyKTtyZXR1cm4hIWRhdGEmJmZ1bmM9PT1kYXRhWzBdfWZ1bmN0aW9uIGlzTWFza2VkKGZ1bmMpe3JldHVybiEhbWFza1NyY0tleSYmbWFza1NyY0tleSBpbiBmdW5jfXZhciBpc01hc2thYmxlPWNvcmVKc0RhdGE/aXNGdW5jdGlvbjpzdHViRmFsc2U7ZnVuY3Rpb24gaXNQcm90b3R5cGUodmFsdWUpe3ZhciBDdG9yPXZhbHVlJiZ2YWx1ZS5jb25zdHJ1Y3Rvcixwcm90bz10eXBlb2YgQ3Rvcj09ImZ1bmN0aW9uIiYmQ3Rvci5wcm90b3R5cGV8fG9iamVjdFByb3RvO3JldHVybiB2YWx1ZT09PXByb3RvfWZ1bmN0aW9uIGlzU3RyaWN0Q29tcGFyYWJsZSh2YWx1ZSl7cmV0dXJuIHZhbHVlPT09dmFsdWUmJiFpc09iamVjdCh2YWx1ZSl9ZnVuY3Rpb24gbWF0Y2hlc1N0cmljdENvbXBhcmFibGUoa2V5LHNyY1ZhbHVlKXtyZXR1cm4gZnVuY3Rpb24ob2JqZWN0KXtpZihvYmplY3Q9PW51bGwpcmV0dXJuIGZhbHNlOwpyZXR1cm4gb2JqZWN0W2tleV09PT1zcmNWYWx1ZSYmKHNyY1ZhbHVlIT09dW5kZWZpbmVkfHxrZXkgaW4gT2JqZWN0KG9iamVjdCkpfX1mdW5jdGlvbiBtZW1vaXplQ2FwcGVkKGZ1bmMpe3ZhciByZXN1bHQ9bWVtb2l6ZShmdW5jLGZ1bmN0aW9uKGtleSl7aWYoY2FjaGUuc2l6ZT09PU1BWF9NRU1PSVpFX1NJWkUpY2FjaGUuY2xlYXIoKTtyZXR1cm4ga2V5fSk7dmFyIGNhY2hlPXJlc3VsdC5jYWNoZTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIG1lcmdlRGF0YShkYXRhLHNvdXJjZSl7dmFyIGJpdG1hc2s9ZGF0YVsxXSxzcmNCaXRtYXNrPXNvdXJjZVsxXSxuZXdCaXRtYXNrPWJpdG1hc2t8c3JjQml0bWFzayxpc0NvbW1vbj1uZXdCaXRtYXNrPChXUkFQX0JJTkRfRkxBR3xXUkFQX0JJTkRfS0VZX0ZMQUd8V1JBUF9BUllfRkxBRyk7dmFyIGlzQ29tYm89c3JjQml0bWFzaz09V1JBUF9BUllfRkxBRyYmYml0bWFzaz09V1JBUF9DVVJSWV9GTEFHfHxzcmNCaXRtYXNrPT1XUkFQX0FSWV9GTEFHJiYKYml0bWFzaz09V1JBUF9SRUFSR19GTEFHJiZkYXRhWzddLmxlbmd0aDw9c291cmNlWzhdfHxzcmNCaXRtYXNrPT0oV1JBUF9BUllfRkxBR3xXUkFQX1JFQVJHX0ZMQUcpJiZzb3VyY2VbN10ubGVuZ3RoPD1zb3VyY2VbOF0mJmJpdG1hc2s9PVdSQVBfQ1VSUllfRkxBRztpZighKGlzQ29tbW9ufHxpc0NvbWJvKSlyZXR1cm4gZGF0YTtpZihzcmNCaXRtYXNrJldSQVBfQklORF9GTEFHKXtkYXRhWzJdPXNvdXJjZVsyXTtuZXdCaXRtYXNrfD1iaXRtYXNrJldSQVBfQklORF9GTEFHPzA6V1JBUF9DVVJSWV9CT1VORF9GTEFHfXZhciB2YWx1ZT1zb3VyY2VbM107aWYodmFsdWUpe3ZhciBwYXJ0aWFscz1kYXRhWzNdO2RhdGFbM109cGFydGlhbHM/Y29tcG9zZUFyZ3MocGFydGlhbHMsdmFsdWUsc291cmNlWzRdKTp2YWx1ZTtkYXRhWzRdPXBhcnRpYWxzP3JlcGxhY2VIb2xkZXJzKGRhdGFbM10sUExBQ0VIT0xERVIpOnNvdXJjZVs0XX12YWx1ZT1zb3VyY2VbNV07aWYodmFsdWUpe3BhcnRpYWxzPQpkYXRhWzVdO2RhdGFbNV09cGFydGlhbHM/Y29tcG9zZUFyZ3NSaWdodChwYXJ0aWFscyx2YWx1ZSxzb3VyY2VbNl0pOnZhbHVlO2RhdGFbNl09cGFydGlhbHM/cmVwbGFjZUhvbGRlcnMoZGF0YVs1XSxQTEFDRUhPTERFUik6c291cmNlWzZdfXZhbHVlPXNvdXJjZVs3XTtpZih2YWx1ZSlkYXRhWzddPXZhbHVlO2lmKHNyY0JpdG1hc2smV1JBUF9BUllfRkxBRylkYXRhWzhdPWRhdGFbOF09PW51bGw/c291cmNlWzhdOm5hdGl2ZU1pbihkYXRhWzhdLHNvdXJjZVs4XSk7aWYoZGF0YVs5XT09bnVsbClkYXRhWzldPXNvdXJjZVs5XTtkYXRhWzBdPXNvdXJjZVswXTtkYXRhWzFdPW5ld0JpdG1hc2s7cmV0dXJuIGRhdGF9ZnVuY3Rpb24gbmF0aXZlS2V5c0luKG9iamVjdCl7dmFyIHJlc3VsdD1bXTtpZihvYmplY3QhPW51bGwpZm9yKHZhciBrZXkgaW4gT2JqZWN0KG9iamVjdCkpcmVzdWx0LnB1c2goa2V5KTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIG9iamVjdFRvU3RyaW5nKHZhbHVlKXtyZXR1cm4gbmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSl9CmZ1bmN0aW9uIG92ZXJSZXN0KGZ1bmMsc3RhcnQsdHJhbnNmb3JtKXtzdGFydD1uYXRpdmVNYXgoc3RhcnQ9PT11bmRlZmluZWQ/ZnVuYy5sZW5ndGgtMTpzdGFydCwwKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYXJncz1hcmd1bWVudHMsaW5kZXg9LTEsbGVuZ3RoPW5hdGl2ZU1heChhcmdzLmxlbmd0aC1zdGFydCwwKSxhcnJheT1BcnJheShsZW5ndGgpO3doaWxlKCsraW5kZXg8bGVuZ3RoKWFycmF5W2luZGV4XT1hcmdzW3N0YXJ0K2luZGV4XTtpbmRleD0tMTt2YXIgb3RoZXJBcmdzPUFycmF5KHN0YXJ0KzEpO3doaWxlKCsraW5kZXg8c3RhcnQpb3RoZXJBcmdzW2luZGV4XT1hcmdzW2luZGV4XTtvdGhlckFyZ3Nbc3RhcnRdPXRyYW5zZm9ybShhcnJheSk7cmV0dXJuIGFwcGx5KGZ1bmMsdGhpcyxvdGhlckFyZ3MpfX1mdW5jdGlvbiBwYXJlbnQob2JqZWN0LHBhdGgpe3JldHVybiBwYXRoLmxlbmd0aDwyP29iamVjdDpiYXNlR2V0KG9iamVjdCxiYXNlU2xpY2UocGF0aCwwLC0xKSl9CmZ1bmN0aW9uIHJlb3JkZXIoYXJyYXksaW5kZXhlcyl7dmFyIGFyckxlbmd0aD1hcnJheS5sZW5ndGgsbGVuZ3RoPW5hdGl2ZU1pbihpbmRleGVzLmxlbmd0aCxhcnJMZW5ndGgpLG9sZEFycmF5PWNvcHlBcnJheShhcnJheSk7d2hpbGUobGVuZ3RoLS0pe3ZhciBpbmRleD1pbmRleGVzW2xlbmd0aF07YXJyYXlbbGVuZ3RoXT1pc0luZGV4KGluZGV4LGFyckxlbmd0aCk/b2xkQXJyYXlbaW5kZXhdOnVuZGVmaW5lZH1yZXR1cm4gYXJyYXl9dmFyIHNldERhdGE9c2hvcnRPdXQoYmFzZVNldERhdGEpO3ZhciBzZXRUaW1lb3V0PWN0eFNldFRpbWVvdXR8fGZ1bmN0aW9uKGZ1bmMsd2FpdCl7cmV0dXJuIHJvb3Quc2V0VGltZW91dChmdW5jLHdhaXQpfTt2YXIgc2V0VG9TdHJpbmc9c2hvcnRPdXQoYmFzZVNldFRvU3RyaW5nKTtmdW5jdGlvbiBzZXRXcmFwVG9TdHJpbmcod3JhcHBlcixyZWZlcmVuY2UsYml0bWFzayl7dmFyIHNvdXJjZT1yZWZlcmVuY2UrIiI7cmV0dXJuIHNldFRvU3RyaW5nKHdyYXBwZXIsCmluc2VydFdyYXBEZXRhaWxzKHNvdXJjZSx1cGRhdGVXcmFwRGV0YWlscyhnZXRXcmFwRGV0YWlscyhzb3VyY2UpLGJpdG1hc2spKSl9ZnVuY3Rpb24gc2hvcnRPdXQoZnVuYyl7dmFyIGNvdW50PTAsbGFzdENhbGxlZD0wO3JldHVybiBmdW5jdGlvbigpe3ZhciBzdGFtcD1uYXRpdmVOb3coKSxyZW1haW5pbmc9SE9UX1NQQU4tKHN0YW1wLWxhc3RDYWxsZWQpO2xhc3RDYWxsZWQ9c3RhbXA7aWYocmVtYWluaW5nPjApe2lmKCsrY291bnQ+PUhPVF9DT1VOVClyZXR1cm4gYXJndW1lbnRzWzBdfWVsc2UgY291bnQ9MDtyZXR1cm4gZnVuYy5hcHBseSh1bmRlZmluZWQsYXJndW1lbnRzKX19ZnVuY3Rpb24gc2h1ZmZsZVNlbGYoYXJyYXksc2l6ZSl7dmFyIGluZGV4PS0xLGxlbmd0aD1hcnJheS5sZW5ndGgsbGFzdEluZGV4PWxlbmd0aC0xO3NpemU9c2l6ZT09PXVuZGVmaW5lZD9sZW5ndGg6c2l6ZTt3aGlsZSgrK2luZGV4PHNpemUpe3ZhciByYW5kPWJhc2VSYW5kb20oaW5kZXgsbGFzdEluZGV4KSwKdmFsdWU9YXJyYXlbcmFuZF07YXJyYXlbcmFuZF09YXJyYXlbaW5kZXhdO2FycmF5W2luZGV4XT12YWx1ZX1hcnJheS5sZW5ndGg9c2l6ZTtyZXR1cm4gYXJyYXl9dmFyIHN0cmluZ1RvUGF0aD1tZW1vaXplQ2FwcGVkKGZ1bmN0aW9uKHN0cmluZyl7dmFyIHJlc3VsdD1bXTtpZihzdHJpbmcuY2hhckNvZGVBdCgwKT09PTQ2KXJlc3VsdC5wdXNoKCIiKTtzdHJpbmcucmVwbGFjZShyZVByb3BOYW1lLGZ1bmN0aW9uKG1hdGNoLG51bWJlcixxdW90ZSxzdWJTdHJpbmcpe3Jlc3VsdC5wdXNoKHF1b3RlP3N1YlN0cmluZy5yZXBsYWNlKHJlRXNjYXBlQ2hhciwiJDEiKTpudW1iZXJ8fG1hdGNoKX0pO3JldHVybiByZXN1bHR9KTtmdW5jdGlvbiB0b0tleSh2YWx1ZSl7aWYodHlwZW9mIHZhbHVlPT0ic3RyaW5nInx8aXNTeW1ib2wodmFsdWUpKXJldHVybiB2YWx1ZTt2YXIgcmVzdWx0PXZhbHVlKyIiO3JldHVybiByZXN1bHQ9PSIwIiYmMS92YWx1ZT09LUlORklOSVRZPyItMCI6cmVzdWx0fQpmdW5jdGlvbiB0b1NvdXJjZShmdW5jKXtpZihmdW5jIT1udWxsKXt0cnl7cmV0dXJuIGZ1bmNUb1N0cmluZy5jYWxsKGZ1bmMpfWNhdGNoKGUpe310cnl7cmV0dXJuIGZ1bmMrIiJ9Y2F0Y2goZSQwKXt9fXJldHVybiIifWZ1bmN0aW9uIHVwZGF0ZVdyYXBEZXRhaWxzKGRldGFpbHMsYml0bWFzayl7YXJyYXlFYWNoKHdyYXBGbGFncyxmdW5jdGlvbihwYWlyKXt2YXIgdmFsdWU9Il8uIitwYWlyWzBdO2lmKGJpdG1hc2smcGFpclsxXSYmIWFycmF5SW5jbHVkZXMoZGV0YWlscyx2YWx1ZSkpZGV0YWlscy5wdXNoKHZhbHVlKX0pO3JldHVybiBkZXRhaWxzLnNvcnQoKX1mdW5jdGlvbiB3cmFwcGVyQ2xvbmUod3JhcHBlcil7aWYod3JhcHBlciBpbnN0YW5jZW9mIExhenlXcmFwcGVyKXJldHVybiB3cmFwcGVyLmNsb25lKCk7dmFyIHJlc3VsdD1uZXcgTG9kYXNoV3JhcHBlcih3cmFwcGVyLl9fd3JhcHBlZF9fLHdyYXBwZXIuX19jaGFpbl9fKTtyZXN1bHQuX19hY3Rpb25zX189Y29weUFycmF5KHdyYXBwZXIuX19hY3Rpb25zX18pOwpyZXN1bHQuX19pbmRleF9fPXdyYXBwZXIuX19pbmRleF9fO3Jlc3VsdC5fX3ZhbHVlc19fPXdyYXBwZXIuX192YWx1ZXNfXztyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGNodW5rKGFycmF5LHNpemUsZ3VhcmQpe2lmKGd1YXJkP2lzSXRlcmF0ZWVDYWxsKGFycmF5LHNpemUsZ3VhcmQpOnNpemU9PT11bmRlZmluZWQpc2l6ZT0xO2Vsc2Ugc2l6ZT1uYXRpdmVNYXgodG9JbnRlZ2VyKHNpemUpLDApO3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7aWYoIWxlbmd0aHx8c2l6ZTwxKXJldHVybltdO3ZhciBpbmRleD0wLHJlc0luZGV4PTAscmVzdWx0PUFycmF5KG5hdGl2ZUNlaWwobGVuZ3RoL3NpemUpKTt3aGlsZShpbmRleDxsZW5ndGgpcmVzdWx0W3Jlc0luZGV4KytdPWJhc2VTbGljZShhcnJheSxpbmRleCxpbmRleCs9c2l6ZSk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBjb21wYWN0KGFycmF5KXt2YXIgaW5kZXg9LTEsbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoLApyZXNJbmRleD0wLHJlc3VsdD1bXTt3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIHZhbHVlPWFycmF5W2luZGV4XTtpZih2YWx1ZSlyZXN1bHRbcmVzSW5kZXgrK109dmFsdWV9cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBjb25jYXQoKXt2YXIgbGVuZ3RoPWFyZ3VtZW50cy5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm5bXTt2YXIgYXJncz1BcnJheShsZW5ndGgtMSksYXJyYXk9YXJndW1lbnRzWzBdLGluZGV4PWxlbmd0aDt3aGlsZShpbmRleC0tKWFyZ3NbaW5kZXgtMV09YXJndW1lbnRzW2luZGV4XTtyZXR1cm4gYXJyYXlQdXNoKGlzQXJyYXkoYXJyYXkpP2NvcHlBcnJheShhcnJheSk6W2FycmF5XSxiYXNlRmxhdHRlbihhcmdzLDEpKX12YXIgZGlmZmVyZW5jZT1iYXNlUmVzdChmdW5jdGlvbihhcnJheSx2YWx1ZXMpe3JldHVybiBpc0FycmF5TGlrZU9iamVjdChhcnJheSk/YmFzZURpZmZlcmVuY2UoYXJyYXksYmFzZUZsYXR0ZW4odmFsdWVzLDEsaXNBcnJheUxpa2VPYmplY3QsdHJ1ZSkpOgpbXX0pO3ZhciBkaWZmZXJlbmNlQnk9YmFzZVJlc3QoZnVuY3Rpb24oYXJyYXksdmFsdWVzKXt2YXIgaXRlcmF0ZWU9bGFzdCh2YWx1ZXMpO2lmKGlzQXJyYXlMaWtlT2JqZWN0KGl0ZXJhdGVlKSlpdGVyYXRlZT11bmRlZmluZWQ7cmV0dXJuIGlzQXJyYXlMaWtlT2JqZWN0KGFycmF5KT9iYXNlRGlmZmVyZW5jZShhcnJheSxiYXNlRmxhdHRlbih2YWx1ZXMsMSxpc0FycmF5TGlrZU9iamVjdCx0cnVlKSxnZXRJdGVyYXRlZShpdGVyYXRlZSwyKSk6W119KTt2YXIgZGlmZmVyZW5jZVdpdGg9YmFzZVJlc3QoZnVuY3Rpb24oYXJyYXksdmFsdWVzKXt2YXIgY29tcGFyYXRvcj1sYXN0KHZhbHVlcyk7aWYoaXNBcnJheUxpa2VPYmplY3QoY29tcGFyYXRvcikpY29tcGFyYXRvcj11bmRlZmluZWQ7cmV0dXJuIGlzQXJyYXlMaWtlT2JqZWN0KGFycmF5KT9iYXNlRGlmZmVyZW5jZShhcnJheSxiYXNlRmxhdHRlbih2YWx1ZXMsMSxpc0FycmF5TGlrZU9iamVjdCx0cnVlKSx1bmRlZmluZWQsY29tcGFyYXRvcik6CltdfSk7ZnVuY3Rpb24gZHJvcChhcnJheSxuLGd1YXJkKXt2YXIgbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoO2lmKCFsZW5ndGgpcmV0dXJuW107bj1ndWFyZHx8bj09PXVuZGVmaW5lZD8xOnRvSW50ZWdlcihuKTtyZXR1cm4gYmFzZVNsaWNlKGFycmF5LG48MD8wOm4sbGVuZ3RoKX1mdW5jdGlvbiBkcm9wUmlnaHQoYXJyYXksbixndWFyZCl7dmFyIGxlbmd0aD1hcnJheT09bnVsbD8wOmFycmF5Lmxlbmd0aDtpZighbGVuZ3RoKXJldHVybltdO249Z3VhcmR8fG49PT11bmRlZmluZWQ/MTp0b0ludGVnZXIobik7bj1sZW5ndGgtbjtyZXR1cm4gYmFzZVNsaWNlKGFycmF5LDAsbjwwPzA6bil9ZnVuY3Rpb24gZHJvcFJpZ2h0V2hpbGUoYXJyYXkscHJlZGljYXRlKXtyZXR1cm4gYXJyYXkmJmFycmF5Lmxlbmd0aD9iYXNlV2hpbGUoYXJyYXksZ2V0SXRlcmF0ZWUocHJlZGljYXRlLDMpLHRydWUsdHJ1ZSk6W119ZnVuY3Rpb24gZHJvcFdoaWxlKGFycmF5LHByZWRpY2F0ZSl7cmV0dXJuIGFycmF5JiYKYXJyYXkubGVuZ3RoP2Jhc2VXaGlsZShhcnJheSxnZXRJdGVyYXRlZShwcmVkaWNhdGUsMyksdHJ1ZSk6W119ZnVuY3Rpb24gZmlsbChhcnJheSx2YWx1ZSxzdGFydCxlbmQpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm5bXTtpZihzdGFydCYmdHlwZW9mIHN0YXJ0IT0ibnVtYmVyIiYmaXNJdGVyYXRlZUNhbGwoYXJyYXksdmFsdWUsc3RhcnQpKXtzdGFydD0wO2VuZD1sZW5ndGh9cmV0dXJuIGJhc2VGaWxsKGFycmF5LHZhbHVlLHN0YXJ0LGVuZCl9ZnVuY3Rpb24gZmluZEluZGV4KGFycmF5LHByZWRpY2F0ZSxmcm9tSW5kZXgpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm4tMTt2YXIgaW5kZXg9ZnJvbUluZGV4PT1udWxsPzA6dG9JbnRlZ2VyKGZyb21JbmRleCk7aWYoaW5kZXg8MClpbmRleD1uYXRpdmVNYXgobGVuZ3RoK2luZGV4LDApO3JldHVybiBiYXNlRmluZEluZGV4KGFycmF5LApnZXRJdGVyYXRlZShwcmVkaWNhdGUsMyksaW5kZXgpfWZ1bmN0aW9uIGZpbmRMYXN0SW5kZXgoYXJyYXkscHJlZGljYXRlLGZyb21JbmRleCl7dmFyIGxlbmd0aD1hcnJheT09bnVsbD8wOmFycmF5Lmxlbmd0aDtpZighbGVuZ3RoKXJldHVybi0xO3ZhciBpbmRleD1sZW5ndGgtMTtpZihmcm9tSW5kZXghPT11bmRlZmluZWQpe2luZGV4PXRvSW50ZWdlcihmcm9tSW5kZXgpO2luZGV4PWZyb21JbmRleDwwP25hdGl2ZU1heChsZW5ndGgraW5kZXgsMCk6bmF0aXZlTWluKGluZGV4LGxlbmd0aC0xKX1yZXR1cm4gYmFzZUZpbmRJbmRleChhcnJheSxnZXRJdGVyYXRlZShwcmVkaWNhdGUsMyksaW5kZXgsdHJ1ZSl9ZnVuY3Rpb24gZmxhdHRlbihhcnJheSl7dmFyIGxlbmd0aD1hcnJheT09bnVsbD8wOmFycmF5Lmxlbmd0aDtyZXR1cm4gbGVuZ3RoP2Jhc2VGbGF0dGVuKGFycmF5LDEpOltdfWZ1bmN0aW9uIGZsYXR0ZW5EZWVwKGFycmF5KXt2YXIgbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoOwpyZXR1cm4gbGVuZ3RoP2Jhc2VGbGF0dGVuKGFycmF5LElORklOSVRZKTpbXX1mdW5jdGlvbiBmbGF0dGVuRGVwdGgoYXJyYXksZGVwdGgpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm5bXTtkZXB0aD1kZXB0aD09PXVuZGVmaW5lZD8xOnRvSW50ZWdlcihkZXB0aCk7cmV0dXJuIGJhc2VGbGF0dGVuKGFycmF5LGRlcHRoKX1mdW5jdGlvbiBmcm9tUGFpcnMocGFpcnMpe3ZhciBpbmRleD0tMSxsZW5ndGg9cGFpcnM9PW51bGw/MDpwYWlycy5sZW5ndGgscmVzdWx0PXt9O3doaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgcGFpcj1wYWlyc1tpbmRleF07cmVzdWx0W3BhaXJbMF1dPXBhaXJbMV19cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBoZWFkKGFycmF5KXtyZXR1cm4gYXJyYXkmJmFycmF5Lmxlbmd0aD9hcnJheVswXTp1bmRlZmluZWR9ZnVuY3Rpb24gaW5kZXhPZihhcnJheSx2YWx1ZSxmcm9tSW5kZXgpe3ZhciBsZW5ndGg9YXJyYXk9PQpudWxsPzA6YXJyYXkubGVuZ3RoO2lmKCFsZW5ndGgpcmV0dXJuLTE7dmFyIGluZGV4PWZyb21JbmRleD09bnVsbD8wOnRvSW50ZWdlcihmcm9tSW5kZXgpO2lmKGluZGV4PDApaW5kZXg9bmF0aXZlTWF4KGxlbmd0aCtpbmRleCwwKTtyZXR1cm4gYmFzZUluZGV4T2YoYXJyYXksdmFsdWUsaW5kZXgpfWZ1bmN0aW9uIGluaXRpYWwoYXJyYXkpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7cmV0dXJuIGxlbmd0aD9iYXNlU2xpY2UoYXJyYXksMCwtMSk6W119dmFyIGludGVyc2VjdGlvbj1iYXNlUmVzdChmdW5jdGlvbihhcnJheXMpe3ZhciBtYXBwZWQ9YXJyYXlNYXAoYXJyYXlzLGNhc3RBcnJheUxpa2VPYmplY3QpO3JldHVybiBtYXBwZWQubGVuZ3RoJiZtYXBwZWRbMF09PT1hcnJheXNbMF0/YmFzZUludGVyc2VjdGlvbihtYXBwZWQpOltdfSk7dmFyIGludGVyc2VjdGlvbkJ5PWJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cyl7dmFyIGl0ZXJhdGVlPWxhc3QoYXJyYXlzKSwKbWFwcGVkPWFycmF5TWFwKGFycmF5cyxjYXN0QXJyYXlMaWtlT2JqZWN0KTtpZihpdGVyYXRlZT09PWxhc3QobWFwcGVkKSlpdGVyYXRlZT11bmRlZmluZWQ7ZWxzZSBtYXBwZWQucG9wKCk7cmV0dXJuIG1hcHBlZC5sZW5ndGgmJm1hcHBlZFswXT09PWFycmF5c1swXT9iYXNlSW50ZXJzZWN0aW9uKG1hcHBlZCxnZXRJdGVyYXRlZShpdGVyYXRlZSwyKSk6W119KTt2YXIgaW50ZXJzZWN0aW9uV2l0aD1iYXNlUmVzdChmdW5jdGlvbihhcnJheXMpe3ZhciBjb21wYXJhdG9yPWxhc3QoYXJyYXlzKSxtYXBwZWQ9YXJyYXlNYXAoYXJyYXlzLGNhc3RBcnJheUxpa2VPYmplY3QpO2NvbXBhcmF0b3I9dHlwZW9mIGNvbXBhcmF0b3I9PSJmdW5jdGlvbiI/Y29tcGFyYXRvcjp1bmRlZmluZWQ7aWYoY29tcGFyYXRvciltYXBwZWQucG9wKCk7cmV0dXJuIG1hcHBlZC5sZW5ndGgmJm1hcHBlZFswXT09PWFycmF5c1swXT9iYXNlSW50ZXJzZWN0aW9uKG1hcHBlZCx1bmRlZmluZWQsY29tcGFyYXRvcik6CltdfSk7ZnVuY3Rpb24gam9pbihhcnJheSxzZXBhcmF0b3Ipe3JldHVybiBhcnJheT09bnVsbD8iIjpuYXRpdmVKb2luLmNhbGwoYXJyYXksc2VwYXJhdG9yKX1mdW5jdGlvbiBsYXN0KGFycmF5KXt2YXIgbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoO3JldHVybiBsZW5ndGg/YXJyYXlbbGVuZ3RoLTFdOnVuZGVmaW5lZH1mdW5jdGlvbiBsYXN0SW5kZXhPZihhcnJheSx2YWx1ZSxmcm9tSW5kZXgpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm4tMTt2YXIgaW5kZXg9bGVuZ3RoO2lmKGZyb21JbmRleCE9PXVuZGVmaW5lZCl7aW5kZXg9dG9JbnRlZ2VyKGZyb21JbmRleCk7aW5kZXg9aW5kZXg8MD9uYXRpdmVNYXgobGVuZ3RoK2luZGV4LDApOm5hdGl2ZU1pbihpbmRleCxsZW5ndGgtMSl9cmV0dXJuIHZhbHVlPT09dmFsdWU/c3RyaWN0TGFzdEluZGV4T2YoYXJyYXksdmFsdWUsaW5kZXgpOmJhc2VGaW5kSW5kZXgoYXJyYXksCmJhc2VJc05hTixpbmRleCx0cnVlKX1mdW5jdGlvbiBudGgoYXJyYXksbil7cmV0dXJuIGFycmF5JiZhcnJheS5sZW5ndGg/YmFzZU50aChhcnJheSx0b0ludGVnZXIobikpOnVuZGVmaW5lZH12YXIgcHVsbD1iYXNlUmVzdChwdWxsQWxsKTtmdW5jdGlvbiBwdWxsQWxsKGFycmF5LHZhbHVlcyl7cmV0dXJuIGFycmF5JiZhcnJheS5sZW5ndGgmJnZhbHVlcyYmdmFsdWVzLmxlbmd0aD9iYXNlUHVsbEFsbChhcnJheSx2YWx1ZXMpOmFycmF5fWZ1bmN0aW9uIHB1bGxBbGxCeShhcnJheSx2YWx1ZXMsaXRlcmF0ZWUpe3JldHVybiBhcnJheSYmYXJyYXkubGVuZ3RoJiZ2YWx1ZXMmJnZhbHVlcy5sZW5ndGg/YmFzZVB1bGxBbGwoYXJyYXksdmFsdWVzLGdldEl0ZXJhdGVlKGl0ZXJhdGVlLDIpKTphcnJheX1mdW5jdGlvbiBwdWxsQWxsV2l0aChhcnJheSx2YWx1ZXMsY29tcGFyYXRvcil7cmV0dXJuIGFycmF5JiZhcnJheS5sZW5ndGgmJnZhbHVlcyYmdmFsdWVzLmxlbmd0aD9iYXNlUHVsbEFsbChhcnJheSwKdmFsdWVzLHVuZGVmaW5lZCxjb21wYXJhdG9yKTphcnJheX12YXIgcHVsbEF0PWZsYXRSZXN0KGZ1bmN0aW9uKGFycmF5LGluZGV4ZXMpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGgscmVzdWx0PWJhc2VBdChhcnJheSxpbmRleGVzKTtiYXNlUHVsbEF0KGFycmF5LGFycmF5TWFwKGluZGV4ZXMsZnVuY3Rpb24oaW5kZXgpe3JldHVybiBpc0luZGV4KGluZGV4LGxlbmd0aCk/K2luZGV4OmluZGV4fSkuc29ydChjb21wYXJlQXNjZW5kaW5nKSk7cmV0dXJuIHJlc3VsdH0pO2Z1bmN0aW9uIHJlbW92ZShhcnJheSxwcmVkaWNhdGUpe3ZhciByZXN1bHQ9W107aWYoIShhcnJheSYmYXJyYXkubGVuZ3RoKSlyZXR1cm4gcmVzdWx0O3ZhciBpbmRleD0tMSxpbmRleGVzPVtdLGxlbmd0aD1hcnJheS5sZW5ndGg7cHJlZGljYXRlPWdldEl0ZXJhdGVlKHByZWRpY2F0ZSwzKTt3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIHZhbHVlPWFycmF5W2luZGV4XTtpZihwcmVkaWNhdGUodmFsdWUsCmluZGV4LGFycmF5KSl7cmVzdWx0LnB1c2godmFsdWUpO2luZGV4ZXMucHVzaChpbmRleCl9fWJhc2VQdWxsQXQoYXJyYXksaW5kZXhlcyk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiByZXZlcnNlKGFycmF5KXtyZXR1cm4gYXJyYXk9PW51bGw/YXJyYXk6bmF0aXZlUmV2ZXJzZS5jYWxsKGFycmF5KX1mdW5jdGlvbiBzbGljZShhcnJheSxzdGFydCxlbmQpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm5bXTtpZihlbmQmJnR5cGVvZiBlbmQhPSJudW1iZXIiJiZpc0l0ZXJhdGVlQ2FsbChhcnJheSxzdGFydCxlbmQpKXtzdGFydD0wO2VuZD1sZW5ndGh9ZWxzZXtzdGFydD1zdGFydD09bnVsbD8wOnRvSW50ZWdlcihzdGFydCk7ZW5kPWVuZD09PXVuZGVmaW5lZD9sZW5ndGg6dG9JbnRlZ2VyKGVuZCl9cmV0dXJuIGJhc2VTbGljZShhcnJheSxzdGFydCxlbmQpfWZ1bmN0aW9uIHNvcnRlZEluZGV4KGFycmF5LHZhbHVlKXtyZXR1cm4gYmFzZVNvcnRlZEluZGV4KGFycmF5LAp2YWx1ZSl9ZnVuY3Rpb24gc29ydGVkSW5kZXhCeShhcnJheSx2YWx1ZSxpdGVyYXRlZSl7cmV0dXJuIGJhc2VTb3J0ZWRJbmRleEJ5KGFycmF5LHZhbHVlLGdldEl0ZXJhdGVlKGl0ZXJhdGVlLDIpKX1mdW5jdGlvbiBzb3J0ZWRJbmRleE9mKGFycmF5LHZhbHVlKXt2YXIgbGVuZ3RoPWFycmF5PT1udWxsPzA6YXJyYXkubGVuZ3RoO2lmKGxlbmd0aCl7dmFyIGluZGV4PWJhc2VTb3J0ZWRJbmRleChhcnJheSx2YWx1ZSk7aWYoaW5kZXg8bGVuZ3RoJiZlcShhcnJheVtpbmRleF0sdmFsdWUpKXJldHVybiBpbmRleH1yZXR1cm4tMX1mdW5jdGlvbiBzb3J0ZWRMYXN0SW5kZXgoYXJyYXksdmFsdWUpe3JldHVybiBiYXNlU29ydGVkSW5kZXgoYXJyYXksdmFsdWUsdHJ1ZSl9ZnVuY3Rpb24gc29ydGVkTGFzdEluZGV4QnkoYXJyYXksdmFsdWUsaXRlcmF0ZWUpe3JldHVybiBiYXNlU29ydGVkSW5kZXhCeShhcnJheSx2YWx1ZSxnZXRJdGVyYXRlZShpdGVyYXRlZSwyKSx0cnVlKX1mdW5jdGlvbiBzb3J0ZWRMYXN0SW5kZXhPZihhcnJheSwKdmFsdWUpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7aWYobGVuZ3RoKXt2YXIgaW5kZXg9YmFzZVNvcnRlZEluZGV4KGFycmF5LHZhbHVlLHRydWUpLTE7aWYoZXEoYXJyYXlbaW5kZXhdLHZhbHVlKSlyZXR1cm4gaW5kZXh9cmV0dXJuLTF9ZnVuY3Rpb24gc29ydGVkVW5pcShhcnJheSl7cmV0dXJuIGFycmF5JiZhcnJheS5sZW5ndGg/YmFzZVNvcnRlZFVuaXEoYXJyYXkpOltdfWZ1bmN0aW9uIHNvcnRlZFVuaXFCeShhcnJheSxpdGVyYXRlZSl7cmV0dXJuIGFycmF5JiZhcnJheS5sZW5ndGg/YmFzZVNvcnRlZFVuaXEoYXJyYXksZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsMikpOltdfWZ1bmN0aW9uIHRhaWwoYXJyYXkpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7cmV0dXJuIGxlbmd0aD9iYXNlU2xpY2UoYXJyYXksMSxsZW5ndGgpOltdfWZ1bmN0aW9uIHRha2UoYXJyYXksbixndWFyZCl7aWYoIShhcnJheSYmYXJyYXkubGVuZ3RoKSlyZXR1cm5bXTsKbj1ndWFyZHx8bj09PXVuZGVmaW5lZD8xOnRvSW50ZWdlcihuKTtyZXR1cm4gYmFzZVNsaWNlKGFycmF5LDAsbjwwPzA6bil9ZnVuY3Rpb24gdGFrZVJpZ2h0KGFycmF5LG4sZ3VhcmQpe3ZhciBsZW5ndGg9YXJyYXk9PW51bGw/MDphcnJheS5sZW5ndGg7aWYoIWxlbmd0aClyZXR1cm5bXTtuPWd1YXJkfHxuPT09dW5kZWZpbmVkPzE6dG9JbnRlZ2VyKG4pO249bGVuZ3RoLW47cmV0dXJuIGJhc2VTbGljZShhcnJheSxuPDA/MDpuLGxlbmd0aCl9ZnVuY3Rpb24gdGFrZVJpZ2h0V2hpbGUoYXJyYXkscHJlZGljYXRlKXtyZXR1cm4gYXJyYXkmJmFycmF5Lmxlbmd0aD9iYXNlV2hpbGUoYXJyYXksZ2V0SXRlcmF0ZWUocHJlZGljYXRlLDMpLGZhbHNlLHRydWUpOltdfWZ1bmN0aW9uIHRha2VXaGlsZShhcnJheSxwcmVkaWNhdGUpe3JldHVybiBhcnJheSYmYXJyYXkubGVuZ3RoP2Jhc2VXaGlsZShhcnJheSxnZXRJdGVyYXRlZShwcmVkaWNhdGUsMykpOltdfXZhciB1bmlvbj1iYXNlUmVzdChmdW5jdGlvbihhcnJheXMpe3JldHVybiBiYXNlVW5pcShiYXNlRmxhdHRlbihhcnJheXMsCjEsaXNBcnJheUxpa2VPYmplY3QsdHJ1ZSkpfSk7dmFyIHVuaW9uQnk9YmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKXt2YXIgaXRlcmF0ZWU9bGFzdChhcnJheXMpO2lmKGlzQXJyYXlMaWtlT2JqZWN0KGl0ZXJhdGVlKSlpdGVyYXRlZT11bmRlZmluZWQ7cmV0dXJuIGJhc2VVbmlxKGJhc2VGbGF0dGVuKGFycmF5cywxLGlzQXJyYXlMaWtlT2JqZWN0LHRydWUpLGdldEl0ZXJhdGVlKGl0ZXJhdGVlLDIpKX0pO3ZhciB1bmlvbldpdGg9YmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKXt2YXIgY29tcGFyYXRvcj1sYXN0KGFycmF5cyk7Y29tcGFyYXRvcj10eXBlb2YgY29tcGFyYXRvcj09ImZ1bmN0aW9uIj9jb21wYXJhdG9yOnVuZGVmaW5lZDtyZXR1cm4gYmFzZVVuaXEoYmFzZUZsYXR0ZW4oYXJyYXlzLDEsaXNBcnJheUxpa2VPYmplY3QsdHJ1ZSksdW5kZWZpbmVkLGNvbXBhcmF0b3IpfSk7ZnVuY3Rpb24gdW5pcShhcnJheSl7cmV0dXJuIGFycmF5JiZhcnJheS5sZW5ndGg/YmFzZVVuaXEoYXJyYXkpOgpbXX1mdW5jdGlvbiB1bmlxQnkoYXJyYXksaXRlcmF0ZWUpe3JldHVybiBhcnJheSYmYXJyYXkubGVuZ3RoP2Jhc2VVbmlxKGFycmF5LGdldEl0ZXJhdGVlKGl0ZXJhdGVlLDIpKTpbXX1mdW5jdGlvbiB1bmlxV2l0aChhcnJheSxjb21wYXJhdG9yKXtjb21wYXJhdG9yPXR5cGVvZiBjb21wYXJhdG9yPT0iZnVuY3Rpb24iP2NvbXBhcmF0b3I6dW5kZWZpbmVkO3JldHVybiBhcnJheSYmYXJyYXkubGVuZ3RoP2Jhc2VVbmlxKGFycmF5LHVuZGVmaW5lZCxjb21wYXJhdG9yKTpbXX1mdW5jdGlvbiB1bnppcChhcnJheSl7aWYoIShhcnJheSYmYXJyYXkubGVuZ3RoKSlyZXR1cm5bXTt2YXIgbGVuZ3RoPTA7YXJyYXk9YXJyYXlGaWx0ZXIoYXJyYXksZnVuY3Rpb24oZ3JvdXApe2lmKGlzQXJyYXlMaWtlT2JqZWN0KGdyb3VwKSl7bGVuZ3RoPW5hdGl2ZU1heChncm91cC5sZW5ndGgsbGVuZ3RoKTtyZXR1cm4gdHJ1ZX19KTtyZXR1cm4gYmFzZVRpbWVzKGxlbmd0aCxmdW5jdGlvbihpbmRleCl7cmV0dXJuIGFycmF5TWFwKGFycmF5LApiYXNlUHJvcGVydHkoaW5kZXgpKX0pfWZ1bmN0aW9uIHVuemlwV2l0aChhcnJheSxpdGVyYXRlZSl7aWYoIShhcnJheSYmYXJyYXkubGVuZ3RoKSlyZXR1cm5bXTt2YXIgcmVzdWx0PXVuemlwKGFycmF5KTtpZihpdGVyYXRlZT09bnVsbClyZXR1cm4gcmVzdWx0O3JldHVybiBhcnJheU1hcChyZXN1bHQsZnVuY3Rpb24oZ3JvdXApe3JldHVybiBhcHBseShpdGVyYXRlZSx1bmRlZmluZWQsZ3JvdXApfSl9dmFyIHdpdGhvdXQ9YmFzZVJlc3QoZnVuY3Rpb24oYXJyYXksdmFsdWVzKXtyZXR1cm4gaXNBcnJheUxpa2VPYmplY3QoYXJyYXkpP2Jhc2VEaWZmZXJlbmNlKGFycmF5LHZhbHVlcyk6W119KTt2YXIgeG9yPWJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cyl7cmV0dXJuIGJhc2VYb3IoYXJyYXlGaWx0ZXIoYXJyYXlzLGlzQXJyYXlMaWtlT2JqZWN0KSl9KTt2YXIgeG9yQnk9YmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKXt2YXIgaXRlcmF0ZWU9bGFzdChhcnJheXMpO2lmKGlzQXJyYXlMaWtlT2JqZWN0KGl0ZXJhdGVlKSlpdGVyYXRlZT0KdW5kZWZpbmVkO3JldHVybiBiYXNlWG9yKGFycmF5RmlsdGVyKGFycmF5cyxpc0FycmF5TGlrZU9iamVjdCksZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsMikpfSk7dmFyIHhvcldpdGg9YmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKXt2YXIgY29tcGFyYXRvcj1sYXN0KGFycmF5cyk7Y29tcGFyYXRvcj10eXBlb2YgY29tcGFyYXRvcj09ImZ1bmN0aW9uIj9jb21wYXJhdG9yOnVuZGVmaW5lZDtyZXR1cm4gYmFzZVhvcihhcnJheUZpbHRlcihhcnJheXMsaXNBcnJheUxpa2VPYmplY3QpLHVuZGVmaW5lZCxjb21wYXJhdG9yKX0pO3ZhciB6aXA9YmFzZVJlc3QodW56aXApO2Z1bmN0aW9uIHppcE9iamVjdChwcm9wcyx2YWx1ZXMpe3JldHVybiBiYXNlWmlwT2JqZWN0KHByb3BzfHxbXSx2YWx1ZXN8fFtdLGFzc2lnblZhbHVlKX1mdW5jdGlvbiB6aXBPYmplY3REZWVwKHByb3BzLHZhbHVlcyl7cmV0dXJuIGJhc2VaaXBPYmplY3QocHJvcHN8fFtdLHZhbHVlc3x8W10sYmFzZVNldCl9dmFyIHppcFdpdGg9CmJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cyl7dmFyIGxlbmd0aD1hcnJheXMubGVuZ3RoLGl0ZXJhdGVlPWxlbmd0aD4xP2FycmF5c1tsZW5ndGgtMV06dW5kZWZpbmVkO2l0ZXJhdGVlPXR5cGVvZiBpdGVyYXRlZT09ImZ1bmN0aW9uIj8oYXJyYXlzLnBvcCgpLGl0ZXJhdGVlKTp1bmRlZmluZWQ7cmV0dXJuIHVuemlwV2l0aChhcnJheXMsaXRlcmF0ZWUpfSk7ZnVuY3Rpb24gY2hhaW4odmFsdWUpe3ZhciByZXN1bHQ9bG9kYXNoKHZhbHVlKTtyZXN1bHQuX19jaGFpbl9fPXRydWU7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiB0YXAodmFsdWUsaW50ZXJjZXB0b3Ipe2ludGVyY2VwdG9yKHZhbHVlKTtyZXR1cm4gdmFsdWV9ZnVuY3Rpb24gdGhydSh2YWx1ZSxpbnRlcmNlcHRvcil7cmV0dXJuIGludGVyY2VwdG9yKHZhbHVlKX12YXIgd3JhcHBlckF0PWZsYXRSZXN0KGZ1bmN0aW9uKHBhdGhzKXt2YXIgbGVuZ3RoPXBhdGhzLmxlbmd0aCxzdGFydD1sZW5ndGg/cGF0aHNbMF06MCx2YWx1ZT0KdGhpcy5fX3dyYXBwZWRfXyxpbnRlcmNlcHRvcj1mdW5jdGlvbihvYmplY3Qpe3JldHVybiBiYXNlQXQob2JqZWN0LHBhdGhzKX07aWYobGVuZ3RoPjF8fHRoaXMuX19hY3Rpb25zX18ubGVuZ3RofHwhKHZhbHVlIGluc3RhbmNlb2YgTGF6eVdyYXBwZXIpfHwhaXNJbmRleChzdGFydCkpcmV0dXJuIHRoaXMudGhydShpbnRlcmNlcHRvcik7dmFsdWU9dmFsdWUuc2xpY2Uoc3RhcnQsK3N0YXJ0KyhsZW5ndGg/MTowKSk7dmFsdWUuX19hY3Rpb25zX18ucHVzaCh7ImZ1bmMiOnRocnUsImFyZ3MiOltpbnRlcmNlcHRvcl0sInRoaXNBcmciOnVuZGVmaW5lZH0pO3JldHVybihuZXcgTG9kYXNoV3JhcHBlcih2YWx1ZSx0aGlzLl9fY2hhaW5fXykpLnRocnUoZnVuY3Rpb24oYXJyYXkpe2lmKGxlbmd0aCYmIWFycmF5Lmxlbmd0aClhcnJheS5wdXNoKHVuZGVmaW5lZCk7cmV0dXJuIGFycmF5fSl9KTtmdW5jdGlvbiB3cmFwcGVyQ2hhaW4oKXtyZXR1cm4gY2hhaW4odGhpcyl9ZnVuY3Rpb24gd3JhcHBlckNvbW1pdCgpe3JldHVybiBuZXcgTG9kYXNoV3JhcHBlcih0aGlzLnZhbHVlKCksCnRoaXMuX19jaGFpbl9fKX1mdW5jdGlvbiB3cmFwcGVyTmV4dCgpe2lmKHRoaXMuX192YWx1ZXNfXz09PXVuZGVmaW5lZCl0aGlzLl9fdmFsdWVzX189dG9BcnJheSh0aGlzLnZhbHVlKCkpO3ZhciBkb25lPXRoaXMuX19pbmRleF9fPj10aGlzLl9fdmFsdWVzX18ubGVuZ3RoLHZhbHVlPWRvbmU/dW5kZWZpbmVkOnRoaXMuX192YWx1ZXNfX1t0aGlzLl9faW5kZXhfXysrXTtyZXR1cm57ImRvbmUiOmRvbmUsInZhbHVlIjp2YWx1ZX19ZnVuY3Rpb24gd3JhcHBlclRvSXRlcmF0b3IoKXtyZXR1cm4gdGhpc31mdW5jdGlvbiB3cmFwcGVyUGxhbnQodmFsdWUpe3ZhciByZXN1bHQscGFyZW50PXRoaXM7d2hpbGUocGFyZW50IGluc3RhbmNlb2YgYmFzZUxvZGFzaCl7dmFyIGNsb25lPXdyYXBwZXJDbG9uZShwYXJlbnQpO2Nsb25lLl9faW5kZXhfXz0wO2Nsb25lLl9fdmFsdWVzX189dW5kZWZpbmVkO2lmKHJlc3VsdClwcmV2aW91cy5fX3dyYXBwZWRfXz1jbG9uZTtlbHNlIHJlc3VsdD1jbG9uZTsKdmFyIHByZXZpb3VzPWNsb25lO3BhcmVudD1wYXJlbnQuX193cmFwcGVkX199cHJldmlvdXMuX193cmFwcGVkX189dmFsdWU7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiB3cmFwcGVyUmV2ZXJzZSgpe3ZhciB2YWx1ZT10aGlzLl9fd3JhcHBlZF9fO2lmKHZhbHVlIGluc3RhbmNlb2YgTGF6eVdyYXBwZXIpe3ZhciB3cmFwcGVkPXZhbHVlO2lmKHRoaXMuX19hY3Rpb25zX18ubGVuZ3RoKXdyYXBwZWQ9bmV3IExhenlXcmFwcGVyKHRoaXMpO3dyYXBwZWQ9d3JhcHBlZC5yZXZlcnNlKCk7d3JhcHBlZC5fX2FjdGlvbnNfXy5wdXNoKHsiZnVuYyI6dGhydSwiYXJncyI6W3JldmVyc2VdLCJ0aGlzQXJnIjp1bmRlZmluZWR9KTtyZXR1cm4gbmV3IExvZGFzaFdyYXBwZXIod3JhcHBlZCx0aGlzLl9fY2hhaW5fXyl9cmV0dXJuIHRoaXMudGhydShyZXZlcnNlKX1mdW5jdGlvbiB3cmFwcGVyVmFsdWUoKXtyZXR1cm4gYmFzZVdyYXBwZXJWYWx1ZSh0aGlzLl9fd3JhcHBlZF9fLHRoaXMuX19hY3Rpb25zX18pfQp2YXIgY291bnRCeT1jcmVhdGVBZ2dyZWdhdG9yKGZ1bmN0aW9uKHJlc3VsdCx2YWx1ZSxrZXkpe2lmKGhhc093blByb3BlcnR5LmNhbGwocmVzdWx0LGtleSkpKytyZXN1bHRba2V5XTtlbHNlIGJhc2VBc3NpZ25WYWx1ZShyZXN1bHQsa2V5LDEpfSk7ZnVuY3Rpb24gZXZlcnkoY29sbGVjdGlvbixwcmVkaWNhdGUsZ3VhcmQpe3ZhciBmdW5jPWlzQXJyYXkoY29sbGVjdGlvbik/YXJyYXlFdmVyeTpiYXNlRXZlcnk7aWYoZ3VhcmQmJmlzSXRlcmF0ZWVDYWxsKGNvbGxlY3Rpb24scHJlZGljYXRlLGd1YXJkKSlwcmVkaWNhdGU9dW5kZWZpbmVkO3JldHVybiBmdW5jKGNvbGxlY3Rpb24sZ2V0SXRlcmF0ZWUocHJlZGljYXRlLDMpKX1mdW5jdGlvbiBmaWx0ZXIoY29sbGVjdGlvbixwcmVkaWNhdGUpe3ZhciBmdW5jPWlzQXJyYXkoY29sbGVjdGlvbik/YXJyYXlGaWx0ZXI6YmFzZUZpbHRlcjtyZXR1cm4gZnVuYyhjb2xsZWN0aW9uLGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwzKSl9dmFyIGZpbmQ9CmNyZWF0ZUZpbmQoZmluZEluZGV4KTt2YXIgZmluZExhc3Q9Y3JlYXRlRmluZChmaW5kTGFzdEluZGV4KTtmdW5jdGlvbiBmbGF0TWFwKGNvbGxlY3Rpb24saXRlcmF0ZWUpe3JldHVybiBiYXNlRmxhdHRlbihtYXAoY29sbGVjdGlvbixpdGVyYXRlZSksMSl9ZnVuY3Rpb24gZmxhdE1hcERlZXAoY29sbGVjdGlvbixpdGVyYXRlZSl7cmV0dXJuIGJhc2VGbGF0dGVuKG1hcChjb2xsZWN0aW9uLGl0ZXJhdGVlKSxJTkZJTklUWSl9ZnVuY3Rpb24gZmxhdE1hcERlcHRoKGNvbGxlY3Rpb24saXRlcmF0ZWUsZGVwdGgpe2RlcHRoPWRlcHRoPT09dW5kZWZpbmVkPzE6dG9JbnRlZ2VyKGRlcHRoKTtyZXR1cm4gYmFzZUZsYXR0ZW4obWFwKGNvbGxlY3Rpb24saXRlcmF0ZWUpLGRlcHRoKX1mdW5jdGlvbiBmb3JFYWNoKGNvbGxlY3Rpb24saXRlcmF0ZWUpe3ZhciBmdW5jPWlzQXJyYXkoY29sbGVjdGlvbik/YXJyYXlFYWNoOmJhc2VFYWNoO3JldHVybiBmdW5jKGNvbGxlY3Rpb24sZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsCjMpKX1mdW5jdGlvbiBmb3JFYWNoUmlnaHQoY29sbGVjdGlvbixpdGVyYXRlZSl7dmFyIGZ1bmM9aXNBcnJheShjb2xsZWN0aW9uKT9hcnJheUVhY2hSaWdodDpiYXNlRWFjaFJpZ2h0O3JldHVybiBmdW5jKGNvbGxlY3Rpb24sZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsMykpfXZhciBncm91cEJ5PWNyZWF0ZUFnZ3JlZ2F0b3IoZnVuY3Rpb24ocmVzdWx0LHZhbHVlLGtleSl7aWYoaGFzT3duUHJvcGVydHkuY2FsbChyZXN1bHQsa2V5KSlyZXN1bHRba2V5XS5wdXNoKHZhbHVlKTtlbHNlIGJhc2VBc3NpZ25WYWx1ZShyZXN1bHQsa2V5LFt2YWx1ZV0pfSk7ZnVuY3Rpb24gaW5jbHVkZXMoY29sbGVjdGlvbix2YWx1ZSxmcm9tSW5kZXgsZ3VhcmQpe2NvbGxlY3Rpb249aXNBcnJheUxpa2UoY29sbGVjdGlvbik/Y29sbGVjdGlvbjp2YWx1ZXMoY29sbGVjdGlvbik7ZnJvbUluZGV4PWZyb21JbmRleCYmIWd1YXJkP3RvSW50ZWdlcihmcm9tSW5kZXgpOjA7dmFyIGxlbmd0aD1jb2xsZWN0aW9uLmxlbmd0aDsKaWYoZnJvbUluZGV4PDApZnJvbUluZGV4PW5hdGl2ZU1heChsZW5ndGgrZnJvbUluZGV4LDApO3JldHVybiBpc1N0cmluZyhjb2xsZWN0aW9uKT9mcm9tSW5kZXg8PWxlbmd0aCYmY29sbGVjdGlvbi5pbmRleE9mKHZhbHVlLGZyb21JbmRleCk+LTE6ISFsZW5ndGgmJmJhc2VJbmRleE9mKGNvbGxlY3Rpb24sdmFsdWUsZnJvbUluZGV4KT4tMX12YXIgaW52b2tlTWFwPWJhc2VSZXN0KGZ1bmN0aW9uKGNvbGxlY3Rpb24scGF0aCxhcmdzKXt2YXIgaW5kZXg9LTEsaXNGdW5jPXR5cGVvZiBwYXRoPT0iZnVuY3Rpb24iLHJlc3VsdD1pc0FycmF5TGlrZShjb2xsZWN0aW9uKT9BcnJheShjb2xsZWN0aW9uLmxlbmd0aCk6W107YmFzZUVhY2goY29sbGVjdGlvbixmdW5jdGlvbih2YWx1ZSl7cmVzdWx0WysraW5kZXhdPWlzRnVuYz9hcHBseShwYXRoLHZhbHVlLGFyZ3MpOmJhc2VJbnZva2UodmFsdWUscGF0aCxhcmdzKX0pO3JldHVybiByZXN1bHR9KTt2YXIga2V5Qnk9Y3JlYXRlQWdncmVnYXRvcihmdW5jdGlvbihyZXN1bHQsCnZhbHVlLGtleSl7YmFzZUFzc2lnblZhbHVlKHJlc3VsdCxrZXksdmFsdWUpfSk7ZnVuY3Rpb24gbWFwKGNvbGxlY3Rpb24saXRlcmF0ZWUpe3ZhciBmdW5jPWlzQXJyYXkoY29sbGVjdGlvbik/YXJyYXlNYXA6YmFzZU1hcDtyZXR1cm4gZnVuYyhjb2xsZWN0aW9uLGdldEl0ZXJhdGVlKGl0ZXJhdGVlLDMpKX1mdW5jdGlvbiBvcmRlckJ5KGNvbGxlY3Rpb24saXRlcmF0ZWVzLG9yZGVycyxndWFyZCl7aWYoY29sbGVjdGlvbj09bnVsbClyZXR1cm5bXTtpZighaXNBcnJheShpdGVyYXRlZXMpKWl0ZXJhdGVlcz1pdGVyYXRlZXM9PW51bGw/W106W2l0ZXJhdGVlc107b3JkZXJzPWd1YXJkP3VuZGVmaW5lZDpvcmRlcnM7aWYoIWlzQXJyYXkob3JkZXJzKSlvcmRlcnM9b3JkZXJzPT1udWxsP1tdOltvcmRlcnNdO3JldHVybiBiYXNlT3JkZXJCeShjb2xsZWN0aW9uLGl0ZXJhdGVlcyxvcmRlcnMpfXZhciBwYXJ0aXRpb249Y3JlYXRlQWdncmVnYXRvcihmdW5jdGlvbihyZXN1bHQsdmFsdWUsCmtleSl7cmVzdWx0W2tleT8wOjFdLnB1c2godmFsdWUpfSxmdW5jdGlvbigpe3JldHVybltbXSxbXV19KTtmdW5jdGlvbiByZWR1Y2UoY29sbGVjdGlvbixpdGVyYXRlZSxhY2N1bXVsYXRvcil7dmFyIGZ1bmM9aXNBcnJheShjb2xsZWN0aW9uKT9hcnJheVJlZHVjZTpiYXNlUmVkdWNlLGluaXRBY2N1bT1hcmd1bWVudHMubGVuZ3RoPDM7cmV0dXJuIGZ1bmMoY29sbGVjdGlvbixnZXRJdGVyYXRlZShpdGVyYXRlZSw0KSxhY2N1bXVsYXRvcixpbml0QWNjdW0sYmFzZUVhY2gpfWZ1bmN0aW9uIHJlZHVjZVJpZ2h0KGNvbGxlY3Rpb24saXRlcmF0ZWUsYWNjdW11bGF0b3Ipe3ZhciBmdW5jPWlzQXJyYXkoY29sbGVjdGlvbik/YXJyYXlSZWR1Y2VSaWdodDpiYXNlUmVkdWNlLGluaXRBY2N1bT1hcmd1bWVudHMubGVuZ3RoPDM7cmV0dXJuIGZ1bmMoY29sbGVjdGlvbixnZXRJdGVyYXRlZShpdGVyYXRlZSw0KSxhY2N1bXVsYXRvcixpbml0QWNjdW0sYmFzZUVhY2hSaWdodCl9ZnVuY3Rpb24gcmVqZWN0KGNvbGxlY3Rpb24sCnByZWRpY2F0ZSl7dmFyIGZ1bmM9aXNBcnJheShjb2xsZWN0aW9uKT9hcnJheUZpbHRlcjpiYXNlRmlsdGVyO3JldHVybiBmdW5jKGNvbGxlY3Rpb24sbmVnYXRlKGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwzKSkpfWZ1bmN0aW9uIHNhbXBsZShjb2xsZWN0aW9uKXt2YXIgZnVuYz1pc0FycmF5KGNvbGxlY3Rpb24pP2FycmF5U2FtcGxlOmJhc2VTYW1wbGU7cmV0dXJuIGZ1bmMoY29sbGVjdGlvbil9ZnVuY3Rpb24gc2FtcGxlU2l6ZShjb2xsZWN0aW9uLG4sZ3VhcmQpe2lmKGd1YXJkP2lzSXRlcmF0ZWVDYWxsKGNvbGxlY3Rpb24sbixndWFyZCk6bj09PXVuZGVmaW5lZCluPTE7ZWxzZSBuPXRvSW50ZWdlcihuKTt2YXIgZnVuYz1pc0FycmF5KGNvbGxlY3Rpb24pP2FycmF5U2FtcGxlU2l6ZTpiYXNlU2FtcGxlU2l6ZTtyZXR1cm4gZnVuYyhjb2xsZWN0aW9uLG4pfWZ1bmN0aW9uIHNodWZmbGUoY29sbGVjdGlvbil7dmFyIGZ1bmM9aXNBcnJheShjb2xsZWN0aW9uKT9hcnJheVNodWZmbGU6CmJhc2VTaHVmZmxlO3JldHVybiBmdW5jKGNvbGxlY3Rpb24pfWZ1bmN0aW9uIHNpemUoY29sbGVjdGlvbil7aWYoY29sbGVjdGlvbj09bnVsbClyZXR1cm4gMDtpZihpc0FycmF5TGlrZShjb2xsZWN0aW9uKSlyZXR1cm4gaXNTdHJpbmcoY29sbGVjdGlvbik/c3RyaW5nU2l6ZShjb2xsZWN0aW9uKTpjb2xsZWN0aW9uLmxlbmd0aDt2YXIgdGFnPWdldFRhZyhjb2xsZWN0aW9uKTtpZih0YWc9PW1hcFRhZ3x8dGFnPT1zZXRUYWcpcmV0dXJuIGNvbGxlY3Rpb24uc2l6ZTtyZXR1cm4gYmFzZUtleXMoY29sbGVjdGlvbikubGVuZ3RofWZ1bmN0aW9uIHNvbWUoY29sbGVjdGlvbixwcmVkaWNhdGUsZ3VhcmQpe3ZhciBmdW5jPWlzQXJyYXkoY29sbGVjdGlvbik/YXJyYXlTb21lOmJhc2VTb21lO2lmKGd1YXJkJiZpc0l0ZXJhdGVlQ2FsbChjb2xsZWN0aW9uLHByZWRpY2F0ZSxndWFyZCkpcHJlZGljYXRlPXVuZGVmaW5lZDtyZXR1cm4gZnVuYyhjb2xsZWN0aW9uLGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwKMykpfXZhciBzb3J0Qnk9YmFzZVJlc3QoZnVuY3Rpb24oY29sbGVjdGlvbixpdGVyYXRlZXMpe2lmKGNvbGxlY3Rpb249PW51bGwpcmV0dXJuW107dmFyIGxlbmd0aD1pdGVyYXRlZXMubGVuZ3RoO2lmKGxlbmd0aD4xJiZpc0l0ZXJhdGVlQ2FsbChjb2xsZWN0aW9uLGl0ZXJhdGVlc1swXSxpdGVyYXRlZXNbMV0pKWl0ZXJhdGVlcz1bXTtlbHNlIGlmKGxlbmd0aD4yJiZpc0l0ZXJhdGVlQ2FsbChpdGVyYXRlZXNbMF0saXRlcmF0ZWVzWzFdLGl0ZXJhdGVlc1syXSkpaXRlcmF0ZWVzPVtpdGVyYXRlZXNbMF1dO3JldHVybiBiYXNlT3JkZXJCeShjb2xsZWN0aW9uLGJhc2VGbGF0dGVuKGl0ZXJhdGVlcywxKSxbXSl9KTt2YXIgbm93PWN0eE5vd3x8ZnVuY3Rpb24oKXtyZXR1cm4gcm9vdC5EYXRlLm5vdygpfTtmdW5jdGlvbiBhZnRlcihuLGZ1bmMpe2lmKHR5cGVvZiBmdW5jIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtuPXRvSW50ZWdlcihuKTsKcmV0dXJuIGZ1bmN0aW9uKCl7aWYoLS1uPDEpcmV0dXJuIGZ1bmMuYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiBhcnkoZnVuYyxuLGd1YXJkKXtuPWd1YXJkP3VuZGVmaW5lZDpuO249ZnVuYyYmbj09bnVsbD9mdW5jLmxlbmd0aDpuO3JldHVybiBjcmVhdGVXcmFwKGZ1bmMsV1JBUF9BUllfRkxBRyx1bmRlZmluZWQsdW5kZWZpbmVkLHVuZGVmaW5lZCx1bmRlZmluZWQsbil9ZnVuY3Rpb24gYmVmb3JlKG4sZnVuYyl7dmFyIHJlc3VsdDtpZih0eXBlb2YgZnVuYyE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7bj10b0ludGVnZXIobik7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoLS1uPjApcmVzdWx0PWZ1bmMuYXBwbHkodGhpcyxhcmd1bWVudHMpO2lmKG48PTEpZnVuYz11bmRlZmluZWQ7cmV0dXJuIHJlc3VsdH19dmFyIGJpbmQ9YmFzZVJlc3QoZnVuY3Rpb24oZnVuYyx0aGlzQXJnLHBhcnRpYWxzKXt2YXIgYml0bWFzaz1XUkFQX0JJTkRfRkxBRzsKaWYocGFydGlhbHMubGVuZ3RoKXt2YXIgaG9sZGVycz1yZXBsYWNlSG9sZGVycyhwYXJ0aWFscyxnZXRIb2xkZXIoYmluZCkpO2JpdG1hc2t8PVdSQVBfUEFSVElBTF9GTEFHfXJldHVybiBjcmVhdGVXcmFwKGZ1bmMsYml0bWFzayx0aGlzQXJnLHBhcnRpYWxzLGhvbGRlcnMpfSk7dmFyIGJpbmRLZXk9YmFzZVJlc3QoZnVuY3Rpb24ob2JqZWN0LGtleSxwYXJ0aWFscyl7dmFyIGJpdG1hc2s9V1JBUF9CSU5EX0ZMQUd8V1JBUF9CSU5EX0tFWV9GTEFHO2lmKHBhcnRpYWxzLmxlbmd0aCl7dmFyIGhvbGRlcnM9cmVwbGFjZUhvbGRlcnMocGFydGlhbHMsZ2V0SG9sZGVyKGJpbmRLZXkpKTtiaXRtYXNrfD1XUkFQX1BBUlRJQUxfRkxBR31yZXR1cm4gY3JlYXRlV3JhcChrZXksYml0bWFzayxvYmplY3QscGFydGlhbHMsaG9sZGVycyl9KTtmdW5jdGlvbiBjdXJyeShmdW5jLGFyaXR5LGd1YXJkKXthcml0eT1ndWFyZD91bmRlZmluZWQ6YXJpdHk7dmFyIHJlc3VsdD1jcmVhdGVXcmFwKGZ1bmMsCldSQVBfQ1VSUllfRkxBRyx1bmRlZmluZWQsdW5kZWZpbmVkLHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkLGFyaXR5KTtyZXN1bHQucGxhY2Vob2xkZXI9Y3VycnkucGxhY2Vob2xkZXI7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBjdXJyeVJpZ2h0KGZ1bmMsYXJpdHksZ3VhcmQpe2FyaXR5PWd1YXJkP3VuZGVmaW5lZDphcml0eTt2YXIgcmVzdWx0PWNyZWF0ZVdyYXAoZnVuYyxXUkFQX0NVUlJZX1JJR0hUX0ZMQUcsdW5kZWZpbmVkLHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkLHVuZGVmaW5lZCxhcml0eSk7cmVzdWx0LnBsYWNlaG9sZGVyPWN1cnJ5UmlnaHQucGxhY2Vob2xkZXI7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBkZWJvdW5jZShmdW5jLHdhaXQsb3B0aW9ucyl7dmFyIGxhc3RBcmdzLGxhc3RUaGlzLG1heFdhaXQscmVzdWx0LHRpbWVySWQsbGFzdENhbGxUaW1lLGxhc3RJbnZva2VUaW1lPTAsbGVhZGluZz1mYWxzZSxtYXhpbmc9ZmFsc2UsdHJhaWxpbmc9dHJ1ZTsKaWYodHlwZW9mIGZ1bmMhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO3dhaXQ9dG9OdW1iZXIod2FpdCl8fDA7aWYoaXNPYmplY3Qob3B0aW9ucykpe2xlYWRpbmc9ISFvcHRpb25zLmxlYWRpbmc7bWF4aW5nPSJtYXhXYWl0ImluIG9wdGlvbnM7bWF4V2FpdD1tYXhpbmc/bmF0aXZlTWF4KHRvTnVtYmVyKG9wdGlvbnMubWF4V2FpdCl8fDAsd2FpdCk6bWF4V2FpdDt0cmFpbGluZz0idHJhaWxpbmciaW4gb3B0aW9ucz8hIW9wdGlvbnMudHJhaWxpbmc6dHJhaWxpbmd9ZnVuY3Rpb24gaW52b2tlRnVuYyh0aW1lKXt2YXIgYXJncz1sYXN0QXJncyx0aGlzQXJnPWxhc3RUaGlzO2xhc3RBcmdzPWxhc3RUaGlzPXVuZGVmaW5lZDtsYXN0SW52b2tlVGltZT10aW1lO3Jlc3VsdD1mdW5jLmFwcGx5KHRoaXNBcmcsYXJncyk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBsZWFkaW5nRWRnZSh0aW1lKXtsYXN0SW52b2tlVGltZT10aW1lO3RpbWVySWQ9c2V0VGltZW91dCh0aW1lckV4cGlyZWQsCndhaXQpO3JldHVybiBsZWFkaW5nP2ludm9rZUZ1bmModGltZSk6cmVzdWx0fWZ1bmN0aW9uIHJlbWFpbmluZ1dhaXQodGltZSl7dmFyIHRpbWVTaW5jZUxhc3RDYWxsPXRpbWUtbGFzdENhbGxUaW1lLHRpbWVTaW5jZUxhc3RJbnZva2U9dGltZS1sYXN0SW52b2tlVGltZSx0aW1lV2FpdGluZz13YWl0LXRpbWVTaW5jZUxhc3RDYWxsO3JldHVybiBtYXhpbmc/bmF0aXZlTWluKHRpbWVXYWl0aW5nLG1heFdhaXQtdGltZVNpbmNlTGFzdEludm9rZSk6dGltZVdhaXRpbmd9ZnVuY3Rpb24gc2hvdWxkSW52b2tlKHRpbWUpe3ZhciB0aW1lU2luY2VMYXN0Q2FsbD10aW1lLWxhc3RDYWxsVGltZSx0aW1lU2luY2VMYXN0SW52b2tlPXRpbWUtbGFzdEludm9rZVRpbWU7cmV0dXJuIGxhc3RDYWxsVGltZT09PXVuZGVmaW5lZHx8dGltZVNpbmNlTGFzdENhbGw+PXdhaXR8fHRpbWVTaW5jZUxhc3RDYWxsPDB8fG1heGluZyYmdGltZVNpbmNlTGFzdEludm9rZT49bWF4V2FpdH1mdW5jdGlvbiB0aW1lckV4cGlyZWQoKXt2YXIgdGltZT0Kbm93KCk7aWYoc2hvdWxkSW52b2tlKHRpbWUpKXJldHVybiB0cmFpbGluZ0VkZ2UodGltZSk7dGltZXJJZD1zZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCxyZW1haW5pbmdXYWl0KHRpbWUpKX1mdW5jdGlvbiB0cmFpbGluZ0VkZ2UodGltZSl7dGltZXJJZD11bmRlZmluZWQ7aWYodHJhaWxpbmcmJmxhc3RBcmdzKXJldHVybiBpbnZva2VGdW5jKHRpbWUpO2xhc3RBcmdzPWxhc3RUaGlzPXVuZGVmaW5lZDtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGNhbmNlbCgpe2lmKHRpbWVySWQhPT11bmRlZmluZWQpY2xlYXJUaW1lb3V0KHRpbWVySWQpO2xhc3RJbnZva2VUaW1lPTA7bGFzdEFyZ3M9bGFzdENhbGxUaW1lPWxhc3RUaGlzPXRpbWVySWQ9dW5kZWZpbmVkfWZ1bmN0aW9uIGZsdXNoKCl7cmV0dXJuIHRpbWVySWQ9PT11bmRlZmluZWQ/cmVzdWx0OnRyYWlsaW5nRWRnZShub3coKSl9ZnVuY3Rpb24gZGVib3VuY2VkKCl7dmFyIHRpbWU9bm93KCksaXNJbnZva2luZz1zaG91bGRJbnZva2UodGltZSk7Cmxhc3RBcmdzPWFyZ3VtZW50cztsYXN0VGhpcz10aGlzO2xhc3RDYWxsVGltZT10aW1lO2lmKGlzSW52b2tpbmcpe2lmKHRpbWVySWQ9PT11bmRlZmluZWQpcmV0dXJuIGxlYWRpbmdFZGdlKGxhc3RDYWxsVGltZSk7aWYobWF4aW5nKXt0aW1lcklkPXNldFRpbWVvdXQodGltZXJFeHBpcmVkLHdhaXQpO3JldHVybiBpbnZva2VGdW5jKGxhc3RDYWxsVGltZSl9fWlmKHRpbWVySWQ9PT11bmRlZmluZWQpdGltZXJJZD1zZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCx3YWl0KTtyZXR1cm4gcmVzdWx0fWRlYm91bmNlZC5jYW5jZWw9Y2FuY2VsO2RlYm91bmNlZC5mbHVzaD1mbHVzaDtyZXR1cm4gZGVib3VuY2VkfXZhciBkZWZlcj1iYXNlUmVzdChmdW5jdGlvbihmdW5jLGFyZ3Mpe3JldHVybiBiYXNlRGVsYXkoZnVuYywxLGFyZ3MpfSk7dmFyIGRlbGF5PWJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsd2FpdCxhcmdzKXtyZXR1cm4gYmFzZURlbGF5KGZ1bmMsdG9OdW1iZXIod2FpdCl8fDAsYXJncyl9KTsKZnVuY3Rpb24gZmxpcChmdW5jKXtyZXR1cm4gY3JlYXRlV3JhcChmdW5jLFdSQVBfRkxJUF9GTEFHKX1mdW5jdGlvbiBtZW1vaXplKGZ1bmMscmVzb2x2ZXIpe2lmKHR5cGVvZiBmdW5jIT0iZnVuY3Rpb24ifHxyZXNvbHZlciE9bnVsbCYmdHlwZW9mIHJlc29sdmVyIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTt2YXIgbWVtb2l6ZWQ9ZnVuY3Rpb24oKXt2YXIgYXJncz1hcmd1bWVudHMsa2V5PXJlc29sdmVyP3Jlc29sdmVyLmFwcGx5KHRoaXMsYXJncyk6YXJnc1swXSxjYWNoZT1tZW1vaXplZC5jYWNoZTtpZihjYWNoZS5oYXMoa2V5KSlyZXR1cm4gY2FjaGUuZ2V0KGtleSk7dmFyIHJlc3VsdD1mdW5jLmFwcGx5KHRoaXMsYXJncyk7bWVtb2l6ZWQuY2FjaGU9Y2FjaGUuc2V0KGtleSxyZXN1bHQpfHxjYWNoZTtyZXR1cm4gcmVzdWx0fTttZW1vaXplZC5jYWNoZT1uZXcgKG1lbW9pemUuQ2FjaGV8fE1hcENhY2hlKTtyZXR1cm4gbWVtb2l6ZWR9Cm1lbW9pemUuQ2FjaGU9TWFwQ2FjaGU7ZnVuY3Rpb24gbmVnYXRlKHByZWRpY2F0ZSl7aWYodHlwZW9mIHByZWRpY2F0ZSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGFyZ3M9YXJndW1lbnRzO3N3aXRjaChhcmdzLmxlbmd0aCl7Y2FzZSAwOnJldHVybiFwcmVkaWNhdGUuY2FsbCh0aGlzKTtjYXNlIDE6cmV0dXJuIXByZWRpY2F0ZS5jYWxsKHRoaXMsYXJnc1swXSk7Y2FzZSAyOnJldHVybiFwcmVkaWNhdGUuY2FsbCh0aGlzLGFyZ3NbMF0sYXJnc1sxXSk7Y2FzZSAzOnJldHVybiFwcmVkaWNhdGUuY2FsbCh0aGlzLGFyZ3NbMF0sYXJnc1sxXSxhcmdzWzJdKX1yZXR1cm4hcHJlZGljYXRlLmFwcGx5KHRoaXMsYXJncyl9fWZ1bmN0aW9uIG9uY2UoZnVuYyl7cmV0dXJuIGJlZm9yZSgyLGZ1bmMpfXZhciBvdmVyQXJncz1jYXN0UmVzdChmdW5jdGlvbihmdW5jLHRyYW5zZm9ybXMpe3RyYW5zZm9ybXM9dHJhbnNmb3Jtcy5sZW5ndGg9PQoxJiZpc0FycmF5KHRyYW5zZm9ybXNbMF0pP2FycmF5TWFwKHRyYW5zZm9ybXNbMF0sYmFzZVVuYXJ5KGdldEl0ZXJhdGVlKCkpKTphcnJheU1hcChiYXNlRmxhdHRlbih0cmFuc2Zvcm1zLDEpLGJhc2VVbmFyeShnZXRJdGVyYXRlZSgpKSk7dmFyIGZ1bmNzTGVuZ3RoPXRyYW5zZm9ybXMubGVuZ3RoO3JldHVybiBiYXNlUmVzdChmdW5jdGlvbihhcmdzKXt2YXIgaW5kZXg9LTEsbGVuZ3RoPW5hdGl2ZU1pbihhcmdzLmxlbmd0aCxmdW5jc0xlbmd0aCk7d2hpbGUoKytpbmRleDxsZW5ndGgpYXJnc1tpbmRleF09dHJhbnNmb3Jtc1tpbmRleF0uY2FsbCh0aGlzLGFyZ3NbaW5kZXhdKTtyZXR1cm4gYXBwbHkoZnVuYyx0aGlzLGFyZ3MpfSl9KTt2YXIgcGFydGlhbD1iYXNlUmVzdChmdW5jdGlvbihmdW5jLHBhcnRpYWxzKXt2YXIgaG9sZGVycz1yZXBsYWNlSG9sZGVycyhwYXJ0aWFscyxnZXRIb2xkZXIocGFydGlhbCkpO3JldHVybiBjcmVhdGVXcmFwKGZ1bmMsV1JBUF9QQVJUSUFMX0ZMQUcsCnVuZGVmaW5lZCxwYXJ0aWFscyxob2xkZXJzKX0pO3ZhciBwYXJ0aWFsUmlnaHQ9YmFzZVJlc3QoZnVuY3Rpb24oZnVuYyxwYXJ0aWFscyl7dmFyIGhvbGRlcnM9cmVwbGFjZUhvbGRlcnMocGFydGlhbHMsZ2V0SG9sZGVyKHBhcnRpYWxSaWdodCkpO3JldHVybiBjcmVhdGVXcmFwKGZ1bmMsV1JBUF9QQVJUSUFMX1JJR0hUX0ZMQUcsdW5kZWZpbmVkLHBhcnRpYWxzLGhvbGRlcnMpfSk7dmFyIHJlYXJnPWZsYXRSZXN0KGZ1bmN0aW9uKGZ1bmMsaW5kZXhlcyl7cmV0dXJuIGNyZWF0ZVdyYXAoZnVuYyxXUkFQX1JFQVJHX0ZMQUcsdW5kZWZpbmVkLHVuZGVmaW5lZCx1bmRlZmluZWQsaW5kZXhlcyl9KTtmdW5jdGlvbiByZXN0KGZ1bmMsc3RhcnQpe2lmKHR5cGVvZiBmdW5jIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtzdGFydD1zdGFydD09PXVuZGVmaW5lZD9zdGFydDp0b0ludGVnZXIoc3RhcnQpO3JldHVybiBiYXNlUmVzdChmdW5jLHN0YXJ0KX0KZnVuY3Rpb24gc3ByZWFkKGZ1bmMsc3RhcnQpe2lmKHR5cGVvZiBmdW5jIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtzdGFydD1zdGFydD09bnVsbD8wOm5hdGl2ZU1heCh0b0ludGVnZXIoc3RhcnQpLDApO3JldHVybiBiYXNlUmVzdChmdW5jdGlvbihhcmdzKXt2YXIgYXJyYXk9YXJnc1tzdGFydF0sb3RoZXJBcmdzPWNhc3RTbGljZShhcmdzLDAsc3RhcnQpO2lmKGFycmF5KWFycmF5UHVzaChvdGhlckFyZ3MsYXJyYXkpO3JldHVybiBhcHBseShmdW5jLHRoaXMsb3RoZXJBcmdzKX0pfWZ1bmN0aW9uIHRocm90dGxlKGZ1bmMsd2FpdCxvcHRpb25zKXt2YXIgbGVhZGluZz10cnVlLHRyYWlsaW5nPXRydWU7aWYodHlwZW9mIGZ1bmMhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO2lmKGlzT2JqZWN0KG9wdGlvbnMpKXtsZWFkaW5nPSJsZWFkaW5nImluIG9wdGlvbnM/ISFvcHRpb25zLmxlYWRpbmc6CmxlYWRpbmc7dHJhaWxpbmc9InRyYWlsaW5nImluIG9wdGlvbnM/ISFvcHRpb25zLnRyYWlsaW5nOnRyYWlsaW5nfXJldHVybiBkZWJvdW5jZShmdW5jLHdhaXQseyJsZWFkaW5nIjpsZWFkaW5nLCJtYXhXYWl0Ijp3YWl0LCJ0cmFpbGluZyI6dHJhaWxpbmd9KX1mdW5jdGlvbiB1bmFyeShmdW5jKXtyZXR1cm4gYXJ5KGZ1bmMsMSl9ZnVuY3Rpb24gd3JhcCh2YWx1ZSx3cmFwcGVyKXtyZXR1cm4gcGFydGlhbChjYXN0RnVuY3Rpb24od3JhcHBlciksdmFsdWUpfWZ1bmN0aW9uIGNhc3RBcnJheSgpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybltdO3ZhciB2YWx1ZT1hcmd1bWVudHNbMF07cmV0dXJuIGlzQXJyYXkodmFsdWUpP3ZhbHVlOlt2YWx1ZV19ZnVuY3Rpb24gY2xvbmUodmFsdWUpe3JldHVybiBiYXNlQ2xvbmUodmFsdWUsQ0xPTkVfU1lNQk9MU19GTEFHKX1mdW5jdGlvbiBjbG9uZVdpdGgodmFsdWUsY3VzdG9taXplcil7Y3VzdG9taXplcj10eXBlb2YgY3VzdG9taXplcj09CiJmdW5jdGlvbiI/Y3VzdG9taXplcjp1bmRlZmluZWQ7cmV0dXJuIGJhc2VDbG9uZSh2YWx1ZSxDTE9ORV9TWU1CT0xTX0ZMQUcsY3VzdG9taXplcil9ZnVuY3Rpb24gY2xvbmVEZWVwKHZhbHVlKXtyZXR1cm4gYmFzZUNsb25lKHZhbHVlLENMT05FX0RFRVBfRkxBR3xDTE9ORV9TWU1CT0xTX0ZMQUcpfWZ1bmN0aW9uIGNsb25lRGVlcFdpdGgodmFsdWUsY3VzdG9taXplcil7Y3VzdG9taXplcj10eXBlb2YgY3VzdG9taXplcj09ImZ1bmN0aW9uIj9jdXN0b21pemVyOnVuZGVmaW5lZDtyZXR1cm4gYmFzZUNsb25lKHZhbHVlLENMT05FX0RFRVBfRkxBR3xDTE9ORV9TWU1CT0xTX0ZMQUcsY3VzdG9taXplcil9ZnVuY3Rpb24gY29uZm9ybXNUbyhvYmplY3Qsc291cmNlKXtyZXR1cm4gc291cmNlPT1udWxsfHxiYXNlQ29uZm9ybXNUbyhvYmplY3Qsc291cmNlLGtleXMoc291cmNlKSl9ZnVuY3Rpb24gZXEodmFsdWUsb3RoZXIpe3JldHVybiB2YWx1ZT09PW90aGVyfHx2YWx1ZSE9PXZhbHVlJiYKb3RoZXIhPT1vdGhlcn12YXIgZ3Q9Y3JlYXRlUmVsYXRpb25hbE9wZXJhdGlvbihiYXNlR3QpO3ZhciBndGU9Y3JlYXRlUmVsYXRpb25hbE9wZXJhdGlvbihmdW5jdGlvbih2YWx1ZSxvdGhlcil7cmV0dXJuIHZhbHVlPj1vdGhlcn0pO3ZhciBpc0FyZ3VtZW50cz1iYXNlSXNBcmd1bWVudHMoZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzfSgpKT9iYXNlSXNBcmd1bWVudHM6ZnVuY3Rpb24odmFsdWUpe3JldHVybiBpc09iamVjdExpa2UodmFsdWUpJiZoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCJjYWxsZWUiKSYmIXByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodmFsdWUsImNhbGxlZSIpfTt2YXIgaXNBcnJheT1BcnJheS5pc0FycmF5O3ZhciBpc0FycmF5QnVmZmVyPW5vZGVJc0FycmF5QnVmZmVyP2Jhc2VVbmFyeShub2RlSXNBcnJheUJ1ZmZlcik6YmFzZUlzQXJyYXlCdWZmZXI7ZnVuY3Rpb24gaXNBcnJheUxpa2UodmFsdWUpe3JldHVybiB2YWx1ZSE9bnVsbCYmaXNMZW5ndGgodmFsdWUubGVuZ3RoKSYmCiFpc0Z1bmN0aW9uKHZhbHVlKX1mdW5jdGlvbiBpc0FycmF5TGlrZU9iamVjdCh2YWx1ZSl7cmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkmJmlzQXJyYXlMaWtlKHZhbHVlKX1mdW5jdGlvbiBpc0Jvb2xlYW4odmFsdWUpe3JldHVybiB2YWx1ZT09PXRydWV8fHZhbHVlPT09ZmFsc2V8fGlzT2JqZWN0TGlrZSh2YWx1ZSkmJmJhc2VHZXRUYWcodmFsdWUpPT1ib29sVGFnfXZhciBpc0J1ZmZlcj1uYXRpdmVJc0J1ZmZlcnx8c3R1YkZhbHNlO3ZhciBpc0RhdGU9bm9kZUlzRGF0ZT9iYXNlVW5hcnkobm9kZUlzRGF0ZSk6YmFzZUlzRGF0ZTtmdW5jdGlvbiBpc0VsZW1lbnQodmFsdWUpe3JldHVybiBpc09iamVjdExpa2UodmFsdWUpJiZ2YWx1ZS5ub2RlVHlwZT09PTEmJiFpc1BsYWluT2JqZWN0KHZhbHVlKX1mdW5jdGlvbiBpc0VtcHR5KHZhbHVlKXtpZih2YWx1ZT09bnVsbClyZXR1cm4gdHJ1ZTtpZihpc0FycmF5TGlrZSh2YWx1ZSkmJihpc0FycmF5KHZhbHVlKXx8dHlwZW9mIHZhbHVlPT0KInN0cmluZyJ8fHR5cGVvZiB2YWx1ZS5zcGxpY2U9PSJmdW5jdGlvbiJ8fGlzQnVmZmVyKHZhbHVlKXx8aXNUeXBlZEFycmF5KHZhbHVlKXx8aXNBcmd1bWVudHModmFsdWUpKSlyZXR1cm4hdmFsdWUubGVuZ3RoO3ZhciB0YWc9Z2V0VGFnKHZhbHVlKTtpZih0YWc9PW1hcFRhZ3x8dGFnPT1zZXRUYWcpcmV0dXJuIXZhbHVlLnNpemU7aWYoaXNQcm90b3R5cGUodmFsdWUpKXJldHVybiFiYXNlS2V5cyh2YWx1ZSkubGVuZ3RoO2Zvcih2YXIga2V5IGluIHZhbHVlKWlmKGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsa2V5KSlyZXR1cm4gZmFsc2U7cmV0dXJuIHRydWV9ZnVuY3Rpb24gaXNFcXVhbCh2YWx1ZSxvdGhlcil7cmV0dXJuIGJhc2VJc0VxdWFsKHZhbHVlLG90aGVyKX1mdW5jdGlvbiBpc0VxdWFsV2l0aCh2YWx1ZSxvdGhlcixjdXN0b21pemVyKXtjdXN0b21pemVyPXR5cGVvZiBjdXN0b21pemVyPT0iZnVuY3Rpb24iP2N1c3RvbWl6ZXI6dW5kZWZpbmVkO3ZhciByZXN1bHQ9CmN1c3RvbWl6ZXI/Y3VzdG9taXplcih2YWx1ZSxvdGhlcik6dW5kZWZpbmVkO3JldHVybiByZXN1bHQ9PT11bmRlZmluZWQ/YmFzZUlzRXF1YWwodmFsdWUsb3RoZXIsdW5kZWZpbmVkLGN1c3RvbWl6ZXIpOiEhcmVzdWx0fWZ1bmN0aW9uIGlzRXJyb3IodmFsdWUpe2lmKCFpc09iamVjdExpa2UodmFsdWUpKXJldHVybiBmYWxzZTt2YXIgdGFnPWJhc2VHZXRUYWcodmFsdWUpO3JldHVybiB0YWc9PWVycm9yVGFnfHx0YWc9PWRvbUV4Y1RhZ3x8dHlwZW9mIHZhbHVlLm1lc3NhZ2U9PSJzdHJpbmciJiZ0eXBlb2YgdmFsdWUubmFtZT09InN0cmluZyImJiFpc1BsYWluT2JqZWN0KHZhbHVlKX1mdW5jdGlvbiBpc0Zpbml0ZSh2YWx1ZSl7cmV0dXJuIHR5cGVvZiB2YWx1ZT09Im51bWJlciImJm5hdGl2ZUlzRmluaXRlKHZhbHVlKX1mdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbHVlKXtpZighaXNPYmplY3QodmFsdWUpKXJldHVybiBmYWxzZTt2YXIgdGFnPWJhc2VHZXRUYWcodmFsdWUpO3JldHVybiB0YWc9PQpmdW5jVGFnfHx0YWc9PWdlblRhZ3x8dGFnPT1hc3luY1RhZ3x8dGFnPT1wcm94eVRhZ31mdW5jdGlvbiBpc0ludGVnZXIodmFsdWUpe3JldHVybiB0eXBlb2YgdmFsdWU9PSJudW1iZXIiJiZ2YWx1ZT09dG9JbnRlZ2VyKHZhbHVlKX1mdW5jdGlvbiBpc0xlbmd0aCh2YWx1ZSl7cmV0dXJuIHR5cGVvZiB2YWx1ZT09Im51bWJlciImJnZhbHVlPi0xJiZ2YWx1ZSUxPT0wJiZ2YWx1ZTw9TUFYX1NBRkVfSU5URUdFUn1mdW5jdGlvbiBpc09iamVjdCh2YWx1ZSl7dmFyIHR5cGU9dHlwZW9mIHZhbHVlO3JldHVybiB2YWx1ZSE9bnVsbCYmKHR5cGU9PSJvYmplY3QifHx0eXBlPT0iZnVuY3Rpb24iKX1mdW5jdGlvbiBpc09iamVjdExpa2UodmFsdWUpe3JldHVybiB2YWx1ZSE9bnVsbCYmdHlwZW9mIHZhbHVlPT0ib2JqZWN0In12YXIgaXNNYXA9bm9kZUlzTWFwP2Jhc2VVbmFyeShub2RlSXNNYXApOmJhc2VJc01hcDtmdW5jdGlvbiBpc01hdGNoKG9iamVjdCxzb3VyY2Upe3JldHVybiBvYmplY3Q9PT0Kc291cmNlfHxiYXNlSXNNYXRjaChvYmplY3Qsc291cmNlLGdldE1hdGNoRGF0YShzb3VyY2UpKX1mdW5jdGlvbiBpc01hdGNoV2l0aChvYmplY3Qsc291cmNlLGN1c3RvbWl6ZXIpe2N1c3RvbWl6ZXI9dHlwZW9mIGN1c3RvbWl6ZXI9PSJmdW5jdGlvbiI/Y3VzdG9taXplcjp1bmRlZmluZWQ7cmV0dXJuIGJhc2VJc01hdGNoKG9iamVjdCxzb3VyY2UsZ2V0TWF0Y2hEYXRhKHNvdXJjZSksY3VzdG9taXplcil9ZnVuY3Rpb24gaXNOYU4odmFsdWUpe3JldHVybiBpc051bWJlcih2YWx1ZSkmJnZhbHVlIT0rdmFsdWV9ZnVuY3Rpb24gaXNOYXRpdmUodmFsdWUpe2lmKGlzTWFza2FibGUodmFsdWUpKXRocm93IG5ldyBFcnJvcihDT1JFX0VSUk9SX1RFWFQpO3JldHVybiBiYXNlSXNOYXRpdmUodmFsdWUpfWZ1bmN0aW9uIGlzTnVsbCh2YWx1ZSl7cmV0dXJuIHZhbHVlPT09bnVsbH1mdW5jdGlvbiBpc05pbCh2YWx1ZSl7cmV0dXJuIHZhbHVlPT1udWxsfWZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlKXtyZXR1cm4gdHlwZW9mIHZhbHVlPT0KIm51bWJlciJ8fGlzT2JqZWN0TGlrZSh2YWx1ZSkmJmJhc2VHZXRUYWcodmFsdWUpPT1udW1iZXJUYWd9ZnVuY3Rpb24gaXNQbGFpbk9iamVjdCh2YWx1ZSl7aWYoIWlzT2JqZWN0TGlrZSh2YWx1ZSl8fGJhc2VHZXRUYWcodmFsdWUpIT1vYmplY3RUYWcpcmV0dXJuIGZhbHNlO3ZhciBwcm90bz1nZXRQcm90b3R5cGUodmFsdWUpO2lmKHByb3RvPT09bnVsbClyZXR1cm4gdHJ1ZTt2YXIgQ3Rvcj1oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3RvLCJjb25zdHJ1Y3RvciIpJiZwcm90by5jb25zdHJ1Y3RvcjtyZXR1cm4gdHlwZW9mIEN0b3I9PSJmdW5jdGlvbiImJkN0b3IgaW5zdGFuY2VvZiBDdG9yJiZmdW5jVG9TdHJpbmcuY2FsbChDdG9yKT09b2JqZWN0Q3RvclN0cmluZ312YXIgaXNSZWdFeHA9bm9kZUlzUmVnRXhwP2Jhc2VVbmFyeShub2RlSXNSZWdFeHApOmJhc2VJc1JlZ0V4cDtmdW5jdGlvbiBpc1NhZmVJbnRlZ2VyKHZhbHVlKXtyZXR1cm4gaXNJbnRlZ2VyKHZhbHVlKSYmdmFsdWU+PQotTUFYX1NBRkVfSU5URUdFUiYmdmFsdWU8PU1BWF9TQUZFX0lOVEVHRVJ9dmFyIGlzU2V0PW5vZGVJc1NldD9iYXNlVW5hcnkobm9kZUlzU2V0KTpiYXNlSXNTZXQ7ZnVuY3Rpb24gaXNTdHJpbmcodmFsdWUpe3JldHVybiB0eXBlb2YgdmFsdWU9PSJzdHJpbmcifHwhaXNBcnJheSh2YWx1ZSkmJmlzT2JqZWN0TGlrZSh2YWx1ZSkmJmJhc2VHZXRUYWcodmFsdWUpPT1zdHJpbmdUYWd9ZnVuY3Rpb24gaXNTeW1ib2wodmFsdWUpe3JldHVybiB0eXBlb2YgdmFsdWU9PSJzeW1ib2wifHxpc09iamVjdExpa2UodmFsdWUpJiZiYXNlR2V0VGFnKHZhbHVlKT09c3ltYm9sVGFnfXZhciBpc1R5cGVkQXJyYXk9bm9kZUlzVHlwZWRBcnJheT9iYXNlVW5hcnkobm9kZUlzVHlwZWRBcnJheSk6YmFzZUlzVHlwZWRBcnJheTtmdW5jdGlvbiBpc1VuZGVmaW5lZCh2YWx1ZSl7cmV0dXJuIHZhbHVlPT09dW5kZWZpbmVkfWZ1bmN0aW9uIGlzV2Vha01hcCh2YWx1ZSl7cmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkmJgpnZXRUYWcodmFsdWUpPT13ZWFrTWFwVGFnfWZ1bmN0aW9uIGlzV2Vha1NldCh2YWx1ZSl7cmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkmJmJhc2VHZXRUYWcodmFsdWUpPT13ZWFrU2V0VGFnfXZhciBsdD1jcmVhdGVSZWxhdGlvbmFsT3BlcmF0aW9uKGJhc2VMdCk7dmFyIGx0ZT1jcmVhdGVSZWxhdGlvbmFsT3BlcmF0aW9uKGZ1bmN0aW9uKHZhbHVlLG90aGVyKXtyZXR1cm4gdmFsdWU8PW90aGVyfSk7ZnVuY3Rpb24gdG9BcnJheSh2YWx1ZSl7aWYoIXZhbHVlKXJldHVybltdO2lmKGlzQXJyYXlMaWtlKHZhbHVlKSlyZXR1cm4gaXNTdHJpbmcodmFsdWUpP3N0cmluZ1RvQXJyYXkodmFsdWUpOmNvcHlBcnJheSh2YWx1ZSk7aWYoc3ltSXRlcmF0b3ImJnZhbHVlW3N5bUl0ZXJhdG9yXSlyZXR1cm4gaXRlcmF0b3JUb0FycmF5KHZhbHVlW3N5bUl0ZXJhdG9yXSgpKTt2YXIgdGFnPWdldFRhZyh2YWx1ZSksZnVuYz10YWc9PW1hcFRhZz9tYXBUb0FycmF5OnRhZz09c2V0VGFnP3NldFRvQXJyYXk6CnZhbHVlcztyZXR1cm4gZnVuYyh2YWx1ZSl9ZnVuY3Rpb24gdG9GaW5pdGUodmFsdWUpe2lmKCF2YWx1ZSlyZXR1cm4gdmFsdWU9PT0wP3ZhbHVlOjA7dmFsdWU9dG9OdW1iZXIodmFsdWUpO2lmKHZhbHVlPT09SU5GSU5JVFl8fHZhbHVlPT09LUlORklOSVRZKXt2YXIgc2lnbj12YWx1ZTwwPy0xOjE7cmV0dXJuIHNpZ24qTUFYX0lOVEVHRVJ9cmV0dXJuIHZhbHVlPT09dmFsdWU/dmFsdWU6MH1mdW5jdGlvbiB0b0ludGVnZXIodmFsdWUpe3ZhciByZXN1bHQ9dG9GaW5pdGUodmFsdWUpLHJlbWFpbmRlcj1yZXN1bHQlMTtyZXR1cm4gcmVzdWx0PT09cmVzdWx0P3JlbWFpbmRlcj9yZXN1bHQtcmVtYWluZGVyOnJlc3VsdDowfWZ1bmN0aW9uIHRvTGVuZ3RoKHZhbHVlKXtyZXR1cm4gdmFsdWU/YmFzZUNsYW1wKHRvSW50ZWdlcih2YWx1ZSksMCxNQVhfQVJSQVlfTEVOR1RIKTowfWZ1bmN0aW9uIHRvTnVtYmVyKHZhbHVlKXtpZih0eXBlb2YgdmFsdWU9PSJudW1iZXIiKXJldHVybiB2YWx1ZTsKaWYoaXNTeW1ib2wodmFsdWUpKXJldHVybiBOQU47aWYoaXNPYmplY3QodmFsdWUpKXt2YXIgb3RoZXI9dHlwZW9mIHZhbHVlLnZhbHVlT2Y9PSJmdW5jdGlvbiI/dmFsdWUudmFsdWVPZigpOnZhbHVlO3ZhbHVlPWlzT2JqZWN0KG90aGVyKT9vdGhlcisiIjpvdGhlcn1pZih0eXBlb2YgdmFsdWUhPSJzdHJpbmciKXJldHVybiB2YWx1ZT09PTA/dmFsdWU6K3ZhbHVlO3ZhbHVlPXZhbHVlLnJlcGxhY2UocmVUcmltLCIiKTt2YXIgaXNCaW5hcnk9cmVJc0JpbmFyeS50ZXN0KHZhbHVlKTtyZXR1cm4gaXNCaW5hcnl8fHJlSXNPY3RhbC50ZXN0KHZhbHVlKT9mcmVlUGFyc2VJbnQodmFsdWUuc2xpY2UoMiksaXNCaW5hcnk/Mjo4KTpyZUlzQmFkSGV4LnRlc3QodmFsdWUpP05BTjordmFsdWV9ZnVuY3Rpb24gdG9QbGFpbk9iamVjdCh2YWx1ZSl7cmV0dXJuIGNvcHlPYmplY3QodmFsdWUsa2V5c0luKHZhbHVlKSl9ZnVuY3Rpb24gdG9TYWZlSW50ZWdlcih2YWx1ZSl7cmV0dXJuIHZhbHVlPwpiYXNlQ2xhbXAodG9JbnRlZ2VyKHZhbHVlKSwtTUFYX1NBRkVfSU5URUdFUixNQVhfU0FGRV9JTlRFR0VSKTp2YWx1ZT09PTA/dmFsdWU6MH1mdW5jdGlvbiB0b1N0cmluZyh2YWx1ZSl7cmV0dXJuIHZhbHVlPT1udWxsPyIiOmJhc2VUb1N0cmluZyh2YWx1ZSl9dmFyIGFzc2lnbj1jcmVhdGVBc3NpZ25lcihmdW5jdGlvbihvYmplY3Qsc291cmNlKXtpZihpc1Byb3RvdHlwZShzb3VyY2UpfHxpc0FycmF5TGlrZShzb3VyY2UpKXtjb3B5T2JqZWN0KHNvdXJjZSxrZXlzKHNvdXJjZSksb2JqZWN0KTtyZXR1cm59Zm9yKHZhciBrZXkgaW4gc291cmNlKWlmKGhhc093blByb3BlcnR5LmNhbGwoc291cmNlLGtleSkpYXNzaWduVmFsdWUob2JqZWN0LGtleSxzb3VyY2Vba2V5XSl9KTt2YXIgYXNzaWduSW49Y3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LHNvdXJjZSl7Y29weU9iamVjdChzb3VyY2Usa2V5c0luKHNvdXJjZSksb2JqZWN0KX0pO3ZhciBhc3NpZ25JbldpdGg9Y3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LApzb3VyY2Usc3JjSW5kZXgsY3VzdG9taXplcil7Y29weU9iamVjdChzb3VyY2Usa2V5c0luKHNvdXJjZSksb2JqZWN0LGN1c3RvbWl6ZXIpfSk7dmFyIGFzc2lnbldpdGg9Y3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LHNvdXJjZSxzcmNJbmRleCxjdXN0b21pemVyKXtjb3B5T2JqZWN0KHNvdXJjZSxrZXlzKHNvdXJjZSksb2JqZWN0LGN1c3RvbWl6ZXIpfSk7dmFyIGF0PWZsYXRSZXN0KGJhc2VBdCk7ZnVuY3Rpb24gY3JlYXRlKHByb3RvdHlwZSxwcm9wZXJ0aWVzKXt2YXIgcmVzdWx0PWJhc2VDcmVhdGUocHJvdG90eXBlKTtyZXR1cm4gcHJvcGVydGllcz09bnVsbD9yZXN1bHQ6YmFzZUFzc2lnbihyZXN1bHQscHJvcGVydGllcyl9dmFyIGRlZmF1bHRzPWJhc2VSZXN0KGZ1bmN0aW9uKG9iamVjdCxzb3VyY2VzKXtvYmplY3Q9T2JqZWN0KG9iamVjdCk7dmFyIGluZGV4PS0xO3ZhciBsZW5ndGg9c291cmNlcy5sZW5ndGg7dmFyIGd1YXJkPWxlbmd0aD4yP3NvdXJjZXNbMl06CnVuZGVmaW5lZDtpZihndWFyZCYmaXNJdGVyYXRlZUNhbGwoc291cmNlc1swXSxzb3VyY2VzWzFdLGd1YXJkKSlsZW5ndGg9MTt3aGlsZSgrK2luZGV4PGxlbmd0aCl7dmFyIHNvdXJjZT1zb3VyY2VzW2luZGV4XTt2YXIgcHJvcHM9a2V5c0luKHNvdXJjZSk7dmFyIHByb3BzSW5kZXg9LTE7dmFyIHByb3BzTGVuZ3RoPXByb3BzLmxlbmd0aDt3aGlsZSgrK3Byb3BzSW5kZXg8cHJvcHNMZW5ndGgpe3ZhciBrZXk9cHJvcHNbcHJvcHNJbmRleF07dmFyIHZhbHVlPW9iamVjdFtrZXldO2lmKHZhbHVlPT09dW5kZWZpbmVkfHxlcSh2YWx1ZSxvYmplY3RQcm90b1trZXldKSYmIWhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LGtleSkpb2JqZWN0W2tleV09c291cmNlW2tleV19fXJldHVybiBvYmplY3R9KTt2YXIgZGVmYXVsdHNEZWVwPWJhc2VSZXN0KGZ1bmN0aW9uKGFyZ3Mpe2FyZ3MucHVzaCh1bmRlZmluZWQsY3VzdG9tRGVmYXVsdHNNZXJnZSk7cmV0dXJuIGFwcGx5KG1lcmdlV2l0aCwKdW5kZWZpbmVkLGFyZ3MpfSk7ZnVuY3Rpb24gZmluZEtleShvYmplY3QscHJlZGljYXRlKXtyZXR1cm4gYmFzZUZpbmRLZXkob2JqZWN0LGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwzKSxiYXNlRm9yT3duKX1mdW5jdGlvbiBmaW5kTGFzdEtleShvYmplY3QscHJlZGljYXRlKXtyZXR1cm4gYmFzZUZpbmRLZXkob2JqZWN0LGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwzKSxiYXNlRm9yT3duUmlnaHQpfWZ1bmN0aW9uIGZvckluKG9iamVjdCxpdGVyYXRlZSl7cmV0dXJuIG9iamVjdD09bnVsbD9vYmplY3Q6YmFzZUZvcihvYmplY3QsZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsMyksa2V5c0luKX1mdW5jdGlvbiBmb3JJblJpZ2h0KG9iamVjdCxpdGVyYXRlZSl7cmV0dXJuIG9iamVjdD09bnVsbD9vYmplY3Q6YmFzZUZvclJpZ2h0KG9iamVjdCxnZXRJdGVyYXRlZShpdGVyYXRlZSwzKSxrZXlzSW4pfWZ1bmN0aW9uIGZvck93bihvYmplY3QsaXRlcmF0ZWUpe3JldHVybiBvYmplY3QmJmJhc2VGb3JPd24ob2JqZWN0LApnZXRJdGVyYXRlZShpdGVyYXRlZSwzKSl9ZnVuY3Rpb24gZm9yT3duUmlnaHQob2JqZWN0LGl0ZXJhdGVlKXtyZXR1cm4gb2JqZWN0JiZiYXNlRm9yT3duUmlnaHQob2JqZWN0LGdldEl0ZXJhdGVlKGl0ZXJhdGVlLDMpKX1mdW5jdGlvbiBmdW5jdGlvbnMob2JqZWN0KXtyZXR1cm4gb2JqZWN0PT1udWxsP1tdOmJhc2VGdW5jdGlvbnMob2JqZWN0LGtleXMob2JqZWN0KSl9ZnVuY3Rpb24gZnVuY3Rpb25zSW4ob2JqZWN0KXtyZXR1cm4gb2JqZWN0PT1udWxsP1tdOmJhc2VGdW5jdGlvbnMob2JqZWN0LGtleXNJbihvYmplY3QpKX1mdW5jdGlvbiBnZXQob2JqZWN0LHBhdGgsZGVmYXVsdFZhbHVlKXt2YXIgcmVzdWx0PW9iamVjdD09bnVsbD91bmRlZmluZWQ6YmFzZUdldChvYmplY3QscGF0aCk7cmV0dXJuIHJlc3VsdD09PXVuZGVmaW5lZD9kZWZhdWx0VmFsdWU6cmVzdWx0fWZ1bmN0aW9uIGhhcyhvYmplY3QscGF0aCl7cmV0dXJuIG9iamVjdCE9bnVsbCYmaGFzUGF0aChvYmplY3QsCnBhdGgsYmFzZUhhcyl9ZnVuY3Rpb24gaGFzSW4ob2JqZWN0LHBhdGgpe3JldHVybiBvYmplY3QhPW51bGwmJmhhc1BhdGgob2JqZWN0LHBhdGgsYmFzZUhhc0luKX12YXIgaW52ZXJ0PWNyZWF0ZUludmVydGVyKGZ1bmN0aW9uKHJlc3VsdCx2YWx1ZSxrZXkpe2lmKHZhbHVlIT1udWxsJiZ0eXBlb2YgdmFsdWUudG9TdHJpbmchPSJmdW5jdGlvbiIpdmFsdWU9bmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSk7cmVzdWx0W3ZhbHVlXT1rZXl9LGNvbnN0YW50KGlkZW50aXR5KSk7dmFyIGludmVydEJ5PWNyZWF0ZUludmVydGVyKGZ1bmN0aW9uKHJlc3VsdCx2YWx1ZSxrZXkpe2lmKHZhbHVlIT1udWxsJiZ0eXBlb2YgdmFsdWUudG9TdHJpbmchPSJmdW5jdGlvbiIpdmFsdWU9bmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSk7aWYoaGFzT3duUHJvcGVydHkuY2FsbChyZXN1bHQsdmFsdWUpKXJlc3VsdFt2YWx1ZV0ucHVzaChrZXkpO2Vsc2UgcmVzdWx0W3ZhbHVlXT1ba2V5XX0sCmdldEl0ZXJhdGVlKTt2YXIgaW52b2tlPWJhc2VSZXN0KGJhc2VJbnZva2UpO2Z1bmN0aW9uIGtleXMob2JqZWN0KXtyZXR1cm4gaXNBcnJheUxpa2Uob2JqZWN0KT9hcnJheUxpa2VLZXlzKG9iamVjdCk6YmFzZUtleXMob2JqZWN0KX1mdW5jdGlvbiBrZXlzSW4ob2JqZWN0KXtyZXR1cm4gaXNBcnJheUxpa2Uob2JqZWN0KT9hcnJheUxpa2VLZXlzKG9iamVjdCx0cnVlKTpiYXNlS2V5c0luKG9iamVjdCl9ZnVuY3Rpb24gbWFwS2V5cyhvYmplY3QsaXRlcmF0ZWUpe3ZhciByZXN1bHQ9e307aXRlcmF0ZWU9Z2V0SXRlcmF0ZWUoaXRlcmF0ZWUsMyk7YmFzZUZvck93bihvYmplY3QsZnVuY3Rpb24odmFsdWUsa2V5LG9iamVjdCl7YmFzZUFzc2lnblZhbHVlKHJlc3VsdCxpdGVyYXRlZSh2YWx1ZSxrZXksb2JqZWN0KSx2YWx1ZSl9KTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIG1hcFZhbHVlcyhvYmplY3QsaXRlcmF0ZWUpe3ZhciByZXN1bHQ9e307aXRlcmF0ZWU9Z2V0SXRlcmF0ZWUoaXRlcmF0ZWUsCjMpO2Jhc2VGb3JPd24ob2JqZWN0LGZ1bmN0aW9uKHZhbHVlLGtleSxvYmplY3Qpe2Jhc2VBc3NpZ25WYWx1ZShyZXN1bHQsa2V5LGl0ZXJhdGVlKHZhbHVlLGtleSxvYmplY3QpKX0pO3JldHVybiByZXN1bHR9dmFyIG1lcmdlPWNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCxzb3VyY2Usc3JjSW5kZXgpe2Jhc2VNZXJnZShvYmplY3Qsc291cmNlLHNyY0luZGV4KX0pO3ZhciBtZXJnZVdpdGg9Y3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LHNvdXJjZSxzcmNJbmRleCxjdXN0b21pemVyKXtiYXNlTWVyZ2Uob2JqZWN0LHNvdXJjZSxzcmNJbmRleCxjdXN0b21pemVyKX0pO3ZhciBvbWl0PWZsYXRSZXN0KGZ1bmN0aW9uKG9iamVjdCxwYXRocyl7dmFyIHJlc3VsdD17fTtpZihvYmplY3Q9PW51bGwpcmV0dXJuIHJlc3VsdDt2YXIgaXNEZWVwPWZhbHNlO3BhdGhzPWFycmF5TWFwKHBhdGhzLGZ1bmN0aW9uKHBhdGgpe3BhdGg9Y2FzdFBhdGgocGF0aCxvYmplY3QpO2lzRGVlcHx8Cihpc0RlZXA9cGF0aC5sZW5ndGg+MSk7cmV0dXJuIHBhdGh9KTtjb3B5T2JqZWN0KG9iamVjdCxnZXRBbGxLZXlzSW4ob2JqZWN0KSxyZXN1bHQpO2lmKGlzRGVlcClyZXN1bHQ9YmFzZUNsb25lKHJlc3VsdCxDTE9ORV9ERUVQX0ZMQUd8Q0xPTkVfRkxBVF9GTEFHfENMT05FX1NZTUJPTFNfRkxBRyxjdXN0b21PbWl0Q2xvbmUpO3ZhciBsZW5ndGg9cGF0aHMubGVuZ3RoO3doaWxlKGxlbmd0aC0tKWJhc2VVbnNldChyZXN1bHQscGF0aHNbbGVuZ3RoXSk7cmV0dXJuIHJlc3VsdH0pO2Z1bmN0aW9uIG9taXRCeShvYmplY3QscHJlZGljYXRlKXtyZXR1cm4gcGlja0J5KG9iamVjdCxuZWdhdGUoZ2V0SXRlcmF0ZWUocHJlZGljYXRlKSkpfXZhciBwaWNrPWZsYXRSZXN0KGZ1bmN0aW9uKG9iamVjdCxwYXRocyl7cmV0dXJuIG9iamVjdD09bnVsbD97fTpiYXNlUGljayhvYmplY3QscGF0aHMpfSk7ZnVuY3Rpb24gcGlja0J5KG9iamVjdCxwcmVkaWNhdGUpe2lmKG9iamVjdD09bnVsbClyZXR1cm57fTsKdmFyIHByb3BzPWFycmF5TWFwKGdldEFsbEtleXNJbihvYmplY3QpLGZ1bmN0aW9uKHByb3Ape3JldHVybltwcm9wXX0pO3ByZWRpY2F0ZT1nZXRJdGVyYXRlZShwcmVkaWNhdGUpO3JldHVybiBiYXNlUGlja0J5KG9iamVjdCxwcm9wcyxmdW5jdGlvbih2YWx1ZSxwYXRoKXtyZXR1cm4gcHJlZGljYXRlKHZhbHVlLHBhdGhbMF0pfSl9ZnVuY3Rpb24gcmVzdWx0KG9iamVjdCxwYXRoLGRlZmF1bHRWYWx1ZSl7cGF0aD1jYXN0UGF0aChwYXRoLG9iamVjdCk7dmFyIGluZGV4PS0xLGxlbmd0aD1wYXRoLmxlbmd0aDtpZighbGVuZ3RoKXtsZW5ndGg9MTtvYmplY3Q9dW5kZWZpbmVkfXdoaWxlKCsraW5kZXg8bGVuZ3RoKXt2YXIgdmFsdWU9b2JqZWN0PT1udWxsP3VuZGVmaW5lZDpvYmplY3RbdG9LZXkocGF0aFtpbmRleF0pXTtpZih2YWx1ZT09PXVuZGVmaW5lZCl7aW5kZXg9bGVuZ3RoO3ZhbHVlPWRlZmF1bHRWYWx1ZX1vYmplY3Q9aXNGdW5jdGlvbih2YWx1ZSk/dmFsdWUuY2FsbChvYmplY3QpOgp2YWx1ZX1yZXR1cm4gb2JqZWN0fWZ1bmN0aW9uIHNldChvYmplY3QscGF0aCx2YWx1ZSl7cmV0dXJuIG9iamVjdD09bnVsbD9vYmplY3Q6YmFzZVNldChvYmplY3QscGF0aCx2YWx1ZSl9ZnVuY3Rpb24gc2V0V2l0aChvYmplY3QscGF0aCx2YWx1ZSxjdXN0b21pemVyKXtjdXN0b21pemVyPXR5cGVvZiBjdXN0b21pemVyPT0iZnVuY3Rpb24iP2N1c3RvbWl6ZXI6dW5kZWZpbmVkO3JldHVybiBvYmplY3Q9PW51bGw/b2JqZWN0OmJhc2VTZXQob2JqZWN0LHBhdGgsdmFsdWUsY3VzdG9taXplcil9dmFyIHRvUGFpcnM9Y3JlYXRlVG9QYWlycyhrZXlzKTt2YXIgdG9QYWlyc0luPWNyZWF0ZVRvUGFpcnMoa2V5c0luKTtmdW5jdGlvbiB0cmFuc2Zvcm0ob2JqZWN0LGl0ZXJhdGVlLGFjY3VtdWxhdG9yKXt2YXIgaXNBcnI9aXNBcnJheShvYmplY3QpLGlzQXJyTGlrZT1pc0Fycnx8aXNCdWZmZXIob2JqZWN0KXx8aXNUeXBlZEFycmF5KG9iamVjdCk7aXRlcmF0ZWU9Z2V0SXRlcmF0ZWUoaXRlcmF0ZWUsCjQpO2lmKGFjY3VtdWxhdG9yPT1udWxsKXt2YXIgQ3Rvcj1vYmplY3QmJm9iamVjdC5jb25zdHJ1Y3RvcjtpZihpc0Fyckxpa2UpYWNjdW11bGF0b3I9aXNBcnI/bmV3IEN0b3I6W107ZWxzZSBpZihpc09iamVjdChvYmplY3QpKWFjY3VtdWxhdG9yPWlzRnVuY3Rpb24oQ3Rvcik/YmFzZUNyZWF0ZShnZXRQcm90b3R5cGUob2JqZWN0KSk6e307ZWxzZSBhY2N1bXVsYXRvcj17fX0oaXNBcnJMaWtlP2FycmF5RWFjaDpiYXNlRm9yT3duKShvYmplY3QsZnVuY3Rpb24odmFsdWUsaW5kZXgsb2JqZWN0KXtyZXR1cm4gaXRlcmF0ZWUoYWNjdW11bGF0b3IsdmFsdWUsaW5kZXgsb2JqZWN0KX0pO3JldHVybiBhY2N1bXVsYXRvcn1mdW5jdGlvbiB1bnNldChvYmplY3QscGF0aCl7cmV0dXJuIG9iamVjdD09bnVsbD90cnVlOmJhc2VVbnNldChvYmplY3QscGF0aCl9ZnVuY3Rpb24gdXBkYXRlKG9iamVjdCxwYXRoLHVwZGF0ZXIpe3JldHVybiBvYmplY3Q9PW51bGw/b2JqZWN0OmJhc2VVcGRhdGUob2JqZWN0LApwYXRoLGNhc3RGdW5jdGlvbih1cGRhdGVyKSl9ZnVuY3Rpb24gdXBkYXRlV2l0aChvYmplY3QscGF0aCx1cGRhdGVyLGN1c3RvbWl6ZXIpe2N1c3RvbWl6ZXI9dHlwZW9mIGN1c3RvbWl6ZXI9PSJmdW5jdGlvbiI/Y3VzdG9taXplcjp1bmRlZmluZWQ7cmV0dXJuIG9iamVjdD09bnVsbD9vYmplY3Q6YmFzZVVwZGF0ZShvYmplY3QscGF0aCxjYXN0RnVuY3Rpb24odXBkYXRlciksY3VzdG9taXplcil9ZnVuY3Rpb24gdmFsdWVzKG9iamVjdCl7cmV0dXJuIG9iamVjdD09bnVsbD9bXTpiYXNlVmFsdWVzKG9iamVjdCxrZXlzKG9iamVjdCkpfWZ1bmN0aW9uIHZhbHVlc0luKG9iamVjdCl7cmV0dXJuIG9iamVjdD09bnVsbD9bXTpiYXNlVmFsdWVzKG9iamVjdCxrZXlzSW4ob2JqZWN0KSl9ZnVuY3Rpb24gY2xhbXAobnVtYmVyLGxvd2VyLHVwcGVyKXtpZih1cHBlcj09PXVuZGVmaW5lZCl7dXBwZXI9bG93ZXI7bG93ZXI9dW5kZWZpbmVkfWlmKHVwcGVyIT09dW5kZWZpbmVkKXt1cHBlcj0KdG9OdW1iZXIodXBwZXIpO3VwcGVyPXVwcGVyPT09dXBwZXI/dXBwZXI6MH1pZihsb3dlciE9PXVuZGVmaW5lZCl7bG93ZXI9dG9OdW1iZXIobG93ZXIpO2xvd2VyPWxvd2VyPT09bG93ZXI/bG93ZXI6MH1yZXR1cm4gYmFzZUNsYW1wKHRvTnVtYmVyKG51bWJlciksbG93ZXIsdXBwZXIpfWZ1bmN0aW9uIGluUmFuZ2UobnVtYmVyLHN0YXJ0LGVuZCl7c3RhcnQ9dG9GaW5pdGUoc3RhcnQpO2lmKGVuZD09PXVuZGVmaW5lZCl7ZW5kPXN0YXJ0O3N0YXJ0PTB9ZWxzZSBlbmQ9dG9GaW5pdGUoZW5kKTtudW1iZXI9dG9OdW1iZXIobnVtYmVyKTtyZXR1cm4gYmFzZUluUmFuZ2UobnVtYmVyLHN0YXJ0LGVuZCl9ZnVuY3Rpb24gcmFuZG9tKGxvd2VyLHVwcGVyLGZsb2F0aW5nKXtpZihmbG9hdGluZyYmdHlwZW9mIGZsb2F0aW5nIT0iYm9vbGVhbiImJmlzSXRlcmF0ZWVDYWxsKGxvd2VyLHVwcGVyLGZsb2F0aW5nKSl1cHBlcj1mbG9hdGluZz11bmRlZmluZWQ7aWYoZmxvYXRpbmc9PT11bmRlZmluZWQpaWYodHlwZW9mIHVwcGVyPT0KImJvb2xlYW4iKXtmbG9hdGluZz11cHBlcjt1cHBlcj11bmRlZmluZWR9ZWxzZSBpZih0eXBlb2YgbG93ZXI9PSJib29sZWFuIil7ZmxvYXRpbmc9bG93ZXI7bG93ZXI9dW5kZWZpbmVkfWlmKGxvd2VyPT09dW5kZWZpbmVkJiZ1cHBlcj09PXVuZGVmaW5lZCl7bG93ZXI9MDt1cHBlcj0xfWVsc2V7bG93ZXI9dG9GaW5pdGUobG93ZXIpO2lmKHVwcGVyPT09dW5kZWZpbmVkKXt1cHBlcj1sb3dlcjtsb3dlcj0wfWVsc2UgdXBwZXI9dG9GaW5pdGUodXBwZXIpfWlmKGxvd2VyPnVwcGVyKXt2YXIgdGVtcD1sb3dlcjtsb3dlcj11cHBlcjt1cHBlcj10ZW1wfWlmKGZsb2F0aW5nfHxsb3dlciUxfHx1cHBlciUxKXt2YXIgcmFuZD1uYXRpdmVSYW5kb20oKTtyZXR1cm4gbmF0aXZlTWluKGxvd2VyK3JhbmQqKHVwcGVyLWxvd2VyK2ZyZWVQYXJzZUZsb2F0KCIxZS0iKygocmFuZCsiIikubGVuZ3RoLTEpKSksdXBwZXIpfXJldHVybiBiYXNlUmFuZG9tKGxvd2VyLHVwcGVyKX12YXIgY2FtZWxDYXNlPQpjcmVhdGVDb21wb3VuZGVyKGZ1bmN0aW9uKHJlc3VsdCx3b3JkLGluZGV4KXt3b3JkPXdvcmQudG9Mb3dlckNhc2UoKTtyZXR1cm4gcmVzdWx0KyhpbmRleD9jYXBpdGFsaXplKHdvcmQpOndvcmQpfSk7ZnVuY3Rpb24gY2FwaXRhbGl6ZShzdHJpbmcpe3JldHVybiB1cHBlckZpcnN0KHRvU3RyaW5nKHN0cmluZykudG9Mb3dlckNhc2UoKSl9ZnVuY3Rpb24gZGVidXJyKHN0cmluZyl7c3RyaW5nPXRvU3RyaW5nKHN0cmluZyk7cmV0dXJuIHN0cmluZyYmc3RyaW5nLnJlcGxhY2UocmVMYXRpbixkZWJ1cnJMZXR0ZXIpLnJlcGxhY2UocmVDb21ib01hcmssIiIpfWZ1bmN0aW9uIGVuZHNXaXRoKHN0cmluZyx0YXJnZXQscG9zaXRpb24pe3N0cmluZz10b1N0cmluZyhzdHJpbmcpO3RhcmdldD1iYXNlVG9TdHJpbmcodGFyZ2V0KTt2YXIgbGVuZ3RoPXN0cmluZy5sZW5ndGg7cG9zaXRpb249cG9zaXRpb249PT11bmRlZmluZWQ/bGVuZ3RoOmJhc2VDbGFtcCh0b0ludGVnZXIocG9zaXRpb24pLAowLGxlbmd0aCk7dmFyIGVuZD1wb3NpdGlvbjtwb3NpdGlvbi09dGFyZ2V0Lmxlbmd0aDtyZXR1cm4gcG9zaXRpb24+PTAmJnN0cmluZy5zbGljZShwb3NpdGlvbixlbmQpPT10YXJnZXR9ZnVuY3Rpb24gZXNjYXBlKHN0cmluZyl7c3RyaW5nPXRvU3RyaW5nKHN0cmluZyk7cmV0dXJuIHN0cmluZyYmcmVIYXNVbmVzY2FwZWRIdG1sLnRlc3Qoc3RyaW5nKT9zdHJpbmcucmVwbGFjZShyZVVuZXNjYXBlZEh0bWwsZXNjYXBlSHRtbENoYXIpOnN0cmluZ31mdW5jdGlvbiBlc2NhcGVSZWdFeHAoc3RyaW5nKXtzdHJpbmc9dG9TdHJpbmcoc3RyaW5nKTtyZXR1cm4gc3RyaW5nJiZyZUhhc1JlZ0V4cENoYXIudGVzdChzdHJpbmcpP3N0cmluZy5yZXBsYWNlKHJlUmVnRXhwQ2hhciwiXFwkXHgyNiIpOnN0cmluZ312YXIga2ViYWJDYXNlPWNyZWF0ZUNvbXBvdW5kZXIoZnVuY3Rpb24ocmVzdWx0LHdvcmQsaW5kZXgpe3JldHVybiByZXN1bHQrKGluZGV4PyItIjoiIikrd29yZC50b0xvd2VyQ2FzZSgpfSk7CnZhciBsb3dlckNhc2U9Y3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQsd29yZCxpbmRleCl7cmV0dXJuIHJlc3VsdCsoaW5kZXg/IiAiOiIiKSt3b3JkLnRvTG93ZXJDYXNlKCl9KTt2YXIgbG93ZXJGaXJzdD1jcmVhdGVDYXNlRmlyc3QoInRvTG93ZXJDYXNlIik7ZnVuY3Rpb24gcGFkKHN0cmluZyxsZW5ndGgsY2hhcnMpe3N0cmluZz10b1N0cmluZyhzdHJpbmcpO2xlbmd0aD10b0ludGVnZXIobGVuZ3RoKTt2YXIgc3RyTGVuZ3RoPWxlbmd0aD9zdHJpbmdTaXplKHN0cmluZyk6MDtpZighbGVuZ3RofHxzdHJMZW5ndGg+PWxlbmd0aClyZXR1cm4gc3RyaW5nO3ZhciBtaWQ9KGxlbmd0aC1zdHJMZW5ndGgpLzI7cmV0dXJuIGNyZWF0ZVBhZGRpbmcobmF0aXZlRmxvb3IobWlkKSxjaGFycykrc3RyaW5nK2NyZWF0ZVBhZGRpbmcobmF0aXZlQ2VpbChtaWQpLGNoYXJzKX1mdW5jdGlvbiBwYWRFbmQoc3RyaW5nLGxlbmd0aCxjaGFycyl7c3RyaW5nPXRvU3RyaW5nKHN0cmluZyk7Cmxlbmd0aD10b0ludGVnZXIobGVuZ3RoKTt2YXIgc3RyTGVuZ3RoPWxlbmd0aD9zdHJpbmdTaXplKHN0cmluZyk6MDtyZXR1cm4gbGVuZ3RoJiZzdHJMZW5ndGg8bGVuZ3RoP3N0cmluZytjcmVhdGVQYWRkaW5nKGxlbmd0aC1zdHJMZW5ndGgsY2hhcnMpOnN0cmluZ31mdW5jdGlvbiBwYWRTdGFydChzdHJpbmcsbGVuZ3RoLGNoYXJzKXtzdHJpbmc9dG9TdHJpbmcoc3RyaW5nKTtsZW5ndGg9dG9JbnRlZ2VyKGxlbmd0aCk7dmFyIHN0ckxlbmd0aD1sZW5ndGg/c3RyaW5nU2l6ZShzdHJpbmcpOjA7cmV0dXJuIGxlbmd0aCYmc3RyTGVuZ3RoPGxlbmd0aD9jcmVhdGVQYWRkaW5nKGxlbmd0aC1zdHJMZW5ndGgsY2hhcnMpK3N0cmluZzpzdHJpbmd9ZnVuY3Rpb24gcGFyc2VJbnQoc3RyaW5nLHJhZGl4LGd1YXJkKXtpZihndWFyZHx8cmFkaXg9PW51bGwpcmFkaXg9MDtlbHNlIGlmKHJhZGl4KXJhZGl4PStyYWRpeDtyZXR1cm4gbmF0aXZlUGFyc2VJbnQodG9TdHJpbmcoc3RyaW5nKS5yZXBsYWNlKHJlVHJpbVN0YXJ0LAoiIikscmFkaXh8fDApfWZ1bmN0aW9uIHJlcGVhdChzdHJpbmcsbixndWFyZCl7aWYoZ3VhcmQ/aXNJdGVyYXRlZUNhbGwoc3RyaW5nLG4sZ3VhcmQpOm49PT11bmRlZmluZWQpbj0xO2Vsc2Ugbj10b0ludGVnZXIobik7cmV0dXJuIGJhc2VSZXBlYXQodG9TdHJpbmcoc3RyaW5nKSxuKX1mdW5jdGlvbiByZXBsYWNlKCl7dmFyIGFyZ3M9YXJndW1lbnRzLHN0cmluZz10b1N0cmluZyhhcmdzWzBdKTtyZXR1cm4gYXJncy5sZW5ndGg8Mz9zdHJpbmc6c3RyaW5nLnJlcGxhY2UoYXJnc1sxXSxhcmdzWzJdKX12YXIgc25ha2VDYXNlPWNyZWF0ZUNvbXBvdW5kZXIoZnVuY3Rpb24ocmVzdWx0LHdvcmQsaW5kZXgpe3JldHVybiByZXN1bHQrKGluZGV4PyJfIjoiIikrd29yZC50b0xvd2VyQ2FzZSgpfSk7ZnVuY3Rpb24gc3BsaXQoc3RyaW5nLHNlcGFyYXRvcixsaW1pdCl7aWYobGltaXQmJnR5cGVvZiBsaW1pdCE9Im51bWJlciImJmlzSXRlcmF0ZWVDYWxsKHN0cmluZyxzZXBhcmF0b3IsbGltaXQpKXNlcGFyYXRvcj0KbGltaXQ9dW5kZWZpbmVkO2xpbWl0PWxpbWl0PT09dW5kZWZpbmVkP01BWF9BUlJBWV9MRU5HVEg6bGltaXQ+Pj4wO2lmKCFsaW1pdClyZXR1cm5bXTtzdHJpbmc9dG9TdHJpbmcoc3RyaW5nKTtpZihzdHJpbmcmJih0eXBlb2Ygc2VwYXJhdG9yPT0ic3RyaW5nInx8c2VwYXJhdG9yIT1udWxsJiYhaXNSZWdFeHAoc2VwYXJhdG9yKSkpe3NlcGFyYXRvcj1iYXNlVG9TdHJpbmcoc2VwYXJhdG9yKTtpZighc2VwYXJhdG9yJiZoYXNVbmljb2RlKHN0cmluZykpcmV0dXJuIGNhc3RTbGljZShzdHJpbmdUb0FycmF5KHN0cmluZyksMCxsaW1pdCl9cmV0dXJuIHN0cmluZy5zcGxpdChzZXBhcmF0b3IsbGltaXQpfXZhciBzdGFydENhc2U9Y3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQsd29yZCxpbmRleCl7cmV0dXJuIHJlc3VsdCsoaW5kZXg/IiAiOiIiKSt1cHBlckZpcnN0KHdvcmQpfSk7ZnVuY3Rpb24gc3RhcnRzV2l0aChzdHJpbmcsdGFyZ2V0LHBvc2l0aW9uKXtzdHJpbmc9CnRvU3RyaW5nKHN0cmluZyk7cG9zaXRpb249cG9zaXRpb249PW51bGw/MDpiYXNlQ2xhbXAodG9JbnRlZ2VyKHBvc2l0aW9uKSwwLHN0cmluZy5sZW5ndGgpO3RhcmdldD1iYXNlVG9TdHJpbmcodGFyZ2V0KTtyZXR1cm4gc3RyaW5nLnNsaWNlKHBvc2l0aW9uLHBvc2l0aW9uK3RhcmdldC5sZW5ndGgpPT10YXJnZXR9ZnVuY3Rpb24gdGVtcGxhdGUoc3RyaW5nLG9wdGlvbnMsZ3VhcmQpe3ZhciBzZXR0aW5ncz1sb2Rhc2gudGVtcGxhdGVTZXR0aW5ncztpZihndWFyZCYmaXNJdGVyYXRlZUNhbGwoc3RyaW5nLG9wdGlvbnMsZ3VhcmQpKW9wdGlvbnM9dW5kZWZpbmVkO3N0cmluZz10b1N0cmluZyhzdHJpbmcpO29wdGlvbnM9YXNzaWduSW5XaXRoKHt9LG9wdGlvbnMsc2V0dGluZ3MsY3VzdG9tRGVmYXVsdHNBc3NpZ25Jbik7dmFyIGltcG9ydHM9YXNzaWduSW5XaXRoKHt9LG9wdGlvbnMuaW1wb3J0cyxzZXR0aW5ncy5pbXBvcnRzLGN1c3RvbURlZmF1bHRzQXNzaWduSW4pLGltcG9ydHNLZXlzPQprZXlzKGltcG9ydHMpLGltcG9ydHNWYWx1ZXM9YmFzZVZhbHVlcyhpbXBvcnRzLGltcG9ydHNLZXlzKTt2YXIgaXNFc2NhcGluZyxpc0V2YWx1YXRpbmcsaW5kZXg9MCxpbnRlcnBvbGF0ZT1vcHRpb25zLmludGVycG9sYXRlfHxyZU5vTWF0Y2gsc291cmNlPSJfX3AgK1x4M2QgJyI7dmFyIHJlRGVsaW1pdGVycz1SZWdFeHAoKG9wdGlvbnMuZXNjYXBlfHxyZU5vTWF0Y2gpLnNvdXJjZSsifCIraW50ZXJwb2xhdGUuc291cmNlKyJ8IisoaW50ZXJwb2xhdGU9PT1yZUludGVycG9sYXRlP3JlRXNUZW1wbGF0ZTpyZU5vTWF0Y2gpLnNvdXJjZSsifCIrKG9wdGlvbnMuZXZhbHVhdGV8fHJlTm9NYXRjaCkuc291cmNlKyJ8JCIsImciKTt2YXIgc291cmNlVVJMPSIvLyMgc291cmNlVVJMXHgzZCIrKCJzb3VyY2VVUkwiaW4gb3B0aW9ucz9vcHRpb25zLnNvdXJjZVVSTDoibG9kYXNoLnRlbXBsYXRlU291cmNlc1siKyArK3RlbXBsYXRlQ291bnRlcisiXSIpKyJcbiI7c3RyaW5nLnJlcGxhY2UocmVEZWxpbWl0ZXJzLApmdW5jdGlvbihtYXRjaCxlc2NhcGVWYWx1ZSxpbnRlcnBvbGF0ZVZhbHVlLGVzVGVtcGxhdGVWYWx1ZSxldmFsdWF0ZVZhbHVlLG9mZnNldCl7aW50ZXJwb2xhdGVWYWx1ZXx8KGludGVycG9sYXRlVmFsdWU9ZXNUZW1wbGF0ZVZhbHVlKTtzb3VyY2UrPXN0cmluZy5zbGljZShpbmRleCxvZmZzZXQpLnJlcGxhY2UocmVVbmVzY2FwZWRTdHJpbmcsZXNjYXBlU3RyaW5nQ2hhcik7aWYoZXNjYXBlVmFsdWUpe2lzRXNjYXBpbmc9dHJ1ZTtzb3VyY2UrPSInICtcbl9fZSgiK2VzY2FwZVZhbHVlKyIpICtcbicifWlmKGV2YWx1YXRlVmFsdWUpe2lzRXZhbHVhdGluZz10cnVlO3NvdXJjZSs9Iic7XG4iK2V2YWx1YXRlVmFsdWUrIjtcbl9fcCArXHgzZCAnIn1pZihpbnRlcnBvbGF0ZVZhbHVlKXNvdXJjZSs9IicgK1xuKChfX3QgXHgzZCAoIitpbnRlcnBvbGF0ZVZhbHVlKyIpKSBceDNkXHgzZCBudWxsID8gJycgOiBfX3QpICtcbiciO2luZGV4PW9mZnNldCttYXRjaC5sZW5ndGg7cmV0dXJuIG1hdGNofSk7CnNvdXJjZSs9Iic7XG4iO3ZhciB2YXJpYWJsZT1vcHRpb25zLnZhcmlhYmxlO2lmKCF2YXJpYWJsZSlzb3VyY2U9IndpdGggKG9iaikge1xuIitzb3VyY2UrIlxufVxuIjtzb3VyY2U9KGlzRXZhbHVhdGluZz9zb3VyY2UucmVwbGFjZShyZUVtcHR5U3RyaW5nTGVhZGluZywiIik6c291cmNlKS5yZXBsYWNlKHJlRW1wdHlTdHJpbmdNaWRkbGUsIiQxIikucmVwbGFjZShyZUVtcHR5U3RyaW5nVHJhaWxpbmcsIiQxOyIpO3NvdXJjZT0iZnVuY3Rpb24oIisodmFyaWFibGV8fCJvYmoiKSsiKSB7XG4iKyh2YXJpYWJsZT8iIjoib2JqIHx8IChvYmogXHgzZCB7fSk7XG4iKSsidmFyIF9fdCwgX19wIFx4M2QgJyciKyhpc0VzY2FwaW5nPyIsIF9fZSBceDNkIF8uZXNjYXBlIjoiIikrKGlzRXZhbHVhdGluZz8iLCBfX2ogXHgzZCBBcnJheS5wcm90b3R5cGUuam9pbjtcbiIrImZ1bmN0aW9uIHByaW50KCkgeyBfX3AgK1x4M2QgX19qLmNhbGwoYXJndW1lbnRzLCAnJykgfVxuIjoiO1xuIikrc291cmNlKwoicmV0dXJuIF9fcFxufSI7dmFyIHJlc3VsdD1hdHRlbXB0KGZ1bmN0aW9uKCl7cmV0dXJuIEZ1bmN0aW9uKGltcG9ydHNLZXlzLHNvdXJjZVVSTCsicmV0dXJuICIrc291cmNlKS5hcHBseSh1bmRlZmluZWQsaW1wb3J0c1ZhbHVlcyl9KTtyZXN1bHQuc291cmNlPXNvdXJjZTtpZihpc0Vycm9yKHJlc3VsdCkpdGhyb3cgcmVzdWx0O3JldHVybiByZXN1bHR9ZnVuY3Rpb24gdG9Mb3dlcih2YWx1ZSl7cmV0dXJuIHRvU3RyaW5nKHZhbHVlKS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIHRvVXBwZXIodmFsdWUpe3JldHVybiB0b1N0cmluZyh2YWx1ZSkudG9VcHBlckNhc2UoKX1mdW5jdGlvbiB0cmltKHN0cmluZyxjaGFycyxndWFyZCl7c3RyaW5nPXRvU3RyaW5nKHN0cmluZyk7aWYoc3RyaW5nJiYoZ3VhcmR8fGNoYXJzPT09dW5kZWZpbmVkKSlyZXR1cm4gc3RyaW5nLnJlcGxhY2UocmVUcmltLCIiKTtpZighc3RyaW5nfHwhKGNoYXJzPWJhc2VUb1N0cmluZyhjaGFycykpKXJldHVybiBzdHJpbmc7CnZhciBzdHJTeW1ib2xzPXN0cmluZ1RvQXJyYXkoc3RyaW5nKSxjaHJTeW1ib2xzPXN0cmluZ1RvQXJyYXkoY2hhcnMpLHN0YXJ0PWNoYXJzU3RhcnRJbmRleChzdHJTeW1ib2xzLGNoclN5bWJvbHMpLGVuZD1jaGFyc0VuZEluZGV4KHN0clN5bWJvbHMsY2hyU3ltYm9scykrMTtyZXR1cm4gY2FzdFNsaWNlKHN0clN5bWJvbHMsc3RhcnQsZW5kKS5qb2luKCIiKX1mdW5jdGlvbiB0cmltRW5kKHN0cmluZyxjaGFycyxndWFyZCl7c3RyaW5nPXRvU3RyaW5nKHN0cmluZyk7aWYoc3RyaW5nJiYoZ3VhcmR8fGNoYXJzPT09dW5kZWZpbmVkKSlyZXR1cm4gc3RyaW5nLnJlcGxhY2UocmVUcmltRW5kLCIiKTtpZighc3RyaW5nfHwhKGNoYXJzPWJhc2VUb1N0cmluZyhjaGFycykpKXJldHVybiBzdHJpbmc7dmFyIHN0clN5bWJvbHM9c3RyaW5nVG9BcnJheShzdHJpbmcpLGVuZD1jaGFyc0VuZEluZGV4KHN0clN5bWJvbHMsc3RyaW5nVG9BcnJheShjaGFycykpKzE7cmV0dXJuIGNhc3RTbGljZShzdHJTeW1ib2xzLAowLGVuZCkuam9pbigiIil9ZnVuY3Rpb24gdHJpbVN0YXJ0KHN0cmluZyxjaGFycyxndWFyZCl7c3RyaW5nPXRvU3RyaW5nKHN0cmluZyk7aWYoc3RyaW5nJiYoZ3VhcmR8fGNoYXJzPT09dW5kZWZpbmVkKSlyZXR1cm4gc3RyaW5nLnJlcGxhY2UocmVUcmltU3RhcnQsIiIpO2lmKCFzdHJpbmd8fCEoY2hhcnM9YmFzZVRvU3RyaW5nKGNoYXJzKSkpcmV0dXJuIHN0cmluZzt2YXIgc3RyU3ltYm9scz1zdHJpbmdUb0FycmF5KHN0cmluZyksc3RhcnQ9Y2hhcnNTdGFydEluZGV4KHN0clN5bWJvbHMsc3RyaW5nVG9BcnJheShjaGFycykpO3JldHVybiBjYXN0U2xpY2Uoc3RyU3ltYm9scyxzdGFydCkuam9pbigiIil9ZnVuY3Rpb24gdHJ1bmNhdGUoc3RyaW5nLG9wdGlvbnMpe3ZhciBsZW5ndGg9REVGQVVMVF9UUlVOQ19MRU5HVEgsb21pc3Npb249REVGQVVMVF9UUlVOQ19PTUlTU0lPTjtpZihpc09iamVjdChvcHRpb25zKSl7dmFyIHNlcGFyYXRvcj0ic2VwYXJhdG9yImluIG9wdGlvbnM/Cm9wdGlvbnMuc2VwYXJhdG9yOnNlcGFyYXRvcjtsZW5ndGg9Imxlbmd0aCJpbiBvcHRpb25zP3RvSW50ZWdlcihvcHRpb25zLmxlbmd0aCk6bGVuZ3RoO29taXNzaW9uPSJvbWlzc2lvbiJpbiBvcHRpb25zP2Jhc2VUb1N0cmluZyhvcHRpb25zLm9taXNzaW9uKTpvbWlzc2lvbn1zdHJpbmc9dG9TdHJpbmcoc3RyaW5nKTt2YXIgc3RyTGVuZ3RoPXN0cmluZy5sZW5ndGg7aWYoaGFzVW5pY29kZShzdHJpbmcpKXt2YXIgc3RyU3ltYm9scz1zdHJpbmdUb0FycmF5KHN0cmluZyk7c3RyTGVuZ3RoPXN0clN5bWJvbHMubGVuZ3RofWlmKGxlbmd0aD49c3RyTGVuZ3RoKXJldHVybiBzdHJpbmc7dmFyIGVuZD1sZW5ndGgtc3RyaW5nU2l6ZShvbWlzc2lvbik7aWYoZW5kPDEpcmV0dXJuIG9taXNzaW9uO3ZhciByZXN1bHQ9c3RyU3ltYm9scz9jYXN0U2xpY2Uoc3RyU3ltYm9scywwLGVuZCkuam9pbigiIik6c3RyaW5nLnNsaWNlKDAsZW5kKTtpZihzZXBhcmF0b3I9PT11bmRlZmluZWQpcmV0dXJuIHJlc3VsdCsKb21pc3Npb247aWYoc3RyU3ltYm9scyllbmQrPXJlc3VsdC5sZW5ndGgtZW5kO2lmKGlzUmVnRXhwKHNlcGFyYXRvcikpe2lmKHN0cmluZy5zbGljZShlbmQpLnNlYXJjaChzZXBhcmF0b3IpKXt2YXIgbWF0Y2gsc3Vic3RyaW5nPXJlc3VsdDtpZighc2VwYXJhdG9yLmdsb2JhbClzZXBhcmF0b3I9UmVnRXhwKHNlcGFyYXRvci5zb3VyY2UsdG9TdHJpbmcocmVGbGFncy5leGVjKHNlcGFyYXRvcikpKyJnIik7c2VwYXJhdG9yLmxhc3RJbmRleD0wO3doaWxlKG1hdGNoPXNlcGFyYXRvci5leGVjKHN1YnN0cmluZykpdmFyIG5ld0VuZD1tYXRjaC5pbmRleDtyZXN1bHQ9cmVzdWx0LnNsaWNlKDAsbmV3RW5kPT09dW5kZWZpbmVkP2VuZDpuZXdFbmQpfX1lbHNlIGlmKHN0cmluZy5pbmRleE9mKGJhc2VUb1N0cmluZyhzZXBhcmF0b3IpLGVuZCkhPWVuZCl7dmFyIGluZGV4PXJlc3VsdC5sYXN0SW5kZXhPZihzZXBhcmF0b3IpO2lmKGluZGV4Pi0xKXJlc3VsdD1yZXN1bHQuc2xpY2UoMCxpbmRleCl9cmV0dXJuIHJlc3VsdCsKb21pc3Npb259ZnVuY3Rpb24gdW5lc2NhcGUoc3RyaW5nKXtzdHJpbmc9dG9TdHJpbmcoc3RyaW5nKTtyZXR1cm4gc3RyaW5nJiZyZUhhc0VzY2FwZWRIdG1sLnRlc3Qoc3RyaW5nKT9zdHJpbmcucmVwbGFjZShyZUVzY2FwZWRIdG1sLHVuZXNjYXBlSHRtbENoYXIpOnN0cmluZ312YXIgdXBwZXJDYXNlPWNyZWF0ZUNvbXBvdW5kZXIoZnVuY3Rpb24ocmVzdWx0LHdvcmQsaW5kZXgpe3JldHVybiByZXN1bHQrKGluZGV4PyIgIjoiIikrd29yZC50b1VwcGVyQ2FzZSgpfSk7dmFyIHVwcGVyRmlyc3Q9Y3JlYXRlQ2FzZUZpcnN0KCJ0b1VwcGVyQ2FzZSIpO2Z1bmN0aW9uIHdvcmRzKHN0cmluZyxwYXR0ZXJuLGd1YXJkKXtzdHJpbmc9dG9TdHJpbmcoc3RyaW5nKTtwYXR0ZXJuPWd1YXJkP3VuZGVmaW5lZDpwYXR0ZXJuO2lmKHBhdHRlcm49PT11bmRlZmluZWQpcmV0dXJuIGhhc1VuaWNvZGVXb3JkKHN0cmluZyk/dW5pY29kZVdvcmRzKHN0cmluZyk6YXNjaWlXb3JkcyhzdHJpbmcpO3JldHVybiBzdHJpbmcubWF0Y2gocGF0dGVybil8fApbXX12YXIgYXR0ZW1wdD1iYXNlUmVzdChmdW5jdGlvbihmdW5jLGFyZ3Mpe3RyeXtyZXR1cm4gYXBwbHkoZnVuYyx1bmRlZmluZWQsYXJncyl9Y2F0Y2goZSl7cmV0dXJuIGlzRXJyb3IoZSk/ZTpuZXcgRXJyb3IoZSl9fSk7dmFyIGJpbmRBbGw9ZmxhdFJlc3QoZnVuY3Rpb24ob2JqZWN0LG1ldGhvZE5hbWVzKXthcnJheUVhY2gobWV0aG9kTmFtZXMsZnVuY3Rpb24oa2V5KXtrZXk9dG9LZXkoa2V5KTtiYXNlQXNzaWduVmFsdWUob2JqZWN0LGtleSxiaW5kKG9iamVjdFtrZXldLG9iamVjdCkpfSk7cmV0dXJuIG9iamVjdH0pO2Z1bmN0aW9uIGNvbmQocGFpcnMpe3ZhciBsZW5ndGg9cGFpcnM9PW51bGw/MDpwYWlycy5sZW5ndGgsdG9JdGVyYXRlZT1nZXRJdGVyYXRlZSgpO3BhaXJzPSFsZW5ndGg/W106YXJyYXlNYXAocGFpcnMsZnVuY3Rpb24ocGFpcil7aWYodHlwZW9mIHBhaXJbMV0hPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO3JldHVyblt0b0l0ZXJhdGVlKHBhaXJbMF0pLApwYWlyWzFdXX0pO3JldHVybiBiYXNlUmVzdChmdW5jdGlvbihhcmdzKXt2YXIgaW5kZXg9LTE7d2hpbGUoKytpbmRleDxsZW5ndGgpe3ZhciBwYWlyPXBhaXJzW2luZGV4XTtpZihhcHBseShwYWlyWzBdLHRoaXMsYXJncykpcmV0dXJuIGFwcGx5KHBhaXJbMV0sdGhpcyxhcmdzKX19KX1mdW5jdGlvbiBjb25mb3Jtcyhzb3VyY2Upe3JldHVybiBiYXNlQ29uZm9ybXMoYmFzZUNsb25lKHNvdXJjZSxDTE9ORV9ERUVQX0ZMQUcpKX1mdW5jdGlvbiBjb25zdGFudCh2YWx1ZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHZhbHVlfX1mdW5jdGlvbiBkZWZhdWx0VG8odmFsdWUsZGVmYXVsdFZhbHVlKXtyZXR1cm4gdmFsdWU9PW51bGx8fHZhbHVlIT09dmFsdWU/ZGVmYXVsdFZhbHVlOnZhbHVlfXZhciBmbG93PWNyZWF0ZUZsb3coKTt2YXIgZmxvd1JpZ2h0PWNyZWF0ZUZsb3codHJ1ZSk7ZnVuY3Rpb24gaWRlbnRpdHkodmFsdWUpe3JldHVybiB2YWx1ZX1mdW5jdGlvbiBpdGVyYXRlZShmdW5jKXtyZXR1cm4gYmFzZUl0ZXJhdGVlKHR5cGVvZiBmdW5jPT0KImZ1bmN0aW9uIj9mdW5jOmJhc2VDbG9uZShmdW5jLENMT05FX0RFRVBfRkxBRykpfWZ1bmN0aW9uIG1hdGNoZXMoc291cmNlKXtyZXR1cm4gYmFzZU1hdGNoZXMoYmFzZUNsb25lKHNvdXJjZSxDTE9ORV9ERUVQX0ZMQUcpKX1mdW5jdGlvbiBtYXRjaGVzUHJvcGVydHkocGF0aCxzcmNWYWx1ZSl7cmV0dXJuIGJhc2VNYXRjaGVzUHJvcGVydHkocGF0aCxiYXNlQ2xvbmUoc3JjVmFsdWUsQ0xPTkVfREVFUF9GTEFHKSl9dmFyIG1ldGhvZD1iYXNlUmVzdChmdW5jdGlvbihwYXRoLGFyZ3Mpe3JldHVybiBmdW5jdGlvbihvYmplY3Qpe3JldHVybiBiYXNlSW52b2tlKG9iamVjdCxwYXRoLGFyZ3MpfX0pO3ZhciBtZXRob2RPZj1iYXNlUmVzdChmdW5jdGlvbihvYmplY3QsYXJncyl7cmV0dXJuIGZ1bmN0aW9uKHBhdGgpe3JldHVybiBiYXNlSW52b2tlKG9iamVjdCxwYXRoLGFyZ3MpfX0pO2Z1bmN0aW9uIG1peGluKG9iamVjdCxzb3VyY2Usb3B0aW9ucyl7dmFyIHByb3BzPWtleXMoc291cmNlKSwKbWV0aG9kTmFtZXM9YmFzZUZ1bmN0aW9ucyhzb3VyY2UscHJvcHMpO2lmKG9wdGlvbnM9PW51bGwmJiEoaXNPYmplY3Qoc291cmNlKSYmKG1ldGhvZE5hbWVzLmxlbmd0aHx8IXByb3BzLmxlbmd0aCkpKXtvcHRpb25zPXNvdXJjZTtzb3VyY2U9b2JqZWN0O29iamVjdD10aGlzO21ldGhvZE5hbWVzPWJhc2VGdW5jdGlvbnMoc291cmNlLGtleXMoc291cmNlKSl9dmFyIGNoYWluPSEoaXNPYmplY3Qob3B0aW9ucykmJiJjaGFpbiJpbiBvcHRpb25zKXx8ISFvcHRpb25zLmNoYWluLGlzRnVuYz1pc0Z1bmN0aW9uKG9iamVjdCk7YXJyYXlFYWNoKG1ldGhvZE5hbWVzLGZ1bmN0aW9uKG1ldGhvZE5hbWUpe3ZhciBmdW5jPXNvdXJjZVttZXRob2ROYW1lXTtvYmplY3RbbWV0aG9kTmFtZV09ZnVuYztpZihpc0Z1bmMpb2JqZWN0LnByb3RvdHlwZVttZXRob2ROYW1lXT1mdW5jdGlvbigpe3ZhciBjaGFpbkFsbD10aGlzLl9fY2hhaW5fXztpZihjaGFpbnx8Y2hhaW5BbGwpe3ZhciByZXN1bHQ9Cm9iamVjdCh0aGlzLl9fd3JhcHBlZF9fKSxhY3Rpb25zPXJlc3VsdC5fX2FjdGlvbnNfXz1jb3B5QXJyYXkodGhpcy5fX2FjdGlvbnNfXyk7YWN0aW9ucy5wdXNoKHsiZnVuYyI6ZnVuYywiYXJncyI6YXJndW1lbnRzLCJ0aGlzQXJnIjpvYmplY3R9KTtyZXN1bHQuX19jaGFpbl9fPWNoYWluQWxsO3JldHVybiByZXN1bHR9cmV0dXJuIGZ1bmMuYXBwbHkob2JqZWN0LGFycmF5UHVzaChbdGhpcy52YWx1ZSgpXSxhcmd1bWVudHMpKX19KTtyZXR1cm4gb2JqZWN0fWZ1bmN0aW9uIG5vQ29uZmxpY3QoKXtpZihyb290Ll89PT10aGlzKXJvb3QuXz1vbGREYXNoO3JldHVybiB0aGlzfWZ1bmN0aW9uIG5vb3AoKXt9ZnVuY3Rpb24gbnRoQXJnKG4pe249dG9JbnRlZ2VyKG4pO3JldHVybiBiYXNlUmVzdChmdW5jdGlvbihhcmdzKXtyZXR1cm4gYmFzZU50aChhcmdzLG4pfSl9dmFyIG92ZXI9Y3JlYXRlT3ZlcihhcnJheU1hcCk7dmFyIG92ZXJFdmVyeT1jcmVhdGVPdmVyKGFycmF5RXZlcnkpOwp2YXIgb3ZlclNvbWU9Y3JlYXRlT3ZlcihhcnJheVNvbWUpO2Z1bmN0aW9uIHByb3BlcnR5KHBhdGgpe3JldHVybiBpc0tleShwYXRoKT9iYXNlUHJvcGVydHkodG9LZXkocGF0aCkpOmJhc2VQcm9wZXJ0eURlZXAocGF0aCl9ZnVuY3Rpb24gcHJvcGVydHlPZihvYmplY3Qpe3JldHVybiBmdW5jdGlvbihwYXRoKXtyZXR1cm4gb2JqZWN0PT1udWxsP3VuZGVmaW5lZDpiYXNlR2V0KG9iamVjdCxwYXRoKX19dmFyIHJhbmdlPWNyZWF0ZVJhbmdlKCk7dmFyIHJhbmdlUmlnaHQ9Y3JlYXRlUmFuZ2UodHJ1ZSk7ZnVuY3Rpb24gc3R1YkFycmF5KCl7cmV0dXJuW119ZnVuY3Rpb24gc3R1YkZhbHNlKCl7cmV0dXJuIGZhbHNlfWZ1bmN0aW9uIHN0dWJPYmplY3QoKXtyZXR1cm57fX1mdW5jdGlvbiBzdHViU3RyaW5nKCl7cmV0dXJuIiJ9ZnVuY3Rpb24gc3R1YlRydWUoKXtyZXR1cm4gdHJ1ZX1mdW5jdGlvbiB0aW1lcyhuLGl0ZXJhdGVlKXtuPXRvSW50ZWdlcihuKTtpZihuPDF8fG4+TUFYX1NBRkVfSU5URUdFUilyZXR1cm5bXTsKdmFyIGluZGV4PU1BWF9BUlJBWV9MRU5HVEgsbGVuZ3RoPW5hdGl2ZU1pbihuLE1BWF9BUlJBWV9MRU5HVEgpO2l0ZXJhdGVlPWdldEl0ZXJhdGVlKGl0ZXJhdGVlKTtuLT1NQVhfQVJSQVlfTEVOR1RIO3ZhciByZXN1bHQ9YmFzZVRpbWVzKGxlbmd0aCxpdGVyYXRlZSk7d2hpbGUoKytpbmRleDxuKWl0ZXJhdGVlKGluZGV4KTtyZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIHRvUGF0aCh2YWx1ZSl7aWYoaXNBcnJheSh2YWx1ZSkpcmV0dXJuIGFycmF5TWFwKHZhbHVlLHRvS2V5KTtyZXR1cm4gaXNTeW1ib2wodmFsdWUpP1t2YWx1ZV06Y29weUFycmF5KHN0cmluZ1RvUGF0aCh0b1N0cmluZyh2YWx1ZSkpKX1mdW5jdGlvbiB1bmlxdWVJZChwcmVmaXgpe3ZhciBpZD0rK2lkQ291bnRlcjtyZXR1cm4gdG9TdHJpbmcocHJlZml4KStpZH12YXIgYWRkPWNyZWF0ZU1hdGhPcGVyYXRpb24oZnVuY3Rpb24oYXVnZW5kLGFkZGVuZCl7cmV0dXJuIGF1Z2VuZCthZGRlbmR9LDApO3ZhciBjZWlsPWNyZWF0ZVJvdW5kKCJjZWlsIik7CnZhciBkaXZpZGU9Y3JlYXRlTWF0aE9wZXJhdGlvbihmdW5jdGlvbihkaXZpZGVuZCxkaXZpc29yKXtyZXR1cm4gZGl2aWRlbmQvZGl2aXNvcn0sMSk7dmFyIGZsb29yPWNyZWF0ZVJvdW5kKCJmbG9vciIpO2Z1bmN0aW9uIG1heChhcnJheSl7cmV0dXJuIGFycmF5JiZhcnJheS5sZW5ndGg/YmFzZUV4dHJlbXVtKGFycmF5LGlkZW50aXR5LGJhc2VHdCk6dW5kZWZpbmVkfWZ1bmN0aW9uIG1heEJ5KGFycmF5LGl0ZXJhdGVlKXtyZXR1cm4gYXJyYXkmJmFycmF5Lmxlbmd0aD9iYXNlRXh0cmVtdW0oYXJyYXksZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsMiksYmFzZUd0KTp1bmRlZmluZWR9ZnVuY3Rpb24gbWVhbihhcnJheSl7cmV0dXJuIGJhc2VNZWFuKGFycmF5LGlkZW50aXR5KX1mdW5jdGlvbiBtZWFuQnkoYXJyYXksaXRlcmF0ZWUpe3JldHVybiBiYXNlTWVhbihhcnJheSxnZXRJdGVyYXRlZShpdGVyYXRlZSwyKSl9ZnVuY3Rpb24gbWluKGFycmF5KXtyZXR1cm4gYXJyYXkmJmFycmF5Lmxlbmd0aD8KYmFzZUV4dHJlbXVtKGFycmF5LGlkZW50aXR5LGJhc2VMdCk6dW5kZWZpbmVkfWZ1bmN0aW9uIG1pbkJ5KGFycmF5LGl0ZXJhdGVlKXtyZXR1cm4gYXJyYXkmJmFycmF5Lmxlbmd0aD9iYXNlRXh0cmVtdW0oYXJyYXksZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsMiksYmFzZUx0KTp1bmRlZmluZWR9dmFyIG11bHRpcGx5PWNyZWF0ZU1hdGhPcGVyYXRpb24oZnVuY3Rpb24obXVsdGlwbGllcixtdWx0aXBsaWNhbmQpe3JldHVybiBtdWx0aXBsaWVyKm11bHRpcGxpY2FuZH0sMSk7dmFyIHJvdW5kPWNyZWF0ZVJvdW5kKCJyb3VuZCIpO3ZhciBzdWJ0cmFjdD1jcmVhdGVNYXRoT3BlcmF0aW9uKGZ1bmN0aW9uKG1pbnVlbmQsc3VidHJhaGVuZCl7cmV0dXJuIG1pbnVlbmQtc3VidHJhaGVuZH0sMCk7ZnVuY3Rpb24gc3VtKGFycmF5KXtyZXR1cm4gYXJyYXkmJmFycmF5Lmxlbmd0aD9iYXNlU3VtKGFycmF5LGlkZW50aXR5KTowfWZ1bmN0aW9uIHN1bUJ5KGFycmF5LGl0ZXJhdGVlKXtyZXR1cm4gYXJyYXkmJgphcnJheS5sZW5ndGg/YmFzZVN1bShhcnJheSxnZXRJdGVyYXRlZShpdGVyYXRlZSwyKSk6MH1sb2Rhc2guYWZ0ZXI9YWZ0ZXI7bG9kYXNoLmFyeT1hcnk7bG9kYXNoLmFzc2lnbj1hc3NpZ247bG9kYXNoLmFzc2lnbkluPWFzc2lnbkluO2xvZGFzaC5hc3NpZ25JbldpdGg9YXNzaWduSW5XaXRoO2xvZGFzaC5hc3NpZ25XaXRoPWFzc2lnbldpdGg7bG9kYXNoLmF0PWF0O2xvZGFzaC5iZWZvcmU9YmVmb3JlO2xvZGFzaC5iaW5kPWJpbmQ7bG9kYXNoLmJpbmRBbGw9YmluZEFsbDtsb2Rhc2guYmluZEtleT1iaW5kS2V5O2xvZGFzaC5jYXN0QXJyYXk9Y2FzdEFycmF5O2xvZGFzaC5jaGFpbj1jaGFpbjtsb2Rhc2guY2h1bms9Y2h1bms7bG9kYXNoLmNvbXBhY3Q9Y29tcGFjdDtsb2Rhc2guY29uY2F0PWNvbmNhdDtsb2Rhc2guY29uZD1jb25kO2xvZGFzaC5jb25mb3Jtcz1jb25mb3Jtcztsb2Rhc2guY29uc3RhbnQ9Y29uc3RhbnQ7bG9kYXNoLmNvdW50Qnk9Y291bnRCeTtsb2Rhc2guY3JlYXRlPQpjcmVhdGU7bG9kYXNoLmN1cnJ5PWN1cnJ5O2xvZGFzaC5jdXJyeVJpZ2h0PWN1cnJ5UmlnaHQ7bG9kYXNoLmRlYm91bmNlPWRlYm91bmNlO2xvZGFzaC5kZWZhdWx0cz1kZWZhdWx0cztsb2Rhc2guZGVmYXVsdHNEZWVwPWRlZmF1bHRzRGVlcDtsb2Rhc2guZGVmZXI9ZGVmZXI7bG9kYXNoLmRlbGF5PWRlbGF5O2xvZGFzaC5kaWZmZXJlbmNlPWRpZmZlcmVuY2U7bG9kYXNoLmRpZmZlcmVuY2VCeT1kaWZmZXJlbmNlQnk7bG9kYXNoLmRpZmZlcmVuY2VXaXRoPWRpZmZlcmVuY2VXaXRoO2xvZGFzaC5kcm9wPWRyb3A7bG9kYXNoLmRyb3BSaWdodD1kcm9wUmlnaHQ7bG9kYXNoLmRyb3BSaWdodFdoaWxlPWRyb3BSaWdodFdoaWxlO2xvZGFzaC5kcm9wV2hpbGU9ZHJvcFdoaWxlO2xvZGFzaC5maWxsPWZpbGw7bG9kYXNoLmZpbHRlcj1maWx0ZXI7bG9kYXNoLmZsYXRNYXA9ZmxhdE1hcDtsb2Rhc2guZmxhdE1hcERlZXA9ZmxhdE1hcERlZXA7bG9kYXNoLmZsYXRNYXBEZXB0aD1mbGF0TWFwRGVwdGg7CmxvZGFzaC5mbGF0dGVuPWZsYXR0ZW47bG9kYXNoLmZsYXR0ZW5EZWVwPWZsYXR0ZW5EZWVwO2xvZGFzaC5mbGF0dGVuRGVwdGg9ZmxhdHRlbkRlcHRoO2xvZGFzaC5mbGlwPWZsaXA7bG9kYXNoLmZsb3c9Zmxvdztsb2Rhc2guZmxvd1JpZ2h0PWZsb3dSaWdodDtsb2Rhc2guZnJvbVBhaXJzPWZyb21QYWlycztsb2Rhc2guZnVuY3Rpb25zPWZ1bmN0aW9ucztsb2Rhc2guZnVuY3Rpb25zSW49ZnVuY3Rpb25zSW47bG9kYXNoLmdyb3VwQnk9Z3JvdXBCeTtsb2Rhc2guaW5pdGlhbD1pbml0aWFsO2xvZGFzaC5pbnRlcnNlY3Rpb249aW50ZXJzZWN0aW9uO2xvZGFzaC5pbnRlcnNlY3Rpb25CeT1pbnRlcnNlY3Rpb25CeTtsb2Rhc2guaW50ZXJzZWN0aW9uV2l0aD1pbnRlcnNlY3Rpb25XaXRoO2xvZGFzaC5pbnZlcnQ9aW52ZXJ0O2xvZGFzaC5pbnZlcnRCeT1pbnZlcnRCeTtsb2Rhc2guaW52b2tlTWFwPWludm9rZU1hcDtsb2Rhc2guaXRlcmF0ZWU9aXRlcmF0ZWU7bG9kYXNoLmtleUJ5PQprZXlCeTtsb2Rhc2gua2V5cz1rZXlzO2xvZGFzaC5rZXlzSW49a2V5c0luO2xvZGFzaC5tYXA9bWFwO2xvZGFzaC5tYXBLZXlzPW1hcEtleXM7bG9kYXNoLm1hcFZhbHVlcz1tYXBWYWx1ZXM7bG9kYXNoLm1hdGNoZXM9bWF0Y2hlcztsb2Rhc2gubWF0Y2hlc1Byb3BlcnR5PW1hdGNoZXNQcm9wZXJ0eTtsb2Rhc2gubWVtb2l6ZT1tZW1vaXplO2xvZGFzaC5tZXJnZT1tZXJnZTtsb2Rhc2gubWVyZ2VXaXRoPW1lcmdlV2l0aDtsb2Rhc2gubWV0aG9kPW1ldGhvZDtsb2Rhc2gubWV0aG9kT2Y9bWV0aG9kT2Y7bG9kYXNoLm1peGluPW1peGluO2xvZGFzaC5uZWdhdGU9bmVnYXRlO2xvZGFzaC5udGhBcmc9bnRoQXJnO2xvZGFzaC5vbWl0PW9taXQ7bG9kYXNoLm9taXRCeT1vbWl0Qnk7bG9kYXNoLm9uY2U9b25jZTtsb2Rhc2gub3JkZXJCeT1vcmRlckJ5O2xvZGFzaC5vdmVyPW92ZXI7bG9kYXNoLm92ZXJBcmdzPW92ZXJBcmdzO2xvZGFzaC5vdmVyRXZlcnk9b3ZlckV2ZXJ5O2xvZGFzaC5vdmVyU29tZT0Kb3ZlclNvbWU7bG9kYXNoLnBhcnRpYWw9cGFydGlhbDtsb2Rhc2gucGFydGlhbFJpZ2h0PXBhcnRpYWxSaWdodDtsb2Rhc2gucGFydGl0aW9uPXBhcnRpdGlvbjtsb2Rhc2gucGljaz1waWNrO2xvZGFzaC5waWNrQnk9cGlja0J5O2xvZGFzaC5wcm9wZXJ0eT1wcm9wZXJ0eTtsb2Rhc2gucHJvcGVydHlPZj1wcm9wZXJ0eU9mO2xvZGFzaC5wdWxsPXB1bGw7bG9kYXNoLnB1bGxBbGw9cHVsbEFsbDtsb2Rhc2gucHVsbEFsbEJ5PXB1bGxBbGxCeTtsb2Rhc2gucHVsbEFsbFdpdGg9cHVsbEFsbFdpdGg7bG9kYXNoLnB1bGxBdD1wdWxsQXQ7bG9kYXNoLnJhbmdlPXJhbmdlO2xvZGFzaC5yYW5nZVJpZ2h0PXJhbmdlUmlnaHQ7bG9kYXNoLnJlYXJnPXJlYXJnO2xvZGFzaC5yZWplY3Q9cmVqZWN0O2xvZGFzaC5yZW1vdmU9cmVtb3ZlO2xvZGFzaC5yZXN0PXJlc3Q7bG9kYXNoLnJldmVyc2U9cmV2ZXJzZTtsb2Rhc2guc2FtcGxlU2l6ZT1zYW1wbGVTaXplO2xvZGFzaC5zZXQ9c2V0O2xvZGFzaC5zZXRXaXRoPQpzZXRXaXRoO2xvZGFzaC5zaHVmZmxlPXNodWZmbGU7bG9kYXNoLnNsaWNlPXNsaWNlO2xvZGFzaC5zb3J0Qnk9c29ydEJ5O2xvZGFzaC5zb3J0ZWRVbmlxPXNvcnRlZFVuaXE7bG9kYXNoLnNvcnRlZFVuaXFCeT1zb3J0ZWRVbmlxQnk7bG9kYXNoLnNwbGl0PXNwbGl0O2xvZGFzaC5zcHJlYWQ9c3ByZWFkO2xvZGFzaC50YWlsPXRhaWw7bG9kYXNoLnRha2U9dGFrZTtsb2Rhc2gudGFrZVJpZ2h0PXRha2VSaWdodDtsb2Rhc2gudGFrZVJpZ2h0V2hpbGU9dGFrZVJpZ2h0V2hpbGU7bG9kYXNoLnRha2VXaGlsZT10YWtlV2hpbGU7bG9kYXNoLnRhcD10YXA7bG9kYXNoLnRocm90dGxlPXRocm90dGxlO2xvZGFzaC50aHJ1PXRocnU7bG9kYXNoLnRvQXJyYXk9dG9BcnJheTtsb2Rhc2gudG9QYWlycz10b1BhaXJzO2xvZGFzaC50b1BhaXJzSW49dG9QYWlyc0luO2xvZGFzaC50b1BhdGg9dG9QYXRoO2xvZGFzaC50b1BsYWluT2JqZWN0PXRvUGxhaW5PYmplY3Q7bG9kYXNoLnRyYW5zZm9ybT0KdHJhbnNmb3JtO2xvZGFzaC51bmFyeT11bmFyeTtsb2Rhc2gudW5pb249dW5pb247bG9kYXNoLnVuaW9uQnk9dW5pb25CeTtsb2Rhc2gudW5pb25XaXRoPXVuaW9uV2l0aDtsb2Rhc2gudW5pcT11bmlxO2xvZGFzaC51bmlxQnk9dW5pcUJ5O2xvZGFzaC51bmlxV2l0aD11bmlxV2l0aDtsb2Rhc2gudW5zZXQ9dW5zZXQ7bG9kYXNoLnVuemlwPXVuemlwO2xvZGFzaC51bnppcFdpdGg9dW56aXBXaXRoO2xvZGFzaC51cGRhdGU9dXBkYXRlO2xvZGFzaC51cGRhdGVXaXRoPXVwZGF0ZVdpdGg7bG9kYXNoLnZhbHVlcz12YWx1ZXM7bG9kYXNoLnZhbHVlc0luPXZhbHVlc0luO2xvZGFzaC53aXRob3V0PXdpdGhvdXQ7bG9kYXNoLndvcmRzPXdvcmRzO2xvZGFzaC53cmFwPXdyYXA7bG9kYXNoLnhvcj14b3I7bG9kYXNoLnhvckJ5PXhvckJ5O2xvZGFzaC54b3JXaXRoPXhvcldpdGg7bG9kYXNoLnppcD16aXA7bG9kYXNoLnppcE9iamVjdD16aXBPYmplY3Q7bG9kYXNoLnppcE9iamVjdERlZXA9CnppcE9iamVjdERlZXA7bG9kYXNoLnppcFdpdGg9emlwV2l0aDtsb2Rhc2guZW50cmllcz10b1BhaXJzO2xvZGFzaC5lbnRyaWVzSW49dG9QYWlyc0luO2xvZGFzaC5leHRlbmQ9YXNzaWduSW47bG9kYXNoLmV4dGVuZFdpdGg9YXNzaWduSW5XaXRoO21peGluKGxvZGFzaCxsb2Rhc2gpO2xvZGFzaC5hZGQ9YWRkO2xvZGFzaC5hdHRlbXB0PWF0dGVtcHQ7bG9kYXNoLmNhbWVsQ2FzZT1jYW1lbENhc2U7bG9kYXNoLmNhcGl0YWxpemU9Y2FwaXRhbGl6ZTtsb2Rhc2guY2VpbD1jZWlsO2xvZGFzaC5jbGFtcD1jbGFtcDtsb2Rhc2guY2xvbmU9Y2xvbmU7bG9kYXNoLmNsb25lRGVlcD1jbG9uZURlZXA7bG9kYXNoLmNsb25lRGVlcFdpdGg9Y2xvbmVEZWVwV2l0aDtsb2Rhc2guY2xvbmVXaXRoPWNsb25lV2l0aDtsb2Rhc2guY29uZm9ybXNUbz1jb25mb3Jtc1RvO2xvZGFzaC5kZWJ1cnI9ZGVidXJyO2xvZGFzaC5kZWZhdWx0VG89ZGVmYXVsdFRvO2xvZGFzaC5kaXZpZGU9ZGl2aWRlO2xvZGFzaC5lbmRzV2l0aD0KZW5kc1dpdGg7bG9kYXNoLmVxPWVxO2xvZGFzaC5lc2NhcGU9ZXNjYXBlO2xvZGFzaC5lc2NhcGVSZWdFeHA9ZXNjYXBlUmVnRXhwO2xvZGFzaC5ldmVyeT1ldmVyeTtsb2Rhc2guZmluZD1maW5kO2xvZGFzaC5maW5kSW5kZXg9ZmluZEluZGV4O2xvZGFzaC5maW5kS2V5PWZpbmRLZXk7bG9kYXNoLmZpbmRMYXN0PWZpbmRMYXN0O2xvZGFzaC5maW5kTGFzdEluZGV4PWZpbmRMYXN0SW5kZXg7bG9kYXNoLmZpbmRMYXN0S2V5PWZpbmRMYXN0S2V5O2xvZGFzaC5mbG9vcj1mbG9vcjtsb2Rhc2guZm9yRWFjaD1mb3JFYWNoO2xvZGFzaC5mb3JFYWNoUmlnaHQ9Zm9yRWFjaFJpZ2h0O2xvZGFzaC5mb3JJbj1mb3JJbjtsb2Rhc2guZm9ySW5SaWdodD1mb3JJblJpZ2h0O2xvZGFzaC5mb3JPd249Zm9yT3duO2xvZGFzaC5mb3JPd25SaWdodD1mb3JPd25SaWdodDtsb2Rhc2guZ2V0PWdldDtsb2Rhc2guZ3Q9Z3Q7bG9kYXNoLmd0ZT1ndGU7bG9kYXNoLmhhcz1oYXM7bG9kYXNoLmhhc0luPWhhc0luOwpsb2Rhc2guaGVhZD1oZWFkO2xvZGFzaC5pZGVudGl0eT1pZGVudGl0eTtsb2Rhc2guaW5jbHVkZXM9aW5jbHVkZXM7bG9kYXNoLmluZGV4T2Y9aW5kZXhPZjtsb2Rhc2guaW5SYW5nZT1pblJhbmdlO2xvZGFzaC5pbnZva2U9aW52b2tlO2xvZGFzaC5pc0FyZ3VtZW50cz1pc0FyZ3VtZW50cztsb2Rhc2guaXNBcnJheT1pc0FycmF5O2xvZGFzaC5pc0FycmF5QnVmZmVyPWlzQXJyYXlCdWZmZXI7bG9kYXNoLmlzQXJyYXlMaWtlPWlzQXJyYXlMaWtlO2xvZGFzaC5pc0FycmF5TGlrZU9iamVjdD1pc0FycmF5TGlrZU9iamVjdDtsb2Rhc2guaXNCb29sZWFuPWlzQm9vbGVhbjtsb2Rhc2guaXNCdWZmZXI9aXNCdWZmZXI7bG9kYXNoLmlzRGF0ZT1pc0RhdGU7bG9kYXNoLmlzRWxlbWVudD1pc0VsZW1lbnQ7bG9kYXNoLmlzRW1wdHk9aXNFbXB0eTtsb2Rhc2guaXNFcXVhbD1pc0VxdWFsO2xvZGFzaC5pc0VxdWFsV2l0aD1pc0VxdWFsV2l0aDtsb2Rhc2guaXNFcnJvcj1pc0Vycm9yO2xvZGFzaC5pc0Zpbml0ZT0KaXNGaW5pdGU7bG9kYXNoLmlzRnVuY3Rpb249aXNGdW5jdGlvbjtsb2Rhc2guaXNJbnRlZ2VyPWlzSW50ZWdlcjtsb2Rhc2guaXNMZW5ndGg9aXNMZW5ndGg7bG9kYXNoLmlzTWFwPWlzTWFwO2xvZGFzaC5pc01hdGNoPWlzTWF0Y2g7bG9kYXNoLmlzTWF0Y2hXaXRoPWlzTWF0Y2hXaXRoO2xvZGFzaC5pc05hTj1pc05hTjtsb2Rhc2guaXNOYXRpdmU9aXNOYXRpdmU7bG9kYXNoLmlzTmlsPWlzTmlsO2xvZGFzaC5pc051bGw9aXNOdWxsO2xvZGFzaC5pc051bWJlcj1pc051bWJlcjtsb2Rhc2guaXNPYmplY3Q9aXNPYmplY3Q7bG9kYXNoLmlzT2JqZWN0TGlrZT1pc09iamVjdExpa2U7bG9kYXNoLmlzUGxhaW5PYmplY3Q9aXNQbGFpbk9iamVjdDtsb2Rhc2guaXNSZWdFeHA9aXNSZWdFeHA7bG9kYXNoLmlzU2FmZUludGVnZXI9aXNTYWZlSW50ZWdlcjtsb2Rhc2guaXNTZXQ9aXNTZXQ7bG9kYXNoLmlzU3RyaW5nPWlzU3RyaW5nO2xvZGFzaC5pc1N5bWJvbD1pc1N5bWJvbDtsb2Rhc2guaXNUeXBlZEFycmF5PQppc1R5cGVkQXJyYXk7bG9kYXNoLmlzVW5kZWZpbmVkPWlzVW5kZWZpbmVkO2xvZGFzaC5pc1dlYWtNYXA9aXNXZWFrTWFwO2xvZGFzaC5pc1dlYWtTZXQ9aXNXZWFrU2V0O2xvZGFzaC5qb2luPWpvaW47bG9kYXNoLmtlYmFiQ2FzZT1rZWJhYkNhc2U7bG9kYXNoLmxhc3Q9bGFzdDtsb2Rhc2gubGFzdEluZGV4T2Y9bGFzdEluZGV4T2Y7bG9kYXNoLmxvd2VyQ2FzZT1sb3dlckNhc2U7bG9kYXNoLmxvd2VyRmlyc3Q9bG93ZXJGaXJzdDtsb2Rhc2gubHQ9bHQ7bG9kYXNoLmx0ZT1sdGU7bG9kYXNoLm1heD1tYXg7bG9kYXNoLm1heEJ5PW1heEJ5O2xvZGFzaC5tZWFuPW1lYW47bG9kYXNoLm1lYW5CeT1tZWFuQnk7bG9kYXNoLm1pbj1taW47bG9kYXNoLm1pbkJ5PW1pbkJ5O2xvZGFzaC5zdHViQXJyYXk9c3R1YkFycmF5O2xvZGFzaC5zdHViRmFsc2U9c3R1YkZhbHNlO2xvZGFzaC5zdHViT2JqZWN0PXN0dWJPYmplY3Q7bG9kYXNoLnN0dWJTdHJpbmc9c3R1YlN0cmluZztsb2Rhc2guc3R1YlRydWU9CnN0dWJUcnVlO2xvZGFzaC5tdWx0aXBseT1tdWx0aXBseTtsb2Rhc2gubnRoPW50aDtsb2Rhc2gubm9Db25mbGljdD1ub0NvbmZsaWN0O2xvZGFzaC5ub29wPW5vb3A7bG9kYXNoLm5vdz1ub3c7bG9kYXNoLnBhZD1wYWQ7bG9kYXNoLnBhZEVuZD1wYWRFbmQ7bG9kYXNoLnBhZFN0YXJ0PXBhZFN0YXJ0O2xvZGFzaC5wYXJzZUludD1wYXJzZUludDtsb2Rhc2gucmFuZG9tPXJhbmRvbTtsb2Rhc2gucmVkdWNlPXJlZHVjZTtsb2Rhc2gucmVkdWNlUmlnaHQ9cmVkdWNlUmlnaHQ7bG9kYXNoLnJlcGVhdD1yZXBlYXQ7bG9kYXNoLnJlcGxhY2U9cmVwbGFjZTtsb2Rhc2gucmVzdWx0PXJlc3VsdDtsb2Rhc2gucm91bmQ9cm91bmQ7bG9kYXNoLnJ1bkluQ29udGV4dD1ydW5JbkNvbnRleHQ7bG9kYXNoLnNhbXBsZT1zYW1wbGU7bG9kYXNoLnNpemU9c2l6ZTtsb2Rhc2guc25ha2VDYXNlPXNuYWtlQ2FzZTtsb2Rhc2guc29tZT1zb21lO2xvZGFzaC5zb3J0ZWRJbmRleD1zb3J0ZWRJbmRleDtsb2Rhc2guc29ydGVkSW5kZXhCeT0Kc29ydGVkSW5kZXhCeTtsb2Rhc2guc29ydGVkSW5kZXhPZj1zb3J0ZWRJbmRleE9mO2xvZGFzaC5zb3J0ZWRMYXN0SW5kZXg9c29ydGVkTGFzdEluZGV4O2xvZGFzaC5zb3J0ZWRMYXN0SW5kZXhCeT1zb3J0ZWRMYXN0SW5kZXhCeTtsb2Rhc2guc29ydGVkTGFzdEluZGV4T2Y9c29ydGVkTGFzdEluZGV4T2Y7bG9kYXNoLnN0YXJ0Q2FzZT1zdGFydENhc2U7bG9kYXNoLnN0YXJ0c1dpdGg9c3RhcnRzV2l0aDtsb2Rhc2guc3VidHJhY3Q9c3VidHJhY3Q7bG9kYXNoLnN1bT1zdW07bG9kYXNoLnN1bUJ5PXN1bUJ5O2xvZGFzaC50ZW1wbGF0ZT10ZW1wbGF0ZTtsb2Rhc2gudGltZXM9dGltZXM7bG9kYXNoLnRvRmluaXRlPXRvRmluaXRlO2xvZGFzaC50b0ludGVnZXI9dG9JbnRlZ2VyO2xvZGFzaC50b0xlbmd0aD10b0xlbmd0aDtsb2Rhc2gudG9Mb3dlcj10b0xvd2VyO2xvZGFzaC50b051bWJlcj10b051bWJlcjtsb2Rhc2gudG9TYWZlSW50ZWdlcj10b1NhZmVJbnRlZ2VyO2xvZGFzaC50b1N0cmluZz0KdG9TdHJpbmc7bG9kYXNoLnRvVXBwZXI9dG9VcHBlcjtsb2Rhc2gudHJpbT10cmltO2xvZGFzaC50cmltRW5kPXRyaW1FbmQ7bG9kYXNoLnRyaW1TdGFydD10cmltU3RhcnQ7bG9kYXNoLnRydW5jYXRlPXRydW5jYXRlO2xvZGFzaC51bmVzY2FwZT11bmVzY2FwZTtsb2Rhc2gudW5pcXVlSWQ9dW5pcXVlSWQ7bG9kYXNoLnVwcGVyQ2FzZT11cHBlckNhc2U7bG9kYXNoLnVwcGVyRmlyc3Q9dXBwZXJGaXJzdDtsb2Rhc2guZWFjaD1mb3JFYWNoO2xvZGFzaC5lYWNoUmlnaHQ9Zm9yRWFjaFJpZ2h0O2xvZGFzaC5maXJzdD1oZWFkO21peGluKGxvZGFzaCxmdW5jdGlvbigpe3ZhciBzb3VyY2U9e307YmFzZUZvck93bihsb2Rhc2gsZnVuY3Rpb24oZnVuYyxtZXRob2ROYW1lKXtpZighaGFzT3duUHJvcGVydHkuY2FsbChsb2Rhc2gucHJvdG90eXBlLG1ldGhvZE5hbWUpKXNvdXJjZVttZXRob2ROYW1lXT1mdW5jfSk7cmV0dXJuIHNvdXJjZX0oKSx7ImNoYWluIjpmYWxzZX0pO2xvZGFzaC5WRVJTSU9OPQpWRVJTSU9OO2FycmF5RWFjaChbImJpbmQiLCJiaW5kS2V5IiwiY3VycnkiLCJjdXJyeVJpZ2h0IiwicGFydGlhbCIsInBhcnRpYWxSaWdodCJdLGZ1bmN0aW9uKG1ldGhvZE5hbWUpe2xvZGFzaFttZXRob2ROYW1lXS5wbGFjZWhvbGRlcj1sb2Rhc2h9KTthcnJheUVhY2goWyJkcm9wIiwidGFrZSJdLGZ1bmN0aW9uKG1ldGhvZE5hbWUsaW5kZXgpe0xhenlXcmFwcGVyLnByb3RvdHlwZVttZXRob2ROYW1lXT1mdW5jdGlvbihuKXtuPW49PT11bmRlZmluZWQ/MTpuYXRpdmVNYXgodG9JbnRlZ2VyKG4pLDApO3ZhciByZXN1bHQ9dGhpcy5fX2ZpbHRlcmVkX18mJiFpbmRleD9uZXcgTGF6eVdyYXBwZXIodGhpcyk6dGhpcy5jbG9uZSgpO2lmKHJlc3VsdC5fX2ZpbHRlcmVkX18pcmVzdWx0Ll9fdGFrZUNvdW50X189bmF0aXZlTWluKG4scmVzdWx0Ll9fdGFrZUNvdW50X18pO2Vsc2UgcmVzdWx0Ll9fdmlld3NfXy5wdXNoKHsic2l6ZSI6bmF0aXZlTWluKG4sTUFYX0FSUkFZX0xFTkdUSCksCiJ0eXBlIjptZXRob2ROYW1lKyhyZXN1bHQuX19kaXJfXzwwPyJSaWdodCI6IiIpfSk7cmV0dXJuIHJlc3VsdH07TGF6eVdyYXBwZXIucHJvdG90eXBlW21ldGhvZE5hbWUrIlJpZ2h0Il09ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMucmV2ZXJzZSgpW21ldGhvZE5hbWVdKG4pLnJldmVyc2UoKX19KTthcnJheUVhY2goWyJmaWx0ZXIiLCJtYXAiLCJ0YWtlV2hpbGUiXSxmdW5jdGlvbihtZXRob2ROYW1lLGluZGV4KXt2YXIgdHlwZT1pbmRleCsxLGlzRmlsdGVyPXR5cGU9PUxBWllfRklMVEVSX0ZMQUd8fHR5cGU9PUxBWllfV0hJTEVfRkxBRztMYXp5V3JhcHBlci5wcm90b3R5cGVbbWV0aG9kTmFtZV09ZnVuY3Rpb24oaXRlcmF0ZWUpe3ZhciByZXN1bHQ9dGhpcy5jbG9uZSgpO3Jlc3VsdC5fX2l0ZXJhdGVlc19fLnB1c2goeyJpdGVyYXRlZSI6Z2V0SXRlcmF0ZWUoaXRlcmF0ZWUsMyksInR5cGUiOnR5cGV9KTtyZXN1bHQuX19maWx0ZXJlZF9fPXJlc3VsdC5fX2ZpbHRlcmVkX198fAppc0ZpbHRlcjtyZXR1cm4gcmVzdWx0fX0pO2FycmF5RWFjaChbImhlYWQiLCJsYXN0Il0sZnVuY3Rpb24obWV0aG9kTmFtZSxpbmRleCl7dmFyIHRha2VOYW1lPSJ0YWtlIisoaW5kZXg/IlJpZ2h0IjoiIik7TGF6eVdyYXBwZXIucHJvdG90eXBlW21ldGhvZE5hbWVdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbdGFrZU5hbWVdKDEpLnZhbHVlKClbMF19fSk7YXJyYXlFYWNoKFsiaW5pdGlhbCIsInRhaWwiXSxmdW5jdGlvbihtZXRob2ROYW1lLGluZGV4KXt2YXIgZHJvcE5hbWU9ImRyb3AiKyhpbmRleD8iIjoiUmlnaHQiKTtMYXp5V3JhcHBlci5wcm90b3R5cGVbbWV0aG9kTmFtZV09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fX2ZpbHRlcmVkX18/bmV3IExhenlXcmFwcGVyKHRoaXMpOnRoaXNbZHJvcE5hbWVdKDEpfX0pO0xhenlXcmFwcGVyLnByb3RvdHlwZS5jb21wYWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlsdGVyKGlkZW50aXR5KX07TGF6eVdyYXBwZXIucHJvdG90eXBlLmZpbmQ9CmZ1bmN0aW9uKHByZWRpY2F0ZSl7cmV0dXJuIHRoaXMuZmlsdGVyKHByZWRpY2F0ZSkuaGVhZCgpfTtMYXp5V3JhcHBlci5wcm90b3R5cGUuZmluZExhc3Q9ZnVuY3Rpb24ocHJlZGljYXRlKXtyZXR1cm4gdGhpcy5yZXZlcnNlKCkuZmluZChwcmVkaWNhdGUpfTtMYXp5V3JhcHBlci5wcm90b3R5cGUuaW52b2tlTWFwPWJhc2VSZXN0KGZ1bmN0aW9uKHBhdGgsYXJncyl7aWYodHlwZW9mIHBhdGg9PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBMYXp5V3JhcHBlcih0aGlzKTtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24odmFsdWUpe3JldHVybiBiYXNlSW52b2tlKHZhbHVlLHBhdGgsYXJncyl9KX0pO0xhenlXcmFwcGVyLnByb3RvdHlwZS5yZWplY3Q9ZnVuY3Rpb24ocHJlZGljYXRlKXtyZXR1cm4gdGhpcy5maWx0ZXIobmVnYXRlKGdldEl0ZXJhdGVlKHByZWRpY2F0ZSkpKX07TGF6eVdyYXBwZXIucHJvdG90eXBlLnNsaWNlPWZ1bmN0aW9uKHN0YXJ0LGVuZCl7c3RhcnQ9dG9JbnRlZ2VyKHN0YXJ0KTsKdmFyIHJlc3VsdD10aGlzO2lmKHJlc3VsdC5fX2ZpbHRlcmVkX18mJihzdGFydD4wfHxlbmQ8MCkpcmV0dXJuIG5ldyBMYXp5V3JhcHBlcihyZXN1bHQpO2lmKHN0YXJ0PDApcmVzdWx0PXJlc3VsdC50YWtlUmlnaHQoLXN0YXJ0KTtlbHNlIGlmKHN0YXJ0KXJlc3VsdD1yZXN1bHQuZHJvcChzdGFydCk7aWYoZW5kIT09dW5kZWZpbmVkKXtlbmQ9dG9JbnRlZ2VyKGVuZCk7cmVzdWx0PWVuZDwwP3Jlc3VsdC5kcm9wUmlnaHQoLWVuZCk6cmVzdWx0LnRha2UoZW5kLXN0YXJ0KX1yZXR1cm4gcmVzdWx0fTtMYXp5V3JhcHBlci5wcm90b3R5cGUudGFrZVJpZ2h0V2hpbGU9ZnVuY3Rpb24ocHJlZGljYXRlKXtyZXR1cm4gdGhpcy5yZXZlcnNlKCkudGFrZVdoaWxlKHByZWRpY2F0ZSkucmV2ZXJzZSgpfTtMYXp5V3JhcHBlci5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRha2UoTUFYX0FSUkFZX0xFTkdUSCl9O2Jhc2VGb3JPd24oTGF6eVdyYXBwZXIucHJvdG90eXBlLApmdW5jdGlvbihmdW5jLG1ldGhvZE5hbWUpe3ZhciBjaGVja0l0ZXJhdGVlPS9eKD86ZmlsdGVyfGZpbmR8bWFwfHJlamVjdCl8V2hpbGUkLy50ZXN0KG1ldGhvZE5hbWUpLGlzVGFrZXI9L14oPzpoZWFkfGxhc3QpJC8udGVzdChtZXRob2ROYW1lKSxsb2Rhc2hGdW5jPWxvZGFzaFtpc1Rha2VyPyJ0YWtlIisobWV0aG9kTmFtZT09Imxhc3QiPyJSaWdodCI6IiIpOm1ldGhvZE5hbWVdLHJldFVud3JhcHBlZD1pc1Rha2VyfHwvXmZpbmQvLnRlc3QobWV0aG9kTmFtZSk7aWYoIWxvZGFzaEZ1bmMpcmV0dXJuO2xvZGFzaC5wcm90b3R5cGVbbWV0aG9kTmFtZV09ZnVuY3Rpb24oKXt2YXIgdmFsdWU9dGhpcy5fX3dyYXBwZWRfXyxhcmdzPWlzVGFrZXI/WzFdOmFyZ3VtZW50cyxpc0xhenk9dmFsdWUgaW5zdGFuY2VvZiBMYXp5V3JhcHBlcixpdGVyYXRlZT1hcmdzWzBdLHVzZUxhenk9aXNMYXp5fHxpc0FycmF5KHZhbHVlKTt2YXIgaW50ZXJjZXB0b3I9ZnVuY3Rpb24odmFsdWUpe3ZhciByZXN1bHQ9CmxvZGFzaEZ1bmMuYXBwbHkobG9kYXNoLGFycmF5UHVzaChbdmFsdWVdLGFyZ3MpKTtyZXR1cm4gaXNUYWtlciYmY2hhaW5BbGw/cmVzdWx0WzBdOnJlc3VsdH07aWYodXNlTGF6eSYmY2hlY2tJdGVyYXRlZSYmdHlwZW9mIGl0ZXJhdGVlPT0iZnVuY3Rpb24iJiZpdGVyYXRlZS5sZW5ndGghPTEpaXNMYXp5PXVzZUxhenk9ZmFsc2U7dmFyIGNoYWluQWxsPXRoaXMuX19jaGFpbl9fLGlzSHlicmlkPSEhdGhpcy5fX2FjdGlvbnNfXy5sZW5ndGgsaXNVbndyYXBwZWQ9cmV0VW53cmFwcGVkJiYhY2hhaW5BbGwsb25seUxhenk9aXNMYXp5JiYhaXNIeWJyaWQ7aWYoIXJldFVud3JhcHBlZCYmdXNlTGF6eSl7dmFsdWU9b25seUxhenk/dmFsdWU6bmV3IExhenlXcmFwcGVyKHRoaXMpO3ZhciByZXN1bHQ9ZnVuYy5hcHBseSh2YWx1ZSxhcmdzKTtyZXN1bHQuX19hY3Rpb25zX18ucHVzaCh7ImZ1bmMiOnRocnUsImFyZ3MiOltpbnRlcmNlcHRvcl0sInRoaXNBcmciOnVuZGVmaW5lZH0pO3JldHVybiBuZXcgTG9kYXNoV3JhcHBlcihyZXN1bHQsCmNoYWluQWxsKX1pZihpc1Vud3JhcHBlZCYmb25seUxhenkpcmV0dXJuIGZ1bmMuYXBwbHkodGhpcyxhcmdzKTtyZXN1bHQ9dGhpcy50aHJ1KGludGVyY2VwdG9yKTtyZXR1cm4gaXNVbndyYXBwZWQ/aXNUYWtlcj9yZXN1bHQudmFsdWUoKVswXTpyZXN1bHQudmFsdWUoKTpyZXN1bHR9fSk7YXJyYXlFYWNoKFsicG9wIiwicHVzaCIsInNoaWZ0Iiwic29ydCIsInNwbGljZSIsInVuc2hpZnQiXSxmdW5jdGlvbihtZXRob2ROYW1lKXt2YXIgZnVuYz1hcnJheVByb3RvW21ldGhvZE5hbWVdLGNoYWluTmFtZT0vXig/OnB1c2h8c29ydHx1bnNoaWZ0KSQvLnRlc3QobWV0aG9kTmFtZSk/InRhcCI6InRocnUiLHJldFVud3JhcHBlZD0vXig/OnBvcHxzaGlmdCkkLy50ZXN0KG1ldGhvZE5hbWUpO2xvZGFzaC5wcm90b3R5cGVbbWV0aG9kTmFtZV09ZnVuY3Rpb24oKXt2YXIgYXJncz1hcmd1bWVudHM7aWYocmV0VW53cmFwcGVkJiYhdGhpcy5fX2NoYWluX18pe3ZhciB2YWx1ZT10aGlzLnZhbHVlKCk7CnJldHVybiBmdW5jLmFwcGx5KGlzQXJyYXkodmFsdWUpP3ZhbHVlOltdLGFyZ3MpfXJldHVybiB0aGlzW2NoYWluTmFtZV0oZnVuY3Rpb24odmFsdWUpe3JldHVybiBmdW5jLmFwcGx5KGlzQXJyYXkodmFsdWUpP3ZhbHVlOltdLGFyZ3MpfSl9fSk7YmFzZUZvck93bihMYXp5V3JhcHBlci5wcm90b3R5cGUsZnVuY3Rpb24oZnVuYyxtZXRob2ROYW1lKXt2YXIgbG9kYXNoRnVuYz1sb2Rhc2hbbWV0aG9kTmFtZV07aWYobG9kYXNoRnVuYyl7dmFyIGtleT1sb2Rhc2hGdW5jLm5hbWUrIiIsbmFtZXM9cmVhbE5hbWVzW2tleV18fChyZWFsTmFtZXNba2V5XT1bXSk7bmFtZXMucHVzaCh7Im5hbWUiOm1ldGhvZE5hbWUsImZ1bmMiOmxvZGFzaEZ1bmN9KX19KTtyZWFsTmFtZXNbY3JlYXRlSHlicmlkKHVuZGVmaW5lZCxXUkFQX0JJTkRfS0VZX0ZMQUcpLm5hbWVdPVt7Im5hbWUiOiJ3cmFwcGVyIiwiZnVuYyI6dW5kZWZpbmVkfV07TGF6eVdyYXBwZXIucHJvdG90eXBlLmNsb25lPWxhenlDbG9uZTsKTGF6eVdyYXBwZXIucHJvdG90eXBlLnJldmVyc2U9bGF6eVJldmVyc2U7TGF6eVdyYXBwZXIucHJvdG90eXBlLnZhbHVlPWxhenlWYWx1ZTtsb2Rhc2gucHJvdG90eXBlLmF0PXdyYXBwZXJBdDtsb2Rhc2gucHJvdG90eXBlLmNoYWluPXdyYXBwZXJDaGFpbjtsb2Rhc2gucHJvdG90eXBlLmNvbW1pdD13cmFwcGVyQ29tbWl0O2xvZGFzaC5wcm90b3R5cGUubmV4dD13cmFwcGVyTmV4dDtsb2Rhc2gucHJvdG90eXBlLnBsYW50PXdyYXBwZXJQbGFudDtsb2Rhc2gucHJvdG90eXBlLnJldmVyc2U9d3JhcHBlclJldmVyc2U7bG9kYXNoLnByb3RvdHlwZS50b0pTT049bG9kYXNoLnByb3RvdHlwZS52YWx1ZU9mPWxvZGFzaC5wcm90b3R5cGUudmFsdWU9d3JhcHBlclZhbHVlO2xvZGFzaC5wcm90b3R5cGUuZmlyc3Q9bG9kYXNoLnByb3RvdHlwZS5oZWFkO2lmKHN5bUl0ZXJhdG9yKWxvZGFzaC5wcm90b3R5cGVbc3ltSXRlcmF0b3JdPXdyYXBwZXJUb0l0ZXJhdG9yO3JldHVybiBsb2Rhc2h9Owp2YXIgXz1ydW5JbkNvbnRleHQoKTtpZih0eXBlb2YgZGVmaW5lPT0iZnVuY3Rpb24iJiZ0eXBlb2YgZGVmaW5lLmFtZD09Im9iamVjdCImJmRlZmluZS5hbWQpe3Jvb3QuXz1fO2RlZmluZShmdW5jdGlvbigpe3JldHVybiBffSl9ZWxzZSBpZihmcmVlTW9kdWxlKXsoZnJlZU1vZHVsZS5leHBvcnRzPV8pLl89XztmcmVlRXhwb3J0cy5fPV99ZWxzZSByb290Ll89X30pLmNhbGwodGhpcyk7Ci8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92ei1zb3J0aW5nL3NvcnRpbmcuanMKdmFyIGFjOwooZnVuY3Rpb24oYil7ZnVuY3Rpb24gZChrLHIpe2xldCBsOyhmdW5jdGlvbihtKXttW20uTkFUVVJBTD0wXT0iTkFUVVJBTCI7bVttLlJFQUw9MV09IlJFQUwiO21bbS5FWFBPTkVOVF9TSUdOPTJdPSJFWFBPTkVOVF9TSUdOIjttW20uRVhQT05FTlQ9M109IkVYUE9ORU5UIn0pKGx8fChsPXt9KSk7bGV0IHA9bC5OQVRVUkFMO2Zvcig7cjxrLmxlbmd0aDtyKyspaWYocD09PWwuTkFUVVJBTClpZigiLiI9PT1rW3JdKXA9bC5SRUFMO2Vsc2UgaWYoImUiPT09a1tyXXx8IkUiPT09a1tyXSlwPWwuRVhQT05FTlRfU0lHTjtlbHNle2lmKCFmKGtbcl0pKWJyZWFrfWVsc2UgaWYocD09PWwuUkVBTClpZigiZSI9PT1rW3JdfHwiRSI9PT1rW3JdKXA9bC5FWFBPTkVOVF9TSUdOO2Vsc2V7aWYoIWYoa1tyXSkpYnJlYWt9ZWxzZSBpZihwPT09bC5FWFBPTkVOVF9TSUdOKWlmKGYoa1tyXSl8fCIrIj09PWtbcl18fCItIj09PWtbcl0pcD1sLkVYUE9ORU5UO2Vsc2UgYnJlYWs7ZWxzZSBpZihwPT09bC5FWFBPTkVOVCYmCiFmKGtbcl0pKWJyZWFrO3JldHVybiByfWZ1bmN0aW9uIGYoayl7cmV0dXJuIjAiPD1rJiYiOSI+PWt9ZnVuY3Rpb24gaChrKXtyZXR1cm4iLyI9PT1rfHwiXyI9PT1rfHxmKGspfWIuY29tcGFyZVRhZ05hbWVzPWZ1bmN0aW9uKGsscil7bGV0IGw9MCxwPTA7Zm9yKDs7KXtpZihsPT09ay5sZW5ndGgpcmV0dXJuIHA9PT1yLmxlbmd0aD8wOi0xO2lmKHA9PT1yLmxlbmd0aClyZXR1cm4gMTtpZihmKGtbbF0pJiZmKHJbcF0pKXt2YXIgbT1sLG49cDtsPWQoayxsKzEpO3A9ZChyLHArMSk7bT1wYXJzZUZsb2F0KGsuc2xpY2UobSxsKSk7bj1wYXJzZUZsb2F0KHIuc2xpY2UobixwKSk7aWYobTxuKXJldHVybi0xO2lmKG0+bilyZXR1cm4gMX1lbHNle2lmKGgoa1tsXSkpe2lmKCFoKHJbcF0pKXJldHVybi0xfWVsc2V7aWYoaChyW3BdKSlyZXR1cm4gMTtpZihrW2xdPHJbcF0pcmV0dXJuLTE7aWYoa1tsXT5yW3BdKXJldHVybiAxfWwrKztwKyt9fX19KShhY3x8KGFjPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtYmFja2VuZC9yZXF1ZXN0TWFuYWdlci5qcwp2YXIgZGM7CihmdW5jdGlvbihiKXtmdW5jdGlvbiBkKHEsdSx3LEEpe2NvbnN0IHk9bmV3IFhNTEh0dHBSZXF1ZXN0O3kub3BlbihxLHUpO3cmJih5LndpdGhDcmVkZW50aWFscz13KTtBJiZ5LnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsQSk7cmV0dXJuIHl9ZnVuY3Rpb24gZihxKXtjb25zdCB1PW5ldyBtO2lmKCFxKXJldHVybiB1Lm1ldGhvZFR5cGU9cC5HRVQsdTt1Lm1ldGhvZFR5cGU9cC5QT1NUO3UuYm9keT1oKHEpO3JldHVybiB1fWZ1bmN0aW9uIGgocSl7Y29uc3QgdT1uZXcgRm9ybURhdGE7Zm9yKGxldCB3IGluIHEpdyYmdS5hcHBlbmQodyxxW3ddKTtyZXR1cm4gdX1jbGFzcyBrIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMubmFtZT0iUmVxdWVzdENhbmNlbGxhdGlvbkVycm9yIn19Yi5SZXF1ZXN0Q2FuY2VsbGF0aW9uRXJyb3I9aztjbGFzcyByIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IocSl7c3VwZXIocSk7dGhpcy5uYW1lPQoiSW52YWxpZFJlcXVlc3RPcHRpb25zRXJyb3IiO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLHIucHJvdG90eXBlKX19Yi5JbnZhbGlkUmVxdWVzdE9wdGlvbnNFcnJvcj1yO2NsYXNzIGwgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihxLHUpe3N1cGVyKCk7dGhpcy5tZXNzYWdlPWBSZXF1ZXN0TmV0d29ya0Vycm9yOiAke3Euc3RhdHVzfSBhdCAke3V9YDt0aGlzLm5hbWU9IlJlcXVlc3ROZXR3b3JrRXJyb3IiO3RoaXMucmVxPXE7dGhpcy51cmw9dX19Yi5SZXF1ZXN0TmV0d29ya0Vycm9yPWw7bGV0IHA7KGZ1bmN0aW9uKHEpe3EuR0VUPSJHRVQiO3EuUE9TVD0iUE9TVCJ9KShwPWIuSHR0cE1ldGhvZFR5cGV8fChiLkh0dHBNZXRob2RUeXBlPXt9KSk7Y2xhc3MgbXt2YWxpZGF0ZSgpe2lmKHRoaXMubWV0aG9kVHlwZT09PXAuR0VUJiZ0aGlzLmJvZHkpdGhyb3cgbmV3IHIoImJvZHkgbXVzdCBiZSBtaXNzaW5nIGZvciBhIEdFVCByZXF1ZXN0LiIpO319Yi5SZXF1ZXN0T3B0aW9ucz0KbTtjbGFzcyBue2NvbnN0cnVjdG9yKHE9MUUzLHU9Myl7dGhpcy5fcXVldWU9W107dGhpcy5fbkFjdGl2ZVJlcXVlc3RzPTA7dGhpcy5fblNpbXVsdGFuZW91c1JlcXVlc3RzPXE7dGhpcy5fbWF4UmV0cmllcz11fXJlcXVlc3QocSx1KXt1PWYodSk7cmV0dXJuIHRoaXMucmVxdWVzdFdpdGhPcHRpb25zKHEsdSl9cmVxdWVzdFdpdGhPcHRpb25zKHEsdSl7dS52YWxpZGF0ZSgpO3JldHVybihuZXcgUHJvbWlzZSgodyxBKT0+e3RoaXMuX3F1ZXVlLnB1c2goe3Jlc29sdmU6dyxyZWplY3Q6QX0pO3RoaXMubGF1bmNoUmVxdWVzdHMoKX0pKS50aGVuKCgpPT50aGlzLnByb21pc2VXaXRoUmV0cmllcyhxLHRoaXMuX21heFJldHJpZXMsdSkpLnRoZW4odz0+e3RoaXMuX25BY3RpdmVSZXF1ZXN0cy0tO3RoaXMubGF1bmNoUmVxdWVzdHMoKTtyZXR1cm4gd30sdz0+eyJSZXF1ZXN0TmV0d29ya0Vycm9yIj09PXcubmFtZSYmKHRoaXMuX25BY3RpdmVSZXF1ZXN0cy0tLHRoaXMubGF1bmNoUmVxdWVzdHMoKSk7CnJldHVybiBQcm9taXNlLnJlamVjdCh3KX0pfWZldGNoKHEsdSl7cmV0dXJuKG5ldyBQcm9taXNlKCh3LEEpPT57dGhpcy5fcXVldWUucHVzaCh7cmVzb2x2ZTp3LHJlamVjdDpBfSk7dGhpcy5sYXVuY2hSZXF1ZXN0cygpfSkpLnRoZW4oKCk9PntsZXQgdz0xO3JldHVybiBuZXcgUHJvbWlzZShBPT57Y29uc3QgeT0oKT0+e2ZldGNoKHEsdSkudGhlbih4PT57IXgub2smJnRoaXMuX21heFJldHJpZXM+dz8odysrLHkoKSk6KEEoeCksdGhpcy5fbkFjdGl2ZVJlcXVlc3RzLS0sdGhpcy5sYXVuY2hSZXF1ZXN0cygpKX0pfTt5KCl9KX0pfWNsZWFyUXVldWUoKXtmb3IoOzA8dGhpcy5fcXVldWUubGVuZ3RoOyl0aGlzLl9xdWV1ZS5wb3AoKS5yZWplY3QobmV3IGsoIlJlcXVlc3QgY2FuY2VsbGVkIGJ5IGNsZWFyUXVldWUiKSl9YWN0aXZlUmVxdWVzdHMoKXtyZXR1cm4gdGhpcy5fbkFjdGl2ZVJlcXVlc3RzfW91dHN0YW5kaW5nUmVxdWVzdHMoKXtyZXR1cm4gdGhpcy5fbkFjdGl2ZVJlcXVlc3RzKwp0aGlzLl9xdWV1ZS5sZW5ndGh9bGF1bmNoUmVxdWVzdHMoKXtmb3IoO3RoaXMuX25BY3RpdmVSZXF1ZXN0czx0aGlzLl9uU2ltdWx0YW5lb3VzUmVxdWVzdHMmJjA8dGhpcy5fcXVldWUubGVuZ3RoOyl0aGlzLl9uQWN0aXZlUmVxdWVzdHMrKyx0aGlzLl9xdWV1ZS5wb3AoKS5yZXNvbHZlKCl9cHJvbWlzZVdpdGhSZXRyaWVzKHEsdSx3KXtyZXR1cm4gdGhpcy5fcHJvbWlzZUZyb21VcmwocSx3KS50aGVuKEE9PkEsQT0+MDx1P3RoaXMucHJvbWlzZVdpdGhSZXRyaWVzKHEsdS0xLHcpOlByb21pc2UucmVqZWN0KEEpKX1fcHJvbWlzZUZyb21VcmwocSx1KXtyZXR1cm4gbmV3IFByb21pc2UoKHcsQSk9Pntjb25zdCB5PWQodS5tZXRob2RUeXBlLHEsdS53aXRoQ3JlZGVudGlhbHMsdS5jb250ZW50VHlwZSk7eS5vbmxvYWQ9ZnVuY3Rpb24oKXsyMDA9PT15LnN0YXR1cz93KEpTT04ucGFyc2UoeS5yZXNwb25zZVRleHQpKTpBKG5ldyBsKHkscSkpfTt5Lm9uZXJyb3I9ZnVuY3Rpb24oKXtBKG5ldyBsKHksCnEpKX07dS5ib2R5P3kuc2VuZCh1LmJvZHkpOnkuc2VuZCgpfSl9fWIuUmVxdWVzdE1hbmFnZXI9bn0pKGRjfHwoZGM9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1iYWNrZW5kL3VybFBhdGhIZWxwZXJzLmpzCihmdW5jdGlvbihiKXtmdW5jdGlvbiBkKGYpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoZikucmVwbGFjZSgvXCgvZywiJTI4IikucmVwbGFjZSgvXCkvZywiJTI5Iil9Yi5hZGRQYXJhbXM9ZnVuY3Rpb24oZixoKXt2YXIgaz1PYmplY3Qua2V5cyhoKS5zb3J0KCkuZmlsdGVyKGw9PnZvaWQgMCE9PWhbbF0pO2lmKCFrLmxlbmd0aClyZXR1cm4gZjtjb25zdCByPS0xIT09Zi5pbmRleE9mKCI/Iik/Ilx4MjYiOiI/IjtrPVtdLmNvbmNhdCguLi5rLm1hcChsPT57Y29uc3QgcD1oW2xdO3JldHVybihBcnJheS5pc0FycmF5KHApP3A6W3BdKS5tYXAobT0+YCR7bH09JHtkKG0pfWApfSkpLmpvaW4oIlx4MjYiKTtyZXR1cm4gZityK2t9fSkoZGN8fChkYz17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWJhY2tlbmQvcm91dGVyLmpzCihmdW5jdGlvbihiKXtmdW5jdGlvbiBkKHI9ImRhdGEiLGw9bmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKSl7Ii8iPT09cltyLmxlbmd0aC0xXSYmKHI9ci5zbGljZSgwLHIubGVuZ3RoLTEpKTtyZXR1cm57ZW52aXJvbm1lbnQ6KCk9PmYociwiL2Vudmlyb25tZW50IiksZXhwZXJpbWVudHM6KCk9PmYociwiL2V4cGVyaW1lbnRzIikscGx1Z2luUm91dGU6KHAsbSxuKT0+ZihyKyIvcGx1Z2luIixgLyR7cH0ke219YCxuKSxwbHVnaW5zTGlzdGluZzooKT0+ZihyLCIvcGx1Z2luc19saXN0aW5nIixoKHtbImV4cGVyaW1lbnRhbFBsdWdpbiJdOmwuZ2V0QWxsKCJleHBlcmltZW50YWxQbHVnaW4iKX0pKSxydW5zOigpPT5mKHIsIi9ydW5zIikscnVuc0ZvckV4cGVyaW1lbnQ6cD0+ZihyLCIvZXhwZXJpbWVudF9ydW5zIixoKHtleHBlcmltZW50OlN0cmluZyhwKX0pKX19ZnVuY3Rpb24gZihyLGwscD1uZXcgVVJMU2VhcmNoUGFyYW1zKXtyKz1sO1N0cmluZyhwKSYmCihsPWwuaW5jbHVkZXMoIj8iKT8iXHgyNiI6Ij8iLHIrPWwrU3RyaW5nKHApKTtyZXR1cm4gcn1mdW5jdGlvbiBoKHI9e30pe2NvbnN0IGw9T2JqZWN0LmtleXMocikuc29ydCgpLmZpbHRlcihtPT5yW21dKSxwPW5ldyBVUkxTZWFyY2hQYXJhbXM7bC5mb3JFYWNoKG09Pntjb25zdCBuPXJbbV07KEFycmF5LmlzQXJyYXkobik/bjpbbl0pLmZvckVhY2gocT0+cC5hcHBlbmQobSxxKSl9KTtyZXR1cm4gcH1sZXQgaz1kKCk7Yi5jcmVhdGVSb3V0ZXI9ZDtiLmdldFJvdXRlcj1mdW5jdGlvbigpe3JldHVybiBrfTtiLnNldFJvdXRlcj1mdW5jdGlvbihyKXtpZihudWxsPT1yKXRocm93IEVycm9yKCJSb3V0ZXIgcmVxdWlyZWQsIGJ1dCBnb3Q6ICIrcik7az1yfTtiLmNyZWF0ZVNlYXJjaFBhcmFtPWh9KShkY3x8KGRjPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtYmFja2VuZC9iYXNlU3RvcmUuanMKKGZ1bmN0aW9uKGIpe2NsYXNzIGR7Y29uc3RydWN0b3IoaCl7dGhpcy5saXN0ZW5lcj1ofX1iLkxpc3RlbktleT1kO2NsYXNzIGZ7Y29uc3RydWN0b3IoKXt0aGlzLnJlcXVlc3RNYW5hZ2VyPW5ldyBiLlJlcXVlc3RNYW5hZ2VyKDEpO3RoaXMuX2xpc3RlbmVycz1uZXcgU2V0O3RoaXMuaW5pdGlhbGl6ZWQ9ITF9cmVmcmVzaCgpe3JldHVybiB0aGlzLmxvYWQoKS50aGVuKCgpPT57dGhpcy5pbml0aWFsaXplZD0hMH0pfWFkZExpc3RlbmVyKGgpe2g9bmV3IGQoaCk7dGhpcy5fbGlzdGVuZXJzLmFkZChoKTtyZXR1cm4gaH1yZW1vdmVMaXN0ZW5lckJ5S2V5KGgpe3RoaXMuX2xpc3RlbmVycy5kZWxldGUoaCl9ZW1pdENoYW5nZSgpe3RoaXMuX2xpc3RlbmVycy5mb3JFYWNoKGg9Pnt0cnl7aC5saXN0ZW5lcigpfWNhdGNoKGspe319KX19Yi5CYXNlU3RvcmU9Zn0pKGRjfHwoZGM9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1iYWNrZW5kL2Vudmlyb25tZW50U3RvcmUuanMKKGZ1bmN0aW9uKGIpe2NsYXNzIGQgZXh0ZW5kcyBiLkJhc2VTdG9yZXtsb2FkKCl7Y29uc3QgZj1iLmdldFJvdXRlcigpLmVudmlyb25tZW50KCk7cmV0dXJuIHRoaXMucmVxdWVzdE1hbmFnZXIucmVxdWVzdChmKS50aGVuKGg9Pntjb25zdCBrPXtkYXRhTG9jYXRpb246aC5kYXRhX2xvY2F0aW9uLHdpbmRvd1RpdGxlOmgud2luZG93X3RpdGxlfTt2b2lkIDAhPT1oLmV4cGVyaW1lbnRfbmFtZSYmKGsuZXhwZXJpbWVudE5hbWU9aC5leHBlcmltZW50X25hbWUpO3ZvaWQgMCE9PWguZXhwZXJpbWVudF9kZXNjcmlwdGlvbiYmKGsuZXhwZXJpbWVudERlc2NyaXB0aW9uPWguZXhwZXJpbWVudF9kZXNjcmlwdGlvbik7dm9pZCAwIT09aC5jcmVhdGlvbl90aW1lJiYoay5jcmVhdGlvblRpbWU9aC5jcmVhdGlvbl90aW1lKTtfLmlzRXF1YWwodGhpcy5lbnZpcm9ubWVudCxrKXx8KHRoaXMuZW52aXJvbm1lbnQ9ayx0aGlzLmVtaXRDaGFuZ2UoKSl9KX1nZXREYXRhTG9jYXRpb24oKXtyZXR1cm4gdGhpcy5lbnZpcm9ubWVudD8KdGhpcy5lbnZpcm9ubWVudC5kYXRhTG9jYXRpb246IiJ9Z2V0V2luZG93VGl0bGUoKXtyZXR1cm4gdGhpcy5lbnZpcm9ubWVudD90aGlzLmVudmlyb25tZW50LndpbmRvd1RpdGxlOiIifWdldEV4cGVyaW1lbnROYW1lKCl7cmV0dXJuIHRoaXMuZW52aXJvbm1lbnQ/dGhpcy5lbnZpcm9ubWVudC5leHBlcmltZW50TmFtZToiIn1nZXRFeHBlcmltZW50RGVzY3JpcHRpb24oKXtyZXR1cm4gdGhpcy5lbnZpcm9ubWVudD90aGlzLmVudmlyb25tZW50LmV4cGVyaW1lbnREZXNjcmlwdGlvbjoiIn1nZXRDcmVhdGlvblRpbWUoKXtyZXR1cm4gdGhpcy5lbnZpcm9ubWVudD90aGlzLmVudmlyb25tZW50LmNyZWF0aW9uVGltZTpudWxsfX1iLkVudmlyb25tZW50U3RvcmU9ZDtiLmVudmlyb25tZW50U3RvcmU9bmV3IGR9KShkY3x8KGRjPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtYmFja2VuZC9leHBlcmltZW50c1N0b3JlLmpzCihmdW5jdGlvbihiKXtjbGFzcyBkIGV4dGVuZHMgYi5CYXNlU3RvcmV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMuX2V4cGVyaW1lbnRzPVtdfWxvYWQoKXtjb25zdCBmPWIuZ2V0Um91dGVyKCkuZXhwZXJpbWVudHMoKTtyZXR1cm4gdGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGYpLnRoZW4oaD0+e18uaXNFcXVhbCh0aGlzLl9leHBlcmltZW50cyxoKXx8KHRoaXMuX2V4cGVyaW1lbnRzPWgsdGhpcy5lbWl0Q2hhbmdlKCkpfSl9Z2V0RXhwZXJpbWVudHMoKXtyZXR1cm4gdGhpcy5fZXhwZXJpbWVudHMuc2xpY2UoKX19Yi5FeHBlcmltZW50c1N0b3JlPWQ7Yi5leHBlcmltZW50c1N0b3JlPW5ldyBkfSkoZGN8fChkYz17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWJhY2tlbmQvcnVuc1N0b3JlLmpzCihmdW5jdGlvbihiKXtjbGFzcyBkIGV4dGVuZHMgYi5CYXNlU3RvcmV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMuX3J1bnM9W119bG9hZCgpe2NvbnN0IGY9Yi5nZXRSb3V0ZXIoKS5ydW5zKCk7cmV0dXJuIHRoaXMucmVxdWVzdE1hbmFnZXIucmVxdWVzdChmKS50aGVuKGg9PntfLmlzRXF1YWwodGhpcy5fcnVucyxoKXx8KHRoaXMuX3J1bnM9aCx0aGlzLmVtaXRDaGFuZ2UoKSl9KX1nZXRSdW5zKCl7cmV0dXJuIHRoaXMuX3J1bnMuc2xpY2UoKX19Yi5SdW5zU3RvcmU9ZDtiLnJ1bnNTdG9yZT1uZXcgZH0pKGRjfHwoZGM9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1iYWNrZW5kL2JhY2tlbmQuanMKKGZ1bmN0aW9uKGIpe2IuVFlQRVM9W107Yi5nZXRSdW5zTmFtZWQ9ZnVuY3Rpb24oZCl7cmV0dXJuIF8ua2V5cyhkKS5zb3J0KGFjLmNvbXBhcmVUYWdOYW1lcyl9O2IuZ2V0VGFncz1mdW5jdGlvbihkKXtyZXR1cm4gXy51bmlvbi5hcHBseShudWxsLF8udmFsdWVzKGQpKS5zb3J0KGFjLmNvbXBhcmVUYWdOYW1lcyl9O2IuZmlsdGVyVGFncz1mdW5jdGlvbihkLGYpe2xldCBoPVtdO2YuZm9yRWFjaChrPT5oPWguY29uY2F0KGRba10pKTtyZXR1cm4gXy51bmlxKGgpLnNvcnQoYWMuY29tcGFyZVRhZ05hbWVzKX19KShkY3x8KGRjPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtYmFja2VuZC9jYW5jZWxsZXIuanMKKGZ1bmN0aW9uKGIpe2NsYXNzIGR7Y29uc3RydWN0b3IoKXt0aGlzLmNhbmNlbGxhdGlvbkNvdW50PTB9Y2FuY2VsbGFibGUoZil7Y29uc3QgaD10aGlzLmNhbmNlbGxhdGlvbkNvdW50O3JldHVybiBrPT5mKHt2YWx1ZTprLGNhbmNlbGxlZDp0aGlzLmNhbmNlbGxhdGlvbkNvdW50IT09aH0pfWNhbmNlbEFsbCgpe3RoaXMuY2FuY2VsbGF0aW9uQ291bnQrK319Yi5DYW5jZWxsZXI9ZH0pKGRjfHwoZGM9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1jYXRlZ29yaXphdGlvbi11dGlscy9jYXRlZ29yaXphdGlvblV0aWxzLmpzCnZhciBrYzsKKGZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGQobSxuKXtjb25zdCBxPSgoKT0+e3RyeXtyZXR1cm4gbmV3IFJlZ0V4cChuKX1jYXRjaCh1KXtyZXR1cm4gbnVsbH19KSgpO3JldHVybntuYW1lOm4sbWV0YWRhdGE6e3R5cGU6cC5TRUFSQ0hfUkVTVUxUUyx2YWxpZFJlZ2V4OiEhcSx1bml2ZXJzYWxSZWdleDoiLioiPT09bn0saXRlbXM6cT9tLmZpbHRlcih1PT51Lm1hdGNoKHEpKTpbXX19ZnVuY3Rpb24gZihtLG49Ii8iKXtjb25zdCBxPVtdLHU9e307bS5mb3JFYWNoKHc9Pnt2YXIgQT13LmluZGV4T2Yobik7QT0wPD1BP3cuc2xpY2UoMCxBKTp3O2lmKCF1W0FdKXtjb25zdCB5PXtuYW1lOkEsbWV0YWRhdGE6e3R5cGU6cC5QUkVGSVhfR1JPVVB9LGl0ZW1zOltdfTt1W0FdPXk7cS5wdXNoKHkpfXVbQV0uaXRlbXMucHVzaCh3KX0pO3JldHVybiBxfWZ1bmN0aW9uIGgobSxuPSIiKXtuPVtkKG0sbildO209ZihtKTtyZXR1cm5bXS5jb25jYXQobixtKX1mdW5jdGlvbiBrKG0sbixxKXtjb25zdCB1PQpkYy5nZXRUYWdzKG0pO3E9aCh1LHEpO2NvbnN0IHc9cihfLnBpY2sobSxuKSk7cmV0dXJuIHEubWFwKCh7bmFtZTpBLG1ldGFkYXRhOnksaXRlbXM6eH0pPT4oe25hbWU6QSxtZXRhZGF0YTp5LGl0ZW1zOngubWFwKEM9Pih7dGFnOkMscnVuczoody5nZXQoQyl8fFtdKS5zbGljZSgpfSkpfSkpfWZ1bmN0aW9uIHIobSl7Y29uc3Qgbj1uZXcgTWFwO09iamVjdC5rZXlzKG0pLmZvckVhY2gocT0+e21bcV0uZm9yRWFjaCh1PT57Y29uc3Qgdz1uLmdldCh1KXx8W107dy5wdXNoKHEpO24uc2V0KHUsdyl9KX0pO3JldHVybiBufWZ1bmN0aW9uIGwobSxuKXtjb25zdCBxPWFjLmNvbXBhcmVUYWdOYW1lcyhtLnRhZyxuLnRhZyk7cmV0dXJuIDAhPXE/cTphYy5jb21wYXJlVGFnTmFtZXMobS5ydW4sbi5ydW4pfWxldCBwOyhmdW5jdGlvbihtKXttW20uU0VBUkNIX1JFU1VMVFM9MF09IlNFQVJDSF9SRVNVTFRTIjttW20uUFJFRklYX0dST1VQPTFdPSJQUkVGSVhfR1JPVVAifSkocD1iLkNhdGVnb3J5VHlwZXx8CihiLkNhdGVnb3J5VHlwZT17fSkpO2IuY2F0ZWdvcml6ZUJ5U2VhcmNoUXVlcnk9ZDtiLmNhdGVnb3JpemVCeVByZWZpeD1mO2IuY2F0ZWdvcml6ZT1oO2IuY2F0ZWdvcml6ZVRhZ3M9aztiLmNhdGVnb3JpemVSdW5UYWdDb21iaW5hdGlvbnM9ZnVuY3Rpb24obSxuLHEpe3JldHVybiBrKG0sbixxKS5tYXAoZnVuY3Rpb24odSl7Y29uc3Qgdz1fLmZsYXR0ZW4odS5pdGVtcy5tYXAoKHt0YWc6QSxydW5zOnl9KT0+eS5tYXAoeD0+KHt0YWc6QSxydW46eH0pKSkpO3cuc29ydChsKTtyZXR1cm57bmFtZTp1Lm5hbWUsbWV0YWRhdGE6dS5tZXRhZGF0YSxpdGVtczp3fX0pfX0pKGtjfHwoa2M9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1nbG9iYWxzL2dsb2JhbHMuanMKdmFyIHhjOyhmdW5jdGlvbihiKXtsZXQgZD0hMTtiLnNldFVzZUhhc2g9ZnVuY3Rpb24oaCl7ZD1ofTtiLnVzZUhhc2g9ZnVuY3Rpb24oKXtyZXR1cm4gZH07bGV0IGY9IiI7Yi5zZXRGYWtlSGFzaD1mdW5jdGlvbihoKXtmPWh9O2IuZ2V0RmFrZUhhc2g9ZnVuY3Rpb24oKXtyZXR1cm4gZn19KSh4Y3x8KHhjPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ2xvYmFscy9nbG9iYWxzLXBvbHltZXIuanMKKGZ1bmN0aW9uKGIpe1BvbHltZXIoe2lzOiJ0Zi1nbG9iYWxzIixfdGVtcGxhdGU6bnVsbCx0Zl9nbG9iYWxzOmJ9KX0pKHhjfHwoeGM9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1zdG9yYWdlL2xpc3RlbmVycy5qcwp2YXIgYmQ7CihmdW5jdGlvbihiKXtjbGFzcyBke2NvbnN0cnVjdG9yKGspe3RoaXMubGlzdGVuZXI9a319Yi5MaXN0ZW5LZXk9ZDtjb25zdCBmPW5ldyBTZXQsaD1uZXcgU2V0O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIiwoKT0+e2YuZm9yRWFjaChrPT5rLmxpc3RlbmVyKCkpfSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0b3JhZ2UiLCgpPT57aC5mb3JFYWNoKGs9PmsubGlzdGVuZXIoKSl9KTtiLmFkZEhhc2hMaXN0ZW5lcj1mdW5jdGlvbihrKXtrPW5ldyBkKGspO2YuYWRkKGspO3JldHVybiBrfTtiLmFkZFN0b3JhZ2VMaXN0ZW5lcj1mdW5jdGlvbihrKXtrPW5ldyBkKGspO2guYWRkKGspO3JldHVybiBrfTtiLmZpcmVTdG9yYWdlQ2hhbmdlZD1mdW5jdGlvbigpe2guZm9yRWFjaChrPT5rLmxpc3RlbmVyKCkpfTtiLnJlbW92ZUhhc2hMaXN0ZW5lckJ5S2V5PWZ1bmN0aW9uKGspe2YuZGVsZXRlKGspfTtiLnJlbW92ZVN0b3JhZ2VMaXN0ZW5lckJ5S2V5PWZ1bmN0aW9uKGspe2guZGVsZXRlKGspfX0pKGJkfHwKKGJkPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtc3RvcmFnZS9zdG9yYWdlLmpzCihmdW5jdGlvbihiKXtmdW5jdGlvbiBkKG4scSl7ZnVuY3Rpb24gdSh4LEM9e30pe2NvbnN0IHtkZWZhdWx0VmFsdWU6Ryx1c2VMb2NhbFN0b3JhZ2U6RD0hMX09Qzt4PUQ/d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKHgpOmwoaCgpKVt4XTtyZXR1cm4gdm9pZCAwPT14P18uY2xvbmVEZWVwKEcpOm4oeCl9ZnVuY3Rpb24gdyh4LEMsRz17fSl7Y29uc3Qge2RlZmF1bHRWYWx1ZTpELHVzZUxvY2FsU3RvcmFnZTpCPSExLHVzZUxvY2F0aW9uUmVwbGFjZTpIPSExfT1HO0c9cShDKTtCPyh3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oeCxHKSxiLmZpcmVTdG9yYWdlQ2hhbmdlZCgpKTpfLmlzRXF1YWwoQyx1KHgse3VzZUxvY2FsU3RvcmFnZTpCfSkpfHwoXy5pc0VxdWFsKEMsRCk/cCh4KTooQz1sKGgoKSksQ1t4XT1HLGsocihDKSxIKSkpfWNvbnN0IEE9W10seT1bXTtyZXR1cm57Z2V0OnUsc2V0OncsZ2V0SW5pdGlhbGl6ZXI6ZnVuY3Rpb24oeCxDKXtjb25zdCBHPU9iamVjdC5hc3NpZ24oe2RlZmF1bHRWYWx1ZTpDLmRlZmF1bHRWYWx1ZSwKcG9seW1lclByb3BlcnR5OngsdXNlTG9jYWxTdG9yYWdlOiExfSxDKTtyZXR1cm4gZnVuY3Rpb24oKXtjb25zdCBEPWYodGhpcyx4KSxCPSgpPT57Y29uc3QgSz11KEQsRyk7Xy5pc0VxdWFsKEssdGhpc1tHLnBvbHltZXJQcm9wZXJ0eV0pfHwodGhpc1tHLnBvbHltZXJQcm9wZXJ0eV09Syl9LEg9KEcudXNlTG9jYWxTdG9yYWdlP2IuYWRkU3RvcmFnZUxpc3RlbmVyOmIuYWRkSGFzaExpc3RlbmVyKSgoKT0+QigpKTtHLnVzZUxvY2FsU3RvcmFnZT95LnB1c2goSCk6QS5wdXNoKEgpO0IoKTtyZXR1cm4gdGhpc1tHLnBvbHltZXJQcm9wZXJ0eV19fSxnZXRPYnNlcnZlcjpmdW5jdGlvbih4LEMpe2NvbnN0IEc9T2JqZWN0LmFzc2lnbih7ZGVmYXVsdFZhbHVlOkMuZGVmYXVsdFZhbHVlLHBvbHltZXJQcm9wZXJ0eTp4LHVzZUxvY2FsU3RvcmFnZTohMX0sQyk7cmV0dXJuIGZ1bmN0aW9uKCl7Y29uc3QgRD1mKHRoaXMseCk7dyhELHRoaXNbRy5wb2x5bWVyUHJvcGVydHldLEcpfX0sZGlzcG9zZUJpbmRpbmc6ZnVuY3Rpb24oKXtBLmZvckVhY2goeD0+CmIucmVtb3ZlSGFzaExpc3RlbmVyQnlLZXkoeCkpO3kuZm9yRWFjaCh4PT5iLnJlbW92ZVN0b3JhZ2VMaXN0ZW5lckJ5S2V5KHgpKX19fWZ1bmN0aW9uIGYobixxKXtuPW5bYi5ESVNBTUJJR1VBVE9SXTtyZXR1cm4obnVsbD09bj9bcV06W24scV0pLmpvaW4oIi4iKX1mdW5jdGlvbiBoKCl7cmV0dXJuIHhjLnVzZUhhc2goKT93aW5kb3cubG9jYXRpb24uaGFzaC5zbGljZSgxKTp4Yy5nZXRGYWtlSGFzaCgpfWZ1bmN0aW9uIGsobixxPSExKXt4Yy51c2VIYXNoKCk/cT93aW5kb3cubG9jYXRpb24ucmVwbGFjZSgiIyIrbik6d2luZG93LmxvY2F0aW9uLmhhc2g9bjp4Yy5zZXRGYWtlSGFzaChuKX1mdW5jdGlvbiByKG4pe2xldCBxPSIiO3ZvaWQgMCE9PW5bYi5UQUJdJiYocSs9bltiLlRBQl0pO2NvbnN0IHU9T2JqZWN0LmtleXMobikubWFwKHc9Plt3LG5bd11dKS5maWx0ZXIodz0+d1swXSE9PWIuVEFCKS5tYXAodz0+ZW5jb2RlVVJJQ29tcG9uZW50KHdbMF0pKyJceDNkIitlbmNvZGVVUklDb21wb25lbnQod1sxXSkpLmpvaW4oIlx4MjYiKTsKcmV0dXJuIDA8dS5sZW5ndGg/cSsiXHgyNiIrdTpxfWZ1bmN0aW9uIGwobil7Y29uc3QgcT17fTtuLnNwbGl0KCJceDI2IikuZm9yRWFjaCh1PT57dT11LnNwbGl0KCJceDNkIik7MT09PXUubGVuZ3RoP3FbYi5UQUJdPXVbMF06Mj09PXUubGVuZ3RoJiYocVtkZWNvZGVVUklDb21wb25lbnQodVswXSldPWRlY29kZVVSSUNvbXBvbmVudCh1WzFdKSl9KTtyZXR1cm4gcX1mdW5jdGlvbiBwKG4pe2NvbnN0IHE9bChoKCkpO2RlbGV0ZSBxW25dO2socihxKSl9Yi5UQUI9Il9fdGFiX18iO2IuRElTQU1CSUdVQVRPUj0iZGlzYW1iaWd1YXRvciI7Yi51cmxEaWN0PWwoaCgpKTtiLmFkZEhhc2hMaXN0ZW5lcigoKT0+e2IudXJsRGljdD1sKGgoKSl9KTt2YXIgbT1kKG49Pm4sbj0+bik7Yi5nZXRTdHJpbmc9bS5nZXQ7Yi5zZXRTdHJpbmc9bS5zZXQ7Yi5nZXRTdHJpbmdJbml0aWFsaXplcj1tLmdldEluaXRpYWxpemVyO2IuZ2V0U3RyaW5nT2JzZXJ2ZXI9bS5nZXRPYnNlcnZlcjtiLmRpc3Bvc2VTdHJpbmdCaW5kaW5nPQptLmRpc3Bvc2VCaW5kaW5nO209ZChuPT4idHJ1ZSI9PT1uPyEwOiJmYWxzZSI9PT1uPyExOnZvaWQgMCxuPT5uLnRvU3RyaW5nKCkpO2IuZ2V0Qm9vbGVhbj1tLmdldDtiLnNldEJvb2xlYW49bS5zZXQ7Yi5nZXRCb29sZWFuSW5pdGlhbGl6ZXI9bS5nZXRJbml0aWFsaXplcjtiLmdldEJvb2xlYW5PYnNlcnZlcj1tLmdldE9ic2VydmVyO2IuZGlzcG9zZUJvb2xlYW5CaW5kaW5nPW0uZGlzcG9zZUJpbmRpbmc7bT1kKG49PituLG49Pm4udG9TdHJpbmcoKSk7Yi5nZXROdW1iZXI9bS5nZXQ7Yi5zZXROdW1iZXI9bS5zZXQ7Yi5nZXROdW1iZXJJbml0aWFsaXplcj1tLmdldEluaXRpYWxpemVyO2IuZ2V0TnVtYmVyT2JzZXJ2ZXI9bS5nZXRPYnNlcnZlcjtiLmRpc3Bvc2VOdW1iZXJCaW5kaW5nPW0uZGlzcG9zZUJpbmRpbmc7bT1kKG49PkpTT04ucGFyc2UoYXRvYihuKSksbj0+YnRvYShKU09OLnN0cmluZ2lmeShuKSkpO2IuZ2V0T2JqZWN0PW0uZ2V0O2Iuc2V0T2JqZWN0PW0uc2V0O2IuZ2V0T2JqZWN0SW5pdGlhbGl6ZXI9Cm0uZ2V0SW5pdGlhbGl6ZXI7Yi5nZXRPYmplY3RPYnNlcnZlcj1tLmdldE9ic2VydmVyO2IuZGlzcG9zZU9iamVjdEJpbmRpbmc9bS5kaXNwb3NlQmluZGluZztiLm1ha2VCaW5kaW5ncz1kO2IubWlncmF0ZUxlZ2FjeVVSTFNjaGVtZT1mdW5jdGlvbigpe2NvbnN0IG49bmV3IFNldCgiZXhhbXBsZXNQYXRoIGhpZGVNb2RlbFBhbmUyIG1vZGVsTmFtZTEgbW9kZWxOYW1lMiBpbmZlcmVuY2VBZGRyZXNzMSBpbmZlcmVuY2VBZGRyZXNzMiBtb2RlbFR5cGUgbW9kZWxWZXJzaW9uMSBtb2RlbFZlcnNpb24yIG1vZGVsU2lnbmF0dXJlMSBtb2RlbFNpZ25hdHVyZTIgbWF4RXhhbXBsZXMgbGFiZWxWb2NhYlBhdGggbXVsdGlDbGFzcyBzZXF1ZW5jZUV4YW1wbGVzIG1heENsYXNzZXNUb0Rpc3BsYXkgc2FtcGxpbmdPZGRzIHVzZVByZWRpY3RBcGkgcHJlZGljdElucHV0VGVuc29yIHByZWRpY3RPdXRwdXRUZW5zb3IiLnNwbGl0KCIgIikpLHE9bChoKCkpO2lmKCJ3aGF0aWYiPT09cVtiLlRBQl0pZm9yKGxldCB1IG9mIG4pdSBpbgpxJiYocVtgcC53aGF0aWYuJHt1fWBdPXFbdV0pO2socihxKSk7dGhpcy51cmxEaWN0PXF9fSkoYmR8fChiZD17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRhc2hib2FyZC1jb21tb24vYXJyYXktdXBkYXRlLWhlbHBlci5qcwp2YXIgY2Q7KGZ1bmN0aW9uKGIpe2IuQXJyYXlVcGRhdGVIZWxwZXI9e3VwZGF0ZUFycmF5UHJvcChkLGYsaCl7bGV0IGs9dGhpcy5nZXQoZCk7aWYoIUFycmF5LmlzQXJyYXkoZikpdGhyb3cgUmFuZ2VFcnJvcihgRXhwZWN0ZWQgbmV3IHZhbHVlIHRvICcke2R9JyB0byBiZSBhbiBhcnJheS5gKTtBcnJheS5pc0FycmF5KGspfHwoaz1bXSx0aGlzLnNldChkLGspKTtjb25zdCByPW5ldyBTZXQoZi5tYXAoKG0sbik9PmgobSxuKSkpO2xldCBsPTAscD0wO2Zvcig7bDxrLmxlbmd0aCYmcDxmLmxlbmd0aDspci5oYXMoaChrW2xdLGwpKT8oaChrW2xdLGwpPT1oKGZbcF0scCk/dGhpcy5zZXQoYCR7ZH0uJHtsfWAsZltwXSk6dGhpcy5zcGxpY2UoZCxsLDAsZltwXSkscCsrLGwrKyk6dGhpcy5zcGxpY2UoZCxsLDEpO2w8ay5sZW5ndGgmJnRoaXMuc3BsaWNlKGQsbCk7cDxmLmxlbmd0aCYmdGhpcy5wdXNoKGQsLi4uZi5zbGljZShwKSl9fX0pKGNkfHwoY2Q9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1wYWdpbmF0ZWQtdmlldy90Zi1kb20tcmVwZWF0Lmh0bWwuanMKdmFyIHJkOwooZnVuY3Rpb24oYil7Yi5UZkRvbVJlcGVhdEJlaGF2aW9yPVtjZC5BcnJheVVwZGF0ZUhlbHBlcix7cHJvcGVydGllczp7YXM6e3R5cGU6U3RyaW5nLHZhbHVlOiJpdGVtIn0sX2NvbnRlbnRBY3RpdmU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMH0sX2RvbUJvb3RzdHJhcHBlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfY3Rvcjp7dHlwZTpGdW5jdGlvbix2YWx1ZTooKT0+bnVsbH0sX3JlbmRlcmVkSXRlbXM6e3R5cGU6QXJyYXksdmFsdWU6KCk9PltdfSxfcmVuZGVyZWRUZW1wbGF0ZUluc3Q6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgTWFwfSxfbHJ1Q2FjaGVkSXRlbXM6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgTWFwfSxfY2FjaGVTaXplOnt0eXBlOk51bWJlcix2YWx1ZToxMH0sX2dldEl0ZW1LZXk6e3R5cGU6RnVuY3Rpb24sdmFsdWU6KCk9PmQ9PkpTT04uc3RyaW5naWZ5KGQpfX0sb2JzZXJ2ZXJzOlsiX2Jvb3RzdHJhcERvbShfaXRlbXNSZW5kZXJlZCwgaXNBdHRhY2hlZCkiLCJfdXBkYXRlRG9tKF9yZW5kZXJlZEl0ZW1zLiosIF9kb21Cb290c3RyYXBwZWQpIiwKIl91cGRhdGVBY3RpdmUoX2NvbnRlbnRBY3RpdmUpIiwiX3RyaW1DYWNoZShfY2FjaGVTaXplKSJdLHNldENhY2hlU2l6ZShkKXt0aGlzLl9jYWNoZVNpemU9ZH0sc2V0R2V0SXRlbUtleShkKXt0aGlzLl9nZXRJdGVtS2V5PWR9LHVwZGF0ZURvbShkKXt0aGlzLnVwZGF0ZUFycmF5UHJvcCgiX3JlbmRlcmVkSXRlbXMiLGQsdGhpcy5fZ2V0SXRlbUtleSl9LF9lbnN1cmVUZW1wbGF0aXplZCgpe2lmKCF0aGlzLmlzQXR0YWNoZWQpcmV0dXJuITE7dGhpcy5fY3Rvcnx8KHRoaXMuX2N0b3I9UG9seW1lci5UZW1wbGF0aXplLnRlbXBsYXRpemUodGhpcy5xdWVyeVNlbGVjdG9yKCJ0ZW1wbGF0ZSIpLHRoaXMse3BhcmVudE1vZGVsOiEwLGluc3RhbmNlUHJvcHM6e1t0aGlzLmFzXTohMCxhY3RpdmU6dGhpcy5fY29udGVudEFjdGl2ZX0sZm9yd2FyZEhvc3RQcm9wOmZ1bmN0aW9uKGQsZil7dGhpcy5fcmVuZGVyZWRUZW1wbGF0ZUluc3QuZm9yRWFjaChoPT57aC5mb3J3YXJkSG9zdFByb3AoZCwKZil9KX19KSk7cmV0dXJuITB9LF9ib290c3RyYXBEb20oKXt0aGlzLl9pdGVtc1JlbmRlcmVkJiZ0aGlzLl9lbnN1cmVUZW1wbGF0aXplZCgpJiYhdGhpcy5fZG9tQm9vdHN0cmFwcGVkJiYoQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5mb3JFYWNoKGQ9PntQb2x5bWVyLmRvbSh0aGlzKS5yZW1vdmVDaGlsZChkKX0pLHRoaXMuX2xydUNhY2hlZEl0ZW1zLmNsZWFyKCksdGhpcy5fcmVuZGVyZWRJdGVtcy5mb3JFYWNoKChkLGYpPT50aGlzLl9pbnNlcnRJdGVtKGQsZikpLHRoaXMuX2RvbUJvb3RzdHJhcHBlZD0hMCl9LF91cGRhdGVBY3RpdmUoKXt0aGlzLl9kb21Cb290c3RyYXBwZWQmJkFycmF5LmZyb20odGhpcy5fcmVuZGVyZWRUZW1wbGF0ZUluc3QudmFsdWVzKCkpLmZvckVhY2goZD0+e2Qubm90aWZ5UGF0aCgiYWN0aXZlIix0aGlzLl9jb250ZW50QWN0aXZlKX0pfSxfdXBkYXRlRG9tKGQpe2lmKHRoaXMuX2RvbUJvb3RzdHJhcHBlZCYmIl9yZW5kZXJlZEl0ZW1zIiE9ZC5wYXRoJiYKIl9yZW5kZXJlZEl0ZW1zLmxlbmd0aCIhPWQucGF0aClpZigiX3JlbmRlcmVkSXRlbXMuc3BsaWNlcyI9PT1kLnBhdGgpZC52YWx1ZS5pbmRleFNwbGljZXMuZm9yRWFjaChmPT57Y29uc3QgaD1mLmluZGV4LGs9Zi5hZGRlZENvdW50LHI9Zi5vYmplY3Q7Zi5yZW1vdmVkLmZvckVhY2gobD0+e3RoaXMuX3JlbW92ZUl0ZW0obCx0aGlzLmNoaWxkcmVuW2hdKX0pO3Iuc2xpY2UoaCxoK2spLmZvckVhY2goKGwscCk9PnRoaXMuX2luc2VydEl0ZW0obCxoK3ApKTt0aGlzLl90cmltQ2FjaGUoKX0pO2Vsc2V7Y29uc3QgZj10aGlzLl9nZXRJdGVtS2V5KGQudmFsdWUpO3RoaXMuX3JlbmRlcmVkVGVtcGxhdGVJbnN0LmhhcyhmKT90aGlzLl9yZW5kZXJlZFRlbXBsYXRlSW5zdC5nZXQoZikubm90aWZ5UGF0aCh0aGlzLmFzLGQudmFsdWUpOmNvbnNvbGUud2FybihgRXhwZWN0ZWQgJyR7Zn0nIHRvIGV4aXN0IGluIHRoZSBET00gYnV0IGArImNvdWxkIG5vdCBmaW5kIG9uZS4iKX19LF9pbnNlcnRJdGVtKGQsCmYpe2lmKCF0aGlzLl9lbnN1cmVUZW1wbGF0aXplZCgpKXRocm93IEVycm9yKCJFeHBlY3RlZCB0ZW1wbGF0aXplZCBiZWZvcmUgaW5zZXJ0aW5nIGFuIGl0ZW0iKTtjb25zdCBoPXRoaXMuX2dldEl0ZW1LZXkoZCk7aWYodGhpcy5fbHJ1Q2FjaGVkSXRlbXMuaGFzKGgpKWQ9dGhpcy5fbHJ1Q2FjaGVkSXRlbXMuZ2V0KGgpLHRoaXMuX2xydUNhY2hlZEl0ZW1zLmRlbGV0ZShoKSx0aGlzLl9yZW5kZXJlZFRlbXBsYXRlSW5zdC5nZXQoaCkubm90aWZ5UGF0aCgiYWN0aXZlIix0aGlzLl9jb250ZW50QWN0aXZlKTtlbHNle2NvbnN0IGs9bmV3IHRoaXMuX2N0b3Ioe1t0aGlzLmFzXTpkLGFjdGl2ZTp0aGlzLl9jb250ZW50QWN0aXZlfSk7ZD1rLnJvb3Q7dGhpcy5fcmVuZGVyZWRUZW1wbGF0ZUluc3Quc2V0KGgsayl9dGhpcy5jaGlsZHJlbltmXT9Qb2x5bWVyLmRvbSh0aGlzKS5pbnNlcnRCZWZvcmUoZCx0aGlzLmNoaWxkcmVuW2ZdKTooKGQubm9kZVR5cGU9PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERT8KQXJyYXkuZnJvbShkLmNoaWxkcmVuKTpbZF0pLmZvckVhY2goaz0+ay5zZXRBdHRyaWJ1dGUoInNsb3QiLCJpdGVtcyIpKSxQb2x5bWVyLmRvbSh0aGlzKS5hcHBlbmRDaGlsZChkKSl9LF9yZW1vdmVJdGVtKGQsZil7UG9seW1lci5kb20oZi5wYXJlbnROb2RlKS5yZW1vdmVDaGlsZChmKTtkPXRoaXMuX2dldEl0ZW1LZXkoZCk7dGhpcy5fbHJ1Q2FjaGVkSXRlbXMuc2V0KGQsZik7dGhpcy5fcmVuZGVyZWRUZW1wbGF0ZUluc3QuZ2V0KGQpLm5vdGlmeVBhdGgoImFjdGl2ZSIsITEpfSxfdHJpbUNhY2hlKCl7Zm9yKDt0aGlzLl9scnVDYWNoZWRJdGVtcy5zaXplPnRoaXMuX2NhY2hlU2l6ZTspe2NvbnN0IFtkXT10aGlzLl9scnVDYWNoZWRJdGVtcy5rZXlzKCk7dGhpcy5fbHJ1Q2FjaGVkSXRlbXMuZGVsZXRlKGQpO3RoaXMuX3JlbmRlcmVkVGVtcGxhdGVJbnN0LmRlbGV0ZShkKX19fV19KShyZHx8KHJkPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtcGFnaW5hdGVkLXZpZXcvcGFnaW5hdGVkVmlld1N0b3JlLmpzCnZhciBzZDsKKGZ1bmN0aW9uKGIpe2xldCBkPW51bGw7Y29uc3QgZj1uZXcgU2V0O2IuYWRkTGltaXRMaXN0ZW5lcj1mdW5jdGlvbihoKXtmLmFkZChoKX07Yi5yZW1vdmVMaW1pdExpc3RlbmVyPWZ1bmN0aW9uKGgpe2YuZGVsZXRlKGgpfTtiLmdldExpbWl0PWZ1bmN0aW9uKCl7bnVsbD09ZCYmKGQ9YmQuZ2V0TnVtYmVyKCJURi5UZW5zb3JCb2FyZC5QYWdpbmF0ZWRWaWV3LmxpbWl0Iix7dXNlTG9jYWxTdG9yYWdlOiEwfSksbnVsbD09ZHx8IWlzRmluaXRlKGQpfHwwPj1kKSYmKGQ9MTIpO3JldHVybiBkfTtiLnNldExpbWl0PWZ1bmN0aW9uKGgpe2lmKGghPT1NYXRoLmZsb29yKGgpKXRocm93IEVycm9yKGBsaW1pdCBtdXN0IGJlIGFuIGludGVnZXIsIGJ1dCBnb3Q6ICR7aH1gKTtpZigwPj1oKXRocm93IEVycm9yKGBsaW1pdCBtdXN0IGJlIHBvc2l0aXZlLCBidXQgZ290OiAke2h9YCk7aCE9PWQmJihkPWgsYmQuc2V0TnVtYmVyKCJURi5UZW5zb3JCb2FyZC5QYWdpbmF0ZWRWaWV3LmxpbWl0IixkLAp7dXNlTG9jYWxTdG9yYWdlOiEwfSksZi5mb3JFYWNoKGs9PntrKCl9KSl9fSkoc2R8fChzZD17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLXBhZ2luYXRlZC12aWV3L3RmLXBhZ2luYXRlZC12aWV3LXN0b3JlLmh0bWwuanMKUG9seW1lcih7aXM6InRmLXBhZ2luYXRlZC12aWV3LXN0b3JlIixfdGVtcGxhdGU6bnVsbCx0Zl9wYWdpbmF0ZWRfdmlldzpzZH0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWRpYWxvZy1iZWhhdmlvci9wYXBlci1kaWFsb2ctYmVoYXZpb3IuaHRtbC5qcwooZnVuY3Rpb24oKXtQb2x5bWVyLlBhcGVyRGlhbG9nQmVoYXZpb3JJbXBsPXtob3N0QXR0cmlidXRlczp7cm9sZToiZGlhbG9nIix0YWJpbmRleDoiLTEifSxwcm9wZXJ0aWVzOnttb2RhbDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfX3JlYWRpZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX19LG9ic2VydmVyczpbIl9tb2RhbENoYW5nZWQobW9kYWwsIF9fcmVhZGllZCkiXSxsaXN0ZW5lcnM6e3RhcDoiX29uRGlhbG9nQ2xpY2sifSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuX19wcmV2Tm9DYW5jZWxPbk91dHNpZGVDbGljaz10aGlzLm5vQ2FuY2VsT25PdXRzaWRlQ2xpY2s7dGhpcy5fX3ByZXZOb0NhbmNlbE9uRXNjS2V5PXRoaXMubm9DYW5jZWxPbkVzY0tleTt0aGlzLl9fcHJldldpdGhCYWNrZHJvcD10aGlzLndpdGhCYWNrZHJvcDt0aGlzLl9fcmVhZGllZD0hMH0sX21vZGFsQ2hhbmdlZDpmdW5jdGlvbihiLGQpe2QmJihiPyh0aGlzLl9fcHJldk5vQ2FuY2VsT25PdXRzaWRlQ2xpY2s9CnRoaXMubm9DYW5jZWxPbk91dHNpZGVDbGljayx0aGlzLl9fcHJldk5vQ2FuY2VsT25Fc2NLZXk9dGhpcy5ub0NhbmNlbE9uRXNjS2V5LHRoaXMuX19wcmV2V2l0aEJhY2tkcm9wPXRoaXMud2l0aEJhY2tkcm9wLHRoaXMud2l0aEJhY2tkcm9wPXRoaXMubm9DYW5jZWxPbkVzY0tleT10aGlzLm5vQ2FuY2VsT25PdXRzaWRlQ2xpY2s9ITApOih0aGlzLm5vQ2FuY2VsT25PdXRzaWRlQ2xpY2s9dGhpcy5ub0NhbmNlbE9uT3V0c2lkZUNsaWNrJiZ0aGlzLl9fcHJldk5vQ2FuY2VsT25PdXRzaWRlQ2xpY2ssdGhpcy5ub0NhbmNlbE9uRXNjS2V5PXRoaXMubm9DYW5jZWxPbkVzY0tleSYmdGhpcy5fX3ByZXZOb0NhbmNlbE9uRXNjS2V5LHRoaXMud2l0aEJhY2tkcm9wPXRoaXMud2l0aEJhY2tkcm9wJiZ0aGlzLl9fcHJldldpdGhCYWNrZHJvcCkpfSxfdXBkYXRlQ2xvc2luZ1JlYXNvbkNvbmZpcm1lZDpmdW5jdGlvbihiKXt0aGlzLmNsb3NpbmdSZWFzb249dGhpcy5jbG9zaW5nUmVhc29ufHwKe307dGhpcy5jbG9zaW5nUmVhc29uLmNvbmZpcm1lZD1ifSxfb25EaWFsb2dDbGljazpmdW5jdGlvbihiKXtmb3IodmFyIGQ9UG9seW1lci5kb20oYikucGF0aCxmPTAsaD1kLmluZGV4T2YodGhpcyk7ZjxoO2YrKyl7dmFyIGs9ZFtmXTtpZihrLmhhc0F0dHJpYnV0ZSYmKGsuaGFzQXR0cmlidXRlKCJkaWFsb2ctZGlzbWlzcyIpfHxrLmhhc0F0dHJpYnV0ZSgiZGlhbG9nLWNvbmZpcm0iKSkpe3RoaXMuX3VwZGF0ZUNsb3NpbmdSZWFzb25Db25maXJtZWQoay5oYXNBdHRyaWJ1dGUoImRpYWxvZy1jb25maXJtIikpO3RoaXMuY2xvc2UoKTtiLnN0b3BQcm9wYWdhdGlvbigpO2JyZWFrfX19fTtQb2x5bWVyLlBhcGVyRGlhbG9nQmVoYXZpb3I9W1BvbHltZXIuSXJvbk92ZXJsYXlCZWhhdmlvcixQb2x5bWVyLlBhcGVyRGlhbG9nQmVoYXZpb3JJbXBsXX0pKCk7CgovLyBodHRwczovL2QzanMub3JnIHY1LjcuMCBDb3B5cmlnaHQgMjAxOCBNaWtlIEJvc3RvY2sKIWZ1bmN0aW9uKHQsbil7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZT9uKGV4cG9ydHMpOiJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsiZXhwb3J0cyJdLG4pOm4odC5kMz10LmQzfHx7fSl9KHRoaXMsZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4odCxuKXtyZXR1cm4gdDxuPy0xOnQ+bj8xOnQ+PW4/MDpOYU59ZnVuY3Rpb24gZSh0KXt2YXIgZTtyZXR1cm4gMT09PXQubGVuZ3RoJiYoZT10LHQ9ZnVuY3Rpb24odCxyKXtyZXR1cm4gbihlKHQpLHIpfSkse2xlZnQ6ZnVuY3Rpb24obixlLHIsaSl7Zm9yKG51bGw9PXImJihyPTApLG51bGw9PWkmJihpPW4ubGVuZ3RoKTtyPGk7KXt2YXIgbz1yK2k+Pj4xO3QobltvXSxlKTwwP3I9bysxOmk9b31yZXR1cm4gcn0scmlnaHQ6ZnVuY3Rpb24obixlLHIsaSl7Zm9yKG51bGw9PXImJihyPTApLG51bGw9PWkmJihpPW4ubGVuZ3RoKTtyPGk7KXt2YXIgbz1yK2k+Pj4xO3QobltvXSxlKT4wP2k9bzpyPW8rMX1yZXR1cm4gcn19fXZhciByPWUobiksaT1yLnJpZ2h0LG89ci5sZWZ0O2Z1bmN0aW9uIGEodCxuKXtyZXR1cm5bdCxuXX1mdW5jdGlvbiB1KHQpe3JldHVybiBudWxsPT09dD9OYU46K3R9ZnVuY3Rpb24gZih0LG4pe3ZhciBlLHIsaT10Lmxlbmd0aCxvPTAsYT0tMSxmPTAsYz0wO2lmKG51bGw9PW4pZm9yKDsrK2E8aTspaXNOYU4oZT11KHRbYV0pKXx8KGMrPShyPWUtZikqKGUtKGYrPXIvKytvKSkpO2Vsc2UgZm9yKDsrK2E8aTspaXNOYU4oZT11KG4odFthXSxhLHQpKSl8fChjKz0ocj1lLWYpKihlLShmKz1yLysrbykpKTtpZihvPjEpcmV0dXJuIGMvKG8tMSl9ZnVuY3Rpb24gYyh0LG4pe3ZhciBlPWYodCxuKTtyZXR1cm4gZT9NYXRoLnNxcnQoZSk6ZX1mdW5jdGlvbiBzKHQsbil7dmFyIGUscixpLG89dC5sZW5ndGgsYT0tMTtpZihudWxsPT1uKXtmb3IoOysrYTxvOylpZihudWxsIT0oZT10W2FdKSYmZT49ZSlmb3Iocj1pPWU7KythPG87KW51bGwhPShlPXRbYV0pJiYocj5lJiYocj1lKSxpPGUmJihpPWUpKX1lbHNlIGZvcig7KythPG87KWlmKG51bGwhPShlPW4odFthXSxhLHQpKSYmZT49ZSlmb3Iocj1pPWU7KythPG87KW51bGwhPShlPW4odFthXSxhLHQpKSYmKHI+ZSYmKHI9ZSksaTxlJiYoaT1lKSk7cmV0dXJuW3IsaV19dmFyIGw9QXJyYXkucHJvdG90eXBlLGg9bC5zbGljZSxkPWwubWFwO2Z1bmN0aW9uIHAodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIHYodCl7cmV0dXJuIHR9ZnVuY3Rpb24gZyh0LG4sZSl7dD0rdCxuPStuLGU9KGk9YXJndW1lbnRzLmxlbmd0aCk8Mj8obj10LHQ9MCwxKTppPDM/MTorZTtmb3IodmFyIHI9LTEsaT0wfE1hdGgubWF4KDAsTWF0aC5jZWlsKChuLXQpL2UpKSxvPW5ldyBBcnJheShpKTsrK3I8aTspb1tyXT10K3IqZTtyZXR1cm4gb312YXIgeT1NYXRoLnNxcnQoNTApLF89TWF0aC5zcXJ0KDEwKSxiPU1hdGguc3FydCgyKTtmdW5jdGlvbiBtKHQsbixlKXt2YXIgcixpLG8sYSx1PS0xO2lmKGU9K2UsKHQ9K3QpPT09KG49K24pJiZlPjApcmV0dXJuW3RdO2lmKChyPW48dCkmJihpPXQsdD1uLG49aSksMD09PShhPXgodCxuLGUpKXx8IWlzRmluaXRlKGEpKXJldHVybltdO2lmKGE+MClmb3IodD1NYXRoLmNlaWwodC9hKSxuPU1hdGguZmxvb3Iobi9hKSxvPW5ldyBBcnJheShpPU1hdGguY2VpbChuLXQrMSkpOysrdTxpOylvW3VdPSh0K3UpKmE7ZWxzZSBmb3IodD1NYXRoLmZsb29yKHQqYSksbj1NYXRoLmNlaWwobiphKSxvPW5ldyBBcnJheShpPU1hdGguY2VpbCh0LW4rMSkpOysrdTxpOylvW3VdPSh0LXUpL2E7cmV0dXJuIHImJm8ucmV2ZXJzZSgpLG99ZnVuY3Rpb24geCh0LG4sZSl7dmFyIHI9KG4tdCkvTWF0aC5tYXgoMCxlKSxpPU1hdGguZmxvb3IoTWF0aC5sb2cocikvTWF0aC5MTjEwKSxvPXIvTWF0aC5wb3coMTAsaSk7cmV0dXJuIGk+PTA/KG8+PXk/MTA6bz49Xz81Om8+PWI/MjoxKSpNYXRoLnBvdygxMCxpKTotTWF0aC5wb3coMTAsLWkpLyhvPj15PzEwOm8+PV8/NTpvPj1iPzI6MSl9ZnVuY3Rpb24gdyh0LG4sZSl7dmFyIHI9TWF0aC5hYnMobi10KS9NYXRoLm1heCgwLGUpLGk9TWF0aC5wb3coMTAsTWF0aC5mbG9vcihNYXRoLmxvZyhyKS9NYXRoLkxOMTApKSxvPXIvaTtyZXR1cm4gbz49eT9pKj0xMDpvPj1fP2kqPTU6bz49YiYmKGkqPTIpLG48dD8taTppfWZ1bmN0aW9uIE0odCl7cmV0dXJuIE1hdGguY2VpbChNYXRoLmxvZyh0Lmxlbmd0aCkvTWF0aC5MTjIpKzF9ZnVuY3Rpb24gQSh0LG4sZSl7aWYobnVsbD09ZSYmKGU9dSkscj10Lmxlbmd0aCl7aWYoKG49K24pPD0wfHxyPDIpcmV0dXJuK2UodFswXSwwLHQpO2lmKG4+PTEpcmV0dXJuK2UodFtyLTFdLHItMSx0KTt2YXIgcixpPShyLTEpKm4sbz1NYXRoLmZsb29yKGkpLGE9K2UodFtvXSxvLHQpO3JldHVybiBhKygrZSh0W28rMV0sbysxLHQpLWEpKihpLW8pfX1mdW5jdGlvbiBUKHQsbil7dmFyIGUscixpPXQubGVuZ3RoLG89LTE7aWYobnVsbD09bil7Zm9yKDsrK288aTspaWYobnVsbCE9KGU9dFtvXSkmJmU+PWUpZm9yKHI9ZTsrK288aTspbnVsbCE9KGU9dFtvXSkmJmU+ciYmKHI9ZSl9ZWxzZSBmb3IoOysrbzxpOylpZihudWxsIT0oZT1uKHRbb10sbyx0KSkmJmU+PWUpZm9yKHI9ZTsrK288aTspbnVsbCE9KGU9bih0W29dLG8sdCkpJiZlPnImJihyPWUpO3JldHVybiByfWZ1bmN0aW9uIE4odCl7Zm9yKHZhciBuLGUscixpPXQubGVuZ3RoLG89LTEsYT0wOysrbzxpOylhKz10W29dLmxlbmd0aDtmb3IoZT1uZXcgQXJyYXkoYSk7LS1pPj0wOylmb3Iobj0ocj10W2ldKS5sZW5ndGg7LS1uPj0wOyllWy0tYV09cltuXTtyZXR1cm4gZX1mdW5jdGlvbiBTKHQsbil7dmFyIGUscixpPXQubGVuZ3RoLG89LTE7aWYobnVsbD09bil7Zm9yKDsrK288aTspaWYobnVsbCE9KGU9dFtvXSkmJmU+PWUpZm9yKHI9ZTsrK288aTspbnVsbCE9KGU9dFtvXSkmJnI+ZSYmKHI9ZSl9ZWxzZSBmb3IoOysrbzxpOylpZihudWxsIT0oZT1uKHRbb10sbyx0KSkmJmU+PWUpZm9yKHI9ZTsrK288aTspbnVsbCE9KGU9bih0W29dLG8sdCkpJiZyPmUmJihyPWUpO3JldHVybiByfWZ1bmN0aW9uIEUodCl7aWYoIShpPXQubGVuZ3RoKSlyZXR1cm5bXTtmb3IodmFyIG49LTEsZT1TKHQsaykscj1uZXcgQXJyYXkoZSk7KytuPGU7KWZvcih2YXIgaSxvPS0xLGE9cltuXT1uZXcgQXJyYXkoaSk7KytvPGk7KWFbb109dFtvXVtuXTtyZXR1cm4gcn1mdW5jdGlvbiBrKHQpe3JldHVybiB0Lmxlbmd0aH12YXIgQz1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gUCh0KXtyZXR1cm4gdH12YXIgej0xLFI9MixMPTMsRD00LFU9MWUtNjtmdW5jdGlvbiBxKHQpe3JldHVybiJ0cmFuc2xhdGUoIisodCsuNSkrIiwwKSJ9ZnVuY3Rpb24gTyh0KXtyZXR1cm4idHJhbnNsYXRlKDAsIisodCsuNSkrIikifWZ1bmN0aW9uIFkoKXtyZXR1cm4hdGhpcy5fX2F4aXN9ZnVuY3Rpb24gQih0LG4pe3ZhciBlPVtdLHI9bnVsbCxpPW51bGwsbz02LGE9Nix1PTMsZj10PT09enx8dD09PUQ/LTE6MSxjPXQ9PT1EfHx0PT09Uj8ieCI6InkiLHM9dD09PXp8fHQ9PT1MP3E6TztmdW5jdGlvbiBsKGwpe3ZhciBoPW51bGw9PXI/bi50aWNrcz9uLnRpY2tzLmFwcGx5KG4sZSk6bi5kb21haW4oKTpyLGQ9bnVsbD09aT9uLnRpY2tGb3JtYXQ/bi50aWNrRm9ybWF0LmFwcGx5KG4sZSk6UDppLHA9TWF0aC5tYXgobywwKSt1LHY9bi5yYW5nZSgpLGc9K3ZbMF0rLjUseT0rdlt2Lmxlbmd0aC0xXSsuNSxfPShuLmJhbmR3aWR0aD9mdW5jdGlvbih0KXt2YXIgbj1NYXRoLm1heCgwLHQuYmFuZHdpZHRoKCktMSkvMjtyZXR1cm4gdC5yb3VuZCgpJiYobj1NYXRoLnJvdW5kKG4pKSxmdW5jdGlvbihlKXtyZXR1cm4rdChlKStufX06ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybit0KG4pfX0pKG4uY29weSgpKSxiPWwuc2VsZWN0aW9uP2wuc2VsZWN0aW9uKCk6bCxtPWIuc2VsZWN0QWxsKCIuZG9tYWluIikuZGF0YShbbnVsbF0pLHg9Yi5zZWxlY3RBbGwoIi50aWNrIikuZGF0YShoLG4pLm9yZGVyKCksdz14LmV4aXQoKSxNPXguZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsInRpY2siKSxBPXguc2VsZWN0KCJsaW5lIiksVD14LnNlbGVjdCgidGV4dCIpO209bS5tZXJnZShtLmVudGVyKCkuaW5zZXJ0KCJwYXRoIiwiLnRpY2siKS5hdHRyKCJjbGFzcyIsImRvbWFpbiIpLmF0dHIoInN0cm9rZSIsImN1cnJlbnRDb2xvciIpKSx4PXgubWVyZ2UoTSksQT1BLm1lcmdlKE0uYXBwZW5kKCJsaW5lIikuYXR0cigic3Ryb2tlIiwiY3VycmVudENvbG9yIikuYXR0cihjKyIyIixmKm8pKSxUPVQubWVyZ2UoTS5hcHBlbmQoInRleHQiKS5hdHRyKCJmaWxsIiwiY3VycmVudENvbG9yIikuYXR0cihjLGYqcCkuYXR0cigiZHkiLHQ9PT16PyIwZW0iOnQ9PT1MPyIwLjcxZW0iOiIwLjMyZW0iKSksbCE9PWImJihtPW0udHJhbnNpdGlvbihsKSx4PXgudHJhbnNpdGlvbihsKSxBPUEudHJhbnNpdGlvbihsKSxUPVQudHJhbnNpdGlvbihsKSx3PXcudHJhbnNpdGlvbihsKS5hdHRyKCJvcGFjaXR5IixVKS5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKHQpe3JldHVybiBpc0Zpbml0ZSh0PV8odCkpP3ModCk6dGhpcy5nZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIpfSksTS5hdHRyKCJvcGFjaXR5IixVKS5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMucGFyZW50Tm9kZS5fX2F4aXM7cmV0dXJuIHMobiYmaXNGaW5pdGUobj1uKHQpKT9uOl8odCkpfSkpLHcucmVtb3ZlKCksbS5hdHRyKCJkIix0PT09RHx8dD09Uj9hPyJNIitmKmErIiwiK2crIkgwLjVWIit5KyJIIitmKmE6Ik0wLjUsIitnKyJWIit5OmE/Ik0iK2crIiwiK2YqYSsiVjAuNUgiK3krIlYiK2YqYToiTSIrZysiLDAuNUgiK3kpLHguYXR0cigib3BhY2l0eSIsMSkuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbih0KXtyZXR1cm4gcyhfKHQpKX0pLEEuYXR0cihjKyIyIixmKm8pLFQuYXR0cihjLGYqcCkudGV4dChkKSxiLmZpbHRlcihZKS5hdHRyKCJmaWxsIiwibm9uZSIpLmF0dHIoImZvbnQtc2l6ZSIsMTApLmF0dHIoImZvbnQtZmFtaWx5Iiwic2Fucy1zZXJpZiIpLmF0dHIoInRleHQtYW5jaG9yIix0PT09Uj8ic3RhcnQiOnQ9PT1EPyJlbmQiOiJtaWRkbGUiKSxiLmVhY2goZnVuY3Rpb24oKXt0aGlzLl9fYXhpcz1ffSl9cmV0dXJuIGwuc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxsKTpufSxsLnRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIGU9Qy5jYWxsKGFyZ3VtZW50cyksbH0sbC50aWNrQXJndW1lbnRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPW51bGw9PXQ/W106Qy5jYWxsKHQpLGwpOmUuc2xpY2UoKX0sbC50aWNrVmFsdWVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPW51bGw9PXQ/bnVsbDpDLmNhbGwodCksbCk6ciYmci5zbGljZSgpfSxsLnRpY2tGb3JtYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9dCxsKTppfSxsLnRpY2tTaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPWE9K3QsbCk6b30sbC50aWNrU2l6ZUlubmVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSt0LGwpOm99LGwudGlja1NpemVPdXRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0rdCxsKTphfSxsLnRpY2tQYWRkaW5nPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PSt0LGwpOnV9LGx9dmFyIEY9e3ZhbHVlOmZ1bmN0aW9uKCl7fX07ZnVuY3Rpb24gSSgpe2Zvcih2YXIgdCxuPTAsZT1hcmd1bWVudHMubGVuZ3RoLHI9e307bjxlOysrbil7aWYoISh0PWFyZ3VtZW50c1tuXSsiIil8fHQgaW4gcil0aHJvdyBuZXcgRXJyb3IoImlsbGVnYWwgdHlwZTogIit0KTtyW3RdPVtdfXJldHVybiBuZXcgSChyKX1mdW5jdGlvbiBIKHQpe3RoaXMuXz10fWZ1bmN0aW9uIGoodCxuKXtmb3IodmFyIGUscj0wLGk9dC5sZW5ndGg7cjxpOysrcilpZigoZT10W3JdKS5uYW1lPT09bilyZXR1cm4gZS52YWx1ZX1mdW5jdGlvbiBYKHQsbixlKXtmb3IodmFyIHI9MCxpPXQubGVuZ3RoO3I8aTsrK3IpaWYodFtyXS5uYW1lPT09bil7dFtyXT1GLHQ9dC5zbGljZSgwLHIpLmNvbmNhdCh0LnNsaWNlKHIrMSkpO2JyZWFrfXJldHVybiBudWxsIT1lJiZ0LnB1c2goe25hbWU6bix2YWx1ZTplfSksdH1ILnByb3RvdHlwZT1JLnByb3RvdHlwZT17Y29uc3RydWN0b3I6SCxvbjpmdW5jdGlvbih0LG4pe3ZhciBlLHIsaT10aGlzLl8sbz0ocj1pLCh0KyIiKS50cmltKCkuc3BsaXQoL158XHMrLykubWFwKGZ1bmN0aW9uKHQpe3ZhciBuPSIiLGU9dC5pbmRleE9mKCIuIik7aWYoZT49MCYmKG49dC5zbGljZShlKzEpLHQ9dC5zbGljZSgwLGUpKSx0JiYhci5oYXNPd25Qcm9wZXJ0eSh0KSl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlwZTogIit0KTtyZXR1cm57dHlwZTp0LG5hbWU6bn19KSksYT0tMSx1PW8ubGVuZ3RoO2lmKCEoYXJndW1lbnRzLmxlbmd0aDwyKSl7aWYobnVsbCE9biYmImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhbGxiYWNrOiAiK24pO2Zvcig7KythPHU7KWlmKGU9KHQ9b1thXSkudHlwZSlpW2VdPVgoaVtlXSx0Lm5hbWUsbik7ZWxzZSBpZihudWxsPT1uKWZvcihlIGluIGkpaVtlXT1YKGlbZV0sdC5uYW1lLG51bGwpO3JldHVybiB0aGlzfWZvcig7KythPHU7KWlmKChlPSh0PW9bYV0pLnR5cGUpJiYoZT1qKGlbZV0sdC5uYW1lKSkpcmV0dXJuIGV9LGNvcHk6ZnVuY3Rpb24oKXt2YXIgdD17fSxuPXRoaXMuXztmb3IodmFyIGUgaW4gbil0W2VdPW5bZV0uc2xpY2UoKTtyZXR1cm4gbmV3IEgodCl9LGNhbGw6ZnVuY3Rpb24odCxuKXtpZigoZT1hcmd1bWVudHMubGVuZ3RoLTIpPjApZm9yKHZhciBlLHIsaT1uZXcgQXJyYXkoZSksbz0wO288ZTsrK28paVtvXT1hcmd1bWVudHNbbysyXTtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2ZvcihvPTAsZT0ocj10aGlzLl9bdF0pLmxlbmd0aDtvPGU7KytvKXJbb10udmFsdWUuYXBwbHkobixpKX0sYXBwbHk6ZnVuY3Rpb24odCxuLGUpe2lmKCF0aGlzLl8uaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7Zm9yKHZhciByPXRoaXMuX1t0XSxpPTAsbz1yLmxlbmd0aDtpPG87KytpKXJbaV0udmFsdWUuYXBwbHkobixlKX19O3ZhciBHPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIixWPXtzdmc6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix4aHRtbDpHLHhsaW5rOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIix4bWw6Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIn07ZnVuY3Rpb24gJCh0KXt2YXIgbj10Kz0iIixlPW4uaW5kZXhPZigiOiIpO3JldHVybiBlPj0wJiYieG1sbnMiIT09KG49dC5zbGljZSgwLGUpKSYmKHQ9dC5zbGljZShlKzEpKSxWLmhhc093blByb3BlcnR5KG4pP3tzcGFjZTpWW25dLGxvY2FsOnR9OnR9ZnVuY3Rpb24gVyh0KXt2YXIgbj0kKHQpO3JldHVybihuLmxvY2FsP2Z1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHQuc3BhY2UsdC5sb2NhbCl9fTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj10aGlzLm93bmVyRG9jdW1lbnQsZT10aGlzLm5hbWVzcGFjZVVSSTtyZXR1cm4gZT09PUcmJm4uZG9jdW1lbnRFbGVtZW50Lm5hbWVzcGFjZVVSST09PUc/bi5jcmVhdGVFbGVtZW50KHQpOm4uY3JlYXRlRWxlbWVudE5TKGUsdCl9fSkobil9ZnVuY3Rpb24gWigpe31mdW5jdGlvbiBRKHQpe3JldHVybiBudWxsPT10P1o6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yKHQpfX1mdW5jdGlvbiBKKCl7cmV0dXJuW119ZnVuY3Rpb24gSyh0KXtyZXR1cm4gbnVsbD09dD9KOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucXVlcnlTZWxlY3RvckFsbCh0KX19dmFyIHR0PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hdGNoZXModCl9fTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50KXt2YXIgbnQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O2lmKCFudC5tYXRjaGVzKXt2YXIgZXQ9bnQud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxudC5tc01hdGNoZXNTZWxlY3Rvcnx8bnQubW96TWF0Y2hlc1NlbGVjdG9yfHxudC5vTWF0Y2hlc1NlbGVjdG9yO3R0PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBldC5jYWxsKHRoaXMsdCl9fX19dmFyIHJ0PXR0O2Z1bmN0aW9uIGl0KHQpe3JldHVybiBuZXcgQXJyYXkodC5sZW5ndGgpfWZ1bmN0aW9uIG90KHQsbil7dGhpcy5vd25lckRvY3VtZW50PXQub3duZXJEb2N1bWVudCx0aGlzLm5hbWVzcGFjZVVSST10Lm5hbWVzcGFjZVVSSSx0aGlzLl9uZXh0PW51bGwsdGhpcy5fcGFyZW50PXQsdGhpcy5fX2RhdGFfXz1ufW90LnByb3RvdHlwZT17Y29uc3RydWN0b3I6b3QsYXBwZW5kQ2hpbGQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhcmVudC5pbnNlcnRCZWZvcmUodCx0aGlzLl9uZXh0KX0saW5zZXJ0QmVmb3JlOmZ1bmN0aW9uKHQsbil7cmV0dXJuIHRoaXMuX3BhcmVudC5pbnNlcnRCZWZvcmUodCxuKX0scXVlcnlTZWxlY3RvcjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcGFyZW50LnF1ZXJ5U2VsZWN0b3IodCl9LHF1ZXJ5U2VsZWN0b3JBbGw6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhcmVudC5xdWVyeVNlbGVjdG9yQWxsKHQpfX07dmFyIGF0PSIkIjtmdW5jdGlvbiB1dCh0LG4sZSxyLGksbyl7Zm9yKHZhciBhLHU9MCxmPW4ubGVuZ3RoLGM9by5sZW5ndGg7dTxjOysrdSkoYT1uW3VdKT8oYS5fX2RhdGFfXz1vW3VdLHJbdV09YSk6ZVt1XT1uZXcgb3QodCxvW3VdKTtmb3IoO3U8ZjsrK3UpKGE9blt1XSkmJihpW3VdPWEpfWZ1bmN0aW9uIGZ0KHQsbixlLHIsaSxvLGEpe3ZhciB1LGYsYyxzPXt9LGw9bi5sZW5ndGgsaD1vLmxlbmd0aCxkPW5ldyBBcnJheShsKTtmb3IodT0wO3U8bDsrK3UpKGY9blt1XSkmJihkW3VdPWM9YXQrYS5jYWxsKGYsZi5fX2RhdGFfXyx1LG4pLGMgaW4gcz9pW3VdPWY6c1tjXT1mKTtmb3IodT0wO3U8aDsrK3UpKGY9c1tjPWF0K2EuY2FsbCh0LG9bdV0sdSxvKV0pPyhyW3VdPWYsZi5fX2RhdGFfXz1vW3VdLHNbY109bnVsbCk6ZVt1XT1uZXcgb3QodCxvW3VdKTtmb3IodT0wO3U8bDsrK3UpKGY9blt1XSkmJnNbZFt1XV09PT1mJiYoaVt1XT1mKX1mdW5jdGlvbiBjdCh0LG4pe3JldHVybiB0PG4/LTE6dD5uPzE6dD49bj8wOk5hTn1mdW5jdGlvbiBzdCh0KXtyZXR1cm4gdC5vd25lckRvY3VtZW50JiZ0Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd8fHQuZG9jdW1lbnQmJnR8fHQuZGVmYXVsdFZpZXd9ZnVuY3Rpb24gbHQodCxuKXtyZXR1cm4gdC5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKG4pfHxzdCh0KS5nZXRDb21wdXRlZFN0eWxlKHQsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShuKX1mdW5jdGlvbiBodCh0KXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLyl9ZnVuY3Rpb24gZHQodCl7cmV0dXJuIHQuY2xhc3NMaXN0fHxuZXcgcHQodCl9ZnVuY3Rpb24gcHQodCl7dGhpcy5fbm9kZT10LHRoaXMuX25hbWVzPWh0KHQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9ZnVuY3Rpb24gdnQodCxuKXtmb3IodmFyIGU9ZHQodCkscj0tMSxpPW4ubGVuZ3RoOysrcjxpOyllLmFkZChuW3JdKX1mdW5jdGlvbiBndCh0LG4pe2Zvcih2YXIgZT1kdCh0KSxyPS0xLGk9bi5sZW5ndGg7KytyPGk7KWUucmVtb3ZlKG5bcl0pfWZ1bmN0aW9uIHl0KCl7dGhpcy50ZXh0Q29udGVudD0iIn1mdW5jdGlvbiBfdCgpe3RoaXMuaW5uZXJIVE1MPSIifWZ1bmN0aW9uIGJ0KCl7dGhpcy5uZXh0U2libGluZyYmdGhpcy5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHRoaXMpfWZ1bmN0aW9uIG10KCl7dGhpcy5wcmV2aW91c1NpYmxpbmcmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcyx0aGlzLnBhcmVudE5vZGUuZmlyc3RDaGlsZCl9ZnVuY3Rpb24geHQoKXtyZXR1cm4gbnVsbH1mdW5jdGlvbiB3dCgpe3ZhciB0PXRoaXMucGFyZW50Tm9kZTt0JiZ0LnJlbW92ZUNoaWxkKHRoaXMpfWZ1bmN0aW9uIE10KCl7cmV0dXJuIHRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5jbG9uZU5vZGUoITEpLHRoaXMubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIEF0KCl7cmV0dXJuIHRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5jbG9uZU5vZGUoITApLHRoaXMubmV4dFNpYmxpbmcpfXB0LnByb3RvdHlwZT17YWRkOmZ1bmN0aW9uKHQpe3RoaXMuX25hbWVzLmluZGV4T2YodCk8MCYmKHRoaXMuX25hbWVzLnB1c2godCksdGhpcy5fbm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIix0aGlzLl9uYW1lcy5qb2luKCIgIikpKX0scmVtb3ZlOmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMuX25hbWVzLmluZGV4T2YodCk7bj49MCYmKHRoaXMuX25hbWVzLnNwbGljZShuLDEpLHRoaXMuX25vZGUuc2V0QXR0cmlidXRlKCJjbGFzcyIsdGhpcy5fbmFtZXMuam9pbigiICIpKSl9LGNvbnRhaW5zOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9uYW1lcy5pbmRleE9mKHQpPj0wfX07dmFyIFR0PXt9Oyh0LmV2ZW50PW51bGwsInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCkmJigib25tb3VzZWVudGVyImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8KFR0PXttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0In0pKTtmdW5jdGlvbiBOdCh0LG4sZSl7cmV0dXJuIHQ9U3QodCxuLGUpLGZ1bmN0aW9uKG4pe3ZhciBlPW4ucmVsYXRlZFRhcmdldDtlJiYoZT09PXRoaXN8fDgmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzKSl8fHQuY2FsbCh0aGlzLG4pfX1mdW5jdGlvbiBTdChuLGUscil7cmV0dXJuIGZ1bmN0aW9uKGkpe3ZhciBvPXQuZXZlbnQ7dC5ldmVudD1pO3RyeXtuLmNhbGwodGhpcyx0aGlzLl9fZGF0YV9fLGUscil9ZmluYWxseXt0LmV2ZW50PW99fX1mdW5jdGlvbiBFdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj10aGlzLl9fb247aWYobil7Zm9yKHZhciBlLHI9MCxpPS0xLG89bi5sZW5ndGg7cjxvOysrcillPW5bcl0sdC50eXBlJiZlLnR5cGUhPT10LnR5cGV8fGUubmFtZSE9PXQubmFtZT9uWysraV09ZTp0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZS50eXBlLGUubGlzdGVuZXIsZS5jYXB0dXJlKTsrK2k/bi5sZW5ndGg9aTpkZWxldGUgdGhpcy5fX29ufX19ZnVuY3Rpb24ga3QodCxuLGUpe3ZhciByPVR0Lmhhc093blByb3BlcnR5KHQudHlwZSk/TnQ6U3Q7cmV0dXJuIGZ1bmN0aW9uKGksbyxhKXt2YXIgdSxmPXRoaXMuX19vbixjPXIobixvLGEpO2lmKGYpZm9yKHZhciBzPTAsbD1mLmxlbmd0aDtzPGw7KytzKWlmKCh1PWZbc10pLnR5cGU9PT10LnR5cGUmJnUubmFtZT09PXQubmFtZSlyZXR1cm4gdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKHUudHlwZSx1Lmxpc3RlbmVyLHUuY2FwdHVyZSksdGhpcy5hZGRFdmVudExpc3RlbmVyKHUudHlwZSx1Lmxpc3RlbmVyPWMsdS5jYXB0dXJlPWUpLHZvaWQodS52YWx1ZT1uKTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIodC50eXBlLGMsZSksdT17dHlwZTp0LnR5cGUsbmFtZTp0Lm5hbWUsdmFsdWU6bixsaXN0ZW5lcjpjLGNhcHR1cmU6ZX0sZj9mLnB1c2godSk6dGhpcy5fX29uPVt1XX19ZnVuY3Rpb24gQ3QobixlLHIsaSl7dmFyIG89dC5ldmVudDtuLnNvdXJjZUV2ZW50PXQuZXZlbnQsdC5ldmVudD1uO3RyeXtyZXR1cm4gZS5hcHBseShyLGkpfWZpbmFsbHl7dC5ldmVudD1vfX1mdW5jdGlvbiBQdCh0LG4sZSl7dmFyIHI9c3QodCksaT1yLkN1c3RvbUV2ZW50OyJmdW5jdGlvbiI9PXR5cGVvZiBpP2k9bmV3IGkobixlKTooaT1yLmRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpLGU/KGkuaW5pdEV2ZW50KG4sZS5idWJibGVzLGUuY2FuY2VsYWJsZSksaS5kZXRhaWw9ZS5kZXRhaWwpOmkuaW5pdEV2ZW50KG4sITEsITEpKSx0LmRpc3BhdGNoRXZlbnQoaSl9dmFyIHp0PVtudWxsXTtmdW5jdGlvbiBSdCh0LG4pe3RoaXMuX2dyb3Vwcz10LHRoaXMuX3BhcmVudHM9bn1mdW5jdGlvbiBMdCgpe3JldHVybiBuZXcgUnQoW1tkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdXSx6dCl9ZnVuY3Rpb24gRHQodCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P25ldyBSdChbW2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodCldXSxbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSk6bmV3IFJ0KFtbdF1dLHp0KX1SdC5wcm90b3R5cGU9THQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpSdCxzZWxlY3Q6ZnVuY3Rpb24odCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PVEodCkpO2Zvcih2YXIgbj10aGlzLl9ncm91cHMsZT1uLmxlbmd0aCxyPW5ldyBBcnJheShlKSxpPTA7aTxlOysraSlmb3IodmFyIG8sYSx1PW5baV0sZj11Lmxlbmd0aCxjPXJbaV09bmV3IEFycmF5KGYpLHM9MDtzPGY7KytzKShvPXVbc10pJiYoYT10LmNhbGwobyxvLl9fZGF0YV9fLHMsdSkpJiYoIl9fZGF0YV9fImluIG8mJihhLl9fZGF0YV9fPW8uX19kYXRhX18pLGNbc109YSk7cmV0dXJuIG5ldyBSdChyLHRoaXMuX3BhcmVudHMpfSxzZWxlY3RBbGw6ZnVuY3Rpb24odCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PUsodCkpO2Zvcih2YXIgbj10aGlzLl9ncm91cHMsZT1uLmxlbmd0aCxyPVtdLGk9W10sbz0wO288ZTsrK28pZm9yKHZhciBhLHU9bltvXSxmPXUubGVuZ3RoLGM9MDtjPGY7KytjKShhPXVbY10pJiYoci5wdXNoKHQuY2FsbChhLGEuX19kYXRhX18sYyx1KSksaS5wdXNoKGEpKTtyZXR1cm4gbmV3IFJ0KHIsaSl9LGZpbHRlcjpmdW5jdGlvbih0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9cnQodCkpO2Zvcih2YXIgbj10aGlzLl9ncm91cHMsZT1uLmxlbmd0aCxyPW5ldyBBcnJheShlKSxpPTA7aTxlOysraSlmb3IodmFyIG8sYT1uW2ldLHU9YS5sZW5ndGgsZj1yW2ldPVtdLGM9MDtjPHU7KytjKShvPWFbY10pJiZ0LmNhbGwobyxvLl9fZGF0YV9fLGMsYSkmJmYucHVzaChvKTtyZXR1cm4gbmV3IFJ0KHIsdGhpcy5fcGFyZW50cyl9LGRhdGE6ZnVuY3Rpb24odCxuKXtpZighdClyZXR1cm4gcD1uZXcgQXJyYXkodGhpcy5zaXplKCkpLHM9LTEsdGhpcy5lYWNoKGZ1bmN0aW9uKHQpe3BbKytzXT10fSkscDt2YXIgZSxyPW4/ZnQ6dXQsaT10aGlzLl9wYXJlbnRzLG89dGhpcy5fZ3JvdXBzOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYoZT10LHQ9ZnVuY3Rpb24oKXtyZXR1cm4gZX0pO2Zvcih2YXIgYT1vLmxlbmd0aCx1PW5ldyBBcnJheShhKSxmPW5ldyBBcnJheShhKSxjPW5ldyBBcnJheShhKSxzPTA7czxhOysrcyl7dmFyIGw9aVtzXSxoPW9bc10sZD1oLmxlbmd0aCxwPXQuY2FsbChsLGwmJmwuX19kYXRhX18scyxpKSx2PXAubGVuZ3RoLGc9ZltzXT1uZXcgQXJyYXkodikseT11W3NdPW5ldyBBcnJheSh2KTtyKGwsaCxnLHksY1tzXT1uZXcgQXJyYXkoZCkscCxuKTtmb3IodmFyIF8sYixtPTAseD0wO208djsrK20paWYoXz1nW21dKXtmb3IobT49eCYmKHg9bSsxKTshKGI9eVt4XSkmJisreDx2Oyk7Xy5fbmV4dD1ifHxudWxsfX1yZXR1cm4odT1uZXcgUnQodSxpKSkuX2VudGVyPWYsdS5fZXhpdD1jLHV9LGVudGVyOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBSdCh0aGlzLl9lbnRlcnx8dGhpcy5fZ3JvdXBzLm1hcChpdCksdGhpcy5fcGFyZW50cyl9LGV4aXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFJ0KHRoaXMuX2V4aXR8fHRoaXMuX2dyb3Vwcy5tYXAoaXQpLHRoaXMuX3BhcmVudHMpfSxtZXJnZTpmdW5jdGlvbih0KXtmb3IodmFyIG49dGhpcy5fZ3JvdXBzLGU9dC5fZ3JvdXBzLHI9bi5sZW5ndGgsaT1lLmxlbmd0aCxvPU1hdGgubWluKHIsaSksYT1uZXcgQXJyYXkociksdT0wO3U8bzsrK3UpZm9yKHZhciBmLGM9blt1XSxzPWVbdV0sbD1jLmxlbmd0aCxoPWFbdV09bmV3IEFycmF5KGwpLGQ9MDtkPGw7KytkKShmPWNbZF18fHNbZF0pJiYoaFtkXT1mKTtmb3IoO3U8cjsrK3UpYVt1XT1uW3VdO3JldHVybiBuZXcgUnQoYSx0aGlzLl9wYXJlbnRzKX0sb3JkZXI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5fZ3JvdXBzLG49LTEsZT10Lmxlbmd0aDsrK248ZTspZm9yKHZhciByLGk9dFtuXSxvPWkubGVuZ3RoLTEsYT1pW29dOy0tbz49MDspKHI9aVtvXSkmJihhJiZhIT09ci5uZXh0U2libGluZyYmYS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGEpLGE9cik7cmV0dXJuIHRoaXN9LHNvcnQ6ZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihuLGUpe3JldHVybiBuJiZlP3Qobi5fX2RhdGFfXyxlLl9fZGF0YV9fKTohbi0hZX10fHwodD1jdCk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxyPWUubGVuZ3RoLGk9bmV3IEFycmF5KHIpLG89MDtvPHI7KytvKXtmb3IodmFyIGEsdT1lW29dLGY9dS5sZW5ndGgsYz1pW29dPW5ldyBBcnJheShmKSxzPTA7czxmOysrcykoYT11W3NdKSYmKGNbc109YSk7Yy5zb3J0KG4pfXJldHVybiBuZXcgUnQoaSx0aGlzLl9wYXJlbnRzKS5vcmRlcigpfSxjYWxsOmZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzWzBdO3JldHVybiBhcmd1bWVudHNbMF09dGhpcyx0LmFwcGx5KG51bGwsYXJndW1lbnRzKSx0aGlzfSxub2RlczpmdW5jdGlvbigpe3ZhciB0PW5ldyBBcnJheSh0aGlzLnNpemUoKSksbj0tMTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dFsrK25dPXRoaXN9KSx0fSxub2RlOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuX2dyb3VwcyxuPTAsZT10Lmxlbmd0aDtuPGU7KytuKWZvcih2YXIgcj10W25dLGk9MCxvPXIubGVuZ3RoO2k8bzsrK2kpe3ZhciBhPXJbaV07aWYoYSlyZXR1cm4gYX1yZXR1cm4gbnVsbH0sc2l6ZTpmdW5jdGlvbigpe3ZhciB0PTA7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpeysrdH0pLHR9LGVtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMubm9kZSgpfSxlYWNoOmZ1bmN0aW9uKHQpe2Zvcih2YXIgbj10aGlzLl9ncm91cHMsZT0wLHI9bi5sZW5ndGg7ZTxyOysrZSlmb3IodmFyIGksbz1uW2VdLGE9MCx1PW8ubGVuZ3RoO2E8dTsrK2EpKGk9b1thXSkmJnQuY2FsbChpLGkuX19kYXRhX18sYSxvKTtyZXR1cm4gdGhpc30sYXR0cjpmdW5jdGlvbih0LG4pe3ZhciBlPSQodCk7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXt2YXIgcj10aGlzLm5vZGUoKTtyZXR1cm4gZS5sb2NhbD9yLmdldEF0dHJpYnV0ZU5TKGUuc3BhY2UsZS5sb2NhbCk6ci5nZXRBdHRyaWJ1dGUoZSl9cmV0dXJuIHRoaXMuZWFjaCgobnVsbD09bj9lLmxvY2FsP2Z1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKX19OmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpfX06ImZ1bmN0aW9uIj09dHlwZW9mIG4/ZS5sb2NhbD9mdW5jdGlvbih0LG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PWU/dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpOnRoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLGUpfX06ZnVuY3Rpb24odCxuKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1lP3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpOnRoaXMuc2V0QXR0cmlidXRlKHQsZSl9fTplLmxvY2FsP2Z1bmN0aW9uKHQsbil7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5zZXRBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwsbil9fTpmdW5jdGlvbih0LG4pe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlKHQsbil9fSkoZSxuKSl9LHN0eWxlOmZ1bmN0aW9uKHQsbixlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4xP3RoaXMuZWFjaCgobnVsbD09bj9mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfX06ImZ1bmN0aW9uIj09dHlwZW9mIG4/ZnVuY3Rpb24odCxuLGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciByPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PXI/dGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KTp0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQscixlKX19OmZ1bmN0aW9uKHQsbixlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsbixlKX19KSh0LG4sbnVsbD09ZT8iIjplKSk6bHQodGhpcy5ub2RlKCksdCl9LHByb3BlcnR5OmZ1bmN0aW9uKHQsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goKG51bGw9PW4/ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXNbdF19fToiZnVuY3Rpb24iPT10eXBlb2Ygbj9mdW5jdGlvbih0LG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PWU/ZGVsZXRlIHRoaXNbdF06dGhpc1t0XT1lfX06ZnVuY3Rpb24odCxuKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzW3RdPW59fSkodCxuKSk6dGhpcy5ub2RlKClbdF19LGNsYXNzZWQ6ZnVuY3Rpb24odCxuKXt2YXIgZT1odCh0KyIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpe2Zvcih2YXIgcj1kdCh0aGlzLm5vZGUoKSksaT0tMSxvPWUubGVuZ3RoOysraTxvOylpZighci5jb250YWlucyhlW2ldKSlyZXR1cm4hMTtyZXR1cm4hMH1yZXR1cm4gdGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2Ygbj9mdW5jdGlvbih0LG4pe3JldHVybiBmdW5jdGlvbigpeyhuLmFwcGx5KHRoaXMsYXJndW1lbnRzKT92dDpndCkodGhpcyx0KX19Om4/ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dnQodGhpcyx0KX19OmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe2d0KHRoaXMsdCl9fSkoZSxuKSl9LHRleHQ6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKG51bGw9PXQ/eXQ6KCJmdW5jdGlvbiI9PXR5cGVvZiB0P2Z1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMudGV4dENvbnRlbnQ9bnVsbD09bj8iIjpufX06ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy50ZXh0Q29udGVudD10fX0pKHQpKTp0aGlzLm5vZGUoKS50ZXh0Q29udGVudH0saHRtbDpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmVhY2gobnVsbD09dD9fdDooImZ1bmN0aW9uIj09dHlwZW9mIHQ/ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49dC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5pbm5lckhUTUw9bnVsbD09bj8iIjpufX06ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5pbm5lckhUTUw9dH19KSh0KSk6dGhpcy5ub2RlKCkuaW5uZXJIVE1MfSxyYWlzZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goYnQpfSxsb3dlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2gobXQpfSxhcHBlbmQ6ZnVuY3Rpb24odCl7dmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpXKHQpO3JldHVybiB0aGlzLnNlbGVjdChmdW5jdGlvbigpe3JldHVybiB0aGlzLmFwcGVuZENoaWxkKG4uYXBwbHkodGhpcyxhcmd1bWVudHMpKX0pfSxpbnNlcnQ6ZnVuY3Rpb24odCxuKXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlcodCkscj1udWxsPT1uP3h0OiJmdW5jdGlvbiI9PXR5cGVvZiBuP246UShuKTtyZXR1cm4gdGhpcy5zZWxlY3QoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbnNlcnRCZWZvcmUoZS5hcHBseSh0aGlzLGFyZ3VtZW50cyksci5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fG51bGwpfSl9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2god3QpfSxjbG9uZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zZWxlY3QodD9BdDpNdCl9LGRhdHVtOmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMucHJvcGVydHkoIl9fZGF0YV9fIix0KTp0aGlzLm5vZGUoKS5fX2RhdGFfX30sb246ZnVuY3Rpb24odCxuLGUpe3ZhciByLGksbz1mdW5jdGlvbih0KXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLykubWFwKGZ1bmN0aW9uKHQpe3ZhciBuPSIiLGU9dC5pbmRleE9mKCIuIik7cmV0dXJuIGU+PTAmJihuPXQuc2xpY2UoZSsxKSx0PXQuc2xpY2UoMCxlKSkse3R5cGU6dCxuYW1lOm59fSl9KHQrIiIpLGE9by5sZW5ndGg7aWYoIShhcmd1bWVudHMubGVuZ3RoPDIpKXtmb3IodT1uP2t0OkV0LG51bGw9PWUmJihlPSExKSxyPTA7cjxhOysrcil0aGlzLmVhY2godShvW3JdLG4sZSkpO3JldHVybiB0aGlzfXZhciB1PXRoaXMubm9kZSgpLl9fb247aWYodSlmb3IodmFyIGYsYz0wLHM9dS5sZW5ndGg7YzxzOysrYylmb3Iocj0wLGY9dVtjXTtyPGE7KytyKWlmKChpPW9bcl0pLnR5cGU9PT1mLnR5cGUmJmkubmFtZT09PWYubmFtZSlyZXR1cm4gZi52YWx1ZX0sZGlzcGF0Y2g6ZnVuY3Rpb24odCxuKXtyZXR1cm4gdGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2Ygbj9mdW5jdGlvbih0LG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBQdCh0aGlzLHQsbi5hcHBseSh0aGlzLGFyZ3VtZW50cykpfX06ZnVuY3Rpb24odCxuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gUHQodGhpcyx0LG4pfX0pKHQsbikpfX07dmFyIFV0PTA7ZnVuY3Rpb24gcXQoKXtyZXR1cm4gbmV3IE90fWZ1bmN0aW9uIE90KCl7dGhpcy5fPSJAIisoKytVdCkudG9TdHJpbmcoMzYpfWZ1bmN0aW9uIFl0KCl7Zm9yKHZhciBuLGU9dC5ldmVudDtuPWUuc291cmNlRXZlbnQ7KWU9bjtyZXR1cm4gZX1mdW5jdGlvbiBCdCh0LG4pe3ZhciBlPXQub3duZXJTVkdFbGVtZW50fHx0O2lmKGUuY3JlYXRlU1ZHUG9pbnQpe3ZhciByPWUuY3JlYXRlU1ZHUG9pbnQoKTtyZXR1cm4gci54PW4uY2xpZW50WCxyLnk9bi5jbGllbnRZLFsocj1yLm1hdHJpeFRyYW5zZm9ybSh0LmdldFNjcmVlbkNUTSgpLmludmVyc2UoKSkpLngsci55XX12YXIgaT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybltuLmNsaWVudFgtaS5sZWZ0LXQuY2xpZW50TGVmdCxuLmNsaWVudFktaS50b3AtdC5jbGllbnRUb3BdfWZ1bmN0aW9uIEZ0KHQpe3ZhciBuPVl0KCk7cmV0dXJuIG4uY2hhbmdlZFRvdWNoZXMmJihuPW4uY2hhbmdlZFRvdWNoZXNbMF0pLEJ0KHQsbil9ZnVuY3Rpb24gSXQodCxuLGUpe2FyZ3VtZW50cy5sZW5ndGg8MyYmKGU9bixuPVl0KCkuY2hhbmdlZFRvdWNoZXMpO2Zvcih2YXIgcixpPTAsbz1uP24ubGVuZ3RoOjA7aTxvOysraSlpZigocj1uW2ldKS5pZGVudGlmaWVyPT09ZSlyZXR1cm4gQnQodCxyKTtyZXR1cm4gbnVsbH1mdW5jdGlvbiBIdCgpe3QuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24ganQoKXt0LmV2ZW50LnByZXZlbnREZWZhdWx0KCksdC5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBYdCh0KXt2YXIgbj10LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxlPUR0KHQpLm9uKCJkcmFnc3RhcnQuZHJhZyIsanQsITApOyJvbnNlbGVjdHN0YXJ0ImluIG4/ZS5vbigic2VsZWN0c3RhcnQuZHJhZyIsanQsITApOihuLl9fbm9zZWxlY3Q9bi5zdHlsZS5Nb3pVc2VyU2VsZWN0LG4uc3R5bGUuTW96VXNlclNlbGVjdD0ibm9uZSIpfWZ1bmN0aW9uIEd0KHQsbil7dmFyIGU9dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQscj1EdCh0KS5vbigiZHJhZ3N0YXJ0LmRyYWciLG51bGwpO24mJihyLm9uKCJjbGljay5kcmFnIixqdCwhMCksc2V0VGltZW91dChmdW5jdGlvbigpe3Iub24oImNsaWNrLmRyYWciLG51bGwpfSwwKSksIm9uc2VsZWN0c3RhcnQiaW4gZT9yLm9uKCJzZWxlY3RzdGFydC5kcmFnIixudWxsKTooZS5zdHlsZS5Nb3pVc2VyU2VsZWN0PWUuX19ub3NlbGVjdCxkZWxldGUgZS5fX25vc2VsZWN0KX1mdW5jdGlvbiBWdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gJHQodCxuLGUscixpLG8sYSx1LGYsYyl7dGhpcy50YXJnZXQ9dCx0aGlzLnR5cGU9bix0aGlzLnN1YmplY3Q9ZSx0aGlzLmlkZW50aWZpZXI9cix0aGlzLmFjdGl2ZT1pLHRoaXMueD1vLHRoaXMueT1hLHRoaXMuZHg9dSx0aGlzLmR5PWYsdGhpcy5fPWN9ZnVuY3Rpb24gV3QoKXtyZXR1cm4hdC5ldmVudC5idXR0b259ZnVuY3Rpb24gWnQoKXtyZXR1cm4gdGhpcy5wYXJlbnROb2RlfWZ1bmN0aW9uIFF0KG4pe3JldHVybiBudWxsPT1uP3t4OnQuZXZlbnQueCx5OnQuZXZlbnQueX06bn1mdW5jdGlvbiBKdCgpe3JldHVybiJvbnRvdWNoc3RhcnQiaW4gdGhpc31mdW5jdGlvbiBLdCh0LG4sZSl7dC5wcm90b3R5cGU9bi5wcm90b3R5cGU9ZSxlLmNvbnN0cnVjdG9yPXR9ZnVuY3Rpb24gdG4odCxuKXt2YXIgZT1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlKTtmb3IodmFyIHIgaW4gbillW3JdPW5bcl07cmV0dXJuIGV9ZnVuY3Rpb24gbm4oKXt9T3QucHJvdG90eXBlPXF0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6T3QsZ2V0OmZ1bmN0aW9uKHQpe2Zvcih2YXIgbj10aGlzLl87IShuIGluIHQpOylpZighKHQ9dC5wYXJlbnROb2RlKSlyZXR1cm47cmV0dXJuIHRbbl19LHNldDpmdW5jdGlvbih0LG4pe3JldHVybiB0W3RoaXMuX109bn0scmVtb3ZlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl8gaW4gdCYmZGVsZXRlIHRbdGhpcy5fXX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ffX0sJHQucHJvdG90eXBlLm9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fLm9uLmFwcGx5KHRoaXMuXyxhcmd1bWVudHMpO3JldHVybiB0PT09dGhpcy5fP3RoaXM6dH07dmFyIGVuPSJcXHMqKFsrLV0/XFxkKylcXHMqIixybj0iXFxzKihbKy1dP1xcZCpcXC4/XFxkKyg/OltlRV1bKy1dP1xcZCspPylcXHMqIixvbj0iXFxzKihbKy1dP1xcZCpcXC4/XFxkKyg/OltlRV1bKy1dP1xcZCspPyklXFxzKiIsYW49L14jKFswLTlhLWZdezN9KSQvLHVuPS9eIyhbMC05YS1mXXs2fSkkLyxmbj1uZXcgUmVnRXhwKCJecmdiXFwoIitbZW4sZW4sZW5dKyJcXCkkIiksY249bmV3IFJlZ0V4cCgiXnJnYlxcKCIrW29uLG9uLG9uXSsiXFwpJCIpLHNuPW5ldyBSZWdFeHAoIl5yZ2JhXFwoIitbZW4sZW4sZW4scm5dKyJcXCkkIiksbG49bmV3IFJlZ0V4cCgiXnJnYmFcXCgiK1tvbixvbixvbixybl0rIlxcKSQiKSxobj1uZXcgUmVnRXhwKCJeaHNsXFwoIitbcm4sb24sb25dKyJcXCkkIiksZG49bmV3IFJlZ0V4cCgiXmhzbGFcXCgiK1tybixvbixvbixybl0rIlxcKSQiKSxwbj17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSxibHVlOjI1NSxibHVldmlvbGV0OjkwNTUyMDIsYnJvd246MTA4MjQyMzQsYnVybHl3b29kOjE0NTk2MjMxLGNhZGV0Ymx1ZTo2MjY2NTI4LGNoYXJ0cmV1c2U6ODM4ODM1MixjaG9jb2xhdGU6MTM3ODk0NzAsY29yYWw6MTY3NDQyNzIsY29ybmZsb3dlcmJsdWU6NjU5MTk4MSxjb3Juc2lsazoxNjc3NTM4OCxjcmltc29uOjE0NDIzMTAwLGN5YW46NjU1MzUsZGFya2JsdWU6MTM5LGRhcmtjeWFuOjM1NzIzLGRhcmtnb2xkZW5yb2Q6MTIwOTI5MzksZGFya2dyYXk6MTExMTkwMTcsZGFya2dyZWVuOjI1NjAwLGRhcmtncmV5OjExMTE5MDE3LGRhcmtraGFraToxMjQzMzI1OSxkYXJrbWFnZW50YTo5MTA5NjQzLGRhcmtvbGl2ZWdyZWVuOjU1OTc5OTksZGFya29yYW5nZToxNjc0NzUyMCxkYXJrb3JjaGlkOjEwMDQwMDEyLGRhcmtyZWQ6OTEwOTUwNCxkYXJrc2FsbW9uOjE1MzA4NDEwLGRhcmtzZWFncmVlbjo5NDE5OTE5LGRhcmtzbGF0ZWJsdWU6NDczNDM0NyxkYXJrc2xhdGVncmF5OjMxMDA0OTUsZGFya3NsYXRlZ3JleTozMTAwNDk1LGRhcmt0dXJxdW9pc2U6NTI5NDUsZGFya3Zpb2xldDo5Njk5NTM5LGRlZXBwaW5rOjE2NzE2OTQ3LGRlZXBza3libHVlOjQ5MTUxLGRpbWdyYXk6NjkwODI2NSxkaW1ncmV5OjY5MDgyNjUsZG9kZ2VyYmx1ZToyMDAzMTk5LGZpcmVicmljazoxMTY3NDE0NixmbG9yYWx3aGl0ZToxNjc3NTkyMCxmb3Jlc3RncmVlbjoyMjYzODQyLGZ1Y2hzaWE6MTY3MTE5MzUsZ2FpbnNib3JvOjE0NDc0NDYwLGdob3N0d2hpdGU6MTYzMTY2NzEsZ29sZDoxNjc2NjcyMCxnb2xkZW5yb2Q6MTQzMjkxMjAsZ3JheTo4NDIxNTA0LGdyZWVuOjMyNzY4LGdyZWVueWVsbG93OjExNDAzMDU1LGdyZXk6ODQyMTUwNCxob25leWRldzoxNTc5NDE2MCxob3RwaW5rOjE2NzM4NzQwLGluZGlhbnJlZDoxMzQ1ODUyNCxpbmRpZ286NDkxNTMzMCxpdm9yeToxNjc3NzIwMCxraGFraToxNTc4NzY2MCxsYXZlbmRlcjoxNTEzMjQxMCxsYXZlbmRlcmJsdXNoOjE2NzczMzY1LGxhd25ncmVlbjo4MTkwOTc2LGxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NyxtZWRpdW1zbGF0ZWJsdWU6ODA4Nzc5MCxtZWRpdW1zcHJpbmdncmVlbjo2NDE1NCxtZWRpdW10dXJxdW9pc2U6NDc3MjMwMCxtZWRpdW12aW9sZXRyZWQ6MTMwNDcxNzMsbWlkbmlnaHRibHVlOjE2NDQ5MTIsbWludGNyZWFtOjE2MTIxODUwLG1pc3R5cm9zZToxNjc3MDI3Myxtb2NjYXNpbjoxNjc3MDIyOSxuYXZham93aGl0ZToxNjc2ODY4NSxuYXZ5OjEyOCxvbGRsYWNlOjE2NjQzNTU4LG9saXZlOjg0MjEzNzYsb2xpdmVkcmFiOjcwNDg3Mzksb3JhbmdlOjE2NzUzOTIwLG9yYW5nZXJlZDoxNjcyOTM0NCxvcmNoaWQ6MTQzMTU3MzQscGFsZWdvbGRlbnJvZDoxNTY1NzEzMCxwYWxlZ3JlZW46MTAwMjU4ODAscGFsZXR1cnF1b2lzZToxMTUyOTk2NixwYWxldmlvbGV0cmVkOjE0MzgxMjAzLHBhcGF5YXdoaXA6MTY3NzMwNzcscGVhY2hwdWZmOjE2NzY3NjczLHBlcnU6MTM0Njg5OTEscGluazoxNjc2MTAzNSxwbHVtOjE0NTI0NjM3LHBvd2RlcmJsdWU6MTE1OTE5MTAscHVycGxlOjgzODg3MzYscmViZWNjYXB1cnBsZTo2Njk3ODgxLHJlZDoxNjcxMTY4MCxyb3N5YnJvd246MTIzNTc1MTkscm95YWxibHVlOjQyODY5NDUsc2FkZGxlYnJvd246OTEyNzE4NyxzYWxtb246MTY0MTY4ODIsc2FuZHlicm93bjoxNjAzMjg2NCxzZWFncmVlbjozMDUwMzI3LHNlYXNoZWxsOjE2Nzc0NjM4LHNpZW5uYToxMDUwNjc5NyxzaWx2ZXI6MTI2MzIyNTYsc2t5Ymx1ZTo4OTAwMzMxLHNsYXRlYmx1ZTo2OTcwMDYxLHNsYXRlZ3JheTo3MzcyOTQ0LHNsYXRlZ3JleTo3MzcyOTQ0LHNub3c6MTY3NzU5MzAsc3ByaW5nZ3JlZW46NjU0MDcsc3RlZWxibHVlOjQ2MjA5ODAsdGFuOjEzODA4NzgwLHRlYWw6MzI4OTYsdGhpc3RsZToxNDIwNDg4OCx0b21hdG86MTY3MzcwOTUsdHVycXVvaXNlOjQyNTE4NTYsdmlvbGV0OjE1NjMxMDg2LHdoZWF0OjE2MTEzMzMxLHdoaXRlOjE2Nzc3MjE1LHdoaXRlc21va2U6MTYxMTkyODUseWVsbG93OjE2Nzc2OTYwLHllbGxvd2dyZWVuOjEwMTQ1MDc0fTtmdW5jdGlvbiB2bih0KXt2YXIgbjtyZXR1cm4gdD0odCsiIikudHJpbSgpLnRvTG93ZXJDYXNlKCksKG49YW4uZXhlYyh0KSk/bmV3IG1uKChuPXBhcnNlSW50KG5bMV0sMTYpKT4+OCYxNXxuPj40JjI0MCxuPj40JjE1fDI0MCZuLCgxNSZuKTw8NHwxNSZuLDEpOihuPXVuLmV4ZWModCkpP2duKHBhcnNlSW50KG5bMV0sMTYpKToobj1mbi5leGVjKHQpKT9uZXcgbW4oblsxXSxuWzJdLG5bM10sMSk6KG49Y24uZXhlYyh0KSk/bmV3IG1uKDI1NSpuWzFdLzEwMCwyNTUqblsyXS8xMDAsMjU1Km5bM10vMTAwLDEpOihuPXNuLmV4ZWModCkpP3luKG5bMV0sblsyXSxuWzNdLG5bNF0pOihuPWxuLmV4ZWModCkpP3luKDI1NSpuWzFdLzEwMCwyNTUqblsyXS8xMDAsMjU1Km5bM10vMTAwLG5bNF0pOihuPWhuLmV4ZWModCkpP3duKG5bMV0sblsyXS8xMDAsblszXS8xMDAsMSk6KG49ZG4uZXhlYyh0KSk/d24oblsxXSxuWzJdLzEwMCxuWzNdLzEwMCxuWzRdKTpwbi5oYXNPd25Qcm9wZXJ0eSh0KT9nbihwblt0XSk6InRyYW5zcGFyZW50Ij09PXQ/bmV3IG1uKE5hTixOYU4sTmFOLDApOm51bGx9ZnVuY3Rpb24gZ24odCl7cmV0dXJuIG5ldyBtbih0Pj4xNiYyNTUsdD4+OCYyNTUsMjU1JnQsMSl9ZnVuY3Rpb24geW4odCxuLGUscil7cmV0dXJuIHI8PTAmJih0PW49ZT1OYU4pLG5ldyBtbih0LG4sZSxyKX1mdW5jdGlvbiBfbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIG5ufHwodD12bih0KSksdD9uZXcgbW4oKHQ9dC5yZ2IoKSkucix0LmcsdC5iLHQub3BhY2l0eSk6bmV3IG1ufWZ1bmN0aW9uIGJuKHQsbixlLHIpe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD9fbih0KTpuZXcgbW4odCxuLGUsbnVsbD09cj8xOnIpfWZ1bmN0aW9uIG1uKHQsbixlLHIpe3RoaXMucj0rdCx0aGlzLmc9K24sdGhpcy5iPStlLHRoaXMub3BhY2l0eT0rcn1mdW5jdGlvbiB4bih0KXtyZXR1cm4oKHQ9TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0KXx8MCkpKTwxNj8iMCI6IiIpK3QudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIHduKHQsbixlLHIpe3JldHVybiByPD0wP3Q9bj1lPU5hTjplPD0wfHxlPj0xP3Q9bj1OYU46bjw9MCYmKHQ9TmFOKSxuZXcgQW4odCxuLGUscil9ZnVuY3Rpb24gTW4odCxuLGUscil7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP2Z1bmN0aW9uKHQpe2lmKHQgaW5zdGFuY2VvZiBBbilyZXR1cm4gbmV3IEFuKHQuaCx0LnMsdC5sLHQub3BhY2l0eSk7aWYodCBpbnN0YW5jZW9mIG5ufHwodD12bih0KSksIXQpcmV0dXJuIG5ldyBBbjtpZih0IGluc3RhbmNlb2YgQW4pcmV0dXJuIHQ7dmFyIG49KHQ9dC5yZ2IoKSkuci8yNTUsZT10LmcvMjU1LHI9dC5iLzI1NSxpPU1hdGgubWluKG4sZSxyKSxvPU1hdGgubWF4KG4sZSxyKSxhPU5hTix1PW8taSxmPShvK2kpLzI7cmV0dXJuIHU/KGE9bj09PW8/KGUtcikvdSs2KihlPHIpOmU9PT1vPyhyLW4pL3UrMjoobi1lKS91KzQsdS89ZjwuNT9vK2k6Mi1vLWksYSo9NjApOnU9Zj4wJiZmPDE/MDphLG5ldyBBbihhLHUsZix0Lm9wYWNpdHkpfSh0KTpuZXcgQW4odCxuLGUsbnVsbD09cj8xOnIpfWZ1bmN0aW9uIEFuKHQsbixlLHIpe3RoaXMuaD0rdCx0aGlzLnM9K24sdGhpcy5sPStlLHRoaXMub3BhY2l0eT0rcn1mdW5jdGlvbiBUbih0LG4sZSl7cmV0dXJuIDI1NSoodDw2MD9uKyhlLW4pKnQvNjA6dDwxODA/ZTp0PDI0MD9uKyhlLW4pKigyNDAtdCkvNjA6bil9S3Qobm4sdm4se2Rpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmdiKCkuZGlzcGxheWFibGUoKX0saGV4OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmdiKCkuaGV4KCl9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmdiKCkrIiJ9fSksS3QobW4sYm4sdG4obm4se2JyaWdodGVyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/MS8uNzpNYXRoLnBvdygxLy43LHQpLG5ldyBtbih0aGlzLnIqdCx0aGlzLmcqdCx0aGlzLmIqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD8uNzpNYXRoLnBvdyguNyx0KSxuZXcgbW4odGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGRpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIDA8PXRoaXMuciYmdGhpcy5yPD0yNTUmJjA8PXRoaXMuZyYmdGhpcy5nPD0yNTUmJjA8PXRoaXMuYiYmdGhpcy5iPD0yNTUmJjA8PXRoaXMub3BhY2l0eSYmdGhpcy5vcGFjaXR5PD0xfSxoZXg6ZnVuY3Rpb24oKXtyZXR1cm4iIyIreG4odGhpcy5yKSt4bih0aGlzLmcpK3huKHRoaXMuYil9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcGFjaXR5O3JldHVybigxPT09KHQ9aXNOYU4odCk/MTpNYXRoLm1heCgwLE1hdGgubWluKDEsdCkpKT8icmdiKCI6InJnYmEoIikrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLnIpfHwwKSkrIiwgIitNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMuZyl8fDApKSsiLCAiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5iKXx8MCkpKygxPT09dD8iKSI6IiwgIit0KyIpIil9fSkpLEt0KEFuLE1uLHRuKG5uLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10PzEvLjc6TWF0aC5wb3coMS8uNyx0KSxuZXcgQW4odGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD8uNzpNYXRoLnBvdyguNyx0KSxuZXcgQW4odGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmglMzYwKzM2MCoodGhpcy5oPDApLG49aXNOYU4odCl8fGlzTmFOKHRoaXMucyk/MDp0aGlzLnMsZT10aGlzLmwscj1lKyhlPC41P2U6MS1lKSpuLGk9MiplLXI7cmV0dXJuIG5ldyBtbihUbih0Pj0yNDA/dC0yNDA6dCsxMjAsaSxyKSxUbih0LGksciksVG4odDwxMjA/dCsyNDA6dC0xMjAsaSxyKSx0aGlzLm9wYWNpdHkpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybigwPD10aGlzLnMmJnRoaXMuczw9MXx8aXNOYU4odGhpcy5zKSkmJjA8PXRoaXMubCYmdGhpcy5sPD0xJiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX19KSk7dmFyIE5uPU1hdGguUEkvMTgwLFNuPTE4MC9NYXRoLlBJLEVuPS45NjQyMixrbj0xLENuPS44MjUyMSxQbj00LzI5LHpuPTYvMjksUm49Myp6bip6bixMbj16bip6bip6bjtmdW5jdGlvbiBEbih0KXtpZih0IGluc3RhbmNlb2YgcW4pcmV0dXJuIG5ldyBxbih0LmwsdC5hLHQuYix0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiBqbil7aWYoaXNOYU4odC5oKSlyZXR1cm4gbmV3IHFuKHQubCwwLDAsdC5vcGFjaXR5KTt2YXIgbj10LmgqTm47cmV0dXJuIG5ldyBxbih0LmwsTWF0aC5jb3MobikqdC5jLE1hdGguc2luKG4pKnQuYyx0Lm9wYWNpdHkpfXQgaW5zdGFuY2VvZiBtbnx8KHQ9X24odCkpO3ZhciBlLHIsaT1Gbih0LnIpLG89Rm4odC5nKSxhPUZuKHQuYiksdT1PbigoLjIyMjUwNDUqaSsuNzE2ODc4NipvKy4wNjA2MTY5KmEpL2tuKTtyZXR1cm4gaT09PW8mJm89PT1hP2U9cj11OihlPU9uKCguNDM2MDc0NyppKy4zODUwNjQ5Km8rLjE0MzA4MDQqYSkvRW4pLHI9T24oKC4wMTM5MzIyKmkrLjA5NzEwNDUqbysuNzE0MTczMyphKS9DbikpLG5ldyBxbigxMTYqdS0xNiw1MDAqKGUtdSksMjAwKih1LXIpLHQub3BhY2l0eSl9ZnVuY3Rpb24gVW4odCxuLGUscil7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP0RuKHQpOm5ldyBxbih0LG4sZSxudWxsPT1yPzE6cil9ZnVuY3Rpb24gcW4odCxuLGUscil7dGhpcy5sPSt0LHRoaXMuYT0rbix0aGlzLmI9K2UsdGhpcy5vcGFjaXR5PStyfWZ1bmN0aW9uIE9uKHQpe3JldHVybiB0PkxuP01hdGgucG93KHQsMS8zKTp0L1JuK1BufWZ1bmN0aW9uIFluKHQpe3JldHVybiB0PnpuP3QqdCp0OlJuKih0LVBuKX1mdW5jdGlvbiBCbih0KXtyZXR1cm4gMjU1Kih0PD0uMDAzMTMwOD8xMi45Mip0OjEuMDU1Kk1hdGgucG93KHQsMS8yLjQpLS4wNTUpfWZ1bmN0aW9uIEZuKHQpe3JldHVybih0Lz0yNTUpPD0uMDQwNDU/dC8xMi45MjpNYXRoLnBvdygodCsuMDU1KS8xLjA1NSwyLjQpfWZ1bmN0aW9uIEluKHQpe2lmKHQgaW5zdGFuY2VvZiBqbilyZXR1cm4gbmV3IGpuKHQuaCx0LmMsdC5sLHQub3BhY2l0eSk7aWYodCBpbnN0YW5jZW9mIHFufHwodD1Ebih0KSksMD09PXQuYSYmMD09PXQuYilyZXR1cm4gbmV3IGpuKE5hTiwwLHQubCx0Lm9wYWNpdHkpO3ZhciBuPU1hdGguYXRhbjIodC5iLHQuYSkqU247cmV0dXJuIG5ldyBqbihuPDA/biszNjA6bixNYXRoLnNxcnQodC5hKnQuYSt0LmIqdC5iKSx0LmwsdC5vcGFjaXR5KX1mdW5jdGlvbiBIbih0LG4sZSxyKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/SW4odCk6bmV3IGpuKHQsbixlLG51bGw9PXI/MTpyKX1mdW5jdGlvbiBqbih0LG4sZSxyKXt0aGlzLmg9K3QsdGhpcy5jPStuLHRoaXMubD0rZSx0aGlzLm9wYWNpdHk9K3J9S3QocW4sVW4sdG4obm4se2JyaWdodGVyOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgcW4odGhpcy5sKzE4KihudWxsPT10PzE6dCksdGhpcy5hLHRoaXMuYix0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBxbih0aGlzLmwtMTgqKG51bGw9PXQ/MTp0KSx0aGlzLmEsdGhpcy5iLHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3ZhciB0PSh0aGlzLmwrMTYpLzExNixuPWlzTmFOKHRoaXMuYSk/dDp0K3RoaXMuYS81MDAsZT1pc05hTih0aGlzLmIpP3Q6dC10aGlzLmIvMjAwO3JldHVybiBuZXcgbW4oQm4oMy4xMzM4NTYxKihuPUVuKlluKG4pKS0xLjYxNjg2NjcqKHQ9a24qWW4odCkpLS40OTA2MTQ2KihlPUNuKlluKGUpKSksQm4oLS45Nzg3Njg0Km4rMS45MTYxNDE1KnQrLjAzMzQ1NCplKSxCbiguMDcxOTQ1MypuLS4yMjg5OTE0KnQrMS40MDUyNDI3KmUpLHRoaXMub3BhY2l0eSl9fSkpLEt0KGpuLEhuLHRuKG5uLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGpuKHRoaXMuaCx0aGlzLmMsdGhpcy5sKzE4KihudWxsPT10PzE6dCksdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgam4odGhpcy5oLHRoaXMuYyx0aGlzLmwtMTgqKG51bGw9PXQ/MTp0KSx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXtyZXR1cm4gRG4odGhpcykucmdiKCl9fSkpO3ZhciBYbj0tLjE0ODYxLEduPTEuNzgyNzcsVm49LS4yOTIyNywkbj0tLjkwNjQ5LFduPTEuOTcyOTQsWm49V24qJG4sUW49V24qR24sSm49R24qVm4tJG4qWG47ZnVuY3Rpb24gS24odCxuLGUscil7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP2Z1bmN0aW9uKHQpe2lmKHQgaW5zdGFuY2VvZiB0ZSlyZXR1cm4gbmV3IHRlKHQuaCx0LnMsdC5sLHQub3BhY2l0eSk7dCBpbnN0YW5jZW9mIG1ufHwodD1fbih0KSk7dmFyIG49dC5yLzI1NSxlPXQuZy8yNTUscj10LmIvMjU1LGk9KEpuKnIrWm4qbi1RbiplKS8oSm4rWm4tUW4pLG89ci1pLGE9KFduKihlLWkpLVZuKm8pLyRuLHU9TWF0aC5zcXJ0KGEqYStvKm8pLyhXbippKigxLWkpKSxmPXU/TWF0aC5hdGFuMihhLG8pKlNuLTEyMDpOYU47cmV0dXJuIG5ldyB0ZShmPDA/ZiszNjA6Zix1LGksdC5vcGFjaXR5KX0odCk6bmV3IHRlKHQsbixlLG51bGw9PXI/MTpyKX1mdW5jdGlvbiB0ZSh0LG4sZSxyKXt0aGlzLmg9K3QsdGhpcy5zPStuLHRoaXMubD0rZSx0aGlzLm9wYWNpdHk9K3J9ZnVuY3Rpb24gbmUodCxuLGUscixpKXt2YXIgbz10KnQsYT1vKnQ7cmV0dXJuKCgxLTMqdCszKm8tYSkqbisoNC02Km8rMyphKSplKygxKzMqdCszKm8tMyphKSpyK2EqaSkvNn1mdW5jdGlvbiBlZSh0KXt2YXIgbj10Lmxlbmd0aC0xO3JldHVybiBmdW5jdGlvbihlKXt2YXIgcj1lPD0wP2U9MDplPj0xPyhlPTEsbi0xKTpNYXRoLmZsb29yKGUqbiksaT10W3JdLG89dFtyKzFdLGE9cj4wP3Rbci0xXToyKmktbyx1PXI8bi0xP3RbcisyXToyKm8taTtyZXR1cm4gbmUoKGUtci9uKSpuLGEsaSxvLHUpfX1mdW5jdGlvbiByZSh0KXt2YXIgbj10Lmxlbmd0aDtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHI9TWF0aC5mbG9vcigoKGUlPTEpPDA/KytlOmUpKm4pLGk9dFsocituLTEpJW5dLG89dFtyJW5dLGE9dFsocisxKSVuXSx1PXRbKHIrMiklbl07cmV0dXJuIG5lKChlLXIvbikqbixpLG8sYSx1KX19ZnVuY3Rpb24gaWUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIG9lKHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0K2Uqbn19ZnVuY3Rpb24gYWUodCxuKXt2YXIgZT1uLXQ7cmV0dXJuIGU/b2UodCxlPjE4MHx8ZTwtMTgwP2UtMzYwKk1hdGgucm91bmQoZS8zNjApOmUpOmllKGlzTmFOKHQpP246dCl9ZnVuY3Rpb24gdWUodCl7cmV0dXJuIDE9PSh0PSt0KT9mZTpmdW5jdGlvbihuLGUpe3JldHVybiBlLW4/ZnVuY3Rpb24odCxuLGUpe3JldHVybiB0PU1hdGgucG93KHQsZSksbj1NYXRoLnBvdyhuLGUpLXQsZT0xL2UsZnVuY3Rpb24ocil7cmV0dXJuIE1hdGgucG93KHQrcipuLGUpfX0obixlLHQpOmllKGlzTmFOKG4pP2U6bil9fWZ1bmN0aW9uIGZlKHQsbil7dmFyIGU9bi10O3JldHVybiBlP29lKHQsZSk6aWUoaXNOYU4odCk/bjp0KX1LdCh0ZSxLbix0bihubix7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD8xLy43Ok1hdGgucG93KDEvLjcsdCksbmV3IHRlKHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/Ljc6TWF0aC5wb3coLjcsdCksbmV3IHRlKHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7dmFyIHQ9aXNOYU4odGhpcy5oKT8wOih0aGlzLmgrMTIwKSpObixuPSt0aGlzLmwsZT1pc05hTih0aGlzLnMpPzA6dGhpcy5zKm4qKDEtbikscj1NYXRoLmNvcyh0KSxpPU1hdGguc2luKHQpO3JldHVybiBuZXcgbW4oMjU1KihuK2UqKFhuKnIrR24qaSkpLDI1NSoobitlKihWbipyKyRuKmkpKSwyNTUqKG4rZSooV24qcikpLHRoaXMub3BhY2l0eSl9fSkpO3ZhciBjZT1mdW5jdGlvbiB0KG4pe3ZhciBlPXVlKG4pO2Z1bmN0aW9uIHIodCxuKXt2YXIgcj1lKCh0PWJuKHQpKS5yLChuPWJuKG4pKS5yKSxpPWUodC5nLG4uZyksbz1lKHQuYixuLmIpLGE9ZmUodC5vcGFjaXR5LG4ub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0LnI9cihuKSx0Lmc9aShuKSx0LmI9byhuKSx0Lm9wYWNpdHk9YShuKSx0KyIifX1yZXR1cm4gci5nYW1tYT10LHJ9KDEpO2Z1bmN0aW9uIHNlKHQpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgZSxyLGk9bi5sZW5ndGgsbz1uZXcgQXJyYXkoaSksYT1uZXcgQXJyYXkoaSksdT1uZXcgQXJyYXkoaSk7Zm9yKGU9MDtlPGk7KytlKXI9Ym4obltlXSksb1tlXT1yLnJ8fDAsYVtlXT1yLmd8fDAsdVtlXT1yLmJ8fDA7cmV0dXJuIG89dChvKSxhPXQoYSksdT10KHUpLHIub3BhY2l0eT0xLGZ1bmN0aW9uKHQpe3JldHVybiByLnI9byh0KSxyLmc9YSh0KSxyLmI9dSh0KSxyKyIifX19dmFyIGxlPXNlKGVlKSxoZT1zZShyZSk7ZnVuY3Rpb24gZGUodCxuKXt2YXIgZSxyPW4/bi5sZW5ndGg6MCxpPXQ/TWF0aC5taW4ocix0Lmxlbmd0aCk6MCxvPW5ldyBBcnJheShpKSxhPW5ldyBBcnJheShyKTtmb3IoZT0wO2U8aTsrK2Upb1tlXT1tZSh0W2VdLG5bZV0pO2Zvcig7ZTxyOysrZSlhW2VdPW5bZV07cmV0dXJuIGZ1bmN0aW9uKHQpe2ZvcihlPTA7ZTxpOysrZSlhW2VdPW9bZV0odCk7cmV0dXJuIGF9fWZ1bmN0aW9uIHBlKHQsbil7dmFyIGU9bmV3IERhdGU7cmV0dXJuIG4tPXQ9K3QsZnVuY3Rpb24ocil7cmV0dXJuIGUuc2V0VGltZSh0K24qciksZX19ZnVuY3Rpb24gdmUodCxuKXtyZXR1cm4gbi09dD0rdCxmdW5jdGlvbihlKXtyZXR1cm4gdCtuKmV9fWZ1bmN0aW9uIGdlKHQsbil7dmFyIGUscj17fSxpPXt9O2ZvcihlIGluIG51bGwhPT10JiYib2JqZWN0Ij09dHlwZW9mIHR8fCh0PXt9KSxudWxsIT09biYmIm9iamVjdCI9PXR5cGVvZiBufHwobj17fSksbillIGluIHQ/cltlXT1tZSh0W2VdLG5bZV0pOmlbZV09bltlXTtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKGUgaW4gcilpW2VdPXJbZV0odCk7cmV0dXJuIGl9fXZhciB5ZT0vWy0rXT8oPzpcZCtcLj9cZCp8XC4/XGQrKSg/OltlRV1bLStdP1xkKyk/L2csX2U9bmV3IFJlZ0V4cCh5ZS5zb3VyY2UsImciKTtmdW5jdGlvbiBiZSh0LG4pe3ZhciBlLHIsaSxvPXllLmxhc3RJbmRleD1fZS5sYXN0SW5kZXg9MCxhPS0xLHU9W10sZj1bXTtmb3IodCs9IiIsbis9IiI7KGU9eWUuZXhlYyh0KSkmJihyPV9lLmV4ZWMobikpOykoaT1yLmluZGV4KT5vJiYoaT1uLnNsaWNlKG8saSksdVthXT91W2FdKz1pOnVbKythXT1pKSwoZT1lWzBdKT09PShyPXJbMF0pP3VbYV0/dVthXSs9cjp1WysrYV09cjoodVsrK2FdPW51bGwsZi5wdXNoKHtpOmEseDp2ZShlLHIpfSkpLG89X2UubGFzdEluZGV4O3JldHVybiBvPG4ubGVuZ3RoJiYoaT1uLnNsaWNlKG8pLHVbYV0/dVthXSs9aTp1WysrYV09aSksdS5sZW5ndGg8Mj9mWzBdP2Z1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdChuKSsiIn19KGZbMF0ueCk6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fShuKToobj1mLmxlbmd0aCxmdW5jdGlvbih0KXtmb3IodmFyIGUscj0wO3I8bjsrK3IpdVsoZT1mW3JdKS5pXT1lLngodCk7cmV0dXJuIHUuam9pbigiIil9KX1mdW5jdGlvbiBtZSh0LG4pe3ZhciBlLHI9dHlwZW9mIG47cmV0dXJuIG51bGw9PW58fCJib29sZWFuIj09PXI/aWUobik6KCJudW1iZXIiPT09cj92ZToic3RyaW5nIj09PXI/KGU9dm4obikpPyhuPWUsY2UpOmJlOm4gaW5zdGFuY2VvZiB2bj9jZTpuIGluc3RhbmNlb2YgRGF0ZT9wZTpBcnJheS5pc0FycmF5KG4pP2RlOiJmdW5jdGlvbiIhPXR5cGVvZiBuLnZhbHVlT2YmJiJmdW5jdGlvbiIhPXR5cGVvZiBuLnRvU3RyaW5nfHxpc05hTihuKT9nZTp2ZSkodCxuKX1mdW5jdGlvbiB4ZSh0LG4pe3JldHVybiBuLT10PSt0LGZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLnJvdW5kKHQrbiplKX19dmFyIHdlLE1lLEFlLFRlLE5lPTE4MC9NYXRoLlBJLFNlPXt0cmFuc2xhdGVYOjAsdHJhbnNsYXRlWTowLHJvdGF0ZTowLHNrZXdYOjAsc2NhbGVYOjEsc2NhbGVZOjF9O2Z1bmN0aW9uIEVlKHQsbixlLHIsaSxvKXt2YXIgYSx1LGY7cmV0dXJuKGE9TWF0aC5zcXJ0KHQqdCtuKm4pKSYmKHQvPWEsbi89YSksKGY9dCplK24qcikmJihlLT10KmYsci09bipmKSwodT1NYXRoLnNxcnQoZSplK3IqcikpJiYoZS89dSxyLz11LGYvPXUpLHQqcjxuKmUmJih0PS10LG49LW4sZj0tZixhPS1hKSx7dHJhbnNsYXRlWDppLHRyYW5zbGF0ZVk6byxyb3RhdGU6TWF0aC5hdGFuMihuLHQpKk5lLHNrZXdYOk1hdGguYXRhbihmKSpOZSxzY2FsZVg6YSxzY2FsZVk6dX19ZnVuY3Rpb24ga2UodCxuLGUscil7ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdC5sZW5ndGg/dC5wb3AoKSsiICI6IiJ9cmV0dXJuIGZ1bmN0aW9uKG8sYSl7dmFyIHU9W10sZj1bXTtyZXR1cm4gbz10KG8pLGE9dChhKSxmdW5jdGlvbih0LHIsaSxvLGEsdSl7aWYodCE9PWl8fHIhPT1vKXt2YXIgZj1hLnB1c2goInRyYW5zbGF0ZSgiLG51bGwsbixudWxsLGUpO3UucHVzaCh7aTpmLTQseDp2ZSh0LGkpfSx7aTpmLTIseDp2ZShyLG8pfSl9ZWxzZShpfHxvKSYmYS5wdXNoKCJ0cmFuc2xhdGUoIitpK24rbytlKX0oby50cmFuc2xhdGVYLG8udHJhbnNsYXRlWSxhLnRyYW5zbGF0ZVgsYS50cmFuc2xhdGVZLHUsZiksZnVuY3Rpb24odCxuLGUsbyl7dCE9PW4/KHQtbj4xODA/bis9MzYwOm4tdD4xODAmJih0Kz0zNjApLG8ucHVzaCh7aTplLnB1c2goaShlKSsicm90YXRlKCIsbnVsbCxyKS0yLHg6dmUodCxuKX0pKTpuJiZlLnB1c2goaShlKSsicm90YXRlKCIrbityKX0oby5yb3RhdGUsYS5yb3RhdGUsdSxmKSxmdW5jdGlvbih0LG4sZSxvKXt0IT09bj9vLnB1c2goe2k6ZS5wdXNoKGkoZSkrInNrZXdYKCIsbnVsbCxyKS0yLHg6dmUodCxuKX0pOm4mJmUucHVzaChpKGUpKyJza2V3WCgiK24rcil9KG8uc2tld1gsYS5za2V3WCx1LGYpLGZ1bmN0aW9uKHQsbixlLHIsbyxhKXtpZih0IT09ZXx8biE9PXIpe3ZhciB1PW8ucHVzaChpKG8pKyJzY2FsZSgiLG51bGwsIiwiLG51bGwsIikiKTthLnB1c2goe2k6dS00LHg6dmUodCxlKX0se2k6dS0yLHg6dmUobixyKX0pfWVsc2UgMT09PWUmJjE9PT1yfHxvLnB1c2goaShvKSsic2NhbGUoIitlKyIsIityKyIpIil9KG8uc2NhbGVYLG8uc2NhbGVZLGEuc2NhbGVYLGEuc2NhbGVZLHUsZiksbz1hPW51bGwsZnVuY3Rpb24odCl7Zm9yKHZhciBuLGU9LTEscj1mLmxlbmd0aDsrK2U8cjspdVsobj1mW2VdKS5pXT1uLngodCk7cmV0dXJuIHUuam9pbigiIil9fX12YXIgQ2U9a2UoZnVuY3Rpb24odCl7cmV0dXJuIm5vbmUiPT09dD9TZTood2V8fCh3ZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJESVYiKSxNZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsQWU9ZG9jdW1lbnQuZGVmYXVsdFZpZXcpLHdlLnN0eWxlLnRyYW5zZm9ybT10LHQ9QWUuZ2V0Q29tcHV0ZWRTdHlsZShNZS5hcHBlbmRDaGlsZCh3ZSksbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgidHJhbnNmb3JtIiksTWUucmVtb3ZlQ2hpbGQod2UpLEVlKCsodD10LnNsaWNlKDcsLTEpLnNwbGl0KCIsIikpWzBdLCt0WzFdLCt0WzJdLCt0WzNdLCt0WzRdLCt0WzVdKSl9LCJweCwgIiwicHgpIiwiZGVnKSIpLFBlPWtlKGZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P1NlOihUZXx8KFRlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJnIikpLFRlLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIix0KSwodD1UZS50cmFuc2Zvcm0uYmFzZVZhbC5jb25zb2xpZGF0ZSgpKT9FZSgodD10Lm1hdHJpeCkuYSx0LmIsdC5jLHQuZCx0LmUsdC5mKTpTZSl9LCIsICIsIikiLCIpIiksemU9TWF0aC5TUVJUMixSZT0yLExlPTQsRGU9MWUtMTI7ZnVuY3Rpb24gVWUodCl7cmV0dXJuKCh0PU1hdGguZXhwKHQpKSsxL3QpLzJ9ZnVuY3Rpb24gcWUodCxuKXt2YXIgZSxyLGk9dFswXSxvPXRbMV0sYT10WzJdLHU9blswXSxmPW5bMV0sYz1uWzJdLHM9dS1pLGw9Zi1vLGg9cypzK2wqbDtpZihoPERlKXI9TWF0aC5sb2coYy9hKS96ZSxlPWZ1bmN0aW9uKHQpe3JldHVybltpK3QqcyxvK3QqbCxhKk1hdGguZXhwKHplKnQqcildfTtlbHNle3ZhciBkPU1hdGguc3FydChoKSxwPShjKmMtYSphK0xlKmgpLygyKmEqUmUqZCksdj0oYypjLWEqYS1MZSpoKS8oMipjKlJlKmQpLGc9TWF0aC5sb2coTWF0aC5zcXJ0KHAqcCsxKS1wKSx5PU1hdGgubG9nKE1hdGguc3FydCh2KnYrMSktdik7cj0oeS1nKS96ZSxlPWZ1bmN0aW9uKHQpe3ZhciBuLGU9dCpyLHU9VWUoZyksZj1hLyhSZSpkKSoodSoobj16ZSplK2csKChuPU1hdGguZXhwKDIqbikpLTEpLyhuKzEpKS1mdW5jdGlvbih0KXtyZXR1cm4oKHQ9TWF0aC5leHAodCkpLTEvdCkvMn0oZykpO3JldHVybltpK2YqcyxvK2YqbCxhKnUvVWUoemUqZStnKV19fXJldHVybiBlLmR1cmF0aW9uPTFlMypyLGV9ZnVuY3Rpb24gT2UodCl7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7dmFyIHI9dCgobj1NbihuKSkuaCwoZT1NbihlKSkuaCksaT1mZShuLnMsZS5zKSxvPWZlKG4ubCxlLmwpLGE9ZmUobi5vcGFjaXR5LGUub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBuLmg9cih0KSxuLnM9aSh0KSxuLmw9byh0KSxuLm9wYWNpdHk9YSh0KSxuKyIifX19dmFyIFllPU9lKGFlKSxCZT1PZShmZSk7ZnVuY3Rpb24gRmUodCl7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7dmFyIHI9dCgobj1IbihuKSkuaCwoZT1IbihlKSkuaCksaT1mZShuLmMsZS5jKSxvPWZlKG4ubCxlLmwpLGE9ZmUobi5vcGFjaXR5LGUub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBuLmg9cih0KSxuLmM9aSh0KSxuLmw9byh0KSxuLm9wYWNpdHk9YSh0KSxuKyIifX19dmFyIEllPUZlKGFlKSxIZT1GZShmZSk7ZnVuY3Rpb24gamUodCl7cmV0dXJuIGZ1bmN0aW9uIG4oZSl7ZnVuY3Rpb24gcihuLHIpe3ZhciBpPXQoKG49S24obikpLmgsKHI9S24ocikpLmgpLG89ZmUobi5zLHIucyksYT1mZShuLmwsci5sKSx1PWZlKG4ub3BhY2l0eSxyLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gbi5oPWkodCksbi5zPW8odCksbi5sPWEoTWF0aC5wb3codCxlKSksbi5vcGFjaXR5PXUodCksbisiIn19cmV0dXJuIGU9K2Usci5nYW1tYT1uLHJ9KDEpfXZhciBYZT1qZShhZSksR2U9amUoZmUpO3ZhciBWZSwkZSxXZT0wLFplPTAsUWU9MCxKZT0xZTMsS2U9MCx0cj0wLG5yPTAsZXI9Im9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlOkRhdGUscnI9Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5iaW5kKHdpbmRvdyk6ZnVuY3Rpb24odCl7c2V0VGltZW91dCh0LDE3KX07ZnVuY3Rpb24gaXIoKXtyZXR1cm4gdHJ8fChycihvciksdHI9ZXIubm93KCkrbnIpfWZ1bmN0aW9uIG9yKCl7dHI9MH1mdW5jdGlvbiBhcigpe3RoaXMuX2NhbGw9dGhpcy5fdGltZT10aGlzLl9uZXh0PW51bGx9ZnVuY3Rpb24gdXIodCxuLGUpe3ZhciByPW5ldyBhcjtyZXR1cm4gci5yZXN0YXJ0KHQsbixlKSxyfWZ1bmN0aW9uIGZyKCl7aXIoKSwrK1dlO2Zvcih2YXIgdCxuPVZlO247KSh0PXRyLW4uX3RpbWUpPj0wJiZuLl9jYWxsLmNhbGwobnVsbCx0KSxuPW4uX25leHQ7LS1XZX1mdW5jdGlvbiBjcigpe3RyPShLZT1lci5ub3coKSkrbnIsV2U9WmU9MDt0cnl7ZnIoKX1maW5hbGx5e1dlPTAsZnVuY3Rpb24oKXt2YXIgdCxuLGU9VmUscj0xLzA7Zm9yKDtlOyllLl9jYWxsPyhyPmUuX3RpbWUmJihyPWUuX3RpbWUpLHQ9ZSxlPWUuX25leHQpOihuPWUuX25leHQsZS5fbmV4dD1udWxsLGU9dD90Ll9uZXh0PW46VmU9bik7JGU9dCxscihyKX0oKSx0cj0wfX1mdW5jdGlvbiBzcigpe3ZhciB0PWVyLm5vdygpLG49dC1LZTtuPkplJiYobnItPW4sS2U9dCl9ZnVuY3Rpb24gbHIodCl7V2V8fChaZSYmKFplPWNsZWFyVGltZW91dChaZSkpLHQtdHI+MjQ/KHQ8MS8wJiYoWmU9c2V0VGltZW91dChjcix0LWVyLm5vdygpLW5yKSksUWUmJihRZT1jbGVhckludGVydmFsKFFlKSkpOihRZXx8KEtlPWVyLm5vdygpLFFlPXNldEludGVydmFsKHNyLEplKSksV2U9MSxycihjcikpKX1mdW5jdGlvbiBocih0LG4sZSl7dmFyIHI9bmV3IGFyO3JldHVybiBuPW51bGw9PW4/MDorbixyLnJlc3RhcnQoZnVuY3Rpb24oZSl7ci5zdG9wKCksdChlK24pfSxuLGUpLHJ9YXIucHJvdG90eXBlPXVyLnByb3RvdHlwZT17Y29uc3RydWN0b3I6YXIscmVzdGFydDpmdW5jdGlvbih0LG4sZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiY2FsbGJhY2sgaXMgbm90IGEgZnVuY3Rpb24iKTtlPShudWxsPT1lP2lyKCk6K2UpKyhudWxsPT1uPzA6K24pLHRoaXMuX25leHR8fCRlPT09dGhpc3x8KCRlPyRlLl9uZXh0PXRoaXM6VmU9dGhpcywkZT10aGlzKSx0aGlzLl9jYWxsPXQsdGhpcy5fdGltZT1lLGxyKCl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLl9jYWxsJiYodGhpcy5fY2FsbD1udWxsLHRoaXMuX3RpbWU9MS8wLGxyKCkpfX07dmFyIGRyPUkoInN0YXJ0IiwiZW5kIiwiaW50ZXJydXB0IikscHI9W10sdnI9MCxncj0xLHlyPTIsX3I9Myxicj00LG1yPTUseHI9NjtmdW5jdGlvbiB3cih0LG4sZSxyLGksbyl7dmFyIGE9dC5fX3RyYW5zaXRpb247aWYoYSl7aWYoZSBpbiBhKXJldHVybn1lbHNlIHQuX190cmFuc2l0aW9uPXt9OyFmdW5jdGlvbih0LG4sZSl7dmFyIHIsaT10Ll9fdHJhbnNpdGlvbjtmdW5jdGlvbiBvKGYpe3ZhciBjLHMsbCxoO2lmKGUuc3RhdGUhPT1ncilyZXR1cm4gdSgpO2ZvcihjIGluIGkpaWYoKGg9aVtjXSkubmFtZT09PWUubmFtZSl7aWYoaC5zdGF0ZT09PV9yKXJldHVybiBocihvKTtoLnN0YXRlPT09YnI/KGguc3RhdGU9eHIsaC50aW1lci5zdG9wKCksaC5vbi5jYWxsKCJpbnRlcnJ1cHQiLHQsdC5fX2RhdGFfXyxoLmluZGV4LGguZ3JvdXApLGRlbGV0ZSBpW2NdKTorYzxuJiYoaC5zdGF0ZT14cixoLnRpbWVyLnN0b3AoKSxkZWxldGUgaVtjXSl9aWYoaHIoZnVuY3Rpb24oKXtlLnN0YXRlPT09X3ImJihlLnN0YXRlPWJyLGUudGltZXIucmVzdGFydChhLGUuZGVsYXksZS50aW1lKSxhKGYpKX0pLGUuc3RhdGU9eXIsZS5vbi5jYWxsKCJzdGFydCIsdCx0Ll9fZGF0YV9fLGUuaW5kZXgsZS5ncm91cCksZS5zdGF0ZT09PXlyKXtmb3IoZS5zdGF0ZT1fcixyPW5ldyBBcnJheShsPWUudHdlZW4ubGVuZ3RoKSxjPTAscz0tMTtjPGw7KytjKShoPWUudHdlZW5bY10udmFsdWUuY2FsbCh0LHQuX19kYXRhX18sZS5pbmRleCxlLmdyb3VwKSkmJihyWysrc109aCk7ci5sZW5ndGg9cysxfX1mdW5jdGlvbiBhKG4pe2Zvcih2YXIgaT1uPGUuZHVyYXRpb24/ZS5lYXNlLmNhbGwobnVsbCxuL2UuZHVyYXRpb24pOihlLnRpbWVyLnJlc3RhcnQodSksZS5zdGF0ZT1tciwxKSxvPS0xLGE9ci5sZW5ndGg7KytvPGE7KXJbb10uY2FsbChudWxsLGkpO2Uuc3RhdGU9PT1tciYmKGUub24uY2FsbCgiZW5kIix0LHQuX19kYXRhX18sZS5pbmRleCxlLmdyb3VwKSx1KCkpfWZ1bmN0aW9uIHUoKXtmb3IodmFyIHIgaW4gZS5zdGF0ZT14cixlLnRpbWVyLnN0b3AoKSxkZWxldGUgaVtuXSxpKXJldHVybjtkZWxldGUgdC5fX3RyYW5zaXRpb259aVtuXT1lLGUudGltZXI9dXIoZnVuY3Rpb24odCl7ZS5zdGF0ZT1ncixlLnRpbWVyLnJlc3RhcnQobyxlLmRlbGF5LGUudGltZSksZS5kZWxheTw9dCYmbyh0LWUuZGVsYXkpfSwwLGUudGltZSl9KHQsZSx7bmFtZTpuLGluZGV4OnIsZ3JvdXA6aSxvbjpkcix0d2Vlbjpwcix0aW1lOm8udGltZSxkZWxheTpvLmRlbGF5LGR1cmF0aW9uOm8uZHVyYXRpb24sZWFzZTpvLmVhc2UsdGltZXI6bnVsbCxzdGF0ZTp2cn0pfWZ1bmN0aW9uIE1yKHQsbil7dmFyIGU9VHIodCxuKTtpZihlLnN0YXRlPnZyKXRocm93IG5ldyBFcnJvcigidG9vIGxhdGU7IGFscmVhZHkgc2NoZWR1bGVkIik7cmV0dXJuIGV9ZnVuY3Rpb24gQXIodCxuKXt2YXIgZT1Ucih0LG4pO2lmKGUuc3RhdGU+eXIpdGhyb3cgbmV3IEVycm9yKCJ0b28gbGF0ZTsgYWxyZWFkeSBzdGFydGVkIik7cmV0dXJuIGV9ZnVuY3Rpb24gVHIodCxuKXt2YXIgZT10Ll9fdHJhbnNpdGlvbjtpZighZXx8IShlPWVbbl0pKXRocm93IG5ldyBFcnJvcigidHJhbnNpdGlvbiBub3QgZm91bmQiKTtyZXR1cm4gZX1mdW5jdGlvbiBOcih0LG4pe3ZhciBlLHIsaSxvPXQuX190cmFuc2l0aW9uLGE9ITA7aWYobyl7Zm9yKGkgaW4gbj1udWxsPT1uP251bGw6bisiIixvKShlPW9baV0pLm5hbWU9PT1uPyhyPWUuc3RhdGU+eXImJmUuc3RhdGU8bXIsZS5zdGF0ZT14cixlLnRpbWVyLnN0b3AoKSxyJiZlLm9uLmNhbGwoImludGVycnVwdCIsdCx0Ll9fZGF0YV9fLGUuaW5kZXgsZS5ncm91cCksZGVsZXRlIG9baV0pOmE9ITE7YSYmZGVsZXRlIHQuX190cmFuc2l0aW9ufX1mdW5jdGlvbiBTcih0LG4sZSl7dmFyIHI9dC5faWQ7cmV0dXJuIHQuZWFjaChmdW5jdGlvbigpe3ZhciB0PUFyKHRoaXMscik7KHQudmFsdWV8fCh0LnZhbHVlPXt9KSlbbl09ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxmdW5jdGlvbih0KXtyZXR1cm4gVHIodCxyKS52YWx1ZVtuXX19ZnVuY3Rpb24gRXIodCxuKXt2YXIgZTtyZXR1cm4oIm51bWJlciI9PXR5cGVvZiBuP3ZlOm4gaW5zdGFuY2VvZiB2bj9jZTooZT12bihuKSk/KG49ZSxjZSk6YmUpKHQsbil9dmFyIGtyPUx0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcjt2YXIgQ3I9MDtmdW5jdGlvbiBQcih0LG4sZSxyKXt0aGlzLl9ncm91cHM9dCx0aGlzLl9wYXJlbnRzPW4sdGhpcy5fbmFtZT1lLHRoaXMuX2lkPXJ9ZnVuY3Rpb24genIodCl7cmV0dXJuIEx0KCkudHJhbnNpdGlvbih0KX1mdW5jdGlvbiBScigpe3JldHVybisrQ3J9dmFyIExyPUx0LnByb3RvdHlwZTtmdW5jdGlvbiBEcih0KXtyZXR1cm4oKHQqPTIpPD0xP3QqdDotLXQqKDItdCkrMSkvMn1mdW5jdGlvbiBVcih0KXtyZXR1cm4oKHQqPTIpPD0xP3QqdCp0Oih0LT0yKSp0KnQrMikvMn1Qci5wcm90b3R5cGU9enIucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpQcixzZWxlY3Q6ZnVuY3Rpb24odCl7dmFyIG49dGhpcy5fbmFtZSxlPXRoaXMuX2lkOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1RKHQpKTtmb3IodmFyIHI9dGhpcy5fZ3JvdXBzLGk9ci5sZW5ndGgsbz1uZXcgQXJyYXkoaSksYT0wO2E8aTsrK2EpZm9yKHZhciB1LGYsYz1yW2FdLHM9Yy5sZW5ndGgsbD1vW2FdPW5ldyBBcnJheShzKSxoPTA7aDxzOysraCkodT1jW2hdKSYmKGY9dC5jYWxsKHUsdS5fX2RhdGFfXyxoLGMpKSYmKCJfX2RhdGFfXyJpbiB1JiYoZi5fX2RhdGFfXz11Ll9fZGF0YV9fKSxsW2hdPWYsd3IobFtoXSxuLGUsaCxsLFRyKHUsZSkpKTtyZXR1cm4gbmV3IFByKG8sdGhpcy5fcGFyZW50cyxuLGUpfSxzZWxlY3RBbGw6ZnVuY3Rpb24odCl7dmFyIG49dGhpcy5fbmFtZSxlPXRoaXMuX2lkOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1LKHQpKTtmb3IodmFyIHI9dGhpcy5fZ3JvdXBzLGk9ci5sZW5ndGgsbz1bXSxhPVtdLHU9MDt1PGk7Kyt1KWZvcih2YXIgZixjPXJbdV0scz1jLmxlbmd0aCxsPTA7bDxzOysrbClpZihmPWNbbF0pe2Zvcih2YXIgaCxkPXQuY2FsbChmLGYuX19kYXRhX18sbCxjKSxwPVRyKGYsZSksdj0wLGc9ZC5sZW5ndGg7djxnOysrdikoaD1kW3ZdKSYmd3IoaCxuLGUsdixkLHApO28ucHVzaChkKSxhLnB1c2goZil9cmV0dXJuIG5ldyBQcihvLGEsbixlKX0sZmlsdGVyOmZ1bmN0aW9uKHQpeyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1ydCh0KSk7Zm9yKHZhciBuPXRoaXMuX2dyb3VwcyxlPW4ubGVuZ3RoLHI9bmV3IEFycmF5KGUpLGk9MDtpPGU7KytpKWZvcih2YXIgbyxhPW5baV0sdT1hLmxlbmd0aCxmPXJbaV09W10sYz0wO2M8dTsrK2MpKG89YVtjXSkmJnQuY2FsbChvLG8uX19kYXRhX18sYyxhKSYmZi5wdXNoKG8pO3JldHVybiBuZXcgUHIocix0aGlzLl9wYXJlbnRzLHRoaXMuX25hbWUsdGhpcy5faWQpfSxtZXJnZTpmdW5jdGlvbih0KXtpZih0Ll9pZCE9PXRoaXMuX2lkKXRocm93IG5ldyBFcnJvcjtmb3IodmFyIG49dGhpcy5fZ3JvdXBzLGU9dC5fZ3JvdXBzLHI9bi5sZW5ndGgsaT1lLmxlbmd0aCxvPU1hdGgubWluKHIsaSksYT1uZXcgQXJyYXkociksdT0wO3U8bzsrK3UpZm9yKHZhciBmLGM9blt1XSxzPWVbdV0sbD1jLmxlbmd0aCxoPWFbdV09bmV3IEFycmF5KGwpLGQ9MDtkPGw7KytkKShmPWNbZF18fHNbZF0pJiYoaFtkXT1mKTtmb3IoO3U8cjsrK3UpYVt1XT1uW3VdO3JldHVybiBuZXcgUHIoYSx0aGlzLl9wYXJlbnRzLHRoaXMuX25hbWUsdGhpcy5faWQpfSxzZWxlY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGtyKHRoaXMuX2dyb3Vwcyx0aGlzLl9wYXJlbnRzKX0sdHJhbnNpdGlvbjpmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLl9uYW1lLG49dGhpcy5faWQsZT1ScigpLHI9dGhpcy5fZ3JvdXBzLGk9ci5sZW5ndGgsbz0wO288aTsrK28pZm9yKHZhciBhLHU9cltvXSxmPXUubGVuZ3RoLGM9MDtjPGY7KytjKWlmKGE9dVtjXSl7dmFyIHM9VHIoYSxuKTt3cihhLHQsZSxjLHUse3RpbWU6cy50aW1lK3MuZGVsYXkrcy5kdXJhdGlvbixkZWxheTowLGR1cmF0aW9uOnMuZHVyYXRpb24sZWFzZTpzLmVhc2V9KX1yZXR1cm4gbmV3IFByKHIsdGhpcy5fcGFyZW50cyx0LGUpfSxjYWxsOkxyLmNhbGwsbm9kZXM6THIubm9kZXMsbm9kZTpMci5ub2RlLHNpemU6THIuc2l6ZSxlbXB0eTpMci5lbXB0eSxlYWNoOkxyLmVhY2gsb246ZnVuY3Rpb24odCxuKXt2YXIgZT10aGlzLl9pZDtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyP1RyKHRoaXMubm9kZSgpLGUpLm9uLm9uKHQpOnRoaXMuZWFjaChmdW5jdGlvbih0LG4sZSl7dmFyIHIsaSxvPWZ1bmN0aW9uKHQpe3JldHVybih0KyIiKS50cmltKCkuc3BsaXQoL158XHMrLykuZXZlcnkoZnVuY3Rpb24odCl7dmFyIG49dC5pbmRleE9mKCIuIik7cmV0dXJuIG4+PTAmJih0PXQuc2xpY2UoMCxuKSksIXR8fCJzdGFydCI9PT10fSl9KG4pP01yOkFyO3JldHVybiBmdW5jdGlvbigpe3ZhciBhPW8odGhpcyx0KSx1PWEub247dSE9PXImJihpPShyPXUpLmNvcHkoKSkub24obixlKSxhLm9uPWl9fShlLHQsbikpfSxhdHRyOmZ1bmN0aW9uKHQsbil7dmFyIGU9JCh0KSxyPSJ0cmFuc2Zvcm0iPT09ZT9QZTpFcjtyZXR1cm4gdGhpcy5hdHRyVHdlZW4odCwiZnVuY3Rpb24iPT10eXBlb2Ygbj8oZS5sb2NhbD9mdW5jdGlvbih0LG4sZSl7dmFyIHIsaSxvO3JldHVybiBmdW5jdGlvbigpe3ZhciBhLHU9ZSh0aGlzKTtpZihudWxsIT11KXJldHVybihhPXRoaXMuZ2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKSk9PT11P251bGw6YT09PXImJnU9PT1pP286bz1uKHI9YSxpPXUpO3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKX19OmZ1bmN0aW9uKHQsbixlKXt2YXIgcixpLG87cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGEsdT1lKHRoaXMpO2lmKG51bGwhPXUpcmV0dXJuKGE9dGhpcy5nZXRBdHRyaWJ1dGUodCkpPT09dT9udWxsOmE9PT1yJiZ1PT09aT9vOm89bihyPWEsaT11KTt0aGlzLnJlbW92ZUF0dHJpYnV0ZSh0KX19KShlLHIsU3IodGhpcywiYXR0ci4iK3QsbikpOm51bGw9PW4/KGUubG9jYWw/ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpfX06ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fSkoZSk6KGUubG9jYWw/ZnVuY3Rpb24odCxuLGUpe3ZhciByLGk7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG89dGhpcy5nZXRBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpO3JldHVybiBvPT09ZT9udWxsOm89PT1yP2k6aT1uKHI9byxlKX19OmZ1bmN0aW9uKHQsbixlKXt2YXIgcixpO3JldHVybiBmdW5jdGlvbigpe3ZhciBvPXRoaXMuZ2V0QXR0cmlidXRlKHQpO3JldHVybiBvPT09ZT9udWxsOm89PT1yP2k6aT1uKHI9byxlKX19KShlLHIsbisiIikpfSxhdHRyVHdlZW46ZnVuY3Rpb24odCxuKXt2YXIgZT0iYXR0ci4iK3Q7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXJldHVybihlPXRoaXMudHdlZW4oZSkpJiZlLl92YWx1ZTtpZihudWxsPT1uKXJldHVybiB0aGlzLnR3ZWVuKGUsbnVsbCk7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEVycm9yO3ZhciByPSQodCk7cmV0dXJuIHRoaXMudHdlZW4oZSwoci5sb2NhbD9mdW5jdGlvbih0LG4pe2Z1bmN0aW9uIGUoKXt2YXIgZT10aGlzLHI9bi5hcHBseShlLGFyZ3VtZW50cyk7cmV0dXJuIHImJmZ1bmN0aW9uKG4pe2Uuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLHIobikpfX1yZXR1cm4gZS5fdmFsdWU9bixlfTpmdW5jdGlvbih0LG4pe2Z1bmN0aW9uIGUoKXt2YXIgZT10aGlzLHI9bi5hcHBseShlLGFyZ3VtZW50cyk7cmV0dXJuIHImJmZ1bmN0aW9uKG4pe2Uuc2V0QXR0cmlidXRlKHQscihuKSl9fXJldHVybiBlLl92YWx1ZT1uLGV9KShyLG4pKX0sc3R5bGU6ZnVuY3Rpb24odCxuLGUpe3ZhciByPSJ0cmFuc2Zvcm0iPT0odCs9IiIpP0NlOkVyO3JldHVybiBudWxsPT1uP3RoaXMuc3R5bGVUd2Vlbih0LGZ1bmN0aW9uKHQsbil7dmFyIGUscixpO3JldHVybiBmdW5jdGlvbigpe3ZhciBvPWx0KHRoaXMsdCksYT0odGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KSxsdCh0aGlzLHQpKTtyZXR1cm4gbz09PWE/bnVsbDpvPT09ZSYmYT09PXI/aTppPW4oZT1vLHI9YSl9fSh0LHIpKS5vbigiZW5kLnN0eWxlLiIrdCxmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfX0odCkpOnRoaXMuc3R5bGVUd2Vlbih0LCJmdW5jdGlvbiI9PXR5cGVvZiBuP2Z1bmN0aW9uKHQsbixlKXt2YXIgcixpLG87cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9bHQodGhpcyx0KSx1PWUodGhpcyk7cmV0dXJuIG51bGw9PXUmJih0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpLHU9bHQodGhpcyx0KSksYT09PXU/bnVsbDphPT09ciYmdT09PWk/bzpvPW4ocj1hLGk9dSl9fSh0LHIsU3IodGhpcywic3R5bGUuIit0LG4pKTpmdW5jdGlvbih0LG4sZSl7dmFyIHIsaTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbz1sdCh0aGlzLHQpO3JldHVybiBvPT09ZT9udWxsOm89PT1yP2k6aT1uKHI9byxlKX19KHQscixuKyIiKSxlKX0sc3R5bGVUd2VlbjpmdW5jdGlvbih0LG4sZSl7dmFyIHI9InN0eWxlLiIrKHQrPSIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpcmV0dXJuKHI9dGhpcy50d2VlbihyKSkmJnIuX3ZhbHVlO2lmKG51bGw9PW4pcmV0dXJuIHRoaXMudHdlZW4ocixudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHRoaXMudHdlZW4ocixmdW5jdGlvbih0LG4sZSl7ZnVuY3Rpb24gcigpe3ZhciByPXRoaXMsaT1uLmFwcGx5KHIsYXJndW1lbnRzKTtyZXR1cm4gaSYmZnVuY3Rpb24obil7ci5zdHlsZS5zZXRQcm9wZXJ0eSh0LGkobiksZSl9fXJldHVybiByLl92YWx1ZT1uLHJ9KHQsbixudWxsPT1lPyIiOmUpKX0sdGV4dDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50d2VlbigidGV4dCIsImZ1bmN0aW9uIj09dHlwZW9mIHQ/ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49dCh0aGlzKTt0aGlzLnRleHRDb250ZW50PW51bGw9PW4/IiI6bn19KFNyKHRoaXMsInRleHQiLHQpKTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnRleHRDb250ZW50PXR9fShudWxsPT10PyIiOnQrIiIpKX0scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub24oImVuZC5yZW1vdmUiLCh0PXRoaXMuX2lkLGZ1bmN0aW9uKCl7dmFyIG49dGhpcy5wYXJlbnROb2RlO2Zvcih2YXIgZSBpbiB0aGlzLl9fdHJhbnNpdGlvbilpZigrZSE9PXQpcmV0dXJuO24mJm4ucmVtb3ZlQ2hpbGQodGhpcyl9KSk7dmFyIHR9LHR3ZWVuOmZ1bmN0aW9uKHQsbil7dmFyIGU9dGhpcy5faWQ7aWYodCs9IiIsYXJndW1lbnRzLmxlbmd0aDwyKXtmb3IodmFyIHIsaT1Ucih0aGlzLm5vZGUoKSxlKS50d2VlbixvPTAsYT1pLmxlbmd0aDtvPGE7KytvKWlmKChyPWlbb10pLm5hbWU9PT10KXJldHVybiByLnZhbHVlO3JldHVybiBudWxsfXJldHVybiB0aGlzLmVhY2goKG51bGw9PW4/ZnVuY3Rpb24odCxuKXt2YXIgZSxyO3JldHVybiBmdW5jdGlvbigpe3ZhciBpPUFyKHRoaXMsdCksbz1pLnR3ZWVuO2lmKG8hPT1lKWZvcih2YXIgYT0wLHU9KHI9ZT1vKS5sZW5ndGg7YTx1OysrYSlpZihyW2FdLm5hbWU9PT1uKXsocj1yLnNsaWNlKCkpLnNwbGljZShhLDEpO2JyZWFrfWkudHdlZW49cn19OmZ1bmN0aW9uKHQsbixlKXt2YXIgcixpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbz1Bcih0aGlzLHQpLGE9by50d2VlbjtpZihhIT09cil7aT0ocj1hKS5zbGljZSgpO2Zvcih2YXIgdT17bmFtZTpuLHZhbHVlOmV9LGY9MCxjPWkubGVuZ3RoO2Y8YzsrK2YpaWYoaVtmXS5uYW1lPT09bil7aVtmXT11O2JyZWFrfWY9PT1jJiZpLnB1c2godSl9by50d2Vlbj1pfX0pKGUsdCxuKSl9LGRlbGF5OmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIHQ/ZnVuY3Rpb24odCxuKXtyZXR1cm4gZnVuY3Rpb24oKXtNcih0aGlzLHQpLmRlbGF5PStuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19OmZ1bmN0aW9uKHQsbil7cmV0dXJuIG49K24sZnVuY3Rpb24oKXtNcih0aGlzLHQpLmRlbGF5PW59fSkobix0KSk6VHIodGhpcy5ub2RlKCksbikuZGVsYXl9LGR1cmF0aW9uOmZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIHQ/ZnVuY3Rpb24odCxuKXtyZXR1cm4gZnVuY3Rpb24oKXtBcih0aGlzLHQpLmR1cmF0aW9uPStuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19OmZ1bmN0aW9uKHQsbil7cmV0dXJuIG49K24sZnVuY3Rpb24oKXtBcih0aGlzLHQpLmR1cmF0aW9uPW59fSkobix0KSk6VHIodGhpcy5ub2RlKCksbikuZHVyYXRpb259LGVhc2U6ZnVuY3Rpb24odCl7dmFyIG49dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKGZ1bmN0aW9uKHQsbil7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEVycm9yO3JldHVybiBmdW5jdGlvbigpe0FyKHRoaXMsdCkuZWFzZT1ufX0obix0KSk6VHIodGhpcy5ub2RlKCksbikuZWFzZX19O3ZhciBxcj1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCl7cmV0dXJuIE1hdGgucG93KHQsbil9cmV0dXJuIG49K24sZS5leHBvbmVudD10LGV9KDMpLE9yPWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gMS1NYXRoLnBvdygxLXQsbil9cmV0dXJuIG49K24sZS5leHBvbmVudD10LGV9KDMpLFlyPWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSh0KXtyZXR1cm4oKHQqPTIpPD0xP01hdGgucG93KHQsbik6Mi1NYXRoLnBvdygyLXQsbikpLzJ9cmV0dXJuIG49K24sZS5leHBvbmVudD10LGV9KDMpLEJyPU1hdGguUEksRnI9QnIvMjtmdW5jdGlvbiBJcih0KXtyZXR1cm4oMS1NYXRoLmNvcyhCcip0KSkvMn1mdW5jdGlvbiBIcih0KXtyZXR1cm4oKHQqPTIpPD0xP01hdGgucG93KDIsMTAqdC0xMCk6Mi1NYXRoLnBvdygyLDEwLTEwKnQpKS8yfWZ1bmN0aW9uIGpyKHQpe3JldHVybigodCo9Mik8PTE/MS1NYXRoLnNxcnQoMS10KnQpOk1hdGguc3FydCgxLSh0LT0yKSp0KSsxKS8yfXZhciBYcj00LzExLEdyPTYvMTEsVnI9OC8xMSwkcj0uNzUsV3I9OS8xMSxacj0xMC8xMSxRcj0uOTM3NSxKcj0yMS8yMixLcj02My82NCx0aT0xL1hyL1hyO2Z1bmN0aW9uIG5pKHQpe3JldHVybih0PSt0KTxYcj90aSp0KnQ6dDxWcj90aSoodC09R3IpKnQrJHI6dDxacj90aSoodC09V3IpKnQrUXI6dGkqKHQtPUpyKSp0K0tyfXZhciBlaT1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCl7cmV0dXJuIHQqdCooKG4rMSkqdC1uKX1yZXR1cm4gbj0rbixlLm92ZXJzaG9vdD10LGV9KDEuNzAxNTgpLHJpPWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSh0KXtyZXR1cm4tLXQqdCooKG4rMSkqdCtuKSsxfXJldHVybiBuPStuLGUub3ZlcnNob290PXQsZX0oMS43MDE1OCksaWk9ZnVuY3Rpb24gdChuKXtmdW5jdGlvbiBlKHQpe3JldHVybigodCo9Mik8MT90KnQqKChuKzEpKnQtbik6KHQtPTIpKnQqKChuKzEpKnQrbikrMikvMn1yZXR1cm4gbj0rbixlLm92ZXJzaG9vdD10LGV9KDEuNzAxNTgpLG9pPTIqTWF0aC5QSSxhaT1mdW5jdGlvbiB0KG4sZSl7dmFyIHI9TWF0aC5hc2luKDEvKG49TWF0aC5tYXgoMSxuKSkpKihlLz1vaSk7ZnVuY3Rpb24gaSh0KXtyZXR1cm4gbipNYXRoLnBvdygyLDEwKi0tdCkqTWF0aC5zaW4oKHItdCkvZSl9cmV0dXJuIGkuYW1wbGl0dWRlPWZ1bmN0aW9uKG4pe3JldHVybiB0KG4sZSpvaSl9LGkucGVyaW9kPWZ1bmN0aW9uKGUpe3JldHVybiB0KG4sZSl9LGl9KDEsLjMpLHVpPWZ1bmN0aW9uIHQobixlKXt2YXIgcj1NYXRoLmFzaW4oMS8obj1NYXRoLm1heCgxLG4pKSkqKGUvPW9pKTtmdW5jdGlvbiBpKHQpe3JldHVybiAxLW4qTWF0aC5wb3coMiwtMTAqKHQ9K3QpKSpNYXRoLnNpbigodCtyKS9lKX1yZXR1cm4gaS5hbXBsaXR1ZGU9ZnVuY3Rpb24obil7cmV0dXJuIHQobixlKm9pKX0saS5wZXJpb2Q9ZnVuY3Rpb24oZSl7cmV0dXJuIHQobixlKX0saX0oMSwuMyksZmk9ZnVuY3Rpb24gdChuLGUpe3ZhciByPU1hdGguYXNpbigxLyhuPU1hdGgubWF4KDEsbikpKSooZS89b2kpO2Z1bmN0aW9uIGkodCl7cmV0dXJuKCh0PTIqdC0xKTwwP24qTWF0aC5wb3coMiwxMCp0KSpNYXRoLnNpbigoci10KS9lKToyLW4qTWF0aC5wb3coMiwtMTAqdCkqTWF0aC5zaW4oKHIrdCkvZSkpLzJ9cmV0dXJuIGkuYW1wbGl0dWRlPWZ1bmN0aW9uKG4pe3JldHVybiB0KG4sZSpvaSl9LGkucGVyaW9kPWZ1bmN0aW9uKGUpe3JldHVybiB0KG4sZSl9LGl9KDEsLjMpLGNpPXt0aW1lOm51bGwsZGVsYXk6MCxkdXJhdGlvbjoyNTAsZWFzZTpVcn07ZnVuY3Rpb24gc2kodCxuKXtmb3IodmFyIGU7IShlPXQuX190cmFuc2l0aW9uKXx8IShlPWVbbl0pOylpZighKHQ9dC5wYXJlbnROb2RlKSlyZXR1cm4gY2kudGltZT1pcigpLGNpO3JldHVybiBlfUx0LnByb3RvdHlwZS5pbnRlcnJ1cHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe05yKHRoaXMsdCl9KX0sTHQucHJvdG90eXBlLnRyYW5zaXRpb249ZnVuY3Rpb24odCl7dmFyIG4sZTt0IGluc3RhbmNlb2YgUHI/KG49dC5faWQsdD10Ll9uYW1lKToobj1ScigpLChlPWNpKS50aW1lPWlyKCksdD1udWxsPT10P251bGw6dCsiIik7Zm9yKHZhciByPXRoaXMuX2dyb3VwcyxpPXIubGVuZ3RoLG89MDtvPGk7KytvKWZvcih2YXIgYSx1PXJbb10sZj11Lmxlbmd0aCxjPTA7YzxmOysrYykoYT11W2NdKSYmd3IoYSx0LG4sYyx1LGV8fHNpKGEsbikpO3JldHVybiBuZXcgUHIocix0aGlzLl9wYXJlbnRzLHQsbil9O3ZhciBsaT1bbnVsbF07ZnVuY3Rpb24gaGkodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIGRpKHQsbixlKXt0aGlzLnRhcmdldD10LHRoaXMudHlwZT1uLHRoaXMuc2VsZWN0aW9uPWV9ZnVuY3Rpb24gcGkoKXt0LmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIHZpKCl7dC5ldmVudC5wcmV2ZW50RGVmYXVsdCgpLHQuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9dmFyIGdpPXtuYW1lOiJkcmFnIn0seWk9e25hbWU6InNwYWNlIn0sX2k9e25hbWU6ImhhbmRsZSJ9LGJpPXtuYW1lOiJjZW50ZXIifSxtaT17bmFtZToieCIsaGFuZGxlczpbImUiLCJ3Il0ubWFwKEVpKSxpbnB1dDpmdW5jdGlvbih0LG4pe3JldHVybiB0JiZbW3RbMF0sblswXVsxXV0sW3RbMV0sblsxXVsxXV1dfSxvdXRwdXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHQmJlt0WzBdWzBdLHRbMV1bMF1dfX0seGk9e25hbWU6InkiLGhhbmRsZXM6WyJuIiwicyJdLm1hcChFaSksaW5wdXQ6ZnVuY3Rpb24odCxuKXtyZXR1cm4gdCYmW1tuWzBdWzBdLHRbMF1dLFtuWzFdWzBdLHRbMV1dXX0sb3V0cHV0OmZ1bmN0aW9uKHQpe3JldHVybiB0JiZbdFswXVsxXSx0WzFdWzFdXX19LHdpPXtuYW1lOiJ4eSIsaGFuZGxlczpbIm4iLCJlIiwicyIsInciLCJudyIsIm5lIiwic2UiLCJzdyJdLm1hcChFaSksaW5wdXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHR9LG91dHB1dDpmdW5jdGlvbih0KXtyZXR1cm4gdH19LE1pPXtvdmVybGF5OiJjcm9zc2hhaXIiLHNlbGVjdGlvbjoibW92ZSIsbjoibnMtcmVzaXplIixlOiJldy1yZXNpemUiLHM6Im5zLXJlc2l6ZSIsdzoiZXctcmVzaXplIixudzoibndzZS1yZXNpemUiLG5lOiJuZXN3LXJlc2l6ZSIsc2U6Im53c2UtcmVzaXplIixzdzoibmVzdy1yZXNpemUifSxBaT17ZToidyIsdzoiZSIsbnc6Im5lIixuZToibnciLHNlOiJzdyIsc3c6InNlIn0sVGk9e246InMiLHM6Im4iLG53OiJzdyIsbmU6InNlIixzZToibmUiLHN3OiJudyJ9LE5pPXtvdmVybGF5OjEsc2VsZWN0aW9uOjEsbjpudWxsLGU6MSxzOm51bGwsdzotMSxudzotMSxuZToxLHNlOjEsc3c6LTF9LFNpPXtvdmVybGF5OjEsc2VsZWN0aW9uOjEsbjotMSxlOm51bGwsczoxLHc6bnVsbCxudzotMSxuZTotMSxzZToxLHN3OjF9O2Z1bmN0aW9uIEVpKHQpe3JldHVybnt0eXBlOnR9fWZ1bmN0aW9uIGtpKCl7cmV0dXJuIXQuZXZlbnQuYnV0dG9ufWZ1bmN0aW9uIENpKCl7dmFyIHQ9dGhpcy5vd25lclNWR0VsZW1lbnR8fHRoaXM7cmV0dXJuW1swLDBdLFt0LndpZHRoLmJhc2VWYWwudmFsdWUsdC5oZWlnaHQuYmFzZVZhbC52YWx1ZV1dfWZ1bmN0aW9uIFBpKHQpe2Zvcig7IXQuX19icnVzaDspaWYoISh0PXQucGFyZW50Tm9kZSkpcmV0dXJuO3JldHVybiB0Ll9fYnJ1c2h9ZnVuY3Rpb24gemkodCl7cmV0dXJuIHRbMF1bMF09PT10WzFdWzBdfHx0WzBdWzFdPT09dFsxXVsxXX1mdW5jdGlvbiBSaShuKXt2YXIgZSxyPUNpLGk9a2ksbz1JKHUsInN0YXJ0IiwiYnJ1c2giLCJlbmQiKSxhPTY7ZnVuY3Rpb24gdSh0KXt2YXIgZT10LnByb3BlcnR5KCJfX2JydXNoIixoKS5zZWxlY3RBbGwoIi5vdmVybGF5IikuZGF0YShbRWkoIm92ZXJsYXkiKV0pO2UuZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJjbGFzcyIsIm92ZXJsYXkiKS5hdHRyKCJwb2ludGVyLWV2ZW50cyIsImFsbCIpLmF0dHIoImN1cnNvciIsTWkub3ZlcmxheSkubWVyZ2UoZSkuZWFjaChmdW5jdGlvbigpe3ZhciB0PVBpKHRoaXMpLmV4dGVudDtEdCh0aGlzKS5hdHRyKCJ4Iix0WzBdWzBdKS5hdHRyKCJ5Iix0WzBdWzFdKS5hdHRyKCJ3aWR0aCIsdFsxXVswXS10WzBdWzBdKS5hdHRyKCJoZWlnaHQiLHRbMV1bMV0tdFswXVsxXSl9KSx0LnNlbGVjdEFsbCgiLnNlbGVjdGlvbiIpLmRhdGEoW0VpKCJzZWxlY3Rpb24iKV0pLmVudGVyKCkuYXBwZW5kKCJyZWN0IikuYXR0cigiY2xhc3MiLCJzZWxlY3Rpb24iKS5hdHRyKCJjdXJzb3IiLE1pLnNlbGVjdGlvbikuYXR0cigiZmlsbCIsIiM3NzciKS5hdHRyKCJmaWxsLW9wYWNpdHkiLC4zKS5hdHRyKCJzdHJva2UiLCIjZmZmIikuYXR0cigic2hhcGUtcmVuZGVyaW5nIiwiY3Jpc3BFZGdlcyIpO3ZhciByPXQuc2VsZWN0QWxsKCIuaGFuZGxlIikuZGF0YShuLmhhbmRsZXMsZnVuY3Rpb24odCl7cmV0dXJuIHQudHlwZX0pO3IuZXhpdCgpLnJlbW92ZSgpLHIuZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJjbGFzcyIsZnVuY3Rpb24odCl7cmV0dXJuImhhbmRsZSBoYW5kbGUtLSIrdC50eXBlfSkuYXR0cigiY3Vyc29yIixmdW5jdGlvbih0KXtyZXR1cm4gTWlbdC50eXBlXX0pLHQuZWFjaChmKS5hdHRyKCJmaWxsIiwibm9uZSIpLmF0dHIoInBvaW50ZXItZXZlbnRzIiwiYWxsIikuc3R5bGUoIi13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvciIsInJnYmEoMCwwLDAsMCkiKS5vbigibW91c2Vkb3duLmJydXNoIHRvdWNoc3RhcnQuYnJ1c2giLGwpfWZ1bmN0aW9uIGYoKXt2YXIgdD1EdCh0aGlzKSxuPVBpKHRoaXMpLnNlbGVjdGlvbjtuPyh0LnNlbGVjdEFsbCgiLnNlbGVjdGlvbiIpLnN0eWxlKCJkaXNwbGF5IixudWxsKS5hdHRyKCJ4IixuWzBdWzBdKS5hdHRyKCJ5IixuWzBdWzFdKS5hdHRyKCJ3aWR0aCIsblsxXVswXS1uWzBdWzBdKS5hdHRyKCJoZWlnaHQiLG5bMV1bMV0tblswXVsxXSksdC5zZWxlY3RBbGwoIi5oYW5kbGUiKS5zdHlsZSgiZGlzcGxheSIsbnVsbCkuYXR0cigieCIsZnVuY3Rpb24odCl7cmV0dXJuImUiPT09dC50eXBlW3QudHlwZS5sZW5ndGgtMV0/blsxXVswXS1hLzI6blswXVswXS1hLzJ9KS5hdHRyKCJ5IixmdW5jdGlvbih0KXtyZXR1cm4icyI9PT10LnR5cGVbMF0/blsxXVsxXS1hLzI6blswXVsxXS1hLzJ9KS5hdHRyKCJ3aWR0aCIsZnVuY3Rpb24odCl7cmV0dXJuIm4iPT09dC50eXBlfHwicyI9PT10LnR5cGU/blsxXVswXS1uWzBdWzBdK2E6YX0pLmF0dHIoImhlaWdodCIsZnVuY3Rpb24odCl7cmV0dXJuImUiPT09dC50eXBlfHwidyI9PT10LnR5cGU/blsxXVsxXS1uWzBdWzFdK2E6YX0pKTp0LnNlbGVjdEFsbCgiLnNlbGVjdGlvbiwuaGFuZGxlIikuc3R5bGUoImRpc3BsYXkiLCJub25lIikuYXR0cigieCIsbnVsbCkuYXR0cigieSIsbnVsbCkuYXR0cigid2lkdGgiLG51bGwpLmF0dHIoImhlaWdodCIsbnVsbCl9ZnVuY3Rpb24gYyh0LG4pe3JldHVybiB0Ll9fYnJ1c2guZW1pdHRlcnx8bmV3IHModCxuKX1mdW5jdGlvbiBzKHQsbil7dGhpcy50aGF0PXQsdGhpcy5hcmdzPW4sdGhpcy5zdGF0ZT10Ll9fYnJ1c2gsdGhpcy5hY3RpdmU9MH1mdW5jdGlvbiBsKCl7aWYodC5ldmVudC50b3VjaGVzKXtpZih0LmV2ZW50LmNoYW5nZWRUb3VjaGVzLmxlbmd0aDx0LmV2ZW50LnRvdWNoZXMubGVuZ3RoKXJldHVybiB2aSgpfWVsc2UgaWYoZSlyZXR1cm47aWYoaS5hcHBseSh0aGlzLGFyZ3VtZW50cykpe3ZhciByLG8sYSx1LHMsbCxoLGQscCx2LGcseSxfLGI9dGhpcyxtPXQuZXZlbnQudGFyZ2V0Ll9fZGF0YV9fLnR5cGUseD0ic2VsZWN0aW9uIj09PSh0LmV2ZW50Lm1ldGFLZXk/bT0ib3ZlcmxheSI6bSk/Z2k6dC5ldmVudC5hbHRLZXk/Ymk6X2ksdz1uPT09eGk/bnVsbDpOaVttXSxNPW49PT1taT9udWxsOlNpW21dLEE9UGkoYiksVD1BLmV4dGVudCxOPUEuc2VsZWN0aW9uLFM9VFswXVswXSxFPVRbMF1bMV0saz1UWzFdWzBdLEM9VFsxXVsxXSxQPXcmJk0mJnQuZXZlbnQuc2hpZnRLZXksej1GdChiKSxSPXosTD1jKGIsYXJndW1lbnRzKS5iZWZvcmVzdGFydCgpOyJvdmVybGF5Ij09PW0/QS5zZWxlY3Rpb249Tj1bW3I9bj09PXhpP1M6elswXSxhPW49PT1taT9FOnpbMV1dLFtzPW49PT14aT9rOnIsaD1uPT09bWk/QzphXV06KHI9TlswXVswXSxhPU5bMF1bMV0scz1OWzFdWzBdLGg9TlsxXVsxXSksbz1yLHU9YSxsPXMsZD1oO3ZhciBEPUR0KGIpLmF0dHIoInBvaW50ZXItZXZlbnRzIiwibm9uZSIpLFU9RC5zZWxlY3RBbGwoIi5vdmVybGF5IikuYXR0cigiY3Vyc29yIixNaVttXSk7aWYodC5ldmVudC50b3VjaGVzKUQub24oInRvdWNobW92ZS5icnVzaCIsTywhMCkub24oInRvdWNoZW5kLmJydXNoIHRvdWNoY2FuY2VsLmJydXNoIixCLCEwKTtlbHNle3ZhciBxPUR0KHQuZXZlbnQudmlldykub24oImtleWRvd24uYnJ1c2giLGZ1bmN0aW9uKCl7c3dpdGNoKHQuZXZlbnQua2V5Q29kZSl7Y2FzZSAxNjpQPXcmJk07YnJlYWs7Y2FzZSAxODp4PT09X2kmJih3JiYocz1sLXAqdyxyPW8rcCp3KSxNJiYoaD1kLXYqTSxhPXUrdipNKSx4PWJpLFkoKSk7YnJlYWs7Y2FzZSAzMjp4IT09X2kmJnghPT1iaXx8KHc8MD9zPWwtcDp3PjAmJihyPW8tcCksTTwwP2g9ZC12Ok0+MCYmKGE9dS12KSx4PXlpLFUuYXR0cigiY3Vyc29yIixNaS5zZWxlY3Rpb24pLFkoKSk7YnJlYWs7ZGVmYXVsdDpyZXR1cm59dmkoKX0sITApLm9uKCJrZXl1cC5icnVzaCIsZnVuY3Rpb24oKXtzd2l0Y2godC5ldmVudC5rZXlDb2RlKXtjYXNlIDE2OlAmJih5PV89UD0hMSxZKCkpO2JyZWFrO2Nhc2UgMTg6eD09PWJpJiYodzwwP3M9bDp3PjAmJihyPW8pLE08MD9oPWQ6TT4wJiYoYT11KSx4PV9pLFkoKSk7YnJlYWs7Y2FzZSAzMjp4PT09eWkmJih0LmV2ZW50LmFsdEtleT8odyYmKHM9bC1wKncscj1vK3AqdyksTSYmKGg9ZC12Kk0sYT11K3YqTSkseD1iaSk6KHc8MD9zPWw6dz4wJiYocj1vKSxNPDA/aD1kOk0+MCYmKGE9dSkseD1faSksVS5hdHRyKCJjdXJzb3IiLE1pW21dKSxZKCkpO2JyZWFrO2RlZmF1bHQ6cmV0dXJufXZpKCl9LCEwKS5vbigibW91c2Vtb3ZlLmJydXNoIixPLCEwKS5vbigibW91c2V1cC5icnVzaCIsQiwhMCk7WHQodC5ldmVudC52aWV3KX1waSgpLE5yKGIpLGYuY2FsbChiKSxMLnN0YXJ0KCl9ZnVuY3Rpb24gTygpe3ZhciB0PUZ0KGIpOyFQfHx5fHxffHwoTWF0aC5hYnModFswXS1SWzBdKT5NYXRoLmFicyh0WzFdLVJbMV0pP189ITA6eT0hMCksUj10LGc9ITAsdmkoKSxZKCl9ZnVuY3Rpb24gWSgpe3ZhciB0O3N3aXRjaChwPVJbMF0telswXSx2PVJbMV0telsxXSx4KXtjYXNlIHlpOmNhc2UgZ2k6dyYmKHA9TWF0aC5tYXgoUy1yLE1hdGgubWluKGstcyxwKSksbz1yK3AsbD1zK3ApLE0mJih2PU1hdGgubWF4KEUtYSxNYXRoLm1pbihDLWgsdikpLHU9YSt2LGQ9aCt2KTticmVhaztjYXNlIF9pOnc8MD8ocD1NYXRoLm1heChTLXIsTWF0aC5taW4oay1yLHApKSxvPXIrcCxsPXMpOnc+MCYmKHA9TWF0aC5tYXgoUy1zLE1hdGgubWluKGstcyxwKSksbz1yLGw9cytwKSxNPDA/KHY9TWF0aC5tYXgoRS1hLE1hdGgubWluKEMtYSx2KSksdT1hK3YsZD1oKTpNPjAmJih2PU1hdGgubWF4KEUtaCxNYXRoLm1pbihDLWgsdikpLHU9YSxkPWgrdik7YnJlYWs7Y2FzZSBiaTp3JiYobz1NYXRoLm1heChTLE1hdGgubWluKGssci1wKncpKSxsPU1hdGgubWF4KFMsTWF0aC5taW4oayxzK3AqdykpKSxNJiYodT1NYXRoLm1heChFLE1hdGgubWluKEMsYS12Kk0pKSxkPU1hdGgubWF4KEUsTWF0aC5taW4oQyxoK3YqTSkpKX1sPG8mJih3Kj0tMSx0PXIscj1zLHM9dCx0PW8sbz1sLGw9dCxtIGluIEFpJiZVLmF0dHIoImN1cnNvciIsTWlbbT1BaVttXV0pKSxkPHUmJihNKj0tMSx0PWEsYT1oLGg9dCx0PXUsdT1kLGQ9dCxtIGluIFRpJiZVLmF0dHIoImN1cnNvciIsTWlbbT1UaVttXV0pKSxBLnNlbGVjdGlvbiYmKE49QS5zZWxlY3Rpb24pLHkmJihvPU5bMF1bMF0sbD1OWzFdWzBdKSxfJiYodT1OWzBdWzFdLGQ9TlsxXVsxXSksTlswXVswXT09PW8mJk5bMF1bMV09PT11JiZOWzFdWzBdPT09bCYmTlsxXVsxXT09PWR8fChBLnNlbGVjdGlvbj1bW28sdV0sW2wsZF1dLGYuY2FsbChiKSxMLmJydXNoKCkpfWZ1bmN0aW9uIEIoKXtpZihwaSgpLHQuZXZlbnQudG91Y2hlcyl7aWYodC5ldmVudC50b3VjaGVzLmxlbmd0aClyZXR1cm47ZSYmY2xlYXJUaW1lb3V0KGUpLGU9c2V0VGltZW91dChmdW5jdGlvbigpe2U9bnVsbH0sNTAwKSxELm9uKCJ0b3VjaG1vdmUuYnJ1c2ggdG91Y2hlbmQuYnJ1c2ggdG91Y2hjYW5jZWwuYnJ1c2giLG51bGwpfWVsc2UgR3QodC5ldmVudC52aWV3LGcpLHEub24oImtleWRvd24uYnJ1c2gga2V5dXAuYnJ1c2ggbW91c2Vtb3ZlLmJydXNoIG1vdXNldXAuYnJ1c2giLG51bGwpO0QuYXR0cigicG9pbnRlci1ldmVudHMiLCJhbGwiKSxVLmF0dHIoImN1cnNvciIsTWkub3ZlcmxheSksQS5zZWxlY3Rpb24mJihOPUEuc2VsZWN0aW9uKSx6aShOKSYmKEEuc2VsZWN0aW9uPW51bGwsZi5jYWxsKGIpKSxMLmVuZCgpfX1mdW5jdGlvbiBoKCl7dmFyIHQ9dGhpcy5fX2JydXNofHx7c2VsZWN0aW9uOm51bGx9O3JldHVybiB0LmV4dGVudD1yLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0LmRpbT1uLHR9cmV0dXJuIHUubW92ZT1mdW5jdGlvbih0LGUpe3Quc2VsZWN0aW9uP3Qub24oInN0YXJ0LmJydXNoIixmdW5jdGlvbigpe2ModGhpcyxhcmd1bWVudHMpLmJlZm9yZXN0YXJ0KCkuc3RhcnQoKX0pLm9uKCJpbnRlcnJ1cHQuYnJ1c2ggZW5kLmJydXNoIixmdW5jdGlvbigpe2ModGhpcyxhcmd1bWVudHMpLmVuZCgpfSkudHdlZW4oImJydXNoIixmdW5jdGlvbigpe3ZhciB0PXRoaXMscj10Ll9fYnJ1c2gsaT1jKHQsYXJndW1lbnRzKSxvPXIuc2VsZWN0aW9uLGE9bi5pbnB1dCgiZnVuY3Rpb24iPT10eXBlb2YgZT9lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTplLHIuZXh0ZW50KSx1PW1lKG8sYSk7ZnVuY3Rpb24gcyhuKXtyLnNlbGVjdGlvbj0xPT09biYmemkoYSk/bnVsbDp1KG4pLGYuY2FsbCh0KSxpLmJydXNoKCl9cmV0dXJuIG8mJmE/czpzKDEpfSk6dC5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLHI9dGhpcy5fX2JydXNoLGk9bi5pbnB1dCgiZnVuY3Rpb24iPT10eXBlb2YgZT9lLmFwcGx5KHRoaXMsdCk6ZSxyLmV4dGVudCksbz1jKHRoaXMsdCkuYmVmb3Jlc3RhcnQoKTtOcih0aGlzKSxyLnNlbGVjdGlvbj1udWxsPT1pfHx6aShpKT9udWxsOmksZi5jYWxsKHRoaXMpLG8uc3RhcnQoKS5icnVzaCgpLmVuZCgpfSl9LHMucHJvdG90eXBlPXtiZWZvcmVzdGFydDpmdW5jdGlvbigpe3JldHVybiAxPT0rK3RoaXMuYWN0aXZlJiYodGhpcy5zdGF0ZS5lbWl0dGVyPXRoaXMsdGhpcy5zdGFydGluZz0hMCksdGhpc30sc3RhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdGFydGluZyYmKHRoaXMuc3RhcnRpbmc9ITEsdGhpcy5lbWl0KCJzdGFydCIpKSx0aGlzfSxicnVzaDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVtaXQoImJydXNoIiksdGhpc30sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIDA9PS0tdGhpcy5hY3RpdmUmJihkZWxldGUgdGhpcy5zdGF0ZS5lbWl0dGVyLHRoaXMuZW1pdCgiZW5kIikpLHRoaXN9LGVtaXQ6ZnVuY3Rpb24odCl7Q3QobmV3IGRpKHUsdCxuLm91dHB1dCh0aGlzLnN0YXRlLnNlbGVjdGlvbikpLG8uYXBwbHksbyxbdCx0aGlzLnRoYXQsdGhpcy5hcmdzXSl9fSx1LmV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmhpKFtbK3RbMF1bMF0sK3RbMF1bMV1dLFsrdFsxXVswXSwrdFsxXVsxXV1dKSx1KTpyfSx1LmZpbHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmhpKCEhdCksdSk6aX0sdS5oYW5kbGVTaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSt0LHUpOmF9LHUub249ZnVuY3Rpb24oKXt2YXIgdD1vLm9uLmFwcGx5KG8sYXJndW1lbnRzKTtyZXR1cm4gdD09PW8/dTp0fSx1fXZhciBMaT1NYXRoLmNvcyxEaT1NYXRoLnNpbixVaT1NYXRoLlBJLHFpPVVpLzIsT2k9MipVaSxZaT1NYXRoLm1heDt2YXIgQmk9QXJyYXkucHJvdG90eXBlLnNsaWNlO2Z1bmN0aW9uIEZpKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX12YXIgSWk9TWF0aC5QSSxIaT0yKklpLGppPUhpLTFlLTY7ZnVuY3Rpb24gWGkoKXt0aGlzLl94MD10aGlzLl95MD10aGlzLl94MT10aGlzLl95MT1udWxsLHRoaXMuXz0iIn1mdW5jdGlvbiBHaSgpe3JldHVybiBuZXcgWGl9ZnVuY3Rpb24gVmkodCl7cmV0dXJuIHQuc291cmNlfWZ1bmN0aW9uICRpKHQpe3JldHVybiB0LnRhcmdldH1mdW5jdGlvbiBXaSh0KXtyZXR1cm4gdC5yYWRpdXN9ZnVuY3Rpb24gWmkodCl7cmV0dXJuIHQuc3RhcnRBbmdsZX1mdW5jdGlvbiBRaSh0KXtyZXR1cm4gdC5lbmRBbmdsZX1YaS5wcm90b3R5cGU9R2kucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpYaSxtb3ZlVG86ZnVuY3Rpb24odCxuKXt0aGlzLl8rPSJNIisodGhpcy5feDA9dGhpcy5feDE9K3QpKyIsIisodGhpcy5feTA9dGhpcy5feTE9K24pfSxjbG9zZVBhdGg6ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5feDEmJih0aGlzLl94MT10aGlzLl94MCx0aGlzLl95MT10aGlzLl95MCx0aGlzLl8rPSJaIil9LGxpbmVUbzpmdW5jdGlvbih0LG4pe3RoaXMuXys9IkwiKyh0aGlzLl94MT0rdCkrIiwiKyh0aGlzLl95MT0rbil9LHF1YWRyYXRpY0N1cnZlVG86ZnVuY3Rpb24odCxuLGUscil7dGhpcy5fKz0iUSIrICt0KyIsIisgK24rIiwiKyh0aGlzLl94MT0rZSkrIiwiKyh0aGlzLl95MT0rcil9LGJlemllckN1cnZlVG86ZnVuY3Rpb24odCxuLGUscixpLG8pe3RoaXMuXys9IkMiKyArdCsiLCIrICtuKyIsIisgK2UrIiwiKyArcisiLCIrKHRoaXMuX3gxPStpKSsiLCIrKHRoaXMuX3kxPStvKX0sYXJjVG86ZnVuY3Rpb24odCxuLGUscixpKXt0PSt0LG49K24sZT0rZSxyPStyLGk9K2k7dmFyIG89dGhpcy5feDEsYT10aGlzLl95MSx1PWUtdCxmPXItbixjPW8tdCxzPWEtbixsPWMqYytzKnM7aWYoaTwwKXRocm93IG5ldyBFcnJvcigibmVnYXRpdmUgcmFkaXVzOiAiK2kpO2lmKG51bGw9PT10aGlzLl94MSl0aGlzLl8rPSJNIisodGhpcy5feDE9dCkrIiwiKyh0aGlzLl95MT1uKTtlbHNlIGlmKGw+MWUtNilpZihNYXRoLmFicyhzKnUtZipjKT4xZS02JiZpKXt2YXIgaD1lLW8sZD1yLWEscD11KnUrZipmLHY9aCpoK2QqZCxnPU1hdGguc3FydChwKSx5PU1hdGguc3FydChsKSxfPWkqTWF0aC50YW4oKElpLU1hdGguYWNvcygocCtsLXYpLygyKmcqeSkpKS8yKSxiPV8veSxtPV8vZztNYXRoLmFicyhiLTEpPjFlLTYmJih0aGlzLl8rPSJMIisodCtiKmMpKyIsIisobitiKnMpKSx0aGlzLl8rPSJBIitpKyIsIitpKyIsMCwwLCIrICsocypoPmMqZCkrIiwiKyh0aGlzLl94MT10K20qdSkrIiwiKyh0aGlzLl95MT1uK20qZil9ZWxzZSB0aGlzLl8rPSJMIisodGhpcy5feDE9dCkrIiwiKyh0aGlzLl95MT1uKTtlbHNlO30sYXJjOmZ1bmN0aW9uKHQsbixlLHIsaSxvKXt0PSt0LG49K247dmFyIGE9KGU9K2UpKk1hdGguY29zKHIpLHU9ZSpNYXRoLnNpbihyKSxmPXQrYSxjPW4rdSxzPTFebyxsPW8/ci1pOmktcjtpZihlPDApdGhyb3cgbmV3IEVycm9yKCJuZWdhdGl2ZSByYWRpdXM6ICIrZSk7bnVsbD09PXRoaXMuX3gxP3RoaXMuXys9Ik0iK2YrIiwiK2M6KE1hdGguYWJzKHRoaXMuX3gxLWYpPjFlLTZ8fE1hdGguYWJzKHRoaXMuX3kxLWMpPjFlLTYpJiYodGhpcy5fKz0iTCIrZisiLCIrYyksZSYmKGw8MCYmKGw9bCVIaStIaSksbD5qaT90aGlzLl8rPSJBIitlKyIsIitlKyIsMCwxLCIrcysiLCIrKHQtYSkrIiwiKyhuLXUpKyJBIitlKyIsIitlKyIsMCwxLCIrcysiLCIrKHRoaXMuX3gxPWYpKyIsIisodGhpcy5feTE9Yyk6bD4xZS02JiYodGhpcy5fKz0iQSIrZSsiLCIrZSsiLDAsIisgKyhsPj1JaSkrIiwiK3MrIiwiKyh0aGlzLl94MT10K2UqTWF0aC5jb3MoaSkpKyIsIisodGhpcy5feTE9bitlKk1hdGguc2luKGkpKSkpfSxyZWN0OmZ1bmN0aW9uKHQsbixlLHIpe3RoaXMuXys9Ik0iKyh0aGlzLl94MD10aGlzLl94MT0rdCkrIiwiKyh0aGlzLl95MD10aGlzLl95MT0rbikrImgiKyArZSsidiIrICtyKyJoIistZSsiWiJ9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX319O2Z1bmN0aW9uIEppKCl7fWZ1bmN0aW9uIEtpKHQsbil7dmFyIGU9bmV3IEppO2lmKHQgaW5zdGFuY2VvZiBKaSl0LmVhY2goZnVuY3Rpb24odCxuKXtlLnNldChuLHQpfSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKXt2YXIgcixpPS0xLG89dC5sZW5ndGg7aWYobnVsbD09bilmb3IoOysraTxvOyllLnNldChpLHRbaV0pO2Vsc2UgZm9yKDsrK2k8bzspZS5zZXQobihyPXRbaV0saSx0KSxyKX1lbHNlIGlmKHQpZm9yKHZhciBhIGluIHQpZS5zZXQoYSx0W2FdKTtyZXR1cm4gZX1mdW5jdGlvbiB0bygpe3JldHVybnt9fWZ1bmN0aW9uIG5vKHQsbixlKXt0W25dPWV9ZnVuY3Rpb24gZW8oKXtyZXR1cm4gS2koKX1mdW5jdGlvbiBybyh0LG4sZSl7dC5zZXQobixlKX1mdW5jdGlvbiBpbygpe31KaS5wcm90b3R5cGU9S2kucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpKaSxoYXM6ZnVuY3Rpb24odCl7cmV0dXJuIiQiK3QgaW4gdGhpc30sZ2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzWyIkIit0XX0sc2V0OmZ1bmN0aW9uKHQsbil7cmV0dXJuIHRoaXNbIiQiK3RdPW4sdGhpc30scmVtb3ZlOmZ1bmN0aW9uKHQpe3ZhciBuPSIkIit0O3JldHVybiBuIGluIHRoaXMmJmRlbGV0ZSB0aGlzW25dfSxjbGVhcjpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzKSIkIj09PXRbMF0mJmRlbGV0ZSB0aGlzW3RdfSxrZXlzOmZ1bmN0aW9uKCl7dmFyIHQ9W107Zm9yKHZhciBuIGluIHRoaXMpIiQiPT09blswXSYmdC5wdXNoKG4uc2xpY2UoMSkpO3JldHVybiB0fSx2YWx1ZXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtmb3IodmFyIG4gaW4gdGhpcykiJCI9PT1uWzBdJiZ0LnB1c2godGhpc1tuXSk7cmV0dXJuIHR9LGVudHJpZXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtmb3IodmFyIG4gaW4gdGhpcykiJCI9PT1uWzBdJiZ0LnB1c2goe2tleTpuLnNsaWNlKDEpLHZhbHVlOnRoaXNbbl19KTtyZXR1cm4gdH0sc2l6ZTpmdW5jdGlvbigpe3ZhciB0PTA7Zm9yKHZhciBuIGluIHRoaXMpIiQiPT09blswXSYmKyt0O3JldHVybiB0fSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzKWlmKCIkIj09PXRbMF0pcmV0dXJuITE7cmV0dXJuITB9LGVhY2g6ZnVuY3Rpb24odCl7Zm9yKHZhciBuIGluIHRoaXMpIiQiPT09blswXSYmdCh0aGlzW25dLG4uc2xpY2UoMSksdGhpcyl9fTt2YXIgb289S2kucHJvdG90eXBlO2Z1bmN0aW9uIGFvKHQsbil7dmFyIGU9bmV3IGlvO2lmKHQgaW5zdGFuY2VvZiBpbyl0LmVhY2goZnVuY3Rpb24odCl7ZS5hZGQodCl9KTtlbHNlIGlmKHQpe3ZhciByPS0xLGk9dC5sZW5ndGg7aWYobnVsbD09bilmb3IoOysrcjxpOyllLmFkZCh0W3JdKTtlbHNlIGZvcig7KytyPGk7KWUuYWRkKG4odFtyXSxyLHQpKX1yZXR1cm4gZX1pby5wcm90b3R5cGU9YW8ucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjppbyxoYXM6b28uaGFzLGFkZDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpc1siJCIrKHQrPSIiKV09dCx0aGlzfSxyZW1vdmU6b28ucmVtb3ZlLGNsZWFyOm9vLmNsZWFyLHZhbHVlczpvby5rZXlzLHNpemU6b28uc2l6ZSxlbXB0eTpvby5lbXB0eSxlYWNoOm9vLmVhY2h9O3ZhciB1bz1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gZm8odCxuKXtyZXR1cm4gdC1ufWZ1bmN0aW9uIGNvKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiBzbyh0LG4pe2Zvcih2YXIgZSxyPS0xLGk9bi5sZW5ndGg7KytyPGk7KWlmKGU9bG8odCxuW3JdKSlyZXR1cm4gZTtyZXR1cm4gMH1mdW5jdGlvbiBsbyh0LG4pe2Zvcih2YXIgZT1uWzBdLHI9blsxXSxpPS0xLG89MCxhPXQubGVuZ3RoLHU9YS0xO288YTt1PW8rKyl7dmFyIGY9dFtvXSxjPWZbMF0scz1mWzFdLGw9dFt1XSxoPWxbMF0sZD1sWzFdO2lmKGhvKGYsbCxuKSlyZXR1cm4gMDtzPnIhPWQ+ciYmZTwoaC1jKSooci1zKS8oZC1zKStjJiYoaT0taSl9cmV0dXJuIGl9ZnVuY3Rpb24gaG8odCxuLGUpe3ZhciByLGksbyxhO3JldHVybiBmdW5jdGlvbih0LG4sZSl7cmV0dXJuKG5bMF0tdFswXSkqKGVbMV0tdFsxXSk9PShlWzBdLXRbMF0pKihuWzFdLXRbMV0pfSh0LG4sZSkmJihpPXRbcj0rKHRbMF09PT1uWzBdKV0sbz1lW3JdLGE9bltyXSxpPD1vJiZvPD1hfHxhPD1vJiZvPD1pKX1mdW5jdGlvbiBwbygpe312YXIgdm89W1tdLFtbWzEsMS41XSxbLjUsMV1dXSxbW1sxLjUsMV0sWzEsMS41XV1dLFtbWzEuNSwxXSxbLjUsMV1dXSxbW1sxLC41XSxbMS41LDFdXV0sW1tbMSwxLjVdLFsuNSwxXV0sW1sxLC41XSxbMS41LDFdXV0sW1tbMSwuNV0sWzEsMS41XV1dLFtbWzEsLjVdLFsuNSwxXV1dLFtbWy41LDFdLFsxLC41XV1dLFtbWzEsMS41XSxbMSwuNV1dXSxbW1suNSwxXSxbMSwuNV1dLFtbMS41LDFdLFsxLDEuNV1dXSxbW1sxLjUsMV0sWzEsLjVdXV0sW1tbLjUsMV0sWzEuNSwxXV1dLFtbWzEsMS41XSxbMS41LDFdXV0sW1tbLjUsMV0sWzEsMS41XV1dLFtdXTtmdW5jdGlvbiBnbygpe3ZhciB0PTEsbj0xLGU9TSxyPXU7ZnVuY3Rpb24gaSh0KXt2YXIgbj1lKHQpO2lmKEFycmF5LmlzQXJyYXkobikpbj1uLnNsaWNlKCkuc29ydChmbyk7ZWxzZXt2YXIgcj1zKHQpLGk9clswXSxhPXJbMV07bj13KGksYSxuKSxuPWcoTWF0aC5mbG9vcihpL24pKm4sTWF0aC5mbG9vcihhL24pKm4sbil9cmV0dXJuIG4ubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBvKHQsbil9KX1mdW5jdGlvbiBvKGUsaSl7dmFyIG89W10sdT1bXTtyZXR1cm4gZnVuY3Rpb24oZSxyLGkpe3ZhciBvLHUsZixjLHMsbCxoPW5ldyBBcnJheSxkPW5ldyBBcnJheTtvPXU9LTEsYz1lWzBdPj1yLHZvW2M8PDFdLmZvckVhY2gocCk7Zm9yKDsrK288dC0xOylmPWMsYz1lW28rMV0+PXIsdm9bZnxjPDwxXS5mb3JFYWNoKHApO3ZvW2M8PDBdLmZvckVhY2gocCk7Zm9yKDsrK3U8bi0xOyl7Zm9yKG89LTEsYz1lW3UqdCt0XT49cixzPWVbdSp0XT49cix2b1tjPDwxfHM8PDJdLmZvckVhY2gocCk7KytvPHQtMTspZj1jLGM9ZVt1KnQrdCtvKzFdPj1yLGw9cyxzPWVbdSp0K28rMV0+PXIsdm9bZnxjPDwxfHM8PDJ8bDw8M10uZm9yRWFjaChwKTt2b1tjfHM8PDNdLmZvckVhY2gocCl9bz0tMSxzPWVbdSp0XT49cix2b1tzPDwyXS5mb3JFYWNoKHApO2Zvcig7KytvPHQtMTspbD1zLHM9ZVt1KnQrbysxXT49cix2b1tzPDwyfGw8PDNdLmZvckVhY2gocCk7ZnVuY3Rpb24gcCh0KXt2YXIgbixlLHI9W3RbMF1bMF0rbyx0WzBdWzFdK3VdLGY9W3RbMV1bMF0rbyx0WzFdWzFdK3VdLGM9YShyKSxzPWEoZik7KG49ZFtjXSk/KGU9aFtzXSk/KGRlbGV0ZSBkW24uZW5kXSxkZWxldGUgaFtlLnN0YXJ0XSxuPT09ZT8obi5yaW5nLnB1c2goZiksaShuLnJpbmcpKTpoW24uc3RhcnRdPWRbZS5lbmRdPXtzdGFydDpuLnN0YXJ0LGVuZDplLmVuZCxyaW5nOm4ucmluZy5jb25jYXQoZS5yaW5nKX0pOihkZWxldGUgZFtuLmVuZF0sbi5yaW5nLnB1c2goZiksZFtuLmVuZD1zXT1uKToobj1oW3NdKT8oZT1kW2NdKT8oZGVsZXRlIGhbbi5zdGFydF0sZGVsZXRlIGRbZS5lbmRdLG49PT1lPyhuLnJpbmcucHVzaChmKSxpKG4ucmluZykpOmhbZS5zdGFydF09ZFtuLmVuZF09e3N0YXJ0OmUuc3RhcnQsZW5kOm4uZW5kLHJpbmc6ZS5yaW5nLmNvbmNhdChuLnJpbmcpfSk6KGRlbGV0ZSBoW24uc3RhcnRdLG4ucmluZy51bnNoaWZ0KHIpLGhbbi5zdGFydD1jXT1uKTpoW2NdPWRbc109e3N0YXJ0OmMsZW5kOnMscmluZzpbcixmXX19dm9bczw8M10uZm9yRWFjaChwKX0oZSxpLGZ1bmN0aW9uKHQpe3IodCxlLGkpLGZ1bmN0aW9uKHQpe2Zvcih2YXIgbj0wLGU9dC5sZW5ndGgscj10W2UtMV1bMV0qdFswXVswXS10W2UtMV1bMF0qdFswXVsxXTsrK248ZTspcis9dFtuLTFdWzFdKnRbbl1bMF0tdFtuLTFdWzBdKnRbbl1bMV07cmV0dXJuIHJ9KHQpPjA/by5wdXNoKFt0XSk6dS5wdXNoKHQpfSksdS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2Zvcih2YXIgbixlPTAscj1vLmxlbmd0aDtlPHI7KytlKWlmKC0xIT09c28oKG49b1tlXSlbMF0sdCkpcmV0dXJuIHZvaWQgbi5wdXNoKHQpfSkse3R5cGU6Ik11bHRpUG9seWdvbiIsdmFsdWU6aSxjb29yZGluYXRlczpvfX1mdW5jdGlvbiBhKG4pe3JldHVybiAyKm5bMF0rblsxXSoodCsxKSo0fWZ1bmN0aW9uIHUoZSxyLGkpe2UuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgbyxhPWVbMF0sdT1lWzFdLGY9MHxhLGM9MHx1LHM9cltjKnQrZl07YT4wJiZhPHQmJmY9PT1hJiYobz1yW2MqdCtmLTFdLGVbMF09YSsoaS1vKS8ocy1vKS0uNSksdT4wJiZ1PG4mJmM9PT11JiYobz1yWyhjLTEpKnQrZl0sZVsxXT11KyhpLW8pLyhzLW8pLS41KX0pfXJldHVybiBpLmNvbnRvdXI9byxpLnNpemU9ZnVuY3Rpb24oZSl7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuW3Qsbl07dmFyIHI9TWF0aC5jZWlsKGVbMF0pLG89TWF0aC5jZWlsKGVbMV0pO2lmKCEocj4wJiZvPjApKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBzaXplIik7cmV0dXJuIHQ9cixuPW8saX0saS50aHJlc2hvbGRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6QXJyYXkuaXNBcnJheSh0KT9jbyh1by5jYWxsKHQpKTpjbyh0KSxpKTplfSxpLnNtb290aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10P3U6cG8saSk6cj09PXV9LGl9ZnVuY3Rpb24geW8odCxuLGUpe2Zvcih2YXIgcj10LndpZHRoLGk9dC5oZWlnaHQsbz0xKyhlPDwxKSxhPTA7YTxpOysrYSlmb3IodmFyIHU9MCxmPTA7dTxyK2U7Kyt1KXU8ciYmKGYrPXQuZGF0YVt1K2Eqcl0pLHU+PWUmJih1Pj1vJiYoZi09dC5kYXRhW3UtbythKnJdKSxuLmRhdGFbdS1lK2Eqcl09Zi9NYXRoLm1pbih1KzEsci0xK28tdSxvKSl9ZnVuY3Rpb24gX28odCxuLGUpe2Zvcih2YXIgcj10LndpZHRoLGk9dC5oZWlnaHQsbz0xKyhlPDwxKSxhPTA7YTxyOysrYSlmb3IodmFyIHU9MCxmPTA7dTxpK2U7Kyt1KXU8aSYmKGYrPXQuZGF0YVthK3Uqcl0pLHU+PWUmJih1Pj1vJiYoZi09dC5kYXRhW2ErKHUtbykqcl0pLG4uZGF0YVthKyh1LWUpKnJdPWYvTWF0aC5taW4odSsxLGktMStvLXUsbykpfWZ1bmN0aW9uIGJvKHQpe3JldHVybiB0WzBdfWZ1bmN0aW9uIG1vKHQpe3JldHVybiB0WzFdfWZ1bmN0aW9uIHhvKCl7cmV0dXJuIDF9dmFyIHdvPXt9LE1vPXt9LEFvPTM0LFRvPTEwLE5vPTEzO2Z1bmN0aW9uIFNvKHQpe3JldHVybiBuZXcgRnVuY3Rpb24oImQiLCJyZXR1cm4geyIrdC5tYXAoZnVuY3Rpb24odCxuKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCkrIjogZFsiK24rIl0ifSkuam9pbigiLCIpKyJ9Iil9ZnVuY3Rpb24gRW8odCl7dmFyIG49bmV3IFJlZ0V4cCgnWyInK3QrIlxuXHJdIiksZT10LmNoYXJDb2RlQXQoMCk7ZnVuY3Rpb24gcih0LG4pe3ZhciByLGk9W10sbz10Lmxlbmd0aCxhPTAsdT0wLGY9bzw9MCxjPSExO2Z1bmN0aW9uIHMoKXtpZihmKXJldHVybiBNbztpZihjKXJldHVybiBjPSExLHdvO3ZhciBuLHIsaT1hO2lmKHQuY2hhckNvZGVBdChpKT09PUFvKXtmb3IoO2ErKzxvJiZ0LmNoYXJDb2RlQXQoYSkhPT1Bb3x8dC5jaGFyQ29kZUF0KCsrYSk9PT1BbzspO3JldHVybihuPWEpPj1vP2Y9ITA6KHI9dC5jaGFyQ29kZUF0KGErKykpPT09VG8/Yz0hMDpyPT09Tm8mJihjPSEwLHQuY2hhckNvZGVBdChhKT09PVRvJiYrK2EpLHQuc2xpY2UoaSsxLG4tMSkucmVwbGFjZSgvIiIvZywnIicpfWZvcig7YTxvOyl7aWYoKHI9dC5jaGFyQ29kZUF0KG49YSsrKSk9PT1UbyljPSEwO2Vsc2UgaWYocj09PU5vKWM9ITAsdC5jaGFyQ29kZUF0KGEpPT09VG8mJisrYTtlbHNlIGlmKHIhPT1lKWNvbnRpbnVlO3JldHVybiB0LnNsaWNlKGksbil9cmV0dXJuIGY9ITAsdC5zbGljZShpLG8pfWZvcih0LmNoYXJDb2RlQXQoby0xKT09PVRvJiYtLW8sdC5jaGFyQ29kZUF0KG8tMSk9PT1ObyYmLS1vOyhyPXMoKSkhPT1Nbzspe2Zvcih2YXIgbD1bXTtyIT09d28mJnIhPT1NbzspbC5wdXNoKHIpLHI9cygpO24mJm51bGw9PShsPW4obCx1KyspKXx8aS5wdXNoKGwpfXJldHVybiBpfWZ1bmN0aW9uIGkobil7cmV0dXJuIG4ubWFwKG8pLmpvaW4odCl9ZnVuY3Rpb24gbyh0KXtyZXR1cm4gbnVsbD09dD8iIjpuLnRlc3QodCs9IiIpPyciJyt0LnJlcGxhY2UoLyIvZywnIiInKSsnIic6dH1yZXR1cm57cGFyc2U6ZnVuY3Rpb24odCxuKXt2YXIgZSxpLG89cih0LGZ1bmN0aW9uKHQscil7aWYoZSlyZXR1cm4gZSh0LHItMSk7aT10LGU9bj9mdW5jdGlvbih0LG4pe3ZhciBlPVNvKHQpO3JldHVybiBmdW5jdGlvbihyLGkpe3JldHVybiBuKGUociksaSx0KX19KHQsbik6U28odCl9KTtyZXR1cm4gby5jb2x1bW5zPWl8fFtdLG99LHBhcnNlUm93czpyLGZvcm1hdDpmdW5jdGlvbihuLGUpe3JldHVybiBudWxsPT1lJiYoZT1mdW5jdGlvbih0KXt2YXIgbj1PYmplY3QuY3JlYXRlKG51bGwpLGU9W107cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbih0KXtmb3IodmFyIHIgaW4gdClyIGluIG58fGUucHVzaChuW3JdPXIpfSksZX0obikpLFtlLm1hcChvKS5qb2luKHQpXS5jb25jYXQobi5tYXAoZnVuY3Rpb24obil7cmV0dXJuIGUubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBvKG5bdF0pfSkuam9pbih0KX0pKS5qb2luKCJcbiIpfSxmb3JtYXRSb3dzOmZ1bmN0aW9uKHQpe3JldHVybiB0Lm1hcChpKS5qb2luKCJcbiIpfX19dmFyIGtvPUVvKCIsIiksQ289a28ucGFyc2UsUG89a28ucGFyc2VSb3dzLHpvPWtvLmZvcm1hdCxSbz1rby5mb3JtYXRSb3dzLExvPUVvKCJcdCIpLERvPUxvLnBhcnNlLFVvPUxvLnBhcnNlUm93cyxxbz1Mby5mb3JtYXQsT289TG8uZm9ybWF0Um93cztmdW5jdGlvbiBZbyh0KXtpZighdC5vayl0aHJvdyBuZXcgRXJyb3IodC5zdGF0dXMrIiAiK3Quc3RhdHVzVGV4dCk7cmV0dXJuIHQuYmxvYigpfWZ1bmN0aW9uIEJvKHQpe2lmKCF0Lm9rKXRocm93IG5ldyBFcnJvcih0LnN0YXR1cysiICIrdC5zdGF0dXNUZXh0KTtyZXR1cm4gdC5hcnJheUJ1ZmZlcigpfWZ1bmN0aW9uIEZvKHQpe2lmKCF0Lm9rKXRocm93IG5ldyBFcnJvcih0LnN0YXR1cysiICIrdC5zdGF0dXNUZXh0KTtyZXR1cm4gdC50ZXh0KCl9ZnVuY3Rpb24gSW8odCxuKXtyZXR1cm4gZmV0Y2godCxuKS50aGVuKEZvKX1mdW5jdGlvbiBIbyh0KXtyZXR1cm4gZnVuY3Rpb24obixlLHIpe3JldHVybiAyPT09YXJndW1lbnRzLmxlbmd0aCYmImZ1bmN0aW9uIj09dHlwZW9mIGUmJihyPWUsZT12b2lkIDApLElvKG4sZSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gdChuLHIpfSl9fXZhciBqbz1IbyhDbyksWG89SG8oRG8pO2Z1bmN0aW9uIEdvKHQpe2lmKCF0Lm9rKXRocm93IG5ldyBFcnJvcih0LnN0YXR1cysiICIrdC5zdGF0dXNUZXh0KTtyZXR1cm4gdC5qc29uKCl9ZnVuY3Rpb24gVm8odCl7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7cmV0dXJuIElvKG4sZSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4obmV3IERPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKG4sdCl9KX19dmFyICRvPVZvKCJhcHBsaWNhdGlvbi94bWwiKSxXbz1WbygidGV4dC9odG1sIiksWm89Vm8oImltYWdlL3N2Zyt4bWwiKTtmdW5jdGlvbiBRbyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gSm8oKXtyZXR1cm4gMWUtNiooTWF0aC5yYW5kb20oKS0uNSl9ZnVuY3Rpb24gS28odCxuLGUscil7aWYoaXNOYU4obil8fGlzTmFOKGUpKXJldHVybiB0O3ZhciBpLG8sYSx1LGYsYyxzLGwsaCxkPXQuX3Jvb3QscD17ZGF0YTpyfSx2PXQuX3gwLGc9dC5feTAseT10Ll94MSxfPXQuX3kxO2lmKCFkKXJldHVybiB0Ll9yb290PXAsdDtmb3IoO2QubGVuZ3RoOylpZigoYz1uPj0obz0odit5KS8yKSk/dj1vOnk9bywocz1lPj0oYT0oZytfKS8yKSk/Zz1hOl89YSxpPWQsIShkPWRbbD1zPDwxfGNdKSlyZXR1cm4gaVtsXT1wLHQ7aWYodT0rdC5feC5jYWxsKG51bGwsZC5kYXRhKSxmPSt0Ll95LmNhbGwobnVsbCxkLmRhdGEpLG49PT11JiZlPT09ZilyZXR1cm4gcC5uZXh0PWQsaT9pW2xdPXA6dC5fcm9vdD1wLHQ7ZG97aT1pP2lbbF09bmV3IEFycmF5KDQpOnQuX3Jvb3Q9bmV3IEFycmF5KDQpLChjPW4+PShvPSh2K3kpLzIpKT92PW86eT1vLChzPWU+PShhPShnK18pLzIpKT9nPWE6Xz1hfXdoaWxlKChsPXM8PDF8Yyk9PShoPShmPj1hKTw8MXx1Pj1vKSk7cmV0dXJuIGlbaF09ZCxpW2xdPXAsdH1mdW5jdGlvbiB0YSh0LG4sZSxyLGkpe3RoaXMubm9kZT10LHRoaXMueDA9bix0aGlzLnkwPWUsdGhpcy54MT1yLHRoaXMueTE9aX1mdW5jdGlvbiBuYSh0KXtyZXR1cm4gdFswXX1mdW5jdGlvbiBlYSh0KXtyZXR1cm4gdFsxXX1mdW5jdGlvbiByYSh0LG4sZSl7dmFyIHI9bmV3IGlhKG51bGw9PW4/bmE6bixudWxsPT1lP2VhOmUsTmFOLE5hTixOYU4sTmFOKTtyZXR1cm4gbnVsbD09dD9yOnIuYWRkQWxsKHQpfWZ1bmN0aW9uIGlhKHQsbixlLHIsaSxvKXt0aGlzLl94PXQsdGhpcy5feT1uLHRoaXMuX3gwPWUsdGhpcy5feTA9cix0aGlzLl94MT1pLHRoaXMuX3kxPW8sdGhpcy5fcm9vdD12b2lkIDB9ZnVuY3Rpb24gb2EodCl7Zm9yKHZhciBuPXtkYXRhOnQuZGF0YX0sZT1uO3Q9dC5uZXh0OyllPWUubmV4dD17ZGF0YTp0LmRhdGF9O3JldHVybiBufXZhciBhYT1yYS5wcm90b3R5cGU9aWEucHJvdG90eXBlO2Z1bmN0aW9uIHVhKHQpe3JldHVybiB0LngrdC52eH1mdW5jdGlvbiBmYSh0KXtyZXR1cm4gdC55K3Qudnl9ZnVuY3Rpb24gY2EodCl7cmV0dXJuIHQuaW5kZXh9ZnVuY3Rpb24gc2EodCxuKXt2YXIgZT10LmdldChuKTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIm1pc3Npbmc6ICIrbik7cmV0dXJuIGV9ZnVuY3Rpb24gbGEodCl7cmV0dXJuIHQueH1mdW5jdGlvbiBoYSh0KXtyZXR1cm4gdC55fWFhLmNvcHk9ZnVuY3Rpb24oKXt2YXIgdCxuLGU9bmV3IGlhKHRoaXMuX3gsdGhpcy5feSx0aGlzLl94MCx0aGlzLl95MCx0aGlzLl94MSx0aGlzLl95MSkscj10aGlzLl9yb290O2lmKCFyKXJldHVybiBlO2lmKCFyLmxlbmd0aClyZXR1cm4gZS5fcm9vdD1vYShyKSxlO2Zvcih0PVt7c291cmNlOnIsdGFyZ2V0OmUuX3Jvb3Q9bmV3IEFycmF5KDQpfV07cj10LnBvcCgpOylmb3IodmFyIGk9MDtpPDQ7KytpKShuPXIuc291cmNlW2ldKSYmKG4ubGVuZ3RoP3QucHVzaCh7c291cmNlOm4sdGFyZ2V0OnIudGFyZ2V0W2ldPW5ldyBBcnJheSg0KX0pOnIudGFyZ2V0W2ldPW9hKG4pKTtyZXR1cm4gZX0sYWEuYWRkPWZ1bmN0aW9uKHQpe3ZhciBuPSt0aGlzLl94LmNhbGwobnVsbCx0KSxlPSt0aGlzLl95LmNhbGwobnVsbCx0KTtyZXR1cm4gS28odGhpcy5jb3ZlcihuLGUpLG4sZSx0KX0sYWEuYWRkQWxsPWZ1bmN0aW9uKHQpe3ZhciBuLGUscixpLG89dC5sZW5ndGgsYT1uZXcgQXJyYXkobyksdT1uZXcgQXJyYXkobyksZj0xLzAsYz0xLzAscz0tMS8wLGw9LTEvMDtmb3IoZT0wO2U8bzsrK2UpaXNOYU4ocj0rdGhpcy5feC5jYWxsKG51bGwsbj10W2VdKSl8fGlzTmFOKGk9K3RoaXMuX3kuY2FsbChudWxsLG4pKXx8KGFbZV09cix1W2VdPWkscjxmJiYoZj1yKSxyPnMmJihzPXIpLGk8YyYmKGM9aSksaT5sJiYobD1pKSk7Zm9yKHM8ZiYmKGY9dGhpcy5feDAscz10aGlzLl94MSksbDxjJiYoYz10aGlzLl95MCxsPXRoaXMuX3kxKSx0aGlzLmNvdmVyKGYsYykuY292ZXIocyxsKSxlPTA7ZTxvOysrZSlLbyh0aGlzLGFbZV0sdVtlXSx0W2VdKTtyZXR1cm4gdGhpc30sYWEuY292ZXI9ZnVuY3Rpb24odCxuKXtpZihpc05hTih0PSt0KXx8aXNOYU4obj0rbikpcmV0dXJuIHRoaXM7dmFyIGU9dGhpcy5feDAscj10aGlzLl95MCxpPXRoaXMuX3gxLG89dGhpcy5feTE7aWYoaXNOYU4oZSkpaT0oZT1NYXRoLmZsb29yKHQpKSsxLG89KHI9TWF0aC5mbG9vcihuKSkrMTtlbHNle2lmKCEoZT50fHx0Pml8fHI+bnx8bj5vKSlyZXR1cm4gdGhpczt2YXIgYSx1LGY9aS1lLGM9dGhpcy5fcm9vdDtzd2l0Y2godT0objwocitvKS8yKTw8MXx0PChlK2kpLzIpe2Nhc2UgMDpkb3soYT1uZXcgQXJyYXkoNCkpW3VdPWMsYz1hfXdoaWxlKG89cisoZio9MiksdD4oaT1lK2YpfHxuPm8pO2JyZWFrO2Nhc2UgMTpkb3soYT1uZXcgQXJyYXkoNCkpW3VdPWMsYz1hfXdoaWxlKG89cisoZio9MiksKGU9aS1mKT50fHxuPm8pO2JyZWFrO2Nhc2UgMjpkb3soYT1uZXcgQXJyYXkoNCkpW3VdPWMsYz1hfXdoaWxlKHI9by0oZio9MiksdD4oaT1lK2YpfHxyPm4pO2JyZWFrO2Nhc2UgMzpkb3soYT1uZXcgQXJyYXkoNCkpW3VdPWMsYz1hfXdoaWxlKHI9by0oZio9MiksKGU9aS1mKT50fHxyPm4pfXRoaXMuX3Jvb3QmJnRoaXMuX3Jvb3QubGVuZ3RoJiYodGhpcy5fcm9vdD1jKX1yZXR1cm4gdGhpcy5feDA9ZSx0aGlzLl95MD1yLHRoaXMuX3gxPWksdGhpcy5feTE9byx0aGlzfSxhYS5kYXRhPWZ1bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuIHRoaXMudmlzaXQoZnVuY3Rpb24obil7aWYoIW4ubGVuZ3RoKWRve3QucHVzaChuLmRhdGEpfXdoaWxlKG49bi5uZXh0KX0pLHR9LGFhLmV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmNvdmVyKCt0WzBdWzBdLCt0WzBdWzFdKS5jb3ZlcigrdFsxXVswXSwrdFsxXVsxXSk6aXNOYU4odGhpcy5feDApP3ZvaWQgMDpbW3RoaXMuX3gwLHRoaXMuX3kwXSxbdGhpcy5feDEsdGhpcy5feTFdXX0sYWEuZmluZD1mdW5jdGlvbih0LG4sZSl7dmFyIHIsaSxvLGEsdSxmLGMscz10aGlzLl94MCxsPXRoaXMuX3kwLGg9dGhpcy5feDEsZD10aGlzLl95MSxwPVtdLHY9dGhpcy5fcm9vdDtmb3IodiYmcC5wdXNoKG5ldyB0YSh2LHMsbCxoLGQpKSxudWxsPT1lP2U9MS8wOihzPXQtZSxsPW4tZSxoPXQrZSxkPW4rZSxlKj1lKTtmPXAucG9wKCk7KWlmKCEoISh2PWYubm9kZSl8fChpPWYueDApPmh8fChvPWYueTApPmR8fChhPWYueDEpPHN8fCh1PWYueTEpPGwpKWlmKHYubGVuZ3RoKXt2YXIgZz0oaSthKS8yLHk9KG8rdSkvMjtwLnB1c2gobmV3IHRhKHZbM10sZyx5LGEsdSksbmV3IHRhKHZbMl0saSx5LGcsdSksbmV3IHRhKHZbMV0sZyxvLGEseSksbmV3IHRhKHZbMF0saSxvLGcseSkpLChjPShuPj15KTw8MXx0Pj1nKSYmKGY9cFtwLmxlbmd0aC0xXSxwW3AubGVuZ3RoLTFdPXBbcC5sZW5ndGgtMS1jXSxwW3AubGVuZ3RoLTEtY109Zil9ZWxzZXt2YXIgXz10LSt0aGlzLl94LmNhbGwobnVsbCx2LmRhdGEpLGI9bi0rdGhpcy5feS5jYWxsKG51bGwsdi5kYXRhKSxtPV8qXytiKmI7aWYobTxlKXt2YXIgeD1NYXRoLnNxcnQoZT1tKTtzPXQteCxsPW4teCxoPXQreCxkPW4reCxyPXYuZGF0YX19cmV0dXJuIHJ9LGFhLnJlbW92ZT1mdW5jdGlvbih0KXtpZihpc05hTihvPSt0aGlzLl94LmNhbGwobnVsbCx0KSl8fGlzTmFOKGE9K3RoaXMuX3kuY2FsbChudWxsLHQpKSlyZXR1cm4gdGhpczt2YXIgbixlLHIsaSxvLGEsdSxmLGMscyxsLGgsZD10aGlzLl9yb290LHA9dGhpcy5feDAsdj10aGlzLl95MCxnPXRoaXMuX3gxLHk9dGhpcy5feTE7aWYoIWQpcmV0dXJuIHRoaXM7aWYoZC5sZW5ndGgpZm9yKDs7KXtpZigoYz1vPj0odT0ocCtnKS8yKSk/cD11Omc9dSwocz1hPj0oZj0odit5KS8yKSk/dj1mOnk9ZixuPWQsIShkPWRbbD1zPDwxfGNdKSlyZXR1cm4gdGhpcztpZighZC5sZW5ndGgpYnJlYWs7KG5bbCsxJjNdfHxuW2wrMiYzXXx8bltsKzMmM10pJiYoZT1uLGg9bCl9Zm9yKDtkLmRhdGEhPT10OylpZihyPWQsIShkPWQubmV4dCkpcmV0dXJuIHRoaXM7cmV0dXJuKGk9ZC5uZXh0KSYmZGVsZXRlIGQubmV4dCxyPyhpP3IubmV4dD1pOmRlbGV0ZSByLm5leHQsdGhpcyk6bj8oaT9uW2xdPWk6ZGVsZXRlIG5bbF0sKGQ9blswXXx8blsxXXx8blsyXXx8blszXSkmJmQ9PT0oblszXXx8blsyXXx8blsxXXx8blswXSkmJiFkLmxlbmd0aCYmKGU/ZVtoXT1kOnRoaXMuX3Jvb3Q9ZCksdGhpcyk6KHRoaXMuX3Jvb3Q9aSx0aGlzKX0sYWEucmVtb3ZlQWxsPWZ1bmN0aW9uKHQpe2Zvcih2YXIgbj0wLGU9dC5sZW5ndGg7bjxlOysrbil0aGlzLnJlbW92ZSh0W25dKTtyZXR1cm4gdGhpc30sYWEucm9vdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9yb290fSxhYS5zaXplPWZ1bmN0aW9uKCl7dmFyIHQ9MDtyZXR1cm4gdGhpcy52aXNpdChmdW5jdGlvbihuKXtpZighbi5sZW5ndGgpZG97Kyt0fXdoaWxlKG49bi5uZXh0KX0pLHR9LGFhLnZpc2l0PWZ1bmN0aW9uKHQpe3ZhciBuLGUscixpLG8sYSx1PVtdLGY9dGhpcy5fcm9vdDtmb3IoZiYmdS5wdXNoKG5ldyB0YShmLHRoaXMuX3gwLHRoaXMuX3kwLHRoaXMuX3gxLHRoaXMuX3kxKSk7bj11LnBvcCgpOylpZighdChmPW4ubm9kZSxyPW4ueDAsaT1uLnkwLG89bi54MSxhPW4ueTEpJiZmLmxlbmd0aCl7dmFyIGM9KHIrbykvMixzPShpK2EpLzI7KGU9ZlszXSkmJnUucHVzaChuZXcgdGEoZSxjLHMsbyxhKSksKGU9ZlsyXSkmJnUucHVzaChuZXcgdGEoZSxyLHMsYyxhKSksKGU9ZlsxXSkmJnUucHVzaChuZXcgdGEoZSxjLGksbyxzKSksKGU9ZlswXSkmJnUucHVzaChuZXcgdGEoZSxyLGksYyxzKSl9cmV0dXJuIHRoaXN9LGFhLnZpc2l0QWZ0ZXI9ZnVuY3Rpb24odCl7dmFyIG4sZT1bXSxyPVtdO2Zvcih0aGlzLl9yb290JiZlLnB1c2gobmV3IHRhKHRoaXMuX3Jvb3QsdGhpcy5feDAsdGhpcy5feTAsdGhpcy5feDEsdGhpcy5feTEpKTtuPWUucG9wKCk7KXt2YXIgaT1uLm5vZGU7aWYoaS5sZW5ndGgpe3ZhciBvLGE9bi54MCx1PW4ueTAsZj1uLngxLGM9bi55MSxzPShhK2YpLzIsbD0odStjKS8yOyhvPWlbMF0pJiZlLnB1c2gobmV3IHRhKG8sYSx1LHMsbCkpLChvPWlbMV0pJiZlLnB1c2gobmV3IHRhKG8scyx1LGYsbCkpLChvPWlbMl0pJiZlLnB1c2gobmV3IHRhKG8sYSxsLHMsYykpLChvPWlbM10pJiZlLnB1c2gobmV3IHRhKG8scyxsLGYsYykpfXIucHVzaChuKX1mb3IoO249ci5wb3AoKTspdChuLm5vZGUsbi54MCxuLnkwLG4ueDEsbi55MSk7cmV0dXJuIHRoaXN9LGFhLng9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3g9dCx0aGlzKTp0aGlzLl94fSxhYS55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl95PXQsdGhpcyk6dGhpcy5feX07dmFyIGRhPTEwLHBhPU1hdGguUEkqKDMtTWF0aC5zcXJ0KDUpKTtmdW5jdGlvbiB2YSh0LG4pe2lmKChlPSh0PW4/dC50b0V4cG9uZW50aWFsKG4tMSk6dC50b0V4cG9uZW50aWFsKCkpLmluZGV4T2YoImUiKSk8MClyZXR1cm4gbnVsbDt2YXIgZSxyPXQuc2xpY2UoMCxlKTtyZXR1cm5bci5sZW5ndGg+MT9yWzBdK3Iuc2xpY2UoMik6ciwrdC5zbGljZShlKzEpXX1mdW5jdGlvbiBnYSh0KXtyZXR1cm4odD12YShNYXRoLmFicyh0KSkpP3RbMV06TmFOfXZhciB5YSxfYT0vXig/OiguKT8oWzw+PV5dKSk/KFsrXC0oIF0pPyhbJCNdKT8oMCk/KFxkKyk/KCwpPyhcLlxkKyk/KH4pPyhbYS16JV0pPyQvaTtmdW5jdGlvbiBiYSh0KXtyZXR1cm4gbmV3IG1hKHQpfWZ1bmN0aW9uIG1hKHQpe2lmKCEobj1fYS5leGVjKHQpKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZm9ybWF0OiAiK3QpO3ZhciBuO3RoaXMuZmlsbD1uWzFdfHwiICIsdGhpcy5hbGlnbj1uWzJdfHwiPiIsdGhpcy5zaWduPW5bM118fCItIix0aGlzLnN5bWJvbD1uWzRdfHwiIix0aGlzLnplcm89ISFuWzVdLHRoaXMud2lkdGg9bls2XSYmK25bNl0sdGhpcy5jb21tYT0hIW5bN10sdGhpcy5wcmVjaXNpb249bls4XSYmK25bOF0uc2xpY2UoMSksdGhpcy50cmltPSEhbls5XSx0aGlzLnR5cGU9blsxMF18fCIifWZ1bmN0aW9uIHhhKHQsbil7dmFyIGU9dmEodCxuKTtpZighZSlyZXR1cm4gdCsiIjt2YXIgcj1lWzBdLGk9ZVsxXTtyZXR1cm4gaTwwPyIwLiIrbmV3IEFycmF5KC1pKS5qb2luKCIwIikrcjpyLmxlbmd0aD5pKzE/ci5zbGljZSgwLGkrMSkrIi4iK3Iuc2xpY2UoaSsxKTpyK25ldyBBcnJheShpLXIubGVuZ3RoKzIpLmpvaW4oIjAiKX1iYS5wcm90b3R5cGU9bWEucHJvdG90eXBlLG1hLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbGwrdGhpcy5hbGlnbit0aGlzLnNpZ24rdGhpcy5zeW1ib2wrKHRoaXMuemVybz8iMCI6IiIpKyhudWxsPT10aGlzLndpZHRoPyIiOk1hdGgubWF4KDEsMHx0aGlzLndpZHRoKSkrKHRoaXMuY29tbWE/IiwiOiIiKSsobnVsbD09dGhpcy5wcmVjaXNpb24/IiI6Ii4iK01hdGgubWF4KDAsMHx0aGlzLnByZWNpc2lvbikpKyh0aGlzLnRyaW0/In4iOiIiKSt0aGlzLnR5cGV9O3ZhciB3YT17IiUiOmZ1bmN0aW9uKHQsbil7cmV0dXJuKDEwMCp0KS50b0ZpeGVkKG4pfSxiOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDIpfSxjOmZ1bmN0aW9uKHQpe3JldHVybiB0KyIifSxkOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDEwKX0sZTpmdW5jdGlvbih0LG4pe3JldHVybiB0LnRvRXhwb25lbnRpYWwobil9LGY6ZnVuY3Rpb24odCxuKXtyZXR1cm4gdC50b0ZpeGVkKG4pfSxnOmZ1bmN0aW9uKHQsbil7cmV0dXJuIHQudG9QcmVjaXNpb24obil9LG86ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQodCkudG9TdHJpbmcoOCl9LHA6ZnVuY3Rpb24odCxuKXtyZXR1cm4geGEoMTAwKnQsbil9LHI6eGEsczpmdW5jdGlvbih0LG4pe3ZhciBlPXZhKHQsbik7aWYoIWUpcmV0dXJuIHQrIiI7dmFyIHI9ZVswXSxpPWVbMV0sbz1pLSh5YT0zKk1hdGgubWF4KC04LE1hdGgubWluKDgsTWF0aC5mbG9vcihpLzMpKSkpKzEsYT1yLmxlbmd0aDtyZXR1cm4gbz09PWE/cjpvPmE/cituZXcgQXJyYXkoby1hKzEpLmpvaW4oIjAiKTpvPjA/ci5zbGljZSgwLG8pKyIuIityLnNsaWNlKG8pOiIwLiIrbmV3IEFycmF5KDEtbykuam9pbigiMCIpK3ZhKHQsTWF0aC5tYXgoMCxuK28tMSkpWzBdfSxYOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpfSx4OmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDE2KX19O2Z1bmN0aW9uIE1hKHQpe3JldHVybiB0fXZhciBBYSxUYT1bInkiLCJ6IiwiYSIsImYiLCJwIiwibiIsIsK1IiwibSIsIiIsImsiLCJNIiwiRyIsIlQiLCJQIiwiRSIsIloiLCJZIl07ZnVuY3Rpb24gTmEodCl7dmFyIG4sZSxyPXQuZ3JvdXBpbmcmJnQudGhvdXNhbmRzPyhuPXQuZ3JvdXBpbmcsZT10LnRob3VzYW5kcyxmdW5jdGlvbih0LHIpe2Zvcih2YXIgaT10Lmxlbmd0aCxvPVtdLGE9MCx1PW5bMF0sZj0wO2k+MCYmdT4wJiYoZit1KzE+ciYmKHU9TWF0aC5tYXgoMSxyLWYpKSxvLnB1c2godC5zdWJzdHJpbmcoaS09dSxpK3UpKSwhKChmKz11KzEpPnIpKTspdT1uW2E9KGErMSklbi5sZW5ndGhdO3JldHVybiBvLnJldmVyc2UoKS5qb2luKGUpfSk6TWEsaT10LmN1cnJlbmN5LG89dC5kZWNpbWFsLGE9dC5udW1lcmFscz9mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG4ucmVwbGFjZSgvWzAtOV0vZyxmdW5jdGlvbihuKXtyZXR1cm4gdFsrbl19KX19KHQubnVtZXJhbHMpOk1hLHU9dC5wZXJjZW50fHwiJSI7ZnVuY3Rpb24gZih0KXt2YXIgbj0odD1iYSh0KSkuZmlsbCxlPXQuYWxpZ24sZj10LnNpZ24sYz10LnN5bWJvbCxzPXQuemVybyxsPXQud2lkdGgsaD10LmNvbW1hLGQ9dC5wcmVjaXNpb24scD10LnRyaW0sdj10LnR5cGU7Im4iPT09dj8oaD0hMCx2PSJnIik6d2Fbdl18fChudWxsPT1kJiYoZD0xMikscD0hMCx2PSJnIiksKHN8fCIwIj09PW4mJiI9Ij09PWUpJiYocz0hMCxuPSIwIixlPSI9Iik7dmFyIGc9IiQiPT09Yz9pWzBdOiIjIj09PWMmJi9bYm94WF0vLnRlc3Qodik/IjAiK3YudG9Mb3dlckNhc2UoKToiIix5PSIkIj09PWM/aVsxXTovWyVwXS8udGVzdCh2KT91OiIiLF89d2Fbdl0sYj0vW2RlZmdwcnMlXS8udGVzdCh2KTtmdW5jdGlvbiBtKHQpe3ZhciBpLHUsYyxtPWcseD15O2lmKCJjIj09PXYpeD1fKHQpK3gsdD0iIjtlbHNle3ZhciB3PSh0PSt0KTwwO2lmKHQ9XyhNYXRoLmFicyh0KSxkKSxwJiYodD1mdW5jdGlvbih0KXt0OmZvcih2YXIgbixlPXQubGVuZ3RoLHI9MSxpPS0xO3I8ZTsrK3Ipc3dpdGNoKHRbcl0pe2Nhc2UiLiI6aT1uPXI7YnJlYWs7Y2FzZSIwIjowPT09aSYmKGk9ciksbj1yO2JyZWFrO2RlZmF1bHQ6aWYoaT4wKXtpZighK3Rbcl0pYnJlYWsgdDtpPTB9fXJldHVybiBpPjA/dC5zbGljZSgwLGkpK3Quc2xpY2UobisxKTp0fSh0KSksdyYmMD09K3QmJih3PSExKSxtPSh3PyIoIj09PWY/ZjoiLSI6Ii0iPT09Znx8IigiPT09Zj8iIjpmKSttLHg9KCJzIj09PXY/VGFbOCt5YS8zXToiIikreCsodyYmIigiPT09Zj8iKSI6IiIpLGIpZm9yKGk9LTEsdT10Lmxlbmd0aDsrK2k8dTspaWYoNDg+KGM9dC5jaGFyQ29kZUF0KGkpKXx8Yz41Nyl7eD0oNDY9PT1jP28rdC5zbGljZShpKzEpOnQuc2xpY2UoaSkpK3gsdD10LnNsaWNlKDAsaSk7YnJlYWt9fWgmJiFzJiYodD1yKHQsMS8wKSk7dmFyIE09bS5sZW5ndGgrdC5sZW5ndGgreC5sZW5ndGgsQT1NPGw/bmV3IEFycmF5KGwtTSsxKS5qb2luKG4pOiIiO3N3aXRjaChoJiZzJiYodD1yKEErdCxBLmxlbmd0aD9sLXgubGVuZ3RoOjEvMCksQT0iIiksZSl7Y2FzZSI8Ijp0PW0rdCt4K0E7YnJlYWs7Y2FzZSI9Ijp0PW0rQSt0K3g7YnJlYWs7Y2FzZSJeIjp0PUEuc2xpY2UoMCxNPUEubGVuZ3RoPj4xKSttK3QreCtBLnNsaWNlKE0pO2JyZWFrO2RlZmF1bHQ6dD1BK20rdCt4fXJldHVybiBhKHQpfXJldHVybiBkPW51bGw9PWQ/NjovW2dwcnNdLy50ZXN0KHYpP01hdGgubWF4KDEsTWF0aC5taW4oMjEsZCkpOk1hdGgubWF4KDAsTWF0aC5taW4oMjAsZCkpLG0udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdCsiIn0sbX1yZXR1cm57Zm9ybWF0OmYsZm9ybWF0UHJlZml4OmZ1bmN0aW9uKHQsbil7dmFyIGU9ZigoKHQ9YmEodCkpLnR5cGU9ImYiLHQpKSxyPTMqTWF0aC5tYXgoLTgsTWF0aC5taW4oOCxNYXRoLmZsb29yKGdhKG4pLzMpKSksaT1NYXRoLnBvdygxMCwtciksbz1UYVs4K3IvM107cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBlKGkqdCkrb319fX1mdW5jdGlvbiBTYShuKXtyZXR1cm4gQWE9TmEobiksdC5mb3JtYXQ9QWEuZm9ybWF0LHQuZm9ybWF0UHJlZml4PUFhLmZvcm1hdFByZWZpeCxBYX1mdW5jdGlvbiBFYSh0KXtyZXR1cm4gTWF0aC5tYXgoMCwtZ2EoTWF0aC5hYnModCkpKX1mdW5jdGlvbiBrYSh0LG4pe3JldHVybiBNYXRoLm1heCgwLDMqTWF0aC5tYXgoLTgsTWF0aC5taW4oOCxNYXRoLmZsb29yKGdhKG4pLzMpKSktZ2EoTWF0aC5hYnModCkpKX1mdW5jdGlvbiBDYSh0LG4pe3JldHVybiB0PU1hdGguYWJzKHQpLG49TWF0aC5hYnMobiktdCxNYXRoLm1heCgwLGdhKG4pLWdhKHQpKSsxfWZ1bmN0aW9uIFBhKCl7cmV0dXJuIG5ldyB6YX1mdW5jdGlvbiB6YSgpe3RoaXMucmVzZXQoKX1TYSh7ZGVjaW1hbDoiLiIsdGhvdXNhbmRzOiIsIixncm91cGluZzpbM10sY3VycmVuY3k6WyIkIiwiIl19KSx6YS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOnphLHJlc2V0OmZ1bmN0aW9uKCl7dGhpcy5zPXRoaXMudD0wfSxhZGQ6ZnVuY3Rpb24odCl7TGEoUmEsdCx0aGlzLnQpLExhKHRoaXMsUmEucyx0aGlzLnMpLHRoaXMucz90aGlzLnQrPVJhLnQ6dGhpcy5zPVJhLnR9LHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zfX07dmFyIFJhPW5ldyB6YTtmdW5jdGlvbiBMYSh0LG4sZSl7dmFyIHI9dC5zPW4rZSxpPXItbixvPXItaTt0LnQ9bi1vKyhlLWkpfXZhciBEYT0xZS02LFVhPTFlLTEyLHFhPU1hdGguUEksT2E9cWEvMixZYT1xYS80LEJhPTIqcWEsRmE9MTgwL3FhLElhPXFhLzE4MCxIYT1NYXRoLmFicyxqYT1NYXRoLmF0YW4sWGE9TWF0aC5hdGFuMixHYT1NYXRoLmNvcyxWYT1NYXRoLmNlaWwsJGE9TWF0aC5leHAsV2E9TWF0aC5sb2csWmE9TWF0aC5wb3csUWE9TWF0aC5zaW4sSmE9TWF0aC5zaWdufHxmdW5jdGlvbih0KXtyZXR1cm4gdD4wPzE6dDwwPy0xOjB9LEthPU1hdGguc3FydCx0dT1NYXRoLnRhbjtmdW5jdGlvbiBudSh0KXtyZXR1cm4gdD4xPzA6dDwtMT9xYTpNYXRoLmFjb3ModCl9ZnVuY3Rpb24gZXUodCl7cmV0dXJuIHQ+MT9PYTp0PC0xPy1PYTpNYXRoLmFzaW4odCl9ZnVuY3Rpb24gcnUodCl7cmV0dXJuKHQ9UWEodC8yKSkqdH1mdW5jdGlvbiBpdSgpe31mdW5jdGlvbiBvdSh0LG4pe3QmJnV1Lmhhc093blByb3BlcnR5KHQudHlwZSkmJnV1W3QudHlwZV0odCxuKX12YXIgYXU9e0ZlYXR1cmU6ZnVuY3Rpb24odCxuKXtvdSh0Lmdlb21ldHJ5LG4pfSxGZWF0dXJlQ29sbGVjdGlvbjpmdW5jdGlvbih0LG4pe2Zvcih2YXIgZT10LmZlYXR1cmVzLHI9LTEsaT1lLmxlbmd0aDsrK3I8aTspb3UoZVtyXS5nZW9tZXRyeSxuKX19LHV1PXtTcGhlcmU6ZnVuY3Rpb24odCxuKXtuLnNwaGVyZSgpfSxQb2ludDpmdW5jdGlvbih0LG4pe3Q9dC5jb29yZGluYXRlcyxuLnBvaW50KHRbMF0sdFsxXSx0WzJdKX0sTXVsdGlQb2ludDpmdW5jdGlvbih0LG4pe2Zvcih2YXIgZT10LmNvb3JkaW5hdGVzLHI9LTEsaT1lLmxlbmd0aDsrK3I8aTspdD1lW3JdLG4ucG9pbnQodFswXSx0WzFdLHRbMl0pfSxMaW5lU3RyaW5nOmZ1bmN0aW9uKHQsbil7ZnUodC5jb29yZGluYXRlcyxuLDApfSxNdWx0aUxpbmVTdHJpbmc6ZnVuY3Rpb24odCxuKXtmb3IodmFyIGU9dC5jb29yZGluYXRlcyxyPS0xLGk9ZS5sZW5ndGg7KytyPGk7KWZ1KGVbcl0sbiwwKX0sUG9seWdvbjpmdW5jdGlvbih0LG4pe2N1KHQuY29vcmRpbmF0ZXMsbil9LE11bHRpUG9seWdvbjpmdW5jdGlvbih0LG4pe2Zvcih2YXIgZT10LmNvb3JkaW5hdGVzLHI9LTEsaT1lLmxlbmd0aDsrK3I8aTspY3UoZVtyXSxuKX0sR2VvbWV0cnlDb2xsZWN0aW9uOmZ1bmN0aW9uKHQsbil7Zm9yKHZhciBlPXQuZ2VvbWV0cmllcyxyPS0xLGk9ZS5sZW5ndGg7KytyPGk7KW91KGVbcl0sbil9fTtmdW5jdGlvbiBmdSh0LG4sZSl7dmFyIHIsaT0tMSxvPXQubGVuZ3RoLWU7Zm9yKG4ubGluZVN0YXJ0KCk7KytpPG87KXI9dFtpXSxuLnBvaW50KHJbMF0sclsxXSxyWzJdKTtuLmxpbmVFbmQoKX1mdW5jdGlvbiBjdSh0LG4pe3ZhciBlPS0xLHI9dC5sZW5ndGg7Zm9yKG4ucG9seWdvblN0YXJ0KCk7KytlPHI7KWZ1KHRbZV0sbiwxKTtuLnBvbHlnb25FbmQoKX1mdW5jdGlvbiBzdSh0LG4pe3QmJmF1Lmhhc093blByb3BlcnR5KHQudHlwZSk/YXVbdC50eXBlXSh0LG4pOm91KHQsbil9dmFyIGx1LGh1LGR1LHB1LHZ1LGd1PVBhKCkseXU9UGEoKSxfdT17cG9pbnQ6aXUsbGluZVN0YXJ0Oml1LGxpbmVFbmQ6aXUscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7Z3UucmVzZXQoKSxfdS5saW5lU3RhcnQ9YnUsX3UubGluZUVuZD1tdX0scG9seWdvbkVuZDpmdW5jdGlvbigpe3ZhciB0PStndTt5dS5hZGQodDwwP0JhK3Q6dCksdGhpcy5saW5lU3RhcnQ9dGhpcy5saW5lRW5kPXRoaXMucG9pbnQ9aXV9LHNwaGVyZTpmdW5jdGlvbigpe3l1LmFkZChCYSl9fTtmdW5jdGlvbiBidSgpe191LnBvaW50PXh1fWZ1bmN0aW9uIG11KCl7d3UobHUsaHUpfWZ1bmN0aW9uIHh1KHQsbil7X3UucG9pbnQ9d3UsbHU9dCxodT1uLGR1PXQqPUlhLHB1PUdhKG49KG4qPUlhKS8yK1lhKSx2dT1RYShuKX1mdW5jdGlvbiB3dSh0LG4pe3ZhciBlPSh0Kj1JYSktZHUscj1lPj0wPzE6LTEsaT1yKmUsbz1HYShuPShuKj1JYSkvMitZYSksYT1RYShuKSx1PXZ1KmEsZj1wdSpvK3UqR2EoaSksYz11KnIqUWEoaSk7Z3UuYWRkKFhhKGMsZikpLGR1PXQscHU9byx2dT1hfWZ1bmN0aW9uIE11KHQpe3JldHVybltYYSh0WzFdLHRbMF0pLGV1KHRbMl0pXX1mdW5jdGlvbiBBdSh0KXt2YXIgbj10WzBdLGU9dFsxXSxyPUdhKGUpO3JldHVybltyKkdhKG4pLHIqUWEobiksUWEoZSldfWZ1bmN0aW9uIFR1KHQsbil7cmV0dXJuIHRbMF0qblswXSt0WzFdKm5bMV0rdFsyXSpuWzJdfWZ1bmN0aW9uIE51KHQsbil7cmV0dXJuW3RbMV0qblsyXS10WzJdKm5bMV0sdFsyXSpuWzBdLXRbMF0qblsyXSx0WzBdKm5bMV0tdFsxXSpuWzBdXX1mdW5jdGlvbiBTdSh0LG4pe3RbMF0rPW5bMF0sdFsxXSs9blsxXSx0WzJdKz1uWzJdfWZ1bmN0aW9uIEV1KHQsbil7cmV0dXJuW3RbMF0qbix0WzFdKm4sdFsyXSpuXX1mdW5jdGlvbiBrdSh0KXt2YXIgbj1LYSh0WzBdKnRbMF0rdFsxXSp0WzFdK3RbMl0qdFsyXSk7dFswXS89bix0WzFdLz1uLHRbMl0vPW59dmFyIEN1LFB1LHp1LFJ1LEx1LER1LFV1LHF1LE91LFl1LEJ1LEZ1LEl1LEh1LGp1LFh1LEd1LFZ1LCR1LFd1LFp1LFF1LEp1LEt1LHRmLG5mLGVmPVBhKCkscmY9e3BvaW50Om9mLGxpbmVTdGFydDp1ZixsaW5lRW5kOmZmLHBvbHlnb25TdGFydDpmdW5jdGlvbigpe3JmLnBvaW50PWNmLHJmLmxpbmVTdGFydD1zZixyZi5saW5lRW5kPWxmLGVmLnJlc2V0KCksX3UucG9seWdvblN0YXJ0KCl9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtfdS5wb2x5Z29uRW5kKCkscmYucG9pbnQ9b2YscmYubGluZVN0YXJ0PXVmLHJmLmxpbmVFbmQ9ZmYsZ3U8MD8oQ3U9LSh6dT0xODApLFB1PS0oUnU9OTApKTplZj5EYT9SdT05MDplZjwtRGEmJihQdT0tOTApLFl1WzBdPUN1LFl1WzFdPXp1fX07ZnVuY3Rpb24gb2YodCxuKXtPdS5wdXNoKFl1PVtDdT10LHp1PXRdKSxuPFB1JiYoUHU9biksbj5SdSYmKFJ1PW4pfWZ1bmN0aW9uIGFmKHQsbil7dmFyIGU9QXUoW3QqSWEsbipJYV0pO2lmKHF1KXt2YXIgcj1OdShxdSxlKSxpPU51KFtyWzFdLC1yWzBdLDBdLHIpO2t1KGkpLGk9TXUoaSk7dmFyIG8sYT10LUx1LHU9YT4wPzE6LTEsZj1pWzBdKkZhKnUsYz1IYShhKT4xODA7Y14odSpMdTxmJiZmPHUqdCk/KG89aVsxXSpGYSk+UnUmJihSdT1vKTpjXih1Kkx1PChmPShmKzM2MCklMzYwLTE4MCkmJmY8dSp0KT8obz0taVsxXSpGYSk8UHUmJihQdT1vKToobjxQdSYmKFB1PW4pLG4+UnUmJihSdT1uKSksYz90PEx1P2hmKEN1LHQpPmhmKEN1LHp1KSYmKHp1PXQpOmhmKHQsenUpPmhmKEN1LHp1KSYmKEN1PXQpOnp1Pj1DdT8odDxDdSYmKEN1PXQpLHQ+enUmJih6dT10KSk6dD5MdT9oZihDdSx0KT5oZihDdSx6dSkmJih6dT10KTpoZih0LHp1KT5oZihDdSx6dSkmJihDdT10KX1lbHNlIE91LnB1c2goWXU9W0N1PXQsenU9dF0pO248UHUmJihQdT1uKSxuPlJ1JiYoUnU9bikscXU9ZSxMdT10fWZ1bmN0aW9uIHVmKCl7cmYucG9pbnQ9YWZ9ZnVuY3Rpb24gZmYoKXtZdVswXT1DdSxZdVsxXT16dSxyZi5wb2ludD1vZixxdT1udWxsfWZ1bmN0aW9uIGNmKHQsbil7aWYocXUpe3ZhciBlPXQtTHU7ZWYuYWRkKEhhKGUpPjE4MD9lKyhlPjA/MzYwOi0zNjApOmUpfWVsc2UgRHU9dCxVdT1uO191LnBvaW50KHQsbiksYWYodCxuKX1mdW5jdGlvbiBzZigpe191LmxpbmVTdGFydCgpfWZ1bmN0aW9uIGxmKCl7Y2YoRHUsVXUpLF91LmxpbmVFbmQoKSxIYShlZik+RGEmJihDdT0tKHp1PTE4MCkpLFl1WzBdPUN1LFl1WzFdPXp1LHF1PW51bGx9ZnVuY3Rpb24gaGYodCxuKXtyZXR1cm4obi09dCk8MD9uKzM2MDpufWZ1bmN0aW9uIGRmKHQsbil7cmV0dXJuIHRbMF0tblswXX1mdW5jdGlvbiBwZih0LG4pe3JldHVybiB0WzBdPD10WzFdP3RbMF08PW4mJm48PXRbMV06bjx0WzBdfHx0WzFdPG59dmFyIHZmPXtzcGhlcmU6aXUscG9pbnQ6Z2YsbGluZVN0YXJ0Ol9mLGxpbmVFbmQ6eGYscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7dmYubGluZVN0YXJ0PXdmLHZmLmxpbmVFbmQ9TWZ9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXt2Zi5saW5lU3RhcnQ9X2YsdmYubGluZUVuZD14Zn19O2Z1bmN0aW9uIGdmKHQsbil7dCo9SWE7dmFyIGU9R2Eobio9SWEpO3lmKGUqR2EodCksZSpRYSh0KSxRYShuKSl9ZnVuY3Rpb24geWYodCxuLGUpe0l1Kz0odC1JdSkvKytCdSxIdSs9KG4tSHUpL0J1LGp1Kz0oZS1qdSkvQnV9ZnVuY3Rpb24gX2YoKXt2Zi5wb2ludD1iZn1mdW5jdGlvbiBiZih0LG4pe3QqPUlhO3ZhciBlPUdhKG4qPUlhKTtLdT1lKkdhKHQpLHRmPWUqUWEodCksbmY9UWEobiksdmYucG9pbnQ9bWYseWYoS3UsdGYsbmYpfWZ1bmN0aW9uIG1mKHQsbil7dCo9SWE7dmFyIGU9R2Eobio9SWEpLHI9ZSpHYSh0KSxpPWUqUWEodCksbz1RYShuKSxhPVhhKEthKChhPXRmKm8tbmYqaSkqYSsoYT1uZipyLUt1Km8pKmErKGE9S3UqaS10ZipyKSphKSxLdSpyK3RmKmkrbmYqbyk7RnUrPWEsWHUrPWEqKEt1KyhLdT1yKSksR3UrPWEqKHRmKyh0Zj1pKSksVnUrPWEqKG5mKyhuZj1vKSkseWYoS3UsdGYsbmYpfWZ1bmN0aW9uIHhmKCl7dmYucG9pbnQ9Z2Z9ZnVuY3Rpb24gd2YoKXt2Zi5wb2ludD1BZn1mdW5jdGlvbiBNZigpe1RmKFF1LEp1KSx2Zi5wb2ludD1nZn1mdW5jdGlvbiBBZih0LG4pe1F1PXQsSnU9bix0Kj1JYSxuKj1JYSx2Zi5wb2ludD1UZjt2YXIgZT1HYShuKTtLdT1lKkdhKHQpLHRmPWUqUWEodCksbmY9UWEobikseWYoS3UsdGYsbmYpfWZ1bmN0aW9uIFRmKHQsbil7dCo9SWE7dmFyIGU9R2Eobio9SWEpLHI9ZSpHYSh0KSxpPWUqUWEodCksbz1RYShuKSxhPXRmKm8tbmYqaSx1PW5mKnItS3UqbyxmPUt1KmktdGYqcixjPUthKGEqYSt1KnUrZipmKSxzPWV1KGMpLGw9YyYmLXMvYzskdSs9bCphLFd1Kz1sKnUsWnUrPWwqZixGdSs9cyxYdSs9cyooS3UrKEt1PXIpKSxHdSs9cyoodGYrKHRmPWkpKSxWdSs9cyoobmYrKG5mPW8pKSx5ZihLdSx0ZixuZil9ZnVuY3Rpb24gTmYodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIFNmKHQsbil7ZnVuY3Rpb24gZShlLHIpe3JldHVybiBlPXQoZSxyKSxuKGVbMF0sZVsxXSl9cmV0dXJuIHQuaW52ZXJ0JiZuLmludmVydCYmKGUuaW52ZXJ0PWZ1bmN0aW9uKGUscil7cmV0dXJuKGU9bi5pbnZlcnQoZSxyKSkmJnQuaW52ZXJ0KGVbMF0sZVsxXSl9KSxlfWZ1bmN0aW9uIEVmKHQsbil7cmV0dXJuW3Q+cWE/dC1CYTp0PC1xYT90K0JhOnQsbl19ZnVuY3Rpb24ga2YodCxuLGUpe3JldHVybih0JT1CYSk/bnx8ZT9TZihQZih0KSx6ZihuLGUpKTpQZih0KTpufHxlP3pmKG4sZSk6RWZ9ZnVuY3Rpb24gQ2YodCl7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7cmV0dXJuWyhuKz10KT5xYT9uLUJhOm48LXFhP24rQmE6bixlXX19ZnVuY3Rpb24gUGYodCl7dmFyIG49Q2YodCk7cmV0dXJuIG4uaW52ZXJ0PUNmKC10KSxufWZ1bmN0aW9uIHpmKHQsbil7dmFyIGU9R2EodCkscj1RYSh0KSxpPUdhKG4pLG89UWEobik7ZnVuY3Rpb24gYSh0LG4pe3ZhciBhPUdhKG4pLHU9R2EodCkqYSxmPVFhKHQpKmEsYz1RYShuKSxzPWMqZSt1KnI7cmV0dXJuW1hhKGYqaS1zKm8sdSplLWMqciksZXUocyppK2YqbyldfXJldHVybiBhLmludmVydD1mdW5jdGlvbih0LG4pe3ZhciBhPUdhKG4pLHU9R2EodCkqYSxmPVFhKHQpKmEsYz1RYShuKSxzPWMqaS1mKm87cmV0dXJuW1hhKGYqaStjKm8sdSplK3MqciksZXUocyplLXUqcildfSxhfWZ1bmN0aW9uIFJmKHQpe2Z1bmN0aW9uIG4obil7cmV0dXJuKG49dChuWzBdKklhLG5bMV0qSWEpKVswXSo9RmEsblsxXSo9RmEsbn1yZXR1cm4gdD1rZih0WzBdKklhLHRbMV0qSWEsdC5sZW5ndGg+Mj90WzJdKklhOjApLG4uaW52ZXJ0PWZ1bmN0aW9uKG4pe3JldHVybihuPXQuaW52ZXJ0KG5bMF0qSWEsblsxXSpJYSkpWzBdKj1GYSxuWzFdKj1GYSxufSxufWZ1bmN0aW9uIExmKHQsbixlLHIsaSxvKXtpZihlKXt2YXIgYT1HYShuKSx1PVFhKG4pLGY9ciplO251bGw9PWk/KGk9bityKkJhLG89bi1mLzIpOihpPURmKGEsaSksbz1EZihhLG8pLChyPjA/aTxvOmk+bykmJihpKz1yKkJhKSk7Zm9yKHZhciBjLHM9aTtyPjA/cz5vOnM8bztzLT1mKWM9TXUoW2EsLXUqR2EocyksLXUqUWEocyldKSx0LnBvaW50KGNbMF0sY1sxXSl9fWZ1bmN0aW9uIERmKHQsbil7KG49QXUobikpWzBdLT10LGt1KG4pO3ZhciBlPW51KC1uWzFdKTtyZXR1cm4oKC1uWzJdPDA/LWU6ZSkrQmEtRGEpJUJhfWZ1bmN0aW9uIFVmKCl7dmFyIHQsbj1bXTtyZXR1cm57cG9pbnQ6ZnVuY3Rpb24obixlKXt0LnB1c2goW24sZV0pfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXtuLnB1c2godD1bXSl9LGxpbmVFbmQ6aXUscmVqb2luOmZ1bmN0aW9uKCl7bi5sZW5ndGg+MSYmbi5wdXNoKG4ucG9wKCkuY29uY2F0KG4uc2hpZnQoKSkpfSxyZXN1bHQ6ZnVuY3Rpb24oKXt2YXIgZT1uO3JldHVybiBuPVtdLHQ9bnVsbCxlfX19ZnVuY3Rpb24gcWYodCxuKXtyZXR1cm4gSGEodFswXS1uWzBdKTxEYSYmSGEodFsxXS1uWzFdKTxEYX1mdW5jdGlvbiBPZih0LG4sZSxyKXt0aGlzLng9dCx0aGlzLno9bix0aGlzLm89ZSx0aGlzLmU9cix0aGlzLnY9ITEsdGhpcy5uPXRoaXMucD1udWxsfWZ1bmN0aW9uIFlmKHQsbixlLHIsaSl7dmFyIG8sYSx1PVtdLGY9W107aWYodC5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lmKCEoKG49dC5sZW5ndGgtMSk8PTApKXt2YXIgbixlLHI9dFswXSxhPXRbbl07aWYocWYocixhKSl7Zm9yKGkubGluZVN0YXJ0KCksbz0wO288bjsrK28paS5wb2ludCgocj10W29dKVswXSxyWzFdKTtpLmxpbmVFbmQoKX1lbHNlIHUucHVzaChlPW5ldyBPZihyLHQsbnVsbCwhMCkpLGYucHVzaChlLm89bmV3IE9mKHIsbnVsbCxlLCExKSksdS5wdXNoKGU9bmV3IE9mKGEsdCxudWxsLCExKSksZi5wdXNoKGUubz1uZXcgT2YoYSxudWxsLGUsITApKX19KSx1Lmxlbmd0aCl7Zm9yKGYuc29ydChuKSxCZih1KSxCZihmKSxvPTAsYT1mLmxlbmd0aDtvPGE7KytvKWZbb10uZT1lPSFlO2Zvcih2YXIgYyxzLGw9dVswXTs7KXtmb3IodmFyIGg9bCxkPSEwO2gudjspaWYoKGg9aC5uKT09PWwpcmV0dXJuO2M9aC56LGkubGluZVN0YXJ0KCk7ZG97aWYoaC52PWguby52PSEwLGguZSl7aWYoZClmb3Iobz0wLGE9Yy5sZW5ndGg7bzxhOysrbylpLnBvaW50KChzPWNbb10pWzBdLHNbMV0pO2Vsc2UgcihoLngsaC5uLngsMSxpKTtoPWgubn1lbHNle2lmKGQpZm9yKGM9aC5wLnosbz1jLmxlbmd0aC0xO28+PTA7LS1vKWkucG9pbnQoKHM9Y1tvXSlbMF0sc1sxXSk7ZWxzZSByKGgueCxoLnAueCwtMSxpKTtoPWgucH1jPShoPWgubykueixkPSFkfXdoaWxlKCFoLnYpO2kubGluZUVuZCgpfX19ZnVuY3Rpb24gQmYodCl7aWYobj10Lmxlbmd0aCl7Zm9yKHZhciBuLGUscj0wLGk9dFswXTsrK3I8bjspaS5uPWU9dFtyXSxlLnA9aSxpPWU7aS5uPWU9dFswXSxlLnA9aX19RWYuaW52ZXJ0PUVmO3ZhciBGZj1QYSgpO2Z1bmN0aW9uIElmKHQsbil7dmFyIGU9blswXSxyPW5bMV0saT1RYShyKSxvPVtRYShlKSwtR2EoZSksMF0sYT0wLHU9MDtGZi5yZXNldCgpLDE9PT1pP3I9T2ErRGE6LTE9PT1pJiYocj0tT2EtRGEpO2Zvcih2YXIgZj0wLGM9dC5sZW5ndGg7ZjxjOysrZilpZihsPShzPXRbZl0pLmxlbmd0aClmb3IodmFyIHMsbCxoPXNbbC0xXSxkPWhbMF0scD1oWzFdLzIrWWEsdj1RYShwKSxnPUdhKHApLHk9MDt5PGw7Kyt5LGQ9Yix2PXgsZz13LGg9Xyl7dmFyIF89c1t5XSxiPV9bMF0sbT1fWzFdLzIrWWEseD1RYShtKSx3PUdhKG0pLE09Yi1kLEE9TT49MD8xOi0xLFQ9QSpNLE49VD5xYSxTPXYqeDtpZihGZi5hZGQoWGEoUypBKlFhKFQpLGcqdytTKkdhKFQpKSksYSs9Tj9NK0EqQmE6TSxOXmQ+PWVeYj49ZSl7dmFyIEU9TnUoQXUoaCksQXUoXykpO2t1KEUpO3ZhciBrPU51KG8sRSk7a3Uoayk7dmFyIEM9KE5eTT49MD8tMToxKSpldShrWzJdKTsocj5DfHxyPT09QyYmKEVbMF18fEVbMV0pKSYmKHUrPU5eTT49MD8xOi0xKX19cmV0dXJuKGE8LURhfHxhPERhJiZGZjwtRGEpXjEmdX1mdW5jdGlvbiBIZih0LG4sZSxyKXtyZXR1cm4gZnVuY3Rpb24oaSl7dmFyIG8sYSx1LGY9bihpKSxjPVVmKCkscz1uKGMpLGw9ITEsaD17cG9pbnQ6ZCxsaW5lU3RhcnQ6dixsaW5lRW5kOmcscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7aC5wb2ludD15LGgubGluZVN0YXJ0PV8saC5saW5lRW5kPWIsYT1bXSxvPVtdfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7aC5wb2ludD1kLGgubGluZVN0YXJ0PXYsaC5saW5lRW5kPWcsYT1OKGEpO3ZhciB0PUlmKG8scik7YS5sZW5ndGg/KGx8fChpLnBvbHlnb25TdGFydCgpLGw9ITApLFlmKGEsWGYsdCxlLGkpKTp0JiYobHx8KGkucG9seWdvblN0YXJ0KCksbD0hMCksaS5saW5lU3RhcnQoKSxlKG51bGwsbnVsbCwxLGkpLGkubGluZUVuZCgpKSxsJiYoaS5wb2x5Z29uRW5kKCksbD0hMSksYT1vPW51bGx9LHNwaGVyZTpmdW5jdGlvbigpe2kucG9seWdvblN0YXJ0KCksaS5saW5lU3RhcnQoKSxlKG51bGwsbnVsbCwxLGkpLGkubGluZUVuZCgpLGkucG9seWdvbkVuZCgpfX07ZnVuY3Rpb24gZChuLGUpe3QobixlKSYmaS5wb2ludChuLGUpfWZ1bmN0aW9uIHAodCxuKXtmLnBvaW50KHQsbil9ZnVuY3Rpb24gdigpe2gucG9pbnQ9cCxmLmxpbmVTdGFydCgpfWZ1bmN0aW9uIGcoKXtoLnBvaW50PWQsZi5saW5lRW5kKCl9ZnVuY3Rpb24geSh0LG4pe3UucHVzaChbdCxuXSkscy5wb2ludCh0LG4pfWZ1bmN0aW9uIF8oKXtzLmxpbmVTdGFydCgpLHU9W119ZnVuY3Rpb24gYigpe3kodVswXVswXSx1WzBdWzFdKSxzLmxpbmVFbmQoKTt2YXIgdCxuLGUscixmPXMuY2xlYW4oKSxoPWMucmVzdWx0KCksZD1oLmxlbmd0aDtpZih1LnBvcCgpLG8ucHVzaCh1KSx1PW51bGwsZClpZigxJmYpe2lmKChuPShlPWhbMF0pLmxlbmd0aC0xKT4wKXtmb3IobHx8KGkucG9seWdvblN0YXJ0KCksbD0hMCksaS5saW5lU3RhcnQoKSx0PTA7dDxuOysrdClpLnBvaW50KChyPWVbdF0pWzBdLHJbMV0pO2kubGluZUVuZCgpfX1lbHNlIGQ+MSYmMiZmJiZoLnB1c2goaC5wb3AoKS5jb25jYXQoaC5zaGlmdCgpKSksYS5wdXNoKGguZmlsdGVyKGpmKSl9cmV0dXJuIGh9fWZ1bmN0aW9uIGpmKHQpe3JldHVybiB0Lmxlbmd0aD4xfWZ1bmN0aW9uIFhmKHQsbil7cmV0dXJuKCh0PXQueClbMF08MD90WzFdLU9hLURhOk9hLXRbMV0pLSgobj1uLngpWzBdPDA/blsxXS1PYS1EYTpPYS1uWzFdKX12YXIgR2Y9SGYoZnVuY3Rpb24oKXtyZXR1cm4hMH0sZnVuY3Rpb24odCl7dmFyIG4sZT1OYU4scj1OYU4saT1OYU47cmV0dXJue2xpbmVTdGFydDpmdW5jdGlvbigpe3QubGluZVN0YXJ0KCksbj0xfSxwb2ludDpmdW5jdGlvbihvLGEpe3ZhciB1PW8+MD9xYTotcWEsZj1IYShvLWUpO0hhKGYtcWEpPERhPyh0LnBvaW50KGUscj0ocithKS8yPjA/T2E6LU9hKSx0LnBvaW50KGksciksdC5saW5lRW5kKCksdC5saW5lU3RhcnQoKSx0LnBvaW50KHUsciksdC5wb2ludChvLHIpLG49MCk6aSE9PXUmJmY+PXFhJiYoSGEoZS1pKTxEYSYmKGUtPWkqRGEpLEhhKG8tdSk8RGEmJihvLT11KkRhKSxyPWZ1bmN0aW9uKHQsbixlLHIpe3ZhciBpLG8sYT1RYSh0LWUpO3JldHVybiBIYShhKT5EYT9qYSgoUWEobikqKG89R2EocikpKlFhKGUpLVFhKHIpKihpPUdhKG4pKSpRYSh0KSkvKGkqbyphKSk6KG4rcikvMn0oZSxyLG8sYSksdC5wb2ludChpLHIpLHQubGluZUVuZCgpLHQubGluZVN0YXJ0KCksdC5wb2ludCh1LHIpLG49MCksdC5wb2ludChlPW8scj1hKSxpPXV9LGxpbmVFbmQ6ZnVuY3Rpb24oKXt0LmxpbmVFbmQoKSxlPXI9TmFOfSxjbGVhbjpmdW5jdGlvbigpe3JldHVybiAyLW59fX0sZnVuY3Rpb24odCxuLGUscil7dmFyIGk7aWYobnVsbD09dClpPWUqT2Esci5wb2ludCgtcWEsaSksci5wb2ludCgwLGkpLHIucG9pbnQocWEsaSksci5wb2ludChxYSwwKSxyLnBvaW50KHFhLC1pKSxyLnBvaW50KDAsLWkpLHIucG9pbnQoLXFhLC1pKSxyLnBvaW50KC1xYSwwKSxyLnBvaW50KC1xYSxpKTtlbHNlIGlmKEhhKHRbMF0tblswXSk+RGEpe3ZhciBvPXRbMF08blswXT9xYTotcWE7aT1lKm8vMixyLnBvaW50KC1vLGkpLHIucG9pbnQoMCxpKSxyLnBvaW50KG8saSl9ZWxzZSByLnBvaW50KG5bMF0sblsxXSl9LFstcWEsLU9hXSk7ZnVuY3Rpb24gVmYodCl7dmFyIG49R2EodCksZT02KklhLHI9bj4wLGk9SGEobik+RGE7ZnVuY3Rpb24gbyh0LGUpe3JldHVybiBHYSh0KSpHYShlKT5ufWZ1bmN0aW9uIGEodCxlLHIpe3ZhciBpPVsxLDAsMF0sbz1OdShBdSh0KSxBdShlKSksYT1UdShvLG8pLHU9b1swXSxmPWEtdSp1O2lmKCFmKXJldHVybiFyJiZ0O3ZhciBjPW4qYS9mLHM9LW4qdS9mLGw9TnUoaSxvKSxoPUV1KGksYyk7U3UoaCxFdShvLHMpKTt2YXIgZD1sLHA9VHUoaCxkKSx2PVR1KGQsZCksZz1wKnAtdiooVHUoaCxoKS0xKTtpZighKGc8MCkpe3ZhciB5PUthKGcpLF89RXUoZCwoLXAteSkvdik7aWYoU3UoXyxoKSxfPU11KF8pLCFyKXJldHVybiBfO3ZhciBiLG09dFswXSx4PWVbMF0sdz10WzFdLE09ZVsxXTt4PG0mJihiPW0sbT14LHg9Yik7dmFyIEE9eC1tLFQ9SGEoQS1xYSk8RGE7aWYoIVQmJk08dyYmKGI9dyx3PU0sTT1iKSxUfHxBPERhP1Q/dytNPjBeX1sxXTwoSGEoX1swXS1tKTxEYT93Ok0pOnc8PV9bMV0mJl9bMV08PU06QT5xYV4obTw9X1swXSYmX1swXTw9eCkpe3ZhciBOPUV1KGQsKC1wK3kpL3YpO3JldHVybiBTdShOLGgpLFtfLE11KE4pXX19fWZ1bmN0aW9uIHUobixlKXt2YXIgaT1yP3Q6cWEtdCxvPTA7cmV0dXJuIG48LWk/b3w9MTpuPmkmJihvfD0yKSxlPC1pP298PTQ6ZT5pJiYob3w9OCksb31yZXR1cm4gSGYobyxmdW5jdGlvbih0KXt2YXIgbixlLGYsYyxzO3JldHVybntsaW5lU3RhcnQ6ZnVuY3Rpb24oKXtjPWY9ITEscz0xfSxwb2ludDpmdW5jdGlvbihsLGgpe3ZhciBkLHA9W2wsaF0sdj1vKGwsaCksZz1yP3Y/MDp1KGwsaCk6dj91KGwrKGw8MD9xYTotcWEpLGgpOjA7aWYoIW4mJihjPWY9dikmJnQubGluZVN0YXJ0KCksdiE9PWYmJighKGQ9YShuLHApKXx8cWYobixkKXx8cWYocCxkKSkmJihwWzBdKz1EYSxwWzFdKz1EYSx2PW8ocFswXSxwWzFdKSksdiE9PWYpcz0wLHY/KHQubGluZVN0YXJ0KCksZD1hKHAsbiksdC5wb2ludChkWzBdLGRbMV0pKTooZD1hKG4scCksdC5wb2ludChkWzBdLGRbMV0pLHQubGluZUVuZCgpKSxuPWQ7ZWxzZSBpZihpJiZuJiZyXnYpe3ZhciB5O2cmZXx8ISh5PWEocCxuLCEwKSl8fChzPTAscj8odC5saW5lU3RhcnQoKSx0LnBvaW50KHlbMF1bMF0seVswXVsxXSksdC5wb2ludCh5WzFdWzBdLHlbMV1bMV0pLHQubGluZUVuZCgpKToodC5wb2ludCh5WzFdWzBdLHlbMV1bMV0pLHQubGluZUVuZCgpLHQubGluZVN0YXJ0KCksdC5wb2ludCh5WzBdWzBdLHlbMF1bMV0pKSl9IXZ8fG4mJnFmKG4scCl8fHQucG9pbnQocFswXSxwWzFdKSxuPXAsZj12LGU9Z30sbGluZUVuZDpmdW5jdGlvbigpe2YmJnQubGluZUVuZCgpLG49bnVsbH0sY2xlYW46ZnVuY3Rpb24oKXtyZXR1cm4gc3woYyYmZik8PDF9fX0sZnVuY3Rpb24obixyLGksbyl7TGYobyx0LGUsaSxuLHIpfSxyP1swLC10XTpbLXFhLHQtcWFdKX12YXIgJGY9MWU5LFdmPS0kZjtmdW5jdGlvbiBaZih0LG4sZSxyKXtmdW5jdGlvbiBpKGksbyl7cmV0dXJuIHQ8PWkmJmk8PWUmJm48PW8mJm88PXJ9ZnVuY3Rpb24gbyhpLG8sdSxjKXt2YXIgcz0wLGw9MDtpZihudWxsPT1pfHwocz1hKGksdSkpIT09KGw9YShvLHUpKXx8ZihpLG8pPDBedT4wKWRve2MucG9pbnQoMD09PXN8fDM9PT1zP3Q6ZSxzPjE/cjpuKX13aGlsZSgocz0ocyt1KzQpJTQpIT09bCk7ZWxzZSBjLnBvaW50KG9bMF0sb1sxXSl9ZnVuY3Rpb24gYShyLGkpe3JldHVybiBIYShyWzBdLXQpPERhP2k+MD8wOjM6SGEoclswXS1lKTxEYT9pPjA/MjoxOkhhKHJbMV0tbik8RGE/aT4wPzE6MDppPjA/MzoyfWZ1bmN0aW9uIHUodCxuKXtyZXR1cm4gZih0Lngsbi54KX1mdW5jdGlvbiBmKHQsbil7dmFyIGU9YSh0LDEpLHI9YShuLDEpO3JldHVybiBlIT09cj9lLXI6MD09PWU/blsxXS10WzFdOjE9PT1lP3RbMF0tblswXToyPT09ZT90WzFdLW5bMV06blswXS10WzBdfXJldHVybiBmdW5jdGlvbihhKXt2YXIgZixjLHMsbCxoLGQscCx2LGcseSxfLGI9YSxtPVVmKCkseD17cG9pbnQ6dyxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt4LnBvaW50PU0sYyYmYy5wdXNoKHM9W10pO3k9ITAsZz0hMSxwPXY9TmFOfSxsaW5lRW5kOmZ1bmN0aW9uKCl7ZiYmKE0obCxoKSxkJiZnJiZtLnJlam9pbigpLGYucHVzaChtLnJlc3VsdCgpKSk7eC5wb2ludD13LGcmJmIubGluZUVuZCgpfSxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtiPW0sZj1bXSxjPVtdLF89ITB9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXt2YXIgbj1mdW5jdGlvbigpe2Zvcih2YXIgbj0wLGU9MCxpPWMubGVuZ3RoO2U8aTsrK2UpZm9yKHZhciBvLGEsdT1jW2VdLGY9MSxzPXUubGVuZ3RoLGw9dVswXSxoPWxbMF0sZD1sWzFdO2Y8czsrK2Ypbz1oLGE9ZCxsPXVbZl0saD1sWzBdLGQ9bFsxXSxhPD1yP2Q+ciYmKGgtbykqKHItYSk+KGQtYSkqKHQtbykmJisrbjpkPD1yJiYoaC1vKSooci1hKTwoZC1hKSoodC1vKSYmLS1uO3JldHVybiBufSgpLGU9XyYmbixpPShmPU4oZikpLmxlbmd0aDsoZXx8aSkmJihhLnBvbHlnb25TdGFydCgpLGUmJihhLmxpbmVTdGFydCgpLG8obnVsbCxudWxsLDEsYSksYS5saW5lRW5kKCkpLGkmJllmKGYsdSxuLG8sYSksYS5wb2x5Z29uRW5kKCkpO2I9YSxmPWM9cz1udWxsfX07ZnVuY3Rpb24gdyh0LG4pe2kodCxuKSYmYi5wb2ludCh0LG4pfWZ1bmN0aW9uIE0obyxhKXt2YXIgdT1pKG8sYSk7aWYoYyYmcy5wdXNoKFtvLGFdKSx5KWw9byxoPWEsZD11LHk9ITEsdSYmKGIubGluZVN0YXJ0KCksYi5wb2ludChvLGEpKTtlbHNlIGlmKHUmJmcpYi5wb2ludChvLGEpO2Vsc2V7dmFyIGY9W3A9TWF0aC5tYXgoV2YsTWF0aC5taW4oJGYscCkpLHY9TWF0aC5tYXgoV2YsTWF0aC5taW4oJGYsdikpXSxtPVtvPU1hdGgubWF4KFdmLE1hdGgubWluKCRmLG8pKSxhPU1hdGgubWF4KFdmLE1hdGgubWluKCRmLGEpKV07IWZ1bmN0aW9uKHQsbixlLHIsaSxvKXt2YXIgYSx1PXRbMF0sZj10WzFdLGM9MCxzPTEsbD1uWzBdLXUsaD1uWzFdLWY7aWYoYT1lLXUsbHx8IShhPjApKXtpZihhLz1sLGw8MCl7aWYoYTxjKXJldHVybjthPHMmJihzPWEpfWVsc2UgaWYobD4wKXtpZihhPnMpcmV0dXJuO2E+YyYmKGM9YSl9aWYoYT1pLXUsbHx8IShhPDApKXtpZihhLz1sLGw8MCl7aWYoYT5zKXJldHVybjthPmMmJihjPWEpfWVsc2UgaWYobD4wKXtpZihhPGMpcmV0dXJuO2E8cyYmKHM9YSl9aWYoYT1yLWYsaHx8IShhPjApKXtpZihhLz1oLGg8MCl7aWYoYTxjKXJldHVybjthPHMmJihzPWEpfWVsc2UgaWYoaD4wKXtpZihhPnMpcmV0dXJuO2E+YyYmKGM9YSl9aWYoYT1vLWYsaHx8IShhPDApKXtpZihhLz1oLGg8MCl7aWYoYT5zKXJldHVybjthPmMmJihjPWEpfWVsc2UgaWYoaD4wKXtpZihhPGMpcmV0dXJuO2E8cyYmKHM9YSl9cmV0dXJuIGM+MCYmKHRbMF09dStjKmwsdFsxXT1mK2MqaCksczwxJiYoblswXT11K3MqbCxuWzFdPWYrcypoKSwhMH19fX19KGYsbSx0LG4sZSxyKT91JiYoYi5saW5lU3RhcnQoKSxiLnBvaW50KG8sYSksXz0hMSk6KGd8fChiLmxpbmVTdGFydCgpLGIucG9pbnQoZlswXSxmWzFdKSksYi5wb2ludChtWzBdLG1bMV0pLHV8fGIubGluZUVuZCgpLF89ITEpfXA9byx2PWEsZz11fXJldHVybiB4fX12YXIgUWYsSmYsS2YsdGM9UGEoKSxuYz17c3BoZXJlOml1LHBvaW50Oml1LGxpbmVTdGFydDpmdW5jdGlvbigpe25jLnBvaW50PXJjLG5jLmxpbmVFbmQ9ZWN9LGxpbmVFbmQ6aXUscG9seWdvblN0YXJ0Oml1LHBvbHlnb25FbmQ6aXV9O2Z1bmN0aW9uIGVjKCl7bmMucG9pbnQ9bmMubGluZUVuZD1pdX1mdW5jdGlvbiByYyh0LG4pe1FmPXQqPUlhLEpmPVFhKG4qPUlhKSxLZj1HYShuKSxuYy5wb2ludD1pY31mdW5jdGlvbiBpYyh0LG4pe3QqPUlhO3ZhciBlPVFhKG4qPUlhKSxyPUdhKG4pLGk9SGEodC1RZiksbz1HYShpKSxhPXIqUWEoaSksdT1LZiplLUpmKnIqbyxmPUpmKmUrS2YqcipvO3RjLmFkZChYYShLYShhKmErdSp1KSxmKSksUWY9dCxKZj1lLEtmPXJ9ZnVuY3Rpb24gb2ModCl7cmV0dXJuIHRjLnJlc2V0KCksc3UodCxuYyksK3RjfXZhciBhYz1bbnVsbCxudWxsXSx1Yz17dHlwZToiTGluZVN0cmluZyIsY29vcmRpbmF0ZXM6YWN9O2Z1bmN0aW9uIGZjKHQsbil7cmV0dXJuIGFjWzBdPXQsYWNbMV09bixvYyh1Yyl9dmFyIGNjPXtGZWF0dXJlOmZ1bmN0aW9uKHQsbil7cmV0dXJuIGxjKHQuZ2VvbWV0cnksbil9LEZlYXR1cmVDb2xsZWN0aW9uOmZ1bmN0aW9uKHQsbil7Zm9yKHZhciBlPXQuZmVhdHVyZXMscj0tMSxpPWUubGVuZ3RoOysrcjxpOylpZihsYyhlW3JdLmdlb21ldHJ5LG4pKXJldHVybiEwO3JldHVybiExfX0sc2M9e1NwaGVyZTpmdW5jdGlvbigpe3JldHVybiEwfSxQb2ludDpmdW5jdGlvbih0LG4pe3JldHVybiBoYyh0LmNvb3JkaW5hdGVzLG4pfSxNdWx0aVBvaW50OmZ1bmN0aW9uKHQsbil7Zm9yKHZhciBlPXQuY29vcmRpbmF0ZXMscj0tMSxpPWUubGVuZ3RoOysrcjxpOylpZihoYyhlW3JdLG4pKXJldHVybiEwO3JldHVybiExfSxMaW5lU3RyaW5nOmZ1bmN0aW9uKHQsbil7cmV0dXJuIGRjKHQuY29vcmRpbmF0ZXMsbil9LE11bHRpTGluZVN0cmluZzpmdW5jdGlvbih0LG4pe2Zvcih2YXIgZT10LmNvb3JkaW5hdGVzLHI9LTEsaT1lLmxlbmd0aDsrK3I8aTspaWYoZGMoZVtyXSxuKSlyZXR1cm4hMDtyZXR1cm4hMX0sUG9seWdvbjpmdW5jdGlvbih0LG4pe3JldHVybiBwYyh0LmNvb3JkaW5hdGVzLG4pfSxNdWx0aVBvbHlnb246ZnVuY3Rpb24odCxuKXtmb3IodmFyIGU9dC5jb29yZGluYXRlcyxyPS0xLGk9ZS5sZW5ndGg7KytyPGk7KWlmKHBjKGVbcl0sbikpcmV0dXJuITA7cmV0dXJuITF9LEdlb21ldHJ5Q29sbGVjdGlvbjpmdW5jdGlvbih0LG4pe2Zvcih2YXIgZT10Lmdlb21ldHJpZXMscj0tMSxpPWUubGVuZ3RoOysrcjxpOylpZihsYyhlW3JdLG4pKXJldHVybiEwO3JldHVybiExfX07ZnVuY3Rpb24gbGModCxuKXtyZXR1cm4hKCF0fHwhc2MuaGFzT3duUHJvcGVydHkodC50eXBlKSkmJnNjW3QudHlwZV0odCxuKX1mdW5jdGlvbiBoYyh0LG4pe3JldHVybiAwPT09ZmModCxuKX1mdW5jdGlvbiBkYyh0LG4pe3ZhciBlPWZjKHRbMF0sdFsxXSk7cmV0dXJuIGZjKHRbMF0sbikrZmMobix0WzFdKTw9ZStEYX1mdW5jdGlvbiBwYyh0LG4pe3JldHVybiEhSWYodC5tYXAodmMpLGdjKG4pKX1mdW5jdGlvbiB2Yyh0KXtyZXR1cm4odD10Lm1hcChnYykpLnBvcCgpLHR9ZnVuY3Rpb24gZ2ModCl7cmV0dXJuW3RbMF0qSWEsdFsxXSpJYV19ZnVuY3Rpb24geWModCxuLGUpe3ZhciByPWcodCxuLURhLGUpLmNvbmNhdChuKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIHIubWFwKGZ1bmN0aW9uKG4pe3JldHVyblt0LG5dfSl9fWZ1bmN0aW9uIF9jKHQsbixlKXt2YXIgcj1nKHQsbi1EYSxlKS5jb25jYXQobik7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiByLm1hcChmdW5jdGlvbihuKXtyZXR1cm5bbix0XX0pfX1mdW5jdGlvbiBiYygpe3ZhciB0LG4sZSxyLGksbyxhLHUsZixjLHMsbCxoPTEwLGQ9aCxwPTkwLHY9MzYwLHk9Mi41O2Z1bmN0aW9uIF8oKXtyZXR1cm57dHlwZToiTXVsdGlMaW5lU3RyaW5nIixjb29yZGluYXRlczpiKCl9fWZ1bmN0aW9uIGIoKXtyZXR1cm4gZyhWYShyL3ApKnAsZSxwKS5tYXAocykuY29uY2F0KGcoVmEodS92KSp2LGEsdikubWFwKGwpKS5jb25jYXQoZyhWYShuL2gpKmgsdCxoKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIEhhKHQlcCk+RGF9KS5tYXAoZikpLmNvbmNhdChnKFZhKG8vZCkqZCxpLGQpLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gSGEodCV2KT5EYX0pLm1hcChjKSl9cmV0dXJuIF8ubGluZXM9ZnVuY3Rpb24oKXtyZXR1cm4gYigpLm1hcChmdW5jdGlvbih0KXtyZXR1cm57dHlwZToiTGluZVN0cmluZyIsY29vcmRpbmF0ZXM6dH19KX0sXy5vdXRsaW5lPWZ1bmN0aW9uKCl7cmV0dXJue3R5cGU6IlBvbHlnb24iLGNvb3JkaW5hdGVzOltzKHIpLmNvbmNhdChsKGEpLnNsaWNlKDEpLHMoZSkucmV2ZXJzZSgpLnNsaWNlKDEpLGwodSkucmV2ZXJzZSgpLnNsaWNlKDEpKV19fSxfLmV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9fLmV4dGVudE1ham9yKHQpLmV4dGVudE1pbm9yKHQpOl8uZXh0ZW50TWlub3IoKX0sXy5leHRlbnRNYWpvcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0rdFswXVswXSxlPSt0WzFdWzBdLHU9K3RbMF1bMV0sYT0rdFsxXVsxXSxyPmUmJih0PXIscj1lLGU9dCksdT5hJiYodD11LHU9YSxhPXQpLF8ucHJlY2lzaW9uKHkpKTpbW3IsdV0sW2UsYV1dfSxfLmV4dGVudE1pbm9yPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPStlWzBdWzBdLHQ9K2VbMV1bMF0sbz0rZVswXVsxXSxpPStlWzFdWzFdLG4+dCYmKGU9bixuPXQsdD1lKSxvPmkmJihlPW8sbz1pLGk9ZSksXy5wcmVjaXNpb24oeSkpOltbbixvXSxbdCxpXV19LF8uc3RlcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9fLnN0ZXBNYWpvcih0KS5zdGVwTWlub3IodCk6Xy5zdGVwTWlub3IoKX0sXy5zdGVwTWFqb3I9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHA9K3RbMF0sdj0rdFsxXSxfKTpbcCx2XX0sXy5zdGVwTWlub3I9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGg9K3RbMF0sZD0rdFsxXSxfKTpbaCxkXX0sXy5wcmVjaXNpb249ZnVuY3Rpb24oaCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHk9K2gsZj15YyhvLGksOTApLGM9X2Mobix0LHkpLHM9eWModSxhLDkwKSxsPV9jKHIsZSx5KSxfKTp5fSxfLmV4dGVudE1ham9yKFtbLTE4MCwtOTArRGFdLFsxODAsOTAtRGFdXSkuZXh0ZW50TWlub3IoW1stMTgwLC04MC1EYV0sWzE4MCw4MCtEYV1dKX1mdW5jdGlvbiBtYyh0KXtyZXR1cm4gdH12YXIgeGMsd2MsTWMsQWMsVGM9UGEoKSxOYz1QYSgpLFNjPXtwb2ludDppdSxsaW5lU3RhcnQ6aXUsbGluZUVuZDppdSxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtTYy5saW5lU3RhcnQ9RWMsU2MubGluZUVuZD1QY30scG9seWdvbkVuZDpmdW5jdGlvbigpe1NjLmxpbmVTdGFydD1TYy5saW5lRW5kPVNjLnBvaW50PWl1LFRjLmFkZChIYShOYykpLE5jLnJlc2V0KCl9LHJlc3VsdDpmdW5jdGlvbigpe3ZhciB0PVRjLzI7cmV0dXJuIFRjLnJlc2V0KCksdH19O2Z1bmN0aW9uIEVjKCl7U2MucG9pbnQ9a2N9ZnVuY3Rpb24ga2ModCxuKXtTYy5wb2ludD1DYyx4Yz1NYz10LHdjPUFjPW59ZnVuY3Rpb24gQ2ModCxuKXtOYy5hZGQoQWMqdC1NYypuKSxNYz10LEFjPW59ZnVuY3Rpb24gUGMoKXtDYyh4Yyx3Yyl9dmFyIHpjPTEvMCxSYz16YyxMYz0temMsRGM9TGMsVWM9e3BvaW50OmZ1bmN0aW9uKHQsbil7dDx6YyYmKHpjPXQpO3Q+TGMmJihMYz10KTtuPFJjJiYoUmM9bik7bj5EYyYmKERjPW4pfSxsaW5lU3RhcnQ6aXUsbGluZUVuZDppdSxwb2x5Z29uU3RhcnQ6aXUscG9seWdvbkVuZDppdSxyZXN1bHQ6ZnVuY3Rpb24oKXt2YXIgdD1bW3pjLFJjXSxbTGMsRGNdXTtyZXR1cm4gTGM9RGM9LShSYz16Yz0xLzApLHR9fTt2YXIgcWMsT2MsWWMsQmMsRmM9MCxJYz0wLEhjPTAsamM9MCxYYz0wLEdjPTAsVmM9MCwkYz0wLFdjPTAsWmM9e3BvaW50OlFjLGxpbmVTdGFydDpKYyxsaW5lRW5kOm5zLHBvbHlnb25TdGFydDpmdW5jdGlvbigpe1pjLmxpbmVTdGFydD1lcyxaYy5saW5lRW5kPXJzfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7WmMucG9pbnQ9UWMsWmMubGluZVN0YXJ0PUpjLFpjLmxpbmVFbmQ9bnN9LHJlc3VsdDpmdW5jdGlvbigpe3ZhciB0PVdjP1tWYy9XYywkYy9XY106R2M/W2pjL0djLFhjL0djXTpIYz9bRmMvSGMsSWMvSGNdOltOYU4sTmFOXTtyZXR1cm4gRmM9SWM9SGM9amM9WGM9R2M9VmM9JGM9V2M9MCx0fX07ZnVuY3Rpb24gUWModCxuKXtGYys9dCxJYys9biwrK0hjfWZ1bmN0aW9uIEpjKCl7WmMucG9pbnQ9S2N9ZnVuY3Rpb24gS2ModCxuKXtaYy5wb2ludD10cyxRYyhZYz10LEJjPW4pfWZ1bmN0aW9uIHRzKHQsbil7dmFyIGU9dC1ZYyxyPW4tQmMsaT1LYShlKmUrcipyKTtqYys9aSooWWMrdCkvMixYYys9aSooQmMrbikvMixHYys9aSxRYyhZYz10LEJjPW4pfWZ1bmN0aW9uIG5zKCl7WmMucG9pbnQ9UWN9ZnVuY3Rpb24gZXMoKXtaYy5wb2ludD1pc31mdW5jdGlvbiBycygpe29zKHFjLE9jKX1mdW5jdGlvbiBpcyh0LG4pe1pjLnBvaW50PW9zLFFjKHFjPVljPXQsT2M9QmM9bil9ZnVuY3Rpb24gb3ModCxuKXt2YXIgZT10LVljLHI9bi1CYyxpPUthKGUqZStyKnIpO2pjKz1pKihZYyt0KS8yLFhjKz1pKihCYytuKS8yLEdjKz1pLFZjKz0oaT1CYyp0LVljKm4pKihZYyt0KSwkYys9aSooQmMrbiksV2MrPTMqaSxRYyhZYz10LEJjPW4pfWZ1bmN0aW9uIGFzKHQpe3RoaXMuX2NvbnRleHQ9dH1hcy5wcm90b3R5cGU9e19yYWRpdXM6NC41LHBvaW50UmFkaXVzOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9yYWRpdXM9dCx0aGlzfSxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpezA9PT10aGlzLl9saW5lJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX3BvaW50PU5hTn0scG9pbnQ6ZnVuY3Rpb24odCxuKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LG4pLHRoaXMuX3BvaW50PTE7YnJlYWs7Y2FzZSAxOnRoaXMuX2NvbnRleHQubGluZVRvKHQsbik7YnJlYWs7ZGVmYXVsdDp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0K3RoaXMuX3JhZGl1cyxuKSx0aGlzLl9jb250ZXh0LmFyYyh0LG4sdGhpcy5fcmFkaXVzLDAsQmEpfX0scmVzdWx0Oml1fTt2YXIgdXMsZnMsY3Msc3MsbHMsaHM9UGEoKSxkcz17cG9pbnQ6aXUsbGluZVN0YXJ0OmZ1bmN0aW9uKCl7ZHMucG9pbnQ9cHN9LGxpbmVFbmQ6ZnVuY3Rpb24oKXt1cyYmdnMoZnMsY3MpLGRzLnBvaW50PWl1fSxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXt1cz0hMH0scG9seWdvbkVuZDpmdW5jdGlvbigpe3VzPW51bGx9LHJlc3VsdDpmdW5jdGlvbigpe3ZhciB0PStocztyZXR1cm4gaHMucmVzZXQoKSx0fX07ZnVuY3Rpb24gcHModCxuKXtkcy5wb2ludD12cyxmcz1zcz10LGNzPWxzPW59ZnVuY3Rpb24gdnModCxuKXtzcy09dCxscy09bixocy5hZGQoS2Eoc3Mqc3MrbHMqbHMpKSxzcz10LGxzPW59ZnVuY3Rpb24gZ3MoKXt0aGlzLl9zdHJpbmc9W119ZnVuY3Rpb24geXModCl7cmV0dXJuIm0wLCIrdCsiYSIrdCsiLCIrdCsiIDAgMSwxIDAsIistMip0KyJhIit0KyIsIit0KyIgMCAxLDEgMCwiKzIqdCsieiJ9ZnVuY3Rpb24gX3ModCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciBlPW5ldyBicztmb3IodmFyIHIgaW4gdCllW3JdPXRbcl07cmV0dXJuIGUuc3RyZWFtPW4sZX19ZnVuY3Rpb24gYnMoKXt9ZnVuY3Rpb24gbXModCxuLGUpe3ZhciByPXQuY2xpcEV4dGVudCYmdC5jbGlwRXh0ZW50KCk7cmV0dXJuIHQuc2NhbGUoMTUwKS50cmFuc2xhdGUoWzAsMF0pLG51bGwhPXImJnQuY2xpcEV4dGVudChudWxsKSxzdShlLHQuc3RyZWFtKFVjKSksbihVYy5yZXN1bHQoKSksbnVsbCE9ciYmdC5jbGlwRXh0ZW50KHIpLHR9ZnVuY3Rpb24geHModCxuLGUpe3JldHVybiBtcyh0LGZ1bmN0aW9uKGUpe3ZhciByPW5bMV1bMF0tblswXVswXSxpPW5bMV1bMV0tblswXVsxXSxvPU1hdGgubWluKHIvKGVbMV1bMF0tZVswXVswXSksaS8oZVsxXVsxXS1lWzBdWzFdKSksYT0rblswXVswXSsoci1vKihlWzFdWzBdK2VbMF1bMF0pKS8yLHU9K25bMF1bMV0rKGktbyooZVsxXVsxXStlWzBdWzFdKSkvMjt0LnNjYWxlKDE1MCpvKS50cmFuc2xhdGUoW2EsdV0pfSxlKX1mdW5jdGlvbiB3cyh0LG4sZSl7cmV0dXJuIHhzKHQsW1swLDBdLG5dLGUpfWZ1bmN0aW9uIE1zKHQsbixlKXtyZXR1cm4gbXModCxmdW5jdGlvbihlKXt2YXIgcj0rbixpPXIvKGVbMV1bMF0tZVswXVswXSksbz0oci1pKihlWzFdWzBdK2VbMF1bMF0pKS8yLGE9LWkqZVswXVsxXTt0LnNjYWxlKDE1MCppKS50cmFuc2xhdGUoW28sYV0pfSxlKX1mdW5jdGlvbiBBcyh0LG4sZSl7cmV0dXJuIG1zKHQsZnVuY3Rpb24oZSl7dmFyIHI9K24saT1yLyhlWzFdWzFdLWVbMF1bMV0pLG89LWkqZVswXVswXSxhPShyLWkqKGVbMV1bMV0rZVswXVsxXSkpLzI7dC5zY2FsZSgxNTAqaSkudHJhbnNsYXRlKFtvLGFdKX0sZSl9Z3MucHJvdG90eXBlPXtfcmFkaXVzOjQuNSxfY2lyY2xlOnlzKDQuNSkscG9pbnRSYWRpdXM6ZnVuY3Rpb24odCl7cmV0dXJuKHQ9K3QpIT09dGhpcy5fcmFkaXVzJiYodGhpcy5fcmFkaXVzPXQsdGhpcy5fY2lyY2xlPW51bGwpLHRoaXN9LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0scG9seWdvbkVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7MD09PXRoaXMuX2xpbmUmJnRoaXMuX3N0cmluZy5wdXNoKCJaIiksdGhpcy5fcG9pbnQ9TmFOfSxwb2ludDpmdW5jdGlvbih0LG4pe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3N0cmluZy5wdXNoKCJNIix0LCIsIixuKSx0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9zdHJpbmcucHVzaCgiTCIsdCwiLCIsbik7YnJlYWs7ZGVmYXVsdDpudWxsPT10aGlzLl9jaXJjbGUmJih0aGlzLl9jaXJjbGU9eXModGhpcy5fcmFkaXVzKSksdGhpcy5fc3RyaW5nLnB1c2goIk0iLHQsIiwiLG4sdGhpcy5fY2lyY2xlKX19LHJlc3VsdDpmdW5jdGlvbigpe2lmKHRoaXMuX3N0cmluZy5sZW5ndGgpe3ZhciB0PXRoaXMuX3N0cmluZy5qb2luKCIiKTtyZXR1cm4gdGhpcy5fc3RyaW5nPVtdLHR9cmV0dXJuIG51bGx9fSxicy5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmJzLHBvaW50OmZ1bmN0aW9uKHQsbil7dGhpcy5zdHJlYW0ucG9pbnQodCxuKX0sc3BoZXJlOmZ1bmN0aW9uKCl7dGhpcy5zdHJlYW0uc3BoZXJlKCl9LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuc3RyZWFtLmxpbmVTdGFydCgpfSxsaW5lRW5kOmZ1bmN0aW9uKCl7dGhpcy5zdHJlYW0ubGluZUVuZCgpfSxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLnN0cmVhbS5wb2x5Z29uU3RhcnQoKX0scG9seWdvbkVuZDpmdW5jdGlvbigpe3RoaXMuc3RyZWFtLnBvbHlnb25FbmQoKX19O3ZhciBUcz0xNixOcz1HYSgzMCpJYSk7ZnVuY3Rpb24gU3ModCxuKXtyZXR1cm4rbj9mdW5jdGlvbih0LG4pe2Z1bmN0aW9uIGUocixpLG8sYSx1LGYsYyxzLGwsaCxkLHAsdixnKXt2YXIgeT1jLXIsXz1zLWksYj15KnkrXypfO2lmKGI+NCpuJiZ2LS0pe3ZhciBtPWEraCx4PXUrZCx3PWYrcCxNPUthKG0qbSt4Kngrdyp3KSxBPWV1KHcvPU0pLFQ9SGEoSGEodyktMSk8RGF8fEhhKG8tbCk8RGE/KG8rbCkvMjpYYSh4LG0pLE49dChULEEpLFM9TlswXSxFPU5bMV0saz1TLXIsQz1FLWksUD1fKmsteSpDOyhQKlAvYj5ufHxIYSgoeSprK18qQykvYi0uNSk+LjN8fGEqaCt1KmQrZipwPE5zKSYmKGUocixpLG8sYSx1LGYsUyxFLFQsbS89TSx4Lz1NLHcsdixnKSxnLnBvaW50KFMsRSksZShTLEUsVCxtLHgsdyxjLHMsbCxoLGQscCx2LGcpKX19cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciByLGksbyxhLHUsZixjLHMsbCxoLGQscCx2PXtwb2ludDpnLGxpbmVTdGFydDp5LGxpbmVFbmQ6Yixwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtuLnBvbHlnb25TdGFydCgpLHYubGluZVN0YXJ0PW19LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtuLnBvbHlnb25FbmQoKSx2LmxpbmVTdGFydD15fX07ZnVuY3Rpb24gZyhlLHIpe2U9dChlLHIpLG4ucG9pbnQoZVswXSxlWzFdKX1mdW5jdGlvbiB5KCl7cz1OYU4sdi5wb2ludD1fLG4ubGluZVN0YXJ0KCl9ZnVuY3Rpb24gXyhyLGkpe3ZhciBvPUF1KFtyLGldKSxhPXQocixpKTtlKHMsbCxjLGgsZCxwLHM9YVswXSxsPWFbMV0sYz1yLGg9b1swXSxkPW9bMV0scD1vWzJdLFRzLG4pLG4ucG9pbnQocyxsKX1mdW5jdGlvbiBiKCl7di5wb2ludD1nLG4ubGluZUVuZCgpfWZ1bmN0aW9uIG0oKXt5KCksdi5wb2ludD14LHYubGluZUVuZD13fWZ1bmN0aW9uIHgodCxuKXtfKHI9dCxuKSxpPXMsbz1sLGE9aCx1PWQsZj1wLHYucG9pbnQ9X31mdW5jdGlvbiB3KCl7ZShzLGwsYyxoLGQscCxpLG8scixhLHUsZixUcyxuKSx2LmxpbmVFbmQ9YixiKCl9cmV0dXJuIHZ9fSh0LG4pOmZ1bmN0aW9uKHQpe3JldHVybiBfcyh7cG9pbnQ6ZnVuY3Rpb24obixlKXtuPXQobixlKSx0aGlzLnN0cmVhbS5wb2ludChuWzBdLG5bMV0pfX0pfSh0KX12YXIgRXM9X3Moe3BvaW50OmZ1bmN0aW9uKHQsbil7dGhpcy5zdHJlYW0ucG9pbnQodCpJYSxuKklhKX19KTtmdW5jdGlvbiBrcyh0LG4sZSxyKXt2YXIgaT1HYShyKSxvPVFhKHIpLGE9aSp0LHU9byp0LGY9aS90LGM9by90LHM9KG8qZS1pKm4pL3QsbD0obypuK2kqZSkvdDtmdW5jdGlvbiBoKHQscil7cmV0dXJuW2EqdC11KnIrbixlLXUqdC1hKnJdfXJldHVybiBoLmludmVydD1mdW5jdGlvbih0LG4pe3JldHVybltmKnQtYypuK3MsbC1jKnQtZipuXX0saH1mdW5jdGlvbiBDcyh0KXtyZXR1cm4gUHMoZnVuY3Rpb24oKXtyZXR1cm4gdH0pKCl9ZnVuY3Rpb24gUHModCl7dmFyIG4sZSxyLGksbyxhLHUsZixjLHMsbD0xNTAsaD00ODAsZD0yNTAscD0wLHY9MCxnPTAseT0wLF89MCxiPTAsbT1udWxsLHg9R2Ysdz1udWxsLE09bWMsQT0uNTtmdW5jdGlvbiBUKHQpe3JldHVybiBmKHRbMF0qSWEsdFsxXSpJYSl9ZnVuY3Rpb24gTih0KXtyZXR1cm4odD1mLmludmVydCh0WzBdLHRbMV0pKSYmW3RbMF0qRmEsdFsxXSpGYV19ZnVuY3Rpb24gUygpe3ZhciB0PWtzKGwsMCwwLGIpLmFwcGx5KG51bGwsbihwLHYpKSxyPShiP2tzOmZ1bmN0aW9uKHQsbixlKXtmdW5jdGlvbiByKHIsaSl7cmV0dXJuW24rdCpyLGUtdCppXX1yZXR1cm4gci5pbnZlcnQ9ZnVuY3Rpb24ocixpKXtyZXR1cm5bKHItbikvdCwoZS1pKS90XX0scn0pKGwsaC10WzBdLGQtdFsxXSxiKTtyZXR1cm4gZT1rZihnLHksXyksdT1TZihuLHIpLGY9U2YoZSx1KSxhPVNzKHUsQSksRSgpfWZ1bmN0aW9uIEUoKXtyZXR1cm4gYz1zPW51bGwsVH1yZXR1cm4gVC5zdHJlYW09ZnVuY3Rpb24odCl7cmV0dXJuIGMmJnM9PT10P2M6Yz1FcyhmdW5jdGlvbih0KXtyZXR1cm4gX3Moe3BvaW50OmZ1bmN0aW9uKG4sZSl7dmFyIHI9dChuLGUpO3JldHVybiB0aGlzLnN0cmVhbS5wb2ludChyWzBdLHJbMV0pfX0pfShlKSh4KGEoTShzPXQpKSkpKX0sVC5wcmVjbGlwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh4PXQsbT12b2lkIDAsRSgpKTp4fSxULnBvc3RjbGlwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhNPXQsdz1yPWk9bz1udWxsLEUoKSk6TX0sVC5jbGlwQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHg9K3Q/VmYobT10KklhKToobT1udWxsLEdmKSxFKCkpOm0qRmF9LFQuY2xpcEV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oTT1udWxsPT10Pyh3PXI9aT1vPW51bGwsbWMpOlpmKHc9K3RbMF1bMF0scj0rdFswXVsxXSxpPSt0WzFdWzBdLG89K3RbMV1bMV0pLEUoKSk6bnVsbD09dz9udWxsOltbdyxyXSxbaSxvXV19LFQuc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGw9K3QsUygpKTpsfSxULnRyYW5zbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaD0rdFswXSxkPSt0WzFdLFMoKSk6W2gsZF19LFQuY2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhwPXRbMF0lMzYwKklhLHY9dFsxXSUzNjAqSWEsUygpKTpbcCpGYSx2KkZhXX0sVC5yb3RhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGc9dFswXSUzNjAqSWEseT10WzFdJTM2MCpJYSxfPXQubGVuZ3RoPjI/dFsyXSUzNjAqSWE6MCxTKCkpOltnKkZhLHkqRmEsXypGYV19LFQuYW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGI9dCUzNjAqSWEsUygpKTpiKkZhfSxULnByZWNpc2lvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT1Tcyh1LEE9dCp0KSxFKCkpOkthKEEpfSxULmZpdEV4dGVudD1mdW5jdGlvbih0LG4pe3JldHVybiB4cyhULHQsbil9LFQuZml0U2l6ZT1mdW5jdGlvbih0LG4pe3JldHVybiB3cyhULHQsbil9LFQuZml0V2lkdGg9ZnVuY3Rpb24odCxuKXtyZXR1cm4gTXMoVCx0LG4pfSxULmZpdEhlaWdodD1mdW5jdGlvbih0LG4pe3JldHVybiBBcyhULHQsbil9LGZ1bmN0aW9uKCl7cmV0dXJuIG49dC5hcHBseSh0aGlzLGFyZ3VtZW50cyksVC5pbnZlcnQ9bi5pbnZlcnQmJk4sUygpfX1mdW5jdGlvbiB6cyh0KXt2YXIgbj0wLGU9cWEvMyxyPVBzKHQpLGk9cihuLGUpO3JldHVybiBpLnBhcmFsbGVscz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9yKG49dFswXSpJYSxlPXRbMV0qSWEpOltuKkZhLGUqRmFdfSxpfWZ1bmN0aW9uIFJzKHQsbil7dmFyIGU9UWEodCkscj0oZStRYShuKSkvMjtpZihIYShyKTxEYSlyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG49R2EodCk7ZnVuY3Rpb24gZSh0LGUpe3JldHVyblt0Km4sUWEoZSkvbl19cmV0dXJuIGUuaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuW3QvbixldShlKm4pXX0sZX0odCk7dmFyIGk9MStlKigyKnItZSksbz1LYShpKS9yO2Z1bmN0aW9uIGEodCxuKXt2YXIgZT1LYShpLTIqcipRYShuKSkvcjtyZXR1cm5bZSpRYSh0Kj1yKSxvLWUqR2EodCldfXJldHVybiBhLmludmVydD1mdW5jdGlvbih0LG4pe3ZhciBlPW8tbjtyZXR1cm5bWGEodCxIYShlKSkvcipKYShlKSxldSgoaS0odCp0K2UqZSkqcipyKS8oMipyKSldfSxhfWZ1bmN0aW9uIExzKCl7cmV0dXJuIHpzKFJzKS5zY2FsZSgxNTUuNDI0KS5jZW50ZXIoWzAsMzMuNjQ0Ml0pfWZ1bmN0aW9uIERzKCl7cmV0dXJuIExzKCkucGFyYWxsZWxzKFsyOS41LDQ1LjVdKS5zY2FsZSgxMDcwKS50cmFuc2xhdGUoWzQ4MCwyNTBdKS5yb3RhdGUoWzk2LDBdKS5jZW50ZXIoWy0uNiwzOC43XSl9ZnVuY3Rpb24gVXModCl7cmV0dXJuIGZ1bmN0aW9uKG4sZSl7dmFyIHI9R2EobiksaT1HYShlKSxvPXQocippKTtyZXR1cm5bbyppKlFhKG4pLG8qUWEoZSldfX1mdW5jdGlvbiBxcyh0KXtyZXR1cm4gZnVuY3Rpb24obixlKXt2YXIgcj1LYShuKm4rZSplKSxpPXQociksbz1RYShpKSxhPUdhKGkpO3JldHVybltYYShuKm8sciphKSxldShyJiZlKm8vcildfX12YXIgT3M9VXMoZnVuY3Rpb24odCl7cmV0dXJuIEthKDIvKDErdCkpfSk7T3MuaW52ZXJ0PXFzKGZ1bmN0aW9uKHQpe3JldHVybiAyKmV1KHQvMil9KTt2YXIgWXM9VXMoZnVuY3Rpb24odCl7cmV0dXJuKHQ9bnUodCkpJiZ0L1FhKHQpfSk7ZnVuY3Rpb24gQnModCxuKXtyZXR1cm5bdCxXYSh0dSgoT2ErbikvMikpXX1mdW5jdGlvbiBGcyh0KXt2YXIgbixlLHIsaT1Dcyh0KSxvPWkuY2VudGVyLGE9aS5zY2FsZSx1PWkudHJhbnNsYXRlLGY9aS5jbGlwRXh0ZW50LGM9bnVsbDtmdW5jdGlvbiBzKCl7dmFyIG89cWEqYSgpLHU9aShSZihpLnJvdGF0ZSgpKS5pbnZlcnQoWzAsMF0pKTtyZXR1cm4gZihudWxsPT1jP1tbdVswXS1vLHVbMV0tb10sW3VbMF0rbyx1WzFdK29dXTp0PT09QnM/W1tNYXRoLm1heCh1WzBdLW8sYyksbl0sW01hdGgubWluKHVbMF0rbyxlKSxyXV06W1tjLE1hdGgubWF4KHVbMV0tbyxuKV0sW2UsTWF0aC5taW4odVsxXStvLHIpXV0pfXJldHVybiBpLnNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhKHQpLHMoKSk6YSgpfSxpLnRyYW5zbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odSh0KSxzKCkpOnUoKX0saS5jZW50ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG8odCkscygpKTpvKCl9LGkuY2xpcEV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obnVsbD09dD9jPW49ZT1yPW51bGw6KGM9K3RbMF1bMF0sbj0rdFswXVsxXSxlPSt0WzFdWzBdLHI9K3RbMV1bMV0pLHMoKSk6bnVsbD09Yz9udWxsOltbYyxuXSxbZSxyXV19LHMoKX1mdW5jdGlvbiBJcyh0KXtyZXR1cm4gdHUoKE9hK3QpLzIpfWZ1bmN0aW9uIEhzKHQsbil7dmFyIGU9R2EodCkscj10PT09bj9RYSh0KTpXYShlL0dhKG4pKS9XYShJcyhuKS9Jcyh0KSksaT1lKlphKElzKHQpLHIpL3I7aWYoIXIpcmV0dXJuIEJzO2Z1bmN0aW9uIG8odCxuKXtpPjA/bjwtT2ErRGEmJihuPS1PYStEYSk6bj5PYS1EYSYmKG49T2EtRGEpO3ZhciBlPWkvWmEoSXMobikscik7cmV0dXJuW2UqUWEocip0KSxpLWUqR2Eocip0KV19cmV0dXJuIG8uaW52ZXJ0PWZ1bmN0aW9uKHQsbil7dmFyIGU9aS1uLG89SmEocikqS2EodCp0K2UqZSk7cmV0dXJuW1hhKHQsSGEoZSkpL3IqSmEoZSksMipqYShaYShpL28sMS9yKSktT2FdfSxvfWZ1bmN0aW9uIGpzKHQsbil7cmV0dXJuW3Qsbl19ZnVuY3Rpb24gWHModCxuKXt2YXIgZT1HYSh0KSxyPXQ9PT1uP1FhKHQpOihlLUdhKG4pKS8obi10KSxpPWUvcit0O2lmKEhhKHIpPERhKXJldHVybiBqcztmdW5jdGlvbiBvKHQsbil7dmFyIGU9aS1uLG89cip0O3JldHVybltlKlFhKG8pLGktZSpHYShvKV19cmV0dXJuIG8uaW52ZXJ0PWZ1bmN0aW9uKHQsbil7dmFyIGU9aS1uO3JldHVybltYYSh0LEhhKGUpKS9yKkphKGUpLGktSmEocikqS2EodCp0K2UqZSldfSxvfVlzLmludmVydD1xcyhmdW5jdGlvbih0KXtyZXR1cm4gdH0pLEJzLmludmVydD1mdW5jdGlvbih0LG4pe3JldHVyblt0LDIqamEoJGEobikpLU9hXX0sanMuaW52ZXJ0PWpzO3ZhciBHcz0xLjM0MDI2NCxWcz0tLjA4MTEwNiwkcz04OTNlLTYsV3M9LjAwMzc5Nixacz1LYSgzKS8yO2Z1bmN0aW9uIFFzKHQsbil7dmFyIGU9ZXUoWnMqUWEobikpLHI9ZSplLGk9cipyKnI7cmV0dXJuW3QqR2EoZSkvKFpzKihHcyszKlZzKnIraSooNyokcys5KldzKnIpKSksZSooR3MrVnMqcitpKigkcytXcypyKSldfWZ1bmN0aW9uIEpzKHQsbil7dmFyIGU9R2Eobikscj1HYSh0KSplO3JldHVybltlKlFhKHQpL3IsUWEobikvcl19ZnVuY3Rpb24gS3ModCxuLGUscil7cmV0dXJuIDE9PT10JiYxPT09biYmMD09PWUmJjA9PT1yP21jOl9zKHtwb2ludDpmdW5jdGlvbihpLG8pe3RoaXMuc3RyZWFtLnBvaW50KGkqdCtlLG8qbityKX19KX1mdW5jdGlvbiB0bCh0LG4pe3ZhciBlPW4qbixyPWUqZTtyZXR1cm5bdCooLjg3MDctLjEzMTk3OSplK3IqKHIqKC4wMDM5NzEqZS0uMDAxNTI5KnIpLS4wMTM3OTEpKSxuKigxLjAwNzIyNitlKiguMDE1MDg1K3IqKC4wMjg4NzQqZS0uMDQ0NDc1LS4wMDU5MTYqcikpKV19ZnVuY3Rpb24gbmwodCxuKXtyZXR1cm5bR2EobikqUWEodCksUWEobildfWZ1bmN0aW9uIGVsKHQsbil7dmFyIGU9R2Eobikscj0xK0dhKHQpKmU7cmV0dXJuW2UqUWEodCkvcixRYShuKS9yXX1mdW5jdGlvbiBybCh0LG4pe3JldHVybltXYSh0dSgoT2ErbikvMikpLC10XX1mdW5jdGlvbiBpbCh0LG4pe3JldHVybiB0LnBhcmVudD09PW4ucGFyZW50PzE6Mn1mdW5jdGlvbiBvbCh0LG4pe3JldHVybiB0K24ueH1mdW5jdGlvbiBhbCh0LG4pe3JldHVybiBNYXRoLm1heCh0LG4ueSl9ZnVuY3Rpb24gdWwodCl7dmFyIG49MCxlPXQuY2hpbGRyZW4scj1lJiZlLmxlbmd0aDtpZihyKWZvcig7LS1yPj0wOyluKz1lW3JdLnZhbHVlO2Vsc2Ugbj0xO3QudmFsdWU9bn1mdW5jdGlvbiBmbCh0LG4pe3ZhciBlLHIsaSxvLGEsdT1uZXcgaGwodCksZj0rdC52YWx1ZSYmKHUudmFsdWU9dC52YWx1ZSksYz1bdV07Zm9yKG51bGw9PW4mJihuPWNsKTtlPWMucG9wKCk7KWlmKGYmJihlLnZhbHVlPStlLmRhdGEudmFsdWUpLChpPW4oZS5kYXRhKSkmJihhPWkubGVuZ3RoKSlmb3IoZS5jaGlsZHJlbj1uZXcgQXJyYXkoYSksbz1hLTE7bz49MDstLW8pYy5wdXNoKHI9ZS5jaGlsZHJlbltvXT1uZXcgaGwoaVtvXSkpLHIucGFyZW50PWUsci5kZXB0aD1lLmRlcHRoKzE7cmV0dXJuIHUuZWFjaEJlZm9yZShsbCl9ZnVuY3Rpb24gY2wodCl7cmV0dXJuIHQuY2hpbGRyZW59ZnVuY3Rpb24gc2wodCl7dC5kYXRhPXQuZGF0YS5kYXRhfWZ1bmN0aW9uIGxsKHQpe3ZhciBuPTA7ZG97dC5oZWlnaHQ9bn13aGlsZSgodD10LnBhcmVudCkmJnQuaGVpZ2h0PCsrbil9ZnVuY3Rpb24gaGwodCl7dGhpcy5kYXRhPXQsdGhpcy5kZXB0aD10aGlzLmhlaWdodD0wLHRoaXMucGFyZW50PW51bGx9UXMuaW52ZXJ0PWZ1bmN0aW9uKHQsbil7Zm9yKHZhciBlLHI9bixpPXIqcixvPWkqaSppLGE9MDthPDEyJiYobz0oaT0oci09ZT0ociooR3MrVnMqaStvKigkcytXcyppKSktbikvKEdzKzMqVnMqaStvKig3KiRzKzkqV3MqaSkpKSpyKSppKmksIShIYShlKTxVYSkpOysrYSk7cmV0dXJuW1pzKnQqKEdzKzMqVnMqaStvKig3KiRzKzkqV3MqaSkpL0dhKHIpLGV1KFFhKHIpL1pzKV19LEpzLmludmVydD1xcyhqYSksdGwuaW52ZXJ0PWZ1bmN0aW9uKHQsbil7dmFyIGUscj1uLGk9MjU7ZG97dmFyIG89cipyLGE9bypvO3ItPWU9KHIqKDEuMDA3MjI2K28qKC4wMTUwODUrYSooLjAyODg3NCpvLS4wNDQ0NzUtLjAwNTkxNiphKSkpLW4pLygxLjAwNzIyNitvKiguMDQ1MjU1K2EqKC4yNTk4NjYqby0uMzExMzI1LS4wMDU5MTYqMTEqYSkpKX13aGlsZShIYShlKT5EYSYmLS1pPjApO3JldHVyblt0LyguODcwNysobz1yKnIpKihvKihvKm8qbyooLjAwMzk3MS0uMDAxNTI5Km8pLS4wMTM3OTEpLS4xMzE5NzkpKSxyXX0sbmwuaW52ZXJ0PXFzKGV1KSxlbC5pbnZlcnQ9cXMoZnVuY3Rpb24odCl7cmV0dXJuIDIqamEodCl9KSxybC5pbnZlcnQ9ZnVuY3Rpb24odCxuKXtyZXR1cm5bLW4sMipqYSgkYSh0KSktT2FdfSxobC5wcm90b3R5cGU9ZmwucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpobCxjb3VudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2hBZnRlcih1bCl9LGVhY2g6ZnVuY3Rpb24odCl7dmFyIG4sZSxyLGksbz10aGlzLGE9W29dO2Rve2ZvcihuPWEucmV2ZXJzZSgpLGE9W107bz1uLnBvcCgpOylpZih0KG8pLGU9by5jaGlsZHJlbilmb3Iocj0wLGk9ZS5sZW5ndGg7cjxpOysrcilhLnB1c2goZVtyXSl9d2hpbGUoYS5sZW5ndGgpO3JldHVybiB0aGlzfSxlYWNoQWZ0ZXI6ZnVuY3Rpb24odCl7Zm9yKHZhciBuLGUscixpPXRoaXMsbz1baV0sYT1bXTtpPW8ucG9wKCk7KWlmKGEucHVzaChpKSxuPWkuY2hpbGRyZW4pZm9yKGU9MCxyPW4ubGVuZ3RoO2U8cjsrK2Upby5wdXNoKG5bZV0pO2Zvcig7aT1hLnBvcCgpOyl0KGkpO3JldHVybiB0aGlzfSxlYWNoQmVmb3JlOmZ1bmN0aW9uKHQpe2Zvcih2YXIgbixlLHI9dGhpcyxpPVtyXTtyPWkucG9wKCk7KWlmKHQociksbj1yLmNoaWxkcmVuKWZvcihlPW4ubGVuZ3RoLTE7ZT49MDstLWUpaS5wdXNoKG5bZV0pO3JldHVybiB0aGlzfSxzdW06ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZWFjaEFmdGVyKGZ1bmN0aW9uKG4pe2Zvcih2YXIgZT0rdChuLmRhdGEpfHwwLHI9bi5jaGlsZHJlbixpPXImJnIubGVuZ3RoOy0taT49MDspZSs9cltpXS52YWx1ZTtuLnZhbHVlPWV9KX0sc29ydDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lYWNoQmVmb3JlKGZ1bmN0aW9uKG4pe24uY2hpbGRyZW4mJm4uY2hpbGRyZW4uc29ydCh0KX0pfSxwYXRoOmZ1bmN0aW9uKHQpe2Zvcih2YXIgbj10aGlzLGU9ZnVuY3Rpb24odCxuKXtpZih0PT09bilyZXR1cm4gdDt2YXIgZT10LmFuY2VzdG9ycygpLHI9bi5hbmNlc3RvcnMoKSxpPW51bGw7Zm9yKHQ9ZS5wb3AoKSxuPXIucG9wKCk7dD09PW47KWk9dCx0PWUucG9wKCksbj1yLnBvcCgpO3JldHVybiBpfShuLHQpLHI9W25dO24hPT1lOyluPW4ucGFyZW50LHIucHVzaChuKTtmb3IodmFyIGk9ci5sZW5ndGg7dCE9PWU7KXIuc3BsaWNlKGksMCx0KSx0PXQucGFyZW50O3JldHVybiByfSxhbmNlc3RvcnM6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcyxuPVt0XTt0PXQucGFyZW50OyluLnB1c2godCk7cmV0dXJuIG59LGRlc2NlbmRhbnRzOmZ1bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihuKXt0LnB1c2gobil9KSx0fSxsZWF2ZXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy5lYWNoQmVmb3JlKGZ1bmN0aW9uKG4pe24uY2hpbGRyZW58fHQucHVzaChuKX0pLHR9LGxpbmtzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxuPVtdO3JldHVybiB0LmVhY2goZnVuY3Rpb24oZSl7ZSE9PXQmJm4ucHVzaCh7c291cmNlOmUucGFyZW50LHRhcmdldDplfSl9KSxufSxjb3B5OmZ1bmN0aW9uKCl7cmV0dXJuIGZsKHRoaXMpLmVhY2hCZWZvcmUoc2wpfX07dmFyIGRsPUFycmF5LnByb3RvdHlwZS5zbGljZTtmdW5jdGlvbiBwbCh0KXtmb3IodmFyIG4sZSxyPTAsaT0odD1mdW5jdGlvbih0KXtmb3IodmFyIG4sZSxyPXQubGVuZ3RoO3I7KWU9TWF0aC5yYW5kb20oKSpyLS18MCxuPXRbcl0sdFtyXT10W2VdLHRbZV09bjtyZXR1cm4gdH0oZGwuY2FsbCh0KSkpLmxlbmd0aCxvPVtdO3I8aTspbj10W3JdLGUmJnlsKGUsbik/KytyOihlPWJsKG89dmwobyxuKSkscj0wKTtyZXR1cm4gZX1mdW5jdGlvbiB2bCh0LG4pe3ZhciBlLHI7aWYoX2wobix0KSlyZXR1cm5bbl07Zm9yKGU9MDtlPHQubGVuZ3RoOysrZSlpZihnbChuLHRbZV0pJiZfbChtbCh0W2VdLG4pLHQpKXJldHVyblt0W2VdLG5dO2ZvcihlPTA7ZTx0Lmxlbmd0aC0xOysrZSlmb3Iocj1lKzE7cjx0Lmxlbmd0aDsrK3IpaWYoZ2wobWwodFtlXSx0W3JdKSxuKSYmZ2wobWwodFtlXSxuKSx0W3JdKSYmZ2wobWwodFtyXSxuKSx0W2VdKSYmX2woeGwodFtlXSx0W3JdLG4pLHQpKXJldHVyblt0W2VdLHRbcl0sbl07dGhyb3cgbmV3IEVycm9yfWZ1bmN0aW9uIGdsKHQsbil7dmFyIGU9dC5yLW4ucixyPW4ueC10LngsaT1uLnktdC55O3JldHVybiBlPDB8fGUqZTxyKnIraSppfWZ1bmN0aW9uIHlsKHQsbil7dmFyIGU9dC5yLW4ucisxZS02LHI9bi54LXQueCxpPW4ueS10Lnk7cmV0dXJuIGU+MCYmZSplPnIqcitpKml9ZnVuY3Rpb24gX2wodCxuKXtmb3IodmFyIGU9MDtlPG4ubGVuZ3RoOysrZSlpZigheWwodCxuW2VdKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBibCh0KXtzd2l0Y2godC5sZW5ndGgpe2Nhc2UgMTpyZXR1cm57eDoobj10WzBdKS54LHk6bi55LHI6bi5yfTtjYXNlIDI6cmV0dXJuIG1sKHRbMF0sdFsxXSk7Y2FzZSAzOnJldHVybiB4bCh0WzBdLHRbMV0sdFsyXSl9dmFyIG59ZnVuY3Rpb24gbWwodCxuKXt2YXIgZT10Lngscj10LnksaT10LnIsbz1uLngsYT1uLnksdT1uLnIsZj1vLWUsYz1hLXIscz11LWksbD1NYXRoLnNxcnQoZipmK2MqYyk7cmV0dXJue3g6KGUrbytmL2wqcykvMix5OihyK2ErYy9sKnMpLzIscjoobCtpK3UpLzJ9fWZ1bmN0aW9uIHhsKHQsbixlKXt2YXIgcj10LngsaT10Lnksbz10LnIsYT1uLngsdT1uLnksZj1uLnIsYz1lLngscz1lLnksbD1lLnIsaD1yLWEsZD1yLWMscD1pLXUsdj1pLXMsZz1mLW8seT1sLW8sXz1yKnIraSppLW8qbyxiPV8tYSphLXUqdStmKmYsbT1fLWMqYy1zKnMrbCpsLHg9ZCpwLWgqdix3PShwKm0tdipiKS8oMip4KS1yLE09KHYqZy1wKnkpL3gsQT0oZCpiLWgqbSkvKDIqeCktaSxUPShoKnktZCpnKS94LE49TSpNK1QqVC0xLFM9Mioobyt3Kk0rQSpUKSxFPXcqdytBKkEtbypvLGs9LShOPyhTK01hdGguc3FydChTKlMtNCpOKkUpKS8oMipOKTpFL1MpO3JldHVybnt4OnIrdytNKmsseTppK0ErVCprLHI6a319ZnVuY3Rpb24gd2wodCxuLGUpe3ZhciByLGksbyxhLHU9dC54LW4ueCxmPXQueS1uLnksYz11KnUrZipmO2M/KGk9bi5yK2UucixpKj1pLGE9dC5yK2UucixpPihhKj1hKT8ocj0oYythLWkpLygyKmMpLG89TWF0aC5zcXJ0KE1hdGgubWF4KDAsYS9jLXIqcikpLGUueD10Lngtcip1LW8qZixlLnk9dC55LXIqZitvKnUpOihyPShjK2ktYSkvKDIqYyksbz1NYXRoLnNxcnQoTWF0aC5tYXgoMCxpL2MtcipyKSksZS54PW4ueCtyKnUtbypmLGUueT1uLnkrcipmK28qdSkpOihlLng9bi54K2UucixlLnk9bi55KX1mdW5jdGlvbiBNbCh0LG4pe3ZhciBlPXQucituLnItMWUtNixyPW4ueC10LngsaT1uLnktdC55O3JldHVybiBlPjAmJmUqZT5yKnIraSppfWZ1bmN0aW9uIEFsKHQpe3ZhciBuPXQuXyxlPXQubmV4dC5fLHI9bi5yK2UucixpPShuLngqZS5yK2UueCpuLnIpL3Isbz0obi55KmUucitlLnkqbi5yKS9yO3JldHVybiBpKmkrbypvfWZ1bmN0aW9uIFRsKHQpe3RoaXMuXz10LHRoaXMubmV4dD1udWxsLHRoaXMucHJldmlvdXM9bnVsbH1mdW5jdGlvbiBObCh0KXtpZighKGk9dC5sZW5ndGgpKXJldHVybiAwO3ZhciBuLGUscixpLG8sYSx1LGYsYyxzLGw7aWYoKG49dFswXSkueD0wLG4ueT0wLCEoaT4xKSlyZXR1cm4gbi5yO2lmKGU9dFsxXSxuLng9LWUucixlLng9bi5yLGUueT0wLCEoaT4yKSlyZXR1cm4gbi5yK2Uucjt3bChlLG4scj10WzJdKSxuPW5ldyBUbChuKSxlPW5ldyBUbChlKSxyPW5ldyBUbChyKSxuLm5leHQ9ci5wcmV2aW91cz1lLGUubmV4dD1uLnByZXZpb3VzPXIsci5uZXh0PWUucHJldmlvdXM9bjt0OmZvcih1PTM7dTxpOysrdSl7d2wobi5fLGUuXyxyPXRbdV0pLHI9bmV3IFRsKHIpLGY9ZS5uZXh0LGM9bi5wcmV2aW91cyxzPWUuXy5yLGw9bi5fLnI7ZG97aWYoczw9bCl7aWYoTWwoZi5fLHIuXykpe2U9ZixuLm5leHQ9ZSxlLnByZXZpb3VzPW4sLS11O2NvbnRpbnVlIHR9cys9Zi5fLnIsZj1mLm5leHR9ZWxzZXtpZihNbChjLl8sci5fKSl7KG49YykubmV4dD1lLGUucHJldmlvdXM9biwtLXU7Y29udGludWUgdH1sKz1jLl8ucixjPWMucHJldmlvdXN9fXdoaWxlKGYhPT1jLm5leHQpO2ZvcihyLnByZXZpb3VzPW4sci5uZXh0PWUsbi5uZXh0PWUucHJldmlvdXM9ZT1yLG89QWwobik7KHI9ci5uZXh0KSE9PWU7KShhPUFsKHIpKTxvJiYobj1yLG89YSk7ZT1uLm5leHR9Zm9yKG49W2UuX10scj1lOyhyPXIubmV4dCkhPT1lOyluLnB1c2goci5fKTtmb3Iocj1wbChuKSx1PTA7dTxpOysrdSkobj10W3VdKS54LT1yLngsbi55LT1yLnk7cmV0dXJuIHIucn1mdW5jdGlvbiBTbCh0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHR9ZnVuY3Rpb24gRWwoKXtyZXR1cm4gMH1mdW5jdGlvbiBrbCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gQ2wodCl7cmV0dXJuIE1hdGguc3FydCh0LnZhbHVlKX1mdW5jdGlvbiBQbCh0KXtyZXR1cm4gZnVuY3Rpb24obil7bi5jaGlsZHJlbnx8KG4ucj1NYXRoLm1heCgwLCt0KG4pfHwwKSl9fWZ1bmN0aW9uIHpsKHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKHI9ZS5jaGlsZHJlbil7dmFyIHIsaSxvLGE9ci5sZW5ndGgsdT10KGUpKm58fDA7aWYodSlmb3IoaT0wO2k8YTsrK2kpcltpXS5yKz11O2lmKG89TmwociksdSlmb3IoaT0wO2k8YTsrK2kpcltpXS5yLT11O2Uucj1vK3V9fX1mdW5jdGlvbiBSbCh0KXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGU9bi5wYXJlbnQ7bi5yKj10LGUmJihuLng9ZS54K3Qqbi54LG4ueT1lLnkrdCpuLnkpfX1mdW5jdGlvbiBMbCh0KXt0LngwPU1hdGgucm91bmQodC54MCksdC55MD1NYXRoLnJvdW5kKHQueTApLHQueDE9TWF0aC5yb3VuZCh0LngxKSx0LnkxPU1hdGgucm91bmQodC55MSl9ZnVuY3Rpb24gRGwodCxuLGUscixpKXtmb3IodmFyIG8sYT10LmNoaWxkcmVuLHU9LTEsZj1hLmxlbmd0aCxjPXQudmFsdWUmJihyLW4pL3QudmFsdWU7Kyt1PGY7KShvPWFbdV0pLnkwPWUsby55MT1pLG8ueDA9bixvLngxPW4rPW8udmFsdWUqY312YXIgVWw9IiQiLHFsPXtkZXB0aDotMX0sT2w9e307ZnVuY3Rpb24gWWwodCl7cmV0dXJuIHQuaWR9ZnVuY3Rpb24gQmwodCl7cmV0dXJuIHQucGFyZW50SWR9ZnVuY3Rpb24gRmwodCxuKXtyZXR1cm4gdC5wYXJlbnQ9PT1uLnBhcmVudD8xOjJ9ZnVuY3Rpb24gSWwodCl7dmFyIG49dC5jaGlsZHJlbjtyZXR1cm4gbj9uWzBdOnQudH1mdW5jdGlvbiBIbCh0KXt2YXIgbj10LmNoaWxkcmVuO3JldHVybiBuP25bbi5sZW5ndGgtMV06dC50fWZ1bmN0aW9uIGpsKHQsbixlKXt2YXIgcj1lLyhuLmktdC5pKTtuLmMtPXIsbi5zKz1lLHQuYys9cixuLnorPWUsbi5tKz1lfWZ1bmN0aW9uIFhsKHQsbixlKXtyZXR1cm4gdC5hLnBhcmVudD09PW4ucGFyZW50P3QuYTplfWZ1bmN0aW9uIEdsKHQsbil7dGhpcy5fPXQsdGhpcy5wYXJlbnQ9bnVsbCx0aGlzLmNoaWxkcmVuPW51bGwsdGhpcy5BPW51bGwsdGhpcy5hPXRoaXMsdGhpcy56PTAsdGhpcy5tPTAsdGhpcy5jPTAsdGhpcy5zPTAsdGhpcy50PW51bGwsdGhpcy5pPW59ZnVuY3Rpb24gVmwodCxuLGUscixpKXtmb3IodmFyIG8sYT10LmNoaWxkcmVuLHU9LTEsZj1hLmxlbmd0aCxjPXQudmFsdWUmJihpLWUpL3QudmFsdWU7Kyt1PGY7KShvPWFbdV0pLngwPW4sby54MT1yLG8ueTA9ZSxvLnkxPWUrPW8udmFsdWUqY31HbC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShobC5wcm90b3R5cGUpO3ZhciAkbD0oMStNYXRoLnNxcnQoNSkpLzI7ZnVuY3Rpb24gV2wodCxuLGUscixpLG8pe2Zvcih2YXIgYSx1LGYsYyxzLGwsaCxkLHAsdixnLHk9W10sXz1uLmNoaWxkcmVuLGI9MCxtPTAseD1fLmxlbmd0aCx3PW4udmFsdWU7Yjx4Oyl7Zj1pLWUsYz1vLXI7ZG97cz1fW20rK10udmFsdWV9d2hpbGUoIXMmJm08eCk7Zm9yKGw9aD1zLGc9cypzKih2PU1hdGgubWF4KGMvZixmL2MpLyh3KnQpKSxwPU1hdGgubWF4KGgvZyxnL2wpO208eDsrK20pe2lmKHMrPXU9X1ttXS52YWx1ZSx1PGwmJihsPXUpLHU+aCYmKGg9dSksZz1zKnMqdiwoZD1NYXRoLm1heChoL2csZy9sKSk+cCl7cy09dTticmVha31wPWR9eS5wdXNoKGE9e3ZhbHVlOnMsZGljZTpmPGMsY2hpbGRyZW46Xy5zbGljZShiLG0pfSksYS5kaWNlP0RsKGEsZSxyLGksdz9yKz1jKnMvdzpvKTpWbChhLGUscix3P2UrPWYqcy93Omksbyksdy09cyxiPW19cmV0dXJuIHl9dmFyIFpsPWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSh0LGUscixpLG8pe1dsKG4sdCxlLHIsaSxvKX1yZXR1cm4gZS5yYXRpbz1mdW5jdGlvbihuKXtyZXR1cm4gdCgobj0rbik+MT9uOjEpfSxlfSgkbCk7dmFyIFFsPWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSh0LGUscixpLG8pe2lmKChhPXQuX3NxdWFyaWZ5KSYmYS5yYXRpbz09PW4pZm9yKHZhciBhLHUsZixjLHMsbD0tMSxoPWEubGVuZ3RoLGQ9dC52YWx1ZTsrK2w8aDspe2ZvcihmPSh1PWFbbF0pLmNoaWxkcmVuLGM9dS52YWx1ZT0wLHM9Zi5sZW5ndGg7YzxzOysrYyl1LnZhbHVlKz1mW2NdLnZhbHVlO3UuZGljZT9EbCh1LGUscixpLHIrPShvLXIpKnUudmFsdWUvZCk6VmwodSxlLHIsZSs9KGktZSkqdS52YWx1ZS9kLG8pLGQtPXUudmFsdWV9ZWxzZSB0Ll9zcXVhcmlmeT1hPVdsKG4sdCxlLHIsaSxvKSxhLnJhdGlvPW59cmV0dXJuIGUucmF0aW89ZnVuY3Rpb24obil7cmV0dXJuIHQoKG49K24pPjE/bjoxKX0sZX0oJGwpO2Z1bmN0aW9uIEpsKHQsbil7cmV0dXJuIHRbMF0tblswXXx8dFsxXS1uWzFdfWZ1bmN0aW9uIEtsKHQpe2Zvcih2YXIgbixlLHIsaT10Lmxlbmd0aCxvPVswLDFdLGE9Mix1PTI7dTxpOysrdSl7Zm9yKDthPjEmJihuPXRbb1thLTJdXSxlPXRbb1thLTFdXSxyPXRbdV0sKGVbMF0tblswXSkqKHJbMV0tblsxXSktKGVbMV0tblsxXSkqKHJbMF0tblswXSk8PTApOyktLWE7b1thKytdPXV9cmV0dXJuIG8uc2xpY2UoMCxhKX1mdW5jdGlvbiB0aCgpe3JldHVybiBNYXRoLnJhbmRvbSgpfXZhciBuaD1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCxlKXtyZXR1cm4gdD1udWxsPT10PzA6K3QsZT1udWxsPT1lPzE6K2UsMT09PWFyZ3VtZW50cy5sZW5ndGg/KGU9dCx0PTApOmUtPXQsZnVuY3Rpb24oKXtyZXR1cm4gbigpKmUrdH19cmV0dXJuIGUuc291cmNlPXQsZX0odGgpLGVoPWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSh0LGUpe3ZhciByLGk7cmV0dXJuIHQ9bnVsbD09dD8wOit0LGU9bnVsbD09ZT8xOitlLGZ1bmN0aW9uKCl7dmFyIG87aWYobnVsbCE9cilvPXIscj1udWxsO2Vsc2UgZG97cj0yKm4oKS0xLG89MipuKCktMSxpPXIqcitvKm99d2hpbGUoIWl8fGk+MSk7cmV0dXJuIHQrZSpvKk1hdGguc3FydCgtMipNYXRoLmxvZyhpKS9pKX19cmV0dXJuIGUuc291cmNlPXQsZX0odGgpLHJoPWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSgpe3ZhciB0PWVoLnNvdXJjZShuKS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguZXhwKHQoKSl9fXJldHVybiBlLnNvdXJjZT10LGV9KHRoKSxpaD1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTAscj0wO3I8dDsrK3IpZSs9bigpO3JldHVybiBlfX1yZXR1cm4gZS5zb3VyY2U9dCxlfSh0aCksb2g9ZnVuY3Rpb24gdChuKXtmdW5jdGlvbiBlKHQpe3ZhciBlPWloLnNvdXJjZShuKSh0KTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZSgpL3R9fXJldHVybiBlLnNvdXJjZT10LGV9KHRoKSxhaD1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuLU1hdGgubG9nKDEtbigpKS90fX1yZXR1cm4gZS5zb3VyY2U9dCxlfSh0aCksdWg9QXJyYXkucHJvdG90eXBlLGZoPXVoLm1hcCxjaD11aC5zbGljZSxzaD17bmFtZToiaW1wbGljaXQifTtmdW5jdGlvbiBsaCh0KXt2YXIgbj1LaSgpLGU9W10scj1zaDtmdW5jdGlvbiBpKGkpe3ZhciBvPWkrIiIsYT1uLmdldChvKTtpZighYSl7aWYociE9PXNoKXJldHVybiByO24uc2V0KG8sYT1lLnB1c2goaSkpfXJldHVybiB0WyhhLTEpJXQubGVuZ3RoXX1yZXR1cm4gdD1udWxsPT10P1tdOmNoLmNhbGwodCksaS5kb21haW49ZnVuY3Rpb24odCl7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGUuc2xpY2UoKTtlPVtdLG49S2koKTtmb3IodmFyIHIsbyxhPS0xLHU9dC5sZW5ndGg7KythPHU7KW4uaGFzKG89KHI9dFthXSkrIiIpfHxuLnNldChvLGUucHVzaChyKSk7cmV0dXJuIGl9LGkucmFuZ2U9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9Y2guY2FsbChuKSxpKTp0LnNsaWNlKCl9LGkudW5rbm93bj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LGkpOnJ9LGkuY29weT1mdW5jdGlvbigpe3JldHVybiBsaCgpLmRvbWFpbihlKS5yYW5nZSh0KS51bmtub3duKHIpfSxpfWZ1bmN0aW9uIGhoKCl7dmFyIHQsbixlPWxoKCkudW5rbm93bih2b2lkIDApLHI9ZS5kb21haW4saT1lLnJhbmdlLG89WzAsMV0sYT0hMSx1PTAsZj0wLGM9LjU7ZnVuY3Rpb24gcygpe3ZhciBlPXIoKS5sZW5ndGgscz1vWzFdPG9bMF0sbD1vW3MtMF0saD1vWzEtc107dD0oaC1sKS9NYXRoLm1heCgxLGUtdSsyKmYpLGEmJih0PU1hdGguZmxvb3IodCkpLGwrPShoLWwtdCooZS11KSkqYyxuPXQqKDEtdSksYSYmKGw9TWF0aC5yb3VuZChsKSxuPU1hdGgucm91bmQobikpO3ZhciBkPWcoZSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBsK3Qqbn0pO3JldHVybiBpKHM/ZC5yZXZlcnNlKCk6ZCl9cmV0dXJuIGRlbGV0ZSBlLnVua25vd24sZS5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHIodCkscygpKTpyKCl9LGUucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89Wyt0WzBdLCt0WzFdXSxzKCkpOm8uc2xpY2UoKX0sZS5yYW5nZVJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBvPVsrdFswXSwrdFsxXV0sYT0hMCxzKCl9LGUuYmFuZHdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIG59LGUuc3RlcD1mdW5jdGlvbigpe3JldHVybiB0fSxlLnJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSEhdCxzKCkpOmF9LGUucGFkZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odT1mPU1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSkscygpKTp1fSxlLnBhZGRpbmdJbm5lcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odT1NYXRoLm1heCgwLE1hdGgubWluKDEsdCkpLHMoKSk6dX0sZS5wYWRkaW5nT3V0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGY9TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKSxzKCkpOmZ9LGUuYWxpZ249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGM9TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKSxzKCkpOmN9LGUuY29weT1mdW5jdGlvbigpe3JldHVybiBoaCgpLmRvbWFpbihyKCkpLnJhbmdlKG8pLnJvdW5kKGEpLnBhZGRpbmdJbm5lcih1KS5wYWRkaW5nT3V0ZXIoZikuYWxpZ24oYyl9LHMoKX1mdW5jdGlvbiBkaCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gcGgodCl7cmV0dXJuK3R9dmFyIHZoPVswLDFdO2Z1bmN0aW9uIGdoKHQsbil7cmV0dXJuKG4tPXQ9K3QpP2Z1bmN0aW9uKGUpe3JldHVybihlLXQpL259OmRoKG4pfWZ1bmN0aW9uIHloKHQsbixlLHIpe3ZhciBpPXRbMF0sbz10WzFdLGE9blswXSx1PW5bMV07cmV0dXJuIG88aT8oaT1lKG8saSksYT1yKHUsYSkpOihpPWUoaSxvKSxhPXIoYSx1KSksZnVuY3Rpb24odCl7cmV0dXJuIGEoaSh0KSl9fWZ1bmN0aW9uIF9oKHQsbixlLHIpe3ZhciBvPU1hdGgubWluKHQubGVuZ3RoLG4ubGVuZ3RoKS0xLGE9bmV3IEFycmF5KG8pLHU9bmV3IEFycmF5KG8pLGY9LTE7Zm9yKHRbb108dFswXSYmKHQ9dC5zbGljZSgpLnJldmVyc2UoKSxuPW4uc2xpY2UoKS5yZXZlcnNlKCkpOysrZjxvOylhW2ZdPWUodFtmXSx0W2YrMV0pLHVbZl09cihuW2ZdLG5bZisxXSk7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciBlPWkodCxuLDEsbyktMTtyZXR1cm4gdVtlXShhW2VdKG4pKX19ZnVuY3Rpb24gYmgodCxuKXtyZXR1cm4gbi5kb21haW4odC5kb21haW4oKSkucmFuZ2UodC5yYW5nZSgpKS5pbnRlcnBvbGF0ZSh0LmludGVycG9sYXRlKCkpLmNsYW1wKHQuY2xhbXAoKSl9ZnVuY3Rpb24gbWgodCxuKXt2YXIgZSxyLGksbz12aCxhPXZoLHU9bWUsZj0hMTtmdW5jdGlvbiBjKCl7cmV0dXJuIGU9TWF0aC5taW4oby5sZW5ndGgsYS5sZW5ndGgpPjI/X2g6eWgscj1pPW51bGwsc31mdW5jdGlvbiBzKG4pe3JldHVybihyfHwocj1lKG8sYSxmP2Z1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuLGUpe3ZhciByPXQobj0rbixlPStlKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIHQ8PW4/MDp0Pj1lPzE6cih0KX19fSh0KTp0LHUpKSkoK24pfXJldHVybiBzLmludmVydD1mdW5jdGlvbih0KXtyZXR1cm4oaXx8KGk9ZShhLG8sZ2gsZj9mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obixlKXt2YXIgcj10KG49K24sZT0rZSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0PD0wP246dD49MT9lOnIodCl9fX0obik6bikpKSgrdCl9LHMuZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPWZoLmNhbGwodCxwaCksYygpKTpvLnNsaWNlKCl9LHMucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9Y2guY2FsbCh0KSxjKCkpOmEuc2xpY2UoKX0scy5yYW5nZVJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBhPWNoLmNhbGwodCksdT14ZSxjKCl9LHMuY2xhbXA9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGY9ISF0LGMoKSk6Zn0scy5pbnRlcnBvbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odT10LGMoKSk6dX0sYygpfWZ1bmN0aW9uIHhoKG4pe3ZhciBlPW4uZG9tYWluO3JldHVybiBuLnRpY2tzPWZ1bmN0aW9uKHQpe3ZhciBuPWUoKTtyZXR1cm4gbShuWzBdLG5bbi5sZW5ndGgtMV0sbnVsbD09dD8xMDp0KX0sbi50aWNrRm9ybWF0PWZ1bmN0aW9uKG4scil7cmV0dXJuIGZ1bmN0aW9uKG4sZSxyKXt2YXIgaSxvPW5bMF0sYT1uW24ubGVuZ3RoLTFdLHU9dyhvLGEsbnVsbD09ZT8xMDplKTtzd2l0Y2goKHI9YmEobnVsbD09cj8iLGYiOnIpKS50eXBlKXtjYXNlInMiOnZhciBmPU1hdGgubWF4KE1hdGguYWJzKG8pLE1hdGguYWJzKGEpKTtyZXR1cm4gbnVsbCE9ci5wcmVjaXNpb258fGlzTmFOKGk9a2EodSxmKSl8fChyLnByZWNpc2lvbj1pKSx0LmZvcm1hdFByZWZpeChyLGYpO2Nhc2UiIjpjYXNlImUiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlInIiOm51bGwhPXIucHJlY2lzaW9ufHxpc05hTihpPUNhKHUsTWF0aC5tYXgoTWF0aC5hYnMobyksTWF0aC5hYnMoYSkpKSl8fChyLnByZWNpc2lvbj1pLSgiZSI9PT1yLnR5cGUpKTticmVhaztjYXNlImYiOmNhc2UiJSI6bnVsbCE9ci5wcmVjaXNpb258fGlzTmFOKGk9RWEodSkpfHwoci5wcmVjaXNpb249aS0yKigiJSI9PT1yLnR5cGUpKX1yZXR1cm4gdC5mb3JtYXQocil9KGUoKSxuLHIpfSxuLm5pY2U9ZnVuY3Rpb24odCl7bnVsbD09dCYmKHQ9MTApO3ZhciByLGk9ZSgpLG89MCxhPWkubGVuZ3RoLTEsdT1pW29dLGY9aVthXTtyZXR1cm4gZjx1JiYocj11LHU9ZixmPXIscj1vLG89YSxhPXIpLChyPXgodSxmLHQpKT4wP3I9eCh1PU1hdGguZmxvb3IodS9yKSpyLGY9TWF0aC5jZWlsKGYvcikqcix0KTpyPDAmJihyPXgodT1NYXRoLmNlaWwodSpyKS9yLGY9TWF0aC5mbG9vcihmKnIpL3IsdCkpLHI+MD8oaVtvXT1NYXRoLmZsb29yKHUvcikqcixpW2FdPU1hdGguY2VpbChmL3IpKnIsZShpKSk6cjwwJiYoaVtvXT1NYXRoLmNlaWwodSpyKS9yLGlbYV09TWF0aC5mbG9vcihmKnIpL3IsZShpKSksbn0sbn1mdW5jdGlvbiB3aCh0LG4pe3ZhciBlLHI9MCxpPSh0PXQuc2xpY2UoKSkubGVuZ3RoLTEsbz10W3JdLGE9dFtpXTtyZXR1cm4gYTxvJiYoZT1yLHI9aSxpPWUsZT1vLG89YSxhPWUpLHRbcl09bi5mbG9vcihvKSx0W2ldPW4uY2VpbChhKSx0fWZ1bmN0aW9uIE1oKHQsbil7cmV0dXJuKG49TWF0aC5sb2cobi90KSk/ZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGgubG9nKGUvdCkvbn06ZGgobil9ZnVuY3Rpb24gQWgodCxuKXtyZXR1cm4gdDwwP2Z1bmN0aW9uKGUpe3JldHVybi1NYXRoLnBvdygtbixlKSpNYXRoLnBvdygtdCwxLWUpfTpmdW5jdGlvbihlKXtyZXR1cm4gTWF0aC5wb3cobixlKSpNYXRoLnBvdyh0LDEtZSl9fWZ1bmN0aW9uIFRoKHQpe3JldHVybiBpc0Zpbml0ZSh0KT8rKCIxZSIrdCk6dDwwPzA6dH1mdW5jdGlvbiBOaCh0KXtyZXR1cm4gMTA9PT10P1RoOnQ9PT1NYXRoLkU/TWF0aC5leHA6ZnVuY3Rpb24obil7cmV0dXJuIE1hdGgucG93KHQsbil9fWZ1bmN0aW9uIFNoKHQpe3JldHVybiB0PT09TWF0aC5FP01hdGgubG9nOjEwPT09dCYmTWF0aC5sb2cxMHx8Mj09PXQmJk1hdGgubG9nMnx8KHQ9TWF0aC5sb2codCksZnVuY3Rpb24obil7cmV0dXJuIE1hdGgubG9nKG4pL3R9KX1mdW5jdGlvbiBFaCh0KXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuLXQoLW4pfX1mdW5jdGlvbiBraCh0LG4pe3JldHVybiB0PDA/LU1hdGgucG93KC10LG4pOk1hdGgucG93KHQsbil9ZnVuY3Rpb24gQ2goKXt2YXIgdD0xLG49bWgoZnVuY3Rpb24obixlKXtyZXR1cm4oZT1raChlLHQpLShuPWtoKG4sdCkpKT9mdW5jdGlvbihyKXtyZXR1cm4oa2gocix0KS1uKS9lfTpkaChlKX0sZnVuY3Rpb24obixlKXtyZXR1cm4gZT1raChlLHQpLShuPWtoKG4sdCkpLGZ1bmN0aW9uKHIpe3JldHVybiBraChuK2UqciwxL3QpfX0pLGU9bi5kb21haW47cmV0dXJuIG4uZXhwb25lbnQ9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9K24sZShlKCkpKTp0fSxuLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gYmgobixDaCgpLmV4cG9uZW50KHQpKX0seGgobil9dmFyIFBoPW5ldyBEYXRlLHpoPW5ldyBEYXRlO2Z1bmN0aW9uIFJoKHQsbixlLHIpe2Z1bmN0aW9uIGkobil7cmV0dXJuIHQobj1uZXcgRGF0ZSgrbikpLG59cmV0dXJuIGkuZmxvb3I9aSxpLmNlaWw9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoZT1uZXcgRGF0ZShlLTEpKSxuKGUsMSksdChlKSxlfSxpLnJvdW5kPWZ1bmN0aW9uKHQpe3ZhciBuPWkodCksZT1pLmNlaWwodCk7cmV0dXJuIHQtbjxlLXQ/bjplfSxpLm9mZnNldD1mdW5jdGlvbih0LGUpe3JldHVybiBuKHQ9bmV3IERhdGUoK3QpLG51bGw9PWU/MTpNYXRoLmZsb29yKGUpKSx0fSxpLnJhbmdlPWZ1bmN0aW9uKGUscixvKXt2YXIgYSx1PVtdO2lmKGU9aS5jZWlsKGUpLG89bnVsbD09bz8xOk1hdGguZmxvb3IobyksIShlPHImJm8+MCkpcmV0dXJuIHU7ZG97dS5wdXNoKGE9bmV3IERhdGUoK2UpKSxuKGUsbyksdChlKX13aGlsZShhPGUmJmU8cik7cmV0dXJuIHV9LGkuZmlsdGVyPWZ1bmN0aW9uKGUpe3JldHVybiBSaChmdW5jdGlvbihuKXtpZihuPj1uKWZvcig7dChuKSwhZShuKTspbi5zZXRUaW1lKG4tMSl9LGZ1bmN0aW9uKHQscil7aWYodD49dClpZihyPDApZm9yKDsrK3I8PTA7KWZvcig7bih0LC0xKSwhZSh0KTspO2Vsc2UgZm9yKDstLXI+PTA7KWZvcig7bih0LDEpLCFlKHQpOyk7fSl9LGUmJihpLmNvdW50PWZ1bmN0aW9uKG4scil7cmV0dXJuIFBoLnNldFRpbWUoK24pLHpoLnNldFRpbWUoK3IpLHQoUGgpLHQoemgpLE1hdGguZmxvb3IoZShQaCx6aCkpfSxpLmV2ZXJ5PWZ1bmN0aW9uKHQpe3JldHVybiB0PU1hdGguZmxvb3IodCksaXNGaW5pdGUodCkmJnQ+MD90PjE/aS5maWx0ZXIocj9mdW5jdGlvbihuKXtyZXR1cm4gcihuKSV0PT0wfTpmdW5jdGlvbihuKXtyZXR1cm4gaS5jb3VudCgwLG4pJXQ9PTB9KTppOm51bGx9KSxpfXZhciBMaD1SaChmdW5jdGlvbigpe30sZnVuY3Rpb24odCxuKXt0LnNldFRpbWUoK3Qrbil9LGZ1bmN0aW9uKHQsbil7cmV0dXJuIG4tdH0pO0xoLmV2ZXJ5PWZ1bmN0aW9uKHQpe3JldHVybiB0PU1hdGguZmxvb3IodCksaXNGaW5pdGUodCkmJnQ+MD90PjE/UmgoZnVuY3Rpb24obil7bi5zZXRUaW1lKE1hdGguZmxvb3Iobi90KSp0KX0sZnVuY3Rpb24obixlKXtuLnNldFRpbWUoK24rZSp0KX0sZnVuY3Rpb24obixlKXtyZXR1cm4oZS1uKS90fSk6TGg6bnVsbH07dmFyIERoPUxoLnJhbmdlLFVoPTZlNCxxaD02MDQ4ZTUsT2g9UmgoZnVuY3Rpb24odCl7dC5zZXRUaW1lKDFlMypNYXRoLmZsb29yKHQvMWUzKSl9LGZ1bmN0aW9uKHQsbil7dC5zZXRUaW1lKCt0KzFlMypuKX0sZnVuY3Rpb24odCxuKXtyZXR1cm4obi10KS8xZTN9LGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ1NlY29uZHMoKX0pLFloPU9oLnJhbmdlLEJoPVJoKGZ1bmN0aW9uKHQpe3Quc2V0VGltZShNYXRoLmZsb29yKHQvVWgpKlVoKX0sZnVuY3Rpb24odCxuKXt0LnNldFRpbWUoK3QrbipVaCl9LGZ1bmN0aW9uKHQsbil7cmV0dXJuKG4tdCkvVWh9LGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldE1pbnV0ZXMoKX0pLEZoPUJoLnJhbmdlLEloPVJoKGZ1bmN0aW9uKHQpe3ZhciBuPXQuZ2V0VGltZXpvbmVPZmZzZXQoKSpVaCUzNmU1O248MCYmKG4rPTM2ZTUpLHQuc2V0VGltZSgzNmU1Kk1hdGguZmxvb3IoKCt0LW4pLzM2ZTUpK24pfSxmdW5jdGlvbih0LG4pe3Quc2V0VGltZSgrdCszNmU1Km4pfSxmdW5jdGlvbih0LG4pe3JldHVybihuLXQpLzM2ZTV9LGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldEhvdXJzKCl9KSxIaD1JaC5yYW5nZSxqaD1SaChmdW5jdGlvbih0KXt0LnNldEhvdXJzKDAsMCwwLDApfSxmdW5jdGlvbih0LG4pe3Quc2V0RGF0ZSh0LmdldERhdGUoKStuKX0sZnVuY3Rpb24odCxuKXtyZXR1cm4obi10LShuLmdldFRpbWV6b25lT2Zmc2V0KCktdC5nZXRUaW1lem9uZU9mZnNldCgpKSpVaCkvODY0ZTV9LGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldERhdGUoKS0xfSksWGg9amgucmFuZ2U7ZnVuY3Rpb24gR2godCl7cmV0dXJuIFJoKGZ1bmN0aW9uKG4pe24uc2V0RGF0ZShuLmdldERhdGUoKS0obi5nZXREYXkoKSs3LXQpJTcpLG4uc2V0SG91cnMoMCwwLDAsMCl9LGZ1bmN0aW9uKHQsbil7dC5zZXREYXRlKHQuZ2V0RGF0ZSgpKzcqbil9LGZ1bmN0aW9uKHQsbil7cmV0dXJuKG4tdC0obi5nZXRUaW1lem9uZU9mZnNldCgpLXQuZ2V0VGltZXpvbmVPZmZzZXQoKSkqVWgpL3FofSl9dmFyIFZoPUdoKDApLCRoPUdoKDEpLFdoPUdoKDIpLFpoPUdoKDMpLFFoPUdoKDQpLEpoPUdoKDUpLEtoPUdoKDYpLHRkPVZoLnJhbmdlLG5kPSRoLnJhbmdlLGVkPVdoLnJhbmdlLHJkPVpoLnJhbmdlLGlkPVFoLnJhbmdlLG9kPUpoLnJhbmdlLGFkPUtoLnJhbmdlLHVkPVJoKGZ1bmN0aW9uKHQpe3Quc2V0RGF0ZSgxKSx0LnNldEhvdXJzKDAsMCwwLDApfSxmdW5jdGlvbih0LG4pe3Quc2V0TW9udGgodC5nZXRNb250aCgpK24pfSxmdW5jdGlvbih0LG4pe3JldHVybiBuLmdldE1vbnRoKCktdC5nZXRNb250aCgpKzEyKihuLmdldEZ1bGxZZWFyKCktdC5nZXRGdWxsWWVhcigpKX0sZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0TW9udGgoKX0pLGZkPXVkLnJhbmdlLGNkPVJoKGZ1bmN0aW9uKHQpe3Quc2V0TW9udGgoMCwxKSx0LnNldEhvdXJzKDAsMCwwLDApfSxmdW5jdGlvbih0LG4pe3Quc2V0RnVsbFllYXIodC5nZXRGdWxsWWVhcigpK24pfSxmdW5jdGlvbih0LG4pe3JldHVybiBuLmdldEZ1bGxZZWFyKCktdC5nZXRGdWxsWWVhcigpfSxmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRGdWxsWWVhcigpfSk7Y2QuZXZlcnk9ZnVuY3Rpb24odCl7cmV0dXJuIGlzRmluaXRlKHQ9TWF0aC5mbG9vcih0KSkmJnQ+MD9SaChmdW5jdGlvbihuKXtuLnNldEZ1bGxZZWFyKE1hdGguZmxvb3Iobi5nZXRGdWxsWWVhcigpL3QpKnQpLG4uc2V0TW9udGgoMCwxKSxuLnNldEhvdXJzKDAsMCwwLDApfSxmdW5jdGlvbihuLGUpe24uc2V0RnVsbFllYXIobi5nZXRGdWxsWWVhcigpK2UqdCl9KTpudWxsfTt2YXIgc2Q9Y2QucmFuZ2UsbGQ9UmgoZnVuY3Rpb24odCl7dC5zZXRVVENTZWNvbmRzKDAsMCl9LGZ1bmN0aW9uKHQsbil7dC5zZXRUaW1lKCt0K24qVWgpfSxmdW5jdGlvbih0LG4pe3JldHVybihuLXQpL1VofSxmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENNaW51dGVzKCl9KSxoZD1sZC5yYW5nZSxkZD1SaChmdW5jdGlvbih0KXt0LnNldFVUQ01pbnV0ZXMoMCwwLDApfSxmdW5jdGlvbih0LG4pe3Quc2V0VGltZSgrdCszNmU1Km4pfSxmdW5jdGlvbih0LG4pe3JldHVybihuLXQpLzM2ZTV9LGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ0hvdXJzKCl9KSxwZD1kZC5yYW5nZSx2ZD1SaChmdW5jdGlvbih0KXt0LnNldFVUQ0hvdXJzKDAsMCwwLDApfSxmdW5jdGlvbih0LG4pe3Quc2V0VVRDRGF0ZSh0LmdldFVUQ0RhdGUoKStuKX0sZnVuY3Rpb24odCxuKXtyZXR1cm4obi10KS84NjRlNX0sZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDRGF0ZSgpLTF9KSxnZD12ZC5yYW5nZTtmdW5jdGlvbiB5ZCh0KXtyZXR1cm4gUmgoZnVuY3Rpb24obil7bi5zZXRVVENEYXRlKG4uZ2V0VVRDRGF0ZSgpLShuLmdldFVUQ0RheSgpKzctdCklNyksbi5zZXRVVENIb3VycygwLDAsMCwwKX0sZnVuY3Rpb24odCxuKXt0LnNldFVUQ0RhdGUodC5nZXRVVENEYXRlKCkrNypuKX0sZnVuY3Rpb24odCxuKXtyZXR1cm4obi10KS9xaH0pfXZhciBfZD15ZCgwKSxiZD15ZCgxKSxtZD15ZCgyKSx4ZD15ZCgzKSx3ZD15ZCg0KSxNZD15ZCg1KSxBZD15ZCg2KSxUZD1fZC5yYW5nZSxOZD1iZC5yYW5nZSxTZD1tZC5yYW5nZSxFZD14ZC5yYW5nZSxrZD13ZC5yYW5nZSxDZD1NZC5yYW5nZSxQZD1BZC5yYW5nZSx6ZD1SaChmdW5jdGlvbih0KXt0LnNldFVUQ0RhdGUoMSksdC5zZXRVVENIb3VycygwLDAsMCwwKX0sZnVuY3Rpb24odCxuKXt0LnNldFVUQ01vbnRoKHQuZ2V0VVRDTW9udGgoKStuKX0sZnVuY3Rpb24odCxuKXtyZXR1cm4gbi5nZXRVVENNb250aCgpLXQuZ2V0VVRDTW9udGgoKSsxMioobi5nZXRVVENGdWxsWWVhcigpLXQuZ2V0VVRDRnVsbFllYXIoKSl9LGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ01vbnRoKCl9KSxSZD16ZC5yYW5nZSxMZD1SaChmdW5jdGlvbih0KXt0LnNldFVUQ01vbnRoKDAsMSksdC5zZXRVVENIb3VycygwLDAsMCwwKX0sZnVuY3Rpb24odCxuKXt0LnNldFVUQ0Z1bGxZZWFyKHQuZ2V0VVRDRnVsbFllYXIoKStuKX0sZnVuY3Rpb24odCxuKXtyZXR1cm4gbi5nZXRVVENGdWxsWWVhcigpLXQuZ2V0VVRDRnVsbFllYXIoKX0sZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDRnVsbFllYXIoKX0pO0xkLmV2ZXJ5PWZ1bmN0aW9uKHQpe3JldHVybiBpc0Zpbml0ZSh0PU1hdGguZmxvb3IodCkpJiZ0PjA/UmgoZnVuY3Rpb24obil7bi5zZXRVVENGdWxsWWVhcihNYXRoLmZsb29yKG4uZ2V0VVRDRnVsbFllYXIoKS90KSp0KSxuLnNldFVUQ01vbnRoKDAsMSksbi5zZXRVVENIb3VycygwLDAsMCwwKX0sZnVuY3Rpb24obixlKXtuLnNldFVUQ0Z1bGxZZWFyKG4uZ2V0VVRDRnVsbFllYXIoKStlKnQpfSk6bnVsbH07dmFyIERkPUxkLnJhbmdlO2Z1bmN0aW9uIFVkKHQpe2lmKDA8PXQueSYmdC55PDEwMCl7dmFyIG49bmV3IERhdGUoLTEsdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpO3JldHVybiBuLnNldEZ1bGxZZWFyKHQueSksbn1yZXR1cm4gbmV3IERhdGUodC55LHQubSx0LmQsdC5ILHQuTSx0LlMsdC5MKX1mdW5jdGlvbiBxZCh0KXtpZigwPD10LnkmJnQueTwxMDApe3ZhciBuPW5ldyBEYXRlKERhdGUuVVRDKC0xLHQubSx0LmQsdC5ILHQuTSx0LlMsdC5MKSk7cmV0dXJuIG4uc2V0VVRDRnVsbFllYXIodC55KSxufXJldHVybiBuZXcgRGF0ZShEYXRlLlVUQyh0LnksdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpKX1mdW5jdGlvbiBPZCh0KXtyZXR1cm57eTp0LG06MCxkOjEsSDowLE06MCxTOjAsTDowfX1mdW5jdGlvbiBZZCh0KXt2YXIgbj10LmRhdGVUaW1lLGU9dC5kYXRlLHI9dC50aW1lLGk9dC5wZXJpb2RzLG89dC5kYXlzLGE9dC5zaG9ydERheXMsdT10Lm1vbnRocyxmPXQuc2hvcnRNb250aHMsYz1WZChpKSxzPSRkKGkpLGw9VmQobyksaD0kZChvKSxkPVZkKGEpLHA9JGQoYSksdj1WZCh1KSxnPSRkKHUpLHk9VmQoZiksXz0kZChmKSxiPXthOmZ1bmN0aW9uKHQpe3JldHVybiBhW3QuZ2V0RGF5KCldfSxBOmZ1bmN0aW9uKHQpe3JldHVybiBvW3QuZ2V0RGF5KCldfSxiOmZ1bmN0aW9uKHQpe3JldHVybiBmW3QuZ2V0TW9udGgoKV19LEI6ZnVuY3Rpb24odCl7cmV0dXJuIHVbdC5nZXRNb250aCgpXX0sYzpudWxsLGQ6cHAsZTpwcCxmOmJwLEg6dnAsSTpncCxqOnlwLEw6X3AsbTptcCxNOnhwLHA6ZnVuY3Rpb24odCl7cmV0dXJuIGlbKyh0LmdldEhvdXJzKCk+PTEyKV19LFE6V3AsczpacCxTOndwLHU6TXAsVTpBcCxWOlRwLHc6TnAsVzpTcCx4Om51bGwsWDpudWxsLHk6RXAsWTprcCxaOkNwLCIlIjokcH0sbT17YTpmdW5jdGlvbih0KXtyZXR1cm4gYVt0LmdldFVUQ0RheSgpXX0sQTpmdW5jdGlvbih0KXtyZXR1cm4gb1t0LmdldFVUQ0RheSgpXX0sYjpmdW5jdGlvbih0KXtyZXR1cm4gZlt0LmdldFVUQ01vbnRoKCldfSxCOmZ1bmN0aW9uKHQpe3JldHVybiB1W3QuZ2V0VVRDTW9udGgoKV19LGM6bnVsbCxkOlBwLGU6UHAsZjpVcCxIOnpwLEk6UnAsajpMcCxMOkRwLG06cXAsTTpPcCxwOmZ1bmN0aW9uKHQpe3JldHVybiBpWysodC5nZXRVVENIb3VycygpPj0xMildfSxROldwLHM6WnAsUzpZcCx1OkJwLFU6RnAsVjpJcCx3OkhwLFc6anAseDpudWxsLFg6bnVsbCx5OlhwLFk6R3AsWjpWcCwiJSI6JHB9LHg9e2E6ZnVuY3Rpb24odCxuLGUpe3ZhciByPWQuZXhlYyhuLnNsaWNlKGUpKTtyZXR1cm4gcj8odC53PXBbclswXS50b0xvd2VyQ2FzZSgpXSxlK3JbMF0ubGVuZ3RoKTotMX0sQTpmdW5jdGlvbih0LG4sZSl7dmFyIHI9bC5leGVjKG4uc2xpY2UoZSkpO3JldHVybiByPyh0Lnc9aFtyWzBdLnRvTG93ZXJDYXNlKCldLGUrclswXS5sZW5ndGgpOi0xfSxiOmZ1bmN0aW9uKHQsbixlKXt2YXIgcj15LmV4ZWMobi5zbGljZShlKSk7cmV0dXJuIHI/KHQubT1fW3JbMF0udG9Mb3dlckNhc2UoKV0sZStyWzBdLmxlbmd0aCk6LTF9LEI6ZnVuY3Rpb24odCxuLGUpe3ZhciByPXYuZXhlYyhuLnNsaWNlKGUpKTtyZXR1cm4gcj8odC5tPWdbclswXS50b0xvd2VyQ2FzZSgpXSxlK3JbMF0ubGVuZ3RoKTotMX0sYzpmdW5jdGlvbih0LGUscil7cmV0dXJuIEEodCxuLGUscil9LGQ6aXAsZTppcCxmOnNwLEg6YXAsSTphcCxqOm9wLEw6Y3AsbTpycCxNOnVwLHA6ZnVuY3Rpb24odCxuLGUpe3ZhciByPWMuZXhlYyhuLnNsaWNlKGUpKTtyZXR1cm4gcj8odC5wPXNbclswXS50b0xvd2VyQ2FzZSgpXSxlK3JbMF0ubGVuZ3RoKTotMX0sUTpocCxzOmRwLFM6ZnAsdTpaZCxVOlFkLFY6SmQsdzpXZCxXOktkLHg6ZnVuY3Rpb24odCxuLHIpe3JldHVybiBBKHQsZSxuLHIpfSxYOmZ1bmN0aW9uKHQsbixlKXtyZXR1cm4gQSh0LHIsbixlKX0seTpucCxZOnRwLFo6ZXAsIiUiOmxwfTtmdW5jdGlvbiB3KHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciByLGksbyxhPVtdLHU9LTEsZj0wLGM9dC5sZW5ndGg7Zm9yKGUgaW5zdGFuY2VvZiBEYXRlfHwoZT1uZXcgRGF0ZSgrZSkpOysrdTxjOykzNz09PXQuY2hhckNvZGVBdCh1KSYmKGEucHVzaCh0LnNsaWNlKGYsdSkpLG51bGwhPShpPUZkW3I9dC5jaGFyQXQoKyt1KV0pP3I9dC5jaGFyQXQoKyt1KTppPSJlIj09PXI/IiAiOiIwIiwobz1uW3JdKSYmKHI9byhlLGkpKSxhLnB1c2gociksZj11KzEpO3JldHVybiBhLnB1c2godC5zbGljZShmLHUpKSxhLmpvaW4oIiIpfX1mdW5jdGlvbiBNKHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciByLGksbz1PZCgxOTAwKTtpZihBKG8sdCxlKz0iIiwwKSE9ZS5sZW5ndGgpcmV0dXJuIG51bGw7aWYoIlEiaW4gbylyZXR1cm4gbmV3IERhdGUoby5RKTtpZigicCJpbiBvJiYoby5IPW8uSCUxMisxMipvLnApLCJWImluIG8pe2lmKG8uVjwxfHxvLlY+NTMpcmV0dXJuIG51bGw7InciaW4gb3x8KG8udz0xKSwiWiJpbiBvPyhpPShyPXFkKE9kKG8ueSkpKS5nZXRVVENEYXkoKSxyPWk+NHx8MD09PWk/YmQuY2VpbChyKTpiZChyKSxyPXZkLm9mZnNldChyLDcqKG8uVi0xKSksby55PXIuZ2V0VVRDRnVsbFllYXIoKSxvLm09ci5nZXRVVENNb250aCgpLG8uZD1yLmdldFVUQ0RhdGUoKSsoby53KzYpJTcpOihpPShyPW4oT2Qoby55KSkpLmdldERheSgpLHI9aT40fHwwPT09aT8kaC5jZWlsKHIpOiRoKHIpLHI9amgub2Zmc2V0KHIsNyooby5WLTEpKSxvLnk9ci5nZXRGdWxsWWVhcigpLG8ubT1yLmdldE1vbnRoKCksby5kPXIuZ2V0RGF0ZSgpKyhvLncrNiklNyl9ZWxzZSgiVyJpbiBvfHwiVSJpbiBvKSYmKCJ3ImluIG98fChvLnc9InUiaW4gbz9vLnUlNzoiVyJpbiBvPzE6MCksaT0iWiJpbiBvP3FkKE9kKG8ueSkpLmdldFVUQ0RheSgpOm4oT2Qoby55KSkuZ2V0RGF5KCksby5tPTAsby5kPSJXImluIG8/KG8udys2KSU3Kzcqby5XLShpKzUpJTc6by53Kzcqby5VLShpKzYpJTcpO3JldHVybiJaImluIG8/KG8uSCs9by5aLzEwMHwwLG8uTSs9by5aJTEwMCxxZChvKSk6bihvKX19ZnVuY3Rpb24gQSh0LG4sZSxyKXtmb3IodmFyIGksbyxhPTAsdT1uLmxlbmd0aCxmPWUubGVuZ3RoO2E8dTspe2lmKHI+PWYpcmV0dXJuLTE7aWYoMzc9PT0oaT1uLmNoYXJDb2RlQXQoYSsrKSkpe2lmKGk9bi5jaGFyQXQoYSsrKSwhKG89eFtpIGluIEZkP24uY2hhckF0KGErKyk6aV0pfHwocj1vKHQsZSxyKSk8MClyZXR1cm4tMX1lbHNlIGlmKGkhPWUuY2hhckNvZGVBdChyKyspKXJldHVybi0xfXJldHVybiByfXJldHVybiBiLng9dyhlLGIpLGIuWD13KHIsYiksYi5jPXcobixiKSxtLng9dyhlLG0pLG0uWD13KHIsbSksbS5jPXcobixtKSx7Zm9ybWF0OmZ1bmN0aW9uKHQpe3ZhciBuPXcodCs9IiIsYik7cmV0dXJuIG4udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sbn0scGFyc2U6ZnVuY3Rpb24odCl7dmFyIG49TSh0Kz0iIixVZCk7cmV0dXJuIG4udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sbn0sdXRjRm9ybWF0OmZ1bmN0aW9uKHQpe3ZhciBuPXcodCs9IiIsbSk7cmV0dXJuIG4udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sbn0sdXRjUGFyc2U6ZnVuY3Rpb24odCl7dmFyIG49TSh0LHFkKTtyZXR1cm4gbi50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0fSxufX19dmFyIEJkLEZkPXsiLSI6IiIsXzoiICIsMDoiMCJ9LElkPS9eXHMqXGQrLyxIZD0vXiUvLGpkPS9bXFxeJCorP3xbXF0oKS57fV0vZztmdW5jdGlvbiBYZCh0LG4sZSl7dmFyIHI9dDwwPyItIjoiIixpPShyPy10OnQpKyIiLG89aS5sZW5ndGg7cmV0dXJuIHIrKG88ZT9uZXcgQXJyYXkoZS1vKzEpLmpvaW4obikraTppKX1mdW5jdGlvbiBHZCh0KXtyZXR1cm4gdC5yZXBsYWNlKGpkLCJcXCQmIil9ZnVuY3Rpb24gVmQodCl7cmV0dXJuIG5ldyBSZWdFeHAoIl4oPzoiK3QubWFwKEdkKS5qb2luKCJ8IikrIikiLCJpIil9ZnVuY3Rpb24gJGQodCl7Zm9yKHZhciBuPXt9LGU9LTEscj10Lmxlbmd0aDsrK2U8cjspblt0W2VdLnRvTG93ZXJDYXNlKCldPWU7cmV0dXJuIG59ZnVuY3Rpb24gV2QodCxuLGUpe3ZhciByPUlkLmV4ZWMobi5zbGljZShlLGUrMSkpO3JldHVybiByPyh0Lnc9K3JbMF0sZStyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gWmQodCxuLGUpe3ZhciByPUlkLmV4ZWMobi5zbGljZShlLGUrMSkpO3JldHVybiByPyh0LnU9K3JbMF0sZStyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gUWQodCxuLGUpe3ZhciByPUlkLmV4ZWMobi5zbGljZShlLGUrMikpO3JldHVybiByPyh0LlU9K3JbMF0sZStyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gSmQodCxuLGUpe3ZhciByPUlkLmV4ZWMobi5zbGljZShlLGUrMikpO3JldHVybiByPyh0LlY9K3JbMF0sZStyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gS2QodCxuLGUpe3ZhciByPUlkLmV4ZWMobi5zbGljZShlLGUrMikpO3JldHVybiByPyh0Llc9K3JbMF0sZStyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gdHAodCxuLGUpe3ZhciByPUlkLmV4ZWMobi5zbGljZShlLGUrNCkpO3JldHVybiByPyh0Lnk9K3JbMF0sZStyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gbnAodCxuLGUpe3ZhciByPUlkLmV4ZWMobi5zbGljZShlLGUrMikpO3JldHVybiByPyh0Lnk9K3JbMF0rKCtyWzBdPjY4PzE5MDA6MmUzKSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBlcCh0LG4sZSl7dmFyIHI9L14oWil8KFsrLV1cZFxkKSg/Ojo/KFxkXGQpKT8vLmV4ZWMobi5zbGljZShlLGUrNikpO3JldHVybiByPyh0Llo9clsxXT8wOi0oclsyXSsoclszXXx8IjAwIikpLGUrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHJwKHQsbixlKXt2YXIgcj1JZC5leGVjKG4uc2xpY2UoZSxlKzIpKTtyZXR1cm4gcj8odC5tPXJbMF0tMSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBpcCh0LG4sZSl7dmFyIHI9SWQuZXhlYyhuLnNsaWNlKGUsZSsyKSk7cmV0dXJuIHI/KHQuZD0rclswXSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBvcCh0LG4sZSl7dmFyIHI9SWQuZXhlYyhuLnNsaWNlKGUsZSszKSk7cmV0dXJuIHI/KHQubT0wLHQuZD0rclswXSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBhcCh0LG4sZSl7dmFyIHI9SWQuZXhlYyhuLnNsaWNlKGUsZSsyKSk7cmV0dXJuIHI/KHQuSD0rclswXSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiB1cCh0LG4sZSl7dmFyIHI9SWQuZXhlYyhuLnNsaWNlKGUsZSsyKSk7cmV0dXJuIHI/KHQuTT0rclswXSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBmcCh0LG4sZSl7dmFyIHI9SWQuZXhlYyhuLnNsaWNlKGUsZSsyKSk7cmV0dXJuIHI/KHQuUz0rclswXSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBjcCh0LG4sZSl7dmFyIHI9SWQuZXhlYyhuLnNsaWNlKGUsZSszKSk7cmV0dXJuIHI/KHQuTD0rclswXSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBzcCh0LG4sZSl7dmFyIHI9SWQuZXhlYyhuLnNsaWNlKGUsZSs2KSk7cmV0dXJuIHI/KHQuTD1NYXRoLmZsb29yKHJbMF0vMWUzKSxlK3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBscCh0LG4sZSl7dmFyIHI9SGQuZXhlYyhuLnNsaWNlKGUsZSsxKSk7cmV0dXJuIHI/ZStyWzBdLmxlbmd0aDotMX1mdW5jdGlvbiBocCh0LG4sZSl7dmFyIHI9SWQuZXhlYyhuLnNsaWNlKGUpKTtyZXR1cm4gcj8odC5RPStyWzBdLGUrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIGRwKHQsbixlKXt2YXIgcj1JZC5leGVjKG4uc2xpY2UoZSkpO3JldHVybiByPyh0LlE9MWUzKityWzBdLGUrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHBwKHQsbil7cmV0dXJuIFhkKHQuZ2V0RGF0ZSgpLG4sMil9ZnVuY3Rpb24gdnAodCxuKXtyZXR1cm4gWGQodC5nZXRIb3VycygpLG4sMil9ZnVuY3Rpb24gZ3AodCxuKXtyZXR1cm4gWGQodC5nZXRIb3VycygpJTEyfHwxMixuLDIpfWZ1bmN0aW9uIHlwKHQsbil7cmV0dXJuIFhkKDEramguY291bnQoY2QodCksdCksbiwzKX1mdW5jdGlvbiBfcCh0LG4pe3JldHVybiBYZCh0LmdldE1pbGxpc2Vjb25kcygpLG4sMyl9ZnVuY3Rpb24gYnAodCxuKXtyZXR1cm4gX3AodCxuKSsiMDAwIn1mdW5jdGlvbiBtcCh0LG4pe3JldHVybiBYZCh0LmdldE1vbnRoKCkrMSxuLDIpfWZ1bmN0aW9uIHhwKHQsbil7cmV0dXJuIFhkKHQuZ2V0TWludXRlcygpLG4sMil9ZnVuY3Rpb24gd3AodCxuKXtyZXR1cm4gWGQodC5nZXRTZWNvbmRzKCksbiwyKX1mdW5jdGlvbiBNcCh0KXt2YXIgbj10LmdldERheSgpO3JldHVybiAwPT09bj83Om59ZnVuY3Rpb24gQXAodCxuKXtyZXR1cm4gWGQoVmguY291bnQoY2QodCksdCksbiwyKX1mdW5jdGlvbiBUcCh0LG4pe3ZhciBlPXQuZ2V0RGF5KCk7cmV0dXJuIHQ9ZT49NHx8MD09PWU/UWgodCk6UWguY2VpbCh0KSxYZChRaC5jb3VudChjZCh0KSx0KSsoND09PWNkKHQpLmdldERheSgpKSxuLDIpfWZ1bmN0aW9uIE5wKHQpe3JldHVybiB0LmdldERheSgpfWZ1bmN0aW9uIFNwKHQsbil7cmV0dXJuIFhkKCRoLmNvdW50KGNkKHQpLHQpLG4sMil9ZnVuY3Rpb24gRXAodCxuKXtyZXR1cm4gWGQodC5nZXRGdWxsWWVhcigpJTEwMCxuLDIpfWZ1bmN0aW9uIGtwKHQsbil7cmV0dXJuIFhkKHQuZ2V0RnVsbFllYXIoKSUxZTQsbiw0KX1mdW5jdGlvbiBDcCh0KXt2YXIgbj10LmdldFRpbWV6b25lT2Zmc2V0KCk7cmV0dXJuKG4+MD8iLSI6KG4qPS0xLCIrIikpK1hkKG4vNjB8MCwiMCIsMikrWGQobiU2MCwiMCIsMil9ZnVuY3Rpb24gUHAodCxuKXtyZXR1cm4gWGQodC5nZXRVVENEYXRlKCksbiwyKX1mdW5jdGlvbiB6cCh0LG4pe3JldHVybiBYZCh0LmdldFVUQ0hvdXJzKCksbiwyKX1mdW5jdGlvbiBScCh0LG4pe3JldHVybiBYZCh0LmdldFVUQ0hvdXJzKCklMTJ8fDEyLG4sMil9ZnVuY3Rpb24gTHAodCxuKXtyZXR1cm4gWGQoMSt2ZC5jb3VudChMZCh0KSx0KSxuLDMpfWZ1bmN0aW9uIERwKHQsbil7cmV0dXJuIFhkKHQuZ2V0VVRDTWlsbGlzZWNvbmRzKCksbiwzKX1mdW5jdGlvbiBVcCh0LG4pe3JldHVybiBEcCh0LG4pKyIwMDAifWZ1bmN0aW9uIHFwKHQsbil7cmV0dXJuIFhkKHQuZ2V0VVRDTW9udGgoKSsxLG4sMil9ZnVuY3Rpb24gT3AodCxuKXtyZXR1cm4gWGQodC5nZXRVVENNaW51dGVzKCksbiwyKX1mdW5jdGlvbiBZcCh0LG4pe3JldHVybiBYZCh0LmdldFVUQ1NlY29uZHMoKSxuLDIpfWZ1bmN0aW9uIEJwKHQpe3ZhciBuPXQuZ2V0VVRDRGF5KCk7cmV0dXJuIDA9PT1uPzc6bn1mdW5jdGlvbiBGcCh0LG4pe3JldHVybiBYZChfZC5jb3VudChMZCh0KSx0KSxuLDIpfWZ1bmN0aW9uIElwKHQsbil7dmFyIGU9dC5nZXRVVENEYXkoKTtyZXR1cm4gdD1lPj00fHwwPT09ZT93ZCh0KTp3ZC5jZWlsKHQpLFhkKHdkLmNvdW50KExkKHQpLHQpKyg0PT09TGQodCkuZ2V0VVRDRGF5KCkpLG4sMil9ZnVuY3Rpb24gSHAodCl7cmV0dXJuIHQuZ2V0VVRDRGF5KCl9ZnVuY3Rpb24ganAodCxuKXtyZXR1cm4gWGQoYmQuY291bnQoTGQodCksdCksbiwyKX1mdW5jdGlvbiBYcCh0LG4pe3JldHVybiBYZCh0LmdldFVUQ0Z1bGxZZWFyKCklMTAwLG4sMil9ZnVuY3Rpb24gR3AodCxuKXtyZXR1cm4gWGQodC5nZXRVVENGdWxsWWVhcigpJTFlNCxuLDQpfWZ1bmN0aW9uIFZwKCl7cmV0dXJuIiswMDAwIn1mdW5jdGlvbiAkcCgpe3JldHVybiIlIn1mdW5jdGlvbiBXcCh0KXtyZXR1cm4rdH1mdW5jdGlvbiBacCh0KXtyZXR1cm4gTWF0aC5mbG9vcigrdC8xZTMpfWZ1bmN0aW9uIFFwKG4pe3JldHVybiBCZD1ZZChuKSx0LnRpbWVGb3JtYXQ9QmQuZm9ybWF0LHQudGltZVBhcnNlPUJkLnBhcnNlLHQudXRjRm9ybWF0PUJkLnV0Y0Zvcm1hdCx0LnV0Y1BhcnNlPUJkLnV0Y1BhcnNlLEJkfVFwKHtkYXRlVGltZToiJXgsICVYIixkYXRlOiIlLW0vJS1kLyVZIix0aW1lOiIlLUk6JU06JVMgJXAiLHBlcmlvZHM6WyJBTSIsIlBNIl0sZGF5czpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sc2hvcnREYXlzOlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sbW9udGhzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxzaG9ydE1vbnRoczpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdfSk7dmFyIEpwPURhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nP2Z1bmN0aW9uKHQpe3JldHVybiB0LnRvSVNPU3RyaW5nKCl9OnQudXRjRm9ybWF0KCIlWS0lbS0lZFQlSDolTTolUy4lTFoiKTt2YXIgS3A9K25ldyBEYXRlKCIyMDAwLTAxLTAxVDAwOjAwOjAwLjAwMFoiKT9mdW5jdGlvbih0KXt2YXIgbj1uZXcgRGF0ZSh0KTtyZXR1cm4gaXNOYU4obik/bnVsbDpufTp0LnV0Y1BhcnNlKCIlWS0lbS0lZFQlSDolTTolUy4lTFoiKSx0dj0xZTMsbnY9NjAqdHYsZXY9NjAqbnYscnY9MjQqZXYsaXY9Nypydixvdj0zMCpydixhdj0zNjUqcnY7ZnVuY3Rpb24gdXYodCl7cmV0dXJuIG5ldyBEYXRlKHQpfWZ1bmN0aW9uIGZ2KHQpe3JldHVybiB0IGluc3RhbmNlb2YgRGF0ZT8rdDorbmV3IERhdGUoK3QpfWZ1bmN0aW9uIGN2KHQsbixyLGksbyxhLHUsZixjKXt2YXIgcz1taChnaCx2ZSksbD1zLmludmVydCxoPXMuZG9tYWluLGQ9YygiLiVMIikscD1jKCI6JVMiKSx2PWMoIiVJOiVNIiksZz1jKCIlSSAlcCIpLHk9YygiJWEgJWQiKSxfPWMoIiViICVkIiksYj1jKCIlQiIpLG09YygiJVkiKSx4PVtbdSwxLHR2XSxbdSw1LDUqdHZdLFt1LDE1LDE1KnR2XSxbdSwzMCwzMCp0dl0sW2EsMSxudl0sW2EsNSw1Km52XSxbYSwxNSwxNSpudl0sW2EsMzAsMzAqbnZdLFtvLDEsZXZdLFtvLDMsMypldl0sW28sNiw2KmV2XSxbbywxMiwxMipldl0sW2ksMSxydl0sW2ksMiwyKnJ2XSxbciwxLGl2XSxbbiwxLG92XSxbbiwzLDMqb3ZdLFt0LDEsYXZdXTtmdW5jdGlvbiBNKGUpe3JldHVybih1KGUpPGU/ZDphKGUpPGU/cDpvKGUpPGU/djppKGUpPGU/ZzpuKGUpPGU/cihlKTxlP3k6Xzp0KGUpPGU/YjptKShlKX1mdW5jdGlvbiBBKG4scixpLG8pe2lmKG51bGw9PW4mJihuPTEwKSwibnVtYmVyIj09dHlwZW9mIG4pe3ZhciBhPU1hdGguYWJzKGktcikvbix1PWUoZnVuY3Rpb24odCl7cmV0dXJuIHRbMl19KS5yaWdodCh4LGEpO3U9PT14Lmxlbmd0aD8obz13KHIvYXYsaS9hdixuKSxuPXQpOnU/KG89KHU9eFthL3hbdS0xXVsyXTx4W3VdWzJdL2E/dS0xOnVdKVsxXSxuPXVbMF0pOihvPU1hdGgubWF4KHcocixpLG4pLDEpLG49Zil9cmV0dXJuIG51bGw9PW8/bjpuLmV2ZXJ5KG8pfXJldHVybiBzLmludmVydD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IERhdGUobCh0KSl9LHMuZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP2goZmguY2FsbCh0LGZ2KSk6aCgpLm1hcCh1dil9LHMudGlja3M9ZnVuY3Rpb24odCxuKXt2YXIgZSxyPWgoKSxpPXJbMF0sbz1yW3IubGVuZ3RoLTFdLGE9bzxpO3JldHVybiBhJiYoZT1pLGk9byxvPWUpLGU9KGU9QSh0LGksbyxuKSk/ZS5yYW5nZShpLG8rMSk6W10sYT9lLnJldmVyc2UoKTplfSxzLnRpY2tGb3JtYXQ9ZnVuY3Rpb24odCxuKXtyZXR1cm4gbnVsbD09bj9NOmMobil9LHMubmljZT1mdW5jdGlvbih0LG4pe3ZhciBlPWgoKTtyZXR1cm4odD1BKHQsZVswXSxlW2UubGVuZ3RoLTFdLG4pKT9oKHdoKGUsdCkpOnN9LHMuY29weT1mdW5jdGlvbigpe3JldHVybiBiaChzLGN2KHQsbixyLGksbyxhLHUsZixjKSl9LHN9ZnVuY3Rpb24gc3YodCl7Zm9yKHZhciBuPXQubGVuZ3RoLzZ8MCxlPW5ldyBBcnJheShuKSxyPTA7cjxuOyllW3JdPSIjIit0LnNsaWNlKDYqciw2Kisrcik7cmV0dXJuIGV9dmFyIGx2PXN2KCIxZjc3YjRmZjdmMGUyY2EwMmNkNjI3Mjg5NDY3YmQ4YzU2NGJlMzc3YzI3ZjdmN2ZiY2JkMjIxN2JlY2YiKSxodj1zdigiN2ZjOTdmYmVhZWQ0ZmRjMDg2ZmZmZjk5Mzg2Y2IwZjAwMjdmYmY1YjE3NjY2NjY2IiksZHY9c3YoIjFiOWU3N2Q5NWYwMjc1NzBiM2U3Mjk4YTY2YTYxZWU2YWIwMmE2NzYxZDY2NjY2NiIpLHB2PXN2KCJhNmNlZTMxZjc4YjRiMmRmOGEzM2EwMmNmYjlhOTllMzFhMWNmZGJmNmZmZjdmMDBjYWIyZDY2YTNkOWFmZmZmOTliMTU5MjgiKSx2dj1zdigiZmJiNGFlYjNjZGUzY2NlYmM1ZGVjYmU0ZmVkOWE2ZmZmZmNjZTVkOGJkZmRkYWVjZjJmMmYyIiksZ3Y9c3YoImIzZTJjZGZkY2RhY2NiZDVlOGY0Y2FlNGU2ZjVjOWZmZjJhZWYxZTJjY2NjY2NjYyIpLHl2PXN2KCJlNDFhMWMzNzdlYjg0ZGFmNGE5ODRlYTNmZjdmMDBmZmZmMzNhNjU2MjhmNzgxYmY5OTk5OTkiKSxfdj1zdigiNjZjMmE1ZmM4ZDYyOGRhMGNiZTc4YWMzYTZkODU0ZmZkOTJmZTVjNDk0YjNiM2IzIiksYnY9c3YoIjhkZDNjN2ZmZmZiM2JlYmFkYWZiODA3MjgwYjFkM2ZkYjQ2MmIzZGU2OWZjY2RlNWQ5ZDlkOWJjODBiZGNjZWJjNWZmZWQ2ZiIpO2Z1bmN0aW9uIG12KHQpe3JldHVybiBsZSh0W3QubGVuZ3RoLTFdKX12YXIgeHY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZDhiMzY1ZjVmNWY1NWFiNGFjIiwiYTY2MTFhZGZjMjdkODBjZGMxMDE4NTcxIiwiYTY2MTFhZGZjMjdkZjVmNWY1ODBjZGMxMDE4NTcxIiwiOGM1MTBhZDhiMzY1ZjZlOGMzYzdlYWU1NWFiNGFjMDE2NjVlIiwiOGM1MTBhZDhiMzY1ZjZlOGMzZjVmNWY1YzdlYWU1NWFiNGFjMDE2NjVlIiwiOGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzYzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlIiwiOGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzZjVmNWY1YzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlIiwiNTQzMDA1OGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzYzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlMDAzYzMwIiwiNTQzMDA1OGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzZjVmNWY1YzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlMDAzYzMwIikubWFwKHN2KSx3dj1tdih4diksTXY9bmV3IEFycmF5KDMpLmNvbmNhdCgiYWY4ZGMzZjdmN2Y3N2ZiZjdiIiwiN2IzMjk0YzJhNWNmYTZkYmEwMDA4ODM3IiwiN2IzMjk0YzJhNWNmZjdmN2Y3YTZkYmEwMDA4ODM3IiwiNzYyYTgzYWY4ZGMzZTdkNGU4ZDlmMGQzN2ZiZjdiMWI3ODM3IiwiNzYyYTgzYWY4ZGMzZTdkNGU4ZjdmN2Y3ZDlmMGQzN2ZiZjdiMWI3ODM3IiwiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3IiwiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZjdmN2Y3ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3IiwiNDAwMDRiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3MDA0NDFiIiwiNDAwMDRiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZjdmN2Y3ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3MDA0NDFiIikubWFwKHN2KSxBdj1tdihNdiksVHY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTlhM2M5ZjdmN2Y3YTFkNzZhIiwiZDAxYzhiZjFiNmRhYjhlMTg2NGRhYzI2IiwiZDAxYzhiZjFiNmRhZjdmN2Y3YjhlMTg2NGRhYzI2IiwiYzUxYjdkZTlhM2M5ZmRlMGVmZTZmNWQwYTFkNzZhNGQ5MjIxIiwiYzUxYjdkZTlhM2M5ZmRlMGVmZjdmN2Y3ZTZmNWQwYTFkNzZhNGQ5MjIxIiwiYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxIiwiYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZjdmN2Y3ZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxIiwiOGUwMTUyYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxMjc2NDE5IiwiOGUwMTUyYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZjdmN2Y3ZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxMjc2NDE5IikubWFwKHN2KSxOdj1tdihUdiksU3Y9bmV3IEFycmF5KDMpLmNvbmNhdCgiOTk4ZWMzZjdmN2Y3ZjFhMzQwIiwiNWUzYzk5YjJhYmQyZmRiODYzZTY2MTAxIiwiNWUzYzk5YjJhYmQyZjdmN2Y3ZmRiODYzZTY2MTAxIiwiNTQyNzg4OTk4ZWMzZDhkYWViZmVlMGI2ZjFhMzQwYjM1ODA2IiwiNTQyNzg4OTk4ZWMzZDhkYWViZjdmN2Y3ZmVlMGI2ZjFhMzQwYjM1ODA2IiwiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2IiwiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZjdmN2Y3ZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2IiwiMmQwMDRiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2N2YzYjA4IiwiMmQwMDRiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZjdmN2Y3ZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2N2YzYjA4IikubWFwKHN2KSxFdj1tdihTdiksa3Y9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWY4YTYyZjdmN2Y3NjdhOWNmIiwiY2EwMDIwZjRhNTgyOTJjNWRlMDU3MWIwIiwiY2EwMDIwZjRhNTgyZjdmN2Y3OTJjNWRlMDU3MWIwIiwiYjIxODJiZWY4YTYyZmRkYmM3ZDFlNWYwNjdhOWNmMjE2NmFjIiwiYjIxODJiZWY4YTYyZmRkYmM3ZjdmN2Y3ZDFlNWYwNjdhOWNmMjE2NmFjIiwiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjIiwiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZjdmN2Y3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjIiwiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjMDUzMDYxIiwiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZjdmN2Y3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjMDUzMDYxIikubWFwKHN2KSxDdj1tdihrdiksUHY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWY4YTYyZmZmZmZmOTk5OTk5IiwiY2EwMDIwZjRhNTgyYmFiYWJhNDA0MDQwIiwiY2EwMDIwZjRhNTgyZmZmZmZmYmFiYWJhNDA0MDQwIiwiYjIxODJiZWY4YTYyZmRkYmM3ZTBlMGUwOTk5OTk5NGQ0ZDRkIiwiYjIxODJiZWY4YTYyZmRkYmM3ZmZmZmZmZTBlMGUwOTk5OTk5NGQ0ZDRkIiwiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkIiwiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZmZmZmZmZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkIiwiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkMWExYTFhIiwiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZmZmZmZmZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkMWExYTFhIikubWFwKHN2KSx6dj1tdihQdiksUnY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmM4ZDU5ZmZmZmJmOTFiZmRiIiwiZDcxOTFjZmRhZTYxYWJkOWU5MmM3YmI2IiwiZDcxOTFjZmRhZTYxZmZmZmJmYWJkOWU5MmM3YmI2IiwiZDczMDI3ZmM4ZDU5ZmVlMDkwZTBmM2Y4OTFiZmRiNDU3NWI0IiwiZDczMDI3ZmM4ZDU5ZmVlMDkwZmZmZmJmZTBmM2Y4OTFiZmRiNDU3NWI0IiwiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0IiwiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZmZmZmJmZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0IiwiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0MzEzNjk1IiwiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZmZmZmJmZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0MzEzNjk1IikubWFwKHN2KSxMdj1tdihSdiksRHY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmM4ZDU5ZmZmZmJmOTFjZjYwIiwiZDcxOTFjZmRhZTYxYTZkOTZhMWE5NjQxIiwiZDcxOTFjZmRhZTYxZmZmZmJmYTZkOTZhMWE5NjQxIiwiZDczMDI3ZmM4ZDU5ZmVlMDhiZDllZjhiOTFjZjYwMWE5ODUwIiwiZDczMDI3ZmM4ZDU5ZmVlMDhiZmZmZmJmZDllZjhiOTFjZjYwMWE5ODUwIiwiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwIiwiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwIiwiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwMDA2ODM3IiwiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwMDA2ODM3IikubWFwKHN2KSxVdj1tdihEdikscXY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmM4ZDU5ZmZmZmJmOTlkNTk0IiwiZDcxOTFjZmRhZTYxYWJkZGE0MmI4M2JhIiwiZDcxOTFjZmRhZTYxZmZmZmJmYWJkZGE0MmI4M2JhIiwiZDUzZTRmZmM4ZDU5ZmVlMDhiZTZmNTk4OTlkNTk0MzI4OGJkIiwiZDUzZTRmZmM4ZDU5ZmVlMDhiZmZmZmJmZTZmNTk4OTlkNTk0MzI4OGJkIiwiZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkIiwiZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkIiwiOWUwMTQyZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkNWU0ZmEyIiwiOWUwMTQyZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkNWU0ZmEyIikubWFwKHN2KSxPdj1tdihxdiksWXY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTVmNWY5OTlkOGM5MmNhMjVmIiwiZWRmOGZiYjJlMmUyNjZjMmE0MjM4YjQ1IiwiZWRmOGZiYjJlMmUyNjZjMmE0MmNhMjVmMDA2ZDJjIiwiZWRmOGZiY2NlY2U2OTlkOGM5NjZjMmE0MmNhMjVmMDA2ZDJjIiwiZWRmOGZiY2NlY2U2OTlkOGM5NjZjMmE0NDFhZTc2MjM4YjQ1MDA1ODI0IiwiZjdmY2ZkZTVmNWY5Y2NlY2U2OTlkOGM5NjZjMmE0NDFhZTc2MjM4YjQ1MDA1ODI0IiwiZjdmY2ZkZTVmNWY5Y2NlY2U2OTlkOGM5NjZjMmE0NDFhZTc2MjM4YjQ1MDA2ZDJjMDA0NDFiIikubWFwKHN2KSxCdj1tdihZdiksRnY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTBlY2Y0OWViY2RhODg1NmE3IiwiZWRmOGZiYjNjZGUzOGM5NmM2ODg0MTlkIiwiZWRmOGZiYjNjZGUzOGM5NmM2ODg1NmE3ODEwZjdjIiwiZWRmOGZiYmZkM2U2OWViY2RhOGM5NmM2ODg1NmE3ODEwZjdjIiwiZWRmOGZiYmZkM2U2OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkNmUwMTZiIiwiZjdmY2ZkZTBlY2Y0YmZkM2U2OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkNmUwMTZiIiwiZjdmY2ZkZTBlY2Y0YmZkM2U2OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkODEwZjdjNGQwMDRiIikubWFwKHN2KSxJdj1tdihGdiksSHY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTBmM2RiYThkZGI1NDNhMmNhIiwiZjBmOWU4YmFlNGJjN2JjY2M0MmI4Y2JlIiwiZjBmOWU4YmFlNGJjN2JjY2M0NDNhMmNhMDg2OGFjIiwiZjBmOWU4Y2NlYmM1YThkZGI1N2JjY2M0NDNhMmNhMDg2OGFjIiwiZjBmOWU4Y2NlYmM1YThkZGI1N2JjY2M0NGViM2QzMmI4Y2JlMDg1ODllIiwiZjdmY2YwZTBmM2RiY2NlYmM1YThkZGI1N2JjY2M0NGViM2QzMmI4Y2JlMDg1ODllIiwiZjdmY2YwZTBmM2RiY2NlYmM1YThkZGI1N2JjY2M0NGViM2QzMmI4Y2JlMDg2OGFjMDg0MDgxIikubWFwKHN2KSxqdj1tdihIdiksWHY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmVlOGM4ZmRiYjg0ZTM0YTMzIiwiZmVmMGQ5ZmRjYzhhZmM4ZDU5ZDczMDFmIiwiZmVmMGQ5ZmRjYzhhZmM4ZDU5ZTM0YTMzYjMwMDAwIiwiZmVmMGQ5ZmRkNDllZmRiYjg0ZmM4ZDU5ZTM0YTMzYjMwMDAwIiwiZmVmMGQ5ZmRkNDllZmRiYjg0ZmM4ZDU5ZWY2NTQ4ZDczMDFmOTkwMDAwIiwiZmZmN2VjZmVlOGM4ZmRkNDllZmRiYjg0ZmM4ZDU5ZWY2NTQ4ZDczMDFmOTkwMDAwIiwiZmZmN2VjZmVlOGM4ZmRkNDllZmRiYjg0ZmM4ZDU5ZWY2NTQ4ZDczMDFmYjMwMDAwN2YwMDAwIikubWFwKHN2KSxHdj1tdihYdiksVnY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWNlMmYwYTZiZGRiMWM5MDk5IiwiZjZlZmY3YmRjOWUxNjdhOWNmMDI4MThhIiwiZjZlZmY3YmRjOWUxNjdhOWNmMWM5MDk5MDE2YzU5IiwiZjZlZmY3ZDBkMWU2YTZiZGRiNjdhOWNmMWM5MDk5MDE2YzU5IiwiZjZlZmY3ZDBkMWU2YTZiZGRiNjdhOWNmMzY5MGMwMDI4MThhMDE2NDUwIiwiZmZmN2ZiZWNlMmYwZDBkMWU2YTZiZGRiNjdhOWNmMzY5MGMwMDI4MThhMDE2NDUwIiwiZmZmN2ZiZWNlMmYwZDBkMWU2YTZiZGRiNjdhOWNmMzY5MGMwMDI4MThhMDE2YzU5MDE0NjM2IikubWFwKHN2KSwkdj1tdihWdiksV3Y9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWNlN2YyYTZiZGRiMmI4Y2JlIiwiZjFlZWY2YmRjOWUxNzRhOWNmMDU3MGIwIiwiZjFlZWY2YmRjOWUxNzRhOWNmMmI4Y2JlMDQ1YThkIiwiZjFlZWY2ZDBkMWU2YTZiZGRiNzRhOWNmMmI4Y2JlMDQ1YThkIiwiZjFlZWY2ZDBkMWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIwMDM0ZTdiIiwiZmZmN2ZiZWNlN2YyZDBkMWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIwMDM0ZTdiIiwiZmZmN2ZiZWNlN2YyZDBkMWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIwMDQ1YThkMDIzODU4IikubWFwKHN2KSxadj1tdihXdiksUXY9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTdlMWVmYzk5NGM3ZGQxYzc3IiwiZjFlZWY2ZDdiNWQ4ZGY2NWIwY2UxMjU2IiwiZjFlZWY2ZDdiNWQ4ZGY2NWIwZGQxYzc3OTgwMDQzIiwiZjFlZWY2ZDRiOWRhYzk5NGM3ZGY2NWIwZGQxYzc3OTgwMDQzIiwiZjFlZWY2ZDRiOWRhYzk5NGM3ZGY2NWIwZTcyOThhY2UxMjU2OTEwMDNmIiwiZjdmNGY5ZTdlMWVmZDRiOWRhYzk5NGM3ZGY2NWIwZTcyOThhY2UxMjU2OTEwMDNmIiwiZjdmNGY5ZTdlMWVmZDRiOWRhYzk5NGM3ZGY2NWIwZTcyOThhY2UxMjU2OTgwMDQzNjcwMDFmIikubWFwKHN2KSxKdj1tdihRdiksS3Y9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmRlMGRkZmE5ZmI1YzUxYjhhIiwiZmVlYmUyZmJiNGI5Zjc2OGExYWUwMTdlIiwiZmVlYmUyZmJiNGI5Zjc2OGExYzUxYjhhN2EwMTc3IiwiZmVlYmUyZmNjNWMwZmE5ZmI1Zjc2OGExYzUxYjhhN2EwMTc3IiwiZmVlYmUyZmNjNWMwZmE5ZmI1Zjc2OGExZGQzNDk3YWUwMTdlN2EwMTc3IiwiZmZmN2YzZmRlMGRkZmNjNWMwZmE5ZmI1Zjc2OGExZGQzNDk3YWUwMTdlN2EwMTc3IiwiZmZmN2YzZmRlMGRkZmNjNWMwZmE5ZmI1Zjc2OGExZGQzNDk3YWUwMTdlN2EwMTc3NDkwMDZhIikubWFwKHN2KSx0Zz1tdihLdiksbmc9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWRmOGIxN2ZjZGJiMmM3ZmI4IiwiZmZmZmNjYTFkYWI0NDFiNmM0MjI1ZWE4IiwiZmZmZmNjYTFkYWI0NDFiNmM0MmM3ZmI4MjUzNDk0IiwiZmZmZmNjYzdlOWI0N2ZjZGJiNDFiNmM0MmM3ZmI4MjUzNDk0IiwiZmZmZmNjYzdlOWI0N2ZjZGJiNDFiNmM0MWQ5MWMwMjI1ZWE4MGMyYzg0IiwiZmZmZmQ5ZWRmOGIxYzdlOWI0N2ZjZGJiNDFiNmM0MWQ5MWMwMjI1ZWE4MGMyYzg0IiwiZmZmZmQ5ZWRmOGIxYzdlOWI0N2ZjZGJiNDFiNmM0MWQ5MWMwMjI1ZWE4MjUzNDk0MDgxZDU4IikubWFwKHN2KSxlZz1tdihuZykscmc9bmV3IEFycmF5KDMpLmNvbmNhdCgiZjdmY2I5YWRkZDhlMzFhMzU0IiwiZmZmZmNjYzJlNjk5NzhjNjc5MjM4NDQzIiwiZmZmZmNjYzJlNjk5NzhjNjc5MzFhMzU0MDA2ODM3IiwiZmZmZmNjZDlmMGEzYWRkZDhlNzhjNjc5MzFhMzU0MDA2ODM3IiwiZmZmZmNjZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4NDQzMDA1YTMyIiwiZmZmZmU1ZjdmY2I5ZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4NDQzMDA1YTMyIiwiZmZmZmU1ZjdmY2I5ZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4NDQzMDA2ODM3MDA0NTI5IikubWFwKHN2KSxpZz1tdihyZyksb2c9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmZmN2JjZmVjNDRmZDk1ZjBlIiwiZmZmZmQ0ZmVkOThlZmU5OTI5Y2M0YzAyIiwiZmZmZmQ0ZmVkOThlZmU5OTI5ZDk1ZjBlOTkzNDA0IiwiZmZmZmQ0ZmVlMzkxZmVjNDRmZmU5OTI5ZDk1ZjBlOTkzNDA0IiwiZmZmZmQ0ZmVlMzkxZmVjNDRmZmU5OTI5ZWM3MDE0Y2M0YzAyOGMyZDA0IiwiZmZmZmU1ZmZmN2JjZmVlMzkxZmVjNDRmZmU5OTI5ZWM3MDE0Y2M0YzAyOGMyZDA0IiwiZmZmZmU1ZmZmN2JjZmVlMzkxZmVjNDRmZmU5OTI5ZWM3MDE0Y2M0YzAyOTkzNDA0NjYyNTA2IikubWFwKHN2KSxhZz1tdihvZyksdWc9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmZlZGEwZmViMjRjZjAzYjIwIiwiZmZmZmIyZmVjYzVjZmQ4ZDNjZTMxYTFjIiwiZmZmZmIyZmVjYzVjZmQ4ZDNjZjAzYjIwYmQwMDI2IiwiZmZmZmIyZmVkOTc2ZmViMjRjZmQ4ZDNjZjAzYjIwYmQwMDI2IiwiZmZmZmIyZmVkOTc2ZmViMjRjZmQ4ZDNjZmM0ZTJhZTMxYTFjYjEwMDI2IiwiZmZmZmNjZmZlZGEwZmVkOTc2ZmViMjRjZmQ4ZDNjZmM0ZTJhZTMxYTFjYjEwMDI2IiwiZmZmZmNjZmZlZGEwZmVkOTc2ZmViMjRjZmQ4ZDNjZmM0ZTJhZTMxYTFjYmQwMDI2ODAwMDI2IikubWFwKHN2KSxmZz1tdih1ZyksY2c9bmV3IEFycmF5KDMpLmNvbmNhdCgiZGVlYmY3OWVjYWUxMzE4MmJkIiwiZWZmM2ZmYmRkN2U3NmJhZWQ2MjE3MWI1IiwiZWZmM2ZmYmRkN2U3NmJhZWQ2MzE4MmJkMDg1MTljIiwiZWZmM2ZmYzZkYmVmOWVjYWUxNmJhZWQ2MzE4MmJkMDg1MTljIiwiZWZmM2ZmYzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg0NTk0IiwiZjdmYmZmZGVlYmY3YzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg0NTk0IiwiZjdmYmZmZGVlYmY3YzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg1MTljMDgzMDZiIikubWFwKHN2KSxzZz1tdihjZyksbGc9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTVmNWUwYTFkOTliMzFhMzU0IiwiZWRmOGU5YmFlNGIzNzRjNDc2MjM4YjQ1IiwiZWRmOGU5YmFlNGIzNzRjNDc2MzFhMzU0MDA2ZDJjIiwiZWRmOGU5YzdlOWMwYTFkOTliNzRjNDc2MzFhMzU0MDA2ZDJjIiwiZWRmOGU5YzdlOWMwYTFkOTliNzRjNDc2NDFhYjVkMjM4YjQ1MDA1YTMyIiwiZjdmY2Y1ZTVmNWUwYzdlOWMwYTFkOTliNzRjNDc2NDFhYjVkMjM4YjQ1MDA1YTMyIiwiZjdmY2Y1ZTVmNWUwYzdlOWMwYTFkOTliNzRjNDc2NDFhYjVkMjM4YjQ1MDA2ZDJjMDA0NDFiIikubWFwKHN2KSxoZz1tdihsZyksZGc9bmV3IEFycmF5KDMpLmNvbmNhdCgiZjBmMGYwYmRiZGJkNjM2MzYzIiwiZjdmN2Y3Y2NjY2NjOTY5Njk2NTI1MjUyIiwiZjdmN2Y3Y2NjY2NjOTY5Njk2NjM2MzYzMjUyNTI1IiwiZjdmN2Y3ZDlkOWQ5YmRiZGJkOTY5Njk2NjM2MzYzMjUyNTI1IiwiZjdmN2Y3ZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1IiwiZmZmZmZmZjBmMGYwZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1IiwiZmZmZmZmZjBmMGYwZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1MDAwMDAwIikubWFwKHN2KSxwZz1tdihkZyksdmc9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWZlZGY1YmNiZGRjNzU2YmIxIiwiZjJmMGY3Y2JjOWUyOWU5YWM4NmE1MWEzIiwiZjJmMGY3Y2JjOWUyOWU5YWM4NzU2YmIxNTQyNzhmIiwiZjJmMGY3ZGFkYWViYmNiZGRjOWU5YWM4NzU2YmIxNTQyNzhmIiwiZjJmMGY3ZGFkYWViYmNiZGRjOWU5YWM4ODA3ZGJhNmE1MWEzNGExNDg2IiwiZmNmYmZkZWZlZGY1ZGFkYWViYmNiZGRjOWU5YWM4ODA3ZGJhNmE1MWEzNGExNDg2IiwiZmNmYmZkZWZlZGY1ZGFkYWViYmNiZGRjOWU5YWM4ODA3ZGJhNmE1MWEzNTQyNzhmM2YwMDdkIikubWFwKHN2KSxnZz1tdih2ZykseWc9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmVlMGQyZmM5MjcyZGUyZDI2IiwiZmVlNWQ5ZmNhZTkxZmI2YTRhY2IxODFkIiwiZmVlNWQ5ZmNhZTkxZmI2YTRhZGUyZDI2YTUwZjE1IiwiZmVlNWQ5ZmNiYmExZmM5MjcyZmI2YTRhZGUyZDI2YTUwZjE1IiwiZmVlNWQ5ZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkOTkwMDBkIiwiZmZmNWYwZmVlMGQyZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkOTkwMDBkIiwiZmZmNWYwZmVlMGQyZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkYTUwZjE1NjcwMDBkIikubWFwKHN2KSxfZz1tdih5ZyksYmc9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmVlNmNlZmRhZTZiZTY1NTBkIiwiZmVlZGRlZmRiZTg1ZmQ4ZDNjZDk0NzAxIiwiZmVlZGRlZmRiZTg1ZmQ4ZDNjZTY1NTBkYTYzNjAzIiwiZmVlZGRlZmRkMGEyZmRhZTZiZmQ4ZDNjZTY1NTBkYTYzNjAzIiwiZmVlZGRlZmRkMGEyZmRhZTZiZmQ4ZDNjZjE2OTEzZDk0ODAxOGMyZDA0IiwiZmZmNWViZmVlNmNlZmRkMGEyZmRhZTZiZmQ4ZDNjZjE2OTEzZDk0ODAxOGMyZDA0IiwiZmZmNWViZmVlNmNlZmRkMGEyZmRhZTZiZmQ4ZDNjZjE2OTEzZDk0ODAxYTYzNjAzN2YyNzA0IikubWFwKHN2KSxtZz1tdihiZykseGc9R2UoS24oMzAwLC41LDApLEtuKC0yNDAsLjUsMSkpLHdnPUdlKEtuKC0xMDAsLjc1LC4zNSksS24oODAsMS41LC44KSksTWc9R2UoS24oMjYwLC43NSwuMzUpLEtuKDgwLDEuNSwuOCkpLEFnPUtuKCk7dmFyIFRnPWJuKCksTmc9TWF0aC5QSS8zLFNnPTIqTWF0aC5QSS8zO2Z1bmN0aW9uIEVnKHQpe3ZhciBuPXQubGVuZ3RoO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdFtNYXRoLm1heCgwLE1hdGgubWluKG4tMSxNYXRoLmZsb29yKGUqbikpKV19fXZhciBrZz1FZyhzdigiNDQwMTU0NDQwMjU2NDUwNDU3NDUwNTU5NDYwNzVhNDYwODVjNDYwYTVkNDYwYjVlNDcwZDYwNDcwZTYxNDcxMDYzNDcxMTY0NDcxMzY1NDgxNDY3NDgxNjY4NDgxNzY5NDgxODZhNDgxYTZjNDgxYjZkNDgxYzZlNDgxZDZmNDgxZjcwNDgyMDcxNDgyMTczNDgyMzc0NDgyNDc1NDgyNTc2NDgyNjc3NDgyODc4NDgyOTc5NDcyYTdhNDcyYzdhNDcyZDdiNDcyZTdjNDcyZjdkNDYzMDdlNDYzMjdlNDYzMzdmNDYzNDgwNDUzNTgxNDUzNzgxNDUzODgyNDQzOTgzNDQzYTgzNDQzYjg0NDMzZDg0NDMzZTg1NDIzZjg1NDI0MDg2NDI0MTg2NDE0Mjg3NDE0NDg3NDA0NTg4NDA0Njg4M2Y0Nzg4M2Y0ODg5M2U0OTg5M2U0YTg5M2U0YzhhM2Q0ZDhhM2Q0ZThhM2M0ZjhhM2M1MDhiM2I1MThiM2I1MjhiM2E1MzhiM2E1NDhjMzk1NThjMzk1NjhjMzg1ODhjMzg1OThjMzc1YThjMzc1YjhkMzY1YzhkMzY1ZDhkMzU1ZThkMzU1ZjhkMzQ2MDhkMzQ2MThkMzM2MjhkMzM2MzhkMzI2NDhlMzI2NThlMzE2NjhlMzE2NzhlMzE2ODhlMzA2OThlMzA2YThlMmY2YjhlMmY2YzhlMmU2ZDhlMmU2ZThlMmU2ZjhlMmQ3MDhlMmQ3MThlMmM3MThlMmM3MjhlMmM3MzhlMmI3NDhlMmI3NThlMmE3NjhlMmE3NzhlMmE3ODhlMjk3OThlMjk3YThlMjk3YjhlMjg3YzhlMjg3ZDhlMjc3ZThlMjc3ZjhlMjc4MDhlMjY4MThlMjY4MjhlMjY4MjhlMjU4MzhlMjU4NDhlMjU4NThlMjQ4NjhlMjQ4NzhlMjM4ODhlMjM4OThlMjM4YThkMjI4YjhkMjI4YzhkMjI4ZDhkMjE4ZThkMjE4ZjhkMjE5MDhkMjE5MThjMjA5MjhjMjA5MjhjMjA5MzhjMWY5NDhjMWY5NThiMWY5NjhiMWY5NzhiMWY5ODhiMWY5OThhMWY5YThhMWU5YjhhMWU5Yzg5MWU5ZDg5MWY5ZTg5MWY5Zjg4MWZhMDg4MWZhMTg4MWZhMTg3MWZhMjg3MjBhMzg2MjBhNDg2MjFhNTg1MjFhNjg1MjJhNzg1MjJhODg0MjNhOTgzMjRhYTgzMjVhYjgyMjVhYzgyMjZhZDgxMjdhZDgxMjhhZTgwMjlhZjdmMmFiMDdmMmNiMTdlMmRiMjdkMmViMzdjMmZiNDdjMzFiNTdiMzJiNjdhMzRiNjc5MzViNzc5MzdiODc4MzhiOTc3M2FiYTc2M2JiYjc1M2RiYzc0M2ZiYzczNDBiZDcyNDJiZTcxNDRiZjcwNDZjMDZmNDhjMTZlNGFjMTZkNGNjMjZjNGVjMzZiNTBjNDZhNTJjNTY5NTRjNTY4NTZjNjY3NThjNzY1NWFjODY0NWNjODYzNWVjOTYyNjBjYTYwNjNjYjVmNjVjYjVlNjdjYzVjNjljZDViNmNjZDVhNmVjZTU4NzBjZjU3NzNkMDU2NzVkMDU0NzdkMTUzN2FkMTUxN2NkMjUwN2ZkMzRlODFkMzRkODRkNDRiODZkNTQ5ODlkNTQ4OGJkNjQ2OGVkNjQ1OTBkNzQzOTNkNzQxOTVkODQwOThkODNlOWJkOTNjOWRkOTNiYTBkYTM5YTJkYTM3YTVkYjM2YThkYjM0YWFkYzMyYWRkYzMwYjBkZDJmYjJkZDJkYjVkZTJiYjhkZTI5YmFkZTI4YmRkZjI2YzBkZjI1YzJkZjIzYzVlMDIxYzhlMDIwY2FlMTFmY2RlMTFkZDBlMTFjZDJlMjFiZDVlMjFhZDhlMjE5ZGFlMzE5ZGRlMzE4ZGZlMzE4ZTJlNDE4ZTVlNDE5ZTdlNDE5ZWFlNTFhZWNlNTFiZWZlNTFjZjFlNTFkZjRlNjFlZjZlNjIwZjhlNjIxZmJlNzIzZmRlNzI1IikpLENnPUVnKHN2KCIwMDAwMDQwMTAwMDUwMTAxMDYwMTAxMDgwMjAxMDkwMjAyMGIwMjAyMGQwMzAzMGYwMzAzMTIwNDA0MTQwNTA0MTYwNjA1MTgwNjA1MWEwNzA2MWMwODA3MWUwOTA3MjAwYTA4MjIwYjA5MjQwYzA5MjYwZDBhMjkwZTBiMmIxMDBiMmQxMTBjMmYxMjBkMzExMzBkMzQxNDBlMzYxNTBlMzgxNjBmM2IxODBmM2QxOTEwM2YxYTEwNDIxYzEwNDQxZDExNDcxZTExNDkyMDExNGIyMTExNGUyMjExNTAyNDEyNTMyNTEyNTUyNzEyNTgyOTExNWEyYTExNWMyYzExNWYyZDExNjEyZjExNjMzMTExNjUzMzEwNjczNDEwNjkzNjEwNmIzODEwNmMzOTBmNmUzYjBmNzAzZDBmNzEzZjBmNzI0MDBmNzQ0MjBmNzU0NDBmNzY0NTEwNzc0NzEwNzg0OTEwNzg0YTEwNzk0YzExN2E0ZTExN2I0ZjEyN2I1MTEyN2M1MjEzN2M1NDEzN2Q1NjE0N2Q1NzE1N2U1OTE1N2U1YTE2N2U1YzE2N2Y1ZDE3N2Y1ZjE4N2Y2MDE4ODA2MjE5ODA2NDFhODA2NTFhODA2NzFiODA2ODFjODE2YTFjODE2YjFkODE2ZDFkODE2ZTFlODE3MDFmODE3MjFmODE3MzIwODE3NTIxODE3NjIxODE3ODIyODE3OTIyODI3YjIzODI3YzIzODI3ZTI0ODI4MDI1ODI4MTI1ODE4MzI2ODE4NDI2ODE4NjI3ODE4ODI3ODE4OTI4ODE4YjI5ODE4YzI5ODE4ZTJhODE5MDJhODE5MTJiODE5MzJiODA5NDJjODA5NjJjODA5ODJkODA5OTJkODA5YjJlN2Y5YzJlN2Y5ZTJmN2ZhMDJmN2ZhMTMwN2VhMzMwN2VhNTMxN2VhNjMxN2RhODMyN2RhYTMzN2RhYjMzN2NhZDM0N2NhZTM0N2JiMDM1N2JiMjM1N2JiMzM2N2FiNTM2N2FiNzM3NzliODM3NzliYTM4NzhiYzM5NzhiZDM5NzdiZjNhNzdjMDNhNzZjMjNiNzVjNDNjNzVjNTNjNzRjNzNkNzNjODNlNzNjYTNlNzJjYzNmNzFjZDQwNzFjZjQwNzBkMDQxNmZkMjQyNmZkMzQzNmVkNTQ0NmRkNjQ1NmNkODQ1NmNkOTQ2NmJkYjQ3NmFkYzQ4NjlkZTQ5NjhkZjRhNjhlMDRjNjdlMjRkNjZlMzRlNjVlNDRmNjRlNTUwNjRlNzUyNjNlODUzNjJlOTU0NjJlYTU2NjFlYjU3NjBlYzU4NjBlZDVhNWZlZTViNWVlZjVkNWVmMDVmNWVmMTYwNWRmMjYyNWRmMjY0NWNmMzY1NWNmNDY3NWNmNDY5NWNmNTZiNWNmNjZjNWNmNjZlNWNmNzcwNWNmNzcyNWNmODc0NWNmODc2NWNmOTc4NWRmOTc5NWRmOTdiNWRmYTdkNWVmYTdmNWVmYTgxNWZmYjgzNWZmYjg1NjBmYjg3NjFmYzg5NjFmYzhhNjJmYzhjNjNmYzhlNjRmYzkwNjVmZDkyNjZmZDk0NjdmZDk2NjhmZDk4NjlmZDlhNmFmZDliNmJmZTlkNmNmZTlmNmRmZWExNmVmZWEzNmZmZWE1NzFmZWE3NzJmZWE5NzNmZWFhNzRmZWFjNzZmZWFlNzdmZWIwNzhmZWIyN2FmZWI0N2JmZWI2N2NmZWI3N2VmZWI5N2ZmZWJiODFmZWJkODJmZWJmODRmZWMxODVmZWMyODdmZWM0ODhmZWM2OGFmZWM4OGNmZWNhOGRmZWNjOGZmZWNkOTBmZWNmOTJmZWQxOTRmZWQzOTVmZWQ1OTdmZWQ3OTlmZWQ4OWFmZGRhOWNmZGRjOWVmZGRlYTBmZGUwYTFmZGUyYTNmZGUzYTVmZGU1YTdmZGU3YTlmZGU5YWFmZGViYWNmY2VjYWVmY2VlYjBmY2YwYjJmY2YyYjRmY2Y0YjZmY2Y2YjhmY2Y3YjlmY2Y5YmJmY2ZiYmRmY2ZkYmYiKSksUGc9RWcoc3YoIjAwMDAwNDAxMDAwNTAxMDEwNjAxMDEwODAyMDEwYTAyMDIwYzAyMDIwZTAzMDIxMDA0MDMxMjA0MDMxNDA1MDQxNzA2MDQxOTA3MDUxYjA4MDUxZDA5MDYxZjBhMDcyMjBiMDcyNDBjMDgyNjBkMDgyOTBlMDkyYjEwMDkyZDExMGEzMDEyMGEzMjE0MGIzNDE1MGIzNzE2MGIzOTE4MGMzYzE5MGMzZTFiMGM0MTFjMGM0MzFlMGM0NTFmMGM0ODIxMGM0YTIzMGM0YzI0MGM0ZjI2MGM1MTI4MGI1MzI5MGI1NTJiMGI1NzJkMGI1OTJmMGE1YjMxMGE1YzMyMGE1ZTM0MGE1ZjM2MDk2MTM4MDk2MjM5MDk2MzNiMDk2NDNkMDk2NTNlMDk2NjQwMGE2NzQyMGE2ODQ0MGE2ODQ1MGE2OTQ3MGI2YTQ5MGI2YTRhMGM2YjRjMGM2YjRkMGQ2YzRmMGQ2YzUxMGU2YzUyMGU2ZDU0MGY2ZDU1MGY2ZDU3MTA2ZTU5MTA2ZTVhMTE2ZTVjMTI2ZTVkMTI2ZTVmMTM2ZTYxMTM2ZTYyMTQ2ZTY0MTU2ZTY1MTU2ZTY3MTY2ZTY5MTY2ZTZhMTc2ZTZjMTg2ZTZkMTg2ZTZmMTk2ZTcxMTk2ZTcyMWE2ZTc0MWE2ZTc1MWI2ZTc3MWM2ZDc4MWM2ZDdhMWQ2ZDdjMWQ2ZDdkMWU2ZDdmMWU2YzgwMWY2YzgyMjA2Yzg0MjA2Yjg1MjE2Yjg3MjE2Yjg4MjI2YThhMjI2YThjMjM2OThkMjM2OThmMjQ2OTkwMjU2ODkyMjU2ODkzMjY2Nzk1MjY2Nzk3Mjc2Njk4Mjc2NjlhMjg2NTliMjk2NDlkMjk2NDlmMmE2M2EwMmE2M2EyMmI2MmEzMmM2MWE1MmM2MGE2MmQ2MGE4MmU1ZmE5MmU1ZWFiMmY1ZWFkMzA1ZGFlMzA1Y2IwMzE1YmIxMzI1YWIzMzI1YWI0MzM1OWI2MzQ1OGI3MzU1N2I5MzU1NmJhMzY1NWJjMzc1NGJkMzg1M2JmMzk1MmMwM2E1MWMxM2E1MGMzM2I0ZmM0M2M0ZWM2M2Q0ZGM3M2U0Y2M4M2Y0YmNhNDA0YWNiNDE0OWNjNDI0OGNlNDM0N2NmNDQ0NmQwNDU0NWQyNDY0NGQzNDc0M2Q0NDg0MmQ1NGE0MWQ3NGIzZmQ4NGMzZWQ5NGQzZGRhNGUzY2RiNTAzYmRkNTEzYWRlNTIzOGRmNTMzN2UwNTUzNmUxNTYzNWUyNTczNGUzNTkzM2U0NWEzMWU1NWMzMGU2NWQyZmU3NWUyZWU4NjAyZGU5NjEyYmVhNjMyYWViNjQyOWViNjYyOGVjNjcyNmVkNjkyNWVlNmEyNGVmNmMyM2VmNmUyMWYwNmYyMGYxNzExZmYxNzMxZGYyNzQxY2YzNzYxYmYzNzgxOWY0NzkxOGY1N2IxN2Y1N2QxNWY2N2UxNGY2ODAxM2Y3ODIxMmY3ODQxMGY4ODUwZmY4ODcwZWY4ODkwY2Y5OGIwYmY5OGMwYWY5OGUwOWZhOTAwOGZhOTIwN2ZhOTQwN2ZiOTYwNmZiOTcwNmZiOTkwNmZiOWIwNmZiOWQwN2ZjOWYwN2ZjYTEwOGZjYTMwOWZjYTUwYWZjYTYwY2ZjYTgwZGZjYWEwZmZjYWMxMWZjYWUxMmZjYjAxNGZjYjIxNmZjYjQxOGZiYjYxYWZiYjgxZGZiYmExZmZiYmMyMWZiYmUyM2ZhYzAyNmZhYzIyOGZhYzQyYWZhYzYyZGY5YzcyZmY5YzkzMmY5Y2IzNWY4Y2QzN2Y4Y2YzYWY3ZDEzZGY3ZDM0MGY2ZDU0M2Y2ZDc0NmY1ZDk0OWY1ZGI0Y2Y0ZGQ0ZmY0ZGY1M2Y0ZTE1NmYzZTM1YWYzZTU1ZGYyZTY2MWYyZTg2NWYyZWE2OWYxZWM2ZGYxZWQ3MWYxZWY3NWYxZjE3OWYyZjI3ZGYyZjQ4MmYzZjU4NmYzZjY4YWY0Zjg4ZWY1Zjk5MmY2ZmE5NmY4ZmI5YWY5ZmM5ZGZhZmRhMWZjZmZhNCIpKSx6Zz1FZyhzdigiMGQwODg3MTAwNzg4MTMwNzg5MTYwNzhhMTkwNjhjMWIwNjhkMWQwNjhlMjAwNjhmMjIwNjkwMjQwNjkxMjYwNTkxMjgwNTkyMmEwNTkzMmMwNTk0MmUwNTk1MmYwNTk2MzEwNTk3MzMwNTk3MzUwNDk4MzcwNDk5MzgwNDlhM2EwNDlhM2MwNDliM2UwNDljM2YwNDljNDEwNDlkNDMwMzllNDQwMzllNDYwMzlmNDgwMzlmNDkwM2EwNGIwM2ExNGMwMmExNGUwMmEyNTAwMmEyNTEwMmEzNTMwMmEzNTUwMmE0NTYwMWE0NTgwMWE0NTkwMWE1NWIwMWE1NWMwMWE2NWUwMWE2NjAwMWE2NjEwMGE3NjMwMGE3NjQwMGE3NjYwMGE3NjcwMGE4NjkwMGE4NmEwMGE4NmMwMGE4NmUwMGE4NmYwMGE4NzEwMGE4NzIwMWE4NzQwMWE4NzUwMWE4NzcwMWE4NzgwMWE4N2EwMmE4N2IwMmE4N2QwM2E4N2UwM2E4ODAwNGE4ODEwNGE3ODMwNWE3ODQwNWE3ODYwNmE2ODcwN2E2ODgwOGE2OGEwOWE1OGIwYWE1OGQwYmE1OGUwY2E0OGYwZGE0OTEwZWEzOTIwZmEzOTQxMGEyOTUxMWExOTYxM2ExOTgxNGEwOTkxNTlmOWExNjlmOWMxNzllOWQxODlkOWUxOTlkYTAxYTljYTExYjliYTIxZDlhYTMxZTlhYTUxZjk5YTYyMDk4YTcyMTk3YTgyMjk2YWEyMzk1YWIyNDk0YWMyNjk0YWQyNzkzYWUyODkyYjAyOTkxYjEyYTkwYjIyYjhmYjMyYzhlYjQyZThkYjUyZjhjYjYzMDhiYjczMThhYjgzMjg5YmEzMzg4YmIzNDg4YmMzNTg3YmQzNzg2YmUzODg1YmYzOTg0YzAzYTgzYzEzYjgyYzIzYzgxYzMzZDgwYzQzZTdmYzU0MDdlYzY0MTdkYzc0MjdjYzg0MzdiYzk0NDdhY2E0NTdhY2I0Njc5Y2M0Nzc4Y2M0OTc3Y2Q0YTc2Y2U0Yjc1Y2Y0Yzc0ZDA0ZDczZDE0ZTcyZDI0ZjcxZDM1MTcxZDQ1MjcwZDU1MzZmZDU1NDZlZDY1NTZkZDc1NjZjZDg1NzZiZDk1ODZhZGE1YTZhZGE1YjY5ZGI1YzY4ZGM1ZDY3ZGQ1ZTY2ZGU1ZjY1ZGU2MTY0ZGY2MjYzZTA2MzYzZTE2NDYyZTI2NTYxZTI2NjYwZTM2ODVmZTQ2OTVlZTU2YTVkZTU2YjVkZTY2YzVjZTc2ZTViZTc2ZjVhZTg3MDU5ZTk3MTU4ZTk3MjU3ZWE3NDU3ZWI3NTU2ZWI3NjU1ZWM3NzU0ZWQ3OTUzZWQ3YTUyZWU3YjUxZWY3YzUxZWY3ZTUwZjA3ZjRmZjA4MDRlZjE4MTRkZjE4MzRjZjI4NDRiZjM4NTRiZjM4NzRhZjQ4ODQ5ZjQ4OTQ4ZjU4YjQ3ZjU4YzQ2ZjY4ZDQ1ZjY4ZjQ0Zjc5MDQ0Zjc5MTQzZjc5MzQyZjg5NDQxZjg5NTQwZjk5NzNmZjk5ODNlZjk5YTNlZmE5YjNkZmE5YzNjZmE5ZTNiZmI5ZjNhZmJhMTM5ZmJhMjM4ZmNhMzM4ZmNhNTM3ZmNhNjM2ZmNhODM1ZmNhOTM0ZmRhYjMzZmRhYzMzZmRhZTMyZmRhZjMxZmRiMTMwZmRiMjJmZmRiNDJmZmRiNTJlZmViNzJkZmViODJjZmViYTJjZmViYjJiZmViZDJhZmViZTJhZmVjMDI5ZmRjMjI5ZmRjMzI4ZmRjNTI3ZmRjNjI3ZmRjODI3ZmRjYTI2ZmRjYjI2ZmNjZDI1ZmNjZTI1ZmNkMDI1ZmNkMjI1ZmJkMzI0ZmJkNTI0ZmJkNzI0ZmFkODI0ZmFkYTI0ZjlkYzI0ZjlkZDI1ZjhkZjI1ZjhlMTI1ZjdlMjI1ZjdlNDI1ZjZlNjI2ZjZlODI2ZjVlOTI2ZjVlYjI3ZjRlZDI3ZjNlZTI3ZjNmMDI3ZjJmMjI3ZjFmNDI2ZjFmNTI1ZjBmNzI0ZjBmOTIxIikpO2Z1bmN0aW9uIFJnKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX12YXIgTGc9TWF0aC5hYnMsRGc9TWF0aC5hdGFuMixVZz1NYXRoLmNvcyxxZz1NYXRoLm1heCxPZz1NYXRoLm1pbixZZz1NYXRoLnNpbixCZz1NYXRoLnNxcnQsRmc9MWUtMTIsSWc9TWF0aC5QSSxIZz1JZy8yLGpnPTIqSWc7ZnVuY3Rpb24gWGcodCl7cmV0dXJuIHQ+PTE/SGc6dDw9LTE/LUhnOk1hdGguYXNpbih0KX1mdW5jdGlvbiBHZyh0KXtyZXR1cm4gdC5pbm5lclJhZGl1c31mdW5jdGlvbiBWZyh0KXtyZXR1cm4gdC5vdXRlclJhZGl1c31mdW5jdGlvbiAkZyh0KXtyZXR1cm4gdC5zdGFydEFuZ2xlfWZ1bmN0aW9uIFdnKHQpe3JldHVybiB0LmVuZEFuZ2xlfWZ1bmN0aW9uIFpnKHQpe3JldHVybiB0JiZ0LnBhZEFuZ2xlfWZ1bmN0aW9uIFFnKHQsbixlLHIsaSxvLGEpe3ZhciB1PXQtZSxmPW4tcixjPShhP286LW8pL0JnKHUqdStmKmYpLHM9YypmLGw9LWMqdSxoPXQrcyxkPW4rbCxwPWUrcyx2PXIrbCxnPShoK3ApLzIseT0oZCt2KS8yLF89cC1oLGI9di1kLG09XypfK2IqYix4PWktbyx3PWgqdi1wKmQsTT0oYjwwPy0xOjEpKkJnKHFnKDAseCp4Km0tdyp3KSksQT0odypiLV8qTSkvbSxUPSgtdypfLWIqTSkvbSxOPSh3KmIrXypNKS9tLFM9KC13Kl8rYipNKS9tLEU9QS1nLGs9VC15LEM9Ti1nLFA9Uy15O3JldHVybiBFKkUrayprPkMqQytQKlAmJihBPU4sVD1TKSx7Y3g6QSxjeTpULHgwMTotcyx5MDE6LWwseDExOkEqKGkveC0xKSx5MTE6VCooaS94LTEpfX1mdW5jdGlvbiBKZyh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gS2codCl7cmV0dXJuIG5ldyBKZyh0KX1mdW5jdGlvbiB0eSh0KXtyZXR1cm4gdFswXX1mdW5jdGlvbiBueSh0KXtyZXR1cm4gdFsxXX1mdW5jdGlvbiBleSgpe3ZhciB0PXR5LG49bnksZT1SZyghMCkscj1udWxsLGk9S2csbz1udWxsO2Z1bmN0aW9uIGEoYSl7dmFyIHUsZixjLHM9YS5sZW5ndGgsbD0hMTtmb3IobnVsbD09ciYmKG89aShjPUdpKCkpKSx1PTA7dTw9czsrK3UpISh1PHMmJmUoZj1hW3VdLHUsYSkpPT09bCYmKChsPSFsKT9vLmxpbmVTdGFydCgpOm8ubGluZUVuZCgpKSxsJiZvLnBvaW50KCt0KGYsdSxhKSwrbihmLHUsYSkpO2lmKGMpcmV0dXJuIG89bnVsbCxjKyIifHxudWxsfXJldHVybiBhLng9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpSZygrbiksYSk6dH0sYS55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UmcoK3QpLGEpOm59LGEuZGVmaW5lZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlJnKCEhdCksYSk6ZX0sYS5jdXJ2ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT10LG51bGwhPXImJihvPWkocikpLGEpOml9LGEuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obnVsbD09dD9yPW89bnVsbDpvPWkocj10KSxhKTpyfSxhfWZ1bmN0aW9uIHJ5KCl7dmFyIHQ9dHksbj1udWxsLGU9UmcoMCkscj1ueSxpPVJnKCEwKSxvPW51bGwsYT1LZyx1PW51bGw7ZnVuY3Rpb24gZihmKXt2YXIgYyxzLGwsaCxkLHA9Zi5sZW5ndGgsdj0hMSxnPW5ldyBBcnJheShwKSx5PW5ldyBBcnJheShwKTtmb3IobnVsbD09byYmKHU9YShkPUdpKCkpKSxjPTA7Yzw9cDsrK2Mpe2lmKCEoYzxwJiZpKGg9ZltjXSxjLGYpKT09PXYpaWYodj0hdilzPWMsdS5hcmVhU3RhcnQoKSx1LmxpbmVTdGFydCgpO2Vsc2V7Zm9yKHUubGluZUVuZCgpLHUubGluZVN0YXJ0KCksbD1jLTE7bD49czstLWwpdS5wb2ludChnW2xdLHlbbF0pO3UubGluZUVuZCgpLHUuYXJlYUVuZCgpfXYmJihnW2NdPSt0KGgsYyxmKSx5W2NdPStlKGgsYyxmKSx1LnBvaW50KG4/K24oaCxjLGYpOmdbY10scj8rcihoLGMsZik6eVtjXSkpfWlmKGQpcmV0dXJuIHU9bnVsbCxkKyIifHxudWxsfWZ1bmN0aW9uIGMoKXtyZXR1cm4gZXkoKS5kZWZpbmVkKGkpLmN1cnZlKGEpLmNvbnRleHQobyl9cmV0dXJuIGYueD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOlJnKCtlKSxuPW51bGwsZik6dH0sZi54MD1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOlJnKCtuKSxmKTp0fSxmLngxPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPW51bGw9PXQ/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OlJnKCt0KSxmKTpufSxmLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpSZygrdCkscj1udWxsLGYpOmV9LGYueTA9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpSZygrdCksZik6ZX0sZi55MT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj1udWxsPT10P251bGw6ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpSZygrdCksZik6cn0sZi5saW5lWDA9Zi5saW5lWTA9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngodCkueShlKX0sZi5saW5lWTE9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngodCkueShyKX0sZi5saW5lWDE9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngobikueShlKX0sZi5kZWZpbmVkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UmcoISF0KSxmKTppfSxmLmN1cnZlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXQsbnVsbCE9byYmKHU9YShvKSksZik6YX0sZi5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhudWxsPT10P289dT1udWxsOnU9YShvPXQpLGYpOm99LGZ9ZnVuY3Rpb24gaXkodCxuKXtyZXR1cm4gbjx0Py0xOm4+dD8xOm4+PXQ/MDpOYU59ZnVuY3Rpb24gb3kodCl7cmV0dXJuIHR9SmcucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpeyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxuKXtzd2l0Y2godD0rdCxuPStuLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsbik6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxuKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjtkZWZhdWx0OnRoaXMuX2NvbnRleHQubGluZVRvKHQsbil9fX07dmFyIGF5PWZ5KEtnKTtmdW5jdGlvbiB1eSh0KXt0aGlzLl9jdXJ2ZT10fWZ1bmN0aW9uIGZ5KHQpe2Z1bmN0aW9uIG4obil7cmV0dXJuIG5ldyB1eSh0KG4pKX1yZXR1cm4gbi5fY3VydmU9dCxufWZ1bmN0aW9uIGN5KHQpe3ZhciBuPXQuY3VydmU7cmV0dXJuIHQuYW5nbGU9dC54LGRlbGV0ZSB0LngsdC5yYWRpdXM9dC55LGRlbGV0ZSB0LnksdC5jdXJ2ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9uKGZ5KHQpKTpuKCkuX2N1cnZlfSx0fWZ1bmN0aW9uIHN5KCl7cmV0dXJuIGN5KGV5KCkuY3VydmUoYXkpKX1mdW5jdGlvbiBseSgpe3ZhciB0PXJ5KCkuY3VydmUoYXkpLG49dC5jdXJ2ZSxlPXQubGluZVgwLHI9dC5saW5lWDEsaT10LmxpbmVZMCxvPXQubGluZVkxO3JldHVybiB0LmFuZ2xlPXQueCxkZWxldGUgdC54LHQuc3RhcnRBbmdsZT10LngwLGRlbGV0ZSB0LngwLHQuZW5kQW5nbGU9dC54MSxkZWxldGUgdC54MSx0LnJhZGl1cz10LnksZGVsZXRlIHQueSx0LmlubmVyUmFkaXVzPXQueTAsZGVsZXRlIHQueTAsdC5vdXRlclJhZGl1cz10LnkxLGRlbGV0ZSB0LnkxLHQubGluZVN0YXJ0QW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gY3koZSgpKX0sZGVsZXRlIHQubGluZVgwLHQubGluZUVuZEFuZ2xlPWZ1bmN0aW9uKCl7cmV0dXJuIGN5KHIoKSl9LGRlbGV0ZSB0LmxpbmVYMSx0LmxpbmVJbm5lclJhZGl1cz1mdW5jdGlvbigpe3JldHVybiBjeShpKCkpfSxkZWxldGUgdC5saW5lWTAsdC5saW5lT3V0ZXJSYWRpdXM9ZnVuY3Rpb24oKXtyZXR1cm4gY3kobygpKX0sZGVsZXRlIHQubGluZVkxLHQuY3VydmU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/bihmeSh0KSk6bigpLl9jdXJ2ZX0sdH1mdW5jdGlvbiBoeSh0LG4pe3JldHVyblsobj0rbikqTWF0aC5jb3ModC09TWF0aC5QSS8yKSxuKk1hdGguc2luKHQpXX11eS5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2N1cnZlLmFyZWFTdGFydCgpfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fY3VydmUuYXJlYUVuZCgpfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9jdXJ2ZS5saW5lU3RhcnQoKX0sbGluZUVuZDpmdW5jdGlvbigpe3RoaXMuX2N1cnZlLmxpbmVFbmQoKX0scG9pbnQ6ZnVuY3Rpb24odCxuKXt0aGlzLl9jdXJ2ZS5wb2ludChuKk1hdGguc2luKHQpLG4qLU1hdGguY29zKHQpKX19O3ZhciBkeT1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gcHkodCl7cmV0dXJuIHQuc291cmNlfWZ1bmN0aW9uIHZ5KHQpe3JldHVybiB0LnRhcmdldH1mdW5jdGlvbiBneSh0KXt2YXIgbj1weSxlPXZ5LHI9dHksaT1ueSxvPW51bGw7ZnVuY3Rpb24gYSgpe3ZhciBhLHU9ZHkuY2FsbChhcmd1bWVudHMpLGY9bi5hcHBseSh0aGlzLHUpLGM9ZS5hcHBseSh0aGlzLHUpO2lmKG98fChvPWE9R2koKSksdChvLCtyLmFwcGx5KHRoaXMsKHVbMF09Zix1KSksK2kuYXBwbHkodGhpcyx1KSwrci5hcHBseSh0aGlzLCh1WzBdPWMsdSkpLCtpLmFwcGx5KHRoaXMsdSkpLGEpcmV0dXJuIG89bnVsbCxhKyIifHxudWxsfXJldHVybiBhLnNvdXJjZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10LGEpOm59LGEudGFyZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXQsYSk6ZX0sYS54PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UmcoK3QpLGEpOnJ9LGEueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlJnKCt0KSxhKTppfSxhLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89bnVsbD09dD9udWxsOnQsYSk6b30sYX1mdW5jdGlvbiB5eSh0LG4sZSxyLGkpe3QubW92ZVRvKG4sZSksdC5iZXppZXJDdXJ2ZVRvKG49KG4rcikvMixlLG4saSxyLGkpfWZ1bmN0aW9uIF95KHQsbixlLHIsaSl7dC5tb3ZlVG8obixlKSx0LmJlemllckN1cnZlVG8obixlPShlK2kpLzIscixlLHIsaSl9ZnVuY3Rpb24gYnkodCxuLGUscixpKXt2YXIgbz1oeShuLGUpLGE9aHkobixlPShlK2kpLzIpLHU9aHkocixlKSxmPWh5KHIsaSk7dC5tb3ZlVG8ob1swXSxvWzFdKSx0LmJlemllckN1cnZlVG8oYVswXSxhWzFdLHVbMF0sdVsxXSxmWzBdLGZbMV0pfXZhciBteT17ZHJhdzpmdW5jdGlvbih0LG4pe3ZhciBlPU1hdGguc3FydChuL0lnKTt0Lm1vdmVUbyhlLDApLHQuYXJjKDAsMCxlLDAsamcpfX0seHk9e2RyYXc6ZnVuY3Rpb24odCxuKXt2YXIgZT1NYXRoLnNxcnQobi81KS8yO3QubW92ZVRvKC0zKmUsLWUpLHQubGluZVRvKC1lLC1lKSx0LmxpbmVUbygtZSwtMyplKSx0LmxpbmVUbyhlLC0zKmUpLHQubGluZVRvKGUsLWUpLHQubGluZVRvKDMqZSwtZSksdC5saW5lVG8oMyplLGUpLHQubGluZVRvKGUsZSksdC5saW5lVG8oZSwzKmUpLHQubGluZVRvKC1lLDMqZSksdC5saW5lVG8oLWUsZSksdC5saW5lVG8oLTMqZSxlKSx0LmNsb3NlUGF0aCgpfX0sd3k9TWF0aC5zcXJ0KDEvMyksTXk9Mip3eSxBeT17ZHJhdzpmdW5jdGlvbih0LG4pe3ZhciBlPU1hdGguc3FydChuL015KSxyPWUqd3k7dC5tb3ZlVG8oMCwtZSksdC5saW5lVG8ociwwKSx0LmxpbmVUbygwLGUpLHQubGluZVRvKC1yLDApLHQuY2xvc2VQYXRoKCl9fSxUeT1NYXRoLnNpbihJZy8xMCkvTWF0aC5zaW4oNypJZy8xMCksTnk9TWF0aC5zaW4oamcvMTApKlR5LFN5PS1NYXRoLmNvcyhqZy8xMCkqVHksRXk9e2RyYXc6ZnVuY3Rpb24odCxuKXt2YXIgZT1NYXRoLnNxcnQoLjg5MDgxMzA5MTUyOTI4NTIqbikscj1OeSplLGk9U3kqZTt0Lm1vdmVUbygwLC1lKSx0LmxpbmVUbyhyLGkpO2Zvcih2YXIgbz0xO288NTsrK28pe3ZhciBhPWpnKm8vNSx1PU1hdGguY29zKGEpLGY9TWF0aC5zaW4oYSk7dC5saW5lVG8oZiplLC11KmUpLHQubGluZVRvKHUqci1mKmksZipyK3UqaSl9dC5jbG9zZVBhdGgoKX19LGt5PXtkcmF3OmZ1bmN0aW9uKHQsbil7dmFyIGU9TWF0aC5zcXJ0KG4pLHI9LWUvMjt0LnJlY3QocixyLGUsZSl9fSxDeT1NYXRoLnNxcnQoMyksUHk9e2RyYXc6ZnVuY3Rpb24odCxuKXt2YXIgZT0tTWF0aC5zcXJ0KG4vKDMqQ3kpKTt0Lm1vdmVUbygwLDIqZSksdC5saW5lVG8oLUN5KmUsLWUpLHQubGluZVRvKEN5KmUsLWUpLHQuY2xvc2VQYXRoKCl9fSx6eT1NYXRoLnNxcnQoMykvMixSeT0xL01hdGguc3FydCgxMiksTHk9MyooUnkvMisxKSxEeT17ZHJhdzpmdW5jdGlvbih0LG4pe3ZhciBlPU1hdGguc3FydChuL0x5KSxyPWUvMixpPWUqUnksbz1yLGE9ZSpSeStlLHU9LW8sZj1hO3QubW92ZVRvKHIsaSksdC5saW5lVG8obyxhKSx0LmxpbmVUbyh1LGYpLHQubGluZVRvKC0uNSpyLXp5KmksenkqcistLjUqaSksdC5saW5lVG8oLS41Km8tenkqYSx6eSpvKy0uNSphKSx0LmxpbmVUbygtLjUqdS16eSpmLHp5KnUrLS41KmYpLHQubGluZVRvKC0uNSpyK3p5KmksLS41KmktenkqciksdC5saW5lVG8oLS41Km8renkqYSwtLjUqYS16eSpvKSx0LmxpbmVUbygtLjUqdSt6eSpmLC0uNSpmLXp5KnUpLHQuY2xvc2VQYXRoKCl9fSxVeT1bbXkseHksQXksa3ksRXksUHksRHldO2Z1bmN0aW9uIHF5KCl7fWZ1bmN0aW9uIE95KHQsbixlKXt0Ll9jb250ZXh0LmJlemllckN1cnZlVG8oKDIqdC5feDArdC5feDEpLzMsKDIqdC5feTArdC5feTEpLzMsKHQuX3gwKzIqdC5feDEpLzMsKHQuX3kwKzIqdC5feTEpLzMsKHQuX3gwKzQqdC5feDErbikvNiwodC5feTArNCp0Ll95MStlKS82KX1mdW5jdGlvbiBZeSh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gQnkodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIEZ5KHQpe3RoaXMuX2NvbnRleHQ9dH1mdW5jdGlvbiBJeSh0LG4pe3RoaXMuX2Jhc2lzPW5ldyBZeSh0KSx0aGlzLl9iZXRhPW59WXkucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feTA9dGhpcy5feTE9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMzpPeSh0aGlzLHRoaXMuX3gxLHRoaXMuX3kxKTtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDEsdGhpcy5feTEpfSh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxuKXtzd2l0Y2godD0rdCxuPStuLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsbik6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxuKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9Myx0aGlzLl9jb250ZXh0LmxpbmVUbygoNSp0aGlzLl94MCt0aGlzLl94MSkvNiwoNSp0aGlzLl95MCt0aGlzLl95MSkvNik7ZGVmYXVsdDpPeSh0aGlzLHQsbil9dGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT1ufX0sQnkucHJvdG90eXBlPXthcmVhU3RhcnQ6cXksYXJlYUVuZDpxeSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl94Mz10aGlzLl94ND10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj10aGlzLl95Mz10aGlzLl95ND1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAxOnRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gyLHRoaXMuX3kyKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMjp0aGlzLl9jb250ZXh0Lm1vdmVUbygodGhpcy5feDIrMip0aGlzLl94MykvMywodGhpcy5feTIrMip0aGlzLl95MykvMyksdGhpcy5fY29udGV4dC5saW5lVG8oKHRoaXMuX3gzKzIqdGhpcy5feDIpLzMsKHRoaXMuX3kzKzIqdGhpcy5feTIpLzMpLHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7YnJlYWs7Y2FzZSAzOnRoaXMucG9pbnQodGhpcy5feDIsdGhpcy5feTIpLHRoaXMucG9pbnQodGhpcy5feDMsdGhpcy5feTMpLHRoaXMucG9pbnQodGhpcy5feDQsdGhpcy5feTQpfX0scG9pbnQ6ZnVuY3Rpb24odCxuKXtzd2l0Y2godD0rdCxuPStuLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl94Mj10LHRoaXMuX3kyPW47YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTIsdGhpcy5feDM9dCx0aGlzLl95Mz1uO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLHRoaXMuX3g0PXQsdGhpcy5feTQ9bix0aGlzLl9jb250ZXh0Lm1vdmVUbygodGhpcy5feDArNCp0aGlzLl94MSt0KS82LCh0aGlzLl95MCs0KnRoaXMuX3kxK24pLzYpO2JyZWFrO2RlZmF1bHQ6T3kodGhpcyx0LG4pfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9bn19LEZ5LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3kwPXRoaXMuX3kxPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYzPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LG4pe3N3aXRjaCh0PSt0LG49K24sdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zO3ZhciBlPSh0aGlzLl94MCs0KnRoaXMuX3gxK3QpLzYscj0odGhpcy5feTArNCp0aGlzLl95MStuKS82O3RoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8oZSxyKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyhlLHIpO2JyZWFrO2Nhc2UgMzp0aGlzLl9wb2ludD00O2RlZmF1bHQ6T3kodGhpcyx0LG4pfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9bn19LEl5LnByb3RvdHlwZT17bGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feD1bXSx0aGlzLl95PVtdLHRoaXMuX2Jhc2lzLmxpbmVTdGFydCgpfSxsaW5lRW5kOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5feCxuPXRoaXMuX3ksZT10Lmxlbmd0aC0xO2lmKGU+MClmb3IodmFyIHIsaT10WzBdLG89blswXSxhPXRbZV0taSx1PW5bZV0tbyxmPS0xOysrZjw9ZTspcj1mL2UsdGhpcy5fYmFzaXMucG9pbnQodGhpcy5fYmV0YSp0W2ZdKygxLXRoaXMuX2JldGEpKihpK3IqYSksdGhpcy5fYmV0YSpuW2ZdKygxLXRoaXMuX2JldGEpKihvK3IqdSkpO3RoaXMuX3g9dGhpcy5feT1udWxsLHRoaXMuX2Jhc2lzLmxpbmVFbmQoKX0scG9pbnQ6ZnVuY3Rpb24odCxuKXt0aGlzLl94LnB1c2goK3QpLHRoaXMuX3kucHVzaCgrbil9fTt2YXIgSHk9ZnVuY3Rpb24gdChuKXtmdW5jdGlvbiBlKHQpe3JldHVybiAxPT09bj9uZXcgWXkodCk6bmV3IEl5KHQsbil9cmV0dXJuIGUuYmV0YT1mdW5jdGlvbihuKXtyZXR1cm4gdCgrbil9LGV9KC44NSk7ZnVuY3Rpb24gankodCxuLGUpe3QuX2NvbnRleHQuYmV6aWVyQ3VydmVUbyh0Ll94MSt0Ll9rKih0Ll94Mi10Ll94MCksdC5feTErdC5fayoodC5feTItdC5feTApLHQuX3gyK3QuX2sqKHQuX3gxLW4pLHQuX3kyK3QuX2sqKHQuX3kxLWUpLHQuX3gyLHQuX3kyKX1mdW5jdGlvbiBYeSh0LG4pe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9rPSgxLW4pLzZ9WHkucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMjp0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Mix0aGlzLl95Mik7YnJlYWs7Y2FzZSAzOmp5KHRoaXMsdGhpcy5feDEsdGhpcy5feTEpfSh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxuKXtzd2l0Y2godD0rdCxuPStuLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsbik6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxuKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9Mix0aGlzLl94MT10LHRoaXMuX3kxPW47YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTM7ZGVmYXVsdDpqeSh0aGlzLHQsbil9dGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1ufX07dmFyIEd5PWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gbmV3IFh5KHQsbil9cmV0dXJuIGUudGVuc2lvbj1mdW5jdGlvbihuKXtyZXR1cm4gdCgrbil9LGV9KDApO2Z1bmN0aW9uIFZ5KHQsbil7dGhpcy5fY29udGV4dD10LHRoaXMuX2s9KDEtbikvNn1WeS5wcm90b3R5cGU9e2FyZWFTdGFydDpxeSxhcmVhRW5kOnF5LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3gzPXRoaXMuX3g0PXRoaXMuX3g1PXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPXRoaXMuX3kzPXRoaXMuX3k0PXRoaXMuX3k1PU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDE6dGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDMsdGhpcy5feTMpLHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7YnJlYWs7Y2FzZSAyOnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMzp0aGlzLnBvaW50KHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLnBvaW50KHRoaXMuX3g0LHRoaXMuX3k0KSx0aGlzLnBvaW50KHRoaXMuX3g1LHRoaXMuX3k1KX19LHBvaW50OmZ1bmN0aW9uKHQsbil7c3dpdGNoKHQ9K3Qsbj0rbix0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5feDM9dCx0aGlzLl95Mz1uO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yLHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3g0PXQsdGhpcy5feTQ9bik7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5feDU9dCx0aGlzLl95NT1uO2JyZWFrO2RlZmF1bHQ6ankodGhpcyx0LG4pfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9bn19O3ZhciAkeT1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCl7cmV0dXJuIG5ldyBWeSh0LG4pfXJldHVybiBlLnRlbnNpb249ZnVuY3Rpb24obil7cmV0dXJuIHQoK24pfSxlfSgwKTtmdW5jdGlvbiBXeSh0LG4pe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9rPSgxLW4pLzZ9V3kucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXsodGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjM9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsbil7c3dpdGNoKHQ9K3Qsbj0rbix0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTE7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTI7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Mix0aGlzLl95Mik6dGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDIsdGhpcy5feTIpO2JyZWFrO2Nhc2UgMzp0aGlzLl9wb2ludD00O2RlZmF1bHQ6ankodGhpcyx0LG4pfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9bn19O3ZhciBaeT1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCl7cmV0dXJuIG5ldyBXeSh0LG4pfXJldHVybiBlLnRlbnNpb249ZnVuY3Rpb24obil7cmV0dXJuIHQoK24pfSxlfSgwKTtmdW5jdGlvbiBReSh0LG4sZSl7dmFyIHI9dC5feDEsaT10Ll95MSxvPXQuX3gyLGE9dC5feTI7aWYodC5fbDAxX2E+Rmcpe3ZhciB1PTIqdC5fbDAxXzJhKzMqdC5fbDAxX2EqdC5fbDEyX2ErdC5fbDEyXzJhLGY9Myp0Ll9sMDFfYSoodC5fbDAxX2ErdC5fbDEyX2EpO3I9KHIqdS10Ll94MCp0Ll9sMTJfMmErdC5feDIqdC5fbDAxXzJhKS9mLGk9KGkqdS10Ll95MCp0Ll9sMTJfMmErdC5feTIqdC5fbDAxXzJhKS9mfWlmKHQuX2wyM19hPkZnKXt2YXIgYz0yKnQuX2wyM18yYSszKnQuX2wyM19hKnQuX2wxMl9hK3QuX2wxMl8yYSxzPTMqdC5fbDIzX2EqKHQuX2wyM19hK3QuX2wxMl9hKTtvPShvKmMrdC5feDEqdC5fbDIzXzJhLW4qdC5fbDEyXzJhKS9zLGE9KGEqYyt0Ll95MSp0Ll9sMjNfMmEtZSp0Ll9sMTJfMmEpL3N9dC5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKHIsaSxvLGEsdC5feDIsdC5feTIpfWZ1bmN0aW9uIEp5KHQsbil7dGhpcy5fY29udGV4dD10LHRoaXMuX2FscGhhPW59SnkucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9TmFOLHRoaXMuX2wwMV9hPXRoaXMuX2wxMl9hPXRoaXMuX2wyM19hPXRoaXMuX2wwMV8yYT10aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhPXRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMjp0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Mix0aGlzLl95Mik7YnJlYWs7Y2FzZSAzOnRoaXMucG9pbnQodGhpcy5feDIsdGhpcy5feTIpfSh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxuKXtpZih0PSt0LG49K24sdGhpcy5fcG9pbnQpe3ZhciBlPXRoaXMuX3gyLXQscj10aGlzLl95Mi1uO3RoaXMuX2wyM19hPU1hdGguc3FydCh0aGlzLl9sMjNfMmE9TWF0aC5wb3coZSplK3Iqcix0aGlzLl9hbHBoYSkpfXN3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0LG4pOnRoaXMuX2NvbnRleHQubW92ZVRvKHQsbik7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTI7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTM7ZGVmYXVsdDpReSh0aGlzLHQsbil9dGhpcy5fbDAxX2E9dGhpcy5fbDEyX2EsdGhpcy5fbDEyX2E9dGhpcy5fbDIzX2EsdGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYSx0aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhLHRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9bn19O3ZhciBLeT1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCl7cmV0dXJuIG4/bmV3IEp5KHQsbik6bmV3IFh5KHQsMCl9cmV0dXJuIGUuYWxwaGE9ZnVuY3Rpb24obil7cmV0dXJuIHQoK24pfSxlfSguNSk7ZnVuY3Rpb24gdF8odCxuKXt0aGlzLl9jb250ZXh0PXQsdGhpcy5fYWxwaGE9bn10Xy5wcm90b3R5cGU9e2FyZWFTdGFydDpxeSxhcmVhRW5kOnF5LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3gzPXRoaXMuX3g0PXRoaXMuX3g1PXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPXRoaXMuX3kzPXRoaXMuX3k0PXRoaXMuX3k1PU5hTix0aGlzLl9sMDFfYT10aGlzLl9sMTJfYT10aGlzLl9sMjNfYT10aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhPXRoaXMuX2wyM18yYT10aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDE6dGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDMsdGhpcy5feTMpLHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7YnJlYWs7Y2FzZSAyOnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMzp0aGlzLnBvaW50KHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLnBvaW50KHRoaXMuX3g0LHRoaXMuX3k0KSx0aGlzLnBvaW50KHRoaXMuX3g1LHRoaXMuX3k1KX19LHBvaW50OmZ1bmN0aW9uKHQsbil7aWYodD0rdCxuPStuLHRoaXMuX3BvaW50KXt2YXIgZT10aGlzLl94Mi10LHI9dGhpcy5feTItbjt0aGlzLl9sMjNfYT1NYXRoLnNxcnQodGhpcy5fbDIzXzJhPU1hdGgucG93KGUqZStyKnIsdGhpcy5fYWxwaGEpKX1zd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX3gzPXQsdGhpcy5feTM9bjticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9Mix0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94ND10LHRoaXMuX3k0PW4pO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLHRoaXMuX3g1PXQsdGhpcy5feTU9bjticmVhaztkZWZhdWx0OlF5KHRoaXMsdCxuKX10aGlzLl9sMDFfYT10aGlzLl9sMTJfYSx0aGlzLl9sMTJfYT10aGlzLl9sMjNfYSx0aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhLHRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmEsdGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1ufX07dmFyIG5fPWZ1bmN0aW9uIHQobil7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gbj9uZXcgdF8odCxuKTpuZXcgVnkodCwwKX1yZXR1cm4gZS5hbHBoYT1mdW5jdGlvbihuKXtyZXR1cm4gdCgrbil9LGV9KC41KTtmdW5jdGlvbiBlXyh0LG4pe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9hbHBoYT1ufWVfLnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPU5hTix0aGlzLl9sMDFfYT10aGlzLl9sMTJfYT10aGlzLl9sMjNfYT10aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhPXRoaXMuX2wyM18yYT10aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYzPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LG4pe2lmKHQ9K3Qsbj0rbix0aGlzLl9wb2ludCl7dmFyIGU9dGhpcy5feDItdCxyPXRoaXMuX3kyLW47dGhpcy5fbDIzX2E9TWF0aC5zcXJ0KHRoaXMuX2wyM18yYT1NYXRoLnBvdyhlKmUrcipyLHRoaXMuX2FscGhhKSl9c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9Myx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gyLHRoaXMuX3kyKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94Mix0aGlzLl95Mik7YnJlYWs7Y2FzZSAzOnRoaXMuX3BvaW50PTQ7ZGVmYXVsdDpReSh0aGlzLHQsbil9dGhpcy5fbDAxX2E9dGhpcy5fbDEyX2EsdGhpcy5fbDEyX2E9dGhpcy5fbDIzX2EsdGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYSx0aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhLHRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9bn19O3ZhciByXz1mdW5jdGlvbiB0KG4pe2Z1bmN0aW9uIGUodCl7cmV0dXJuIG4/bmV3IGVfKHQsbik6bmV3IFd5KHQsMCl9cmV0dXJuIGUuYWxwaGE9ZnVuY3Rpb24obil7cmV0dXJuIHQoK24pfSxlfSguNSk7ZnVuY3Rpb24gaV8odCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIG9fKHQpe3JldHVybiB0PDA/LTE6MX1mdW5jdGlvbiBhXyh0LG4sZSl7dmFyIHI9dC5feDEtdC5feDAsaT1uLXQuX3gxLG89KHQuX3kxLXQuX3kwKS8ocnx8aTwwJiYtMCksYT0oZS10Ll95MSkvKGl8fHI8MCYmLTApLHU9KG8qaSthKnIpLyhyK2kpO3JldHVybihvXyhvKStvXyhhKSkqTWF0aC5taW4oTWF0aC5hYnMobyksTWF0aC5hYnMoYSksLjUqTWF0aC5hYnModSkpfHwwfWZ1bmN0aW9uIHVfKHQsbil7dmFyIGU9dC5feDEtdC5feDA7cmV0dXJuIGU/KDMqKHQuX3kxLXQuX3kwKS9lLW4pLzI6bn1mdW5jdGlvbiBmXyh0LG4sZSl7dmFyIHI9dC5feDAsaT10Ll95MCxvPXQuX3gxLGE9dC5feTEsdT0oby1yKS8zO3QuX2NvbnRleHQuYmV6aWVyQ3VydmVUbyhyK3UsaSt1Km4sby11LGEtdSplLG8sYSl9ZnVuY3Rpb24gY18odCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIHNfKHQpe3RoaXMuX2NvbnRleHQ9bmV3IGxfKHQpfWZ1bmN0aW9uIGxfKHQpe3RoaXMuX2NvbnRleHQ9dH1mdW5jdGlvbiBoXyh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gZF8odCl7dmFyIG4sZSxyPXQubGVuZ3RoLTEsaT1uZXcgQXJyYXkociksbz1uZXcgQXJyYXkociksYT1uZXcgQXJyYXkocik7Zm9yKGlbMF09MCxvWzBdPTIsYVswXT10WzBdKzIqdFsxXSxuPTE7bjxyLTE7KytuKWlbbl09MSxvW25dPTQsYVtuXT00KnRbbl0rMip0W24rMV07Zm9yKGlbci0xXT0yLG9bci0xXT03LGFbci0xXT04KnRbci0xXSt0W3JdLG49MTtuPHI7KytuKWU9aVtuXS9vW24tMV0sb1tuXS09ZSxhW25dLT1lKmFbbi0xXTtmb3IoaVtyLTFdPWFbci0xXS9vW3ItMV0sbj1yLTI7bj49MDstLW4paVtuXT0oYVtuXS1pW24rMV0pL29bbl07Zm9yKG9bci0xXT0odFtyXStpW3ItMV0pLzIsbj0wO248ci0xOysrbilvW25dPTIqdFtuKzFdLWlbbisxXTtyZXR1cm5baSxvXX1mdW5jdGlvbiBwXyh0LG4pe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl90PW59ZnVuY3Rpb24gdl8odCxuKXtpZigoaT10Lmxlbmd0aCk+MSlmb3IodmFyIGUscixpLG89MSxhPXRbblswXV0sdT1hLmxlbmd0aDtvPGk7KytvKWZvcihyPWEsYT10W25bb11dLGU9MDtlPHU7KytlKWFbZV1bMV0rPWFbZV1bMF09aXNOYU4ocltlXVsxXSk/cltlXVswXTpyW2VdWzFdfWZ1bmN0aW9uIGdfKHQpe2Zvcih2YXIgbj10Lmxlbmd0aCxlPW5ldyBBcnJheShuKTstLW4+PTA7KWVbbl09bjtyZXR1cm4gZX1mdW5jdGlvbiB5Xyh0LG4pe3JldHVybiB0W25dfWZ1bmN0aW9uIF9fKHQpe3ZhciBuPXQubWFwKGJfKTtyZXR1cm4gZ18odCkuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiBuW3RdLW5bZV19KX1mdW5jdGlvbiBiXyh0KXtmb3IodmFyIG4sZT0wLHI9LTEsaT10Lmxlbmd0aDsrK3I8aTspKG49K3Rbcl1bMV0pJiYoZSs9bik7cmV0dXJuIGV9ZnVuY3Rpb24gbV8odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIHhfKHQpe3JldHVybiB0WzBdfWZ1bmN0aW9uIHdfKHQpe3JldHVybiB0WzFdfWZ1bmN0aW9uIE1fKCl7dGhpcy5fPW51bGx9ZnVuY3Rpb24gQV8odCl7dC5VPXQuQz10Lkw9dC5SPXQuUD10Lk49bnVsbH1mdW5jdGlvbiBUXyh0LG4pe3ZhciBlPW4scj1uLlIsaT1lLlU7aT9pLkw9PT1lP2kuTD1yOmkuUj1yOnQuXz1yLHIuVT1pLGUuVT1yLGUuUj1yLkwsZS5SJiYoZS5SLlU9ZSksci5MPWV9ZnVuY3Rpb24gTl8odCxuKXt2YXIgZT1uLHI9bi5MLGk9ZS5VO2k/aS5MPT09ZT9pLkw9cjppLlI9cjp0Ll89cixyLlU9aSxlLlU9cixlLkw9ci5SLGUuTCYmKGUuTC5VPWUpLHIuUj1lfWZ1bmN0aW9uIFNfKHQpe2Zvcig7dC5MOyl0PXQuTDtyZXR1cm4gdH1mdW5jdGlvbiBFXyh0LG4sZSxyKXt2YXIgaT1bbnVsbCxudWxsXSxvPUpfLnB1c2goaSktMTtyZXR1cm4gaS5sZWZ0PXQsaS5yaWdodD1uLGUmJkNfKGksdCxuLGUpLHImJkNfKGksbix0LHIpLFpfW3QuaW5kZXhdLmhhbGZlZGdlcy5wdXNoKG8pLFpfW24uaW5kZXhdLmhhbGZlZGdlcy5wdXNoKG8pLGl9ZnVuY3Rpb24ga18odCxuLGUpe3ZhciByPVtuLGVdO3JldHVybiByLmxlZnQ9dCxyfWZ1bmN0aW9uIENfKHQsbixlLHIpe3RbMF18fHRbMV0/dC5sZWZ0PT09ZT90WzFdPXI6dFswXT1yOih0WzBdPXIsdC5sZWZ0PW4sdC5yaWdodD1lKX1mdW5jdGlvbiBQXyh0LG4sZSxyLGkpe3ZhciBvLGE9dFswXSx1PXRbMV0sZj1hWzBdLGM9YVsxXSxzPTAsbD0xLGg9dVswXS1mLGQ9dVsxXS1jO2lmKG89bi1mLGh8fCEobz4wKSl7aWYoby89aCxoPDApe2lmKG88cylyZXR1cm47bzxsJiYobD1vKX1lbHNlIGlmKGg+MCl7aWYobz5sKXJldHVybjtvPnMmJihzPW8pfWlmKG89ci1mLGh8fCEobzwwKSl7aWYoby89aCxoPDApe2lmKG8+bClyZXR1cm47bz5zJiYocz1vKX1lbHNlIGlmKGg+MCl7aWYobzxzKXJldHVybjtvPGwmJihsPW8pfWlmKG89ZS1jLGR8fCEobz4wKSl7aWYoby89ZCxkPDApe2lmKG88cylyZXR1cm47bzxsJiYobD1vKX1lbHNlIGlmKGQ+MCl7aWYobz5sKXJldHVybjtvPnMmJihzPW8pfWlmKG89aS1jLGR8fCEobzwwKSl7aWYoby89ZCxkPDApe2lmKG8+bClyZXR1cm47bz5zJiYocz1vKX1lbHNlIGlmKGQ+MCl7aWYobzxzKXJldHVybjtvPGwmJihsPW8pfXJldHVybiEocz4wfHxsPDEpfHwocz4wJiYodFswXT1bZitzKmgsYytzKmRdKSxsPDEmJih0WzFdPVtmK2wqaCxjK2wqZF0pLCEwKX19fX19ZnVuY3Rpb24gel8odCxuLGUscixpKXt2YXIgbz10WzFdO2lmKG8pcmV0dXJuITA7dmFyIGEsdSxmPXRbMF0sYz10LmxlZnQscz10LnJpZ2h0LGw9Y1swXSxoPWNbMV0sZD1zWzBdLHA9c1sxXSx2PShsK2QpLzIsZz0oaCtwKS8yO2lmKHA9PT1oKXtpZih2PG58fHY+PXIpcmV0dXJuO2lmKGw+ZCl7aWYoZil7aWYoZlsxXT49aSlyZXR1cm59ZWxzZSBmPVt2LGVdO289W3YsaV19ZWxzZXtpZihmKXtpZihmWzFdPGUpcmV0dXJufWVsc2UgZj1bdixpXTtvPVt2LGVdfX1lbHNlIGlmKHU9Zy0oYT0obC1kKS8ocC1oKSkqdixhPC0xfHxhPjEpaWYobD5kKXtpZihmKXtpZihmWzFdPj1pKXJldHVybn1lbHNlIGY9WyhlLXUpL2EsZV07bz1bKGktdSkvYSxpXX1lbHNle2lmKGYpe2lmKGZbMV08ZSlyZXR1cm59ZWxzZSBmPVsoaS11KS9hLGldO289WyhlLXUpL2EsZV19ZWxzZSBpZihoPHApe2lmKGYpe2lmKGZbMF0+PXIpcmV0dXJufWVsc2UgZj1bbixhKm4rdV07bz1bcixhKnIrdV19ZWxzZXtpZihmKXtpZihmWzBdPG4pcmV0dXJufWVsc2UgZj1bcixhKnIrdV07bz1bbixhKm4rdV19cmV0dXJuIHRbMF09Zix0WzFdPW8sITB9ZnVuY3Rpb24gUl8odCxuKXt2YXIgZT10LnNpdGUscj1uLmxlZnQsaT1uLnJpZ2h0O3JldHVybiBlPT09aSYmKGk9cixyPWUpLGk/TWF0aC5hdGFuMihpWzFdLXJbMV0saVswXS1yWzBdKTooZT09PXI/KHI9blsxXSxpPW5bMF0pOihyPW5bMF0saT1uWzFdKSxNYXRoLmF0YW4yKHJbMF0taVswXSxpWzFdLXJbMV0pKX1mdW5jdGlvbiBMXyh0LG4pe3JldHVybiBuWysobi5sZWZ0IT09dC5zaXRlKV19ZnVuY3Rpb24gRF8odCxuKXtyZXR1cm4gblsrKG4ubGVmdD09PXQuc2l0ZSldfWlfLnByb3RvdHlwZT17YXJlYVN0YXJ0OnF5LGFyZWFFbmQ6cXksbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3RoaXMuX3BvaW50JiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpfSxwb2ludDpmdW5jdGlvbih0LG4pe3Q9K3Qsbj0rbix0aGlzLl9wb2ludD90aGlzLl9jb250ZXh0LmxpbmVUbyh0LG4pOih0aGlzLl9wb2ludD0xLHRoaXMuX2NvbnRleHQubW92ZVRvKHQsbikpfX0sY18ucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5fdDA9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMjp0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94MSx0aGlzLl95MSk7YnJlYWs7Y2FzZSAzOmZfKHRoaXMsdGhpcy5fdDAsdV8odGhpcyx0aGlzLl90MCkpfSh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxuKXt2YXIgZT1OYU47aWYobj0rbiwodD0rdCkhPT10aGlzLl94MXx8biE9PXRoaXMuX3kxKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxuKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LG4pO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLGZfKHRoaXMsdV8odGhpcyxlPWFfKHRoaXMsdCxuKSksZSk7YnJlYWs7ZGVmYXVsdDpmXyh0aGlzLHRoaXMuX3QwLGU9YV8odGhpcyx0LG4pKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPW4sdGhpcy5fdDA9ZX19fSwoc18ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoY18ucHJvdG90eXBlKSkucG9pbnQ9ZnVuY3Rpb24odCxuKXtjXy5wcm90b3R5cGUucG9pbnQuY2FsbCh0aGlzLG4sdCl9LGxfLnByb3RvdHlwZT17bW92ZVRvOmZ1bmN0aW9uKHQsbil7dGhpcy5fY29udGV4dC5tb3ZlVG8obix0KX0sY2xvc2VQYXRoOmZ1bmN0aW9uKCl7dGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKX0sbGluZVRvOmZ1bmN0aW9uKHQsbil7dGhpcy5fY29udGV4dC5saW5lVG8obix0KX0sYmV6aWVyQ3VydmVUbzpmdW5jdGlvbih0LG4sZSxyLGksbyl7dGhpcy5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKG4sdCxyLGUsbyxpKX19LGhfLnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3g9W10sdGhpcy5feT1bXX0sbGluZUVuZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3gsbj10aGlzLl95LGU9dC5sZW5ndGg7aWYoZSlpZih0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHRbMF0sblswXSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odFswXSxuWzBdKSwyPT09ZSl0aGlzLl9jb250ZXh0LmxpbmVUbyh0WzFdLG5bMV0pO2Vsc2UgZm9yKHZhciByPWRfKHQpLGk9ZF8obiksbz0wLGE9MTthPGU7KytvLCsrYSl0aGlzLl9jb250ZXh0LmJlemllckN1cnZlVG8oclswXVtvXSxpWzBdW29dLHJbMV1bb10saVsxXVtvXSx0W2FdLG5bYV0pOyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PWUpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lLHRoaXMuX3g9dGhpcy5feT1udWxsfSxwb2ludDpmdW5jdGlvbih0LG4pe3RoaXMuX3gucHVzaCgrdCksdGhpcy5feS5wdXNoKCtuKX19LHBfLnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3g9dGhpcy5feT1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpezA8dGhpcy5fdCYmdGhpcy5fdDwxJiYyPT09dGhpcy5fcG9pbnQmJnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gsdGhpcy5feSksKHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYxPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU+PTAmJih0aGlzLl90PTEtdGhpcy5fdCx0aGlzLl9saW5lPTEtdGhpcy5fbGluZSl9LHBvaW50OmZ1bmN0aW9uKHQsbil7c3dpdGNoKHQ9K3Qsbj0rbix0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0LG4pOnRoaXMuX2NvbnRleHQubW92ZVRvKHQsbik7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTI7ZGVmYXVsdDppZih0aGlzLl90PD0wKXRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gsbiksdGhpcy5fY29udGV4dC5saW5lVG8odCxuKTtlbHNle3ZhciBlPXRoaXMuX3gqKDEtdGhpcy5fdCkrdCp0aGlzLl90O3RoaXMuX2NvbnRleHQubGluZVRvKGUsdGhpcy5feSksdGhpcy5fY29udGV4dC5saW5lVG8oZSxuKX19dGhpcy5feD10LHRoaXMuX3k9bn19LE1fLnByb3RvdHlwZT17Y29uc3RydWN0b3I6TV8saW5zZXJ0OmZ1bmN0aW9uKHQsbil7dmFyIGUscixpO2lmKHQpe2lmKG4uUD10LG4uTj10Lk4sdC5OJiYodC5OLlA9biksdC5OPW4sdC5SKXtmb3IodD10LlI7dC5MOyl0PXQuTDt0Lkw9bn1lbHNlIHQuUj1uO2U9dH1lbHNlIHRoaXMuXz8odD1TXyh0aGlzLl8pLG4uUD1udWxsLG4uTj10LHQuUD10Lkw9bixlPXQpOihuLlA9bi5OPW51bGwsdGhpcy5fPW4sZT1udWxsKTtmb3Iobi5MPW4uUj1udWxsLG4uVT1lLG4uQz0hMCx0PW47ZSYmZS5DOyllPT09KHI9ZS5VKS5MPyhpPXIuUikmJmkuQz8oZS5DPWkuQz0hMSxyLkM9ITAsdD1yKToodD09PWUuUiYmKFRfKHRoaXMsZSksZT0odD1lKS5VKSxlLkM9ITEsci5DPSEwLE5fKHRoaXMscikpOihpPXIuTCkmJmkuQz8oZS5DPWkuQz0hMSxyLkM9ITAsdD1yKToodD09PWUuTCYmKE5fKHRoaXMsZSksZT0odD1lKS5VKSxlLkM9ITEsci5DPSEwLFRfKHRoaXMscikpLGU9dC5VO3RoaXMuXy5DPSExfSxyZW1vdmU6ZnVuY3Rpb24odCl7dC5OJiYodC5OLlA9dC5QKSx0LlAmJih0LlAuTj10Lk4pLHQuTj10LlA9bnVsbDt2YXIgbixlLHIsaT10LlUsbz10LkwsYT10LlI7aWYoZT1vP2E/U18oYSk6bzphLGk/aS5MPT09dD9pLkw9ZTppLlI9ZTp0aGlzLl89ZSxvJiZhPyhyPWUuQyxlLkM9dC5DLGUuTD1vLG8uVT1lLGUhPT1hPyhpPWUuVSxlLlU9dC5VLHQ9ZS5SLGkuTD10LGUuUj1hLGEuVT1lKTooZS5VPWksaT1lLHQ9ZS5SKSk6KHI9dC5DLHQ9ZSksdCYmKHQuVT1pKSwhcilpZih0JiZ0LkMpdC5DPSExO2Vsc2V7ZG97aWYodD09PXRoaXMuXylicmVhaztpZih0PT09aS5MKXtpZigobj1pLlIpLkMmJihuLkM9ITEsaS5DPSEwLFRfKHRoaXMsaSksbj1pLlIpLG4uTCYmbi5MLkN8fG4uUiYmbi5SLkMpe24uUiYmbi5SLkN8fChuLkwuQz0hMSxuLkM9ITAsTl8odGhpcyxuKSxuPWkuUiksbi5DPWkuQyxpLkM9bi5SLkM9ITEsVF8odGhpcyxpKSx0PXRoaXMuXzticmVha319ZWxzZSBpZigobj1pLkwpLkMmJihuLkM9ITEsaS5DPSEwLE5fKHRoaXMsaSksbj1pLkwpLG4uTCYmbi5MLkN8fG4uUiYmbi5SLkMpe24uTCYmbi5MLkN8fChuLlIuQz0hMSxuLkM9ITAsVF8odGhpcyxuKSxuPWkuTCksbi5DPWkuQyxpLkM9bi5MLkM9ITEsTl8odGhpcyxpKSx0PXRoaXMuXzticmVha31uLkM9ITAsdD1pLGk9aS5VfXdoaWxlKCF0LkMpO3QmJih0LkM9ITEpfX19O3ZhciBVXyxxXz1bXTtmdW5jdGlvbiBPXygpe0FfKHRoaXMpLHRoaXMueD10aGlzLnk9dGhpcy5hcmM9dGhpcy5zaXRlPXRoaXMuY3k9bnVsbH1mdW5jdGlvbiBZXyh0KXt2YXIgbj10LlAsZT10Lk47aWYobiYmZSl7dmFyIHI9bi5zaXRlLGk9dC5zaXRlLG89ZS5zaXRlO2lmKHIhPT1vKXt2YXIgYT1pWzBdLHU9aVsxXSxmPXJbMF0tYSxjPXJbMV0tdSxzPW9bMF0tYSxsPW9bMV0tdSxoPTIqKGYqbC1jKnMpO2lmKCEoaD49LXRiKSl7dmFyIGQ9ZipmK2MqYyxwPXMqcytsKmwsdj0obCpkLWMqcCkvaCxnPShmKnAtcypkKS9oLHk9cV8ucG9wKCl8fG5ldyBPXzt5LmFyYz10LHkuc2l0ZT1pLHkueD12K2EseS55PSh5LmN5PWcrdSkrTWF0aC5zcXJ0KHYqditnKmcpLHQuY2lyY2xlPXk7Zm9yKHZhciBfPW51bGwsYj1RXy5fO2I7KWlmKHkueTxiLnl8fHkueT09PWIueSYmeS54PD1iLngpe2lmKCFiLkwpe189Yi5QO2JyZWFrfWI9Yi5MfWVsc2V7aWYoIWIuUil7Xz1iO2JyZWFrfWI9Yi5SfVFfLmluc2VydChfLHkpLF98fChVXz15KX19fX1mdW5jdGlvbiBCXyh0KXt2YXIgbj10LmNpcmNsZTtuJiYobi5QfHwoVV89bi5OKSxRXy5yZW1vdmUobikscV8ucHVzaChuKSxBXyhuKSx0LmNpcmNsZT1udWxsKX12YXIgRl89W107ZnVuY3Rpb24gSV8oKXtBXyh0aGlzKSx0aGlzLmVkZ2U9dGhpcy5zaXRlPXRoaXMuY2lyY2xlPW51bGx9ZnVuY3Rpb24gSF8odCl7dmFyIG49Rl8ucG9wKCl8fG5ldyBJXztyZXR1cm4gbi5zaXRlPXQsbn1mdW5jdGlvbiBqXyh0KXtCXyh0KSxXXy5yZW1vdmUodCksRl8ucHVzaCh0KSxBXyh0KX1mdW5jdGlvbiBYXyh0KXt2YXIgbj10LmNpcmNsZSxlPW4ueCxyPW4uY3ksaT1bZSxyXSxvPXQuUCxhPXQuTix1PVt0XTtqXyh0KTtmb3IodmFyIGY9bztmLmNpcmNsZSYmTWF0aC5hYnMoZS1mLmNpcmNsZS54KTxLXyYmTWF0aC5hYnMoci1mLmNpcmNsZS5jeSk8S187KW89Zi5QLHUudW5zaGlmdChmKSxqXyhmKSxmPW87dS51bnNoaWZ0KGYpLEJfKGYpO2Zvcih2YXIgYz1hO2MuY2lyY2xlJiZNYXRoLmFicyhlLWMuY2lyY2xlLngpPEtfJiZNYXRoLmFicyhyLWMuY2lyY2xlLmN5KTxLXzspYT1jLk4sdS5wdXNoKGMpLGpfKGMpLGM9YTt1LnB1c2goYyksQl8oYyk7dmFyIHMsbD11Lmxlbmd0aDtmb3Iocz0xO3M8bDsrK3MpYz11W3NdLGY9dVtzLTFdLENfKGMuZWRnZSxmLnNpdGUsYy5zaXRlLGkpO2Y9dVswXSwoYz11W2wtMV0pLmVkZ2U9RV8oZi5zaXRlLGMuc2l0ZSxudWxsLGkpLFlfKGYpLFlfKGMpfWZ1bmN0aW9uIEdfKHQpe2Zvcih2YXIgbixlLHIsaSxvPXRbMF0sYT10WzFdLHU9V18uXzt1OylpZigocj1WXyh1LGEpLW8pPktfKXU9dS5MO2Vsc2V7aWYoISgoaT1vLSRfKHUsYSkpPktfKSl7cj4tS18/KG49dS5QLGU9dSk6aT4tS18/KG49dSxlPXUuTik6bj1lPXU7YnJlYWt9aWYoIXUuUil7bj11O2JyZWFrfXU9dS5SfSFmdW5jdGlvbih0KXtaX1t0LmluZGV4XT17c2l0ZTp0LGhhbGZlZGdlczpbXX19KHQpO3ZhciBmPUhfKHQpO2lmKFdfLmluc2VydChuLGYpLG58fGUpe2lmKG49PT1lKXJldHVybiBCXyhuKSxlPUhfKG4uc2l0ZSksV18uaW5zZXJ0KGYsZSksZi5lZGdlPWUuZWRnZT1FXyhuLnNpdGUsZi5zaXRlKSxZXyhuKSx2b2lkIFlfKGUpO2lmKGUpe0JfKG4pLEJfKGUpO3ZhciBjPW4uc2l0ZSxzPWNbMF0sbD1jWzFdLGg9dFswXS1zLGQ9dFsxXS1sLHA9ZS5zaXRlLHY9cFswXS1zLGc9cFsxXS1sLHk9MiooaCpnLWQqdiksXz1oKmgrZCpkLGI9dip2K2cqZyxtPVsoZypfLWQqYikveStzLChoKmItdipfKS95K2xdO0NfKGUuZWRnZSxjLHAsbSksZi5lZGdlPUVfKGMsdCxudWxsLG0pLGUuZWRnZT1FXyh0LHAsbnVsbCxtKSxZXyhuKSxZXyhlKX1lbHNlIGYuZWRnZT1FXyhuLnNpdGUsZi5zaXRlKX19ZnVuY3Rpb24gVl8odCxuKXt2YXIgZT10LnNpdGUscj1lWzBdLGk9ZVsxXSxvPWktbjtpZighbylyZXR1cm4gcjt2YXIgYT10LlA7aWYoIWEpcmV0dXJuLTEvMDt2YXIgdT0oZT1hLnNpdGUpWzBdLGY9ZVsxXSxjPWYtbjtpZighYylyZXR1cm4gdTt2YXIgcz11LXIsbD0xL28tMS9jLGg9cy9jO3JldHVybiBsPygtaCtNYXRoLnNxcnQoaCpoLTIqbCoocypzLygtMipjKS1mK2MvMitpLW8vMikpKS9sK3I6KHIrdSkvMn1mdW5jdGlvbiAkXyh0LG4pe3ZhciBlPXQuTjtpZihlKXJldHVybiBWXyhlLG4pO3ZhciByPXQuc2l0ZTtyZXR1cm4gclsxXT09PW4/clswXToxLzB9dmFyIFdfLFpfLFFfLEpfLEtfPTFlLTYsdGI9MWUtMTI7ZnVuY3Rpb24gbmIodCxuKXtyZXR1cm4gblsxXS10WzFdfHxuWzBdLXRbMF19ZnVuY3Rpb24gZWIodCxuKXt2YXIgZSxyLGksbz10LnNvcnQobmIpLnBvcCgpO2ZvcihKXz1bXSxaXz1uZXcgQXJyYXkodC5sZW5ndGgpLFdfPW5ldyBNXyxRXz1uZXcgTV87OylpZihpPVVfLG8mJighaXx8b1sxXTxpLnl8fG9bMV09PT1pLnkmJm9bMF08aS54KSlvWzBdPT09ZSYmb1sxXT09PXJ8fChHXyhvKSxlPW9bMF0scj1vWzFdKSxvPXQucG9wKCk7ZWxzZXtpZighaSlicmVhaztYXyhpLmFyYyl9aWYoZnVuY3Rpb24oKXtmb3IodmFyIHQsbixlLHIsaT0wLG89Wl8ubGVuZ3RoO2k8bzsrK2kpaWYoKHQ9Wl9baV0pJiYocj0obj10LmhhbGZlZGdlcykubGVuZ3RoKSl7dmFyIGE9bmV3IEFycmF5KHIpLHU9bmV3IEFycmF5KHIpO2ZvcihlPTA7ZTxyOysrZSlhW2VdPWUsdVtlXT1SXyh0LEpfW25bZV1dKTtmb3IoYS5zb3J0KGZ1bmN0aW9uKHQsbil7cmV0dXJuIHVbbl0tdVt0XX0pLGU9MDtlPHI7KytlKXVbZV09blthW2VdXTtmb3IoZT0wO2U8cjsrK2UpbltlXT11W2VdfX0oKSxuKXt2YXIgYT0rblswXVswXSx1PStuWzBdWzFdLGY9K25bMV1bMF0sYz0rblsxXVsxXTshZnVuY3Rpb24odCxuLGUscil7Zm9yKHZhciBpLG89Sl8ubGVuZ3RoO28tLTspel8oaT1KX1tvXSx0LG4sZSxyKSYmUF8oaSx0LG4sZSxyKSYmKE1hdGguYWJzKGlbMF1bMF0taVsxXVswXSk+S198fE1hdGguYWJzKGlbMF1bMV0taVsxXVsxXSk+S18pfHxkZWxldGUgSl9bb119KGEsdSxmLGMpLGZ1bmN0aW9uKHQsbixlLHIpe3ZhciBpLG8sYSx1LGYsYyxzLGwsaCxkLHAsdixnPVpfLmxlbmd0aCx5PSEwO2ZvcihpPTA7aTxnOysraSlpZihvPVpfW2ldKXtmb3IoYT1vLnNpdGUsdT0oZj1vLmhhbGZlZGdlcykubGVuZ3RoO3UtLTspSl9bZlt1XV18fGYuc3BsaWNlKHUsMSk7Zm9yKHU9MCxjPWYubGVuZ3RoO3U8YzspcD0oZD1EXyhvLEpfW2ZbdV1dKSlbMF0sdj1kWzFdLGw9KHM9TF8obyxKX1tmWysrdSVjXV0pKVswXSxoPXNbMV0sKE1hdGguYWJzKHAtbCk+S198fE1hdGguYWJzKHYtaCk+S18pJiYoZi5zcGxpY2UodSwwLEpfLnB1c2goa18oYSxkLE1hdGguYWJzKHAtdCk8S18mJnItdj5LXz9bdCxNYXRoLmFicyhsLXQpPEtfP2g6cl06TWF0aC5hYnModi1yKTxLXyYmZS1wPktfP1tNYXRoLmFicyhoLXIpPEtfP2w6ZSxyXTpNYXRoLmFicyhwLWUpPEtfJiZ2LW4+S18/W2UsTWF0aC5hYnMobC1lKTxLXz9oOm5dOk1hdGguYWJzKHYtbik8S18mJnAtdD5LXz9bTWF0aC5hYnMoaC1uKTxLXz9sOnQsbl06bnVsbCkpLTEpLCsrYyk7YyYmKHk9ITEpfWlmKHkpe3ZhciBfLGIsbSx4PTEvMDtmb3IoaT0wLHk9bnVsbDtpPGc7KytpKShvPVpfW2ldKSYmKG09KF89KGE9by5zaXRlKVswXS10KSpfKyhiPWFbMV0tbikqYik8eCYmKHg9bSx5PW8pO2lmKHkpe3ZhciB3PVt0LG5dLE09W3Qscl0sQT1bZSxyXSxUPVtlLG5dO3kuaGFsZmVkZ2VzLnB1c2goSl8ucHVzaChrXyhhPXkuc2l0ZSx3LE0pKS0xLEpfLnB1c2goa18oYSxNLEEpKS0xLEpfLnB1c2goa18oYSxBLFQpKS0xLEpfLnB1c2goa18oYSxULHcpKS0xKX19Zm9yKGk9MDtpPGc7KytpKShvPVpfW2ldKSYmKG8uaGFsZmVkZ2VzLmxlbmd0aHx8ZGVsZXRlIFpfW2ldKX0oYSx1LGYsYyl9dGhpcy5lZGdlcz1KXyx0aGlzLmNlbGxzPVpfLFdfPVFfPUpfPVpfPW51bGx9ZnVuY3Rpb24gcmIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIGliKHQsbixlKXt0aGlzLnRhcmdldD10LHRoaXMudHlwZT1uLHRoaXMudHJhbnNmb3JtPWV9ZnVuY3Rpb24gb2IodCxuLGUpe3RoaXMuaz10LHRoaXMueD1uLHRoaXMueT1lfWViLnByb3RvdHlwZT17Y29uc3RydWN0b3I6ZWIscG9seWdvbnM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmVkZ2VzO3JldHVybiB0aGlzLmNlbGxzLm1hcChmdW5jdGlvbihuKXt2YXIgZT1uLmhhbGZlZGdlcy5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIExfKG4sdFtlXSl9KTtyZXR1cm4gZS5kYXRhPW4uc2l0ZS5kYXRhLGV9KX0sdHJpYW5nbGVzOmZ1bmN0aW9uKCl7dmFyIHQ9W10sbj10aGlzLmVkZ2VzO3JldHVybiB0aGlzLmNlbGxzLmZvckVhY2goZnVuY3Rpb24oZSxyKXtpZihvPShpPWUuaGFsZmVkZ2VzKS5sZW5ndGgpZm9yKHZhciBpLG8sYSx1LGYsYyxzPWUuc2l0ZSxsPS0xLGg9bltpW28tMV1dLGQ9aC5sZWZ0PT09cz9oLnJpZ2h0OmgubGVmdDsrK2w8bzspYT1kLGQ9KGg9bltpW2xdXSkubGVmdD09PXM/aC5yaWdodDpoLmxlZnQsYSYmZCYmcjxhLmluZGV4JiZyPGQuaW5kZXgmJihmPWEsYz1kLCgodT1zKVswXS1jWzBdKSooZlsxXS11WzFdKS0odVswXS1mWzBdKSooY1sxXS11WzFdKTwwKSYmdC5wdXNoKFtzLmRhdGEsYS5kYXRhLGQuZGF0YV0pfSksdH0sbGlua3M6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGdlcy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQucmlnaHR9KS5tYXAoZnVuY3Rpb24odCl7cmV0dXJue3NvdXJjZTp0LmxlZnQuZGF0YSx0YXJnZXQ6dC5yaWdodC5kYXRhfX0pfSxmaW5kOmZ1bmN0aW9uKHQsbixlKXtmb3IodmFyIHIsaSxvPXRoaXMsYT1vLl9mb3VuZHx8MCx1PW8uY2VsbHMubGVuZ3RoOyEoaT1vLmNlbGxzW2FdKTspaWYoKythPj11KXJldHVybiBudWxsO3ZhciBmPXQtaS5zaXRlWzBdLGM9bi1pLnNpdGVbMV0scz1mKmYrYypjO2Rve2k9by5jZWxsc1tyPWFdLGE9bnVsbCxpLmhhbGZlZGdlcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciByPW8uZWRnZXNbZV0sdT1yLmxlZnQ7aWYodSE9PWkuc2l0ZSYmdXx8KHU9ci5yaWdodCkpe3ZhciBmPXQtdVswXSxjPW4tdVsxXSxsPWYqZitjKmM7bDxzJiYocz1sLGE9dS5pbmRleCl9fSl9d2hpbGUobnVsbCE9PWEpO3JldHVybiBvLl9mb3VuZD1yLG51bGw9PWV8fHM8PWUqZT9pLnNpdGU6bnVsbH19LG9iLnByb3RvdHlwZT17Y29uc3RydWN0b3I6b2Isc2NhbGU6ZnVuY3Rpb24odCl7cmV0dXJuIDE9PT10P3RoaXM6bmV3IG9iKHRoaXMuayp0LHRoaXMueCx0aGlzLnkpfSx0cmFuc2xhdGU6ZnVuY3Rpb24odCxuKXtyZXR1cm4gMD09PXQmMD09PW4/dGhpczpuZXcgb2IodGhpcy5rLHRoaXMueCt0aGlzLmsqdCx0aGlzLnkrdGhpcy5rKm4pfSxhcHBseTpmdW5jdGlvbih0KXtyZXR1cm5bdFswXSp0aGlzLmsrdGhpcy54LHRbMV0qdGhpcy5rK3RoaXMueV19LGFwcGx5WDpmdW5jdGlvbih0KXtyZXR1cm4gdCp0aGlzLmsrdGhpcy54fSxhcHBseVk6ZnVuY3Rpb24odCl7cmV0dXJuIHQqdGhpcy5rK3RoaXMueX0saW52ZXJ0OmZ1bmN0aW9uKHQpe3JldHVyblsodFswXS10aGlzLngpL3RoaXMuaywodFsxXS10aGlzLnkpL3RoaXMua119LGludmVydFg6ZnVuY3Rpb24odCl7cmV0dXJuKHQtdGhpcy54KS90aGlzLmt9LGludmVydFk6ZnVuY3Rpb24odCl7cmV0dXJuKHQtdGhpcy55KS90aGlzLmt9LHJlc2NhbGVYOmZ1bmN0aW9uKHQpe3JldHVybiB0LmNvcHkoKS5kb21haW4odC5yYW5nZSgpLm1hcCh0aGlzLmludmVydFgsdGhpcykubWFwKHQuaW52ZXJ0LHQpKX0scmVzY2FsZVk6ZnVuY3Rpb24odCl7cmV0dXJuIHQuY29weSgpLmRvbWFpbih0LnJhbmdlKCkubWFwKHRoaXMuaW52ZXJ0WSx0aGlzKS5tYXAodC5pbnZlcnQsdCkpfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJ0cmFuc2xhdGUoIit0aGlzLngrIiwiK3RoaXMueSsiKSBzY2FsZSgiK3RoaXMuaysiKSJ9fTt2YXIgYWI9bmV3IG9iKDEsMCwwKTtmdW5jdGlvbiB1Yih0KXtyZXR1cm4gdC5fX3pvb218fGFifWZ1bmN0aW9uIGZiKCl7dC5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBjYigpe3QuZXZlbnQucHJldmVudERlZmF1bHQoKSx0LmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIHNiKCl7cmV0dXJuIXQuZXZlbnQuYnV0dG9ufWZ1bmN0aW9uIGxiKCl7dmFyIHQsbixlPXRoaXM7cmV0dXJuIGUgaW5zdGFuY2VvZiBTVkdFbGVtZW50Pyh0PShlPWUub3duZXJTVkdFbGVtZW50fHxlKS53aWR0aC5iYXNlVmFsLnZhbHVlLG49ZS5oZWlnaHQuYmFzZVZhbC52YWx1ZSk6KHQ9ZS5jbGllbnRXaWR0aCxuPWUuY2xpZW50SGVpZ2h0KSxbWzAsMF0sW3Qsbl1dfWZ1bmN0aW9uIGhiKCl7cmV0dXJuIHRoaXMuX196b29tfHxhYn1mdW5jdGlvbiBkYigpe3JldHVybi10LmV2ZW50LmRlbHRhWSoodC5ldmVudC5kZWx0YU1vZGU/MTIwOjEpLzUwMH1mdW5jdGlvbiBwYigpe3JldHVybiJvbnRvdWNoc3RhcnQiaW4gdGhpc31mdW5jdGlvbiB2Yih0LG4sZSl7dmFyIHI9dC5pbnZlcnRYKG5bMF1bMF0pLWVbMF1bMF0saT10LmludmVydFgoblsxXVswXSktZVsxXVswXSxvPXQuaW52ZXJ0WShuWzBdWzFdKS1lWzBdWzFdLGE9dC5pbnZlcnRZKG5bMV1bMV0pLWVbMV1bMV07cmV0dXJuIHQudHJhbnNsYXRlKGk+cj8ocitpKS8yOk1hdGgubWluKDAscil8fE1hdGgubWF4KDAsaSksYT5vPyhvK2EpLzI6TWF0aC5taW4oMCxvKXx8TWF0aC5tYXgoMCxhKSl9dWIucHJvdG90eXBlPW9iLnByb3RvdHlwZSx0LnZlcnNpb249IjUuNy4wIix0LmJpc2VjdD1pLHQuYmlzZWN0UmlnaHQ9aSx0LmJpc2VjdExlZnQ9byx0LmFzY2VuZGluZz1uLHQuYmlzZWN0b3I9ZSx0LmNyb3NzPWZ1bmN0aW9uKHQsbixlKXt2YXIgcixpLG8sdSxmPXQubGVuZ3RoLGM9bi5sZW5ndGgscz1uZXcgQXJyYXkoZipjKTtmb3IobnVsbD09ZSYmKGU9YSkscj1vPTA7cjxmOysrcilmb3IodT10W3JdLGk9MDtpPGM7KytpLCsrbylzW29dPWUodSxuW2ldKTtyZXR1cm4gc30sdC5kZXNjZW5kaW5nPWZ1bmN0aW9uKHQsbil7cmV0dXJuIG48dD8tMTpuPnQ/MTpuPj10PzA6TmFOfSx0LmRldmlhdGlvbj1jLHQuZXh0ZW50PXMsdC5oaXN0b2dyYW09ZnVuY3Rpb24oKXt2YXIgdD12LG49cyxlPU07ZnVuY3Rpb24gcihyKXt2YXIgbyxhLHU9ci5sZW5ndGgsZj1uZXcgQXJyYXkodSk7Zm9yKG89MDtvPHU7KytvKWZbb109dChyW29dLG8scik7dmFyIGM9bihmKSxzPWNbMF0sbD1jWzFdLGg9ZShmLHMsbCk7QXJyYXkuaXNBcnJheShoKXx8KGg9dyhzLGwsaCksaD1nKE1hdGguY2VpbChzL2gpKmgsbCxoKSk7Zm9yKHZhciBkPWgubGVuZ3RoO2hbMF08PXM7KWguc2hpZnQoKSwtLWQ7Zm9yKDtoW2QtMV0+bDspaC5wb3AoKSwtLWQ7dmFyIHAsdj1uZXcgQXJyYXkoZCsxKTtmb3Iobz0wO288PWQ7KytvKShwPXZbb109W10pLngwPW8+MD9oW28tMV06cyxwLngxPW88ZD9oW29dOmw7Zm9yKG89MDtvPHU7KytvKXM8PShhPWZbb10pJiZhPD1sJiZ2W2koaCxhLDAsZCldLnB1c2gocltvXSk7cmV0dXJuIHZ9cmV0dXJuIHIudmFsdWU9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpwKG4pLHIpOnR9LHIuZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cChbdFswXSx0WzFdXSkscik6bn0sci50aHJlc2hvbGRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6QXJyYXkuaXNBcnJheSh0KT9wKGguY2FsbCh0KSk6cCh0KSxyKTplfSxyfSx0LnRocmVzaG9sZEZyZWVkbWFuRGlhY29uaXM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PWQuY2FsbCh0LHUpLnNvcnQobiksTWF0aC5jZWlsKChyLWUpLygyKihBKHQsLjc1KS1BKHQsLjI1KSkqTWF0aC5wb3codC5sZW5ndGgsLTEvMykpKX0sdC50aHJlc2hvbGRTY290dD1mdW5jdGlvbih0LG4sZSl7cmV0dXJuIE1hdGguY2VpbCgoZS1uKS8oMy41KmModCkqTWF0aC5wb3codC5sZW5ndGgsLTEvMykpKX0sdC50aHJlc2hvbGRTdHVyZ2VzPU0sdC5tYXg9VCx0Lm1lYW49ZnVuY3Rpb24odCxuKXt2YXIgZSxyPXQubGVuZ3RoLGk9cixvPS0xLGE9MDtpZihudWxsPT1uKWZvcig7KytvPHI7KWlzTmFOKGU9dSh0W29dKSk/LS1pOmErPWU7ZWxzZSBmb3IoOysrbzxyOylpc05hTihlPXUobih0W29dLG8sdCkpKT8tLWk6YSs9ZTtpZihpKXJldHVybiBhL2l9LHQubWVkaWFuPWZ1bmN0aW9uKHQsZSl7dmFyIHIsaT10Lmxlbmd0aCxvPS0xLGE9W107aWYobnVsbD09ZSlmb3IoOysrbzxpOylpc05hTihyPXUodFtvXSkpfHxhLnB1c2gocik7ZWxzZSBmb3IoOysrbzxpOylpc05hTihyPXUoZSh0W29dLG8sdCkpKXx8YS5wdXNoKHIpO3JldHVybiBBKGEuc29ydChuKSwuNSl9LHQubWVyZ2U9Tix0Lm1pbj1TLHQucGFpcnM9ZnVuY3Rpb24odCxuKXtudWxsPT1uJiYobj1hKTtmb3IodmFyIGU9MCxyPXQubGVuZ3RoLTEsaT10WzBdLG89bmV3IEFycmF5KHI8MD8wOnIpO2U8cjspb1tlXT1uKGksaT10WysrZV0pO3JldHVybiBvfSx0LnBlcm11dGU9ZnVuY3Rpb24odCxuKXtmb3IodmFyIGU9bi5sZW5ndGgscj1uZXcgQXJyYXkoZSk7ZS0tOylyW2VdPXRbbltlXV07cmV0dXJuIHJ9LHQucXVhbnRpbGU9QSx0LnJhbmdlPWcsdC5zY2FuPWZ1bmN0aW9uKHQsZSl7aWYocj10Lmxlbmd0aCl7dmFyIHIsaSxvPTAsYT0wLHU9dFthXTtmb3IobnVsbD09ZSYmKGU9bik7KytvPHI7KShlKGk9dFtvXSx1KTwwfHwwIT09ZSh1LHUpKSYmKHU9aSxhPW8pO3JldHVybiAwPT09ZSh1LHUpP2E6dm9pZCAwfX0sdC5zaHVmZmxlPWZ1bmN0aW9uKHQsbixlKXtmb3IodmFyIHIsaSxvPShudWxsPT1lP3QubGVuZ3RoOmUpLShuPW51bGw9PW4/MDorbik7bzspaT1NYXRoLnJhbmRvbSgpKm8tLXwwLHI9dFtvK25dLHRbbytuXT10W2krbl0sdFtpK25dPXI7cmV0dXJuIHR9LHQuc3VtPWZ1bmN0aW9uKHQsbil7dmFyIGUscj10Lmxlbmd0aCxpPS0xLG89MDtpZihudWxsPT1uKWZvcig7KytpPHI7KShlPSt0W2ldKSYmKG8rPWUpO2Vsc2UgZm9yKDsrK2k8cjspKGU9K24odFtpXSxpLHQpKSYmKG8rPWUpO3JldHVybiBvfSx0LnRpY2tzPW0sdC50aWNrSW5jcmVtZW50PXgsdC50aWNrU3RlcD13LHQudHJhbnNwb3NlPUUsdC52YXJpYW5jZT1mLHQuemlwPWZ1bmN0aW9uKCl7cmV0dXJuIEUoYXJndW1lbnRzKX0sdC5heGlzVG9wPWZ1bmN0aW9uKHQpe3JldHVybiBCKHosdCl9LHQuYXhpc1JpZ2h0PWZ1bmN0aW9uKHQpe3JldHVybiBCKFIsdCl9LHQuYXhpc0JvdHRvbT1mdW5jdGlvbih0KXtyZXR1cm4gQihMLHQpfSx0LmF4aXNMZWZ0PWZ1bmN0aW9uKHQpe3JldHVybiBCKEQsdCl9LHQuYnJ1c2g9ZnVuY3Rpb24oKXtyZXR1cm4gUmkod2kpfSx0LmJydXNoWD1mdW5jdGlvbigpe3JldHVybiBSaShtaSl9LHQuYnJ1c2hZPWZ1bmN0aW9uKCl7cmV0dXJuIFJpKHhpKX0sdC5icnVzaFNlbGVjdGlvbj1mdW5jdGlvbih0KXt2YXIgbj10Ll9fYnJ1c2g7cmV0dXJuIG4/bi5kaW0ub3V0cHV0KG4uc2VsZWN0aW9uKTpudWxsfSx0LmNob3JkPWZ1bmN0aW9uKCl7dmFyIHQ9MCxuPW51bGwsZT1udWxsLHI9bnVsbDtmdW5jdGlvbiBpKGkpe3ZhciBvLGEsdSxmLGMscyxsPWkubGVuZ3RoLGg9W10sZD1nKGwpLHA9W10sdj1bXSx5PXYuZ3JvdXBzPW5ldyBBcnJheShsKSxfPW5ldyBBcnJheShsKmwpO2ZvcihvPTAsYz0tMTsrK2M8bDspe2ZvcihhPTAscz0tMTsrK3M8bDspYSs9aVtjXVtzXTtoLnB1c2goYSkscC5wdXNoKGcobCkpLG8rPWF9Zm9yKG4mJmQuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiBuKGhbdF0saFtlXSl9KSxlJiZwLmZvckVhY2goZnVuY3Rpb24odCxuKXt0LnNvcnQoZnVuY3Rpb24odCxyKXtyZXR1cm4gZShpW25dW3RdLGlbbl1bcl0pfSl9KSxmPShvPVlpKDAsT2ktdCpsKS9vKT90Ok9pL2wsYT0wLGM9LTE7KytjPGw7KXtmb3IodT1hLHM9LTE7KytzPGw7KXt2YXIgYj1kW2NdLG09cFtiXVtzXSx4PWlbYl1bbV0sdz1hLE09YSs9eCpvO19bbSpsK2JdPXtpbmRleDpiLHN1YmluZGV4Om0sc3RhcnRBbmdsZTp3LGVuZEFuZ2xlOk0sdmFsdWU6eH19eVtiXT17aW5kZXg6YixzdGFydEFuZ2xlOnUsZW5kQW5nbGU6YSx2YWx1ZTpoW2JdfSxhKz1mfWZvcihjPS0xOysrYzxsOylmb3Iocz1jLTE7KytzPGw7KXt2YXIgQT1fW3MqbCtjXSxUPV9bYypsK3NdOyhBLnZhbHVlfHxULnZhbHVlKSYmdi5wdXNoKEEudmFsdWU8VC52YWx1ZT97c291cmNlOlQsdGFyZ2V0OkF9Ontzb3VyY2U6QSx0YXJnZXQ6VH0pfXJldHVybiByP3Yuc29ydChyKTp2fXJldHVybiBpLnBhZEFuZ2xlPWZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PVlpKDAsbiksaSk6dH0saS5zb3J0R3JvdXBzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQsaSk6bn0saS5zb3J0U3ViZ3JvdXBzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXQsaSk6ZX0saS5zb3J0Q2hvcmRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhudWxsPT10P3I9bnVsbDoobj10LHI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbih0LnNvdXJjZS52YWx1ZSt0LnRhcmdldC52YWx1ZSxlLnNvdXJjZS52YWx1ZStlLnRhcmdldC52YWx1ZSl9KS5fPXQsaSk6ciYmci5fO3ZhciBufSxpfSx0LnJpYmJvbj1mdW5jdGlvbigpe3ZhciB0PVZpLG49JGksZT1XaSxyPVppLGk9UWksbz1udWxsO2Z1bmN0aW9uIGEoKXt2YXIgYSx1PUJpLmNhbGwoYXJndW1lbnRzKSxmPXQuYXBwbHkodGhpcyx1KSxjPW4uYXBwbHkodGhpcyx1KSxzPStlLmFwcGx5KHRoaXMsKHVbMF09Zix1KSksbD1yLmFwcGx5KHRoaXMsdSktcWksaD1pLmFwcGx5KHRoaXMsdSktcWksZD1zKkxpKGwpLHA9cypEaShsKSx2PStlLmFwcGx5KHRoaXMsKHVbMF09Yyx1KSksZz1yLmFwcGx5KHRoaXMsdSktcWkseT1pLmFwcGx5KHRoaXMsdSktcWk7aWYob3x8KG89YT1HaSgpKSxvLm1vdmVUbyhkLHApLG8uYXJjKDAsMCxzLGwsaCksbD09PWcmJmg9PT15fHwoby5xdWFkcmF0aWNDdXJ2ZVRvKDAsMCx2KkxpKGcpLHYqRGkoZykpLG8uYXJjKDAsMCx2LGcseSkpLG8ucXVhZHJhdGljQ3VydmVUbygwLDAsZCxwKSxvLmNsb3NlUGF0aCgpLGEpcmV0dXJuIG89bnVsbCxhKyIifHxudWxsfXJldHVybiBhLnJhZGl1cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkZpKCt0KSxhKTplfSxhLnN0YXJ0QW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpGaSgrdCksYSk6cn0sYS5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkZpKCt0KSxhKTppfSxhLnNvdXJjZT1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1uLGEpOnR9LGEudGFyZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQsYSk6bn0sYS5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPW51bGw9PXQ/bnVsbDp0LGEpOm99LGF9LHQubmVzdD1mdW5jdGlvbigpe3ZhciB0LG4sZSxyPVtdLGk9W107ZnVuY3Rpb24gbyhlLGksYSx1KXtpZihpPj1yLmxlbmd0aClyZXR1cm4gbnVsbCE9dCYmZS5zb3J0KHQpLG51bGwhPW4/bihlKTplO2Zvcih2YXIgZixjLHMsbD0tMSxoPWUubGVuZ3RoLGQ9cltpKytdLHA9S2koKSx2PWEoKTsrK2w8aDspKHM9cC5nZXQoZj1kKGM9ZVtsXSkrIiIpKT9zLnB1c2goYyk6cC5zZXQoZixbY10pO3JldHVybiBwLmVhY2goZnVuY3Rpb24odCxuKXt1KHYsbixvKHQsaSxhLHUpKX0pLHZ9cmV0dXJuIGU9e29iamVjdDpmdW5jdGlvbih0KXtyZXR1cm4gbyh0LDAsdG8sbm8pfSxtYXA6ZnVuY3Rpb24odCl7cmV0dXJuIG8odCwwLGVvLHJvKX0sZW50cmllczpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24gdChlLG8pe2lmKCsrbz5yLmxlbmd0aClyZXR1cm4gZTt2YXIgYSx1PWlbby0xXTtyZXR1cm4gbnVsbCE9biYmbz49ci5sZW5ndGg/YT1lLmVudHJpZXMoKTooYT1bXSxlLmVhY2goZnVuY3Rpb24obixlKXthLnB1c2goe2tleTplLHZhbHVlczp0KG4sbyl9KX0pKSxudWxsIT11P2Euc29ydChmdW5jdGlvbih0LG4pe3JldHVybiB1KHQua2V5LG4ua2V5KX0pOmF9KG8odCwwLGVvLHJvKSwwKX0sa2V5OmZ1bmN0aW9uKHQpe3JldHVybiByLnB1c2godCksZX0sc29ydEtleXM6ZnVuY3Rpb24odCl7cmV0dXJuIGlbci5sZW5ndGgtMV09dCxlfSxzb3J0VmFsdWVzOmZ1bmN0aW9uKG4pe3JldHVybiB0PW4sZX0scm9sbHVwOmZ1bmN0aW9uKHQpe3JldHVybiBuPXQsZX19fSx0LnNldD1hbyx0Lm1hcD1LaSx0LmtleXM9ZnVuY3Rpb24odCl7dmFyIG49W107Zm9yKHZhciBlIGluIHQpbi5wdXNoKGUpO3JldHVybiBufSx0LnZhbHVlcz1mdW5jdGlvbih0KXt2YXIgbj1bXTtmb3IodmFyIGUgaW4gdCluLnB1c2godFtlXSk7cmV0dXJuIG59LHQuZW50cmllcz1mdW5jdGlvbih0KXt2YXIgbj1bXTtmb3IodmFyIGUgaW4gdCluLnB1c2goe2tleTplLHZhbHVlOnRbZV19KTtyZXR1cm4gbn0sdC5jb2xvcj12bix0LnJnYj1ibix0LmhzbD1Nbix0LmxhYj1Vbix0LmhjbD1Ibix0LmxjaD1mdW5jdGlvbih0LG4sZSxyKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/SW4odCk6bmV3IGpuKGUsbix0LG51bGw9PXI/MTpyKX0sdC5ncmF5PWZ1bmN0aW9uKHQsbil7cmV0dXJuIG5ldyBxbih0LDAsMCxudWxsPT1uPzE6bil9LHQuY3ViZWhlbGl4PUtuLHQuY29udG91cnM9Z28sdC5jb250b3VyRGVuc2l0eT1mdW5jdGlvbigpe3ZhciB0PWJvLG49bW8sZT14byxyPTk2MCxpPTUwMCxvPTIwLGE9Mix1PTMqbyxmPXIrMip1Pj5hLGM9aSsyKnU+PmEscz1jbygyMCk7ZnVuY3Rpb24gbChyKXt2YXIgaT1uZXcgRmxvYXQzMkFycmF5KGYqYyksbD1uZXcgRmxvYXQzMkFycmF5KGYqYyk7ci5mb3JFYWNoKGZ1bmN0aW9uKHIsbyxzKXt2YXIgbD0rdChyLG8scykrdT4+YSxoPStuKHIsbyxzKSt1Pj5hLGQ9K2UocixvLHMpO2w+PTAmJmw8ZiYmaD49MCYmaDxjJiYoaVtsK2gqZl0rPWQpfSkseW8oe3dpZHRoOmYsaGVpZ2h0OmMsZGF0YTppfSx7d2lkdGg6ZixoZWlnaHQ6YyxkYXRhOmx9LG8+PmEpLF9vKHt3aWR0aDpmLGhlaWdodDpjLGRhdGE6bH0se3dpZHRoOmYsaGVpZ2h0OmMsZGF0YTppfSxvPj5hKSx5byh7d2lkdGg6ZixoZWlnaHQ6YyxkYXRhOml9LHt3aWR0aDpmLGhlaWdodDpjLGRhdGE6bH0sbz4+YSksX28oe3dpZHRoOmYsaGVpZ2h0OmMsZGF0YTpsfSx7d2lkdGg6ZixoZWlnaHQ6YyxkYXRhOml9LG8+PmEpLHlvKHt3aWR0aDpmLGhlaWdodDpjLGRhdGE6aX0se3dpZHRoOmYsaGVpZ2h0OmMsZGF0YTpsfSxvPj5hKSxfbyh7d2lkdGg6ZixoZWlnaHQ6YyxkYXRhOmx9LHt3aWR0aDpmLGhlaWdodDpjLGRhdGE6aX0sbz4+YSk7dmFyIGQ9cyhpKTtpZighQXJyYXkuaXNBcnJheShkKSl7dmFyIHA9VChpKTtkPXcoMCxwLGQpLChkPWcoMCxNYXRoLmZsb29yKHAvZCkqZCxkKSkuc2hpZnQoKX1yZXR1cm4gZ28oKS50aHJlc2hvbGRzKGQpLnNpemUoW2YsY10pKGkpLm1hcChoKX1mdW5jdGlvbiBoKHQpe3JldHVybiB0LnZhbHVlKj1NYXRoLnBvdygyLC0yKmEpLHQuY29vcmRpbmF0ZXMuZm9yRWFjaChkKSx0fWZ1bmN0aW9uIGQodCl7dC5mb3JFYWNoKHApfWZ1bmN0aW9uIHAodCl7dC5mb3JFYWNoKHYpfWZ1bmN0aW9uIHYodCl7dFswXT10WzBdKk1hdGgucG93KDIsYSktdSx0WzFdPXRbMV0qTWF0aC5wb3coMixhKS11fWZ1bmN0aW9uIHkoKXtyZXR1cm4gZj1yKzIqKHU9MypvKT4+YSxjPWkrMip1Pj5hLGx9cmV0dXJuIGwueD1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOmNvKCtuKSxsKTp0fSxsLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpjbygrdCksbCk6bn0sbC53ZWlnaHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpjbygrdCksbCk6ZX0sbC5zaXplPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybltyLGldO3ZhciBuPU1hdGguY2VpbCh0WzBdKSxlPU1hdGguY2VpbCh0WzFdKTtpZighKG4+PTB8fG4+PTApKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBzaXplIik7cmV0dXJuIHI9bixpPWUseSgpfSxsLmNlbGxTaXplPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiAxPDxhO2lmKCEoKHQ9K3QpPj0xKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2VsbCBzaXplIik7cmV0dXJuIGE9TWF0aC5mbG9vcihNYXRoLmxvZyh0KS9NYXRoLkxOMikseSgpfSxsLnRocmVzaG9sZHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpBcnJheS5pc0FycmF5KHQpP2NvKHVvLmNhbGwodCkpOmNvKHQpLGwpOnN9LGwuYmFuZHdpZHRoPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBNYXRoLnNxcnQobyoobysxKSk7aWYoISgodD0rdCk+PTApKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBiYW5kd2lkdGgiKTtyZXR1cm4gbz1NYXRoLnJvdW5kKChNYXRoLnNxcnQoNCp0KnQrMSktMSkvMikseSgpfSxsfSx0LmRpc3BhdGNoPUksdC5kcmFnPWZ1bmN0aW9uKCl7dmFyIG4sZSxyLGksbz1XdCxhPVp0LHU9UXQsZj1KdCxjPXt9LHM9SSgic3RhcnQiLCJkcmFnIiwiZW5kIiksbD0wLGg9MDtmdW5jdGlvbiBkKHQpe3Qub24oIm1vdXNlZG93bi5kcmFnIixwKS5maWx0ZXIoZikub24oInRvdWNoc3RhcnQuZHJhZyIseSkub24oInRvdWNobW92ZS5kcmFnIixfKS5vbigidG91Y2hlbmQuZHJhZyB0b3VjaGNhbmNlbC5kcmFnIixiKS5zdHlsZSgidG91Y2gtYWN0aW9uIiwibm9uZSIpLnN0eWxlKCItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IiLCJyZ2JhKDAsMCwwLDApIil9ZnVuY3Rpb24gcCgpe2lmKCFpJiZvLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIHU9bSgibW91c2UiLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpLEZ0LHRoaXMsYXJndW1lbnRzKTt1JiYoRHQodC5ldmVudC52aWV3KS5vbigibW91c2Vtb3ZlLmRyYWciLHYsITApLm9uKCJtb3VzZXVwLmRyYWciLGcsITApLFh0KHQuZXZlbnQudmlldyksSHQoKSxyPSExLG49dC5ldmVudC5jbGllbnRYLGU9dC5ldmVudC5jbGllbnRZLHUoInN0YXJ0IikpfX1mdW5jdGlvbiB2KCl7aWYoanQoKSwhcil7dmFyIGk9dC5ldmVudC5jbGllbnRYLW4sbz10LmV2ZW50LmNsaWVudFktZTtyPWkqaStvKm8+aH1jLm1vdXNlKCJkcmFnIil9ZnVuY3Rpb24gZygpe0R0KHQuZXZlbnQudmlldykub24oIm1vdXNlbW92ZS5kcmFnIG1vdXNldXAuZHJhZyIsbnVsbCksR3QodC5ldmVudC52aWV3LHIpLGp0KCksYy5tb3VzZSgiZW5kIil9ZnVuY3Rpb24geSgpe2lmKG8uYXBwbHkodGhpcyxhcmd1bWVudHMpKXt2YXIgbixlLHI9dC5ldmVudC5jaGFuZ2VkVG91Y2hlcyxpPWEuYXBwbHkodGhpcyxhcmd1bWVudHMpLHU9ci5sZW5ndGg7Zm9yKG49MDtuPHU7KytuKShlPW0ocltuXS5pZGVudGlmaWVyLGksSXQsdGhpcyxhcmd1bWVudHMpKSYmKEh0KCksZSgic3RhcnQiKSl9fWZ1bmN0aW9uIF8oKXt2YXIgbixlLHI9dC5ldmVudC5jaGFuZ2VkVG91Y2hlcyxpPXIubGVuZ3RoO2ZvcihuPTA7bjxpOysrbikoZT1jW3Jbbl0uaWRlbnRpZmllcl0pJiYoanQoKSxlKCJkcmFnIikpfWZ1bmN0aW9uIGIoKXt2YXIgbixlLHI9dC5ldmVudC5jaGFuZ2VkVG91Y2hlcyxvPXIubGVuZ3RoO2ZvcihpJiZjbGVhclRpbWVvdXQoaSksaT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aT1udWxsfSw1MDApLG49MDtuPG87KytuKShlPWNbcltuXS5pZGVudGlmaWVyXSkmJihIdCgpLGUoImVuZCIpKX1mdW5jdGlvbiBtKG4sZSxyLGksbyl7dmFyIGEsZixoLHA9cihlLG4pLHY9cy5jb3B5KCk7aWYoQ3QobmV3ICR0KGQsImJlZm9yZXN0YXJ0IixhLG4sbCxwWzBdLHBbMV0sMCwwLHYpLGZ1bmN0aW9uKCl7cmV0dXJuIG51bGwhPSh0LmV2ZW50LnN1YmplY3Q9YT11LmFwcGx5KGksbykpJiYoZj1hLngtcFswXXx8MCxoPWEueS1wWzFdfHwwLCEwKX0pKXJldHVybiBmdW5jdGlvbiB0KHUpe3ZhciBzLGc9cDtzd2l0Y2godSl7Y2FzZSJzdGFydCI6Y1tuXT10LHM9bCsrO2JyZWFrO2Nhc2UiZW5kIjpkZWxldGUgY1tuXSwtLWw7Y2FzZSJkcmFnIjpwPXIoZSxuKSxzPWx9Q3QobmV3ICR0KGQsdSxhLG4scyxwWzBdK2YscFsxXStoLHBbMF0tZ1swXSxwWzFdLWdbMV0sdiksdi5hcHBseSx2LFt1LGksb10pfX1yZXR1cm4gZC5maWx0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpWdCghIXQpLGQpOm99LGQuY29udGFpbmVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6VnQodCksZCk6YX0sZC5zdWJqZWN0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6VnQodCksZCk6dX0sZC50b3VjaGFibGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGY9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpWdCghIXQpLGQpOmZ9LGQub249ZnVuY3Rpb24oKXt2YXIgdD1zLm9uLmFwcGx5KHMsYXJndW1lbnRzKTtyZXR1cm4gdD09PXM/ZDp0fSxkLmNsaWNrRGlzdGFuY2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGg9KHQ9K3QpKnQsZCk6TWF0aC5zcXJ0KGgpfSxkfSx0LmRyYWdEaXNhYmxlPVh0LHQuZHJhZ0VuYWJsZT1HdCx0LmRzdkZvcm1hdD1Fbyx0LmNzdlBhcnNlPUNvLHQuY3N2UGFyc2VSb3dzPVBvLHQuY3N2Rm9ybWF0PXpvLHQuY3N2Rm9ybWF0Um93cz1Sbyx0LnRzdlBhcnNlPURvLHQudHN2UGFyc2VSb3dzPVVvLHQudHN2Rm9ybWF0PXFvLHQudHN2Rm9ybWF0Um93cz1Pbyx0LmVhc2VMaW5lYXI9ZnVuY3Rpb24odCl7cmV0dXJuK3R9LHQuZWFzZVF1YWQ9RHIsdC5lYXNlUXVhZEluPWZ1bmN0aW9uKHQpe3JldHVybiB0KnR9LHQuZWFzZVF1YWRPdXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQqKDItdCl9LHQuZWFzZVF1YWRJbk91dD1Ecix0LmVhc2VDdWJpYz1Vcix0LmVhc2VDdWJpY0luPWZ1bmN0aW9uKHQpe3JldHVybiB0KnQqdH0sdC5lYXNlQ3ViaWNPdXQ9ZnVuY3Rpb24odCl7cmV0dXJuLS10KnQqdCsxfSx0LmVhc2VDdWJpY0luT3V0PVVyLHQuZWFzZVBvbHk9WXIsdC5lYXNlUG9seUluPXFyLHQuZWFzZVBvbHlPdXQ9T3IsdC5lYXNlUG9seUluT3V0PVlyLHQuZWFzZVNpbj1Jcix0LmVhc2VTaW5Jbj1mdW5jdGlvbih0KXtyZXR1cm4gMS1NYXRoLmNvcyh0KkZyKX0sdC5lYXNlU2luT3V0PWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnNpbih0KkZyKX0sdC5lYXNlU2luSW5PdXQ9SXIsdC5lYXNlRXhwPUhyLHQuZWFzZUV4cEluPWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnBvdygyLDEwKnQtMTApfSx0LmVhc2VFeHBPdXQ9ZnVuY3Rpb24odCl7cmV0dXJuIDEtTWF0aC5wb3coMiwtMTAqdCl9LHQuZWFzZUV4cEluT3V0PUhyLHQuZWFzZUNpcmNsZT1qcix0LmVhc2VDaXJjbGVJbj1mdW5jdGlvbih0KXtyZXR1cm4gMS1NYXRoLnNxcnQoMS10KnQpfSx0LmVhc2VDaXJjbGVPdXQ9ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGguc3FydCgxLSAtLXQqdCl9LHQuZWFzZUNpcmNsZUluT3V0PWpyLHQuZWFzZUJvdW5jZT1uaSx0LmVhc2VCb3VuY2VJbj1mdW5jdGlvbih0KXtyZXR1cm4gMS1uaSgxLXQpfSx0LmVhc2VCb3VuY2VPdXQ9bmksdC5lYXNlQm91bmNlSW5PdXQ9ZnVuY3Rpb24odCl7cmV0dXJuKCh0Kj0yKTw9MT8xLW5pKDEtdCk6bmkodC0xKSsxKS8yfSx0LmVhc2VCYWNrPWlpLHQuZWFzZUJhY2tJbj1laSx0LmVhc2VCYWNrT3V0PXJpLHQuZWFzZUJhY2tJbk91dD1paSx0LmVhc2VFbGFzdGljPXVpLHQuZWFzZUVsYXN0aWNJbj1haSx0LmVhc2VFbGFzdGljT3V0PXVpLHQuZWFzZUVsYXN0aWNJbk91dD1maSx0LmJsb2I9ZnVuY3Rpb24odCxuKXtyZXR1cm4gZmV0Y2godCxuKS50aGVuKFlvKX0sdC5idWZmZXI9ZnVuY3Rpb24odCxuKXtyZXR1cm4gZmV0Y2godCxuKS50aGVuKEJvKX0sdC5kc3Y9ZnVuY3Rpb24odCxuLGUscil7Mz09PWFyZ3VtZW50cy5sZW5ndGgmJiJmdW5jdGlvbiI9PXR5cGVvZiBlJiYocj1lLGU9dm9pZCAwKTt2YXIgaT1Fbyh0KTtyZXR1cm4gSW8obixlKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBpLnBhcnNlKHQscil9KX0sdC5jc3Y9am8sdC50c3Y9WG8sdC5pbWFnZT1mdW5jdGlvbih0LG4pe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlLHIpe3ZhciBpPW5ldyBJbWFnZTtmb3IodmFyIG8gaW4gbilpW29dPW5bb107aS5vbmVycm9yPXIsaS5vbmxvYWQ9ZnVuY3Rpb24oKXtlKGkpfSxpLnNyYz10fSl9LHQuanNvbj1mdW5jdGlvbih0LG4pe3JldHVybiBmZXRjaCh0LG4pLnRoZW4oR28pfSx0LnRleHQ9SW8sdC54bWw9JG8sdC5odG1sPVdvLHQuc3ZnPVpvLHQuZm9yY2VDZW50ZXI9ZnVuY3Rpb24odCxuKXt2YXIgZTtmdW5jdGlvbiByKCl7dmFyIHIsaSxvPWUubGVuZ3RoLGE9MCx1PTA7Zm9yKHI9MDtyPG87KytyKWErPShpPWVbcl0pLngsdSs9aS55O2ZvcihhPWEvby10LHU9dS9vLW4scj0wO3I8bzsrK3IpKGk9ZVtyXSkueC09YSxpLnktPXV9cmV0dXJuIG51bGw9PXQmJih0PTApLG51bGw9PW4mJihuPTApLHIuaW5pdGlhbGl6ZT1mdW5jdGlvbih0KXtlPXR9LHIueD1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0rbixyKTp0fSxyLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49K3Qscik6bn0scn0sdC5mb3JjZUNvbGxpZGU9ZnVuY3Rpb24odCl7dmFyIG4sZSxyPTEsaT0xO2Z1bmN0aW9uIG8oKXtmb3IodmFyIHQsbyx1LGYsYyxzLGwsaD1uLmxlbmd0aCxkPTA7ZDxpOysrZClmb3Iobz1yYShuLHVhLGZhKS52aXNpdEFmdGVyKGEpLHQ9MDt0PGg7Kyt0KXU9blt0XSxzPWVbdS5pbmRleF0sbD1zKnMsZj11LngrdS52eCxjPXUueSt1LnZ5LG8udmlzaXQocCk7ZnVuY3Rpb24gcCh0LG4sZSxpLG8pe3ZhciBhPXQuZGF0YSxoPXQucixkPXMraDtpZighYSlyZXR1cm4gbj5mK2R8fGk8Zi1kfHxlPmMrZHx8bzxjLWQ7aWYoYS5pbmRleD51LmluZGV4KXt2YXIgcD1mLWEueC1hLnZ4LHY9Yy1hLnktYS52eSxnPXAqcCt2KnY7ZzxkKmQmJigwPT09cCYmKGcrPShwPUpvKCkpKnApLDA9PT12JiYoZys9KHY9Sm8oKSkqdiksZz0oZC0oZz1NYXRoLnNxcnQoZykpKS9nKnIsdS52eCs9KHAqPWcpKihkPShoKj1oKS8obCtoKSksdS52eSs9KHYqPWcpKmQsYS52eC09cCooZD0xLWQpLGEudnktPXYqZCl9fX1mdW5jdGlvbiBhKHQpe2lmKHQuZGF0YSlyZXR1cm4gdC5yPWVbdC5kYXRhLmluZGV4XTtmb3IodmFyIG49dC5yPTA7bjw0Oysrbil0W25dJiZ0W25dLnI+dC5yJiYodC5yPXRbbl0ucil9ZnVuY3Rpb24gdSgpe2lmKG4pe3ZhciByLGksbz1uLmxlbmd0aDtmb3IoZT1uZXcgQXJyYXkobykscj0wO3I8bzsrK3IpaT1uW3JdLGVbaS5pbmRleF09K3QoaSxyLG4pfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9UW8obnVsbD09dD8xOit0KSksby5pbml0aWFsaXplPWZ1bmN0aW9uKHQpe249dCx1KCl9LG8uaXRlcmF0aW9ucz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rdCxvKTppfSxvLnN0cmVuZ3RoPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSt0LG8pOnJ9LG8ucmFkaXVzPWZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBuP246UW8oK24pLHUoKSxvKTp0fSxvfSx0LmZvcmNlTGluaz1mdW5jdGlvbih0KXt2YXIgbixlLHIsaSxvLGE9Y2EsdT1mdW5jdGlvbih0KXtyZXR1cm4gMS9NYXRoLm1pbihpW3Quc291cmNlLmluZGV4XSxpW3QudGFyZ2V0LmluZGV4XSl9LGY9UW8oMzApLGM9MTtmdW5jdGlvbiBzKHIpe2Zvcih2YXIgaT0wLGE9dC5sZW5ndGg7aTxjOysraSlmb3IodmFyIHUsZixzLGwsaCxkLHAsdj0wO3Y8YTsrK3YpZj0odT10W3ZdKS5zb3VyY2UsbD0ocz11LnRhcmdldCkueCtzLnZ4LWYueC1mLnZ4fHxKbygpLGg9cy55K3MudnktZi55LWYudnl8fEpvKCksbCo9ZD0oKGQ9TWF0aC5zcXJ0KGwqbCtoKmgpKS1lW3ZdKS9kKnIqblt2XSxoKj1kLHMudngtPWwqKHA9b1t2XSkscy52eS09aCpwLGYudngrPWwqKHA9MS1wKSxmLnZ5Kz1oKnB9ZnVuY3Rpb24gbCgpe2lmKHIpe3ZhciB1LGYsYz1yLmxlbmd0aCxzPXQubGVuZ3RoLGw9S2kocixhKTtmb3IodT0wLGk9bmV3IEFycmF5KGMpO3U8czsrK3UpKGY9dFt1XSkuaW5kZXg9dSwib2JqZWN0IiE9dHlwZW9mIGYuc291cmNlJiYoZi5zb3VyY2U9c2EobCxmLnNvdXJjZSkpLCJvYmplY3QiIT10eXBlb2YgZi50YXJnZXQmJihmLnRhcmdldD1zYShsLGYudGFyZ2V0KSksaVtmLnNvdXJjZS5pbmRleF09KGlbZi5zb3VyY2UuaW5kZXhdfHwwKSsxLGlbZi50YXJnZXQuaW5kZXhdPShpW2YudGFyZ2V0LmluZGV4XXx8MCkrMTtmb3IodT0wLG89bmV3IEFycmF5KHMpO3U8czsrK3UpZj10W3VdLG9bdV09aVtmLnNvdXJjZS5pbmRleF0vKGlbZi5zb3VyY2UuaW5kZXhdK2lbZi50YXJnZXQuaW5kZXhdKTtuPW5ldyBBcnJheShzKSxoKCksZT1uZXcgQXJyYXkocyksZCgpfX1mdW5jdGlvbiBoKCl7aWYocilmb3IodmFyIGU9MCxpPXQubGVuZ3RoO2U8aTsrK2UpbltlXT0rdSh0W2VdLGUsdCl9ZnVuY3Rpb24gZCgpe2lmKHIpZm9yKHZhciBuPTAsaT10Lmxlbmd0aDtuPGk7KytuKWVbbl09K2YodFtuXSxuLHQpfXJldHVybiBudWxsPT10JiYodD1bXSkscy5pbml0aWFsaXplPWZ1bmN0aW9uKHQpe3I9dCxsKCl9LHMubGlua3M9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9bixsKCkscyk6dH0scy5pZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT10LHMpOmF9LHMuaXRlcmF0aW9ucz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz0rdCxzKTpjfSxzLnN0cmVuZ3RoPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UW8oK3QpLGgoKSxzKTp1fSxzLmRpc3RhbmNlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhmPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UW8oK3QpLGQoKSxzKTpmfSxzfSx0LmZvcmNlTWFueUJvZHk9ZnVuY3Rpb24oKXt2YXIgdCxuLGUscixpPVFvKC0zMCksbz0xLGE9MS8wLHU9LjgxO2Z1bmN0aW9uIGYocil7dmFyIGksbz10Lmxlbmd0aCxhPXJhKHQsbGEsaGEpLnZpc2l0QWZ0ZXIocyk7Zm9yKGU9cixpPTA7aTxvOysraSluPXRbaV0sYS52aXNpdChsKX1mdW5jdGlvbiBjKCl7aWYodCl7dmFyIG4sZSxvPXQubGVuZ3RoO2ZvcihyPW5ldyBBcnJheShvKSxuPTA7bjxvOysrbillPXRbbl0scltlLmluZGV4XT0raShlLG4sdCl9fWZ1bmN0aW9uIHModCl7dmFyIG4sZSxpLG8sYSx1PTAsZj0wO2lmKHQubGVuZ3RoKXtmb3IoaT1vPWE9MDthPDQ7KythKShuPXRbYV0pJiYoZT1NYXRoLmFicyhuLnZhbHVlKSkmJih1Kz1uLnZhbHVlLGYrPWUsaSs9ZSpuLngsbys9ZSpuLnkpO3QueD1pL2YsdC55PW8vZn1lbHNleyhuPXQpLng9bi5kYXRhLngsbi55PW4uZGF0YS55O2Rve3UrPXJbbi5kYXRhLmluZGV4XX13aGlsZShuPW4ubmV4dCl9dC52YWx1ZT11fWZ1bmN0aW9uIGwodCxpLGYsYyl7aWYoIXQudmFsdWUpcmV0dXJuITA7dmFyIHM9dC54LW4ueCxsPXQueS1uLnksaD1jLWksZD1zKnMrbCpsO2lmKGgqaC91PGQpcmV0dXJuIGQ8YSYmKDA9PT1zJiYoZCs9KHM9Sm8oKSkqcyksMD09PWwmJihkKz0obD1KbygpKSpsKSxkPG8mJihkPU1hdGguc3FydChvKmQpKSxuLnZ4Kz1zKnQudmFsdWUqZS9kLG4udnkrPWwqdC52YWx1ZSplL2QpLCEwO2lmKCEodC5sZW5ndGh8fGQ+PWEpKXsodC5kYXRhIT09bnx8dC5uZXh0KSYmKDA9PT1zJiYoZCs9KHM9Sm8oKSkqcyksMD09PWwmJihkKz0obD1KbygpKSpsKSxkPG8mJihkPU1hdGguc3FydChvKmQpKSk7ZG97dC5kYXRhIT09biYmKGg9clt0LmRhdGEuaW5kZXhdKmUvZCxuLnZ4Kz1zKmgsbi52eSs9bCpoKX13aGlsZSh0PXQubmV4dCl9fXJldHVybiBmLmluaXRpYWxpemU9ZnVuY3Rpb24obil7dD1uLGMoKX0sZi5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlFvKCt0KSxjKCksZik6aX0sZi5kaXN0YW5jZU1pbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz10KnQsZik6TWF0aC5zcXJ0KG8pfSxmLmRpc3RhbmNlTWF4PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXQqdCxmKTpNYXRoLnNxcnQoYSl9LGYudGhldGE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHU9dCp0LGYpOk1hdGguc3FydCh1KX0sZn0sdC5mb3JjZVJhZGlhbD1mdW5jdGlvbih0LG4sZSl7dmFyIHIsaSxvLGE9UW8oLjEpO2Z1bmN0aW9uIHUodCl7Zm9yKHZhciBhPTAsdT1yLmxlbmd0aDthPHU7KythKXt2YXIgZj1yW2FdLGM9Zi54LW58fDFlLTYscz1mLnktZXx8MWUtNixsPU1hdGguc3FydChjKmMrcypzKSxoPShvW2FdLWwpKmlbYV0qdC9sO2YudngrPWMqaCxmLnZ5Kz1zKmh9fWZ1bmN0aW9uIGYoKXtpZihyKXt2YXIgbixlPXIubGVuZ3RoO2ZvcihpPW5ldyBBcnJheShlKSxvPW5ldyBBcnJheShlKSxuPTA7bjxlOysrbilvW25dPSt0KHJbbl0sbixyKSxpW25dPWlzTmFOKG9bbl0pPzA6K2EocltuXSxuLHIpfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9UW8oK3QpKSxudWxsPT1uJiYobj0wKSxudWxsPT1lJiYoZT0wKSx1LmluaXRpYWxpemU9ZnVuY3Rpb24odCl7cj10LGYoKX0sdS5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlFvKCt0KSxmKCksdSk6YX0sdS5yYWRpdXM9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpRbygrbiksZigpLHUpOnR9LHUueD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0rdCx1KTpufSx1Lnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9K3QsdSk6ZX0sdX0sdC5mb3JjZVNpbXVsYXRpb249ZnVuY3Rpb24odCl7dmFyIG4sZT0xLHI9LjAwMSxpPTEtTWF0aC5wb3cociwxLzMwMCksbz0wLGE9LjYsdT1LaSgpLGY9dXIocyksYz1JKCJ0aWNrIiwiZW5kIik7ZnVuY3Rpb24gcygpe2woKSxjLmNhbGwoInRpY2siLG4pLGU8ciYmKGYuc3RvcCgpLGMuY2FsbCgiZW5kIixuKSl9ZnVuY3Rpb24gbCgpe3ZhciBuLHIsZj10Lmxlbmd0aDtmb3IoZSs9KG8tZSkqaSx1LmVhY2goZnVuY3Rpb24odCl7dChlKX0pLG49MDtuPGY7KytuKW51bGw9PShyPXRbbl0pLmZ4P3IueCs9ci52eCo9YTooci54PXIuZngsci52eD0wKSxudWxsPT1yLmZ5P3IueSs9ci52eSo9YTooci55PXIuZnksci52eT0wKX1mdW5jdGlvbiBoKCl7Zm9yKHZhciBuLGU9MCxyPXQubGVuZ3RoO2U8cjsrK2Upe2lmKChuPXRbZV0pLmluZGV4PWUsaXNOYU4obi54KXx8aXNOYU4obi55KSl7dmFyIGk9ZGEqTWF0aC5zcXJ0KGUpLG89ZSpwYTtuLng9aSpNYXRoLmNvcyhvKSxuLnk9aSpNYXRoLnNpbihvKX0oaXNOYU4obi52eCl8fGlzTmFOKG4udnkpKSYmKG4udng9bi52eT0wKX19ZnVuY3Rpb24gZChuKXtyZXR1cm4gbi5pbml0aWFsaXplJiZuLmluaXRpYWxpemUodCksbn1yZXR1cm4gbnVsbD09dCYmKHQ9W10pLGgoKSxuPXt0aWNrOmwscmVzdGFydDpmdW5jdGlvbigpe3JldHVybiBmLnJlc3RhcnQocyksbn0sc3RvcDpmdW5jdGlvbigpe3JldHVybiBmLnN0b3AoKSxufSxub2RlczpmdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1lLGgoKSx1LmVhY2goZCksbik6dH0sYWxwaGE6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9K3Qsbik6ZX0sYWxwaGFNaW46ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9K3Qsbik6cn0sYWxwaGFEZWNheTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rdCxuKToraX0sYWxwaGFUYXJnZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89K3Qsbik6b30sdmVsb2NpdHlEZWNheTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0xLXQsbik6MS1hfSxmb3JjZTpmdW5jdGlvbih0LGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjE/KG51bGw9PWU/dS5yZW1vdmUodCk6dS5zZXQodCxkKGUpKSxuKTp1LmdldCh0KX0sZmluZDpmdW5jdGlvbihuLGUscil7dmFyIGksbyxhLHUsZixjPTAscz10Lmxlbmd0aDtmb3IobnVsbD09cj9yPTEvMDpyKj1yLGM9MDtjPHM7KytjKShhPShpPW4tKHU9dFtjXSkueCkqaSsobz1lLXUueSkqbyk8ciYmKGY9dSxyPWEpO3JldHVybiBmfSxvbjpmdW5jdGlvbih0LGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjE/KGMub24odCxlKSxuKTpjLm9uKHQpfX19LHQuZm9yY2VYPWZ1bmN0aW9uKHQpe3ZhciBuLGUscixpPVFvKC4xKTtmdW5jdGlvbiBvKHQpe2Zvcih2YXIgaSxvPTAsYT1uLmxlbmd0aDtvPGE7KytvKShpPW5bb10pLnZ4Kz0ocltvXS1pLngpKmVbb10qdH1mdW5jdGlvbiBhKCl7aWYobil7dmFyIG8sYT1uLmxlbmd0aDtmb3IoZT1uZXcgQXJyYXkoYSkscj1uZXcgQXJyYXkoYSksbz0wO288YTsrK28pZVtvXT1pc05hTihyW29dPSt0KG5bb10sbyxuKSk/MDoraShuW29dLG8sbil9fXJldHVybiJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1RbyhudWxsPT10PzA6K3QpKSxvLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7bj10LGEoKX0sby5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlFvKCt0KSxhKCksbyk6aX0sby54PWZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBuP246UW8oK24pLGEoKSxvKTp0fSxvfSx0LmZvcmNlWT1mdW5jdGlvbih0KXt2YXIgbixlLHIsaT1RbyguMSk7ZnVuY3Rpb24gbyh0KXtmb3IodmFyIGksbz0wLGE9bi5sZW5ndGg7bzxhOysrbykoaT1uW29dKS52eSs9KHJbb10taS55KSplW29dKnR9ZnVuY3Rpb24gYSgpe2lmKG4pe3ZhciBvLGE9bi5sZW5ndGg7Zm9yKGU9bmV3IEFycmF5KGEpLHI9bmV3IEFycmF5KGEpLG89MDtvPGE7KytvKWVbb109aXNOYU4ocltvXT0rdChuW29dLG8sbikpPzA6K2kobltvXSxvLG4pfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9UW8obnVsbD09dD8wOit0KSksby5pbml0aWFsaXplPWZ1bmN0aW9uKHQpe249dCxhKCl9LG8uc3RyZW5ndGg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpRbygrdCksYSgpLG8pOml9LG8ueT1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOlFvKCtuKSxhKCksbyk6dH0sb30sdC5mb3JtYXREZWZhdWx0TG9jYWxlPVNhLHQuZm9ybWF0TG9jYWxlPU5hLHQuZm9ybWF0U3BlY2lmaWVyPWJhLHQucHJlY2lzaW9uRml4ZWQ9RWEsdC5wcmVjaXNpb25QcmVmaXg9a2EsdC5wcmVjaXNpb25Sb3VuZD1DYSx0Lmdlb0FyZWE9ZnVuY3Rpb24odCl7cmV0dXJuIHl1LnJlc2V0KCksc3UodCxfdSksMip5dX0sdC5nZW9Cb3VuZHM9ZnVuY3Rpb24odCl7dmFyIG4sZSxyLGksbyxhLHU7aWYoUnU9enU9LShDdT1QdT0xLzApLE91PVtdLHN1KHQscmYpLGU9T3UubGVuZ3RoKXtmb3IoT3Uuc29ydChkZiksbj0xLG89W3I9T3VbMF1dO248ZTsrK24pcGYociwoaT1PdVtuXSlbMF0pfHxwZihyLGlbMV0pPyhoZihyWzBdLGlbMV0pPmhmKHJbMF0sclsxXSkmJihyWzFdPWlbMV0pLGhmKGlbMF0sclsxXSk+aGYoclswXSxyWzFdKSYmKHJbMF09aVswXSkpOm8ucHVzaChyPWkpO2ZvcihhPS0xLzAsbj0wLHI9b1tlPW8ubGVuZ3RoLTFdO248PWU7cj1pLCsrbilpPW9bbl0sKHU9aGYoclsxXSxpWzBdKSk+YSYmKGE9dSxDdT1pWzBdLHp1PXJbMV0pfXJldHVybiBPdT1ZdT1udWxsLEN1PT09MS8wfHxQdT09PTEvMD9bW05hTixOYU5dLFtOYU4sTmFOXV06W1tDdSxQdV0sW3p1LFJ1XV19LHQuZ2VvQ2VudHJvaWQ9ZnVuY3Rpb24odCl7QnU9RnU9SXU9SHU9anU9WHU9R3U9VnU9JHU9V3U9WnU9MCxzdSh0LHZmKTt2YXIgbj0kdSxlPVd1LHI9WnUsaT1uKm4rZSplK3IqcjtyZXR1cm4gaTxVYSYmKG49WHUsZT1HdSxyPVZ1LEZ1PERhJiYobj1JdSxlPUh1LHI9anUpLChpPW4qbitlKmUrcipyKTxVYSk/W05hTixOYU5dOltYYShlLG4pKkZhLGV1KHIvS2EoaSkpKkZhXX0sdC5nZW9DaXJjbGU9ZnVuY3Rpb24oKXt2YXIgdCxuLGU9TmYoWzAsMF0pLHI9TmYoOTApLGk9TmYoNiksbz17cG9pbnQ6ZnVuY3Rpb24oZSxyKXt0LnB1c2goZT1uKGUscikpLGVbMF0qPUZhLGVbMV0qPUZhfX07ZnVuY3Rpb24gYSgpe3ZhciBhPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpLHU9ci5hcHBseSh0aGlzLGFyZ3VtZW50cykqSWEsZj1pLmFwcGx5KHRoaXMsYXJndW1lbnRzKSpJYTtyZXR1cm4gdD1bXSxuPWtmKC1hWzBdKklhLC1hWzFdKklhLDApLmludmVydCxMZihvLHUsZiwxKSxhPXt0eXBlOiJQb2x5Z29uIixjb29yZGluYXRlczpbdF19LHQ9bj1udWxsLGF9cmV0dXJuIGEuY2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TmYoWyt0WzBdLCt0WzFdXSksYSk6ZX0sYS5yYWRpdXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpOZigrdCksYSk6cn0sYS5wcmVjaXNpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpOZigrdCksYSk6aX0sYX0sdC5nZW9DbGlwQW50aW1lcmlkaWFuPUdmLHQuZ2VvQ2xpcENpcmNsZT1WZix0Lmdlb0NsaXBFeHRlbnQ9ZnVuY3Rpb24oKXt2YXIgdCxuLGUscj0wLGk9MCxvPTk2MCxhPTUwMDtyZXR1cm4gZT17c3RyZWFtOmZ1bmN0aW9uKGUpe3JldHVybiB0JiZuPT09ZT90OnQ9WmYocixpLG8sYSkobj1lKX0sZXh0ZW50OmZ1bmN0aW9uKHUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSt1WzBdWzBdLGk9K3VbMF1bMV0sbz0rdVsxXVswXSxhPSt1WzFdWzFdLHQ9bj1udWxsLGUpOltbcixpXSxbbyxhXV19fX0sdC5nZW9DbGlwUmVjdGFuZ2xlPVpmLHQuZ2VvQ29udGFpbnM9ZnVuY3Rpb24odCxuKXtyZXR1cm4odCYmY2MuaGFzT3duUHJvcGVydHkodC50eXBlKT9jY1t0LnR5cGVdOmxjKSh0LG4pfSx0Lmdlb0Rpc3RhbmNlPWZjLHQuZ2VvR3JhdGljdWxlPWJjLHQuZ2VvR3JhdGljdWxlMTA9ZnVuY3Rpb24oKXtyZXR1cm4gYmMoKSgpfSx0Lmdlb0ludGVycG9sYXRlPWZ1bmN0aW9uKHQsbil7dmFyIGU9dFswXSpJYSxyPXRbMV0qSWEsaT1uWzBdKklhLG89blsxXSpJYSxhPUdhKHIpLHU9UWEociksZj1HYShvKSxjPVFhKG8pLHM9YSpHYShlKSxsPWEqUWEoZSksaD1mKkdhKGkpLGQ9ZipRYShpKSxwPTIqZXUoS2EocnUoby1yKSthKmYqcnUoaS1lKSkpLHY9UWEocCksZz1wP2Z1bmN0aW9uKHQpe3ZhciBuPVFhKHQqPXApL3YsZT1RYShwLXQpL3Yscj1lKnMrbipoLGk9ZSpsK24qZCxvPWUqdStuKmM7cmV0dXJuW1hhKGkscikqRmEsWGEobyxLYShyKnIraSppKSkqRmFdfTpmdW5jdGlvbigpe3JldHVybltlKkZhLHIqRmFdfTtyZXR1cm4gZy5kaXN0YW5jZT1wLGd9LHQuZ2VvTGVuZ3RoPW9jLHQuZ2VvUGF0aD1mdW5jdGlvbih0LG4pe3ZhciBlLHIsaT00LjU7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gdCYmKCJmdW5jdGlvbiI9PXR5cGVvZiBpJiZyLnBvaW50UmFkaXVzKCtpLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksc3UodCxlKHIpKSksci5yZXN1bHQoKX1yZXR1cm4gby5hcmVhPWZ1bmN0aW9uKHQpe3JldHVybiBzdSh0LGUoU2MpKSxTYy5yZXN1bHQoKX0sby5tZWFzdXJlPWZ1bmN0aW9uKHQpe3JldHVybiBzdSh0LGUoZHMpKSxkcy5yZXN1bHQoKX0sby5ib3VuZHM9ZnVuY3Rpb24odCl7cmV0dXJuIHN1KHQsZShVYykpLFVjLnJlc3VsdCgpfSxvLmNlbnRyb2lkPWZ1bmN0aW9uKHQpe3JldHVybiBzdSh0LGUoWmMpKSxaYy5yZXN1bHQoKX0sby5wcm9qZWN0aW9uPWZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPW51bGw9PW4/KHQ9bnVsbCxtYyk6KHQ9bikuc3RyZWFtLG8pOnR9LG8uY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj1udWxsPT10PyhuPW51bGwsbmV3IGdzKTpuZXcgYXMobj10KSwiZnVuY3Rpb24iIT10eXBlb2YgaSYmci5wb2ludFJhZGl1cyhpKSxvKTpufSxvLnBvaW50UmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6KHIucG9pbnRSYWRpdXMoK3QpLCt0KSxvKTppfSxvLnByb2plY3Rpb24odCkuY29udGV4dChuKX0sdC5nZW9BbGJlcnM9RHMsdC5nZW9BbGJlcnNVc2E9ZnVuY3Rpb24oKXt2YXIgdCxuLGUscixpLG8sYT1EcygpLHU9THMoKS5yb3RhdGUoWzE1NCwwXSkuY2VudGVyKFstMiw1OC41XSkucGFyYWxsZWxzKFs1NSw2NV0pLGY9THMoKS5yb3RhdGUoWzE1NywwXSkuY2VudGVyKFstMywxOS45XSkucGFyYWxsZWxzKFs4LDE4XSksYz17cG9pbnQ6ZnVuY3Rpb24odCxuKXtvPVt0LG5dfX07ZnVuY3Rpb24gcyh0KXt2YXIgbj10WzBdLGE9dFsxXTtyZXR1cm4gbz1udWxsLGUucG9pbnQobixhKSxvfHwoci5wb2ludChuLGEpLG8pfHwoaS5wb2ludChuLGEpLG8pfWZ1bmN0aW9uIGwoKXtyZXR1cm4gdD1uPW51bGwsc31yZXR1cm4gcy5pbnZlcnQ9ZnVuY3Rpb24odCl7dmFyIG49YS5zY2FsZSgpLGU9YS50cmFuc2xhdGUoKSxyPSh0WzBdLWVbMF0pL24saT0odFsxXS1lWzFdKS9uO3JldHVybihpPj0uMTImJmk8LjIzNCYmcj49LS40MjUmJnI8LS4yMTQ/dTppPj0uMTY2JiZpPC4yMzQmJnI+PS0uMjE0JiZyPC0uMTE1P2Y6YSkuaW52ZXJ0KHQpfSxzLnN0cmVhbT1mdW5jdGlvbihlKXtyZXR1cm4gdCYmbj09PWU/dDoocj1bYS5zdHJlYW0obj1lKSx1LnN0cmVhbShlKSxmLnN0cmVhbShlKV0saT1yLmxlbmd0aCx0PXtwb2ludDpmdW5jdGlvbih0LG4pe2Zvcih2YXIgZT0tMTsrK2U8aTspcltlXS5wb2ludCh0LG4pfSxzcGhlcmU6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9LTE7Kyt0PGk7KXJbdF0uc3BoZXJlKCl9LGxpbmVTdGFydDpmdW5jdGlvbigpe2Zvcih2YXIgdD0tMTsrK3Q8aTspclt0XS5saW5lU3RhcnQoKX0sbGluZUVuZDpmdW5jdGlvbigpe2Zvcih2YXIgdD0tMTsrK3Q8aTspclt0XS5saW5lRW5kKCl9LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe2Zvcih2YXIgdD0tMTsrK3Q8aTspclt0XS5wb2x5Z29uU3RhcnQoKX0scG9seWdvbkVuZDpmdW5jdGlvbigpe2Zvcih2YXIgdD0tMTsrK3Q8aTspclt0XS5wb2x5Z29uRW5kKCl9fSk7dmFyIHIsaX0scy5wcmVjaXNpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGEucHJlY2lzaW9uKHQpLHUucHJlY2lzaW9uKHQpLGYucHJlY2lzaW9uKHQpLGwoKSk6YS5wcmVjaXNpb24oKX0scy5zY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYS5zY2FsZSh0KSx1LnNjYWxlKC4zNSp0KSxmLnNjYWxlKHQpLHMudHJhbnNsYXRlKGEudHJhbnNsYXRlKCkpKTphLnNjYWxlKCl9LHMudHJhbnNsYXRlPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBhLnRyYW5zbGF0ZSgpO3ZhciBuPWEuc2NhbGUoKSxvPSt0WzBdLHM9K3RbMV07cmV0dXJuIGU9YS50cmFuc2xhdGUodCkuY2xpcEV4dGVudChbW28tLjQ1NSpuLHMtLjIzOCpuXSxbbysuNDU1Km4scysuMjM4Km5dXSkuc3RyZWFtKGMpLHI9dS50cmFuc2xhdGUoW28tLjMwNypuLHMrLjIwMSpuXSkuY2xpcEV4dGVudChbW28tLjQyNSpuK0RhLHMrLjEyKm4rRGFdLFtvLS4yMTQqbi1EYSxzKy4yMzQqbi1EYV1dKS5zdHJlYW0oYyksaT1mLnRyYW5zbGF0ZShbby0uMjA1Km4scysuMjEyKm5dKS5jbGlwRXh0ZW50KFtbby0uMjE0Km4rRGEscysuMTY2Km4rRGFdLFtvLS4xMTUqbi1EYSxzKy4yMzQqbi1EYV1dKS5zdHJlYW0oYyksbCgpfSxzLmZpdEV4dGVudD1mdW5jdGlvbih0LG4pe3JldHVybiB4cyhzLHQsbil9LHMuZml0U2l6ZT1mdW5jdGlvbih0LG4pe3JldHVybiB3cyhzLHQsbil9LHMuZml0V2lkdGg9ZnVuY3Rpb24odCxuKXtyZXR1cm4gTXMocyx0LG4pfSxzLmZpdEhlaWdodD1mdW5jdGlvbih0LG4pe3JldHVybiBBcyhzLHQsbil9LHMuc2NhbGUoMTA3MCl9LHQuZ2VvQXppbXV0aGFsRXF1YWxBcmVhPWZ1bmN0aW9uKCl7cmV0dXJuIENzKE9zKS5zY2FsZSgxMjQuNzUpLmNsaXBBbmdsZSgxNzkuOTk5KX0sdC5nZW9BemltdXRoYWxFcXVhbEFyZWFSYXc9T3MsdC5nZW9BemltdXRoYWxFcXVpZGlzdGFudD1mdW5jdGlvbigpe3JldHVybiBDcyhZcykuc2NhbGUoNzkuNDE4OCkuY2xpcEFuZ2xlKDE3OS45OTkpfSx0Lmdlb0F6aW11dGhhbEVxdWlkaXN0YW50UmF3PVlzLHQuZ2VvQ29uaWNDb25mb3JtYWw9ZnVuY3Rpb24oKXtyZXR1cm4genMoSHMpLnNjYWxlKDEwOS41KS5wYXJhbGxlbHMoWzMwLDMwXSl9LHQuZ2VvQ29uaWNDb25mb3JtYWxSYXc9SHMsdC5nZW9Db25pY0VxdWFsQXJlYT1Mcyx0Lmdlb0NvbmljRXF1YWxBcmVhUmF3PVJzLHQuZ2VvQ29uaWNFcXVpZGlzdGFudD1mdW5jdGlvbigpe3JldHVybiB6cyhYcykuc2NhbGUoMTMxLjE1NCkuY2VudGVyKFswLDEzLjkzODldKX0sdC5nZW9Db25pY0VxdWlkaXN0YW50UmF3PVhzLHQuZ2VvRXF1YWxFYXJ0aD1mdW5jdGlvbigpe3JldHVybiBDcyhRcykuc2NhbGUoMTc3LjE1OCl9LHQuZ2VvRXF1YWxFYXJ0aFJhdz1Rcyx0Lmdlb0VxdWlyZWN0YW5ndWxhcj1mdW5jdGlvbigpe3JldHVybiBDcyhqcykuc2NhbGUoMTUyLjYzKX0sdC5nZW9FcXVpcmVjdGFuZ3VsYXJSYXc9anMsdC5nZW9Hbm9tb25pYz1mdW5jdGlvbigpe3JldHVybiBDcyhKcykuc2NhbGUoMTQ0LjA0OSkuY2xpcEFuZ2xlKDYwKX0sdC5nZW9Hbm9tb25pY1Jhdz1Kcyx0Lmdlb0lkZW50aXR5PWZ1bmN0aW9uKCl7dmFyIHQsbixlLHIsaSxvLGE9MSx1PTAsZj0wLGM9MSxzPTEsbD1tYyxoPW51bGwsZD1tYztmdW5jdGlvbiBwKCl7cmV0dXJuIHI9aT1udWxsLG99cmV0dXJuIG89e3N0cmVhbTpmdW5jdGlvbih0KXtyZXR1cm4gciYmaT09PXQ/cjpyPWwoZChpPXQpKX0scG9zdGNsaXA6ZnVuY3Rpb24ocil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGQ9cixoPXQ9bj1lPW51bGwscCgpKTpkfSxjbGlwRXh0ZW50OmZ1bmN0aW9uKHIpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhkPW51bGw9PXI/KGg9dD1uPWU9bnVsbCxtYyk6WmYoaD0rclswXVswXSx0PStyWzBdWzFdLG49K3JbMV1bMF0sZT0rclsxXVsxXSkscCgpKTpudWxsPT1oP251bGw6W1toLHRdLFtuLGVdXX0sc2NhbGU6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGw9S3MoKGE9K3QpKmMsYSpzLHUsZikscCgpKTphfSx0cmFuc2xhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGw9S3MoYSpjLGEqcyx1PSt0WzBdLGY9K3RbMV0pLHAoKSk6W3UsZl19LHJlZmxlY3RYOmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhsPUtzKGEqKGM9dD8tMToxKSxhKnMsdSxmKSxwKCkpOmM8MH0scmVmbGVjdFk6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGw9S3MoYSpjLGEqKHM9dD8tMToxKSx1LGYpLHAoKSk6czwwfSxmaXRFeHRlbnQ6ZnVuY3Rpb24odCxuKXtyZXR1cm4geHMobyx0LG4pfSxmaXRTaXplOmZ1bmN0aW9uKHQsbil7cmV0dXJuIHdzKG8sdCxuKX0sZml0V2lkdGg6ZnVuY3Rpb24odCxuKXtyZXR1cm4gTXMobyx0LG4pfSxmaXRIZWlnaHQ6ZnVuY3Rpb24odCxuKXtyZXR1cm4gQXMobyx0LG4pfX19LHQuZ2VvUHJvamVjdGlvbj1Dcyx0Lmdlb1Byb2plY3Rpb25NdXRhdG9yPVBzLHQuZ2VvTWVyY2F0b3I9ZnVuY3Rpb24oKXtyZXR1cm4gRnMoQnMpLnNjYWxlKDk2MS9CYSl9LHQuZ2VvTWVyY2F0b3JSYXc9QnMsdC5nZW9OYXR1cmFsRWFydGgxPWZ1bmN0aW9uKCl7cmV0dXJuIENzKHRsKS5zY2FsZSgxNzUuMjk1KX0sdC5nZW9OYXR1cmFsRWFydGgxUmF3PXRsLHQuZ2VvT3J0aG9ncmFwaGljPWZ1bmN0aW9uKCl7cmV0dXJuIENzKG5sKS5zY2FsZSgyNDkuNSkuY2xpcEFuZ2xlKDkwK0RhKX0sdC5nZW9PcnRob2dyYXBoaWNSYXc9bmwsdC5nZW9TdGVyZW9ncmFwaGljPWZ1bmN0aW9uKCl7cmV0dXJuIENzKGVsKS5zY2FsZSgyNTApLmNsaXBBbmdsZSgxNDIpfSx0Lmdlb1N0ZXJlb2dyYXBoaWNSYXc9ZWwsdC5nZW9UcmFuc3ZlcnNlTWVyY2F0b3I9ZnVuY3Rpb24oKXt2YXIgdD1GcyhybCksbj10LmNlbnRlcixlPXQucm90YXRlO3JldHVybiB0LmNlbnRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9uKFstdFsxXSx0WzBdXSk6Wyh0PW4oKSlbMV0sLXRbMF1dfSx0LnJvdGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9lKFt0WzBdLHRbMV0sdC5sZW5ndGg+Mj90WzJdKzkwOjkwXSk6Wyh0PWUoKSlbMF0sdFsxXSx0WzJdLTkwXX0sZShbMCwwLDkwXSkuc2NhbGUoMTU5LjE1NSl9LHQuZ2VvVHJhbnN2ZXJzZU1lcmNhdG9yUmF3PXJsLHQuZ2VvUm90YXRpb249UmYsdC5nZW9TdHJlYW09c3UsdC5nZW9UcmFuc2Zvcm09ZnVuY3Rpb24odCl7cmV0dXJue3N0cmVhbTpfcyh0KX19LHQuY2x1c3Rlcj1mdW5jdGlvbigpe3ZhciB0PWlsLG49MSxlPTEscj0hMTtmdW5jdGlvbiBpKGkpe3ZhciBvLGE9MDtpLmVhY2hBZnRlcihmdW5jdGlvbihuKXt2YXIgZT1uLmNoaWxkcmVuO2U/KG4ueD1mdW5jdGlvbih0KXtyZXR1cm4gdC5yZWR1Y2Uob2wsMCkvdC5sZW5ndGh9KGUpLG4ueT1mdW5jdGlvbih0KXtyZXR1cm4gMSt0LnJlZHVjZShhbCwwKX0oZSkpOihuLng9bz9hKz10KG4sbyk6MCxuLnk9MCxvPW4pfSk7dmFyIHU9ZnVuY3Rpb24odCl7Zm9yKHZhciBuO249dC5jaGlsZHJlbjspdD1uWzBdO3JldHVybiB0fShpKSxmPWZ1bmN0aW9uKHQpe2Zvcih2YXIgbjtuPXQuY2hpbGRyZW47KXQ9bltuLmxlbmd0aC0xXTtyZXR1cm4gdH0oaSksYz11LngtdCh1LGYpLzIscz1mLngrdChmLHUpLzI7cmV0dXJuIGkuZWFjaEFmdGVyKHI/ZnVuY3Rpb24odCl7dC54PSh0LngtaS54KSpuLHQueT0oaS55LXQueSkqZX06ZnVuY3Rpb24odCl7dC54PSh0LngtYykvKHMtYykqbix0Lnk9KDEtKGkueT90LnkvaS55OjEpKSplfSl9cmV0dXJuIGkuc2VwYXJhdGlvbj1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1uLGkpOnR9LGkuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0hMSxuPSt0WzBdLGU9K3RbMV0saSk6cj9udWxsOltuLGVdfSxpLm5vZGVTaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSEwLG49K3RbMF0sZT0rdFsxXSxpKTpyP1tuLGVdOm51bGx9LGl9LHQuaGllcmFyY2h5PWZsLHQucGFjaz1mdW5jdGlvbigpe3ZhciB0PW51bGwsbj0xLGU9MSxyPUVsO2Z1bmN0aW9uIGkoaSl7cmV0dXJuIGkueD1uLzIsaS55PWUvMix0P2kuZWFjaEJlZm9yZShQbCh0KSkuZWFjaEFmdGVyKHpsKHIsLjUpKS5lYWNoQmVmb3JlKFJsKDEpKTppLmVhY2hCZWZvcmUoUGwoQ2wpKS5lYWNoQWZ0ZXIoemwoRWwsMSkpLmVhY2hBZnRlcih6bChyLGkuci9NYXRoLm1pbihuLGUpKSkuZWFjaEJlZm9yZShSbChNYXRoLm1pbihuLGUpLygyKmkucikpKSxpfXJldHVybiBpLnJhZGl1cz1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1udWxsPT0oZT1uKT9udWxsOlNsKGUpLGkpOnQ7dmFyIGV9LGkuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0rdFswXSxlPSt0WzFdLGkpOltuLGVdfSxpLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDprbCgrdCksaSk6cn0saX0sdC5wYWNrU2libGluZ3M9ZnVuY3Rpb24odCl7cmV0dXJuIE5sKHQpLHR9LHQucGFja0VuY2xvc2U9cGwsdC5wYXJ0aXRpb249ZnVuY3Rpb24oKXt2YXIgdD0xLG49MSxlPTAscj0hMTtmdW5jdGlvbiBpKGkpe3ZhciBvPWkuaGVpZ2h0KzE7cmV0dXJuIGkueDA9aS55MD1lLGkueDE9dCxpLnkxPW4vbyxpLmVhY2hCZWZvcmUoZnVuY3Rpb24odCxuKXtyZXR1cm4gZnVuY3Rpb24ocil7ci5jaGlsZHJlbiYmRGwocixyLngwLHQqKHIuZGVwdGgrMSkvbixyLngxLHQqKHIuZGVwdGgrMikvbik7dmFyIGk9ci54MCxvPXIueTAsYT1yLngxLWUsdT1yLnkxLWU7YTxpJiYoaT1hPShpK2EpLzIpLHU8byYmKG89dT0obyt1KS8yKSxyLngwPWksci55MD1vLHIueDE9YSxyLnkxPXV9fShuLG8pKSxyJiZpLmVhY2hCZWZvcmUoTGwpLGl9cmV0dXJuIGkucm91bmQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ISF0LGkpOnJ9LGkuc2l6ZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0rZVswXSxuPStlWzFdLGkpOlt0LG5dfSxpLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9K3QsaSk6ZX0saX0sdC5zdHJhdGlmeT1mdW5jdGlvbigpe3ZhciB0PVlsLG49Qmw7ZnVuY3Rpb24gZShlKXt2YXIgcixpLG8sYSx1LGYsYyxzPWUubGVuZ3RoLGw9bmV3IEFycmF5KHMpLGg9e307Zm9yKGk9MDtpPHM7KytpKXI9ZVtpXSx1PWxbaV09bmV3IGhsKHIpLG51bGwhPShmPXQocixpLGUpKSYmKGYrPSIiKSYmKGhbYz1VbCsodS5pZD1mKV09YyBpbiBoP09sOnUpO2ZvcihpPTA7aTxzOysraSlpZih1PWxbaV0sbnVsbCE9KGY9bihlW2ldLGksZSkpJiYoZis9IiIpKXtpZighKGE9aFtVbCtmXSkpdGhyb3cgbmV3IEVycm9yKCJtaXNzaW5nOiAiK2YpO2lmKGE9PT1PbCl0aHJvdyBuZXcgRXJyb3IoImFtYmlndW91czogIitmKTthLmNoaWxkcmVuP2EuY2hpbGRyZW4ucHVzaCh1KTphLmNoaWxkcmVuPVt1XSx1LnBhcmVudD1hfWVsc2V7aWYobyl0aHJvdyBuZXcgRXJyb3IoIm11bHRpcGxlIHJvb3RzIik7bz11fWlmKCFvKXRocm93IG5ldyBFcnJvcigibm8gcm9vdCIpO2lmKG8ucGFyZW50PXFsLG8uZWFjaEJlZm9yZShmdW5jdGlvbih0KXt0LmRlcHRoPXQucGFyZW50LmRlcHRoKzEsLS1zfSkuZWFjaEJlZm9yZShsbCksby5wYXJlbnQ9bnVsbCxzPjApdGhyb3cgbmV3IEVycm9yKCJjeWNsZSIpO3JldHVybiBvfXJldHVybiBlLmlkPWZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PVNsKG4pLGUpOnR9LGUucGFyZW50SWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49U2wodCksZSk6bn0sZX0sdC50cmVlPWZ1bmN0aW9uKCl7dmFyIHQ9Rmwsbj0xLGU9MSxyPW51bGw7ZnVuY3Rpb24gaShpKXt2YXIgZj1mdW5jdGlvbih0KXtmb3IodmFyIG4sZSxyLGksbyxhPW5ldyBHbCh0LDApLHU9W2FdO249dS5wb3AoKTspaWYocj1uLl8uY2hpbGRyZW4pZm9yKG4uY2hpbGRyZW49bmV3IEFycmF5KG89ci5sZW5ndGgpLGk9by0xO2k+PTA7LS1pKXUucHVzaChlPW4uY2hpbGRyZW5baV09bmV3IEdsKHJbaV0saSkpLGUucGFyZW50PW47cmV0dXJuKGEucGFyZW50PW5ldyBHbChudWxsLDApKS5jaGlsZHJlbj1bYV0sYX0oaSk7aWYoZi5lYWNoQWZ0ZXIobyksZi5wYXJlbnQubT0tZi56LGYuZWFjaEJlZm9yZShhKSxyKWkuZWFjaEJlZm9yZSh1KTtlbHNle3ZhciBjPWkscz1pLGw9aTtpLmVhY2hCZWZvcmUoZnVuY3Rpb24odCl7dC54PGMueCYmKGM9dCksdC54PnMueCYmKHM9dCksdC5kZXB0aD5sLmRlcHRoJiYobD10KX0pO3ZhciBoPWM9PT1zPzE6dChjLHMpLzIsZD1oLWMueCxwPW4vKHMueCtoK2QpLHY9ZS8obC5kZXB0aHx8MSk7aS5lYWNoQmVmb3JlKGZ1bmN0aW9uKHQpe3QueD0odC54K2QpKnAsdC55PXQuZGVwdGgqdn0pfXJldHVybiBpfWZ1bmN0aW9uIG8obil7dmFyIGU9bi5jaGlsZHJlbixyPW4ucGFyZW50LmNoaWxkcmVuLGk9bi5pP3Jbbi5pLTFdOm51bGw7aWYoZSl7IWZ1bmN0aW9uKHQpe2Zvcih2YXIgbixlPTAscj0wLGk9dC5jaGlsZHJlbixvPWkubGVuZ3RoOy0tbz49MDspKG49aVtvXSkueis9ZSxuLm0rPWUsZSs9bi5zKyhyKz1uLmMpfShuKTt2YXIgbz0oZVswXS56K2VbZS5sZW5ndGgtMV0ueikvMjtpPyhuLno9aS56K3Qobi5fLGkuXyksbi5tPW4uei1vKTpuLno9b31lbHNlIGkmJihuLno9aS56K3Qobi5fLGkuXykpO24ucGFyZW50LkE9ZnVuY3Rpb24obixlLHIpe2lmKGUpe2Zvcih2YXIgaSxvPW4sYT1uLHU9ZSxmPW8ucGFyZW50LmNoaWxkcmVuWzBdLGM9by5tLHM9YS5tLGw9dS5tLGg9Zi5tO3U9SGwodSksbz1JbChvKSx1JiZvOylmPUlsKGYpLChhPUhsKGEpKS5hPW4sKGk9dS56K2wtby56LWMrdCh1Ll8sby5fKSk+MCYmKGpsKFhsKHUsbixyKSxuLGkpLGMrPWkscys9aSksbCs9dS5tLGMrPW8ubSxoKz1mLm0scys9YS5tO3UmJiFIbChhKSYmKGEudD11LGEubSs9bC1zKSxvJiYhSWwoZikmJihmLnQ9byxmLm0rPWMtaCxyPW4pfXJldHVybiByfShuLGksbi5wYXJlbnQuQXx8clswXSl9ZnVuY3Rpb24gYSh0KXt0Ll8ueD10LnordC5wYXJlbnQubSx0Lm0rPXQucGFyZW50Lm19ZnVuY3Rpb24gdSh0KXt0LngqPW4sdC55PXQuZGVwdGgqZX1yZXR1cm4gaS5zZXBhcmF0aW9uPWZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PW4saSk6dH0saS5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSExLG49K3RbMF0sZT0rdFsxXSxpKTpyP251bGw6W24sZV19LGkubm9kZVNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ITAsbj0rdFswXSxlPSt0WzFdLGkpOnI/W24sZV06bnVsbH0saX0sdC50cmVlbWFwPWZ1bmN0aW9uKCl7dmFyIHQ9Wmwsbj0hMSxlPTEscj0xLGk9WzBdLG89RWwsYT1FbCx1PUVsLGY9RWwsYz1FbDtmdW5jdGlvbiBzKHQpe3JldHVybiB0LngwPXQueTA9MCx0LngxPWUsdC55MT1yLHQuZWFjaEJlZm9yZShsKSxpPVswXSxuJiZ0LmVhY2hCZWZvcmUoTGwpLHR9ZnVuY3Rpb24gbChuKXt2YXIgZT1pW24uZGVwdGhdLHI9bi54MCtlLHM9bi55MCtlLGw9bi54MS1lLGg9bi55MS1lO2w8ciYmKHI9bD0ocitsKS8yKSxoPHMmJihzPWg9KHMraCkvMiksbi54MD1yLG4ueTA9cyxuLngxPWwsbi55MT1oLG4uY2hpbGRyZW4mJihlPWlbbi5kZXB0aCsxXT1vKG4pLzIscis9YyhuKS1lLHMrPWEobiktZSwobC09dShuKS1lKTxyJiYocj1sPShyK2wpLzIpLChoLT1mKG4pLWUpPHMmJihzPWg9KHMraCkvMiksdChuLHIscyxsLGgpKX1yZXR1cm4gcy5yb3VuZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0hIXQscyk6bn0scy5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSt0WzBdLHI9K3RbMV0scyk6W2Uscl19LHMudGlsZT1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1TbChuKSxzKTp0fSxzLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/cy5wYWRkaW5nSW5uZXIodCkucGFkZGluZ091dGVyKHQpOnMucGFkZGluZ0lubmVyKCl9LHMucGFkZGluZ0lubmVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6a2woK3QpLHMpOm99LHMucGFkZGluZ091dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3MucGFkZGluZ1RvcCh0KS5wYWRkaW5nUmlnaHQodCkucGFkZGluZ0JvdHRvbSh0KS5wYWRkaW5nTGVmdCh0KTpzLnBhZGRpbmdUb3AoKX0scy5wYWRkaW5nVG9wPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6a2woK3QpLHMpOmF9LHMucGFkZGluZ1JpZ2h0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6a2woK3QpLHMpOnV9LHMucGFkZGluZ0JvdHRvbT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmtsKCt0KSxzKTpmfSxzLnBhZGRpbmdMZWZ0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6a2woK3QpLHMpOmN9LHN9LHQudHJlZW1hcEJpbmFyeT1mdW5jdGlvbih0LG4sZSxyLGkpe3ZhciBvLGEsdT10LmNoaWxkcmVuLGY9dS5sZW5ndGgsYz1uZXcgQXJyYXkoZisxKTtmb3IoY1swXT1hPW89MDtvPGY7KytvKWNbbysxXT1hKz11W29dLnZhbHVlOyFmdW5jdGlvbiB0KG4sZSxyLGksbyxhLGYpe2lmKG4+PWUtMSl7dmFyIHM9dVtuXTtyZXR1cm4gcy54MD1pLHMueTA9byxzLngxPWEsdm9pZChzLnkxPWYpfWZvcih2YXIgbD1jW25dLGg9ci8yK2wsZD1uKzEscD1lLTE7ZDxwOyl7dmFyIHY9ZCtwPj4+MTtjW3ZdPGg/ZD12KzE6cD12fWgtY1tkLTFdPGNbZF0taCYmbisxPGQmJi0tZDt2YXIgZz1jW2RdLWwseT1yLWc7aWYoYS1pPmYtbyl7dmFyIF89KGkqeSthKmcpL3I7dChuLGQsZyxpLG8sXyxmKSx0KGQsZSx5LF8sbyxhLGYpfWVsc2V7dmFyIGI9KG8qeStmKmcpL3I7dChuLGQsZyxpLG8sYSxiKSx0KGQsZSx5LGksYixhLGYpfX0oMCxmLHQudmFsdWUsbixlLHIsaSl9LHQudHJlZW1hcERpY2U9RGwsdC50cmVlbWFwU2xpY2U9VmwsdC50cmVlbWFwU2xpY2VEaWNlPWZ1bmN0aW9uKHQsbixlLHIsaSl7KDEmdC5kZXB0aD9WbDpEbCkodCxuLGUscixpKX0sdC50cmVlbWFwU3F1YXJpZnk9WmwsdC50cmVlbWFwUmVzcXVhcmlmeT1RbCx0LmludGVycG9sYXRlPW1lLHQuaW50ZXJwb2xhdGVBcnJheT1kZSx0LmludGVycG9sYXRlQmFzaXM9ZWUsdC5pbnRlcnBvbGF0ZUJhc2lzQ2xvc2VkPXJlLHQuaW50ZXJwb2xhdGVEYXRlPXBlLHQuaW50ZXJwb2xhdGVEaXNjcmV0ZT1mdW5jdGlvbih0KXt2YXIgbj10Lmxlbmd0aDtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHRbTWF0aC5tYXgoMCxNYXRoLm1pbihuLTEsTWF0aC5mbG9vcihlKm4pKSldfX0sdC5pbnRlcnBvbGF0ZUh1ZT1mdW5jdGlvbih0LG4pe3ZhciBlPWFlKCt0LCtuKTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG49ZSh0KTtyZXR1cm4gbi0zNjAqTWF0aC5mbG9vcihuLzM2MCl9fSx0LmludGVycG9sYXRlTnVtYmVyPXZlLHQuaW50ZXJwb2xhdGVPYmplY3Q9Z2UsdC5pbnRlcnBvbGF0ZVJvdW5kPXhlLHQuaW50ZXJwb2xhdGVTdHJpbmc9YmUsdC5pbnRlcnBvbGF0ZVRyYW5zZm9ybUNzcz1DZSx0LmludGVycG9sYXRlVHJhbnNmb3JtU3ZnPVBlLHQuaW50ZXJwb2xhdGVab29tPXFlLHQuaW50ZXJwb2xhdGVSZ2I9Y2UsdC5pbnRlcnBvbGF0ZVJnYkJhc2lzPWxlLHQuaW50ZXJwb2xhdGVSZ2JCYXNpc0Nsb3NlZD1oZSx0LmludGVycG9sYXRlSHNsPVllLHQuaW50ZXJwb2xhdGVIc2xMb25nPUJlLHQuaW50ZXJwb2xhdGVMYWI9ZnVuY3Rpb24odCxuKXt2YXIgZT1mZSgodD1Vbih0KSkubCwobj1VbihuKSkubCkscj1mZSh0LmEsbi5hKSxpPWZlKHQuYixuLmIpLG89ZmUodC5vcGFjaXR5LG4ub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0Lmw9ZShuKSx0LmE9cihuKSx0LmI9aShuKSx0Lm9wYWNpdHk9byhuKSx0KyIifX0sdC5pbnRlcnBvbGF0ZUhjbD1JZSx0LmludGVycG9sYXRlSGNsTG9uZz1IZSx0LmludGVycG9sYXRlQ3ViZWhlbGl4PVhlLHQuaW50ZXJwb2xhdGVDdWJlaGVsaXhMb25nPUdlLHQucGllY2V3aXNlPWZ1bmN0aW9uKHQsbil7Zm9yKHZhciBlPTAscj1uLmxlbmd0aC0xLGk9blswXSxvPW5ldyBBcnJheShyPDA/MDpyKTtlPHI7KW9bZV09dChpLGk9blsrK2VdKTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG49TWF0aC5tYXgoMCxNYXRoLm1pbihyLTEsTWF0aC5mbG9vcih0Kj1yKSkpO3JldHVybiBvW25dKHQtbil9fSx0LnF1YW50aXplPWZ1bmN0aW9uKHQsbil7Zm9yKHZhciBlPW5ldyBBcnJheShuKSxyPTA7cjxuOysrcillW3JdPXQoci8obi0xKSk7cmV0dXJuIGV9LHQucGF0aD1HaSx0LnBvbHlnb25BcmVhPWZ1bmN0aW9uKHQpe2Zvcih2YXIgbixlPS0xLHI9dC5sZW5ndGgsaT10W3ItMV0sbz0wOysrZTxyOyluPWksaT10W2VdLG8rPW5bMV0qaVswXS1uWzBdKmlbMV07cmV0dXJuIG8vMn0sdC5wb2x5Z29uQ2VudHJvaWQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBuLGUscj0tMSxpPXQubGVuZ3RoLG89MCxhPTAsdT10W2ktMV0sZj0wOysrcjxpOyluPXUsdT10W3JdLGYrPWU9blswXSp1WzFdLXVbMF0qblsxXSxvKz0oblswXSt1WzBdKSplLGErPShuWzFdK3VbMV0pKmU7cmV0dXJuW28vKGYqPTMpLGEvZl19LHQucG9seWdvbkh1bGw9ZnVuY3Rpb24odCl7aWYoKGU9dC5sZW5ndGgpPDMpcmV0dXJuIG51bGw7dmFyIG4sZSxyPW5ldyBBcnJheShlKSxpPW5ldyBBcnJheShlKTtmb3Iobj0wO248ZTsrK24pcltuXT1bK3Rbbl1bMF0sK3Rbbl1bMV0sbl07Zm9yKHIuc29ydChKbCksbj0wO248ZTsrK24paVtuXT1bcltuXVswXSwtcltuXVsxXV07dmFyIG89S2wociksYT1LbChpKSx1PWFbMF09PT1vWzBdLGY9YVthLmxlbmd0aC0xXT09PW9bby5sZW5ndGgtMV0sYz1bXTtmb3Iobj1vLmxlbmd0aC0xO24+PTA7LS1uKWMucHVzaCh0W3Jbb1tuXV1bMl1dKTtmb3Iobj0rdTtuPGEubGVuZ3RoLWY7KytuKWMucHVzaCh0W3JbYVtuXV1bMl1dKTtyZXR1cm4gY30sdC5wb2x5Z29uQ29udGFpbnM9ZnVuY3Rpb24odCxuKXtmb3IodmFyIGUscixpPXQubGVuZ3RoLG89dFtpLTFdLGE9blswXSx1PW5bMV0sZj1vWzBdLGM9b1sxXSxzPSExLGw9MDtsPGk7KytsKWU9KG89dFtsXSlbMF0sKHI9b1sxXSk+dSE9Yz51JiZhPChmLWUpKih1LXIpLyhjLXIpK2UmJihzPSFzKSxmPWUsYz1yO3JldHVybiBzfSx0LnBvbHlnb25MZW5ndGg9ZnVuY3Rpb24odCl7Zm9yKHZhciBuLGUscj0tMSxpPXQubGVuZ3RoLG89dFtpLTFdLGE9b1swXSx1PW9bMV0sZj0wOysrcjxpOyluPWEsZT11LG4tPWE9KG89dFtyXSlbMF0sZS09dT1vWzFdLGYrPU1hdGguc3FydChuKm4rZSplKTtyZXR1cm4gZn0sdC5xdWFkdHJlZT1yYSx0LnJhbmRvbVVuaWZvcm09bmgsdC5yYW5kb21Ob3JtYWw9ZWgsdC5yYW5kb21Mb2dOb3JtYWw9cmgsdC5yYW5kb21CYXRlcz1vaCx0LnJhbmRvbUlyd2luSGFsbD1paCx0LnJhbmRvbUV4cG9uZW50aWFsPWFoLHQuc2NhbGVCYW5kPWhoLHQuc2NhbGVQb2ludD1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiB0KG4pe3ZhciBlPW4uY29weTtyZXR1cm4gbi5wYWRkaW5nPW4ucGFkZGluZ091dGVyLGRlbGV0ZSBuLnBhZGRpbmdJbm5lcixkZWxldGUgbi5wYWRkaW5nT3V0ZXIsbi5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoZSgpKX0sbn0oaGgoKS5wYWRkaW5nSW5uZXIoMSkpfSx0LnNjYWxlSWRlbnRpdHk9ZnVuY3Rpb24gdCgpe3ZhciBuPVswLDFdO2Z1bmN0aW9uIGUodCl7cmV0dXJuK3R9cmV0dXJuIGUuaW52ZXJ0PWUsZS5kb21haW49ZS5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1maC5jYWxsKHQscGgpLGUpOm4uc2xpY2UoKX0sZS5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoKS5kb21haW4obil9LHhoKGUpfSx0LnNjYWxlTGluZWFyPWZ1bmN0aW9uIHQoKXt2YXIgbj1taChnaCx2ZSk7cmV0dXJuIG4uY29weT1mdW5jdGlvbigpe3JldHVybiBiaChuLHQoKSl9LHhoKG4pfSx0LnNjYWxlTG9nPWZ1bmN0aW9uIG4oKXt2YXIgZT1taChNaCxBaCkuZG9tYWluKFsxLDEwXSkscj1lLmRvbWFpbixpPTEwLG89U2goMTApLGE9TmgoMTApO2Z1bmN0aW9uIHUoKXtyZXR1cm4gbz1TaChpKSxhPU5oKGkpLHIoKVswXTwwJiYobz1FaChvKSxhPUVoKGEpKSxlfXJldHVybiBlLmJhc2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9K3QsdSgpKTppfSxlLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocih0KSx1KCkpOnIoKX0sZS50aWNrcz1mdW5jdGlvbih0KXt2YXIgbixlPXIoKSx1PWVbMF0sZj1lW2UubGVuZ3RoLTFdOyhuPWY8dSkmJihoPXUsdT1mLGY9aCk7dmFyIGMscyxsLGg9byh1KSxkPW8oZikscD1udWxsPT10PzEwOit0LHY9W107aWYoIShpJTEpJiZkLWg8cCl7aWYoaD1NYXRoLnJvdW5kKGgpLTEsZD1NYXRoLnJvdW5kKGQpKzEsdT4wKXtmb3IoO2g8ZDsrK2gpZm9yKHM9MSxjPWEoaCk7czxpOysrcylpZighKChsPWMqcyk8dSkpe2lmKGw+ZilicmVhazt2LnB1c2gobCl9fWVsc2UgZm9yKDtoPGQ7KytoKWZvcihzPWktMSxjPWEoaCk7cz49MTstLXMpaWYoISgobD1jKnMpPHUpKXtpZihsPmYpYnJlYWs7di5wdXNoKGwpfX1lbHNlIHY9bShoLGQsTWF0aC5taW4oZC1oLHApKS5tYXAoYSk7cmV0dXJuIG4/di5yZXZlcnNlKCk6dn0sZS50aWNrRm9ybWF0PWZ1bmN0aW9uKG4scil7aWYobnVsbD09ciYmKHI9MTA9PT1pPyIuMGUiOiIsIiksImZ1bmN0aW9uIiE9dHlwZW9mIHImJihyPXQuZm9ybWF0KHIpKSxuPT09MS8wKXJldHVybiByO251bGw9PW4mJihuPTEwKTt2YXIgdT1NYXRoLm1heCgxLGkqbi9lLnRpY2tzKCkubGVuZ3RoKTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG49dC9hKE1hdGgucm91bmQobyh0KSkpO3JldHVybiBuKmk8aS0uNSYmKG4qPWkpLG48PXU/cih0KToiIn19LGUubmljZT1mdW5jdGlvbigpe3JldHVybiByKHdoKHIoKSx7Zmxvb3I6ZnVuY3Rpb24odCl7cmV0dXJuIGEoTWF0aC5mbG9vcihvKHQpKSl9LGNlaWw6ZnVuY3Rpb24odCl7cmV0dXJuIGEoTWF0aC5jZWlsKG8odCkpKX19KSl9LGUuY29weT1mdW5jdGlvbigpe3JldHVybiBiaChlLG4oKS5iYXNlKGkpKX0sZX0sdC5zY2FsZU9yZGluYWw9bGgsdC5zY2FsZUltcGxpY2l0PXNoLHQuc2NhbGVQb3c9Q2gsdC5zY2FsZVNxcnQ9ZnVuY3Rpb24oKXtyZXR1cm4gQ2goKS5leHBvbmVudCguNSl9LHQuc2NhbGVRdWFudGlsZT1mdW5jdGlvbiB0KCl7dmFyIGU9W10scj1bXSxvPVtdO2Z1bmN0aW9uIGEoKXt2YXIgdD0wLG49TWF0aC5tYXgoMSxyLmxlbmd0aCk7Zm9yKG89bmV3IEFycmF5KG4tMSk7Kyt0PG47KW9bdC0xXT1BKGUsdC9uKTtyZXR1cm4gdX1mdW5jdGlvbiB1KHQpe2lmKCFpc05hTih0PSt0KSlyZXR1cm4gcltpKG8sdCldfXJldHVybiB1LmludmVydEV4dGVudD1mdW5jdGlvbih0KXt2YXIgbj1yLmluZGV4T2YodCk7cmV0dXJuIG48MD9bTmFOLE5hTl06W24+MD9vW24tMV06ZVswXSxuPG8ubGVuZ3RoP29bbl06ZVtlLmxlbmd0aC0xXV19LHUuZG9tYWluPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBlLnNsaWNlKCk7ZT1bXTtmb3IodmFyIHIsaT0wLG89dC5sZW5ndGg7aTxvOysraSludWxsPT0ocj10W2ldKXx8aXNOYU4ocj0rcil8fGUucHVzaChyKTtyZXR1cm4gZS5zb3J0KG4pLGEoKX0sdS5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj1jaC5jYWxsKHQpLGEoKSk6ci5zbGljZSgpfSx1LnF1YW50aWxlcz1mdW5jdGlvbigpe3JldHVybiBvLnNsaWNlKCl9LHUuY29weT1mdW5jdGlvbigpe3JldHVybiB0KCkuZG9tYWluKGUpLnJhbmdlKHIpfSx1fSx0LnNjYWxlUXVhbnRpemU9ZnVuY3Rpb24gdCgpe3ZhciBuPTAsZT0xLHI9MSxvPVsuNV0sYT1bMCwxXTtmdW5jdGlvbiB1KHQpe2lmKHQ8PXQpcmV0dXJuIGFbaShvLHQsMCxyKV19ZnVuY3Rpb24gZigpe3ZhciB0PS0xO2ZvcihvPW5ldyBBcnJheShyKTsrK3Q8cjspb1t0XT0oKHQrMSkqZS0odC1yKSpuKS8ocisxKTtyZXR1cm4gdX1yZXR1cm4gdS5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49K3RbMF0sZT0rdFsxXSxmKCkpOltuLGVdfSx1LnJhbmdlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPShhPWNoLmNhbGwodCkpLmxlbmd0aC0xLGYoKSk6YS5zbGljZSgpfSx1LmludmVydEV4dGVudD1mdW5jdGlvbih0KXt2YXIgaT1hLmluZGV4T2YodCk7cmV0dXJuIGk8MD9bTmFOLE5hTl06aTwxP1tuLG9bMF1dOmk+PXI/W29bci0xXSxlXTpbb1tpLTFdLG9baV1dfSx1LmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gdCgpLmRvbWFpbihbbixlXSkucmFuZ2UoYSl9LHhoKHUpfSx0LnNjYWxlVGhyZXNob2xkPWZ1bmN0aW9uIHQoKXt2YXIgbj1bLjVdLGU9WzAsMV0scj0xO2Z1bmN0aW9uIG8odCl7aWYodDw9dClyZXR1cm4gZVtpKG4sdCwwLHIpXX1yZXR1cm4gby5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49Y2guY2FsbCh0KSxyPU1hdGgubWluKG4ubGVuZ3RoLGUubGVuZ3RoLTEpLG8pOm4uc2xpY2UoKX0sby5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT1jaC5jYWxsKHQpLHI9TWF0aC5taW4obi5sZW5ndGgsZS5sZW5ndGgtMSksbyk6ZS5zbGljZSgpfSxvLmludmVydEV4dGVudD1mdW5jdGlvbih0KXt2YXIgcj1lLmluZGV4T2YodCk7cmV0dXJuW25bci0xXSxuW3JdXX0sby5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoKS5kb21haW4obikucmFuZ2UoZSl9LG99LHQuc2NhbGVUaW1lPWZ1bmN0aW9uKCl7cmV0dXJuIGN2KGNkLHVkLFZoLGpoLEloLEJoLE9oLExoLHQudGltZUZvcm1hdCkuZG9tYWluKFtuZXcgRGF0ZSgyZTMsMCwxKSxuZXcgRGF0ZSgyZTMsMCwyKV0pfSx0LnNjYWxlVXRjPWZ1bmN0aW9uKCl7cmV0dXJuIGN2KExkLHpkLF9kLHZkLGRkLGxkLE9oLExoLHQudXRjRm9ybWF0KS5kb21haW4oW0RhdGUuVVRDKDJlMywwLDEpLERhdGUuVVRDKDJlMywwLDIpXSl9LHQuc2NhbGVTZXF1ZW50aWFsPWZ1bmN0aW9uIHQobil7dmFyIGU9MCxyPTEsaT0xLG89ITE7ZnVuY3Rpb24gYSh0KXt2YXIgcj0odC1lKSppO3JldHVybiBuKG8/TWF0aC5tYXgoMCxNYXRoLm1pbigxLHIpKTpyKX1yZXR1cm4gYS5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9K3RbMF0scj0rdFsxXSxpPWU9PT1yPzA6MS8oci1lKSxhKTpbZSxyXX0sYS5jbGFtcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0hIXQsYSk6b30sYS5pbnRlcnBvbGF0b3I9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxhKTpufSxhLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gdChuKS5kb21haW4oW2Uscl0pLmNsYW1wKG8pfSx4aChhKX0sdC5zY2FsZURpdmVyZ2luZz1mdW5jdGlvbiB0KG4pe3ZhciBlPTAscj0uNSxpPTEsbz0xLGE9MSx1PSExO2Z1bmN0aW9uIGYodCl7dmFyIGU9LjUrKCh0PSt0KS1yKSoodDxyP286YSk7cmV0dXJuIG4odT9NYXRoLm1heCgwLE1hdGgubWluKDEsZSkpOmUpfXJldHVybiBmLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0rdFswXSxyPSt0WzFdLGk9K3RbMl0sbz1lPT09cj8wOi41LyhyLWUpLGE9cj09PWk/MDouNS8oaS1yKSxmKTpbZSxyLGldfSxmLmNsYW1wPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PSEhdCxmKTp1fSxmLmludGVycG9sYXRvcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10LGYpOm59LGYuY29weT1mdW5jdGlvbigpe3JldHVybiB0KG4pLmRvbWFpbihbZSxyLGldKS5jbGFtcCh1KX0seGgoZil9LHQuc2NoZW1lQ2F0ZWdvcnkxMD1sdix0LnNjaGVtZUFjY2VudD1odix0LnNjaGVtZURhcmsyPWR2LHQuc2NoZW1lUGFpcmVkPXB2LHQuc2NoZW1lUGFzdGVsMT12dix0LnNjaGVtZVBhc3RlbDI9Z3YsdC5zY2hlbWVTZXQxPXl2LHQuc2NoZW1lU2V0Mj1fdix0LnNjaGVtZVNldDM9YnYsdC5pbnRlcnBvbGF0ZUJyQkc9d3YsdC5zY2hlbWVCckJHPXh2LHQuaW50ZXJwb2xhdGVQUkduPUF2LHQuc2NoZW1lUFJHbj1Ndix0LmludGVycG9sYXRlUGlZRz1Odix0LnNjaGVtZVBpWUc9VHYsdC5pbnRlcnBvbGF0ZVB1T3I9RXYsdC5zY2hlbWVQdU9yPVN2LHQuaW50ZXJwb2xhdGVSZEJ1PUN2LHQuc2NoZW1lUmRCdT1rdix0LmludGVycG9sYXRlUmRHeT16dix0LnNjaGVtZVJkR3k9UHYsdC5pbnRlcnBvbGF0ZVJkWWxCdT1Mdix0LnNjaGVtZVJkWWxCdT1Sdix0LmludGVycG9sYXRlUmRZbEduPVV2LHQuc2NoZW1lUmRZbEduPUR2LHQuaW50ZXJwb2xhdGVTcGVjdHJhbD1Pdix0LnNjaGVtZVNwZWN0cmFsPXF2LHQuaW50ZXJwb2xhdGVCdUduPUJ2LHQuc2NoZW1lQnVHbj1Zdix0LmludGVycG9sYXRlQnVQdT1Jdix0LnNjaGVtZUJ1UHU9RnYsdC5pbnRlcnBvbGF0ZUduQnU9anYsdC5zY2hlbWVHbkJ1PUh2LHQuaW50ZXJwb2xhdGVPclJkPUd2LHQuc2NoZW1lT3JSZD1Ydix0LmludGVycG9sYXRlUHVCdUduPSR2LHQuc2NoZW1lUHVCdUduPVZ2LHQuaW50ZXJwb2xhdGVQdUJ1PVp2LHQuc2NoZW1lUHVCdT1Xdix0LmludGVycG9sYXRlUHVSZD1Kdix0LnNjaGVtZVB1UmQ9UXYsdC5pbnRlcnBvbGF0ZVJkUHU9dGcsdC5zY2hlbWVSZFB1PUt2LHQuaW50ZXJwb2xhdGVZbEduQnU9ZWcsdC5zY2hlbWVZbEduQnU9bmcsdC5pbnRlcnBvbGF0ZVlsR249aWcsdC5zY2hlbWVZbEduPXJnLHQuaW50ZXJwb2xhdGVZbE9yQnI9YWcsdC5zY2hlbWVZbE9yQnI9b2csdC5pbnRlcnBvbGF0ZVlsT3JSZD1mZyx0LnNjaGVtZVlsT3JSZD11Zyx0LmludGVycG9sYXRlQmx1ZXM9c2csdC5zY2hlbWVCbHVlcz1jZyx0LmludGVycG9sYXRlR3JlZW5zPWhnLHQuc2NoZW1lR3JlZW5zPWxnLHQuaW50ZXJwb2xhdGVHcmV5cz1wZyx0LnNjaGVtZUdyZXlzPWRnLHQuaW50ZXJwb2xhdGVQdXJwbGVzPWdnLHQuc2NoZW1lUHVycGxlcz12Zyx0LmludGVycG9sYXRlUmVkcz1fZyx0LnNjaGVtZVJlZHM9eWcsdC5pbnRlcnBvbGF0ZU9yYW5nZXM9bWcsdC5zY2hlbWVPcmFuZ2VzPWJnLHQuaW50ZXJwb2xhdGVDdWJlaGVsaXhEZWZhdWx0PXhnLHQuaW50ZXJwb2xhdGVSYWluYm93PWZ1bmN0aW9uKHQpeyh0PDB8fHQ+MSkmJih0LT1NYXRoLmZsb29yKHQpKTt2YXIgbj1NYXRoLmFicyh0LS41KTtyZXR1cm4gQWcuaD0zNjAqdC0xMDAsQWcucz0xLjUtMS41Km4sQWcubD0uOC0uOSpuLEFnKyIifSx0LmludGVycG9sYXRlV2FybT13Zyx0LmludGVycG9sYXRlQ29vbD1NZyx0LmludGVycG9sYXRlU2luZWJvdz1mdW5jdGlvbih0KXt2YXIgbjtyZXR1cm4gdD0oLjUtdCkqTWF0aC5QSSxUZy5yPTI1NSoobj1NYXRoLnNpbih0KSkqbixUZy5nPTI1NSoobj1NYXRoLnNpbih0K05nKSkqbixUZy5iPTI1NSoobj1NYXRoLnNpbih0K1NnKSkqbixUZysiIn0sdC5pbnRlcnBvbGF0ZVZpcmlkaXM9a2csdC5pbnRlcnBvbGF0ZU1hZ21hPUNnLHQuaW50ZXJwb2xhdGVJbmZlcm5vPVBnLHQuaW50ZXJwb2xhdGVQbGFzbWE9emcsdC5jcmVhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIER0KFcodCkuY2FsbChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpKX0sdC5jcmVhdG9yPVcsdC5sb2NhbD1xdCx0Lm1hdGNoZXI9cnQsdC5tb3VzZT1GdCx0Lm5hbWVzcGFjZT0kLHQubmFtZXNwYWNlcz1WLHQuY2xpZW50UG9pbnQ9QnQsdC5zZWxlY3Q9RHQsdC5zZWxlY3RBbGw9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P25ldyBSdChbZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0KV0sW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudF0pOm5ldyBSdChbbnVsbD09dD9bXTp0XSx6dCl9LHQuc2VsZWN0aW9uPUx0LHQuc2VsZWN0b3I9USx0LnNlbGVjdG9yQWxsPUssdC5zdHlsZT1sdCx0LnRvdWNoPUl0LHQudG91Y2hlcz1mdW5jdGlvbih0LG4pe251bGw9PW4mJihuPVl0KCkudG91Y2hlcyk7Zm9yKHZhciBlPTAscj1uP24ubGVuZ3RoOjAsaT1uZXcgQXJyYXkocik7ZTxyOysrZSlpW2VdPUJ0KHQsbltlXSk7cmV0dXJuIGl9LHQud2luZG93PXN0LHQuY3VzdG9tRXZlbnQ9Q3QsdC5hcmM9ZnVuY3Rpb24oKXt2YXIgdD1HZyxuPVZnLGU9UmcoMCkscj1udWxsLGk9JGcsbz1XZyxhPVpnLHU9bnVsbDtmdW5jdGlvbiBmKCl7dmFyIGYsYyxzLGw9K3QuYXBwbHkodGhpcyxhcmd1bWVudHMpLGg9K24uYXBwbHkodGhpcyxhcmd1bWVudHMpLGQ9aS5hcHBseSh0aGlzLGFyZ3VtZW50cyktSGcscD1vLmFwcGx5KHRoaXMsYXJndW1lbnRzKS1IZyx2PUxnKHAtZCksZz1wPmQ7aWYodXx8KHU9Zj1HaSgpKSxoPGwmJihjPWgsaD1sLGw9YyksaD5GZylpZih2PmpnLUZnKXUubW92ZVRvKGgqVWcoZCksaCpZZyhkKSksdS5hcmMoMCwwLGgsZCxwLCFnKSxsPkZnJiYodS5tb3ZlVG8obCpVZyhwKSxsKllnKHApKSx1LmFyYygwLDAsbCxwLGQsZykpO2Vsc2V7dmFyIHksXyxiPWQsbT1wLHg9ZCx3PXAsTT12LEE9dixUPWEuYXBwbHkodGhpcyxhcmd1bWVudHMpLzIsTj1UPkZnJiYocj8rci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6QmcobCpsK2gqaCkpLFM9T2coTGcoaC1sKS8yLCtlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksRT1TLGs9UztpZihOPkZnKXt2YXIgQz1YZyhOL2wqWWcoVCkpLFA9WGcoTi9oKllnKFQpKTsoTS09MipDKT5GZz8oeCs9Qyo9Zz8xOi0xLHctPUMpOihNPTAseD13PShkK3ApLzIpLChBLT0yKlApPkZnPyhiKz1QKj1nPzE6LTEsbS09UCk6KEE9MCxiPW09KGQrcCkvMil9dmFyIHo9aCpVZyhiKSxSPWgqWWcoYiksTD1sKlVnKHcpLEQ9bCpZZyh3KTtpZihTPkZnKXt2YXIgVT1oKlVnKG0pLHE9aCpZZyhtKSxPPWwqVWcoeCksWT1sKllnKHgpO2lmKHY8SWcpe3ZhciBCPU0+Rmc/ZnVuY3Rpb24odCxuLGUscixpLG8sYSx1KXt2YXIgZj1lLXQsYz1yLW4scz1hLWksbD11LW8saD0ocyoobi1vKS1sKih0LWkpKS8obCpmLXMqYyk7cmV0dXJuW3QraCpmLG4raCpjXX0oeixSLE8sWSxVLHEsTCxEKTpbTCxEXSxGPXotQlswXSxJPVItQlsxXSxIPVUtQlswXSxqPXEtQlsxXSxYPTEvWWcoKChzPShGKkgrSSpqKS8oQmcoRipGK0kqSSkqQmcoSCpIK2oqaikpKT4xPzA6czwtMT9JZzpNYXRoLmFjb3MocykpLzIpLEc9QmcoQlswXSpCWzBdK0JbMV0qQlsxXSk7RT1PZyhTLChsLUcpLyhYLTEpKSxrPU9nKFMsKGgtRykvKFgrMSkpfX1BPkZnP2s+Rmc/KHk9UWcoTyxZLHosUixoLGssZyksXz1RZyhVLHEsTCxELGgsayxnKSx1Lm1vdmVUbyh5LmN4K3kueDAxLHkuY3kreS55MDEpLGs8Uz91LmFyYyh5LmN4LHkuY3ksayxEZyh5LnkwMSx5LngwMSksRGcoXy55MDEsXy54MDEpLCFnKToodS5hcmMoeS5jeCx5LmN5LGssRGcoeS55MDEseS54MDEpLERnKHkueTExLHkueDExKSwhZyksdS5hcmMoMCwwLGgsRGcoeS5jeSt5LnkxMSx5LmN4K3kueDExKSxEZyhfLmN5K18ueTExLF8uY3grXy54MTEpLCFnKSx1LmFyYyhfLmN4LF8uY3ksayxEZyhfLnkxMSxfLngxMSksRGcoXy55MDEsXy54MDEpLCFnKSkpOih1Lm1vdmVUbyh6LFIpLHUuYXJjKDAsMCxoLGIsbSwhZykpOnUubW92ZVRvKHosUiksbD5GZyYmTT5GZz9FPkZnPyh5PVFnKEwsRCxVLHEsbCwtRSxnKSxfPVFnKHosUixPLFksbCwtRSxnKSx1LmxpbmVUbyh5LmN4K3kueDAxLHkuY3kreS55MDEpLEU8Uz91LmFyYyh5LmN4LHkuY3ksRSxEZyh5LnkwMSx5LngwMSksRGcoXy55MDEsXy54MDEpLCFnKToodS5hcmMoeS5jeCx5LmN5LEUsRGcoeS55MDEseS54MDEpLERnKHkueTExLHkueDExKSwhZyksdS5hcmMoMCwwLGwsRGcoeS5jeSt5LnkxMSx5LmN4K3kueDExKSxEZyhfLmN5K18ueTExLF8uY3grXy54MTEpLGcpLHUuYXJjKF8uY3gsXy5jeSxFLERnKF8ueTExLF8ueDExKSxEZyhfLnkwMSxfLngwMSksIWcpKSk6dS5hcmMoMCwwLGwsdyx4LGcpOnUubGluZVRvKEwsRCl9ZWxzZSB1Lm1vdmVUbygwLDApO2lmKHUuY2xvc2VQYXRoKCksZilyZXR1cm4gdT1udWxsLGYrIiJ8fG51bGx9cmV0dXJuIGYuY2VudHJvaWQ9ZnVuY3Rpb24oKXt2YXIgZT0oK3QuYXBwbHkodGhpcyxhcmd1bWVudHMpKyArbi5hcHBseSh0aGlzLGFyZ3VtZW50cykpLzIscj0oK2kuYXBwbHkodGhpcyxhcmd1bWVudHMpKyArby5hcHBseSh0aGlzLGFyZ3VtZW50cykpLzItSWcvMjtyZXR1cm5bVWcocikqZSxZZyhyKSplXX0sZi5pbm5lclJhZGl1cz1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOlJnKCtuKSxmKTp0fSxmLm91dGVyUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UmcoK3QpLGYpOm59LGYuY29ybmVyUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UmcoK3QpLGYpOmV9LGYucGFkUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPW51bGw9PXQ/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OlJnKCt0KSxmKTpyfSxmLnN0YXJ0QW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpSZygrdCksZik6aX0sZi5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlJnKCt0KSxmKTpvfSxmLnBhZEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UmcoK3QpLGYpOmF9LGYuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odT1udWxsPT10P251bGw6dCxmKTp1fSxmfSx0LmFyZWE9cnksdC5saW5lPWV5LHQucGllPWZ1bmN0aW9uKCl7dmFyIHQ9b3ksbj1peSxlPW51bGwscj1SZygwKSxpPVJnKGpnKSxvPVJnKDApO2Z1bmN0aW9uIGEoYSl7dmFyIHUsZixjLHMsbCxoPWEubGVuZ3RoLGQ9MCxwPW5ldyBBcnJheShoKSx2PW5ldyBBcnJheShoKSxnPStyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx5PU1hdGgubWluKGpnLE1hdGgubWF4KC1qZyxpLmFwcGx5KHRoaXMsYXJndW1lbnRzKS1nKSksXz1NYXRoLm1pbihNYXRoLmFicyh5KS9oLG8uYXBwbHkodGhpcyxhcmd1bWVudHMpKSxiPV8qKHk8MD8tMToxKTtmb3IodT0wO3U8aDsrK3UpKGw9dltwW3VdPXVdPSt0KGFbdV0sdSxhKSk+MCYmKGQrPWwpO2ZvcihudWxsIT1uP3Auc29ydChmdW5jdGlvbih0LGUpe3JldHVybiBuKHZbdF0sdltlXSl9KTpudWxsIT1lJiZwLnNvcnQoZnVuY3Rpb24odCxuKXtyZXR1cm4gZShhW3RdLGFbbl0pfSksdT0wLGM9ZD8oeS1oKmIpL2Q6MDt1PGg7Kyt1LGc9cylmPXBbdV0scz1nKygobD12W2ZdKT4wP2wqYzowKStiLHZbZl09e2RhdGE6YVtmXSxpbmRleDp1LHZhbHVlOmwsc3RhcnRBbmdsZTpnLGVuZEFuZ2xlOnMscGFkQW5nbGU6X307cmV0dXJuIHZ9cmV0dXJuIGEudmFsdWU9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpSZygrbiksYSk6dH0sYS5zb3J0VmFsdWVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQsZT1udWxsLGEpOm59LGEuc29ydD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LG49bnVsbCxhKTplfSxhLnN0YXJ0QW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpSZygrdCksYSk6cn0sYS5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlJnKCt0KSxhKTppfSxhLnBhZEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UmcoK3QpLGEpOm99LGF9LHQuYXJlYVJhZGlhbD1seSx0LnJhZGlhbEFyZWE9bHksdC5saW5lUmFkaWFsPXN5LHQucmFkaWFsTGluZT1zeSx0LnBvaW50UmFkaWFsPWh5LHQubGlua0hvcml6b250YWw9ZnVuY3Rpb24oKXtyZXR1cm4gZ3koeXkpfSx0LmxpbmtWZXJ0aWNhbD1mdW5jdGlvbigpe3JldHVybiBneShfeSl9LHQubGlua1JhZGlhbD1mdW5jdGlvbigpe3ZhciB0PWd5KGJ5KTtyZXR1cm4gdC5hbmdsZT10LngsZGVsZXRlIHQueCx0LnJhZGl1cz10LnksZGVsZXRlIHQueSx0fSx0LnN5bWJvbD1mdW5jdGlvbigpe3ZhciB0PVJnKG15KSxuPVJnKDY0KSxlPW51bGw7ZnVuY3Rpb24gcigpe3ZhciByO2lmKGV8fChlPXI9R2koKSksdC5hcHBseSh0aGlzLGFyZ3VtZW50cykuZHJhdyhlLCtuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSkscilyZXR1cm4gZT1udWxsLHIrIiJ8fG51bGx9cmV0dXJuIHIudHlwZT1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOlJnKG4pLHIpOnR9LHIuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlJnKCt0KSxyKTpufSxyLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9bnVsbD09dD9udWxsOnQscik6ZX0scn0sdC5zeW1ib2xzPVV5LHQuc3ltYm9sQ2lyY2xlPW15LHQuc3ltYm9sQ3Jvc3M9eHksdC5zeW1ib2xEaWFtb25kPUF5LHQuc3ltYm9sU3F1YXJlPWt5LHQuc3ltYm9sU3Rhcj1FeSx0LnN5bWJvbFRyaWFuZ2xlPVB5LHQuc3ltYm9sV3llPUR5LHQuY3VydmVCYXNpc0Nsb3NlZD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IEJ5KHQpfSx0LmN1cnZlQmFzaXNPcGVuPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRnkodCl9LHQuY3VydmVCYXNpcz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IFl5KHQpfSx0LmN1cnZlQnVuZGxlPUh5LHQuY3VydmVDYXJkaW5hbENsb3NlZD0keSx0LmN1cnZlQ2FyZGluYWxPcGVuPVp5LHQuY3VydmVDYXJkaW5hbD1HeSx0LmN1cnZlQ2F0bXVsbFJvbUNsb3NlZD1uXyx0LmN1cnZlQ2F0bXVsbFJvbU9wZW49cl8sdC5jdXJ2ZUNhdG11bGxSb209S3ksdC5jdXJ2ZUxpbmVhckNsb3NlZD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGlfKHQpfSx0LmN1cnZlTGluZWFyPUtnLHQuY3VydmVNb25vdG9uZVg9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBjXyh0KX0sdC5jdXJ2ZU1vbm90b25lWT1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHNfKHQpfSx0LmN1cnZlTmF0dXJhbD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGhfKHQpfSx0LmN1cnZlU3RlcD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHBfKHQsLjUpfSx0LmN1cnZlU3RlcEFmdGVyPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgcF8odCwxKX0sdC5jdXJ2ZVN0ZXBCZWZvcmU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBwXyh0LDApfSx0LnN0YWNrPWZ1bmN0aW9uKCl7dmFyIHQ9UmcoW10pLG49Z18sZT12XyxyPXlfO2Z1bmN0aW9uIGkoaSl7dmFyIG8sYSx1PXQuYXBwbHkodGhpcyxhcmd1bWVudHMpLGY9aS5sZW5ndGgsYz11Lmxlbmd0aCxzPW5ldyBBcnJheShjKTtmb3Iobz0wO288YzsrK28pe2Zvcih2YXIgbCxoPXVbb10sZD1zW29dPW5ldyBBcnJheShmKSxwPTA7cDxmOysrcClkW3BdPWw9WzAsK3IoaVtwXSxoLHAsaSldLGwuZGF0YT1pW3BdO2Qua2V5PWh9Zm9yKG89MCxhPW4ocyk7bzxjOysrbylzW2Fbb11dLmluZGV4PW87cmV0dXJuIGUocyxhKSxzfXJldHVybiBpLmtleXM9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpSZyhkeS5jYWxsKG4pKSxpKTp0fSxpLnZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UmcoK3QpLGkpOnJ9LGkub3JkZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49bnVsbD09dD9nXzoiZnVuY3Rpb24iPT10eXBlb2YgdD90OlJnKGR5LmNhbGwodCkpLGkpOm59LGkub2Zmc2V0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPW51bGw9PXQ/dl86dCxpKTplfSxpfSx0LnN0YWNrT2Zmc2V0RXhwYW5kPWZ1bmN0aW9uKHQsbil7aWYoKHI9dC5sZW5ndGgpPjApe2Zvcih2YXIgZSxyLGksbz0wLGE9dFswXS5sZW5ndGg7bzxhOysrbyl7Zm9yKGk9ZT0wO2U8cjsrK2UpaSs9dFtlXVtvXVsxXXx8MDtpZihpKWZvcihlPTA7ZTxyOysrZSl0W2VdW29dWzFdLz1pfXZfKHQsbil9fSx0LnN0YWNrT2Zmc2V0RGl2ZXJnaW5nPWZ1bmN0aW9uKHQsbil7aWYoKHU9dC5sZW5ndGgpPjEpZm9yKHZhciBlLHIsaSxvLGEsdSxmPTAsYz10W25bMF1dLmxlbmd0aDtmPGM7KytmKWZvcihvPWE9MCxlPTA7ZTx1OysrZSkoaT0ocj10W25bZV1dW2ZdKVsxXS1yWzBdKT49MD8oclswXT1vLHJbMV09bys9aSk6aTwwPyhyWzFdPWEsclswXT1hKz1pKTpyWzBdPW99LHQuc3RhY2tPZmZzZXROb25lPXZfLHQuc3RhY2tPZmZzZXRTaWxob3VldHRlPWZ1bmN0aW9uKHQsbil7aWYoKGU9dC5sZW5ndGgpPjApe2Zvcih2YXIgZSxyPTAsaT10W25bMF1dLG89aS5sZW5ndGg7cjxvOysrcil7Zm9yKHZhciBhPTAsdT0wO2E8ZTsrK2EpdSs9dFthXVtyXVsxXXx8MDtpW3JdWzFdKz1pW3JdWzBdPS11LzJ9dl8odCxuKX19LHQuc3RhY2tPZmZzZXRXaWdnbGU9ZnVuY3Rpb24odCxuKXtpZigoaT10Lmxlbmd0aCk+MCYmKHI9KGU9dFtuWzBdXSkubGVuZ3RoKT4wKXtmb3IodmFyIGUscixpLG89MCxhPTE7YTxyOysrYSl7Zm9yKHZhciB1PTAsZj0wLGM9MDt1PGk7Kyt1KXtmb3IodmFyIHM9dFtuW3VdXSxsPXNbYV1bMV18fDAsaD0obC0oc1thLTFdWzFdfHwwKSkvMixkPTA7ZDx1OysrZCl7dmFyIHA9dFtuW2RdXTtoKz0ocFthXVsxXXx8MCktKHBbYS0xXVsxXXx8MCl9Zis9bCxjKz1oKmx9ZVthLTFdWzFdKz1lW2EtMV1bMF09byxmJiYoby09Yy9mKX1lW2EtMV1bMV0rPWVbYS0xXVswXT1vLHZfKHQsbil9fSx0LnN0YWNrT3JkZXJBc2NlbmRpbmc9X18sdC5zdGFja09yZGVyRGVzY2VuZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gX18odCkucmV2ZXJzZSgpfSx0LnN0YWNrT3JkZXJJbnNpZGVPdXQ9ZnVuY3Rpb24odCl7dmFyIG4sZSxyPXQubGVuZ3RoLGk9dC5tYXAoYl8pLG89Z18odCkuc29ydChmdW5jdGlvbih0LG4pe3JldHVybiBpW25dLWlbdF19KSxhPTAsdT0wLGY9W10sYz1bXTtmb3Iobj0wO248cjsrK24pZT1vW25dLGE8dT8oYSs9aVtlXSxmLnB1c2goZSkpOih1Kz1pW2VdLGMucHVzaChlKSk7cmV0dXJuIGMucmV2ZXJzZSgpLmNvbmNhdChmKX0sdC5zdGFja09yZGVyTm9uZT1nXyx0LnN0YWNrT3JkZXJSZXZlcnNlPWZ1bmN0aW9uKHQpe3JldHVybiBnXyh0KS5yZXZlcnNlKCl9LHQudGltZUludGVydmFsPVJoLHQudGltZU1pbGxpc2Vjb25kPUxoLHQudGltZU1pbGxpc2Vjb25kcz1EaCx0LnV0Y01pbGxpc2Vjb25kPUxoLHQudXRjTWlsbGlzZWNvbmRzPURoLHQudGltZVNlY29uZD1PaCx0LnRpbWVTZWNvbmRzPVloLHQudXRjU2Vjb25kPU9oLHQudXRjU2Vjb25kcz1ZaCx0LnRpbWVNaW51dGU9QmgsdC50aW1lTWludXRlcz1GaCx0LnRpbWVIb3VyPUloLHQudGltZUhvdXJzPUhoLHQudGltZURheT1qaCx0LnRpbWVEYXlzPVhoLHQudGltZVdlZWs9VmgsdC50aW1lV2Vla3M9dGQsdC50aW1lU3VuZGF5PVZoLHQudGltZVN1bmRheXM9dGQsdC50aW1lTW9uZGF5PSRoLHQudGltZU1vbmRheXM9bmQsdC50aW1lVHVlc2RheT1XaCx0LnRpbWVUdWVzZGF5cz1lZCx0LnRpbWVXZWRuZXNkYXk9WmgsdC50aW1lV2VkbmVzZGF5cz1yZCx0LnRpbWVUaHVyc2RheT1RaCx0LnRpbWVUaHVyc2RheXM9aWQsdC50aW1lRnJpZGF5PUpoLHQudGltZUZyaWRheXM9b2QsdC50aW1lU2F0dXJkYXk9S2gsdC50aW1lU2F0dXJkYXlzPWFkLHQudGltZU1vbnRoPXVkLHQudGltZU1vbnRocz1mZCx0LnRpbWVZZWFyPWNkLHQudGltZVllYXJzPXNkLHQudXRjTWludXRlPWxkLHQudXRjTWludXRlcz1oZCx0LnV0Y0hvdXI9ZGQsdC51dGNIb3Vycz1wZCx0LnV0Y0RheT12ZCx0LnV0Y0RheXM9Z2QsdC51dGNXZWVrPV9kLHQudXRjV2Vla3M9VGQsdC51dGNTdW5kYXk9X2QsdC51dGNTdW5kYXlzPVRkLHQudXRjTW9uZGF5PWJkLHQudXRjTW9uZGF5cz1OZCx0LnV0Y1R1ZXNkYXk9bWQsdC51dGNUdWVzZGF5cz1TZCx0LnV0Y1dlZG5lc2RheT14ZCx0LnV0Y1dlZG5lc2RheXM9RWQsdC51dGNUaHVyc2RheT13ZCx0LnV0Y1RodXJzZGF5cz1rZCx0LnV0Y0ZyaWRheT1NZCx0LnV0Y0ZyaWRheXM9Q2QsdC51dGNTYXR1cmRheT1BZCx0LnV0Y1NhdHVyZGF5cz1QZCx0LnV0Y01vbnRoPXpkLHQudXRjTW9udGhzPVJkLHQudXRjWWVhcj1MZCx0LnV0Y1llYXJzPURkLHQudGltZUZvcm1hdERlZmF1bHRMb2NhbGU9UXAsdC50aW1lRm9ybWF0TG9jYWxlPVlkLHQuaXNvRm9ybWF0PUpwLHQuaXNvUGFyc2U9S3AsdC5ub3c9aXIsdC50aW1lcj11cix0LnRpbWVyRmx1c2g9ZnIsdC50aW1lb3V0PWhyLHQuaW50ZXJ2YWw9ZnVuY3Rpb24odCxuLGUpe3ZhciByPW5ldyBhcixpPW47cmV0dXJuIG51bGw9PW4/KHIucmVzdGFydCh0LG4sZSkscik6KG49K24sZT1udWxsPT1lP2lyKCk6K2Usci5yZXN0YXJ0KGZ1bmN0aW9uIG8oYSl7YSs9aSxyLnJlc3RhcnQobyxpKz1uLGUpLHQoYSl9LG4sZSkscil9LHQudHJhbnNpdGlvbj16cix0LmFjdGl2ZT1mdW5jdGlvbih0LG4pe3ZhciBlLHIsaT10Ll9fdHJhbnNpdGlvbjtpZihpKWZvcihyIGluIG49bnVsbD09bj9udWxsOm4rIiIsaSlpZigoZT1pW3JdKS5zdGF0ZT5nciYmZS5uYW1lPT09bilyZXR1cm4gbmV3IFByKFtbdF1dLGxpLG4sK3IpO3JldHVybiBudWxsfSx0LmludGVycnVwdD1Ocix0LnZvcm9ub2k9ZnVuY3Rpb24oKXt2YXIgdD14XyxuPXdfLGU9bnVsbDtmdW5jdGlvbiByKHIpe3JldHVybiBuZXcgZWIoci5tYXAoZnVuY3Rpb24oZSxpKXt2YXIgbz1bTWF0aC5yb3VuZCh0KGUsaSxyKS9LXykqS18sTWF0aC5yb3VuZChuKGUsaSxyKS9LXykqS19dO3JldHVybiBvLmluZGV4PWksby5kYXRhPWUsb30pLGUpfXJldHVybiByLnBvbHlnb25zPWZ1bmN0aW9uKHQpe3JldHVybiByKHQpLnBvbHlnb25zKCl9LHIubGlua3M9ZnVuY3Rpb24odCl7cmV0dXJuIHIodCkubGlua3MoKX0sci50cmlhbmdsZXM9ZnVuY3Rpb24odCl7cmV0dXJuIHIodCkudHJpYW5nbGVzKCl9LHIueD1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOm1fKCtuKSxyKTp0fSxyLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDptXygrdCkscik6bn0sci5leHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9bnVsbD09dD9udWxsOltbK3RbMF1bMF0sK3RbMF1bMV1dLFsrdFsxXVswXSwrdFsxXVsxXV1dLHIpOmUmJltbZVswXVswXSxlWzBdWzFdXSxbZVsxXVswXSxlWzFdWzFdXV19LHIuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT1udWxsPT10P251bGw6W1swLDBdLFsrdFswXSwrdFsxXV1dLHIpOmUmJltlWzFdWzBdLWVbMF1bMF0sZVsxXVsxXS1lWzBdWzFdXX0scn0sdC56b29tPWZ1bmN0aW9uKCl7dmFyIG4sZSxyPXNiLGk9bGIsbz12YixhPWRiLHU9cGIsZj1bMCwxLzBdLGM9W1stMS8wLC0xLzBdLFsxLzAsMS8wXV0scz0yNTAsbD1xZSxoPVtdLGQ9SSgic3RhcnQiLCJ6b29tIiwiZW5kIikscD01MDAsdj0xNTAsZz0wO2Z1bmN0aW9uIHkodCl7dC5wcm9wZXJ0eSgiX196b29tIixoYikub24oIndoZWVsLnpvb20iLEEpLm9uKCJtb3VzZWRvd24uem9vbSIsVCkub24oImRibGNsaWNrLnpvb20iLE4pLmZpbHRlcih1KS5vbigidG91Y2hzdGFydC56b29tIixTKS5vbigidG91Y2htb3ZlLnpvb20iLEUpLm9uKCJ0b3VjaGVuZC56b29tIHRvdWNoY2FuY2VsLnpvb20iLGspLnN0eWxlKCJ0b3VjaC1hY3Rpb24iLCJub25lIikuc3R5bGUoIi13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvciIsInJnYmEoMCwwLDAsMCkiKX1mdW5jdGlvbiBfKHQsbil7cmV0dXJuKG49TWF0aC5tYXgoZlswXSxNYXRoLm1pbihmWzFdLG4pKSk9PT10Lms/dDpuZXcgb2Iobix0LngsdC55KX1mdW5jdGlvbiBiKHQsbixlKXt2YXIgcj1uWzBdLWVbMF0qdC5rLGk9blsxXS1lWzFdKnQuaztyZXR1cm4gcj09PXQueCYmaT09PXQueT90Om5ldyBvYih0LmsscixpKX1mdW5jdGlvbiBtKHQpe3JldHVyblsoK3RbMF1bMF0rICt0WzFdWzBdKS8yLCgrdFswXVsxXSsgK3RbMV1bMV0pLzJdfWZ1bmN0aW9uIHgodCxuLGUpe3Qub24oInN0YXJ0Lnpvb20iLGZ1bmN0aW9uKCl7dyh0aGlzLGFyZ3VtZW50cykuc3RhcnQoKX0pLm9uKCJpbnRlcnJ1cHQuem9vbSBlbmQuem9vbSIsZnVuY3Rpb24oKXt3KHRoaXMsYXJndW1lbnRzKS5lbmQoKX0pLnR3ZWVuKCJ6b29tIixmdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cyxyPXcodGhpcyx0KSxvPWkuYXBwbHkodGhpcyx0KSxhPWV8fG0obyksdT1NYXRoLm1heChvWzFdWzBdLW9bMF1bMF0sb1sxXVsxXS1vWzBdWzFdKSxmPXRoaXMuX196b29tLGM9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bi5hcHBseSh0aGlzLHQpOm4scz1sKGYuaW52ZXJ0KGEpLmNvbmNhdCh1L2YuayksYy5pbnZlcnQoYSkuY29uY2F0KHUvYy5rKSk7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKDE9PT10KXQ9YztlbHNle3ZhciBuPXModCksZT11L25bMl07dD1uZXcgb2IoZSxhWzBdLW5bMF0qZSxhWzFdLW5bMV0qZSl9ci56b29tKG51bGwsdCl9fSl9ZnVuY3Rpb24gdyh0LG4pe2Zvcih2YXIgZSxyPTAsaT1oLmxlbmd0aDtyPGk7KytyKWlmKChlPWhbcl0pLnRoYXQ9PT10KXJldHVybiBlO3JldHVybiBuZXcgTSh0LG4pfWZ1bmN0aW9uIE0odCxuKXt0aGlzLnRoYXQ9dCx0aGlzLmFyZ3M9bix0aGlzLmluZGV4PS0xLHRoaXMuYWN0aXZlPTAsdGhpcy5leHRlbnQ9aS5hcHBseSh0LG4pfWZ1bmN0aW9uIEEoKXtpZihyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIHQ9dyh0aGlzLGFyZ3VtZW50cyksbj10aGlzLl9fem9vbSxlPU1hdGgubWF4KGZbMF0sTWF0aC5taW4oZlsxXSxuLmsqTWF0aC5wb3coMixhLmFwcGx5KHRoaXMsYXJndW1lbnRzKSkpKSxpPUZ0KHRoaXMpO2lmKHQud2hlZWwpdC5tb3VzZVswXVswXT09PWlbMF0mJnQubW91c2VbMF1bMV09PT1pWzFdfHwodC5tb3VzZVsxXT1uLmludmVydCh0Lm1vdXNlWzBdPWkpKSxjbGVhclRpbWVvdXQodC53aGVlbCk7ZWxzZXtpZihuLms9PT1lKXJldHVybjt0Lm1vdXNlPVtpLG4uaW52ZXJ0KGkpXSxOcih0aGlzKSx0LnN0YXJ0KCl9Y2IoKSx0LndoZWVsPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LndoZWVsPW51bGwsdC5lbmQoKX0sdiksdC56b29tKCJtb3VzZSIsbyhiKF8obixlKSx0Lm1vdXNlWzBdLHQubW91c2VbMV0pLHQuZXh0ZW50LGMpKX19ZnVuY3Rpb24gVCgpe2lmKCFlJiZyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIG49dyh0aGlzLGFyZ3VtZW50cyksaT1EdCh0LmV2ZW50LnZpZXcpLm9uKCJtb3VzZW1vdmUuem9vbSIsZnVuY3Rpb24oKXtpZihjYigpLCFuLm1vdmVkKXt2YXIgZT10LmV2ZW50LmNsaWVudFgtdSxyPXQuZXZlbnQuY2xpZW50WS1mO24ubW92ZWQ9ZSplK3Iqcj5nfW4uem9vbSgibW91c2UiLG8oYihuLnRoYXQuX196b29tLG4ubW91c2VbMF09RnQobi50aGF0KSxuLm1vdXNlWzFdKSxuLmV4dGVudCxjKSl9LCEwKS5vbigibW91c2V1cC56b29tIixmdW5jdGlvbigpe2kub24oIm1vdXNlbW92ZS56b29tIG1vdXNldXAuem9vbSIsbnVsbCksR3QodC5ldmVudC52aWV3LG4ubW92ZWQpLGNiKCksbi5lbmQoKX0sITApLGE9RnQodGhpcyksdT10LmV2ZW50LmNsaWVudFgsZj10LmV2ZW50LmNsaWVudFk7WHQodC5ldmVudC52aWV3KSxmYigpLG4ubW91c2U9W2EsdGhpcy5fX3pvb20uaW52ZXJ0KGEpXSxOcih0aGlzKSxuLnN0YXJ0KCl9fWZ1bmN0aW9uIE4oKXtpZihyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIG49dGhpcy5fX3pvb20sZT1GdCh0aGlzKSxhPW4uaW52ZXJ0KGUpLHU9bi5rKih0LmV2ZW50LnNoaWZ0S2V5Py41OjIpLGY9byhiKF8obix1KSxlLGEpLGkuYXBwbHkodGhpcyxhcmd1bWVudHMpLGMpO2NiKCkscz4wP0R0KHRoaXMpLnRyYW5zaXRpb24oKS5kdXJhdGlvbihzKS5jYWxsKHgsZixlKTpEdCh0aGlzKS5jYWxsKHkudHJhbnNmb3JtLGYpfX1mdW5jdGlvbiBTKCl7aWYoci5hcHBseSh0aGlzLGFyZ3VtZW50cykpe3ZhciBlLGksbyxhLHU9dyh0aGlzLGFyZ3VtZW50cyksZj10LmV2ZW50LmNoYW5nZWRUb3VjaGVzLGM9Zi5sZW5ndGg7Zm9yKGZiKCksaT0wO2k8YzsrK2kpYT1bYT1JdCh0aGlzLGYsKG89ZltpXSkuaWRlbnRpZmllciksdGhpcy5fX3pvb20uaW52ZXJ0KGEpLG8uaWRlbnRpZmllcl0sdS50b3VjaDA/dS50b3VjaDF8fCh1LnRvdWNoMT1hKToodS50b3VjaDA9YSxlPSEwKTtpZihuJiYobj1jbGVhclRpbWVvdXQobiksIXUudG91Y2gxKSlyZXR1cm4gdS5lbmQoKSx2b2lkKChhPUR0KHRoaXMpLm9uKCJkYmxjbGljay56b29tIikpJiZhLmFwcGx5KHRoaXMsYXJndW1lbnRzKSk7ZSYmKG49c2V0VGltZW91dChmdW5jdGlvbigpe249bnVsbH0scCksTnIodGhpcyksdS5zdGFydCgpKX19ZnVuY3Rpb24gRSgpe3ZhciBlLHIsaSxhLHU9dyh0aGlzLGFyZ3VtZW50cyksZj10LmV2ZW50LmNoYW5nZWRUb3VjaGVzLHM9Zi5sZW5ndGg7Zm9yKGNiKCksbiYmKG49Y2xlYXJUaW1lb3V0KG4pKSxlPTA7ZTxzOysrZSlpPUl0KHRoaXMsZiwocj1mW2VdKS5pZGVudGlmaWVyKSx1LnRvdWNoMCYmdS50b3VjaDBbMl09PT1yLmlkZW50aWZpZXI/dS50b3VjaDBbMF09aTp1LnRvdWNoMSYmdS50b3VjaDFbMl09PT1yLmlkZW50aWZpZXImJih1LnRvdWNoMVswXT1pKTtpZihyPXUudGhhdC5fX3pvb20sdS50b3VjaDEpe3ZhciBsPXUudG91Y2gwWzBdLGg9dS50b3VjaDBbMV0sZD11LnRvdWNoMVswXSxwPXUudG91Y2gxWzFdLHY9KHY9ZFswXS1sWzBdKSp2Kyh2PWRbMV0tbFsxXSkqdixnPShnPXBbMF0taFswXSkqZysoZz1wWzFdLWhbMV0pKmc7cj1fKHIsTWF0aC5zcXJ0KHYvZykpLGk9WyhsWzBdK2RbMF0pLzIsKGxbMV0rZFsxXSkvMl0sYT1bKGhbMF0rcFswXSkvMiwoaFsxXStwWzFdKS8yXX1lbHNle2lmKCF1LnRvdWNoMClyZXR1cm47aT11LnRvdWNoMFswXSxhPXUudG91Y2gwWzFdfXUuem9vbSgidG91Y2giLG8oYihyLGksYSksdS5leHRlbnQsYykpfWZ1bmN0aW9uIGsoKXt2YXIgbixyLGk9dyh0aGlzLGFyZ3VtZW50cyksbz10LmV2ZW50LmNoYW5nZWRUb3VjaGVzLGE9by5sZW5ndGg7Zm9yKGZiKCksZSYmY2xlYXJUaW1lb3V0KGUpLGU9c2V0VGltZW91dChmdW5jdGlvbigpe2U9bnVsbH0scCksbj0wO248YTsrK24pcj1vW25dLGkudG91Y2gwJiZpLnRvdWNoMFsyXT09PXIuaWRlbnRpZmllcj9kZWxldGUgaS50b3VjaDA6aS50b3VjaDEmJmkudG91Y2gxWzJdPT09ci5pZGVudGlmaWVyJiZkZWxldGUgaS50b3VjaDE7aS50b3VjaDEmJiFpLnRvdWNoMCYmKGkudG91Y2gwPWkudG91Y2gxLGRlbGV0ZSBpLnRvdWNoMSksaS50b3VjaDA/aS50b3VjaDBbMV09dGhpcy5fX3pvb20uaW52ZXJ0KGkudG91Y2gwWzBdKTppLmVuZCgpfXJldHVybiB5LnRyYW5zZm9ybT1mdW5jdGlvbih0LG4pe3ZhciBlPXQuc2VsZWN0aW9uP3Quc2VsZWN0aW9uKCk6dDtlLnByb3BlcnR5KCJfX3pvb20iLGhiKSx0IT09ZT94KHQsbik6ZS5pbnRlcnJ1cHQoKS5lYWNoKGZ1bmN0aW9uKCl7dyh0aGlzLGFyZ3VtZW50cykuc3RhcnQoKS56b29tKG51bGwsImZ1bmN0aW9uIj09dHlwZW9mIG4/bi5hcHBseSh0aGlzLGFyZ3VtZW50cyk6bikuZW5kKCl9KX0seS5zY2FsZUJ5PWZ1bmN0aW9uKHQsbil7eS5zY2FsZVRvKHQsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fX3pvb20uayooImZ1bmN0aW9uIj09dHlwZW9mIG4/bi5hcHBseSh0aGlzLGFyZ3VtZW50cyk6bil9KX0seS5zY2FsZVRvPWZ1bmN0aW9uKHQsbil7eS50cmFuc2Zvcm0odCxmdW5jdGlvbigpe3ZhciB0PWkuYXBwbHkodGhpcyxhcmd1bWVudHMpLGU9dGhpcy5fX3pvb20scj1tKHQpLGE9ZS5pbnZlcnQociksdT0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTpuO3JldHVybiBvKGIoXyhlLHUpLHIsYSksdCxjKX0pfSx5LnRyYW5zbGF0ZUJ5PWZ1bmN0aW9uKHQsbixlKXt5LnRyYW5zZm9ybSh0LGZ1bmN0aW9uKCl7cmV0dXJuIG8odGhpcy5fX3pvb20udHJhbnNsYXRlKCJmdW5jdGlvbiI9PXR5cGVvZiBuP24uYXBwbHkodGhpcyxhcmd1bWVudHMpOm4sImZ1bmN0aW9uIj09dHlwZW9mIGU/ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6ZSksaS5hcHBseSh0aGlzLGFyZ3VtZW50cyksYyl9KX0seS50cmFuc2xhdGVUbz1mdW5jdGlvbih0LG4sZSl7eS50cmFuc2Zvcm0odCxmdW5jdGlvbigpe3ZhciB0PWkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHI9dGhpcy5fX3pvb20sYT1tKHQpO3JldHVybiBvKGFiLnRyYW5zbGF0ZShhWzBdLGFbMV0pLnNjYWxlKHIuaykudHJhbnNsYXRlKCJmdW5jdGlvbiI9PXR5cGVvZiBuPy1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTotbiwiZnVuY3Rpb24iPT10eXBlb2YgZT8tZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6LWUpLHQsYyl9KX0sTS5wcm90b3R5cGU9e3N0YXJ0OmZ1bmN0aW9uKCl7cmV0dXJuIDE9PSsrdGhpcy5hY3RpdmUmJih0aGlzLmluZGV4PWgucHVzaCh0aGlzKS0xLHRoaXMuZW1pdCgic3RhcnQiKSksdGhpc30sem9vbTpmdW5jdGlvbih0LG4pe3JldHVybiB0aGlzLm1vdXNlJiYibW91c2UiIT09dCYmKHRoaXMubW91c2VbMV09bi5pbnZlcnQodGhpcy5tb3VzZVswXSkpLHRoaXMudG91Y2gwJiYidG91Y2giIT09dCYmKHRoaXMudG91Y2gwWzFdPW4uaW52ZXJ0KHRoaXMudG91Y2gwWzBdKSksdGhpcy50b3VjaDEmJiJ0b3VjaCIhPT10JiYodGhpcy50b3VjaDFbMV09bi5pbnZlcnQodGhpcy50b3VjaDFbMF0pKSx0aGlzLnRoYXQuX196b29tPW4sdGhpcy5lbWl0KCJ6b29tIiksdGhpc30sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIDA9PS0tdGhpcy5hY3RpdmUmJihoLnNwbGljZSh0aGlzLmluZGV4LDEpLHRoaXMuaW5kZXg9LTEsdGhpcy5lbWl0KCJlbmQiKSksdGhpc30sZW1pdDpmdW5jdGlvbih0KXtDdChuZXcgaWIoeSx0LHRoaXMudGhhdC5fX3pvb20pLGQuYXBwbHksZCxbdCx0aGlzLnRoYXQsdGhpcy5hcmdzXSl9fSx5LndoZWVsRGVsdGE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpyYigrdCkseSk6YX0seS5maWx0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpyYighIXQpLHkpOnJ9LHkudG91Y2hhYmxlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cmIoISF0KSx5KTp1fSx5LmV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OnJiKFtbK3RbMF1bMF0sK3RbMF1bMV1dLFsrdFsxXVswXSwrdFsxXVsxXV1dKSx5KTppfSx5LnNjYWxlRXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhmWzBdPSt0WzBdLGZbMV09K3RbMV0seSk6W2ZbMF0sZlsxXV19LHkudHJhbnNsYXRlRXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjWzBdWzBdPSt0WzBdWzBdLGNbMV1bMF09K3RbMV1bMF0sY1swXVsxXT0rdFswXVsxXSxjWzFdWzFdPSt0WzFdWzFdLHkpOltbY1swXVswXSxjWzBdWzFdXSxbY1sxXVswXSxjWzFdWzFdXV19LHkuY29uc3RyYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPXQseSk6b30seS5kdXJhdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz0rdCx5KTpzfSx5LmludGVycG9sYXRlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhsPXQseSk6bH0seS5vbj1mdW5jdGlvbigpe3ZhciB0PWQub24uYXBwbHkoZCxhcmd1bWVudHMpO3JldHVybiB0PT09ZD95OnR9LHkuY2xpY2tEaXN0YW5jZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZz0odD0rdCkqdCx5KTpNYXRoLnNxcnQoZyl9LHl9LHQuem9vbVRyYW5zZm9ybT11Yix0Lnpvb21JZGVudGl0eT1hYixPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi10ZW5zb3Jib2FyZC9yZWdpc3RyeS5qcwp2YXIgcGU7CihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7ZC5OT1RfTE9BREVEPSJOT1RfTE9BREVEIjtkLkxPQURFRD0iTE9BREVEIjtkLkZBSUxFRD0iRkFJTEVEIn0pKGIuQWN0aXZlRGFzaGJvYXJkc0xvYWRTdGF0ZXx8KGIuQWN0aXZlRGFzaGJvYXJkc0xvYWRTdGF0ZT17fSkpO2IuZGFzaGJvYXJkUmVnaXN0cnk9e307Yi5yZWdpc3RlckRhc2hib2FyZD1mdW5jdGlvbigpe3ZhciBkPXtwbHVnaW46ImJlaG9sZGVyIixlbGVtZW50TmFtZToidGYtYmVob2xkZXItZGFzaGJvYXJkIixzaG91bGRSZW1vdmVEb206ITB9O2lmKCFkLnBsdWdpbil0aHJvdyBFcnJvcigiRGFzaGJvYXJkLnBsdWdpbiBtdXN0IGJlIHByZXNlbnQiKTtpZighZC5lbGVtZW50TmFtZSl0aHJvdyBFcnJvcigiRGFzaGJvYXJkLmVsZW1lbnROYW1lIG11c3QgYmUgcHJlc2VudCIpO2lmKGQucGx1Z2luIGluIGIuZGFzaGJvYXJkUmVnaXN0cnkpdGhyb3cgRXJyb3IoYFBsdWdpbiBhbHJlYWR5IHJlZ2lzdGVyZWQ6ICR7ZC5wbHVnaW59YCk7ZC50YWJOYW1lfHwKKGQudGFiTmFtZT1kLnBsdWdpbik7Yi5kYXNoYm9hcmRSZWdpc3RyeVtkLnBsdWdpbl09ZH19KShwZXx8KHBlPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtdXRpbHMvdXRpbHMuanMKdmFyIHJmOwooZnVuY3Rpb24oYil7ZnVuY3Rpb24gZChmLGgsayl7cmV0dXJuIDE9PT1mP2g6a31iLmFnZ3JlZ2F0ZVRhZ0luZm89ZnVuY3Rpb24oZixoKXtsZXQgaz12b2lkIDA7Y29uc3Qgcj17fTtPYmplY3Qua2V5cyhmKS5mb3JFYWNoKHA9Pntjb25zdCBtPWZbcF07dm9pZCAwPT09ayYmKGs9bS5kaXNwbGF5TmFtZSk7ayE9PW0uZGlzcGxheU5hbWUmJihrPW51bGwpO3ZvaWQgMD09PXJbbS5kZXNjcmlwdGlvbl0mJihyW20uZGVzY3JpcHRpb25dPVtdKTtyW20uZGVzY3JpcHRpb25dLnB1c2gocCl9KTtoPW51bGwhPWs/azpoO2NvbnN0IGw9KCgpPT57Y29uc3QgcD1PYmplY3Qua2V5cyhyKTtyZXR1cm4gMD09PXAubGVuZ3RoPyIiOjE9PT1wLmxlbmd0aD9wWzBdOmAkeyJceDNjcFx4M2VceDNjc3Ryb25nXHgzZU11bHRpcGxlIGRlc2NyaXB0aW9uczpceDNjL3N0cm9uZ1x4M2VceDNjL3BceDNlIn08dWw+JHtwLm1hcChtPT57Y29uc3Qgbj1yW21dLm1hcCh1PT5gPGNvZGU+JHt1LnJlcGxhY2UoLzwvZywiXHgyNmx0OyIpLnJlcGxhY2UoLz4vZywKIlx4MjZndDsiKS5yZXBsYWNlKC8mL2csIlx4MjZhbXA7Iil9PC9jb2RlPmApLHE9MjxuLmxlbmd0aD9uLnNsaWNlKDAsbi5sZW5ndGgtMSkuam9pbigiLCAiKSsiLCBhbmQgIituW24ubGVuZ3RoLTFdOm4uam9pbigiIGFuZCAiKTtyZXR1cm5gPGxpPjxwPkZvciAke2Qobi5sZW5ndGgsInJ1biIsInJ1bnMiKX0gJHtxfTo8L3A+JHttfTwvbGk+YH0pLmpvaW4oIiIpfTwvdWw+YH0pKCk7cmV0dXJue2Rpc3BsYXlOYW1lOmgsZGVzY3JpcHRpb246bH19fSkocmZ8fChyZj17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLXNwaW5uZXIvcGFwZXItc3Bpbm5lci1iZWhhdmlvci5odG1sLmpzClBvbHltZXIuUGFwZXJTcGlubmVyQmVoYXZpb3I9e3Byb3BlcnRpZXM6e2FjdGl2ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCxvYnNlcnZlcjoiX19hY3RpdmVDaGFuZ2VkIn0sYWx0Ont0eXBlOlN0cmluZyx2YWx1ZToibG9hZGluZyIsb2JzZXJ2ZXI6Il9fYWx0Q2hhbmdlZCJ9LF9fY29vbGluZ0Rvd246e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX19LF9fY29tcHV0ZUNvbnRhaW5lckNsYXNzZXM6ZnVuY3Rpb24oYixkKXtyZXR1cm5bYnx8ZD8iYWN0aXZlIjoiIixkPyJjb29sZG93biI6IiJdLmpvaW4oIiAiKX0sX19hY3RpdmVDaGFuZ2VkOmZ1bmN0aW9uKGIsZCl7dGhpcy5fX3NldEFyaWFIaWRkZW4oIWIpO3RoaXMuX19jb29saW5nRG93bj0hYiYmZH0sX19hbHRDaGFuZ2VkOmZ1bmN0aW9uKGIpeyJsb2FkaW5nIj09PWI/dGhpcy5hbHQ9dGhpcy5nZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiKXx8YjoodGhpcy5fX3NldEFyaWFIaWRkZW4oIiI9PT0KYiksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLGIpKX0sX19zZXRBcmlhSGlkZGVuOmZ1bmN0aW9uKGIpe2I/dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpOnRoaXMucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpfSxfX3Jlc2V0OmZ1bmN0aW9uKCl7dGhpcy5fX2Nvb2xpbmdEb3duPXRoaXMuYWN0aXZlPSExfX07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZGFzaGJvYXJkLWNvbW1vbi9kYXRhLWxvYWRlci1iZWhhdmlvci5qcwooZnVuY3Rpb24oYil7bGV0IGQ7KGZ1bmN0aW9uKGYpe2ZbZi5MT0FESU5HPTBdPSJMT0FESU5HIjtmW2YuTE9BREVEPTFdPSJMT0FERUQifSkoZHx8KGQ9e30pKTtiLkRhdGFMb2FkZXJCZWhhdmlvcj17cHJvcGVydGllczp7YWN0aXZlOnt0eXBlOkJvb2xlYW4sb2JzZXJ2ZXI6Il9sb2FkRGF0YUlmQWN0aXZlIn0sbG9hZEtleTp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9LGRhdGFUb0xvYWQ6e3R5cGU6QXJyYXksdmFsdWU6KCk9PltdfSxnZXREYXRhTG9hZE5hbWU6e3R5cGU6RnVuY3Rpb24sdmFsdWU6KCk9PmY9PlN0cmluZyhmKX0sbG9hZERhdGFDYWxsYmFjazpGdW5jdGlvbixyZXF1ZXN0RGF0YTp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBmPT50aGlzLnJlcXVlc3RNYW5hZ2VyLnJlcXVlc3QodGhpcy5nZXREYXRhTG9hZFVybChmKSl9fSxnZXREYXRhTG9hZFVybDpGdW5jdGlvbixkYXRhTG9hZGluZzp7dHlwZTpCb29sZWFuLHJlYWRPbmx5OiEwLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCwKdmFsdWU6ITF9LF9kYXRhTG9hZFN0YXRlOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+bmV3IE1hcH0sX2NhbmNlbGxlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5DYW5jZWxsZXJ9LF9sb2FkRGF0YUFzeW5jOnt0eXBlOk51bWJlcix2YWx1ZTpudWxsfX0sb2JzZXJ2ZXJzOlsiX2RhdGFUb0xvYWRDaGFuZ2VkKGlzQXR0YWNoZWQsIGRhdGFUb0xvYWQuKikiXSxvbkxvYWRGaW5pc2goKXt9LHJlbG9hZCgpe3RoaXMuX2RhdGFMb2FkU3RhdGUuY2xlYXIoKTt0aGlzLl9sb2FkRGF0YSgpfSxyZXNldCgpe251bGwhPXRoaXMuX2xvYWREYXRhQXN5bmMmJih0aGlzLmNhbmNlbEFzeW5jKHRoaXMuX2xvYWREYXRhQXN5bmMpLHRoaXMuX2xvYWREYXRhQXN5bmM9bnVsbCk7dGhpcy5fY2FuY2VsbGVyJiZ0aGlzLl9jYW5jZWxsZXIuY2FuY2VsQWxsKCk7dGhpcy5fZGF0YUxvYWRTdGF0ZSYmdGhpcy5fZGF0YUxvYWRTdGF0ZS5jbGVhcigpO3RoaXMuaXNBdHRhY2hlZCYmdGhpcy5fbG9hZERhdGEoKX0sCl9kYXRhVG9Mb2FkQ2hhbmdlZCgpe3RoaXMuaXNBdHRhY2hlZCYmdGhpcy5fbG9hZERhdGEoKX0sY3JlYXRlZCgpe3RoaXMuX2xvYWREYXRhPV8udGhyb3R0bGUodGhpcy5fbG9hZERhdGFJbXBsLDEwMCx7bGVhZGluZzohMCx0cmFpbGluZzohMH0pfSxkZXRhY2hlZCgpe251bGwhPXRoaXMuX2xvYWREYXRhQXN5bmMmJih0aGlzLmNhbmNlbEFzeW5jKHRoaXMuX2xvYWREYXRhQXN5bmMpLHRoaXMuX2xvYWREYXRhQXN5bmM9bnVsbCl9LF9sb2FkRGF0YUlmQWN0aXZlKCl7dGhpcy5hY3RpdmUmJnRoaXMuX2xvYWREYXRhKCl9LF9sb2FkRGF0YUltcGwoKXt0aGlzLmFjdGl2ZSYmKHRoaXMuY2FuY2VsQXN5bmModGhpcy5fbG9hZERhdGFBc3luYyksdGhpcy5fbG9hZERhdGFBc3luYz10aGlzLmFzeW5jKHRoaXMuX2NhbmNlbGxlci5jYW5jZWxsYWJsZShmPT57aWYoIWYuY2FuY2VsbGVkKXJldHVybiB0aGlzLl9zZXREYXRhTG9hZGluZyghMCksZj10aGlzLmRhdGFUb0xvYWQuZmlsdGVyKGg9Pgp7aD10aGlzLmdldERhdGFMb2FkTmFtZShoKTtyZXR1cm4hdGhpcy5fZGF0YUxvYWRTdGF0ZS5oYXMoaCl9KS5tYXAoaD0+e2NvbnN0IGs9dGhpcy5nZXREYXRhTG9hZE5hbWUoaCk7dGhpcy5fZGF0YUxvYWRTdGF0ZS5zZXQoayxkLkxPQURJTkcpO3JldHVybiB0aGlzLnJlcXVlc3REYXRhKGgpLnRoZW4odGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKHI9PntyLmNhbmNlbGxlZHx8KHRoaXMuX2RhdGFMb2FkU3RhdGUuc2V0KGssZC5MT0FERUQpLHRoaXMubG9hZERhdGFDYWxsYmFjayh0aGlzLGgsci52YWx1ZSkpO3JldHVybiBrfSkpfSksUHJvbWlzZS5hbGwoZikudGhlbih0aGlzLl9jYW5jZWxsZXIuY2FuY2VsbGFibGUoaD0+e2lmKCFoLmNhbmNlbGxlZCl7Y29uc3Qgaz1uZXcgU2V0KGgudmFsdWUpO2lmKHRoaXMuZGF0YVRvTG9hZC5zb21lKHI9PmsuaGFzKHRoaXMuZ2V0RGF0YUxvYWROYW1lKHIpKSkpdGhpcy5vbkxvYWRGaW5pc2goKX1BcnJheS5mcm9tKHRoaXMuX2RhdGFMb2FkU3RhdGUudmFsdWVzKCkpLnNvbWUoaz0+Cms9PT1kLkxPQURJTkcpfHx0aGlzLl9zZXREYXRhTG9hZGluZyghMSl9KSwoKT0+e30pLnRoZW4odGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKCh7Y2FuY2VsbGVkOmh9KT0+e2h8fCh0aGlzLl9sb2FkRGF0YUFzeW5jPW51bGwpfSkpfSkpKX19fSkoY2R8fChjZD17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWltcG9ydHMvcGxvdHRhYmxlLmpzCi8qCiBNSVQKIE1JVAogQGZpbGVvdmVydmlldyBJbXBsZW1lbnRzIHRoZSBTaWduYXR1cmUgQVBJIHRvIGhlbHAgaW4gY29tcGFyaW5nIHdoZW4gdHdvCiBQbG90dGFibGUgb2JqZWN0cyBoYXZlICJjaGFuZ2VkIi4KCiBNZW1vaXphdGlvbiBpbiBQbG90dGFibGUgaXMgY29tcGxpY2F0ZWQgYnkgbXV0YWJsZSBzY2FsZXMgYW5kIGRhdGFzZXRzLiBXZSBjYW5ub3Qgc2ltcGx5CiByZWZlcmVuY2UgY29tcGFyZSB0d28gZS5nLiBzY2FsZXMgc2luY2UgaXQgbWF5IGhhdmUgaW50ZXJuYWxseSBtdXRhdGVkLiBUbyByZXNvbHZlIHRoaXMsCiB3ZSB3cml0ZSBhIHJlY3Vyc2l2ZSBTaWduYXR1cmUgaW50ZXJmYWNlIHRoYXQgaG9sZHMgYW4gaW1tdXRhYmxlIHNuYXBzaG90IG9mIHdoYXRldmVyCiBzdGF0ZSB0aGUgc2NhbGUvZGF0YSB3YXMgaW4gYXQgdGhlIHRpbWUuIFRoZW4gb24gbWVtb2l6ZWQgZnVuY3Rpb24gaW52b2NhdGlvbiB3ZSBzaWduIHRoZQogbmV3IGlucHV0cyBhbmQgY29tcGFyZSB0aGUgc2lnbmF0dXJlcyB0byBkZWNpZGUgaWYgd2Ugc2hvdWxkIHJlY29tcHV0ZS4KCiBXZSBtdXN0IGhhbmQtd3JpdGUgYSBzaWduYXR1cmUgZm9yIGVhY2ggY3VzdG9tIGNsYXNzIHdlIHdpc2ggdG8gc3VwcG9ydC4KIE1JVAoKIEBmaWxlb3ZlcnZpZXcgbWFudWFsbHkgYWRkIGQzLXNlbGVjdGlvbi1tdWx0aSB0byBkMyBkZWZhdWx0IGJ1bmRsZS4gTW9zdCBvZiB0aGlzIGNvZGUgaXMKIGNvcGllZCBmcm9tIGQzLXNlbGVjdGlvbi1tdWx0aUAxLjAuMC4KIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZDMvZDMtc2VsZWN0aW9uLW11bHRpL2lzc3Vlcy8xMSBmb3Igd2h5IHdlIGhhdmUgdG8gZG8gdGhpcwogTUlUCiBAZmlsZW92ZXJ2aWV3IEltcGxlbWVudHMgYSBjb252ZW5pZW50IHRodW5rIGZ1bmN0aW9uIHRvIGhhbmRsZSB0aGUgY29tbW9uIGNhc2UKIG9mIGNyZWF0aW5nIGEgbWVtb2l6ZWQgZnVuY3Rpb24gdGhhdCB0YWtlcyBpdHMgaW5wdXRzIGZyb20gbXV0YWJsZSBjbGFzcyBwcm9wZXJ0aWVzLgogTUlUCiBAZmlsZW92ZXJ2aWV3IEltcGxlbWVudHMgYSBmdW5jdGlvbiBtZW1vaXplciB1c2luZyB0aGUgU2lnbmF0dXJlIEFQSS4KIFBsb3R0YWJsZSAzLjcuMCAoaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL3Bsb3R0YWJsZSkKIENvcHlyaWdodCAyMDE0LTIwMTcgUGFsYW50aXIgVGVjaG5vbG9naWVzCiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9wbG90dGFibGUvYmxvYi9tYXN0ZXIvTElDRU5TRSkKIGlzLXBsYWluLW9iamVjdCA8aHR0cHM6Ly9naXRodWIuY29tL2pvbnNjaGxpbmtlcnQvaXMtcGxhaW4tb2JqZWN0PgoKIENvcHlyaWdodCAoYykgMjAxNC0yMDE3LCBKb24gU2NobGlua2VydC4KIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4KIGlzb2JqZWN0IDxodHRwczovL2dpdGh1Yi5jb20vam9uc2NobGlua2VydC9pc29iamVjdD4KCiBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxNywgSm9uIFNjaGxpbmtlcnQuCiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuCiovCihmdW5jdGlvbihiLGQpeyJvYmplY3QiPT09dHlwZW9mIGV4cG9ydHMmJiJvYmplY3QiPT09dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz1kKHJlcXVpcmUoImQzIikpOiJmdW5jdGlvbiI9PT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImQzIl0sZCk6Im9iamVjdCI9PT10eXBlb2YgZXhwb3J0cz9leHBvcnRzLlBsb3R0YWJsZT1kKHJlcXVpcmUoImQzIikpOmIuUGxvdHRhYmxlPWQoYi5kMyl9KSh0aGlzLGZ1bmN0aW9uKGIpe3JldHVybiBmdW5jdGlvbihkKXtmdW5jdGlvbiBmKGspe2lmKGhba10pcmV0dXJuIGhba10uZXhwb3J0czt2YXIgcj1oW2tdPXtpOmssbDohMSxleHBvcnRzOnt9fTtkW2tdLmNhbGwoci5leHBvcnRzLHIsci5leHBvcnRzLGYpO3IubD0hMDtyZXR1cm4gci5leHBvcnRzfXZhciBoPXt9O2YubT1kO2YuYz1oO2YuaT1mdW5jdGlvbihrKXtyZXR1cm4ga307Zi5kPWZ1bmN0aW9uKGsscixsKXtmLm8oayxyKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KGssCnIse2NvbmZpZ3VyYWJsZTohMSxlbnVtZXJhYmxlOiEwLGdldDpsfSl9O2Yubj1mdW5jdGlvbihrKXt2YXIgcj1rJiZrLl9fZXNNb2R1bGU/ZnVuY3Rpb24oKXtyZXR1cm4ga1siZGVmYXVsdCJdfTpmdW5jdGlvbigpe3JldHVybiBrfTtmLmQociwiYSIscik7cmV0dXJuIHJ9O2Yubz1mdW5jdGlvbihrLHIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoayxyKX07Zi5wPSIiO3JldHVybiBmKGYucz0xNDApfShbZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsocil7Zm9yKHZhciBsIGluIHIpZi5oYXNPd25Qcm9wZXJ0eShsKXx8KGZbbF09cltsXSl9ZD1oKDEwNyk7Zi5BcnJheT1kO2Q9aCgxMTApO2YuQ29sb3I9ZDtkPWgoNTUpO2YuRE9NPWQ7ZD1oKDU2KTtmLk1hdGg9ZDtkPWgoMTEzKTtmLk9iamVjdD1kO2Q9aCg1Nyk7Zi5SVHJlZT1kO2Q9aCgxMTUpO2YuU3RhY2tpbmc9ZDtkPWgoMzUpO2YuV2luZG93PWQ7ayhoKDEwOCkpO2soaCgxMDkpKTtrKGgoMTIpKTsKayhoKDExMSkpO2soaCgxMTIpKTtrKGgoNTgpKTtrKGgoMTE2KSl9LGZ1bmN0aW9uKGQpe2QuZXhwb3J0cz1ifSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhHLEQsQil7dmFyIEg9RC5hY2Nlc3NvcjtEPUQuc2NhbGU7aWYobnVsbD09RClyZXR1cm5bXTt2YXIgSz1HLmRhdGEoKTtudWxsIT1CJiYoSz1LLmZpbHRlcihmdW5jdGlvbihMLEope3JldHVybiBCKEwsSixHKX0pKTtLPUsubWFwKGZ1bmN0aW9uKEwsSil7cmV0dXJuIEgoTCxKLEcpfSk7cmV0dXJuIEQuZXh0ZW50T2ZWYWx1ZXMoSyl9dmFyIHI9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKEcsRCl7ZnVuY3Rpb24gQigpe3RoaXMuY29uc3RydWN0b3I9R31mb3IodmFyIEggaW4gRClELmhhc093blByb3BlcnR5KEgpJiYoR1tIXT1EW0hdKTtHLnByb3RvdHlwZT1udWxsPT09RD9PYmplY3QuY3JlYXRlKEQpOihCLnByb3RvdHlwZT1ELnByb3RvdHlwZSxuZXcgQil9LGw9aCgxKSxwPWgoNyk7ZD1oKDQpO3ZhciBtPQpoKDE4KSxuPWgoNikscT1oKDkpLHU9aCgyMCksdz1oKDApLEE9aCgxMikseT1oKDEwKSx4PWgoNTEpLEM9aCg1Mik7Zi5SZW5kZXJlcj15Lm1ha2VFbnVtKFsic3ZnIiwiY2FudmFzIl0pO2g9ZnVuY3Rpb24oRyl7ZnVuY3Rpb24gRCgpe3ZhciBCPUcuY2FsbCh0aGlzKXx8dGhpcztCLl9kYXRhQ2hhbmdlZD0hMTtCLl9hdHRyRXh0ZW50cz17fTtCLl9hbmltYXRlPSExO0IuX2FuaW1hdG9ycz17fTtCLl9wcm9wZXJ0eUV4dGVudHM9e307Qi5fcmVzZXRFbnRpdHlTdG9yZT1mdW5jdGlvbigpe0IuX2NhY2hlZEVudGl0eVN0b3JlPXZvaWQgMH07Qi5fb3ZlcmZsb3dIaWRkZW49ITA7Qi5hZGRDbGFzcygicGxvdCIpO0IuX2RhdGFzZXRUb0RyYXdlcj1uZXcgdy5NYXA7Qi5fYXR0ckJpbmRpbmdzPWwubWFwKCk7Qi5faW5jbHVkZWRWYWx1ZXNQcm92aWRlcj1mdW5jdGlvbihLLEwpe3JldHVybiBCLl9pbmNsdWRlZFZhbHVlc0ZvclNjYWxlKEssTCl9O0IuX3JlbmRlckNhbGxiYWNrPWZ1bmN0aW9uKCl7cmV0dXJuIEIucmVuZGVyKCl9OwpCLl9vbkRhdGFzZXRVcGRhdGVDYWxsYmFjaz1mdW5jdGlvbigpe3JldHVybiBCLl9vbkRhdGFzZXRVcGRhdGUoKX07Qi5fcHJvcGVydHlCaW5kaW5ncz1sLm1hcCgpO3ZhciBIPShuZXcgcC5FYXNpbmcpLm1heFRvdGFsRHVyYXRpb24oRC5fQU5JTUFUSU9OX01BWF9EVVJBVElPTik7Qi5hbmltYXRvcih4LkFuaW1hdG9yLk1BSU4sSCk7Qi5hbmltYXRvcih4LkFuaW1hdG9yLlJFU0VULG5ldyBwLk51bGwpO0IuX2RlZmVycmVkUmVzZXRFbnRpdHlTdG9yZT13LldpbmRvdy5kZWJvdW5jZShDLkRlZmVycmVkUmVuZGVyZXIuREVGRVJSRURfUkVOREVSSU5HX0RFTEFZLEIuX3Jlc2V0RW50aXR5U3RvcmUpO3JldHVybiBCfXIoRCxHKTtELmdldFRvdGFsRHJhd1RpbWU9ZnVuY3Rpb24oQixIKXtyZXR1cm4gSC5yZWR1Y2UoZnVuY3Rpb24oSyxMKXtyZXR1cm4gSytMLmFuaW1hdG9yLnRvdGFsVGltZShCLmxlbmd0aCl9LDApfTtELmFwcGx5RHJhd1N0ZXBzPWZ1bmN0aW9uKEIsSCl7cmV0dXJuIEIubWFwKGZ1bmN0aW9uKEspe3ZhciBMPQpLLmF0dHJUb1Byb2plY3RvcixKPXt9O09iamVjdC5rZXlzKEwpLmZvckVhY2goZnVuY3Rpb24oTyl7SltPXT1mdW5jdGlvbihTLE4pe3JldHVybiBMW09dKFMsTixIKX19KTtyZXR1cm57YXR0clRvQXBwbGllZFByb2plY3RvcjpKLGFuaW1hdG9yOksuYW5pbWF0b3J9fSl9O0QucHJvdG90eXBlLmFuY2hvcj1mdW5jdGlvbihCKXtCPUEuY29lcmNlRXh0ZXJuYWxEMyhCKTtHLnByb3RvdHlwZS5hbmNob3IuY2FsbCh0aGlzLEIpO3RoaXMuX2RhdGFDaGFuZ2VkPSEwO3RoaXMuX3Jlc2V0RW50aXR5U3RvcmUoKTt0aGlzLl91cGRhdGVFeHRlbnRzKCk7cmV0dXJuIHRoaXN9O0QucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3ZhciBCPXRoaXM7dGhpcy5faXNTZXR1cHx8KEcucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpLG51bGwhPXRoaXMuX2NhbnZhcyYmdGhpcy5fYXBwZW5kQ2FudmFzTm9kZSgpLHRoaXMuX3JlbmRlckFyZWE9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZCgicmVuZGVyLWFyZWEiLAohMCksdGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oSCl7cmV0dXJuIEIuX2NyZWF0ZU5vZGVzRm9yRGF0YXNldChIKX0pKX07RC5wcm90b3R5cGUuX2FwcGVuZENhbnZhc05vZGU9ZnVuY3Rpb24oKXt2YXIgQj10aGlzLmVsZW1lbnQoKS5zZWxlY3QoIi5wbG90LWNhbnZhcy1jb250YWluZXIiKTtCLmVtcHR5KCkmJihCPXRoaXMuZWxlbWVudCgpLmFwcGVuZCgiZGl2IikuY2xhc3NlZCgicGxvdC1jYW52YXMtY29udGFpbmVyIiwhMCksQi5ub2RlKCkuYXBwZW5kQ2hpbGQodGhpcy5fY2FudmFzLm5vZGUoKSkpfTtELnByb3RvdHlwZS5zZXRCb3VuZHM9ZnVuY3Rpb24oQixILEssTCl7Ry5wcm90b3R5cGUuc2V0Qm91bmRzLmNhbGwodGhpcyxCLEgsSyxMKTt0aGlzLl9yZXNldEVudGl0eVN0b3JlKCk7bnVsbCE9dGhpcy5fY2FudmFzJiYodGhpcy5fYnVmZmVyQ2FudmFzJiYhdGhpcy5fYnVmZmVyQ2FudmFzVmFsaWQmJih0aGlzLl9idWZmZXJDYW52YXMuYXR0cigid2lkdGgiLAp0aGlzLl9jYW52YXMuYXR0cigid2lkdGgiKSksdGhpcy5fYnVmZmVyQ2FudmFzLmF0dHIoImhlaWdodCIsdGhpcy5fY2FudmFzLmF0dHIoImhlaWdodCIpKSwoSz10aGlzLl9idWZmZXJDYW52YXMubm9kZSgpLmdldENvbnRleHQoIjJkIikpJiZLLmRyYXdJbWFnZSh0aGlzLl9jYW52YXMubm9kZSgpLDAsMCksdGhpcy5fYnVmZmVyQ2FudmFzVmFsaWQ9ITApLEs9bnVsbCE9d2luZG93LmRldmljZVBpeGVsUmF0aW8/d2luZG93LmRldmljZVBpeGVsUmF0aW86MSx0aGlzLl9jYW52YXMuYXR0cigid2lkdGgiLEIqSyksdGhpcy5fY2FudmFzLmF0dHIoImhlaWdodCIsSCpLKSxMPXRoaXMuX2NhbnZhcy5ub2RlKCkuZ2V0Q29udGV4dCgiMmQiKSkmJihMLnNldFRyYW5zZm9ybShLLDAsMCxLLDAsMCksdGhpcy5fYnVmZmVyQ2FudmFzJiZMLmRyYXdJbWFnZSh0aGlzLl9idWZmZXJDYW52YXMubm9kZSgpLDAsMCxCLEgpKX07RC5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciBCPXRoaXM7CkcucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKTt0aGlzLl9zY2FsZXMoKS5mb3JFYWNoKGZ1bmN0aW9uKEgpe3JldHVybiBILm9mZlVwZGF0ZShCLl9yZW5kZXJDYWxsYmFjayl9KTt0aGlzLmRhdGFzZXRzKFtdKX07RC5wcm90b3R5cGUuX2NyZWF0ZU5vZGVzRm9yRGF0YXNldD1mdW5jdGlvbihCKXtCPXRoaXMuX2RhdGFzZXRUb0RyYXdlci5nZXQoQik7InN2ZyI9PT10aGlzLnJlbmRlcmVyKCk/Qi51c2VTVkcodGhpcy5fcmVuZGVyQXJlYSk6Qi51c2VDYW52YXModGhpcy5fY2FudmFzKTtyZXR1cm4gQn07RC5wcm90b3R5cGUuX2NyZWF0ZURyYXdlcj1mdW5jdGlvbigpe3JldHVybiBuZXcgbi5Qcm94eURyYXdlcihmdW5jdGlvbigpe3JldHVybiBuZXcgcS5TVkdEcmF3ZXIoInBhdGgiLCIiKX0sZnVuY3Rpb24oQil7cmV0dXJuIG5ldyBtLkNhbnZhc0RyYXdlcihCLGZ1bmN0aW9uKCl7fSl9KX07RC5wcm90b3R5cGUuX2dldEFuaW1hdG9yPWZ1bmN0aW9uKEIpe3JldHVybiB0aGlzLl9hbmltYXRlT25OZXh0UmVuZGVyKCk/CnRoaXMuX2FuaW1hdG9yc1tCXXx8bmV3IHAuTnVsbDpuZXcgcC5OdWxsfTtELnByb3RvdHlwZS5fb25EYXRhc2V0VXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlRXh0ZW50cygpO3RoaXMuX2RhdGFDaGFuZ2VkPSEwO3RoaXMuX3Jlc2V0RW50aXR5U3RvcmUoKTt0aGlzLnJlbmRlckxvd1ByaW9yaXR5KCl9O0QucHJvdG90eXBlLmF0dHI9ZnVuY3Rpb24oQixILEspe2lmKG51bGw9PUgpcmV0dXJuIHRoaXMuX2F0dHJCaW5kaW5ncy5nZXQoQik7dGhpcy5fYmluZEF0dHIoQixILEspO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O0QucHJvdG90eXBlLl9iaW5kUHJvcGVydHk9ZnVuY3Rpb24oQixILEssTCl7dmFyIEo9dGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoQik7Sj1udWxsIT1KP0ouc2NhbGU6bnVsbDt0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLnNldChCLHthY2Nlc3NvcjoiZnVuY3Rpb24iPT09dHlwZW9mIEg/SDpmdW5jdGlvbigpe3JldHVybiBIfSxzY2FsZTpLLHBvc3RTY2FsZTpMfSk7Cm51bGwhPUomJnRoaXMuX3VuaW5zdGFsbFNjYWxlRm9yS2V5KEosQik7bnVsbCE9SyYmdGhpcy5faW5zdGFsbFNjYWxlRm9yS2V5KEssQik7dGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpfTtELnByb3RvdHlwZS5fYmluZEF0dHI9ZnVuY3Rpb24oQixILEspe3ZhciBMPXRoaXMuX2F0dHJCaW5kaW5ncy5nZXQoQik7TD1udWxsIT1MP0wuc2NhbGU6bnVsbDt0aGlzLl9hdHRyQmluZGluZ3Muc2V0KEIse2FjY2Vzc29yOiJmdW5jdGlvbiI9PT10eXBlb2YgSD9IOmZ1bmN0aW9uKCl7cmV0dXJuIEh9LHNjYWxlOkt9KTtudWxsIT1MJiZ0aGlzLl91bmluc3RhbGxTY2FsZUZvcktleShMLEIpO251bGwhPUsmJnRoaXMuX2luc3RhbGxTY2FsZUZvcktleShLLEIpO3RoaXMuX2NsZWFyQXR0clRvUHJvamVjdG9yQ2FjaGUoKX07RC5wcm90b3R5cGUuX2NsZWFyQXR0clRvUHJvamVjdG9yQ2FjaGU9ZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5fY2FjaGVkQXR0clRvUHJvamVjdG9yfTtELnByb3RvdHlwZS5fZ2V0QXR0clRvUHJvamVjdG9yPQpmdW5jdGlvbigpe251bGw9PXRoaXMuX2NhY2hlZEF0dHJUb1Byb2plY3RvciYmKHRoaXMuX2NhY2hlZEF0dHJUb1Byb2plY3Rvcj10aGlzLl9nZW5lcmF0ZUF0dHJUb1Byb2plY3RvcigpKTtyZXR1cm4gdy5PYmplY3QuYXNzaWduKHt9LHRoaXMuX2NhY2hlZEF0dHJUb1Byb2plY3Rvcil9O0QucHJvdG90eXBlLl9nZW5lcmF0ZUF0dHJUb1Byb2plY3Rvcj1mdW5jdGlvbigpe3ZhciBCPXt9O3RoaXMuX2F0dHJCaW5kaW5ncy5lYWNoKGZ1bmN0aW9uKEssTCl7QltMXT1ELl9zY2FsZWRBY2Nlc3NvcihLKX0pO3ZhciBIPXRoaXMuX3Byb3BlcnR5UHJvamVjdG9ycygpO09iamVjdC5rZXlzKEgpLmZvckVhY2goZnVuY3Rpb24oSyl7bnVsbD09QltLXSYmKEJbS109SFtLXSl9KTtyZXR1cm4gQn07RC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXtHLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseS5jYWxsKHRoaXMpO3RoaXMuX2lzQW5jaG9yZWQmJih0aGlzLl9wYWludCgpLAp0aGlzLl9kYXRhQ2hhbmdlZD0hMSk7cmV0dXJuIHRoaXN9O0QucHJvdG90eXBlLnJlbmRlckxvd1ByaW9yaXR5PWZ1bmN0aW9uKCl7dGhpcy5fcmVuZGVyQ2FsbGJhY2soKX07RC5wcm90b3R5cGUuYW5pbWF0ZWQ9ZnVuY3Rpb24oQil7aWYobnVsbD09QilyZXR1cm4gdGhpcy5fYW5pbWF0ZTt0aGlzLl9hbmltYXRlPUI7cmV0dXJuIHRoaXN9O0QucHJvdG90eXBlLmRldGFjaD1mdW5jdGlvbigpe0cucHJvdG90eXBlLmRldGFjaC5jYWxsKHRoaXMpO3RoaXMuX3VwZGF0ZUV4dGVudHMoKTtyZXR1cm4gdGhpc307RC5wcm90b3R5cGUuX3NjYWxlcz1mdW5jdGlvbigpe3ZhciBCPVtdO3RoaXMuX2F0dHJCaW5kaW5ncy5lYWNoKGZ1bmN0aW9uKEgpe0g9SC5zY2FsZTtudWxsIT1IJiYtMT09PUIuaW5kZXhPZihIKSYmQi5wdXNoKEgpfSk7dGhpcy5fcHJvcGVydHlCaW5kaW5ncy5lYWNoKGZ1bmN0aW9uKEgpe0g9SC5zY2FsZTtudWxsIT1IJiYtMT09PUIuaW5kZXhPZihIKSYmQi5wdXNoKEgpfSk7CnJldHVybiBCfTtELnByb3RvdHlwZS5fdXBkYXRlRXh0ZW50cz1mdW5jdGlvbigpe3ZhciBCPXRoaXM7dGhpcy5fcmVzZXRFbnRpdHlTdG9yZSgpO3RoaXMuX3NjYWxlcygpLmZvckVhY2goZnVuY3Rpb24oSCl7cmV0dXJuIEguYWRkSW5jbHVkZWRWYWx1ZXNQcm92aWRlcihCLl9pbmNsdWRlZFZhbHVlc1Byb3ZpZGVyKX0pfTtELnByb3RvdHlwZS5fZmlsdGVyRm9yUHJvcGVydHk9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH07RC5wcm90b3R5cGUuZ2V0RXh0ZW50c0ZvckF0dHI9ZnVuY3Rpb24oQil7dmFyIEg9dGhpcztudWxsPT10aGlzLl9hdHRyRXh0ZW50c1tCXSYmKHRoaXMuX2F0dHJFeHRlbnRzW0JdPXUubWVtVGh1bmsoZnVuY3Rpb24oKXtyZXR1cm4gSC5kYXRhc2V0cygpfSxmdW5jdGlvbigpe3JldHVybiBILl9hdHRyQmluZGluZ3MuZ2V0KEIpfSxmdW5jdGlvbihLLEwpe3JldHVybiBudWxsPT1MfHxudWxsPT1MLmFjY2Vzc29yP251bGw6Sy5tYXAoZnVuY3Rpb24oSil7cmV0dXJuIGsoSiwKTCxudWxsKX0pfSkpO3JldHVybiB0aGlzLl9hdHRyRXh0ZW50c1tCXSgpfTtELnByb3RvdHlwZS5nZXRFeHRlbnRzRm9yUHJvcGVydHk9ZnVuY3Rpb24oQil7dmFyIEg9dGhpcztudWxsPT10aGlzLl9wcm9wZXJ0eUV4dGVudHNbQl0mJih0aGlzLl9wcm9wZXJ0eUV4dGVudHNbQl09dS5tZW1UaHVuayhmdW5jdGlvbigpe3JldHVybiBILmRhdGFzZXRzKCl9LGZ1bmN0aW9uKCl7cmV0dXJuIEguX3Byb3BlcnR5QmluZGluZ3MuZ2V0KEIpfSxmdW5jdGlvbigpe3JldHVybiBILl9maWx0ZXJGb3JQcm9wZXJ0eShCKX0sZnVuY3Rpb24oSyxMLEope3JldHVybiBudWxsPT1MfHxudWxsPT1MLmFjY2Vzc29yP251bGw6Sy5tYXAoZnVuY3Rpb24oTyl7cmV0dXJuIGsoTyxMLEopfSl9KSk7cmV0dXJuIHRoaXMuX3Byb3BlcnR5RXh0ZW50c1tCXSgpfTtELnByb3RvdHlwZS5faW5jbHVkZWRWYWx1ZXNGb3JTY2FsZT1mdW5jdGlvbihCLEgpe3ZhciBLPXRoaXM7aWYoIXRoaXMuX2lzQW5jaG9yZWQmJgohSClyZXR1cm5bXTt2YXIgTD1bXTt0aGlzLl9hdHRyQmluZGluZ3MuZWFjaChmdW5jdGlvbihKLE8pe0ouc2NhbGU9PT1CJiYoSj1LLmdldEV4dGVudHNGb3JBdHRyKE8pLG51bGwhPUomJihMPUwuY29uY2F0KGwubWVyZ2UoSikpKSl9KTt0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmVhY2goZnVuY3Rpb24oSixPKXtKLnNjYWxlPT09QiYmKEo9Sy5nZXRFeHRlbnRzRm9yUHJvcGVydHkoTyksbnVsbCE9SiYmKEw9TC5jb25jYXQobC5tZXJnZShKKSkpKX0pO3JldHVybiBMfTtELnByb3RvdHlwZS5hbmltYXRvcj1mdW5jdGlvbihCLEgpe2lmKHZvaWQgMD09PUgpcmV0dXJuIHRoaXMuX2FuaW1hdG9yc1tCXTt0aGlzLl9hbmltYXRvcnNbQl09SDtyZXR1cm4gdGhpc307RC5wcm90b3R5cGUucmVuZGVyZXI9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09dGhpcy5fY2FudmFzPyJzdmciOiJjYW52YXMifTtELnByb3RvdHlwZS5hZGREYXRhc2V0PWZ1bmN0aW9uKEIpe3RoaXMuX2FkZERhdGFzZXQoQik7CnRoaXMuX29uRGF0YXNldFVwZGF0ZSgpfTtELnByb3RvdHlwZS5fYWRkRGF0YXNldD1mdW5jdGlvbihCKXt0aGlzLl9yZW1vdmVEYXRhc2V0KEIpO3ZhciBIPXRoaXMuX2NyZWF0ZURyYXdlcihCKTt0aGlzLl9kYXRhc2V0VG9EcmF3ZXIuc2V0KEIsSCk7dGhpcy5faXNTZXR1cCYmdGhpcy5fY3JlYXRlTm9kZXNGb3JEYXRhc2V0KEIpO0Iub25VcGRhdGUodGhpcy5fb25EYXRhc2V0VXBkYXRlQ2FsbGJhY2spO3JldHVybiB0aGlzfTtELnByb3RvdHlwZS5yZW1vdmVEYXRhc2V0PWZ1bmN0aW9uKEIpe3RoaXMuX3JlbW92ZURhdGFzZXQoQik7dGhpcy5fb25EYXRhc2V0VXBkYXRlKCl9O0QucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0PWZ1bmN0aW9uKEIpe2lmKC0xPT09dGhpcy5kYXRhc2V0cygpLmluZGV4T2YoQikpcmV0dXJuIHRoaXM7dGhpcy5fcmVtb3ZlRGF0YXNldE5vZGVzKEIpO0Iub2ZmVXBkYXRlKHRoaXMuX29uRGF0YXNldFVwZGF0ZUNhbGxiYWNrKTt0aGlzLl9kYXRhc2V0VG9EcmF3ZXIuZGVsZXRlKEIpOwpyZXR1cm4gdGhpc307RC5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXROb2Rlcz1mdW5jdGlvbihCKXt0aGlzLl9kYXRhc2V0VG9EcmF3ZXIuZ2V0KEIpLnJlbW92ZSgpfTtELnByb3RvdHlwZS5kYXRhc2V0cz1mdW5jdGlvbihCKXt2YXIgSD10aGlzLEs9W107dGhpcy5fZGF0YXNldFRvRHJhd2VyLmZvckVhY2goZnVuY3Rpb24oTCxKKXtyZXR1cm4gSy5wdXNoKEopfSk7aWYobnVsbD09QilyZXR1cm4gSztLLmZvckVhY2goZnVuY3Rpb24oTCl7cmV0dXJuIEguX3JlbW92ZURhdGFzZXQoTCl9KTtCLmZvckVhY2goZnVuY3Rpb24oTCl7cmV0dXJuIEguX2FkZERhdGFzZXQoTCl9KTt0aGlzLl9vbkRhdGFzZXRVcGRhdGUoKTtyZXR1cm4gdGhpc307RC5wcm90b3R5cGUuX2dlbmVyYXRlRHJhd1N0ZXBzPWZ1bmN0aW9uKCl7cmV0dXJuW3thdHRyVG9Qcm9qZWN0b3I6dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksYW5pbWF0b3I6bmV3IHAuTnVsbH1dfTtELnByb3RvdHlwZS5fYWRkaXRpb25hbFBhaW50PQpmdW5jdGlvbigpe307RC5wcm90b3R5cGUuX2J1aWxkTGlnaHR3ZWlnaHRQbG90RW50aXRpZXM9ZnVuY3Rpb24oQil7dmFyIEg9dGhpcyxLPVtdO0IuZm9yRWFjaChmdW5jdGlvbihMLEope3ZhciBPPUguX2RhdGFzZXRUb0RyYXdlci5nZXQoTCksUz0wO0wuZGF0YSgpLmZvckVhY2goZnVuY3Rpb24oTixSKXt2YXIgWD1ILl9waXhlbFBvaW50KE4sUixMKTt3Lk1hdGguaXNOYU4oWC54KXx8dy5NYXRoLmlzTmFOKFgueSl8fChLLnB1c2goe2RhdHVtOk4sZ2V0IHBvc2l0aW9uKCl7cmV0dXJuIEguX3BpeGVsUG9pbnQuY2FsbChILE4sUixMKX0saW5kZXg6UixkYXRhc2V0OkwsZGF0YXNldEluZGV4OkosY29tcG9uZW50OkgsZHJhd2VyOk8sdmFsaWREYXR1bUluZGV4OlN9KSxTKyspfSl9KTtyZXR1cm4gS307RC5wcm90b3R5cGUuX2dldERhdGFUb0RyYXc9ZnVuY3Rpb24oKXt2YXIgQj1uZXcgdy5NYXA7dGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oSCl7cmV0dXJuIEIuc2V0KEgsCkguZGF0YSgpKX0pO3JldHVybiBCfTtELnByb3RvdHlwZS5fcGFpbnQ9ZnVuY3Rpb24oKXt2YXIgQj10aGlzO2RlbGV0ZSB0aGlzLl9jYWNoZWRBdHRyVG9Qcm9qZWN0b3I7dmFyIEg9dGhpcy5fZ2VuZXJhdGVEcmF3U3RlcHMoKSxLPXRoaXMuX2dldERhdGFUb0RyYXcoKSxMPXRoaXMuZGF0YXNldHMoKS5tYXAoZnVuY3Rpb24oTyl7cmV0dXJuIEIuX2RhdGFzZXRUb0RyYXdlci5nZXQoTyl9KTtpZigiY2FudmFzIj09PXRoaXMucmVuZGVyZXIoKSl7dmFyIEo9dGhpcy5fY2FudmFzLm5vZGUoKTtKLmdldENvbnRleHQoIjJkIikuY2xlYXJSZWN0KDAsMCxKLmNsaWVudFdpZHRoLEouY2xpZW50SGVpZ2h0KTt0aGlzLl9idWZmZXJDYW52YXNWYWxpZD0hMX10aGlzLmRhdGFzZXRzKCkuZm9yRWFjaChmdW5jdGlvbihPLFMpe3ZhciBOPUQuYXBwbHlEcmF3U3RlcHMoSCxPKTtMW1NdLmRyYXcoSy5nZXQoTyksTil9KTtKPXRoaXMuZGF0YXNldHMoKS5tYXAoZnVuY3Rpb24oTyl7cmV0dXJuIEQuZ2V0VG90YWxEcmF3VGltZShLLmdldChPKSwKSCl9KTtKPXcuTWF0aC5tYXgoSiwwKTt0aGlzLl9hZGRpdGlvbmFsUGFpbnQoSil9O0QucHJvdG90eXBlLnNlbGVjdGlvbnM9ZnVuY3Rpb24oQil7dmFyIEg9dGhpczt2b2lkIDA9PT1CJiYoQj10aGlzLmRhdGFzZXRzKCkpO2lmKCJjYW52YXMiPT09dGhpcy5yZW5kZXJlcigpKXJldHVybiBsLnNlbGVjdEFsbCgpO3ZhciBLPVtdO0IuZm9yRWFjaChmdW5jdGlvbihMKXtMPUguX2RhdGFzZXRUb0RyYXdlci5nZXQoTCk7bnVsbCE9TCYmKEw9TC5nZXRWaXN1YWxQcmltaXRpdmVzKCksSy5wdXNoLmFwcGx5KEssTCkpfSk7cmV0dXJuIGwuc2VsZWN0QWxsKEspfTtELnByb3RvdHlwZS5lbnRpdGllcz1mdW5jdGlvbihCKXt2YXIgSD10aGlzO3JldHVybiB0aGlzLl9nZXRFbnRpdHlTdG9yZShCKS5lbnRpdGllcygpLm1hcChmdW5jdGlvbihLKXtyZXR1cm4gSC5fbGlnaHR3ZWlnaHRQbG90RW50aXR5VG9QbG90RW50aXR5KEspfSl9O0QucHJvdG90eXBlLl9nZXRFbnRpdHlTdG9yZT1mdW5jdGlvbihCKXtmdW5jdGlvbiBIKEope3JldHVybiBLLl9lbnRpdHlCb3VuZHMoSil9CnZhciBLPXRoaXM7aWYodm9pZCAwIT09Qil7dmFyIEw9bmV3IHcuRW50aXR5U3RvcmU7TC5hZGRBbGwodGhpcy5fYnVpbGRMaWdodHdlaWdodFBsb3RFbnRpdGllcyhCKSxILHRoaXMuX2xvY2FsT3JpZ2luQm91bmRzKCkpO3JldHVybiBMfXZvaWQgMD09PXRoaXMuX2NhY2hlZEVudGl0eVN0b3JlJiYoTD1uZXcgdy5FbnRpdHlTdG9yZSxMLmFkZEFsbCh0aGlzLl9idWlsZExpZ2h0d2VpZ2h0UGxvdEVudGl0aWVzKHRoaXMuZGF0YXNldHMoKSksSCx0aGlzLl9sb2NhbE9yaWdpbkJvdW5kcygpKSx0aGlzLl9jYWNoZWRFbnRpdHlTdG9yZT1MKTtyZXR1cm4gdGhpcy5fY2FjaGVkRW50aXR5U3RvcmV9O0QucHJvdG90eXBlLl9sb2NhbE9yaWdpbkJvdW5kcz1mdW5jdGlvbigpe3JldHVybnt0b3BMZWZ0Ont4OjAseTowfSxib3R0b21SaWdodDp7eDp0aGlzLndpZHRoKCkseTp0aGlzLmhlaWdodCgpfX19O0QucHJvdG90eXBlLl9lbnRpdHlCb3VuZHM9ZnVuY3Rpb24oQil7Qj10aGlzLl9waXhlbFBvaW50KEIuZGF0dW0sCkIuaW5kZXgsQi5kYXRhc2V0KTtyZXR1cm57eDpCLngseTpCLnksd2lkdGg6MCxoZWlnaHQ6MH19O0QucHJvdG90eXBlLl9saWdodHdlaWdodFBsb3RFbnRpdHlUb1Bsb3RFbnRpdHk9ZnVuY3Rpb24oQil7cmV0dXJue2JvdW5kczp0aGlzLl9lbnRpdHlCb3VuZHMoQiksY29tcG9uZW50OkIuY29tcG9uZW50LGRhdGFzZXQ6Qi5kYXRhc2V0LGRhdGFzZXRJbmRleDpCLmRhdGFzZXRJbmRleCxkYXR1bTpCLmRhdHVtLGluZGV4OkIuaW5kZXgscG9zaXRpb246Qi5wb3NpdGlvbixzZWxlY3Rpb246bC5zZWxlY3QoQi5kcmF3ZXIuZ2V0VmlzdWFsUHJpbWl0aXZlcygpW0IudmFsaWREYXR1bUluZGV4XSl9fTtELnByb3RvdHlwZS5lbnRpdGllc0F0PWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoInBsb3RzIG11c3QgaW1wbGVtZW50IGVudGl0aWVzQXQiKTt9O0QucHJvdG90eXBlLmVudGl0eU5lYXJlc3Q9ZnVuY3Rpb24oQil7Qj10aGlzLl9nZXRFbnRpdHlTdG9yZSgpLmVudGl0eU5lYXJlc3QoQik7CnJldHVybiB2b2lkIDA9PT1CP3ZvaWQgMDp0aGlzLl9saWdodHdlaWdodFBsb3RFbnRpdHlUb1Bsb3RFbnRpdHkoQil9O0QucHJvdG90eXBlLmVudGl0aWVzSW49ZnVuY3Rpb24oQixIKXtyZXR1cm4gdGhpcy5lbnRpdGllc0luQm91bmRzKG51bGw9PUg/e3g6Qi50b3BMZWZ0LngseTpCLnRvcExlZnQueSx3aWR0aDpCLmJvdHRvbVJpZ2h0LngtQi50b3BMZWZ0LngsaGVpZ2h0OkIuYm90dG9tUmlnaHQueS1CLnRvcExlZnQueX06e3g6Qi5taW4seTpILm1pbix3aWR0aDpCLm1heC1CLm1pbixoZWlnaHQ6SC5tYXgtSC5taW59KX07RC5wcm90b3R5cGUuZW50aXRpZXNJbkJvdW5kcz1mdW5jdGlvbihCKXt2YXIgSD10aGlzO2lmKEI9dGhpcy5fZ2V0RW50aXR5U3RvcmUoKS5lbnRpdGllc0luQm91bmRzKEIpKXJldHVybiBCLm1hcChmdW5jdGlvbihLKXtyZXR1cm4gSC5fbGlnaHR3ZWlnaHRQbG90RW50aXR5VG9QbG90RW50aXR5KEspfSl9O0QucHJvdG90eXBlLmVudGl0aWVzSW5YQm91bmRzPQpmdW5jdGlvbihCKXt2YXIgSD10aGlzO2lmKEI9dGhpcy5fZ2V0RW50aXR5U3RvcmUoKS5lbnRpdGllc0luWEJvdW5kcyhCKSlyZXR1cm4gQi5tYXAoZnVuY3Rpb24oSyl7cmV0dXJuIEguX2xpZ2h0d2VpZ2h0UGxvdEVudGl0eVRvUGxvdEVudGl0eShLKX0pfTtELnByb3RvdHlwZS5lbnRpdGllc0luWUJvdW5kcz1mdW5jdGlvbihCKXt2YXIgSD10aGlzO2lmKEI9dGhpcy5fZ2V0RW50aXR5U3RvcmUoKS5lbnRpdGllc0luWUJvdW5kcyhCKSlyZXR1cm4gQi5tYXAoZnVuY3Rpb24oSyl7cmV0dXJuIEguX2xpZ2h0d2VpZ2h0UGxvdEVudGl0eVRvUGxvdEVudGl0eShLKX0pfTtELnByb3RvdHlwZS5fdW5pbnN0YWxsU2NhbGVGb3JLZXk9ZnVuY3Rpb24oQil7Qi5vZmZVcGRhdGUodGhpcy5fcmVuZGVyQ2FsbGJhY2spO0Iub2ZmVXBkYXRlKHRoaXMuX2RlZmVycmVkUmVzZXRFbnRpdHlTdG9yZSk7Qi5yZW1vdmVJbmNsdWRlZFZhbHVlc1Byb3ZpZGVyKHRoaXMuX2luY2x1ZGVkVmFsdWVzUHJvdmlkZXIpfTsKRC5wcm90b3R5cGUuX2luc3RhbGxTY2FsZUZvcktleT1mdW5jdGlvbihCKXtCLm9uVXBkYXRlKHRoaXMuX3JlbmRlckNhbGxiYWNrKTtCLm9uVXBkYXRlKHRoaXMuX2RlZmVycmVkUmVzZXRFbnRpdHlTdG9yZSk7Qi5hZGRJbmNsdWRlZFZhbHVlc1Byb3ZpZGVyKHRoaXMuX2luY2x1ZGVkVmFsdWVzUHJvdmlkZXIpfTtELnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzPWZ1bmN0aW9uKCl7cmV0dXJue319O0QuX3NjYWxlZEFjY2Vzc29yPWZ1bmN0aW9uKEIpe3ZhciBIPUIuc2NhbGUsSz1CLmFjY2Vzc29yLEw9Qi5wb3N0U2NhbGUsSj1udWxsPT1IP0s6ZnVuY3Rpb24oTyxTLE4pe3JldHVybiBILnNjYWxlKEsoTyxTLE4pKX07cmV0dXJuIG51bGw9PUw/SjpmdW5jdGlvbihPLFMsTil7cmV0dXJuIEwoSihPLFMsTiksTyxTLE4pfX07RC5wcm90b3R5cGUuX3BpeGVsUG9pbnQ9ZnVuY3Rpb24oKXtyZXR1cm57eDowLHk6MH19O0QucHJvdG90eXBlLl9hbmltYXRlT25OZXh0UmVuZGVyPQpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hbmltYXRlJiZ0aGlzLl9kYXRhQ2hhbmdlZH07cmV0dXJuIER9KGQuQ29tcG9uZW50KTtoLl9BTklNQVRJT05fTUFYX0RVUkFUSU9OPTYwMDtmLlBsb3Q9aH0sZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsocCl7Zm9yKHZhciBtIGluIHApZi5oYXNPd25Qcm9wZXJ0eShtKXx8KGZbbV09cFttXSl9ZD1oKDEwNSk7Zi5UaWNrR2VuZXJhdG9ycz1kO2soaCg1NCkpO2soaCgxMDEpKTtrKGgoMTAyKSk7ayhoKDEwMykpO2soaCgxMDQpKTtrKGgoMTA2KSk7dmFyIHI9aCg1NCksbD1oKDExKTtmLmlzVHJhbnNmb3JtYWJsZT1mdW5jdGlvbihwKXtyZXR1cm4gcCBpbnN0YW5jZW9mIGwuUXVhbnRpdGF0aXZlU2NhbGV8fHAgaW5zdGFuY2VvZiByLkNhdGVnb3J5fX0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPWgoMSkscj1oKDMwKSxsPWgoMCkscD1oKDEyKTtkPWgoMTApO2YuWEFsaWdubWVudD1kLm1ha2VFbnVtKFsibGVmdCIsImNlbnRlciIsInJpZ2h0Il0pOwpmLllBbGlnbm1lbnQ9ZC5tYWtlRW51bShbInRvcCIsImNlbnRlciIsImJvdHRvbSJdKTtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbSgpe3RoaXMuX292ZXJmbG93SGlkZGVuPSExO3RoaXMuX29yaWdpbj17eDowLHk6MH07dGhpcy5feEFsaWdubWVudD0ibGVmdCI7dGhpcy5feUFsaWdubWVudD0idG9wIjt0aGlzLl9pc0FuY2hvcmVkPXRoaXMuX2lzU2V0dXA9ITE7dGhpcy5fY3NzQ2xhc3Nlcz1uZXcgbC5TZXQ7dGhpcy5fZGVzdHJveWVkPSExO3RoaXMuX29uQW5jaG9yQ2FsbGJhY2tzPW5ldyBsLkNhbGxiYWNrU2V0O3RoaXMuX29uRGV0YWNoQ2FsbGJhY2tzPW5ldyBsLkNhbGxiYWNrU2V0O3RoaXMuX2Nzc0NsYXNzZXMuYWRkKCJjb21wb25lbnQiKX1tLnByb3RvdHlwZS5hbmNob3I9ZnVuY3Rpb24obil7bj1wLmNvZXJjZUV4dGVybmFsRDMobik7aWYodGhpcy5fZGVzdHJveWVkKXRocm93IEVycm9yKCJDYW4ndCByZXVzZSBkZXN0cm95KCktZWQgQ29tcG9uZW50cyEiKTt0aGlzLmlzUm9vdCgpJiYKKHRoaXMuX3Jvb3RFbGVtZW50PW4sdGhpcy5fcm9vdEVsZW1lbnQuY2xhc3NlZCgicGxvdHRhYmxlIiwhMCkpO251bGwhPXRoaXMuX2VsZW1lbnQ/bi5ub2RlKCkuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbWVudC5ub2RlKCkpOih0aGlzLl9lbGVtZW50PW4uYXBwZW5kKCJkaXYiKSx0aGlzLl9zZXR1cCgpKTt0aGlzLl9pc0FuY2hvcmVkPSEwO3RoaXMuX29uQW5jaG9yQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3ModGhpcyk7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLm9uQW5jaG9yPWZ1bmN0aW9uKG4pe3RoaXMuX2lzQW5jaG9yZWQmJm4odGhpcyk7dGhpcy5fb25BbmNob3JDYWxsYmFja3MuYWRkKG4pfTttLnByb3RvdHlwZS5vZmZBbmNob3I9ZnVuY3Rpb24obil7dGhpcy5fb25BbmNob3JDYWxsYmFja3MuZGVsZXRlKG4pfTttLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt2YXIgbj10aGlzO3RoaXMuX2lzU2V0dXB8fCh0aGlzLl9jc3NDbGFzc2VzLmZvckVhY2goZnVuY3Rpb24ocSl7bi5fZWxlbWVudC5jbGFzc2VkKHEsCiEwKX0pLHRoaXMuX2Nzc0NsYXNzZXM9bmV3IGwuU2V0LHRoaXMuX2JhY2tncm91bmRDb250YWluZXI9dGhpcy5fZWxlbWVudC5hcHBlbmQoInN2ZyIpLmNsYXNzZWQoImJhY2tncm91bmQtY29udGFpbmVyIiwhMCksdGhpcy5fY29udGVudD10aGlzLl9lbGVtZW50LmFwcGVuZCgic3ZnIikuY2xhc3NlZCgiY29udGVudCIsITApLHRoaXMuX2ZvcmVncm91bmRDb250YWluZXI9dGhpcy5fZWxlbWVudC5hcHBlbmQoInN2ZyIpLmNsYXNzZWQoImZvcmVncm91bmQtY29udGFpbmVyIiwhMCksdGhpcy5fb3ZlcmZsb3dIaWRkZW4/dGhpcy5fY29udGVudC5jbGFzc2VkKCJjb21wb25lbnQtb3ZlcmZsb3ctaGlkZGVuIiwhMCk6dGhpcy5fY29udGVudC5jbGFzc2VkKCJjb21wb25lbnQtb3ZlcmZsb3ctdmlzaWJsZSIsITApLHRoaXMuX2lzU2V0dXA9ITApfTttLnByb3RvdHlwZS5yZXF1ZXN0ZWRTcGFjZT1mdW5jdGlvbigpe3JldHVybnttaW5XaWR0aDowLG1pbkhlaWdodDowfX07bS5wcm90b3R5cGUuY29tcHV0ZUxheW91dD0KZnVuY3Rpb24obixxLHUpe2lmKG51bGw9PW58fG51bGw9PXF8fG51bGw9PXUpe2lmKG51bGw9PXRoaXMuX2VsZW1lbnQpdGhyb3cgRXJyb3IoImFuY2hvcigpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBjb21wdXRlTGF5b3V0KCkiKTtpZihudWxsIT10aGlzLl9yb290RWxlbWVudCluPXt4OjAseTowfSx1PXRoaXMuX3Jvb3RFbGVtZW50Lm5vZGUoKSxxPWwuRE9NLmVsZW1lbnRXaWR0aCh1KSx1PWwuRE9NLmVsZW1lbnRIZWlnaHQodSk7ZWxzZSB0aHJvdyBFcnJvcigibnVsbCBhcmd1bWVudHMgY2Fubm90IGJlIHBhc3NlZCB0byBjb21wdXRlTGF5b3V0KCkgb24gYSBub24tcm9vdCwgdW5hbmNob3JlZCBub2RlIik7fXZhciB3PXRoaXMuX3NpemVGcm9tT2ZmZXIocSx1KSxBPXcuaGVpZ2h0O3c9dy53aWR0aDt0aGlzLnNldEJvdW5kcyh3LEEsbi54KyhxLXcpKm0uX3hBbGlnblRvUHJvcG9ydGlvblt0aGlzLl94QWxpZ25tZW50XSxuLnkrKHUtQSkqbS5feUFsaWduVG9Qcm9wb3J0aW9uW3RoaXMuX3lBbGlnbm1lbnRdKTsKcmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLnNldEJvdW5kcz1mdW5jdGlvbihuLHEsdSx3KXt2b2lkIDA9PT11JiYodT0wKTt2b2lkIDA9PT13JiYodz0wKTt0aGlzLl93aWR0aD1uO3RoaXMuX2hlaWdodD1xO3RoaXMuX29yaWdpbj17eDp1LHk6d307bnVsbCE9dGhpcy5fZWxlbWVudCYmdGhpcy5fZWxlbWVudC5zdHlsZXMoe2xlZnQ6dSsicHgiLGhlaWdodDpxKyJweCIsdG9wOncrInB4Iix3aWR0aDpuKyJweCJ9KTtudWxsIT10aGlzLl9yZXNpemVIYW5kbGVyJiZ0aGlzLl9yZXNpemVIYW5kbGVyKHt3aWR0aDpuLGhlaWdodDpxfSl9O20ucHJvdG90eXBlLl9zaXplRnJvbU9mZmVyPWZ1bmN0aW9uKG4scSl7dmFyIHU9dGhpcy5yZXF1ZXN0ZWRTcGFjZShuLHEpO3JldHVybnt3aWR0aDp0aGlzLmZpeGVkV2lkdGgoKT9NYXRoLm1pbihuLHUubWluV2lkdGgpOm4saGVpZ2h0OnRoaXMuZml4ZWRIZWlnaHQoKT9NYXRoLm1pbihxLHUubWluSGVpZ2h0KTpxfX07bS5wcm90b3R5cGUucmVuZGVyPQpmdW5jdGlvbigpe3RoaXMuX2lzQW5jaG9yZWQmJnRoaXMuX2lzU2V0dXAmJjA8PXRoaXMud2lkdGgoKSYmMDw9dGhpcy5oZWlnaHQoKSYmci5yZWdpc3RlclRvUmVuZGVyKHRoaXMpO3JldHVybiB0aGlzfTttLnByb3RvdHlwZS5yZW5kZXJMb3dQcmlvcml0eT1mdW5jdGlvbigpe3RoaXMucmVuZGVyKCl9O20ucHJvdG90eXBlLl9zY2hlZHVsZUNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24oKXt0aGlzLl9pc0FuY2hvcmVkJiZ0aGlzLl9pc1NldHVwJiZyLnJlZ2lzdGVyVG9Db21wdXRlTGF5b3V0QW5kUmVuZGVyKHRoaXMpfTttLnByb3RvdHlwZS5vblJlc2l6ZT1mdW5jdGlvbihuKXt0aGlzLl9yZXNpemVIYW5kbGVyPW47cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLnJlZHJhdz1mdW5jdGlvbigpe3RoaXMuX2lzQW5jaG9yZWQmJnRoaXMuX2lzU2V0dXAmJih0aGlzLmlzUm9vdCgpP3RoaXMuX3NjaGVkdWxlQ29tcHV0ZUxheW91dCgpOgp0aGlzLnBhcmVudCgpLnJlZHJhdygpKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUuaW52YWxpZGF0ZUNhY2hlPWZ1bmN0aW9uKCl7fTttLnByb3RvdHlwZS5yZW5kZXJUbz1mdW5jdGlvbihuKXt0aGlzLmRldGFjaCgpO2lmKG51bGwhPW4pe249InN0cmluZyI9PT10eXBlb2Ygbj9rLnNlbGVjdChuKTpuIGluc3RhbmNlb2YgRWxlbWVudD9rLnNlbGVjdChuKTpwLmNvZXJjZUV4dGVybmFsRDMobik7aWYoIW4ubm9kZSgpfHxudWxsPT1uLm5vZGUoKS5ub2RlTmFtZSl0aHJvdyBFcnJvcigiUGxvdHRhYmxlIHJlcXVpcmVzIGEgdmFsaWQgRWxlbWVudCB0byByZW5kZXJUbyIpO2lmKCJzdmciPT09bi5ub2RlKCkubm9kZU5hbWUpdGhyb3cgRXJyb3IoIlBsb3R0YWJsZSAzLnggYW5kIGxhdGVyIGNhbiBvbmx5IHJlbmRlclRvIGFuIEhUTUwgY29tcG9uZW50OyBwYXNzIGEgZGl2IGluc3RlYWQhIik7dGhpcy5hbmNob3Iobil9aWYobnVsbD09dGhpcy5fZWxlbWVudCl0aHJvdyBFcnJvcigiSWYgYSBDb21wb25lbnQgaGFzIG5ldmVyIGJlZW4gcmVuZGVyZWQgYmVmb3JlLCB0aGVuIHJlbmRlclRvIG11c3QgYmUgZ2l2ZW4gYSBub2RlIHRvIHJlbmRlciB0bywgb3IgYSBkMy5TZWxlY3Rpb24sIG9yIGEgc2VsZWN0b3Igc3RyaW5nIik7CnIucmVnaXN0ZXJUb0NvbXB1dGVMYXlvdXRBbmRSZW5kZXIodGhpcyk7ci5mbHVzaCgpfTttLnByb3RvdHlwZS54QWxpZ25tZW50PWZ1bmN0aW9uKG4pe2lmKG51bGw9PW4pcmV0dXJuIHRoaXMuX3hBbGlnbm1lbnQ7bj1uLnRvTG93ZXJDYXNlKCk7aWYobnVsbD09bS5feEFsaWduVG9Qcm9wb3J0aW9uW25dKXRocm93IEVycm9yKCJVbnN1cHBvcnRlZCBhbGlnbm1lbnQ6ICIrbik7dGhpcy5feEFsaWdubWVudD1uO3RoaXMucmVkcmF3KCk7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLnlBbGlnbm1lbnQ9ZnVuY3Rpb24obil7aWYobnVsbD09bilyZXR1cm4gdGhpcy5feUFsaWdubWVudDtuPW4udG9Mb3dlckNhc2UoKTtpZihudWxsPT1tLl95QWxpZ25Ub1Byb3BvcnRpb25bbl0pdGhyb3cgRXJyb3IoIlVuc3VwcG9ydGVkIGFsaWdubWVudDogIituKTt0aGlzLl95QWxpZ25tZW50PW47dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUuaGFzQ2xhc3M9ZnVuY3Rpb24obil7cmV0dXJuIG51bGw9PQpuPyExOm51bGw9PXRoaXMuX2VsZW1lbnQ/dGhpcy5fY3NzQ2xhc3Nlcy5oYXMobik6dGhpcy5fZWxlbWVudC5jbGFzc2VkKG4pfTttLnByb3RvdHlwZS5hZGRDbGFzcz1mdW5jdGlvbihuKXtudWxsIT1uJiYobnVsbD09dGhpcy5fZWxlbWVudD90aGlzLl9jc3NDbGFzc2VzLmFkZChuKTp0aGlzLl9lbGVtZW50LmNsYXNzZWQobiwhMCkpfTttLnByb3RvdHlwZS5yZW1vdmVDbGFzcz1mdW5jdGlvbihuKXtudWxsIT1uJiYobnVsbD09dGhpcy5fZWxlbWVudD90aGlzLl9jc3NDbGFzc2VzLmRlbGV0ZShuKTp0aGlzLl9lbGVtZW50LmNsYXNzZWQobiwhMSkpfTttLnByb3RvdHlwZS5maXhlZFdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuITF9O20ucHJvdG90eXBlLmZpeGVkSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuITF9O20ucHJvdG90eXBlLmRldGFjaD1mdW5jdGlvbigpe3RoaXMucGFyZW50KG51bGwpO3RoaXMuX2lzQW5jaG9yZWQmJnRoaXMuX2VsZW1lbnQucmVtb3ZlKCk7dGhpcy5faXNBbmNob3JlZD0KITE7dGhpcy5fb25EZXRhY2hDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh0aGlzKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUub25EZXRhY2g9ZnVuY3Rpb24obil7dGhpcy5fb25EZXRhY2hDYWxsYmFja3MuYWRkKG4pfTttLnByb3RvdHlwZS5vZmZEZXRhY2g9ZnVuY3Rpb24obil7dGhpcy5fb25EZXRhY2hDYWxsYmFja3MuZGVsZXRlKG4pfTttLnByb3RvdHlwZS5wYXJlbnQ9ZnVuY3Rpb24obil7aWYodm9pZCAwPT09bilyZXR1cm4gdGhpcy5fcGFyZW50O2lmKG51bGwhPT1uJiYhbi5oYXModGhpcykpdGhyb3cgRXJyb3IoIlBhc3NlZCBpbnZhbGlkIHBhcmVudCIpO3RoaXMuX3BhcmVudD1uO3JldHVybiB0aGlzfTttLnByb3RvdHlwZS5ib3VuZHM9ZnVuY3Rpb24oKXt2YXIgbj10aGlzLm9yaWdpbigpO3JldHVybnt0b3BMZWZ0Om4sYm90dG9tUmlnaHQ6e3g6bi54K3RoaXMud2lkdGgoKSx5Om4ueSt0aGlzLmhlaWdodCgpfX19O20ucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLl9kZXN0cm95ZWQ9CiEwO3RoaXMuZGV0YWNoKCl9O20ucHJvdG90eXBlLndpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dpZHRofTttLnByb3RvdHlwZS5oZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faGVpZ2h0fTttLnByb3RvdHlwZS5vcmlnaW49ZnVuY3Rpb24oKXtyZXR1cm57eDp0aGlzLl9vcmlnaW4ueCx5OnRoaXMuX29yaWdpbi55fX07bS5wcm90b3R5cGUub3JpZ2luVG9Sb290PWZ1bmN0aW9uKCl7Zm9yKHZhciBuPXRoaXMub3JpZ2luKCkscT10aGlzLnBhcmVudCgpO251bGwhPXE7KXt2YXIgdT1xLm9yaWdpbigpO24ueCs9dS54O24ueSs9dS55O3E9cS5wYXJlbnQoKX1yZXR1cm4gbn07bS5wcm90b3R5cGUucm9vdD1mdW5jdGlvbigpe2Zvcih2YXIgbj10aGlzOyFuLmlzUm9vdCgpOyluPW4ucGFyZW50KCk7cmV0dXJuIG59O20ucHJvdG90eXBlLmlzUm9vdD1mdW5jdGlvbigpe3JldHVybiBudWxsPT10aGlzLnBhcmVudCgpfTttLnByb3RvdHlwZS5mb3JlZ3JvdW5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ZvcmVncm91bmRDb250YWluZXJ9OwptLnByb3RvdHlwZS5jb250ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbnRlbnR9O20ucHJvdG90eXBlLmVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZWxlbWVudH07bS5wcm90b3R5cGUucm9vdEVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yb290KCkuX3Jvb3RFbGVtZW50fTttLnByb3RvdHlwZS5iYWNrZ3JvdW5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JhY2tncm91bmRDb250YWluZXJ9O3JldHVybiBtfSgpO2QuX3hBbGlnblRvUHJvcG9ydGlvbj17bGVmdDowLGNlbnRlcjouNSxyaWdodDoxfTtkLl95QWxpZ25Ub1Byb3BvcnRpb249e3RvcDowLGNlbnRlcjouNSxib3R0b206MX07Zi5Db21wb25lbnQ9ZH0sZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsocil7Zm9yKHZhciBsIGluIHIpZi5oYXNPd25Qcm9wZXJ0eShsKXx8KGZbbF09cltsXSl9ayhoKDU5KSk7ayhoKDYyKSk7ayhoKDEzMykpO2soaCgyMSkpO2soaCg2NCkpO2soaCg2NikpfSwKZnVuY3Rpb24oZCxmKXtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChrLHIpe3RoaXMuX3N2Z0RyYXdlckZhY3Rvcnk9azt0aGlzLl9jYW52YXNEcmF3ZXJGYWN0b3J5PXJ9aC5wcm90b3R5cGUudXNlU1ZHPWZ1bmN0aW9uKGspe251bGwhPXRoaXMuX2N1cnJlbnREcmF3ZXImJnRoaXMuX2N1cnJlbnREcmF3ZXIucmVtb3ZlKCk7dmFyIHI9dGhpcy5fc3ZnRHJhd2VyRmFjdG9yeSgpO3IuYXR0YWNoVG8oayk7dGhpcy5fY3VycmVudERyYXdlcj1yfTtoLnByb3RvdHlwZS51c2VDYW52YXM9ZnVuY3Rpb24oayl7bnVsbCE9dGhpcy5fY3VycmVudERyYXdlciYmdGhpcy5fY3VycmVudERyYXdlci5yZW1vdmUoKTt0aGlzLl9jdXJyZW50RHJhd2VyPXRoaXMuX2NhbnZhc0RyYXdlckZhY3Rvcnkoay5ub2RlKCkuZ2V0Q29udGV4dCgiMmQiKSl9O2gucHJvdG90eXBlLmdldERyYXdlcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jdXJyZW50RHJhd2VyfTtoLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXtudWxsIT0KdGhpcy5fY3VycmVudERyYXdlciYmdGhpcy5fY3VycmVudERyYXdlci5yZW1vdmUoKX07aC5wcm90b3R5cGUuZHJhdz1mdW5jdGlvbihrLHIpe3RoaXMuX2N1cnJlbnREcmF3ZXIuZHJhdyhrLHIpfTtoLnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnREcmF3ZXIuZ2V0VmlzdWFsUHJpbWl0aXZlcygpfTtoLnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4PWZ1bmN0aW9uKGspe3JldHVybiB0aGlzLl9jdXJyZW50RHJhd2VyLmdldFZpc3VhbFByaW1pdGl2ZUF0SW5kZXgoayl9O3JldHVybiBofSgpO2YuUHJveHlEcmF3ZXI9ZH0sZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsocil7Zm9yKHZhciBsIGluIHIpZi5oYXNPd25Qcm9wZXJ0eShsKXx8KGZbbF09cltsXSl9ayhoKDcwKSk7ayhoKDcxKSl9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHApe3ZvaWQgMD09PXAmJihwPTMpO3IocCk7cmV0dXJuIGZ1bmN0aW9uKG0pe3JldHVybiBtLnRvRml4ZWQocCl9fQpmdW5jdGlvbiByKHApe2lmKDA+cHx8MjA8cCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRm9ybWF0dGVyIHByZWNpc2lvbiBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMjAiKTtpZihwIT09TWF0aC5mbG9vcihwKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRm9ybWF0dGVyIHByZWNpc2lvbiBtdXN0IGJlIGFuIGludGVnZXIiKTt9dmFyIGw9aCgxKTtmLmN1cnJlbmN5PWZ1bmN0aW9uKHAsbSxuKXt2b2lkIDA9PT1wJiYocD0yKTt2b2lkIDA9PT1tJiYobT0iJCIpO3ZvaWQgMD09PW4mJihuPSEwKTt2YXIgcT1rKHApO3JldHVybiBmdW5jdGlvbih1KXt2YXIgdz1xKE1hdGguYWJzKHUpKTsiIiE9PXcmJih3PW4/bSt3OncrbSwwPnUmJih3PSItIit3KSk7cmV0dXJuIHd9fTtmLmZpeGVkPWs7Zi5nZW5lcmFsPWZ1bmN0aW9uKCl7dmFyIHA7dm9pZCAwPT09cCYmKHA9Myk7cihwKTtyZXR1cm4gZnVuY3Rpb24obSl7aWYoIm51bWJlciI9PT10eXBlb2YgbSl7dmFyIG49TWF0aC5wb3coMTAscCk7cmV0dXJuIFN0cmluZyhNYXRoLnJvdW5kKG0qCm4pL24pfXJldHVybiBTdHJpbmcobSl9fTtmLmlkZW50aXR5PWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHApe3JldHVybiBTdHJpbmcocCl9fTtmLnBlcmNlbnRhZ2U9ZnVuY3Rpb24ocCl7dm9pZCAwPT09cCYmKHA9MCk7dmFyIG09ayhwKTtyZXR1cm4gZnVuY3Rpb24obil7dmFyIHE9bi50b1N0cmluZygpO3E9TWF0aC5wb3coMTAscS5sZW5ndGgtKHEuaW5kZXhPZigiLiIpKzEpKTtyZXR1cm4gbShwYXJzZUludCgoMTAwKm4qcSkudG9TdHJpbmcoKSwxMCkvcSkrIiUifX07Zi5zaVN1ZmZpeD1mdW5jdGlvbihwKXt2b2lkIDA9PT1wJiYocD0zKTtyKHApO3JldHVybiBmdW5jdGlvbihtKXtyZXR1cm4gbC5mb3JtYXQoIi4iK3ArInMiKShtKX19O2Yuc2hvcnRTY2FsZT1mdW5jdGlvbihwKXt2b2lkIDA9PT1wJiYocD0zKTtyKHApO3ZhciBtPWwuZm9ybWF0KCIuIitwKyJlIiksbj1sLmZvcm1hdCgiLiIrcCsiZiIpLHE9TWF0aC5wb3coMTAsMTgpLHU9TWF0aC5wb3coMTAsLXApOwpyZXR1cm4gZnVuY3Rpb24odyl7dmFyIEE9TWF0aC5hYnModyk7aWYoKEE8dXx8QT49cSkmJjAhPT1BKXJldHVybiBtKHcpO2Zvcih2YXIgeT0tMTtBPj1NYXRoLnBvdygxRTMseSsyKSYmND55Oyl5Kys7QT0tMT09PXk/bih3KTpuKHcvTWF0aC5wb3coMUUzLHkrMSkpKyJLTUJUUSJbeV07aWYoMDx3JiYiMTAwMCI9PT1BLnN1YnN0cigwLDQpfHwwPncmJiItMTAwMCI9PT1BLnN1YnN0cigwLDUpKTQ+eT8oeSsrLEE9bih3L01hdGgucG93KDFFMyx5KzEpKSsiS01CVFEiW3ldKTpBPW0odyk7cmV0dXJuIEF9fTtmLm11bHRpVGltZT1mdW5jdGlvbigpe3ZhciBwPVt7c3BlY2lmaWVyOiIuJUwiLHByZWRpY2F0ZTpmdW5jdGlvbihtKXtyZXR1cm4gMCE9PW0uZ2V0TWlsbGlzZWNvbmRzKCl9fSx7c3BlY2lmaWVyOiI6JVMiLHByZWRpY2F0ZTpmdW5jdGlvbihtKXtyZXR1cm4gMCE9PW0uZ2V0U2Vjb25kcygpfX0se3NwZWNpZmllcjoiJUk6JU0iLHByZWRpY2F0ZTpmdW5jdGlvbihtKXtyZXR1cm4gMCE9PQptLmdldE1pbnV0ZXMoKX19LHtzcGVjaWZpZXI6IiVJICVwIixwcmVkaWNhdGU6ZnVuY3Rpb24obSl7cmV0dXJuIDAhPT1tLmdldEhvdXJzKCl9fSx7c3BlY2lmaWVyOiIlYSAlZCIscHJlZGljYXRlOmZ1bmN0aW9uKG0pe3JldHVybiAwIT09bS5nZXREYXkoKSYmMSE9PW0uZ2V0RGF0ZSgpfX0se3NwZWNpZmllcjoiJWIgJWQiLHByZWRpY2F0ZTpmdW5jdGlvbihtKXtyZXR1cm4gMSE9PW0uZ2V0RGF0ZSgpfX0se3NwZWNpZmllcjoiJWIiLHByZWRpY2F0ZTpmdW5jdGlvbihtKXtyZXR1cm4gMCE9PW0uZ2V0TW9udGgoKX19XTtyZXR1cm4gZnVuY3Rpb24obSl7dmFyIG49cC5maWx0ZXIoZnVuY3Rpb24ocSl7cmV0dXJuIHEucHJlZGljYXRlKG0pfSk7cmV0dXJuIGwudGltZUZvcm1hdCgwPG4ubGVuZ3RoP25bMF0uc3BlY2lmaWVyOiIlWSIpKG0pfX07Zi50aW1lPWZ1bmN0aW9uKHApe3JldHVybiBsLnRpbWVGb3JtYXQocCl9fSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9aCgxKSxyPWgoMCk7CmQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBsKHAsbSl7dGhpcy5fcm9vdD1rLnNlbGVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpKTt0aGlzLl9jbGFzc05hbWU9bTt0aGlzLl9zdmdFbGVtZW50TmFtZT1wfWwucHJvdG90eXBlLmRyYXc9ZnVuY3Rpb24ocCxtKXt2YXIgbj10aGlzO3RoaXMuX2NyZWF0ZUFuZERlc3Ryb3lET01FbGVtZW50cyhwKTt2YXIgcT0wO20uZm9yRWFjaChmdW5jdGlvbih1KXtyLldpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIG4uX2RyYXdTdGVwKHUpfSxxKTtxKz11LmFuaW1hdG9yLnRvdGFsVGltZShwLmxlbmd0aCl9KX07bC5wcm90b3R5cGUuZ2V0VmlzdWFsUHJpbWl0aXZlcz1mdW5jdGlvbigpe251bGw9PXRoaXMuX2NhY2hlZFZpc3VhbFByaW1pdGl2ZXNOb2RlcyYmKHRoaXMuX2NhY2hlZFZpc3VhbFByaW1pdGl2ZXNOb2Rlcz10aGlzLl9zZWxlY3Rpb24ubm9kZXMoKSk7cmV0dXJuIHRoaXMuX2NhY2hlZFZpc3VhbFByaW1pdGl2ZXNOb2Rlc307CmwucHJvdG90eXBlLmdldFZpc3VhbFByaW1pdGl2ZUF0SW5kZXg9ZnVuY3Rpb24ocCl7cmV0dXJuIHRoaXMuZ2V0VmlzdWFsUHJpbWl0aXZlcygpW3BdfTtsLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt0aGlzLl9yb290LnJlbW92ZSgpfTtsLnByb3RvdHlwZS5hdHRhY2hUbz1mdW5jdGlvbihwKXtwLm5vZGUoKS5hcHBlbmRDaGlsZCh0aGlzLl9yb290Lm5vZGUoKSl9O2wucHJvdG90eXBlLmdldFJvb3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcm9vdH07bC5wcm90b3R5cGUuc2VsZWN0b3I9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3ZnRWxlbWVudE5hbWV9O2wucHJvdG90eXBlLl9hcHBseURlZmF1bHRBdHRyaWJ1dGVzPWZ1bmN0aW9uKCl7fTtsLnByb3RvdHlwZS5fY3JlYXRlQW5kRGVzdHJveURPTUVsZW1lbnRzPWZ1bmN0aW9uKHApe3A9cC5maWx0ZXIoZnVuY3Rpb24obSl7cmV0dXJuIG51bGwhPW19KTtwPXRoaXMuX3Jvb3Quc2VsZWN0QWxsKHRoaXMuc2VsZWN0b3IoKSkuZGF0YShwKTsKdGhpcy5fc2VsZWN0aW9uPXAuZW50ZXIoKS5hcHBlbmQodGhpcy5fc3ZnRWxlbWVudE5hbWUpLm1lcmdlKHApO3AuZXhpdCgpLnJlbW92ZSgpO3RoaXMuX2NhY2hlZFZpc3VhbFByaW1pdGl2ZXNOb2Rlcz1udWxsO251bGwhPXRoaXMuX2NsYXNzTmFtZSYmdGhpcy5fc2VsZWN0aW9uLmNsYXNzZWQodGhpcy5fY2xhc3NOYW1lLCEwKTt0aGlzLl9hcHBseURlZmF1bHRBdHRyaWJ1dGVzKHRoaXMuX3NlbGVjdGlvbil9O2wucHJvdG90eXBlLl9kcmF3U3RlcD1mdW5jdGlvbihwKXt2YXIgbT10aGlzO1siZmlsbCIsInN0cm9rZSJdLmZvckVhY2goZnVuY3Rpb24obil7bnVsbCE9cC5hdHRyVG9BcHBsaWVkUHJvamVjdG9yW25dJiZtLl9zZWxlY3Rpb24uYXR0cihuLHAuYXR0clRvQXBwbGllZFByb2plY3RvcltuXSl9KTtwLmFuaW1hdG9yLmFuaW1hdGUodGhpcy5fc2VsZWN0aW9uLHAuYXR0clRvQXBwbGllZFByb2plY3Rvcik7bnVsbCE9dGhpcy5fY2xhc3NOYW1lJiZ0aGlzLl9zZWxlY3Rpb24uY2xhc3NlZCh0aGlzLl9jbGFzc05hbWUsCiEwKX07cmV0dXJuIGx9KCk7Zi5TVkdEcmF3ZXI9ZH0sZnVuY3Rpb24oZCxmKXtmLm1ha2VFbnVtPWZ1bmN0aW9uKGgpe3JldHVybiBoLnJlZHVjZShmdW5jdGlvbihrLHIpe2tbcl09cjtyZXR1cm4ga30se30pfX0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihtLG4pe2Z1bmN0aW9uIHEoKXt0aGlzLmNvbnN0cnVjdG9yPW19Zm9yKHZhciB1IGluIG4pbi5oYXNPd25Qcm9wZXJ0eSh1KSYmKG1bdV09blt1XSk7bS5wcm90b3R5cGU9bnVsbD09PW4/T2JqZWN0LmNyZWF0ZShuKToocS5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IHEpfSxyPWgoMSksbD1oKDI2KSxwPWgoMCk7ZD1mdW5jdGlvbihtKXtmdW5jdGlvbiBuKCl7dmFyIHE9bS5jYWxsKHRoaXMpfHx0aGlzO3EuX3RpY2tHZW5lcmF0b3I9ZnVuY3Rpb24odSl7cmV0dXJuIHUuZGVmYXVsdFRpY2tzKCl9O3EuX3BhZFByb3BvcnRpb249LjA1O3EuX3NuYXBwaW5nRG9tYWluRW5hYmxlZD0KITA7cS5fcGFkZGluZ0V4Y2VwdGlvbnNQcm92aWRlcnM9bmV3IHAuU2V0O3JldHVybiBxfWsobixtKTtuLnByb3RvdHlwZS5hdXRvRG9tYWluPWZ1bmN0aW9uKCl7dGhpcy5fZG9tYWluTWF4PXRoaXMuX2RvbWFpbk1pbj1udWxsO20ucHJvdG90eXBlLmF1dG9Eb21haW4uY2FsbCh0aGlzKX07bi5wcm90b3R5cGUuX2F1dG9Eb21haW5JZkF1dG9tYXRpY01vZGU9ZnVuY3Rpb24oKXtpZihudWxsIT10aGlzLl9kb21haW5NaW4mJm51bGwhPXRoaXMuX2RvbWFpbk1heCl0aGlzLl9zZXREb21haW4oW3RoaXMuX2RvbWFpbk1pbix0aGlzLl9kb21haW5NYXhdKTtlbHNle3ZhciBxPXRoaXMuX2dldEV4dGVudCgpO251bGwhPXRoaXMuX2RvbWFpbk1pbj8ocT1xWzFdLHRoaXMuX2RvbWFpbk1pbj49cSYmKHE9dGhpcy5fZXhwYW5kU2luZ2xlVmFsdWVEb21haW4oW3RoaXMuX2RvbWFpbk1pbix0aGlzLl9kb21haW5NaW5dKVsxXSksdGhpcy5fc2V0RG9tYWluKFt0aGlzLl9kb21haW5NaW4scV0pKToKbnVsbCE9dGhpcy5fZG9tYWluTWF4PyhxPXFbMF0sdGhpcy5fZG9tYWluTWF4PD1xJiYocT10aGlzLl9leHBhbmRTaW5nbGVWYWx1ZURvbWFpbihbdGhpcy5fZG9tYWluTWF4LHRoaXMuX2RvbWFpbk1heF0pWzBdKSx0aGlzLl9zZXREb21haW4oW3EsdGhpcy5fZG9tYWluTWF4XSkpOm0ucHJvdG90eXBlLl9hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlLmNhbGwodGhpcyl9fTtuLnByb3RvdHlwZS5fZ2V0VW5ib3VuZGVkRXh0ZW50PWZ1bmN0aW9uKHEpe3ZvaWQgMD09PXEmJihxPSExKTtxPXRoaXMuX2dldEFsbEluY2x1ZGVkVmFsdWVzKHEpO3ZhciB1PXRoaXMuX2RlZmF1bHRFeHRlbnQoKTswIT09cS5sZW5ndGgmJihxPVtwLk1hdGgubWluKHEsdVswXSkscC5NYXRoLm1heChxLHVbMV0pXSx1PXRoaXMuX3BhZERvbWFpbihxKSk7cmV0dXJuIHV9O24ucHJvdG90eXBlLl9nZXRFeHRlbnQ9ZnVuY3Rpb24oKXt2YXIgcT10aGlzLl9nZXRVbmJvdW5kZWRFeHRlbnQoKTtudWxsIT10aGlzLl9kb21haW5NaW4mJgoocVswXT10aGlzLl9kb21haW5NaW4pO251bGwhPXRoaXMuX2RvbWFpbk1heCYmKHFbMV09dGhpcy5fZG9tYWluTWF4KTtyZXR1cm4gcX07bi5wcm90b3R5cGUuYWRkUGFkZGluZ0V4Y2VwdGlvbnNQcm92aWRlcj1mdW5jdGlvbihxKXt0aGlzLl9wYWRkaW5nRXhjZXB0aW9uc1Byb3ZpZGVycy5hZGQocSk7dGhpcy5fYXV0b0RvbWFpbklmQXV0b21hdGljTW9kZSgpfTtuLnByb3RvdHlwZS5yZW1vdmVQYWRkaW5nRXhjZXB0aW9uc1Byb3ZpZGVyPWZ1bmN0aW9uKHEpe3RoaXMuX3BhZGRpbmdFeGNlcHRpb25zUHJvdmlkZXJzLmRlbGV0ZShxKTt0aGlzLl9hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlKCl9O24ucHJvdG90eXBlLnBhZFByb3BvcnRpb249ZnVuY3Rpb24ocSl7aWYobnVsbD09cSlyZXR1cm4gdGhpcy5fcGFkUHJvcG9ydGlvbjtpZigwPnEpdGhyb3cgRXJyb3IoInBhZFByb3BvcnRpb24gbXVzdCBiZSBub24tbmVnYXRpdmUiKTt0aGlzLl9wYWRQcm9wb3J0aW9uPXE7dGhpcy5fYXV0b0RvbWFpbklmQXV0b21hdGljTW9kZSgpOwpyZXR1cm4gdGhpc307bi5wcm90b3R5cGUuX3BhZERvbWFpbj1mdW5jdGlvbihxKXt2YXIgdT10aGlzO2lmKHFbMF0udmFsdWVPZigpPT09cVsxXS52YWx1ZU9mKCkpcmV0dXJuIHRoaXMuX2V4cGFuZFNpbmdsZVZhbHVlRG9tYWluKHEpO2lmKDA9PT10aGlzLl9wYWRQcm9wb3J0aW9uKXJldHVybiBxO3ZhciB3PXRoaXMuX3BhZFByb3BvcnRpb24vMixBPXFbMF0seT1xWzFdLHg9ITEsQz0hMTt0aGlzLl9wYWRkaW5nRXhjZXB0aW9uc1Byb3ZpZGVycy5mb3JFYWNoKGZ1bmN0aW9uKEQpe0QodSkuZm9yRWFjaChmdW5jdGlvbihCKXtCLnZhbHVlT2YoKT09PUEudmFsdWVPZigpJiYoeD0hMCk7Qi52YWx1ZU9mKCk9PT15LnZhbHVlT2YoKSYmKEM9ITApfSl9KTt2YXIgRz10aGlzLl9iYWNraW5nU2NhbGVEb21haW4oKTt0aGlzLl9iYWNraW5nU2NhbGVEb21haW4ocSk7cT14P0E6dGhpcy5pbnZlcnQodGhpcy5zY2FsZShBKS0odGhpcy5zY2FsZSh5KS10aGlzLnNjYWxlKEEpKSp3KTt3PUM/Cnk6dGhpcy5pbnZlcnQodGhpcy5zY2FsZSh5KSsodGhpcy5zY2FsZSh5KS10aGlzLnNjYWxlKEEpKSp3KTt0aGlzLl9iYWNraW5nU2NhbGVEb21haW4oRyk7cmV0dXJuIHRoaXMuX3NuYXBwaW5nRG9tYWluRW5hYmxlZD90aGlzLl9uaWNlRG9tYWluKFtxLHddKTpbcSx3XX07bi5wcm90b3R5cGUuc25hcHBpbmdEb21haW5FbmFibGVkPWZ1bmN0aW9uKHEpe251bGwhPXEmJih0aGlzLl9zbmFwcGluZ0RvbWFpbkVuYWJsZWQ9cSx0aGlzLl9hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlKCkpfTtuLnByb3RvdHlwZS5fZXhwYW5kU2luZ2xlVmFsdWVEb21haW49ZnVuY3Rpb24ocSl7cmV0dXJuIHF9O24ucHJvdG90eXBlLmludmVydD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBpbnZlcnQiKTt9O24ucHJvdG90eXBlLmRvbWFpbj1mdW5jdGlvbihxKXtudWxsIT1xJiYodGhpcy5fZG9tYWluTWluPXFbMF0sdGhpcy5fZG9tYWluTWF4PXFbMV0pOwpyZXR1cm4gbS5wcm90b3R5cGUuZG9tYWluLmNhbGwodGhpcyxxKX07bi5wcm90b3R5cGUuZG9tYWluTWluPWZ1bmN0aW9uKHEpe2lmKG51bGw9PXEpcmV0dXJuIHRoaXMuZG9tYWluKClbMF07dGhpcy5fZG9tYWluTWluPXE7dGhpcy5fYXV0b0RvbWFpbklmQXV0b21hdGljTW9kZSgpO3JldHVybiB0aGlzfTtuLnByb3RvdHlwZS5kb21haW5NYXg9ZnVuY3Rpb24ocSl7aWYobnVsbD09cSlyZXR1cm4gdGhpcy5kb21haW4oKVsxXTt0aGlzLl9kb21haW5NYXg9cTt0aGlzLl9hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlKCk7cmV0dXJuIHRoaXN9O24ucHJvdG90eXBlLmV4dGVudE9mVmFsdWVzPWZ1bmN0aW9uKHEpe3E9ci5leHRlbnQocS5maWx0ZXIoZnVuY3Rpb24odSl7cmV0dXJuIHAuTWF0aC5pc1ZhbGlkTnVtYmVyKCt1KX0pKTtyZXR1cm4gbnVsbD09cVswXXx8bnVsbD09cVsxXT9bXTpxfTtuLnByb3RvdHlwZS56b29tPWZ1bmN0aW9uKHEsdSl7dmFyIHc9dGhpczt0aGlzLmRvbWFpbih0aGlzLnJhbmdlKCkubWFwKGZ1bmN0aW9uKEEpe3JldHVybiB3LmludmVydChsLnpvb21PdXQoQSwKcSx1KSl9KSl9O24ucHJvdG90eXBlLnBhbj1mdW5jdGlvbihxKXt2YXIgdT10aGlzO3RoaXMuZG9tYWluKHRoaXMucmFuZ2UoKS5tYXAoZnVuY3Rpb24odyl7cmV0dXJuIHUuaW52ZXJ0KHcrcSl9KSl9O24ucHJvdG90eXBlLnNjYWxlVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgc2NhbGVUcmFuc2Zvcm1hdGlvbiIpO307bi5wcm90b3R5cGUuaW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBpbnZlcnRlZFRyYW5zZm9ybWF0aW9uIik7fTtuLnByb3RvdHlwZS5nZXRUcmFuc2Zvcm1hdGlvbkV4dGVudD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBnZXRUcmFuc2Zvcm1hdGlvbkV4dGVudCIpO307bi5wcm90b3R5cGUuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4iKTsKfTtuLnByb3RvdHlwZS5zZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbj1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBzZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbiIpO307bi5wcm90b3R5cGUuX3NldERvbWFpbj1mdW5jdGlvbihxKXtmdW5jdGlvbiB1KHcpe3JldHVybiBwLk1hdGguaXNOYU4odyl8fEluZmluaXR5PT09d3x8LUluZmluaXR5PT09d311KHFbMF0pfHx1KHFbMV0pP3AuV2luZG93Lndhcm4oIldhcm5pbmc6IFF1YW50aXRhdGl2ZVNjYWxlcyBjYW5ub3QgdGFrZSBOYU4gb3IgSW5maW5pdHkgYXMgYSBkb21haW4gdmFsdWUuIElnbm9yaW5nLiIpOm0ucHJvdG90eXBlLl9zZXREb21haW4uY2FsbCh0aGlzLHEpfTtuLnByb3RvdHlwZS5kZWZhdWx0VGlja3M9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgX2dldERlZmF1bHRUaWNrcyIpO307bi5wcm90b3R5cGUudGlja3M9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGlja0dlbmVyYXRvcih0aGlzKX07Cm4ucHJvdG90eXBlLl9uaWNlRG9tYWluPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIlN1YmNsYXNzZXMgc2hvdWxkIG92ZXJyaWRlIF9uaWNlRG9tYWluIik7fTtuLnByb3RvdHlwZS5fZGVmYXVsdEV4dGVudD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBfZGVmYXVsdEV4dGVudCIpO307bi5wcm90b3R5cGUudGlja0dlbmVyYXRvcj1mdW5jdGlvbigpe3ZhciBxPVBsb3R0YWJsZS5TY2FsZXMuVGlja0dlbmVyYXRvcnMuaW50ZWdlclRpY2tHZW5lcmF0b3IoKTtudWxsIT1xJiYodGhpcy5fdGlja0dlbmVyYXRvcj1xKX07cmV0dXJuIG59KGgoMTcpLlNjYWxlKTtkLl9ERUZBVUxUX05VTV9USUNLUz0xMDtmLlF1YW50aXRhdGl2ZVNjYWxlPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz1oKDEpO2YuY29lcmNlRXh0ZXJuYWxEMz1mdW5jdGlvbihyKXtpZihudWxsPT1yLmF0dHJzKXtpZihudWxsPT1yLm5vZGVzKXt2YXIgbD1bXTtyLmVhY2goZnVuY3Rpb24oKXtsLnB1c2godGhpcyl9KTsKcmV0dXJuIGsuc2VsZWN0QWxsKGwpfXJldHVybiBrLnNlbGVjdEFsbChyLm5vZGVzKCkpfXJldHVybiByfX0sZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsocil7Zm9yKHZhciBsIGluIHIpZi5oYXNPd25Qcm9wZXJ0eShsKXx8KGZbbF09cltsXSl9ayhoKDgzKSk7ayhoKDg0KSk7ayhoKDg1KSl9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHIpe2Zvcih2YXIgbCBpbiByKWYuaGFzT3duUHJvcGVydHkobCl8fChmW2xdPXJbbF0pfWsoaCg0NCkpO2soaCg0NSkpO2soaCg0NikpO2soaCgxOCkpO2soaCg2KSk7ayhoKDMzKSk7ayhoKDM0KSk7ayhoKDQ3KSk7ayhoKDkpKTtrKGgoNDgpKX0sZnVuY3Rpb24oZCxmKXtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaCgpe3ZhciBrPXRoaXM7dGhpcy5fYW5jaG9yQ2FsbGJhY2s9ZnVuY3Rpb24ocil7cmV0dXJuIGsuX2FuY2hvcihyKX07dGhpcy5fZW5hYmxlZD0hMH1oLnByb3RvdHlwZS5hdHRhY2hUbz1mdW5jdGlvbihrKXt0aGlzLl9kaXNjb25uZWN0KCk7CnRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG89azt0aGlzLl9jb25uZWN0KCk7cmV0dXJuIHRoaXN9O2gucHJvdG90eXBlLmRldGFjaEZyb209ZnVuY3Rpb24oKXt0aGlzLmRldGFjaCgpfTtoLnByb3RvdHlwZS5kZXRhY2g9ZnVuY3Rpb24oKXt0aGlzLl9kaXNjb25uZWN0KCk7dGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbz1udWxsO3JldHVybiB0aGlzfTtoLnByb3RvdHlwZS5lbmFibGVkPWZ1bmN0aW9uKGspe2lmKG51bGw9PWspcmV0dXJuIHRoaXMuX2VuYWJsZWQ7KHRoaXMuX2VuYWJsZWQ9ayk/dGhpcy5fY29ubmVjdCgpOnRoaXMuX2Rpc2Nvbm5lY3QoKTtyZXR1cm4gdGhpc307aC5wcm90b3R5cGUuX2FuY2hvcj1mdW5jdGlvbigpe3RoaXMuX2lzQW5jaG9yZWQ9ITB9O2gucHJvdG90eXBlLl91bmFuY2hvcj1mdW5jdGlvbigpe3RoaXMuX2lzQW5jaG9yZWQ9ITF9O2gucHJvdG90eXBlLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlPWZ1bmN0aW9uKGspe3ZhciByPXRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8ub3JpZ2luVG9Sb290KCk7CnJldHVybnt4OmsueC1yLngseTprLnktci55fX07aC5wcm90b3R5cGUuX2lzSW5zaWRlQ29tcG9uZW50PWZ1bmN0aW9uKGspe3JldHVybiAwPD1rLngmJjA8PWsueSYmay54PD10aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvLndpZHRoKCkmJmsueTw9dGhpcy5fY29tcG9uZW50QXR0YWNoZWRUby5oZWlnaHQoKX07aC5wcm90b3R5cGUuX2Nvbm5lY3Q9ZnVuY3Rpb24oKXtpZih0aGlzLmVuYWJsZWQoKSYmbnVsbCE9dGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbyYmIXRoaXMuX2lzQW5jaG9yZWQpdGhpcy5fY29tcG9uZW50QXR0YWNoZWRUby5vbkFuY2hvcih0aGlzLl9hbmNob3JDYWxsYmFjayl9O2gucHJvdG90eXBlLl9kaXNjb25uZWN0PWZ1bmN0aW9uKCl7dGhpcy5faXNBbmNob3JlZCYmdGhpcy5fdW5hbmNob3IoKTtudWxsIT10aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvJiZ0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvLm9mZkFuY2hvcih0aGlzLl9hbmNob3JDYWxsYmFjayl9O3JldHVybiBofSgpOwpmLkludGVyYWN0aW9uPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24obixxKXtmdW5jdGlvbiB1KCl7dGhpcy5jb25zdHJ1Y3Rvcj1ufWZvcih2YXIgdyBpbiBxKXEuaGFzT3duUHJvcGVydHkodykmJihuW3ddPXFbd10pO24ucHJvdG90eXBlPW51bGw9PT1xP09iamVjdC5jcmVhdGUocSk6KHUucHJvdG90eXBlPXEucHJvdG90eXBlLG5ldyB1KX0scj1oKDMpLGw9aCgwKSxwPWgoNTIpLG09aCgyKTtkPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHEoKXt2YXIgdT1uLmNhbGwodGhpcyl8fHRoaXM7dS5fYXV0b0FkanVzdFhTY2FsZURvbWFpbj0hMTt1Ll9hdXRvQWRqdXN0WVNjYWxlRG9tYWluPSExO3UuX2RlZmVycmVkUmVuZGVyaW5nPSExO3UuX2FwcGx5RGVmZXJyZWRSZW5kZXJpbmdUcmFuc2Zvcm09ZnVuY3Rpb24odyxBLHkseCl7dS5faXNBbmNob3JlZCYmKG51bGwhPXUuX3JlbmRlckFyZWEmJnUuX3JlbmRlckFyZWEuYXR0cigidHJhbnNmb3JtIiwKInRyYW5zbGF0ZSgiK3crIiwgIitBKyIpIHNjYWxlKCIreSsiLCAiK3grIikiKSxudWxsIT11Ll9jYW52YXMmJnUuX2NhbnZhcy5zdHlsZSgidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrdysicHgsICIrQSsicHgpIHNjYWxlKCIreSsiLCAiK3grIikiKSl9O3UuYWRkQ2xhc3MoInh5LXBsb3QiKTt1Ll9hZGp1c3RZRG9tYWluT25DaGFuZ2VGcm9tWENhbGxiYWNrPWZ1bmN0aW9uKCl7cmV0dXJuIHUuX2FkanVzdFlEb21haW5PbkNoYW5nZUZyb21YKCl9O3UuX2FkanVzdFhEb21haW5PbkNoYW5nZUZyb21ZQ2FsbGJhY2s9ZnVuY3Rpb24oKXtyZXR1cm4gdS5fYWRqdXN0WERvbWFpbk9uQ2hhbmdlRnJvbVkoKX07dS5fcmVuZGVyQ2FsbGJhY2s9ZnVuY3Rpb24oKXtpZih1LmRlZmVycmVkUmVuZGVyaW5nKCkpe3ZhciB3PXUueCgpJiZ1LngoKS5zY2FsZSxBPXUueSgpJiZ1LnkoKS5zY2FsZTt1Ll9kZWZlcnJlZFJlbmRlcmVyLnVwZGF0ZURvbWFpbnModyxBKX1lbHNlIHUucmVuZGVyKCl9Owp1Ll9kZWZlcnJlZFJlbmRlcmVyPW5ldyBwLkRlZmVycmVkUmVuZGVyZXIoZnVuY3Rpb24oKXtyZXR1cm4gdS5yZW5kZXIoKX0sdS5fYXBwbHlEZWZlcnJlZFJlbmRlcmluZ1RyYW5zZm9ybSk7cmV0dXJuIHV9ayhxLG4pO3EucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigpe3RoaXMuZGVmZXJyZWRSZW5kZXJpbmcoKSYmdGhpcy5fZGVmZXJyZWRSZW5kZXJlci5yZXNldFRyYW5zZm9ybXMoKTtyZXR1cm4gbi5wcm90b3R5cGUucmVuZGVyLmNhbGwodGhpcyl9O3EucHJvdG90eXBlLmRlZmVycmVkUmVuZGVyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RlZmVycmVkUmVuZGVyaW5nfTtxLnByb3RvdHlwZS54PWZ1bmN0aW9uKHUsdyxBKXtpZihudWxsPT11KXJldHVybiB0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldChxLl9YX0tFWSk7dGhpcy5fYmluZFByb3BlcnR5KHEuX1hfS0VZLHUsdyxBKTt1PXRoaXMud2lkdGgoKTtudWxsIT13JiZudWxsIT11JiZ3LnJhbmdlKFswLHVdKTsKdGhpcy5fYXV0b0FkanVzdFlTY2FsZURvbWFpbiYmdGhpcy5fdXBkYXRlWUV4dGVudHNBbmRBdXRvZG9tYWluKCk7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUueT1mdW5jdGlvbih1LHcsQSl7aWYobnVsbD09dSlyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQocS5fWV9LRVkpO3RoaXMuX2JpbmRQcm9wZXJ0eShxLl9ZX0tFWSx1LHcsQSk7dT10aGlzLmhlaWdodCgpO251bGwhPXcmJm51bGwhPXUmJih3IGluc3RhbmNlb2Ygci5DYXRlZ29yeT93LnJhbmdlKFswLHVdKTp3LnJhbmdlKFt1LDBdKSk7dGhpcy5fYXV0b0FkanVzdFhTY2FsZURvbWFpbiYmdGhpcy5fdXBkYXRlWEV4dGVudHNBbmRBdXRvZG9tYWluKCk7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuX2ZpbHRlckZvclByb3BlcnR5PWZ1bmN0aW9uKHUpe3JldHVybiJ4Ij09PXUmJnRoaXMuX2F1dG9BZGp1c3RYU2NhbGVEb21haW4/dGhpcy5fbWFrZUZpbHRlckJ5UHJvcGVydHkoInkiKToKInkiPT09dSYmdGhpcy5fYXV0b0FkanVzdFlTY2FsZURvbWFpbj90aGlzLl9tYWtlRmlsdGVyQnlQcm9wZXJ0eSgieCIpOm51bGx9O3EucHJvdG90eXBlLl9tYWtlRmlsdGVyQnlQcm9wZXJ0eT1mdW5jdGlvbih1KXt1PXRoaXMuX3Byb3BlcnR5QmluZGluZ3MuZ2V0KHUpO2lmKG51bGwhPXUpe3ZhciB3PXUuYWNjZXNzb3IsQT11LnNjYWxlO2lmKG51bGwhPUEpcmV0dXJuIGZ1bmN0aW9uKHkseCxDKXt2YXIgRz1BLnJhbmdlKCk7cmV0dXJuIGwuTWF0aC5pblJhbmdlKEEuc2NhbGUodyh5LHgsQykpLEdbMF0sR1sxXSl9fXJldHVybiBudWxsfTtxLnByb3RvdHlwZS5fdW5pbnN0YWxsU2NhbGVGb3JLZXk9ZnVuY3Rpb24odSx3KXtuLnByb3RvdHlwZS5fdW5pbnN0YWxsU2NhbGVGb3JLZXkuY2FsbCh0aGlzLHUsdyk7dS5vZmZVcGRhdGUodz09PXEuX1hfS0VZP3RoaXMuX2FkanVzdFlEb21haW5PbkNoYW5nZUZyb21YQ2FsbGJhY2s6dGhpcy5fYWRqdXN0WERvbWFpbk9uQ2hhbmdlRnJvbVlDYWxsYmFjayl9OwpxLnByb3RvdHlwZS5faW5zdGFsbFNjYWxlRm9yS2V5PWZ1bmN0aW9uKHUsdyl7bi5wcm90b3R5cGUuX2luc3RhbGxTY2FsZUZvcktleS5jYWxsKHRoaXMsdSx3KTt1Lm9uVXBkYXRlKHc9PT1xLl9YX0tFWT90aGlzLl9hZGp1c3RZRG9tYWluT25DaGFuZ2VGcm9tWENhbGxiYWNrOnRoaXMuX2FkanVzdFhEb21haW5PbkNoYW5nZUZyb21ZQ2FsbGJhY2spfTtxLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7bi5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpO3RoaXMueCgpLnNjYWxlJiZ0aGlzLngoKS5zY2FsZS5vZmZVcGRhdGUodGhpcy5fYWRqdXN0WURvbWFpbk9uQ2hhbmdlRnJvbVhDYWxsYmFjayk7dGhpcy55KCkuc2NhbGUmJnRoaXMueSgpLnNjYWxlLm9mZlVwZGF0ZSh0aGlzLl9hZGp1c3RYRG9tYWluT25DaGFuZ2VGcm9tWUNhbGxiYWNrKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuYXV0b3JhbmdlTW9kZT1mdW5jdGlvbih1KXtpZihudWxsPT11KXJldHVybiB0aGlzLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluPwoieCI6dGhpcy5fYXV0b0FkanVzdFlTY2FsZURvbWFpbj8ieSI6Im5vbmUiO3N3aXRjaCh1KXtjYXNlICJ4Ijp0aGlzLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluPSEwO3RoaXMuX2F1dG9BZGp1c3RZU2NhbGVEb21haW49ITE7dGhpcy5fYWRqdXN0WERvbWFpbk9uQ2hhbmdlRnJvbVkoKTticmVhaztjYXNlICJ5Ijp0aGlzLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluPSExO3RoaXMuX2F1dG9BZGp1c3RZU2NhbGVEb21haW49ITA7dGhpcy5fYWRqdXN0WURvbWFpbk9uQ2hhbmdlRnJvbVgoKTticmVhaztjYXNlICJub25lIjp0aGlzLl9hdXRvQWRqdXN0WVNjYWxlRG9tYWluPXRoaXMuX2F1dG9BZGp1c3RYU2NhbGVEb21haW49ITE7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiSW52YWxpZCBzY2FsZSBuYW1lICciK3UrIicsIG11c3QgYmUgJ3gnLCAneScgb3IgJ25vbmUnIik7fXJldHVybiB0aGlzfTtxLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PWZ1bmN0aW9uKHUsdyxBKXtuLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcywKdSx3LEEpO3U9KHU9dGhpcy54KCkpJiZ1LnNjYWxlO251bGwhPXUmJnUucmFuZ2UoWzAsdGhpcy53aWR0aCgpXSk7dT0odT10aGlzLnkoKSkmJnUuc2NhbGU7bnVsbCE9dSYmKHUgaW5zdGFuY2VvZiByLkNhdGVnb3J5P3UucmFuZ2UoWzAsdGhpcy5oZWlnaHQoKV0pOnUucmFuZ2UoW3RoaXMuaGVpZ2h0KCksMF0pKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuX3VwZGF0ZVhFeHRlbnRzQW5kQXV0b2RvbWFpbj1mdW5jdGlvbigpe3ZhciB1PXRoaXMueCgpLnNjYWxlO251bGwhPXUmJnUuYXV0b0RvbWFpbigpfTtxLnByb3RvdHlwZS5fdXBkYXRlWUV4dGVudHNBbmRBdXRvZG9tYWluPWZ1bmN0aW9uKCl7dmFyIHU9dGhpcy55KCkuc2NhbGU7bnVsbCE9dSYmdS5hdXRvRG9tYWluKCl9O3EucHJvdG90eXBlLnNob3dBbGxEYXRhPWZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlWEV4dGVudHNBbmRBdXRvZG9tYWluKCk7dGhpcy5fdXBkYXRlWUV4dGVudHNBbmRBdXRvZG9tYWluKCk7cmV0dXJuIHRoaXN9OwpxLnByb3RvdHlwZS5fYWRqdXN0WURvbWFpbk9uQ2hhbmdlRnJvbVg9ZnVuY3Rpb24oKXt0aGlzLl9wcm9qZWN0b3JzUmVhZHkoKSYmdGhpcy5fYXV0b0FkanVzdFlTY2FsZURvbWFpbiYmdGhpcy5fdXBkYXRlWUV4dGVudHNBbmRBdXRvZG9tYWluKCl9O3EucHJvdG90eXBlLl9hZGp1c3RYRG9tYWluT25DaGFuZ2VGcm9tWT1mdW5jdGlvbigpe3RoaXMuX3Byb2plY3RvcnNSZWFkeSgpJiZ0aGlzLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluJiZ0aGlzLl91cGRhdGVYRXh0ZW50c0FuZEF1dG9kb21haW4oKX07cS5wcm90b3R5cGUuX3Byb2plY3RvcnNSZWFkeT1mdW5jdGlvbigpe3ZhciB1PXRoaXMueCgpLHc9dGhpcy55KCk7cmV0dXJuIG51bGwhPXUmJm51bGwhPXUuYWNjZXNzb3ImJm51bGwhPXcmJm51bGwhPXcuYWNjZXNzb3J9O3EucHJvdG90eXBlLl9waXhlbFBvaW50PWZ1bmN0aW9uKHUsdyxBKXt2YXIgeT1tLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSx4PW0uUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpOwpyZXR1cm57eDp5KHUsdyxBKSx5OngodSx3LEEpfX07cS5wcm90b3R5cGUuX2dldERhdGFUb0RyYXc9ZnVuY3Rpb24oKXtmdW5jdGlvbiB1KHkseCxDKXt2YXIgRz1tLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHcueCgpKSh5LHgsQyk7eT1tLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHcueSgpKSh5LHgsQyk7cmV0dXJuIGwuTWF0aC5pc1ZhbGlkTnVtYmVyKEcpJiZsLk1hdGguaXNWYWxpZE51bWJlcih5KX12YXIgdz10aGlzLEE9bi5wcm90b3R5cGUuX2dldERhdGFUb0RyYXcuY2FsbCh0aGlzKTt0aGlzLmRhdGFzZXRzKCkuZm9yRWFjaChmdW5jdGlvbih5KXtBLnNldCh5LEEuZ2V0KHkpLmZpbHRlcihmdW5jdGlvbih4LEMpe3JldHVybiB1KHgsQyx5KX0pKX0pO3JldHVybiBBfTtyZXR1cm4gcX0obS5QbG90KTtkLl9YX0tFWT0ieCI7ZC5fWV9LRVk9InkiO2YuWFlQbG90PWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz1oKDApO2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKCl7dGhpcy5fYXV0b0RvbWFpbkF1dG9tYXRpY2FsbHk9CiEwO3RoaXMuX2RvbWFpbk1vZGlmaWNhdGlvbkluUHJvZ3Jlc3M9ITE7dGhpcy5fdXBkYXRlSWQ9MDt0aGlzLl9jYWxsYmFja3M9bmV3IGsuQ2FsbGJhY2tTZXQ7dGhpcy5faW5jbHVkZWRWYWx1ZXNQcm92aWRlcnM9bmV3IGsuU2V0fXIucHJvdG90eXBlLmV4dGVudE9mVmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuW119O3IucHJvdG90eXBlLl9nZXRBbGxJbmNsdWRlZFZhbHVlcz1mdW5jdGlvbihsKXt2YXIgcD10aGlzO3ZvaWQgMD09PWwmJihsPSExKTt2YXIgbT1bXTt0aGlzLl9pbmNsdWRlZFZhbHVlc1Byb3ZpZGVycy5mb3JFYWNoKGZ1bmN0aW9uKG4pe249bihwLGwpO209bS5jb25jYXQobil9KTtyZXR1cm4gbX07ci5wcm90b3R5cGUuX2dldEV4dGVudD1mdW5jdGlvbigpe3JldHVybltdfTtyLnByb3RvdHlwZS5vblVwZGF0ZT1mdW5jdGlvbihsKXt0aGlzLl9jYWxsYmFja3MuYWRkKGwpO3JldHVybiB0aGlzfTtyLnByb3RvdHlwZS5vZmZVcGRhdGU9ZnVuY3Rpb24obCl7dGhpcy5fY2FsbGJhY2tzLmRlbGV0ZShsKTsKcmV0dXJuIHRoaXN9O3IucHJvdG90eXBlLl9kaXNwYXRjaFVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX3VwZGF0ZUlkKys7dGhpcy5fY2FsbGJhY2tzLmNhbGxDYWxsYmFja3ModGhpcyl9O3IucHJvdG90eXBlLmF1dG9Eb21haW49ZnVuY3Rpb24oKXt0aGlzLl9hdXRvRG9tYWluQXV0b21hdGljYWxseT0hMDt0aGlzLl9zZXREb21haW4odGhpcy5fZ2V0RXh0ZW50KCkpfTtyLnByb3RvdHlwZS5fYXV0b0RvbWFpbklmQXV0b21hdGljTW9kZT1mdW5jdGlvbigpe3RoaXMuX2F1dG9Eb21haW5BdXRvbWF0aWNhbGx5JiZ0aGlzLmF1dG9Eb21haW4oKX07ci5wcm90b3R5cGUuc2NhbGU9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgc2NhbGUiKTt9O3IucHJvdG90eXBlLnRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tYWluKCl9O3IucHJvdG90eXBlLmRvbWFpbj1mdW5jdGlvbihsKXtpZihudWxsPT1sKXJldHVybiB0aGlzLl9nZXREb21haW4oKTsKdGhpcy5fYXV0b0RvbWFpbkF1dG9tYXRpY2FsbHk9ITE7dGhpcy5fc2V0RG9tYWluKGwpO3JldHVybiB0aGlzfTtyLnByb3RvdHlwZS5fZ2V0RG9tYWluPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIlN1YmNsYXNzZXMgc2hvdWxkIG92ZXJyaWRlIF9nZXREb21haW4iKTt9O3IucHJvdG90eXBlLl9zZXREb21haW49ZnVuY3Rpb24obCl7dGhpcy5fZG9tYWluTW9kaWZpY2F0aW9uSW5Qcm9ncmVzc3x8KHRoaXMuX2RvbWFpbk1vZGlmaWNhdGlvbkluUHJvZ3Jlc3M9ITAsdGhpcy5fYmFja2luZ1NjYWxlRG9tYWluKGwpLHRoaXMuX2Rpc3BhdGNoVXBkYXRlKCksdGhpcy5fZG9tYWluTW9kaWZpY2F0aW9uSW5Qcm9ncmVzcz0hMSl9O3IucHJvdG90eXBlLl9iYWNraW5nU2NhbGVEb21haW49ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgX2JhY2tpbmdEb21haW4iKTt9O3IucHJvdG90eXBlLnJhbmdlPWZ1bmN0aW9uKGwpe2lmKG51bGw9PWwpcmV0dXJuIHRoaXMuX2dldFJhbmdlKCk7CnRoaXMuX3NldFJhbmdlKGwpO3JldHVybiB0aGlzfTtyLnByb3RvdHlwZS5fZ2V0UmFuZ2U9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgX2dldFJhbmdlIik7fTtyLnByb3RvdHlwZS5fc2V0UmFuZ2U9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgX3NldFJhbmdlIik7fTtyLnByb3RvdHlwZS5hZGRJbmNsdWRlZFZhbHVlc1Byb3ZpZGVyPWZ1bmN0aW9uKGwpe3RoaXMuX2luY2x1ZGVkVmFsdWVzUHJvdmlkZXJzLmFkZChsKTt0aGlzLl9hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlKCk7cmV0dXJuIHRoaXN9O3IucHJvdG90eXBlLnJlbW92ZUluY2x1ZGVkVmFsdWVzUHJvdmlkZXI9ZnVuY3Rpb24obCl7dGhpcy5faW5jbHVkZWRWYWx1ZXNQcm92aWRlcnMuZGVsZXRlKGwpO3RoaXMuX2F1dG9Eb21haW5JZkF1dG9tYXRpY01vZGUoKX07ci5wcm90b3R5cGUudXBkYXRlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdXBkYXRlSWR9OwpyZXR1cm4gcn0oKTtmLlNjYWxlPWR9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHEsdSx3LEEpe2Zvcih2YXIgeT17fSx4PTA7eDx1Lmxlbmd0aDt4Kyspe3ZhciBDPXVbeF07cS5oYXNPd25Qcm9wZXJ0eShDKSYmKHlbQ109cVtDXSh3LEEpKX1yZXR1cm4geX1mdW5jdGlvbiByKHEpe3JldHVybihudWxsIT1xWyJzdHJva2Utb3BhY2l0eSJdP3BhcnNlRmxvYXQocVsic3Ryb2tlLW9wYWNpdHkiXSk6MSkqKG51bGwhPXEub3BhY2l0eT9wYXJzZUZsb2F0KHEub3BhY2l0eSk6MSl9ZnVuY3Rpb24gbChxKXtyZXR1cm4obnVsbCE9cVsiZmlsbC1vcGFjaXR5Il0/cGFyc2VGbG9hdChxWyJmaWxsLW9wYWNpdHkiXSk6MSkqKG51bGwhPXEub3BhY2l0eT9wYXJzZUZsb2F0KHEub3BhY2l0eSk6MSl9ZnVuY3Rpb24gcChxKXtyZXR1cm4gbnVsbCE9cVsic3Ryb2tlLXdpZHRoIl0/cGFyc2VGbG9hdChxWyJzdHJva2Utd2lkdGgiXSk6MX1mdW5jdGlvbiBtKHEsdSl7aWYodS5zdHJva2Upe3EubGluZVdpZHRoPQpwKHUpO3ZhciB3PW4uY29sb3IodS5zdHJva2UpO3cub3BhY2l0eSo9cih1KTtxLnN0cm9rZVN0eWxlPXcudG9TdHJpbmcoKTtxLnN0cm9rZSgpfXUuZmlsbCYmKHc9bi5jb2xvcih1LmZpbGwpLHcub3BhY2l0eSo9bCh1KSxxLmZpbGxTdHlsZT13LnRvU3RyaW5nKCkscS5maWxsKCkpfXZhciBuPWgoMSk7ZD1mdW5jdGlvbigpe2Z1bmN0aW9uIHEodSx3KXt0aGlzLl9jb250ZXh0PXU7dGhpcy5fZHJhd1N0ZXA9d31xLnByb3RvdHlwZS5nZXREcmF3U3RlcD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kcmF3U3RlcH07cS5wcm90b3R5cGUuZHJhdz1mdW5jdGlvbih1LHcpe3c9d1t3Lmxlbmd0aC0xXS5hdHRyVG9BcHBsaWVkUHJvamVjdG9yO3RoaXMuX2NvbnRleHQuc2F2ZSgpO3RoaXMuX2RyYXdTdGVwKHRoaXMuX2NvbnRleHQsdSx3KTt0aGlzLl9jb250ZXh0LnJlc3RvcmUoKX07cS5wcm90b3R5cGUuZ2V0VmlzdWFsUHJpbWl0aXZlcz1mdW5jdGlvbigpe3JldHVybltdfTtxLnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4PQpmdW5jdGlvbigpe3JldHVybiBudWxsfTtxLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt9O3JldHVybiBxfSgpO2YuQ2FudmFzRHJhd2VyPWQ7Zi5Db250ZXh0U3R5bGVBdHRycz0iZmlsbC1vcGFjaXR5IGZpbGwgb3BhY2l0eSBzdHJva2Utb3BhY2l0eSBzdHJva2Utd2lkdGggc3Ryb2tlIi5zcGxpdCgiICIpO2YucmVzb2x2ZUF0dHJpYnV0ZXNTdWJzZXRXaXRoU3R5bGVzPWZ1bmN0aW9uKHEsdSx3LEEpe3JldHVybiBrKHEsZi5Db250ZXh0U3R5bGVBdHRycy5jb25jYXQodSksdyxBKX07Zi5yZXNvbHZlQXR0cmlidXRlcz1rO2YuZ2V0U3Ryb2tlV2lkdGg9cDtmLnJlbmRlckFyZWE9ZnVuY3Rpb24ocSx1LHcsQSl7cS5zYXZlKCk7cS5iZWdpblBhdGgoKTt1LmNvbnRleHQocSk7dSh3KTtxLmxpbmVKb2luPSJyb3VuZCI7bShxLEEpO3EucmVzdG9yZSgpfTtmLnJlbmRlckxpbmU9ZnVuY3Rpb24ocSx1LHcsQSl7cS5zYXZlKCk7cS5iZWdpblBhdGgoKTt1LmNvbnRleHQocSk7dSh3KTsKcS5saW5lSm9pbj0icm91bmQiO20ocSxBKTtxLnJlc3RvcmUoKX07Zi5yZW5kZXJQYXRoV2l0aFN0eWxlPW19LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHIpe2Zvcih2YXIgbCBpbiByKWYuaGFzT3duUHJvcGVydHkobCl8fChmW2xdPXJbbF0pfWsoaCg1MCkpO2soaCgyNykpO2soaCg1MSkpO2soaCg5MykpO2soaCg1MykpO2soaCg5NCkpO2soaCg5NSkpO2soaCg5NikpO2soaCg5NykpO2soaCg5OCkpO2soaCg5OSkpO2soaCgxMDApKX0sZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsocil7Zm9yKHZhciBsIGluIHIpZi5oYXNPd25Qcm9wZXJ0eShsKXx8KGZbbF09cltsXSl9ayhoKDkyKSk7ayhoKDkxKSk7ZD1oKDQ5KTtmLnNpZ249ZC5zaWdufSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhyKXtmb3IodmFyIGwgaW4gcilmLmhhc093blByb3BlcnR5KGwpfHwoZltsXT1yW2xdKX1rKGgoMTM0KSk7ayhoKDEzNSkpO2soaCgxMzYpKTtrKGgoMTM3KSl9LGZ1bmN0aW9uKGQsCmYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKG4scSl7ZnVuY3Rpb24gdSgpe3RoaXMuY29uc3RydWN0b3I9bn1mb3IodmFyIHcgaW4gcSlxLmhhc093blByb3BlcnR5KHcpJiYoblt3XT1xW3ddKTtuLnByb3RvdHlwZT1udWxsPT09cT9PYmplY3QuY3JlYXRlKHEpOih1LnByb3RvdHlwZT1xLnByb3RvdHlwZSxuZXcgdSl9LHI9aCgxKSxsPWgoNSk7ZD1oKDQpO3ZhciBwPWgoOCksbT1oKDApO2g9aCgxMCk7Zi5BeGlzT3JpZW50YXRpb249aC5tYWtlRW51bShbImJvdHRvbSIsImxlZnQiLCJyaWdodCIsInRvcCJdKTtoPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHEodSx3KXt2YXIgQT1uLmNhbGwodGhpcyl8fHRoaXM7QS5fZW5kVGlja0xlbmd0aD01O0EuX2lubmVyVGlja0xlbmd0aD01O0EuX3RpY2tMYWJlbFBhZGRpbmc9MTA7QS5fbWFyZ2luPTE1O0EuX3Nob3dFbmRUaWNrTGFiZWxzPSExO0EuX2Fubm90YXRpb25zRW5hYmxlZD0hMTtBLl9hbm5vdGF0aW9uVGllckNvdW50PQoxO2lmKG51bGw9PXV8fG51bGw9PXcpdGhyb3cgRXJyb3IoIkF4aXMgcmVxdWlyZXMgYSBzY2FsZSBhbmQgb3JpZW50YXRpb24iKTtBLl9zY2FsZT11O0Eub3JpZW50YXRpb24odyk7QS5fc2V0RGVmYXVsdEFsaWdubWVudCgpO0EuYWRkQ2xhc3MoImF4aXMiKTtBLmlzSG9yaXpvbnRhbCgpP0EuYWRkQ2xhc3MoIngtYXhpcyIpOkEuYWRkQ2xhc3MoInktYXhpcyIpO0EuZm9ybWF0dGVyKHAuaWRlbnRpdHkoKSk7QS5fcmVzY2FsZUNhbGxiYWNrPWZ1bmN0aW9uKCl7cmV0dXJuIEEuX3Jlc2NhbGUoKX07QS5fc2NhbGUub25VcGRhdGUoQS5fcmVzY2FsZUNhbGxiYWNrKTtBLl9hbm5vdGF0ZWRUaWNrcz1bXTtBLl9hbm5vdGF0aW9uRm9ybWF0dGVyPXAuaWRlbnRpdHkoKTtyZXR1cm4gQX1rKHEsbik7cS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe24ucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKTt0aGlzLl9zY2FsZS5vZmZVcGRhdGUodGhpcy5fcmVzY2FsZUNhbGxiYWNrKX07CnEucHJvdG90eXBlLnRpY2tMYWJlbERhdGFPbkVsZW1lbnQ9ZnVuY3Rpb24odSl7aWYobnVsbCE9dSl7Zm9yKHZhciB3O251bGwhPXUmJnUuY2xhc3NMaXN0JiZ2b2lkIDA9PT13Oyl1LmNsYXNzTGlzdC5jb250YWlucyhxLlRJQ0tfTEFCRUxfQ0xBU1MpP3c9dTp1PXUucGFyZW50Tm9kZTtyZXR1cm4gdm9pZCAwPT09dT92b2lkIDA6ci5zZWxlY3QodSkuZGF0dW0oKX19O3EucHJvdG90eXBlLl9jb21wdXRlV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWF4TGFiZWxUaWNrTGVuZ3RoKCl9O3EucHJvdG90eXBlLl9jb21wdXRlSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpfTtxLnByb3RvdHlwZS5yZXF1ZXN0ZWRTcGFjZT1mdW5jdGlvbigpe3ZhciB1PTAsdz0wO2lmKHRoaXMuaXNIb3Jpem9udGFsKCkpe2lmKHc9dGhpcy5fY29tcHV0ZUhlaWdodCgpK3RoaXMuX21hcmdpbix0aGlzLmFubm90YXRpb25zRW5hYmxlZCgpKXt2YXIgQT0KdGhpcy5fYW5ub3RhdGlvbk1lYXN1cmVyLm1lYXN1cmUoKS5oZWlnaHQrMipxLl9BTk5PVEFUSU9OX0xBQkVMX1BBRERJTkc7dys9QSp0aGlzLmFubm90YXRpb25UaWVyQ291bnQoKX19ZWxzZSB1PXRoaXMuX2NvbXB1dGVXaWR0aCgpK3RoaXMuX21hcmdpbix0aGlzLmFubm90YXRpb25zRW5hYmxlZCgpJiYoQT10aGlzLl9hbm5vdGF0aW9uTWVhc3VyZXIubWVhc3VyZSgpLmhlaWdodCsyKnEuX0FOTk9UQVRJT05fTEFCRUxfUEFERElORyx1Kz1BKnRoaXMuYW5ub3RhdGlvblRpZXJDb3VudCgpKTtyZXR1cm57bWluV2lkdGg6dSxtaW5IZWlnaHQ6d319O3EucHJvdG90eXBlLmZpeGVkSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNIb3Jpem9udGFsKCl9O3EucHJvdG90eXBlLmZpeGVkV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5pc0hvcml6b250YWwoKX07cS5wcm90b3R5cGUuX3Jlc2NhbGU9ZnVuY3Rpb24oKXt0aGlzLnJlbmRlcigpfTtxLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PQpmdW5jdGlvbih1LHcsQSl7bi5wcm90b3R5cGUuY29tcHV0ZUxheW91dC5jYWxsKHRoaXMsdSx3LEEpO3RoaXMuaXNIb3Jpem9udGFsKCk/dGhpcy5fc2NhbGUucmFuZ2UoWzAsdGhpcy53aWR0aCgpXSk6dGhpcy5fc2NhbGUucmFuZ2UoW3RoaXMuaGVpZ2h0KCksMF0pO3JldHVybiB0aGlzfTtxLnByb3RvdHlwZS5fc2l6ZUZyb21PZmZlcj1mdW5jdGlvbih1LHcpe3ZhciBBPXRoaXMucmVxdWVzdGVkU3BhY2UodSx3KTtyZXR1cm4gdGhpcy5pc0hvcml6b250YWwoKT97d2lkdGg6dSxoZWlnaHQ6QS5taW5IZWlnaHR9OntoZWlnaHQ6dyx3aWR0aDpBLm1pbldpZHRofX07cS5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7bi5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyk7dGhpcy5fdGlja01hcmtDb250YWluZXI9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZChxLlRJQ0tfTUFSS19DTEFTUysiLWNvbnRhaW5lciIsITApO3RoaXMuX3RpY2tMYWJlbENvbnRhaW5lcj0KdGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZChxLlRJQ0tfTEFCRUxfQ0xBU1MrIi1jb250YWluZXIiLCEwKTt0aGlzLl9iYXNlbGluZT10aGlzLmNvbnRlbnQoKS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKCJiYXNlbGluZSIsITApO3RoaXMuX2Fubm90YXRpb25Db250YWluZXI9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZCgiYW5ub3RhdGlvbi1jb250YWluZXIiLCEwKTt0aGlzLl9hbm5vdGF0aW9uQ29udGFpbmVyLmFwcGVuZCgiZyIpLmNsYXNzZWQoImFubm90YXRpb24tbGluZS1jb250YWluZXIiLCEwKTt0aGlzLl9hbm5vdGF0aW9uQ29udGFpbmVyLmFwcGVuZCgiZyIpLmNsYXNzZWQoImFubm90YXRpb24tY2lyY2xlLWNvbnRhaW5lciIsITApO3RoaXMuX2Fubm90YXRpb25Db250YWluZXIuYXBwZW5kKCJnIikuY2xhc3NlZCgiYW5ub3RhdGlvbi1yZWN0LWNvbnRhaW5lciIsITApO3ZhciB1PXRoaXMuX2Fubm90YXRpb25Db250YWluZXIuYXBwZW5kKCJnIikuY2xhc3NlZCgiYW5ub3RhdGlvbi1sYWJlbC1jb250YWluZXIiLAohMCk7dT1uZXcgbC5TdmdDb250ZXh0KHUubm9kZSgpKTt0aGlzLl9hbm5vdGF0aW9uTWVhc3VyZXI9bmV3IGwuQ2FjaGVNZWFzdXJlcih1KTt0aGlzLl9hbm5vdGF0aW9uV3JpdGVyPW5ldyBsLldyaXRlcih0aGlzLl9hbm5vdGF0aW9uTWVhc3VyZXIsdSl9O3EucHJvdG90eXBlLl9nZXRUaWNrVmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuW119O3EucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7dmFyIHU9dGhpcy5fZ2V0VGlja1ZhbHVlcygpLHc9dGhpcy5fdGlja01hcmtDb250YWluZXIuc2VsZWN0QWxsKCIuIitxLlRJQ0tfTUFSS19DTEFTUykuZGF0YSh1KSxBPXcuZW50ZXIoKS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKHEuVElDS19NQVJLX0NMQVNTLCEwKS5tZXJnZSh3KTtBLmF0dHJzKHRoaXMuX2dlbmVyYXRlVGlja01hcmtBdHRySGFzaCgpKTtyLnNlbGVjdChBLm5vZGVzKClbMF0pLmNsYXNzZWQocS5FTkRfVElDS19NQVJLX0NMQVNTLCEwKS5hdHRycyh0aGlzLl9nZW5lcmF0ZVRpY2tNYXJrQXR0ckhhc2goITApKTsKci5zZWxlY3QoQS5ub2RlcygpW3UubGVuZ3RoLTFdKS5jbGFzc2VkKHEuRU5EX1RJQ0tfTUFSS19DTEFTUywhMCkuYXR0cnModGhpcy5fZ2VuZXJhdGVUaWNrTWFya0F0dHJIYXNoKCEwKSk7dy5leGl0KCkucmVtb3ZlKCk7dGhpcy5fYmFzZWxpbmUuYXR0cnModGhpcy5fZ2VuZXJhdGVCYXNlbGluZUF0dHJIYXNoKCkpO3RoaXMuYW5ub3RhdGlvbnNFbmFibGVkKCk/dGhpcy5fZHJhd0Fubm90YXRpb25zKCk6dGhpcy5fcmVtb3ZlQW5ub3RhdGlvbnMoKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuYW5ub3RhdGVkVGlja3M9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYW5ub3RhdGVkVGlja3N9O3EucHJvdG90eXBlLmFubm90YXRpb25Gb3JtYXR0ZXI9ZnVuY3Rpb24odSl7aWYobnVsbD09dSlyZXR1cm4gdGhpcy5fYW5ub3RhdGlvbkZvcm1hdHRlcjt0aGlzLl9hbm5vdGF0aW9uRm9ybWF0dGVyPXU7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuYW5ub3RhdGlvbnNFbmFibGVkPQpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hbm5vdGF0aW9uc0VuYWJsZWR9O3EucHJvdG90eXBlLmFubm90YXRpb25UaWVyQ291bnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYW5ub3RhdGlvblRpZXJDb3VudH07cS5wcm90b3R5cGUuX2RyYXdBbm5vdGF0aW9ucz1mdW5jdGlvbigpe2Z1bmN0aW9uIHUoZmEpe3N3aXRjaChDLm9yaWVudGF0aW9uKCkpe2Nhc2UgImJvdHRvbSI6Y2FzZSAicmlnaHQiOnJldHVybiB5KGZhKTtjYXNlICJ0b3AiOmNhc2UgImxlZnQiOnJldHVybiB5KGZhKS1ELmdldChmYSkuaGVpZ2h0fX1mdW5jdGlvbiB3KGZhKXtyZXR1cm4gTC5oYXMoZmEpPyJoaWRkZW4iOiJ2aXNpYmxlIn1mdW5jdGlvbiBBKGZhKXtyZXR1cm4gQy5fc2NhbGUuc2NhbGUoZmEpfWZ1bmN0aW9uIHkoZmEpe3N3aXRjaChDLm9yaWVudGF0aW9uKCkpe2Nhc2UgImJvdHRvbSI6Y2FzZSAicmlnaHQiOnJldHVybiBLLmdldChmYSkqSCtPO2Nhc2UgInRvcCI6Y2FzZSAibGVmdCI6cmV0dXJuIEotCk8tSy5nZXQoZmEpKkh9fWZ1bmN0aW9uIHgoZmEsb2EsWil7ZmE9ZmEuc2VsZWN0QWxsKCIuIitaKS5kYXRhKEIpO29hPWZhLmVudGVyKCkuYXBwZW5kKG9hKS5jbGFzc2VkKFosITApLm1lcmdlKGZhKTtmYS5leGl0KCkucmVtb3ZlKCk7cmV0dXJuIG9hfXZhciBDPXRoaXMsRz1xLl9BTk5PVEFUSU9OX0xBQkVMX1BBRERJTkcsRD1uZXcgbS5NYXAsQj10aGlzLl9hbm5vdGF0ZWRUaWNrc1RvUmVuZGVyKCk7Qi5mb3JFYWNoKGZ1bmN0aW9uKGZhKXt2YXIgb2E9Qy5fYW5ub3RhdGlvbk1lYXN1cmVyLm1lYXN1cmUoQy5hbm5vdGF0aW9uRm9ybWF0dGVyKCkoZmEpKTtELnNldChmYSx7d2lkdGg6b2Eud2lkdGgrMipHLGhlaWdodDpvYS5oZWlnaHQrMipHfSl9KTt2YXIgSD10aGlzLl9hbm5vdGF0aW9uTWVhc3VyZXIubWVhc3VyZSgpLmhlaWdodCsyKkcsSz10aGlzLl9hbm5vdGF0aW9uVG9UaWVyKEQpLEw9bmV3IG0uU2V0LEo9dGhpcy5pc0hvcml6b250YWwoKT90aGlzLmhlaWdodCgpOgp0aGlzLndpZHRoKCksTz10aGlzLl9jb3JlU2l6ZSgpLFM9TWF0aC5taW4odGhpcy5hbm5vdGF0aW9uVGllckNvdW50KCksTWF0aC5mbG9vcigoSi1PKS9IKSk7Sy5mb3JFYWNoKGZ1bmN0aW9uKGZhLG9hKXsoLTE9PT1mYXx8ZmE+PVMpJiZMLmFkZChvYSl9KTtzd2l0Y2godGhpcy5vcmllbnRhdGlvbigpKXtjYXNlICJib3R0b20iOmNhc2UgInJpZ2h0Ijp2YXIgTj0wO2JyZWFrO2Nhc2UgInRvcCI6Tj10aGlzLmhlaWdodCgpO2JyZWFrO2Nhc2UgImxlZnQiOk49dGhpcy53aWR0aCgpfXZhciBSPXRoaXMuaXNIb3Jpem9udGFsKCk7eCh0aGlzLl9hbm5vdGF0aW9uQ29udGFpbmVyLnNlbGVjdCgiLmFubm90YXRpb24tbGluZS1jb250YWluZXIiKSwibGluZSIscS5BTk5PVEFUSU9OX0xJTkVfQ0xBU1MpLmF0dHJzKHt4MTpSP0E6Tix4MjpSP0E6eSx5MTpSP046QSx5MjpSP3k6QSx2aXNpYmlsaXR5Ond9KTt4KHRoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0KCIuYW5ub3RhdGlvbi1jaXJjbGUtY29udGFpbmVyIiksCiJjaXJjbGUiLHEuQU5OT1RBVElPTl9DSVJDTEVfQ0xBU1MpLmF0dHJzKHtjeDpSP0E6TixjeTpSP046QSxyOjN9KTt4KHRoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0KCIuYW5ub3RhdGlvbi1yZWN0LWNvbnRhaW5lciIpLCJyZWN0IixxLkFOTk9UQVRJT05fUkVDVF9DTEFTUykuYXR0cnMoe3g6Uj9BOnUseTpSP3U6QSx3aWR0aDpSP2Z1bmN0aW9uKGZhKXtyZXR1cm4gRC5nZXQoZmEpLndpZHRofTpmdW5jdGlvbihmYSl7cmV0dXJuIEQuZ2V0KGZhKS5oZWlnaHR9LGhlaWdodDpSP2Z1bmN0aW9uKGZhKXtyZXR1cm4gRC5nZXQoZmEpLmhlaWdodH06ZnVuY3Rpb24oZmEpe3JldHVybiBELmdldChmYSkud2lkdGh9LHZpc2liaWxpdHk6d30pO3ZhciBYPXRoaXMuX2Fubm90YXRpb25Xcml0ZXIsYWE9dGhpcy5hbm5vdGF0aW9uRm9ybWF0dGVyKCk7Tj14KHRoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0KCIuYW5ub3RhdGlvbi1sYWJlbC1jb250YWluZXIiKSwiZyIscS5BTk5PVEFUSU9OX0xBQkVMX0NMQVNTKTsKTi5zZWxlY3RBbGwoIi50ZXh0LWNvbnRhaW5lciIpLnJlbW92ZSgpO04uYXR0cnMoe3RyYW5zZm9ybTpmdW5jdGlvbihmYSl7dmFyIG9hPVI/QShmYSk6dShmYSk7ZmE9Uj91KGZhKTpBKGZhKTtyZXR1cm4idHJhbnNsYXRlKCIrb2ErIiwiK2ZhKyIpIn0sdmlzaWJpbGl0eTp3fSkuZWFjaChmdW5jdGlvbihmYSl7WC53cml0ZShhYShmYSksUj9ELmdldChmYSkud2lkdGg6RC5nZXQoZmEpLmhlaWdodCxSP0QuZ2V0KGZhKS5oZWlnaHQ6RC5nZXQoZmEpLndpZHRoLHt4QWxpZ246ImNlbnRlciIseUFsaWduOiJjZW50ZXIiLHRleHRSb3RhdGlvbjpSPzA6OTB9LHIuc2VsZWN0KHRoaXMpLm5vZGUoKSl9KX07cS5wcm90b3R5cGUuX2Fubm90YXRlZFRpY2tzVG9SZW5kZXI9ZnVuY3Rpb24oKXt2YXIgdT10aGlzLHc9dGhpcy5fc2NhbGUucmFuZ2UoKTtyZXR1cm4gbS5BcnJheS51bmlxKHRoaXMuYW5ub3RhdGVkVGlja3MoKS5maWx0ZXIoZnVuY3Rpb24oQSl7cmV0dXJuIG51bGw9PUE/ITE6Cm0uTWF0aC5pblJhbmdlKHUuX3NjYWxlLnNjYWxlKEEpLHdbMF0sd1sxXSl9KSl9O3EucHJvdG90eXBlLl9jb3JlU2l6ZT1mdW5jdGlvbigpe3ZhciB1PXRoaXMuaXNIb3Jpem9udGFsKCk/dGhpcy5oZWlnaHQoKTp0aGlzLndpZHRoKCksdz10aGlzLmlzSG9yaXpvbnRhbCgpP3RoaXMuX2NvbXB1dGVIZWlnaHQoKTp0aGlzLl9jb21wdXRlV2lkdGgoKTtyZXR1cm4gTWF0aC5taW4odyx1KX07cS5wcm90b3R5cGUuX2Fubm90YXRpb25UaWVySGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Fubm90YXRpb25NZWFzdXJlci5tZWFzdXJlKCkuaGVpZ2h0KzIqcS5fQU5OT1RBVElPTl9MQUJFTF9QQURESU5HfTtxLnByb3RvdHlwZS5fYW5ub3RhdGlvblRvVGllcj1mdW5jdGlvbih1KXt2YXIgdz10aGlzLEE9W1tdXSx5PW5ldyBtLk1hcCx4PXRoaXMuaXNIb3Jpem9udGFsKCk/dGhpcy53aWR0aCgpOnRoaXMuaGVpZ2h0KCk7dGhpcy5fYW5ub3RhdGVkVGlja3NUb1JlbmRlcigpLmZvckVhY2goZnVuY3Rpb24oQyl7dmFyIEc9CncuX3NjYWxlLnNjYWxlKEMpLEQ9dS5nZXQoQykud2lkdGg7aWYoMD5HfHxHK0Q+eCl5LnNldChDLC0xKTtlbHNle2Zvcih2YXIgQj1mdW5jdGlvbihLKXtyZXR1cm4gQVtLXS5zb21lKGZ1bmN0aW9uKEwpe3ZhciBKPXcuX3NjYWxlLnNjYWxlKEwpO0w9dS5nZXQoTCkud2lkdGg7cmV0dXJuIEcrRD49SiYmRzw9SitMfSl9LEg9MDtCKEgpOylIKyssQS5sZW5ndGg9PT1IJiZBLnB1c2goW10pO0FbSF0ucHVzaChDKTt5LnNldChDLEgpfX0pO3JldHVybiB5fTtxLnByb3RvdHlwZS5fcmVtb3ZlQW5ub3RhdGlvbnM9ZnVuY3Rpb24oKXt0aGlzLl9hbm5vdGF0aW9uQ29udGFpbmVyLnNlbGVjdEFsbCgiLmFubm90YXRpb24tbGluZSIpLnJlbW92ZSgpO3RoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0QWxsKCIuYW5ub3RhdGlvbi1jaXJjbGUiKS5yZW1vdmUoKTt0aGlzLl9hbm5vdGF0aW9uQ29udGFpbmVyLnNlbGVjdEFsbCgiLmFubm90YXRpb24tcmVjdCIpLnJlbW92ZSgpO3RoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0QWxsKCIuYW5ub3RhdGlvbi1sYWJlbCIpLnJlbW92ZSgpfTsKcS5wcm90b3R5cGUuX2dlbmVyYXRlQmFzZWxpbmVBdHRySGFzaD1mdW5jdGlvbigpe3ZhciB1PXt4MTowLHkxOjAseDI6MCx5MjowfTtzd2l0Y2godGhpcy5fb3JpZW50YXRpb24pe2Nhc2UgImJvdHRvbSI6dS54Mj10aGlzLndpZHRoKCk7YnJlYWs7Y2FzZSAidG9wIjp1LngyPXRoaXMud2lkdGgoKTt1LnkxPXRoaXMuaGVpZ2h0KCk7dS55Mj10aGlzLmhlaWdodCgpO2JyZWFrO2Nhc2UgImxlZnQiOnUueDE9dGhpcy53aWR0aCgpO3UueDI9dGhpcy53aWR0aCgpO3UueTI9dGhpcy5oZWlnaHQoKTticmVhaztjYXNlICJyaWdodCI6dS55Mj10aGlzLmhlaWdodCgpfXJldHVybiB1fTtxLnByb3RvdHlwZS5fZ2VuZXJhdGVUaWNrTWFya0F0dHJIYXNoPWZ1bmN0aW9uKHUpe2Z1bmN0aW9uIHcoeCl7cmV0dXJuIEEuX3NjYWxlLnNjYWxlKHgpfXZhciBBPXRoaXM7dm9pZCAwPT09dSYmKHU9ITEpO3ZhciB5PXt4MTowLHkxOjAseDI6MCx5MjowfTt0aGlzLmlzSG9yaXpvbnRhbCgpPyh5LngxPQp3LHkueDI9dyk6KHkueTE9dyx5LnkyPXcpO3U9dT90aGlzLl9lbmRUaWNrTGVuZ3RoOnRoaXMuX2lubmVyVGlja0xlbmd0aDtzd2l0Y2godGhpcy5fb3JpZW50YXRpb24pe2Nhc2UgImJvdHRvbSI6eS55Mj11O2JyZWFrO2Nhc2UgInRvcCI6eS55MT10aGlzLmhlaWdodCgpO3kueTI9dGhpcy5oZWlnaHQoKS11O2JyZWFrO2Nhc2UgImxlZnQiOnkueDE9dGhpcy53aWR0aCgpO3kueDI9dGhpcy53aWR0aCgpLXU7YnJlYWs7Y2FzZSAicmlnaHQiOnkueDI9dX1yZXR1cm4geX07cS5wcm90b3R5cGUuX3NldERlZmF1bHRBbGlnbm1lbnQ9ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fb3JpZW50YXRpb24pe2Nhc2UgImJvdHRvbSI6dGhpcy55QWxpZ25tZW50KCJ0b3AiKTticmVhaztjYXNlICJ0b3AiOnRoaXMueUFsaWdubWVudCgiYm90dG9tIik7YnJlYWs7Y2FzZSAibGVmdCI6dGhpcy54QWxpZ25tZW50KCJyaWdodCIpO2JyZWFrO2Nhc2UgInJpZ2h0Ijp0aGlzLnhBbGlnbm1lbnQoImxlZnQiKX19OwpxLnByb3RvdHlwZS5pc0hvcml6b250YWw9ZnVuY3Rpb24oKXtyZXR1cm4idG9wIj09PXRoaXMuX29yaWVudGF0aW9ufHwiYm90dG9tIj09PXRoaXMuX29yaWVudGF0aW9ufTtxLnByb3RvdHlwZS5nZXRTY2FsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zY2FsZX07cS5wcm90b3R5cGUuZm9ybWF0dGVyPWZ1bmN0aW9uKHUpe2lmKG51bGw9PXUpcmV0dXJuIHRoaXMuX2Zvcm1hdHRlcjt0aGlzLl9mb3JtYXR0ZXI9dTt0aGlzLnJlZHJhdygpO3JldHVybiB0aGlzfTtxLnByb3RvdHlwZS5pbm5lclRpY2tMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faW5uZXJUaWNrTGVuZ3RofTtxLnByb3RvdHlwZS5lbmRUaWNrTGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VuZFRpY2tMZW5ndGh9O3EucHJvdG90eXBlLl9tYXhMYWJlbFRpY2tMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zaG93RW5kVGlja0xhYmVscygpP01hdGgubWF4KHRoaXMuaW5uZXJUaWNrTGVuZ3RoKCksCnRoaXMuZW5kVGlja0xlbmd0aCgpKTp0aGlzLmlubmVyVGlja0xlbmd0aCgpfTtxLnByb3RvdHlwZS50aWNrTGFiZWxQYWRkaW5nPWZ1bmN0aW9uKHUpe2lmKG51bGw9PXUpcmV0dXJuIHRoaXMuX3RpY2tMYWJlbFBhZGRpbmc7aWYoMD51KXRocm93IEVycm9yKCJ0aWNrIGxhYmVsIHBhZGRpbmcgbXVzdCBiZSBwb3NpdGl2ZSIpO3RoaXMuX3RpY2tMYWJlbFBhZGRpbmc9dTt0aGlzLnJlZHJhdygpO3JldHVybiB0aGlzfTtxLnByb3RvdHlwZS5tYXJnaW49ZnVuY3Rpb24odSl7aWYobnVsbD09dSlyZXR1cm4gdGhpcy5fbWFyZ2luO2lmKDA+dSl0aHJvdyBFcnJvcigibWFyZ2luIHNpemUgbXVzdCBiZSBwb3NpdGl2ZSIpO3RoaXMuX21hcmdpbj11O3RoaXMucmVkcmF3KCk7cmV0dXJuIHRoaXN9O3EucHJvdG90eXBlLm9yaWVudGF0aW9uPWZ1bmN0aW9uKHUpe2lmKG51bGw9PXUpcmV0dXJuIHRoaXMuX29yaWVudGF0aW9uO3U9dS50b0xvd2VyQ2FzZSgpO2lmKCJ0b3AiIT09dSYmImJvdHRvbSIhPT0KdSYmImxlZnQiIT09dSYmInJpZ2h0IiE9PXUpdGhyb3cgRXJyb3IoInVuc3VwcG9ydGVkIG9yaWVudGF0aW9uIik7dGhpcy5fb3JpZW50YXRpb249dTt0aGlzLnJlZHJhdygpO3JldHVybiB0aGlzfTtxLnByb3RvdHlwZS5zaG93RW5kVGlja0xhYmVscz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zaG93RW5kVGlja0xhYmVsc307cS5wcm90b3R5cGUuX3Nob3dBbGxUaWNrTWFya3M9ZnVuY3Rpb24oKXt0aGlzLl90aWNrTWFya0NvbnRhaW5lci5zZWxlY3RBbGwoIi4iK3EuVElDS19NQVJLX0NMQVNTKS5lYWNoKGZ1bmN0aW9uKCl7ci5zZWxlY3QodGhpcykuc3R5bGUoInZpc2liaWxpdHkiLCJpbmhlcml0Iil9KX07cS5wcm90b3R5cGUuX3Nob3dBbGxUaWNrTGFiZWxzPWZ1bmN0aW9uKCl7dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrcS5USUNLX0xBQkVMX0NMQVNTKS5lYWNoKGZ1bmN0aW9uKCl7ci5zZWxlY3QodGhpcykuc3R5bGUoInZpc2liaWxpdHkiLCJpbmhlcml0Iil9KX07CnEucHJvdG90eXBlLl9oaWRlT3ZlcmZsb3dpbmdUaWNrTGFiZWxzPWZ1bmN0aW9uKCl7dmFyIHU9dGhpcy5lbGVtZW50KCkubm9kZSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHc9dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrcS5USUNLX0xBQkVMX0NMQVNTKTt3LmVtcHR5KCl8fHcuZWFjaChmdW5jdGlvbigpe20uRE9NLmNsaWVudFJlY3RJbnNpZGUodGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx1KXx8ci5zZWxlY3QodGhpcykuc3R5bGUoInZpc2liaWxpdHkiLCJoaWRkZW4iKX0pfTtxLnByb3RvdHlwZS5faGlkZVRpY2tNYXJrc1dpdGhvdXRMYWJlbD1mdW5jdGlvbigpe3ZhciB1PXRoaXMuX3RpY2tNYXJrQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrcS5USUNLX01BUktfQ0xBU1MpLHc9dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrcS5USUNLX0xBQkVMX0NMQVNTKS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgQT1yLnNlbGVjdCh0aGlzKS5zdHlsZSgidmlzaWJpbGl0eSIpOwpyZXR1cm4iaW5oZXJpdCI9PT1BfHwidmlzaWJsZSI9PT1BfSkuZGF0YSgpO3UuZWFjaChmdW5jdGlvbihBKXstMT09PXcuaW5kZXhPZihBKSYmci5zZWxlY3QodGhpcykuc3R5bGUoInZpc2liaWxpdHkiLCJoaWRkZW4iKX0pfTtxLnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGU9ZnVuY3Rpb24oKXtuLnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGUuY2FsbCh0aGlzKTt0aGlzLl9hbm5vdGF0aW9uTWVhc3VyZXIucmVzZXQoKX07cmV0dXJuIHF9KGQuQ29tcG9uZW50KTtoLkVORF9USUNLX01BUktfQ0xBU1M9ImVuZC10aWNrLW1hcmsiO2guVElDS19NQVJLX0NMQVNTPSJ0aWNrLW1hcmsiO2guVElDS19MQUJFTF9DTEFTUz0idGljay1sYWJlbCI7aC5BTk5PVEFUSU9OX0xJTkVfQ0xBU1M9ImFubm90YXRpb24tbGluZSI7aC5BTk5PVEFUSU9OX1JFQ1RfQ0xBU1M9ImFubm90YXRpb24tcmVjdCI7aC5BTk5PVEFUSU9OX0NJUkNMRV9DTEFTUz0iYW5ub3RhdGlvbi1jaXJjbGUiO2guQU5OT1RBVElPTl9MQUJFTF9DTEFTUz0KImFubm90YXRpb24tbGFiZWwiO2guX0FOTk9UQVRJT05fTEFCRUxfUEFERElORz00O2YuQXhpcz1ofSxmdW5jdGlvbihkLGYpe2YuU0hPV19XQVJOSU5HUz0hMDtmLkFERF9USVRMRV9FTEVNRU5UUz0hMH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPWgoMCk7ZD1mdW5jdGlvbigpe2Z1bmN0aW9uIHIoKXt0aGlzLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uPXt9O3RoaXMuX2V2ZW50VGFyZ2V0PWRvY3VtZW50O3RoaXMuX2V2ZW50TmFtZVRvQ2FsbGJhY2tTZXQ9e307dGhpcy5fY29ubmVjdGVkPSExfXIucHJvdG90eXBlLl9oYXNOb0NhbGxiYWNrcz1mdW5jdGlvbigpe2Zvcih2YXIgbD1PYmplY3Qua2V5cyh0aGlzLl9ldmVudE5hbWVUb0NhbGxiYWNrU2V0KSxwPTA7cDxsLmxlbmd0aDtwKyspaWYoMCE9PXRoaXMuX2V2ZW50TmFtZVRvQ2FsbGJhY2tTZXRbbFtwXV0uc2l6ZSlyZXR1cm4hMTtyZXR1cm4hMH07ci5wcm90b3R5cGUuX2Nvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgbD10aGlzOwp0aGlzLl9jb25uZWN0ZWR8fChPYmplY3Qua2V5cyh0aGlzLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uKS5mb3JFYWNoKGZ1bmN0aW9uKHApe2wuX2V2ZW50VGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIocCxsLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW3BdKX0pLHRoaXMuX2Nvbm5lY3RlZD0hMCl9O3IucHJvdG90eXBlLl9kaXNjb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGw9dGhpczt0aGlzLl9jb25uZWN0ZWQmJnRoaXMuX2hhc05vQ2FsbGJhY2tzKCkmJihPYmplY3Qua2V5cyh0aGlzLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uKS5mb3JFYWNoKGZ1bmN0aW9uKHApe2wuX2V2ZW50VGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIocCxsLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW3BdKX0pLHRoaXMuX2Nvbm5lY3RlZD0hMSl9O3IucHJvdG90eXBlLl9hZGRDYWxsYmFja0ZvckV2ZW50PWZ1bmN0aW9uKGwscCl7bnVsbD09dGhpcy5fZXZlbnROYW1lVG9DYWxsYmFja1NldFtsXSYmCih0aGlzLl9ldmVudE5hbWVUb0NhbGxiYWNrU2V0W2xdPW5ldyBrLkNhbGxiYWNrU2V0KTt0aGlzLl9ldmVudE5hbWVUb0NhbGxiYWNrU2V0W2xdLmFkZChwKTt0aGlzLl9jb25uZWN0KCl9O3IucHJvdG90eXBlLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50PWZ1bmN0aW9uKGwscCl7bnVsbCE9dGhpcy5fZXZlbnROYW1lVG9DYWxsYmFja1NldFtsXSYmdGhpcy5fZXZlbnROYW1lVG9DYWxsYmFja1NldFtsXS5kZWxldGUocCk7dGhpcy5fZGlzY29ubmVjdCgpfTtyLnByb3RvdHlwZS5fY2FsbENhbGxiYWNrc0ZvckV2ZW50PWZ1bmN0aW9uKGwpe2Zvcih2YXIgcD1bXSxtPTE7bTxhcmd1bWVudHMubGVuZ3RoO20rKylwW20tMV09YXJndW1lbnRzW21dO209dGhpcy5fZXZlbnROYW1lVG9DYWxsYmFja1NldFtsXTtudWxsIT1tJiZtLmNhbGxDYWxsYmFja3MuYXBwbHkobSxwKX07cmV0dXJuIHJ9KCk7Zi5EaXNwYXRjaGVyPWR9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHIpe2Zvcih2YXIgbCBpbiByKWYuaGFzT3duUHJvcGVydHkobCl8fAooZltsXT1yW2xdKX1rKGgoODcpKTtrKGgoODgpKTtrKGgoNDApKTtrKGgoODkpKTtrKGgoOTApKTtkPWgoMjYpO2Yuem9vbU91dD1kLnpvb21PdXR9LGZ1bmN0aW9uKGQsZil7ZnVuY3Rpb24gaChuLHEsdSl7cmV0dXJuIHUtKHUtbikqcX1mdW5jdGlvbiBrKG4scSx1KXtyZXR1cm4obipxLXUpLyhxLTEpfWZ1bmN0aW9uIHIobixxLHUsdyl7dmFyIEE9MTxxO3U9QT93OnU7aWYobnVsbD09dSlyZXR1cm4gcTtuPW4uZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKTtyZXR1cm4oQT9NYXRoLm1pbjpNYXRoLm1heCkocSx1L01hdGguYWJzKG5bMV0tblswXSkpfWZ1bmN0aW9uIGwobixxLHUsdyxBKXtpZigxPj1xKXJldHVybntjZW50ZXJQb2ludDp1LHpvb21BbW91bnQ6cX07aWYobnVsbD09dyYmbnVsbD09QSlyZXR1cm57Y2VudGVyUG9pbnQ6dSx6b29tQW1vdW50OnF9O3ZhciB5PXAobikseD1tKG4pLEM9eD9JbmZpbml0eTotSW5maW5pdHk7eD14Py1JbmZpbml0eTpJbmZpbml0eTt3PW51bGw9PQp3P0M6dztBPW51bGw9PUE/eDpBO3g9bi5nZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbigpO0M9eFswXTt4PXhbMV07QT1uLnNjYWxlVHJhbnNmb3JtYXRpb24oQSk7eD1uLnNjYWxlVHJhbnNmb3JtYXRpb24oeCk7dmFyIEc9aCh4LHEsdSk7dz1uLnNjYWxlVHJhbnNmb3JtYXRpb24odyk7bj1uLnNjYWxlVHJhbnNmb3JtYXRpb24oQyk7Qz1oKG4scSx1KTtyZXR1cm4gTWF0aC5hYnMoRy1DKT5NYXRoLmFicyhBLXcpPyhxPShBLXcpLyh4LW4pLDEhPT1xP3tjZW50ZXJQb2ludDprKHgscSxBKSx6b29tQW1vdW50OnF9OntjZW50ZXJQb2ludDp1LHpvb21BbW91bnQ6cX0pOkc+QSE9eT97Y2VudGVyUG9pbnQ6ayh4LHEsQSksem9vbUFtb3VudDpxfTpDPHchPXk/e2NlbnRlclBvaW50OmsobixxLHcpLHpvb21BbW91bnQ6cX06e2NlbnRlclBvaW50OnUsem9vbUFtb3VudDpxfX1mdW5jdGlvbiBwKG4pe249bi5yYW5nZSgpO3JldHVybiBuWzFdPG5bMF19ZnVuY3Rpb24gbShuKXtuPW4uZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKTsKcmV0dXJuIG5bMV08blswXX1mLnpvb21PdXQ9aDtmLmNvbnN0cmFpbmVkWm9vbT1mdW5jdGlvbihuLHEsdSx3LEEseSx4KXtxPXIobixxLHcsQSk7cmV0dXJuIGwobixxLHUseSx4KX07Zi5jb25zdHJhaW5ab29tRXh0ZW50cz1yO2YuY29uc3RyYWluWm9vbVZhbHVlcz1sO2YuY29uc3RyYWluZWRUcmFuc2xhdGlvbj1mdW5jdGlvbihuLHEsdSx3KXt2YXIgQT1uLmdldFRyYW5zZm9ybWF0aW9uRG9tYWluKCkseT1BWzBdLHg9QVsxXTtBPXAobik7MDxxIT09QT8odT13LG51bGwhPXUmJih5PW4uc2NhbGVUcmFuc2Zvcm1hdGlvbih4KSxuPW4uc2NhbGVUcmFuc2Zvcm1hdGlvbih1KSxxPShBP01hdGgubWF4Ok1hdGgubWluKSh5K3EsbikteSkpOm51bGwhPXUmJih5PW4uc2NhbGVUcmFuc2Zvcm1hdGlvbih5KSxuPW4uc2NhbGVUcmFuc2Zvcm1hdGlvbih1KSxxPShBP01hdGgubWluOk1hdGgubWF4KSh5K3EsbikteSk7cmV0dXJuIHF9fSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhILApLLEwpe3ZhciBKPUguc2NhbGU7aWYoSiBpbnN0YW5jZW9mIHkuQ2F0ZWdvcnkpTD1KLnJhbmdlQmFuZCgpO2Vsc2V7dmFyIE89SC5hY2Nlc3NvcjtIPWwuc2V0KEMuQXJyYXkuZmxhdHRlbihLLm1hcChmdW5jdGlvbihTKXtyZXR1cm4gUy5kYXRhKCkubWFwKGZ1bmN0aW9uKE4sUil7cmV0dXJuIE8oTixSLFMpfSkuZmlsdGVyKGZ1bmN0aW9uKE4pe3JldHVybiBudWxsIT1OfSkubWFwKGZ1bmN0aW9uKE4pe3JldHVybiBOLnZhbHVlT2YoKX0pfSkpKS52YWx1ZXMoKS5tYXAoZnVuY3Rpb24oUyl7cmV0dXJuK1N9KTtILnNvcnQoZnVuY3Rpb24oUyxOKXtyZXR1cm4gUy1OfSk7SD1ILm1hcChmdW5jdGlvbihTKXtyZXR1cm4gSi5zY2FsZShTKX0pO0g9bC5wYWlycyhIKTtMPUMuTWF0aC5taW4oSCxmdW5jdGlvbihTKXtyZXR1cm4gTWF0aC5hYnMoU1sxXS1TWzBdKX0sTCpCLl9TSU5HTEVfQkFSX0RJTUVOU0lPTl9SQVRJTyk7TCo9Qi5fQkFSX1RISUNLTkVTU19SQVRJT31yZXR1cm4gTH0KdmFyIHI9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKEgsSyl7ZnVuY3Rpb24gTCgpe3RoaXMuY29uc3RydWN0b3I9SH1mb3IodmFyIEogaW4gSylLLmhhc093blByb3BlcnR5KEopJiYoSFtKXT1LW0pdKTtILnByb3RvdHlwZT1udWxsPT09Sz9PYmplY3QuY3JlYXRlKEspOihMLnByb3RvdHlwZT1LLnByb3RvdHlwZSxuZXcgTCl9LGw9aCgxKSxwPWgoNSksbT1oKDcpLG49aCg4KSxxPWgoMTQpLHU9aCg2KSx3PWgoMzQpLEE9aCgyMCkseT1oKDMpLHg9aCgxMSksQz1oKDApO2Q9aCgxMCk7dmFyIEc9aCgxOSksRD1oKDIpO2g9aCgxNik7Zi5CYXJPcmllbnRhdGlvbj1kLm1ha2VFbnVtKFsidmVydGljYWwiLCJob3Jpem9udGFsIl0pO2YuTGFiZWxzUG9zaXRpb249ZC5tYWtlRW51bShbInN0YXJ0IiwibWlkZGxlIiwiZW5kIiwib3V0c2lkZSJdKTtmLkJhckFsaWdubWVudD1kLm1ha2VFbnVtKFsic3RhcnQiLCJtaWRkbGUiLCJlbmQiXSk7dmFyIEI9ZnVuY3Rpb24oSCl7ZnVuY3Rpb24gSyhMKXt2b2lkIDA9PT0KTCYmKEw9InZlcnRpY2FsIik7dmFyIEo9SC5jYWxsKHRoaXMpfHx0aGlzO0ouX2xhYmVsRm9ybWF0dGVyPW4uaWRlbnRpdHkoKTtKLl9sYWJlbHNFbmFibGVkPSExO0ouX2xhYmVsc1Bvc2l0aW9uPWYuTGFiZWxzUG9zaXRpb24uZW5kO0ouX2hpZGVCYXJzSWZBbnlBcmVUb29XaWRlPSEwO0ouX2JhckFsaWdubWVudD0ibWlkZGxlIjtKLl9jb21wdXRlQmFyUGl4ZWxUaGlja25lc3M9QS5tZW1vaXplKGspO0ouX2ZpeGVkQmFyUGl4ZWxUaGlja25lc3M9ITA7Si5hZGRDbGFzcygiYmFyLXBsb3QiKTtpZigidmVydGljYWwiIT09TCYmImhvcml6b250YWwiIT09TCl0aHJvdyBFcnJvcihMKyIgaXMgbm90IGEgdmFsaWQgb3JpZW50YXRpb24gZm9yIFBsb3RzLkJhciIpO0ouX2lzVmVydGljYWw9InZlcnRpY2FsIj09PUw7Si5hbmltYXRvcigiYmFzZWxpbmUiLG5ldyBtLk51bGwpO0ouYXR0cigiZmlsbCIsKG5ldyB5LkNvbG9yKS5yYW5nZSgpWzBdKTtKLmF0dHIoSy5fQkFSX1RISUNLTkVTU19LRVksCmZ1bmN0aW9uKCl7cmV0dXJuIEouX2JhclBpeGVsVGhpY2tuZXNzKCl9KTtKLl9sYWJlbENvbmZpZz1uZXcgQy5NYXA7Si5fYmFzZWxpbmVWYWx1ZVByb3ZpZGVyPWZ1bmN0aW9uKCl7cmV0dXJuW0ouYmFzZWxpbmVWYWx1ZSgpXX07cmV0dXJuIEp9cihLLEgpO0sucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24oTCxKLE8pe0gucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQuY2FsbCh0aGlzLEwsSixPKTt0aGlzLl91cGRhdGVFeHRlbnRzKCk7cmV0dXJuIHRoaXN9O0sucHJvdG90eXBlLng9ZnVuY3Rpb24oTCxKKXtpZihudWxsPT1MKXJldHVybiBILnByb3RvdHlwZS54LmNhbGwodGhpcyk7bnVsbD09Sj9ILnByb3RvdHlwZS54LmNhbGwodGhpcyxMKTpILnByb3RvdHlwZS54LmNhbGwodGhpcyxMLEopO3RoaXMuX3VwZGF0ZVRoaWNrbmVzc0F0dHIoKTt0aGlzLl91cGRhdGVMZW5ndGhTY2FsZSgpO3JldHVybiB0aGlzfTtLLnByb3RvdHlwZS55PWZ1bmN0aW9uKEwsSil7aWYobnVsbD09CkwpcmV0dXJuIEgucHJvdG90eXBlLnkuY2FsbCh0aGlzKTtudWxsPT1KP0gucHJvdG90eXBlLnkuY2FsbCh0aGlzLEwpOkgucHJvdG90eXBlLnkuY2FsbCh0aGlzLEwsSik7dGhpcy5fdXBkYXRlTGVuZ3RoU2NhbGUoKTtyZXR1cm4gdGhpc307Sy5wcm90b3R5cGUubGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzVmVydGljYWw/dGhpcy55KCk6dGhpcy54KCl9O0sucHJvdG90eXBlLnBvc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzVmVydGljYWw/dGhpcy54KCk6dGhpcy55KCl9O0sucHJvdG90eXBlLmJhckVuZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldChLLl9CQVJfRU5EX0tFWSl9O0sucHJvdG90eXBlLmJhckFsaWdubWVudD1mdW5jdGlvbihMKXtpZihudWxsPT1MKXJldHVybiB0aGlzLl9iYXJBbGlnbm1lbnQ7dGhpcy5fYmFyQWxpZ25tZW50PUw7dGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpO3RoaXMucmVuZGVyKCk7CnJldHVybiB0aGlzfTtLLnByb3RvdHlwZS5vcmllbnRhdGlvbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9pc1ZlcnRpY2FsPyJ2ZXJ0aWNhbCI6Imhvcml6b250YWwifTtLLnByb3RvdHlwZS5fY3JlYXRlRHJhd2VyPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB1LlByb3h5RHJhd2VyKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB3LlJlY3RhbmdsZVNWR0RyYXdlcihLLl9CQVJfQVJFQV9DTEFTUyl9LGZ1bmN0aW9uKEwpe3JldHVybiBuZXcgcS5SZWN0YW5nbGVDYW52YXNEcmF3ZXIoTCl9KX07Sy5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7SC5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyk7dGhpcy5fYmFzZWxpbmU9dGhpcy5fcmVuZGVyQXJlYS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKCJiYXNlbGluZSIsITApfTtLLnByb3RvdHlwZS5iYXNlbGluZVZhbHVlPWZ1bmN0aW9uKCl7aWYobnVsbCE9dGhpcy5fYmFzZWxpbmVWYWx1ZSlyZXR1cm4gdGhpcy5fYmFzZWxpbmVWYWx1ZTtpZighdGhpcy5fcHJvamVjdG9yc1JlYWR5KCkpcmV0dXJuIDA7CnZhciBMPXRoaXMubGVuZ3RoKCkuc2NhbGU7cmV0dXJuIEw/TCBpbnN0YW5jZW9mIHkuVGltZT9uZXcgRGF0ZSgwKTowOjB9O0sucHJvdG90eXBlLmFkZERhdGFzZXQ9ZnVuY3Rpb24oTCl7SC5wcm90b3R5cGUuYWRkRGF0YXNldC5jYWxsKHRoaXMsTCl9O0sucHJvdG90eXBlLl9hZGREYXRhc2V0PWZ1bmN0aW9uKEwpe0gucHJvdG90eXBlLl9hZGREYXRhc2V0LmNhbGwodGhpcyxMKTtyZXR1cm4gdGhpc307Sy5wcm90b3R5cGUucmVtb3ZlRGF0YXNldD1mdW5jdGlvbihMKXtILnByb3RvdHlwZS5yZW1vdmVEYXRhc2V0LmNhbGwodGhpcyxMKX07Sy5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXQ9ZnVuY3Rpb24oTCl7SC5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXQuY2FsbCh0aGlzLEwpO3JldHVybiB0aGlzfTtLLnByb3RvdHlwZS5kYXRhc2V0cz1mdW5jdGlvbihMKXtpZihudWxsPT1MKXJldHVybiBILnByb3RvdHlwZS5kYXRhc2V0cy5jYWxsKHRoaXMpO0gucHJvdG90eXBlLmRhdGFzZXRzLmNhbGwodGhpcywKTCk7cmV0dXJuIHRoaXN9O0sucHJvdG90eXBlLmxhYmVsc0VuYWJsZWQ9ZnVuY3Rpb24oTCxKKXtpZihudWxsPT1MKXJldHVybiB0aGlzLl9sYWJlbHNFbmFibGVkO3RoaXMuX2xhYmVsc0VuYWJsZWQ9TDtudWxsIT1KJiYodGhpcy5fbGFiZWxzUG9zaXRpb249Sik7dGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O0sucHJvdG90eXBlLmxhYmVsRm9ybWF0dGVyPWZ1bmN0aW9uKEwpe2lmKG51bGw9PUwpcmV0dXJuIHRoaXMuX2xhYmVsRm9ybWF0dGVyO3RoaXMuX2xhYmVsRm9ybWF0dGVyPUw7dGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O0sucHJvdG90eXBlLl9jcmVhdGVOb2Rlc0ZvckRhdGFzZXQ9ZnVuY3Rpb24oTCl7dmFyIEo9SC5wcm90b3R5cGUuX2NyZWF0ZU5vZGVzRm9yRGF0YXNldC5jYWxsKHRoaXMsTCksTz10aGlzLl9yZW5kZXJBcmVhLmFwcGVuZCgiZyIpLmNsYXNzZWQoSy5fTEFCRUxfQVJFQV9DTEFTUywKITApLFM9bmV3IHAuU3ZnQ29udGV4dChPLm5vZGUoKSksTj1uZXcgcC5DYWNoZU1lYXN1cmVyKFMpO1M9bmV3IHAuV3JpdGVyKE4sUyk7dGhpcy5fbGFiZWxDb25maWcuc2V0KEwse2xhYmVsQXJlYTpPLG1lYXN1cmVyOk4sd3JpdGVyOlN9KTtyZXR1cm4gSn07Sy5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXROb2Rlcz1mdW5jdGlvbihMKXtILnByb3RvdHlwZS5fcmVtb3ZlRGF0YXNldE5vZGVzLmNhbGwodGhpcyxMKTt2YXIgSj10aGlzLl9sYWJlbENvbmZpZy5nZXQoTCk7bnVsbCE9SiYmKEoubGFiZWxBcmVhLnJlbW92ZSgpLHRoaXMuX2xhYmVsQ29uZmlnLmRlbGV0ZShMKSl9O0sucHJvdG90eXBlLmVudGl0eU5lYXJlc3Q9ZnVuY3Rpb24oTCl7dmFyIEo9dGhpcztyZXR1cm4gdGhpcy5fY29tcHV0ZUJhclBpeGVsVGhpY2tuZXNzLmRvTG9ja2VkKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gTyhiYSxrYSxXLEVhKXtyZXR1cm4gSi5fcGl4ZWxQb2ludEJhcihmYShiYSxrYSxXKSxvYSxFYSl9CnZhciBTPUouX2lzVmVydGljYWw/TC54OkwueSxOPUouX2lzVmVydGljYWw/TC55OkwueCxSPUouYm91bmRzKCksWD17bWluOjAsbWF4OlIuYm90dG9tUmlnaHQueC1SLnRvcExlZnQueH0sYWE9e21pbjowLG1heDpSLmJvdHRvbVJpZ2h0LnktUi50b3BMZWZ0Lnl9LGZhPUQuUGxvdC5fc2NhbGVkQWNjZXNzb3IoSi5sZW5ndGgoKSksb2E9Si5sZW5ndGgoKS5zY2FsZS5zY2FsZShKLmJhc2VsaW5lVmFsdWUoKSksWj1JbmZpbml0eSxjYT1JbmZpbml0eSxqYTtKLl9nZXRFbnRpdHlTdG9yZSgpLmVudGl0aWVzKCkuZm9yRWFjaChmdW5jdGlvbihiYSl7dmFyIGthPUouX2VudGl0eUJvdW5kcyhiYSk7aWYoQy5ET00uaW50ZXJzZWN0c0JCb3goWCxhYSxrYSkpe3ZhciBXPTAsRWE9MDtpZighQy5ET00uaW50ZXJzZWN0c0JCb3goTC54LEwueSxrYSwuNSkpe0VhPU8oYmEuZGF0dW0sYmEuaW5kZXgsYmEuZGF0YXNldCxrYSk7Vz1NYXRoLmFicyhTLShKLl9pc1ZlcnRpY2FsP0VhLng6RWEueSkpOwp2YXIgdmE9Si5faXNWZXJ0aWNhbD9rYS55OmthLng7a2E9dmErKEouX2lzVmVydGljYWw/a2EuaGVpZ2h0OmthLndpZHRoKTtFYT1OPj12YS0uNSYmTjw9a2ErLjU/MDpNYXRoLmFicyhOLShKLl9pc1ZlcnRpY2FsP0VhLnk6RWEueCkpfWlmKFc8Wnx8Vz09PVomJkVhPGNhKWphPWJhLFo9VyxjYT1FYX19KTtpZih2b2lkIDAhPT1qYSlyZXR1cm4gSi5fbGlnaHR3ZWlnaHRQbG90RW50aXR5VG9QbG90RW50aXR5KGphKX0pfTtLLnByb3RvdHlwZS5lbnRpdGllc0F0PWZ1bmN0aW9uKEwpe3JldHVybiB0aGlzLl9lbnRpdGllc0ludGVyc2VjdGluZyhMLngsTC55KX07Sy5wcm90b3R5cGUuX2VudGl0aWVzSW50ZXJzZWN0aW5nPWZ1bmN0aW9uKEwsSil7dmFyIE89dGhpcyxTPVtdO3RoaXMuX2dldEVudGl0eVN0b3JlKCkuZW50aXRpZXMoKS5mb3JFYWNoKGZ1bmN0aW9uKE4pe0MuRE9NLmludGVyc2VjdHNCQm94KEwsSixPLl9lbnRpdHlCb3VuZHMoTikpJiZTLnB1c2goTy5fbGlnaHR3ZWlnaHRQbG90RW50aXR5VG9QbG90RW50aXR5KE4pKX0pOwpyZXR1cm4gU307Sy5wcm90b3R5cGUuX3VwZGF0ZUxlbmd0aFNjYWxlPWZ1bmN0aW9uKCl7aWYodGhpcy5fcHJvamVjdG9yc1JlYWR5KCkpe3ZhciBMPXRoaXMubGVuZ3RoKCkuc2NhbGU7TCBpbnN0YW5jZW9mIHguUXVhbnRpdGF0aXZlU2NhbGUmJihMLmFkZFBhZGRpbmdFeGNlcHRpb25zUHJvdmlkZXIodGhpcy5fYmFzZWxpbmVWYWx1ZVByb3ZpZGVyKSxMLmFkZEluY2x1ZGVkVmFsdWVzUHJvdmlkZXIodGhpcy5fYmFzZWxpbmVWYWx1ZVByb3ZpZGVyKSl9fTtLLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3ZhciBMPXRoaXM7dGhpcy5fYmFyUGl4ZWxUaGlja25lc3MoKTtyZXR1cm4gdGhpcy5fY29tcHV0ZUJhclBpeGVsVGhpY2tuZXNzLmRvTG9ja2VkKGZ1bmN0aW9uKCl7cmV0dXJuIEgucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5LmNhbGwoTCl9KX07Sy5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD1mdW5jdGlvbihMKXt2YXIgSj10aGlzLE89dGhpcy5sZW5ndGgoKS5zY2FsZS5zY2FsZSh0aGlzLmJhc2VsaW5lVmFsdWUoKSk7Ck89e3gxOnRoaXMuX2lzVmVydGljYWw/MDpPLHkxOnRoaXMuX2lzVmVydGljYWw/TzowLHgyOnRoaXMuX2lzVmVydGljYWw/dGhpcy53aWR0aCgpOk8seTI6dGhpcy5faXNWZXJ0aWNhbD9POnRoaXMuaGVpZ2h0KCl9O3RoaXMuX2dldEFuaW1hdG9yKCJiYXNlbGluZSIpLmFuaW1hdGUodGhpcy5fYmFzZWxpbmUsTyk7dGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oUyl7cmV0dXJuIEouX2xhYmVsQ29uZmlnLmdldChTKS5sYWJlbEFyZWEuc2VsZWN0QWxsKCJnIikucmVtb3ZlKCl9KTt0aGlzLl9sYWJlbHNFbmFibGVkJiZDLldpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIEouX2RyYXdMYWJlbHMoKX0sTCl9O0sucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eT1mdW5jdGlvbihMKXt2YXIgSj10aGlzLE89SC5wcm90b3R5cGUuZ2V0RXh0ZW50c0ZvclByb3BlcnR5LmNhbGwodGhpcyxMKTtpZigieCI9PT1MJiZ0aGlzLl9pc1ZlcnRpY2FsKUw9dGhpcy54KCk7CmVsc2V7aWYoInkiIT09THx8dGhpcy5faXNWZXJ0aWNhbClyZXR1cm4gTztMPXRoaXMueSgpfWlmKCEoTCYmTC5zY2FsZSYmTC5zY2FsZSBpbnN0YW5jZW9mIHguUXVhbnRpdGF0aXZlU2NhbGUpKXJldHVybiBPO3ZhciBTPUwuc2NhbGUsTj10aGlzLl9iYXJQaXhlbFRoaWNrbmVzcygpO3JldHVybiBPPU8ubWFwKGZ1bmN0aW9uKFIpe3JldHVybiBsLmV4dGVudChbUy5pbnZlcnQoSi5fZ2V0UG9zaXRpb25BdHRyKFMuc2NhbGUoUlswXSksTikpLFMuaW52ZXJ0KEouX2dldFBvc2l0aW9uQXR0cihTLnNjYWxlKFJbMF0pLE4pK04pLFMuaW52ZXJ0KEouX2dldFBvc2l0aW9uQXR0cihTLnNjYWxlKFJbMV0pLE4pKSxTLmludmVydChKLl9nZXRQb3NpdGlvbkF0dHIoUy5zY2FsZShSWzFdKSxOKStOKV0pfSl9O0sucHJvdG90eXBlLl9nZXRQb3NpdGlvbkF0dHI9ZnVuY3Rpb24oTCxKKXt0aGlzLl9pc1ZlcnRpY2FsfHwoTC09SixKKj0tMSk7c3dpdGNoKHRoaXMuX2JhckFsaWdubWVudCl7Y2FzZSAic3RhcnQiOnJldHVybiBMOwpjYXNlICJlbmQiOnJldHVybiBMLUo7ZGVmYXVsdDpyZXR1cm4gTC1KLzJ9fTtLLnByb3RvdHlwZS5fZHJhd0xhYmVscz1mdW5jdGlvbigpe3ZhciBMPXRoaXMsSj10aGlzLl9nZXREYXRhVG9EcmF3KCksTz10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxTPXRoaXMuZGF0YXNldHMoKS5zb21lKGZ1bmN0aW9uKE4pe3JldHVybiBKLmdldChOKS5zb21lKGZ1bmN0aW9uKFIsWCl7cmV0dXJuIG51bGw9PVI/ITE6TC5fZHJhd0xhYmVsKFIsWCxOLE8pfSl9KTt0aGlzLl9oaWRlQmFyc0lmQW55QXJlVG9vV2lkZSYmUyYmdGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oTil7cmV0dXJuIEwuX2xhYmVsQ29uZmlnLmdldChOKS5sYWJlbEFyZWEuc2VsZWN0QWxsKCJnIikucmVtb3ZlKCl9KX07Sy5wcm90b3R5cGUuX2RyYXdMYWJlbD1mdW5jdGlvbihMLEosTyxTKXt2YXIgTj10aGlzLl9sYWJlbENvbmZpZy5nZXQoTyksUj1OLmxhYmVsQXJlYSxYPU4ubWVhc3VyZXI7Tj1OLndyaXRlcjsKdmFyIGFhPXRoaXMubGVuZ3RoKCkuYWNjZXNzb3IsZmE9YWEoTCxKLE8pO2FhPXRoaXMubGVuZ3RoKCkuc2NhbGU7dmFyIG9hPW51bGwhPWFhP2FhLnNjYWxlKGZhKTpmYSxaPW51bGwhPWFhP2FhLnNjYWxlKHRoaXMuYmFzZWxpbmVWYWx1ZSgpKTp0aGlzLmJhc2VsaW5lVmFsdWUoKSxjYT17eDpTLngoTCxKLE8pLHk6Uy55KEwsSixPKX07YWE9e3dpZHRoOlMud2lkdGgoTCxKLE8pLGhlaWdodDpTLmhlaWdodChMLEosTyl9O2ZhPXRoaXMuX2xhYmVsRm9ybWF0dGVyKGZhLEwsSixPKTtYPVgubWVhc3VyZShmYSk7dmFyIGphPXRoaXMuX3Nob3VsZFNob3dMYWJlbE9uQmFyKGNhLGFhLFgpO2NhPXRoaXMuX2NhbGN1bGF0ZUxhYmVsUHJvcGVydGllcyhjYSxhYSxYLGphLHRoaXMuX2lzVmVydGljYWw/b2E8PVo6b2E8Wik7b2E9Y2EuY29udGFpbmVyRGltZW5zaW9ucztaPWNhLmxhYmVsQ29udGFpbmVyT3JpZ2luO2NhPWNhLmFsaWdubWVudDtMPVMuZmlsbChMLEosTyk7Uj10aGlzLl9jcmVhdGVMYWJlbENvbnRhaW5lcihSLApaLGphLEwpO04ud3JpdGUoZmEsb2Eud2lkdGgsb2EuaGVpZ2h0LHt4QWxpZ246Y2EueCx5QWxpZ246Y2EueX0sUi5ub2RlKCkpO3JldHVybiB0aGlzLl9pc1ZlcnRpY2FsP2FhLndpZHRoPFgud2lkdGg6YWEuaGVpZ2h0PFguaGVpZ2h0fTtLLnByb3RvdHlwZS5fc2hvdWxkU2hvd0xhYmVsT25CYXI9ZnVuY3Rpb24oTCxKLE8pe2lmKHRoaXMuX2xhYmVsc1Bvc2l0aW9uPT09Zi5MYWJlbHNQb3NpdGlvbi5vdXRzaWRlKXJldHVybiExO0w9dGhpcy5faXNWZXJ0aWNhbD9MLnk6TC54O3ZhciBTPXRoaXMuX2lzVmVydGljYWw/Si5oZWlnaHQ6Si53aWR0aDtKPXRoaXMuX2lzVmVydGljYWw/dGhpcy5oZWlnaHQoKTp0aGlzLndpZHRoKCk7Tz10aGlzLl9pc1ZlcnRpY2FsP08uaGVpZ2h0Ok8ud2lkdGg7dmFyIE49TCtTO04+Sj9TPUotTDowPkwmJihTPU4pO3JldHVybiBPK0suX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSPD1TfTtLLnByb3RvdHlwZS5fY2FsY3VsYXRlTGFiZWxQcm9wZXJ0aWVzPQpmdW5jdGlvbihMLEosTyxTLE4pe2Z1bmN0aW9uIFIoa2Epe3N3aXRjaChrYSl7Y2FzZSAidG9wTGVmdCI6Wj1YLl9pc1ZlcnRpY2FsPyJ0b3AiOiJsZWZ0IjtqYSs9Sy5fTEFCRUxfTUFSR0lOX0lOU0lERV9CQVI7YmErPUsuX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSO2JyZWFrO2Nhc2UgImNlbnRlciI6YmErPShmYStvYSkvMjticmVhaztjYXNlICJib3R0b21SaWdodCI6Wj1YLl9pc1ZlcnRpY2FsPyJib3R0b20iOiJyaWdodCIsamEtPUsuX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSLGJhKz1jYS1LLl9MQUJFTF9NQVJHSU5fSU5TSURFX0JBUi1vYX19dmFyIFg9dGhpcyxhYT10aGlzLl9pc1ZlcnRpY2FsP0wueTpMLngsZmE9dGhpcy5faXNWZXJ0aWNhbD9KLmhlaWdodDpKLndpZHRoLG9hPXRoaXMuX2lzVmVydGljYWw/Ty5oZWlnaHQ6Ty53aWR0aCxaPSJjZW50ZXIiLGNhPWZhLGphPWFhLGJhPWFhO2lmKFMpc3dpdGNoKHRoaXMuX2xhYmVsc1Bvc2l0aW9uKXtjYXNlIGYuTGFiZWxzUG9zaXRpb24uc3RhcnQ6Tj8KUigiYm90dG9tUmlnaHQiKTpSKCJ0b3BMZWZ0Iik7YnJlYWs7Y2FzZSBmLkxhYmVsc1Bvc2l0aW9uLm1pZGRsZTpSKCJjZW50ZXIiKTticmVhaztjYXNlIGYuTGFiZWxzUG9zaXRpb24uZW5kOk4/UigidG9wTGVmdCIpOlIoImJvdHRvbVJpZ2h0Iil9ZWxzZSBOPyhaPXRoaXMuX2lzVmVydGljYWw/InRvcCI6ImxlZnQiLGNhPWZhK0suX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSK29hLGphLT1LLl9MQUJFTF9NQVJHSU5fSU5TSURFX0JBUitvYSxiYS09Sy5fTEFCRUxfTUFSR0lOX0lOU0lERV9CQVIrb2EpOihaPXRoaXMuX2lzVmVydGljYWw/ImJvdHRvbSI6InJpZ2h0IixjYT1mYStLLl9MQUJFTF9NQVJHSU5fSU5TSURFX0JBUitvYSxiYSs9ZmErSy5fTEFCRUxfTUFSR0lOX0lOU0lERV9CQVIpO3JldHVybntjb250YWluZXJEaW1lbnNpb25zOnt3aWR0aDp0aGlzLl9pc1ZlcnRpY2FsP0oud2lkdGg6Y2EsaGVpZ2h0OnRoaXMuX2lzVmVydGljYWw/Y2E6Si5oZWlnaHR9LGxhYmVsQ29udGFpbmVyT3JpZ2luOnt4OnRoaXMuX2lzVmVydGljYWw/CkwueDpqYSx5OnRoaXMuX2lzVmVydGljYWw/amE6TC55fSxsYWJlbE9yaWdpbjp7eDp0aGlzLl9pc1ZlcnRpY2FsP0wueCtKLndpZHRoLzItTy53aWR0aC8yOmJhLHk6dGhpcy5faXNWZXJ0aWNhbD9iYTpMLnkrSi5oZWlnaHQvMi1PLmhlaWdodC8yfSxhbGlnbm1lbnQ6e3g6dGhpcy5faXNWZXJ0aWNhbD8iY2VudGVyIjpaLHk6dGhpcy5faXNWZXJ0aWNhbD9aOiJjZW50ZXIifX19O0sucHJvdG90eXBlLl9jcmVhdGVMYWJlbENvbnRhaW5lcj1mdW5jdGlvbihMLEosTyxTKXtMPUwuYXBwZW5kKCJnIikuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrSi54KyIsICIrSi55KyIpIik7Tz8oTC5jbGFzc2VkKCJvbi1iYXItbGFiZWwiLCEwKSxPPTEuNipDLkNvbG9yLmNvbnRyYXN0KCJ3aGl0ZSIsUyk8Qy5Db2xvci5jb250cmFzdCgiYmxhY2siLFMpLEwuY2xhc3NlZChPPyJkYXJrLWxhYmVsIjoibGlnaHQtbGFiZWwiLCEwKSk6TC5jbGFzc2VkKCJvZmYtYmFyLWxhYmVsIiwhMCk7cmV0dXJuIEx9OwpLLnByb3RvdHlwZS5fZ2VuZXJhdGVEcmF3U3RlcHM9ZnVuY3Rpb24oKXt2YXIgTD1bXTtpZih0aGlzLl9hbmltYXRlT25OZXh0UmVuZGVyKCkpe3ZhciBKPXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLE89dGhpcy5sZW5ndGgoKS5zY2FsZS5zY2FsZSh0aGlzLmJhc2VsaW5lVmFsdWUoKSksUz10aGlzLl9pc1ZlcnRpY2FsPyJoZWlnaHQiOiJ3aWR0aCI7Slt0aGlzLl9pc1ZlcnRpY2FsPyJ5IjoieCJdPWZ1bmN0aW9uKCl7cmV0dXJuIE99O0pbU109ZnVuY3Rpb24oKXtyZXR1cm4gMH07TC5wdXNoKHthdHRyVG9Qcm9qZWN0b3I6SixhbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcihHLkFuaW1hdG9yLlJFU0VUKX0pfUwucHVzaCh7YXR0clRvUHJvamVjdG9yOnRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLGFuaW1hdG9yOnRoaXMuX2dldEFuaW1hdG9yKEcuQW5pbWF0b3IuTUFJTil9KTtyZXR1cm4gTH07Sy5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gTChjYSwKamEsYmEpe3JldHVybiBNYXRoLmFicyhTLWFhKGNhLGphLGJhKSl9dmFyIEo9dGhpcyxPPUgucHJvdG90eXBlLl9nZW5lcmF0ZUF0dHJUb1Byb2plY3Rvci5jYWxsKHRoaXMpLFM9dGhpcy5sZW5ndGgoKS5zY2FsZS5zY2FsZSh0aGlzLmJhc2VsaW5lVmFsdWUoKSksTj10aGlzLl9pc1ZlcnRpY2FsPyJ5IjoieCIsUj10aGlzLl9pc1ZlcnRpY2FsPyJ4IjoieSIsWD1ELlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMucG9zaXRpb24oKSksYWE9RC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLmxlbmd0aCgpKSxmYT1PW0suX0JBUl9USElDS05FU1NfS0VZXSxvYT1PLmdhcCxaPW51bGw9PW9hP2ZhOmZ1bmN0aW9uKGNhLGphLGJhKXtyZXR1cm4gZmEoY2EsamEsYmEpLW9hKGNhLGphLGJhKX07Ty53aWR0aD10aGlzLl9pc1ZlcnRpY2FsP1o6TDtPLmhlaWdodD10aGlzLl9pc1ZlcnRpY2FsP0w6WjtPW05dPWZ1bmN0aW9uKGNhLGphLGJhKXtjYT1hYShjYSxqYSxiYSk7cmV0dXJuIGNhPlM/ClM6Y2F9O09bUl09ZnVuY3Rpb24oY2EsamEsYmEpe3JldHVybiBKLl9nZXRQb3NpdGlvbkF0dHIoWChjYSxqYSxiYSksZmEoY2EsamEsYmEpKX07cmV0dXJuIE99O0sucHJvdG90eXBlLl91cGRhdGVUaGlja25lc3NBdHRyPWZ1bmN0aW9uKCl7dmFyIEw9dGhpcyxKPXRoaXMucG9zaXRpb24oKSxPPXRoaXMuYmFyRW5kKCk7bnVsbCE9SiYmbnVsbCE9Tz8odGhpcy5fZml4ZWRCYXJQaXhlbFRoaWNrbmVzcz0hMSx0aGlzLmF0dHIoSy5fQkFSX1RISUNLTkVTU19LRVksZnVuY3Rpb24oUyxOLFIpe3ZhciBYPUouYWNjZXNzb3IoUyxOLFIpO1M9Ty5hY2Nlc3NvcihTLE4sUik7WD1KLnNjYWxlP0ouc2NhbGUuc2NhbGUoWCk6WDtTPU8uc2NhbGU/Ty5zY2FsZS5zY2FsZShTKTpTO3JldHVybiBNYXRoLmFicyhTLVgpfSkpOih0aGlzLl9maXhlZEJhclBpeGVsVGhpY2tuZXNzPSEwLHRoaXMuYXR0cihLLl9CQVJfVEhJQ0tORVNTX0tFWSxmdW5jdGlvbigpe3JldHVybiBMLl9iYXJQaXhlbFRoaWNrbmVzcygpfSkpfTsKSy5wcm90b3R5cGUuX2JhclBpeGVsVGhpY2tuZXNzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ZpeGVkQmFyUGl4ZWxUaGlja25lc3M/dGhpcy5fcHJvamVjdG9yc1JlYWR5KCk/dGhpcy5fY29tcHV0ZUJhclBpeGVsVGhpY2tuZXNzKHRoaXMucG9zaXRpb24oKSx0aGlzLmRhdGFzZXRzKCksdGhpcy5faXNWZXJ0aWNhbD90aGlzLndpZHRoKCk6dGhpcy5oZWlnaHQoKSk6MDowfTtLLnByb3RvdHlwZS5lbnRpdGllcz1mdW5jdGlvbihMKXt2b2lkIDA9PT1MJiYoTD10aGlzLmRhdGFzZXRzKCkpO3JldHVybiB0aGlzLl9wcm9qZWN0b3JzUmVhZHkoKT9ILnByb3RvdHlwZS5lbnRpdGllcy5jYWxsKHRoaXMsTCk6W119O0sucHJvdG90eXBlLl9lbnRpdHlCb3VuZHM9ZnVuY3Rpb24oTCl7cmV0dXJuIHRoaXMuX3BpeGVsQm91bmRzKEwuZGF0dW0sTC5pbmRleCxMLmRhdGFzZXQpfTtLLnByb3RvdHlwZS5fcGl4ZWxCb3VuZHM9ZnVuY3Rpb24oTCxKLE8pe3ZhciBTPXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpOwpyZXR1cm57eDpTLngoTCxKLE8pLHk6Uy55KEwsSixPKSx3aWR0aDpTLndpZHRoKEwsSixPKSxoZWlnaHQ6Uy5oZWlnaHQoTCxKLE8pfX07Sy5wcm90b3R5cGUuX3BpeGVsUG9pbnQ9ZnVuY3Rpb24oTCxKLE8pe3ZhciBTPXRoaXMuX3BpeGVsQm91bmRzKEwsSixPKTtMPSh0aGlzLl9pc1ZlcnRpY2FsP0QuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpOkQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpKShMLEosTyk7Sj0odGhpcy5faXNWZXJ0aWNhbD90aGlzLnkoKS5zY2FsZTp0aGlzLngoKS5zY2FsZSkuc2NhbGUodGhpcy5iYXNlbGluZVZhbHVlKCkpO3JldHVybiB0aGlzLl9waXhlbFBvaW50QmFyKEwsSixTKX07Sy5wcm90b3R5cGUuX3BpeGVsUG9pbnRCYXI9ZnVuY3Rpb24oTCxKLE8pe2lmKHRoaXMuX2lzVmVydGljYWwpe3ZhciBTPU8ueCtPLndpZHRoLzI7TD1MPD1KP08ueTpPLnkrTy5oZWlnaHR9ZWxzZSBTPUw+PUo/Ty54K08ud2lkdGg6Ty54LEw9Ty55K08uaGVpZ2h0LwoyO3JldHVybnt4OlMseTpMfX07Sy5wcm90b3R5cGUuX3VuaW5zdGFsbFNjYWxlRm9yS2V5PWZ1bmN0aW9uKEwsSil7SC5wcm90b3R5cGUuX3VuaW5zdGFsbFNjYWxlRm9yS2V5LmNhbGwodGhpcyxMLEopfTtLLnByb3RvdHlwZS5fZ2V0RGF0YVRvRHJhdz1mdW5jdGlvbigpe3ZhciBMPXRoaXMsSj1uZXcgQy5NYXAsTz10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxTPXRoaXMud2lkdGgoKSxOPXRoaXMuaGVpZ2h0KCk7dGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oUil7dmFyIFg9Ui5kYXRhKCkubWFwKGZ1bmN0aW9uKGFhLGZhKXtyZXR1cm4gTC5faXNEYXR1bU9uU2NyZWVuKE8sUyxOLGFhLGZhLFIpP2FhOm51bGx9KTtKLnNldChSLFgpfSk7cmV0dXJuIEp9O0sucHJvdG90eXBlLl9pc0RhdHVtT25TY3JlZW49ZnVuY3Rpb24oTCxKLE8sUyxOLFIpe3ZhciBYPUwueChTLE4sUiksYWE9TC55KFMsTixSKSxmYT1MLndpZHRoKFMsTixSKTtMPUwuaGVpZ2h0KFMsTixSKTsKcmV0dXJuIEMuTWF0aC5pc1ZhbGlkTnVtYmVyKFgpJiZDLk1hdGguaXNWYWxpZE51bWJlcihhYSkmJkMuTWF0aC5pc1ZhbGlkTnVtYmVyKGZhKSYmQy5NYXRoLmlzVmFsaWROdW1iZXIoTCk/Qy5NYXRoLmJvdW5kc0ludGVyc2VjdHMoWCxhYSxmYSxMLEosTyk6ITF9O3JldHVybiBLfShoLlhZUGxvdCk7Qi5fQkFSX1RISUNLTkVTU19SQVRJTz0uOTU7Qi5fU0lOR0xFX0JBUl9ESU1FTlNJT05fUkFUSU89LjQ7Qi5fQkFSX0FSRUFfQ0xBU1M9ImJhci1hcmVhIjtCLl9CQVJfRU5EX0tFWT0iYmFyRW5kIjtCLl9CQVJfVEhJQ0tORVNTX0tFWT0id2lkdGgiO0IuX0xBQkVMX0FSRUFfQ0xBU1M9ImJhci1sYWJlbC10ZXh0LWFyZWEiO0IuX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSPTEwO2YuQmFyPUJ9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24odyxBKXtmdW5jdGlvbiB5KCl7dGhpcy5jb25zdHJ1Y3Rvcj13fWZvcih2YXIgeCBpbiBBKUEuaGFzT3duUHJvcGVydHkoeCkmJgood1t4XT1BW3hdKTt3LnByb3RvdHlwZT1udWxsPT09QT9PYmplY3QuY3JlYXRlKEEpOih5LnByb3RvdHlwZT1BLnByb3RvdHlwZSxuZXcgeSl9LHI9aCgxKSxsPWgoNSkscD1oKDgpLG09aCgzKSxuPWgoMCk7ZD1oKDEwKTt2YXIgcT1oKDIyKTtmLlRpbWVJbnRlcnZhbD1kLm1ha2VFbnVtKCJzZWNvbmQgbWludXRlIGhvdXIgZGF5IHdlZWsgbW9udGggeWVhciIuc3BsaXQoIiAiKSk7Zi5UaW1lQXhpc09yaWVudGF0aW9uPWQubWFrZUVudW0oWyJ0b3AiLCJib3R0b20iXSk7Zi5UaWVyTGFiZWxQb3NpdGlvbj1kLm1ha2VFbnVtKFsiYmV0d2VlbiIsImNlbnRlciJdKTtoPWZ1bmN0aW9uKHcpe2Z1bmN0aW9uIEEoeSx4KXt5PXcuY2FsbCh0aGlzLHkseCl8fHRoaXM7eS5fbWF4VGltZUludGVydmFsUHJlY2lzaW9uPW51bGw7eS5fdGllckxhYmVsUG9zaXRpb25zPVtdO3kuYWRkQ2xhc3MoInRpbWUtYXhpcyIpO3kudGlja0xhYmVsUGFkZGluZyg1KTt5LmF4aXNDb25maWd1cmF0aW9ucyhBLl9ERUZBVUxUX1RJTUVfQVhJU19DT05GSUdVUkFUSU9OUyk7CnkuYW5ub3RhdGlvbkZvcm1hdHRlcihwLnRpbWUoIiVhICViICVkLCAlWSIpKTtyZXR1cm4geX1rKEEsdyk7QS5wcm90b3R5cGUudGllckxhYmVsUG9zaXRpb25zPWZ1bmN0aW9uKHkpe2lmKG51bGw9PXkpcmV0dXJuIHRoaXMuX3RpZXJMYWJlbFBvc2l0aW9ucztpZigheS5ldmVyeShmdW5jdGlvbih4KXtyZXR1cm4iYmV0d2VlbiI9PT14LnRvTG93ZXJDYXNlKCl8fCJjZW50ZXIiPT09eC50b0xvd2VyQ2FzZSgpfSkpdGhyb3cgRXJyb3IoIlVuc3VwcG9ydGVkIHBvc2l0aW9uIGZvciB0aWVyIGxhYmVscyIpO3RoaXMuX3RpZXJMYWJlbFBvc2l0aW9ucz15O3RoaXMucmVkcmF3KCk7cmV0dXJuIHRoaXN9O0EucHJvdG90eXBlLm1heFRpbWVJbnRlcnZhbFByZWNpc2lvbj1mdW5jdGlvbih5KXtpZihudWxsPT15KXJldHVybiB0aGlzLl9tYXhUaW1lSW50ZXJ2YWxQcmVjaXNpb247dGhpcy5fbWF4VGltZUludGVydmFsUHJlY2lzaW9uPXk7dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307QS5wcm90b3R5cGUuY3VycmVudEF4aXNDb25maWd1cmF0aW9uPQpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wb3NzaWJsZVRpbWVBeGlzQ29uZmlndXJhdGlvbnNbdGhpcy5fbW9zdFByZWNpc2VDb25maWdJbmRleF19O0EucHJvdG90eXBlLmF4aXNDb25maWd1cmF0aW9ucz1mdW5jdGlvbih5KXtpZihudWxsIT15KXt0aGlzLl9wb3NzaWJsZVRpbWVBeGlzQ29uZmlndXJhdGlvbnM9eTt0aGlzLl9udW1UaWVycz1uLk1hdGgubWF4KHRoaXMuX3Bvc3NpYmxlVGltZUF4aXNDb25maWd1cmF0aW9ucy5tYXAoZnVuY3Rpb24oRyl7cmV0dXJuIEcubGVuZ3RofSksMCk7dGhpcy5faXNBbmNob3JlZCYmdGhpcy5fc2V0dXBEb21FbGVtZW50cygpO3k9dGhpcy50aWVyTGFiZWxQb3NpdGlvbnMoKTtmb3IodmFyIHg9W10sQz0wO0M8dGhpcy5fbnVtVGllcnM7QysrKXgucHVzaCh5W0NdfHwiYmV0d2VlbiIpO3RoaXMudGllckxhYmVsUG9zaXRpb25zKHgpO3RoaXMucmVkcmF3KCl9fTtBLnByb3RvdHlwZS5fZ2V0TW9zdFByZWNpc2VDb25maWd1cmF0aW9uSW5kZXg9CmZ1bmN0aW9uKCl7dmFyIHk9dGhpcyx4PXRoaXMuX3Bvc3NpYmxlVGltZUF4aXNDb25maWd1cmF0aW9ucy5sZW5ndGg7dGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zLmZvckVhY2goZnVuY3Rpb24oQyxHKXtHPHgmJkMuZXZlcnkoZnVuY3Rpb24oRCl7cmV0dXJuIHkuX2NoZWNrVGltZUF4aXNUaWVyQ29uZmlndXJhdGlvbihEKX0pJiYoeD1HKX0pO3g9PT10aGlzLl9wb3NzaWJsZVRpbWVBeGlzQ29uZmlndXJhdGlvbnMubGVuZ3RoJiYobi5XaW5kb3cud2Fybigiem9vbWVkIG91dCB0b28gZmFyOiBjb3VsZCBub3QgZmluZCBzdWl0YWJsZSBpbnRlcnZhbCB0byBkaXNwbGF5IGxhYmVscyIpLC0teCk7cmV0dXJuIHh9O0EucHJvdG90eXBlLm9yaWVudGF0aW9uPWZ1bmN0aW9uKHkpe2lmKHkmJigicmlnaHQiPT09eS50b0xvd2VyQ2FzZSgpfHwibGVmdCI9PT15LnRvTG93ZXJDYXNlKCkpKXRocm93IEVycm9yKHkrIiBpcyBub3QgYSBzdXBwb3J0ZWQgb3JpZW50YXRpb24gZm9yIFRpbWVBeGlzIC0gb25seSBob3Jpem9udGFsIG9yaWVudGF0aW9ucyBhcmUgc3VwcG9ydGVkIik7CnJldHVybiB3LnByb3RvdHlwZS5vcmllbnRhdGlvbi5jYWxsKHRoaXMseSl9O0EucHJvdG90eXBlLl9jb21wdXRlSGVpZ2h0PWZ1bmN0aW9uKCl7dmFyIHk9dGhpcy5fbWVhc3VyZXIubWVhc3VyZSgpLmhlaWdodDt0aGlzLl90aWVySGVpZ2h0cz1bXTtmb3IodmFyIHg9MDt4PHRoaXMuX251bVRpZXJzO3grKyl0aGlzLl90aWVySGVpZ2h0cy5wdXNoKHkrdGhpcy50aWNrTGFiZWxQYWRkaW5nKCkrKCJiZXR3ZWVuIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1t4XT8wOnRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpKSk7cmV0dXJuIHIuc3VtKHRoaXMuX3RpZXJIZWlnaHRzKX07QS5wcm90b3R5cGUuX2dldEludGVydmFsTGVuZ3RoPWZ1bmN0aW9uKHkpe3ZhciB4PXRoaXMuX3NjYWxlLmRvbWFpbigpWzBdO3k9bS5UaW1lLnRpbWVJbnRlcnZhbFRvRDNUaW1lKHkuaW50ZXJ2YWwpLm9mZnNldCh4LHkuc3RlcCk7cmV0dXJuIHk+dGhpcy5fc2NhbGUuZG9tYWluKClbMV0/dGhpcy53aWR0aCgpOgpNYXRoLmFicyh0aGlzLl9zY2FsZS5zY2FsZSh5KS10aGlzLl9zY2FsZS5zY2FsZSh4KSl9O0EucHJvdG90eXBlLl9tYXhXaWR0aEZvckludGVydmFsPWZ1bmN0aW9uKHkpe3JldHVybiB0aGlzLl9tZWFzdXJlci5tZWFzdXJlKHkuZm9ybWF0dGVyKEEuX0xPTkdfREFURSkpLndpZHRofTtBLnByb3RvdHlwZS5fY2hlY2tUaW1lQXhpc1RpZXJDb25maWd1cmF0aW9uPWZ1bmN0aW9uKHkpe2lmKG51bGwhPXRoaXMuX21heFRpbWVJbnRlcnZhbFByZWNpc2lvbil7dmFyIHg9QS5fU09SVEVEX1RJTUVfSU5URVJWQUxfSU5ERVhbdGhpcy5fbWF4VGltZUludGVydmFsUHJlY2lzaW9uXSxDPUEuX1NPUlRFRF9USU1FX0lOVEVSVkFMX0lOREVYW3kuaW50ZXJ2YWxdO2lmKG51bGwhPXgmJm51bGwhPUMmJkM8eClyZXR1cm4hMX14PXRoaXMuX21heFdpZHRoRm9ySW50ZXJ2YWwoeSkrMip0aGlzLnRpY2tMYWJlbFBhZGRpbmcoKTtyZXR1cm4gTWF0aC5taW4odGhpcy5fZ2V0SW50ZXJ2YWxMZW5ndGgoeSksCnRoaXMud2lkdGgoKSk+PXh9O0EucHJvdG90eXBlLl9zaXplRnJvbU9mZmVyPWZ1bmN0aW9uKHkseCl7dmFyIEM9dy5wcm90b3R5cGUuX3NpemVGcm9tT2ZmZXIuY2FsbCh0aGlzLHkseCk7eT10aGlzLl90aWVySGVpZ2h0cy5yZWR1Y2UoZnVuY3Rpb24oRyxEKXtyZXR1cm4gRytEPkMuaGVpZ2h0P0c6RytEfSk7eD10aGlzLm1hcmdpbigpKyh0aGlzLmFubm90YXRpb25zRW5hYmxlZCgpP3RoaXMuYW5ub3RhdGlvblRpZXJDb3VudCgpKnRoaXMuX2Fubm90YXRpb25UaWVySGVpZ2h0KCk6MCk7Qy5oZWlnaHQ9TWF0aC5taW4oQy5oZWlnaHQseSt4KTtyZXR1cm4gQ307QS5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7dy5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyk7dGhpcy5fc2V0dXBEb21FbGVtZW50cygpfTtBLnByb3RvdHlwZS5fc2V0dXBEb21FbGVtZW50cz1mdW5jdGlvbigpe3RoaXMuY29udGVudCgpLnNlbGVjdEFsbCgiLiIrQS5USU1FX0FYSVNfVElFUl9DTEFTUykucmVtb3ZlKCk7CnRoaXMuX3RpZXJMYWJlbENvbnRhaW5lcnM9W107dGhpcy5fdGllck1hcmtDb250YWluZXJzPVtdO3RoaXMuX3RpZXJCYXNlbGluZXM9W107dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnJlbW92ZSgpO3RoaXMuX2Jhc2VsaW5lLnJlbW92ZSgpO2Zvcih2YXIgeT0wO3k8dGhpcy5fbnVtVGllcnM7Kyt5KXt2YXIgeD10aGlzLmNvbnRlbnQoKS5hcHBlbmQoImciKS5jbGFzc2VkKEEuVElNRV9BWElTX1RJRVJfQ0xBU1MsITApO3RoaXMuX3RpZXJMYWJlbENvbnRhaW5lcnMucHVzaCh4LmFwcGVuZCgiZyIpLmNsYXNzZWQocS5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MrIi1jb250YWluZXIiLCEwKSk7dGhpcy5fdGllck1hcmtDb250YWluZXJzLnB1c2goeC5hcHBlbmQoImciKS5jbGFzc2VkKHEuQXhpcy5USUNLX01BUktfQ0xBU1MrIi1jb250YWluZXIiLCEwKSk7dGhpcy5fdGllckJhc2VsaW5lcy5wdXNoKHguYXBwZW5kKCJsaW5lIikuY2xhc3NlZCgiYmFzZWxpbmUiLCEwKSl9eT1uZXcgbC5TdmdDb250ZXh0KHRoaXMuX3RpZXJMYWJlbENvbnRhaW5lcnNbMF0ubm9kZSgpKTsKdGhpcy5fbWVhc3VyZXI9bmV3IGwuQ2FjaGVNZWFzdXJlcih5KX07QS5wcm90b3R5cGUuX2dldFRpY2tJbnRlcnZhbFZhbHVlcz1mdW5jdGlvbih5KXtyZXR1cm4gdGhpcy5fc2NhbGUudGlja0ludGVydmFsKHkuaW50ZXJ2YWwseS5zdGVwKX07QS5wcm90b3R5cGUuX2dldFRpY2tWYWx1ZXM9ZnVuY3Rpb24oKXt2YXIgeT10aGlzO3JldHVybiB0aGlzLl9wb3NzaWJsZVRpbWVBeGlzQ29uZmlndXJhdGlvbnNbdGhpcy5fbW9zdFByZWNpc2VDb25maWdJbmRleF0ucmVkdWNlKGZ1bmN0aW9uKHgsQyl7cmV0dXJuIHguY29uY2F0KHkuX2dldFRpY2tJbnRlcnZhbFZhbHVlcyhDKSl9LFtdKX07QS5wcm90b3R5cGUuX2NsZWFuVGllcnM9ZnVuY3Rpb24oKXtmb3IodmFyIHk9MDt5PHRoaXMuX3RpZXJMYWJlbENvbnRhaW5lcnMubGVuZ3RoO3krKyl0aGlzLl90aWVyTGFiZWxDb250YWluZXJzW3ldLnNlbGVjdEFsbCgiLiIrcS5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MpLnJlbW92ZSgpLHRoaXMuX3RpZXJNYXJrQ29udGFpbmVyc1t5XS5zZWxlY3RBbGwoIi4iKwpxLkF4aXMuVElDS19NQVJLX0NMQVNTKS5yZW1vdmUoKSx0aGlzLl90aWVyQmFzZWxpbmVzW3ldLnN0eWxlKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIil9O0EucHJvdG90eXBlLl9nZXRUaWNrVmFsdWVzRm9yQ29uZmlndXJhdGlvbj1mdW5jdGlvbih5KXt5PXRoaXMuX3NjYWxlLnRpY2tJbnRlcnZhbCh5LmludGVydmFsLHkuc3RlcCk7dmFyIHg9dGhpcy5fc2NhbGUuZG9tYWluKCksQz15Lm1hcChmdW5jdGlvbihHKXtyZXR1cm4gRy52YWx1ZU9mKCl9KTstMT09PUMuaW5kZXhPZih4WzBdLnZhbHVlT2YoKSkmJnkudW5zaGlmdCh4WzBdKTstMT09PUMuaW5kZXhPZih4WzFdLnZhbHVlT2YoKSkmJnkucHVzaCh4WzFdKTtyZXR1cm4geX07QS5wcm90b3R5cGUuX3JlbmRlclRpZXJMYWJlbHM9ZnVuY3Rpb24oeSx4LEMpe3ZhciBHPXRoaXMsRD10aGlzLl9nZXRUaWNrVmFsdWVzRm9yQ29uZmlndXJhdGlvbih4KSxCPVtdOyJiZXR3ZWVuIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1tDXSYmCjE9PT14LnN0ZXA/RC5tYXAoZnVuY3Rpb24oTyxTKXtTKzE+PUQubGVuZ3RofHxCLnB1c2gobmV3IERhdGUoKERbUysxXS52YWx1ZU9mKCktRFtTXS52YWx1ZU9mKCkpLzIrRFtTXS52YWx1ZU9mKCkpKX0pOkI9RDt5PXkuc2VsZWN0QWxsKCIuIitxLkF4aXMuVElDS19MQUJFTF9DTEFTUykuZGF0YShCLGZ1bmN0aW9uKE8pe3JldHVybiBTdHJpbmcoTy52YWx1ZU9mKCkpfSk7dmFyIEg9eS5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQocS5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MsITApO0guYXBwZW5kKCJ0ZXh0Iik7dmFyIEs9ImNlbnRlciI9PT10aGlzLl90aWVyTGFiZWxQb3NpdGlvbnNbQ118fDE9PT14LnN0ZXA/MDp0aGlzLnRpY2tMYWJlbFBhZGRpbmcoKTt2YXIgTD0iYm90dG9tIj09PXRoaXMub3JpZW50YXRpb24oKT9yLnN1bSh0aGlzLl90aWVySGVpZ2h0cy5zbGljZSgwLEMrMSkpLXRoaXMudGlja0xhYmVsUGFkZGluZygpOiJjZW50ZXIiPT09dGhpcy5fdGllckxhYmVsUG9zaXRpb25zW0NdPwp0aGlzLmhlaWdodCgpLXIuc3VtKHRoaXMuX3RpZXJIZWlnaHRzLnNsaWNlKDAsQykpLXRoaXMudGlja0xhYmVsUGFkZGluZygpLXRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpOnRoaXMuaGVpZ2h0KCktci5zdW0odGhpcy5fdGllckhlaWdodHMuc2xpY2UoMCxDKSktdGhpcy50aWNrTGFiZWxQYWRkaW5nKCk7SD15Lm1lcmdlKEgpO3ZhciBKPUguc2VsZWN0QWxsKCJ0ZXh0Iik7MDxKLnNpemUoKSYmSi5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitLKyIsIitMKyIpIik7eS5leGl0KCkucmVtb3ZlKCk7SC5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKE8pe3JldHVybiJ0cmFuc2xhdGUoIitHLl9zY2FsZS5zY2FsZShPKSsiLDApIn0pO0M9ImNlbnRlciI9PT10aGlzLl90aWVyTGFiZWxQb3NpdGlvbnNbQ118fDE9PT14LnN0ZXA/Im1pZGRsZSI6InN0YXJ0IjtILnNlbGVjdEFsbCgidGV4dCIpLnRleHQoeC5mb3JtYXR0ZXIpLnN0eWxlKCJ0ZXh0LWFuY2hvciIsQyl9O0EucHJvdG90eXBlLl9yZW5kZXJUaWNrTWFya3M9CmZ1bmN0aW9uKHkseCl7eT10aGlzLl90aWVyTWFya0NvbnRhaW5lcnNbeF0uc2VsZWN0QWxsKCIuIitxLkF4aXMuVElDS19NQVJLX0NMQVNTKS5kYXRhKHkpO3ZhciBDPXkuZW50ZXIoKS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKHEuQXhpcy5USUNLX01BUktfQ0xBU1MsITApLm1lcmdlKHkpLEc9dGhpcy5fZ2VuZXJhdGVUaWNrTWFya0F0dHJIYXNoKCksRD10aGlzLl90aWVySGVpZ2h0cy5zbGljZSgwLHgpLnJlZHVjZShmdW5jdGlvbihCLEgpe3JldHVybiBCK0h9LDApOyJib3R0b20iPT09dGhpcy5vcmllbnRhdGlvbigpPyhHLnkxPUQsRy55Mj1EKygiY2VudGVyIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1t4XT90aGlzLmlubmVyVGlja0xlbmd0aCgpOnRoaXMuX3RpZXJIZWlnaHRzW3hdKSk6KEcueTE9dGhpcy5oZWlnaHQoKS1ELEcueTI9dGhpcy5oZWlnaHQoKS0oRCsoImNlbnRlciI9PT10aGlzLl90aWVyTGFiZWxQb3NpdGlvbnNbeF0/dGhpcy5pbm5lclRpY2tMZW5ndGgoKToKdGhpcy5fdGllckhlaWdodHNbeF0pKSk7Qy5hdHRycyhHKTsiYm90dG9tIj09PXRoaXMub3JpZW50YXRpb24oKT8oRy55MT1ELEcueTI9RCsoImNlbnRlciI9PT10aGlzLl90aWVyTGFiZWxQb3NpdGlvbnNbeF0/dGhpcy5lbmRUaWNrTGVuZ3RoKCk6dGhpcy5fdGllckhlaWdodHNbeF0pKTooRy55MT10aGlzLmhlaWdodCgpLUQsRy55Mj10aGlzLmhlaWdodCgpLShEKygiY2VudGVyIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1t4XT90aGlzLmVuZFRpY2tMZW5ndGgoKTp0aGlzLl90aWVySGVpZ2h0c1t4XSkpKTtyLnNlbGVjdChDLm5vZGVzKClbMF0pLmF0dHJzKEcpO3Iuc2VsZWN0KEMubm9kZXMoKVtDLnNpemUoKS0xXSkuYXR0cnMoRyk7ci5zZWxlY3QoQy5ub2RlcygpWzBdKS5jbGFzc2VkKHEuQXhpcy5FTkRfVElDS19NQVJLX0NMQVNTLCEwKTtyLnNlbGVjdChDLm5vZGVzKClbQy5zaXplKCktMV0pLmNsYXNzZWQocS5BeGlzLkVORF9USUNLX01BUktfQ0xBU1MsITApO3kuZXhpdCgpLnJlbW92ZSgpfTsKQS5wcm90b3R5cGUuX3JlbmRlckxhYmVsbGVzc1RpY2tNYXJrcz1mdW5jdGlvbih5KXt5PXRoaXMuX3RpY2tNYXJrQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrcS5BeGlzLlRJQ0tfTUFSS19DTEFTUykuZGF0YSh5KTt2YXIgeD15LmVudGVyKCkuYXBwZW5kKCJsaW5lIikuY2xhc3NlZChxLkF4aXMuVElDS19NQVJLX0NMQVNTLCEwKS5tZXJnZSh5KSxDPXRoaXMuX2dlbmVyYXRlVGlja01hcmtBdHRySGFzaCgpO0MueTI9ImJvdHRvbSI9PT10aGlzLm9yaWVudGF0aW9uKCk/dGhpcy50aWNrTGFiZWxQYWRkaW5nKCk6dGhpcy5oZWlnaHQoKS10aGlzLnRpY2tMYWJlbFBhZGRpbmcoKTt4LmF0dHJzKEMpO3kuZXhpdCgpLnJlbW92ZSgpfTtBLnByb3RvdHlwZS5fZ2VuZXJhdGVMYWJlbGxlc3NUaWNrcz1mdW5jdGlvbigpe3JldHVybiAxPnRoaXMuX21vc3RQcmVjaXNlQ29uZmlnSW5kZXg/W106dGhpcy5fZ2V0VGlja0ludGVydmFsVmFsdWVzKHRoaXMuX3Bvc3NpYmxlVGltZUF4aXNDb25maWd1cmF0aW9uc1t0aGlzLl9tb3N0UHJlY2lzZUNvbmZpZ0luZGV4LQoxXVswXSl9O0EucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7dmFyIHk9dGhpczt0aGlzLl9tb3N0UHJlY2lzZUNvbmZpZ0luZGV4PXRoaXMuX2dldE1vc3RQcmVjaXNlQ29uZmlndXJhdGlvbkluZGV4KCk7dmFyIHg9dGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zW3RoaXMuX21vc3RQcmVjaXNlQ29uZmlnSW5kZXhdO3RoaXMuX2NsZWFuVGllcnMoKTt4LmZvckVhY2goZnVuY3Rpb24oSCxLKXtyZXR1cm4geS5fcmVuZGVyVGllckxhYmVscyh5Ll90aWVyTGFiZWxDb250YWluZXJzW0tdLEgsSyl9KTtmb3IodmFyIEM9eC5tYXAoZnVuY3Rpb24oSCl7cmV0dXJuIHkuX2dldFRpY2tWYWx1ZXNGb3JDb25maWd1cmF0aW9uKEgpfSksRz0wLEQ9MDtEPE1hdGgubWF4KHgubGVuZ3RoLDEpOysrRCl7dmFyIEI9dGhpcy5fZ2VuZXJhdGVCYXNlbGluZUF0dHJIYXNoKCk7Qi55MSs9ImJvdHRvbSI9PT10aGlzLm9yaWVudGF0aW9uKCk/RzotRztCLnkyPUIueTE7CnRoaXMuX3RpZXJCYXNlbGluZXNbRF0uYXR0cnMoQikuc3R5bGUoInZpc2liaWxpdHkiLCJpbmhlcml0Iik7Rys9dGhpcy5fdGllckhlaWdodHNbRF19Rz1bXTtEPXRoaXMuX3NjYWxlLmRvbWFpbigpO0Q9dGhpcy5fc2NhbGUuc2NhbGUoRFsxXSktdGhpcy5fc2NhbGUuc2NhbGUoRFswXSk7MS41KnRoaXMuX2dldEludGVydmFsTGVuZ3RoKHhbMF0pPj1EJiYoRz10aGlzLl9nZW5lcmF0ZUxhYmVsbGVzc1RpY2tzKCkpO3RoaXMuX3JlbmRlckxhYmVsbGVzc1RpY2tNYXJrcyhHKTt0aGlzLl9oaWRlT3ZlcmZsb3dpbmdUaWVycygpO2ZvcihEPTA7RDx4Lmxlbmd0aDsrK0QpdGhpcy5fcmVuZGVyVGlja01hcmtzKENbRF0sRCksdGhpcy5faGlkZU92ZXJsYXBwaW5nQW5kQ3V0T2ZmTGFiZWxzKEQpO3RoaXMuYW5ub3RhdGlvbnNFbmFibGVkKCk/dGhpcy5fZHJhd0Fubm90YXRpb25zKCk6dGhpcy5fcmVtb3ZlQW5ub3RhdGlvbnMoKTtyZXR1cm4gdGhpc307QS5wcm90b3R5cGUuX2hpZGVPdmVyZmxvd2luZ1RpZXJzPQpmdW5jdGlvbigpe3ZhciB5PXRoaXMseD10aGlzLmhlaWdodCgpLEM9MDt0aGlzLmNvbnRlbnQoKS5zZWxlY3RBbGwoIi4iK0EuVElNRV9BWElTX1RJRVJfQ0xBU1MpLmF0dHIoInZpc2liaWxpdHkiLGZ1bmN0aW9uKEcsRCl7Qys9eS5fdGllckhlaWdodHNbRF07cmV0dXJuIEM8PXg/ImluaGVyaXQiOiJoaWRkZW4ifSl9O0EucHJvdG90eXBlLl9oaWRlT3ZlcmxhcHBpbmdBbmRDdXRPZmZMYWJlbHM9ZnVuY3Rpb24oeSl7ZnVuY3Rpb24geChIKXtyZXR1cm4gTWF0aC5mbG9vcihHLmxlZnQpPD1NYXRoLmNlaWwoSC5sZWZ0KSYmTWF0aC5mbG9vcihHLnRvcCk8PU1hdGguY2VpbChILnRvcCkmJk1hdGguZmxvb3IoSC5yaWdodCk8PU1hdGguY2VpbChHLmxlZnQrQy53aWR0aCgpKSYmTWF0aC5mbG9vcihILmJvdHRvbSk8PU1hdGguY2VpbChHLnRvcCtDLmhlaWdodCgpKX12YXIgQz10aGlzLEc9dGhpcy5lbGVtZW50KCkubm9kZSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEQ9dGhpcy5fdGllck1hcmtDb250YWluZXJzW3ldLnNlbGVjdEFsbCgiLiIrCnEuQXhpcy5USUNLX01BUktfQ0xBU1MpLmZpbHRlcihmdW5jdGlvbigpe3ZhciBIPXIuc2VsZWN0KHRoaXMpLnN0eWxlKCJ2aXNpYmlsaXR5Iik7cmV0dXJuInZpc2libGUiPT09SHx8ImluaGVyaXQiPT09SH0pLm5vZGVzKCkubWFwKGZ1bmN0aW9uKEgpe3JldHVybiBILmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfSksQjt0aGlzLl90aWVyTGFiZWxDb250YWluZXJzW3ldLnNlbGVjdEFsbCgiLiIrcS5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MpLmZpbHRlcihmdW5jdGlvbigpe3ZhciBIPXIuc2VsZWN0KHRoaXMpLnN0eWxlKCJ2aXNpYmlsaXR5Iik7cmV0dXJuInZpc2libGUiPT09SHx8ImluaGVyaXQiPT09SH0pLmVhY2goZnVuY3Rpb24oSCxLKXtIPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dmFyIEw9ci5zZWxlY3QodGhpcyksSj1EW0tdLE89RFtLKzFdO0s9bnVsbCE9QiYmbi5ET00uY2xpZW50UmVjdHNPdmVybGFwKEgsQik7Sj1udWxsIT1KJiZuLkRPTS5jbGllbnRSZWN0c092ZXJsYXAoSCwKSik7Tz1udWxsIT1PJiZuLkRPTS5jbGllbnRSZWN0c092ZXJsYXAoSCxPKTsheChIKXx8S3x8Snx8Tz9MLnN0eWxlKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIik6KEI9SCxMLnN0eWxlKCJ2aXNpYmlsaXR5IiwiaW5oZXJpdCIpKX0pfTtBLnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGU9ZnVuY3Rpb24oKXt3LnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGUuY2FsbCh0aGlzKTt0aGlzLl9tZWFzdXJlci5yZXNldCgpfTtyZXR1cm4gQX0ocS5BeGlzKTtoLlRJTUVfQVhJU19USUVSX0NMQVNTPSJ0aW1lLWF4aXMtdGllciI7aC5fU09SVEVEX1RJTUVfSU5URVJWQUxfSU5ERVg9KHU9e30sdVtmLlRpbWVJbnRlcnZhbC5zZWNvbmRdPTAsdVtmLlRpbWVJbnRlcnZhbC5taW51dGVdPTEsdVtmLlRpbWVJbnRlcnZhbC5ob3VyXT0yLHVbZi5UaW1lSW50ZXJ2YWwuZGF5XT0zLHVbZi5UaW1lSW50ZXJ2YWwud2Vla109NCx1W2YuVGltZUludGVydmFsLm1vbnRoXT01LHVbZi5UaW1lSW50ZXJ2YWwueWVhcl09CjYsdSk7aC5fREVGQVVMVF9USU1FX0FYSVNfQ09ORklHVVJBVElPTlM9W1t7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuc2Vjb25kLHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlSTolTTolUyAlcCIpfSx7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuc2Vjb25kLHN0ZXA6NSxmb3JtYXR0ZXI6cC50aW1lKCIlSTolTTolUyAlcCIpfSx7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuc2Vjb25kLHN0ZXA6MTAsZm9ybWF0dGVyOnAudGltZSgiJUk6JU06JVMgJXAiKX0se2ludGVydmFsOmYuVGltZUludGVydmFsLmRheSxzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOmYuVGltZUludGVydmFsLnNlY29uZCxzdGVwOjE1LApmb3JtYXR0ZXI6cC50aW1lKCIlSTolTTolUyAlcCIpfSx7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuc2Vjb25kLHN0ZXA6MzAsZm9ybWF0dGVyOnAudGltZSgiJUk6JU06JVMgJXAiKX0se2ludGVydmFsOmYuVGltZUludGVydmFsLmRheSxzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOmYuVGltZUludGVydmFsLm1pbnV0ZSxzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJUk6JU0gJXAiKX0se2ludGVydmFsOmYuVGltZUludGVydmFsLmRheSxzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOmYuVGltZUludGVydmFsLm1pbnV0ZSxzdGVwOjUsZm9ybWF0dGVyOnAudGltZSgiJUk6JU0gJXAiKX0se2ludGVydmFsOmYuVGltZUludGVydmFsLmRheSxzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJUIgJWUsICVZIil9XSwKW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC5taW51dGUsc3RlcDoxMCxmb3JtYXR0ZXI6cC50aW1lKCIlSTolTSAlcCIpfSx7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwubWludXRlLHN0ZXA6MTUsZm9ybWF0dGVyOnAudGltZSgiJUk6JU0gJXAiKX0se2ludGVydmFsOmYuVGltZUludGVydmFsLmRheSxzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOmYuVGltZUludGVydmFsLm1pbnV0ZSxzdGVwOjMwLGZvcm1hdHRlcjpwLnRpbWUoIiVJOiVNICVwIil9LHtpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpwLnRpbWUoIiVCICVlLCAlWSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC5ob3VyLHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlSSAlcCIpfSx7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuZGF5LApzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOmYuVGltZUludGVydmFsLmhvdXIsc3RlcDozLGZvcm1hdHRlcjpwLnRpbWUoIiVJICVwIil9LHtpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpwLnRpbWUoIiVCICVlLCAlWSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC5ob3VyLHN0ZXA6Nixmb3JtYXR0ZXI6cC50aW1lKCIlSSAlcCIpfSx7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwuaG91cixzdGVwOjEyLGZvcm1hdHRlcjpwLnRpbWUoIiVJICVwIil9LHtpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpwLnRpbWUoIiVCICVlLCAlWSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpwLnRpbWUoIiVhICVlIil9LAp7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwubW9udGgsc3RlcDoxLGZvcm1hdHRlcjpwLnRpbWUoIiVCICVZIil9XSxbe2ludGVydmFsOmYuVGltZUludGVydmFsLmRheSxzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJWUiKX0se2ludGVydmFsOmYuVGltZUludGVydmFsLm1vbnRoLHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlQiAlWSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC5tb250aCxzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJUIiKX0se2ludGVydmFsOmYuVGltZUludGVydmFsLnllYXIsc3RlcDoxLGZvcm1hdHRlcjpwLnRpbWUoIiVZIil9XSxbe2ludGVydmFsOmYuVGltZUludGVydmFsLm1vbnRoLHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlYiIpfSx7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwueWVhcixzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwubW9udGgsc3RlcDozLGZvcm1hdHRlcjpwLnRpbWUoIiViIil9LAp7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwueWVhcixzdGVwOjEsZm9ybWF0dGVyOnAudGltZSgiJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwubW9udGgsc3RlcDo2LGZvcm1hdHRlcjpwLnRpbWUoIiViIil9LHtpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlWSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIlWSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6MSxmb3JtYXR0ZXI6cC50aW1lKCIleSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6NSxmb3JtYXR0ZXI6cC50aW1lKCIlWSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6MjUsZm9ybWF0dGVyOnAudGltZSgiJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwueWVhcixzdGVwOjUwLGZvcm1hdHRlcjpwLnRpbWUoIiVZIil9XSwKW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6MTAwLGZvcm1hdHRlcjpwLnRpbWUoIiVZIil9XSxbe2ludGVydmFsOmYuVGltZUludGVydmFsLnllYXIsc3RlcDoyMDAsZm9ybWF0dGVyOnAudGltZSgiJVkiKX1dLFt7aW50ZXJ2YWw6Zi5UaW1lSW50ZXJ2YWwueWVhcixzdGVwOjUwMCxmb3JtYXR0ZXI6cC50aW1lKCIlWSIpfV0sW3tpbnRlcnZhbDpmLlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6MUUzLGZvcm1hdHRlcjpwLnRpbWUoIiVZIil9XV07aC5fTE9OR19EQVRFPW5ldyBEYXRlKDk5OTksOCwyOSwxMiw1OSw5OTk5KTtmLlRpbWU9aDt2YXIgdX0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihsLHApe2Z1bmN0aW9uIG0oKXt0aGlzLmNvbnN0cnVjdG9yPWx9Zm9yKHZhciBuIGluIHApcC5oYXNPd25Qcm9wZXJ0eShuKSYmKGxbbl09cFtuXSk7bC5wcm90b3R5cGU9bnVsbD09PXA/T2JqZWN0LmNyZWF0ZShwKToobS5wcm90b3R5cGU9CnAucHJvdG90eXBlLG5ldyBtKX0scj1oKDEyKTtkPWZ1bmN0aW9uKGwpe2Z1bmN0aW9uIHAoKXt2YXIgbT1sLmNhbGwodGhpcyl8fHRoaXM7bS5fZGV0YWNoQ2FsbGJhY2s9ZnVuY3Rpb24obil7cmV0dXJuIG0ucmVtb3ZlKG4pfTtyZXR1cm4gbX1rKHAsbCk7cC5wcm90b3R5cGUuYW5jaG9yPWZ1bmN0aW9uKG0pe3ZhciBuPXRoaXM7bT1yLmNvZXJjZUV4dGVybmFsRDMobSk7bC5wcm90b3R5cGUuYW5jaG9yLmNhbGwodGhpcyxtKTt0aGlzLl9mb3JFYWNoKGZ1bmN0aW9uKHEpe3JldHVybiBxLmFuY2hvcihuLmVsZW1lbnQoKSl9KTtyZXR1cm4gdGhpc307cC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKCl7dGhpcy5fZm9yRWFjaChmdW5jdGlvbihtKXtyZXR1cm4gbS5yZW5kZXIoKX0pO3JldHVybiB0aGlzfTtwLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiaGFzKCkgaXMgbm90IGltcGxlbWVudGVkIG9uIENvbXBvbmVudENvbnRhaW5lciIpO307cC5wcm90b3R5cGUuX2Fkb3B0QW5kQW5jaG9yPQpmdW5jdGlvbihtKXttLnBhcmVudCh0aGlzKTttLm9uRGV0YWNoKHRoaXMuX2RldGFjaENhbGxiYWNrKTt0aGlzLl9pc0FuY2hvcmVkJiZtLmFuY2hvcih0aGlzLmVsZW1lbnQoKSl9O3AucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihtKXt0aGlzLmhhcyhtKSYmKG0ub2ZmRGV0YWNoKHRoaXMuX2RldGFjaENhbGxiYWNrKSx0aGlzLl9yZW1vdmUobSksbS5kZXRhY2goKSx0aGlzLnJlZHJhdygpKTtyZXR1cm4gdGhpc307cC5wcm90b3R5cGUuX3JlbW92ZT1mdW5jdGlvbigpe307cC5wcm90b3R5cGUuX2ZvckVhY2g9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiX2ZvckVhY2goKSBpcyBub3QgaW1wbGVtZW50ZWQgb24gQ29tcG9uZW50Q29udGFpbmVyIik7fTtwLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7bC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpO3RoaXMuX2ZvckVhY2goZnVuY3Rpb24obSl7cmV0dXJuIG0uZGVzdHJveSgpfSl9O3AucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZT0KZnVuY3Rpb24oKXt0aGlzLl9mb3JFYWNoKGZ1bmN0aW9uKG0pe3JldHVybiBtLmludmFsaWRhdGVDYWNoZSgpfSl9O3JldHVybiBwfShoKDQpLkNvbXBvbmVudCk7Zi5Db21wb25lbnRDb250YWluZXI9ZH0sZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsoQSl7bi5hZGQoQSk7bS5hZGQoQSk7cigpfWZ1bmN0aW9uIHIoKXtxfHwocT0hMCx3LnJlbmRlcigpKX12YXIgbD1oKDApO2Q9aCgxMCk7dmFyIHA9aCgzOSksbT1uZXcgbC5TZXQsbj1uZXcgbC5TZXQscT0hMSx1PSExO2YuUG9saWN5PWQubWFrZUVudW0oWyJpbW1lZGlhdGUiLCJhbmltYXRpb25GcmFtZSIsInRpbWVvdXQiXSk7dmFyIHc9bmV3IHAuQW5pbWF0aW9uRnJhbWU7Zi5yZW5kZXJQb2xpY3k9ZnVuY3Rpb24oQSl7aWYobnVsbD09QSlyZXR1cm4gdztzd2l0Y2goQSl7Y2FzZSBmLlBvbGljeS5pbW1lZGlhdGU6dz1uZXcgcC5JbW1lZGlhdGU7YnJlYWs7Y2FzZSBmLlBvbGljeS5hbmltYXRpb25GcmFtZTp3PW5ldyBwLkFuaW1hdGlvbkZyYW1lOwpicmVhaztjYXNlIGYuUG9saWN5LnRpbWVvdXQ6dz1uZXcgcC5UaW1lb3V0O2JyZWFrO2RlZmF1bHQ6bC5XaW5kb3cud2FybigiVW5yZWNvZ25pemVkIHJlbmRlclBvbGljeTogIitBKX19O2YucmVnaXN0ZXJUb1JlbmRlcj1mdW5jdGlvbihBKXt1JiZsLldpbmRvdy53YXJuKCJSZWdpc3RlcmVkIHRvIHJlbmRlciB3aGlsZSBvdGhlciBjb21wb25lbnRzIGFyZSBmbHVzaGluZzogcmVxdWVzdCBtYXkgYmUgaWdub3JlZCIpO20uYWRkKEEpO3IoKX07Zi5yZWdpc3RlclRvQ29tcHV0ZUxheW91dEFuZFJlbmRlcj1rO2YucmVnaXN0ZXJUb0NvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24oQSl7ayhBKX07Zi5mbHVzaD1mdW5jdGlvbigpe2lmKHEpe24uZm9yRWFjaChmdW5jdGlvbih5KXtyZXR1cm4geS5jb21wdXRlTGF5b3V0KCl9KTttLmZvckVhY2goZnVuY3Rpb24oeSl7cmV0dXJuIHkucmVuZGVyKCl9KTt1PSEwO3ZhciBBPW5ldyBsLlNldDttLmZvckVhY2goZnVuY3Rpb24oeSl7dHJ5e3kucmVuZGVySW1tZWRpYXRlbHkoKX1jYXRjaCh4KXt3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IHg7Cn0sMCksQS5hZGQoeSl9fSk7bj1uZXcgbC5TZXQ7bT1BO3U9cT0hMX19fSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9aCgxKTtmLmNpcmNsZT1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihsKXtyZXR1cm4gay5zeW1ib2woKS50eXBlKGsuc3ltYm9sQ2lyY2xlKS5zaXplKE1hdGguUEkqTWF0aC5wb3cobC8yLDIpKX19O2Yuc3F1YXJlPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGwpe3JldHVybiBrLnN5bWJvbCgpLnR5cGUoay5zeW1ib2xTcXVhcmUpLnNpemUoTWF0aC5wb3cobCwyKSl9fTtmLmNyb3NzPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGwpe3JldHVybiBrLnN5bWJvbCgpLnR5cGUoay5zeW1ib2xDcm9zcykuc2l6ZSg1LzkqTWF0aC5wb3cobCwyKSl9fTtmLmRpYW1vbmQ9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obCl7cmV0dXJuIGsuc3ltYm9sKCkudHlwZShrLnN5bWJvbERpYW1vbmQpLnNpemUoTWF0aC50YW4oTWF0aC5QSS82KSpNYXRoLnBvdyhsLDIpLwoyKX19O2YudHJpYW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obCl7cmV0dXJuIGsuc3ltYm9sKCkudHlwZShrLnN5bWJvbFRyaWFuZ2xlKS5zaXplKE1hdGguc3FydCgzKSpNYXRoLnBvdyhsLzIsMikpfX07Zi5zdGFyPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGwpe3JldHVybiBrLnN5bWJvbCgpLnR5cGUoay5zeW1ib2xTdGFyKS5zaXplKC44OTA4MTMwOTE1MjkyODUyKk1hdGgucG93KGwvMiwyKSl9fTt2YXIgcj0zKigxL01hdGguc3FydCgxMikvMisxKTtmLnd5ZT1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihsKXtyZXR1cm4gay5zeW1ib2woKS50eXBlKGsuc3ltYm9sV3llKS5zaXplKHIqTWF0aC5wb3cobC8yLjQsMikpfX19LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24obixxKXtmdW5jdGlvbiB1KCl7dGhpcy5jb25zdHJ1Y3Rvcj1ufWZvcih2YXIgdyBpbiBxKXEuaGFzT3duUHJvcGVydHkodykmJihuW3ddPQpxW3ddKTtuLnByb3RvdHlwZT1udWxsPT09cT9PYmplY3QuY3JlYXRlKHEpOih1LnByb3RvdHlwZT1xLnByb3RvdHlwZSxuZXcgdSl9LHI9aCgyNSksbD1oKDApLHA9aCgxMiksbT1oKDM3KTtkPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHEoKXt2YXIgdT1uLmNhbGwodGhpcyl8fHRoaXM7dS5fZGV0ZWN0aW9uUmFkaXVzPTM7dS5fcmVzaXphYmxlPSExO3UuX21vdmFibGU9ITE7dS5faGFzQ29ybmVycz0hMDt1LmFkZENsYXNzKCJkcmFnLWJveC1sYXllciIpO3UuX2RyYWdJbnRlcmFjdGlvbj1uZXcgci5EcmFnO3UuX3NldFVwQ2FsbGJhY2tzKCk7dS5fZHJhZ0ludGVyYWN0aW9uLmF0dGFjaFRvKHUpO3UuX2RyYWdTdGFydENhbGxiYWNrcz1uZXcgbC5DYWxsYmFja1NldDt1Ll9kcmFnQ2FsbGJhY2tzPW5ldyBsLkNhbGxiYWNrU2V0O3UuX2RyYWdFbmRDYWxsYmFja3M9bmV3IGwuQ2FsbGJhY2tTZXQ7cmV0dXJuIHV9ayhxLG4pO3EucHJvdG90eXBlLl9zZXRVcENhbGxiYWNrcz1mdW5jdGlvbigpe2Z1bmN0aW9uIHUoSCwKSyl7MD09PUImJkgueD09PUsueCYmSC55PT09Sy55JiZ5LmJveFZpc2libGUoITEpO3kuX2RyYWdFbmRDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh5LmJvdW5kcygpKX1mdW5jdGlvbiB3KEgsSyl7c3dpdGNoKEIpe2Nhc2UgMDpHLng9Sy54O0cueT1LLnk7YnJlYWs7Y2FzZSAxOnguYm90dG9tP0cueT1LLnk6eC50b3AmJihDLnk9Sy55KTt4LnJpZ2h0P0cueD1LLng6eC5sZWZ0JiYoQy54PUsueCk7YnJlYWs7Y2FzZSAyOkg9Sy54LUQueDt2YXIgTD1LLnktRC55O0MueCs9SDtDLnkrPUw7Ry54Kz1IO0cueSs9TDtEPUt9eS5fc2V0Qm91bmRzKHt0b3BMZWZ0OkMsYm90dG9tUmlnaHQ6R30pO3kuX3hCb3VuZHNNb2RlPT09bS5Qcm9wZXJ0eU1vZGUuVkFMVUUmJm51bGwhPXkueFNjYWxlKCkmJnkuX3NldFhFeHRlbnQoW3kueFNjYWxlKCkuaW52ZXJ0KEMueCkseS54U2NhbGUoKS5pbnZlcnQoRy54KV0pO3kuX3lCb3VuZHNNb2RlPT09bS5Qcm9wZXJ0eU1vZGUuVkFMVUUmJm51bGwhPXkueVNjYWxlKCkmJgp5Ll9zZXRZRXh0ZW50KFt5LnlTY2FsZSgpLmludmVydChDLnkpLHkueVNjYWxlKCkuaW52ZXJ0KEcueSldKTt5LnJlbmRlcigpO3kuX2RyYWdDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh5LmJvdW5kcygpKX1mdW5jdGlvbiBBKEgpe3g9eS5fZ2V0UmVzaXppbmdFZGdlcyhIKTt2YXIgSz15LmJvdW5kcygpO0s9Sy50b3BMZWZ0Lng8PUgueCYmSC54PD1LLmJvdHRvbVJpZ2h0LngmJksudG9wTGVmdC55PD1ILnkmJkgueTw9Sy5ib3R0b21SaWdodC55O3kuYm94VmlzaWJsZSgpJiYoeC50b3B8fHguYm90dG9tfHx4LmxlZnR8fHgucmlnaHQpP0I9MTp5LmJveFZpc2libGUoKSYmeS5tb3ZhYmxlKCkmJks/Qj0yOihCPTAseS5fc2V0Qm91bmRzKHt0b3BMZWZ0OkgsYm90dG9tUmlnaHQ6SH0pLHkuX3hCb3VuZHNNb2RlPT09bS5Qcm9wZXJ0eU1vZGUuVkFMVUUmJm51bGwhPXkueFNjYWxlKCkmJnkuX3NldFhFeHRlbnQoW3kueFNjYWxlKCkuaW52ZXJ0KEgueCkseS54U2NhbGUoKS5pbnZlcnQoSC54KV0pLAp5Ll95Qm91bmRzTW9kZT09PW0uUHJvcGVydHlNb2RlLlZBTFVFJiZudWxsIT15LnlTY2FsZSgpJiZ5Ll9zZXRZRXh0ZW50KFt5LnlTY2FsZSgpLmludmVydChILnkpLHkueVNjYWxlKCkuaW52ZXJ0KEgueSldKSx5LnJlbmRlcigpKTt5LmJveFZpc2libGUoITApO0s9eS5ib3VuZHMoKTtDPXt4OksudG9wTGVmdC54LHk6Sy50b3BMZWZ0Lnl9O0c9e3g6Sy5ib3R0b21SaWdodC54LHk6Sy5ib3R0b21SaWdodC55fTtEPUg7eS5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmNhbGxDYWxsYmFja3MoSyl9dmFyIHk9dGhpcyx4LEMsRyxELEI9MDt0aGlzLl9kcmFnSW50ZXJhY3Rpb24ub25EcmFnU3RhcnQoQSk7dGhpcy5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZyh3KTt0aGlzLl9kcmFnSW50ZXJhY3Rpb24ub25EcmFnRW5kKHUpO3RoaXMuX2Rpc2Nvbm5lY3RJbnRlcmFjdGlvbj1mdW5jdGlvbigpe3kuX2RyYWdJbnRlcmFjdGlvbi5vZmZEcmFnU3RhcnQoQSk7eS5fZHJhZ0ludGVyYWN0aW9uLm9mZkRyYWcodyk7CnkuX2RyYWdJbnRlcmFjdGlvbi5vZmZEcmFnRW5kKHUpO3kuX2RyYWdJbnRlcmFjdGlvbi5kZXRhY2goKX19O3EucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe2Z1bmN0aW9uIHUoKXtyZXR1cm4gdy5fYm94LmFwcGVuZCgibGluZSIpLnN0eWxlcyh7b3BhY2l0eTowLHN0cm9rZToicGluayIsInBvaW50ZXItZXZlbnRzIjoidmlzaWJsZVN0cm9rZSJ9KX12YXIgdz10aGlzO24ucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpO3RoaXMuX2RldGVjdGlvbkVkZ2VUPXUoKS5jbGFzc2VkKCJkcmFnLWVkZ2UtdGIiLCEwKTt0aGlzLl9kZXRlY3Rpb25FZGdlQj11KCkuY2xhc3NlZCgiZHJhZy1lZGdlLXRiIiwhMCk7dGhpcy5fZGV0ZWN0aW9uRWRnZUw9dSgpLmNsYXNzZWQoImRyYWctZWRnZS1sciIsITApO3RoaXMuX2RldGVjdGlvbkVkZ2VSPXUoKS5jbGFzc2VkKCJkcmFnLWVkZ2UtbHIiLCEwKTtpZih0aGlzLl9oYXNDb3JuZXJzKXt2YXIgQT1mdW5jdGlvbigpe3JldHVybiB3Ll9ib3guYXBwZW5kKCJjaXJjbGUiKS5zdHlsZXMoe29wYWNpdHk6MCwKZmlsbDoicGluayIsInBvaW50ZXItZXZlbnRzIjoidmlzaWJsZUZpbGwifSl9O3RoaXMuX2RldGVjdGlvbkNvcm5lclRMPUEoKS5jbGFzc2VkKCJkcmFnLWNvcm5lci10bCIsITApO3RoaXMuX2RldGVjdGlvbkNvcm5lclRSPUEoKS5jbGFzc2VkKCJkcmFnLWNvcm5lci10ciIsITApO3RoaXMuX2RldGVjdGlvbkNvcm5lckJMPUEoKS5jbGFzc2VkKCJkcmFnLWNvcm5lci1ibCIsITApO3RoaXMuX2RldGVjdGlvbkNvcm5lckJSPUEoKS5jbGFzc2VkKCJkcmFnLWNvcm5lci1iciIsITApfX07cS5wcm90b3R5cGUuX2dldFJlc2l6aW5nRWRnZXM9ZnVuY3Rpb24odSl7dmFyIHc9e3RvcDohMSxib3R0b206ITEsbGVmdDohMSxyaWdodDohMX07aWYoIXRoaXMucmVzaXphYmxlKCkpcmV0dXJuIHc7dmFyIEE9dGhpcy5ib3VuZHMoKSx5PUEudG9wTGVmdC55LHg9QS5ib3R0b21SaWdodC55LEM9QS50b3BMZWZ0Lng7QT1BLmJvdHRvbVJpZ2h0Lng7dmFyIEc9dGhpcy5fZGV0ZWN0aW9uUmFkaXVzOwpDLUc8PXUueCYmdS54PD1BK0cmJih3LnRvcD15LUc8PXUueSYmdS55PD15K0csdy5ib3R0b209eC1HPD11LnkmJnUueTw9eCtHKTt5LUc8PXUueSYmdS55PD14K0cmJih3LmxlZnQ9Qy1HPD11LngmJnUueDw9QytHLHcucmlnaHQ9QS1HPD11LngmJnUueDw9QStHKTtyZXR1cm4gd307cS5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXtuLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseS5jYWxsKHRoaXMpO2lmKHRoaXMuYm94VmlzaWJsZSgpKXt2YXIgdT10aGlzLmJvdW5kcygpLHc9dS50b3BMZWZ0LnksQT11LmJvdHRvbVJpZ2h0LnkseT11LnRvcExlZnQueDt1PXUuYm90dG9tUmlnaHQueDt0aGlzLl9kZXRlY3Rpb25FZGdlVC5hdHRycyh7eDE6eSx5MTp3LHgyOnUseTI6dywic3Ryb2tlLXdpZHRoIjoyKnRoaXMuX2RldGVjdGlvblJhZGl1c30pO3RoaXMuX2RldGVjdGlvbkVkZ2VCLmF0dHJzKHt4MTp5LHkxOkEseDI6dSx5MjpBLCJzdHJva2Utd2lkdGgiOjIqCnRoaXMuX2RldGVjdGlvblJhZGl1c30pO3RoaXMuX2RldGVjdGlvbkVkZ2VMLmF0dHJzKHt4MTp5LHkxOncseDI6eSx5MjpBLCJzdHJva2Utd2lkdGgiOjIqdGhpcy5fZGV0ZWN0aW9uUmFkaXVzfSk7dGhpcy5fZGV0ZWN0aW9uRWRnZVIuYXR0cnMoe3gxOnUseTE6dyx4Mjp1LHkyOkEsInN0cm9rZS13aWR0aCI6Mip0aGlzLl9kZXRlY3Rpb25SYWRpdXN9KTt0aGlzLl9oYXNDb3JuZXJzJiYodGhpcy5fZGV0ZWN0aW9uQ29ybmVyVEwuYXR0cnMoe2N4OnksY3k6dyxyOnRoaXMuX2RldGVjdGlvblJhZGl1c30pLHRoaXMuX2RldGVjdGlvbkNvcm5lclRSLmF0dHJzKHtjeDp1LGN5Oncscjp0aGlzLl9kZXRlY3Rpb25SYWRpdXN9KSx0aGlzLl9kZXRlY3Rpb25Db3JuZXJCTC5hdHRycyh7Y3g6eSxjeTpBLHI6dGhpcy5fZGV0ZWN0aW9uUmFkaXVzfSksdGhpcy5fZGV0ZWN0aW9uQ29ybmVyQlIuYXR0cnMoe2N4OnUsY3k6QSxyOnRoaXMuX2RldGVjdGlvblJhZGl1c30pKX1yZXR1cm4gdGhpc307CnEucHJvdG90eXBlLmRldGVjdGlvblJhZGl1cz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kZXRlY3Rpb25SYWRpdXN9O3EucHJvdG90eXBlLnJlc2l6YWJsZT1mdW5jdGlvbih1KXtpZihudWxsPT11KXJldHVybiB0aGlzLl9yZXNpemFibGU7dGhpcy5fcmVzaXphYmxlPXU7dGhpcy5fc2V0UmVzaXphYmxlQ2xhc3Nlcyh1KTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuX3NldFJlc2l6YWJsZUNsYXNzZXM9ZnVuY3Rpb24odSl7dSYmdGhpcy5lbmFibGVkKCk/KHRoaXMuYWRkQ2xhc3MoIngtcmVzaXphYmxlIiksdGhpcy5hZGRDbGFzcygieS1yZXNpemFibGUiKSk6KHRoaXMucmVtb3ZlQ2xhc3MoIngtcmVzaXphYmxlIiksdGhpcy5yZW1vdmVDbGFzcygieS1yZXNpemFibGUiKSl9O3EucHJvdG90eXBlLm1vdmFibGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbW92YWJsZX07cS5wcm90b3R5cGUuX3NldE1vdmFibGVDbGFzcz1mdW5jdGlvbigpe3RoaXMubW92YWJsZSgpJiZ0aGlzLmVuYWJsZWQoKT8KdGhpcy5hZGRDbGFzcygibW92YWJsZSIpOnRoaXMucmVtb3ZlQ2xhc3MoIm1vdmFibGUiKX07cS5wcm90b3R5cGUub25EcmFnU3RhcnQ9ZnVuY3Rpb24odSl7dGhpcy5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmFkZCh1KX07cS5wcm90b3R5cGUub2ZmRHJhZ1N0YXJ0PWZ1bmN0aW9uKHUpe3RoaXMuX2RyYWdTdGFydENhbGxiYWNrcy5kZWxldGUodSl9O3EucHJvdG90eXBlLm9uRHJhZz1mdW5jdGlvbih1KXt0aGlzLl9kcmFnQ2FsbGJhY2tzLmFkZCh1KTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUub2ZmRHJhZz1mdW5jdGlvbih1KXt0aGlzLl9kcmFnQ2FsbGJhY2tzLmRlbGV0ZSh1KX07cS5wcm90b3R5cGUub25EcmFnRW5kPWZ1bmN0aW9uKHUpe3RoaXMuX2RyYWdFbmRDYWxsYmFja3MuYWRkKHUpfTtxLnByb3RvdHlwZS5vZmZEcmFnRW5kPWZ1bmN0aW9uKHUpe3RoaXMuX2RyYWdFbmRDYWxsYmFja3MuZGVsZXRlKHUpfTtxLnByb3RvdHlwZS5kcmFnSW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZHJhZ0ludGVyYWN0aW9ufTsKcS5wcm90b3R5cGUuZW5hYmxlZD1mdW5jdGlvbih1KXtpZihudWxsPT11KXJldHVybiB0aGlzLl9kcmFnSW50ZXJhY3Rpb24uZW5hYmxlZCgpO3RoaXMuX2RyYWdJbnRlcmFjdGlvbi5lbmFibGVkKHUpO3RoaXMuX3NldFJlc2l6YWJsZUNsYXNzZXModGhpcy5yZXNpemFibGUoKSk7dGhpcy5fc2V0TW92YWJsZUNsYXNzKCk7cmV0dXJuIHRoaXN9O3EucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgdT10aGlzO24ucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKTt0aGlzLl9kcmFnU3RhcnRDYWxsYmFja3MuZm9yRWFjaChmdW5jdGlvbih3KXtyZXR1cm4gdS5fZHJhZ0NhbGxiYWNrcy5kZWxldGUodyl9KTt0aGlzLl9kcmFnQ2FsbGJhY2tzLmZvckVhY2goZnVuY3Rpb24odyl7cmV0dXJuIHUuX2RyYWdDYWxsYmFja3MuZGVsZXRlKHcpfSk7dGhpcy5fZHJhZ0VuZENhbGxiYWNrcy5mb3JFYWNoKGZ1bmN0aW9uKHcpe3JldHVybiB1Ll9kcmFnRW5kQ2FsbGJhY2tzLmRlbGV0ZSh3KX0pOwp0aGlzLl9kaXNjb25uZWN0SW50ZXJhY3Rpb24oKX07cS5wcm90b3R5cGUuZGV0YWNoPWZ1bmN0aW9uKCl7dGhpcy5fcmVzZXRTdGF0ZSgpO3RoaXMuX2RyYWdJbnRlcmFjdGlvbi5kZXRhY2goKTtuLnByb3RvdHlwZS5kZXRhY2guY2FsbCh0aGlzKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuYW5jaG9yPWZ1bmN0aW9uKHUpe3U9cC5jb2VyY2VFeHRlcm5hbEQzKHUpO3RoaXMuX2RyYWdJbnRlcmFjdGlvbi5hdHRhY2hUbyh0aGlzKTtuLnByb3RvdHlwZS5hbmNob3IuY2FsbCh0aGlzLHUpO3JldHVybiB0aGlzfTtxLnByb3RvdHlwZS5fcmVzZXRTdGF0ZT1mdW5jdGlvbigpe3RoaXMuYm91bmRzKHt0b3BMZWZ0Ont4OjAseTowfSxib3R0b21SaWdodDp7eDowLHk6MH19KX07cmV0dXJuIHF9KGgoNDMpLlNlbGVjdGlvbkJveExheWVyKTtmLkRyYWdCb3hMYXllcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHAsbSl7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9CnB9Zm9yKHZhciBxIGluIG0pbS5oYXNPd25Qcm9wZXJ0eShxKSYmKHBbcV09bVtxXSk7cC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfSxyPWgoMTgpO2Q9ZnVuY3Rpb24ocCl7ZnVuY3Rpb24gbSgpe3JldHVybiBwLmNhbGwodGhpcywicGF0aCIsImxpbmUiKXx8dGhpc31rKG0scCk7bS5wcm90b3R5cGUuX2FwcGx5RGVmYXVsdEF0dHJpYnV0ZXM9ZnVuY3Rpb24obil7bi5zdHlsZSgiZmlsbCIsIm5vbmUiKX07bS5wcm90b3R5cGUuZ2V0VmlzdWFsUHJpbWl0aXZlQXRJbmRleD1mdW5jdGlvbigpe3JldHVybiBwLnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4LmNhbGwodGhpcywwKX07cmV0dXJuIG19KGgoOSkuU1ZHRHJhd2VyKTtmLkxpbmVTVkdEcmF3ZXI9ZDt2YXIgbD1bIm9wYWNpdHkiLCJzdHJva2Utb3BhY2l0eSIsInN0cm9rZS13aWR0aCIsInN0cm9rZSJdO2YubWFrZUxpbmVDYW52YXNEcmF3U3RlcD0KZnVuY3Rpb24ocCl7cmV0dXJuIGZ1bmN0aW9uKG0sbixxKXtxPXIucmVzb2x2ZUF0dHJpYnV0ZXMocSxsLG5bMF0sMCk7ci5yZW5kZXJMaW5lKG0scCgpLG5bMF0scSl9fX0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXB9Zm9yKHZhciBxIGluIG0pbS5oYXNPd25Qcm9wZXJ0eShxKSYmKHBbcV09bVtxXSk7cC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfSxyPWgoMTgpO2Q9ZnVuY3Rpb24ocCl7ZnVuY3Rpb24gbShuKXt2b2lkIDA9PT1uJiYobj0iIik7dmFyIHE9cC5jYWxsKHRoaXMsInJlY3QiLCIiKXx8dGhpcztxLl9yb290Q2xhc3NOYW1lPW47cS5fcm9vdC5jbGFzc2VkKHEuX3Jvb3RDbGFzc05hbWUsITApO3JldHVybiBxfWsobSxwKTtyZXR1cm4gbX0oaCg5KS5TVkdEcmF3ZXIpO2YuUmVjdGFuZ2xlU1ZHRHJhd2VyPQpkO3ZhciBsPVsieCIsInkiLCJ3aWR0aCIsImhlaWdodCJdO2YuUmVjdGFuZ2xlQ2FudmFzRHJhd1N0ZXA9ZnVuY3Rpb24ocCxtLG4pe3Auc2F2ZSgpO20uZm9yRWFjaChmdW5jdGlvbihxLHUpe251bGwhPXEmJihxPXIucmVzb2x2ZUF0dHJpYnV0ZXNTdWJzZXRXaXRoU3R5bGVzKG4sbCxxLHUpLHAuYmVnaW5QYXRoKCkscC5yZWN0KHEueCxxLnkscS53aWR0aCxxLmhlaWdodCksci5yZW5kZXJQYXRoV2l0aFN0eWxlKHAscSkpfSk7cC5yZXN0b3JlKCl9O2Q9ZnVuY3Rpb24ocCl7ZnVuY3Rpb24gbShuKXtyZXR1cm4gcC5jYWxsKHRoaXMsbixmLlJlY3RhbmdsZUNhbnZhc0RyYXdTdGVwKXx8dGhpc31rKG0scCk7cmV0dXJuIG19KHIuQ2FudmFzRHJhd2VyKTtmLlJlY3RhbmdsZUNhbnZhc0RyYXdlcj1kfSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhwKXtsLlNIT1dfV0FSTklOR1MmJmNvbnNvbGUud2FybihwKX1mdW5jdGlvbiByKHAsbSl7Zm9yKHZhciBuPVtdLHE9MjtxPGFyZ3VtZW50cy5sZW5ndGg7cSsrKW5bcS0KMl09YXJndW1lbnRzW3FdO3JldHVybiAwPT09bT8ocChuKSwtMSk6d2luZG93LnNldFRpbWVvdXQocCxtLG4pfXZhciBsPWgoMjMpO2Yud2Fybj1rO2Yuc2V0VGltZW91dD1yO2YuZGVib3VuY2U9ZnVuY3Rpb24ocCxtLG4pe2Z1bmN0aW9uIHEoKXttLmFwcGx5KG4sdyl9dmFyIHU9bnVsbCx3PVtdO3JldHVybiBmdW5jdGlvbigpe3c9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtjbGVhclRpbWVvdXQodSk7dT1yKHEscCl9fTtmLmRlcHJlY2F0ZWQ9ZnVuY3Rpb24ocCxtLG4pe3ZvaWQgMD09PW4mJihuPSIiKTtrKCJNZXRob2QgIitwKyIgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiB2ZXJzaW9uICIrbSsiLiBQbGVhc2UgcmVmZXIgdG8gdGhlIHJlbGVhc2Ugbm90ZXMuICIrbil9fSxmdW5jdGlvbihkLGYpe2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiBoKGspe3RoaXMucnVsZXI9bnVsbCE9ay5jcmVhdGVSdWxlcj9rLmNyZWF0ZVJ1bGVyKCk6a31oLnByb3RvdHlwZS5tZWFzdXJlPQpmdW5jdGlvbihrKXt2b2lkIDA9PT1rJiYoaz1oLkhFSUdIVF9URVhUKTtyZXR1cm4gdGhpcy5ydWxlcihrKX07cmV0dXJuIGh9KCk7ZC5IRUlHSFRfVEVYVD0iYmRwcWwiO2YuQWJzdHJhY3RNZWFzdXJlcj1kfSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhyKXtmb3IodmFyIGwgaW4gcilmLmhhc093blByb3BlcnR5KGwpfHwoZltsXT1yW2xdKX1rKGgoMzIpKTtrKGgoNzQpKTtrKGgoNzUpKTtrKGgoNDEpKTtrKGgoNDIpKTtrKGgoNzYpKTtrKGgoNzcpKTtrKGgoNzgpKTtrKGgoNzkpKTtrKGgoNDMpKTtrKGgoODApKTtrKGgoODEpKTtrKGgoODIpKX0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPWgoMCk7ZD1mdW5jdGlvbigpe2Z1bmN0aW9uIHIobCxwKXt2b2lkIDA9PT1sJiYobD1bXSk7dm9pZCAwPT09cCYmKHA9e30pO3RoaXMuX3VwZGF0ZUlkPTA7dGhpcy5fZGF0YT1sO3RoaXMuX21ldGFkYXRhPXA7dGhpcy5fY2FsbGJhY2tzPW5ldyBrLkNhbGxiYWNrU2V0fXIucHJvdG90eXBlLm9uVXBkYXRlPQpmdW5jdGlvbihsKXt0aGlzLl9jYWxsYmFja3MuYWRkKGwpO3JldHVybiB0aGlzfTtyLnByb3RvdHlwZS5vZmZVcGRhdGU9ZnVuY3Rpb24obCl7dGhpcy5fY2FsbGJhY2tzLmRlbGV0ZShsKTtyZXR1cm4gdGhpc307ci5wcm90b3R5cGUuZGF0YT1mdW5jdGlvbihsKXtpZihudWxsPT1sKXJldHVybiB0aGlzLl9kYXRhO3RoaXMuX2RhdGE9bDt0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpO3JldHVybiB0aGlzfTtyLnByb3RvdHlwZS5tZXRhZGF0YT1mdW5jdGlvbihsKXtpZihudWxsPT1sKXJldHVybiB0aGlzLl9tZXRhZGF0YTt0aGlzLl9tZXRhZGF0YT1sO3RoaXMuX2Rpc3BhdGNoVXBkYXRlKCk7cmV0dXJuIHRoaXN9O3IucHJvdG90eXBlLnVwZGF0ZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3VwZGF0ZUlkfTtyLnByb3RvdHlwZS5fZGlzcGF0Y2hVcGRhdGU9ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVJZCsrO3RoaXMuX2NhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKHRoaXMpfTtyZXR1cm4gcn0oKTsKZi5EYXRhc2V0PWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz1oKDApLHI9aCgzMCk7ZD1mdW5jdGlvbigpe2Z1bmN0aW9uIGwoKXt9bC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKCl7ci5mbHVzaCgpfTtyZXR1cm4gbH0oKTtmLkltbWVkaWF0ZT1kO2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiBsKCl7fWwucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigpe2suRE9NLnJlcXVlc3RBbmltYXRpb25GcmFtZVBvbHlmaWxsKHIuZmx1c2gpfTtyZXR1cm4gbH0oKTtmLkFuaW1hdGlvbkZyYW1lPWQ7ZD1mdW5jdGlvbigpe2Z1bmN0aW9uIGwoKXt0aGlzLl90aW1lb3V0TXNlYz1rLkRPTS5TQ1JFRU5fUkVGUkVTSF9SQVRFX01JTExJU0VDT05EU31sLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KHIuZmx1c2gsdGhpcy5fdGltZW91dE1zZWMpfTtyZXR1cm4gbH0oKTtmLlRpbWVvdXQ9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihwLAptKXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj1wfWZvcih2YXIgcSBpbiBtKW0uaGFzT3duUHJvcGVydHkocSkmJihwW3FdPW1bcV0pO3AucHJvdG90eXBlPW51bGw9PT1tP09iamVjdC5jcmVhdGUobSk6KG4ucHJvdG90eXBlPW0ucHJvdG90eXBlLG5ldyBuKX0scj1oKDEzKSxsPWgoMCk7ZD1mdW5jdGlvbihwKXtmdW5jdGlvbiBtKCl7dmFyIG49bnVsbCE9PXAmJnAuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzO24uX2tleVByZXNzQ2FsbGJhY2tzPXt9O24uX2tleVJlbGVhc2VDYWxsYmFja3M9e307bi5fbW91c2VNb3ZlQ2FsbGJhY2s9ZnVuY3Rpb24oKXtyZXR1cm4hMX07bi5fZG93bmVkS2V5cz1uZXcgbC5TZXQ7bi5fa2V5RG93bkNhbGxiYWNrPWZ1bmN0aW9uKHEsdSl7cmV0dXJuIG4uX2hhbmRsZUtleURvd25FdmVudChxLHUpfTtuLl9rZXlVcENhbGxiYWNrPWZ1bmN0aW9uKHEpe3JldHVybiBuLl9oYW5kbGVLZXlVcEV2ZW50KHEpfTtyZXR1cm4gbn1rKG0scCk7Cm0ucHJvdG90eXBlLl9hbmNob3I9ZnVuY3Rpb24obil7cC5wcm90b3R5cGUuX2FuY2hvci5jYWxsKHRoaXMsbik7dGhpcy5fcG9zaXRpb25EaXNwYXRjaGVyPXIuTW91c2UuZ2V0RGlzcGF0Y2hlcih0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvKTt0aGlzLl9wb3NpdGlvbkRpc3BhdGNoZXIub25Nb3VzZU1vdmUodGhpcy5fbW91c2VNb3ZlQ2FsbGJhY2spO3RoaXMuX2tleURpc3BhdGNoZXI9ci5LZXkuZ2V0RGlzcGF0Y2hlcigpO3RoaXMuX2tleURpc3BhdGNoZXIub25LZXlEb3duKHRoaXMuX2tleURvd25DYWxsYmFjayk7dGhpcy5fa2V5RGlzcGF0Y2hlci5vbktleVVwKHRoaXMuX2tleVVwQ2FsbGJhY2spfTttLnByb3RvdHlwZS5fdW5hbmNob3I9ZnVuY3Rpb24oKXtwLnByb3RvdHlwZS5fdW5hbmNob3IuY2FsbCh0aGlzKTt0aGlzLl9wb3NpdGlvbkRpc3BhdGNoZXIub2ZmTW91c2VNb3ZlKHRoaXMuX21vdXNlTW92ZUNhbGxiYWNrKTt0aGlzLl9wb3NpdGlvbkRpc3BhdGNoZXI9bnVsbDsKdGhpcy5fa2V5RGlzcGF0Y2hlci5vZmZLZXlEb3duKHRoaXMuX2tleURvd25DYWxsYmFjayk7dGhpcy5fa2V5RGlzcGF0Y2hlci5vZmZLZXlVcCh0aGlzLl9rZXlVcENhbGxiYWNrKTt0aGlzLl9rZXlEaXNwYXRjaGVyPW51bGx9O20ucHJvdG90eXBlLl9oYW5kbGVLZXlEb3duRXZlbnQ9ZnVuY3Rpb24obixxKXt2YXIgdT10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKHRoaXMuX3Bvc2l0aW9uRGlzcGF0Y2hlci5sYXN0TW91c2VQb3NpdGlvbigpKTt0aGlzLl9pc0luc2lkZUNvbXBvbmVudCh1KSYmIXEucmVwZWF0JiYodGhpcy5fa2V5UHJlc3NDYWxsYmFja3Nbbl0mJnRoaXMuX2tleVByZXNzQ2FsbGJhY2tzW25dLmNhbGxDYWxsYmFja3MobiksdGhpcy5fZG93bmVkS2V5cy5hZGQobikpfTttLnByb3RvdHlwZS5faGFuZGxlS2V5VXBFdmVudD1mdW5jdGlvbihuKXt0aGlzLl9kb3duZWRLZXlzLmhhcyhuKSYmdGhpcy5fa2V5UmVsZWFzZUNhbGxiYWNrc1tuXSYmdGhpcy5fa2V5UmVsZWFzZUNhbGxiYWNrc1tuXS5jYWxsQ2FsbGJhY2tzKG4pOwp0aGlzLl9kb3duZWRLZXlzLmRlbGV0ZShuKX07bS5wcm90b3R5cGUub25LZXlQcmVzcz1mdW5jdGlvbihuLHEpe3RoaXMuX2tleVByZXNzQ2FsbGJhY2tzW25dfHwodGhpcy5fa2V5UHJlc3NDYWxsYmFja3Nbbl09bmV3IGwuQ2FsbGJhY2tTZXQpO3RoaXMuX2tleVByZXNzQ2FsbGJhY2tzW25dLmFkZChxKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUub2ZmS2V5UHJlc3M9ZnVuY3Rpb24obixxKXt0aGlzLl9rZXlQcmVzc0NhbGxiYWNrc1tuXS5kZWxldGUocSk7MD09PXRoaXMuX2tleVByZXNzQ2FsbGJhY2tzW25dLnNpemUmJmRlbGV0ZSB0aGlzLl9rZXlQcmVzc0NhbGxiYWNrc1tuXTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUub25LZXlSZWxlYXNlPWZ1bmN0aW9uKG4scSl7dGhpcy5fa2V5UmVsZWFzZUNhbGxiYWNrc1tuXXx8KHRoaXMuX2tleVJlbGVhc2VDYWxsYmFja3Nbbl09bmV3IGwuQ2FsbGJhY2tTZXQpO3RoaXMuX2tleVJlbGVhc2VDYWxsYmFja3Nbbl0uYWRkKHEpO3JldHVybiB0aGlzfTsKbS5wcm90b3R5cGUub2ZmS2V5UmVsZWFzZT1mdW5jdGlvbihuLHEpe3RoaXMuX2tleVJlbGVhc2VDYWxsYmFja3Nbbl0uZGVsZXRlKHEpOzA9PT10aGlzLl9rZXlSZWxlYXNlQ2FsbGJhY2tzW25dLnNpemUmJmRlbGV0ZSB0aGlzLl9rZXlSZWxlYXNlQ2FsbGJhY2tzW25dO3JldHVybiB0aGlzfTtyZXR1cm4gbX0oaCgxNSkuSW50ZXJhY3Rpb24pO2YuS2V5PWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24obCxwKXtmdW5jdGlvbiBtKCl7dGhpcy5jb25zdHJ1Y3Rvcj1sfWZvcih2YXIgbiBpbiBwKXAuaGFzT3duUHJvcGVydHkobikmJihsW25dPXBbbl0pO2wucHJvdG90eXBlPW51bGw9PT1wP09iamVjdC5jcmVhdGUocCk6KG0ucHJvdG90eXBlPXAucHJvdG90eXBlLG5ldyBtKX0scj1oKDApO2Q9ZnVuY3Rpb24obCl7ZnVuY3Rpb24gcChtKXt2b2lkIDA9PT1tJiYobT1bXSk7dmFyIG49bC5jYWxsKHRoaXMpfHx0aGlzO24uX2NvbXBvbmVudHM9CltdO24uYWRkQ2xhc3MoImNvbXBvbmVudC1ncm91cCIpO20uZm9yRWFjaChmdW5jdGlvbihxKXtyZXR1cm4gbi5hcHBlbmQocSl9KTtyZXR1cm4gbn1rKHAsbCk7cC5wcm90b3R5cGUuX2ZvckVhY2g9ZnVuY3Rpb24obSl7dGhpcy5jb21wb25lbnRzKCkuZm9yRWFjaChtKX07cC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKG0pe3JldHVybiAwPD10aGlzLl9jb21wb25lbnRzLmluZGV4T2YobSl9O3AucHJvdG90eXBlLnJlcXVlc3RlZFNwYWNlPWZ1bmN0aW9uKG0sbil7dmFyIHE9dGhpcy5fY29tcG9uZW50cy5tYXAoZnVuY3Rpb24odSl7cmV0dXJuIHUucmVxdWVzdGVkU3BhY2UobSxuKX0pO3JldHVybnttaW5XaWR0aDpyLk1hdGgubWF4KHEsZnVuY3Rpb24odSl7cmV0dXJuIHUubWluV2lkdGh9LDApLG1pbkhlaWdodDpyLk1hdGgubWF4KHEsZnVuY3Rpb24odSl7cmV0dXJuIHUubWluSGVpZ2h0fSwwKX19O3AucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24obSxuLHEpe3ZhciB1PQp0aGlzO2wucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQuY2FsbCh0aGlzLG0sbixxKTt0aGlzLl9mb3JFYWNoKGZ1bmN0aW9uKHcpe3cuY29tcHV0ZUxheW91dCh7eDowLHk6MH0sdS53aWR0aCgpLHUuaGVpZ2h0KCkpfSk7cmV0dXJuIHRoaXN9O3AucHJvdG90eXBlLl9zaXplRnJvbU9mZmVyPWZ1bmN0aW9uKG0sbil7cmV0dXJue3dpZHRoOm0saGVpZ2h0Om59fTtwLnByb3RvdHlwZS5maXhlZFdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbXBvbmVudHMuZXZlcnkoZnVuY3Rpb24obSl7cmV0dXJuIG0uZml4ZWRXaWR0aCgpfSl9O3AucHJvdG90eXBlLmZpeGVkSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbXBvbmVudHMuZXZlcnkoZnVuY3Rpb24obSl7cmV0dXJuIG0uZml4ZWRIZWlnaHQoKX0pfTtwLnByb3RvdHlwZS5jb21wb25lbnRzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbXBvbmVudHMuc2xpY2UoKX07cC5wcm90b3R5cGUuYXBwZW5kPWZ1bmN0aW9uKG0pe251bGw9PQptfHx0aGlzLmhhcyhtKXx8KG0uZGV0YWNoKCksdGhpcy5fY29tcG9uZW50cy5wdXNoKG0pLHRoaXMuX2Fkb3B0QW5kQW5jaG9yKG0pLHRoaXMucmVkcmF3KCkpO3JldHVybiB0aGlzfTtwLnByb3RvdHlwZS5fcmVtb3ZlPWZ1bmN0aW9uKG0pe209dGhpcy5fY29tcG9uZW50cy5pbmRleE9mKG0pOzA8PW0mJnRoaXMuX2NvbXBvbmVudHMuc3BsaWNlKG0sMSl9O3JldHVybiBwfShoKDI5KS5Db21wb25lbnRDb250YWluZXIpO2YuR3JvdXA9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihsLHApe2Z1bmN0aW9uIG0oKXt0aGlzLmNvbnN0cnVjdG9yPWx9Zm9yKHZhciBuIGluIHApcC5oYXNPd25Qcm9wZXJ0eShuKSYmKGxbbl09cFtuXSk7bC5wcm90b3R5cGU9bnVsbD09PXA/T2JqZWN0LmNyZWF0ZShwKToobS5wcm90b3R5cGU9cC5wcm90b3R5cGUsbmV3IG0pfTtoKDApO2Q9aCg0KTt2YXIgcjsoZnVuY3Rpb24obCl7bFtsLlZBTFVFPTBdPQoiVkFMVUUiO2xbbC5QSVhFTD0xXT0iUElYRUwifSkocnx8KHI9e30pKTtkPWZ1bmN0aW9uKGwpe2Z1bmN0aW9uIHAobSl7dmFyIG49bC5jYWxsKHRoaXMpfHx0aGlzO24uX21vZGU9ci5WQUxVRTtpZihtIT09cC5PUklFTlRBVElPTl9WRVJUSUNBTCYmbSE9PXAuT1JJRU5UQVRJT05fSE9SSVpPTlRBTCl0aHJvdyBFcnJvcihtKyIgaXMgbm90IGEgdmFsaWQgb3JpZW50YXRpb24gZm9yIEd1aWRlTGluZUxheWVyIik7bi5fb3JpZW50YXRpb249bTtuLl9vdmVyZmxvd0hpZGRlbj0hMDtuLmFkZENsYXNzKCJndWlkZS1saW5lLWxheWVyIik7bi5faXNWZXJ0aWNhbCgpP24uYWRkQ2xhc3MoInZlcnRpY2FsIik6bi5hZGRDbGFzcygiaG9yaXpvbnRhbCIpO24uX3NjYWxlVXBkYXRlQ2FsbGJhY2s9ZnVuY3Rpb24oKXtuLl9zeW5jUGl4ZWxQb3NpdGlvbkFuZFZhbHVlKCk7bi5yZW5kZXIoKX07cmV0dXJuIG59ayhwLGwpO3AucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe2wucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpOwp0aGlzLl9ndWlkZUxpbmU9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJsaW5lIikuY2xhc3NlZCgiZ3VpZGUtbGluZSIsITApfTtwLnByb3RvdHlwZS5fc2l6ZUZyb21PZmZlcj1mdW5jdGlvbihtLG4pe3JldHVybnt3aWR0aDptLGhlaWdodDpufX07cC5wcm90b3R5cGUuX2lzVmVydGljYWw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fb3JpZW50YXRpb249PT1wLk9SSUVOVEFUSU9OX1ZFUlRJQ0FMfTtwLnByb3RvdHlwZS5maXhlZFdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuITB9O3AucHJvdG90eXBlLmZpeGVkSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuITB9O3AucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24obSxuLHEpe2wucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQuY2FsbCh0aGlzLG0sbixxKTtudWxsIT10aGlzLnNjYWxlKCkmJih0aGlzLl9pc1ZlcnRpY2FsKCk/dGhpcy5zY2FsZSgpLnJhbmdlKFswLHRoaXMud2lkdGgoKV0pOnRoaXMuc2NhbGUoKS5yYW5nZShbdGhpcy5oZWlnaHQoKSwKMF0pKTtyZXR1cm4gdGhpc307cC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXtsLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseS5jYWxsKHRoaXMpO3RoaXMuX3N5bmNQaXhlbFBvc2l0aW9uQW5kVmFsdWUoKTt0aGlzLl9ndWlkZUxpbmUuYXR0cnMoe3gxOnRoaXMuX2lzVmVydGljYWwoKT90aGlzLnBpeGVsUG9zaXRpb24oKTowLHkxOnRoaXMuX2lzVmVydGljYWwoKT8wOnRoaXMucGl4ZWxQb3NpdGlvbigpLHgyOnRoaXMuX2lzVmVydGljYWwoKT90aGlzLnBpeGVsUG9zaXRpb24oKTp0aGlzLndpZHRoKCkseTI6dGhpcy5faXNWZXJ0aWNhbCgpP3RoaXMuaGVpZ2h0KCk6dGhpcy5waXhlbFBvc2l0aW9uKCl9KTtyZXR1cm4gdGhpc307cC5wcm90b3R5cGUuX3N5bmNQaXhlbFBvc2l0aW9uQW5kVmFsdWU9ZnVuY3Rpb24oKXtudWxsIT10aGlzLnNjYWxlKCkmJih0aGlzLl9tb2RlPT09ci5WQUxVRSYmbnVsbCE9dGhpcy52YWx1ZSgpP3RoaXMuX3BpeGVsUG9zaXRpb249CnRoaXMuc2NhbGUoKS5zY2FsZSh0aGlzLnZhbHVlKCkpOnRoaXMuX21vZGU9PT1yLlBJWEVMJiZudWxsIT10aGlzLnBpeGVsUG9zaXRpb24oKSYmKHRoaXMuX3ZhbHVlPXRoaXMuc2NhbGUoKS5pbnZlcnQodGhpcy5waXhlbFBvc2l0aW9uKCkpKSl9O3AucHJvdG90eXBlLl9zZXRQaXhlbFBvc2l0aW9uV2l0aG91dENoYW5naW5nTW9kZT1mdW5jdGlvbihtKXt0aGlzLl9waXhlbFBvc2l0aW9uPW07bnVsbCE9dGhpcy5zY2FsZSgpJiYodGhpcy5fdmFsdWU9dGhpcy5zY2FsZSgpLmludmVydCh0aGlzLnBpeGVsUG9zaXRpb24oKSkpO3RoaXMucmVuZGVyKCl9O3AucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKG0pe2lmKG51bGw9PW0pcmV0dXJuIHRoaXMuX3NjYWxlO3ZhciBuPXRoaXMuX3NjYWxlO251bGwhPW4mJm4ub2ZmVXBkYXRlKHRoaXMuX3NjYWxlVXBkYXRlQ2FsbGJhY2spO3RoaXMuX3NjYWxlPW07dGhpcy5fc2NhbGUub25VcGRhdGUodGhpcy5fc2NhbGVVcGRhdGVDYWxsYmFjayk7CnRoaXMuX3N5bmNQaXhlbFBvc2l0aW9uQW5kVmFsdWUoKTt0aGlzLnJlZHJhdygpO3JldHVybiB0aGlzfTtwLnByb3RvdHlwZS52YWx1ZT1mdW5jdGlvbihtKXtpZihudWxsPT1tKXJldHVybiB0aGlzLl92YWx1ZTt0aGlzLl92YWx1ZT1tO3RoaXMuX21vZGU9ci5WQUxVRTt0aGlzLl9zeW5jUGl4ZWxQb3NpdGlvbkFuZFZhbHVlKCk7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307cC5wcm90b3R5cGUucGl4ZWxQb3NpdGlvbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9waXhlbFBvc2l0aW9ufTtwLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7bC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpO251bGwhPXRoaXMuc2NhbGUoKSYmdGhpcy5zY2FsZSgpLm9mZlVwZGF0ZSh0aGlzLl9zY2FsZVVwZGF0ZUNhbGxiYWNrKX07cmV0dXJuIHB9KGQuQ29tcG9uZW50KTtkLk9SSUVOVEFUSU9OX1ZFUlRJQ0FMPSJ2ZXJ0aWNhbCI7ZC5PUklFTlRBVElPTl9IT1JJWk9OVEFMPSJob3Jpem9udGFsIjsKZi5HdWlkZUxpbmVMYXllcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHAsbSl7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9cH1mb3IodmFyIHEgaW4gbSltLmhhc093blByb3BlcnR5KHEpJiYocFtxXT1tW3FdKTtwLnByb3RvdHlwZT1udWxsPT09bT9PYmplY3QuY3JlYXRlKG0pOihuLnByb3RvdHlwZT1tLnByb3RvdHlwZSxuZXcgbil9LHI9aCgwKTtkPWgoNCk7dmFyIGw7KGZ1bmN0aW9uKHApe3BbcC5WQUxVRT0wXT0iVkFMVUUiO3BbcC5QSVhFTD0xXT0iUElYRUwifSkobD1mLlByb3BlcnR5TW9kZXx8KGYuUHJvcGVydHlNb2RlPXt9KSk7ZD1mdW5jdGlvbihwKXtmdW5jdGlvbiBtKCl7dmFyIG49cC5jYWxsKHRoaXMpfHx0aGlzO24uX2JveFZpc2libGU9ITE7bi5fYm94Qm91bmRzPXt0b3BMZWZ0Ont4OjAseTowfSxib3R0b21SaWdodDp7eDowLHk6MH19O24uX3hCb3VuZHNNb2RlPWwuUElYRUw7bi5feUJvdW5kc01vZGU9CmwuUElYRUw7bi5hZGRDbGFzcygic2VsZWN0aW9uLWJveC1sYXllciIpO24uX2FkanVzdEJvdW5kc0NhbGxiYWNrPWZ1bmN0aW9uKCl7bi5yZW5kZXIoKX07bi5fb3ZlcmZsb3dIaWRkZW49ITA7bi5feEV4dGVudD1bdm9pZCAwLHZvaWQgMF07bi5feUV4dGVudD1bdm9pZCAwLHZvaWQgMF07cmV0dXJuIG59ayhtLHApO20ucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3AucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpO3RoaXMuX2JveD10aGlzLmNvbnRlbnQoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJzZWxlY3Rpb24tYm94IiwhMCkucmVtb3ZlKCk7dGhpcy5fYm94QXJlYT10aGlzLl9ib3guYXBwZW5kKCJyZWN0IikuY2xhc3NlZCgic2VsZWN0aW9uLWFyZWEiLCEwKX07bS5wcm90b3R5cGUuX3NpemVGcm9tT2ZmZXI9ZnVuY3Rpb24obixxKXtyZXR1cm57d2lkdGg6bixoZWlnaHQ6cX19O20ucHJvdG90eXBlLmJvdW5kcz1mdW5jdGlvbihuKXtpZihudWxsPT1uKXJldHVybiB0aGlzLl9nZXRCb3VuZHMoKTsKdGhpcy5fc2V0Qm91bmRzKG4pO3RoaXMuX3lCb3VuZHNNb2RlPXRoaXMuX3hCb3VuZHNNb2RlPWwuUElYRUw7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUuX3NldEJvdW5kcz1mdW5jdGlvbihuKXt0aGlzLl9ib3hCb3VuZHM9e3RvcExlZnQ6e3g6TWF0aC5taW4obi50b3BMZWZ0Lngsbi5ib3R0b21SaWdodC54KSx5Ok1hdGgubWluKG4udG9wTGVmdC55LG4uYm90dG9tUmlnaHQueSl9LGJvdHRvbVJpZ2h0Ont4Ok1hdGgubWF4KG4udG9wTGVmdC54LG4uYm90dG9tUmlnaHQueCkseTpNYXRoLm1heChuLnRvcExlZnQueSxuLmJvdHRvbVJpZ2h0LnkpfX19O20ucHJvdG90eXBlLl9nZXRCb3VuZHM9ZnVuY3Rpb24oKXtyZXR1cm57dG9wTGVmdDp7eDp0aGlzLl94Qm91bmRzTW9kZT09PWwuUElYRUw/dGhpcy5fYm94Qm91bmRzLnRvcExlZnQueDpudWxsPT10aGlzLl94U2NhbGU/MDpNYXRoLm1pbih0aGlzLnhTY2FsZSgpLnNjYWxlKHRoaXMueEV4dGVudCgpWzBdKSwKdGhpcy54U2NhbGUoKS5zY2FsZSh0aGlzLnhFeHRlbnQoKVsxXSkpLHk6dGhpcy5feUJvdW5kc01vZGU9PT1sLlBJWEVMP3RoaXMuX2JveEJvdW5kcy50b3BMZWZ0Lnk6bnVsbD09dGhpcy5feVNjYWxlPzA6TWF0aC5taW4odGhpcy55U2NhbGUoKS5zY2FsZSh0aGlzLnlFeHRlbnQoKVswXSksdGhpcy55U2NhbGUoKS5zY2FsZSh0aGlzLnlFeHRlbnQoKVsxXSkpfSxib3R0b21SaWdodDp7eDp0aGlzLl94Qm91bmRzTW9kZT09PWwuUElYRUw/dGhpcy5fYm94Qm91bmRzLmJvdHRvbVJpZ2h0Lng6bnVsbD09dGhpcy5feFNjYWxlPzA6TWF0aC5tYXgodGhpcy54U2NhbGUoKS5zY2FsZSh0aGlzLnhFeHRlbnQoKVswXSksdGhpcy54U2NhbGUoKS5zY2FsZSh0aGlzLnhFeHRlbnQoKVsxXSkpLHk6dGhpcy5feUJvdW5kc01vZGU9PT1sLlBJWEVMP3RoaXMuX2JveEJvdW5kcy5ib3R0b21SaWdodC55Om51bGw9PXRoaXMuX3lTY2FsZT8wOk1hdGgubWF4KHRoaXMueVNjYWxlKCkuc2NhbGUodGhpcy55RXh0ZW50KClbMF0pLAp0aGlzLnlTY2FsZSgpLnNjYWxlKHRoaXMueUV4dGVudCgpWzFdKSl9fX07bS5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXtwLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseS5jYWxsKHRoaXMpO2lmKHRoaXMuX2JveFZpc2libGUpe3ZhciBuPXRoaXMuYm91bmRzKCkscT1uLnRvcExlZnQueSx1PW4uYm90dG9tUmlnaHQueSx3PW4udG9wTGVmdC54O249bi5ib3R0b21SaWdodC54O2lmKCEoci5NYXRoLmlzVmFsaWROdW1iZXIocSkmJnIuTWF0aC5pc1ZhbGlkTnVtYmVyKHUpJiZyLk1hdGguaXNWYWxpZE51bWJlcih3KSYmci5NYXRoLmlzVmFsaWROdW1iZXIobikpKXRocm93IEVycm9yKCJib3VuZHMgaGF2ZSBub3QgYmVlbiBwcm9wZXJseSBzZXQiKTt0aGlzLl9ib3hBcmVhLmF0dHJzKHt4OncseTpxLHdpZHRoOm4tdyxoZWlnaHQ6dS1xfSk7dGhpcy5jb250ZW50KCkubm9kZSgpLmFwcGVuZENoaWxkKHRoaXMuX2JveC5ub2RlKCkpfWVsc2UgdGhpcy5fYm94LnJlbW92ZSgpOwpyZXR1cm4gdGhpc307bS5wcm90b3R5cGUuYm94VmlzaWJsZT1mdW5jdGlvbihuKXtpZihudWxsPT1uKXJldHVybiB0aGlzLl9ib3hWaXNpYmxlO3RoaXMuX2JveFZpc2libGU9bjt0aGlzLnJlbmRlcigpO3JldHVybiB0aGlzfTttLnByb3RvdHlwZS5maXhlZFdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuITB9O20ucHJvdG90eXBlLmZpeGVkSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuITB9O20ucHJvdG90eXBlLnhTY2FsZT1mdW5jdGlvbihuKXtpZihudWxsPT1uKXJldHVybiB0aGlzLl94U2NhbGU7bnVsbCE9dGhpcy5feFNjYWxlJiZ0aGlzLl94U2NhbGUub2ZmVXBkYXRlKHRoaXMuX2FkanVzdEJvdW5kc0NhbGxiYWNrKTt0aGlzLl94U2NhbGU9bjt0aGlzLl94Qm91bmRzTW9kZT1sLlZBTFVFO3RoaXMuX3hTY2FsZS5vblVwZGF0ZSh0aGlzLl9hZGp1c3RCb3VuZHNDYWxsYmFjayk7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUueVNjYWxlPWZ1bmN0aW9uKG4pe2lmKG51bGw9PQpuKXJldHVybiB0aGlzLl95U2NhbGU7bnVsbCE9dGhpcy5feVNjYWxlJiZ0aGlzLl95U2NhbGUub2ZmVXBkYXRlKHRoaXMuX2FkanVzdEJvdW5kc0NhbGxiYWNrKTt0aGlzLl95U2NhbGU9bjt0aGlzLl95Qm91bmRzTW9kZT1sLlZBTFVFO3RoaXMuX3lTY2FsZS5vblVwZGF0ZSh0aGlzLl9hZGp1c3RCb3VuZHNDYWxsYmFjayk7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUueEV4dGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9nZXRYRXh0ZW50KCl9O20ucHJvdG90eXBlLl9nZXRYRXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3hCb3VuZHNNb2RlPT09bC5WQUxVRT90aGlzLl94RXh0ZW50Om51bGw9PXRoaXMuX3hTY2FsZT9bdm9pZCAwLHZvaWQgMF06W3RoaXMuX3hTY2FsZS5pbnZlcnQodGhpcy5fYm94Qm91bmRzLnRvcExlZnQueCksdGhpcy5feFNjYWxlLmludmVydCh0aGlzLl9ib3hCb3VuZHMuYm90dG9tUmlnaHQueCldfTttLnByb3RvdHlwZS5fc2V0WEV4dGVudD0KZnVuY3Rpb24obil7dGhpcy5feEV4dGVudD1ufTttLnByb3RvdHlwZS55RXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2dldFlFeHRlbnQoKX07bS5wcm90b3R5cGUuX2dldFlFeHRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5feUJvdW5kc01vZGU9PT1sLlZBTFVFP3RoaXMuX3lFeHRlbnQ6bnVsbD09dGhpcy5feVNjYWxlP1t2b2lkIDAsdm9pZCAwXTpbdGhpcy5feVNjYWxlLmludmVydCh0aGlzLl9ib3hCb3VuZHMudG9wTGVmdC55KSx0aGlzLl95U2NhbGUuaW52ZXJ0KHRoaXMuX2JveEJvdW5kcy5ib3R0b21SaWdodC55KV19O20ucHJvdG90eXBlLl9zZXRZRXh0ZW50PWZ1bmN0aW9uKG4pe3RoaXMuX3lFeHRlbnQ9bn07bS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3AucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKTtudWxsIT10aGlzLl94U2NhbGUmJnRoaXMueFNjYWxlKCkub2ZmVXBkYXRlKHRoaXMuX2FkanVzdEJvdW5kc0NhbGxiYWNrKTtudWxsIT10aGlzLl95U2NhbGUmJgp0aGlzLnlTY2FsZSgpLm9mZlVwZGF0ZSh0aGlzLl9hZGp1c3RCb3VuZHNDYWxsYmFjayl9O3JldHVybiBtfShkLkNvbXBvbmVudCk7Zi5TZWxlY3Rpb25Cb3hMYXllcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHIsbCl7ZnVuY3Rpb24gcCgpe3RoaXMuY29uc3RydWN0b3I9cn1mb3IodmFyIG0gaW4gbClsLmhhc093blByb3BlcnR5KG0pJiYoclttXT1sW21dKTtyLnByb3RvdHlwZT1udWxsPT09bD9PYmplY3QuY3JlYXRlKGwpOihwLnByb3RvdHlwZT1sLnByb3RvdHlwZSxuZXcgcCl9O2Q9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gbCgpe3JldHVybiByLmNhbGwodGhpcywicGF0aCIsImFyYyBmaWxsIil8fHRoaXN9ayhsLHIpO2wucHJvdG90eXBlLl9hcHBseURlZmF1bHRBdHRyaWJ1dGVzPWZ1bmN0aW9uKHApe3Auc3R5bGUoInN0cm9rZSIsIm5vbmUiKX07cmV0dXJuIGx9KGgoOSkuU1ZHRHJhd2VyKTtmLkFyY1NWR0RyYXdlcj0KZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihyLGwpe2Z1bmN0aW9uIHAoKXt0aGlzLmNvbnN0cnVjdG9yPXJ9Zm9yKHZhciBtIGluIGwpbC5oYXNPd25Qcm9wZXJ0eShtKSYmKHJbbV09bFttXSk7ci5wcm90b3R5cGU9bnVsbD09PWw/T2JqZWN0LmNyZWF0ZShsKToocC5wcm90b3R5cGU9bC5wcm90b3R5cGUsbmV3IHApfTtkPWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIGwoKXtyZXR1cm4gci5jYWxsKHRoaXMsInBhdGgiLCJhcmMgb3V0bGluZSIpfHx0aGlzfWsobCxyKTtsLnByb3RvdHlwZS5fYXBwbHlEZWZhdWx0QXR0cmlidXRlcz1mdW5jdGlvbihwKXtwLnN0eWxlKCJmaWxsIiwibm9uZSIpfTtyZXR1cm4gbH0oaCg5KS5TVkdEcmF3ZXIpO2YuQXJjT3V0bGluZVNWR0RyYXdlcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHAsbSl7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9CnB9Zm9yKHZhciBxIGluIG0pbS5oYXNPd25Qcm9wZXJ0eShxKSYmKHBbcV09bVtxXSk7cC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfSxyPWgoMTgpO2Q9ZnVuY3Rpb24ocCl7ZnVuY3Rpb24gbSgpe3JldHVybiBwLmNhbGwodGhpcywicGF0aCIsImFyZWEiKXx8dGhpc31rKG0scCk7bS5wcm90b3R5cGUuX2FwcGx5RGVmYXVsdEF0dHJpYnV0ZXM9ZnVuY3Rpb24obil7bi5zdHlsZSgic3Ryb2tlIiwibm9uZSIpfTttLnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4PWZ1bmN0aW9uKCl7cmV0dXJuIHAucHJvdG90eXBlLmdldFZpc3VhbFByaW1pdGl2ZUF0SW5kZXguY2FsbCh0aGlzLDApfTtyZXR1cm4gbX0oaCg5KS5TVkdEcmF3ZXIpO2YuQXJlYVNWR0RyYXdlcj1kO3ZhciBsPVsiZmlsbCIsIm9wYWNpdHkiLCJmaWxsLW9wYWNpdHkiXTtmLm1ha2VBcmVhQ2FudmFzRHJhd1N0ZXA9ZnVuY3Rpb24ocCl7cmV0dXJuIGZ1bmN0aW9uKG0sCm4scSl7cT1yLnJlc29sdmVBdHRyaWJ1dGVzKHEsbCxuWzBdLDApO3IucmVuZGVyQXJlYShtLHAoKSxuWzBdLHEpfX19LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24ocixsKXtmdW5jdGlvbiBwKCl7dGhpcy5jb25zdHJ1Y3Rvcj1yfWZvcih2YXIgbSBpbiBsKWwuaGFzT3duUHJvcGVydHkobSkmJihyW21dPWxbbV0pO3IucHJvdG90eXBlPW51bGw9PT1sP09iamVjdC5jcmVhdGUobCk6KHAucHJvdG90eXBlPWwucHJvdG90eXBlLG5ldyBwKX07ZD1mdW5jdGlvbihyKXtmdW5jdGlvbiBsKCl7cmV0dXJuIHIuY2FsbCh0aGlzLCJsaW5lIiwiIil8fHRoaXN9ayhsLHIpO3JldHVybiBsfShoKDkpLlNWR0RyYXdlcik7Zi5TZWdtZW50U1ZHRHJhd2VyPWR9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKG4scSx1LHcsQSl7cmV0dXJuIDA8PXUrQSYmdS1BPD1uJiYwPD13K0EmJnctQTw9cX1mdW5jdGlvbiByKG4scSx1KXtpZihudWxsPT1uKXJldHVybiExOwpmb3IodmFyIHc9MDt3PHUubGVuZ3RoO3crKyl7dmFyIEE9dVt3XTtpZihuW0FdIT1xW0FdKXJldHVybiExfXJldHVybiEwfXZhciBsPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihuLHEpe2Z1bmN0aW9uIHUoKXt0aGlzLmNvbnN0cnVjdG9yPW59Zm9yKHZhciB3IGluIHEpcS5oYXNPd25Qcm9wZXJ0eSh3KSYmKG5bd109cVt3XSk7bi5wcm90b3R5cGU9bnVsbD09PXE/T2JqZWN0LmNyZWF0ZShxKToodS5wcm90b3R5cGU9cS5wcm90b3R5cGUsbmV3IHUpfSxwPWgoODYpLG09aCgxOCk7ZD1mdW5jdGlvbihuKXtmdW5jdGlvbiBxKCl7cmV0dXJuIG4uY2FsbCh0aGlzLCJwYXRoIiwic3ltYm9sIil8fHRoaXN9bChxLG4pO3JldHVybiBxfShoKDkpLlNWR0RyYXdlcik7Zi5TeW1ib2xTVkdEcmF3ZXI9ZDtmLm1ha2VTeW1ib2xDYW52YXNEcmF3U3RlcD1mdW5jdGlvbihuLHEsdSl7dmFyIHc9dGhpcztyZXR1cm4gZnVuY3Rpb24oQSx5LHgpe3ZhciBDPUEuY2FudmFzLEc9Qy5jbGllbnRXaWR0aDsKQz1DLmNsaWVudEhlaWdodDtmb3IodmFyIEQ9bmV3IHAuQ2FudmFzQnVmZmVyKDAsMCksQj1xKCksSD11KCksSz1udWxsLEw9bnVsbCxKPW51bGwsTz0wO088eS5sZW5ndGg7TysrKXt2YXIgUz15W09dO2lmKG51bGwhPVMpe3ZhciBOPW0ucmVzb2x2ZUF0dHJpYnV0ZXNTdWJzZXRXaXRoU3R5bGVzKHgsWyJ4IiwieSJdLFMsTyksUj1IKFMsTyxuKTtpZihrKEcsQyxOLngsTi55LFIpKXt2YXIgWD1yKEssTixtLkNvbnRleHRTdHlsZUF0dHJzKTtTPUIoUyxPLHcuX2RhdGFzZXQpO1gmJko9PVImJkw9PVN8fChLPW0uZ2V0U3Ryb2tlV2lkdGgoTiksSz1SK0srMSwoSz5ELnNjcmVlbldpZHRofHxLPkQuc2NyZWVuSGVpZ2h0KSYmRC5yZXNpemUoSyxLLCEwKSxELmNsZWFyKCksSz1ELmN0eCxLLmJlZ2luUGF0aCgpLFMoUikuY29udGV4dChLKShudWxsKSxLLmNsb3NlUGF0aCgpLG0ucmVuZGVyUGF0aFdpdGhTdHlsZShLLE4pLEw9UyxKPVIsSz1OKTtELmJsaXRDZW50ZXIoQSxOLngsTi55KX19fX19fSwKZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsoRCl7cmV0dXJuIEQgaW5zdGFuY2VvZiB5P0Q6RCBpbnN0YW5jZW9mIERhdGU/cChELnZhbHVlT2YoKSk6RCBpbnN0YW5jZW9mIEEuU2NhbGU/cihEKTpEIGluc3RhbmNlb2Ygdy5EYXRhc2V0P2woRCk6dShEKT9uKEQpOkFycmF5LmlzQXJyYXkoRCk/bShEKTpwKEQpfWZ1bmN0aW9uIHIoRCl7RD17ZG9tYWluOkQuZG9tYWluKCkscmFuZ2U6RC5yYW5nZSgpLHVwZGF0ZUlkOkQudXBkYXRlSWQoKSxyZWY6cChEKX07cmV0dXJuIG4oRCl9ZnVuY3Rpb24gbChEKXtEPXtyZWY6cChEKSx1cGRhdGVJZDpELnVwZGF0ZUlkKCl9O3JldHVybiBuKEQpfWZ1bmN0aW9uIHAoRCl7cmV0dXJuIG5ldyBDKEQpfWZ1bmN0aW9uIG0oRCl7cmV0dXJuIG5ldyB4KEQubWFwKGZ1bmN0aW9uKEIpe3JldHVybiBrKEIpfSkpfWZ1bmN0aW9uIG4oRCl7dmFyIEI9e30sSDtmb3IoSCBpbiBEKUQuaGFzT3duUHJvcGVydHkoSCkmJihCW0hdPWsoRFtIXSkpO3JldHVybiBuZXcgRyhCKX0KdmFyIHE9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKEQsQil7ZnVuY3Rpb24gSCgpe3RoaXMuY29uc3RydWN0b3I9RH1mb3IodmFyIEsgaW4gQilCLmhhc093blByb3BlcnR5KEspJiYoRFtLXT1CW0tdKTtELnByb3RvdHlwZT1udWxsPT09Qj9PYmplY3QuY3JlYXRlKEIpOihILnByb3RvdHlwZT1CLnByb3RvdHlwZSxuZXcgSCl9LHU9aCgxMjgpLHc9aCgzOCksQT1oKDE3KTtmLnNpZ249aztmLnNpZ25TY2FsZT1yO2Yuc2lnbkRhdGFzZXQ9bDtmLnNpZ25SZWY9cDtmLnNpZ25BcnJheT1tO2Yuc2lnbk9iaj1uO3ZhciB5PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gRCgpe31ELnByb3RvdHlwZS5pc0RpZmZlcmVudD1mdW5jdGlvbihCKXtyZXR1cm4gQiBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3I/dGhpcy5pc1NpZ25hdHVyZURpZmZlcmVudChCKTohMH07cmV0dXJuIER9KCk7Zi5TaWduYXR1cmU9eTt2YXIgeD1mdW5jdGlvbihEKXtmdW5jdGlvbiBCKEgpe3ZhciBLPUQuY2FsbCh0aGlzKXx8CnRoaXM7Sy5hcnJheT1IO3JldHVybiBLfXEoQixEKTtCLnByb3RvdHlwZS5pc1NpZ25hdHVyZURpZmZlcmVudD1mdW5jdGlvbihIKXtpZihILmFycmF5Lmxlbmd0aCE9PXRoaXMuYXJyYXkubGVuZ3RoKXJldHVybiEwO2Zvcih2YXIgSz0wO0s8dGhpcy5hcnJheS5sZW5ndGg7SysrKWlmKHRoaXMuYXJyYXlbS10uaXNEaWZmZXJlbnQoSC5hcnJheVtLXSkpcmV0dXJuITA7cmV0dXJuITF9O3JldHVybiBCfSh5KTtmLkFycmF5U2lnbmF0dXJlPXg7dmFyIEM9ZnVuY3Rpb24oRCl7ZnVuY3Rpb24gQihIKXt2YXIgSz1ELmNhbGwodGhpcyl8fHRoaXM7Sy5yZWY9SDtyZXR1cm4gS31xKEIsRCk7Qi5wcm90b3R5cGUuaXNTaWduYXR1cmVEaWZmZXJlbnQ9ZnVuY3Rpb24oSCl7cmV0dXJuIHRoaXMucmVmIT09SC5yZWZ9O3JldHVybiBCfSh5KTtmLlJlZmVyZW5jZVNpZ25hdHVyZT1DO3ZhciBHPWZ1bmN0aW9uKEQpe2Z1bmN0aW9uIEIoSCl7dmFyIEs9RC5jYWxsKHRoaXMpfHx0aGlzO0sub2JqPQpIO3JldHVybiBLfXEoQixEKTtCLnByb3RvdHlwZS5pc1NpZ25hdHVyZURpZmZlcmVudD1mdW5jdGlvbihIKXt2YXIgSz1PYmplY3Qua2V5cyh0aGlzLm9iaiksTD1PYmplY3Qua2V5cyhILm9iaik7aWYoSy5sZW5ndGghPT1MLmxlbmd0aClyZXR1cm4hMDtmb3IoTD0wO0w8Sy5sZW5ndGg7TCsrKXt2YXIgSj1LW0xdO2lmKCFILm9iai5oYXNPd25Qcm9wZXJ0eShKKXx8dGhpcy5vYmpbSl0uaXNEaWZmZXJlbnQoSC5vYmpbSl0pKXJldHVybiEwfXJldHVybiExfTtyZXR1cm4gQn0oeSk7Zi5PYmplY3RTaWduYXR1cmU9R30sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbih5LHgpe2Z1bmN0aW9uIEMoKXt0aGlzLmNvbnN0cnVjdG9yPXl9Zm9yKHZhciBHIGluIHgpeC5oYXNPd25Qcm9wZXJ0eShHKSYmKHlbR109eFtHXSk7eS5wcm90b3R5cGU9bnVsbD09PXg/T2JqZWN0LmNyZWF0ZSh4KTooQy5wcm90b3R5cGU9eC5wcm90b3R5cGUsbmV3IEMpfSwKcj1oKDEpLGw9aCgzKSxwPWgoMCksbT1oKDE0KSxuPWgoNDYpLHE9aCg2KSx1PWgoMzMpLHc9aCgxOSk7ZD1oKDUzKTt2YXIgQT1oKDIpO2g9ZnVuY3Rpb24oeSl7ZnVuY3Rpb24geCgpe3ZhciBDPXkuY2FsbCh0aGlzKXx8dGhpcztDLmFkZENsYXNzKCJhcmVhLXBsb3QiKTtDLnkwKDApO0MuYXR0cigiZmlsbC1vcGFjaXR5IiwuMjUpO0MuYXR0cigiZmlsbCIsKG5ldyBsLkNvbG9yKS5yYW5nZSgpWzBdKTtDLl9saW5lRHJhd2Vycz1uZXcgcC5NYXA7cmV0dXJuIEN9ayh4LHkpO3gucHJvdG90eXBlLnk9ZnVuY3Rpb24oQyxHKXtpZihudWxsPT1DKXJldHVybiB5LnByb3RvdHlwZS55LmNhbGwodGhpcyk7bnVsbD09Rz95LnByb3RvdHlwZS55LmNhbGwodGhpcyxDKTp5LnByb3RvdHlwZS55LmNhbGwodGhpcyxDLEcpO251bGwhPUcmJihDPXRoaXMueTAoKS5hY2Nlc3NvcixudWxsIT1DJiZ0aGlzLl9iaW5kUHJvcGVydHkoeC5fWTBfS0VZLEMsRyksdGhpcy5fdXBkYXRlWVNjYWxlKCkpOwpyZXR1cm4gdGhpc307eC5wcm90b3R5cGUueTA9ZnVuY3Rpb24oQyl7aWYobnVsbD09QylyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoeC5fWTBfS0VZKTt2YXIgRz10aGlzLnkoKTt0aGlzLl9iaW5kUHJvcGVydHkoeC5fWTBfS0VZLEMsRyYmRy5zY2FsZSk7dGhpcy5fdXBkYXRlWVNjYWxlKCk7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307eC5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZT1mdW5jdGlvbigpe3kucHJvdG90eXBlLl9vbkRhdGFzZXRVcGRhdGUuY2FsbCh0aGlzKTt0aGlzLl91cGRhdGVZU2NhbGUoKX07eC5wcm90b3R5cGUuX2FkZERhdGFzZXQ9ZnVuY3Rpb24oQyl7dmFyIEc9dGhpczt0aGlzLl9saW5lRHJhd2Vycy5zZXQoQyxuZXcgbS5Qcm94eURyYXdlcihmdW5jdGlvbigpe3JldHVybiBuZXcgdS5MaW5lU1ZHRHJhd2VyfSxmdW5jdGlvbihEKXtyZXR1cm4gbmV3IG0uQ2FudmFzRHJhd2VyKEQsdS5tYWtlTGluZUNhbnZhc0RyYXdTdGVwKGZ1bmN0aW9uKCl7dmFyIEI9CkEuUGxvdC5fc2NhbGVkQWNjZXNzb3IoRy54KCkpLEg9QS5QbG90Ll9zY2FsZWRBY2Nlc3NvcihHLnkoKSk7cmV0dXJuIEcuX2QzTGluZUZhY3RvcnkoQyxCLEgpfSkpfSkpO3kucHJvdG90eXBlLl9hZGREYXRhc2V0LmNhbGwodGhpcyxDKTtyZXR1cm4gdGhpc307eC5wcm90b3R5cGUuX2NyZWF0ZU5vZGVzRm9yRGF0YXNldD1mdW5jdGlvbihDKXt5LnByb3RvdHlwZS5fY3JlYXRlTm9kZXNGb3JEYXRhc2V0LmNhbGwodGhpcyxDKTtDPXRoaXMuX2xpbmVEcmF3ZXJzLmdldChDKTsic3ZnIj09PXRoaXMucmVuZGVyZXIoKT9DLnVzZVNWRyh0aGlzLl9yZW5kZXJBcmVhKTpDLnVzZUNhbnZhcyh0aGlzLl9jYW52YXMpO3JldHVybiBDfTt4LnByb3RvdHlwZS5fcmVtb3ZlRGF0YXNldE5vZGVzPWZ1bmN0aW9uKEMpe3kucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0Tm9kZXMuY2FsbCh0aGlzLEMpO3RoaXMuX2xpbmVEcmF3ZXJzLmdldChDKS5yZW1vdmUoKX07eC5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD0KZnVuY3Rpb24oKXt2YXIgQz10aGlzLEc9dGhpcy5fZ2VuZXJhdGVMaW5lRHJhd1N0ZXBzKCksRD10aGlzLl9nZXREYXRhVG9EcmF3KCk7dGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oQil7dmFyIEg9QS5QbG90LmFwcGx5RHJhd1N0ZXBzKEcsQik7Qy5fbGluZURyYXdlcnMuZ2V0KEIpLmRyYXcoRC5nZXQoQiksSCl9KX07eC5wcm90b3R5cGUuX2dlbmVyYXRlTGluZURyYXdTdGVwcz1mdW5jdGlvbigpe3ZhciBDPVtdO2lmKHRoaXMuX2FuaW1hdGVPbk5leHRSZW5kZXIoKSl7dmFyIEc9dGhpcy5fZ2VuZXJhdGVMaW5lQXR0clRvUHJvamVjdG9yKCk7Ry5kPXRoaXMuX2NvbnN0cnVjdExpbmVQcm9qZWN0b3IoQS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSksdGhpcy5fZ2V0UmVzZXRZRnVuY3Rpb24oKSk7Qy5wdXNoKHthdHRyVG9Qcm9qZWN0b3I6RyxhbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcih3LkFuaW1hdG9yLlJFU0VUKX0pfUMucHVzaCh7YXR0clRvUHJvamVjdG9yOnRoaXMuX2dlbmVyYXRlTGluZUF0dHJUb1Byb2plY3RvcigpLAphbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcih3LkFuaW1hdG9yLk1BSU4pfSk7cmV0dXJuIEN9O3gucHJvdG90eXBlLl9nZW5lcmF0ZUxpbmVBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXt2YXIgQz10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKTtDLmQ9dGhpcy5fY29uc3RydWN0TGluZVByb2plY3RvcihBLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSxBLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKSk7cmV0dXJuIEN9O3gucHJvdG90eXBlLl9jcmVhdGVEcmF3ZXI9ZnVuY3Rpb24oQyl7dmFyIEc9dGhpcztyZXR1cm4gbmV3IHEuUHJveHlEcmF3ZXIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG4uQXJlYVNWR0RyYXdlcn0sZnVuY3Rpb24oRCl7cmV0dXJuIG5ldyBtLkNhbnZhc0RyYXdlcihELG4ubWFrZUFyZWFDYW52YXNEcmF3U3RlcChmdW5jdGlvbigpe3ZhciBCPUEuUGxvdC5fc2NhbGVkQWNjZXNzb3IoRy54KCkpLEg9QS5QbG90Ll9zY2FsZWRBY2Nlc3NvcihHLnkoKSksCks9QS5QbG90Ll9zY2FsZWRBY2Nlc3NvcihHLnkwKCkpO3JldHVybiBHLl9jcmVhdGVBcmVhR2VuZXJhdG9yKEIsSCxLLEcuX2NyZWF0ZURlZmluZWRQcm9qZWN0b3IoQixIKSxDKX0pKX0pfTt4LnByb3RvdHlwZS5fZ2VuZXJhdGVEcmF3U3RlcHM9ZnVuY3Rpb24oKXt2YXIgQz1bXTtpZih0aGlzLl9hbmltYXRlT25OZXh0UmVuZGVyKCkpe3ZhciBHPXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpO0cuZD10aGlzLl9jb25zdHJ1Y3RBcmVhUHJvamVjdG9yKEEuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLHRoaXMuX2dldFJlc2V0WUZ1bmN0aW9uKCksQS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkwKCkpKTtDLnB1c2goe2F0dHJUb1Byb2plY3RvcjpHLGFuaW1hdG9yOnRoaXMuX2dldEFuaW1hdG9yKHcuQW5pbWF0b3IuUkVTRVQpfSl9Qy5wdXNoKHthdHRyVG9Qcm9qZWN0b3I6dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksYW5pbWF0b3I6dGhpcy5fZ2V0QW5pbWF0b3Iody5BbmltYXRvci5NQUlOKX0pOwpyZXR1cm4gQ307eC5wcm90b3R5cGUuX3VwZGF0ZVlTY2FsZT1mdW5jdGlvbigpe3ZhciBDPXRoaXMuZ2V0RXh0ZW50c0ZvclByb3BlcnR5KCJ5MCIpO0M9cC5BcnJheS51bmlxKHAuQXJyYXkuZmxhdHRlbihDKSk7dmFyIEc9MT09PUMubGVuZ3RoP0NbMF06bnVsbDtDPShDPXRoaXMueSgpKSYmQy5zY2FsZTtudWxsIT1DJiYobnVsbCE9dGhpcy5fY29uc3RhbnRCYXNlbGluZVZhbHVlUHJvdmlkZXImJihDLnJlbW92ZVBhZGRpbmdFeGNlcHRpb25zUHJvdmlkZXIodGhpcy5fY29uc3RhbnRCYXNlbGluZVZhbHVlUHJvdmlkZXIpLHRoaXMuX2NvbnN0YW50QmFzZWxpbmVWYWx1ZVByb3ZpZGVyPW51bGwpLG51bGwhPUcmJih0aGlzLl9jb25zdGFudEJhc2VsaW5lVmFsdWVQcm92aWRlcj1mdW5jdGlvbigpe3JldHVybltHXX0sQy5hZGRQYWRkaW5nRXhjZXB0aW9uc1Byb3ZpZGVyKHRoaXMuX2NvbnN0YW50QmFzZWxpbmVWYWx1ZVByb3ZpZGVyKSkpfTt4LnByb3RvdHlwZS5fZ2V0UmVzZXRZRnVuY3Rpb249CmZ1bmN0aW9uKCl7cmV0dXJuIEEuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55MCgpKX07eC5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycz1mdW5jdGlvbigpe3ZhciBDPXkucHJvdG90eXBlLl9wcm9wZXJ0eVByb2plY3RvcnMuY2FsbCh0aGlzKTtDLmQ9dGhpcy5fY29uc3RydWN0QXJlYVByb2plY3RvcihBLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSxBLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKSxBLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueTAoKSkpO3JldHVybiBDfTt4LnByb3RvdHlwZS5zZWxlY3Rpb25zPWZ1bmN0aW9uKEMpe3ZhciBHPXRoaXM7dm9pZCAwPT09QyYmKEM9dGhpcy5kYXRhc2V0cygpKTtpZigiY2FudmFzIj09PXRoaXMucmVuZGVyZXIoKSlyZXR1cm4gci5zZWxlY3RBbGwoKTt2YXIgRD15LnByb3RvdHlwZS5zZWxlY3Rpb25zLmNhbGwodGhpcyxDKS5ub2RlcygpO0MubWFwKGZ1bmN0aW9uKEIpe3JldHVybiBHLl9saW5lRHJhd2Vycy5nZXQoQil9KS5maWx0ZXIoZnVuY3Rpb24oQil7cmV0dXJuIG51bGwhPQpCfSkuZm9yRWFjaChmdW5jdGlvbihCKXtyZXR1cm4gRC5wdXNoLmFwcGx5KEQsQi5nZXRWaXN1YWxQcmltaXRpdmVzKCkpfSk7cmV0dXJuIHIuc2VsZWN0QWxsKEQpfTt4LnByb3RvdHlwZS5fY29uc3RydWN0QXJlYVByb2plY3Rvcj1mdW5jdGlvbihDLEcsRCl7dmFyIEI9dGhpcyxIPXRoaXMuX2NyZWF0ZURlZmluZWRQcm9qZWN0b3IoQS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSksQS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSkpO3JldHVybiBmdW5jdGlvbihLLEwsSil7cmV0dXJuIEIuX2NyZWF0ZUFyZWFHZW5lcmF0b3IoQyxHLEQsSCxKKShLKX19O3gucHJvdG90eXBlLl9jcmVhdGVEZWZpbmVkUHJvamVjdG9yPWZ1bmN0aW9uKEMsRyl7cmV0dXJuIGZ1bmN0aW9uKEQsQixIKXt2YXIgSz1DKEQsQixIKTtEPUcoRCxCLEgpO3JldHVybiBwLk1hdGguaXNWYWxpZE51bWJlcihLKSYmcC5NYXRoLmlzVmFsaWROdW1iZXIoRCl9fTt4LnByb3RvdHlwZS5fY3JlYXRlQXJlYUdlbmVyYXRvcj0KZnVuY3Rpb24oQyxHLEQsQixIKXt2YXIgSz10aGlzLl9nZXRDdXJ2ZUZhY3RvcnkoKTtyZXR1cm4gci5hcmVhKCkueChmdW5jdGlvbihMLEope3JldHVybiBDKEwsSixIKX0pLnkxKGZ1bmN0aW9uKEwsSil7cmV0dXJuIEcoTCxKLEgpfSkueTAoZnVuY3Rpb24oTCxKKXtyZXR1cm4gRChMLEosSCl9KS5jdXJ2ZShLKS5kZWZpbmVkKGZ1bmN0aW9uKEwsSil7cmV0dXJuIEIoTCxKLEgpfSl9O3JldHVybiB4fShkLkxpbmUpO2guX1kwX0tFWT0ieTAiO2YuQXJlYT1ofSxmdW5jdGlvbihkLGYpeyhmdW5jdGlvbihoKXtoLk1BSU49Im1haW4iO2guUkVTRVQ9InJlc2V0In0pKGYuQW5pbWF0b3J8fChmLkFuaW1hdG9yPXt9KSl9LGZ1bmN0aW9uKGQsZil7dmFyIGg9ZnVuY3Rpb24oKXtmdW5jdGlvbiBrKCl7dmFyIHI9dGhpczt0aGlzLnRyYW5zbGF0ZT10aGlzLnNjYWxlPTA7dGhpcy5jYWNoZWREb21haW49W251bGwsbnVsbF07dGhpcy5sYXN0U2VlbkRvbWFpbj1bbnVsbCxudWxsXTt0aGlzLnVwZGF0ZURvbWFpbj0KZnVuY3Rpb24obCl7ci5sYXN0U2VlbkRvbWFpbj1sLmdldFRyYW5zZm9ybWF0aW9uRG9tYWluKCk7dmFyIHA9bC5zY2FsZVRyYW5zZm9ybWF0aW9uKHIuY2FjaGVkRG9tYWluWzFdKS1sLnNjYWxlVHJhbnNmb3JtYXRpb24oci5jYWNoZWREb21haW5bMF0pLG09bC5zY2FsZVRyYW5zZm9ybWF0aW9uKHIubGFzdFNlZW5Eb21haW5bMV0pLWwuc2NhbGVUcmFuc2Zvcm1hdGlvbihyLmxhc3RTZWVuRG9tYWluWzBdKTtyLnNjYWxlPXAvbXx8MTtyLnRyYW5zbGF0ZT1sLnNjYWxlVHJhbnNmb3JtYXRpb24oci5jYWNoZWREb21haW5bMF0pLWwuc2NhbGVUcmFuc2Zvcm1hdGlvbihyLmxhc3RTZWVuRG9tYWluWzBdKSpyLnNjYWxlfHwwfX1rLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuc2NhbGU9MTt0aGlzLnRyYW5zbGF0ZT0wO3RoaXMuY2FjaGVkRG9tYWluPXRoaXMubGFzdFNlZW5Eb21haW59O2sucHJvdG90eXBlLnNldERvbWFpbj1mdW5jdGlvbihyKXt0aGlzLmNhY2hlZERvbWFpbj0Kci5nZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbigpfTtyZXR1cm4ga30oKTtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gayhyLGwpe3ZhciBwPXRoaXM7dGhpcy5yZW5kZXJDYWxsYmFjaz1yO3RoaXMuYXBwbHlUcmFuc2Zvcm1DYWxsYmFjaz1sO3RoaXMuZG9tYWluVHJhbnNmb3JtWD1uZXcgaDt0aGlzLmRvbWFpblRyYW5zZm9ybVk9bmV3IGg7dGhpcy5yZW5kZXJEZWZlcnJlZD1mdW5jdGlvbigpe3AuYXBwbHlUcmFuc2Zvcm0oKTtjbGVhclRpbWVvdXQocC50aW1lb3V0VG9rZW4pO3AudGltZW91dFRva2VuPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtwLnJlbmRlckNhbGxiYWNrKCl9LGsuREVGRVJSRURfUkVOREVSSU5HX0RFTEFZKX19ay5wcm90b3R5cGUuc2V0RG9tYWlucz1mdW5jdGlvbihyLGwpe3ImJnRoaXMuZG9tYWluVHJhbnNmb3JtWC5zZXREb21haW4ocik7bCYmdGhpcy5kb21haW5UcmFuc2Zvcm1ZLnNldERvbWFpbihsKTt0aGlzLnJlbmRlckRlZmVycmVkKCl9O2sucHJvdG90eXBlLnVwZGF0ZURvbWFpbnM9CmZ1bmN0aW9uKHIsbCl7ciYmdGhpcy5kb21haW5UcmFuc2Zvcm1YLnVwZGF0ZURvbWFpbihyKTtsJiZ0aGlzLmRvbWFpblRyYW5zZm9ybVkudXBkYXRlRG9tYWluKGwpO3RoaXMucmVuZGVyRGVmZXJyZWQoKX07ay5wcm90b3R5cGUucmVzZXRUcmFuc2Zvcm1zPWZ1bmN0aW9uKCl7dGhpcy5kb21haW5UcmFuc2Zvcm1YLnJlc2V0KCk7dGhpcy5kb21haW5UcmFuc2Zvcm1ZLnJlc2V0KCk7dGhpcy5hcHBseVRyYW5zZm9ybSgpfTtrLnByb3RvdHlwZS5hcHBseVRyYW5zZm9ybT1mdW5jdGlvbigpe3RoaXMuYXBwbHlUcmFuc2Zvcm1DYWxsYmFjayh0aGlzLmRvbWFpblRyYW5zZm9ybVgudHJhbnNsYXRlLHRoaXMuZG9tYWluVHJhbnNmb3JtWS50cmFuc2xhdGUsdGhpcy5kb21haW5UcmFuc2Zvcm1YLnNjYWxlLHRoaXMuZG9tYWluVHJhbnNmb3JtWS5zY2FsZSl9O3JldHVybiBrfSgpO2QuREVGRVJSRURfUkVOREVSSU5HX0RFTEFZPTIwMDtmLkRlZmVycmVkUmVuZGVyZXI9ZH0sZnVuY3Rpb24oZCwKZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oQyxHKXtmdW5jdGlvbiBEKCl7dGhpcy5jb25zdHJ1Y3Rvcj1DfWZvcih2YXIgQiBpbiBHKUcuaGFzT3duUHJvcGVydHkoQikmJihDW0JdPUdbQl0pO0MucHJvdG90eXBlPW51bGw9PT1HP09iamVjdC5jcmVhdGUoRyk6KEQucHJvdG90eXBlPUcucHJvdG90eXBlLG5ldyBEKX0scj1oKDEpLGw9aCg3KSxwPWgoMTQpLG09aCg2KSxuPWgoMzMpLHE9aCgzKSx1PWgoMTEpLHc9aCgwKTtkPWgoMTApO3ZhciBBPWgoMTkpLHk9aCgyKTtoPWgoMTYpO3ZhciB4PXtsaW5lYXI6ci5jdXJ2ZUxpbmVhcixsaW5lYXJDbG9zZWQ6ci5jdXJ2ZUxpbmVhckNsb3NlZCxzdGVwOnIuY3VydmVTdGVwLHN0ZXBCZWZvcmU6ci5jdXJ2ZVN0ZXBCZWZvcmUsc3RlcEFmdGVyOnIuY3VydmVTdGVwQWZ0ZXIsYmFzaXM6ci5jdXJ2ZUJhc2lzLGJhc2lzT3BlbjpyLmN1cnZlQmFzaXNPcGVuLGJhc2lzQ2xvc2VkOnIuY3VydmVCYXNpc0Nsb3NlZCwKYnVuZGxlOnIuY3VydmVCdW5kbGUsY2FyZGluYWw6ci5jdXJ2ZUNhcmRpbmFsLGNhcmRpbmFsT3BlbjpyLmN1cnZlQ2FyZGluYWxPcGVuLGNhcmRpbmFsQ2xvc2VkOnIuY3VydmVDYXJkaW5hbENsb3NlZCxtb25vdG9uZTpyLmN1cnZlTW9ub3RvbmVYfTtmLkN1cnZlTmFtZT1kLm1ha2VFbnVtKCJsaW5lYXIgbGluZWFyQ2xvc2VkIHN0ZXAgc3RlcEJlZm9yZSBzdGVwQWZ0ZXIgYmFzaXMgYmFzaXNPcGVuIGJhc2lzQ2xvc2VkIGJ1bmRsZSBjYXJkaW5hbCBjYXJkaW5hbE9wZW4gY2FyZGluYWxDbG9zZWQgbW9ub3RvbmUiLnNwbGl0KCIgIikpO2g9ZnVuY3Rpb24oQyl7ZnVuY3Rpb24gRygpe3ZhciBEPUMuY2FsbCh0aGlzKXx8dGhpcztELl9jdXJ2ZT0ibGluZWFyIjtELl9hdXRvcmFuZ2VTbW9vdGg9ITE7RC5fY3JvcHBlZFJlbmRlcmluZ0VuYWJsZWQ9ITA7RC5fY29sbGFwc2VEZW5zZVZlcnRpY2FsTGluZXNFbmFibGVkPSExO0QuX2Rvd25zYW1wbGluZ0VuYWJsZWQ9ITE7RC5hZGRDbGFzcygibGluZS1wbG90Iik7CnZhciBCPW5ldyBsLkVhc2luZztCLnN0ZXBEdXJhdGlvbih5LlBsb3QuX0FOSU1BVElPTl9NQVhfRFVSQVRJT04pO0IuZWFzaW5nTW9kZSgiZXhwSW5PdXQiKTtCLm1heFRvdGFsRHVyYXRpb24oeS5QbG90Ll9BTklNQVRJT05fTUFYX0RVUkFUSU9OKTtELmFuaW1hdG9yKEEuQW5pbWF0b3IuTUFJTixCKTtELmF0dHIoInN0cm9rZSIsKG5ldyBxLkNvbG9yKS5yYW5nZSgpWzBdKTtELmF0dHIoInN0cm9rZS13aWR0aCIsIjJweCIpO3JldHVybiBEfWsoRyxDKTtHLnByb3RvdHlwZS54PWZ1bmN0aW9uKEQsQixIKXtpZihudWxsPT1EKXJldHVybiBDLnByb3RvdHlwZS54LmNhbGwodGhpcyk7Qy5wcm90b3R5cGUueC5jYWxsKHRoaXMsRCxCLEgpO3RoaXMuX3NldFNjYWxlU25hcHBpbmcoKTtyZXR1cm4gdGhpc307Ry5wcm90b3R5cGUueT1mdW5jdGlvbihELEIsSCl7aWYobnVsbD09RClyZXR1cm4gQy5wcm90b3R5cGUueS5jYWxsKHRoaXMpO0MucHJvdG90eXBlLnkuY2FsbCh0aGlzLEQsQiwKSCk7dGhpcy5fc2V0U2NhbGVTbmFwcGluZygpO3JldHVybiB0aGlzfTtHLnByb3RvdHlwZS5hdXRvcmFuZ2VNb2RlPWZ1bmN0aW9uKEQpe2lmKG51bGw9PUQpcmV0dXJuIEMucHJvdG90eXBlLmF1dG9yYW5nZU1vZGUuY2FsbCh0aGlzKTtDLnByb3RvdHlwZS5hdXRvcmFuZ2VNb2RlLmNhbGwodGhpcyxEKTt0aGlzLl9zZXRTY2FsZVNuYXBwaW5nKCk7cmV0dXJuIHRoaXN9O0cucHJvdG90eXBlLmF1dG9yYW5nZVNtb290aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9hdXRvcmFuZ2VTbW9vdGh9O0cucHJvdG90eXBlLl9zZXRTY2FsZVNuYXBwaW5nPWZ1bmN0aW9uKCl7IngiPT09dGhpcy5hdXRvcmFuZ2VNb2RlKCkmJnRoaXMueCgpJiZ0aGlzLngoKS5zY2FsZSYmdGhpcy54KCkuc2NhbGUgaW5zdGFuY2VvZiB1LlF1YW50aXRhdGl2ZVNjYWxlJiZ0aGlzLngoKS5zY2FsZS5zbmFwcGluZ0RvbWFpbkVuYWJsZWQoIXRoaXMuYXV0b3JhbmdlU21vb3RoKCkpOyJ5Ij09PXRoaXMuYXV0b3JhbmdlTW9kZSgpJiYKdGhpcy55KCkmJnRoaXMueSgpLnNjYWxlJiZ0aGlzLnkoKS5zY2FsZSBpbnN0YW5jZW9mIHUuUXVhbnRpdGF0aXZlU2NhbGUmJnRoaXMueSgpLnNjYWxlLnNuYXBwaW5nRG9tYWluRW5hYmxlZCghdGhpcy5hdXRvcmFuZ2VTbW9vdGgoKSl9O0cucHJvdG90eXBlLmN1cnZlPWZ1bmN0aW9uKEQpe2lmKG51bGw9PUQpcmV0dXJuIHRoaXMuX2N1cnZlO3RoaXMuX2N1cnZlPUQ7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307Ry5wcm90b3R5cGUuZG93bnNhbXBsaW5nRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kb3duc2FtcGxpbmdFbmFibGVkfTtHLnByb3RvdHlwZS5jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZD1mdW5jdGlvbihEKXtpZihudWxsPT1EKXJldHVybiB0aGlzLl9jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZDt0aGlzLl9jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZD1EO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O0cucHJvdG90eXBlLmNvbGxhcHNlRGVuc2VMaW5lc0VuYWJsZWQ9CmZ1bmN0aW9uKEQpe2lmKG51bGw9PUQpcmV0dXJuIHRoaXMuX2NvbGxhcHNlRGVuc2VWZXJ0aWNhbExpbmVzRW5hYmxlZDt0aGlzLl9jb2xsYXBzZURlbnNlVmVydGljYWxMaW5lc0VuYWJsZWQ9RDt0aGlzLnJlbmRlcigpO3JldHVybiB0aGlzfTtHLnByb3RvdHlwZS5fY3JlYXRlRHJhd2VyPWZ1bmN0aW9uKEQpe3ZhciBCPXRoaXM7cmV0dXJuIG5ldyBtLlByb3h5RHJhd2VyKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBuLkxpbmVTVkdEcmF3ZXJ9LGZ1bmN0aW9uKEgpe3JldHVybiBuZXcgcC5DYW52YXNEcmF3ZXIoSCxuLm1ha2VMaW5lQ2FudmFzRHJhd1N0ZXAoZnVuY3Rpb24oKXtyZXR1cm4gQi5fZDNMaW5lRmFjdG9yeShEKX0pKX0pfTtHLnByb3RvdHlwZS5nZXRFeHRlbnRzRm9yUHJvcGVydHk9ZnVuY3Rpb24oRCl7dmFyIEI9Qy5wcm90b3R5cGUuZ2V0RXh0ZW50c0ZvclByb3BlcnR5LmNhbGwodGhpcyxEKTtpZighdGhpcy5fYXV0b3JhbmdlU21vb3RofHx0aGlzLmF1dG9yYW5nZU1vZGUoKSE9PQpEfHwieCIhPT10aGlzLmF1dG9yYW5nZU1vZGUoKSYmInkiIT09dGhpcy5hdXRvcmFuZ2VNb2RlKCkpcmV0dXJuIEI7RD10aGlzLl9nZXRFZGdlSW50ZXJzZWN0aW9uUG9pbnRzKCk7dmFyIEg9InkiPT09dGhpcy5hdXRvcmFuZ2VNb2RlKCk/RC5sZWZ0LmNvbmNhdChELnJpZ2h0KS5tYXAoZnVuY3Rpb24oSyl7cmV0dXJuIEsueX0pOkQudG9wLmNvbmNhdChELmJvdHRvbSkubWFwKGZ1bmN0aW9uKEspe3JldHVybiBLLnh9KTtyZXR1cm4gQi5tYXAoZnVuY3Rpb24oSyl7cmV0dXJuIHIuZXh0ZW50KHIubWVyZ2UoW0ssSF0pKX0pfTtHLnByb3RvdHlwZS5fZ2V0RWRnZUludGVyc2VjdGlvblBvaW50cz1mdW5jdGlvbigpe3ZhciBEPXRoaXM7aWYoISh0aGlzLnkoKS5zY2FsZSBpbnN0YW5jZW9mIHUuUXVhbnRpdGF0aXZlU2NhbGUmJnRoaXMueCgpLnNjYWxlIGluc3RhbmNlb2YgdS5RdWFudGl0YXRpdmVTY2FsZSkpcmV0dXJue2xlZnQ6W10scmlnaHQ6W10sdG9wOltdLGJvdHRvbTpbXX07CnZhciBCPXRoaXMueSgpLnNjYWxlLEg9dGhpcy54KCkuc2NhbGUsSz17bGVmdDpbXSxyaWdodDpbXSx0b3A6W10sYm90dG9tOltdfSxMPUguc2NhbGUoSC5kb21haW4oKVswXSksSj1ILnNjYWxlKEguZG9tYWluKClbMV0pLE89Qi5zY2FsZShCLmRvbWFpbigpWzBdKSxTPUIuc2NhbGUoQi5kb21haW4oKVsxXSk7dGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oTil7Zm9yKHZhciBSPU4uZGF0YSgpLFgsYWEsZmEsb2EsWixjYSxqYSxiYT0xO2JhPFIubGVuZ3RoO2JhKyspb2E9Y2F8fEguc2NhbGUoRC54KCkuYWNjZXNzb3IoUltiYS0xXSxiYS0xLE4pKSxaPWphfHxCLnNjYWxlKEQueSgpLmFjY2Vzc29yKFJbYmEtMV0sYmEtMSxOKSksY2E9SC5zY2FsZShELngoKS5hY2Nlc3NvcihSW2JhXSxiYSxOKSksamE9Qi5zY2FsZShELnkoKS5hY2Nlc3NvcihSW2JhXSxiYSxOKSksb2E8TD09PUw8PWNhJiYoWD1MLW9hLGFhPWNhLW9hLGZhPWphLVosWD1YKmZhL2FhLEsubGVmdC5wdXNoKHt4OkwsCnk6Qi5pbnZlcnQoWitYKX0pKSxvYTxKPT09Sjw9Y2EmJihYPUotb2EsYWE9Y2Etb2EsZmE9amEtWixYPVgqZmEvYWEsSy5yaWdodC5wdXNoKHt4OkoseTpCLmludmVydChaK1gpfSkpLFo8Uz09PVM8PWphJiYoYWE9Y2Etb2EsWD1TLVosZmE9amEtWixYPVgqYWEvZmEsSy50b3AucHVzaCh7eDpILmludmVydChvYStYKSx5OlN9KSksWjxPPT09Tzw9amEmJihhYT1jYS1vYSxYPU8tWixmYT1qYS1aLFg9WCphYS9mYSxLLmJvdHRvbS5wdXNoKHt4OkguaW52ZXJ0KG9hK1gpLHk6T30pKX0pO3JldHVybiBLfTtHLnByb3RvdHlwZS5fZ2V0UmVzZXRZRnVuY3Rpb249ZnVuY3Rpb24oKXt2YXIgRD10aGlzLnkoKS5zY2FsZS5kb21haW4oKSxCPU1hdGgubWF4KERbMF0sRFsxXSk7RD1NYXRoLm1pbihEWzBdLERbMV0pO0I9MD5CJiZCfHwwPEQmJkR8fDA7dmFyIEg9dGhpcy55KCkuc2NhbGUuc2NhbGUoQik7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIEh9fTtHLnByb3RvdHlwZS5fZ2VuZXJhdGVEcmF3U3RlcHM9CmZ1bmN0aW9uKCl7dmFyIEQ9W107aWYodGhpcy5fYW5pbWF0ZU9uTmV4dFJlbmRlcigpKXt2YXIgQj10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKTtCLmQ9dGhpcy5fY29uc3RydWN0TGluZVByb2plY3Rvcih5LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSx0aGlzLl9nZXRSZXNldFlGdW5jdGlvbigpKTtELnB1c2goe2F0dHJUb1Byb2plY3RvcjpCLGFuaW1hdG9yOnRoaXMuX2dldEFuaW1hdG9yKEEuQW5pbWF0b3IuUkVTRVQpfSl9RC5wdXNoKHthdHRyVG9Qcm9qZWN0b3I6dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksYW5pbWF0b3I6dGhpcy5fZ2V0QW5pbWF0b3IoQS5BbmltYXRvci5NQUlOKX0pO3JldHVybiBEfTtHLnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXt2YXIgRD1DLnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3IuY2FsbCh0aGlzKTtPYmplY3Qua2V5cyhEKS5mb3JFYWNoKGZ1bmN0aW9uKEIpe2lmKCJkIiE9PQpCKXt2YXIgSD1EW0JdO0RbQl09ZnVuY3Rpb24oSyxMLEope3JldHVybiAwPEsubGVuZ3RoP0goS1swXSxMLEopOm51bGx9fX0pO3JldHVybiBEfTtHLnByb3RvdHlwZS5lbnRpdGllc0F0PWZ1bmN0aW9uKEQpe0Q9dGhpcy5lbnRpdHlOZWFyZXN0QnlYVGhlblkoRCk7cmV0dXJuIG51bGwhPUQ/W0RdOltdfTtHLnByb3RvdHlwZS5lbnRpdHlOZWFyZXN0QnlYVGhlblk9ZnVuY3Rpb24oRCl7dmFyIEI9SW5maW5pdHksSD1JbmZpbml0eSxLLEw9dGhpcy5ib3VuZHMoKTt0aGlzLmVudGl0aWVzKCkuZm9yRWFjaChmdW5jdGlvbihKKXtpZih3Lk1hdGgud2l0aGluKEoucG9zaXRpb24sTCkpe3ZhciBPPU1hdGguYWJzKEQueC1KLnBvc2l0aW9uLngpLFM9TWF0aC5hYnMoRC55LUoucG9zaXRpb24ueSk7aWYoTzxCfHxPPT09QiYmUzxIKUs9SixCPU8sSD1TfX0pO3JldHVybiBLfTtHLnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzPWZ1bmN0aW9uKCl7dmFyIEQ9Qy5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycy5jYWxsKHRoaXMpOwpELmQ9dGhpcy5fY29uc3RydWN0TGluZVByb2plY3Rvcih5LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSx5LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKSk7cmV0dXJuIER9O0cucHJvdG90eXBlLl9jb25zdHJ1Y3RMaW5lUHJvamVjdG9yPWZ1bmN0aW9uKEQsQil7dmFyIEg9dGhpcztyZXR1cm4gZnVuY3Rpb24oSyxMLEope3JldHVybiBILl9kM0xpbmVGYWN0b3J5KEosRCxCKShLKX19O0cucHJvdG90eXBlLl9kM0xpbmVGYWN0b3J5PWZ1bmN0aW9uKEQsQixIKXtmdW5jdGlvbiBLKEwsSixPKXt2YXIgUz1CKEwsSixPKTtMPUgoTCxKLE8pO3JldHVybiB3Lk1hdGguaXNWYWxpZE51bWJlcihTKSYmdy5NYXRoLmlzVmFsaWROdW1iZXIoTCl9dm9pZCAwPT09QiYmKEI9eS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSkpO3ZvaWQgMD09PUgmJihIPXkuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpKTtyZXR1cm4gci5saW5lKCkueChmdW5jdGlvbihMLEope3JldHVybiBCKEwsCkosRCl9KS55KGZ1bmN0aW9uKEwsSil7cmV0dXJuIEgoTCxKLEQpfSkuY3VydmUodGhpcy5fZ2V0Q3VydmVGYWN0b3J5KCkpLmRlZmluZWQoZnVuY3Rpb24oTCxKKXtyZXR1cm4gSyhMLEosRCl9KX07Ry5wcm90b3R5cGUuX2dldEN1cnZlRmFjdG9yeT1mdW5jdGlvbigpe3ZhciBEPXRoaXMuY3VydmUoKTtyZXR1cm4ic3RyaW5nIj09PXR5cGVvZiBEPyhEPXhbRF0sbnVsbD09RD94LmxpbmVhcjpEKTpEfTtHLnByb3RvdHlwZS5fZ2V0RGF0YVRvRHJhdz1mdW5jdGlvbigpe3ZhciBEPXRoaXMsQj1uZXcgdy5NYXA7dGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oSCl7dmFyIEs9SC5kYXRhKCk7aWYoRC5fY3JvcHBlZFJlbmRlcmluZ0VuYWJsZWR8fEQuX2Rvd25zYW1wbGluZ0VuYWJsZWQpe3ZhciBMPUsubWFwKGZ1bmN0aW9uKEosTyl7cmV0dXJuIE99KTtELl9jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZCYmKEw9RC5fZmlsdGVyQ3JvcHBlZFJlbmRlcmluZyhILEwpKTtELl9kb3duc2FtcGxpbmdFbmFibGVkJiYKKEw9RC5fZmlsdGVyRG93bnNhbXBsaW5nKEgsTCkpO0QuX2NvbGxhcHNlRGVuc2VWZXJ0aWNhbExpbmVzRW5hYmxlZCYmKEw9RC5fZmlsdGVyRGVuc2VMaW5lcyhILEwpKTtCLnNldChILFtMLm1hcChmdW5jdGlvbihKKXtyZXR1cm4gS1tKXX0pXSl9ZWxzZSBCLnNldChILFtLXSl9KTtyZXR1cm4gQn07Ry5wcm90b3R5cGUuX2ZpbHRlckNyb3BwZWRSZW5kZXJpbmc9ZnVuY3Rpb24oRCxCKXtmdW5jdGlvbiBIKGZhLG9hKXtyZXR1cm4gdy5NYXRoLmluUmFuZ2UoZmEsMCxLLndpZHRoKCkpJiZ3Lk1hdGguaW5SYW5nZShvYSwwLEsuaGVpZ2h0KCkpfWZvcih2YXIgSz10aGlzLEw9eS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSksSj15LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKSxPPUQuZGF0YSgpLFM9W10sTj0wO048Qi5sZW5ndGg7TisrKXt2YXIgUj1MKE9bQltOXV0sQltOXSxEKSxYPUooT1tCW05dXSxCW05dLEQpO1I9SChSLFgpO2lmKCFSJiZudWxsIT1CW04tCjFdJiZudWxsIT1PW0JbTi0xXV0pe1g9TChPW0JbTi0xXV0sQltOLTFdLEQpO3ZhciBhYT1KKE9bQltOLTFdXSxCW04tMV0sRCk7Uj1SfHxIKFgsYWEpfVJ8fG51bGw9PUJbTisxXXx8bnVsbD09T1tCW04rMV1dfHwoWD1MKE9bQltOKzFdXSxCW04rMV0sRCksYWE9SihPW0JbTisxXV0sQltOKzFdLEQpLFI9Unx8SChYLGFhKSk7UiYmUy5wdXNoKEJbTl0pfXJldHVybiBTfTtHLnByb3RvdHlwZS5fZmlsdGVyRG93bnNhbXBsaW5nPWZ1bmN0aW9uKEQsQil7ZnVuY3Rpb24gSChqYSxiYSl7dmFyIGthPUwoS1tCW2phXV0sQltqYV0sRCksVz1KKEtbQltqYV1dLEJbamFdLEQpLEVhPUwoS1tCW2phKzFdXSxCW2phKzFdLEQpO2phPUooS1tCW2phKzFdXSxCW2phKzFdLEQpO3JldHVybiBJbmZpbml0eT09PWJhP01hdGguZmxvb3Ioa2EpPT09TWF0aC5mbG9vcihFYSk6TWF0aC5mbG9vcihqYSk9PT1NYXRoLmZsb29yKFcrKEVhLWthKSpiYSl9aWYoMD09PUIubGVuZ3RoKXJldHVybltdO2Zvcih2YXIgSz0KRC5kYXRhKCksTD15LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSxKPXkuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpLE89W0JbMF1dLFM9MDtTPEIubGVuZ3RoLTE7KXt2YXIgTj1CW1NdLFI9TChLW0JbU11dLEJbU10sRCksWD1KKEtbQltTXV0sQltTXSxEKSxhYT1MKEtbQltTKzFdXSxCW1MrMV0sRCksZmE9SihLW0JbUysxXV0sQltTKzFdLEQpO2ZhPU1hdGguZmxvb3IoUik9PT1NYXRoLmZsb29yKGFhKT9JbmZpbml0eTooZmEtWCkvKGFhLVIpO2FhPUJbU107WD1JbmZpbml0eT09PWZhP1g6UjtSPWFhO2Zvcih2YXIgb2E9WCxaPSEwO1M8Qi5sZW5ndGgtMSYmKFp8fEgoUyxmYSkpOyl7UysrO1o9ITE7dmFyIGNhPUluZmluaXR5PT09ZmE/SihLW0JbU11dLEJbU10sRCk6TChLW0JbU11dLEJbU10sRCk7Y2E+b2EmJihvYT1jYSxSPUJbU10pO2NhPFgmJihYPWNhLGFhPUJbU10pfWZhPUJbU107YWEhPT1OJiZPLnB1c2goYWEpO1IhPT1hYSYmUiE9PU4mJk8ucHVzaChSKTsKZmEhPT1OJiZmYSE9PWFhJiZmYSE9PVImJk8ucHVzaChmYSl9cmV0dXJuIE99O0cucHJvdG90eXBlLl9maWx0ZXJEZW5zZUxpbmVzPWZ1bmN0aW9uKEQsQil7aWYoMD09PUIubGVuZ3RoKXJldHVybltdO3ZhciBIPUQuZGF0YSgpLEs9eS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSksTD15LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKTtyZXR1cm4gdGhpcy5fYnVja2V0QnlYKEQsQixmdW5jdGlvbihKKXtyZXR1cm4gSyhIW0pdLEosRCl9LGZ1bmN0aW9uKEope3JldHVybiBMKEhbSl0sSixEKX0pfTtHLnByb3RvdHlwZS5fYnVja2V0QnlYPWZ1bmN0aW9uKEQsQixILEspe3ZhciBMPVtdO0Q9RC5kYXRhKCk7Zm9yKHZhciBKPW51bGwsTz0wO088PUIubGVuZ3RoOysrTyl7dmFyIFM9QltPXTtpZihudWxsIT1EW1NdKXt2YXIgTj1NYXRoLmZsb29yKEgoUykpLFI9SyhTKTtudWxsPT1KP0o9bmV3IHcuQnVja2V0KFMsTixSKTpKLmlzSW5CdWNrZXQoTik/Si5hZGRUb0J1Y2tldChSLApTKTooTC5wdXNoLmFwcGx5KEwsSi5nZXRVbmlxdWVJbmRpY2VzKCkpLEo9bmV3IHcuQnVja2V0KFMsTixSKSl9fW51bGwhPUomJkwucHVzaC5hcHBseShMLEouZ2V0VW5pcXVlSW5kaWNlcygpKTtyZXR1cm4gTH07cmV0dXJuIEd9KGguWFlQbG90KTtmLkxpbmU9aH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihuLHEpe2Z1bmN0aW9uIHUoKXt0aGlzLmNvbnN0cnVjdG9yPW59Zm9yKHZhciB3IGluIHEpcS5oYXNPd25Qcm9wZXJ0eSh3KSYmKG5bd109cVt3XSk7bi5wcm90b3R5cGU9bnVsbD09PXE/T2JqZWN0LmNyZWF0ZShxKToodS5wcm90b3R5cGU9cS5wcm90b3R5cGUsbmV3IHUpfSxyPWgoMSksbD1oKDI2KSxwPWgoMCksbT1bMCwxXTtkPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHEoKXt2YXIgdT1uLmNhbGwodGhpcyl8fHRoaXM7dS5fcmFuZ2U9WzAsMV07dS5fZDNTY2FsZT1yLnNjYWxlQmFuZCgpO3UuX2QzU2NhbGUucmFuZ2UobSk7CnUuX2QzVHJhbnNmb3JtYXRpb25TY2FsZT1yLnNjYWxlTGluZWFyKCk7dS5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmRvbWFpbihtKTt1Ll9pbm5lclBhZGRpbmc9cS5fY29udmVydFRvUGxvdHRhYmxlSW5uZXJQYWRkaW5nKCk7dS5fb3V0ZXJQYWRkaW5nPXEuX2NvbnZlcnRUb1Bsb3R0YWJsZU91dGVyUGFkZGluZygpO3JldHVybiB1fWsocSxuKTtxLnByb3RvdHlwZS5jbG9uZVdpdGhvdXRQcm92aWRlcnM9ZnVuY3Rpb24oKXt2YXIgdT0obmV3IHEpLmRvbWFpbih0aGlzLmRvbWFpbigpKS5yYW5nZSh0aGlzLnJhbmdlKCkpLmlubmVyUGFkZGluZyh0aGlzLmlubmVyUGFkZGluZygpKS5vdXRlclBhZGRpbmcodGhpcy5vdXRlclBhZGRpbmcoKSk7dS5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmRvbWFpbih0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUuZG9tYWluKCkpO3JldHVybiB1fTtxLnByb3RvdHlwZS5leHRlbnRPZlZhbHVlcz1mdW5jdGlvbih1KXtyZXR1cm4gcC5BcnJheS51bmlxKHUpfTsKcS5wcm90b3R5cGUuX2dldEV4dGVudD1mdW5jdGlvbigpe3JldHVybiBwLkFycmF5LnVuaXEodGhpcy5fZ2V0QWxsSW5jbHVkZWRWYWx1ZXMoKSl9O3EucHJvdG90eXBlLmRvbWFpbj1mdW5jdGlvbih1KXtyZXR1cm4gbi5wcm90b3R5cGUuZG9tYWluLmNhbGwodGhpcyx1KX07cS5wcm90b3R5cGUuaW52ZXJ0UmFuZ2U9ZnVuY3Rpb24oKXt2YXIgdSx3PXRoaXM7dm9pZCAwPT09dSYmKHU9dGhpcy5yYW5nZSgpKTt2YXIgQT10aGlzLl9kM1NjYWxlLmJhbmR3aWR0aCgpLHk9dGhpcy5pbnZlcnRlZFRyYW5zZm9ybWF0aW9uKHVbMF0pLHg9dGhpcy5pbnZlcnRlZFRyYW5zZm9ybWF0aW9uKHVbMV0pO3U9dGhpcy5fZDNTY2FsZS5kb21haW4oKTt2YXIgQz11Lm1hcChmdW5jdGlvbihHKXtyZXR1cm4gdy5fZDNTY2FsZShHKStBLzJ9KTt5PXIuYmlzZWN0KEMseSk7eD1yLmJpc2VjdChDLHgpO3JldHVybiB1LnNsaWNlKHkseCl9O3EucHJvdG90eXBlLnJhbmdlPWZ1bmN0aW9uKHUpe3JldHVybiBuLnByb3RvdHlwZS5yYW5nZS5jYWxsKHRoaXMsCnUpfTtxLl9jb252ZXJ0VG9QbG90dGFibGVJbm5lclBhZGRpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gMS8uNy0xfTtxLl9jb252ZXJ0VG9QbG90dGFibGVPdXRlclBhZGRpbmc9ZnVuY3Rpb24oKXtyZXR1cm4uNS8uN307cS5wcm90b3R5cGUuX3NldEJhbmRzPWZ1bmN0aW9uKCl7dmFyIHU9MS0xLygxK3RoaXMuaW5uZXJQYWRkaW5nKCkpLHc9dGhpcy5vdXRlclBhZGRpbmcoKS8oMSt0aGlzLmlubmVyUGFkZGluZygpKTt0aGlzLl9kM1NjYWxlLnBhZGRpbmdJbm5lcih1KTt0aGlzLl9kM1NjYWxlLnBhZGRpbmdPdXRlcih3KX07cS5wcm90b3R5cGUucmFuZ2VCYW5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Jlc2NhbGVCYW5kKHRoaXMuX2QzU2NhbGUuYmFuZHdpZHRoKCkpfTtxLnByb3RvdHlwZS5zdGVwV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVzY2FsZUJhbmQodGhpcy5fZDNTY2FsZS5iYW5kd2lkdGgoKSooMSt0aGlzLmlubmVyUGFkZGluZygpKSl9O3EucHJvdG90eXBlLnRpY2tzPQpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbWFpbigpfTtxLnByb3RvdHlwZS5pbm5lclBhZGRpbmc9ZnVuY3Rpb24odSl7aWYobnVsbD09dSlyZXR1cm4gdGhpcy5faW5uZXJQYWRkaW5nO3RoaXMuX2lubmVyUGFkZGluZz11O3RoaXMucmFuZ2UodGhpcy5yYW5nZSgpKTt0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpO3JldHVybiB0aGlzfTtxLnByb3RvdHlwZS5vdXRlclBhZGRpbmc9ZnVuY3Rpb24odSl7aWYobnVsbD09dSlyZXR1cm4gdGhpcy5fb3V0ZXJQYWRkaW5nO3RoaXMuX291dGVyUGFkZGluZz11O3RoaXMucmFuZ2UodGhpcy5yYW5nZSgpKTt0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpO3JldHVybiB0aGlzfTtxLnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbih1KXt1PXRoaXMuX2QzU2NhbGUodSkrdGhpcy5fZDNTY2FsZS5iYW5kd2lkdGgoKS8yO3JldHVybiB0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUodSl9O3EucHJvdG90eXBlLnpvb209ZnVuY3Rpb24odSx3KXt2YXIgQT10aGlzOwp0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUuZG9tYWluKHRoaXMuX2QzVHJhbnNmb3JtYXRpb25TY2FsZS5yYW5nZSgpLm1hcChmdW5jdGlvbih5KXtyZXR1cm4gQS5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmludmVydChsLnpvb21PdXQoeSx1LHcpKX0pKTt0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpfTtxLnByb3RvdHlwZS5wYW49ZnVuY3Rpb24odSl7dmFyIHc9dGhpczt0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUuZG9tYWluKHRoaXMuX2QzVHJhbnNmb3JtYXRpb25TY2FsZS5yYW5nZSgpLm1hcChmdW5jdGlvbihBKXtyZXR1cm4gdy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmludmVydChBK3UpfSkpO3RoaXMuX2Rpc3BhdGNoVXBkYXRlKCl9O3EucHJvdG90eXBlLnNjYWxlVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24odSl7cmV0dXJuIHRoaXMuX2QzVHJhbnNmb3JtYXRpb25TY2FsZSh1KX07cS5wcm90b3R5cGUuaW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbih1KXtyZXR1cm4gdGhpcy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmludmVydCh1KX07CnEucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIG19O3EucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRG9tYWluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2QzVHJhbnNmb3JtYXRpb25TY2FsZS5kb21haW4oKX07cS5wcm90b3R5cGUuc2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24odSl7dGhpcy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmRvbWFpbih1KTt0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpfTtxLnByb3RvdHlwZS5fZ2V0RG9tYWluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JhY2tpbmdTY2FsZURvbWFpbigpfTtxLnByb3RvdHlwZS5fYmFja2luZ1NjYWxlRG9tYWluPWZ1bmN0aW9uKHUpe2lmKG51bGw9PXUpcmV0dXJuIHRoaXMuX2QzU2NhbGUuZG9tYWluKCk7dGhpcy5fZDNTY2FsZS5kb21haW4odSk7dGhpcy5fc2V0QmFuZHMoKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuX2dldFJhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JhbmdlfTsKcS5wcm90b3R5cGUuX3NldFJhbmdlPWZ1bmN0aW9uKHUpe3RoaXMuX3JhbmdlPXU7dGhpcy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLnJhbmdlKHUpO3RoaXMuX3NldEJhbmRzKCl9O3EucHJvdG90eXBlLl9yZXNjYWxlQmFuZD1mdW5jdGlvbih1KXtyZXR1cm4gTWF0aC5hYnModGhpcy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlKHUpLXRoaXMuX2QzVHJhbnNmb3JtYXRpb25TY2FsZSgwKSl9O3JldHVybiBxfShoKDE3KS5TY2FsZSk7Zi5DYXRlZ29yeT1kfSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayh4KXt0cnl7dmFyIEM9eC5ub2RlKCkuZ2V0QkJveCgpfWNhdGNoKEcpe0M9e3g6MCx5OjAsd2lkdGg6MCxoZWlnaHQ6MH19cmV0dXJuIEN9ZnVuY3Rpb24gcih4KXtpZigibnVtYmVyIj09PXR5cGVvZiB4KXJldHVybnttaW46eCxtYXg6eH07aWYoeCBpbnN0YW5jZW9mIE9iamVjdCYmIm1pbiJpbiB4JiYibWF4ImluIHgpcmV0dXJuIHg7dGhyb3cgRXJyb3IoImlucHV0ICciK3grIicgY2FuJ3QgYmUgcGFyc2VkIGFzIGFuIFJhbmdlIik7Cn1mdW5jdGlvbiBsKHgsQyl7eD14LmdldFByb3BlcnR5VmFsdWUoQyk7cmV0dXJuIHBhcnNlRmxvYXQoeCl8fDB9ZnVuY3Rpb24gcCh4KXtpZihudWxsPT14fHwibm9uZSI9PT14KXJldHVybiBudWxsO3g9eC5tYXRjaChBKTtpZihudWxsPT14fHwyPngubGVuZ3RoKXJldHVybiBudWxsO3g9eFsxXS5zcGxpdCh5KS5tYXAoZnVuY3Rpb24oQyl7cmV0dXJuIHBhcnNlRmxvYXQoQyl9KTtyZXR1cm4gNiE9eC5sZW5ndGg/bnVsbDp4fXZhciBtPWgoMSksbj1NYXRoO2YuY29udGFpbnM9ZnVuY3Rpb24oeCxDKXtmb3IoO251bGwhPUMmJkMhPT14OylDPUMucGFyZW50Tm9kZTtyZXR1cm4gQz09PXh9O2YuZWxlbWVudEJCb3g9aztmLmVudGl0eUJvdW5kcz1mdW5jdGlvbih4KXtyZXR1cm4geCBpbnN0YW5jZW9mIFNWR0VsZW1lbnQ/ayhtLnNlbGVjdCh4KSk6eCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50Pyh4PXguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkse3g6eC5sZWZ0LHk6eC50b3Asd2lkdGg6eC53aWR0aCwKaGVpZ2h0OnguaGVpZ2h0fSk6e3g6MCx5OjAsd2lkdGg6MCxoZWlnaHQ6MH19O2YuU0NSRUVOX1JFRlJFU0hfUkFURV9NSUxMSVNFQ09ORFM9MUUzLzYwO2YucmVxdWVzdEFuaW1hdGlvbkZyYW1lUG9seWZpbGw9ZnVuY3Rpb24oeCl7bnVsbCE9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZT93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHgpOnNldFRpbWVvdXQoeCxmLlNDUkVFTl9SRUZSRVNIX1JBVEVfTUlMTElTRUNPTkRTKX07Zi5lbGVtZW50V2lkdGg9ZnVuY3Rpb24oeCl7eD14IGluc3RhbmNlb2YgbS5zZWxlY3Rpb24/eC5ub2RlKCk6eDt4PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHgpO3JldHVybiBsKHgsIndpZHRoIikrbCh4LCJwYWRkaW5nLWxlZnQiKStsKHgsInBhZGRpbmctcmlnaHQiKStsKHgsImJvcmRlci1sZWZ0LXdpZHRoIikrbCh4LCJib3JkZXItcmlnaHQtd2lkdGgiKX07Zi5lbGVtZW50SGVpZ2h0PWZ1bmN0aW9uKHgpe3g9eCBpbnN0YW5jZW9mIG0uc2VsZWN0aW9uPwp4Lm5vZGUoKTp4O3g9d2luZG93LmdldENvbXB1dGVkU3R5bGUoeCk7cmV0dXJuIGwoeCwiaGVpZ2h0IikrbCh4LCJwYWRkaW5nLXRvcCIpK2woeCwicGFkZGluZy1ib3R0b20iKStsKHgsImJvcmRlci10b3Atd2lkdGgiKStsKHgsImJvcmRlci1ib3R0b20td2lkdGgiKX07dmFyIHE9L3RyYW5zbGF0ZVxzKlwoXHMqKCg/OlstK10/WzAtOV0qXC4/WzAtOV0rKSkoPzooPzooPzpccyssP1xzKil8KD86LFxzKikpKCg/OlstK10/WzAtOV0qXC4/WzAtOV0rKSkpP1xzKlwpLyx1PS9yb3RhdGVccypcKFxzKigoPzpbLStdP1swLTldKlwuP1swLTldKykpXHMqXCkvLHc9L3NjYWxlXHMqXChccyooKD86Wy0rXT9bMC05XSpcLj9bMC05XSspKSg/Oig/Oig/OlxzKyw/XHMqKXwoPzosXHMqKSkoKD86Wy0rXT9bMC05XSpcLj9bMC05XSspKSk/XHMqXCkvO2YuZ2V0VHJhbnNsYXRlVmFsdWVzPWZ1bmN0aW9uKHgpe3g9cS5leGVjKHguYXR0cigidHJhbnNmb3JtIikpO2lmKG51bGwhPXgpe3ZhciBDPQp4WzJdO3JldHVyblsreFsxXSwrKHZvaWQgMD09PUM/MDpDKV19cmV0dXJuWzAsMF19O2YuZ2V0Um90YXRlPWZ1bmN0aW9uKHgpe3g9dS5leGVjKHguYXR0cigidHJhbnNmb3JtIikpO3JldHVybiBudWxsIT14Pyt4WzFdOjB9O2YuZ2V0U2NhbGVWYWx1ZXM9ZnVuY3Rpb24oeCl7dmFyIEM9dy5leGVjKHguYXR0cigidHJhbnNmb3JtIikpO3JldHVybiBudWxsIT1DPyh4PUNbMV0sQz1DWzJdLFsreCxudWxsPT1DPyt4OitDXSk6WzAsMF19O2YuY2xpZW50UmVjdHNPdmVybGFwPWZ1bmN0aW9uKHgsQyl7cmV0dXJuIG4uZmxvb3IoeC5yaWdodCk8PW4uY2VpbChDLmxlZnQpfHxuLmNlaWwoeC5sZWZ0KT49bi5mbG9vcihDLnJpZ2h0KXx8bi5mbG9vcih4LmJvdHRvbSk8PW4uY2VpbChDLnRvcCl8fG4uY2VpbCh4LnRvcCk+PW4uZmxvb3IoQy5ib3R0b20pPyExOiEwfTtmLmV4cGFuZFJlY3Q9ZnVuY3Rpb24oeCxDKXtyZXR1cm57bGVmdDp4LmxlZnQtQyx0b3A6eC50b3AtQyxyaWdodDp4LnJpZ2h0KwpDLGJvdHRvbTp4LmJvdHRvbStDLHdpZHRoOngud2lkdGgrMipDLGhlaWdodDp4LmhlaWdodCsyKkN9fTtmLmNsaWVudFJlY3RJbnNpZGU9ZnVuY3Rpb24oeCxDKXtyZXR1cm4gbi5mbG9vcihDLmxlZnQpPD1uLmNlaWwoeC5sZWZ0KSYmbi5mbG9vcihDLnRvcCk8PW4uY2VpbCh4LnRvcCkmJm4uZmxvb3IoeC5yaWdodCk8PW4uY2VpbChDLnJpZ2h0KSYmbi5mbG9vcih4LmJvdHRvbSk8PW4uY2VpbChDLmJvdHRvbSl9O2YuaW50ZXJzZWN0c0JCb3g9ZnVuY3Rpb24oeCxDLEcsRCl7dm9pZCAwPT09RCYmKEQ9LjUpO3g9cih4KTtDPXIoQyk7cmV0dXJuIEcueCtHLndpZHRoPj14Lm1pbi1EJiZHLng8PXgubWF4K0QmJkcueStHLmhlaWdodD49Qy5taW4tRCYmRy55PD1DLm1heCtEfTtmLmdldEh0bWxFbGVtZW50QW5jZXN0b3JzPWZ1bmN0aW9uKHgpe2Zvcih2YXIgQz1bXTt4JiZ4IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ7KUMucHVzaCh4KSx4PXgucGFyZW50RWxlbWVudDtyZXR1cm4gQ307CmYuZ2V0RWxlbWVudFRyYW5zZm9ybT1mdW5jdGlvbih4KXt4PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHgsbnVsbCk7eD14LmdldFByb3BlcnR5VmFsdWUoIi13ZWJraXQtdHJhbnNmb3JtIil8fHguZ2V0UHJvcGVydHlWYWx1ZSgiLW1vei10cmFuc2Zvcm0iKXx8eC5nZXRQcm9wZXJ0eVZhbHVlKCItbXMtdHJhbnNmb3JtIil8fHguZ2V0UHJvcGVydHlWYWx1ZSgiLW8tdHJhbnNmb3JtIil8fHguZ2V0UHJvcGVydHlWYWx1ZSgidHJhbnNmb3JtIik7cmV0dXJuIHAoeCl9O3ZhciBBPS9ebWF0cml4XCgoW14pXSspXCkkLyx5PS9bLCBdKy99LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHUsdyl7cmV0dXJuW3VbMF0qd1swXSt1WzJdKndbMV0sdVsxXSp3WzBdK3VbM10qd1sxXSx1WzBdKndbMl0rdVsyXSp3WzNdLHVbMV0qd1syXSt1WzNdKndbM10sdVswXSp3WzRdK3VbMl0qd1s1XSt1WzRdLHVbMV0qd1s0XSt1WzNdKndbNV0rdVs1XV19ZnVuY3Rpb24gcih1LHcpe3JldHVyblt1WzBdLAp1WzFdLHVbMl0sdVszXSx1WzBdKndbMF0rdVsyXSp3WzFdK3VbNF0sdVsxXSp3WzBdK3VbM10qd1sxXSt1WzVdXX1mdW5jdGlvbiBsKHUpe3ZhciB3PXVbMF0qdVszXS11WzFdKnVbMl07aWYoMD09PXcpdGhyb3cgRXJyb3IoInNpbmd1bGFyIG1hdHJpeCIpO3c9MS93O3JldHVyblt3KnVbM10sdyotdVsxXSx3Ki11WzJdLHcqdVswXSx3KigtdVszXSp1WzRdK3VbMl0qdVs1XSksdyoodVsxXSp1WzRdKy11WzBdKnVbNV0pXX12YXIgcD1oKDEpLG09aCg1NSksbj1NYXRoLHE9WzEsMCwwLDEsMCwwXTtmLmluUmFuZ2U9ZnVuY3Rpb24odSx3LEEpe3JldHVybiBuLm1pbih3LEEpPD11JiZ1PD1uLm1heCh3LEEpfTtmLmNsYW1wPWZ1bmN0aW9uKHUsdyxBKXtyZXR1cm4gbi5taW4obi5tYXgodyx1KSxBKX07Zi5tYXg9ZnVuY3Rpb24odSx3LEEpe3ZhciB5PSJmdW5jdGlvbiI9PT10eXBlb2Ygdz93Om51bGw7dz1udWxsPT15P3c6QTt1PW51bGw9PXk/cC5tYXgodSk6cC5tYXgodSx5KTtyZXR1cm4gdm9pZCAwIT09CnU/dTp3fTtmLm1pbj1mdW5jdGlvbih1LHcsQSl7dmFyIHk9ImZ1bmN0aW9uIj09PXR5cGVvZiB3P3c6bnVsbDt3PW51bGw9PXk/dzpBO3U9bnVsbD09eT9wLm1pbih1KTpwLm1pbih1LHkpO3JldHVybiB2b2lkIDAhPT11P3U6d307Zi5pc05hTj1mdW5jdGlvbih1KXtyZXR1cm4gdSE9PXV9O2YuaXNWYWxpZE51bWJlcj1mdW5jdGlvbih1KXtyZXR1cm4ibnVtYmVyIj09PXR5cGVvZiB1JiYxPnUtdX07Zi5yYW5nZT1mdW5jdGlvbih1LHcsQSl7dm9pZCAwPT09QSYmKEE9MSk7aWYoMD09PUEpdGhyb3cgRXJyb3IoInN0ZXAgY2Fubm90IGJlIDAiKTt3PW4ubWF4KG4uY2VpbCgody11KS9BKSwwKTtmb3IodmFyIHk9W10seD0wO3g8dzsrK3gpeVt4XT11K0EqeDtyZXR1cm4geX07Zi5kaXN0YW5jZVNxdWFyZWQ9ZnVuY3Rpb24odSx3KXtyZXR1cm4gbi5wb3cody55LXUueSwyKStuLnBvdyh3LngtdS54LDIpfTtmLmRlZ3JlZXNUb1JhZGlhbnM9ZnVuY3Rpb24odSl7cmV0dXJuIHUvMzYwKgpuLlBJKjJ9O2Yud2l0aGluPWZ1bmN0aW9uKHUsdyl7cmV0dXJuIHcudG9wTGVmdC54PD11LngmJncuYm90dG9tUmlnaHQueD49dS54JiZ3LnRvcExlZnQueTw9dS55JiZ3LmJvdHRvbVJpZ2h0Lnk+PXUueX07Zi5ib3VuZHNJbnRlcnNlY3RzPWZ1bmN0aW9uKHUsdyxBLHkseCxDKXtyZXR1cm4gdTw9MCt4JiYwPD11K0EmJnc8PTArQyYmMDw9dyt5fTtmLmdldEN1bXVsYXRpdmVUcmFuc2Zvcm09ZnVuY3Rpb24odSl7dT1tLmdldEh0bWxFbGVtZW50QW5jZXN0b3JzKHUpO2Zvcih2YXIgdz1xLEE9bnVsbCx5PTA7eTx1Lmxlbmd0aDt5Kyspe3ZhciB4PXVbeV0sQz1tLmdldEVsZW1lbnRUcmFuc2Zvcm0oeCk7aWYobnVsbCE9Qyl7dmFyIEc9eC5jbGllbnRXaWR0aC8yLEQ9eC5jbGllbnRIZWlnaHQvMjt3PXIodyxbRyxEXSk7dz1rKHcsbChDKSk7dz1yKHcsWy1HLC1EXSl9Qz14LnNjcm9sbExlZnQ7Rz14LnNjcm9sbFRvcDtpZihudWxsPT09QXx8eD09PUEpQy09eC5vZmZzZXRMZWZ0K3guY2xpZW50TGVmdCwKRy09eC5vZmZzZXRUb3AreC5jbGllbnRUb3AsQT14Lm9mZnNldFBhcmVudDt3PXIodyxbQyxHXSl9cmV0dXJuIHd9O2YubXVsdGlwbHlNYXRyaXg9aztmLnByZW11bHRpcGx5VHJhbnNsYXRlPWZ1bmN0aW9uKHUsdyl7cmV0dXJuW3dbMF0sd1sxXSx3WzJdLHdbM10sd1s0XSt1WzBdLHdbNV0rdVsxXV19O2YubXVsdGlwbHlUcmFuc2xhdGU9cjtmLmludmVydE1hdHJpeD1sO2YuYXBwbHlUcmFuc2Zvcm09ZnVuY3Rpb24odSx3KXtyZXR1cm57eDp1WzBdKncueCt1WzJdKncueSt1WzRdLHk6dVsxXSp3LngrdVszXSp3LnkrdVs1XX19fSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9bmV3IChoKDExNCkuU3BsaXRTdHJhdGVneUxpbmVhcik7ZD1mdW5jdGlvbigpe2Z1bmN0aW9uIHAobSxuKXt2b2lkIDA9PT1tJiYobT01KTt2b2lkIDA9PT1uJiYobj1rKTt0aGlzLm1heE5vZGVDaGlsZHJlbj1tO3RoaXMuc3BsaXRTdHJhdGVneT1uO3RoaXMucm9vdD1uZXcgcighMCk7dGhpcy5zaXplPTB9cC5wcm90b3R5cGUuZ2V0Um9vdD0KZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yb290fTtwLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMucm9vdD1uZXcgcighMCk7dGhpcy5zaXplPTB9O3AucHJvdG90eXBlLmluc2VydD1mdW5jdGlvbihtLG4pe2Zvcih2YXIgcT10aGlzLnJvb3Q7IXEubGVhZjspcT1xLnN1YnRyZWUobSk7bT1yLnZhbHVlTm9kZShtLG4pO3EuaW5zZXJ0KG0pO2Zvcih0aGlzLnNpemUrPTE7cS5vdmVyZmxvdyh0aGlzLm1heE5vZGVDaGlsZHJlbik7KXE9cS5zcGxpdCh0aGlzLnNwbGl0U3RyYXRlZ3kpLG51bGw9PXEucGFyZW50JiYodGhpcy5yb290PXEpfTtwLnByb3RvdHlwZS5sb2NhdGU9ZnVuY3Rpb24obSl7cmV0dXJuIHRoaXMucXVlcnkoZnVuY3Rpb24obil7cmV0dXJuIG4uY29udGFpbnMobSl9KX07cC5wcm90b3R5cGUuaW50ZXJzZWN0PWZ1bmN0aW9uKG0pe3JldHVybiB0aGlzLnF1ZXJ5KGZ1bmN0aW9uKG4pe3JldHVybiBsLmlzQm91bmRzT3ZlcmxhcEJvdW5kcyhuLG0pfSl9O3AucHJvdG90eXBlLmludGVyc2VjdFg9CmZ1bmN0aW9uKG0pe3JldHVybiB0aGlzLnF1ZXJ5KGZ1bmN0aW9uKG4pe3JldHVybiBsLmlzQm91bmRzT3ZlcmxhcFgobixtKX0pfTtwLnByb3RvdHlwZS5pbnRlcnNlY3RZPWZ1bmN0aW9uKG0pe3JldHVybiB0aGlzLnF1ZXJ5KGZ1bmN0aW9uKG4pe3JldHVybiBsLmlzQm91bmRzT3ZlcmxhcFkobixtKX0pfTtwLnByb3RvdHlwZS5xdWVyeT1mdW5jdGlvbihtKXt2YXIgbj1bXTtpZihudWxsIT10aGlzLnJvb3QuYm91bmRzJiYhbSh0aGlzLnJvb3QuYm91bmRzKSlyZXR1cm4gbjtmb3IodmFyIHE9W3RoaXMucm9vdF07MDxxLmxlbmd0aDspZm9yKHZhciB1PXEuc2hpZnQoKSx3PTA7dzx1LmVudHJpZXMubGVuZ3RoO3crKyl7dmFyIEE9dS5lbnRyaWVzW3ddO20oQS5ib3VuZHMpJiYodS5sZWFmP24ucHVzaChBLnZhbHVlKTpxLnB1c2goQSkpfXJldHVybiBufTtyZXR1cm4gcH0oKTtmLlJUcmVlPWQ7dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBwKG0pe3RoaXMubGVhZj1tO3RoaXMuYm91bmRzPQpudWxsO3RoaXMuZW50cmllcz1bXTt0aGlzLnZhbHVlPXRoaXMucGFyZW50PW51bGx9cC52YWx1ZU5vZGU9ZnVuY3Rpb24obSxuKXt2YXIgcT1uZXcgcCghMCk7cS5ib3VuZHM9bTtxLnZhbHVlPW47cmV0dXJuIHF9O3AucHJvdG90eXBlLm92ZXJmbG93PWZ1bmN0aW9uKG0pe3JldHVybiB0aGlzLmVudHJpZXMubGVuZ3RoPm19O3AucHJvdG90eXBlLmluc2VydD1mdW5jdGlvbihtKXt0aGlzLmVudHJpZXMucHVzaChtKTttLnBhcmVudD10aGlzO2Zvcih2YXIgbj10aGlzO251bGwhPW47KW4uYm91bmRzPWwudW5pb25BbGwoW24uYm91bmRzLG0uYm91bmRzXSksbj1uLnBhcmVudH07cC5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKG0pe209dGhpcy5lbnRyaWVzLmluZGV4T2YobSk7aWYoMDw9bSlmb3IodGhpcy5lbnRyaWVzLnNwbGljZShtLDEpLG09dGhpcztudWxsIT1tOyltLmJvdW5kcz1sLnVuaW9uQWxsKG0uZW50cmllcy5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4uYm91bmRzfSkpLAptPW0ucGFyZW50O3JldHVybiB0aGlzfTtwLnByb3RvdHlwZS5zdWJ0cmVlPWZ1bmN0aW9uKG0pe2Zvcih2YXIgbj1udWxsLHE9MDtxPHRoaXMuZW50cmllcy5sZW5ndGg7cSsrKXt2YXIgdT10aGlzLmVudHJpZXNbcV0sdz11LnVuaW9uQXJlYURpZmZlcmVuY2UobSk7aWYoSW5maW5pdHk+d3x8SW5maW5pdHk9PT13JiZudWxsIT1uJiZ1LmVudHJpZXMubGVuZ3RoPG4uZW50cmllcy5sZW5ndGgpbj11fXJldHVybiBufTtwLnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbihtKXtudWxsIT10aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQucmVtb3ZlKHRoaXMpO3ZhciBuPVtuZXcgcCh0aGlzLmxlYWYpLG5ldyBwKHRoaXMubGVhZildO20uc3BsaXQodGhpcy5lbnRyaWVzLG4pO209bnVsbCE9dGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQ6bmV3IHAoITEpO20uaW5zZXJ0KG5bMF0pO20uaW5zZXJ0KG5bMV0pO3JldHVybiBtfTtwLnByb3RvdHlwZS51bmlvbkFyZWFEaWZmZXJlbmNlPWZ1bmN0aW9uKG0pe3JldHVybiBNYXRoLmFicyhsLnVuaW9uKHRoaXMuYm91bmRzLAptKS5hcmVhKCktdGhpcy5ib3VuZHMuYXJlYSgpKX07cC5wcm90b3R5cGUubWF4RGVwdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZWFmPzE6MSt0aGlzLmVudHJpZXMubWFwKGZ1bmN0aW9uKG0pe3JldHVybiBtLm1heERlcHRoKCl9KS5yZWR1Y2UoZnVuY3Rpb24obSxuKXtyZXR1cm4gTWF0aC5tYXgobSxuKX0pfTtyZXR1cm4gcH0oKTtmLlJUcmVlTm9kZT1yO3ZhciBsPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcChtLG4scSx1KXt0aGlzLnhsPW07dGhpcy55bD1uO3RoaXMueGg9cTt0aGlzLnloPXU7dGhpcy53aWR0aD10aGlzLnhoLXRoaXMueGw7dGhpcy5oZWlnaHQ9dGhpcy55aC10aGlzLnlsfXAueHl3aD1mdW5jdGlvbihtLG4scSx1KXtyZXR1cm4gbmV3IHAobSxuLG0rcSxuK3UpfTtwLmVudGl0eUJvdW5kcz1mdW5jdGlvbihtKXtyZXR1cm4gbmV3IHAobS54LG0ueSxtLngrbS53aWR0aCxtLnkrbS5oZWlnaHQpfTtwLmJvdW5kcz1mdW5jdGlvbihtKXtyZXR1cm4gcC5wb2ludFBhaXIobS50b3BMZWZ0LAptLmJvdHRvbVJpZ2h0KX07cC5wb2ludFBhaXI9ZnVuY3Rpb24obSxuKXtyZXR1cm4gbmV3IHAoTWF0aC5taW4obS54LG4ueCksTWF0aC5taW4obS55LG4ueSksTWF0aC5tYXgobS54LG4ueCksTWF0aC5tYXgobS55LG4ueSkpfTtwLnBvaW50cz1mdW5jdGlvbihtKXtpZigyPm0ubGVuZ3RoKXRocm93IEVycm9yKCJuZWVkIGF0IGxlYXN0IDIgcG9pbnRzIHRvIGNyZWF0ZSBib3VuZHMiKTt2YXIgbj1tLm1hcChmdW5jdGlvbihxKXtyZXR1cm4gcS54fSk7bT1tLm1hcChmdW5jdGlvbihxKXtyZXR1cm4gcS55fSk7cmV0dXJuIG5ldyBwKG4ucmVkdWNlKGZ1bmN0aW9uKHEsdSl7cmV0dXJuIE1hdGgubWluKHEsdSl9KSxtLnJlZHVjZShmdW5jdGlvbihxLHUpe3JldHVybiBNYXRoLm1pbihxLHUpfSksbi5yZWR1Y2UoZnVuY3Rpb24ocSx1KXtyZXR1cm4gTWF0aC5tYXgocSx1KX0pLG0ucmVkdWNlKGZ1bmN0aW9uKHEsdSl7cmV0dXJuIE1hdGgubWF4KHEsdSl9KSl9O3AudW5pb249ZnVuY3Rpb24obSwKbil7cmV0dXJuIG5ldyBwKE1hdGgubWluKG0ueGwsbi54bCksTWF0aC5taW4obS55bCxuLnlsKSxNYXRoLm1heChtLnhoLG4ueGgpLE1hdGgubWF4KG0ueWgsbi55aCkpfTtwLnVuaW9uQWxsPWZ1bmN0aW9uKG0pe209bS5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuIG51bGwhPW59KTtyZXR1cm4gMD09PW0ubGVuZ3RoP251bGw6bS5yZWR1Y2UoZnVuY3Rpb24obixxKXtyZXR1cm4gcC51bmlvbihuLHEpfSl9O3AuaXNCb3VuZHNPdmVybGFwQm91bmRzPWZ1bmN0aW9uKG0sbil7cmV0dXJuIHAuaXNCb3VuZHNPdmVybGFwWChtLG4pJiZwLmlzQm91bmRzT3ZlcmxhcFkobSxuKX07cC5pc0JvdW5kc092ZXJsYXBYPWZ1bmN0aW9uKG0sbil7cmV0dXJuIShtLnhoPG4ueGwpJiYhKG0ueGw+bi54aCl9O3AuaXNCb3VuZHNPdmVybGFwWT1mdW5jdGlvbihtLG4pe3JldHVybiEobS55aDxuLnlsKSYmIShtLnlsPm4ueWgpfTtwLnByb3RvdHlwZS5hcmVhPWZ1bmN0aW9uKCl7bnVsbD09dGhpcy5hcmVhQ2FjaGVkJiYKKHRoaXMuYXJlYUNhY2hlZD0odGhpcy54aC10aGlzLnhsKSoodGhpcy55aC10aGlzLnlsKSk7cmV0dXJuIHRoaXMuYXJlYUNhY2hlZH07cC5wcm90b3R5cGUuY29udGFpbnM9ZnVuY3Rpb24obSl7cmV0dXJuIHRoaXMueGw8PW0ueCYmdGhpcy54aD49bS54JiZ0aGlzLnlsPD1tLnkmJnRoaXMueWg+PW0ueX07cmV0dXJuIHB9KCk7Zi5SVHJlZUJvdW5kcz1sfSxmdW5jdGlvbihkLGYpe2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiBoKCl7ImZ1bmN0aW9uIj09PXR5cGVvZiB3aW5kb3cuU2V0P3RoaXMuX2VzNlNldD1uZXcgd2luZG93LlNldDp0aGlzLl92YWx1ZXM9W107dGhpcy5zaXplPTB9aC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGspe2lmKG51bGwhPXRoaXMuX2VzNlNldClyZXR1cm4gdGhpcy5fZXM2U2V0LmFkZChrKSx0aGlzLnNpemU9dGhpcy5fZXM2U2V0LnNpemUsdGhpczt0aGlzLmhhcyhrKXx8KHRoaXMuX3ZhbHVlcy5wdXNoKGspLHRoaXMuc2l6ZT10aGlzLl92YWx1ZXMubGVuZ3RoKTsKcmV0dXJuIHRoaXN9O2gucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbihrKXtpZihudWxsIT10aGlzLl9lczZTZXQpcmV0dXJuIGs9dGhpcy5fZXM2U2V0LmRlbGV0ZShrKSx0aGlzLnNpemU9dGhpcy5fZXM2U2V0LnNpemUsaztrPXRoaXMuX3ZhbHVlcy5pbmRleE9mKGspO3JldHVybi0xIT09az8odGhpcy5fdmFsdWVzLnNwbGljZShrLDEpLHRoaXMuc2l6ZT10aGlzLl92YWx1ZXMubGVuZ3RoLCEwKTohMX07aC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGspe3JldHVybiBudWxsIT10aGlzLl9lczZTZXQ/dGhpcy5fZXM2U2V0LmhhcyhrKTotMSE9PXRoaXMuX3ZhbHVlcy5pbmRleE9mKGspfTtoLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKGsscil7dmFyIGw9dGhpcztudWxsIT10aGlzLl9lczZTZXQ/dGhpcy5fZXM2U2V0LmZvckVhY2goZnVuY3Rpb24ocCxtKXtyZXR1cm4gay5jYWxsKHIscCxtLGwpfSxyKTp0aGlzLl92YWx1ZXMuZm9yRWFjaChmdW5jdGlvbihwKXtrLmNhbGwociwKcCxwLGwpfSl9O3JldHVybiBofSgpO2YuU2V0PWR9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHIpe2Zvcih2YXIgbCBpbiByKWYuaGFzT3duUHJvcGVydHkobCl8fChmW2xdPXJbbF0pfWsoaCgxMzEpKTtrKGgoMTMwKSl9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24obCxwKXtmdW5jdGlvbiBtKCl7dGhpcy5jb25zdHJ1Y3Rvcj1sfWZvcih2YXIgbiBpbiBwKXAuaGFzT3duUHJvcGVydHkobikmJihsW25dPXBbbl0pO2wucHJvdG90eXBlPW51bGw9PT1wP09iamVjdC5jcmVhdGUocCk6KG0ucHJvdG90eXBlPXAucHJvdG90eXBlLG5ldyBtKX0scj1oKDIxKTtkPWZ1bmN0aW9uKGwpe2Z1bmN0aW9uIHAobSxuKXt2YXIgcT1sLmNhbGwodGhpcyxtLG4pfHx0aGlzO3EuY2FjaGU9bmV3IHIuQ2FjaGUoZnVuY3Rpb24odSl7cmV0dXJuIHEuX21lYXN1cmVDaGFyYWN0ZXJOb3RGcm9tQ2FjaGUodSl9KTtyZXR1cm4gcX1rKHAsbCk7cC5wcm90b3R5cGUuX21lYXN1cmVDaGFyYWN0ZXJOb3RGcm9tQ2FjaGU9CmZ1bmN0aW9uKG0pe3JldHVybiBsLnByb3RvdHlwZS5fbWVhc3VyZUNoYXJhY3Rlci5jYWxsKHRoaXMsbSl9O3AucHJvdG90eXBlLl9tZWFzdXJlQ2hhcmFjdGVyPWZ1bmN0aW9uKG0pe3JldHVybiB0aGlzLmNhY2hlLmdldChtKX07cC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLmNhY2hlLmNsZWFyKCl9O3JldHVybiBwfShoKDYxKS5DaGFyYWN0ZXJNZWFzdXJlcik7Zi5DYWNoZUNoYXJhY3Rlck1lYXN1cmVyPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24ocixsKXtmdW5jdGlvbiBwKCl7dGhpcy5jb25zdHJ1Y3Rvcj1yfWZvcih2YXIgbSBpbiBsKWwuaGFzT3duUHJvcGVydHkobSkmJihyW21dPWxbbV0pO3IucHJvdG90eXBlPW51bGw9PT1sP09iamVjdC5jcmVhdGUobCk6KHAucHJvdG90eXBlPWwucHJvdG90eXBlLG5ldyBwKX07ZD1mdW5jdGlvbihyKXtmdW5jdGlvbiBsKCl7cmV0dXJuIHIuYXBwbHkodGhpcyxhcmd1bWVudHMpfHwKdGhpc31rKGwscik7bC5wcm90b3R5cGUuX21lYXN1cmVDaGFyYWN0ZXI9ZnVuY3Rpb24ocCl7cmV0dXJuIHIucHJvdG90eXBlLl9tZWFzdXJlTGluZS5jYWxsKHRoaXMscCl9O2wucHJvdG90eXBlLl9tZWFzdXJlTGluZT1mdW5jdGlvbihwKXt2YXIgbT10aGlzO3A9cC5zcGxpdCgiIikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBtLl9tZWFzdXJlQ2hhcmFjdGVyKG4pfSk7cmV0dXJue2hlaWdodDpwLnJlZHVjZShmdW5jdGlvbihuLHEpe3JldHVybiBNYXRoLm1heChuLHEuaGVpZ2h0KX0sMCksd2lkdGg6cC5yZWR1Y2UoZnVuY3Rpb24obixxKXtyZXR1cm4gbitxLndpZHRofSwwKX19O3JldHVybiBsfShoKDYzKS5NZWFzdXJlcik7Zi5DaGFyYWN0ZXJNZWFzdXJlcj1kfSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhyKXtmb3IodmFyIGwgaW4gcilmLmhhc093blByb3BlcnR5KGwpfHwoZltsXT1yW2xdKX1rKGgoMzYpKTtrKGgoNjApKTtrKGgoMTMyKSk7ayhoKDYxKSk7ayhoKDYzKSl9LApmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKGwscCl7ZnVuY3Rpb24gbSgpe3RoaXMuY29uc3RydWN0b3I9bH1mb3IodmFyIG4gaW4gcClwLmhhc093blByb3BlcnR5KG4pJiYobFtuXT1wW25dKTtsLnByb3RvdHlwZT1udWxsPT09cD9PYmplY3QuY3JlYXRlKHApOihtLnByb3RvdHlwZT1wLnByb3RvdHlwZSxuZXcgbSl9LHI9aCgzNik7ZD1mdW5jdGlvbihsKXtmdW5jdGlvbiBwKG0sbil7dm9pZCAwPT09biYmKG49ITEpO209bC5jYWxsKHRoaXMsbSl8fHRoaXM7bS51c2VHdWFyZHM9bjtyZXR1cm4gbX1rKHAsbCk7cC5wcm90b3R5cGUuX2FkZEd1YXJkcz1mdW5jdGlvbihtKXtyZXR1cm4gci5BYnN0cmFjdE1lYXN1cmVyLkhFSUdIVF9URVhUK20rci5BYnN0cmFjdE1lYXN1cmVyLkhFSUdIVF9URVhUfTtwLnByb3RvdHlwZS5fbWVhc3VyZUxpbmU9ZnVuY3Rpb24obSl7dmFyIG47dm9pZCAwPT09biYmKG49ITEpO249dGhpcy51c2VHdWFyZHN8fApufHwvXltcdCBdJC8udGVzdChtKTttPWwucHJvdG90eXBlLm1lYXN1cmUuY2FsbCh0aGlzLG4/dGhpcy5fYWRkR3VhcmRzKG0pOm0pO20ud2lkdGgtPW4/Mip0aGlzLmdldEd1YXJkV2lkdGgoKTowO3JldHVybiBtfTtwLnByb3RvdHlwZS5tZWFzdXJlPWZ1bmN0aW9uKG0pe3ZhciBuPXRoaXM7dm9pZCAwPT09bSYmKG09ci5BYnN0cmFjdE1lYXN1cmVyLkhFSUdIVF9URVhUKTtpZigiIj09PW0udHJpbSgpKXJldHVybnt3aWR0aDowLGhlaWdodDowfTttPW0udHJpbSgpLnNwbGl0KCJcbiIpLm1hcChmdW5jdGlvbihxKXtyZXR1cm4gbi5fbWVhc3VyZUxpbmUocSl9KTtyZXR1cm57aGVpZ2h0Om0ucmVkdWNlKGZ1bmN0aW9uKHEsdSl7cmV0dXJuIHErdS5oZWlnaHR9LDApLHdpZHRoOm0ucmVkdWNlKGZ1bmN0aW9uKHEsdSl7cmV0dXJuIE1hdGgubWF4KHEsdS53aWR0aCl9LDApfX07cC5wcm90b3R5cGUuZ2V0R3VhcmRXaWR0aD1mdW5jdGlvbigpe251bGw9PXRoaXMuZ3VhcmRXaWR0aCYmCih0aGlzLmd1YXJkV2lkdGg9bC5wcm90b3R5cGUubWVhc3VyZS5jYWxsKHRoaXMpLndpZHRoKTtyZXR1cm4gdGhpcy5ndWFyZFdpZHRofTtyZXR1cm4gcH0oci5BYnN0cmFjdE1lYXN1cmVyKTtmLk1lYXN1cmVyPWR9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHIpe2Zvcih2YXIgbCBpbiByKWYuaGFzT3duUHJvcGVydHkobCl8fChmW2xdPXJbbF0pfWsoaCgxMzgpKTtrKGgoNjUpKX0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPWgoMjEpO2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKCl7dGhpcy5tYXhMaW5lcyhJbmZpbml0eSk7dGhpcy50ZXh0VHJpbW1pbmcoKTt0aGlzLmFsbG93QnJlYWtpbmdXb3JkcygpO3RoaXMuX3Rva2VuaXplcj1uZXcgay5Ub2tlbml6ZXI7dGhpcy5fYnJlYWtpbmdDaGFyYWN0ZXI9Ii0ifXIucHJvdG90eXBlLm1heExpbmVzPWZ1bmN0aW9uKGwpe2lmKG51bGw9PWwpcmV0dXJuIHRoaXMuX21heExpbmVzO3RoaXMuX21heExpbmVzPWw7cmV0dXJuIHRoaXN9OwpyLnByb3RvdHlwZS50ZXh0VHJpbW1pbmc9ZnVuY3Rpb24oKXt0aGlzLl90ZXh0VHJpbW1pbmc9ImVsbGlwc2lzIn07ci5wcm90b3R5cGUuYWxsb3dCcmVha2luZ1dvcmRzPWZ1bmN0aW9uKCl7dGhpcy5fYWxsb3dCcmVha2luZ1dvcmRzPSEwfTtyLnByb3RvdHlwZS53cmFwPWZ1bmN0aW9uKGwscCxtLG4pe3ZhciBxPXRoaXM7dm9pZCAwPT09biYmKG49SW5maW5pdHkpO3ZhciB1PXtub0Jyb2tlV29yZHM6MCxub0xpbmVzOjAsb3JpZ2luYWxUZXh0OmwsdHJ1bmNhdGVkVGV4dDoiIix3cmFwcGVkVGV4dDoiIn07bT17YXZhaWxhYmxlTGluZXM6TWF0aC5taW4oTWF0aC5mbG9vcihuL3AubWVhc3VyZSgpLmhlaWdodCksdGhpcy5fbWF4TGluZXMpLGF2YWlsYWJsZVdpZHRoOm0sY2FuRml0VGV4dDohMCxjdXJyZW50TGluZToiIix3cmFwcGluZzp1fTt2YXIgdz1sLnNwbGl0KCJcbiIpO3JldHVybiB3LnJlZHVjZShmdW5jdGlvbihBLHkseCl7cmV0dXJuIHEuYnJlYWtMaW5lVG9GaXRXaWR0aChBLAp5LHghPT13Lmxlbmd0aC0xLHApfSxtKS53cmFwcGluZ307ci5wcm90b3R5cGUuYnJlYWtMaW5lVG9GaXRXaWR0aD1mdW5jdGlvbihsLHAsbSxuKXt2YXIgcT10aGlzO2wuY2FuRml0VGV4dHx8IiI9PT1sLndyYXBwaW5nLnRydW5jYXRlZFRleHR8fChsLndyYXBwaW5nLnRydW5jYXRlZFRleHQrPSJcbiIpO2w9dGhpcy5fdG9rZW5pemVyLnRva2VuaXplKHApLnJlZHVjZShmdW5jdGlvbih1LHcpe3JldHVybiBxLndyYXBOZXh0VG9rZW4odyx1LG4pfSxsKTtwPWsuU3RyaW5nTWV0aG9kcy50cmltRW5kKGwuY3VycmVudExpbmUpO2wud3JhcHBpbmcubm9MaW5lcys9KygiIiE9PXApO2wud3JhcHBpbmcubm9MaW5lcz09PWwuYXZhaWxhYmxlTGluZXMmJiJub25lIiE9PXRoaXMuX3RleHRUcmltbWluZyYmbT9sLmNhbkZpdFRleHQ9ITE6bC53cmFwcGluZy53cmFwcGVkVGV4dCs9cDtsLmN1cnJlbnRMaW5lPSJcbiI7cmV0dXJuIGx9O3IucHJvdG90eXBlLmNhbkZpdFRva2VuPWZ1bmN0aW9uKGwsCnAsbSl7dmFyIG49dGhpcyxxPXRoaXMuX2FsbG93QnJlYWtpbmdXb3Jkcz9sLnNwbGl0KCIiKS5tYXAoZnVuY3Rpb24odSx3KXtyZXR1cm4gdyE9PWwubGVuZ3RoLTE/dStuLl9icmVha2luZ0NoYXJhY3Rlcjp1fSk6W2xdO3JldHVybiBtLm1lYXN1cmUobCkud2lkdGg8PXB8fHEuZXZlcnkoZnVuY3Rpb24odSl7cmV0dXJuIG0ubWVhc3VyZSh1KS53aWR0aDw9cH0pfTtyLnByb3RvdHlwZS5hZGRFbGxpcHNpcz1mdW5jdGlvbihsLHAsbSl7aWYoIm5vbmUiPT09dGhpcy5fdGV4dFRyaW1taW5nKXJldHVybntyZW1haW5pbmdUb2tlbjoiIix3cmFwcGVkVG9rZW46bH07dmFyIG49bC5zdWJzdHJpbmcoMCkudHJpbSgpLHE9bS5tZWFzdXJlKG4pLndpZHRoLHU9bS5tZWFzdXJlKCIuLi4iKS53aWR0aCx3PTA8bC5sZW5ndGgmJiJcbiI9PT1sWzBdPyJcbiI6IiI7aWYocDw9dSlyZXR1cm57cmVtYWluaW5nVG9rZW46bCx3cmFwcGVkVG9rZW46dysiLi4uIi5zdWJzdHIoMCxNYXRoLmZsb29yKHAvCih1LzMpKSl9O2Zvcig7cSt1PnA7KW49ay5TdHJpbmdNZXRob2RzLnRyaW1FbmQobi5zdWJzdHIoMCxuLmxlbmd0aC0xKSkscT1tLm1lYXN1cmUobikud2lkdGg7cmV0dXJue3JlbWFpbmluZ1Rva2VuOmsuU3RyaW5nTWV0aG9kcy50cmltRW5kKGwuc3Vic3RyaW5nKG4ubGVuZ3RoKSwiLSIpLnRyaW0oKSx3cmFwcGVkVG9rZW46dytuKyIuLi4ifX07ci5wcm90b3R5cGUud3JhcE5leHRUb2tlbj1mdW5jdGlvbihsLHAsbSl7aWYoIXAuY2FuRml0VGV4dHx8cC5hdmFpbGFibGVMaW5lcz09PXAud3JhcHBpbmcubm9MaW5lc3x8IXRoaXMuY2FuRml0VG9rZW4obCxwLmF2YWlsYWJsZVdpZHRoLG0pKXJldHVybiB0aGlzLmZpbmlzaFdyYXBwaW5nKGwscCxtKTtmb3IoO2w7KXt2YXIgbj10aGlzLmJyZWFrVG9rZW5Ub0ZpdEluV2lkdGgobCxwLmN1cnJlbnRMaW5lLHAuYXZhaWxhYmxlV2lkdGgsbSk7cC5jdXJyZW50TGluZT1uLmxpbmU7bD1uLnJlbWFpbmluZ1Rva2VuO2lmKG51bGwhPWwpaWYocC53cmFwcGluZy5ub0Jyb2tlV29yZHMrPQorbi5icmVha1dvcmQsKytwLndyYXBwaW5nLm5vTGluZXMscC5hdmFpbGFibGVMaW5lcz09PXAud3JhcHBpbmcubm9MaW5lcyl7bT10aGlzLmFkZEVsbGlwc2lzKHAuY3VycmVudExpbmUscC5hdmFpbGFibGVXaWR0aCxtKTtwLndyYXBwaW5nLndyYXBwZWRUZXh0Kz1tLndyYXBwZWRUb2tlbjtwLndyYXBwaW5nLnRydW5jYXRlZFRleHQrPW0ucmVtYWluaW5nVG9rZW4rbDtwLmN1cnJlbnRMaW5lPSJcbiI7YnJlYWt9ZWxzZSBwLndyYXBwaW5nLndyYXBwZWRUZXh0Kz1rLlN0cmluZ01ldGhvZHMudHJpbUVuZChwLmN1cnJlbnRMaW5lKSxwLmN1cnJlbnRMaW5lPSJcbiJ9cmV0dXJuIHB9O3IucHJvdG90eXBlLmZpbmlzaFdyYXBwaW5nPWZ1bmN0aW9uKGwscCxtKXtwLmNhbkZpdFRleHQmJnAuYXZhaWxhYmxlTGluZXMhPT1wLndyYXBwaW5nLm5vTGluZXMmJnRoaXMuX2FsbG93QnJlYWtpbmdXb3JkcyYmIm5vbmUiIT09dGhpcy5fdGV4dFRyaW1taW5nPyhtPXRoaXMuYWRkRWxsaXBzaXMocC5jdXJyZW50TGluZSsKbCxwLmF2YWlsYWJsZVdpZHRoLG0pLHAud3JhcHBpbmcud3JhcHBlZFRleHQrPW0ud3JhcHBlZFRva2VuLHAud3JhcHBpbmcudHJ1bmNhdGVkVGV4dCs9bS5yZW1haW5pbmdUb2tlbixwLndyYXBwaW5nLm5vQnJva2VXb3Jkcys9KyhtLnJlbWFpbmluZ1Rva2VuLmxlbmd0aDxsLmxlbmd0aCkscC53cmFwcGluZy5ub0xpbmVzKz0rKDA8bS53cmFwcGVkVG9rZW4ubGVuZ3RoKSxwLmN1cnJlbnRMaW5lPSIiKTpwLndyYXBwaW5nLnRydW5jYXRlZFRleHQrPWw7cC5jYW5GaXRUZXh0PSExO3JldHVybiBwfTtyLnByb3RvdHlwZS5icmVha1Rva2VuVG9GaXRJbldpZHRoPWZ1bmN0aW9uKGwscCxtLG4pe2lmKHZvaWQgMD09PXEpdmFyIHE9dGhpcy5fYnJlYWtpbmdDaGFyYWN0ZXI7aWYobi5tZWFzdXJlKHArbCkud2lkdGg8PW0pcmV0dXJue2JyZWFrV29yZDohMSxsaW5lOnArbCxyZW1haW5pbmdUb2tlbjpudWxsfTtpZigiIj09PWwudHJpbSgpKXJldHVybnticmVha1dvcmQ6ITEsbGluZTpwLApyZW1haW5pbmdUb2tlbjoiIn07aWYoIXRoaXMuX2FsbG93QnJlYWtpbmdXb3JkcylyZXR1cm57YnJlYWtXb3JkOiExLGxpbmU6cCxyZW1haW5pbmdUb2tlbjpsfTtmb3IodmFyIHU9MDt1PGwubGVuZ3RoOylpZihuLm1lYXN1cmUocCtsLnN1YnN0cmluZygwLHUrMSkrcSkud2lkdGg8PW0pKyt1O2Vsc2UgYnJlYWs7bT0iIjswPHUmJihtPXEpO3JldHVybnticmVha1dvcmQ6MDx1LGxpbmU6cCtsLnN1YnN0cmluZygwLHUpK20scmVtYWluaW5nVG9rZW46bC5zdWJzdHJpbmcodSl9fTtyZXR1cm4gcn0oKTtmLldyYXBwZXI9ZH0sZnVuY3Rpb24oZCxmLGgpeyhmdW5jdGlvbihrKXtmb3IodmFyIHIgaW4gaylmLmhhc093blByb3BlcnR5KHIpfHwoZltyXT1rW3JdKX0pKGgoMTM5KSl9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHIpe2Zvcih2YXIgbCBpbiByKWYuaGFzT3duUHJvcGVydHkobCl8fChmW2xdPXJbbF0pfWsoaCg3MikpO2soaCg3MykpO2soaCgyOCkpfSxmdW5jdGlvbihkLApmKXtmLnZlcnNpb249IjMuNy4wIn0sZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsoeCxDKXtyZXR1cm4geC5lYWNoKGZ1bmN0aW9uKCl7dmFyIEc9Qy5hcHBseSh0aGlzLGFyZ3VtZW50cyksRD15LnNlbGVjdCh0aGlzKSxCO2ZvcihCIGluIEcpRC5hdHRyKEIsR1tCXSl9KX1mdW5jdGlvbiByKHgsQyl7Zm9yKHZhciBHIGluIEMpeC5hdHRyKEcsQ1tHXSk7cmV0dXJuIHh9ZnVuY3Rpb24gbCh4LEMsRyl7cmV0dXJuIHguZWFjaChmdW5jdGlvbigpe3ZhciBEPUMuYXBwbHkodGhpcyxhcmd1bWVudHMpLEI9eS5zZWxlY3QodGhpcyksSDtmb3IoSCBpbiBEKUIuc3R5bGUoSCxEW0hdLEcpfSl9ZnVuY3Rpb24gcCh4LEMsRyl7Zm9yKHZhciBEIGluIEMpeC5zdHlsZShELENbRF0sRyk7cmV0dXJuIHh9ZnVuY3Rpb24gbSh4LEMpe3JldHVybiB4LmVhY2goZnVuY3Rpb24oKXt2YXIgRz1DLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxEPXkuc2VsZWN0KHRoaXMpLEI7Zm9yKEIgaW4gRylELnByb3BlcnR5KEIsCkdbQl0pfSl9ZnVuY3Rpb24gbih4LEMpe2Zvcih2YXIgRyBpbiBDKXgucHJvcGVydHkoRyxDW0ddKTtyZXR1cm4geH1mdW5jdGlvbiBxKHgsQyl7cmV0dXJuIHguZWFjaChmdW5jdGlvbigpe3ZhciBHPUMuYXBwbHkodGhpcyxhcmd1bWVudHMpLEQ9eS5zZWxlY3QodGhpcykudHJhbnNpdGlvbih4KSxCO2ZvcihCIGluIEcpRC5hdHRyKEIsR1tCXSl9KX1mdW5jdGlvbiB1KHgsQyl7Zm9yKHZhciBHIGluIEMpeC5hdHRyKEcsQ1tHXSk7cmV0dXJuIHh9ZnVuY3Rpb24gdyh4LEMsRyl7cmV0dXJuIHguZWFjaChmdW5jdGlvbigpe3ZhciBEPUMuYXBwbHkodGhpcyxhcmd1bWVudHMpLEI9eS5zZWxlY3QodGhpcykudHJhbnNpdGlvbih4KSxIO2ZvcihIIGluIEQpQi5zdHlsZShILERbSF0sRyl9KX1mdW5jdGlvbiBBKHgsQyxHKXtmb3IodmFyIEQgaW4gQyl4LnN0eWxlKEQsQ1tEXSxHKTtyZXR1cm4geH12YXIgeT1kPWgoMSk7eS5zZWxlY3Rpb24ucHJvdG90eXBlLmF0dHJzPWZ1bmN0aW9uKHgpe3JldHVybigiZnVuY3Rpb24iPT09CnR5cGVvZiB4P2s6cikodGhpcyx4KX07eS5zZWxlY3Rpb24ucHJvdG90eXBlLnN0eWxlcz1mdW5jdGlvbih4KXtyZXR1cm4oImZ1bmN0aW9uIj09PXR5cGVvZiB4P2w6cCkodGhpcyx4LCIiKX07eS5zZWxlY3Rpb24ucHJvdG90eXBlLnByb3BlcnRpZXM9ZnVuY3Rpb24oeCl7cmV0dXJuKCJmdW5jdGlvbiI9PT10eXBlb2YgeD9tOm4pKHRoaXMseCl9O2QudHJhbnNpdGlvbi5wcm90b3R5cGUuYXR0cnM9ZnVuY3Rpb24oeCl7cmV0dXJuKCJmdW5jdGlvbiI9PT10eXBlb2YgeD9xOnUpKHRoaXMseCl9O2QudHJhbnNpdGlvbi5wcm90b3R5cGUuc3R5bGVzPWZ1bmN0aW9uKHgpe3JldHVybigiZnVuY3Rpb24iPT09dHlwZW9mIHg/dzpBKSh0aGlzLHgsIiIpfX0sZnVuY3Rpb24oZCxmLGgpe2Q9aCgxMTcpO3ZhciBrPWgoMTIpO2g9aCgxMCk7dmFyIHI9e2xpbmVhcjpkLmVhc2VMaW5lYXIscXVhZDpkLmVhc2VRdWFkLHF1YWRJbjpkLmVhc2VRdWFkSW4scXVhZE91dDpkLmVhc2VRdWFkT3V0LApxdWFkSW5PdXQ6ZC5lYXNlUXVhZEluT3V0LGN1YmljOmQuZWFzZUN1YmljLGN1YmljSW46ZC5lYXNlQ3ViaWNJbixjdWJpY091dDpkLmVhc2VDdWJpY091dCxjdWJpY0luT3V0OmQuZWFzZUN1YmljSW5PdXQscG9seTpkLmVhc2VQb2x5LHBvbHlJbjpkLmVhc2VQb2x5SW4scG9seU91dDpkLmVhc2VQb2x5T3V0LHBvbHlJbk91dDpkLmVhc2VQb2x5SW5PdXQsc2luOmQuZWFzZVNpbixzaW5JbjpkLmVhc2VTaW5JbixzaW5PdXQ6ZC5lYXNlU2luT3V0LHNpbkluT3V0OmQuZWFzZVNpbkluT3V0LGV4cDpkLmVhc2VFeHAsZXhwSW46ZC5lYXNlRXhwSW4sZXhwT3V0OmQuZWFzZUV4cE91dCxleHBJbk91dDpkLmVhc2VFeHBJbk91dCxjaXJjbGU6ZC5lYXNlQ2lyY2xlLGNpcmNsZUluOmQuZWFzZUNpcmNsZUluLGNpcmNsZU91dDpkLmVhc2VDaXJjbGVPdXQsY2lyY2xlSW5PdXQ6ZC5lYXNlQ2lyY2xlSW5PdXQsYm91bmNlOmQuZWFzZUJvdW5jZSxib3VuY2VJbjpkLmVhc2VCb3VuY2VJbixib3VuY2VPdXQ6ZC5lYXNlQm91bmNlT3V0LApib3VuY2VJbk91dDpkLmVhc2VCb3VuY2VJbk91dCxiYWNrOmQuZWFzZUJhY2ssYmFja0luOmQuZWFzZUJhY2tJbixiYWNrT3V0OmQuZWFzZUJhY2tPdXQsYmFja0luT3V0OmQuZWFzZUJhY2tJbk91dCxlbGFzdGljOmQuZWFzZUVsYXN0aWMsZWxhc3RpY0luOmQuZWFzZUVsYXN0aWNJbixlbGFzdGljT3V0OmQuZWFzZUVsYXN0aWNPdXQsZWxhc3RpY0luT3V0OmQuZWFzZUVsYXN0aWNJbk91dH07Zi5FYXNlTmFtZT1oLm1ha2VFbnVtKCJsaW5lYXIgcXVhZCBxdWFkSW4gcXVhZE91dCBxdWFkSW5PdXQgY3ViaWMgY3ViaWNJbiBjdWJpY091dCBjdWJpY0luT3V0IHBvbHkgcG9seUluIHBvbHlPdXQgcG9seUluT3V0IHNpbiBzaW5JbiBzaW5PdXQgc2luSW5PdXQgZXhwIGV4cEluIGV4cE91dCBleHBJbk91dCBjaXJjbGUgY2lyY2xlSW4gY2lyY2xlT3V0IGNpcmNsZUluT3V0IGJvdW5jZSBib3VuY2VJbiBib3VuY2VPdXQgYm91bmNlSW5PdXQgYmFjayBiYWNrSW4gYmFja091dCBiYWNrSW5PdXQgZWxhc3RpYyBlbGFzdGljSW4gZWxhc3RpY091dCBlbGFzdGljSW5PdXQiLnNwbGl0KCIgIikpOwpoPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbCgpe3RoaXMuX3N0YXJ0RGVsYXk9bC5fREVGQVVMVF9TVEFSVF9ERUxBWV9NSUxMSVNFQ09ORFM7dGhpcy5fc3RlcER1cmF0aW9uPWwuX0RFRkFVTFRfU1RFUF9EVVJBVElPTl9NSUxMSVNFQ09ORFM7dGhpcy5fc3RlcERlbGF5PWwuX0RFRkFVTFRfSVRFUkFUSVZFX0RFTEFZX01JTExJU0VDT05EUzt0aGlzLl9tYXhUb3RhbER1cmF0aW9uPWwuX0RFRkFVTFRfTUFYX1RPVEFMX0RVUkFUSU9OX01JTExJU0VDT05EUzt0aGlzLl9lYXNpbmdNb2RlPWwuX0RFRkFVTFRfRUFTSU5HX01PREV9bC5wcm90b3R5cGUudG90YWxUaW1lPWZ1bmN0aW9uKHApe3ZhciBtPXRoaXMuX2dldEFkanVzdGVkSXRlcmF0aXZlRGVsYXkocCk7cmV0dXJuIHRoaXMuc3RhcnREZWxheSgpK20qTWF0aC5tYXgocC0xLDApK3RoaXMuc3RlcER1cmF0aW9uKCl9O2wucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24ocCxtKXt2YXIgbj10aGlzO3A9ay5jb2VyY2VFeHRlcm5hbEQzKHApOwp2YXIgcT1wLnNpemUoKSx1PXRoaXMuX2dldEFkanVzdGVkSXRlcmF0aXZlRGVsYXkocSk7cmV0dXJuIHAudHJhbnNpdGlvbigpLmVhc2UodGhpcy5fZ2V0RWFzZUZhY3RvcnkoKSkuZHVyYXRpb24odGhpcy5zdGVwRHVyYXRpb24oKSkuZGVsYXkoZnVuY3Rpb24odyxBKXtyZXR1cm4gbi5zdGFydERlbGF5KCkrdSpBfSkuYXR0cnMobSl9O2wucHJvdG90eXBlLnN0YXJ0RGVsYXk9ZnVuY3Rpb24ocCl7aWYobnVsbD09cClyZXR1cm4gdGhpcy5fc3RhcnREZWxheTt0aGlzLl9zdGFydERlbGF5PXA7cmV0dXJuIHRoaXN9O2wucHJvdG90eXBlLnN0ZXBEdXJhdGlvbj1mdW5jdGlvbihwKXtpZihudWxsPT1wKXJldHVybiBNYXRoLm1pbih0aGlzLl9zdGVwRHVyYXRpb24sdGhpcy5fbWF4VG90YWxEdXJhdGlvbik7dGhpcy5fc3RlcER1cmF0aW9uPXA7cmV0dXJuIHRoaXN9O2wucHJvdG90eXBlLnN0ZXBEZWxheT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdGVwRGVsYXl9O2wucHJvdG90eXBlLm1heFRvdGFsRHVyYXRpb249CmZ1bmN0aW9uKHApe2lmKG51bGw9PXApcmV0dXJuIHRoaXMuX21heFRvdGFsRHVyYXRpb247dGhpcy5fbWF4VG90YWxEdXJhdGlvbj1wO3JldHVybiB0aGlzfTtsLnByb3RvdHlwZS5lYXNpbmdNb2RlPWZ1bmN0aW9uKHApe2lmKG51bGw9PXApcmV0dXJuIHRoaXMuX2Vhc2luZ01vZGU7dGhpcy5fZWFzaW5nTW9kZT1wO3JldHVybiB0aGlzfTtsLnByb3RvdHlwZS5fZ2V0RWFzZUZhY3Rvcnk9ZnVuY3Rpb24oKXt2YXIgcD10aGlzLmVhc2luZ01vZGUoKTtyZXR1cm4ic3RyaW5nIj09PXR5cGVvZiBwPyhwPXJbcF0sbnVsbD09cD9yLmxpbmVhcjpwKTpwfTtsLnByb3RvdHlwZS5fZ2V0QWRqdXN0ZWRJdGVyYXRpdmVEZWxheT1mdW5jdGlvbihwKXt2YXIgbT10aGlzLm1heFRvdGFsRHVyYXRpb24oKS10aGlzLnN0ZXBEdXJhdGlvbigpO209TWF0aC5tYXgobSwwKTtwPW0vTWF0aC5tYXgocC0xLDEpO3JldHVybiBNYXRoLm1pbih0aGlzLnN0ZXBEZWxheSgpLHApfTtyZXR1cm4gbH0oKTtoLl9ERUZBVUxUX1NUQVJUX0RFTEFZX01JTExJU0VDT05EUz0KMDtoLl9ERUZBVUxUX1NURVBfRFVSQVRJT05fTUlMTElTRUNPTkRTPTMwMDtoLl9ERUZBVUxUX0lURVJBVElWRV9ERUxBWV9NSUxMSVNFQ09ORFM9MTU7aC5fREVGQVVMVF9NQVhfVE9UQUxfRFVSQVRJT05fTUlMTElTRUNPTkRTPUluZmluaXR5O2guX0RFRkFVTFRfRUFTSU5HX01PREU9ImV4cE91dCI7Zi5FYXNpbmc9aH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPWgoMTIpO2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKCl7fXIucHJvdG90eXBlLnRvdGFsVGltZT1mdW5jdGlvbigpe3JldHVybiAwfTtyLnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGwscCl7bD1rLmNvZXJjZUV4dGVybmFsRDMobCk7cmV0dXJuIGwuYXR0cnMocCl9O3JldHVybiByfSgpO2YuTnVsbD1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHEsdSl7ZnVuY3Rpb24gdygpe3RoaXMuY29uc3RydWN0b3I9cX1mb3IodmFyIEEgaW4gdSl1Lmhhc093blByb3BlcnR5KEEpJiYKKHFbQV09dVtBXSk7cS5wcm90b3R5cGU9bnVsbD09PXU/T2JqZWN0LmNyZWF0ZSh1KToody5wcm90b3R5cGU9dS5wcm90b3R5cGUsbmV3IHcpfSxyPWgoMSksbD1oKDUpLHA9aCg0KSxtPWgoMCksbj1oKDIyKTtkPWZ1bmN0aW9uKHEpe2Z1bmN0aW9uIHUodyxBKXt2b2lkIDA9PT1BJiYoQT0iYm90dG9tIik7dz1xLmNhbGwodGhpcyx3LEEpfHx0aGlzO3cuX3RpY2tMYWJlbEFuZ2xlPTA7dy5fdGlja0xhYmVsU2hlYXJBbmdsZT0wO3cuYWRkQ2xhc3MoImNhdGVnb3J5LWF4aXMiKTtyZXR1cm4gd31rKHUscSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLCJfd3JhcHBlciIse2dldDpmdW5jdGlvbigpe3ZhciB3PW5ldyBsLldyYXBwZXI7bnVsbCE9dGhpcy5fdGlja0xhYmVsTWF4TGluZXMmJncubWF4TGluZXModGhpcy5fdGlja0xhYmVsTWF4TGluZXMpO3JldHVybiB3fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSwKIl93cml0ZXIiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGwuV3JpdGVyKHRoaXMuX21lYXN1cmVyLHRoaXMuX3R5cGVzZXR0ZXJDb250ZXh0LHRoaXMuX3dyYXBwZXIpfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pO3UucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3EucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpO3RoaXMuX3R5cGVzZXR0ZXJDb250ZXh0PW5ldyBsLlN2Z0NvbnRleHQodGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLm5vZGUoKSk7dGhpcy5fbWVhc3VyZXI9bmV3IGwuQ2FjaGVNZWFzdXJlcih0aGlzLl90eXBlc2V0dGVyQ29udGV4dCl9O3UucHJvdG90eXBlLl9yZXNjYWxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVkcmF3KCl9O3UucHJvdG90eXBlLnJlcXVlc3RlZFNwYWNlPWZ1bmN0aW9uKHcsQSl7dmFyIHk9dGhpcy5pc0hvcml6b250YWwoKT8wOnRoaXMuX3RpY2tTcGFjZVJlcXVpcmVkKCkrdGhpcy5tYXJnaW4oKSx4PXRoaXMuaXNIb3Jpem9udGFsKCk/CnRoaXMuX3RpY2tTcGFjZVJlcXVpcmVkKCkrdGhpcy5tYXJnaW4oKTowO2lmKDA9PT10aGlzLl9zY2FsZS5kb21haW4oKS5sZW5ndGgpcmV0dXJue21pbldpZHRoOjAsbWluSGVpZ2h0OjB9O2lmKHRoaXMuYW5ub3RhdGlvbnNFbmFibGVkKCkpe3ZhciBDPXRoaXMuX2Fubm90YXRpb25UaWVySGVpZ2h0KCkqdGhpcy5hbm5vdGF0aW9uVGllckNvdW50KCk7dGhpcy5pc0hvcml6b250YWwoKT94Kz1DOnkrPUN9dz10aGlzLl9tZWFzdXJlVGlja0xhYmVscyh3LEEpO3JldHVybnttaW5XaWR0aDp3LnVzZWRXaWR0aCt5LG1pbkhlaWdodDp3LnVzZWRIZWlnaHQreH19O3UucHJvdG90eXBlLl9jb3JlU2l6ZT1mdW5jdGlvbigpe3ZhciB3PXRoaXMuaXNIb3Jpem9udGFsKCk/dGhpcy5oZWlnaHQoKTp0aGlzLndpZHRoKCksQT10aGlzLmlzSG9yaXpvbnRhbCgpP3RoaXMucmVxdWVzdGVkU3BhY2UodGhpcy53aWR0aCgpLHRoaXMuaGVpZ2h0KCkpLm1pbkhlaWdodDp0aGlzLnJlcXVlc3RlZFNwYWNlKHRoaXMud2lkdGgoKSwKdGhpcy5oZWlnaHQoKSkubWluV2lkdGgseT10aGlzLm1hcmdpbigpK3RoaXMuX2Fubm90YXRpb25UaWVySGVpZ2h0KCk7cmV0dXJuIE1hdGgubWluKEEteSx3KX07dS5wcm90b3R5cGUuX2dldFRpY2tWYWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXREb3duc2FtcGxlSW5mbygpLmRvbWFpbn07dS5wcm90b3R5cGUuX3NpemVGcm9tT2ZmZXI9ZnVuY3Rpb24odyxBKXtyZXR1cm4gcC5Db21wb25lbnQucHJvdG90eXBlLl9zaXplRnJvbU9mZmVyLmNhbGwodGhpcyx3LEEpfTt1LnByb3RvdHlwZS5nZXREb3duc2FtcGxlSW5mbz1mdW5jdGlvbih3KXt2YXIgQTt2b2lkIDA9PT13JiYodz10aGlzLl9zY2FsZSk7dm9pZCAwPT09QSYmKEE9dy5pbnZlcnRSYW5nZSgpKTt2YXIgeT1NYXRoLmNlaWwodS5fTUlOSU1VTV9XSURUSF9QRVJfTEFCRUxfUFgqKDA9PT10aGlzLl90aWNrTGFiZWxBbmdsZT8xOjEvTWF0aC5jb3ModGhpcy5fdGlja0xhYmVsU2hlYXJBbmdsZS8xODAqTWF0aC5QSSkpLwp3LnN0ZXBXaWR0aCgpKTtyZXR1cm57ZG9tYWluOkEuZmlsdGVyKGZ1bmN0aW9uKHgsQyl7cmV0dXJuIDA9PT1DJXl9KSxzdGVwV2lkdGg6eSp3LnN0ZXBXaWR0aCgpfX07dS5wcm90b3R5cGUudGlja0xhYmVsQW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGlja0xhYmVsQW5nbGU7dGhyb3cgRXJyb3IoIkFuZ2xlIHVuZGVmaW5lZCBub3Qgc3VwcG9ydGVkOyBvbmx5IDAsIDkwLCBhbmQgLTkwIGFyZSB2YWxpZCB2YWx1ZXMiKTt9O3UucHJvdG90eXBlLnRpY2tMYWJlbFNoZWFyQW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGlja0xhYmVsU2hlYXJBbmdsZX07dS5wcm90b3R5cGUudGlja0xhYmVsTWF4V2lkdGg9ZnVuY3Rpb24odyl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuX3RpY2tMYWJlbE1heFdpZHRoO3RoaXMuX3RpY2tMYWJlbE1heFdpZHRoPXc7dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307dS5wcm90b3R5cGUudGlja0xhYmVsTWF4TGluZXM9CmZ1bmN0aW9uKHcpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiB0aGlzLl90aWNrTGFiZWxNYXhMaW5lczt0aGlzLl90aWNrTGFiZWxNYXhMaW5lcz13O3RoaXMucmVkcmF3KCk7cmV0dXJuIHRoaXN9O3UucHJvdG90eXBlLl90aWNrU3BhY2VSZXF1aXJlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXhMYWJlbFRpY2tMZW5ndGgoKSt0aGlzLnRpY2tMYWJlbFBhZGRpbmcoKX07dS5wcm90b3R5cGUuX2RyYXdUaWNrcz1mdW5jdGlvbih3LEEpe3ZhciB5PXRoaXM7c3dpdGNoKHRoaXMudGlja0xhYmVsQW5nbGUoKSl7Y2FzZSAwOnZhciB4PXtsZWZ0OiJyaWdodCIscmlnaHQ6ImxlZnQiLHRvcDoiY2VudGVyIixib3R0b206ImNlbnRlciJ9O3ZhciBDPXtsZWZ0OiJjZW50ZXIiLHJpZ2h0OiJjZW50ZXIiLHRvcDoiYm90dG9tIixib3R0b206InRvcCJ9O2JyZWFrO2Nhc2UgOTA6eD17bGVmdDoiY2VudGVyIixyaWdodDoiY2VudGVyIix0b3A6InJpZ2h0Iixib3R0b206ImxlZnQifTsKQz17bGVmdDoidG9wIixyaWdodDoiYm90dG9tIix0b3A6ImNlbnRlciIsYm90dG9tOiJjZW50ZXIifTticmVhaztjYXNlIC05MDp4PXtsZWZ0OiJjZW50ZXIiLHJpZ2h0OiJjZW50ZXIiLHRvcDoibGVmdCIsYm90dG9tOiJyaWdodCJ9LEM9e2xlZnQ6ImJvdHRvbSIscmlnaHQ6InRvcCIsdG9wOiJjZW50ZXIiLGJvdHRvbToiY2VudGVyIn19QS5lYWNoKGZ1bmN0aW9uKEcpe3ZhciBEPXIuc2VsZWN0KHRoaXMpLEI9eS5pc0hvcml6b250YWwoKT93Onkud2lkdGgoKS15Ll90aWNrU3BhY2VSZXF1aXJlZCgpLEg9eS5pc0hvcml6b250YWwoKT95LmhlaWdodCgpLXkuX3RpY2tTcGFjZVJlcXVpcmVkKCk6dyxLPXt4QWxpZ246eFt5Lm9yaWVudGF0aW9uKCldLHlBbGlnbjpDW3kub3JpZW50YXRpb24oKV0sdGV4dFJvdGF0aW9uOnkudGlja0xhYmVsQW5nbGUoKSx0ZXh0U2hlYXI6eS50aWNrTGFiZWxTaGVhckFuZ2xlKCl9O2lmKG51bGwhPXkuX3RpY2tMYWJlbE1heFdpZHRoKXtpZigibGVmdCI9PT0KeS5vcmllbnRhdGlvbigpJiZCPnkuX3RpY2tMYWJlbE1heFdpZHRoKXt2YXIgTD1CLXkuX3RpY2tMYWJlbE1heFdpZHRoO0w9RC5hdHRyKCJ0cmFuc2Zvcm0iKSsiIHRyYW5zbGF0ZSgiK0wrIiwgMCkiO0QuYXR0cigidHJhbnNmb3JtIixMKX1CPU1hdGgubWluKEIseS5fdGlja0xhYmVsTWF4V2lkdGgpfXkuX3dyaXRlci53cml0ZSh5LmZvcm1hdHRlcigpKEcpLEIsSCxLLEQubm9kZSgpKX0pfTt1LnByb3RvdHlwZS5fbWVhc3VyZVRpY2tMYWJlbHM9ZnVuY3Rpb24odyxBKXt2YXIgeT10aGlzLHg9dGhpcy5fc2NhbGUuY2xvbmVXaXRob3V0UHJvdmlkZXJzKCkucmFuZ2UoWzAsdGhpcy5pc0hvcml6b250YWwoKT93OkFdKSxDPXRoaXMuZ2V0RG93bnNhbXBsZUluZm8oeCk7eD1DLmRvbWFpbjtDPUMuc3RlcFdpZHRoO3ZhciBHPXctdGhpcy5fdGlja1NwYWNlUmVxdWlyZWQoKTt0aGlzLmlzSG9yaXpvbnRhbCgpJiYoRz1DLDAhPT10aGlzLl90aWNrTGFiZWxBbmdsZSYmKEc9QS10aGlzLl90aWNrU3BhY2VSZXF1aXJlZCgpKSwKRz1NYXRoLm1heChHLDApKTt2YXIgRD1DO3RoaXMuaXNIb3Jpem9udGFsKCkmJihEPUEtdGhpcy5fdGlja1NwYWNlUmVxdWlyZWQoKSwwIT09dGhpcy5fdGlja0xhYmVsQW5nbGUmJihEPXctdGhpcy5fdGlja1NwYWNlUmVxdWlyZWQoKSksRD1NYXRoLm1heChELDApKTtudWxsIT10aGlzLl90aWNrTGFiZWxNYXhXaWR0aCYmKEc9TWF0aC5taW4oRyx0aGlzLl90aWNrTGFiZWxNYXhXaWR0aCkpO0E9eC5tYXAoZnVuY3Rpb24oQil7cmV0dXJuIHkuX3dyYXBwZXIud3JhcCh5LmZvcm1hdHRlcigpKEIpLHkuX21lYXN1cmVyLEcsRCl9KTt3PXRoaXMuaXNIb3Jpem9udGFsKCkmJjA9PT10aGlzLl90aWNrTGFiZWxBbmdsZT9yLnN1bTptLk1hdGgubWF4O3g9dGhpcy5pc0hvcml6b250YWwoKSYmMD09PXRoaXMuX3RpY2tMYWJlbEFuZ2xlP20uTWF0aC5tYXg6ci5zdW07dz13KEEsZnVuY3Rpb24oQil7cmV0dXJuIHkuX21lYXN1cmVyLm1lYXN1cmUoQi53cmFwcGVkVGV4dCkud2lkdGh9LDApOwpBPXgoQSxmdW5jdGlvbihCKXtyZXR1cm4geS5fbWVhc3VyZXIubWVhc3VyZShCLndyYXBwZWRUZXh0KS5oZWlnaHR9LDApOzAhPT10aGlzLl90aWNrTGFiZWxBbmdsZSYmKEE9W0Esd10sdz1BWzBdLEE9QVsxXSk7cmV0dXJue3VzZWRXaWR0aDp3LHVzZWRIZWlnaHQ6QX19O3UucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7dmFyIHc9dGhpcztxLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseS5jYWxsKHRoaXMpO3ZhciBBPXRoaXMuX3NjYWxlLHk9dGhpcy5nZXREb3duc2FtcGxlSW5mbyhBKSx4PXkuZG9tYWluLEM9eT15LnN0ZXBXaWR0aDt0aGlzLmlzSG9yaXpvbnRhbCgpJiZudWxsIT10aGlzLl90aWNrTGFiZWxNYXhXaWR0aCYmKEM9TWF0aC5taW4oQyx0aGlzLl90aWNrTGFiZWxNYXhXaWR0aCkpO3g9dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrbi5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MpLmRhdGEoeCk7dmFyIEc9eC5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQobi5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MsCiEwKS5tZXJnZSh4KTt4LmV4aXQoKS5yZW1vdmUoKTtHLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24oRCl7dmFyIEI9QS5zY2FsZShEKS1DLzI7RD13LmlzSG9yaXpvbnRhbCgpP0I6MDtCPXcuaXNIb3Jpem9udGFsKCk/MDpCO3JldHVybiJ0cmFuc2xhdGUoIitEKyIsIitCKyIpIn0pO0cudGV4dCgiIik7dGhpcy5fZHJhd1RpY2tzKHksRyk7eT0icmlnaHQiPT09dGhpcy5vcmllbnRhdGlvbigpP3RoaXMuX3RpY2tTcGFjZVJlcXVpcmVkKCk6MDt4PSJib3R0b20iPT09dGhpcy5vcmllbnRhdGlvbigpP3RoaXMuX3RpY2tTcGFjZVJlcXVpcmVkKCk6MDt0aGlzLl90aWNrTGFiZWxDb250YWluZXIuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIreSsiLCIreCsiKSIpO3RoaXMuX3Nob3dBbGxUaWNrTWFya3MoKTt0aGlzLl9zaG93QWxsVGlja0xhYmVscygpO3RoaXMuX2hpZGVUaWNrTWFya3NXaXRob3V0TGFiZWwoKTtyZXR1cm4gdGhpc307dS5wcm90b3R5cGUuY29tcHV0ZUxheW91dD0KZnVuY3Rpb24odyxBLHkpe3EucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQuY2FsbCh0aGlzLHcsQSx5KTt0aGlzLmlzSG9yaXpvbnRhbCgpfHx0aGlzLl9zY2FsZS5yYW5nZShbMCx0aGlzLmhlaWdodCgpXSk7cmV0dXJuIHRoaXN9O3UucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZT1mdW5jdGlvbigpe3EucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZS5jYWxsKHRoaXMpO3RoaXMuX21lYXN1cmVyLnJlc2V0KCl9O3JldHVybiB1fShuLkF4aXMpO2QuX01JTklNVU1fV0lEVEhfUEVSX0xBQkVMX1BYPTE1O2YuQ2F0ZWdvcnk9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihxLHUpe2Z1bmN0aW9uIHcoKXt0aGlzLmNvbnN0cnVjdG9yPXF9Zm9yKHZhciBBIGluIHUpdS5oYXNPd25Qcm9wZXJ0eShBKSYmKHFbQV09dVtBXSk7cS5wcm90b3R5cGU9bnVsbD09PXU/T2JqZWN0LmNyZWF0ZSh1KToody5wcm90b3R5cGU9dS5wcm90b3R5cGUsbmV3IHcpfSwKcj1oKDEpLGw9aCg1KSxwPWgoOCksbT1oKDApLG49aCgyMik7ZD1mdW5jdGlvbihxKXtmdW5jdGlvbiB1KHcsQSl7dz1xLmNhbGwodGhpcyx3LEEpfHx0aGlzO3cuX3RpY2tMYWJlbFBvc2l0aW9uaW5nPSJjZW50ZXIiO3cuX3VzZXNUZXh0V2lkdGhBcHByb3hpbWF0aW9uPSExO3cuZm9ybWF0dGVyKHAuZ2VuZXJhbCgpKTtyZXR1cm4gd31rKHUscSk7dS5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7cS5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyk7dmFyIHc9bmV3IGwuU3ZnQ29udGV4dCh0aGlzLl90aWNrTGFiZWxDb250YWluZXIubm9kZSgpLG4uQXhpcy5USUNLX0xBQkVMX0NMQVNTKTt0aGlzLl9tZWFzdXJlcj1uZXcgbC5DYWNoZU1lYXN1cmVyKHcpO3RoaXMuX3dyYXBwZXI9KG5ldyBsLldyYXBwZXIpLm1heExpbmVzKDEpfTt1LnByb3RvdHlwZS5fY29tcHV0ZVdpZHRoPWZ1bmN0aW9uKCl7dmFyIHc9dGhpcy5fdXNlc1RleHRXaWR0aEFwcHJveGltYXRpb24/dGhpcy5fY29tcHV0ZUFwcHJveGltYXRlVGV4dFdpZHRoKCk6CnRoaXMuX2NvbXB1dGVFeGFjdFRleHRXaWR0aCgpO3JldHVybiJjZW50ZXIiPT09dGhpcy5fdGlja0xhYmVsUG9zaXRpb25pbmc/dGhpcy5fbWF4TGFiZWxUaWNrTGVuZ3RoKCkrdGhpcy50aWNrTGFiZWxQYWRkaW5nKCkrdzpNYXRoLm1heCh0aGlzLl9tYXhMYWJlbFRpY2tMZW5ndGgoKSx0aGlzLnRpY2tMYWJlbFBhZGRpbmcoKSt3KX07dS5wcm90b3R5cGUuX2NvbXB1dGVFeGFjdFRleHRXaWR0aD1mdW5jdGlvbigpe3ZhciB3PXRoaXMsQT10aGlzLl9nZXRUaWNrVmFsdWVzKCkubWFwKGZ1bmN0aW9uKHkpe3k9dy5mb3JtYXR0ZXIoKSh5KTtyZXR1cm4gdy5fbWVhc3VyZXIubWVhc3VyZSh5KS53aWR0aH0pO3JldHVybiBtLk1hdGgubWF4KEEsMCl9O3UucHJvdG90eXBlLl9jb21wdXRlQXBwcm94aW1hdGVUZXh0V2lkdGg9ZnVuY3Rpb24oKXt2YXIgdz10aGlzLEE9dGhpcy5fZ2V0VGlja1ZhbHVlcygpLHk9dGhpcy5fbWVhc3VyZXIubWVhc3VyZSgiTSIpLndpZHRoO0E9QS5tYXAoZnVuY3Rpb24oeCl7cmV0dXJuIHcuZm9ybWF0dGVyKCkoeCkubGVuZ3RoKgp5fSk7cmV0dXJuIG0uTWF0aC5tYXgoQSwwKX07dS5wcm90b3R5cGUuX2NvbXB1dGVIZWlnaHQ9ZnVuY3Rpb24oKXt2YXIgdz10aGlzLl9tZWFzdXJlci5tZWFzdXJlKCkuaGVpZ2h0O3JldHVybiJjZW50ZXIiPT09dGhpcy5fdGlja0xhYmVsUG9zaXRpb25pbmc/dGhpcy5fbWF4TGFiZWxUaWNrTGVuZ3RoKCkrdGhpcy50aWNrTGFiZWxQYWRkaW5nKCkrdzpNYXRoLm1heCh0aGlzLl9tYXhMYWJlbFRpY2tMZW5ndGgoKSx0aGlzLnRpY2tMYWJlbFBhZGRpbmcoKSt3KX07dS5wcm90b3R5cGUuX2dldFRpY2tWYWx1ZXM9ZnVuY3Rpb24oKXt2YXIgdz10aGlzLl9zY2FsZSxBPXcuZG9tYWluKCkseT1BWzBdPD1BWzFdP0FbMF06QVsxXSx4PUFbMF0+PUFbMV0/QVswXTpBWzFdO3JldHVybiB3LnRpY2tzKCkuZmlsdGVyKGZ1bmN0aW9uKEMpe3JldHVybiBDPj15JiZDPD14fSl9O3UucHJvdG90eXBlLl9yZXNjYWxlPWZ1bmN0aW9uKCl7aWYodGhpcy5faXNTZXR1cCl7aWYoIXRoaXMuaXNIb3Jpem9udGFsKCkpe3ZhciB3PQp0aGlzLl9jb21wdXRlV2lkdGgoKTtpZih3PnRoaXMud2lkdGgoKXx8dzx0aGlzLndpZHRoKCktdGhpcy5tYXJnaW4oKSl7dGhpcy5yZWRyYXcoKTtyZXR1cm59fXRoaXMucmVuZGVyKCl9fTt1LnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3ZhciB3PXRoaXM7cS5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKTt2YXIgQT17eDowLHk6MCxkeDoiMGVtIixkeToiMC4zZW0ifSx5PXRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpLHg9dGhpcy50aWNrTGFiZWxQYWRkaW5nKCksQz0ibWlkZGxlIixHPTAsRD0wLEI9MCxIPTA7aWYodGhpcy5pc0hvcml6b250YWwoKSlzd2l0Y2godGhpcy5fdGlja0xhYmVsUG9zaXRpb25pbmcpe2Nhc2UgImxlZnQiOkM9ImVuZCI7Rz0teDtIPXg7YnJlYWs7Y2FzZSAiY2VudGVyIjpIPXkreDticmVhaztjYXNlICJyaWdodCI6Qz0ic3RhcnQiLEg9Rz14fWVsc2Ugc3dpdGNoKHRoaXMuX3RpY2tMYWJlbFBvc2l0aW9uaW5nKXtjYXNlICJ0b3AiOkEuZHk9CiItMC4zZW0iO0I9eDtEPS14O2JyZWFrO2Nhc2UgImNlbnRlciI6Qj15K3g7YnJlYWs7Y2FzZSAiYm90dG9tIjpBLmR5PSIxZW0iLEQ9Qj14fXk9dGhpcy5fZ2VuZXJhdGVUaWNrTWFya0F0dHJIYXNoKCk7c3dpdGNoKHRoaXMub3JpZW50YXRpb24oKSl7Y2FzZSAiYm90dG9tIjpBLng9eS54MTtBLmR5PSIwLjk1ZW0iO0Q9eS55MStIO2JyZWFrO2Nhc2UgInRvcCI6QS54PXkueDE7QS5keT0iLS4yNWVtIjtEPXkueTEtSDticmVhaztjYXNlICJsZWZ0IjpDPSJlbmQiO0c9eS54MS1CO0EueT15LnkxO2JyZWFrO2Nhc2UgInJpZ2h0IjpDPSJzdGFydCIsRz15LngxK0IsQS55PXkueTF9Qj10aGlzLl9nZXRUaWNrVmFsdWVzKCk7Qj10aGlzLl90aWNrTGFiZWxDb250YWluZXIuc2VsZWN0QWxsKCIuIituLkF4aXMuVElDS19MQUJFTF9DTEFTUykuZGF0YShCKTtCLmV4aXQoKS5yZW1vdmUoKTtCLmVudGVyKCkuYXBwZW5kKCJ0ZXh0IikuY2xhc3NlZChuLkF4aXMuVElDS19MQUJFTF9DTEFTUywKITApLm1lcmdlKEIpLnN0eWxlKCJ0ZXh0LWFuY2hvciIsQykuc3R5bGUoInZpc2liaWxpdHkiLCJpbmhlcml0IikuYXR0cnMoQSkudGV4dChmdW5jdGlvbihLKXtyZXR1cm4gdy5mb3JtYXR0ZXIoKShLKX0pO3RoaXMuX3RpY2tMYWJlbENvbnRhaW5lci5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitHKyIsICIrRCsiKSIpO3RoaXMuX3Nob3dBbGxUaWNrTWFya3MoKTt0aGlzLnNob3dFbmRUaWNrTGFiZWxzKCl8fHRoaXMuX2hpZGVFbmRUaWNrTGFiZWxzKCk7dGhpcy5faGlkZU92ZXJmbG93aW5nVGlja0xhYmVscygpO3RoaXMuX2hpZGVPdmVybGFwcGluZ1RpY2tMYWJlbHMoKTsiY2VudGVyIiE9PXRoaXMuX3RpY2tMYWJlbFBvc2l0aW9uaW5nJiZ0aGlzLl9oaWRlVGlja01hcmtzV2l0aG91dExhYmVsKCk7cmV0dXJuIHRoaXN9O3UucHJvdG90eXBlLnRpY2tMYWJlbFBvc2l0aW9uPWZ1bmN0aW9uKHcpe2lmKG51bGw9PXcpcmV0dXJuIHRoaXMuX3RpY2tMYWJlbFBvc2l0aW9uaW5nOwp3PXcudG9Mb3dlckNhc2UoKTtpZih0aGlzLmlzSG9yaXpvbnRhbCgpKXtpZigibGVmdCIhPT13JiYiY2VudGVyIiE9PXcmJiJyaWdodCIhPT13KXRocm93IEVycm9yKHcrIiBpcyBub3QgYSB2YWxpZCB0aWNrIGxhYmVsIHBvc2l0aW9uIGZvciBhIGhvcml6b250YWwgTnVtZXJpY0F4aXMiKTt9ZWxzZSBpZigidG9wIiE9PXcmJiJjZW50ZXIiIT09dyYmImJvdHRvbSIhPT13KXRocm93IEVycm9yKHcrIiBpcyBub3QgYSB2YWxpZCB0aWNrIGxhYmVsIHBvc2l0aW9uIGZvciBhIHZlcnRpY2FsIE51bWVyaWNBeGlzIik7dGhpcy5fdGlja0xhYmVsUG9zaXRpb25pbmc9dzt0aGlzLnJlZHJhdygpO3JldHVybiB0aGlzfTt1LnByb3RvdHlwZS51c2VzVGV4dFdpZHRoQXBwcm94aW1hdGlvbj1mdW5jdGlvbigpe3RoaXMuX3VzZXNUZXh0V2lkdGhBcHByb3hpbWF0aW9uPSEwfTt1LnByb3RvdHlwZS5faGlkZUVuZFRpY2tMYWJlbHM9ZnVuY3Rpb24oKXt2YXIgdz10aGlzLmVsZW1lbnQoKS5ub2RlKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksCkE9dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrbi5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MpO2lmKDAhPT1BLnNpemUoKSl7dmFyIHk9QS5ub2RlcygpWzBdO20uRE9NLmNsaWVudFJlY3RJbnNpZGUoeS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx3KXx8ci5zZWxlY3QoeSkuc3R5bGUoInZpc2liaWxpdHkiLCJoaWRkZW4iKTtBPUEubm9kZXMoKVtBLnNpemUoKS0xXTttLkRPTS5jbGllbnRSZWN0SW5zaWRlKEEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdyl8fHIuc2VsZWN0KEEpLnN0eWxlKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIil9fTt1LnByb3RvdHlwZS5faGlkZU92ZXJsYXBwaW5nVGlja0xhYmVscz1mdW5jdGlvbigpe2Zvcih2YXIgdz10aGlzLl90aWNrTGFiZWxDb250YWluZXIuc2VsZWN0QWxsKCIuIituLkF4aXMuVElDS19MQUJFTF9DTEFTUykuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIHg9ci5zZWxlY3QodGhpcykuc3R5bGUoInZpc2liaWxpdHkiKTtyZXR1cm4iaW5oZXJpdCI9PT0KeHx8InZpc2libGUiPT09eH0pLEE9dy5ub2RlcygpLm1hcChmdW5jdGlvbih4KXtyZXR1cm4geC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX0pLHk9MTshdGhpcy5faGFzT3ZlcmxhcFdpdGhJbnRlcnZhbCh5LEEpJiZ5PEEubGVuZ3RoOyl5Kz0xO3cuZWFjaChmdW5jdGlvbih4LEMpe3g9ci5zZWxlY3QodGhpcyk7MCE9PUMleSYmeC5zdHlsZSgidmlzaWJpbGl0eSIsImhpZGRlbiIpfSl9O3UucHJvdG90eXBlLl9oYXNPdmVybGFwV2l0aEludGVydmFsPWZ1bmN0aW9uKHcsQSl7dmFyIHk9ImNlbnRlciI9PT10aGlzLl90aWNrTGFiZWxQb3NpdGlvbmluZz90aGlzLnRpY2tMYWJlbFBhZGRpbmcoKTozKnRoaXMudGlja0xhYmVsUGFkZGluZygpO0E9QS5tYXAoZnVuY3Rpb24oQyl7cmV0dXJuIG0uRE9NLmV4cGFuZFJlY3QoQyx5KX0pO2Zvcih2YXIgeD0wO3g8QS5sZW5ndGgtdzt4Kz13KWlmKG0uRE9NLmNsaWVudFJlY3RzT3ZlcmxhcChBW3hdLEFbeCt3XSkpcmV0dXJuITE7cmV0dXJuITB9Owp1LnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGU9ZnVuY3Rpb24oKXtxLnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGUuY2FsbCh0aGlzKTt0aGlzLl9tZWFzdXJlci5yZXNldCgpfTtyZXR1cm4gdX0obi5BeGlzKTtmLk51bWVyaWM9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXB9Zm9yKHZhciBxIGluIG0pbS5oYXNPd25Qcm9wZXJ0eShxKSYmKHBbcV09bVtxXSk7cC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfTtkPWgoNDIpO3ZhciByPWgoMjUpLGw9aCgwKTtoPWZ1bmN0aW9uKHApe2Z1bmN0aW9uIG0obil7ZnVuY3Rpb24gcSgpe3gmJih4PSExLHkuX2RyYWdFbmRDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh5KSl9ZnVuY3Rpb24gdShDLEcpe3gmJih5Ll9zZXRQaXhlbFBvc2l0aW9uV2l0aG91dENoYW5naW5nTW9kZSh5Ll9pc1ZlcnRpY2FsKCk/CkcueDpHLnkpLHkuX2RyYWdDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh5KSl9ZnVuY3Rpb24gdyhDKXtBKEMpJiYoeD0hMCx5Ll9kcmFnU3RhcnRDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh5KSl9ZnVuY3Rpb24gQShDKXtyZXR1cm4geS5faXNWZXJ0aWNhbCgpJiZ5LnBpeGVsUG9zaXRpb24oKS15LmRldGVjdGlvblJhZGl1cygpPD1DLngmJkMueDw9eS5waXhlbFBvc2l0aW9uKCkreS5kZXRlY3Rpb25SYWRpdXMoKXx8IXkuX2lzVmVydGljYWwoKSYmeS5waXhlbFBvc2l0aW9uKCkteS5kZXRlY3Rpb25SYWRpdXMoKTw9Qy55JiZDLnk8PXkucGl4ZWxQb3NpdGlvbigpK3kuZGV0ZWN0aW9uUmFkaXVzKCl9dmFyIHk9cC5jYWxsKHRoaXMsbil8fHRoaXM7eS5fZGV0ZWN0aW9uUmFkaXVzPTM7eS5fZW5hYmxlZD0hMDt5LmFkZENsYXNzKCJkcmFnLWxpbmUtbGF5ZXIiKTt5LmFkZENsYXNzKCJlbmFibGVkIik7eS5fZHJhZ0ludGVyYWN0aW9uPW5ldyByLkRyYWc7eS5fZHJhZ0ludGVyYWN0aW9uLmF0dGFjaFRvKHkpOwp2YXIgeD0hMTt5Ll9kcmFnSW50ZXJhY3Rpb24ub25EcmFnU3RhcnQodyk7eS5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZyh1KTt5Ll9kcmFnSW50ZXJhY3Rpb24ub25EcmFnRW5kKHEpO3kuX2Rpc2Nvbm5lY3RJbnRlcmFjdGlvbj1mdW5jdGlvbigpe3kuX2RyYWdJbnRlcmFjdGlvbi5vZmZEcmFnU3RhcnQodyk7eS5fZHJhZ0ludGVyYWN0aW9uLm9mZkRyYWcodSk7eS5fZHJhZ0ludGVyYWN0aW9uLm9mZkRyYWdFbmQocSk7eS5fZHJhZ0ludGVyYWN0aW9uLmRldGFjaCgpfTt5Ll9kcmFnU3RhcnRDYWxsYmFja3M9bmV3IGwuQ2FsbGJhY2tTZXQ7eS5fZHJhZ0NhbGxiYWNrcz1uZXcgbC5DYWxsYmFja1NldDt5Ll9kcmFnRW5kQ2FsbGJhY2tzPW5ldyBsLkNhbGxiYWNrU2V0O3JldHVybiB5fWsobSxwKTttLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXtwLnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKTt0aGlzLl9kZXRlY3Rpb25FZGdlPXRoaXMuY29udGVudCgpLmFwcGVuZCgibGluZSIpLnN0eWxlcyh7b3BhY2l0eTowLApzdHJva2U6InBpbmsiLCJwb2ludGVyLWV2ZW50cyI6InZpc2libGVTdHJva2UifSkuY2xhc3NlZCgiZHJhZy1lZGdlIiwhMCl9O20ucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7cC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKTt0aGlzLl9kZXRlY3Rpb25FZGdlLmF0dHJzKHt4MTp0aGlzLl9pc1ZlcnRpY2FsKCk/dGhpcy5waXhlbFBvc2l0aW9uKCk6MCx5MTp0aGlzLl9pc1ZlcnRpY2FsKCk/MDp0aGlzLnBpeGVsUG9zaXRpb24oKSx4Mjp0aGlzLl9pc1ZlcnRpY2FsKCk/dGhpcy5waXhlbFBvc2l0aW9uKCk6dGhpcy53aWR0aCgpLHkyOnRoaXMuX2lzVmVydGljYWwoKT90aGlzLmhlaWdodCgpOnRoaXMucGl4ZWxQb3NpdGlvbigpLCJzdHJva2Utd2lkdGgiOjIqdGhpcy5fZGV0ZWN0aW9uUmFkaXVzfSk7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLmRldGVjdGlvblJhZGl1cz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kZXRlY3Rpb25SYWRpdXN9OwptLnByb3RvdHlwZS5lbmFibGVkPWZ1bmN0aW9uKG4pe2lmKG51bGw9PW4pcmV0dXJuIHRoaXMuX2VuYWJsZWQ7KHRoaXMuX2VuYWJsZWQ9bik/dGhpcy5hZGRDbGFzcygiZW5hYmxlZCIpOnRoaXMucmVtb3ZlQ2xhc3MoImVuYWJsZWQiKTt0aGlzLl9kcmFnSW50ZXJhY3Rpb24uZW5hYmxlZChuKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUub25EcmFnU3RhcnQ9ZnVuY3Rpb24obil7dGhpcy5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmFkZChuKX07bS5wcm90b3R5cGUub2ZmRHJhZ1N0YXJ0PWZ1bmN0aW9uKG4pe3RoaXMuX2RyYWdTdGFydENhbGxiYWNrcy5kZWxldGUobil9O20ucHJvdG90eXBlLm9uRHJhZz1mdW5jdGlvbihuKXt0aGlzLl9kcmFnQ2FsbGJhY2tzLmFkZChuKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUub2ZmRHJhZz1mdW5jdGlvbihuKXt0aGlzLl9kcmFnQ2FsbGJhY2tzLmRlbGV0ZShuKX07bS5wcm90b3R5cGUub25EcmFnRW5kPWZ1bmN0aW9uKG4pe3RoaXMuX2RyYWdFbmRDYWxsYmFja3MuYWRkKG4pfTsKbS5wcm90b3R5cGUub2ZmRHJhZ0VuZD1mdW5jdGlvbihuKXt0aGlzLl9kcmFnRW5kQ2FsbGJhY2tzLmRlbGV0ZShuKX07bS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciBuPXRoaXM7cC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpO3RoaXMuX2RyYWdTdGFydENhbGxiYWNrcy5mb3JFYWNoKGZ1bmN0aW9uKHEpe3JldHVybiBuLl9kcmFnU3RhcnRDYWxsYmFja3MuZGVsZXRlKHEpfSk7dGhpcy5fZHJhZ0NhbGxiYWNrcy5mb3JFYWNoKGZ1bmN0aW9uKHEpe3JldHVybiBuLl9kcmFnQ2FsbGJhY2tzLmRlbGV0ZShxKX0pO3RoaXMuX2RyYWdFbmRDYWxsYmFja3MuZm9yRWFjaChmdW5jdGlvbihxKXtyZXR1cm4gbi5fZHJhZ0VuZENhbGxiYWNrcy5kZWxldGUocSl9KTt0aGlzLl9kaXNjb25uZWN0SW50ZXJhY3Rpb24oKX07cmV0dXJuIG19KGQuR3VpZGVMaW5lTGF5ZXIpO2YuRHJhZ0xpbmVMYXllcj1ofSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhsLHAsbSl7dmFyIG49Cnt9O2lmKHZvaWQgMCE9PW0pZm9yKHZhciBxPTA7cTxtLmxlbmd0aDtxKyspblttW3FdXT1tW3EtMV07cmV0dXJuIGZ1bmN0aW9uKHUpe3ZhciB3PWwuc2NhbGUodSk7aWYoIXApcmV0dXJuIHc7dmFyIEE7dT12b2lkIDA9PT1uW3VdP3ZvaWQgMDpsLnNjYWxlKG5bdV0pO3ZvaWQgMCE9PXUmJihBPXUrKHctdSkvMik7cmV0dXJuIEF9fXZhciByPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihsLHApe2Z1bmN0aW9uIG0oKXt0aGlzLmNvbnN0cnVjdG9yPWx9Zm9yKHZhciBuIGluIHApcC5oYXNPd25Qcm9wZXJ0eShuKSYmKGxbbl09cFtuXSk7bC5wcm90b3R5cGU9bnVsbD09PXA/T2JqZWN0LmNyZWF0ZShwKToobS5wcm90b3R5cGU9cC5wcm90b3R5cGUsbmV3IG0pfTtkPWZ1bmN0aW9uKGwpe2Z1bmN0aW9uIHAobSxuKXt2YXIgcT1sLmNhbGwodGhpcyl8fHRoaXM7cS5hZGRDbGFzcygiZ3JpZGxpbmVzIik7cS5feFNjYWxlPW07cS5feVNjYWxlPW47cS5fcmVuZGVyQ2FsbGJhY2s9CmZ1bmN0aW9uKCl7cmV0dXJuIHEucmVuZGVyKCl9O2lmKHEuX3hTY2FsZSlxLl94U2NhbGUub25VcGRhdGUocS5fcmVuZGVyQ2FsbGJhY2spO2lmKHEuX3lTY2FsZSlxLl95U2NhbGUub25VcGRhdGUocS5fcmVuZGVyQ2FsbGJhY2spO3JldHVybiBxfXIocCxsKTtwLnByb3RvdHlwZS5iZXR3ZWVuWD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9iZXR3ZWVuWH07cC5wcm90b3R5cGUuYmV0d2Vlblk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmV0d2Vlbll9O3AucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtsLnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyk7dGhpcy5feFNjYWxlJiZ0aGlzLl94U2NhbGUub2ZmVXBkYXRlKHRoaXMuX3JlbmRlckNhbGxiYWNrKTt0aGlzLl95U2NhbGUmJnRoaXMuX3lTY2FsZS5vZmZVcGRhdGUodGhpcy5fcmVuZGVyQ2FsbGJhY2spO3JldHVybiB0aGlzfTtwLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXtsLnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKTsKdGhpcy5feExpbmVzQ29udGFpbmVyPXRoaXMuY29udGVudCgpLmFwcGVuZCgiZyIpLmNsYXNzZWQoIngtZ3JpZGxpbmVzIiwhMCk7dGhpcy5feUxpbmVzQ29udGFpbmVyPXRoaXMuY29udGVudCgpLmFwcGVuZCgiZyIpLmNsYXNzZWQoInktZ3JpZGxpbmVzIiwhMCl9O3AucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7bC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKTt0aGlzLl9yZWRyYXdYTGluZXMoKTt0aGlzLl9yZWRyYXdZTGluZXMoKTtyZXR1cm4gdGhpc307cC5wcm90b3R5cGUuY29tcHV0ZUxheW91dD1mdW5jdGlvbihtLG4scSl7bC5wcm90b3R5cGUuY29tcHV0ZUxheW91dC5jYWxsKHRoaXMsbSxuLHEpO251bGwhPXRoaXMuX3hTY2FsZSYmdGhpcy5feFNjYWxlLnJhbmdlKFswLHRoaXMud2lkdGgoKV0pO251bGwhPXRoaXMuX3lTY2FsZSYmdGhpcy5feVNjYWxlLnJhbmdlKFt0aGlzLmhlaWdodCgpLDBdKTtyZXR1cm4gdGhpc307CnAucHJvdG90eXBlLl9yZWRyYXdYTGluZXM9ZnVuY3Rpb24oKXtpZih0aGlzLl94U2NhbGUpe3ZhciBtPXRoaXMuYmV0d2VlblgoKSxuPXRoaXMuX3hTY2FsZS50aWNrcygpLnNsaWNlKG0/MTowKTtuPXRoaXMuX3hMaW5lc0NvbnRhaW5lci5zZWxlY3RBbGwoImxpbmUiKS5kYXRhKG4pO24uZW50ZXIoKS5hcHBlbmQoImxpbmUiKS5tZXJnZShuKS5hdHRyKCJ4MSIsayh0aGlzLl94U2NhbGUsbSx0aGlzLl94U2NhbGUudGlja3MoKSkpLmF0dHIoInkxIiwwKS5hdHRyKCJ4MiIsayh0aGlzLl94U2NhbGUsbSx0aGlzLl94U2NhbGUudGlja3MoKSkpLmF0dHIoInkyIix0aGlzLmhlaWdodCgpKS5jbGFzc2VkKCJiZXR3ZWVubGluZSIsbSkuY2xhc3NlZCgiemVyb2xpbmUiLGZ1bmN0aW9uKHEpe3JldHVybiAwPT09cX0pO24uZXhpdCgpLnJlbW92ZSgpfX07cC5wcm90b3R5cGUuX3JlZHJhd1lMaW5lcz1mdW5jdGlvbigpe2lmKHRoaXMuX3lTY2FsZSl7dmFyIG09dGhpcy5iZXR3ZWVuWSgpLApuPXRoaXMuX3lTY2FsZS50aWNrcygpLnNsaWNlKG0/MTowKTtuPXRoaXMuX3lMaW5lc0NvbnRhaW5lci5zZWxlY3RBbGwoImxpbmUiKS5kYXRhKG4pO24uZW50ZXIoKS5hcHBlbmQoImxpbmUiKS5tZXJnZShuKS5hdHRyKCJ4MSIsMCkuYXR0cigieTEiLGsodGhpcy5feVNjYWxlLG0sdGhpcy5feVNjYWxlLnRpY2tzKCkpKS5hdHRyKCJ4MiIsdGhpcy53aWR0aCgpKS5hdHRyKCJ5MiIsayh0aGlzLl95U2NhbGUsbSx0aGlzLl95U2NhbGUudGlja3MoKSkpLmNsYXNzZWQoImJldHdlZW5saW5lIixtKS5jbGFzc2VkKCJ6ZXJvbGluZSIsZnVuY3Rpb24ocSl7cmV0dXJuIDA9PT1xfSk7bi5leGl0KCkucmVtb3ZlKCl9fTtyZXR1cm4gcH0oaCg0KS5Db21wb25lbnQpO2YuR3JpZGxpbmVzPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24obixxKXtmdW5jdGlvbiB1KCl7dGhpcy5jb25zdHJ1Y3Rvcj1ufWZvcih2YXIgdyBpbiBxKXEuaGFzT3duUHJvcGVydHkodykmJgooblt3XT1xW3ddKTtuLnByb3RvdHlwZT1udWxsPT09cT9PYmplY3QuY3JlYXRlKHEpOih1LnByb3RvdHlwZT1xLnByb3RvdHlwZSxuZXcgdSl9LHI9aCg1KSxsPWgoMjMpLHA9aCg4KSxtPWgoMCk7ZD1mdW5jdGlvbihuKXtmdW5jdGlvbiBxKHUpe3ZhciB3PW4uY2FsbCh0aGlzKXx8dGhpczt3Ll90ZXh0UGFkZGluZz01O2lmKG51bGw9PXUpdGhyb3cgRXJyb3IoIkludGVycG9sYXRlZENvbG9yTGVnZW5kIHJlcXVpcmVzIGEgaW50ZXJwb2xhdGVkQ29sb3JTY2FsZSIpO3cuX3NjYWxlPXU7dy5fcmVkcmF3Q2FsbGJhY2s9ZnVuY3Rpb24oKXtyZXR1cm4gdy5yZWRyYXcoKX07dy5fc2NhbGUub25VcGRhdGUody5fcmVkcmF3Q2FsbGJhY2spO3cuX2Zvcm1hdHRlcj1wLmdlbmVyYWwoKTt3Ll9vcmllbnRhdGlvbj0iaG9yaXpvbnRhbCI7dy5fZXhwYW5kcz0hMTt3LmFkZENsYXNzKCJsZWdlbmQiKTt3LmFkZENsYXNzKCJpbnRlcnBvbGF0ZWQtY29sb3ItbGVnZW5kIik7cmV0dXJuIHd9ayhxLApuKTtxLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7bi5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpO3RoaXMuX3NjYWxlLm9mZlVwZGF0ZSh0aGlzLl9yZWRyYXdDYWxsYmFjayl9O3EucHJvdG90eXBlLmZvcm1hdHRlcj1mdW5jdGlvbih1KXtpZih2b2lkIDA9PT11KXJldHVybiB0aGlzLl9mb3JtYXR0ZXI7dGhpcy5fZm9ybWF0dGVyPXU7dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307cS5wcm90b3R5cGUuZXhwYW5kcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9leHBhbmRzfTtxLl9lbnN1cmVPcmllbnRhdGlvbj1mdW5jdGlvbih1KXt1PXUudG9Mb3dlckNhc2UoKTtpZigiaG9yaXpvbnRhbCI9PT11fHwibGVmdCI9PT11fHwicmlnaHQiPT09dSlyZXR1cm4gdTt0aHJvdyBFcnJvcignIicrdSsnIiBpcyBub3QgYSB2YWxpZCBvcmllbnRhdGlvbiBmb3IgSW50ZXJwb2xhdGVkQ29sb3JMZWdlbmQnKTt9O3EucHJvdG90eXBlLm9yaWVudGF0aW9uPWZ1bmN0aW9uKHUpe2lmKG51bGw9PQp1KXJldHVybiB0aGlzLl9vcmllbnRhdGlvbjt0aGlzLl9vcmllbnRhdGlvbj1xLl9lbnN1cmVPcmllbnRhdGlvbih1KTt0aGlzLnJlZHJhdygpO3JldHVybiB0aGlzfTtxLnByb3RvdHlwZS5maXhlZFdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuZXhwYW5kcygpfHx0aGlzLl9pc1ZlcnRpY2FsKCl9O3EucHJvdG90eXBlLmZpeGVkSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuZXhwYW5kcygpfHwhdGhpcy5faXNWZXJ0aWNhbCgpfTtxLnByb3RvdHlwZS5fZ2VuZXJhdGVUaWNrcz1mdW5jdGlvbih1KXt2b2lkIDA9PT11JiYodT1xLl9ERUZBVUxUX05VTV9TV0FUQ0hFUyk7dmFyIHc9dGhpcy5fc2NhbGUuZG9tYWluKCk7aWYoMT09PXUpcmV0dXJuW3dbMF1dO2Zvcih2YXIgQT0od1sxXS13WzBdKS8odS0xKSx5PVtdLHg9MDt4PHU7eCsrKXkucHVzaCh3WzBdK0EqeCk7cmV0dXJuIHl9O3EucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe24ucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpOwp0aGlzLl9zd2F0Y2hDb250YWluZXI9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZCgic3dhdGNoLWNvbnRhaW5lciIsITApO3RoaXMuX3N3YXRjaEJvdW5kaW5nQm94PXRoaXMuY29udGVudCgpLmFwcGVuZCgicmVjdCIpLmNsYXNzZWQoInN3YXRjaC1ib3VuZGluZy1ib3giLCEwKTt0aGlzLl9sb3dlckxhYmVsPXRoaXMuY29udGVudCgpLmFwcGVuZCgiZyIpLmNsYXNzZWQocS5MRUdFTkRfTEFCRUxfQ0xBU1MsITApO3RoaXMuX3VwcGVyTGFiZWw9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZChxLkxFR0VORF9MQUJFTF9DTEFTUywhMCk7dmFyIHU9bmV3IHIuU3ZnQ29udGV4dCh0aGlzLmNvbnRlbnQoKS5ub2RlKCkpO3RoaXMuX21lYXN1cmVyPW5ldyByLk1lYXN1cmVyKHUpO3RoaXMuX3dyYXBwZXI9bmV3IHIuV3JhcHBlcjt0aGlzLl93cml0ZXI9bmV3IHIuV3JpdGVyKHRoaXMuX21lYXN1cmVyLHUsdGhpcy5fd3JhcHBlcil9O3EucHJvdG90eXBlLnJlcXVlc3RlZFNwYWNlPQpmdW5jdGlvbigpe3ZhciB1PXRoaXMsdz10aGlzLl9tZWFzdXJlci5tZWFzdXJlKCkuaGVpZ2h0LEE9dGhpcy5fc2NhbGUuZG9tYWluKCkubWFwKGZ1bmN0aW9uKEMpe3JldHVybiB1Ll9tZWFzdXJlci5tZWFzdXJlKHUuX2Zvcm1hdHRlcihDKSkud2lkdGh9KSx5PXEuX0RFRkFVTFRfTlVNX1NXQVRDSEVTO2lmKHRoaXMuX2lzVmVydGljYWwoKSl7dmFyIHg9bS5NYXRoLm1heChBLDApO0E9dyt3K3RoaXMuX3RleHRQYWRkaW5nK3grdGhpcy5fdGV4dFBhZGRpbmc7eD15Knd9ZWxzZSB4PXcrdyt3LEE9dGhpcy5fdGV4dFBhZGRpbmcrQVswXSt5KncrQVsxXSt0aGlzLl90ZXh0UGFkZGluZztyZXR1cm57bWluV2lkdGg6QSxtaW5IZWlnaHQ6eH19O3EucHJvdG90eXBlLl9pc1ZlcnRpY2FsPWZ1bmN0aW9uKCl7cmV0dXJuImhvcml6b250YWwiIT09dGhpcy5fb3JpZW50YXRpb259O3EucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7dmFyIHU9dGhpcztuLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseS5jYWxsKHRoaXMpOwp2YXIgdz10aGlzLl9zY2FsZS5kb21haW4oKSxBPXRoaXMuX2Zvcm1hdHRlcih3WzBdKSx5PXRoaXMuX21lYXN1cmVyLm1lYXN1cmUoQSkud2lkdGgseD10aGlzLl9mb3JtYXR0ZXIod1sxXSk7dz10aGlzLl9tZWFzdXJlci5tZWFzdXJlKHgpLndpZHRoO3ZhciBDPXRoaXMuX21lYXN1cmVyLm1lYXN1cmUoKS5oZWlnaHQsRz10aGlzLl90ZXh0UGFkZGluZyxEPTAsQj0wLEg9MCxLPTAsTD17eEFsaWduOiJjZW50ZXIiLHlBbGlnbjoiY2VudGVyIix0ZXh0Um90YXRpb246MH0sSj17eEFsaWduOiJjZW50ZXIiLHlBbGlnbjoiY2VudGVyIix0ZXh0Um90YXRpb246MH0sTz17eDowLHk6MCx3aWR0aDowLGhlaWdodDowfTtpZih0aGlzLl9pc1ZlcnRpY2FsKCkpe3ZhciBTPU1hdGguZmxvb3IodGhpcy5oZWlnaHQoKSk7dmFyIE49TWF0aC5tYXgoeSx3KTt2YXIgUj0odGhpcy53aWR0aCgpLU4tMip0aGlzLl90ZXh0UGFkZGluZykvMjt3PU1hdGgubWF4KHRoaXMud2lkdGgoKS1SLTIqRy1OLDApOwpDPTE7dmFyIFg9ZnVuY3Rpb24oZmEsb2Epe3JldHVybiB1LmhlaWdodCgpLShvYSsxKX07Si55QWxpZ249InRvcCI7Qj0wO0wueUFsaWduPSJib3R0b20iO0s9MDtpZigibGVmdCI9PT10aGlzLl9vcmllbnRhdGlvbil7dmFyIGFhPWZ1bmN0aW9uKCl7cmV0dXJuIEcrTitHfTtKLnhBbGlnbj0icmlnaHQiO0Q9LShSK3crRyk7TC54QWxpZ249InJpZ2h0IjtIPS0oUit3K0cpfWVsc2UgYWE9ZnVuY3Rpb24oKXtyZXR1cm4gUn0sSi54QWxpZ249ImxlZnQiLEQ9Uit3K0csTC54QWxpZ249ImxlZnQiLEg9Uit3K0c7Ty53aWR0aD13O08uaGVpZ2h0PVMqQ31lbHNlIFI9TWF0aC5tYXgoRywodGhpcy5oZWlnaHQoKS1DKS8yKSxTPU1hdGgubWF4KE1hdGguZmxvb3IodGhpcy53aWR0aCgpLTQqRy15LXcpLDApLHc9MSxDPU1hdGgubWF4KHRoaXMuaGVpZ2h0KCktMipSLDApLGFhPWZ1bmN0aW9uKGZhLG9hKXtyZXR1cm4gTWF0aC5mbG9vcih5KzIqRykrb2F9LFg9ZnVuY3Rpb24oKXtyZXR1cm4gUn0sCkoueEFsaWduPSJyaWdodCIsRD0tRyxMLnhBbGlnbj0ibGVmdCIsSD1HLE8ueT1SLE8ud2lkdGg9Uyp3LE8uaGVpZ2h0PUM7Ty54PWFhKG51bGwsMCk7dGhpcy5fdXBwZXJMYWJlbC50ZXh0KCIiKTt0aGlzLl93cml0ZXIud3JpdGUoeCx0aGlzLndpZHRoKCksdGhpcy5oZWlnaHQoKSxKLHRoaXMuX3VwcGVyTGFiZWwubm9kZSgpKTt0aGlzLl91cHBlckxhYmVsLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK0QrIiwgIitCKyIpIik7dGhpcy5fbG93ZXJMYWJlbC50ZXh0KCIiKTt0aGlzLl93cml0ZXIud3JpdGUoQSx0aGlzLndpZHRoKCksdGhpcy5oZWlnaHQoKSxMLHRoaXMuX2xvd2VyTGFiZWwubm9kZSgpKTt0aGlzLl9sb3dlckxhYmVsLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK0grIiwgIitLKyIpIik7dGhpcy5fc3dhdGNoQm91bmRpbmdCb3guYXR0cnMoTyk7QT10aGlzLl9nZW5lcmF0ZVRpY2tzKFMpO0E9dGhpcy5fc3dhdGNoQ29udGFpbmVyLnNlbGVjdEFsbCgicmVjdC5zd2F0Y2giKS5kYXRhKEEpOwp4PUEuZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5jbGFzc2VkKCJzd2F0Y2giLCEwKTtEPUEubWVyZ2UoeCk7QS5leGl0KCkucmVtb3ZlKCk7RC5hdHRycyh7ZmlsbDpmdW5jdGlvbihmYSl7cmV0dXJuIHUuX3NjYWxlLnNjYWxlKGZhKX0sd2lkdGg6dyxoZWlnaHQ6Qyx4OmFhLHk6WCwic2hhcGUtcmVuZGVyaW5nIjoiY3Jpc3BFZGdlcyJ9KTtsLkFERF9USVRMRV9FTEVNRU5UUyYmeC5hcHBlbmQoInRpdGxlIikudGV4dChmdW5jdGlvbihmYSl7cmV0dXJuIHUuX2Zvcm1hdHRlcihmYSl9KTtyZXR1cm4gdGhpc307cmV0dXJuIHF9KGgoNCkuQ29tcG9uZW50KTtkLl9ERUZBVUxUX05VTV9TV0FUQ0hFUz0xMTtkLkxFR0VORF9MQUJFTF9DTEFTUz0ibGVnZW5kLWxhYmVsIjtmLkludGVycG9sYXRlZENvbG9yTGVnZW5kPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24obCxwKXtmdW5jdGlvbiBtKCl7dGhpcy5jb25zdHJ1Y3Rvcj1sfWZvcih2YXIgbiBpbiBwKXAuaGFzT3duUHJvcGVydHkobikmJgoobFtuXT1wW25dKTtsLnByb3RvdHlwZT1udWxsPT09cD9PYmplY3QuY3JlYXRlKHApOihtLnByb3RvdHlwZT1wLnByb3RvdHlwZSxuZXcgbSl9LHI9aCg1KTtkPWZ1bmN0aW9uKGwpe2Z1bmN0aW9uIHAobSxuKXt2b2lkIDA9PT1tJiYobT0iIik7dm9pZCAwPT09biYmKG49MCk7dmFyIHE9bC5jYWxsKHRoaXMpfHx0aGlzO3EuYWRkQ2xhc3MoImxhYmVsIik7cS50ZXh0KG0pO3EuYW5nbGUobik7cS54QWxpZ25tZW50KCJjZW50ZXIiKS55QWxpZ25tZW50KCJjZW50ZXIiKTtxLl9wYWRkaW5nPTA7cmV0dXJuIHF9ayhwLGwpO3AucHJvdG90eXBlLnJlcXVlc3RlZFNwYWNlPWZ1bmN0aW9uKCl7dmFyIG09dGhpcy5fbWVhc3VyZXIubWVhc3VyZSh0aGlzLl90ZXh0KSxuPSgwPT09dGhpcy5hbmdsZSgpP20ud2lkdGg6bS5oZWlnaHQpKzIqdGhpcy5wYWRkaW5nKCk7bT0oMD09PXRoaXMuYW5nbGUoKT9tLmhlaWdodDptLndpZHRoKSsyKnRoaXMucGFkZGluZygpO3JldHVybnttaW5XaWR0aDpuLAptaW5IZWlnaHQ6bX19O3AucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe2wucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpO3RoaXMuX3RleHRDb250YWluZXI9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIik7dmFyIG09bmV3IHIuU3ZnQ29udGV4dCh0aGlzLl90ZXh0Q29udGFpbmVyLm5vZGUoKSk7dGhpcy5fbWVhc3VyZXI9bmV3IHIuQ2FjaGVNZWFzdXJlcihtKTt0aGlzLl93cmFwcGVyPW5ldyByLldyYXBwZXI7dGhpcy5fd3JpdGVyPW5ldyByLldyaXRlcih0aGlzLl9tZWFzdXJlcixtLHRoaXMuX3dyYXBwZXIpO3RoaXMudGV4dCh0aGlzLl90ZXh0KX07cC5wcm90b3R5cGUudGV4dD1mdW5jdGlvbihtKXtpZihudWxsPT1tKXJldHVybiB0aGlzLl90ZXh0O2lmKCJzdHJpbmciIT09dHlwZW9mIG0pdGhyb3cgRXJyb3IoIkxhYmVsLnRleHQoKSBvbmx5IHRha2VzIHN0cmluZ3MgYXMgaW5wdXQiKTt0aGlzLl90ZXh0PW07dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307cC5wcm90b3R5cGUuYW5nbGU9CmZ1bmN0aW9uKG0pe2lmKG51bGw9PW0pcmV0dXJuIHRoaXMuX2FuZ2xlO20lPTM2MDsxODA8bT9tLT0zNjA6LTE4MD5tJiYobSs9MzYwKTtpZigtOTA9PT1tfHwwPT09bXx8OTA9PT1tKXRoaXMuX2FuZ2xlPW07ZWxzZSB0aHJvdyBFcnJvcihtKyIgaXMgbm90IGEgdmFsaWQgYW5nbGUgZm9yIExhYmVsIik7dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307cC5wcm90b3R5cGUucGFkZGluZz1mdW5jdGlvbihtKXtpZihudWxsPT1tKXJldHVybiB0aGlzLl9wYWRkaW5nO209K207aWYoMD5tKXRocm93IEVycm9yKG0rIiBpcyBub3QgYSB2YWxpZCBwYWRkaW5nIHZhbHVlLiBDYW5ub3QgYmUgbGVzcyB0aGFuIDAuIik7dGhpcy5fcGFkZGluZz1tO3RoaXMucmVkcmF3KCk7cmV0dXJuIHRoaXN9O3AucHJvdG90eXBlLmZpeGVkV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4hMH07cC5wcm90b3R5cGUuZml4ZWRIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4hMH07cC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9CmZ1bmN0aW9uKCl7bC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKTt0aGlzLl90ZXh0Q29udGFpbmVyLnNlbGVjdEFsbCgiZyIpLnJlbW92ZSgpO3ZhciBtPXRoaXMuX21lYXN1cmVyLm1lYXN1cmUodGhpcy5fdGV4dCksbj1NYXRoLm1heChNYXRoLm1pbigodGhpcy5oZWlnaHQoKS1tLmhlaWdodCkvMix0aGlzLnBhZGRpbmcoKSksMCk7bT1NYXRoLm1heChNYXRoLm1pbigodGhpcy53aWR0aCgpLW0ud2lkdGgpLzIsdGhpcy5wYWRkaW5nKCkpLDApO3RoaXMuX3RleHRDb250YWluZXIuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrbSsiLCIrbisiKSIpO209dGhpcy53aWR0aCgpLTIqbTtuPXRoaXMuaGVpZ2h0KCktMipuO3ZhciBxPXt4QWxpZ246dGhpcy54QWxpZ25tZW50KCkseUFsaWduOnRoaXMueUFsaWdubWVudCgpLHRleHRSb3RhdGlvbjp0aGlzLmFuZ2xlKCl9O3RoaXMuX3dyaXRlci53cml0ZSh0aGlzLl90ZXh0LG0sbixxKTtyZXR1cm4gdGhpc307CnAucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZT1mdW5jdGlvbigpe2wucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZS5jYWxsKHRoaXMpO3RoaXMuX21lYXN1cmVyLnJlc2V0KCl9O3JldHVybiBwfShoKDQpLkNvbXBvbmVudCk7Zi5MYWJlbD1kO2g9ZnVuY3Rpb24obCl7ZnVuY3Rpb24gcChtLG4pe209bC5jYWxsKHRoaXMsbSxuKXx8dGhpczttLmFkZENsYXNzKHAuVElUTEVfTEFCRUxfQ0xBU1MpO3JldHVybiBtfWsocCxsKTtyZXR1cm4gcH0oZCk7aC5USVRMRV9MQUJFTF9DTEFTUz0idGl0bGUtbGFiZWwiO2YuVGl0bGVMYWJlbD1oO2Q9ZnVuY3Rpb24obCl7ZnVuY3Rpb24gcChtLG4pe209bC5jYWxsKHRoaXMsbSxuKXx8dGhpczttLmFkZENsYXNzKHAuQVhJU19MQUJFTF9DTEFTUyk7cmV0dXJuIG19ayhwLGwpO3JldHVybiBwfShkKTtkLkFYSVNfTEFCRUxfQ0xBU1M9ImF4aXMtbGFiZWwiO2YuQXhpc0xhYmVsPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8CmZ1bmN0aW9uKEEseSl7ZnVuY3Rpb24geCgpe3RoaXMuY29uc3RydWN0b3I9QX1mb3IodmFyIEMgaW4geSl5Lmhhc093blByb3BlcnR5KEMpJiYoQVtDXT15W0NdKTtBLnByb3RvdHlwZT1udWxsPT09eT9PYmplY3QuY3JlYXRlKHkpOih4LnByb3RvdHlwZT15LnByb3RvdHlwZSxuZXcgeCl9LHI9aCgxKSxsPWgoNSkscD1oKDIzKSxtPWgoOCksbj1oKDMxKSxxPWgoMCk7ZD1oKDQpO3ZhciB1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQSh5LHgsQyl7dm9pZCAwPT09eSYmKHk9W10pO3ZvaWQgMD09PXgmJih4PTApO3ZvaWQgMD09PUMmJihDPUluZmluaXR5KTt0aGlzLmNvbHVtbnM9eTt0aGlzLmJvdHRvbVBhZGRpbmc9eDt0aGlzLm1heFdpZHRoPUN9QS5wcm90b3R5cGUuYWRkQ29sdW1uPWZ1bmN0aW9uKHkpe3ZhciB4PXkud2lkdGgsQz10aGlzLmdldFdpZHRoQXZhaWxhYmxlKCk7eS53aWR0aD1NYXRoLm1pbihDLHgpO3RoaXMuY29sdW1ucy5wdXNoKHkpfTtBLnByb3RvdHlwZS5nZXRCb3VuZHM9CmZ1bmN0aW9uKHkpe2Zvcih2YXIgeD10aGlzLmNvbHVtbnNbeV0sQz0wLEc9MDtHPHk7RysrKUMrPXRoaXMuY29sdW1uc1tHXS53aWR0aDtyZXR1cm57dG9wTGVmdDp7eDpDLHk6MH0sYm90dG9tUmlnaHQ6e3g6Qyt4LndpZHRoLHk6eC5oZWlnaHR9fX07QS5wcm90b3R5cGUuZ2V0SGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHEuTWF0aC5tYXgodGhpcy5jb2x1bW5zLm1hcChmdW5jdGlvbih5KXtyZXR1cm4geS5oZWlnaHR9KSwwKSt0aGlzLmJvdHRvbVBhZGRpbmd9O0EucHJvdG90eXBlLmdldFdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgubWluKHRoaXMuY29sdW1ucy5yZWR1Y2UoZnVuY3Rpb24oeSx4KXtyZXR1cm4geSt4LndpZHRofSwwKSx0aGlzLm1heFdpZHRoKX07QS5wcm90b3R5cGUuZ2V0V2lkdGhBdmFpbGFibGU9ZnVuY3Rpb24oKXt2YXIgeT10aGlzLmdldFdpZHRoKCk7cmV0dXJuIE1hdGgubWF4KHRoaXMubWF4V2lkdGgteSwwKX07cmV0dXJuIEF9KCksdz1mdW5jdGlvbigpe2Z1bmN0aW9uIEEoeSwKeCxDLEcpe3ZvaWQgMD09PXkmJih5PUluZmluaXR5KTt2b2lkIDA9PT14JiYoeD1JbmZpbml0eSk7dm9pZCAwPT09QyYmKEM9MCk7dm9pZCAwPT09RyYmKEc9W10pO3RoaXMubWF4V2lkdGg9eTt0aGlzLm1heEhlaWdodD14O3RoaXMucGFkZGluZz1DO3RoaXMucm93cz1HfUEucHJvdG90eXBlLmFkZFJvdz1mdW5jdGlvbih5KXt5Lm1heFdpZHRoPXRoaXMubWF4V2lkdGgtMip0aGlzLnBhZGRpbmc7dGhpcy5yb3dzLnB1c2goeSl9O0EucHJvdG90eXBlLmdldENvbHVtbkJvdW5kcz1mdW5jdGlvbih5LHgpe3ZhciBDPXRoaXMuZ2V0Um93Qm91bmRzKHkpO3k9dGhpcy5yb3dzW3ldLmdldEJvdW5kcyh4KTt5LnRvcExlZnQueCs9Qy50b3BMZWZ0Lng7eS5ib3R0b21SaWdodC54Kz1DLnRvcExlZnQueDt5LnRvcExlZnQueSs9Qy50b3BMZWZ0Lnk7eS5ib3R0b21SaWdodC55Kz1DLnRvcExlZnQueTtyZXR1cm4geX07QS5wcm90b3R5cGUuZ2V0Um93Qm91bmRzPWZ1bmN0aW9uKHkpe2Zvcih2YXIgeD0KdGhpcy5wYWRkaW5nLEM9dGhpcy5wYWRkaW5nLEc9MDtHPHk7RysrKUMrPXRoaXMucm93c1tHXS5nZXRIZWlnaHQoKTtyZXR1cm57dG9wTGVmdDp7eCx5OkN9LGJvdHRvbVJpZ2h0Ont4OngrdGhpcy5yb3dzW3ldLmdldFdpZHRoKCkseTpDK3RoaXMucm93c1t5XS5nZXRIZWlnaHQoKX19fTtBLnByb3RvdHlwZS5nZXRIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5taW4odGhpcy5yb3dzLnJlZHVjZShmdW5jdGlvbih5LHgpe3JldHVybiB5K3guZ2V0SGVpZ2h0KCl9LDApKzIqdGhpcy5wYWRkaW5nLHRoaXMubWF4SGVpZ2h0KX07QS5wcm90b3R5cGUuZ2V0V2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5taW4ocS5NYXRoLm1heCh0aGlzLnJvd3MubWFwKGZ1bmN0aW9uKHkpe3JldHVybiB5LmdldFdpZHRoKCl9KSwwKSsyKnRoaXMucGFkZGluZyx0aGlzLm1heFdpZHRoKX07cmV0dXJuIEF9KCk7ZD1mdW5jdGlvbihBKXtmdW5jdGlvbiB5KHgpe3ZhciBDPUEuY2FsbCh0aGlzKXx8CnRoaXM7Qy5fcGFkZGluZz01O0MuX3Jvd0JvdHRvbVBhZGRpbmc9MztDLmFkZENsYXNzKCJsZWdlbmQiKTtDLm1heEVudHJpZXNQZXJSb3coMSk7aWYobnVsbD09eCl0aHJvdyBFcnJvcigiTGVnZW5kIHJlcXVpcmVzIGEgY29sb3JTY2FsZSIpO0MuX2NvbG9yU2NhbGU9eDtDLl9yZWRyYXdDYWxsYmFjaz1mdW5jdGlvbigpe3JldHVybiBDLnJlZHJhdygpfTtDLl9jb2xvclNjYWxlLm9uVXBkYXRlKEMuX3JlZHJhd0NhbGxiYWNrKTtDLl9mb3JtYXR0ZXI9bS5pZGVudGl0eSgpO0MubWF4TGluZXNQZXJFbnRyeSgxKTtDLnhBbGlnbm1lbnQoInJpZ2h0IikueUFsaWdubWVudCgidG9wIik7Qy5jb21wYXJhdG9yKGZ1bmN0aW9uKEcsRCl7dmFyIEI9Qy5fY29sb3JTY2FsZS5kb21haW4oKS5zbGljZSgpLm1hcChmdW5jdGlvbihIKXtyZXR1cm4gQy5fZm9ybWF0dGVyKEgpfSk7cmV0dXJuIEIuaW5kZXhPZihHKS1CLmluZGV4T2YoRCl9KTtDLl9zeW1ib2xGYWN0b3J5QWNjZXNzb3I9ZnVuY3Rpb24oKXtyZXR1cm4gbi5jaXJjbGUoKX07CkMuX3N5bWJvbE9wYWNpdHlBY2Nlc3Nvcj1mdW5jdGlvbigpe3JldHVybiAxfTtyZXR1cm4gQ31rKHksQSk7eS5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7QS5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyk7dmFyIHg9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZCh5LkxFR0VORF9ST1dfQ0xBU1MsITApO3guYXBwZW5kKCJnIikuY2xhc3NlZCh5LkxFR0VORF9FTlRSWV9DTEFTUywhMCkuYXBwZW5kKCJ0ZXh0Iik7eD1uZXcgbC5TdmdDb250ZXh0KHgubm9kZSgpLG51bGwscC5BRERfVElUTEVfRUxFTUVOVFMpO3RoaXMuX21lYXN1cmVyPW5ldyBsLkNhY2hlTWVhc3VyZXIoeCk7dGhpcy5fd3JhcHBlcj0obmV3IGwuV3JhcHBlcikubWF4TGluZXModGhpcy5tYXhMaW5lc1BlckVudHJ5KCkpO3RoaXMuX3dyaXRlcj1uZXcgbC5Xcml0ZXIodGhpcy5fbWVhc3VyZXIseCx0aGlzLl93cmFwcGVyKX07eS5wcm90b3R5cGUuZm9ybWF0dGVyPWZ1bmN0aW9uKHgpe2lmKG51bGw9PQp4KXJldHVybiB0aGlzLl9mb3JtYXR0ZXI7dGhpcy5fZm9ybWF0dGVyPXg7dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307eS5wcm90b3R5cGUubWF4RW50cmllc1BlclJvdz1mdW5jdGlvbih4KXtpZihudWxsPT14KXJldHVybiB0aGlzLl9tYXhFbnRyaWVzUGVyUm93O3RoaXMuX21heEVudHJpZXNQZXJSb3c9eDt0aGlzLnJlZHJhdygpO3JldHVybiB0aGlzfTt5LnByb3RvdHlwZS5tYXhMaW5lc1BlckVudHJ5PWZ1bmN0aW9uKHgpe2lmKG51bGw9PXgpcmV0dXJuIHRoaXMuX21heExpbmVzUGVyRW50cnk7dGhpcy5fbWF4TGluZXNQZXJFbnRyeT14O3RoaXMucmVkcmF3KCk7cmV0dXJuIHRoaXN9O3kucHJvdG90eXBlLm1heFdpZHRoPWZ1bmN0aW9uKHgpe2lmKG51bGw9PXgpcmV0dXJuIHRoaXMuX21heFdpZHRoO3RoaXMuX21heFdpZHRoPXg7dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307eS5wcm90b3R5cGUuY29tcGFyYXRvcj1mdW5jdGlvbih4KXtudWxsIT14JiYodGhpcy5fY29tcGFyYXRvcj0KeCx0aGlzLnJlZHJhdygpKX07eS5wcm90b3R5cGUuY29sb3JTY2FsZT1mdW5jdGlvbih4KXtyZXR1cm4gbnVsbCE9eD8odGhpcy5fY29sb3JTY2FsZS5vZmZVcGRhdGUodGhpcy5fcmVkcmF3Q2FsbGJhY2spLHRoaXMuX2NvbG9yU2NhbGU9eCx0aGlzLl9jb2xvclNjYWxlLm9uVXBkYXRlKHRoaXMuX3JlZHJhd0NhbGxiYWNrKSx0aGlzLnJlZHJhdygpLHRoaXMpOnRoaXMuX2NvbG9yU2NhbGV9O3kucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtBLnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyk7dGhpcy5fY29sb3JTY2FsZS5vZmZVcGRhdGUodGhpcy5fcmVkcmF3Q2FsbGJhY2spfTt5LnByb3RvdHlwZS5fYnVpbGRMZWdlbmRUYWJsZT1mdW5jdGlvbih4LEMpe3ZhciBHPXRoaXMsRD10aGlzLl9tZWFzdXJlci5tZWFzdXJlKCkuaGVpZ2h0LEI9bmV3IHcoeCxDLHRoaXMuX3BhZGRpbmcpO3g9dGhpcy5fY29sb3JTY2FsZS5kb21haW4oKS5zbGljZSgpLnNvcnQoZnVuY3Rpb24oSywKTCl7cmV0dXJuIEcuX2NvbXBhcmF0b3IoRy5fZm9ybWF0dGVyKEspLEcuX2Zvcm1hdHRlcihMKSl9KTt2YXIgSD1uZXcgdTtCLmFkZFJvdyhIKTtILmJvdHRvbVBhZGRpbmc9dGhpcy5fcm93Qm90dG9tUGFkZGluZzt4LmZvckVhY2goZnVuY3Rpb24oSyl7SC5jb2x1bW5zLmxlbmd0aC8yPT09Ry5tYXhFbnRyaWVzUGVyUm93KCkmJihIPW5ldyB1LEguYm90dG9tUGFkZGluZz1HLl9yb3dCb3R0b21QYWRkaW5nLEIuYWRkUm93KEgpKTt2YXIgTD1ILmdldFdpZHRoQXZhaWxhYmxlKCksSj1HLl9mb3JtYXR0ZXIoSyksTz1HLl9tZWFzdXJlci5tZWFzdXJlKEopLndpZHRoOzA+TC1ELU8mJjE8SC5jb2x1bW5zLmxlbmd0aCYmKEg9bmV3IHUsSC5ib3R0b21QYWRkaW5nPUcuX3Jvd0JvdHRvbVBhZGRpbmcsQi5hZGRSb3coSCkpO0guYWRkQ29sdW1uKHt3aWR0aDpELGhlaWdodDpELGRhdGE6e25hbWU6Syx0eXBlOiJzeW1ib2wifX0pO0w9SC5nZXRXaWR0aEF2YWlsYWJsZSgpO0w9TWF0aC5taW4oTCwKTyk7Ry5fd3JhcHBlci5tYXhMaW5lcyhHLm1heExpbmVzUGVyRW50cnkoKSk7Sj1HLl93cmFwcGVyLndyYXAoSixHLl9tZWFzdXJlcixMKS5ub0xpbmVzKkQ7SC5hZGRDb2x1bW4oe3dpZHRoOkwsaGVpZ2h0OkosZGF0YTp7bmFtZTpLLHR5cGU6InRleHQifX0pfSk7cmV0dXJuIEJ9O3kucHJvdG90eXBlLnJlcXVlc3RlZFNwYWNlPWZ1bmN0aW9uKHgsQyl7eD10aGlzLl9idWlsZExlZ2VuZFRhYmxlKHEuTWF0aC5taW4oW3RoaXMubWF4V2lkdGgoKSx4XSx4KSxDKTtyZXR1cm57bWluSGVpZ2h0OnguZ2V0SGVpZ2h0KCksbWluV2lkdGg6eC5nZXRXaWR0aCgpfX07eS5wcm90b3R5cGUuZW50aXRpZXNBdD1mdW5jdGlvbih4KXt2YXIgQz10aGlzO2lmKCF0aGlzLl9pc1NldHVwKXJldHVybltdO3ZhciBHPXRoaXMuX2J1aWxkTGVnZW5kVGFibGUodGhpcy53aWR0aCgpLHRoaXMuaGVpZ2h0KCkpO3JldHVybiBHLnJvd3MucmVkdWNlKGZ1bmN0aW9uKEQsQixIKXtpZigwIT09RC5sZW5ndGgpcmV0dXJuIEQ7CnZhciBLPUcuZ2V0Um93Qm91bmRzKEgpO3JldHVybiBxLk1hdGgud2l0aGluKHgsSyk/Qi5jb2x1bW5zLnJlZHVjZShmdW5jdGlvbihMLEosTyl7dmFyIFM9Ry5nZXRDb2x1bW5Cb3VuZHMoSCxPKTtpZihxLk1hdGgud2l0aGluKHgsUykpe0w9Qy5jb250ZW50KCkuc2VsZWN0QWxsKCIuIit5LkxFR0VORF9ST1dfQ0xBU1MpLm5vZGVzKClbSF07Tz1yLnNlbGVjdChMKS5zZWxlY3RBbGwoIi4iK3kuTEVHRU5EX0VOVFJZX0NMQVNTKS5ub2RlcygpW01hdGguZmxvb3IoTy8yKV07dmFyIE49ci5zZWxlY3QoTykuc2VsZWN0KCIuIit5LkxFR0VORF9TWU1CT0xfQ0xBU1MpO1M9cS5ET00uZ2V0VHJhbnNsYXRlVmFsdWVzKHIuc2VsZWN0KEwpKTtOPXEuRE9NLmdldFRyYW5zbGF0ZVZhbHVlcyhOKTtyZXR1cm5be2JvdW5kczpxLkRPTS5lbGVtZW50QkJveChyLnNlbGVjdChMKSksZGF0dW06Si5kYXRhLm5hbWUscG9zaXRpb246e3g6U1swXStOWzBdLHk6U1sxXStOWzFdfSxzZWxlY3Rpb246ci5zZWxlY3QoTyksCmNvbXBvbmVudDpDfV19cmV0dXJuIEx9LEQpOkR9LFtdKX07eS5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXtBLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseS5jYWxsKHRoaXMpO3ZhciB4PXRoaXMuX2J1aWxkTGVnZW5kVGFibGUodGhpcy53aWR0aCgpLHRoaXMuaGVpZ2h0KCkpO3RoaXMuY29udGVudCgpLnNlbGVjdEFsbCgiKiIpLnJlbW92ZSgpO3ZhciBDPXRoaXMuY29udGVudCgpLnNlbGVjdEFsbCgiZy4iK3kuTEVHRU5EX1JPV19DTEFTUykuZGF0YSh4LnJvd3MpLEc9Qy5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoeS5MRUdFTkRfUk9XX0NMQVNTLCEwKS5tZXJnZShDKTtDLmV4aXQoKS5yZW1vdmUoKTtHLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24oQixIKXtCPXguZ2V0Um93Qm91bmRzKEgpO3JldHVybiJ0cmFuc2xhdGUoIitCLnRvcExlZnQueCsiLCAiK0IudG9wTGVmdC55KyIpIn0pO3ZhciBEPXRoaXM7Ry5lYWNoKGZ1bmN0aW9uKEIsSCl7Zm9yKHZhciBLPQpbXSxMPTA7TDxCLmNvbHVtbnMubGVuZ3RoO0wrPTIpSy5wdXNoKFtCLmNvbHVtbnNbTF0sQi5jb2x1bW5zW0wrMV1dKTtCPXIuc2VsZWN0KHRoaXMpLnNlbGVjdEFsbCgiZy4iK3kuTEVHRU5EX0VOVFJZX0NMQVNTKS5kYXRhKEspO0s9Qi5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoeS5MRUdFTkRfRU5UUllfQ0xBU1MsITApLm1lcmdlKEIpO0suYXBwZW5kKCJwYXRoIikuYXR0cigiZCIsZnVuY3Rpb24oSil7Sj1KWzBdO3JldHVybiBELnN5bWJvbCgpKEouZGF0YS5uYW1lLEgpKC42KkouaGVpZ2h0KShudWxsKX0pLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24oSil7Sj1KWzBdO3JldHVybiJ0cmFuc2xhdGUoIisoeC5nZXRDb2x1bW5Cb3VuZHMoSCx4LnJvd3NbSF0uY29sdW1ucy5pbmRleE9mKEopKS50b3BMZWZ0LngrSi53aWR0aC8yKSsiLCAiK0ouaGVpZ2h0LzIrIikifSkuYXR0cigiZmlsbCIsZnVuY3Rpb24oSil7cmV0dXJuIEQuX2NvbG9yU2NhbGUuc2NhbGUoSlswXS5kYXRhLm5hbWUpfSkuYXR0cigib3BhY2l0eSIsCmZ1bmN0aW9uKEope3JldHVybiBELnN5bWJvbE9wYWNpdHkoKShKWzBdLmRhdGEubmFtZSxIKX0pLmNsYXNzZWQoeS5MRUdFTkRfU1lNQk9MX0NMQVNTLCEwKTtLLmFwcGVuZCgiZyIpLmNsYXNzZWQoInRleHQtY29udGFpbmVyIiwhMCkuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbihKKXtyZXR1cm4idHJhbnNsYXRlKCIreC5nZXRDb2x1bW5Cb3VuZHMoSCx4LnJvd3NbSF0uY29sdW1ucy5pbmRleE9mKEpbMV0pKS50b3BMZWZ0LngrIiwgMCkifSkuZWFjaChmdW5jdGlvbihKKXt2YXIgTz1yLnNlbGVjdCh0aGlzKTtKPUpbMV07RC5fd3JpdGVyLndyaXRlKEQuX2Zvcm1hdHRlcihKLmRhdGEubmFtZSksSi53aWR0aCxELmhlaWdodCgpLHt4QWxpZ246ImxlZnQiLHlBbGlnbjoidG9wIix0ZXh0Um90YXRpb246MH0sTy5ub2RlKCkpfSk7Qi5leGl0KCkucmVtb3ZlKCl9KTtyZXR1cm4gdGhpc307eS5wcm90b3R5cGUuc3ltYm9sPWZ1bmN0aW9uKHgpe2lmKG51bGw9PXgpcmV0dXJuIHRoaXMuX3N5bWJvbEZhY3RvcnlBY2Nlc3NvcjsKdGhpcy5fc3ltYm9sRmFjdG9yeUFjY2Vzc29yPXg7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307eS5wcm90b3R5cGUuc3ltYm9sT3BhY2l0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zeW1ib2xPcGFjaXR5QWNjZXNzb3J9O3kucHJvdG90eXBlLmZpeGVkV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4hMH07eS5wcm90b3R5cGUuZml4ZWRIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4hMH07eS5wcm90b3R5cGUuaW52YWxpZGF0ZUNhY2hlPWZ1bmN0aW9uKCl7dGhpcy5fbWVhc3VyZXIucmVzZXQoKX07cmV0dXJuIHl9KGQuQ29tcG9uZW50KTtkLkxFR0VORF9ST1dfQ0xBU1M9ImxlZ2VuZC1yb3ciO2QuTEVHRU5EX0VOVFJZX0NMQVNTPSJsZWdlbmQtZW50cnkiO2QuTEVHRU5EX1NZTUJPTF9DTEFTUz0ibGVnZW5kLXN5bWJvbCI7Zi5MZWdlbmQ9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPQpwfWZvcih2YXIgcSBpbiBtKW0uaGFzT3duUHJvcGVydHkocSkmJihwW3FdPW1bcV0pO3AucHJvdG90eXBlPW51bGw9PT1tP09iamVjdC5jcmVhdGUobSk6KG4ucHJvdG90eXBlPW0ucHJvdG90eXBlLG5ldyBuKX0scj1oKDIpLGw9aCgwKTtkPWZ1bmN0aW9uKHApe2Z1bmN0aW9uIG0oKXtyZXR1cm4gbnVsbCE9PXAmJnAuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfWsobSxwKTttLnByb3RvdHlwZS5lbnRpdHlOZWFyZXN0PWZ1bmN0aW9uKG4pe3ZhciBxLHU9SW5maW5pdHk7dGhpcy5jb21wb25lbnRzKCkuZm9yRWFjaChmdW5jdGlvbih3KXt3PXcuZW50aXR5TmVhcmVzdChuKTtpZihudWxsIT13KXt2YXIgQT1sLk1hdGguZGlzdGFuY2VTcXVhcmVkKHcucG9zaXRpb24sbik7QTw9dSYmKHU9QSxxPXcpfX0pO3JldHVybiBxfTttLnByb3RvdHlwZS5hcHBlbmQ9ZnVuY3Rpb24obil7aWYobnVsbCE9biYmIShuIGluc3RhbmNlb2Ygci5QbG90KSl0aHJvdyBFcnJvcigiUGxvdCBHcm91cCBvbmx5IGFjY2VwdHMgcGxvdHMiKTsKcC5wcm90b3R5cGUuYXBwZW5kLmNhbGwodGhpcyxuKTtyZXR1cm4gdGhpc307cmV0dXJuIG19KGgoNDEpLkdyb3VwKTtmLlBsb3RHcm91cD1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHAsbSl7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9cH1mb3IodmFyIHEgaW4gbSltLmhhc093blByb3BlcnR5KHEpJiYocFtxXT1tW3FdKTtwLnByb3RvdHlwZT1udWxsPT09bT9PYmplY3QuY3JlYXRlKG0pOihuLnByb3RvdHlwZT1tLnByb3RvdHlwZSxuZXcgbil9LHI9aCgxKSxsPWgoMCk7ZD1mdW5jdGlvbihwKXtmdW5jdGlvbiBtKG4pe3ZvaWQgMD09PW4mJihuPVtdKTt2YXIgcT1wLmNhbGwodGhpcyl8fHRoaXM7cS5fcm93UGFkZGluZz0wO3EuX2NvbHVtblBhZGRpbmc9MDtxLl9yb3dzPVtdO3EuX3Jvd1dlaWdodHM9W107cS5fY29sdW1uV2VpZ2h0cz1bXTtxLl9uUm93cz0wO3EuX25Db2xzPTA7cS5fY2FsY3VsYXRlZExheW91dD0KbnVsbDtxLmFkZENsYXNzKCJ0YWJsZSIpO24uZm9yRWFjaChmdW5jdGlvbih1LHcpe3UuZm9yRWFjaChmdW5jdGlvbihBLHkpe251bGwhPUEmJnEuYWRkKEEsdyx5KX0pfSk7cmV0dXJuIHF9ayhtLHApO20ucHJvdG90eXBlLl9mb3JFYWNoPWZ1bmN0aW9uKG4pe2Zvcih2YXIgcT0wO3E8dGhpcy5fblJvd3M7cSsrKWZvcih2YXIgdT0wO3U8dGhpcy5fbkNvbHM7dSsrKW51bGwhPXRoaXMuX3Jvd3NbcV1bdV0mJm4odGhpcy5fcm93c1txXVt1XSl9O20ucHJvdG90eXBlLmhhcz1mdW5jdGlvbihuKXtmb3IodmFyIHE9MDtxPHRoaXMuX25Sb3dzO3ErKylmb3IodmFyIHU9MDt1PHRoaXMuX25Db2xzO3UrKylpZih0aGlzLl9yb3dzW3FdW3VdPT09bilyZXR1cm4hMDtyZXR1cm4hMX07bS5wcm90b3R5cGUuY29tcG9uZW50QXQ9ZnVuY3Rpb24obixxKXtyZXR1cm4gMD5ufHxuPj10aGlzLl9uUm93c3x8MD5xfHxxPj10aGlzLl9uQ29scz9udWxsOnRoaXMuX3Jvd3Nbbl1bcV19O20ucHJvdG90eXBlLmFkZD0KZnVuY3Rpb24obixxLHUpe2lmKG51bGw9PW4pdGhyb3cgRXJyb3IoIkNhbm5vdCBhZGQgbnVsbCB0byBhIHRhYmxlIGNlbGwiKTtpZighdGhpcy5oYXMobikpe2lmKG51bGwhPSh0aGlzLl9yb3dzW3FdJiZ0aGlzLl9yb3dzW3FdW3VdKSl0aHJvdyBFcnJvcigiY2VsbCBpcyBvY2N1cGllZCIpO24uZGV0YWNoKCk7dGhpcy5fblJvd3M9TWF0aC5tYXgocSsxLHRoaXMuX25Sb3dzKTt0aGlzLl9uQ29scz1NYXRoLm1heCh1KzEsdGhpcy5fbkNvbHMpO3RoaXMuX3BhZFRhYmxlVG9TaXplKHRoaXMuX25Sb3dzLHRoaXMuX25Db2xzKTt0aGlzLl9yb3dzW3FdW3VdPW47dGhpcy5fYWRvcHRBbmRBbmNob3Iobik7dGhpcy5yZWRyYXcoKX1yZXR1cm4gdGhpc307bS5wcm90b3R5cGUuX3JlbW92ZT1mdW5jdGlvbihuKXtmb3IodmFyIHE9MDtxPHRoaXMuX25Sb3dzO3ErKylmb3IodmFyIHU9MDt1PHRoaXMuX25Db2xzO3UrKylpZih0aGlzLl9yb3dzW3FdW3VdPT09bil7dGhpcy5fcm93c1txXVt1XT0KbnVsbDtyZXR1cm59fTttLnByb3RvdHlwZS5faXRlcmF0ZUxheW91dD1mdW5jdGlvbihuLHEsdSl7dm9pZCAwPT09dSYmKHU9ITEpO3ZhciB3PXRoaXMuX3Jvd3MsQT1yLnRyYW5zcG9zZSh0aGlzLl9yb3dzKTtuLT10aGlzLl9jb2x1bW5QYWRkaW5nKih0aGlzLl9uQ29scy0xKTtxLT10aGlzLl9yb3dQYWRkaW5nKih0aGlzLl9uUm93cy0xKTt3PW0uX2NhbGNDb21wb25lbnRXZWlnaHRzKHRoaXMuX3Jvd1dlaWdodHMsdyxmdW5jdGlvbihOKXtyZXR1cm4gbnVsbD09Tnx8Ti5maXhlZEhlaWdodCgpfSk7QT1tLl9jYWxjQ29tcG9uZW50V2VpZ2h0cyh0aGlzLl9jb2x1bW5XZWlnaHRzLEEsZnVuY3Rpb24oTil7cmV0dXJuIG51bGw9PU58fE4uZml4ZWRXaWR0aCgpfSk7dmFyIHk9QS5tYXAoZnVuY3Rpb24oTil7cmV0dXJuIDA9PT1OPy41Ok59KSx4PXcubWFwKGZ1bmN0aW9uKE4pe3JldHVybiAwPT09Tj8uNTpOfSk7eT1tLl9jYWxjUHJvcG9ydGlvbmFsU3BhY2UoeSxuKTt2YXIgQz1tLl9jYWxjUHJvcG9ydGlvbmFsU3BhY2UoeCwKcSksRz1sLkFycmF5LmNyZWF0ZUZpbGxlZEFycmF5KDAsdGhpcy5fbkNvbHMpLEQ9bC5BcnJheS5jcmVhdGVGaWxsZWRBcnJheSgwLHRoaXMuX25Sb3dzKTt4PTA7Zm9yKHZhciBCLEgsSzs7KXtEPWwuQXJyYXkuYWRkKEQsQyk7eT1sLkFycmF5LmFkZChHLHkpO0I9dGhpcy5fZGV0ZXJtaW5lR3VhcmFudGVlcyh5LEQsdSk7Rz1CLmd1YXJhbnRlZWRXaWR0aHM7RD1CLmd1YXJhbnRlZWRIZWlnaHRzO0g9Qi53YW50c1dpZHRoQXJyLnNvbWUoZnVuY3Rpb24oTil7cmV0dXJuIE59KTtLPUIud2FudHNIZWlnaHRBcnIuc29tZShmdW5jdGlvbihOKXtyZXR1cm4gTn0pO3ZhciBMPU8sSj1TO3ZhciBPPW4tci5zdW0oQi5ndWFyYW50ZWVkV2lkdGhzKTt2YXIgUz1xLXIuc3VtKEIuZ3VhcmFudGVlZEhlaWdodHMpO3k9dm9pZCAwO0g/KHk9Qi53YW50c1dpZHRoQXJyLm1hcChmdW5jdGlvbihOKXtyZXR1cm4gTj8uMTowfSkseT1sLkFycmF5LmFkZCh5LEEpKTp5PUE7Qz12b2lkIDA7Sz8oQz1CLndhbnRzSGVpZ2h0QXJyLm1hcChmdW5jdGlvbihOKXtyZXR1cm4gTj8KLjE6MH0pLEM9bC5BcnJheS5hZGQoQyx3KSk6Qz13O3k9bS5fY2FsY1Byb3BvcnRpb25hbFNwYWNlKHksTyk7Qz1tLl9jYWxjUHJvcG9ydGlvbmFsU3BhY2UoQyxTKTt4Kys7Sj0wPFMmJlMhPT1KO2lmKCEoMDxPJiZPIT09THx8SikpYnJlYWs7aWYoNTx4KWJyZWFrfU89bi1yLnN1bShCLmd1YXJhbnRlZWRXaWR0aHMpO1M9cS1yLnN1bShCLmd1YXJhbnRlZWRIZWlnaHRzKTt5PW0uX2NhbGNQcm9wb3J0aW9uYWxTcGFjZShBLE8pO0M9bS5fY2FsY1Byb3BvcnRpb25hbFNwYWNlKHcsUyk7cmV0dXJue2NvbFByb3BvcnRpb25hbFNwYWNlOnkscm93UHJvcG9ydGlvbmFsU3BhY2U6QyxndWFyYW50ZWVkV2lkdGhzOkIuZ3VhcmFudGVlZFdpZHRocyxndWFyYW50ZWVkSGVpZ2h0czpCLmd1YXJhbnRlZWRIZWlnaHRzLHdhbnRzV2lkdGg6SCx3YW50c0hlaWdodDpLfX07bS5wcm90b3R5cGUuX2RldGVybWluZUd1YXJhbnRlZXM9ZnVuY3Rpb24obixxLHUpe3ZvaWQgMD09PXUmJih1PSExKTt2YXIgdz0KbC5BcnJheS5jcmVhdGVGaWxsZWRBcnJheSgwLHRoaXMuX25Db2xzKSxBPWwuQXJyYXkuY3JlYXRlRmlsbGVkQXJyYXkoMCx0aGlzLl9uUm93cykseT1sLkFycmF5LmNyZWF0ZUZpbGxlZEFycmF5KCExLHRoaXMuX25Db2xzKSx4PWwuQXJyYXkuY3JlYXRlRmlsbGVkQXJyYXkoITEsdGhpcy5fblJvd3MpO3RoaXMuX3Jvd3MuZm9yRWFjaChmdW5jdGlvbihDLEcpe0MuZm9yRWFjaChmdW5jdGlvbihELEIpe0Q9bnVsbCE9RD9ELnJlcXVlc3RlZFNwYWNlKG5bQl0scVtHXSk6e21pbldpZHRoOjAsbWluSGVpZ2h0OjB9O3dbQl09TWF0aC5tYXgod1tCXSx1P01hdGgubWluKEQubWluV2lkdGgsbltCXSk6RC5taW5XaWR0aCk7QVtHXT1NYXRoLm1heChBW0ddLHU/TWF0aC5taW4oRC5taW5IZWlnaHQscVtHXSk6RC5taW5IZWlnaHQpO3ZhciBIPUQubWluV2lkdGg+bltCXTt5W0JdPXlbQl18fEg7Qj1ELm1pbkhlaWdodD5xW0ddO3hbR109eFtHXXx8Qn0pfSk7cmV0dXJue2d1YXJhbnRlZWRXaWR0aHM6dywKZ3VhcmFudGVlZEhlaWdodHM6QSx3YW50c1dpZHRoQXJyOnksd2FudHNIZWlnaHRBcnI6eH19O20ucHJvdG90eXBlLnJlcXVlc3RlZFNwYWNlPWZ1bmN0aW9uKG4scSl7dGhpcy5fY2FsY3VsYXRlZExheW91dD10aGlzLl9pdGVyYXRlTGF5b3V0KG4scSk7cmV0dXJue21pbldpZHRoOnIuc3VtKHRoaXMuX2NhbGN1bGF0ZWRMYXlvdXQuZ3VhcmFudGVlZFdpZHRocyksbWluSGVpZ2h0OnIuc3VtKHRoaXMuX2NhbGN1bGF0ZWRMYXlvdXQuZ3VhcmFudGVlZEhlaWdodHMpfX07bS5wcm90b3R5cGUuY29tcHV0ZUxheW91dD1mdW5jdGlvbihuLHEsdSl7dmFyIHc9dGhpcztwLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcyxuLHEsdSk7bj1yLnN1bSh0aGlzLl9jYWxjdWxhdGVkTGF5b3V0Lmd1YXJhbnRlZWRXaWR0aHMpO3E9ci5zdW0odGhpcy5fY2FsY3VsYXRlZExheW91dC5ndWFyYW50ZWVkSGVpZ2h0cyk7dT10aGlzLl9jYWxjdWxhdGVkTGF5b3V0O2lmKG4+dGhpcy53aWR0aCgpfHwKcT50aGlzLmhlaWdodCgpKXU9dGhpcy5faXRlcmF0ZUxheW91dCh0aGlzLndpZHRoKCksdGhpcy5oZWlnaHQoKSwhMCk7dmFyIEE9MCx5PWwuQXJyYXkuYWRkKHUucm93UHJvcG9ydGlvbmFsU3BhY2UsdS5ndWFyYW50ZWVkSGVpZ2h0cykseD1sLkFycmF5LmFkZCh1LmNvbFByb3BvcnRpb25hbFNwYWNlLHUuZ3VhcmFudGVlZFdpZHRocyk7dGhpcy5fcm93cy5mb3JFYWNoKGZ1bmN0aW9uKEMsRyl7dmFyIEQ9MDtDLmZvckVhY2goZnVuY3Rpb24oQixIKXtudWxsIT1CJiZCLmNvbXB1dGVMYXlvdXQoe3g6RCx5OkF9LHhbSF0seVtHXSk7RCs9eFtIXSt3Ll9jb2x1bW5QYWRkaW5nfSk7QSs9eVtHXSt3Ll9yb3dQYWRkaW5nfSk7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLnJvd1BhZGRpbmc9ZnVuY3Rpb24obil7aWYobnVsbD09bilyZXR1cm4gdGhpcy5fcm93UGFkZGluZztpZighbC5NYXRoLmlzVmFsaWROdW1iZXIobil8fDA+bil0aHJvdyBFcnJvcigicm93UGFkZGluZyBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGZpbml0ZSB2YWx1ZSIpOwp0aGlzLl9yb3dQYWRkaW5nPW47dGhpcy5yZWRyYXcoKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUuY29sdW1uUGFkZGluZz1mdW5jdGlvbihuKXtpZihudWxsPT1uKXJldHVybiB0aGlzLl9jb2x1bW5QYWRkaW5nO2lmKCFsLk1hdGguaXNWYWxpZE51bWJlcihuKXx8MD5uKXRocm93IEVycm9yKCJjb2x1bW5QYWRkaW5nIG11c3QgYmUgYSBub24tbmVnYXRpdmUgZmluaXRlIHZhbHVlIik7dGhpcy5fY29sdW1uUGFkZGluZz1uO3RoaXMucmVkcmF3KCk7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLnJvd1dlaWdodD1mdW5jdGlvbihuLHEpe2lmKG51bGw9PXEpcmV0dXJuIHRoaXMuX3Jvd1dlaWdodHNbbl07aWYoIWwuTWF0aC5pc1ZhbGlkTnVtYmVyKHEpfHwwPnEpdGhyb3cgRXJyb3IoInJvd1dlaWdodCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGZpbml0ZSB2YWx1ZSIpO3RoaXMuX3Jvd1dlaWdodHNbbl09cTt0aGlzLnJlZHJhdygpO3JldHVybiB0aGlzfTttLnByb3RvdHlwZS5jb2x1bW5XZWlnaHQ9CmZ1bmN0aW9uKG4scSl7aWYobnVsbD09cSlyZXR1cm4gdGhpcy5fY29sdW1uV2VpZ2h0c1tuXTtpZighbC5NYXRoLmlzVmFsaWROdW1iZXIocSl8fDA+cSl0aHJvdyBFcnJvcigiY29sdW1uV2VpZ2h0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgZmluaXRlIHZhbHVlIik7dGhpcy5fY29sdW1uV2VpZ2h0c1tuXT1xO3RoaXMucmVkcmF3KCk7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLmZpeGVkV2lkdGg9ZnVuY3Rpb24oKXt2YXIgbj1yLnRyYW5zcG9zZSh0aGlzLl9yb3dzKTtyZXR1cm4gbS5fZml4ZWRTcGFjZShuLGZ1bmN0aW9uKHEpe3JldHVybiBudWxsPT1xfHxxLmZpeGVkV2lkdGgoKX0pfTttLnByb3RvdHlwZS5maXhlZEhlaWdodD1mdW5jdGlvbigpe3JldHVybiBtLl9maXhlZFNwYWNlKHRoaXMuX3Jvd3MsZnVuY3Rpb24obil7cmV0dXJuIG51bGw9PW58fG4uZml4ZWRIZWlnaHQoKX0pfTttLnByb3RvdHlwZS5fcGFkVGFibGVUb1NpemU9ZnVuY3Rpb24obixxKXtmb3IodmFyIHU9CjA7dTxuO3UrKyl7dm9pZCAwPT09dGhpcy5fcm93c1t1XSYmKHRoaXMuX3Jvd3NbdV09W10sdGhpcy5fcm93V2VpZ2h0c1t1XT1udWxsKTtmb3IodmFyIHc9MDt3PHE7dysrKXZvaWQgMD09PXRoaXMuX3Jvd3NbdV1bd10mJih0aGlzLl9yb3dzW3VdW3ddPW51bGwpfWZvcih3PTA7dzxxO3crKyl2b2lkIDA9PT10aGlzLl9jb2x1bW5XZWlnaHRzW3ddJiYodGhpcy5fY29sdW1uV2VpZ2h0c1t3XT1udWxsKX07bS5fY2FsY0NvbXBvbmVudFdlaWdodHM9ZnVuY3Rpb24obixxLHUpe3JldHVybiBuLm1hcChmdW5jdGlvbih3LEEpe3JldHVybiBudWxsIT13P3c6cVtBXS5tYXAodSkucmVkdWNlKGZ1bmN0aW9uKHkseCl7cmV0dXJuIHkmJnh9LCEwKT8wOjF9KX07bS5fY2FsY1Byb3BvcnRpb25hbFNwYWNlPWZ1bmN0aW9uKG4scSl7dmFyIHU9ci5zdW0obik7cmV0dXJuIDA9PT11P2wuQXJyYXkuY3JlYXRlRmlsbGVkQXJyYXkoMCxuLmxlbmd0aCk6bi5tYXAoZnVuY3Rpb24odyl7cmV0dXJuIHEqCncvdX0pfTttLl9maXhlZFNwYWNlPWZ1bmN0aW9uKG4scSl7ZnVuY3Rpb24gdSh3KXtyZXR1cm4gdy5yZWR1Y2UoZnVuY3Rpb24oQSx5KXtyZXR1cm4gQSYmeX0sITApfXJldHVybiB1KG4ubWFwKGZ1bmN0aW9uKHcpe3JldHVybiB1KHcubWFwKHEpKX0pKX07cmV0dXJuIG19KGgoMjkpLkNvbXBvbmVudENvbnRhaW5lcik7Zi5UYWJsZT1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHIsbCl7ZnVuY3Rpb24gcCgpe3RoaXMuY29uc3RydWN0b3I9cn1mb3IodmFyIG0gaW4gbClsLmhhc093blByb3BlcnR5KG0pJiYoclttXT1sW21dKTtyLnByb3RvdHlwZT1udWxsPT09bD9PYmplY3QuY3JlYXRlKGwpOihwLnByb3RvdHlwZT1sLnByb3RvdHlwZSxuZXcgcCl9O2Q9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gbCgpe3ZhciBwPXIuY2FsbCh0aGlzKXx8dGhpcztwLmFkZENsYXNzKCJ4LWRyYWctYm94LWxheWVyIik7cC5faGFzQ29ybmVycz0hMTsKcmV0dXJuIHB9ayhsLHIpO2wucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24ocCxtLG4pe3IucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQuY2FsbCh0aGlzLHAsbSxuKTt0aGlzLl9zZXRCb3VuZHModGhpcy5ib3VuZHMoKSk7cmV0dXJuIHRoaXN9O2wucHJvdG90eXBlLl9zZXRCb3VuZHM9ZnVuY3Rpb24ocCl7ci5wcm90b3R5cGUuX3NldEJvdW5kcy5jYWxsKHRoaXMse3RvcExlZnQ6e3g6cC50b3BMZWZ0LngseTowfSxib3R0b21SaWdodDp7eDpwLmJvdHRvbVJpZ2h0LngseTp0aGlzLmhlaWdodCgpfX0pfTtsLnByb3RvdHlwZS5fc2V0UmVzaXphYmxlQ2xhc3Nlcz1mdW5jdGlvbihwKXtwJiZ0aGlzLmVuYWJsZWQoKT90aGlzLmFkZENsYXNzKCJ4LXJlc2l6YWJsZSIpOnRoaXMucmVtb3ZlQ2xhc3MoIngtcmVzaXphYmxlIil9O2wucHJvdG90eXBlLnlTY2FsZT1mdW5jdGlvbihwKXtpZihudWxsPT1wKXJldHVybiByLnByb3RvdHlwZS55U2NhbGUuY2FsbCh0aGlzKTt0aHJvdyBFcnJvcigieVNjYWxlcyBjYW5ub3QgYmUgc2V0IG9uIGFuIFhEcmFnQm94TGF5ZXIiKTsKfTtsLnByb3RvdHlwZS55RXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHIucHJvdG90eXBlLnlFeHRlbnQuY2FsbCh0aGlzKTt0aHJvdyBFcnJvcigiWERyYWdCb3hMYXllciBoYXMgbm8geUV4dGVudCIpO307cmV0dXJuIGx9KGgoMzIpLkRyYWdCb3hMYXllcik7Zi5YRHJhZ0JveExheWVyPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24ocixsKXtmdW5jdGlvbiBwKCl7dGhpcy5jb25zdHJ1Y3Rvcj1yfWZvcih2YXIgbSBpbiBsKWwuaGFzT3duUHJvcGVydHkobSkmJihyW21dPWxbbV0pO3IucHJvdG90eXBlPW51bGw9PT1sP09iamVjdC5jcmVhdGUobCk6KHAucHJvdG90eXBlPWwucHJvdG90eXBlLG5ldyBwKX07ZD1mdW5jdGlvbihyKXtmdW5jdGlvbiBsKCl7dmFyIHA9ci5jYWxsKHRoaXMpfHx0aGlzO3AuYWRkQ2xhc3MoInktZHJhZy1ib3gtbGF5ZXIiKTtwLl9oYXNDb3JuZXJzPSExO3JldHVybiBwfWsobCxyKTtsLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PQpmdW5jdGlvbihwLG0sbil7ci5wcm90b3R5cGUuY29tcHV0ZUxheW91dC5jYWxsKHRoaXMscCxtLG4pO3RoaXMuX3NldEJvdW5kcyh0aGlzLmJvdW5kcygpKTtyZXR1cm4gdGhpc307bC5wcm90b3R5cGUuX3NldEJvdW5kcz1mdW5jdGlvbihwKXtyLnByb3RvdHlwZS5fc2V0Qm91bmRzLmNhbGwodGhpcyx7dG9wTGVmdDp7eDowLHk6cC50b3BMZWZ0Lnl9LGJvdHRvbVJpZ2h0Ont4OnRoaXMud2lkdGgoKSx5OnAuYm90dG9tUmlnaHQueX19KX07bC5wcm90b3R5cGUuX3NldFJlc2l6YWJsZUNsYXNzZXM9ZnVuY3Rpb24ocCl7cCYmdGhpcy5lbmFibGVkKCk/dGhpcy5hZGRDbGFzcygieS1yZXNpemFibGUiKTp0aGlzLnJlbW92ZUNsYXNzKCJ5LXJlc2l6YWJsZSIpfTtsLnByb3RvdHlwZS54U2NhbGU9ZnVuY3Rpb24ocCl7aWYobnVsbD09cClyZXR1cm4gci5wcm90b3R5cGUueFNjYWxlLmNhbGwodGhpcyk7dGhyb3cgRXJyb3IoInhTY2FsZXMgY2Fubm90IGJlIHNldCBvbiBhbiBZRHJhZ0JveExheWVyIik7Cn07bC5wcm90b3R5cGUueEV4dGVudD1mdW5jdGlvbigpe3JldHVybiByLnByb3RvdHlwZS54RXh0ZW50LmNhbGwodGhpcyk7dGhyb3cgRXJyb3IoIllEcmFnQm94TGF5ZXIgaGFzIG5vIHhFeHRlbnQiKTt9O3JldHVybiBsfShoKDMyKS5EcmFnQm94TGF5ZXIpO2YuWURyYWdCb3hMYXllcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHIsbCl7ZnVuY3Rpb24gcCgpe3RoaXMuY29uc3RydWN0b3I9cn1mb3IodmFyIG0gaW4gbClsLmhhc093blByb3BlcnR5KG0pJiYoclttXT1sW21dKTtyLnByb3RvdHlwZT1udWxsPT09bD9PYmplY3QuY3JlYXRlKGwpOihwLnByb3RvdHlwZT1sLnByb3RvdHlwZSxuZXcgcCl9O2Q9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gbCgpe3ZhciBwPXIuY2FsbCh0aGlzKXx8dGhpcztwLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW2wuX0tFWURPV05fRVZFTlRfTkFNRV09ZnVuY3Rpb24obSl7cmV0dXJuIHAuX3Byb2Nlc3NLZXlkb3duKG0pfTsKcC5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltsLl9LRVlVUF9FVkVOVF9OQU1FXT1mdW5jdGlvbihtKXtyZXR1cm4gcC5fcHJvY2Vzc0tleXVwKG0pfTtyZXR1cm4gcH1rKGwscik7bC5nZXREaXNwYXRjaGVyPWZ1bmN0aW9uKCl7dmFyIHA9ZG9jdW1lbnRbbC5fRElTUEFUQ0hFUl9LRVldO251bGw9PXAmJihwPW5ldyBsLGRvY3VtZW50W2wuX0RJU1BBVENIRVJfS0VZXT1wKTtyZXR1cm4gcH07bC5wcm90b3R5cGUuX3Byb2Nlc3NLZXlkb3duPWZ1bmN0aW9uKHApe3RoaXMuX2NhbGxDYWxsYmFja3NGb3JFdmVudChsLl9LRVlET1dOX0VWRU5UX05BTUUscC5rZXlDb2RlLHApfTtsLnByb3RvdHlwZS5fcHJvY2Vzc0tleXVwPWZ1bmN0aW9uKHApe3RoaXMuX2NhbGxDYWxsYmFja3NGb3JFdmVudChsLl9LRVlVUF9FVkVOVF9OQU1FLHAua2V5Q29kZSxwKX07bC5wcm90b3R5cGUub25LZXlEb3duPWZ1bmN0aW9uKHApe3RoaXMuX2FkZENhbGxiYWNrRm9yRXZlbnQobC5fS0VZRE9XTl9FVkVOVF9OQU1FLApwKX07bC5wcm90b3R5cGUub2ZmS2V5RG93bj1mdW5jdGlvbihwKXt0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KGwuX0tFWURPV05fRVZFTlRfTkFNRSxwKX07bC5wcm90b3R5cGUub25LZXlVcD1mdW5jdGlvbihwKXt0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KGwuX0tFWVVQX0VWRU5UX05BTUUscCl9O2wucHJvdG90eXBlLm9mZktleVVwPWZ1bmN0aW9uKHApe3RoaXMuX3JlbW92ZUNhbGxiYWNrRm9yRXZlbnQobC5fS0VZVVBfRVZFTlRfTkFNRSxwKX07cmV0dXJuIGx9KGgoMjQpLkRpc3BhdGNoZXIpO2QuX0RJU1BBVENIRVJfS0VZPSJfX1Bsb3R0YWJsZV9EaXNwYXRjaGVyX0tleSI7ZC5fS0VZRE9XTl9FVkVOVF9OQU1FPSJrZXlkb3duIjtkLl9LRVlVUF9FVkVOVF9OQU1FPSJrZXl1cCI7Zi5LZXk9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihsLHApe2Z1bmN0aW9uIG0oKXt0aGlzLmNvbnN0cnVjdG9yPWx9Zm9yKHZhciBuIGluIHApcC5oYXNPd25Qcm9wZXJ0eShuKSYmCihsW25dPXBbbl0pO2wucHJvdG90eXBlPW51bGw9PT1wP09iamVjdC5jcmVhdGUocCk6KG0ucHJvdG90eXBlPXAucHJvdG90eXBlLG5ldyBtKX0scj1oKDApO2Q9ZnVuY3Rpb24obCl7ZnVuY3Rpb24gcChtKXtmdW5jdGlvbiBuKHUpe3JldHVybiBxLl9tZWFzdXJlQW5kRGlzcGF0Y2gobSx1LHAuX01PVVNFTU9WRV9FVkVOVF9OQU1FLCJwYWdlIil9dmFyIHE9bC5jYWxsKHRoaXMpfHx0aGlzO3EuX2xhc3RNb3VzZVBvc2l0aW9uPXt4Oi0xLHk6LTF9O3EuX3RyYW5zbGF0b3I9ci5nZXRUcmFuc2xhdG9yKG0pO3EuX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb25bcC5fTU9VU0VPVkVSX0VWRU5UX05BTUVdPW47cS5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltwLl9NT1VTRU1PVkVfRVZFTlRfTkFNRV09bjtxLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW3AuX01PVVNFT1VUX0VWRU5UX05BTUVdPW47cS5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltwLl9NT1VTRURPV05fRVZFTlRfTkFNRV09CmZ1bmN0aW9uKHUpe3JldHVybiBxLl9tZWFzdXJlQW5kRGlzcGF0Y2gobSx1LHAuX01PVVNFRE9XTl9FVkVOVF9OQU1FKX07cS5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltwLl9NT1VTRVVQX0VWRU5UX05BTUVdPWZ1bmN0aW9uKHUpe3JldHVybiBxLl9tZWFzdXJlQW5kRGlzcGF0Y2gobSx1LHAuX01PVVNFVVBfRVZFTlRfTkFNRSwicGFnZSIpfTtxLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW3AuX1dIRUVMX0VWRU5UX05BTUVdPWZ1bmN0aW9uKHUpe3JldHVybiBxLl9tZWFzdXJlQW5kRGlzcGF0Y2gobSx1LHAuX1dIRUVMX0VWRU5UX05BTUUpfTtxLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW3AuX0RCTENMSUNLX0VWRU5UX05BTUVdPWZ1bmN0aW9uKHUpe3JldHVybiBxLl9tZWFzdXJlQW5kRGlzcGF0Y2gobSx1LHAuX0RCTENMSUNLX0VWRU5UX05BTUUpfTtyZXR1cm4gcX1rKHAsbCk7cC5nZXREaXNwYXRjaGVyPWZ1bmN0aW9uKG0pe3ZhciBuPW0ucm9vdCgpLnJvb3RFbGVtZW50KCksCnE9bltwLl9ESVNQQVRDSEVSX0tFWV07bnVsbD09cSYmKHE9bmV3IHAobSksbltwLl9ESVNQQVRDSEVSX0tFWV09cSk7cmV0dXJuIHF9O3AucHJvdG90eXBlLm9uTW91c2VNb3ZlPWZ1bmN0aW9uKG0pe3RoaXMuX2FkZENhbGxiYWNrRm9yRXZlbnQocC5fTU9VU0VNT1ZFX0VWRU5UX05BTUUsbSl9O3AucHJvdG90eXBlLm9mZk1vdXNlTW92ZT1mdW5jdGlvbihtKXt0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KHAuX01PVVNFTU9WRV9FVkVOVF9OQU1FLG0pfTtwLnByb3RvdHlwZS5vbk1vdXNlRG93bj1mdW5jdGlvbihtKXt0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KHAuX01PVVNFRE9XTl9FVkVOVF9OQU1FLG0pfTtwLnByb3RvdHlwZS5vZmZNb3VzZURvd249ZnVuY3Rpb24obSl7dGhpcy5fcmVtb3ZlQ2FsbGJhY2tGb3JFdmVudChwLl9NT1VTRURPV05fRVZFTlRfTkFNRSxtKX07cC5wcm90b3R5cGUub25Nb3VzZVVwPWZ1bmN0aW9uKG0pe3RoaXMuX2FkZENhbGxiYWNrRm9yRXZlbnQocC5fTU9VU0VVUF9FVkVOVF9OQU1FLAptKX07cC5wcm90b3R5cGUub2ZmTW91c2VVcD1mdW5jdGlvbihtKXt0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KHAuX01PVVNFVVBfRVZFTlRfTkFNRSxtKX07cC5wcm90b3R5cGUub25XaGVlbD1mdW5jdGlvbihtKXt0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KHAuX1dIRUVMX0VWRU5UX05BTUUsbSk7cmV0dXJuIHRoaXN9O3AucHJvdG90eXBlLm9mZldoZWVsPWZ1bmN0aW9uKG0pe3RoaXMuX3JlbW92ZUNhbGxiYWNrRm9yRXZlbnQocC5fV0hFRUxfRVZFTlRfTkFNRSxtKX07cC5wcm90b3R5cGUub25EYmxDbGljaz1mdW5jdGlvbihtKXt0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KHAuX0RCTENMSUNLX0VWRU5UX05BTUUsbSl9O3AucHJvdG90eXBlLm9mZkRibENsaWNrPWZ1bmN0aW9uKG0pe3RoaXMuX3JlbW92ZUNhbGxiYWNrRm9yRXZlbnQocC5fREJMQ0xJQ0tfRVZFTlRfTkFNRSxtKX07cC5wcm90b3R5cGUuX21lYXN1cmVBbmREaXNwYXRjaD1mdW5jdGlvbihtLG4scSwKdSl7dm9pZCAwPT09dSYmKHU9ImVsZW1lbnQiKTtpZigicGFnZSIhPT11JiYiZWxlbWVudCIhPT11KXRocm93IEVycm9yKCJJbnZhbGlkIHNjb3BlICciK3UrIicsIG11c3QgYmUgJ2VsZW1lbnQnIG9yICdwYWdlJyIpO2lmKCJwYWdlIj09PXV8fHRoaXMuZXZlbnRJbnNpZGUobSxuKSl0aGlzLl9sYXN0TW91c2VQb3NpdGlvbj10aGlzLl90cmFuc2xhdG9yLmNvbXB1dGVQb3NpdGlvbihuLmNsaWVudFgsbi5jbGllbnRZKSx0aGlzLl9jYWxsQ2FsbGJhY2tzRm9yRXZlbnQocSx0aGlzLmxhc3RNb3VzZVBvc2l0aW9uKCksbil9O3AucHJvdG90eXBlLmV2ZW50SW5zaWRlPWZ1bmN0aW9uKG0sbil7cmV0dXJuIHIuVHJhbnNsYXRvci5pc0V2ZW50SW5zaWRlKG0sbil9O3AucHJvdG90eXBlLmxhc3RNb3VzZVBvc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xhc3RNb3VzZVBvc2l0aW9ufTtyZXR1cm4gcH0oaCgyNCkuRGlzcGF0Y2hlcik7ZC5fRElTUEFUQ0hFUl9LRVk9Il9fUGxvdHRhYmxlX0Rpc3BhdGNoZXJfTW91c2UiOwpkLl9NT1VTRU9WRVJfRVZFTlRfTkFNRT0ibW91c2VvdmVyIjtkLl9NT1VTRU1PVkVfRVZFTlRfTkFNRT0ibW91c2Vtb3ZlIjtkLl9NT1VTRU9VVF9FVkVOVF9OQU1FPSJtb3VzZW91dCI7ZC5fTU9VU0VET1dOX0VWRU5UX05BTUU9Im1vdXNlZG93biI7ZC5fTU9VU0VVUF9FVkVOVF9OQU1FPSJtb3VzZXVwIjtkLl9XSEVFTF9FVkVOVF9OQU1FPSJ3aGVlbCI7ZC5fREJMQ0xJQ0tfRVZFTlRfTkFNRT0iZGJsY2xpY2siO2YuTW91c2U9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihsLHApe2Z1bmN0aW9uIG0oKXt0aGlzLmNvbnN0cnVjdG9yPWx9Zm9yKHZhciBuIGluIHApcC5oYXNPd25Qcm9wZXJ0eShuKSYmKGxbbl09cFtuXSk7bC5wcm90b3R5cGU9bnVsbD09PXA/T2JqZWN0LmNyZWF0ZShwKToobS5wcm90b3R5cGU9cC5wcm90b3R5cGUsbmV3IG0pfSxyPWgoMCk7ZD1mdW5jdGlvbihsKXtmdW5jdGlvbiBwKG0pe3ZhciBuPWwuY2FsbCh0aGlzKXx8CnRoaXM7bi5fdHJhbnNsYXRvcj1yLmdldFRyYW5zbGF0b3IobSk7bi5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltwLl9UT1VDSFNUQVJUX0VWRU5UX05BTUVdPWZ1bmN0aW9uKHEpe3JldHVybiBuLl9tZWFzdXJlQW5kRGlzcGF0Y2gobSxxLHAuX1RPVUNIU1RBUlRfRVZFTlRfTkFNRSwicGFnZSIpfTtuLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW3AuX1RPVUNITU9WRV9FVkVOVF9OQU1FXT1mdW5jdGlvbihxKXtyZXR1cm4gbi5fbWVhc3VyZUFuZERpc3BhdGNoKG0scSxwLl9UT1VDSE1PVkVfRVZFTlRfTkFNRSwicGFnZSIpfTtuLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW3AuX1RPVUNIRU5EX0VWRU5UX05BTUVdPWZ1bmN0aW9uKHEpe3JldHVybiBuLl9tZWFzdXJlQW5kRGlzcGF0Y2gobSxxLHAuX1RPVUNIRU5EX0VWRU5UX05BTUUsInBhZ2UiKX07bi5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltwLl9UT1VDSENBTkNFTF9FVkVOVF9OQU1FXT1mdW5jdGlvbihxKXtyZXR1cm4gbi5fbWVhc3VyZUFuZERpc3BhdGNoKG0sCnEscC5fVE9VQ0hDQU5DRUxfRVZFTlRfTkFNRSwicGFnZSIpfTtyZXR1cm4gbn1rKHAsbCk7cC5nZXREaXNwYXRjaGVyPWZ1bmN0aW9uKG0pe3ZhciBuPW0ucm9vdCgpLnJvb3RFbGVtZW50KCkscT1uW3AuX0RJU1BBVENIRVJfS0VZXTtudWxsPT1xJiYocT1uZXcgcChtKSxuW3AuX0RJU1BBVENIRVJfS0VZXT1xKTtyZXR1cm4gcX07cC5wcm90b3R5cGUub25Ub3VjaFN0YXJ0PWZ1bmN0aW9uKG0pe3RoaXMuX2FkZENhbGxiYWNrRm9yRXZlbnQocC5fVE9VQ0hTVEFSVF9FVkVOVF9OQU1FLG0pfTtwLnByb3RvdHlwZS5vZmZUb3VjaFN0YXJ0PWZ1bmN0aW9uKG0pe3RoaXMuX3JlbW92ZUNhbGxiYWNrRm9yRXZlbnQocC5fVE9VQ0hTVEFSVF9FVkVOVF9OQU1FLG0pfTtwLnByb3RvdHlwZS5vblRvdWNoTW92ZT1mdW5jdGlvbihtKXt0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KHAuX1RPVUNITU9WRV9FVkVOVF9OQU1FLG0pfTtwLnByb3RvdHlwZS5vZmZUb3VjaE1vdmU9ZnVuY3Rpb24obSl7dGhpcy5fcmVtb3ZlQ2FsbGJhY2tGb3JFdmVudChwLl9UT1VDSE1PVkVfRVZFTlRfTkFNRSwKbSl9O3AucHJvdG90eXBlLm9uVG91Y2hFbmQ9ZnVuY3Rpb24obSl7dGhpcy5fYWRkQ2FsbGJhY2tGb3JFdmVudChwLl9UT1VDSEVORF9FVkVOVF9OQU1FLG0pfTtwLnByb3RvdHlwZS5vZmZUb3VjaEVuZD1mdW5jdGlvbihtKXt0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KHAuX1RPVUNIRU5EX0VWRU5UX05BTUUsbSl9O3AucHJvdG90eXBlLm9uVG91Y2hDYW5jZWw9ZnVuY3Rpb24obSl7dGhpcy5fYWRkQ2FsbGJhY2tGb3JFdmVudChwLl9UT1VDSENBTkNFTF9FVkVOVF9OQU1FLG0pfTtwLnByb3RvdHlwZS5vZmZUb3VjaENhbmNlbD1mdW5jdGlvbihtKXt0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KHAuX1RPVUNIQ0FOQ0VMX0VWRU5UX05BTUUsbSl9O3AucHJvdG90eXBlLl9tZWFzdXJlQW5kRGlzcGF0Y2g9ZnVuY3Rpb24obSxuLHEsdSl7dm9pZCAwPT09dSYmKHU9ImVsZW1lbnQiKTtpZigicGFnZSIhPT11JiYiZWxlbWVudCIhPT11KXRocm93IEVycm9yKCJJbnZhbGlkIHNjb3BlICciKwp1KyInLCBtdXN0IGJlICdlbGVtZW50JyBvciAncGFnZSciKTtpZigiZWxlbWVudCIhPT11fHx0aGlzLmV2ZW50SW5zaWRlKG0sbikpe209bi5jaGFuZ2VkVG91Y2hlczt1PXt9O2Zvcih2YXIgdz1bXSxBPTA7QTxtLmxlbmd0aDtBKyspe3ZhciB5PW1bQV0seD15LmlkZW50aWZpZXI7eT10aGlzLl90cmFuc2xhdG9yLmNvbXB1dGVQb3NpdGlvbih5LmNsaWVudFgseS5jbGllbnRZKTtudWxsIT15JiYodVt4XT15LHcucHVzaCh4KSl9MDx3Lmxlbmd0aCYmdGhpcy5fY2FsbENhbGxiYWNrc0ZvckV2ZW50KHEsdyx1LG4pfX07cC5wcm90b3R5cGUuZXZlbnRJbnNpZGU9ZnVuY3Rpb24obSxuKXtyZXR1cm4gci5UcmFuc2xhdG9yLmlzRXZlbnRJbnNpZGUobSxuKX07cmV0dXJuIHB9KGgoMjQpLkRpc3BhdGNoZXIpO2QuX0RJU1BBVENIRVJfS0VZPSJfX1Bsb3R0YWJsZV9EaXNwYXRjaGVyX1RvdWNoIjtkLl9UT1VDSFNUQVJUX0VWRU5UX05BTUU9InRvdWNoc3RhcnQiO2QuX1RPVUNITU9WRV9FVkVOVF9OQU1FPQoidG91Y2htb3ZlIjtkLl9UT1VDSEVORF9FVkVOVF9OQU1FPSJ0b3VjaGVuZCI7ZC5fVE9VQ0hDQU5DRUxfRVZFTlRfTkFNRT0idG91Y2hjYW5jZWwiO2YuVG91Y2g9ZH0sZnVuY3Rpb24oZCxmKXtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChrLHIsbCl7dm9pZCAwPT09bCYmKGw9d2luZG93LmRldmljZVBpeGVsUmF0aW8pO3RoaXMuc2NyZWVuV2lkdGg9azt0aGlzLnNjcmVlbkhlaWdodD1yO3RoaXMuZGV2aWNlUGl4ZWxSYXRpbz1sO3RoaXMucGl4ZWxXaWR0aD1rKmw7dGhpcy5waXhlbEhlaWdodD1yKmw7dGhpcy5jYW52YXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7dGhpcy5jdHg9dGhpcy5jYW52YXMuZ2V0Q29udGV4dCgiMmQiKTtoLnNpemVQaXhlbHModGhpcy5jdHgsayxyLGwpfWguc2l6ZVBpeGVscz1mdW5jdGlvbihrLHIsbCxwKXt2YXIgbT1rLmNhbnZhczttLndpZHRoPXIqcDttLmhlaWdodD1sKnA7bS5zdHlsZS53aWR0aD1yKyJweCI7bS5zdHlsZS5oZWlnaHQ9CmwrInB4IjtrLnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCk7ay5zY2FsZShwLHApfTtoLnByb3RvdHlwZS5ibGl0PWZ1bmN0aW9uKGsscixsKXt2b2lkIDA9PT1yJiYocj0wKTt2b2lkIDA9PT1sJiYobD0wKTtrLmRyYXdJbWFnZSh0aGlzLmNhbnZhcyxyLGwsdGhpcy5zY3JlZW5XaWR0aCx0aGlzLnNjcmVlbkhlaWdodCl9O2gucHJvdG90eXBlLmJsaXRDZW50ZXI9ZnVuY3Rpb24oayxyLGwpe3ZvaWQgMD09PXImJihyPTApO3ZvaWQgMD09PWwmJihsPTApO3RoaXMuYmxpdChrLE1hdGguZmxvb3Ioci10aGlzLnNjcmVlbldpZHRoLzIpLE1hdGguZmxvb3IobC10aGlzLnNjcmVlbkhlaWdodC8yKSl9O2gucHJvdG90eXBlLnJlc2l6ZT1mdW5jdGlvbihrLHIsbCl7dm9pZCAwPT09bCYmKGw9ITEpO3ZhciBwPXRoaXMuZGV2aWNlUGl4ZWxSYXRpbzt0aGlzLnNjcmVlbldpZHRoPWs7dGhpcy5zY3JlZW5IZWlnaHQ9cjt0aGlzLnBpeGVsV2lkdGg9aypwO3RoaXMucGl4ZWxIZWlnaHQ9cipwOwpoLnNpemVQaXhlbHModGhpcy5jdHgsayxyLHApO2wmJnRoaXMuY3R4LnRyYW5zbGF0ZShrLzIsay8yKTtyZXR1cm4gdGhpc307aC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oayl7dmFyIHI9dGhpcy5waXhlbFdpZHRoLGw9dGhpcy5waXhlbEhlaWdodCxwPXRoaXMuY3R4O3Auc2F2ZSgpO3Auc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKTtudWxsPT1rP3AuY2xlYXJSZWN0KDAsMCxyLGwpOihwLmZpbGxTdHlsZT1rLHAuZmlsbFJlY3QoMCwwLHIsbCkpO3AucmVzdG9yZSgpO3JldHVybiB0aGlzfTtoLnByb3RvdHlwZS5nZXRJbWFnZURhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jdHguZ2V0SW1hZ2VEYXRhKDAsMCx0aGlzLnBpeGVsV2lkdGgsdGhpcy5waXhlbEhlaWdodCl9O3JldHVybiBofSgpO2YuQ2FudmFzQnVmZmVyPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24ocCxtKXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj0KcH1mb3IodmFyIHEgaW4gbSltLmhhc093blByb3BlcnR5KHEpJiYocFtxXT1tW3FdKTtwLnByb3RvdHlwZT1udWxsPT09bT9PYmplY3QuY3JlYXRlKG0pOihuLnByb3RvdHlwZT1tLnByb3RvdHlwZSxuZXcgbil9LHI9aCgxMyksbD1oKDApO2Q9ZnVuY3Rpb24ocCl7ZnVuY3Rpb24gbSgpe3ZhciBuPW51bGwhPT1wJiZwLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpcztuLl9jbGlja2VkRG93bj0hMTtuLl9kb3VibGVDbGlja2luZz0hMTtuLl9vbkNsaWNrQ2FsbGJhY2tzPW5ldyBsLkNhbGxiYWNrU2V0O24uX29uRG91YmxlQ2xpY2tDYWxsYmFja3M9bmV3IGwuQ2FsbGJhY2tTZXQ7bi5fbW91c2VEb3duQ2FsbGJhY2s9ZnVuY3Rpb24ocSl7cmV0dXJuIG4uX2hhbmRsZUNsaWNrRG93bihxKX07bi5fbW91c2VVcENhbGxiYWNrPWZ1bmN0aW9uKHEsdSl7cmV0dXJuIG4uX2hhbmRsZUNsaWNrVXAocSx1KX07bi5fZGJsQ2xpY2tDYWxsYmFjaz1mdW5jdGlvbihxLHUpe3JldHVybiBuLl9oYW5kbGVEYmxDbGljayhxLAp1KX07bi5fdG91Y2hTdGFydENhbGxiYWNrPWZ1bmN0aW9uKHEsdSl7cmV0dXJuIG4uX2hhbmRsZUNsaWNrRG93bih1W3FbMF1dKX07bi5fdG91Y2hFbmRDYWxsYmFjaz1mdW5jdGlvbihxLHUsdyl7cmV0dXJuIG4uX2hhbmRsZUNsaWNrVXAodVtxWzBdXSx3KX07bi5fdG91Y2hDYW5jZWxDYWxsYmFjaz1mdW5jdGlvbigpe3JldHVybiBuLl9jbGlja2VkRG93bj0hMX07cmV0dXJuIG59ayhtLHApO20ucHJvdG90eXBlLl9hbmNob3I9ZnVuY3Rpb24obil7cC5wcm90b3R5cGUuX2FuY2hvci5jYWxsKHRoaXMsbik7dGhpcy5fbW91c2VEaXNwYXRjaGVyPXIuTW91c2UuZ2V0RGlzcGF0Y2hlcihuKTt0aGlzLl9tb3VzZURpc3BhdGNoZXIub25Nb3VzZURvd24odGhpcy5fbW91c2VEb3duQ2FsbGJhY2spO3RoaXMuX21vdXNlRGlzcGF0Y2hlci5vbk1vdXNlVXAodGhpcy5fbW91c2VVcENhbGxiYWNrKTt0aGlzLl9tb3VzZURpc3BhdGNoZXIub25EYmxDbGljayh0aGlzLl9kYmxDbGlja0NhbGxiYWNrKTsKdGhpcy5fdG91Y2hEaXNwYXRjaGVyPXIuVG91Y2guZ2V0RGlzcGF0Y2hlcihuKTt0aGlzLl90b3VjaERpc3BhdGNoZXIub25Ub3VjaFN0YXJ0KHRoaXMuX3RvdWNoU3RhcnRDYWxsYmFjayk7dGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hFbmQodGhpcy5fdG91Y2hFbmRDYWxsYmFjayk7dGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hDYW5jZWwodGhpcy5fdG91Y2hDYW5jZWxDYWxsYmFjayl9O20ucHJvdG90eXBlLl91bmFuY2hvcj1mdW5jdGlvbigpe3AucHJvdG90eXBlLl91bmFuY2hvci5jYWxsKHRoaXMpO3RoaXMuX21vdXNlRGlzcGF0Y2hlci5vZmZNb3VzZURvd24odGhpcy5fbW91c2VEb3duQ2FsbGJhY2spO3RoaXMuX21vdXNlRGlzcGF0Y2hlci5vZmZNb3VzZVVwKHRoaXMuX21vdXNlVXBDYWxsYmFjayk7dGhpcy5fbW91c2VEaXNwYXRjaGVyLm9mZkRibENsaWNrKHRoaXMuX2RibENsaWNrQ2FsbGJhY2spO3RoaXMuX21vdXNlRGlzcGF0Y2hlcj1udWxsO3RoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaFN0YXJ0KHRoaXMuX3RvdWNoU3RhcnRDYWxsYmFjayk7CnRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaEVuZCh0aGlzLl90b3VjaEVuZENhbGxiYWNrKTt0aGlzLl90b3VjaERpc3BhdGNoZXIub2ZmVG91Y2hDYW5jZWwodGhpcy5fdG91Y2hDYW5jZWxDYWxsYmFjayk7dGhpcy5fdG91Y2hEaXNwYXRjaGVyPW51bGx9O20ucHJvdG90eXBlLl9oYW5kbGVDbGlja0Rvd249ZnVuY3Rpb24obil7bj10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKG4pO3RoaXMuX2lzSW5zaWRlQ29tcG9uZW50KG4pJiYodGhpcy5fY2xpY2tlZERvd249ITAsdGhpcy5fY2xpY2tlZFBvaW50PW4pfTttLnByb3RvdHlwZS5faGFuZGxlQ2xpY2tVcD1mdW5jdGlvbihuLHEpe3ZhciB1PXRoaXMsdz10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKG4pO3RoaXMuX2NsaWNrZWREb3duJiZtLl9wb2ludHNFcXVhbCh3LHRoaXMuX2NsaWNrZWRQb2ludCkmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXt1Ll9kb3VibGVDbGlja2luZ3x8dS5fb25DbGlja0NhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKHcsCnEpfSwwKTt0aGlzLl9jbGlja2VkRG93bj0hMX07bS5wcm90b3R5cGUuX2hhbmRsZURibENsaWNrPWZ1bmN0aW9uKG4scSl7dmFyIHU9dGhpcztuPXRoaXMuX3RyYW5zbGF0ZVRvQ29tcG9uZW50U3BhY2Uobik7dGhpcy5fZG91YmxlQ2xpY2tpbmc9ITA7dGhpcy5fb25Eb3VibGVDbGlja0NhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKG4scSk7c2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiB1Ll9kb3VibGVDbGlja2luZz0hMX0sMCl9O20uX3BvaW50c0VxdWFsPWZ1bmN0aW9uKG4scSl7cmV0dXJuIG4ueD09PXEueCYmbi55PT09cS55fTttLnByb3RvdHlwZS5vbkNsaWNrPWZ1bmN0aW9uKG4pe3RoaXMuX29uQ2xpY2tDYWxsYmFja3MuYWRkKG4pO3JldHVybiB0aGlzfTttLnByb3RvdHlwZS5vZmZDbGljaz1mdW5jdGlvbihuKXt0aGlzLl9vbkNsaWNrQ2FsbGJhY2tzLmRlbGV0ZShuKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUub25Eb3VibGVDbGljaz1mdW5jdGlvbihuKXt0aGlzLl9vbkRvdWJsZUNsaWNrQ2FsbGJhY2tzLmFkZChuKX07Cm0ucHJvdG90eXBlLm9mZkRvdWJsZUNsaWNrPWZ1bmN0aW9uKG4pe3RoaXMuX29uRG91YmxlQ2xpY2tDYWxsYmFja3MuZGVsZXRlKG4pO3JldHVybiB0aGlzfTtyZXR1cm4gbX0oaCgxNSkuSW50ZXJhY3Rpb24pO2YuQ2xpY2s9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXB9Zm9yKHZhciBxIGluIG0pbS5oYXNPd25Qcm9wZXJ0eShxKSYmKHBbcV09bVtxXSk7cC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfSxyPWgoMTMpLGw9aCgwKTtkPWZ1bmN0aW9uKHApe2Z1bmN0aW9uIG0oKXt2YXIgbj1udWxsIT09cCYmcC5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXM7bi5fZHJhZ2dpbmc9ITE7bi5fY29uc3RyYWluZWRUb0NvbXBvbmVudD0hMDtuLl9tb3VzZUZpbHRlcj1tLl9ERUZBVUxUX01PVVNFX0ZJTFRFUjsKbi5fZHJhZ1N0YXJ0Q2FsbGJhY2tzPW5ldyBsLkNhbGxiYWNrU2V0O24uX2RyYWdDYWxsYmFja3M9bmV3IGwuQ2FsbGJhY2tTZXQ7bi5fZHJhZ0VuZENhbGxiYWNrcz1uZXcgbC5DYWxsYmFja1NldDtuLl9tb3VzZURvd25DYWxsYmFjaz1mdW5jdGlvbihxLHUpe3JldHVybiBuLl9zdGFydERyYWcocSx1KX07bi5fbW91c2VNb3ZlQ2FsbGJhY2s9ZnVuY3Rpb24ocSl7cmV0dXJuIG4uX2RvRHJhZyhxKX07bi5fbW91c2VVcENhbGxiYWNrPWZ1bmN0aW9uKHEsdSl7cmV0dXJuIG4uX2VuZERyYWcocSx1KX07bi5fdG91Y2hTdGFydENhbGxiYWNrPWZ1bmN0aW9uKHEsdSx3KXtyZXR1cm4gbi5fc3RhcnREcmFnKHVbcVswXV0sdyl9O24uX3RvdWNoTW92ZUNhbGxiYWNrPWZ1bmN0aW9uKHEsdSl7cmV0dXJuIG4uX2RvRHJhZyh1W3FbMF1dKX07bi5fdG91Y2hFbmRDYWxsYmFjaz1mdW5jdGlvbihxLHUsdyl7cmV0dXJuIG4uX2VuZERyYWcodVtxWzBdXSx3KX07cmV0dXJuIG59ayhtLHApO20ucHJvdG90eXBlLl9hbmNob3I9CmZ1bmN0aW9uKG4pe3AucHJvdG90eXBlLl9hbmNob3IuY2FsbCh0aGlzLG4pO3RoaXMuX21vdXNlRGlzcGF0Y2hlcj1yLk1vdXNlLmdldERpc3BhdGNoZXIodGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbyk7dGhpcy5fbW91c2VEaXNwYXRjaGVyLm9uTW91c2VEb3duKHRoaXMuX21vdXNlRG93bkNhbGxiYWNrKTt0aGlzLl9tb3VzZURpc3BhdGNoZXIub25Nb3VzZU1vdmUodGhpcy5fbW91c2VNb3ZlQ2FsbGJhY2spO3RoaXMuX21vdXNlRGlzcGF0Y2hlci5vbk1vdXNlVXAodGhpcy5fbW91c2VVcENhbGxiYWNrKTt0aGlzLl90b3VjaERpc3BhdGNoZXI9ci5Ub3VjaC5nZXREaXNwYXRjaGVyKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8pO3RoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoU3RhcnQodGhpcy5fdG91Y2hTdGFydENhbGxiYWNrKTt0aGlzLl90b3VjaERpc3BhdGNoZXIub25Ub3VjaE1vdmUodGhpcy5fdG91Y2hNb3ZlQ2FsbGJhY2spO3RoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoRW5kKHRoaXMuX3RvdWNoRW5kQ2FsbGJhY2spfTsKbS5wcm90b3R5cGUuX3VuYW5jaG9yPWZ1bmN0aW9uKCl7cC5wcm90b3R5cGUuX3VuYW5jaG9yLmNhbGwodGhpcyk7dGhpcy5fbW91c2VEaXNwYXRjaGVyLm9mZk1vdXNlRG93bih0aGlzLl9tb3VzZURvd25DYWxsYmFjayk7dGhpcy5fbW91c2VEaXNwYXRjaGVyLm9mZk1vdXNlTW92ZSh0aGlzLl9tb3VzZU1vdmVDYWxsYmFjayk7dGhpcy5fbW91c2VEaXNwYXRjaGVyLm9mZk1vdXNlVXAodGhpcy5fbW91c2VVcENhbGxiYWNrKTt0aGlzLl9tb3VzZURpc3BhdGNoZXI9bnVsbDt0aGlzLl90b3VjaERpc3BhdGNoZXIub2ZmVG91Y2hTdGFydCh0aGlzLl90b3VjaFN0YXJ0Q2FsbGJhY2spO3RoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaE1vdmUodGhpcy5fdG91Y2hNb3ZlQ2FsbGJhY2spO3RoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaEVuZCh0aGlzLl90b3VjaEVuZENhbGxiYWNrKTt0aGlzLl90b3VjaERpc3BhdGNoZXI9bnVsbH07bS5wcm90b3R5cGUuX3RyYW5zbGF0ZUFuZENvbnN0cmFpbj0KZnVuY3Rpb24obil7bj10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKG4pO3JldHVybiB0aGlzLl9jb25zdHJhaW5lZFRvQ29tcG9uZW50P3t4OmwuTWF0aC5jbGFtcChuLngsMCx0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvLndpZHRoKCkpLHk6bC5NYXRoLmNsYW1wKG4ueSwwLHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8uaGVpZ2h0KCkpfTpufTttLnByb3RvdHlwZS5fc3RhcnREcmFnPWZ1bmN0aW9uKG4scSl7cSBpbnN0YW5jZW9mIE1vdXNlRXZlbnQmJiF0aGlzLl9tb3VzZUZpbHRlcihxKXx8KG49dGhpcy5fdHJhbnNsYXRlVG9Db21wb25lbnRTcGFjZShuKSx0aGlzLl9pc0luc2lkZUNvbXBvbmVudChuKSYmKHEucHJldmVudERlZmF1bHQoKSx0aGlzLl9kcmFnZ2luZz0hMCx0aGlzLl9kcmFnT3JpZ2luPW4sdGhpcy5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmNhbGxDYWxsYmFja3ModGhpcy5fZHJhZ09yaWdpbikpKX07bS5wcm90b3R5cGUuX2RvRHJhZz1mdW5jdGlvbihuKXt0aGlzLl9kcmFnZ2luZyYmCnRoaXMuX2RyYWdDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh0aGlzLl9kcmFnT3JpZ2luLHRoaXMuX3RyYW5zbGF0ZUFuZENvbnN0cmFpbihuKSl9O20ucHJvdG90eXBlLl9lbmREcmFnPWZ1bmN0aW9uKG4scSl7cSBpbnN0YW5jZW9mIE1vdXNlRXZlbnQmJjAhPT1xLmJ1dHRvbnx8IXRoaXMuX2RyYWdnaW5nfHwodGhpcy5fZHJhZ2dpbmc9ITEsdGhpcy5fZHJhZ0VuZENhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKHRoaXMuX2RyYWdPcmlnaW4sdGhpcy5fdHJhbnNsYXRlQW5kQ29uc3RyYWluKG4pKSl9O20ucHJvdG90eXBlLmNvbnN0cmFpbmVkVG9Db21wb25lbnQ9ZnVuY3Rpb24oKXt0aGlzLl9jb25zdHJhaW5lZFRvQ29tcG9uZW50PSExfTttLnByb3RvdHlwZS5tb3VzZUZpbHRlcj1mdW5jdGlvbihuKXswIT09YXJndW1lbnRzLmxlbmd0aCYmKHRoaXMuX21vdXNlRmlsdGVyPW4pfTttLnByb3RvdHlwZS5vbkRyYWdTdGFydD1mdW5jdGlvbihuKXt0aGlzLl9kcmFnU3RhcnRDYWxsYmFja3MuYWRkKG4pfTsKbS5wcm90b3R5cGUub2ZmRHJhZ1N0YXJ0PWZ1bmN0aW9uKG4pe3RoaXMuX2RyYWdTdGFydENhbGxiYWNrcy5kZWxldGUobil9O20ucHJvdG90eXBlLm9uRHJhZz1mdW5jdGlvbihuKXt0aGlzLl9kcmFnQ2FsbGJhY2tzLmFkZChuKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUub2ZmRHJhZz1mdW5jdGlvbihuKXt0aGlzLl9kcmFnQ2FsbGJhY2tzLmRlbGV0ZShuKX07bS5wcm90b3R5cGUub25EcmFnRW5kPWZ1bmN0aW9uKG4pe3RoaXMuX2RyYWdFbmRDYWxsYmFja3MuYWRkKG4pfTttLnByb3RvdHlwZS5vZmZEcmFnRW5kPWZ1bmN0aW9uKG4pe3RoaXMuX2RyYWdFbmRDYWxsYmFja3MuZGVsZXRlKG4pfTtyZXR1cm4gbX0oaCgxNSkuSW50ZXJhY3Rpb24pO2QuX0RFRkFVTFRfTU9VU0VfRklMVEVSPWZ1bmN0aW9uKHApe3JldHVybiAwPT09cC5idXR0b259O2YuRHJhZz1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHUsdyl7ZnVuY3Rpb24gQSgpe3RoaXMuY29uc3RydWN0b3I9CnV9Zm9yKHZhciB5IGluIHcpdy5oYXNPd25Qcm9wZXJ0eSh5KSYmKHVbeV09d1t5XSk7dS5wcm90b3R5cGU9bnVsbD09PXc/T2JqZWN0LmNyZWF0ZSh3KTooQS5wcm90b3R5cGU9dy5wcm90b3R5cGUsbmV3IEEpfSxyPWgoMSksbD1oKDEzKSxwPWgoMyksbT1oKDApLG49aCgyNSk7ZD1oKDE1KTt2YXIgcT1oKDI2KTtoPWZ1bmN0aW9uKHUpe2Z1bmN0aW9uIHcoQSx5KXt2YXIgeD11LmNhbGwodGhpcyl8fHRoaXM7eC5fd2hlZWxGaWx0ZXI9ZnVuY3Rpb24oKXtyZXR1cm4hMH07eC5fd2hlZWxDYWxsYmFjaz1mdW5jdGlvbihDLEcpe3JldHVybiB4Ll9oYW5kbGVXaGVlbEV2ZW50KEMsRyl9O3guX3RvdWNoU3RhcnRDYWxsYmFjaz1mdW5jdGlvbihDLEcpe3JldHVybiB4Ll9oYW5kbGVUb3VjaFN0YXJ0KEMsRyl9O3guX3RvdWNoTW92ZUNhbGxiYWNrPWZ1bmN0aW9uKEMsRyl7cmV0dXJuIHguX2hhbmRsZVBpbmNoKEMsRyl9O3guX3RvdWNoRW5kQ2FsbGJhY2s9ZnVuY3Rpb24oQyl7cmV0dXJuIHguX2hhbmRsZVRvdWNoRW5kKEMpfTsKeC5fdG91Y2hDYW5jZWxDYWxsYmFjaz1mdW5jdGlvbihDKXtyZXR1cm4geC5faGFuZGxlVG91Y2hFbmQoQyl9O3guX3BhbkVuZENhbGxiYWNrcz1uZXcgbS5DYWxsYmFja1NldDt4Ll96b29tRW5kQ2FsbGJhY2tzPW5ldyBtLkNhbGxiYWNrU2V0O3guX3Bhblpvb21VcGRhdGVDYWxsYmFja3M9bmV3IG0uQ2FsbGJhY2tTZXQ7eC5feFNjYWxlcz1uZXcgbS5TZXQ7eC5feVNjYWxlcz1uZXcgbS5TZXQ7eC5fZHJhZ0ludGVyYWN0aW9uPW5ldyBuLkRyYWc7eC5fc2V0dXBEcmFnSW50ZXJhY3Rpb24oKTt4Ll90b3VjaElkcz1yLm1hcCgpO3guX21pbkRvbWFpbkV4dGVudHM9bmV3IG0uTWFwO3guX21heERvbWFpbkV4dGVudHM9bmV3IG0uTWFwO3guX21pbkRvbWFpblZhbHVlcz1uZXcgbS5NYXA7eC5fbWF4RG9tYWluVmFsdWVzPW5ldyBtLk1hcDtudWxsIT1BJiZ4LmFkZFhTY2FsZShBKTtudWxsIT15JiZ4LmFkZFlTY2FsZSh5KTtyZXR1cm4geH1rKHcsdSk7dy5wcm90b3R5cGUuZHJhZ0ludGVyYWN0aW9uPQpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9kcmFnSW50ZXJhY3Rpb259O3cucHJvdG90eXBlLndoZWVsRmlsdGVyPWZ1bmN0aW9uKEEpezAhPT1hcmd1bWVudHMubGVuZ3RoJiYodGhpcy5fd2hlZWxGaWx0ZXI9QSl9O3cucHJvdG90eXBlLnBhbj1mdW5jdGlvbihBKXt2YXIgeT10aGlzO3RoaXMueFNjYWxlcygpLmZvckVhY2goZnVuY3Rpb24oeCl7eC5wYW4oeS5fY29uc3RyYWluZWRUcmFuc2xhdGlvbih4LEEueCkpfSk7dGhpcy55U2NhbGVzKCkuZm9yRWFjaChmdW5jdGlvbih4KXt4LnBhbih5Ll9jb25zdHJhaW5lZFRyYW5zbGF0aW9uKHgsQS55KSl9KTt0aGlzLl9wYW5ab29tVXBkYXRlQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3MoKX07dy5wcm90b3R5cGUuem9vbT1mdW5jdGlvbihBLHkseCl7dmFyIEM9dGhpczt2b2lkIDA9PT14JiYoeD0hMCk7aWYobnVsbCE9eSl7dmFyIEc9eS54O3ZhciBEPXkueTt4JiYodGhpcy54U2NhbGVzKCkuZm9yRWFjaChmdW5jdGlvbihCKXtCPUMuX2NvbnN0cmFpbmVkWm9vbShCLApBLEcpO0c9Qi5jZW50ZXJQb2ludDtBPUIuem9vbUFtb3VudH0pLHRoaXMueVNjYWxlcygpLmZvckVhY2goZnVuY3Rpb24oQil7Qj1DLl9jb25zdHJhaW5lZFpvb20oQixBLEQpO0Q9Qi5jZW50ZXJQb2ludDtBPUIuem9vbUFtb3VudH0pKX10aGlzLnhTY2FsZXMoKS5mb3JFYWNoKGZ1bmN0aW9uKEIpe3ZhciBIPUIucmFuZ2UoKTtCLnpvb20oQSxudWxsPT1HPyhIWzFdK0hbMF0pLzI6Ryl9KTt0aGlzLnlTY2FsZXMoKS5mb3JFYWNoKGZ1bmN0aW9uKEIpe3ZhciBIPUIucmFuZ2UoKTtCLnpvb20oQSxudWxsPT1EPyhIWzFdK0hbMF0pLzI6RCl9KTt0aGlzLl9wYW5ab29tVXBkYXRlQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3MoKTtyZXR1cm57em9vbUFtb3VudDpBLGNlbnRlclZhbHVlOntjZW50ZXJYOkcsY2VudGVyWTpEfX19O3cucHJvdG90eXBlLl9hbmNob3I9ZnVuY3Rpb24oQSl7dS5wcm90b3R5cGUuX2FuY2hvci5jYWxsKHRoaXMsQSk7dGhpcy5fZHJhZ0ludGVyYWN0aW9uLmF0dGFjaFRvKEEpOwp0aGlzLl9tb3VzZURpc3BhdGNoZXI9bC5Nb3VzZS5nZXREaXNwYXRjaGVyKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8pO3RoaXMuX21vdXNlRGlzcGF0Y2hlci5vbldoZWVsKHRoaXMuX3doZWVsQ2FsbGJhY2spO3RoaXMuX3RvdWNoRGlzcGF0Y2hlcj1sLlRvdWNoLmdldERpc3BhdGNoZXIodGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbyk7dGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hTdGFydCh0aGlzLl90b3VjaFN0YXJ0Q2FsbGJhY2spO3RoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoTW92ZSh0aGlzLl90b3VjaE1vdmVDYWxsYmFjayk7dGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hFbmQodGhpcy5fdG91Y2hFbmRDYWxsYmFjayk7dGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hDYW5jZWwodGhpcy5fdG91Y2hDYW5jZWxDYWxsYmFjayl9O3cucHJvdG90eXBlLl91bmFuY2hvcj1mdW5jdGlvbigpe3UucHJvdG90eXBlLl91bmFuY2hvci5jYWxsKHRoaXMpO3RoaXMuX21vdXNlRGlzcGF0Y2hlci5vZmZXaGVlbCh0aGlzLl93aGVlbENhbGxiYWNrKTsKdGhpcy5fbW91c2VEaXNwYXRjaGVyPW51bGw7dGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9mZlRvdWNoU3RhcnQodGhpcy5fdG91Y2hTdGFydENhbGxiYWNrKTt0aGlzLl90b3VjaERpc3BhdGNoZXIub2ZmVG91Y2hNb3ZlKHRoaXMuX3RvdWNoTW92ZUNhbGxiYWNrKTt0aGlzLl90b3VjaERpc3BhdGNoZXIub2ZmVG91Y2hFbmQodGhpcy5fdG91Y2hFbmRDYWxsYmFjayk7dGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9mZlRvdWNoQ2FuY2VsKHRoaXMuX3RvdWNoQ2FuY2VsQ2FsbGJhY2spO3RoaXMuX3RvdWNoRGlzcGF0Y2hlcj1udWxsO3RoaXMuX2RyYWdJbnRlcmFjdGlvbi5kZXRhY2goKX07dy5wcm90b3R5cGUuX2hhbmRsZVRvdWNoU3RhcnQ9ZnVuY3Rpb24oQSx5KXtmb3IodmFyIHg9MDt4PEEubGVuZ3RoJiYyPnRoaXMuX3RvdWNoSWRzLnNpemUoKTt4Kyspe3ZhciBDPUFbeF07dGhpcy5fdG91Y2hJZHMuc2V0KEMudG9TdHJpbmcoKSx0aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKHlbQ10pKX19Owp3LnByb3RvdHlwZS5faGFuZGxlUGluY2g9ZnVuY3Rpb24oQSx5KXt2YXIgeD10aGlzO2lmKCEoMj50aGlzLl90b3VjaElkcy5zaXplKCkpKXt2YXIgQz10aGlzLl90b3VjaElkcy52YWx1ZXMoKTtpZih0aGlzLl9pc0luc2lkZUNvbXBvbmVudCh0aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKENbMF0pKSYmdGhpcy5faXNJbnNpZGVDb21wb25lbnQodGhpcy5fdHJhbnNsYXRlVG9Db21wb25lbnRTcGFjZShDWzFdKSkpe3ZhciBHPXcuX3BvaW50RGlzdGFuY2UoQ1swXSxDWzFdKTtpZigwIT09Ryl7QS5mb3JFYWNoKGZ1bmN0aW9uKEwpe3guX3RvdWNoSWRzLmhhcyhMLnRvU3RyaW5nKCkpJiZ4Ll90b3VjaElkcy5zZXQoTC50b1N0cmluZygpLHguX3RyYW5zbGF0ZVRvQ29tcG9uZW50U3BhY2UoeVtMXSkpfSk7QT10aGlzLl90b3VjaElkcy52YWx1ZXMoKTt2YXIgRD13Ll9wb2ludERpc3RhbmNlKEFbMF0sQVsxXSk7aWYoMCE9PUQpe3ZhciBCPUcvRCxIPUEubWFwKGZ1bmN0aW9uKEwsCkope3JldHVybnt4OihMLngtQ1tKXS54KS9CLHk6KEwueS1DW0pdLnkpL0J9fSk7Rz13LmNlbnRlclBvaW50KENbMF0sQ1sxXSk7Rz10aGlzLnpvb20oQixHKTtBPUcuY2VudGVyVmFsdWU7dmFyIEs9Ry56b29tQW1vdW50O0c9QS5jZW50ZXJYO0E9QS5jZW50ZXJZO0Q9Qy5tYXAoZnVuY3Rpb24oTCxKKXtyZXR1cm57eDpIW0pdLngqSytMLngseTpIW0pdLnkqSytMLnl9fSk7dGhpcy5wYW4oe3g6Ry0oRFswXS54K0RbMV0ueCkvMix5OkEtKERbMF0ueStEWzFdLnkpLzJ9KX19fX19O3cuY2VudGVyUG9pbnQ9ZnVuY3Rpb24oQSx5KXtyZXR1cm57eDooTWF0aC5taW4oQS54LHkueCkrTWF0aC5tYXgoQS54LHkueCkpLzIseTooTWF0aC5tYXgoQS55LHkueSkrTWF0aC5taW4oQS55LHkueSkpLzJ9fTt3Ll9wb2ludERpc3RhbmNlPWZ1bmN0aW9uKEEseSl7cmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyhNYXRoLm1heChBLngseS54KS1NYXRoLm1pbihBLngseS54KSwyKStNYXRoLnBvdyhNYXRoLm1heChBLnksCnkueSktTWF0aC5taW4oQS55LHkueSksMikpfTt3LnByb3RvdHlwZS5faGFuZGxlVG91Y2hFbmQ9ZnVuY3Rpb24oQSl7dmFyIHk9dGhpcztBLmZvckVhY2goZnVuY3Rpb24oeCl7eS5fdG91Y2hJZHMucmVtb3ZlKHgudG9TdHJpbmcoKSl9KTswPHRoaXMuX3RvdWNoSWRzLnNpemUoKSYmdGhpcy5fem9vbUVuZENhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKCl9O3cucHJvdG90eXBlLl9oYW5kbGVXaGVlbEV2ZW50PWZ1bmN0aW9uKEEseSl7dGhpcy5fd2hlZWxGaWx0ZXIoeSkmJihBPXRoaXMuX3RyYW5zbGF0ZVRvQ29tcG9uZW50U3BhY2UoQSksdGhpcy5faXNJbnNpZGVDb21wb25lbnQoQSkmJih5LnByZXZlbnREZWZhdWx0KCksdGhpcy56b29tKE1hdGgucG93KDIsKDAhPT15LmRlbHRhWT95LmRlbHRhWTp5LmRlbHRhWCkqKHkuZGVsdGFNb2RlP3cuX1BJWEVMU19QRVJfTElORToxKSouMDAyKSxBKSx0aGlzLl96b29tRW5kQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3MoKSkpfTt3LnByb3RvdHlwZS5fY29uc3RyYWluZWRab29tPQpmdW5jdGlvbihBLHkseCl7cmV0dXJuIHEuY29uc3RyYWluZWRab29tKEEseSx4LHRoaXMubWluRG9tYWluRXh0ZW50KEEpLHRoaXMubWF4RG9tYWluRXh0ZW50KEEpLHRoaXMubWluRG9tYWluVmFsdWUoQSksdGhpcy5tYXhEb21haW5WYWx1ZShBKSl9O3cucHJvdG90eXBlLl9jb25zdHJhaW5lZFRyYW5zbGF0aW9uPWZ1bmN0aW9uKEEseSl7cmV0dXJuIHEuY29uc3RyYWluZWRUcmFuc2xhdGlvbihBLHksdGhpcy5taW5Eb21haW5WYWx1ZShBKSx0aGlzLm1heERvbWFpblZhbHVlKEEpKX07dy5wcm90b3R5cGUuX3NldHVwRHJhZ0ludGVyYWN0aW9uPWZ1bmN0aW9uKCl7dmFyIEE9dGhpczt0aGlzLl9kcmFnSW50ZXJhY3Rpb24uY29uc3RyYWluZWRUb0NvbXBvbmVudCgpO3ZhciB5O3RoaXMuX2RyYWdJbnRlcmFjdGlvbi5vbkRyYWdTdGFydChmdW5jdGlvbigpe3JldHVybiB5PW51bGx9KTt0aGlzLl9kcmFnSW50ZXJhY3Rpb24ub25EcmFnKGZ1bmN0aW9uKHgsQyl7Mjw9QS5fdG91Y2hJZHMuc2l6ZSgpfHwKKEEucGFuKHt4OihudWxsPT15P3gueDp5LngpLUMueCx5OihudWxsPT15P3gueTp5LnkpLUMueX0pLHk9Qyl9KTt0aGlzLl9kcmFnSW50ZXJhY3Rpb24ub25EcmFnRW5kKGZ1bmN0aW9uKCl7cmV0dXJuIEEuX3BhbkVuZENhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKCl9KX07dy5wcm90b3R5cGUuX25vbkxpbmVhclNjYWxlV2l0aEV4dGVudHM9ZnVuY3Rpb24oQSl7cmV0dXJuIG51bGwhPXRoaXMubWluRG9tYWluRXh0ZW50KEEpJiZudWxsIT10aGlzLm1heERvbWFpbkV4dGVudChBKSYmIShBIGluc3RhbmNlb2YgcC5MaW5lYXIpJiYhKEEgaW5zdGFuY2VvZiBwLlRpbWUpfTt3LnByb3RvdHlwZS54U2NhbGVzPWZ1bmN0aW9uKCl7dmFyIEE9W107dGhpcy5feFNjYWxlcy5mb3JFYWNoKGZ1bmN0aW9uKHkpe0EucHVzaCh5KX0pO3JldHVybiBBfTt3LnByb3RvdHlwZS55U2NhbGVzPWZ1bmN0aW9uKCl7dmFyIEE9W107dGhpcy5feVNjYWxlcy5mb3JFYWNoKGZ1bmN0aW9uKHkpe0EucHVzaCh5KX0pOwpyZXR1cm4gQX07dy5wcm90b3R5cGUuYWRkWFNjYWxlPWZ1bmN0aW9uKEEpe3RoaXMuX3hTY2FsZXMuYWRkKEEpfTt3LnByb3RvdHlwZS5yZW1vdmVYU2NhbGU9ZnVuY3Rpb24oQSl7dGhpcy5feFNjYWxlcy5kZWxldGUoQSk7dGhpcy5fbWluRG9tYWluRXh0ZW50cy5kZWxldGUoQSk7dGhpcy5fbWF4RG9tYWluRXh0ZW50cy5kZWxldGUoQSk7dGhpcy5fbWluRG9tYWluVmFsdWVzLmRlbGV0ZShBKTt0aGlzLl9tYXhEb21haW5WYWx1ZXMuZGVsZXRlKEEpO3JldHVybiB0aGlzfTt3LnByb3RvdHlwZS5hZGRZU2NhbGU9ZnVuY3Rpb24oQSl7dGhpcy5feVNjYWxlcy5hZGQoQSl9O3cucHJvdG90eXBlLnJlbW92ZVlTY2FsZT1mdW5jdGlvbihBKXt0aGlzLl95U2NhbGVzLmRlbGV0ZShBKTt0aGlzLl9taW5Eb21haW5FeHRlbnRzLmRlbGV0ZShBKTt0aGlzLl9tYXhEb21haW5FeHRlbnRzLmRlbGV0ZShBKTt0aGlzLl9taW5Eb21haW5WYWx1ZXMuZGVsZXRlKEEpO3RoaXMuX21heERvbWFpblZhbHVlcy5kZWxldGUoQSk7CnJldHVybiB0aGlzfTt3LnByb3RvdHlwZS5taW5Eb21haW5FeHRlbnQ9ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuX21pbkRvbWFpbkV4dGVudHMuZ2V0KEEpfTt3LnByb3RvdHlwZS5tYXhEb21haW5FeHRlbnQ9ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuX21heERvbWFpbkV4dGVudHMuZ2V0KEEpfTt3LnByb3RvdHlwZS5taW5Eb21haW5WYWx1ZT1mdW5jdGlvbihBLHkpe2lmKG51bGw9PXkpcmV0dXJuIHRoaXMuX21pbkRvbWFpblZhbHVlcy5nZXQoQSk7dGhpcy5fbWluRG9tYWluVmFsdWVzLnNldChBLHkpO3JldHVybiB0aGlzfTt3LnByb3RvdHlwZS5tYXhEb21haW5WYWx1ZT1mdW5jdGlvbihBLHkpe2lmKG51bGw9PXkpcmV0dXJuIHRoaXMuX21heERvbWFpblZhbHVlcy5nZXQoQSk7dGhpcy5fbWF4RG9tYWluVmFsdWVzLnNldChBLHkpO3JldHVybiB0aGlzfTt3LnByb3RvdHlwZS5zZXRNaW5NYXhEb21haW5WYWx1ZXNUbz1mdW5jdGlvbihBKXt0aGlzLl9taW5Eb21haW5WYWx1ZXMuZGVsZXRlKEEpOwp0aGlzLl9tYXhEb21haW5WYWx1ZXMuZGVsZXRlKEEpO3ZhciB5PUEuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKSx4PXlbMV07dGhpcy5taW5Eb21haW5WYWx1ZShBLHlbMF0pO3RoaXMubWF4RG9tYWluVmFsdWUoQSx4KTtyZXR1cm4gdGhpc307dy5wcm90b3R5cGUub25QYW5FbmQ9ZnVuY3Rpb24oQSl7dGhpcy5fcGFuRW5kQ2FsbGJhY2tzLmFkZChBKX07dy5wcm90b3R5cGUub2ZmUGFuRW5kPWZ1bmN0aW9uKEEpe3RoaXMuX3BhbkVuZENhbGxiYWNrcy5kZWxldGUoQSk7cmV0dXJuIHRoaXN9O3cucHJvdG90eXBlLm9uWm9vbUVuZD1mdW5jdGlvbihBKXt0aGlzLl96b29tRW5kQ2FsbGJhY2tzLmFkZChBKX07dy5wcm90b3R5cGUub2ZmWm9vbUVuZD1mdW5jdGlvbihBKXt0aGlzLl96b29tRW5kQ2FsbGJhY2tzLmRlbGV0ZShBKTtyZXR1cm4gdGhpc307dy5wcm90b3R5cGUub25QYW5ab29tVXBkYXRlPWZ1bmN0aW9uKEEpe3RoaXMuX3Bhblpvb21VcGRhdGVDYWxsYmFja3MuYWRkKEEpOwpyZXR1cm4gdGhpc307dy5wcm90b3R5cGUub2ZmUGFuWm9vbVVwZGF0ZT1mdW5jdGlvbihBKXt0aGlzLl9wYW5ab29tVXBkYXRlQ2FsbGJhY2tzLmRlbGV0ZShBKTtyZXR1cm4gdGhpc307cmV0dXJuIHd9KGQuSW50ZXJhY3Rpb24pO2guX1BJWEVMU19QRVJfTElORT0xMjA7Zi5QYW5ab29tPWh9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24ocCxtKXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj1wfWZvcih2YXIgcSBpbiBtKW0uaGFzT3duUHJvcGVydHkocSkmJihwW3FdPW1bcV0pO3AucHJvdG90eXBlPW51bGw9PT1tP09iamVjdC5jcmVhdGUobSk6KG4ucHJvdG90eXBlPW0ucHJvdG90eXBlLG5ldyBuKX0scj1oKDEzKSxsPWgoMCk7ZD1mdW5jdGlvbihwKXtmdW5jdGlvbiBtKCl7dmFyIG49bnVsbCE9PXAmJnAuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzO24uX292ZXJDb21wb25lbnQ9ITE7bi5fcG9pbnRlckVudGVyQ2FsbGJhY2tzPQpuZXcgbC5DYWxsYmFja1NldDtuLl9wb2ludGVyTW92ZUNhbGxiYWNrcz1uZXcgbC5DYWxsYmFja1NldDtuLl9wb2ludGVyRXhpdENhbGxiYWNrcz1uZXcgbC5DYWxsYmFja1NldDtuLl9tb3VzZU1vdmVDYWxsYmFjaz1mdW5jdGlvbihxLHUpe3JldHVybiBuLl9oYW5kbGVNb3VzZUV2ZW50KHEsdSl9O24uX3RvdWNoU3RhcnRDYWxsYmFjaz1mdW5jdGlvbihxLHUsdyl7cmV0dXJuIG4uX2hhbmRsZVRvdWNoRXZlbnQodVtxWzBdXSx3KX07cmV0dXJuIG59ayhtLHApO20ucHJvdG90eXBlLl9hbmNob3I9ZnVuY3Rpb24obil7cC5wcm90b3R5cGUuX2FuY2hvci5jYWxsKHRoaXMsbik7dGhpcy5fbW91c2VEaXNwYXRjaGVyPXIuTW91c2UuZ2V0RGlzcGF0Y2hlcih0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvKTt0aGlzLl9tb3VzZURpc3BhdGNoZXIub25Nb3VzZU1vdmUodGhpcy5fbW91c2VNb3ZlQ2FsbGJhY2spO3RoaXMuX3RvdWNoRGlzcGF0Y2hlcj1yLlRvdWNoLmdldERpc3BhdGNoZXIodGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbyk7CnRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoU3RhcnQodGhpcy5fdG91Y2hTdGFydENhbGxiYWNrKX07bS5wcm90b3R5cGUuX3VuYW5jaG9yPWZ1bmN0aW9uKCl7cC5wcm90b3R5cGUuX3VuYW5jaG9yLmNhbGwodGhpcyk7dGhpcy5fbW91c2VEaXNwYXRjaGVyLm9mZk1vdXNlTW92ZSh0aGlzLl9tb3VzZU1vdmVDYWxsYmFjayk7dGhpcy5fbW91c2VEaXNwYXRjaGVyPW51bGw7dGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9mZlRvdWNoU3RhcnQodGhpcy5fdG91Y2hTdGFydENhbGxiYWNrKTt0aGlzLl90b3VjaERpc3BhdGNoZXI9bnVsbH07bS5wcm90b3R5cGUuX2hhbmRsZU1vdXNlRXZlbnQ9ZnVuY3Rpb24obixxKXtxPXRoaXMuX21vdXNlRGlzcGF0Y2hlci5ldmVudEluc2lkZSh0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvLHEpO3RoaXMuX2hhbmRsZVBvaW50ZXJFdmVudChuLHEpfTttLnByb3RvdHlwZS5faGFuZGxlVG91Y2hFdmVudD1mdW5jdGlvbihuLHEpe3E9dGhpcy5fdG91Y2hEaXNwYXRjaGVyLmV2ZW50SW5zaWRlKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8sCnEpO3RoaXMuX2hhbmRsZVBvaW50ZXJFdmVudChuLHEpfTttLnByb3RvdHlwZS5faGFuZGxlUG9pbnRlckV2ZW50PWZ1bmN0aW9uKG4scSl7bj10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKG4pO3ZhciB1PXRoaXMuX2lzSW5zaWRlQ29tcG9uZW50KG4pO3UmJnE/KHRoaXMuX292ZXJDb21wb25lbnR8fHRoaXMuX3BvaW50ZXJFbnRlckNhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKG4pLHRoaXMuX3BvaW50ZXJNb3ZlQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3MobikpOnRoaXMuX292ZXJDb21wb25lbnQmJnRoaXMuX3BvaW50ZXJFeGl0Q2FsbGJhY2tzLmNhbGxDYWxsYmFja3Mobik7dGhpcy5fb3ZlckNvbXBvbmVudD11JiZxfTttLnByb3RvdHlwZS5vblBvaW50ZXJFbnRlcj1mdW5jdGlvbihuKXt0aGlzLl9wb2ludGVyRW50ZXJDYWxsYmFja3MuYWRkKG4pO3JldHVybiB0aGlzfTttLnByb3RvdHlwZS5vZmZQb2ludGVyRW50ZXI9ZnVuY3Rpb24obil7dGhpcy5fcG9pbnRlckVudGVyQ2FsbGJhY2tzLmRlbGV0ZShuKTsKcmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLm9uUG9pbnRlck1vdmU9ZnVuY3Rpb24obil7dGhpcy5fcG9pbnRlck1vdmVDYWxsYmFja3MuYWRkKG4pfTttLnByb3RvdHlwZS5vZmZQb2ludGVyTW92ZT1mdW5jdGlvbihuKXt0aGlzLl9wb2ludGVyTW92ZUNhbGxiYWNrcy5kZWxldGUobik7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLm9uUG9pbnRlckV4aXQ9ZnVuY3Rpb24obil7dGhpcy5fcG9pbnRlckV4aXRDYWxsYmFja3MuYWRkKG4pfTttLnByb3RvdHlwZS5vZmZQb2ludGVyRXhpdD1mdW5jdGlvbihuKXt0aGlzLl9wb2ludGVyRXhpdENhbGxiYWNrcy5kZWxldGUobik7cmV0dXJuIHRoaXN9O3JldHVybiBtfShoKDE1KS5JbnRlcmFjdGlvbik7Zi5Qb2ludGVyPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz1oKDIwKTtmLm1lbVRodW5rPWZ1bmN0aW9uKCl7Zm9yKHZhciByPVtdLGw9MDtsPGFyZ3VtZW50cy5sZW5ndGg7bCsrKXJbbF09YXJndW1lbnRzW2xdO3ZhciBwPXIuc2xpY2UoMCwKLTEpLG09ay5tZW1vaXplKHJbci5sZW5ndGgtMV0pO3JldHVybiBmdW5jdGlvbigpe3ZhciBuPXRoaXMscT1wLm1hcChmdW5jdGlvbih1KXtyZXR1cm4gdS5hcHBseShuKX0pO3JldHVybiBtLmFwcGx5KHZvaWQgMCxxKX19fSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9aCg0OSk7Zi5tZW1vaXplPWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIGwoKXtmb3IodmFyIHU9W10sdz0wO3c8YXJndW1lbnRzLmxlbmd0aDt3KyspdVt3XT1hcmd1bWVudHNbd107aWYobilyZXR1cm4gbTt3PWsuc2lnbkFycmF5KHUpO3ZvaWQgMD09PXB8fHAuaXNEaWZmZXJlbnQodyk/KHEmJmNvbnNvbGUubG9nKCJjYWNoZSBtaXNzISBjb21wdXRpbmciKSxwPXcsbT1yLmFwcGx5KHRoaXMsdSkpOnEmJmNvbnNvbGUubG9nKCJjYWNoZSBoaXQhIik7cmV0dXJuIG19dmFyIHA9dm9pZCAwLG0sbj0hMSxxPSExO2wuZG9Mb2NrZWQ9ZnVuY3Rpb24odSl7aWYobil0aHJvdyBFcnJvcigiTG9ja2luZyBhbiBhbHJlYWR5IGxvY2tlZCBtZW1vaXplIGZ1bmN0aW9uISIpOwpuPSEwO3U9dS5hcHBseSh0aGlzKTtuPSExO3JldHVybiB1fTtsLmxvZ1BlcmZvcm1hbmNlPWZ1bmN0aW9uKHUpe3ZvaWQgMD09PXUmJih1PSEwKTtxPXU7cmV0dXJuIHRoaXN9O3JldHVybiBsfX0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihuLHEpe2Z1bmN0aW9uIHUoKXt0aGlzLmNvbnN0cnVjdG9yPW59Zm9yKHZhciB3IGluIHEpcS5oYXNPd25Qcm9wZXJ0eSh3KSYmKG5bd109cVt3XSk7bi5wcm90b3R5cGU9bnVsbD09PXE/T2JqZWN0LmNyZWF0ZShxKToodS5wcm90b3R5cGU9cS5wcm90b3R5cGUsbmV3IHUpfSxyPWgoMyksbD1oKDApLHA9aCgyNyksbT1oKDIpO2Q9ZnVuY3Rpb24obil7ZnVuY3Rpb24gcSh1KXt2b2lkIDA9PT11JiYodT0idmVydGljYWwiKTt1PW4uY2FsbCh0aGlzLHUpfHx0aGlzO3UuX2NsdXN0ZXJPZmZzZXRzPW5ldyBsLk1hcDtyZXR1cm4gdX1rKHEsbik7cS5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yPQpmdW5jdGlvbigpe2Z1bmN0aW9uIHUoKXtyZXR1cm4geS5yYW5nZUJhbmQoKX12YXIgdz10aGlzLEE9bi5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yLmNhbGwodGhpcykseT10aGlzLl9tYWtlSW5uZXJTY2FsZSgpO0Eud2lkdGg9dGhpcy5faXNWZXJ0aWNhbD91OkEud2lkdGg7QS5oZWlnaHQ9dGhpcy5faXNWZXJ0aWNhbD9BLmhlaWdodDp1O3ZhciB4PUEueCxDPUEueTtBLng9dGhpcy5faXNWZXJ0aWNhbD9mdW5jdGlvbihHLEQsQil7cmV0dXJuIHgoRyxELEIpK3cuX2NsdXN0ZXJPZmZzZXRzLmdldChCKX06ZnVuY3Rpb24oRyxELEIpe3JldHVybiB4KEcsRCxCKX07QS55PXRoaXMuX2lzVmVydGljYWw/ZnVuY3Rpb24oRyxELEIpe3JldHVybiBDKEcsRCxCKX06ZnVuY3Rpb24oRyxELEIpe3JldHVybiBDKEcsRCxCKSt3Ll9jbHVzdGVyT2Zmc2V0cy5nZXQoQil9O3JldHVybiBBfTtxLnByb3RvdHlwZS5fdXBkYXRlQ2x1c3RlclBvc2l0aW9uPWZ1bmN0aW9uKCl7dmFyIHU9CnRoaXMsdz10aGlzLl9tYWtlSW5uZXJTY2FsZSgpO3RoaXMuZGF0YXNldHMoKS5mb3JFYWNoKGZ1bmN0aW9uKEEseSl7cmV0dXJuIHUuX2NsdXN0ZXJPZmZzZXRzLnNldChBLHcuc2NhbGUoU3RyaW5nKHkpKS13LnJhbmdlQmFuZCgpLzIpfSl9O3EucHJvdG90eXBlLl9tYWtlSW5uZXJTY2FsZT1mdW5jdGlvbigpe3ZhciB1PW5ldyByLkNhdGVnb3J5O3UuZG9tYWluKHRoaXMuZGF0YXNldHMoKS5tYXAoZnVuY3Rpb24oQSx5KXtyZXR1cm4gU3RyaW5nKHkpfSkpO3ZhciB3PW0uUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5hdHRyKHAuQmFyLl9CQVJfVEhJQ0tORVNTX0tFWSkpO3UucmFuZ2UoWzAsdyhudWxsLDAsbnVsbCldKTtyZXR1cm4gdX07cS5wcm90b3R5cGUuX2dldERhdGFUb0RyYXc9ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVDbHVzdGVyUG9zaXRpb24oKTtyZXR1cm4gbi5wcm90b3R5cGUuX2dldERhdGFUb0RyYXcuY2FsbCh0aGlzKX07cmV0dXJuIHF9KHAuQmFyKTtmLkNsdXN0ZXJlZEJhcj0KZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihDLEcpe2Z1bmN0aW9uIEQoKXt0aGlzLmNvbnN0cnVjdG9yPUN9Zm9yKHZhciBCIGluIEcpRy5oYXNPd25Qcm9wZXJ0eShCKSYmKENbQl09R1tCXSk7Qy5wcm90b3R5cGU9bnVsbD09PUc/T2JqZWN0LmNyZWF0ZShHKTooRC5wcm90b3R5cGU9Ry5wcm90b3R5cGUsbmV3IEQpfSxyPWgoMSksbD1oKDUpLHA9aCg3KSxtPWgoOCksbj1oKDMpLHE9aCgwKSx1PWgoNDQpLHc9aCg0NSksQT1oKDYpLHk9aCgzNSkseD1oKDIpO2Q9ZnVuY3Rpb24oQyl7ZnVuY3Rpb24gRygpe3ZhciBEPUMuY2FsbCh0aGlzKXx8dGhpcztELl9zdGFydEFuZ2xlPTA7RC5fZW5kQW5nbGU9MipNYXRoLlBJO0QuX2xhYmVsRm9ybWF0dGVyPW0uaWRlbnRpdHkoKTtELl9sYWJlbHNFbmFibGVkPSExO0QuaW5uZXJSYWRpdXMoMCk7RC5vdXRlclJhZGl1cyhmdW5jdGlvbigpe3ZhciBCPUQuX3BpZUNlbnRlcigpO3JldHVybiBNYXRoLm1pbihNYXRoLm1heChELndpZHRoKCktCkIueCxCLngpLE1hdGgubWF4KEQuaGVpZ2h0KCktQi55LEIueSkpfSk7RC5hZGRDbGFzcygicGllLXBsb3QiKTtELmF0dHIoImZpbGwiLGZ1bmN0aW9uKEIsSCl7cmV0dXJuIFN0cmluZyhIKX0sbmV3IG4uQ29sb3IpO0QuX3N0cm9rZURyYXdlcnM9bmV3IHEuTWFwO3JldHVybiBEfWsoRyxDKTtHLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt2YXIgRD10aGlzO0MucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpO3RoaXMuX3N0cm9rZURyYXdlcnMuZm9yRWFjaChmdW5jdGlvbihCKXtyZXR1cm4gQi5hdHRhY2hUbyhELl9yZW5kZXJBcmVhKX0pfTtHLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PWZ1bmN0aW9uKEQsQixIKXtDLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcyxELEIsSCk7RD10aGlzLl9waWVDZW50ZXIoKTt0aGlzLl9yZW5kZXJBcmVhLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK0QueCsiLCIrRC55KyIpIik7RD1NYXRoLm1pbihNYXRoLm1heCh0aGlzLndpZHRoKCktCkQueCxELngpLE1hdGgubWF4KHRoaXMuaGVpZ2h0KCktRC55LEQueSkpO251bGwhPXRoaXMuaW5uZXJSYWRpdXMoKS5zY2FsZSYmdGhpcy5pbm5lclJhZGl1cygpLnNjYWxlLnJhbmdlKFswLERdKTtudWxsIT10aGlzLm91dGVyUmFkaXVzKCkuc2NhbGUmJnRoaXMub3V0ZXJSYWRpdXMoKS5zY2FsZS5yYW5nZShbMCxEXSk7cmV0dXJuIHRoaXN9O0cucHJvdG90eXBlLmFkZERhdGFzZXQ9ZnVuY3Rpb24oRCl7Qy5wcm90b3R5cGUuYWRkRGF0YXNldC5jYWxsKHRoaXMsRCl9O0cucHJvdG90eXBlLl9hZGREYXRhc2V0PWZ1bmN0aW9uKEQpe2lmKDE9PT10aGlzLmRhdGFzZXRzKCkubGVuZ3RoKXJldHVybiBxLldpbmRvdy53YXJuKCJPbmx5IG9uZSBkYXRhc2V0IGlzIHN1cHBvcnRlZCBpbiBQaWUgcGxvdHMiKSx0aGlzO3RoaXMuX3VwZGF0ZVBpZUFuZ2xlcygpO3ZhciBCPW5ldyB3LkFyY091dGxpbmVTVkdEcmF3ZXI7dGhpcy5faXNTZXR1cCYmQi5hdHRhY2hUbyh0aGlzLl9yZW5kZXJBcmVhKTsKdGhpcy5fc3Ryb2tlRHJhd2Vycy5zZXQoRCxCKTtDLnByb3RvdHlwZS5fYWRkRGF0YXNldC5jYWxsKHRoaXMsRCk7cmV0dXJuIHRoaXN9O0cucHJvdG90eXBlLnJlbW92ZURhdGFzZXQ9ZnVuY3Rpb24oRCl7Qy5wcm90b3R5cGUucmVtb3ZlRGF0YXNldC5jYWxsKHRoaXMsRCl9O0cucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0Tm9kZXM9ZnVuY3Rpb24oRCl7Qy5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXROb2Rlcy5jYWxsKHRoaXMsRCk7dGhpcy5fc3Ryb2tlRHJhd2Vycy5nZXQoRCkucmVtb3ZlKCl9O0cucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0PWZ1bmN0aW9uKEQpe0MucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0LmNhbGwodGhpcyxEKTt0aGlzLl9zdGFydEFuZ2xlcz1bXTt0aGlzLl9lbmRBbmdsZXM9W107cmV0dXJuIHRoaXN9O0cucHJvdG90eXBlLnNlbGVjdGlvbnM9ZnVuY3Rpb24oRCl7dmFyIEI9dGhpczt2b2lkIDA9PT1EJiYoRD10aGlzLmRhdGFzZXRzKCkpO3ZhciBIPUMucHJvdG90eXBlLnNlbGVjdGlvbnMuY2FsbCh0aGlzLApEKS5ub2RlcygpO0QuZm9yRWFjaChmdW5jdGlvbihLKXtLPUIuX3N0cm9rZURyYXdlcnMuZ2V0KEspO251bGwhPUsmJkgucHVzaC5hcHBseShILEsuZ2V0VmlzdWFsUHJpbWl0aXZlcygpKX0pO3JldHVybiByLnNlbGVjdEFsbChIKX07Ry5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZT1mdW5jdGlvbigpe0MucHJvdG90eXBlLl9vbkRhdGFzZXRVcGRhdGUuY2FsbCh0aGlzKTt0aGlzLl91cGRhdGVQaWVBbmdsZXMoKTt0aGlzLnJlbmRlcigpfTtHLnByb3RvdHlwZS5fY3JlYXRlRHJhd2VyPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBLlByb3h5RHJhd2VyKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB1LkFyY1NWR0RyYXdlcn0sZnVuY3Rpb24oKXt5Lndhcm4oImNhbnZhcyByZW5kZXJlciBpcyBub3Qgc3VwcG9ydGVkIG9uIFBpZSBQbG90ISIpO3JldHVybiBudWxsfSl9O0cucHJvdG90eXBlLmVudGl0aWVzPWZ1bmN0aW9uKEQpe3ZhciBCPXRoaXM7dm9pZCAwPT09RCYmKEQ9dGhpcy5kYXRhc2V0cygpKTsKcmV0dXJuIEMucHJvdG90eXBlLmVudGl0aWVzLmNhbGwodGhpcyxEKS5tYXAoZnVuY3Rpb24oSCl7SC5wb3NpdGlvbi54Kz1CLndpZHRoKCkvMjtILnBvc2l0aW9uLnkrPUIuaGVpZ2h0KCkvMjt2YXIgSz1yLnNlbGVjdChCLl9zdHJva2VEcmF3ZXJzLmdldChILmRhdGFzZXQpLmdldFZpc3VhbFByaW1pdGl2ZUF0SW5kZXgoSC5pbmRleCkpO0guc3Ryb2tlU2VsZWN0aW9uPUs7cmV0dXJuIEh9KX07Ry5wcm90b3R5cGUuc2VjdG9yVmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoRy5fU0VDVE9SX1ZBTFVFX0tFWSl9O0cucHJvdG90eXBlLmlubmVyUmFkaXVzPWZ1bmN0aW9uKEQsQil7aWYobnVsbD09RClyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoRy5fSU5ORVJfUkFESVVTX0tFWSk7dGhpcy5fYmluZFByb3BlcnR5KEcuX0lOTkVSX1JBRElVU19LRVksRCxCKTt0aGlzLnJlbmRlcigpO3JldHVybiB0aGlzfTtHLnByb3RvdHlwZS5vdXRlclJhZGl1cz0KZnVuY3Rpb24oRCxCKXtpZihudWxsPT1EKXJldHVybiB0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldChHLl9PVVRFUl9SQURJVVNfS0VZKTt0aGlzLl9iaW5kUHJvcGVydHkoRy5fT1VURVJfUkFESVVTX0tFWSxELEIpO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O0cucHJvdG90eXBlLnN0YXJ0QW5nbGU9ZnVuY3Rpb24oRCl7aWYobnVsbD09RClyZXR1cm4gdGhpcy5fc3RhcnRBbmdsZTt0aGlzLl9zdGFydEFuZ2xlPUQ7dGhpcy5fdXBkYXRlUGllQW5nbGVzKCk7dGhpcy5yZW5kZXIoKTtyZXR1cm4gdGhpc307Ry5wcm90b3R5cGUuZW5kQW5nbGU9ZnVuY3Rpb24oRCl7aWYobnVsbD09RClyZXR1cm4gdGhpcy5fZW5kQW5nbGU7dGhpcy5fZW5kQW5nbGU9RDt0aGlzLl91cGRhdGVQaWVBbmdsZXMoKTt0aGlzLnJlbmRlcigpO3JldHVybiB0aGlzfTtHLnByb3RvdHlwZS5sYWJlbHNFbmFibGVkPWZ1bmN0aW9uKEQpe2lmKG51bGw9PUQpcmV0dXJuIHRoaXMuX2xhYmVsc0VuYWJsZWQ7CnRoaXMuX2xhYmVsc0VuYWJsZWQ9RDt0aGlzLnJlbmRlcigpO3JldHVybiB0aGlzfTtHLnByb3RvdHlwZS5sYWJlbEZvcm1hdHRlcj1mdW5jdGlvbihEKXtpZihudWxsPT1EKXJldHVybiB0aGlzLl9sYWJlbEZvcm1hdHRlcjt0aGlzLl9sYWJlbEZvcm1hdHRlcj1EO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O0cucHJvdG90eXBlLmVudGl0aWVzQXQ9ZnVuY3Rpb24oRCl7dmFyIEI9dGhpcy53aWR0aCgpLzIsSD10aGlzLmhlaWdodCgpLzI7RD10aGlzLl9zbGljZUluZGV4Rm9yUG9pbnQoe3g6RC54LUIseTpELnktSH0pO3JldHVybiBudWxsPT1EP1tdOlt0aGlzLmVudGl0aWVzKClbRF1dfTtHLnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzPWZ1bmN0aW9uKCl7dmFyIEQ9dGhpcyxCPUMucHJvdG90eXBlLl9wcm9wZXJ0eVByb2plY3RvcnMuY2FsbCh0aGlzKSxIPXguUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5pbm5lclJhZGl1cygpKSxLPXguUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5vdXRlclJhZGl1cygpKTsKQi5kPWZ1bmN0aW9uKEwsSixPKXtyZXR1cm4gci5hcmMoKS5pbm5lclJhZGl1cyhIKEwsSixPKSkub3V0ZXJSYWRpdXMoSyhMLEosTykpLnN0YXJ0QW5nbGUoRC5fc3RhcnRBbmdsZXNbSl0pLmVuZEFuZ2xlKEQuX2VuZEFuZ2xlc1tKXSkoTCxKKX07cmV0dXJuIEJ9O0cucHJvdG90eXBlLl91cGRhdGVQaWVBbmdsZXM9ZnVuY3Rpb24oKXtpZihudWxsIT10aGlzLnNlY3RvclZhbHVlKCkmJjAhPT10aGlzLmRhdGFzZXRzKCkubGVuZ3RoKXt2YXIgRD14LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMuc2VjdG9yVmFsdWUoKSksQj10aGlzLmRhdGFzZXRzKClbMF0sSD10aGlzLl9nZXREYXRhVG9EcmF3KCkuZ2V0KEIpO0g9ci5waWUoKS5zb3J0KG51bGwpLnN0YXJ0QW5nbGUodGhpcy5fc3RhcnRBbmdsZSkuZW5kQW5nbGUodGhpcy5fZW5kQW5nbGUpLnZhbHVlKGZ1bmN0aW9uKEssTCl7cmV0dXJuIEQoSyxMLEIpfSkoSCk7dGhpcy5fc3RhcnRBbmdsZXM9SC5tYXAoZnVuY3Rpb24oSyl7cmV0dXJuIEsuc3RhcnRBbmdsZX0pOwp0aGlzLl9lbmRBbmdsZXM9SC5tYXAoZnVuY3Rpb24oSyl7cmV0dXJuIEsuZW5kQW5nbGV9KX19O0cucHJvdG90eXBlLl9waWVDZW50ZXI9ZnVuY3Rpb24oKXt2YXIgRD10aGlzLl9zdGFydEFuZ2xlPHRoaXMuX2VuZEFuZ2xlP3RoaXMuX3N0YXJ0QW5nbGU6dGhpcy5fZW5kQW5nbGUsQj10aGlzLl9zdGFydEFuZ2xlPHRoaXMuX2VuZEFuZ2xlP3RoaXMuX2VuZEFuZ2xlOnRoaXMuX3N0YXJ0QW5nbGUsSD1NYXRoLnNpbihEKTtEPU1hdGguY29zKEQpO3ZhciBLPU1hdGguc2luKEIpO0I9TWF0aC5jb3MoQik7dmFyIEw7aWYoMDw9SCYmMDw9SylpZigwPD1EJiYwPD1CKXt2YXIgSj1EO3ZhciBPPUw9MDt2YXIgUz1LfWVsc2UgMD5EJiYwPkI/KEo9MCxMPS1CLE89MCxTPUgpOjA8PUQmJjA+Qj8oSj1ELEw9LUIsTz0wLFM9SCk6MD5EJiYwPD1CJiYoTz1MPUo9MSxTPU1hdGgubWF4KEgsSykpO2Vsc2UgMDw9SCYmMD5LPzA8PUQmJjA8PUI/KEo9TWF0aC5tYXgoRCxCKSxTPU89TD0xKTowPkQmJgowPkI/KEo9MCxMPTEsTz0tSyxTPUgpOjA8PUQmJjA+Qj8oSj1ELEw9MSxPPS1LLFM9MSk6MD5EJiYwPD1CJiYoSj1CLE89TD0xLFM9SCk6MD5IJiYwPD1LPzA8PUQmJjA8PUI/KEo9MSxMPTAsTz0tSCxTPUspOjA+RCYmMD5CPyhKPTEsTD1NYXRoLm1heCgtRCwtQiksUz1PPTEpOjA8PUQmJjA+Qj8oSj0xLEw9LUIsTz0tSCxTPTEpOjA+RCYmMDw9QiYmKEo9MSxMPS1ELE89MSxTPUspOjA+SCYmMD5LJiYoMDw9RCYmMDw9Qj8oSj1CLEw9MCxPPS1ILFM9MCk6MD5EJiYwPkI/KEo9MCxMPS1ELE89LUssUz0wKTowPD1EJiYwPkI/KEw9Sj0xLE89TWF0aC5tYXgoRCwtQiksUz0xKTowPkQmJjA8PUImJihKPUIsTD0tRCxPPTEsUz0wKSk7cmV0dXJue3g6MD09TytTPzA6Ty8oTytTKSp0aGlzLndpZHRoKCkseTowPT1KK0w/MDpKLyhKK0wpKnRoaXMuaGVpZ2h0KCl9fTtHLnByb3RvdHlwZS5fZ2V0RGF0YVRvRHJhdz1mdW5jdGlvbigpe3ZhciBEPUMucHJvdG90eXBlLl9nZXREYXRhVG9EcmF3LmNhbGwodGhpcyk7CmlmKDA9PT10aGlzLmRhdGFzZXRzKCkubGVuZ3RoKXJldHVybiBEO3ZhciBCPXguUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5zZWN0b3JWYWx1ZSgpKSxIPXRoaXMuZGF0YXNldHMoKVswXSxLPUQuZ2V0KEgpLmZpbHRlcihmdW5jdGlvbihMLEope3JldHVybiBHLl9pc1ZhbGlkRGF0YShCKEwsSixIKSl9KTtELnNldChILEspO3JldHVybiBEfTtHLl9pc1ZhbGlkRGF0YT1mdW5jdGlvbihEKXtyZXR1cm4gcS5NYXRoLmlzVmFsaWROdW1iZXIoRCkmJjA8PUR9O0cucHJvdG90eXBlLl9waXhlbFBvaW50PWZ1bmN0aW9uKEQsQixIKXt2YXIgSz14LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMuc2VjdG9yVmFsdWUoKSk7aWYoIUcuX2lzVmFsaWREYXRhKEsoRCxCLEgpKSlyZXR1cm57eDpOYU4seTpOYU59O3ZhciBMPXguUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5pbm5lclJhZGl1cygpKShELEIsSCk7RD14LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMub3V0ZXJSYWRpdXMoKSkoRCwKQixIKTtMPShMK0QpLzI7RD1yLnBpZSgpLnNvcnQobnVsbCkudmFsdWUoZnVuY3Rpb24oSixPKXtKPUsoSixPLEgpO3JldHVybiBHLl9pc1ZhbGlkRGF0YShKKT9KOjB9KS5zdGFydEFuZ2xlKHRoaXMuX3N0YXJ0QW5nbGUpLmVuZEFuZ2xlKHRoaXMuX2VuZEFuZ2xlKShILmRhdGEoKSk7Qj0oRFtCXS5zdGFydEFuZ2xlK0RbQl0uZW5kQW5nbGUpLzI7cmV0dXJue3g6TCpNYXRoLnNpbihCKSx5Oi1MKk1hdGguY29zKEIpfX07Ry5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD1mdW5jdGlvbihEKXt2YXIgQj10aGlzO3RoaXMuX3JlbmRlckFyZWEuc2VsZWN0KCIubGFiZWwtYXJlYSIpLnJlbW92ZSgpO3RoaXMuX2xhYmVsc0VuYWJsZWQmJnEuV2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gQi5fZHJhd0xhYmVscygpfSxEKTt2YXIgSD10aGlzLl9nZW5lcmF0ZVN0cm9rZURyYXdTdGVwcygpLEs9dGhpcy5fZ2V0RGF0YVRvRHJhdygpO3RoaXMuZGF0YXNldHMoKS5mb3JFYWNoKGZ1bmN0aW9uKEwpe3ZhciBKPQp4LlBsb3QuYXBwbHlEcmF3U3RlcHMoSCxMKTtCLl9zdHJva2VEcmF3ZXJzLmdldChMKS5kcmF3KEsuZ2V0KEwpLEopfSl9O0cucHJvdG90eXBlLl9nZW5lcmF0ZVN0cm9rZURyYXdTdGVwcz1mdW5jdGlvbigpe3JldHVyblt7YXR0clRvUHJvamVjdG9yOnRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLGFuaW1hdG9yOm5ldyBwLk51bGx9XX07Ry5wcm90b3R5cGUuX3NsaWNlSW5kZXhGb3JQb2ludD1mdW5jdGlvbihEKXt2YXIgQj1NYXRoLnNxcnQoTWF0aC5wb3coRC54LDIpK01hdGgucG93KEQueSwyKSksSD1NYXRoLmFjb3MoLUQueS9CKTswPkQueCYmKEg9MipNYXRoLlBJLUgpO2ZvcihEPTA7RDx0aGlzLl9zdGFydEFuZ2xlcy5sZW5ndGg7RCsrKWlmKHRoaXMuX3N0YXJ0QW5nbGVzW0RdPEgmJnRoaXMuX2VuZEFuZ2xlc1tEXT5IKXt2YXIgSz1EO2JyZWFrfWlmKHZvaWQgMCE9PUspe0Q9dGhpcy5kYXRhc2V0cygpWzBdO3ZhciBMPUQuZGF0YSgpW0tdO0g9dGhpcy5pbm5lclJhZGl1cygpLmFjY2Vzc29yKEwsCkssRCk7RD10aGlzLm91dGVyUmFkaXVzKCkuYWNjZXNzb3IoTCxLLEQpO2lmKEI+SCYmQjxEKXJldHVybiBLfXJldHVybiBudWxsfTtHLnByb3RvdHlwZS5fZHJhd0xhYmVscz1mdW5jdGlvbigpe3ZhciBEPXRoaXMsQj10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxIPXRoaXMuX3JlbmRlckFyZWEuYXBwZW5kKCJnIikuY2xhc3NlZCgibGFiZWwtYXJlYSIsITApLEs9bmV3IGwuU3ZnQ29udGV4dChILm5vZGUoKSksTD1uZXcgbC5DYWNoZU1lYXN1cmVyKEspLEo9bmV3IGwuV3JpdGVyKEwsSyksTz10aGlzLmRhdGFzZXRzKClbMF07dGhpcy5fZ2V0RGF0YVRvRHJhdygpLmdldChPKS5mb3JFYWNoKGZ1bmN0aW9uKFMsTil7dmFyIFI9RC5zZWN0b3JWYWx1ZSgpLmFjY2Vzc29yKFMsTixPKTtpZihxLk1hdGguaXNWYWxpZE51bWJlcihSKSl7Uj1ELl9sYWJlbEZvcm1hdHRlcihSLFMsTixPKTt2YXIgWD1MLm1lYXN1cmUoUiksYWE9KEQuX2VuZEFuZ2xlc1tOXStELl9zdGFydEFuZ2xlc1tOXSkvCjIsZmE9RC5vdXRlclJhZGl1cygpLmFjY2Vzc29yKFMsTixPKTtELm91dGVyUmFkaXVzKCkuc2NhbGUmJihmYT1ELm91dGVyUmFkaXVzKCkuc2NhbGUuc2NhbGUoZmEpKTt2YXIgb2E9RC5pbm5lclJhZGl1cygpLmFjY2Vzc29yKFMsTixPKTtELmlubmVyUmFkaXVzKCkuc2NhbGUmJihvYT1ELmlubmVyUmFkaXVzKCkuc2NhbGUuc2NhbGUob2EpKTtvYT0oZmErb2EpLzI7ZmE9TWF0aC5zaW4oYWEpKm9hLVgud2lkdGgvMjtvYT0tTWF0aC5jb3MoYWEpKm9hLVguaGVpZ2h0LzI7dmFyIFo9W3t4OmZhLHk6b2F9LHt4OmZhLHk6b2ErWC5oZWlnaHR9LHt4OmZhK1gud2lkdGgseTpvYX0se3g6ZmErWC53aWR0aCx5Om9hK1guaGVpZ2h0fV07KGFhPVouZXZlcnkoZnVuY3Rpb24oY2Epe3JldHVybiBNYXRoLmFicyhjYS54KTw9RC53aWR0aCgpLzImJk1hdGguYWJzKGNhLnkpPD1ELmhlaWdodCgpLzJ9KSkmJihhYT1aLm1hcChmdW5jdGlvbihjYSl7cmV0dXJuIEQuX3NsaWNlSW5kZXhGb3JQb2ludChjYSl9KS5ldmVyeShmdW5jdGlvbihjYSl7cmV0dXJuIGNhPT09Ck59KSk7Uz1CLmZpbGwoUyxOLE8pO1M9MS42KnEuQ29sb3IuY29udHJhc3QoIndoaXRlIixTKTxxLkNvbG9yLmNvbnRyYXN0KCJibGFjayIsUyk7ZmE9SC5hcHBlbmQoImciKS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitmYSsiLCIrb2ErIikiKTtmYS5jbGFzc2VkKFM/ImRhcmstbGFiZWwiOiJsaWdodC1sYWJlbCIsITApO2ZhLnN0eWxlKCJ2aXNpYmlsaXR5IixhYT8iaW5oZXJpdCI6ImhpZGRlbiIpO0oud3JpdGUoUixYLndpZHRoLFguaGVpZ2h0LHt4QWxpZ246ImNlbnRlciIseUFsaWduOiJjZW50ZXIifSxmYS5ub2RlKCkpfX0pfTtyZXR1cm4gR30oeC5QbG90KTtkLl9JTk5FUl9SQURJVVNfS0VZPSJpbm5lci1yYWRpdXMiO2QuX09VVEVSX1JBRElVU19LRVk9Im91dGVyLXJhZGl1cyI7ZC5fU0VDVE9SX1ZBTFVFX0tFWT0ic2VjdG9yLXZhbHVlIjtmLlBpZT1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHkseCl7ZnVuY3Rpb24gQygpe3RoaXMuY29uc3RydWN0b3I9Cnl9Zm9yKHZhciBHIGluIHgpeC5oYXNPd25Qcm9wZXJ0eShHKSYmKHlbR109eFtHXSk7eS5wcm90b3R5cGU9bnVsbD09PXg/T2JqZWN0LmNyZWF0ZSh4KTooQy5wcm90b3R5cGU9eC5wcm90b3R5cGUsbmV3IEMpfSxyPWgoMSksbD1oKDUpLHA9aCg3KSxtPWgoMTQpLG49aCg2KSxxPWgoMzQpLHU9aCgzKSx3PWgoMCksQT1oKDIpO2Q9ZnVuY3Rpb24oeSl7ZnVuY3Rpb24geCgpe3ZhciBDPXkuY2FsbCh0aGlzKXx8dGhpcztDLl9sYWJlbHNFbmFibGVkPSExO0MuX2xhYmVsPW51bGw7Qy5hbmltYXRvcigicmVjdGFuZ2xlcyIsbmV3IHAuTnVsbCk7Qy5hZGRDbGFzcygicmVjdGFuZ2xlLXBsb3QiKTtDLmF0dHIoImZpbGwiLChuZXcgdS5Db2xvcikucmFuZ2UoKVswXSk7cmV0dXJuIEN9ayh4LHkpO3gucHJvdG90eXBlLl9jcmVhdGVEcmF3ZXI9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG4uUHJveHlEcmF3ZXIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHEuUmVjdGFuZ2xlU1ZHRHJhd2VyfSxmdW5jdGlvbihDKXtyZXR1cm4gbmV3IG0uUmVjdGFuZ2xlQ2FudmFzRHJhd2VyKEMpfSl9Owp4LnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXt2YXIgQz10aGlzLEc9eS5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yLmNhbGwodGhpcyksRD1BLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSxCPUdbeC5fWDJfS0VZXSxIPUEuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpLEs9R1t4Ll9ZMl9LRVldLEw9dGhpcy54KCkuc2NhbGUsSj10aGlzLnkoKS5zY2FsZTtudWxsIT1CPyhHLndpZHRoPWZ1bmN0aW9uKE8sUyxOKXtyZXR1cm4gTWF0aC5hYnMoQihPLFMsTiktRChPLFMsTikpfSxHLng9ZnVuY3Rpb24oTyxTLE4pe3JldHVybiBNYXRoLm1pbihCKE8sUyxOKSxEKE8sUyxOKSl9KTooRy53aWR0aD1mdW5jdGlvbigpe3JldHVybiBDLl9yZWN0YW5nbGVXaWR0aChMKX0sRy54PWZ1bmN0aW9uKE8sUyxOKXtyZXR1cm4gRChPLFMsTiktLjUqRy53aWR0aChPLFMsTil9KTtudWxsIT1LPyhHLmhlaWdodD1mdW5jdGlvbihPLApTLE4pe3JldHVybiBNYXRoLmFicyhLKE8sUyxOKS1IKE8sUyxOKSl9LEcueT1mdW5jdGlvbihPLFMsTil7cmV0dXJuIE1hdGgubWF4KEsoTyxTLE4pLEgoTyxTLE4pKS1HLmhlaWdodChPLFMsTil9KTooRy5oZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gQy5fcmVjdGFuZ2xlV2lkdGgoSil9LEcueT1mdW5jdGlvbihPLFMsTil7cmV0dXJuIEgoTyxTLE4pLS41KkcuaGVpZ2h0KE8sUyxOKX0pO2RlbGV0ZSBHW3guX1gyX0tFWV07ZGVsZXRlIEdbeC5fWTJfS0VZXTtyZXR1cm4gR307eC5wcm90b3R5cGUuX2dlbmVyYXRlRHJhd1N0ZXBzPWZ1bmN0aW9uKCl7cmV0dXJuW3thdHRyVG9Qcm9qZWN0b3I6dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksYW5pbWF0b3I6dGhpcy5fZ2V0QW5pbWF0b3IoInJlY3RhbmdsZXMiKX1dfTt4LnByb3RvdHlwZS5fZmlsdGVyRm9yUHJvcGVydHk9ZnVuY3Rpb24oQyl7cmV0dXJuIngyIj09PUM/eS5wcm90b3R5cGUuX2ZpbHRlckZvclByb3BlcnR5LmNhbGwodGhpcywKIngiKToieTIiPT09Qz95LnByb3RvdHlwZS5fZmlsdGVyRm9yUHJvcGVydHkuY2FsbCh0aGlzLCJ5Iik6eS5wcm90b3R5cGUuX2ZpbHRlckZvclByb3BlcnR5LmNhbGwodGhpcyxDKX07eC5wcm90b3R5cGUueD1mdW5jdGlvbihDLEcsRCl7aWYobnVsbD09QylyZXR1cm4geS5wcm90b3R5cGUueC5jYWxsKHRoaXMpO251bGw9PUc/eS5wcm90b3R5cGUueC5jYWxsKHRoaXMsQyk6eS5wcm90b3R5cGUueC5jYWxsKHRoaXMsQyxHLEQpO251bGwhPUcmJihEPShDPXRoaXMueDIoKSkmJkMuYWNjZXNzb3IsbnVsbCE9RCYmdGhpcy5fYmluZFByb3BlcnR5KHguX1gyX0tFWSxELEcsQy5wb3N0U2NhbGUpKTtHIGluc3RhbmNlb2YgdS5DYXRlZ29yeSYmRy5pbm5lclBhZGRpbmcoMCkub3V0ZXJQYWRkaW5nKDApO3JldHVybiB0aGlzfTt4LnByb3RvdHlwZS54Mj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldCh4Ll9YMl9LRVkpfTt4LnByb3RvdHlwZS55PWZ1bmN0aW9uKEMsCkcsRCl7aWYobnVsbD09QylyZXR1cm4geS5wcm90b3R5cGUueS5jYWxsKHRoaXMpO251bGw9PUc/eS5wcm90b3R5cGUueS5jYWxsKHRoaXMsQyk6eS5wcm90b3R5cGUueS5jYWxsKHRoaXMsQyxHLEQpO251bGwhPUcmJihEPShDPXRoaXMueTIoKSkmJkMuYWNjZXNzb3IsbnVsbCE9RCYmdGhpcy5fYmluZFByb3BlcnR5KHguX1kyX0tFWSxELEcsQy5wb3N0U2NhbGUpKTtHIGluc3RhbmNlb2YgdS5DYXRlZ29yeSYmRy5pbm5lclBhZGRpbmcoMCkub3V0ZXJQYWRkaW5nKDApO3JldHVybiB0aGlzfTt4LnByb3RvdHlwZS55Mj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldCh4Ll9ZMl9LRVkpfTt4LnByb3RvdHlwZS5lbnRpdGllc0F0PWZ1bmN0aW9uKEMpe3ZhciBHPXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpO3JldHVybiB0aGlzLmVudGl0aWVzKCkuZmlsdGVyKGZ1bmN0aW9uKEQpe3ZhciBCPUQuZGF0dW0sSD1ELmluZGV4LEs9RC5kYXRhc2V0O0Q9Ry54KEIsCkgsSyk7dmFyIEw9Ry55KEIsSCxLKSxKPUcud2lkdGgoQixILEspO0I9Ry5oZWlnaHQoQixILEspO3JldHVybiBEPD1DLngmJkMueDw9RCtKJiZMPD1DLnkmJkMueTw9TCtCfSl9O3gucHJvdG90eXBlLl9lbnRpdHlCb3VuZHM9ZnVuY3Rpb24oQyl7cmV0dXJuIHRoaXMuX2VudGl0eUJCb3goQy5kYXR1bSxDLmluZGV4LEMuZGF0YXNldCx0aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSl9O3gucHJvdG90eXBlLl9lbnRpdHlCQm94PWZ1bmN0aW9uKEMsRyxELEIpe3JldHVybnt4OkIueChDLEcsRCkseTpCLnkoQyxHLEQpLHdpZHRoOkIud2lkdGgoQyxHLEQpLGhlaWdodDpCLmhlaWdodChDLEcsRCl9fTt4LnByb3RvdHlwZS5sYWJlbD1mdW5jdGlvbihDKXtpZihudWxsPT1DKXJldHVybiB0aGlzLl9sYWJlbDt0aGlzLl9sYWJlbD1DO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O3gucHJvdG90eXBlLmxhYmVsc0VuYWJsZWQ9ZnVuY3Rpb24oQyl7aWYobnVsbD09QylyZXR1cm4gdGhpcy5fbGFiZWxzRW5hYmxlZDsKdGhpcy5fbGFiZWxzRW5hYmxlZD1DO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O3gucHJvdG90eXBlLl9wcm9wZXJ0eVByb2plY3RvcnM9ZnVuY3Rpb24oKXt2YXIgQz15LnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzLmNhbGwodGhpcyk7bnVsbCE9dGhpcy54MigpJiYoQy54Mj1BLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueDIoKSkpO251bGwhPXRoaXMueTIoKSYmKEMueTI9QS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkyKCkpKTtyZXR1cm4gQ307eC5wcm90b3R5cGUuX3BpeGVsUG9pbnQ9ZnVuY3Rpb24oQyxHLEQpe3ZhciBCPXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLEg9Qi54KEMsRyxEKSxLPUIueShDLEcsRCksTD1CLndpZHRoKEMsRyxEKTtDPUIuaGVpZ2h0KEMsRyxEKTtyZXR1cm57eDpIK0wvMix5OksrQy8yfX07eC5wcm90b3R5cGUuX3JlY3RhbmdsZVdpZHRoPWZ1bmN0aW9uKEMpe2lmKEMgaW5zdGFuY2VvZiB1LkNhdGVnb3J5KXJldHVybiBDLnJhbmdlQmFuZCgpOwp2YXIgRz1DPT09dGhpcy54KCkuc2NhbGU/dGhpcy54KCkuYWNjZXNzb3I6dGhpcy55KCkuYWNjZXNzb3IsRD1yLnNldCh3LkFycmF5LmZsYXR0ZW4odGhpcy5kYXRhc2V0cygpLm1hcChmdW5jdGlvbihLKXtyZXR1cm4gSy5kYXRhKCkubWFwKGZ1bmN0aW9uKEwsSil7cmV0dXJuIEcoTCxKLEspLnZhbHVlT2YoKX0pfSkpKS52YWx1ZXMoKS5tYXAoZnVuY3Rpb24oSyl7cmV0dXJuK0t9KSxCPXcuTWF0aC5taW4oRCwwKTtEPXcuTWF0aC5tYXgoRCwwKTt2YXIgSD1DLnNjYWxlKEIpO3JldHVybihDLnNjYWxlKEQpLUgpL01hdGguYWJzKEQtQil9O3gucHJvdG90eXBlLl9nZXREYXRhVG9EcmF3PWZ1bmN0aW9uKCl7dmFyIEM9bmV3IHcuTWFwLEc9dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCk7dGhpcy5kYXRhc2V0cygpLmZvckVhY2goZnVuY3Rpb24oRCl7dmFyIEI9RC5kYXRhKCkubWFwKGZ1bmN0aW9uKEgsSyl7cmV0dXJuIHcuTWF0aC5pc1ZhbGlkTnVtYmVyKEcueChILEssRCkpJiYKdy5NYXRoLmlzVmFsaWROdW1iZXIoRy55KEgsSyxEKSkmJncuTWF0aC5pc1ZhbGlkTnVtYmVyKEcud2lkdGgoSCxLLEQpKSYmdy5NYXRoLmlzVmFsaWROdW1iZXIoRy5oZWlnaHQoSCxLLEQpKT9IOm51bGx9KTtDLnNldChELEIpfSk7cmV0dXJuIEN9O3gucHJvdG90eXBlLl9hZGRpdGlvbmFsUGFpbnQ9ZnVuY3Rpb24oQyl7dmFyIEc9dGhpczt0aGlzLl9yZW5kZXJBcmVhLnNlbGVjdEFsbCgiLmxhYmVsLWFyZWEiKS5yZW1vdmUoKTt0aGlzLl9sYWJlbHNFbmFibGVkJiZudWxsIT10aGlzLmxhYmVsKCkmJncuV2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gRy5fZHJhd0xhYmVscygpfSxDKX07eC5wcm90b3R5cGUuX2RyYXdMYWJlbHM9ZnVuY3Rpb24oKXt2YXIgQz10aGlzLEc9dGhpcy5fZ2V0RGF0YVRvRHJhdygpO3RoaXMuZGF0YXNldHMoKS5mb3JFYWNoKGZ1bmN0aW9uKEQsQil7cmV0dXJuIEMuX2RyYXdMYWJlbChHLEQsQil9KX07eC5wcm90b3R5cGUuX2RyYXdMYWJlbD0KZnVuY3Rpb24oQyxHLEQpe3ZhciBCPXRoaXMsSD10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxLPXRoaXMuX3JlbmRlckFyZWEuYXBwZW5kKCJnIikuY2xhc3NlZCgibGFiZWwtYXJlYSIsITApLEw9bmV3IGwuU3ZnQ29udGV4dChLLm5vZGUoKSksSj1uZXcgbC5DYWNoZU1lYXN1cmVyKEwpLE89bmV3IGwuV3JpdGVyKEosTCk7TD10aGlzLngoKS5zY2FsZS5yYW5nZSgpO3ZhciBTPXRoaXMueSgpLnNjYWxlLnJhbmdlKCksTj1NYXRoLm1pbi5hcHBseShudWxsLEwpLFI9TWF0aC5tYXguYXBwbHkobnVsbCxMKSxYPU1hdGgubWluLmFwcGx5KG51bGwsUyksYWE9TWF0aC5tYXguYXBwbHkobnVsbCxTKTtDLmdldChHKS5mb3JFYWNoKGZ1bmN0aW9uKGZhLG9hKXtpZihudWxsIT1mYSl7dmFyIFo9IiIrQi5sYWJlbCgpKGZhLG9hLEcpLGNhPUoubWVhc3VyZShaKSxqYT1ILngoZmEsb2EsRyksYmE9SC55KGZhLG9hLEcpLGthPUgud2lkdGgoZmEsb2EsRyksVz1ILmhlaWdodChmYSxvYSxHKTsKY2EuaGVpZ2h0PD1XJiZjYS53aWR0aDw9a2EmJihXPShXLWNhLmhlaWdodCkvMixqYSs9KGthLWNhLndpZHRoKS8yLGJhKz1XLGthPXttaW46amEsbWF4OmphK2NhLndpZHRofSxXPXttaW46YmEsbWF4OmJhK2NhLmhlaWdodH0sa2EubWluPE58fGthLm1heD5SfHxXLm1pbjxYfHxXLm1heD5hYXx8Qi5fb3ZlcmxheUxhYmVsKGthLFcsb2EsRCxDKXx8KGZhPUguZmlsbChmYSxvYSxHKSxmYT0xLjYqdy5Db2xvci5jb250cmFzdCgid2hpdGUiLGZhKTx3LkNvbG9yLmNvbnRyYXN0KCJibGFjayIsZmEpLGphPUsuYXBwZW5kKCJnIikuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIramErIiwiK2JhKyIpIiksamEuY2xhc3NlZChmYT8iZGFyay1sYWJlbCI6ImxpZ2h0LWxhYmVsIiwhMCksTy53cml0ZShaLGNhLndpZHRoLGNhLmhlaWdodCx7eEFsaWduOiJjZW50ZXIiLHlBbGlnbjoiY2VudGVyIn0samEubm9kZSgpKSkpfX0pfTt4LnByb3RvdHlwZS5fb3ZlcmxheUxhYmVsPWZ1bmN0aW9uKEMsCkcsRCxCLEgpe2Zvcih2YXIgSz10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxMPXRoaXMuZGF0YXNldHMoKSxKPUI7SjxMLmxlbmd0aDtKKyspZm9yKHZhciBPPUxbSl0sUz1ILmdldChPKSxOPUo9PT1CP0QrMTowO048Uy5sZW5ndGg7TisrKWlmKHcuRE9NLmludGVyc2VjdHNCQm94KEMsRyx0aGlzLl9lbnRpdHlCQm94KFNbTl0sTixPLEspKSlyZXR1cm4hMDtyZXR1cm4hMX07cmV0dXJuIHh9KGgoMTYpLlhZUGxvdCk7ZC5fWDJfS0VZPSJ4MiI7ZC5fWTJfS0VZPSJ5MiI7Zi5SZWN0YW5nbGU9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbih5LHgpe2Z1bmN0aW9uIEMoKXt0aGlzLmNvbnN0cnVjdG9yPXl9Zm9yKHZhciBHIGluIHgpeC5oYXNPd25Qcm9wZXJ0eShHKSYmKHlbR109eFtHXSk7eS5wcm90b3R5cGU9bnVsbD09PXg/T2JqZWN0LmNyZWF0ZSh4KTooQy5wcm90b3R5cGU9eC5wcm90b3R5cGUsbmV3IEMpfSxyPWgoMzEpLApsPWgoNikscD1oKDQ4KSxtPWgoNyksbj1oKDE0KSxxPWgoMyksdT1oKDApLHc9aCgxOSksQT1oKDIpO2Q9ZnVuY3Rpb24oeSl7ZnVuY3Rpb24geCgpe3ZhciBDPXkuY2FsbCh0aGlzKXx8dGhpcztDLmFkZENsYXNzKCJzY2F0dGVyLXBsb3QiKTt2YXIgRz1uZXcgbS5FYXNpbmc7Ry5zdGFydERlbGF5KDUpO0cuc3RlcER1cmF0aW9uKDI1MCk7Ry5tYXhUb3RhbER1cmF0aW9uKEEuUGxvdC5fQU5JTUFUSU9OX01BWF9EVVJBVElPTik7Qy5hbmltYXRvcih3LkFuaW1hdG9yLk1BSU4sRyk7Qy5hdHRyKCJvcGFjaXR5IiwuNik7Qy5hdHRyKCJmaWxsIiwobmV3IHEuQ29sb3IpLnJhbmdlKClbMF0pO0Muc2l6ZSg2KTt2YXIgRD1yLmNpcmNsZSgpO0Muc3ltYm9sKGZ1bmN0aW9uKCl7cmV0dXJuIER9KTtyZXR1cm4gQ31rKHgseSk7eC5wcm90b3R5cGUuX2J1aWxkTGlnaHR3ZWlnaHRQbG90RW50aXRpZXM9ZnVuY3Rpb24oQyl7dmFyIEc9dGhpcztyZXR1cm4geS5wcm90b3R5cGUuX2J1aWxkTGlnaHR3ZWlnaHRQbG90RW50aXRpZXMuY2FsbCh0aGlzLApDKS5tYXAoZnVuY3Rpb24oRCl7dmFyIEI9QS5QbG90Ll9zY2FsZWRBY2Nlc3NvcihHLnNpemUoKSkoRC5kYXR1bSxELmluZGV4LEQuZGF0YXNldCk7RC5kaWFtZXRlcj1CO3JldHVybiBEfSl9O3gucHJvdG90eXBlLl9jcmVhdGVEcmF3ZXI9ZnVuY3Rpb24oQyl7dmFyIEc9dGhpcztyZXR1cm4gbmV3IGwuUHJveHlEcmF3ZXIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHAuU3ltYm9sU1ZHRHJhd2VyfSxmdW5jdGlvbihEKXtyZXR1cm4gbmV3IG4uQ2FudmFzRHJhd2VyKEQscC5tYWtlU3ltYm9sQ2FudmFzRHJhd1N0ZXAoQyxmdW5jdGlvbigpe3JldHVybiBBLlBsb3QuX3NjYWxlZEFjY2Vzc29yKEcuc3ltYm9sKCkpfSxmdW5jdGlvbigpe3JldHVybiBBLlBsb3QuX3NjYWxlZEFjY2Vzc29yKEcuc2l6ZSgpKX0pKX0pfTt4LnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKEMsRyl7aWYobnVsbD09QylyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoeC5fU0laRV9LRVkpO3RoaXMuX2JpbmRQcm9wZXJ0eSh4Ll9TSVpFX0tFWSwKQyxHKTt0aGlzLnJlbmRlcigpO3JldHVybiB0aGlzfTt4LnByb3RvdHlwZS5zeW1ib2w9ZnVuY3Rpb24oQyl7aWYobnVsbD09QylyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoeC5fU1lNQk9MX0tFWSk7dGhpcy5fcHJvcGVydHlCaW5kaW5ncy5zZXQoeC5fU1lNQk9MX0tFWSx7YWNjZXNzb3I6Q30pO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O3gucHJvdG90eXBlLl9nZW5lcmF0ZURyYXdTdGVwcz1mdW5jdGlvbigpe3ZhciBDPVtdO2lmKHRoaXMuX2FuaW1hdGVPbk5leHRSZW5kZXIoKSl7dmFyIEc9dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksRD1BLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMuc3ltYm9sKCkpO0cuZD1mdW5jdGlvbihCLEgsSyl7cmV0dXJuIEQoQixILEspKDApKG51bGwpfTtDLnB1c2goe2F0dHJUb1Byb2plY3RvcjpHLGFuaW1hdG9yOnRoaXMuX2dldEFuaW1hdG9yKHcuQW5pbWF0b3IuUkVTRVQpfSl9Qy5wdXNoKHthdHRyVG9Qcm9qZWN0b3I6dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksCmFuaW1hdG9yOnRoaXMuX2dldEFuaW1hdG9yKHcuQW5pbWF0b3IuTUFJTil9KTtyZXR1cm4gQ307eC5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycz1mdW5jdGlvbigpe3ZhciBDPXkucHJvdG90eXBlLl9wcm9wZXJ0eVByb2plY3RvcnMuY2FsbCh0aGlzKSxHPUEuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLEQ9QS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSk7Qy54PUc7Qy55PUQ7Qy50cmFuc2Zvcm09ZnVuY3Rpb24oQixILEspe3JldHVybiJ0cmFuc2xhdGUoIitHKEIsSCxLKSsiLCIrRChCLEgsSykrIikifTtDLmQ9dGhpcy5fY29uc3RydWN0U3ltYm9sR2VuZXJhdG9yKCk7cmV0dXJuIEN9O3gucHJvdG90eXBlLl9jb25zdHJ1Y3RTeW1ib2xHZW5lcmF0b3I9ZnVuY3Rpb24oKXt2YXIgQz1BLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMuc3ltYm9sKCkpLEc9QS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnNpemUoKSk7cmV0dXJuIGZ1bmN0aW9uKEQsQiwKSCl7cmV0dXJuIEMoRCxCLEgpKEcoRCxCLEgpKShudWxsKX19O3gucHJvdG90eXBlLl9lbnRpdHlCb3VuZHM9ZnVuY3Rpb24oQyl7cmV0dXJue3g6Qy5wb3NpdGlvbi54LUMuZGlhbWV0ZXIvMix5OkMucG9zaXRpb24ueS1DLmRpYW1ldGVyLzIsd2lkdGg6Qy5kaWFtZXRlcixoZWlnaHQ6Qy5kaWFtZXRlcn19O3gucHJvdG90eXBlLl9lbnRpdHlWaXNpYmxlT25QbG90PWZ1bmN0aW9uKEMsRyl7dmFyIEQ9e21pbjpHLnRvcExlZnQueCxtYXg6Ry5ib3R0b21SaWdodC54fTtHPXttaW46Ry50b3BMZWZ0LnksbWF4OkcuYm90dG9tUmlnaHQueX07Qz10aGlzLl9lbnRpdHlCb3VuZHMoQyk7cmV0dXJuIHUuRE9NLmludGVyc2VjdHNCQm94KEQsRyxDKX07eC5wcm90b3R5cGUuZW50aXRpZXNBdD1mdW5jdGlvbihDKXt2YXIgRz1BLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSxEPUEuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpLEI9QS5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnNpemUoKSk7CnJldHVybiB0aGlzLmVudGl0aWVzKCkuZmlsdGVyKGZ1bmN0aW9uKEgpe3ZhciBLPUguZGF0dW0sTD1ILmluZGV4LEo9SC5kYXRhc2V0O0g9RyhLLEwsSik7dmFyIE89RChLLEwsSik7Sz1CKEssTCxKKTtyZXR1cm4gSC1LLzI8PUMueCYmQy54PD1IK0svMiYmTy1LLzI8PUMueSYmQy55PD1PK0svMn0pfTtyZXR1cm4geH0oaCgxNikuWFlQbG90KTtkLl9TSVpFX0tFWT0ic2l6ZSI7ZC5fU1lNQk9MX0tFWT0ic3ltYm9sIjtmLlNjYXR0ZXI9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbih1LHcpe2Z1bmN0aW9uIEEoKXt0aGlzLmNvbnN0cnVjdG9yPXV9Zm9yKHZhciB5IGluIHcpdy5oYXNPd25Qcm9wZXJ0eSh5KSYmKHVbeV09d1t5XSk7dS5wcm90b3R5cGU9bnVsbD09PXc/T2JqZWN0LmNyZWF0ZSh3KTooQS5wcm90b3R5cGU9dy5wcm90b3R5cGUsbmV3IEEpfSxyPWgoNyksbD1oKDYpLHA9aCg0NyksbT1oKDMpLG49aCgzNSkscT1oKDIpOwpkPWZ1bmN0aW9uKHUpe2Z1bmN0aW9uIHcoKXt2YXIgQT11LmNhbGwodGhpcyl8fHRoaXM7QS5hZGRDbGFzcygic2VnbWVudC1wbG90Iik7QS5hdHRyKCJzdHJva2UiLChuZXcgbS5Db2xvcikucmFuZ2UoKVswXSk7QS5hdHRyKCJzdHJva2Utd2lkdGgiLCIycHgiKTtyZXR1cm4gQX1rKHcsdSk7dy5wcm90b3R5cGUuX2NyZWF0ZURyYXdlcj1mdW5jdGlvbigpe3JldHVybiBuZXcgbC5Qcm94eURyYXdlcihmdW5jdGlvbigpe3JldHVybiBuZXcgcC5TZWdtZW50U1ZHRHJhd2VyfSxmdW5jdGlvbigpe24ud2FybigiY2FudmFzIHJlbmRlcmVyIGlzIG5vdCBzdXBwb3J0ZWQgb24gU2VnbWVudCBQbG90ISIpO3JldHVybiBudWxsfSl9O3cucHJvdG90eXBlLl9nZW5lcmF0ZURyYXdTdGVwcz1mdW5jdGlvbigpe3JldHVyblt7YXR0clRvUHJvamVjdG9yOnRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLGFuaW1hdG9yOm5ldyByLk51bGx9XX07dy5wcm90b3R5cGUuX2ZpbHRlckZvclByb3BlcnR5PQpmdW5jdGlvbihBKXtyZXR1cm4ieDIiPT09QT91LnByb3RvdHlwZS5fZmlsdGVyRm9yUHJvcGVydHkuY2FsbCh0aGlzLCJ4Iik6InkyIj09PUE/dS5wcm90b3R5cGUuX2ZpbHRlckZvclByb3BlcnR5LmNhbGwodGhpcywieSIpOnUucHJvdG90eXBlLl9maWx0ZXJGb3JQcm9wZXJ0eS5jYWxsKHRoaXMsQSl9O3cucHJvdG90eXBlLng9ZnVuY3Rpb24oQSx5KXtpZihudWxsPT1BKXJldHVybiB1LnByb3RvdHlwZS54LmNhbGwodGhpcyk7bnVsbD09eT91LnByb3RvdHlwZS54LmNhbGwodGhpcyxBKToodS5wcm90b3R5cGUueC5jYWxsKHRoaXMsQSx5KSxBPShBPXRoaXMueDIoKSkmJkEuYWNjZXNzb3IsbnVsbCE9QSYmdGhpcy5fYmluZFByb3BlcnR5KHcuX1gyX0tFWSxBLHkpKTtyZXR1cm4gdGhpc307dy5wcm90b3R5cGUueDI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQody5fWDJfS0VZKX07dy5wcm90b3R5cGUueT1mdW5jdGlvbihBLHkpe2lmKG51bGw9PQpBKXJldHVybiB1LnByb3RvdHlwZS55LmNhbGwodGhpcyk7bnVsbD09eT91LnByb3RvdHlwZS55LmNhbGwodGhpcyxBKToodS5wcm90b3R5cGUueS5jYWxsKHRoaXMsQSx5KSxBPShBPXRoaXMueTIoKSkmJkEuYWNjZXNzb3IsbnVsbCE9QSYmdGhpcy5fYmluZFByb3BlcnR5KHcuX1kyX0tFWSxBLHkpKTtyZXR1cm4gdGhpc307dy5wcm90b3R5cGUueTI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQody5fWTJfS0VZKX07dy5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycz1mdW5jdGlvbigpe3ZhciBBPXUucHJvdG90eXBlLl9wcm9wZXJ0eVByb2plY3RvcnMuY2FsbCh0aGlzKTtBLngxPXEuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpO0EueDI9bnVsbD09dGhpcy54MigpP3EuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpOnEuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54MigpKTtBLnkxPXEuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpOwpBLnkyPW51bGw9PXRoaXMueTIoKT9xLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKTpxLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueTIoKSk7cmV0dXJuIEF9O3cucHJvdG90eXBlLmVudGl0aWVzQXQ9ZnVuY3Rpb24oQSl7QT10aGlzLmVudGl0eU5lYXJlc3QoQSk7cmV0dXJuIG51bGwhPUE/W0FdOltdfTt3LnByb3RvdHlwZS5lbnRpdGllc0luPWZ1bmN0aW9uKEEseSl7aWYobnVsbD09eSl7dmFyIHg9e21pbjpBLnRvcExlZnQueCxtYXg6QS5ib3R0b21SaWdodC54fTtBPXttaW46QS50b3BMZWZ0LnksbWF4OkEuYm90dG9tUmlnaHQueX19ZWxzZSB4PUEsQT15O3JldHVybiB0aGlzLl9lbnRpdGllc0ludGVyc2VjdGluZyh4LEEpfTt3LnByb3RvdHlwZS5fZW50aXRpZXNJbnRlcnNlY3Rpbmc9ZnVuY3Rpb24oQSx5KXt2YXIgeD10aGlzLEM9W10sRz10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKTt0aGlzLmVudGl0aWVzKCkuZm9yRWFjaChmdW5jdGlvbihEKXt4Ll9saW5lSW50ZXJzZWN0c0JveChELApBLHksRykmJkMucHVzaChEKX0pO3JldHVybiBDfTt3LnByb3RvdHlwZS5fbGluZUludGVyc2VjdHNCb3g9ZnVuY3Rpb24oQSx5LHgsQyl7dmFyIEc9dGhpcyxEPUMueDEoQS5kYXR1bSxBLmluZGV4LEEuZGF0YXNldCksQj1DLngyKEEuZGF0dW0sQS5pbmRleCxBLmRhdGFzZXQpLEg9Qy55MShBLmRhdHVtLEEuaW5kZXgsQS5kYXRhc2V0KTtBPUMueTIoQS5kYXR1bSxBLmluZGV4LEEuZGF0YXNldCk7aWYoeS5taW48PUQmJkQ8PXkubWF4JiZ4Lm1pbjw9SCYmSDw9eC5tYXh8fHkubWluPD1CJiZCPD15Lm1heCYmeC5taW48PUEmJkE8PXgubWF4KXJldHVybiEwO3ZhciBLPXt4OkQseTpIfSxMPXt4OkIseTpBfSxKPVt7eDp5Lm1pbix5OngubWlufSx7eDp5Lm1pbix5OngubWF4fSx7eDp5Lm1heCx5OngubWF4fSx7eDp5Lm1heCx5OngubWlufV07cmV0dXJuIDA8Si5maWx0ZXIoZnVuY3Rpb24oTyxTKXtyZXR1cm4gMCE9PVM/Ry5fbGluZUludGVyc2VjdHNTZWdtZW50KEssTCxPLEpbUy0KMV0pJiZHLl9saW5lSW50ZXJzZWN0c1NlZ21lbnQoTyxKW1MtMV0sSyxMKTohMX0pLmxlbmd0aH07dy5wcm90b3R5cGUuX2xpbmVJbnRlcnNlY3RzU2VnbWVudD1mdW5jdGlvbihBLHkseCxDKXtmdW5jdGlvbiBHKEQsQixIKXtyZXR1cm4oQi54LUQueCkqKEgueS1CLnkpLShCLnktRC55KSooSC54LUIueCl9cmV0dXJuIDA+RyhBLHkseCkqRyhBLHksQyl9O3JldHVybiB3fShoKDE2KS5YWVBsb3QpO2QuX1gyX0tFWT0ieDIiO2QuX1kyX0tFWT0ieTIiO2YuU2VnbWVudD1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHEsdSl7ZnVuY3Rpb24gdygpe3RoaXMuY29uc3RydWN0b3I9cX1mb3IodmFyIEEgaW4gdSl1Lmhhc093blByb3BlcnR5KEEpJiYocVtBXT11W0FdKTtxLnByb3RvdHlwZT1udWxsPT09dT9PYmplY3QuY3JlYXRlKHUpOih3LnByb3RvdHlwZT11LnByb3RvdHlwZSxuZXcgdyl9LHI9aCgxKSxsPWgoNykscD1oKDIwKSxtPQpoKDApO2Q9aCg1MCk7dmFyIG49aCgyKTtoPWZ1bmN0aW9uKHEpe2Z1bmN0aW9uIHUoKXt2YXIgdz1xLmNhbGwodGhpcyl8fHRoaXM7dy5fc3RhY2tpbmdSZXN1bHQ9cC5tZW1UaHVuayhmdW5jdGlvbigpe3JldHVybiB3LmRhdGFzZXRzKCl9LGZ1bmN0aW9uKCl7cmV0dXJuIHcueCgpLmFjY2Vzc29yfSxmdW5jdGlvbigpe3JldHVybiB3LnkoKS5hY2Nlc3Nvcn0sZnVuY3Rpb24oKXtyZXR1cm4gdy5fc3RhY2tpbmdPcmRlcn0sZnVuY3Rpb24oQSx5LHgsQyl7cmV0dXJuIG0uU3RhY2tpbmcuc3RhY2soQSx5LHgsQyl9KTt3Ll9zdGFja2VkRXh0ZW50PXAubWVtVGh1bmsody5fc3RhY2tpbmdSZXN1bHQsZnVuY3Rpb24oKXtyZXR1cm4gdy54KCkuYWNjZXNzb3J9LGZ1bmN0aW9uKCl7cmV0dXJuIHcuX2ZpbHRlckZvclByb3BlcnR5KCJ5Iil9LGZ1bmN0aW9uKEEseSx4KXtyZXR1cm4gbS5TdGFja2luZy5zdGFja2VkRXh0ZW50KEEseSx4KX0pO3cuX2Jhc2VsaW5lVmFsdWU9MDt3Ll9zdGFja2luZ09yZGVyPQoiYm90dG9tdXAiO3cuYWRkQ2xhc3MoInN0YWNrZWQtYXJlYS1wbG90Iik7dy5hdHRyKCJmaWxsLW9wYWNpdHkiLDEpO3cuX2Jhc2VsaW5lVmFsdWVQcm92aWRlcj1mdW5jdGlvbigpe3JldHVyblt3Ll9iYXNlbGluZVZhbHVlXX07dy5jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZCghMSk7cmV0dXJuIHd9ayh1LHEpO3UucHJvdG90eXBlLmNyb3BwZWRSZW5kZXJpbmdFbmFibGVkPWZ1bmN0aW9uKHcpe3JldHVybiBudWxsPT13P3EucHJvdG90eXBlLmNyb3BwZWRSZW5kZXJpbmdFbmFibGVkLmNhbGwodGhpcyk6dz8obS5XaW5kb3cud2FybigiV2FybmluZzogU3RhY2tlZCBBcmVhIFBsb3QgZG9lcyBub3Qgc3VwcG9ydCBjcm9wcGVkIHJlbmRlcmluZy4iKSx0aGlzKTpxLnByb3RvdHlwZS5jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZC5jYWxsKHRoaXMsdyl9O3UucHJvdG90eXBlLl9nZXRBbmltYXRvcj1mdW5jdGlvbigpe3JldHVybiBuZXcgbC5OdWxsfTt1LnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXtxLnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKTsKdGhpcy5fYmFzZWxpbmU9dGhpcy5fcmVuZGVyQXJlYS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKCJiYXNlbGluZSIsITApfTt1LnByb3RvdHlwZS54PWZ1bmN0aW9uKHcsQSl7aWYobnVsbD09dylyZXR1cm4gcS5wcm90b3R5cGUueC5jYWxsKHRoaXMpO251bGw9PUE/cS5wcm90b3R5cGUueC5jYWxsKHRoaXMsdyk6cS5wcm90b3R5cGUueC5jYWxsKHRoaXMsdyxBKTt0aGlzLl9jaGVja1NhbWVEb21haW4oKTtyZXR1cm4gdGhpc307dS5wcm90b3R5cGUueT1mdW5jdGlvbih3LEEpe2lmKG51bGw9PXcpcmV0dXJuIHEucHJvdG90eXBlLnkuY2FsbCh0aGlzKTtudWxsPT1BP3EucHJvdG90eXBlLnkuY2FsbCh0aGlzLHcpOnEucHJvdG90eXBlLnkuY2FsbCh0aGlzLHcsQSk7dGhpcy5fY2hlY2tTYW1lRG9tYWluKCk7cmV0dXJuIHRoaXN9O3UucHJvdG90eXBlLnN0YWNraW5nT3JkZXI9ZnVuY3Rpb24odyl7aWYobnVsbD09dylyZXR1cm4gdGhpcy5fc3RhY2tpbmdPcmRlcjt0aGlzLl9zdGFja2luZ09yZGVyPQp3O3RoaXMuX29uRGF0YXNldFVwZGF0ZSgpO3JldHVybiB0aGlzfTt1LnByb3RvdHlwZS5kb3duc2FtcGxpbmdFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHEucHJvdG90eXBlLmRvd25zYW1wbGluZ0VuYWJsZWQuY2FsbCh0aGlzKX07dS5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD1mdW5jdGlvbigpe3ZhciB3PXRoaXMueSgpLnNjYWxlLnNjYWxlKHRoaXMuX2Jhc2VsaW5lVmFsdWUpO3c9e3gxOjAseTE6dyx4Mjp0aGlzLndpZHRoKCkseTI6d307dGhpcy5fZ2V0QW5pbWF0b3IoImJhc2VsaW5lIikuYW5pbWF0ZSh0aGlzLl9iYXNlbGluZSx3KX07dS5wcm90b3R5cGUuX3VwZGF0ZVlTY2FsZT1mdW5jdGlvbigpe3ZhciB3PXRoaXMueSgpO3c9dyYmdy5zY2FsZTtudWxsIT13JiYody5hZGRQYWRkaW5nRXhjZXB0aW9uc1Byb3ZpZGVyKHRoaXMuX2Jhc2VsaW5lVmFsdWVQcm92aWRlciksdy5hZGRJbmNsdWRlZFZhbHVlc1Byb3ZpZGVyKHRoaXMuX2Jhc2VsaW5lVmFsdWVQcm92aWRlcikpfTsKdS5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX2NoZWNrU2FtZURvbWFpbigpO3EucHJvdG90eXBlLl9vbkRhdGFzZXRVcGRhdGUuY2FsbCh0aGlzKTtyZXR1cm4gdGhpc307dS5wcm90b3R5cGUuZ2V0RXh0ZW50c0ZvclByb3BlcnR5PWZ1bmN0aW9uKHcpe3JldHVybiJ5Ij09PXc/W3RoaXMuX3N0YWNrZWRFeHRlbnQoKV06cS5wcm90b3R5cGUuZ2V0RXh0ZW50c0ZvclByb3BlcnR5LmNhbGwodGhpcyx3KX07dS5wcm90b3R5cGUuX2NoZWNrU2FtZURvbWFpbj1mdW5jdGlvbigpe2lmKHRoaXMuX3Byb2plY3RvcnNSZWFkeSgpKXt2YXIgdz10aGlzLmRhdGFzZXRzKCksQT10aGlzLngoKS5hY2Nlc3Nvcix5PXcubWFwKGZ1bmN0aW9uKEMpe3JldHVybiByLnNldChDLmRhdGEoKS5tYXAoZnVuY3Rpb24oRyxEKXtyZXR1cm4gQShHLEQsQykudG9TdHJpbmcoKX0pKS52YWx1ZXMoKX0pLHg9dS5fZG9tYWluS2V5cyh3LEEpO3kuc29tZShmdW5jdGlvbihDKXtyZXR1cm4gQy5sZW5ndGghPT0KeC5sZW5ndGh9KSYmbS5XaW5kb3cud2FybigidGhlIGRvbWFpbnMgYWNyb3NzIHRoZSBkYXRhc2V0cyBhcmUgbm90IHRoZSBzYW1lLiBQbG90IG1heSBwcm9kdWNlIHVuaW50ZW5kZWQgYmVoYXZpb3IuIil9fTt1Ll9kb21haW5LZXlzPWZ1bmN0aW9uKHcsQSl7dmFyIHk9ci5zZXQoKTt3LmZvckVhY2goZnVuY3Rpb24oeCl7eC5kYXRhKCkuZm9yRWFjaChmdW5jdGlvbihDLEcpe3kuYWRkKEEoQyxHLHgpKX0pfSk7cmV0dXJuIHkudmFsdWVzKCl9O3UucHJvdG90eXBlLl9wcm9wZXJ0eVByb2plY3RvcnM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB3KEQsQixIKXtyZXR1cm4gbS5TdGFja2luZy5ub3JtYWxpemVLZXkoQyhELEIsSCkpfXZhciBBPXRoaXMseT1xLnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzLmNhbGwodGhpcykseD10aGlzLnkoKS5hY2Nlc3NvcixDPXRoaXMueCgpLmFjY2Vzc29yLEc9dGhpcy5fc3RhY2tpbmdSZXN1bHQoKTt5LmQ9dGhpcy5fY29uc3RydWN0QXJlYVByb2plY3RvcihuLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSwKZnVuY3Rpb24oRCxCLEgpe3JldHVybiBBLnkoKS5zY2FsZS5zY2FsZSgreChELEIsSCkrRy5nZXQoSCkuZ2V0KHcoRCxCLEgpKS5vZmZzZXQpfSxmdW5jdGlvbihELEIsSCl7cmV0dXJuIEEueSgpLnNjYWxlLnNjYWxlKEcuZ2V0KEgpLmdldCh3KEQsQixIKSkub2Zmc2V0KX0pO3JldHVybiB5fTt1LnByb3RvdHlwZS5fcGl4ZWxQb2ludD1mdW5jdGlvbih3LEEseSl7dmFyIHg9cS5wcm90b3R5cGUuX3BpeGVsUG9pbnQuY2FsbCh0aGlzLHcsQSx5KSxDPXRoaXMueCgpLmFjY2Vzc29yKHcsQSx5KTt3PXRoaXMueSgpLmFjY2Vzc29yKHcsQSx5KTt5PXRoaXMueSgpLnNjYWxlLnNjYWxlKCt3K3RoaXMuX3N0YWNraW5nUmVzdWx0KCkuZ2V0KHkpLmdldChtLlN0YWNraW5nLm5vcm1hbGl6ZUtleShDKSkub2Zmc2V0KTtyZXR1cm57eDp4LngseX19O3JldHVybiB1fShkLkFyZWEpO2YuU3RhY2tlZEFyZWE9aH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbih1LAp3KXtmdW5jdGlvbiBBKCl7dGhpcy5jb25zdHJ1Y3Rvcj11fWZvcih2YXIgeSBpbiB3KXcuaGFzT3duUHJvcGVydHkoeSkmJih1W3ldPXdbeV0pO3UucHJvdG90eXBlPW51bGw9PT13P09iamVjdC5jcmVhdGUodyk6KEEucHJvdG90eXBlPXcucHJvdG90eXBlLG5ldyBBKX0scj1oKDUpLGw9aCg4KSxwPWgoMjApLG09aCgwKSxuPWgoMjcpLHE9aCgyKTtkPWZ1bmN0aW9uKHUpe2Z1bmN0aW9uIHcoQSl7dm9pZCAwPT09QSYmKEE9InZlcnRpY2FsIik7dmFyIHk9dS5jYWxsKHRoaXMsQSl8fHRoaXM7eS5fZXh0cmVtYUZvcm1hdHRlcj1sLmlkZW50aXR5KCk7eS5fc3RhY2tpbmdSZXN1bHQ9cC5tZW1UaHVuayhmdW5jdGlvbigpe3JldHVybiB5LmRhdGFzZXRzKCl9LGZ1bmN0aW9uKCl7cmV0dXJuIHkucG9zaXRpb24oKS5hY2Nlc3Nvcn0sZnVuY3Rpb24oKXtyZXR1cm4geS5sZW5ndGgoKS5hY2Nlc3Nvcn0sZnVuY3Rpb24oKXtyZXR1cm4geS5fc3RhY2tpbmdPcmRlcn0sZnVuY3Rpb24oeCwKQyxHLEQpe3JldHVybiBtLlN0YWNraW5nLnN0YWNrKHgsQyxHLEQpfSk7eS5fc3RhY2tlZEV4dGVudD1wLm1lbVRodW5rKHkuX3N0YWNraW5nUmVzdWx0LGZ1bmN0aW9uKCl7cmV0dXJuIHkucG9zaXRpb24oKS5hY2Nlc3Nvcn0sZnVuY3Rpb24oKXtyZXR1cm4geS5fZmlsdGVyRm9yUHJvcGVydHkoeS5faXNWZXJ0aWNhbD8ieSI6IngiKX0sZnVuY3Rpb24oeCxDLEcpe3JldHVybiBtLlN0YWNraW5nLnN0YWNrZWRFeHRlbnQoeCxDLEcpfSk7eS5hZGRDbGFzcygic3RhY2tlZC1iYXItcGxvdCIpO3kuX3N0YWNraW5nT3JkZXI9ImJvdHRvbXVwIjtyZXR1cm4geX1rKHcsdSk7dy5wcm90b3R5cGUuc3RhY2tpbmdPcmRlcj1mdW5jdGlvbihBKXtpZihudWxsPT1BKXJldHVybiB0aGlzLl9zdGFja2luZ09yZGVyO3RoaXMuX3N0YWNraW5nT3JkZXI9QTt0aGlzLl9vbkRhdGFzZXRVcGRhdGUoKTtyZXR1cm4gdGhpc307dy5wcm90b3R5cGUuZXh0cmVtYUZvcm1hdHRlcj1mdW5jdGlvbihBKXtpZigwPT09CmFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuX2V4dHJlbWFGb3JtYXR0ZXI7dGhpcy5fZXh0cmVtYUZvcm1hdHRlcj1BO3RoaXMucmVuZGVyKCk7cmV0dXJuIHRoaXN9O3cucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3UucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpO3RoaXMuX2xhYmVsQXJlYT10aGlzLl9yZW5kZXJBcmVhLmFwcGVuZCgiZyIpLmNsYXNzZWQobi5CYXIuX0xBQkVMX0FSRUFfQ0xBU1MsITApO3ZhciBBPW5ldyByLlN2Z0NvbnRleHQodGhpcy5fbGFiZWxBcmVhLm5vZGUoKSk7dGhpcy5fbWVhc3VyZXI9bmV3IHIuQ2FjaGVNZWFzdXJlcihBKTt0aGlzLl93cml0ZXI9bmV3IHIuV3JpdGVyKHRoaXMuX21lYXN1cmVyLEEpfTt3LnByb3RvdHlwZS5fZHJhd0xhYmVscz1mdW5jdGlvbigpe2Z1bmN0aW9uIEEoTCxKKXt2YXIgTz14Ll9nZW5lcmF0ZUF0dHJUb1Byb2plY3RvcigpLFM9eC53aWR0aCgpLE49eC5oZWlnaHQoKTtMLmZvckVhY2goZnVuY3Rpb24oUil7aWYoUi5leHRlbnQhPT0KQyl7dmFyIFg9eC5leHRyZW1hRm9ybWF0dGVyKCkoUi5leHRlbnQpLGFhPXguX21lYXN1cmVyLm1lYXN1cmUoWCksZmE9Ui5zdGFja2VkRGF0dW0sb2E9ZmEub3JpZ2luYWxEYXR1bSxaPWZhLm9yaWdpbmFsSW5kZXg7ZmE9ZmEub3JpZ2luYWxEYXRhc2V0O3guX2lzRGF0dW1PblNjcmVlbihPLFMsTixvYSxaLGZhKSYmKG9hPXEuUGxvdC5fc2NhbGVkQWNjZXNzb3IoeC5hdHRyKG4uQmFyLl9CQVJfVEhJQ0tORVNTX0tFWSkpKG9hLFosZmEpLFo9RC5zY2FsZShSLmV4dGVudCksUj14Ll9nZXRQb3NpdGlvbkF0dHIoRy5zY2FsZShSLmF4aXNWYWx1ZSksb2EpK29hLzIsUj1KKHguX2lzVmVydGljYWw/e3g6Uix5Olp9Ont4OloseTpSfSxhYSxvYSksWD15KFgse3RvcExlZnQ6Uixib3R0b21SaWdodDp7eDpSLngrYWEud2lkdGgseTpSLnkrYWEuaGVpZ2h0fX0sb2EpLEsucHVzaChYKSl9fSl9ZnVuY3Rpb24geShMLEosTyl7dmFyIFM9Si50b3BMZWZ0LE49Uy54LFI9Uy55O1M9Si5ib3R0b21SaWdodC54LQpKLnRvcExlZnQueDtKPUouYm90dG9tUmlnaHQueS1KLnRvcExlZnQueTtPPXguX2lzVmVydGljYWw/Uz5POko+TztPfHwoTj14Ll9sYWJlbEFyZWEuYXBwZW5kKCJnIikuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrTisiLCAiK1IrIikiKSxOLmNsYXNzZWQoInN0YWNrZWQtYmFyLWxhYmVsIiwhMCkseC5fd3JpdGVyLndyaXRlKEwsUyxKLHt4QWxpZ246ImNlbnRlciIseUFsaWduOiJjZW50ZXIifSxOLm5vZGUoKSkpO3JldHVybiBPfXZhciB4PXRoaXM7dS5wcm90b3R5cGUuX2RyYXdMYWJlbHMuY2FsbCh0aGlzKTt0aGlzLl9sYWJlbEFyZWEuc2VsZWN0QWxsKCJnIikucmVtb3ZlKCk7dmFyIEM9K3RoaXMuYmFzZWxpbmVWYWx1ZSgpLEc9dGhpcy5wb3NpdGlvbigpLnNjYWxlLEQ9dGhpcy5sZW5ndGgoKS5zY2FsZSxCPW0uU3RhY2tpbmcuc3RhY2tlZEV4dGVudHModGhpcy5fc3RhY2tpbmdSZXN1bHQoKSksSD1CLm1pbmltdW1FeHRlbnRzLEs9W107QShCLm1heGltdW1FeHRlbnRzLApmdW5jdGlvbihMLEope3ZhciBPPXguX2lzVmVydGljYWw/Si53aWR0aDpKLmhlaWdodDtKPXguX2lzVmVydGljYWw/Si5oZWlnaHQ6Si53aWR0aDtyZXR1cm57eDp4Ll9pc1ZlcnRpY2FsP0wueC1PLzI6TC54K3cuX0VYVFJFTUFfTEFCRUxfTUFSR0lOX0ZST01fQkFSLHk6eC5faXNWZXJ0aWNhbD9MLnktSjpMLnktTy8yfX0pO0EoSCxmdW5jdGlvbihMLEope3ZhciBPPXguX2lzVmVydGljYWw/Si53aWR0aDpKLmhlaWdodDtKPXguX2lzVmVydGljYWw/Si5oZWlnaHQ6Si53aWR0aDtyZXR1cm57eDp4Ll9pc1ZlcnRpY2FsP0wueC1PLzI6TC54LUoseTp4Ll9pc1ZlcnRpY2FsP0wueSt3Ll9FWFRSRU1BX0xBQkVMX01BUkdJTl9GUk9NX0JBUjpMLnktTy8yfX0pO0suc29tZShmdW5jdGlvbihMKXtyZXR1cm4gTH0pJiZ0aGlzLl9sYWJlbEFyZWEuc2VsZWN0QWxsKCJnIikucmVtb3ZlKCl9O3cucHJvdG90eXBlLl9nZW5lcmF0ZUF0dHJUb1Byb2plY3Rvcj1mdW5jdGlvbigpe2Z1bmN0aW9uIEEoUywKTixSKXtyZXR1cm4gMD4rTChTLE4sUik/QyhTLE4sUik6eChTLE4sUil9ZnVuY3Rpb24geShTLE4sUil7cmV0dXJuIE1hdGguYWJzKHgoUyxOLFIpLUMoUyxOLFIpKX1mdW5jdGlvbiB4KFMsTixSKXtyZXR1cm4gSy5zY2FsZSgrTChTLE4sUikrTy5nZXQoUikuZ2V0KEcoUyxOLFIpKS5vZmZzZXQpfWZ1bmN0aW9uIEMoUyxOLFIpe3JldHVybiBLLnNjYWxlKE8uZ2V0KFIpLmdldChHKFMsTixSKSkub2Zmc2V0KX1mdW5jdGlvbiBHKFMsTixSKXtyZXR1cm4gbS5TdGFja2luZy5ub3JtYWxpemVLZXkoSihTLE4sUikpfXZhciBEPXRoaXMsQj11LnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3IuY2FsbCh0aGlzKSxIPXRoaXMuX2lzVmVydGljYWw/InkiOiJ4IixLPXRoaXMubGVuZ3RoKCkuc2NhbGUsTD10aGlzLmxlbmd0aCgpLmFjY2Vzc29yLEo9dGhpcy5wb3NpdGlvbigpLmFjY2Vzc29yLE89dGhpcy5fc3RhY2tpbmdSZXN1bHQoKTtCW3RoaXMuX2lzVmVydGljYWw/ImhlaWdodCI6CiJ3aWR0aCJdPXk7QltIXT1mdW5jdGlvbihTLE4sUil7cmV0dXJuIEQuX2lzVmVydGljYWw/QShTLE4sUik6QShTLE4sUikteShTLE4sUil9O3JldHVybiBCfTt3LnByb3RvdHlwZS5nZXRFeHRlbnRzRm9yUHJvcGVydHk9ZnVuY3Rpb24oQSl7cmV0dXJuIEE9PT0odGhpcy5faXNWZXJ0aWNhbD8ieSI6IngiKT9bdGhpcy5fc3RhY2tlZEV4dGVudCgpXTp1LnByb3RvdHlwZS5nZXRFeHRlbnRzRm9yUHJvcGVydHkuY2FsbCh0aGlzLEEpfTt3LnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGU9ZnVuY3Rpb24oKXt1LnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGUuY2FsbCh0aGlzKTt0aGlzLl9tZWFzdXJlci5yZXNldCgpfTtyZXR1cm4gd30obi5CYXIpO2QuX0VYVFJFTUFfTEFCRUxfTUFSR0lOX0ZST01fQkFSPTU7Zi5TdGFja2VkQmFyPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24ocCxtKXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj0KcH1mb3IodmFyIHEgaW4gbSltLmhhc093blByb3BlcnR5KHEpJiYocFtxXT1tW3FdKTtwLnByb3RvdHlwZT1udWxsPT09bT9PYmplY3QuY3JlYXRlKG0pOihuLnByb3RvdHlwZT1tLnByb3RvdHlwZSxuZXcgbil9LHI9aCgwKTtkPWgoMjcpO3ZhciBsPWgoMik7aD1mdW5jdGlvbihwKXtmdW5jdGlvbiBtKCl7dmFyIG49cC5jYWxsKHRoaXMpfHx0aGlzO24uX2Nvbm5lY3RvcnNFbmFibGVkPSExO24uYWRkQ2xhc3MoIndhdGVyZmFsbC1wbG90Iik7cmV0dXJuIG59ayhtLHApO20ucHJvdG90eXBlLmNvbm5lY3RvcnNFbmFibGVkPWZ1bmN0aW9uKG4pe2lmKG51bGw9PW4pcmV0dXJuIHRoaXMuX2Nvbm5lY3RvcnNFbmFibGVkO3RoaXMuX2Nvbm5lY3RvcnNFbmFibGVkPW47cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLnRvdGFsPWZ1bmN0aW9uKG4pe2lmKG51bGw9PW4pcmV0dXJuIHRoaXMuX3Byb3BlcnR5QmluZGluZ3MuZ2V0KG0uX1RPVEFMX0tFWSk7dGhpcy5fYmluZFByb3BlcnR5KG0uX1RPVEFMX0tFWSwKbixudWxsKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD1mdW5jdGlvbihuKXt2YXIgcT10aGlzO3RoaXMuX2Nvbm5lY3RvckFyZWEuc2VsZWN0QWxsKCJsaW5lIikucmVtb3ZlKCk7dGhpcy5fY29ubmVjdG9yc0VuYWJsZWQmJnIuV2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gcS5fZHJhd0Nvbm5lY3RvcnMoKX0sbil9O20ucHJvdG90eXBlLl9jcmVhdGVOb2Rlc0ZvckRhdGFzZXQ9ZnVuY3Rpb24obil7bj1wLnByb3RvdHlwZS5fY3JlYXRlTm9kZXNGb3JEYXRhc2V0LmNhbGwodGhpcyxuKTt0aGlzLl9jb25uZWN0b3JBcmVhPXRoaXMuX3JlbmRlckFyZWEuYXBwZW5kKCJnIikuY2xhc3NlZChtLl9DT05ORUNUT1JfQVJFQV9DTEFTUywhMCk7cmV0dXJuIG59O20ucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eT1mdW5jdGlvbihuKXtyZXR1cm4ieSI9PT1uP1t0aGlzLl9leHRlbnRdOnAucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eS5jYWxsKHRoaXMsCm4pfTttLnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXt2YXIgbj10aGlzLHE9cC5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yLmNhbGwodGhpcyksdT10aGlzLnkoKS5zY2FsZSx3PWwuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy50b3RhbCgpKTtudWxsPT10aGlzLmF0dHIoInkiKSYmKHEueT1mdW5jdGlvbihBLHkseCl7dmFyIEM9bi55KCkuYWNjZXNzb3IoQSx5LHgpO2lmKHcoQSx5LHgpKXJldHVybiBNYXRoLm1pbih1LnNjYWxlKEMpLHUuc2NhbGUoMCkpO0E9bi5fc3VidG90YWxzW3ldO2lmKDA9PT15KXJldHVybiAwPkM/dS5zY2FsZShBLUMpOnUuc2NhbGUoQSk7eT1uLl9zdWJ0b3RhbHNbeS0xXTtyZXR1cm4gQT55P3Uuc2NhbGUoQSk6dS5zY2FsZSh5KX0pO251bGw9PXRoaXMuYXR0cigiaGVpZ2h0IikmJihxLmhlaWdodD1mdW5jdGlvbihBLHkseCl7dmFyIEM9dyhBLHkseCk7QT1uLnkoKS5hY2Nlc3NvcihBLHkseCk7aWYoQylyZXR1cm4gTWF0aC5hYnModS5zY2FsZShBKS0KdS5zY2FsZSgwKSk7Qz1uLl9zdWJ0b3RhbHNbeV07aWYoMD09PXkpcmV0dXJuIE1hdGguYWJzKHUuc2NhbGUoQyktdS5zY2FsZShDLUEpKTt5PW4uX3N1YnRvdGFsc1t5LTFdO3JldHVybiBNYXRoLmFicyh1LnNjYWxlKEMpLXUuc2NhbGUoeSkpfSk7cVsiY2xhc3MiXT1mdW5jdGlvbihBLHkseCl7dmFyIEM9IiI7bnVsbCE9bi5hdHRyKCJjbGFzcyIpJiYoQz1uLmF0dHIoImNsYXNzIikuYWNjZXNzb3IoQSx5LHgpKyIgIik7aWYodyhBLHkseCkpcmV0dXJuIEMrbS5fQkFSX1RPVEFMX0NMQVNTO0E9bi55KCkuYWNjZXNzb3IoQSx5LHgpO3JldHVybiBDKygwPEE/bS5fQkFSX0dST1dUSF9DTEFTUzptLl9CQVJfREVDTElORV9DTEFTUyl9O3JldHVybiBxfTttLnByb3RvdHlwZS5fb25EYXRhc2V0VXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlU3VidG90YWxzKCk7cC5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZS5jYWxsKHRoaXMpO3JldHVybiB0aGlzfTttLnByb3RvdHlwZS5fY2FsY3VsYXRlU3VidG90YWxzQW5kRXh0ZW50PQpmdW5jdGlvbihuKXt2YXIgcT10aGlzLHU9TnVtYmVyLk1BWF9WQUxVRSx3PU51bWJlci5NSU5fVkFMVUUsQT0wLHk9ITE7bi5kYXRhKCkuZm9yRWFjaChmdW5jdGlvbih4LEMpe3ZhciBHPXEueSgpLmFjY2Vzc29yKHgsQyxuKTsoeD1xLnRvdGFsKCkuYWNjZXNzb3IoeCxDLG4pKSYmMCE9PUN8fChBKz1HKTtxLl9zdWJ0b3RhbHMucHVzaChBKTtBPHUmJih1PUEpO0E+dyYmKHc9QSk7eCYmKEc8dSYmKHU9RyksRz53JiYodz1HKSk7aWYoIXkmJngpe0M9Ry1BO2ZvcihHPTA7RzxxLl9zdWJ0b3RhbHMubGVuZ3RoO0crKylxLl9zdWJ0b3RhbHNbR10rPUM7eT0hMDtBKz1DO3UrPUM7dys9Q319KTt0aGlzLl9leHRlbnQ9W3Usd119O20ucHJvdG90eXBlLl9kcmF3Q29ubmVjdG9ycz1mdW5jdGlvbigpe2Zvcih2YXIgbj10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxxPXRoaXMuZGF0YXNldHMoKVswXSx1PTE7dTxxLmRhdGEoKS5sZW5ndGg7dSsrKXt2YXIgdz11LTEsQT1xLmRhdGEoKVt1XSwKeT1xLmRhdGEoKVt3XTt5PW4ueCh5LHcscSk7dmFyIHg9bi54KEEsdSxxKStuLndpZHRoKEEsdSxxKSxDPW4ueShBLHUscSk7aWYoMDx0aGlzLl9zdWJ0b3RhbHNbdV0mJnRoaXMuX3N1YnRvdGFsc1t1XT50aGlzLl9zdWJ0b3RhbHNbd118fDA+dGhpcy5fc3VidG90YWxzW3VdJiZ0aGlzLl9zdWJ0b3RhbHNbdV0+PXRoaXMuX3N1YnRvdGFsc1t3XSlDPW4ueShBLHUscSkrbi5oZWlnaHQoQSx1LHEpO3RoaXMuX2Nvbm5lY3RvckFyZWEuYXBwZW5kKCJsaW5lIikuY2xhc3NlZChtLl9DT05ORUNUT1JfQ0xBU1MsITApLmF0dHIoIngxIix5KS5hdHRyKCJ4MiIseCkuYXR0cigieTEiLEMpLmF0dHIoInkyIixDKX19O20ucHJvdG90eXBlLl91cGRhdGVTdWJ0b3RhbHM9ZnVuY3Rpb24oKXt2YXIgbj10aGlzLmRhdGFzZXRzKCk7MDxuLmxlbmd0aCYmKG49bltuLmxlbmd0aC0xXSx0aGlzLl9zdWJ0b3RhbHM9W10sdGhpcy5fY2FsY3VsYXRlU3VidG90YWxzQW5kRXh0ZW50KG4pKX07cmV0dXJuIG19KGQuQmFyKTsKaC5fQkFSX0RFQ0xJTkVfQ0xBU1M9IndhdGVyZmFsbC1kZWNsaW5lIjtoLl9CQVJfR1JPV1RIX0NMQVNTPSJ3YXRlcmZhbGwtZ3Jvd3RoIjtoLl9CQVJfVE9UQUxfQ0xBU1M9IndhdGVyZmFsbC10b3RhbCI7aC5fQ09OTkVDVE9SX0NMQVNTPSJjb25uZWN0b3IiO2guX0NPTk5FQ1RPUl9BUkVBX0NMQVNTPSJjb25uZWN0b3ItYXJlYSI7aC5fVE9UQUxfS0VZPSJ0b3RhbCI7Zi5XYXRlcmZhbGw9aH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXB9Zm9yKHZhciBxIGluIG0pbS5oYXNPd25Qcm9wZXJ0eShxKSYmKHBbcV09bVtxXSk7cC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfSxyPWgoMSksbD1oKDApO2Q9ZnVuY3Rpb24ocCl7ZnVuY3Rpb24gbShuKXt2YXIgcT1wLmNhbGwodGhpcyl8fHRoaXM7CnN3aXRjaChuKXtjYXNlIG51bGw6Y2FzZSB2b2lkIDA6bnVsbD09bS5fcGxvdHRhYmxlQ29sb3JDYWNoZSYmKG0uX3Bsb3R0YWJsZUNvbG9yQ2FjaGU9bS5fZ2V0UGxvdHRhYmxlQ29sb3JzKCkpO249ci5zY2FsZU9yZGluYWwoKS5yYW5nZShtLl9wbG90dGFibGVDb2xvckNhY2hlKTticmVhaztjYXNlICJDYXRlZ29yeTEwIjpjYXNlICJjYXRlZ29yeTEwIjpjYXNlICIxMCI6bj1yLnNjYWxlT3JkaW5hbChyLnNjaGVtZUNhdGVnb3J5MTApO2JyZWFrO2Nhc2UgIkNhdGVnb3J5MjAiOmNhc2UgImNhdGVnb3J5MjAiOmNhc2UgIjIwIjpuPXIuc2NhbGVPcmRpbmFsKHIuc2NoZW1lQ2F0ZWdvcnkyMCk7YnJlYWs7Y2FzZSAiQ2F0ZWdvcnkyMGIiOmNhc2UgImNhdGVnb3J5MjBiIjpjYXNlICIyMGIiOm49ci5zY2FsZU9yZGluYWwoci5zY2hlbWVDYXRlZ29yeTIwYik7YnJlYWs7Y2FzZSAiQ2F0ZWdvcnkyMGMiOmNhc2UgImNhdGVnb3J5MjBjIjpjYXNlICIyMGMiOm49ci5zY2FsZU9yZGluYWwoci5zY2hlbWVDYXRlZ29yeTIwYyk7CmJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVuc3VwcG9ydGVkIENvbG9yU2NhbGUgdHlwZSIpO31xLl9kM1NjYWxlPW47cmV0dXJuIHF9ayhtLHApO20ucHJvdG90eXBlLmV4dGVudE9mVmFsdWVzPWZ1bmN0aW9uKG4pe3JldHVybiBsLkFycmF5LnVuaXEobil9O20ucHJvdG90eXBlLl9nZXRFeHRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gbC5BcnJheS51bmlxKHRoaXMuX2dldEFsbEluY2x1ZGVkVmFsdWVzKCkpfTttLmludmFsaWRhdGVDb2xvckNhY2hlPWZ1bmN0aW9uKCl7bS5fcGxvdHRhYmxlQ29sb3JDYWNoZT1udWxsfTttLl9nZXRQbG90dGFibGVDb2xvcnM9ZnVuY3Rpb24oKXtmb3IodmFyIG49W10scT1yLnNlbGVjdCgiYm9keSIpLmFwcGVuZCgicGxvdHRhYmxlLWNvbG9yLXRlc3RlciIpLHU9bC5Db2xvci5jb2xvclRlc3QocSwiIiksdz0wLEE9bC5Db2xvci5jb2xvclRlc3QocSwicGxvdHRhYmxlLWNvbG9ycy0wIik7bnVsbCE9QSYmdzx0aGlzLl9NQVhJTVVNX0NPTE9SU19GUk9NX0NTUyYmCihBIT09dXx8QSE9PW5bbi5sZW5ndGgtMV0pOyluLnB1c2goQSksdysrLEE9bC5Db2xvci5jb2xvclRlc3QocSwicGxvdHRhYmxlLWNvbG9ycy0iK3cpO3EucmVtb3ZlKCk7cmV0dXJuIG59O20ucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKG4pe3ZhciBxPXRoaXMuX2QzU2NhbGUobik7bj10aGlzLmRvbWFpbigpLmluZGV4T2Yobik7bj1NYXRoLmZsb29yKG4vdGhpcy5yYW5nZSgpLmxlbmd0aCk7cmV0dXJuIGwuQ29sb3IubGlnaHRlbkNvbG9yKHEsTWF0aC5sb2cobiptLl9MT09QX0xJR0hURU5fRkFDVE9SKzEpKX07bS5wcm90b3R5cGUuX2dldERvbWFpbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9iYWNraW5nU2NhbGVEb21haW4oKX07bS5wcm90b3R5cGUuX2JhY2tpbmdTY2FsZURvbWFpbj1mdW5jdGlvbihuKXtpZihudWxsPT1uKXJldHVybiB0aGlzLl9kM1NjYWxlLmRvbWFpbigpO3RoaXMuX2QzU2NhbGUuZG9tYWluKG4pO3JldHVybiB0aGlzfTttLnByb3RvdHlwZS5fZ2V0UmFuZ2U9CmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2QzU2NhbGUucmFuZ2UoKX07bS5wcm90b3R5cGUuX3NldFJhbmdlPWZ1bmN0aW9uKG4pe3RoaXMuX2QzU2NhbGUucmFuZ2Uobil9O3JldHVybiBtfShoKDE3KS5TY2FsZSk7ZC5fTE9PUF9MSUdIVEVOX0ZBQ1RPUj0xLjY7ZC5fTUFYSU1VTV9DT0xPUlNfRlJPTV9DU1M9MjU2O2YuQ29sb3I9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXB9Zm9yKHZhciBxIGluIG0pbS5oYXNPd25Qcm9wZXJ0eShxKSYmKHBbcV09bVtxXSk7cC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfSxyPWgoMSksbD1oKDApO2Q9ZnVuY3Rpb24ocCl7ZnVuY3Rpb24gbShuKXt2b2lkIDA9PT1uJiYobj0ibGluZWFyIik7dmFyIHE9cC5jYWxsKHRoaXMpfHx0aGlzO3N3aXRjaChuKXtjYXNlICJsaW5lYXIiOnEuX2NvbG9yU2NhbGU9CnIuc2NhbGVMaW5lYXIoKTticmVhaztjYXNlICJsb2ciOnEuX2NvbG9yU2NhbGU9ci5zY2FsZUxvZygpO2JyZWFrO2Nhc2UgInNxcnQiOnEuX2NvbG9yU2NhbGU9ci5zY2FsZVNxcnQoKTticmVhaztjYXNlICJwb3ciOnEuX2NvbG9yU2NhbGU9ci5zY2FsZVBvdygpfWlmKG51bGw9PXEuX2NvbG9yU2NhbGUpdGhyb3cgRXJyb3IoInVua25vd24gUXVhbnRpdGF0aXZlU2NhbGUgc2NhbGUgdHlwZSAiK24pO3EucmFuZ2UobS5SRURTKTtyZXR1cm4gcX1rKG0scCk7bS5wcm90b3R5cGUuZXh0ZW50T2ZWYWx1ZXM9ZnVuY3Rpb24obil7bj1yLmV4dGVudChuKTtyZXR1cm4gbnVsbD09blswXXx8bnVsbD09blsxXT9bXTpufTttLnByb3RvdHlwZS5fZDNJbnRlcnBvbGF0ZWRTY2FsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb2xvclNjYWxlLnJhbmdlKFswLDFdKS5pbnRlcnBvbGF0ZSh0aGlzLl9pbnRlcnBvbGF0ZUNvbG9ycygpKX07bS5wcm90b3R5cGUuX2ludGVycG9sYXRlQ29sb3JzPQpmdW5jdGlvbigpe3ZhciBuPXRoaXMuX2NvbG9yUmFuZ2U7aWYoMj5uLmxlbmd0aCl0aHJvdyBFcnJvcigiQ29sb3Igc2NhbGUgYXJyYXlzIG11c3QgaGF2ZSBhdCBsZWFzdCB0d28gZWxlbWVudHMuIik7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHEpe3E9TWF0aC5tYXgoMCxNYXRoLm1pbigxLHEpKTtxKj1uLmxlbmd0aC0xO3ZhciB1PU1hdGguZmxvb3IocSksdz1xLXU7cmV0dXJuIHIuaW50ZXJwb2xhdGVMYWIoblt1XSxuW01hdGguY2VpbChxKV0pKHcpfX19O20ucHJvdG90eXBlLl9yZXNldFNjYWxlPWZ1bmN0aW9uKCl7dGhpcy5fZDNTY2FsZT10aGlzLl9kM0ludGVycG9sYXRlZFNjYWxlKCk7dGhpcy5fYXV0b0RvbWFpbklmQXV0b21hdGljTW9kZSgpO3RoaXMuX2Rpc3BhdGNoVXBkYXRlKCl9O20ucHJvdG90eXBlLmF1dG9Eb21haW49ZnVuY3Rpb24oKXt2YXIgbj10aGlzLl9nZXRBbGxJbmNsdWRlZFZhbHVlcygpOzA8bi5sZW5ndGgmJnRoaXMuX3NldERvbWFpbihbbC5NYXRoLm1pbihuLAowKSxsLk1hdGgubWF4KG4sMCldKX07bS5wcm90b3R5cGUuc2NhbGU9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuX2QzU2NhbGUobil9O20ucHJvdG90eXBlLl9nZXREb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFja2luZ1NjYWxlRG9tYWluKCl9O20ucHJvdG90eXBlLl9iYWNraW5nU2NhbGVEb21haW49ZnVuY3Rpb24obil7aWYobnVsbD09bilyZXR1cm4gdGhpcy5fZDNTY2FsZS5kb21haW4oKTt0aGlzLl9kM1NjYWxlLmRvbWFpbihuKTtyZXR1cm4gdGhpc307bS5wcm90b3R5cGUuX2dldFJhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbG9yUmFuZ2V9O20ucHJvdG90eXBlLl9zZXRSYW5nZT1mdW5jdGlvbihuKXt0aGlzLl9jb2xvclJhbmdlPW47dGhpcy5fcmVzZXRTY2FsZSgpfTtyZXR1cm4gbX0oaCgxNykuU2NhbGUpO2QuUkVEUz0iI0ZGRkZGRiAjRkZGNkUxICNGRUY0QzAgI0ZFRDk3NiAjRkVCMjRDICNGRDhEM0MgI0ZDNEUyQSAjRTMxQTFDICNCMTAwMjYiLnNwbGl0KCIgIik7CmQuQkxVRVM9IiNGRkZGRkYgI0NDRkZGRiAjQTVGRkZEICM4NUY3RkIgIzZFRDNFRiAjNTVBN0UwICM0MTdGRDAgIzI1NDVEMyAjMEIwMkUxIi5zcGxpdCgiICIpO2QuUE9TTkVHPSIjMEIwMkUxICMyNTQ1RDMgIzQxN0ZEMCAjNTVBN0UwICM2RUQzRUYgIzg1RjdGQiAjQTVGRkZEICNDQ0ZGRkYgI0ZGRkZGRiAjRkZGNkUxICNGRUY0QzAgI0ZFRDk3NiAjRkVCMjRDICNGRDhEM0MgI0ZDNEUyQSAjRTMxQTFDICNCMTAwMjYiLnNwbGl0KCIgIik7Zi5JbnRlcnBvbGF0ZWRDb2xvcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKGwscCl7ZnVuY3Rpb24gbSgpe3RoaXMuY29uc3RydWN0b3I9bH1mb3IodmFyIG4gaW4gcClwLmhhc093blByb3BlcnR5KG4pJiYobFtuXT1wW25dKTtsLnByb3RvdHlwZT1udWxsPT09cD9PYmplY3QuY3JlYXRlKHApOihtLnByb3RvdHlwZT1wLnByb3RvdHlwZSxuZXcgbSl9LHI9aCgxKTtkPWZ1bmN0aW9uKGwpe2Z1bmN0aW9uIHAoKXt2YXIgbT0KbC5jYWxsKHRoaXMpfHx0aGlzO20uX2QzU2NhbGU9ci5zY2FsZUxpbmVhcigpO3JldHVybiBtfWsocCxsKTtwLnByb3RvdHlwZS5fZGVmYXVsdEV4dGVudD1mdW5jdGlvbigpe3JldHVyblswLDFdfTtwLnByb3RvdHlwZS5fZXhwYW5kU2luZ2xlVmFsdWVEb21haW49ZnVuY3Rpb24obSl7cmV0dXJuIG1bMF09PT1tWzFdP1ttWzBdLTEsbVsxXSsxXTptfTtwLnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbihtKXtyZXR1cm4gdGhpcy5fZDNTY2FsZShtKX07cC5wcm90b3R5cGUuc2NhbGVUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbihtKXtyZXR1cm4gdGhpcy5zY2FsZShtKX07cC5wcm90b3R5cGUuaW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbihtKXtyZXR1cm4gdGhpcy5pbnZlcnQobSl9O3AucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2dldFVuYm91bmRlZEV4dGVudCghMCl9O3AucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRG9tYWluPQpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbWFpbigpfTtwLnByb3RvdHlwZS5zZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbj1mdW5jdGlvbihtKXt0aGlzLmRvbWFpbihtKX07cC5wcm90b3R5cGUuX2dldERvbWFpbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9iYWNraW5nU2NhbGVEb21haW4oKX07cC5wcm90b3R5cGUuX2JhY2tpbmdTY2FsZURvbWFpbj1mdW5jdGlvbihtKXtpZihudWxsPT1tKXJldHVybiB0aGlzLl9kM1NjYWxlLmRvbWFpbigpO3RoaXMuX2QzU2NhbGUuZG9tYWluKG0pO3JldHVybiB0aGlzfTtwLnByb3RvdHlwZS5fZ2V0UmFuZ2U9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZDNTY2FsZS5yYW5nZSgpfTtwLnByb3RvdHlwZS5fc2V0UmFuZ2U9ZnVuY3Rpb24obSl7dGhpcy5fZDNTY2FsZS5yYW5nZShtKX07cC5wcm90b3R5cGUuaW52ZXJ0PWZ1bmN0aW9uKG0pe3JldHVybiB0aGlzLl9kM1NjYWxlLmludmVydChtKX07cC5wcm90b3R5cGUuZGVmYXVsdFRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2QzU2NhbGUudGlja3MoKX07CnAucHJvdG90eXBlLl9uaWNlRG9tYWluPWZ1bmN0aW9uKG0sbil7cmV0dXJuIHRoaXMuX2QzU2NhbGUuY29weSgpLmRvbWFpbihtKS5uaWNlKG4pLmRvbWFpbigpfTtyZXR1cm4gcH0oaCgxMSkuUXVhbnRpdGF0aXZlU2NhbGUpO2YuTGluZWFyPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24obSxuKXtmdW5jdGlvbiBxKCl7dGhpcy5jb25zdHJ1Y3Rvcj1tfWZvcih2YXIgdSBpbiBuKW4uaGFzT3duUHJvcGVydHkodSkmJihtW3VdPW5bdV0pO20ucHJvdG90eXBlPW51bGw9PT1uP09iamVjdC5jcmVhdGUobik6KHEucHJvdG90eXBlPW4ucHJvdG90eXBlLG5ldyBxKX0scj1oKDEpLGw9aCgwKSxwPWgoMyk7ZD1mdW5jdGlvbihtKXtmdW5jdGlvbiBuKHEpe3ZvaWQgMD09PXEmJihxPTEwKTt2YXIgdT1tLmNhbGwodGhpcyl8fHRoaXM7dS5fZDNTY2FsZT1yLnNjYWxlTGluZWFyKCk7dS5fYmFzZT1xO3UuX3Bpdm90PXUuX2Jhc2U7dS5fc2V0RG9tYWluKHUuX2RlZmF1bHRFeHRlbnQoKSk7CmlmKDE+PXEpdGhyb3cgRXJyb3IoIk1vZGlmaWVkTG9nU2NhbGU6IFRoZSBiYXNlIG11c3QgYmUgXHgzZSAxIik7cmV0dXJuIHV9ayhuLG0pO24ucHJvdG90eXBlLl9hZGp1c3RlZExvZz1mdW5jdGlvbihxKXt2YXIgdT0wPnE/LTE6MTtxKj11O3E8dGhpcy5fcGl2b3QmJihxKz0odGhpcy5fcGl2b3QtcSkvdGhpcy5fcGl2b3QpO3E9TWF0aC5sb2cocSkvTWF0aC5sb2codGhpcy5fYmFzZSk7cmV0dXJuIHEqdX07bi5wcm90b3R5cGUuX2ludmVydGVkQWRqdXN0ZWRMb2c9ZnVuY3Rpb24ocSl7dmFyIHU9MD5xPy0xOjE7cT1NYXRoLnBvdyh0aGlzLl9iYXNlLHEqdSk7cTx0aGlzLl9waXZvdCYmKHE9dGhpcy5fcGl2b3QqKHEtMSkvKHRoaXMuX3Bpdm90LTEpKTtyZXR1cm4gcSp1fTtuLnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbihxKXtyZXR1cm4gdGhpcy5fZDNTY2FsZSh0aGlzLl9hZGp1c3RlZExvZyhxKSl9O24ucHJvdG90eXBlLmludmVydD1mdW5jdGlvbihxKXtyZXR1cm4gdGhpcy5faW52ZXJ0ZWRBZGp1c3RlZExvZyh0aGlzLl9kM1NjYWxlLmludmVydChxKSl9OwpuLnByb3RvdHlwZS5zY2FsZVRyYW5zZm9ybWF0aW9uPWZ1bmN0aW9uKHEpe3JldHVybiB0aGlzLnNjYWxlKHEpfTtuLnByb3RvdHlwZS5pbnZlcnRlZFRyYW5zZm9ybWF0aW9uPWZ1bmN0aW9uKHEpe3JldHVybiB0aGlzLmludmVydChxKX07bi5wcm90b3R5cGUuZ2V0VHJhbnNmb3JtYXRpb25FeHRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZ2V0VW5ib3VuZGVkRXh0ZW50KCEwKX07bi5wcm90b3R5cGUuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21haW4oKX07bi5wcm90b3R5cGUuc2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24ocSl7dGhpcy5kb21haW4ocSl9O24ucHJvdG90eXBlLl9nZXREb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdW50cmFuc2Zvcm1lZERvbWFpbn07bi5wcm90b3R5cGUuX3NldERvbWFpbj1mdW5jdGlvbihxKXt0aGlzLl91bnRyYW5zZm9ybWVkRG9tYWluPXE7bS5wcm90b3R5cGUuX3NldERvbWFpbi5jYWxsKHRoaXMsClt0aGlzLl9hZGp1c3RlZExvZyhxWzBdKSx0aGlzLl9hZGp1c3RlZExvZyhxWzFdKV0pfTtuLnByb3RvdHlwZS5fYmFja2luZ1NjYWxlRG9tYWluPWZ1bmN0aW9uKHEpe2lmKG51bGw9PXEpcmV0dXJuIHRoaXMuX2QzU2NhbGUuZG9tYWluKCk7dGhpcy5fZDNTY2FsZS5kb21haW4ocSk7cmV0dXJuIHRoaXN9O24ucHJvdG90eXBlLnRpY2tzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcShHLEQsQil7cmV0dXJuW0csRCxCXS5zb3J0KGZ1bmN0aW9uKEgsSyl7cmV0dXJuIEgtS30pWzFdfXZhciB1PWwuTWF0aC5taW4odGhpcy5fdW50cmFuc2Zvcm1lZERvbWFpbiwwKSx3PWwuTWF0aC5tYXgodGhpcy5fdW50cmFuc2Zvcm1lZERvbWFpbiwwKSxBPXEodSx3LC10aGlzLl9waXZvdCkseT1xKHUsdyx0aGlzLl9waXZvdCk7QT10aGlzLl9sb2dUaWNrcygtQSwtdSkubWFwKGZ1bmN0aW9uKEcpe3JldHVybi1HfSkucmV2ZXJzZSgpO3k9dGhpcy5fbG9nVGlja3MoeSx3KTt2YXIgeD1NYXRoLm1heCh1LAotdGhpcy5fcGl2b3QpLEM9TWF0aC5taW4odyx0aGlzLl9waXZvdCk7eD1yLnNjYWxlTGluZWFyKCkuZG9tYWluKFt4LENdKS50aWNrcyh0aGlzLl9ob3dNYW55VGlja3MoeCxDKSk7QT1BLmNvbmNhdCh4KS5jb25jYXQoeSk7MT49QS5sZW5ndGgmJihBPXIuc2NhbGVMaW5lYXIoKS5kb21haW4oW3Usd10pLnRpY2tzKCkpO3JldHVybiBBfTtuLnByb3RvdHlwZS5fbG9nVGlja3M9ZnVuY3Rpb24ocSx1KXt2YXIgdz10aGlzLEE9dGhpcy5faG93TWFueVRpY2tzKHEsdSk7aWYoMD09PUEpcmV0dXJuW107dmFyIHk9TWF0aC5mbG9vcihNYXRoLmxvZyhxKS9NYXRoLmxvZyh0aGlzLl9iYXNlKSkseD1NYXRoLmNlaWwoTWF0aC5sb2codSkvTWF0aC5sb2codGhpcy5fYmFzZSkpO0E9ci5yYW5nZSh4LHksLU1hdGguY2VpbCgoeC15KS9BKSk7eT1yLnJhbmdlKHRoaXMuX2Jhc2UsMSwtKHRoaXMuX2Jhc2UtMSkpLm1hcChNYXRoLmZsb29yKTt2YXIgQz1sLkFycmF5LnVuaXEoeSk7QT1BLm1hcChmdW5jdGlvbihHKXtyZXR1cm4gQy5tYXAoZnVuY3Rpb24oRCl7cmV0dXJuIE1hdGgucG93KHcuX2Jhc2UsCkctMSkqRH0pfSk7cmV0dXJuIGwuQXJyYXkuZmxhdHRlbihBKS5maWx0ZXIoZnVuY3Rpb24oRyl7cmV0dXJuIHE8PUcmJkc8PXV9KS5zb3J0KGZ1bmN0aW9uKEcsRCl7cmV0dXJuIEctRH0pfTtuLnByb3RvdHlwZS5faG93TWFueVRpY2tzPWZ1bmN0aW9uKHEsdSl7dmFyIHc9dGhpcy5fYWRqdXN0ZWRMb2cobC5NYXRoLm1pbih0aGlzLl91bnRyYW5zZm9ybWVkRG9tYWluLDApKSxBPXRoaXMuX2FkanVzdGVkTG9nKGwuTWF0aC5tYXgodGhpcy5fdW50cmFuc2Zvcm1lZERvbWFpbiwwKSk7cmV0dXJuIE1hdGguY2VpbCgodGhpcy5fYWRqdXN0ZWRMb2codSktdGhpcy5fYWRqdXN0ZWRMb2cocSkpLyhBLXcpKnAuTW9kaWZpZWRMb2cuX0RFRkFVTFRfTlVNX1RJQ0tTKX07bi5wcm90b3R5cGUuX25pY2VEb21haW49ZnVuY3Rpb24ocSl7cmV0dXJuIHF9O24ucHJvdG90eXBlLl9kZWZhdWx0RXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuWzAsdGhpcy5fYmFzZV19O24ucHJvdG90eXBlLl9leHBhbmRTaW5nbGVWYWx1ZURvbWFpbj0KZnVuY3Rpb24ocSl7cmV0dXJuIHFbMF09PT1xWzFdPyhxPXFbMF0sMDxxP1txL3RoaXMuX2Jhc2UscSp0aGlzLl9iYXNlXTowPT09cT9bLXRoaXMuX2Jhc2UsdGhpcy5fYmFzZV06W3EqdGhpcy5fYmFzZSxxL3RoaXMuX2Jhc2VdKTpxfTtuLnByb3RvdHlwZS5fZ2V0UmFuZ2U9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZDNTY2FsZS5yYW5nZSgpfTtuLnByb3RvdHlwZS5fc2V0UmFuZ2U9ZnVuY3Rpb24ocSl7dGhpcy5fZDNTY2FsZS5yYW5nZShxKX07bi5wcm90b3R5cGUuZGVmYXVsdFRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2QzU2NhbGUudGlja3MoKX07cmV0dXJuIG59KGgoMTEpLlF1YW50aXRhdGl2ZVNjYWxlKTtmLk1vZGlmaWVkTG9nPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz1oKDApO2YuaW50ZXJ2YWxUaWNrR2VuZXJhdG9yPWZ1bmN0aW9uKHIpe2lmKDA+PXIpdGhyb3cgRXJyb3IoImludGVydmFsIG11c3QgYmUgcG9zaXRpdmUgbnVtYmVyIik7cmV0dXJuIGZ1bmN0aW9uKGwpe2w9CmwuZG9tYWluKCk7dmFyIHA9TWF0aC5taW4obFswXSxsWzFdKTtsPU1hdGgubWF4KGxbMF0sbFsxXSk7dmFyIG09TWF0aC5jZWlsKHAvcikqcjtwPTA9PT1wJXI/W106W3BdO3ZhciBuPWsuTWF0aC5yYW5nZSgwLE1hdGguZmxvb3IoKGwtbSkvcikrMSkubWFwKGZ1bmN0aW9uKHEpe3JldHVybiBtK3Eqcn0pO3JldHVybiBwLmNvbmNhdChuKS5jb25jYXQoMD09PWwlcj9bXTpbbF0pfX07Zi5pbnRlZ2VyVGlja0dlbmVyYXRvcj1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihyKXt2YXIgbD1yLmRlZmF1bHRUaWNrcygpO3JldHVybiBsLmZpbHRlcihmdW5jdGlvbihwLG0pe3JldHVybiAwPT09cCUxfHwwPT09bXx8bT09PWwubGVuZ3RoLTF9KX19fSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHAsbSl7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9cH1mb3IodmFyIHEgaW4gbSltLmhhc093blByb3BlcnR5KHEpJiYocFtxXT1tW3FdKTsKcC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfSxyPWgoMSksbD1oKDI4KTtkPWZ1bmN0aW9uKHApe2Z1bmN0aW9uIG0oKXt2YXIgbj1wLmNhbGwodGhpcyl8fHRoaXM7bi5fZDNTY2FsZT1yLnNjYWxlVGltZSgpO24uYXV0b0RvbWFpbigpO3JldHVybiBufWsobSxwKTttLnByb3RvdHlwZS50aWNrSW50ZXJ2YWw9ZnVuY3Rpb24obixxKXt2b2lkIDA9PT1xJiYocT0xKTt2YXIgdT1yLnNjYWxlVGltZSgpO20udGltZUludGVydmFsVG9EM1RpbWUobikuZXZlcnkocSk7dS5kb21haW4odGhpcy5kb21haW4oKSk7dS5yYW5nZSh0aGlzLnJhbmdlKCkpO3JldHVybiB1LnRpY2tzKCl9O20ucHJvdG90eXBlLl9zZXREb21haW49ZnVuY3Rpb24obil7aWYoblsxXTxuWzBdKXRocm93IEVycm9yKCJTY2FsZS5UaW1lIGRvbWFpbiB2YWx1ZXMgbXVzdCBiZSBpbiBjaHJvbm9sb2dpY2FsIG9yZGVyIik7cmV0dXJuIHAucHJvdG90eXBlLl9zZXREb21haW4uY2FsbCh0aGlzLApuKX07bS5wcm90b3R5cGUuX2RlZmF1bHRFeHRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm5bbmV3IERhdGUoIjE5NzAtMDEtMDEiKSxuZXcgRGF0ZSgiMTk3MC0wMS0wMiIpXX07bS5wcm90b3R5cGUuX2V4cGFuZFNpbmdsZVZhbHVlRG9tYWluPWZ1bmN0aW9uKG4pe3ZhciBxPW5bMF0uZ2V0VGltZSgpLHU9blsxXS5nZXRUaW1lKCk7cmV0dXJuIHE9PT11PyhuPW5ldyBEYXRlKHEpLG4uc2V0RGF0ZShuLmdldERhdGUoKS0xKSx1PW5ldyBEYXRlKHUpLHUuc2V0RGF0ZSh1LmdldERhdGUoKSsxKSxbbix1XSk6bn07bS5wcm90b3R5cGUuc2NhbGU9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuX2QzU2NhbGUobil9O20ucHJvdG90eXBlLnNjYWxlVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuc2NhbGUobmV3IERhdGUobikpfTttLnByb3RvdHlwZS5pbnZlcnRlZFRyYW5zZm9ybWF0aW9uPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLmludmVydChuKS5nZXRUaW1lKCl9O20ucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRXh0ZW50PQpmdW5jdGlvbigpe3ZhciBuPXRoaXMuX2dldFVuYm91bmRlZEV4dGVudCghMCk7cmV0dXJuW25bMF0udmFsdWVPZigpLG5bMV0udmFsdWVPZigpXX07bS5wcm90b3R5cGUuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24oKXt2YXIgbj10aGlzLmRvbWFpbigpO3JldHVybltuWzBdLnZhbHVlT2YoKSxuWzFdLnZhbHVlT2YoKV19O20ucHJvdG90eXBlLnNldFRyYW5zZm9ybWF0aW9uRG9tYWluPWZ1bmN0aW9uKG4pe3RoaXMuZG9tYWluKFtuZXcgRGF0ZShuWzBdKSxuZXcgRGF0ZShuWzFdKV0pfTttLnByb3RvdHlwZS5fZ2V0RG9tYWluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JhY2tpbmdTY2FsZURvbWFpbigpfTttLnByb3RvdHlwZS5fYmFja2luZ1NjYWxlRG9tYWluPWZ1bmN0aW9uKG4pe2lmKG51bGw9PW4pcmV0dXJuIHRoaXMuX2QzU2NhbGUuZG9tYWluKCk7dGhpcy5fZDNTY2FsZS5kb21haW4obik7cmV0dXJuIHRoaXN9O20ucHJvdG90eXBlLl9nZXRSYW5nZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kM1NjYWxlLnJhbmdlKCl9OwptLnByb3RvdHlwZS5fc2V0UmFuZ2U9ZnVuY3Rpb24obil7dGhpcy5fZDNTY2FsZS5yYW5nZShuKX07bS5wcm90b3R5cGUuaW52ZXJ0PWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLl9kM1NjYWxlLmludmVydChuKX07bS5wcm90b3R5cGUuZGVmYXVsdFRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2QzU2NhbGUudGlja3MoKX07bS5wcm90b3R5cGUuX25pY2VEb21haW49ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuX2QzU2NhbGUuY29weSgpLmRvbWFpbihuKS5uaWNlKCkuZG9tYWluKCl9O20udGltZUludGVydmFsVG9EM1RpbWU9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgbC5UaW1lSW50ZXJ2YWwuc2Vjb25kOnJldHVybiByLnRpbWVTZWNvbmQ7Y2FzZSBsLlRpbWVJbnRlcnZhbC5taW51dGU6cmV0dXJuIHIudGltZU1pbnV0ZTtjYXNlIGwuVGltZUludGVydmFsLmhvdXI6cmV0dXJuIHIudGltZUhvdXI7Y2FzZSBsLlRpbWVJbnRlcnZhbC5kYXk6cmV0dXJuIHIudGltZURheTsKY2FzZSBsLlRpbWVJbnRlcnZhbC53ZWVrOnJldHVybiByLnRpbWVXZWVrO2Nhc2UgbC5UaW1lSW50ZXJ2YWwubW9udGg6cmV0dXJuIHIudGltZU1vbnRoO2Nhc2UgbC5UaW1lSW50ZXJ2YWwueWVhcjpyZXR1cm4gci50aW1lWWVhcjtkZWZhdWx0OnRocm93IEVycm9yKCJUaW1lSW50ZXJ2YWwgc3BlY2lmaWVkIGRvZXMgbm90IGV4aXN0OiAiK24pO319O3JldHVybiBtfShoKDExKS5RdWFudGl0YXRpdmVTY2FsZSk7Zi5UaW1lPWR9LGZ1bmN0aW9uKGQsZixoKXt2YXIgaz1oKDEpLHI9QXJyYXk7Zi5hZGQ9ZnVuY3Rpb24obCxwKXtpZihsLmxlbmd0aCE9PXAubGVuZ3RoKXRocm93IEVycm9yKCJhdHRlbXB0ZWQgdG8gYWRkIGFycmF5cyBvZiB1bmVxdWFsIGxlbmd0aCIpO3JldHVybiBsLm1hcChmdW5jdGlvbihtLG4pe3JldHVybiBsW25dK3Bbbl19KX07Zi51bmlxPWZ1bmN0aW9uKGwpe3ZhciBwPWsuc2V0KCksbT1bXTtsLmZvckVhY2goZnVuY3Rpb24obil7cC5oYXMoU3RyaW5nKG4pKXx8CihwLmFkZChTdHJpbmcobikpLG0ucHVzaChuKSl9KTtyZXR1cm4gbX07Zi5mbGF0dGVuPWZ1bmN0aW9uKGwpe3JldHVybiByLnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sbCl9O2YuY3JlYXRlRmlsbGVkQXJyYXk9ZnVuY3Rpb24obCxwKXtmb3IodmFyIG09W10sbj0wO248cDtuKyspbVtuXT0iZnVuY3Rpb24iPT09dHlwZW9mIGw/bChuKTpsO3JldHVybiBtfX0sZnVuY3Rpb24oZCxmKXtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChrLHIsbCl7dGhpcy5tYXhJbmRleD10aGlzLm1pbkluZGV4PXRoaXMuZXhpdEluZGV4PXRoaXMuZW50cnlJbmRleD1rO3RoaXMuYnVja2V0VmFsdWU9cjt0aGlzLm1heFZhbHVlPXRoaXMubWluVmFsdWU9bH1oLnByb3RvdHlwZS5pc0luQnVja2V0PWZ1bmN0aW9uKGspe3JldHVybiBrPT10aGlzLmJ1Y2tldFZhbHVlfTtoLnByb3RvdHlwZS5hZGRUb0J1Y2tldD1mdW5jdGlvbihrLHIpe2s8dGhpcy5taW5WYWx1ZSYmKHRoaXMubWluVmFsdWU9ayx0aGlzLm1pbkluZGV4PQpyKTtrPnRoaXMubWF4VmFsdWUmJih0aGlzLm1heFZhbHVlPWssdGhpcy5tYXhJbmRleD1yKTt0aGlzLmV4aXRJbmRleD1yfTtoLnByb3RvdHlwZS5nZXRVbmlxdWVJbmRpY2VzPWZ1bmN0aW9uKCl7dmFyIGs9W3RoaXMuZW50cnlJbmRleCx0aGlzLm1heEluZGV4LHRoaXMubWluSW5kZXgsdGhpcy5leGl0SW5kZXhdO3JldHVybiBrLmZpbHRlcihmdW5jdGlvbihyLGwpe3JldHVybiAwPT1sfHxyIT1rW2wtMV19KX07cmV0dXJuIGh9KCk7Zi5CdWNrZXQ9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihyLGwpe2Z1bmN0aW9uIHAoKXt0aGlzLmNvbnN0cnVjdG9yPXJ9Zm9yKHZhciBtIGluIGwpbC5oYXNPd25Qcm9wZXJ0eShtKSYmKHJbbV09bFttXSk7ci5wcm90b3R5cGU9bnVsbD09PWw/T2JqZWN0LmNyZWF0ZShsKToocC5wcm90b3R5cGU9bC5wcm90b3R5cGUsbmV3IHApfTtkPWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIGwoKXtyZXR1cm4gbnVsbCE9PQpyJiZyLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31rKGwscik7bC5wcm90b3R5cGUuY2FsbENhbGxiYWNrcz1mdW5jdGlvbigpe2Zvcih2YXIgcD10aGlzLG09W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspbVtuXT1hcmd1bWVudHNbbl07dGhpcy5mb3JFYWNoKGZ1bmN0aW9uKHEpe3EuYXBwbHkocCxtKX0pO3JldHVybiB0aGlzfTtyZXR1cm4gbH0oaCg1OCkuU2V0KTtmLkNhbGxiYWNrU2V0PWR9LGZ1bmN0aW9uKGQsZixoKXtmdW5jdGlvbiBrKHApe2Z1bmN0aW9uIG0odSl7dS89MjU1O3JldHVybi4wMzkyOD49dT91LzEyLjkyOmwucG93KCh1Ky4wNTUpLzEuMDU1LDIuNCl9dmFyIG49ci5yZ2IocCk7cD1tKG4ucik7dmFyIHE9bShuLmcpO249bShuLmIpO3JldHVybi4yMTI2KnArLjcxNTIqcSsuMDcyMipufXZhciByPWgoMSksbD1NYXRoO2YuY29udHJhc3Q9ZnVuY3Rpb24ocCxtKXtwPWsocCkrLjA1O209ayhtKSsuMDU7cmV0dXJuIHA+bT9wL206bS9wfTtmLmxpZ2h0ZW5Db2xvcj0KZnVuY3Rpb24ocCxtKXtyZXR1cm4gci5jb2xvcihwKS5icmlnaHRlcihtKS5yZ2IoKS50b1N0cmluZygpfTtmLmNvbG9yVGVzdD1mdW5jdGlvbihwLG0pe3AuY2xhc3NlZChtLCEwKTt2YXIgbj1wLnN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIik7aWYoInRyYW5zcGFyZW50Ij09PW4pcmV0dXJuIG51bGw7bj0vXCgoLispXCkvLmV4ZWMobik7aWYoIW4pcmV0dXJuIG51bGw7bj1uWzFdLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKHEpe3E9K3E7dmFyIHU9cS50b1N0cmluZygxNik7cmV0dXJuIDE2PnE/IjAiK3U6dX0pO2lmKDQ9PT1uLmxlbmd0aCYmIjAwIj09PW5bM10pcmV0dXJuIG51bGw7bj0iIyIrbi5qb2luKCIiKTtwLmNsYXNzZWQobSwhMSk7cmV0dXJuIG59fSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9aCgxKSxyPWgoNTcpO2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiBsKCl7dGhpcy5fZW50aXRpZXM9W107dGhpcy5fcnRyZWU9bmV3IHIuUlRyZWU7dGhpcy5fdHJlZT1rLnF1YWR0cmVlKCkueChmdW5jdGlvbihwKXtyZXR1cm4gTWF0aC5mbG9vcihwLnBvc2l0aW9uLngpfSkueShmdW5jdGlvbihwKXtyZXR1cm4gTWF0aC5mbG9vcihwLnBvc2l0aW9uLnkpfSl9CmwucHJvdG90eXBlLmFkZEFsbD1mdW5jdGlvbihwLG0sbil7KHc9dGhpcy5fZW50aXRpZXMpLnB1c2guYXBwbHkodyxwKTtpZih2b2lkIDAhPT1uKWZvcihuPXIuUlRyZWVCb3VuZHMuYm91bmRzKG4pLHc9MDt3PHAubGVuZ3RoO3crKyl7dmFyIHE9cFt3XSx1PXIuUlRyZWVCb3VuZHMuZW50aXR5Qm91bmRzKG0ocSkpO3IuUlRyZWVCb3VuZHMuaXNCb3VuZHNPdmVybGFwQm91bmRzKG4sdSkmJih0aGlzLl90cmVlLmFkZChxKSx0aGlzLl9ydHJlZS5pbnNlcnQodSxxKSl9ZWxzZSBmb3IodGhpcy5fdHJlZS5hZGRBbGwocCksdz0wO3c8cC5sZW5ndGg7dysrKXE9cFt3XSx1PXIuUlRyZWVCb3VuZHMuZW50aXR5Qm91bmRzKG0ocSkpLHRoaXMuX3J0cmVlLmluc2VydCh1LHEpO3ZhciB3fTtsLnByb3RvdHlwZS5lbnRpdHlOZWFyZXN0PWZ1bmN0aW9uKHApe3JldHVybiB0aGlzLl90cmVlLmZpbmQocC54LHAueSl9O2wucHJvdG90eXBlLmVudGl0aWVzSW5Cb3VuZHM9ZnVuY3Rpb24ocCl7cmV0dXJuIHRoaXMuX3J0cmVlLmludGVyc2VjdChyLlJUcmVlQm91bmRzLmVudGl0eUJvdW5kcyhwKSl9OwpsLnByb3RvdHlwZS5lbnRpdGllc0luWEJvdW5kcz1mdW5jdGlvbihwKXtyZXR1cm4gdGhpcy5fcnRyZWUuaW50ZXJzZWN0WChyLlJUcmVlQm91bmRzLmVudGl0eUJvdW5kcyhwKSl9O2wucHJvdG90eXBlLmVudGl0aWVzSW5ZQm91bmRzPWZ1bmN0aW9uKHApe3JldHVybiB0aGlzLl9ydHJlZS5pbnRlcnNlY3RZKHIuUlRyZWVCb3VuZHMuZW50aXR5Qm91bmRzKHApKX07bC5wcm90b3R5cGUuZW50aXRpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZW50aXRpZXN9O3JldHVybiBsfSgpO2YuRW50aXR5U3RvcmU9ZH0sZnVuY3Rpb24oZCxmLGgpe3ZhciBrPWgoNTYpO2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKCl7ImZ1bmN0aW9uIj09PXR5cGVvZiB3aW5kb3cuTWFwP3RoaXMuX2VzNk1hcD1uZXcgd2luZG93Lk1hcDp0aGlzLl9rZXlWYWx1ZVBhaXJzPVtdfXIucHJvdG90eXBlLnNldD1mdW5jdGlvbihsLHApe2lmKGsuaXNOYU4obCkpdGhyb3cgRXJyb3IoIk5hTiBtYXkgbm90IGJlIHVzZWQgYXMgYSBrZXkgdG8gdGhlIE1hcCIpOwppZihudWxsIT10aGlzLl9lczZNYXApcmV0dXJuIHRoaXMuX2VzNk1hcC5zZXQobCxwKSx0aGlzO2Zvcih2YXIgbT0wO208dGhpcy5fa2V5VmFsdWVQYWlycy5sZW5ndGg7bSsrKWlmKHRoaXMuX2tleVZhbHVlUGFpcnNbbV0ua2V5PT09bClyZXR1cm4gdGhpcy5fa2V5VmFsdWVQYWlyc1ttXS52YWx1ZT1wLHRoaXM7dGhpcy5fa2V5VmFsdWVQYWlycy5wdXNoKHtrZXk6bCx2YWx1ZTpwfSk7cmV0dXJuIHRoaXN9O3IucHJvdG90eXBlLmdldD1mdW5jdGlvbihsKXtpZihudWxsIT10aGlzLl9lczZNYXApcmV0dXJuIHRoaXMuX2VzNk1hcC5nZXQobCk7Zm9yKHZhciBwPTA7cDx0aGlzLl9rZXlWYWx1ZVBhaXJzLmxlbmd0aDtwKyspaWYodGhpcy5fa2V5VmFsdWVQYWlyc1twXS5rZXk9PT1sKXJldHVybiB0aGlzLl9rZXlWYWx1ZVBhaXJzW3BdLnZhbHVlfTtyLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24obCl7aWYobnVsbCE9dGhpcy5fZXM2TWFwKXJldHVybiB0aGlzLl9lczZNYXAuaGFzKGwpOwpmb3IodmFyIHA9MDtwPHRoaXMuX2tleVZhbHVlUGFpcnMubGVuZ3RoO3ArKylpZih0aGlzLl9rZXlWYWx1ZVBhaXJzW3BdLmtleT09PWwpcmV0dXJuITA7cmV0dXJuITF9O3IucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24obCxwKXt2YXIgbT10aGlzO251bGwhPXRoaXMuX2VzNk1hcD90aGlzLl9lczZNYXAuZm9yRWFjaChmdW5jdGlvbihuLHEpe3JldHVybiBsLmNhbGwocCxuLHEsbSl9LHApOnRoaXMuX2tleVZhbHVlUGFpcnMuZm9yRWFjaChmdW5jdGlvbihuKXtsLmNhbGwocCxuLnZhbHVlLG4ua2V5LG0pfSl9O3IucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbihsKXtpZihudWxsIT10aGlzLl9lczZNYXApcmV0dXJuIHRoaXMuX2VzNk1hcC5kZWxldGUobCk7Zm9yKHZhciBwPTA7cDx0aGlzLl9rZXlWYWx1ZVBhaXJzLmxlbmd0aDtwKyspaWYodGhpcy5fa2V5VmFsdWVQYWlyc1twXS5rZXk9PT1sKXJldHVybiB0aGlzLl9rZXlWYWx1ZVBhaXJzLnNwbGljZShwLDEpLCEwO3JldHVybiExfTsKcmV0dXJuIHJ9KCk7Zi5NYXA9ZH0sZnVuY3Rpb24oZCxmKXtmLmFzc2lnbj1mdW5jdGlvbigpe2Zvcih2YXIgaD1bXSxrPTA7azxhcmd1bWVudHMubGVuZ3RoO2srKyloW2tdPWFyZ3VtZW50c1trXTtrPXt9O2Zvcih2YXIgcj0wO3I8aC5sZW5ndGg7cisrKWZvcih2YXIgbD1oW3JdLHA9MCxtPU9iamVjdC5rZXlzKGwpO3A8bS5sZW5ndGg7cCsrKXt2YXIgbj1tW3BdO2tbbl09bFtuXX1yZXR1cm4ga319LGZ1bmN0aW9uKGQsZil7ZD1mdW5jdGlvbigpe2Z1bmN0aW9uIGgoKXt9aC5wcm90b3R5cGUuc3BsaXQ9ZnVuY3Rpb24oayxyKXtmb3IodmFyIGw9TWF0aC5jZWlsKGsubGVuZ3RoLzIpLHA9MDtwPGw7cCsrKXJbMF0uaW5zZXJ0KGtbcF0pO2ZvcihwPWw7cDxrLmxlbmd0aDtwKyspclsxXS5pbnNlcnQoa1twXSl9O3JldHVybiBofSgpO2YuU3BsaXRTdHJhdGVneVRyaXZpYWw9ZDtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaCgpe31oLnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbihrLHIpe2s9Cmsuc2xpY2UoKTtmb3IodGhpcy5jaG9vc2VGaXJzdFNwbGl0KGsscik7MDxrLmxlbmd0aDspdGhpcy5hZGROZXh0KGsscil9O2gucHJvdG90eXBlLmNob29zZUZpcnN0U3BsaXQ9ZnVuY3Rpb24oayxyKXtmb3IodmFyIGw9MCxwPTAsbT1rLmxlbmd0aC0xLG49ay5sZW5ndGgtMSxxPTE7cTxrLmxlbmd0aC0xO3ErKyl7dmFyIHU9a1txXTt1LmJvdW5kcy54bD5rW21dLmJvdW5kcy54bD9tPXE6dS5ib3VuZHMueGg8a1tsXS5ib3VuZHMueGgmJihsPXEpO3UuYm91bmRzLnlsPmtbbl0uYm91bmRzLnlsP249cTp1LmJvdW5kcy55aDxrW3BdLmJvdW5kcy55aCYmKHA9cSl9cD1NYXRoLmFicyhrW2xdLmJvdW5kcy54aC1rW21dLmJvdW5kcy54bCk+TWF0aC5hYnMoa1twXS5ib3VuZHMueWgta1tuXS5ib3VuZHMueWwpP1tsLG1dOltwLG5dO2w9cFswXTtwPXBbMV07bD09PXAmJihsPTAscD1rLmxlbmd0aC0xKTtyWzBdLmluc2VydChrLnNwbGljZShNYXRoLm1heChsLHApLDEpWzBdKTtyWzFdLmluc2VydChrLnNwbGljZShNYXRoLm1pbihsLApwKSwxKVswXSl9O2gucHJvdG90eXBlLmFkZE5leHQ9ZnVuY3Rpb24oayxyKXtmb3IodmFyIGw9bnVsbCxwPW51bGwsbT1udWxsLG49MDtuPGsubGVuZ3RoO24rKyl7dmFyIHE9a1tuXSx1PXJbMF0udW5pb25BcmVhRGlmZmVyZW5jZShxLmJvdW5kcyk7cT1yWzFdLnVuaW9uQXJlYURpZmZlcmVuY2UocS5ib3VuZHMpO2lmKHU8cHx8bnVsbD09bClsPW4scD11LG09clswXTtxPHAmJihsPW4scD1xLG09clsxXSl9bS5pbnNlcnQoay5zcGxpY2UobCwxKVswXSl9O3JldHVybiBofSgpO2YuU3BsaXRTdHJhdGVneUxpbmVhcj1kfSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhtKXtyZXR1cm4gU3RyaW5nKG0pfXZhciByPWgoMSksbD1oKDApO2Q9aCgxMCk7Zi5JU3RhY2tpbmdPcmRlcj1kLm1ha2VFbnVtKFsidG9wZG93biIsImJvdHRvbXVwIl0pO3ZhciBwPU1hdGg7Zi5zdGFjaz1mdW5jdGlvbihtLG4scSx1KXt2b2lkIDA9PT11JiYodT0iYm90dG9tdXAiKTt2YXIgdz1yLm1hcCgpLEE9CnIubWFwKCkseT1uZXcgbC5NYXA7InRvcGRvd24iPT09dSYmKG09bS5zbGljZSgpLG0ucmV2ZXJzZSgpKTttLmZvckVhY2goZnVuY3Rpb24oeCl7dmFyIEM9bmV3IGwuTWFwO3guZGF0YSgpLmZvckVhY2goZnVuY3Rpb24oRyxEKXt2YXIgQj1rKG4oRyxELHgpKSxIPStxKEcsRCx4KSxLPTA8PUg/dzpBO2lmKEsuaGFzKEIpKXt2YXIgTD1LLmdldChCKTtLLnNldChCLEwrSCl9ZWxzZSBMPTAsSy5zZXQoQixIKTtDLnNldChCLHtvZmZzZXQ6TCx2YWx1ZTpILGF4aXNWYWx1ZTpuKEcsRCx4KSxvcmlnaW5hbERhdHVtOkcsb3JpZ2luYWxEYXRhc2V0Ongsb3JpZ2luYWxJbmRleDpEfSl9KTt5LnNldCh4LEMpfSk7cmV0dXJuIHl9O2Yuc3RhY2tlZEV4dGVudHM9ZnVuY3Rpb24obSl7dmFyIG49bmV3IGwuTWFwLHE9bmV3IGwuTWFwO20uZm9yRWFjaChmdW5jdGlvbih1KXt1LmZvckVhY2goZnVuY3Rpb24odyxBKXt2YXIgeT1sLk1hdGgubWF4KFt3Lm9mZnNldCt3LnZhbHVlLHcub2Zmc2V0XSwKdy5vZmZzZXQpLHg9bC5NYXRoLm1pbihbdy5vZmZzZXQrdy52YWx1ZSx3Lm9mZnNldF0sdy5vZmZzZXQpLEM9dy5heGlzVmFsdWU7bi5oYXMoQSk/bi5nZXQoQSkuZXh0ZW50PHkmJm4uc2V0KEEse2V4dGVudDp5LGF4aXNWYWx1ZTpDLHN0YWNrZWREYXR1bTp3fSk6bi5zZXQoQSx7ZXh0ZW50OnksYXhpc1ZhbHVlOkMsc3RhY2tlZERhdHVtOnd9KTtxLmhhcyhBKT9xLmdldChBKS5leHRlbnQ+eCYmcS5zZXQoQSx7ZXh0ZW50OngsYXhpc1ZhbHVlOkMsc3RhY2tlZERhdHVtOnd9KTpxLnNldChBLHtleHRlbnQ6eCxheGlzVmFsdWU6QyxzdGFja2VkRGF0dW06d30pfSl9KTtyZXR1cm57bWF4aW11bUV4dGVudHM6bixtaW5pbXVtRXh0ZW50czpxfX07Zi5zdGFja2VkRXh0ZW50PWZ1bmN0aW9uKG0sbixxKXt2YXIgdT1bXTttLmZvckVhY2goZnVuY3Rpb24oQSx5KXt5LmRhdGEoKS5mb3JFYWNoKGZ1bmN0aW9uKHgsQyl7aWYobnVsbD09cXx8cSh4LEMseSkpeD1BLmdldChrKG4oeCxDLHkpKSksCnUucHVzaCh4LnZhbHVlK3gub2Zmc2V0KX0pfSk7bT1sLk1hdGgubWF4KHUsMCk7dmFyIHc9bC5NYXRoLm1pbih1LDApO3JldHVybltwLm1pbih3LDApLHAubWF4KDAsbSldfTtmLm5vcm1hbGl6ZUtleT1rfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9aCgwKTtmLmdldFRyYW5zbGF0b3I9ZnVuY3Rpb24obCl7bD1sLnJvb3QoKS5yb290RWxlbWVudCgpLm5vZGUoKTt2YXIgcD1sLl9fUGxvdHRhYmxlX0NsaWVudFRyYW5zbGF0b3I7bnVsbD09cCYmKHA9bmV3IHIobCksbC5fX1Bsb3R0YWJsZV9DbGllbnRUcmFuc2xhdG9yPXApO3JldHVybiBwfTt2YXIgcj1mdW5jdGlvbigpe2Z1bmN0aW9uIGwocCl7dGhpcy5fcm9vdEVsZW1lbnQ9cH1sLnByb3RvdHlwZS5jb21wdXRlUG9zaXRpb249ZnVuY3Rpb24ocCxtKXtwPXt4OnAseTptfTttPWsuTWF0aC5nZXRDdW11bGF0aXZlVHJhbnNmb3JtKHRoaXMuX3Jvb3RFbGVtZW50KTtyZXR1cm4gbnVsbD09bT9wOmsuTWF0aC5hcHBseVRyYW5zZm9ybShtLApwKX07bC5pc0V2ZW50SW5zaWRlPWZ1bmN0aW9uKHAsbSl7cmV0dXJuIGsuRE9NLmNvbnRhaW5zKHAucm9vdCgpLnJvb3RFbGVtZW50KCkubm9kZSgpLG0udGFyZ2V0KX07cmV0dXJuIGx9KCk7Zi5UcmFuc2xhdG9yPXJ9LGZ1bmN0aW9uKGQsZixoKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGs9aCgxMjQpO2guZChmLCJlYXNlTGluZWFyIixmdW5jdGlvbigpe3JldHVybiBrLmF9KTt2YXIgcj1oKDEyNik7aC5kKGYsImVhc2VRdWFkIixmdW5jdGlvbigpe3JldHVybiByLmF9KTtoLmQoZiwiZWFzZVF1YWRJbiIsZnVuY3Rpb24oKXtyZXR1cm4gci5ifSk7aC5kKGYsImVhc2VRdWFkT3V0IixmdW5jdGlvbigpe3JldHVybiByLmN9KTtoLmQoZiwiZWFzZVF1YWRJbk91dCIsZnVuY3Rpb24oKXtyZXR1cm4gci5hfSk7dmFyIGw9aCgxMjEpO2guZChmLCJlYXNlQ3ViaWMiLGZ1bmN0aW9uKCl7cmV0dXJuIGwuYX0pO2guZChmLCJlYXNlQ3ViaWNJbiIsCmZ1bmN0aW9uKCl7cmV0dXJuIGwuYn0pO2guZChmLCJlYXNlQ3ViaWNPdXQiLGZ1bmN0aW9uKCl7cmV0dXJuIGwuY30pO2guZChmLCJlYXNlQ3ViaWNJbk91dCIsZnVuY3Rpb24oKXtyZXR1cm4gbC5hfSk7dmFyIHA9aCgxMjUpO2guZChmLCJlYXNlUG9seSIsZnVuY3Rpb24oKXtyZXR1cm4gcC5hfSk7aC5kKGYsImVhc2VQb2x5SW4iLGZ1bmN0aW9uKCl7cmV0dXJuIHAuYn0pO2guZChmLCJlYXNlUG9seU91dCIsZnVuY3Rpb24oKXtyZXR1cm4gcC5jfSk7aC5kKGYsImVhc2VQb2x5SW5PdXQiLGZ1bmN0aW9uKCl7cmV0dXJuIHAuYX0pO3ZhciBtPWgoMTI3KTtoLmQoZiwiZWFzZVNpbiIsZnVuY3Rpb24oKXtyZXR1cm4gbS5hfSk7aC5kKGYsImVhc2VTaW5JbiIsZnVuY3Rpb24oKXtyZXR1cm4gbS5ifSk7aC5kKGYsImVhc2VTaW5PdXQiLGZ1bmN0aW9uKCl7cmV0dXJuIG0uY30pO2guZChmLCJlYXNlU2luSW5PdXQiLGZ1bmN0aW9uKCl7cmV0dXJuIG0uYX0pO3ZhciBuPWgoMTIzKTtoLmQoZiwKImVhc2VFeHAiLGZ1bmN0aW9uKCl7cmV0dXJuIG4uYX0pO2guZChmLCJlYXNlRXhwSW4iLGZ1bmN0aW9uKCl7cmV0dXJuIG4uYn0pO2guZChmLCJlYXNlRXhwT3V0IixmdW5jdGlvbigpe3JldHVybiBuLmN9KTtoLmQoZiwiZWFzZUV4cEluT3V0IixmdW5jdGlvbigpe3JldHVybiBuLmF9KTt2YXIgcT1oKDEyMCk7aC5kKGYsImVhc2VDaXJjbGUiLGZ1bmN0aW9uKCl7cmV0dXJuIHEuYX0pO2guZChmLCJlYXNlQ2lyY2xlSW4iLGZ1bmN0aW9uKCl7cmV0dXJuIHEuYn0pO2guZChmLCJlYXNlQ2lyY2xlT3V0IixmdW5jdGlvbigpe3JldHVybiBxLmN9KTtoLmQoZiwiZWFzZUNpcmNsZUluT3V0IixmdW5jdGlvbigpe3JldHVybiBxLmF9KTt2YXIgdT1oKDExOSk7aC5kKGYsImVhc2VCb3VuY2UiLGZ1bmN0aW9uKCl7cmV0dXJuIHUuYX0pO2guZChmLCJlYXNlQm91bmNlSW4iLGZ1bmN0aW9uKCl7cmV0dXJuIHUuYn0pO2guZChmLCJlYXNlQm91bmNlT3V0IixmdW5jdGlvbigpe3JldHVybiB1LmF9KTsKaC5kKGYsImVhc2VCb3VuY2VJbk91dCIsZnVuY3Rpb24oKXtyZXR1cm4gdS5jfSk7dmFyIHc9aCgxMTgpO2guZChmLCJlYXNlQmFjayIsZnVuY3Rpb24oKXtyZXR1cm4gdy5hfSk7aC5kKGYsImVhc2VCYWNrSW4iLGZ1bmN0aW9uKCl7cmV0dXJuIHcuYn0pO2guZChmLCJlYXNlQmFja091dCIsZnVuY3Rpb24oKXtyZXR1cm4gdy5jfSk7aC5kKGYsImVhc2VCYWNrSW5PdXQiLGZ1bmN0aW9uKCl7cmV0dXJuIHcuYX0pO3ZhciBBPWgoMTIyKTtoLmQoZiwiZWFzZUVsYXN0aWMiLGZ1bmN0aW9uKCl7cmV0dXJuIEEuYX0pO2guZChmLCJlYXNlRWxhc3RpY0luIixmdW5jdGlvbigpe3JldHVybiBBLmJ9KTtoLmQoZiwiZWFzZUVsYXN0aWNPdXQiLGZ1bmN0aW9uKCl7cmV0dXJuIEEuYX0pO2guZChmLCJlYXNlRWxhc3RpY0luT3V0IixmdW5jdGlvbigpe3JldHVybiBBLmN9KX0sZnVuY3Rpb24oZCxmLGgpe2guZChmLCJiIixmdW5jdGlvbigpe3JldHVybiBrfSk7aC5kKGYsImMiLGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KTsKaC5kKGYsImEiLGZ1bmN0aW9uKCl7cmV0dXJuIGx9KTt2YXIgaz1mdW5jdGlvbiBuKG0pe2Z1bmN0aW9uIHEodSl7cmV0dXJuIHUqdSooKG0rMSkqdS1tKX1tPSttO3Eub3ZlcnNob290PW47cmV0dXJuIHF9KDEuNzAxNTgpLHI9ZnVuY3Rpb24gcShuKXtmdW5jdGlvbiB1KHcpe3JldHVybi0tdyp3KigobisxKSp3K24pKzF9bj0rbjt1Lm92ZXJzaG9vdD1xO3JldHVybiB1fSgxLjcwMTU4KSxsPWZ1bmN0aW9uIHUocSl7ZnVuY3Rpb24gdyhBKXtyZXR1cm4oMT4oQSo9Mik/QSpBKigocSsxKSpBLXEpOihBLT0yKSpBKigocSsxKSpBK3EpKzIpLzJ9cT0rcTt3Lm92ZXJzaG9vdD11O3JldHVybiB3fSgxLjcwMTU4KX0sZnVuY3Rpb24oZCxmKXtmdW5jdGlvbiBoKHkpe3JldHVybih5PSt5KTxrP0EqeSp5Onk8bD9BKih5LT1yKSp5K3A6eTxuP0EqKHktPW0pKnkrcTpBKih5LT11KSp5K3d9Zi5iPWZ1bmN0aW9uKHkpe3JldHVybiAxLWgoMS15KX07Zi5hPWg7Zi5jPWZ1bmN0aW9uKHkpe3JldHVybigxPj0KKHkqPTIpPzEtaCgxLXkpOmgoeS0xKSsxKS8yfTt2YXIgaz00LzExLHI9Ni8xMSxsPTgvMTEscD0uNzUsbT05LzExLG49MTAvMTEscT0uOTM3NSx1PTIxLzIyLHc9Ljk4NDM3NSxBPTEvay9rfSxmdW5jdGlvbihkLGYpe2YuYj1mdW5jdGlvbihoKXtyZXR1cm4gMS1NYXRoLnNxcnQoMS1oKmgpfTtmLmM9ZnVuY3Rpb24oaCl7cmV0dXJuIE1hdGguc3FydCgxLSAtLWgqaCl9O2YuYT1mdW5jdGlvbihoKXtyZXR1cm4oMT49KGgqPTIpPzEtTWF0aC5zcXJ0KDEtaCpoKTpNYXRoLnNxcnQoMS0oaC09MikqaCkrMSkvMn19LGZ1bmN0aW9uKGQsZil7Zi5iPWZ1bmN0aW9uKGgpe3JldHVybiBoKmgqaH07Zi5jPWZ1bmN0aW9uKGgpe3JldHVybi0taCpoKmgrMX07Zi5hPWZ1bmN0aW9uKGgpe3JldHVybigxPj0oaCo9Mik/aCpoKmg6KGgtPTIpKmgqaCsyKS8yfX0sZnVuY3Rpb24oZCxmLGgpe2guZChmLCJiIixmdW5jdGlvbigpe3JldHVybiByfSk7aC5kKGYsImEiLGZ1bmN0aW9uKCl7cmV0dXJuIGx9KTsKaC5kKGYsImMiLGZ1bmN0aW9uKCl7cmV0dXJuIHB9KTt2YXIgaz0yKk1hdGguUEkscj1mdW5jdGlvbiB1KG4scSl7ZnVuY3Rpb24gdyh5KXtyZXR1cm4gbipNYXRoLnBvdygyLDEwKi0teSkqTWF0aC5zaW4oKEEteSkvcSl9dmFyIEE9TWF0aC5hc2luKDEvKG49TWF0aC5tYXgoMSxuKSkpKihxLz1rKTt3LmFtcGxpdHVkZT1mdW5jdGlvbih5KXtyZXR1cm4gdSh5LHEqayl9O3cucGVyaW9kPWZ1bmN0aW9uKHkpe3JldHVybiB1KG4seSl9O3JldHVybiB3fSgxLC4zKSxsPWZ1bmN0aW9uIHcocSx1KXtmdW5jdGlvbiBBKHgpe3JldHVybiAxLXEqTWF0aC5wb3coMiwtMTAqKHg9K3gpKSpNYXRoLnNpbigoeCt5KS91KX12YXIgeT1NYXRoLmFzaW4oMS8ocT1NYXRoLm1heCgxLHEpKSkqKHUvPWspO0EuYW1wbGl0dWRlPWZ1bmN0aW9uKHgpe3JldHVybiB3KHgsdSprKX07QS5wZXJpb2Q9ZnVuY3Rpb24oeCl7cmV0dXJuIHcocSx4KX07cmV0dXJuIEF9KDEsLjMpLHA9ZnVuY3Rpb24gQSh1LHcpe2Z1bmN0aW9uIHkoQyl7cmV0dXJuKDA+CihDPTIqQy0xKT91Kk1hdGgucG93KDIsMTAqQykqTWF0aC5zaW4oKHgtQykvdyk6Mi11Kk1hdGgucG93KDIsLTEwKkMpKk1hdGguc2luKCh4K0MpL3cpKS8yfXZhciB4PU1hdGguYXNpbigxLyh1PU1hdGgubWF4KDEsdSkpKSoody89ayk7eS5hbXBsaXR1ZGU9ZnVuY3Rpb24oQyl7cmV0dXJuIEEoQyx3KmspfTt5LnBlcmlvZD1mdW5jdGlvbihDKXtyZXR1cm4gQSh1LEMpfTtyZXR1cm4geX0oMSwuMyl9LGZ1bmN0aW9uKGQsZil7Zi5iPWZ1bmN0aW9uKGgpe3JldHVybiBNYXRoLnBvdygyLDEwKmgtMTApfTtmLmM9ZnVuY3Rpb24oaCl7cmV0dXJuIDEtTWF0aC5wb3coMiwtMTAqaCl9O2YuYT1mdW5jdGlvbihoKXtyZXR1cm4oMT49KGgqPTIpP01hdGgucG93KDIsMTAqaC0xMCk6Mi1NYXRoLnBvdygyLDEwLTEwKmgpKS8yfX0sZnVuY3Rpb24oZCxmKXtmLmE9ZnVuY3Rpb24oaCl7cmV0dXJuK2h9fSxmdW5jdGlvbihkLGYsaCl7aC5kKGYsImIiLGZ1bmN0aW9uKCl7cmV0dXJuIGt9KTtoLmQoZiwKImMiLGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KTtoLmQoZiwiYSIsZnVuY3Rpb24oKXtyZXR1cm4gbH0pO3ZhciBrPWZ1bmN0aW9uIG4obSl7ZnVuY3Rpb24gcSh1KXtyZXR1cm4gTWF0aC5wb3codSxtKX1tPSttO3EuZXhwb25lbnQ9bjtyZXR1cm4gcX0oMykscj1mdW5jdGlvbiBxKG4pe2Z1bmN0aW9uIHUodyl7cmV0dXJuIDEtTWF0aC5wb3coMS13LG4pfW49K247dS5leHBvbmVudD1xO3JldHVybiB1fSgzKSxsPWZ1bmN0aW9uIHUocSl7ZnVuY3Rpb24gdyhBKXtyZXR1cm4oMT49KEEqPTIpP01hdGgucG93KEEscSk6Mi1NYXRoLnBvdygyLUEscSkpLzJ9cT0rcTt3LmV4cG9uZW50PXU7cmV0dXJuIHd9KDMpfSxmdW5jdGlvbihkLGYpe2YuYj1mdW5jdGlvbihoKXtyZXR1cm4gaCpofTtmLmM9ZnVuY3Rpb24oaCl7cmV0dXJuIGgqKDItaCl9O2YuYT1mdW5jdGlvbihoKXtyZXR1cm4oMT49KGgqPTIpP2gqaDotLWgqKDItaCkrMSkvMn19LGZ1bmN0aW9uKGQsZil7Zi5iPWZ1bmN0aW9uKHIpe3JldHVybiAxLQpNYXRoLmNvcyhyKmspfTtmLmM9ZnVuY3Rpb24ocil7cmV0dXJuIE1hdGguc2luKHIqayl9O2YuYT1mdW5jdGlvbihyKXtyZXR1cm4oMS1NYXRoLmNvcyhoKnIpKS8yfTt2YXIgaD1NYXRoLlBJLGs9aC8yfSxmdW5jdGlvbihkLGYsaCl7ZnVuY3Rpb24gayhsKXtyZXR1cm4hMD09PXIobCkmJiJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGwpfXZhciByPWgoMTI5KTtkLmV4cG9ydHM9ZnVuY3Rpb24obCl7aWYoITE9PT1rKGwpKXJldHVybiExO2w9bC5jb25zdHJ1Y3RvcjtpZigiZnVuY3Rpb24iIT09dHlwZW9mIGwpcmV0dXJuITE7bD1sLnByb3RvdHlwZTtyZXR1cm4hMT09PWsobCl8fCExPT09bC5oYXNPd25Qcm9wZXJ0eSgiaXNQcm90b3R5cGVPZiIpPyExOiEwfX0sZnVuY3Rpb24oZCl7ZC5leHBvcnRzPWZ1bmN0aW9uKGYpe3JldHVybiBudWxsIT1mJiYib2JqZWN0Ij09PXR5cGVvZiBmJiYhMT09PUFycmF5LmlzQXJyYXkoZil9fSxmdW5jdGlvbihkLApmKXtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChrLHIsbCl7dm9pZCAwPT09ciYmKHI9MTApO3ZvaWQgMD09PWwmJihsPXt9KTt2YXIgcD10aGlzO3RoaXMuY3R4PWs7dGhpcy5saW5lSGVpZ2h0PXI7dGhpcy5zdHlsZT1sO3RoaXMuY3JlYXRlUnVsZXI9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obSl7cC5jdHguZm9udD1wLnN0eWxlLmZvbnQ7cmV0dXJue3dpZHRoOnAuY3R4Lm1lYXN1cmVUZXh0KG0pLndpZHRoLGhlaWdodDpwLmxpbmVIZWlnaHR9fX07dGhpcy5jcmVhdGVQZW49ZnVuY3Rpb24obSxuLHEpe251bGw9PXEmJihxPXAuY3R4KTtxLnNhdmUoKTtxLnRyYW5zbGF0ZShuLnRyYW5zbGF0ZVswXSxuLnRyYW5zbGF0ZVsxXSk7cS5yb3RhdGUobi5yb3RhdGUqTWF0aC5QSS8xODApO3JldHVybiBwLmNyZWF0ZUNhbnZhc1BlbihxKX07dm9pZCAwPT09dGhpcy5zdHlsZS5maWxsJiYodGhpcy5zdHlsZS5maWxsPSIjNDQ0Iil9aC5wcm90b3R5cGUuY3JlYXRlQ2FudmFzUGVuPWZ1bmN0aW9uKGspe3ZhciByPQp0aGlzO3JldHVybntkZXN0cm95OmZ1bmN0aW9uKCl7ay5yZXN0b3JlKCl9LHdyaXRlOmZ1bmN0aW9uKGwscCxtLG4pe2sudGV4dEFsaWduPXA7bnVsbCE9ci5zdHlsZS5mb250JiYoay5mb250PXIuc3R5bGUuZm9udCk7bnVsbCE9ci5zdHlsZS5maWxsJiYoay5maWxsU3R5bGU9ci5zdHlsZS5maWxsLGsuZmlsbFRleHQobCxtLG4pKTtudWxsIT1yLnN0eWxlLnN0cm9rZSYmKGsuc3Ryb2tlU3R5bGU9ci5zdHlsZS5maWxsLGsuc3Ryb2tlVGV4dChsLG0sbikpfX19O3JldHVybiBofSgpO2YuQ2FudmFzQ29udGV4dD1kfSxmdW5jdGlvbihkLGYpe3ZhciBoPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaygpe31rLmFwcGVuZD1mdW5jdGlvbihyLGwpe2Zvcih2YXIgcD1bXSxtPTI7bTxhcmd1bWVudHMubGVuZ3RoO20rKylwW20tMl09YXJndW1lbnRzW21dO3A9ay5jcmVhdGUuYXBwbHkoayxbbF0uY29uY2F0KHApKTtyLmFwcGVuZENoaWxkKHApO3JldHVybiBwfTtrLmNyZWF0ZT1mdW5jdGlvbihyKXtmb3IodmFyIGw9CltdLHA9MTtwPGFyZ3VtZW50cy5sZW5ndGg7cCsrKWxbcC0xXT1hcmd1bWVudHNbcF07cD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoay5TVkdfTlMscik7ay5hZGRDbGFzc2VzLmFwcGx5KGssW3BdLmNvbmNhdChsKSk7cmV0dXJuIHB9O2suYWRkQ2xhc3Nlcz1mdW5jdGlvbihyKXtmb3IodmFyIGw9W10scD0xO3A8YXJndW1lbnRzLmxlbmd0aDtwKyspbFtwLTFdPWFyZ3VtZW50c1twXTtsPWwuZmlsdGVyKGZ1bmN0aW9uKG0pe3JldHVybiBudWxsIT1tfSk7bnVsbCE9ci5jbGFzc0xpc3Q/bC5mb3JFYWNoKGZ1bmN0aW9uKG0pe3IuY2xhc3NMaXN0LmFkZChtKX0pOnIuc2V0QXR0cmlidXRlKCJjbGFzcyIsbC5qb2luKCIgIikpfTtrLmdldERpbWVuc2lvbnM9ZnVuY3Rpb24ocil7aWYoci5nZXRCQm94KXRyeXt2YXIgbD1yLmdldEJCb3goKTtyZXR1cm57d2lkdGg6bC53aWR0aCxoZWlnaHQ6bC5oZWlnaHR9fWNhdGNoKHApe31yZXR1cm57aGVpZ2h0OjAsd2lkdGg6MH19O3JldHVybiBrfSgpOwpoLlNWR19OUz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciO2YuU3ZnVXRpbHM9aDtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gayhyLGwscCl7dm9pZCAwPT09cCYmKHA9ITEpO3ZhciBtPXRoaXM7dGhpcy5lbGVtZW50PXI7dGhpcy5jbGFzc05hbWU9bDt0aGlzLmFkZFRpdGxlRWxlbWVudD1wO3RoaXMuY3JlYXRlUnVsZXI9ZnVuY3Rpb24oKXt2YXIgbj1tLmdldFRleHRFbGVtZW50cyhtLmVsZW1lbnQpLHE9bi5wYXJlbnRFbGVtZW50LHU9bi5jb250YWluZXJFbGVtZW50LHc9bi50ZXh0RWxlbWVudDtyZXR1cm4gZnVuY3Rpb24oQSl7cS5hcHBlbmRDaGlsZCh1KTt3LnRleHRDb250ZW50PUE7QT1oLmdldERpbWVuc2lvbnModyk7cS5yZW1vdmVDaGlsZCh1KTtyZXR1cm4gQX19O3RoaXMuY3JlYXRlUGVuPWZ1bmN0aW9uKG4scSx1KXtudWxsPT11JiYodT1tLmVsZW1lbnQpO3U9aC5hcHBlbmQodSwiZyIsInRleHQtY29udGFpbmVyIixtLmNsYXNzTmFtZSk7bS5hZGRUaXRsZUVsZW1lbnQmJgooaC5hcHBlbmQodSwidGl0bGUiKS50ZXh0Q29udGVudD1uLHUuc2V0QXR0cmlidXRlKCJ0aXRsZSIsbikpO249aC5hcHBlbmQodSwiZyIsInRleHQtYXJlYSIpO24uc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitxLnRyYW5zbGF0ZVswXSsiLCIrcS50cmFuc2xhdGVbMV0rIilyb3RhdGUoIisocS5yb3RhdGUrIikiKSk7cmV0dXJuIG0uY3JlYXRlU3ZnTGluZVBlbihuKX19ay5wcm90b3R5cGUuc2V0QWRkVGl0bGVFbGVtZW50PWZ1bmN0aW9uKHIpe3RoaXMuYWRkVGl0bGVFbGVtZW50PXJ9O2sucHJvdG90eXBlLmNyZWF0ZVN2Z0xpbmVQZW49ZnVuY3Rpb24ocil7cmV0dXJue3dyaXRlOmZ1bmN0aW9uKGwscCxtLG4pe3ZhciBxPWguYXBwZW5kKHIsInRleHQiLCJ0ZXh0LWxpbmUiKTtxLnRleHRDb250ZW50PWw7cS5zZXRBdHRyaWJ1dGUoInRleHQtYW5jaG9yIixwKTtxLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrbSsiLCIrbisiKSIpO3Euc2V0QXR0cmlidXRlKCJ5IiwKIi0wLjI1ZW0iKX19fTtrLnByb3RvdHlwZS5nZXRUZXh0RWxlbWVudHM9ZnVuY3Rpb24ocil7aWYoInRleHQiPT09ci50YWdOYW1lKXt2YXIgbD1yLnBhcmVudEVsZW1lbnQ7bnVsbD09bCYmKGw9ci5wYXJlbnROb2RlKTtsLnJlbW92ZUNoaWxkKHIpO3JldHVybntjb250YWluZXJFbGVtZW50OnIscGFyZW50RWxlbWVudDpsLHRleHRFbGVtZW50OnJ9fXZhciBwPXIucXVlcnlTZWxlY3RvcigidGV4dCIpO2lmKG51bGwhPXApcmV0dXJuIGw9ci5wYXJlbnRFbGVtZW50LG51bGw9PWwmJihsPXIucGFyZW50Tm9kZSksbC5yZW1vdmVDaGlsZChyKSx7Y29udGFpbmVyRWxlbWVudDpyLHBhcmVudEVsZW1lbnQ6bCx0ZXh0RWxlbWVudDpwfTtsPWguY3JlYXRlKCJ0ZXh0Iix0aGlzLmNsYXNzTmFtZSk7cmV0dXJue2NvbnRhaW5lckVsZW1lbnQ6bCxwYXJlbnRFbGVtZW50OnIsdGV4dEVsZW1lbnQ6bH19O3JldHVybiBrfSgpO2YuU3ZnQ29udGV4dD1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9CnRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbihwLG0pe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXB9Zm9yKHZhciBxIGluIG0pbS5oYXNPd25Qcm9wZXJ0eShxKSYmKHBbcV09bVtxXSk7cC5wcm90b3R5cGU9bnVsbD09PW0/T2JqZWN0LmNyZWF0ZShtKToobi5wcm90b3R5cGU9bS5wcm90b3R5cGUsbmV3IG4pfSxyPWgoMjEpLGw9aCgzNik7ZD1mdW5jdGlvbihwKXtmdW5jdGlvbiBtKG4pe3ZhciBxPXAuY2FsbCh0aGlzLG4pfHx0aGlzO3EuZGltQ2FjaGU9bmV3IHIuQ2FjaGUoZnVuY3Rpb24odSl7cmV0dXJuIHEuX21lYXN1cmVOb3RGcm9tQ2FjaGUodSl9KTtyZXR1cm4gcX1rKG0scCk7bS5wcm90b3R5cGUuX21lYXN1cmVOb3RGcm9tQ2FjaGU9ZnVuY3Rpb24obil7cmV0dXJuIHAucHJvdG90eXBlLm1lYXN1cmUuY2FsbCh0aGlzLG4pfTttLnByb3RvdHlwZS5tZWFzdXJlPWZ1bmN0aW9uKG4pe3ZvaWQgMD09PW4mJihuPWwuQWJzdHJhY3RNZWFzdXJlci5IRUlHSFRfVEVYVCk7CnJldHVybiB0aGlzLmRpbUNhY2hlLmdldChuKX07bS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLmRpbUNhY2hlLmNsZWFyKCk7cC5wcm90b3R5cGUucmVzZXQuY2FsbCh0aGlzKX07cmV0dXJuIG19KGgoNjApLkNhY2hlQ2hhcmFjdGVyTWVhc3VyZXIpO2YuQ2FjaGVNZWFzdXJlcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9aCg1OSkscj1oKDYyKSxsPWgoNjQpLHA9aCg2Nik7ZD1mdW5jdGlvbigpe2Z1bmN0aW9uIG0obil7dGhpcy5jb250ZXh0PW47dGhpcy5tZWFzdXJlcj1uZXcgci5DYWNoZU1lYXN1cmVyKHRoaXMuY29udGV4dCk7dGhpcy53cmFwcGVyPW5ldyBsLldyYXBwZXI7dGhpcy53cml0ZXI9bmV3IHAuV3JpdGVyKHRoaXMubWVhc3VyZXIsdGhpcy5jb250ZXh0LHRoaXMud3JhcHBlcil9bS5zdmc9ZnVuY3Rpb24obixxLHUpe3JldHVybiBuZXcgbShuZXcgay5TdmdDb250ZXh0KG4scSx1KSl9O20uY2FudmFzPWZ1bmN0aW9uKG4scSx1KXtyZXR1cm4gbmV3IG0obmV3IGsuQ2FudmFzQ29udGV4dChuLApxLHUpKX07bS5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24obixxLHUsdyxBKXt0aGlzLndyaXRlci53cml0ZShuLHEsdSx3LEEpfTttLnByb3RvdHlwZS5jbGVhck1lYXN1cmVyQ2FjaGU9ZnVuY3Rpb24oKXt0aGlzLm1lYXN1cmVyLnJlc2V0KCl9O3JldHVybiBtfSgpO2YuVHlwZXNldHRlcj1kfSxmdW5jdGlvbihkLGYpe2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiBoKGspe3RoaXMuY2FjaGU9e307dGhpcy5jb21wdXRlPWt9aC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGspe3RoaXMuY2FjaGUuaGFzT3duUHJvcGVydHkoayl8fCh0aGlzLmNhY2hlW2tdPXRoaXMuY29tcHV0ZShrKSk7cmV0dXJuIHRoaXMuY2FjaGVba119O2gucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5jYWNoZT17fTtyZXR1cm4gdGhpc307cmV0dXJuIGh9KCk7Zi5DYWNoZT1kfSxmdW5jdGlvbihkLGYpe2YuTWV0aG9kcz1mdW5jdGlvbigpe2Z1bmN0aW9uIGgoKXt9aC5hcnJheUVxPWZ1bmN0aW9uKGsscil7aWYobnVsbD09Cmt8fG51bGw9PXIpcmV0dXJuIGs9PT1yO2lmKGsubGVuZ3RoIT09ci5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciBsPTA7bDxrLmxlbmd0aDtsKyspaWYoa1tsXSE9PXJbbF0pcmV0dXJuITE7cmV0dXJuITB9O2gub2JqRXE9ZnVuY3Rpb24oayxyKXtpZihudWxsPT1rfHxudWxsPT1yKXJldHVybiBrPT09cjt2YXIgbD1PYmplY3Qua2V5cyhrKS5zb3J0KCkscD1PYmplY3Qua2V5cyhyKS5zb3J0KCksbT1sLm1hcChmdW5jdGlvbihxKXtyZXR1cm4ga1txXX0pLG49cC5tYXAoZnVuY3Rpb24ocSl7cmV0dXJuIHJbcV19KTtyZXR1cm4gaC5hcnJheUVxKGwscCkmJmguYXJyYXlFcShtLG4pfTtoLnN0cmljdEVxPWZ1bmN0aW9uKGsscil7cmV0dXJuIGs9PT1yfTtoLmRlZmF1bHRzPWZ1bmN0aW9uKGspe2Zvcih2YXIgcj1bXSxsPTE7bDxhcmd1bWVudHMubGVuZ3RoO2wrKylyW2wtMV09YXJndW1lbnRzW2xdO2lmKG51bGw9PWspdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNvbnZlcnQgdW5kZWZpbmVkIG9yIG51bGwgdG8gb2JqZWN0Iik7CnZhciBwPU9iamVjdChrKTtyLmZvckVhY2goZnVuY3Rpb24obSl7aWYobnVsbCE9bSlmb3IodmFyIG4gaW4gbSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobSxuKSYmKHBbbl09bVtuXSl9KTtyZXR1cm4gcH07cmV0dXJuIGh9KCl9LGZ1bmN0aW9uKGQsZil7Zi5TdHJpbmdNZXRob2RzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaCgpe31oLmNvbWJpbmVXaGl0ZXNwYWNlPWZ1bmN0aW9uKGspe3JldHVybiBrLnJlcGxhY2UoL1sgXHRdKy9nLCIgIil9O2guaXNOb3RFbXB0eVN0cmluZz1mdW5jdGlvbihrKXtyZXR1cm4gayYmIiIhPT1rLnRyaW0oKX07aC50cmltU3RhcnQ9ZnVuY3Rpb24oayxyKXtpZighaylyZXR1cm4gaztrPWsuc3BsaXQoIiIpO3ZhciBsPXI/ZnVuY3Rpb24ocCl7cmV0dXJuIHAuc3BsaXQocikuc29tZShoLmlzTm90RW1wdHlTdHJpbmcpfTpoLmlzTm90RW1wdHlTdHJpbmc7cmV0dXJuIGsucmVkdWNlKGZ1bmN0aW9uKHAsbSl7cmV0dXJuIGwocCttKT8KcCttOnB9LCIiKX07aC50cmltRW5kPWZ1bmN0aW9uKGsscil7aWYoIWspcmV0dXJuIGs7az1rLnNwbGl0KCIiKTtrLnJldmVyc2UoKTtrPWgudHJpbVN0YXJ0KGsuam9pbigiIikscikuc3BsaXQoIiIpO2sucmV2ZXJzZSgpO3JldHVybiBrLmpvaW4oIiIpfTtyZXR1cm4gaH0oKX0sZnVuY3Rpb24oZCxmKXtkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaCgpe3RoaXMuV29yZERpdmlkZXJSZWdFeHA9L1xXLzt0aGlzLldoaXRlc3BhY2VSZWdFeHA9L1xzL31oLnByb3RvdHlwZS50b2tlbml6ZT1mdW5jdGlvbihrKXt2YXIgcj10aGlzO3JldHVybiBrLnNwbGl0KCIiKS5yZWR1Y2UoZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5zbGljZSgwLC0xKS5jb25jYXQoci5zaG91bGRDcmVhdGVOZXdUb2tlbihsW2wubGVuZ3RoLTFdLHApKX0sWyIiXSl9O2gucHJvdG90eXBlLnNob3VsZENyZWF0ZU5ld1Rva2VuPWZ1bmN0aW9uKGsscil7aWYoIWspcmV0dXJuW3JdO3ZhciBsPWtbay5sZW5ndGgtMV07cmV0dXJuIHRoaXMuV2hpdGVzcGFjZVJlZ0V4cC50ZXN0KGwpJiYKdGhpcy5XaGl0ZXNwYWNlUmVnRXhwLnRlc3Qocik/W2srcl06dGhpcy5XaGl0ZXNwYWNlUmVnRXhwLnRlc3QobCl8fHRoaXMuV2hpdGVzcGFjZVJlZ0V4cC50ZXN0KHIpP1trLHJdOnRoaXMuV29yZERpdmlkZXJSZWdFeHAudGVzdChsKXx8dGhpcy5Xb3JkRGl2aWRlclJlZ0V4cC50ZXN0KHIpP2w9PT1yP1trK3JdOltrLHJdOltrK3JdfTtyZXR1cm4gaH0oKTtmLlRva2VuaXplcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKHIsbCl7ZnVuY3Rpb24gcCgpe3RoaXMuY29uc3RydWN0b3I9cn1mb3IodmFyIG0gaW4gbClsLmhhc093blByb3BlcnR5KG0pJiYoclttXT1sW21dKTtyLnByb3RvdHlwZT1udWxsPT09bD9PYmplY3QuY3JlYXRlKGwpOihwLnByb3RvdHlwZT1sLnByb3RvdHlwZSxuZXcgcCl9O2Q9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gbCgpe3JldHVybiByLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31rKGwscik7bC5wcm90b3R5cGUud3JhcD0KZnVuY3Rpb24ocCxtLG4scSl7ZnVuY3Rpb24gdShEKXtyZXR1cm4gci5wcm90b3R5cGUud3JhcC5jYWxsKHcscCxtLEQscSl9dmFyIHc9dGhpczt2b2lkIDA9PT1xJiYocT1JbmZpbml0eSk7aWYoMTxwLnNwbGl0KCJcbiIpLmxlbmd0aCl0aHJvdyBFcnJvcigiU2luZ2xlTGluZVdyYXBwZXIgaXMgZGVzaWduZWQgdG8gd29yayBvbmx5IG9uIHNpbmdsZSBsaW5lIik7dmFyIEE9dShuKTtpZigyPkEubm9MaW5lcylyZXR1cm4gQTtmb3IodmFyIHk9MCx4PTA7eDxsLk5PX1dSQVBfSVRFUkFUSU9OUyYmbj55OysreCl7dmFyIEM9KG4reSkvMixHPXUoQyk7dGhpcy5hcmVTYW1lUmVzdWx0cyhBLEcpPyhuPUMsQT1HKTp5PUN9cmV0dXJuIEF9O2wucHJvdG90eXBlLmFyZVNhbWVSZXN1bHRzPWZ1bmN0aW9uKHAsbSl7cmV0dXJuIHAubm9MaW5lcz09PW0ubm9MaW5lcyYmcC50cnVuY2F0ZWRUZXh0PT09bS50cnVuY2F0ZWRUZXh0fTtyZXR1cm4gbH0oaCg2NSkuV3JhcHBlcik7ZC5OT19XUkFQX0lURVJBVElPTlM9CjU7Zi5TaW5nbGVMaW5lV3JhcHBlcj1kfSxmdW5jdGlvbihkLGYsaCl7dmFyIGs9aCgyMSkscj17dGV4dFJvdGF0aW9uOjAsdGV4dFNoZWFyOjAseEFsaWduOiJsZWZ0Iix5QWxpZ246InRvcCJ9O2Q9ZnVuY3Rpb24oKXtmdW5jdGlvbiBsKHAsbSxuKXt0aGlzLl9tZWFzdXJlcj1wO3RoaXMuX3BlbkZhY3Rvcnk9bTt0aGlzLl93cmFwcGVyPW59bC5wcm90b3R5cGUubWVhc3VyZXI9ZnVuY3Rpb24ocCl7dGhpcy5fbWVhc3VyZXI9cDtyZXR1cm4gdGhpc307bC5wcm90b3R5cGUud3JhcHBlcj1mdW5jdGlvbihwKXt0aGlzLl93cmFwcGVyPXA7cmV0dXJuIHRoaXN9O2wucHJvdG90eXBlLnBlbkZhY3Rvcnk9ZnVuY3Rpb24ocCl7dGhpcy5fcGVuRmFjdG9yeT1wO3JldHVybiB0aGlzfTtsLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihwLG0sbixxLHUpe3ZvaWQgMD09PXEmJihxPXt9KTtxPWsuTWV0aG9kcy5kZWZhdWx0cyh7fSxyLHEpO2lmKC0xPT09bC5TdXBwb3J0ZWRSb3RhdGlvbi5pbmRleE9mKHEudGV4dFJvdGF0aW9uKSl0aHJvdyBFcnJvcigidW5zdXBwb3J0ZWQgcm90YXRpb24gLSAiKwpxLnRleHRSb3RhdGlvbisiLiBTdXBwb3J0ZWQgcm90YXRpb25zIGFyZSAiK2wuU3VwcG9ydGVkUm90YXRpb24uam9pbigiLCAiKSk7aWYobnVsbCE9cS50ZXh0U2hlYXImJi04MD5xLnRleHRTaGVhcnx8ODA8cS50ZXh0U2hlYXIpdGhyb3cgRXJyb3IoInVuc3VwcG9ydGVkIHNoZWFyIGFuZ2xlIC0gIitxLnRleHRTaGVhcisiLiBNdXN0IGJlIGJldHdlZW4gLTgwIGFuZCA4MCIpO3ZhciB3PTQ1PE1hdGguYWJzKE1hdGguYWJzKHEudGV4dFJvdGF0aW9uKS05MCksQT13P206bix5PXc/bjptLHg9cS50ZXh0U2hlYXIsQz14Kk1hdGguUEkvMTgwO3c9dGhpcy5fbWVhc3VyZXIubWVhc3VyZSgpLmhlaWdodDt2YXIgRz13Kk1hdGgudGFuKEMpO0E9QS9NYXRoLmNvcyhDKS1NYXRoLmFicyhHKTt2YXIgRD15Kk1hdGguY29zKEMpO3k9ay5TdHJpbmdNZXRob2RzLmNvbWJpbmVXaGl0ZXNwYWNlKHApO3k9KHRoaXMuX3dyYXBwZXI/dGhpcy5fd3JhcHBlci53cmFwKHksdGhpcy5fbWVhc3VyZXIsCkEsRCkud3JhcHBlZFRleHQ6eSkuc3BsaXQoIlxuIik7Qz1sLlhPZmZzZXRGYWN0b3JbcS54QWxpZ25dKkEqTWF0aC5zaW4oQyktbC5ZT2Zmc2V0RmFjdG9yW3EueUFsaWduXSooRC15Lmxlbmd0aCp3KTt4PXEudGV4dFJvdGF0aW9uK3g7c3dpdGNoKHEudGV4dFJvdGF0aW9uKXtjYXNlIDkwOm09W20rQywwXTticmVhaztjYXNlIC05MDptPVstQyxuXTticmVhaztjYXNlIDE4MDptPVttLG4rQ107YnJlYWs7ZGVmYXVsdDptPVswLC1DXX1wPXRoaXMuX3BlbkZhY3RvcnkuY3JlYXRlUGVuKHAse3RyYW5zbGF0ZTptLHJvdGF0ZTp4fSx1KTt0aGlzLndyaXRlTGluZXMoeSxwLEEsdyxHLHEueEFsaWduKTtudWxsIT1wLmRlc3Ryb3kmJnAuZGVzdHJveSgpfTtsLnByb3RvdHlwZS53cml0ZUxpbmVzPWZ1bmN0aW9uKHAsbSxuLHEsdSx3KXtwLmZvckVhY2goZnVuY3Rpb24oQSx5KXttLndyaXRlKEEsbC5BbmNob3JDb252ZXJ0ZXJbd10sKDA8dT8oeSsxKSp1OnkqdSkrbipsLlhPZmZzZXRGYWN0b3Jbd10sCih5KzEpKnEpfSl9O3JldHVybiBsfSgpO2QuU3VwcG9ydGVkUm90YXRpb249Wy05MCwwLDE4MCw5MF07ZC5BbmNob3JDb252ZXJ0ZXI9e2NlbnRlcjoibWlkZGxlIixsZWZ0OiJzdGFydCIscmlnaHQ6ImVuZCJ9O2QuWE9mZnNldEZhY3Rvcj17Y2VudGVyOi41LGxlZnQ6MCxyaWdodDoxfTtkLllPZmZzZXRGYWN0b3I9e2JvdHRvbToxLGNlbnRlcjouNSx0b3A6MH07Zi5Xcml0ZXI9ZH0sZnVuY3Rpb24oZCxmLGgpe2Z1bmN0aW9uIGsocil7Zm9yKHZhciBsIGluIHIpZi5oYXNPd25Qcm9wZXJ0eShsKXx8KGZbbF09cltsXSl9aCg2OSk7ZD1oKDcpO2YuQW5pbWF0b3JzPWQ7ZD1oKDY3KTtmLkF4ZXM9ZDtkPWgoMzcpO2YuQ29tcG9uZW50cz1kO2Q9aCgyMyk7Zi5Db25maWdzPWQ7ZD1oKDgpO2YuRm9ybWF0dGVycz1kO2Q9aCgzMCk7Zi5SZW5kZXJDb250cm9sbGVyPWQ7ZD1oKDM5KTtmLlJlbmRlclBvbGljaWVzPWQ7ZD1oKDMxKTtmLlN5bWJvbEZhY3Rvcmllcz1kO2Q9aCgxMyk7Zi5EaXNwYXRjaGVycz0KZDtkPWgoMTQpO2YuRHJhd2Vycz1kO2Q9aCgyNSk7Zi5JbnRlcmFjdGlvbnM9ZDtkPWgoMTkpO2YuUGxvdHM9ZDtkPWgoMyk7Zi5TY2FsZXM9ZDtkPWgoMCk7Zi5VdGlscz1kO2soaCgyMikpO2Q9aCgyOCk7Zi5UaW1lSW50ZXJ2YWw9ZC5UaW1lSW50ZXJ2YWw7ayhoKDQpKTtrKGgoMjkpKTtrKGgoMzgpKTtkPWgoNjgpO2YudmVyc2lvbj1kLnZlcnNpb247ayhoKDI0KSk7ayhoKDYpKTtrKGgoMTUpKTtrKGgoNDApKTtrKGgoMTYpKTtrKGgoMikpO2soaCgxMSkpO2soaCgxNykpfV0pfSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdnotY2hhcnQtaGVscGVycy9wbG90dGFibGUtaW50ZXJhY3Rpb25zLmpzCnZhciBzZjsKKGZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGQobSl7Y29uc3Qgbj1bXTtmb3IoO20mJm0gaW5zdGFuY2VvZiBIVE1MRWxlbWVudDspaWYobi5wdXNoKG0pLG0uYXNzaWduZWRTbG90KW09bS5hc3NpZ25lZFNsb3Q7ZWxzZSBpZihtLnBhcmVudEVsZW1lbnQpbT1tLnBhcmVudEVsZW1lbnQ7ZWxzZXtjb25zdCBxPW0ucGFyZW50Tm9kZTttPXEgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50P3EuaG9zdDpxIT09bT9xOm51bGx9cmV0dXJuIG59ZnVuY3Rpb24gZihtKXt2YXIgbj1kKG0pO209aDtsZXQgcT1udWxsO2Zvcihjb25zdCB3IG9mIG4pe249UGxvdHRhYmxlLlV0aWxzLkRPTS5nZXRFbGVtZW50VHJhbnNmb3JtKHcpO2lmKG51bGwhPW4pe3ZhciB1PXcuY2xpZW50V2lkdGgvMjtjb25zdCBBPXcuY2xpZW50SGVpZ2h0LzI7bT1QbG90dGFibGUuVXRpbHMuTWF0aC5tdWx0aXBseVRyYW5zbGF0ZShtLFt1LEFdKTttPVBsb3R0YWJsZS5VdGlscy5NYXRoLm11bHRpcGx5TWF0cml4KG0sUGxvdHRhYmxlLlV0aWxzLk1hdGguaW52ZXJ0TWF0cml4KG4pKTsKbT1QbG90dGFibGUuVXRpbHMuTWF0aC5tdWx0aXBseVRyYW5zbGF0ZShtLFstdSwtQV0pfW49dy5zY3JvbGxMZWZ0O3U9dy5zY3JvbGxUb3A7aWYobnVsbD09PXF8fHc9PT1xKW4tPXcub2Zmc2V0TGVmdCt3LmNsaWVudExlZnQsdS09dy5vZmZzZXRUb3Ardy5jbGllbnRUb3AscT13Lm9mZnNldFBhcmVudDttPVBsb3R0YWJsZS5VdGlscy5NYXRoLm11bHRpcGx5VHJhbnNsYXRlKG0sW24sdV0pfXJldHVybiBtfWNvbnN0IGg9WzEsMCwwLDEsMCwwXTtjbGFzcyBrIGV4dGVuZHMgUGxvdHRhYmxlLlV0aWxzLlRyYW5zbGF0b3J7Y29tcHV0ZVBvc2l0aW9uKG0sbil7bT17eDptLHk6bn07bj1mKHRoaXMuX3Jvb3RFbGVtZW50KTtyZXR1cm4gbnVsbD09bj9tOlBsb3R0YWJsZS5VdGlscy5NYXRoLmFwcGx5VHJhbnNmb3JtKG4sbSl9fWNsYXNzIHIgZXh0ZW5kcyBQbG90dGFibGUuRGlzcGF0Y2hlcnMuTW91c2V7Y29uc3RydWN0b3IobSl7c3VwZXIobSk7dGhpcy5fZXZlbnRUYXJnZXQ9bS5yb290KCkucm9vdEVsZW1lbnQoKS5ub2RlKCk7CnRoaXMuX3RyYW5zbGF0b3I9bmV3IGsobS5yb290KCkucm9vdEVsZW1lbnQoKS5ub2RlKCkpfXN0YXRpYyBnZXREaXNwYXRjaGVyKG0pe2NvbnN0IG49bS5yb290KCkucm9vdEVsZW1lbnQoKTtsZXQgcT1uW3IuX0RJU1BBVENIRVJfS0VZXTtxfHwocT1uZXcgcihtKSxuW3IuX0RJU1BBVENIRVJfS0VZXT1xKTtyZXR1cm4gcX19Y2xhc3MgbCBleHRlbmRzIFBsb3R0YWJsZS5EaXNwYXRjaGVycy5Ub3VjaHtjb25zdHJ1Y3RvcihtKXtzdXBlcihtKTt0aGlzLl9ldmVudFRhcmdldD1tLnJvb3QoKS5yb290RWxlbWVudCgpLm5vZGUoKTt0aGlzLl90cmFuc2xhdG9yPW5ldyBrKG0ucm9vdCgpLnJvb3RFbGVtZW50KCkubm9kZSgpKX1zdGF0aWMgZ2V0RGlzcGF0Y2hlcihtKXtjb25zdCBuPW0ucm9vdCgpLnJvb3RFbGVtZW50KCk7bGV0IHE9bltsLl9ESVNQQVRDSEVSX0tFWV07cXx8KHE9bmV3IGwobSksbltsLl9ESVNQQVRDSEVSX0tFWV09cSk7cmV0dXJuIHF9fVBsb3R0YWJsZS5JbnRlcmFjdGlvbi5wcm90b3R5cGUuX2lzSW5zaWRlQ29tcG9uZW50PQpmdW5jdGlvbihtKXtyZXR1cm4gMDw9bS54JiYwPD1tLnkmJm0ueDx0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvLndpZHRoKCkmJm0ueTx0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvLmhlaWdodCgpfTtjbGFzcyBwIGV4dGVuZHMgUGxvdHRhYmxlLkludGVyYWN0aW9ucy5Qb2ludGVye19hbmNob3IoKXt0aGlzLl9pc0FuY2hvcmVkPSEwO3RoaXMuX21vdXNlRGlzcGF0Y2hlcj1yLmdldERpc3BhdGNoZXIodGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbyk7dGhpcy5fbW91c2VEaXNwYXRjaGVyLm9uTW91c2VNb3ZlKHRoaXMuX21vdXNlTW92ZUNhbGxiYWNrKTt0aGlzLl90b3VjaERpc3BhdGNoZXI9bC5nZXREaXNwYXRjaGVyKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8pO3RoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoU3RhcnQodGhpcy5fdG91Y2hTdGFydENhbGxiYWNrKX19Yi5Qb2ludGVySW50ZXJhY3Rpb249cH0pKHNmfHwoc2Y9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92ei1jaGFydC1oZWxwZXJzL3Z6LWNoYXJ0LWhlbHBlcnMuanMKKGZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGQoKXtsZXQgcj1uZXcgUGxvdHRhYmxlLlNjYWxlcy5MaW5lYXI7ci50aWNrR2VuZXJhdG9yKCk7bGV0IGw9bmV3IFBsb3R0YWJsZS5BeGVzLk51bWVyaWMociwiYm90dG9tIik7bC5mb3JtYXR0ZXIoYi5zdGVwRm9ybWF0dGVyKTtyZXR1cm57c2NhbGU6cixheGlzOmwsYWNjZXNzb3I6cD0+cC5zdGVwfX1mdW5jdGlvbiBmKCl7bGV0IHI9bmV3IFBsb3R0YWJsZS5TY2FsZXMuVGltZTtyZXR1cm57c2NhbGU6cixheGlzOm5ldyBQbG90dGFibGUuQXhlcy5UaW1lKHIsImJvdHRvbSIpLGFjY2Vzc29yOmw9Pmwud2FsbF90aW1lfX1mdW5jdGlvbiBoKCl7bGV0IHI9bmV3IFBsb3R0YWJsZS5TY2FsZXMuTGluZWFyO3JldHVybntzY2FsZTpyLGF4aXM6bmV3IFBsb3R0YWJsZS5BeGVzLk51bWVyaWMociwiYm90dG9tIiksYWNjZXNzb3I6Yi5yZWxhdGl2ZUFjY2Vzc29yfX1iLlNZTUJPTFNfTElTVD1be2NoYXJhY3RlcjoiXHUyNWZjIixtZXRob2Q6UGxvdHRhYmxlLlN5bWJvbEZhY3Rvcmllcy5zcXVhcmV9LAp7Y2hhcmFjdGVyOiJcdTI1YzYiLG1ldGhvZDpQbG90dGFibGUuU3ltYm9sRmFjdG9yaWVzLmRpYW1vbmR9LHtjaGFyYWN0ZXI6Ilx1MjViMiIsbWV0aG9kOlBsb3R0YWJsZS5TeW1ib2xGYWN0b3JpZXMudHJpYW5nbGV9LHtjaGFyYWN0ZXI6Ilx1MjYwNSIsbWV0aG9kOlBsb3R0YWJsZS5TeW1ib2xGYWN0b3JpZXMuc3Rhcn0se2NoYXJhY3RlcjoiXHUyNzFhIixtZXRob2Q6UGxvdHRhYmxlLlN5bWJvbEZhY3Rvcmllcy5jcm9zc31dO2xldCBrOyhmdW5jdGlvbihyKXtyLlNURVA9InN0ZXAiO3IuUkVMQVRJVkU9InJlbGF0aXZlIjtyLldBTExfVElNRT0id2FsbF90aW1lIn0pKGs9Yi5YVHlwZXx8KGIuWFR5cGU9e30pKTtiLllfVE9PTFRJUF9GT1JNQVRURVJfUFJFQ0lTSU9OPTQ7Yi5TVEVQX0ZPUk1BVFRFUl9QUkVDSVNJT049NDtiLllfQVhJU19GT1JNQVRURVJfUFJFQ0lTSU9OPTM7Yi5UT09MVElQX1lfUElYRUxfT0ZGU0VUPTIwO2IuVE9PTFRJUF9DSVJDTEVfU0laRT00O2IuTkFOX1NZTUJPTF9TSVpFPQo2O2IubXVsdGlzY2FsZUZvcm1hdHRlcj1mdW5jdGlvbihyKXtyZXR1cm4gbD0+e2xldCBwPU1hdGguYWJzKGwpOzFFLTE1PnAmJihwPTApO3JldHVybigxRTQ8PXA/ZDMuZm9ybWF0KCIuIityKyJ+ZSIpOjA8cCYmLjAxPnA/ZDMuZm9ybWF0KCIuIityKyJ+ZSIpOmQzLmZvcm1hdCgiLiIrcisifmciKSkobCl9fTtiLmNvbXB1dGVEb21haW49ZnVuY3Rpb24ocixsKXtyPXIuZmlsdGVyKG49PmlzRmluaXRlKG4pKTtpZigwPT09ci5sZW5ndGgpcmV0dXJuWy0uMSwxLjFdO2w/KHI9Xy5zb3J0QnkociksbD1kMy5xdWFudGlsZShyLC4wNSkscj1kMy5xdWFudGlsZShyLC45NSkpOihsPWQzLm1pbihyKSxyPWQzLm1heChyKSk7bGV0IHAsbT1yLWw7cD0wPT09bT8xLjEqTWF0aC5hYnMobCkrMS4xOi4yKm07bD1bMDw9bCYmbDxtPy0uMSpyOmwtcCxyK3BdO3JldHVybiBsPWQzLnNjYWxlTGluZWFyKCkuZG9tYWluKGwpLm5pY2UoKS5kb21haW4oKX07Yi5hY2Nlc3Nvcml6ZT1mdW5jdGlvbihyKXtyZXR1cm4gbD0+Cmxbcl19O2Iuc3RlcEZvcm1hdHRlcj1kMy5mb3JtYXQoYC4ke2IuU1RFUF9GT1JNQVRURVJfUFJFQ0lTSU9OfX5zYCk7Yi5zdGVwWD1kO2IudGltZUZvcm1hdHRlcj1QbG90dGFibGUuRm9ybWF0dGVycy50aW1lKCIlYSAlYiAlZSwgJUg6JU06JVMiKTtiLndhbGxYPWY7Yi5yZWxhdGl2ZUFjY2Vzc29yPShyLGwscCk9PntpZihudWxsIT1yLnJlbGF0aXZlKXJldHVybiByLnJlbGF0aXZlO2w9cC5kYXRhKCk7cmV0dXJuKCtyLndhbGxfdGltZS0oMDxsLmxlbmd0aD8rbFswXS53YWxsX3RpbWU6MCkpLzM2RTV9O2IucmVsYXRpdmVGb3JtYXR0ZXI9cj0+e2xldCBsPSIiLHA9TWF0aC5mbG9vcihyLzI0KTtyLT0yNCpwO3AmJihsKz1wKyJkICIpO2xldCBtPU1hdGguZmxvb3Iocik7cj02MCooci1tKTtpZihtfHxwKWwrPW0rImggIjtsZXQgbj1NYXRoLmZsb29yKHIpO3I9NjAqKHItbik7aWYobnx8bXx8cClsKz1uKyJtICI7cmV0dXJuIGwrTWF0aC5mbG9vcihyKSsicyJ9O2IucmVsYXRpdmVYPQpoO2IuZ2V0WENvbXBvbmVudHM9ZnVuY3Rpb24ocil7c3dpdGNoKHIpe2Nhc2Ugay5TVEVQOnJldHVybiBkKCk7Y2FzZSBrLldBTExfVElNRTpyZXR1cm4gZigpO2Nhc2Ugay5SRUxBVElWRTpyZXR1cm4gaCgpO2RlZmF1bHQ6dGhyb3cgRXJyb3IoImludmFsaWQgeFR5cGU6ICIrcik7fX19KShzZnx8KHNmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdnotbGluZS1jaGFydC9kcmFnWm9vbUludGVyYWN0aW9uLmpzCnZhciB0ZzsKKGZ1bmN0aW9uKGIpe2NsYXNzIGQgZXh0ZW5kcyBQbG90dGFibGUuQ29tcG9uZW50cy5TZWxlY3Rpb25Cb3hMYXllcntjb25zdHJ1Y3RvcihmLGgsayl7c3VwZXIoKTt0aGlzLmVhc2VGbj1kMy5lYXNlQ3ViaWNJbk91dDt0aGlzLl9hbmltYXRpb25UaW1lPTc1MDt0aGlzLnhTY2FsZShmKTt0aGlzLnlTY2FsZShoKTt0aGlzLl9kcmFnSW50ZXJhY3Rpb249bmV3IFBsb3R0YWJsZS5JbnRlcmFjdGlvbnMuRHJhZzt0aGlzLl9kb3VibGVDbGlja0ludGVyYWN0aW9uPW5ldyBQbG90dGFibGUuSW50ZXJhY3Rpb25zLkNsaWNrO3RoaXMuc2V0dXBDYWxsYmFja3MoKTt0aGlzLnVuem9vbU1ldGhvZD1rO3RoaXMub25EZXRhY2goKCk9Pnt0aGlzLl9kb3VibGVDbGlja0ludGVyYWN0aW9uLmRldGFjaEZyb20oKTt0aGlzLl9kcmFnSW50ZXJhY3Rpb24uZGV0YWNoRnJvbSgpfSk7dGhpcy5vbkFuY2hvcigoKT0+e3RoaXMuX2RvdWJsZUNsaWNrSW50ZXJhY3Rpb24uYXR0YWNoVG8odGhpcyk7dGhpcy5fZHJhZ0ludGVyYWN0aW9uLmF0dGFjaFRvKHRoaXMpfSl9aW50ZXJhY3Rpb25TdGFydChmKXt0aGlzLm9uU3RhcnQ9CmZ9aW50ZXJhY3Rpb25FbmQoZil7dGhpcy5vbkVuZD1mfWRyYWdJbnRlcmFjdGlvbigpe3JldHVybiB0aGlzLl9kcmFnSW50ZXJhY3Rpb259c2V0dXBDYWxsYmFja3MoKXtsZXQgZj0hMTt0aGlzLl9kcmFnSW50ZXJhY3Rpb24ub25EcmFnU3RhcnQoaD0+e3RoaXMuYm91bmRzKHt0b3BMZWZ0OmgsYm90dG9tUmlnaHQ6aH0pO3RoaXMub25TdGFydCgpfSk7dGhpcy5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZygoaCxrKT0+e3RoaXMuYm91bmRzKHt0b3BMZWZ0OmgsYm90dG9tUmlnaHQ6a30pO3RoaXMuYm94VmlzaWJsZSghMCk7Zj0hMH0pO3RoaXMuX2RyYWdJbnRlcmFjdGlvbi5vbkRyYWdFbmQoKGgsayk9Pnt0aGlzLmJveFZpc2libGUoITEpO3RoaXMuYm91bmRzKHt0b3BMZWZ0OmgsYm90dG9tUmlnaHQ6a30pO2lmKGYpdGhpcy56b29tKCk7ZWxzZSB0aGlzLm9uRW5kKCk7Zj0hMX0pO3RoaXMuX2RvdWJsZUNsaWNrSW50ZXJhY3Rpb24ub25Eb3VibGVDbGljayh0aGlzLnVuem9vbS5iaW5kKHRoaXMpKX1hbmltYXRpb25UaW1lKGYpe2lmKG51bGw9PQpmKXJldHVybiB0aGlzLl9hbmltYXRpb25UaW1lO2lmKDA+Zil0aHJvdyBFcnJvcigiYW5pbWF0aW9uVGltZSBjYW5ub3QgYmUgbmVnYXRpdmUiKTt0aGlzLl9hbmltYXRpb25UaW1lPWY7cmV0dXJuIHRoaXN9ZWFzZShmKXtpZigiZnVuY3Rpb24iIT09dHlwZW9mIGYpdGhyb3cgRXJyb3IoImVhc2UgZnVuY3Rpb24gbXVzdCBiZSBhIGZ1bmN0aW9uIik7MD09PWYoMCkmJjE9PT1mKDEpfHxQbG90dGFibGUuVXRpbHMuV2luZG93Lndhcm4oIkVhc2luZyBmdW5jdGlvbiBkb2VzIG5vdCBtYWludGFpbiBpbnZhcmlhbnQgZigwKVx4M2RceDNkMCBceDI2XHgyNiBmKDEpXHgzZFx4M2QxLiBCYWQgYmVoYXZpb3IgbWF5IHJlc3VsdC4iKTt0aGlzLmVhc2VGbj1mO3JldHVybiB0aGlzfXpvb20oKXtsZXQgZj10aGlzLnhFeHRlbnQoKVswXS52YWx1ZU9mKCksaD10aGlzLnhFeHRlbnQoKVsxXS52YWx1ZU9mKCksaz10aGlzLnlFeHRlbnQoKVsxXS52YWx1ZU9mKCkscj10aGlzLnlFeHRlbnQoKVswXS52YWx1ZU9mKCk7CmYhPT1oJiZrIT09ciYmdGhpcy5pbnRlcnBvbGF0ZVpvb20oZixoLGsscil9dW56b29tKCl7dmFyIGY9dGhpcy54U2NhbGUoKTtmLl9kb21haW5NaW49bnVsbDtmLl9kb21haW5NYXg9bnVsbDtmPWYuX2dldEV4dGVudCgpO3RoaXMueFNjYWxlKCkuZG9tYWluKGYpO3RoaXMudW56b29tTWV0aG9kKCl9aXNab29taW5nKGYpe3RoaXMuX2RyYWdJbnRlcmFjdGlvbi5lbmFibGVkKCFmKTt0aGlzLl9kb3VibGVDbGlja0ludGVyYWN0aW9uLmVuYWJsZWQoIWYpfWludGVycG9sYXRlWm9vbShmLGgsayxyKXtsZXQgbD10aGlzLnhTY2FsZSgpLmRvbWFpbigpWzBdLnZhbHVlT2YoKSxwPXRoaXMueFNjYWxlKCkuZG9tYWluKClbMV0udmFsdWVPZigpLG09dGhpcy55U2NhbGUoKS5kb21haW4oKVswXS52YWx1ZU9mKCksbj10aGlzLnlTY2FsZSgpLmRvbWFpbigpWzFdLnZhbHVlT2YoKSxxPXRoaXMuZWFzZUZuLHU9KHkseCxDKT0+ZDMuaW50ZXJwb2xhdGVOdW1iZXIoeSx4KShxKEMpKTt0aGlzLmlzWm9vbWluZyghMCk7CmxldCB3PURhdGUubm93KCksQT0oKT0+e3ZhciB5PURhdGUubm93KCktdzt5PTA9PT10aGlzLl9hbmltYXRpb25UaW1lPzE6TWF0aC5taW4oMSx5L3RoaXMuX2FuaW1hdGlvblRpbWUpO2xldCB4PXUobCxmLHkpLEM9dShwLGgseSksRz11KG0sayx5KSxEPXUobixyLHkpO3RoaXMueFNjYWxlKCkuZG9tYWluKFt4LENdKTt0aGlzLnlTY2FsZSgpLmRvbWFpbihbRyxEXSk7MT55P1Bsb3R0YWJsZS5VdGlscy5ET00ucmVxdWVzdEFuaW1hdGlvbkZyYW1lUG9seWZpbGwoQSk6KHRoaXMub25FbmQoKSx0aGlzLmlzWm9vbWluZyghMSkpfTtBKCl9fWIuRHJhZ1pvb21MYXllcj1kfSkodGd8fCh0Zz17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3Z6LWxpbmUtY2hhcnQyL3Bhblpvb21EcmFnTGF5ZXIuanMKdmFyIHVnOwooZnVuY3Rpb24oYil7bGV0IGQ7KGZ1bmN0aW9uKGgpe2hbaC5OT05FPTBdPSJOT05FIjtoW2guRFJBR19aT09NSU5HPTFdPSJEUkFHX1pPT01JTkciO2hbaC5QQU5OSU5HPTJdPSJQQU5OSU5HIn0pKGR8fChkPXt9KSk7Y2xhc3MgZiBleHRlbmRzIFBsb3R0YWJsZS5Db21wb25lbnRzLkdyb3Vwe2NvbnN0cnVjdG9yKGgsayxyKXtzdXBlcigpO3RoaXMuc3RhdGU9ZC5OT05FO3RoaXMucGFuU3RhcnRDYWxsYmFjaz1uZXcgUGxvdHRhYmxlLlV0aWxzLkNhbGxiYWNrU2V0O3RoaXMucGFuRW5kQ2FsbGJhY2s9bmV3IFBsb3R0YWJsZS5VdGlscy5DYWxsYmFja1NldDt0aGlzLnBhblpvb209bmV3IFBsb3R0YWJsZS5JbnRlcmFjdGlvbnMuUGFuWm9vbShoLGspO3RoaXMucGFuWm9vbS5kcmFnSW50ZXJhY3Rpb24oKS5tb3VzZUZpbHRlcihwPT5mLmlzUGFuS2V5KHApJiYwPT09cC5idXR0b24pO3RoaXMucGFuWm9vbS53aGVlbEZpbHRlcih0aGlzLmNhblNjcm9sbFpvb20pO3RoaXMuZHJhZ1pvb21MYXllcj1uZXcgdGcuRHJhZ1pvb21MYXllcihoLAprLHIpO3RoaXMuZHJhZ1pvb21MYXllci5kcmFnSW50ZXJhY3Rpb24oKS5tb3VzZUZpbHRlcihwPT4hZi5pc1BhbktleShwKSYmMD09PXAuYnV0dG9uKTt0aGlzLmFwcGVuZCh0aGlzLmRyYWdab29tTGF5ZXIpO2NvbnN0IGw9dGhpcy5vbldoZWVsLmJpbmQodGhpcyk7dGhpcy5vbkFuY2hvcigoKT0+e3RoaXMuX21vdXNlRGlzcGF0Y2hlcj1QbG90dGFibGUuRGlzcGF0Y2hlcnMuTW91c2UuZ2V0RGlzcGF0Y2hlcih0aGlzKTt0aGlzLl9tb3VzZURpc3BhdGNoZXIub25XaGVlbChsKTt0aGlzLnBhblpvb20uYXR0YWNoVG8odGhpcyl9KTt0aGlzLm9uRGV0YWNoKCgpPT57dGhpcy5wYW5ab29tLmRldGFjaEZyb20oKTt0aGlzLl9tb3VzZURpc3BhdGNoZXImJih0aGlzLl9tb3VzZURpc3BhdGNoZXIub2ZmV2hlZWwobCksdGhpcy5fbW91c2VEaXNwYXRjaGVyPW51bGwpfSk7dGhpcy5wYW5ab29tLmRyYWdJbnRlcmFjdGlvbigpLm9uRHJhZ1N0YXJ0KCgpPT57dGhpcy5zdGF0ZT09ZC5OT05FJiYKdGhpcy5zZXRTdGF0ZShkLlBBTk5JTkcpfSk7dGhpcy5wYW5ab29tLmRyYWdJbnRlcmFjdGlvbigpLm9uRHJhZ0VuZCgoKT0+e3RoaXMuc3RhdGU9PWQuUEFOTklORyYmdGhpcy5zZXRTdGF0ZShkLk5PTkUpfSk7dGhpcy5kcmFnWm9vbUxheWVyLmRyYWdJbnRlcmFjdGlvbigpLm9uRHJhZ1N0YXJ0KCgpPT57dGhpcy5zdGF0ZT09ZC5OT05FJiZ0aGlzLnNldFN0YXRlKGQuRFJBR19aT09NSU5HKX0pO3RoaXMuZHJhZ1pvb21MYXllci5kcmFnSW50ZXJhY3Rpb24oKS5vbkRyYWdFbmQoKCk9Pnt0aGlzLnN0YXRlPT1kLkRSQUdfWk9PTUlORyYmdGhpcy5zZXRTdGF0ZShkLk5PTkUpfSl9b25XaGVlbChoLGspe2lmKCF0aGlzLmNhblNjcm9sbFpvb20oaykmJihoPXRoaXMuZWxlbWVudCgpLGguc2VsZWN0KCIuaGVscCIpLmVtcHR5KCkpKXt2YXIgcj1oLmFwcGVuZCgiZGl2IikuY2xhc3NlZCgiaGVscCIsITApO3IuYXBwZW5kKCJzcGFuIikudGV4dCgiQWx0ICsgU2Nyb2xsIHRvIFpvb20iKTsKci5vbigiYW5pbWF0aW9uZW5kIiwoKT0+dm9pZCByLnJlbW92ZSgpKX19c3RhdGljIGlzUGFuS2V5KGgpe3JldHVybiEhaC5hbHRLZXl8fCEhaC5zaGlmdEtleX1jYW5TY3JvbGxab29tKGgpe3JldHVybiBoLmFsdEtleX1zZXRTdGF0ZShoKXtpZih0aGlzLnN0YXRlIT1oKXt2YXIgaz10aGlzLnN0YXRlO3RoaXMuc3RhdGU9aDt0aGlzLnJvb3QoKS5yZW1vdmVDbGFzcyh0aGlzLnN0YXRlQ2xhc3NOYW1lKGspKTt0aGlzLnJvb3QoKS5hZGRDbGFzcyh0aGlzLnN0YXRlQ2xhc3NOYW1lKGgpKTtrPT1kLlBBTk5JTkcmJnRoaXMucGFuRW5kQ2FsbGJhY2suY2FsbENhbGxiYWNrcygpO2g9PWQuUEFOTklORyYmdGhpcy5wYW5TdGFydENhbGxiYWNrLmNhbGxDYWxsYmFja3MoKX19c3RhdGVDbGFzc05hbWUoaCl7c3dpdGNoKGgpe2Nhc2UgZC5QQU5OSU5HOnJldHVybiJwYW5uaW5nIjtjYXNlIGQuRFJBR19aT09NSU5HOnJldHVybiJkcmFnLXpvb21pbmciO2RlZmF1bHQ6cmV0dXJuIiJ9fW9uUGFuU3RhcnQoaCl7dGhpcy5wYW5TdGFydENhbGxiYWNrLmFkZChoKX1vblBhbkVuZChoKXt0aGlzLnBhbkVuZENhbGxiYWNrLmFkZChoKX1vblNjcm9sbFpvb20oaCl7dGhpcy5wYW5ab29tLm9uWm9vbUVuZChoKX1vbkRyYWdab29tU3RhcnQoaCl7dGhpcy5kcmFnWm9vbUxheWVyLmludGVyYWN0aW9uU3RhcnQoaCl9b25EcmFnWm9vbUVuZChoKXt0aGlzLmRyYWdab29tTGF5ZXIuaW50ZXJhY3Rpb25FbmQoaCl9fQpiLlBhblpvb21EcmFnTGF5ZXI9Zn0pKHVnfHwodWc9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1jYXJkLWhlYWRpbmcvdXRpbC5qcwp2YXIgSGg7KGZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGQoZil7aWYoIWYpcmV0dXJuIG51bGw7bGV0IGg9Zi5tYXRjaCgvXiMoWzAtOWEtZl17MSwyfSkoWzAtOWEtZl17MSwyfSkoWzAtOWEtZl17MSwyfSkkLyk7aWYoIWgpcmV0dXJuIG51bGw7aWYoND09Zi5sZW5ndGgpZm9yKGY9MTszPj1mO2YrKyloW2ZdKz1oW2ZdO3JldHVybltwYXJzZUludChoWzFdLDE2KSxwYXJzZUludChoWzJdLDE2KSxwYXJzZUludChoWzNdLDE2KV19Yi5mb3JtYXREYXRlPWZ1bmN0aW9uKGYpe3JldHVybiBmP2YudG9TdHJpbmcoKS5yZXBsYWNlKC9HTVQtXGQrIFwoKFteKV0rKVwpLywiJDEiKToiIn07Yi5waWNrVGV4dENvbG9yPWZ1bmN0aW9uKGYpe3JldHVybihmPWQoZikpPzEyNTxNYXRoLnJvdW5kKCgyOTkqZlswXSs1ODcqZlsxXSsxMTQqZlsyXSkvMUUzKT8iaW5oZXJpdCI6IiNlZWUiOiJpbmhlcml0In19KShIaHx8KEhoPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1yYW5nZS1iZWhhdmlvci9pcm9uLXJhbmdlLWJlaGF2aW9yLmh0bWwuanMKUG9seW1lci5Jcm9uUmFuZ2VCZWhhdmlvcj17cHJvcGVydGllczp7dmFsdWU6e3R5cGU6TnVtYmVyLHZhbHVlOjAsbm90aWZ5OiEwLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sbWluOnt0eXBlOk51bWJlcix2YWx1ZTowLG5vdGlmeTohMH0sbWF4Ont0eXBlOk51bWJlcix2YWx1ZToxMDAsbm90aWZ5OiEwfSxzdGVwOnt0eXBlOk51bWJlcix2YWx1ZToxLG5vdGlmeTohMH0scmF0aW86e3R5cGU6TnVtYmVyLHZhbHVlOjAscmVhZE9ubHk6ITAsbm90aWZ5OiEwfX0sb2JzZXJ2ZXJzOlsiX3VwZGF0ZSh2YWx1ZSwgbWluLCBtYXgsIHN0ZXApIl0sX2NhbGNSYXRpbzpmdW5jdGlvbihiKXtyZXR1cm4odGhpcy5fY2xhbXBWYWx1ZShiKS10aGlzLm1pbikvKHRoaXMubWF4LXRoaXMubWluKX0sX2NsYW1wVmFsdWU6ZnVuY3Rpb24oYil7cmV0dXJuIE1hdGgubWluKHRoaXMubWF4LE1hdGgubWF4KHRoaXMubWluLHRoaXMuX2NhbGNTdGVwKGIpKSl9LF9jYWxjU3RlcDpmdW5jdGlvbihiKXtiPXBhcnNlRmxvYXQoYik7CmlmKCF0aGlzLnN0ZXApcmV0dXJuIGI7Yj1NYXRoLnJvdW5kKChiLXRoaXMubWluKS90aGlzLnN0ZXApO3JldHVybiAxPnRoaXMuc3RlcD9iLygxL3RoaXMuc3RlcCkrdGhpcy5taW46Yip0aGlzLnN0ZXArdGhpcy5taW59LF92YWxpZGF0ZVZhbHVlOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5fY2xhbXBWYWx1ZSh0aGlzLnZhbHVlKTt0aGlzLnZhbHVlPXRoaXMub2xkVmFsdWU9aXNOYU4oYik/dGhpcy5vbGRWYWx1ZTpiO3JldHVybiB0aGlzLnZhbHVlIT09Yn0sX3VwZGF0ZTpmdW5jdGlvbigpe3RoaXMuX3ZhbGlkYXRlVmFsdWUoKTt0aGlzLl9zZXRSYXRpbygxMDAqdGhpcy5fY2FsY1JhdGlvKHRoaXMudmFsdWUpKX19OwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWN1c3RvbS1zY2FsYXItZGFzaGJvYXJkL3RmLWN1c3RvbS1zY2FsYXItaGVscGVycy5qcwp2YXIgSWg7CihmdW5jdGlvbihiKXtjbGFzcyBke2NvbnN0cnVjdG9yKGgsayxyLGwscCl7dGhpcy5ydW49aDt0aGlzLnRhZz1rO3RoaXMubmFtZT1yO3RoaXMuc2NhbGFyRGF0YT1sO3RoaXMuc3ltYm9sPXB9Z2V0TmFtZSgpe3JldHVybiB0aGlzLm5hbWV9c2V0RGF0YShoKXt0aGlzLnNjYWxhckRhdGE9aH1nZXREYXRhKCl7cmV0dXJuIHRoaXMuc2NhbGFyRGF0YX1nZXRSdW4oKXtyZXR1cm4gdGhpcy5ydW59Z2V0VGFnKCl7cmV0dXJuIHRoaXMudGFnfWdldFN5bWJvbCgpe3JldHVybiB0aGlzLnN5bWJvbH19Yi5EYXRhU2VyaWVzPWQ7Yi5nZW5lcmF0ZURhdGFTZXJpZXNOYW1lPWZ1bmN0aW9uKGgsayl7cmV0dXJuYCR7a30gKCR7aH0pYH07Y2xhc3MgZntjb25zdHJ1Y3RvcihoKXt0aGlzLnJ1bkJhc2VkQ29sb3JTY2FsZT1ofXNjYWxlKGgpe3JldHVybiB0aGlzLnJ1bkJhc2VkQ29sb3JTY2FsZS5zY2FsZSh0aGlzLnBhcnNlUnVuTmFtZShoKSl9cGFyc2VSdW5OYW1lKGgpe3JldHVybihoPWgubWF0Y2goL1woKC4qKVwpJC8pKT8KaFsxXToiIn19Yi5EYXRhU2VyaWVzQ29sb3JTY2FsZT1mfSkoSWh8fChJaD17fSkpOwoKKGZ1bmN0aW9uKGYpe2lmKHR5cGVvZiBleHBvcnRzPT09Im9iamVjdCImJnR5cGVvZiBtb2R1bGUhPT0idW5kZWZpbmVkIiltb2R1bGUuZXhwb3J0cz1mKCk7ZWxzZSBpZih0eXBlb2YgZGVmaW5lPT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZClkZWZpbmUoW10sZik7ZWxzZXt2YXIgZztpZih0eXBlb2Ygd2luZG93IT09InVuZGVmaW5lZCIpZz13aW5kb3c7ZWxzZSBpZih0eXBlb2YgZ2xvYmFsIT09InVuZGVmaW5lZCIpZz1nbG9iYWw7ZWxzZSBpZih0eXBlb2Ygc2VsZiE9PSJ1bmRlZmluZWQiKWc9c2VsZjtlbHNlIGc9dGhpcztnLmdyYXBobGliPWYoKX19KShmdW5jdGlvbigpe3ZhciBkZWZpbmUsbW9kdWxlLGV4cG9ydHM7cmV0dXJuIGZ1bmN0aW9uIGUodCxuLHIpe2Z1bmN0aW9uIHMobyx1KXtpZighbltvXSl7aWYoIXRbb10pe3ZhciBhPXR5cGVvZiByZXF1aXJlPT0iZnVuY3Rpb24iJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7CnZhciBmPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK28rIiciKTt0aHJvdyBmLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGY7fXZhciBsPW5bb109e2V4cG9ydHM6e319O3Rbb11bMF0uY2FsbChsLmV4cG9ydHMsZnVuY3Rpb24oZSl7dmFyIG49dFtvXVsxXVtlXTtyZXR1cm4gcyhuP246ZSl9LGwsbC5leHBvcnRzLGUsdCxuLHIpfXJldHVybiBuW29dLmV4cG9ydHN9dmFyIGk9dHlwZW9mIHJlcXVpcmU9PSJmdW5jdGlvbiImJnJlcXVpcmU7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspcyhyW29dKTtyZXR1cm4gc30oezE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBsaWI9cmVxdWlyZSgiLi9saWIiKTttb2R1bGUuZXhwb3J0cz17R3JhcGg6bGliLkdyYXBoLGpzb246cmVxdWlyZSgiLi9saWIvanNvbiIpLGFsZzpyZXF1aXJlKCIuL2xpYi9hbGciKSx2ZXJzaW9uOmxpYi52ZXJzaW9ufX0seyIuL2xpYiI6MTcsIi4vbGliL2FsZyI6OCwiLi9saWIvanNvbiI6MTh9XSwKMjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIF89cmVxdWlyZSgiLi4vbG9kYXNoIik7bW9kdWxlLmV4cG9ydHM9Y29tcG9uZW50cztmdW5jdGlvbiBjb21wb25lbnRzKGcpe3ZhciB2aXNpdGVkPXt9LGNtcHRzPVtdLGNtcHQ7ZnVuY3Rpb24gZGZzKHYpe2lmKF8uaGFzKHZpc2l0ZWQsdikpcmV0dXJuO3Zpc2l0ZWRbdl09dHJ1ZTtjbXB0LnB1c2godik7Xy5lYWNoKGcuc3VjY2Vzc29ycyh2KSxkZnMpO18uZWFjaChnLnByZWRlY2Vzc29ycyh2KSxkZnMpfV8uZWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7Y21wdD1bXTtkZnModik7aWYoY21wdC5sZW5ndGgpY21wdHMucHVzaChjbXB0KX0pO3JldHVybiBjbXB0c319LHsiLi4vbG9kYXNoIjoxOX1dLDM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpO21vZHVsZS5leHBvcnRzPWRmcztmdW5jdGlvbiBkZnMoZyx2cyxvcmRlcil7aWYoIV8uaXNBcnJheSh2cykpdnM9Clt2c107dmFyIG5hdmlnYXRpb249KGcuaXNEaXJlY3RlZCgpP2cuc3VjY2Vzc29yczpnLm5laWdoYm9ycykuYmluZChnKTt2YXIgYWNjPVtdLHZpc2l0ZWQ9e307Xy5lYWNoKHZzLGZ1bmN0aW9uKHYpe2lmKCFnLmhhc05vZGUodikpdGhyb3cgbmV3IEVycm9yKCJHcmFwaCBkb2VzIG5vdCBoYXZlIG5vZGU6ICIrdik7ZG9EZnMoZyx2LG9yZGVyPT09InBvc3QiLHZpc2l0ZWQsbmF2aWdhdGlvbixhY2MpfSk7cmV0dXJuIGFjY31mdW5jdGlvbiBkb0RmcyhnLHYscG9zdG9yZGVyLHZpc2l0ZWQsbmF2aWdhdGlvbixhY2Mpe2lmKCFfLmhhcyh2aXNpdGVkLHYpKXt2aXNpdGVkW3ZdPXRydWU7aWYoIXBvc3RvcmRlcilhY2MucHVzaCh2KTtfLmVhY2gobmF2aWdhdGlvbih2KSxmdW5jdGlvbih3KXtkb0RmcyhnLHcscG9zdG9yZGVyLHZpc2l0ZWQsbmF2aWdhdGlvbixhY2MpfSk7aWYocG9zdG9yZGVyKWFjYy5wdXNoKHYpfX19LHsiLi4vbG9kYXNoIjoxOX1dLDQ6W2Z1bmN0aW9uKHJlcXVpcmUsCm1vZHVsZSxleHBvcnRzKXt2YXIgZGlqa3N0cmE9cmVxdWlyZSgiLi9kaWprc3RyYSIpLF89cmVxdWlyZSgiLi4vbG9kYXNoIik7bW9kdWxlLmV4cG9ydHM9ZGlqa3N0cmFBbGw7ZnVuY3Rpb24gZGlqa3N0cmFBbGwoZyx3ZWlnaHRGdW5jLGVkZ2VGdW5jKXtyZXR1cm4gXy50cmFuc2Zvcm0oZy5ub2RlcygpLGZ1bmN0aW9uKGFjYyx2KXthY2Nbdl09ZGlqa3N0cmEoZyx2LHdlaWdodEZ1bmMsZWRnZUZ1bmMpfSx7fSl9fSx7Ii4uL2xvZGFzaCI6MTksIi4vZGlqa3N0cmEiOjV9XSw1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuLi9sb2Rhc2giKSxQcmlvcml0eVF1ZXVlPXJlcXVpcmUoIi4uL2RhdGEvcHJpb3JpdHktcXVldWUiKTttb2R1bGUuZXhwb3J0cz1kaWprc3RyYTt2YXIgREVGQVVMVF9XRUlHSFRfRlVOQz1fLmNvbnN0YW50KDEpO2Z1bmN0aW9uIGRpamtzdHJhKGcsc291cmNlLHdlaWdodEZuLGVkZ2VGbil7cmV0dXJuIHJ1bkRpamtzdHJhKGcsClN0cmluZyhzb3VyY2UpLHdlaWdodEZufHxERUZBVUxUX1dFSUdIVF9GVU5DLGVkZ2VGbnx8ZnVuY3Rpb24odil7cmV0dXJuIGcub3V0RWRnZXModil9KX1mdW5jdGlvbiBydW5EaWprc3RyYShnLHNvdXJjZSx3ZWlnaHRGbixlZGdlRm4pe3ZhciByZXN1bHRzPXt9LHBxPW5ldyBQcmlvcml0eVF1ZXVlLHYsdkVudHJ5O3ZhciB1cGRhdGVOZWlnaGJvcnM9ZnVuY3Rpb24oZWRnZSl7dmFyIHc9ZWRnZS52IT09dj9lZGdlLnY6ZWRnZS53LHdFbnRyeT1yZXN1bHRzW3ddLHdlaWdodD13ZWlnaHRGbihlZGdlKSxkaXN0YW5jZT12RW50cnkuZGlzdGFuY2Urd2VpZ2h0O2lmKHdlaWdodDwwKXRocm93IG5ldyBFcnJvcigiZGlqa3N0cmEgZG9lcyBub3QgYWxsb3cgbmVnYXRpdmUgZWRnZSB3ZWlnaHRzLiAiKyJCYWQgZWRnZTogIitlZGdlKyIgV2VpZ2h0OiAiK3dlaWdodCk7aWYoZGlzdGFuY2U8d0VudHJ5LmRpc3RhbmNlKXt3RW50cnkuZGlzdGFuY2U9ZGlzdGFuY2U7d0VudHJ5LnByZWRlY2Vzc29yPQp2O3BxLmRlY3JlYXNlKHcsZGlzdGFuY2UpfX07Zy5ub2RlcygpLmZvckVhY2goZnVuY3Rpb24odil7dmFyIGRpc3RhbmNlPXY9PT1zb3VyY2U/MDpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmVzdWx0c1t2XT17ZGlzdGFuY2U6ZGlzdGFuY2V9O3BxLmFkZCh2LGRpc3RhbmNlKX0pO3doaWxlKHBxLnNpemUoKT4wKXt2PXBxLnJlbW92ZU1pbigpO3ZFbnRyeT1yZXN1bHRzW3ZdO2lmKHZFbnRyeS5kaXN0YW5jZT09PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSlicmVhaztlZGdlRm4odikuZm9yRWFjaCh1cGRhdGVOZWlnaGJvcnMpfXJldHVybiByZXN1bHRzfX0seyIuLi9kYXRhL3ByaW9yaXR5LXF1ZXVlIjoxNSwiLi4vbG9kYXNoIjoxOX1dLDY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpLHRhcmphbj1yZXF1aXJlKCIuL3RhcmphbiIpO21vZHVsZS5leHBvcnRzPWZpbmRDeWNsZXM7ZnVuY3Rpb24gZmluZEN5Y2xlcyhnKXtyZXR1cm4gXy5maWx0ZXIodGFyamFuKGcpLApmdW5jdGlvbihjbXB0KXtyZXR1cm4gY21wdC5sZW5ndGg+MXx8Y21wdC5sZW5ndGg9PT0xJiZnLmhhc0VkZ2UoY21wdFswXSxjbXB0WzBdKX0pfX0seyIuLi9sb2Rhc2giOjE5LCIuL3RhcmphbiI6MTN9XSw3OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuLi9sb2Rhc2giKTttb2R1bGUuZXhwb3J0cz1mbG95ZFdhcnNoYWxsO3ZhciBERUZBVUxUX1dFSUdIVF9GVU5DPV8uY29uc3RhbnQoMSk7ZnVuY3Rpb24gZmxveWRXYXJzaGFsbChnLHdlaWdodEZuLGVkZ2VGbil7cmV0dXJuIHJ1bkZsb3lkV2Fyc2hhbGwoZyx3ZWlnaHRGbnx8REVGQVVMVF9XRUlHSFRfRlVOQyxlZGdlRm58fGZ1bmN0aW9uKHYpe3JldHVybiBnLm91dEVkZ2VzKHYpfSl9ZnVuY3Rpb24gcnVuRmxveWRXYXJzaGFsbChnLHdlaWdodEZuLGVkZ2VGbil7dmFyIHJlc3VsdHM9e30sbm9kZXM9Zy5ub2RlcygpO25vZGVzLmZvckVhY2goZnVuY3Rpb24odil7cmVzdWx0c1t2XT0Ke307cmVzdWx0c1t2XVt2XT17ZGlzdGFuY2U6MH07bm9kZXMuZm9yRWFjaChmdW5jdGlvbih3KXtpZih2IT09dylyZXN1bHRzW3ZdW3ddPXtkaXN0YW5jZTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFl9fSk7ZWRnZUZuKHYpLmZvckVhY2goZnVuY3Rpb24oZWRnZSl7dmFyIHc9ZWRnZS52PT09dj9lZGdlLnc6ZWRnZS52LGQ9d2VpZ2h0Rm4oZWRnZSk7cmVzdWx0c1t2XVt3XT17ZGlzdGFuY2U6ZCxwcmVkZWNlc3Nvcjp2fX0pfSk7bm9kZXMuZm9yRWFjaChmdW5jdGlvbihrKXt2YXIgcm93Sz1yZXN1bHRzW2tdO25vZGVzLmZvckVhY2goZnVuY3Rpb24oaSl7dmFyIHJvd0k9cmVzdWx0c1tpXTtub2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKGope3ZhciBpaz1yb3dJW2tdO3ZhciBraj1yb3dLW2pdO3ZhciBpaj1yb3dJW2pdO3ZhciBhbHREaXN0YW5jZT1pay5kaXN0YW5jZStrai5kaXN0YW5jZTtpZihhbHREaXN0YW5jZTxpai5kaXN0YW5jZSl7aWouZGlzdGFuY2U9YWx0RGlzdGFuY2U7aWoucHJlZGVjZXNzb3I9CmtqLnByZWRlY2Vzc29yfX0pfSl9KTtyZXR1cm4gcmVzdWx0c319LHsiLi4vbG9kYXNoIjoxOX1dLDg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe21vZHVsZS5leHBvcnRzPXtjb21wb25lbnRzOnJlcXVpcmUoIi4vY29tcG9uZW50cyIpLGRpamtzdHJhOnJlcXVpcmUoIi4vZGlqa3N0cmEiKSxkaWprc3RyYUFsbDpyZXF1aXJlKCIuL2RpamtzdHJhLWFsbCIpLGZpbmRDeWNsZXM6cmVxdWlyZSgiLi9maW5kLWN5Y2xlcyIpLGZsb3lkV2Fyc2hhbGw6cmVxdWlyZSgiLi9mbG95ZC13YXJzaGFsbCIpLGlzQWN5Y2xpYzpyZXF1aXJlKCIuL2lzLWFjeWNsaWMiKSxwb3N0b3JkZXI6cmVxdWlyZSgiLi9wb3N0b3JkZXIiKSxwcmVvcmRlcjpyZXF1aXJlKCIuL3ByZW9yZGVyIikscHJpbTpyZXF1aXJlKCIuL3ByaW0iKSx0YXJqYW46cmVxdWlyZSgiLi90YXJqYW4iKSx0b3Bzb3J0OnJlcXVpcmUoIi4vdG9wc29ydCIpfX0seyIuL2NvbXBvbmVudHMiOjIsIi4vZGlqa3N0cmEiOjUsCiIuL2RpamtzdHJhLWFsbCI6NCwiLi9maW5kLWN5Y2xlcyI6NiwiLi9mbG95ZC13YXJzaGFsbCI6NywiLi9pcy1hY3ljbGljIjo5LCIuL3Bvc3RvcmRlciI6MTAsIi4vcHJlb3JkZXIiOjExLCIuL3ByaW0iOjEyLCIuL3RhcmphbiI6MTMsIi4vdG9wc29ydCI6MTR9XSw5OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgdG9wc29ydD1yZXF1aXJlKCIuL3RvcHNvcnQiKTttb2R1bGUuZXhwb3J0cz1pc0FjeWNsaWM7ZnVuY3Rpb24gaXNBY3ljbGljKGcpe3RyeXt0b3Bzb3J0KGcpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiB0b3Bzb3J0LkN5Y2xlRXhjZXB0aW9uKXJldHVybiBmYWxzZTt0aHJvdyBlO31yZXR1cm4gdHJ1ZX19LHsiLi90b3Bzb3J0IjoxNH1dLDEwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgZGZzPXJlcXVpcmUoIi4vZGZzIik7bW9kdWxlLmV4cG9ydHM9cG9zdG9yZGVyO2Z1bmN0aW9uIHBvc3RvcmRlcihnLHZzKXtyZXR1cm4gZGZzKGcsCnZzLCJwb3N0Iil9fSx7Ii4vZGZzIjozfV0sMTE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBkZnM9cmVxdWlyZSgiLi9kZnMiKTttb2R1bGUuZXhwb3J0cz1wcmVvcmRlcjtmdW5jdGlvbiBwcmVvcmRlcihnLHZzKXtyZXR1cm4gZGZzKGcsdnMsInByZSIpfX0seyIuL2RmcyI6M31dLDEyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuLi9sb2Rhc2giKSxHcmFwaD1yZXF1aXJlKCIuLi9ncmFwaCIpLFByaW9yaXR5UXVldWU9cmVxdWlyZSgiLi4vZGF0YS9wcmlvcml0eS1xdWV1ZSIpO21vZHVsZS5leHBvcnRzPXByaW07ZnVuY3Rpb24gcHJpbShnLHdlaWdodEZ1bmMpe3ZhciByZXN1bHQ9bmV3IEdyYXBoLHBhcmVudHM9e30scHE9bmV3IFByaW9yaXR5UXVldWUsdjtmdW5jdGlvbiB1cGRhdGVOZWlnaGJvcnMoZWRnZSl7dmFyIHc9ZWRnZS52PT09dj9lZGdlLnc6ZWRnZS52LHByaT1wcS5wcmlvcml0eSh3KTtpZihwcmkhPT0KdW5kZWZpbmVkKXt2YXIgZWRnZVdlaWdodD13ZWlnaHRGdW5jKGVkZ2UpO2lmKGVkZ2VXZWlnaHQ8cHJpKXtwYXJlbnRzW3ddPXY7cHEuZGVjcmVhc2UodyxlZGdlV2VpZ2h0KX19fWlmKGcubm9kZUNvdW50KCk9PT0wKXJldHVybiByZXN1bHQ7Xy5lYWNoKGcubm9kZXMoKSxmdW5jdGlvbih2KXtwcS5hZGQodixOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpO3Jlc3VsdC5zZXROb2RlKHYpfSk7cHEuZGVjcmVhc2UoZy5ub2RlcygpWzBdLDApO3ZhciBpbml0PWZhbHNlO3doaWxlKHBxLnNpemUoKT4wKXt2PXBxLnJlbW92ZU1pbigpO2lmKF8uaGFzKHBhcmVudHMsdikpcmVzdWx0LnNldEVkZ2UodixwYXJlbnRzW3ZdKTtlbHNlIGlmKGluaXQpdGhyb3cgbmV3IEVycm9yKCJJbnB1dCBncmFwaCBpcyBub3QgY29ubmVjdGVkOiAiK2cpO2Vsc2UgaW5pdD10cnVlO2cubm9kZUVkZ2VzKHYpLmZvckVhY2godXBkYXRlTmVpZ2hib3JzKX1yZXR1cm4gcmVzdWx0fX0seyIuLi9kYXRhL3ByaW9yaXR5LXF1ZXVlIjoxNSwKIi4uL2dyYXBoIjoxNiwiLi4vbG9kYXNoIjoxOX1dLDEzOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuLi9sb2Rhc2giKTttb2R1bGUuZXhwb3J0cz10YXJqYW47ZnVuY3Rpb24gdGFyamFuKGcpe3ZhciBpbmRleD0wLHN0YWNrPVtdLHZpc2l0ZWQ9e30scmVzdWx0cz1bXTtmdW5jdGlvbiBkZnModil7dmFyIGVudHJ5PXZpc2l0ZWRbdl09e29uU3RhY2s6dHJ1ZSxsb3dsaW5rOmluZGV4LGluZGV4OmluZGV4Kyt9O3N0YWNrLnB1c2godik7Zy5zdWNjZXNzb3JzKHYpLmZvckVhY2goZnVuY3Rpb24odyl7aWYoIV8uaGFzKHZpc2l0ZWQsdykpe2Rmcyh3KTtlbnRyeS5sb3dsaW5rPU1hdGgubWluKGVudHJ5Lmxvd2xpbmssdmlzaXRlZFt3XS5sb3dsaW5rKX1lbHNlIGlmKHZpc2l0ZWRbd10ub25TdGFjayllbnRyeS5sb3dsaW5rPU1hdGgubWluKGVudHJ5Lmxvd2xpbmssdmlzaXRlZFt3XS5pbmRleCl9KTtpZihlbnRyeS5sb3dsaW5rPT09ZW50cnkuaW5kZXgpe3ZhciBjbXB0PQpbXSx3O2Rve3c9c3RhY2sucG9wKCk7dmlzaXRlZFt3XS5vblN0YWNrPWZhbHNlO2NtcHQucHVzaCh3KX13aGlsZSh2IT09dyk7cmVzdWx0cy5wdXNoKGNtcHQpfX1nLm5vZGVzKCkuZm9yRWFjaChmdW5jdGlvbih2KXtpZighXy5oYXModmlzaXRlZCx2KSlkZnModil9KTtyZXR1cm4gcmVzdWx0c319LHsiLi4vbG9kYXNoIjoxOX1dLDE0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuLi9sb2Rhc2giKTttb2R1bGUuZXhwb3J0cz10b3Bzb3J0O3RvcHNvcnQuQ3ljbGVFeGNlcHRpb249Q3ljbGVFeGNlcHRpb247ZnVuY3Rpb24gdG9wc29ydChnKXt2YXIgdmlzaXRlZD17fSxzdGFjaz17fSxyZXN1bHRzPVtdO2Z1bmN0aW9uIHZpc2l0KG5vZGUpe2lmKF8uaGFzKHN0YWNrLG5vZGUpKXRocm93IG5ldyBDeWNsZUV4Y2VwdGlvbjtpZighXy5oYXModmlzaXRlZCxub2RlKSl7c3RhY2tbbm9kZV09dHJ1ZTt2aXNpdGVkW25vZGVdPXRydWU7Xy5lYWNoKGcucHJlZGVjZXNzb3JzKG5vZGUpLAp2aXNpdCk7ZGVsZXRlIHN0YWNrW25vZGVdO3Jlc3VsdHMucHVzaChub2RlKX19Xy5lYWNoKGcuc2lua3MoKSx2aXNpdCk7aWYoXy5zaXplKHZpc2l0ZWQpIT09Zy5ub2RlQ291bnQoKSl0aHJvdyBuZXcgQ3ljbGVFeGNlcHRpb247cmV0dXJuIHJlc3VsdHN9ZnVuY3Rpb24gQ3ljbGVFeGNlcHRpb24oKXt9fSx7Ii4uL2xvZGFzaCI6MTl9XSwxNTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIF89cmVxdWlyZSgiLi4vbG9kYXNoIik7bW9kdWxlLmV4cG9ydHM9UHJpb3JpdHlRdWV1ZTtmdW5jdGlvbiBQcmlvcml0eVF1ZXVlKCl7dGhpcy5fYXJyPVtdO3RoaXMuX2tleUluZGljZXM9e319UHJpb3JpdHlRdWV1ZS5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9hcnIubGVuZ3RofTtQcmlvcml0eVF1ZXVlLnByb3RvdHlwZS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Fyci5tYXAoZnVuY3Rpb24oeCl7cmV0dXJuIHgua2V5fSl9O1ByaW9yaXR5UXVldWUucHJvdG90eXBlLmhhcz0KZnVuY3Rpb24oa2V5KXtyZXR1cm4gXy5oYXModGhpcy5fa2V5SW5kaWNlcyxrZXkpfTtQcmlvcml0eVF1ZXVlLnByb3RvdHlwZS5wcmlvcml0eT1mdW5jdGlvbihrZXkpe3ZhciBpbmRleD10aGlzLl9rZXlJbmRpY2VzW2tleV07aWYoaW5kZXghPT11bmRlZmluZWQpcmV0dXJuIHRoaXMuX2FycltpbmRleF0ucHJpb3JpdHl9O1ByaW9yaXR5UXVldWUucHJvdG90eXBlLm1pbj1mdW5jdGlvbigpe2lmKHRoaXMuc2l6ZSgpPT09MCl0aHJvdyBuZXcgRXJyb3IoIlF1ZXVlIHVuZGVyZmxvdyIpO3JldHVybiB0aGlzLl9hcnJbMF0ua2V5fTtQcmlvcml0eVF1ZXVlLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oa2V5LHByaW9yaXR5KXt2YXIga2V5SW5kaWNlcz10aGlzLl9rZXlJbmRpY2VzO2tleT1TdHJpbmcoa2V5KTtpZighXy5oYXMoa2V5SW5kaWNlcyxrZXkpKXt2YXIgYXJyPXRoaXMuX2Fycjt2YXIgaW5kZXg9YXJyLmxlbmd0aDtrZXlJbmRpY2VzW2tleV09aW5kZXg7YXJyLnB1c2goe2tleTprZXksCnByaW9yaXR5OnByaW9yaXR5fSk7dGhpcy5fZGVjcmVhc2UoaW5kZXgpO3JldHVybiB0cnVlfXJldHVybiBmYWxzZX07UHJpb3JpdHlRdWV1ZS5wcm90b3R5cGUucmVtb3ZlTWluPWZ1bmN0aW9uKCl7dGhpcy5fc3dhcCgwLHRoaXMuX2Fyci5sZW5ndGgtMSk7dmFyIG1pbj10aGlzLl9hcnIucG9wKCk7ZGVsZXRlIHRoaXMuX2tleUluZGljZXNbbWluLmtleV07dGhpcy5faGVhcGlmeSgwKTtyZXR1cm4gbWluLmtleX07UHJpb3JpdHlRdWV1ZS5wcm90b3R5cGUuZGVjcmVhc2U9ZnVuY3Rpb24oa2V5LHByaW9yaXR5KXt2YXIgaW5kZXg9dGhpcy5fa2V5SW5kaWNlc1trZXldO2lmKHByaW9yaXR5PnRoaXMuX2FycltpbmRleF0ucHJpb3JpdHkpdGhyb3cgbmV3IEVycm9yKCJOZXcgcHJpb3JpdHkgaXMgZ3JlYXRlciB0aGFuIGN1cnJlbnQgcHJpb3JpdHkuICIrIktleTogIitrZXkrIiBPbGQ6ICIrdGhpcy5fYXJyW2luZGV4XS5wcmlvcml0eSsiIE5ldzogIitwcmlvcml0eSk7dGhpcy5fYXJyW2luZGV4XS5wcmlvcml0eT0KcHJpb3JpdHk7dGhpcy5fZGVjcmVhc2UoaW5kZXgpfTtQcmlvcml0eVF1ZXVlLnByb3RvdHlwZS5faGVhcGlmeT1mdW5jdGlvbihpKXt2YXIgYXJyPXRoaXMuX2Fycjt2YXIgbD0yKmkscj1sKzEsbGFyZ2VzdD1pO2lmKGw8YXJyLmxlbmd0aCl7bGFyZ2VzdD1hcnJbbF0ucHJpb3JpdHk8YXJyW2xhcmdlc3RdLnByaW9yaXR5P2w6bGFyZ2VzdDtpZihyPGFyci5sZW5ndGgpbGFyZ2VzdD1hcnJbcl0ucHJpb3JpdHk8YXJyW2xhcmdlc3RdLnByaW9yaXR5P3I6bGFyZ2VzdDtpZihsYXJnZXN0IT09aSl7dGhpcy5fc3dhcChpLGxhcmdlc3QpO3RoaXMuX2hlYXBpZnkobGFyZ2VzdCl9fX07UHJpb3JpdHlRdWV1ZS5wcm90b3R5cGUuX2RlY3JlYXNlPWZ1bmN0aW9uKGluZGV4KXt2YXIgYXJyPXRoaXMuX2Fycjt2YXIgcHJpb3JpdHk9YXJyW2luZGV4XS5wcmlvcml0eTt2YXIgcGFyZW50O3doaWxlKGluZGV4IT09MCl7cGFyZW50PWluZGV4Pj4xO2lmKGFycltwYXJlbnRdLnByaW9yaXR5PHByaW9yaXR5KWJyZWFrOwp0aGlzLl9zd2FwKGluZGV4LHBhcmVudCk7aW5kZXg9cGFyZW50fX07UHJpb3JpdHlRdWV1ZS5wcm90b3R5cGUuX3N3YXA9ZnVuY3Rpb24oaSxqKXt2YXIgYXJyPXRoaXMuX2Fycjt2YXIga2V5SW5kaWNlcz10aGlzLl9rZXlJbmRpY2VzO3ZhciBvcmlnQXJyST1hcnJbaV07dmFyIG9yaWdBcnJKPWFycltqXTthcnJbaV09b3JpZ0Fycko7YXJyW2pdPW9yaWdBcnJJO2tleUluZGljZXNbb3JpZ0Fyckoua2V5XT1pO2tleUluZGljZXNbb3JpZ0Fyckkua2V5XT1qfX0seyIuLi9sb2Rhc2giOjE5fV0sMTY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4vbG9kYXNoIik7bW9kdWxlLmV4cG9ydHM9R3JhcGg7dmFyIERFRkFVTFRfRURHRV9OQU1FPSJceDAwIixHUkFQSF9OT0RFPSJceDAwIixFREdFX0tFWV9ERUxJTT0iXHUwMDAxIjtmdW5jdGlvbiBHcmFwaChvcHRzKXt0aGlzLl9pc0RpcmVjdGVkPV8uaGFzKG9wdHMsImRpcmVjdGVkIik/b3B0cy5kaXJlY3RlZDoKdHJ1ZTt0aGlzLl9pc011bHRpZ3JhcGg9Xy5oYXMob3B0cywibXVsdGlncmFwaCIpP29wdHMubXVsdGlncmFwaDpmYWxzZTt0aGlzLl9pc0NvbXBvdW5kPV8uaGFzKG9wdHMsImNvbXBvdW5kIik/b3B0cy5jb21wb3VuZDpmYWxzZTt0aGlzLl9sYWJlbD11bmRlZmluZWQ7dGhpcy5fZGVmYXVsdE5vZGVMYWJlbEZuPV8uY29uc3RhbnQodW5kZWZpbmVkKTt0aGlzLl9kZWZhdWx0RWRnZUxhYmVsRm49Xy5jb25zdGFudCh1bmRlZmluZWQpO3RoaXMuX25vZGVzPXt9O2lmKHRoaXMuX2lzQ29tcG91bmQpe3RoaXMuX3BhcmVudD17fTt0aGlzLl9jaGlsZHJlbj17fTt0aGlzLl9jaGlsZHJlbltHUkFQSF9OT0RFXT17fX10aGlzLl9pbj17fTt0aGlzLl9wcmVkcz17fTt0aGlzLl9vdXQ9e307dGhpcy5fc3Vjcz17fTt0aGlzLl9lZGdlT2Jqcz17fTt0aGlzLl9lZGdlTGFiZWxzPXt9fUdyYXBoLnByb3RvdHlwZS5fbm9kZUNvdW50PTA7R3JhcGgucHJvdG90eXBlLl9lZGdlQ291bnQ9MDtHcmFwaC5wcm90b3R5cGUuaXNEaXJlY3RlZD0KZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNEaXJlY3RlZH07R3JhcGgucHJvdG90eXBlLmlzTXVsdGlncmFwaD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9pc011bHRpZ3JhcGh9O0dyYXBoLnByb3RvdHlwZS5pc0NvbXBvdW5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzQ29tcG91bmR9O0dyYXBoLnByb3RvdHlwZS5zZXRHcmFwaD1mdW5jdGlvbihsYWJlbCl7dGhpcy5fbGFiZWw9bGFiZWw7cmV0dXJuIHRoaXN9O0dyYXBoLnByb3RvdHlwZS5ncmFwaD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9sYWJlbH07R3JhcGgucHJvdG90eXBlLnNldERlZmF1bHROb2RlTGFiZWw9ZnVuY3Rpb24obmV3RGVmYXVsdCl7aWYoIV8uaXNGdW5jdGlvbihuZXdEZWZhdWx0KSluZXdEZWZhdWx0PV8uY29uc3RhbnQobmV3RGVmYXVsdCk7dGhpcy5fZGVmYXVsdE5vZGVMYWJlbEZuPW5ld0RlZmF1bHQ7cmV0dXJuIHRoaXN9O0dyYXBoLnByb3RvdHlwZS5ub2RlQ291bnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbm9kZUNvdW50fTsKR3JhcGgucHJvdG90eXBlLm5vZGVzPWZ1bmN0aW9uKCl7cmV0dXJuIF8ua2V5cyh0aGlzLl9ub2Rlcyl9O0dyYXBoLnByb3RvdHlwZS5zb3VyY2VzPWZ1bmN0aW9uKCl7dmFyIHNlbGY9dGhpcztyZXR1cm4gXy5maWx0ZXIodGhpcy5ub2RlcygpLGZ1bmN0aW9uKHYpe3JldHVybiBfLmlzRW1wdHkoc2VsZi5faW5bdl0pfSl9O0dyYXBoLnByb3RvdHlwZS5zaW5rcz1mdW5jdGlvbigpe3ZhciBzZWxmPXRoaXM7cmV0dXJuIF8uZmlsdGVyKHRoaXMubm9kZXMoKSxmdW5jdGlvbih2KXtyZXR1cm4gXy5pc0VtcHR5KHNlbGYuX291dFt2XSl9KX07R3JhcGgucHJvdG90eXBlLnNldE5vZGVzPWZ1bmN0aW9uKHZzLHZhbHVlKXt2YXIgYXJncz1hcmd1bWVudHM7dmFyIHNlbGY9dGhpcztfLmVhY2godnMsZnVuY3Rpb24odil7aWYoYXJncy5sZW5ndGg+MSlzZWxmLnNldE5vZGUodix2YWx1ZSk7ZWxzZSBzZWxmLnNldE5vZGUodil9KTtyZXR1cm4gdGhpc307R3JhcGgucHJvdG90eXBlLnNldE5vZGU9CmZ1bmN0aW9uKHYsdmFsdWUpe2lmKF8uaGFzKHRoaXMuX25vZGVzLHYpKXtpZihhcmd1bWVudHMubGVuZ3RoPjEpdGhpcy5fbm9kZXNbdl09dmFsdWU7cmV0dXJuIHRoaXN9dGhpcy5fbm9kZXNbdl09YXJndW1lbnRzLmxlbmd0aD4xP3ZhbHVlOnRoaXMuX2RlZmF1bHROb2RlTGFiZWxGbih2KTtpZih0aGlzLl9pc0NvbXBvdW5kKXt0aGlzLl9wYXJlbnRbdl09R1JBUEhfTk9ERTt0aGlzLl9jaGlsZHJlblt2XT17fTt0aGlzLl9jaGlsZHJlbltHUkFQSF9OT0RFXVt2XT10cnVlfXRoaXMuX2luW3ZdPXt9O3RoaXMuX3ByZWRzW3ZdPXt9O3RoaXMuX291dFt2XT17fTt0aGlzLl9zdWNzW3ZdPXt9OysrdGhpcy5fbm9kZUNvdW50O3JldHVybiB0aGlzfTtHcmFwaC5wcm90b3R5cGUubm9kZT1mdW5jdGlvbih2KXtyZXR1cm4gdGhpcy5fbm9kZXNbdl19O0dyYXBoLnByb3RvdHlwZS5oYXNOb2RlPWZ1bmN0aW9uKHYpe3JldHVybiBfLmhhcyh0aGlzLl9ub2Rlcyx2KX07R3JhcGgucHJvdG90eXBlLnJlbW92ZU5vZGU9CmZ1bmN0aW9uKHYpe3ZhciBzZWxmPXRoaXM7aWYoXy5oYXModGhpcy5fbm9kZXMsdikpe3ZhciByZW1vdmVFZGdlPWZ1bmN0aW9uKGUpe3NlbGYucmVtb3ZlRWRnZShzZWxmLl9lZGdlT2Jqc1tlXSl9O2RlbGV0ZSB0aGlzLl9ub2Rlc1t2XTtpZih0aGlzLl9pc0NvbXBvdW5kKXt0aGlzLl9yZW1vdmVGcm9tUGFyZW50c0NoaWxkTGlzdCh2KTtkZWxldGUgdGhpcy5fcGFyZW50W3ZdO18uZWFjaCh0aGlzLmNoaWxkcmVuKHYpLGZ1bmN0aW9uKGNoaWxkKXtzZWxmLnNldFBhcmVudChjaGlsZCl9KTtkZWxldGUgdGhpcy5fY2hpbGRyZW5bdl19Xy5lYWNoKF8ua2V5cyh0aGlzLl9pblt2XSkscmVtb3ZlRWRnZSk7ZGVsZXRlIHRoaXMuX2luW3ZdO2RlbGV0ZSB0aGlzLl9wcmVkc1t2XTtfLmVhY2goXy5rZXlzKHRoaXMuX291dFt2XSkscmVtb3ZlRWRnZSk7ZGVsZXRlIHRoaXMuX291dFt2XTtkZWxldGUgdGhpcy5fc3Vjc1t2XTstLXRoaXMuX25vZGVDb3VudH1yZXR1cm4gdGhpc307R3JhcGgucHJvdG90eXBlLnNldFBhcmVudD0KZnVuY3Rpb24odixwYXJlbnQpe2lmKCF0aGlzLl9pc0NvbXBvdW5kKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNldCBwYXJlbnQgaW4gYSBub24tY29tcG91bmQgZ3JhcGgiKTtpZihfLmlzVW5kZWZpbmVkKHBhcmVudCkpcGFyZW50PUdSQVBIX05PREU7ZWxzZXtwYXJlbnQrPSIiO2Zvcih2YXIgYW5jZXN0b3I9cGFyZW50OyFfLmlzVW5kZWZpbmVkKGFuY2VzdG9yKTthbmNlc3Rvcj10aGlzLnBhcmVudChhbmNlc3RvcikpaWYoYW5jZXN0b3I9PT12KXRocm93IG5ldyBFcnJvcigiU2V0dGluZyAiK3BhcmVudCsiIGFzIHBhcmVudCBvZiAiK3YrIiB3b3VsZCBjcmVhdGUgYSBjeWNsZSIpO3RoaXMuc2V0Tm9kZShwYXJlbnQpfXRoaXMuc2V0Tm9kZSh2KTt0aGlzLl9yZW1vdmVGcm9tUGFyZW50c0NoaWxkTGlzdCh2KTt0aGlzLl9wYXJlbnRbdl09cGFyZW50O3RoaXMuX2NoaWxkcmVuW3BhcmVudF1bdl09dHJ1ZTtyZXR1cm4gdGhpc307R3JhcGgucHJvdG90eXBlLl9yZW1vdmVGcm9tUGFyZW50c0NoaWxkTGlzdD0KZnVuY3Rpb24odil7ZGVsZXRlIHRoaXMuX2NoaWxkcmVuW3RoaXMuX3BhcmVudFt2XV1bdl19O0dyYXBoLnByb3RvdHlwZS5wYXJlbnQ9ZnVuY3Rpb24odil7aWYodGhpcy5faXNDb21wb3VuZCl7dmFyIHBhcmVudD10aGlzLl9wYXJlbnRbdl07aWYocGFyZW50IT09R1JBUEhfTk9ERSlyZXR1cm4gcGFyZW50fX07R3JhcGgucHJvdG90eXBlLmNoaWxkcmVuPWZ1bmN0aW9uKHYpe2lmKF8uaXNVbmRlZmluZWQodikpdj1HUkFQSF9OT0RFO2lmKHRoaXMuX2lzQ29tcG91bmQpe3ZhciBjaGlsZHJlbj10aGlzLl9jaGlsZHJlblt2XTtpZihjaGlsZHJlbilyZXR1cm4gXy5rZXlzKGNoaWxkcmVuKX1lbHNlIGlmKHY9PT1HUkFQSF9OT0RFKXJldHVybiB0aGlzLm5vZGVzKCk7ZWxzZSBpZih0aGlzLmhhc05vZGUodikpcmV0dXJuW119O0dyYXBoLnByb3RvdHlwZS5wcmVkZWNlc3NvcnM9ZnVuY3Rpb24odil7dmFyIHByZWRzVj10aGlzLl9wcmVkc1t2XTtpZihwcmVkc1YpcmV0dXJuIF8ua2V5cyhwcmVkc1YpfTsKR3JhcGgucHJvdG90eXBlLnN1Y2Nlc3NvcnM9ZnVuY3Rpb24odil7dmFyIHN1Y3NWPXRoaXMuX3N1Y3Nbdl07aWYoc3Vjc1YpcmV0dXJuIF8ua2V5cyhzdWNzVil9O0dyYXBoLnByb3RvdHlwZS5uZWlnaGJvcnM9ZnVuY3Rpb24odil7dmFyIHByZWRzPXRoaXMucHJlZGVjZXNzb3JzKHYpO2lmKHByZWRzKXJldHVybiBfLnVuaW9uKHByZWRzLHRoaXMuc3VjY2Vzc29ycyh2KSl9O0dyYXBoLnByb3RvdHlwZS5pc0xlYWY9ZnVuY3Rpb24odil7dmFyIG5laWdoYm9ycztpZih0aGlzLmlzRGlyZWN0ZWQoKSluZWlnaGJvcnM9dGhpcy5zdWNjZXNzb3JzKHYpO2Vsc2UgbmVpZ2hib3JzPXRoaXMubmVpZ2hib3JzKHYpO3JldHVybiBuZWlnaGJvcnMubGVuZ3RoPT09MH07R3JhcGgucHJvdG90eXBlLmZpbHRlck5vZGVzPWZ1bmN0aW9uKGZpbHRlcil7dmFyIGNvcHk9bmV3IHRoaXMuY29uc3RydWN0b3Ioe2RpcmVjdGVkOnRoaXMuX2lzRGlyZWN0ZWQsbXVsdGlncmFwaDp0aGlzLl9pc011bHRpZ3JhcGgsCmNvbXBvdW5kOnRoaXMuX2lzQ29tcG91bmR9KTtjb3B5LnNldEdyYXBoKHRoaXMuZ3JhcGgoKSk7dmFyIHNlbGY9dGhpcztfLmVhY2godGhpcy5fbm9kZXMsZnVuY3Rpb24odmFsdWUsdil7aWYoZmlsdGVyKHYpKWNvcHkuc2V0Tm9kZSh2LHZhbHVlKX0pO18uZWFjaCh0aGlzLl9lZGdlT2JqcyxmdW5jdGlvbihlKXtpZihjb3B5Lmhhc05vZGUoZS52KSYmY29weS5oYXNOb2RlKGUudykpY29weS5zZXRFZGdlKGUsc2VsZi5lZGdlKGUpKX0pO3ZhciBwYXJlbnRzPXt9O2Z1bmN0aW9uIGZpbmRQYXJlbnQodil7dmFyIHBhcmVudD1zZWxmLnBhcmVudCh2KTtpZihwYXJlbnQ9PT11bmRlZmluZWR8fGNvcHkuaGFzTm9kZShwYXJlbnQpKXtwYXJlbnRzW3ZdPXBhcmVudDtyZXR1cm4gcGFyZW50fWVsc2UgaWYocGFyZW50IGluIHBhcmVudHMpcmV0dXJuIHBhcmVudHNbcGFyZW50XTtlbHNlIHJldHVybiBmaW5kUGFyZW50KHBhcmVudCl9aWYodGhpcy5faXNDb21wb3VuZClfLmVhY2goY29weS5ub2RlcygpLApmdW5jdGlvbih2KXtjb3B5LnNldFBhcmVudCh2LGZpbmRQYXJlbnQodikpfSk7cmV0dXJuIGNvcHl9O0dyYXBoLnByb3RvdHlwZS5zZXREZWZhdWx0RWRnZUxhYmVsPWZ1bmN0aW9uKG5ld0RlZmF1bHQpe2lmKCFfLmlzRnVuY3Rpb24obmV3RGVmYXVsdCkpbmV3RGVmYXVsdD1fLmNvbnN0YW50KG5ld0RlZmF1bHQpO3RoaXMuX2RlZmF1bHRFZGdlTGFiZWxGbj1uZXdEZWZhdWx0O3JldHVybiB0aGlzfTtHcmFwaC5wcm90b3R5cGUuZWRnZUNvdW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VkZ2VDb3VudH07R3JhcGgucHJvdG90eXBlLmVkZ2VzPWZ1bmN0aW9uKCl7cmV0dXJuIF8udmFsdWVzKHRoaXMuX2VkZ2VPYmpzKX07R3JhcGgucHJvdG90eXBlLnNldFBhdGg9ZnVuY3Rpb24odnMsdmFsdWUpe3ZhciBzZWxmPXRoaXMsYXJncz1hcmd1bWVudHM7Xy5yZWR1Y2UodnMsZnVuY3Rpb24odix3KXtpZihhcmdzLmxlbmd0aD4xKXNlbGYuc2V0RWRnZSh2LHcsdmFsdWUpO2Vsc2Ugc2VsZi5zZXRFZGdlKHYsCncpO3JldHVybiB3fSk7cmV0dXJuIHRoaXN9O0dyYXBoLnByb3RvdHlwZS5zZXRFZGdlPWZ1bmN0aW9uKCl7dmFyIHYsdyxuYW1lLHZhbHVlLHZhbHVlU3BlY2lmaWVkPWZhbHNlLGFyZzA9YXJndW1lbnRzWzBdO2lmKHR5cGVvZiBhcmcwPT09Im9iamVjdCImJmFyZzAhPT1udWxsJiYidiJpbiBhcmcwKXt2PWFyZzAudjt3PWFyZzAudztuYW1lPWFyZzAubmFtZTtpZihhcmd1bWVudHMubGVuZ3RoPT09Mil7dmFsdWU9YXJndW1lbnRzWzFdO3ZhbHVlU3BlY2lmaWVkPXRydWV9fWVsc2V7dj1hcmcwO3c9YXJndW1lbnRzWzFdO25hbWU9YXJndW1lbnRzWzNdO2lmKGFyZ3VtZW50cy5sZW5ndGg+Mil7dmFsdWU9YXJndW1lbnRzWzJdO3ZhbHVlU3BlY2lmaWVkPXRydWV9fXY9IiIrdjt3PSIiK3c7aWYoIV8uaXNVbmRlZmluZWQobmFtZSkpbmFtZT0iIituYW1lO3ZhciBlPWVkZ2VBcmdzVG9JZCh0aGlzLl9pc0RpcmVjdGVkLHYsdyxuYW1lKTtpZihfLmhhcyh0aGlzLl9lZGdlTGFiZWxzLAplKSl7aWYodmFsdWVTcGVjaWZpZWQpdGhpcy5fZWRnZUxhYmVsc1tlXT12YWx1ZTtyZXR1cm4gdGhpc31pZighXy5pc1VuZGVmaW5lZChuYW1lKSYmIXRoaXMuX2lzTXVsdGlncmFwaCl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXQgYSBuYW1lZCBlZGdlIHdoZW4gaXNNdWx0aWdyYXBoIFx4M2QgZmFsc2UiKTt0aGlzLnNldE5vZGUodik7dGhpcy5zZXROb2RlKHcpO3RoaXMuX2VkZ2VMYWJlbHNbZV09dmFsdWVTcGVjaWZpZWQ/dmFsdWU6dGhpcy5fZGVmYXVsdEVkZ2VMYWJlbEZuKHYsdyxuYW1lKTt2YXIgZWRnZU9iaj1lZGdlQXJnc1RvT2JqKHRoaXMuX2lzRGlyZWN0ZWQsdix3LG5hbWUpO3Y9ZWRnZU9iai52O3c9ZWRnZU9iai53O09iamVjdC5mcmVlemUoZWRnZU9iaik7dGhpcy5fZWRnZU9ianNbZV09ZWRnZU9iajtpbmNyZW1lbnRPckluaXRFbnRyeSh0aGlzLl9wcmVkc1t3XSx2KTtpbmNyZW1lbnRPckluaXRFbnRyeSh0aGlzLl9zdWNzW3ZdLHcpO3RoaXMuX2luW3ddW2VdPQplZGdlT2JqO3RoaXMuX291dFt2XVtlXT1lZGdlT2JqO3RoaXMuX2VkZ2VDb3VudCsrO3JldHVybiB0aGlzfTtHcmFwaC5wcm90b3R5cGUuZWRnZT1mdW5jdGlvbih2LHcsbmFtZSl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD09PTE/ZWRnZU9ialRvSWQodGhpcy5faXNEaXJlY3RlZCxhcmd1bWVudHNbMF0pOmVkZ2VBcmdzVG9JZCh0aGlzLl9pc0RpcmVjdGVkLHYsdyxuYW1lKTtyZXR1cm4gdGhpcy5fZWRnZUxhYmVsc1tlXX07R3JhcGgucHJvdG90eXBlLmhhc0VkZ2U9ZnVuY3Rpb24odix3LG5hbWUpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg9PT0xP2VkZ2VPYmpUb0lkKHRoaXMuX2lzRGlyZWN0ZWQsYXJndW1lbnRzWzBdKTplZGdlQXJnc1RvSWQodGhpcy5faXNEaXJlY3RlZCx2LHcsbmFtZSk7cmV0dXJuIF8uaGFzKHRoaXMuX2VkZ2VMYWJlbHMsZSl9O0dyYXBoLnByb3RvdHlwZS5yZW1vdmVFZGdlPWZ1bmN0aW9uKHYsdyxuYW1lKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPT09MT8KZWRnZU9ialRvSWQodGhpcy5faXNEaXJlY3RlZCxhcmd1bWVudHNbMF0pOmVkZ2VBcmdzVG9JZCh0aGlzLl9pc0RpcmVjdGVkLHYsdyxuYW1lKSxlZGdlPXRoaXMuX2VkZ2VPYmpzW2VdO2lmKGVkZ2Upe3Y9ZWRnZS52O3c9ZWRnZS53O2RlbGV0ZSB0aGlzLl9lZGdlTGFiZWxzW2VdO2RlbGV0ZSB0aGlzLl9lZGdlT2Jqc1tlXTtkZWNyZW1lbnRPclJlbW92ZUVudHJ5KHRoaXMuX3ByZWRzW3ddLHYpO2RlY3JlbWVudE9yUmVtb3ZlRW50cnkodGhpcy5fc3Vjc1t2XSx3KTtkZWxldGUgdGhpcy5faW5bd11bZV07ZGVsZXRlIHRoaXMuX291dFt2XVtlXTt0aGlzLl9lZGdlQ291bnQtLX1yZXR1cm4gdGhpc307R3JhcGgucHJvdG90eXBlLmluRWRnZXM9ZnVuY3Rpb24odix1KXt2YXIgaW5WPXRoaXMuX2luW3ZdO2lmKGluVil7dmFyIGVkZ2VzPV8udmFsdWVzKGluVik7aWYoIXUpcmV0dXJuIGVkZ2VzO3JldHVybiBfLmZpbHRlcihlZGdlcyxmdW5jdGlvbihlZGdlKXtyZXR1cm4gZWRnZS52PT09CnV9KX19O0dyYXBoLnByb3RvdHlwZS5vdXRFZGdlcz1mdW5jdGlvbih2LHcpe3ZhciBvdXRWPXRoaXMuX291dFt2XTtpZihvdXRWKXt2YXIgZWRnZXM9Xy52YWx1ZXMob3V0Vik7aWYoIXcpcmV0dXJuIGVkZ2VzO3JldHVybiBfLmZpbHRlcihlZGdlcyxmdW5jdGlvbihlZGdlKXtyZXR1cm4gZWRnZS53PT09d30pfX07R3JhcGgucHJvdG90eXBlLm5vZGVFZGdlcz1mdW5jdGlvbih2LHcpe3ZhciBpbkVkZ2VzPXRoaXMuaW5FZGdlcyh2LHcpO2lmKGluRWRnZXMpcmV0dXJuIGluRWRnZXMuY29uY2F0KHRoaXMub3V0RWRnZXModix3KSl9O2Z1bmN0aW9uIGluY3JlbWVudE9ySW5pdEVudHJ5KG1hcCxrKXtpZihtYXBba10pbWFwW2tdKys7ZWxzZSBtYXBba109MX1mdW5jdGlvbiBkZWNyZW1lbnRPclJlbW92ZUVudHJ5KG1hcCxrKXtpZighLS1tYXBba10pZGVsZXRlIG1hcFtrXX1mdW5jdGlvbiBlZGdlQXJnc1RvSWQoaXNEaXJlY3RlZCx2Xyx3XyxuYW1lKXt2YXIgdj0iIit2Xzt2YXIgdz0KIiIrd187aWYoIWlzRGlyZWN0ZWQmJnY+dyl7dmFyIHRtcD12O3Y9dzt3PXRtcH1yZXR1cm4gditFREdFX0tFWV9ERUxJTSt3K0VER0VfS0VZX0RFTElNKyhfLmlzVW5kZWZpbmVkKG5hbWUpP0RFRkFVTFRfRURHRV9OQU1FOm5hbWUpfWZ1bmN0aW9uIGVkZ2VBcmdzVG9PYmooaXNEaXJlY3RlZCx2Xyx3XyxuYW1lKXt2YXIgdj0iIit2Xzt2YXIgdz0iIit3XztpZighaXNEaXJlY3RlZCYmdj53KXt2YXIgdG1wPXY7dj13O3c9dG1wfXZhciBlZGdlT2JqPXt2OnYsdzp3fTtpZihuYW1lKWVkZ2VPYmoubmFtZT1uYW1lO3JldHVybiBlZGdlT2JqfWZ1bmN0aW9uIGVkZ2VPYmpUb0lkKGlzRGlyZWN0ZWQsZWRnZU9iail7cmV0dXJuIGVkZ2VBcmdzVG9JZChpc0RpcmVjdGVkLGVkZ2VPYmoudixlZGdlT2JqLncsZWRnZU9iai5uYW1lKX19LHsiLi9sb2Rhc2giOjE5fV0sMTc6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe21vZHVsZS5leHBvcnRzPXtHcmFwaDpyZXF1aXJlKCIuL2dyYXBoIiksCnZlcnNpb246cmVxdWlyZSgiLi92ZXJzaW9uIil9fSx7Ii4vZ3JhcGgiOjE2LCIuL3ZlcnNpb24iOjIwfV0sMTg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4vbG9kYXNoIiksR3JhcGg9cmVxdWlyZSgiLi9ncmFwaCIpO21vZHVsZS5leHBvcnRzPXt3cml0ZTp3cml0ZSxyZWFkOnJlYWR9O2Z1bmN0aW9uIHdyaXRlKGcpe3ZhciBqc29uPXtvcHRpb25zOntkaXJlY3RlZDpnLmlzRGlyZWN0ZWQoKSxtdWx0aWdyYXBoOmcuaXNNdWx0aWdyYXBoKCksY29tcG91bmQ6Zy5pc0NvbXBvdW5kKCl9LG5vZGVzOndyaXRlTm9kZXMoZyksZWRnZXM6d3JpdGVFZGdlcyhnKX07aWYoIV8uaXNVbmRlZmluZWQoZy5ncmFwaCgpKSlqc29uLnZhbHVlPV8uY2xvbmUoZy5ncmFwaCgpKTtyZXR1cm4ganNvbn1mdW5jdGlvbiB3cml0ZU5vZGVzKGcpe3JldHVybiBfLm1hcChnLm5vZGVzKCksZnVuY3Rpb24odil7dmFyIG5vZGVWYWx1ZT1nLm5vZGUodikscGFyZW50PQpnLnBhcmVudCh2KSxub2RlPXt2OnZ9O2lmKCFfLmlzVW5kZWZpbmVkKG5vZGVWYWx1ZSkpbm9kZS52YWx1ZT1ub2RlVmFsdWU7aWYoIV8uaXNVbmRlZmluZWQocGFyZW50KSlub2RlLnBhcmVudD1wYXJlbnQ7cmV0dXJuIG5vZGV9KX1mdW5jdGlvbiB3cml0ZUVkZ2VzKGcpe3JldHVybiBfLm1hcChnLmVkZ2VzKCksZnVuY3Rpb24oZSl7dmFyIGVkZ2VWYWx1ZT1nLmVkZ2UoZSksZWRnZT17djplLnYsdzplLnd9O2lmKCFfLmlzVW5kZWZpbmVkKGUubmFtZSkpZWRnZS5uYW1lPWUubmFtZTtpZighXy5pc1VuZGVmaW5lZChlZGdlVmFsdWUpKWVkZ2UudmFsdWU9ZWRnZVZhbHVlO3JldHVybiBlZGdlfSl9ZnVuY3Rpb24gcmVhZChqc29uKXt2YXIgZz0obmV3IEdyYXBoKGpzb24ub3B0aW9ucykpLnNldEdyYXBoKGpzb24udmFsdWUpO18uZWFjaChqc29uLm5vZGVzLGZ1bmN0aW9uKGVudHJ5KXtnLnNldE5vZGUoZW50cnkudixlbnRyeS52YWx1ZSk7aWYoZW50cnkucGFyZW50KWcuc2V0UGFyZW50KGVudHJ5LnYsCmVudHJ5LnBhcmVudCl9KTtfLmVhY2goanNvbi5lZGdlcyxmdW5jdGlvbihlbnRyeSl7Zy5zZXRFZGdlKHt2OmVudHJ5LnYsdzplbnRyeS53LG5hbWU6ZW50cnkubmFtZX0sZW50cnkudmFsdWUpfSk7cmV0dXJuIGd9fSx7Ii4vZ3JhcGgiOjE2LCIuL2xvZGFzaCI6MTl9XSwxOTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIGxvZGFzaDtpZih0eXBlb2YgcmVxdWlyZT09PSJmdW5jdGlvbiIpdHJ5e2xvZGFzaD1yZXF1aXJlKCJsb2Rhc2giKX1jYXRjaChlKXt9aWYoIWxvZGFzaClsb2Rhc2g9d2luZG93Ll87bW9kdWxlLmV4cG9ydHM9bG9kYXNofSx7ImxvZGFzaCI6dW5kZWZpbmVkfV0sMjA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe21vZHVsZS5leHBvcnRzPSIyLjEuNSJ9LHt9XX0se30sWzFdKSgxKX0pOwooZnVuY3Rpb24oZil7aWYodHlwZW9mIGV4cG9ydHM9PT0ib2JqZWN0IiYmdHlwZW9mIG1vZHVsZSE9PSJ1bmRlZmluZWQiKW1vZHVsZS5leHBvcnRzPWYoKTtlbHNlIGlmKHR5cGVvZiBkZWZpbmU9PT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kKWRlZmluZShbXSxmKTtlbHNle3ZhciBnO2lmKHR5cGVvZiB3aW5kb3chPT0idW5kZWZpbmVkIilnPXdpbmRvdztlbHNlIGlmKHR5cGVvZiBnbG9iYWwhPT0idW5kZWZpbmVkIilnPWdsb2JhbDtlbHNlIGlmKHR5cGVvZiBzZWxmIT09InVuZGVmaW5lZCIpZz1zZWxmO2Vsc2UgZz10aGlzO2cuZGFncmU9ZigpfX0pKGZ1bmN0aW9uKCl7dmFyIGRlZmluZSxtb2R1bGUsZXhwb3J0cztyZXR1cm4gZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PSJmdW5jdGlvbiImJnJlcXVpcmU7aWYoIXUmJmEpcmV0dXJuIGEobywhMCk7aWYoaSlyZXR1cm4gaShvLCEwKTt2YXIgZj0KbmV3IEVycm9yKCJDYW5ub3QgZmluZCBtb2R1bGUgJyIrbysiJyIpO3Rocm93IGYuY29kZT0iTU9EVUxFX05PVF9GT1VORCIsZjt9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09ImZ1bmN0aW9uIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfSh7MTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7bW9kdWxlLmV4cG9ydHM9e2dyYXBobGliOnJlcXVpcmUoIi4vbGliL2dyYXBobGliIiksbGF5b3V0OnJlcXVpcmUoIi4vbGliL2xheW91dCIpLGRlYnVnOnJlcXVpcmUoIi4vbGliL2RlYnVnIiksdXRpbDp7dGltZTpyZXF1aXJlKCIuL2xpYi91dGlsIikudGltZSxub3RpbWU6cmVxdWlyZSgiLi9saWIvdXRpbCIpLm5vdGltZX0sCnZlcnNpb246cmVxdWlyZSgiLi9saWIvdmVyc2lvbiIpfX0seyIuL2xpYi9kZWJ1ZyI6NiwiLi9saWIvZ3JhcGhsaWIiOjcsIi4vbGliL2xheW91dCI6OSwiLi9saWIvdXRpbCI6MjksIi4vbGliL3ZlcnNpb24iOjMwfV0sMjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIF89cmVxdWlyZSgiLi9sb2Rhc2giKSxncmVlZHlGQVM9cmVxdWlyZSgiLi9ncmVlZHktZmFzIik7bW9kdWxlLmV4cG9ydHM9e3J1bjpydW4sdW5kbzp1bmRvfTtmdW5jdGlvbiBydW4oZyl7dmFyIGZhcz1nLmdyYXBoKCkuYWN5Y2xpY2VyPT09ImdyZWVkeSI/Z3JlZWR5RkFTKGcsd2VpZ2h0Rm4oZykpOmRmc0ZBUyhnKTtfLmZvckVhY2goZmFzLGZ1bmN0aW9uKGUpe3ZhciBsYWJlbD1nLmVkZ2UoZSk7Zy5yZW1vdmVFZGdlKGUpO2xhYmVsLmZvcndhcmROYW1lPWUubmFtZTtsYWJlbC5yZXZlcnNlZD10cnVlO2cuc2V0RWRnZShlLncsZS52LGxhYmVsLF8udW5pcXVlSWQoInJldiIpKX0pO2Z1bmN0aW9uIHdlaWdodEZuKGcpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZy5lZGdlKGUpLndlaWdodH19Cn1mdW5jdGlvbiBkZnNGQVMoZyl7dmFyIGZhcz1bXSxzdGFjaz17fSx2aXNpdGVkPXt9O2Z1bmN0aW9uIGRmcyh2KXtpZihfLmhhcyh2aXNpdGVkLHYpKXJldHVybjt2aXNpdGVkW3ZdPXRydWU7c3RhY2tbdl09dHJ1ZTtfLmZvckVhY2goZy5vdXRFZGdlcyh2KSxmdW5jdGlvbihlKXtpZihfLmhhcyhzdGFjayxlLncpKWZhcy5wdXNoKGUpO2Vsc2UgZGZzKGUudyl9KTtkZWxldGUgc3RhY2tbdl19Xy5mb3JFYWNoKGcubm9kZXMoKSxkZnMpO3JldHVybiBmYXN9ZnVuY3Rpb24gdW5kbyhnKXtfLmZvckVhY2goZy5lZGdlcygpLGZ1bmN0aW9uKGUpe3ZhciBsYWJlbD1nLmVkZ2UoZSk7aWYobGFiZWwucmV2ZXJzZWQpe2cucmVtb3ZlRWRnZShlKTt2YXIgZm9yd2FyZE5hbWU9bGFiZWwuZm9yd2FyZE5hbWU7ZGVsZXRlIGxhYmVsLnJldmVyc2VkO2RlbGV0ZSBsYWJlbC5mb3J3YXJkTmFtZTtnLnNldEVkZ2UoZS53LGUudixsYWJlbCxmb3J3YXJkTmFtZSl9fSl9fSx7Ii4vZ3JlZWR5LWZhcyI6OCwKIi4vbG9kYXNoIjoxMH1dLDM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4vbG9kYXNoIiksdXRpbD1yZXF1aXJlKCIuL3V0aWwiKTttb2R1bGUuZXhwb3J0cz1hZGRCb3JkZXJTZWdtZW50cztmdW5jdGlvbiBhZGRCb3JkZXJTZWdtZW50cyhnKXtmdW5jdGlvbiBkZnModil7dmFyIGNoaWxkcmVuPWcuY2hpbGRyZW4odiksbm9kZT1nLm5vZGUodik7aWYoY2hpbGRyZW4ubGVuZ3RoKV8uZm9yRWFjaChjaGlsZHJlbixkZnMpO2lmKF8uaGFzKG5vZGUsIm1pblJhbmsiKSl7bm9kZS5ib3JkZXJMZWZ0PVtdO25vZGUuYm9yZGVyUmlnaHQ9W107Zm9yKHZhciByYW5rPW5vZGUubWluUmFuayxtYXhSYW5rPW5vZGUubWF4UmFuaysxO3Jhbms8bWF4UmFuazsrK3Jhbmspe2FkZEJvcmRlck5vZGUoZywiYm9yZGVyTGVmdCIsIl9ibCIsdixub2RlLHJhbmspO2FkZEJvcmRlck5vZGUoZywiYm9yZGVyUmlnaHQiLCJfYnIiLHYsbm9kZSxyYW5rKX19fV8uZm9yRWFjaChnLmNoaWxkcmVuKCksCmRmcyl9ZnVuY3Rpb24gYWRkQm9yZGVyTm9kZShnLHByb3AscHJlZml4LHNnLHNnTm9kZSxyYW5rKXt2YXIgbGFiZWw9e3dpZHRoOjAsaGVpZ2h0OjAscmFuazpyYW5rLGJvcmRlclR5cGU6cHJvcH0scHJldj1zZ05vZGVbcHJvcF1bcmFuay0xXSxjdXJyPXV0aWwuYWRkRHVtbXlOb2RlKGcsImJvcmRlciIsbGFiZWwscHJlZml4KTtzZ05vZGVbcHJvcF1bcmFua109Y3VycjtnLnNldFBhcmVudChjdXJyLHNnKTtpZihwcmV2KWcuc2V0RWRnZShwcmV2LGN1cnIse3dlaWdodDoxfSl9fSx7Ii4vbG9kYXNoIjoxMCwiLi91dGlsIjoyOX1dLDQ6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4vbG9kYXNoIik7bW9kdWxlLmV4cG9ydHM9e2FkanVzdDphZGp1c3QsdW5kbzp1bmRvfTtmdW5jdGlvbiBhZGp1c3QoZyl7dmFyIHJhbmtEaXI9Zy5ncmFwaCgpLnJhbmtkaXIudG9Mb3dlckNhc2UoKTtpZihyYW5rRGlyPT09ImxyInx8cmFua0Rpcj09PSJybCIpc3dhcFdpZHRoSGVpZ2h0KGcpfQpmdW5jdGlvbiB1bmRvKGcpe3ZhciByYW5rRGlyPWcuZ3JhcGgoKS5yYW5rZGlyLnRvTG93ZXJDYXNlKCk7aWYocmFua0Rpcj09PSJidCJ8fHJhbmtEaXI9PT0icmwiKXJldmVyc2VZKGcpO2lmKHJhbmtEaXI9PT0ibHIifHxyYW5rRGlyPT09InJsIil7c3dhcFhZKGcpO3N3YXBXaWR0aEhlaWdodChnKX19ZnVuY3Rpb24gc3dhcFdpZHRoSGVpZ2h0KGcpe18uZm9yRWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7c3dhcFdpZHRoSGVpZ2h0T25lKGcubm9kZSh2KSl9KTtfLmZvckVhY2goZy5lZGdlcygpLGZ1bmN0aW9uKGUpe3N3YXBXaWR0aEhlaWdodE9uZShnLmVkZ2UoZSkpfSl9ZnVuY3Rpb24gc3dhcFdpZHRoSGVpZ2h0T25lKGF0dHJzKXt2YXIgdz1hdHRycy53aWR0aDthdHRycy53aWR0aD1hdHRycy5oZWlnaHQ7YXR0cnMuaGVpZ2h0PXd9ZnVuY3Rpb24gcmV2ZXJzZVkoZyl7Xy5mb3JFYWNoKGcubm9kZXMoKSxmdW5jdGlvbih2KXtyZXZlcnNlWU9uZShnLm5vZGUodikpfSk7Xy5mb3JFYWNoKGcuZWRnZXMoKSwKZnVuY3Rpb24oZSl7dmFyIGVkZ2U9Zy5lZGdlKGUpO18uZm9yRWFjaChlZGdlLnBvaW50cyxyZXZlcnNlWU9uZSk7aWYoXy5oYXMoZWRnZSwieSIpKXJldmVyc2VZT25lKGVkZ2UpfSl9ZnVuY3Rpb24gcmV2ZXJzZVlPbmUoYXR0cnMpe2F0dHJzLnk9LWF0dHJzLnl9ZnVuY3Rpb24gc3dhcFhZKGcpe18uZm9yRWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7c3dhcFhZT25lKGcubm9kZSh2KSl9KTtfLmZvckVhY2goZy5lZGdlcygpLGZ1bmN0aW9uKGUpe3ZhciBlZGdlPWcuZWRnZShlKTtfLmZvckVhY2goZWRnZS5wb2ludHMsc3dhcFhZT25lKTtpZihfLmhhcyhlZGdlLCJ4Iikpc3dhcFhZT25lKGVkZ2UpfSl9ZnVuY3Rpb24gc3dhcFhZT25lKGF0dHJzKXt2YXIgeD1hdHRycy54O2F0dHJzLng9YXR0cnMueTthdHRycy55PXh9fSx7Ii4vbG9kYXNoIjoxMH1dLDU6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe21vZHVsZS5leHBvcnRzPUxpc3Q7ZnVuY3Rpb24gTGlzdCgpe3ZhciBzZW50aW5lbD0Ke307c2VudGluZWwuX25leHQ9c2VudGluZWwuX3ByZXY9c2VudGluZWw7dGhpcy5fc2VudGluZWw9c2VudGluZWx9TGlzdC5wcm90b3R5cGUuZGVxdWV1ZT1mdW5jdGlvbigpe3ZhciBzZW50aW5lbD10aGlzLl9zZW50aW5lbCxlbnRyeT1zZW50aW5lbC5fcHJldjtpZihlbnRyeSE9PXNlbnRpbmVsKXt1bmxpbmsoZW50cnkpO3JldHVybiBlbnRyeX19O0xpc3QucHJvdG90eXBlLmVucXVldWU9ZnVuY3Rpb24oZW50cnkpe3ZhciBzZW50aW5lbD10aGlzLl9zZW50aW5lbDtpZihlbnRyeS5fcHJldiYmZW50cnkuX25leHQpdW5saW5rKGVudHJ5KTtlbnRyeS5fbmV4dD1zZW50aW5lbC5fbmV4dDtzZW50aW5lbC5fbmV4dC5fcHJldj1lbnRyeTtzZW50aW5lbC5fbmV4dD1lbnRyeTtlbnRyeS5fcHJldj1zZW50aW5lbH07TGlzdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgc3Rycz1bXSxzZW50aW5lbD10aGlzLl9zZW50aW5lbCxjdXJyPXNlbnRpbmVsLl9wcmV2O3doaWxlKGN1cnIhPT0Kc2VudGluZWwpe3N0cnMucHVzaChKU09OLnN0cmluZ2lmeShjdXJyLGZpbHRlck91dExpbmtzKSk7Y3Vycj1jdXJyLl9wcmV2fXJldHVybiJbIitzdHJzLmpvaW4oIiwgIikrIl0ifTtmdW5jdGlvbiB1bmxpbmsoZW50cnkpe2VudHJ5Ll9wcmV2Ll9uZXh0PWVudHJ5Ll9uZXh0O2VudHJ5Ll9uZXh0Ll9wcmV2PWVudHJ5Ll9wcmV2O2RlbGV0ZSBlbnRyeS5fbmV4dDtkZWxldGUgZW50cnkuX3ByZXZ9ZnVuY3Rpb24gZmlsdGVyT3V0TGlua3Moayx2KXtpZihrIT09Il9uZXh0IiYmayE9PSJfcHJldiIpcmV0dXJuIHZ9fSx7fV0sNjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIF89cmVxdWlyZSgiLi9sb2Rhc2giKSx1dGlsPXJlcXVpcmUoIi4vdXRpbCIpLEdyYXBoPXJlcXVpcmUoIi4vZ3JhcGhsaWIiKS5HcmFwaDttb2R1bGUuZXhwb3J0cz17ZGVidWdPcmRlcmluZzpkZWJ1Z09yZGVyaW5nfTtmdW5jdGlvbiBkZWJ1Z09yZGVyaW5nKGcpe3ZhciBsYXllck1hdHJpeD0KdXRpbC5idWlsZExheWVyTWF0cml4KGcpO3ZhciBoPShuZXcgR3JhcGgoe2NvbXBvdW5kOnRydWUsbXVsdGlncmFwaDp0cnVlfSkpLnNldEdyYXBoKHt9KTtfLmZvckVhY2goZy5ub2RlcygpLGZ1bmN0aW9uKHYpe2guc2V0Tm9kZSh2LHtsYWJlbDp2fSk7aC5zZXRQYXJlbnQodiwibGF5ZXIiK2cubm9kZSh2KS5yYW5rKX0pO18uZm9yRWFjaChnLmVkZ2VzKCksZnVuY3Rpb24oZSl7aC5zZXRFZGdlKGUudixlLncse30sZS5uYW1lKX0pO18uZm9yRWFjaChsYXllck1hdHJpeCxmdW5jdGlvbihsYXllcixpKXt2YXIgbGF5ZXJWPSJsYXllciIraTtoLnNldE5vZGUobGF5ZXJWLHtyYW5rOiJzYW1lIn0pO18ucmVkdWNlKGxheWVyLGZ1bmN0aW9uKHUsdil7aC5zZXRFZGdlKHUsdix7c3R5bGU6ImludmlzIn0pO3JldHVybiB2fSl9KTtyZXR1cm4gaH19LHsiLi9ncmFwaGxpYiI6NywiLi9sb2Rhc2giOjEwLCIuL3V0aWwiOjI5fV0sNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIGdyYXBobGliOwppZih0eXBlb2YgcmVxdWlyZT09PSJmdW5jdGlvbiIpdHJ5e2dyYXBobGliPXJlcXVpcmUoImdyYXBobGliIil9Y2F0Y2goZSl7fWlmKCFncmFwaGxpYilncmFwaGxpYj13aW5kb3cuZ3JhcGhsaWI7bW9kdWxlLmV4cG9ydHM9Z3JhcGhsaWJ9LHsiZ3JhcGhsaWIiOnVuZGVmaW5lZH1dLDg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4vbG9kYXNoIiksR3JhcGg9cmVxdWlyZSgiLi9ncmFwaGxpYiIpLkdyYXBoLExpc3Q9cmVxdWlyZSgiLi9kYXRhL2xpc3QiKTttb2R1bGUuZXhwb3J0cz1ncmVlZHlGQVM7dmFyIERFRkFVTFRfV0VJR0hUX0ZOPV8uY29uc3RhbnQoMSk7ZnVuY3Rpb24gZ3JlZWR5RkFTKGcsd2VpZ2h0Rm4pe2lmKGcubm9kZUNvdW50KCk8PTEpcmV0dXJuW107dmFyIHN0YXRlPWJ1aWxkU3RhdGUoZyx3ZWlnaHRGbnx8REVGQVVMVF9XRUlHSFRfRk4pO3ZhciByZXN1bHRzPWRvR3JlZWR5RkFTKHN0YXRlLmdyYXBoLHN0YXRlLmJ1Y2tldHMsCnN0YXRlLnplcm9JZHgpO3JldHVybiBfLmZsYXR0ZW4oXy5tYXAocmVzdWx0cyxmdW5jdGlvbihlKXtyZXR1cm4gZy5vdXRFZGdlcyhlLnYsZS53KX0pLHRydWUpfWZ1bmN0aW9uIGRvR3JlZWR5RkFTKGcsYnVja2V0cyx6ZXJvSWR4KXt2YXIgcmVzdWx0cz1bXSxzb3VyY2VzPWJ1Y2tldHNbYnVja2V0cy5sZW5ndGgtMV0sc2lua3M9YnVja2V0c1swXTt2YXIgZW50cnk7d2hpbGUoZy5ub2RlQ291bnQoKSl7d2hpbGUoZW50cnk9c2lua3MuZGVxdWV1ZSgpKXJlbW92ZU5vZGUoZyxidWNrZXRzLHplcm9JZHgsZW50cnkpO3doaWxlKGVudHJ5PXNvdXJjZXMuZGVxdWV1ZSgpKXJlbW92ZU5vZGUoZyxidWNrZXRzLHplcm9JZHgsZW50cnkpO2lmKGcubm9kZUNvdW50KCkpZm9yKHZhciBpPWJ1Y2tldHMubGVuZ3RoLTI7aT4wOy0taSl7ZW50cnk9YnVja2V0c1tpXS5kZXF1ZXVlKCk7aWYoZW50cnkpe3Jlc3VsdHM9cmVzdWx0cy5jb25jYXQocmVtb3ZlTm9kZShnLGJ1Y2tldHMsemVyb0lkeCwKZW50cnksdHJ1ZSkpO2JyZWFrfX19cmV0dXJuIHJlc3VsdHN9ZnVuY3Rpb24gcmVtb3ZlTm9kZShnLGJ1Y2tldHMsemVyb0lkeCxlbnRyeSxjb2xsZWN0UHJlZGVjZXNzb3JzKXt2YXIgcmVzdWx0cz1jb2xsZWN0UHJlZGVjZXNzb3JzP1tdOnVuZGVmaW5lZDtfLmZvckVhY2goZy5pbkVkZ2VzKGVudHJ5LnYpLGZ1bmN0aW9uKGVkZ2Upe3ZhciB3ZWlnaHQ9Zy5lZGdlKGVkZ2UpLHVFbnRyeT1nLm5vZGUoZWRnZS52KTtpZihjb2xsZWN0UHJlZGVjZXNzb3JzKXJlc3VsdHMucHVzaCh7djplZGdlLnYsdzplZGdlLnd9KTt1RW50cnkub3V0LT13ZWlnaHQ7YXNzaWduQnVja2V0KGJ1Y2tldHMsemVyb0lkeCx1RW50cnkpfSk7Xy5mb3JFYWNoKGcub3V0RWRnZXMoZW50cnkudiksZnVuY3Rpb24oZWRnZSl7dmFyIHdlaWdodD1nLmVkZ2UoZWRnZSksdz1lZGdlLncsd0VudHJ5PWcubm9kZSh3KTt3RW50cnlbImluIl0tPXdlaWdodDthc3NpZ25CdWNrZXQoYnVja2V0cyx6ZXJvSWR4LHdFbnRyeSl9KTsKZy5yZW1vdmVOb2RlKGVudHJ5LnYpO3JldHVybiByZXN1bHRzfWZ1bmN0aW9uIGJ1aWxkU3RhdGUoZyx3ZWlnaHRGbil7dmFyIGZhc0dyYXBoPW5ldyBHcmFwaCxtYXhJbj0wLG1heE91dD0wO18uZm9yRWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7ZmFzR3JhcGguc2V0Tm9kZSh2LHt2OnYsImluIjowLG91dDowfSl9KTtfLmZvckVhY2goZy5lZGdlcygpLGZ1bmN0aW9uKGUpe3ZhciBwcmV2V2VpZ2h0PWZhc0dyYXBoLmVkZ2UoZS52LGUudyl8fDAsd2VpZ2h0PXdlaWdodEZuKGUpLGVkZ2VXZWlnaHQ9cHJldldlaWdodCt3ZWlnaHQ7ZmFzR3JhcGguc2V0RWRnZShlLnYsZS53LGVkZ2VXZWlnaHQpO21heE91dD1NYXRoLm1heChtYXhPdXQsZmFzR3JhcGgubm9kZShlLnYpLm91dCs9d2VpZ2h0KTttYXhJbj1NYXRoLm1heChtYXhJbixmYXNHcmFwaC5ub2RlKGUudylbImluIl0rPXdlaWdodCl9KTt2YXIgYnVja2V0cz1fLnJhbmdlKG1heE91dCttYXhJbiszKS5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IExpc3R9KTsKdmFyIHplcm9JZHg9bWF4SW4rMTtfLmZvckVhY2goZmFzR3JhcGgubm9kZXMoKSxmdW5jdGlvbih2KXthc3NpZ25CdWNrZXQoYnVja2V0cyx6ZXJvSWR4LGZhc0dyYXBoLm5vZGUodikpfSk7cmV0dXJue2dyYXBoOmZhc0dyYXBoLGJ1Y2tldHM6YnVja2V0cyx6ZXJvSWR4Onplcm9JZHh9fWZ1bmN0aW9uIGFzc2lnbkJ1Y2tldChidWNrZXRzLHplcm9JZHgsZW50cnkpe2lmKCFlbnRyeS5vdXQpYnVja2V0c1swXS5lbnF1ZXVlKGVudHJ5KTtlbHNlIGlmKCFlbnRyeVsiaW4iXSlidWNrZXRzW2J1Y2tldHMubGVuZ3RoLTFdLmVucXVldWUoZW50cnkpO2Vsc2UgYnVja2V0c1tlbnRyeS5vdXQtZW50cnlbImluIl0remVyb0lkeF0uZW5xdWV1ZShlbnRyeSl9fSx7Ii4vZGF0YS9saXN0Ijo1LCIuL2dyYXBobGliIjo3LCIuL2xvZGFzaCI6MTB9XSw5OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuL2xvZGFzaCIpLGFjeWNsaWM9cmVxdWlyZSgiLi9hY3ljbGljIiksCm5vcm1hbGl6ZT1yZXF1aXJlKCIuL25vcm1hbGl6ZSIpLHJhbms9cmVxdWlyZSgiLi9yYW5rIiksbm9ybWFsaXplUmFua3M9cmVxdWlyZSgiLi91dGlsIikubm9ybWFsaXplUmFua3MscGFyZW50RHVtbXlDaGFpbnM9cmVxdWlyZSgiLi9wYXJlbnQtZHVtbXktY2hhaW5zIikscmVtb3ZlRW1wdHlSYW5rcz1yZXF1aXJlKCIuL3V0aWwiKS5yZW1vdmVFbXB0eVJhbmtzLG5lc3RpbmdHcmFwaD1yZXF1aXJlKCIuL25lc3RpbmctZ3JhcGgiKSxhZGRCb3JkZXJTZWdtZW50cz1yZXF1aXJlKCIuL2FkZC1ib3JkZXItc2VnbWVudHMiKSxjb29yZGluYXRlU3lzdGVtPXJlcXVpcmUoIi4vY29vcmRpbmF0ZS1zeXN0ZW0iKSxvcmRlcj1yZXF1aXJlKCIuL29yZGVyIikscG9zaXRpb249cmVxdWlyZSgiLi9wb3NpdGlvbiIpLHV0aWw9cmVxdWlyZSgiLi91dGlsIiksR3JhcGg9cmVxdWlyZSgiLi9ncmFwaGxpYiIpLkdyYXBoO21vZHVsZS5leHBvcnRzPWxheW91dDtmdW5jdGlvbiBsYXlvdXQoZyxvcHRzKXt2YXIgdGltZT0Kb3B0cyYmb3B0cy5kZWJ1Z1RpbWluZz91dGlsLnRpbWU6dXRpbC5ub3RpbWU7dGltZSgibGF5b3V0IixmdW5jdGlvbigpe3ZhciBsYXlvdXRHcmFwaD10aW1lKCIgIGJ1aWxkTGF5b3V0R3JhcGgiLGZ1bmN0aW9uKCl7cmV0dXJuIGJ1aWxkTGF5b3V0R3JhcGgoZyl9KTt0aW1lKCIgIHJ1bkxheW91dCIsZnVuY3Rpb24oKXtydW5MYXlvdXQobGF5b3V0R3JhcGgsdGltZSl9KTt0aW1lKCIgIHVwZGF0ZUlucHV0R3JhcGgiLGZ1bmN0aW9uKCl7dXBkYXRlSW5wdXRHcmFwaChnLGxheW91dEdyYXBoKX0pfSl9ZnVuY3Rpb24gcnVuTGF5b3V0KGcsdGltZSl7dGltZSgiICAgIG1ha2VTcGFjZUZvckVkZ2VMYWJlbHMiLGZ1bmN0aW9uKCl7bWFrZVNwYWNlRm9yRWRnZUxhYmVscyhnKX0pO3RpbWUoIiAgICByZW1vdmVTZWxmRWRnZXMiLGZ1bmN0aW9uKCl7cmVtb3ZlU2VsZkVkZ2VzKGcpfSk7dGltZSgiICAgIGFjeWNsaWMiLGZ1bmN0aW9uKCl7YWN5Y2xpYy5ydW4oZyl9KTt0aW1lKCIgICAgbmVzdGluZ0dyYXBoLnJ1biIsCmZ1bmN0aW9uKCl7bmVzdGluZ0dyYXBoLnJ1bihnKX0pO3RpbWUoIiAgICByYW5rIixmdW5jdGlvbigpe3JhbmsodXRpbC5hc05vbkNvbXBvdW5kR3JhcGgoZykpfSk7dGltZSgiICAgIGluamVjdEVkZ2VMYWJlbFByb3hpZXMiLGZ1bmN0aW9uKCl7aW5qZWN0RWRnZUxhYmVsUHJveGllcyhnKX0pO3RpbWUoIiAgICByZW1vdmVFbXB0eVJhbmtzIixmdW5jdGlvbigpe3JlbW92ZUVtcHR5UmFua3MoZyl9KTt0aW1lKCIgICAgbmVzdGluZ0dyYXBoLmNsZWFudXAiLGZ1bmN0aW9uKCl7bmVzdGluZ0dyYXBoLmNsZWFudXAoZyl9KTt0aW1lKCIgICAgbm9ybWFsaXplUmFua3MiLGZ1bmN0aW9uKCl7bm9ybWFsaXplUmFua3MoZyl9KTt0aW1lKCIgICAgYXNzaWduUmFua01pbk1heCIsZnVuY3Rpb24oKXthc3NpZ25SYW5rTWluTWF4KGcpfSk7dGltZSgiICAgIHJlbW92ZUVkZ2VMYWJlbFByb3hpZXMiLGZ1bmN0aW9uKCl7cmVtb3ZlRWRnZUxhYmVsUHJveGllcyhnKX0pO3RpbWUoIiAgICBub3JtYWxpemUucnVuIiwKZnVuY3Rpb24oKXtub3JtYWxpemUucnVuKGcpfSk7dGltZSgiICAgIHBhcmVudER1bW15Q2hhaW5zIixmdW5jdGlvbigpe3BhcmVudER1bW15Q2hhaW5zKGcpfSk7dGltZSgiICAgIGFkZEJvcmRlclNlZ21lbnRzIixmdW5jdGlvbigpe2FkZEJvcmRlclNlZ21lbnRzKGcpfSk7dGltZSgiICAgIG9yZGVyIixmdW5jdGlvbigpe29yZGVyKGcpfSk7dGltZSgiICAgIGluc2VydFNlbGZFZGdlcyIsZnVuY3Rpb24oKXtpbnNlcnRTZWxmRWRnZXMoZyl9KTt0aW1lKCIgICAgYWRqdXN0Q29vcmRpbmF0ZVN5c3RlbSIsZnVuY3Rpb24oKXtjb29yZGluYXRlU3lzdGVtLmFkanVzdChnKX0pO3RpbWUoIiAgICBwb3NpdGlvbiIsZnVuY3Rpb24oKXtwb3NpdGlvbihnKX0pO3RpbWUoIiAgICBwb3NpdGlvblNlbGZFZGdlcyIsZnVuY3Rpb24oKXtwb3NpdGlvblNlbGZFZGdlcyhnKX0pO3RpbWUoIiAgICByZW1vdmVCb3JkZXJOb2RlcyIsZnVuY3Rpb24oKXtyZW1vdmVCb3JkZXJOb2RlcyhnKX0pO3RpbWUoIiAgICBub3JtYWxpemUudW5kbyIsCmZ1bmN0aW9uKCl7bm9ybWFsaXplLnVuZG8oZyl9KTt0aW1lKCIgICAgZml4dXBFZGdlTGFiZWxDb29yZHMiLGZ1bmN0aW9uKCl7Zml4dXBFZGdlTGFiZWxDb29yZHMoZyl9KTt0aW1lKCIgICAgdW5kb0Nvb3JkaW5hdGVTeXN0ZW0iLGZ1bmN0aW9uKCl7Y29vcmRpbmF0ZVN5c3RlbS51bmRvKGcpfSk7dGltZSgiICAgIHRyYW5zbGF0ZUdyYXBoIixmdW5jdGlvbigpe3RyYW5zbGF0ZUdyYXBoKGcpfSk7dGltZSgiICAgIGFzc2lnbk5vZGVJbnRlcnNlY3RzIixmdW5jdGlvbigpe2Fzc2lnbk5vZGVJbnRlcnNlY3RzKGcpfSk7dGltZSgiICAgIHJldmVyc2VQb2ludHMiLGZ1bmN0aW9uKCl7cmV2ZXJzZVBvaW50c0ZvclJldmVyc2VkRWRnZXMoZyl9KTt0aW1lKCIgICAgYWN5Y2xpYy51bmRvIixmdW5jdGlvbigpe2FjeWNsaWMudW5kbyhnKX0pfWZ1bmN0aW9uIHVwZGF0ZUlucHV0R3JhcGgoaW5wdXRHcmFwaCxsYXlvdXRHcmFwaCl7Xy5mb3JFYWNoKGlucHV0R3JhcGgubm9kZXMoKSxmdW5jdGlvbih2KXt2YXIgaW5wdXRMYWJlbD0KaW5wdXRHcmFwaC5ub2RlKHYpLGxheW91dExhYmVsPWxheW91dEdyYXBoLm5vZGUodik7aWYoaW5wdXRMYWJlbCl7aW5wdXRMYWJlbC54PWxheW91dExhYmVsLng7aW5wdXRMYWJlbC55PWxheW91dExhYmVsLnk7aWYobGF5b3V0R3JhcGguY2hpbGRyZW4odikubGVuZ3RoKXtpbnB1dExhYmVsLndpZHRoPWxheW91dExhYmVsLndpZHRoO2lucHV0TGFiZWwuaGVpZ2h0PWxheW91dExhYmVsLmhlaWdodH19fSk7Xy5mb3JFYWNoKGlucHV0R3JhcGguZWRnZXMoKSxmdW5jdGlvbihlKXt2YXIgaW5wdXRMYWJlbD1pbnB1dEdyYXBoLmVkZ2UoZSksbGF5b3V0TGFiZWw9bGF5b3V0R3JhcGguZWRnZShlKTtpbnB1dExhYmVsLnBvaW50cz1sYXlvdXRMYWJlbC5wb2ludHM7aWYoXy5oYXMobGF5b3V0TGFiZWwsIngiKSl7aW5wdXRMYWJlbC54PWxheW91dExhYmVsLng7aW5wdXRMYWJlbC55PWxheW91dExhYmVsLnl9fSk7aW5wdXRHcmFwaC5ncmFwaCgpLndpZHRoPWxheW91dEdyYXBoLmdyYXBoKCkud2lkdGg7CmlucHV0R3JhcGguZ3JhcGgoKS5oZWlnaHQ9bGF5b3V0R3JhcGguZ3JhcGgoKS5oZWlnaHR9dmFyIGdyYXBoTnVtQXR0cnM9WyJub2Rlc2VwIiwiZWRnZXNlcCIsInJhbmtzZXAiLCJtYXJnaW54IiwibWFyZ2lueSJdLGdyYXBoRGVmYXVsdHM9e3JhbmtzZXA6NTAsZWRnZXNlcDoyMCxub2Rlc2VwOjUwLHJhbmtkaXI6InRiIn0sZ3JhcGhBdHRycz1bImFjeWNsaWNlciIsInJhbmtlciIsInJhbmtkaXIiLCJhbGlnbiJdLG5vZGVOdW1BdHRycz1bIndpZHRoIiwiaGVpZ2h0Il0sbm9kZURlZmF1bHRzPXt3aWR0aDowLGhlaWdodDowfSxlZGdlTnVtQXR0cnM9WyJtaW5sZW4iLCJ3ZWlnaHQiLCJ3aWR0aCIsImhlaWdodCIsImxhYmVsb2Zmc2V0Il0sZWRnZURlZmF1bHRzPXttaW5sZW46MSx3ZWlnaHQ6MSx3aWR0aDowLGhlaWdodDowLGxhYmVsb2Zmc2V0OjEwLGxhYmVscG9zOiJyIn0sZWRnZUF0dHJzPVsibGFiZWxwb3MiXTtmdW5jdGlvbiBidWlsZExheW91dEdyYXBoKGlucHV0R3JhcGgpe3ZhciBnPQpuZXcgR3JhcGgoe211bHRpZ3JhcGg6dHJ1ZSxjb21wb3VuZDp0cnVlfSksZ3JhcGg9Y2Fub25pY2FsaXplKGlucHV0R3JhcGguZ3JhcGgoKSk7Zy5zZXRHcmFwaChfLm1lcmdlKHt9LGdyYXBoRGVmYXVsdHMsc2VsZWN0TnVtYmVyQXR0cnMoZ3JhcGgsZ3JhcGhOdW1BdHRycyksXy5waWNrKGdyYXBoLGdyYXBoQXR0cnMpKSk7Xy5mb3JFYWNoKGlucHV0R3JhcGgubm9kZXMoKSxmdW5jdGlvbih2KXt2YXIgbm9kZT1jYW5vbmljYWxpemUoaW5wdXRHcmFwaC5ub2RlKHYpKTtnLnNldE5vZGUodixfLmRlZmF1bHRzKHNlbGVjdE51bWJlckF0dHJzKG5vZGUsbm9kZU51bUF0dHJzKSxub2RlRGVmYXVsdHMpKTtnLnNldFBhcmVudCh2LGlucHV0R3JhcGgucGFyZW50KHYpKX0pO18uZm9yRWFjaChpbnB1dEdyYXBoLmVkZ2VzKCksZnVuY3Rpb24oZSl7dmFyIGVkZ2U9Y2Fub25pY2FsaXplKGlucHV0R3JhcGguZWRnZShlKSk7Zy5zZXRFZGdlKGUsXy5tZXJnZSh7fSxlZGdlRGVmYXVsdHMsc2VsZWN0TnVtYmVyQXR0cnMoZWRnZSwKZWRnZU51bUF0dHJzKSxfLnBpY2soZWRnZSxlZGdlQXR0cnMpKSl9KTtyZXR1cm4gZ31mdW5jdGlvbiBtYWtlU3BhY2VGb3JFZGdlTGFiZWxzKGcpe3ZhciBncmFwaD1nLmdyYXBoKCk7Z3JhcGgucmFua3NlcC89MjtfLmZvckVhY2goZy5lZGdlcygpLGZ1bmN0aW9uKGUpe3ZhciBlZGdlPWcuZWRnZShlKTtlZGdlLm1pbmxlbio9MjtpZihlZGdlLmxhYmVscG9zLnRvTG93ZXJDYXNlKCkhPT0iYyIpaWYoZ3JhcGgucmFua2Rpcj09PSJUQiJ8fGdyYXBoLnJhbmtkaXI9PT0iQlQiKWVkZ2Uud2lkdGgrPWVkZ2UubGFiZWxvZmZzZXQ7ZWxzZSBlZGdlLmhlaWdodCs9ZWRnZS5sYWJlbG9mZnNldH0pfWZ1bmN0aW9uIGluamVjdEVkZ2VMYWJlbFByb3hpZXMoZyl7Xy5mb3JFYWNoKGcuZWRnZXMoKSxmdW5jdGlvbihlKXt2YXIgZWRnZT1nLmVkZ2UoZSk7aWYoZWRnZS53aWR0aCYmZWRnZS5oZWlnaHQpe3ZhciB2PWcubm9kZShlLnYpLHc9Zy5ub2RlKGUudyksbGFiZWw9e3Jhbms6KHcucmFuay0Kdi5yYW5rKS8yK3YucmFuayxlOmV9O3V0aWwuYWRkRHVtbXlOb2RlKGcsImVkZ2UtcHJveHkiLGxhYmVsLCJfZXAiKX19KX1mdW5jdGlvbiBhc3NpZ25SYW5rTWluTWF4KGcpe3ZhciBtYXhSYW5rPTA7Xy5mb3JFYWNoKGcubm9kZXMoKSxmdW5jdGlvbih2KXt2YXIgbm9kZT1nLm5vZGUodik7aWYobm9kZS5ib3JkZXJUb3Ape25vZGUubWluUmFuaz1nLm5vZGUobm9kZS5ib3JkZXJUb3ApLnJhbms7bm9kZS5tYXhSYW5rPWcubm9kZShub2RlLmJvcmRlckJvdHRvbSkucmFuazttYXhSYW5rPV8ubWF4KG1heFJhbmssbm9kZS5tYXhSYW5rKX19KTtnLmdyYXBoKCkubWF4UmFuaz1tYXhSYW5rfWZ1bmN0aW9uIHJlbW92ZUVkZ2VMYWJlbFByb3hpZXMoZyl7Xy5mb3JFYWNoKGcubm9kZXMoKSxmdW5jdGlvbih2KXt2YXIgbm9kZT1nLm5vZGUodik7aWYobm9kZS5kdW1teT09PSJlZGdlLXByb3h5Iil7Zy5lZGdlKG5vZGUuZSkubGFiZWxSYW5rPW5vZGUucmFuaztnLnJlbW92ZU5vZGUodil9fSl9CmZ1bmN0aW9uIHRyYW5zbGF0ZUdyYXBoKGcpe3ZhciBtaW5YPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxtYXhYPTAsbWluWT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksbWF4WT0wLGdyYXBoTGFiZWw9Zy5ncmFwaCgpLG1hcmdpblg9Z3JhcGhMYWJlbC5tYXJnaW54fHwwLG1hcmdpblk9Z3JhcGhMYWJlbC5tYXJnaW55fHwwO2Z1bmN0aW9uIGdldEV4dHJlbWVzKGF0dHJzKXt2YXIgeD1hdHRycy54LHk9YXR0cnMueSx3PWF0dHJzLndpZHRoLGg9YXR0cnMuaGVpZ2h0O21pblg9TWF0aC5taW4obWluWCx4LXcvMik7bWF4WD1NYXRoLm1heChtYXhYLHgrdy8yKTttaW5ZPU1hdGgubWluKG1pblkseS1oLzIpO21heFk9TWF0aC5tYXgobWF4WSx5K2gvMil9Xy5mb3JFYWNoKGcubm9kZXMoKSxmdW5jdGlvbih2KXtnZXRFeHRyZW1lcyhnLm5vZGUodikpfSk7Xy5mb3JFYWNoKGcuZWRnZXMoKSxmdW5jdGlvbihlKXt2YXIgZWRnZT1nLmVkZ2UoZSk7aWYoXy5oYXMoZWRnZSwieCIpKWdldEV4dHJlbWVzKGVkZ2UpfSk7Cm1pblgtPW1hcmdpblg7bWluWS09bWFyZ2luWTtfLmZvckVhY2goZy5ub2RlcygpLGZ1bmN0aW9uKHYpe3ZhciBub2RlPWcubm9kZSh2KTtub2RlLngtPW1pblg7bm9kZS55LT1taW5ZfSk7Xy5mb3JFYWNoKGcuZWRnZXMoKSxmdW5jdGlvbihlKXt2YXIgZWRnZT1nLmVkZ2UoZSk7Xy5mb3JFYWNoKGVkZ2UucG9pbnRzLGZ1bmN0aW9uKHApe3AueC09bWluWDtwLnktPW1pbll9KTtpZihfLmhhcyhlZGdlLCJ4IikpZWRnZS54LT1taW5YO2lmKF8uaGFzKGVkZ2UsInkiKSllZGdlLnktPW1pbll9KTtncmFwaExhYmVsLndpZHRoPW1heFgtbWluWCttYXJnaW5YO2dyYXBoTGFiZWwuaGVpZ2h0PW1heFktbWluWSttYXJnaW5ZfWZ1bmN0aW9uIGFzc2lnbk5vZGVJbnRlcnNlY3RzKGcpe18uZm9yRWFjaChnLmVkZ2VzKCksZnVuY3Rpb24oZSl7dmFyIGVkZ2U9Zy5lZGdlKGUpLG5vZGVWPWcubm9kZShlLnYpLG5vZGVXPWcubm9kZShlLncpLHAxLHAyO2lmKCFlZGdlLnBvaW50cyl7ZWRnZS5wb2ludHM9CltdO3AxPW5vZGVXO3AyPW5vZGVWfWVsc2V7cDE9ZWRnZS5wb2ludHNbMF07cDI9ZWRnZS5wb2ludHNbZWRnZS5wb2ludHMubGVuZ3RoLTFdfWVkZ2UucG9pbnRzLnVuc2hpZnQodXRpbC5pbnRlcnNlY3RSZWN0KG5vZGVWLHAxKSk7ZWRnZS5wb2ludHMucHVzaCh1dGlsLmludGVyc2VjdFJlY3Qobm9kZVcscDIpKX0pfWZ1bmN0aW9uIGZpeHVwRWRnZUxhYmVsQ29vcmRzKGcpe18uZm9yRWFjaChnLmVkZ2VzKCksZnVuY3Rpb24oZSl7dmFyIGVkZ2U9Zy5lZGdlKGUpO2lmKF8uaGFzKGVkZ2UsIngiKSl7aWYoZWRnZS5sYWJlbHBvcz09PSJsInx8ZWRnZS5sYWJlbHBvcz09PSJyIillZGdlLndpZHRoLT1lZGdlLmxhYmVsb2Zmc2V0O3N3aXRjaChlZGdlLmxhYmVscG9zKXtjYXNlICJsIjplZGdlLngtPWVkZ2Uud2lkdGgvMitlZGdlLmxhYmVsb2Zmc2V0O2JyZWFrO2Nhc2UgInIiOmVkZ2UueCs9ZWRnZS53aWR0aC8yK2VkZ2UubGFiZWxvZmZzZXQ7YnJlYWt9fX0pfWZ1bmN0aW9uIHJldmVyc2VQb2ludHNGb3JSZXZlcnNlZEVkZ2VzKGcpe18uZm9yRWFjaChnLmVkZ2VzKCksCmZ1bmN0aW9uKGUpe3ZhciBlZGdlPWcuZWRnZShlKTtpZihlZGdlLnJldmVyc2VkKWVkZ2UucG9pbnRzLnJldmVyc2UoKX0pfWZ1bmN0aW9uIHJlbW92ZUJvcmRlck5vZGVzKGcpe18uZm9yRWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7aWYoZy5jaGlsZHJlbih2KS5sZW5ndGgpe3ZhciBub2RlPWcubm9kZSh2KSx0PWcubm9kZShub2RlLmJvcmRlclRvcCksYj1nLm5vZGUobm9kZS5ib3JkZXJCb3R0b20pLGw9Zy5ub2RlKF8ubGFzdChub2RlLmJvcmRlckxlZnQpKSxyPWcubm9kZShfLmxhc3Qobm9kZS5ib3JkZXJSaWdodCkpO25vZGUud2lkdGg9TWF0aC5hYnMoci54LWwueCk7bm9kZS5oZWlnaHQ9TWF0aC5hYnMoYi55LXQueSk7bm9kZS54PWwueCtub2RlLndpZHRoLzI7bm9kZS55PXQueStub2RlLmhlaWdodC8yfX0pO18uZm9yRWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7aWYoZy5ub2RlKHYpLmR1bW15PT09ImJvcmRlciIpZy5yZW1vdmVOb2RlKHYpfSl9ZnVuY3Rpb24gcmVtb3ZlU2VsZkVkZ2VzKGcpe18uZm9yRWFjaChnLmVkZ2VzKCksCmZ1bmN0aW9uKGUpe2lmKGUudj09PWUudyl7dmFyIG5vZGU9Zy5ub2RlKGUudik7aWYoIW5vZGUuc2VsZkVkZ2VzKW5vZGUuc2VsZkVkZ2VzPVtdO25vZGUuc2VsZkVkZ2VzLnB1c2goe2U6ZSxsYWJlbDpnLmVkZ2UoZSl9KTtnLnJlbW92ZUVkZ2UoZSl9fSl9ZnVuY3Rpb24gaW5zZXJ0U2VsZkVkZ2VzKGcpe3ZhciBsYXllcnM9dXRpbC5idWlsZExheWVyTWF0cml4KGcpO18uZm9yRWFjaChsYXllcnMsZnVuY3Rpb24obGF5ZXIpe3ZhciBvcmRlclNoaWZ0PTA7Xy5mb3JFYWNoKGxheWVyLGZ1bmN0aW9uKHYsaSl7dmFyIG5vZGU9Zy5ub2RlKHYpO25vZGUub3JkZXI9aStvcmRlclNoaWZ0O18uZm9yRWFjaChub2RlLnNlbGZFZGdlcyxmdW5jdGlvbihzZWxmRWRnZSl7dXRpbC5hZGREdW1teU5vZGUoZywic2VsZmVkZ2UiLHt3aWR0aDpzZWxmRWRnZS5sYWJlbC53aWR0aCxoZWlnaHQ6c2VsZkVkZ2UubGFiZWwuaGVpZ2h0LHJhbms6bm9kZS5yYW5rLG9yZGVyOmkrICsrb3JkZXJTaGlmdCwKZTpzZWxmRWRnZS5lLGxhYmVsOnNlbGZFZGdlLmxhYmVsfSwiX3NlIil9KTtkZWxldGUgbm9kZS5zZWxmRWRnZXN9KX0pfWZ1bmN0aW9uIHBvc2l0aW9uU2VsZkVkZ2VzKGcpe18uZm9yRWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7dmFyIG5vZGU9Zy5ub2RlKHYpO2lmKG5vZGUuZHVtbXk9PT0ic2VsZmVkZ2UiKXt2YXIgc2VsZk5vZGU9Zy5ub2RlKG5vZGUuZS52KSx4PXNlbGZOb2RlLngrc2VsZk5vZGUud2lkdGgvMix5PXNlbGZOb2RlLnksZHg9bm9kZS54LXgsZHk9c2VsZk5vZGUuaGVpZ2h0LzI7Zy5zZXRFZGdlKG5vZGUuZSxub2RlLmxhYmVsKTtnLnJlbW92ZU5vZGUodik7bm9kZS5sYWJlbC5wb2ludHM9W3t4OngrMipkeC8zLHk6eS1keX0se3g6eCs1KmR4LzYseTp5LWR5fSx7eDp4K2R4LHk6eX0se3g6eCs1KmR4LzYseTp5K2R5fSx7eDp4KzIqZHgvMyx5OnkrZHl9XTtub2RlLmxhYmVsLng9bm9kZS54O25vZGUubGFiZWwueT1ub2RlLnl9fSl9ZnVuY3Rpb24gc2VsZWN0TnVtYmVyQXR0cnMob2JqLAphdHRycyl7cmV0dXJuIF8ubWFwVmFsdWVzKF8ucGljayhvYmosYXR0cnMpLE51bWJlcil9ZnVuY3Rpb24gY2Fub25pY2FsaXplKGF0dHJzKXt2YXIgbmV3QXR0cnM9e307Xy5mb3JFYWNoKGF0dHJzLGZ1bmN0aW9uKHYsayl7bmV3QXR0cnNbay50b0xvd2VyQ2FzZSgpXT12fSk7cmV0dXJuIG5ld0F0dHJzfX0seyIuL2FjeWNsaWMiOjIsIi4vYWRkLWJvcmRlci1zZWdtZW50cyI6MywiLi9jb29yZGluYXRlLXN5c3RlbSI6NCwiLi9ncmFwaGxpYiI6NywiLi9sb2Rhc2giOjEwLCIuL25lc3RpbmctZ3JhcGgiOjExLCIuL25vcm1hbGl6ZSI6MTIsIi4vb3JkZXIiOjE3LCIuL3BhcmVudC1kdW1teS1jaGFpbnMiOjIyLCIuL3Bvc2l0aW9uIjoyNCwiLi9yYW5rIjoyNiwiLi91dGlsIjoyOX1dLDEwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgbG9kYXNoO2lmKHR5cGVvZiByZXF1aXJlPT09ImZ1bmN0aW9uIil0cnl7bG9kYXNoPXJlcXVpcmUoImxvZGFzaCIpfWNhdGNoKGUpe31pZighbG9kYXNoKWxvZGFzaD0Kd2luZG93Ll87bW9kdWxlLmV4cG9ydHM9bG9kYXNofSx7ImxvZGFzaCI6dW5kZWZpbmVkfV0sMTE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4vbG9kYXNoIiksdXRpbD1yZXF1aXJlKCIuL3V0aWwiKTttb2R1bGUuZXhwb3J0cz17cnVuOnJ1bixjbGVhbnVwOmNsZWFudXB9O2Z1bmN0aW9uIHJ1bihnKXt2YXIgcm9vdD11dGlsLmFkZER1bW15Tm9kZShnLCJyb290Iix7fSwiX3Jvb3QiKTt2YXIgZGVwdGhzPXRyZWVEZXB0aHMoZyk7dmFyIGhlaWdodD1fLm1heChfLnZhbHVlcyhkZXB0aHMpKS0xO3ZhciBub2RlU2VwPTIqaGVpZ2h0KzE7Zy5ncmFwaCgpLm5lc3RpbmdSb290PXJvb3Q7Xy5mb3JFYWNoKGcuZWRnZXMoKSxmdW5jdGlvbihlKXtnLmVkZ2UoZSkubWlubGVuKj1ub2RlU2VwfSk7dmFyIHdlaWdodD1zdW1XZWlnaHRzKGcpKzE7Xy5mb3JFYWNoKGcuY2hpbGRyZW4oKSxmdW5jdGlvbihjaGlsZCl7ZGZzKGcscm9vdCxub2RlU2VwLAp3ZWlnaHQsaGVpZ2h0LGRlcHRocyxjaGlsZCl9KTtnLmdyYXBoKCkubm9kZVJhbmtGYWN0b3I9bm9kZVNlcH1mdW5jdGlvbiBkZnMoZyxyb290LG5vZGVTZXAsd2VpZ2h0LGhlaWdodCxkZXB0aHMsdil7dmFyIGNoaWxkcmVuPWcuY2hpbGRyZW4odik7aWYoIWNoaWxkcmVuLmxlbmd0aCl7aWYodiE9PXJvb3QpZy5zZXRFZGdlKHJvb3Qsdix7d2VpZ2h0OjAsbWlubGVuOm5vZGVTZXB9KTtyZXR1cm59dmFyIHRvcD11dGlsLmFkZEJvcmRlck5vZGUoZywiX2J0IiksYm90dG9tPXV0aWwuYWRkQm9yZGVyTm9kZShnLCJfYmIiKSxsYWJlbD1nLm5vZGUodik7Zy5zZXRQYXJlbnQodG9wLHYpO2xhYmVsLmJvcmRlclRvcD10b3A7Zy5zZXRQYXJlbnQoYm90dG9tLHYpO2xhYmVsLmJvcmRlckJvdHRvbT1ib3R0b207Xy5mb3JFYWNoKGNoaWxkcmVuLGZ1bmN0aW9uKGNoaWxkKXtkZnMoZyxyb290LG5vZGVTZXAsd2VpZ2h0LGhlaWdodCxkZXB0aHMsY2hpbGQpO3ZhciBjaGlsZE5vZGU9Zy5ub2RlKGNoaWxkKSwKY2hpbGRUb3A9Y2hpbGROb2RlLmJvcmRlclRvcD9jaGlsZE5vZGUuYm9yZGVyVG9wOmNoaWxkLGNoaWxkQm90dG9tPWNoaWxkTm9kZS5ib3JkZXJCb3R0b20/Y2hpbGROb2RlLmJvcmRlckJvdHRvbTpjaGlsZCx0aGlzV2VpZ2h0PWNoaWxkTm9kZS5ib3JkZXJUb3A/d2VpZ2h0OjIqd2VpZ2h0LG1pbmxlbj1jaGlsZFRvcCE9PWNoaWxkQm90dG9tPzE6aGVpZ2h0LWRlcHRoc1t2XSsxO2cuc2V0RWRnZSh0b3AsY2hpbGRUb3Ase3dlaWdodDp0aGlzV2VpZ2h0LG1pbmxlbjptaW5sZW4sbmVzdGluZ0VkZ2U6dHJ1ZX0pO2cuc2V0RWRnZShjaGlsZEJvdHRvbSxib3R0b20se3dlaWdodDp0aGlzV2VpZ2h0LG1pbmxlbjptaW5sZW4sbmVzdGluZ0VkZ2U6dHJ1ZX0pfSk7aWYoIWcucGFyZW50KHYpKWcuc2V0RWRnZShyb290LHRvcCx7d2VpZ2h0OjAsbWlubGVuOmhlaWdodCtkZXB0aHNbdl19KX1mdW5jdGlvbiB0cmVlRGVwdGhzKGcpe3ZhciBkZXB0aHM9e307ZnVuY3Rpb24gZGZzKHYsZGVwdGgpe3ZhciBjaGlsZHJlbj0KZy5jaGlsZHJlbih2KTtpZihjaGlsZHJlbiYmY2hpbGRyZW4ubGVuZ3RoKV8uZm9yRWFjaChjaGlsZHJlbixmdW5jdGlvbihjaGlsZCl7ZGZzKGNoaWxkLGRlcHRoKzEpfSk7ZGVwdGhzW3ZdPWRlcHRofV8uZm9yRWFjaChnLmNoaWxkcmVuKCksZnVuY3Rpb24odil7ZGZzKHYsMSl9KTtyZXR1cm4gZGVwdGhzfWZ1bmN0aW9uIHN1bVdlaWdodHMoZyl7cmV0dXJuIF8ucmVkdWNlKGcuZWRnZXMoKSxmdW5jdGlvbihhY2MsZSl7cmV0dXJuIGFjYytnLmVkZ2UoZSkud2VpZ2h0fSwwKX1mdW5jdGlvbiBjbGVhbnVwKGcpe3ZhciBncmFwaExhYmVsPWcuZ3JhcGgoKTtnLnJlbW92ZU5vZGUoZ3JhcGhMYWJlbC5uZXN0aW5nUm9vdCk7ZGVsZXRlIGdyYXBoTGFiZWwubmVzdGluZ1Jvb3Q7Xy5mb3JFYWNoKGcuZWRnZXMoKSxmdW5jdGlvbihlKXt2YXIgZWRnZT1nLmVkZ2UoZSk7aWYoZWRnZS5uZXN0aW5nRWRnZSlnLnJlbW92ZUVkZ2UoZSl9KX19LHsiLi9sb2Rhc2giOjEwLCIuL3V0aWwiOjI5fV0sCjEyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuL2xvZGFzaCIpLHV0aWw9cmVxdWlyZSgiLi91dGlsIik7bW9kdWxlLmV4cG9ydHM9e3J1bjpydW4sdW5kbzp1bmRvfTtmdW5jdGlvbiBydW4oZyl7Zy5ncmFwaCgpLmR1bW15Q2hhaW5zPVtdO18uZm9yRWFjaChnLmVkZ2VzKCksZnVuY3Rpb24oZWRnZSl7bm9ybWFsaXplRWRnZShnLGVkZ2UpfSl9ZnVuY3Rpb24gbm9ybWFsaXplRWRnZShnLGUpe3ZhciB2PWUudix2UmFuaz1nLm5vZGUodikucmFuayx3PWUudyx3UmFuaz1nLm5vZGUodykucmFuayxuYW1lPWUubmFtZSxlZGdlTGFiZWw9Zy5lZGdlKGUpLGxhYmVsUmFuaz1lZGdlTGFiZWwubGFiZWxSYW5rO2lmKHdSYW5rPT09dlJhbmsrMSlyZXR1cm47Zy5yZW1vdmVFZGdlKGUpO3ZhciBkdW1teSxhdHRycyxpO2ZvcihpPTAsKyt2UmFuazt2UmFuazx3UmFuazsrK2ksKyt2UmFuayl7ZWRnZUxhYmVsLnBvaW50cz1bXTthdHRycz17d2lkdGg6MCwKaGVpZ2h0OjAsZWRnZUxhYmVsOmVkZ2VMYWJlbCxlZGdlT2JqOmUscmFuazp2UmFua307ZHVtbXk9dXRpbC5hZGREdW1teU5vZGUoZywiZWRnZSIsYXR0cnMsIl9kIik7aWYodlJhbms9PT1sYWJlbFJhbmspe2F0dHJzLndpZHRoPWVkZ2VMYWJlbC53aWR0aDthdHRycy5oZWlnaHQ9ZWRnZUxhYmVsLmhlaWdodDthdHRycy5kdW1teT0iZWRnZS1sYWJlbCI7YXR0cnMubGFiZWxwb3M9ZWRnZUxhYmVsLmxhYmVscG9zfWcuc2V0RWRnZSh2LGR1bW15LHt3ZWlnaHQ6ZWRnZUxhYmVsLndlaWdodH0sbmFtZSk7aWYoaT09PTApZy5ncmFwaCgpLmR1bW15Q2hhaW5zLnB1c2goZHVtbXkpO3Y9ZHVtbXl9Zy5zZXRFZGdlKHYsdyx7d2VpZ2h0OmVkZ2VMYWJlbC53ZWlnaHR9LG5hbWUpfWZ1bmN0aW9uIHVuZG8oZyl7Xy5mb3JFYWNoKGcuZ3JhcGgoKS5kdW1teUNoYWlucyxmdW5jdGlvbih2KXt2YXIgbm9kZT1nLm5vZGUodiksb3JpZ0xhYmVsPW5vZGUuZWRnZUxhYmVsLHc7Zy5zZXRFZGdlKG5vZGUuZWRnZU9iaiwKb3JpZ0xhYmVsKTt3aGlsZShub2RlLmR1bW15KXt3PWcuc3VjY2Vzc29ycyh2KVswXTtnLnJlbW92ZU5vZGUodik7b3JpZ0xhYmVsLnBvaW50cy5wdXNoKHt4Om5vZGUueCx5Om5vZGUueX0pO2lmKG5vZGUuZHVtbXk9PT0iZWRnZS1sYWJlbCIpe29yaWdMYWJlbC54PW5vZGUueDtvcmlnTGFiZWwueT1ub2RlLnk7b3JpZ0xhYmVsLndpZHRoPW5vZGUud2lkdGg7b3JpZ0xhYmVsLmhlaWdodD1ub2RlLmhlaWdodH12PXc7bm9kZT1nLm5vZGUodil9fSl9fSx7Ii4vbG9kYXNoIjoxMCwiLi91dGlsIjoyOX1dLDEzOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuLi9sb2Rhc2giKTttb2R1bGUuZXhwb3J0cz1hZGRTdWJncmFwaENvbnN0cmFpbnRzO2Z1bmN0aW9uIGFkZFN1YmdyYXBoQ29uc3RyYWludHMoZyxjZyx2cyl7dmFyIHByZXY9e30scm9vdFByZXY7Xy5mb3JFYWNoKHZzLGZ1bmN0aW9uKHYpe3ZhciBjaGlsZD1nLnBhcmVudCh2KSxwYXJlbnQsCnByZXZDaGlsZDt3aGlsZShjaGlsZCl7cGFyZW50PWcucGFyZW50KGNoaWxkKTtpZihwYXJlbnQpe3ByZXZDaGlsZD1wcmV2W3BhcmVudF07cHJldltwYXJlbnRdPWNoaWxkfWVsc2V7cHJldkNoaWxkPXJvb3RQcmV2O3Jvb3RQcmV2PWNoaWxkfWlmKHByZXZDaGlsZCYmcHJldkNoaWxkIT09Y2hpbGQpe2NnLnNldEVkZ2UocHJldkNoaWxkLGNoaWxkKTtyZXR1cm59Y2hpbGQ9cGFyZW50fX0pfX0seyIuLi9sb2Rhc2giOjEwfV0sMTQ6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpO21vZHVsZS5leHBvcnRzPWJhcnljZW50ZXI7ZnVuY3Rpb24gYmFyeWNlbnRlcihnLG1vdmFibGUpe3JldHVybiBfLm1hcChtb3ZhYmxlLGZ1bmN0aW9uKHYpe3ZhciBpblY9Zy5pbkVkZ2VzKHYpO2lmKCFpblYubGVuZ3RoKXJldHVybnt2OnZ9O2Vsc2V7dmFyIHJlc3VsdD1fLnJlZHVjZShpblYsZnVuY3Rpb24oYWNjLGUpe3ZhciBlZGdlPWcuZWRnZShlKSwKbm9kZVU9Zy5ub2RlKGUudik7cmV0dXJue3N1bTphY2Muc3VtK2VkZ2Uud2VpZ2h0Km5vZGVVLm9yZGVyLHdlaWdodDphY2Mud2VpZ2h0K2VkZ2Uud2VpZ2h0fX0se3N1bTowLHdlaWdodDowfSk7cmV0dXJue3Y6dixiYXJ5Y2VudGVyOnJlc3VsdC5zdW0vcmVzdWx0LndlaWdodCx3ZWlnaHQ6cmVzdWx0LndlaWdodH19fSl9fSx7Ii4uL2xvZGFzaCI6MTB9XSwxNTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIF89cmVxdWlyZSgiLi4vbG9kYXNoIiksR3JhcGg9cmVxdWlyZSgiLi4vZ3JhcGhsaWIiKS5HcmFwaDttb2R1bGUuZXhwb3J0cz1idWlsZExheWVyR3JhcGg7ZnVuY3Rpb24gYnVpbGRMYXllckdyYXBoKGcscmFuayxyZWxhdGlvbnNoaXApe3ZhciByb290PWNyZWF0ZVJvb3ROb2RlKGcpLHJlc3VsdD0obmV3IEdyYXBoKHtjb21wb3VuZDp0cnVlfSkpLnNldEdyYXBoKHtyb290OnJvb3R9KS5zZXREZWZhdWx0Tm9kZUxhYmVsKGZ1bmN0aW9uKHYpe3JldHVybiBnLm5vZGUodil9KTsKXy5mb3JFYWNoKGcubm9kZXMoKSxmdW5jdGlvbih2KXt2YXIgbm9kZT1nLm5vZGUodikscGFyZW50PWcucGFyZW50KHYpO2lmKG5vZGUucmFuaz09PXJhbmt8fG5vZGUubWluUmFuazw9cmFuayYmcmFuazw9bm9kZS5tYXhSYW5rKXtyZXN1bHQuc2V0Tm9kZSh2KTtyZXN1bHQuc2V0UGFyZW50KHYscGFyZW50fHxyb290KTtfLmZvckVhY2goZ1tyZWxhdGlvbnNoaXBdKHYpLGZ1bmN0aW9uKGUpe3ZhciB1PWUudj09PXY/ZS53OmUudixlZGdlPXJlc3VsdC5lZGdlKHUsdiksd2VpZ2h0PSFfLmlzVW5kZWZpbmVkKGVkZ2UpP2VkZ2Uud2VpZ2h0OjA7cmVzdWx0LnNldEVkZ2UodSx2LHt3ZWlnaHQ6Zy5lZGdlKGUpLndlaWdodCt3ZWlnaHR9KX0pO2lmKF8uaGFzKG5vZGUsIm1pblJhbmsiKSlyZXN1bHQuc2V0Tm9kZSh2LHtib3JkZXJMZWZ0Om5vZGUuYm9yZGVyTGVmdFtyYW5rXSxib3JkZXJSaWdodDpub2RlLmJvcmRlclJpZ2h0W3JhbmtdfSl9fSk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBjcmVhdGVSb290Tm9kZShnKXt2YXIgdjsKd2hpbGUoZy5oYXNOb2RlKHY9Xy51bmlxdWVJZCgiX3Jvb3QiKSkpO3JldHVybiB2fX0seyIuLi9ncmFwaGxpYiI6NywiLi4vbG9kYXNoIjoxMH1dLDE2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuLi9sb2Rhc2giKTttb2R1bGUuZXhwb3J0cz1jcm9zc0NvdW50O2Z1bmN0aW9uIGNyb3NzQ291bnQoZyxsYXllcmluZyl7dmFyIGNjPTA7Zm9yKHZhciBpPTE7aTxsYXllcmluZy5sZW5ndGg7KytpKWNjKz10d29MYXllckNyb3NzQ291bnQoZyxsYXllcmluZ1tpLTFdLGxheWVyaW5nW2ldKTtyZXR1cm4gY2N9ZnVuY3Rpb24gdHdvTGF5ZXJDcm9zc0NvdW50KGcsbm9ydGhMYXllcixzb3V0aExheWVyKXt2YXIgc291dGhQb3M9Xy56aXBPYmplY3Qoc291dGhMYXllcixfLm1hcChzb3V0aExheWVyLGZ1bmN0aW9uKHYsaSl7cmV0dXJuIGl9KSk7dmFyIHNvdXRoRW50cmllcz1fLmZsYXR0ZW4oXy5tYXAobm9ydGhMYXllcixmdW5jdGlvbih2KXtyZXR1cm4gXy5jaGFpbihnLm91dEVkZ2VzKHYpKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJue3Bvczpzb3V0aFBvc1tlLnddLAp3ZWlnaHQ6Zy5lZGdlKGUpLndlaWdodH19KS5zb3J0QnkoInBvcyIpLnZhbHVlKCl9KSx0cnVlKTt2YXIgZmlyc3RJbmRleD0xO3doaWxlKGZpcnN0SW5kZXg8c291dGhMYXllci5sZW5ndGgpZmlyc3RJbmRleDw8PTE7dmFyIHRyZWVTaXplPTIqZmlyc3RJbmRleC0xO2ZpcnN0SW5kZXgtPTE7dmFyIHRyZWU9Xy5tYXAobmV3IEFycmF5KHRyZWVTaXplKSxmdW5jdGlvbigpe3JldHVybiAwfSk7dmFyIGNjPTA7Xy5mb3JFYWNoKHNvdXRoRW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uKGVudHJ5KXt2YXIgaW5kZXg9ZW50cnkucG9zK2ZpcnN0SW5kZXg7dHJlZVtpbmRleF0rPWVudHJ5LndlaWdodDt2YXIgd2VpZ2h0U3VtPTA7d2hpbGUoaW5kZXg+MCl7aWYoaW5kZXglMil3ZWlnaHRTdW0rPXRyZWVbaW5kZXgrMV07aW5kZXg9aW5kZXgtMT4+MTt0cmVlW2luZGV4XSs9ZW50cnkud2VpZ2h0fWNjKz1lbnRyeS53ZWlnaHQqd2VpZ2h0U3VtfSkpO3JldHVybiBjY319LHsiLi4vbG9kYXNoIjoxMH1dLAoxNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIF89cmVxdWlyZSgiLi4vbG9kYXNoIiksaW5pdE9yZGVyPXJlcXVpcmUoIi4vaW5pdC1vcmRlciIpLGNyb3NzQ291bnQ9cmVxdWlyZSgiLi9jcm9zcy1jb3VudCIpLHNvcnRTdWJncmFwaD1yZXF1aXJlKCIuL3NvcnQtc3ViZ3JhcGgiKSxidWlsZExheWVyR3JhcGg9cmVxdWlyZSgiLi9idWlsZC1sYXllci1ncmFwaCIpLGFkZFN1YmdyYXBoQ29uc3RyYWludHM9cmVxdWlyZSgiLi9hZGQtc3ViZ3JhcGgtY29uc3RyYWludHMiKSxHcmFwaD1yZXF1aXJlKCIuLi9ncmFwaGxpYiIpLkdyYXBoLHV0aWw9cmVxdWlyZSgiLi4vdXRpbCIpO21vZHVsZS5leHBvcnRzPW9yZGVyO2Z1bmN0aW9uIG9yZGVyKGcpe3ZhciBtYXhSYW5rPXV0aWwubWF4UmFuayhnKSxkb3duTGF5ZXJHcmFwaHM9YnVpbGRMYXllckdyYXBocyhnLF8ucmFuZ2UoMSxtYXhSYW5rKzEpLCJpbkVkZ2VzIiksdXBMYXllckdyYXBocz1idWlsZExheWVyR3JhcGhzKGcsCl8ucmFuZ2UobWF4UmFuay0xLC0xLC0xKSwib3V0RWRnZXMiKTt2YXIgbGF5ZXJpbmc9aW5pdE9yZGVyKGcpO2Fzc2lnbk9yZGVyKGcsbGF5ZXJpbmcpO3ZhciBiZXN0Q0M9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLGJlc3Q7Zm9yKHZhciBpPTAsbGFzdEJlc3Q9MDtsYXN0QmVzdDw0OysraSwrK2xhc3RCZXN0KXtzd2VlcExheWVyR3JhcGhzKGklMj9kb3duTGF5ZXJHcmFwaHM6dXBMYXllckdyYXBocyxpJTQ+PTIpO2xheWVyaW5nPXV0aWwuYnVpbGRMYXllck1hdHJpeChnKTt2YXIgY2M9Y3Jvc3NDb3VudChnLGxheWVyaW5nKTtpZihjYzxiZXN0Q0Mpe2xhc3RCZXN0PTA7YmVzdD1fLmNsb25lRGVlcChsYXllcmluZyk7YmVzdENDPWNjfX1hc3NpZ25PcmRlcihnLGJlc3QpfWZ1bmN0aW9uIGJ1aWxkTGF5ZXJHcmFwaHMoZyxyYW5rcyxyZWxhdGlvbnNoaXApe3JldHVybiBfLm1hcChyYW5rcyxmdW5jdGlvbihyYW5rKXtyZXR1cm4gYnVpbGRMYXllckdyYXBoKGcscmFuayxyZWxhdGlvbnNoaXApfSl9CmZ1bmN0aW9uIHN3ZWVwTGF5ZXJHcmFwaHMobGF5ZXJHcmFwaHMsYmlhc1JpZ2h0KXt2YXIgY2c9bmV3IEdyYXBoO18uZm9yRWFjaChsYXllckdyYXBocyxmdW5jdGlvbihsZyl7dmFyIHJvb3Q9bGcuZ3JhcGgoKS5yb290O3ZhciBzb3J0ZWQ9c29ydFN1YmdyYXBoKGxnLHJvb3QsY2csYmlhc1JpZ2h0KTtfLmZvckVhY2goc29ydGVkLnZzLGZ1bmN0aW9uKHYsaSl7bGcubm9kZSh2KS5vcmRlcj1pfSk7YWRkU3ViZ3JhcGhDb25zdHJhaW50cyhsZyxjZyxzb3J0ZWQudnMpfSl9ZnVuY3Rpb24gYXNzaWduT3JkZXIoZyxsYXllcmluZyl7Xy5mb3JFYWNoKGxheWVyaW5nLGZ1bmN0aW9uKGxheWVyKXtfLmZvckVhY2gobGF5ZXIsZnVuY3Rpb24odixpKXtnLm5vZGUodikub3JkZXI9aX0pfSl9fSx7Ii4uL2dyYXBobGliIjo3LCIuLi9sb2Rhc2giOjEwLCIuLi91dGlsIjoyOSwiLi9hZGQtc3ViZ3JhcGgtY29uc3RyYWludHMiOjEzLCIuL2J1aWxkLWxheWVyLWdyYXBoIjoxNSwiLi9jcm9zcy1jb3VudCI6MTYsCiIuL2luaXQtb3JkZXIiOjE4LCIuL3NvcnQtc3ViZ3JhcGgiOjIwfV0sMTg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpO21vZHVsZS5leHBvcnRzPWluaXRPcmRlcjtmdW5jdGlvbiBpbml0T3JkZXIoZyl7dmFyIHZpc2l0ZWQ9e30sc2ltcGxlTm9kZXM9Xy5maWx0ZXIoZy5ub2RlcygpLGZ1bmN0aW9uKHYpe3JldHVybiFnLmNoaWxkcmVuKHYpLmxlbmd0aH0pLG1heFJhbms9Xy5tYXgoXy5tYXAoc2ltcGxlTm9kZXMsZnVuY3Rpb24odil7cmV0dXJuIGcubm9kZSh2KS5yYW5rfSkpLGxheWVycz1fLm1hcChfLnJhbmdlKG1heFJhbmsrMSksZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2Z1bmN0aW9uIGRmcyh2KXtpZihfLmhhcyh2aXNpdGVkLHYpKXJldHVybjt2aXNpdGVkW3ZdPXRydWU7dmFyIG5vZGU9Zy5ub2RlKHYpO2xheWVyc1tub2RlLnJhbmtdLnB1c2godik7Xy5mb3JFYWNoKGcuc3VjY2Vzc29ycyh2KSxkZnMpfXZhciBvcmRlcmVkVnM9Cl8uc29ydEJ5KHNpbXBsZU5vZGVzLGZ1bmN0aW9uKHYpe3JldHVybiBnLm5vZGUodikucmFua30pO18uZm9yRWFjaChvcmRlcmVkVnMsZGZzKTtyZXR1cm4gbGF5ZXJzfX0seyIuLi9sb2Rhc2giOjEwfV0sMTk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpO21vZHVsZS5leHBvcnRzPXJlc29sdmVDb25mbGljdHM7ZnVuY3Rpb24gcmVzb2x2ZUNvbmZsaWN0cyhlbnRyaWVzLGNnKXt2YXIgbWFwcGVkRW50cmllcz17fTtfLmZvckVhY2goZW50cmllcyxmdW5jdGlvbihlbnRyeSxpKXt2YXIgdG1wPW1hcHBlZEVudHJpZXNbZW50cnkudl09e2luZGVncmVlOjAsImluIjpbXSxvdXQ6W10sdnM6W2VudHJ5LnZdLGk6aX07aWYoIV8uaXNVbmRlZmluZWQoZW50cnkuYmFyeWNlbnRlcikpe3RtcC5iYXJ5Y2VudGVyPWVudHJ5LmJhcnljZW50ZXI7dG1wLndlaWdodD1lbnRyeS53ZWlnaHR9fSk7Xy5mb3JFYWNoKGNnLmVkZ2VzKCksZnVuY3Rpb24oZSl7dmFyIGVudHJ5Vj0KbWFwcGVkRW50cmllc1tlLnZdLGVudHJ5Vz1tYXBwZWRFbnRyaWVzW2Uud107aWYoIV8uaXNVbmRlZmluZWQoZW50cnlWKSYmIV8uaXNVbmRlZmluZWQoZW50cnlXKSl7ZW50cnlXLmluZGVncmVlKys7ZW50cnlWLm91dC5wdXNoKG1hcHBlZEVudHJpZXNbZS53XSl9fSk7dmFyIHNvdXJjZVNldD1fLmZpbHRlcihtYXBwZWRFbnRyaWVzLGZ1bmN0aW9uKGVudHJ5KXtyZXR1cm4hZW50cnkuaW5kZWdyZWV9KTtyZXR1cm4gZG9SZXNvbHZlQ29uZmxpY3RzKHNvdXJjZVNldCl9ZnVuY3Rpb24gZG9SZXNvbHZlQ29uZmxpY3RzKHNvdXJjZVNldCl7dmFyIGVudHJpZXM9W107ZnVuY3Rpb24gaGFuZGxlSW4odkVudHJ5KXtyZXR1cm4gZnVuY3Rpb24odUVudHJ5KXtpZih1RW50cnkubWVyZ2VkKXJldHVybjtpZihfLmlzVW5kZWZpbmVkKHVFbnRyeS5iYXJ5Y2VudGVyKXx8Xy5pc1VuZGVmaW5lZCh2RW50cnkuYmFyeWNlbnRlcil8fHVFbnRyeS5iYXJ5Y2VudGVyPj12RW50cnkuYmFyeWNlbnRlciltZXJnZUVudHJpZXModkVudHJ5LAp1RW50cnkpfX1mdW5jdGlvbiBoYW5kbGVPdXQodkVudHJ5KXtyZXR1cm4gZnVuY3Rpb24od0VudHJ5KXt3RW50cnlbImluIl0ucHVzaCh2RW50cnkpO2lmKC0td0VudHJ5LmluZGVncmVlPT09MClzb3VyY2VTZXQucHVzaCh3RW50cnkpfX13aGlsZShzb3VyY2VTZXQubGVuZ3RoKXt2YXIgZW50cnk9c291cmNlU2V0LnBvcCgpO2VudHJpZXMucHVzaChlbnRyeSk7Xy5mb3JFYWNoKGVudHJ5WyJpbiJdLnJldmVyc2UoKSxoYW5kbGVJbihlbnRyeSkpO18uZm9yRWFjaChlbnRyeS5vdXQsaGFuZGxlT3V0KGVudHJ5KSl9cmV0dXJuIF8uY2hhaW4oZW50cmllcykuZmlsdGVyKGZ1bmN0aW9uKGVudHJ5KXtyZXR1cm4hZW50cnkubWVyZ2VkfSkubWFwKGZ1bmN0aW9uKGVudHJ5KXtyZXR1cm4gXy5waWNrKGVudHJ5LFsidnMiLCJpIiwiYmFyeWNlbnRlciIsIndlaWdodCJdKX0pLnZhbHVlKCl9ZnVuY3Rpb24gbWVyZ2VFbnRyaWVzKHRhcmdldCxzb3VyY2Upe3ZhciBzdW09MCx3ZWlnaHQ9MDsKaWYodGFyZ2V0LndlaWdodCl7c3VtKz10YXJnZXQuYmFyeWNlbnRlcip0YXJnZXQud2VpZ2h0O3dlaWdodCs9dGFyZ2V0LndlaWdodH1pZihzb3VyY2Uud2VpZ2h0KXtzdW0rPXNvdXJjZS5iYXJ5Y2VudGVyKnNvdXJjZS53ZWlnaHQ7d2VpZ2h0Kz1zb3VyY2Uud2VpZ2h0fXRhcmdldC52cz1zb3VyY2UudnMuY29uY2F0KHRhcmdldC52cyk7dGFyZ2V0LmJhcnljZW50ZXI9c3VtL3dlaWdodDt0YXJnZXQud2VpZ2h0PXdlaWdodDt0YXJnZXQuaT1NYXRoLm1pbihzb3VyY2UuaSx0YXJnZXQuaSk7c291cmNlLm1lcmdlZD10cnVlfX0seyIuLi9sb2Rhc2giOjEwfV0sMjA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpLGJhcnljZW50ZXI9cmVxdWlyZSgiLi9iYXJ5Y2VudGVyIikscmVzb2x2ZUNvbmZsaWN0cz1yZXF1aXJlKCIuL3Jlc29sdmUtY29uZmxpY3RzIiksc29ydD1yZXF1aXJlKCIuL3NvcnQiKTttb2R1bGUuZXhwb3J0cz0Kc29ydFN1YmdyYXBoO2Z1bmN0aW9uIHNvcnRTdWJncmFwaChnLHYsY2csYmlhc1JpZ2h0KXt2YXIgbW92YWJsZT1nLmNoaWxkcmVuKHYpLG5vZGU9Zy5ub2RlKHYpLGJsPW5vZGU/bm9kZS5ib3JkZXJMZWZ0OnVuZGVmaW5lZCxicj1ub2RlP25vZGUuYm9yZGVyUmlnaHQ6dW5kZWZpbmVkLHN1YmdyYXBocz17fTtpZihibCltb3ZhYmxlPV8uZmlsdGVyKG1vdmFibGUsZnVuY3Rpb24odyl7cmV0dXJuIHchPT1ibCYmdyE9PWJyfSk7dmFyIGJhcnljZW50ZXJzPWJhcnljZW50ZXIoZyxtb3ZhYmxlKTtfLmZvckVhY2goYmFyeWNlbnRlcnMsZnVuY3Rpb24oZW50cnkpe2lmKGcuY2hpbGRyZW4oZW50cnkudikubGVuZ3RoKXt2YXIgc3ViZ3JhcGhSZXN1bHQ9c29ydFN1YmdyYXBoKGcsZW50cnkudixjZyxiaWFzUmlnaHQpO3N1YmdyYXBoc1tlbnRyeS52XT1zdWJncmFwaFJlc3VsdDtpZihfLmhhcyhzdWJncmFwaFJlc3VsdCwiYmFyeWNlbnRlciIpKW1lcmdlQmFyeWNlbnRlcnMoZW50cnksCnN1YmdyYXBoUmVzdWx0KX19KTt2YXIgZW50cmllcz1yZXNvbHZlQ29uZmxpY3RzKGJhcnljZW50ZXJzLGNnKTtleHBhbmRTdWJncmFwaHMoZW50cmllcyxzdWJncmFwaHMpO3ZhciByZXN1bHQ9c29ydChlbnRyaWVzLGJpYXNSaWdodCk7aWYoYmwpe3Jlc3VsdC52cz1fLmZsYXR0ZW4oW2JsLHJlc3VsdC52cyxicl0sdHJ1ZSk7aWYoZy5wcmVkZWNlc3NvcnMoYmwpLmxlbmd0aCl7dmFyIGJsUHJlZD1nLm5vZGUoZy5wcmVkZWNlc3NvcnMoYmwpWzBdKSxiclByZWQ9Zy5ub2RlKGcucHJlZGVjZXNzb3JzKGJyKVswXSk7aWYoIV8uaGFzKHJlc3VsdCwiYmFyeWNlbnRlciIpKXtyZXN1bHQuYmFyeWNlbnRlcj0wO3Jlc3VsdC53ZWlnaHQ9MH1yZXN1bHQuYmFyeWNlbnRlcj0ocmVzdWx0LmJhcnljZW50ZXIqcmVzdWx0LndlaWdodCtibFByZWQub3JkZXIrYnJQcmVkLm9yZGVyKS8ocmVzdWx0LndlaWdodCsyKTtyZXN1bHQud2VpZ2h0Kz0yfX1yZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGV4cGFuZFN1YmdyYXBocyhlbnRyaWVzLApzdWJncmFwaHMpe18uZm9yRWFjaChlbnRyaWVzLGZ1bmN0aW9uKGVudHJ5KXtlbnRyeS52cz1fLmZsYXR0ZW4oZW50cnkudnMubWFwKGZ1bmN0aW9uKHYpe2lmKHN1YmdyYXBoc1t2XSlyZXR1cm4gc3ViZ3JhcGhzW3ZdLnZzO3JldHVybiB2fSksdHJ1ZSl9KX1mdW5jdGlvbiBtZXJnZUJhcnljZW50ZXJzKHRhcmdldCxvdGhlcil7aWYoIV8uaXNVbmRlZmluZWQodGFyZ2V0LmJhcnljZW50ZXIpKXt0YXJnZXQuYmFyeWNlbnRlcj0odGFyZ2V0LmJhcnljZW50ZXIqdGFyZ2V0LndlaWdodCtvdGhlci5iYXJ5Y2VudGVyKm90aGVyLndlaWdodCkvKHRhcmdldC53ZWlnaHQrb3RoZXIud2VpZ2h0KTt0YXJnZXQud2VpZ2h0Kz1vdGhlci53ZWlnaHR9ZWxzZXt0YXJnZXQuYmFyeWNlbnRlcj1vdGhlci5iYXJ5Y2VudGVyO3RhcmdldC53ZWlnaHQ9b3RoZXIud2VpZ2h0fX19LHsiLi4vbG9kYXNoIjoxMCwiLi9iYXJ5Y2VudGVyIjoxNCwiLi9yZXNvbHZlLWNvbmZsaWN0cyI6MTksIi4vc29ydCI6MjF9XSwKMjE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpLHV0aWw9cmVxdWlyZSgiLi4vdXRpbCIpO21vZHVsZS5leHBvcnRzPXNvcnQ7ZnVuY3Rpb24gc29ydChlbnRyaWVzLGJpYXNSaWdodCl7dmFyIHBhcnRzPXV0aWwucGFydGl0aW9uKGVudHJpZXMsZnVuY3Rpb24oZW50cnkpe3JldHVybiBfLmhhcyhlbnRyeSwiYmFyeWNlbnRlciIpfSk7dmFyIHNvcnRhYmxlPXBhcnRzLmxocyx1bnNvcnRhYmxlPV8uc29ydEJ5KHBhcnRzLnJocyxmdW5jdGlvbihlbnRyeSl7cmV0dXJuLWVudHJ5Lml9KSx2cz1bXSxzdW09MCx3ZWlnaHQ9MCx2c0luZGV4PTA7c29ydGFibGUuc29ydChjb21wYXJlV2l0aEJpYXMoISFiaWFzUmlnaHQpKTt2c0luZGV4PWNvbnN1bWVVbnNvcnRhYmxlKHZzLHVuc29ydGFibGUsdnNJbmRleCk7Xy5mb3JFYWNoKHNvcnRhYmxlLGZ1bmN0aW9uKGVudHJ5KXt2c0luZGV4Kz1lbnRyeS52cy5sZW5ndGg7dnMucHVzaChlbnRyeS52cyk7CnN1bSs9ZW50cnkuYmFyeWNlbnRlciplbnRyeS53ZWlnaHQ7d2VpZ2h0Kz1lbnRyeS53ZWlnaHQ7dnNJbmRleD1jb25zdW1lVW5zb3J0YWJsZSh2cyx1bnNvcnRhYmxlLHZzSW5kZXgpfSk7dmFyIHJlc3VsdD17dnM6Xy5mbGF0dGVuKHZzLHRydWUpfTtpZih3ZWlnaHQpe3Jlc3VsdC5iYXJ5Y2VudGVyPXN1bS93ZWlnaHQ7cmVzdWx0LndlaWdodD13ZWlnaHR9cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBjb25zdW1lVW5zb3J0YWJsZSh2cyx1bnNvcnRhYmxlLGluZGV4KXt2YXIgbGFzdDt3aGlsZSh1bnNvcnRhYmxlLmxlbmd0aCYmKGxhc3Q9Xy5sYXN0KHVuc29ydGFibGUpKS5pPD1pbmRleCl7dW5zb3J0YWJsZS5wb3AoKTt2cy5wdXNoKGxhc3QudnMpO2luZGV4Kyt9cmV0dXJuIGluZGV4fWZ1bmN0aW9uIGNvbXBhcmVXaXRoQmlhcyhiaWFzKXtyZXR1cm4gZnVuY3Rpb24oZW50cnlWLGVudHJ5Vyl7aWYoZW50cnlWLmJhcnljZW50ZXI8ZW50cnlXLmJhcnljZW50ZXIpcmV0dXJuLTE7ZWxzZSBpZihlbnRyeVYuYmFyeWNlbnRlcj4KZW50cnlXLmJhcnljZW50ZXIpcmV0dXJuIDE7cmV0dXJuIWJpYXM/ZW50cnlWLmktZW50cnlXLmk6ZW50cnlXLmktZW50cnlWLml9fX0seyIuLi9sb2Rhc2giOjEwLCIuLi91dGlsIjoyOX1dLDIyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgXz1yZXF1aXJlKCIuL2xvZGFzaCIpO21vZHVsZS5leHBvcnRzPXBhcmVudER1bW15Q2hhaW5zO2Z1bmN0aW9uIHBhcmVudER1bW15Q2hhaW5zKGcpe3ZhciBwb3N0b3JkZXJOdW1zPXBvc3RvcmRlcihnKTtfLmZvckVhY2goZy5ncmFwaCgpLmR1bW15Q2hhaW5zLGZ1bmN0aW9uKHYpe3ZhciBub2RlPWcubm9kZSh2KSxlZGdlT2JqPW5vZGUuZWRnZU9iaixwYXRoRGF0YT1maW5kUGF0aChnLHBvc3RvcmRlck51bXMsZWRnZU9iai52LGVkZ2VPYmoudykscGF0aD1wYXRoRGF0YS5wYXRoLGxjYT1wYXRoRGF0YS5sY2EscGF0aElkeD0wLHBhdGhWPXBhdGhbcGF0aElkeF0sYXNjZW5kaW5nPXRydWU7d2hpbGUodiE9PWVkZ2VPYmoudyl7bm9kZT0KZy5ub2RlKHYpO2lmKGFzY2VuZGluZyl7d2hpbGUoKHBhdGhWPXBhdGhbcGF0aElkeF0pIT09bGNhJiZnLm5vZGUocGF0aFYpLm1heFJhbms8bm9kZS5yYW5rKXBhdGhJZHgrKztpZihwYXRoVj09PWxjYSlhc2NlbmRpbmc9ZmFsc2V9aWYoIWFzY2VuZGluZyl7d2hpbGUocGF0aElkeDxwYXRoLmxlbmd0aC0xJiZnLm5vZGUocGF0aFY9cGF0aFtwYXRoSWR4KzFdKS5taW5SYW5rPD1ub2RlLnJhbmspcGF0aElkeCsrO3BhdGhWPXBhdGhbcGF0aElkeF19Zy5zZXRQYXJlbnQodixwYXRoVik7dj1nLnN1Y2Nlc3NvcnModilbMF19fSl9ZnVuY3Rpb24gZmluZFBhdGgoZyxwb3N0b3JkZXJOdW1zLHYsdyl7dmFyIHZQYXRoPVtdLHdQYXRoPVtdLGxvdz1NYXRoLm1pbihwb3N0b3JkZXJOdW1zW3ZdLmxvdyxwb3N0b3JkZXJOdW1zW3ddLmxvdyksbGltPU1hdGgubWF4KHBvc3RvcmRlck51bXNbdl0ubGltLHBvc3RvcmRlck51bXNbd10ubGltKSxwYXJlbnQsbGNhO3BhcmVudD12O2Rve3BhcmVudD0KZy5wYXJlbnQocGFyZW50KTt2UGF0aC5wdXNoKHBhcmVudCl9d2hpbGUocGFyZW50JiYocG9zdG9yZGVyTnVtc1twYXJlbnRdLmxvdz5sb3d8fGxpbT5wb3N0b3JkZXJOdW1zW3BhcmVudF0ubGltKSk7bGNhPXBhcmVudDtwYXJlbnQ9dzt3aGlsZSgocGFyZW50PWcucGFyZW50KHBhcmVudCkpIT09bGNhKXdQYXRoLnB1c2gocGFyZW50KTtyZXR1cm57cGF0aDp2UGF0aC5jb25jYXQod1BhdGgucmV2ZXJzZSgpKSxsY2E6bGNhfX1mdW5jdGlvbiBwb3N0b3JkZXIoZyl7dmFyIHJlc3VsdD17fSxsaW09MDtmdW5jdGlvbiBkZnModil7dmFyIGxvdz1saW07Xy5mb3JFYWNoKGcuY2hpbGRyZW4odiksZGZzKTtyZXN1bHRbdl09e2xvdzpsb3csbGltOmxpbSsrfX1fLmZvckVhY2goZy5jaGlsZHJlbigpLGRmcyk7cmV0dXJuIHJlc3VsdH19LHsiLi9sb2Rhc2giOjEwfV0sMjM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpLEdyYXBoPQpyZXF1aXJlKCIuLi9ncmFwaGxpYiIpLkdyYXBoLHV0aWw9cmVxdWlyZSgiLi4vdXRpbCIpO21vZHVsZS5leHBvcnRzPXtwb3NpdGlvblg6cG9zaXRpb25YLGZpbmRUeXBlMUNvbmZsaWN0czpmaW5kVHlwZTFDb25mbGljdHMsZmluZFR5cGUyQ29uZmxpY3RzOmZpbmRUeXBlMkNvbmZsaWN0cyxhZGRDb25mbGljdDphZGRDb25mbGljdCxoYXNDb25mbGljdDpoYXNDb25mbGljdCx2ZXJ0aWNhbEFsaWdubWVudDp2ZXJ0aWNhbEFsaWdubWVudCxob3Jpem9udGFsQ29tcGFjdGlvbjpob3Jpem9udGFsQ29tcGFjdGlvbixhbGlnbkNvb3JkaW5hdGVzOmFsaWduQ29vcmRpbmF0ZXMsZmluZFNtYWxsZXN0V2lkdGhBbGlnbm1lbnQ6ZmluZFNtYWxsZXN0V2lkdGhBbGlnbm1lbnQsYmFsYW5jZTpiYWxhbmNlfTtmdW5jdGlvbiBmaW5kVHlwZTFDb25mbGljdHMoZyxsYXllcmluZyl7dmFyIGNvbmZsaWN0cz17fTtmdW5jdGlvbiB2aXNpdExheWVyKHByZXZMYXllcixsYXllcil7dmFyIGswPTAsc2NhblBvcz0KMCxwcmV2TGF5ZXJMZW5ndGg9cHJldkxheWVyLmxlbmd0aCxsYXN0Tm9kZT1fLmxhc3QobGF5ZXIpO18uZm9yRWFjaChsYXllcixmdW5jdGlvbih2LGkpe3ZhciB3PWZpbmRPdGhlcklubmVyU2VnbWVudE5vZGUoZyx2KSxrMT13P2cubm9kZSh3KS5vcmRlcjpwcmV2TGF5ZXJMZW5ndGg7aWYod3x8dj09PWxhc3ROb2RlKXtfLmZvckVhY2gobGF5ZXIuc2xpY2Uoc2NhblBvcyxpKzEpLGZ1bmN0aW9uKHNjYW5Ob2RlKXtfLmZvckVhY2goZy5wcmVkZWNlc3NvcnMoc2Nhbk5vZGUpLGZ1bmN0aW9uKHUpe3ZhciB1TGFiZWw9Zy5ub2RlKHUpLHVQb3M9dUxhYmVsLm9yZGVyO2lmKCh1UG9zPGswfHxrMTx1UG9zKSYmISh1TGFiZWwuZHVtbXkmJmcubm9kZShzY2FuTm9kZSkuZHVtbXkpKWFkZENvbmZsaWN0KGNvbmZsaWN0cyx1LHNjYW5Ob2RlKX0pfSk7c2NhblBvcz1pKzE7azA9azF9fSk7cmV0dXJuIGxheWVyfV8ucmVkdWNlKGxheWVyaW5nLHZpc2l0TGF5ZXIpO3JldHVybiBjb25mbGljdHN9CmZ1bmN0aW9uIGZpbmRUeXBlMkNvbmZsaWN0cyhnLGxheWVyaW5nKXt2YXIgY29uZmxpY3RzPXt9O2Z1bmN0aW9uIHNjYW4oc291dGgsc291dGhQb3Msc291dGhFbmQscHJldk5vcnRoQm9yZGVyLG5leHROb3J0aEJvcmRlcil7dmFyIHY7Xy5mb3JFYWNoKF8ucmFuZ2Uoc291dGhQb3Msc291dGhFbmQpLGZ1bmN0aW9uKGkpe3Y9c291dGhbaV07aWYoZy5ub2RlKHYpLmR1bW15KV8uZm9yRWFjaChnLnByZWRlY2Vzc29ycyh2KSxmdW5jdGlvbih1KXt2YXIgdU5vZGU9Zy5ub2RlKHUpO2lmKHVOb2RlLmR1bW15JiYodU5vZGUub3JkZXI8cHJldk5vcnRoQm9yZGVyfHx1Tm9kZS5vcmRlcj5uZXh0Tm9ydGhCb3JkZXIpKWFkZENvbmZsaWN0KGNvbmZsaWN0cyx1LHYpfSl9KX1mdW5jdGlvbiB2aXNpdExheWVyKG5vcnRoLHNvdXRoKXt2YXIgcHJldk5vcnRoUG9zPS0xLG5leHROb3J0aFBvcyxzb3V0aFBvcz0wO18uZm9yRWFjaChzb3V0aCxmdW5jdGlvbih2LHNvdXRoTG9va2FoZWFkKXtpZihnLm5vZGUodikuZHVtbXk9PT0KImJvcmRlciIpe3ZhciBwcmVkZWNlc3NvcnM9Zy5wcmVkZWNlc3NvcnModik7aWYocHJlZGVjZXNzb3JzLmxlbmd0aCl7bmV4dE5vcnRoUG9zPWcubm9kZShwcmVkZWNlc3NvcnNbMF0pLm9yZGVyO3NjYW4oc291dGgsc291dGhQb3Msc291dGhMb29rYWhlYWQscHJldk5vcnRoUG9zLG5leHROb3J0aFBvcyk7c291dGhQb3M9c291dGhMb29rYWhlYWQ7cHJldk5vcnRoUG9zPW5leHROb3J0aFBvc319c2Nhbihzb3V0aCxzb3V0aFBvcyxzb3V0aC5sZW5ndGgsbmV4dE5vcnRoUG9zLG5vcnRoLmxlbmd0aCl9KTtyZXR1cm4gc291dGh9Xy5yZWR1Y2UobGF5ZXJpbmcsdmlzaXRMYXllcik7cmV0dXJuIGNvbmZsaWN0c31mdW5jdGlvbiBmaW5kT3RoZXJJbm5lclNlZ21lbnROb2RlKGcsdil7aWYoZy5ub2RlKHYpLmR1bW15KXJldHVybiBfLmZpbmQoZy5wcmVkZWNlc3NvcnModiksZnVuY3Rpb24odSl7cmV0dXJuIGcubm9kZSh1KS5kdW1teX0pfWZ1bmN0aW9uIGFkZENvbmZsaWN0KGNvbmZsaWN0cywKdix3KXtpZih2Pncpe3ZhciB0bXA9djt2PXc7dz10bXB9dmFyIGNvbmZsaWN0c1Y9Y29uZmxpY3RzW3ZdO2lmKCFjb25mbGljdHNWKWNvbmZsaWN0c1t2XT1jb25mbGljdHNWPXt9O2NvbmZsaWN0c1Zbd109dHJ1ZX1mdW5jdGlvbiBoYXNDb25mbGljdChjb25mbGljdHMsdix3KXtpZih2Pncpe3ZhciB0bXA9djt2PXc7dz10bXB9cmV0dXJuIF8uaGFzKGNvbmZsaWN0c1t2XSx3KX1mdW5jdGlvbiB2ZXJ0aWNhbEFsaWdubWVudChnLGxheWVyaW5nLGNvbmZsaWN0cyxuZWlnaGJvckZuKXt2YXIgcm9vdD17fSxhbGlnbj17fSxwb3M9e307Xy5mb3JFYWNoKGxheWVyaW5nLGZ1bmN0aW9uKGxheWVyKXtfLmZvckVhY2gobGF5ZXIsZnVuY3Rpb24odixvcmRlcil7cm9vdFt2XT12O2FsaWduW3ZdPXY7cG9zW3ZdPW9yZGVyfSl9KTtfLmZvckVhY2gobGF5ZXJpbmcsZnVuY3Rpb24obGF5ZXIpe3ZhciBwcmV2SWR4PS0xO18uZm9yRWFjaChsYXllcixmdW5jdGlvbih2KXt2YXIgd3M9bmVpZ2hib3JGbih2KTsKaWYod3MubGVuZ3RoKXt3cz1fLnNvcnRCeSh3cyxmdW5jdGlvbih3KXtyZXR1cm4gcG9zW3ddfSk7dmFyIG1wPSh3cy5sZW5ndGgtMSkvMjtmb3IodmFyIGk9TWF0aC5mbG9vcihtcCksaWw9TWF0aC5jZWlsKG1wKTtpPD1pbDsrK2kpe3ZhciB3PXdzW2ldO2lmKGFsaWduW3ZdPT09diYmcHJldklkeDxwb3Nbd10mJiFoYXNDb25mbGljdChjb25mbGljdHMsdix3KSl7YWxpZ25bd109djthbGlnblt2XT1yb290W3ZdPXJvb3Rbd107cHJldklkeD1wb3Nbd119fX19KX0pO3JldHVybntyb290OnJvb3QsYWxpZ246YWxpZ259fWZ1bmN0aW9uIGhvcml6b250YWxDb21wYWN0aW9uKGcsbGF5ZXJpbmcscm9vdCxhbGlnbixyZXZlcnNlU2VwKXt2YXIgeHM9e30sYmxvY2tHPWJ1aWxkQmxvY2tHcmFwaChnLGxheWVyaW5nLHJvb3QscmV2ZXJzZVNlcCksYm9yZGVyVHlwZT1yZXZlcnNlU2VwPyJib3JkZXJMZWZ0IjoiYm9yZGVyUmlnaHQiO2Z1bmN0aW9uIGl0ZXJhdGUoc2V0WHNGdW5jLG5leHROb2Rlc0Z1bmMpe3ZhciBzdGFjaz0KYmxvY2tHLm5vZGVzKCk7dmFyIGVsZW09c3RhY2sucG9wKCk7dmFyIHZpc2l0ZWQ9e307d2hpbGUoZWxlbSl7aWYodmlzaXRlZFtlbGVtXSlzZXRYc0Z1bmMoZWxlbSk7ZWxzZXt2aXNpdGVkW2VsZW1dPXRydWU7c3RhY2sucHVzaChlbGVtKTtzdGFjaz1zdGFjay5jb25jYXQobmV4dE5vZGVzRnVuYyhlbGVtKSl9ZWxlbT1zdGFjay5wb3AoKX19ZnVuY3Rpb24gcGFzczEoZWxlbSl7eHNbZWxlbV09YmxvY2tHLmluRWRnZXMoZWxlbSkucmVkdWNlKGZ1bmN0aW9uKGFjYyxlKXtyZXR1cm4gTWF0aC5tYXgoYWNjLHhzW2Uudl0rYmxvY2tHLmVkZ2UoZSkpfSwwKX1mdW5jdGlvbiBwYXNzMihlbGVtKXt2YXIgbWluPWJsb2NrRy5vdXRFZGdlcyhlbGVtKS5yZWR1Y2UoZnVuY3Rpb24oYWNjLGUpe3JldHVybiBNYXRoLm1pbihhY2MseHNbZS53XS1ibG9ja0cuZWRnZShlKSl9LE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7dmFyIG5vZGU9Zy5ub2RlKGVsZW0pO2lmKG1pbiE9PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSYmCm5vZGUuYm9yZGVyVHlwZSE9PWJvcmRlclR5cGUpeHNbZWxlbV09TWF0aC5tYXgoeHNbZWxlbV0sbWluKX1pdGVyYXRlKHBhc3MxLF8uYmluZChibG9ja0cucHJlZGVjZXNzb3JzLGJsb2NrRykpO2l0ZXJhdGUocGFzczIsXy5iaW5kKGJsb2NrRy5zdWNjZXNzb3JzLGJsb2NrRykpO18uZm9yRWFjaChhbGlnbixmdW5jdGlvbih2KXt4c1t2XT14c1tyb290W3ZdXX0pO3JldHVybiB4c31mdW5jdGlvbiBidWlsZEJsb2NrR3JhcGgoZyxsYXllcmluZyxyb290LHJldmVyc2VTZXApe3ZhciBibG9ja0dyYXBoPW5ldyBHcmFwaCxncmFwaExhYmVsPWcuZ3JhcGgoKSxzZXBGbj1zZXAoZ3JhcGhMYWJlbC5ub2Rlc2VwLGdyYXBoTGFiZWwuZWRnZXNlcCxyZXZlcnNlU2VwKTtfLmZvckVhY2gobGF5ZXJpbmcsZnVuY3Rpb24obGF5ZXIpe3ZhciB1O18uZm9yRWFjaChsYXllcixmdW5jdGlvbih2KXt2YXIgdlJvb3Q9cm9vdFt2XTtibG9ja0dyYXBoLnNldE5vZGUodlJvb3QpO2lmKHUpe3ZhciB1Um9vdD0Kcm9vdFt1XSxwcmV2TWF4PWJsb2NrR3JhcGguZWRnZSh1Um9vdCx2Um9vdCk7YmxvY2tHcmFwaC5zZXRFZGdlKHVSb290LHZSb290LE1hdGgubWF4KHNlcEZuKGcsdix1KSxwcmV2TWF4fHwwKSl9dT12fSl9KTtyZXR1cm4gYmxvY2tHcmFwaH1mdW5jdGlvbiBmaW5kU21hbGxlc3RXaWR0aEFsaWdubWVudChnLHhzcyl7cmV0dXJuIF8ubWluQnkoXy52YWx1ZXMoeHNzKSxmdW5jdGlvbih4cyl7dmFyIG1heD1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7dmFyIG1pbj1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7Xy5mb3JJbih4cyxmdW5jdGlvbih4LHYpe3ZhciBoYWxmV2lkdGg9d2lkdGgoZyx2KS8yO21heD1NYXRoLm1heCh4K2hhbGZXaWR0aCxtYXgpO21pbj1NYXRoLm1pbih4LWhhbGZXaWR0aCxtaW4pfSk7cmV0dXJuIG1heC1taW59KX1mdW5jdGlvbiBhbGlnbkNvb3JkaW5hdGVzKHhzcyxhbGlnblRvKXt2YXIgYWxpZ25Ub1ZhbHM9Xy52YWx1ZXMoYWxpZ25UbyksYWxpZ25Ub01pbj0KXy5taW4oYWxpZ25Ub1ZhbHMpLGFsaWduVG9NYXg9Xy5tYXgoYWxpZ25Ub1ZhbHMpO18uZm9yRWFjaChbInUiLCJkIl0sZnVuY3Rpb24odmVydCl7Xy5mb3JFYWNoKFsibCIsInIiXSxmdW5jdGlvbihob3Jpeil7dmFyIGFsaWdubWVudD12ZXJ0K2hvcml6LHhzPXhzc1thbGlnbm1lbnRdLGRlbHRhO2lmKHhzPT09YWxpZ25UbylyZXR1cm47dmFyIHhzVmFscz1fLnZhbHVlcyh4cyk7ZGVsdGE9aG9yaXo9PT0ibCI/YWxpZ25Ub01pbi1fLm1pbih4c1ZhbHMpOmFsaWduVG9NYXgtXy5tYXgoeHNWYWxzKTtpZihkZWx0YSl4c3NbYWxpZ25tZW50XT1fLm1hcFZhbHVlcyh4cyxmdW5jdGlvbih4KXtyZXR1cm4geCtkZWx0YX0pfSl9KX1mdW5jdGlvbiBiYWxhbmNlKHhzcyxhbGlnbil7cmV0dXJuIF8ubWFwVmFsdWVzKHhzcy51bCxmdW5jdGlvbihpZ25vcmUsdil7aWYoYWxpZ24pcmV0dXJuIHhzc1thbGlnbi50b0xvd2VyQ2FzZSgpXVt2XTtlbHNle3ZhciB4cz1fLnNvcnRCeShfLm1hcCh4c3MsCnYpKTtyZXR1cm4oeHNbMV0reHNbMl0pLzJ9fSl9ZnVuY3Rpb24gcG9zaXRpb25YKGcpe3ZhciBsYXllcmluZz11dGlsLmJ1aWxkTGF5ZXJNYXRyaXgoZyksY29uZmxpY3RzPV8ubWVyZ2UoZmluZFR5cGUxQ29uZmxpY3RzKGcsbGF5ZXJpbmcpLGZpbmRUeXBlMkNvbmZsaWN0cyhnLGxheWVyaW5nKSk7dmFyIHhzcz17fSxhZGp1c3RlZExheWVyaW5nO18uZm9yRWFjaChbInUiLCJkIl0sZnVuY3Rpb24odmVydCl7YWRqdXN0ZWRMYXllcmluZz12ZXJ0PT09InUiP2xheWVyaW5nOl8udmFsdWVzKGxheWVyaW5nKS5yZXZlcnNlKCk7Xy5mb3JFYWNoKFsibCIsInIiXSxmdW5jdGlvbihob3Jpeil7aWYoaG9yaXo9PT0iciIpYWRqdXN0ZWRMYXllcmluZz1fLm1hcChhZGp1c3RlZExheWVyaW5nLGZ1bmN0aW9uKGlubmVyKXtyZXR1cm4gXy52YWx1ZXMoaW5uZXIpLnJldmVyc2UoKX0pO3ZhciBuZWlnaGJvckZuPV8uYmluZCh2ZXJ0PT09InUiP2cucHJlZGVjZXNzb3JzOmcuc3VjY2Vzc29ycywKZyk7dmFyIGFsaWduPXZlcnRpY2FsQWxpZ25tZW50KGcsYWRqdXN0ZWRMYXllcmluZyxjb25mbGljdHMsbmVpZ2hib3JGbik7dmFyIHhzPWhvcml6b250YWxDb21wYWN0aW9uKGcsYWRqdXN0ZWRMYXllcmluZyxhbGlnbi5yb290LGFsaWduLmFsaWduLGhvcml6PT09InIiKTtpZihob3Jpej09PSJyIil4cz1fLm1hcFZhbHVlcyh4cyxmdW5jdGlvbih4KXtyZXR1cm4teH0pO3hzc1t2ZXJ0K2hvcml6XT14c30pfSk7dmFyIHNtYWxsZXN0V2lkdGg9ZmluZFNtYWxsZXN0V2lkdGhBbGlnbm1lbnQoZyx4c3MpO2FsaWduQ29vcmRpbmF0ZXMoeHNzLHNtYWxsZXN0V2lkdGgpO3JldHVybiBiYWxhbmNlKHhzcyxnLmdyYXBoKCkuYWxpZ24pfWZ1bmN0aW9uIHNlcChub2RlU2VwLGVkZ2VTZXAscmV2ZXJzZVNlcCl7cmV0dXJuIGZ1bmN0aW9uKGcsdix3KXt2YXIgdkxhYmVsPWcubm9kZSh2KSx3TGFiZWw9Zy5ub2RlKHcpLHN1bT0wLGRlbHRhO3N1bSs9dkxhYmVsLndpZHRoLzI7aWYoXy5oYXModkxhYmVsLAoibGFiZWxwb3MiKSlzd2l0Y2godkxhYmVsLmxhYmVscG9zLnRvTG93ZXJDYXNlKCkpe2Nhc2UgImwiOmRlbHRhPS12TGFiZWwud2lkdGgvMjticmVhaztjYXNlICJyIjpkZWx0YT12TGFiZWwud2lkdGgvMjticmVha31pZihkZWx0YSlzdW0rPXJldmVyc2VTZXA/ZGVsdGE6LWRlbHRhO2RlbHRhPTA7c3VtKz0odkxhYmVsLmR1bW15P2VkZ2VTZXA6bm9kZVNlcCkvMjtzdW0rPSh3TGFiZWwuZHVtbXk/ZWRnZVNlcDpub2RlU2VwKS8yO3N1bSs9d0xhYmVsLndpZHRoLzI7aWYoXy5oYXMod0xhYmVsLCJsYWJlbHBvcyIpKXN3aXRjaCh3TGFiZWwubGFiZWxwb3MudG9Mb3dlckNhc2UoKSl7Y2FzZSAibCI6ZGVsdGE9d0xhYmVsLndpZHRoLzI7YnJlYWs7Y2FzZSAiciI6ZGVsdGE9LXdMYWJlbC53aWR0aC8yO2JyZWFrfWlmKGRlbHRhKXN1bSs9cmV2ZXJzZVNlcD9kZWx0YTotZGVsdGE7ZGVsdGE9MDtyZXR1cm4gc3VtfX1mdW5jdGlvbiB3aWR0aChnLHYpe3JldHVybiBnLm5vZGUodikud2lkdGh9Cn0seyIuLi9ncmFwaGxpYiI6NywiLi4vbG9kYXNoIjoxMCwiLi4vdXRpbCI6Mjl9XSwyNDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIF89cmVxdWlyZSgiLi4vbG9kYXNoIiksdXRpbD1yZXF1aXJlKCIuLi91dGlsIikscG9zaXRpb25YPXJlcXVpcmUoIi4vYmsiKS5wb3NpdGlvblg7bW9kdWxlLmV4cG9ydHM9cG9zaXRpb247ZnVuY3Rpb24gcG9zaXRpb24oZyl7Zz11dGlsLmFzTm9uQ29tcG91bmRHcmFwaChnKTtwb3NpdGlvblkoZyk7Xy5mb3JFYWNoKHBvc2l0aW9uWChnKSxmdW5jdGlvbih4LHYpe2cubm9kZSh2KS54PXh9KX1mdW5jdGlvbiBwb3NpdGlvblkoZyl7dmFyIGxheWVyaW5nPXV0aWwuYnVpbGRMYXllck1hdHJpeChnKSxyYW5rU2VwPWcuZ3JhcGgoKS5yYW5rc2VwLHByZXZZPTA7Xy5mb3JFYWNoKGxheWVyaW5nLGZ1bmN0aW9uKGxheWVyKXt2YXIgbWF4SGVpZ2h0PV8ubWF4KF8ubWFwKGxheWVyLGZ1bmN0aW9uKHYpe3JldHVybiBnLm5vZGUodikuaGVpZ2h0fSkpOwpfLmZvckVhY2gobGF5ZXIsZnVuY3Rpb24odil7Zy5ub2RlKHYpLnk9cHJldlkrbWF4SGVpZ2h0LzJ9KTtwcmV2WSs9bWF4SGVpZ2h0K3JhbmtTZXB9KX19LHsiLi4vbG9kYXNoIjoxMCwiLi4vdXRpbCI6MjksIi4vYmsiOjIzfV0sMjU6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpLEdyYXBoPXJlcXVpcmUoIi4uL2dyYXBobGliIikuR3JhcGgsc2xhY2s9cmVxdWlyZSgiLi91dGlsIikuc2xhY2s7bW9kdWxlLmV4cG9ydHM9ZmVhc2libGVUcmVlO2Z1bmN0aW9uIGZlYXNpYmxlVHJlZShnKXt2YXIgdD1uZXcgR3JhcGgoe2RpcmVjdGVkOmZhbHNlfSk7dmFyIHN0YXJ0PWcubm9kZXMoKVswXSxzaXplPWcubm9kZUNvdW50KCk7dC5zZXROb2RlKHN0YXJ0LHt9KTt2YXIgZWRnZSxkZWx0YTt3aGlsZSh0aWdodFRyZWUodCxnKTxzaXplKXtlZGdlPWZpbmRNaW5TbGFja0VkZ2UodCxnKTtkZWx0YT10Lmhhc05vZGUoZWRnZS52KT8Kc2xhY2soZyxlZGdlKTotc2xhY2soZyxlZGdlKTtzaGlmdFJhbmtzKHQsZyxkZWx0YSl9cmV0dXJuIHR9ZnVuY3Rpb24gdGlnaHRUcmVlKHQsZyl7ZnVuY3Rpb24gZGZzKHYpe18uZm9yRWFjaChnLm5vZGVFZGdlcyh2KSxmdW5jdGlvbihlKXt2YXIgZWRnZVY9ZS52LHc9dj09PWVkZ2VWP2UudzplZGdlVjtpZighdC5oYXNOb2RlKHcpJiYhc2xhY2soZyxlKSl7dC5zZXROb2RlKHcse30pO3Quc2V0RWRnZSh2LHcse30pO2Rmcyh3KX19KX1fLmZvckVhY2godC5ub2RlcygpLGRmcyk7cmV0dXJuIHQubm9kZUNvdW50KCl9ZnVuY3Rpb24gZmluZE1pblNsYWNrRWRnZSh0LGcpe3JldHVybiBfLm1pbkJ5KGcuZWRnZXMoKSxmdW5jdGlvbihlKXtpZih0Lmhhc05vZGUoZS52KSE9PXQuaGFzTm9kZShlLncpKXJldHVybiBzbGFjayhnLGUpfSl9ZnVuY3Rpb24gc2hpZnRSYW5rcyh0LGcsZGVsdGEpe18uZm9yRWFjaCh0Lm5vZGVzKCksZnVuY3Rpb24odil7Zy5ub2RlKHYpLnJhbmsrPWRlbHRhfSl9Cn0seyIuLi9ncmFwaGxpYiI6NywiLi4vbG9kYXNoIjoxMCwiLi91dGlsIjoyOH1dLDI2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXt2YXIgcmFua1V0aWw9cmVxdWlyZSgiLi91dGlsIiksbG9uZ2VzdFBhdGg9cmFua1V0aWwubG9uZ2VzdFBhdGgsZmVhc2libGVUcmVlPXJlcXVpcmUoIi4vZmVhc2libGUtdHJlZSIpLG5ldHdvcmtTaW1wbGV4PXJlcXVpcmUoIi4vbmV0d29yay1zaW1wbGV4Iik7bW9kdWxlLmV4cG9ydHM9cmFuaztmdW5jdGlvbiByYW5rKGcpe3N3aXRjaChnLmdyYXBoKCkucmFua2VyKXtjYXNlICJuZXR3b3JrLXNpbXBsZXgiOm5ldHdvcmtTaW1wbGV4UmFua2VyKGcpO2JyZWFrO2Nhc2UgInRpZ2h0LXRyZWUiOnRpZ2h0VHJlZVJhbmtlcihnKTticmVhaztjYXNlICJsb25nZXN0LXBhdGgiOmxvbmdlc3RQYXRoUmFua2VyKGcpO2JyZWFrO2RlZmF1bHQ6bmV0d29ya1NpbXBsZXhSYW5rZXIoZyl9fXZhciBsb25nZXN0UGF0aFJhbmtlcj1sb25nZXN0UGF0aDsKZnVuY3Rpb24gdGlnaHRUcmVlUmFua2VyKGcpe2xvbmdlc3RQYXRoKGcpO2ZlYXNpYmxlVHJlZShnKX1mdW5jdGlvbiBuZXR3b3JrU2ltcGxleFJhbmtlcihnKXtuZXR3b3JrU2ltcGxleChnKX19LHsiLi9mZWFzaWJsZS10cmVlIjoyNSwiLi9uZXR3b3JrLXNpbXBsZXgiOjI3LCIuL3V0aWwiOjI4fV0sMjc6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpLGZlYXNpYmxlVHJlZT1yZXF1aXJlKCIuL2ZlYXNpYmxlLXRyZWUiKSxzbGFjaz1yZXF1aXJlKCIuL3V0aWwiKS5zbGFjayxpbml0UmFuaz1yZXF1aXJlKCIuL3V0aWwiKS5sb25nZXN0UGF0aCxwcmVvcmRlcj1yZXF1aXJlKCIuLi9ncmFwaGxpYiIpLmFsZy5wcmVvcmRlcixwb3N0b3JkZXI9cmVxdWlyZSgiLi4vZ3JhcGhsaWIiKS5hbGcucG9zdG9yZGVyLHNpbXBsaWZ5PXJlcXVpcmUoIi4uL3V0aWwiKS5zaW1wbGlmeTttb2R1bGUuZXhwb3J0cz1uZXR3b3JrU2ltcGxleDsKbmV0d29ya1NpbXBsZXguaW5pdExvd0xpbVZhbHVlcz1pbml0TG93TGltVmFsdWVzO25ldHdvcmtTaW1wbGV4LmluaXRDdXRWYWx1ZXM9aW5pdEN1dFZhbHVlcztuZXR3b3JrU2ltcGxleC5jYWxjQ3V0VmFsdWU9Y2FsY0N1dFZhbHVlO25ldHdvcmtTaW1wbGV4LmxlYXZlRWRnZT1sZWF2ZUVkZ2U7bmV0d29ya1NpbXBsZXguZW50ZXJFZGdlPWVudGVyRWRnZTtuZXR3b3JrU2ltcGxleC5leGNoYW5nZUVkZ2VzPWV4Y2hhbmdlRWRnZXM7ZnVuY3Rpb24gbmV0d29ya1NpbXBsZXgoZyl7Zz1zaW1wbGlmeShnKTtpbml0UmFuayhnKTt2YXIgdD1mZWFzaWJsZVRyZWUoZyk7aW5pdExvd0xpbVZhbHVlcyh0KTtpbml0Q3V0VmFsdWVzKHQsZyk7dmFyIGUsZjt3aGlsZShlPWxlYXZlRWRnZSh0KSl7Zj1lbnRlckVkZ2UodCxnLGUpO2V4Y2hhbmdlRWRnZXModCxnLGUsZil9fWZ1bmN0aW9uIGluaXRDdXRWYWx1ZXModCxnKXt2YXIgdnM9cG9zdG9yZGVyKHQsdC5ub2RlcygpKTt2cz12cy5zbGljZSgwLAp2cy5sZW5ndGgtMSk7Xy5mb3JFYWNoKHZzLGZ1bmN0aW9uKHYpe2Fzc2lnbkN1dFZhbHVlKHQsZyx2KX0pfWZ1bmN0aW9uIGFzc2lnbkN1dFZhbHVlKHQsZyxjaGlsZCl7dmFyIGNoaWxkTGFiPXQubm9kZShjaGlsZCkscGFyZW50PWNoaWxkTGFiLnBhcmVudDt0LmVkZ2UoY2hpbGQscGFyZW50KS5jdXR2YWx1ZT1jYWxjQ3V0VmFsdWUodCxnLGNoaWxkKX1mdW5jdGlvbiBjYWxjQ3V0VmFsdWUodCxnLGNoaWxkKXt2YXIgY2hpbGRMYWI9dC5ub2RlKGNoaWxkKSxwYXJlbnQ9Y2hpbGRMYWIucGFyZW50LGNoaWxkSXNUYWlsPXRydWUsZ3JhcGhFZGdlPWcuZWRnZShjaGlsZCxwYXJlbnQpLGN1dFZhbHVlPTA7aWYoIWdyYXBoRWRnZSl7Y2hpbGRJc1RhaWw9ZmFsc2U7Z3JhcGhFZGdlPWcuZWRnZShwYXJlbnQsY2hpbGQpfWN1dFZhbHVlPWdyYXBoRWRnZS53ZWlnaHQ7Xy5mb3JFYWNoKGcubm9kZUVkZ2VzKGNoaWxkKSxmdW5jdGlvbihlKXt2YXIgaXNPdXRFZGdlPWUudj09PWNoaWxkLG90aGVyPQppc091dEVkZ2U/ZS53OmUudjtpZihvdGhlciE9PXBhcmVudCl7dmFyIHBvaW50c1RvSGVhZD1pc091dEVkZ2U9PT1jaGlsZElzVGFpbCxvdGhlcldlaWdodD1nLmVkZ2UoZSkud2VpZ2h0O2N1dFZhbHVlKz1wb2ludHNUb0hlYWQ/b3RoZXJXZWlnaHQ6LW90aGVyV2VpZ2h0O2lmKGlzVHJlZUVkZ2UodCxjaGlsZCxvdGhlcikpe3ZhciBvdGhlckN1dFZhbHVlPXQuZWRnZShjaGlsZCxvdGhlcikuY3V0dmFsdWU7Y3V0VmFsdWUrPXBvaW50c1RvSGVhZD8tb3RoZXJDdXRWYWx1ZTpvdGhlckN1dFZhbHVlfX19KTtyZXR1cm4gY3V0VmFsdWV9ZnVuY3Rpb24gaW5pdExvd0xpbVZhbHVlcyh0cmVlLHJvb3Qpe2lmKGFyZ3VtZW50cy5sZW5ndGg8Milyb290PXRyZWUubm9kZXMoKVswXTtkZnNBc3NpZ25Mb3dMaW0odHJlZSx7fSwxLHJvb3QpfWZ1bmN0aW9uIGRmc0Fzc2lnbkxvd0xpbSh0cmVlLHZpc2l0ZWQsbmV4dExpbSx2LHBhcmVudCl7dmFyIGxvdz1uZXh0TGltLGxhYmVsPXRyZWUubm9kZSh2KTsKdmlzaXRlZFt2XT10cnVlO18uZm9yRWFjaCh0cmVlLm5laWdoYm9ycyh2KSxmdW5jdGlvbih3KXtpZighXy5oYXModmlzaXRlZCx3KSluZXh0TGltPWRmc0Fzc2lnbkxvd0xpbSh0cmVlLHZpc2l0ZWQsbmV4dExpbSx3LHYpfSk7bGFiZWwubG93PWxvdztsYWJlbC5saW09bmV4dExpbSsrO2lmKHBhcmVudClsYWJlbC5wYXJlbnQ9cGFyZW50O2Vsc2UgZGVsZXRlIGxhYmVsLnBhcmVudDtyZXR1cm4gbmV4dExpbX1mdW5jdGlvbiBsZWF2ZUVkZ2UodHJlZSl7cmV0dXJuIF8uZmluZCh0cmVlLmVkZ2VzKCksZnVuY3Rpb24oZSl7cmV0dXJuIHRyZWUuZWRnZShlKS5jdXR2YWx1ZTwwfSl9ZnVuY3Rpb24gZW50ZXJFZGdlKHQsZyxlZGdlKXt2YXIgdj1lZGdlLnYsdz1lZGdlLnc7aWYoIWcuaGFzRWRnZSh2LHcpKXt2PWVkZ2Uudzt3PWVkZ2Uudn12YXIgdkxhYmVsPXQubm9kZSh2KSx3TGFiZWw9dC5ub2RlKHcpLHRhaWxMYWJlbD12TGFiZWwsZmxpcD1mYWxzZTtpZih2TGFiZWwubGltPndMYWJlbC5saW0pe3RhaWxMYWJlbD0Kd0xhYmVsO2ZsaXA9dHJ1ZX12YXIgY2FuZGlkYXRlcz1fLmZpbHRlcihnLmVkZ2VzKCksZnVuY3Rpb24oZWRnZSl7cmV0dXJuIGZsaXA9PT1pc0Rlc2NlbmRhbnQodCx0Lm5vZGUoZWRnZS52KSx0YWlsTGFiZWwpJiZmbGlwIT09aXNEZXNjZW5kYW50KHQsdC5ub2RlKGVkZ2UudyksdGFpbExhYmVsKX0pO3JldHVybiBfLm1pbkJ5KGNhbmRpZGF0ZXMsZnVuY3Rpb24oZWRnZSl7cmV0dXJuIHNsYWNrKGcsZWRnZSl9KX1mdW5jdGlvbiBleGNoYW5nZUVkZ2VzKHQsZyxlLGYpe3ZhciB2PWUudix3PWUudzt0LnJlbW92ZUVkZ2Uodix3KTt0LnNldEVkZ2UoZi52LGYudyx7fSk7aW5pdExvd0xpbVZhbHVlcyh0KTtpbml0Q3V0VmFsdWVzKHQsZyk7dXBkYXRlUmFua3ModCxnKX1mdW5jdGlvbiB1cGRhdGVSYW5rcyh0LGcpe3ZhciByb290PV8uZmluZCh0Lm5vZGVzKCksZnVuY3Rpb24odil7cmV0dXJuIWcubm9kZSh2KS5wYXJlbnR9KSx2cz1wcmVvcmRlcih0LHJvb3QpO3ZzPXZzLnNsaWNlKDEpOwpfLmZvckVhY2godnMsZnVuY3Rpb24odil7dmFyIHBhcmVudD10Lm5vZGUodikucGFyZW50LGVkZ2U9Zy5lZGdlKHYscGFyZW50KSxmbGlwcGVkPWZhbHNlO2lmKCFlZGdlKXtlZGdlPWcuZWRnZShwYXJlbnQsdik7ZmxpcHBlZD10cnVlfWcubm9kZSh2KS5yYW5rPWcubm9kZShwYXJlbnQpLnJhbmsrKGZsaXBwZWQ/ZWRnZS5taW5sZW46LWVkZ2UubWlubGVuKX0pfWZ1bmN0aW9uIGlzVHJlZUVkZ2UodHJlZSx1LHYpe3JldHVybiB0cmVlLmhhc0VkZ2UodSx2KX1mdW5jdGlvbiBpc0Rlc2NlbmRhbnQodHJlZSx2TGFiZWwscm9vdExhYmVsKXtyZXR1cm4gcm9vdExhYmVsLmxvdzw9dkxhYmVsLmxpbSYmdkxhYmVsLmxpbTw9cm9vdExhYmVsLmxpbX19LHsiLi4vZ3JhcGhsaWIiOjcsIi4uL2xvZGFzaCI6MTAsIi4uL3V0aWwiOjI5LCIuL2ZlYXNpYmxlLXRyZWUiOjI1LCIuL3V0aWwiOjI4fV0sMjg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBfPXJlcXVpcmUoIi4uL2xvZGFzaCIpOwptb2R1bGUuZXhwb3J0cz17bG9uZ2VzdFBhdGg6bG9uZ2VzdFBhdGgsc2xhY2s6c2xhY2t9O2Z1bmN0aW9uIGxvbmdlc3RQYXRoKGcpe3ZhciB2aXNpdGVkPXt9O2Z1bmN0aW9uIGRmcyh2KXt2YXIgbGFiZWw9Zy5ub2RlKHYpO2lmKF8uaGFzKHZpc2l0ZWQsdikpcmV0dXJuIGxhYmVsLnJhbms7dmlzaXRlZFt2XT10cnVlO3ZhciByYW5rPV8ubWluQnkoXy5tYXAoZy5vdXRFZGdlcyh2KSxmdW5jdGlvbihlKXtyZXR1cm4gZGZzKGUudyktZy5lZGdlKGUpLm1pbmxlbn0pKTtpZihyYW5rPT09TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZfHxyYW5rPT09dW5kZWZpbmVkfHxyYW5rPT09bnVsbClyYW5rPTA7cmV0dXJuIGxhYmVsLnJhbms9cmFua31fLmZvckVhY2goZy5zb3VyY2VzKCksZGZzKX1mdW5jdGlvbiBzbGFjayhnLGUpe3JldHVybiBnLm5vZGUoZS53KS5yYW5rLWcubm9kZShlLnYpLnJhbmstZy5lZGdlKGUpLm1pbmxlbn19LHsiLi4vbG9kYXNoIjoxMH1dLDI5OltmdW5jdGlvbihyZXF1aXJlLAptb2R1bGUsZXhwb3J0cyl7dmFyIF89cmVxdWlyZSgiLi9sb2Rhc2giKSxHcmFwaD1yZXF1aXJlKCIuL2dyYXBobGliIikuR3JhcGg7bW9kdWxlLmV4cG9ydHM9e2FkZER1bW15Tm9kZTphZGREdW1teU5vZGUsc2ltcGxpZnk6c2ltcGxpZnksYXNOb25Db21wb3VuZEdyYXBoOmFzTm9uQ29tcG91bmRHcmFwaCxzdWNjZXNzb3JXZWlnaHRzOnN1Y2Nlc3NvcldlaWdodHMscHJlZGVjZXNzb3JXZWlnaHRzOnByZWRlY2Vzc29yV2VpZ2h0cyxpbnRlcnNlY3RSZWN0OmludGVyc2VjdFJlY3QsYnVpbGRMYXllck1hdHJpeDpidWlsZExheWVyTWF0cml4LG5vcm1hbGl6ZVJhbmtzOm5vcm1hbGl6ZVJhbmtzLHJlbW92ZUVtcHR5UmFua3M6cmVtb3ZlRW1wdHlSYW5rcyxhZGRCb3JkZXJOb2RlOmFkZEJvcmRlck5vZGUsbWF4UmFuazptYXhSYW5rLHBhcnRpdGlvbjpwYXJ0aXRpb24sdGltZTp0aW1lLG5vdGltZTpub3RpbWV9O2Z1bmN0aW9uIGFkZER1bW15Tm9kZShnLHR5cGUsYXR0cnMsbmFtZSl7dmFyIHY7CmRvIHY9Xy51bmlxdWVJZChuYW1lKTt3aGlsZShnLmhhc05vZGUodikpO2F0dHJzLmR1bW15PXR5cGU7Zy5zZXROb2RlKHYsYXR0cnMpO3JldHVybiB2fWZ1bmN0aW9uIHNpbXBsaWZ5KGcpe3ZhciBzaW1wbGlmaWVkPShuZXcgR3JhcGgpLnNldEdyYXBoKGcuZ3JhcGgoKSk7Xy5mb3JFYWNoKGcubm9kZXMoKSxmdW5jdGlvbih2KXtzaW1wbGlmaWVkLnNldE5vZGUodixnLm5vZGUodikpfSk7Xy5mb3JFYWNoKGcuZWRnZXMoKSxmdW5jdGlvbihlKXt2YXIgc2ltcGxlTGFiZWw9c2ltcGxpZmllZC5lZGdlKGUudixlLncpfHx7d2VpZ2h0OjAsbWlubGVuOjF9LGxhYmVsPWcuZWRnZShlKTtzaW1wbGlmaWVkLnNldEVkZ2UoZS52LGUudyx7d2VpZ2h0OnNpbXBsZUxhYmVsLndlaWdodCtsYWJlbC53ZWlnaHQsbWlubGVuOk1hdGgubWF4KHNpbXBsZUxhYmVsLm1pbmxlbixsYWJlbC5taW5sZW4pfSl9KTtyZXR1cm4gc2ltcGxpZmllZH1mdW5jdGlvbiBhc05vbkNvbXBvdW5kR3JhcGgoZyl7dmFyIHNpbXBsaWZpZWQ9CihuZXcgR3JhcGgoe211bHRpZ3JhcGg6Zy5pc011bHRpZ3JhcGgoKX0pKS5zZXRHcmFwaChnLmdyYXBoKCkpO18uZm9yRWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7aWYoIWcuY2hpbGRyZW4odikubGVuZ3RoKXNpbXBsaWZpZWQuc2V0Tm9kZSh2LGcubm9kZSh2KSl9KTtfLmZvckVhY2goZy5lZGdlcygpLGZ1bmN0aW9uKGUpe3NpbXBsaWZpZWQuc2V0RWRnZShlLGcuZWRnZShlKSl9KTtyZXR1cm4gc2ltcGxpZmllZH1mdW5jdGlvbiBzdWNjZXNzb3JXZWlnaHRzKGcpe3ZhciB3ZWlnaHRNYXA9Xy5tYXAoZy5ub2RlcygpLGZ1bmN0aW9uKHYpe3ZhciBzdWNzPXt9O18uZm9yRWFjaChnLm91dEVkZ2VzKHYpLGZ1bmN0aW9uKGUpe3N1Y3NbZS53XT0oc3Vjc1tlLnddfHwwKStnLmVkZ2UoZSkud2VpZ2h0fSk7cmV0dXJuIHN1Y3N9KTtyZXR1cm4gXy56aXBPYmplY3QoZy5ub2RlcygpLHdlaWdodE1hcCl9ZnVuY3Rpb24gcHJlZGVjZXNzb3JXZWlnaHRzKGcpe3ZhciB3ZWlnaHRNYXA9Xy5tYXAoZy5ub2RlcygpLApmdW5jdGlvbih2KXt2YXIgcHJlZHM9e307Xy5mb3JFYWNoKGcuaW5FZGdlcyh2KSxmdW5jdGlvbihlKXtwcmVkc1tlLnZdPShwcmVkc1tlLnZdfHwwKStnLmVkZ2UoZSkud2VpZ2h0fSk7cmV0dXJuIHByZWRzfSk7cmV0dXJuIF8uemlwT2JqZWN0KGcubm9kZXMoKSx3ZWlnaHRNYXApfWZ1bmN0aW9uIGludGVyc2VjdFJlY3QocmVjdCxwb2ludCl7dmFyIHg9cmVjdC54O3ZhciB5PXJlY3QueTt2YXIgZHg9cG9pbnQueC14O3ZhciBkeT1wb2ludC55LXk7dmFyIHc9cmVjdC53aWR0aC8yO3ZhciBoPXJlY3QuaGVpZ2h0LzI7aWYoIWR4JiYhZHkpdGhyb3cgbmV3IEVycm9yKCJOb3QgcG9zc2libGUgdG8gZmluZCBpbnRlcnNlY3Rpb24gaW5zaWRlIG9mIHRoZSByZWN0YW5nbGUiKTt2YXIgc3gsc3k7aWYoTWF0aC5hYnMoZHkpKnc+TWF0aC5hYnMoZHgpKmgpe2lmKGR5PDApaD0taDtzeD1oKmR4L2R5O3N5PWh9ZWxzZXtpZihkeDwwKXc9LXc7c3g9dztzeT13KmR5L2R4fXJldHVybnt4OngrCnN4LHk6eStzeX19ZnVuY3Rpb24gYnVpbGRMYXllck1hdHJpeChnKXt2YXIgbGF5ZXJpbmc9Xy5tYXAoXy5yYW5nZShtYXhSYW5rKGcpKzEpLGZ1bmN0aW9uKCl7cmV0dXJuW119KTtfLmZvckVhY2goZy5ub2RlcygpLGZ1bmN0aW9uKHYpe3ZhciBub2RlPWcubm9kZSh2KSxyYW5rPW5vZGUucmFuaztpZighXy5pc1VuZGVmaW5lZChyYW5rKSlsYXllcmluZ1tyYW5rXVtub2RlLm9yZGVyXT12fSk7cmV0dXJuIGxheWVyaW5nfWZ1bmN0aW9uIG5vcm1hbGl6ZVJhbmtzKGcpe3ZhciBtaW49Xy5taW5CeShfLm1hcChnLm5vZGVzKCksZnVuY3Rpb24odil7cmV0dXJuIGcubm9kZSh2KS5yYW5rfSkpO18uZm9yRWFjaChnLm5vZGVzKCksZnVuY3Rpb24odil7dmFyIG5vZGU9Zy5ub2RlKHYpO2lmKF8uaGFzKG5vZGUsInJhbmsiKSlub2RlLnJhbmstPW1pbn0pfWZ1bmN0aW9uIHJlbW92ZUVtcHR5UmFua3MoZyl7dmFyIG9mZnNldD1fLm1pbkJ5KF8ubWFwKGcubm9kZXMoKSxmdW5jdGlvbih2KXtyZXR1cm4gZy5ub2RlKHYpLnJhbmt9KSk7CnZhciBsYXllcnM9W107Xy5mb3JFYWNoKGcubm9kZXMoKSxmdW5jdGlvbih2KXt2YXIgcmFuaz1nLm5vZGUodikucmFuay1vZmZzZXQ7aWYoIWxheWVyc1tyYW5rXSlsYXllcnNbcmFua109W107bGF5ZXJzW3JhbmtdLnB1c2godil9KTt2YXIgZGVsdGE9MCxub2RlUmFua0ZhY3Rvcj1nLmdyYXBoKCkubm9kZVJhbmtGYWN0b3I7Xy5mb3JFYWNoKGxheWVycyxmdW5jdGlvbih2cyxpKXtpZihfLmlzVW5kZWZpbmVkKHZzKSYmaSVub2RlUmFua0ZhY3RvciE9PTApLS1kZWx0YTtlbHNlIGlmKGRlbHRhKV8uZm9yRWFjaCh2cyxmdW5jdGlvbih2KXtnLm5vZGUodikucmFuays9ZGVsdGF9KX0pfWZ1bmN0aW9uIGFkZEJvcmRlck5vZGUoZyxwcmVmaXgscmFuayxvcmRlcil7dmFyIG5vZGU9e3dpZHRoOjAsaGVpZ2h0OjB9O2lmKGFyZ3VtZW50cy5sZW5ndGg+PTQpe25vZGUucmFuaz1yYW5rO25vZGUub3JkZXI9b3JkZXJ9cmV0dXJuIGFkZER1bW15Tm9kZShnLCJib3JkZXIiLG5vZGUscHJlZml4KX0KZnVuY3Rpb24gbWF4UmFuayhnKXtyZXR1cm4gXy5tYXgoXy5tYXAoZy5ub2RlcygpLGZ1bmN0aW9uKHYpe3ZhciByYW5rPWcubm9kZSh2KS5yYW5rO2lmKCFfLmlzVW5kZWZpbmVkKHJhbmspKXJldHVybiByYW5rfSkpfWZ1bmN0aW9uIHBhcnRpdGlvbihjb2xsZWN0aW9uLGZuKXt2YXIgcmVzdWx0PXtsaHM6W10scmhzOltdfTtfLmZvckVhY2goY29sbGVjdGlvbixmdW5jdGlvbih2YWx1ZSl7aWYoZm4odmFsdWUpKXJlc3VsdC5saHMucHVzaCh2YWx1ZSk7ZWxzZSByZXN1bHQucmhzLnB1c2godmFsdWUpfSk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiB0aW1lKG5hbWUsZm4pe3ZhciBzdGFydD1fLm5vdygpO3RyeXtyZXR1cm4gZm4oKX1maW5hbGx5e2NvbnNvbGUubG9nKG5hbWUrIiB0aW1lOiAiKyhfLm5vdygpLXN0YXJ0KSsibXMiKX19ZnVuY3Rpb24gbm90aW1lKG5hbWUsZm4pe3JldHVybiBmbigpfX0seyIuL2dyYXBobGliIjo3LCIuL2xvZGFzaCI6MTB9XSwzMDpbZnVuY3Rpb24ocmVxdWlyZSwKbW9kdWxlLGV4cG9ydHMpe21vZHVsZS5leHBvcnRzPSIwLjguMiJ9LHt9XX0se30sWzFdKSgxKX0pOwovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtY29tbW9uL2Fubm90YXRpb24uanMKdmFyIHRmOwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpeyhmdW5jdGlvbihmKXsoZnVuY3Rpb24oaCl7ZnVuY3Rpb24gayhxKXtyZXR1cm4oZC5yZW5kZXIuQW5ub3RhdGlvblR5cGVbcV18fCIiKS50b0xvd2VyQ2FzZSgpfHxudWxsfWZ1bmN0aW9uIHIocSx1KXt1LmFubm90YXRpb25UeXBlPT09ZC5yZW5kZXIuQW5ub3RhdGlvblR5cGUuU1VNTUFSWT9mLnNlbGVjdE9yQ3JlYXRlQ2hpbGQocSwidXNlIikuYXR0cigiY2xhc3MiLCJzdW1tYXJ5IikuYXR0cigieGxpbms6aHJlZiIsIiNzdW1tYXJ5LWljb24iKS5hdHRyKCJjdXJzb3IiLCJwb2ludGVyIik6KHE9Zi5ub2RlLmJ1aWxkU2hhcGUocSx1LGYuQ2xhc3MuQW5ub3RhdGlvbi5OT0RFKSxmLnNlbGVjdE9yQ3JlYXRlQ2hpbGQocSwidGl0bGUiKS50ZXh0KHUubm9kZS5uYW1lKSl9ZnVuY3Rpb24gbChxLHUpe2xldCB3PXUubm9kZS5uYW1lLnNwbGl0KCIvIik7cmV0dXJuIHAocSx3W3cubGVuZ3RoLTFdLHUsbnVsbCl9ZnVuY3Rpb24gcChxLHUsCncsQSl7bGV0IHk9Zi5DbGFzcy5Bbm5vdGF0aW9uLkxBQkVMO0EmJih5Kz0iICIrQSk7cT1xLmFwcGVuZCgidGV4dCIpLmF0dHIoImNsYXNzIix5KS5hdHRyKCJkeSIsIi4zNWVtIikuYXR0cigidGV4dC1hbmNob3IiLHcuaXNJbj8iZW5kIjoic3RhcnQiKS50ZXh0KHUpO3JldHVybiBiLmdyYXBoLnNjZW5lLm5vZGUuZW5mb3JjZUxhYmVsV2lkdGgocSwtMSl9ZnVuY3Rpb24gbShxLHUsdyxBKXtxLm9uKCJtb3VzZW92ZXIiLHk9PntBLmZpcmUoImFubm90YXRpb24taGlnaGxpZ2h0Iix7bmFtZTp5Lm5vZGUubmFtZSxob3N0TmFtZTp1Lm5vZGUubmFtZX0pfSkub24oIm1vdXNlb3V0Iix5PT57QS5maXJlKCJhbm5vdGF0aW9uLXVuaGlnaGxpZ2h0Iix7bmFtZTp5Lm5vZGUubmFtZSxob3N0TmFtZTp1Lm5vZGUubmFtZX0pfSkub24oImNsaWNrIix5PT57ZDMuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7QS5maXJlKCJhbm5vdGF0aW9uLXNlbGVjdCIse25hbWU6eS5ub2RlLm5hbWUsaG9zdE5hbWU6dS5ub2RlLm5hbWV9KX0pOwppZih3LmFubm90YXRpb25UeXBlIT09ZC5yZW5kZXIuQW5ub3RhdGlvblR5cGUuU1VNTUFSWSYmdy5hbm5vdGF0aW9uVHlwZSE9PWQucmVuZGVyLkFubm90YXRpb25UeXBlLkNPTlNUQU5UKXEub24oImNvbnRleHRtZW51IixmLmNvbnRleHRtZW51LmdldE1lbnUoQSxmLm5vZGUuZ2V0Q29udGV4dE1lbnUody5ub2RlLEEpKSl9ZnVuY3Rpb24gbihxLHUsdyxBKXtsZXQgeT1kLmxheW91dC5jb21wdXRlQ1hQb3NpdGlvbk9mTm9kZVNoYXBlKHUpO3cucmVuZGVyTm9kZUluZm8mJncuYW5ub3RhdGlvblR5cGUhPT1kLnJlbmRlci5Bbm5vdGF0aW9uVHlwZS5FTExJUFNJUyYmZi5ub2RlLnN0eWxpemUocSx3LnJlbmRlck5vZGVJbmZvLEEsZi5DbGFzcy5Bbm5vdGF0aW9uLk5PREUpO3cuYW5ub3RhdGlvblR5cGU9PT1kLnJlbmRlci5Bbm5vdGF0aW9uVHlwZS5TVU1NQVJZJiYody53aWR0aCs9MTApO3Euc2VsZWN0KCJ0ZXh0LiIrZi5DbGFzcy5Bbm5vdGF0aW9uLkxBQkVMKS50cmFuc2l0aW9uKCkuYXR0cigieCIsCnkrdy5keCsody5pc0luPy0xOjEpKih3LndpZHRoLzIrdy5sYWJlbE9mZnNldCkpLmF0dHIoInkiLHUueSt3LmR5KTtxLnNlbGVjdCgidXNlLnN1bW1hcnkiKS50cmFuc2l0aW9uKCkuYXR0cigieCIseSt3LmR4LTMpLmF0dHIoInkiLHUueSt3LmR5LTYpO2YucG9zaXRpb25FbGxpcHNlKHEuc2VsZWN0KCIuIitmLkNsYXNzLkFubm90YXRpb24uTk9ERSsiIGVsbGlwc2UiKSx5K3cuZHgsdS55K3cuZHksdy53aWR0aCx3LmhlaWdodCk7Zi5wb3NpdGlvblJlY3QocS5zZWxlY3QoIi4iK2YuQ2xhc3MuQW5ub3RhdGlvbi5OT0RFKyIgcmVjdCIpLHkrdy5keCx1Lnkrdy5keSx3LndpZHRoLHcuaGVpZ2h0KTtmLnBvc2l0aW9uUmVjdChxLnNlbGVjdCgiLiIrZi5DbGFzcy5Bbm5vdGF0aW9uLk5PREUrIiB1c2UiKSx5K3cuZHgsdS55K3cuZHksdy53aWR0aCx3LmhlaWdodCk7cS5zZWxlY3QoInBhdGguIitmLkNsYXNzLkFubm90YXRpb24uRURHRSkudHJhbnNpdGlvbigpLmF0dHIoImQiLHg9Pgp7eD14LnBvaW50cy5tYXAoQz0+KHt4OkMuZHgreSx5OkMuZHkrdS55fSkpO3JldHVybiBmLmVkZ2UuaW50ZXJwb2xhdGUoeCl9KX1oLmJ1aWxkR3JvdXA9ZnVuY3Rpb24ocSx1LHcsQSl7cT1xLnNlbGVjdEFsbChmdW5jdGlvbigpe3JldHVybiB0aGlzLmNoaWxkTm9kZXN9KS5kYXRhKHUubGlzdCx5PT55Lm5vZGUubmFtZSk7cS5lbnRlcigpLmFwcGVuZCgiZyIpLmF0dHIoImRhdGEtbmFtZSIseT0+eS5ub2RlLm5hbWUpLmVhY2goZnVuY3Rpb24oeSl7bGV0IHg9ZDMuc2VsZWN0KHRoaXMpO0EuYWRkQW5ub3RhdGlvbkdyb3VwKHksdyx4KTtsZXQgQz1mLkNsYXNzLkFubm90YXRpb24uRURHRSxHPXkucmVuZGVyTWV0YWVkZ2VJbmZvJiZ5LnJlbmRlck1ldGFlZGdlSW5mby5tZXRhZWRnZTtHJiYhRy5udW1SZWd1bGFyRWRnZXMmJihDKz0iICIrZi5DbGFzcy5Bbm5vdGF0aW9uLkNPTlRST0xfRURHRSk7RyYmRy5udW1SZWZFZGdlcyYmKEMrPSIgIitmLkNsYXNzLkVkZ2UuUkVGX0xJTkUpOwpmLmVkZ2UuYXBwZW5kRWRnZSh4LHksQSxDKTt5LmFubm90YXRpb25UeXBlIT09ZC5yZW5kZXIuQW5ub3RhdGlvblR5cGUuRUxMSVBTSVM/KGwoeCx5KSxyKHgseSkpOnAoeCx5Lm5vZGUubmFtZSx5LGYuQ2xhc3MuQW5ub3RhdGlvbi5FTExJUFNJUyl9KS5tZXJnZShxKS5hdHRyKCJjbGFzcyIseT0+Zi5DbGFzcy5Bbm5vdGF0aW9uLkdST1VQKyIgIitrKHkuYW5ub3RhdGlvblR5cGUpKyIgIitmLm5vZGUubm9kZUNsYXNzKHkpKS5lYWNoKGZ1bmN0aW9uKHkpe2xldCB4PWQzLnNlbGVjdCh0aGlzKTtuKHgsdyx5LEEpO3kuYW5ub3RhdGlvblR5cGUhPT1kLnJlbmRlci5Bbm5vdGF0aW9uVHlwZS5FTExJUFNJUyYmbSh4LHcseSxBKX0pO3EuZXhpdCgpLmVhY2goZnVuY3Rpb24oeSl7bGV0IHg9ZDMuc2VsZWN0KHRoaXMpO0EucmVtb3ZlQW5ub3RhdGlvbkdyb3VwKHksdyx4KX0pLnJlbW92ZSgpO3JldHVybiBxfX0pKGYuYW5ub3RhdGlvbnx8KGYuYW5ub3RhdGlvbj17fSkpfSkoZC5zY2VuZXx8CihkLnNjZW5lPXt9KSl9KShiLmdyYXBofHwoYi5ncmFwaD17fSkpfSkodGZ8fCh0Zj17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWNvbW1vbi9jb2xvcnMuanMKKGZ1bmN0aW9uKGIpe2IuQ09MT1JTPVt7bmFtZToiR29vZ2xlIEJsdWUiLGNvbG9yOiIjNDE4NGYzIixhY3RpdmU6IiMzYTUzYzUiLGRpc2FibGVkOiIjY2FkOGZjIn0se25hbWU6Ikdvb2dsZSBSZWQiLGNvbG9yOiIjZGI0NDM3IixhY3RpdmU6IiM4ZjJhMGMiLGRpc2FibGVkOiIjZThjNmMxIn0se25hbWU6Ikdvb2dsZSBZZWxsb3ciLGNvbG9yOiIjZjRiNDAwIixhY3RpdmU6IiNkYjkyMDAiLGRpc2FibGVkOiIjZjdlOGIwIn0se25hbWU6Ikdvb2dsZSBHcmVlbiIsY29sb3I6IiMwZjlkNTgiLGFjdGl2ZToiIzQ4ODA0NiIsZGlzYWJsZWQ6IiNjMmUxY2MifSx7bmFtZToiUHVycGxlIixjb2xvcjoiI2FhNDZiYiIsYWN0aXZlOiIjNWMxMzk4IixkaXNhYmxlZDoiI2Q3YmNlNiJ9LHtuYW1lOiJUZWFsIixjb2xvcjoiIzAwYWJjMCIsYWN0aXZlOiIjNDc4MjhlIixkaXNhYmxlZDoiI2MyZWFmMiJ9LHtuYW1lOiJEZWVwIE9yYW5nZSIsY29sb3I6IiNmZjZmNDIiLGFjdGl2ZToiI2NhNGEwNiIsCmRpc2FibGVkOiIjZjJjYmJhIn0se25hbWU6IkxpbWUiLGNvbG9yOiIjOWQ5YzIzIixhY3RpdmU6IiM3Zjc3MWQiLGRpc2FibGVkOiIjZjFmNGMyIn0se25hbWU6IkluZGlnbyIsY29sb3I6IiM1YjZhYmYiLGFjdGl2ZToiIzNlNDdhOSIsZGlzYWJsZWQ6IiNjNWM4ZTgifSx7bmFtZToiUGluayIsY29sb3I6IiNlZjYxOTEiLGFjdGl2ZToiI2NhMWM2MCIsZGlzYWJsZWQ6IiNlOWI5Y2UifSx7bmFtZToiRGVlcCBUZWFsIixjb2xvcjoiIzAwNzg2YSIsYWN0aXZlOiIjMmI0ZjQzIixkaXNhYmxlZDoiI2JlZGVkYSJ9LHtuYW1lOiJEZWVwIFBpbmsiLGNvbG9yOiIjYzExNzVhIixhY3RpdmU6IiM3NTA4NGYiLGRpc2FibGVkOiIjZGU4Y2FlIn0se25hbWU6IkdyYXkiLGNvbG9yOiIjOUU5RTlFIixhY3RpdmU6IiM0MjQyNDIiLGRpc2FibGVkOiJGNUY1RjUifV0ucmVkdWNlKChkLGYpPT57ZFtmLm5hbWVdPWY7cmV0dXJuIGR9LHt9KTtiLk9QX0dST1VQX0NPTE9SUz1be2NvbG9yOiJHb29nbGUgUmVkIiwKZ3JvdXBzOiJnZW5fbGVnYWN5X29wcyBsZWdhY3lfb3BzIGxlZ2FjeV9mbG9nc19pbnB1dCBsZWdhY3lfaW1hZ2VfaW5wdXQgbGVnYWN5X2lucHV0X2V4YW1wbGVfaW5wdXQgbGVnYWN5X3NlcXVlbmNlX2lucHV0IGxlZ2FjeV9zZXRpX2lucHV0X2lucHV0Ii5zcGxpdCgiICIpfSx7Y29sb3I6IkRlZXAgT3JhbmdlIixncm91cHM6WyJjb25zdGFudF9vcHMiXX0se2NvbG9yOiJJbmRpZ28iLGdyb3VwczpbInN0YXRlX29wcyJdfSx7Y29sb3I6IlB1cnBsZSIsZ3JvdXBzOlsibm5fb3BzIiwibm4iXX0se2NvbG9yOiJHb29nbGUgR3JlZW4iLGdyb3VwczpbIm1hdGhfb3BzIl19LHtjb2xvcjoiTGltZSIsZ3JvdXBzOlsiYXJyYXlfb3BzIl19LHtjb2xvcjoiVGVhbCIsZ3JvdXBzOlsiY29udHJvbF9mbG93X29wcyIsImRhdGFfZmxvd19vcHMiXX0se2NvbG9yOiJQaW5rIixncm91cHM6WyJzdW1tYXJ5X29wcyJdfSx7Y29sb3I6IkRlZXAgUGluayIsZ3JvdXBzOlsiaW9fb3BzIl19XS5yZWR1Y2UoKGQsCmYpPT57Zi5ncm91cHMuZm9yRWFjaChmdW5jdGlvbihoKXtkW2hdPWYuY29sb3J9KTtyZXR1cm4gZH0se30pfSkodGZ8fCh0Zj17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWNvbW1vbi9jb21tb24uanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7Zi5PUF9HUkFQSD0ib3BfZ3JhcGgiO2YuQ09OQ0VQVFVBTF9HUkFQSD0iY29uY2VwdHVhbF9ncmFwaCI7Zi5QUk9GSUxFPSJwcm9maWxlIn0pKGQuU2VsZWN0aW9uVHlwZXx8KGQuU2VsZWN0aW9uVHlwZT17fSkpfSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1jb21tb24vY29udGV4dG1lbnUuanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7KGZ1bmN0aW9uKGgpe2Z1bmN0aW9uIGsocil7bGV0IGw9MCxwPTA7Zm9yKDtyJiYwPD1yLm9mZnNldExlZnQmJjA8PXIub2Zmc2V0VG9wOylsKz1yLm9mZnNldExlZnQtci5zY3JvbGxMZWZ0LHArPXIub2Zmc2V0VG9wLXIuc2Nyb2xsVG9wLHI9ci5vZmZzZXRQYXJlbnQ7cmV0dXJue2xlZnQ6bCx0b3A6cH19aC5nZXRNZW51PWZ1bmN0aW9uKHIsbCl7Y29uc3QgcD1yLmdldENvbnRleHRNZW51KCksbT1kMy5zZWxlY3Qoci5nZXRDb250ZXh0TWVudSgpKTtyZXR1cm4gZnVuY3Rpb24obixxKXtmdW5jdGlvbiB1KHkpe3kmJnkuY29tcG9zZWRQYXRoKCkuaW5jbHVkZXMocCl8fChtLnN0eWxlKCJkaXNwbGF5Iiwibm9uZSIpLGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix1LHtjYXB0dXJlOiEwfSkpfWxldCB3PWQzLmV2ZW50O2NvbnN0IEE9ayhyKTttLnN0eWxlKCJkaXNwbGF5IiwiYmxvY2siKS5zdHlsZSgibGVmdCIsCncuY2xpZW50WC1BLmxlZnQrMSsicHgiKS5zdHlsZSgidG9wIix3LmNsaWVudFktQS50b3ArMSsicHgiKTt3LnByZXZlbnREZWZhdWx0KCk7dy5zdG9wUHJvcGFnYXRpb24oKTtkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdSx7Y2FwdHVyZTohMH0pO20uaHRtbCgiIik7bS5hcHBlbmQoInVsIikuc2VsZWN0QWxsKCJsaSIpLmRhdGEobCkuZW50ZXIoKS5hcHBlbmQoImxpIikub24oImNsaWNrIix5PT57eS5hY3Rpb24odGhpcyxuLHEpO3UoKX0pLmh0bWwoZnVuY3Rpb24oeSl7cmV0dXJuIHkudGl0bGUobil9KX19fSkoZi5jb250ZXh0bWVudXx8KGYuY29udGV4dG1lbnU9e30pKX0pKGQuc2NlbmV8fChkLnNjZW5lPXt9KSl9KShiLmdyYXBofHwoYi5ncmFwaD17fSkpfSkodGZ8fCh0Zj17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWNvbW1vbi9lZGdlLmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7KGZ1bmN0aW9uKGYpeyhmdW5jdGlvbihoKXtmdW5jdGlvbiBrKHkpe3JldHVybiB5LnYrZC5FREdFX0tFWV9ERUxJTSt5Lnd9ZnVuY3Rpb24gcih5LHgpe3g9eC5nZXROb2RlQnlOYW1lKHkudik7aWYobnVsbD09eC5vdXRwdXRTaGFwZXN8fF8uaXNFbXB0eSh4Lm91dHB1dFNoYXBlcykpcmV0dXJuIG51bGw7eT14Lm91dHB1dFNoYXBlc1t5Lm91dHB1dFRlbnNvcktleV07cmV0dXJuIG51bGw9PXk/bnVsbDowPT09eS5sZW5ndGg/InNjYWxhciI6eS5tYXAoQz0+LTE9PT1DPyI/IjpDKS5qb2luKCJcdTAwZDciKX1mdW5jdGlvbiBsKHkseCl7cmV0dXJuIHguZWRnZUxhYmVsRnVuY3Rpb24/eC5lZGdlTGFiZWxGdW5jdGlvbih5LHgpOjE8eS5iYXNlRWRnZUxpc3QubGVuZ3RoP3kuYmFzZUVkZ2VMaXN0Lmxlbmd0aCsiIHRlbnNvcnMiOnIoeS5iYXNlRWRnZUxpc3RbMF0seCl9ZnVuY3Rpb24gcCh5LHgsQyl7Y29uc3QgRz1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoYi5ncmFwaC5zY2VuZS5TVkdfTkFNRVNQQUNFLAoicGF0aCIpO2ZvcihsZXQgRD0xO0Q8eS5sZW5ndGg7RCsrKWlmKEcuc2V0QXR0cmlidXRlKCJkIixDKHkuc2xpY2UoMCxEKSkpLEcuZ2V0VG90YWxMZW5ndGgoKT54KXJldHVybiBELTE7cmV0dXJuIHkubGVuZ3RoLTF9ZnVuY3Rpb24gbSh5LHgsQyl7dmFyIEc9ZDMubGluZSgpLngoSz0+Sy54KS55KEs9PksueSksRD1kMy5zZWxlY3QoZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsInBhdGgiKSkuYXR0cigiZCIsRyh5KSksQj0reC5hdHRyKCJtYXJrZXJXaWR0aCIpLEg9eC5hdHRyKCJ2aWV3Qm94Iikuc3BsaXQoIiAiKS5tYXAoTnVtYmVyKTtIPUhbMl0tSFswXTt4PSt4LmF0dHIoInJlZlgiKTtEPUQubm9kZSgpO2lmKEMpcmV0dXJuIEIqPTEteC9ILEM9RC5nZXRQb2ludEF0TGVuZ3RoKEIpLEc9cCh5LEIsRykseVtHLTFdPXt4OkMueCx5OkMueX0seS5zbGljZShHLTEpO0M9MS14L0g7Qj1ELmdldFRvdGFsTGVuZ3RoKCktQipDO0M9CkQuZ2V0UG9pbnRBdExlbmd0aChCKTtHPXAoeSxCLEcpO3lbR109e3g6Qy54LHk6Qy55fTtyZXR1cm4geS5zbGljZSgwLEcrMSl9ZnVuY3Rpb24gbih5LHgsQyxHKXtHPUd8fGYuQ2xhc3MuRWRnZS5MSU5FO3gubGFiZWwmJngubGFiZWwuc3RydWN0dXJhbCYmKEcrPSIgIitmLkNsYXNzLkVkZ2UuU1RSVUNUVVJBTCk7eC5sYWJlbCYmeC5sYWJlbC5tZXRhZWRnZSYmeC5sYWJlbC5tZXRhZWRnZS5udW1SZWZFZGdlcyYmKEcrPSIgIitmLkNsYXNzLkVkZ2UuUkVGRVJFTkNFX0VER0UpO0MuaGFuZGxlRWRnZVNlbGVjdGVkJiYoRys9IiAiK2YuQ2xhc3MuRWRnZS5TRUxFQ1RBQkxFKTtsZXQgRD0icGF0aF8iK2soeCk7aWYoQy5yZW5kZXJIaWVyYXJjaHkuZWRnZVdpZHRoRnVuY3Rpb24pdmFyIEI9Qy5yZW5kZXJIaWVyYXJjaHkuZWRnZVdpZHRoRnVuY3Rpb24oeCxHKTtlbHNlIEI9MSxudWxsIT14LmxhYmVsJiZudWxsIT14LmxhYmVsLm1ldGFlZGdlJiYoQj14LmxhYmVsLm1ldGFlZGdlLnRvdGFsU2l6ZSksCkI9Qy5yZW5kZXJIaWVyYXJjaHkuZWRnZVdpZHRoU2l6ZWRCYXNlZFNjYWxlKEIpO0c9eS5hcHBlbmQoInBhdGgiKS5hdHRyKCJpZCIsRCkuYXR0cigiY2xhc3MiLEcpLnN0eWxlKCJzdHJva2Utd2lkdGgiLEIrInB4Iik7eC5sYWJlbCYmeC5sYWJlbC5tZXRhZWRnZSYmKHgubGFiZWwubWV0YWVkZ2UubnVtUmVmRWRnZXM/KEI9YHJlZmVyZW5jZS1hcnJvd2hlYWQtJHtBKEIpfWAsRy5zdHlsZSgibWFya2VyLXN0YXJ0IixgdXJsKCMke0J9KWApLHgubGFiZWwuc3RhcnRNYXJrZXJJZD1CKTooQj1gZGF0YWZsb3ctYXJyb3doZWFkLSR7QShCKX1gLEcuc3R5bGUoIm1hcmtlci1lbmQiLGB1cmwoIyR7Qn0pYCkseC5sYWJlbC5lbmRNYXJrZXJJZD1CKSk7bnVsbCE9eC5sYWJlbCYmbnVsbCE9eC5sYWJlbC5tZXRhZWRnZSYmKHg9bCh4LmxhYmVsLm1ldGFlZGdlLEMucmVuZGVySGllcmFyY2h5KSxudWxsIT14JiZ5LmFwcGVuZCgidGV4dCIpLmFwcGVuZCgidGV4dFBhdGgiKS5hdHRyKCJ4bGluazpocmVmIiwKIiMiK0QpLmF0dHIoInN0YXJ0T2Zmc2V0IiwiNTAlIikuYXR0cigidGV4dC1hbmNob3IiLCJtaWRkbGUiKS5hdHRyKCJkb21pbmFudC1iYXNlbGluZSIsImNlbnRyYWwiKS50ZXh0KHgpKX1mdW5jdGlvbiBxKHkseCxDLEcsRCl7Rz1DLmxhYmVsO2xldCBCPUcuYWRqb2luaW5nTWV0YWVkZ2UsSD1HLnBvaW50czt5PXkuc2hhZG93Um9vdDtDLmxhYmVsLnN0YXJ0TWFya2VySWQmJihIPW0oSCxkMy5zZWxlY3QoeS5xdWVyeVNlbGVjdG9yKCIjIitDLmxhYmVsLnN0YXJ0TWFya2VySWQpKSwhMCkpO0MubGFiZWwuZW5kTWFya2VySWQmJihIPW0oSCxkMy5zZWxlY3QoeS5xdWVyeVNlbGVjdG9yKCIjIitDLmxhYmVsLmVuZE1hcmtlcklkKSksITEpKTtpZighQilyZXR1cm4gZDMuaW50ZXJwb2xhdGUoRCxoLmludGVycG9sYXRlKEgpKTtsZXQgSz1CLmVkZ2VHcm91cC5ub2RlKCkuZmlyc3RDaGlsZCxMPUcubWV0YWVkZ2UuaW5ib3VuZDtyZXR1cm4gZnVuY3Rpb24oKXtsZXQgSj1LLmdldFBvaW50QXRMZW5ndGgoTD8KSy5nZXRUb3RhbExlbmd0aCgpOjApLm1hdHJpeFRyYW5zZm9ybShLLmdldENUTSgpKS5tYXRyaXhUcmFuc2Zvcm0oeC5nZXRDVE0oKS5pbnZlcnNlKCkpLE89TD8wOkgubGVuZ3RoLTE7SFtPXS54PUoueDtIW09dLnk9Si55O3JldHVybiBoLmludGVycG9sYXRlKEgpfX1mdW5jdGlvbiB1KHkseCl7ZDMuc2VsZWN0KHgpLnNlbGVjdCgicGF0aC4iK2YuQ2xhc3MuRWRnZS5MSU5FKS50cmFuc2l0aW9uKCkuYXR0clR3ZWVuKCJkIixmdW5jdGlvbihDLEcsRCl7cmV0dXJuIHEoeSx0aGlzLEMsRyxEKX0pfWZ1bmN0aW9uIHcoeSx4KXt5LmNsYXNzZWQoImZhZGVkIix4LmxhYmVsLmlzRmFkZWRPdXQpO3g9eC5sYWJlbC5tZXRhZWRnZTt5LnNlbGVjdCgicGF0aC4iK2YuQ2xhc3MuRWRnZS5MSU5FKS5jbGFzc2VkKCJjb250cm9sLWRlcCIseCYmIXgubnVtUmVndWxhckVkZ2VzKX1oLk1JTl9FREdFX1dJRFRIPS43NTtoLk1BWF9FREdFX1dJRFRIPTEyO2guRURHRV9XSURUSF9TSVpFX0JBU0VEX1NDQUxFPQpkMy5zY2FsZVBvdygpLmV4cG9uZW50KC4zKS5kb21haW4oWzEsNUU2XSkucmFuZ2UoW2guTUlOX0VER0VfV0lEVEgsaC5NQVhfRURHRV9XSURUSF0pLmNsYW1wKCEwKTtsZXQgQT1kMy5zY2FsZVF1YW50aXplKCkuZG9tYWluKFtoLk1JTl9FREdFX1dJRFRILGguTUFYX0VER0VfV0lEVEhdKS5yYW5nZShbInNtYWxsIiwibWVkaXVtIiwibGFyZ2UiLCJ4bGFyZ2UiXSk7aC5nZXRFZGdlS2V5PWs7aC5idWlsZEdyb3VwPWZ1bmN0aW9uKHkseCxDKXtsZXQgRz1bXTtHPV8ucmVkdWNlKHguZWRnZXMoKSwoRCxCKT0+e2xldCBIPXguZWRnZShCKTtELnB1c2goe3Y6Qi52LHc6Qi53LGxhYmVsOkh9KTtyZXR1cm4gRH0sRyk7eT1mLnNlbGVjdE9yQ3JlYXRlQ2hpbGQoeSwiZyIsZi5DbGFzcy5FZGdlLkNPTlRBSU5FUikuc2VsZWN0QWxsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGROb2Rlc30pLmRhdGEoRyxrKTt5LmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLGYuQ2xhc3MuRWRnZS5HUk9VUCkuYXR0cigiZGF0YS1lZGdlIiwKaykuZWFjaChmdW5jdGlvbihEKXtsZXQgQj1kMy5zZWxlY3QodGhpcyk7RC5sYWJlbC5lZGdlR3JvdXA9QjtDLl9lZGdlR3JvdXBJbmRleFtrKEQpXT1CO2lmKEMuaGFuZGxlRWRnZVNlbGVjdGVkKUIub24oImNsaWNrIixIPT57ZDMuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7Qy5maXJlKCJlZGdlLXNlbGVjdCIse2VkZ2VEYXRhOkgsZWRnZUdyb3VwOkJ9KX0pO24oQixELEMpfSkubWVyZ2UoeSkuZWFjaChmdW5jdGlvbigpe3UoQyx0aGlzKX0pLmVhY2goZnVuY3Rpb24oRCl7dyhkMy5zZWxlY3QodGhpcyksRCxDKX0pO3kuZXhpdCgpLmVhY2goRD0+e2RlbGV0ZSBDLl9lZGdlR3JvdXBJbmRleFtrKEQpXX0pLnJlbW92ZSgpO3JldHVybiB5fTtoLmdldExhYmVsRm9yQmFzZUVkZ2U9cjtoLmdldExhYmVsRm9yRWRnZT1sO2guYXBwZW5kRWRnZT1uO2guaW50ZXJwb2xhdGU9ZDMubGluZSgpLmN1cnZlKGQzLmN1cnZlQmFzaXMpLngoeT0+eS54KS55KHk9PnkueSl9KShmLmVkZ2V8fChmLmVkZ2U9Cnt9KSl9KShkLnNjZW5lfHwoZC5zY2VuZT17fSkpfSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1jb21tb24vZXh0ZXJucy5qcwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWNvbW1vbi9ncmFwaC5qcwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpe2Z1bmN0aW9uIGYoSixPLFMsTixSKXtyZXR1cm4oUz9TKyIvIjoiIikrKEorKCJ1bmRlZmluZWQiIT09dHlwZW9mIE4mJiJ1bmRlZmluZWQiIT09dHlwZW9mIFI/IlsiK04rIi0iK1IrIl0iOiIjIikrTyl9ZnVuY3Rpb24gaChKKXtpZighSilyZXR1cm4gbnVsbDtmb3IobGV0IE89MDtPPEoubGVuZ3RoO08rKyl7bGV0IHtrZXk6Uyx2YWx1ZTpOfT1KW09dO2lmKCJfb3V0cHV0X3NoYXBlcyI9PT1TKXtpZighTi5saXN0LnNoYXBlKWJyZWFrO2xldCBSPU4ubGlzdC5zaGFwZS5tYXAoWD0+WC51bmtub3duX3Jhbms/bnVsbDpudWxsPT1YLmRpbXx8MT09PVguZGltLmxlbmd0aCYmbnVsbD09WC5kaW1bMF0uc2l6ZT9bXTpYLmRpbS5tYXAoYWE9PmFhLnNpemUpKTtKLnNwbGljZShPLDEpO3JldHVybiBSfX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBrKEope2lmKCFKKXJldHVybiBudWxsO2ZvcihsZXQgTz0wO088Si5sZW5ndGg7TysrKWlmKCJfWGxhQ2x1c3RlciI9PT0KSltPXS5rZXkpcmV0dXJuIEpbT10udmFsdWUuc3x8bnVsbDtyZXR1cm4gbnVsbH1mdW5jdGlvbiByKEope2xldCBPPVtdO18uZWFjaChKLFM9PntsZXQgTj0iXiI9PT1TWzBdO04mJihTPVMuc3Vic3RyaW5nKDEpKTtsZXQgUj1TLFg9IjAiLGFhPVMubWF0Y2goLyguKik6KFx3KzpcZCspJC8pO2lmKGFhKVI9YWFbMV0sWD1hYVsyXTtlbHNlIGlmKGFhPVMubWF0Y2goLyguKik6KFxkKykkLykpUj1hYVsxXSxYPWFhWzJdOzAhPT1PLmxlbmd0aCYmUj09PU9bTy5sZW5ndGgtMV0ubmFtZXx8Ty5wdXNoKHtuYW1lOlIsb3V0cHV0VGVuc29yS2V5OlgsaXNDb250cm9sRGVwZW5kZW5jeTpOfSl9KTtyZXR1cm4gT31mdW5jdGlvbiBsKEosTyxTLE4sUixYKXtPIT09Uy5uYW1lJiZKLmVkZ2VzLnB1c2goe3Y6Tyx3OlMubmFtZSxvdXRwdXRUZW5zb3JLZXk6Ti5vdXRwdXRUZW5zb3JLZXksaXNDb250cm9sRGVwZW5kZW5jeTpOLmlzQ29udHJvbERlcGVuZGVuY3ksaXNSZWZlcmVuY2VFZGdlOiEwPT09ClIucmVmRWRnZXNbUy5vcCsiICIrWF19KX1mdW5jdGlvbiBwKEosTyxTKXtTPVN8fHt9O2xldCBOPW5ldyBncmFwaGxpYi5HcmFwaChTKTtOLnNldEdyYXBoKHtuYW1lOkoscmFua2RpcjpTLnJhbmtkaXJ8fCJCVCIsdHlwZTpPfSk7cmV0dXJuIE59ZnVuY3Rpb24gbShKKXtyZXR1cm4gZnVuY3Rpb24oTyl7Zm9yKGxldCBTPTA7UzxKLmxlbmd0aDtTKyspe2xldCBOPW5ldyBSZWdFeHAoSltTXSk7aWYoInN0cmluZyI9PT10eXBlb2YgTy5vcCYmTy5vcC5tYXRjaChOKSlyZXR1cm4hMH1yZXR1cm4hMX19ZnVuY3Rpb24gbihKKXtsZXQgTz1KLnNwbGl0KGQuTkFNRVNQQUNFX0RFTElNKTtyZXR1cm4gSitkLk5BTUVTUEFDRV9ERUxJTSsiKCIrT1tPLmxlbmd0aC0xXSsiKSJ9ZnVuY3Rpb24gcShKLE8pe2xldCBTPXt9LE49e307Si5zb3J0KCk7Zm9yKGxldCBSPTA7UjxKLmxlbmd0aC0xOysrUil7bGV0IFg9SltSXTtfLmVhY2godyhYKS5zbGljZSgwLC0xKSxhYT0+e05bYWFdPSEwfSk7Zm9yKGxldCBhYT0KUisxO2FhPEoubGVuZ3RoOysrYWEpe2xldCBmYT1KW2FhXTtpZihfLnN0YXJ0c1dpdGgoZmEsWCkpe2lmKGZhLmxlbmd0aD5YLmxlbmd0aCYmZmEuY2hhckF0KFgubGVuZ3RoKT09PWQuTkFNRVNQQUNFX0RFTElNKXtTW1hdPW4oWCk7YnJlYWt9fWVsc2UgYnJlYWt9fV8uZWFjaChPLFI9PntSIGluIE4mJihTW1JdPW4oUikpfSk7cmV0dXJuIFN9ZnVuY3Rpb24gdShKKXtsZXQgTz1KLm5vZGVzKCkubWFwKGZ1bmN0aW9uKFMpe3JldHVybiBKLm5laWdoYm9ycyhTKS5sZW5ndGh9KTtPLnNvcnQoKTtyZXR1cm4gT31mdW5jdGlvbiB3KEosTyl7bGV0IFM9W10sTj1KLmluZGV4T2YoZC5OQU1FU1BBQ0VfREVMSU0pO2Zvcig7MDw9TjspUy5wdXNoKEouc3Vic3RyaW5nKDAsTikpLE49Si5pbmRleE9mKGQuTkFNRVNQQUNFX0RFTElNLE4rMSk7TyYmKE89T1tKXSkmJlMucHVzaChPKTtTLnB1c2goSik7cmV0dXJuIFN9ZC5OQU1FU1BBQ0VfREVMSU09Ii8iO2QuUk9PVF9OQU1FPSJfX3Jvb3RfXyI7CmQuRlVOQ1RJT05fTElCUkFSWV9OT0RFX1BSRUZJWD0iX19mdW5jdGlvbl9saWJyYXJ5X18iO2QuTEFSR0VfQVRUUlNfS0VZPSJfdG9vX2xhcmdlX2F0dHJzIjtkLkxJTUlUX0FUVFJfU0laRT0xMDI0O2QuRURHRV9LRVlfREVMSU09Ii0tIjtsZXQgQTsoZnVuY3Rpb24oSil7SltKLkZVTEw9MF09IkZVTEwiO0pbSi5FTUJFRERFRD0xXT0iRU1CRURERUQiO0pbSi5NRVRBPTJdPSJNRVRBIjtKW0ouU0VSSUVTPTNdPSJTRVJJRVMiO0pbSi5DT1JFPTRdPSJDT1JFIjtKW0ouU0hBRE9XPTVdPSJTSEFET1ciO0pbSi5CUklER0U9Nl09IkJSSURHRSI7SltKLkVER0U9N109IkVER0UifSkoQT1kLkdyYXBoVHlwZXx8KGQuR3JhcGhUeXBlPXt9KSk7bGV0IHk7KGZ1bmN0aW9uKEope0pbSi5NRVRBPTBdPSJNRVRBIjtKW0ouT1A9MV09Ik9QIjtKW0ouU0VSSUVTPTJdPSJTRVJJRVMiO0pbSi5CUklER0U9M109IkJSSURHRSI7SltKLkVMTElQU0lTPTRdPSJFTExJUFNJUyJ9KSh5PWQuTm9kZVR5cGV8fAooZC5Ob2RlVHlwZT17fSkpO2xldCB4OyhmdW5jdGlvbihKKXtKW0ouSU5DTFVERT0wXT0iSU5DTFVERSI7SltKLkVYQ0xVREU9MV09IkVYQ0xVREUiO0pbSi5VTlNQRUNJRklFRD0yXT0iVU5TUEVDSUZJRUQifSkoeD1kLkluY2x1c2lvblR5cGV8fChkLkluY2x1c2lvblR5cGU9e30pKTsoZnVuY3Rpb24oSil7SltKLkdST1VQPTBdPSJHUk9VUCI7SltKLlVOR1JPVVA9MV09IlVOR1JPVVAifSkoZC5TZXJpZXNHcm91cGluZ1R5cGV8fChkLlNlcmllc0dyb3VwaW5nVHlwZT17fSkpO2NsYXNzIEN7Y29uc3RydWN0b3IoKXt0aGlzLm5vZGVzPXt9O3RoaXMuZWRnZXM9W119fWQuU2xpbUdyYXBoPUM7Y2xhc3MgR3tjb25zdHJ1Y3RvcihKKXt0aGlzLnR5cGU9eS5FTExJUFNJUzt0aGlzLmlzR3JvdXBOb2RlPSExO3RoaXMuY2FyZGluYWxpdHk9MTt0aGlzLnN0YXRzPXRoaXMucGFyZW50Tm9kZT1udWxsO3RoaXMuc2V0TnVtTW9yZU5vZGVzKEopO3RoaXMuaW5jbHVkZT14LlVOU1BFQ0lGSUVEfXNldE51bU1vcmVOb2RlcyhKKXt0aGlzLm51bU1vcmVOb2Rlcz0KSjt0aGlzLm5hbWU9Ii4uLiAiK0orIiBtb3JlIn19ZC5FbGxpcHNpc05vZGVJbXBsPUc7Y2xhc3MgRHtjb25zdHJ1Y3RvcihKKXt0aGlzLm9wPUoub3A7dGhpcy5uYW1lPUoubmFtZTt0aGlzLmRldmljZT1KLmRldmljZTt0aGlzLmF0dHI9Si5hdHRyO3RoaXMuaW5wdXRzPXIoSi5pbnB1dCk7dGhpcy5vdXRwdXRTaGFwZXM9aChKLmF0dHIpO3RoaXMueGxhQ2x1c3Rlcj1rKEouYXR0cik7dGhpcy5jb21wYXRpYmxlPSExO3RoaXMudHlwZT15Lk9QO3RoaXMuaXNHcm91cE5vZGU9ITE7dGhpcy5jYXJkaW5hbGl0eT0xO3RoaXMuaW5FbWJlZGRpbmdzPVtdO3RoaXMub3V0RW1iZWRkaW5ncz1bXTt0aGlzLnBhcmVudE5vZGU9bnVsbDt0aGlzLmluY2x1ZGU9eC5VTlNQRUNJRklFRDt0aGlzLm93bmluZ1Nlcmllcz1udWxsfX1kLk9wTm9kZUltcGw9RDtkLmNyZWF0ZU1ldGFub2RlPWZ1bmN0aW9uKEosTz17fSl7cmV0dXJuIG5ldyBIKEosTyl9O2Quam9pblN0YXRzSW5mb1dpdGhHcmFwaD1mdW5jdGlvbihKLApPLFMpe18uZWFjaChKLm5vZGVzLE49PntOLnN0YXRzPW51bGx9KTtfLmVhY2goTy5kZXZfc3RhdHMsTj0+e1MmJiFTW04uZGV2aWNlXXx8Xy5lYWNoKE4ubm9kZV9zdGF0cyxSPT57bGV0IFg9Ui5ub2RlX25hbWUgaW4gSi5ub2Rlcz9SLm5vZGVfbmFtZTpuKFIubm9kZV9uYW1lKTtpZihYIGluIEoubm9kZXMpe3ZhciBhYT0wO1IubWVtb3J5JiZfLmVhY2goUi5tZW1vcnksb2E9PntvYS50b3RhbF9ieXRlcyYmKDA8b2EudG90YWxfYnl0ZXM/YWErPU51bWJlcihvYS50b3RhbF9ieXRlcyk6Y29uc29sZS5sb2coImlnbm9yaW5nIG5lZ2F0aXZlIG1lbW9yeSBhbGxvY2F0aW9uIGZvciAiK1gpKX0pO3ZhciBmYT1udWxsO1Iub3V0cHV0JiYoZmE9Xy5tYXAoUi5vdXRwdXQsb2E9Pl8ubWFwKG9hLnRlbnNvcl9kZXNjcmlwdGlvbi5zaGFwZS5kaW0sWj0+TnVtYmVyKFouc2l6ZSkpKSk7Si5ub2Rlc1tYXS5kZXZpY2U9Ti5kZXZpY2U7bnVsbD09Si5ub2Rlc1tYXS5zdGF0cyYmKEoubm9kZXNbWF0uc3RhdHM9Cm5ldyBCKGZhKSk7Si5ub2Rlc1tYXS5zdGF0cy5hZGRCeXRlc0FsbG9jYXRpb24oYWEpO1IuYWxsX2VuZF9yZWxfbWljcm9zJiYoMDxSLmFsbF9lbmRfcmVsX21pY3Jvcz9KLm5vZGVzW1hdLnN0YXRzLmFkZEV4ZWN1dGlvblRpbWUoUi5hbGxfc3RhcnRfbWljcm9zLFIuYWxsX3N0YXJ0X21pY3JvcytSLmFsbF9lbmRfcmVsX21pY3Jvcyk6Y29uc29sZS5sb2coImlnbm9yaW5nIG5lZ2F0aXZlIHJ1bnRpbWUgZm9yICIrWCkpfX0pfSl9O2NsYXNzIEJ7Y29uc3RydWN0b3IoSil7dGhpcy50b3RhbEJ5dGVzPTA7dGhpcy5vdXRwdXRTaXplPUp9YWRkRXhlY3V0aW9uVGltZShKLE8pe3RoaXMuc3RhcnRUaW1lPW51bGwhPXRoaXMuc3RhcnRUaW1lP01hdGgubWluKHRoaXMuc3RhcnRUaW1lLEopOko7dGhpcy5lbmRUaW1lPW51bGwhPXRoaXMuZW5kVGltZT9NYXRoLm1heCh0aGlzLmVuZFRpbWUsTyk6T31hZGRCeXRlc0FsbG9jYXRpb24oSil7dGhpcy50b3RhbEJ5dGVzPW51bGwhPXRoaXMudG90YWxCeXRlcz8KTWF0aC5tYXgodGhpcy50b3RhbEJ5dGVzLEopOkp9Y29tYmluZShKKXtudWxsIT1KLnRvdGFsQnl0ZXMmJih0aGlzLnRvdGFsQnl0ZXMrPUoudG90YWxCeXRlcyk7bnVsbCE9Si5nZXRUb3RhbE1pY3JvcygpJiZ0aGlzLmFkZEV4ZWN1dGlvblRpbWUoSi5zdGFydFRpbWUsSi5lbmRUaW1lKX1nZXRUb3RhbE1pY3Jvcygpe3JldHVybiBudWxsPT10aGlzLnN0YXJ0VGltZXx8bnVsbD09dGhpcy5lbmRUaW1lP251bGw6dGhpcy5lbmRUaW1lLXRoaXMuc3RhcnRUaW1lfX1kLk5vZGVTdGF0cz1CO2NsYXNzIEh7Y29uc3RydWN0b3IoSixPPXt9KXt0aGlzLm5hbWU9Sjt0aGlzLnR5cGU9eS5NRVRBO3RoaXMuZGVwdGg9MTt0aGlzLmlzR3JvdXBOb2RlPSEwO3RoaXMuY2FyZGluYWxpdHk9MDt0aGlzLm1ldGFncmFwaD1wKEosQS5NRVRBLE8pO3RoaXMuYnJpZGdlZ3JhcGg9bnVsbDt0aGlzLm9wSGlzdG9ncmFtPXt9O3RoaXMuZGV2aWNlSGlzdG9ncmFtPXt9O3RoaXMueGxhQ2x1c3Rlckhpc3RvZ3JhbT0Ke307dGhpcy5jb21wYXRpYmlsaXR5SGlzdG9ncmFtPXtjb21wYXRpYmxlOjAsaW5jb21wYXRpYmxlOjB9O3RoaXMucGFyZW50Tm9kZT10aGlzLnRlbXBsYXRlSWQ9bnVsbDt0aGlzLmhhc05vbkNvbnRyb2xFZGdlcz0hMTt0aGlzLmluY2x1ZGU9eC5VTlNQRUNJRklFRDt0aGlzLmFzc29jaWF0ZWRGdW5jdGlvbj0iIn1nZXRGaXJzdENoaWxkKCl7cmV0dXJuIHRoaXMubWV0YWdyYXBoLm5vZGUodGhpcy5tZXRhZ3JhcGgubm9kZXMoKVswXSl9Z2V0Um9vdE9wKCl7bGV0IEo9dGhpcy5uYW1lLnNwbGl0KCIvIik7cmV0dXJuIHRoaXMubWV0YWdyYXBoLm5vZGUodGhpcy5uYW1lKyIvKCIrSltKLmxlbmd0aC0xXSsiKSIpfWxlYXZlcygpe2xldCBKPVtdLE89W3RoaXNdLFM7Zm9yKDtPLmxlbmd0aDspe2xldCBOPU8uc2hpZnQoKTtOLmlzR3JvdXBOb2RlPyhTPU4ubWV0YWdyYXBoLF8uZWFjaChTLm5vZGVzKCksUj0+Ty5wdXNoKFMubm9kZShSKSkpKTpKLnB1c2goTi5uYW1lKX1yZXR1cm4gSn19CmQuTWV0YW5vZGVJbXBsPUg7ZC5jcmVhdGVNZXRhZWRnZT1mdW5jdGlvbihKLE8pe3JldHVybiBuZXcgSyhKLE8pfTtjbGFzcyBLe2NvbnN0cnVjdG9yKEosTyl7dGhpcy52PUo7dGhpcy53PU87dGhpcy5iYXNlRWRnZUxpc3Q9W107dGhpcy5pbmJvdW5kPW51bGw7dGhpcy50b3RhbFNpemU9dGhpcy5udW1SZWZFZGdlcz10aGlzLm51bUNvbnRyb2xFZGdlcz10aGlzLm51bVJlZ3VsYXJFZGdlcz0wfWFkZEJhc2VFZGdlKEosTyl7dGhpcy5iYXNlRWRnZUxpc3QucHVzaChKKTtKLmlzQ29udHJvbERlcGVuZGVuY3k/dGhpcy5udW1Db250cm9sRWRnZXMrPTE6dGhpcy5udW1SZWd1bGFyRWRnZXMrPTE7Si5pc1JlZmVyZW5jZUVkZ2UmJih0aGlzLm51bVJlZkVkZ2VzKz0xKTt0aGlzLnRvdGFsU2l6ZSs9Sy5jb21wdXRlU2l6ZU9mRWRnZShKLE8pO08ubWF4TWV0YUVkZ2VTaXplPU1hdGgubWF4KE8ubWF4TWV0YUVkZ2VTaXplLHRoaXMudG90YWxTaXplKX1zdGF0aWMgY29tcHV0ZVNpemVPZkVkZ2UoSiwKTyl7bGV0IFM9Ty5ub2RlKEoudik7aWYoIVMub3V0cHV0U2hhcGVzKXJldHVybiAxO08uaGFzU2hhcGVJbmZvPSEwO0o9T2JqZWN0LmtleXMoUy5vdXRwdXRTaGFwZXMpLm1hcChOPT5TLm91dHB1dFNoYXBlc1tOXSkubWFwKE49Pm51bGw9PU4/MTpOLnJlZHVjZSgoUixYKT0+ey0xPT09WCYmKFg9MSk7cmV0dXJuIFIqWH0sMSkpO3JldHVybiBfLnN1bShKKX19ZC5NZXRhZWRnZUltcGw9SztkLmNyZWF0ZVNlcmllc05vZGU9ZnVuY3Rpb24oSixPLFMsTixSLFgpe3JldHVybiBuZXcgTChKLE8sUyxOLFIsWCl9O2QuZ2V0U2VyaWVzTm9kZU5hbWU9ZjtjbGFzcyBMe2NvbnN0cnVjdG9yKEosTyxTLE4sUixYKXt0aGlzLm5hbWU9Unx8ZihKLE8sUyk7dGhpcy50eXBlPXkuU0VSSUVTO3RoaXMuaGFzTG9vcD0hMTt0aGlzLnByZWZpeD1KO3RoaXMuc3VmZml4PU87dGhpcy5jbHVzdGVySWQ9Tjt0aGlzLmlkcz1bXTt0aGlzLnBhcmVudD1TO3RoaXMuaXNHcm91cE5vZGU9ITA7dGhpcy5jYXJkaW5hbGl0eT0KMDt0aGlzLm1ldGFncmFwaD1wKFIsQS5TRVJJRVMsWCk7dGhpcy5wYXJlbnROb2RlPXRoaXMuYnJpZGdlZ3JhcGg9bnVsbDt0aGlzLmRldmljZUhpc3RvZ3JhbT17fTt0aGlzLnhsYUNsdXN0ZXJIaXN0b2dyYW09e307dGhpcy5jb21wYXRpYmlsaXR5SGlzdG9ncmFtPXtjb21wYXRpYmxlOjAsaW5jb21wYXRpYmxlOjB9O3RoaXMuaGFzTm9uQ29udHJvbEVkZ2VzPSExO3RoaXMuaW5jbHVkZT14LlVOU1BFQ0lGSUVEfX1kLkRlZmF1bHRCdWlsZFBhcmFtcz17ZW5hYmxlRW1iZWRkaW5nOiEwLGluRW1iZWRkaW5nVHlwZXM6WyJDb25zdCJdLG91dEVtYmVkZGluZ1R5cGVzOlsiXlthLXpBLVpdK1N1bW1hcnkkIl0scmVmRWRnZXM6eyJBc3NpZ24gMCI6ITAsIkFzc2lnbkFkZCAwIjohMCwiQXNzaWduU3ViIDAiOiEwLCJhc3NpZ24gMCI6ITAsImFzc2lnbl9hZGQgMCI6ITAsImFzc2lnbl9zdWIgMCI6ITAsImNvdW50X3VwX3RvIDAiOiEwLCJTY2F0dGVyQWRkIDAiOiEwLCJTY2F0dGVyU3ViIDAiOiEwLAoiU2NhdHRlclVwZGF0ZSAwIjohMCwic2NhdHRlcl9hZGQgMCI6ITAsInNjYXR0ZXJfc3ViIDAiOiEwLCJzY2F0dGVyX3VwZGF0ZSAwIjohMH19O2QuYnVpbGQ9ZnVuY3Rpb24oSixPLFMpe2xldCBOPXt9LFI9e30sWD17fSxhYT1tKE8uaW5FbWJlZGRpbmdUeXBlcyksZmE9bShPLm91dEVtYmVkZGluZ1R5cGVzKSxvYT1bXSxaPUoubm9kZSxjYT1BcnJheShaLmxlbmd0aCk7cmV0dXJuIGIuZ3JhcGgudXRpbC5ydW5Bc3luY1Rhc2soIk5vcm1hbGl6aW5nIG5hbWVzIiwzMCwoKT0+e2xldCBqYT1BcnJheShaLmxlbmd0aCksYmE9MDtjb25zdCBrYT1FYT0+e2xldCB2YT1uZXcgRChFYSk7aWYoYWEodmEpKXJldHVybiBvYS5wdXNoKHZhLm5hbWUpLE5bdmEubmFtZV09dmE7aWYoZmEodmEpKXJldHVybiBvYS5wdXNoKHZhLm5hbWUpLFJbdmEubmFtZV09dmEsXy5lYWNoKHZhLmlucHV0cyx5YT0+e3lhPXlhLm5hbWU7WFt5YV09WFt5YV18fFtdO1hbeWFdLnB1c2godmEpfSksdmE7amFbYmFdPQp2YTtjYVtiYV09dmEubmFtZTtiYSsrO3JldHVybiB2YX07Xy5lYWNoKFosa2EpO2NvbnN0IFc9RWE9Pntjb25zdCB2YT1kLkZVTkNUSU9OX0xJQlJBUllfTk9ERV9QUkVGSVgrRWEuc2lnbmF0dXJlLm5hbWU7a2Eoe25hbWU6dmEsaW5wdXQ6W10sZGV2aWNlOiIiLG9wOiIiLGF0dHI6W119KTtpZihFYS5zaWduYXR1cmUuaW5wdXRfYXJnKXtsZXQgeGE9MDt2YXIgeWE9U2E9PntrYSh7bmFtZTp2YStkLk5BTUVTUEFDRV9ERUxJTStTYS5uYW1lLGlucHV0OltdLGRldmljZToiIixvcDoiaW5wdXRfYXJnIixhdHRyOlt7a2V5OiJUIix2YWx1ZTp7dHlwZTpTYS50eXBlfX1dfSkuZnVuY3Rpb25JbnB1dEluZGV4PXhhO3hhKyt9O0VhLnNpZ25hdHVyZS5pbnB1dF9hcmcubmFtZT95YShFYS5zaWduYXR1cmUuaW5wdXRfYXJnKTpfLmVhY2goRWEuc2lnbmF0dXJlLmlucHV0X2FyZyx5YSl9bGV0IEFhPTA7Y29uc3QgRmE9e307RWEuc2lnbmF0dXJlLm91dHB1dF9hcmcmJih5YT14YT0+e0ZhW3ZhKwpkLk5BTUVTUEFDRV9ERUxJTSt4YS5uYW1lXT1BYTtBYSsrfSxFYS5zaWduYXR1cmUub3V0cHV0X2FyZy5uYW1lP3lhKEVhLnNpZ25hdHVyZS5vdXRwdXRfYXJnKTpfLmVhY2goRWEuc2lnbmF0dXJlLm91dHB1dF9hcmcseWEpKTtfLmVhY2goRWEubm9kZV9kZWYseGE9Pnt4YS5uYW1lPXZhKyIvIit4YS5uYW1lOyJzdHJpbmciPT09dHlwZW9mIHhhLmlucHV0JiYoeGEuaW5wdXQ9W3hhLmlucHV0XSk7Y29uc3QgU2E9a2EoeGEpO18uaXNOdW1iZXIoRmFbeGEubmFtZV0pJiYoU2EuZnVuY3Rpb25PdXRwdXRJbmRleD1GYVt4YS5uYW1lXSk7Xy5lYWNoKFNhLmlucHV0cyxYYT0+e1hhLm5hbWU9dmErZC5OQU1FU1BBQ0VfREVMSU0rWGEubmFtZX0pfSl9O0oubGlicmFyeSYmSi5saWJyYXJ5LmZ1bmN0aW9uJiZfLmVhY2goSi5saWJyYXJ5LmZ1bmN0aW9uLFcpO2phLnNwbGljZShiYSk7Y2Euc3BsaWNlKGJhKTtyZXR1cm4gamF9LFMpLnRoZW4oamE9PmIuZ3JhcGgudXRpbC5ydW5Bc3luY1Rhc2soIkJ1aWxkaW5nIHRoZSBkYXRhIHN0cnVjdHVyZSIsCjcwLCgpPT57bGV0IGJhPXEoY2Esb2EpLGthPW5ldyBDO18uZWFjaChqYSxXPT57bGV0IEVhPWJhW1cubmFtZV18fFcubmFtZTtrYS5ub2Rlc1tFYV09VztXLm5hbWUgaW4gWCYmKFcub3V0RW1iZWRkaW5ncz1YW1cubmFtZV0sXy5lYWNoKFcub3V0RW1iZWRkaW5ncyx2YT0+e3ZhLm5hbWU9YmFbdmEubmFtZV18fHZhLm5hbWV9KSk7Vy5uYW1lPUVhfSk7Xy5lYWNoKGphLFc9PntfLmVhY2goVy5pbnB1dHMsKEVhLHZhKT0+e2xldCB5YT1FYS5uYW1lO2lmKHlhIGluIE4pe0VhPU5beWFdO1cuaW5FbWJlZGRpbmdzLnB1c2goRWEpO2Zvcih2YXIgQWEgb2YgRWEuaW5wdXRzKWwoa2EsYmFbQWEubmFtZV18fEFhLm5hbWUsVyxBYSxPLHZhKX1lbHNlIGlmKHlhIGluIFIpe0FhPVJbeWFdO2ZvcihsZXQgRmEgb2YgQWEuaW5wdXRzKWwoa2EsYmFbRmEubmFtZV18fEZhLm5hbWUsVyxFYSxPLHZhKX1lbHNlIGwoa2EsYmFbeWFdfHx5YSxXLEVhLE8sdmEpfSl9KTtfLmVhY2goTixXPT57Vy5uYW1lPQpiYVtXLm5hbWVdfHxXLm5hbWV9KTtyZXR1cm4ga2F9LFMpKX07ZC5jcmVhdGVHcmFwaD1wO2QuZ2V0U3RyaWN0TmFtZT1uO2QuaGFzU2ltaWxhckRlZ3JlZVNlcXVlbmNlPWZ1bmN0aW9uKEosTyl7Sj11KEopO089dShPKTtmb3IobGV0IFM9MDtTPEoubGVuZ3RoO1MrKylpZihKW1NdIT09T1tTXSlyZXR1cm4hMTtyZXR1cm4hMH07ZC5nZXRIaWVyYXJjaGljYWxQYXRoPXc7ZC5nZXRJbmNsdWRlTm9kZUJ1dHRvblN0cmluZz1mdW5jdGlvbihKKXtyZXR1cm4gSj09PWIuZ3JhcGguSW5jbHVzaW9uVHlwZS5FWENMVURFPyJBZGQgdG8gbWFpbiBncmFwaCI6IlJlbW92ZSBmcm9tIG1haW4gZ3JhcGgifTtkLmdldEdyb3VwU2VyaWVzTm9kZUJ1dHRvblN0cmluZz1mdW5jdGlvbihKKXtyZXR1cm4gSj09PWIuZ3JhcGguU2VyaWVzR3JvdXBpbmdUeXBlLkdST1VQPyJVbmdyb3VwIHRoaXMgc2VyaWVzIG9mIG5vZGVzIjoiR3JvdXAgdGhpcyBzZXJpZXMgb2Ygbm9kZXMifTtkLnRvZ2dsZU5vZGVTZXJpZXNHcm91cD0KZnVuY3Rpb24oSixPKXtKW09dPU8gaW4gSiYmSltPXSE9PWIuZ3JhcGguU2VyaWVzR3JvdXBpbmdUeXBlLkdST1VQP2IuZ3JhcGguU2VyaWVzR3JvdXBpbmdUeXBlLkdST1VQOmIuZ3JhcGguU2VyaWVzR3JvdXBpbmdUeXBlLlVOR1JPVVB9fSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1jb21tb24vaGllcmFyY2h5LmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7KGZ1bmN0aW9uKGYpe2Z1bmN0aW9uIGgodyxBLHkseCl7QT15P3cuaW5FZGdlcyhBLm5hbWUpOncub3V0RWRnZXMoQS5uYW1lKTtfLmVhY2goQSxDPT57Qz13LmVkZ2UoQyk7KEMubnVtUmVndWxhckVkZ2VzP3gucmVndWxhcjp4LmNvbnRyb2wpLnB1c2goQyl9KX1mdW5jdGlvbiBrKHcsQSl7Y29uc3QgeT17fTtfLmVhY2goQS5ub2Rlcyx4PT57bGV0IEM9ZC5nZXRIaWVyYXJjaGljYWxQYXRoKHgubmFtZSksRz13LnJvb3Q7Ry5kZXB0aD1NYXRoLm1heChDLmxlbmd0aCxHLmRlcHRoKTt5W3gub3BdfHwoeVt4Lm9wXT1bXSk7eVt4Lm9wXS5wdXNoKHgpO2ZvcihsZXQgQj0wO0I8Qy5sZW5ndGg7QisrKXtHLmRlcHRoPU1hdGgubWF4KEcuZGVwdGgsQy5sZW5ndGgtQik7Ry5jYXJkaW5hbGl0eSs9eC5jYXJkaW5hbGl0eTtHLm9wSGlzdG9ncmFtW3gub3BdPShHLm9wSGlzdG9ncmFtW3gub3BdfHwwKSsxO251bGwhPXguZGV2aWNlJiYoRy5kZXZpY2VIaXN0b2dyYW1beC5kZXZpY2VdPQooRy5kZXZpY2VIaXN0b2dyYW1beC5kZXZpY2VdfHwwKSsxKTtudWxsIT14LnhsYUNsdXN0ZXImJihHLnhsYUNsdXN0ZXJIaXN0b2dyYW1beC54bGFDbHVzdGVyXT0oRy54bGFDbHVzdGVySGlzdG9ncmFtW3gueGxhQ2x1c3Rlcl18fDApKzEpO3guY29tcGF0aWJsZT9HLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZT0oRy5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmNvbXBhdGlibGV8fDApKzE6Ry5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZT0oRy5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZXx8MCkrMTtfLmVhY2goeC5pbkVtYmVkZGluZ3MsSz0+e0suY29tcGF0aWJsZT9HLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZT0oRy5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmNvbXBhdGlibGV8fDApKzE6Ry5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZT0oRy5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZXx8CjApKzF9KTtfLmVhY2goeC5vdXRFbWJlZGRpbmdzLEs9PntLLmNvbXBhdGlibGU/Ry5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmNvbXBhdGlibGU9KEcuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5jb21wYXRpYmxlfHwwKSsxOkcuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5pbmNvbXBhdGlibGU9KEcuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5pbmNvbXBhdGlibGV8fDApKzF9KTtpZihCPT09Qy5sZW5ndGgtMSlicmVhazt2YXIgRD1DW0JdO2xldCBIPXcubm9kZShEKTtIfHwoSD1kLmNyZWF0ZU1ldGFub2RlKEQsdy5ncmFwaE9wdGlvbnMpLEgucGFyZW50Tm9kZT1HLHcuc2V0Tm9kZShELEgpLEcubWV0YWdyYXBoLnNldE5vZGUoRCxIKSwwPT09RC5pbmRleE9mKGIuZ3JhcGguRlVOQ1RJT05fTElCUkFSWV9OT0RFX1BSRUZJWCkmJkcubmFtZT09PWIuZ3JhcGguUk9PVF9OQU1FJiYoRD1ELnN1YnN0cmluZyhiLmdyYXBoLkZVTkNUSU9OX0xJQlJBUllfTk9ERV9QUkVGSVgubGVuZ3RoKSx5W0RdfHwKKHlbRF09W10pLHcubGlicmFyeUZ1bmN0aW9uc1tEXT17bm9kZTpILHVzYWdlczp5W0RdfSxILmFzc29jaWF0ZWRGdW5jdGlvbj1EKSk7Rz1IfXcuc2V0Tm9kZSh4Lm5hbWUseCk7eC5wYXJlbnROb2RlPUc7Ry5tZXRhZ3JhcGguc2V0Tm9kZSh4Lm5hbWUseCk7Xy5lYWNoKHguaW5FbWJlZGRpbmdzLGZ1bmN0aW9uKEIpe3cuc2V0Tm9kZShCLm5hbWUsQik7Qi5wYXJlbnROb2RlPXh9KTtfLmVhY2goeC5vdXRFbWJlZGRpbmdzLGZ1bmN0aW9uKEIpe3cuc2V0Tm9kZShCLm5hbWUsQik7Qi5wYXJlbnROb2RlPXh9KX0pfWZ1bmN0aW9uIHIodyxBKXtsZXQgeT13LmdldE5vZGVNYXAoKSx4PVtdLEM9W10sRz0oRCxCKT0+e2xldCBIPTA7Zm9yKDtEOylCW0grK109RC5uYW1lLEQ9RC5wYXJlbnROb2RlO3JldHVybiBILTF9O18uZWFjaChBLmVkZ2VzLEQ9Pnt2YXIgQj1HKEEubm9kZXNbRC52XSx4KSxIPUcoQS5ub2Rlc1tELnddLEMpO2lmKC0xIT09QiYmLTEhPT1IKXtmb3IoO3hbQl09PT1DW0hdOylpZihCLS0sCkgtLSwwPkJ8fDA+SCl0aHJvdyBFcnJvcigiTm8gZGlmZmVyZW5jZSBmb3VuZCBiZXR3ZWVuIGFuY2VzdG9yIHBhdGhzLiIpO3ZhciBLPXlbeFtCKzFdXTtCPXhbQl07SD1DW0hdO3ZhciBMPUsubWV0YWdyYXBoLmVkZ2UoQixIKTtMfHwoTD1kLmNyZWF0ZU1ldGFlZGdlKEIsSCksSy5tZXRhZ3JhcGguc2V0RWRnZShCLEgsTCkpO0suaGFzTm9uQ29udHJvbEVkZ2VzfHxELmlzQ29udHJvbERlcGVuZGVuY3l8fChLLmhhc05vbkNvbnRyb2xFZGdlcz0hMCk7TC5hZGRCYXNlRWRnZShELHcpfX0pfWZ1bmN0aW9uIGwodyxBLHkseCxDLEcpe2xldCBEPXcubWV0YWdyYXBoO18uZWFjaChELm5vZGVzKCksQj0+e0I9RC5ub2RlKEIpO0IudHlwZT09PWIuZ3JhcGguTm9kZVR5cGUuTUVUQSYmbChCLEEseSx4LEMsRyl9KTt3PXAoRCk7dz0oRz9uOm0pKHcsRCxBLmdyYXBoT3B0aW9ucyk7Xy5lYWNoKHcsZnVuY3Rpb24oQixIKXtsZXQgSz1CLm1ldGFncmFwaC5ub2RlcygpO18uZWFjaChLLEw9Pgp7TD1ELm5vZGUoTCk7TC5vd25pbmdTZXJpZXN8fChMLm93bmluZ1Nlcmllcz1IKX0pO0subGVuZ3RoPHgmJiEoQi5uYW1lIGluIEMpJiYoQ1tCLm5hbWVdPWIuZ3JhcGguU2VyaWVzR3JvdXBpbmdUeXBlLlVOR1JPVVApO0IubmFtZSBpbiBDJiZDW0IubmFtZV09PT1iLmdyYXBoLlNlcmllc0dyb3VwaW5nVHlwZS5VTkdST1VQfHwoQS5zZXROb2RlKEgsQiksRC5zZXROb2RlKEgsQiksXy5lYWNoKEssTD0+e2xldCBKPUQubm9kZShMKTtCLm1ldGFncmFwaC5zZXROb2RlKEwsSik7Qi5wYXJlbnROb2RlPUoucGFyZW50Tm9kZTtCLmNhcmRpbmFsaXR5Kys7bnVsbCE9Si5kZXZpY2UmJihCLmRldmljZUhpc3RvZ3JhbVtKLmRldmljZV09KEIuZGV2aWNlSGlzdG9ncmFtW0ouZGV2aWNlXXx8MCkrMSk7bnVsbCE9Si54bGFDbHVzdGVyJiYoQi54bGFDbHVzdGVySGlzdG9ncmFtW0oueGxhQ2x1c3Rlcl09KEIueGxhQ2x1c3Rlckhpc3RvZ3JhbVtKLnhsYUNsdXN0ZXJdfHwwKSsxKTtKLmNvbXBhdGlibGU/CkIuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5jb21wYXRpYmxlPShCLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZXx8MCkrMTpCLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlPShCLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlfHwwKSsxO18uZWFjaChKLmluRW1iZWRkaW5ncyxPPT57Ty5jb21wYXRpYmxlP0IuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5jb21wYXRpYmxlPShCLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZXx8MCkrMTpCLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlPShCLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlfHwwKSsxfSk7Xy5lYWNoKEoub3V0RW1iZWRkaW5ncyxPPT57Ty5jb21wYXRpYmxlP0IuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5jb21wYXRpYmxlPShCLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZXx8MCkrMTpCLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlPQooQi5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZXx8MCkrMX0pO0oucGFyZW50Tm9kZT1CO3lbTF09SDtELnJlbW92ZU5vZGUoTCl9KSl9KX1mdW5jdGlvbiBwKHcpe3JldHVybiBfLnJlZHVjZSh3Lm5vZGVzKCksKEEseSk9Pnt5PXcubm9kZSh5KTtpZih5LnR5cGU9PT1kLk5vZGVUeXBlLk1FVEEpcmV0dXJuIEE7bGV0IHg9eS5vcDt4JiYoQVt4XT1BW3hdfHxbXSxBW3hdLnB1c2goeS5uYW1lKSk7cmV0dXJuIEF9LHt9KX1mdW5jdGlvbiBtKHcsQSx5KXtsZXQgeD17fTtfLmVhY2godyxmdW5jdGlvbihDLEcpe2lmKCEoMT49Qy5sZW5ndGgpKXt2YXIgRD17fTtfLmVhY2goQyxmdW5jdGlvbihCKXt2YXIgSD0iKiI9PT1CLmNoYXJBdChCLmxlbmd0aC0xKSxLPUIuc3BsaXQoIi8iKSxMPUtbSy5sZW5ndGgtMV07Sz1LLnNsaWNlKDAsSy5sZW5ndGgtMSkuam9pbigiLyIpO3ZhciBKPUwubWF0Y2goL14oXEQqKV8oXGQrKSQvKTtsZXQgTz0iIjtKPyhMPUpbMV0sSj1KWzJdKToKKEw9SD9MLnN1YnN0cigwLEwubGVuZ3RoLTEpOkwsSj0wLE89SD8iKiI6IiIpO0g9ZC5nZXRTZXJpZXNOb2RlTmFtZShMLE8sSyk7RFtIXT1EW0hdfHxbXTtCPWQuY3JlYXRlU2VyaWVzTm9kZShMLE8sSywrSixCLHkpO0RbSF0ucHVzaChCKX0pO18uZWFjaChELGZ1bmN0aW9uKEIpe2lmKCEoMj5CLmxlbmd0aCkpe0Iuc29ydChmdW5jdGlvbihLLEwpe3JldHVybitLLmNsdXN0ZXJJZC0rTC5jbHVzdGVySWR9KTt2YXIgSD1bQlswXV07Zm9yKGxldCBLPTE7SzxCLmxlbmd0aDtLKyspe2xldCBMPUJbS107TC5jbHVzdGVySWQ9PT1IW0gubGVuZ3RoLTFdLmNsdXN0ZXJJZCsxP0gucHVzaChMKToocShILHgsK0csQSx5KSxIPVtMXSl9cShILHgsK0csQSx5KX19KX19KTtyZXR1cm4geH1mdW5jdGlvbiBuKHcsQSx5KXtsZXQgeD17fTtfLmVhY2godyxmdW5jdGlvbihDLEcpe2lmKCEoMT49Qy5sZW5ndGgpKXt2YXIgRD17fSxCPXt9O18uZWFjaChDLGZ1bmN0aW9uKEspe2xldCBMPSIqIj09PQpLLmNoYXJBdChLLmxlbmd0aC0xKTt2YXIgSj1LLnNwbGl0KCIvIik7bGV0IE89SltKLmxlbmd0aC0xXTtKPUouc2xpY2UoMCxKLmxlbmd0aC0xKS5qb2luKCIvIik7Y29uc3QgUz0vKFxkKykvZzt2YXIgTjtsZXQgUixYLGFhLGZhPTA7Zm9yKDtOPVMuZXhlYyhPKTspKytmYSxSPU8uc2xpY2UoMCxOLmluZGV4KSxYPU5bMF0sTj1PLnNsaWNlKE4uaW5kZXgrTlswXS5sZW5ndGgpLGFhPWQuZ2V0U2VyaWVzTm9kZU5hbWUoUixOLEopLERbYWFdPURbYWFdLERbYWFdfHwoRFthYV09ZC5jcmVhdGVTZXJpZXNOb2RlKFIsTixKLCtYLEsseSkpLERbYWFdLmlkcy5wdXNoKFgpLEJbS109QltLXXx8W10sQltLXS5wdXNoKFthYSxYXSk7MT5mYSYmKFI9TD9PLnN1YnN0cigwLE8ubGVuZ3RoLTEpOk8sWD0wLE49TD8iKiI6IiIsYWE9ZC5nZXRTZXJpZXNOb2RlTmFtZShSLE4sSiksRFthYV09RFthYV0sRFthYV18fChEW2FhXT1kLmNyZWF0ZVNlcmllc05vZGUoUixOLEosK1gsSyx5KSksRFthYV0uaWRzLnB1c2goWCksCkJbS109QltLXXx8W10sQltLXS5wdXNoKFthYSxYXSkpfSk7dmFyIEg9e307Xy5lYWNoKEIsZnVuY3Rpb24oSyxMKXtLLnNvcnQoZnVuY3Rpb24oUyxOKXtyZXR1cm4gRFtOWzBdXS5pZHMubGVuZ3RoLURbU1swXV0uaWRzLmxlbmd0aH0pO3ZhciBKPUtbMF1bMF07Sz1LWzBdWzFdO0hbSl09SFtKXXx8W107Y29uc3QgTz1MLnNwbGl0KCIvIik7TD1kLmNyZWF0ZVNlcmllc05vZGUoRFtKXS5wcmVmaXgsRFtKXS5zdWZmaXgsTy5zbGljZSgwLE8ubGVuZ3RoLTEpLmpvaW4oIi8iKSwrSyxMLHkpO0hbSl0ucHVzaChMKX0pO18uZWFjaChILGZ1bmN0aW9uKEspe2lmKCEoMj5LLmxlbmd0aCkpe0suc29ydChmdW5jdGlvbihKLE8pe3JldHVybitKLmNsdXN0ZXJJZC0rTy5jbHVzdGVySWR9KTt2YXIgTD1bS1swXV07Zm9yKGxldCBKPTE7SjxLLmxlbmd0aDtKKyspe2xldCBPPUtbSl07Ty5jbHVzdGVySWQ9PT1MW0wubGVuZ3RoLTFdLmNsdXN0ZXJJZCsxP0wucHVzaChPKToocShMLHgsK0csQSwKeSksTD1bT10pfXEoTCx4LCtHLEEseSl9fSl9fSk7cmV0dXJuIHh9ZnVuY3Rpb24gcSh3LEEseSx4LEMpe2lmKDE8dy5sZW5ndGgpe2xldCBHPWQuZ2V0U2VyaWVzTm9kZU5hbWUod1swXS5wcmVmaXgsd1swXS5zdWZmaXgsd1swXS5wYXJlbnQsd1swXS5jbHVzdGVySWQsd1t3Lmxlbmd0aC0xXS5jbHVzdGVySWQpLEQ9ZC5jcmVhdGVTZXJpZXNOb2RlKHdbMF0ucHJlZml4LHdbMF0uc3VmZml4LHdbMF0ucGFyZW50LHksRyxDKTtfLmVhY2godyxmdW5jdGlvbihCKXtELmlkcy5wdXNoKEIuY2x1c3RlcklkKTtELm1ldGFncmFwaC5zZXROb2RlKEIubmFtZSx4Lm5vZGUoQi5uYW1lKSl9KTtBW0ddPUR9fWNsYXNzIHV7Y29uc3RydWN0b3Iodyl7dGhpcy5oYXNTaGFwZUluZm89ITE7dGhpcy5tYXhNZXRhRWRnZVNpemU9MTt0aGlzLmdyYXBoT3B0aW9ucz13fHx7fTt0aGlzLmdyYXBoT3B0aW9ucy5jb21wb3VuZD0hMDt0aGlzLnJvb3Q9ZC5jcmVhdGVNZXRhbm9kZShkLlJPT1RfTkFNRSx0aGlzLmdyYXBoT3B0aW9ucyk7CnRoaXMubGlicmFyeUZ1bmN0aW9ucz17fTt0aGlzLnhsYUNsdXN0ZXJzPXRoaXMuZGV2aWNlcz10aGlzLnRlbXBsYXRlcz1udWxsO3RoaXMuaW5kZXg9e307dGhpcy5pbmRleFtkLlJPT1RfTkFNRV09dGhpcy5yb290O3RoaXMub3JkZXJpbmdzPXt9fWdldE5vZGVNYXAoKXtyZXR1cm4gdGhpcy5pbmRleH1ub2RlKHcpe3JldHVybiB0aGlzLmluZGV4W3ddfXNldE5vZGUodyxBKXt0aGlzLmluZGV4W3ddPUF9Z2V0QnJpZGdlZ3JhcGgodyl7dmFyIEE9dGhpcy5pbmRleFt3XTtpZighQSl0aHJvdyBFcnJvcigiQ291bGQgbm90IGZpbmQgbm9kZSBpbiBoaWVyYXJjaHk6ICIrdyk7aWYoISgibWV0YWdyYXBoImluIEEpKXJldHVybiBudWxsO2lmKEEuYnJpZGdlZ3JhcGgpcmV0dXJuIEEuYnJpZGdlZ3JhcGg7bGV0IHk9QS5icmlkZ2VncmFwaD1kLmNyZWF0ZUdyYXBoKCJCUklER0VHUkFQSCIsZC5HcmFwaFR5cGUuQlJJREdFLHRoaXMuZ3JhcGhPcHRpb25zKTtpZighKEEucGFyZW50Tm9kZSYmCiJtZXRhZ3JhcGgiaW4gQS5wYXJlbnROb2RlKSlyZXR1cm4geTt2YXIgeD1BLnBhcmVudE5vZGU7QT14Lm1ldGFncmFwaDt4PXRoaXMuZ2V0QnJpZGdlZ3JhcGgoeC5uYW1lKTtfLmVhY2goW0EseF0sQz0+e0MuZWRnZXMoKS5maWx0ZXIoRz0+Ry52PT09d3x8Ry53PT09dykuZm9yRWFjaChHPT57bGV0IEQ9Ry53PT09dyxCPUMuZWRnZShHKTtfLmVhY2goQi5iYXNlRWRnZUxpc3QsSD0+e2xldCBbSyxMXT1EP1tILncsRy52XTpbSC52LEcud107dmFyIEo9dGhpcy5nZXRDaGlsZE5hbWUodyxLKTtKPXt2OkQ/TDpKLHc6RD9KOkx9O2xldCBPPXkuZWRnZShKKTtPfHwoTz1kLmNyZWF0ZU1ldGFlZGdlKEoudixKLncpLE8uaW5ib3VuZD1ELHkuc2V0RWRnZShKLnYsSi53LE8pKTtPLmFkZEJhc2VFZGdlKEgsdGhpcyl9KX0pfSk7cmV0dXJuIHl9Z2V0Q2hpbGROYW1lKHcsQSl7bGV0IHk9dGhpcy5pbmRleFtBXTtmb3IoO3k7KXtpZih5LnBhcmVudE5vZGUmJnkucGFyZW50Tm9kZS5uYW1lPT09CncpcmV0dXJuIHkubmFtZTt5PXkucGFyZW50Tm9kZX10aHJvdyBFcnJvcigiQ291bGQgbm90IGZpbmQgaW1tZWRpYXRlIGNoaWxkIGZvciBkZXNjZW5kYW50OiAiK0EpO31nZXRQcmVkZWNlc3NvcnModyl7bGV0IEE9dGhpcy5pbmRleFt3XTtpZighQSl0aHJvdyBFcnJvcigiQ291bGQgbm90IGZpbmQgbm9kZSB3aXRoIG5hbWU6ICIrdyk7bGV0IHk9dGhpcy5nZXRPbmVXYXlFZGdlcyhBLCEwKTtBLmlzR3JvdXBOb2RlfHxfLmVhY2goQS5pbkVtYmVkZGluZ3MseD0+e18uZWFjaChBLmlucHV0cyxDPT57aWYoQy5uYW1lPT09eC5uYW1lKXtsZXQgRz1uZXcgZC5NZXRhZWRnZUltcGwoeC5uYW1lLHcpO0cuYWRkQmFzZUVkZ2Uoe2lzQ29udHJvbERlcGVuZGVuY3k6Qy5pc0NvbnRyb2xEZXBlbmRlbmN5LG91dHB1dFRlbnNvcktleTpDLm91dHB1dFRlbnNvcktleSxpc1JlZmVyZW5jZUVkZ2U6ITEsdjp4Lm5hbWUsd30sdGhpcyk7eS5yZWd1bGFyLnB1c2goRyl9fSl9KTtyZXR1cm4geX1nZXRTdWNjZXNzb3JzKHcpe2xldCBBPQp0aGlzLmluZGV4W3ddO2lmKCFBKXRocm93IEVycm9yKCJDb3VsZCBub3QgZmluZCBub2RlIHdpdGggbmFtZTogIit3KTtsZXQgeT10aGlzLmdldE9uZVdheUVkZ2VzKEEsITEpO0EuaXNHcm91cE5vZGV8fF8uZWFjaChBLm91dEVtYmVkZGluZ3MseD0+e18uZWFjaCh4LmlucHV0cyxDPT57aWYoQy5uYW1lPT09dyl7bGV0IEc9bmV3IGQuTWV0YWVkZ2VJbXBsKHcseC5uYW1lKTtHLmFkZEJhc2VFZGdlKHtpc0NvbnRyb2xEZXBlbmRlbmN5OkMuaXNDb250cm9sRGVwZW5kZW5jeSxvdXRwdXRUZW5zb3JLZXk6Qy5vdXRwdXRUZW5zb3JLZXksaXNSZWZlcmVuY2VFZGdlOiExLHY6dyx3OngubmFtZX0sdGhpcyk7eS5yZWd1bGFyLnB1c2goRyl9fSl9KTtyZXR1cm4geX1nZXRPbmVXYXlFZGdlcyh3LEEpe2xldCB5PXtjb250cm9sOltdLHJlZ3VsYXI6W119O2lmKCF3LnBhcmVudE5vZGV8fCF3LnBhcmVudE5vZGUuaXNHcm91cE5vZGUpcmV0dXJuIHk7dmFyIHg9dy5wYXJlbnROb2RlO2xldCBDPQp4Lm1ldGFncmFwaDt4PXRoaXMuZ2V0QnJpZGdlZ3JhcGgoeC5uYW1lKTtoKEMsdyxBLHkpO2goeCx3LEEseSk7cmV0dXJuIHl9Z2V0VG9wb2xvZ2ljYWxPcmRlcmluZyh3KXt2YXIgQT10aGlzLmluZGV4W3ddO2lmKCFBKXRocm93IEVycm9yKCJDb3VsZCBub3QgZmluZCBub2RlIHdpdGggbmFtZTogIit3KTtpZighQS5pc0dyb3VwTm9kZSlyZXR1cm4gbnVsbDtpZih3IGluIHRoaXMub3JkZXJpbmdzKXJldHVybiB0aGlzLm9yZGVyaW5nc1t3XTtsZXQgeT17fSx4PXt9LEM9QS5tZXRhZ3JhcGg7Xy5lYWNoKEMuZWRnZXMoKSxEPT57Qy5lZGdlKEQpLm51bVJlZ3VsYXJFZGdlcyYmKEQudiBpbiB5fHwoeVtELnZdPVtdKSx5W0Qudl0ucHVzaChELncpLHhbRC53XT0hMCl9KTtsZXQgRz1fLmRpZmZlcmVuY2UoXy5rZXlzKHkpLF8ua2V5cyh4KSk7dz10aGlzLm9yZGVyaW5nc1t3XT17fTtmb3IoQT0wO0cubGVuZ3RoOyl7bGV0IEQ9Ry5zaGlmdCgpO3dbRF09QSsrO18uZWFjaCh5W0RdLEI9PgpHLnB1c2goQikpO2RlbGV0ZSB5W0RdfXJldHVybiB3fWdldFRlbXBsYXRlSW5kZXgoKXtsZXQgdz1kMy5rZXlzKHRoaXMudGVtcGxhdGVzKSxBPWQzLnNjYWxlT3JkaW5hbCgpLmRvbWFpbih3KS5yYW5nZShkMy5yYW5nZSgwLHcubGVuZ3RoKSk7cmV0dXJuIHk9PkEoeSl9fWYuRGVmYXVsdEhpZXJhcmNoeVBhcmFtcz17dmVyaWZ5VGVtcGxhdGU6ITAsc2VyaWVzTm9kZU1pblNpemU6NSxzZXJpZXNNYXA6e30scmFua0RpcmVjdGlvbjoiQlQiLHVzZUdlbmVyYWxpemVkU2VyaWVzUGF0dGVybnM6ITF9O2YuYnVpbGQ9ZnVuY3Rpb24odyxBLHkpe2xldCB4PW5ldyB1KHtyYW5rZGlyOkEucmFua0RpcmVjdGlvbn0pLEM9e307cmV0dXJuIGIuZ3JhcGgudXRpbC5ydW5Bc3luY1Rhc2soIkFkZGluZyBub2RlcyIsMjAsKCk9PntsZXQgRz17fSxEPXt9O18uZWFjaCh3Lm5vZGVzLEI9PntCLmRldmljZSYmKEdbQi5kZXZpY2VdPSEwKTtCLnhsYUNsdXN0ZXImJihEW0IueGxhQ2x1c3Rlcl09ITApfSk7CnguZGV2aWNlcz1fLmtleXMoRyk7eC54bGFDbHVzdGVycz1fLmtleXMoRCk7ayh4LHcpfSx5KS50aGVuKCgpPT5iLmdyYXBoLnV0aWwucnVuQXN5bmNUYXNrKCJEZXRlY3Qgc2VyaWVzIiwyMCwoKT0+ezA8QS5zZXJpZXNOb2RlTWluU2l6ZSYmbCh4LnJvb3QseCxDLEEuc2VyaWVzTm9kZU1pblNpemUsQS5zZXJpZXNNYXAsQS51c2VHZW5lcmFsaXplZFNlcmllc1BhdHRlcm5zKX0seSkpLnRoZW4oKCk9PmIuZ3JhcGgudXRpbC5ydW5Bc3luY1Rhc2soIkFkZGluZyBlZGdlcyIsMzAsKCk9PntyKHgsdyxDKX0seSkpLnRoZW4oKCk9PmIuZ3JhcGgudXRpbC5ydW5Bc3luY1Rhc2soIkZpbmRpbmcgc2ltaWxhciBzdWJncmFwaHMiLDMwLCgpPT57eC50ZW1wbGF0ZXM9ZC50ZW1wbGF0ZS5kZXRlY3QoeCxBLnZlcmlmeVRlbXBsYXRlKX0seSkpLnRoZW4oKCk9PngpfTtmLmpvaW5BbmRBZ2dyZWdhdGVTdGF0cz1mdW5jdGlvbih3KXtsZXQgQT17fSx5PXt9O18uZWFjaCh3LnJvb3QubGVhdmVzKCksCng9Pnt4PXcubm9kZSh4KTtudWxsIT14LmRldmljZSYmKEFbeC5kZXZpY2VdPSEwKTtudWxsIT14LnhsYUNsdXN0ZXImJih5W3gueGxhQ2x1c3Rlcl09ITApfSk7dy5kZXZpY2VzPV8ua2V5cyhBKTt3LnhsYUNsdXN0ZXJzPV8ua2V5cyh5KTtfLmVhY2gody5nZXROb2RlTWFwKCkseD0+e3guaXNHcm91cE5vZGUmJih4LnN0YXRzPW5ldyBkLk5vZGVTdGF0cyhudWxsKSx4LmRldmljZUhpc3RvZ3JhbT17fSl9KTtfLmVhY2gody5yb290LmxlYXZlcygpLHg9PntsZXQgQz14PXcubm9kZSh4KTtmb3IoO251bGwhPUMucGFyZW50Tm9kZTspe2lmKG51bGwhPXguZGV2aWNlKXt2YXIgRz1DLnBhcmVudE5vZGUuZGV2aWNlSGlzdG9ncmFtO0dbeC5kZXZpY2VdPShHW3guZGV2aWNlXXx8MCkrMX1udWxsIT14LnhsYUNsdXN0ZXImJihHPUMucGFyZW50Tm9kZS54bGFDbHVzdGVySGlzdG9ncmFtLEdbeC54bGFDbHVzdGVyXT0oR1t4LnhsYUNsdXN0ZXJdfHwwKSsxKTtudWxsIT14LnN0YXRzJiZDLnBhcmVudE5vZGUuc3RhdHMuY29tYmluZSh4LnN0YXRzKTsKQz1DLnBhcmVudE5vZGV9fSl9O2YuZ2V0SW5jb21wYXRpYmxlT3BzPWZ1bmN0aW9uKHcsQSl7bGV0IHk9W10seD17fTtfLmVhY2gody5yb290LmxlYXZlcygpLEM9PntDPXcubm9kZShDKTtpZihDLnR5cGU9PWQuTm9kZVR5cGUuT1Ape2lmKCFDLmNvbXBhdGlibGUpaWYoQy5vd25pbmdTZXJpZXMpaWYoQSYmQS5zZXJpZXNNYXBbQy5vd25pbmdTZXJpZXNdPT09Yi5ncmFwaC5TZXJpZXNHcm91cGluZ1R5cGUuVU5HUk9VUCl5LnB1c2goQyk7ZWxzZXtpZigheFtDLm93bmluZ1Nlcmllc10pe2xldCBHPXcubm9kZShDLm93bmluZ1Nlcmllcyk7RyYmKHhbQy5vd25pbmdTZXJpZXNdPUcseS5wdXNoKEcpKX19ZWxzZSB5LnB1c2goQyk7Xy5lYWNoKEMuaW5FbWJlZGRpbmdzLEc9PntHLmNvbXBhdGlibGV8fHkucHVzaChHKX0pO18uZWFjaChDLm91dEVtYmVkZGluZ3MsRz0+e0cuY29tcGF0aWJsZXx8eS5wdXNoKEcpfSl9fSk7cmV0dXJuIHl9fSkoZC5oaWVyYXJjaHl8fChkLmhpZXJhcmNoeT0Ke30pKX0pKGIuZ3JhcGh8fChiLmdyYXBoPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtY29tbW9uL2xheW91dC5qcwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpeyhmdW5jdGlvbihmKXtmdW5jdGlvbiBoKHgpe3gubm9kZS5pc0dyb3VwTm9kZSYmcih4KTt4Lm5vZGUudHlwZT09PWQuTm9kZVR5cGUuTUVUQT9wKHgpOngubm9kZS50eXBlPT09ZC5Ob2RlVHlwZS5TRVJJRVMmJm0oeCl9ZnVuY3Rpb24gayh4KXt4LmluYm94V2lkdGg9MDx4LmluQW5ub3RhdGlvbnMubGlzdC5sZW5ndGg/Zi5QQVJBTVMuYW5ub3RhdGlvbnMuaW5ib3hXaWR0aDowO3gub3V0Ym94V2lkdGg9MDx4Lm91dEFubm90YXRpb25zLmxpc3QubGVuZ3RoP2YuUEFSQU1TLmFubm90YXRpb25zLm91dGJveFdpZHRoOjA7eC5jb3JlQm94LndpZHRoPXgud2lkdGg7eC5jb3JlQm94LmhlaWdodD14LmhlaWdodDt4LndpZHRoPU1hdGgubWF4KHguY29yZUJveC53aWR0aCt4LmluYm94V2lkdGgreC5vdXRib3hXaWR0aCwzKnguZGlzcGxheU5hbWUubGVuZ3RoKX1mdW5jdGlvbiByKHgpe2xldCBDPXguY29yZUdyYXBoLm5vZGVzKCkubWFwKEc9Pgp4LmNvcmVHcmFwaC5ub2RlKEcpKS5jb25jYXQoeC5pc29sYXRlZEluRXh0cmFjdCx4Lmlzb2xhdGVkT3V0RXh0cmFjdCx4LmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0KTtfLmVhY2goQyxHPT57c3dpdGNoKEcubm9kZS50eXBlKXtjYXNlIGQuTm9kZVR5cGUuT1A6Xy5leHRlbmQoRyxmLlBBUkFNUy5ub2RlU2l6ZS5vcCk7YnJlYWs7Y2FzZSBkLk5vZGVUeXBlLkJSSURHRTpfLmV4dGVuZChHLGYuUEFSQU1TLm5vZGVTaXplLmJyaWRnZSk7YnJlYWs7Y2FzZSBkLk5vZGVUeXBlLk1FVEE6Ry5leHBhbmRlZD9oKEcpOihfLmV4dGVuZChHLGYuUEFSQU1TLm5vZGVTaXplLm1ldGEpLEcuaGVpZ2h0PWYuUEFSQU1TLm5vZGVTaXplLm1ldGEuaGVpZ2h0KEcubm9kZS5jYXJkaW5hbGl0eSkpO2JyZWFrO2Nhc2UgZC5Ob2RlVHlwZS5TRVJJRVM6Ry5leHBhbmRlZD8oXy5leHRlbmQoRyxmLlBBUkFNUy5ub2RlU2l6ZS5zZXJpZXMuZXhwYW5kZWQpLGgoRykpOl8uZXh0ZW5kKEcsRy5ub2RlLmhhc05vbkNvbnRyb2xFZGdlcz8KZi5QQVJBTVMubm9kZVNpemUuc2VyaWVzLnZlcnRpY2FsOmYuUEFSQU1TLm5vZGVTaXplLnNlcmllcy5ob3Jpem9udGFsKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJVbnJlY29nbml6ZWQgbm9kZSB0eXBlOiAiK0cubm9kZS50eXBlKTt9Ry5leHBhbmRlZHx8ayhHKTtuKEcpfSl9ZnVuY3Rpb24gbCh4LEMpe18uZXh0ZW5kKHguZ3JhcGgoKSx7bm9kZXNlcDpDLm5vZGVTZXAscmFua3NlcDpDLnJhbmtTZXAsZWRnZXNlcDpDLmVkZ2VTZXB9KTtsZXQgRz1bXSxEPVtdO18uZWFjaCh4Lm5vZGVzKCksSj0+e3gubm9kZShKKS5ub2RlLnR5cGU9PT1kLk5vZGVUeXBlLkJSSURHRT9HLnB1c2goSik6RC5wdXNoKEopfSk7aWYoIUQubGVuZ3RoKXJldHVybnt3aWR0aDowLGhlaWdodDowfTtkYWdyZS5sYXlvdXQoeCk7bGV0IEI9SW5maW5pdHksSD1JbmZpbml0eSxLPS1JbmZpbml0eSxMPS1JbmZpbml0eTtfLmVhY2goRCxKPT57Sj14Lm5vZGUoSik7dmFyIE89LjUqSi53aWR0aCxTPUoueC0KTztPPUoueCtPO0I9UzxCP1M6QjtLPU8+Sz9POks7Tz0uNSpKLmhlaWdodDtTPUoueS1PO0o9Si55K087SD1TPEg/UzpIO0w9Sj5MP0o6TH0pO18uZWFjaCh4LmVkZ2VzKCksSj0+e0o9eC5lZGdlKEopO2lmKCFKLnN0cnVjdHVyYWwpe3ZhciBPPXgubm9kZShKLm1ldGFlZGdlLnYpLFM9eC5ub2RlKEoubWV0YWVkZ2Uudyk7aWYoMz09PUoucG9pbnRzLmxlbmd0aCYmQShKLnBvaW50cykpe2lmKG51bGwhPU8pe3ZhciBOPU8uZXhwYW5kZWQ/Ty54OnUoTyk7Si5wb2ludHNbMF0ueD1OfW51bGwhPVMmJihOPVMuZXhwYW5kZWQ/Uy54OnUoUyksSi5wb2ludHNbMl0ueD1OKTtKLnBvaW50cz1bSi5wb2ludHNbMF0sSi5wb2ludHNbMV1dfU49Si5wb2ludHNbSi5wb2ludHMubGVuZ3RoLTJdO251bGwhPVMmJihKLnBvaW50c1tKLnBvaW50cy5sZW5ndGgtMV09eShOLFMpKTtTPUoucG9pbnRzWzFdO251bGwhPU8mJihKLnBvaW50c1swXT15KFMsTykpO18uZWFjaChKLnBvaW50cyxSPT57Qj1SLng8CkI/Ui54OkI7Sz1SLng+Sz9SLng6SztIPVIueTxIP1IueTpIO0w9Ui55Pkw/Ui55Okx9KX19KTtfLmVhY2goeC5ub2RlcygpLEo9PntKPXgubm9kZShKKTtKLngtPUI7Si55LT1IfSk7Xy5lYWNoKHguZWRnZXMoKSxKPT57Xy5lYWNoKHguZWRnZShKKS5wb2ludHMsTz0+e08ueC09QjtPLnktPUh9KX0pO3JldHVybnt3aWR0aDpLLUIsaGVpZ2h0OkwtSH19ZnVuY3Rpb24gcCh4KXtsZXQgQz1mLlBBUkFNUy5zdWJzY2VuZS5tZXRhO18uZXh0ZW5kKHgsQyk7Xy5leHRlbmQoeC5jb3JlQm94LGwoeC5jb3JlR3JhcGgsZi5QQVJBTVMuZ3JhcGgubWV0YSkpO3ZhciBHPXguaXNvbGF0ZWRJbkV4dHJhY3QubGVuZ3RoP18ubWF4KHguaXNvbGF0ZWRJbkV4dHJhY3QsQj0+Qi53aWR0aCkud2lkdGg6bnVsbDt4LmluRXh0cmFjdEJveC53aWR0aD1udWxsIT1HP0c6MDt4LmluRXh0cmFjdEJveC5oZWlnaHQ9Xy5yZWR1Y2UoeC5pc29sYXRlZEluRXh0cmFjdCwoQixILEspPT57Sz0wPEs/Qy5leHRyYWN0WU9mZnNldDoKMDtILng9MDtILnk9QitLK0guaGVpZ2h0LzI7cmV0dXJuIEIrSytILmhlaWdodH0sMCk7Rz14Lmlzb2xhdGVkT3V0RXh0cmFjdC5sZW5ndGg/Xy5tYXgoeC5pc29sYXRlZE91dEV4dHJhY3QsQj0+Qi53aWR0aCkud2lkdGg6bnVsbDt4Lm91dEV4dHJhY3RCb3gud2lkdGg9bnVsbCE9Rz9HOjA7eC5vdXRFeHRyYWN0Qm94LmhlaWdodD1fLnJlZHVjZSh4Lmlzb2xhdGVkT3V0RXh0cmFjdCwoQixILEspPT57Sz0wPEs/Qy5leHRyYWN0WU9mZnNldDowO0gueD0wO0gueT1CK0srSC5oZWlnaHQvMjtyZXR1cm4gQitLK0guaGVpZ2h0fSwwKTtHPXgubGlicmFyeUZ1bmN0aW9uc0V4dHJhY3QubGVuZ3RoP18ubWF4KHgubGlicmFyeUZ1bmN0aW9uc0V4dHJhY3QsQj0+Qi53aWR0aCkud2lkdGg6bnVsbDt4LmxpYnJhcnlGdW5jdGlvbnNCb3gud2lkdGg9bnVsbCE9Rz9HOjA7eC5saWJyYXJ5RnVuY3Rpb25zQm94LmhlaWdodD1fLnJlZHVjZSh4LmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0LChCLEgsCkspPT57Sz0wPEs/Qy5leHRyYWN0WU9mZnNldDowO0gueD0wO0gueT1CK0srSC5oZWlnaHQvMjtyZXR1cm4gQitLK0guaGVpZ2h0fSwwKTtHPTA7MDx4Lmlzb2xhdGVkSW5FeHRyYWN0Lmxlbmd0aCYmRysrOzA8eC5pc29sYXRlZE91dEV4dHJhY3QubGVuZ3RoJiZHKys7MDx4LmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0Lmxlbmd0aCYmRysrOzA8eC5jb3JlR3JhcGgubm9kZUNvdW50KCkmJkcrKztsZXQgRD1mLlBBUkFNUy5zdWJzY2VuZS5tZXRhLmV4dHJhY3RYT2Zmc2V0O0c9MT49Rz8wOkcqRDt4LmNvcmVCb3gud2lkdGgrPU1hdGgubWF4KGYuTUlOX0FVWF9XSURUSCx4LmluRXh0cmFjdEJveC53aWR0aCt4Lm91dEV4dHJhY3RCb3gud2lkdGgpK0creC5saWJyYXJ5RnVuY3Rpb25zQm94LndpZHRoK0c7eC5jb3JlQm94LmhlaWdodD1DLmxhYmVsSGVpZ2h0K01hdGgubWF4KHguaW5FeHRyYWN0Qm94LmhlaWdodCx4LmNvcmVCb3guaGVpZ2h0LHgubGlicmFyeUZ1bmN0aW9uc0JveC5oZWlnaHQsCngub3V0RXh0cmFjdEJveC5oZWlnaHQpO3gud2lkdGg9eC5jb3JlQm94LndpZHRoK0MucGFkZGluZ0xlZnQrQy5wYWRkaW5nUmlnaHQ7eC5oZWlnaHQ9eC5wYWRkaW5nVG9wK3guY29yZUJveC5oZWlnaHQreC5wYWRkaW5nQm90dG9tfWZ1bmN0aW9uIG0oeCl7bGV0IEM9eC5jb3JlR3JhcGgsRz1mLlBBUkFNUy5zdWJzY2VuZS5zZXJpZXM7Xy5leHRlbmQoeCxHKTtfLmV4dGVuZCh4LmNvcmVCb3gsbCh4LmNvcmVHcmFwaCxmLlBBUkFNUy5ncmFwaC5zZXJpZXMpKTtfLmVhY2goQy5ub2RlcygpLEQ9PntDLm5vZGUoRCkuZXhjbHVkZWQ9ITF9KTt4LndpZHRoPXguY29yZUJveC53aWR0aCtHLnBhZGRpbmdMZWZ0K0cucGFkZGluZ1JpZ2h0O3guaGVpZ2h0PXguY29yZUJveC5oZWlnaHQrRy5wYWRkaW5nVG9wK0cucGFkZGluZ0JvdHRvbX1mdW5jdGlvbiBuKHgpe2lmKCF4LmV4cGFuZGVkKXt2YXIgQz14LmluQW5ub3RhdGlvbnMubGlzdCxHPXgub3V0QW5ub3RhdGlvbnMubGlzdDtfLmVhY2goQywKTz0+cShPKSk7Xy5lYWNoKEcsTz0+cShPKSk7dmFyIEQ9Zi5QQVJBTVMuYW5ub3RhdGlvbnMsQj1fLnJlZHVjZShDLChPLFMsTik9PntOPTA8Tj9ELnlPZmZzZXQ6MDtTLmR4PS0oeC5jb3JlQm94LndpZHRoK1Mud2lkdGgpLzItRC54T2Zmc2V0O1MuZHk9TytOK1MuaGVpZ2h0LzI7cmV0dXJuIE8rTitTLmhlaWdodH0sMCk7Xy5lYWNoKEMsTz0+e08uZHktPUIvMjtPLmxhYmVsT2Zmc2V0PUQubGFiZWxPZmZzZXR9KTt2YXIgSD1fLnJlZHVjZShHLChPLFMsTik9PntOPTA8Tj9ELnlPZmZzZXQ6MDtTLmR4PSh4LmNvcmVCb3gud2lkdGgrUy53aWR0aCkvMitELnhPZmZzZXQ7Uy5keT1PK04rUy5oZWlnaHQvMjtyZXR1cm4gTytOK1MuaGVpZ2h0fSwwKTtfLmVhY2goRyxPPT57Ty5keS09SC8yO08ubGFiZWxPZmZzZXQ9RC5sYWJlbE9mZnNldH0pO3ZhciBLPU1hdGgubWluKHguaGVpZ2h0LzIteC5yYWRpdXMsQi8yKTtLPTA+Sz8wOks7dmFyIEw9ZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oWzAsCkMubGVuZ3RoLTFdKS5yYW5nZShbLUssS10pO18uZWFjaChDLChPLFMpPT57Ty5wb2ludHM9W3tkeDpPLmR4K08ud2lkdGgvMixkeTpPLmR5fSx7ZHg6LXguY29yZUJveC53aWR0aC8yLGR5OjE8Qy5sZW5ndGg/TChTKTowfV19KTtLPU1hdGgubWluKHguaGVpZ2h0LzIteC5yYWRpdXMsSC8yKTtLPTA+Sz8wOks7dmFyIEo9ZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oWzAsRy5sZW5ndGgtMV0pLnJhbmdlKFstSyxLXSk7Xy5lYWNoKEcsKE8sUyk9PntPLnBvaW50cz1be2R4OnguY29yZUJveC53aWR0aC8yLGR5OjE8Ry5sZW5ndGg/SihTKTowfSx7ZHg6Ty5keC1PLndpZHRoLzIsZHk6Ty5keX1dfSk7eC5oZWlnaHQ9TWF0aC5tYXgoeC5oZWlnaHQsQixIKX19ZnVuY3Rpb24gcSh4KXtzd2l0Y2goeC5hbm5vdGF0aW9uVHlwZSl7Y2FzZSBkLnJlbmRlci5Bbm5vdGF0aW9uVHlwZS5DT05TVEFOVDpfLmV4dGVuZCh4LGYuUEFSQU1TLmNvbnN0YW50LnNpemUpO2JyZWFrO2Nhc2UgZC5yZW5kZXIuQW5ub3RhdGlvblR5cGUuU0hPUlRDVVQ6aWYoeC5ub2RlLnR5cGU9PT0KZC5Ob2RlVHlwZS5PUClfLmV4dGVuZCh4LGYuUEFSQU1TLnNob3J0Y3V0U2l6ZS5vcCk7ZWxzZSBpZih4Lm5vZGUudHlwZT09PWQuTm9kZVR5cGUuTUVUQSlfLmV4dGVuZCh4LGYuUEFSQU1TLnNob3J0Y3V0U2l6ZS5tZXRhKTtlbHNlIGlmKHgubm9kZS50eXBlPT09ZC5Ob2RlVHlwZS5TRVJJRVMpXy5leHRlbmQoeCxmLlBBUkFNUy5zaG9ydGN1dFNpemUuc2VyaWVzKTtlbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIG5vZGUgdHlwZTogIit4Lm5vZGUudHlwZSk7YnJlYWs7Y2FzZSBkLnJlbmRlci5Bbm5vdGF0aW9uVHlwZS5TVU1NQVJZOl8uZXh0ZW5kKHgsZi5QQVJBTVMuY29uc3RhbnQuc2l6ZSl9fWZ1bmN0aW9uIHUoeCl7cmV0dXJuIHguZXhwYW5kZWQ/eC54OngueC14LndpZHRoLzIrKHguaW5Bbm5vdGF0aW9ucy5saXN0Lmxlbmd0aD94LmluYm94V2lkdGg6MCkreC5jb3JlQm94LndpZHRoLzJ9ZnVuY3Rpb24gdyh4LEMpe3JldHVybiAxODAqTWF0aC5hdGFuKChDLnkteC55KS8oQy54LQp4LngpKS9NYXRoLlBJfWZ1bmN0aW9uIEEoeCl7bGV0IEM9dyh4WzBdLHhbMV0pO2ZvcihsZXQgRz0xO0c8eC5sZW5ndGgtMTtHKyspe2xldCBEPXcoeFtHXSx4W0crMV0pO2lmKDE8TWF0aC5hYnMoRC1DKSlyZXR1cm4hMTtDPUR9cmV0dXJuITB9ZnVuY3Rpb24geSh4LEMpe2xldCBHPUMuZXhwYW5kZWQ/Qy54OnUoQyksRD1DLnk7dmFyIEI9eC54LUc7eD14LnktRDtsZXQgSD1DLmV4cGFuZGVkP0Mud2lkdGg6Qy5jb3JlQm94LndpZHRoLEs9Qy5leHBhbmRlZD9DLmhlaWdodDpDLmNvcmVCb3guaGVpZ2h0O01hdGguYWJzKHgpKkgvMj5NYXRoLmFicyhCKSpLLzI/KDA+eCYmKEs9LUspLEM9MD09PXg/MDpLLzIqQi94LEI9Sy8yKTooMD5CJiYoSD0tSCksQz1ILzIsQj0wPT09Qj8wOkgvMip4L0IpO3JldHVybnt4OkcrQyx5OkQrQn19Zi5QQVJBTVM9e2FuaW1hdGlvbjp7ZHVyYXRpb246MjUwfSxncmFwaDp7bWV0YTp7bm9kZVNlcDo1LHJhbmtTZXA6MjUsZWRnZVNlcDo1fSxzZXJpZXM6e25vZGVTZXA6NSwKcmFua1NlcDoyNSxlZGdlU2VwOjV9LHBhZGRpbmc6e3BhZGRpbmdUb3A6NDAscGFkZGluZ0xlZnQ6MjB9fSxzdWJzY2VuZTp7bWV0YTp7cGFkZGluZ1RvcDoxMCxwYWRkaW5nQm90dG9tOjEwLHBhZGRpbmdMZWZ0OjEwLHBhZGRpbmdSaWdodDoxMCxsYWJlbEhlaWdodDoyMCxleHRyYWN0WE9mZnNldDoxNSxleHRyYWN0WU9mZnNldDoyMH0sc2VyaWVzOntwYWRkaW5nVG9wOjEwLHBhZGRpbmdCb3R0b206MTAscGFkZGluZ0xlZnQ6MTAscGFkZGluZ1JpZ2h0OjEwLGxhYmVsSGVpZ2h0OjEwfX0sbm9kZVNpemU6e21ldGE6e3JhZGl1czo1LHdpZHRoOjYwLG1heExhYmVsV2lkdGg6NTIsaGVpZ2h0OmQzLnNjYWxlTGluZWFyKCkuZG9tYWluKFsxLDIwMF0pLnJhbmdlKFsxNSw2MF0pLmNsYW1wKCEwKSxleHBhbmRCdXR0b25SYWRpdXM6M30sb3A6e3dpZHRoOjE1LGhlaWdodDo2LHJhZGl1czozLGxhYmVsT2Zmc2V0Oi04LG1heExhYmVsV2lkdGg6MzB9LHNlcmllczp7ZXhwYW5kZWQ6e3JhZGl1czoxMCwKbGFiZWxPZmZzZXQ6MH0sdmVydGljYWw6e3dpZHRoOjE2LGhlaWdodDoxMyxsYWJlbE9mZnNldDotMTN9LGhvcml6b250YWw6e3dpZHRoOjI0LGhlaWdodDo4LHJhZGl1czoxMCxsYWJlbE9mZnNldDotMTB9fSxicmlkZ2U6e3dpZHRoOjIwLGhlaWdodDoyMCxyYWRpdXM6MixsYWJlbE9mZnNldDowfX0sc2hvcnRjdXRTaXplOntvcDp7d2lkdGg6MTAsaGVpZ2h0OjR9LG1ldGE6e3dpZHRoOjEyLGhlaWdodDo0LHJhZGl1czoxfSxzZXJpZXM6e3dpZHRoOjE0LGhlaWdodDo0fX0sYW5ub3RhdGlvbnM6e2luYm94V2lkdGg6NTAsb3V0Ym94V2lkdGg6NTAseE9mZnNldDoxMCx5T2Zmc2V0OjMsbGFiZWxPZmZzZXQ6MixtYXhMYWJlbFdpZHRoOjEyMH0sY29uc3RhbnQ6e3NpemU6e3dpZHRoOjQsaGVpZ2h0OjR9fSxzZXJpZXM6e21heFN0YWNrQ291bnQ6MyxwYXJhbGxlbFN0YWNrT2Zmc2V0UmF0aW86LjIsdG93ZXJTdGFja09mZnNldFJhdGlvOi41fSxtaW5pbWFwOntzaXplOjE1MH19O2YuTUlOX0FVWF9XSURUSD0KMTQwO2YubGF5b3V0U2NlbmU9aDtmLmNvbXB1dGVDWFBvc2l0aW9uT2ZOb2RlU2hhcGU9dX0pKGQubGF5b3V0fHwoZC5sYXlvdXQ9e30pKX0pKGIuZ3JhcGh8fChiLmdyYXBoPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtY29tbW9uL2xvYWRlci5qcwp2YXIgSmg9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKGIsZCxmLGgpe3JldHVybiBuZXcgKGZ8fChmPVByb21pc2UpKShmdW5jdGlvbihrLHIpe2Z1bmN0aW9uIGwobil7dHJ5e20oaC5uZXh0KG4pKX1jYXRjaChxKXtyKHEpfX1mdW5jdGlvbiBwKG4pe3RyeXttKGhbInRocm93Il0obikpfWNhdGNoKHEpe3IocSl9fWZ1bmN0aW9uIG0obil7bi5kb25lP2sobi52YWx1ZSk6KG5ldyBmKGZ1bmN0aW9uKHEpe3Eobi52YWx1ZSl9KSkudGhlbihsLHApfW0oKGg9aC5hcHBseShiLGR8fFtdKSkubmV4dCgpKX0pfTsKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7Zi5mZXRjaEFuZENvbnN0cnVjdEhpZXJhcmNoaWNhbEdyYXBoPWZ1bmN0aW9uKGgsayxyLGw9bmV3IGQub3AuVHB1Q29tcGF0aWJpbGl0eVByb3ZpZGVyLHA9ZC5oaWVyYXJjaHkuRGVmYXVsdEhpZXJhcmNoeVBhcmFtcyl7Y29uc3QgbT1kLnV0aWwuZ2V0U3VidGFza1RyYWNrZXIoaCwyMCwiR3JhcGgiKSxuPWQudXRpbC5nZXRTdWJ0YXNrVHJhY2tlcihoLDUwLCJOYW1lc3BhY2UgaGllcmFyY2h5Iik7cmV0dXJuIGQucGFyc2VyLmZldGNoQW5kUGFyc2VHcmFwaERhdGEoayxyLGQudXRpbC5nZXRTdWJ0YXNrVHJhY2tlcihoLDMwLCJEYXRhIikpLnRoZW4oZnVuY3Rpb24ocSl7aWYoIXEubm9kZSl0aHJvdyBFcnJvcigiVGhlIGdyYXBoIGlzIGVtcHR5LiBUaGlzIGNhbiBoYXBwZW4gd2hlbiBUZW5zb3JGbG93IGNvdWxkIG5vdCB0cmFjZSBhbnkgZ3JhcGguIFBsZWFzZSByZWZlciB0byBodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9pc3N1ZXMvMTk2MSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iKTsKcmV0dXJuIGQuYnVpbGQocSxkLkRlZmF1bHRCdWlsZFBhcmFtcyxtKX0sKCk9Pnt0aHJvdyBFcnJvcigiTWFsZm9ybWVkIEdyYXBoRGVmLiBUaGlzIGNhbiBzb21ldGltZXMgYmUgY2F1c2VkIGJ5IGEgYmFkIG5ldHdvcmsgY29ubmVjdGlvbiBvciBkaWZmaWN1bHR5IHJlY29uY2lsaW5nIG11bHRpcGxlIEdyYXBoRGVmczsgZm9yIHRoZSBsYXR0ZXIgY2FzZSwgcGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2lzc3Vlcy8xOTI5LiIpO30pLnRoZW4ocT0+SmgodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe2Qub3AuY2hlY2tPcHNGb3JDb21wYXRpYmlsaXR5KHEsbCk7Y29uc3QgdT15aWVsZCBkLmhpZXJhcmNoeS5idWlsZChxLHAsbik7cmV0dXJue2dyYXBoOnEsZ3JhcGhIaWVyYXJjaHk6dX19KSkuY2F0Y2gocT0+e2gucmVwb3J0RXJyb3IoYEdyYXBoIHZpc3VhbGl6YXRpb24gZmFpbGVkLlxuXG4ke3F9YCxxKTt0aHJvdyBxOwp9KX19KShkLmxvYWRlcnx8KGQubG9hZGVyPXt9KSl9KShiLmdyYXBofHwoYi5ncmFwaD17fSkpfSkodGZ8fCh0Zj17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWNvbW1vbi9ub2RlLmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7KGZ1bmN0aW9uKGYpeyhmdW5jdGlvbihoKXtmdW5jdGlvbiBrKFosY2EsamEpe2lmKGNhLm5vZGUuaXNHcm91cE5vZGUpe2lmKGNhLmV4cGFuZGVkKXJldHVybiBmLmJ1aWxkR3JvdXAoWixjYSxqYSxmLkNsYXNzLlN1YnNjZW5lLkdST1VQKTtmLnNlbGVjdENoaWxkKFosImciLGYuQ2xhc3MuU3Vic2NlbmUuR1JPVVApLnJlbW92ZSgpfXJldHVybiBudWxsfWZ1bmN0aW9uIHIoWixjYSl7bGV0IGphPWNhLngtY2Eud2lkdGgvMitjYS5wYWRkaW5nTGVmdDtjYT1jYS55LWNhLmhlaWdodC8yK2NhLnBhZGRpbmdUb3A7Wj1mLnNlbGVjdENoaWxkKFosImciLGYuQ2xhc3MuU3Vic2NlbmUuR1JPVVApO2YudHJhbnNsYXRlKFosamEsY2EpfWZ1bmN0aW9uIGwoWixjYSxqYSl7Wj1mLnNlbGVjdE9yQ3JlYXRlQ2hpbGQoWiwiZyIsZi5DbGFzcy5Ob2RlLkJVVFRPTl9DT05UQUlORVIpO2Yuc2VsZWN0T3JDcmVhdGVDaGlsZChaLCJjaXJjbGUiLGYuQ2xhc3MuTm9kZS5CVVRUT05fQ0lSQ0xFKTsKZi5zZWxlY3RPckNyZWF0ZUNoaWxkKFosInBhdGgiLGYuQ2xhc3MuTm9kZS5FWFBBTkRfQlVUVE9OKS5hdHRyKCJkIiwiTTAsLTIuMiBWMi4yIE0tMi4yLDAgSDIuMiIpO2Yuc2VsZWN0T3JDcmVhdGVDaGlsZChaLCJwYXRoIixmLkNsYXNzLk5vZGUuQ09MTEFQU0VfQlVUVE9OKS5hdHRyKCJkIiwiTS0yLjIsMCBIMi4yIik7Wi5vbigiY2xpY2siLGJhPT57ZDMuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7amEuZmlyZSgibm9kZS10b2dnbGUtZXhwYW5kIix7bmFtZTpiYS5ub2RlLm5hbWV9KX0pO2YucG9zaXRpb25CdXR0b24oWixjYSl9ZnVuY3Rpb24gcChaLGNhLGphLGJhKXtpZihiYSlaLmF0dHIoInBvaW50ZXItZXZlbnRzIiwibm9uZSIpO2Vsc2V7dmFyIGthPWYuY29udGV4dG1lbnUuZ2V0TWVudShqYSxtKGNhLm5vZGUsamEpKTtaLm9uKCJkYmxjbGljayIsVz0+e2phLmZpcmUoIm5vZGUtdG9nZ2xlLWV4cGFuZCIse25hbWU6Vy5ub2RlLm5hbWV9KX0pLm9uKCJtb3VzZW92ZXIiLApXPT57amEuaXNOb2RlRXhwYW5kZWQoVyl8fGphLmZpcmUoIm5vZGUtaGlnaGxpZ2h0Iix7bmFtZTpXLm5vZGUubmFtZX0pfSkub24oIm1vdXNlb3V0IixXPT57amEuaXNOb2RlRXhwYW5kZWQoVyl8fGphLmZpcmUoIm5vZGUtdW5oaWdobGlnaHQiLHtuYW1lOlcubm9kZS5uYW1lfSl9KS5vbigiY2xpY2siLFc9PntkMy5ldmVudC5zdG9wUHJvcGFnYXRpb24oKTtqYS5maXJlKCJub2RlLXNlbGVjdCIse25hbWU6Vy5ub2RlLm5hbWV9KX0pLm9uKCJjb250ZXh0bWVudSIsKFcsRWEpPT57amEuZmlyZSgibm9kZS1zZWxlY3QiLHtuYW1lOlcubm9kZS5uYW1lfSk7a2EuY2FsbChXLEVhKX0pfX1mdW5jdGlvbiBtKFosY2Epe2xldCBqYT1be3RpdGxlOigpPT5kLmdldEluY2x1ZGVOb2RlQnV0dG9uU3RyaW5nKFouaW5jbHVkZSksYWN0aW9uOigpPT57Y2EuZmlyZSgibm9kZS10b2dnbGUtZXh0cmFjdCIse25hbWU6Wi5uYW1lfSl9fV07Y2Eubm9kZUNvbnRleHRNZW51SXRlbXMmJihqYT1qYS5jb25jYXQoY2Eubm9kZUNvbnRleHRNZW51SXRlbXMpKTsKbihaKSYmamEucHVzaCh7dGl0bGU6KCk9PncoWiksYWN0aW9uOigpPT57Y2EuZmlyZSgibm9kZS10b2dnbGUtc2VyaWVzZ3JvdXAiLHtuYW1lOnEoWil9KX19KTtyZXR1cm4gamF9ZnVuY3Rpb24gbihaKXtyZXR1cm4gbnVsbCE9PXEoWil9ZnVuY3Rpb24gcShaKXtyZXR1cm4gWj9aLnR5cGU9PT1kLk5vZGVUeXBlLlNFUklFUz9aLm5hbWU6Wi50eXBlPT09ZC5Ob2RlVHlwZS5PUD9aLm93bmluZ1NlcmllczpudWxsOm51bGx9ZnVuY3Rpb24gdShaKXtsZXQgY2E9bnVsbDtpZighWilyZXR1cm4gbnVsbDtaLnR5cGU9PT1kLk5vZGVUeXBlLlNFUklFUz9jYT1aOloucGFyZW50Tm9kZSYmWi5wYXJlbnROb2RlLnR5cGU9PT1kLk5vZGVUeXBlLlNFUklFUyYmKGNhPVoucGFyZW50Tm9kZSk7cmV0dXJuIGNhfWZ1bmN0aW9uIHcoWil7cmV0dXJuIGIuZ3JhcGguZ2V0R3JvdXBTZXJpZXNOb2RlQnV0dG9uU3RyaW5nKG51bGwhPT11KFopP2IuZ3JhcGguU2VyaWVzR3JvdXBpbmdUeXBlLkdST1VQOgpiLmdyYXBoLlNlcmllc0dyb3VwaW5nVHlwZS5VTkdST1VQKX1mdW5jdGlvbiBBKFosY2EsamEpe3ZhciBiYT1jYS5kaXNwbGF5TmFtZTtsZXQga2E9Y2Eubm9kZS50eXBlPT09ZC5Ob2RlVHlwZS5NRVRBJiYhY2EuZXhwYW5kZWQ7Wj1mLnNlbGVjdE9yQ3JlYXRlQ2hpbGQoWiwidGV4dCIsZi5DbGFzcy5Ob2RlLkxBQkVMKTtsZXQgVz1aLm5vZGUoKTtXLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoVyk7Wi5hdHRyKCJkeSIsIi4zNWVtIikuYXR0cigidGV4dC1hbmNob3IiLCJtaWRkbGUiKTtrYSYmKGJhLmxlbmd0aD5qYS5tYXhNZXRhbm9kZUxhYmVsTGVuZ3RoJiYoYmE9YmEuc3Vic3RyKDAsamEubWF4TWV0YW5vZGVMYWJlbExlbmd0aC0yKSsiLi4uIiksamE9eChqYSksWi5hdHRyKCJmb250LXNpemUiLGphKGJhLmxlbmd0aCkrInB4IikpO2JhPVoudGV4dChiYSk7eShiYSxjYS5ub2RlLnR5cGUsY2EpO3JldHVybiBafWZ1bmN0aW9uIHkoWixjYSxqYSl7bGV0IGJhPVoubm9kZSgpO3ZhciBrYT0KYmEuZ2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCk7bGV0IFc9YmEudGV4dENvbnRlbnQsRWE9bnVsbDtzd2l0Y2goY2Epe2Nhc2UgZC5Ob2RlVHlwZS5NRVRBOmphJiYhamEuZXhwYW5kZWQmJihFYT1kLmxheW91dC5QQVJBTVMubm9kZVNpemUubWV0YS5tYXhMYWJlbFdpZHRoKTticmVhaztjYXNlIGQuTm9kZVR5cGUuT1A6RWE9ZC5sYXlvdXQuUEFSQU1TLm5vZGVTaXplLm9wLm1heExhYmVsV2lkdGg7YnJlYWs7Y2FzZSAtMTpFYT1kLmxheW91dC5QQVJBTVMuYW5ub3RhdGlvbnMubWF4TGFiZWxXaWR0aH1pZighKG51bGw9PT1FYXx8a2E8PUVhKSl7Zm9yKGthPTE7YmEuZ2V0U3ViU3RyaW5nTGVuZ3RoKDAsa2EpPEVhOylrYSsrO2NhPWJhLnRleHRDb250ZW50LnN1YnN0cigwLGthKTtkbyBjYT1jYS5zdWJzdHIoMCxjYS5sZW5ndGgtMSksYmEudGV4dENvbnRlbnQ9Y2ErIi4uLiIsa2E9YmEuZ2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCk7d2hpbGUoa2E+RWEmJjA8Y2EubGVuZ3RoKTtyZXR1cm4gWi5hcHBlbmQoInRpdGxlIikudGV4dChXKX19CmZ1bmN0aW9uIHgoWil7ZmF8fChmYT1kMy5zY2FsZUxpbmVhcigpLmRvbWFpbihbWi5tYXhNZXRhbm9kZUxhYmVsTGVuZ3RoTGFyZ2VGb250LFoubWF4TWV0YW5vZGVMYWJlbExlbmd0aF0pLnJhbmdlKFtaLm1heE1ldGFub2RlTGFiZWxMZW5ndGhGb250U2l6ZSxaLm1pbk1ldGFub2RlTGFiZWxMZW5ndGhGb250U2l6ZV0pLmNsYW1wKCEwKSk7cmV0dXJuIGZhfWZ1bmN0aW9uIEMoWixjYSxqYSxiYSl7Zi5zZWxlY3RDaGlsZChaLCJ0ZXh0IixmLkNsYXNzLk5vZGUuTEFCRUwpLnRyYW5zaXRpb24oKS5hdHRyKCJ4IixjYSkuYXR0cigieSIsamErYmEpfWZ1bmN0aW9uIEcoWixjYSxqYSl7Wj1mLnNlbGVjdE9yQ3JlYXRlQ2hpbGQoWiwiZyIsamEpO3N3aXRjaChjYS5ub2RlLnR5cGUpe2Nhc2UgZC5Ob2RlVHlwZS5PUDpjYT1jYS5ub2RlO2lmKF8uaXNOdW1iZXIoY2EuZnVuY3Rpb25JbnB1dEluZGV4KXx8Xy5pc051bWJlcihjYS5mdW5jdGlvbk91dHB1dEluZGV4KSl7Zi5zZWxlY3RPckNyZWF0ZUNoaWxkKFosCiJwb2x5Z29uIixmLkNsYXNzLk5vZGUuQ09MT1JfVEFSR0VUKTticmVha31mLnNlbGVjdE9yQ3JlYXRlQ2hpbGQoWiwiZWxsaXBzZSIsZi5DbGFzcy5Ob2RlLkNPTE9SX1RBUkdFVCk7YnJlYWs7Y2FzZSBkLk5vZGVUeXBlLlNFUklFUzpqYT0iYW5ub3RhdGlvbiI7Y2EuY29yZUdyYXBoJiYoamE9Y2Eubm9kZS5oYXNOb25Db250cm9sRWRnZXM/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCIpO2xldCBiYT1bZi5DbGFzcy5Ob2RlLkNPTE9SX1RBUkdFVF07Y2EuaXNGYWRlZE91dCYmYmEucHVzaCgiZmFkZWQtZWxsaXBzZSIpO2Yuc2VsZWN0T3JDcmVhdGVDaGlsZChaLCJ1c2UiLGJhKS5hdHRyKCJ4bGluazpocmVmIiwiI29wLXNlcmllcy0iK2phKyItc3RhbXAiKTtmLnNlbGVjdE9yQ3JlYXRlQ2hpbGQoWiwicmVjdCIsZi5DbGFzcy5Ob2RlLkNPTE9SX1RBUkdFVCkuYXR0cigicngiLGNhLnJhZGl1cykuYXR0cigicnkiLGNhLnJhZGl1cyk7YnJlYWs7Y2FzZSBkLk5vZGVUeXBlLkJSSURHRTpmLnNlbGVjdE9yQ3JlYXRlQ2hpbGQoWiwKInJlY3QiLGYuQ2xhc3MuTm9kZS5DT0xPUl9UQVJHRVQpLmF0dHIoInJ4IixjYS5yYWRpdXMpLmF0dHIoInJ5IixjYS5yYWRpdXMpO2JyZWFrO2Nhc2UgZC5Ob2RlVHlwZS5NRVRBOmYuc2VsZWN0T3JDcmVhdGVDaGlsZChaLCJyZWN0IixmLkNsYXNzLk5vZGUuQ09MT1JfVEFSR0VUKS5hdHRyKCJyeCIsY2EucmFkaXVzKS5hdHRyKCJyeSIsY2EucmFkaXVzKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJVbnJlY29nbml6ZWQgbm9kZSB0eXBlOiAiK2NhLm5vZGUudHlwZSk7fXJldHVybiBafWZ1bmN0aW9uIEQoWil7c3dpdGNoKFoubm9kZS50eXBlKXtjYXNlIGQuTm9kZVR5cGUuT1A6cmV0dXJuIGYuQ2xhc3MuT1BOT0RFO2Nhc2UgZC5Ob2RlVHlwZS5NRVRBOnJldHVybiBmLkNsYXNzLk1FVEFOT0RFO2Nhc2UgZC5Ob2RlVHlwZS5TRVJJRVM6cmV0dXJuIGYuQ2xhc3MuU0VSSUVTTk9ERTtjYXNlIGQuTm9kZVR5cGUuQlJJREdFOnJldHVybiBmLkNsYXNzLkJSSURHRU5PREU7Y2FzZSBkLk5vZGVUeXBlLkVMTElQU0lTOnJldHVybiBmLkNsYXNzLkVMTElQU0lTTk9ERX10aHJvdyBFcnJvcigiVW5yZWNvZ25pemVkIG5vZGUgdHlwZTogIisKWi5ub2RlLnR5cGUpO31mdW5jdGlvbiBCKFosY2Epe3ZhciBqYT1mLnNlbGVjdENoaWxkKFosImciLGYuQ2xhc3MuTm9kZS5TSEFQRSk7bGV0IGJhPWQubGF5b3V0LmNvbXB1dGVDWFBvc2l0aW9uT2ZOb2RlU2hhcGUoY2EpO3N3aXRjaChjYS5ub2RlLnR5cGUpe2Nhc2UgZC5Ob2RlVHlwZS5PUDp7Y29uc3Qga2E9Y2Eubm9kZTtfLmlzTnVtYmVyKGthLmZ1bmN0aW9uSW5wdXRJbmRleCl8fF8uaXNOdW1iZXIoa2EuZnVuY3Rpb25PdXRwdXRJbmRleCk/KGphPWYuc2VsZWN0Q2hpbGQoamEsInBvbHlnb24iKSxmLnBvc2l0aW9uVHJpYW5nbGUoamEsY2EueCxjYS55LGNhLmNvcmVCb3gud2lkdGgsY2EuY29yZUJveC5oZWlnaHQpKTooamE9Zi5zZWxlY3RDaGlsZChqYSwiZWxsaXBzZSIpLGYucG9zaXRpb25FbGxpcHNlKGphLGJhLGNhLnksY2EuY29yZUJveC53aWR0aCxjYS5jb3JlQm94LmhlaWdodCkpO0MoWixiYSxjYS55LGNhLmxhYmVsT2Zmc2V0KTticmVha31jYXNlIGQuTm9kZVR5cGUuTUVUQTpqYT0KamEuc2VsZWN0QWxsKCJyZWN0Iik7Y2EuZXhwYW5kZWQ/KGYucG9zaXRpb25SZWN0KGphLGNhLngsY2EueSxjYS53aWR0aCxjYS5oZWlnaHQpLHIoWixjYSksQyhaLGJhLGNhLnksLWNhLmhlaWdodC8yK2NhLmxhYmVsSGVpZ2h0LzIpKTooZi5wb3NpdGlvblJlY3QoamEsYmEsY2EueSxjYS5jb3JlQm94LndpZHRoLGNhLmNvcmVCb3guaGVpZ2h0KSxDKFosYmEsY2EueSwwKSk7YnJlYWs7Y2FzZSBkLk5vZGVUeXBlLlNFUklFUzpqYT1mLnNlbGVjdENoaWxkKGphLCJ1c2UiKTtjYS5leHBhbmRlZD8oZi5wb3NpdGlvblJlY3QoamEsY2EueCxjYS55LGNhLndpZHRoLGNhLmhlaWdodCkscihaLGNhKSxDKFosYmEsY2EueSwtY2EuaGVpZ2h0LzIrY2EubGFiZWxIZWlnaHQvMikpOihmLnBvc2l0aW9uUmVjdChqYSxiYSxjYS55LGNhLmNvcmVCb3gud2lkdGgsY2EuY29yZUJveC5oZWlnaHQpLEMoWixiYSxjYS55LGNhLmxhYmVsT2Zmc2V0KSk7YnJlYWs7Y2FzZSBkLk5vZGVUeXBlLkJSSURHRTpaPQpmLnNlbGVjdENoaWxkKGphLCJyZWN0Iik7Zi5wb3NpdGlvblJlY3QoWixjYS54LGNhLnksY2Eud2lkdGgsY2EuaGVpZ2h0KTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJVbnJlY29nbml6ZWQgbm9kZSB0eXBlOiAiK2NhLm5vZGUudHlwZSk7fX1mdW5jdGlvbiBIKFosY2EsamEpe2xldCBiYT1iLmdyYXBoLnV0aWwuZXNjYXBlUXVlcnlTZWxlY3RvcihaKTtpZighamEpcmV0dXJuYHVybCgjJHtiYX0pYDtqYT1kMy5zZWxlY3QoamEpO2xldCBrYT1qYS5zZWxlY3QoImRlZnMjX2dyYXBoLWdyYWRpZW50cyIpO2thLmVtcHR5KCkmJihrYT1qYS5hcHBlbmQoImRlZnMiKS5hdHRyKCJpZCIsIl9ncmFwaC1ncmFkaWVudHMiKSk7bGV0IFc9a2Euc2VsZWN0KCJsaW5lYXJHcmFkaWVudCMiK2JhKTtpZihXLmVtcHR5KCkpe1c9a2EuYXBwZW5kKCJsaW5lYXJHcmFkaWVudCIpLmF0dHIoImlkIixaKTtXLnNlbGVjdEFsbCgiKiIpLnJlbW92ZSgpO2xldCBFYT0wO18uZWFjaChjYSx2YT0+e2xldCB5YT0KdmEuY29sb3I7Vy5hcHBlbmQoInN0b3AiKS5hdHRyKCJvZmZzZXQiLEVhKS5hdHRyKCJzdG9wLWNvbG9yIix5YSk7Vy5hcHBlbmQoInN0b3AiKS5hdHRyKCJvZmZzZXQiLEVhK3ZhLnByb3BvcnRpb24pLmF0dHIoInN0b3AtY29sb3IiLHlhKTtFYSs9dmEucHJvcG9ydGlvbn0pfXJldHVybmB1cmwoIyR7YmF9KWB9ZnVuY3Rpb24gSyhaLGNhLGphLGJhLGthKXtsZXQgVz1kLnJlbmRlci5NZXRhbm9kZUNvbG9ycztzd2l0Y2goY2Epe2Nhc2Ugb2EuU1RSVUNUVVJFOnJldHVybiBqYS5ub2RlLnR5cGU9PT1kLk5vZGVUeXBlLk1FVEE/KGNhPWphLm5vZGUudGVtcGxhdGVJZCxudWxsPT09Y2E/Vy5VTktOT1dOOlcuU1RSVUNUVVJFX1BBTEVUVEUoWihjYSksYmEpKTpqYS5ub2RlLnR5cGU9PT1kLk5vZGVUeXBlLlNFUklFUz9iYT9XLkVYUEFOREVEX0NPTE9SOiJ3aGl0ZSI6amEubm9kZS50eXBlPT09ZC5Ob2RlVHlwZS5CUklER0U/amEuc3RydWN0dXJhbD8iI2YwZSI6amEubm9kZS5pbmJvdW5kPwoiIzBlZiI6IiNmZTAiOl8uaXNOdW1iZXIoamEubm9kZS5mdW5jdGlvbklucHV0SW5kZXgpPyIjNzk1NTQ4IjpfLmlzTnVtYmVyKGphLm5vZGUuZnVuY3Rpb25PdXRwdXRJbmRleCk/IiMwMDk2ODgiOiJ3aGl0ZSI7Y2FzZSBvYS5ERVZJQ0U6cmV0dXJuIG51bGw9PWphLmRldmljZUNvbG9ycz9XLlVOS05PV046YmE/Vy5FWFBBTkRFRF9DT0xPUjpIKCJkZXZpY2UtIitqYS5ub2RlLm5hbWUsamEuZGV2aWNlQ29sb3JzLGthKTtjYXNlIG9hLlhMQV9DTFVTVEVSOnJldHVybiBudWxsPT1qYS54bGFDbHVzdGVyQ29sb3JzP1cuVU5LTk9XTjpiYT9XLkVYUEFOREVEX0NPTE9SOkgoInhsYS0iK2phLm5vZGUubmFtZSxqYS54bGFDbHVzdGVyQ29sb3JzLGthKTtjYXNlIG9hLkNPTVBVVEVfVElNRTpyZXR1cm4gYmE/Vy5FWFBBTkRFRF9DT0xPUjpqYS5jb21wdXRlVGltZUNvbG9yfHxXLlVOS05PV047Y2FzZSBvYS5NRU1PUlk6cmV0dXJuIGJhP1cuRVhQQU5ERURfQ09MT1I6amEubWVtb3J5Q29sb3J8fApXLlVOS05PV047Y2FzZSBvYS5PUF9DT01QQVRJQklMSVRZOnJldHVybiBudWxsPT1qYS5jb21wYXRpYmlsaXR5Q29sb3JzP1cuVU5LTk9XTjpiYT9XLkVYUEFOREVEX0NPTE9SOkgoIm9wLWNvbXBhdC0iK2phLm5vZGUubmFtZSxqYS5jb21wYXRpYmlsaXR5Q29sb3JzLGthKTtkZWZhdWx0OnRocm93IEVycm9yKCJVbmtub3duIGNhc2UgdG8gY29sb3Igbm9kZXMgYnkiKTt9fWZ1bmN0aW9uIEwoWixjYSxqYSxiYSl7YmE9YmF8fGYuQ2xhc3MuTm9kZS5TSEFQRTtsZXQga2E9amEuaXNOb2RlU2VsZWN0ZWQoY2Eubm9kZS5uYW1lKSxXPWNhLmlzSW5FeHRyYWN0fHxjYS5pc091dEV4dHJhY3R8fGNhLmlzTGlicmFyeUZ1bmN0aW9uLEVhPWNhLmV4cGFuZGVkJiZiYSE9PWYuQ2xhc3MuQW5ub3RhdGlvbi5OT0RFLHZhPWNhLmlzRmFkZWRPdXQ7Wi5jbGFzc2VkKCJoaWdobGlnaHRlZCIsamEuaXNOb2RlSGlnaGxpZ2h0ZWQoY2Eubm9kZS5uYW1lKSk7Wi5jbGFzc2VkKCJzZWxlY3RlZCIsa2EpOwpaLmNsYXNzZWQoImV4dHJhY3QiLFcpO1ouY2xhc3NlZCgiZXhwYW5kZWQiLEVhKTtaLmNsYXNzZWQoImZhZGVkIix2YSk7Wj1aLnNlbGVjdCgiLiIrYmErIiAuIitmLkNsYXNzLk5vZGUuQ09MT1JfVEFSR0VUKTtjYT1LKGphLnRlbXBsYXRlSW5kZXgsb2FbamEuY29sb3JCeS50b1VwcGVyQ2FzZSgpXSxjYSxFYSxqYS5nZXRHcmFwaFN2Z1Jvb3QoKSk7Wi5zdHlsZSgiZmlsbCIsY2EpO1ouc3R5bGUoInN0cm9rZSIsa2E/bnVsbDpKKGNhKSl9ZnVuY3Rpb24gSihaKXtyZXR1cm4idXJsIj09PVouc3Vic3RyaW5nKDAsMyk/ZC5yZW5kZXIuTWV0YW5vZGVDb2xvcnMuR1JBRElFTlRfT1VUTElORTpkMy5yZ2IoWikuZGFya2VyKCkudG9TdHJpbmcoKX1mdW5jdGlvbiBPKFosY2Epe2xldCBqYT1bXTtaPWNhLmdldE5vZGVCeU5hbWUoWik7aWYoWiBpbnN0YW5jZW9mIGIuZ3JhcGguT3BOb2RlSW1wbClyZXR1cm5bWl0uY29uY2F0KFouaW5FbWJlZGRpbmdzKTtaPVoubWV0YWdyYXBoLm5vZGVzKCk7Cl8uZWFjaChaLGZ1bmN0aW9uKGJhKXtqYT1qYS5jb25jYXQoTyhiYSxjYSkpfSk7cmV0dXJuIGphfWZ1bmN0aW9uIFMoWixjYSxqYSxiYSl7aWYoYmFbamEubmFtZV0pcmV0dXJuIGJhO2JhW2phLm5hbWVdPSEwO3ZhciBrYT1qYS5pbnB1dHM7bGV0IFc9YWEoY2EsamEpO2QzLnNlbGVjdChaKS5zZWxlY3QoYC5ub2RlW2RhdGEtbmFtZT0iJHtXLm5hbWV9Il1gKS5jbGFzc2VkKCJpbnB1dC1oaWdobGlnaHQiLCEwKTtsZXQgRWE9e307Xy5lYWNoKGthLGZ1bmN0aW9uKEFhKXtBYT1jYS5nZXROb2RlQnlOYW1lKEFhLm5hbWUpO2lmKHZvaWQgMCE9PUFhKXtBYSBpbnN0YW5jZW9mIGQuTWV0YW5vZGVJbXBsJiYoQWE9Yi5ncmFwaC5nZXRTdHJpY3ROYW1lKEFhLm5hbWUpLEFhPWNhLmdldE5vZGVCeU5hbWUoQWEpKTt2YXIgRmE9YWEoY2EsQWEpLHhhPUVhW0ZhLm5hbWVdO3hhP3hhLm9wTm9kZXMucHVzaChBYSk6RWFbRmEubmFtZV09e3Zpc2libGVQYXJlbnQ6RmEsb3BOb2RlczpbQWFdfX19KTsKbGV0IHZhPXt9LHlhPVtXXTt2YVtXLm5hbWVdPXt0cmFjZWQ6ITEsaW5kZXg6MCxjb25uZWN0aW9uRW5kcG9pbnRzOltdfTtqYT1XO2ZvcihrYT0xO2phLm5hbWUhPT1iLmdyYXBoLlJPT1RfTkFNRTtrYSsrKWphPWphLnBhcmVudE5vZGUsdmFbamEubmFtZV09e3RyYWNlZDohMSxpbmRleDprYSxjb25uZWN0aW9uRW5kcG9pbnRzOltdfSx5YVtrYV09amE7Xy5mb3JPd24oRWEsZnVuY3Rpb24oQWEpe2xldCBGYT1BYS52aXNpYmxlUGFyZW50O18uZWFjaChBYS5vcE5vZGVzLGZ1bmN0aW9uKHhhKXtiYT1TKFosY2EseGEsYmEpfSk7RmEubmFtZSE9PVcubmFtZSYmTihaLEZhLHZhLHlhKX0pO3JldHVybiBiYX1mdW5jdGlvbiBOKFosY2EsamEsYmEpe3ZhciBrYT1jYSxXPWNhO2ZvcihjYT1bXTshamFba2EubmFtZV07KVcubmFtZSE9PWthLm5hbWUmJmNhLnB1c2goW1csa2FdKSxXPWthLGthPWthLnBhcmVudE5vZGU7amE9amFba2EubmFtZV0uaW5kZXg7bGV0IEVhPWJhW01hdGgubWF4KGphLQoxLDApXS5uYW1lO1c9a2E9Vy5uYW1lO2NvbnN0IHZhPWQzLnNlbGVjdChaKTt2YS5zZWxlY3RBbGwoYFtkYXRhLWVkZ2U9IiR7V30tLSR7RWF9Il1gKS5jbGFzc2VkKCJpbnB1dC1lZGdlLWhpZ2hsaWdodCIsITApO18uZWFjaChjYSxmdW5jdGlvbih5YSl7dmEuc2VsZWN0QWxsKGBbZGF0YS1lZGdlPSIke3lhWzBdLm5hbWV9LS0ke0VhfWArYH5+JHt5YVsxXS5uYW1lfX5+T1VUIl1gKS5jbGFzc2VkKCJpbnB1dC1lZGdlLWhpZ2hsaWdodCIsITApfSk7Zm9yKFo9MTtaPGphO1orKyl2YS5zZWxlY3RBbGwoYFtkYXRhLWVkZ2U9IiR7a2F9fn4ke2JhW1pdLm5hbWV9YCtgfn5JTi0tJHtiYVtaLTFdLm5hbWV9Il1gKS5jbGFzc2VkKCJpbnB1dC1lZGdlLWhpZ2hsaWdodCIsITApfWZ1bmN0aW9uIFIoWixjYSl7bGV0IGphPXt9O18uZWFjaChjYSxmdW5jdGlvbihiYSl7YmE9Wi5nZXROb2RlQnlOYW1lKGJhKTtiYT1hYShaLGJhKTtqYVtiYS5uYW1lXT1iYX0pO3JldHVybiBqYX1mdW5jdGlvbiBYKFosCmNhKXtfLmZvck93bihjYSxmdW5jdGlvbihqYSl7Zm9yKDtqYS5uYW1lIT09Yi5ncmFwaC5ST09UX05BTUU7KXtjb25zdCBiYT1kMy5zZWxlY3QoWikuc2VsZWN0KGAubm9kZVtkYXRhLW5hbWU9IiR7amEubmFtZX0iXWApOyFiYS5ub2RlcygpLmxlbmd0aHx8YmEuY2xhc3NlZCgiaW5wdXQtaGlnaGxpZ2h0Iil8fGJhLmNsYXNzZWQoInNlbGVjdGVkIil8fGJhLmNsYXNzZWQoIm9wIil8fGJhLmNsYXNzZWQoImlucHV0LXBhcmVudCIsITApO2phPWphLnBhcmVudE5vZGV9fSl9ZnVuY3Rpb24gYWEoWixjYSl7bGV0IGphPSExLGJhPWNhO2Zvcig7IWphOylpZihjYT1iYSxiYT1jYS5wYXJlbnROb2RlLHZvaWQgMD09PWJhKWphPSEwO2Vsc2V7bGV0IGthPVouZ2V0UmVuZGVyTm9kZUJ5TmFtZShiYS5uYW1lKTtrYSYmKGthLmV4cGFuZGVkfHxiYSBpbnN0YW5jZW9mIGQuT3BOb2RlSW1wbCkmJihqYT0hMCl9cmV0dXJuIGNhfWguYnVpbGRHcm91cD1mdW5jdGlvbihaLGNhLGphKXtaPWYuc2VsZWN0T3JDcmVhdGVDaGlsZChaLAoiZyIsZi5DbGFzcy5Ob2RlLkNPTlRBSU5FUikuc2VsZWN0QWxsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGROb2Rlc30pLmRhdGEoY2EsYmE9PmJhLm5vZGUubmFtZSsiOiIrYmEubm9kZS50eXBlKTtaLmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiZGF0YS1uYW1lIixiYT0+YmEubm9kZS5uYW1lKS5lYWNoKGZ1bmN0aW9uKGJhKXtsZXQga2E9ZDMuc2VsZWN0KHRoaXMpO2phLmFkZE5vZGVHcm91cChiYS5ub2RlLm5hbWUsa2EpfSkubWVyZ2UoWikuYXR0cigiY2xhc3MiLGJhPT5mLkNsYXNzLk5vZGUuR1JPVVArIiAiK0QoYmEpKS5lYWNoKGZ1bmN0aW9uKGJhKXtsZXQga2E9ZDMuc2VsZWN0KHRoaXMpO3ZhciBXPWYuc2VsZWN0T3JDcmVhdGVDaGlsZChrYSwiZyIsZi5DbGFzcy5Bbm5vdGF0aW9uLklOQk9YKTtmLmFubm90YXRpb24uYnVpbGRHcm91cChXLGJhLmluQW5ub3RhdGlvbnMsYmEsamEpO1c9Zi5zZWxlY3RPckNyZWF0ZUNoaWxkKGthLCJnIixmLkNsYXNzLkFubm90YXRpb24uT1VUQk9YKTsKZi5hbm5vdGF0aW9uLmJ1aWxkR3JvdXAoVyxiYS5vdXRBbm5vdGF0aW9ucyxiYSxqYSk7Vz1HKGthLGJhLGYuQ2xhc3MuTm9kZS5TSEFQRSk7YmEubm9kZS5pc0dyb3VwTm9kZSYmbChXLGJhLGphKTtwKFcsYmEsamEpO2soa2EsYmEsamEpO1c9QShrYSxiYSxqYSk7cChXLGJhLGphLGJhLm5vZGUudHlwZT09PWQuTm9kZVR5cGUuTUVUQSk7TChrYSxiYSxqYSk7QihrYSxiYSl9KTtaLmV4aXQoKS5lYWNoKGZ1bmN0aW9uKGJhKXtqYS5yZW1vdmVOb2RlR3JvdXAoYmEubm9kZS5uYW1lKTtsZXQga2E9ZDMuc2VsZWN0KHRoaXMpOzA8YmEuaW5Bbm5vdGF0aW9ucy5saXN0Lmxlbmd0aCYma2Euc2VsZWN0KCIuIitmLkNsYXNzLkFubm90YXRpb24uSU5CT1gpLnNlbGVjdEFsbCgiLiIrZi5DbGFzcy5Bbm5vdGF0aW9uLkdST1VQKS5lYWNoKFc9PntqYS5yZW1vdmVBbm5vdGF0aW9uR3JvdXAoVyxiYSl9KTswPGJhLm91dEFubm90YXRpb25zLmxpc3QubGVuZ3RoJiZrYS5zZWxlY3QoIi4iK2YuQ2xhc3MuQW5ub3RhdGlvbi5PVVRCT1gpLnNlbGVjdEFsbCgiLiIrCmYuQ2xhc3MuQW5ub3RhdGlvbi5HUk9VUCkuZWFjaChXPT57amEucmVtb3ZlQW5ub3RhdGlvbkdyb3VwKFcsYmEpfSl9KS5yZW1vdmUoKTtyZXR1cm4gWn07aC5nZXRDb250ZXh0TWVudT1tO2guY2FuQmVJblNlcmllcz1uO2guZ2V0U2VyaWVzTmFtZT1xO2guZ2V0R3JvdXBTZXR0aW5nTGFiZWw9dztoLmVuZm9yY2VMYWJlbFdpZHRoPXk7bGV0IGZhPW51bGw7aC5idWlsZFNoYXBlPUc7aC5ub2RlQ2xhc3M9RDtsZXQgb2E7KGZ1bmN0aW9uKFope1pbWi5TVFJVQ1RVUkU9MF09IlNUUlVDVFVSRSI7WltaLkRFVklDRT0xXT0iREVWSUNFIjtaW1ouWExBX0NMVVNURVI9Ml09IlhMQV9DTFVTVEVSIjtaW1ouQ09NUFVURV9USU1FPTNdPSJDT01QVVRFX1RJTUUiO1pbWi5NRU1PUlk9NF09Ik1FTU9SWSI7WltaLk9QX0NPTVBBVElCSUxJVFk9NV09Ik9QX0NPTVBBVElCSUxJVFkifSkob2E9aC5Db2xvckJ5fHwoaC5Db2xvckJ5PXt9KSk7aC5yZW1vdmVHcmFkaWVudERlZmluaXRpb25zPWZ1bmN0aW9uKFope2QzLnNlbGVjdChaKS5zZWxlY3QoImRlZnMjX2dyYXBoLWdyYWRpZW50cyIpLnJlbW92ZSgpfTsKaC5nZXRGaWxsRm9yTm9kZT1LO2guc3R5bGl6ZT1MO2guZ2V0U3Ryb2tlRm9yRmlsbD1KO2gudXBkYXRlSW5wdXRUcmFjZT1mdW5jdGlvbihaLGNhLGphLGJhKXtjb25zdCBrYT1kMy5zZWxlY3QoWik7a2Euc2VsZWN0QWxsKCIuaW5wdXQtaGlnaGxpZ2h0IikuY2xhc3NlZCgiaW5wdXQtaGlnaGxpZ2h0IiwhMSk7a2Euc2VsZWN0QWxsKCIubm9uLWlucHV0IikuY2xhc3NlZCgibm9uLWlucHV0IiwhMSk7a2Euc2VsZWN0QWxsKCIuaW5wdXQtcGFyZW50IikuY2xhc3NlZCgiaW5wdXQtcGFyZW50IiwhMSk7a2Euc2VsZWN0QWxsKCIuaW5wdXQtY2hpbGQiKS5jbGFzc2VkKCJpbnB1dC1jaGlsZCIsITEpO2thLnNlbGVjdEFsbCgiLmlucHV0LWVkZ2UtaGlnaGxpZ2h0IikuY2xhc3NlZCgiaW5wdXQtZWRnZS1oaWdobGlnaHQiLCExKTtrYS5zZWxlY3RBbGwoIi5ub24taW5wdXQtZWRnZS1oaWdobGlnaHQiKS5jbGFzc2VkKCJub24taW5wdXQtZWRnZS1oaWdobGlnaHQiLCExKTtrYS5zZWxlY3RBbGwoIi5pbnB1dC1oaWdobGlnaHQtc2VsZWN0ZWQiKS5jbGFzc2VkKCJpbnB1dC1oaWdobGlnaHQtc2VsZWN0ZWQiLAohMSk7aWYoY2EmJmJhJiZqYSl7amE9TyhqYSxjYSk7dmFyIFc9e307Xy5lYWNoKGphLGZ1bmN0aW9uKEVhKXtXPVMoWixjYSxFYSxXKX0pO2phPU9iamVjdC5rZXlzKFcpO2phPVIoY2EsamEpO1goWixqYSk7a2Euc2VsZWN0QWxsKCJnLm5vZGU6bm90KC5zZWxlY3RlZCk6bm90KC5pbnB1dC1oaWdobGlnaHQpOm5vdCguaW5wdXQtcGFyZW50KTpub3QoLmlucHV0LWNoaWxkcmVuKSIpLmNsYXNzZWQoIm5vbi1pbnB1dCIsITApLmVhY2goZnVuY3Rpb24oRWEpe2thLnNlbGVjdEFsbChgW2RhdGEtbmFtZT0iJHtFYS5ub2RlLm5hbWV9Il1gKS5jbGFzc2VkKCJub24taW5wdXQiLCEwKX0pO2thLnNlbGVjdEFsbCgiZy5lZGdlOm5vdCguaW5wdXQtZWRnZS1oaWdobGlnaHQpIikuY2xhc3NlZCgibm9uLWlucHV0LWVkZ2UtaGlnaGxpZ2h0IiwhMCl9fTtoLmdldFZpc2libGVQYXJlbnQ9YWF9KShmLm5vZGV8fChmLm5vZGU9e30pKX0pKGQuc2NlbmV8fChkLnNjZW5lPXt9KSl9KShiLmdyYXBofHwKKGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1jb21tb24vb3AuanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7Y2xhc3MgaHtpc05vdFRwdU9wKGspe3JldHVybi0xIT1rLnRvTG93ZXJDYXNlKCkuc2VhcmNoKCJjcHU6Iil8fC0xIT1rLnRvTG93ZXJDYXNlKCkuc2VhcmNoKCJncHU6Iik/ITA6LTE9PWsudG9Mb3dlckNhc2UoKS5zZWFyY2goInRwdSIpfW9wVmFsaWQoayl7cmV0dXJuIDA9PWsubmFtZS5zZWFyY2goZC5GVU5DVElPTl9MSUJSQVJZX05PREVfUFJFRklYKXx8IWsub3B8fGsuZGV2aWNlJiZ0aGlzLmlzTm90VHB1T3Aoay5kZXZpY2UpfHxrLmRldmljZSYmLTEhPWsuZGV2aWNlLnNlYXJjaCgiVFBVX1NZU1RFTSIpPyEwOl8uaW5jbHVkZXMoaC5XSElURUxJU1Qsay5vcCl9fWguV0hJVEVMSVNUPSJBYnMgQWNvcyBBY29zaCBBZGQgQWRkTiBBZGp1c3RDb250cmFzdHYyIEFkanVzdEh1ZSBBZGp1c3RTYXR1cmF0aW9uIEFsbCBBbmdsZSBBbnkgQXBwcm94aW1hdGVFcXVhbCBBcmdNYXggQXJnTWluIEFzaW4gQXNpbmggQXNzZXJ0IEFzc2lnbkFkZFZhcmlhYmxlT3AgQXNzaWduU3ViVmFyaWFibGVPcCBBc3NpZ25WYXJpYWJsZU9wIEF0YW4gQXRhbjIgQXRhbmggQXZnUG9vbCBBdmdQb29sM0QgQXZnUG9vbDNER3JhZCBBdmdQb29sR3JhZCBCYXRjaE1hdE11bCBCYXRjaFRvU3BhY2UgQmF0Y2hUb1NwYWNlTkQgQmlhc0FkZCBCaWFzQWRkR3JhZCBCaWFzQWRkVjEgQml0Y2FzdCBCaXR3aXNlQW5kIEJpdHdpc2VPciBCaXR3aXNlWG9yIEJyb2FkY2FzdEFyZ3MgQnJvYWRjYXN0R3JhZGllbnRBcmdzIEJ1Y2tldGl6ZSBDYXN0IENlaWwgQ2hlY2tOdW1lcmljcyBDaG9sZXNreSBDbGlwQnlWYWx1ZSBDb21wbGV4IENvbXBsZXhBYnMgQ29uY2F0IENvbmNhdE9mZnNldCBDb25jYXRWMiBDb25qIENvbmp1Z2F0ZVRyYW5zcG9zZSBDb25zdCBDb250cm9sVHJpZ2dlciBDb252MkQgQ29udjJEQmFja3Byb3BGaWx0ZXIgQ29udjJEQmFja3Byb3BJbnB1dCBDb252M0QgQ29udjNEQmFja3Byb3BGaWx0ZXJWMiBDb252M0RCYWNrcHJvcElucHV0VjIgQ29zIENvc2ggQ3Jvc3MgQ3Jvc3NSZXBsaWNhU3VtIEN1bXByb2QgQ3Vtc3VtIERlcHRoVG9TcGFjZSBEZXB0aHdpc2VDb252MmROYXRpdmUgRGVwdGh3aXNlQ29udjJkTmF0aXZlQmFja3Byb3BGaWx0ZXIgRGVwdGh3aXNlQ29udjJkTmF0aXZlQmFja3Byb3BJbnB1dCBEaWFnIERpYWdQYXJ0IERpZ2FtbWEgRGl2IER5bmFtaWNTdGl0Y2ggRWx1IEVsdUdyYWQgRW1wdHkgRXF1YWwgRXJmIEVyZmMgRXhwIEV4cGFuZERpbXMgRXhwbTEgRXh0cmFjdEltYWdlUGF0Y2hlcyBGRlQgRkZUMkQgRkZUM0QgRmFrZVF1YW50V2l0aE1pbk1heEFyZ3MgRmFrZVF1YW50V2l0aE1pbk1heEFyZ3NHcmFkaWVudCBGYWtlUXVhbnRXaXRoTWluTWF4VmFycyBGYWtlUXVhbnRXaXRoTWluTWF4VmFyc0dyYWRpZW50IEZpbGwgRmxvb3IgRmxvb3JEaXYgRmxvb3JNb2QgRnVzZWRCYXRjaE5vcm0gRnVzZWRCYXRjaE5vcm1HcmFkIEZ1c2VkQmF0Y2hOb3JtR3JhZFYyIEZ1c2VkQmF0Y2hOb3JtVjIgR2F0aGVyIEdhdGhlck5kIEdhdGhlclYyIEdldEl0ZW0gR3JlYXRlciBHcmVhdGVyRXF1YWwgSFNWVG9SR0IgSUZGVCBJRkZUMkQgSUZGVDNEIElSRkZUIElSRkZUMkQgSVJGRlQzRCBJZGVudGl0eSBJZGVudGl0eU4gSWYgSW1hZyBJbmZlZWREZXF1ZXVlIEluZmVlZERlcXVldWVUdXBsZSBJbnBsYWNlQWRkIElucGxhY2VVcGRhdGUgSW52IEludmVydCBJbnZlcnRQZXJtdXRhdGlvbiBJc0Zpbml0ZSBJc0luZiBJc05hbiBMMkxvc3MgTFJOIExSTkdyYWQgTGVmdFNoaWZ0IExlc3MgTGVzc0VxdWFsIExnYW1tYSBMaW5TcGFjZSBMaXN0RGlmZiBMb2cgTG9nMXAgTG9nU29mdG1heCBMb2dpY2FsQW5kIExvZ2ljYWxOb3QgTG9naWNhbE9yIE1hdE11bCBNYXRyaXhCYW5kUGFydCBNYXRyaXhEaWFnIE1hdHJpeERpYWdQYXJ0IE1hdHJpeFNldERpYWcgTWF0cml4VHJpYW5ndWxhclNvbHZlIE1heCBNYXhQb29sIE1heFBvb2wzRCBNYXhQb29sM0RHcmFkIE1heFBvb2wzREdyYWRHcmFkIE1heFBvb2xHcmFkIE1heFBvb2xHcmFkR3JhZCBNYXhQb29sR3JhZEdyYWRWMiBNYXhQb29sR3JhZFYyIE1heFBvb2xWMiBNYXhpbXVtIE1lYW4gTWluIE1pbmltdW0gTWlycm9yUGFkIE1vZCBNdWwgTXVsdGlub21pYWwgTmVnIE5vT3AgTm9uTWF4U3VwcHJlc3Npb25WNCBOb3RFcXVhbCBPbmVIb3QgT25lc0xpa2UgT3V0ZmVlZEVucXVldWUgT3V0ZmVlZEVucXVldWVUdXBsZSBQYWNrIFBhZCBQYWRWMiBQYXJhbGxlbER5bmFtaWNTdGl0Y2ggUGxhY2Vob2xkZXJXaXRoRGVmYXVsdCBQb3cgUHJldmVudEdyYWRpZW50IFByb2QgUXIgUXVhbnRpemVBbmREZXF1YW50aXplVjIgUXVhbnRpemVBbmREZXF1YW50aXplVjMgUkZGVCBSRkZUMkQgUkZGVDNEIFJHQlRvSFNWIFJhbmRvbVNodWZmbGUgUmFuZG9tU3RhbmRhcmROb3JtYWwgUmFuZG9tVW5pZm9ybSBSYW5kb21Vbmlmb3JtSW50IFJhbmdlIFJhbmsgUmVhZFZhcmlhYmxlT3AgUmVhbCBSZWFsRGl2IFJlY2lwcm9jYWwgUmVjaXByb2NhbEdyYWQgUmVjdlRQVUVtYmVkZGluZ0FjdGl2YXRpb25zIFJlbHUgUmVsdTYgUmVsdTZHcmFkIFJlbHVHcmFkIFJlc2hhcGUgUmVzaXplQmlsaW5lYXIgUmVzaXplQmlsaW5lYXJHcmFkIFJlc291cmNlQXBwbHlBZGFNYXggUmVzb3VyY2VBcHBseUFkYWRlbHRhIFJlc291cmNlQXBwbHlBZGFncmFkIFJlc291cmNlQXBwbHlBZGFncmFkREEgUmVzb3VyY2VBcHBseUFkYW0gUmVzb3VyY2VBcHBseUFkZFNpZ24gUmVzb3VyY2VBcHBseUNlbnRlcmVkUk1TUHJvcCBSZXNvdXJjZUFwcGx5RnRybCBSZXNvdXJjZUFwcGx5RnRybFYyIFJlc291cmNlQXBwbHlHcmFkaWVudERlc2NlbnQgUmVzb3VyY2VBcHBseU1vbWVudHVtIFJlc291cmNlQXBwbHlQb3dlclNpZ24gUmVzb3VyY2VBcHBseVByb3hpbWFsQWRhZ3JhZCBSZXNvdXJjZUFwcGx5UHJveGltYWxHcmFkaWVudERlc2NlbnQgUmVzb3VyY2VBcHBseVJNU1Byb3AgUmVzb3VyY2VHYXRoZXIgUmVzb3VyY2VTY2F0dGVyQWRkIFJlc291cmNlU2NhdHRlckRpdiBSZXNvdXJjZVNjYXR0ZXJNYXggUmVzb3VyY2VTY2F0dGVyTWluIFJlc291cmNlU2NhdHRlck11bCBSZXNvdXJjZVNjYXR0ZXJOZEFkZCBSZXNvdXJjZVNjYXR0ZXJOZFVwZGF0ZSBSZXNvdXJjZVNjYXR0ZXJTdWIgUmVzb3VyY2VTY2F0dGVyVXBkYXRlIFJlc291cmNlU3RyaWRlZFNsaWNlQXNzaWduIFJldmVyc2UgUmV2ZXJzZVNlcXVlbmNlIFJldmVyc2VWMiBSaWdodFNoaWZ0IFJpbnQgUm91bmQgUnNxcnQgUnNxcnRHcmFkIFNjYXR0ZXJOZCBTZWxlY3QgU2VsdSBTZWx1R3JhZCBTZW5kVFBVRW1iZWRkaW5nR3JhZGllbnRzIFNoYXBlIFNoYXBlTiBTaWdtb2lkIFNpZ21vaWRHcmFkIFNpZ24gU2luIFNpbmggU2l6ZSBTbGljZSBTbmFwc2hvdCBTb2Z0bWF4IFNvZnRtYXhDcm9zc0VudHJvcHlXaXRoTG9naXRzIFNvZnRwbHVzIFNvZnRwbHVzR3JhZCBTb2Z0c2lnbiBTb2Z0c2lnbkdyYWQgU3BhY2VUb0JhdGNoIFNwYWNlVG9CYXRjaE5EIFNwYWNlVG9EZXB0aCBTcGFyc2VNYXRNdWwgU3BhcnNlU29mdG1heENyb3NzRW50cm9weVdpdGhMb2dpdHMgU3BhcnNlVG9EZW5zZSBTcGxpdCBTcGxpdFYgU3FydCBTcXJ0R3JhZCBTcXVhcmUgU3F1YXJlZERpZmZlcmVuY2UgU3F1ZWV6ZSBTdGFja0Nsb3NlVjIgU3RhY2tQb3BWMiBTdGFja1B1c2hWMiBTdGFja1YyIFN0YXRlbGVzc0lmIFN0YXRlbGVzc1JhbmRvbU5vcm1hbCBTdGF0ZWxlc3NSYW5kb21Vbmlmb3JtIFN0YXRlbGVzc1RydW5jYXRlZE5vcm1hbCBTdGF0ZWxlc3NXaGlsZSBTdG9wR3JhZGllbnQgU3RyaWRlZFNsaWNlIFN0cmlkZWRTbGljZUdyYWQgU3ViIFN1bSBTeW1ib2xpY0dyYWRpZW50IFRQVUVtYmVkZGluZ0FjdGl2YXRpb25zIFRhbiBUYW5oIFRhbmhHcmFkIFRlbnNvckFycmF5Q2xvc2VWMyBUZW5zb3JBcnJheUNvbmNhdFYzIFRlbnNvckFycmF5R2F0aGVyVjMgVGVuc29yQXJyYXlHcmFkVjMgVGVuc29yQXJyYXlSZWFkVjMgVGVuc29yQXJyYXlTY2F0dGVyVjMgVGVuc29yQXJyYXlTaXplVjMgVGVuc29yQXJyYXlTcGxpdFYzIFRlbnNvckFycmF5VjMgVGVuc29yQXJyYXlXcml0ZVYzIFRpbGUgVG9wS1YyIFRyYW5zcG9zZSBUcnVuY2F0ZURpdiBUcnVuY2F0ZU1vZCBUcnVuY2F0ZWROb3JtYWwgVW5wYWNrIFVuc29ydGVkU2VnbWVudE1heCBVbnNvcnRlZFNlZ21lbnRNaW4gVW5zb3J0ZWRTZWdtZW50UHJvZCBVbnNvcnRlZFNlZ21lbnRTdW0gVmFySXNJbml0aWFsaXplZE9wIFZhcmlhYmxlU2hhcGUgV2hpbGUgWGxhRHluYW1pY1VwZGF0ZVNsaWNlIFhsYUhvc3RDb21wdXRlIFhsYUlmIFhsYVJlY3YgWGxhUmVkdWNlV2luZG93IFhsYVNlbmQgWGxhU29ydCBYbGFXaGlsZSBaZXJvc0xpa2UgRW50ZXIgRXhpdCBMb29wQ29uZCBNZXJnZSBOZXh0SXRlcmF0aW9uIFN3aXRjaCBfQXJnIF9QYXJhbGxlbENvbmNhdFVwZGF0ZSBfUmV0dmFsIF9UUFVDb21waWxlIF9UUFVFeGVjdXRlIFRQVUNvbXBpbGF0aW9uUmVzdWx0IFRQVVJlcGxpY2F0ZWRJbnB1dCBUUFVSZXBsaWNhdGVkT3V0cHV0IFRQVVJlcGxpY2F0ZU1ldGFkYXRhIE1lcmdlVjJDaGVja3BvaW50cyBSZXN0b3JlVjIgU2F2ZVYyIEFib3J0IEFzc2VydCBBc3NpZ24gUGxhY2Vob2xkZXIgUGxhY2Vob2xkZXJWMiBTaGFyZGVkRmlsZW5hbWUgU3RyaW5nSm9pbiBWYXJpYWJsZSBWYXJpYWJsZVYyIFZhckhhbmRsZU9wIEF1ZGlvU3VtbWFyeSBBdWRpb1N1bW1hcnlWMiBEZWJ1Z051bWVyaWNTdW1tYXJ5IEhpc3RvZ3JhbVN1bW1hcnkgSW1hZ2VTdW1tYXJ5IE1lcmdlU3VtbWFyeSBTY2FsYXJTdW1tYXJ5IFN0YXRzQWdncmVnYXRvclN1bW1hcnkiLnNwbGl0KCIgIik7CmYuVHB1Q29tcGF0aWJpbGl0eVByb3ZpZGVyPWg7Zi5jaGVja09wc0ZvckNvbXBhdGliaWxpdHk9ZnVuY3Rpb24oayxyKXtpZihudWxsPT09cil0aHJvdyBFcnJvcigiQ29tcGF0aWJpbGl0eSBwcm92aWRlciByZXF1aXJlZCwgYnV0IGdvdDogIityKTtfLmVhY2goay5ub2RlcyxsPT57bC5jb21wYXRpYmxlPXIub3BWYWxpZChsKTtfLmVhY2gobC5pbkVtYmVkZGluZ3MscD0+e3AuY29tcGF0aWJsZT1yLm9wVmFsaWQocCl9KTtfLmVhY2gobC5vdXRFbWJlZGRpbmdzLHA9PntwLmNvbXBhdGlibGU9ci5vcFZhbGlkKHApfSl9KX19KShkLm9wfHwoZC5vcD17fSkpfSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1jb21tb24vcGFyc2VyLmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7KGZ1bmN0aW9uKGYpe2Z1bmN0aW9uIGgodSl7aWYoInRydWUiPT09dSlyZXR1cm4hMDtpZigiZmFsc2UiPT09dSlyZXR1cm4hMTtpZignIic9PT11WzBdKXJldHVybiB1LnN1YnN0cmluZygxLHUubGVuZ3RoLTEpO2xldCB3PXBhcnNlRmxvYXQodSk7cmV0dXJuIGlzTmFOKHcpP3U6d31mdW5jdGlvbiBrKHUpe3JldHVybiBuZXcgUHJvbWlzZSgodyxBKT0+e2ZldGNoKHUpLnRoZW4oeT0+e3kub2s/eS5hcnJheUJ1ZmZlcigpLnRoZW4odyxBKTp5LnRleHQoKS50aGVuKEEsQSl9KX0pfWZ1bmN0aW9uIHIodSx3LEE9MUU2LHk9IlxuIil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHgsQyl7ZnVuY3Rpb24gRyhELEIsSCl7dmFyIEs9SD49dS5ieXRlTGVuZ3RoO0I9Qi5zcGxpdCh5KTtCWzBdPUQrQlswXTtjb25zdCBMPUs/IiI6Qi5wb3AoKTtmb3IobGV0IEogb2YgQil0cnl7dyhKKX1jYXRjaChPKXtDKE8pO3JldHVybn1LP3goITApOgooRD1uZXcgQmxvYihbdS5zbGljZShILEgrQSldKSxLPW5ldyBGaWxlUmVhZGVyLEsub25sb2FkPWZ1bmN0aW9uKEope0coTCxKLnRhcmdldC5yZXN1bHQsSCtBKX0sSy5yZWFkQXNUZXh0KEQpKX1HKCIiLCIiLDApfSl9ZnVuY3Rpb24gbCh1KXtyZXR1cm4gbSh1LG4pfWZ1bmN0aW9uIHAodSl7cmV0dXJuIG0odSxxKS50aGVuKHc9Pncuc3RlcF9zdGF0cyl9ZnVuY3Rpb24gbSh1LHcpe2Z1bmN0aW9uIEEoQil7bGV0IEg9Qi5pbmRleE9mKCI6IiksSz1CLnN1YnN0cmluZygwLEgpLnRyaW0oKTtCPWgoQi5zdWJzdHJpbmcoSCsyKS50cmltKCkpO3JldHVybntuYW1lOkssdmFsdWU6Qn19ZnVuY3Rpb24geShCLEgsSyxMKXtsZXQgSj1CW0hdO251bGw9PUo/QltIXT1MLmpvaW4oIi4iKWluIHc/W0tdOks6QXJyYXkuaXNBcnJheShKKT9KLnB1c2goSyk6QltIXT1bSixLXX1sZXQgeD17fSxDPVtdLEc9W10sRD14O3JldHVybiByKHUsZnVuY3Rpb24oQil7aWYoQilzd2l0Y2goQj1CLnRyaW0oKSwKQltCLmxlbmd0aC0xXSl7Y2FzZSAieyI6Qj1CLnN1YnN0cmluZygwLEIubGVuZ3RoLTIpLnRyaW0oKTtsZXQgSD17fTtDLnB1c2goRCk7Ry5wdXNoKEIpO3koRCxCLEgsRyk7RD1IO2JyZWFrO2Nhc2UgIn0iOkQ9Qy5wb3AoKTtHLnBvcCgpO2JyZWFrO2RlZmF1bHQ6Qj1BKEIpLHkoRCxCLm5hbWUsQi52YWx1ZSxHLmNvbmNhdChCLm5hbWUpKX19KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHh9KX1mLmZldGNoUGJUeHQ9aztmLmZldGNoQW5kUGFyc2VNZXRhZGF0YT1mdW5jdGlvbih1LHcpe3JldHVybiBiLmdyYXBoLnV0aWwucnVuVGFzaygoKT0+bnVsbD09dT9Qcm9taXNlLnJlc29sdmUobnVsbCk6ayh1KSx3KS50aGVuKEE9PmIuZ3JhcGgudXRpbC5ydW5Bc3luY1Byb21pc2VUYXNrKCJQYXJzaW5nIG1ldGFkYXRhLnBidHh0Iiw2MCwoKT0+bnVsbCE9QT9wKEEpOlByb21pc2UucmVzb2x2ZShudWxsKSx3KSl9O2YuZmV0Y2hBbmRQYXJzZUdyYXBoRGF0YT1mdW5jdGlvbih1LHcsQSl7cmV0dXJuIGIuZ3JhcGgudXRpbC5ydW5Bc3luY1Byb21pc2VUYXNrKCJSZWFkaW5nIGdyYXBoIHBidHh0IiwKNDAsKCk9Pnc/bmV3IFByb21pc2UoZnVuY3Rpb24oeSx4KXtsZXQgQz1uZXcgRmlsZVJlYWRlcjtDLm9ubG9hZD0oKT0+eShDLnJlc3VsdCk7Qy5vbmVycm9yPSgpPT54KEMuZXJyb3IpO0MucmVhZEFzQXJyYXlCdWZmZXIodyl9KTprKHUpLEEpLnRoZW4oeT0+Yi5ncmFwaC51dGlsLnJ1bkFzeW5jUHJvbWlzZVRhc2soIlBhcnNpbmcgZ3JhcGgucGJ0eHQiLDYwLCgpPT5sKHkpLEEpKX07Zi5zdHJlYW1QYXJzZT1yO2NvbnN0IG49eyJsaWJyYXJ5LmZ1bmN0aW9uIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZiI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuaW5wdXQiOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIiOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIudmFsdWUubGlzdC5iIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLmxpc3QuZiI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuYXR0ci52YWx1ZS5saXN0LmZ1bmMiOiEwLAoibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLmxpc3QuaSI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuYXR0ci52YWx1ZS5saXN0LnMiOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIudmFsdWUubGlzdC5zaGFwZSI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuYXR0ci52YWx1ZS5saXN0LnNoYXBlLmRpbSI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuYXR0ci52YWx1ZS5saXN0LnRlbnNvciI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuYXR0ci52YWx1ZS5saXN0LnR5cGUiOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIudmFsdWUuc2hhcGUuZGltIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLnRlbnNvci5zdHJpbmdfdmFsIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLnRlbnNvci50ZW5zb3Jfc2hhcGUuZGltIjohMCwibGlicmFyeS5mdW5jdGlvbi5zaWduYXR1cmUuaW5wdXRfYXJnIjohMCwKImxpYnJhcnkuZnVuY3Rpb24uc2lnbmF0dXJlLm91dHB1dF9hcmciOiEwLCJsaWJyYXJ5LnZlcnNpb25zIjohMCxub2RlOiEwLCJub2RlLmlucHV0IjohMCwibm9kZS5hdHRyIjohMCwibm9kZS5hdHRyLnZhbHVlLmxpc3QuYiI6ITAsIm5vZGUuYXR0ci52YWx1ZS5saXN0LmYiOiEwLCJub2RlLmF0dHIudmFsdWUubGlzdC5mdW5jIjohMCwibm9kZS5hdHRyLnZhbHVlLmxpc3QuaSI6ITAsIm5vZGUuYXR0ci52YWx1ZS5saXN0LnMiOiEwLCJub2RlLmF0dHIudmFsdWUubGlzdC5zaGFwZSI6ITAsIm5vZGUuYXR0ci52YWx1ZS5saXN0LnNoYXBlLmRpbSI6ITAsIm5vZGUuYXR0ci52YWx1ZS5saXN0LnRlbnNvciI6ITAsIm5vZGUuYXR0ci52YWx1ZS5saXN0LnR5cGUiOiEwLCJub2RlLmF0dHIudmFsdWUuc2hhcGUuZGltIjohMCwibm9kZS5hdHRyLnZhbHVlLnRlbnNvci5zdHJpbmdfdmFsIjohMCwibm9kZS5hdHRyLnZhbHVlLnRlbnNvci50ZW5zb3Jfc2hhcGUuZGltIjohMH0scT17InN0ZXBfc3RhdHMuZGV2X3N0YXRzIjohMCwKInN0ZXBfc3RhdHMuZGV2X3N0YXRzLm5vZGVfc3RhdHMiOiEwLCJzdGVwX3N0YXRzLmRldl9zdGF0cy5ub2RlX3N0YXRzLm91dHB1dCI6ITAsInN0ZXBfc3RhdHMuZGV2X3N0YXRzLm5vZGVfc3RhdHMubWVtb3J5IjohMCwic3RlcF9zdGF0cy5kZXZfc3RhdHMubm9kZV9zdGF0cy5vdXRwdXQudGVuc29yX2Rlc2NyaXB0aW9uLnNoYXBlLmRpbSI6ITB9O2YucGFyc2VHcmFwaFBiVHh0PWw7Zi5wYXJzZVN0YXRzUGJUeHQ9cH0pKGQucGFyc2VyfHwoZC5wYXJzZXI9e30pKX0pKGIuZ3JhcGh8fChiLmdyYXBoPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtY29tbW9uL3Byb3RvLmpzCgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtY29tbW9uL3JlbmRlci5qcwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpeyhmdW5jdGlvbihmKXtmdW5jdGlvbiBoKE4sUixYLGFhLGZhKXtSPW5ldyBIKFIsWCxhYSxmYSwhMCk7Ti5pbkFubm90YXRpb25zLnB1c2goUil9ZnVuY3Rpb24gayhOLFIsWCxhYSxmYSl7Uj1uZXcgSChSLFgsYWEsZmEsITEpO04ub3V0QW5ub3RhdGlvbnMucHVzaChSKX1mdW5jdGlvbiByKE4sUil7Xy5lYWNoKE4ubm9kZXMoKSxYPT57WD1OLm5vZGUoWCk7WC5leHBhbmRlZD0xPFI7aWYoMDxSKXN3aXRjaChYLm5vZGUudHlwZSl7Y2FzZSBkLk5vZGVUeXBlLk1FVEE6Y2FzZSBkLk5vZGVUeXBlLlNFUklFUzpsKFgsUi0xKX19KX1mdW5jdGlvbiBsKE4sUil7Ti5jb3JlR3JhcGgmJnIoTi5jb3JlR3JhcGgsUil9ZnVuY3Rpb24gcChOLFIsWCl7bGV0IGFhPU4ubm9kZShSKSxmYT1OLm5vZGUoWCksb2E9Ti5lZGdlKFIsWCk7aWYoYWEubm9kZS5pbmNsdWRlIT09ZC5JbmNsdXNpb25UeXBlLklOQ0xVREUmJmZhLm5vZGUuaW5jbHVkZSE9PWQuSW5jbHVzaW9uVHlwZS5JTkNMVURFfHwKYWEubm9kZS5pbmNsdWRlPT09ZC5JbmNsdXNpb25UeXBlLkVYQ0xVREV8fGZhLm5vZGUuaW5jbHVkZT09PWQuSW5jbHVzaW9uVHlwZS5FWENMVURFKWsoYWEsZmEubm9kZSxmYSxvYSxLLlNIT1JUQ1VUKSxoKGZhLGFhLm5vZGUsYWEsb2EsSy5TSE9SVENVVCksTi5yZW1vdmVFZGdlKFIsWCl9ZnVuY3Rpb24gbShOLFIsWCl7bGV0IGFhPU4uY29yZUdyYXBoLGZhPWFhLm5vZGUoUik7ZmEuaXNPdXRFeHRyYWN0PSEwO18uZWFjaChhYS5wcmVkZWNlc3NvcnMoUiksb2E9PntwKGFhLG9hLFIpfSk7KEcuZGV0YWNoQWxsRWRnZXNGb3JIaWdoRGVncmVlfHxYKSYmXy5lYWNoKGFhLnN1Y2Nlc3NvcnMoUiksb2E9PntwKGFhLFIsb2EpfSk7MD09PWFhLm5laWdoYm9ycyhSKS5sZW5ndGgmJihmYS5ub2RlLmluY2x1ZGU9ZC5JbmNsdXNpb25UeXBlLkVYQ0xVREUsTi5pc29sYXRlZE91dEV4dHJhY3QucHVzaChmYSksYWEucmVtb3ZlTm9kZShSKSl9ZnVuY3Rpb24gbihOLFIsWCl7bGV0IGFhPU4uY29yZUdyYXBoLApmYT1hYS5ub2RlKFIpO2ZhLmlzSW5FeHRyYWN0PSEwO18uZWFjaChhYS5zdWNjZXNzb3JzKFIpLG9hPT57cChhYSxSLG9hKX0pOyhHLmRldGFjaEFsbEVkZ2VzRm9ySGlnaERlZ3JlZXx8WCkmJl8uZWFjaChhYS5wcmVkZWNlc3NvcnMoUiksb2E9PntwKGFhLG9hLFIpfSk7MD09PWFhLm5laWdoYm9ycyhSKS5sZW5ndGgmJihmYS5ub2RlLmluY2x1ZGU9ZC5JbmNsdXNpb25UeXBlLkVYQ0xVREUsTi5pc29sYXRlZEluRXh0cmFjdC5wdXNoKGZhKSxhYS5yZW1vdmVOb2RlKFIpKX1mdW5jdGlvbiBxKE4sUil7aWYoTi50eXBlPT09ZC5Ob2RlVHlwZS5PUClmb3IodmFyIFg9MDtYPFIubGVuZ3RoO1grKyl7aWYoTi5vcD09PVJbWF0pcmV0dXJuITB9ZWxzZSBpZihOLnR5cGU9PT1kLk5vZGVUeXBlLk1FVEEmJihOPU4uZ2V0Um9vdE9wKCkpKWZvcihYPTA7WDxSLmxlbmd0aDtYKyspaWYoTi5vcD09PVJbWF0pcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gdShOKXtsZXQgUj1OLmNvcmVHcmFwaDsKXy5lYWNoKFIubm9kZXMoKSxYPT57Ui5ub2RlKFgpLm5vZGUuaW5jbHVkZSE9PWQuSW5jbHVzaW9uVHlwZS5FWENMVURFfHxYLnN0YXJ0c1dpdGgoYi5ncmFwaC5GVU5DVElPTl9MSUJSQVJZX05PREVfUFJFRklYKXx8KE4uY29yZUdyYXBoLm91dEVkZ2VzKFgpLmxlbmd0aD5OLmNvcmVHcmFwaC5pbkVkZ2VzKFgpLmxlbmd0aD9tKE4sWCwhMCk6bihOLFgsITApKX0pfWZ1bmN0aW9uIHcoTil7bGV0IFI9Ti5jb3JlR3JhcGg7Xy5lYWNoKFIubm9kZXMoKSxYPT57bGV0IGFhPVIubm9kZShYKTthYS5ub2RlLmluY2x1ZGU9PT1kLkluY2x1c2lvblR5cGUuVU5TUEVDSUZJRUQmJnEoYWEubm9kZSxHLm91dEV4dHJhY3RUeXBlcykmJm0oTixYKX0pfWZ1bmN0aW9uIEEoTil7bGV0IFI9Ti5jb3JlR3JhcGg7Xy5lYWNoKFIubm9kZXMoKSxYPT57bGV0IGFhPVIubm9kZShYKTthYS5ub2RlLmluY2x1ZGU9PT1kLkluY2x1c2lvblR5cGUuVU5TUEVDSUZJRUQmJnEoYWEubm9kZSxHLmluRXh0cmFjdFR5cGVzKSYmCm4oTixYKX0pfWZ1bmN0aW9uIHkoTil7bGV0IFI9Ti5jb3JlR3JhcGgsWD17fSxhYT17fSxmYT0wO18uZWFjaChSLm5vZGVzKCksa2E9PntpZihSLm5vZGUoa2EpLm5vZGUuaW5jbHVkZT09PWQuSW5jbHVzaW9uVHlwZS5VTlNQRUNJRklFRCl7dmFyIFc9Xy5yZWR1Y2UoUi5wcmVkZWNlc3NvcnMoa2EpLCh2YSx5YSk9Pnt5YT1SLmVkZ2UoeWEsa2EpLm1ldGFlZGdlO3JldHVybiB2YSsoeWEubnVtUmVndWxhckVkZ2VzPzE6MCl9LDApOzA9PT1XJiYwPFIucHJlZGVjZXNzb3JzKGthKS5sZW5ndGgmJihXPVIucHJlZGVjZXNzb3JzKGthKS5sZW5ndGgpO3ZhciBFYT1fLnJlZHVjZShSLnN1Y2Nlc3NvcnMoa2EpLCh2YSx5YSk9Pnt5YT1SLmVkZ2Uoa2EseWEpLm1ldGFlZGdlO3JldHVybiB2YSsoeWEubnVtUmVndWxhckVkZ2VzPzE6MCl9LDApOzA9PT1FYSYmMDxSLnN1Y2Nlc3NvcnMoa2EpLmxlbmd0aCYmKEVhPVIuc3VjY2Vzc29ycyhrYSkubGVuZ3RoKTtYW2thXT1XO2FhW2thXT1FYTsKZmErK319KTtpZighKGZhPEcubWluTm9kZUNvdW50Rm9yRXh0cmFjdGlvbikpe3ZhciBvYT1HLm1pbkRlZ3JlZUZvckV4dHJhY3Rpb24tMSxaPU1hdGgucm91bmQoLjc1KmZhKSxjYT1NYXRoLnJvdW5kKC4yNSpmYSksamE9T2JqZWN0LmtleXMoWCkuc29ydCgoa2EsVyk9Plhba2FdLVhbV10pLGJhPVhbamFbWl1dO2JhPWJhK2JhLVhbamFbY2FdXTtiYT1NYXRoLm1heChiYSxvYSk7Zm9yKGxldCBrYT1mYS0xO1hbamFba2FdXT5iYTtrYS0tKW4oTixqYVtrYV0pO2phPU9iamVjdC5rZXlzKGFhKS5zb3J0KChrYSxXKT0+YWFba2FdLWFhW1ddKTtaPWFhW2phW1pdXTtjYT1aKzQqKFotYWFbamFbY2FdXSk7Y2E9TWF0aC5tYXgoY2Esb2EpO2ZvcihvYT1mYS0xO2FhW2phW29hXV0+Y2E7b2EtLSkoWj1SLm5vZGUoamFbb2FdKSkmJiFaLmlzSW5FeHRyYWN0JiZtKE4samFbb2FdKX19ZnVuY3Rpb24geChOKXtsZXQgUj1OLmNvcmVHcmFwaCxYPXt9O18uZWFjaChSLmVkZ2VzKCksYWE9PntSLmVkZ2UoYWEpLm1ldGFlZGdlLm51bVJlZ3VsYXJFZGdlc3x8CigoWFthYS52XT1YW2FhLnZdfHxbXSkucHVzaChhYSksKFhbYWEud109WFthYS53XXx8W10pLnB1c2goYWEpKX0pO18uZWFjaChYLGFhPT57YWEubGVuZ3RoPkcubWF4Q29udHJvbERlZ3JlZSYmXy5lYWNoKGFhLGZhPT5wKFIsZmEudixmYS53KSl9KX1mdW5jdGlvbiBDKE4pe3UoTik7Ry5vdXRFeHRyYWN0VHlwZXMmJncoTik7Ry5pbkV4dHJhY3RUeXBlcyYmQShOKTt5KE4pO0cubWF4Q29udHJvbERlZ3JlZSYmeChOKTtsZXQgUj1OLmNvcmVHcmFwaDtfLmVhY2goUi5ub2RlcygpLFg9PntsZXQgYWE9Ui5ub2RlKFgpO3ZhciBmYT1SLm5laWdoYm9ycyhYKS5sZW5ndGg7aWYoYWEubm9kZS5pbmNsdWRlPT09ZC5JbmNsdXNpb25UeXBlLlVOU1BFQ0lGSUVEJiYwPT09ZmEpe2ZhPTA8YWEub3V0QW5ub3RhdGlvbnMubGlzdC5sZW5ndGg7bGV0IG9hPTA8YWEuaW5Bbm5vdGF0aW9ucy5saXN0Lmxlbmd0aDthYS5pc0luRXh0cmFjdD8oTi5pc29sYXRlZEluRXh0cmFjdC5wdXNoKGFhKSxhYS5ub2RlLmluY2x1ZGU9CmQuSW5jbHVzaW9uVHlwZS5FWENMVURFLFIucmVtb3ZlTm9kZShYKSk6YWEuaXNPdXRFeHRyYWN0PyhOLmlzb2xhdGVkT3V0RXh0cmFjdC5wdXNoKGFhKSxhYS5ub2RlLmluY2x1ZGU9ZC5JbmNsdXNpb25UeXBlLkVYQ0xVREUsUi5yZW1vdmVOb2RlKFgpKTpHLmV4dHJhY3RJc29sYXRlZE5vZGVzV2l0aEFubm90YXRpb25zT25PbmVTaWRlJiYoZmEmJiFvYT8oYWEuaXNJbkV4dHJhY3Q9ITAsTi5pc29sYXRlZEluRXh0cmFjdC5wdXNoKGFhKSxhYS5ub2RlLmluY2x1ZGU9ZC5JbmNsdXNpb25UeXBlLkVYQ0xVREUsUi5yZW1vdmVOb2RlKFgpKTpvYSYmIWZhJiYoYWEuaXNPdXRFeHRyYWN0PSEwLE4uaXNvbGF0ZWRPdXRFeHRyYWN0LnB1c2goYWEpLGFhLm5vZGUuaW5jbHVkZT1kLkluY2x1c2lvblR5cGUuRVhDTFVERSxSLnJlbW92ZU5vZGUoWCkpKX19KX1mLk9wTm9kZUNvbG9ycz17REVGQVVMVF9GSUxMOiIjZmZmZmZmIixERUZBVUxUX1NUUk9LRToiI2IyYjJiMiIsQ09NUEFUSUJMRToiIzBmOWQ1OCIsCklOQ09NUEFUSUJMRToiI2RiNDQzNyJ9O2YuTWV0YW5vZGVDb2xvcnM9e0RFRkFVTFRfRklMTDoiI2Q5ZDlkOSIsREVGQVVMVF9TVFJPS0U6IiNhNmE2YTYiLFNBVFVSQVRJT046LjYsTElHSFRORVNTOi44NSxFWFBBTkRFRF9DT0xPUjoiI2YwZjBmMCIsSFVFUzpbMjIwLDEwMCwxODAsNDAsMjAsMzQwLDI2MCwzMDAsMTQwLDYwXSxTVFJVQ1RVUkVfUEFMRVRURShOLFIpe3ZhciBYPWYuTWV0YW5vZGVDb2xvcnMuSFVFUztOPVhbTiVYLmxlbmd0aF07WD1NYXRoLnNpbihOKk1hdGguUEkvMzYwKTtyZXR1cm4gZDMuaHNsKE4sLjAxKihSPzMwOjkwLTYwKlgpLC4wMSooUj85NTo4MCkpLnRvU3RyaW5nKCl9LERFVklDRV9QQUxFVFRFKE4pe3JldHVybiBmLk1ldGFub2RlQ29sb3JzLlNUUlVDVFVSRV9QQUxFVFRFKE4pfSxYTEFfQ0xVU1RFUl9QQUxFVFRFKE4pe3JldHVybiBmLk1ldGFub2RlQ29sb3JzLlNUUlVDVFVSRV9QQUxFVFRFKE4pfSxVTktOT1dOOiIjZWVlIixHUkFESUVOVF9PVVRMSU5FOiIjODg4In07CmYuU2VyaWVzTm9kZUNvbG9ycz17REVGQVVMVF9GSUxMOiJ3aGl0ZSIsREVGQVVMVF9TVFJPS0U6IiNiMmIyYjIifTtjb25zdCBHPXtlbmFibGVFeHRyYWN0aW9uOiEwLG1pbk5vZGVDb3VudEZvckV4dHJhY3Rpb246MTUsbWluRGVncmVlRm9yRXh0cmFjdGlvbjo1LG1heENvbnRyb2xEZWdyZWU6NCxtYXhCcmlkZ2VQYXRoRGVncmVlOjQsb3V0RXh0cmFjdFR5cGVzOlsiTm9PcCJdLGluRXh0cmFjdFR5cGVzOltdLGRldGFjaEFsbEVkZ2VzRm9ySGlnaERlZ3JlZTohMCxleHRyYWN0SXNvbGF0ZWROb2Rlc1dpdGhBbm5vdGF0aW9uc09uT25lU2lkZTohMCxlbmFibGVCcmlkZ2VncmFwaDohMCxtaW5NYXhDb2xvcnM6WyIjZmZmNWYwIiwiI2ZiNmE0YSJdLG1heEFubm90YXRpb25zOjV9LEQ9bmV3IFJlZ0V4cCgiXig/OiIrYi5ncmFwaC5GVU5DVElPTl9MSUJSQVJZX05PREVfUFJFRklYKyIpPyhcXHcrKV9bYS16MC05XXs4fSg/Ol9cXGQrKT8kIik7Y2xhc3MgQntjb25zdHJ1Y3RvcihOLApSKXt0aGlzLmhpZXJhcmNoeT1OO3RoaXMuZGlzcGxheWluZ1N0YXRzPVI7dGhpcy5pbmRleD17fTt0aGlzLnJlbmRlcmVkT3BOYW1lcz1bXTt0aGlzLmNvbXB1dGVTY2FsZXMoKTt0aGlzLmhhc1N1YmhpZXJhcmNoeT17fTt0aGlzLnJvb3Q9bmV3IFMoTi5yb290LE4uZ3JhcGhPcHRpb25zKTt0aGlzLmluZGV4W04ucm9vdC5uYW1lXT10aGlzLnJvb3Q7dGhpcy5yZW5kZXJlZE9wTmFtZXMucHVzaChOLnJvb3QubmFtZSk7dGhpcy5idWlsZFN1YmhpZXJhcmNoeShOLnJvb3QubmFtZSk7dGhpcy5yb290LmV4cGFuZGVkPSEwO3RoaXMudHJhY2VJbnB1dHM9ITF9Y29tcHV0ZVNjYWxlcygpe3RoaXMuZGV2aWNlQ29sb3JNYXA9ZDMuc2NhbGVPcmRpbmFsKCkuZG9tYWluKHRoaXMuaGllcmFyY2h5LmRldmljZXMpLnJhbmdlKF8ubWFwKGQzLnJhbmdlKHRoaXMuaGllcmFyY2h5LmRldmljZXMubGVuZ3RoKSxmLk1ldGFub2RlQ29sb3JzLkRFVklDRV9QQUxFVFRFKSk7dGhpcy54bGFDbHVzdGVyQ29sb3JNYXA9CmQzLnNjYWxlT3JkaW5hbCgpLmRvbWFpbih0aGlzLmhpZXJhcmNoeS54bGFDbHVzdGVycykucmFuZ2UoXy5tYXAoZDMucmFuZ2UodGhpcy5oaWVyYXJjaHkueGxhQ2x1c3RlcnMubGVuZ3RoKSxmLk1ldGFub2RlQ29sb3JzLlhMQV9DTFVTVEVSX1BBTEVUVEUpKTtsZXQgTj10aGlzLmhpZXJhcmNoeS5yb290Lm1ldGFncmFwaDt2YXIgUj1kMy5tYXgoTi5ub2RlcygpLFg9PntYPU4ubm9kZShYKTtpZihudWxsIT1YLnN0YXRzKXJldHVybiBYLnN0YXRzLnRvdGFsQnl0ZXN9KTt0aGlzLm1lbW9yeVVzYWdlU2NhbGU9ZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oWzAsUl0pLnJhbmdlKEcubWluTWF4Q29sb3JzKTtSPWQzLm1heChOLm5vZGVzKCksWD0+e1g9Ti5ub2RlKFgpO2lmKG51bGwhPVguc3RhdHMpcmV0dXJuIFguc3RhdHMuZ2V0VG90YWxNaWNyb3MoKX0pO3RoaXMuY29tcHV0ZVRpbWVTY2FsZT1kMy5zY2FsZUxpbmVhcigpLmRvbWFpbihbMCxSXSkucmFuZ2UoRy5taW5NYXhDb2xvcnMpOwp0aGlzLmVkZ2VXaWR0aFNpemVkQmFzZWRTY2FsZT10aGlzLmhpZXJhcmNoeS5oYXNTaGFwZUluZm8/ZC5zY2VuZS5lZGdlLkVER0VfV0lEVEhfU0laRV9CQVNFRF9TQ0FMRTpkMy5zY2FsZUxpbmVhcigpLmRvbWFpbihbMSx0aGlzLmhpZXJhcmNoeS5tYXhNZXRhRWRnZVNpemVdKS5yYW5nZShbZC5zY2VuZS5lZGdlLk1JTl9FREdFX1dJRFRILGQuc2NlbmUuZWRnZS5NQVhfRURHRV9XSURUSF0pfWdldFJlbmRlck5vZGVCeU5hbWUoTil7cmV0dXJuIHRoaXMuaW5kZXhbTl19Z2V0Tm9kZUJ5TmFtZShOKXtyZXR1cm4gdGhpcy5oaWVyYXJjaHkubm9kZShOKX1jb2xvckhpc3RvZ3JhbShOLFIpe2lmKDA8T2JqZWN0LmtleXMoTikubGVuZ3RoKXtjb25zdCBYPV8uc3VtKE9iamVjdC5rZXlzKE4pLm1hcChhYT0+TlthYV0pKTtyZXR1cm4gT2JqZWN0LmtleXMoTikubWFwKGFhPT4oe2NvbG9yOlIoYWEpLHByb3BvcnRpb246TlthYV0vWH0pKX1jb25zb2xlLmluZm8oIm5vIHBhaXJzIGZvdW5kISIpOwpyZXR1cm4gbnVsbH1nZXRPckNyZWF0ZVJlbmRlck5vZGVCeU5hbWUoTil7aWYoIU4pcmV0dXJuIG51bGw7aWYoTiBpbiB0aGlzLmluZGV4KXJldHVybiB0aGlzLmluZGV4W05dO3ZhciBSPXRoaXMuaGllcmFyY2h5Lm5vZGUoTik7aWYoIVIpcmV0dXJuIG51bGw7bGV0IFg9Ui5pc0dyb3VwTm9kZT9uZXcgUyhSLHRoaXMuaGllcmFyY2h5LmdyYXBoT3B0aW9ucyk6bmV3IEooUik7dGhpcy5pbmRleFtOXT1YO3RoaXMucmVuZGVyZWRPcE5hbWVzLnB1c2goTik7Ui5zdGF0cyYmKFgubWVtb3J5Q29sb3I9dGhpcy5tZW1vcnlVc2FnZVNjYWxlKFIuc3RhdHMudG90YWxCeXRlcyksWC5jb21wdXRlVGltZUNvbG9yPXRoaXMuY29tcHV0ZVRpbWVTY2FsZShSLnN0YXRzLmdldFRvdGFsTWljcm9zKCkpKTtYLmlzRmFkZWRPdXQ9dGhpcy5kaXNwbGF5aW5nU3RhdHMmJiFiLmdyYXBoLnV0aWwuaGFzRGlzcGxheWFibGVOb2RlU3RhdHMoUi5zdGF0cyk7dmFyIGFhPW51bGwsZmE9bnVsbCxvYT1udWxsOwppZihSLmlzR3JvdXBOb2RlKXthYT1SLmRldmljZUhpc3RvZ3JhbTtmYT1SLnhsYUNsdXN0ZXJIaXN0b2dyYW07dmFyIFo9Ui5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmNvbXBhdGlibGU7Uj1SLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlO2lmKDAhPVp8fDAhPVIpb2E9Wi8oWitSKX1lbHNlKFo9WC5ub2RlLmRldmljZSkmJihhYT17W1pdOjF9KSwoWj1YLm5vZGUueGxhQ2x1c3RlcikmJihmYT17W1pdOjF9KSxYLm5vZGUudHlwZT09PWQuTm9kZVR5cGUuT1AmJihvYT1YLm5vZGUuY29tcGF0aWJsZT8xOjApO2FhJiYoWC5kZXZpY2VDb2xvcnM9dGhpcy5jb2xvckhpc3RvZ3JhbShhYSx0aGlzLmRldmljZUNvbG9yTWFwKSk7ZmEmJihYLnhsYUNsdXN0ZXJDb2xvcnM9dGhpcy5jb2xvckhpc3RvZ3JhbShmYSx0aGlzLnhsYUNsdXN0ZXJDb2xvck1hcCkpO251bGwhPW9hJiYoWC5jb21wYXRpYmlsaXR5Q29sb3JzPVt7Y29sb3I6Yi5ncmFwaC5yZW5kZXIuT3BOb2RlQ29sb3JzLkNPTVBBVElCTEUsCnByb3BvcnRpb246b2F9LHtjb2xvcjpiLmdyYXBoLnJlbmRlci5PcE5vZGVDb2xvcnMuSU5DT01QQVRJQkxFLHByb3BvcnRpb246MS1vYX1dKTtyZXR1cm4gdGhpcy5pbmRleFtOXX1nZXROZWFyZXN0VmlzaWJsZUFuY2VzdG9yKE4pe3ZhciBSPWQuZ2V0SGllcmFyY2hpY2FsUGF0aChOKTtsZXQgWD0wLGFhPW51bGw7Zm9yKDtYPFIubGVuZ3RoJiYoTj1SW1hdLGFhPXRoaXMuZ2V0UmVuZGVyTm9kZUJ5TmFtZShOKSxhYS5leHBhbmRlZCk7WCsrKTtyZXR1cm4gWD09Ui5sZW5ndGgtMiYmKFI9UltYKzFdLGFhLmluQW5ub3RhdGlvbnMubm9kZU5hbWVzW1JdfHxhYS5vdXRBbm5vdGF0aW9ucy5ub2RlTmFtZXNbUl0pP1I6Tn1zZXREZXB0aChOKXtsKHRoaXMucm9vdCwrTil9aXNOb2RlQXV4aWxpYXJ5KE4pe2xldCBSPXRoaXMuZ2V0UmVuZGVyTm9kZUJ5TmFtZShOLm5vZGUucGFyZW50Tm9kZS5uYW1lKSxYPV8uZmluZChSLmlzb2xhdGVkSW5FeHRyYWN0LGFhPT5hYS5ub2RlLm5hbWU9PT0KTi5ub2RlLm5hbWUpO2lmKFgpcmV0dXJuITA7WD1fLmZpbmQoUi5pc29sYXRlZE91dEV4dHJhY3QsYWE9PmFhLm5vZGUubmFtZT09PU4ubm9kZS5uYW1lKTtyZXR1cm4hIVh9Z2V0TmFtZXNPZlJlbmRlcmVkT3BzKCl7cmV0dXJuIHRoaXMucmVuZGVyZWRPcE5hbWVzfWNsb25lQW5kQWRkRnVuY3Rpb25PcE5vZGUoTixSLFgsYWEpe3ZhciBmYT1YLm5hbWUucmVwbGFjZShSLGFhKTtsZXQgb2E9Ti5tZXRhZ3JhcGgubm9kZShmYSk7aWYob2EpcmV0dXJuIG9hO29hPW5ldyBkLk9wTm9kZUltcGwoe25hbWU6ZmEsaW5wdXQ6W10sZGV2aWNlOlguZGV2aWNlLG9wOlgub3AsYXR0cjpfLmNsb25lRGVlcChYLmF0dHIpfSk7b2EuY2FyZGluYWxpdHk9WC5jYXJkaW5hbGl0eTtvYS5pbmNsdWRlPVguaW5jbHVkZTtvYS5vdXRwdXRTaGFwZXM9Xy5jbG9uZURlZXAoWC5vdXRwdXRTaGFwZXMpO29hLnhsYUNsdXN0ZXI9WC54bGFDbHVzdGVyO29hLmZ1bmN0aW9uSW5wdXRJbmRleD1YLmZ1bmN0aW9uSW5wdXRJbmRleDsKb2EuZnVuY3Rpb25PdXRwdXRJbmRleD1YLmZ1bmN0aW9uT3V0cHV0SW5kZXg7b2EuaW5wdXRzPVguaW5wdXRzLm1hcChaPT57Y29uc3QgY2E9Xy5jbG9uZShaKTtjYS5uYW1lPVoubmFtZS5yZXBsYWNlKFIsYWEpO3JldHVybiBjYX0pO29hLnBhcmVudE5vZGU9TjtOLm1ldGFncmFwaC5zZXROb2RlKG9hLm5hbWUsb2EpO3RoaXMuaGllcmFyY2h5LnNldE5vZGUob2EubmFtZSxvYSk7ZmE9Wj0+dGhpcy5jbG9uZUFuZEFkZEZ1bmN0aW9uT3BOb2RlKE4sUixaLGFhKTtvYS5pbkVtYmVkZGluZ3M9WC5pbkVtYmVkZGluZ3MubWFwKGZhKTtvYS5vdXRFbWJlZGRpbmdzPVgub3V0RW1iZWRkaW5ncy5tYXAoZmEpO3JldHVybiBvYX1jbG9uZUZ1bmN0aW9uTGlicmFyeU1ldGFub2RlKE4sUixYLGFhLGZhKXtjb25zdCBvYT17fTtOPXRoaXMuY2xvbmVGdW5jdGlvbkxpYnJhcnlNZXRhbm9kZUhlbHBlcihOLFIsWCxhYSxmYSxvYSk7Xy5pc0VtcHR5KG9hKXx8dGhpcy5wYXRjaEVkZ2VzRnJvbUZ1bmN0aW9uT3V0cHV0cyhSLApvYSk7cmV0dXJuIE59Y2xvbmVGdW5jdGlvbkxpYnJhcnlNZXRhbm9kZUhlbHBlcihOLFIsWCxhYSxmYSxvYSl7Y29uc3QgWj1iLmdyYXBoLmNyZWF0ZU1ldGFub2RlKFgubmFtZS5yZXBsYWNlKGFhLGZhKSk7Wi5kZXB0aD1YLmRlcHRoO1ouY2FyZGluYWxpdHk9WC5jYXJkaW5hbGl0eTtaLnRlbXBsYXRlSWQ9WC50ZW1wbGF0ZUlkO1oub3BIaXN0b2dyYW09Xy5jbG9uZShYLm9wSGlzdG9ncmFtKTtaLmRldmljZUhpc3RvZ3JhbT1fLmNsb25lKFguZGV2aWNlSGlzdG9ncmFtKTtaLnhsYUNsdXN0ZXJIaXN0b2dyYW09Xy5jbG9uZShYLnhsYUNsdXN0ZXJIaXN0b2dyYW0pO1ouaGFzTm9uQ29udHJvbEVkZ2VzPVguaGFzTm9uQ29udHJvbEVkZ2VzO1ouaW5jbHVkZT1YLmluY2x1ZGU7Wi5ub2RlQXR0cmlidXRlcz1fLmNsb25lKFgubm9kZUF0dHJpYnV0ZXMpO1ouYXNzb2NpYXRlZEZ1bmN0aW9uPVguYXNzb2NpYXRlZEZ1bmN0aW9uO18uZWFjaChYLm1ldGFncmFwaC5ub2RlcygpLGNhPT4Ke2NhPVgubWV0YWdyYXBoLm5vZGUoY2EpO3N3aXRjaChjYS50eXBlKXtjYXNlIGQuTm9kZVR5cGUuTUVUQTpjYT10aGlzLmNsb25lRnVuY3Rpb25MaWJyYXJ5TWV0YW5vZGVIZWxwZXIoTixSLGNhLGFhLGZhLG9hKTtjYS5wYXJlbnROb2RlPVo7Wi5tZXRhZ3JhcGguc2V0Tm9kZShjYS5uYW1lLGNhKTt0aGlzLmhpZXJhcmNoeS5zZXROb2RlKGNhLm5hbWUsY2EpO2JyZWFrO2Nhc2UgZC5Ob2RlVHlwZS5PUDpjYT10aGlzLmNsb25lQW5kQWRkRnVuY3Rpb25PcE5vZGUoWixhYSxjYSxmYSk7Xy5pc051bWJlcihjYS5mdW5jdGlvbklucHV0SW5kZXgpJiZ0aGlzLnBhdGNoRWRnZXNJbnRvRnVuY3Rpb25JbnB1dHMoUixjYSk7Xy5pc051bWJlcihjYS5mdW5jdGlvbk91dHB1dEluZGV4KSYmKG9hW2NhLmZ1bmN0aW9uT3V0cHV0SW5kZXhdPWNhKTticmVhaztkZWZhdWx0OmNvbnNvbGUud2FybihjYS5uYW1lKyIgaXMgb2RkbHkgbmVpdGhlciBhIG1ldGFub2RlIG5vciBhbiBvcG5vZGUuIil9fSk7CnRoaXMuY2xvbmVMaWJyYXJ5TWV0YW5vZGVFZGdlcyhYLFosYWEsZmEpO3JldHVybiBafWNsb25lTGlicmFyeU1ldGFub2RlRWRnZXMoTixSLFgsYWEpe18uZWFjaChOLm1ldGFncmFwaC5lZGdlcygpLGZhPT57ZmE9Ti5tZXRhZ3JhcGguZWRnZShmYSk7Y29uc3Qgb2E9ZmEudi5yZXBsYWNlKFgsYWEpLFo9ZmEudy5yZXBsYWNlKFgsYWEpLGNhPW5ldyBkLk1ldGFlZGdlSW1wbChvYSxaKTtjYS5pbmJvdW5kPWZhLmluYm91bmQ7Y2EubnVtUmVndWxhckVkZ2VzPWZhLm51bVJlZ3VsYXJFZGdlcztjYS5udW1Db250cm9sRWRnZXM9ZmEubnVtQ29udHJvbEVkZ2VzO2NhLm51bVJlZkVkZ2VzPWZhLm51bVJlZkVkZ2VzO2NhLnRvdGFsU2l6ZT1mYS50b3RhbFNpemU7ZmEuYmFzZUVkZ2VMaXN0JiYoY2EuYmFzZUVkZ2VMaXN0PWZhLmJhc2VFZGdlTGlzdC5tYXAoamE9Pntjb25zdCBiYT1fLmNsb25lKGphKTtiYS52PWphLnYucmVwbGFjZShYLGFhKTtiYS53PWphLncucmVwbGFjZShYLGFhKTsKcmV0dXJuIGJhfSkpO1IubWV0YWdyYXBoLm5vZGUoWik/Ui5tZXRhZ3JhcGguc2V0RWRnZShvYSxaLGNhKTpSLm1ldGFncmFwaC5zZXRFZGdlKFosb2EsY2EpfSl9cGF0Y2hFZGdlc0ludG9GdW5jdGlvbklucHV0cyhOLFIpe2xldCBYPU1hdGgubWluKFIuZnVuY3Rpb25JbnB1dEluZGV4LE4uaW5wdXRzLmxlbmd0aC0xKTtmb3IodmFyIGFhPV8uY2xvbmUoTi5pbnB1dHNbWF0pO2FhLmlzQ29udHJvbERlcGVuZGVuY3k7KVgrKyxhYT1OLmlucHV0c1tYXTtSLmlucHV0cy5wdXNoKGFhKTthYT10aGlzLmhpZXJhcmNoeS5nZXRQcmVkZWNlc3NvcnMoTi5uYW1lKTtsZXQgZmEsb2E9MDtfLmVhY2goYWEucmVndWxhcixaPT57b2ErPVoubnVtUmVndWxhckVkZ2VzO2lmKG9hPlgpcmV0dXJuIGZhPVosITF9KTtfLmVhY2goZmEuYmFzZUVkZ2VMaXN0LFo9PntaLnc9PT1OLm5hbWUmJihaLnc9Ui5uYW1lKTtaLnY9PT1OLm5hbWUmJihaLnY9Ui5uYW1lKX0pfXBhdGNoRWRnZXNGcm9tRnVuY3Rpb25PdXRwdXRzKE4sClIpe2NvbnN0IFg9dGhpcy5oaWVyYXJjaHkuZ2V0U3VjY2Vzc29ycyhOLm5hbWUpO18uZWFjaChYLnJlZ3VsYXIsYWE9PntfLmVhY2goYWEuYmFzZUVkZ2VMaXN0LGZhPT57Y29uc3Qgb2E9dGhpcy5oaWVyYXJjaHkubm9kZShmYS53KTtfLmVhY2gob2EuaW5wdXRzLFo9PntaLm5hbWU9PT1OLm5hbWUmJihaLm5hbWU9UltaLm91dHB1dFRlbnNvcktleV0ubmFtZSxaLm91dHB1dFRlbnNvcktleT1mYS5vdXRwdXRUZW5zb3JLZXkpfSl9KTtfLmVhY2goYWEuYmFzZUVkZ2VMaXN0LGZhPT57ZmEudj1SW2ZhLm91dHB1dFRlbnNvcktleV0ubmFtZTtmYS5vdXRwdXRUZW5zb3JLZXk9IjAifSl9KX1idWlsZFN1YmhpZXJhcmNoeShOKXtpZighKE4gaW4gdGhpcy5oYXNTdWJoaWVyYXJjaHkpKXt0aGlzLmhhc1N1YmhpZXJhcmNoeVtOXT0hMDt2YXIgUj10aGlzLmluZGV4W05dO2lmKFIubm9kZS50eXBlPT09ZC5Ob2RlVHlwZS5NRVRBfHxSLm5vZGUudHlwZT09PWQuTm9kZVR5cGUuU0VSSUVTKXt2YXIgWD0KUi5ub2RlLm1ldGFncmFwaCxhYT1SLmNvcmVHcmFwaCxmYT1bXSxvYT1bXTtfLmlzRW1wdHkodGhpcy5oaWVyYXJjaHkubGlicmFyeUZ1bmN0aW9ucyl8fChfLmVhY2goWC5ub2RlcygpLHlhPT57Y29uc3QgQWE9WC5ub2RlKHlhKSxGYT10aGlzLmhpZXJhcmNoeS5saWJyYXJ5RnVuY3Rpb25zW0FhLm9wXTtGYSYmMCE9PXlhLmluZGV4T2YoYi5ncmFwaC5GVU5DVElPTl9MSUJSQVJZX05PREVfUFJFRklYKSYmKHlhPXRoaXMuY2xvbmVGdW5jdGlvbkxpYnJhcnlNZXRhbm9kZShYLEFhLEZhLm5vZGUsRmEubm9kZS5uYW1lLEFhLm5hbWUpLGZhLnB1c2goQWEpLG9hLnB1c2goeWEpKX0pLF8uZWFjaChvYSwoeWEsQWEpPT57QWE9ZmFbQWFdO3lhLnBhcmVudE5vZGU9QWEucGFyZW50Tm9kZTtYLnNldE5vZGUoQWEubmFtZSx5YSk7dGhpcy5oaWVyYXJjaHkuc2V0Tm9kZShBYS5uYW1lLHlhKX0pKTtfLmVhY2goWC5ub2RlcygpLHlhPT57bGV0IEFhPXRoaXMuZ2V0T3JDcmVhdGVSZW5kZXJOb2RlQnlOYW1lKHlhKSwKRmE9QWEubm9kZTthYS5zZXROb2RlKHlhLEFhKTtGYS5pc0dyb3VwTm9kZXx8KF8uZWFjaChGYS5pbkVtYmVkZGluZ3MseGE9PntsZXQgU2E9bmV3IE8obnVsbCksWGE9bmV3IEooeGEpO2goQWEseGEsWGEsU2EsSy5DT05TVEFOVCk7dGhpcy5pbmRleFt4YS5uYW1lXT1YYX0pLF8uZWFjaChGYS5vdXRFbWJlZGRpbmdzLHhhPT57bGV0IFNhPW5ldyBPKG51bGwpLFhhPW5ldyBKKHhhKTtrKEFhLHhhLFhhLFNhLEsuU1VNTUFSWSk7dGhpcy5pbmRleFt4YS5uYW1lXT1YYX0pKX0pO18uZWFjaChYLmVkZ2VzKCkseWE9Pnt2YXIgQWE9WC5lZGdlKHlhKTtBYT1uZXcgTyhBYSk7QWEuaXNGYWRlZE91dD10aGlzLmluZGV4W3lhLnZdLmlzRmFkZWRPdXR8fHRoaXMuaW5kZXhbeWEud10uaXNGYWRlZE91dDthYS5zZXRFZGdlKHlhLnYseWEudyxBYSl9KTtHLmVuYWJsZUV4dHJhY3Rpb24mJlIubm9kZS50eXBlPT09ZC5Ob2RlVHlwZS5NRVRBJiZDKFIpO18uaXNFbXB0eSh0aGlzLmhpZXJhcmNoeS5saWJyYXJ5RnVuY3Rpb25zKXx8CnRoaXMuYnVpbGRTdWJoaWVyYXJjaGllc0Zvck5lZWRlZEZ1bmN0aW9ucyhYKTtOPT09Yi5ncmFwaC5ST09UX05BTUUmJl8uZm9yT3duKHRoaXMuaGllcmFyY2h5LmxpYnJhcnlGdW5jdGlvbnMseWE9Pnt5YT15YS5ub2RlO2NvbnN0IEFhPXRoaXMuZ2V0T3JDcmVhdGVSZW5kZXJOb2RlQnlOYW1lKHlhLm5hbWUpO1IubGlicmFyeUZ1bmN0aW9uc0V4dHJhY3QucHVzaChBYSk7QWEubm9kZS5pbmNsdWRlPWQuSW5jbHVzaW9uVHlwZS5FWENMVURFO2FhLnJlbW92ZU5vZGUoeWEubmFtZSl9KTt2YXIgWj1SLm5vZGUucGFyZW50Tm9kZTtpZihaKXt2YXIgY2E9dGhpcy5pbmRleFtaLm5hbWVdLGphPSh5YSwuLi5BYSk9PkFhLmNvbmNhdChbeWE/IklOIjoiT1VUIl0pLmpvaW4oIn5+IiksYmE9dGhpcy5oaWVyYXJjaHkuZ2V0QnJpZGdlZ3JhcGgoTiksa2E9e30sVz17fSxFYT17fTtfLmVhY2goYmEuZWRnZXMoKSx5YT0+e2xldCBBYT0hIVgubm9kZSh5YS53KSxGYT1BYT95YS52OnlhLnc7YmEuZWRnZSh5YSkubnVtUmVndWxhckVkZ2VzPwpBYT9XW0ZhXT0oV1tGYV18fDApKzE6a2FbRmFdPShrYVtGYV18fDApKzE6RWFbRmFdPShFYVtGYV18fDApKzF9KTt2YXIgdmE9dGhpcy5oaWVyYXJjaHkuZ2V0Tm9kZU1hcCgpO18uZWFjaChiYS5lZGdlcygpLHlhPT57dmFyIEFhPWJhLmVkZ2UoeWEpO2xldCBGYT0hIVgubm9kZSh5YS53KSxbeGEsU2FdPUZhP1t5YS53LHlhLnZdOlt5YS52LHlhLnddO3ZhciBYYT10aGlzLmluZGV4W3hhXSx1Yj10aGlzLmluZGV4W1NhXSxCYj11Yj91Yi5ub2RlOnZhW1NhXSxxYj0hQWEubnVtUmVndWxhckVkZ2VzJiZFYVtTYV0+Ry5tYXhDb250cm9sRGVncmVlLFssemJdPUZhP1tSLmluQW5ub3RhdGlvbnMsWGEuaW5Bbm5vdGF0aW9uc106W1Iub3V0QW5ub3RhdGlvbnMsWGEub3V0QW5ub3RhdGlvbnNdO2xldCB2Yj0oRmE/VzprYSlbU2FdPkcubWF4QnJpZGdlUGF0aERlZ3JlZTt5YT1udWxsO3ZhciBHYj0hMTtHLmVuYWJsZUJyaWRnZWdyYXBoJiYhdmImJiFxYiYmWGEuaXNJbkNvcmUoKSYmKEdiPQpPYj0+Y2EuY29yZUdyYXBoLmVkZ2UoRmE/e3Y6T2IsdzpOfTp7djpOLHc6T2J9KSwoeWE9R2IoU2EpKXx8KHlhPUdiKGphKEZhLFNhLFoubmFtZSkpKSxHYj0hIXlhKTtYYT0hMTtpZih5YSYmIUFhLm51bVJlZ3VsYXJFZGdlcyl7WGE9eWE7Zm9yKHFiPWNhLm5vZGU7WGEuYWRqb2luaW5nTWV0YWVkZ2U7KVhhPVhhLmFkam9pbmluZ01ldGFlZGdlLHFiPXFiLnBhcmVudE5vZGU7cWI9dGhpcy5oaWVyYXJjaHkuZ2V0VG9wb2xvZ2ljYWxPcmRlcmluZyhxYi5uYW1lKTtYYT1YYS5tZXRhZWRnZTtYYT1xYltYYS52XT5xYltYYS53XX1HYiYmIVhhPyhCYj1qYShGYSxOKSx1Yj1qYShGYSxTYSxOKSx6Yj1hYS5ub2RlKHViKSx6Ynx8KEdiPWFhLm5vZGUoQmIpLEdifHwoR2I9bmV3IEooe25hbWU6QmIsdHlwZTpkLk5vZGVUeXBlLkJSSURHRSxpc0dyb3VwTm9kZTohMSxjYXJkaW5hbGl0eTowLHBhcmVudE5vZGU6bnVsbCxzdGF0czpudWxsLGluY2x1ZGU6ZC5JbmNsdXNpb25UeXBlLlVOU1BFQ0lGSUVELAppbmJvdW5kOkZhLG5vZGVBdHRyaWJ1dGVzOnt9fSksdGhpcy5pbmRleFtCYl09R2IsYWEuc2V0Tm9kZShCYixHYikpLHpiPW5ldyBKKHtuYW1lOnViLHR5cGU6ZC5Ob2RlVHlwZS5CUklER0UsaXNHcm91cE5vZGU6ITEsY2FyZGluYWxpdHk6MSxwYXJlbnROb2RlOm51bGwsc3RhdHM6bnVsbCxpbmNsdWRlOmQuSW5jbHVzaW9uVHlwZS5VTlNQRUNJRklFRCxpbmJvdW5kOkZhLG5vZGVBdHRyaWJ1dGVzOnt9fSksdGhpcy5pbmRleFt1Yl09emIsYWEuc2V0Tm9kZSh1Yix6YiksYWEuc2V0UGFyZW50KHViLEJiKSxHYi5ub2RlLmNhcmRpbmFsaXR5KyspLEFhPW5ldyBPKEFhKSxBYS5hZGpvaW5pbmdNZXRhZWRnZT15YSxGYT9hYS5zZXRFZGdlKHViLHhhLEFhKTphYS5zZXRFZGdlKHhhLHViLEFhKSk6emIucHVzaChuZXcgSChCYix1YixuZXcgTyhBYSksSy5TSE9SVENVVCxGYSkpfSk7Xy5lYWNoKFshMCwhMV0seWE9PntsZXQgQWE9amEoeWEsTiksRmE9YWEubm9kZShBYSk7RmEmJl8uZWFjaChhYS5ub2RlcygpLAp4YT0+e2lmKGFhLm5vZGUoeGEpLm5vZGUudHlwZSE9PWQuTm9kZVR5cGUuQlJJREdFJiYoeWE/IWFhLnByZWRlY2Vzc29ycyh4YSkubGVuZ3RoOiFhYS5zdWNjZXNzb3JzKHhhKS5sZW5ndGgpKXt2YXIgU2E9amEoeWEsTiwiU1RSVUNUVVJBTF9UQVJHRVQiKSxYYT1hYS5ub2RlKFNhKTtYYXx8KFhhPW5ldyBKKHtuYW1lOlNhLHR5cGU6ZC5Ob2RlVHlwZS5CUklER0UsaXNHcm91cE5vZGU6ITEsY2FyZGluYWxpdHk6MSxwYXJlbnROb2RlOm51bGwsc3RhdHM6bnVsbCxpbmNsdWRlOmQuSW5jbHVzaW9uVHlwZS5VTlNQRUNJRklFRCxpbmJvdW5kOnlhLG5vZGVBdHRyaWJ1dGVzOnt9fSksWGEuc3RydWN0dXJhbD0hMCx0aGlzLmluZGV4W1NhXT1YYSxhYS5zZXROb2RlKFNhLFhhKSxGYS5ub2RlLmNhcmRpbmFsaXR5KyssYWEuc2V0UGFyZW50KFNhLEFhKSk7WGE9bmV3IE8obnVsbCk7WGEuc3RydWN0dXJhbD0hMDtYYS53ZWlnaHQtLTt5YT9hYS5zZXRFZGdlKFNhLHhhLFhhKTphYS5zZXRFZGdlKHhhLApTYSxYYSl9fSl9KX19fX1idWlsZFN1YmhpZXJhcmNoaWVzRm9yTmVlZGVkRnVuY3Rpb25zKE4pe18uZWFjaChOLmVkZ2VzKCksUj0+e1I9Ti5lZGdlKFIpO1I9bmV3IE8oUik7Xy5mb3JFYWNoKFIubWV0YWVkZ2UuYmFzZUVkZ2VMaXN0LFg9Pnt2YXIgYWE9WC52LnNwbGl0KGIuZ3JhcGguTkFNRVNQQUNFX0RFTElNKTtmb3IodmFyIGZhPWFhLmxlbmd0aDswPD1mYTtmYS0tKXtYPWFhLnNsaWNlKDAsZmEpO2NvbnN0IG9hPXRoaXMuaGllcmFyY2h5Lm5vZGUoWC5qb2luKGIuZ3JhcGguTkFNRVNQQUNFX0RFTElNKSk7aWYob2Epe2lmKG9hLnR5cGU9PT1kLk5vZGVUeXBlLk9QJiZ0aGlzLmhpZXJhcmNoeS5saWJyYXJ5RnVuY3Rpb25zW29hLm9wXSlmb3IoYWE9MTthYTxYLmxlbmd0aDthYSsrKShmYT1YLnNsaWNlKDAsYWEpLmpvaW4oYi5ncmFwaC5OQU1FU1BBQ0VfREVMSU0pKSYmdGhpcy5idWlsZFN1YmhpZXJhcmNoeShmYSk7YnJlYWt9fX0pfSl9fWYuUmVuZGVyR3JhcGhJbmZvPUI7CmNsYXNzIEh7Y29uc3RydWN0b3IoTixSLFgsYWEsZmEpe3RoaXMubm9kZT1OO3RoaXMucmVuZGVyTm9kZUluZm89Ujt0aGlzLnJlbmRlck1ldGFlZGdlSW5mbz1YO3RoaXMuYW5ub3RhdGlvblR5cGU9YWE7dGhpcy5oZWlnaHQ9dGhpcy53aWR0aD10aGlzLmR5PXRoaXMuZHg9MDtYJiZYLm1ldGFlZGdlJiYodGhpcy52PVgubWV0YWVkZ2Uudix0aGlzLnc9WC5tZXRhZWRnZS53KTt0aGlzLmlzSW49ZmE7dGhpcy5wb2ludHM9W119fWYuQW5ub3RhdGlvbj1IO2xldCBLOyhmdW5jdGlvbihOKXtOW04uU0hPUlRDVVQ9MF09IlNIT1JUQ1VUIjtOW04uQ09OU1RBTlQ9MV09IkNPTlNUQU5UIjtOW04uU1VNTUFSWT0yXT0iU1VNTUFSWSI7TltOLkVMTElQU0lTPTNdPSJFTExJUFNJUyJ9KShLPWYuQW5ub3RhdGlvblR5cGV8fChmLkFubm90YXRpb25UeXBlPXt9KSk7Y2xhc3MgTHtjb25zdHJ1Y3Rvcigpe3RoaXMubGlzdD1bXTt0aGlzLm5vZGVOYW1lcz17fX1wdXNoKE4pe2lmKCEoTi5ub2RlLm5hbWUgaW4KdGhpcy5ub2RlTmFtZXMpKWlmKHRoaXMubm9kZU5hbWVzW04ubm9kZS5uYW1lXT0hMCx0aGlzLmxpc3QubGVuZ3RoPEcubWF4QW5ub3RhdGlvbnMpdGhpcy5saXN0LnB1c2goTik7ZWxzZXt2YXIgUj10aGlzLmxpc3RbdGhpcy5saXN0Lmxlbmd0aC0xXTtSLmFubm90YXRpb25UeXBlPT09Sy5FTExJUFNJUz8oTj1SLm5vZGUsTi5zZXROdW1Nb3JlTm9kZXMoKytOLm51bU1vcmVOb2RlcykpOihSPW5ldyBiLmdyYXBoLkVsbGlwc2lzTm9kZUltcGwoMSksdGhpcy5saXN0LnB1c2gobmV3IEgoUixuZXcgSihSKSxudWxsLEsuRUxMSVBTSVMsTi5pc0luKSkpfX19Zi5Bbm5vdGF0aW9uTGlzdD1MO2NsYXNzIEp7Y29uc3RydWN0b3IoTil7dGhpcy5ub2RlPU47dGhpcy5leHBhbmRlZD0hMTt0aGlzLmluQW5ub3RhdGlvbnM9bmV3IEw7dGhpcy5vdXRBbm5vdGF0aW9ucz1uZXcgTDt0aGlzLm91dGJveFdpZHRoPXRoaXMuaW5ib3hXaWR0aD10aGlzLmhlaWdodD10aGlzLndpZHRoPXRoaXMueT10aGlzLng9CjA7dGhpcy5zdHJ1Y3R1cmFsPXRoaXMuZXhjbHVkZWQ9ITE7dGhpcy5wYWRkaW5nQm90dG9tPXRoaXMucGFkZGluZ1JpZ2h0PXRoaXMucGFkZGluZ0xlZnQ9dGhpcy5wYWRkaW5nVG9wPXRoaXMubGFiZWxIZWlnaHQ9dGhpcy5yYWRpdXM9dGhpcy5sYWJlbE9mZnNldD0wO3RoaXMuaXNPdXRFeHRyYWN0PXRoaXMuaXNJbkV4dHJhY3Q9ITE7dGhpcy5jb3JlQm94PXt3aWR0aDowLGhlaWdodDowfTt0aGlzLmlzRmFkZWRPdXQ9ITE7dGhpcy5kaXNwbGF5TmFtZT1OLm5hbWUuc3Vic3RyaW5nKE4ubmFtZS5sYXN0SW5kZXhPZihiLmdyYXBoLk5BTUVTUEFDRV9ERUxJTSkrMSk7Ti50eXBlPT09ZC5Ob2RlVHlwZS5NRVRBJiZOLmFzc29jaWF0ZWRGdW5jdGlvbiYmKChOPXRoaXMuZGlzcGxheU5hbWUubWF0Y2goRCkpP3RoaXMuZGlzcGxheU5hbWU9TlsxXTpfLnN0YXJ0c1dpdGgodGhpcy5kaXNwbGF5TmFtZSxiLmdyYXBoLkZVTkNUSU9OX0xJQlJBUllfTk9ERV9QUkVGSVgpJiYodGhpcy5kaXNwbGF5TmFtZT0KdGhpcy5kaXNwbGF5TmFtZS5zdWJzdHJpbmcoYi5ncmFwaC5GVU5DVElPTl9MSUJSQVJZX05PREVfUFJFRklYLmxlbmd0aCkpKX1pc0luQ29yZSgpe3JldHVybiF0aGlzLmlzSW5FeHRyYWN0JiYhdGhpcy5pc091dEV4dHJhY3QmJiF0aGlzLmlzTGlicmFyeUZ1bmN0aW9ufX1mLlJlbmRlck5vZGVJbmZvPUo7Y2xhc3MgT3tjb25zdHJ1Y3RvcihOKXt0aGlzLm1ldGFlZGdlPU47dGhpcy5hZGpvaW5pbmdNZXRhZWRnZT1udWxsO3RoaXMuc3RydWN0dXJhbD0hMTt0aGlzLndlaWdodD0xO3RoaXMuaXNGYWRlZE91dD0hMX19Zi5SZW5kZXJNZXRhZWRnZUluZm89TztjbGFzcyBTIGV4dGVuZHMgSntjb25zdHJ1Y3RvcihOLFIpe3N1cGVyKE4pO049Ti5tZXRhZ3JhcGguZ3JhcGgoKTtSLmNvbXBvdW5kPSEwO3RoaXMuY29yZUdyYXBoPWQuY3JlYXRlR3JhcGgoTi5uYW1lLGQuR3JhcGhUeXBlLkNPUkUsUik7dGhpcy5pbkV4dHJhY3RCb3g9e3dpZHRoOjAsaGVpZ2h0OjB9O3RoaXMub3V0RXh0cmFjdEJveD0Ke3dpZHRoOjAsaGVpZ2h0OjB9O3RoaXMubGlicmFyeUZ1bmN0aW9uc0JveD17d2lkdGg6MCxoZWlnaHQ6MH07dGhpcy5pc29sYXRlZEluRXh0cmFjdD1bXTt0aGlzLmlzb2xhdGVkT3V0RXh0cmFjdD1bXTt0aGlzLmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0PVtdfX1mLlJlbmRlckdyb3VwTm9kZUluZm89UztmLm1ha2VJbkV4dHJhY3Q9bjtmLm1hcEluZGV4VG9IdWU9ZnVuY3Rpb24oTil7cmV0dXJuIDErNTc5LjI1NjE2Nzk3MjUqTiUzNTh9O2YuZXhwYW5kVW50aWxOb2RlSXNTaG93bj1mdW5jdGlvbihOLFIpe3ZhciBYPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY2VuZSIpO1I9Ui5zcGxpdCgiLyIpO3ZhciBhYT1SW1IubGVuZ3RoLTFdLm1hdGNoKC8oLiopOlx3Ky8pOzI9PT1hYS5sZW5ndGgmJihSW1IubGVuZ3RoLTFdPWFhWzFdKTthYT1SWzBdO2xldCBmYT1OLmdldFJlbmRlck5vZGVCeU5hbWUoYWEpO2ZvcihsZXQgb2E9MTtvYTxSLmxlbmd0aCYmZmEubm9kZS50eXBlIT09CmIuZ3JhcGguTm9kZVR5cGUuT1A7b2ErKylOLmJ1aWxkU3ViaGllcmFyY2h5KGFhKSxmYS5leHBhbmRlZD0hMCxYLnNldE5vZGVFeHBhbmRlZChmYSksYWErPSIvIitSW29hXSxmYT1OLmdldFJlbmRlck5vZGVCeU5hbWUoYWEpO3JldHVybiBmYS5ub2RlLm5hbWV9fSkoZC5yZW5kZXJ8fChkLnJlbmRlcj17fSkpfSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1jb21tb24vc2NlbmUuanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7ZnVuY3Rpb24gaChxLHUsdyxBKXt2YXIgeT1rKHEsdSx3KTtpZigheS5lbXB0eSgpKXJldHVybiB5O3U9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdSk7aWYodyBpbnN0YW5jZW9mIEFycmF5KWZvcih5PTA7eTx3Lmxlbmd0aDt5KyspdS5jbGFzc0xpc3QuYWRkKHdbeV0pO2Vsc2UgdS5jbGFzc0xpc3QuYWRkKHcpO0E/cS5ub2RlKCkuaW5zZXJ0QmVmb3JlKHUsQSk6cS5ub2RlKCkuYXBwZW5kQ2hpbGQodSk7cmV0dXJuIGQzLnNlbGVjdCh1KS5kYXR1bShxLmRhdHVtKCkpfWZ1bmN0aW9uIGsocSx1LHcpe3E9cS5ub2RlKCkuY2hpbGROb2Rlcztmb3IobGV0IEE9MDtBPHEubGVuZ3RoO0ErKyl7bGV0IHk9cVtBXTtpZih5LnRhZ05hbWU9PT11KWlmKHcgaW5zdGFuY2VvZiBBcnJheSl7bGV0IHg9ITA7Zm9yKGxldCBDPTA7Qzx3Lmxlbmd0aDtDKyspeD14JiZ5LmNsYXNzTGlzdC5jb250YWlucyh3W0NdKTsKaWYoeClyZXR1cm4gZDMuc2VsZWN0KHkpfWVsc2UgaWYoIXd8fHkuY2xhc3NMaXN0LmNvbnRhaW5zKHcpKXJldHVybiBkMy5zZWxlY3QoeSl9cmV0dXJuIGQzLnNlbGVjdChudWxsKX1mdW5jdGlvbiByKHEsdSl7bGV0IHc9dS5ub2RlLnR5cGU9PT1kLk5vZGVUeXBlLlNFUklFUz8wOmQubGF5b3V0LlBBUkFNUy5zdWJzY2VuZS5tZXRhLmxhYmVsSGVpZ2h0O2woayhxLCJnIixmLkNsYXNzLlNjZW5lLkNPUkUpLDAsdyk7dmFyIEE9MDx1Lmlzb2xhdGVkSW5FeHRyYWN0Lmxlbmd0aCx5PTA8dS5pc29sYXRlZE91dEV4dHJhY3QubGVuZ3RoO2xldCB4PTA8dS5saWJyYXJ5RnVuY3Rpb25zRXh0cmFjdC5sZW5ndGgsQz1kLmxheW91dC5QQVJBTVMuc3Vic2NlbmUubWV0YS5leHRyYWN0WE9mZnNldCxHPTA7QSYmKEcrPXUub3V0RXh0cmFjdEJveC53aWR0aCk7eSYmKEcrPXUub3V0RXh0cmFjdEJveC53aWR0aCk7QSYmKEE9dS5jb3JlQm94LndpZHRoLEE9RzxkLmxheW91dC5NSU5fQVVYX1dJRFRIPwpBLWQubGF5b3V0Lk1JTl9BVVhfV0lEVEgrdS5pbkV4dHJhY3RCb3gud2lkdGgvMjpBLXUuaW5FeHRyYWN0Qm94LndpZHRoLzItdS5vdXRFeHRyYWN0Qm94LndpZHRoLSh5P0M6MCksQT1BLXUubGlicmFyeUZ1bmN0aW9uc0JveC53aWR0aC0oeD9DOjApLGwoayhxLCJnIixmLkNsYXNzLlNjZW5lLklORVhUUkFDVCksQSx3KSk7eSYmKHk9dS5jb3JlQm94LndpZHRoLHk9RzxkLmxheW91dC5NSU5fQVVYX1dJRFRIP3ktZC5sYXlvdXQuTUlOX0FVWF9XSURUSCt1Lm91dEV4dHJhY3RCb3gud2lkdGgvMjp5LXUub3V0RXh0cmFjdEJveC53aWR0aC8yLHk9eS11LmxpYnJhcnlGdW5jdGlvbnNCb3gud2lkdGgtKHg/QzowKSxsKGsocSwiZyIsZi5DbGFzcy5TY2VuZS5PVVRFWFRSQUNUKSx5LHcpKTt4JiYodT11LmNvcmVCb3gud2lkdGgtdS5saWJyYXJ5RnVuY3Rpb25zQm94LndpZHRoLzIsbChrKHEsImciLGYuQ2xhc3MuU2NlbmUuRlVOQ1RJT05fTElCUkFSWSksdSx3KSl9ZnVuY3Rpb24gbChxLAp1LHcpe251bGwhPXEuYXR0cigidHJhbnNmb3JtIikmJihxPXEudHJhbnNpdGlvbigicG9zaXRpb24iKSk7cS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIit1KyIsIit3KyIpIil9ZnVuY3Rpb24gcChxLHUpe3JldHVybiB1P3EudG9GaXhlZCgwKToxPD1NYXRoLmFicyhxKT9xLnRvRml4ZWQoMSk6cS50b0V4cG9uZW50aWFsKDEpfWZ1bmN0aW9uIG0ocSx1LHcsQSl7bGV0IHk9IkRldmljZTogIitxLmRldmljZV9uYW1lKyJcbiI7eSs9ImR0eXBlOiAiK3EuZHR5cGUrIlxuIjtsZXQgeD0iKHNjYWxhcikiOzA8cS5zaGFwZS5sZW5ndGgmJih4PSIoIitxLnNoYXBlLmpvaW4oIiwiKSsiKSIpO3k9eSsoIlxuc2hhcGU6ICIreCsiXG5cbiMoZWxlbWVudHMpOiAiKSsodSsiXG4iKTtxPVtdO2Zvcih1PTA7dTx3Lmxlbmd0aDt1KyspMDx3W3VdJiZxLnB1c2goIiMoIitmLmhlYWx0aFBpbGxFbnRyaWVzW3VdLmxhYmVsKyIpOiAiK3dbdV0pO3krPXEuam9pbigiLCAiKSsiXG5cbiI7QS5tYXg+PQpBLm1pbiYmKHkrPSJtaW46ICIrQS5taW4rIiwgbWF4OiAiK0EubWF4KyJcbiIseSs9Im1lYW46ICIrQS5tZWFuKyIsIHN0ZGRldjogIitBLnN0ZGRldik7cmV0dXJuIHl9ZnVuY3Rpb24gbihxLHUsdyxBLHk9NjAseD0xMCxDPTAsRyl7ZDMuc2VsZWN0KHEucGFyZW50Tm9kZSkuc2VsZWN0QWxsKCIuaGVhbHRoLXBpbGwiKS5yZW1vdmUoKTtpZih1KXt2YXIgRD11LnZhbHVlLEI9RC5zbGljZSgyLDgpLEg9QlswXSxLPUJbMV0sTD1CWzVdLEo9RFsxXSxPPXttaW46RFs4XSxtYXg6RFs5XSxtZWFuOkRbMTBdLHN0ZGRldjpNYXRoLnNxcnQoRFsxMV0pfTtudWxsPT15JiYoeT02MCk7bnVsbD09eCYmKHg9MTApO251bGw9PUMmJihDPTApO251bGwhPXcmJncubm9kZS50eXBlPT09Yi5ncmFwaC5Ob2RlVHlwZS5PUCYmKHkvPTIseC89Mik7RD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoZi5TVkdfTkFNRVNQQUNFLCJnIik7RC5jbGFzc0xpc3QuYWRkKCJoZWFsdGgtcGlsbCIpO3ZhciBTPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhmLlNWR19OQU1FU1BBQ0UsCiJkZWZzIik7RC5hcHBlbmRDaGlsZChTKTt2YXIgTj1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoZi5TVkdfTkFNRVNQQUNFLCJsaW5lYXJHcmFkaWVudCIpO0E9ImhlYWx0aC1waWxsLWdyYWRpZW50LSIrQTtOLnNldEF0dHJpYnV0ZSgiaWQiLEEpO3ZhciBSPTAsWD0iMCUiO2ZvcihsZXQgZmE9MDtmYTxCLmxlbmd0aDtmYSsrKWlmKEJbZmFdKXtSKz1CW2ZhXTt2YXIgYWE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGYuU1ZHX05BTUVTUEFDRSwic3RvcCIpO2FhLnNldEF0dHJpYnV0ZSgib2Zmc2V0IixYKTthYS5zZXRBdHRyaWJ1dGUoInN0b3AtY29sb3IiLGYuaGVhbHRoUGlsbEVudHJpZXNbZmFdLmJhY2tncm91bmRfY29sb3IpO04uYXBwZW5kQ2hpbGQoYWEpO1g9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGYuU1ZHX05BTUVTUEFDRSwic3RvcCIpO2FhPTEwMCpSL0orIiUiO1guc2V0QXR0cmlidXRlKCJvZmZzZXQiLGFhKTtYLnNldEF0dHJpYnV0ZSgic3RvcC1jb2xvciIsZi5oZWFsdGhQaWxsRW50cmllc1tmYV0uYmFja2dyb3VuZF9jb2xvcik7Ck4uYXBwZW5kQ2hpbGQoWCk7WD1hYX1TLmFwcGVuZENoaWxkKE4pO1M9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGYuU1ZHX05BTUVTUEFDRSwicmVjdCIpO1Muc2V0QXR0cmlidXRlKCJmaWxsIiwidXJsKCMiK0ErIikiKTtTLnNldEF0dHJpYnV0ZSgid2lkdGgiLFN0cmluZyh5KSk7Uy5zZXRBdHRyaWJ1dGUoImhlaWdodCIsU3RyaW5nKHgpKTtTLnNldEF0dHJpYnV0ZSgieSIsU3RyaW5nKEMpKTtELmFwcGVuZENoaWxkKFMpO1M9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGYuU1ZHX05BTUVTUEFDRSwidGl0bGUiKTtTLnRleHRDb250ZW50PW0odSxKLEIsTyk7RC5hcHBlbmRDaGlsZChTKTt1PSExO2lmKG51bGwhPXcmJihTPXcueC15LzIseD13LnkteC13LmhlaWdodC8yLTIsMD53LmxhYmVsT2Zmc2V0JiYoeCs9dy5sYWJlbE9mZnNldCksRC5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK1MrIiwgIit4KyIpIiksKEJbMl18fEJbM118fEJbNF0pJiYodz13Lm5vZGUuYXR0cikmJgp3Lmxlbmd0aCkpZm9yKEI9MDtCPHcubGVuZ3RoO0IrKylpZigiVCI9PT13W0JdLmtleSl7dT0odz13W0JdLnZhbHVlLnR5cGUpJiYvXkRUXyhCT09MfElOVHxVSU5UKS8udGVzdCh3KTticmVha313PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhmLlNWR19OQU1FU1BBQ0UsInRleHQiKTtpZihOdW1iZXIuaXNGaW5pdGUoTy5taW4pJiZOdW1iZXIuaXNGaW5pdGUoTy5tYXgpKXtpZihCPXAoTy5taW4sdSksTz1wKE8ubWF4LHUpLHcudGV4dENvbnRlbnQ9MTxKP0IrIiB+ICIrTzpCLDA8SHx8MDxLfHwwPEwpdy50ZXh0Q29udGVudCs9IiAoIixKPVtdLDA8SCYmSi5wdXNoKGBOYU5cdTAwZDcke0h9YCksMDxLJiZKLnB1c2goYC1cdTIyMWVcdTAwZDcke0t9YCksMDxMJiZKLnB1c2goYCtcdTIyMWVcdTAwZDcke0x9YCksdy50ZXh0Q29udGVudCs9Si5qb2luKCI7ICIpKyIpIn1lbHNlIHcudGV4dENvbnRlbnQ9IihObyBmaW5pdGUgZWxlbWVudHMpIjt3LmNsYXNzTGlzdC5hZGQoImhlYWx0aC1waWxsLXN0YXRzIik7Cm51bGw9PUcmJihHPXkvMik7dy5zZXRBdHRyaWJ1dGUoIngiLFN0cmluZyhHKSk7dy5zZXRBdHRyaWJ1dGUoInkiLFN0cmluZyhDLTIpKTtELmFwcGVuZENoaWxkKHcpO1BvbHltZXIuZG9tKHEucGFyZW50Tm9kZSkuYXBwZW5kQ2hpbGQoRCl9fWYuU1ZHX05BTUVTUEFDRT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciO2YuQ2xhc3M9e05vZGU6e0NPTlRBSU5FUjoibm9kZXMiLEdST1VQOiJub2RlIixTSEFQRToibm9kZXNoYXBlIixDT0xPUl9UQVJHRVQ6Im5vZGVjb2xvcnRhcmdldCIsTEFCRUw6Im5vZGVsYWJlbCIsQlVUVE9OX0NPTlRBSU5FUjoiYnV0dG9uY29udGFpbmVyIixCVVRUT05fQ0lSQ0xFOiJidXR0b25jaXJjbGUiLEVYUEFORF9CVVRUT046ImV4cGFuZGJ1dHRvbiIsQ09MTEFQU0VfQlVUVE9OOiJjb2xsYXBzZWJ1dHRvbiJ9LEVkZ2U6e0NPTlRBSU5FUjoiZWRnZXMiLEdST1VQOiJlZGdlIixMSU5FOiJlZGdlbGluZSIsUkVGRVJFTkNFX0VER0U6InJlZmVyZW5jZWVkZ2UiLApSRUZfTElORToicmVmbGluZSIsU0VMRUNUQUJMRToic2VsZWN0YWJsZWVkZ2UiLFNFTEVDVEVEOiJzZWxlY3RlZGVkZ2UiLFNUUlVDVFVSQUw6InN0cnVjdHVyYWwifSxBbm5vdGF0aW9uOntPVVRCT1g6Im91dC1hbm5vdGF0aW9ucyIsSU5CT1g6ImluLWFubm90YXRpb25zIixHUk9VUDoiYW5ub3RhdGlvbiIsTk9ERToiYW5ub3RhdGlvbi1ub2RlIixFREdFOiJhbm5vdGF0aW9uLWVkZ2UiLENPTlRST0xfRURHRToiYW5ub3RhdGlvbi1jb250cm9sLWVkZ2UiLExBQkVMOiJhbm5vdGF0aW9uLWxhYmVsIixFTExJUFNJUzoiYW5ub3RhdGlvbi1lbGxpcHNpcyJ9LFNjZW5lOntHUk9VUDoic2NlbmUiLENPUkU6ImNvcmUiLEZVTkNUSU9OX0xJQlJBUlk6ImZ1bmN0aW9uLWxpYnJhcnkiLElORVhUUkFDVDoiaW4tZXh0cmFjdCIsT1VURVhUUkFDVDoib3V0LWV4dHJhY3QifSxTdWJzY2VuZTp7R1JPVVA6InN1YnNjZW5lIn0sT1BOT0RFOiJvcCIsTUVUQU5PREU6Im1ldGEiLFNFUklFU05PREU6InNlcmllcyIsCkJSSURHRU5PREU6ImJyaWRnZSIsRUxMSVBTSVNOT0RFOiJlbGxpcHNpcyJ9O2YuaGVhbHRoUGlsbEVudHJpZXM9W3tiYWNrZ3JvdW5kX2NvbG9yOiIjQ0MyRjJDIixsYWJlbDoiTmFOIn0se2JhY2tncm91bmRfY29sb3I6IiNGRjhEMDAiLGxhYmVsOiItXHUyMjFlIn0se2JhY2tncm91bmRfY29sb3I6IiNFQUVBRUEiLGxhYmVsOiItIn0se2JhY2tncm91bmRfY29sb3I6IiNBNUE1QTUiLGxhYmVsOiIwIn0se2JhY2tncm91bmRfY29sb3I6IiMyNjI2MjYiLGxhYmVsOiIrIn0se2JhY2tncm91bmRfY29sb3I6IiMwMDNFRDQiLGxhYmVsOiIrXHUyMjFlIn1dO2YuZml0PWZ1bmN0aW9uKHEsdSx3LEEpe3ZhciB5PXEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7bGV0IHg9bnVsbDt0cnl7aWYoeD11LmdldEJCb3goKSwwPT09eC53aWR0aClyZXR1cm59Y2F0Y2goQyl7cmV0dXJufXU9ZC5sYXlvdXQuUEFSQU1TLmdyYXBoO3k9ZDMuem9vbUlkZW50aXR5LnNjYWxlKC45Kk1hdGgubWluKHkud2lkdGgvCngud2lkdGgseS5oZWlnaHQveC5oZWlnaHQsMikpLnRyYW5zbGF0ZSh1LnBhZGRpbmcucGFkZGluZ0xlZnQsdS5wYWRkaW5nLnBhZGRpbmdUb3ApO2QzLnNlbGVjdChxKS50cmFuc2l0aW9uKCkuZHVyYXRpb24oNTAwKS5jYWxsKHcudHJhbnNmb3JtLHkpLm9uKCJlbmQuZml0dGVkIiwoKT0+e3cub24oImVuZC5maXR0ZWQiLG51bGwpO0EoKX0pfTtmLnBhblRvTm9kZT1mdW5jdGlvbihxLHUsdyxBKXt3PWQzLnNlbGVjdCh1KS5zZWxlY3QoYFtkYXRhLW5hbWU9IiR7cX0iXWApLm5vZGUoKTtpZighdylyZXR1cm4gY29uc29sZS53YXJuKGBwYW5Ub05vZGUoKSBmYWlsZWQgZm9yIG5vZGUgbmFtZSAiJHtxfSJgKSwhMTt2YXIgeT13LmdldEJCb3goKSx4PXcuZ2V0U2NyZWVuQ1RNKCk7cT11LmNyZWF0ZVNWR1BvaW50KCk7dz11LmNyZWF0ZVNWR1BvaW50KCk7cS54PXkueDtxLnk9eS55O3cueD15LngreS53aWR0aDt3Lnk9eS55K3kuaGVpZ2h0O3E9cS5tYXRyaXhUcmFuc2Zvcm0oeCk7dz0Kdy5tYXRyaXhUcmFuc2Zvcm0oeCk7eD0oRyxELEIsSCk9PiEoRz5CJiZEPEgpO3k9dS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtjb25zdCBDPXkudG9wK3kuaGVpZ2h0LTE1MDtyZXR1cm4geChxLngsdy54LHkubGVmdCx5LmxlZnQreS53aWR0aC0zMjApfHx4KHEueSx3LnkseS50b3AsQyk/KHg9eS5sZWZ0K3kud2lkdGgvMi0ocS54K3cueCkvMixxPXkudG9wK3kuaGVpZ2h0LzItKHEueSt3LnkpLzIsdz1kMy56b29tVHJhbnNmb3JtKHUpLGQzLnNlbGVjdCh1KS50cmFuc2l0aW9uKCkuZHVyYXRpb24oNTAwKS5jYWxsKEEudHJhbnNsYXRlQnkseC93LmsscS93LmspLCEwKTohMX07Zi5zZWxlY3RPckNyZWF0ZUNoaWxkPWg7Zi5zZWxlY3RDaGlsZD1rO2YuYnVpbGRHcm91cD1mdW5jdGlvbihxLHUsdyxBKXtBPUF8fGYuQ2xhc3MuU2NlbmUuR1JPVVA7bGV0IHk9ayhxLCJnIixBKS5lbXB0eSgpO3E9aChxLCJnIixBKTtBPWgocSwiZyIsZi5DbGFzcy5TY2VuZS5DT1JFKTtsZXQgeD1fLnJlZHVjZSh1LmNvcmVHcmFwaC5ub2RlcygpLAooQyxHKT0+e0c9dS5jb3JlR3JhcGgubm9kZShHKTtHLmV4Y2x1ZGVkfHxDLnB1c2goRyk7cmV0dXJuIEN9LFtdKTt1Lm5vZGUudHlwZT09PWQuTm9kZVR5cGUuU0VSSUVTJiZ4LnJldmVyc2UoKTtmLmVkZ2UuYnVpbGRHcm91cChBLHUuY29yZUdyYXBoLHcpO2Yubm9kZS5idWlsZEdyb3VwKEEseCx3KTswPHUuaXNvbGF0ZWRJbkV4dHJhY3QubGVuZ3RoPyhBPWgocSwiZyIsZi5DbGFzcy5TY2VuZS5JTkVYVFJBQ1QpLGYubm9kZS5idWlsZEdyb3VwKEEsdS5pc29sYXRlZEluRXh0cmFjdCx3KSk6ayhxLCJnIixmLkNsYXNzLlNjZW5lLklORVhUUkFDVCkucmVtb3ZlKCk7MDx1Lmlzb2xhdGVkT3V0RXh0cmFjdC5sZW5ndGg/KEE9aChxLCJnIixmLkNsYXNzLlNjZW5lLk9VVEVYVFJBQ1QpLGYubm9kZS5idWlsZEdyb3VwKEEsdS5pc29sYXRlZE91dEV4dHJhY3QsdykpOmsocSwiZyIsZi5DbGFzcy5TY2VuZS5PVVRFWFRSQUNUKS5yZW1vdmUoKTswPHUubGlicmFyeUZ1bmN0aW9uc0V4dHJhY3QubGVuZ3RoPwooQT1oKHEsImciLGYuQ2xhc3MuU2NlbmUuRlVOQ1RJT05fTElCUkFSWSksZi5ub2RlLmJ1aWxkR3JvdXAoQSx1LmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0LHcpKTprKHEsImciLGYuQ2xhc3MuU2NlbmUuRlVOQ1RJT05fTElCUkFSWSkucmVtb3ZlKCk7cihxLHUpO3kmJnEuYXR0cigib3BhY2l0eSIsMCkudHJhbnNpdGlvbigpLmF0dHIoIm9wYWNpdHkiLDEpO3JldHVybiBxfTtmLmFkZEdyYXBoQ2xpY2tMaXN0ZW5lcj1mdW5jdGlvbihxLHUpe2QzLnNlbGVjdChxKS5vbigiY2xpY2siLCgpPT57dS5maXJlKCJncmFwaC1zZWxlY3QiKX0pfTtmLnRyYW5zbGF0ZT1sO2YucG9zaXRpb25SZWN0PWZ1bmN0aW9uKHEsdSx3LEEseSl7cS50cmFuc2l0aW9uKCkuYXR0cigieCIsdS1BLzIpLmF0dHIoInkiLHcteS8yKS5hdHRyKCJ3aWR0aCIsQSkuYXR0cigiaGVpZ2h0Iix5KX07Zi5wb3NpdGlvblRyaWFuZ2xlPWZ1bmN0aW9uKHEsdSx3LEEseSl7eS89MjtBLz0yO3U9W1t1LHcteV0sW3UrQSwKdyt5XSxbdS1BLHcreV1dO3EudHJhbnNpdGlvbigpLmF0dHIoInBvaW50cyIsdS5tYXAoeD0+eC5qb2luKCIsIikpLmpvaW4oIiAiKSl9O2YucG9zaXRpb25CdXR0b249ZnVuY3Rpb24ocSx1KXtsZXQgdz1kLmxheW91dC5jb21wdXRlQ1hQb3NpdGlvbk9mTm9kZVNoYXBlKHUpKyh1LmV4cGFuZGVkP3Uud2lkdGg6dS5jb3JlQm94LndpZHRoKS8yLTYsQT11LnktKHUuZXhwYW5kZWQ/dS5oZWlnaHQ6dS5jb3JlQm94LmhlaWdodCkvMis2O3Uubm9kZS50eXBlIT09ZC5Ob2RlVHlwZS5TRVJJRVN8fHUuZXhwYW5kZWR8fCh3Kz0xMCxBLT0yKTt1PSJ0cmFuc2xhdGUoIit3KyIsIitBKyIpIjtxLnNlbGVjdEFsbCgicGF0aCIpLnRyYW5zaXRpb24oKS5hdHRyKCJ0cmFuc2Zvcm0iLHUpO3Euc2VsZWN0KCJjaXJjbGUiKS50cmFuc2l0aW9uKCkuYXR0cih7Y3g6dyxjeTpBLHI6ZC5sYXlvdXQuUEFSQU1TLm5vZGVTaXplLm1ldGEuZXhwYW5kQnV0dG9uUmFkaXVzfSl9O2YucG9zaXRpb25FbGxpcHNlPQpmdW5jdGlvbihxLHUsdyxBLHkpe3EudHJhbnNpdGlvbigpLmF0dHIoImN4Iix1KS5hdHRyKCJjeSIsdykuYXR0cigicngiLEEvMikuYXR0cigicnkiLHkvMil9O2YuaHVtYW5pemVIZWFsdGhQaWxsU3RhdD1wO2YuYWRkSGVhbHRoUGlsbD1uO2YuYWRkSGVhbHRoUGlsbHM9ZnVuY3Rpb24ocSx1LHcpe2lmKHUpe3ZhciBBPTE7ZDMuc2VsZWN0KHEpLnNlbGVjdEFsbCgiZy5ub2Rlc2hhcGUiKS5lYWNoKGZ1bmN0aW9uKHkpe2NvbnN0IHg9dVt5Lm5vZGUubmFtZV07bih0aGlzLHg/eFt3XTpudWxsLHksQSsrKX0pfX19KShkLnNjZW5lfHwoZC5zY2VuZT17fSkpfSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1jb21tb24vdGVtcGxhdGUuanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7ZnVuY3Rpb24gaChuKXtsZXQgcT1fLm1hcCh7ZGVwdGg6bi5kZXB0aCwifFZ8IjpuLm1ldGFncmFwaC5ub2RlcygpLmxlbmd0aCwifEV8IjpuLm1ldGFncmFwaC5lZGdlcygpLmxlbmd0aH0sZnVuY3Rpb24odSx3KXtyZXR1cm4gdysiXHgzZCIrdX0pLmpvaW4oIiAiKTtuPV8ubWFwKG4ub3BIaXN0b2dyYW0sZnVuY3Rpb24odSx3KXtyZXR1cm4gdysiXHgzZCIrdX0pLmpvaW4oIiwiKTtyZXR1cm4gcSsiIFtvcHNdICIrbn1mdW5jdGlvbiBrKG4pe2NvbnN0IHE9bi5nZXROb2RlTWFwKCk7bGV0IHU9T2JqZWN0LmtleXMocSkucmVkdWNlKCh3LEEpPT57Y29uc3QgeT1xW0FdO2lmKHkudHlwZSE9PWQuTm9kZVR5cGUuTUVUQSlyZXR1cm4gdztBPUEuc3BsaXQoIi8iKS5sZW5ndGgtMTtsZXQgeD1oKHkpLEM9d1t4XXx8e25vZGVzOltdLGxldmVsOkF9O3dbeF09QztDLm5vZGVzLnB1c2goeSk7Qy5sZXZlbD5BJiYoQy5sZXZlbD0KQSk7cmV0dXJuIHd9LHt9KTtyZXR1cm4gT2JqZWN0LmtleXModSkubWFwKHc9Plt3LHVbd11dKS5maWx0ZXIoKFssd10pPT57dz13Lm5vZGVzO2lmKDE8dy5sZW5ndGgpcmV0dXJuITA7dz13WzBdO3JldHVybiB3LnR5cGU9PT1kLk5vZGVUeXBlLk1FVEEmJncuYXNzb2NpYXRlZEZ1bmN0aW9ufSkuc29ydCgoWyx3XSk9Pncubm9kZXNbMF0uZGVwdGgpfWZ1bmN0aW9uIHIobixxKXtyZXR1cm4gXy5yZWR1Y2UobixmdW5jdGlvbih1LHcpe2xldCBBPXdbMF0seT1bXTt3WzFdLm5vZGVzLmZvckVhY2goZnVuY3Rpb24oeCl7Zm9yKGxldCBDPTA7Qzx5Lmxlbmd0aDtDKyspaWYoIXF8fHAoeVtDXS5tZXRhbm9kZS5tZXRhZ3JhcGgseC5tZXRhZ3JhcGgpKXt4LnRlbXBsYXRlSWQ9eVtDXS5tZXRhbm9kZS50ZW1wbGF0ZUlkO3lbQ10ubWVtYmVycy5wdXNoKHgubmFtZSk7cmV0dXJufXgudGVtcGxhdGVJZD1BKyJbIit5Lmxlbmd0aCsiXSI7eS5wdXNoKHttZXRhbm9kZTp4LG1lbWJlcnM6W3gubmFtZV19KX0pOwp5LmZvckVhY2goZnVuY3Rpb24oeCl7dVt4Lm1ldGFub2RlLnRlbXBsYXRlSWRdPXtsZXZlbDp3WzFdLmxldmVsLG5vZGVzOngubWVtYmVyc319KTtyZXR1cm4gdX0se30pfWZ1bmN0aW9uIGwobixxLHUpe3JldHVybiBfLnNvcnRCeShuLFt3PT5xLm5vZGUodykub3Asdz0+cS5ub2RlKHcpLnRlbXBsYXRlSWQsdz0+cS5uZWlnaGJvcnModykubGVuZ3RoLHc9PnEucHJlZGVjZXNzb3JzKHcpLmxlbmd0aCx3PT5xLnN1Y2Nlc3NvcnModykubGVuZ3RoLHc9Pncuc3Vic3RyKHUubGVuZ3RoKV0pfWZ1bmN0aW9uIHAobixxKXtmdW5jdGlvbiB1KEgsSyl7bGV0IEw9SC5zdWJzdHIody5sZW5ndGgpLEo9Sy5zdWJzdHIoQS5sZW5ndGgpO2lmKHlbTF1eeFtKXSlyZXR1cm4gY29uc29sZS53YXJuKCJkaWZmZXJlbnQgdmlzaXQgcGF0dGVybiIsIlsiK3crIl0iLEwsIlsiK0ErIl0iLEopLCEwO3lbTF18fCh5W0xdPXhbSl09ITAsQy5wdXNoKHtuMTpILG4yOkt9KSk7cmV0dXJuITF9aWYoIWIuZ3JhcGguaGFzU2ltaWxhckRlZ3JlZVNlcXVlbmNlKG4sCnEpKXJldHVybiExO2xldCB3PW4uZ3JhcGgoKS5uYW1lLEE9cS5ncmFwaCgpLm5hbWUseT17fSx4PXt9LEM9W107dmFyIEc9bi5zb3VyY2VzKCksRD1xLnNvdXJjZXMoKTtpZihHLmxlbmd0aCE9PUQubGVuZ3RoKXJldHVybiBjb25zb2xlLmxvZygiZGlmZmVyZW50IHNvdXJjZSBsZW5ndGgiKSwhMTtHPWwoRyxuLHcpO0Q9bChELHEsQSk7Zm9yKHZhciBCPTA7QjxHLmxlbmd0aDtCKyspaWYodShHW0JdLERbQl0pKXJldHVybiExO2Zvcig7MDxDLmxlbmd0aDspe0Q9Qy5wb3AoKTtpZighbShuLm5vZGUoRC5uMSkscS5ub2RlKEQubjIpKSlyZXR1cm4hMTtHPW4uc3VjY2Vzc29ycyhELm4xKTtEPXEuc3VjY2Vzc29ycyhELm4yKTtpZihHLmxlbmd0aCE9PUQubGVuZ3RoKXJldHVybiBjb25zb2xlLmxvZygiIyBvZiBzdWNjZXNzb3JzIG1pc21hdGNoIixHLEQpLCExO0c9bChHLG4sdyk7RD1sKEQscSxBKTtmb3IoQj0wO0I8Ry5sZW5ndGg7QisrKWlmKHUoR1tCXSxEW0JdKSlyZXR1cm4hMX1yZXR1cm4hMH0KZnVuY3Rpb24gbShuLHEpe2lmKG4udHlwZT09PWQuTm9kZVR5cGUuTUVUQSlyZXR1cm4gbi50ZW1wbGF0ZUlkJiZxLnRlbXBsYXRlSWQmJm4udGVtcGxhdGVJZD09PXEudGVtcGxhdGVJZDtpZihuLnR5cGU9PT1kLk5vZGVUeXBlLk9QJiZxLnR5cGU9PT1kLk5vZGVUeXBlLk9QKXJldHVybiBuLm9wPT09cS5vcDtpZihuLnR5cGU9PT1kLk5vZGVUeXBlLlNFUklFUyYmcS50eXBlPT09ZC5Ob2RlVHlwZS5TRVJJRVMpe2xldCB1PW4ubWV0YWdyYXBoLm5vZGVDb3VudCgpO3JldHVybiB1PT09cS5tZXRhZ3JhcGgubm9kZUNvdW50KCkmJigwPT09dXx8bi5tZXRhZ3JhcGgubm9kZShuLm1ldGFncmFwaC5ub2RlcygpWzBdKS5vcD09PXEubWV0YWdyYXBoLm5vZGUocS5tZXRhZ3JhcGgubm9kZXMoKVswXSkub3ApfXJldHVybiExfWYuZGV0ZWN0PWZ1bmN0aW9uKG4scSl7bj1rKG4pO2xldCB1PXIobixxKTtyZXR1cm4gT2JqZWN0LmtleXModSkuc29ydCh3PT51W3ddLmxldmVsKS5yZWR1Y2UoKHcsCkEpPT57d1tBXT11W0FdO3JldHVybiB3fSx7fSl9fSkoZC50ZW1wbGF0ZXx8KGQudGVtcGxhdGU9e30pKX0pKGIuZ3JhcGh8fChiLmdyYXBoPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtY29tbW9uL3V0aWwuanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7Zi50aW1lPWZ1bmN0aW9uKGgsayl7bGV0IHI9RGF0ZS5ub3coKTtrPWsoKTtjb25zb2xlLmxvZyhoLCI6IixEYXRlLm5vdygpLXIsIm1zIik7cmV0dXJuIGt9O2YuZ2V0VHJhY2tlcj1mdW5jdGlvbihoKXtyZXR1cm57c2V0TWVzc2FnZTpmdW5jdGlvbihrKXtoLnNldCgicHJvZ3Jlc3MiLHt2YWx1ZTpoLnByb2dyZXNzLnZhbHVlLG1zZzprfSl9LHVwZGF0ZVByb2dyZXNzOmZ1bmN0aW9uKGspe2guc2V0KCJwcm9ncmVzcyIse3ZhbHVlOmgucHJvZ3Jlc3MudmFsdWUrayxtc2c6aC5wcm9ncmVzcy5tc2d9KX0scmVwb3J0RXJyb3I6ZnVuY3Rpb24oayxyKXtjb25zb2xlLmVycm9yKHIuc3RhY2spO2guc2V0KCJwcm9ncmVzcyIse3ZhbHVlOmgucHJvZ3Jlc3MudmFsdWUsbXNnOmssZXJyb3I6ITB9KX19fTtmLmdldFN1YnRhc2tUcmFja2VyPWZ1bmN0aW9uKGgsayxyKXtyZXR1cm57c2V0TWVzc2FnZTpmdW5jdGlvbihsKXtoLnNldE1lc3NhZ2UocisKIjogIitsKX0sdXBkYXRlUHJvZ3Jlc3M6ZnVuY3Rpb24obCl7aC51cGRhdGVQcm9ncmVzcyhsKmsvMTAwKX0scmVwb3J0RXJyb3I6ZnVuY3Rpb24obCxwKXtoLnJlcG9ydEVycm9yKHIrIjogIitsLHApfX19O2YucnVuVGFzaz1mdW5jdGlvbihoLGspe2suc2V0TWVzc2FnZSgiUmVhZGluZyBtZXRhZGF0YSBwYnR4dCIpO3RyeXtsZXQgcj1iLmdyYXBoLnV0aWwudGltZSgiUmVhZGluZyBtZXRhZGF0YSBwYnR4dCIsaCk7ay51cGRhdGVQcm9ncmVzcyg0MCk7cmV0dXJuIHJ9Y2F0Y2gocil7ay5yZXBvcnRFcnJvcigiRmFpbGVkIFJlYWRpbmcgbWV0YWRhdGEgcGJ0eHQiLHIpfX07Zi5ydW5Bc3luY1Rhc2s9ZnVuY3Rpb24oaCxrLHIsbCl7cmV0dXJuIG5ldyBQcm9taXNlKHA9PntsLnNldE1lc3NhZ2UoaCk7c2V0VGltZW91dChmdW5jdGlvbigpe3RyeXtsZXQgbT1iLmdyYXBoLnV0aWwudGltZShoLHIpO2wudXBkYXRlUHJvZ3Jlc3Moayk7cChtKX1jYXRjaChtKXtsLnJlcG9ydEVycm9yKCJGYWlsZWQgIisKaCxtKX19LDIwKX0pfTtmLnJ1bkFzeW5jUHJvbWlzZVRhc2s9ZnVuY3Rpb24oaCxrLHIsbCl7cmV0dXJuIG5ldyBQcm9taXNlKChwLG0pPT57ZnVuY3Rpb24gbihxKXtsLnJlcG9ydEVycm9yKCJGYWlsZWQgIitoLHEpO20ocSl9bC5zZXRNZXNzYWdlKGgpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0cnl7bGV0IHE9RGF0ZS5ub3coKTtyKCkudGhlbihmdW5jdGlvbih1KXtjb25zb2xlLmxvZyhoLCI6IixEYXRlLm5vdygpLXEsIm1zIik7bC51cGRhdGVQcm9ncmVzcyhrKTtwKHUpfSkuY2F0Y2gobil9Y2F0Y2gocSl7bihxKX19LDIwKX0pfTtmLmVzY2FwZVF1ZXJ5U2VsZWN0b3I9ZnVuY3Rpb24oaCl7cmV0dXJuIGgucmVwbGFjZSgvKFs6LlxbXF0sL1xcXChcKV0pL2csIlxcJDEiKX07Zi5NRU1PUllfVU5JVFM9W3tzeW1ib2w6IkIifSx7c3ltYm9sOiJLQiIsbnVtVW5pdHM6MTAyNH0se3N5bWJvbDoiTUIiLG51bVVuaXRzOjEwMjR9LHtzeW1ib2w6IkdCIixudW1Vbml0czoxMDI0fSx7c3ltYm9sOiJUQiIsCm51bVVuaXRzOjEwMjR9LHtzeW1ib2w6IlBCIixudW1Vbml0czoxMDI0fV07Zi5USU1FX1VOSVRTPVt7c3ltYm9sOiJcdTAwYjVzIn0se3N5bWJvbDoibXMiLG51bVVuaXRzOjFFM30se3N5bWJvbDoicyIsbnVtVW5pdHM6MUUzfSx7c3ltYm9sOiJtaW4iLG51bVVuaXRzOjYwfSx7c3ltYm9sOiJociIsbnVtVW5pdHM6NjB9LHtzeW1ib2w6ImRheXMiLG51bVVuaXRzOjI0fV07Zi5jb252ZXJ0VW5pdHNUb0h1bWFuUmVhZGFibGU9ZnVuY3Rpb24oaCxrLHI9MCl7cmV0dXJuIHIrMTxrLmxlbmd0aCYmaD49a1tyKzFdLm51bVVuaXRzP2IuZ3JhcGgudXRpbC5jb252ZXJ0VW5pdHNUb0h1bWFuUmVhZGFibGUoaC9rW3IrMV0ubnVtVW5pdHMsayxyKzEpOk51bWJlcihoLnRvUHJlY2lzaW9uKDMpKSsiICIra1tyXS5zeW1ib2x9O2YuaGFzRGlzcGxheWFibGVOb2RlU3RhdHM9ZnVuY3Rpb24oaCl7cmV0dXJuIGgmJigwPGgudG90YWxCeXRlc3x8MDxoLmdldFRvdGFsTWljcm9zKCl8fGgub3V0cHV0U2l6ZSk/CiEwOiExfTtmLnJlbW92ZUNvbW1vblByZWZpeD1mdW5jdGlvbihoKXtpZigyPmgubGVuZ3RoKXJldHVybiBoO2xldCBrPTAscj0wLGw9Xy5taW4oXy5tYXAoaCxwPT5wLmxlbmd0aCkpO2Zvcig7Oyl7aysrO2xldCBwPV8ubWFwKGgsbT0+bS5zdWJzdHJpbmcoMCxrKSk7aWYocC5ldmVyeSgobSxuKT0+MD09PW4/ITA6bT09PXBbbi0xXSkpe2lmKGs+PWwpcmV0dXJuIGg7cj1rfWVsc2UgYnJlYWt9cmV0dXJuIF8ubWFwKGgscD0+cC5zdWJzdHJpbmcocikpfTtmLmNvbXB1dGVIdW1hbkZyaWVuZGx5VGltZT1mdW5jdGlvbihoKXtoPStuZXcgRGF0ZS0rbmV3IERhdGUoaC8xRTMpO3JldHVybiAzRTQ+aD8ianVzdCBub3ciOjZFND5oP01hdGguZmxvb3IoaC8xRTMpKyIgc2Vjb25kcyBhZ28iOjEyRTQ+aD8iYSBtaW51dGUgYWdvIjozNkU1Pmg/TWF0aC5mbG9vcihoLzZFNCkrIiBtaW51dGVzIGFnbyI6MT09TWF0aC5mbG9vcihoLzM2RTUpPyJhbiBob3VyIGFnbyI6ODY0RTU+aD9NYXRoLmZsb29yKGgvCjM2RTUpKyIgaG91cnMgYWdvIjoxNzI4RTU+aD8ieWVzdGVyZGF5IjpNYXRoLmZsb29yKGgvODY0RTUpKyIgZGF5cyBhZ28ifX0pKGQudXRpbHx8KGQudXRpbD17fSkpfSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1jb21tb24vbWluaW1hcC5qcwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpe2NsYXNzIGZ7Y29uc3RydWN0b3IoaCxrLHIsbCxwLG0pe3RoaXMuc3ZnPWg7dGhpcy5sYWJlbFBhZGRpbmc9bTt0aGlzLnpvb21HPWs7dGhpcy5tYWluWm9vbT1yO3RoaXMubWF4V2FuZEg9cDtoPWQzLnNlbGVjdChsLnNoYWRvd1Jvb3QpO2xldCBuPWguc2VsZWN0KCJzdmciKSxxPW4uc2VsZWN0KCJyZWN0Iik7dGhpcy52aWV3cG9pbnRDb29yZD17eDowLHk6MH07az1kMy5kcmFnKCkuc3ViamVjdChPYmplY3QpLm9uKCJkcmFnIiwoKT0+e3RoaXMudmlld3BvaW50Q29vcmQueD1kMy5ldmVudC54O3RoaXMudmlld3BvaW50Q29vcmQueT1kMy5ldmVudC55O3RoaXMudXBkYXRlVmlld3BvaW50KCl9KTtxLmRhdHVtKHRoaXMudmlld3BvaW50Q29vcmQpLmNhbGwoayk7bi5vbigiY2xpY2siLCgpPT57aWYoIWQzLmV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpe3ZhciB1PU51bWJlcihxLmF0dHIoIndpZHRoIikpLHc9TnVtYmVyKHEuYXR0cigiaGVpZ2h0IikpLApBPWQzLm1vdXNlKG4ubm9kZSgpKTt0aGlzLnZpZXdwb2ludENvb3JkLng9QVswXS11LzI7dGhpcy52aWV3cG9pbnRDb29yZC55PUFbMV0tdy8yO3RoaXMudXBkYXRlVmlld3BvaW50KCl9fSk7dGhpcy52aWV3cG9pbnQ9cS5ub2RlKCk7dGhpcy5taW5pbWFwU3ZnPW4ubm9kZSgpO3RoaXMubWluaW1hcD1sO3RoaXMuY2FudmFzPWguc2VsZWN0KCJjYW52YXMuZmlyc3QiKS5ub2RlKCk7dGhpcy5jYW52YXNCdWZmZXI9aC5zZWxlY3QoImNhbnZhcy5zZWNvbmQiKS5ub2RlKCk7dGhpcy5kb3dubG9hZENhbnZhcz1oLnNlbGVjdCgiY2FudmFzLmRvd25sb2FkIikubm9kZSgpO2QzLnNlbGVjdCh0aGlzLmRvd25sb2FkQ2FudmFzKS5zdHlsZSgiZGlzcGxheSIsIm5vbmUiKTt0aGlzLnVwZGF0ZSgpfXVwZGF0ZVZpZXdwb2ludCgpe2QzLnNlbGVjdCh0aGlzLnZpZXdwb2ludCkuYXR0cigieCIsdGhpcy52aWV3cG9pbnRDb29yZC54KS5hdHRyKCJ5Iix0aGlzLnZpZXdwb2ludENvb3JkLnkpO2xldCBoPQotdGhpcy52aWV3cG9pbnRDb29yZC54KnRoaXMuc2NhbGVNYWluL3RoaXMuc2NhbGVNaW5pbWFwLGs9LXRoaXMudmlld3BvaW50Q29vcmQueSp0aGlzLnNjYWxlTWFpbi90aGlzLnNjYWxlTWluaW1hcDtkMy5zZWxlY3QodGhpcy5zdmcpLmNhbGwodGhpcy5tYWluWm9vbS50cmFuc2Zvcm0sZDMuem9vbUlkZW50aXR5LnRyYW5zbGF0ZShoLGspLnNjYWxlKHRoaXMuc2NhbGVNYWluKSl9dXBkYXRlKCl7bGV0IGg9bnVsbDt0cnl7aWYoaD10aGlzLnpvb21HLmdldEJCb3goKSwwPT09aC53aWR0aClyZXR1cm59Y2F0Y2godSl7cmV0dXJufXZhciBrPWQzLnNlbGVjdCgiI2dyYXBoZG93bmxvYWQiKTt0aGlzLmRvd25sb2FkPWsubm9kZSgpO2sub24oImNsaWNrIiwoKT0+e1VSTC5yZXZva2VPYmplY3RVUkwodGhpcy5kb3dubG9hZC5ocmVmKTt2YXIgdT10aGlzLmRvd25sb2FkQ2FudmFzLnRvRGF0YVVSTCgiaW1hZ2UvcG5nIik7Y29uc3Qgdz11LnNsaWNlKDAsdS5pbmRleE9mKCIsIikpO2lmKHcuZW5kc1dpdGgoIjtiYXNlNjQiKSl7dmFyIEE9CmF0b2IodS5zbGljZSh1LmluZGV4T2YoIiwiKSsxKSk7dT0obmV3IFVpbnQ4QXJyYXkoQS5sZW5ndGgpKS5tYXAoKHkseCk9PkEuY2hhckNvZGVBdCh4KSk7dGhpcy5kb3dubG9hZC5ocmVmPVVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoW3VdLHt0eXBlOiJpbWFnZS9wbmcifSkpfWVsc2UgY29uc29sZS53YXJuKGBub24tYmFzZTY0IGRhdGEgVVJMICgke3d9KTsgY2Fubm90IHVzZSBibG9iIGRvd25sb2FkYCksdGhpcy5kb3dubG9hZC5ocmVmPXV9KTtrPWQzLnNlbGVjdCh0aGlzLnN2Zyk7dmFyIHI9IiIsbD10aGlzLnN2ZztsPShsLmdldFJvb3ROb2RlP2wuZ2V0Um9vdE5vZGUoKTp0aGlzLnN2Zy5wYXJlbnROb2RlKS5zdHlsZVNoZWV0cztmb3IodmFyIHA9MDtwPGwubGVuZ3RoO3ArKyl0cnl7dmFyIG09bFtwXS5jc3NSdWxlc3x8bFtwXS5ydWxlcztpZihudWxsIT1tKWZvcihsZXQgdT0wO3U8bS5sZW5ndGg7dSsrKXIrPW1bdV0uY3NzVGV4dC5yZXBsYWNlKC8gP3RmLVtcdy1dKyA/L2csCiIiKSsiXG4ifWNhdGNoKHUpe2lmKCJTZWN1cml0eUVycm9yIiE9PXUubmFtZSl0aHJvdyB1O31tPWsuYXBwZW5kKCJzdHlsZSIpO20udGV4dChyKTtyPWQzLnNlbGVjdCh0aGlzLnpvb21HKTtsPXIuYXR0cigidHJhbnNmb3JtIik7ci5hdHRyKCJ0cmFuc2Zvcm0iLG51bGwpO2guaGVpZ2h0Kz1oLnk7aC53aWR0aCs9aC54O2guaGVpZ2h0Kz0yKnRoaXMubGFiZWxQYWRkaW5nO2gud2lkdGgrPTIqdGhpcy5sYWJlbFBhZGRpbmc7ay5hdHRyKCJ3aWR0aCIsaC53aWR0aCkuYXR0cigiaGVpZ2h0IixoLmhlaWdodCk7dGhpcy5zY2FsZU1pbmltYXA9dGhpcy5tYXhXYW5kSC9NYXRoLm1heChoLndpZHRoLGguaGVpZ2h0KTt0aGlzLm1pbmltYXBTaXplPXt3aWR0aDpoLndpZHRoKnRoaXMuc2NhbGVNaW5pbWFwLGhlaWdodDpoLmhlaWdodCp0aGlzLnNjYWxlTWluaW1hcH07ZDMuc2VsZWN0KHRoaXMubWluaW1hcFN2ZykuYXR0cih0aGlzLm1pbmltYXBTaXplKTtkMy5zZWxlY3QodGhpcy5jYW52YXNCdWZmZXIpLmF0dHIodGhpcy5taW5pbWFwU2l6ZSk7CnA9ZDMuc2VsZWN0KHRoaXMuZG93bmxvYWRDYW52YXMpO3Auc3R5bGUoIndpZHRoIixoLndpZHRoKTtwLnN0eWxlKCJoZWlnaHQiLGguaGVpZ2h0KTtwLmF0dHIoIndpZHRoIiwzKmgud2lkdGgpO3AuYXR0cigiaGVpZ2h0IiwzKmguaGVpZ2h0KTtudWxsIT10aGlzLnRyYW5zbGF0ZSYmbnVsbCE9dGhpcy56b29tJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PnRoaXMuem9vbSgpKTtsZXQgbj0obmV3IFhNTFNlcmlhbGl6ZXIpLnNlcmlhbGl6ZVRvU3RyaW5nKHRoaXMuc3ZnKTttLnJlbW92ZSgpO2suYXR0cigid2lkdGgiLG51bGwpLmF0dHIoImhlaWdodCIsbnVsbCk7ci5hdHRyKCJ0cmFuc2Zvcm0iLGwpO2xldCBxPW5ldyBJbWFnZTtxLm9ubG9hZD0oKT0+e3ZhciB1PXRoaXMuY2FudmFzQnVmZmVyLmdldENvbnRleHQoIjJkIik7dS5jbGVhclJlY3QoMCwwLHRoaXMuY2FudmFzQnVmZmVyLndpZHRoLHRoaXMuY2FudmFzQnVmZmVyLmhlaWdodCk7dS5kcmF3SW1hZ2UocSwwLDAsdGhpcy5taW5pbWFwU2l6ZS53aWR0aCwKdGhpcy5taW5pbWFwU2l6ZS5oZWlnaHQpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2QzLnNlbGVjdCh0aGlzLmNhbnZhc0J1ZmZlcikuc3R5bGUoImRpc3BsYXkiLG51bGwpO2QzLnNlbGVjdCh0aGlzLmNhbnZhcykuc3R5bGUoImRpc3BsYXkiLCJub25lIik7W3RoaXMuY2FudmFzLHRoaXMuY2FudmFzQnVmZmVyXT1bdGhpcy5jYW52YXNCdWZmZXIsdGhpcy5jYW52YXNdfSk7dT10aGlzLmRvd25sb2FkQ2FudmFzLmdldENvbnRleHQoIjJkIik7dS5jbGVhclJlY3QoMCwwLHRoaXMuZG93bmxvYWRDYW52YXMud2lkdGgsdGhpcy5kb3dubG9hZENhbnZhcy5oZWlnaHQpO3UuZHJhd0ltYWdlKHEsMCwwLHRoaXMuZG93bmxvYWRDYW52YXMud2lkdGgsdGhpcy5kb3dubG9hZENhbnZhcy5oZWlnaHQpfTtxLm9uZXJyb3I9KCk9PntxLnNyYz1VUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtuXSx7dHlwZToiaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0XHgzZHV0Zi04In0pKX07cS5zcmM9CiJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldFx4M2R1dGYtOCwiK2VuY29kZVVSSUNvbXBvbmVudChuKX16b29tKGgpe2lmKG51bGwhPXRoaXMuc2NhbGVNaW5pbWFwKXtoJiYodGhpcy50cmFuc2xhdGU9W2gueCxoLnldLHRoaXMuc2NhbGVNYWluPWguayk7dmFyIGs9dGhpcy5zdmcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscj1kMy5zZWxlY3QodGhpcy52aWV3cG9pbnQpO3RoaXMudmlld3BvaW50Q29vcmQueD0tdGhpcy50cmFuc2xhdGVbMF0qdGhpcy5zY2FsZU1pbmltYXAvdGhpcy5zY2FsZU1haW47dGhpcy52aWV3cG9pbnRDb29yZC55PS10aGlzLnRyYW5zbGF0ZVsxXSp0aGlzLnNjYWxlTWluaW1hcC90aGlzLnNjYWxlTWFpbjtoPWsud2lkdGgqdGhpcy5zY2FsZU1pbmltYXAvdGhpcy5zY2FsZU1haW47az1rLmhlaWdodCp0aGlzLnNjYWxlTWluaW1hcC90aGlzLnNjYWxlTWFpbjtyLmF0dHIoIngiLHRoaXMudmlld3BvaW50Q29vcmQueCkuYXR0cigieSIsdGhpcy52aWV3cG9pbnRDb29yZC55KS5hdHRyKCJ3aWR0aCIsCmgpLmF0dHIoImhlaWdodCIsayk7cj10aGlzLm1pbmltYXBTaXplLndpZHRoO3ZhciBsPXRoaXMubWluaW1hcFNpemUuaGVpZ2h0LHA9dGhpcy52aWV3cG9pbnRDb29yZC54LG09dGhpcy52aWV3cG9pbnRDb29yZC55Oy44PihNYXRoLm1pbihNYXRoLm1heCgwLHAraCksciktTWF0aC5taW4oTWF0aC5tYXgoMCxwKSxyKSkqKE1hdGgubWluKE1hdGgubWF4KDAsbStrKSxsKS1NYXRoLm1pbihNYXRoLm1heCgwLG0pLGwpKS8ocipsKT90aGlzLm1pbmltYXAuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik6dGhpcy5taW5pbWFwLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpfX19ZC5NaW5pbWFwPWZ9KShiLnNjZW5lfHwoYi5zY2VuZT17fSkpfSkodGZ8fCh0Zj17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWxvYWRlci90Zi1ncmFwaC1sb2FkZXIuanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oKXtQb2x5bWVyKHtpczoidGYtZ3JhcGgtbG9hZGVyIixfdGVtcGxhdGU6bnVsbCxwcm9wZXJ0aWVzOntkYXRhc2V0czpBcnJheSxzZWxlY3RlZERhdGE6e3R5cGU6TnVtYmVyLHZhbHVlOjB9LHNlbGVjdGVkRmlsZTpPYmplY3QsY29tcGF0aWJpbGl0eVByb3ZpZGVyOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+bmV3IGIuZ3JhcGgub3AuVHB1Q29tcGF0aWJpbGl0eVByb3ZpZGVyfSxvdmVycmlkaW5nSGllcmFyY2h5UGFyYW1zOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+KHt9KX0scHJvZ3Jlc3M6e3R5cGU6T2JqZWN0LG5vdGlmeTohMH0sb3V0R3JhcGhIaWVyYXJjaHk6e3R5cGU6T2JqZWN0LHJlYWRPbmx5OiEwLG5vdGlmeTohMH0sb3V0R3JhcGg6e3R5cGU6T2JqZWN0LHJlYWRPbmx5OiEwLG5vdGlmeTohMH0sb3V0SGllcmFyY2h5UGFyYW1zOnt0eXBlOk9iamVjdCxyZWFkT25seTohMCxub3RpZnk6ITB9fSxvYnNlcnZlcnM6WyJfbG9hZERhdGEoZGF0YXNldHMsIHNlbGVjdGVkRGF0YSwgb3ZlcnJpZGluZ0hpZXJhcmNoeVBhcmFtcywgY29tcGF0aWJpbGl0eVByb3ZpZGVyKSIsCiJfbG9hZEZpbGUoc2VsZWN0ZWRGaWxlLCBvdmVycmlkaW5nSGllcmFyY2h5UGFyYW1zLCBjb21wYXRpYmlsaXR5UHJvdmlkZXIpIl0sX2xvYWREYXRhKCl7dGhpcy5kZWJvdW5jZSgibG9hZCIsKCk9Pntjb25zdCBmPXRoaXMuZGF0YXNldHNbdGhpcy5zZWxlY3RlZERhdGFdO2YmJnRoaXMuX3BhcnNlQW5kQ29uc3RydWN0SGllcmFyY2hpY2FsR3JhcGgoZi5wYXRoKX0pfSxfcGFyc2VBbmRDb25zdHJ1Y3RIaWVyYXJjaGljYWxHcmFwaChmLGgpe2NvbnN0IGs9dGhpcy5vdmVycmlkaW5nSGllcmFyY2h5UGFyYW1zLHI9dGhpcy5jb21wYXRpYmlsaXR5UHJvdmlkZXI7dGhpcy5wcm9ncmVzcz17dmFsdWU6MCxtc2c6IiJ9O2NvbnN0IGw9Yi5ncmFwaC51dGlsLmdldFRyYWNrZXIodGhpcykscD1PYmplY3QuYXNzaWduKHt9LGIuZ3JhcGguaGllcmFyY2h5LkRlZmF1bHRIaWVyYXJjaHlQYXJhbXMsayk7Yi5ncmFwaC5sb2FkZXIuZmV0Y2hBbmRDb25zdHJ1Y3RIaWVyYXJjaGljYWxHcmFwaChsLApmLGgscixwKS50aGVuKCh7Z3JhcGg6bSxncmFwaEhpZXJhcmNoeTpufSk9Pnt0aGlzLl9zZXRPdXRIaWVyYXJjaHlQYXJhbXMocCk7dGhpcy5fc2V0T3V0R3JhcGgobSk7dGhpcy5fc2V0T3V0R3JhcGhIaWVyYXJjaHkobil9KX0sX2xvYWRGaWxlKGYpe2lmKGYpe2Y9Zi50YXJnZXQ7dmFyIGg9Zi5maWxlc1swXTtoJiYoZi52YWx1ZT0iIix0aGlzLl9wYXJzZUFuZENvbnN0cnVjdEhpZXJhcmNoaWNhbEdyYXBoKG51bGwsaCkpfX19KX0pKGQubG9hZGVyfHwoZC5sb2FkZXI9e30pKX0pKGIuZ3JhcGh8fChiLmdyYXBoPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZGVidWdnZXItZGFzaGJvYXJkL2hlYWx0aC1waWxscy5qcwp2YXIgS2g7CihmdW5jdGlvbihiKXtmdW5jdGlvbiBkKGsscil7aWYobnVsbD09ayl0aHJvdyBFcnJvcihgTWlzc2luZyByZWZWYWx1ZSBmb3IgY29uZGl0aW9uICgke3J9KS5gKTt9ZnVuY3Rpb24gZihrKXtyZXR1cm4gbnVsbD09a3x8MD09ay5sZW5ndGh8fDEhPT1rWzBdfWNvbnN0IGg9e0lORl9PUl9OQU46e2Rlc2NyaXB0aW9uOiJDb250YWlucyArLy1cdTIyMWUgb3IgTmFOIixwcmVkaWNhdGU6az0+MDxrWzJdfHwwPGtbM118fDA8a1s3XX0sSU5GOntkZXNjcmlwdGlvbjoiQ29udGFpbnMgKy8tXHUyMjFlIixwcmVkaWNhdGU6az0+MDxrWzNdfHwwPGtbN119LE5BTjp7ZGVzY3JpcHRpb246IkNvbnRhaW5zIE5hTiIscHJlZGljYXRlOms9PjA8a1syXX0sTUFYX0dUOntkZXNjcmlwdGlvbjoiTWF4IFx4M2UiLHByZWRpY2F0ZTooayxyKT0+e2QociwiTUFYX0dUIik7cmV0dXJuIGtbOV0+cn19LE1BWF9MVDp7ZGVzY3JpcHRpb246Ik1heCBceDNjIixwcmVkaWNhdGU6KGsscik9PntkKHIsIk1BWF9MVCIpOwpyZXR1cm4ga1s5XTxyfX0sTUlOX0dUOntkZXNjcmlwdGlvbjoiTWluIFx4M2UiLHByZWRpY2F0ZTooayxyKT0+e2QociwiTUlOX0dUIik7cmV0dXJuIGtbOF0+cn19LE1JTl9MVDp7ZGVzY3JpcHRpb246Ik1pbiBceDNjIixwcmVkaWNhdGU6KGsscik9PntkKHIsIk1JTl9MVCIpO3JldHVybiBrWzhdPHJ9fSxNRUFOX0dUOntkZXNjcmlwdGlvbjoiTWVhbiBceDNlIixwcmVkaWNhdGU6KGsscik9PntkKHIsIk1FQU5fR1QiKTtyZXR1cm4ga1sxMF0+cn19LE1FQU5fTFQ6e2Rlc2NyaXB0aW9uOiJNZWFuIFx4M2MiLHByZWRpY2F0ZTooayxyKT0+e2QociwiTUVBTl9MVCIpO3JldHVybiBrWzEwXTxyfX0sUkFOR0VfR1Q6e2Rlc2NyaXB0aW9uOiJNYXggLSBNaW4gXHgzZSIscHJlZGljYXRlOihrLHIpPT57ZChyLCJSQU5HRV9HVCIpO3JldHVybiBrWzldLWtbOF0+cn19LFJBTkdFX0xUOntkZXNjcmlwdGlvbjoiTWF4IC0gTWluIFx4M2MiLHByZWRpY2F0ZTooayxyKT0+e2QociwiUkFOR0VfTFQiKTsKcmV0dXJuIGtbOV0ta1s4XTxyfX0sU1REREVWX0dUOntkZXNjcmlwdGlvbjoiU3RhbmRhcmQgZGV2aWF0aW9uIFx4M2UiLHByZWRpY2F0ZTooayxyKT0+e2QociwiU1REREVWX0dUIik7cmV0dXJuIE1hdGguc3FydChrWzExXSk+cn19LFNURERFVl9MVDp7ZGVzY3JpcHRpb246IlN0YW5kYXJkIGRldmlhdGlvbiBceDNjIixwcmVkaWNhdGU6KGsscik9PntkKHIsIlNURERFVl9MVCIpO3JldHVybiBNYXRoLnNxcnQoa1sxMV0pPHJ9fX07Yi50ZW5zb3JDb25kaXRpb25EZXNjcmlwdGlvbjJLZXk9ZnVuY3Rpb24oayl7Zm9yKGNvbnN0IHIgaW4gaClpZihoLmhhc093blByb3BlcnR5KHIpJiZoW3JdLmRlc2NyaXB0aW9uPT09aylyZXR1cm4gcjtyZXR1cm4gbnVsbH07Yi5jaGVja0hlYWx0aFBpbGxBZ2FpbnN0VGVuc29yQ29uZGl0aW9uS2V5PWZ1bmN0aW9uKGsscixsKXtpZihmKHIpKXJldHVybiExO2s9aFtrXS5wcmVkaWNhdGU7cmV0dXJuIGsocixsKX19KShLaHx8KEtoPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGVuc29yLXdpZGdldC90ZW5zb3Jfd2lkZ2V0X2JpbmFyeS5qcwpmdW5jdGlvbiBMaChiKXtyZXR1cm4gbnVsbCE9PWIubWF0Y2goL15pbnRbMC05XSskLyl8fG51bGwhPT1iLm1hdGNoKC9edWludFswLTldKyQvKX1mdW5jdGlvbiBNaChiKXtyZXR1cm4gbnVsbCE9PWIubWF0Y2goL15mbG9hdFswLTldKyQvKXx8bnVsbCE9PWIubWF0Y2goL15iZmxvYXRbMC05XSskLyl9ZnVuY3Rpb24gWWkoYil7cmV0dXJuImJvb2wiPT09Yi50b0xvd2VyQ2FzZSgpfHwiYm9vbGVhbiI9PT1iLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gWmkoYil7cmV0dXJuInN0ciI9PT1iLnRvTG93ZXJDYXNlKCl8fCJzdHJpbmciPT09Yi50b0xvd2VyQ2FzZSgpfQpjbGFzcyAkaXtjb25zdHJ1Y3RvcihiKXt0aGlzLmlzU2hvd249ITE7dGhpcy5ibHVySGlkZUZ1bmN0aW9uPW51bGw7dGhpcy5kcm9wZG93bj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLmRyb3Bkb3duLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtZGltLWRyb3Bkb3duIik7dGhpcy5kcm9wZG93bi5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiO3RoaXMuZHJvcGRvd24uc3R5bGUuZGlzcGxheT0ibm9uZSI7Yi5hcHBlbmRDaGlsZCh0aGlzLmRyb3Bkb3duKX1zaG93KGIsZCxmKXtmLmZvckVhY2goaz0+e2NvbnN0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ci5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWRpbS1kcm9wZG93bi1tZW51LWl0ZW0iKTtyLnRleHRDb250ZW50PWsuY2FwdGlvbjt0aGlzLmRyb3Bkb3duLmFwcGVuZENoaWxkKHIpO2suZGlzYWJsZWQ/ci5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWRpbS1kcm9wZG93bi1tZW51LWl0ZW0tZGlzYWJsZWQiKToKKHIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGw9PntsLnN0b3BQcm9wYWdhdGlvbigpO3RoaXMuZHJvcGRvd24uY2xpY2soKTtpZihudWxsIT09ay5vbkNsaWNrKWsub25DbGljayhsKTt0aGlzLmhpZGUoKX0pLHIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsbD0+e2lmKG51bGwhPT1rLm9uSG92ZXIpay5vbkhvdmVyKGwpO3IuY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC1kaW0tZHJvcGRvd24tbWVudS1pdGVtLWFjdGl2ZSIpfSksci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwoKT0+e3IuY2xhc3NMaXN0LnJlbW92ZSgidGVuc29yLXdpZGdldC1kaW0tZHJvcGRvd24tbWVudS1pdGVtLWFjdGl2ZSIpO2lmKG51bGwhPT1rLm9uSG92ZXIpe3ZhciBsPVtdO2ZvcihsZXQgcD0wO3A8ci5jaGlsZHJlbi5sZW5ndGg7KytwKXtjb25zdCBtPXIuY2hpbGRyZW5bcF07bS5jbGFzc0xpc3QuY29udGFpbnMoInRlbnNvci13aWRnZXQtZGltLWRyb3Bkb3duIikmJmwucHVzaChtKX1sLmZvckVhY2gocD0+CnIucmVtb3ZlQ2hpbGQocCkpfX0pKX0pO3RoaXMuZHJvcGRvd24uc3R5bGUuZGlzcGxheT0iYmxvY2siO3RoaXMuZHJvcGRvd24uc3R5bGUudG9wPWIrInB4Ijt0aGlzLmRyb3Bkb3duLnN0eWxlLmxlZnQ9ZCsicHgiO2Y9dGhpcy5kcm9wZG93bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtjb25zdCBoPWYubGVmdC1kO3RoaXMuZHJvcGRvd24uc3R5bGUudG9wPShiLShmLnRvcC1iKSkudG9GaXhlZCgxKSsicHgiO3RoaXMuZHJvcGRvd24uc3R5bGUubGVmdD0oZC1oKS50b0ZpeGVkKDEpKyJweCI7dGhpcy5pc1Nob3duPSEwO3RoaXMuYmx1ckhpZGVGdW5jdGlvbj0oKT0+e3RoaXMuaGlkZSgpfTtzZXRUaW1lb3V0KCgpPT53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuYmx1ckhpZGVGdW5jdGlvbiksNTApfWhpZGUoKXtmb3IodGhpcy5kcm9wZG93bi5zdHlsZS5kaXNwbGF5PSJub25lIjt0aGlzLmRyb3Bkb3duLmZpcnN0Q2hpbGQ7KXRoaXMuZHJvcGRvd24ucmVtb3ZlQ2hpbGQodGhpcy5kcm9wZG93bi5maXJzdENoaWxkKTsKdGhpcy5pc1Nob3duPSExO251bGwhPXRoaXMuYmx1ckhpZGVGdW5jdGlvbiYmd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmJsdXJIaWRlRnVuY3Rpb24pfXNob3duKCl7cmV0dXJuIHRoaXMuaXNTaG93bn19CmNsYXNzIGFqe2NvbnN0cnVjdG9yKGIsZCl7dGhpcy5jb25maWc9Yjt0aGlzLnBhcmVudEVsZW1lbnQ9ZDt0aGlzLmJhc2VGbGF0TWVudT1uZXcgJGkodGhpcy5wYXJlbnRFbGVtZW50KTt0aGlzLmN1cnJlbnRDaG9pY2VTZWxlY3Rpb25zPXt9O3RoaXMuY29uZmlnLml0ZW1zLmZvckVhY2goKGYsaCk9PntudWxsIT1mLm9wdGlvbnMmJih0aGlzLmN1cnJlbnRDaG9pY2VTZWxlY3Rpb25zW2hdPWYuZGVmYXVsdFNlbGVjdGlvbil9KX1zaG93KGIsZCl7Y29uc3QgZj1bXTt0aGlzLmNvbmZpZy5pdGVtcy5mb3JFYWNoKChoLGspPT57Y29uc3Qgcj17Y2FwdGlvbjpoLmNhcHRpb24sb25DbGljazpudWxsLG9uSG92ZXI6bnVsbH07aWYobnVsbCE9aC5vcHRpb25zKXtjb25zdCBsPXRoaXMuY3VycmVudENob2ljZVNlbGVjdGlvbnNba107ci5vbkhvdmVyPXA9Pnt2YXIgbT1wLnRhcmdldDtjb25zdCBuPVtdO2gub3B0aW9ucy5mb3JFYWNoKChxLHUpPT57bi5wdXNoKHtjYXB0aW9uOnU9PT1sPwpxKyIgKFx1MjcxMykiOnEsb25DbGljazooKT0+e2whPT11JiYodGhpcy5jdXJyZW50Q2hvaWNlU2VsZWN0aW9uc1trXT11LGguY2FsbGJhY2sodSkpfSxvbkhvdmVyOm51bGx9KX0pO3A9bmV3ICRpKG0pO209bS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtwLnNob3cobS50b3AsbS5yaWdodCxuKX19ZWxzZSByLm9uQ2xpY2s9aC5jYWxsYmFjaztudWxsPT1oLmlzRW5hYmxlZHx8aC5pc0VuYWJsZWQoKXx8KHIuZGlzYWJsZWQ9ITApO2YucHVzaChyKX0pO3RoaXMuYmFzZUZsYXRNZW51LnNob3coYixkLGYpfWhpZGUoKXt0aGlzLmJhc2VGbGF0TWVudS5oaWRlKCl9c2hvd24oKXtyZXR1cm4gdGhpcy5iYXNlRmxhdE1lbnUuc2hvd24oKX19ZnVuY3Rpb24gYmooYil7bGV0IGQ9MTtiLmZvckVhY2goZj0+e2QqPWZ9KTtyZXR1cm4gZH1mdW5jdGlvbiBjaihiKXtyZXR1cm4gMD09PWIubGVuZ3RoPyJzY2FsYXIiOmBbJHtifV1gfQpmdW5jdGlvbiBkaihiKXtjb25zdCBkPXtzbGljaW5nRGltc0FuZEluZGljZXM6W10sdmlld2luZ0RpbXM6W10sdmVydGljYWxSYW5nZTpudWxsLGhvcml6b250YWxSYW5nZTpudWxsfTt2YXIgZj1iLmxlbmd0aDtpZigxPT09ZilkLnZpZXdpbmdEaW1zPVswXTtlbHNlIGlmKDE8Zil7aWYoMjxmKWZvcihsZXQgaD0wO2g8Zi0yOysraClkLnNsaWNpbmdEaW1zQW5kSW5kaWNlcy5wdXNoKHtkaW06aCxpbmRleDowPT09YltoXT9udWxsOjB9KTtmb3IoZj1iLmxlbmd0aC0yO2Y8Yi5sZW5ndGg7KytmKWQudmlld2luZ0RpbXMucHVzaChmKX1yZXR1cm4gZH0KZnVuY3Rpb24gZWooYixkKXtpZihiLnZpZXdpbmdEaW1zWzBdIT09ZC52aWV3aW5nRGltc1swXXx8Yi52aWV3aW5nRGltc1sxXSE9PWQudmlld2luZ0RpbXNbMV0pcmV0dXJuITE7ZD1iLnNsaWNpbmdEaW1zQW5kSW5kaWNlcy5tYXAoZj0+Zi5kaW0pO2Quc29ydCgpO2I9Yi5zbGljaW5nRGltc0FuZEluZGljZXMubWFwKGY9PmYuZGltKTtiLnNvcnQoKTtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZCk9PT1KU09OLnN0cmluZ2lmeShiKX12YXIgZmo7KGZ1bmN0aW9uKGIpe2JbYi5VUD0xXT0iVVAiO2JbYi5ET1dOPTJdPSJET1dOIjtiW2IuTEVGVD0zXT0iTEVGVCI7YltiLlJJR0hUPTRdPSJSSUdIVCJ9KShmanx8KGZqPXt9KSk7CmNsYXNzIGdqe2NvbnN0cnVjdG9yKGIsZCxmLGgsayxyKXt0aGlzLnNoYXBlPWI7dGhpcy5zbGljZURpbXM9W107dGhpcy5zbGljZUluZGljZXM9W107aWYoMD09PWJqKHRoaXMuc2hhcGUpKXRocm93IEVycm9yKCJUZW5zb3JFbGVtZW50U2VsZWN0aW9uIGRvZXNuJ3Qgc3VwcG9ydCB0ZW5zb3Igd2l0aCB6ZXJvIGVsZW1lbnRzLiIpO2ZvcihiPTA7YjxkLnNsaWNpbmdEaW1zQW5kSW5kaWNlcy5sZW5ndGg7KytiKXt0aGlzLnNsaWNlRGltcy5wdXNoKGQuc2xpY2luZ0RpbXNBbmRJbmRpY2VzW2JdLmRpbSk7Y29uc3QgbD1kLnNsaWNpbmdEaW1zQW5kSW5kaWNlc1tiXS5pbmRleDtpZihudWxsPT09bCl0aHJvdyBFcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBUZW5zb3JFbGVtZW50U2VsZWN0aW9uIGR1ZSB0byAiK2B1bmRldGVybWluZWQgc2xpY2luZyBpbmRleCBhdCBkaW1lbnNpb24gJHtifWApO3RoaXMuc2xpY2VJbmRpY2VzLnB1c2gobCl9dGhpcy5yYW5rPXRoaXMuc2hhcGUubGVuZ3RoOwppZigwPHRoaXMucmFuayYmdGhpcy5zbGljZURpbXMubGVuZ3RoPj10aGlzLnJhbmspdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHNsaWNlRGltcyB0byBoYXZlIGEgbGVuZ3RoIGxlc3MgdGhhbiByYW5rICR7dGhpcy5yYW5rfSwgYCtgYnV0IGdvdCBsZW5ndGggJHt0aGlzLnNsaWNlRGltcy5sZW5ndGh9YCk7dGhpcy52aWV3RGltcz1bXTtmb3IoZD0wO2Q8dGhpcy5yYW5rOysrZCktMT09PXRoaXMuc2xpY2VEaW1zLmluZGV4T2YoZCkmJnRoaXMudmlld0RpbXMucHVzaChkKTtpZigyPHRoaXMudmlld0RpbXMubGVuZ3RoKXRocm93IEVycm9yKCJPbmx5IHNlbGVjdGlvbnMgaW4gMUQgYW5kIDJEIGFyZSBzdXBwb3J0ZWQuIik7dGhpcy5yb3dTdGFydD1udWxsPT1mPzA6Zjt0aGlzLmNvbFN0YXJ0PW51bGw9PWg/MDpoO3RoaXMucm93Q291bnQ9bnVsbD09az8xOms7dGhpcy5jb2xDb3VudD1udWxsPT1yPzE6cn1nZXRFbGVtZW50U3RhdHVzKGIpe2lmKGIubGVuZ3RoIT09dGhpcy5yYW5rKXRocm93IEVycm9yKGBFeHBlY3RlZCBpbmRpY2VzIHRvIGhhdmUgYSByYW5rIG9mICR7dGhpcy5yYW5rfSwgYCsKYGJ1dCBnb3QgJHtiLmxlbmd0aH0gKFske2J9XSlgKTtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoOysrZClpZigtMSE9PXRoaXMuc2xpY2VEaW1zLmluZGV4T2YoZCkmJmJbZF0hPT10aGlzLnNsaWNlSW5kaWNlc1t0aGlzLnNsaWNlRGltcy5pbmRleE9mKGQpXSlyZXR1cm4gbnVsbDtkPW51bGw7Y29uc3QgZj10aGlzLnJvd1N0YXJ0K3RoaXMucm93Q291bnQ7dmFyIGg9dGhpcy5jb2xTdGFydCt0aGlzLmNvbENvdW50O2lmKDA9PT10aGlzLnZpZXdEaW1zLmxlbmd0aCkwPT09Yi5sZW5ndGgmJihkPXt0b3BFZGdlOiEwLGJvdHRvbUVkZ2U6ITAsbGVmdEVkZ2U6ITAscmlnaHRFZGdlOiEwfSk7ZWxzZSBpZigxPT09dGhpcy52aWV3RGltcy5sZW5ndGgpaD10aGlzLnZpZXdEaW1zWzBdLGJbaF0+PXRoaXMucm93U3RhcnQmJmJbaF08ZiYmKGQ9e3RvcEVkZ2U6YltoXT09PXRoaXMucm93U3RhcnQsYm90dG9tRWRnZTpiW2hdPT09Zi0xLGxlZnRFZGdlOiEwLHJpZ2h0RWRnZTohMH0pO2Vsc2UgaWYoMj09PQp0aGlzLnZpZXdEaW1zLmxlbmd0aCl7Y29uc3Qgaz10aGlzLnZpZXdEaW1zWzBdLHI9dGhpcy52aWV3RGltc1sxXTtiW2tdPj10aGlzLnJvd1N0YXJ0JiZiW2tdPGYmJmJbcl0+PXRoaXMuY29sU3RhcnQmJmJbcl08aCYmKGQ9e3RvcEVkZ2U6YltrXT09PXRoaXMucm93U3RhcnQsYm90dG9tRWRnZTpiW2tdPT09Zi0xLGxlZnRFZGdlOmJbcl09PT10aGlzLmNvbFN0YXJ0LHJpZ2h0RWRnZTpiW3JdPT09aC0xfSl9ZWxzZSB0aHJvdyBFcnJvcihgVW5leHBlY3RlZCBsZW5ndGggb2Ygdmlld0RpbXM6ICR7dGhpcy52aWV3RGltc31gKTtyZXR1cm4gZH1tb3ZlKGIsZCl7bGV0IGY9bnVsbDtpZigwPT09dGhpcy5yYW5rfHwxPT09dGhpcy5yYW5rJiYoYj09PWZqLkxFRlR8fGI9PT1mai5SSUdIVCkpcmV0dXJuIG51bGw7aWYobnVsbD09PWQudmVydGljYWxSYW5nZXx8bnVsbD09PWQudmVydGljYWxSYW5nZVsxXSl0aHJvdyBFcnJvcigiRmFpbGVkIHRvIG1vdmUgZHVlIHRvIHVuZGV0ZXJtaW5lZCB2ZXJ0aWNhbCByYW5nZS4iKTsKYj09PWZqLlVQPzA8dGhpcy5yb3dTdGFydCYmKHRoaXMucm93U3RhcnQtLSxudWxsIT1kLnZlcnRpY2FsUmFuZ2UmJnRoaXMucm93U3RhcnQ8ZC52ZXJ0aWNhbFJhbmdlWzBdJiYoZj1mai5VUCkpOmI9PT1mai5ET1dOP251bGwhPWQudmlld2luZ0RpbXMmJm51bGwhPWQudmlld2luZ0RpbXNbMF0mJnRoaXMucm93U3RhcnQ8dGhpcy5zaGFwZVtkLnZpZXdpbmdEaW1zWzBdXS0xJiYodGhpcy5yb3dTdGFydCsrLG51bGwhPWQudmVydGljYWxSYW5nZSYmdGhpcy5yb3dTdGFydD49ZC52ZXJ0aWNhbFJhbmdlWzFdJiYoZj1mai5ET1dOKSk6Yj09PWZqLkxFRlQ/MDx0aGlzLmNvbFN0YXJ0JiYodGhpcy5jb2xTdGFydC0tLG51bGwhPWQuaG9yaXpvbnRhbFJhbmdlJiZ0aGlzLmNvbFN0YXJ0PGQuaG9yaXpvbnRhbFJhbmdlWzBdJiYoZj1mai5MRUZUKSk6Yj09PWZqLlJJR0hUJiZudWxsIT1kLnZpZXdpbmdEaW1zJiZudWxsIT1kLnZpZXdpbmdEaW1zWzFdJiZ0aGlzLmNvbFN0YXJ0PHRoaXMuc2hhcGVbZC52aWV3aW5nRGltc1sxXV0tCjEmJih0aGlzLmNvbFN0YXJ0KyssbnVsbCE9ZC5ob3Jpem9udGFsUmFuZ2UmJnRoaXMuY29sU3RhcnQ+PWQuaG9yaXpvbnRhbFJhbmdlWzFdJiYoZj1mai5SSUdIVCkpO3RoaXMuY29sQ291bnQ9dGhpcy5yb3dDb3VudD0xO3JldHVybiBmfWdldFJvd1N0YXJ0KCl7cmV0dXJuIHRoaXMucm93U3RhcnR9Z2V0Um93Q291bnQoKXtyZXR1cm4gdGhpcy5yb3dDb3VudH1nZXRDb2xTdGFydCgpe3JldHVybiB0aGlzLmNvbFN0YXJ0fWdldENvbENvdW50KCl7cmV0dXJuIHRoaXMuY29sQ291bnR9fQpjbGFzcyBoantjb25zdHJ1Y3RvcihiLGQsZj0oKT0+e30pe3RoaXMucm9vdERpdj1iO3RoaXMuc2hhcGU9ZDt0aGlzLm9uU2xpY2luZ1NwZWNDaGFuZ2U9Zjt0aGlzLmRpbUNvbnRyb2xzPVtdO3RoaXMuZGltSW5wdXRzPVtdO3RoaXMuY29tbWFzPVtdO3RoaXMuZHJvcGRvd25zPVtdO3RoaXMuYnJhY2tldERpdnM9W251bGwsbnVsbF07dGhpcy5kaW1Db250cm9sc0xpc3RlbmVyQXR0YWNoZWQ9W107dGhpcy5yYW5rPXRoaXMuc2hhcGUubGVuZ3RoO2lmKDM+dGhpcy5yYW5rKXRocm93IEVycm9yKCJEaW1lbnNpb24gY29udHJvbCBpcyBub3QgYXBwbGljYWJsZSB0byB0ZW5zb3Igc2hhcGVzIGxlc3MgdGhhbiAiK2AzRDogcmVjZWl2ZWQgJHt0aGlzLnJhbmt9RCB0ZW5zb3Igc2hhcGU6IGArYCR7SlNPTi5zdHJpbmdpZnkodGhpcy5zaGFwZSl9LmApO3RoaXMuY3JlYXRlQ29tcG9uZW50cygpO3RoaXMuc2xpY2luZ1NwZWM9ZGooZCl9Y3JlYXRlQ29tcG9uZW50cygpe2Zvcig7dGhpcy5yb290RGl2LmZpcnN0Q2hpbGQ7KXRoaXMucm9vdERpdi5yZW1vdmVDaGlsZCh0aGlzLnJvb3REaXYuZmlyc3RDaGlsZCk7CnRoaXMuZGltQ29udHJvbHM9W107dGhpcy5kaW1JbnB1dHM9W107dGhpcy5jb21tYXM9W107dGhpcy5kcm9wZG93bnM9W107dGhpcy5kaW1Db250cm9sc0xpc3RlbmVyQXR0YWNoZWQ9W107dGhpcy5icmFja2V0RGl2c1swXT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLmJyYWNrZXREaXZzWzBdLnRleHRDb250ZW50PSJTbGljaW5nOiBbIjt0aGlzLmJyYWNrZXREaXZzWzBdLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtZGltLWJyYWNrZXRzIik7dGhpcy5yb290RGl2LmFwcGVuZENoaWxkKHRoaXMuYnJhY2tldERpdnNbMF0pO2ZvcihsZXQgZD0wO2Q8dGhpcy5yYW5rOysrZCl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWRpbSIpO2IudGl0bGU9YERpbWVuc2lvbiAke2R9OiBzaXplPSR7dGhpcy5zaGFwZVtkXX1gO3RoaXMucm9vdERpdi5hcHBlbmRDaGlsZChiKTt0aGlzLmRpbUNvbnRyb2xzLnB1c2goYik7CnRoaXMuZGltQ29udHJvbHNMaXN0ZW5lckF0dGFjaGVkLnB1c2goITEpO2I9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtiLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtZGltIik7Yi5zdHlsZS5kaXNwbGF5PSJub25lIjt0aGlzLnJvb3REaXYuYXBwZW5kQ2hpbGQoYik7dGhpcy5kaW1JbnB1dHMucHVzaChiKTtkPHRoaXMucmFuay0xJiYoYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxiLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtZGltLWNvbW1hIiksYi50ZXh0Q29udGVudD0iLCIsdGhpcy5yb290RGl2LmFwcGVuZENoaWxkKGIpLHRoaXMuY29tbWFzLnB1c2goYikpO2I9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWRpbS1kcm9wZG93biIpO2Iuc3R5bGUuZGlzcGxheT0ibm9uZSI7dGhpcy5yb290RGl2LmFwcGVuZENoaWxkKGIpO3RoaXMuZHJvcGRvd25zLnB1c2goYil9dGhpcy5icmFja2V0RGl2c1sxXT0KZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dGhpcy5icmFja2V0RGl2c1sxXS50ZXh0Q29udGVudD0iXSI7dGhpcy5icmFja2V0RGl2c1sxXS5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWRpbS1icmFja2V0cyIpO3RoaXMucm9vdERpdi5hcHBlbmRDaGlsZCh0aGlzLmJyYWNrZXREaXZzWzFdKTt0aGlzLnJvb3REaXYuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsKCk9Pnt0aGlzLmNsZWFyQWxsRHJvcGRvd25zKCl9KX1yZW5kZXIoYil7bnVsbCE9YiYmKHRoaXMuc2xpY2luZ1NwZWM9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShiKSkpO2lmKG51bGw9PT10aGlzLnNsaWNpbmdTcGVjKXRocm93IEVycm9yKCJTbGljaW5nIGNvbnRyb2wgcmVuZGVyaW5nIGZhaWxlZCBkdWUgdG8gbWlzc2luZyBzbGljaW5nIHNwZWMuIik7Y29uc3QgZD10aGlzLnNsaWNpbmdTcGVjLnNsaWNpbmdEaW1zQW5kSW5kaWNlcy5tYXAoZj0+Zi5kaW0pO2I9dGhpcy5zbGljaW5nU3BlYy5zbGljaW5nRGltc0FuZEluZGljZXMubWFwKGY9PgpmLmluZGV4KTtmb3IobGV0IGY9MDtmPHRoaXMucmFuazsrK2Ype2NvbnN0IGg9dGhpcy5kaW1Db250cm9sc1tmXSxrPXRoaXMuZGltSW5wdXRzW2ZdLHI9dGhpcy5kcm9wZG93bnNbZl07aWYoIm5vbmUiIT09ay5zdHlsZS5kaXNwbGF5KWNvbnRpbnVlO2NvbnN0IGw9dGhpcy5zaGFwZVtmXTtpZigtMSE9PWQuaW5kZXhPZihmKSl7Y29uc3QgcD1iW2QuaW5kZXhPZihmKV07aC50ZXh0Q29udGVudD1TdHJpbmcocCk7ay5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWRpbSIpO2sudHlwZT0ibnVtYmVyIjtrLm1pbj0iMCI7ay5tYXg9U3RyaW5nKGwtMSk7ay52YWx1ZT1TdHJpbmcocCk7dGhpcy5kaW1Db250cm9sc0xpc3RlbmVyQXR0YWNoZWRbZl18fChoLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3RoaXMuY2xlYXJBbGxEcm9wZG93bnMoKTtoLnN0eWxlLmRpc3BsYXk9Im5vbmUiO2suc3R5bGUuZGlzcGxheT0iaW5saW5lLWJsb2NrIn0pLGsuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwKKCk9PntpZihudWxsPT09dGhpcy5zbGljaW5nU3BlYyl0aHJvdyBFcnJvcigiU2xpY2luZyBjb250cm9sIGNoYW5nZSBjYWxsYmFjayBmYWlsZWQgZHVlIHRvIG1pc3Npbmcgc3BlYy4iKTtjb25zdCBtPXBhcnNlSW50KGsudmFsdWUsMTApOyFpc0Zpbml0ZShtKXx8MD5tfHxtPj1sfHxNYXRoLmZsb29yKGwpIT1sP2sudmFsdWU9U3RyaW5nKHRoaXMuc2xpY2luZ1NwZWMuc2xpY2luZ0RpbXNBbmRJbmRpY2VzW2QuaW5kZXhPZihmKV0uaW5kZXgpOih0aGlzLnNsaWNpbmdTcGVjLnNsaWNpbmdEaW1zQW5kSW5kaWNlc1tkLmluZGV4T2YoZildLmluZGV4PW0saC50ZXh0Q29udGVudD1TdHJpbmcobSksdGhpcy5vblNsaWNpbmdTcGVjQ2hhbmdlKHRoaXMuc2xpY2luZ1NwZWMpKX0pLGsuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PntrLnN0eWxlLmRpc3BsYXk9Im5vbmUiO2guc3R5bGUuZGlzcGxheT0iaW5saW5lLWJsb2NrIn0pLHRoaXMuZGltQ29udHJvbHNMaXN0ZW5lckF0dGFjaGVkW2ZdPQohMCl9ZWxzZXtpZih0aGlzLnNsaWNpbmdTcGVjLnZpZXdpbmdEaW1zWzBdPT09Zil7aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZSl0aHJvdyBFcnJvcigiTWlzc2luZyB2ZXJ0aWNhbCByYW5nZS4iKTtoLnRleHRDb250ZW50PWBcdTIxOTUgJHt0aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2VbMF19OmArYCR7dGhpcy5zbGljaW5nU3BlYy52ZXJ0aWNhbFJhbmdlWzFdfWB9ZWxzZXtpZihudWxsPT09dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2UpdGhyb3cgRXJyb3IoIk1pc3NpbmcgaG9yaXpvbnRhbCByYW5nZS4iKTtoLnRleHRDb250ZW50PWBcdTIxOTQgJHt0aGlzLnNsaWNpbmdTcGVjLmhvcml6b250YWxSYW5nZVswXX06YCtgJHt0aGlzLnNsaWNpbmdTcGVjLmhvcml6b250YWxSYW5nZVsxXX1gfWguY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC1kaW0iKTt0aGlzLmRpbUNvbnRyb2xzTGlzdGVuZXJBdHRhY2hlZFtmXXx8KGguYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLAooKT0+e2NvbnN0IHA9aC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLnJlbmRlckRyb3Bkb3duTWVudUl0ZW1zKHIscC5ib3R0b20scC5sZWZ0LGYpfSksdGhpcy5kaW1Db250cm9sc0xpc3RlbmVyQXR0YWNoZWRbZl09ITApfX19cmVuZGVyRHJvcGRvd25NZW51SXRlbXMoYixkLGYsaCl7aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMpdGhyb3cgRXJyb3IoIlNsaWNpbmcgY29udHJvbCBjYW5ub3QgcmVuZGVyIGRyb3Bkb3duIG1lbnUgaXRlbXMgZHVlIHRvIG1pc3Npbmcgc2xpY2luZyBzcGVjLiIpO3RoaXMuY2xlYXJBbGxEcm9wZG93bnMoKTtjb25zdCBrPXRoaXMuc2xpY2luZ1NwZWMuc2xpY2luZ0RpbXNBbmRJbmRpY2VzLm1hcChyPT5yLmRpbSk7Zm9yKGxldCByPTA7cjx0aGlzLnJhbms7KytyKXtpZigtMT09PWsuaW5kZXhPZihyKSljb250aW51ZTtpZihoPT09dGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1sxXSYmcjw9dGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1swXXx8Cmg9PXRoaXMuc2xpY2luZ1NwZWMudmlld2luZ0RpbXNbMF0mJnI+PXRoaXMuc2xpY2luZ1NwZWMudmlld2luZ0RpbXNbMV0pY29udGludWU7Y29uc3QgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtsLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtZGltLWRyb3Bkb3duLW1lbnUtaXRlbSIpO2wudGV4dENvbnRlbnQ9YFN3YXAgd2l0aCBkaW1lbnNpb24gJHtyfWA7Yi5hcHBlbmRDaGlsZChsKTtsLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLCgpPT57bC5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWRpbS1kcm9wZG93bi1tZW51LWl0ZW0tYWN0aXZlIik7dGhpcy5kaW1Db250cm9sc1tyXS5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWRpbS1oaWdobGlnaHRlZCIpfSk7bC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwoKT0+e2wuY2xhc3NMaXN0LnJlbW92ZSgidGVuc29yLXdpZGdldC1kaW0tZHJvcGRvd24tbWVudS1pdGVtLWFjdGl2ZSIpOwp0aGlzLmRpbUNvbnRyb2xzW3JdLmNsYXNzTGlzdC5yZW1vdmUoInRlbnNvci13aWRnZXQtZGltLWhpZ2hsaWdodGVkIil9KTtjb25zdCBwPXRoaXMuc2xpY2luZ1NwZWMudmlld2luZ0RpbXNbMF09PT1oO2wuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMpdGhyb3cgRXJyb3IoIkRpbWVuc2lvbiBzd2FwcGluZyBmYWlsZWQgZHVlIHRvIG1pc3Npbmcgc2xpY2luZyBzcGVjIik7Y29uc3QgbT1rLmluZGV4T2Yocik7dGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1twPzA6MV09cjt0aGlzLnNsaWNpbmdTcGVjLnNsaWNpbmdEaW1zQW5kSW5kaWNlc1ttXT17ZGltOmgsaW5kZXg6MH07dGhpcy5zbGljaW5nU3BlYy52ZXJ0aWNhbFJhbmdlPW51bGw7dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2U9bnVsbDtpZih0aGlzLm9uU2xpY2luZ1NwZWNDaGFuZ2UpdGhpcy5vblNsaWNpbmdTcGVjQ2hhbmdlKHRoaXMuc2xpY2luZ1NwZWMpfSl9Yi5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwKKCk9PntiLnN0eWxlLmRpc3BsYXk9Im5vbmUifSk7aWYoYi5maXJzdENoaWxkKXtiLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCI7Yi5zdHlsZS50b3A9YCR7ZH1weGA7Yi5zdHlsZS5sZWZ0PWAke2Z9cHhgO2Iuc3R5bGUuZGlzcGxheT0iYmxvY2siO2NvbnN0IHI9Yi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxsPXIubGVmdC1mO2Iuc3R5bGUudG9wPShkLShyLnRvcC1kKSkudG9GaXhlZCgxKSsicHgiO2Iuc3R5bGUubGVmdD0oZi1sKS50b0ZpeGVkKDEpKyJweCJ9fXNldFNsaWNpbmdTcGVjKGIpe3RoaXMuc2xpY2luZ1NwZWM9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShiKSk7aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMpdGhyb3cgRXJyb3IoIkNhbm5vdCBzZXQgc2xpY2luZyBzcGVjIHRvIG51bGwuIik7dGhpcy5yZW5kZXIodGhpcy5zbGljaW5nU3BlYyl9Y2xlYXJBbGxEcm9wZG93bnMoKXt0aGlzLmRyb3Bkb3ducy5mb3JFYWNoKGI9PntpZihudWxsIT1iKXtmb3IoO2IuZmlyc3RDaGlsZDspYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQpOwpiLnN0eWxlLmRpc3BsYXk9Im5vbmUifX0pfX1mdW5jdGlvbiBRayhiKXtyZXR1cm4gMjA+PWIubGVuZ3RoP2I6Yi5zbGljZSgwLDEwKSsiLi4uIitiLnNsaWNlKGIubGVuZ3RoLTcsYi5sZW5ndGgpfWZ1bmN0aW9uIFJrKGIsZCl7aWYoaXNOYU4oYikpcmV0dXJuIk5hTiI7aWYoLUluZmluaXR5PT09YilyZXR1cm4iLVx1MjIxZSI7aWYoSW5maW5pdHk9PT1iKXJldHVybiIrXHUyMjFlIjtpZihudWxsPT1mKXt2YXIgZj1NYXRoLmFicyhiKTtmPTFFMz5mJiYuMDE8PWZ8fDA9PT1mPyJmaXhlZCI6ImV4cG9uZW50aWFsIn1yZXR1cm4gbnVsbD09Znx8ImZpeGVkIj09PWY/ZD9gJHtifWA6Yi50b0ZpeGVkKDIpOmIudG9FeHBvbmVudGlhbCgyKX1mdW5jdGlvbiBTayhiLGQ9ITApe3JldHVybiBiP2Q/IlQiOiJUcnVlIjpkPyJGIjoiRmFsc2UifWZ1bmN0aW9uIFRrKGIsZD00KXtyZXR1cm4gbnVsbD09PWR8fGIubGVuZ3RoPD1kP2I6Yi5zbGljZSgwLGQtMSkrIlx1MjAyNiJ9CmNsYXNzIFVre2NvbnN0cnVjdG9yKGIpe3RoaXMuY29uZmlnPWI7aWYoIWlzRmluaXRlKGIubWluKSl0aHJvdyBFcnJvcihgbWluIHZhbHVlICgke2IubWlufSkgaXMgbm90IGZpbml0ZWApO2lmKCFpc0Zpbml0ZShiLm1heCkpdGhyb3cgRXJyb3IoYG1heCB2YWx1ZSAoJHtiLm1heH0pIGlzIG5vdCBmaW5pdGVgKTtpZihiLm1heDxiLm1pbil0aHJvdyBFcnJvcihgbWF4ICgke2IubWF4fSkgaXMgPCBtaW4gKCR7Yi5taW59KWApO31yZW5kZXIoYixkKXtpZih0aGlzLmNvbmZpZy5taW4hPT10aGlzLmNvbmZpZy5tYXgpe3ZhciBmPWIuZ2V0Q29udGV4dCgiMmQiKTtpZihudWxsIT1mKXt2YXIgaD1iLndpZHRoLzEwMCxrPWIuaGVpZ2h0LHI9LjYqaztmb3IobGV0IGw9MDsxMDA+bDsrK2wpe2NvbnN0IHA9aCpsLG09LjIqayxbbixxLHVdPXRoaXMuZ2V0UkdCKGwvMTAwKih0aGlzLmNvbmZpZy5tYXgtdGhpcy5jb25maWcubWluKSt0aGlzLmNvbmZpZy5taW4pO2YuYmVnaW5QYXRoKCk7Zi5maWxsU3R5bGU9CmByZ2JhKCR7bn0sICR7cX0sICR7dX0sIDEpYDtmLmZpbGxSZWN0KHAsbSxoLHIpO2Yuc3Ryb2tlKCl9bnVsbCE9ZCYmZD49dGhpcy5jb25maWcubWluJiZkPD10aGlzLmNvbmZpZy5tYXgmJihiPShkLXRoaXMuY29uZmlnLm1pbikvKHRoaXMuY29uZmlnLm1heC10aGlzLmNvbmZpZy5taW4pKmIud2lkdGgsZi5iZWdpblBhdGgoKSxmLmZpbGxTdHlsZT0icmdiYSgwLCAwLCAwLCAxKSIsZi5tb3ZlVG8oYiwuMiprKSxmLmxpbmVUbyhiLTQsMCksZi5saW5lVG8oYis0LDApLGYuZmlsbCgpLGYuYmVnaW5QYXRoKCksZi5tb3ZlVG8oYiwuOCprKSxmLmxpbmVUbyhiLTQsayksZi5saW5lVG8oYis0LGspLGYuZmlsbCgpKX19fX0KY2xhc3MgVmsgZXh0ZW5kcyBVa3tnZXRSR0IoYil7aWYoaXNOYU4oYikpcmV0dXJuWzI1NSwwLDBdO2lmKCFpc0Zpbml0ZShiKSlyZXR1cm4gMDxiP1swLDAsMjU1XTpbMjU1LDEyNy41LDBdO2I9dGhpcy5jb25maWcubWluPT09dGhpcy5jb25maWcubWF4Py41OihiLXRoaXMuY29uZmlnLm1pbikvKHRoaXMuY29uZmlnLm1heC10aGlzLmNvbmZpZy5taW4pO2I9TWF0aC5tYXgoTWF0aC5taW4oYiwxKSwwKTtyZXR1cm5bMjU1KmIsMjU1KmIsMjU1KmJdfX0KY2xhc3MgV2sgZXh0ZW5kcyBVa3tnZXRSR0IoYil7aWYoaXNOYU4oYikpcmV0dXJuWzYzLjc1LDYzLjc1LDYzLjc1XTtpZighaXNGaW5pdGUoYikpcmV0dXJuIDA+Yj9bMTI3LjUsMTI3LjUsMTI3LjVdOlsxOTEuMjUsMTkxLjI1LDE5MS4yNV07bGV0IGQ9MCxmPTAsaD0wO2I9dGhpcy5jb25maWcubWluPT09dGhpcy5jb25maWcubWF4Py41OihiLXRoaXMuY29uZmlnLm1pbikvKHRoaXMuY29uZmlnLm1heC10aGlzLmNvbmZpZy5taW4pO2I9TWF0aC5tYXgoTWF0aC5taW4oYiwxKSwwKTsuMzU+PWI/KGY9Yi8uMzUsaD0xKTouMzU8YiYmLjY1Pj1iPyhkPShiLS4zNSkvKC42NS0uMzUpLGY9MSxoPSguNjUtYikvKC42NS0uMzUpKTouNjU8YiYmKGQ9MSxmPSgxLWIpLy4zNSk7cmV0dXJuWzI1NSpkLDI1NSpmLDI1NSpoXX19CkpoPWZ1bmN0aW9uKGIsZCxmLGgpe2Z1bmN0aW9uIGsocil7cmV0dXJuIHIgaW5zdGFuY2VvZiBmP3I6bmV3IGYoZnVuY3Rpb24obCl7bChyKX0pfXJldHVybiBuZXcgKGZ8fChmPVByb21pc2UpKShmdW5jdGlvbihyLGwpe2Z1bmN0aW9uIHAocSl7dHJ5e24oaC5uZXh0KHEpKX1jYXRjaCh1KXtsKHUpfX1mdW5jdGlvbiBtKHEpe3RyeXtuKGhbInRocm93Il0ocSkpfWNhdGNoKHUpe2wodSl9fWZ1bmN0aW9uIG4ocSl7cS5kb25lP3IocS52YWx1ZSk6ayhxLnZhbHVlKS50aGVuKHAsbSl9bigoaD1oLmFwcGx5KGIsZHx8W10pKS5uZXh0KCkpfSl9O3ZhciBYazsoZnVuY3Rpb24oYil7YltiLlRFWFQ9MV09IlRFWFQiO2JbYi5JTUFHRT0yXT0iSU1BR0UifSkoWGt8fChYaz17fSkpO2NvbnN0IFlrPXtHcmF5c2NhbGU6VmssSmV0OldrfTsKY2xhc3MgWmt7Y29uc3RydWN0b3IoYixkLGYpe3RoaXMucm9vdEVsZW1lbnQ9Yjt0aGlzLnRlbnNvclZpZXc9ZDt0aGlzLmJhc2VSdWxlclRpY2s9dGhpcy50b3BSdWxlcj10aGlzLnZhbHVlU2VjdGlvbj10aGlzLnNsaWNpbmdTcGVjUm9vdD10aGlzLm1lbnVUaHVtYj10aGlzLmluZm9TdWJzZWN0aW9uPXRoaXMuaGVhZGVyU2VjdGlvbj1udWxsO3RoaXMudG9wUnVsZXJUaWNrcz1bXTt0aGlzLmxlZnRSdWxlclRpY2tzPVtdO3RoaXMudmFsdWVSb3dzPVtdO3RoaXMudmFsdWVEaXZzPVtdO3RoaXMuc2xpY2luZ0NvbnRyb2w9dGhpcy52YWx1ZVRvb2x0aXA9bnVsbDt0aGlzLmNvbHNDdXRvZmY9dGhpcy5yb3dzQ3V0b2ZmPSExO3RoaXMubWVudT10aGlzLm1lbnVDb25maWc9dGhpcy5zZWxlY3Rpb249bnVsbDt0aGlzLmNvbG9yTWFwTmFtZT0iR3JheXNjYWxlIjt0aGlzLmNvbG9yTWFwPW51bGw7dGhpcy5zaG93SW5kaWNlc09uVGlja3M9ITE7dGhpcy5pbWFnZUNlbGxTaXplPTE2O3RoaXMubWluSW1hZ2VDZWxsU2l6ZT0KNDt0aGlzLm1heEltYWdlQ2VsbFNpemU9NDA7dGhpcy56b29tU3RlcFJhdGlvPTEuMjt0aGlzLm51bWVyaWNTdW1tYXJ5PW51bGw7dGhpcy5vcHRpb25zPWZ8fHt9O3RoaXMuc2xpY2luZ1NwZWM9ZGoodGhpcy50ZW5zb3JWaWV3LnNwZWMuc2hhcGUpO3RoaXMucmFuaz10aGlzLnRlbnNvclZpZXcuc3BlYy5zaGFwZS5sZW5ndGg7dGhpcy52YWx1ZVJlbmRlck1vZGU9WGsuVEVYVH1yZW5kZXIoKXtyZXR1cm4gSmgodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3RoaXMucm9vdEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldCIpO3RoaXMucmVuZGVySGVhZGVyKCk7aWYoIShMaCh0aGlzLnRlbnNvclZpZXcuc3BlYy5kdHlwZSl8fE1oKHRoaXMudGVuc29yVmlldy5zcGVjLmR0eXBlKXx8WWkodGhpcy50ZW5zb3JWaWV3LnNwZWMuZHR5cGUpfHxaaSh0aGlzLnRlbnNvclZpZXcuc3BlYy5kdHlwZSkpKXRocm93IEVycm9yKGBSZW5kZXJpbmcgZHR5cGUgJHt0aGlzLnRlbnNvclZpZXcuc3BlYy5kdHlwZX0gaXMgbm90IHN1cHBvcnRlZCB5ZXQuYCk7CnlpZWxkIHRoaXMucmVuZGVyVmFsdWVzKCl9KX1yZW5kZXJIZWFkZXIoKXtudWxsPT10aGlzLmhlYWRlclNlY3Rpb24mJih0aGlzLmhlYWRlclNlY3Rpb249ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5oZWFkZXJTZWN0aW9uLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtaGVhZGVyIiksdGhpcy5yb290RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmhlYWRlclNlY3Rpb24pLHRoaXMuY3JlYXRlTWVudSgpKTt0aGlzLnJlbmRlckluZm8oKX1yZW5kZXJJbmZvKCl7aWYobnVsbD09PXRoaXMuaGVhZGVyU2VjdGlvbil0aHJvdyBFcnJvcigiUmVuZGVyaW5nIHRlbnNvciBpbmZvIGZhaWxlZCBkdWUgdG8gbWlzaW5nIGhlYWRlciBzZWN0aW9uIik7bnVsbD09dGhpcy5pbmZvU3Vic2VjdGlvbiYmKHRoaXMuaW5mb1N1YnNlY3Rpb249ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5pbmZvU3Vic2VjdGlvbi5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LWluZm8iKSwKdGhpcy5oZWFkZXJTZWN0aW9uLmFwcGVuZENoaWxkKHRoaXMuaW5mb1N1YnNlY3Rpb24pKTtmb3IoO3RoaXMuaW5mb1N1YnNlY3Rpb24uZmlyc3RDaGlsZDspdGhpcy5pbmZvU3Vic2VjdGlvbi5yZW1vdmVDaGlsZCh0aGlzLmluZm9TdWJzZWN0aW9uLmZpcnN0Q2hpbGQpO3RoaXMucmVuZGVyTmFtZSgpO3RoaXMucmVuZGVyRFR5cGUoKTt0aGlzLnJlbmRlclNoYXBlKCl9cmVuZGVyTmFtZSgpe2lmKG51bGw9PXRoaXMuaW5mb1N1YnNlY3Rpb24pdGhyb3cgRXJyb3IoIlJlbmRlcmluZyB0ZW5zb3IgbmFtZSBmYWlsZWQgZHVlIHRvIG1pc3NpbmcgaW5mbyBzdWJzZWN0aW9uLiIpO2lmKG51bGwhPXRoaXMub3B0aW9ucy5uYW1lJiYwIT09dGhpcy5vcHRpb25zLm5hbWUubGVuZ3RoKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtdGVuc29yLW5hbWUiKTtiLnRleHRDb250ZW50PVFrKHRoaXMub3B0aW9ucy5uYW1lKTsKYi50aXRsZT10aGlzLm9wdGlvbnMubmFtZTt0aGlzLmluZm9TdWJzZWN0aW9uLmFwcGVuZENoaWxkKGIpfX1yZW5kZXJEVHlwZSgpe2lmKG51bGw9PXRoaXMuaW5mb1N1YnNlY3Rpb24pdGhyb3cgRXJyb3IoIlJlbmRlcmluZyB0ZW5zb3IgZHR5cGUgZmFpbGVkIGR1ZSB0byBtaXNzaW5nIGluZm8gc3Vic2VjdGlvbi4iKTtjb25zdCBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2IuY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC1kdHlwZSIpO3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtkLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtZHR5cGUtbGFiZWwiKTtkLnRleHRDb250ZW50PSJkdHlwZToiO2IuYXBwZW5kQ2hpbGQoZCk7ZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7ZC50ZXh0Q29udGVudD10aGlzLnRlbnNvclZpZXcuc3BlYy5kdHlwZTtiLmFwcGVuZENoaWxkKGQpO3RoaXMuaW5mb1N1YnNlY3Rpb24uYXBwZW5kQ2hpbGQoYil9cmVuZGVyU2hhcGUoKXtpZihudWxsPT0KdGhpcy5pbmZvU3Vic2VjdGlvbil0aHJvdyBFcnJvcigiUmVuZGVyaW5nIHRlbnNvciBzaGFwZSBmYWlsZWQgZHVlIHRvIG1pc3NpbmcgaW5mbyBzdWJzZWN0aW9uLiIpO2NvbnN0IGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LXNoYXBlIik7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZC5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LXNoYXBlLWxhYmVsIik7ZC50ZXh0Q29udGVudD0ic2hhcGU6IjtiLmFwcGVuZENoaWxkKGQpO2Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZC5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LXNoYXBlLXZhbHVlIik7ZC50ZXh0Q29udGVudD1jaih0aGlzLnRlbnNvclZpZXcuc3BlYy5zaGFwZSk7Yi5hcHBlbmRDaGlsZChkKTt0aGlzLmluZm9TdWJzZWN0aW9uLmFwcGVuZENoaWxkKGIpfWNyZWF0ZU1lbnUoKXt0aGlzLm1lbnVDb25maWc9e2l0ZW1zOltdfTsKaWYoTWgodGhpcy50ZW5zb3JWaWV3LnNwZWMuZHR5cGUpfHxMaCh0aGlzLnRlbnNvclZpZXcuc3BlYy5kdHlwZSl8fFlpKHRoaXMudGVuc29yVmlldy5zcGVjLmR0eXBlKSl0aGlzLm1lbnVDb25maWcuaXRlbXMucHVzaCh7Y2FwdGlvbjoiU2VsZWN0IGRpc3BsYXkgbW9kZS4uLiIsb3B0aW9uczpbIlRleHQiLCJJbWFnZSJdLGRlZmF1bHRTZWxlY3Rpb246MCxjYWxsYmFjazpiPT57MD09PWI/KHRoaXMudmFsdWVSZW5kZXJNb2RlPVhrLlRFWFQsdGhpcy5yZW5kZXJWYWx1ZXMoKSk6KHRoaXMudmFsdWVSZW5kZXJNb2RlPVhrLklNQUdFLHRoaXMudGVuc29yVmlldy5nZXROdW1lcmljU3VtbWFyeSgpLnRoZW4oZD0+e3RoaXMubnVtZXJpY1N1bW1hcnk9ZDt0aGlzLnJlbmRlclZhbHVlcygpfSkpfX0pLHRoaXMubWVudUNvbmZpZy5pdGVtcy5wdXNoKHtjYXB0aW9uOiJTZWxlY3QgY29sb3IgbWFwLi4uIixvcHRpb25zOk9iamVjdC5rZXlzKFlrKSxkZWZhdWx0U2VsZWN0aW9uOjAsY2FsbGJhY2s6Yj0+Cnt0aGlzLmNvbG9yTWFwTmFtZT1PYmplY3Qua2V5cyhZaylbYl07dGhpcy5yZW5kZXJWYWx1ZXMoKX0saXNFbmFibGVkOigpPT50aGlzLnZhbHVlUmVuZGVyTW9kZT09PVhrLklNQUdFfSksdGhpcy5tZW51Q29uZmlnLml0ZW1zLnB1c2goe2NhcHRpb246Ilpvb20gaW4gKEltYWdlIG1vZGUpIixjYWxsYmFjazooKT0+e3RoaXMuem9vbUluT25lU3RlcEFuZFJlbmRlclZhbHVlcygpfSxpc0VuYWJsZWQ6KCk9PnRoaXMudmFsdWVSZW5kZXJNb2RlPT09WGsuSU1BR0V9KSx0aGlzLm1lbnVDb25maWcuaXRlbXMucHVzaCh7Y2FwdGlvbjoiWm9vbSBvdXQgKEltYWdlIG1vZGUpIixjYWxsYmFjazooKT0+e3RoaXMuem9vbU91dE9uZVN0ZXBBbmRSZW5kZXJWYWx1ZXMoKX0saXNFbmFibGVkOigpPT50aGlzLnZhbHVlUmVuZGVyTW9kZT09PVhrLklNQUdFfSk7bnVsbCE9PXRoaXMubWVudUNvbmZpZyYmMDx0aGlzLm1lbnVDb25maWcuaXRlbXMubGVuZ3RoJiYodGhpcy5tZW51PW5ldyBhaih0aGlzLm1lbnVDb25maWcsCnRoaXMuaGVhZGVyU2VjdGlvbiksdGhpcy5yZW5kZXJNZW51VGh1bWIoKSl9em9vbUluT25lU3RlcEFuZFJlbmRlclZhbHVlcygpe3RoaXMuaW1hZ2VDZWxsU2l6ZSp0aGlzLnpvb21TdGVwUmF0aW88PXRoaXMubWF4SW1hZ2VDZWxsU2l6ZSYmKHRoaXMuaW1hZ2VDZWxsU2l6ZSo9dGhpcy56b29tU3RlcFJhdGlvLHRoaXMucmVuZGVyVmFsdWVzKCkpfXpvb21PdXRPbmVTdGVwQW5kUmVuZGVyVmFsdWVzKCl7dGhpcy5pbWFnZUNlbGxTaXplL3RoaXMuem9vbVN0ZXBSYXRpbz49dGhpcy5taW5JbWFnZUNlbGxTaXplJiYodGhpcy5pbWFnZUNlbGxTaXplLz10aGlzLnpvb21TdGVwUmF0aW8sdGhpcy5yZW5kZXJWYWx1ZXMoKSl9cmVuZGVyTWVudVRodW1iKCl7aWYobnVsbD09dGhpcy5oZWFkZXJTZWN0aW9uKXRocm93IEVycm9yKCJSZW5kZXJpbmcgbWVudSB0aHVtYiBmYWlsZWQgZHVlIHRvIG1pc3NpbmcgaGVhZGVyIHNlY3Rpb24uIik7dGhpcy5tZW51VGh1bWI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CnRoaXMubWVudVRodW1iLnRleHRDb250ZW50PSJcdTIyZWUiO3RoaXMubWVudVRodW1iLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtbWVudS10aHVtYiIpO3RoaXMuaGVhZGVyU2VjdGlvbi5hcHBlbmRDaGlsZCh0aGlzLm1lbnVUaHVtYik7dGhpcy5tZW51VGh1bWIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57aWYobnVsbCE9PXRoaXMubWVudSlpZih0aGlzLm1lbnUuc2hvd24oKSl0aGlzLm1lbnUuaGlkZSgpO2Vsc2V7Y29uc3QgYj10aGlzLm1lbnVUaHVtYi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLm1lbnUuc2hvdyhiLmJvdHRvbSxiLmxlZnQpfX0pfXJlbmRlclZhbHVlcygpe3JldHVybiBKaCh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7Mjx0aGlzLnJhbmsmJm51bGw9PT10aGlzLnNsaWNpbmdTcGVjUm9vdCYmKHRoaXMuc2xpY2luZ1NwZWNSb290PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuc2xpY2luZ1NwZWNSb290LmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtc2xpY2luZy1ncm91cCIpLAp0aGlzLnJvb3RFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuc2xpY2luZ1NwZWNSb290KSk7bnVsbD09dGhpcy52YWx1ZVNlY3Rpb24mJih0aGlzLnZhbHVlU2VjdGlvbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLnZhbHVlU2VjdGlvbi5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LXZhbHVlLXNlY3Rpb24iKSx0aGlzLnJvb3RFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMudmFsdWVTZWN0aW9uKSx0aGlzLnZhbHVlU2VjdGlvbi5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsYj0+SmgodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe2xldCBkPSExO251bGw9PXRoaXMub3B0aW9ucy53aGVlbFpvb21LZXl8fCJjdHJsIj09PXRoaXMub3B0aW9ucy53aGVlbFpvb21LZXk/ZD1iLmN0cmxLZXk6ImFsdCI9PT10aGlzLm9wdGlvbnMud2hlZWxab29tS2V5P2Q9Yi5hbHRLZXk6InNoaWZ0Ij09PXRoaXMub3B0aW9ucy53aGVlbFpvb21LZXkmJihkPWIuc2hpZnRLZXkpOwpkJiZ0aGlzLnZhbHVlUmVuZGVyTW9kZT09PVhrLklNQUdFPyhiLnN0b3BQcm9wYWdhdGlvbigpLGIucHJldmVudERlZmF1bHQoKSwwPGIuZGVsdGFZP3RoaXMuem9vbU91dE9uZVN0ZXBBbmRSZW5kZXJWYWx1ZXMoKTp0aGlzLnpvb21Jbk9uZVN0ZXBBbmRSZW5kZXJWYWx1ZXMoKSk6bnVsbCE9dGhpcy5zZWxlY3Rpb24mJihiLnN0b3BQcm9wYWdhdGlvbigpLGIucHJldmVudERlZmF1bHQoKSx0aGlzLmhpZGVWYWx1ZVRvb2x0aXAoKSx5aWVsZCB0aGlzLnNjcm9sbFVwT3JEb3duKDA8Yi5kZWx0YVk/ZmouRE9XTjpmai5VUCkpfSkpLHRoaXMudmFsdWVTZWN0aW9uLnRhYkluZGV4PTEwMjQsdGhpcy52YWx1ZVNlY3Rpb24uYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYj0+e3ZhciBkPVszOCw0MCwzNywzOV07aWYobnVsbCE9dGhpcy5zZWxlY3Rpb24mJi0xIT09ZC5pbmRleE9mKGIua2V5Q29kZSkpe2Iuc3RvcFByb3BhZ2F0aW9uKCk7Yi5wcmV2ZW50RGVmYXVsdCgpO3RoaXMuaGlkZVZhbHVlVG9vbHRpcCgpOwpsZXQgZj1kPW51bGw7Mzg9PT1iLmtleUNvZGU/Zj1mai5VUDo0MD09PWIua2V5Q29kZT9mPWZqLkRPV046Mzc9PT1iLmtleUNvZGU/Zj1mai5MRUZUOjM5PT09Yi5rZXlDb2RlJiYoZj1mai5SSUdIVCk7bnVsbCE9PWYmJihkPXRoaXMuc2VsZWN0aW9uLm1vdmUoZix0aGlzLnNsaWNpbmdTcGVjKSk7bnVsbD09PWQ/dGhpcy5yZW5kZXJTZWxlY3Rpb24oKTpkPT09ZmouVVB8fGQ9PT1mai5ET1dOP3RoaXMuc2Nyb2xsVXBPckRvd24oZCk6KGQ9PT1mai5MRUZUfHxkPT09ZmouUklHSFQpJiZ0aGlzLnNjcm9sbExlZnRPclJpZ2h0KGQpfX0pKTt0aGlzLmNsZWFyVmFsdWVTZWN0aW9uKCk7dGhpcy5jcmVhdGVUb3BSdWxlcigpO3RoaXMuY3JlYXRlTGVmdFJ1bGVyKCk7dGhpcy5jcmVhdGVWYWx1ZURpdnMoKTt5aWVsZCB0aGlzLnJlbmRlclJ1bGVyc0FuZFZhbHVlRGl2cygpOzI8dGhpcy5yYW5rJiYodGhpcy5zbGljaW5nQ29udHJvbD1uZXcgaGoodGhpcy5zbGljaW5nU3BlY1Jvb3QsdGhpcy50ZW5zb3JWaWV3LnNwZWMuc2hhcGUsCmI9PkpoKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtlaih0aGlzLnNsaWNpbmdTcGVjLGIpPyh0aGlzLnNsaWNpbmdTcGVjPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYikpLHlpZWxkIHRoaXMucmVuZGVyUnVsZXJzQW5kVmFsdWVEaXZzKCkpOih0aGlzLnNsaWNpbmdTcGVjPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYikpLHlpZWxkIHRoaXMucmVuZGVyKCkpfSkpLHRoaXMuc2xpY2luZ0NvbnRyb2wucmVuZGVyKHRoaXMuc2xpY2luZ1NwZWMpKX0pfWNsZWFyVmFsdWVTZWN0aW9uKCl7aWYobnVsbCE9PXRoaXMudmFsdWVTZWN0aW9uKXtmb3IoO3RoaXMudmFsdWVTZWN0aW9uLmZpcnN0Q2hpbGQ7KXRoaXMudmFsdWVTZWN0aW9uLnJlbW92ZUNoaWxkKHRoaXMudmFsdWVTZWN0aW9uLmZpcnN0Q2hpbGQpO3RoaXMudG9wUnVsZXI9bnVsbDt0aGlzLnZhbHVlUm93cz1bXX19Y3JlYXRlVG9wUnVsZXIoKXtpZihudWxsPT09dGhpcy52YWx1ZVNlY3Rpb24pdGhyb3cgRXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgdG9wIHJ1bGVyIGR1ZSB0byBtaXNzaW5nIHZhbHVlIHNlY3Rpb24uIik7Cm51bGw9PXRoaXMudG9wUnVsZXImJih0aGlzLnRvcFJ1bGVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMudG9wUnVsZXIuY2xhc3NMaXN0LmFkZCgidGVuZXNvci13aWRnZXQtdG9wLXJ1bGVyIiksdGhpcy50b3BSdWxlci5zdHlsZS53aGl0ZVNwYWNlPSJub3dyYXAiLHRoaXMudmFsdWVTZWN0aW9uLmFwcGVuZENoaWxkKHRoaXMudG9wUnVsZXIpLHRoaXMudG9wUnVsZXJUaWNrcz1bXSx0aGlzLnRvcFJ1bGVyLmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixmPT5KaCh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7bnVsbCE9dGhpcy5zZWxlY3Rpb24mJihmLnN0b3BQcm9wYWdhdGlvbigpLGYucHJldmVudERlZmF1bHQoKSx0aGlzLmhpZGVWYWx1ZVRvb2x0aXAoKSx5aWVsZCB0aGlzLnNjcm9sbExlZnRPclJpZ2h0KDA8Zi5kZWx0YVk/ZmouUklHSFQ6ZmouTEVGVCkpfSkpKTtmb3IoO3RoaXMudG9wUnVsZXIuZmlyc3RDaGlsZDspdGhpcy50b3BSdWxlci5yZW1vdmVDaGlsZCh0aGlzLnRvcFJ1bGVyLmZpcnN0Q2hpbGQpOwp0aGlzLmJhc2VSdWxlclRpY2s9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dGhpcy5iYXNlUnVsZXJUaWNrLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtdG9wLXJ1bGVyLXRpY2siKTt0aGlzLnRvcFJ1bGVyLmFwcGVuZENoaWxkKHRoaXMuYmFzZVJ1bGVyVGljayk7Mjw9dGhpcy5yYW5rJiYodGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2U9WzAsbnVsbF0pO2xldCBiO2I9MT49dGhpcy5yYW5rPzE6dGhpcy50ZW5zb3JWaWV3LnNwZWMuc2hhcGVbdGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1sxXV07Y29uc3QgZD10aGlzLnJvb3RFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0O3RoaXMuY29sc0N1dG9mZj0hMTtmb3IobGV0IGY9MDtmPGI7KytmKXtjb25zdCBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2guY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC10b3AtcnVsZXItdGljayIpO3RoaXMudmFsdWVSZW5kZXJNb2RlPT09ClhrLklNQUdFJiYoaC5zdHlsZS53aWR0aD1gJHt0aGlzLmltYWdlQ2VsbFNpemV9cHhgKTt0aGlzLnRvcFJ1bGVyLmFwcGVuZENoaWxkKGgpO3RoaXMudG9wUnVsZXJUaWNrcy5wdXNoKGgpO2lmKGguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHQ+PWQpe2lmKDI8PXRoaXMucmFuayl7aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlKXRocm93IEVycm9yKGBNaXNzaW5nIGhvcml6b250YWwgcmFuZ2UgZm9yICR7dGhpcy5yYW5rfUQgdGVuc29yLmApO3RoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlWzFdPWYrMTt0aGlzLmNvbHNDdXRvZmY9ITB9YnJlYWt9fWlmKCF0aGlzLmNvbHNDdXRvZmYmJjI8PXRoaXMucmFuayl7aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlKXRocm93IEVycm9yKGBNaXNzaW5nIGhvcml6b250YWwgcmFuZ2UgZm9yICR7dGhpcy5yYW5rfUQgdGVuc29yLmApO3RoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlWzFdPQpifX1jcmVhdGVMZWZ0UnVsZXIoKXtpZihudWxsPT09dGhpcy52YWx1ZVNlY3Rpb24pdGhyb3cgRXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgbGVmdCBydWxlciBkdWUgdG8gbWlzc2luZyB2YWx1ZSBzZWN0aW9uLiIpO3RoaXMudmFsdWVSb3dzPVtdO3RoaXMubGVmdFJ1bGVyVGlja3M9W107MTw9dGhpcy5yYW5rJiYodGhpcy5zbGljaW5nU3BlYy52ZXJ0aWNhbFJhbmdlPVswLG51bGxdKTtsZXQgYjtiPTA9PT10aGlzLnJhbms/MTp0aGlzLnRlbnNvclZpZXcuc3BlYy5zaGFwZVt0aGlzLnNsaWNpbmdTcGVjLnZpZXdpbmdEaW1zWzBdXTt0aGlzLnJvd3NDdXRvZmY9ITE7Y29uc3QgZD10aGlzLnJvb3RFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbTtmb3IobGV0IGY9MDtmPGI7KytmKXtjb25zdCBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2guY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC12YWx1ZS1yb3ciKTt0aGlzLnZhbHVlUmVuZGVyTW9kZT09PQpYay5JTUFHRSYmKGguc3R5bGUuaGVpZ2h0PWAke3RoaXMuaW1hZ2VDZWxsU2l6ZX1weGAsaC5zdHlsZS5saW5lSGVpZ2h0PWAke3RoaXMuaW1hZ2VDZWxsU2l6ZX1weGApO3RoaXMudmFsdWVTZWN0aW9uLmFwcGVuZENoaWxkKGgpO3RoaXMudmFsdWVSb3dzLnB1c2goaCk7Y29uc3Qgaz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtrLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtdG9wLXJ1bGVyLXRpY2siKTt0aGlzLnZhbHVlUmVuZGVyTW9kZT09PVhrLklNQUdFJiYoay5zdHlsZS5oZWlnaHQ9YCR7dGhpcy5pbWFnZUNlbGxTaXplfXB4YCxrLnN0eWxlLmxpbmVIZWlnaHQ9YCR7dGhpcy5pbWFnZUNlbGxTaXplfXB4YCk7aC5hcHBlbmRDaGlsZChrKTt0aGlzLmxlZnRSdWxlclRpY2tzLnB1c2goayk7aWYoay5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b20+PWQpe2lmKDE8PXRoaXMucmFuayl7aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZSl0aHJvdyBFcnJvcihgTWlzc2luZyB2ZXJ0aWNhbCByYW5nZSBmb3IgJHt0aGlzLnJhbmt9RCB0ZW5zb3IuYCk7CnRoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZVsxXT1mKzE7dGhpcy5yb3dzQ3V0b2ZmPSEwfWJyZWFrfX1pZighdGhpcy5yb3dzQ3V0b2ZmJiYxPD10aGlzLnJhbmspe2lmKG51bGw9PT10aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2UpdGhyb3cgRXJyb3IoYE1pc3NpbmcgdmVydGljYWwgcmFuZ2UgZm9yICR7dGhpcy5yYW5rfUQgdGVuc29yLmApO3RoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZVsxXT1ifX1jcmVhdGVWYWx1ZURpdnMoKXtpZihudWxsPT09dGhpcy52YWx1ZVJvd3MpdGhyb3cgRXJyb3IoIlZhbHVlIHJvd3MgYXJlIHVuZXhwZWN0ZWRseSB1bmluaXRpYWxpemVkLiIpO3RoaXMudmFsdWVEaXZzPVtdO2NvbnN0IGI9dGhpcy50b3BSdWxlclRpY2tzLmxlbmd0aCxkPXRoaXMudmFsdWVSb3dzLmxlbmd0aDtmb3IobGV0IGY9MDtmPGQ7KytmKXt0aGlzLnZhbHVlRGl2c1tmXT1bXTtmb3IobGV0IGg9MDtoPGI7KytoKXtjb25zdCBrPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwprLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtdmFsdWUtZGl2Iik7dGhpcy52YWx1ZVJlbmRlck1vZGU9PT1Yay5JTUFHRSYmKGsuc3R5bGUud2lkdGg9YCR7dGhpcy5pbWFnZUNlbGxTaXplfXB4YCxrLnN0eWxlLmhlaWdodD1gJHt0aGlzLmltYWdlQ2VsbFNpemV9cHhgLGsuc3R5bGUubGluZUhlaWdodD1gJHt0aGlzLmltYWdlQ2VsbFNpemV9cHhgKTt0aGlzLnZhbHVlUm93c1tmXS5hcHBlbmRDaGlsZChrKTt0aGlzLnZhbHVlRGl2c1tmXS5wdXNoKGspO2suYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dGhpcy5zZWxlY3Rpb249bmV3IGdqKHRoaXMudGVuc29yVmlldy5zcGVjLnNoYXBlLHRoaXMuc2xpY2luZ1NwZWMsbnVsbD09dGhpcy5zbGljaW5nU3BlYy52ZXJ0aWNhbFJhbmdlfHxudWxsPT10aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2VbMF0/MDp0aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2VbMF0rZixudWxsPT10aGlzLnNsaWNpbmdTcGVjLmhvcml6b250YWxSYW5nZXx8Cm51bGw9PXRoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlWzBdPzA6dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2VbMF0raCwxLDEpO3RoaXMucmVuZGVyU2VsZWN0aW9uKCl9KTtrLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLCgpPT57Y29uc3Qgcj1rLmdldEF0dHJpYnV0ZSgiZGV0YWlsZWQtdmFsdWUiKTtpZihudWxsIT09cil7dmFyIGw9dGhpcy5yb290RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxwPWsuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbT1wLmJvdHRvbS1wLnRvcCxuPXAucmlnaHQtcC5sZWZ0LHE9dGhpcy5jYWxjdWxhdGVJbmRpY2VzKGYsaCk7dGhpcy5kcmF3VmFsdWVUb29sdGlwKHEscixwLnRvcC1sLnRvcCsuOCptLHAubGVmdC1sLmxlZnQrLjc1Km4pfX0pO2suYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsKCk9Pnt0aGlzLmhpZGVWYWx1ZVRvb2x0aXAoKX0pfX19cmVuZGVyVG9wUnVsZXIoKXtpZigyPD10aGlzLnJhbmspe2NvbnN0IGI9CnRoaXMudGVuc29yVmlldy5zcGVjLnNoYXBlW3RoaXMuc2xpY2luZ1NwZWMudmlld2luZ0RpbXNbMV1dO2ZvcihsZXQgZD0wO2Q8dGhpcy50b3BSdWxlclRpY2tzLmxlbmd0aDsrK2Qpe2lmKG51bGw9PT10aGlzLnNsaWNpbmdTcGVjLmhvcml6b250YWxSYW5nZSl0aHJvdyBFcnJvcihgTWlzc2luZyBob3Jpem9udGFsIHJhbmdlIGZvciAke3RoaXMucmFua31EIHRlbnNvci5gKTtjb25zdCBmPXRoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlWzBdK2Q7dGhpcy5zaG93SW5kaWNlc09uVGlja3MmJih0aGlzLnRvcFJ1bGVyVGlja3NbZF0udGV4dENvbnRlbnQ9ZjxiP2Ake2Z9YDoiIil9fX1yZW5kZXJMZWZ0UnVsZXIoKXtpZigxPD10aGlzLnJhbmspe2NvbnN0IGI9dGhpcy50ZW5zb3JWaWV3LnNwZWMuc2hhcGVbdGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1swXV07Zm9yKGxldCBkPTA7ZDx0aGlzLmxlZnRSdWxlclRpY2tzLmxlbmd0aDsrK2Qpe2lmKG51bGw9PT10aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2UpdGhyb3cgRXJyb3IoYE1pc3NpbmcgdmVydGNpYWwgcmFuZ2UgZm9yICR7dGhpcy5yYW5rfUQgdGVuc29yLmApOwpjb25zdCBmPXRoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZVswXStkO3RoaXMuc2hvd0luZGljZXNPblRpY2tzJiYodGhpcy5sZWZ0UnVsZXJUaWNrc1tkXS50ZXh0Q29udGVudD1mPGI/YCR7Zn1gOiIiKX19fXJlbmRlclZhbHVlRGl2cygpe3JldHVybiBKaCh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7Y29uc3QgYj10aGlzLnZhbHVlRGl2cy5sZW5ndGgsZD10aGlzLnZhbHVlRGl2c1swXS5sZW5ndGg7bGV0IGY9eWllbGQgdGhpcy50ZW5zb3JWaWV3LnZpZXcodGhpcy5zbGljaW5nU3BlYyk7MD09PXRoaXMucmFuaz9mPVtbZl1dOjE9PT10aGlzLnJhbmsmJihmPWYubWFwKHA9PltwXSkpO2NvbnN0IGg9dGhpcy5nZXRWYWx1ZUNsYXNzKCksaz10aGlzLnZhbHVlUmVuZGVyTW9kZTtpZihrPT09WGsuSU1BR0Upe2lmKG51bGw9PXRoaXMubnVtZXJpY1N1bW1hcnkpdGhyb3cgRXJyb3IoIkZhaWxlZCB0byByZW5kZXIgaW1hZ2UgcmVwcmVzZW50YXRpb24gb2YgdGVuc29yIGR1ZSB0byBtaXNzaW5nIG51bWVyaWMgc3VtbWFyeSIpOwp2YXIgcj10aGlzLm51bWVyaWNTdW1tYXJ5Lm1pbmltdW0sbD10aGlzLm51bWVyaWNTdW1tYXJ5Lm1heGltdW07aWYobnVsbD09cnx8bnVsbD09bCl0aHJvdyBFcnJvcigiRmFpbGVkIHRvIHJlbmRlciBpbWFnZSByZXByZXNlbnRhdGlvbiBvZiB0ZW5zb3IgZHVlIHRvIG1pc3NpbmcgbWluaW11bSBvciBtYXhpbXVtIHZhbHVlcyBpbiBudW1lcmljIHN1bW1hcnkiKTtyPXttaW46cixtYXg6bH07dGhpcy5jb2xvck1hcD10aGlzLmNvbG9yTWFwTmFtZSBpbiBZaz9uZXcgWWtbdGhpcy5jb2xvck1hcE5hbWVdKHIpOm5ldyBWayhyKX1mb3Iocj0wO3I8YjsrK3IpZm9yKGw9MDtsPGQ7KytsKXtjb25zdCBwPXRoaXMudmFsdWVEaXZzW3JdW2xdO2lmKHI8Zi5sZW5ndGgmJmw8ZltyXS5sZW5ndGgpe2NvbnN0IG09ZltyXVtsXTtpZihrPT09WGsuSU1BR0Upe2NvbnN0IFtuLHEsdV09dGhpcy5jb2xvck1hcC5nZXRSR0IobSk7cC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9YHJnYigke259LCAke3F9LCAke3V9KWB9ZWxzZSJudW1lcmljIj09PQpoP3AudGV4dENvbnRlbnQ9UmsobSxMaCh0aGlzLnRlbnNvclZpZXcuc3BlYy5kdHlwZSkpOiJib29sZWFuIj09PWg/cC50ZXh0Q29udGVudD1TayhtKToic3RyaW5nIj09PWgmJihwLnRleHRDb250ZW50PVRrKG0pKTtwLnNldEF0dHJpYnV0ZSgiZGV0YWlsZWQtdmFsdWUiLHRoaXMuZ2V0RGV0YWlsZWRWYWx1ZVRvb2x0aXBTdHJpbmcobSkpfWVsc2UgcC50ZXh0Q29udGVudD0iIixwLnNldEF0dHJpYnV0ZSgiZGV0YWlsZWQtdmFsdWUiLCIiKX10aGlzLnJlbmRlclNlbGVjdGlvbigpfSl9Z2V0RGV0YWlsZWRWYWx1ZVRvb2x0aXBTdHJpbmcoYil7cmV0dXJuImJvb2xlYW4iPT09dGhpcy5nZXRWYWx1ZUNsYXNzKCk/U2soYiwhMSk6InN0cmluZyI9PT10aGlzLmdldFZhbHVlQ2xhc3MoKT9gTGVuZ3RoLSR7Yi5sZW5ndGh9IHN0cmluZzogIiR7VGsoYiw1MDApfSJgOlN0cmluZyhiKX1yZW5kZXJTZWxlY3Rpb24oKXtpZihudWxsIT10aGlzLnNlbGVjdGlvbil7dmFyIGI9dGhpcy52YWx1ZURpdnMubGVuZ3RoLApkPXRoaXMudmFsdWVEaXZzWzBdLmxlbmd0aDtmb3IobGV0IGg9MDtoPGI7KytoKWZvcihsZXQgaz0wO2s8ZDsrK2spe2NvbnN0IHI9dGhpcy52YWx1ZURpdnNbaF1ba107ci5jbGFzc0xpc3QucmVtb3ZlKCJ0ZW5zb3Itd2lkZ2V0LXZhbHVlLWRpdi1zZWxlY3Rpb24iKTtyLmNsYXNzTGlzdC5yZW1vdmUoInRlbnNvci13aWRnZXQtdmFsdWUtZGl2LXNlbGVjdGlvbi10b3AiKTtyLmNsYXNzTGlzdC5yZW1vdmUoInRlbnNvci13aWRnZXQtdmFsdWUtZGl2LXNlbGVjdGlvbi1ib3R0b20iKTtyLmNsYXNzTGlzdC5yZW1vdmUoInRlbnNvci13aWRnZXQtdmFsdWUtZGl2LXNlbGVjdGlvbi1sZWZ0Iik7ci5jbGFzc0xpc3QucmVtb3ZlKCJ0ZW5zb3Itd2lkZ2V0LXZhbHVlLWRpdi1zZWxlY3Rpb24tcmlnaHQiKTt2YXIgZj10aGlzLmNhbGN1bGF0ZUluZGljZXMoaCxrKTtmPXRoaXMuc2VsZWN0aW9uLmdldEVsZW1lbnRTdGF0dXMoZik7bnVsbCE9PWYmJihyLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtdmFsdWUtZGl2LXNlbGVjdGlvbiIpLApmLnRvcEVkZ2UmJnIuY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC12YWx1ZS1kaXYtc2VsZWN0aW9uLXRvcCIpLGYuYm90dG9tRWRnZSYmci5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LXZhbHVlLWRpdi1zZWxlY3Rpb24tYm90dG9tIiksZi5sZWZ0RWRnZSYmci5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itd2lkZ2V0LXZhbHVlLWRpdi1zZWxlY3Rpb24tbGVmdCIpLGYucmlnaHRFZGdlJiZyLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtdmFsdWUtZGl2LXNlbGVjdGlvbi1yaWdodCIpKX19fWNhbGN1bGF0ZUluZGljZXMoYixkKXtjb25zdCBmPVtdLGg9dGhpcy5zbGljaW5nU3BlYy5zbGljaW5nRGltc0FuZEluZGljZXMubWFwKHI9PnIuZGltKSxrPXRoaXMuc2xpY2luZ1NwZWMuc2xpY2luZ0RpbXNBbmRJbmRpY2VzLm1hcChyPT5yLmluZGV4KTtmb3IobGV0IHI9MDtyPHRoaXMucmFuazsrK3IpaWYoLTEhPT1oLmluZGV4T2Yocikpe2NvbnN0IGw9a1toLmluZGV4T2YocildOwppZihudWxsPT09bCl0aHJvdyBFcnJvcigiRmFpbGVkIHRvIGNhbGN1bGF0ZSBpbmRpY2VzOiAiK2BVbmRldGVybWluZWQgaW5kZXggYXQgZGltZW5zaW9uICR7cn1gKTtmLnB1c2gobCl9ZWxzZSBpZihyPT09dGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1swXSl7aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZXx8bnVsbD09PXRoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZVswXSl0aHJvdyBFcnJvcigiRmFpbGVkIHRvIGNhbGN1bGF0ZSBpbmRpY2VzIGR1ZSB0byB1bmRlcnRlcm1pbmVkIHZlcnRpY2FsIHJhbmdlLiIpO2YucHVzaCh0aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2VbMF0rYil9ZWxzZSBpZihyPT09dGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1sxXSl7aWYobnVsbD09PXRoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlfHxudWxsPT09dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2VbMF0pdGhyb3cgRXJyb3IoIkZhaWxlZCB0byBjYWxjdWxhdGUgaW5kaWNlcyBkdWUgdG8gdW5kZXJ0ZXJtaW5lZCB2ZXJ0aWNhbCByYW5nZS4iKTsKZi5wdXNoKHRoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlWzBdK2QpfXJldHVybiBmfWRyYXdWYWx1ZVRvb2x0aXAoYixkLGYsaCl7bnVsbD09PXRoaXMudmFsdWVUb29sdGlwJiYodGhpcy52YWx1ZVRvb2x0aXA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy52YWx1ZVRvb2x0aXAuY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC12YWx1ZS10b29sdGlwIiksdGhpcy5yb290RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLnZhbHVlVG9vbHRpcCkpO2Zvcig7dGhpcy52YWx1ZVRvb2x0aXAuZmlyc3RDaGlsZDspdGhpcy52YWx1ZVRvb2x0aXAucmVtb3ZlQ2hpbGQodGhpcy52YWx1ZVRvb2x0aXAuZmlyc3RDaGlsZCk7Y29uc3Qgaz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtrLmNsYXNzTGlzdC5hZGQoInRlbnNvci13aWRnZXQtdmFsdWUtdG9vbHRpcC1pbmRpY2VzIik7ay50ZXh0Q29udGVudD1gSW5kaWNlczogJHtKU09OLnN0cmluZ2lmeShiKX1gOwp0aGlzLnZhbHVlVG9vbHRpcC5hcHBlbmRDaGlsZChrKTtiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2IuY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC12YWx1ZS10b29sdGlwLXZhbHVlIik7Yi50ZXh0Q29udGVudD1kO3RoaXMudmFsdWVUb29sdGlwLmFwcGVuZENoaWxkKGIpO3RoaXMudmFsdWVUb29sdGlwLnN0eWxlLnRvcD1gJHtmfXB4YDt0aGlzLnZhbHVlVG9vbHRpcC5zdHlsZS5sZWZ0PWAke2h9cHhgO3RoaXMudmFsdWVUb29sdGlwLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjt0aGlzLnZhbHVlUmVuZGVyTW9kZT09WGsuSU1BR0UmJm51bGwhPXRoaXMuY29sb3JNYXAmJihmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLGYuY2xhc3NMaXN0LmFkZCgidGVuc29yLXdpZGdldC12YWx1ZS10b29sdGlwLWNvbG9yYmFyIiksdGhpcy52YWx1ZVRvb2x0aXAuYXBwZW5kQ2hpbGQoZiksdGhpcy5jb2xvck1hcC5yZW5kZXIoZixwYXJzZUZsb2F0KGQpKSl9aGlkZVZhbHVlVG9vbHRpcCgpe251bGwhPQp0aGlzLnZhbHVlVG9vbHRpcCYmKHRoaXMudmFsdWVUb29sdGlwLnN0eWxlLmRpc3BsYXk9Im5vbmUiKX1yZW5kZXJSdWxlcnNBbmRWYWx1ZURpdnMoKXtyZXR1cm4gSmgodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe251bGwhPXRoaXMuc2xpY2luZ0NvbnRyb2wmJnRoaXMuc2xpY2luZ0NvbnRyb2wuc2V0U2xpY2luZ1NwZWModGhpcy5zbGljaW5nU3BlYyk7dGhpcy5jYWxjdWxhdGVTaG93SW5kaWNlc09uUnVsZXJUaWNrcygpO3RoaXMucmVuZGVyVG9wUnVsZXIoKTt0aGlzLnJlbmRlckxlZnRSdWxlcigpO3lpZWxkIHRoaXMucmVuZGVyVmFsdWVEaXZzKCl9KX1jYWxjdWxhdGVTaG93SW5kaWNlc09uUnVsZXJUaWNrcygpe2lmKDI8PXRoaXMucmFuayl7dmFyIGI9dGhpcy50b3BSdWxlclRpY2tzWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuc2hvd0luZGljZXNPblRpY2tzPWIucmlnaHQtYi5sZWZ0PjkqTWF0aC5jZWlsKE1hdGgubG9nKHRoaXMudGVuc29yVmlldy5zcGVjLnNoYXBlW3RoaXMuc2xpY2luZ1NwZWMudmlld2luZ0RpbXNbMF1dKS8KTWF0aC5MTjEwKX1lbHNlIDE9PT10aGlzLnJhbms/KGI9dGhpcy5sZWZ0UnVsZXJUaWNrc1swXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx0aGlzLnNob3dJbmRpY2VzT25UaWNrcz0xNjxiLmJvdHRvbS1iLnRvcCk6dGhpcy5zaG93SW5kaWNlc09uVGlja3M9ITF9c2Nyb2xsSG9yaXpvbnRhbGx5KGIpe3JldHVybiBKaCh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7aWYoISgxPj10aGlzLnJhbmspKXtpZihudWxsPT09dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2UpdGhyb3cgRXJyb3IoYE1pc3NpbmcgaG9yaXpvbnRhbCByYW5nZSBmb3IgJHt0aGlzLnJhbmt9RCB0ZW5zb3IuYCk7dmFyIGQ9dGhpcy50ZW5zb3JWaWV3LnNwZWMuc2hhcGVbdGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1sxXV07aWYoMD5ifHxiPj1kKXRocm93IEVycm9yKGBJbmRleCBvdXQgb2YgYm91bmQ6ICR7Yn0gaXMgb3V0c2lkZSBbMCwgJHtkfV0pYCk7dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2VbMF09CmI7dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2VbMV09Yit0aGlzLnRvcFJ1bGVyVGlja3MubGVuZ3RoO2Q9dGhpcy50ZW5zb3JWaWV3LnNwZWMuc2hhcGVbdGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1sxXV07dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2VbMV0+ZCYmKHRoaXMuc2xpY2luZ1NwZWMuaG9yaXpvbnRhbFJhbmdlWzFdPWQpO3lpZWxkIHRoaXMucmVuZGVyUnVsZXJzQW5kVmFsdWVEaXZzKCl9fSl9c2Nyb2xsVmVydGljYWxseShiKXtyZXR1cm4gSmgodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe2lmKDAhPT10aGlzLnJhbmspe2lmKG51bGw9PT10aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2UpdGhyb3cgRXJyb3IoYE1pc3NpbmcgdmVydGljYWwgcmFuZ2UgZm9yICR7dGhpcy5yYW5rfUQgdGVuc29yLmApO2lmKG51bGw9PT10aGlzLnZhbHVlUm93cyl0aHJvdyBFcnJvcigiVmVydGljYWwgc2Nyb2xsaW5nIGZhaWxlZCBkdWUgdG8gbWlzc2luZyB2YWx1ZSByb3dzLiIpOwp2YXIgZD10aGlzLnRlbnNvclZpZXcuc3BlYy5zaGFwZVt0aGlzLnNsaWNpbmdTcGVjLnZpZXdpbmdEaW1zWzBdXTtpZigwPmJ8fGI+PWQpdGhyb3cgRXJyb3IoYEluZGV4IG91dCBvZiBib3VuZDogJHtifSBpcyBvdXRzaWRlIFswLCAke2R9XSlgKTt0aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2VbMF09Yjt0aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2VbMV09Yit0aGlzLnZhbHVlUm93cy5sZW5ndGg7ZD10aGlzLnRlbnNvclZpZXcuc3BlYy5zaGFwZVt0aGlzLnNsaWNpbmdTcGVjLnZpZXdpbmdEaW1zWzBdXTt0aGlzLnNsaWNpbmdTcGVjLnZlcnRpY2FsUmFuZ2VbMV0+ZCYmKHRoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZVsxXT1kKTt5aWVsZCB0aGlzLnJlbmRlclJ1bGVyc0FuZFZhbHVlRGl2cygpfX0pfXNjcm9sbFVwT3JEb3duKGIpe3JldHVybiBKaCh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7aWYoMCE9PXRoaXMucmFuayYmdGhpcy5yb3dzQ3V0b2ZmKXtpZihudWxsPT09CnRoaXMuc2xpY2luZ1NwZWMudmVydGljYWxSYW5nZSl0aHJvdyBFcnJvcihgTWlzc2luZyB2ZXJ0aWNhbCByYW5nZSBmb3IgJHt0aGlzLnJhbmt9RCB0ZW5zb3IuYCk7aWYobnVsbD09PXRoaXMudmFsdWVSb3dzKXRocm93IEVycm9yKCJWZXJ0aWNhbCBzY3JvbGxpbmcgZmFpbGVkIGR1ZSB0byBtaXNzaW5nIHZhbHVlIHJvd3MuIik7dmFyIGQ9dGhpcy5zbGljaW5nU3BlYy52ZXJ0aWNhbFJhbmdlWzBdO2I9PT1mai5ET1dOP2Q8dGhpcy50ZW5zb3JWaWV3LnNwZWMuc2hhcGVbdGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1swXV0tKHRoaXMudmFsdWVSb3dzLmxlbmd0aC0xKSYmKHlpZWxkIHRoaXMuc2Nyb2xsVmVydGljYWxseShkKzEpKTowPD1kLTEmJih5aWVsZCB0aGlzLnNjcm9sbFZlcnRpY2FsbHkoZC0xKSl9fSl9c2Nyb2xsTGVmdE9yUmlnaHQoYil7cmV0dXJuIEpoKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXtpZighKDE+PXRoaXMucmFuaykmJnRoaXMuY29sc0N1dG9mZil7aWYobnVsbD09PQp0aGlzLnNsaWNpbmdTcGVjLmhvcml6b250YWxSYW5nZSl0aHJvdyBFcnJvcigiSG9yaXpvbnRhbCBzY3JvbGxpbmcgZmFpbGVkIGR1ZSB0byBtaXNzaW5nIGhvcml6b250YWwgcmFuZ2UuIik7dmFyIGQ9dGhpcy5zbGljaW5nU3BlYy5ob3Jpem9udGFsUmFuZ2VbMF07Yj09PWZqLlJJR0hUP2Q8dGhpcy50ZW5zb3JWaWV3LnNwZWMuc2hhcGVbdGhpcy5zbGljaW5nU3BlYy52aWV3aW5nRGltc1sxXV0tKHRoaXMudG9wUnVsZXJUaWNrcy5sZW5ndGgtMSkmJih5aWVsZCB0aGlzLnNjcm9sbEhvcml6b250YWxseShkKzEpKTowPD1kLTEmJih5aWVsZCB0aGlzLnNjcm9sbEhvcml6b250YWxseShkLTEpKX19KX1uYXZpZ2F0ZVRvSW5kaWNlcygpe3JldHVybiBKaCh0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7dGhyb3cgRXJyb3IoIm5hdmlnYXRlVG9JbmRpY2VzKCkgaXMgbm90IGltcGxlbWVudGVkIHlldC4iKTt9KX1nZXRWYWx1ZUNsYXNzKCl7Y29uc3QgYj10aGlzLnRlbnNvclZpZXcuc3BlYy5kdHlwZTsKcmV0dXJuIExoKGIpfHxNaChiKT8ibnVtZXJpYyI6WWkoYik/ImJvb2xlYW4iOiJzdHJpbmcifX12YXIgJGs9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsdGVuc29yV2lkZ2V0OmZ1bmN0aW9uKGIsZCxmKXtyZXR1cm4gbmV3IFprKGIsZCxmKX0sVkVSU0lPTjoiMC4wLjAifSk7d2luZG93LnRlbnNvcl93aWRnZXQ9JGs7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1zY3JvbGwtdGFyZ2V0LWJlaGF2aW9yL2lyb24tc2Nyb2xsLXRhcmdldC1iZWhhdmlvci5odG1sLmpzClBvbHltZXIuSXJvblNjcm9sbFRhcmdldEJlaGF2aW9yPXtwcm9wZXJ0aWVzOntzY3JvbGxUYXJnZXQ6e3R5cGU6SFRNTEVsZW1lbnQsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGVmYXVsdFNjcm9sbFRhcmdldH19fSxvYnNlcnZlcnM6WyJfc2Nyb2xsVGFyZ2V0Q2hhbmdlZChzY3JvbGxUYXJnZXQsIGlzQXR0YWNoZWQpIl0sX3Nob3VsZEhhdmVMaXN0ZW5lcjohMCxfc2Nyb2xsVGFyZ2V0Q2hhbmdlZDpmdW5jdGlvbihiLGQpe3RoaXMuX29sZFNjcm9sbFRhcmdldCYmKHRoaXMuX3RvZ2dsZVNjcm9sbExpc3RlbmVyKCExLHRoaXMuX29sZFNjcm9sbFRhcmdldCksdGhpcy5fb2xkU2Nyb2xsVGFyZ2V0PW51bGwpO2QmJigiZG9jdW1lbnQiPT09Yj90aGlzLnNjcm9sbFRhcmdldD10aGlzLl9kb2M6InN0cmluZyI9PT10eXBlb2YgYj90aGlzLnNjcm9sbFRhcmdldD0oZD10aGlzLmRvbUhvc3QpJiZkLiQ/ZC4kW2JdOlBvbHltZXIuZG9tKHRoaXMub3duZXJEb2N1bWVudCkucXVlcnlTZWxlY3RvcigiIyIrCmIpOnRoaXMuX2lzVmFsaWRTY3JvbGxUYXJnZXQoKSYmKHRoaXMuX29sZFNjcm9sbFRhcmdldD1iLHRoaXMuX3RvZ2dsZVNjcm9sbExpc3RlbmVyKHRoaXMuX3Nob3VsZEhhdmVMaXN0ZW5lcixiKSkpfSxfc2Nyb2xsSGFuZGxlcjpmdW5jdGlvbigpe30sZ2V0IF9kZWZhdWx0U2Nyb2xsVGFyZ2V0KCl7cmV0dXJuIHRoaXMuX2RvY30sZ2V0IF9kb2MoKXtyZXR1cm4gdGhpcy5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudH0sZ2V0IF9zY3JvbGxUb3AoKXtyZXR1cm4gdGhpcy5faXNWYWxpZFNjcm9sbFRhcmdldCgpP3RoaXMuc2Nyb2xsVGFyZ2V0PT09dGhpcy5fZG9jP3dpbmRvdy5wYWdlWU9mZnNldDp0aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxUb3A6MH0sZ2V0IF9zY3JvbGxMZWZ0KCl7cmV0dXJuIHRoaXMuX2lzVmFsaWRTY3JvbGxUYXJnZXQoKT90aGlzLnNjcm9sbFRhcmdldD09PXRoaXMuX2RvYz93aW5kb3cucGFnZVhPZmZzZXQ6dGhpcy5zY3JvbGxUYXJnZXQuc2Nyb2xsTGVmdDoKMH0sc2V0IF9zY3JvbGxUb3AoYil7dGhpcy5zY3JvbGxUYXJnZXQ9PT10aGlzLl9kb2M/d2luZG93LnNjcm9sbFRvKHdpbmRvdy5wYWdlWE9mZnNldCxiKTp0aGlzLl9pc1ZhbGlkU2Nyb2xsVGFyZ2V0KCkmJih0aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxUb3A9Yil9LHNldCBfc2Nyb2xsTGVmdChiKXt0aGlzLnNjcm9sbFRhcmdldD09PXRoaXMuX2RvYz93aW5kb3cuc2Nyb2xsVG8oYix3aW5kb3cucGFnZVlPZmZzZXQpOnRoaXMuX2lzVmFsaWRTY3JvbGxUYXJnZXQoKSYmKHRoaXMuc2Nyb2xsVGFyZ2V0LnNjcm9sbExlZnQ9Yil9LHNjcm9sbDpmdW5jdGlvbihiLGQpe3RoaXMuc2Nyb2xsVGFyZ2V0PT09dGhpcy5fZG9jP3dpbmRvdy5zY3JvbGxUbyhiLGQpOnRoaXMuX2lzVmFsaWRTY3JvbGxUYXJnZXQoKSYmKHRoaXMuc2Nyb2xsVGFyZ2V0LnNjcm9sbExlZnQ9Yix0aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxUb3A9ZCl9LGdldCBfc2Nyb2xsVGFyZ2V0V2lkdGgoKXtyZXR1cm4gdGhpcy5faXNWYWxpZFNjcm9sbFRhcmdldCgpPwp0aGlzLnNjcm9sbFRhcmdldD09PXRoaXMuX2RvYz93aW5kb3cuaW5uZXJXaWR0aDp0aGlzLnNjcm9sbFRhcmdldC5vZmZzZXRXaWR0aDowfSxnZXQgX3Njcm9sbFRhcmdldEhlaWdodCgpe3JldHVybiB0aGlzLl9pc1ZhbGlkU2Nyb2xsVGFyZ2V0KCk/dGhpcy5zY3JvbGxUYXJnZXQ9PT10aGlzLl9kb2M/d2luZG93LmlubmVySGVpZ2h0OnRoaXMuc2Nyb2xsVGFyZ2V0Lm9mZnNldEhlaWdodDowfSxfaXNWYWxpZFNjcm9sbFRhcmdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNjcm9sbFRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50fSxfdG9nZ2xlU2Nyb2xsTGlzdGVuZXI6ZnVuY3Rpb24oYixkKXtkPWQ9PT10aGlzLl9kb2M/d2luZG93OmQ7Yj90aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXJ8fCh0aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXI9dGhpcy5fc2Nyb2xsSGFuZGxlci5iaW5kKHRoaXMpLGQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXIpKToKdGhpcy5fYm91bmRTY3JvbGxIYW5kbGVyJiYoZC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuX2JvdW5kU2Nyb2xsSGFuZGxlciksdGhpcy5fYm91bmRTY3JvbGxIYW5kbGVyPW51bGwpfSx0b2dnbGVTY3JvbGxMaXN0ZW5lcjpmdW5jdGlvbihiKXt0aGlzLl9zaG91bGRIYXZlTGlzdGVuZXI9Yjt0aGlzLl90b2dnbGVTY3JvbGxMaXN0ZW5lcihiLHRoaXMuc2Nyb2xsVGFyZ2V0KX19OwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tbWVudS1iZWhhdmlvci9pcm9uLW1lbnViYXItYmVoYXZpb3IuaHRtbC5qcwpQb2x5bWVyLklyb25NZW51YmFyQmVoYXZpb3JJbXBsPXtob3N0QXR0cmlidXRlczp7cm9sZToibWVudWJhciJ9LGtleUJpbmRpbmdzOntsZWZ0OiJfb25MZWZ0S2V5IixyaWdodDoiX29uUmlnaHRLZXkifSxfb25VcEtleTpmdW5jdGlvbihiKXt0aGlzLmZvY3VzZWRJdGVtLmNsaWNrKCk7Yi5kZXRhaWwua2V5Ym9hcmRFdmVudC5wcmV2ZW50RGVmYXVsdCgpfSxfb25Eb3duS2V5OmZ1bmN0aW9uKGIpe3RoaXMuZm9jdXNlZEl0ZW0uY2xpY2soKTtiLmRldGFpbC5rZXlib2FyZEV2ZW50LnByZXZlbnREZWZhdWx0KCl9LGdldCBfaXNSVEwoKXtyZXR1cm4icnRsIj09PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMpLmRpcmVjdGlvbn0sX29uTGVmdEtleTpmdW5jdGlvbihiKXt0aGlzLl9pc1JUTD90aGlzLl9mb2N1c05leHQoKTp0aGlzLl9mb2N1c1ByZXZpb3VzKCk7Yi5kZXRhaWwua2V5Ym9hcmRFdmVudC5wcmV2ZW50RGVmYXVsdCgpfSxfb25SaWdodEtleTpmdW5jdGlvbihiKXt0aGlzLl9pc1JUTD8KdGhpcy5fZm9jdXNQcmV2aW91cygpOnRoaXMuX2ZvY3VzTmV4dCgpO2IuZGV0YWlsLmtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKX0sX29uS2V5ZG93bjpmdW5jdGlvbihiKXt0aGlzLmtleWJvYXJkRXZlbnRNYXRjaGVzS2V5cyhiLCJ1cCBkb3duIGxlZnQgcmlnaHQgZXNjIil8fHRoaXMuX2ZvY3VzV2l0aEtleWJvYXJkRXZlbnQoYil9fTtQb2x5bWVyLklyb25NZW51YmFyQmVoYXZpb3I9W1BvbHltZXIuSXJvbk1lbnVCZWhhdmlvcixQb2x5bWVyLklyb25NZW51YmFyQmVoYXZpb3JJbXBsXTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1sb2FkZXIvdGYtZ3JhcGgtZGFzaGJvYXJkLWxvYWRlci5qcwpKaD10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24oYixkLGYsaCl7cmV0dXJuIG5ldyAoZnx8KGY9UHJvbWlzZSkpKGZ1bmN0aW9uKGsscil7ZnVuY3Rpb24gbChuKXt0cnl7bShoLm5leHQobikpfWNhdGNoKHEpe3IocSl9fWZ1bmN0aW9uIHAobil7dHJ5e20oaFsidGhyb3ciXShuKSl9Y2F0Y2gocSl7cihxKX19ZnVuY3Rpb24gbShuKXtuLmRvbmU/ayhuLnZhbHVlKToobmV3IGYoZnVuY3Rpb24ocSl7cShuLnZhbHVlKX0pKS50aGVuKGwscCl9bSgoaD1oLmFwcGx5KGIsZHx8W10pKS5uZXh0KCkpfSl9OwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpeyhmdW5jdGlvbigpe1BvbHltZXIoe2lzOiJ0Zi1ncmFwaC1kYXNoYm9hcmQtbG9hZGVyIixfdGVtcGxhdGU6bnVsbCxwcm9wZXJ0aWVzOntkYXRhc2V0czpBcnJheSxwcm9ncmVzczp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSxzZWxlY3Rpb246T2JqZWN0LHNlbGVjdGVkRmlsZTpPYmplY3QsY29tcGF0aWJpbGl0eVByb3ZpZGVyOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+bmV3IGIuZ3JhcGgub3AuVHB1Q29tcGF0aWJpbGl0eVByb3ZpZGVyfSxoaWVyYXJjaHlQYXJhbXM6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5iLmdyYXBoLmhpZXJhcmNoeS5EZWZhdWx0SGllcmFyY2h5UGFyYW1zfSxvdXRHcmFwaEhpZXJhcmNoeTp7dHlwZTpPYmplY3QscmVhZE9ubHk6ITAsbm90aWZ5OiEwfSxvdXRHcmFwaDp7dHlwZTpPYmplY3QscmVhZE9ubHk6ITAsbm90aWZ5OiEwfSxvdXRTdGF0czp7dHlwZTpPYmplY3QscmVhZE9ubHk6ITAsbm90aWZ5OiEwfSwKX2dyYXBoUnVuVGFnOk9iamVjdH0sb2JzZXJ2ZXJzOlsiX3NlbGVjdGlvbkNoYW5nZWQoc2VsZWN0aW9uLCBjb21wYXRpYmlsaXR5UHJvdmlkZXIpIiwiX3NlbGVjdGVkRmlsZUNoYW5nZWQoc2VsZWN0ZWRGaWxlLCBjb21wYXRpYmlsaXR5UHJvdmlkZXIpIl0sX3NlbGVjdGlvbkNoYW5nZWQoKXt0aGlzLmRlYm91bmNlKCJzZWxlY3Rpb25jaGFuZ2UiLCgpPT57dGhpcy5fbG9hZCh0aGlzLnNlbGVjdGlvbil9KX0sX2xvYWQ6ZnVuY3Rpb24oZil7Y29uc3QgaD1mLnJ1bixrPWYudGFnO2Y9Zi50eXBlO3N3aXRjaChmKXtjYXNlIGIuZ3JhcGguU2VsZWN0aW9uVHlwZS5PUF9HUkFQSDpjYXNlIGIuZ3JhcGguU2VsZWN0aW9uVHlwZS5DT05DRVBUVUFMX0dSQVBIOnRoaXMuX3NldE91dFN0YXRzKG51bGwpO3ZhciByPW5ldyBVUkxTZWFyY2hQYXJhbXM7ci5zZXQoInJ1biIsaCk7ci5zZXQoImNvbmNlcHR1YWwiLFN0cmluZyhmPT09Yi5ncmFwaC5TZWxlY3Rpb25UeXBlLkNPTkNFUFRVQUxfR1JBUEgpKTsKayYmci5zZXQoInRhZyIsayk7Zj1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiZ3JhcGhzIiwiL2dyYXBoIixyKTtyZXR1cm4gdGhpcy5fZmV0Y2hBbmRDb25zdHJ1Y3RIaWVyYXJjaGljYWxHcmFwaChmKS50aGVuKCgpPT57dGhpcy5fZ3JhcGhSdW5UYWc9e3J1bjpoLHRhZzprfX0pO2Nhc2UgYi5ncmFwaC5TZWxlY3Rpb25UeXBlLlBST0ZJTEU6eyh7dGFnczpmfT10aGlzLmRhdGFzZXRzLmZpbmQoKHtuYW1lOm19KT0+bT09PWgpKTtjb25zdCBsPWYuZmluZChtPT5tLnRhZz09PWspLm9wR3JhcGg/azpudWxsO2NvbnNvbGUuYXNzZXJ0KGYuZmluZChtPT5tLnRhZz09PWwpLGBSZXF1aXJlZCB0YWcgKCR7bH0pIGlzIG1pc3NpbmcuYCk7Zj10aGlzLl9ncmFwaFJ1blRhZyYmdGhpcy5fZ3JhcGhSdW5UYWcucnVuPT09aCYmdGhpcy5fZ3JhcGhSdW5UYWcudGFnPT09bD9Qcm9taXNlLnJlc29sdmUoKTp0aGlzLl9sb2FkKHtydW46aCx0YWc6bCx0eXBlOmIuZ3JhcGguU2VsZWN0aW9uVHlwZS5PUF9HUkFQSH0pOwpyPW5ldyBVUkxTZWFyY2hQYXJhbXM7ci5zZXQoInRhZyIsayk7ci5zZXQoInJ1biIsaCk7Y29uc3QgcD1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiZ3JhcGhzIiwiL3J1bl9tZXRhZGF0YSIscik7cmV0dXJuIGYudGhlbigoKT0+dGhpcy5fcmVhZEFuZFBhcnNlTWV0YWRhdGEocCkpfWRlZmF1bHQ6cmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKGBVbmtub3duIHNlbGVjdGlvbiB0eXBlOiAke2Z9YCkpfX0sX3JlYWRBbmRQYXJzZU1ldGFkYXRhOmZ1bmN0aW9uKGYpe3RoaXMuc2V0KCJwcm9ncmVzcyIse3ZhbHVlOjAsbXNnOiIifSk7Yi5ncmFwaC5wYXJzZXIuZmV0Y2hBbmRQYXJzZU1ldGFkYXRhKGYsYi5ncmFwaC51dGlsLmdldFRyYWNrZXIodGhpcykpLnRoZW4oaD0+e3RoaXMuX3NldE91dFN0YXRzKGgpfSl9LF9mZXRjaEFuZENvbnN0cnVjdEhpZXJhcmNoaWNhbEdyYXBoOmZ1bmN0aW9uKGYsaCl7cmV0dXJuIEpoKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXt0aGlzLnNldCgicHJvZ3Jlc3MiLAp7dmFsdWU6MCxtc2c6IiJ9KTtyZXR1cm4gYi5ncmFwaC5sb2FkZXIuZmV0Y2hBbmRDb25zdHJ1Y3RIaWVyYXJjaGljYWxHcmFwaChiLmdyYXBoLnV0aWwuZ2V0VHJhY2tlcih0aGlzKSxmLGgsdGhpcy5jb21wYXRpYmlsaXR5UHJvdmlkZXIsdGhpcy5oaWVyYXJjaHlQYXJhbXMpLnRoZW4oKHtncmFwaDprLGdyYXBoSGllcmFyY2h5OnJ9KT0+e3RoaXMuX3NldE91dEdyYXBoKGspO3RoaXMuX3NldE91dEdyYXBoSGllcmFyY2h5KHIpfSl9KX0sX3NlbGVjdGVkRmlsZUNoYW5nZWQ6ZnVuY3Rpb24oZil7aWYoZil7Zj1mLnRhcmdldDt2YXIgaD1mLmZpbGVzWzBdO2gmJihmLnZhbHVlPSIiLHRoaXMuX2ZldGNoQW5kQ29uc3RydWN0SGllcmFyY2hpY2FsR3JhcGgobnVsbCxoKSl9fX0pfSkoZC5sb2FkZXJ8fChkLmxvYWRlcj17fSkpfSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1oaXN0b2dyYW0tZGFzaGJvYXJkL2hpc3RvZ3JhbUNvcmUuanMKdmFyIGVsOwooZnVuY3Rpb24oYil7ZnVuY3Rpb24gZChoKXtjb25zdCBbayxyLGxdPWg7cmV0dXJue3dhbGxfdGltZTprLHN0ZXA6cixtaW46ZDMubWluKGwubWFwKChbcF0pPT5wKSksbWF4OmQzLm1heChsLm1hcCgoWyxwXSk9PnApKSxidWNrZXRzOmwubWFwKChbcCxtLG5dKT0+KHtsZWZ0OnAscmlnaHQ6bSxjb3VudDpufSkpfX1mdW5jdGlvbiBmKGgsayxyLGw9MzApe3I9PT1rJiYocj0xLjEqaysxLGs9ay8xLjEtMSk7Y29uc3QgcD0oci1rKS9sO2xldCBtPTA7cmV0dXJuIGQzLnJhbmdlKGsscixwKS5tYXAobj0+e2NvbnN0IHE9bitwO2xldCB1PTA7Zm9yKDttPGguYnVja2V0cy5sZW5ndGg7KXtjb25zdCBBPU1hdGgubWluKHIsaC5idWNrZXRzW21dLnJpZ2h0KTt2YXIgdz1NYXRoLm1heChrLGguYnVja2V0c1ttXS5sZWZ0KTtjb25zdCB5PU1hdGgubWluKEEscSktTWF0aC5tYXgodyxuKTt3PXkvKEEtdykqaC5idWNrZXRzW21dLmNvdW50O3UrPTA8eT93OjA7aWYoQT5xKWJyZWFrO20rK31yZXR1cm57eDpuLApkeDpwLHk6dX19KX1iLmJhY2tlbmRUb0ludGVybWVkaWF0ZT1kO2IuaW50ZXJtZWRpYXRlVG9EMz1mO2IuYmFja2VuZFRvVno9ZnVuY3Rpb24oaCl7aD1oLm1hcChkKTtjb25zdCBrPWQzLm1pbihoLGw9PmwubWluKSxyPWQzLm1heChoLGw9PmwubWF4KTtyZXR1cm4gaC5tYXAobD0+KHt3YWxsX3RpbWU6bC53YWxsX3RpbWUsc3RlcDpsLnN0ZXAsYmluczpmKGwsayxyKX0pKX19KShlbHx8KGVsPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy11dGlscy90Zi1ocGFyYW1zLXV0aWxzLmh0bWwuanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7ZnVuY3Rpb24gaChCKXtyZXR1cm4iIiE9PUIuZGlzcGxheU5hbWUmJnZvaWQgMCE9PUIuZGlzcGxheU5hbWU/Qi5kaXNwbGF5TmFtZTpCLm5hbWV9ZnVuY3Rpb24gayhCKXtpZigiIiE9PUIuZGlzcGxheU5hbWUmJnZvaWQgMCE9PUIuZGlzcGxheU5hbWUpcmV0dXJuIEIuZGlzcGxheU5hbWU7bGV0IEg9Qi5uYW1lLmdyb3VwO0I9Qi5uYW1lLnRhZzt2b2lkIDA9PT1IJiYoSD0iIik7dm9pZCAwPT09QiYmKEI9IiIpO3JldHVybiIiPT09SD9COkgrIi4iK0J9ZnVuY3Rpb24gcihCKXtyZXR1cm4gQi5ocGFyYW1Db2x1bW5zLmxlbmd0aH1mdW5jdGlvbiBsKEIpe3JldHVybiBCLm1ldHJpY0NvbHVtbnMubGVuZ3RofWZ1bmN0aW9uIHAoQixIKXtyZXR1cm4gQltIXX1mdW5jdGlvbiBtKEIsSCl7cmV0dXJuIEIuZmluZChLPT5fLmlzRXF1YWwoSy5uYW1lLEgpKX1mdW5jdGlvbiBuKEIsSCxLKXtyZXR1cm4gSC5ocGFyYW1zW0IuaHBhcmFtQ29sdW1uc1tLXS5ocGFyYW1JbmZvLm5hbWVdfQpmdW5jdGlvbiBxKEIsSCxLKXtCPW0oSC5tZXRyaWNWYWx1ZXMsQi5tZXRyaWNDb2x1bW5zW0tdLm1ldHJpY0luZm8ubmFtZSk7cmV0dXJuIHZvaWQgMD09PUI/dm9pZCAwOkIudmFsdWV9ZnVuY3Rpb24gdShCLEgsSyl7cmV0dXJuIEs8Qi5ocGFyYW1Db2x1bW5zLmxlbmd0aD9uKEIsSCxLKTpxKEIsSCxLLUIuaHBhcmFtQ29sdW1ucy5sZW5ndGgpfWZ1bmN0aW9uIHcoQil7cmV0dXJuIEIuaHBhcmFtSW5mb3MubGVuZ3RofWZ1bmN0aW9uIEEoQil7cmV0dXJuIEIubWV0cmljSW5mb3MubGVuZ3RofWZ1bmN0aW9uIHkoQixILEspe3JldHVybiBILmhwYXJhbXNbQi5ocGFyYW1JbmZvc1tLXS5uYW1lXX1mdW5jdGlvbiB4KEIsSCxLKXtCPW0oSC5tZXRyaWNWYWx1ZXMsQi5tZXRyaWNJbmZvc1tLXS5uYW1lKTtyZXR1cm4gdm9pZCAwPT09Qj92b2lkIDA6Qi52YWx1ZX1mdW5jdGlvbiBDKEIsSCxLKXtyZXR1cm4gSzxCLmhwYXJhbUluZm9zLmxlbmd0aD95KEIsSCxLKTp4KEIsSCxLLUIuaHBhcmFtSW5mb3MubGVuZ3RoKX0KZnVuY3Rpb24gRyhCKXtyZXR1cm4gXy5pc051bWJlcihCKT9CLnRvUHJlY2lzaW9uKDUpOnZvaWQgMD09PUI/IiI6Qi50b1N0cmluZygpfWZ1bmN0aW9uIEQoQixIKXtyZXR1cm4gQipCK0gqSH1mLmhwYXJhbU5hbWU9aDtmLm1ldHJpY05hbWU9aztmLnNjaGVtYUNvbHVtbk5hbWU9ZnVuY3Rpb24oQixIKXtyZXR1cm4gSDxCLmhwYXJhbUNvbHVtbnMubGVuZ3RoP2goQi5ocGFyYW1Db2x1bW5zW0hdLmhwYXJhbUluZm8pOmsoQi5tZXRyaWNDb2x1bW5zW0gtQi5ocGFyYW1Db2x1bW5zLmxlbmd0aF0ubWV0cmljSW5mbyl9O2YubnVtSFBhcmFtcz1yO2YubnVtTWV0cmljcz1sO2YubnVtQ29sdW1ucz1mdW5jdGlvbihCKXtyZXR1cm4gcihCKStsKEIpfTtmLmhwYXJhbVZhbHVlQnlOYW1lPXA7Zi5tZXRyaWNWYWx1ZUJ5TmFtZT1tO2YuaHBhcmFtVmFsdWVCeUluZGV4PW47Zi5tZXRyaWNWYWx1ZUJ5SW5kZXg9cTtmLmNvbHVtblZhbHVlQnlJbmRleD11O2YubnVtZXJpY0NvbHVtbkV4dGVudD0KZnVuY3Rpb24oQixILEspe3JldHVybiBkMy5leHRlbnQoSCxMPT51KEIsTCxLKSl9O2YuZ2V0QWJzb2x1dGVDb2x1bW5JbmRleD1mdW5jdGlvbihCLEgsSyl7aWYoSzxILmhwYXJhbUluZm9zLmxlbmd0aClCPUIuaHBhcmFtQ29sdW1ucy5maW5kSW5kZXgoTD0+TC5ocGFyYW1JbmZvLm5hbWU9PT1ILmhwYXJhbUluZm9zW0tdLm5hbWUpO2Vsc2V7Y29uc3QgTD1ILm1ldHJpY0luZm9zW0stSC5ocGFyYW1JbmZvcy5sZW5ndGhdLm5hbWU7Qj1CLmhwYXJhbUNvbHVtbnMubGVuZ3RoK0IubWV0cmljQ29sdW1ucy5maW5kSW5kZXgoSj0+Si5tZXRyaWNJbmZvLm5hbWU9PT1MKX1jb25zb2xlLmFzc2VydCgtMSE9PUIpO3JldHVybiBCfTtmLnNjaGVtYVZpc2libGVDb2x1bW5OYW1lPWZ1bmN0aW9uKEIsSCl7cmV0dXJuIEg8Qi5ocGFyYW1JbmZvcy5sZW5ndGg/aChCLmhwYXJhbUluZm9zW0hdKTprKEIubWV0cmljSW5mb3NbSC1CLmhwYXJhbUluZm9zLmxlbmd0aF0pfTtmLm51bVZpc2libGVIUGFyYW1zPQp3O2YubnVtVmlzaWJsZU1ldHJpY3M9QTtmLm51bVZpc2libGVDb2x1bW5zPWZ1bmN0aW9uKEIpe3JldHVybiB3KEIpK0EoQil9O2YudmlzaWJsZU51bWVyaWNDb2x1bW5FeHRlbnQ9ZnVuY3Rpb24oQixILEspe3JldHVybiBkMy5leHRlbnQoSCxMPT5DKEIsTCxLKSl9O2YucHJldHR5UHJpbnRIUGFyYW1WYWx1ZUJ5TmFtZT1mdW5jdGlvbihCLEgpe3JldHVybiBHKHAoQixIKSl9O2YucHJldHR5UHJpbnRNZXRyaWNWYWx1ZUJ5TmFtZT1mdW5jdGlvbihCLEgpe3JldHVybiBHKG0oQixIKSl9O2Yuc2Vzc2lvbkdyb3VwV2l0aE5hbWU9ZnVuY3Rpb24oQixIKXtyZXR1cm4gQi5maW5kKEs9PksubmFtZT09PUgpfTtmLmhwYXJhbVZhbHVlQnlWaXNpYmxlSW5kZXg9eTtmLm1ldHJpY1ZhbHVlQnlWaXNpYmxlSW5kZXg9eDtmLmNvbHVtblZhbHVlQnlWaXNpYmxlSW5kZXg9QztmLnByZXR0eVByaW50PUc7Zi5sMk5vcm1TcXVhcmVkPUQ7Zi5ldWNsaWRlYW5EaXN0PWZ1bmN0aW9uKEIsSCxLLEwpe3JldHVybiBNYXRoLnNxcnQoRChCLQpLLEgtTCkpfTtmLnBvaW50VG9SZWN0YW5nbGVEaXN0PWZ1bmN0aW9uKEIsSCxLLEwsSixPKXtpZihCPEsmJkg8TClyZXR1cm4gZi5ldWNsaWRlYW5EaXN0KEIsSCxLLEwpO2lmKEs8PUImJkI8SiYmSDxMKXJldHVybiBMLUg7aWYoSjw9QiYmSDxMKXJldHVybiBmLmV1Y2xpZGVhbkRpc3QoQixILEosTCk7aWYoQjxLJiZMPD1IJiZIPE8pcmV0dXJuIEstQjtpZihLPD1CJiZCPEomJkw8PUgmJkg8TylyZXR1cm4gMDtpZihKPD1CJiZMPD1IJiZIPE8pcmV0dXJuIEItSjtpZihCPEsmJk88PUgpcmV0dXJuIGYuZXVjbGlkZWFuRGlzdChCLEgsSyxPKTtpZihLPD1CJiZCPEomJk88PUgpcmV0dXJuIEgtTztpZihKPD1CJiZPPD1IKXJldHVybiBmLmV1Y2xpZGVhbkRpc3QoQixILEosTyk7dGhyb3ciUG9pbnQgKHgseSkgbXVzdCBiZSBpbiBvbmUgb2YgdGhlIHJlZ2lvbnMgZGVmaW5lZCBhYm92ZS4iO307Zi50cmFuc2xhdGVTdHI9ZnVuY3Rpb24oQixIKXtyZXR1cm4gdm9pZCAwPT09SD8idHJhbnNsYXRlKCIrCkIrIikiOiJ0cmFuc2xhdGUoIitCKyIsIitIKyIpIn07Zi5yb3RhdGVTdHI9ZnVuY3Rpb24oQixIKXtsZXQgSz0icm90YXRlKDkwIjt2b2lkIDAhPT1CJiZ2b2lkIDAhPT1IJiYoSz1LKyIsIitCKyIsIitIKTtyZXR1cm4gSysiKSJ9O2YuaXNOdWxsT3JVbmRlZmluZWQ9ZnVuY3Rpb24oQil7cmV0dXJuIG51bGw9PT1CfHx2b2lkIDA9PT1CfTtmLnF1YWRUcmVlVmlzaXRQb2ludHNJblJlY3Q9ZnVuY3Rpb24oQixILEssTCxKLE8pe0IudmlzaXQoKFMsTixSLFgsYWEpPT57aWYodm9pZCAwPT09Uy5sZW5ndGgpe2RvIE49Qi54KCkoUy5kYXRhKSxSPUIueSgpKFMuZGF0YSksSDw9TiYmTjxMJiZLPD1SJiZSPEomJk8oUy5kYXRhKTt3aGlsZShTPVMubmV4dCk7cmV0dXJuITB9cmV0dXJuIE4+PUx8fFg8PUh8fFI+PUp8fGFhPD1LfSl9O2YucXVhZFRyZWVWaXNpdFBvaW50c0luRGlzaz1mdW5jdGlvbihCLEgsSyxMLEope0IudmlzaXQoKE8sUyxOLFIsWCk9PntpZih2b2lkIDA9PT1PLmxlbmd0aCl7ZG8gUz0KQi54KCkoTy5kYXRhKSxOPUIueSgpKE8uZGF0YSksUz1mLmV1Y2xpZGVhbkRpc3QoSCxLLFMsTiksUzw9TCYmSihPLmRhdGEsUyk7d2hpbGUoTz1PLm5leHQpO3JldHVybiEwfXJldHVybiBmLnBvaW50VG9SZWN0YW5nbGVEaXN0KEgsSyxTLE4sUixYKT5MfSl9O2YuZmlsdGVyU2V0PWZ1bmN0aW9uKEIsSCl7Y29uc3QgSz1uZXcgU2V0O0IuZm9yRWFjaChMPT57SChMKSYmSy5hZGQoTCl9KTtyZXR1cm4gS307Zi5zZXRBcnJheU9ic2VydmFibHk9ZnVuY3Rpb24oQixIKXtjb25zdCBLPUIuZ2V0KCJzZXNzaW9uR3JvdXBzIixCKTtBcnJheS5pc0FycmF5KEspP0Iuc3BsaWNlLmFwcGx5KEIsWyJzZXNzaW9uR3JvdXBzIiwwLEsubGVuZ3RoXS5jb25jYXQoSCkpOkIuc2V0KCJzZXNzaW9uR3JvdXBzIixIKX07Zi5oYXNoT2ZTdHJpbmc9ZnVuY3Rpb24oQil7bGV0IEg9MDtmb3IobGV0IEs9MDtLPEIubGVuZ3RoOysrSylIPTMxKkgrQi5jaGFyQ29kZUF0KEspJjQyOTQ5NjcyOTU7cmV0dXJuIEgrCk1hdGgucG93KDIsMzEpfX0pKGQudXRpbHN8fChkLnV0aWxzPXt9KSl9KShiLmhwYXJhbXN8fChiLmhwYXJhbXM9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92YWFkaW4tZ3JpZC92YWFkaW4tZ3JpZC1jZWxsLWNsaWNrLWJlaGF2aW9yLmh0bWwuanMKd2luZG93LnZhYWRpbj13aW5kb3cudmFhZGlufHx7fTt2YWFkaW4uZWxlbWVudHM9dmFhZGluLmVsZW1lbnRzfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZD12YWFkaW4uZWxlbWVudHMuZ3JpZHx8e307CnZhYWRpbi5lbGVtZW50cy5ncmlkLkNlbGxDbGlja0JlaGF2aW9yPXtsaXN0ZW5lcnM6e2NsaWNrOiJfb25DbGljayJ9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fY2VsbENvbnRlbnRGb2N1c0hhbmRsZXI9ZnVuY3Rpb24oYil7Yi50YXJnZXQhPT10aGlzLl9jZWxsQ29udGVudCYmdGhpcy5maXJlKCJjZWxsLWNvbnRlbnQtZm9jdXMiLHtjZWxsOnRoaXN9KX0uYmluZCh0aGlzKTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9jZWxsQ29udGVudEZvY3VzSGFuZGxlciwhMCl9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5fY2VsbENvbnRlbnRGb2N1c0hhbmRsZXIsITApfSxfb25DbGljazpmdW5jdGlvbihiKXsidmFhZGluLWdyaWQtc29ydGVyIiE9PXRoaXMubG9jYWxOYW1lJiZ0aGlzLmZpcmUoImNlbGwtZm9jdXMiLHtjZWxsOnRoaXN9KTtpZih0aGlzLl9jZWxsQ2xpY2spe3ZhciBkPVBvbHltZXIuZG9tKGIpLmxvY2FsVGFyZ2V0OwpkLmdldERpc3RyaWJ1dGVkTm9kZXMmJihkPVBvbHltZXIuZG9tKGQpLmdldERpc3RyaWJ1dGVkTm9kZXMoKVswXSk7dmFyIGY9UG9seW1lci5kb20oYikucGF0aDtmPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGYsMCxmLmluZGV4T2YoZCkrMSk7ZC5jb250YWlucyh0aGlzLnRhcmdldCYmdGhpcy50YXJnZXQucm9vdC5hY3RpdmVFbGVtZW50fHxkb2N1bWVudC5hY3RpdmVFbGVtZW50KXx8Zi5zb21lKHRoaXMuX2lzRm9jdXNhYmxlKXx8dGhpcy5fY2VsbENsaWNrKGIpfX0sX2lzRm9jdXNhYmxlOmZ1bmN0aW9uKGIpe3ZhciBkPVBvbHltZXIuZG9tKGIpLnBhcmVudE5vZGU7ZD0tMSE9PUFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoUG9seW1lci5kb20oZCkucXVlcnlTZWxlY3RvckFsbCgiW3RhYmluZGV4XSwgYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgb2JqZWN0LCBpZnJhbWUsIGxhYmVsLCBhW2hyZWZdLCBhcmVhW2hyZWZdIiksYik7cmV0dXJuIWIuZGlzYWJsZWQmJgpkfX07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtZm9jdXNhYmxlLWNlbGwtY29udGFpbmVyLWJlaGF2aW9yLmh0bWwuanMKd2luZG93LnZhYWRpbj13aW5kb3cudmFhZGlufHx7fTt2YWFkaW4uZWxlbWVudHM9dmFhZGluLmVsZW1lbnRzfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZD12YWFkaW4uZWxlbWVudHMuZ3JpZHx8e307CnZhYWRpbi5lbGVtZW50cy5ncmlkLkZvY3VzYWJsZUNlbGxDb250YWluZXJCZWhhdmlvcj17cHJvcGVydGllczp7Zm9jdXNlZDp7dHlwZTpCb29sZWFuLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sX2ZvY3VzZWRSb3c6T2JqZWN0LF9mb2N1c2VkUm93SW5kZXg6TnVtYmVyLF9mb2N1c2VkQ2VsbDpPYmplY3QsX2ZvY3VzZWRDZWxsSW5kZXg6TnVtYmVyLF9sYXN0Rm9jdXNlZENlbGw6T2JqZWN0fSxvYnNlcnZlcnM6WyJfYW5ub3VuY2VGb2N1c2VkQ2VsbChfZm9jdXNlZENlbGwsIGZvY3VzZWQpIiwiX2Rpc3BhdGNoRXZlbnRzKF9mb2N1c2VkQ2VsbCwgZm9jdXNlZCkiLCJfZm9jdXNlZENlbGxDaGFuZ2VkKF9mb2N1c2VkUm93SW5kZXgsIF9mb2N1c2VkQ2VsbEluZGV4KSJdLF9hbm5vdW5jZUZvY3VzZWRDZWxsOmZ1bmN0aW9uKGIsZCl7dm9pZCAwIT09YiYmdm9pZCAwIT09ZCYmdGhpcy5kb21Ib3N0Lm5hdmlnYXRpbmcmJmQmJihkPVBvbHltZXIuRWxlbWVudD9iLl9jZWxsQ29udGVudC5nZXRBdHRyaWJ1dGUoInNsb3QiKToKYi5fY2VsbENvbnRlbnQuaWQsInZhYWRpbi1ncmlkLXRhYmxlLWJvZHkiIT09dGhpcy5pc3x8Yi5oYXNBdHRyaWJ1dGUoImRldGFpbHNjZWxsIil8fChiPUFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoUG9seW1lci5kb20oYi5wYXJlbnRFbGVtZW50KS5xdWVyeVNlbGVjdG9yQWxsKCIudmFhZGluLWdyaWQtY2VsbCIpLGIpLGQ9dGhpcy5kb21Ib3N0LiQuaGVhZGVyLmxhc3RFbGVtZW50Q2hpbGQuY2hpbGRyZW5bYl0uX2NlbGxDb250ZW50LmlkKyIgIitkKSx0aGlzLmRvbUhvc3QuJC5mb290ZXJGb2N1c1RyYXAuYWN0aXZlVGFyZ2V0PWQpfSxfZGlzcGF0Y2hFdmVudHM6ZnVuY3Rpb24oYixkKXt2b2lkIDAhPT1iJiZ2b2lkIDAhPT1kJiYodGhpcy5fbGFzdEZvY3VzZWRDZWxsJiYodGhpcy5fbGFzdEZvY3VzZWRDZWxsLl9jZWxsQ29udGVudC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2VsbC1mb2N1c291dCIpKSx0aGlzLl9sYXN0Rm9jdXNlZENlbGw9dm9pZCAwKSwKZCYmKGIuX2NlbGxDb250ZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjZWxsLWZvY3VzaW4iKSksdGhpcy5fbGFzdEZvY3VzZWRDZWxsPWIpKX0sX2ZvY3VzZWRDZWxsQ2hhbmdlZDpmdW5jdGlvbihiLGQpe3ZvaWQgMCE9PWImJnZvaWQgMCE9PWQmJkFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoUG9seW1lci5kb20odGhpcykuY2hpbGRyZW4sZnVuY3Rpb24oZixoKXtmLmZvY3VzZWQ9aD09PWI7Zi5mb2N1c2VkJiYodGhpcy5fZm9jdXNlZFJvdz1mLHRoaXMuX2ZvY3VzZWRDZWxsSW5kZXg9TWF0aC5taW4oZCxmLmNoaWxkcmVuLmxlbmd0aC0xKSx0aGlzLl9mb2N1c2VkQ2VsbD1mLmNoaWxkcmVuW3RoaXMuX2ZvY3VzZWRDZWxsSW5kZXhdKTtmLmNlbGxzLmZvckVhY2goZnVuY3Rpb24oayxyKXtrLmZvY3VzZWQ9cj09PXRoaXMuX2ZvY3VzZWRDZWxsSW5kZXh9LmJpbmQodGhpcykpfS5iaW5kKHRoaXMpKX0sZm9jdXNMZWZ0OmZ1bmN0aW9uKCl7aWYoIXRoaXMuX2ZvY3VzZWRDZWxsLmhhc0F0dHJpYnV0ZSgiZGV0YWlsc2NlbGwiKSl7dmFyIGI9CnRoaXMuX3Zpc2libGVDZWxsSW5kZXhlcygpOzA8Yi5sZW5ndGgmJih0aGlzLl9mb2N1c2VkQ2VsbEluZGV4PWJbTWF0aC5tYXgoMCxiLmluZGV4T2YodGhpcy5fZm9jdXNlZENlbGxJbmRleCktMSldKX19LGZvY3VzRG93bjpmdW5jdGlvbigpe3RoaXMuX2ZvY3VzZWRSb3dJbmRleD1NYXRoLm1pbih0aGlzLl9mb2N1c2VkUm93SW5kZXgrMSx0aGlzLmNoaWxkcmVuLmxlbmd0aC0xKX0sX3Zpc2libGVDZWxsSW5kZXhlczpmdW5jdGlvbigpe3ZhciBiPVtdO2lmKHRoaXMuX2ZvY3VzZWRSb3cmJnRoaXMuX2ZvY3VzZWRSb3cuY2hpbGRyZW4pe2Zvcih2YXIgZD10aGlzLl9mb2N1c2VkUm93LmNoaWxkcmVuLGY9MDtmPGQubGVuZ3RoO2YrKylkW2ZdLmhpZGRlbnx8ZFtmXT09PXRoaXMuX2ZvY3VzZWRSb3cuX3Jvd0RldGFpbHNDZWxsfHxiLnB1c2goZik7Yi5zb3J0KGZ1bmN0aW9uKGgsayl7cmV0dXJuIGRbaF0uY29sdW1uLl9vcmRlcjxkW2tdLmNvbHVtbi5fb3JkZXI/LTE6MX0pfXJldHVybiBifSwKZm9jdXNQYWdlRG93bjpmdW5jdGlvbigpe3RoaXMuX2ZvY3VzZWRSb3dJbmRleD1NYXRoLm1pbih0aGlzLl9mb2N1c2VkUm93SW5kZXgrMTAsdGhpcy5jaGlsZHJlbi5sZW5ndGgtMSl9LGZvY3VzUGFnZVVwOmZ1bmN0aW9uKCl7dGhpcy5fZm9jdXNlZFJvd0luZGV4PU1hdGgubWF4KDAsdGhpcy5fZm9jdXNlZFJvd0luZGV4LTEwKX0sZm9jdXNSaWdodDpmdW5jdGlvbigpe2lmKCF0aGlzLl9mb2N1c2VkQ2VsbC5oYXNBdHRyaWJ1dGUoImRldGFpbHNjZWxsIikpe3ZhciBiPXRoaXMuX3Zpc2libGVDZWxsSW5kZXhlcygpOzA8Yi5sZW5ndGgmJih0aGlzLl9mb2N1c2VkQ2VsbEluZGV4PWJbTWF0aC5taW4oYi5pbmRleE9mKHRoaXMuX2ZvY3VzZWRDZWxsSW5kZXgpKzEsYi5sZW5ndGgtMSldKX19LGZvY3VzVXA6ZnVuY3Rpb24oKXt0aGlzLl9mb2N1c2VkUm93SW5kZXg9TWF0aC5tYXgoMCx0aGlzLl9mb2N1c2VkUm93SW5kZXgtMSl9LGZvY3VzSG9tZTpmdW5jdGlvbigpe2lmKCF0aGlzLl9mb2N1c2VkQ2VsbC5oYXNBdHRyaWJ1dGUoImRldGFpbHNjZWxsIikpe3ZhciBiPQp0aGlzLl92aXNpYmxlQ2VsbEluZGV4ZXMoKTswPGIubGVuZ3RoJiYodGhpcy5fZm9jdXNlZENlbGxJbmRleD1iWzBdKX19LGZvY3VzRW5kOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX2ZvY3VzZWRDZWxsLmhhc0F0dHJpYnV0ZSgiZGV0YWlsc2NlbGwiKSl7dmFyIGI9dGhpcy5fdmlzaWJsZUNlbGxJbmRleGVzKCk7MDxiLmxlbmd0aCYmKHRoaXMuX2ZvY3VzZWRDZWxsSW5kZXg9YltiLmxlbmd0aC0xXSl9fSxmb2N1c0ZpcnN0OmZ1bmN0aW9uKCl7dGhpcy5fZm9jdXNlZFJvd0luZGV4PTA7dGhpcy5mb2N1c0hvbWUoKX0sZm9jdXNMYXN0OmZ1bmN0aW9uKCl7dGhpcy5fZm9jdXNlZFJvd0luZGV4PXRoaXMuY2hpbGRyZW4ubGVuZ3RoLTE7dGhpcy5mb2N1c0VuZCgpfX07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtdGFibGUtaGVhZGVyLWZvb3Rlci5odG1sLmpzCihmdW5jdGlvbigpe3ZhciBiPXtwcm9wZXJ0aWVzOntjb2x1bW5UcmVlOkFycmF5LHRhcmdldDpPYmplY3QsX3Jvd3M6QXJyYXl9LG9ic2VydmVyczpbIl9jb2x1bW5UcmVlQ2hhbmdlZChjb2x1bW5UcmVlLCB0YXJnZXQpIiwiX3Jvd3NDaGFuZ2VkKF9yb3dzKSJdLF9jb2x1bW5UcmVlQ2hhbmdlZDpmdW5jdGlvbihkLGYpe2lmKHZvaWQgMCE9PWQmJnZvaWQgMCE9PWYpe3RoaXMuX3Jvd3MmJnRoaXMuX3Jvd3MuZm9yRWFjaChmdW5jdGlvbihsKXtQb2x5bWVyLmRvbShsKS5pbm5lckhUTUw9IiJ9KTtmb3IodmFyIGg9W10saz0wO2s8ZC5sZW5ndGg7aysrKXt2YXIgcj10aGlzLl9jcmVhdGVSb3coKTtyLnRhcmdldD1mO3IuX2lzQ29sdW1uUm93PWs9PWQubGVuZ3RoLTE7ci5jb2x1bW5zPWRba107aC5wdXNoKHIpfXRoaXMuX3Jvd3M9InZhYWRpbi1ncmlkLXRhYmxlLWhlYWRlciI9PT10aGlzLmxvY2FsTmFtZT9oOmgucmV2ZXJzZSgpfX0sX3Jvd3NDaGFuZ2VkOmZ1bmN0aW9uKGQpe1BvbHltZXIuZG9tKHRoaXMpLmlubmVySFRNTD0KIiI7ZC5mb3JFYWNoKGZ1bmN0aW9uKGYpe1BvbHltZXIuZG9tKHRoaXMpLmFwcGVuZENoaWxkKGYpfS5iaW5kKHRoaXMpKX19O1BvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC10YWJsZS1oZWFkZXIiLGJlaGF2aW9yczpbYix2YWFkaW4uZWxlbWVudHMuZ3JpZC5Gb2N1c2FibGVDZWxsQ29udGFpbmVyQmVoYXZpb3JdLF9jcmVhdGVSb3c6ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmFhZGluLWdyaWQtdGFibGUtaGVhZGVyLXJvdyIpfX0pO1BvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC10YWJsZS1ib2R5IixiZWhhdmlvcnM6W3ZhYWRpbi5lbGVtZW50cy5ncmlkLkZvY3VzYWJsZUNlbGxDb250YWluZXJCZWhhdmlvcl0sb2JzZXJ2ZXJzOlsiX2Fubm91bmNlRm9jdXNlZFJvdyhfZm9jdXNlZFJvdykiXSxfYW5ub3VuY2VGb2N1c2VkUm93OmZ1bmN0aW9uKGQpe3RoaXMuZmlyZSgiaXJvbi1hbm5vdW5jZSIse3RleHQ6IlJvdyAiKyhkLmluZGV4KzEpKyIgb2YgIisKdGhpcy5kb21Ib3N0LnNpemV9KX0sX21vdmVGb2N1c1RvRGV0YWlsc0NlbGw6ZnVuY3Rpb24oKXt0aGlzLl9mb2N1c2VkQ2VsbC5mb2N1c2VkPSExO3RoaXMuX2ZvY3VzZWRSb3cuX3Jvd0RldGFpbHNDZWxsLmZvY3VzZWQ9ITA7dGhpcy5fZm9jdXNlZENlbGw9dGhpcy5fZm9jdXNlZFJvdy5fcm93RGV0YWlsc0NlbGx9LF9mb2N1c2VkUm93SGFzRGV0YWlsc0NlbGw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZm9jdXNlZFJvdyYmdGhpcy5fZm9jdXNlZFJvdy5fcm93RGV0YWlsc0NlbGwmJnRoaXMuX2ZvY3VzZWRDZWxsIT09dGhpcy5fZm9jdXNlZFJvdy5fcm93RGV0YWlsc0NlbGx9LGZvY3VzRG93bjpmdW5jdGlvbigpe3RoaXMuX2ZvY3VzZWRSb3dIYXNEZXRhaWxzQ2VsbCgpP3RoaXMuX21vdmVGb2N1c1RvRGV0YWlsc0NlbGwoKTp0aGlzLl9mb2N1c2VkUm93SW5kZXg9TWF0aC5taW4odGhpcy5fZm9jdXNlZFJvd0luZGV4KzEsdGhpcy5kb21Ib3N0LnNpemUtMSl9LGZvY3VzVXA6ZnVuY3Rpb24oKXt0aGlzLl9mb2N1c2VkUm93JiYKdGhpcy5fZm9jdXNlZENlbGw9PT10aGlzLl9mb2N1c2VkUm93Ll9yb3dEZXRhaWxzQ2VsbD90aGlzLl9mb2N1c2VkQ2VsbENoYW5nZWQodGhpcy5fZm9jdXNlZFJvd0luZGV4LHRoaXMuX2ZvY3VzZWRDZWxsSW5kZXgpOih0aGlzLl9mb2N1c2VkUm93SW5kZXg9TWF0aC5tYXgoMCx0aGlzLl9mb2N1c2VkUm93SW5kZXgtMSksdGhpcy5fZm9jdXNlZFJvd0hhc0RldGFpbHNDZWxsKCkmJnRoaXMuX21vdmVGb2N1c1RvRGV0YWlsc0NlbGwoKSl9LGZvY3VzTGFzdDpmdW5jdGlvbigpe3RoaXMuX2ZvY3VzZWRSb3dJbmRleD10aGlzLmRvbUhvc3Quc2l6ZS0xO3RoaXMuZm9jdXNFbmQoKX0sX2ZvY3VzZWRDZWxsQ2hhbmdlZDpmdW5jdGlvbihkLGYpe3ZvaWQgMCE9PWQmJnZvaWQgMCE9PWYmJkFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoUG9seW1lci5kb20odGhpcykuY2hpbGRyZW4sZnVuY3Rpb24oaCl7aC5mb2N1c2VkPWguaW5kZXg9PT1kO2guaW5kZXg9PT1kJiYodGhpcy5fZm9jdXNlZFJvdz0KaCx0aGlzLl9mb2N1c2VkQ2VsbD1oLmNoaWxkcmVuW2ZdKTtoLml0ZXJhdGVDZWxscyhmdW5jdGlvbihrLHIpe2suZm9jdXNlZD1yPT09Zn0pfS5iaW5kKHRoaXMpKX19KTtQb2x5bWVyKHtpczoidmFhZGluLWdyaWQtdGFibGUtZm9vdGVyIixiZWhhdmlvcnM6W2IsdmFhZGluLmVsZW1lbnRzLmdyaWQuRm9jdXNhYmxlQ2VsbENvbnRhaW5lckJlaGF2aW9yXSxfY3JlYXRlUm93OmZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZhYWRpbi1ncmlkLXRhYmxlLWZvb3Rlci1yb3ciKX19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtdGVtcGxhdGl6ZXIuaHRtbC5qcwp3aW5kb3cudmFhZGluPXdpbmRvdy52YWFkaW58fHt9O3ZhYWRpbi5lbGVtZW50cz12YWFkaW4uZWxlbWVudHN8fHt9O3ZhYWRpbi5lbGVtZW50cy5ncmlkPXZhYWRpbi5lbGVtZW50cy5ncmlkfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZC5UZW1wbGF0aXplcj1mdW5jdGlvbigpe307CnZhYWRpbi5lbGVtZW50cy5ncmlkLlRlbXBsYXRpemVyPVBvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC10ZW1wbGF0aXplciIsYmVoYXZpb3JzOltQb2x5bWVyLlRlbXBsYXRpemVyXSxwcm9wZXJ0aWVzOntkYXRhSG9zdDpPYmplY3QsdGVtcGxhdGU6T2JqZWN0LF90ZW1wbGF0ZUluc3RhbmNlczp7dHlwZTpBcnJheSx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX0sX3BhcmVudFBhdGhWYWx1ZXM6e3ZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue319fX0sb2JzZXJ2ZXJzOlsiX3RlbXBsYXRlSW5zdGFuY2VzQ2hhbmdlZChfdGVtcGxhdGVJbnN0YW5jZXMuKiwgX3BhcmVudFBhdGhWYWx1ZXMuKikiXSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5fcGFyZW50TW9kZWw9ITA7dGhpcy5faW5zdGFuY2VQcm9wcz17ZXhwYW5kZWQ6ITAsaW5kZXg6ITAsaXRlbTohMCxzZWxlY3RlZDohMH19LGNyZWF0ZUluc3RhbmNlOmZ1bmN0aW9uKCl7dGhpcy5fZW5zdXJlVGVtcGxhdGl6ZWQoKTt2YXIgYj10aGlzLnN0YW1wKHt9KTsKdGhpcy5hZGRJbnN0YW5jZShiKTtyZXR1cm4gYn0sYWRkSW5zdGFuY2U6ZnVuY3Rpb24oYil7LTE9PT10aGlzLl90ZW1wbGF0ZUluc3RhbmNlcy5pbmRleE9mKGIpJiZ0aGlzLnB1c2goIl90ZW1wbGF0ZUluc3RhbmNlcyIsYil9LHJlbW92ZUluc3RhbmNlOmZ1bmN0aW9uKGIpe3RoaXMuc3BsaWNlKCJfdGVtcGxhdGVJbnN0YW5jZXMiLHRoaXMuX3RlbXBsYXRlSW5zdGFuY2VzLmluZGV4T2YoYiksMSl9LF9lbnN1cmVUZW1wbGF0aXplZDpmdW5jdGlvbigpe3RoaXMudGVtcGxhdGUuX3RlbXBsYXRpemVkfHwodGhpcy50ZW1wbGF0ZS5fdGVtcGxhdGl6ZWQ9ITAsdGhpcy50ZW1wbGF0aXplKHRoaXMudGVtcGxhdGUpLHRoaXMuX3BhcmVudFByb3BzPXRoaXMuX3BhcmVudFByb3BzfHx7fSxQb2x5bWVyLkVsZW1lbnR8fE9iamVjdC5rZXlzKHRoaXMuX3BhcmVudFByb3BzKS5mb3JFYWNoKGZ1bmN0aW9uKCl7fSx0aGlzKSl9LF9mb3J3YXJkSW5zdGFuY2VQcm9wOmZ1bmN0aW9uKGIsZCxmKXt2b2lkIDAhPT0KYlsiX18iK2QrIl9fIl0mJmJbIl9fIitkKyJfXyJdIT09ZiYmdGhpcy5maXJlKCJ0ZW1wbGF0ZS1pbnN0YW5jZS1jaGFuZ2VkIix7cHJvcDpkLHZhbHVlOmYsaW5zdDpifSl9LF9mb3J3YXJkSW5zdGFuY2VQYXRoOmZ1bmN0aW9uKGIsZCxmKXswIT09ZC5pbmRleE9mKCJpdGVtLiIpfHx0aGlzLl9zdXBwcmVzc0l0ZW1DaGFuZ2VFdmVudHx8dGhpcy5maXJlKCJpdGVtLWNoYW5nZWQiLHtpdGVtOmIuaXRlbSxwYXRoOmQuc3Vic3RyaW5nKDUpLHZhbHVlOmZ9KX0sX25vdGlmeUluc3RhbmNlUHJvcFYyOmZ1bmN0aW9uKGIsZCxmKXt0aGlzLl9mb3J3YXJkSW5zdGFuY2VQcm9wKGIsZCxmKTt0aGlzLl9mb3J3YXJkSW5zdGFuY2VQYXRoKGIsZCxmKX0sX2ZvcndhcmRQYXJlbnRQcm9wOmZ1bmN0aW9uKGIsZCl7dGhpcy5fcGFyZW50UGF0aFZhbHVlc1tiXT1kO3RoaXMuX3RlbXBsYXRlSW5zdGFuY2VzLmZvckVhY2goZnVuY3Rpb24oZil7Zi5zZXQoYixkKX0sdGhpcyl9LF9mb3J3YXJkUGFyZW50UGF0aDpmdW5jdGlvbihiLApkKXt0aGlzLnNldChbIl9wYXJlbnRQYXRoVmFsdWVzIixiXSxkKTt0aGlzLl90ZW1wbGF0ZUluc3RhbmNlcy5mb3JFYWNoKGZ1bmN0aW9uKGYpe2Yubm90aWZ5UGF0aChiLGQpfSx0aGlzKX0sX2ZvcndhcmRIb3N0UHJvcFYyOmZ1bmN0aW9uKGIsZCl7dGhpcy5fZm9yd2FyZFBhcmVudFByb3AoYixkKTt0aGlzLl90ZW1wbGF0ZUluc3RhbmNlcyYmdGhpcy5fdGVtcGxhdGVJbnN0YW5jZXMuZm9yRWFjaChmdW5jdGlvbihmKXtmLm5vdGlmeVBhdGgoYixkKX0sdGhpcyl9LF90ZW1wbGF0ZUluc3RhbmNlc0NoYW5nZWQ6ZnVuY3Rpb24oYil7aWYoIl90ZW1wbGF0ZUluc3RhbmNlcyI9PT1iLnBhdGgpe3ZhciBkPTA7dmFyIGY9dGhpcy5fdGVtcGxhdGVJbnN0YW5jZXMubGVuZ3RofWVsc2UgaWYoIl90ZW1wbGF0ZUluc3RhbmNlcy5zcGxpY2VzIj09PWIucGF0aClkPWIudmFsdWUuaW5kZXgsZj1iLnZhbHVlLmFkZGVkQ291bnQ7ZWxzZSByZXR1cm47T2JqZWN0LmtleXModGhpcy5fcGFyZW50UGF0aFZhbHVlc3x8Cnt9KS5mb3JFYWNoKGZ1bmN0aW9uKGgpe2Zvcih2YXIgaz1kO2s8ZCtmO2srKyl0aGlzLl90ZW1wbGF0ZUluc3RhbmNlc1trXS5zZXQoaCx0aGlzLl9wYXJlbnRQYXRoVmFsdWVzW2hdKX0sdGhpcyl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtc2VsZWN0aW9uLWJlaGF2aW9yLmh0bWwuanMKd2luZG93LnZhYWRpbj13aW5kb3cudmFhZGlufHx7fTt2YWFkaW4uZWxlbWVudHM9dmFhZGluLmVsZW1lbnRzfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZD12YWFkaW4uZWxlbWVudHMuZ3JpZHx8e307CnZhYWRpbi5lbGVtZW50cy5ncmlkLlNlbGVjdGlvbkJlaGF2aW9yPXtwcm9wZXJ0aWVzOntzZWxlY3RlZEl0ZW1zOnt0eXBlOk9iamVjdCxub3RpZnk6ITAsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm5bXX19fSxvYnNlcnZlcnM6WyJfc2VsZWN0ZWRJdGVtc0NoYW5nZWQoc2VsZWN0ZWRJdGVtcy4qKSJdLGxpc3RlbmVyczp7InRlbXBsYXRlLWluc3RhbmNlLWNoYW5nZWQiOiJfdGVtcGxhdGVJbnN0YW5jZUNoYW5nZWRTZWxlY3Rpb24ifSxfdGVtcGxhdGVJbnN0YW5jZUNoYW5nZWRTZWxlY3Rpb246ZnVuY3Rpb24oYil7aWYoInNlbGVjdGVkIj09PWIuZGV0YWlsLnByb3Ape3ZhciBkPWIuZGV0YWlsLmluc3QuaXRlbTsodGhpcy5faXNTZWxlY3RlZChkKT90aGlzLmRlc2VsZWN0SXRlbTp0aGlzLnNlbGVjdEl0ZW0pLmJpbmQodGhpcykoZCk7dGhpcy5maXJlKCJpcm9uLWFubm91bmNlIix7dGV4dDoodGhpcy5faXNTZWxlY3RlZChkKT8iU2VsZWN0ZWQiOiJEZXNlbGVjdGVkIikrIiBSb3cgIisKKGIuZGV0YWlsLmluc3QuaW5kZXgrMSkrIiBvZiAiK3RoaXMuc2l6ZX0pO2Iuc3RvcFByb3BhZ2F0aW9uKCl9fSxfaXNTZWxlY3RlZDpmdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zJiYtMTx0aGlzLnNlbGVjdGVkSXRlbXMuaW5kZXhPZihiKX0sc2VsZWN0SXRlbTpmdW5jdGlvbihiKXtiPXRoaXMuX3Rha2VJdGVtKGIpO3RoaXMuX2lzU2VsZWN0ZWQoYil8fHRoaXMucHVzaCgic2VsZWN0ZWRJdGVtcyIsYil9LGRlc2VsZWN0SXRlbTpmdW5jdGlvbihiKXtiPXRoaXMuX3Rha2VJdGVtKGIpO2I9dGhpcy5zZWxlY3RlZEl0ZW1zLmluZGV4T2YoYik7LTE8YiYmdGhpcy5zcGxpY2UoInNlbGVjdGVkSXRlbXMiLGIsMSl9LF90b2dnbGVJdGVtOmZ1bmN0aW9uKGIpe2I9dGhpcy5fdGFrZUl0ZW0oYik7LTE9PT10aGlzLnNlbGVjdGVkSXRlbXMuaW5kZXhPZihiKT90aGlzLnNlbGVjdEl0ZW0oYik6dGhpcy5kZXNlbGVjdEl0ZW0oYil9LF90YWtlSXRlbTpmdW5jdGlvbihiKXtyZXR1cm4ibnVtYmVyIj09PQp0eXBlb2YgYiYmMDw9YiYmdGhpcy5pdGVtcyYmdGhpcy5pdGVtcy5sZW5ndGg+Yj90aGlzLml0ZW1zW2JdOmJ9LF9zZWxlY3RlZEl0ZW1zQ2hhbmdlZDpmdW5jdGlvbihiKXshdGhpcy4kLnNjcm9sbGVyLl9waHlzaWNhbEl0ZW1zfHwic2VsZWN0ZWRJdGVtcyIhPT1iLnBhdGgmJiJzZWxlY3RlZEl0ZW1zLnNwbGljZXMiIT09Yi5wYXRofHx0aGlzLiQuc2Nyb2xsZXIuX3BoeXNpY2FsSXRlbXMuZm9yRWFjaChmdW5jdGlvbihkKXtkLnNlbGVjdGVkPXRoaXMuX2lzU2VsZWN0ZWQoZC5pdGVtKX0uYmluZCh0aGlzKSl9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92YWFkaW4tZ3JpZC9pcm9uLWxpc3QtYmVoYXZpb3IuaHRtbC5qcwp3aW5kb3cudmFhZGluPXdpbmRvdy52YWFkaW58fHt9O3ZhYWRpbi5lbGVtZW50cz12YWFkaW4uZWxlbWVudHN8fHt9O3ZhYWRpbi5lbGVtZW50cy5ncmlkPXZhYWRpbi5lbGVtZW50cy5ncmlkfHx7fTsKdmFhZGluLmVsZW1lbnRzLmdyaWQuSXJvbkxpc3RCZWhhdmlvckltcGw9ZnVuY3Rpb24oKXt2YXIgYj1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUCg/OmhvbmV8YWQ7KD86IFU7KT8gQ1BVKSBPUyAoXGQrKS8pLGQ9YiYmODw9YlsxXTtyZXR1cm57aXM6Imlyb24tbGlzdCIscHJvcGVydGllczp7bWF4UGh5c2ljYWxDb3VudDp7dHlwZTpOdW1iZXIsdmFsdWU6NTAwfSxhczp7dHlwZTpTdHJpbmcsdmFsdWU6Iml0ZW0ifSxpbmRleEFzOnt0eXBlOlN0cmluZyx2YWx1ZToiaW5kZXgifX0sX3JhdGlvOi41LF9zY3JvbGxlclBhZGRpbmdUb3A6MCxfc2Nyb2xsUG9zaXRpb246MCxfcGh5c2ljYWxTaXplOjAsX3BoeXNpY2FsQXZlcmFnZTowLF9waHlzaWNhbEF2ZXJhZ2VDb3VudDowLF9waHlzaWNhbFRvcDowLF92aXJ0dWFsQ291bnQ6MCxfcGh5c2ljYWxJbmRleEZvcktleTpudWxsLF9lc3RTY3JvbGxIZWlnaHQ6MCxfc2Nyb2xsSGVpZ2h0OjAsX3ZpZXdwb3J0SGVpZ2h0OjAsX3ZpZXdwb3J0V2lkdGg6MCwKX3BoeXNpY2FsSXRlbXM6bnVsbCxfcGh5c2ljYWxTaXplczpudWxsLF9maXJzdFZpc2libGVJbmRleFZhbDpudWxsLF9sYXN0VmlzaWJsZUluZGV4VmFsOm51bGwsX2NvbGxlY3Rpb246bnVsbCxfaXRlbXNSZW5kZXJlZDohMSxfbGFzdFBhZ2U6bnVsbCxfbWF4UGFnZXM6MyxfaXRlbXNQZXJSb3c6MSxfaXRlbVdpZHRoOjAsX3Jvd0hlaWdodDowLGdldCBfcGh5c2ljYWxCb3R0b20oKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxUb3ArdGhpcy5fcGh5c2ljYWxTaXplfSxnZXQgX3Njcm9sbEJvdHRvbSgpe3JldHVybiB0aGlzLl9zY3JvbGxQb3NpdGlvbit0aGlzLl92aWV3cG9ydEhlaWdodH0sZ2V0IF92aXJ0dWFsRW5kKCl7cmV0dXJuIHRoaXMuX3ZpcnR1YWxTdGFydCt0aGlzLl9waHlzaWNhbENvdW50LTF9LGdldCBfaGlkZGVuQ29udGVudFNpemUoKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxTaXplLXRoaXMuX3ZpZXdwb3J0SGVpZ2h0fSxnZXQgX21heFNjcm9sbFRvcCgpe3JldHVybiB0aGlzLl9lc3RTY3JvbGxIZWlnaHQtCnRoaXMuX3ZpZXdwb3J0SGVpZ2h0K3RoaXMuX3Njcm9sbGVyUGFkZGluZ1RvcH0sX21pblZpcnR1YWxTdGFydDowLGdldCBfbWF4VmlydHVhbFN0YXJ0KCl7cmV0dXJuIE1hdGgubWF4KDAsdGhpcy5fdmlydHVhbENvdW50LXRoaXMuX3BoeXNpY2FsQ291bnQpfSxfdmlydHVhbFN0YXJ0VmFsOjAsc2V0IF92aXJ0dWFsU3RhcnQoZil7dGhpcy5fdmlydHVhbFN0YXJ0VmFsPU1hdGgubWluKHRoaXMuX21heFZpcnR1YWxTdGFydCxNYXRoLm1heCh0aGlzLl9taW5WaXJ0dWFsU3RhcnQsZikpfSxnZXQgX3ZpcnR1YWxTdGFydCgpe3JldHVybiB0aGlzLl92aXJ0dWFsU3RhcnRWYWx8fDB9LF9waHlzaWNhbFN0YXJ0VmFsOjAsc2V0IF9waHlzaWNhbFN0YXJ0KGYpe3RoaXMuX3BoeXNpY2FsU3RhcnRWYWw9ZiV0aGlzLl9waHlzaWNhbENvdW50OzA+dGhpcy5fcGh5c2ljYWxTdGFydFZhbCYmKHRoaXMuX3BoeXNpY2FsU3RhcnRWYWw9dGhpcy5fcGh5c2ljYWxDb3VudCt0aGlzLl9waHlzaWNhbFN0YXJ0VmFsKTsKdGhpcy5fcGh5c2ljYWxFbmQ9KHRoaXMuX3BoeXNpY2FsU3RhcnQrdGhpcy5fcGh5c2ljYWxDb3VudC0xKSV0aGlzLl9waHlzaWNhbENvdW50fSxnZXQgX3BoeXNpY2FsU3RhcnQoKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxTdGFydFZhbHx8MH0sX3BoeXNpY2FsQ291bnRWYWw6MCxzZXQgX3BoeXNpY2FsQ291bnQoZil7dGhpcy5fcGh5c2ljYWxDb3VudFZhbD1mO3RoaXMuX3BoeXNpY2FsRW5kPSh0aGlzLl9waHlzaWNhbFN0YXJ0K3RoaXMuX3BoeXNpY2FsQ291bnQtMSkldGhpcy5fcGh5c2ljYWxDb3VudH0sZ2V0IF9waHlzaWNhbENvdW50KCl7cmV0dXJuIHRoaXMuX3BoeXNpY2FsQ291bnRWYWx9LF9waHlzaWNhbEVuZDowLGdldCBfb3B0UGh5c2ljYWxTaXplKCl7cmV0dXJuIHRoaXMuX3ZpZXdwb3J0SGVpZ2h0KnRoaXMuX21heFBhZ2VzfSxnZXQgX29wdFBoeXNpY2FsQ291bnQoKXtyZXR1cm4gdGhpcy5fZXN0Um93c0luVmlldyp0aGlzLl9pdGVtc1BlclJvdyp0aGlzLl9tYXhQYWdlc30sCmdldCBfaXNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuc2Nyb2xsVGFyZ2V0JiYhKCF0aGlzLnNjcm9sbFRhcmdldC5vZmZzZXRXaWR0aCYmIXRoaXMuc2Nyb2xsVGFyZ2V0Lm9mZnNldEhlaWdodCl9LGdldCBmaXJzdFZpc2libGVJbmRleCgpe2lmKG51bGw9PT10aGlzLl9maXJzdFZpc2libGVJbmRleFZhbCl7dmFyIGY9TWF0aC5mbG9vcih0aGlzLl9waHlzaWNhbFRvcCt0aGlzLl9zY3JvbGxlclBhZGRpbmdUb3ApO3RoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsPXRoaXMuX2l0ZXJhdGVJdGVtcyhmdW5jdGlvbihoLGspe2YrPXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudChoKTtpZihmPnRoaXMuX3Njcm9sbFBvc2l0aW9uKXJldHVybiBrfSl8fDB9cmV0dXJuIHRoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsfSxnZXQgbGFzdFZpc2libGVJbmRleCgpe2lmKG51bGw9PT10aGlzLl9sYXN0VmlzaWJsZUluZGV4VmFsKXt2YXIgZj10aGlzLl9waHlzaWNhbFRvcDt0aGlzLl9pdGVyYXRlSXRlbXMoZnVuY3Rpb24oaCwKayl7aWYoZjx0aGlzLl9zY3JvbGxCb3R0b20pdGhpcy5fbGFzdFZpc2libGVJbmRleFZhbD1rO2Vsc2UgcmV0dXJuITA7Zis9dGhpcy5fZ2V0UGh5c2ljYWxTaXplSW5jcmVtZW50KGgpfSl9cmV0dXJuIHRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWx9LGdldCBfZGVmYXVsdFNjcm9sbFRhcmdldCgpe3JldHVybiB0aGlzfSxnZXQgX3ZpcnR1YWxSb3dDb3VudCgpe3JldHVybiBNYXRoLmNlaWwodGhpcy5fdmlydHVhbENvdW50L3RoaXMuX2l0ZW1zUGVyUm93KX0sZ2V0IF9lc3RSb3dzSW5WaWV3KCl7cmV0dXJuIE1hdGguY2VpbCh0aGlzLl92aWV3cG9ydEhlaWdodC90aGlzLl9yb3dIZWlnaHQpfSxnZXQgX3BoeXNpY2FsUm93cygpe3JldHVybiBNYXRoLmNlaWwodGhpcy5fcGh5c2ljYWxDb3VudC90aGlzLl9pdGVtc1BlclJvdyl9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy51cGRhdGVWaWV3cG9ydEJvdW5kYXJpZXMoKTt0aGlzLl9yZW5kZXIoKTt0aGlzLmxpc3Rlbih0aGlzLCJpcm9uLXJlc2l6ZSIsCiJfcmVzaXplSGFuZGxlciIpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2l0ZW1zUmVuZGVyZWQ9ITE7dGhpcy51bmxpc3Rlbih0aGlzLCJpcm9uLXJlc2l6ZSIsIl9yZXNpemVIYW5kbGVyIil9LHVwZGF0ZVZpZXdwb3J0Qm91bmRhcmllczpmdW5jdGlvbigpe3RoaXMuX3Njcm9sbGVyUGFkZGluZ1RvcD10aGlzLnNjcm9sbFRhcmdldD09PXRoaXM/MDpwYXJzZUludCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzKVsicGFkZGluZy10b3AiXXx8MCwxMCk7dGhpcy5fdmlld3BvcnRIZWlnaHQ9dGhpcy5fc2Nyb2xsVGFyZ2V0SGVpZ2h0fSxfdXBkYXRlOmZ1bmN0aW9uKGYsaCl7dGhpcy5fYXNzaWduTW9kZWxzKGYpO3RoaXMuX3VwZGF0ZU1ldHJpY3MoZik7aWYoaClmb3IoO2gubGVuZ3RoOylmPWgucG9wKCksdGhpcy5fcGh5c2ljYWxUb3AtPXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudChmKTt0aGlzLl9wb3NpdGlvbkl0ZW1zKCk7dGhpcy5fdXBkYXRlU2Nyb2xsZXJTaXplKCk7CnRoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkKCl9LF9pbmNyZWFzZVBvb2xJZk5lZWRlZDpmdW5jdGlvbigpe2lmKDA9PT10aGlzLl92aWV3cG9ydEhlaWdodClyZXR1cm4hMTt2YXIgZj10aGlzLl9waHlzaWNhbFNpemVzLnJlZHVjZShmdW5jdGlvbihrLHIpe3JldHVybiBrKyhyfHwxMDApfSwwKSxoPWY+dGhpcy5fdmlld3BvcnRIZWlnaHQ7aWYoZj49dGhpcy5fb3B0UGh5c2ljYWxTaXplJiZoKXJldHVybiExO2Y9TWF0aC5mbG9vcih0aGlzLl9waHlzaWNhbFNpemUvdGhpcy5fdmlld3BvcnRIZWlnaHQpOzA9PT1mP3RoaXMuX2RlYm91bmNlVGVtcGxhdGUodGhpcy5faW5jcmVhc2VQb29sLmJpbmQodGhpcyxNYXRoLnJvdW5kKC41KnRoaXMuX3BoeXNpY2FsQ291bnQpKSk6dGhpcy5fbGFzdFBhZ2UhPT1mJiZoP1BvbHltZXIuZG9tLmFkZERlYm91bmNlcih0aGlzLmRlYm91bmNlKCJfZGVib3VuY2VUZW1wbGF0ZSIsdGhpcy5faW5jcmVhc2VQb29sLmJpbmQodGhpcyx0aGlzLl9pdGVtc1BlclJvdyksCjE2KSk6dGhpcy5fZGVib3VuY2VUZW1wbGF0ZSh0aGlzLl9pbmNyZWFzZVBvb2wuYmluZCh0aGlzLE1hdGguY2VpbCh0aGlzLl92aWV3cG9ydEhlaWdodC8odGhpcy5fcGh5c2ljYWxTaXplL3RoaXMuX3BoeXNpY2FsQ291bnQpKnRoaXMuX21heFBhZ2VzLXRoaXMuX3BoeXNpY2FsQ291bnQpfHwxKSk7dGhpcy5fbGFzdFBhZ2U9ZjtyZXR1cm4hMH0sX2RlYm91bmNlVGVtcGxhdGU6ZnVuY3Rpb24oZil7UG9seW1lci5kb20uYWRkRGVib3VuY2VyKHRoaXMuZGVib3VuY2UoIl9kZWJvdW5jZVRlbXBsYXRlIixmKSl9LF9pbmNyZWFzZVBvb2w6ZnVuY3Rpb24oZil7dmFyIGg9dGhpcy5fcGh5c2ljYWxDb3VudDtmPU1hdGgubWluKHRoaXMuX3BoeXNpY2FsQ291bnQrZix0aGlzLl92aXJ0dWFsQ291bnQtdGhpcy5fdmlydHVhbFN0YXJ0LE1hdGgubWF4KHRoaXMubWF4UGh5c2ljYWxDb3VudCwyNSkpLWg7MD49Znx8KFtdLnB1c2guYXBwbHkodGhpcy5fcGh5c2ljYWxJdGVtcyx0aGlzLl9jcmVhdGVQb29sKGYpKSwKW10ucHVzaC5hcHBseSh0aGlzLl9waHlzaWNhbFNpemVzLEFycmF5KGYpKSx0aGlzLl9waHlzaWNhbENvdW50PWgrZix0aGlzLl91cGRhdGUoKSl9LF9yZW5kZXI6ZnVuY3Rpb24oKXt2YXIgZj0wPHRoaXMuX3ZpcnR1YWxDb3VudHx8MDx0aGlzLl9waHlzaWNhbENvdW50O3RoaXMuaXNBdHRhY2hlZCYmIXRoaXMuX2l0ZW1zUmVuZGVyZWQmJnRoaXMuX2lzVmlzaWJsZSYmZiYmKHRoaXMuX2xhc3RQYWdlPTAsdGhpcy5fdXBkYXRlKCksdGhpcy5faXRlbXNSZW5kZXJlZD0hMCl9LF9pdGVyYXRlSXRlbXM6ZnVuY3Rpb24oZixoKXt2YXIgayxyO2lmKDI9PT1hcmd1bWVudHMubGVuZ3RoJiZoKWZvcihyPTA7cjxoLmxlbmd0aDtyKyspe3ZhciBsPWhbcl07dmFyIHA9dGhpcy5fY29tcHV0ZVZpZHgobCk7aWYobnVsbCE9KGs9Zi5jYWxsKHRoaXMsbCxwKSkpcmV0dXJuIGt9ZWxzZXtsPXRoaXMuX3BoeXNpY2FsU3RhcnQ7Zm9yKHA9dGhpcy5fdmlydHVhbFN0YXJ0O2w8dGhpcy5fcGh5c2ljYWxDb3VudDtsKyssCnArKylpZihudWxsIT0oaz1mLmNhbGwodGhpcyxsLHApKSlyZXR1cm4gaztmb3IobD0wO2w8dGhpcy5fcGh5c2ljYWxTdGFydDtsKysscCsrKWlmKG51bGwhPShrPWYuY2FsbCh0aGlzLGwscCkpKXJldHVybiBrfX0sX2NvbXB1dGVWaWR4OmZ1bmN0aW9uKGYpe3JldHVybiBmPj10aGlzLl9waHlzaWNhbFN0YXJ0P3RoaXMuX3ZpcnR1YWxTdGFydCsoZi10aGlzLl9waHlzaWNhbFN0YXJ0KTp0aGlzLl92aXJ0dWFsU3RhcnQrKHRoaXMuX3BoeXNpY2FsQ291bnQtdGhpcy5fcGh5c2ljYWxTdGFydCkrZn0sX3VwZGF0ZU1ldHJpY3M6ZnVuY3Rpb24oZil7dGhpcy5zY3JvbGxpbmcmJlBvbHltZXIuZG9tLmZsdXNoKCk7dmFyIGg9MCxrPTAscj10aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudCxsPXRoaXMuX3BoeXNpY2FsQXZlcmFnZTt0aGlzLl9pdGVyYXRlSXRlbXMoZnVuY3Rpb24ocCl7ays9dGhpcy5fcGh5c2ljYWxTaXplc1twXXx8MDt0aGlzLl9waHlzaWNhbFNpemVzW3BdPXRoaXMuX3BoeXNpY2FsSXRlbXNbcF0ub2Zmc2V0SGVpZ2h0OwpoKz10aGlzLl9waHlzaWNhbFNpemVzW3BdO3RoaXMuX3BoeXNpY2FsQXZlcmFnZUNvdW50Kz10aGlzLl9waHlzaWNhbFNpemVzW3BdPzE6MH0sZik7dGhpcy5fdmlld3BvcnRIZWlnaHQ9dGhpcy5fc2Nyb2xsVGFyZ2V0SGVpZ2h0O3RoaXMuX3BoeXNpY2FsU2l6ZT10aGlzLl9waHlzaWNhbFNpemUraC1rO3RoaXMuX3BoeXNpY2FsQXZlcmFnZUNvdW50IT09ciYmKHRoaXMuX3BoeXNpY2FsQXZlcmFnZT1NYXRoLnJvdW5kKChsKnIraCkvdGhpcy5fcGh5c2ljYWxBdmVyYWdlQ291bnQpKX0sX3Bvc2l0aW9uSXRlbXM6ZnVuY3Rpb24oKXt0aGlzLl9hZGp1c3RTY3JvbGxQb3NpdGlvbigpO3ZhciBmPXRoaXMuX3BoeXNpY2FsVG9wO3RoaXMuX2l0ZXJhdGVJdGVtcyhmdW5jdGlvbihoKXt0aGlzLl9waHlzaWNhbEl0ZW1zW2hdLnN0eWxlLnRyYW5zZm9ybT10aGlzLl9nZXRUcmFuc2xhdGUoMCxmKTtmKz10aGlzLl9waHlzaWNhbFNpemVzW2hdfSl9LF9nZXRQaHlzaWNhbFNpemVJbmNyZW1lbnQ6ZnVuY3Rpb24oZil7cmV0dXJuIHRoaXMuX3BoeXNpY2FsU2l6ZXNbZl19LApfc2hvdWxkUmVuZGVyTmV4dFJvdzpmdW5jdGlvbihmKXtyZXR1cm4gZiV0aGlzLl9pdGVtc1BlclJvdz09PXRoaXMuX2l0ZW1zUGVyUm93LTF9LF9hZGp1c3RTY3JvbGxQb3NpdGlvbjpmdW5jdGlvbigpe3ZhciBmPTA9PT10aGlzLl92aXJ0dWFsU3RhcnQ/dGhpcy5fcGh5c2ljYWxUb3A6TWF0aC5taW4odGhpcy5fc2Nyb2xsUG9zaXRpb24rdGhpcy5fcGh5c2ljYWxUb3AsMCk7ZiYmKHRoaXMuX3BoeXNpY2FsVG9wLT1mLGR8fDA9PT10aGlzLl9waHlzaWNhbFRvcHx8dGhpcy5fcmVzZXRTY3JvbGxQb3NpdGlvbih0aGlzLl9zY3JvbGxUb3AtZikpfSxfcmVzZXRTY3JvbGxQb3NpdGlvbjpmdW5jdGlvbihmKXt0aGlzLnNjcm9sbFRhcmdldCYmKHRoaXMuX3Njcm9sbFBvc2l0aW9uPXRoaXMuX3Njcm9sbFRvcD1mKX0sX3VwZGF0ZVNjcm9sbGVyU2l6ZTpmdW5jdGlvbihmKXt0aGlzLl9lc3RTY3JvbGxIZWlnaHQ9dGhpcy5fcGh5c2ljYWxCb3R0b20rTWF0aC5tYXgodGhpcy5fdmlydHVhbENvdW50LQp0aGlzLl9waHlzaWNhbENvdW50LXRoaXMuX3ZpcnR1YWxTdGFydCwwKSp0aGlzLl9waHlzaWNhbEF2ZXJhZ2U7aWYoKGY9KGY9Znx8MD09PXRoaXMuX3Njcm9sbEhlaWdodCl8fHRoaXMuX3Njcm9sbFBvc2l0aW9uPj10aGlzLl9lc3RTY3JvbGxIZWlnaHQtdGhpcy5fcGh5c2ljYWxTaXplKXx8TWF0aC5hYnModGhpcy5fZXN0U2Nyb2xsSGVpZ2h0LXRoaXMuX3Njcm9sbEhlaWdodCk+PXRoaXMuX29wdFBoeXNpY2FsU2l6ZSl0aGlzLiQuaXRlbXMuc3R5bGUuaGVpZ2h0PXRoaXMuX2VzdFNjcm9sbEhlaWdodCsicHgiLHRoaXMuX3Njcm9sbEhlaWdodD10aGlzLl9lc3RTY3JvbGxIZWlnaHR9LHNjcm9sbFRvSW5kZXg6ZnVuY3Rpb24oZil7UG9seW1lci5kb20uZmx1c2goKTtmPU1hdGgubWluKE1hdGgubWF4KGYsMCksdGhpcy5fdmlydHVhbENvdW50LTEpO2lmKCF0aGlzLl9pc0luZGV4UmVuZGVyZWQoZil8fGY+PXRoaXMuX21heFZpcnR1YWxTdGFydCl0aGlzLl92aXJ0dWFsU3RhcnQ9CmYtMTt0aGlzLl9hc3NpZ25Nb2RlbHMoKTt0aGlzLl91cGRhdGVNZXRyaWNzKCk7dGhpcy5fcGh5c2ljYWxUb3A9TWF0aC5mbG9vcih0aGlzLl92aXJ0dWFsU3RhcnQvdGhpcy5faXRlbXNQZXJSb3cpKnRoaXMuX3BoeXNpY2FsQXZlcmFnZTtmb3IodmFyIGg9dGhpcy5fcGh5c2ljYWxTdGFydCxrPXRoaXMuX3ZpcnR1YWxTdGFydCxyPTAsbD10aGlzLl9oaWRkZW5Db250ZW50U2l6ZTtrPGYmJnI8PWw7KXIrPXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudChoKSxoPShoKzEpJXRoaXMuX3BoeXNpY2FsQ291bnQsaysrO3RoaXMuX3VwZGF0ZVNjcm9sbGVyU2l6ZSghMCk7dGhpcy5fcG9zaXRpb25JdGVtcygpO3RoaXMuX3Jlc2V0U2Nyb2xsUG9zaXRpb24odGhpcy5fcGh5c2ljYWxUb3ArdGhpcy5fc2Nyb2xsZXJQYWRkaW5nVG9wK3IpO3RoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkKCk7dGhpcy5fbGFzdFZpc2libGVJbmRleFZhbD10aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD0KbnVsbH0sX3Jlc2V0QXZlcmFnZTpmdW5jdGlvbigpe3RoaXMuX3BoeXNpY2FsQXZlcmFnZUNvdW50PXRoaXMuX3BoeXNpY2FsQXZlcmFnZT0wfSxfcmVzaXplSGFuZGxlcjpmdW5jdGlvbigpe1BvbHltZXIuZG9tLmFkZERlYm91bmNlcih0aGlzLmRlYm91bmNlKCJfZGVib3VuY2VUZW1wbGF0ZSIsZnVuY3Rpb24oKXt0aGlzLnVwZGF0ZVZpZXdwb3J0Qm91bmRhcmllcygpO3RoaXMuX3JlbmRlcigpO3RoaXMuX2l0ZW1zUmVuZGVyZWQmJnRoaXMuX3BoeXNpY2FsSXRlbXMmJnRoaXMuX2lzVmlzaWJsZSYmKHRoaXMuX3Jlc2V0QXZlcmFnZSgpLHRoaXMuc2Nyb2xsVG9JbmRleCh0aGlzLmZpcnN0VmlzaWJsZUluZGV4KSl9LmJpbmQodGhpcyksMSkpfSx1cGRhdGVTaXplRm9ySXRlbTpmdW5jdGlvbihmKXtmPXRoaXMuX3BoeXNpY2FsSW5kZXhGb3JLZXlbZl07bnVsbCE9ZiYmKHRoaXMuX3VwZGF0ZU1ldHJpY3MoW2ZdKSx0aGlzLl9wb3NpdGlvbkl0ZW1zKCkpfSxfaXNJbmRleFJlbmRlcmVkOmZ1bmN0aW9uKGYpe3JldHVybiBmPj0KdGhpcy5fdmlydHVhbFN0YXJ0JiZmPD10aGlzLl92aXJ0dWFsRW5kfSxfaXNJbmRleFZpc2libGU6ZnVuY3Rpb24oZil7cmV0dXJuIGY+PXRoaXMuZmlyc3RWaXNpYmxlSW5kZXgmJmY8PXRoaXMubGFzdFZpc2libGVJbmRleH19fSgpO3ZhYWRpbi5lbGVtZW50cy5ncmlkLklyb25MaXN0QmVoYXZpb3I9W1BvbHltZXIuVGVtcGxhdGl6ZXIsUG9seW1lci5Jcm9uU2Nyb2xsVGFyZ2V0QmVoYXZpb3IsdmFhZGluLmVsZW1lbnRzLmdyaWQuSXJvbkxpc3RCZWhhdmlvckltcGxdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3ZhYWRpbi1ncmlkL3ZhYWRpbi1ncmlkLWNvbHVtbi5odG1sLmpzCndpbmRvdy52YWFkaW49d2luZG93LnZhYWRpbnx8e307dmFhZGluLmVsZW1lbnRzPXZhYWRpbi5lbGVtZW50c3x8e307dmFhZGluLmVsZW1lbnRzLmdyaWQ9dmFhZGluLmVsZW1lbnRzLmdyaWR8fHt9Owp2YWFkaW4uZWxlbWVudHMuZ3JpZC5Db2x1bW5CYXNlQmVoYXZpb3I9e3Byb3BlcnRpZXM6e3Jlc2l6YWJsZTp7dHlwZTpCb29sZWFuLHZhbHVlOmZ1bmN0aW9uKCl7aWYoInZhYWRpbi1ncmlkLWNvbHVtbi1ncm91cCIhPT10aGlzLmxvY2FsTmFtZSl7dmFyIGI9UG9seW1lci5kb20odGhpcykucGFyZW50Tm9kZTtyZXR1cm4gYiYmInZhYWRpbi1ncmlkLWNvbHVtbi1ncm91cCI9PT1iLmxvY2FsTmFtZT9iLnJlc2l6YWJsZXx8ITE6ITF9fX0saGVhZGVyVGVtcGxhdGU6e3R5cGU6T2JqZWN0fSxmb290ZXJUZW1wbGF0ZTp7dHlwZTpPYmplY3R9LGZyb3plbjp7dHlwZTpCb29sZWFuLG5vdGlmeTohMCx2YWx1ZTohMX0saGlkZGVuOnt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwfSxfbGFzdEZyb3plbjp7dHlwZTpCb29sZWFuLG5vdGlmeTohMCx2YWx1ZTohMX0sX29yZGVyOk51bWJlcixfcmVvcmRlclN0YXR1czpCb29sZWFufSxvYnNlcnZlcnM6WyJfZm9vdGVyVGVtcGxhdGVDaGFuZ2VkKGZvb3RlclRlbXBsYXRlKSIsCiJfaGVhZGVyVGVtcGxhdGVDaGFuZ2VkKGhlYWRlclRlbXBsYXRlKSIsIl9sYXN0RnJvemVuQ2hhbmdlZChfbGFzdEZyb3plbikiXSxjcmVhdGVkOmZ1bmN0aW9uKCl7ZnVuY3Rpb24gYihkKXswPD1kLmFkZGVkTm9kZXMubGVuZ3RoJiYodGhpcy5oZWFkZXJUZW1wbGF0ZT10aGlzLl9wcmVwYXJlSGVhZGVyVGVtcGxhdGUoKSx0aGlzLmZvb3RlclRlbXBsYXRlPXRoaXMuX3ByZXBhcmVGb290ZXJUZW1wbGF0ZSgpLHRoaXMudGVtcGxhdGU9dGhpcy5fcHJlcGFyZUJvZHlUZW1wbGF0ZSgpKX10aGlzLl90ZW1wbGF0ZU9ic2VydmVyPVBvbHltZXIuRWxlbWVudD9uZXcgUG9seW1lci5GbGF0dGVuZWROb2Rlc09ic2VydmVyKHRoaXMsYik6UG9seW1lci5kb20odGhpcykub2JzZXJ2ZU5vZGVzKGIpfSxfcHJlcGFyZUhlYWRlclRlbXBsYXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3ByZXBhcmVUZW1wbGF0aXplcih0aGlzLl9maW5kVGVtcGxhdGUoInRlbXBsYXRlLmhlYWRlciIpfHxudWxsLAp7fSl9LF9wcmVwYXJlRm9vdGVyVGVtcGxhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcHJlcGFyZVRlbXBsYXRpemVyKHRoaXMuX2ZpbmRUZW1wbGF0ZSgidGVtcGxhdGUuZm9vdGVyIil8fG51bGwse30pfSxfcHJlcGFyZUJvZHlUZW1wbGF0ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wcmVwYXJlVGVtcGxhdGl6ZXIodGhpcy5fZmluZFRlbXBsYXRlKCJ0ZW1wbGF0ZTpub3QoLmhlYWRlcik6bm90KC5mb290ZXIpIix7fSkpfSxfcHJlcGFyZVRlbXBsYXRpemVyOmZ1bmN0aW9uKGIsZCl7aWYoYiYmIWIudGVtcGxhdGl6ZXIpe3ZhciBmPW5ldyB2YWFkaW4uZWxlbWVudHMuZ3JpZC5UZW1wbGF0aXplcjtmLmRhdGFIb3N0PXRoaXMuZGF0YUhvc3Q7Zi5faW5zdGFuY2VQcm9wcz1kfHxmLl9pbnN0YW5jZVByb3BzO2YudGVtcGxhdGU9YjtiLnRlbXBsYXRpemVyPWZ9cmV0dXJuIGJ9LF9zZWxlY3RGaXJzdFRlbXBsYXRlOmZ1bmN0aW9uKGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoUG9seW1lci5kb20odGhpcykucXVlcnlTZWxlY3RvckFsbChiKSwKZnVuY3Rpb24oZCl7cmV0dXJuIFBvbHltZXIuZG9tKGQpLnBhcmVudE5vZGU9PT10aGlzfS5iaW5kKHRoaXMpKVswXX0sX2ZpbmRUZW1wbGF0ZTpmdW5jdGlvbihiKXsoYj10aGlzLl9zZWxlY3RGaXJzdFRlbXBsYXRlKGIpKSYmdGhpcy5kYXRhSG9zdCYmKGIuX3Jvb3REYXRhSG9zdD10aGlzLmRhdGFIb3N0Ll9yb290RGF0YUhvc3R8fHRoaXMuZGF0YUhvc3QpO3JldHVybiBifSxfaGVhZGVyVGVtcGxhdGVDaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMuZmlyZSgicHJvcGVydHktY2hhbmdlZCIse3BhdGg6ImhlYWRlclRlbXBsYXRlIix2YWx1ZTpifSl9LF9mb290ZXJUZW1wbGF0ZUNoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5maXJlKCJwcm9wZXJ0eS1jaGFuZ2VkIix7cGF0aDoiZm9vdGVyVGVtcGxhdGUiLHZhbHVlOmJ9KX0sX2ZsZXhHcm93Q2hhbmdlZDpmdW5jdGlvbihiKXt0aGlzLmZpcmUoInByb3BlcnR5LWNoYW5nZWQiLHtwYXRoOiJmbGV4R3JvdyIsdmFsdWU6Yn0pfSxfd2lkdGhDaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMuZmlyZSgicHJvcGVydHktY2hhbmdlZCIsCntwYXRoOiJ3aWR0aCIsdmFsdWU6Yn0pfSxfbGFzdEZyb3plbkNoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5maXJlKCJwcm9wZXJ0eS1jaGFuZ2VkIix7cGF0aDoibGFzdEZyb3plbiIsdmFsdWU6Yn0pfX07CnZhYWRpbi5lbGVtZW50cy5ncmlkLkNvbHVtbkJlaGF2aW9ySW1wbD17cHJvcGVydGllczp7d2lkdGg6e3R5cGU6U3RyaW5nLHZhbHVlOiIxMDBweCJ9LGZsZXhHcm93Ont0eXBlOk51bWJlcix2YWx1ZToxfSx0ZW1wbGF0ZTp7dHlwZTpPYmplY3R9fSxvYnNlcnZlcnM6Il9mbGV4R3Jvd0NoYW5nZWQoZmxleEdyb3cpO193aWR0aENoYW5nZWQod2lkdGgpO190ZW1wbGF0ZUNoYW5nZWQodGVtcGxhdGUpO19mcm96ZW5DaGFuZ2VkKGZyb3plbiwgaXNBdHRhY2hlZCk7X2hpZGRlbkNoYW5nZWQoaGlkZGVuKTtfb3JkZXJDaGFuZ2VkKF9vcmRlcik7X3Jlb3JkZXJTdGF0dXNDaGFuZ2VkKF9yZW9yZGVyU3RhdHVzKTtfcmVzaXphYmxlQ2hhbmdlZChyZXNpemFibGUpIi5zcGxpdCgiOyIpLF9mcm96ZW5DaGFuZ2VkOmZ1bmN0aW9uKGIsZCl7dm9pZCAwIT09YiYmdm9pZCAwIT09ZCYmKHZvaWQgMD09PXRoaXMuX29sZEZyb3plbiYmITE9PT1ifHx0aGlzLmZpcmUoInByb3BlcnR5LWNoYW5nZWQiLAp7cGF0aDoiZnJvemVuIix2YWx1ZTpifSksdGhpcy5fb2xkRnJvemVuPWIpfSxfdGVtcGxhdGVDaGFuZ2VkOmZ1bmN0aW9uKGIpe2ImJmIudGVtcGxhdGl6ZXImJlBvbHltZXIuZG9tKHRoaXMucm9vdCkuYXBwZW5kQ2hpbGQoYi50ZW1wbGF0aXplcik7dGhpcy5maXJlKCJwcm9wZXJ0eS1jaGFuZ2VkIix7cGF0aDoidGVtcGxhdGUiLHZhbHVlOmJ9LHtidWJibGVzOiExfSl9LF9oaWRkZW5DaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMuZmlyZSgicHJvcGVydHktY2hhbmdlZCIse3BhdGg6ImhpZGRlbiIsdmFsdWU6Yn0pfSxfb3JkZXJDaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMuZmlyZSgicHJvcGVydHktY2hhbmdlZCIse3BhdGg6Im9yZGVyIix2YWx1ZTpifSl9LF9yZW9yZGVyU3RhdHVzQ2hhbmdlZDpmdW5jdGlvbihiKXt0aGlzLmZpcmUoInByb3BlcnR5LWNoYW5nZWQiLHtwYXRoOiJyZW9yZGVyU3RhdHVzIix2YWx1ZTpifSl9LF9yZXNpemFibGVDaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMuZmlyZSgicHJvcGVydHktY2hhbmdlZCIsCntwYXRoOiJyZXNpemFibGUiLHZhbHVlOmJ9KX19O3ZhYWRpbi5lbGVtZW50cy5ncmlkLkNvbHVtbkJlaGF2aW9yPVt2YWFkaW4uZWxlbWVudHMuZ3JpZC5Db2x1bW5CYXNlQmVoYXZpb3IsdmFhZGluLmVsZW1lbnRzLmdyaWQuQ29sdW1uQmVoYXZpb3JJbXBsXTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92YWFkaW4tZ3JpZC92YWFkaW4tZ3JpZC1hcnJheS1kYXRhLXByb3ZpZGVyLWJlaGF2aW9yLmh0bWwuanMKd2luZG93LnZhYWRpbj13aW5kb3cudmFhZGlufHx7fTt2YWFkaW4uZWxlbWVudHM9dmFhZGluLmVsZW1lbnRzfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZD12YWFkaW4uZWxlbWVudHMuZ3JpZHx8e307CnZhYWRpbi5lbGVtZW50cy5ncmlkLkFycmF5RGF0YVByb3ZpZGVyQmVoYXZpb3I9e3Byb3BlcnRpZXM6e2l0ZW1zOkFycmF5fSxvYnNlcnZlcnM6WyJfaXRlbXNDaGFuZ2VkKGl0ZW1zLCBpdGVtcy4qKSJdLF9pdGVtc0NoYW5nZWQ6ZnVuY3Rpb24oYixkKXt2b2lkIDAhPT1iJiZ2b2lkIDAhPT1kJiYodGhpcy5zaXplPShifHxbXSkubGVuZ3RoLHRoaXMuZGF0YVByb3ZpZGVyPXRoaXMuZGF0YVByb3ZpZGVyfHx0aGlzLl9hcnJheURhdGFQcm92aWRlcix0aGlzLmNsZWFyQ2FjaGUoKSl9LF9hcnJheURhdGFQcm92aWRlcjpmdW5jdGlvbihiLGQpe3ZhciBmPSh0aGlzLml0ZW1zfHxbXSkuc2xpY2UoMCk7dGhpcy5fY2hlY2tQYXRocyh0aGlzLl9maWx0ZXJzLCJmaWx0ZXJpbmciLGYpJiYoZj10aGlzLl9maWx0ZXIoZikpO3RoaXMuc2l6ZT1mLmxlbmd0aDtiLnNvcnRPcmRlcnMubGVuZ3RoJiZ0aGlzLl9jaGVja1BhdGhzKHRoaXMuX3NvcnRlcnMsInNvcnRpbmciLGYpJiYoZj1mLnNvcnQodGhpcy5fbXVsdGlTb3J0LmJpbmQodGhpcykpKTsKdmFyIGg9Yi5wYWdlKmIucGFnZVNpemU7ZChmLnNsaWNlKGgsaCtiLnBhZ2VTaXplKSxmLmxlbmd0aCl9LF9jaGVja1BhdGhzOmZ1bmN0aW9uKGIsZCxmKXtpZighZi5sZW5ndGgpcmV0dXJuITE7dmFyIGg9ITAsaztmb3IoayBpbiBiKXt2YXIgcj1iW2tdLnBhdGg7aWYociYmLTEhPT1yLmluZGV4T2YoIi4iKSl7dmFyIGw9ci5yZXBsYWNlKC9cLlteXC5dKiQvLCIiKTt2b2lkIDA9PT1Qb2x5bWVyLkJhc2UuZ2V0KGwsZlswXSkmJihjb25zb2xlLndhcm4oJ1BhdGggIicrcisnIiB1c2VkIGZvciAnK2QrIiBkb2VzIG5vdCBleGlzdCBpbiBhbGwgb2YgdGhlIGl0ZW1zLCAiK2QrIiBpcyBkaXNhYmxlZC4iKSxoPSExKX19cmV0dXJuIGh9LF9tdWx0aVNvcnQ6ZnVuY3Rpb24oYixkKXtyZXR1cm4gdGhpcy5fc29ydGVycy5tYXAoZnVuY3Rpb24oZil7cmV0dXJuImFzYyI9PT1mLmRpcmVjdGlvbj90aGlzLl9jb21wYXJlKFBvbHltZXIuQmFzZS5nZXQoZi5wYXRoLGIpLFBvbHltZXIuQmFzZS5nZXQoZi5wYXRoLApkKSk6ImRlc2MiPT09Zi5kaXJlY3Rpb24/dGhpcy5fY29tcGFyZShQb2x5bWVyLkJhc2UuZ2V0KGYucGF0aCxkKSxQb2x5bWVyLkJhc2UuZ2V0KGYucGF0aCxiKSk6MH0sdGhpcykucmVkdWNlKGZ1bmN0aW9uKGYsaCl7cmV0dXJuIGY/ZjpofSwwKX0sX25vcm1hbGl6ZUVtcHR5VmFsdWU6ZnVuY3Rpb24oYil7cmV0dXJuIDA8PVt2b2lkIDAsbnVsbF0uaW5kZXhPZihiKT8iIjppc05hTihiKT9iLnRvU3RyaW5nKCk6Yn0sX2NvbXBhcmU6ZnVuY3Rpb24oYixkKXtiPXRoaXMuX25vcm1hbGl6ZUVtcHR5VmFsdWUoYik7ZD10aGlzLl9ub3JtYWxpemVFbXB0eVZhbHVlKGQpO3JldHVybiBiPGQ/LTE6Yj5kPzE6MH0sX2ZpbHRlcjpmdW5jdGlvbihiKXtyZXR1cm4gYi5maWx0ZXIoZnVuY3Rpb24oZCl7cmV0dXJuIDA9PT10aGlzLl9maWx0ZXJzLmZpbHRlcihmdW5jdGlvbihmKXtyZXR1cm4tMT09PXRoaXMuX25vcm1hbGl6ZUVtcHR5VmFsdWUoUG9seW1lci5CYXNlLmdldChmLnBhdGgsZCkpLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKGYudmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpKX0uYmluZCh0aGlzKSkubGVuZ3RofSwKdGhpcyl9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92YWFkaW4tZ3JpZC92YWFkaW4tZ3JpZC1keW5hbWljLWNvbHVtbnMtYmVoYXZpb3IuaHRtbC5qcwp3aW5kb3cudmFhZGluPXdpbmRvdy52YWFkaW58fHt9O3ZhYWRpbi5lbGVtZW50cz12YWFkaW4uZWxlbWVudHN8fHt9O3ZhYWRpbi5lbGVtZW50cy5ncmlkPXZhYWRpbi5lbGVtZW50cy5ncmlkfHx7fTsKdmFhZGluLmVsZW1lbnRzLmdyaWQuRHluYW1pY0NvbHVtbnNCZWhhdmlvcj17cmVhZHk6ZnVuY3Rpb24oKXt0aGlzLl9hZGROb2RlT2JzZXJ2ZXIoKX0sX2hhc0NvbHVtbkdyb3VwczpmdW5jdGlvbihiKXtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKylpZigidmFhZGluLWdyaWQtY29sdW1uLWdyb3VwIj09PWJbZF0ubG9jYWxOYW1lKXJldHVybiEwO3JldHVybiExfSxfZ2V0Q2hpbGRDb2x1bW5zOmZ1bmN0aW9uKGIpe3JldHVybiBQb2x5bWVyLmRvbShiKS5xdWVyeURpc3RyaWJ1dGVkRWxlbWVudHMoInZhYWRpbi1ncmlkLWNvbHVtbiwgdmFhZGluLWdyaWQtY29sdW1uLWdyb3VwLCB2YWFkaW4tZ3JpZC1zZWxlY3Rpb24tY29sdW1uIil9LF9mbGF0dGVuQ29sdW1uR3JvdXBzOmZ1bmN0aW9uKGIpe3JldHVybiBiLm1hcChmdW5jdGlvbihkKXtyZXR1cm4idmFhZGluLWdyaWQtY29sdW1uLWdyb3VwIj09PWQubG9jYWxOYW1lP3RoaXMuX2dldENoaWxkQ29sdW1ucyhkKTpbZF19LHRoaXMpLnJlZHVjZShmdW5jdGlvbihkLApmKXtyZXR1cm4gZC5jb25jYXQoZil9LFtdKX0sX2dldENvbHVtblRyZWU6ZnVuY3Rpb24oKXtmb3IodmFyIGI9W10sZD10aGlzLnF1ZXJ5QWxsRWZmZWN0aXZlQ2hpbGRyZW4oInZhYWRpbi1ncmlkLWNvbHVtbiwgdmFhZGluLWdyaWQtY29sdW1uLWdyb3VwLCB2YWFkaW4tZ3JpZC1zZWxlY3Rpb24tY29sdW1uIik7Oyl7Yi5wdXNoKGQpO2lmKCF0aGlzLl9oYXNDb2x1bW5Hcm91cHMoZCkpYnJlYWs7ZD10aGlzLl9mbGF0dGVuQ29sdW1uR3JvdXBzKGQpfXJldHVybiBifSxfdXBkYXRlQ29sdW1uVHJlZTpmdW5jdGlvbigpe3ZhciBiPXRoaXMuX2dldENvbHVtblRyZWUoKTt0aGlzLl9hcnJheUVxdWFscyhiLHRoaXMuX2NvbHVtblRyZWUpfHwodGhpcy5fY29sdW1uVHJlZT1iKX0sX2FkZE5vZGVPYnNlcnZlcjpmdW5jdGlvbigpe3RoaXMuX29ic2VydmVyPVBvbHltZXIuZG9tKHRoaXMpLm9ic2VydmVOb2RlcyhmdW5jdGlvbihiKXtmdW5jdGlvbiBkKGYpe3JldHVybiBmLm5vZGVUeXBlPT09Ck5vZGUuRUxFTUVOVF9OT0RFJiYvXnZhYWRpbi1ncmlkLShjb2x1bW58c2VsZWN0aW9uKS9pLnRlc3QoZi5sb2NhbE5hbWUpfSgwPGIuYWRkZWROb2Rlcy5maWx0ZXIoZCkubGVuZ3RofHwwPGIucmVtb3ZlZE5vZGVzLmZpbHRlcihkKS5sZW5ndGgpJiZ0aGlzLl91cGRhdGVDb2x1bW5UcmVlKCk7KFBvbHltZXIuU2V0dGluZ3MudXNlTmF0aXZlU2hhZG93fHxQb2x5bWVyLlNldHRpbmdzLnVzZVNoYWRvdykmJlBvbHltZXIuZG9tKHRoaXMpLmFwcGVuZENoaWxkKHRoaXMuJC5mb290ZXJGb2N1c1RyYXApO3RoaXMuZGVib3VuY2UoImNoZWNrLWltcG9ydHMiLHRoaXMuX2NoZWNrSW1wb3J0cywyRTMpfS5iaW5kKHRoaXMpKX0sX2FycmF5RXF1YWxzOmZ1bmN0aW9uKGIsZCl7aWYoIWJ8fCFkfHxiLmxlbmd0aCE9ZC5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciBmPTAsaD1iLmxlbmd0aDtmPGg7ZisrKWlmKGJbZl1pbnN0YW5jZW9mIEFycmF5JiZkW2ZdaW5zdGFuY2VvZiBBcnJheSl7aWYoIXRoaXMuX2FycmF5RXF1YWxzKGJbZl0sCmRbZl0pKXJldHVybiExfWVsc2UgaWYoYltmXSE9ZFtmXSlyZXR1cm4hMTtyZXR1cm4hMH0sX2NoZWNrSW1wb3J0czpmdW5jdGlvbigpe1sidmFhZGluLWdyaWQtY29sdW1uLWdyb3VwIiwidmFhZGluLWdyaWQtc29ydGVyIiwidmFhZGluLWdyaWQtZmlsdGVyIiwidmFhZGluLWdyaWQtc2VsZWN0aW9uLWNvbHVtbiJdLmZvckVhY2goZnVuY3Rpb24oYil7dmFyIGQ9UG9seW1lci5kb20odGhpcykucXVlcnlTZWxlY3RvcihiKTshZHx8KFBvbHltZXIuaXNJbnN0YW5jZT9Qb2x5bWVyLmlzSW5zdGFuY2UoZCk6ZCBpbnN0YW5jZW9mIFBvbHltZXIuRWxlbWVudCl8fGNvbnNvbGUud2FybigiTWFrZSBzdXJlIHlvdSBoYXZlIGltcG9ydGVkIHRoZSByZXF1aXJlZCBtb2R1bGUgZm9yIFx4M2MiK2IrIlx4M2UgZWxlbWVudC4iKX0sdGhpcyl9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92YWFkaW4tZ3JpZC92YWFkaW4tZ3JpZC1zb3J0LWJlaGF2aW9yLmh0bWwuanMKd2luZG93LnZhYWRpbj13aW5kb3cudmFhZGlufHx7fTt2YWFkaW4uZWxlbWVudHM9dmFhZGluLmVsZW1lbnRzfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZD12YWFkaW4uZWxlbWVudHMuZ3JpZHx8e307CnZhYWRpbi5lbGVtZW50cy5ncmlkLlNvcnRCZWhhdmlvcj17cHJvcGVydGllczp7bXVsdGlTb3J0Ont0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9zb3J0ZXJzOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fSxfcHJldmlvdXNTb3J0ZXJzOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fX0sbGlzdGVuZXJzOnsic29ydGVyLWNoYW5nZWQiOiJfb25Tb3J0ZXJDaGFuZ2VkIn0scmVhZHk6ZnVuY3Rpb24oKXtQb2x5bWVyLkVsZW1lbnQmJiFQb2x5bWVyLlNldHRpbmdzLnVzZU5hdGl2ZVNoYWRvdyYmdGhpcy5hc3luYyhmdW5jdGlvbigpe3ZhciBiPVBvbHltZXIuZG9tKHRoaXMpLnF1ZXJ5U2VsZWN0b3JBbGwoInZhYWRpbi1ncmlkLXNvcnRlciIpO0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYixmdW5jdGlvbihkKXtkLmZpcmUmJmQuZmlyZSgic29ydGVyLWNoYW5nZWQiKX0pfSl9LF9vblNvcnRlckNoYW5nZWQ6ZnVuY3Rpb24oYil7dmFyIGQ9CmIudGFyZ2V0O3RoaXMuX3JlbW92ZUFycmF5SXRlbSh0aGlzLl9zb3J0ZXJzLGQpO2QuX29yZGVyPW51bGw7dGhpcy5tdWx0aVNvcnQ/KGQuZGlyZWN0aW9uJiZ0aGlzLl9zb3J0ZXJzLnVuc2hpZnQoZCksdGhpcy5fc29ydGVycy5mb3JFYWNoKGZ1bmN0aW9uKGYsaCl7Zi5fb3JkZXI9MTx0aGlzLl9zb3J0ZXJzLmxlbmd0aD9oOm51bGx9LHRoaXMpKToodGhpcy5fc29ydGVycy5mb3JFYWNoKGZ1bmN0aW9uKGYpe2YuX29yZGVyPW51bGw7Zi5kaXJlY3Rpb249bnVsbH0pLGQuZGlyZWN0aW9uJiYodGhpcy5fc29ydGVycz1bZF0pKTtiLnN0b3BQcm9wYWdhdGlvbigpO3RoaXMuZGF0YVByb3ZpZGVyJiZKU09OLnN0cmluZ2lmeSh0aGlzLl9wcmV2aW91c1NvcnRlcnMpIT09SlNPTi5zdHJpbmdpZnkodGhpcy5fbWFwU29ydGVycygpKSYmdGhpcy5jbGVhckNhY2hlKCk7dGhpcy5fcHJldmlvdXNTb3J0ZXJzPXRoaXMuX21hcFNvcnRlcnMoKX0sX21hcFNvcnRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc29ydGVycy5tYXAoZnVuY3Rpb24oYil7cmV0dXJue3BhdGg6Yi5wYXRoLApkaXJlY3Rpb246Yi5kaXJlY3Rpb259fSl9LF9yZW1vdmVBcnJheUl0ZW06ZnVuY3Rpb24oYixkKXtkPWIuaW5kZXhPZihkKTstMTxkJiZiLnNwbGljZShkLDEpfX07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtZmlsdGVyLWJlaGF2aW9yLmh0bWwuanMKd2luZG93LnZhYWRpbj13aW5kb3cudmFhZGlufHx7fTt2YWFkaW4uZWxlbWVudHM9dmFhZGluLmVsZW1lbnRzfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZD12YWFkaW4uZWxlbWVudHMuZ3JpZHx8e307dmFhZGluLmVsZW1lbnRzLmdyaWQuRmlsdGVyQmVoYXZpb3I9e3Byb3BlcnRpZXM6e19maWx0ZXJzOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fX0sbGlzdGVuZXJzOnsiZmlsdGVyLWNoYW5nZWQiOiJfZmlsdGVyQ2hhbmdlZCJ9LF9maWx0ZXJDaGFuZ2VkOmZ1bmN0aW9uKGIpey0xPT09dGhpcy5fZmlsdGVycy5pbmRleE9mKGIudGFyZ2V0KSYmdGhpcy5fZmlsdGVycy5wdXNoKGIudGFyZ2V0KTtiLnN0b3BQcm9wYWdhdGlvbigpO3RoaXMuZGF0YVByb3ZpZGVyJiZ0aGlzLmNsZWFyQ2FjaGUoKX0sX21hcEZpbHRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZmlsdGVycy5tYXAoZnVuY3Rpb24oYil7cmV0dXJue3BhdGg6Yi5wYXRoLHZhbHVlOmIudmFsdWV9fSl9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ocGFyYW1zLXBhcmFsbGVsLWNvb3Jkcy1wbG90L3V0aWxzLmh0bWwuanMKKGZ1bmN0aW9uKGIpeyhmdW5jdGlvbihkKXsoZnVuY3Rpb24oZil7ZnVuY3Rpb24gaChrLHIsbCl7ZnVuY3Rpb24gcCgpe2lmKDA9PT1rLmxlbmd0aClyZXR1cm5bMSwyXTtjb25zdCBbbSxuXT1kMy5leHRlbnQoayk7cmV0dXJuIG0hPT1uP1ttLG5dOjA8bT9bLjUqbSwxLjUqbV06MD5tP1sxLjUqbSwuNSptXTpbLTEsMV19aWYoIkxJTkVBUiI9PT1sKXJldHVybiBkMy5zY2FsZUxpbmVhcigpLmRvbWFpbihwKCkpLnJhbmdlKFtyLDBdKTtpZigiTE9HIj09PWwpcmV0dXJuIGw9cCgpLDA+PWxbMF0mJjA8PWxbMV0/aChrLHIsIkxJTkVBUiIpOmQzLnNjYWxlTG9nKCkuZG9tYWluKGwpLnJhbmdlKFtyLDBdKTtpZigiUVVBTlRJTEUiPT09bClyZXR1cm4gbD1kMy5yYW5nZSgyMCkubWFwKG09PnItbSpyLzE5KSwwPT09ay5sZW5ndGgmJihrPVsxXSksZDMuc2NhbGVRdWFudGlsZSgpLmRvbWFpbihfLnVuaXEoaykpLnJhbmdlKGwpO2lmKCJOT05fTlVNRVJJQyI9PT1sKXJldHVybiBkMy5zY2FsZVBvaW50KCkuZG9tYWluKF8udW5pcShrLnNvcnQoKSkpLnJhbmdlKFtyLAowXSkucGFkZGluZyguMSk7dGhyb3cgUmFuZ2VFcnJvcigiVW5rbm93biBzY2FsZTogIitsKTt9Zi5maW5kQ2xvc2VzdFBhdGg9ZnVuY3Rpb24oayxyLGwpe2Z1bmN0aW9uIHAoeSx4LEMsRyl7Y29uc3QgRD15LUMsQj14LUc7Qz1tLUM7Rz1uLUc7Y29uc3QgSD0oRCpDK0IqRykvKEQqRCtCKkIpO3JldHVybiAwPj1IP2IuaHBhcmFtcy51dGlscy5sMk5vcm1TcXVhcmVkKEMsRyk6MTw9SD9iLmhwYXJhbXMudXRpbHMubDJOb3JtU3F1YXJlZCh5LW0seC1uKTpiLmhwYXJhbXMudXRpbHMubDJOb3JtU3F1YXJlZChDLUgqRCxHLUgqQil9aWYoMj5yLmxlbmd0aClyZXR1cm4gY29uc29sZS5lcnJvcigiTGVzcyB0aGFuIHR3byBheGVzIGluIHBhcmFsbGVsIGNvb3JkaW5hdGVzIHBsb3QuIiksbnVsbDtjb25zdCBtPWxbMF0sbj1sWzFdO2lmKG08PXJbMF18fG0+PXJbci5sZW5ndGgtMV0pcmV0dXJuIG51bGw7Y29uc3QgcT1fLnNvcnRlZEluZGV4KHIsbSk7Y29uc29sZS5hc3NlcnQoMDxxKTsKY29uc29sZS5hc3NlcnQocTxyLmxlbmd0aCk7Y29uc3QgdT1xLTE7bGV0IHc9bnVsbCxBPW51bGw7ay5mb3JFYWNoKHk9Pntjb25zdCB4PXAoeS5jb250cm9sUG9pbnRzW3VdWzBdLHkuY29udHJvbFBvaW50c1t1XVsxXSx5LmNvbnRyb2xQb2ludHNbcV1bMF0seS5jb250cm9sUG9pbnRzW3FdWzFdKTsxMDA8eHx8IShudWxsPT09d3x8eDx3KXx8KHc9eCxBPXkpfSk7cmV0dXJuIEF9O2YucG9pbnRTY2FsZUludmVyc2VJbWFnZT1mdW5jdGlvbihrLHIsbCl7cmV0dXJuIGsuZG9tYWluKCkuZmlsdGVyKHA9PntwPWsocCk7cmV0dXJuIHI8PXAmJnA8PWx9KX07Zi5xdWFudGlsZVNjYWxlSW52ZXJzZUltYWdlPWZ1bmN0aW9uKGsscixsKXtjb25zdCBwPWsucmFuZ2UoKSxtPXAuZmlsdGVyKG49PnI8PW4mJm48PWwpLm1hcChuPT57Y29uc3QgcT1rLmludmVydEV4dGVudChuKTtyZXR1cm4gbj09PXBbcC5sZW5ndGgtMV0/W3FbMF0scVsxXSsxXTpxfSk7cmV0dXJuIDA9PW0ubGVuZ3RoP1swLAowXTpkMy5leHRlbnQoZDMubWVyZ2UobSkpfTtmLmNvbnRpbnVvdXNTY2FsZUludmVyc2VJbWFnZT1mdW5jdGlvbihrLHIsbCl7cmV0dXJuW2suaW52ZXJ0KHIpLGsuaW52ZXJ0KGwpXS5zb3J0KChwLG0pPT5wLW0pfTtmLmNyZWF0ZUF4aXNTY2FsZT1ofSkoZC5wYXJhbGxlbF9jb29yZHNfcGxvdHx8KGQucGFyYWxsZWxfY29vcmRzX3Bsb3Q9e30pKX0pKGIuaHBhcmFtc3x8KGIuaHBhcmFtcz17fSkpfSkodGZ8fCh0Zj17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWhwYXJhbXMtZ29vZ2xlLWFuYWx5dGljcy10cmFja2VyL3RmLWhwYXJhbXMtZ29vZ2xlLWFuYWx5dGljcy10cmFja2VyLmh0bWwuanMKKGZ1bmN0aW9uKCl7UG9seW1lcih7aXM6InRmLWhwYXJhbXMtZ29vZ2xlLWFuYWx5dGljcy10cmFja2VyIixoYW5kbGVFdmVudDpmdW5jdGlvbigpe319KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy1iYWNrZW5kL3RmLWhwYXJhbXMtYmFja2VuZC5odG1sLmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7Y2xhc3MgZntjb25zdHJ1Y3RvcihoLGsscj0hMCl7dGhpcy5fYXBpVXJsPWg7dGhpcy5fcmVxdWVzdE1hbmFnZXI9azt0aGlzLl91c2VIdHRwR2V0PXJ9Z2V0RXhwZXJpbWVudChoKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImV4cGVyaW1lbnQiLGgpfWdldERvd25sb2FkVXJsKGgsayxyKXtyZXR1cm4gdGhpcy5fYXBpVXJsKyIvZG93bmxvYWRfZGF0YT8iK25ldyBVUkxTZWFyY2hQYXJhbXMoe2Zvcm1hdDpoLGNvbHVtbnNWaXNpYmlsaXR5OkpTT04uc3RyaW5naWZ5KHIpLHJlcXVlc3Q6SlNPTi5zdHJpbmdpZnkoayl9KX1saXN0U2Vzc2lvbkdyb3VwcyhoKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInNlc3Npb25fZ3JvdXBzIixoKX1saXN0TWV0cmljRXZhbHMoaCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJtZXRyaWNfZXZhbHMiLGgpfV9zZW5kUmVxdWVzdChoLGspe2lmKHRoaXMuX3VzZUh0dHBHZXQpcmV0dXJuIGs9ZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGspKSwKdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdCh0aGlzLl9hcGlVcmwrIi8iK2grIj9yZXF1ZXN0XHgzZCIrayk7Y29uc3Qgcj1uZXcgZGMuUmVxdWVzdE9wdGlvbnM7ci53aXRoQ3JlZGVudGlhbHM9ITA7ci5tZXRob2RUeXBlPSJQT1NUIjtyLmNvbnRlbnRUeXBlPSJ0ZXh0L3BsYWluIjtyLmJvZHk9SlNPTi5zdHJpbmdpZnkoayk7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3RXaXRoT3B0aW9ucyh0aGlzLl9hcGlVcmwrIi8iK2gscil9fWQuQmFja2VuZD1mfSkoYi5ocGFyYW1zfHwoYi5ocGFyYW1zPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaW1wb3J0cy90aHJlZS5qcwooZnVuY3Rpb24oYixkKXsib2JqZWN0Ij09PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9PXR5cGVvZiBtb2R1bGU/ZChleHBvcnRzKToiZnVuY3Rpb24iPT09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJleHBvcnRzIl0sZCk6KGI9Ynx8c2VsZixkKGIuVEhSRUU9e30pKX0pKHRoaXMsZnVuY3Rpb24oYil7ZnVuY3Rpb24gZCgpe31mdW5jdGlvbiBmKGEsYyl7dGhpcy54PWF8fDA7dGhpcy55PWN8fDB9ZnVuY3Rpb24gaChhLGMsZSxnKXt0aGlzLl94PWF8fDA7dGhpcy5feT1jfHwwO3RoaXMuX3o9ZXx8MDt0aGlzLl93PXZvaWQgMCE9PWc/ZzoxfWZ1bmN0aW9uIGsoYSxjLGUpe3RoaXMueD1hfHwwO3RoaXMueT1jfHwwO3RoaXMuej1lfHwwfWZ1bmN0aW9uIHIoKXt0aGlzLmVsZW1lbnRzPVsxLDAsMCwwLDEsMCwwLDAsMV07MDxhcmd1bWVudHMubGVuZ3RoJiZjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXgzOiB0aGUgY29uc3RydWN0b3Igbm8gbG9uZ2VyIHJlYWRzIGFyZ3VtZW50cy4gdXNlIC5zZXQoKSBpbnN0ZWFkLiIpfQpmdW5jdGlvbiBsKGEsYyxlLGcsdCx2LHosRSxGLEkpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJpZCIse3ZhbHVlOmhsKyt9KTt0aGlzLnV1aWQ9aGIuZ2VuZXJhdGVVVUlEKCk7dGhpcy5uYW1lPSIiO3RoaXMuaW1hZ2U9dm9pZCAwIT09YT9hOmwuREVGQVVMVF9JTUFHRTt0aGlzLm1pcG1hcHM9W107dGhpcy5tYXBwaW5nPXZvaWQgMCE9PWM/YzpsLkRFRkFVTFRfTUFQUElORzt0aGlzLndyYXBTPXZvaWQgMCE9PWU/ZToxMDAxO3RoaXMud3JhcFQ9dm9pZCAwIT09Zz9nOjEwMDE7dGhpcy5tYWdGaWx0ZXI9dm9pZCAwIT09dD90OjEwMDY7dGhpcy5taW5GaWx0ZXI9dm9pZCAwIT09dj92OjEwMDg7dGhpcy5hbmlzb3Ryb3B5PXZvaWQgMCE9PUY/RjoxO3RoaXMuZm9ybWF0PXZvaWQgMCE9PXo/ejoxMDIzO3RoaXMudHlwZT12b2lkIDAhPT1FP0U6MTAwOTt0aGlzLm9mZnNldD1uZXcgZigwLDApO3RoaXMucmVwZWF0PW5ldyBmKDEsMSk7dGhpcy5jZW50ZXI9bmV3IGYoMCwwKTsKdGhpcy5yb3RhdGlvbj0wO3RoaXMubWF0cml4QXV0b1VwZGF0ZT0hMDt0aGlzLm1hdHJpeD1uZXcgcjt0aGlzLmdlbmVyYXRlTWlwbWFwcz0hMDt0aGlzLnByZW11bHRpcGx5QWxwaGE9ITE7dGhpcy5mbGlwWT0hMDt0aGlzLnVucGFja0FsaWdubWVudD00O3RoaXMuZW5jb2Rpbmc9dm9pZCAwIT09ST9JOjNFMzt0aGlzLnZlcnNpb249MDt0aGlzLm9uVXBkYXRlPW51bGx9ZnVuY3Rpb24gcChhLGMsZSxnKXt0aGlzLng9YXx8MDt0aGlzLnk9Y3x8MDt0aGlzLno9ZXx8MDt0aGlzLnc9dm9pZCAwIT09Zz9nOjF9ZnVuY3Rpb24gbShhLGMsZSl7dGhpcy53aWR0aD1hO3RoaXMuaGVpZ2h0PWM7dGhpcy5zY2lzc29yPW5ldyBwKDAsMCxhLGMpO3RoaXMuc2Npc3NvclRlc3Q9ITE7dGhpcy52aWV3cG9ydD1uZXcgcCgwLDAsYSxjKTtlPWV8fHt9O3RoaXMudGV4dHVyZT1uZXcgbCh2b2lkIDAsdm9pZCAwLGUud3JhcFMsZS53cmFwVCxlLm1hZ0ZpbHRlcixlLm1pbkZpbHRlcixlLmZvcm1hdCxlLnR5cGUsCmUuYW5pc290cm9weSxlLmVuY29kaW5nKTt0aGlzLnRleHR1cmUuaW1hZ2U9e307dGhpcy50ZXh0dXJlLmltYWdlLndpZHRoPWE7dGhpcy50ZXh0dXJlLmltYWdlLmhlaWdodD1jO3RoaXMudGV4dHVyZS5nZW5lcmF0ZU1pcG1hcHM9dm9pZCAwIT09ZS5nZW5lcmF0ZU1pcG1hcHM/ZS5nZW5lcmF0ZU1pcG1hcHM6ITE7dGhpcy50ZXh0dXJlLm1pbkZpbHRlcj12b2lkIDAhPT1lLm1pbkZpbHRlcj9lLm1pbkZpbHRlcjoxMDA2O3RoaXMuZGVwdGhCdWZmZXI9dm9pZCAwIT09ZS5kZXB0aEJ1ZmZlcj9lLmRlcHRoQnVmZmVyOiEwO3RoaXMuc3RlbmNpbEJ1ZmZlcj12b2lkIDAhPT1lLnN0ZW5jaWxCdWZmZXI/ZS5zdGVuY2lsQnVmZmVyOiEwO3RoaXMuZGVwdGhUZXh0dXJlPXZvaWQgMCE9PWUuZGVwdGhUZXh0dXJlP2UuZGVwdGhUZXh0dXJlOm51bGx9ZnVuY3Rpb24gbihhLGMsZSl7bS5jYWxsKHRoaXMsYSxjLGUpO3RoaXMuc2FtcGxlcz00fWZ1bmN0aW9uIHEoKXt0aGlzLmVsZW1lbnRzPQpbMSwwLDAsMCwwLDEsMCwwLDAsMCwxLDAsMCwwLDAsMV07MDxhcmd1bWVudHMubGVuZ3RoJiZjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiB0aGUgY29uc3RydWN0b3Igbm8gbG9uZ2VyIHJlYWRzIGFyZ3VtZW50cy4gdXNlIC5zZXQoKSBpbnN0ZWFkLiIpfWZ1bmN0aW9uIHUoYSxjLGUsZyl7dGhpcy5feD1hfHwwO3RoaXMuX3k9Y3x8MDt0aGlzLl96PWV8fDA7dGhpcy5fb3JkZXI9Z3x8dS5EZWZhdWx0T3JkZXJ9ZnVuY3Rpb24gdygpe3RoaXMubWFzaz0xfWZ1bmN0aW9uIEEoKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiaWQiLHt2YWx1ZTppbCsrfSk7dGhpcy51dWlkPWhiLmdlbmVyYXRlVVVJRCgpO3RoaXMubmFtZT0iIjt0aGlzLnR5cGU9Ik9iamVjdDNEIjt0aGlzLnBhcmVudD1udWxsO3RoaXMuY2hpbGRyZW49W107dGhpcy51cD1BLkRlZmF1bHRVcC5jbG9uZSgpO3ZhciBhPW5ldyBrLGM9bmV3IHUsZT1uZXcgaCxnPW5ldyBrKDEsMSwxKTtjLl9vbkNoYW5nZShmdW5jdGlvbigpe2Uuc2V0RnJvbUV1bGVyKGMsCiExKX0pO2UuX29uQ2hhbmdlKGZ1bmN0aW9uKCl7Yy5zZXRGcm9tUXVhdGVybmlvbihlLHZvaWQgMCwhMSl9KTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0aGlzLHtwb3NpdGlvbjp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6YX0scm90YXRpb246e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOmN9LHF1YXRlcm5pb246e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOmV9LHNjYWxlOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpnfSxtb2RlbFZpZXdNYXRyaXg6e3ZhbHVlOm5ldyBxfSxub3JtYWxNYXRyaXg6e3ZhbHVlOm5ldyByfX0pO3RoaXMubWF0cml4PW5ldyBxO3RoaXMubWF0cml4V29ybGQ9bmV3IHE7dGhpcy5tYXRyaXhBdXRvVXBkYXRlPUEuRGVmYXVsdE1hdHJpeEF1dG9VcGRhdGU7dGhpcy5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSExO3RoaXMubGF5ZXJzPW5ldyB3O3RoaXMudmlzaWJsZT0hMDsKdGhpcy5yZWNlaXZlU2hhZG93PXRoaXMuY2FzdFNoYWRvdz0hMTt0aGlzLmZydXN0dW1DdWxsZWQ9ITA7dGhpcy5yZW5kZXJPcmRlcj0wO3RoaXMudXNlckRhdGE9e319ZnVuY3Rpb24geSgpe0EuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlNjZW5lIjt0aGlzLm92ZXJyaWRlTWF0ZXJpYWw9dGhpcy5mb2c9dGhpcy5iYWNrZ3JvdW5kPW51bGw7dGhpcy5hdXRvVXBkYXRlPSEwOyJ1bmRlZmluZWQiIT09dHlwZW9mIF9fVEhSRUVfREVWVE9PTFNfXyYmX19USFJFRV9ERVZUT09MU19fLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJvYnNlcnZlIix7ZGV0YWlsOnRoaXN9KSl9ZnVuY3Rpb24geChhLGMpe3RoaXMubWluPXZvaWQgMCE9PWE/YTpuZXcgayhJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSk7dGhpcy5tYXg9dm9pZCAwIT09Yz9jOm5ldyBrKC1JbmZpbml0eSwtSW5maW5pdHksLUluZmluaXR5KX1mdW5jdGlvbiBDKGEsYyxlLGcsdCl7dmFyIHY7dmFyIHo9MDtmb3Iodj1hLmxlbmd0aC0KMzt6PD12O3orPTMpe01kLmZyb21BcnJheShhLHopO3ZhciBFPWMuZG90KE1kKSxGPWUuZG90KE1kKSxJPWcuZG90KE1kKTtpZihNYXRoLm1heCgtTWF0aC5tYXgoRSxGLEkpLE1hdGgubWluKEUsRixJKSk+dC54Kk1hdGguYWJzKE1kLngpK3QueSpNYXRoLmFicyhNZC55KSt0LnoqTWF0aC5hYnMoTWQueikpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gRyhhLGMpe3RoaXMuY2VudGVyPXZvaWQgMCE9PWE/YTpuZXcgazt0aGlzLnJhZGl1cz12b2lkIDAhPT1jP2M6MH1mdW5jdGlvbiBEKGEsYyl7dGhpcy5vcmlnaW49dm9pZCAwIT09YT9hOm5ldyBrO3RoaXMuZGlyZWN0aW9uPXZvaWQgMCE9PWM/YzpuZXcga31mdW5jdGlvbiBCKGEsYyxlKXt0aGlzLmE9dm9pZCAwIT09YT9hOm5ldyBrO3RoaXMuYj12b2lkIDAhPT1jP2M6bmV3IGs7dGhpcy5jPXZvaWQgMCE9PWU/ZTpuZXcga31mdW5jdGlvbiBIKGEsYyxlKXtyZXR1cm4gdm9pZCAwPT09YyYmdm9pZCAwPT09ZT90aGlzLnNldChhKToKdGhpcy5zZXRSR0IoYSxjLGUpfWZ1bmN0aW9uIEsoYSxjLGUpezA+ZSYmKGUrPTEpOzE8ZSYmLS1lO3JldHVybiBlPDEvNj9hKzYqKGMtYSkqZTouNT5lP2M6ZTwyLzM/YSs2KihjLWEpKigyLzMtZSk6YX1mdW5jdGlvbiBMKGEpe3JldHVybi4wNDA0NT5hPy4wNzczOTkzODA4KmE6TWF0aC5wb3coLjk0Nzg2NzI5ODYqYSsuMDUyMTMyNzAxNCwyLjQpfWZ1bmN0aW9uIEooYSl7cmV0dXJuLjAwMzEzMDg+YT8xMi45MiphOjEuMDU1Kk1hdGgucG93KGEsLjQxNjY2KS0uMDU1fWZ1bmN0aW9uIE8oYSxjLGUsZyx0LHYpe3RoaXMuYT1hO3RoaXMuYj1jO3RoaXMuYz1lO3RoaXMubm9ybWFsPWcmJmcuaXNWZWN0b3IzP2c6bmV3IGs7dGhpcy52ZXJ0ZXhOb3JtYWxzPUFycmF5LmlzQXJyYXkoZyk/ZzpbXTt0aGlzLmNvbG9yPXQmJnQuaXNDb2xvcj90Om5ldyBIO3RoaXMudmVydGV4Q29sb3JzPUFycmF5LmlzQXJyYXkodCk/dDpbXTt0aGlzLm1hdGVyaWFsSW5kZXg9dm9pZCAwIT09dj92OjB9CmZ1bmN0aW9uIFMoKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiaWQiLHt2YWx1ZTpqbCsrfSk7dGhpcy51dWlkPWhiLmdlbmVyYXRlVVVJRCgpO3RoaXMubmFtZT0iIjt0aGlzLnR5cGU9Ik1hdGVyaWFsIjt0aGlzLmxpZ2h0cz10aGlzLmZvZz0hMDt0aGlzLmJsZW5kaW5nPTE7dGhpcy5zaWRlPTA7dGhpcy52ZXJ0ZXhUYW5nZW50cz10aGlzLmZsYXRTaGFkaW5nPSExO3RoaXMudmVydGV4Q29sb3JzPTA7dGhpcy5vcGFjaXR5PTE7dGhpcy50cmFuc3BhcmVudD0hMTt0aGlzLmJsZW5kU3JjPTIwNDt0aGlzLmJsZW5kRHN0PTIwNTt0aGlzLmJsZW5kRXF1YXRpb249MTAwO3RoaXMuYmxlbmRFcXVhdGlvbkFscGhhPXRoaXMuYmxlbmREc3RBbHBoYT10aGlzLmJsZW5kU3JjQWxwaGE9bnVsbDt0aGlzLmRlcHRoRnVuYz0zO3RoaXMuZGVwdGhXcml0ZT10aGlzLmRlcHRoVGVzdD0hMDt0aGlzLnN0ZW5jaWxGdW5jPTUxOTt0aGlzLnN0ZW5jaWxSZWY9MDt0aGlzLnN0ZW5jaWxNYXNrPQoyNTU7dGhpcy5zdGVuY2lsWlBhc3M9dGhpcy5zdGVuY2lsWkZhaWw9dGhpcy5zdGVuY2lsRmFpbD03NjgwO3RoaXMuc3RlbmNpbFdyaXRlPSExO3RoaXMuY2xpcHBpbmdQbGFuZXM9bnVsbDt0aGlzLmNsaXBTaGFkb3dzPXRoaXMuY2xpcEludGVyc2VjdGlvbj0hMTt0aGlzLnNoYWRvd1NpZGU9bnVsbDt0aGlzLmNvbG9yV3JpdGU9ITA7dGhpcy5wcmVjaXNpb249bnVsbDt0aGlzLnBvbHlnb25PZmZzZXQ9ITE7dGhpcy5wb2x5Z29uT2Zmc2V0VW5pdHM9dGhpcy5wb2x5Z29uT2Zmc2V0RmFjdG9yPTA7dGhpcy5kaXRoZXJpbmc9ITE7dGhpcy5hbHBoYVRlc3Q9MDt0aGlzLnByZW11bHRpcGxpZWRBbHBoYT0hMTt0aGlzLnRvbmVNYXBwZWQ9dGhpcy52aXNpYmxlPSEwO3RoaXMudXNlckRhdGE9e307dGhpcy5uZWVkc1VwZGF0ZT0hMH1mdW5jdGlvbiBOKGEpe1MuY2FsbCh0aGlzKTt0aGlzLnR5cGU9Ik1lc2hCYXNpY01hdGVyaWFsIjt0aGlzLmNvbG9yPW5ldyBIKDE2Nzc3MjE1KTt0aGlzLmxpZ2h0TWFwPQp0aGlzLm1hcD1udWxsO3RoaXMubGlnaHRNYXBJbnRlbnNpdHk9MTt0aGlzLmFvTWFwPW51bGw7dGhpcy5hb01hcEludGVuc2l0eT0xO3RoaXMuZW52TWFwPXRoaXMuYWxwaGFNYXA9dGhpcy5zcGVjdWxhck1hcD1udWxsO3RoaXMuY29tYmluZT0wO3RoaXMucmVmbGVjdGl2aXR5PTE7dGhpcy5yZWZyYWN0aW9uUmF0aW89Ljk4O3RoaXMud2lyZWZyYW1lPSExO3RoaXMud2lyZWZyYW1lTGluZXdpZHRoPTE7dGhpcy53aXJlZnJhbWVMaW5lam9pbj10aGlzLndpcmVmcmFtZUxpbmVjYXA9InJvdW5kIjt0aGlzLmxpZ2h0cz10aGlzLm1vcnBoVGFyZ2V0cz10aGlzLnNraW5uaW5nPSExO3RoaXMuc2V0VmFsdWVzKGEpfWZ1bmN0aW9uIFIoYSxjLGUpe2lmKEFycmF5LmlzQXJyYXkoYSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiBhcnJheSBzaG91bGQgYmUgYSBUeXBlZCBBcnJheS4iKTt0aGlzLm5hbWU9IiI7dGhpcy5hcnJheT1hO3RoaXMuaXRlbVNpemU9CmM7dGhpcy5jb3VudD12b2lkIDAhPT1hP2EubGVuZ3RoL2M6MDt0aGlzLm5vcm1hbGl6ZWQ9ITA9PT1lO3RoaXMuZHluYW1pYz0hMTt0aGlzLnVwZGF0ZVJhbmdlPXtvZmZzZXQ6MCxjb3VudDotMX07dGhpcy52ZXJzaW9uPTB9ZnVuY3Rpb24gWChhLGMsZSl7Ui5jYWxsKHRoaXMsbmV3IEludDhBcnJheShhKSxjLGUpfWZ1bmN0aW9uIGFhKGEsYyxlKXtSLmNhbGwodGhpcyxuZXcgVWludDhBcnJheShhKSxjLGUpfWZ1bmN0aW9uIGZhKGEsYyxlKXtSLmNhbGwodGhpcyxuZXcgVWludDhDbGFtcGVkQXJyYXkoYSksYyxlKX1mdW5jdGlvbiBvYShhLGMsZSl7Ui5jYWxsKHRoaXMsbmV3IEludDE2QXJyYXkoYSksYyxlKX1mdW5jdGlvbiBaKGEsYyxlKXtSLmNhbGwodGhpcyxuZXcgVWludDE2QXJyYXkoYSksYyxlKX1mdW5jdGlvbiBjYShhLGMsZSl7Ui5jYWxsKHRoaXMsbmV3IEludDMyQXJyYXkoYSksYyxlKX1mdW5jdGlvbiBqYShhLGMsZSl7Ui5jYWxsKHRoaXMsbmV3IFVpbnQzMkFycmF5KGEpLApjLGUpfWZ1bmN0aW9uIGJhKGEsYyxlKXtSLmNhbGwodGhpcyxuZXcgRmxvYXQzMkFycmF5KGEpLGMsZSl9ZnVuY3Rpb24ga2EoYSxjLGUpe1IuY2FsbCh0aGlzLG5ldyBGbG9hdDY0QXJyYXkoYSksYyxlKX1mdW5jdGlvbiBXKCl7dGhpcy52ZXJ0aWNlcz1bXTt0aGlzLm5vcm1hbHM9W107dGhpcy5jb2xvcnM9W107dGhpcy51dnM9W107dGhpcy51dnMyPVtdO3RoaXMuZ3JvdXBzPVtdO3RoaXMubW9ycGhUYXJnZXRzPXt9O3RoaXMuc2tpbldlaWdodHM9W107dGhpcy5za2luSW5kaWNlcz1bXTt0aGlzLmJvdW5kaW5nU3BoZXJlPXRoaXMuYm91bmRpbmdCb3g9bnVsbDt0aGlzLmdyb3Vwc05lZWRVcGRhdGU9dGhpcy51dnNOZWVkVXBkYXRlPXRoaXMuY29sb3JzTmVlZFVwZGF0ZT10aGlzLm5vcm1hbHNOZWVkVXBkYXRlPXRoaXMudmVydGljZXNOZWVkVXBkYXRlPSExfWZ1bmN0aW9uIEVhKGEpe2lmKDA9PT1hLmxlbmd0aClyZXR1cm4tSW5maW5pdHk7Zm9yKHZhciBjPWFbMF0sZT0xLGc9CmEubGVuZ3RoO2U8ZzsrK2UpYVtlXT5jJiYoYz1hW2VdKTtyZXR1cm4gY31mdW5jdGlvbiB2YSgpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJpZCIse3ZhbHVlOmtsKz0yfSk7dGhpcy51dWlkPWhiLmdlbmVyYXRlVVVJRCgpO3RoaXMubmFtZT0iIjt0aGlzLnR5cGU9IkJ1ZmZlckdlb21ldHJ5Ijt0aGlzLmluZGV4PW51bGw7dGhpcy5hdHRyaWJ1dGVzPXt9O3RoaXMubW9ycGhBdHRyaWJ1dGVzPXt9O3RoaXMuZ3JvdXBzPVtdO3RoaXMuYm91bmRpbmdTcGhlcmU9dGhpcy5ib3VuZGluZ0JveD1udWxsO3RoaXMuZHJhd1JhbmdlPXtzdGFydDowLGNvdW50OkluZmluaXR5fTt0aGlzLnVzZXJEYXRhPXt9fWZ1bmN0aW9uIHlhKGEsYyl7QS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iTWVzaCI7dGhpcy5nZW9tZXRyeT12b2lkIDAhPT1hP2E6bmV3IHZhO3RoaXMubWF0ZXJpYWw9dm9pZCAwIT09Yz9jOm5ldyBOKHtjb2xvcjoxNjc3NzIxNSpNYXRoLnJhbmRvbSgpfSk7dGhpcy5kcmF3TW9kZT0KMDt0aGlzLnVwZGF0ZU1vcnBoVGFyZ2V0cygpfWZ1bmN0aW9uIEFhKGEsYyxlLGcsdCx2LHosRSl7aWYobnVsbD09PSgxPT09Yy5zaWRlP2cuaW50ZXJzZWN0VHJpYW5nbGUoeix2LHQsITAsRSk6Zy5pbnRlcnNlY3RUcmlhbmdsZSh0LHYseiwyIT09Yy5zaWRlLEUpKSlyZXR1cm4gbnVsbDt2Zy5jb3B5KEUpO3ZnLmFwcGx5TWF0cml4NChhLm1hdHJpeFdvcmxkKTtjPWUucmF5Lm9yaWdpbi5kaXN0YW5jZVRvKHZnKTtyZXR1cm4gYzxlLm5lYXJ8fGM+ZS5mYXI/bnVsbDp7ZGlzdGFuY2U6Yyxwb2ludDp2Zy5jbG9uZSgpLG9iamVjdDphfX1mdW5jdGlvbiBGYShhLGMsZSxnLHQsdix6LEUsRixJLE0pe05kLmZyb21CdWZmZXJBdHRyaWJ1dGUodCxGKTtPZC5mcm9tQnVmZmVyQXR0cmlidXRlKHQsSSk7UGQuZnJvbUJ1ZmZlckF0dHJpYnV0ZSh0LE0pO3Q9YS5tb3JwaFRhcmdldEluZmx1ZW5jZXM7aWYoYy5tb3JwaFRhcmdldHMmJnYmJnQpe05oLnNldCgwLDAsMCk7T2guc2V0KDAsMCwwKTsKUGguc2V0KDAsMCwwKTtmb3IodmFyIFA9MCxRPXYubGVuZ3RoO1A8UTtQKyspe3ZhciBVPXRbUF0sVj12W1BdOzAhPT1VJiYoaWouZnJvbUJ1ZmZlckF0dHJpYnV0ZShWLEYpLGpqLmZyb21CdWZmZXJBdHRyaWJ1dGUoVixJKSxrai5mcm9tQnVmZmVyQXR0cmlidXRlKFYsTSksTmguYWRkU2NhbGVkVmVjdG9yKGlqLnN1YihOZCksVSksT2guYWRkU2NhbGVkVmVjdG9yKGpqLnN1YihPZCksVSksUGguYWRkU2NhbGVkVmVjdG9yKGtqLnN1YihQZCksVSkpfU5kLmFkZChOaCk7T2QuYWRkKE9oKTtQZC5hZGQoUGgpfWlmKGE9QWEoYSxjLGUsZyxOZCxPZCxQZCx1ZikpeiYmKHFlLmZyb21CdWZmZXJBdHRyaWJ1dGUoeixGKSxyZS5mcm9tQnVmZmVyQXR0cmlidXRlKHosSSksc2UuZnJvbUJ1ZmZlckF0dHJpYnV0ZSh6LE0pLGEudXY9Qi5nZXRVVih1ZixOZCxPZCxQZCxxZSxyZSxzZSxuZXcgZikpLEUmJihxZS5mcm9tQnVmZmVyQXR0cmlidXRlKEUsRikscmUuZnJvbUJ1ZmZlckF0dHJpYnV0ZShFLApJKSxzZS5mcm9tQnVmZmVyQXR0cmlidXRlKEUsTSksYS51djI9Qi5nZXRVVih1ZixOZCxPZCxQZCxxZSxyZSxzZSxuZXcgZikpLHo9bmV3IE8oRixJLE0pLEIuZ2V0Tm9ybWFsKE5kLE9kLFBkLHoubm9ybWFsKSxhLmZhY2U9ejtyZXR1cm4gYX1mdW5jdGlvbiB4YSgpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJpZCIse3ZhbHVlOmxsKz0yfSk7dGhpcy51dWlkPWhiLmdlbmVyYXRlVVVJRCgpO3RoaXMubmFtZT0iIjt0aGlzLnR5cGU9Ikdlb21ldHJ5Ijt0aGlzLnZlcnRpY2VzPVtdO3RoaXMuY29sb3JzPVtdO3RoaXMuZmFjZXM9W107dGhpcy5mYWNlVmVydGV4VXZzPVtbXV07dGhpcy5tb3JwaFRhcmdldHM9W107dGhpcy5tb3JwaE5vcm1hbHM9W107dGhpcy5za2luV2VpZ2h0cz1bXTt0aGlzLnNraW5JbmRpY2VzPVtdO3RoaXMubGluZURpc3RhbmNlcz1bXTt0aGlzLmJvdW5kaW5nU3BoZXJlPXRoaXMuYm91bmRpbmdCb3g9bnVsbDt0aGlzLmdyb3Vwc05lZWRVcGRhdGU9dGhpcy5saW5lRGlzdGFuY2VzTmVlZFVwZGF0ZT0KdGhpcy5jb2xvcnNOZWVkVXBkYXRlPXRoaXMubm9ybWFsc05lZWRVcGRhdGU9dGhpcy51dnNOZWVkVXBkYXRlPXRoaXMudmVydGljZXNOZWVkVXBkYXRlPXRoaXMuZWxlbWVudHNOZWVkVXBkYXRlPSExfWZ1bmN0aW9uIFNhKGEsYyxlLGcsdCx2KXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQm94R2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17d2lkdGg6YSxoZWlnaHQ6YyxkZXB0aDplLHdpZHRoU2VnbWVudHM6ZyxoZWlnaHRTZWdtZW50czp0LGRlcHRoU2VnbWVudHM6dn07dGhpcy5mcm9tQnVmZmVyR2VvbWV0cnkobmV3IFhhKGEsYyxlLGcsdCx2KSk7dGhpcy5tZXJnZVZlcnRpY2VzKCl9ZnVuY3Rpb24gWGEoYSxjLGUsZyx0LHYpe2Z1bmN0aW9uIHooVixlYSxkYSxyYSxwYSxxYSx1YSxuYSx0YSxCYSxUYSl7dmFyIFVhPXFhL3RhLENhPXVhL0JhLEhhPXFhLzIsRGE9dWEvMixNYT1uYS8yO3VhPXRhKzE7dmFyIGRiPUJhKzEsdGI9cWE9MCxLYSxiYixqYj1uZXcgaztmb3IoYmI9CjA7YmI8ZGI7YmIrKyl7dmFyIEViPWJiKkNhLURhO2ZvcihLYT0wO0thPHVhO0thKyspamJbVl09KEthKlVhLUhhKSpyYSxqYltlYV09RWIqcGEsamJbZGFdPU1hLEkucHVzaChqYi54LGpiLnksamIueiksamJbVl09MCxqYltlYV09MCxqYltkYV09MDxuYT8xOi0xLE0ucHVzaChqYi54LGpiLnksamIueiksUC5wdXNoKEthL3RhKSxQLnB1c2goMS1iYi9CYSkscWErPTF9Zm9yKGJiPTA7YmI8QmE7YmIrKylmb3IoS2E9MDtLYTx0YTtLYSsrKVY9UStLYSt1YSooYmIrMSksZWE9USsoS2ErMSkrdWEqKGJiKzEpLGRhPVErKEthKzEpK3VhKmJiLEYucHVzaChRK0thK3VhKmJiLFYsZGEpLEYucHVzaChWLGVhLGRhKSx0Yis9NjtFLmFkZEdyb3VwKFUsdGIsVGEpO1UrPXRiO1ErPXFhfXZhLmNhbGwodGhpcyk7dGhpcy50eXBlPSJCb3hCdWZmZXJHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXt3aWR0aDphLGhlaWdodDpjLGRlcHRoOmUsd2lkdGhTZWdtZW50czpnLGhlaWdodFNlZ21lbnRzOnQsCmRlcHRoU2VnbWVudHM6dn07dmFyIEU9dGhpczthPWF8fDE7Yz1jfHwxO2U9ZXx8MTtnPU1hdGguZmxvb3IoZyl8fDE7dD1NYXRoLmZsb29yKHQpfHwxO3Y9TWF0aC5mbG9vcih2KXx8MTt2YXIgRj1bXSxJPVtdLE09W10sUD1bXSxRPTAsVT0wO3ooInoiLCJ5IiwieCIsLTEsLTEsZSxjLGEsdix0LDApO3ooInoiLCJ5IiwieCIsMSwtMSxlLGMsLWEsdix0LDEpO3ooIngiLCJ6IiwieSIsMSwxLGEsZSxjLGcsdiwyKTt6KCJ4IiwieiIsInkiLDEsLTEsYSxlLC1jLGcsdiwzKTt6KCJ4IiwieSIsInoiLDEsLTEsYSxjLGUsZyx0LDQpO3ooIngiLCJ5IiwieiIsLTEsLTEsYSxjLC1lLGcsdCw1KTt0aGlzLnNldEluZGV4KEYpO3RoaXMuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKEksMykpO3RoaXMuYWRkQXR0cmlidXRlKCJub3JtYWwiLG5ldyBiYShNLDMpKTt0aGlzLmFkZEF0dHJpYnV0ZSgidXYiLG5ldyBiYShQLDIpKX1mdW5jdGlvbiB1YihhKXt2YXIgYz17fSxlO2ZvcihlIGluIGEpe2NbZV09Cnt9O2Zvcih2YXIgZyBpbiBhW2VdKXt2YXIgdD1hW2VdW2ddO2NbZV1bZ109dCYmKHQuaXNDb2xvcnx8dC5pc01hdHJpeDN8fHQuaXNNYXRyaXg0fHx0LmlzVmVjdG9yMnx8dC5pc1ZlY3RvcjN8fHQuaXNWZWN0b3I0fHx0LmlzVGV4dHVyZSk/dC5jbG9uZSgpOkFycmF5LmlzQXJyYXkodCk/dC5zbGljZSgpOnR9fXJldHVybiBjfWZ1bmN0aW9uIEJiKGEpe2Zvcih2YXIgYz17fSxlPTA7ZTxhLmxlbmd0aDtlKyspe3ZhciBnPXViKGFbZV0pLHQ7Zm9yKHQgaW4gZyljW3RdPWdbdF19cmV0dXJuIGN9ZnVuY3Rpb24gcWIoYSl7Uy5jYWxsKHRoaXMpO3RoaXMudHlwZT0iU2hhZGVyTWF0ZXJpYWwiO3RoaXMuZGVmaW5lcz17fTt0aGlzLnVuaWZvcm1zPXt9O3RoaXMudmVydGV4U2hhZGVyPSJ2b2lkIG1haW4oKSB7XG5cdGdsX1Bvc2l0aW9uIFx4M2QgcHJvamVjdGlvbk1hdHJpeCAqIG1vZGVsVmlld01hdHJpeCAqIHZlYzQoIHBvc2l0aW9uLCAxLjAgKTtcbn0iO3RoaXMuZnJhZ21lbnRTaGFkZXI9CiJ2b2lkIG1haW4oKSB7XG5cdGdsX0ZyYWdDb2xvciBceDNkIHZlYzQoIDEuMCwgMC4wLCAwLjAsIDEuMCApO1xufSI7dGhpcy5saW5ld2lkdGg9MTt0aGlzLndpcmVmcmFtZT0hMTt0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xO3RoaXMubW9ycGhOb3JtYWxzPXRoaXMubW9ycGhUYXJnZXRzPXRoaXMuc2tpbm5pbmc9dGhpcy5jbGlwcGluZz10aGlzLmxpZ2h0cz10aGlzLmZvZz0hMTt0aGlzLmV4dGVuc2lvbnM9e2Rlcml2YXRpdmVzOiExLGZyYWdEZXB0aDohMSxkcmF3QnVmZmVyczohMSxzaGFkZXJUZXh0dXJlTE9EOiExfTt0aGlzLmRlZmF1bHRBdHRyaWJ1dGVWYWx1ZXM9e2NvbG9yOlsxLDEsMV0sdXY6WzAsMF0sdXYyOlswLDBdfTt0aGlzLmluZGV4MEF0dHJpYnV0ZU5hbWU9dm9pZCAwO3RoaXMudW5pZm9ybXNOZWVkVXBkYXRlPSExO3ZvaWQgMCE9PWEmJih2b2lkIDAhPT1hLmF0dHJpYnV0ZXMmJmNvbnNvbGUuZXJyb3IoIlRIUkVFLlNoYWRlck1hdGVyaWFsOiBhdHRyaWJ1dGVzIHNob3VsZCBub3cgYmUgZGVmaW5lZCBpbiBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpLAp0aGlzLnNldFZhbHVlcyhhKSl9ZnVuY3Rpb24gemIoKXtBLmNhbGwodGhpcyk7dGhpcy50eXBlPSJDYW1lcmEiO3RoaXMubWF0cml4V29ybGRJbnZlcnNlPW5ldyBxO3RoaXMucHJvamVjdGlvbk1hdHJpeD1uZXcgcTt0aGlzLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlPW5ldyBxfWZ1bmN0aW9uIHZiKGEsYyxlLGcpe3piLmNhbGwodGhpcyk7dGhpcy50eXBlPSJQZXJzcGVjdGl2ZUNhbWVyYSI7dGhpcy5mb3Y9dm9pZCAwIT09YT9hOjUwO3RoaXMuem9vbT0xO3RoaXMubmVhcj12b2lkIDAhPT1lP2U6LjE7dGhpcy5mYXI9dm9pZCAwIT09Zz9nOjJFMzt0aGlzLmZvY3VzPTEwO3RoaXMuYXNwZWN0PXZvaWQgMCE9PWM/YzoxO3RoaXMudmlldz1udWxsO3RoaXMuZmlsbUdhdWdlPTM1O3RoaXMuZmlsbU9mZnNldD0wO3RoaXMudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfWZ1bmN0aW9uIEdiKGEsYyxlLGcpe0EuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IkN1YmVDYW1lcmEiO3ZhciB0PW5ldyB2Yig5MCwKMSxhLGMpO3QudXAuc2V0KDAsLTEsMCk7dC5sb29rQXQobmV3IGsoMSwwLDApKTt0aGlzLmFkZCh0KTt2YXIgdj1uZXcgdmIoOTAsMSxhLGMpO3YudXAuc2V0KDAsLTEsMCk7di5sb29rQXQobmV3IGsoLTEsMCwwKSk7dGhpcy5hZGQodik7dmFyIHo9bmV3IHZiKDkwLDEsYSxjKTt6LnVwLnNldCgwLDAsMSk7ei5sb29rQXQobmV3IGsoMCwxLDApKTt0aGlzLmFkZCh6KTt2YXIgRT1uZXcgdmIoOTAsMSxhLGMpO0UudXAuc2V0KDAsMCwtMSk7RS5sb29rQXQobmV3IGsoMCwtMSwwKSk7dGhpcy5hZGQoRSk7dmFyIEY9bmV3IHZiKDkwLDEsYSxjKTtGLnVwLnNldCgwLC0xLDApO0YubG9va0F0KG5ldyBrKDAsMCwxKSk7dGhpcy5hZGQoRik7dmFyIEk9bmV3IHZiKDkwLDEsYSxjKTtJLnVwLnNldCgwLC0xLDApO0kubG9va0F0KG5ldyBrKDAsMCwtMSkpO3RoaXMuYWRkKEkpO2c9Z3x8e2Zvcm1hdDoxMDIyLG1hZ0ZpbHRlcjoxMDA2LG1pbkZpbHRlcjoxMDA2fTt0aGlzLnJlbmRlclRhcmdldD0KbmV3IE9iKGUsZSxnKTt0aGlzLnJlbmRlclRhcmdldC50ZXh0dXJlLm5hbWU9IkN1YmVDYW1lcmEiO3RoaXMudXBkYXRlPWZ1bmN0aW9uKE0sUCl7bnVsbD09PXRoaXMucGFyZW50JiZ0aGlzLnVwZGF0ZU1hdHJpeFdvcmxkKCk7dmFyIFE9TS5nZXRSZW5kZXJUYXJnZXQoKSxVPXRoaXMucmVuZGVyVGFyZ2V0LFY9VS50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcztVLnRleHR1cmUuZ2VuZXJhdGVNaXBtYXBzPSExO00uc2V0UmVuZGVyVGFyZ2V0KFUsMCk7TS5yZW5kZXIoUCx0KTtNLnNldFJlbmRlclRhcmdldChVLDEpO00ucmVuZGVyKFAsdik7TS5zZXRSZW5kZXJUYXJnZXQoVSwyKTtNLnJlbmRlcihQLHopO00uc2V0UmVuZGVyVGFyZ2V0KFUsMyk7TS5yZW5kZXIoUCxFKTtNLnNldFJlbmRlclRhcmdldChVLDQpO00ucmVuZGVyKFAsRik7VS50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcz1WO00uc2V0UmVuZGVyVGFyZ2V0KFUsNSk7TS5yZW5kZXIoUCxJKTtNLnNldFJlbmRlclRhcmdldChRKX07CnRoaXMuY2xlYXI9ZnVuY3Rpb24oTSxQLFEsVSl7Zm9yKHZhciBWPU0uZ2V0UmVuZGVyVGFyZ2V0KCksZWE9dGhpcy5yZW5kZXJUYXJnZXQsZGE9MDs2PmRhO2RhKyspTS5zZXRSZW5kZXJUYXJnZXQoZWEsZGEpLE0uY2xlYXIoUCxRLFUpO00uc2V0UmVuZGVyVGFyZ2V0KFYpfX1mdW5jdGlvbiBPYihhLGMsZSl7bS5jYWxsKHRoaXMsYSxjLGUpfWZ1bmN0aW9uIEFiKGEsYyxlLGcsdCx2LHosRSxGLEksTSxQKXtsLmNhbGwodGhpcyxudWxsLHYseixFLEYsSSxnLHQsTSxQKTt0aGlzLmltYWdlPXtkYXRhOmEsd2lkdGg6YyxoZWlnaHQ6ZX07dGhpcy5tYWdGaWx0ZXI9dm9pZCAwIT09Rj9GOjEwMDM7dGhpcy5taW5GaWx0ZXI9dm9pZCAwIT09ST9JOjEwMDM7dGhpcy5mbGlwWT10aGlzLmdlbmVyYXRlTWlwbWFwcz0hMTt0aGlzLnVucGFja0FsaWdubWVudD0xfWZ1bmN0aW9uIEhiKGEsYyl7dGhpcy5ub3JtYWw9dm9pZCAwIT09YT9hOm5ldyBrKDEsMCwwKTt0aGlzLmNvbnN0YW50PXZvaWQgMCE9PQpjP2M6MH1mdW5jdGlvbiBsYyhhLGMsZSxnLHQsdil7dGhpcy5wbGFuZXM9W3ZvaWQgMCE9PWE/YTpuZXcgSGIsdm9pZCAwIT09Yz9jOm5ldyBIYix2b2lkIDAhPT1lP2U6bmV3IEhiLHZvaWQgMCE9PWc/ZzpuZXcgSGIsdm9pZCAwIT09dD90Om5ldyBIYix2b2lkIDAhPT12P3Y6bmV3IEhiXX1mdW5jdGlvbiBlYygpe2Z1bmN0aW9uIGEodCx2KXshMSE9PWUmJihnKHQsdiksYy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYSkpfXZhciBjPW51bGwsZT0hMSxnPW51bGw7cmV0dXJue3N0YXJ0OmZ1bmN0aW9uKCl7ITAhPT1lJiZudWxsIT09ZyYmKGMucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGEpLGU9ITApfSxzdG9wOmZ1bmN0aW9uKCl7ZT0hMX0sc2V0QW5pbWF0aW9uTG9vcDpmdW5jdGlvbih0KXtnPXR9LHNldENvbnRleHQ6ZnVuY3Rpb24odCl7Yz10fX19ZnVuY3Rpb24gUWQoYSl7ZnVuY3Rpb24gYyh0LHYpe3ZhciB6PXQuYXJyYXksRT10LmR5bmFtaWM/MzUwNDg6MzUwNDQsRj1hLmNyZWF0ZUJ1ZmZlcigpOwphLmJpbmRCdWZmZXIodixGKTthLmJ1ZmZlckRhdGEodix6LEUpO3Qub25VcGxvYWRDYWxsYmFjaygpO3Y9NTEyNjt6IGluc3RhbmNlb2YgRmxvYXQzMkFycmF5P3Y9NTEyNjp6IGluc3RhbmNlb2YgRmxvYXQ2NEFycmF5P2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xBdHRyaWJ1dGVzOiBVbnN1cHBvcnRlZCBkYXRhIGJ1ZmZlciBmb3JtYXQ6IEZsb2F0NjRBcnJheS4iKTp6IGluc3RhbmNlb2YgVWludDE2QXJyYXk/dj01MTIzOnogaW5zdGFuY2VvZiBJbnQxNkFycmF5P3Y9NTEyMjp6IGluc3RhbmNlb2YgVWludDMyQXJyYXk/dj01MTI1OnogaW5zdGFuY2VvZiBJbnQzMkFycmF5P3Y9NTEyNDp6IGluc3RhbmNlb2YgSW50OEFycmF5P3Y9NTEyMDp6IGluc3RhbmNlb2YgVWludDhBcnJheSYmKHY9NTEyMSk7cmV0dXJue2J1ZmZlcjpGLHR5cGU6dixieXRlc1BlckVsZW1lbnQ6ei5CWVRFU19QRVJfRUxFTUVOVCx2ZXJzaW9uOnQudmVyc2lvbn19ZnVuY3Rpb24gZSh0LHYseil7dmFyIEU9CnYuYXJyYXksRj12LnVwZGF0ZVJhbmdlO2EuYmluZEJ1ZmZlcih6LHQpOyExPT09di5keW5hbWljP2EuYnVmZmVyRGF0YSh6LEUsMzUwNDQpOi0xPT09Ri5jb3VudD9hLmJ1ZmZlclN1YkRhdGEoeiwwLEUpOjA9PT1GLmNvdW50P2NvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMT2JqZWN0cy51cGRhdGVCdWZmZXI6IGR5bmFtaWMgVEhSRUUuQnVmZmVyQXR0cmlidXRlIG1hcmtlZCBhcyBuZWVkc1VwZGF0ZSBidXQgdXBkYXRlUmFuZ2UuY291bnQgaXMgMCwgZW5zdXJlIHlvdSBhcmUgdXNpbmcgc2V0IG1ldGhvZHMgb3IgdXBkYXRpbmcgbWFudWFsbHkuIik6KGEuYnVmZmVyU3ViRGF0YSh6LEYub2Zmc2V0KkUuQllURVNfUEVSX0VMRU1FTlQsRS5zdWJhcnJheShGLm9mZnNldCxGLm9mZnNldCtGLmNvdW50KSksRi5jb3VudD0tMSl9dmFyIGc9bmV3IFdlYWtNYXA7cmV0dXJue2dldDpmdW5jdGlvbih0KXt0LmlzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGUmJih0PXQuZGF0YSk7cmV0dXJuIGcuZ2V0KHQpfSwKcmVtb3ZlOmZ1bmN0aW9uKHQpe3QuaXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZSYmKHQ9dC5kYXRhKTt2YXIgdj1nLmdldCh0KTt2JiYoYS5kZWxldGVCdWZmZXIodi5idWZmZXIpLGcuZGVsZXRlKHQpKX0sdXBkYXRlOmZ1bmN0aW9uKHQsdil7dC5pc0ludGVybGVhdmVkQnVmZmVyQXR0cmlidXRlJiYodD10LmRhdGEpO3ZhciB6PWcuZ2V0KHQpO3ZvaWQgMD09PXo/Zy5zZXQodCxjKHQsdikpOnoudmVyc2lvbjx0LnZlcnNpb24mJihlKHouYnVmZmVyLHQsdiksei52ZXJzaW9uPXQudmVyc2lvbil9fX1mdW5jdGlvbiB0ZChhLGMsZSxnKXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iUGxhbmVHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXt3aWR0aDphLGhlaWdodDpjLHdpZHRoU2VnbWVudHM6ZSxoZWlnaHRTZWdtZW50czpnfTt0aGlzLmZyb21CdWZmZXJHZW9tZXRyeShuZXcgTmMoYSxjLGUsZykpO3RoaXMubWVyZ2VWZXJ0aWNlcygpfWZ1bmN0aW9uIE5jKGEsYyxlLGcpe3ZhLmNhbGwodGhpcyk7CnRoaXMudHlwZT0iUGxhbmVCdWZmZXJHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXt3aWR0aDphLGhlaWdodDpjLHdpZHRoU2VnbWVudHM6ZSxoZWlnaHRTZWdtZW50czpnfTthPWF8fDE7Yz1jfHwxO3ZhciB0PWEvMix2PWMvMjtlPU1hdGguZmxvb3IoZSl8fDE7Zz1NYXRoLmZsb29yKGcpfHwxO3ZhciB6PWUrMSxFPWcrMSxGPWEvZSxJPWMvZyxNPVtdLFA9W10sUT1bXSxVPVtdO2ZvcihhPTA7YTxFO2ErKyl7dmFyIFY9YSpJLXY7Zm9yKGM9MDtjPHo7YysrKVAucHVzaChjKkYtdCwtViwwKSxRLnB1c2goMCwwLDEpLFUucHVzaChjL2UpLFUucHVzaCgxLWEvZyl9Zm9yKGE9MDthPGc7YSsrKWZvcihjPTA7YzxlO2MrKyl0PWMreiooYSsxKSx2PWMrMSt6KihhKzEpLEU9YysxK3oqYSxNLnB1c2goYyt6KmEsdCxFKSxNLnB1c2godCx2LEUpO3RoaXMuc2V0SW5kZXgoTSk7dGhpcy5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEoUCwzKSk7dGhpcy5hZGRBdHRyaWJ1dGUoIm5vcm1hbCIsCm5ldyBiYShRLDMpKTt0aGlzLmFkZEF0dHJpYnV0ZSgidXYiLG5ldyBiYShVLDIpKX1mdW5jdGlvbiB1ZChhLGMsZSxnKXtmdW5jdGlvbiB0KFAsUSl7Yy5idWZmZXJzLmNvbG9yLnNldENsZWFyKFAucixQLmcsUC5iLFEsZyl9dmFyIHY9bmV3IEgoMCksej0wLEUsRixJPW51bGwsTT0wO3JldHVybntnZXRDbGVhckNvbG9yOmZ1bmN0aW9uKCl7cmV0dXJuIHZ9LHNldENsZWFyQ29sb3I6ZnVuY3Rpb24oUCxRKXt2LnNldChQKTt6PXZvaWQgMCE9PVE/UToxO3Qodix6KX0sZ2V0Q2xlYXJBbHBoYTpmdW5jdGlvbigpe3JldHVybiB6fSxzZXRDbGVhckFscGhhOmZ1bmN0aW9uKFApe3o9UDt0KHYseil9LHJlbmRlcjpmdW5jdGlvbihQLFEsVSxWKXtRPVEuYmFja2dyb3VuZDtVPWEudnI7KFU9VS5nZXRTZXNzaW9uJiZVLmdldFNlc3Npb24oKSkmJiJhZGRpdGl2ZSI9PT1VLmVudmlyb25tZW50QmxlbmRNb2RlJiYoUT1udWxsKTtudWxsPT09UT8odCh2LHopLEk9bnVsbCxNPTApOlEmJlEuaXNDb2xvciYmCih0KFEsMSksVj0hMCxJPW51bGwsTT0wKTsoYS5hdXRvQ2xlYXJ8fFYpJiZhLmNsZWFyKGEuYXV0b0NsZWFyQ29sb3IsYS5hdXRvQ2xlYXJEZXB0aCxhLmF1dG9DbGVhclN0ZW5jaWwpO2lmKFEmJihRLmlzQ3ViZVRleHR1cmV8fFEuaXNXZWJHTFJlbmRlclRhcmdldEN1YmUpKXt2b2lkIDA9PT1GJiYoRj1uZXcgeWEobmV3IFhhKDEsMSwxKSxuZXcgcWIoe3R5cGU6IkJhY2tncm91bmRDdWJlTWF0ZXJpYWwiLHVuaWZvcm1zOnViKE9jLmN1YmUudW5pZm9ybXMpLHZlcnRleFNoYWRlcjpPYy5jdWJlLnZlcnRleFNoYWRlcixmcmFnbWVudFNoYWRlcjpPYy5jdWJlLmZyYWdtZW50U2hhZGVyLHNpZGU6MSxkZXB0aFRlc3Q6ITEsZGVwdGhXcml0ZTohMSxmb2c6ITF9KSksRi5nZW9tZXRyeS5yZW1vdmVBdHRyaWJ1dGUoIm5vcm1hbCIpLEYuZ2VvbWV0cnkucmVtb3ZlQXR0cmlidXRlKCJ1diIpLEYub25CZWZvcmVSZW5kZXI9ZnVuY3Rpb24oZWEsZGEscmEpe3RoaXMubWF0cml4V29ybGQuY29weVBvc2l0aW9uKHJhLm1hdHJpeFdvcmxkKX0sCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShGLm1hdGVyaWFsLCJtYXAiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51bmlmb3Jtcy50Q3ViZS52YWx1ZX19KSxlLnVwZGF0ZShGKSk7Vj1RLmlzV2ViR0xSZW5kZXJUYXJnZXRDdWJlP1EudGV4dHVyZTpRO0YubWF0ZXJpYWwudW5pZm9ybXMudEN1YmUudmFsdWU9VjtGLm1hdGVyaWFsLnVuaWZvcm1zLnRGbGlwLnZhbHVlPVEuaXNXZWJHTFJlbmRlclRhcmdldEN1YmU/MTotMTtpZihJIT09UXx8TSE9PVYudmVyc2lvbilGLm1hdGVyaWFsLm5lZWRzVXBkYXRlPSEwLEk9USxNPVYudmVyc2lvbjtQLnVuc2hpZnQoRixGLmdlb21ldHJ5LEYubWF0ZXJpYWwsMCwwLG51bGwpfWVsc2UgaWYoUSYmUS5pc1RleHR1cmUpe3ZvaWQgMD09PUUmJihFPW5ldyB5YShuZXcgTmMoMiwyKSxuZXcgcWIoe3R5cGU6IkJhY2tncm91bmRNYXRlcmlhbCIsdW5pZm9ybXM6dWIoT2MuYmFja2dyb3VuZC51bmlmb3JtcyksdmVydGV4U2hhZGVyOk9jLmJhY2tncm91bmQudmVydGV4U2hhZGVyLApmcmFnbWVudFNoYWRlcjpPYy5iYWNrZ3JvdW5kLmZyYWdtZW50U2hhZGVyLHNpZGU6MCxkZXB0aFRlc3Q6ITEsZGVwdGhXcml0ZTohMSxmb2c6ITF9KSksRS5nZW9tZXRyeS5yZW1vdmVBdHRyaWJ1dGUoIm5vcm1hbCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFLm1hdGVyaWFsLCJtYXAiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51bmlmb3Jtcy50MkQudmFsdWV9fSksZS51cGRhdGUoRSkpO0UubWF0ZXJpYWwudW5pZm9ybXMudDJELnZhbHVlPVE7ITA9PT1RLm1hdHJpeEF1dG9VcGRhdGUmJlEudXBkYXRlTWF0cml4KCk7RS5tYXRlcmlhbC51bmlmb3Jtcy51dlRyYW5zZm9ybS52YWx1ZS5jb3B5KFEubWF0cml4KTtpZihJIT09UXx8TSE9PVEudmVyc2lvbilFLm1hdGVyaWFsLm5lZWRzVXBkYXRlPSEwLEk9USxNPVEudmVyc2lvbjtQLnVuc2hpZnQoRSxFLmdlb21ldHJ5LEUubWF0ZXJpYWwsMCwwLG51bGwpfX19fWZ1bmN0aW9uIHNhKGEsYyxlLGcpe3ZhciB0O3RoaXMuc2V0TW9kZT0KZnVuY3Rpb24odil7dD12fTt0aGlzLnJlbmRlcj1mdW5jdGlvbih2LHope2EuZHJhd0FycmF5cyh0LHYseik7ZS51cGRhdGUoeix0KX07dGhpcy5yZW5kZXJJbnN0YW5jZXM9ZnVuY3Rpb24odix6LEUpe2lmKGcuaXNXZWJHTDIpe3ZhciBGPWE7dmFyIEk9ImRyYXdBcnJheXNJbnN0YW5jZWQifWVsc2UgaWYoRj1jLmdldCgiQU5HTEVfaW5zdGFuY2VkX2FycmF5cyIpLEk9ImRyYXdBcnJheXNJbnN0YW5jZWRBTkdMRSIsbnVsbD09PUYpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMQnVmZmVyUmVuZGVyZXI6IHVzaW5nIFRIUkVFLkluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5IGJ1dCBoYXJkd2FyZSBkb2VzIG5vdCBzdXBwb3J0IGV4dGVuc2lvbiBBTkdMRV9pbnN0YW5jZWRfYXJyYXlzLiIpO3JldHVybn1GW0ldKHQseixFLHYubWF4SW5zdGFuY2VkQ291bnQpO2UudXBkYXRlKEUsdCx2Lm1heEluc3RhbmNlZENvdW50KX19ZnVuY3Rpb24gTmIoYSxjLGUpe2Z1bmN0aW9uIGcocWEpe2lmKCJoaWdocCI9PT0KcWEpe2lmKDA8YS5nZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoMzU2MzMsMzYzMzgpLnByZWNpc2lvbiYmMDxhLmdldFNoYWRlclByZWNpc2lvbkZvcm1hdCgzNTYzMiwzNjMzOCkucHJlY2lzaW9uKXJldHVybiJoaWdocCI7cWE9Im1lZGl1bXAifXJldHVybiJtZWRpdW1wIj09PXFhJiYwPGEuZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0KDM1NjMzLDM2MzM3KS5wcmVjaXNpb24mJjA8YS5nZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoMzU2MzIsMzYzMzcpLnByZWNpc2lvbj8ibWVkaXVtcCI6Imxvd3AifXZhciB0LHY9InVuZGVmaW5lZCIhPT10eXBlb2YgV2ViR0wyUmVuZGVyaW5nQ29udGV4dCYmYSBpbnN0YW5jZW9mIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQsej12b2lkIDAhPT1lLnByZWNpc2lvbj9lLnByZWNpc2lvbjoiaGlnaHAiLEU9Zyh6KTtFIT09eiYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjoiLHosIm5vdCBzdXBwb3J0ZWQsIHVzaW5nIixFLCJpbnN0ZWFkLiIpLAp6PUUpO2U9ITA9PT1lLmxvZ2FyaXRobWljRGVwdGhCdWZmZXI7RT1hLmdldFBhcmFtZXRlcigzNDkzMCk7dmFyIEY9YS5nZXRQYXJhbWV0ZXIoMzU2NjApLEk9YS5nZXRQYXJhbWV0ZXIoMzM3OSksTT1hLmdldFBhcmFtZXRlcigzNDA3NiksUD1hLmdldFBhcmFtZXRlcigzNDkyMSksUT1hLmdldFBhcmFtZXRlcigzNjM0NyksVT1hLmdldFBhcmFtZXRlcigzNjM0OCksVj1hLmdldFBhcmFtZXRlcigzNjM0OSksZWE9MDxGLGRhPXZ8fCEhYy5nZXQoIk9FU190ZXh0dXJlX2Zsb2F0IikscmE9ZWEmJmRhLHBhPXY/YS5nZXRQYXJhbWV0ZXIoMzYxODMpOjA7cmV0dXJue2lzV2ViR0wyOnYsZ2V0TWF4QW5pc290cm9weTpmdW5jdGlvbigpe2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQ7dmFyIHFhPWMuZ2V0KCJFWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKTtyZXR1cm4gdD1udWxsIT09cWE/YS5nZXRQYXJhbWV0ZXIocWEuTUFYX1RFWFRVUkVfTUFYX0FOSVNPVFJPUFlfRVhUKTowfSwKZ2V0TWF4UHJlY2lzaW9uOmcscHJlY2lzaW9uOnosbG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcjplLG1heFRleHR1cmVzOkUsbWF4VmVydGV4VGV4dHVyZXM6RixtYXhUZXh0dXJlU2l6ZTpJLG1heEN1YmVtYXBTaXplOk0sbWF4QXR0cmlidXRlczpQLG1heFZlcnRleFVuaWZvcm1zOlEsbWF4VmFyeWluZ3M6VSxtYXhGcmFnbWVudFVuaWZvcm1zOlYsdmVydGV4VGV4dHVyZXM6ZWEsZmxvYXRGcmFnbWVudFRleHR1cmVzOmRhLGZsb2F0VmVydGV4VGV4dHVyZXM6cmEsbWF4U2FtcGxlczpwYX19ZnVuY3Rpb24geWMoKXtmdW5jdGlvbiBhKCl7SS52YWx1ZSE9PWcmJihJLnZhbHVlPWcsSS5uZWVkc1VwZGF0ZT0wPHQpO2UubnVtUGxhbmVzPXQ7ZS5udW1JbnRlcnNlY3Rpb249MH1mdW5jdGlvbiBjKE0sUCxRLFUpe3ZhciBWPW51bGwhPT1NP00ubGVuZ3RoOjAsZWE9bnVsbDtpZigwIT09Vil7ZWE9SS52YWx1ZTtpZighMCE9PVV8fG51bGw9PT1lYSl7VT1RKzQqVjtQPVAubWF0cml4V29ybGRJbnZlcnNlOwpGLmdldE5vcm1hbE1hdHJpeChQKTtpZihudWxsPT09ZWF8fGVhLmxlbmd0aDxVKWVhPW5ldyBGbG9hdDMyQXJyYXkoVSk7Zm9yKFU9MDtVIT09VjsrK1UsUSs9NClFLmNvcHkoTVtVXSkuYXBwbHlNYXRyaXg0KFAsRiksRS5ub3JtYWwudG9BcnJheShlYSxRKSxlYVtRKzNdPUUuY29uc3RhbnR9SS52YWx1ZT1lYTtJLm5lZWRzVXBkYXRlPSEwfWUubnVtUGxhbmVzPVY7cmV0dXJuIGVhfXZhciBlPXRoaXMsZz1udWxsLHQ9MCx2PSExLHo9ITEsRT1uZXcgSGIsRj1uZXcgcixJPXt2YWx1ZTpudWxsLG5lZWRzVXBkYXRlOiExfTt0aGlzLnVuaWZvcm09STt0aGlzLm51bUludGVyc2VjdGlvbj10aGlzLm51bVBsYW5lcz0wO3RoaXMuaW5pdD1mdW5jdGlvbihNLFAsUSl7dmFyIFU9MCE9PU0ubGVuZ3RofHxQfHwwIT09dHx8djt2PVA7Zz1jKE0sUSwwKTt0PU0ubGVuZ3RoO3JldHVybiBVfTt0aGlzLmJlZ2luU2hhZG93cz1mdW5jdGlvbigpe3o9ITA7YyhudWxsKX07dGhpcy5lbmRTaGFkb3dzPQpmdW5jdGlvbigpe3o9ITE7YSgpfTt0aGlzLnNldFN0YXRlPWZ1bmN0aW9uKE0sUCxRLFUsVixlYSl7aWYoIXZ8fG51bGw9PT1NfHwwPT09TS5sZW5ndGh8fHomJiFRKXo/YyhudWxsKTphKCk7ZWxzZXtRPXo/MDp0O3ZhciBkYT00KlEscmE9Vi5jbGlwcGluZ1N0YXRlfHxudWxsO0kudmFsdWU9cmE7cmE9YyhNLFUsZGEsZWEpO2ZvcihNPTA7TSE9PWRhOysrTSlyYVtNXT1nW01dO1YuY2xpcHBpbmdTdGF0ZT1yYTt0aGlzLm51bUludGVyc2VjdGlvbj1QP3RoaXMubnVtUGxhbmVzOjA7dGhpcy5udW1QbGFuZXMrPVF9fX1mdW5jdGlvbiBkZChhKXt2YXIgYz17fTtyZXR1cm57Z2V0OmZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PWNbZV0pcmV0dXJuIGNbZV07c3dpdGNoKGUpe2Nhc2UgIldFQkdMX2RlcHRoX3RleHR1cmUiOnZhciBnPWEuZ2V0RXh0ZW5zaW9uKCJXRUJHTF9kZXB0aF90ZXh0dXJlIil8fGEuZ2V0RXh0ZW5zaW9uKCJNT1pfV0VCR0xfZGVwdGhfdGV4dHVyZSIpfHxhLmdldEV4dGVuc2lvbigiV0VCS0lUX1dFQkdMX2RlcHRoX3RleHR1cmUiKTsKYnJlYWs7Y2FzZSAiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIjpnPWEuZ2V0RXh0ZW5zaW9uKCJFWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKXx8YS5nZXRFeHRlbnNpb24oIk1PWl9FWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKXx8YS5nZXRFeHRlbnNpb24oIldFQktJVF9FWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKTticmVhaztjYXNlICJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YyI6Zz1hLmdldEV4dGVuc2lvbigiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiKXx8YS5nZXRFeHRlbnNpb24oIk1PWl9XRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YyIpfHxhLmdldEV4dGVuc2lvbigiV0VCS0lUX1dFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjIik7YnJlYWs7Y2FzZSAiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjIjpnPWEuZ2V0RXh0ZW5zaW9uKCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfcHZydGMiKXx8CmEuZ2V0RXh0ZW5zaW9uKCJXRUJLSVRfV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjIik7YnJlYWs7ZGVmYXVsdDpnPWEuZ2V0RXh0ZW5zaW9uKGUpfW51bGw9PT1nJiZjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6ICIrZSsiIGV4dGVuc2lvbiBub3Qgc3VwcG9ydGVkLiIpO3JldHVybiBjW2VdPWd9fX1mdW5jdGlvbiB2ZChhLGMsZSl7ZnVuY3Rpb24gZyhFKXt2YXIgRj1FLnRhcmdldDtFPXYuZ2V0KEYpO251bGwhPT1FLmluZGV4JiZjLnJlbW92ZShFLmluZGV4KTtmb3IodmFyIEkgaW4gRS5hdHRyaWJ1dGVzKWMucmVtb3ZlKEUuYXR0cmlidXRlc1tJXSk7Ri5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIixnKTt2LmRlbGV0ZShGKTtpZihJPXouZ2V0KEUpKWMucmVtb3ZlKEkpLHouZGVsZXRlKEUpO2UubWVtb3J5Lmdlb21ldHJpZXMtLX1mdW5jdGlvbiB0KEUpe3ZhciBGPVtdLEk9RS5pbmRleCxNPUUuYXR0cmlidXRlcy5wb3NpdGlvbjtpZihudWxsIT09Ckkpe3ZhciBQPUkuYXJyYXk7ST1JLnZlcnNpb247TT0wO2Zvcih2YXIgUT1QLmxlbmd0aDtNPFE7TSs9Myl7dmFyIFU9UFtNKzBdLFY9UFtNKzFdLGVhPVBbTSsyXTtGLnB1c2goVSxWLFYsZWEsZWEsVSl9fWVsc2UgZm9yKFA9TS5hcnJheSxJPU0udmVyc2lvbixNPTAsUT1QLmxlbmd0aC8zLTE7TTxRO00rPTMpVT1NKzAsVj1NKzEsZWE9TSsyLEYucHVzaChVLFYsVixlYSxlYSxVKTtGPW5ldyAoNjU1MzU8RWEoRik/amE6WikoRiwxKTtGLnZlcnNpb249STtjLnVwZGF0ZShGLDM0OTYzKTsoUD16LmdldChFKSkmJmMucmVtb3ZlKFApO3ouc2V0KEUsRil9dmFyIHY9bmV3IFdlYWtNYXAsej1uZXcgV2Vha01hcDtyZXR1cm57Z2V0OmZ1bmN0aW9uKEUsRil7dmFyIEk9di5nZXQoRik7aWYoSSlyZXR1cm4gSTtGLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLGcpO0YuaXNCdWZmZXJHZW9tZXRyeT9JPUY6Ri5pc0dlb21ldHJ5JiYodm9pZCAwPT09Ri5fYnVmZmVyR2VvbWV0cnkmJihGLl9idWZmZXJHZW9tZXRyeT0KKG5ldyB2YSkuc2V0RnJvbU9iamVjdChFKSksST1GLl9idWZmZXJHZW9tZXRyeSk7di5zZXQoRixJKTtlLm1lbW9yeS5nZW9tZXRyaWVzKys7cmV0dXJuIEl9LHVwZGF0ZTpmdW5jdGlvbihFKXt2YXIgRj1FLmluZGV4LEk9RS5hdHRyaWJ1dGVzO251bGwhPT1GJiZjLnVwZGF0ZShGLDM0OTYzKTtmb3IodmFyIE0gaW4gSSljLnVwZGF0ZShJW01dLDM0OTYyKTtFPUUubW9ycGhBdHRyaWJ1dGVzO2ZvcihNIGluIEUpe0Y9RVtNXTtJPTA7Zm9yKHZhciBQPUYubGVuZ3RoO0k8UDtJKyspYy51cGRhdGUoRltJXSwzNDk2Mil9fSxnZXRXaXJlZnJhbWVBdHRyaWJ1dGU6ZnVuY3Rpb24oRSl7dmFyIEY9ei5nZXQoRSk7aWYoRil7dmFyIEk9RS5pbmRleDtudWxsIT09SSYmRi52ZXJzaW9uPEkudmVyc2lvbiYmdChFKX1lbHNlIHQoRSk7cmV0dXJuIHouZ2V0KEUpfX19ZnVuY3Rpb24gd2coYSxjLGUsZyl7dmFyIHQsdix6O3RoaXMuc2V0TW9kZT1mdW5jdGlvbihFKXt0PUV9O3RoaXMuc2V0SW5kZXg9CmZ1bmN0aW9uKEUpe3Y9RS50eXBlO3o9RS5ieXRlc1BlckVsZW1lbnR9O3RoaXMucmVuZGVyPWZ1bmN0aW9uKEUsRil7YS5kcmF3RWxlbWVudHModCxGLHYsRSp6KTtlLnVwZGF0ZShGLHQpfTt0aGlzLnJlbmRlckluc3RhbmNlcz1mdW5jdGlvbihFLEYsSSl7aWYoZy5pc1dlYkdMMil7dmFyIE09YTt2YXIgUD0iZHJhd0VsZW1lbnRzSW5zdGFuY2VkIn1lbHNlIGlmKE09Yy5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSxQPSJkcmF3RWxlbWVudHNJbnN0YW5jZWRBTkdMRSIsbnVsbD09PU0pe2NvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMSW5kZXhlZEJ1ZmZlclJlbmRlcmVyOiB1c2luZyBUSFJFRS5JbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSBidXQgaGFyZHdhcmUgZG9lcyBub3Qgc3VwcG9ydCBleHRlbnNpb24gQU5HTEVfaW5zdGFuY2VkX2FycmF5cy4iKTtyZXR1cm59TVtQXSh0LEksdixGKnosRS5tYXhJbnN0YW5jZWRDb3VudCk7ZS51cGRhdGUoSSx0LEUubWF4SW5zdGFuY2VkQ291bnQpfX0KZnVuY3Rpb24gbWwoKXt2YXIgYT17ZnJhbWU6MCxjYWxsczowLHRyaWFuZ2xlczowLHBvaW50czowLGxpbmVzOjB9O3JldHVybnttZW1vcnk6e2dlb21ldHJpZXM6MCx0ZXh0dXJlczowfSxyZW5kZXI6YSxwcm9ncmFtczpudWxsLGF1dG9SZXNldDohMCxyZXNldDpmdW5jdGlvbigpe2EuZnJhbWUrKzthLmNhbGxzPTA7YS50cmlhbmdsZXM9MDthLnBvaW50cz0wO2EubGluZXM9MH0sdXBkYXRlOmZ1bmN0aW9uKGMsZSxnKXtnPWd8fDE7YS5jYWxscysrO3N3aXRjaChlKXtjYXNlIDQ6YS50cmlhbmdsZXMrPWMvMypnO2JyZWFrO2Nhc2UgNTpjYXNlIDY6YS50cmlhbmdsZXMrPWcqKGMtMik7YnJlYWs7Y2FzZSAxOmEubGluZXMrPWMvMipnO2JyZWFrO2Nhc2UgMzphLmxpbmVzKz1nKihjLTEpO2JyZWFrO2Nhc2UgMjphLmxpbmVzKz1nKmM7YnJlYWs7Y2FzZSAwOmEucG9pbnRzKz1nKmM7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTEluZm86IFVua25vd24gZHJhdyBtb2RlOiIsCmUpfX19fWZ1bmN0aW9uIG5sKGEsYyl7cmV0dXJuIE1hdGguYWJzKGNbMV0pLU1hdGguYWJzKGFbMV0pfWZ1bmN0aW9uIG9sKGEpe3ZhciBjPXt9LGU9bmV3IEZsb2F0MzJBcnJheSg4KTtyZXR1cm57dXBkYXRlOmZ1bmN0aW9uKGcsdCx2LHope3ZhciBFPWcubW9ycGhUYXJnZXRJbmZsdWVuY2VzLEY9RS5sZW5ndGg7Zz1jW3QuaWRdO2lmKHZvaWQgMD09PWcpe2c9W107Zm9yKHZhciBJPTA7STxGO0krKylnW0ldPVtJLDBdO2NbdC5pZF09Z312YXIgTT12Lm1vcnBoVGFyZ2V0cyYmdC5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb247dj12Lm1vcnBoTm9ybWFscyYmdC5tb3JwaEF0dHJpYnV0ZXMubm9ybWFsO2ZvcihJPTA7STxGO0krKyl7dmFyIFA9Z1tJXTswIT09UFsxXSYmKE0mJnQucmVtb3ZlQXR0cmlidXRlKCJtb3JwaFRhcmdldCIrSSksdiYmdC5yZW1vdmVBdHRyaWJ1dGUoIm1vcnBoTm9ybWFsIitJKSl9Zm9yKEk9MDtJPEY7SSsrKVA9Z1tJXSxQWzBdPUksUFsxXT1FW0ldO2cuc29ydChubCk7CmZvcihJPTA7OD5JO0krKyl7aWYoUD1nW0ldKWlmKEU9UFswXSxGPVBbMV0pe00mJnQuYWRkQXR0cmlidXRlKCJtb3JwaFRhcmdldCIrSSxNW0VdKTt2JiZ0LmFkZEF0dHJpYnV0ZSgibW9ycGhOb3JtYWwiK0ksdltFXSk7ZVtJXT1GO2NvbnRpbnVlfWVbSV09MH16LmdldFVuaWZvcm1zKCkuc2V0VmFsdWUoYSwibW9ycGhUYXJnZXRJbmZsdWVuY2VzIixlKX19fWZ1bmN0aW9uIHBsKGEsYyl7dmFyIGU9e307cmV0dXJue3VwZGF0ZTpmdW5jdGlvbihnKXt2YXIgdD1jLnJlbmRlci5mcmFtZSx2PWcuZ2VvbWV0cnksej1hLmdldChnLHYpO2Vbei5pZF0hPT10JiYodi5pc0dlb21ldHJ5JiZ6LnVwZGF0ZUZyb21PYmplY3QoZyksYS51cGRhdGUoeiksZVt6LmlkXT10KTtyZXR1cm4gen0sZGlzcG9zZTpmdW5jdGlvbigpe2U9e319fX1mdW5jdGlvbiBlZChhLGMsZSxnLHQsdix6LEUsRixJKXthPXZvaWQgMCE9PWE/YTpbXTtsLmNhbGwodGhpcyxhLHZvaWQgMCE9PWM/YzozMDEsZSxnLHQsdiwKdm9pZCAwIT09ej96OjEwMjIsRSxGLEkpO3RoaXMuZmxpcFk9ITF9ZnVuY3Rpb24gdGUoYSxjLGUsZyl7bC5jYWxsKHRoaXMsbnVsbCk7dGhpcy5pbWFnZT17ZGF0YTphLHdpZHRoOmMsaGVpZ2h0OmUsZGVwdGg6Z307dGhpcy5taW5GaWx0ZXI9dGhpcy5tYWdGaWx0ZXI9MTAwMzt0aGlzLndyYXBSPTEwMDE7dGhpcy5mbGlwWT10aGlzLmdlbmVyYXRlTWlwbWFwcz0hMX1mdW5jdGlvbiB1ZShhLGMsZSxnKXtsLmNhbGwodGhpcyxudWxsKTt0aGlzLmltYWdlPXtkYXRhOmEsd2lkdGg6YyxoZWlnaHQ6ZSxkZXB0aDpnfTt0aGlzLm1pbkZpbHRlcj10aGlzLm1hZ0ZpbHRlcj0xMDAzO3RoaXMud3JhcFI9MTAwMTt0aGlzLmZsaXBZPXRoaXMuZ2VuZXJhdGVNaXBtYXBzPSExfWZ1bmN0aW9uIHZlKGEsYyxlKXt2YXIgZz1hWzBdO2lmKDA+PWd8fDA8ZylyZXR1cm4gYTt2YXIgdD1jKmUsdj1salt0XTt2b2lkIDA9PT12JiYodj1uZXcgRmxvYXQzMkFycmF5KHQpLGxqW3RdPXYpO2lmKDAhPT1jKWZvcihnLnRvQXJyYXkodiwKMCksZz0xLHQ9MDtnIT09YzsrK2cpdCs9ZSxhW2ddLnRvQXJyYXkodix0KTtyZXR1cm4gdn1mdW5jdGlvbiB1YyhhLGMpe2lmKGEubGVuZ3RoIT09Yy5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciBlPTAsZz1hLmxlbmd0aDtlPGc7ZSsrKWlmKGFbZV0hPT1jW2VdKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIHBjKGEsYyl7Zm9yKHZhciBlPTAsZz1jLmxlbmd0aDtlPGc7ZSsrKWFbZV09Y1tlXX1mdW5jdGlvbiBtaihhLGMpe3ZhciBlPW5qW2NdO3ZvaWQgMD09PWUmJihlPW5ldyBJbnQzMkFycmF5KGMpLG5qW2NdPWUpO2Zvcih2YXIgZz0wO2chPT1jOysrZyllW2ddPWEuYWxsb2NhdGVUZXh0dXJlVW5pdCgpO3JldHVybiBlfWZ1bmN0aW9uIHFsKGEsYyl7dmFyIGU9dGhpcy5jYWNoZTtlWzBdIT09YyYmKGEudW5pZm9ybTFmKHRoaXMuYWRkcixjKSxlWzBdPWMpfWZ1bmN0aW9uIHJsKGEsYyl7dmFyIGU9dGhpcy5jYWNoZTtpZih2b2lkIDAhPT1jLngpe2lmKGVbMF0hPT1jLnh8fGVbMV0hPT0KYy55KWEudW5pZm9ybTJmKHRoaXMuYWRkcixjLngsYy55KSxlWzBdPWMueCxlWzFdPWMueX1lbHNlIHVjKGUsYyl8fChhLnVuaWZvcm0yZnYodGhpcy5hZGRyLGMpLHBjKGUsYykpfWZ1bmN0aW9uIHNsKGEsYyl7dmFyIGU9dGhpcy5jYWNoZTtpZih2b2lkIDAhPT1jLngpe2lmKGVbMF0hPT1jLnh8fGVbMV0hPT1jLnl8fGVbMl0hPT1jLnopYS51bmlmb3JtM2YodGhpcy5hZGRyLGMueCxjLnksYy56KSxlWzBdPWMueCxlWzFdPWMueSxlWzJdPWMuen1lbHNlIGlmKHZvaWQgMCE9PWMucil7aWYoZVswXSE9PWMucnx8ZVsxXSE9PWMuZ3x8ZVsyXSE9PWMuYilhLnVuaWZvcm0zZih0aGlzLmFkZHIsYy5yLGMuZyxjLmIpLGVbMF09Yy5yLGVbMV09Yy5nLGVbMl09Yy5ifWVsc2UgdWMoZSxjKXx8KGEudW5pZm9ybTNmdih0aGlzLmFkZHIsYykscGMoZSxjKSl9ZnVuY3Rpb24gdGwoYSxjKXt2YXIgZT10aGlzLmNhY2hlO2lmKHZvaWQgMCE9PWMueCl7aWYoZVswXSE9PWMueHx8ZVsxXSE9PWMueXx8CmVbMl0hPT1jLnp8fGVbM10hPT1jLncpYS51bmlmb3JtNGYodGhpcy5hZGRyLGMueCxjLnksYy56LGMudyksZVswXT1jLngsZVsxXT1jLnksZVsyXT1jLnosZVszXT1jLnd9ZWxzZSB1YyhlLGMpfHwoYS51bmlmb3JtNGZ2KHRoaXMuYWRkcixjKSxwYyhlLGMpKX1mdW5jdGlvbiB1bChhLGMpe3ZhciBlPXRoaXMuY2FjaGUsZz1jLmVsZW1lbnRzO3ZvaWQgMD09PWc/dWMoZSxjKXx8KGEudW5pZm9ybU1hdHJpeDJmdih0aGlzLmFkZHIsITEsYykscGMoZSxjKSk6dWMoZSxnKXx8KG9qLnNldChnKSxhLnVuaWZvcm1NYXRyaXgyZnYodGhpcy5hZGRyLCExLG9qKSxwYyhlLGcpKX1mdW5jdGlvbiB2bChhLGMpe3ZhciBlPXRoaXMuY2FjaGUsZz1jLmVsZW1lbnRzO3ZvaWQgMD09PWc/dWMoZSxjKXx8KGEudW5pZm9ybU1hdHJpeDNmdih0aGlzLmFkZHIsITEsYykscGMoZSxjKSk6dWMoZSxnKXx8KHBqLnNldChnKSxhLnVuaWZvcm1NYXRyaXgzZnYodGhpcy5hZGRyLCExLHBqKSxwYyhlLGcpKX0KZnVuY3Rpb24gd2woYSxjKXt2YXIgZT10aGlzLmNhY2hlLGc9Yy5lbGVtZW50czt2b2lkIDA9PT1nP3VjKGUsYyl8fChhLnVuaWZvcm1NYXRyaXg0ZnYodGhpcy5hZGRyLCExLGMpLHBjKGUsYykpOnVjKGUsZyl8fChxai5zZXQoZyksYS51bmlmb3JtTWF0cml4NGZ2KHRoaXMuYWRkciwhMSxxaikscGMoZSxnKSl9ZnVuY3Rpb24geGwoYSxjLGUpe3ZhciBnPXRoaXMuY2FjaGUsdD1lLmFsbG9jYXRlVGV4dHVyZVVuaXQoKTtnWzBdIT09dCYmKGEudW5pZm9ybTFpKHRoaXMuYWRkcix0KSxnWzBdPXQpO2Uuc2FmZVNldFRleHR1cmUyRChjfHxyaix0KX1mdW5jdGlvbiB5bChhLGMsZSl7dmFyIGc9dGhpcy5jYWNoZSx0PWUuYWxsb2NhdGVUZXh0dXJlVW5pdCgpO2dbMF0hPT10JiYoYS51bmlmb3JtMWkodGhpcy5hZGRyLHQpLGdbMF09dCk7ZS5zZXRUZXh0dXJlMkRBcnJheShjfHx6bCx0KX1mdW5jdGlvbiBBbChhLGMsZSl7dmFyIGc9dGhpcy5jYWNoZSx0PWUuYWxsb2NhdGVUZXh0dXJlVW5pdCgpOwpnWzBdIT09dCYmKGEudW5pZm9ybTFpKHRoaXMuYWRkcix0KSxnWzBdPXQpO2Uuc2V0VGV4dHVyZTNEKGN8fEJsLHQpfWZ1bmN0aW9uIENsKGEsYyxlKXt2YXIgZz10aGlzLmNhY2hlLHQ9ZS5hbGxvY2F0ZVRleHR1cmVVbml0KCk7Z1swXSE9PXQmJihhLnVuaWZvcm0xaSh0aGlzLmFkZHIsdCksZ1swXT10KTtlLnNhZmVTZXRUZXh0dXJlQ3ViZShjfHxzaix0KX1mdW5jdGlvbiBEbChhLGMpe3ZhciBlPXRoaXMuY2FjaGU7ZVswXSE9PWMmJihhLnVuaWZvcm0xaSh0aGlzLmFkZHIsYyksZVswXT1jKX1mdW5jdGlvbiBFbChhLGMpe3ZhciBlPXRoaXMuY2FjaGU7dWMoZSxjKXx8KGEudW5pZm9ybTJpdih0aGlzLmFkZHIsYykscGMoZSxjKSl9ZnVuY3Rpb24gRmwoYSxjKXt2YXIgZT10aGlzLmNhY2hlO3VjKGUsYyl8fChhLnVuaWZvcm0zaXYodGhpcy5hZGRyLGMpLHBjKGUsYykpfWZ1bmN0aW9uIEdsKGEsYyl7dmFyIGU9dGhpcy5jYWNoZTt1YyhlLGMpfHwoYS51bmlmb3JtNGl2KHRoaXMuYWRkciwKYykscGMoZSxjKSl9ZnVuY3Rpb24gSGwoYSl7c3dpdGNoKGEpe2Nhc2UgNTEyNjpyZXR1cm4gcWw7Y2FzZSAzNTY2NDpyZXR1cm4gcmw7Y2FzZSAzNTY2NTpyZXR1cm4gc2w7Y2FzZSAzNTY2NjpyZXR1cm4gdGw7Y2FzZSAzNTY3NDpyZXR1cm4gdWw7Y2FzZSAzNTY3NTpyZXR1cm4gdmw7Y2FzZSAzNTY3NjpyZXR1cm4gd2w7Y2FzZSAzNTY3ODpjYXNlIDM2MTk4OnJldHVybiB4bDtjYXNlIDM1Njc5OnJldHVybiBBbDtjYXNlIDM1NjgwOnJldHVybiBDbDtjYXNlIDM2Mjg5OnJldHVybiB5bDtjYXNlIDUxMjQ6Y2FzZSAzNTY3MDpyZXR1cm4gRGw7Y2FzZSAzNTY2NzpjYXNlIDM1NjcxOnJldHVybiBFbDtjYXNlIDM1NjY4OmNhc2UgMzU2NzI6cmV0dXJuIEZsO2Nhc2UgMzU2Njk6Y2FzZSAzNTY3MzpyZXR1cm4gR2x9fWZ1bmN0aW9uIElsKGEsYyl7YS51bmlmb3JtMWZ2KHRoaXMuYWRkcixjKX1mdW5jdGlvbiBKbChhLGMpe2EudW5pZm9ybTFpdih0aGlzLmFkZHIsYyl9ZnVuY3Rpb24gS2woYSwKYyl7YS51bmlmb3JtMml2KHRoaXMuYWRkcixjKX1mdW5jdGlvbiBMbChhLGMpe2EudW5pZm9ybTNpdih0aGlzLmFkZHIsYyl9ZnVuY3Rpb24gTWwoYSxjKXthLnVuaWZvcm00aXYodGhpcy5hZGRyLGMpfWZ1bmN0aW9uIE5sKGEsYyl7Yz12ZShjLHRoaXMuc2l6ZSwyKTthLnVuaWZvcm0yZnYodGhpcy5hZGRyLGMpfWZ1bmN0aW9uIE9sKGEsYyl7Yz12ZShjLHRoaXMuc2l6ZSwzKTthLnVuaWZvcm0zZnYodGhpcy5hZGRyLGMpfWZ1bmN0aW9uIFBsKGEsYyl7Yz12ZShjLHRoaXMuc2l6ZSw0KTthLnVuaWZvcm00ZnYodGhpcy5hZGRyLGMpfWZ1bmN0aW9uIFFsKGEsYyl7Yz12ZShjLHRoaXMuc2l6ZSw0KTthLnVuaWZvcm1NYXRyaXgyZnYodGhpcy5hZGRyLCExLGMpfWZ1bmN0aW9uIFJsKGEsYyl7Yz12ZShjLHRoaXMuc2l6ZSw5KTthLnVuaWZvcm1NYXRyaXgzZnYodGhpcy5hZGRyLCExLGMpfWZ1bmN0aW9uIFNsKGEsYyl7Yz12ZShjLHRoaXMuc2l6ZSwxNik7YS51bmlmb3JtTWF0cml4NGZ2KHRoaXMuYWRkciwKITEsYyl9ZnVuY3Rpb24gVGwoYSxjLGUpe3ZhciBnPWMubGVuZ3RoLHQ9bWooZSxnKTthLnVuaWZvcm0xaXYodGhpcy5hZGRyLHQpO2ZvcihhPTA7YSE9PWc7KythKWUuc2FmZVNldFRleHR1cmUyRChjW2FdfHxyaix0W2FdKX1mdW5jdGlvbiBVbChhLGMsZSl7dmFyIGc9Yy5sZW5ndGgsdD1taihlLGcpO2EudW5pZm9ybTFpdih0aGlzLmFkZHIsdCk7Zm9yKGE9MDthIT09ZzsrK2EpZS5zYWZlU2V0VGV4dHVyZUN1YmUoY1thXXx8c2osdFthXSl9ZnVuY3Rpb24gVmwoYSl7c3dpdGNoKGEpe2Nhc2UgNTEyNjpyZXR1cm4gSWw7Y2FzZSAzNTY2NDpyZXR1cm4gTmw7Y2FzZSAzNTY2NTpyZXR1cm4gT2w7Y2FzZSAzNTY2NjpyZXR1cm4gUGw7Y2FzZSAzNTY3NDpyZXR1cm4gUWw7Y2FzZSAzNTY3NTpyZXR1cm4gUmw7Y2FzZSAzNTY3NjpyZXR1cm4gU2w7Y2FzZSAzNTY3ODpyZXR1cm4gVGw7Y2FzZSAzNTY4MDpyZXR1cm4gVWw7Y2FzZSA1MTI0OmNhc2UgMzU2NzA6cmV0dXJuIEpsO2Nhc2UgMzU2Njc6Y2FzZSAzNTY3MTpyZXR1cm4gS2w7CmNhc2UgMzU2Njg6Y2FzZSAzNTY3MjpyZXR1cm4gTGw7Y2FzZSAzNTY2OTpjYXNlIDM1NjczOnJldHVybiBNbH19ZnVuY3Rpb24gV2woYSxjLGUpe3RoaXMuaWQ9YTt0aGlzLmFkZHI9ZTt0aGlzLmNhY2hlPVtdO3RoaXMuc2V0VmFsdWU9SGwoYy50eXBlKX1mdW5jdGlvbiB0aihhLGMsZSl7dGhpcy5pZD1hO3RoaXMuYWRkcj1lO3RoaXMuY2FjaGU9W107dGhpcy5zaXplPWMuc2l6ZTt0aGlzLnNldFZhbHVlPVZsKGMudHlwZSl9ZnVuY3Rpb24gdWooYSl7dGhpcy5pZD1hO3RoaXMuc2VxPVtdO3RoaXMubWFwPXt9fWZ1bmN0aW9uIHZqKGEsYyl7YS5zZXEucHVzaChjKTthLm1hcFtjLmlkXT1jfWZ1bmN0aW9uIFhsKGEsYyxlKXt2YXIgZz1hLm5hbWUsdD1nLmxlbmd0aDtmb3IoUWgubGFzdEluZGV4PTA7Oyl7dmFyIHY9UWguZXhlYyhnKSx6PVFoLmxhc3RJbmRleCxFPXZbMV0sRj12WzNdOyJdIj09PXZbMl0mJihFfD0wKTtpZih2b2lkIDA9PT1GfHwiWyI9PT1GJiZ6KzI9PT10KXt2aihlLAp2b2lkIDA9PT1GP25ldyBXbChFLGEsYyk6bmV3IHRqKEUsYSxjKSk7YnJlYWt9ZWxzZSB2PWUubWFwW0VdLHZvaWQgMD09PXYmJih2PW5ldyB1aihFKSx2aihlLHYpKSxlPXZ9fWZ1bmN0aW9uIHdkKGEsYyl7dGhpcy5zZXE9W107dGhpcy5tYXA9e307Zm9yKHZhciBlPWEuZ2V0UHJvZ3JhbVBhcmFtZXRlcihjLDM1NzE4KSxnPTA7ZzxlOysrZyl7dmFyIHQ9YS5nZXRBY3RpdmVVbmlmb3JtKGMsZyk7WGwodCxhLmdldFVuaWZvcm1Mb2NhdGlvbihjLHQubmFtZSksdGhpcyl9fWZ1bmN0aW9uIHdqKGEsYyxlKXtjPWEuY3JlYXRlU2hhZGVyKGMpO2Euc2hhZGVyU291cmNlKGMsZSk7YS5jb21waWxlU2hhZGVyKGMpO3JldHVybiBjfWZ1bmN0aW9uIFlsKGEpe2E9YS5zcGxpdCgiXG4iKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylhW2NdPWMrMSsiOiAiK2FbY107cmV0dXJuIGEuam9pbigiXG4iKX1mdW5jdGlvbiB4aihhKXtzd2l0Y2goYSl7Y2FzZSAzRTM6cmV0dXJuWyJMaW5lYXIiLAoiKCB2YWx1ZSApIl07Y2FzZSAzMDAxOnJldHVyblsic1JHQiIsIiggdmFsdWUgKSJdO2Nhc2UgMzAwMjpyZXR1cm5bIlJHQkUiLCIoIHZhbHVlICkiXTtjYXNlIDMwMDQ6cmV0dXJuWyJSR0JNIiwiKCB2YWx1ZSwgNy4wICkiXTtjYXNlIDMwMDU6cmV0dXJuWyJSR0JNIiwiKCB2YWx1ZSwgMTYuMCApIl07Y2FzZSAzMDA2OnJldHVyblsiUkdCRCIsIiggdmFsdWUsIDI1Ni4wICkiXTtjYXNlIDMwMDc6cmV0dXJuWyJHYW1tYSIsIiggdmFsdWUsIGZsb2F0KCBHQU1NQV9GQUNUT1IgKSApIl07Y2FzZSAzMDAzOnJldHVyblsiTG9nTHV2IiwiKCB2YWx1ZSApIl07ZGVmYXVsdDp0aHJvdyBFcnJvcigidW5zdXBwb3J0ZWQgZW5jb2Rpbmc6ICIrYSk7fX1mdW5jdGlvbiB5aihhLGMsZSl7dmFyIGc9YS5nZXRTaGFkZXJQYXJhbWV0ZXIoYywzNTcxMyksdD1hLmdldFNoYWRlckluZm9Mb2coYykudHJpbSgpO3JldHVybiBnJiYiIj09PXQ/IiI6IlRIUkVFLldlYkdMU2hhZGVyOiBnbC5nZXRTaGFkZXJJbmZvTG9nKCkgIisKZSsiXG4iK3QrWWwoYS5nZXRTaGFkZXJTb3VyY2UoYykpfWZ1bmN0aW9uIHhnKGEsYyl7Yz14aihjKTtyZXR1cm4idmVjNCAiK2ErIiggdmVjNCB2YWx1ZSApIHsgcmV0dXJuICIrY1swXSsiVG9MaW5lYXIiK2NbMV0rIjsgfSJ9ZnVuY3Rpb24gWmwoYSxjKXtjPXhqKGMpO3JldHVybiJ2ZWM0ICIrYSsiKCB2ZWM0IHZhbHVlICkgeyByZXR1cm4gTGluZWFyVG8iK2NbMF0rY1sxXSsiOyB9In1mdW5jdGlvbiAkbChhLGMpe3N3aXRjaChjKXtjYXNlIDE6Yz0iTGluZWFyIjticmVhaztjYXNlIDI6Yz0iUmVpbmhhcmQiO2JyZWFrO2Nhc2UgMzpjPSJVbmNoYXJ0ZWQyIjticmVhaztjYXNlIDQ6Yz0iT3B0aW1pemVkQ2luZW9uIjticmVhaztjYXNlIDU6Yz0iQUNFU0ZpbG1pYyI7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigidW5zdXBwb3J0ZWQgdG9uZU1hcHBpbmc6ICIrYyk7fXJldHVybiJ2ZWMzICIrYSsiKCB2ZWMzIGNvbG9yICkgeyByZXR1cm4gIitjKyJUb25lTWFwcGluZyggY29sb3IgKTsgfSJ9CmZ1bmN0aW9uIGFtKGEsYyxlKXthPWF8fHt9O3JldHVyblthLmRlcml2YXRpdmVzfHxjLmVudk1hcEN1YmVVVnx8Yy5idW1wTWFwfHxjLnRhbmdlbnRTcGFjZU5vcm1hbE1hcHx8Yy5jbGVhcmNvYXROb3JtYWxNYXB8fGMuZmxhdFNoYWRpbmc/IiNleHRlbnNpb24gR0xfT0VTX3N0YW5kYXJkX2Rlcml2YXRpdmVzIDogZW5hYmxlIjoiIiwoYS5mcmFnRGVwdGh8fGMubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcikmJmUuZ2V0KCJFWFRfZnJhZ19kZXB0aCIpPyIjZXh0ZW5zaW9uIEdMX0VYVF9mcmFnX2RlcHRoIDogZW5hYmxlIjoiIixhLmRyYXdCdWZmZXJzJiZlLmdldCgiV0VCR0xfZHJhd19idWZmZXJzIik/IiNleHRlbnNpb24gR0xfRVhUX2RyYXdfYnVmZmVycyA6IHJlcXVpcmUiOiIiLChhLnNoYWRlclRleHR1cmVMT0R8fGMuZW52TWFwKSYmZS5nZXQoIkVYVF9zaGFkZXJfdGV4dHVyZV9sb2QiKT8iI2V4dGVuc2lvbiBHTF9FWFRfc2hhZGVyX3RleHR1cmVfbG9kIDogZW5hYmxlIjoiIl0uZmlsdGVyKHZmKS5qb2luKCJcbiIpfQpmdW5jdGlvbiBibShhKXt2YXIgYz1bXSxlO2ZvcihlIGluIGEpe3ZhciBnPWFbZV07ITEhPT1nJiZjLnB1c2goIiNkZWZpbmUgIitlKyIgIitnKX1yZXR1cm4gYy5qb2luKCJcbiIpfWZ1bmN0aW9uIGNtKGEsYyl7Zm9yKHZhciBlPXt9LGc9YS5nZXRQcm9ncmFtUGFyYW1ldGVyKGMsMzU3MjEpLHQ9MDt0PGc7dCsrKXt2YXIgdj1hLmdldEFjdGl2ZUF0dHJpYihjLHQpLm5hbWU7ZVt2XT1hLmdldEF0dHJpYkxvY2F0aW9uKGMsdil9cmV0dXJuIGV9ZnVuY3Rpb24gdmYoYSl7cmV0dXJuIiIhPT1hfWZ1bmN0aW9uIHpqKGEsYyl7cmV0dXJuIGEucmVwbGFjZSgvTlVNX0RJUl9MSUdIVFMvZyxjLm51bURpckxpZ2h0cykucmVwbGFjZSgvTlVNX1NQT1RfTElHSFRTL2csYy5udW1TcG90TGlnaHRzKS5yZXBsYWNlKC9OVU1fUkVDVF9BUkVBX0xJR0hUUy9nLGMubnVtUmVjdEFyZWFMaWdodHMpLnJlcGxhY2UoL05VTV9QT0lOVF9MSUdIVFMvZyxjLm51bVBvaW50TGlnaHRzKS5yZXBsYWNlKC9OVU1fSEVNSV9MSUdIVFMvZywKYy5udW1IZW1pTGlnaHRzKS5yZXBsYWNlKC9OVU1fRElSX0xJR0hUX1NIQURPV1MvZyxjLm51bURpckxpZ2h0U2hhZG93cykucmVwbGFjZSgvTlVNX1NQT1RfTElHSFRfU0hBRE9XUy9nLGMubnVtU3BvdExpZ2h0U2hhZG93cykucmVwbGFjZSgvTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MvZyxjLm51bVBvaW50TGlnaHRTaGFkb3dzKX1mdW5jdGlvbiBBaihhLGMpe3JldHVybiBhLnJlcGxhY2UoL05VTV9DTElQUElOR19QTEFORVMvZyxjLm51bUNsaXBwaW5nUGxhbmVzKS5yZXBsYWNlKC9VTklPTl9DTElQUElOR19QTEFORVMvZyxjLm51bUNsaXBwaW5nUGxhbmVzLWMubnVtQ2xpcEludGVyc2VjdGlvbil9ZnVuY3Rpb24gUmgoYSl7cmV0dXJuIGEucmVwbGFjZSgvXlsgXHRdKiNpbmNsdWRlICs8KFtcd1xkLi9dKyk+L2dtLGZ1bmN0aW9uKGMsZSl7Yz1yYltlXTtpZih2b2lkIDA9PT1jKXRocm93IEVycm9yKCJDYW4gbm90IHJlc29sdmUgI2luY2x1ZGUgXHgzYyIrZSsiXHgzZSIpO3JldHVybiBSaChjKX0pfQpmdW5jdGlvbiBCaihhKXtyZXR1cm4gYS5yZXBsYWNlKC8jcHJhZ21hIHVucm9sbF9sb29wW1xzXSs/Zm9yIFwoIGludCBpID0gKFxkKyk7IGkgPCAoXGQrKTsgaSBcK1wrIFwpIFx7KFtcc1xTXSs/KSg/PVx9KVx9L2csZnVuY3Rpb24oYyxlLGcsdCl7Yz0iIjtmb3IoZT1wYXJzZUludChlKTtlPHBhcnNlSW50KGcpO2UrKyljKz10LnJlcGxhY2UoL1xbIGkgXF0vZywiWyAiK2UrIiBdIikucmVwbGFjZSgvVU5ST0xMRURfTE9PUF9JTkRFWC9nLGUpO3JldHVybiBjfSl9ZnVuY3Rpb24gZG0oYSxjLGUsZyx0LHYseil7dmFyIEU9YS5nZXRDb250ZXh0KCksRj1nLmRlZmluZXMsST10LnZlcnRleFNoYWRlcixNPXQuZnJhZ21lbnRTaGFkZXIsUD0iU0hBRE9XTUFQX1RZUEVfQkFTSUMiOzE9PT12LnNoYWRvd01hcFR5cGU/UD0iU0hBRE9XTUFQX1RZUEVfUENGIjoyPT09di5zaGFkb3dNYXBUeXBlP1A9IlNIQURPV01BUF9UWVBFX1BDRl9TT0ZUIjozPT09di5zaGFkb3dNYXBUeXBlJiYoUD0KIlNIQURPV01BUF9UWVBFX1ZTTSIpO3ZhciBRPSJFTlZNQVBfVFlQRV9DVUJFIixVPSJFTlZNQVBfTU9ERV9SRUZMRUNUSU9OIixWPSJFTlZNQVBfQkxFTkRJTkdfTVVMVElQTFkiO2lmKHYuZW52TWFwKXtzd2l0Y2goZy5lbnZNYXAubWFwcGluZyl7Y2FzZSAzMDE6Y2FzZSAzMDI6UT0iRU5WTUFQX1RZUEVfQ1VCRSI7YnJlYWs7Y2FzZSAzMDY6Y2FzZSAzMDc6UT0iRU5WTUFQX1RZUEVfQ1VCRV9VViI7YnJlYWs7Y2FzZSAzMDM6Y2FzZSAzMDQ6UT0iRU5WTUFQX1RZUEVfRVFVSVJFQyI7YnJlYWs7Y2FzZSAzMDU6UT0iRU5WTUFQX1RZUEVfU1BIRVJFIn1zd2l0Y2goZy5lbnZNYXAubWFwcGluZyl7Y2FzZSAzMDI6Y2FzZSAzMDQ6VT0iRU5WTUFQX01PREVfUkVGUkFDVElPTiJ9c3dpdGNoKGcuY29tYmluZSl7Y2FzZSAwOlY9IkVOVk1BUF9CTEVORElOR19NVUxUSVBMWSI7YnJlYWs7Y2FzZSAxOlY9IkVOVk1BUF9CTEVORElOR19NSVgiO2JyZWFrO2Nhc2UgMjpWPSJFTlZNQVBfQkxFTkRJTkdfQUREIn19dmFyIGVhPQowPGEuZ2FtbWFGYWN0b3I/YS5nYW1tYUZhY3RvcjoxLGRhPXouaXNXZWJHTDI/IiI6YW0oZy5leHRlbnNpb25zLHYsYykscmE9Ym0oRikscGE9RS5jcmVhdGVQcm9ncmFtKCk7Zy5pc1Jhd1NoYWRlck1hdGVyaWFsPyhGPVtyYV0uZmlsdGVyKHZmKS5qb2luKCJcbiIpLDA8Ri5sZW5ndGgmJihGKz0iXG4iKSxjPVtkYSxyYV0uZmlsdGVyKHZmKS5qb2luKCJcbiIpLDA8Yy5sZW5ndGgmJihjKz0iXG4iKSk6KEY9WyJwcmVjaXNpb24gIit2LnByZWNpc2lvbisiIGZsb2F0OyIsInByZWNpc2lvbiAiK3YucHJlY2lzaW9uKyIgaW50OyIsImhpZ2hwIj09PXYucHJlY2lzaW9uPyIjZGVmaW5lIEhJR0hfUFJFQ0lTSU9OIjoiIiwiI2RlZmluZSBTSEFERVJfTkFNRSAiK3QubmFtZSxyYSx2LnN1cHBvcnRzVmVydGV4VGV4dHVyZXM/IiNkZWZpbmUgVkVSVEVYX1RFWFRVUkVTIjoiIiwiI2RlZmluZSBHQU1NQV9GQUNUT1IgIitlYSwiI2RlZmluZSBNQVhfQk9ORVMgIit2Lm1heEJvbmVzLHYudXNlRm9nJiYKdi5mb2c/IiNkZWZpbmUgVVNFX0ZPRyI6IiIsdi51c2VGb2cmJnYuZm9nRXhwMj8iI2RlZmluZSBGT0dfRVhQMiI6IiIsdi5tYXA/IiNkZWZpbmUgVVNFX01BUCI6IiIsdi5lbnZNYXA/IiNkZWZpbmUgVVNFX0VOVk1BUCI6IiIsdi5lbnZNYXA/IiNkZWZpbmUgIitVOiIiLHYubGlnaHRNYXA/IiNkZWZpbmUgVVNFX0xJR0hUTUFQIjoiIix2LmFvTWFwPyIjZGVmaW5lIFVTRV9BT01BUCI6IiIsdi5lbWlzc2l2ZU1hcD8iI2RlZmluZSBVU0VfRU1JU1NJVkVNQVAiOiIiLHYuYnVtcE1hcD8iI2RlZmluZSBVU0VfQlVNUE1BUCI6IiIsdi5ub3JtYWxNYXA/IiNkZWZpbmUgVVNFX05PUk1BTE1BUCI6IiIsdi5ub3JtYWxNYXAmJnYub2JqZWN0U3BhY2VOb3JtYWxNYXA/IiNkZWZpbmUgT0JKRUNUU1BBQ0VfTk9STUFMTUFQIjoiIix2Lm5vcm1hbE1hcCYmdi50YW5nZW50U3BhY2VOb3JtYWxNYXA/IiNkZWZpbmUgVEFOR0VOVFNQQUNFX05PUk1BTE1BUCI6IiIsdi5jbGVhcmNvYXROb3JtYWxNYXA/CiIjZGVmaW5lIFVTRV9DTEVBUkNPQVRfTk9STUFMTUFQIjoiIix2LmRpc3BsYWNlbWVudE1hcCYmdi5zdXBwb3J0c1ZlcnRleFRleHR1cmVzPyIjZGVmaW5lIFVTRV9ESVNQTEFDRU1FTlRNQVAiOiIiLHYuc3BlY3VsYXJNYXA/IiNkZWZpbmUgVVNFX1NQRUNVTEFSTUFQIjoiIix2LnJvdWdobmVzc01hcD8iI2RlZmluZSBVU0VfUk9VR0hORVNTTUFQIjoiIix2Lm1ldGFsbmVzc01hcD8iI2RlZmluZSBVU0VfTUVUQUxORVNTTUFQIjoiIix2LmFscGhhTWFwPyIjZGVmaW5lIFVTRV9BTFBIQU1BUCI6IiIsdi52ZXJ0ZXhUYW5nZW50cz8iI2RlZmluZSBVU0VfVEFOR0VOVCI6IiIsdi52ZXJ0ZXhDb2xvcnM/IiNkZWZpbmUgVVNFX0NPTE9SIjoiIix2LnZlcnRleFV2cz8iI2RlZmluZSBVU0VfVVYiOiIiLHYuZmxhdFNoYWRpbmc/IiNkZWZpbmUgRkxBVF9TSEFERUQiOiIiLHYuc2tpbm5pbmc/IiNkZWZpbmUgVVNFX1NLSU5OSU5HIjoiIix2LnVzZVZlcnRleFRleHR1cmU/IiNkZWZpbmUgQk9ORV9URVhUVVJFIjoKIiIsdi5tb3JwaFRhcmdldHM/IiNkZWZpbmUgVVNFX01PUlBIVEFSR0VUUyI6IiIsdi5tb3JwaE5vcm1hbHMmJiExPT09di5mbGF0U2hhZGluZz8iI2RlZmluZSBVU0VfTU9SUEhOT1JNQUxTIjoiIix2LmRvdWJsZVNpZGVkPyIjZGVmaW5lIERPVUJMRV9TSURFRCI6IiIsdi5mbGlwU2lkZWQ/IiNkZWZpbmUgRkxJUF9TSURFRCI6IiIsdi5zaGFkb3dNYXBFbmFibGVkPyIjZGVmaW5lIFVTRV9TSEFET1dNQVAiOiIiLHYuc2hhZG93TWFwRW5hYmxlZD8iI2RlZmluZSAiK1A6IiIsdi5zaXplQXR0ZW51YXRpb24/IiNkZWZpbmUgVVNFX1NJWkVBVFRFTlVBVElPTiI6IiIsdi5sb2dhcml0aG1pY0RlcHRoQnVmZmVyPyIjZGVmaW5lIFVTRV9MT0dERVBUSEJVRiI6IiIsdi5sb2dhcml0aG1pY0RlcHRoQnVmZmVyJiYoei5pc1dlYkdMMnx8Yy5nZXQoIkVYVF9mcmFnX2RlcHRoIikpPyIjZGVmaW5lIFVTRV9MT0dERVBUSEJVRl9FWFQiOiIiLCJ1bmlmb3JtIG1hdDQgbW9kZWxNYXRyaXg7IiwidW5pZm9ybSBtYXQ0IG1vZGVsVmlld01hdHJpeDsiLAoidW5pZm9ybSBtYXQ0IHByb2plY3Rpb25NYXRyaXg7IiwidW5pZm9ybSBtYXQ0IHZpZXdNYXRyaXg7IiwidW5pZm9ybSBtYXQzIG5vcm1hbE1hdHJpeDsiLCJ1bmlmb3JtIHZlYzMgY2FtZXJhUG9zaXRpb247IiwiYXR0cmlidXRlIHZlYzMgcG9zaXRpb247IiwiYXR0cmlidXRlIHZlYzMgbm9ybWFsOyIsImF0dHJpYnV0ZSB2ZWMyIHV2OyIsIiNpZmRlZiBVU0VfVEFOR0VOVCIsIlx0YXR0cmlidXRlIHZlYzQgdGFuZ2VudDsiLCIjZW5kaWYiLCIjaWZkZWYgVVNFX0NPTE9SIiwiXHRhdHRyaWJ1dGUgdmVjMyBjb2xvcjsiLCIjZW5kaWYiLCIjaWZkZWYgVVNFX01PUlBIVEFSR0VUUyIsIlx0YXR0cmlidXRlIHZlYzMgbW9ycGhUYXJnZXQwOyIsIlx0YXR0cmlidXRlIHZlYzMgbW9ycGhUYXJnZXQxOyIsIlx0YXR0cmlidXRlIHZlYzMgbW9ycGhUYXJnZXQyOyIsIlx0YXR0cmlidXRlIHZlYzMgbW9ycGhUYXJnZXQzOyIsIlx0I2lmZGVmIFVTRV9NT1JQSE5PUk1BTFMiLCJcdFx0YXR0cmlidXRlIHZlYzMgbW9ycGhOb3JtYWwwOyIsCiJcdFx0YXR0cmlidXRlIHZlYzMgbW9ycGhOb3JtYWwxOyIsIlx0XHRhdHRyaWJ1dGUgdmVjMyBtb3JwaE5vcm1hbDI7IiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoTm9ybWFsMzsiLCJcdCNlbHNlIiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0NDsiLCJcdFx0YXR0cmlidXRlIHZlYzMgbW9ycGhUYXJnZXQ1OyIsIlx0XHRhdHRyaWJ1dGUgdmVjMyBtb3JwaFRhcmdldDY7IiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0NzsiLCJcdCNlbmRpZiIsIiNlbmRpZiIsIiNpZmRlZiBVU0VfU0tJTk5JTkciLCJcdGF0dHJpYnV0ZSB2ZWM0IHNraW5JbmRleDsiLCJcdGF0dHJpYnV0ZSB2ZWM0IHNraW5XZWlnaHQ7IiwiI2VuZGlmIiwiXG4iXS5maWx0ZXIodmYpLmpvaW4oIlxuIiksYz1bZGEsInByZWNpc2lvbiAiK3YucHJlY2lzaW9uKyIgZmxvYXQ7IiwicHJlY2lzaW9uICIrdi5wcmVjaXNpb24rIiBpbnQ7IiwiaGlnaHAiPT09di5wcmVjaXNpb24/IiNkZWZpbmUgSElHSF9QUkVDSVNJT04iOgoiIiwiI2RlZmluZSBTSEFERVJfTkFNRSAiK3QubmFtZSxyYSx2LmFscGhhVGVzdD8iI2RlZmluZSBBTFBIQVRFU1QgIit2LmFscGhhVGVzdCsodi5hbHBoYVRlc3QlMT8iIjoiLjAiKToiIiwiI2RlZmluZSBHQU1NQV9GQUNUT1IgIitlYSx2LnVzZUZvZyYmdi5mb2c/IiNkZWZpbmUgVVNFX0ZPRyI6IiIsdi51c2VGb2cmJnYuZm9nRXhwMj8iI2RlZmluZSBGT0dfRVhQMiI6IiIsdi5tYXA/IiNkZWZpbmUgVVNFX01BUCI6IiIsdi5tYXRjYXA/IiNkZWZpbmUgVVNFX01BVENBUCI6IiIsdi5lbnZNYXA/IiNkZWZpbmUgVVNFX0VOVk1BUCI6IiIsdi5lbnZNYXA/IiNkZWZpbmUgIitROiIiLHYuZW52TWFwPyIjZGVmaW5lICIrVToiIix2LmVudk1hcD8iI2RlZmluZSAiK1Y6IiIsdi5saWdodE1hcD8iI2RlZmluZSBVU0VfTElHSFRNQVAiOiIiLHYuYW9NYXA/IiNkZWZpbmUgVVNFX0FPTUFQIjoiIix2LmVtaXNzaXZlTWFwPyIjZGVmaW5lIFVTRV9FTUlTU0lWRU1BUCI6IiIsdi5idW1wTWFwPwoiI2RlZmluZSBVU0VfQlVNUE1BUCI6IiIsdi5ub3JtYWxNYXA/IiNkZWZpbmUgVVNFX05PUk1BTE1BUCI6IiIsdi5ub3JtYWxNYXAmJnYub2JqZWN0U3BhY2VOb3JtYWxNYXA/IiNkZWZpbmUgT0JKRUNUU1BBQ0VfTk9STUFMTUFQIjoiIix2Lm5vcm1hbE1hcCYmdi50YW5nZW50U3BhY2VOb3JtYWxNYXA/IiNkZWZpbmUgVEFOR0VOVFNQQUNFX05PUk1BTE1BUCI6IiIsdi5jbGVhcmNvYXROb3JtYWxNYXA/IiNkZWZpbmUgVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVAiOiIiLHYuc3BlY3VsYXJNYXA/IiNkZWZpbmUgVVNFX1NQRUNVTEFSTUFQIjoiIix2LnJvdWdobmVzc01hcD8iI2RlZmluZSBVU0VfUk9VR0hORVNTTUFQIjoiIix2Lm1ldGFsbmVzc01hcD8iI2RlZmluZSBVU0VfTUVUQUxORVNTTUFQIjoiIix2LmFscGhhTWFwPyIjZGVmaW5lIFVTRV9BTFBIQU1BUCI6IiIsdi5zaGVlbj8iI2RlZmluZSBVU0VfU0hFRU4iOiIiLHYudmVydGV4VGFuZ2VudHM/IiNkZWZpbmUgVVNFX1RBTkdFTlQiOgoiIix2LnZlcnRleENvbG9ycz8iI2RlZmluZSBVU0VfQ09MT1IiOiIiLHYudmVydGV4VXZzPyIjZGVmaW5lIFVTRV9VViI6IiIsdi5ncmFkaWVudE1hcD8iI2RlZmluZSBVU0VfR1JBRElFTlRNQVAiOiIiLHYuZmxhdFNoYWRpbmc/IiNkZWZpbmUgRkxBVF9TSEFERUQiOiIiLHYuZG91YmxlU2lkZWQ/IiNkZWZpbmUgRE9VQkxFX1NJREVEIjoiIix2LmZsaXBTaWRlZD8iI2RlZmluZSBGTElQX1NJREVEIjoiIix2LnNoYWRvd01hcEVuYWJsZWQ/IiNkZWZpbmUgVVNFX1NIQURPV01BUCI6IiIsdi5zaGFkb3dNYXBFbmFibGVkPyIjZGVmaW5lICIrUDoiIix2LnByZW11bHRpcGxpZWRBbHBoYT8iI2RlZmluZSBQUkVNVUxUSVBMSUVEX0FMUEhBIjoiIix2LnBoeXNpY2FsbHlDb3JyZWN0TGlnaHRzPyIjZGVmaW5lIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFMiOiIiLHYubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcj8iI2RlZmluZSBVU0VfTE9HREVQVEhCVUYiOiIiLHYubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlciYmCih6LmlzV2ViR0wyfHxjLmdldCgiRVhUX2ZyYWdfZGVwdGgiKSk/IiNkZWZpbmUgVVNFX0xPR0RFUFRIQlVGX0VYVCI6IiIsKGcuZXh0ZW5zaW9ucyYmZy5leHRlbnNpb25zLnNoYWRlclRleHR1cmVMT0R8fHYuZW52TWFwKSYmKHouaXNXZWJHTDJ8fGMuZ2V0KCJFWFRfc2hhZGVyX3RleHR1cmVfbG9kIikpPyIjZGVmaW5lIFRFWFRVUkVfTE9EX0VYVCI6IiIsInVuaWZvcm0gbWF0NCB2aWV3TWF0cml4OyIsInVuaWZvcm0gdmVjMyBjYW1lcmFQb3NpdGlvbjsiLDAhPT12LnRvbmVNYXBwaW5nPyIjZGVmaW5lIFRPTkVfTUFQUElORyI6IiIsMCE9PXYudG9uZU1hcHBpbmc/cmIudG9uZW1hcHBpbmdfcGFyc19mcmFnbWVudDoiIiwwIT09di50b25lTWFwcGluZz8kbCgidG9uZU1hcHBpbmciLHYudG9uZU1hcHBpbmcpOiIiLHYuZGl0aGVyaW5nPyIjZGVmaW5lIERJVEhFUklORyI6IiIsdi5vdXRwdXRFbmNvZGluZ3x8di5tYXBFbmNvZGluZ3x8di5tYXRjYXBFbmNvZGluZ3x8di5lbnZNYXBFbmNvZGluZ3x8CnYuZW1pc3NpdmVNYXBFbmNvZGluZz9yYi5lbmNvZGluZ3NfcGFyc19mcmFnbWVudDoiIix2Lm1hcEVuY29kaW5nP3hnKCJtYXBUZXhlbFRvTGluZWFyIix2Lm1hcEVuY29kaW5nKToiIix2Lm1hdGNhcEVuY29kaW5nP3hnKCJtYXRjYXBUZXhlbFRvTGluZWFyIix2Lm1hdGNhcEVuY29kaW5nKToiIix2LmVudk1hcEVuY29kaW5nP3hnKCJlbnZNYXBUZXhlbFRvTGluZWFyIix2LmVudk1hcEVuY29kaW5nKToiIix2LmVtaXNzaXZlTWFwRW5jb2Rpbmc/eGcoImVtaXNzaXZlTWFwVGV4ZWxUb0xpbmVhciIsdi5lbWlzc2l2ZU1hcEVuY29kaW5nKToiIix2Lm91dHB1dEVuY29kaW5nP1psKCJsaW5lYXJUb091dHB1dFRleGVsIix2Lm91dHB1dEVuY29kaW5nKToiIix2LmRlcHRoUGFja2luZz8iI2RlZmluZSBERVBUSF9QQUNLSU5HICIrZy5kZXB0aFBhY2tpbmc6IiIsIlxuIl0uZmlsdGVyKHZmKS5qb2luKCJcbiIpKTtJPVJoKEkpO0k9emooSSx2KTtJPUFqKEksdik7TT1SaChNKTtNPXpqKE0sCnYpO009QWooTSx2KTtJPUJqKEkpO009QmooTSk7ei5pc1dlYkdMMiYmIWcuaXNSYXdTaGFkZXJNYXRlcmlhbCYmKHo9ITEsUD0vXlxzKiN2ZXJzaW9uXHMrMzAwXHMrZXNccypcbi8sZy5pc1NoYWRlck1hdGVyaWFsJiZudWxsIT09SS5tYXRjaChQKSYmbnVsbCE9PU0ubWF0Y2goUCkmJih6PSEwLEk9SS5yZXBsYWNlKFAsIiIpLE09TS5yZXBsYWNlKFAsIiIpKSxGPSIjdmVyc2lvbiAzMDAgZXNcblxuI2RlZmluZSBhdHRyaWJ1dGUgaW5cbiNkZWZpbmUgdmFyeWluZyBvdXRcbiNkZWZpbmUgdGV4dHVyZTJEIHRleHR1cmVcbiIrRixjPVsiI3ZlcnNpb24gMzAwIGVzXG5cbiNkZWZpbmUgdmFyeWluZyBpbiIsej8iIjoib3V0IGhpZ2hwIHZlYzQgcGNfZnJhZ0NvbG9yOyIsej8iIjoiI2RlZmluZSBnbF9GcmFnQ29sb3IgcGNfZnJhZ0NvbG9yIiwiI2RlZmluZSBnbF9GcmFnRGVwdGhFWFQgZ2xfRnJhZ0RlcHRoXG4jZGVmaW5lIHRleHR1cmUyRCB0ZXh0dXJlXG4jZGVmaW5lIHRleHR1cmVDdWJlIHRleHR1cmVcbiNkZWZpbmUgdGV4dHVyZTJEUHJvaiB0ZXh0dXJlUHJvalxuI2RlZmluZSB0ZXh0dXJlMkRMb2RFWFQgdGV4dHVyZUxvZFxuI2RlZmluZSB0ZXh0dXJlMkRQcm9qTG9kRVhUIHRleHR1cmVQcm9qTG9kXG4jZGVmaW5lIHRleHR1cmVDdWJlTG9kRVhUIHRleHR1cmVMb2RcbiNkZWZpbmUgdGV4dHVyZTJER3JhZEVYVCB0ZXh0dXJlR3JhZFxuI2RlZmluZSB0ZXh0dXJlMkRQcm9qR3JhZEVYVCB0ZXh0dXJlUHJvakdyYWRcbiNkZWZpbmUgdGV4dHVyZUN1YmVHcmFkRVhUIHRleHR1cmVHcmFkIl0uam9pbigiXG4iKSsKIlxuIitjKTtNPWMrTTtJPXdqKEUsMzU2MzMsRitJKTtNPXdqKEUsMzU2MzIsTSk7RS5hdHRhY2hTaGFkZXIocGEsSSk7RS5hdHRhY2hTaGFkZXIocGEsTSk7dm9pZCAwIT09Zy5pbmRleDBBdHRyaWJ1dGVOYW1lP0UuYmluZEF0dHJpYkxvY2F0aW9uKHBhLDAsZy5pbmRleDBBdHRyaWJ1dGVOYW1lKTohMD09PXYubW9ycGhUYXJnZXRzJiZFLmJpbmRBdHRyaWJMb2NhdGlvbihwYSwwLCJwb3NpdGlvbiIpO0UubGlua1Byb2dyYW0ocGEpO2lmKGEuZGVidWcuY2hlY2tTaGFkZXJFcnJvcnMpe2E9RS5nZXRQcm9ncmFtSW5mb0xvZyhwYSkudHJpbSgpO3Y9RS5nZXRTaGFkZXJJbmZvTG9nKEkpLnRyaW0oKTt6PUUuZ2V0U2hhZGVySW5mb0xvZyhNKS50cmltKCk7UT1QPSEwO2lmKCExPT09RS5nZXRQcm9ncmFtUGFyYW1ldGVyKHBhLDM1NzE0KSlQPSExLFU9eWooRSxJLCJ2ZXJ0ZXgiKSxWPXlqKEUsTSwiZnJhZ21lbnQiKSxjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFByb2dyYW06IHNoYWRlciBlcnJvcjogIiwKRS5nZXRFcnJvcigpLCIzNTcxNSIsRS5nZXRQcm9ncmFtUGFyYW1ldGVyKHBhLDM1NzE1KSwiZ2wuZ2V0UHJvZ3JhbUluZm9Mb2ciLGEsVSxWKTtlbHNlIGlmKCIiIT09YSljb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUHJvZ3JhbTogZ2wuZ2V0UHJvZ3JhbUluZm9Mb2coKSIsYSk7ZWxzZSBpZigiIj09PXZ8fCIiPT09eilRPSExO1EmJih0aGlzLmRpYWdub3N0aWNzPXtydW5uYWJsZTpQLG1hdGVyaWFsOmcscHJvZ3JhbUxvZzphLHZlcnRleFNoYWRlcjp7bG9nOnYscHJlZml4OkZ9LGZyYWdtZW50U2hhZGVyOntsb2c6eixwcmVmaXg6Y319KX1FLmRlbGV0ZVNoYWRlcihJKTtFLmRlbGV0ZVNoYWRlcihNKTt2YXIgcWE7dGhpcy5nZXRVbmlmb3Jtcz1mdW5jdGlvbigpe3ZvaWQgMD09PXFhJiYocWE9bmV3IHdkKEUscGEpKTtyZXR1cm4gcWF9O3ZhciB1YTt0aGlzLmdldEF0dHJpYnV0ZXM9ZnVuY3Rpb24oKXt2b2lkIDA9PT11YSYmKHVhPWNtKEUscGEpKTtyZXR1cm4gdWF9O3RoaXMuZGVzdHJveT0KZnVuY3Rpb24oKXtFLmRlbGV0ZVByb2dyYW0ocGEpO3RoaXMucHJvZ3JhbT12b2lkIDB9O3RoaXMubmFtZT10Lm5hbWU7dGhpcy5pZD1lbSsrO3RoaXMuY29kZT1lO3RoaXMudXNlZFRpbWVzPTE7dGhpcy5wcm9ncmFtPXBhO3RoaXMudmVydGV4U2hhZGVyPUk7dGhpcy5mcmFnbWVudFNoYWRlcj1NO3JldHVybiB0aGlzfWZ1bmN0aW9uIGZtKGEsYyxlKXtmdW5jdGlvbiBnKEYpe0Y9Ri5za2VsZXRvbi5ib25lcztpZihlLmZsb2F0VmVydGV4VGV4dHVyZXMpcmV0dXJuIDEwMjQ7dmFyIEk9TWF0aC5taW4oTWF0aC5mbG9vcigoZS5tYXhWZXJ0ZXhVbmlmb3Jtcy0yMCkvNCksRi5sZW5ndGgpO3JldHVybiBJPEYubGVuZ3RoPyhjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFNrZWxldG9uIGhhcyAiK0YubGVuZ3RoKyIgYm9uZXMuIFRoaXMgR1BVIHN1cHBvcnRzICIrSSsiLiIpLDApOkl9ZnVuY3Rpb24gdChGLEkpe2lmKEYpRi5pc1RleHR1cmU/TT1GLmVuY29kaW5nOkYuaXNXZWJHTFJlbmRlclRhcmdldCYmCihjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUHJvZ3JhbXMuZ2V0VGV4dHVyZUVuY29kaW5nRnJvbU1hcDogZG9uJ3QgdXNlIHJlbmRlciB0YXJnZXRzIGFzIHRleHR1cmVzLiBVc2UgdGhlaXIgLnRleHR1cmUgcHJvcGVydHkgaW5zdGVhZC4iKSxNPUYudGV4dHVyZS5lbmNvZGluZyk7ZWxzZSB2YXIgTT0zRTM7M0UzPT09TSYmSSYmKE09MzAwNyk7cmV0dXJuIE19dmFyIHY9W10sej17TWVzaERlcHRoTWF0ZXJpYWw6ImRlcHRoIixNZXNoRGlzdGFuY2VNYXRlcmlhbDoiZGlzdGFuY2VSR0JBIixNZXNoTm9ybWFsTWF0ZXJpYWw6Im5vcm1hbCIsTWVzaEJhc2ljTWF0ZXJpYWw6ImJhc2ljIixNZXNoTGFtYmVydE1hdGVyaWFsOiJsYW1iZXJ0IixNZXNoUGhvbmdNYXRlcmlhbDoicGhvbmciLE1lc2hUb29uTWF0ZXJpYWw6InBob25nIixNZXNoU3RhbmRhcmRNYXRlcmlhbDoicGh5c2ljYWwiLE1lc2hQaHlzaWNhbE1hdGVyaWFsOiJwaHlzaWNhbCIsTWVzaE1hdGNhcE1hdGVyaWFsOiJtYXRjYXAiLApMaW5lQmFzaWNNYXRlcmlhbDoiYmFzaWMiLExpbmVEYXNoZWRNYXRlcmlhbDoiZGFzaGVkIixQb2ludHNNYXRlcmlhbDoicG9pbnRzIixTaGFkb3dNYXRlcmlhbDoic2hhZG93IixTcHJpdGVNYXRlcmlhbDoic3ByaXRlIn0sRT0icHJlY2lzaW9uIHN1cHBvcnRzVmVydGV4VGV4dHVyZXMgbWFwIG1hcEVuY29kaW5nIG1hdGNhcCBtYXRjYXBFbmNvZGluZyBlbnZNYXAgZW52TWFwTW9kZSBlbnZNYXBFbmNvZGluZyBsaWdodE1hcCBhb01hcCBlbWlzc2l2ZU1hcCBlbWlzc2l2ZU1hcEVuY29kaW5nIGJ1bXBNYXAgbm9ybWFsTWFwIG9iamVjdFNwYWNlTm9ybWFsTWFwIHRhbmdlbnRTcGFjZU5vcm1hbE1hcCBjbGVhcmNvYXROb3JtYWxNYXAgZGlzcGxhY2VtZW50TWFwIHNwZWN1bGFyTWFwIHJvdWdobmVzc01hcCBtZXRhbG5lc3NNYXAgZ3JhZGllbnRNYXAgYWxwaGFNYXAgY29tYmluZSB2ZXJ0ZXhDb2xvcnMgdmVydGV4VGFuZ2VudHMgZm9nIHVzZUZvZyBmb2dFeHAyIGZsYXRTaGFkaW5nIHNpemVBdHRlbnVhdGlvbiBsb2dhcml0aG1pY0RlcHRoQnVmZmVyIHNraW5uaW5nIG1heEJvbmVzIHVzZVZlcnRleFRleHR1cmUgbW9ycGhUYXJnZXRzIG1vcnBoTm9ybWFscyBtYXhNb3JwaFRhcmdldHMgbWF4TW9ycGhOb3JtYWxzIHByZW11bHRpcGxpZWRBbHBoYSBudW1EaXJMaWdodHMgbnVtUG9pbnRMaWdodHMgbnVtU3BvdExpZ2h0cyBudW1IZW1pTGlnaHRzIG51bVJlY3RBcmVhTGlnaHRzIHNoYWRvd01hcEVuYWJsZWQgc2hhZG93TWFwVHlwZSB0b25lTWFwcGluZyBwaHlzaWNhbGx5Q29ycmVjdExpZ2h0cyBhbHBoYVRlc3QgZG91YmxlU2lkZWQgZmxpcFNpZGVkIG51bUNsaXBwaW5nUGxhbmVzIG51bUNsaXBJbnRlcnNlY3Rpb24gZGVwdGhQYWNraW5nIGRpdGhlcmluZyBzaGVlbiIuc3BsaXQoIiAiKTsKdGhpcy5nZXRQYXJhbWV0ZXJzPWZ1bmN0aW9uKEYsSSxNLFAsUSxVLFYpe3ZhciBlYT16W0YudHlwZV0sZGE9Vi5pc1NraW5uZWRNZXNoP2coVik6MCxyYT1lLnByZWNpc2lvbjtudWxsIT09Ri5wcmVjaXNpb24mJihyYT1lLmdldE1heFByZWNpc2lvbihGLnByZWNpc2lvbikscmEhPT1GLnByZWNpc2lvbiYmY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFByb2dyYW0uZ2V0UGFyYW1ldGVyczoiLEYucHJlY2lzaW9uLCJub3Qgc3VwcG9ydGVkLCB1c2luZyIscmEsImluc3RlYWQuIikpO3ZhciBwYT1hLmdldFJlbmRlclRhcmdldCgpO3JldHVybntzaGFkZXJJRDplYSxwcmVjaXNpb246cmEsc3VwcG9ydHNWZXJ0ZXhUZXh0dXJlczplLnZlcnRleFRleHR1cmVzLG91dHB1dEVuY29kaW5nOnQocGE/cGEudGV4dHVyZTpudWxsLGEuZ2FtbWFPdXRwdXQpLG1hcDohIUYubWFwLG1hcEVuY29kaW5nOnQoRi5tYXAsYS5nYW1tYUlucHV0KSxtYXRjYXA6ISFGLm1hdGNhcCxtYXRjYXBFbmNvZGluZzp0KEYubWF0Y2FwLAphLmdhbW1hSW5wdXQpLGVudk1hcDohIUYuZW52TWFwLGVudk1hcE1vZGU6Ri5lbnZNYXAmJkYuZW52TWFwLm1hcHBpbmcsZW52TWFwRW5jb2Rpbmc6dChGLmVudk1hcCxhLmdhbW1hSW5wdXQpLGVudk1hcEN1YmVVVjohIUYuZW52TWFwJiYoMzA2PT09Ri5lbnZNYXAubWFwcGluZ3x8MzA3PT09Ri5lbnZNYXAubWFwcGluZyksbGlnaHRNYXA6ISFGLmxpZ2h0TWFwLGFvTWFwOiEhRi5hb01hcCxlbWlzc2l2ZU1hcDohIUYuZW1pc3NpdmVNYXAsZW1pc3NpdmVNYXBFbmNvZGluZzp0KEYuZW1pc3NpdmVNYXAsYS5nYW1tYUlucHV0KSxidW1wTWFwOiEhRi5idW1wTWFwLG5vcm1hbE1hcDohIUYubm9ybWFsTWFwLG9iamVjdFNwYWNlTm9ybWFsTWFwOjE9PT1GLm5vcm1hbE1hcFR5cGUsdGFuZ2VudFNwYWNlTm9ybWFsTWFwOjA9PT1GLm5vcm1hbE1hcFR5cGUsY2xlYXJjb2F0Tm9ybWFsTWFwOiEhRi5jbGVhcmNvYXROb3JtYWxNYXAsZGlzcGxhY2VtZW50TWFwOiEhRi5kaXNwbGFjZW1lbnRNYXAsCnJvdWdobmVzc01hcDohIUYucm91Z2huZXNzTWFwLG1ldGFsbmVzc01hcDohIUYubWV0YWxuZXNzTWFwLHNwZWN1bGFyTWFwOiEhRi5zcGVjdWxhck1hcCxhbHBoYU1hcDohIUYuYWxwaGFNYXAsZ3JhZGllbnRNYXA6ISFGLmdyYWRpZW50TWFwLHNoZWVuOiEhRi5zaGVlbixjb21iaW5lOkYuY29tYmluZSx2ZXJ0ZXhUYW5nZW50czpGLm5vcm1hbE1hcCYmRi52ZXJ0ZXhUYW5nZW50cyx2ZXJ0ZXhDb2xvcnM6Ri52ZXJ0ZXhDb2xvcnMsdmVydGV4VXZzOiEhRi5tYXB8fCEhRi5idW1wTWFwfHwhIUYubm9ybWFsTWFwfHwhIUYuc3BlY3VsYXJNYXB8fCEhRi5hbHBoYU1hcHx8ISFGLmVtaXNzaXZlTWFwfHwhIUYucm91Z2huZXNzTWFwfHwhIUYubWV0YWxuZXNzTWFwfHwhIUYuY2xlYXJjb2F0Tm9ybWFsTWFwLGZvZzohIVAsdXNlRm9nOkYuZm9nLGZvZ0V4cDI6UCYmUC5pc0ZvZ0V4cDIsZmxhdFNoYWRpbmc6Ri5mbGF0U2hhZGluZyxzaXplQXR0ZW51YXRpb246Ri5zaXplQXR0ZW51YXRpb24sCmxvZ2FyaXRobWljRGVwdGhCdWZmZXI6ZS5sb2dhcml0aG1pY0RlcHRoQnVmZmVyLHNraW5uaW5nOkYuc2tpbm5pbmcmJjA8ZGEsbWF4Qm9uZXM6ZGEsdXNlVmVydGV4VGV4dHVyZTplLmZsb2F0VmVydGV4VGV4dHVyZXMsbW9ycGhUYXJnZXRzOkYubW9ycGhUYXJnZXRzLG1vcnBoTm9ybWFsczpGLm1vcnBoTm9ybWFscyxtYXhNb3JwaFRhcmdldHM6YS5tYXhNb3JwaFRhcmdldHMsbWF4TW9ycGhOb3JtYWxzOmEubWF4TW9ycGhOb3JtYWxzLG51bURpckxpZ2h0czpJLmRpcmVjdGlvbmFsLmxlbmd0aCxudW1Qb2ludExpZ2h0czpJLnBvaW50Lmxlbmd0aCxudW1TcG90TGlnaHRzOkkuc3BvdC5sZW5ndGgsbnVtUmVjdEFyZWFMaWdodHM6SS5yZWN0QXJlYS5sZW5ndGgsbnVtSGVtaUxpZ2h0czpJLmhlbWkubGVuZ3RoLG51bURpckxpZ2h0U2hhZG93czpJLmRpcmVjdGlvbmFsU2hhZG93TWFwLmxlbmd0aCxudW1Qb2ludExpZ2h0U2hhZG93czpJLnBvaW50U2hhZG93TWFwLmxlbmd0aCxudW1TcG90TGlnaHRTaGFkb3dzOkkuc3BvdFNoYWRvd01hcC5sZW5ndGgsCm51bUNsaXBwaW5nUGxhbmVzOlEsbnVtQ2xpcEludGVyc2VjdGlvbjpVLGRpdGhlcmluZzpGLmRpdGhlcmluZyxzaGFkb3dNYXBFbmFibGVkOmEuc2hhZG93TWFwLmVuYWJsZWQmJlYucmVjZWl2ZVNoYWRvdyYmMDxNLmxlbmd0aCxzaGFkb3dNYXBUeXBlOmEuc2hhZG93TWFwLnR5cGUsdG9uZU1hcHBpbmc6Ri50b25lTWFwcGVkP2EudG9uZU1hcHBpbmc6MCxwaHlzaWNhbGx5Q29ycmVjdExpZ2h0czphLnBoeXNpY2FsbHlDb3JyZWN0TGlnaHRzLHByZW11bHRpcGxpZWRBbHBoYTpGLnByZW11bHRpcGxpZWRBbHBoYSxhbHBoYVRlc3Q6Ri5hbHBoYVRlc3QsZG91YmxlU2lkZWQ6Mj09PUYuc2lkZSxmbGlwU2lkZWQ6MT09PUYuc2lkZSxkZXB0aFBhY2tpbmc6dm9pZCAwIT09Ri5kZXB0aFBhY2tpbmc/Ri5kZXB0aFBhY2tpbmc6ITF9fTt0aGlzLmdldFByb2dyYW1Db2RlPWZ1bmN0aW9uKEYsSSl7dmFyIE09W107SS5zaGFkZXJJRD9NLnB1c2goSS5zaGFkZXJJRCk6KE0ucHVzaChGLmZyYWdtZW50U2hhZGVyKSwKTS5wdXNoKEYudmVydGV4U2hhZGVyKSk7aWYodm9pZCAwIT09Ri5kZWZpbmVzKWZvcih2YXIgUCBpbiBGLmRlZmluZXMpTS5wdXNoKFApLE0ucHVzaChGLmRlZmluZXNbUF0pO2ZvcihQPTA7UDxFLmxlbmd0aDtQKyspTS5wdXNoKElbRVtQXV0pO00ucHVzaChGLm9uQmVmb3JlQ29tcGlsZS50b1N0cmluZygpKTtNLnB1c2goYS5nYW1tYU91dHB1dCk7TS5wdXNoKGEuZ2FtbWFGYWN0b3IpO3JldHVybiBNLmpvaW4oKX07dGhpcy5hY3F1aXJlUHJvZ3JhbT1mdW5jdGlvbihGLEksTSxQKXtmb3IodmFyIFEsVT0wLFY9di5sZW5ndGg7VTxWO1UrKyl7dmFyIGVhPXZbVV07aWYoZWEuY29kZT09PVApe1E9ZWE7KytRLnVzZWRUaW1lczticmVha319dm9pZCAwPT09USYmKFE9bmV3IGRtKGEsYyxQLEYsSSxNLGUpLHYucHVzaChRKSk7cmV0dXJuIFF9O3RoaXMucmVsZWFzZVByb2dyYW09ZnVuY3Rpb24oRil7MD09PS0tRi51c2VkVGltZXMmJih2W3YuaW5kZXhPZihGKV09dlt2Lmxlbmd0aC0xXSwKdi5wb3AoKSxGLmRlc3Ryb3koKSl9O3RoaXMucHJvZ3JhbXM9dn1mdW5jdGlvbiBnbSgpe3ZhciBhPW5ldyBXZWFrTWFwO3JldHVybntnZXQ6ZnVuY3Rpb24oYyl7dmFyIGU9YS5nZXQoYyk7dm9pZCAwPT09ZSYmKGU9e30sYS5zZXQoYyxlKSk7cmV0dXJuIGV9LHJlbW92ZTpmdW5jdGlvbihjKXthLmRlbGV0ZShjKX0sdXBkYXRlOmZ1bmN0aW9uKGMsZSxnKXthLmdldChjKVtlXT1nfSxkaXNwb3NlOmZ1bmN0aW9uKCl7YT1uZXcgV2Vha01hcH19fWZ1bmN0aW9uIGhtKGEsYyl7cmV0dXJuIGEuZ3JvdXBPcmRlciE9PWMuZ3JvdXBPcmRlcj9hLmdyb3VwT3JkZXItYy5ncm91cE9yZGVyOmEucmVuZGVyT3JkZXIhPT1jLnJlbmRlck9yZGVyP2EucmVuZGVyT3JkZXItYy5yZW5kZXJPcmRlcjphLnByb2dyYW0hPT1jLnByb2dyYW0/YS5wcm9ncmFtLmlkLWMucHJvZ3JhbS5pZDphLm1hdGVyaWFsLmlkIT09Yy5tYXRlcmlhbC5pZD9hLm1hdGVyaWFsLmlkLWMubWF0ZXJpYWwuaWQ6YS56IT09CmMuej9hLnotYy56OmEuaWQtYy5pZH1mdW5jdGlvbiBpbShhLGMpe3JldHVybiBhLmdyb3VwT3JkZXIhPT1jLmdyb3VwT3JkZXI/YS5ncm91cE9yZGVyLWMuZ3JvdXBPcmRlcjphLnJlbmRlck9yZGVyIT09Yy5yZW5kZXJPcmRlcj9hLnJlbmRlck9yZGVyLWMucmVuZGVyT3JkZXI6YS56IT09Yy56P2Muei1hLno6YS5pZC1jLmlkfWZ1bmN0aW9uIENqKCl7ZnVuY3Rpb24gYSh6LEUsRixJLE0sUCl7dmFyIFE9Y1tlXTt2b2lkIDA9PT1RPyhRPXtpZDp6LmlkLG9iamVjdDp6LGdlb21ldHJ5OkUsbWF0ZXJpYWw6Rixwcm9ncmFtOkYucHJvZ3JhbXx8dixncm91cE9yZGVyOkkscmVuZGVyT3JkZXI6ei5yZW5kZXJPcmRlcix6Ok0sZ3JvdXA6UH0sY1tlXT1RKTooUS5pZD16LmlkLFEub2JqZWN0PXosUS5nZW9tZXRyeT1FLFEubWF0ZXJpYWw9RixRLnByb2dyYW09Ri5wcm9ncmFtfHx2LFEuZ3JvdXBPcmRlcj1JLFEucmVuZGVyT3JkZXI9ei5yZW5kZXJPcmRlcixRLno9TSxRLmdyb3VwPVApOwplKys7cmV0dXJuIFF9dmFyIGM9W10sZT0wLGc9W10sdD1bXSx2PXtpZDotMX07cmV0dXJue29wYXF1ZTpnLHRyYW5zcGFyZW50OnQsaW5pdDpmdW5jdGlvbigpe2U9MDtnLmxlbmd0aD0wO3QubGVuZ3RoPTB9LHB1c2g6ZnVuY3Rpb24oeixFLEYsSSxNLFApe3o9YSh6LEUsRixJLE0sUCk7KCEwPT09Ri50cmFuc3BhcmVudD90OmcpLnB1c2goeil9LHVuc2hpZnQ6ZnVuY3Rpb24oeixFLEYsSSxNLFApe3o9YSh6LEUsRixJLE0sUCk7KCEwPT09Ri50cmFuc3BhcmVudD90OmcpLnVuc2hpZnQoeil9LHNvcnQ6ZnVuY3Rpb24oKXsxPGcubGVuZ3RoJiZnLnNvcnQoaG0pOzE8dC5sZW5ndGgmJnQuc29ydChpbSl9fX1mdW5jdGlvbiBqbSgpe2Z1bmN0aW9uIGEoZSl7ZT1lLnRhcmdldDtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLGEpO2MuZGVsZXRlKGUpfXZhciBjPW5ldyBXZWFrTWFwO3JldHVybntnZXQ6ZnVuY3Rpb24oZSxnKXt2YXIgdD1jLmdldChlKTtpZih2b2lkIDA9PT0KdCl7dmFyIHY9bmV3IENqO2Muc2V0KGUsbmV3IFdlYWtNYXApO2MuZ2V0KGUpLnNldChnLHYpO2UuYWRkRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsYSl9ZWxzZSB2PXQuZ2V0KGcpLHZvaWQgMD09PXYmJih2PW5ldyBDaix0LnNldChnLHYpKTtyZXR1cm4gdn0sZGlzcG9zZTpmdW5jdGlvbigpe2M9bmV3IFdlYWtNYXB9fX1mdW5jdGlvbiBrbSgpe3ZhciBhPXt9O3JldHVybntnZXQ6ZnVuY3Rpb24oYyl7aWYodm9pZCAwIT09YVtjLmlkXSlyZXR1cm4gYVtjLmlkXTtzd2l0Y2goYy50eXBlKXtjYXNlICJEaXJlY3Rpb25hbExpZ2h0Ijp2YXIgZT17ZGlyZWN0aW9uOm5ldyBrLGNvbG9yOm5ldyBILHNoYWRvdzohMSxzaGFkb3dCaWFzOjAsc2hhZG93UmFkaXVzOjEsc2hhZG93TWFwU2l6ZTpuZXcgZn07YnJlYWs7Y2FzZSAiU3BvdExpZ2h0IjplPXtwb3NpdGlvbjpuZXcgayxkaXJlY3Rpb246bmV3IGssY29sb3I6bmV3IEgsZGlzdGFuY2U6MCxjb25lQ29zOjAscGVudW1icmFDb3M6MCxkZWNheTowLApzaGFkb3c6ITEsc2hhZG93QmlhczowLHNoYWRvd1JhZGl1czoxLHNoYWRvd01hcFNpemU6bmV3IGZ9O2JyZWFrO2Nhc2UgIlBvaW50TGlnaHQiOmU9e3Bvc2l0aW9uOm5ldyBrLGNvbG9yOm5ldyBILGRpc3RhbmNlOjAsZGVjYXk6MCxzaGFkb3c6ITEsc2hhZG93QmlhczowLHNoYWRvd1JhZGl1czoxLHNoYWRvd01hcFNpemU6bmV3IGYsc2hhZG93Q2FtZXJhTmVhcjoxLHNoYWRvd0NhbWVyYUZhcjoxRTN9O2JyZWFrO2Nhc2UgIkhlbWlzcGhlcmVMaWdodCI6ZT17ZGlyZWN0aW9uOm5ldyBrLHNreUNvbG9yOm5ldyBILGdyb3VuZENvbG9yOm5ldyBIfTticmVhaztjYXNlICJSZWN0QXJlYUxpZ2h0IjplPXtjb2xvcjpuZXcgSCxwb3NpdGlvbjpuZXcgayxoYWxmV2lkdGg6bmV3IGssaGFsZkhlaWdodDpuZXcga319cmV0dXJuIGFbYy5pZF09ZX19fWZ1bmN0aW9uIGxtKGEsYyl7cmV0dXJuKGMuY2FzdFNoYWRvdz8xOjApLShhLmNhc3RTaGFkb3c/MTowKX1mdW5jdGlvbiBtbSgpe2Zvcih2YXIgYT0KbmV3IGttLGM9e3ZlcnNpb246MCxoYXNoOntkaXJlY3Rpb25hbExlbmd0aDotMSxwb2ludExlbmd0aDotMSxzcG90TGVuZ3RoOi0xLHJlY3RBcmVhTGVuZ3RoOi0xLGhlbWlMZW5ndGg6LTEsbnVtRGlyZWN0aW9uYWxTaGFkb3dzOi0xLG51bVBvaW50U2hhZG93czotMSxudW1TcG90U2hhZG93czotMX0sYW1iaWVudDpbMCwwLDBdLHByb2JlOltdLGRpcmVjdGlvbmFsOltdLGRpcmVjdGlvbmFsU2hhZG93TWFwOltdLGRpcmVjdGlvbmFsU2hhZG93TWF0cml4OltdLHNwb3Q6W10sc3BvdFNoYWRvd01hcDpbXSxzcG90U2hhZG93TWF0cml4OltdLHJlY3RBcmVhOltdLHBvaW50OltdLHBvaW50U2hhZG93TWFwOltdLHBvaW50U2hhZG93TWF0cml4OltdLGhlbWk6W10sbnVtRGlyZWN0aW9uYWxTaGFkb3dzOi0xLG51bVBvaW50U2hhZG93czotMSxudW1TcG90U2hhZG93czotMX0sZT0wOzk+ZTtlKyspYy5wcm9iZS5wdXNoKG5ldyBrKTt2YXIgZz1uZXcgayx0PW5ldyBxLHY9bmV3IHE7cmV0dXJue3NldHVwOmZ1bmN0aW9uKHosCkUsRil7Zm9yKHZhciBJPTAsTT0wLFA9MCxRPTA7OT5RO1ErKyljLnByb2JlW1FdLnNldCgwLDAsMCk7dmFyIFU9RT0wLFY9MCxlYT0wLGRhPTAscmE9MCxwYT0wLHFhPTA7Rj1GLm1hdHJpeFdvcmxkSW52ZXJzZTt6LnNvcnQobG0pO1E9MDtmb3IodmFyIHVhPXoubGVuZ3RoO1E8dWE7USsrKXt2YXIgbmE9eltRXSx0YT1uYS5jb2xvcixCYT1uYS5pbnRlbnNpdHksVGE9bmEuZGlzdGFuY2UsVWE9bmEuc2hhZG93JiZuYS5zaGFkb3cubWFwP25hLnNoYWRvdy5tYXAudGV4dHVyZTpudWxsO2lmKG5hLmlzQW1iaWVudExpZ2h0KUkrPXRhLnIqQmEsTSs9dGEuZypCYSxQKz10YS5iKkJhO2Vsc2UgaWYobmEuaXNMaWdodFByb2JlKWZvcihVYT0wOzk+VWE7VWErKyljLnByb2JlW1VhXS5hZGRTY2FsZWRWZWN0b3IobmEuc2guY29lZmZpY2llbnRzW1VhXSxCYSk7ZWxzZSBpZihuYS5pc0RpcmVjdGlvbmFsTGlnaHQpe3ZhciBDYT1hLmdldChuYSk7Q2EuY29sb3IuY29weShuYS5jb2xvcikubXVsdGlwbHlTY2FsYXIobmEuaW50ZW5zaXR5KTsKQ2EuZGlyZWN0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihuYS5tYXRyaXhXb3JsZCk7Zy5zZXRGcm9tTWF0cml4UG9zaXRpb24obmEudGFyZ2V0Lm1hdHJpeFdvcmxkKTtDYS5kaXJlY3Rpb24uc3ViKGcpO0NhLmRpcmVjdGlvbi50cmFuc2Zvcm1EaXJlY3Rpb24oRik7aWYoQ2Euc2hhZG93PW5hLmNhc3RTaGFkb3cpQmE9bmEuc2hhZG93LENhLnNoYWRvd0JpYXM9QmEuYmlhcyxDYS5zaGFkb3dSYWRpdXM9QmEucmFkaXVzLENhLnNoYWRvd01hcFNpemU9QmEubWFwU2l6ZSxjLmRpcmVjdGlvbmFsU2hhZG93TWFwW0VdPVVhLGMuZGlyZWN0aW9uYWxTaGFkb3dNYXRyaXhbRV09bmEuc2hhZG93Lm1hdHJpeCxyYSsrO2MuZGlyZWN0aW9uYWxbRV09Q2E7RSsrfWVsc2UgaWYobmEuaXNTcG90TGlnaHQpe0NhPWEuZ2V0KG5hKTtDYS5wb3NpdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24obmEubWF0cml4V29ybGQpO0NhLnBvc2l0aW9uLmFwcGx5TWF0cml4NChGKTtDYS5jb2xvci5jb3B5KHRhKS5tdWx0aXBseVNjYWxhcihCYSk7CkNhLmRpc3RhbmNlPVRhO0NhLmRpcmVjdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24obmEubWF0cml4V29ybGQpO2cuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKG5hLnRhcmdldC5tYXRyaXhXb3JsZCk7Q2EuZGlyZWN0aW9uLnN1YihnKTtDYS5kaXJlY3Rpb24udHJhbnNmb3JtRGlyZWN0aW9uKEYpO0NhLmNvbmVDb3M9TWF0aC5jb3MobmEuYW5nbGUpO0NhLnBlbnVtYnJhQ29zPU1hdGguY29zKG5hLmFuZ2xlKigxLW5hLnBlbnVtYnJhKSk7Q2EuZGVjYXk9bmEuZGVjYXk7aWYoQ2Euc2hhZG93PW5hLmNhc3RTaGFkb3cpQmE9bmEuc2hhZG93LENhLnNoYWRvd0JpYXM9QmEuYmlhcyxDYS5zaGFkb3dSYWRpdXM9QmEucmFkaXVzLENhLnNoYWRvd01hcFNpemU9QmEubWFwU2l6ZSxjLnNwb3RTaGFkb3dNYXBbVl09VWEsYy5zcG90U2hhZG93TWF0cml4W1ZdPW5hLnNoYWRvdy5tYXRyaXgscWErKztjLnNwb3RbVl09Q2E7VisrfWVsc2UgaWYobmEuaXNSZWN0QXJlYUxpZ2h0KUNhPWEuZ2V0KG5hKSwKQ2EuY29sb3IuY29weSh0YSkubXVsdGlwbHlTY2FsYXIoQmEpLENhLnBvc2l0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihuYS5tYXRyaXhXb3JsZCksQ2EucG9zaXRpb24uYXBwbHlNYXRyaXg0KEYpLHYuaWRlbnRpdHkoKSx0LmNvcHkobmEubWF0cml4V29ybGQpLHQucHJlbXVsdGlwbHkoRiksdi5leHRyYWN0Um90YXRpb24odCksQ2EuaGFsZldpZHRoLnNldCguNSpuYS53aWR0aCwwLDApLENhLmhhbGZIZWlnaHQuc2V0KDAsLjUqbmEuaGVpZ2h0LDApLENhLmhhbGZXaWR0aC5hcHBseU1hdHJpeDQodiksQ2EuaGFsZkhlaWdodC5hcHBseU1hdHJpeDQodiksYy5yZWN0QXJlYVtlYV09Q2EsZWErKztlbHNlIGlmKG5hLmlzUG9pbnRMaWdodCl7Q2E9YS5nZXQobmEpO0NhLnBvc2l0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihuYS5tYXRyaXhXb3JsZCk7Q2EucG9zaXRpb24uYXBwbHlNYXRyaXg0KEYpO0NhLmNvbG9yLmNvcHkobmEuY29sb3IpLm11bHRpcGx5U2NhbGFyKG5hLmludGVuc2l0eSk7CkNhLmRpc3RhbmNlPW5hLmRpc3RhbmNlO0NhLmRlY2F5PW5hLmRlY2F5O2lmKENhLnNoYWRvdz1uYS5jYXN0U2hhZG93KUJhPW5hLnNoYWRvdyxDYS5zaGFkb3dCaWFzPUJhLmJpYXMsQ2Euc2hhZG93UmFkaXVzPUJhLnJhZGl1cyxDYS5zaGFkb3dNYXBTaXplPUJhLm1hcFNpemUsQ2Euc2hhZG93Q2FtZXJhTmVhcj1CYS5jYW1lcmEubmVhcixDYS5zaGFkb3dDYW1lcmFGYXI9QmEuY2FtZXJhLmZhcixjLnBvaW50U2hhZG93TWFwW1VdPVVhLGMucG9pbnRTaGFkb3dNYXRyaXhbVV09bmEuc2hhZG93Lm1hdHJpeCxwYSsrO2MucG9pbnRbVV09Q2E7VSsrfWVsc2UgbmEuaXNIZW1pc3BoZXJlTGlnaHQmJihDYT1hLmdldChuYSksQ2EuZGlyZWN0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihuYS5tYXRyaXhXb3JsZCksQ2EuZGlyZWN0aW9uLnRyYW5zZm9ybURpcmVjdGlvbihGKSxDYS5kaXJlY3Rpb24ubm9ybWFsaXplKCksQ2Euc2t5Q29sb3IuY29weShuYS5jb2xvcikubXVsdGlwbHlTY2FsYXIoQmEpLApDYS5ncm91bmRDb2xvci5jb3B5KG5hLmdyb3VuZENvbG9yKS5tdWx0aXBseVNjYWxhcihCYSksYy5oZW1pW2RhXT1DYSxkYSsrKX1jLmFtYmllbnRbMF09STtjLmFtYmllbnRbMV09TTtjLmFtYmllbnRbMl09UDt6PWMuaGFzaDtpZih6LmRpcmVjdGlvbmFsTGVuZ3RoIT09RXx8ei5wb2ludExlbmd0aCE9PVV8fHouc3BvdExlbmd0aCE9PVZ8fHoucmVjdEFyZWFMZW5ndGghPT1lYXx8ei5oZW1pTGVuZ3RoIT09ZGF8fHoubnVtRGlyZWN0aW9uYWxTaGFkb3dzIT09cmF8fHoubnVtUG9pbnRTaGFkb3dzIT09cGF8fHoubnVtU3BvdFNoYWRvd3MhPT1xYSljLmRpcmVjdGlvbmFsLmxlbmd0aD1FLGMuc3BvdC5sZW5ndGg9VixjLnJlY3RBcmVhLmxlbmd0aD1lYSxjLnBvaW50Lmxlbmd0aD1VLGMuaGVtaS5sZW5ndGg9ZGEsYy5kaXJlY3Rpb25hbFNoYWRvd01hcC5sZW5ndGg9cmEsYy5wb2ludFNoYWRvd01hcC5sZW5ndGg9cGEsYy5zcG90U2hhZG93TWFwLmxlbmd0aD1xYSxjLmRpcmVjdGlvbmFsU2hhZG93TWF0cml4Lmxlbmd0aD0KcmEsYy5wb2ludFNoYWRvd01hdHJpeC5sZW5ndGg9cGEsYy5zcG90U2hhZG93TWF0cml4Lmxlbmd0aD1xYSx6LmRpcmVjdGlvbmFsTGVuZ3RoPUUsei5wb2ludExlbmd0aD1VLHouc3BvdExlbmd0aD1WLHoucmVjdEFyZWFMZW5ndGg9ZWEsei5oZW1pTGVuZ3RoPWRhLHoubnVtRGlyZWN0aW9uYWxTaGFkb3dzPXJhLHoubnVtUG9pbnRTaGFkb3dzPXBhLHoubnVtU3BvdFNoYWRvd3M9cWEsYy52ZXJzaW9uPW5tKyt9LHN0YXRlOmN9fWZ1bmN0aW9uIERqKCl7dmFyIGE9bmV3IG1tLGM9W10sZT1bXTtyZXR1cm57aW5pdDpmdW5jdGlvbigpe2MubGVuZ3RoPTA7ZS5sZW5ndGg9MH0sc3RhdGU6e2xpZ2h0c0FycmF5OmMsc2hhZG93c0FycmF5OmUsbGlnaHRzOmF9LHNldHVwTGlnaHRzOmZ1bmN0aW9uKGcpe2Euc2V0dXAoYyxlLGcpfSxwdXNoTGlnaHQ6ZnVuY3Rpb24oZyl7Yy5wdXNoKGcpfSxwdXNoU2hhZG93OmZ1bmN0aW9uKGcpe2UucHVzaChnKX19fWZ1bmN0aW9uIG9tKCl7ZnVuY3Rpb24gYShlKXtlPQplLnRhcmdldDtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLGEpO2MuZGVsZXRlKGUpfXZhciBjPW5ldyBXZWFrTWFwO3JldHVybntnZXQ6ZnVuY3Rpb24oZSxnKXtpZighMT09PWMuaGFzKGUpKXt2YXIgdD1uZXcgRGo7Yy5zZXQoZSxuZXcgV2Vha01hcCk7Yy5nZXQoZSkuc2V0KGcsdCk7ZS5hZGRFdmVudExpc3RlbmVyKCJkaXNwb3NlIixhKX1lbHNlITE9PT1jLmdldChlKS5oYXMoZyk/KHQ9bmV3IERqLGMuZ2V0KGUpLnNldChnLHQpKTp0PWMuZ2V0KGUpLmdldChnKTtyZXR1cm4gdH0sZGlzcG9zZTpmdW5jdGlvbigpe2M9bmV3IFdlYWtNYXB9fX1mdW5jdGlvbiB4ZChhKXtTLmNhbGwodGhpcyk7dGhpcy50eXBlPSJNZXNoRGVwdGhNYXRlcmlhbCI7dGhpcy5kZXB0aFBhY2tpbmc9MzIwMDt0aGlzLm1vcnBoVGFyZ2V0cz10aGlzLnNraW5uaW5nPSExO3RoaXMuZGlzcGxhY2VtZW50TWFwPXRoaXMuYWxwaGFNYXA9dGhpcy5tYXA9bnVsbDt0aGlzLmRpc3BsYWNlbWVudFNjYWxlPQoxO3RoaXMuZGlzcGxhY2VtZW50Qmlhcz0wO3RoaXMud2lyZWZyYW1lPSExO3RoaXMud2lyZWZyYW1lTGluZXdpZHRoPTE7dGhpcy5saWdodHM9dGhpcy5mb2c9ITE7dGhpcy5zZXRWYWx1ZXMoYSl9ZnVuY3Rpb24geWQoYSl7Uy5jYWxsKHRoaXMpO3RoaXMudHlwZT0iTWVzaERpc3RhbmNlTWF0ZXJpYWwiO3RoaXMucmVmZXJlbmNlUG9zaXRpb249bmV3IGs7dGhpcy5uZWFyRGlzdGFuY2U9MTt0aGlzLmZhckRpc3RhbmNlPTFFMzt0aGlzLm1vcnBoVGFyZ2V0cz10aGlzLnNraW5uaW5nPSExO3RoaXMuZGlzcGxhY2VtZW50TWFwPXRoaXMuYWxwaGFNYXA9dGhpcy5tYXA9bnVsbDt0aGlzLmRpc3BsYWNlbWVudFNjYWxlPTE7dGhpcy5kaXNwbGFjZW1lbnRCaWFzPTA7dGhpcy5saWdodHM9dGhpcy5mb2c9ITE7dGhpcy5zZXRWYWx1ZXMoYSl9ZnVuY3Rpb24gRWooYSxjLGUpe2Z1bmN0aW9uIGcodGEsQmEpe3ZhciBUYT1jLnVwZGF0ZShyYSk7Vi51bmlmb3Jtcy5zaGFkb3dfcGFzcy52YWx1ZT0KdGEubWFwLnRleHR1cmU7Vi51bmlmb3Jtcy5yZXNvbHV0aW9uLnZhbHVlPXRhLm1hcFNpemU7Vi51bmlmb3Jtcy5yYWRpdXMudmFsdWU9dGEucmFkaXVzO2Euc2V0UmVuZGVyVGFyZ2V0KHRhLm1hcFBhc3MpO2EuY2xlYXIoKTthLnJlbmRlckJ1ZmZlckRpcmVjdChCYSxudWxsLFRhLFYscmEsbnVsbCk7ZWEudW5pZm9ybXMuc2hhZG93X3Bhc3MudmFsdWU9dGEubWFwUGFzcy50ZXh0dXJlO2VhLnVuaWZvcm1zLnJlc29sdXRpb24udmFsdWU9dGEubWFwU2l6ZTtlYS51bmlmb3Jtcy5yYWRpdXMudmFsdWU9dGEucmFkaXVzO2Euc2V0UmVuZGVyVGFyZ2V0KHRhLm1hcCk7YS5jbGVhcigpO2EucmVuZGVyQnVmZmVyRGlyZWN0KEJhLG51bGwsVGEsZWEscmEsbnVsbCl9ZnVuY3Rpb24gdCh0YSxCYSxUYSxVYSxDYSxIYSl7dmFyIERhPXRhLmdlb21ldHJ5O3ZhciBNYT1NO3ZhciBkYj10YS5jdXN0b21EZXB0aE1hdGVyaWFsO1RhLmlzUG9pbnRMaWdodCYmKE1hPVAsZGI9dGEuY3VzdG9tRGlzdGFuY2VNYXRlcmlhbCk7CmRiP01hPWRiOihkYj0hMSxCYS5tb3JwaFRhcmdldHMmJihEYSYmRGEuaXNCdWZmZXJHZW9tZXRyeT9kYj1EYS5tb3JwaEF0dHJpYnV0ZXMmJkRhLm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbiYmMDxEYS5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb24ubGVuZ3RoOkRhJiZEYS5pc0dlb21ldHJ5JiYoZGI9RGEubW9ycGhUYXJnZXRzJiYwPERhLm1vcnBoVGFyZ2V0cy5sZW5ndGgpKSx0YS5pc1NraW5uZWRNZXNoJiYhMT09PUJhLnNraW5uaW5nJiZjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMU2hhZG93TWFwOiBUSFJFRS5Ta2lubmVkTWVzaCB3aXRoIG1hdGVyaWFsLnNraW5uaW5nIHNldCB0byBmYWxzZToiLHRhKSx0YT10YS5pc1NraW5uZWRNZXNoJiZCYS5za2lubmluZyxEYT0wLGRiJiYoRGF8PTEpLHRhJiYoRGF8PTIpLE1hPU1hW0RhXSk7YS5sb2NhbENsaXBwaW5nRW5hYmxlZCYmITA9PT1CYS5jbGlwU2hhZG93cyYmMCE9PUJhLmNsaXBwaW5nUGxhbmVzLmxlbmd0aCYmKERhPU1hLnV1aWQsCmRiPUJhLnV1aWQsdGE9UVtEYV0sdm9pZCAwPT09dGEmJih0YT17fSxRW0RhXT10YSksRGE9dGFbZGJdLHZvaWQgMD09PURhJiYoRGE9TWEuY2xvbmUoKSx0YVtkYl09RGEpLE1hPURhKTtNYS52aXNpYmxlPUJhLnZpc2libGU7TWEud2lyZWZyYW1lPUJhLndpcmVmcmFtZTtNYS5zaWRlPTM9PT1IYT9udWxsIT1CYS5zaGFkb3dTaWRlP0JhLnNoYWRvd1NpZGU6QmEuc2lkZTpudWxsIT1CYS5zaGFkb3dTaWRlP0JhLnNoYWRvd1NpZGU6VVtCYS5zaWRlXTtNYS5jbGlwU2hhZG93cz1CYS5jbGlwU2hhZG93cztNYS5jbGlwcGluZ1BsYW5lcz1CYS5jbGlwcGluZ1BsYW5lcztNYS5jbGlwSW50ZXJzZWN0aW9uPUJhLmNsaXBJbnRlcnNlY3Rpb247TWEud2lyZWZyYW1lTGluZXdpZHRoPUJhLndpcmVmcmFtZUxpbmV3aWR0aDtNYS5saW5ld2lkdGg9QmEubGluZXdpZHRoO1RhLmlzUG9pbnRMaWdodCYmTWEuaXNNZXNoRGlzdGFuY2VNYXRlcmlhbCYmKE1hLnJlZmVyZW5jZVBvc2l0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihUYS5tYXRyaXhXb3JsZCksCk1hLm5lYXJEaXN0YW5jZT1VYSxNYS5mYXJEaXN0YW5jZT1DYSk7cmV0dXJuIE1hfWZ1bmN0aW9uIHYodGEsQmEsVGEsVWEsQ2Epe2lmKCExIT09dGEudmlzaWJsZSl7aWYodGEubGF5ZXJzLnRlc3QoQmEubGF5ZXJzKSYmKHRhLmlzTWVzaHx8dGEuaXNMaW5lfHx0YS5pc1BvaW50cykmJih0YS5jYXN0U2hhZG93fHx0YS5yZWNlaXZlU2hhZG93JiYzPT09Q2EpJiYoIXRhLmZydXN0dW1DdWxsZWR8fHouaW50ZXJzZWN0c09iamVjdCh0YSkpKXt0YS5tb2RlbFZpZXdNYXRyaXgubXVsdGlwbHlNYXRyaWNlcyhUYS5tYXRyaXhXb3JsZEludmVyc2UsdGEubWF0cml4V29ybGQpO3ZhciBIYT1jLnVwZGF0ZSh0YSksRGE9dGEubWF0ZXJpYWw7aWYoQXJyYXkuaXNBcnJheShEYSkpZm9yKHZhciBNYT1IYS5ncm91cHMsZGI9MCx0Yj1NYS5sZW5ndGg7ZGI8dGI7ZGIrKyl7dmFyIEthPU1hW2RiXSxiYj1EYVtLYS5tYXRlcmlhbEluZGV4XTtiYiYmYmIudmlzaWJsZSYmKGJiPXQodGEsYmIsVWEsVGEubmVhciwKVGEuZmFyLENhKSxhLnJlbmRlckJ1ZmZlckRpcmVjdChUYSxudWxsLEhhLGJiLHRhLEthKSl9ZWxzZSBEYS52aXNpYmxlJiYoYmI9dCh0YSxEYSxVYSxUYS5uZWFyLFRhLmZhcixDYSksYS5yZW5kZXJCdWZmZXJEaXJlY3QoVGEsbnVsbCxIYSxiYix0YSxudWxsKSl9dGE9dGEuY2hpbGRyZW47SGE9MDtmb3IoRGE9dGEubGVuZ3RoO0hhPERhO0hhKyspdih0YVtIYV0sQmEsVGEsVWEsQ2EpfX12YXIgej1uZXcgbGMsRT1uZXcgZixGPW5ldyBmLEk9bmV3IHAsTT1BcnJheSg0KSxQPUFycmF5KDQpLFE9e30sVT17MDoxLDE6MCwyOjJ9LFY9bmV3IHFiKHtkZWZpbmVzOntTQU1QTEVfUkFURTouMjUsSEFMRl9TQU1QTEVfUkFURTouMTI1fSx1bmlmb3Jtczp7c2hhZG93X3Bhc3M6e3ZhbHVlOm51bGx9LHJlc29sdXRpb246e3ZhbHVlOm5ldyBmfSxyYWRpdXM6e3ZhbHVlOjR9fSx2ZXJ0ZXhTaGFkZXI6InZvaWQgbWFpbigpIHtcblx0Z2xfUG9zaXRpb24gXHgzZCB2ZWM0KCBwb3NpdGlvbiwgMS4wICk7XG59IiwKZnJhZ21lbnRTaGFkZXI6InVuaWZvcm0gc2FtcGxlcjJEIHNoYWRvd19wYXNzO1xudW5pZm9ybSB2ZWMyIHJlc29sdXRpb247XG51bmlmb3JtIGZsb2F0IHJhZGl1cztcbiNpbmNsdWRlIFx4M2NwYWNraW5nXHgzZVxudm9pZCBtYWluKCkge1xuICBmbG9hdCBtZWFuIFx4M2QgMC4wO1xuICBmbG9hdCBzcXVhcmVkX21lYW4gXHgzZCAwLjA7XG4gIFxuXHRmbG9hdCBkZXB0aCBceDNkIHVucGFja1JHQkFUb0RlcHRoKCB0ZXh0dXJlMkQoIHNoYWRvd19wYXNzLCAoIGdsX0ZyYWdDb29yZC54eSAgKSAvIHJlc29sdXRpb24gKSApO1xuICBmb3IgKCBmbG9hdCBpIFx4M2QgLTEuMDsgaSBceDNjIDEuMCA7IGkgK1x4M2QgU0FNUExFX1JBVEUpIHtcbiAgICAjaWZkZWYgSE9SSVpPTkFMX1BBU1NcbiAgICAgIHZlYzIgZGlzdHJpYnV0aW9uIFx4M2QgZGVjb2RlSGFsZlJHQkEgKCB0ZXh0dXJlMkQoIHNoYWRvd19wYXNzLCAoIGdsX0ZyYWdDb29yZC54eSArIHZlYzIoIGksIDAuMCApICogcmFkaXVzICkgLyByZXNvbHV0aW9uICkgKTtcbiAgICAgIG1lYW4gK1x4M2QgZGlzdHJpYnV0aW9uLng7XG4gICAgICBzcXVhcmVkX21lYW4gK1x4M2QgZGlzdHJpYnV0aW9uLnkgKiBkaXN0cmlidXRpb24ueSArIGRpc3RyaWJ1dGlvbi54ICogZGlzdHJpYnV0aW9uLng7XG4gICAgI2Vsc2VcbiAgICAgIGZsb2F0IGRlcHRoIFx4M2QgdW5wYWNrUkdCQVRvRGVwdGgoIHRleHR1cmUyRCggc2hhZG93X3Bhc3MsICggZ2xfRnJhZ0Nvb3JkLnh5ICsgdmVjMiggMC4wLCAgaSApICAqIHJhZGl1cyApIC8gcmVzb2x1dGlvbiApICk7XG4gICAgICBtZWFuICtceDNkIGRlcHRoO1xuICAgICAgc3F1YXJlZF9tZWFuICtceDNkIGRlcHRoICogZGVwdGg7XG4gICAgI2VuZGlmXG4gIH1cbiAgbWVhbiBceDNkIG1lYW4gKiBIQUxGX1NBTVBMRV9SQVRFO1xuICBzcXVhcmVkX21lYW4gXHgzZCBzcXVhcmVkX21lYW4gKiBIQUxGX1NBTVBMRV9SQVRFO1xuICBmbG9hdCBzdGRfZGV2IFx4M2QgcG93KCBzcXVhcmVkX21lYW4gLSBtZWFuICogbWVhbiwgMC41ICk7XG4gIGdsX0ZyYWdDb2xvciBceDNkIGVuY29kZUhhbGZSR0JBKCB2ZWMyKCBtZWFuLCBzdGRfZGV2ICkgKTtcbn0ifSksCmVhPVYuY2xvbmUoKTtlYS5kZWZpbmVzLkhPUklaT05BTF9QQVNTPTE7dmFyIGRhPW5ldyB2YTtkYS5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgUihuZXcgRmxvYXQzMkFycmF5KFstMSwtMSwuNSwzLC0xLC41LC0xLDMsLjVdKSwzKSk7dmFyIHJhPW5ldyB5YShkYSxWKTtmb3IoZGE9MDs0IT09ZGE7KytkYSl7dmFyIHBhPTAhPT0oZGEmMSkscWE9MCE9PShkYSYyKSx1YT1uZXcgeGQoe2RlcHRoUGFja2luZzozMjAxLG1vcnBoVGFyZ2V0czpwYSxza2lubmluZzpxYX0pO01bZGFdPXVhO3BhPW5ldyB5ZCh7bW9ycGhUYXJnZXRzOnBhLHNraW5uaW5nOnFhfSk7UFtkYV09cGF9dmFyIG5hPXRoaXM7dGhpcy5lbmFibGVkPSExO3RoaXMuYXV0b1VwZGF0ZT0hMDt0aGlzLm5lZWRzVXBkYXRlPSExO3RoaXMudHlwZT0xO3RoaXMucmVuZGVyPWZ1bmN0aW9uKHRhLEJhLFRhKXtpZighMSE9PW5hLmVuYWJsZWQmJighMSE9PW5hLmF1dG9VcGRhdGV8fCExIT09bmEubmVlZHNVcGRhdGUpJiYKMCE9PXRhLmxlbmd0aCl7dmFyIFVhPWEuZ2V0UmVuZGVyVGFyZ2V0KCksQ2E9YS5nZXRBY3RpdmVDdWJlRmFjZSgpLEhhPWEuZ2V0QWN0aXZlTWlwbWFwTGV2ZWwoKSxEYT1hLnN0YXRlO0RhLnNldEJsZW5kaW5nKDApO0RhLmJ1ZmZlcnMuY29sb3Iuc2V0Q2xlYXIoMSwxLDEsMSk7RGEuYnVmZmVycy5kZXB0aC5zZXRUZXN0KCEwKTtEYS5zZXRTY2lzc29yVGVzdCghMSk7Zm9yKHZhciBNYT0wLGRiPXRhLmxlbmd0aDtNYTxkYjtNYSsrKXt2YXIgdGI9dGFbTWFdLEthPXRiLnNoYWRvdztpZih2b2lkIDA9PT1LYSljb25zb2xlLndhcm4oIlRIUkVFLldlYkdMU2hhZG93TWFwOiIsdGIsImhhcyBubyBzaGFkb3cuIik7ZWxzZXtFLmNvcHkoS2EubWFwU2l6ZSk7dmFyIGJiPUthLmdldEZyYW1lRXh0ZW50cygpO0UubXVsdGlwbHkoYmIpO0YuY29weShLYS5tYXBTaXplKTtpZihFLng+ZXx8RS55PmUpY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFNoYWRvd01hcDoiLHRiLCJoYXMgc2hhZG93IGV4Y2VlZGluZyBtYXggdGV4dHVyZSBzaXplLCByZWR1Y2luZyIpLApFLng+ZSYmKEYueD1NYXRoLmZsb29yKGUvYmIueCksRS54PUYueCpiYi54LEthLm1hcFNpemUueD1GLngpLEUueT5lJiYoRi55PU1hdGguZmxvb3IoZS9iYi55KSxFLnk9Ri55KmJiLnksS2EubWFwU2l6ZS55PUYueSk7bnVsbCE9PUthLm1hcHx8S2EuaXNQb2ludExpZ2h0U2hhZG93fHwzIT09dGhpcy50eXBlfHwoYmI9e21pbkZpbHRlcjoxMDA2LG1hZ0ZpbHRlcjoxMDA2LGZvcm1hdDoxMDIzfSxLYS5tYXA9bmV3IG0oRS54LEUueSxiYiksS2EubWFwLnRleHR1cmUubmFtZT10Yi5uYW1lKyIuc2hhZG93TWFwIixLYS5tYXBQYXNzPW5ldyBtKEUueCxFLnksYmIpLEthLmNhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCkpO251bGw9PT1LYS5tYXAmJihiYj17bWluRmlsdGVyOjEwMDMsbWFnRmlsdGVyOjEwMDMsZm9ybWF0OjEwMjN9LEthLm1hcD1uZXcgbShFLngsRS55LGJiKSxLYS5tYXAudGV4dHVyZS5uYW1lPXRiLm5hbWUrIi5zaGFkb3dNYXAiLEthLmNhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCkpOwphLnNldFJlbmRlclRhcmdldChLYS5tYXApO2EuY2xlYXIoKTtiYj1LYS5nZXRWaWV3cG9ydENvdW50KCk7Zm9yKHZhciBqYj0wO2piPGJiO2piKyspe3ZhciBFYj1LYS5nZXRWaWV3cG9ydChqYik7SS5zZXQoRi54KkViLngsRi55KkViLnksRi54KkViLnosRi55KkViLncpO0RhLnZpZXdwb3J0KEkpO0thLnVwZGF0ZU1hdHJpY2VzKHRiLFRhLGpiKTt6PUthLmdldEZydXN0dW0oKTt2KEJhLFRhLEthLmNhbWVyYSx0Yix0aGlzLnR5cGUpfUthLmlzUG9pbnRMaWdodFNoYWRvd3x8MyE9PXRoaXMudHlwZXx8ZyhLYSxUYSl9fW5hLm5lZWRzVXBkYXRlPSExO2Euc2V0UmVuZGVyVGFyZ2V0KFVhLENhLEhhKX19fWZ1bmN0aW9uIHBtKGEsYyxlLGcpe2Z1bmN0aW9uIHQoaWEsR2EsTGEpe3ZhciBuYj1uZXcgVWludDhBcnJheSg0KSxWYT1hLmNyZWF0ZVRleHR1cmUoKTthLmJpbmRUZXh0dXJlKGlhLFZhKTthLnRleFBhcmFtZXRlcmkoaWEsMTAyNDEsOTcyOCk7YS50ZXhQYXJhbWV0ZXJpKGlhLAoxMDI0MCw5NzI4KTtmb3IoaWE9MDtpYTxMYTtpYSsrKWEudGV4SW1hZ2UyRChHYStpYSwwLDY0MDgsMSwxLDAsNjQwOCw1MTIxLG5iKTtyZXR1cm4gVmF9ZnVuY3Rpb24gdihpYSxHYSl7cmFbaWFdPTE7MD09PXBhW2lhXSYmKGEuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoaWEpLHBhW2lhXT0xKTtxYVtpYV0hPT1HYSYmKChnLmlzV2ViR0wyP2E6Yy5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSlbZy5pc1dlYkdMMj8idmVydGV4QXR0cmliRGl2aXNvciI6InZlcnRleEF0dHJpYkRpdmlzb3JBTkdMRSJdKGlhLEdhKSxxYVtpYV09R2EpfWZ1bmN0aW9uIHooaWEpeyEwIT09dWFbaWFdJiYoYS5lbmFibGUoaWEpLHVhW2lhXT0hMCl9ZnVuY3Rpb24gRShpYSl7ITEhPT11YVtpYV0mJihhLmRpc2FibGUoaWEpLHVhW2lhXT0hMSl9ZnVuY3Rpb24gRihpYSxHYSxMYSxuYixWYSxpYixrYixRYSl7aWYoMD09PWlhKUJhJiYoRSgzMDQyKSxCYT0hMSk7ZWxzZSBpZihCYXx8KHooMzA0MiksCkJhPSEwKSw1IT09aWEpe2lmKGlhIT09VGF8fFFhIT09dGIpe2lmKDEwMCE9PVVhfHwxMDAhPT1EYSlhLmJsZW5kRXF1YXRpb24oMzI3NzQpLERhPVVhPTEwMDtpZihRYSlzd2l0Y2goaWEpe2Nhc2UgMTphLmJsZW5kRnVuY1NlcGFyYXRlKDEsNzcxLDEsNzcxKTticmVhaztjYXNlIDI6YS5ibGVuZEZ1bmMoMSwxKTticmVhaztjYXNlIDM6YS5ibGVuZEZ1bmNTZXBhcmF0ZSgwLDAsNzY5LDc3MSk7YnJlYWs7Y2FzZSA0OmEuYmxlbmRGdW5jU2VwYXJhdGUoMCw3NjgsMCw3NzApO2JyZWFrO2RlZmF1bHQ6Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xTdGF0ZTogSW52YWxpZCBibGVuZGluZzogIixpYSl9ZWxzZSBzd2l0Y2goaWEpe2Nhc2UgMTphLmJsZW5kRnVuY1NlcGFyYXRlKDc3MCw3NzEsMSw3NzEpO2JyZWFrO2Nhc2UgMjphLmJsZW5kRnVuYyg3NzAsMSk7YnJlYWs7Y2FzZSAzOmEuYmxlbmRGdW5jKDAsNzY5KTticmVhaztjYXNlIDQ6YS5ibGVuZEZ1bmMoMCw3NjgpO2JyZWFrOwpkZWZhdWx0OmNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMU3RhdGU6IEludmFsaWQgYmxlbmRpbmc6ICIsaWEpfWRiPU1hPUhhPUNhPW51bGw7VGE9aWE7dGI9UWF9fWVsc2V7VmE9VmF8fEdhO2liPWlifHxMYTtrYj1rYnx8bmI7aWYoR2EhPT1VYXx8VmEhPT1EYSlhLmJsZW5kRXF1YXRpb25TZXBhcmF0ZShlLmNvbnZlcnQoR2EpLGUuY29udmVydChWYSkpLFVhPUdhLERhPVZhO2lmKExhIT09Q2F8fG5iIT09SGF8fGliIT09TWF8fGtiIT09ZGIpYS5ibGVuZEZ1bmNTZXBhcmF0ZShlLmNvbnZlcnQoTGEpLGUuY29udmVydChuYiksZS5jb252ZXJ0KGliKSxlLmNvbnZlcnQoa2IpKSxDYT1MYSxIYT1uYixNYT1pYixkYj1rYjtUYT1pYTt0Yj1udWxsfX1mdW5jdGlvbiBJKGlhKXtLYSE9PWlhJiYoaWE/YS5mcm9udEZhY2UoMjMwNCk6YS5mcm9udEZhY2UoMjMwNSksS2E9aWEpfWZ1bmN0aW9uIE0oaWEpezAhPT1pYT8oeigyODg0KSxpYSE9PWJiJiYoMT09PWlhP2EuY3VsbEZhY2UoMTAyOSk6CjI9PT1pYT9hLmN1bGxGYWNlKDEwMjgpOmEuY3VsbEZhY2UoMTAzMikpKTpFKDI4ODQpO2JiPWlhfWZ1bmN0aW9uIFAoaWEsR2EsTGEpe2lmKGlhKXtpZih6KDMyODIzKSxFYiE9PUdhfHx4YiE9PUxhKWEucG9seWdvbk9mZnNldChHYSxMYSksRWI9R2EseGI9TGF9ZWxzZSBFKDMyODIzKX1mdW5jdGlvbiBRKGlhKXt2b2lkIDA9PT1pYSYmKGlhPTMzOTg0K2hhLTEpO3phIT09aWEmJihhLmFjdGl2ZVRleHR1cmUoaWEpLHphPWlhKX12YXIgVT1uZXcgZnVuY3Rpb24oKXt2YXIgaWE9ITEsR2E9bmV3IHAsTGE9bnVsbCxuYj1uZXcgcCgwLDAsMCwwKTtyZXR1cm57c2V0TWFzazpmdW5jdGlvbihWYSl7TGE9PT1WYXx8aWF8fChhLmNvbG9yTWFzayhWYSxWYSxWYSxWYSksTGE9VmEpfSxzZXRMb2NrZWQ6ZnVuY3Rpb24oVmEpe2lhPVZhfSxzZXRDbGVhcjpmdW5jdGlvbihWYSxpYixrYixRYSxlYil7ITA9PT1lYiYmKFZhKj1RYSxpYio9UWEsa2IqPVFhKTtHYS5zZXQoVmEsaWIsa2IsUWEpOwohMT09PW5iLmVxdWFscyhHYSkmJihhLmNsZWFyQ29sb3IoVmEsaWIsa2IsUWEpLG5iLmNvcHkoR2EpKX0scmVzZXQ6ZnVuY3Rpb24oKXtpYT0hMTtMYT1udWxsO25iLnNldCgtMSwwLDAsMCl9fX0sVj1uZXcgZnVuY3Rpb24oKXt2YXIgaWE9ITEsR2E9bnVsbCxMYT1udWxsLG5iPW51bGw7cmV0dXJue3NldFRlc3Q6ZnVuY3Rpb24oVmEpe1ZhP3ooMjkyOSk6RSgyOTI5KX0sc2V0TWFzazpmdW5jdGlvbihWYSl7R2E9PT1WYXx8aWF8fChhLmRlcHRoTWFzayhWYSksR2E9VmEpfSxzZXRGdW5jOmZ1bmN0aW9uKFZhKXtpZihMYSE9PVZhKXtpZihWYSlzd2l0Y2goVmEpe2Nhc2UgMDphLmRlcHRoRnVuYyg1MTIpO2JyZWFrO2Nhc2UgMTphLmRlcHRoRnVuYyg1MTkpO2JyZWFrO2Nhc2UgMjphLmRlcHRoRnVuYyg1MTMpO2JyZWFrO2Nhc2UgMzphLmRlcHRoRnVuYyg1MTUpO2JyZWFrO2Nhc2UgNDphLmRlcHRoRnVuYyg1MTQpO2JyZWFrO2Nhc2UgNTphLmRlcHRoRnVuYyg1MTgpO2JyZWFrO2Nhc2UgNjphLmRlcHRoRnVuYyg1MTYpOwpicmVhaztjYXNlIDc6YS5kZXB0aEZ1bmMoNTE3KTticmVhaztkZWZhdWx0OmEuZGVwdGhGdW5jKDUxNSl9ZWxzZSBhLmRlcHRoRnVuYyg1MTUpO0xhPVZhfX0sc2V0TG9ja2VkOmZ1bmN0aW9uKFZhKXtpYT1WYX0sc2V0Q2xlYXI6ZnVuY3Rpb24oVmEpe25iIT09VmEmJihhLmNsZWFyRGVwdGgoVmEpLG5iPVZhKX0scmVzZXQ6ZnVuY3Rpb24oKXtpYT0hMTtuYj1MYT1HYT1udWxsfX19LGVhPW5ldyBmdW5jdGlvbigpe3ZhciBpYT0hMSxHYT1udWxsLExhPW51bGwsbmI9bnVsbCxWYT1udWxsLGliPW51bGwsa2I9bnVsbCxRYT1udWxsLGViPW51bGw7cmV0dXJue3NldFRlc3Q6ZnVuY3Rpb24obWIpe2lhfHwobWI/eigyOTYwKTpFKDI5NjApKX0sc2V0TWFzazpmdW5jdGlvbihtYil7R2E9PT1tYnx8aWF8fChhLnN0ZW5jaWxNYXNrKG1iKSxHYT1tYil9LHNldEZ1bmM6ZnVuY3Rpb24obWIscGIsc2Ipe2lmKExhIT09bWJ8fG5iIT09cGJ8fFZhIT09c2IpYS5zdGVuY2lsRnVuYyhtYixwYiwKc2IpLExhPW1iLG5iPXBiLFZhPXNifSxzZXRPcDpmdW5jdGlvbihtYixwYixzYil7aWYoaWIhPT1tYnx8a2IhPT1wYnx8UWEhPT1zYilhLnN0ZW5jaWxPcChtYixwYixzYiksaWI9bWIsa2I9cGIsUWE9c2J9LHNldExvY2tlZDpmdW5jdGlvbihtYil7aWE9bWJ9LHNldENsZWFyOmZ1bmN0aW9uKG1iKXtlYiE9PW1iJiYoYS5jbGVhclN0ZW5jaWwobWIpLGViPW1iKX0scmVzZXQ6ZnVuY3Rpb24oKXtpYT0hMTtlYj1RYT1rYj1pYj1WYT1uYj1MYT1HYT1udWxsfX19LGRhPWEuZ2V0UGFyYW1ldGVyKDM0OTIxKSxyYT1uZXcgVWludDhBcnJheShkYSkscGE9bmV3IFVpbnQ4QXJyYXkoZGEpLHFhPW5ldyBVaW50OEFycmF5KGRhKSx1YT17fSxuYT1udWxsLHRhPW51bGwsQmE9bnVsbCxUYT1udWxsLFVhPW51bGwsQ2E9bnVsbCxIYT1udWxsLERhPW51bGwsTWE9bnVsbCxkYj1udWxsLHRiPSExLEthPW51bGwsYmI9bnVsbCxqYj1udWxsLEViPW51bGwseGI9bnVsbCxoYT1hLmdldFBhcmFtZXRlcigzNTY2MSksCm1hPSExO2RhPTA7ZGE9YS5nZXRQYXJhbWV0ZXIoNzkzOCk7LTEhPT1kYS5pbmRleE9mKCJXZWJHTCIpPyhkYT1wYXJzZUZsb2F0KC9eV2ViR0wgKFswLTldKS8uZXhlYyhkYSlbMV0pLG1hPTE8PWRhKTotMSE9PWRhLmluZGV4T2YoIk9wZW5HTCBFUyIpJiYoZGE9cGFyc2VGbG9hdCgvXk9wZW5HTCBFUyAoWzAtOV0pLy5leGVjKGRhKVsxXSksbWE9Mjw9ZGEpO3ZhciB6YT1udWxsLEphPXt9LFlhPW5ldyBwLE5hPW5ldyBwLGNiPXt9O2NiWzM1NTNdPXQoMzU1MywzNTUzLDEpO2NiWzM0MDY3XT10KDM0MDY3LDM0MDY5LDYpO1Uuc2V0Q2xlYXIoMCwwLDAsMSk7Vi5zZXRDbGVhcigxKTtlYS5zZXRDbGVhcigwKTt6KDI5MjkpO1Yuc2V0RnVuYygzKTtJKCExKTtNKDEpO3ooMjg4NCk7RigwKTtyZXR1cm57YnVmZmVyczp7Y29sb3I6VSxkZXB0aDpWLHN0ZW5jaWw6ZWF9LGluaXRBdHRyaWJ1dGVzOmZ1bmN0aW9uKCl7Zm9yKHZhciBpYT0wLEdhPXJhLmxlbmd0aDtpYTxHYTtpYSsrKXJhW2lhXT0KMH0sZW5hYmxlQXR0cmlidXRlOmZ1bmN0aW9uKGlhKXt2KGlhLDApfSxlbmFibGVBdHRyaWJ1dGVBbmREaXZpc29yOnYsZGlzYWJsZVVudXNlZEF0dHJpYnV0ZXM6ZnVuY3Rpb24oKXtmb3IodmFyIGlhPTAsR2E9cGEubGVuZ3RoO2lhIT09R2E7KytpYSlwYVtpYV0hPT1yYVtpYV0mJihhLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShpYSkscGFbaWFdPTApfSxlbmFibGU6eixkaXNhYmxlOkUsZ2V0Q29tcHJlc3NlZFRleHR1cmVGb3JtYXRzOmZ1bmN0aW9uKCl7aWYobnVsbD09PW5hJiYobmE9W10sYy5nZXQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9wdnJ0YyIpfHxjLmdldCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiKXx8Yy5nZXQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9ldGMxIil8fGMuZ2V0KCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfYXN0YyIpKSlmb3IodmFyIGlhPWEuZ2V0UGFyYW1ldGVyKDM0NDY3KSxHYT0wO0dhPGlhLmxlbmd0aDtHYSsrKW5hLnB1c2goaWFbR2FdKTsKcmV0dXJuIG5hfSx1c2VQcm9ncmFtOmZ1bmN0aW9uKGlhKXtyZXR1cm4gdGEhPT1pYT8oYS51c2VQcm9ncmFtKGlhKSx0YT1pYSwhMCk6ITF9LHNldEJsZW5kaW5nOkYsc2V0TWF0ZXJpYWw6ZnVuY3Rpb24oaWEsR2EpezI9PT1pYS5zaWRlP0UoMjg4NCk6eigyODg0KTt2YXIgTGE9MT09PWlhLnNpZGU7R2EmJihMYT0hTGEpO0koTGEpOzE9PT1pYS5ibGVuZGluZyYmITE9PT1pYS50cmFuc3BhcmVudD9GKDApOkYoaWEuYmxlbmRpbmcsaWEuYmxlbmRFcXVhdGlvbixpYS5ibGVuZFNyYyxpYS5ibGVuZERzdCxpYS5ibGVuZEVxdWF0aW9uQWxwaGEsaWEuYmxlbmRTcmNBbHBoYSxpYS5ibGVuZERzdEFscGhhLGlhLnByZW11bHRpcGxpZWRBbHBoYSk7Vi5zZXRGdW5jKGlhLmRlcHRoRnVuYyk7Vi5zZXRUZXN0KGlhLmRlcHRoVGVzdCk7Vi5zZXRNYXNrKGlhLmRlcHRoV3JpdGUpO1Uuc2V0TWFzayhpYS5jb2xvcldyaXRlKTtHYT1pYS5zdGVuY2lsV3JpdGU7ZWEuc2V0VGVzdChHYSk7R2EmJgooZWEuc2V0RnVuYyhpYS5zdGVuY2lsRnVuYyxpYS5zdGVuY2lsUmVmLGlhLnN0ZW5jaWxNYXNrKSxlYS5zZXRPcChpYS5zdGVuY2lsRmFpbCxpYS5zdGVuY2lsWkZhaWwsaWEuc3RlbmNpbFpQYXNzKSk7UChpYS5wb2x5Z29uT2Zmc2V0LGlhLnBvbHlnb25PZmZzZXRGYWN0b3IsaWEucG9seWdvbk9mZnNldFVuaXRzKX0sc2V0RmxpcFNpZGVkOkksc2V0Q3VsbEZhY2U6TSxzZXRMaW5lV2lkdGg6ZnVuY3Rpb24oaWEpe2lhIT09amImJihtYSYmYS5saW5lV2lkdGgoaWEpLGpiPWlhKX0sc2V0UG9seWdvbk9mZnNldDpQLHNldFNjaXNzb3JUZXN0OmZ1bmN0aW9uKGlhKXtpYT96KDMwODkpOkUoMzA4OSl9LGFjdGl2ZVRleHR1cmU6USxiaW5kVGV4dHVyZTpmdW5jdGlvbihpYSxHYSl7bnVsbD09PXphJiZRKCk7dmFyIExhPUphW3phXTt2b2lkIDA9PT1MYSYmKExhPXt0eXBlOnZvaWQgMCx0ZXh0dXJlOnZvaWQgMH0sSmFbemFdPUxhKTtpZihMYS50eXBlIT09aWF8fExhLnRleHR1cmUhPT0KR2EpYS5iaW5kVGV4dHVyZShpYSxHYXx8Y2JbaWFdKSxMYS50eXBlPWlhLExhLnRleHR1cmU9R2F9LGNvbXByZXNzZWRUZXhJbWFnZTJEOmZ1bmN0aW9uKCl7dHJ5e2EuY29tcHJlc3NlZFRleEltYWdlMkQuYXBwbHkoYSxhcmd1bWVudHMpfWNhdGNoKGlhKXtjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFN0YXRlOiIsaWEpfX0sdGV4SW1hZ2UyRDpmdW5jdGlvbigpe3RyeXthLnRleEltYWdlMkQuYXBwbHkoYSxhcmd1bWVudHMpfWNhdGNoKGlhKXtjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFN0YXRlOiIsaWEpfX0sdGV4SW1hZ2UzRDpmdW5jdGlvbigpe3RyeXthLnRleEltYWdlM0QuYXBwbHkoYSxhcmd1bWVudHMpfWNhdGNoKGlhKXtjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFN0YXRlOiIsaWEpfX0sc2Npc3NvcjpmdW5jdGlvbihpYSl7ITE9PT1ZYS5lcXVhbHMoaWEpJiYoYS5zY2lzc29yKGlhLngsaWEueSxpYS56LGlhLncpLFlhLmNvcHkoaWEpKX0sdmlld3BvcnQ6ZnVuY3Rpb24oaWEpeyExPT09Ck5hLmVxdWFscyhpYSkmJihhLnZpZXdwb3J0KGlhLngsaWEueSxpYS56LGlhLncpLE5hLmNvcHkoaWEpKX0scmVzZXQ6ZnVuY3Rpb24oKXtmb3IodmFyIGlhPTA7aWE8cGEubGVuZ3RoO2lhKyspMT09PXBhW2lhXSYmKGEuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KGlhKSxwYVtpYV09MCk7dWE9e307emE9bmE9bnVsbDtKYT17fTtiYj1LYT1UYT10YT1udWxsO1UucmVzZXQoKTtWLnJlc2V0KCk7ZWEucmVzZXQoKX19fWZ1bmN0aW9uIHFtKGEsYyxlLGcsdCx2LHope2Z1bmN0aW9uIEUoaGEsbWEpe3JldHVybiBiYj9uZXcgT2Zmc2NyZWVuQ2FudmFzKGhhLG1hKTpkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJjYW52YXMiKX1mdW5jdGlvbiBGKGhhLG1hLHphLEphKXt2YXIgWWE9MTtpZihoYS53aWR0aD5KYXx8aGEuaGVpZ2h0PkphKVlhPUphL01hdGgubWF4KGhhLndpZHRoLGhhLmhlaWdodCk7aWYoMT5ZYXx8ITA9PT1tYSl7aWYoInVuZGVmaW5lZCIhPT0KdHlwZW9mIEhUTUxJbWFnZUVsZW1lbnQmJmhhIGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudHx8InVuZGVmaW5lZCIhPT10eXBlb2YgSFRNTENhbnZhc0VsZW1lbnQmJmhhIGluc3RhbmNlb2YgSFRNTENhbnZhc0VsZW1lbnR8fCJ1bmRlZmluZWQiIT09dHlwZW9mIEltYWdlQml0bWFwJiZoYSBpbnN0YW5jZW9mIEltYWdlQml0bWFwKXJldHVybiBKYT1tYT9oYi5mbG9vclBvd2VyT2ZUd286TWF0aC5mbG9vcixtYT1KYShZYSpoYS53aWR0aCksWWE9SmEoWWEqaGEuaGVpZ2h0KSx2b2lkIDA9PT1LYSYmKEthPUUobWEsWWEpKSx6YT16YT9FKG1hLFlhKTpLYSx6YS53aWR0aD1tYSx6YS5oZWlnaHQ9WWEsemEuZ2V0Q29udGV4dCgiMmQiKS5kcmF3SW1hZ2UoaGEsMCwwLG1hLFlhKSxjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFRleHR1cmUgaGFzIGJlZW4gcmVzaXplZCBmcm9tICgiK2hhLndpZHRoKyJ4IitoYS5oZWlnaHQrIikgdG8gKCIrbWErIngiK1lhKyIpLiIpLAp6YTsiZGF0YSJpbiBoYSYmY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBJbWFnZSBpbiBEYXRhVGV4dHVyZSBpcyB0b28gYmlnICgiK2hhLndpZHRoKyJ4IitoYS5oZWlnaHQrIikuIil9cmV0dXJuIGhhfWZ1bmN0aW9uIEkoaGEpe3JldHVybiBoYi5pc1Bvd2VyT2ZUd28oaGEud2lkdGgpJiZoYi5pc1Bvd2VyT2ZUd28oaGEuaGVpZ2h0KX1mdW5jdGlvbiBNKGhhKXtyZXR1cm4gdC5pc1dlYkdMMj8hMToxMDAxIT09aGEud3JhcFN8fDEwMDEhPT1oYS53cmFwVHx8MTAwMyE9PWhhLm1pbkZpbHRlciYmMTAwNiE9PWhhLm1pbkZpbHRlcn1mdW5jdGlvbiBQKGhhLG1hKXtyZXR1cm4gaGEuZ2VuZXJhdGVNaXBtYXBzJiZtYSYmMTAwMyE9PWhhLm1pbkZpbHRlciYmMTAwNiE9PWhhLm1pbkZpbHRlcn1mdW5jdGlvbiBRKGhhLG1hLHphLEphKXthLmdlbmVyYXRlTWlwbWFwKGhhKTtnLmdldChtYSkuX19tYXhNaXBMZXZlbD1NYXRoLmxvZyhNYXRoLm1heCh6YSxKYSkpKk1hdGguTE9HMkV9CmZ1bmN0aW9uIFUoaGEsbWEpe2lmKCF0LmlzV2ViR0wyKXJldHVybiBoYTt2YXIgemE9aGE7NjQwMz09PWhhJiYoNTEyNj09PW1hJiYoemE9MzMzMjYpLDUxMzE9PT1tYSYmKHphPTMzMzI1KSw1MTIxPT09bWEmJih6YT0zMzMyMSkpOzY0MDc9PT1oYSYmKDUxMjY9PT1tYSYmKHphPTM0ODM3KSw1MTMxPT09bWEmJih6YT0zNDg0MyksNTEyMT09PW1hJiYoemE9MzI4NDkpKTs2NDA4PT09aGEmJig1MTI2PT09bWEmJih6YT0zNDgzNiksNTEzMT09PW1hJiYoemE9MzQ4NDIpLDUxMjE9PT1tYSYmKHphPTMyODU2KSk7MzMzMjU9PT16YXx8MzMzMjY9PT16YXx8MzQ4NDI9PT16YXx8MzQ4MzY9PT16YT9jLmdldCgiRVhUX2NvbG9yX2J1ZmZlcl9mbG9hdCIpOigzNDg0Mz09PXphfHwzNDgzNz09PXphKSYmY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBGbG9hdGluZyBwb2ludCB0ZXh0dXJlcyB3aXRoIFJHQiBmb3JtYXQgbm90IHN1cHBvcnRlZC4gUGxlYXNlIHVzZSBSR0JBIGluc3RlYWQuIik7CnJldHVybiB6YX1mdW5jdGlvbiBWKGhhKXtyZXR1cm4gMTAwMz09PWhhfHwxMDA0PT09aGF8fDEwMDU9PT1oYT85NzI4Ojk3Mjl9ZnVuY3Rpb24gZWEoaGEpe2hhPWhhLnRhcmdldDtoYS5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIixlYSk7cmEoaGEpO2hhLmlzVmlkZW9UZXh0dXJlJiZ0Yi5kZWxldGUoaGEpO3oubWVtb3J5LnRleHR1cmVzLS19ZnVuY3Rpb24gZGEoaGEpe2hhPWhhLnRhcmdldDtoYS5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIixkYSk7cGEoaGEpO3oubWVtb3J5LnRleHR1cmVzLS19ZnVuY3Rpb24gcmEoaGEpe3ZhciBtYT1nLmdldChoYSk7dm9pZCAwIT09bWEuX193ZWJnbEluaXQmJihhLmRlbGV0ZVRleHR1cmUobWEuX193ZWJnbFRleHR1cmUpLGcucmVtb3ZlKGhhKSl9ZnVuY3Rpb24gcGEoaGEpe3ZhciBtYT1nLmdldChoYSksemE9Zy5nZXQoaGEudGV4dHVyZSk7aWYoaGEpe3ZvaWQgMCE9PXphLl9fd2ViZ2xUZXh0dXJlJiZhLmRlbGV0ZVRleHR1cmUoemEuX193ZWJnbFRleHR1cmUpOwpoYS5kZXB0aFRleHR1cmUmJmhhLmRlcHRoVGV4dHVyZS5kaXNwb3NlKCk7aWYoaGEuaXNXZWJHTFJlbmRlclRhcmdldEN1YmUpZm9yKHphPTA7Nj56YTt6YSsrKWEuZGVsZXRlRnJhbWVidWZmZXIobWEuX193ZWJnbEZyYW1lYnVmZmVyW3phXSksbWEuX193ZWJnbERlcHRoYnVmZmVyJiZhLmRlbGV0ZVJlbmRlcmJ1ZmZlcihtYS5fX3dlYmdsRGVwdGhidWZmZXJbemFdKTtlbHNlIGEuZGVsZXRlRnJhbWVidWZmZXIobWEuX193ZWJnbEZyYW1lYnVmZmVyKSxtYS5fX3dlYmdsRGVwdGhidWZmZXImJmEuZGVsZXRlUmVuZGVyYnVmZmVyKG1hLl9fd2ViZ2xEZXB0aGJ1ZmZlcik7Zy5yZW1vdmUoaGEudGV4dHVyZSk7Zy5yZW1vdmUoaGEpfX1mdW5jdGlvbiBxYShoYSxtYSl7dmFyIHphPWcuZ2V0KGhhKTtoYS5pc1ZpZGVvVGV4dHVyZSYmZGIoaGEpO2lmKDA8aGEudmVyc2lvbiYmemEuX192ZXJzaW9uIT09aGEudmVyc2lvbil7dmFyIEphPWhhLmltYWdlO2lmKHZvaWQgMD09PUphKWNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogVGV4dHVyZSBtYXJrZWQgZm9yIHVwZGF0ZSBidXQgaW1hZ2UgaXMgdW5kZWZpbmVkIik7CmVsc2UgaWYoITE9PT1KYS5jb21wbGV0ZSljb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFRleHR1cmUgbWFya2VkIGZvciB1cGRhdGUgYnV0IGltYWdlIGlzIGluY29tcGxldGUiKTtlbHNle1RhKHphLGhhLG1hKTtyZXR1cm59fWUuYWN0aXZlVGV4dHVyZSgzMzk4NCttYSk7ZS5iaW5kVGV4dHVyZSgzNTUzLHphLl9fd2ViZ2xUZXh0dXJlKX1mdW5jdGlvbiB1YShoYSxtYSl7aWYoNj09PWhhLmltYWdlLmxlbmd0aCl7dmFyIHphPWcuZ2V0KGhhKTtpZigwPGhhLnZlcnNpb24mJnphLl9fdmVyc2lvbiE9PWhhLnZlcnNpb24pe0JhKHphLGhhKTtlLmFjdGl2ZVRleHR1cmUoMzM5ODQrbWEpO2UuYmluZFRleHR1cmUoMzQwNjcsemEuX193ZWJnbFRleHR1cmUpO2EucGl4ZWxTdG9yZWkoMzc0NDAsaGEuZmxpcFkpO3ZhciBKYT1oYSYmaGEuaXNDb21wcmVzc2VkVGV4dHVyZTttYT1oYS5pbWFnZVswXSYmaGEuaW1hZ2VbMF0uaXNEYXRhVGV4dHVyZTtmb3IodmFyIFlhPVtdLApOYT0wOzY+TmE7TmErKylZYVtOYV09SmF8fG1hP21hP2hhLmltYWdlW05hXS5pbWFnZTpoYS5pbWFnZVtOYV06RihoYS5pbWFnZVtOYV0sITEsITAsdC5tYXhDdWJlbWFwU2l6ZSk7dmFyIGNiPVlhWzBdLGlhPUkoY2IpfHx0LmlzV2ViR0wyLEdhPXYuY29udmVydChoYS5mb3JtYXQpLExhPXYuY29udmVydChoYS50eXBlKSxuYj1VKEdhLExhKTt0YSgzNDA2NyxoYSxpYSk7aWYoSmEpe2ZvcihOYT0wOzY+TmE7TmErKyl7dmFyIFZhPVlhW05hXS5taXBtYXBzO2ZvcihKYT0wO0phPFZhLmxlbmd0aDtKYSsrKXt2YXIgaWI9VmFbSmFdOzEwMjMhPT1oYS5mb3JtYXQmJjEwMjIhPT1oYS5mb3JtYXQ/LTE8ZS5nZXRDb21wcmVzc2VkVGV4dHVyZUZvcm1hdHMoKS5pbmRleE9mKEdhKT9lLmNvbXByZXNzZWRUZXhJbWFnZTJEKDM0MDY5K05hLEphLG5iLGliLndpZHRoLGliLmhlaWdodCwwLGliLmRhdGEpOmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogQXR0ZW1wdCB0byBsb2FkIHVuc3VwcG9ydGVkIGNvbXByZXNzZWQgdGV4dHVyZSBmb3JtYXQgaW4gLnNldFRleHR1cmVDdWJlKCkiKToKZS50ZXhJbWFnZTJEKDM0MDY5K05hLEphLG5iLGliLndpZHRoLGliLmhlaWdodCwwLEdhLExhLGliLmRhdGEpfX16YS5fX21heE1pcExldmVsPVZhLmxlbmd0aC0xfWVsc2V7VmE9aGEubWlwbWFwcztmb3IoTmE9MDs2Pk5hO05hKyspaWYobWEpZm9yKGUudGV4SW1hZ2UyRCgzNDA2OStOYSwwLG5iLFlhW05hXS53aWR0aCxZYVtOYV0uaGVpZ2h0LDAsR2EsTGEsWWFbTmFdLmRhdGEpLEphPTA7SmE8VmEubGVuZ3RoO0phKyspaWI9VmFbSmFdLGliPWliLmltYWdlW05hXS5pbWFnZSxlLnRleEltYWdlMkQoMzQwNjkrTmEsSmErMSxuYixpYi53aWR0aCxpYi5oZWlnaHQsMCxHYSxMYSxpYi5kYXRhKTtlbHNlIGZvcihlLnRleEltYWdlMkQoMzQwNjkrTmEsMCxuYixHYSxMYSxZYVtOYV0pLEphPTA7SmE8VmEubGVuZ3RoO0phKyspaWI9VmFbSmFdLGUudGV4SW1hZ2UyRCgzNDA2OStOYSxKYSsxLG5iLEdhLExhLGliLmltYWdlW05hXSk7emEuX19tYXhNaXBMZXZlbD1WYS5sZW5ndGh9UChoYSwKaWEpJiZRKDM0MDY3LGhhLGNiLndpZHRoLGNiLmhlaWdodCk7emEuX192ZXJzaW9uPWhhLnZlcnNpb247aWYoaGEub25VcGRhdGUpaGEub25VcGRhdGUoaGEpfWVsc2UgZS5hY3RpdmVUZXh0dXJlKDMzOTg0K21hKSxlLmJpbmRUZXh0dXJlKDM0MDY3LHphLl9fd2ViZ2xUZXh0dXJlKX19ZnVuY3Rpb24gbmEoaGEsbWEpe2UuYWN0aXZlVGV4dHVyZSgzMzk4NCttYSk7ZS5iaW5kVGV4dHVyZSgzNDA2NyxnLmdldChoYSkuX193ZWJnbFRleHR1cmUpfWZ1bmN0aW9uIHRhKGhhLG1hLHphKXt6YT8oYS50ZXhQYXJhbWV0ZXJpKGhhLDEwMjQyLHYuY29udmVydChtYS53cmFwUykpLGEudGV4UGFyYW1ldGVyaShoYSwxMDI0Myx2LmNvbnZlcnQobWEud3JhcFQpKSwzMjg3OSE9PWhhJiYzNTg2NiE9PWhhfHxhLnRleFBhcmFtZXRlcmkoaGEsMzI4ODIsdi5jb252ZXJ0KG1hLndyYXBSKSksYS50ZXhQYXJhbWV0ZXJpKGhhLDEwMjQwLHYuY29udmVydChtYS5tYWdGaWx0ZXIpKSxhLnRleFBhcmFtZXRlcmkoaGEsCjEwMjQxLHYuY29udmVydChtYS5taW5GaWx0ZXIpKSk6KGEudGV4UGFyYW1ldGVyaShoYSwxMDI0MiwzMzA3MSksYS50ZXhQYXJhbWV0ZXJpKGhhLDEwMjQzLDMzMDcxKSwzMjg3OSE9PWhhJiYzNTg2NiE9PWhhfHxhLnRleFBhcmFtZXRlcmkoaGEsMzI4ODIsMzMwNzEpLDEwMDE9PT1tYS53cmFwUyYmMTAwMT09PW1hLndyYXBUfHxjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFRleHR1cmUgaXMgbm90IHBvd2VyIG9mIHR3by4gVGV4dHVyZS53cmFwUyBhbmQgVGV4dHVyZS53cmFwVCBzaG91bGQgYmUgc2V0IHRvIFRIUkVFLkNsYW1wVG9FZGdlV3JhcHBpbmcuIiksYS50ZXhQYXJhbWV0ZXJpKGhhLDEwMjQwLFYobWEubWFnRmlsdGVyKSksYS50ZXhQYXJhbWV0ZXJpKGhhLDEwMjQxLFYobWEubWluRmlsdGVyKSksMTAwMyE9PW1hLm1pbkZpbHRlciYmMTAwNiE9PW1hLm1pbkZpbHRlciYmY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBUZXh0dXJlIGlzIG5vdCBwb3dlciBvZiB0d28uIFRleHR1cmUubWluRmlsdGVyIHNob3VsZCBiZSBzZXQgdG8gVEhSRUUuTmVhcmVzdEZpbHRlciBvciBUSFJFRS5MaW5lYXJGaWx0ZXIuIikpOwohKHphPWMuZ2V0KCJFWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKSl8fDEwMTU9PT1tYS50eXBlJiZudWxsPT09Yy5nZXQoIk9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIpfHwxMDE2PT09bWEudHlwZSYmbnVsbD09PSh0LmlzV2ViR0wyfHxjLmdldCgiT0VTX3RleHR1cmVfaGFsZl9mbG9hdF9saW5lYXIiKSl8fCEoMTxtYS5hbmlzb3Ryb3B5fHxnLmdldChtYSkuX19jdXJyZW50QW5pc290cm9weSl8fChhLnRleFBhcmFtZXRlcmYoaGEsemEuVEVYVFVSRV9NQVhfQU5JU09UUk9QWV9FWFQsTWF0aC5taW4obWEuYW5pc290cm9weSx0LmdldE1heEFuaXNvdHJvcHkoKSkpLGcuZ2V0KG1hKS5fX2N1cnJlbnRBbmlzb3Ryb3B5PW1hLmFuaXNvdHJvcHkpfWZ1bmN0aW9uIEJhKGhhLG1hKXt2b2lkIDA9PT1oYS5fX3dlYmdsSW5pdCYmKGhhLl9fd2ViZ2xJbml0PSEwLG1hLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLGVhKSxoYS5fX3dlYmdsVGV4dHVyZT1hLmNyZWF0ZVRleHR1cmUoKSwKei5tZW1vcnkudGV4dHVyZXMrKyl9ZnVuY3Rpb24gVGEoaGEsbWEsemEpe3ZhciBKYT0zNTUzO21hLmlzRGF0YVRleHR1cmUyREFycmF5JiYoSmE9MzU4NjYpO21hLmlzRGF0YVRleHR1cmUzRCYmKEphPTMyODc5KTtCYShoYSxtYSk7ZS5hY3RpdmVUZXh0dXJlKDMzOTg0K3phKTtlLmJpbmRUZXh0dXJlKEphLGhhLl9fd2ViZ2xUZXh0dXJlKTthLnBpeGVsU3RvcmVpKDM3NDQwLG1hLmZsaXBZKTthLnBpeGVsU3RvcmVpKDM3NDQxLG1hLnByZW11bHRpcGx5QWxwaGEpO2EucGl4ZWxTdG9yZWkoMzMxNyxtYS51bnBhY2tBbGlnbm1lbnQpO3phPU0obWEpJiYhMT09PUkobWEuaW1hZ2UpO3phPUYobWEuaW1hZ2UsemEsITEsdC5tYXhUZXh0dXJlU2l6ZSk7dmFyIFlhPUkoemEpfHx0LmlzV2ViR0wyLE5hPXYuY29udmVydChtYS5mb3JtYXQpLGNiPXYuY29udmVydChtYS50eXBlKSxpYT1VKE5hLGNiKTt0YShKYSxtYSxZYSk7dmFyIEdhPW1hLm1pcG1hcHM7aWYobWEuaXNEZXB0aFRleHR1cmUpe2lhPQo2NDAyO2lmKDEwMTU9PT1tYS50eXBlKXtpZighdC5pc1dlYkdMMil0aHJvdyBFcnJvcigiRmxvYXQgRGVwdGggVGV4dHVyZSBvbmx5IHN1cHBvcnRlZCBpbiBXZWJHTDIuMCIpO2lhPTM2MDEyfWVsc2UgdC5pc1dlYkdMMiYmKGlhPTMzMTg5KTsxMDI2PT09bWEuZm9ybWF0JiY2NDAyPT09aWEmJjEwMTIhPT1tYS50eXBlJiYxMDE0IT09bWEudHlwZSYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogVXNlIFVuc2lnbmVkU2hvcnRUeXBlIG9yIFVuc2lnbmVkSW50VHlwZSBmb3IgRGVwdGhGb3JtYXQgRGVwdGhUZXh0dXJlLiIpLG1hLnR5cGU9MTAxMixjYj12LmNvbnZlcnQobWEudHlwZSkpOzEwMjc9PT1tYS5mb3JtYXQmJihpYT0zNDA0MSwxMDIwIT09bWEudHlwZSYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogVXNlIFVuc2lnbmVkSW50MjQ4VHlwZSBmb3IgRGVwdGhTdGVuY2lsRm9ybWF0IERlcHRoVGV4dHVyZS4iKSxtYS50eXBlPTEwMjAsY2I9CnYuY29udmVydChtYS50eXBlKSkpO2UudGV4SW1hZ2UyRCgzNTUzLDAsaWEsemEud2lkdGgsemEuaGVpZ2h0LDAsTmEsY2IsbnVsbCl9ZWxzZSBpZihtYS5pc0RhdGFUZXh0dXJlKWlmKDA8R2EubGVuZ3RoJiZZYSl7Zm9yKHZhciBMYT0wLG5iPUdhLmxlbmd0aDtMYTxuYjtMYSsrKUphPUdhW0xhXSxlLnRleEltYWdlMkQoMzU1MyxMYSxpYSxKYS53aWR0aCxKYS5oZWlnaHQsMCxOYSxjYixKYS5kYXRhKTttYS5nZW5lcmF0ZU1pcG1hcHM9ITE7aGEuX19tYXhNaXBMZXZlbD1HYS5sZW5ndGgtMX1lbHNlIGUudGV4SW1hZ2UyRCgzNTUzLDAsaWEsemEud2lkdGgsemEuaGVpZ2h0LDAsTmEsY2IsemEuZGF0YSksaGEuX19tYXhNaXBMZXZlbD0wO2Vsc2UgaWYobWEuaXNDb21wcmVzc2VkVGV4dHVyZSl7TGE9MDtmb3IobmI9R2EubGVuZ3RoO0xhPG5iO0xhKyspSmE9R2FbTGFdLDEwMjMhPT1tYS5mb3JtYXQmJjEwMjIhPT1tYS5mb3JtYXQ/LTE8ZS5nZXRDb21wcmVzc2VkVGV4dHVyZUZvcm1hdHMoKS5pbmRleE9mKE5hKT8KZS5jb21wcmVzc2VkVGV4SW1hZ2UyRCgzNTUzLExhLGlhLEphLndpZHRoLEphLmhlaWdodCwwLEphLmRhdGEpOmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogQXR0ZW1wdCB0byBsb2FkIHVuc3VwcG9ydGVkIGNvbXByZXNzZWQgdGV4dHVyZSBmb3JtYXQgaW4gLnVwbG9hZFRleHR1cmUoKSIpOmUudGV4SW1hZ2UyRCgzNTUzLExhLGlhLEphLndpZHRoLEphLmhlaWdodCwwLE5hLGNiLEphLmRhdGEpO2hhLl9fbWF4TWlwTGV2ZWw9R2EubGVuZ3RoLTF9ZWxzZSBpZihtYS5pc0RhdGFUZXh0dXJlMkRBcnJheSllLnRleEltYWdlM0QoMzU4NjYsMCxpYSx6YS53aWR0aCx6YS5oZWlnaHQsemEuZGVwdGgsMCxOYSxjYix6YS5kYXRhKSxoYS5fX21heE1pcExldmVsPTA7ZWxzZSBpZihtYS5pc0RhdGFUZXh0dXJlM0QpZS50ZXhJbWFnZTNEKDMyODc5LDAsaWEsemEud2lkdGgsemEuaGVpZ2h0LHphLmRlcHRoLDAsTmEsY2IsemEuZGF0YSksaGEuX19tYXhNaXBMZXZlbD0wO2Vsc2UgaWYoMDwKR2EubGVuZ3RoJiZZYSl7TGE9MDtmb3IobmI9R2EubGVuZ3RoO0xhPG5iO0xhKyspSmE9R2FbTGFdLGUudGV4SW1hZ2UyRCgzNTUzLExhLGlhLE5hLGNiLEphKTttYS5nZW5lcmF0ZU1pcG1hcHM9ITE7aGEuX19tYXhNaXBMZXZlbD1HYS5sZW5ndGgtMX1lbHNlIGUudGV4SW1hZ2UyRCgzNTUzLDAsaWEsTmEsY2IsemEpLGhhLl9fbWF4TWlwTGV2ZWw9MDtQKG1hLFlhKSYmUSgzNTUzLG1hLHphLndpZHRoLHphLmhlaWdodCk7aGEuX192ZXJzaW9uPW1hLnZlcnNpb247aWYobWEub25VcGRhdGUpbWEub25VcGRhdGUobWEpfWZ1bmN0aW9uIFVhKGhhLG1hLHphLEphKXt2YXIgWWE9di5jb252ZXJ0KG1hLnRleHR1cmUuZm9ybWF0KSxOYT12LmNvbnZlcnQobWEudGV4dHVyZS50eXBlKSxjYj1VKFlhLE5hKTtlLnRleEltYWdlMkQoSmEsMCxjYixtYS53aWR0aCxtYS5oZWlnaHQsMCxZYSxOYSxudWxsKTthLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxoYSk7YS5mcmFtZWJ1ZmZlclRleHR1cmUyRCgzNjE2MCwKemEsSmEsZy5nZXQobWEudGV4dHVyZSkuX193ZWJnbFRleHR1cmUsMCk7YS5iaW5kRnJhbWVidWZmZXIoMzYxNjAsbnVsbCl9ZnVuY3Rpb24gQ2EoaGEsbWEsemEpe2EuYmluZFJlbmRlcmJ1ZmZlcigzNjE2MSxoYSk7aWYobWEuZGVwdGhCdWZmZXImJiFtYS5zdGVuY2lsQnVmZmVyKXphPyh6YT1NYShtYSksYS5yZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUoMzYxNjEsemEsMzMxODksbWEud2lkdGgsbWEuaGVpZ2h0KSk6YS5yZW5kZXJidWZmZXJTdG9yYWdlKDM2MTYxLDMzMTg5LG1hLndpZHRoLG1hLmhlaWdodCksYS5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigzNjE2MCwzNjA5NiwzNjE2MSxoYSk7ZWxzZSBpZihtYS5kZXB0aEJ1ZmZlciYmbWEuc3RlbmNpbEJ1ZmZlcil6YT8oemE9TWEobWEpLGEucmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKDM2MTYxLHphLDM1MDU2LG1hLndpZHRoLG1hLmhlaWdodCkpOmEucmVuZGVyYnVmZmVyU3RvcmFnZSgzNjE2MSwzNDA0MSwKbWEud2lkdGgsbWEuaGVpZ2h0KSxhLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKDM2MTYwLDMzMzA2LDM2MTYxLGhhKTtlbHNle2hhPXYuY29udmVydChtYS50ZXh0dXJlLmZvcm1hdCk7dmFyIEphPXYuY29udmVydChtYS50ZXh0dXJlLnR5cGUpO2hhPVUoaGEsSmEpO3phPyh6YT1NYShtYSksYS5yZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUoMzYxNjEsemEsaGEsbWEud2lkdGgsbWEuaGVpZ2h0KSk6YS5yZW5kZXJidWZmZXJTdG9yYWdlKDM2MTYxLGhhLG1hLndpZHRoLG1hLmhlaWdodCl9YS5iaW5kUmVuZGVyYnVmZmVyKDM2MTYxLG51bGwpfWZ1bmN0aW9uIEhhKGhhLG1hKXtpZihtYSYmbWEuaXNXZWJHTFJlbmRlclRhcmdldEN1YmUpdGhyb3cgRXJyb3IoIkRlcHRoIFRleHR1cmUgd2l0aCBjdWJlIHJlbmRlciB0YXJnZXRzIGlzIG5vdCBzdXBwb3J0ZWQiKTthLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxoYSk7aWYoIW1hLmRlcHRoVGV4dHVyZXx8IW1hLmRlcHRoVGV4dHVyZS5pc0RlcHRoVGV4dHVyZSl0aHJvdyBFcnJvcigicmVuZGVyVGFyZ2V0LmRlcHRoVGV4dHVyZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFRIUkVFLkRlcHRoVGV4dHVyZSIpOwpnLmdldChtYS5kZXB0aFRleHR1cmUpLl9fd2ViZ2xUZXh0dXJlJiZtYS5kZXB0aFRleHR1cmUuaW1hZ2Uud2lkdGg9PT1tYS53aWR0aCYmbWEuZGVwdGhUZXh0dXJlLmltYWdlLmhlaWdodD09PW1hLmhlaWdodHx8KG1hLmRlcHRoVGV4dHVyZS5pbWFnZS53aWR0aD1tYS53aWR0aCxtYS5kZXB0aFRleHR1cmUuaW1hZ2UuaGVpZ2h0PW1hLmhlaWdodCxtYS5kZXB0aFRleHR1cmUubmVlZHNVcGRhdGU9ITApO3FhKG1hLmRlcHRoVGV4dHVyZSwwKTtoYT1nLmdldChtYS5kZXB0aFRleHR1cmUpLl9fd2ViZ2xUZXh0dXJlO2lmKDEwMjY9PT1tYS5kZXB0aFRleHR1cmUuZm9ybWF0KWEuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsMzYwOTYsMzU1MyxoYSwwKTtlbHNlIGlmKDEwMjc9PT1tYS5kZXB0aFRleHR1cmUuZm9ybWF0KWEuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsMzMzMDYsMzU1MyxoYSwwKTtlbHNlIHRocm93IEVycm9yKCJVbmtub3duIGRlcHRoVGV4dHVyZSBmb3JtYXQiKTsKfWZ1bmN0aW9uIERhKGhhKXt2YXIgbWE9Zy5nZXQoaGEpLHphPSEwPT09aGEuaXNXZWJHTFJlbmRlclRhcmdldEN1YmU7aWYoaGEuZGVwdGhUZXh0dXJlKXtpZih6YSl0aHJvdyBFcnJvcigidGFyZ2V0LmRlcHRoVGV4dHVyZSBub3Qgc3VwcG9ydGVkIGluIEN1YmUgcmVuZGVyIHRhcmdldHMiKTtIYShtYS5fX3dlYmdsRnJhbWVidWZmZXIsaGEpfWVsc2UgaWYoemEpZm9yKG1hLl9fd2ViZ2xEZXB0aGJ1ZmZlcj1bXSx6YT0wOzY+emE7emErKylhLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxtYS5fX3dlYmdsRnJhbWVidWZmZXJbemFdKSxtYS5fX3dlYmdsRGVwdGhidWZmZXJbemFdPWEuY3JlYXRlUmVuZGVyYnVmZmVyKCksQ2EobWEuX193ZWJnbERlcHRoYnVmZmVyW3phXSxoYSk7ZWxzZSBhLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxtYS5fX3dlYmdsRnJhbWVidWZmZXIpLG1hLl9fd2ViZ2xEZXB0aGJ1ZmZlcj1hLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpLENhKG1hLl9fd2ViZ2xEZXB0aGJ1ZmZlciwKaGEpO2EuYmluZEZyYW1lYnVmZmVyKDM2MTYwLG51bGwpfWZ1bmN0aW9uIE1hKGhhKXtyZXR1cm4gdC5pc1dlYkdMMiYmaGEuaXNXZWJHTE11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0P01hdGgubWluKHQubWF4U2FtcGxlcyxoYS5zYW1wbGVzKTowfWZ1bmN0aW9uIGRiKGhhKXt2YXIgbWE9ei5yZW5kZXIuZnJhbWU7dGIuZ2V0KGhhKSE9PW1hJiYodGIuc2V0KGhhLG1hKSxoYS51cGRhdGUoKSl9dmFyIHRiPW5ldyBXZWFrTWFwLEthLGJiPSJ1bmRlZmluZWQiIT09dHlwZW9mIE9mZnNjcmVlbkNhbnZhcyxqYj0wLEViPSExLHhiPSExO3RoaXMuYWxsb2NhdGVUZXh0dXJlVW5pdD1mdW5jdGlvbigpe3ZhciBoYT1qYjtoYT49dC5tYXhUZXh0dXJlcyYmY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFRleHR1cmVzOiBUcnlpbmcgdG8gdXNlICIraGErIiB0ZXh0dXJlIHVuaXRzIHdoaWxlIHRoaXMgR1BVIHN1cHBvcnRzIG9ubHkgIit0Lm1heFRleHR1cmVzKTtqYis9MTtyZXR1cm4gaGF9O3RoaXMucmVzZXRUZXh0dXJlVW5pdHM9CmZ1bmN0aW9uKCl7amI9MH07dGhpcy5zZXRUZXh0dXJlMkQ9cWE7dGhpcy5zZXRUZXh0dXJlMkRBcnJheT1mdW5jdGlvbihoYSxtYSl7dmFyIHphPWcuZ2V0KGhhKTswPGhhLnZlcnNpb24mJnphLl9fdmVyc2lvbiE9PWhhLnZlcnNpb24/VGEoemEsaGEsbWEpOihlLmFjdGl2ZVRleHR1cmUoMzM5ODQrbWEpLGUuYmluZFRleHR1cmUoMzU4NjYsemEuX193ZWJnbFRleHR1cmUpKX07dGhpcy5zZXRUZXh0dXJlM0Q9ZnVuY3Rpb24oaGEsbWEpe3ZhciB6YT1nLmdldChoYSk7MDxoYS52ZXJzaW9uJiZ6YS5fX3ZlcnNpb24hPT1oYS52ZXJzaW9uP1RhKHphLGhhLG1hKTooZS5hY3RpdmVUZXh0dXJlKDMzOTg0K21hKSxlLmJpbmRUZXh0dXJlKDMyODc5LHphLl9fd2ViZ2xUZXh0dXJlKSl9O3RoaXMuc2V0VGV4dHVyZUN1YmU9dWE7dGhpcy5zZXRUZXh0dXJlQ3ViZUR5bmFtaWM9bmE7dGhpcy5zZXR1cFJlbmRlclRhcmdldD1mdW5jdGlvbihoYSl7dmFyIG1hPWcuZ2V0KGhhKSx6YT1nLmdldChoYS50ZXh0dXJlKTsKaGEuYWRkRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsZGEpO3phLl9fd2ViZ2xUZXh0dXJlPWEuY3JlYXRlVGV4dHVyZSgpO3oubWVtb3J5LnRleHR1cmVzKys7dmFyIEphPSEwPT09aGEuaXNXZWJHTFJlbmRlclRhcmdldEN1YmUsWWE9ITA9PT1oYS5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQsTmE9SShoYSl8fHQuaXNXZWJHTDI7aWYoSmEpZm9yKG1hLl9fd2ViZ2xGcmFtZWJ1ZmZlcj1bXSxZYT0wOzY+WWE7WWErKyltYS5fX3dlYmdsRnJhbWVidWZmZXJbWWFdPWEuY3JlYXRlRnJhbWVidWZmZXIoKTtlbHNlIGlmKG1hLl9fd2ViZ2xGcmFtZWJ1ZmZlcj1hLmNyZWF0ZUZyYW1lYnVmZmVyKCksWWEpaWYodC5pc1dlYkdMMil7bWEuX193ZWJnbE11bHRpc2FtcGxlZEZyYW1lYnVmZmVyPWEuY3JlYXRlRnJhbWVidWZmZXIoKTttYS5fX3dlYmdsQ29sb3JSZW5kZXJidWZmZXI9YS5jcmVhdGVSZW5kZXJidWZmZXIoKTthLmJpbmRSZW5kZXJidWZmZXIoMzYxNjEsbWEuX193ZWJnbENvbG9yUmVuZGVyYnVmZmVyKTsKWWE9di5jb252ZXJ0KGhhLnRleHR1cmUuZm9ybWF0KTt2YXIgY2I9di5jb252ZXJ0KGhhLnRleHR1cmUudHlwZSk7WWE9VShZYSxjYik7Y2I9TWEoaGEpO2EucmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKDM2MTYxLGNiLFlhLGhhLndpZHRoLGhhLmhlaWdodCk7YS5iaW5kRnJhbWVidWZmZXIoMzYxNjAsbWEuX193ZWJnbE11bHRpc2FtcGxlZEZyYW1lYnVmZmVyKTthLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKDM2MTYwLDM2MDY0LDM2MTYxLG1hLl9fd2ViZ2xDb2xvclJlbmRlcmJ1ZmZlcik7YS5iaW5kUmVuZGVyYnVmZmVyKDM2MTYxLG51bGwpO2hhLmRlcHRoQnVmZmVyJiYobWEuX193ZWJnbERlcHRoUmVuZGVyYnVmZmVyPWEuY3JlYXRlUmVuZGVyYnVmZmVyKCksQ2EobWEuX193ZWJnbERlcHRoUmVuZGVyYnVmZmVyLGhhLCEwKSk7YS5iaW5kRnJhbWVidWZmZXIoMzYxNjAsbnVsbCl9ZWxzZSBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFdlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIFdlYkdMMi4iKTsKaWYoSmEpe2UuYmluZFRleHR1cmUoMzQwNjcsemEuX193ZWJnbFRleHR1cmUpO3RhKDM0MDY3LGhhLnRleHR1cmUsTmEpO2ZvcihZYT0wOzY+WWE7WWErKylVYShtYS5fX3dlYmdsRnJhbWVidWZmZXJbWWFdLGhhLDM2MDY0LDM0MDY5K1lhKTtQKGhhLnRleHR1cmUsTmEpJiZRKDM0MDY3LGhhLnRleHR1cmUsaGEud2lkdGgsaGEuaGVpZ2h0KTtlLmJpbmRUZXh0dXJlKDM0MDY3LG51bGwpfWVsc2UgZS5iaW5kVGV4dHVyZSgzNTUzLHphLl9fd2ViZ2xUZXh0dXJlKSx0YSgzNTUzLGhhLnRleHR1cmUsTmEpLFVhKG1hLl9fd2ViZ2xGcmFtZWJ1ZmZlcixoYSwzNjA2NCwzNTUzKSxQKGhhLnRleHR1cmUsTmEpJiZRKDM1NTMsaGEudGV4dHVyZSxoYS53aWR0aCxoYS5oZWlnaHQpLGUuYmluZFRleHR1cmUoMzU1MyxudWxsKTtoYS5kZXB0aEJ1ZmZlciYmRGEoaGEpfTt0aGlzLnVwZGF0ZVJlbmRlclRhcmdldE1pcG1hcD1mdW5jdGlvbihoYSl7dmFyIG1hPWhhLnRleHR1cmUsemE9SShoYSl8fAp0LmlzV2ViR0wyO2lmKFAobWEsemEpKXt6YT1oYS5pc1dlYkdMUmVuZGVyVGFyZ2V0Q3ViZT8zNDA2NzozNTUzO3ZhciBKYT1nLmdldChtYSkuX193ZWJnbFRleHR1cmU7ZS5iaW5kVGV4dHVyZSh6YSxKYSk7USh6YSxtYSxoYS53aWR0aCxoYS5oZWlnaHQpO2UuYmluZFRleHR1cmUoemEsbnVsbCl9fTt0aGlzLnVwZGF0ZU11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0PWZ1bmN0aW9uKGhhKXtpZihoYS5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQpaWYodC5pc1dlYkdMMil7dmFyIG1hPWcuZ2V0KGhhKTthLmJpbmRGcmFtZWJ1ZmZlcigzNjAwOCxtYS5fX3dlYmdsTXVsdGlzYW1wbGVkRnJhbWVidWZmZXIpO2EuYmluZEZyYW1lYnVmZmVyKDM2MDA5LG1hLl9fd2ViZ2xGcmFtZWJ1ZmZlcik7bWE9aGEud2lkdGg7dmFyIHphPWhhLmhlaWdodCxKYT0xNjM4NDtoYS5kZXB0aEJ1ZmZlciYmKEphfD0yNTYpO2hhLnN0ZW5jaWxCdWZmZXImJihKYXw9MTAyNCk7YS5ibGl0RnJhbWVidWZmZXIoMCwKMCxtYSx6YSwwLDAsbWEsemEsSmEsOTcyOCl9ZWxzZSBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFdlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIFdlYkdMMi4iKX07dGhpcy5zYWZlU2V0VGV4dHVyZTJEPWZ1bmN0aW9uKGhhLG1hKXtoYSYmaGEuaXNXZWJHTFJlbmRlclRhcmdldCYmKCExPT09RWImJihjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMVGV4dHVyZXMuc2FmZVNldFRleHR1cmUyRDogZG9uJ3QgdXNlIHJlbmRlciB0YXJnZXRzIGFzIHRleHR1cmVzLiBVc2UgdGhlaXIgLnRleHR1cmUgcHJvcGVydHkgaW5zdGVhZC4iKSxFYj0hMCksaGE9aGEudGV4dHVyZSk7cWEoaGEsbWEpfTt0aGlzLnNhZmVTZXRUZXh0dXJlQ3ViZT1mdW5jdGlvbihoYSxtYSl7aGEmJmhhLmlzV2ViR0xSZW5kZXJUYXJnZXRDdWJlJiYoITE9PT14YiYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xUZXh0dXJlcy5zYWZlU2V0VGV4dHVyZUN1YmU6IGRvbid0IHVzZSBjdWJlIHJlbmRlciB0YXJnZXRzIGFzIHRleHR1cmVzLiBVc2UgdGhlaXIgLnRleHR1cmUgcHJvcGVydHkgaW5zdGVhZC4iKSwKeGI9ITApLGhhPWhhLnRleHR1cmUpO2hhJiZoYS5pc0N1YmVUZXh0dXJlfHxBcnJheS5pc0FycmF5KGhhLmltYWdlKSYmNj09PWhhLmltYWdlLmxlbmd0aD91YShoYSxtYSk6bmEoaGEsbWEpfX1mdW5jdGlvbiBGaihhLGMsZSl7cmV0dXJue2NvbnZlcnQ6ZnVuY3Rpb24oZyl7aWYoMUUzPT09ZylyZXR1cm4gMTA0OTc7aWYoMTAwMT09PWcpcmV0dXJuIDMzMDcxO2lmKDEwMDI9PT1nKXJldHVybiAzMzY0ODtpZigxMDAzPT09ZylyZXR1cm4gOTcyODtpZigxMDA0PT09ZylyZXR1cm4gOTk4NDtpZigxMDA1PT09ZylyZXR1cm4gOTk4NjtpZigxMDA2PT09ZylyZXR1cm4gOTcyOTtpZigxMDA3PT09ZylyZXR1cm4gOTk4NTtpZigxMDA4PT09ZylyZXR1cm4gOTk4NztpZigxMDA5PT09ZylyZXR1cm4gNTEyMTtpZigxMDE3PT09ZylyZXR1cm4gMzI4MTk7aWYoMTAxOD09PWcpcmV0dXJuIDMyODIwO2lmKDEwMTk9PT1nKXJldHVybiAzMzYzNTtpZigxMDEwPT09ZylyZXR1cm4gNTEyMDtpZigxMDExPT09CmcpcmV0dXJuIDUxMjI7aWYoMTAxMj09PWcpcmV0dXJuIDUxMjM7aWYoMTAxMz09PWcpcmV0dXJuIDUxMjQ7aWYoMTAxND09PWcpcmV0dXJuIDUxMjU7aWYoMTAxNT09PWcpcmV0dXJuIDUxMjY7aWYoMTAxNj09PWcpe2lmKGUuaXNXZWJHTDIpcmV0dXJuIDUxMzE7dmFyIHQ9Yy5nZXQoIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKTtpZihudWxsIT09dClyZXR1cm4gdC5IQUxGX0ZMT0FUX09FU31pZigxMDIxPT09ZylyZXR1cm4gNjQwNjtpZigxMDIyPT09ZylyZXR1cm4gNjQwNztpZigxMDIzPT09ZylyZXR1cm4gNjQwODtpZigxMDI0PT09ZylyZXR1cm4gNjQwOTtpZigxMDI1PT09ZylyZXR1cm4gNjQxMDtpZigxMDI2PT09ZylyZXR1cm4gNjQwMjtpZigxMDI3PT09ZylyZXR1cm4gMzQwNDE7aWYoMTAyOD09PWcpcmV0dXJuIDY0MDM7aWYoMTAwPT09ZylyZXR1cm4gMzI3NzQ7aWYoMTAxPT09ZylyZXR1cm4gMzI3Nzg7aWYoMTAyPT09ZylyZXR1cm4gMzI3Nzk7aWYoMjAwPT09ZylyZXR1cm4gMDsKaWYoMjAxPT09ZylyZXR1cm4gMTtpZigyMDI9PT1nKXJldHVybiA3Njg7aWYoMjAzPT09ZylyZXR1cm4gNzY5O2lmKDIwND09PWcpcmV0dXJuIDc3MDtpZigyMDU9PT1nKXJldHVybiA3NzE7aWYoMjA2PT09ZylyZXR1cm4gNzcyO2lmKDIwNz09PWcpcmV0dXJuIDc3MztpZigyMDg9PT1nKXJldHVybiA3NzQ7aWYoMjA5PT09ZylyZXR1cm4gNzc1O2lmKDIxMD09PWcpcmV0dXJuIDc3NjtpZigzMzc3Nj09PWd8fDMzNzc3PT09Z3x8MzM3Nzg9PT1nfHwzMzc3OT09PWcpaWYodD1jLmdldCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiKSxudWxsIT09dCl7aWYoMzM3NzY9PT1nKXJldHVybiB0LkNPTVBSRVNTRURfUkdCX1MzVENfRFhUMV9FWFQ7aWYoMzM3Nzc9PT1nKXJldHVybiB0LkNPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDFfRVhUO2lmKDMzNzc4PT09ZylyZXR1cm4gdC5DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQzX0VYVDtpZigzMzc3OT09PWcpcmV0dXJuIHQuQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9FWFR9aWYoMzU4NDA9PT0KZ3x8MzU4NDE9PT1nfHwzNTg0Mj09PWd8fDM1ODQzPT09ZylpZih0PWMuZ2V0KCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfcHZydGMiKSxudWxsIT09dCl7aWYoMzU4NDA9PT1nKXJldHVybiB0LkNPTVBSRVNTRURfUkdCX1BWUlRDXzRCUFBWMV9JTUc7aWYoMzU4NDE9PT1nKXJldHVybiB0LkNPTVBSRVNTRURfUkdCX1BWUlRDXzJCUFBWMV9JTUc7aWYoMzU4NDI9PT1nKXJldHVybiB0LkNPTVBSRVNTRURfUkdCQV9QVlJUQ180QlBQVjFfSU1HO2lmKDM1ODQzPT09ZylyZXR1cm4gdC5DT01QUkVTU0VEX1JHQkFfUFZSVENfMkJQUFYxX0lNR31pZigzNjE5Nj09PWcmJih0PWMuZ2V0KCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfZXRjMSIpLG51bGwhPT10KSlyZXR1cm4gdC5DT01QUkVTU0VEX1JHQl9FVEMxX1dFQkdMO2lmKDM3ODA4PT09Z3x8Mzc4MDk9PT1nfHwzNzgxMD09PWd8fDM3ODExPT09Z3x8Mzc4MTI9PT1nfHwzNzgxMz09PWd8fDM3ODE0PT09Z3x8Mzc4MTU9PT1nfHwzNzgxNj09PQpnfHwzNzgxNz09PWd8fDM3ODE4PT09Z3x8Mzc4MTk9PT1nfHwzNzgyMD09PWd8fDM3ODIxPT09ZylpZih0PWMuZ2V0KCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfYXN0YyIpLG51bGwhPT10KXJldHVybiBnO2lmKDEwMz09PWd8fDEwND09PWcpe2lmKGUuaXNXZWJHTDIpe2lmKDEwMz09PWcpcmV0dXJuIDMyNzc1O2lmKDEwND09PWcpcmV0dXJuIDMyNzc2fXQ9Yy5nZXQoIkVYVF9ibGVuZF9taW5tYXgiKTtpZihudWxsIT09dCl7aWYoMTAzPT09ZylyZXR1cm4gdC5NSU5fRVhUO2lmKDEwND09PWcpcmV0dXJuIHQuTUFYX0VYVH19aWYoMTAyMD09PWcpe2lmKGUuaXNXZWJHTDIpcmV0dXJuIDM0MDQyO3Q9Yy5nZXQoIldFQkdMX2RlcHRoX3RleHR1cmUiKTtpZihudWxsIT09dClyZXR1cm4gdC5VTlNJR05FRF9JTlRfMjRfOF9XRUJHTH1yZXR1cm4gMH19fWZ1bmN0aW9uIHdlKCl7QS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iR3JvdXAifWZ1bmN0aW9uIHdmKGEpe3ZiLmNhbGwodGhpcyk7CnRoaXMuY2FtZXJhcz1hfHxbXX1mdW5jdGlvbiBHaihhLGMsZSl7SGouc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGMubWF0cml4V29ybGQpO0lqLnNldEZyb21NYXRyaXhQb3NpdGlvbihlLm1hdHJpeFdvcmxkKTt2YXIgZz1Iai5kaXN0YW5jZVRvKElqKSx0PWMucHJvamVjdGlvbk1hdHJpeC5lbGVtZW50cyx2PWUucHJvamVjdGlvbk1hdHJpeC5lbGVtZW50cyx6PXRbMTRdLyh0WzEwXS0xKTtlPXRbMTRdLyh0WzEwXSsxKTt2YXIgRT0odFs5XSsxKS90WzVdLEY9KHRbOV0tMSkvdFs1XSxJPSh0WzhdLTEpL3RbMF0sTT0odls4XSsxKS92WzBdO3Q9eipJO3Y9eipNO009Zy8oLUkrTSk7ST1NKi1JO2MubWF0cml4V29ybGQuZGVjb21wb3NlKGEucG9zaXRpb24sYS5xdWF0ZXJuaW9uLGEuc2NhbGUpO2EudHJhbnNsYXRlWChJKTthLnRyYW5zbGF0ZVooTSk7YS5tYXRyaXhXb3JsZC5jb21wb3NlKGEucG9zaXRpb24sYS5xdWF0ZXJuaW9uLGEuc2NhbGUpO2EubWF0cml4V29ybGRJbnZlcnNlLmdldEludmVyc2UoYS5tYXRyaXhXb3JsZCk7CmM9eitNO3o9ZStNO2EucHJvamVjdGlvbk1hdHJpeC5tYWtlUGVyc3BlY3RpdmUodC1JLHYrKGctSSksRSplL3oqYyxGKmUveipjLGMseil9ZnVuY3Rpb24gU2goYSl7ZnVuY3Rpb24gYygpe3JldHVybiBudWxsIT09SSYmITA9PT1JLmlzUHJlc2VudGluZ31mdW5jdGlvbiBlKCl7aWYoYygpKXt2YXIgSGE9SS5nZXRFeWVQYXJhbWV0ZXJzKCJsZWZ0Iik7ej0yKkhhLnJlbmRlcldpZHRoKmVhO0U9SGEucmVuZGVySGVpZ2h0KmVhO1RhPWEuZ2V0UGl4ZWxSYXRpbygpO2EuZ2V0U2l6ZShCYSk7YS5zZXREcmF3aW5nQnVmZmVyU2l6ZSh6LEUsMSk7dWEudmlld3BvcnQuc2V0KDAsMCx6LzIsRSk7bmEudmlld3BvcnQuc2V0KHovMiwwLHovMixFKTtDYS5zdGFydCgpO0YuZGlzcGF0Y2hFdmVudCh7dHlwZToic2Vzc2lvbnN0YXJ0In0pfWVsc2UgRi5lbmFibGVkJiZhLnNldERyYXdpbmdCdWZmZXJTaXplKEJhLndpZHRoLEJhLmhlaWdodCxUYSksQ2Euc3RvcCgpLEYuZGlzcGF0Y2hFdmVudCh7dHlwZToic2Vzc2lvbmVuZCJ9KX0KZnVuY3Rpb24gZyhIYSl7Zm9yKHZhciBEYT1uYXZpZ2F0b3IuZ2V0R2FtZXBhZHMmJm5hdmlnYXRvci5nZXRHYW1lcGFkcygpLE1hPTAsZGI9MCx0Yj1EYS5sZW5ndGg7TWE8dGI7TWErKyl7dmFyIEthPURhW01hXTtpZihLYSYmKCJEYXlkcmVhbSBDb250cm9sbGVyIj09PUthLmlkfHwiR2VhciBWUiBDb250cm9sbGVyIj09PUthLmlkfHwiT2N1bHVzIEdvIENvbnRyb2xsZXIiPT09S2EuaWR8fCJPcGVuVlIgR2FtZXBhZCI9PT1LYS5pZHx8S2EuaWQuc3RhcnRzV2l0aCgiT2N1bHVzIFRvdWNoIil8fEthLmlkLnN0YXJ0c1dpdGgoIkhUQyBWaXZlIEZvY3VzIil8fEthLmlkLnN0YXJ0c1dpdGgoIlNwYXRpYWwgQ29udHJvbGxlciIpKSl7aWYoZGI9PT1IYSlyZXR1cm4gS2E7ZGIrK319fWZ1bmN0aW9uIHQoKXtmb3IodmFyIEhhPTA7SGE8US5sZW5ndGg7SGErKyl7dmFyIERhPVFbSGFdLE1hPWcoSGEpO2lmKHZvaWQgMCE9PU1hJiZ2b2lkIDAhPT1NYS5wb3NlKXtpZihudWxsPT09TWEucG9zZSlicmVhazsKdmFyIGRiPU1hLnBvc2U7ITE9PT1kYi5oYXNQb3NpdGlvbiYmRGEucG9zaXRpb24uc2V0KC4yLC0uNiwtLjA1KTtudWxsIT09ZGIucG9zaXRpb24mJkRhLnBvc2l0aW9uLmZyb21BcnJheShkYi5wb3NpdGlvbik7bnVsbCE9PWRiLm9yaWVudGF0aW9uJiZEYS5xdWF0ZXJuaW9uLmZyb21BcnJheShkYi5vcmllbnRhdGlvbik7RGEubWF0cml4LmNvbXBvc2UoRGEucG9zaXRpb24sRGEucXVhdGVybmlvbixEYS5zY2FsZSk7RGEubWF0cml4LnByZW11bHRpcGx5KFUpO0RhLm1hdHJpeC5kZWNvbXBvc2UoRGEucG9zaXRpb24sRGEucXVhdGVybmlvbixEYS5zY2FsZSk7RGEubWF0cml4V29ybGROZWVkc1VwZGF0ZT0hMDtEYS52aXNpYmxlPSEwO2RiPSJEYXlkcmVhbSBDb250cm9sbGVyIj09PU1hLmlkPzA6MTt2b2lkIDA9PT1VYVtIYV0mJihVYVtIYV09ITEpO1VhW0hhXSE9PU1hLmJ1dHRvbnNbZGJdLnByZXNzZWQmJihVYVtIYV09TWEuYnV0dG9uc1tkYl0ucHJlc3NlZCwhMD09PVVhW0hhXT8KRGEuZGlzcGF0Y2hFdmVudCh7dHlwZToic2VsZWN0c3RhcnQifSk6KERhLmRpc3BhdGNoRXZlbnQoe3R5cGU6InNlbGVjdGVuZCJ9KSxEYS5kaXNwYXRjaEV2ZW50KHt0eXBlOiJzZWxlY3QifSkpKX1lbHNlIERhLnZpc2libGU9ITF9fWZ1bmN0aW9uIHYoSGEsRGEpe251bGwhPT1EYSYmND09PURhLmxlbmd0aCYmSGEuc2V0KERhWzBdKnosRGFbMV0qRSxEYVsyXSp6LERhWzNdKkUpfXZhciB6LEUsRj10aGlzLEk9bnVsbCxNPW51bGwsUD1udWxsLFE9W10sVT1uZXcgcSxWPW5ldyBxLGVhPTEsZGE9ImxvY2FsLWZsb29yIjsidW5kZWZpbmVkIiE9PXR5cGVvZiB3aW5kb3cmJiJWUkZyYW1lRGF0YSJpbiB3aW5kb3cmJihNPW5ldyB3aW5kb3cuVlJGcmFtZURhdGEsd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInZyZGlzcGxheXByZXNlbnRjaGFuZ2UiLGUsITEpKTt2YXIgcmE9bmV3IHEscGE9bmV3IGgscWE9bmV3IGssdWE9bmV3IHZiO3VhLnZpZXdwb3J0PW5ldyBwO3VhLmxheWVycy5lbmFibGUoMSk7CnZhciBuYT1uZXcgdmI7bmEudmlld3BvcnQ9bmV3IHA7bmEubGF5ZXJzLmVuYWJsZSgyKTt2YXIgdGE9bmV3IHdmKFt1YSxuYV0pO3RhLmxheWVycy5lbmFibGUoMSk7dGEubGF5ZXJzLmVuYWJsZSgyKTt2YXIgQmE9bmV3IGYsVGEsVWE9W107dGhpcy5lbmFibGVkPSExO3RoaXMuZ2V0Q29udHJvbGxlcj1mdW5jdGlvbihIYSl7dmFyIERhPVFbSGFdO3ZvaWQgMD09PURhJiYoRGE9bmV3IHdlLERhLm1hdHJpeEF1dG9VcGRhdGU9ITEsRGEudmlzaWJsZT0hMSxRW0hhXT1EYSk7cmV0dXJuIERhfTt0aGlzLmdldERldmljZT1mdW5jdGlvbigpe3JldHVybiBJfTt0aGlzLnNldERldmljZT1mdW5jdGlvbihIYSl7dm9pZCAwIT09SGEmJihJPUhhKTtDYS5zZXRDb250ZXh0KEhhKX07dGhpcy5zZXRGcmFtZWJ1ZmZlclNjYWxlRmFjdG9yPWZ1bmN0aW9uKEhhKXtlYT1IYX07dGhpcy5zZXRSZWZlcmVuY2VTcGFjZVR5cGU9ZnVuY3Rpb24oSGEpe2RhPUhhfTt0aGlzLnNldFBvc2VUYXJnZXQ9ZnVuY3Rpb24oSGEpe3ZvaWQgMCE9PQpIYSYmKFA9SGEpfTt0aGlzLmdldENhbWVyYT1mdW5jdGlvbihIYSl7dmFyIERhPSJsb2NhbC1mbG9vciI9PT1kYT8xLjY6MDtpZighMT09PWMoKSlyZXR1cm4gSGEucG9zaXRpb24uc2V0KDAsRGEsMCksSGEucm90YXRpb24uc2V0KDAsMCwwKSxIYTtJLmRlcHRoTmVhcj1IYS5uZWFyO0kuZGVwdGhGYXI9SGEuZmFyO0kuZ2V0RnJhbWVEYXRhKE0pO2lmKCJsb2NhbC1mbG9vciI9PT1kYSl7dmFyIE1hPUkuc3RhZ2VQYXJhbWV0ZXJzO01hP1UuZnJvbUFycmF5KE1hLnNpdHRpbmdUb1N0YW5kaW5nVHJhbnNmb3JtKTpVLm1ha2VUcmFuc2xhdGlvbigwLERhLDApfURhPU0ucG9zZTtNYT1udWxsIT09UD9QOkhhO01hLm1hdHJpeC5jb3B5KFUpO01hLm1hdHJpeC5kZWNvbXBvc2UoTWEucG9zaXRpb24sTWEucXVhdGVybmlvbixNYS5zY2FsZSk7bnVsbCE9PURhLm9yaWVudGF0aW9uJiYocGEuZnJvbUFycmF5KERhLm9yaWVudGF0aW9uKSxNYS5xdWF0ZXJuaW9uLm11bHRpcGx5KHBhKSk7bnVsbCE9PQpEYS5wb3NpdGlvbiYmKHBhLnNldEZyb21Sb3RhdGlvbk1hdHJpeChVKSxxYS5mcm9tQXJyYXkoRGEucG9zaXRpb24pLHFhLmFwcGx5UXVhdGVybmlvbihwYSksTWEucG9zaXRpb24uYWRkKHFhKSk7TWEudXBkYXRlTWF0cml4V29ybGQoKTt1YS5uZWFyPUhhLm5lYXI7bmEubmVhcj1IYS5uZWFyO3VhLmZhcj1IYS5mYXI7bmEuZmFyPUhhLmZhcjt1YS5tYXRyaXhXb3JsZEludmVyc2UuZnJvbUFycmF5KE0ubGVmdFZpZXdNYXRyaXgpO25hLm1hdHJpeFdvcmxkSW52ZXJzZS5mcm9tQXJyYXkoTS5yaWdodFZpZXdNYXRyaXgpO1YuZ2V0SW52ZXJzZShVKTsibG9jYWwtZmxvb3IiPT09ZGEmJih1YS5tYXRyaXhXb3JsZEludmVyc2UubXVsdGlwbHkoViksbmEubWF0cml4V29ybGRJbnZlcnNlLm11bHRpcGx5KFYpKTtIYT1NYS5wYXJlbnQ7bnVsbCE9PUhhJiYocmEuZ2V0SW52ZXJzZShIYS5tYXRyaXhXb3JsZCksdWEubWF0cml4V29ybGRJbnZlcnNlLm11bHRpcGx5KHJhKSxuYS5tYXRyaXhXb3JsZEludmVyc2UubXVsdGlwbHkocmEpKTsKdWEubWF0cml4V29ybGQuZ2V0SW52ZXJzZSh1YS5tYXRyaXhXb3JsZEludmVyc2UpO25hLm1hdHJpeFdvcmxkLmdldEludmVyc2UobmEubWF0cml4V29ybGRJbnZlcnNlKTt1YS5wcm9qZWN0aW9uTWF0cml4LmZyb21BcnJheShNLmxlZnRQcm9qZWN0aW9uTWF0cml4KTtuYS5wcm9qZWN0aW9uTWF0cml4LmZyb21BcnJheShNLnJpZ2h0UHJvamVjdGlvbk1hdHJpeCk7R2oodGEsdWEsbmEpO0hhPUkuZ2V0TGF5ZXJzKCk7SGEubGVuZ3RoJiYoSGE9SGFbMF0sdih1YS52aWV3cG9ydCxIYS5sZWZ0Qm91bmRzKSx2KG5hLnZpZXdwb3J0LEhhLnJpZ2h0Qm91bmRzKSk7dCgpO3JldHVybiB0YX07dGhpcy5nZXRTdGFuZGluZ01hdHJpeD1mdW5jdGlvbigpe3JldHVybiBVfTt0aGlzLmlzUHJlc2VudGluZz1jO3ZhciBDYT1uZXcgZWM7dGhpcy5zZXRBbmltYXRpb25Mb29wPWZ1bmN0aW9uKEhhKXtDYS5zZXRBbmltYXRpb25Mb29wKEhhKTtjKCkmJkNhLnN0YXJ0KCl9O3RoaXMuc3VibWl0RnJhbWU9CmZ1bmN0aW9uKCl7YygpJiZJLnN1Ym1pdEZyYW1lKCl9O3RoaXMuZGlzcG9zZT1mdW5jdGlvbigpeyJ1bmRlZmluZWQiIT09dHlwZW9mIHdpbmRvdyYmd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZyZGlzcGxheXByZXNlbnRjaGFuZ2UiLGUpfTt0aGlzLnNldEZyYW1lT2ZSZWZlcmVuY2VUeXBlPWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJWUk1hbmFnZXI6IHNldEZyYW1lT2ZSZWZlcmVuY2VUeXBlKCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4iKX19ZnVuY3Rpb24gSmooYSxjKXtmdW5jdGlvbiBlKCl7cmV0dXJuIG51bGwhPT1GJiZudWxsIT09SX1mdW5jdGlvbiBnKHFhKXtmb3IodmFyIHVhPTA7dWE8US5sZW5ndGg7dWErKylVW3VhXT09PXFhLmlucHV0U291cmNlJiZRW3VhXS5kaXNwYXRjaEV2ZW50KHt0eXBlOnFhLnR5cGV9KX1mdW5jdGlvbiB0KCl7YS5zZXRGcmFtZWJ1ZmZlcihudWxsKTthLnNldFJlbmRlclRhcmdldChhLmdldFJlbmRlclRhcmdldCgpKTsKcGEuc3RvcCgpO0UuZGlzcGF0Y2hFdmVudCh7dHlwZToic2Vzc2lvbmVuZCJ9KX1mdW5jdGlvbiB2KHFhKXtJPXFhO3BhLnNldENvbnRleHQoRik7cGEuc3RhcnQoKTtFLmRpc3BhdGNoRXZlbnQoe3R5cGU6InNlc3Npb25zdGFydCJ9KX1mdW5jdGlvbiB6KHFhLHVhKXtudWxsPT09dWE/cWEubWF0cml4V29ybGQuY29weShxYS5tYXRyaXgpOnFhLm1hdHJpeFdvcmxkLm11bHRpcGx5TWF0cmljZXModWEubWF0cml4V29ybGQscWEubWF0cml4KTtxYS5tYXRyaXhXb3JsZEludmVyc2UuZ2V0SW52ZXJzZShxYS5tYXRyaXhXb3JsZCl9dmFyIEU9dGhpcyxGPW51bGwsST1udWxsLE09ImxvY2FsLWZsb29yIixQPW51bGwsUT1bXSxVPVtdLFY9bmV3IHZiO1YubGF5ZXJzLmVuYWJsZSgxKTtWLnZpZXdwb3J0PW5ldyBwO3ZhciBlYT1uZXcgdmI7ZWEubGF5ZXJzLmVuYWJsZSgyKTtlYS52aWV3cG9ydD1uZXcgcDt2YXIgZGE9bmV3IHdmKFtWLGVhXSk7ZGEubGF5ZXJzLmVuYWJsZSgxKTtkYS5sYXllcnMuZW5hYmxlKDIpOwp0aGlzLmVuYWJsZWQ9ITE7dGhpcy5nZXRDb250cm9sbGVyPWZ1bmN0aW9uKHFhKXt2YXIgdWE9UVtxYV07dm9pZCAwPT09dWEmJih1YT1uZXcgd2UsdWEubWF0cml4QXV0b1VwZGF0ZT0hMSx1YS52aXNpYmxlPSExLFFbcWFdPXVhKTtyZXR1cm4gdWF9O3RoaXMuc2V0RnJhbWVidWZmZXJTY2FsZUZhY3Rvcj1mdW5jdGlvbigpe307dGhpcy5zZXRSZWZlcmVuY2VTcGFjZVR5cGU9ZnVuY3Rpb24ocWEpe009cWF9O3RoaXMuZ2V0U2Vzc2lvbj1mdW5jdGlvbigpe3JldHVybiBGfTt0aGlzLnNldFNlc3Npb249ZnVuY3Rpb24ocWEpe0Y9cWE7bnVsbCE9PUYmJihGLmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdCIsZyksRi5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RzdGFydCIsZyksRi5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RlbmQiLGcpLEYuYWRkRXZlbnRMaXN0ZW5lcigiZW5kIix0KSxGLnVwZGF0ZVJlbmRlclN0YXRlKHtiYXNlTGF5ZXI6bmV3IFhSV2ViR0xMYXllcihGLGMpfSksRi5yZXF1ZXN0UmVmZXJlbmNlU3BhY2UoTSkudGhlbih2KSwKVT1GLmlucHV0U291cmNlcyxGLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0c291cmNlc2NoYW5nZSIsZnVuY3Rpb24oKXtVPUYuaW5wdXRTb3VyY2VzO2NvbnNvbGUubG9nKFUpO2Zvcih2YXIgdWE9MDt1YTxRLmxlbmd0aDt1YSsrKVFbdWFdLnVzZXJEYXRhLmlucHV0U291cmNlPVVbdWFdfSkpfTt0aGlzLmdldENhbWVyYT1mdW5jdGlvbihxYSl7aWYoZSgpKXt2YXIgdWE9cWEucGFyZW50LG5hPWRhLmNhbWVyYXM7eihkYSx1YSk7Zm9yKHZhciB0YT0wO3RhPG5hLmxlbmd0aDt0YSsrKXoobmFbdGFdLHVhKTtxYS5tYXRyaXhXb3JsZC5jb3B5KGRhLm1hdHJpeFdvcmxkKTtxYT1xYS5jaGlsZHJlbjt0YT0wO2Zvcih1YT1xYS5sZW5ndGg7dGE8dWE7dGErKylxYVt0YV0udXBkYXRlTWF0cml4V29ybGQoITApO0dqKGRhLFYsZWEpO3JldHVybiBkYX1yZXR1cm4gcWF9O3RoaXMuaXNQcmVzZW50aW5nPWU7dmFyIHJhPW51bGwscGE9bmV3IGVjO3BhLnNldEFuaW1hdGlvbkxvb3AoZnVuY3Rpb24ocWEsCnVhKXtQPXVhLmdldFZpZXdlclBvc2UoSSk7aWYobnVsbCE9PVApe3ZhciBuYT1QLnZpZXdzLHRhPUYucmVuZGVyU3RhdGUuYmFzZUxheWVyO2Euc2V0RnJhbWVidWZmZXIodGEuZnJhbWVidWZmZXIpO2Zvcih2YXIgQmE9MDtCYTxuYS5sZW5ndGg7QmErKyl7dmFyIFRhPW5hW0JhXSxVYT10YS5nZXRWaWV3cG9ydChUYSksQ2E9ZGEuY2FtZXJhc1tCYV07Q2EubWF0cml4LmZyb21BcnJheShUYS50cmFuc2Zvcm0uaW52ZXJzZS5tYXRyaXgpLmdldEludmVyc2UoQ2EubWF0cml4KTtDYS5wcm9qZWN0aW9uTWF0cml4LmZyb21BcnJheShUYS5wcm9qZWN0aW9uTWF0cml4KTtDYS52aWV3cG9ydC5zZXQoVWEueCxVYS55LFVhLndpZHRoLFVhLmhlaWdodCk7MD09PUJhJiZkYS5tYXRyaXguY29weShDYS5tYXRyaXgpfX1mb3IoQmE9MDtCYTxRLmxlbmd0aDtCYSsrKXtuYT1RW0JhXTtpZih0YT1VW0JhXSlpZih0YT11YS5nZXRQb3NlKHRhLnRhcmdldFJheVNwYWNlLEkpLG51bGwhPT10YSl7bmEubWF0cml4LmZyb21BcnJheSh0YS50cmFuc2Zvcm0ubWF0cml4KTsKbmEubWF0cml4LmRlY29tcG9zZShuYS5wb3NpdGlvbixuYS5yb3RhdGlvbixuYS5zY2FsZSk7bmEudmlzaWJsZT0hMDtjb250aW51ZX1uYS52aXNpYmxlPSExfXJhJiZyYShxYSl9KTt0aGlzLnNldEFuaW1hdGlvbkxvb3A9ZnVuY3Rpb24ocWEpe3JhPXFhfTt0aGlzLmRpc3Bvc2U9ZnVuY3Rpb24oKXt9O3RoaXMuZ2V0U3RhbmRpbmdNYXRyaXg9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYlhSTWFuYWdlcjogZ2V0U3RhbmRpbmdNYXRyaXgoKSBpcyBubyBsb25nZXIgbmVlZGVkLiIpO3JldHVybiBuZXcgcX07dGhpcy5nZXREZXZpY2U9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYlhSTWFuYWdlcjogZ2V0RGV2aWNlKCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4iKX07dGhpcy5zZXREZXZpY2U9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYlhSTWFuYWdlcjogc2V0RGV2aWNlKCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4iKX07dGhpcy5zZXRGcmFtZU9mUmVmZXJlbmNlVHlwZT0KZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYlhSTWFuYWdlcjogc2V0RnJhbWVPZlJlZmVyZW5jZVR5cGUoKSBoYXMgYmVlbiBkZXByZWNhdGVkLiIpfTt0aGlzLnN1Ym1pdEZyYW1lPWZ1bmN0aW9uKCl7fX1mdW5jdGlvbiBUaChhKXt2YXIgYztmdW5jdGlvbiBlKCl7cmV0dXJuIG51bGw9PT1pYj9mYzoxfWZ1bmN0aW9uIGcoKXtNYj1uZXcgZGQoUmEpO2djPW5ldyBOYihSYSxNYixhKTtnYy5pc1dlYkdMMnx8KE1iLmdldCgiV0VCR0xfZGVwdGhfdGV4dHVyZSIpLE1iLmdldCgiT0VTX3RleHR1cmVfZmxvYXQiKSxNYi5nZXQoIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKSxNYi5nZXQoIk9FU190ZXh0dXJlX2hhbGZfZmxvYXRfbGluZWFyIiksTWIuZ2V0KCJPRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMiKSxNYi5nZXQoIk9FU19lbGVtZW50X2luZGV4X3VpbnQiKSxNYi5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSk7TWIuZ2V0KCJPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIiKTsKUGM9bmV3IEZqKFJhLE1iLGdjKTt5Yj1uZXcgcG0oUmEsTWIsUGMsZ2MpO3liLnNjaXNzb3IoVGIuY29weSh4ZSkubXVsdGlwbHlTY2FsYXIoZmMpLmZsb29yKCkpO3liLnZpZXdwb3J0KExiLmNvcHkoeWUpLm11bHRpcGx5U2NhbGFyKGZjKS5mbG9vcigpKTt6ZD1uZXcgbWwoUmEpO2hjPW5ldyBnbTtRYz1uZXcgcW0oUmEsTWIseWIsaGMsZ2MsUGMsemQpO3lnPW5ldyBRZChSYSk7VWg9bmV3IHZkKFJhLHlnLHpkKTt6ZT1uZXcgcGwoVWgsemQpO0tqPW5ldyBvbChSYSk7UmQ9bmV3IGZtKGlhLE1iLGdjKTt6Zz1uZXcgam07QWU9bmV3IG9tO0FkPW5ldyB1ZChpYSx5Yix6ZSxtYSk7TGo9bmV3IHNhKFJhLE1iLHpkLGdjKTtNaj1uZXcgd2coUmEsTWIsemQsZ2MpO3pkLnByb2dyYW1zPVJkLnByb2dyYW1zO2lhLmNhcGFiaWxpdGllcz1nYztpYS5leHRlbnNpb25zPU1iO2lhLnByb3BlcnRpZXM9aGM7aWEucmVuZGVyTGlzdHM9emc7aWEuc3RhdGU9eWI7aWEuaW5mbz16ZH1mdW5jdGlvbiB0KFQpe1QucHJldmVudERlZmF1bHQoKTsKY29uc29sZS5sb2coIlRIUkVFLldlYkdMUmVuZGVyZXI6IENvbnRleHQgTG9zdC4iKTtHYT0hMH1mdW5jdGlvbiB2KCl7Y29uc29sZS5sb2coIlRIUkVFLldlYkdMUmVuZGVyZXI6IENvbnRleHQgUmVzdG9yZWQuIik7R2E9ITE7ZygpfWZ1bmN0aW9uIHooVCl7VD1ULnRhcmdldDtULnJlbW92ZUV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLHopO0UoVCl9ZnVuY3Rpb24gRShUKXtGKFQpO2hjLnJlbW92ZShUKX1mdW5jdGlvbiBGKFQpe3ZhciBZPWhjLmdldChUKS5wcm9ncmFtO1QucHJvZ3JhbT12b2lkIDA7dm9pZCAwIT09WSYmUmQucmVsZWFzZVByb2dyYW0oWSl9ZnVuY3Rpb24gSShULFkpe1QucmVuZGVyKGZ1bmN0aW9uKGxhKXtpYS5yZW5kZXJCdWZmZXJJbW1lZGlhdGUobGEsWSl9KX1mdW5jdGlvbiBNKFQsWSxsYSl7aWYobGEmJmxhLmlzSW5zdGFuY2VkQnVmZmVyR2VvbWV0cnkmJiFnYy5pc1dlYkdMMiYmbnVsbD09PU1iLmdldCgiQU5HTEVfaW5zdGFuY2VkX2FycmF5cyIpKWNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUmVuZGVyZXIuc2V0dXBWZXJ0ZXhBdHRyaWJ1dGVzOiB1c2luZyBUSFJFRS5JbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSBidXQgaGFyZHdhcmUgZG9lcyBub3Qgc3VwcG9ydCBleHRlbnNpb24gQU5HTEVfaW5zdGFuY2VkX2FycmF5cy4iKTsKZWxzZXt5Yi5pbml0QXR0cmlidXRlcygpO3ZhciBJYT1sYS5hdHRyaWJ1dGVzO1k9WS5nZXRBdHRyaWJ1dGVzKCk7VD1ULmRlZmF1bHRBdHRyaWJ1dGVWYWx1ZXM7Zm9yKHZhciBPYSBpbiBZKXt2YXIgYWI9WVtPYV07aWYoMDw9YWIpe3ZhciBQYT1JYVtPYV07aWYodm9pZCAwIT09UGEpe3ZhciBmYj1QYS5ub3JtYWxpemVkLENiPVBhLml0ZW1TaXplLG9iPXlnLmdldChQYSk7aWYodm9pZCAwIT09b2Ipe3ZhciAkYT1vYi5idWZmZXIsUmM9b2IudHlwZTtvYj1vYi5ieXRlc1BlckVsZW1lbnQ7aWYoUGEuaXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZSl7dmFyIHpjPVBhLmRhdGEsQmU9emMuc3RyaWRlO1BhPVBhLm9mZnNldDt6YyYmemMuaXNJbnN0YW5jZWRJbnRlcmxlYXZlZEJ1ZmZlcj8oeWIuZW5hYmxlQXR0cmlidXRlQW5kRGl2aXNvcihhYix6Yy5tZXNoUGVyQXR0cmlidXRlKSx2b2lkIDA9PT1sYS5tYXhJbnN0YW5jZWRDb3VudCYmKGxhLm1heEluc3RhbmNlZENvdW50PXpjLm1lc2hQZXJBdHRyaWJ1dGUqCnpjLmNvdW50KSk6eWIuZW5hYmxlQXR0cmlidXRlKGFiKTtSYS5iaW5kQnVmZmVyKDM0OTYyLCRhKTtSYS52ZXJ0ZXhBdHRyaWJQb2ludGVyKGFiLENiLFJjLGZiLEJlKm9iLFBhKm9iKX1lbHNlIFBhLmlzSW5zdGFuY2VkQnVmZmVyQXR0cmlidXRlPyh5Yi5lbmFibGVBdHRyaWJ1dGVBbmREaXZpc29yKGFiLFBhLm1lc2hQZXJBdHRyaWJ1dGUpLHZvaWQgMD09PWxhLm1heEluc3RhbmNlZENvdW50JiYobGEubWF4SW5zdGFuY2VkQ291bnQ9UGEubWVzaFBlckF0dHJpYnV0ZSpQYS5jb3VudCkpOnliLmVuYWJsZUF0dHJpYnV0ZShhYiksUmEuYmluZEJ1ZmZlcigzNDk2MiwkYSksUmEudmVydGV4QXR0cmliUG9pbnRlcihhYixDYixSYyxmYiwwLDApfX1lbHNlIGlmKHZvaWQgMCE9PVQmJihmYj1UW09hXSx2b2lkIDAhPT1mYikpc3dpdGNoKGZiLmxlbmd0aCl7Y2FzZSAyOlJhLnZlcnRleEF0dHJpYjJmdihhYixmYik7YnJlYWs7Y2FzZSAzOlJhLnZlcnRleEF0dHJpYjNmdihhYixmYik7YnJlYWs7CmNhc2UgNDpSYS52ZXJ0ZXhBdHRyaWI0ZnYoYWIsZmIpO2JyZWFrO2RlZmF1bHQ6UmEudmVydGV4QXR0cmliMWZ2KGFiLGZiKX19fXliLmRpc2FibGVVbnVzZWRBdHRyaWJ1dGVzKCl9fWZ1bmN0aW9uIFAoVCxZLGxhLElhKXtpZighMSE9PVQudmlzaWJsZSl7aWYoVC5sYXllcnMudGVzdChZLmxheWVycykpaWYoVC5pc0dyb3VwKWxhPVQucmVuZGVyT3JkZXI7ZWxzZSBpZihULmlzTE9EKSEwPT09VC5hdXRvVXBkYXRlJiZULnVwZGF0ZShZKTtlbHNlIGlmKFQuaXNMaWdodCljYi5wdXNoTGlnaHQoVCksVC5jYXN0U2hhZG93JiZjYi5wdXNoU2hhZG93KFQpO2Vsc2UgaWYoVC5pc1Nwcml0ZSl7aWYoIVQuZnJ1c3R1bUN1bGxlZHx8VmguaW50ZXJzZWN0c1Nwcml0ZShUKSl7SWEmJkJkLnNldEZyb21NYXRyaXhQb3NpdGlvbihULm1hdHJpeFdvcmxkKS5hcHBseU1hdHJpeDQoeGYpO3ZhciBPYT16ZS51cGRhdGUoVCksYWI9VC5tYXRlcmlhbDthYi52aXNpYmxlJiZOYS5wdXNoKFQsT2EsYWIsCmxhLEJkLnosbnVsbCl9fWVsc2UgaWYoVC5pc0ltbWVkaWF0ZVJlbmRlck9iamVjdClJYSYmQmQuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKFQubWF0cml4V29ybGQpLmFwcGx5TWF0cml4NCh4ZiksTmEucHVzaChULG51bGwsVC5tYXRlcmlhbCxsYSxCZC56LG51bGwpO2Vsc2UgaWYoVC5pc01lc2h8fFQuaXNMaW5lfHxULmlzUG9pbnRzKWlmKFQuaXNTa2lubmVkTWVzaCYmVC5za2VsZXRvbi51cGRhdGUoKSwhVC5mcnVzdHVtQ3VsbGVkfHxWaC5pbnRlcnNlY3RzT2JqZWN0KFQpKWlmKElhJiZCZC5zZXRGcm9tTWF0cml4UG9zaXRpb24oVC5tYXRyaXhXb3JsZCkuYXBwbHlNYXRyaXg0KHhmKSxPYT16ZS51cGRhdGUoVCksYWI9VC5tYXRlcmlhbCxBcnJheS5pc0FycmF5KGFiKSlmb3IodmFyIFBhPU9hLmdyb3VwcyxmYj0wLENiPVBhLmxlbmd0aDtmYjxDYjtmYisrKXt2YXIgb2I9UGFbZmJdLCRhPWFiW29iLm1hdGVyaWFsSW5kZXhdOyRhJiYkYS52aXNpYmxlJiZOYS5wdXNoKFQsT2EsJGEsCmxhLEJkLnosb2IpfWVsc2UgYWIudmlzaWJsZSYmTmEucHVzaChULE9hLGFiLGxhLEJkLnosbnVsbCk7VD1ULmNoaWxkcmVuO2ZiPTA7Zm9yKENiPVQubGVuZ3RoO2ZiPENiO2ZiKyspUChUW2ZiXSxZLGxhLElhKX19ZnVuY3Rpb24gUShULFksbGEsSWEpe2Zvcih2YXIgT2E9MCxhYj1ULmxlbmd0aDtPYTxhYjtPYSsrKXt2YXIgUGE9VFtPYV0sZmI9UGEub2JqZWN0LENiPVBhLmdlb21ldHJ5LG9iPXZvaWQgMD09PUlhP1BhLm1hdGVyaWFsOklhO1BhPVBhLmdyb3VwO2lmKGxhLmlzQXJyYXlDYW1lcmEpe3NiPWxhO2Zvcih2YXIgJGE9bGEuY2FtZXJhcyxSYz0wLHpjPSRhLmxlbmd0aDtSYzx6YztSYysrKXt2YXIgQmU9JGFbUmNdO2ZiLmxheWVycy50ZXN0KEJlLmxheWVycykmJih5Yi52aWV3cG9ydChMYi5jb3B5KEJlLnZpZXdwb3J0KSksY2Iuc2V0dXBMaWdodHMoQmUpLFUoZmIsWSxCZSxDYixvYixQYSkpfX1lbHNlIHNiPW51bGwsVShmYixZLGxhLENiLG9iLFBhKX19ZnVuY3Rpb24gVShULApZLGxhLElhLE9hLGFiKXtULm9uQmVmb3JlUmVuZGVyKGlhLFksbGEsSWEsT2EsYWIpO2NiPUFlLmdldChZLHNifHxsYSk7VC5tb2RlbFZpZXdNYXRyaXgubXVsdGlwbHlNYXRyaWNlcyhsYS5tYXRyaXhXb3JsZEludmVyc2UsVC5tYXRyaXhXb3JsZCk7VC5ub3JtYWxNYXRyaXguZ2V0Tm9ybWFsTWF0cml4KFQubW9kZWxWaWV3TWF0cml4KTtULmlzSW1tZWRpYXRlUmVuZGVyT2JqZWN0Pyh5Yi5zZXRNYXRlcmlhbChPYSksSWE9ZWEobGEsWS5mb2csT2EsVCksZWI9Yz1udWxsLG1iPSExLEkoVCxJYSkpOmlhLnJlbmRlckJ1ZmZlckRpcmVjdChsYSxZLmZvZyxJYSxPYSxULGFiKTtjYj1BZS5nZXQoWSxzYnx8bGEpfWZ1bmN0aW9uIFYoVCxZLGxhKXt2YXIgSWE9aGMuZ2V0KFQpLE9hPWNiLnN0YXRlLmxpZ2h0cyxhYj1PYS5zdGF0ZS52ZXJzaW9uO2xhPVJkLmdldFBhcmFtZXRlcnMoVCxPYS5zdGF0ZSxjYi5zdGF0ZS5zaGFkb3dzQXJyYXksWSxBYy5udW1QbGFuZXMsQWMubnVtSW50ZXJzZWN0aW9uLApsYSk7dmFyIFBhPVJkLmdldFByb2dyYW1Db2RlKFQsbGEpLGZiPUlhLnByb2dyYW0sQ2I9ITA7aWYodm9pZCAwPT09ZmIpVC5hZGRFdmVudExpc3RlbmVyKCJkaXNwb3NlIix6KTtlbHNlIGlmKGZiLmNvZGUhPT1QYSlGKFQpO2Vsc2V7aWYoSWEubGlnaHRzU3RhdGVWZXJzaW9uIT09YWIpSWEubGlnaHRzU3RhdGVWZXJzaW9uPWFiO2Vsc2UgaWYodm9pZCAwIT09bGEuc2hhZGVySUQpcmV0dXJuO0NiPSExfUNiJiYobGEuc2hhZGVySUQ/KFBhPU9jW2xhLnNoYWRlcklEXSxJYS5zaGFkZXI9e25hbWU6VC50eXBlLHVuaWZvcm1zOnViKFBhLnVuaWZvcm1zKSx2ZXJ0ZXhTaGFkZXI6UGEudmVydGV4U2hhZGVyLGZyYWdtZW50U2hhZGVyOlBhLmZyYWdtZW50U2hhZGVyfSk6SWEuc2hhZGVyPXtuYW1lOlQudHlwZSx1bmlmb3JtczpULnVuaWZvcm1zLHZlcnRleFNoYWRlcjpULnZlcnRleFNoYWRlcixmcmFnbWVudFNoYWRlcjpULmZyYWdtZW50U2hhZGVyfSxQYT1SZC5nZXRQcm9ncmFtQ29kZShULApsYSksZmI9UmQuYWNxdWlyZVByb2dyYW0oVCxJYS5zaGFkZXIsbGEsUGEpLElhLnByb2dyYW09ZmIsVC5wcm9ncmFtPWZiKTtsYT1mYi5nZXRBdHRyaWJ1dGVzKCk7aWYoVC5tb3JwaFRhcmdldHMpZm9yKFBhPVQubnVtU3VwcG9ydGVkTW9ycGhUYXJnZXRzPTA7UGE8aWEubWF4TW9ycGhUYXJnZXRzO1BhKyspMDw9bGFbIm1vcnBoVGFyZ2V0IitQYV0mJlQubnVtU3VwcG9ydGVkTW9ycGhUYXJnZXRzKys7aWYoVC5tb3JwaE5vcm1hbHMpZm9yKFBhPVQubnVtU3VwcG9ydGVkTW9ycGhOb3JtYWxzPTA7UGE8aWEubWF4TW9ycGhOb3JtYWxzO1BhKyspMDw9bGFbIm1vcnBoTm9ybWFsIitQYV0mJlQubnVtU3VwcG9ydGVkTW9ycGhOb3JtYWxzKys7bGE9SWEuc2hhZGVyLnVuaWZvcm1zO2lmKCFULmlzU2hhZGVyTWF0ZXJpYWwmJiFULmlzUmF3U2hhZGVyTWF0ZXJpYWx8fCEwPT09VC5jbGlwcGluZylJYS5udW1DbGlwcGluZ1BsYW5lcz1BYy5udW1QbGFuZXMsSWEubnVtSW50ZXJzZWN0aW9uPQpBYy5udW1JbnRlcnNlY3Rpb24sbGEuY2xpcHBpbmdQbGFuZXM9QWMudW5pZm9ybTtJYS5mb2c9WTtJYS5saWdodHNTdGF0ZVZlcnNpb249YWI7VC5saWdodHMmJihsYS5hbWJpZW50TGlnaHRDb2xvci52YWx1ZT1PYS5zdGF0ZS5hbWJpZW50LGxhLmxpZ2h0UHJvYmUudmFsdWU9T2Euc3RhdGUucHJvYmUsbGEuZGlyZWN0aW9uYWxMaWdodHMudmFsdWU9T2Euc3RhdGUuZGlyZWN0aW9uYWwsbGEuc3BvdExpZ2h0cy52YWx1ZT1PYS5zdGF0ZS5zcG90LGxhLnJlY3RBcmVhTGlnaHRzLnZhbHVlPU9hLnN0YXRlLnJlY3RBcmVhLGxhLnBvaW50TGlnaHRzLnZhbHVlPU9hLnN0YXRlLnBvaW50LGxhLmhlbWlzcGhlcmVMaWdodHMudmFsdWU9T2Euc3RhdGUuaGVtaSxsYS5kaXJlY3Rpb25hbFNoYWRvd01hcC52YWx1ZT1PYS5zdGF0ZS5kaXJlY3Rpb25hbFNoYWRvd01hcCxsYS5kaXJlY3Rpb25hbFNoYWRvd01hdHJpeC52YWx1ZT1PYS5zdGF0ZS5kaXJlY3Rpb25hbFNoYWRvd01hdHJpeCxsYS5zcG90U2hhZG93TWFwLnZhbHVlPQpPYS5zdGF0ZS5zcG90U2hhZG93TWFwLGxhLnNwb3RTaGFkb3dNYXRyaXgudmFsdWU9T2Euc3RhdGUuc3BvdFNoYWRvd01hdHJpeCxsYS5wb2ludFNoYWRvd01hcC52YWx1ZT1PYS5zdGF0ZS5wb2ludFNoYWRvd01hcCxsYS5wb2ludFNoYWRvd01hdHJpeC52YWx1ZT1PYS5zdGF0ZS5wb2ludFNoYWRvd01hdHJpeCk7VD1JYS5wcm9ncmFtLmdldFVuaWZvcm1zKCk7VD13ZC5zZXFXaXRoVmFsdWUoVC5zZXEsbGEpO0lhLnVuaWZvcm1zTGlzdD1UfWZ1bmN0aW9uIGVhKFQsWSxsYSxJYSl7UWMucmVzZXRUZXh0dXJlVW5pdHMoKTt2YXIgT2E9aGMuZ2V0KGxhKSxhYj1jYi5zdGF0ZS5saWdodHM7QWcmJihXaHx8VCE9PXBiKSYmQWMuc2V0U3RhdGUobGEuY2xpcHBpbmdQbGFuZXMsbGEuY2xpcEludGVyc2VjdGlvbixsYS5jbGlwU2hhZG93cyxULE9hLFQ9PT1wYiYmbGEuaWQ9PT1RYSk7ITE9PT1sYS5uZWVkc1VwZGF0ZSYmKHZvaWQgMD09PU9hLnByb2dyYW0/bGEubmVlZHNVcGRhdGU9ITA6CmxhLmZvZyYmT2EuZm9nIT09WT9sYS5uZWVkc1VwZGF0ZT0hMDpsYS5saWdodHMmJk9hLmxpZ2h0c1N0YXRlVmVyc2lvbiE9PWFiLnN0YXRlLnZlcnNpb24/bGEubmVlZHNVcGRhdGU9ITA6dm9pZCAwPT09T2EubnVtQ2xpcHBpbmdQbGFuZXN8fE9hLm51bUNsaXBwaW5nUGxhbmVzPT09QWMubnVtUGxhbmVzJiZPYS5udW1JbnRlcnNlY3Rpb249PT1BYy5udW1JbnRlcnNlY3Rpb258fChsYS5uZWVkc1VwZGF0ZT0hMCkpO2xhLm5lZWRzVXBkYXRlJiYoVihsYSxZLElhKSxsYS5uZWVkc1VwZGF0ZT0hMSk7dmFyIFBhPSExLGZiPWFiPSExLENiPU9hLnByb2dyYW0sb2I9Q2IuZ2V0VW5pZm9ybXMoKSwkYT1PYS5zaGFkZXIudW5pZm9ybXM7eWIudXNlUHJvZ3JhbShDYi5wcm9ncmFtKSYmKGZiPWFiPVBhPSEwKTtsYS5pZCE9PVFhJiYoUWE9bGEuaWQsYWI9ITApO2lmKFBhfHxwYiE9PVQpe29iLnNldFZhbHVlKFJhLCJwcm9qZWN0aW9uTWF0cml4IixULnByb2plY3Rpb25NYXRyaXgpO2djLmxvZ2FyaXRobWljRGVwdGhCdWZmZXImJgpvYi5zZXRWYWx1ZShSYSwibG9nRGVwdGhCdWZGQyIsMi8oTWF0aC5sb2coVC5mYXIrMSkvTWF0aC5MTjIpKTtwYiE9PVQmJihwYj1ULGZiPWFiPSEwKTtpZihsYS5pc1NoYWRlck1hdGVyaWFsfHxsYS5pc01lc2hQaG9uZ01hdGVyaWFsfHxsYS5pc01lc2hTdGFuZGFyZE1hdGVyaWFsfHxsYS5lbnZNYXApUGE9b2IubWFwLmNhbWVyYVBvc2l0aW9uLHZvaWQgMCE9PVBhJiZQYS5zZXRWYWx1ZShSYSxCZC5zZXRGcm9tTWF0cml4UG9zaXRpb24oVC5tYXRyaXhXb3JsZCkpOyhsYS5pc01lc2hQaG9uZ01hdGVyaWFsfHxsYS5pc01lc2hMYW1iZXJ0TWF0ZXJpYWx8fGxhLmlzTWVzaEJhc2ljTWF0ZXJpYWx8fGxhLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWx8fGxhLmlzU2hhZGVyTWF0ZXJpYWx8fGxhLnNraW5uaW5nKSYmb2Iuc2V0VmFsdWUoUmEsInZpZXdNYXRyaXgiLFQubWF0cml4V29ybGRJbnZlcnNlKX1pZihsYS5za2lubmluZyYmKG9iLnNldE9wdGlvbmFsKFJhLElhLCJiaW5kTWF0cml4IiksCm9iLnNldE9wdGlvbmFsKFJhLElhLCJiaW5kTWF0cml4SW52ZXJzZSIpLFQ9SWEuc2tlbGV0b24pKWlmKFBhPVQuYm9uZXMsZ2MuZmxvYXRWZXJ0ZXhUZXh0dXJlcyl7aWYodm9pZCAwPT09VC5ib25lVGV4dHVyZSl7UGE9TWF0aC5zcXJ0KDQqUGEubGVuZ3RoKTtQYT1oYi5jZWlsUG93ZXJPZlR3byhQYSk7UGE9TWF0aC5tYXgoUGEsNCk7dmFyIFJjPW5ldyBGbG9hdDMyQXJyYXkoUGEqUGEqNCk7UmMuc2V0KFQuYm9uZU1hdHJpY2VzKTt2YXIgemM9bmV3IEFiKFJjLFBhLFBhLDEwMjMsMTAxNSk7emMubmVlZHNVcGRhdGU9ITA7VC5ib25lTWF0cmljZXM9UmM7VC5ib25lVGV4dHVyZT16YztULmJvbmVUZXh0dXJlU2l6ZT1QYX1vYi5zZXRWYWx1ZShSYSwiYm9uZVRleHR1cmUiLFQuYm9uZVRleHR1cmUsUWMpO29iLnNldFZhbHVlKFJhLCJib25lVGV4dHVyZVNpemUiLFQuYm9uZVRleHR1cmVTaXplKX1lbHNlIG9iLnNldE9wdGlvbmFsKFJhLFQsImJvbmVNYXRyaWNlcyIpO2FiJiYob2Iuc2V0VmFsdWUoUmEsCiJ0b25lTWFwcGluZ0V4cG9zdXJlIixpYS50b25lTWFwcGluZ0V4cG9zdXJlKSxvYi5zZXRWYWx1ZShSYSwidG9uZU1hcHBpbmdXaGl0ZVBvaW50IixpYS50b25lTWFwcGluZ1doaXRlUG9pbnQpLGxhLmxpZ2h0cyYmdGIoJGEsZmIpLFkmJmxhLmZvZyYmbmEoJGEsWSksbGEuaXNNZXNoQmFzaWNNYXRlcmlhbD9kYSgkYSxsYSk6bGEuaXNNZXNoTGFtYmVydE1hdGVyaWFsPyhkYSgkYSxsYSksdGEoJGEsbGEpKTpsYS5pc01lc2hQaG9uZ01hdGVyaWFsPyhkYSgkYSxsYSksbGEuaXNNZXNoVG9vbk1hdGVyaWFsP1RhKCRhLGxhKTpCYSgkYSxsYSkpOmxhLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWw/KGRhKCRhLGxhKSxsYS5pc01lc2hQaHlzaWNhbE1hdGVyaWFsP0NhKCRhLGxhKTpVYSgkYSxsYSkpOmxhLmlzTWVzaE1hdGNhcE1hdGVyaWFsPyhkYSgkYSxsYSksSGEoJGEsbGEpKTpsYS5pc01lc2hEZXB0aE1hdGVyaWFsPyhkYSgkYSxsYSksRGEoJGEsbGEpKTpsYS5pc01lc2hEaXN0YW5jZU1hdGVyaWFsPwooZGEoJGEsbGEpLE1hKCRhLGxhKSk6bGEuaXNNZXNoTm9ybWFsTWF0ZXJpYWw/KGRhKCRhLGxhKSxkYigkYSxsYSkpOmxhLmlzTGluZUJhc2ljTWF0ZXJpYWw/KHJhKCRhLGxhKSxsYS5pc0xpbmVEYXNoZWRNYXRlcmlhbCYmcGEoJGEsbGEpKTpsYS5pc1BvaW50c01hdGVyaWFsP3FhKCRhLGxhKTpsYS5pc1Nwcml0ZU1hdGVyaWFsP3VhKCRhLGxhKTpsYS5pc1NoYWRvd01hdGVyaWFsJiYoJGEuY29sb3IudmFsdWUuY29weShsYS5jb2xvciksJGEub3BhY2l0eS52YWx1ZT1sYS5vcGFjaXR5KSx2b2lkIDAhPT0kYS5sdGNfMSYmKCRhLmx0Y18xLnZhbHVlPVdhLkxUQ18xKSx2b2lkIDAhPT0kYS5sdGNfMiYmKCRhLmx0Y18yLnZhbHVlPVdhLkxUQ18yKSx3ZC51cGxvYWQoUmEsT2EudW5pZm9ybXNMaXN0LCRhLFFjKSk7bGEuaXNTaGFkZXJNYXRlcmlhbCYmITA9PT1sYS51bmlmb3Jtc05lZWRVcGRhdGUmJih3ZC51cGxvYWQoUmEsT2EudW5pZm9ybXNMaXN0LCRhLFFjKSxsYS51bmlmb3Jtc05lZWRVcGRhdGU9CiExKTtsYS5pc1Nwcml0ZU1hdGVyaWFsJiZvYi5zZXRWYWx1ZShSYSwiY2VudGVyIixJYS5jZW50ZXIpO29iLnNldFZhbHVlKFJhLCJtb2RlbFZpZXdNYXRyaXgiLElhLm1vZGVsVmlld01hdHJpeCk7b2Iuc2V0VmFsdWUoUmEsIm5vcm1hbE1hdHJpeCIsSWEubm9ybWFsTWF0cml4KTtvYi5zZXRWYWx1ZShSYSwibW9kZWxNYXRyaXgiLElhLm1hdHJpeFdvcmxkKTtyZXR1cm4gQ2J9ZnVuY3Rpb24gZGEoVCxZKXtULm9wYWNpdHkudmFsdWU9WS5vcGFjaXR5O1kuY29sb3ImJlQuZGlmZnVzZS52YWx1ZS5jb3B5KFkuY29sb3IpO1kuZW1pc3NpdmUmJlQuZW1pc3NpdmUudmFsdWUuY29weShZLmVtaXNzaXZlKS5tdWx0aXBseVNjYWxhcihZLmVtaXNzaXZlSW50ZW5zaXR5KTtZLm1hcCYmKFQubWFwLnZhbHVlPVkubWFwKTtZLmFscGhhTWFwJiYoVC5hbHBoYU1hcC52YWx1ZT1ZLmFscGhhTWFwKTtZLnNwZWN1bGFyTWFwJiYoVC5zcGVjdWxhck1hcC52YWx1ZT1ZLnNwZWN1bGFyTWFwKTtZLmVudk1hcCYmCihULmVudk1hcC52YWx1ZT1ZLmVudk1hcCxULmZsaXBFbnZNYXAudmFsdWU9WS5lbnZNYXAuaXNDdWJlVGV4dHVyZT8tMToxLFQucmVmbGVjdGl2aXR5LnZhbHVlPVkucmVmbGVjdGl2aXR5LFQucmVmcmFjdGlvblJhdGlvLnZhbHVlPVkucmVmcmFjdGlvblJhdGlvLFQubWF4TWlwTGV2ZWwudmFsdWU9aGMuZ2V0KFkuZW52TWFwKS5fX21heE1pcExldmVsKTtZLmxpZ2h0TWFwJiYoVC5saWdodE1hcC52YWx1ZT1ZLmxpZ2h0TWFwLFQubGlnaHRNYXBJbnRlbnNpdHkudmFsdWU9WS5saWdodE1hcEludGVuc2l0eSk7WS5hb01hcCYmKFQuYW9NYXAudmFsdWU9WS5hb01hcCxULmFvTWFwSW50ZW5zaXR5LnZhbHVlPVkuYW9NYXBJbnRlbnNpdHkpO2lmKFkubWFwKXZhciBsYT1ZLm1hcDtlbHNlIFkuc3BlY3VsYXJNYXA/bGE9WS5zcGVjdWxhck1hcDpZLmRpc3BsYWNlbWVudE1hcD9sYT1ZLmRpc3BsYWNlbWVudE1hcDpZLm5vcm1hbE1hcD9sYT1ZLm5vcm1hbE1hcDpZLmJ1bXBNYXA/bGE9WS5idW1wTWFwOgpZLnJvdWdobmVzc01hcD9sYT1ZLnJvdWdobmVzc01hcDpZLm1ldGFsbmVzc01hcD9sYT1ZLm1ldGFsbmVzc01hcDpZLmFscGhhTWFwP2xhPVkuYWxwaGFNYXA6WS5lbWlzc2l2ZU1hcCYmKGxhPVkuZW1pc3NpdmVNYXApO3ZvaWQgMCE9PWxhJiYobGEuaXNXZWJHTFJlbmRlclRhcmdldCYmKGxhPWxhLnRleHR1cmUpLCEwPT09bGEubWF0cml4QXV0b1VwZGF0ZSYmbGEudXBkYXRlTWF0cml4KCksVC51dlRyYW5zZm9ybS52YWx1ZS5jb3B5KGxhLm1hdHJpeCkpfWZ1bmN0aW9uIHJhKFQsWSl7VC5kaWZmdXNlLnZhbHVlLmNvcHkoWS5jb2xvcik7VC5vcGFjaXR5LnZhbHVlPVkub3BhY2l0eX1mdW5jdGlvbiBwYShULFkpe1QuZGFzaFNpemUudmFsdWU9WS5kYXNoU2l6ZTtULnRvdGFsU2l6ZS52YWx1ZT1ZLmRhc2hTaXplK1kuZ2FwU2l6ZTtULnNjYWxlLnZhbHVlPVkuc2NhbGV9ZnVuY3Rpb24gcWEoVCxZKXtULmRpZmZ1c2UudmFsdWUuY29weShZLmNvbG9yKTtULm9wYWNpdHkudmFsdWU9Clkub3BhY2l0eTtULnNpemUudmFsdWU9WS5zaXplKmZjO1Quc2NhbGUudmFsdWU9LjUqQmM7VC5tYXAudmFsdWU9WS5tYXA7bnVsbCE9PVkubWFwJiYoITA9PT1ZLm1hcC5tYXRyaXhBdXRvVXBkYXRlJiZZLm1hcC51cGRhdGVNYXRyaXgoKSxULnV2VHJhbnNmb3JtLnZhbHVlLmNvcHkoWS5tYXAubWF0cml4KSl9ZnVuY3Rpb24gdWEoVCxZKXtULmRpZmZ1c2UudmFsdWUuY29weShZLmNvbG9yKTtULm9wYWNpdHkudmFsdWU9WS5vcGFjaXR5O1Qucm90YXRpb24udmFsdWU9WS5yb3RhdGlvbjtULm1hcC52YWx1ZT1ZLm1hcDtudWxsIT09WS5tYXAmJighMD09PVkubWFwLm1hdHJpeEF1dG9VcGRhdGUmJlkubWFwLnVwZGF0ZU1hdHJpeCgpLFQudXZUcmFuc2Zvcm0udmFsdWUuY29weShZLm1hcC5tYXRyaXgpKX1mdW5jdGlvbiBuYShULFkpe1QuZm9nQ29sb3IudmFsdWUuY29weShZLmNvbG9yKTtZLmlzRm9nPyhULmZvZ05lYXIudmFsdWU9WS5uZWFyLFQuZm9nRmFyLnZhbHVlPVkuZmFyKToKWS5pc0ZvZ0V4cDImJihULmZvZ0RlbnNpdHkudmFsdWU9WS5kZW5zaXR5KX1mdW5jdGlvbiB0YShULFkpe1kuZW1pc3NpdmVNYXAmJihULmVtaXNzaXZlTWFwLnZhbHVlPVkuZW1pc3NpdmVNYXApfWZ1bmN0aW9uIEJhKFQsWSl7VC5zcGVjdWxhci52YWx1ZS5jb3B5KFkuc3BlY3VsYXIpO1Quc2hpbmluZXNzLnZhbHVlPU1hdGgubWF4KFkuc2hpbmluZXNzLDFFLTQpO1kuZW1pc3NpdmVNYXAmJihULmVtaXNzaXZlTWFwLnZhbHVlPVkuZW1pc3NpdmVNYXApO1kuYnVtcE1hcCYmKFQuYnVtcE1hcC52YWx1ZT1ZLmJ1bXBNYXAsVC5idW1wU2NhbGUudmFsdWU9WS5idW1wU2NhbGUsMT09PVkuc2lkZSYmKFQuYnVtcFNjYWxlLnZhbHVlKj0tMSkpO1kubm9ybWFsTWFwJiYoVC5ub3JtYWxNYXAudmFsdWU9WS5ub3JtYWxNYXAsVC5ub3JtYWxTY2FsZS52YWx1ZS5jb3B5KFkubm9ybWFsU2NhbGUpLDE9PT1ZLnNpZGUmJlQubm9ybWFsU2NhbGUudmFsdWUubmVnYXRlKCkpO1kuZGlzcGxhY2VtZW50TWFwJiYKKFQuZGlzcGxhY2VtZW50TWFwLnZhbHVlPVkuZGlzcGxhY2VtZW50TWFwLFQuZGlzcGxhY2VtZW50U2NhbGUudmFsdWU9WS5kaXNwbGFjZW1lbnRTY2FsZSxULmRpc3BsYWNlbWVudEJpYXMudmFsdWU9WS5kaXNwbGFjZW1lbnRCaWFzKX1mdW5jdGlvbiBUYShULFkpe0JhKFQsWSk7WS5ncmFkaWVudE1hcCYmKFQuZ3JhZGllbnRNYXAudmFsdWU9WS5ncmFkaWVudE1hcCl9ZnVuY3Rpb24gVWEoVCxZKXtULnJvdWdobmVzcy52YWx1ZT1ZLnJvdWdobmVzcztULm1ldGFsbmVzcy52YWx1ZT1ZLm1ldGFsbmVzcztZLnJvdWdobmVzc01hcCYmKFQucm91Z2huZXNzTWFwLnZhbHVlPVkucm91Z2huZXNzTWFwKTtZLm1ldGFsbmVzc01hcCYmKFQubWV0YWxuZXNzTWFwLnZhbHVlPVkubWV0YWxuZXNzTWFwKTtZLmVtaXNzaXZlTWFwJiYoVC5lbWlzc2l2ZU1hcC52YWx1ZT1ZLmVtaXNzaXZlTWFwKTtZLmJ1bXBNYXAmJihULmJ1bXBNYXAudmFsdWU9WS5idW1wTWFwLFQuYnVtcFNjYWxlLnZhbHVlPQpZLmJ1bXBTY2FsZSwxPT09WS5zaWRlJiYoVC5idW1wU2NhbGUudmFsdWUqPS0xKSk7WS5ub3JtYWxNYXAmJihULm5vcm1hbE1hcC52YWx1ZT1ZLm5vcm1hbE1hcCxULm5vcm1hbFNjYWxlLnZhbHVlLmNvcHkoWS5ub3JtYWxTY2FsZSksMT09PVkuc2lkZSYmVC5ub3JtYWxTY2FsZS52YWx1ZS5uZWdhdGUoKSk7WS5kaXNwbGFjZW1lbnRNYXAmJihULmRpc3BsYWNlbWVudE1hcC52YWx1ZT1ZLmRpc3BsYWNlbWVudE1hcCxULmRpc3BsYWNlbWVudFNjYWxlLnZhbHVlPVkuZGlzcGxhY2VtZW50U2NhbGUsVC5kaXNwbGFjZW1lbnRCaWFzLnZhbHVlPVkuZGlzcGxhY2VtZW50Qmlhcyk7WS5lbnZNYXAmJihULmVudk1hcEludGVuc2l0eS52YWx1ZT1ZLmVudk1hcEludGVuc2l0eSl9ZnVuY3Rpb24gQ2EoVCxZKXtVYShULFkpO1QucmVmbGVjdGl2aXR5LnZhbHVlPVkucmVmbGVjdGl2aXR5O1QuY2xlYXJjb2F0LnZhbHVlPVkuY2xlYXJjb2F0O1QuY2xlYXJjb2F0Um91Z2huZXNzLnZhbHVlPVkuY2xlYXJjb2F0Um91Z2huZXNzOwpZLnNoZWVuJiZULnNoZWVuLnZhbHVlLmNvcHkoWS5zaGVlbik7WS5jbGVhcmNvYXROb3JtYWxNYXAmJihULmNsZWFyY29hdE5vcm1hbFNjYWxlLnZhbHVlLmNvcHkoWS5jbGVhcmNvYXROb3JtYWxTY2FsZSksVC5jbGVhcmNvYXROb3JtYWxNYXAudmFsdWU9WS5jbGVhcmNvYXROb3JtYWxNYXAsMT09PVkuc2lkZSYmVC5jbGVhcmNvYXROb3JtYWxTY2FsZS52YWx1ZS5uZWdhdGUoKSk7VC50cmFuc3BhcmVuY3kudmFsdWU9WS50cmFuc3BhcmVuY3l9ZnVuY3Rpb24gSGEoVCxZKXtZLm1hdGNhcCYmKFQubWF0Y2FwLnZhbHVlPVkubWF0Y2FwKTtZLmJ1bXBNYXAmJihULmJ1bXBNYXAudmFsdWU9WS5idW1wTWFwLFQuYnVtcFNjYWxlLnZhbHVlPVkuYnVtcFNjYWxlLDE9PT1ZLnNpZGUmJihULmJ1bXBTY2FsZS52YWx1ZSo9LTEpKTtZLm5vcm1hbE1hcCYmKFQubm9ybWFsTWFwLnZhbHVlPVkubm9ybWFsTWFwLFQubm9ybWFsU2NhbGUudmFsdWUuY29weShZLm5vcm1hbFNjYWxlKSwxPT09WS5zaWRlJiYKVC5ub3JtYWxTY2FsZS52YWx1ZS5uZWdhdGUoKSk7WS5kaXNwbGFjZW1lbnRNYXAmJihULmRpc3BsYWNlbWVudE1hcC52YWx1ZT1ZLmRpc3BsYWNlbWVudE1hcCxULmRpc3BsYWNlbWVudFNjYWxlLnZhbHVlPVkuZGlzcGxhY2VtZW50U2NhbGUsVC5kaXNwbGFjZW1lbnRCaWFzLnZhbHVlPVkuZGlzcGxhY2VtZW50Qmlhcyl9ZnVuY3Rpb24gRGEoVCxZKXtZLmRpc3BsYWNlbWVudE1hcCYmKFQuZGlzcGxhY2VtZW50TWFwLnZhbHVlPVkuZGlzcGxhY2VtZW50TWFwLFQuZGlzcGxhY2VtZW50U2NhbGUudmFsdWU9WS5kaXNwbGFjZW1lbnRTY2FsZSxULmRpc3BsYWNlbWVudEJpYXMudmFsdWU9WS5kaXNwbGFjZW1lbnRCaWFzKX1mdW5jdGlvbiBNYShULFkpe1kuZGlzcGxhY2VtZW50TWFwJiYoVC5kaXNwbGFjZW1lbnRNYXAudmFsdWU9WS5kaXNwbGFjZW1lbnRNYXAsVC5kaXNwbGFjZW1lbnRTY2FsZS52YWx1ZT1ZLmRpc3BsYWNlbWVudFNjYWxlLFQuZGlzcGxhY2VtZW50Qmlhcy52YWx1ZT0KWS5kaXNwbGFjZW1lbnRCaWFzKTtULnJlZmVyZW5jZVBvc2l0aW9uLnZhbHVlLmNvcHkoWS5yZWZlcmVuY2VQb3NpdGlvbik7VC5uZWFyRGlzdGFuY2UudmFsdWU9WS5uZWFyRGlzdGFuY2U7VC5mYXJEaXN0YW5jZS52YWx1ZT1ZLmZhckRpc3RhbmNlfWZ1bmN0aW9uIGRiKFQsWSl7WS5idW1wTWFwJiYoVC5idW1wTWFwLnZhbHVlPVkuYnVtcE1hcCxULmJ1bXBTY2FsZS52YWx1ZT1ZLmJ1bXBTY2FsZSwxPT09WS5zaWRlJiYoVC5idW1wU2NhbGUudmFsdWUqPS0xKSk7WS5ub3JtYWxNYXAmJihULm5vcm1hbE1hcC52YWx1ZT1ZLm5vcm1hbE1hcCxULm5vcm1hbFNjYWxlLnZhbHVlLmNvcHkoWS5ub3JtYWxTY2FsZSksMT09PVkuc2lkZSYmVC5ub3JtYWxTY2FsZS52YWx1ZS5uZWdhdGUoKSk7WS5kaXNwbGFjZW1lbnRNYXAmJihULmRpc3BsYWNlbWVudE1hcC52YWx1ZT1ZLmRpc3BsYWNlbWVudE1hcCxULmRpc3BsYWNlbWVudFNjYWxlLnZhbHVlPVkuZGlzcGxhY2VtZW50U2NhbGUsVC5kaXNwbGFjZW1lbnRCaWFzLnZhbHVlPQpZLmRpc3BsYWNlbWVudEJpYXMpfWZ1bmN0aW9uIHRiKFQsWSl7VC5hbWJpZW50TGlnaHRDb2xvci5uZWVkc1VwZGF0ZT1ZO1QubGlnaHRQcm9iZS5uZWVkc1VwZGF0ZT1ZO1QuZGlyZWN0aW9uYWxMaWdodHMubmVlZHNVcGRhdGU9WTtULnBvaW50TGlnaHRzLm5lZWRzVXBkYXRlPVk7VC5zcG90TGlnaHRzLm5lZWRzVXBkYXRlPVk7VC5yZWN0QXJlYUxpZ2h0cy5uZWVkc1VwZGF0ZT1ZO1QuaGVtaXNwaGVyZUxpZ2h0cy5uZWVkc1VwZGF0ZT1ZfWE9YXx8e307dmFyIEthPXZvaWQgMCE9PWEuY2FudmFzP2EuY2FudmFzOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsImNhbnZhcyIpLGJiPXZvaWQgMCE9PWEuY29udGV4dD9hLmNvbnRleHQ6bnVsbCxqYj12b2lkIDAhPT1hLmFscGhhP2EuYWxwaGE6ITEsRWI9dm9pZCAwIT09YS5kZXB0aD9hLmRlcHRoOiEwLHhiPXZvaWQgMCE9PWEuc3RlbmNpbD9hLnN0ZW5jaWw6ITAsaGE9dm9pZCAwIT09CmEuYW50aWFsaWFzP2EuYW50aWFsaWFzOiExLG1hPXZvaWQgMCE9PWEucHJlbXVsdGlwbGllZEFscGhhP2EucHJlbXVsdGlwbGllZEFscGhhOiEwLHphPXZvaWQgMCE9PWEucHJlc2VydmVEcmF3aW5nQnVmZmVyP2EucHJlc2VydmVEcmF3aW5nQnVmZmVyOiExLEphPXZvaWQgMCE9PWEucG93ZXJQcmVmZXJlbmNlP2EucG93ZXJQcmVmZXJlbmNlOiJkZWZhdWx0IixZYT12b2lkIDAhPT1hLmZhaWxJZk1ham9yUGVyZm9ybWFuY2VDYXZlYXQ/YS5mYWlsSWZNYWpvclBlcmZvcm1hbmNlQ2F2ZWF0OiExLE5hPW51bGwsY2I9bnVsbDt0aGlzLmRvbUVsZW1lbnQ9S2E7dGhpcy5kZWJ1Zz17Y2hlY2tTaGFkZXJFcnJvcnM6ITB9O3RoaXMuc29ydE9iamVjdHM9dGhpcy5hdXRvQ2xlYXJTdGVuY2lsPXRoaXMuYXV0b0NsZWFyRGVwdGg9dGhpcy5hdXRvQ2xlYXJDb2xvcj10aGlzLmF1dG9DbGVhcj0hMDt0aGlzLmNsaXBwaW5nUGxhbmVzPVtdO3RoaXMubG9jYWxDbGlwcGluZ0VuYWJsZWQ9ITE7dGhpcy5nYW1tYUZhY3Rvcj0KMjt0aGlzLnBoeXNpY2FsbHlDb3JyZWN0TGlnaHRzPXRoaXMuZ2FtbWFPdXRwdXQ9dGhpcy5nYW1tYUlucHV0PSExO3RoaXMudG9uZU1hcHBpbmdXaGl0ZVBvaW50PXRoaXMudG9uZU1hcHBpbmdFeHBvc3VyZT10aGlzLnRvbmVNYXBwaW5nPTE7dGhpcy5tYXhNb3JwaFRhcmdldHM9ODt0aGlzLm1heE1vcnBoTm9ybWFscz00O3ZhciBpYT10aGlzLEdhPSExLExhPW51bGwsbmI9MCxWYT0wLGliPW51bGwsa2I9bnVsbCxRYT0tMTt2YXIgZWI9Yz1udWxsO3ZhciBtYj0hMTt2YXIgcGI9bnVsbCxzYj1udWxsLExiPW5ldyBwLFRiPW5ldyBwLHFjPW51bGwsU2M9S2Eud2lkdGgsQmM9S2EuaGVpZ2h0LGZjPTEseWU9bmV3IHAoMCwwLFNjLEJjKSx4ZT1uZXcgcCgwLDAsU2MsQmMpLFhoPSExLFZoPW5ldyBsYyxBYz1uZXcgeWMsQWc9ITEsV2g9ITEseGY9bmV3IHEsQmQ9bmV3IGs7dHJ5e2piPXthbHBoYTpqYixkZXB0aDpFYixzdGVuY2lsOnhiLGFudGlhbGlhczpoYSxwcmVtdWx0aXBsaWVkQWxwaGE6bWEsCnByZXNlcnZlRHJhd2luZ0J1ZmZlcjp6YSxwb3dlclByZWZlcmVuY2U6SmEsZmFpbElmTWFqb3JQZXJmb3JtYW5jZUNhdmVhdDpZYSx4ckNvbXBhdGlibGU6ITB9O0thLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGxvc3QiLHQsITEpO0thLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dHJlc3RvcmVkIix2LCExKTt2YXIgUmE9YmJ8fEthLmdldENvbnRleHQoIndlYmdsIixqYil8fEthLmdldENvbnRleHQoImV4cGVyaW1lbnRhbC13ZWJnbCIsamIpO2lmKG51bGw9PT1SYSl7aWYobnVsbCE9PUthLmdldENvbnRleHQoIndlYmdsIikpdGhyb3cgRXJyb3IoIkVycm9yIGNyZWF0aW5nIFdlYkdMIGNvbnRleHQgd2l0aCB5b3VyIHNlbGVjdGVkIGF0dHJpYnV0ZXMuIik7dGhyb3cgRXJyb3IoIkVycm9yIGNyZWF0aW5nIFdlYkdMIGNvbnRleHQuIik7fXZvaWQgMD09PVJhLmdldFNoYWRlclByZWNpc2lvbkZvcm1hdCYmKFJhLmdldFNoYWRlclByZWNpc2lvbkZvcm1hdD1mdW5jdGlvbigpe3JldHVybntyYW5nZU1pbjoxLApyYW5nZU1heDoxLHByZWNpc2lvbjoxfX0pfWNhdGNoKFQpe3Rocm93IGNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUmVuZGVyZXI6ICIrVC5tZXNzYWdlKSxUO312YXIgTWIsZ2MseWIsemQsaGMsUWMseWcsVWgsemUsUmQsemcsQWUsQWQsS2osTGosTWosUGM7ZygpO3ZhciBmZD0idW5kZWZpbmVkIiE9PXR5cGVvZiBuYXZpZ2F0b3ImJiJ4ciJpbiBuYXZpZ2F0b3ImJiJzdXBwb3J0c1Nlc3Npb24iaW4gbmF2aWdhdG9yLnhyP25ldyBKaihpYSxSYSk6bmV3IFNoKGlhKTt0aGlzLnZyPWZkO3ZhciBOaj1uZXcgRWooaWEsemUsZ2MubWF4VGV4dHVyZVNpemUpO3RoaXMuc2hhZG93TWFwPU5qO3RoaXMuZ2V0Q29udGV4dD1mdW5jdGlvbigpe3JldHVybiBSYX07dGhpcy5nZXRDb250ZXh0QXR0cmlidXRlcz1mdW5jdGlvbigpe3JldHVybiBSYS5nZXRDb250ZXh0QXR0cmlidXRlcygpfTt0aGlzLmZvcmNlQ29udGV4dExvc3M9ZnVuY3Rpb24oKXt2YXIgVD1NYi5nZXQoIldFQkdMX2xvc2VfY29udGV4dCIpOwpUJiZULmxvc2VDb250ZXh0KCl9O3RoaXMuZm9yY2VDb250ZXh0UmVzdG9yZT1mdW5jdGlvbigpe3ZhciBUPU1iLmdldCgiV0VCR0xfbG9zZV9jb250ZXh0Iik7VCYmVC5yZXN0b3JlQ29udGV4dCgpfTt0aGlzLmdldFBpeGVsUmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gZmN9O3RoaXMuc2V0UGl4ZWxSYXRpbz1mdW5jdGlvbigpe3ZhciBUPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO3ZvaWQgMCE9PVQmJihmYz1ULHRoaXMuc2V0U2l6ZShTYyxCYywhMSkpfTt0aGlzLmdldFNpemU9ZnVuY3Rpb24oVCl7dm9pZCAwPT09VCYmKGNvbnNvbGUud2FybigiV2ViR0xSZW5kZXJlcjogLmdldHNpemUoKSBub3cgcmVxdWlyZXMgYSBWZWN0b3IyIGFzIGFuIGFyZ3VtZW50IiksVD1uZXcgZik7cmV0dXJuIFQuc2V0KFNjLEJjKX07dGhpcy5zZXRTaXplPWZ1bmN0aW9uKFQsWSxsYSl7ZmQuaXNQcmVzZW50aW5nKCk/Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBDYW4ndCBjaGFuZ2Ugc2l6ZSB3aGlsZSBWUiBkZXZpY2UgaXMgcHJlc2VudGluZy4iKToKKFNjPVQsQmM9WSxLYS53aWR0aD1NYXRoLmZsb29yKFQqZmMpLEthLmhlaWdodD1NYXRoLmZsb29yKFkqZmMpLCExIT09bGEmJihLYS5zdHlsZS53aWR0aD1UKyJweCIsS2Euc3R5bGUuaGVpZ2h0PVkrInB4IiksdGhpcy5zZXRWaWV3cG9ydChULFkpKX07dGhpcy5nZXREcmF3aW5nQnVmZmVyU2l6ZT1mdW5jdGlvbihUKXt2b2lkIDA9PT1UJiYoY29uc29sZS53YXJuKCJXZWJHTFJlbmRlcmVyOiAuZ2V0ZHJhd2luZ0J1ZmZlclNpemUoKSBub3cgcmVxdWlyZXMgYSBWZWN0b3IyIGFzIGFuIGFyZ3VtZW50IiksVD1uZXcgZik7cmV0dXJuIFQuc2V0KFNjKmZjLEJjKmZjKS5mbG9vcigpfTt0aGlzLnNldERyYXdpbmdCdWZmZXJTaXplPWZ1bmN0aW9uKFQsWSxsYSl7U2M9VDtCYz1ZO2ZjPWxhO0thLndpZHRoPU1hdGguZmxvb3IoVCpsYSk7S2EuaGVpZ2h0PU1hdGguZmxvb3IoWSpsYSk7dGhpcy5zZXRWaWV3cG9ydChULFkpfTt0aGlzLmdldEN1cnJlbnRWaWV3cG9ydD1mdW5jdGlvbihUKXt2b2lkIDA9PT0KVCYmKGNvbnNvbGUud2FybigiV2ViR0xSZW5kZXJlcjogLmdldEN1cnJlbnRWaWV3cG9ydCgpIG5vdyByZXF1aXJlcyBhIFZlY3RvcjQgYXMgYW4gYXJndW1lbnQiKSxUPW5ldyBwKTtyZXR1cm4gVC5jb3B5KExiKX07dGhpcy5nZXRWaWV3cG9ydD1mdW5jdGlvbihUKXtyZXR1cm4gVC5jb3B5KHllKX07dGhpcy5zZXRWaWV3cG9ydD1mdW5jdGlvbihULFkpeygwKS5pc1ZlY3RvcjQ/eWUuc2V0KCgwKS54LCgwKS55LCgwKS56LCgwKS53KTp5ZS5zZXQoMCwwLFQsWSk7eWIudmlld3BvcnQoTGIuY29weSh5ZSkubXVsdGlwbHlTY2FsYXIoZmMpLmZsb29yKCkpfTt0aGlzLmdldFNjaXNzb3I9ZnVuY3Rpb24oVCl7cmV0dXJuIFQuY29weSh4ZSl9O3RoaXMuc2V0U2Npc3Nvcj1mdW5jdGlvbihULFksbGEsSWEpe1QuaXNWZWN0b3I0P3hlLnNldChULngsVC55LFQueixULncpOnhlLnNldChULFksbGEsSWEpO3liLnNjaXNzb3IoVGIuY29weSh4ZSkubXVsdGlwbHlTY2FsYXIoZmMpLmZsb29yKCkpfTsKdGhpcy5nZXRTY2lzc29yVGVzdD1mdW5jdGlvbigpe3JldHVybiBYaH07dGhpcy5zZXRTY2lzc29yVGVzdD1mdW5jdGlvbihUKXt5Yi5zZXRTY2lzc29yVGVzdChYaD1UKX07dGhpcy5nZXRDbGVhckNvbG9yPWZ1bmN0aW9uKCl7cmV0dXJuIEFkLmdldENsZWFyQ29sb3IoKX07dGhpcy5zZXRDbGVhckNvbG9yPWZ1bmN0aW9uKCl7QWQuc2V0Q2xlYXJDb2xvci5hcHBseShBZCxhcmd1bWVudHMpfTt0aGlzLmdldENsZWFyQWxwaGE9ZnVuY3Rpb24oKXtyZXR1cm4gQWQuZ2V0Q2xlYXJBbHBoYSgpfTt0aGlzLnNldENsZWFyQWxwaGE9ZnVuY3Rpb24oKXtBZC5zZXRDbGVhckFscGhhLmFwcGx5KEFkLGFyZ3VtZW50cyl9O3RoaXMuY2xlYXI9ZnVuY3Rpb24oVCxZLGxhKXt2YXIgSWE9MDtpZih2b2lkIDA9PT1UfHxUKUlhfD0xNjM4NDtpZih2b2lkIDA9PT1ZfHxZKUlhfD0yNTY7aWYodm9pZCAwPT09bGF8fGxhKUlhfD0xMDI0O1JhLmNsZWFyKElhKX07dGhpcy5jbGVhckNvbG9yPWZ1bmN0aW9uKCl7dGhpcy5jbGVhcighMCwKITEsITEpfTt0aGlzLmNsZWFyRGVwdGg9ZnVuY3Rpb24oKXt0aGlzLmNsZWFyKCExLCEwLCExKX07dGhpcy5jbGVhclN0ZW5jaWw9ZnVuY3Rpb24oKXt0aGlzLmNsZWFyKCExLCExLCEwKX07dGhpcy5kaXNwb3NlPWZ1bmN0aW9uKCl7S2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0bG9zdCIsdCwhMSk7S2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0cmVzdG9yZWQiLHYsITEpO3pnLmRpc3Bvc2UoKTtBZS5kaXNwb3NlKCk7aGMuZGlzcG9zZSgpO3plLmRpc3Bvc2UoKTtmZC5kaXNwb3NlKCk7Qmcuc3RvcCgpfTt0aGlzLnJlbmRlckJ1ZmZlckltbWVkaWF0ZT1mdW5jdGlvbihULFkpe3liLmluaXRBdHRyaWJ1dGVzKCk7dmFyIGxhPWhjLmdldChUKTtULmhhc1Bvc2l0aW9ucyYmIWxhLnBvc2l0aW9uJiYobGEucG9zaXRpb249UmEuY3JlYXRlQnVmZmVyKCkpO1QuaGFzTm9ybWFscyYmIWxhLm5vcm1hbCYmKGxhLm5vcm1hbD1SYS5jcmVhdGVCdWZmZXIoKSk7ClQuaGFzVXZzJiYhbGEudXYmJihsYS51dj1SYS5jcmVhdGVCdWZmZXIoKSk7VC5oYXNDb2xvcnMmJiFsYS5jb2xvciYmKGxhLmNvbG9yPVJhLmNyZWF0ZUJ1ZmZlcigpKTtZPVkuZ2V0QXR0cmlidXRlcygpO1QuaGFzUG9zaXRpb25zJiYoUmEuYmluZEJ1ZmZlcigzNDk2MixsYS5wb3NpdGlvbiksUmEuYnVmZmVyRGF0YSgzNDk2MixULnBvc2l0aW9uQXJyYXksMzUwNDgpLHliLmVuYWJsZUF0dHJpYnV0ZShZLnBvc2l0aW9uKSxSYS52ZXJ0ZXhBdHRyaWJQb2ludGVyKFkucG9zaXRpb24sMyw1MTI2LCExLDAsMCkpO1QuaGFzTm9ybWFscyYmKFJhLmJpbmRCdWZmZXIoMzQ5NjIsbGEubm9ybWFsKSxSYS5idWZmZXJEYXRhKDM0OTYyLFQubm9ybWFsQXJyYXksMzUwNDgpLHliLmVuYWJsZUF0dHJpYnV0ZShZLm5vcm1hbCksUmEudmVydGV4QXR0cmliUG9pbnRlcihZLm5vcm1hbCwzLDUxMjYsITEsMCwwKSk7VC5oYXNVdnMmJihSYS5iaW5kQnVmZmVyKDM0OTYyLGxhLnV2KSxSYS5idWZmZXJEYXRhKDM0OTYyLApULnV2QXJyYXksMzUwNDgpLHliLmVuYWJsZUF0dHJpYnV0ZShZLnV2KSxSYS52ZXJ0ZXhBdHRyaWJQb2ludGVyKFkudXYsMiw1MTI2LCExLDAsMCkpO1QuaGFzQ29sb3JzJiYoUmEuYmluZEJ1ZmZlcigzNDk2MixsYS5jb2xvciksUmEuYnVmZmVyRGF0YSgzNDk2MixULmNvbG9yQXJyYXksMzUwNDgpLHliLmVuYWJsZUF0dHJpYnV0ZShZLmNvbG9yKSxSYS52ZXJ0ZXhBdHRyaWJQb2ludGVyKFkuY29sb3IsMyw1MTI2LCExLDAsMCkpO3liLmRpc2FibGVVbnVzZWRBdHRyaWJ1dGVzKCk7UmEuZHJhd0FycmF5cyg0LDAsVC5jb3VudCk7VC5jb3VudD0wfTt0aGlzLnJlbmRlckJ1ZmZlckRpcmVjdD1mdW5jdGlvbihULFksbGEsSWEsT2EsYWIpe3liLnNldE1hdGVyaWFsKElhLE9hLmlzTWVzaCYmMD5PYS5tYXRyaXhXb3JsZC5kZXRlcm1pbmFudCgpKTt2YXIgUGE9ZWEoVCxZLElhLE9hKSxmYj0hMTtpZihjIT09bGEuaWR8fGViIT09UGEuaWR8fG1iIT09KCEwPT09SWEud2lyZWZyYW1lKSljPQpsYS5pZCxlYj1QYS5pZCxtYj0hMD09PUlhLndpcmVmcmFtZSxmYj0hMDtPYS5tb3JwaFRhcmdldEluZmx1ZW5jZXMmJihLai51cGRhdGUoT2EsbGEsSWEsUGEpLGZiPSEwKTt2YXIgQ2I9bGEuaW5kZXgsb2I9bGEuYXR0cmlidXRlcy5wb3NpdGlvbjtZPTE7ITA9PT1JYS53aXJlZnJhbWUmJihDYj1VaC5nZXRXaXJlZnJhbWVBdHRyaWJ1dGUobGEpLFk9Mik7VD1MajtpZihudWxsIT09Q2Ipe3ZhciAkYT15Zy5nZXQoQ2IpO1Q9TWo7VC5zZXRJbmRleCgkYSl9ZmImJihNKElhLFBhLGxhKSxudWxsIT09Q2ImJlJhLmJpbmRCdWZmZXIoMzQ5NjMsJGEuYnVmZmVyKSk7JGE9SW5maW5pdHk7bnVsbCE9PUNiPyRhPUNiLmNvdW50OnZvaWQgMCE9PW9iJiYoJGE9b2IuY291bnQpO29iPWxhLmRyYXdSYW5nZS5zdGFydCpZO1BhPW51bGwhPT1hYj9hYi5zdGFydCpZOjA7Q2I9TWF0aC5tYXgob2IsUGEpO2FiPU1hdGgubWF4KDAsTWF0aC5taW4oJGEsb2IrbGEuZHJhd1JhbmdlLmNvdW50KlksUGErCihudWxsIT09YWI/YWIuY291bnQqWTpJbmZpbml0eSkpLTEtQ2IrMSk7aWYoMCE9PWFiKXtpZihPYS5pc01lc2gpaWYoITA9PT1JYS53aXJlZnJhbWUpeWIuc2V0TGluZVdpZHRoKElhLndpcmVmcmFtZUxpbmV3aWR0aCplKCkpLFQuc2V0TW9kZSgxKTtlbHNlIHN3aXRjaChPYS5kcmF3TW9kZSl7Y2FzZSAwOlQuc2V0TW9kZSg0KTticmVhaztjYXNlIDE6VC5zZXRNb2RlKDUpO2JyZWFrO2Nhc2UgMjpULnNldE1vZGUoNil9ZWxzZSBPYS5pc0xpbmU/KElhPUlhLmxpbmV3aWR0aCx2b2lkIDA9PT1JYSYmKElhPTEpLHliLnNldExpbmVXaWR0aChJYSplKCkpLE9hLmlzTGluZVNlZ21lbnRzP1Quc2V0TW9kZSgxKTpPYS5pc0xpbmVMb29wP1Quc2V0TW9kZSgyKTpULnNldE1vZGUoMykpOk9hLmlzUG9pbnRzP1Quc2V0TW9kZSgwKTpPYS5pc1Nwcml0ZSYmVC5zZXRNb2RlKDQpO2xhJiZsYS5pc0luc3RhbmNlZEJ1ZmZlckdlb21ldHJ5PzA8bGEubWF4SW5zdGFuY2VkQ291bnQmJlQucmVuZGVySW5zdGFuY2VzKGxhLApDYixhYik6VC5yZW5kZXIoQ2IsYWIpfX07dGhpcy5jb21waWxlPWZ1bmN0aW9uKFQsWSl7Y2I9QWUuZ2V0KFQsWSk7Y2IuaW5pdCgpO1QudHJhdmVyc2UoZnVuY3Rpb24obGEpe2xhLmlzTGlnaHQmJihjYi5wdXNoTGlnaHQobGEpLGxhLmNhc3RTaGFkb3cmJmNiLnB1c2hTaGFkb3cobGEpKX0pO2NiLnNldHVwTGlnaHRzKFkpO1QudHJhdmVyc2UoZnVuY3Rpb24obGEpe2lmKGxhLm1hdGVyaWFsKWlmKEFycmF5LmlzQXJyYXkobGEubWF0ZXJpYWwpKWZvcih2YXIgSWE9MDtJYTxsYS5tYXRlcmlhbC5sZW5ndGg7SWErKylWKGxhLm1hdGVyaWFsW0lhXSxULmZvZyxsYSk7ZWxzZSBWKGxhLm1hdGVyaWFsLFQuZm9nLGxhKX0pfTt2YXIgWWg9bnVsbCxCZz1uZXcgZWM7Qmcuc2V0QW5pbWF0aW9uTG9vcChmdW5jdGlvbihUKXtmZC5pc1ByZXNlbnRpbmcoKXx8WWgmJlloKFQpfSk7InVuZGVmaW5lZCIhPT10eXBlb2Ygd2luZG93JiZCZy5zZXRDb250ZXh0KHdpbmRvdyk7dGhpcy5zZXRBbmltYXRpb25Mb29wPQpmdW5jdGlvbihUKXtZaD1UO2ZkLnNldEFuaW1hdGlvbkxvb3AoVCk7Qmcuc3RhcnQoKX07dGhpcy5yZW5kZXI9ZnVuY3Rpb24oVCxZLGxhLElhKXtpZih2b2lkIDAhPT1sYSl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyLnJlbmRlcigpOiB0aGUgcmVuZGVyVGFyZ2V0IGFyZ3VtZW50IGhhcyBiZWVuIHJlbW92ZWQuIFVzZSAuc2V0UmVuZGVyVGFyZ2V0KCkgaW5zdGVhZC4iKTt2YXIgT2E9bGF9aWYodm9pZCAwIT09SWEpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlci5yZW5kZXIoKTogdGhlIGZvcmNlQ2xlYXIgYXJndW1lbnQgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5jbGVhcigpIGluc3RlYWQuIik7dmFyIGFiPUlhfVkmJlkuaXNDYW1lcmE/R2F8fChlYj1jPW51bGwsbWI9ITEsUWE9LTEscGI9bnVsbCwhMD09PVQuYXV0b1VwZGF0ZSYmVC51cGRhdGVNYXRyaXhXb3JsZCgpLG51bGw9PT1ZLnBhcmVudCYmWS51cGRhdGVNYXRyaXhXb3JsZCgpLGZkLmVuYWJsZWQmJgooWT1mZC5nZXRDYW1lcmEoWSkpLGNiPUFlLmdldChULFkpLGNiLmluaXQoKSxULm9uQmVmb3JlUmVuZGVyKGlhLFQsWSxPYXx8aWIpLHhmLm11bHRpcGx5TWF0cmljZXMoWS5wcm9qZWN0aW9uTWF0cml4LFkubWF0cml4V29ybGRJbnZlcnNlKSxWaC5zZXRGcm9tTWF0cml4KHhmKSxXaD10aGlzLmxvY2FsQ2xpcHBpbmdFbmFibGVkLEFnPUFjLmluaXQodGhpcy5jbGlwcGluZ1BsYW5lcyxXaCxZKSxOYT16Zy5nZXQoVCxZKSxOYS5pbml0KCksUChULFksMCxpYS5zb3J0T2JqZWN0cyksITA9PT1pYS5zb3J0T2JqZWN0cyYmTmEuc29ydCgpLEFnJiZBYy5iZWdpblNoYWRvd3MoKSxOai5yZW5kZXIoY2Iuc3RhdGUuc2hhZG93c0FycmF5LFQsWSksY2Iuc2V0dXBMaWdodHMoWSksQWcmJkFjLmVuZFNoYWRvd3MoKSx0aGlzLmluZm8uYXV0b1Jlc2V0JiZ0aGlzLmluZm8ucmVzZXQoKSx2b2lkIDAhPT1PYSYmdGhpcy5zZXRSZW5kZXJUYXJnZXQoT2EpLEFkLnJlbmRlcihOYSxULFksYWIpLGxhPQpOYS5vcGFxdWUsSWE9TmEudHJhbnNwYXJlbnQsVC5vdmVycmlkZU1hdGVyaWFsPyhPYT1ULm92ZXJyaWRlTWF0ZXJpYWwsbGEubGVuZ3RoJiZRKGxhLFQsWSxPYSksSWEubGVuZ3RoJiZRKElhLFQsWSxPYSkpOihsYS5sZW5ndGgmJlEobGEsVCxZKSxJYS5sZW5ndGgmJlEoSWEsVCxZKSksbnVsbCE9PWliJiYoUWMudXBkYXRlUmVuZGVyVGFyZ2V0TWlwbWFwKGliKSxRYy51cGRhdGVNdWx0aXNhbXBsZVJlbmRlclRhcmdldChpYikpLHliLmJ1ZmZlcnMuZGVwdGguc2V0VGVzdCghMCkseWIuYnVmZmVycy5kZXB0aC5zZXRNYXNrKCEwKSx5Yi5idWZmZXJzLmNvbG9yLnNldE1hc2soITApLHliLnNldFBvbHlnb25PZmZzZXQoITEpLGZkLmVuYWJsZWQmJmZkLnN1Ym1pdEZyYW1lKCksY2I9TmE9bnVsbCk6Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xSZW5kZXJlci5yZW5kZXI6IGNhbWVyYSBpcyBub3QgYW4gaW5zdGFuY2Ugb2YgVEhSRUUuQ2FtZXJhLiIpfTt0aGlzLnNldEZyYW1lYnVmZmVyPQpmdW5jdGlvbihUKXtMYSE9PVQmJlJhLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxUKTtMYT1UfTt0aGlzLmdldEFjdGl2ZUN1YmVGYWNlPWZ1bmN0aW9uKCl7cmV0dXJuIG5ifTt0aGlzLmdldEFjdGl2ZU1pcG1hcExldmVsPWZ1bmN0aW9uKCl7cmV0dXJuIFZhfTt0aGlzLmdldFJlbmRlclRhcmdldD1mdW5jdGlvbigpe3JldHVybiBpYn07dGhpcy5zZXRSZW5kZXJUYXJnZXQ9ZnVuY3Rpb24oVCxZLGxhKXtpYj1UO25iPVk7VmE9bGE7VCYmdm9pZCAwPT09aGMuZ2V0KFQpLl9fd2ViZ2xGcmFtZWJ1ZmZlciYmUWMuc2V0dXBSZW5kZXJUYXJnZXQoVCk7dmFyIElhPUxhLE9hPSExO1Q/KElhPWhjLmdldChUKS5fX3dlYmdsRnJhbWVidWZmZXIsVC5pc1dlYkdMUmVuZGVyVGFyZ2V0Q3ViZT8oSWE9SWFbWXx8MF0sT2E9ITApOklhPVQuaXNXZWJHTE11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0P2hjLmdldChUKS5fX3dlYmdsTXVsdGlzYW1wbGVkRnJhbWVidWZmZXI6SWEsTGIuY29weShULnZpZXdwb3J0KSwKVGIuY29weShULnNjaXNzb3IpLHFjPVQuc2Npc3NvclRlc3QpOihMYi5jb3B5KHllKS5tdWx0aXBseVNjYWxhcihmYykuZmxvb3IoKSxUYi5jb3B5KHhlKS5tdWx0aXBseVNjYWxhcihmYykuZmxvb3IoKSxxYz1YaCk7a2IhPT1JYSYmKFJhLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxJYSksa2I9SWEpO3liLnZpZXdwb3J0KExiKTt5Yi5zY2lzc29yKFRiKTt5Yi5zZXRTY2lzc29yVGVzdChxYyk7T2EmJihUPWhjLmdldChULnRleHR1cmUpLFJhLmZyYW1lYnVmZmVyVGV4dHVyZTJEKDM2MTYwLDM2MDY0LDM0MDY5KyhZfHwwKSxULl9fd2ViZ2xUZXh0dXJlLGxhfHwwKSl9O3RoaXMucmVhZFJlbmRlclRhcmdldFBpeGVscz1mdW5jdGlvbihULFksbGEsSWEsT2EsYWIsUGEpe2lmKFQmJlQuaXNXZWJHTFJlbmRlclRhcmdldCl7dmFyIGZiPWhjLmdldChUKS5fX3dlYmdsRnJhbWVidWZmZXI7VC5pc1dlYkdMUmVuZGVyVGFyZ2V0Q3ViZSYmdm9pZCAwIT09UGEmJihmYj1mYltQYV0pO2lmKGZiKXtQYT0KITE7ZmIhPT1rYiYmKFJhLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxmYiksUGE9ITApO3RyeXt2YXIgQ2I9VC50ZXh0dXJlLG9iPUNiLmZvcm1hdCwkYT1DYi50eXBlOzEwMjMhPT1vYiYmUGMuY29udmVydChvYikhPT1SYS5nZXRQYXJhbWV0ZXIoMzU3MzkpP2NvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUmVuZGVyZXIucmVhZFJlbmRlclRhcmdldFBpeGVsczogcmVuZGVyVGFyZ2V0IGlzIG5vdCBpbiBSR0JBIG9yIGltcGxlbWVudGF0aW9uIGRlZmluZWQgZm9ybWF0LiIpOjEwMDk9PT0kYXx8UGMuY29udmVydCgkYSk9PT1SYS5nZXRQYXJhbWV0ZXIoMzU3MzgpfHwxMDE1PT09JGEmJihnYy5pc1dlYkdMMnx8TWIuZ2V0KCJPRVNfdGV4dHVyZV9mbG9hdCIpfHxNYi5nZXQoIldFQkdMX2NvbG9yX2J1ZmZlcl9mbG9hdCIpKXx8MTAxNj09PSRhJiYoZ2MuaXNXZWJHTDI/TWIuZ2V0KCJFWFRfY29sb3JfYnVmZmVyX2Zsb2F0Iik6TWIuZ2V0KCJFWFRfY29sb3JfYnVmZmVyX2hhbGZfZmxvYXQiKSk/CjM2MDUzPT09UmEuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cygzNjE2MCk/MDw9WSYmWTw9VC53aWR0aC1JYSYmMDw9bGEmJmxhPD1ULmhlaWdodC1PYSYmUmEucmVhZFBpeGVscyhZLGxhLElhLE9hLFBjLmNvbnZlcnQob2IpLFBjLmNvbnZlcnQoJGEpLGFiKTpjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFJlbmRlcmVyLnJlYWRSZW5kZXJUYXJnZXRQaXhlbHM6IHJlYWRQaXhlbHMgZnJvbSByZW5kZXJUYXJnZXQgZmFpbGVkLiBGcmFtZWJ1ZmZlciBub3QgY29tcGxldGUuIik6Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xSZW5kZXJlci5yZWFkUmVuZGVyVGFyZ2V0UGl4ZWxzOiByZW5kZXJUYXJnZXQgaXMgbm90IGluIFVuc2lnbmVkQnl0ZVR5cGUgb3IgaW1wbGVtZW50YXRpb24gZGVmaW5lZCB0eXBlLiIpfWZpbmFsbHl7UGEmJlJhLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxrYil9fX1lbHNlIGNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUmVuZGVyZXIucmVhZFJlbmRlclRhcmdldFBpeGVsczogcmVuZGVyVGFyZ2V0IGlzIG5vdCBUSFJFRS5XZWJHTFJlbmRlclRhcmdldC4iKX07CnRoaXMuY29weUZyYW1lYnVmZmVyVG9UZXh0dXJlPWZ1bmN0aW9uKFQsWSxsYSl7dmFyIElhPVkuaW1hZ2Uud2lkdGgsT2E9WS5pbWFnZS5oZWlnaHQsYWI9UGMuY29udmVydChZLmZvcm1hdCk7UWMuc2V0VGV4dHVyZTJEKFksMCk7UmEuY29weVRleEltYWdlMkQoMzU1MyxsYXx8MCxhYixULngsVC55LElhLE9hLDApfTt0aGlzLmNvcHlUZXh0dXJlVG9UZXh0dXJlPWZ1bmN0aW9uKFQsWSxsYSxJYSl7dmFyIE9hPVkuaW1hZ2Uud2lkdGgsYWI9WS5pbWFnZS5oZWlnaHQsUGE9UGMuY29udmVydChsYS5mb3JtYXQpLGZiPVBjLmNvbnZlcnQobGEudHlwZSk7UWMuc2V0VGV4dHVyZTJEKGxhLDApO1kuaXNEYXRhVGV4dHVyZT9SYS50ZXhTdWJJbWFnZTJEKDM1NTMsSWF8fDAsVC54LFQueSxPYSxhYixQYSxmYixZLmltYWdlLmRhdGEpOlJhLnRleFN1YkltYWdlMkQoMzU1MyxJYXx8MCxULngsVC55LFBhLGZiLFkuaW1hZ2UpfTsidW5kZWZpbmVkIiE9PXR5cGVvZiBfX1RIUkVFX0RFVlRPT0xTX18mJgpfX1RIUkVFX0RFVlRPT0xTX18uZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm9ic2VydmUiLHtkZXRhaWw6dGhpc30pKX1mdW5jdGlvbiBDZyhhLGMpe3RoaXMubmFtZT0iIjt0aGlzLmNvbG9yPW5ldyBIKGEpO3RoaXMuZGVuc2l0eT12b2lkIDAhPT1jP2M6Mi41RS00fWZ1bmN0aW9uIERnKGEsYyxlKXt0aGlzLm5hbWU9IiI7dGhpcy5jb2xvcj1uZXcgSChhKTt0aGlzLm5lYXI9dm9pZCAwIT09Yz9jOjE7dGhpcy5mYXI9dm9pZCAwIT09ZT9lOjFFM31mdW5jdGlvbiBTZChhLGMpe3RoaXMuYXJyYXk9YTt0aGlzLnN0cmlkZT1jO3RoaXMuY291bnQ9dm9pZCAwIT09YT9hLmxlbmd0aC9jOjA7dGhpcy5keW5hbWljPSExO3RoaXMudXBkYXRlUmFuZ2U9e29mZnNldDowLGNvdW50Oi0xfTt0aGlzLnZlcnNpb249MH1mdW5jdGlvbiB5ZihhLGMsZSxnKXt0aGlzLmRhdGE9YTt0aGlzLml0ZW1TaXplPWM7dGhpcy5vZmZzZXQ9ZTt0aGlzLm5vcm1hbGl6ZWQ9ITA9PT1nfWZ1bmN0aW9uIENkKGEpe1MuY2FsbCh0aGlzKTsKdGhpcy50eXBlPSJTcHJpdGVNYXRlcmlhbCI7dGhpcy5jb2xvcj1uZXcgSCgxNjc3NzIxNSk7dGhpcy5tYXA9bnVsbDt0aGlzLnJvdGF0aW9uPTA7dGhpcy5zaXplQXR0ZW51YXRpb249ITA7dGhpcy5saWdodHM9ITE7dGhpcy50cmFuc3BhcmVudD0hMDt0aGlzLnNldFZhbHVlcyhhKX1mdW5jdGlvbiB6ZihhKXtBLmNhbGwodGhpcyk7dGhpcy50eXBlPSJTcHJpdGUiO2lmKHZvaWQgMD09PUNlKXtDZT1uZXcgdmE7dmFyIGM9bmV3IFNkKG5ldyBGbG9hdDMyQXJyYXkoWy0uNSwtLjUsMCwwLDAsLjUsLS41LDAsMSwwLC41LC41LDAsMSwxLC0uNSwuNSwwLDAsMV0pLDUpO0NlLnNldEluZGV4KFswLDEsMiwwLDIsM10pO0NlLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyB5ZihjLDMsMCwhMSkpO0NlLmFkZEF0dHJpYnV0ZSgidXYiLG5ldyB5ZihjLDIsMywhMSkpfXRoaXMuZ2VvbWV0cnk9Q2U7dGhpcy5tYXRlcmlhbD12b2lkIDAhPT1hP2E6bmV3IENkO3RoaXMuY2VudGVyPW5ldyBmKC41LAouNSl9ZnVuY3Rpb24gRWcoYSxjLGUsZyx0LHYpe0RlLnN1YlZlY3RvcnMoYSxlKS5hZGRTY2FsYXIoLjUpLm11bHRpcGx5KGcpO3ZvaWQgMCE9PXQ/KEFmLng9dipEZS54LXQqRGUueSxBZi55PXQqRGUueCt2KkRlLnkpOkFmLmNvcHkoRGUpO2EuY29weShjKTthLngrPUFmLng7YS55Kz1BZi55O2EuYXBwbHlNYXRyaXg0KE9qKX1mdW5jdGlvbiBCZigpe0EuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IkxPRCI7T2JqZWN0LmRlZmluZVByb3BlcnRpZXModGhpcyx7bGV2ZWxzOntlbnVtZXJhYmxlOiEwLHZhbHVlOltdfX0pO3RoaXMuYXV0b1VwZGF0ZT0hMH1mdW5jdGlvbiBDZihhLGMpe2EmJmEuaXNHZW9tZXRyeSYmY29uc29sZS5lcnJvcigiVEhSRUUuU2tpbm5lZE1lc2ggbm8gbG9uZ2VyIHN1cHBvcnRzIFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKTt5YS5jYWxsKHRoaXMsYSxjKTt0aGlzLnR5cGU9IlNraW5uZWRNZXNoIjt0aGlzLmJpbmRNb2RlPQoiYXR0YWNoZWQiO3RoaXMuYmluZE1hdHJpeD1uZXcgcTt0aGlzLmJpbmRNYXRyaXhJbnZlcnNlPW5ldyBxfWZ1bmN0aW9uIEZnKGEsYyl7YT1hfHxbXTt0aGlzLmJvbmVzPWEuc2xpY2UoMCk7dGhpcy5ib25lTWF0cmljZXM9bmV3IEZsb2F0MzJBcnJheSgxNip0aGlzLmJvbmVzLmxlbmd0aCk7aWYodm9pZCAwPT09Yyl0aGlzLmNhbGN1bGF0ZUludmVyc2VzKCk7ZWxzZSBpZih0aGlzLmJvbmVzLmxlbmd0aD09PWMubGVuZ3RoKXRoaXMuYm9uZUludmVyc2VzPWMuc2xpY2UoMCk7ZWxzZSBmb3IoY29uc29sZS53YXJuKCJUSFJFRS5Ta2VsZXRvbiBib25lSW52ZXJzZXMgaXMgdGhlIHdyb25nIGxlbmd0aC4iKSx0aGlzLmJvbmVJbnZlcnNlcz1bXSxhPTAsYz10aGlzLmJvbmVzLmxlbmd0aDthPGM7YSsrKXRoaXMuYm9uZUludmVyc2VzLnB1c2gobmV3IHEpfWZ1bmN0aW9uIFpoKCl7QS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQm9uZSJ9ZnVuY3Rpb24gRmIoYSl7Uy5jYWxsKHRoaXMpO3RoaXMudHlwZT0KIkxpbmVCYXNpY01hdGVyaWFsIjt0aGlzLmNvbG9yPW5ldyBIKDE2Nzc3MjE1KTt0aGlzLmxpbmV3aWR0aD0xO3RoaXMubGluZWpvaW49dGhpcy5saW5lY2FwPSJyb3VuZCI7dGhpcy5saWdodHM9ITE7dGhpcy5zZXRWYWx1ZXMoYSl9ZnVuY3Rpb24gWGIoYSxjLGUpezE9PT1lJiZjb25zb2xlLmVycm9yKCJUSFJFRS5MaW5lOiBwYXJhbWV0ZXIgVEhSRUUuTGluZVBpZWNlcyBubyBsb25nZXIgc3VwcG9ydGVkLiBVc2UgVEhSRUUuTGluZVNlZ21lbnRzIGluc3RlYWQuIik7QS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iTGluZSI7dGhpcy5nZW9tZXRyeT12b2lkIDAhPT1hP2E6bmV3IHZhO3RoaXMubWF0ZXJpYWw9dm9pZCAwIT09Yz9jOm5ldyBGYih7Y29sb3I6MTY3NzcyMTUqTWF0aC5yYW5kb20oKX0pfWZ1bmN0aW9uIEliKGEsYyl7WGIuY2FsbCh0aGlzLGEsYyk7dGhpcy50eXBlPSJMaW5lU2VnbWVudHMifWZ1bmN0aW9uIEdnKGEsYyl7WGIuY2FsbCh0aGlzLGEsYyk7dGhpcy50eXBlPQoiTGluZUxvb3AifWZ1bmN0aW9uIENjKGEpe1MuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlBvaW50c01hdGVyaWFsIjt0aGlzLmNvbG9yPW5ldyBIKDE2Nzc3MjE1KTt0aGlzLm1hcD1udWxsO3RoaXMuc2l6ZT0xO3RoaXMuc2l6ZUF0dGVudWF0aW9uPSEwO3RoaXMubGlnaHRzPXRoaXMubW9ycGhUYXJnZXRzPSExO3RoaXMuc2V0VmFsdWVzKGEpfWZ1bmN0aW9uIEVlKGEsYyl7QS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iUG9pbnRzIjt0aGlzLmdlb21ldHJ5PXZvaWQgMCE9PWE/YTpuZXcgdmE7dGhpcy5tYXRlcmlhbD12b2lkIDAhPT1jP2M6bmV3IENjKHtjb2xvcjoxNjc3NzIxNSpNYXRoLnJhbmRvbSgpfSk7dGhpcy51cGRhdGVNb3JwaFRhcmdldHMoKX1mdW5jdGlvbiAkaChhLGMsZSxnLHQsdix6KXt2YXIgRT1haS5kaXN0YW5jZVNxVG9Qb2ludChhKTtFPGUmJihlPW5ldyBrLGFpLmNsb3Nlc3RQb2ludFRvUG9pbnQoYSxlKSxlLmFwcGx5TWF0cml4NChnKSxhPXQucmF5Lm9yaWdpbi5kaXN0YW5jZVRvKGUpLAphPHQubmVhcnx8YT50LmZhcnx8di5wdXNoKHtkaXN0YW5jZTphLGRpc3RhbmNlVG9SYXk6TWF0aC5zcXJ0KEUpLHBvaW50OmUsaW5kZXg6YyxmYWNlOm51bGwsb2JqZWN0Onp9KSl9ZnVuY3Rpb24gYmkoYSxjLGUsZyx0LHYseixFLEYpe2wuY2FsbCh0aGlzLGEsYyxlLGcsdCx2LHosRSxGKTt0aGlzLmZvcm1hdD12b2lkIDAhPT16P3o6MTAyMjt0aGlzLm1pbkZpbHRlcj12b2lkIDAhPT12P3Y6MTAwNjt0aGlzLm1hZ0ZpbHRlcj12b2lkIDAhPT10P3Q6MTAwNjt0aGlzLmdlbmVyYXRlTWlwbWFwcz0hMX1mdW5jdGlvbiBGZShhLGMsZSxnLHQsdix6LEUsRixJLE0sUCl7bC5jYWxsKHRoaXMsbnVsbCx2LHosRSxGLEksZyx0LE0sUCk7dGhpcy5pbWFnZT17d2lkdGg6YyxoZWlnaHQ6ZX07dGhpcy5taXBtYXBzPWE7dGhpcy5nZW5lcmF0ZU1pcG1hcHM9dGhpcy5mbGlwWT0hMX1mdW5jdGlvbiBEZihhLGMsZSxnLHQsdix6LEUsRil7bC5jYWxsKHRoaXMsYSxjLGUsZyx0LHYseixFLEYpO3RoaXMubmVlZHNVcGRhdGU9CiEwfWZ1bmN0aW9uIEVmKGEsYyxlLGcsdCx2LHosRSxGLEkpe0k9dm9pZCAwIT09ST9JOjEwMjY7aWYoMTAyNiE9PUkmJjEwMjchPT1JKXRocm93IEVycm9yKCJEZXB0aFRleHR1cmUgZm9ybWF0IG11c3QgYmUgZWl0aGVyIFRIUkVFLkRlcHRoRm9ybWF0IG9yIFRIUkVFLkRlcHRoU3RlbmNpbEZvcm1hdCIpO3ZvaWQgMD09PWUmJjEwMjY9PT1JJiYoZT0xMDEyKTt2b2lkIDA9PT1lJiYxMDI3PT09SSYmKGU9MTAyMCk7bC5jYWxsKHRoaXMsbnVsbCxnLHQsdix6LEUsSSxlLEYpO3RoaXMuaW1hZ2U9e3dpZHRoOmEsaGVpZ2h0OmN9O3RoaXMubWFnRmlsdGVyPXZvaWQgMCE9PXo/ejoxMDAzO3RoaXMubWluRmlsdGVyPXZvaWQgMCE9PUU/RToxMDAzO3RoaXMuZ2VuZXJhdGVNaXBtYXBzPXRoaXMuZmxpcFk9ITF9ZnVuY3Rpb24gR2UoYSl7dmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IldpcmVmcmFtZUdlb21ldHJ5Ijt2YXIgYz1bXSxlLGcsdCx2PVswLDBdLHo9e30sRT1bImEiLCJiIiwiYyJdOwppZihhJiZhLmlzR2VvbWV0cnkpe3ZhciBGPWEuZmFjZXM7dmFyIEk9MDtmb3IoZz1GLmxlbmd0aDtJPGc7SSsrKXt2YXIgTT1GW0ldO2ZvcihlPTA7Mz5lO2UrKyl7dmFyIFA9TVtFW2VdXTt2YXIgUT1NW0VbKGUrMSklM11dO3ZbMF09TWF0aC5taW4oUCxRKTt2WzFdPU1hdGgubWF4KFAsUSk7UD12WzBdKyIsIit2WzFdO3ZvaWQgMD09PXpbUF0mJih6W1BdPXtpbmRleDE6dlswXSxpbmRleDI6dlsxXX0pfX1mb3IoUCBpbiB6KUk9eltQXSxFPWEudmVydGljZXNbSS5pbmRleDFdLGMucHVzaChFLngsRS55LEUueiksRT1hLnZlcnRpY2VzW0kuaW5kZXgyXSxjLnB1c2goRS54LEUueSxFLnopfWVsc2UgaWYoYSYmYS5pc0J1ZmZlckdlb21ldHJ5KWlmKEU9bmV3IGssbnVsbCE9PWEuaW5kZXgpe0Y9YS5hdHRyaWJ1dGVzLnBvc2l0aW9uO009YS5pbmRleDt2YXIgVT1hLmdyb3VwczswPT09VS5sZW5ndGgmJihVPVt7c3RhcnQ6MCxjb3VudDpNLmNvdW50LG1hdGVyaWFsSW5kZXg6MH1dKTsKYT0wO2Zvcih0PVUubGVuZ3RoO2E8dDsrK2EpZm9yKEk9VVthXSxlPUkuc3RhcnQsZz1JLmNvdW50LEk9ZSxnPWUrZztJPGc7SSs9Mylmb3IoZT0wOzM+ZTtlKyspUD1NLmdldFgoSStlKSxRPU0uZ2V0WChJKyhlKzEpJTMpLHZbMF09TWF0aC5taW4oUCxRKSx2WzFdPU1hdGgubWF4KFAsUSksUD12WzBdKyIsIit2WzFdLHZvaWQgMD09PXpbUF0mJih6W1BdPXtpbmRleDE6dlswXSxpbmRleDI6dlsxXX0pO2ZvcihQIGluIHopST16W1BdLEUuZnJvbUJ1ZmZlckF0dHJpYnV0ZShGLEkuaW5kZXgxKSxjLnB1c2goRS54LEUueSxFLnopLEUuZnJvbUJ1ZmZlckF0dHJpYnV0ZShGLEkuaW5kZXgyKSxjLnB1c2goRS54LEUueSxFLnopfWVsc2UgZm9yKEY9YS5hdHRyaWJ1dGVzLnBvc2l0aW9uLEk9MCxnPUYuY291bnQvMztJPGc7SSsrKWZvcihlPTA7Mz5lO2UrKyl6PTMqSStlLEUuZnJvbUJ1ZmZlckF0dHJpYnV0ZShGLHopLGMucHVzaChFLngsRS55LEUueiksej0zKkkrKGUrMSklMyxFLmZyb21CdWZmZXJBdHRyaWJ1dGUoRiwKeiksYy5wdXNoKEUueCxFLnksRS56KTt0aGlzLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShjLDMpKX1mdW5jdGlvbiBGZihhLGMsZSl7eGEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlBhcmFtZXRyaWNHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXtmdW5jOmEsc2xpY2VzOmMsc3RhY2tzOmV9O3RoaXMuZnJvbUJ1ZmZlckdlb21ldHJ5KG5ldyBIZShhLGMsZSkpO3RoaXMubWVyZ2VWZXJ0aWNlcygpfWZ1bmN0aW9uIEhlKGEsYyxlKXt2YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iUGFyYW1ldHJpY0J1ZmZlckdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e2Z1bmM6YSxzbGljZXM6YyxzdGFja3M6ZX07dmFyIGc9W10sdD1bXSx2PVtdLHo9W10sRT1uZXcgayxGPW5ldyBrLEk9bmV3IGssTT1uZXcgayxQPW5ldyBrLFEsVTszPmEubGVuZ3RoJiZjb25zb2xlLmVycm9yKCJUSFJFRS5QYXJhbWV0cmljR2VvbWV0cnk6IEZ1bmN0aW9uIG11c3Qgbm93IG1vZGlmeSBhIFZlY3RvcjMgYXMgdGhpcmQgcGFyYW1ldGVyLiIpOwp2YXIgVj1jKzE7Zm9yKFE9MDtRPD1lO1ErKyl7dmFyIGVhPVEvZTtmb3IoVT0wO1U8PWM7VSsrKXt2YXIgZGE9VS9jO2EoZGEsZWEsRik7dC5wdXNoKEYueCxGLnksRi56KTswPD1kYS0xRS01PyhhKGRhLTFFLTUsZWEsSSksTS5zdWJWZWN0b3JzKEYsSSkpOihhKGRhKzFFLTUsZWEsSSksTS5zdWJWZWN0b3JzKEksRikpOzA8PWVhLTFFLTU/KGEoZGEsZWEtMUUtNSxJKSxQLnN1YlZlY3RvcnMoRixJKSk6KGEoZGEsZWErMUUtNSxJKSxQLnN1YlZlY3RvcnMoSSxGKSk7RS5jcm9zc1ZlY3RvcnMoTSxQKS5ub3JtYWxpemUoKTt2LnB1c2goRS54LEUueSxFLnopO3oucHVzaChkYSxlYSl9fWZvcihRPTA7UTxlO1ErKylmb3IoVT0wO1U8YztVKyspYT1RKlYrVSsxLEU9KFErMSkqVitVKzEsRj0oUSsxKSpWK1UsZy5wdXNoKFEqVitVLGEsRiksZy5wdXNoKGEsRSxGKTt0aGlzLnNldEluZGV4KGcpO3RoaXMuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKHQsMykpO3RoaXMuYWRkQXR0cmlidXRlKCJub3JtYWwiLApuZXcgYmEodiwzKSk7dGhpcy5hZGRBdHRyaWJ1dGUoInV2IixuZXcgYmEoeiwyKSl9ZnVuY3Rpb24gR2YoYSxjLGUsZyl7eGEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlBvbHloZWRyb25HZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXt2ZXJ0aWNlczphLGluZGljZXM6YyxyYWRpdXM6ZSxkZXRhaWw6Z307dGhpcy5mcm9tQnVmZmVyR2VvbWV0cnkobmV3IG1jKGEsYyxlLGcpKTt0aGlzLm1lcmdlVmVydGljZXMoKX1mdW5jdGlvbiBtYyhhLGMsZSxnKXtmdW5jdGlvbiB0KFYsZWEsZGEscmEpe3JhPU1hdGgucG93KDIscmEpO3ZhciBwYT1bXSxxYSx1YTtmb3IocWE9MDtxYTw9cmE7cWErKyl7cGFbcWFdPVtdO3ZhciBuYT1WLmNsb25lKCkubGVycChkYSxxYS9yYSksdGE9ZWEuY2xvbmUoKS5sZXJwKGRhLHFhL3JhKSxCYT1yYS1xYTtmb3IodWE9MDt1YTw9QmE7dWErKylwYVtxYV1bdWFdPTA9PT11YSYmcWE9PT1yYT9uYTpuYS5jbG9uZSgpLmxlcnAodGEsdWEvQmEpfWZvcihxYT0wO3FhPApyYTtxYSsrKWZvcih1YT0wO3VhPDIqKHJhLXFhKS0xO3VhKyspVj1NYXRoLmZsb29yKHVhLzIpLDA9PT11YSUyPyh6KHBhW3FhXVtWKzFdKSx6KHBhW3FhKzFdW1ZdKSx6KHBhW3FhXVtWXSkpOih6KHBhW3FhXVtWKzFdKSx6KHBhW3FhKzFdW1YrMV0pLHoocGFbcWErMV1bVl0pKX1mdW5jdGlvbiB2KCl7Zm9yKHZhciBWPTA7VjxVLmxlbmd0aDtWKz02KXt2YXIgZWE9VVtWKzBdLGRhPVVbVisyXSxyYT1VW1YrNF0scGE9TWF0aC5taW4oZWEsZGEscmEpOy45PE1hdGgubWF4KGVhLGRhLHJhKSYmLjE+cGEmJiguMj5lYSYmKFVbViswXSs9MSksLjI+ZGEmJihVW1YrMl0rPTEpLC4yPnJhJiYoVVtWKzRdKz0xKSl9fWZ1bmN0aW9uIHooVil7US5wdXNoKFYueCxWLnksVi56KX1mdW5jdGlvbiBFKFYsZWEpe1YqPTM7ZWEueD1hW1YrMF07ZWEueT1hW1YrMV07ZWEuej1hW1YrMl19ZnVuY3Rpb24gRigpe2Zvcih2YXIgVj1uZXcgayxlYT1uZXcgayxkYT1uZXcgayxyYT1uZXcgayxwYT1uZXcgZiwKcWE9bmV3IGYsdWE9bmV3IGYsbmE9MCx0YT0wO25hPFEubGVuZ3RoO25hKz05LHRhKz02KXtWLnNldChRW25hKzBdLFFbbmErMV0sUVtuYSsyXSk7ZWEuc2V0KFFbbmErM10sUVtuYSs0XSxRW25hKzVdKTtkYS5zZXQoUVtuYSs2XSxRW25hKzddLFFbbmErOF0pO3BhLnNldChVW3RhKzBdLFVbdGErMV0pO3FhLnNldChVW3RhKzJdLFVbdGErM10pO3VhLnNldChVW3RhKzRdLFVbdGErNV0pO3JhLmNvcHkoVikuYWRkKGVhKS5hZGQoZGEpLmRpdmlkZVNjYWxhcigzKTt2YXIgQmE9TShyYSk7SShwYSx0YSswLFYsQmEpO0kocWEsdGErMixlYSxCYSk7SSh1YSx0YSs0LGRhLEJhKX19ZnVuY3Rpb24gSShWLGVhLGRhLHJhKXswPnJhJiYxPT09Vi54JiYoVVtlYV09Vi54LTEpOzA9PT1kYS54JiYwPT09ZGEueiYmKFVbZWFdPXJhLzIvTWF0aC5QSSsuNSl9ZnVuY3Rpb24gTShWKXtyZXR1cm4gTWF0aC5hdGFuMihWLnosLVYueCl9ZnVuY3Rpb24gUChWKXtyZXR1cm4gTWF0aC5hdGFuMigtVi55LApNYXRoLnNxcnQoVi54KlYueCtWLnoqVi56KSl9dmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlBvbHloZWRyb25CdWZmZXJHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXt2ZXJ0aWNlczphLGluZGljZXM6YyxyYWRpdXM6ZSxkZXRhaWw6Z307ZT1lfHwxO2c9Z3x8MDt2YXIgUT1bXSxVPVtdOyhmdW5jdGlvbihWKXtmb3IodmFyIGVhPW5ldyBrLGRhPW5ldyBrLHJhPW5ldyBrLHBhPTA7cGE8Yy5sZW5ndGg7cGErPTMpRShjW3BhKzBdLGVhKSxFKGNbcGErMV0sZGEpLEUoY1twYSsyXSxyYSksdChlYSxkYSxyYSxWKX0pKGcpOyhmdW5jdGlvbihWKXtmb3IodmFyIGVhPW5ldyBrLGRhPTA7ZGE8US5sZW5ndGg7ZGErPTMpZWEueD1RW2RhKzBdLGVhLnk9UVtkYSsxXSxlYS56PVFbZGErMl0sZWEubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIoViksUVtkYSswXT1lYS54LFFbZGErMV09ZWEueSxRW2RhKzJdPWVhLnp9KShlKTsoZnVuY3Rpb24oKXtmb3IodmFyIFY9bmV3IGssZWE9MDtlYTwKUS5sZW5ndGg7ZWErPTMpe1YueD1RW2VhKzBdO1YueT1RW2VhKzFdO1Yuej1RW2VhKzJdO3ZhciBkYT1NKFYpLzIvTWF0aC5QSSsuNSxyYT1QKFYpL01hdGguUEkrLjU7VS5wdXNoKGRhLDEtcmEpfUYoKTt2KCl9KSgpO3RoaXMuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKFEsMykpO3RoaXMuYWRkQXR0cmlidXRlKCJub3JtYWwiLG5ldyBiYShRLnNsaWNlKCksMykpO3RoaXMuYWRkQXR0cmlidXRlKCJ1diIsbmV3IGJhKFUsMikpOzA9PT1nP3RoaXMuY29tcHV0ZVZlcnRleE5vcm1hbHMoKTp0aGlzLm5vcm1hbGl6ZU5vcm1hbHMoKX1mdW5jdGlvbiBIZihhLGMpe3hhLmNhbGwodGhpcyk7dGhpcy50eXBlPSJUZXRyYWhlZHJvbkdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3JhZGl1czphLGRldGFpbDpjfTt0aGlzLmZyb21CdWZmZXJHZW9tZXRyeShuZXcgSWUoYSxjKSk7dGhpcy5tZXJnZVZlcnRpY2VzKCl9ZnVuY3Rpb24gSWUoYSxjKXttYy5jYWxsKHRoaXMsWzEsMSwxLAotMSwtMSwxLC0xLDEsLTEsMSwtMSwtMV0sWzIsMSwwLDAsMywyLDEsMywwLDIsMywxXSxhLGMpO3RoaXMudHlwZT0iVGV0cmFoZWRyb25CdWZmZXJHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXM6YSxkZXRhaWw6Y319ZnVuY3Rpb24gSWYoYSxjKXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iT2N0YWhlZHJvbkdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3JhZGl1czphLGRldGFpbDpjfTt0aGlzLmZyb21CdWZmZXJHZW9tZXRyeShuZXcgVGQoYSxjKSk7dGhpcy5tZXJnZVZlcnRpY2VzKCl9ZnVuY3Rpb24gVGQoYSxjKXttYy5jYWxsKHRoaXMsWzEsMCwwLC0xLDAsMCwwLDEsMCwwLC0xLDAsMCwwLDEsMCwwLC0xXSxbMCwyLDQsMCw0LDMsMCwzLDUsMCw1LDIsMSwyLDUsMSw1LDMsMSwzLDQsMSw0LDJdLGEsYyk7dGhpcy50eXBlPSJPY3RhaGVkcm9uQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzOmEsZGV0YWlsOmN9fWZ1bmN0aW9uIEpmKGEsYyl7eGEuY2FsbCh0aGlzKTsKdGhpcy50eXBlPSJJY29zYWhlZHJvbkdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3JhZGl1czphLGRldGFpbDpjfTt0aGlzLmZyb21CdWZmZXJHZW9tZXRyeShuZXcgSmUoYSxjKSk7dGhpcy5tZXJnZVZlcnRpY2VzKCl9ZnVuY3Rpb24gSmUoYSxjKXt2YXIgZT0oMStNYXRoLnNxcnQoNSkpLzI7bWMuY2FsbCh0aGlzLFstMSxlLDAsMSxlLDAsLTEsLWUsMCwxLC1lLDAsMCwtMSxlLDAsMSxlLDAsLTEsLWUsMCwxLC1lLGUsMCwtMSxlLDAsMSwtZSwwLC0xLC1lLDAsMV0sWzAsMTEsNSwwLDUsMSwwLDEsNywwLDcsMTAsMCwxMCwxMSwxLDUsOSw1LDExLDQsMTEsMTAsMiwxMCw3LDYsNywxLDgsMyw5LDQsMyw0LDIsMywyLDYsMyw2LDgsMyw4LDksNCw5LDUsMiw0LDExLDYsMiwxMCw4LDYsNyw5LDgsMV0sYSxjKTt0aGlzLnR5cGU9Ikljb3NhaGVkcm9uQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzOmEsZGV0YWlsOmN9fWZ1bmN0aW9uIEtmKGEsYyl7eGEuY2FsbCh0aGlzKTsKdGhpcy50eXBlPSJEb2RlY2FoZWRyb25HZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXM6YSxkZXRhaWw6Y307dGhpcy5mcm9tQnVmZmVyR2VvbWV0cnkobmV3IEtlKGEsYykpO3RoaXMubWVyZ2VWZXJ0aWNlcygpfWZ1bmN0aW9uIEtlKGEsYyl7dmFyIGU9KDErTWF0aC5zcXJ0KDUpKS8yLGc9MS9lO21jLmNhbGwodGhpcyxbLTEsLTEsLTEsLTEsLTEsMSwtMSwxLC0xLC0xLDEsMSwxLC0xLC0xLDEsLTEsMSwxLDEsLTEsMSwxLDEsMCwtZywtZSwwLC1nLGUsMCxnLC1lLDAsZyxlLC1nLC1lLDAsLWcsZSwwLGcsLWUsMCxnLGUsMCwtZSwwLC1nLGUsMCwtZywtZSwwLGcsZSwwLGddLFszLDExLDcsMyw3LDE1LDMsMTUsMTMsNywxOSwxNyw3LDE3LDYsNyw2LDE1LDE3LDQsOCwxNyw4LDEwLDE3LDEwLDYsOCwwLDE2LDgsMTYsMiw4LDIsMTAsMCwxMiwxLDAsMSwxOCwwLDE4LDE2LDYsMTAsMiw2LDIsMTMsNiwxMywxNSwyLDE2LDE4LDIsMTgsMywyLDMsMTMsMTgsMSw5LDE4LDksCjExLDE4LDExLDMsNCwxNCwxMiw0LDEyLDAsNCwwLDgsMTEsOSw1LDExLDUsMTksMTEsMTksNywxOSw1LDE0LDE5LDE0LDQsMTksNCwxNywxLDEyLDE0LDEsMTQsNSwxLDUsOV0sYSxjKTt0aGlzLnR5cGU9IkRvZGVjYWhlZHJvbkJ1ZmZlckdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3JhZGl1czphLGRldGFpbDpjfX1mdW5jdGlvbiBMZihhLGMsZSxnLHQsdil7eGEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlR1YmVHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXtwYXRoOmEsdHVidWxhclNlZ21lbnRzOmMscmFkaXVzOmUscmFkaWFsU2VnbWVudHM6ZyxjbG9zZWQ6dH07dm9pZCAwIT09diYmY29uc29sZS53YXJuKCJUSFJFRS5UdWJlR2VvbWV0cnk6IHRhcGVyIGhhcyBiZWVuIHJlbW92ZWQuIik7YT1uZXcgVWQoYSxjLGUsZyx0KTt0aGlzLnRhbmdlbnRzPWEudGFuZ2VudHM7dGhpcy5ub3JtYWxzPWEubm9ybWFsczt0aGlzLmJpbm9ybWFscz1hLmJpbm9ybWFsczt0aGlzLmZyb21CdWZmZXJHZW9tZXRyeShhKTsKdGhpcy5tZXJnZVZlcnRpY2VzKCl9ZnVuY3Rpb24gVWQoYSxjLGUsZyx0KXtmdW5jdGlvbiB2KHFhKXtRPWEuZ2V0UG9pbnRBdChxYS9jLFEpO3ZhciB1YT1GLm5vcm1hbHNbcWFdO3FhPUYuYmlub3JtYWxzW3FhXTtmb3IoVj0wO1Y8PWc7VisrKXt2YXIgbmE9Vi9nKk1hdGguUEkqMix0YT1NYXRoLnNpbihuYSk7bmE9LU1hdGguY29zKG5hKTtNLng9bmEqdWEueCt0YSpxYS54O00ueT1uYSp1YS55K3RhKnFhLnk7TS56PW5hKnVhLnordGEqcWEuejtNLm5vcm1hbGl6ZSgpO2RhLnB1c2goTS54LE0ueSxNLnopO0kueD1RLngrZSpNLng7SS55PVEueStlKk0ueTtJLno9US56K2UqTS56O2VhLnB1c2goSS54LEkueSxJLnopfX1mdW5jdGlvbiB6KCl7Zm9yKFY9MTtWPD1jO1YrKylmb3IoVT0xO1U8PWc7VSsrKXt2YXIgcWE9KGcrMSkqVisoVS0xKSx1YT0oZysxKSpWK1UsbmE9KGcrMSkqKFYtMSkrVTtwYS5wdXNoKChnKzEpKihWLTEpKyhVLTEpLHFhLG5hKTtwYS5wdXNoKHFhLHVhLG5hKX19CmZ1bmN0aW9uIEUoKXtmb3IoVT0wO1U8PWM7VSsrKWZvcihWPTA7Vjw9ZztWKyspUC54PVUvYyxQLnk9Vi9nLHJhLnB1c2goUC54LFAueSl9dmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlR1YmVCdWZmZXJHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXtwYXRoOmEsdHVidWxhclNlZ21lbnRzOmMscmFkaXVzOmUscmFkaWFsU2VnbWVudHM6ZyxjbG9zZWQ6dH07Yz1jfHw2NDtlPWV8fDE7Zz1nfHw4O3Q9dHx8ITE7dmFyIEY9YS5jb21wdXRlRnJlbmV0RnJhbWVzKGMsdCk7dGhpcy50YW5nZW50cz1GLnRhbmdlbnRzO3RoaXMubm9ybWFscz1GLm5vcm1hbHM7dGhpcy5iaW5vcm1hbHM9Ri5iaW5vcm1hbHM7dmFyIEk9bmV3IGssTT1uZXcgayxQPW5ldyBmLFE9bmV3IGssVSxWLGVhPVtdLGRhPVtdLHJhPVtdLHBhPVtdOyhmdW5jdGlvbigpe2ZvcihVPTA7VTxjO1UrKyl2KFUpO3YoITE9PT10P2M6MCk7RSgpO3ooKX0pKCk7dGhpcy5zZXRJbmRleChwYSk7dGhpcy5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIiwKbmV3IGJhKGVhLDMpKTt0aGlzLmFkZEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgYmEoZGEsMykpO3RoaXMuYWRkQXR0cmlidXRlKCJ1diIsbmV3IGJhKHJhLDIpKX1mdW5jdGlvbiBNZihhLGMsZSxnLHQsdix6KXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iVG9ydXNLbm90R2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzOmEsdHViZTpjLHR1YnVsYXJTZWdtZW50czplLHJhZGlhbFNlZ21lbnRzOmcscDp0LHE6dn07dm9pZCAwIT09eiYmY29uc29sZS53YXJuKCJUSFJFRS5Ub3J1c0tub3RHZW9tZXRyeTogaGVpZ2h0U2NhbGUgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIC5zY2FsZSggeCwgeSwgeiApIGluc3RlYWQuIik7dGhpcy5mcm9tQnVmZmVyR2VvbWV0cnkobmV3IExlKGEsYyxlLGcsdCx2KSk7dGhpcy5tZXJnZVZlcnRpY2VzKCl9ZnVuY3Rpb24gTGUoYSxjLGUsZyx0LHYpe2Z1bmN0aW9uIHoodGEsQmEsVGEsVWEsQ2Epe3ZhciBIYT1NYXRoLnNpbih0YSk7QmE9VGEvCkJhKnRhO1RhPU1hdGguY29zKEJhKTtDYS54PVVhKigyK1RhKSouNSpNYXRoLmNvcyh0YSk7Q2EueT1VYSooMitUYSkqSGEqLjU7Q2Euej1VYSpNYXRoLnNpbihCYSkqLjV9dmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlRvcnVzS25vdEJ1ZmZlckdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3JhZGl1czphLHR1YmU6Yyx0dWJ1bGFyU2VnbWVudHM6ZSxyYWRpYWxTZWdtZW50czpnLHA6dCxxOnZ9O2E9YXx8MTtjPWN8fC40O2U9TWF0aC5mbG9vcihlKXx8NjQ7Zz1NYXRoLmZsb29yKGcpfHw4O3Q9dHx8Mjt2PXZ8fDM7dmFyIEU9W10sRj1bXSxJPVtdLE09W10sUCxRPW5ldyBrLFU9bmV3IGssVj1uZXcgayxlYT1uZXcgayxkYT1uZXcgayxyYT1uZXcgayxwYT1uZXcgaztmb3IoUD0wO1A8PWU7KytQKXt2YXIgcWE9UC9lKnQqTWF0aC5QSSoyO3oocWEsdCx2LGEsVik7eihxYSsuMDEsdCx2LGEsZWEpO3JhLnN1YlZlY3RvcnMoZWEsVik7cGEuYWRkVmVjdG9ycyhlYSxWKTtkYS5jcm9zc1ZlY3RvcnMocmEsCnBhKTtwYS5jcm9zc1ZlY3RvcnMoZGEscmEpO2RhLm5vcm1hbGl6ZSgpO3BhLm5vcm1hbGl6ZSgpO2ZvcihxYT0wO3FhPD1nOysrcWEpe3ZhciB1YT1xYS9nKk1hdGguUEkqMixuYT0tYypNYXRoLmNvcyh1YSk7dWE9YypNYXRoLnNpbih1YSk7US54PVYueCsobmEqcGEueCt1YSpkYS54KTtRLnk9Vi55KyhuYSpwYS55K3VhKmRhLnkpO1Euej1WLnorKG5hKnBhLnordWEqZGEueik7Ri5wdXNoKFEueCxRLnksUS56KTtVLnN1YlZlY3RvcnMoUSxWKS5ub3JtYWxpemUoKTtJLnB1c2goVS54LFUueSxVLnopO00ucHVzaChQL2UpO00ucHVzaChxYS9nKX19Zm9yKHFhPTE7cWE8PWU7cWErKylmb3IoUD0xO1A8PWc7UCsrKWE9KGcrMSkqcWErKFAtMSksYz0oZysxKSpxYStQLHQ9KGcrMSkqKHFhLTEpK1AsRS5wdXNoKChnKzEpKihxYS0xKSsoUC0xKSxhLHQpLEUucHVzaChhLGMsdCk7dGhpcy5zZXRJbmRleChFKTt0aGlzLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShGLDMpKTt0aGlzLmFkZEF0dHJpYnV0ZSgibm9ybWFsIiwKbmV3IGJhKEksMykpO3RoaXMuYWRkQXR0cmlidXRlKCJ1diIsbmV3IGJhKE0sMikpfWZ1bmN0aW9uIE5mKGEsYyxlLGcsdCl7eGEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlRvcnVzR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzOmEsdHViZTpjLHJhZGlhbFNlZ21lbnRzOmUsdHVidWxhclNlZ21lbnRzOmcsYXJjOnR9O3RoaXMuZnJvbUJ1ZmZlckdlb21ldHJ5KG5ldyBNZShhLGMsZSxnLHQpKTt0aGlzLm1lcmdlVmVydGljZXMoKX1mdW5jdGlvbiBNZShhLGMsZSxnLHQpe3ZhLmNhbGwodGhpcyk7dGhpcy50eXBlPSJUb3J1c0J1ZmZlckdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3JhZGl1czphLHR1YmU6YyxyYWRpYWxTZWdtZW50czplLHR1YnVsYXJTZWdtZW50czpnLGFyYzp0fTthPWF8fDE7Yz1jfHwuNDtlPU1hdGguZmxvb3IoZSl8fDg7Zz1NYXRoLmZsb29yKGcpfHw2O3Q9dHx8MipNYXRoLlBJO3ZhciB2PVtdLHo9W10sRT1bXSxGPVtdLEk9bmV3IGssTT1uZXcgaywKUD1uZXcgayxRLFU7Zm9yKFE9MDtRPD1lO1ErKylmb3IoVT0wO1U8PWc7VSsrKXt2YXIgVj1VL2cqdCxlYT1RL2UqTWF0aC5QSSoyO00ueD0oYStjKk1hdGguY29zKGVhKSkqTWF0aC5jb3MoVik7TS55PShhK2MqTWF0aC5jb3MoZWEpKSpNYXRoLnNpbihWKTtNLno9YypNYXRoLnNpbihlYSk7ei5wdXNoKE0ueCxNLnksTS56KTtJLng9YSpNYXRoLmNvcyhWKTtJLnk9YSpNYXRoLnNpbihWKTtQLnN1YlZlY3RvcnMoTSxJKS5ub3JtYWxpemUoKTtFLnB1c2goUC54LFAueSxQLnopO0YucHVzaChVL2cpO0YucHVzaChRL2UpfWZvcihRPTE7UTw9ZTtRKyspZm9yKFU9MTtVPD1nO1UrKylhPShnKzEpKihRLTEpK1UtMSxjPShnKzEpKihRLTEpK1UsdD0oZysxKSpRK1Usdi5wdXNoKChnKzEpKlErVS0xLGEsdCksdi5wdXNoKGEsYyx0KTt0aGlzLnNldEluZGV4KHYpO3RoaXMuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKHosMykpO3RoaXMuYWRkQXR0cmlidXRlKCJub3JtYWwiLG5ldyBiYShFLAozKSk7dGhpcy5hZGRBdHRyaWJ1dGUoInV2IixuZXcgYmEoRiwyKSl9ZnVuY3Rpb24gUGooYSxjLGUsZyx0KXtpZih0PT09MDxybShhLGMsZSxnKSlmb3IodD1jO3Q8ZTt0Kz1nKXZhciB2PVFqKHQsYVt0XSxhW3QrMV0sdik7ZWxzZSBmb3IodD1lLWc7dD49Yzt0LT1nKXY9UWoodCxhW3RdLGFbdCsxXSx2KTt2JiZWZCh2LHYubmV4dCkmJihPZih2KSx2PXYubmV4dCk7cmV0dXJuIHZ9ZnVuY3Rpb24gUGYoYSxjKXtpZighYSlyZXR1cm4gYTtjfHwoYz1hKTtkb3t2YXIgZT0hMTtpZihhLnN0ZWluZXJ8fCFWZChhLGEubmV4dCkmJjAhPT1ZYihhLnByZXYsYSxhLm5leHQpKWE9YS5uZXh0O2Vsc2V7T2YoYSk7YT1jPWEucHJldjtpZihhPT09YS5uZXh0KWJyZWFrO2U9ITB9fXdoaWxlKGV8fGEhPT1jKTtyZXR1cm4gY31mdW5jdGlvbiBRZihhLGMsZSxnLHQsdix6KXtpZihhKXsheiYmdiYmc20oYSxnLHQsdik7Zm9yKHZhciBFPWEsRixJO2EucHJldiE9PWEubmV4dDspaWYoRj1hLnByZXYsCkk9YS5uZXh0LHY/dG0oYSxnLHQsdik6dW0oYSkpYy5wdXNoKEYuaS9lKSxjLnB1c2goYS5pL2UpLGMucHVzaChJLmkvZSksT2YoYSksRT1hPUkubmV4dDtlbHNlIGlmKGE9SSxhPT09RSl7ej8xPT09ej8oYT12bShhLGMsZSksUWYoYSxjLGUsZyx0LHYsMikpOjI9PT16JiZ3bShhLGMsZSxnLHQsdik6UWYoUGYoYSksYyxlLGcsdCx2LDEpO2JyZWFrfX19ZnVuY3Rpb24gdW0oYSl7dmFyIGM9YS5wcmV2LGU9YS5uZXh0O2lmKDA8PVliKGMsYSxlKSlyZXR1cm4hMTtmb3IodmFyIGc9YS5uZXh0Lm5leHQ7ZyE9PWEucHJldjspe2lmKE5lKGMueCxjLnksYS54LGEueSxlLngsZS55LGcueCxnLnkpJiYwPD1ZYihnLnByZXYsZyxnLm5leHQpKXJldHVybiExO2c9Zy5uZXh0fXJldHVybiEwfWZ1bmN0aW9uIHRtKGEsYyxlLGcpe3ZhciB0PWEucHJldix2PWEubmV4dDtpZigwPD1ZYih0LGEsdikpcmV0dXJuITE7dmFyIHo9dC54PmEueD90Lng+di54P3QueDp2Lng6YS54PnYueD9hLng6di54LApFPXQueT5hLnk/dC55PnYueT90Lnk6di55OmEueT52Lnk/YS55OnYueSxGPWNpKHQueDxhLng/dC54PHYueD90Lng6di54OmEueDx2Lng/YS54OnYueCx0Lnk8YS55P3QueTx2Lnk/dC55OnYueTphLnk8di55P2EueTp2LnksYyxlLGcpO2M9Y2koeixFLGMsZSxnKTtlPWEucHJldlo7Zm9yKGc9YS5uZXh0WjtlJiZlLno+PUYmJmcmJmcuejw9Yzspe2lmKGUhPT1hLnByZXYmJmUhPT1hLm5leHQmJk5lKHQueCx0LnksYS54LGEueSx2Lngsdi55LGUueCxlLnkpJiYwPD1ZYihlLnByZXYsZSxlLm5leHQpKXJldHVybiExO2U9ZS5wcmV2WjtpZihnIT09YS5wcmV2JiZnIT09YS5uZXh0JiZOZSh0LngsdC55LGEueCxhLnksdi54LHYueSxnLngsZy55KSYmMDw9WWIoZy5wcmV2LGcsZy5uZXh0KSlyZXR1cm4hMTtnPWcubmV4dFp9Zm9yKDtlJiZlLno+PUY7KXtpZihlIT09YS5wcmV2JiZlIT09YS5uZXh0JiZOZSh0LngsdC55LGEueCxhLnksdi54LHYueSxlLngsZS55KSYmMDw9WWIoZS5wcmV2LAplLGUubmV4dCkpcmV0dXJuITE7ZT1lLnByZXZafWZvcig7ZyYmZy56PD1jOyl7aWYoZyE9PWEucHJldiYmZyE9PWEubmV4dCYmTmUodC54LHQueSxhLngsYS55LHYueCx2LnksZy54LGcueSkmJjA8PVliKGcucHJldixnLGcubmV4dCkpcmV0dXJuITE7Zz1nLm5leHRafXJldHVybiEwfWZ1bmN0aW9uIHZtKGEsYyxlKXt2YXIgZz1hO2Rve3ZhciB0PWcucHJldix2PWcubmV4dC5uZXh0OyFWZCh0LHYpJiZSaih0LGcsZy5uZXh0LHYpJiZSZih0LHYpJiZSZih2LHQpJiYoYy5wdXNoKHQuaS9lKSxjLnB1c2goZy5pL2UpLGMucHVzaCh2LmkvZSksT2YoZyksT2YoZy5uZXh0KSxnPWE9dik7Zz1nLm5leHR9d2hpbGUoZyE9PWEpO3JldHVybiBnfWZ1bmN0aW9uIHdtKGEsYyxlLGcsdCx2KXt2YXIgej1hO2Rve2Zvcih2YXIgRT16Lm5leHQubmV4dDtFIT09ei5wcmV2Oyl7aWYoei5pIT09RS5pJiZ4bSh6LEUpKXthPVNqKHosRSk7ej1QZih6LHoubmV4dCk7YT1QZihhLGEubmV4dCk7UWYoeiwKYyxlLGcsdCx2KTtRZihhLGMsZSxnLHQsdik7cmV0dXJufUU9RS5uZXh0fXo9ei5uZXh0fXdoaWxlKHohPT1hKX1mdW5jdGlvbiB5bShhLGMsZSxnKXt2YXIgdD1bXSx2O3ZhciB6PTA7Zm9yKHY9Yy5sZW5ndGg7ejx2O3orKyl7dmFyIEU9Y1t6XSpnO3ZhciBGPXo8di0xP2NbeisxXSpnOmEubGVuZ3RoO0U9UGooYSxFLEYsZywhMSk7RT09PUUubmV4dCYmKEUuc3RlaW5lcj0hMCk7dC5wdXNoKHptKEUpKX10LnNvcnQoQW0pO2Zvcih6PTA7ejx0Lmxlbmd0aDt6KyspQm0odFt6XSxlKSxlPVBmKGUsZS5uZXh0KTtyZXR1cm4gZX1mdW5jdGlvbiBBbShhLGMpe3JldHVybiBhLngtYy54fWZ1bmN0aW9uIEJtKGEsYyl7aWYoYz1DbShhLGMpKWE9U2ooYyxhKSxQZihhLGEubmV4dCl9ZnVuY3Rpb24gQ20oYSxjKXt2YXIgZT1jLGc9YS54LHQ9YS55LHY9LUluZmluaXR5O2Rve2lmKHQ8PWUueSYmdD49ZS5uZXh0LnkmJmUubmV4dC55IT09ZS55KXt2YXIgej1lLngrKHQtZS55KSooZS5uZXh0LngtCmUueCkvKGUubmV4dC55LWUueSk7aWYoejw9ZyYmej52KXt2PXo7aWYoej09PWcpe2lmKHQ9PT1lLnkpcmV0dXJuIGU7aWYodD09PWUubmV4dC55KXJldHVybiBlLm5leHR9dmFyIEU9ZS54PGUubmV4dC54P2U6ZS5uZXh0fX1lPWUubmV4dH13aGlsZShlIT09Yyk7aWYoIUUpcmV0dXJuIG51bGw7aWYoZz09PXYpcmV0dXJuIEUucHJldjtjPUU7ej1FLng7dmFyIEY9RS55LEk9SW5maW5pdHk7Zm9yKGU9RS5uZXh0O2UhPT1jOyl7aWYoZz49ZS54JiZlLng+PXomJmchPT1lLngmJk5lKHQ8Rj9nOnYsdCx6LEYsdDxGP3Y6Zyx0LGUueCxlLnkpKXt2YXIgTT1NYXRoLmFicyh0LWUueSkvKGctZS54KTsoTTxJfHxNPT09SSYmZS54PkUueCkmJlJmKGUsYSkmJihFPWUsST1NKX1lPWUubmV4dH1yZXR1cm4gRX1mdW5jdGlvbiBzbShhLGMsZSxnKXt2YXIgdD1hO2RvIG51bGw9PT10LnomJih0Lno9Y2kodC54LHQueSxjLGUsZykpLHQucHJldlo9dC5wcmV2LHQ9dC5uZXh0Wj10Lm5leHQ7d2hpbGUodCE9PQphKTt0LnByZXZaLm5leHRaPW51bGw7dC5wcmV2Wj1udWxsO0RtKHQpfWZ1bmN0aW9uIERtKGEpe3ZhciBjLGUsZyx0LHY9MTtkb3t2YXIgej1hO3ZhciBFPWE9bnVsbDtmb3IoZT0wO3o7KXtlKys7dmFyIEY9ejtmb3IoYz1nPTA7Yzx2JiYoZysrLEY9Ri5uZXh0WixGKTtjKyspO2Zvcih0PXY7MDxnfHwwPHQmJkY7KTAhPT1nJiYoMD09PXR8fCFGfHx6Lno8PUYueik/KGM9eix6PXoubmV4dFosZy0tKTooYz1GLEY9Ri5uZXh0Wix0LS0pLEU/RS5uZXh0Wj1jOmE9YyxjLnByZXZaPUUsRT1jO3o9Rn1FLm5leHRaPW51bGw7dio9Mn13aGlsZSgxPGUpO3JldHVybiBhfWZ1bmN0aW9uIGNpKGEsYyxlLGcsdCl7YT0zMjc2NyooYS1lKSp0O2M9MzI3NjcqKGMtZykqdDthPShhfGE8PDgpJjE2NzExOTM1O2E9KGF8YTw8NCkmMjUyNjQ1MTM1O2E9KGF8YTw8MikmODU4OTkzNDU5O2M9KGN8Yzw8OCkmMTY3MTE5MzU7Yz0oY3xjPDw0KSYyNTI2NDUxMzU7Yz0oY3xjPDwyKSY4NTg5OTM0NTk7cmV0dXJuKGF8CmE8PDEpJjE0MzE2NTU3NjV8KChjfGM8PDEpJjE0MzE2NTU3NjUpPDwxfWZ1bmN0aW9uIHptKGEpe3ZhciBjPWEsZT1hO2Rve2lmKGMueDxlLnh8fGMueD09PWUueCYmYy55PGUueSllPWM7Yz1jLm5leHR9d2hpbGUoYyE9PWEpO3JldHVybiBlfWZ1bmN0aW9uIE5lKGEsYyxlLGcsdCx2LHosRSl7cmV0dXJuIDA8PSh0LXopKihjLUUpLShhLXopKih2LUUpJiYwPD0oYS16KSooZy1FKS0oZS16KSooYy1FKSYmMDw9KGUteikqKHYtRSktKHQteikqKGctRSl9ZnVuY3Rpb24geG0oYSxjKXtyZXR1cm4gYS5uZXh0LmkhPT1jLmkmJmEucHJldi5pIT09Yy5pJiYhRW0oYSxjKSYmUmYoYSxjKSYmUmYoYyxhKSYmRm0oYSxjKX1mdW5jdGlvbiBZYihhLGMsZSl7cmV0dXJuKGMueS1hLnkpKihlLngtYy54KS0oYy54LWEueCkqKGUueS1jLnkpfWZ1bmN0aW9uIFZkKGEsYyl7cmV0dXJuIGEueD09PWMueCYmYS55PT09Yy55fWZ1bmN0aW9uIFJqKGEsYyxlLGcpe3JldHVybiBWZChhLGUpJiZWZChjLApnKXx8VmQoYSxnKSYmVmQoZSxjKT8hMDowPFliKGEsYyxlKSE9PTA8WWIoYSxjLGcpJiYwPFliKGUsZyxhKSE9PTA8WWIoZSxnLGMpfWZ1bmN0aW9uIEVtKGEsYyl7dmFyIGU9YTtkb3tpZihlLmkhPT1hLmkmJmUubmV4dC5pIT09YS5pJiZlLmkhPT1jLmkmJmUubmV4dC5pIT09Yy5pJiZSaihlLGUubmV4dCxhLGMpKXJldHVybiEwO2U9ZS5uZXh0fXdoaWxlKGUhPT1hKTtyZXR1cm4hMX1mdW5jdGlvbiBSZihhLGMpe3JldHVybiAwPlliKGEucHJldixhLGEubmV4dCk/MDw9WWIoYSxjLGEubmV4dCkmJjA8PVliKGEsYS5wcmV2LGMpOjA+WWIoYSxjLGEucHJldil8fDA+WWIoYSxhLm5leHQsYyl9ZnVuY3Rpb24gRm0oYSxjKXt2YXIgZT1hLGc9ITEsdD0oYS54K2MueCkvMjtjPShhLnkrYy55KS8yO2RvIGUueT5jIT09ZS5uZXh0Lnk+YyYmZS5uZXh0LnkhPT1lLnkmJnQ8KGUubmV4dC54LWUueCkqKGMtZS55KS8oZS5uZXh0LnktZS55KStlLngmJihnPSFnKSxlPWUubmV4dDt3aGlsZShlIT09CmEpO3JldHVybiBnfWZ1bmN0aW9uIFNqKGEsYyl7dmFyIGU9bmV3IGRpKGEuaSxhLngsYS55KSxnPW5ldyBkaShjLmksYy54LGMueSksdD1hLm5leHQsdj1jLnByZXY7YS5uZXh0PWM7Yy5wcmV2PWE7ZS5uZXh0PXQ7dC5wcmV2PWU7Zy5uZXh0PWU7ZS5wcmV2PWc7di5uZXh0PWc7Zy5wcmV2PXY7cmV0dXJuIGd9ZnVuY3Rpb24gUWooYSxjLGUsZyl7YT1uZXcgZGkoYSxjLGUpO2c/KGEubmV4dD1nLm5leHQsYS5wcmV2PWcsZy5uZXh0LnByZXY9YSxnLm5leHQ9YSk6KGEucHJldj1hLGEubmV4dD1hKTtyZXR1cm4gYX1mdW5jdGlvbiBPZihhKXthLm5leHQucHJldj1hLnByZXY7YS5wcmV2Lm5leHQ9YS5uZXh0O2EucHJldlomJihhLnByZXZaLm5leHRaPWEubmV4dFopO2EubmV4dFomJihhLm5leHRaLnByZXZaPWEucHJldlopfWZ1bmN0aW9uIGRpKGEsYyxlKXt0aGlzLmk9YTt0aGlzLng9Yzt0aGlzLnk9ZTt0aGlzLm5leHRaPXRoaXMucHJldlo9dGhpcy56PXRoaXMubmV4dD10aGlzLnByZXY9Cm51bGw7dGhpcy5zdGVpbmVyPSExfWZ1bmN0aW9uIHJtKGEsYyxlLGcpe2Zvcih2YXIgdD0wLHY9ZS1nO2M8ZTtjKz1nKXQrPShhW3ZdLWFbY10pKihhW2MrMV0rYVt2KzFdKSx2PWM7cmV0dXJuIHR9ZnVuY3Rpb24gVGooYSl7dmFyIGM9YS5sZW5ndGg7MjxjJiZhW2MtMV0uZXF1YWxzKGFbMF0pJiZhLnBvcCgpfWZ1bmN0aW9uIFVqKGEsYyl7Zm9yKHZhciBlPTA7ZTxjLmxlbmd0aDtlKyspYS5wdXNoKGNbZV0ueCksYS5wdXNoKGNbZV0ueSl9ZnVuY3Rpb24gV2QoYSxjKXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iRXh0cnVkZUdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3NoYXBlczphLG9wdGlvbnM6Y307dGhpcy5mcm9tQnVmZmVyR2VvbWV0cnkobmV3IFRjKGEsYykpO3RoaXMubWVyZ2VWZXJ0aWNlcygpfWZ1bmN0aW9uIFRjKGEsYyl7ZnVuY3Rpb24gZShGKXtmdW5jdGlvbiBJKFFhLGViLG1iKXtlYnx8Y29uc29sZS5lcnJvcigiVEhSRUUuRXh0cnVkZUdlb21ldHJ5OiB2ZWMgZG9lcyBub3QgZXhpc3QiKTsKcmV0dXJuIGViLmNsb25lKCkubXVsdGlwbHlTY2FsYXIobWIpLmFkZChRYSl9ZnVuY3Rpb24gTShRYSxlYixtYil7dmFyIHBiPVFhLngtZWIueDt2YXIgc2I9UWEueS1lYi55O3ZhciBMYj1tYi54LVFhLng7dmFyIFRiPW1iLnktUWEueSxxYz1wYipwYitzYipzYjtpZihNYXRoLmFicyhwYipUYi1zYipMYik+TnVtYmVyLkVQU0lMT04pe3ZhciBTYz1NYXRoLnNxcnQocWMpLEJjPU1hdGguc3FydChMYipMYitUYipUYik7cWM9ZWIueC1zYi9TYztlYj1lYi55K3BiL1NjO1RiPSgobWIueC1UYi9CYy1xYykqVGItKG1iLnkrTGIvQmMtZWIpKkxiKS8ocGIqVGItc2IqTGIpO0xiPXFjK3BiKlRiLVFhLng7cGI9ZWIrc2IqVGItUWEueTtzYj1MYipMYitwYipwYjtpZigyPj1zYilyZXR1cm4gbmV3IGYoTGIscGIpO3NiPU1hdGguc3FydChzYi8yKX1lbHNlIFFhPSExLHBiPk51bWJlci5FUFNJTE9OP0xiPk51bWJlci5FUFNJTE9OJiYoUWE9ITApOnBiPC1OdW1iZXIuRVBTSUxPTj9MYjwtTnVtYmVyLkVQU0lMT04mJgooUWE9ITApOk1hdGguc2lnbihzYik9PT1NYXRoLnNpZ24oVGIpJiYoUWE9ITApLFFhPyhMYj0tc2Isc2I9TWF0aC5zcXJ0KHFjKSk6KExiPXBiLHBiPXNiLHNiPU1hdGguc3FydChxYy8yKSk7cmV0dXJuIG5ldyBmKExiL3NiLHBiL3NiKX1mdW5jdGlvbiBQKFFhLGViKXtmb3IoaWE9UWEubGVuZ3RoOzA8PS0taWE7KXt2YXIgbWI9aWE7dmFyIHBiPWlhLTE7MD5wYiYmKHBiPVFhLmxlbmd0aC0xKTt2YXIgc2IsTGI9cWErMipVYTtmb3Ioc2I9MDtzYjxMYjtzYisrKXt2YXIgVGI9WWEqc2IscWM9WWEqKHNiKzEpO1YoZWIrbWIrVGIsZWIrcGIrVGIsZWIrcGIrcWMsZWIrbWIrcWMpfX19ZnVuY3Rpb24gUShRYSxlYixtYil7cmEucHVzaChRYSk7cmEucHVzaChlYik7cmEucHVzaChtYil9ZnVuY3Rpb24gVShRYSxlYixtYil7ZWEoUWEpO2VhKGViKTtlYShtYik7UWE9dC5sZW5ndGgvMztRYT1IYS5nZW5lcmF0ZVRvcFVWKGcsdCxRYS0zLFFhLTIsUWEtMSk7ZGEoUWFbMF0pO2RhKFFhWzFdKTsKZGEoUWFbMl0pfWZ1bmN0aW9uIFYoUWEsZWIsbWIscGIpe2VhKFFhKTtlYShlYik7ZWEocGIpO2VhKGViKTtlYShtYik7ZWEocGIpO1FhPXQubGVuZ3RoLzM7UWE9SGEuZ2VuZXJhdGVTaWRlV2FsbFVWKGcsdCxRYS02LFFhLTMsUWEtMixRYS0xKTtkYShRYVswXSk7ZGEoUWFbMV0pO2RhKFFhWzNdKTtkYShRYVsxXSk7ZGEoUWFbMl0pO2RhKFFhWzNdKX1mdW5jdGlvbiBlYShRYSl7dC5wdXNoKHJhWzMqUWFdKTt0LnB1c2gocmFbMypRYSsxXSk7dC5wdXNoKHJhWzMqUWErMl0pfWZ1bmN0aW9uIGRhKFFhKXt2LnB1c2goUWEueCk7di5wdXNoKFFhLnkpfXZhciByYT1bXSxwYT12b2lkIDAhPT1jLmN1cnZlU2VnbWVudHM/Yy5jdXJ2ZVNlZ21lbnRzOjEyLHFhPXZvaWQgMCE9PWMuc3RlcHM/Yy5zdGVwczoxLHVhPXZvaWQgMCE9PWMuZGVwdGg/Yy5kZXB0aDoxMDAsbmE9dm9pZCAwIT09Yy5iZXZlbEVuYWJsZWQ/Yy5iZXZlbEVuYWJsZWQ6ITAsdGE9dm9pZCAwIT09Yy5iZXZlbFRoaWNrbmVzcz8KYy5iZXZlbFRoaWNrbmVzczo2LEJhPXZvaWQgMCE9PWMuYmV2ZWxTaXplP2MuYmV2ZWxTaXplOnRhLTIsVGE9dm9pZCAwIT09Yy5iZXZlbE9mZnNldD9jLmJldmVsT2Zmc2V0OjAsVWE9dm9pZCAwIT09Yy5iZXZlbFNlZ21lbnRzP2MuYmV2ZWxTZWdtZW50czozLENhPWMuZXh0cnVkZVBhdGgsSGE9dm9pZCAwIT09Yy5VVkdlbmVyYXRvcj9jLlVWR2VuZXJhdG9yOkdtO3ZvaWQgMCE9PWMuYW1vdW50JiYoY29uc29sZS53YXJuKCJUSFJFRS5FeHRydWRlQnVmZmVyR2VvbWV0cnk6IGFtb3VudCBoYXMgYmVlbiByZW5hbWVkIHRvIGRlcHRoLiIpLHVhPWMuYW1vdW50KTt2YXIgRGE9ITE7aWYoQ2Epe3ZhciBNYT1DYS5nZXRTcGFjZWRQb2ludHMocWEpO0RhPSEwO25hPSExO3ZhciBkYj1DYS5jb21wdXRlRnJlbmV0RnJhbWVzKHFhLCExKTt2YXIgdGI9bmV3IGs7dmFyIEthPW5ldyBrO3ZhciBiYj1uZXcga31uYXx8KFRhPUJhPXRhPVVhPTApO3ZhciBqYjtwYT1GLmV4dHJhY3RQb2ludHMocGEpOwpGPXBhLnNoYXBlO3ZhciBFYj1wYS5ob2xlcztpZighZ2QuaXNDbG9ja1dpc2UoRikpe0Y9Ri5yZXZlcnNlKCk7dmFyIHhiPTA7Zm9yKGpiPUViLmxlbmd0aDt4YjxqYjt4YisrKXt2YXIgaGE9RWJbeGJdO2dkLmlzQ2xvY2tXaXNlKGhhKSYmKEViW3hiXT1oYS5yZXZlcnNlKCkpfX12YXIgbWE9Z2QudHJpYW5ndWxhdGVTaGFwZShGLEViKSx6YT1GO3hiPTA7Zm9yKGpiPUViLmxlbmd0aDt4YjxqYjt4YisrKWhhPUViW3hiXSxGPUYuY29uY2F0KGhhKTt2YXIgSmEsWWE9Ri5sZW5ndGgsTmEsY2I9bWEubGVuZ3RoO3BhPVtdO3ZhciBpYT0wO3ZhciBHYT16YS5sZW5ndGg7dmFyIExhPUdhLTE7Zm9yKEphPWlhKzE7aWE8R2E7aWErKyxMYSsrLEphKyspTGE9PT1HYSYmKExhPTApLEphPT09R2EmJihKYT0wKSxwYVtpYV09TSh6YVtpYV0semFbTGFdLHphW0phXSk7Q2E9W107dmFyIG5iPXBhLmNvbmNhdCgpO3hiPTA7Zm9yKGpiPUViLmxlbmd0aDt4YjxqYjt4YisrKXtoYT1FYlt4Yl07dmFyIFZhPQpbXTtpYT0wO0dhPWhhLmxlbmd0aDtMYT1HYS0xO2ZvcihKYT1pYSsxO2lhPEdhO2lhKyssTGErKyxKYSsrKUxhPT09R2EmJihMYT0wKSxKYT09PUdhJiYoSmE9MCksVmFbaWFdPU0oaGFbaWFdLGhhW0xhXSxoYVtKYV0pO0NhLnB1c2goVmEpO25iPW5iLmNvbmNhdChWYSl9Zm9yKExhPTA7TGE8VWE7TGErKyl7R2E9TGEvVWE7dmFyIGliPXRhKk1hdGguY29zKEdhKk1hdGguUEkvMik7SmE9QmEqTWF0aC5zaW4oR2EqTWF0aC5QSS8yKStUYTtpYT0wO2ZvcihHYT16YS5sZW5ndGg7aWE8R2E7aWErKyl7dmFyIGtiPUkoemFbaWFdLHBhW2lhXSxKYSk7UShrYi54LGtiLnksLWliKX14Yj0wO2ZvcihqYj1FYi5sZW5ndGg7eGI8amI7eGIrKylmb3IoaGE9RWJbeGJdLFZhPUNhW3hiXSxpYT0wLEdhPWhhLmxlbmd0aDtpYTxHYTtpYSsrKWtiPUkoaGFbaWFdLFZhW2lhXSxKYSksUShrYi54LGtiLnksLWliKX1KYT1CYStUYTtmb3IoaWE9MDtpYTxZYTtpYSsrKWtiPW5hP0koRltpYV0sbmJbaWFdLApKYSk6RltpYV0sRGE/KEthLmNvcHkoZGIubm9ybWFsc1swXSkubXVsdGlwbHlTY2FsYXIoa2IueCksdGIuY29weShkYi5iaW5vcm1hbHNbMF0pLm11bHRpcGx5U2NhbGFyKGtiLnkpLGJiLmNvcHkoTWFbMF0pLmFkZChLYSkuYWRkKHRiKSxRKGJiLngsYmIueSxiYi56KSk6UShrYi54LGtiLnksMCk7Zm9yKEdhPTE7R2E8PXFhO0dhKyspZm9yKGlhPTA7aWE8WWE7aWErKylrYj1uYT9JKEZbaWFdLG5iW2lhXSxKYSk6RltpYV0sRGE/KEthLmNvcHkoZGIubm9ybWFsc1tHYV0pLm11bHRpcGx5U2NhbGFyKGtiLngpLHRiLmNvcHkoZGIuYmlub3JtYWxzW0dhXSkubXVsdGlwbHlTY2FsYXIoa2IueSksYmIuY29weShNYVtHYV0pLmFkZChLYSkuYWRkKHRiKSxRKGJiLngsYmIueSxiYi56KSk6UShrYi54LGtiLnksdWEvcWEqR2EpO2ZvcihMYT1VYS0xOzA8PUxhO0xhLS0pe0dhPUxhL1VhO2liPXRhKk1hdGguY29zKEdhKk1hdGguUEkvMik7SmE9QmEqTWF0aC5zaW4oR2EqTWF0aC5QSS8yKSsKVGE7aWE9MDtmb3IoR2E9emEubGVuZ3RoO2lhPEdhO2lhKyspa2I9SSh6YVtpYV0scGFbaWFdLEphKSxRKGtiLngsa2IueSx1YStpYik7eGI9MDtmb3IoamI9RWIubGVuZ3RoO3hiPGpiO3hiKyspZm9yKGhhPUViW3hiXSxWYT1DYVt4Yl0saWE9MCxHYT1oYS5sZW5ndGg7aWE8R2E7aWErKylrYj1JKGhhW2lhXSxWYVtpYV0sSmEpLERhP1Eoa2IueCxrYi55K01hW3FhLTFdLnksTWFbcWEtMV0ueCtpYik6UShrYi54LGtiLnksdWEraWIpfShmdW5jdGlvbigpe3ZhciBRYT10Lmxlbmd0aC8zO2lmKG5hKXt2YXIgZWI9MCpZYTtmb3IoaWE9MDtpYTxjYjtpYSsrKU5hPW1hW2lhXSxVKE5hWzJdK2ViLE5hWzFdK2ViLE5hWzBdK2ViKTtlYj1ZYSoocWErMipVYSk7Zm9yKGlhPTA7aWE8Y2I7aWErKylOYT1tYVtpYV0sVShOYVswXStlYixOYVsxXStlYixOYVsyXStlYil9ZWxzZXtmb3IoaWE9MDtpYTxjYjtpYSsrKU5hPW1hW2lhXSxVKE5hWzJdLE5hWzFdLE5hWzBdKTtmb3IoaWE9MDtpYTxjYjtpYSsrKU5hPQptYVtpYV0sVShOYVswXStZYSpxYSxOYVsxXStZYSpxYSxOYVsyXStZYSpxYSl9Zy5hZGRHcm91cChRYSx0Lmxlbmd0aC8zLVFhLDApfSkoKTsoZnVuY3Rpb24oKXt2YXIgUWE9dC5sZW5ndGgvMyxlYj0wO1AoemEsZWIpO2ViKz16YS5sZW5ndGg7eGI9MDtmb3IoamI9RWIubGVuZ3RoO3hiPGpiO3hiKyspaGE9RWJbeGJdLFAoaGEsZWIpLGViKz1oYS5sZW5ndGg7Zy5hZGRHcm91cChRYSx0Lmxlbmd0aC8zLVFhLDEpfSkoKX12YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iRXh0cnVkZUJ1ZmZlckdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3NoYXBlczphLG9wdGlvbnM6Y307YT1BcnJheS5pc0FycmF5KGEpP2E6W2FdO2Zvcih2YXIgZz10aGlzLHQ9W10sdj1bXSx6PTAsRT1hLmxlbmd0aDt6PEU7eisrKWUoYVt6XSk7dGhpcy5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEodCwzKSk7dGhpcy5hZGRBdHRyaWJ1dGUoInV2IixuZXcgYmEodiwyKSk7dGhpcy5jb21wdXRlVmVydGV4Tm9ybWFscygpfQpmdW5jdGlvbiBWaihhLGMsZSl7ZS5zaGFwZXM9W107aWYoQXJyYXkuaXNBcnJheShhKSlmb3IodmFyIGc9MCx0PWEubGVuZ3RoO2c8dDtnKyspZS5zaGFwZXMucHVzaChhW2ddLnV1aWQpO2Vsc2UgZS5zaGFwZXMucHVzaChhLnV1aWQpO3ZvaWQgMCE9PWMuZXh0cnVkZVBhdGgmJihlLm9wdGlvbnMuZXh0cnVkZVBhdGg9Yy5leHRydWRlUGF0aC50b0pTT04oKSk7cmV0dXJuIGV9ZnVuY3Rpb24gU2YoYSxjKXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iVGV4dEdlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3RleHQ6YSxwYXJhbWV0ZXJzOmN9O3RoaXMuZnJvbUJ1ZmZlckdlb21ldHJ5KG5ldyBPZShhLGMpKTt0aGlzLm1lcmdlVmVydGljZXMoKX1mdW5jdGlvbiBPZShhLGMpe2M9Y3x8e307dmFyIGU9Yy5mb250O2lmKCFlfHwhZS5pc0ZvbnQpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIlRIUkVFLlRleHRHZW9tZXRyeTogZm9udCBwYXJhbWV0ZXIgaXMgbm90IGFuIGluc3RhbmNlIG9mIFRIUkVFLkZvbnQuIiksCm5ldyB4YTthPWUuZ2VuZXJhdGVTaGFwZXMoYSxjLnNpemUpO2MuZGVwdGg9dm9pZCAwIT09Yy5oZWlnaHQ/Yy5oZWlnaHQ6NTA7dm9pZCAwPT09Yy5iZXZlbFRoaWNrbmVzcyYmKGMuYmV2ZWxUaGlja25lc3M9MTApO3ZvaWQgMD09PWMuYmV2ZWxTaXplJiYoYy5iZXZlbFNpemU9OCk7dm9pZCAwPT09Yy5iZXZlbEVuYWJsZWQmJihjLmJldmVsRW5hYmxlZD0hMSk7VGMuY2FsbCh0aGlzLGEsYyk7dGhpcy50eXBlPSJUZXh0QnVmZmVyR2VvbWV0cnkifWZ1bmN0aW9uIFRmKGEsYyxlLGcsdCx2LHope3hhLmNhbGwodGhpcyk7dGhpcy50eXBlPSJTcGhlcmVHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXM6YSx3aWR0aFNlZ21lbnRzOmMsaGVpZ2h0U2VnbWVudHM6ZSxwaGlTdGFydDpnLHBoaUxlbmd0aDp0LHRoZXRhU3RhcnQ6dix0aGV0YUxlbmd0aDp6fTt0aGlzLmZyb21CdWZmZXJHZW9tZXRyeShuZXcgRGQoYSxjLGUsZyx0LHYseikpO3RoaXMubWVyZ2VWZXJ0aWNlcygpfQpmdW5jdGlvbiBEZChhLGMsZSxnLHQsdix6KXt2YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iU3BoZXJlQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzOmEsd2lkdGhTZWdtZW50czpjLGhlaWdodFNlZ21lbnRzOmUscGhpU3RhcnQ6ZyxwaGlMZW5ndGg6dCx0aGV0YVN0YXJ0OnYsdGhldGFMZW5ndGg6en07YT1hfHwxO2M9TWF0aC5tYXgoMyxNYXRoLmZsb29yKGMpfHw4KTtlPU1hdGgubWF4KDIsTWF0aC5mbG9vcihlKXx8Nik7Zz12b2lkIDAhPT1nP2c6MDt0PXZvaWQgMCE9PXQ/dDoyKk1hdGguUEk7dj12b2lkIDAhPT12P3Y6MDt6PXZvaWQgMCE9PXo/ejpNYXRoLlBJO3ZhciBFPU1hdGgubWluKHYreixNYXRoLlBJKSxGLEksTT0wLFA9W10sUT1uZXcgayxVPW5ldyBrLFY9W10sZWE9W10sZGE9W10scmE9W107Zm9yKEk9MDtJPD1lO0krKyl7dmFyIHBhPVtdLHFhPUkvZSx1YT0wOzA9PUkmJjA9PXY/dWE9LjUvYzpJPT1lJiZFPT1NYXRoLlBJJiYodWE9LS41L2MpOwpmb3IoRj0wO0Y8PWM7RisrKXt2YXIgbmE9Ri9jO1EueD0tYSpNYXRoLmNvcyhnK25hKnQpKk1hdGguc2luKHYrcWEqeik7US55PWEqTWF0aC5jb3ModitxYSp6KTtRLno9YSpNYXRoLnNpbihnK25hKnQpKk1hdGguc2luKHYrcWEqeik7ZWEucHVzaChRLngsUS55LFEueik7VS5jb3B5KFEpLm5vcm1hbGl6ZSgpO2RhLnB1c2goVS54LFUueSxVLnopO3JhLnB1c2gobmErdWEsMS1xYSk7cGEucHVzaChNKyspfVAucHVzaChwYSl9Zm9yKEk9MDtJPGU7SSsrKWZvcihGPTA7RjxjO0YrKylhPVBbSV1bRisxXSxnPVBbSV1bRl0sdD1QW0krMV1bRl0sej1QW0krMV1bRisxXSwoMCE9PUl8fDA8dikmJlYucHVzaChhLGcseiksKEkhPT1lLTF8fEU8TWF0aC5QSSkmJlYucHVzaChnLHQseik7dGhpcy5zZXRJbmRleChWKTt0aGlzLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShlYSwzKSk7dGhpcy5hZGRBdHRyaWJ1dGUoIm5vcm1hbCIsbmV3IGJhKGRhLDMpKTt0aGlzLmFkZEF0dHJpYnV0ZSgidXYiLApuZXcgYmEocmEsMikpfWZ1bmN0aW9uIFVmKGEsYyxlLGcsdCx2KXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iUmluZ0dlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e2lubmVyUmFkaXVzOmEsb3V0ZXJSYWRpdXM6Yyx0aGV0YVNlZ21lbnRzOmUscGhpU2VnbWVudHM6Zyx0aGV0YVN0YXJ0OnQsdGhldGFMZW5ndGg6dn07dGhpcy5mcm9tQnVmZmVyR2VvbWV0cnkobmV3IFBlKGEsYyxlLGcsdCx2KSk7dGhpcy5tZXJnZVZlcnRpY2VzKCl9ZnVuY3Rpb24gUGUoYSxjLGUsZyx0LHYpe3ZhLmNhbGwodGhpcyk7dGhpcy50eXBlPSJSaW5nQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17aW5uZXJSYWRpdXM6YSxvdXRlclJhZGl1czpjLHRoZXRhU2VnbWVudHM6ZSxwaGlTZWdtZW50czpnLHRoZXRhU3RhcnQ6dCx0aGV0YUxlbmd0aDp2fTthPWF8fC41O2M9Y3x8MTt0PXZvaWQgMCE9PXQ/dDowO3Y9dm9pZCAwIT09dj92OjIqTWF0aC5QSTtlPXZvaWQgMCE9PWU/TWF0aC5tYXgoMywKZSk6ODtnPXZvaWQgMCE9PWc/TWF0aC5tYXgoMSxnKToxO3ZhciB6PVtdLEU9W10sRj1bXSxJPVtdLE09YSxQPShjLWEpL2csUT1uZXcgayxVPW5ldyBmLFYsZWE7Zm9yKFY9MDtWPD1nO1YrKyl7Zm9yKGVhPTA7ZWE8PWU7ZWErKylhPXQrZWEvZSp2LFEueD1NKk1hdGguY29zKGEpLFEueT1NKk1hdGguc2luKGEpLEUucHVzaChRLngsUS55LFEueiksRi5wdXNoKDAsMCwxKSxVLng9KFEueC9jKzEpLzIsVS55PShRLnkvYysxKS8yLEkucHVzaChVLngsVS55KTtNKz1QfWZvcihWPTA7VjxnO1YrKylmb3IoYz1WKihlKzEpLGVhPTA7ZWE8ZTtlYSsrKWE9ZWErYyx0PWErZSsxLHY9YStlKzIsTT1hKzEsei5wdXNoKGEsdCxNKSx6LnB1c2godCx2LE0pO3RoaXMuc2V0SW5kZXgoeik7dGhpcy5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEoRSwzKSk7dGhpcy5hZGRBdHRyaWJ1dGUoIm5vcm1hbCIsbmV3IGJhKEYsMykpO3RoaXMuYWRkQXR0cmlidXRlKCJ1diIsbmV3IGJhKEksMikpfQpmdW5jdGlvbiBWZihhLGMsZSxnKXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iTGF0aGVHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXtwb2ludHM6YSxzZWdtZW50czpjLHBoaVN0YXJ0OmUscGhpTGVuZ3RoOmd9O3RoaXMuZnJvbUJ1ZmZlckdlb21ldHJ5KG5ldyBRZShhLGMsZSxnKSk7dGhpcy5tZXJnZVZlcnRpY2VzKCl9ZnVuY3Rpb24gUWUoYSxjLGUsZyl7dmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IkxhdGhlQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cG9pbnRzOmEsc2VnbWVudHM6YyxwaGlTdGFydDplLHBoaUxlbmd0aDpnfTtjPU1hdGguZmxvb3IoYyl8fDEyO2U9ZXx8MDtnPWd8fDIqTWF0aC5QSTtnPWhiLmNsYW1wKGcsMCwyKk1hdGguUEkpO3ZhciB0PVtdLHY9W10sej1bXSxFPTEvYyxGPW5ldyBrLEk9bmV3IGYsTTtmb3IoTT0wO008PWM7TSsrKXt2YXIgUD1lK00qRSpnO3ZhciBRPU1hdGguc2luKFApLFU9TWF0aC5jb3MoUCk7Zm9yKFA9MDtQPD1hLmxlbmd0aC0KMTtQKyspRi54PWFbUF0ueCpRLEYueT1hW1BdLnksRi56PWFbUF0ueCpVLHYucHVzaChGLngsRi55LEYueiksSS54PU0vYyxJLnk9UC8oYS5sZW5ndGgtMSksei5wdXNoKEkueCxJLnkpfWZvcihNPTA7TTxjO00rKylmb3IoUD0wO1A8YS5sZW5ndGgtMTtQKyspZT1QK00qYS5sZW5ndGgsRT1lK2EubGVuZ3RoLEY9ZSthLmxlbmd0aCsxLEk9ZSsxLHQucHVzaChlLEUsSSksdC5wdXNoKEUsRixJKTt0aGlzLnNldEluZGV4KHQpO3RoaXMuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKHYsMykpO3RoaXMuYWRkQXR0cmlidXRlKCJ1diIsbmV3IGJhKHosMikpO3RoaXMuY29tcHV0ZVZlcnRleE5vcm1hbHMoKTtpZihnPT09MipNYXRoLlBJKWZvcihnPXRoaXMuYXR0cmlidXRlcy5ub3JtYWwuYXJyYXksdD1uZXcgayx2PW5ldyBrLHo9bmV3IGssZT1jKmEubGVuZ3RoKjMsUD1NPTA7TTxhLmxlbmd0aDtNKyssUCs9Myl0Lng9Z1tQKzBdLHQueT1nW1ArMV0sdC56PWdbUCsyXSx2Lng9CmdbZStQKzBdLHYueT1nW2UrUCsxXSx2Lno9Z1tlK1ArMl0sei5hZGRWZWN0b3JzKHQsdikubm9ybWFsaXplKCksZ1tQKzBdPWdbZStQKzBdPXoueCxnW1ArMV09Z1tlK1ArMV09ei55LGdbUCsyXT1nW2UrUCsyXT16Lnp9ZnVuY3Rpb24gWGQoYSxjKXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iU2hhcGVHZW9tZXRyeSI7Im9iamVjdCI9PT10eXBlb2YgYyYmKGNvbnNvbGUud2FybigiVEhSRUUuU2hhcGVHZW9tZXRyeTogT3B0aW9ucyBwYXJhbWV0ZXIgaGFzIGJlZW4gcmVtb3ZlZC4iKSxjPWMuY3VydmVTZWdtZW50cyk7dGhpcy5wYXJhbWV0ZXJzPXtzaGFwZXM6YSxjdXJ2ZVNlZ21lbnRzOmN9O3RoaXMuZnJvbUJ1ZmZlckdlb21ldHJ5KG5ldyBZZChhLGMpKTt0aGlzLm1lcmdlVmVydGljZXMoKX1mdW5jdGlvbiBZZChhLGMpe2Z1bmN0aW9uIGUoTSl7dmFyIFAsUT10Lmxlbmd0aC8zO009TS5leHRyYWN0UG9pbnRzKGMpO3ZhciBVPU0uc2hhcGUsVj1NLmhvbGVzOyExPT09Z2QuaXNDbG9ja1dpc2UoVSkmJgooVT1VLnJldmVyc2UoKSk7TT0wO2ZvcihQPVYubGVuZ3RoO008UDtNKyspe3ZhciBlYT1WW01dOyEwPT09Z2QuaXNDbG9ja1dpc2UoZWEpJiYoVltNXT1lYS5yZXZlcnNlKCkpfXZhciBkYT1nZC50cmlhbmd1bGF0ZVNoYXBlKFUsVik7TT0wO2ZvcihQPVYubGVuZ3RoO008UDtNKyspZWE9VltNXSxVPVUuY29uY2F0KGVhKTtNPTA7Zm9yKFA9VS5sZW5ndGg7TTxQO00rKyllYT1VW01dLHQucHVzaChlYS54LGVhLnksMCksdi5wdXNoKDAsMCwxKSx6LnB1c2goZWEueCxlYS55KTtNPTA7Zm9yKFA9ZGEubGVuZ3RoO008UDtNKyspVT1kYVtNXSxnLnB1c2goVVswXStRLFVbMV0rUSxVWzJdK1EpLEYrPTN9dmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlNoYXBlQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17c2hhcGVzOmEsY3VydmVTZWdtZW50czpjfTtjPWN8fDEyO3ZhciBnPVtdLHQ9W10sdj1bXSx6PVtdLEU9MCxGPTA7aWYoITE9PT1BcnJheS5pc0FycmF5KGEpKWUoYSk7ZWxzZSBmb3IodmFyIEk9CjA7STxhLmxlbmd0aDtJKyspZShhW0ldKSx0aGlzLmFkZEdyb3VwKEUsRixJKSxFKz1GLEY9MDt0aGlzLnNldEluZGV4KGcpO3RoaXMuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKHQsMykpO3RoaXMuYWRkQXR0cmlidXRlKCJub3JtYWwiLG5ldyBiYSh2LDMpKTt0aGlzLmFkZEF0dHJpYnV0ZSgidXYiLG5ldyBiYSh6LDIpKX1mdW5jdGlvbiBXaihhLGMpe2Muc2hhcGVzPVtdO2lmKEFycmF5LmlzQXJyYXkoYSkpZm9yKHZhciBlPTAsZz1hLmxlbmd0aDtlPGc7ZSsrKWMuc2hhcGVzLnB1c2goYVtlXS51dWlkKTtlbHNlIGMuc2hhcGVzLnB1c2goYS51dWlkKTtyZXR1cm4gY31mdW5jdGlvbiBSZShhLGMpe3ZhLmNhbGwodGhpcyk7dGhpcy50eXBlPSJFZGdlc0dlb21ldHJ5Ijt0aGlzLnBhcmFtZXRlcnM9e3RocmVzaG9sZEFuZ2xlOmN9O3ZhciBlPVtdO2M9TWF0aC5jb3MoaGIuREVHMlJBRCoodm9pZCAwIT09Yz9jOjEpKTt2YXIgZz1bMCwwXSx0PXt9LHY9WyJhIiwiYiIsImMiXTsKaWYoYS5pc0J1ZmZlckdlb21ldHJ5KXt2YXIgej1uZXcgeGE7ei5mcm9tQnVmZmVyR2VvbWV0cnkoYSl9ZWxzZSB6PWEuY2xvbmUoKTt6Lm1lcmdlVmVydGljZXMoKTt6LmNvbXB1dGVGYWNlTm9ybWFscygpO2E9ei52ZXJ0aWNlczt6PXouZmFjZXM7Zm9yKHZhciBFPTAsRj16Lmxlbmd0aDtFPEY7RSsrKWZvcih2YXIgST16W0VdLE09MDszPk07TSsrKXt2YXIgUD1JW3ZbTV1dO3ZhciBRPUlbdlsoTSsxKSUzXV07Z1swXT1NYXRoLm1pbihQLFEpO2dbMV09TWF0aC5tYXgoUCxRKTtQPWdbMF0rIiwiK2dbMV07dm9pZCAwPT09dFtQXT90W1BdPXtpbmRleDE6Z1swXSxpbmRleDI6Z1sxXSxmYWNlMTpFLGZhY2UyOnZvaWQgMH06dFtQXS5mYWNlMj1FfWZvcihQIGluIHQpaWYoZz10W1BdLHZvaWQgMD09PWcuZmFjZTJ8fHpbZy5mYWNlMV0ubm9ybWFsLmRvdCh6W2cuZmFjZTJdLm5vcm1hbCk8PWMpdj1hW2cuaW5kZXgxXSxlLnB1c2godi54LHYueSx2LnopLHY9YVtnLmluZGV4Ml0sZS5wdXNoKHYueCwKdi55LHYueik7dGhpcy5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEoZSwzKSl9ZnVuY3Rpb24gWmQoYSxjLGUsZyx0LHYseixFKXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQ3lsaW5kZXJHZW9tZXRyeSI7dGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXNUb3A6YSxyYWRpdXNCb3R0b206YyxoZWlnaHQ6ZSxyYWRpYWxTZWdtZW50czpnLGhlaWdodFNlZ21lbnRzOnQsb3BlbkVuZGVkOnYsdGhldGFTdGFydDp6LHRoZXRhTGVuZ3RoOkV9O3RoaXMuZnJvbUJ1ZmZlckdlb21ldHJ5KG5ldyBoZChhLGMsZSxnLHQsdix6LEUpKTt0aGlzLm1lcmdlVmVydGljZXMoKX1mdW5jdGlvbiBoZChhLGMsZSxnLHQsdix6LEUpe2Z1bmN0aW9uIEYocGEpe3ZhciBxYSx1YT1uZXcgZixuYT1uZXcgayx0YT0wLEJhPSEwPT09cGE/YTpjLFRhPSEwPT09cGE/MTotMTt2YXIgVWE9Vjtmb3IocWE9MTtxYTw9ZztxYSsrKVAucHVzaCgwLGRhKlRhLDApLFEucHVzaCgwLFRhLDApLFUucHVzaCguNSwuNSksClYrKzt2YXIgQ2E9Vjtmb3IocWE9MDtxYTw9ZztxYSsrKXt2YXIgSGE9cWEvZypFK3osRGE9TWF0aC5jb3MoSGEpO0hhPU1hdGguc2luKEhhKTtuYS54PUJhKkhhO25hLnk9ZGEqVGE7bmEuej1CYSpEYTtQLnB1c2gobmEueCxuYS55LG5hLnopO1EucHVzaCgwLFRhLDApO3VhLng9LjUqRGErLjU7dWEueT0uNSpIYSpUYSsuNTtVLnB1c2godWEueCx1YS55KTtWKyt9Zm9yKHFhPTA7cWE8ZztxYSsrKXVhPVVhK3FhLG5hPUNhK3FhLCEwPT09cGE/TS5wdXNoKG5hLG5hKzEsdWEpOk0ucHVzaChuYSsxLG5hLHVhKSx0YSs9MztJLmFkZEdyb3VwKHJhLHRhLCEwPT09cGE/MToyKTtyYSs9dGF9dmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IkN5bGluZGVyQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzVG9wOmEscmFkaXVzQm90dG9tOmMsaGVpZ2h0OmUscmFkaWFsU2VnbWVudHM6ZyxoZWlnaHRTZWdtZW50czp0LG9wZW5FbmRlZDp2LHRoZXRhU3RhcnQ6eix0aGV0YUxlbmd0aDpFfTsKdmFyIEk9dGhpczthPXZvaWQgMCE9PWE/YToxO2M9dm9pZCAwIT09Yz9jOjE7ZT1lfHwxO2c9TWF0aC5mbG9vcihnKXx8ODt0PU1hdGguZmxvb3IodCl8fDE7dj12b2lkIDAhPT12P3Y6ITE7ej12b2lkIDAhPT16P3o6MDtFPXZvaWQgMCE9PUU/RToyKk1hdGguUEk7dmFyIE09W10sUD1bXSxRPVtdLFU9W10sVj0wLGVhPVtdLGRhPWUvMixyYT0wOyhmdW5jdGlvbigpe3ZhciBwYSxxYSx1YT1uZXcgayxuYT1uZXcgayx0YT0wLEJhPShjLWEpL2U7Zm9yKHFhPTA7cWE8PXQ7cWErKyl7dmFyIFRhPVtdLFVhPXFhL3QsQ2E9VWEqKGMtYSkrYTtmb3IocGE9MDtwYTw9ZztwYSsrKXt2YXIgSGE9cGEvZyxEYT1IYSpFK3osTWE9TWF0aC5zaW4oRGEpO0RhPU1hdGguY29zKERhKTtuYS54PUNhKk1hO25hLnk9LVVhKmUrZGE7bmEuej1DYSpEYTtQLnB1c2gobmEueCxuYS55LG5hLnopO3VhLnNldChNYSxCYSxEYSkubm9ybWFsaXplKCk7US5wdXNoKHVhLngsdWEueSx1YS56KTtVLnB1c2goSGEsCjEtVWEpO1RhLnB1c2goVisrKX1lYS5wdXNoKFRhKX1mb3IocGE9MDtwYTxnO3BhKyspZm9yKHFhPTA7cWE8dDtxYSsrKXVhPWVhW3FhKzFdW3BhXSxuYT1lYVtxYSsxXVtwYSsxXSxCYT1lYVtxYV1bcGErMV0sTS5wdXNoKGVhW3FhXVtwYV0sdWEsQmEpLE0ucHVzaCh1YSxuYSxCYSksdGErPTY7SS5hZGRHcm91cChyYSx0YSwwKTtyYSs9dGF9KSgpOyExPT09diYmKDA8YSYmRighMCksMDxjJiZGKCExKSk7dGhpcy5zZXRJbmRleChNKTt0aGlzLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShQLDMpKTt0aGlzLmFkZEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgYmEoUSwzKSk7dGhpcy5hZGRBdHRyaWJ1dGUoInV2IixuZXcgYmEoVSwyKSl9ZnVuY3Rpb24gV2YoYSxjLGUsZyx0LHYseil7WmQuY2FsbCh0aGlzLDAsYSxjLGUsZyx0LHYseik7dGhpcy50eXBlPSJDb25lR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzOmEsaGVpZ2h0OmMscmFkaWFsU2VnbWVudHM6ZSxoZWlnaHRTZWdtZW50czpnLApvcGVuRW5kZWQ6dCx0aGV0YVN0YXJ0OnYsdGhldGFMZW5ndGg6en19ZnVuY3Rpb24gWGYoYSxjLGUsZyx0LHYseil7aGQuY2FsbCh0aGlzLDAsYSxjLGUsZyx0LHYseik7dGhpcy50eXBlPSJDb25lQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzOmEsaGVpZ2h0OmMscmFkaWFsU2VnbWVudHM6ZSxoZWlnaHRTZWdtZW50czpnLG9wZW5FbmRlZDp0LHRoZXRhU3RhcnQ6dix0aGV0YUxlbmd0aDp6fX1mdW5jdGlvbiBZZihhLGMsZSxnKXt4YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQ2lyY2xlR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz17cmFkaXVzOmEsc2VnbWVudHM6Yyx0aGV0YVN0YXJ0OmUsdGhldGFMZW5ndGg6Z307dGhpcy5mcm9tQnVmZmVyR2VvbWV0cnkobmV3IFNlKGEsYyxlLGcpKTt0aGlzLm1lcmdlVmVydGljZXMoKX1mdW5jdGlvbiBTZShhLGMsZSxnKXt2YS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQ2lyY2xlQnVmZmVyR2VvbWV0cnkiO3RoaXMucGFyYW1ldGVycz0Ke3JhZGl1czphLHNlZ21lbnRzOmMsdGhldGFTdGFydDplLHRoZXRhTGVuZ3RoOmd9O2E9YXx8MTtjPXZvaWQgMCE9PWM/TWF0aC5tYXgoMyxjKTo4O2U9dm9pZCAwIT09ZT9lOjA7Zz12b2lkIDAhPT1nP2c6MipNYXRoLlBJO3ZhciB0PVtdLHY9W10sej1bXSxFPVtdLEYsST1uZXcgayxNPW5ldyBmO3YucHVzaCgwLDAsMCk7ei5wdXNoKDAsMCwxKTtFLnB1c2goLjUsLjUpO3ZhciBQPTA7Zm9yKEY9MztQPD1jO1ArKyxGKz0zKXt2YXIgUT1lK1AvYypnO0kueD1hKk1hdGguY29zKFEpO0kueT1hKk1hdGguc2luKFEpO3YucHVzaChJLngsSS55LEkueik7ei5wdXNoKDAsMCwxKTtNLng9KHZbRl0vYSsxKS8yO00ueT0odltGKzFdL2ErMSkvMjtFLnB1c2goTS54LE0ueSl9Zm9yKEY9MTtGPD1jO0YrKyl0LnB1c2goRixGKzEsMCk7dGhpcy5zZXRJbmRleCh0KTt0aGlzLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYSh2LDMpKTt0aGlzLmFkZEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgYmEoeiwKMykpO3RoaXMuYWRkQXR0cmlidXRlKCJ1diIsbmV3IGJhKEUsMikpfWZ1bmN0aW9uICRkKGEpe1MuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlNoYWRvd01hdGVyaWFsIjt0aGlzLmNvbG9yPW5ldyBIKDApO3RoaXMudHJhbnNwYXJlbnQ9ITA7dGhpcy5zZXRWYWx1ZXMoYSl9ZnVuY3Rpb24gVGUoYSl7cWIuY2FsbCh0aGlzLGEpO3RoaXMudHlwZT0iUmF3U2hhZGVyTWF0ZXJpYWwifWZ1bmN0aW9uIFVjKGEpe1MuY2FsbCh0aGlzKTt0aGlzLmRlZmluZXM9e1NUQU5EQVJEOiIifTt0aGlzLnR5cGU9Ik1lc2hTdGFuZGFyZE1hdGVyaWFsIjt0aGlzLmNvbG9yPW5ldyBIKDE2Nzc3MjE1KTt0aGlzLm1ldGFsbmVzcz10aGlzLnJvdWdobmVzcz0uNTt0aGlzLmxpZ2h0TWFwPXRoaXMubWFwPW51bGw7dGhpcy5saWdodE1hcEludGVuc2l0eT0xO3RoaXMuYW9NYXA9bnVsbDt0aGlzLmFvTWFwSW50ZW5zaXR5PTE7dGhpcy5lbWlzc2l2ZT1uZXcgSCgwKTt0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PTE7CnRoaXMuYnVtcE1hcD10aGlzLmVtaXNzaXZlTWFwPW51bGw7dGhpcy5idW1wU2NhbGU9MTt0aGlzLm5vcm1hbE1hcD1udWxsO3RoaXMubm9ybWFsTWFwVHlwZT0wO3RoaXMubm9ybWFsU2NhbGU9bmV3IGYoMSwxKTt0aGlzLmRpc3BsYWNlbWVudE1hcD1udWxsO3RoaXMuZGlzcGxhY2VtZW50U2NhbGU9MTt0aGlzLmRpc3BsYWNlbWVudEJpYXM9MDt0aGlzLmVudk1hcD10aGlzLmFscGhhTWFwPXRoaXMubWV0YWxuZXNzTWFwPXRoaXMucm91Z2huZXNzTWFwPW51bGw7dGhpcy5lbnZNYXBJbnRlbnNpdHk9MTt0aGlzLnJlZnJhY3Rpb25SYXRpbz0uOTg7dGhpcy53aXJlZnJhbWU9ITE7dGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9MTt0aGlzLndpcmVmcmFtZUxpbmVqb2luPXRoaXMud2lyZWZyYW1lTGluZWNhcD0icm91bmQiO3RoaXMubW9ycGhOb3JtYWxzPXRoaXMubW9ycGhUYXJnZXRzPXRoaXMuc2tpbm5pbmc9ITE7dGhpcy5zZXRWYWx1ZXMoYSl9ZnVuY3Rpb24gYWUoYSl7VWMuY2FsbCh0aGlzKTsKdGhpcy5kZWZpbmVzPXtTVEFOREFSRDoiIixQSFlTSUNBTDoiIn07dGhpcy50eXBlPSJNZXNoUGh5c2ljYWxNYXRlcmlhbCI7dGhpcy5yZWZsZWN0aXZpdHk9LjU7dGhpcy5jbGVhcmNvYXRSb3VnaG5lc3M9dGhpcy5jbGVhcmNvYXQ9MDt0aGlzLnNoZWVuPW51bGw7dGhpcy5jbGVhcmNvYXROb3JtYWxTY2FsZT1uZXcgZigxLDEpO3RoaXMuY2xlYXJjb2F0Tm9ybWFsTWFwPW51bGw7dGhpcy50cmFuc3BhcmVuY3k9MDt0aGlzLnNldFZhbHVlcyhhKX1mdW5jdGlvbiBEYyhhKXtTLmNhbGwodGhpcyk7dGhpcy50eXBlPSJNZXNoUGhvbmdNYXRlcmlhbCI7dGhpcy5jb2xvcj1uZXcgSCgxNjc3NzIxNSk7dGhpcy5zcGVjdWxhcj1uZXcgSCgxMTE4NDgxKTt0aGlzLnNoaW5pbmVzcz0zMDt0aGlzLmxpZ2h0TWFwPXRoaXMubWFwPW51bGw7dGhpcy5saWdodE1hcEludGVuc2l0eT0xO3RoaXMuYW9NYXA9bnVsbDt0aGlzLmFvTWFwSW50ZW5zaXR5PTE7dGhpcy5lbWlzc2l2ZT1uZXcgSCgwKTt0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PQoxO3RoaXMuYnVtcE1hcD10aGlzLmVtaXNzaXZlTWFwPW51bGw7dGhpcy5idW1wU2NhbGU9MTt0aGlzLm5vcm1hbE1hcD1udWxsO3RoaXMubm9ybWFsTWFwVHlwZT0wO3RoaXMubm9ybWFsU2NhbGU9bmV3IGYoMSwxKTt0aGlzLmRpc3BsYWNlbWVudE1hcD1udWxsO3RoaXMuZGlzcGxhY2VtZW50U2NhbGU9MTt0aGlzLmRpc3BsYWNlbWVudEJpYXM9MDt0aGlzLmVudk1hcD10aGlzLmFscGhhTWFwPXRoaXMuc3BlY3VsYXJNYXA9bnVsbDt0aGlzLmNvbWJpbmU9MDt0aGlzLnJlZmxlY3Rpdml0eT0xO3RoaXMucmVmcmFjdGlvblJhdGlvPS45ODt0aGlzLndpcmVmcmFtZT0hMTt0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xO3RoaXMud2lyZWZyYW1lTGluZWpvaW49dGhpcy53aXJlZnJhbWVMaW5lY2FwPSJyb3VuZCI7dGhpcy5tb3JwaE5vcm1hbHM9dGhpcy5tb3JwaFRhcmdldHM9dGhpcy5za2lubmluZz0hMTt0aGlzLnNldFZhbHVlcyhhKX1mdW5jdGlvbiBiZShhKXtEYy5jYWxsKHRoaXMpOwp0aGlzLmRlZmluZXM9e1RPT046IiJ9O3RoaXMudHlwZT0iTWVzaFRvb25NYXRlcmlhbCI7dGhpcy5ncmFkaWVudE1hcD1udWxsO3RoaXMuc2V0VmFsdWVzKGEpfWZ1bmN0aW9uIGNlKGEpe1MuY2FsbCh0aGlzKTt0aGlzLnR5cGU9Ik1lc2hOb3JtYWxNYXRlcmlhbCI7dGhpcy5idW1wTWFwPW51bGw7dGhpcy5idW1wU2NhbGU9MTt0aGlzLm5vcm1hbE1hcD1udWxsO3RoaXMubm9ybWFsTWFwVHlwZT0wO3RoaXMubm9ybWFsU2NhbGU9bmV3IGYoMSwxKTt0aGlzLmRpc3BsYWNlbWVudE1hcD1udWxsO3RoaXMuZGlzcGxhY2VtZW50U2NhbGU9MTt0aGlzLmRpc3BsYWNlbWVudEJpYXM9MDt0aGlzLndpcmVmcmFtZT0hMTt0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xO3RoaXMubW9ycGhOb3JtYWxzPXRoaXMubW9ycGhUYXJnZXRzPXRoaXMuc2tpbm5pbmc9dGhpcy5saWdodHM9dGhpcy5mb2c9ITE7dGhpcy5zZXRWYWx1ZXMoYSl9ZnVuY3Rpb24gZGUoYSl7Uy5jYWxsKHRoaXMpO3RoaXMudHlwZT0KIk1lc2hMYW1iZXJ0TWF0ZXJpYWwiO3RoaXMuY29sb3I9bmV3IEgoMTY3NzcyMTUpO3RoaXMubGlnaHRNYXA9dGhpcy5tYXA9bnVsbDt0aGlzLmxpZ2h0TWFwSW50ZW5zaXR5PTE7dGhpcy5hb01hcD1udWxsO3RoaXMuYW9NYXBJbnRlbnNpdHk9MTt0aGlzLmVtaXNzaXZlPW5ldyBIKDApO3RoaXMuZW1pc3NpdmVJbnRlbnNpdHk9MTt0aGlzLmVudk1hcD10aGlzLmFscGhhTWFwPXRoaXMuc3BlY3VsYXJNYXA9dGhpcy5lbWlzc2l2ZU1hcD1udWxsO3RoaXMuY29tYmluZT0wO3RoaXMucmVmbGVjdGl2aXR5PTE7dGhpcy5yZWZyYWN0aW9uUmF0aW89Ljk4O3RoaXMud2lyZWZyYW1lPSExO3RoaXMud2lyZWZyYW1lTGluZXdpZHRoPTE7dGhpcy53aXJlZnJhbWVMaW5lam9pbj10aGlzLndpcmVmcmFtZUxpbmVjYXA9InJvdW5kIjt0aGlzLm1vcnBoTm9ybWFscz10aGlzLm1vcnBoVGFyZ2V0cz10aGlzLnNraW5uaW5nPSExO3RoaXMuc2V0VmFsdWVzKGEpfWZ1bmN0aW9uIGVlKGEpe1MuY2FsbCh0aGlzKTsKdGhpcy5kZWZpbmVzPXtNQVRDQVA6IiJ9O3RoaXMudHlwZT0iTWVzaE1hdGNhcE1hdGVyaWFsIjt0aGlzLmNvbG9yPW5ldyBIKDE2Nzc3MjE1KTt0aGlzLmJ1bXBNYXA9dGhpcy5tYXA9dGhpcy5tYXRjYXA9bnVsbDt0aGlzLmJ1bXBTY2FsZT0xO3RoaXMubm9ybWFsTWFwPW51bGw7dGhpcy5ub3JtYWxNYXBUeXBlPTA7dGhpcy5ub3JtYWxTY2FsZT1uZXcgZigxLDEpO3RoaXMuZGlzcGxhY2VtZW50TWFwPW51bGw7dGhpcy5kaXNwbGFjZW1lbnRTY2FsZT0xO3RoaXMuZGlzcGxhY2VtZW50Qmlhcz0wO3RoaXMuYWxwaGFNYXA9bnVsbDt0aGlzLmxpZ2h0cz10aGlzLm1vcnBoTm9ybWFscz10aGlzLm1vcnBoVGFyZ2V0cz10aGlzLnNraW5uaW5nPSExO3RoaXMuc2V0VmFsdWVzKGEpfWZ1bmN0aW9uIGZlKGEpe0ZiLmNhbGwodGhpcyk7dGhpcy50eXBlPSJMaW5lRGFzaGVkTWF0ZXJpYWwiO3RoaXMuc2NhbGU9MTt0aGlzLmRhc2hTaXplPTM7dGhpcy5nYXBTaXplPTE7dGhpcy5zZXRWYWx1ZXMoYSl9CmZ1bmN0aW9uIHJjKGEsYyxlLGcpe3RoaXMucGFyYW1ldGVyUG9zaXRpb25zPWE7dGhpcy5fY2FjaGVkSW5kZXg9MDt0aGlzLnJlc3VsdEJ1ZmZlcj12b2lkIDAhPT1nP2c6bmV3IGMuY29uc3RydWN0b3IoZSk7dGhpcy5zYW1wbGVWYWx1ZXM9Yzt0aGlzLnZhbHVlU2l6ZT1lfWZ1bmN0aW9uIEhnKGEsYyxlLGcpe3JjLmNhbGwodGhpcyxhLGMsZSxnKTt0aGlzLl9vZmZzZXROZXh0PXRoaXMuX3dlaWdodE5leHQ9dGhpcy5fb2Zmc2V0UHJldj10aGlzLl93ZWlnaHRQcmV2PS0wfWZ1bmN0aW9uIFpmKGEsYyxlLGcpe3JjLmNhbGwodGhpcyxhLGMsZSxnKX1mdW5jdGlvbiBJZyhhLGMsZSxnKXtyYy5jYWxsKHRoaXMsYSxjLGUsZyl9ZnVuY3Rpb24gWmIoYSxjLGUsZyl7aWYodm9pZCAwPT09YSl0aHJvdyBFcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogdHJhY2sgbmFtZSBpcyB1bmRlZmluZWQiKTtpZih2b2lkIDA9PT1jfHwwPT09Yy5sZW5ndGgpdGhyb3cgRXJyb3IoIlRIUkVFLktleWZyYW1lVHJhY2s6IG5vIGtleWZyYW1lcyBpbiB0cmFjayBuYW1lZCAiKwphKTt0aGlzLm5hbWU9YTt0aGlzLnRpbWVzPVZiLmNvbnZlcnRBcnJheShjLHRoaXMuVGltZUJ1ZmZlclR5cGUpO3RoaXMudmFsdWVzPVZiLmNvbnZlcnRBcnJheShlLHRoaXMuVmFsdWVCdWZmZXJUeXBlKTt0aGlzLnNldEludGVycG9sYXRpb24oZ3x8dGhpcy5EZWZhdWx0SW50ZXJwb2xhdGlvbil9ZnVuY3Rpb24gSmcoYSxjLGUpe1piLmNhbGwodGhpcyxhLGMsZSl9ZnVuY3Rpb24gS2coYSxjLGUsZyl7WmIuY2FsbCh0aGlzLGEsYyxlLGcpfWZ1bmN0aW9uIFVlKGEsYyxlLGcpe1piLmNhbGwodGhpcyxhLGMsZSxnKX1mdW5jdGlvbiBMZyhhLGMsZSxnKXtyYy5jYWxsKHRoaXMsYSxjLGUsZyl9ZnVuY3Rpb24gJGYoYSxjLGUsZyl7WmIuY2FsbCh0aGlzLGEsYyxlLGcpfWZ1bmN0aW9uIE1nKGEsYyxlLGcpe1piLmNhbGwodGhpcyxhLGMsZSxnKX1mdW5jdGlvbiBWZShhLGMsZSxnKXtaYi5jYWxsKHRoaXMsYSxjLGUsZyl9ZnVuY3Rpb24gdmMoYSxjLGUpe3RoaXMubmFtZT1hO3RoaXMudHJhY2tzPQplO3RoaXMuZHVyYXRpb249dm9pZCAwIT09Yz9jOi0xO3RoaXMudXVpZD1oYi5nZW5lcmF0ZVVVSUQoKTswPnRoaXMuZHVyYXRpb24mJnRoaXMucmVzZXREdXJhdGlvbigpfWZ1bmN0aW9uIEhtKGEpe3N3aXRjaChhLnRvTG93ZXJDYXNlKCkpe2Nhc2UgInNjYWxhciI6Y2FzZSAiZG91YmxlIjpjYXNlICJmbG9hdCI6Y2FzZSAibnVtYmVyIjpjYXNlICJpbnRlZ2VyIjpyZXR1cm4gVWU7Y2FzZSAidmVjdG9yIjpjYXNlICJ2ZWN0b3IyIjpjYXNlICJ2ZWN0b3IzIjpjYXNlICJ2ZWN0b3I0IjpyZXR1cm4gVmU7Y2FzZSAiY29sb3IiOnJldHVybiBLZztjYXNlICJxdWF0ZXJuaW9uIjpyZXR1cm4gJGY7Y2FzZSAiYm9vbCI6Y2FzZSAiYm9vbGVhbiI6cmV0dXJuIEpnO2Nhc2UgInN0cmluZyI6cmV0dXJuIE1nfXRocm93IEVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiBVbnN1cHBvcnRlZCB0eXBlTmFtZTogIithKTt9ZnVuY3Rpb24gSW0oYSl7aWYodm9pZCAwPT09YS50eXBlKXRocm93IEVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiB0cmFjayB0eXBlIHVuZGVmaW5lZCwgY2FuIG5vdCBwYXJzZSIpOwp2YXIgYz1IbShhLnR5cGUpO2lmKHZvaWQgMD09PWEudGltZXMpe3ZhciBlPVtdLGc9W107VmIuZmxhdHRlbkpTT04oYS5rZXlzLGUsZywidmFsdWUiKTthLnRpbWVzPWU7YS52YWx1ZXM9Z31yZXR1cm4gdm9pZCAwIT09Yy5wYXJzZT9jLnBhcnNlKGEpOm5ldyBjKGEubmFtZSxhLnRpbWVzLGEudmFsdWVzLGEuaW50ZXJwb2xhdGlvbil9ZnVuY3Rpb24gZWkoYSxjLGUpe3ZhciBnPXRoaXMsdD0hMSx2PTAsej0wLEU9dm9pZCAwO3RoaXMub25TdGFydD12b2lkIDA7dGhpcy5vbkxvYWQ9YTt0aGlzLm9uUHJvZ3Jlc3M9Yzt0aGlzLm9uRXJyb3I9ZTt0aGlzLml0ZW1TdGFydD1mdW5jdGlvbihGKXt6Kys7aWYoITE9PT10JiZ2b2lkIDAhPT1nLm9uU3RhcnQpZy5vblN0YXJ0KEYsdix6KTt0PSEwfTt0aGlzLml0ZW1FbmQ9ZnVuY3Rpb24oRil7disrO2lmKHZvaWQgMCE9PWcub25Qcm9ncmVzcylnLm9uUHJvZ3Jlc3MoRix2LHopO2lmKHY9PT16JiYodD0hMSx2b2lkIDAhPT1nLm9uTG9hZCkpZy5vbkxvYWQoKX07CnRoaXMuaXRlbUVycm9yPWZ1bmN0aW9uKEYpe2lmKHZvaWQgMCE9PWcub25FcnJvcilnLm9uRXJyb3IoRil9O3RoaXMucmVzb2x2ZVVSTD1mdW5jdGlvbihGKXtyZXR1cm4gRT9FKEYpOkZ9O3RoaXMuc2V0VVJMTW9kaWZpZXI9ZnVuY3Rpb24oRil7RT1GO3JldHVybiB0aGlzfX1mdW5jdGlvbiBEYihhKXt0aGlzLm1hbmFnZXI9dm9pZCAwIT09YT9hOlhqO3RoaXMuY3Jvc3NPcmlnaW49ImFub255bW91cyI7dGhpcy5yZXNvdXJjZVBhdGg9dGhpcy5wYXRoPSIifWZ1bmN0aW9uIHdjKGEpe0RiLmNhbGwodGhpcyxhKX1mdW5jdGlvbiBmaShhKXtEYi5jYWxsKHRoaXMsYSl9ZnVuY3Rpb24gZ2koYSl7RGIuY2FsbCh0aGlzLGEpO3RoaXMuX3BhcnNlcj1udWxsfWZ1bmN0aW9uIE5nKGEpe0RiLmNhbGwodGhpcyxhKTt0aGlzLl9wYXJzZXI9bnVsbH1mdW5jdGlvbiBXZShhKXtEYi5jYWxsKHRoaXMsYSl9ZnVuY3Rpb24gT2coYSl7RGIuY2FsbCh0aGlzLGEpfWZ1bmN0aW9uIFBnKGEpe0RiLmNhbGwodGhpcywKYSl9ZnVuY3Rpb24gWmEoKXt0aGlzLnR5cGU9IkN1cnZlIjt0aGlzLmFyY0xlbmd0aERpdmlzaW9ucz0yMDB9ZnVuY3Rpb24gc2MoYSxjLGUsZyx0LHYseixFKXtaYS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iRWxsaXBzZUN1cnZlIjt0aGlzLmFYPWF8fDA7dGhpcy5hWT1jfHwwO3RoaXMueFJhZGl1cz1lfHwxO3RoaXMueVJhZGl1cz1nfHwxO3RoaXMuYVN0YXJ0QW5nbGU9dHx8MDt0aGlzLmFFbmRBbmdsZT12fHwyKk1hdGguUEk7dGhpcy5hQ2xvY2t3aXNlPXp8fCExO3RoaXMuYVJvdGF0aW9uPUV8fDB9ZnVuY3Rpb24gWGUoYSxjLGUsZyx0LHYpe3NjLmNhbGwodGhpcyxhLGMsZSxlLGcsdCx2KTt0aGlzLnR5cGU9IkFyY0N1cnZlIn1mdW5jdGlvbiBoaSgpe2Z1bmN0aW9uIGEodix6LEUsRil7Yz12O2U9RTtnPS0zKnYrMyp6LTIqRS1GO3Q9Mip2LTIqeitFK0Z9dmFyIGM9MCxlPTAsZz0wLHQ9MDtyZXR1cm57aW5pdENhdG11bGxSb206ZnVuY3Rpb24odix6LEUsRixJKXthKHosRSxJKgooRS12KSxJKihGLXopKX0saW5pdE5vbnVuaWZvcm1DYXRtdWxsUm9tOmZ1bmN0aW9uKHYseixFLEYsSSxNLFApe2EoeixFLCgoei12KS9JLShFLXYpLyhJK00pKyhFLXopL00pKk0sKChFLXopL00tKEYteikvKE0rUCkrKEYtRSkvUCkqTSl9LGNhbGM6ZnVuY3Rpb24odil7dmFyIHo9dip2O3JldHVybiBjK2UqditnKnordCp6KnZ9fX1mdW5jdGlvbiBiYyhhLGMsZSxnKXtaYS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQ2F0bXVsbFJvbUN1cnZlMyI7dGhpcy5wb2ludHM9YXx8W107dGhpcy5jbG9zZWQ9Y3x8ITE7dGhpcy5jdXJ2ZVR5cGU9ZXx8ImNlbnRyaXBldGFsIjt0aGlzLnRlbnNpb249Z3x8LjV9ZnVuY3Rpb24gWWooYSxjLGUsZyx0KXtjPS41KihnLWMpO3Q9LjUqKHQtZSk7dmFyIHY9YSphO3JldHVybigyKmUtMipnK2MrdCkqYSp2KygtMyplKzMqZy0yKmMtdCkqditjKmErZX1mdW5jdGlvbiBKbShhLGMpe2E9MS1hO3JldHVybiBhKmEqY31mdW5jdGlvbiBLbShhLGMpe3JldHVybiAyKgooMS1hKSphKmN9ZnVuY3Rpb24gTG0oYSxjKXtyZXR1cm4gYSphKmN9ZnVuY3Rpb24gYWcoYSxjLGUsZyl7cmV0dXJuIEptKGEsYykrS20oYSxlKStMbShhLGcpfWZ1bmN0aW9uIE1tKGEsYyl7YT0xLWE7cmV0dXJuIGEqYSphKmN9ZnVuY3Rpb24gTm0oYSxjKXt2YXIgZT0xLWE7cmV0dXJuIDMqZSplKmEqY31mdW5jdGlvbiBPbShhLGMpe3JldHVybiAzKigxLWEpKmEqYSpjfWZ1bmN0aW9uIFBtKGEsYyl7cmV0dXJuIGEqYSphKmN9ZnVuY3Rpb24gYmcoYSxjLGUsZyx0KXtyZXR1cm4gTW0oYSxjKStObShhLGUpK09tKGEsZykrUG0oYSx0KX1mdW5jdGlvbiBFYyhhLGMsZSxnKXtaYS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQ3ViaWNCZXppZXJDdXJ2ZSI7dGhpcy52MD1hfHxuZXcgZjt0aGlzLnYxPWN8fG5ldyBmO3RoaXMudjI9ZXx8bmV3IGY7dGhpcy52Mz1nfHxuZXcgZn1mdW5jdGlvbiBWYyhhLGMsZSxnKXtaYS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQ3ViaWNCZXppZXJDdXJ2ZTMiOwp0aGlzLnYwPWF8fG5ldyBrO3RoaXMudjE9Y3x8bmV3IGs7dGhpcy52Mj1lfHxuZXcgazt0aGlzLnYzPWd8fG5ldyBrfWZ1bmN0aW9uIG5jKGEsYyl7WmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IkxpbmVDdXJ2ZSI7dGhpcy52MT1hfHxuZXcgZjt0aGlzLnYyPWN8fG5ldyBmfWZ1bmN0aW9uIEZjKGEsYyl7WmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IkxpbmVDdXJ2ZTMiO3RoaXMudjE9YXx8bmV3IGs7dGhpcy52Mj1jfHxuZXcga31mdW5jdGlvbiBHYyhhLGMsZSl7WmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlF1YWRyYXRpY0JlemllckN1cnZlIjt0aGlzLnYwPWF8fG5ldyBmO3RoaXMudjE9Y3x8bmV3IGY7dGhpcy52Mj1lfHxuZXcgZn1mdW5jdGlvbiBXYyhhLGMsZSl7WmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IlF1YWRyYXRpY0JlemllckN1cnZlMyI7dGhpcy52MD1hfHxuZXcgazt0aGlzLnYxPWN8fG5ldyBrO3RoaXMudjI9ZXx8bmV3IGt9ZnVuY3Rpb24gSGMoYSl7WmEuY2FsbCh0aGlzKTsKdGhpcy50eXBlPSJTcGxpbmVDdXJ2ZSI7dGhpcy5wb2ludHM9YXx8W119ZnVuY3Rpb24gaWQoKXtaYS5jYWxsKHRoaXMpO3RoaXMudHlwZT0iQ3VydmVQYXRoIjt0aGlzLmN1cnZlcz1bXTt0aGlzLmF1dG9DbG9zZT0hMX1mdW5jdGlvbiBJYyhhKXtpZC5jYWxsKHRoaXMpO3RoaXMudHlwZT0iUGF0aCI7dGhpcy5jdXJyZW50UG9pbnQ9bmV3IGY7YSYmdGhpcy5zZXRGcm9tUG9pbnRzKGEpfWZ1bmN0aW9uIEVkKGEpe0ljLmNhbGwodGhpcyxhKTt0aGlzLnV1aWQ9aGIuZ2VuZXJhdGVVVUlEKCk7dGhpcy50eXBlPSJTaGFwZSI7dGhpcy5ob2xlcz1bXX1mdW5jdGlvbiBLYihhLGMpe0EuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IkxpZ2h0Ijt0aGlzLmNvbG9yPW5ldyBIKGEpO3RoaXMuaW50ZW5zaXR5PXZvaWQgMCE9PWM/YzoxO3RoaXMucmVjZWl2ZVNoYWRvdz12b2lkIDB9ZnVuY3Rpb24gUWcoYSxjLGUpe0tiLmNhbGwodGhpcyxhLGUpO3RoaXMudHlwZT0iSGVtaXNwaGVyZUxpZ2h0Ijt0aGlzLmNhc3RTaGFkb3c9CnZvaWQgMDt0aGlzLnBvc2l0aW9uLmNvcHkoQS5EZWZhdWx0VXApO3RoaXMudXBkYXRlTWF0cml4KCk7dGhpcy5ncm91bmRDb2xvcj1uZXcgSChjKX1mdW5jdGlvbiBYYyhhKXt0aGlzLmNhbWVyYT1hO3RoaXMuYmlhcz0wO3RoaXMucmFkaXVzPTE7dGhpcy5tYXBTaXplPW5ldyBmKDUxMiw1MTIpO3RoaXMubWFwUGFzcz10aGlzLm1hcD1udWxsO3RoaXMubWF0cml4PW5ldyBxO3RoaXMuX2ZydXN0dW09bmV3IGxjO3RoaXMuX2ZyYW1lRXh0ZW50cz1uZXcgZigxLDEpO3RoaXMuX3ZpZXdwb3J0Q291bnQ9MTt0aGlzLl92aWV3cG9ydHM9W25ldyBwKDAsMCwxLDEpXX1mdW5jdGlvbiBSZygpe1hjLmNhbGwodGhpcyxuZXcgdmIoNTAsMSwuNSw1MDApKX1mdW5jdGlvbiBTZyhhLGMsZSxnLHQsdil7S2IuY2FsbCh0aGlzLGEsYyk7dGhpcy50eXBlPSJTcG90TGlnaHQiO3RoaXMucG9zaXRpb24uY29weShBLkRlZmF1bHRVcCk7dGhpcy51cGRhdGVNYXRyaXgoKTt0aGlzLnRhcmdldD1uZXcgQTsKT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsInBvd2VyIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW50ZW5zaXR5Kk1hdGguUEl9LHNldDpmdW5jdGlvbih6KXt0aGlzLmludGVuc2l0eT16L01hdGguUEl9fSk7dGhpcy5kaXN0YW5jZT12b2lkIDAhPT1lP2U6MDt0aGlzLmFuZ2xlPXZvaWQgMCE9PWc/ZzpNYXRoLlBJLzM7dGhpcy5wZW51bWJyYT12b2lkIDAhPT10P3Q6MDt0aGlzLmRlY2F5PXZvaWQgMCE9PXY/djoxO3RoaXMuc2hhZG93PW5ldyBSZ31mdW5jdGlvbiBpaSgpe1hjLmNhbGwodGhpcyxuZXcgdmIoOTAsMSwuNSw1MDApKTt0aGlzLl9mcmFtZUV4dGVudHM9bmV3IGYoNCwyKTt0aGlzLl92aWV3cG9ydENvdW50PTY7dGhpcy5fdmlld3BvcnRzPVtuZXcgcCgyLDEsMSwxKSxuZXcgcCgwLDEsMSwxKSxuZXcgcCgzLDEsMSwxKSxuZXcgcCgxLDEsMSwxKSxuZXcgcCgzLDAsMSwxKSxuZXcgcCgxLDAsMSwxKV07dGhpcy5fY3ViZURpcmVjdGlvbnM9W25ldyBrKDEsCjAsMCksbmV3IGsoLTEsMCwwKSxuZXcgaygwLDAsMSksbmV3IGsoMCwwLC0xKSxuZXcgaygwLDEsMCksbmV3IGsoMCwtMSwwKV07dGhpcy5fY3ViZVVwcz1bbmV3IGsoMCwxLDApLG5ldyBrKDAsMSwwKSxuZXcgaygwLDEsMCksbmV3IGsoMCwxLDApLG5ldyBrKDAsMCwxKSxuZXcgaygwLDAsLTEpXX1mdW5jdGlvbiBUZyhhLGMsZSxnKXtLYi5jYWxsKHRoaXMsYSxjKTt0aGlzLnR5cGU9IlBvaW50TGlnaHQiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJwb3dlciIse2dldDpmdW5jdGlvbigpe3JldHVybiA0KnRoaXMuaW50ZW5zaXR5Kk1hdGguUEl9LHNldDpmdW5jdGlvbih0KXt0aGlzLmludGVuc2l0eT10Lyg0Kk1hdGguUEkpfX0pO3RoaXMuZGlzdGFuY2U9dm9pZCAwIT09ZT9lOjA7dGhpcy5kZWNheT12b2lkIDAhPT1nP2c6MTt0aGlzLnNoYWRvdz1uZXcgaWl9ZnVuY3Rpb24gY2coYSxjLGUsZyx0LHYpe3piLmNhbGwodGhpcyk7dGhpcy50eXBlPSJPcnRob2dyYXBoaWNDYW1lcmEiOwp0aGlzLnpvb209MTt0aGlzLnZpZXc9bnVsbDt0aGlzLmxlZnQ9dm9pZCAwIT09YT9hOi0xO3RoaXMucmlnaHQ9dm9pZCAwIT09Yz9jOjE7dGhpcy50b3A9dm9pZCAwIT09ZT9lOjE7dGhpcy5ib3R0b209dm9pZCAwIT09Zz9nOi0xO3RoaXMubmVhcj12b2lkIDAhPT10P3Q6LjE7dGhpcy5mYXI9dm9pZCAwIT09dj92OjJFMzt0aGlzLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKX1mdW5jdGlvbiBVZygpe1hjLmNhbGwodGhpcyxuZXcgY2coLTUsNSw1LC01LC41LDUwMCkpfWZ1bmN0aW9uIFZnKGEsYyl7S2IuY2FsbCh0aGlzLGEsYyk7dGhpcy50eXBlPSJEaXJlY3Rpb25hbExpZ2h0Ijt0aGlzLnBvc2l0aW9uLmNvcHkoQS5EZWZhdWx0VXApO3RoaXMudXBkYXRlTWF0cml4KCk7dGhpcy50YXJnZXQ9bmV3IEE7dGhpcy5zaGFkb3c9bmV3IFVnfWZ1bmN0aW9uIFdnKGEsYyl7S2IuY2FsbCh0aGlzLGEsYyk7dGhpcy50eXBlPSJBbWJpZW50TGlnaHQiO3RoaXMuY2FzdFNoYWRvdz12b2lkIDB9CmZ1bmN0aW9uIFhnKGEsYyxlLGcpe0tiLmNhbGwodGhpcyxhLGMpO3RoaXMudHlwZT0iUmVjdEFyZWFMaWdodCI7dGhpcy53aWR0aD12b2lkIDAhPT1lP2U6MTA7dGhpcy5oZWlnaHQ9dm9pZCAwIT09Zz9nOjEwfWZ1bmN0aW9uIFlnKGEpe0RiLmNhbGwodGhpcyxhKTt0aGlzLnRleHR1cmVzPXt9fWZ1bmN0aW9uIFpnKCl7dmEuY2FsbCh0aGlzKTt0aGlzLnR5cGU9Ikluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5Ijt0aGlzLm1heEluc3RhbmNlZENvdW50PXZvaWQgMH1mdW5jdGlvbiAkZyhhLGMsZSxnKXsibnVtYmVyIj09PXR5cGVvZiBlJiYoZz1lLGU9ITEsY29uc29sZS5lcnJvcigiVEhSRUUuSW5zdGFuY2VkQnVmZmVyQXR0cmlidXRlOiBUaGUgY29uc3RydWN0b3Igbm93IGV4cGVjdHMgbm9ybWFsaXplZCBhcyB0aGUgdGhpcmQgYXJndW1lbnQuIikpO1IuY2FsbCh0aGlzLGEsYyxlKTt0aGlzLm1lc2hQZXJBdHRyaWJ1dGU9Z3x8MX1mdW5jdGlvbiBhaChhKXtEYi5jYWxsKHRoaXMsYSl9CmZ1bmN0aW9uIGJoKGEpe0RiLmNhbGwodGhpcyxhKX1mdW5jdGlvbiBqaShhKXsidW5kZWZpbmVkIj09PXR5cGVvZiBjcmVhdGVJbWFnZUJpdG1hcCYmY29uc29sZS53YXJuKCJUSFJFRS5JbWFnZUJpdG1hcExvYWRlcjogY3JlYXRlSW1hZ2VCaXRtYXAoKSBub3Qgc3VwcG9ydGVkLiIpOyJ1bmRlZmluZWQiPT09dHlwZW9mIGZldGNoJiZjb25zb2xlLndhcm4oIlRIUkVFLkltYWdlQml0bWFwTG9hZGVyOiBmZXRjaCgpIG5vdCBzdXBwb3J0ZWQuIik7RGIuY2FsbCh0aGlzLGEpO3RoaXMub3B0aW9ucz12b2lkIDB9ZnVuY3Rpb24ga2koKXt0aGlzLnR5cGU9IlNoYXBlUGF0aCI7dGhpcy5jb2xvcj1uZXcgSDt0aGlzLnN1YlBhdGhzPVtdO3RoaXMuY3VycmVudFBhdGg9bnVsbH1mdW5jdGlvbiBsaShhKXt0aGlzLnR5cGU9IkZvbnQiO3RoaXMuZGF0YT1hfWZ1bmN0aW9uIFFtKGEsYyxlKXthPUFycmF5LmZyb20/QXJyYXkuZnJvbShhKTpTdHJpbmcoYSkuc3BsaXQoIiIpO2MvPWUucmVzb2x1dGlvbjsKZm9yKHZhciBnPShlLmJvdW5kaW5nQm94LnlNYXgtZS5ib3VuZGluZ0JveC55TWluK2UudW5kZXJsaW5lVGhpY2tuZXNzKSpjLHQ9W10sdj0wLHo9MCxFPTA7RTxhLmxlbmd0aDtFKyspe3ZhciBGPWFbRV07IlxuIj09PUY/KHY9MCx6LT1nKTooRj1SbShGLGMsdix6LGUpLHYrPUYub2Zmc2V0WCx0LnB1c2goRi5wYXRoKSl9cmV0dXJuIHR9ZnVuY3Rpb24gUm0oYSxjLGUsZyx0KXt2YXIgdj10LmdseXBoc1thXXx8dC5nbHlwaHNbIj8iXTtpZih2KXthPW5ldyBraTtpZih2Lm8pe3Q9di5fY2FjaGVkT3V0bGluZXx8KHYuX2NhY2hlZE91dGxpbmU9di5vLnNwbGl0KCIgIikpO2Zvcih2YXIgej0wLEU9dC5sZW5ndGg7ejxFOylzd2l0Y2godFt6KytdKXtjYXNlICJtIjp2YXIgRj10W3orK10qYytlO3ZhciBJPXRbeisrXSpjK2c7YS5tb3ZlVG8oRixJKTticmVhaztjYXNlICJsIjpGPXRbeisrXSpjK2U7ST10W3orK10qYytnO2EubGluZVRvKEYsSSk7YnJlYWs7Y2FzZSAicSI6Rj10W3orK10qCmMrZTtJPXRbeisrXSpjK2c7dmFyIE09dFt6KytdKmMrZTt2YXIgUD10W3orK10qYytnO2EucXVhZHJhdGljQ3VydmVUbyhNLFAsRixJKTticmVhaztjYXNlICJiIjpGPXRbeisrXSpjK2U7ST10W3orK10qYytnO009dFt6KytdKmMrZTtQPXRbeisrXSpjK2c7dmFyIFE9dFt6KytdKmMrZTt2YXIgVT10W3orK10qYytnO2EuYmV6aWVyQ3VydmVUbyhNLFAsUSxVLEYsSSl9fXJldHVybntvZmZzZXRYOnYuaGEqYyxwYXRoOmF9fWNvbnNvbGUuZXJyb3IoJ1RIUkVFLkZvbnQ6IGNoYXJhY3RlciAiJythKyciIGRvZXMgbm90IGV4aXN0cyBpbiBmb250IGZhbWlseSAnK3QuZmFtaWx5TmFtZSsiLiIpfWZ1bmN0aW9uIG1pKGEpe0RiLmNhbGwodGhpcyxhKX1mdW5jdGlvbiBjaChhKXtEYi5jYWxsKHRoaXMsYSl9ZnVuY3Rpb24gZGgoKXt0aGlzLmNvZWZmaWNpZW50cz1bXTtmb3IodmFyIGE9MDs5PmE7YSsrKXRoaXMuY29lZmZpY2llbnRzLnB1c2gobmV3IGspfWZ1bmN0aW9uIEpjKGEsYyl7S2IuY2FsbCh0aGlzLAp2b2lkIDAsYyk7dGhpcy5zaD12b2lkIDAhPT1hP2E6bmV3IGRofWZ1bmN0aW9uIG5pKGEsYyxlKXtKYy5jYWxsKHRoaXMsdm9pZCAwLGUpO2E9KG5ldyBIKS5zZXQoYSk7ZT0obmV3IEgpLnNldChjKTtjPW5ldyBrKGEucixhLmcsYS5iKTthPW5ldyBrKGUucixlLmcsZS5iKTtlPU1hdGguc3FydChNYXRoLlBJKTt2YXIgZz1lKk1hdGguc3FydCguNzUpO3RoaXMuc2guY29lZmZpY2llbnRzWzBdLmNvcHkoYykuYWRkKGEpLm11bHRpcGx5U2NhbGFyKGUpO3RoaXMuc2guY29lZmZpY2llbnRzWzFdLmNvcHkoYykuc3ViKGEpLm11bHRpcGx5U2NhbGFyKGcpfWZ1bmN0aW9uIG9pKGEsYyl7SmMuY2FsbCh0aGlzLHZvaWQgMCxjKTthPShuZXcgSCkuc2V0KGEpO3RoaXMuc2guY29lZmZpY2llbnRzWzBdLnNldChhLnIsYS5nLGEuYikubXVsdGlwbHlTY2FsYXIoMipNYXRoLnNxcnQoTWF0aC5QSSkpfWZ1bmN0aW9uIFpqKCl7dGhpcy50eXBlPSJTdGVyZW9DYW1lcmEiO3RoaXMuYXNwZWN0PTE7CnRoaXMuZXllU2VwPS4wNjQ7dGhpcy5jYW1lcmFMPW5ldyB2Yjt0aGlzLmNhbWVyYUwubGF5ZXJzLmVuYWJsZSgxKTt0aGlzLmNhbWVyYUwubWF0cml4QXV0b1VwZGF0ZT0hMTt0aGlzLmNhbWVyYVI9bmV3IHZiO3RoaXMuY2FtZXJhUi5sYXllcnMuZW5hYmxlKDIpO3RoaXMuY2FtZXJhUi5tYXRyaXhBdXRvVXBkYXRlPSExO3RoaXMuX2NhY2hlPXtmb2N1czpudWxsLGZvdjpudWxsLGFzcGVjdDpudWxsLG5lYXI6bnVsbCxmYXI6bnVsbCx6b29tOm51bGwsZXllU2VwOm51bGx9fWZ1bmN0aW9uIHBpKGEpe3RoaXMuYXV0b1N0YXJ0PXZvaWQgMCE9PWE/YTohMDt0aGlzLmVsYXBzZWRUaW1lPXRoaXMub2xkVGltZT10aGlzLnN0YXJ0VGltZT0wO3RoaXMucnVubmluZz0hMX1mdW5jdGlvbiBxaSgpe0EuY2FsbCh0aGlzKTt0aGlzLnR5cGU9IkF1ZGlvTGlzdGVuZXIiO3RoaXMuY29udGV4dD1yaS5nZXRDb250ZXh0KCk7dGhpcy5nYWluPXRoaXMuY29udGV4dC5jcmVhdGVHYWluKCk7dGhpcy5nYWluLmNvbm5lY3QodGhpcy5jb250ZXh0LmRlc3RpbmF0aW9uKTsKdGhpcy5maWx0ZXI9bnVsbDt0aGlzLnRpbWVEZWx0YT0wO3RoaXMuX2Nsb2NrPW5ldyBwaX1mdW5jdGlvbiBZZShhKXtBLmNhbGwodGhpcyk7dGhpcy50eXBlPSJBdWRpbyI7dGhpcy5saXN0ZW5lcj1hO3RoaXMuY29udGV4dD1hLmNvbnRleHQ7dGhpcy5nYWluPXRoaXMuY29udGV4dC5jcmVhdGVHYWluKCk7dGhpcy5nYWluLmNvbm5lY3QoYS5nZXRJbnB1dCgpKTt0aGlzLmF1dG9wbGF5PSExO3RoaXMuYnVmZmVyPW51bGw7dGhpcy5kZXR1bmU9MDt0aGlzLmxvb3A9ITE7dGhpcy5vZmZzZXQ9dGhpcy5zdGFydFRpbWU9MDt0aGlzLmR1cmF0aW9uPXZvaWQgMDt0aGlzLnBsYXliYWNrUmF0ZT0xO3RoaXMuaXNQbGF5aW5nPSExO3RoaXMuaGFzUGxheWJhY2tDb250cm9sPSEwO3RoaXMuc291cmNlVHlwZT0iZW1wdHkiO3RoaXMuZmlsdGVycz1bXX1mdW5jdGlvbiBzaShhKXtZZS5jYWxsKHRoaXMsYSk7dGhpcy5wYW5uZXI9dGhpcy5jb250ZXh0LmNyZWF0ZVBhbm5lcigpO3RoaXMucGFubmVyLnBhbm5pbmdNb2RlbD0KIkhSVEYiO3RoaXMucGFubmVyLmNvbm5lY3QodGhpcy5nYWluKX1mdW5jdGlvbiB0aShhLGMpe3RoaXMuYW5hbHlzZXI9YS5jb250ZXh0LmNyZWF0ZUFuYWx5c2VyKCk7dGhpcy5hbmFseXNlci5mZnRTaXplPXZvaWQgMCE9PWM/YzoyMDQ4O3RoaXMuZGF0YT1uZXcgVWludDhBcnJheSh0aGlzLmFuYWx5c2VyLmZyZXF1ZW5jeUJpbkNvdW50KTthLmdldE91dHB1dCgpLmNvbm5lY3QodGhpcy5hbmFseXNlcil9ZnVuY3Rpb24gdWkoYSxjLGUpe3RoaXMuYmluZGluZz1hO3RoaXMudmFsdWVTaXplPWU7YT1GbG9hdDY0QXJyYXk7c3dpdGNoKGMpe2Nhc2UgInF1YXRlcm5pb24iOmM9dGhpcy5fc2xlcnA7YnJlYWs7Y2FzZSAic3RyaW5nIjpjYXNlICJib29sIjphPUFycmF5O2M9dGhpcy5fc2VsZWN0O2JyZWFrO2RlZmF1bHQ6Yz10aGlzLl9sZXJwfXRoaXMuYnVmZmVyPW5ldyBhKDQqZSk7dGhpcy5fbWl4QnVmZmVyUmVnaW9uPWM7dGhpcy5yZWZlcmVuY2VDb3VudD10aGlzLnVzZUNvdW50PQp0aGlzLmN1bXVsYXRpdmVXZWlnaHQ9MH1mdW5jdGlvbiBhayhhLGMsZSl7ZT1lfHxjYy5wYXJzZVRyYWNrTmFtZShjKTt0aGlzLl90YXJnZXRHcm91cD1hO3RoaXMuX2JpbmRpbmdzPWEuc3Vic2NyaWJlXyhjLGUpfWZ1bmN0aW9uIGNjKGEsYyxlKXt0aGlzLnBhdGg9Yzt0aGlzLnBhcnNlZFBhdGg9ZXx8Y2MucGFyc2VUcmFja05hbWUoYyk7dGhpcy5ub2RlPWNjLmZpbmROb2RlKGEsdGhpcy5wYXJzZWRQYXRoLm5vZGVOYW1lKXx8YTt0aGlzLnJvb3ROb2RlPWF9ZnVuY3Rpb24gYmsoKXt0aGlzLnV1aWQ9aGIuZ2VuZXJhdGVVVUlEKCk7dGhpcy5fb2JqZWN0cz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3RoaXMubkNhY2hlZE9iamVjdHNfPTA7dmFyIGE9e307dGhpcy5faW5kaWNlc0J5VVVJRD1hO2Zvcih2YXIgYz0wLGU9YXJndW1lbnRzLmxlbmd0aDtjIT09ZTsrK2MpYVthcmd1bWVudHNbY10udXVpZF09Yzt0aGlzLl9wYXRocz1bXTt0aGlzLl9wYXJzZWRQYXRocz0KW107dGhpcy5fYmluZGluZ3M9W107dGhpcy5fYmluZGluZ3NJbmRpY2VzQnlQYXRoPXt9O3ZhciBnPXRoaXM7dGhpcy5zdGF0cz17b2JqZWN0czp7Z2V0IHRvdGFsKCl7cmV0dXJuIGcuX29iamVjdHMubGVuZ3RofSxnZXQgaW5Vc2UoKXtyZXR1cm4gdGhpcy50b3RhbC1nLm5DYWNoZWRPYmplY3RzX319LGdldCBiaW5kaW5nc1Blck9iamVjdCgpe3JldHVybiBnLl9iaW5kaW5ncy5sZW5ndGh9fX1mdW5jdGlvbiBjayhhLGMsZSl7dGhpcy5fbWl4ZXI9YTt0aGlzLl9jbGlwPWM7dGhpcy5fbG9jYWxSb290PWV8fG51bGw7YT1jLnRyYWNrcztjPWEubGVuZ3RoO2U9QXJyYXkoYyk7Zm9yKHZhciBnPXtlbmRpbmdTdGFydDoyNDAwLGVuZGluZ0VuZDoyNDAwfSx0PTA7dCE9PWM7Kyt0KXt2YXIgdj1hW3RdLmNyZWF0ZUludGVycG9sYW50KG51bGwpO2VbdF09djt2LnNldHRpbmdzPWd9dGhpcy5faW50ZXJwb2xhbnRTZXR0aW5ncz1nO3RoaXMuX2ludGVycG9sYW50cz1lO3RoaXMuX3Byb3BlcnR5QmluZGluZ3M9CkFycmF5KGMpO3RoaXMuX3dlaWdodEludGVycG9sYW50PXRoaXMuX3RpbWVTY2FsZUludGVycG9sYW50PXRoaXMuX2J5Q2xpcENhY2hlSW5kZXg9dGhpcy5fY2FjaGVJbmRleD1udWxsO3RoaXMubG9vcD0yMjAxO3RoaXMuX2xvb3BDb3VudD0tMTt0aGlzLl9zdGFydFRpbWU9bnVsbDt0aGlzLnRpbWU9MDt0aGlzLl9lZmZlY3RpdmVXZWlnaHQ9dGhpcy53ZWlnaHQ9dGhpcy5fZWZmZWN0aXZlVGltZVNjYWxlPXRoaXMudGltZVNjYWxlPTE7dGhpcy5yZXBldGl0aW9ucz1JbmZpbml0eTt0aGlzLnBhdXNlZD0hMTt0aGlzLmVuYWJsZWQ9ITA7dGhpcy5jbGFtcFdoZW5GaW5pc2hlZD0hMTt0aGlzLnplcm9TbG9wZUF0RW5kPXRoaXMuemVyb1Nsb3BlQXRTdGFydD0hMH1mdW5jdGlvbiB2aShhKXt0aGlzLl9yb290PWE7dGhpcy5faW5pdE1lbW9yeU1hbmFnZXIoKTt0aGlzLnRpbWU9dGhpcy5fYWNjdUluZGV4PTA7dGhpcy50aW1lU2NhbGU9MX1mdW5jdGlvbiBlaChhLGMpeyJzdHJpbmciPT09CnR5cGVvZiBhJiYoY29uc29sZS53YXJuKCJUSFJFRS5Vbmlmb3JtOiBUeXBlIHBhcmFtZXRlciBpcyBubyBsb25nZXIgbmVlZGVkLiIpLGE9Yyk7dGhpcy52YWx1ZT1hfWZ1bmN0aW9uIHdpKGEsYyxlKXtTZC5jYWxsKHRoaXMsYSxjKTt0aGlzLm1lc2hQZXJBdHRyaWJ1dGU9ZXx8MX1mdW5jdGlvbiBkayhhLGMsZSxnKXt0aGlzLnJheT1uZXcgRChhLGMpO3RoaXMubmVhcj1lfHwwO3RoaXMuZmFyPWd8fEluZmluaXR5O3RoaXMuY2FtZXJhPW51bGw7dGhpcy5wYXJhbXM9e01lc2g6e30sTGluZTp7fSxMT0Q6e30sUG9pbnRzOnt0aHJlc2hvbGQ6MX0sU3ByaXRlOnt9fTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0aGlzLnBhcmFtcyx7UG9pbnRDbG91ZDp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5SYXljYXN0ZXI6IHBhcmFtcy5Qb2ludENsb3VkIGhhcyBiZWVuIHJlbmFtZWQgdG8gcGFyYW1zLlBvaW50cy4iKTtyZXR1cm4gdGhpcy5Qb2ludHN9fX0pfWZ1bmN0aW9uIGVrKGEsCmMpe3JldHVybiBhLmRpc3RhbmNlLWMuZGlzdGFuY2V9ZnVuY3Rpb24geGkoYSxjLGUsZyl7aWYoITEhPT1hLnZpc2libGUmJihhLnJheWNhc3QoYyxlKSwhMD09PWcpKXthPWEuY2hpbGRyZW47Zz0wO2Zvcih2YXIgdD1hLmxlbmd0aDtnPHQ7ZysrKXhpKGFbZ10sYyxlLCEwKX19ZnVuY3Rpb24gZmsoYSxjLGUpe3RoaXMucmFkaXVzPXZvaWQgMCE9PWE/YToxO3RoaXMucGhpPXZvaWQgMCE9PWM/YzowO3RoaXMudGhldGE9dm9pZCAwIT09ZT9lOjA7cmV0dXJuIHRoaXN9ZnVuY3Rpb24gZ2soYSxjLGUpe3RoaXMucmFkaXVzPXZvaWQgMCE9PWE/YToxO3RoaXMudGhldGE9dm9pZCAwIT09Yz9jOjA7dGhpcy55PXZvaWQgMCE9PWU/ZTowO3JldHVybiB0aGlzfWZ1bmN0aW9uIHlpKGEsYyl7dGhpcy5taW49dm9pZCAwIT09YT9hOm5ldyBmKEluZmluaXR5LEluZmluaXR5KTt0aGlzLm1heD12b2lkIDAhPT1jP2M6bmV3IGYoLUluZmluaXR5LC1JbmZpbml0eSl9ZnVuY3Rpb24gemkoYSxjKXt0aGlzLnN0YXJ0PQp2b2lkIDAhPT1hP2E6bmV3IGs7dGhpcy5lbmQ9dm9pZCAwIT09Yz9jOm5ldyBrfWZ1bmN0aW9uIGRnKGEpe0EuY2FsbCh0aGlzKTt0aGlzLm1hdGVyaWFsPWE7dGhpcy5yZW5kZXI9ZnVuY3Rpb24oKXt9fWZ1bmN0aW9uIGVnKGEsYyxlLGcpe3RoaXMub2JqZWN0PWE7dGhpcy5zaXplPXZvaWQgMCE9PWM/YzoxO2E9dm9pZCAwIT09ZT9lOjE2NzExNjgwO2c9dm9pZCAwIT09Zz9nOjE7Yz0wOyhlPXRoaXMub2JqZWN0Lmdlb21ldHJ5KSYmZS5pc0dlb21ldHJ5P2M9MyplLmZhY2VzLmxlbmd0aDplJiZlLmlzQnVmZmVyR2VvbWV0cnkmJihjPWUuYXR0cmlidXRlcy5ub3JtYWwuY291bnQpO2U9bmV3IHZhO2M9bmV3IGJhKDYqYywzKTtlLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLGMpO0liLmNhbGwodGhpcyxlLG5ldyBGYih7Y29sb3I6YSxsaW5ld2lkdGg6Z30pKTt0aGlzLm1hdHJpeEF1dG9VcGRhdGU9ITE7dGhpcy51cGRhdGUoKX1mdW5jdGlvbiBaZShhLGMpe0EuY2FsbCh0aGlzKTsKdGhpcy5saWdodD1hO3RoaXMubGlnaHQudXBkYXRlTWF0cml4V29ybGQoKTt0aGlzLm1hdHJpeD1hLm1hdHJpeFdvcmxkO3RoaXMubWF0cml4QXV0b1VwZGF0ZT0hMTt0aGlzLmNvbG9yPWM7YT1uZXcgdmE7Yz1bMCwwLDAsMCwwLDEsMCwwLDAsMSwwLDEsMCwwLDAsLTEsMCwxLDAsMCwwLDAsMSwxLDAsMCwwLDAsLTEsMV07Zm9yKHZhciBlPTAsZz0xOzMyPmU7ZSsrLGcrKyl7dmFyIHQ9ZS8zMipNYXRoLlBJKjIsdj1nLzMyKk1hdGguUEkqMjtjLnB1c2goTWF0aC5jb3ModCksTWF0aC5zaW4odCksMSxNYXRoLmNvcyh2KSxNYXRoLnNpbih2KSwxKX1hLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShjLDMpKTtjPW5ldyBGYih7Zm9nOiExfSk7dGhpcy5jb25lPW5ldyBJYihhLGMpO3RoaXMuYWRkKHRoaXMuY29uZSk7dGhpcy51cGRhdGUoKX1mdW5jdGlvbiBoayhhKXt2YXIgYz1bXTthJiZhLmlzQm9uZSYmYy5wdXNoKGEpO2Zvcih2YXIgZT0wO2U8YS5jaGlsZHJlbi5sZW5ndGg7ZSsrKWMucHVzaC5hcHBseShjLApoayhhLmNoaWxkcmVuW2VdKSk7cmV0dXJuIGN9ZnVuY3Rpb24gJGUoYSl7Zm9yKHZhciBjPWhrKGEpLGU9bmV3IHZhLGc9W10sdD1bXSx2PW5ldyBIKDAsMCwxKSx6PW5ldyBIKDAsMSwwKSxFPTA7RTxjLmxlbmd0aDtFKyspe3ZhciBGPWNbRV07Ri5wYXJlbnQmJkYucGFyZW50LmlzQm9uZSYmKGcucHVzaCgwLDAsMCksZy5wdXNoKDAsMCwwKSx0LnB1c2godi5yLHYuZyx2LmIpLHQucHVzaCh6LnIsei5nLHouYikpfWUuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKGcsMykpO2UuYWRkQXR0cmlidXRlKCJjb2xvciIsbmV3IGJhKHQsMykpO2c9bmV3IEZiKHt2ZXJ0ZXhDb2xvcnM6MixkZXB0aFRlc3Q6ITEsZGVwdGhXcml0ZTohMSx0cmFuc3BhcmVudDohMH0pO0liLmNhbGwodGhpcyxlLGcpO3RoaXMucm9vdD1hO3RoaXMuYm9uZXM9Yzt0aGlzLm1hdHJpeD1hLm1hdHJpeFdvcmxkO3RoaXMubWF0cml4QXV0b1VwZGF0ZT0hMX1mdW5jdGlvbiBhZihhLGMsZSl7dGhpcy5saWdodD0KYTt0aGlzLmxpZ2h0LnVwZGF0ZU1hdHJpeFdvcmxkKCk7dGhpcy5jb2xvcj1lO2E9bmV3IERkKGMsNCwyKTtjPW5ldyBOKHt3aXJlZnJhbWU6ITAsZm9nOiExfSk7eWEuY2FsbCh0aGlzLGEsYyk7dGhpcy5tYXRyaXg9dGhpcy5saWdodC5tYXRyaXhXb3JsZDt0aGlzLm1hdHJpeEF1dG9VcGRhdGU9ITE7dGhpcy51cGRhdGUoKX1mdW5jdGlvbiBiZihhLGMpe3RoaXMudHlwZT0iUmVjdEFyZWFMaWdodEhlbHBlciI7dGhpcy5saWdodD1hO3RoaXMuY29sb3I9YzthPW5ldyB2YTthLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShbMSwxLDAsLTEsMSwwLC0xLC0xLDAsMSwtMSwwLDEsMSwwXSwzKSk7YS5jb21wdXRlQm91bmRpbmdTcGhlcmUoKTtjPW5ldyBGYih7Zm9nOiExfSk7WGIuY2FsbCh0aGlzLGEsYyk7YT1uZXcgdmE7YS5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEoWzEsMSwwLC0xLDEsMCwtMSwtMSwwLDEsMSwwLC0xLC0xLDAsMSwtMSwwXSwzKSk7YS5jb21wdXRlQm91bmRpbmdTcGhlcmUoKTsKdGhpcy5hZGQobmV3IHlhKGEsbmV3IE4oe3NpZGU6MSxmb2c6ITF9KSkpO3RoaXMudXBkYXRlKCl9ZnVuY3Rpb24gY2YoYSxjLGUpe0EuY2FsbCh0aGlzKTt0aGlzLmxpZ2h0PWE7dGhpcy5saWdodC51cGRhdGVNYXRyaXhXb3JsZCgpO3RoaXMubWF0cml4PWEubWF0cml4V29ybGQ7dGhpcy5tYXRyaXhBdXRvVXBkYXRlPSExO3RoaXMuY29sb3I9ZTthPW5ldyBUZChjKTthLnJvdGF0ZVkoLjUqTWF0aC5QSSk7dGhpcy5tYXRlcmlhbD1uZXcgTih7d2lyZWZyYW1lOiEwLGZvZzohMX0pO3ZvaWQgMD09PXRoaXMuY29sb3ImJih0aGlzLm1hdGVyaWFsLnZlcnRleENvbG9ycz0yKTtjPWEuZ2V0QXR0cmlidXRlKCJwb3NpdGlvbiIpO2EuYWRkQXR0cmlidXRlKCJjb2xvciIsbmV3IFIobmV3IEZsb2F0MzJBcnJheSgzKmMuY291bnQpLDMpKTt0aGlzLmFkZChuZXcgeWEoYSx0aGlzLm1hdGVyaWFsKSk7dGhpcy51cGRhdGUoKX1mdW5jdGlvbiBkZihhLGMpe3RoaXMubGlnaHRQcm9iZT1hO3RoaXMuc2l6ZT0KYzthPW5ldyBxYih7ZGVmaW5lczp7R0FNTUFfT1VUUFVUOiIifSx1bmlmb3Jtczp7c2g6e3ZhbHVlOnRoaXMubGlnaHRQcm9iZS5zaC5jb2VmZmljaWVudHN9LGludGVuc2l0eTp7dmFsdWU6dGhpcy5saWdodFByb2JlLmludGVuc2l0eX19LHZlcnRleFNoYWRlcjoidmFyeWluZyB2ZWMzIHZOb3JtYWw7XG52b2lkIG1haW4oKSB7XG5cdHZOb3JtYWwgXHgzZCBub3JtYWxpemUoIG5vcm1hbE1hdHJpeCAqIG5vcm1hbCApO1xuXHRnbF9Qb3NpdGlvbiBceDNkIHByb2plY3Rpb25NYXRyaXggKiBtb2RlbFZpZXdNYXRyaXggKiB2ZWM0KCBwb3NpdGlvbiwgMS4wICk7XG59IixmcmFnbWVudFNoYWRlcjoiI2RlZmluZSBSRUNJUFJPQ0FMX1BJIDAuMzE4MzA5ODg2XG52ZWMzIGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIGluIHZlYzMgbm9ybWFsLCBpbiBtYXQ0IG1hdHJpeCApIHtcblx0Ly8gbWF0cml4IGlzIGFzc3VtZWQgdG8gYmUgb3J0aG9nb25hbFxuXHRyZXR1cm4gbm9ybWFsaXplKCAoIHZlYzQoIG5vcm1hbCwgMC4wICkgKiBtYXRyaXggKS54eXogKTtcbn1cbnZlYzMgbGluZWFyVG9PdXRwdXQoIGluIHZlYzMgYSApIHtcblx0I2lmZGVmIEdBTU1BX09VVFBVVFxuXHRcdHJldHVybiBwb3coIGEsIHZlYzMoIDEuMCAvIGZsb2F0KCBHQU1NQV9GQUNUT1IgKSApICk7XG5cdCNlbHNlXG5cdFx0cmV0dXJuIGE7XG5cdCNlbmRpZlxufVxuLy8gc291cmNlOiBodHRwczovL2dyYXBoaWNzLnN0YW5mb3JkLmVkdS9wYXBlcnMvZW52bWFwL2Vudm1hcC5wZGZcbnZlYzMgc2hHZXRJcnJhZGlhbmNlQXQoIGluIHZlYzMgbm9ybWFsLCBpbiB2ZWMzIHNoQ29lZmZpY2llbnRzWyA5IF0gKSB7XG5cdC8vIG5vcm1hbCBpcyBhc3N1bWVkIHRvIGhhdmUgdW5pdCBsZW5ndGhcblx0ZmxvYXQgeCBceDNkIG5vcm1hbC54LCB5IFx4M2Qgbm9ybWFsLnksIHogXHgzZCBub3JtYWwuejtcblx0Ly8gYmFuZCAwXG5cdHZlYzMgcmVzdWx0IFx4M2Qgc2hDb2VmZmljaWVudHNbIDAgXSAqIDAuODg2MjI3O1xuXHQvLyBiYW5kIDFcblx0cmVzdWx0ICtceDNkIHNoQ29lZmZpY2llbnRzWyAxIF0gKiAyLjAgKiAwLjUxMTY2NCAqIHk7XG5cdHJlc3VsdCArXHgzZCBzaENvZWZmaWNpZW50c1sgMiBdICogMi4wICogMC41MTE2NjQgKiB6O1xuXHRyZXN1bHQgK1x4M2Qgc2hDb2VmZmljaWVudHNbIDMgXSAqIDIuMCAqIDAuNTExNjY0ICogeDtcblx0Ly8gYmFuZCAyXG5cdHJlc3VsdCArXHgzZCBzaENvZWZmaWNpZW50c1sgNCBdICogMi4wICogMC40MjkwNDMgKiB4ICogeTtcblx0cmVzdWx0ICtceDNkIHNoQ29lZmZpY2llbnRzWyA1IF0gKiAyLjAgKiAwLjQyOTA0MyAqIHkgKiB6O1xuXHRyZXN1bHQgK1x4M2Qgc2hDb2VmZmljaWVudHNbIDYgXSAqICggMC43NDMxMjUgKiB6ICogeiAtIDAuMjQ3NzA4ICk7XG5cdHJlc3VsdCArXHgzZCBzaENvZWZmaWNpZW50c1sgNyBdICogMi4wICogMC40MjkwNDMgKiB4ICogejtcblx0cmVzdWx0ICtceDNkIHNoQ29lZmZpY2llbnRzWyA4IF0gKiAwLjQyOTA0MyAqICggeCAqIHggLSB5ICogeSApO1xuXHRyZXR1cm4gcmVzdWx0O1xufVxudW5pZm9ybSB2ZWMzIHNoWyA5IF07IC8vIHNoIGNvZWZmaWNpZW50c1xudW5pZm9ybSBmbG9hdCBpbnRlbnNpdHk7IC8vIGxpZ2h0IHByb2JlIGludGVuc2l0eVxudmFyeWluZyB2ZWMzIHZOb3JtYWw7XG52b2lkIG1haW4oKSB7XG5cdHZlYzMgbm9ybWFsIFx4M2Qgbm9ybWFsaXplKCB2Tm9ybWFsICk7XG5cdHZlYzMgd29ybGROb3JtYWwgXHgzZCBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCBub3JtYWwsIHZpZXdNYXRyaXggKTtcblx0dmVjMyBpcnJhZGlhbmNlIFx4M2Qgc2hHZXRJcnJhZGlhbmNlQXQoIHdvcmxkTm9ybWFsLCBzaCApO1xuXHR2ZWMzIG91dGdvaW5nTGlnaHQgXHgzZCBSRUNJUFJPQ0FMX1BJICogaXJyYWRpYW5jZSAqIGludGVuc2l0eTtcblx0b3V0Z29pbmdMaWdodCBceDNkIGxpbmVhclRvT3V0cHV0KCBvdXRnb2luZ0xpZ2h0ICk7XG5cdGdsX0ZyYWdDb2xvciBceDNkIHZlYzQoIG91dGdvaW5nTGlnaHQsIDEuMCApO1xufSJ9KTsKYz1uZXcgRGQoMSwzMiwxNik7eWEuY2FsbCh0aGlzLGMsYSk7dGhpcy5vbkJlZm9yZVJlbmRlcigpfWZ1bmN0aW9uIGZoKGEsYyxlLGcpe2E9YXx8MTA7Yz1jfHwxMDtlPW5ldyBIKHZvaWQgMCE9PWU/ZTo0NDczOTI0KTtnPW5ldyBIKHZvaWQgMCE9PWc/Zzo4OTQ3ODQ4KTt2YXIgdD1jLzIsdj1hL2Msej1hLzI7YT1bXTtmb3IodmFyIEU9W10sRj0wLEk9MCxNPS16O0Y8PWM7RisrLE0rPXYpe2EucHVzaCgteiwwLE0seiwwLE0pO2EucHVzaChNLDAsLXosTSwwLHopO3ZhciBQPUY9PT10P2U6ZztQLnRvQXJyYXkoRSxJKTtJKz0zO1AudG9BcnJheShFLEkpO0krPTM7UC50b0FycmF5KEUsSSk7SSs9MztQLnRvQXJyYXkoRSxJKTtJKz0zfWM9bmV3IHZhO2MuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKGEsMykpO2MuYWRkQXR0cmlidXRlKCJjb2xvciIsbmV3IGJhKEUsMykpO2U9bmV3IEZiKHt2ZXJ0ZXhDb2xvcnM6Mn0pO0liLmNhbGwodGhpcyxjLGUpfWZ1bmN0aW9uIGdoKGEsCmMsZSxnLHQsdil7YT1hfHwxMDtjPWN8fDE2O2U9ZXx8ODtnPWd8fDY0O3Q9bmV3IEgodm9pZCAwIT09dD90OjQ0NzM5MjQpO3Y9bmV3IEgodm9pZCAwIT09dj92Ojg5NDc4NDgpO3ZhciB6PVtdLEU9W10sRjtmb3IoRj0wO0Y8PWM7RisrKXt2YXIgST1GL2MqMipNYXRoLlBJO3ZhciBNPU1hdGguc2luKEkpKmE7ST1NYXRoLmNvcyhJKSphO3oucHVzaCgwLDAsMCk7ei5wdXNoKE0sMCxJKTt2YXIgUD1GJjE/dDp2O0UucHVzaChQLnIsUC5nLFAuYik7RS5wdXNoKFAucixQLmcsUC5iKX1mb3IoRj0wO0Y8PWU7RisrKXtQPUYmMT90OnY7dmFyIFE9YS1hL2UqRjtmb3IoYz0wO2M8ZztjKyspST1jL2cqMipNYXRoLlBJLE09TWF0aC5zaW4oSSkqUSxJPU1hdGguY29zKEkpKlEsei5wdXNoKE0sMCxJKSxFLnB1c2goUC5yLFAuZyxQLmIpLEk9KGMrMSkvZyoyKk1hdGguUEksTT1NYXRoLnNpbihJKSpRLEk9TWF0aC5jb3MoSSkqUSx6LnB1c2goTSwwLEkpLEUucHVzaChQLnIsUC5nLFAuYil9YT0KbmV3IHZhO2EuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGJhKHosMykpO2EuYWRkQXR0cmlidXRlKCJjb2xvciIsbmV3IGJhKEUsMykpO3o9bmV3IEZiKHt2ZXJ0ZXhDb2xvcnM6Mn0pO0liLmNhbGwodGhpcyxhLHopfWZ1bmN0aW9uIGVmKGEsYyxlLGcpe3RoaXMuYXVkaW89YTt0aGlzLnJhbmdlPWN8fDE7dGhpcy5kaXZpc2lvbnNJbm5lckFuZ2xlPWV8fDE2O3RoaXMuZGl2aXNpb25zT3V0ZXJBbmdsZT1nfHwyO2E9bmV3IHZhO2EuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IFIobmV3IEZsb2F0MzJBcnJheSgzKigzKih0aGlzLmRpdmlzaW9uc0lubmVyQW5nbGUrMip0aGlzLmRpdmlzaW9uc091dGVyQW5nbGUpKzMpKSwzKSk7Yz1uZXcgRmIoe2NvbG9yOjY1MjgwfSk7ZT1uZXcgRmIoe2NvbG9yOjE2Nzc2OTYwfSk7WGIuY2FsbCh0aGlzLGEsW2UsY10pO3RoaXMudXBkYXRlKCl9ZnVuY3Rpb24gZmcoYSxjLGUsZyl7dGhpcy5vYmplY3Q9YTt0aGlzLnNpemU9dm9pZCAwIT09CmM/YzoxO2E9dm9pZCAwIT09ZT9lOjE2Nzc2OTYwO2c9dm9pZCAwIT09Zz9nOjE7Yz0wOyhlPXRoaXMub2JqZWN0Lmdlb21ldHJ5KSYmZS5pc0dlb21ldHJ5P2M9ZS5mYWNlcy5sZW5ndGg6Y29uc29sZS53YXJuKCJUSFJFRS5GYWNlTm9ybWFsc0hlbHBlcjogb25seSBUSFJFRS5HZW9tZXRyeSBpcyBzdXBwb3J0ZWQuIFVzZSBUSFJFRS5WZXJ0ZXhOb3JtYWxzSGVscGVyLCBpbnN0ZWFkLiIpO2U9bmV3IHZhO2M9bmV3IGJhKDYqYywzKTtlLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLGMpO0liLmNhbGwodGhpcyxlLG5ldyBGYih7Y29sb3I6YSxsaW5ld2lkdGg6Z30pKTt0aGlzLm1hdHJpeEF1dG9VcGRhdGU9ITE7dGhpcy51cGRhdGUoKX1mdW5jdGlvbiBmZihhLGMsZSl7QS5jYWxsKHRoaXMpO3RoaXMubGlnaHQ9YTt0aGlzLmxpZ2h0LnVwZGF0ZU1hdHJpeFdvcmxkKCk7dGhpcy5tYXRyaXg9YS5tYXRyaXhXb3JsZDt0aGlzLm1hdHJpeEF1dG9VcGRhdGU9ITE7dGhpcy5jb2xvcj1lOwp2b2lkIDA9PT1jJiYoYz0xKTthPW5ldyB2YTthLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShbLWMsYywwLGMsYywwLGMsLWMsMCwtYywtYywwLC1jLGMsMF0sMykpO2M9bmV3IEZiKHtmb2c6ITF9KTt0aGlzLmxpZ2h0UGxhbmU9bmV3IFhiKGEsYyk7dGhpcy5hZGQodGhpcy5saWdodFBsYW5lKTthPW5ldyB2YTthLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShbMCwwLDAsMCwwLDFdLDMpKTt0aGlzLnRhcmdldExpbmU9bmV3IFhiKGEsYyk7dGhpcy5hZGQodGhpcy50YXJnZXRMaW5lKTt0aGlzLnVwZGF0ZSgpfWZ1bmN0aW9uIGdnKGEpe2Z1bmN0aW9uIGMoVSxWLGVhKXtlKFUsZWEpO2UoVixlYSl9ZnVuY3Rpb24gZShVLFYpe3YucHVzaCgwLDAsMCk7ei5wdXNoKFYucixWLmcsVi5iKTt2b2lkIDA9PT1FW1VdJiYoRVtVXT1bXSk7RVtVXS5wdXNoKHYubGVuZ3RoLzMtMSl9dmFyIGc9bmV3IHZhLHQ9bmV3IEZiKHtjb2xvcjoxNjc3NzIxNSx2ZXJ0ZXhDb2xvcnM6MX0pLAp2PVtdLHo9W10sRT17fSxGPW5ldyBIKDE2NzU1MjAwKSxJPW5ldyBIKDE2NzExNjgwKSxNPW5ldyBIKDQzNzc1KSxQPW5ldyBIKDE2Nzc3MjE1KSxRPW5ldyBIKDMzNTU0NDMpO2MoIm4xIiwibjIiLEYpO2MoIm4yIiwibjQiLEYpO2MoIm40IiwibjMiLEYpO2MoIm4zIiwibjEiLEYpO2MoImYxIiwiZjIiLEYpO2MoImYyIiwiZjQiLEYpO2MoImY0IiwiZjMiLEYpO2MoImYzIiwiZjEiLEYpO2MoIm4xIiwiZjEiLEYpO2MoIm4yIiwiZjIiLEYpO2MoIm4zIiwiZjMiLEYpO2MoIm40IiwiZjQiLEYpO2MoInAiLCJuMSIsSSk7YygicCIsIm4yIixJKTtjKCJwIiwibjMiLEkpO2MoInAiLCJuNCIsSSk7YygidTEiLCJ1MiIsTSk7YygidTIiLCJ1MyIsTSk7YygidTMiLCJ1MSIsTSk7YygiYyIsInQiLFApO2MoInAiLCJjIixRKTtjKCJjbjEiLCJjbjIiLFEpO2MoImNuMyIsImNuNCIsUSk7YygiY2YxIiwiY2YyIixRKTtjKCJjZjMiLCJjZjQiLFEpO2cuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsCm5ldyBiYSh2LDMpKTtnLmFkZEF0dHJpYnV0ZSgiY29sb3IiLG5ldyBiYSh6LDMpKTtJYi5jYWxsKHRoaXMsZyx0KTt0aGlzLmNhbWVyYT1hO3RoaXMuY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgmJnRoaXMuY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKTt0aGlzLm1hdHJpeD1hLm1hdHJpeFdvcmxkO3RoaXMubWF0cml4QXV0b1VwZGF0ZT0hMTt0aGlzLnBvaW50TWFwPUU7dGhpcy51cGRhdGUoKX1mdW5jdGlvbiBRYihhLGMsZSxnLHQsdix6KXtoaC5zZXQodCx2LHopLnVucHJvamVjdChnKTthPWNbYV07aWYodm9pZCAwIT09YSlmb3IoZT1lLmdldEF0dHJpYnV0ZSgicG9zaXRpb24iKSxjPTAsZz1hLmxlbmd0aDtjPGc7YysrKWUuc2V0WFlaKGFbY10saGgueCxoaC55LGhoLnopfWZ1bmN0aW9uIGpkKGEsYyl7dGhpcy5vYmplY3Q9YTt2b2lkIDA9PT1jJiYoYz0xNjc3Njk2MCk7YT1uZXcgVWludDE2QXJyYXkoWzAsMSwxLDIsMiwzLDMsMCw0LDUsNSw2LDYsNyw3LAo0LDAsNCwxLDUsMiw2LDMsN10pO3ZhciBlPW5ldyBGbG9hdDMyQXJyYXkoMjQpLGc9bmV3IHZhO2cuc2V0SW5kZXgobmV3IFIoYSwxKSk7Zy5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgUihlLDMpKTtJYi5jYWxsKHRoaXMsZyxuZXcgRmIoe2NvbG9yOmN9KSk7dGhpcy5tYXRyaXhBdXRvVXBkYXRlPSExO3RoaXMudXBkYXRlKCl9ZnVuY3Rpb24gaGcoYSxjKXt0aGlzLnR5cGU9IkJveDNIZWxwZXIiO3RoaXMuYm94PWE7Yz1jfHwxNjc3Njk2MDthPW5ldyBVaW50MTZBcnJheShbMCwxLDEsMiwyLDMsMywwLDQsNSw1LDYsNiw3LDcsNCwwLDQsMSw1LDIsNiwzLDddKTt2YXIgZT1uZXcgdmE7ZS5zZXRJbmRleChuZXcgUihhLDEpKTtlLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShbMSwxLDEsLTEsMSwxLC0xLC0xLDEsMSwtMSwxLDEsMSwtMSwtMSwxLC0xLC0xLC0xLC0xLDEsLTEsLTFdLDMpKTtJYi5jYWxsKHRoaXMsZSxuZXcgRmIoe2NvbG9yOmN9KSk7dGhpcy5nZW9tZXRyeS5jb21wdXRlQm91bmRpbmdTcGhlcmUoKX0KZnVuY3Rpb24gaWcoYSxjLGUpe3RoaXMudHlwZT0iUGxhbmVIZWxwZXIiO3RoaXMucGxhbmU9YTt0aGlzLnNpemU9dm9pZCAwPT09Yz8xOmM7YT12b2lkIDAhPT1lP2U6MTY3NzY5NjA7Yz1uZXcgdmE7Yy5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEoWzEsLTEsMSwtMSwxLDEsLTEsLTEsMSwxLDEsMSwtMSwxLDEsLTEsLTEsMSwxLC0xLDEsMSwxLDEsMCwwLDEsMCwwLDBdLDMpKTtjLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpO1hiLmNhbGwodGhpcyxjLG5ldyBGYih7Y29sb3I6YX0pKTtjPW5ldyB2YTtjLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiYShbMSwxLDEsLTEsMSwxLC0xLC0xLDEsMSwxLDEsLTEsLTEsMSwxLC0xLDFdLDMpKTtjLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpO3RoaXMuYWRkKG5ldyB5YShjLG5ldyBOKHtjb2xvcjphLG9wYWNpdHk6LjIsdHJhbnNwYXJlbnQ6ITAsZGVwdGhXcml0ZTohMX0pKSl9ZnVuY3Rpb24ga2QoYSxjLGUsZyx0LHYpe0EuY2FsbCh0aGlzKTsKdm9pZCAwPT09YSYmKGE9bmV3IGsoMCwwLDEpKTt2b2lkIDA9PT1jJiYoYz1uZXcgaygwLDAsMCkpO3ZvaWQgMD09PWUmJihlPTEpO3ZvaWQgMD09PWcmJihnPTE2Nzc2OTYwKTt2b2lkIDA9PT10JiYodD0uMiplKTt2b2lkIDA9PT12JiYodj0uMip0KTt2b2lkIDA9PT1paCYmKGloPW5ldyB2YSxpaC5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEoWzAsMCwwLDAsMSwwXSwzKSksQWk9bmV3IGhkKDAsLjUsMSw1LDEpLEFpLnRyYW5zbGF0ZSgwLC0uNSwwKSk7dGhpcy5wb3NpdGlvbi5jb3B5KGMpO3RoaXMubGluZT1uZXcgWGIoaWgsbmV3IEZiKHtjb2xvcjpnfSkpO3RoaXMubGluZS5tYXRyaXhBdXRvVXBkYXRlPSExO3RoaXMuYWRkKHRoaXMubGluZSk7dGhpcy5jb25lPW5ldyB5YShBaSxuZXcgTih7Y29sb3I6Z30pKTt0aGlzLmNvbmUubWF0cml4QXV0b1VwZGF0ZT0hMTt0aGlzLmFkZCh0aGlzLmNvbmUpO3RoaXMuc2V0RGlyZWN0aW9uKGEpO3RoaXMuc2V0TGVuZ3RoKGUsCnQsdil9ZnVuY3Rpb24gamcoYSl7YT1hfHwxO3ZhciBjPVswLDAsMCxhLDAsMCwwLDAsMCwwLGEsMCwwLDAsMCwwLDAsYV07YT1uZXcgdmE7YS5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEoYywzKSk7YS5hZGRBdHRyaWJ1dGUoImNvbG9yIixuZXcgYmEoWzEsMCwwLDEsLjYsMCwwLDEsMCwuNiwxLDAsMCwwLDEsMCwuNiwxXSwzKSk7Yz1uZXcgRmIoe3ZlcnRleENvbG9yczoyfSk7SWIuY2FsbCh0aGlzLGEsYyl9ZnVuY3Rpb24gaWsoYSl7Y29uc29sZS53YXJuKCJUSFJFRS5DbG9zZWRTcGxpbmVDdXJ2ZTMgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIFRIUkVFLkNhdG11bGxSb21DdXJ2ZTMgaW5zdGVhZC4iKTtiYy5jYWxsKHRoaXMsYSk7dGhpcy50eXBlPSJjYXRtdWxscm9tIjt0aGlzLmNsb3NlZD0hMH1mdW5jdGlvbiBqayhhKXtjb25zb2xlLndhcm4oIlRIUkVFLlNwbGluZUN1cnZlMyBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgVEhSRUUuQ2F0bXVsbFJvbUN1cnZlMyBpbnN0ZWFkLiIpOwpiYy5jYWxsKHRoaXMsYSk7dGhpcy50eXBlPSJjYXRtdWxscm9tIn1mdW5jdGlvbiBCaShhKXtjb25zb2xlLndhcm4oIlRIUkVFLlNwbGluZSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuQ2F0bXVsbFJvbUN1cnZlMyBpbnN0ZWFkLiIpO2JjLmNhbGwodGhpcyxhKTt0aGlzLnR5cGU9ImNhdG11bGxyb20ifXZvaWQgMD09PU51bWJlci5FUFNJTE9OJiYoTnVtYmVyLkVQU0lMT049TWF0aC5wb3coMiwtNTIpKTt2b2lkIDA9PT1OdW1iZXIuaXNJbnRlZ2VyJiYoTnVtYmVyLmlzSW50ZWdlcj1mdW5jdGlvbihhKXtyZXR1cm4ibnVtYmVyIj09PXR5cGVvZiBhJiZpc0Zpbml0ZShhKSYmTWF0aC5mbG9vcihhKT09PWF9KTt2b2lkIDA9PT1NYXRoLnNpZ24mJihNYXRoLnNpZ249ZnVuY3Rpb24oYSl7cmV0dXJuIDA+YT8tMTowPGE/MTorYX0pOyExPT09Im5hbWUiaW4gRnVuY3Rpb24ucHJvdG90eXBlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCJuYW1lIiwKe2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnRvU3RyaW5nKCkubWF0Y2goL15ccypmdW5jdGlvblxzKihbXlwoXHNdKikvKVsxXX19KTt2b2lkIDA9PT1PYmplY3QuYXNzaWduJiYoT2JqZWN0LmFzc2lnbj1mdW5jdGlvbihhKXtpZih2b2lkIDA9PT1hfHxudWxsPT09YSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY29udmVydCB1bmRlZmluZWQgb3IgbnVsbCB0byBvYmplY3QiKTtmb3IodmFyIGM9T2JqZWN0KGEpLGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgZz1hcmd1bWVudHNbZV07aWYodm9pZCAwIT09ZyYmbnVsbCE9PWcpZm9yKHZhciB0IGluIGcpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGcsdCkmJihjW3RdPWdbdF0pfXJldHVybiBjfSk7T2JqZWN0LmFzc2lnbihkLnByb3RvdHlwZSx7YWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PXRoaXMuX2xpc3RlbmVycyYmKHRoaXMuX2xpc3RlbmVycz17fSk7dmFyIGU9CnRoaXMuX2xpc3RlbmVyczt2b2lkIDA9PT1lW2FdJiYoZVthXT1bXSk7LTE9PT1lW2FdLmluZGV4T2YoYykmJmVbYV0ucHVzaChjKX0saGFzRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbihhLGMpe2lmKHZvaWQgMD09PXRoaXMuX2xpc3RlbmVycylyZXR1cm4hMTt2YXIgZT10aGlzLl9saXN0ZW5lcnM7cmV0dXJuIHZvaWQgMCE9PWVbYV0mJi0xIT09ZVthXS5pbmRleE9mKGMpfSxyZW1vdmVFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGEsYyl7dm9pZCAwIT09dGhpcy5fbGlzdGVuZXJzJiYoYT10aGlzLl9saXN0ZW5lcnNbYV0sdm9pZCAwIT09YSYmKGM9YS5pbmRleE9mKGMpLC0xIT09YyYmYS5zcGxpY2UoYywxKSkpfSxkaXNwYXRjaEV2ZW50OmZ1bmN0aW9uKGEpe2lmKHZvaWQgMCE9PXRoaXMuX2xpc3RlbmVycyl7dmFyIGM9dGhpcy5fbGlzdGVuZXJzW2EudHlwZV07aWYodm9pZCAwIT09Yyl7YS50YXJnZXQ9dGhpcztjPWMuc2xpY2UoMCk7Zm9yKHZhciBlPTAsZz1jLmxlbmd0aDtlPGc7ZSsrKWNbZV0uY2FsbCh0aGlzLAphKX19fX0pO2Zvcih2YXIgJGI9W10sa2c9MDsyNTY+a2c7a2crKykkYltrZ109KDE2PmtnPyIwIjoiIikra2cudG9TdHJpbmcoMTYpO3ZhciBoYj17REVHMlJBRDpNYXRoLlBJLzE4MCxSQUQyREVHOjE4MC9NYXRoLlBJLGdlbmVyYXRlVVVJRDpmdW5jdGlvbigpe3ZhciBhPTQyOTQ5NjcyOTUqTWF0aC5yYW5kb20oKXwwLGM9NDI5NDk2NzI5NSpNYXRoLnJhbmRvbSgpfDAsZT00Mjk0OTY3Mjk1Kk1hdGgucmFuZG9tKCl8MCxnPTQyOTQ5NjcyOTUqTWF0aC5yYW5kb20oKXwwO3JldHVybigkYlthJjI1NV0rJGJbYT4+OCYyNTVdKyRiW2E+PjE2JjI1NV0rJGJbYT4+MjQmMjU1XSsiLSIrJGJbYyYyNTVdKyRiW2M+PjgmMjU1XSsiLSIrJGJbYz4+MTYmMTV8NjRdKyRiW2M+PjI0JjI1NV0rIi0iKyRiW2UmNjN8MTI4XSskYltlPj44JjI1NV0rIi0iKyRiW2U+PjE2JjI1NV0rJGJbZT4+MjQmMjU1XSskYltnJjI1NV0rJGJbZz4+OCYyNTVdKyRiW2c+PjE2JjI1NV0rJGJbZz4+MjQmMjU1XSkudG9VcHBlckNhc2UoKX0sCmNsYW1wOmZ1bmN0aW9uKGEsYyxlKXtyZXR1cm4gTWF0aC5tYXgoYyxNYXRoLm1pbihlLGEpKX0sZXVjbGlkZWFuTW9kdWxvOmZ1bmN0aW9uKGEsYyl7cmV0dXJuKGElYytjKSVjfSxtYXBMaW5lYXI6ZnVuY3Rpb24oYSxjLGUsZyx0KXtyZXR1cm4gZysoYS1jKSoodC1nKS8oZS1jKX0sbGVycDpmdW5jdGlvbihhLGMsZSl7cmV0dXJuKDEtZSkqYStlKmN9LHNtb290aHN0ZXA6ZnVuY3Rpb24oYSxjLGUpe2lmKGE8PWMpcmV0dXJuIDA7aWYoYT49ZSlyZXR1cm4gMTthPShhLWMpLyhlLWMpO3JldHVybiBhKmEqKDMtMiphKX0sc21vb3RoZXJzdGVwOmZ1bmN0aW9uKGEsYyxlKXtpZihhPD1jKXJldHVybiAwO2lmKGE+PWUpcmV0dXJuIDE7YT0oYS1jKS8oZS1jKTtyZXR1cm4gYSphKmEqKGEqKDYqYS0xNSkrMTApfSxyYW5kSW50OmZ1bmN0aW9uKGEsYyl7cmV0dXJuIGErTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKihjLWErMSkpfSxyYW5kRmxvYXQ6ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYSsKTWF0aC5yYW5kb20oKSooYy1hKX0scmFuZEZsb2F0U3ByZWFkOmZ1bmN0aW9uKGEpe3JldHVybiBhKiguNS1NYXRoLnJhbmRvbSgpKX0sZGVnVG9SYWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEqaGIuREVHMlJBRH0scmFkVG9EZWc6ZnVuY3Rpb24oYSl7cmV0dXJuIGEqaGIuUkFEMkRFR30saXNQb3dlck9mVHdvOmZ1bmN0aW9uKGEpe3JldHVybiAwPT09KGEmYS0xKSYmMCE9PWF9LGNlaWxQb3dlck9mVHdvOmZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLnBvdygyLE1hdGguY2VpbChNYXRoLmxvZyhhKS9NYXRoLkxOMikpfSxmbG9vclBvd2VyT2ZUd286ZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGgucG93KDIsTWF0aC5mbG9vcihNYXRoLmxvZyhhKS9NYXRoLkxOMikpfX07T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZi5wcm90b3R5cGUse3dpZHRoOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy54fSxzZXQ6ZnVuY3Rpb24oYSl7dGhpcy54PWF9fSxoZWlnaHQ6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnl9LApzZXQ6ZnVuY3Rpb24oYSl7dGhpcy55PWF9fX0pO09iamVjdC5hc3NpZ24oZi5wcm90b3R5cGUse2lzVmVjdG9yMjohMCxzZXQ6ZnVuY3Rpb24oYSxjKXt0aGlzLng9YTt0aGlzLnk9YztyZXR1cm4gdGhpc30sc2V0U2NhbGFyOmZ1bmN0aW9uKGEpe3RoaXMueT10aGlzLng9YTtyZXR1cm4gdGhpc30sc2V0WDpmdW5jdGlvbihhKXt0aGlzLng9YTtyZXR1cm4gdGhpc30sc2V0WTpmdW5jdGlvbihhKXt0aGlzLnk9YTtyZXR1cm4gdGhpc30sc2V0Q29tcG9uZW50OmZ1bmN0aW9uKGEsYyl7c3dpdGNoKGEpe2Nhc2UgMDp0aGlzLng9YzticmVhaztjYXNlIDE6dGhpcy55PWM7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiaW5kZXggaXMgb3V0IG9mIHJhbmdlOiAiK2EpO31yZXR1cm4gdGhpc30sZ2V0Q29tcG9uZW50OmZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDA6cmV0dXJuIHRoaXMueDtjYXNlIDE6cmV0dXJuIHRoaXMueTtkZWZhdWx0OnRocm93IEVycm9yKCJpbmRleCBpcyBvdXQgb2YgcmFuZ2U6ICIrCmEpO319LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMueCx0aGlzLnkpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMueD1hLng7dGhpcy55PWEueTtyZXR1cm4gdGhpc30sYWRkOmZ1bmN0aW9uKGEsYyl7aWYodm9pZCAwIT09YylyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IyOiAuYWRkKCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAuYWRkVmVjdG9ycyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5hZGRWZWN0b3JzKGEsYyk7dGhpcy54Kz1hLng7dGhpcy55Kz1hLnk7cmV0dXJuIHRoaXN9LGFkZFNjYWxhcjpmdW5jdGlvbihhKXt0aGlzLngrPWE7dGhpcy55Kz1hO3JldHVybiB0aGlzfSxhZGRWZWN0b3JzOmZ1bmN0aW9uKGEsYyl7dGhpcy54PWEueCtjLng7dGhpcy55PWEueStjLnk7cmV0dXJuIHRoaXN9LGFkZFNjYWxlZFZlY3RvcjpmdW5jdGlvbihhLGMpe3RoaXMueCs9YS54KmM7dGhpcy55Kz1hLnkqYztyZXR1cm4gdGhpc30sCnN1YjpmdW5jdGlvbihhLGMpe2lmKHZvaWQgMCE9PWMpcmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMjogLnN1YigpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLnN1YlZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMuc3ViVmVjdG9ycyhhLGMpO3RoaXMueC09YS54O3RoaXMueS09YS55O3JldHVybiB0aGlzfSxzdWJTY2FsYXI6ZnVuY3Rpb24oYSl7dGhpcy54LT1hO3RoaXMueS09YTtyZXR1cm4gdGhpc30sc3ViVmVjdG9yczpmdW5jdGlvbihhLGMpe3RoaXMueD1hLngtYy54O3RoaXMueT1hLnktYy55O3JldHVybiB0aGlzfSxtdWx0aXBseTpmdW5jdGlvbihhKXt0aGlzLngqPWEueDt0aGlzLnkqPWEueTtyZXR1cm4gdGhpc30sbXVsdGlwbHlTY2FsYXI6ZnVuY3Rpb24oYSl7dGhpcy54Kj1hO3RoaXMueSo9YTtyZXR1cm4gdGhpc30sZGl2aWRlOmZ1bmN0aW9uKGEpe3RoaXMueC89YS54O3RoaXMueS89YS55O3JldHVybiB0aGlzfSxkaXZpZGVTY2FsYXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubXVsdGlwbHlTY2FsYXIoMS8KYSl9LGFwcGx5TWF0cml4MzpmdW5jdGlvbihhKXt2YXIgYz10aGlzLngsZT10aGlzLnk7YT1hLmVsZW1lbnRzO3RoaXMueD1hWzBdKmMrYVszXSplK2FbNl07dGhpcy55PWFbMV0qYythWzRdKmUrYVs3XTtyZXR1cm4gdGhpc30sbWluOmZ1bmN0aW9uKGEpe3RoaXMueD1NYXRoLm1pbih0aGlzLngsYS54KTt0aGlzLnk9TWF0aC5taW4odGhpcy55LGEueSk7cmV0dXJuIHRoaXN9LG1heDpmdW5jdGlvbihhKXt0aGlzLng9TWF0aC5tYXgodGhpcy54LGEueCk7dGhpcy55PU1hdGgubWF4KHRoaXMueSxhLnkpO3JldHVybiB0aGlzfSxjbGFtcDpmdW5jdGlvbihhLGMpe3RoaXMueD1NYXRoLm1heChhLngsTWF0aC5taW4oYy54LHRoaXMueCkpO3RoaXMueT1NYXRoLm1heChhLnksTWF0aC5taW4oYy55LHRoaXMueSkpO3JldHVybiB0aGlzfSxjbGFtcFNjYWxhcjpmdW5jdGlvbihhLGMpe3RoaXMueD1NYXRoLm1heChhLE1hdGgubWluKGMsdGhpcy54KSk7dGhpcy55PU1hdGgubWF4KGEsTWF0aC5taW4oYywKdGhpcy55KSk7cmV0dXJuIHRoaXN9LGNsYW1wTGVuZ3RoOmZ1bmN0aW9uKGEsYyl7dmFyIGU9dGhpcy5sZW5ndGgoKTtyZXR1cm4gdGhpcy5kaXZpZGVTY2FsYXIoZXx8MSkubXVsdGlwbHlTY2FsYXIoTWF0aC5tYXgoYSxNYXRoLm1pbihjLGUpKSl9LGZsb29yOmZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfSxjZWlsOmZ1bmN0aW9uKCl7dGhpcy54PU1hdGguY2VpbCh0aGlzLngpO3RoaXMueT1NYXRoLmNlaWwodGhpcy55KTtyZXR1cm4gdGhpc30scm91bmQ6ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSk7cmV0dXJuIHRoaXN9LHJvdW5kVG9aZXJvOmZ1bmN0aW9uKCl7dGhpcy54PTA+dGhpcy54P01hdGguY2VpbCh0aGlzLngpOk1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9MD50aGlzLnk/TWF0aC5jZWlsKHRoaXMueSk6TWF0aC5mbG9vcih0aGlzLnkpOwpyZXR1cm4gdGhpc30sbmVnYXRlOmZ1bmN0aW9uKCl7dGhpcy54PS10aGlzLng7dGhpcy55PS10aGlzLnk7cmV0dXJuIHRoaXN9LGRvdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy54KmEueCt0aGlzLnkqYS55fSxjcm9zczpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy54KmEueS10aGlzLnkqYS54fSxsZW5ndGhTcTpmdW5jdGlvbigpe3JldHVybiB0aGlzLngqdGhpcy54K3RoaXMueSp0aGlzLnl9LGxlbmd0aDpmdW5jdGlvbigpe3JldHVybiBNYXRoLnNxcnQodGhpcy54KnRoaXMueCt0aGlzLnkqdGhpcy55KX0sbWFuaGF0dGFuTGVuZ3RoOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguYWJzKHRoaXMueCkrTWF0aC5hYnModGhpcy55KX0sbm9ybWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGl2aWRlU2NhbGFyKHRoaXMubGVuZ3RoKCl8fDEpfSxhbmdsZTpmdW5jdGlvbigpe3ZhciBhPU1hdGguYXRhbjIodGhpcy55LHRoaXMueCk7MD5hJiYoYSs9MipNYXRoLlBJKTtyZXR1cm4gYX0sCmRpc3RhbmNlVG86ZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlVG9TcXVhcmVkKGEpKX0sZGlzdGFuY2VUb1NxdWFyZWQ6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy54LWEueDthPXRoaXMueS1hLnk7cmV0dXJuIGMqYythKmF9LG1hbmhhdHRhbkRpc3RhbmNlVG86ZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGguYWJzKHRoaXMueC1hLngpK01hdGguYWJzKHRoaXMueS1hLnkpfSxzZXRMZW5ndGg6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIoYSl9LGxlcnA6ZnVuY3Rpb24oYSxjKXt0aGlzLngrPShhLngtdGhpcy54KSpjO3RoaXMueSs9KGEueS10aGlzLnkpKmM7cmV0dXJuIHRoaXN9LGxlcnBWZWN0b3JzOmZ1bmN0aW9uKGEsYyxlKXtyZXR1cm4gdGhpcy5zdWJWZWN0b3JzKGMsYSkubXVsdGlwbHlTY2FsYXIoZSkuYWRkKGEpfSxlcXVhbHM6ZnVuY3Rpb24oYSl7cmV0dXJuIGEueD09PXRoaXMueCYmYS55PT09dGhpcy55fSwKZnJvbUFycmF5OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGM9MCk7dGhpcy54PWFbY107dGhpcy55PWFbYysxXTtyZXR1cm4gdGhpc30sdG9BcnJheTpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWEmJihhPVtdKTt2b2lkIDA9PT1jJiYoYz0wKTthW2NdPXRoaXMueDthW2MrMV09dGhpcy55O3JldHVybiBhfSxmcm9tQnVmZmVyQXR0cmlidXRlOmZ1bmN0aW9uKGEsYyxlKXt2b2lkIDAhPT1lJiZjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjI6IG9mZnNldCBoYXMgYmVlbiByZW1vdmVkIGZyb20gLmZyb21CdWZmZXJBdHRyaWJ1dGUoKS4iKTt0aGlzLng9YS5nZXRYKGMpO3RoaXMueT1hLmdldFkoYyk7cmV0dXJuIHRoaXN9LHJvdGF0ZUFyb3VuZDpmdW5jdGlvbihhLGMpe3ZhciBlPU1hdGguY29zKGMpO2M9TWF0aC5zaW4oYyk7dmFyIGc9dGhpcy54LWEueCx0PXRoaXMueS1hLnk7dGhpcy54PWcqZS10KmMrYS54O3RoaXMueT1nKmMrdCplK2EueTtyZXR1cm4gdGhpc319KTtPYmplY3QuYXNzaWduKGgsCntzbGVycDpmdW5jdGlvbihhLGMsZSxnKXtyZXR1cm4gZS5jb3B5KGEpLnNsZXJwKGMsZyl9LHNsZXJwRmxhdDpmdW5jdGlvbihhLGMsZSxnLHQsdix6KXt2YXIgRT1lW2crMF0sRj1lW2crMV0sST1lW2crMl07ZT1lW2crM107Zz10W3YrMF07dmFyIE09dFt2KzFdLFA9dFt2KzJdO3Q9dFt2KzNdO2lmKGUhPT10fHxFIT09Z3x8RiE9PU18fEkhPT1QKXt2PTEtejt2YXIgUT1FKmcrRipNK0kqUCtlKnQsVT0wPD1RPzE6LTEsVj0xLVEqUTtWPk51bWJlci5FUFNJTE9OJiYoVj1NYXRoLnNxcnQoViksUT1NYXRoLmF0YW4yKFYsUSpVKSx2PU1hdGguc2luKHYqUSkvVix6PU1hdGguc2luKHoqUSkvVik7VSo9ejtFPUUqditnKlU7Rj1GKnYrTSpVO0k9SSp2K1AqVTtlPWUqdit0KlU7dj09PTEteiYmKHo9MS9NYXRoLnNxcnQoRSpFK0YqRitJKkkrZSplKSxFKj16LEYqPXosSSo9eixlKj16KX1hW2NdPUU7YVtjKzFdPUY7YVtjKzJdPUk7YVtjKzNdPWV9fSk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoaC5wcm90b3R5cGUsCnt4OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5feH0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMuX3g9YTt0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9fSx5OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5feX0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMuX3k9YTt0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9fSx6OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fen0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMuX3o9YTt0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9fSx3OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd30sc2V0OmZ1bmN0aW9uKGEpe3RoaXMuX3c9YTt0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9fX0pO09iamVjdC5hc3NpZ24oaC5wcm90b3R5cGUse2lzUXVhdGVybmlvbjohMCxzZXQ6ZnVuY3Rpb24oYSxjLGUsZyl7dGhpcy5feD1hO3RoaXMuX3k9Yzt0aGlzLl96PWU7dGhpcy5fdz1nO3RoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5feCwKdGhpcy5feSx0aGlzLl96LHRoaXMuX3cpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMuX3g9YS54O3RoaXMuX3k9YS55O3RoaXMuX3o9YS56O3RoaXMuX3c9YS53O3RoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtyZXR1cm4gdGhpc30sc2V0RnJvbUV1bGVyOmZ1bmN0aW9uKGEsYyl7aWYoIWF8fCFhLmlzRXVsZXIpdGhyb3cgRXJyb3IoIlRIUkVFLlF1YXRlcm5pb246IC5zZXRGcm9tRXVsZXIoKSBub3cgZXhwZWN0cyBhbiBFdWxlciByb3RhdGlvbiByYXRoZXIgdGhhbiBhIFZlY3RvcjMgYW5kIG9yZGVyLiIpO3ZhciBlPWEuX3gsZz1hLl95LHQ9YS5fejthPWEub3JkZXI7dmFyIHY9TWF0aC5jb3Msej1NYXRoLnNpbixFPXYoZS8yKSxGPXYoZy8yKTt2PXYodC8yKTtlPXooZS8yKTtnPXooZy8yKTt0PXoodC8yKTsiWFlaIj09PWE/KHRoaXMuX3g9ZSpGKnYrRSpnKnQsdGhpcy5feT1FKmcqdi1lKkYqdCx0aGlzLl96PUUqRip0K2UqZyp2LHRoaXMuX3c9RSpGKnYtZSpnKnQpOiJZWFoiPT09CmE/KHRoaXMuX3g9ZSpGKnYrRSpnKnQsdGhpcy5feT1FKmcqdi1lKkYqdCx0aGlzLl96PUUqRip0LWUqZyp2LHRoaXMuX3c9RSpGKnYrZSpnKnQpOiJaWFkiPT09YT8odGhpcy5feD1lKkYqdi1FKmcqdCx0aGlzLl95PUUqZyp2K2UqRip0LHRoaXMuX3o9RSpGKnQrZSpnKnYsdGhpcy5fdz1FKkYqdi1lKmcqdCk6IlpZWCI9PT1hPyh0aGlzLl94PWUqRip2LUUqZyp0LHRoaXMuX3k9RSpnKnYrZSpGKnQsdGhpcy5fej1FKkYqdC1lKmcqdix0aGlzLl93PUUqRip2K2UqZyp0KToiWVpYIj09PWE/KHRoaXMuX3g9ZSpGKnYrRSpnKnQsdGhpcy5feT1FKmcqditlKkYqdCx0aGlzLl96PUUqRip0LWUqZyp2LHRoaXMuX3c9RSpGKnYtZSpnKnQpOiJYWlkiPT09YSYmKHRoaXMuX3g9ZSpGKnYtRSpnKnQsdGhpcy5feT1FKmcqdi1lKkYqdCx0aGlzLl96PUUqRip0K2UqZyp2LHRoaXMuX3c9RSpGKnYrZSpnKnQpOyExIT09YyYmdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO3JldHVybiB0aGlzfSxzZXRGcm9tQXhpc0FuZ2xlOmZ1bmN0aW9uKGEsCmMpe2MvPTI7dmFyIGU9TWF0aC5zaW4oYyk7dGhpcy5feD1hLngqZTt0aGlzLl95PWEueSplO3RoaXMuX3o9YS56KmU7dGhpcy5fdz1NYXRoLmNvcyhjKTt0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7cmV0dXJuIHRoaXN9LHNldEZyb21Sb3RhdGlvbk1hdHJpeDpmdW5jdGlvbihhKXt2YXIgYz1hLmVsZW1lbnRzLGU9Y1swXTthPWNbNF07dmFyIGc9Y1s4XSx0PWNbMV0sdj1jWzVdLHo9Y1s5XSxFPWNbMl0sRj1jWzZdO2M9Y1sxMF07dmFyIEk9ZSt2K2M7MDxJPyhlPS41L01hdGguc3FydChJKzEpLHRoaXMuX3c9LjI1L2UsdGhpcy5feD0oRi16KSplLHRoaXMuX3k9KGctRSkqZSx0aGlzLl96PSh0LWEpKmUpOmU+diYmZT5jPyhlPTIqTWF0aC5zcXJ0KDErZS12LWMpLHRoaXMuX3c9KEYteikvZSx0aGlzLl94PS4yNSplLHRoaXMuX3k9KGErdCkvZSx0aGlzLl96PShnK0UpL2UpOnY+Yz8oZT0yKk1hdGguc3FydCgxK3YtZS1jKSx0aGlzLl93PShnLUUpL2UsdGhpcy5feD0oYSt0KS9lLAp0aGlzLl95PS4yNSplLHRoaXMuX3o9KHorRikvZSk6KGU9MipNYXRoLnNxcnQoMStjLWUtdiksdGhpcy5fdz0odC1hKS9lLHRoaXMuX3g9KGcrRSkvZSx0aGlzLl95PSh6K0YpL2UsdGhpcy5fej0uMjUqZSk7dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO3JldHVybiB0aGlzfSxzZXRGcm9tVW5pdFZlY3RvcnM6ZnVuY3Rpb24oYSxjKXt2YXIgZT1hLmRvdChjKSsxOzFFLTY+ZT8oZT0wLE1hdGguYWJzKGEueCk+TWF0aC5hYnMoYS56KT8odGhpcy5feD0tYS55LHRoaXMuX3k9YS54LHRoaXMuX3o9MCk6KHRoaXMuX3g9MCx0aGlzLl95PS1hLnosdGhpcy5fej1hLnkpKToodGhpcy5feD1hLnkqYy56LWEueipjLnksdGhpcy5feT1hLnoqYy54LWEueCpjLnosdGhpcy5fej1hLngqYy55LWEueSpjLngpO3RoaXMuX3c9ZTtyZXR1cm4gdGhpcy5ub3JtYWxpemUoKX0sYW5nbGVUbzpmdW5jdGlvbihhKXtyZXR1cm4gMipNYXRoLmFjb3MoTWF0aC5hYnMoaGIuY2xhbXAodGhpcy5kb3QoYSksLTEsCjEpKSl9LHJvdGF0ZVRvd2FyZHM6ZnVuY3Rpb24oYSxjKXt2YXIgZT10aGlzLmFuZ2xlVG8oYSk7aWYoMD09PWUpcmV0dXJuIHRoaXM7dGhpcy5zbGVycChhLE1hdGgubWluKDEsYy9lKSk7cmV0dXJuIHRoaXN9LGludmVyc2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25qdWdhdGUoKX0sY29uanVnYXRlOmZ1bmN0aW9uKCl7dGhpcy5feCo9LTE7dGhpcy5feSo9LTE7dGhpcy5feio9LTE7dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO3JldHVybiB0aGlzfSxkb3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuX3gqYS5feCt0aGlzLl95KmEuX3krdGhpcy5feiphLl96K3RoaXMuX3cqYS5fd30sbGVuZ3RoU3E6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5feCp0aGlzLl94K3RoaXMuX3kqdGhpcy5feSt0aGlzLl96KnRoaXMuX3ordGhpcy5fdyp0aGlzLl93fSxsZW5ndGg6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMuX3gqdGhpcy5feCt0aGlzLl95KnRoaXMuX3krdGhpcy5feioKdGhpcy5feit0aGlzLl93KnRoaXMuX3cpfSxub3JtYWxpemU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmxlbmd0aCgpOzA9PT1hPyh0aGlzLl96PXRoaXMuX3k9dGhpcy5feD0wLHRoaXMuX3c9MSk6KGE9MS9hLHRoaXMuX3gqPWEsdGhpcy5feSo9YSx0aGlzLl96Kj1hLHRoaXMuX3cqPWEpO3RoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtyZXR1cm4gdGhpc30sbXVsdGlwbHk6ZnVuY3Rpb24oYSxjKXtyZXR1cm4gdm9pZCAwIT09Yz8oY29uc29sZS53YXJuKCJUSFJFRS5RdWF0ZXJuaW9uOiAubXVsdGlwbHkoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5tdWx0aXBseVF1YXRlcm5pb25zKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLm11bHRpcGx5UXVhdGVybmlvbnMoYSxjKSk6dGhpcy5tdWx0aXBseVF1YXRlcm5pb25zKHRoaXMsYSl9LHByZW11bHRpcGx5OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm11bHRpcGx5UXVhdGVybmlvbnMoYSx0aGlzKX0sbXVsdGlwbHlRdWF0ZXJuaW9uczpmdW5jdGlvbihhLApjKXt2YXIgZT1hLl94LGc9YS5feSx0PWEuX3o7YT1hLl93O3ZhciB2PWMuX3gsej1jLl95LEU9Yy5fejtjPWMuX3c7dGhpcy5feD1lKmMrYSp2K2cqRS10Kno7dGhpcy5feT1nKmMrYSp6K3Qqdi1lKkU7dGhpcy5fej10KmMrYSpFK2Uqei1nKnY7dGhpcy5fdz1hKmMtZSp2LWcqei10KkU7dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO3JldHVybiB0aGlzfSxzbGVycDpmdW5jdGlvbihhLGMpe2lmKDA9PT1jKXJldHVybiB0aGlzO2lmKDE9PT1jKXJldHVybiB0aGlzLmNvcHkoYSk7dmFyIGU9dGhpcy5feCxnPXRoaXMuX3ksdD10aGlzLl96LHY9dGhpcy5fdyx6PXYqYS5fdytlKmEuX3grZyphLl95K3QqYS5fejswPno/KHRoaXMuX3c9LWEuX3csdGhpcy5feD0tYS5feCx0aGlzLl95PS1hLl95LHRoaXMuX3o9LWEuX3osej0teik6dGhpcy5jb3B5KGEpO2lmKDE8PXopcmV0dXJuIHRoaXMuX3c9dix0aGlzLl94PWUsdGhpcy5feT1nLHRoaXMuX3o9dCx0aGlzO2E9MS16Kno7aWYoYTw9TnVtYmVyLkVQU0lMT04pcmV0dXJuIHo9CjEtYyx0aGlzLl93PXoqditjKnRoaXMuX3csdGhpcy5feD16KmUrYyp0aGlzLl94LHRoaXMuX3k9eipnK2MqdGhpcy5feSx0aGlzLl96PXoqdCtjKnRoaXMuX3osdGhpcy5ub3JtYWxpemUoKSx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpczthPU1hdGguc3FydChhKTt2YXIgRT1NYXRoLmF0YW4yKGEseik7ej1NYXRoLnNpbigoMS1jKSpFKS9hO2M9TWF0aC5zaW4oYypFKS9hO3RoaXMuX3c9dip6K3RoaXMuX3cqYzt0aGlzLl94PWUqeit0aGlzLl94KmM7dGhpcy5feT1nKnordGhpcy5feSpjO3RoaXMuX3o9dCp6K3RoaXMuX3oqYzt0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7cmV0dXJuIHRoaXN9LGVxdWFsczpmdW5jdGlvbihhKXtyZXR1cm4gYS5feD09PXRoaXMuX3gmJmEuX3k9PT10aGlzLl95JiZhLl96PT09dGhpcy5feiYmYS5fdz09PXRoaXMuX3d9LGZyb21BcnJheTpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWMmJihjPTApO3RoaXMuX3g9YVtjXTt0aGlzLl95PWFbYysxXTsKdGhpcy5fej1hW2MrMl07dGhpcy5fdz1hW2MrM107dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO3JldHVybiB0aGlzfSx0b0FycmF5OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YSYmKGE9W10pO3ZvaWQgMD09PWMmJihjPTApO2FbY109dGhpcy5feDthW2MrMV09dGhpcy5feTthW2MrMl09dGhpcy5fejthW2MrM109dGhpcy5fdztyZXR1cm4gYX0sX29uQ2hhbmdlOmZ1bmN0aW9uKGEpe3RoaXMuX29uQ2hhbmdlQ2FsbGJhY2s9YTtyZXR1cm4gdGhpc30sX29uQ2hhbmdlQ2FsbGJhY2s6ZnVuY3Rpb24oKXt9fSk7dmFyIENpPW5ldyBrLGtrPW5ldyBoO09iamVjdC5hc3NpZ24oay5wcm90b3R5cGUse2lzVmVjdG9yMzohMCxzZXQ6ZnVuY3Rpb24oYSxjLGUpe3RoaXMueD1hO3RoaXMueT1jO3RoaXMuej1lO3JldHVybiB0aGlzfSxzZXRTY2FsYXI6ZnVuY3Rpb24oYSl7dGhpcy56PXRoaXMueT10aGlzLng9YTtyZXR1cm4gdGhpc30sc2V0WDpmdW5jdGlvbihhKXt0aGlzLng9YTtyZXR1cm4gdGhpc30sCnNldFk6ZnVuY3Rpb24oYSl7dGhpcy55PWE7cmV0dXJuIHRoaXN9LHNldFo6ZnVuY3Rpb24oYSl7dGhpcy56PWE7cmV0dXJuIHRoaXN9LHNldENvbXBvbmVudDpmdW5jdGlvbihhLGMpe3N3aXRjaChhKXtjYXNlIDA6dGhpcy54PWM7YnJlYWs7Y2FzZSAxOnRoaXMueT1jO2JyZWFrO2Nhc2UgMjp0aGlzLno9YzticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJpbmRleCBpcyBvdXQgb2YgcmFuZ2U6ICIrYSk7fXJldHVybiB0aGlzfSxnZXRDb21wb25lbnQ6ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4gdGhpcy54O2Nhc2UgMTpyZXR1cm4gdGhpcy55O2Nhc2UgMjpyZXR1cm4gdGhpcy56O2RlZmF1bHQ6dGhyb3cgRXJyb3IoImluZGV4IGlzIG91dCBvZiByYW5nZTogIithKTt9fSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLngsdGhpcy55LHRoaXMueil9LGNvcHk6ZnVuY3Rpb24oYSl7dGhpcy54PWEueDt0aGlzLnk9YS55Owp0aGlzLno9YS56O3JldHVybiB0aGlzfSxhZGQ6ZnVuY3Rpb24oYSxjKXtpZih2b2lkIDAhPT1jKXJldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5hZGQoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5hZGRWZWN0b3JzKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLmFkZFZlY3RvcnMoYSxjKTt0aGlzLngrPWEueDt0aGlzLnkrPWEueTt0aGlzLnorPWEuejtyZXR1cm4gdGhpc30sYWRkU2NhbGFyOmZ1bmN0aW9uKGEpe3RoaXMueCs9YTt0aGlzLnkrPWE7dGhpcy56Kz1hO3JldHVybiB0aGlzfSxhZGRWZWN0b3JzOmZ1bmN0aW9uKGEsYyl7dGhpcy54PWEueCtjLng7dGhpcy55PWEueStjLnk7dGhpcy56PWEueitjLno7cmV0dXJuIHRoaXN9LGFkZFNjYWxlZFZlY3RvcjpmdW5jdGlvbihhLGMpe3RoaXMueCs9YS54KmM7dGhpcy55Kz1hLnkqYzt0aGlzLnorPWEueipjO3JldHVybiB0aGlzfSxzdWI6ZnVuY3Rpb24oYSxjKXtpZih2b2lkIDAhPT1jKXJldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5zdWIoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5zdWJWZWN0b3JzKCBhLCBiICkgaW5zdGVhZC4iKSwKdGhpcy5zdWJWZWN0b3JzKGEsYyk7dGhpcy54LT1hLng7dGhpcy55LT1hLnk7dGhpcy56LT1hLno7cmV0dXJuIHRoaXN9LHN1YlNjYWxhcjpmdW5jdGlvbihhKXt0aGlzLngtPWE7dGhpcy55LT1hO3RoaXMuei09YTtyZXR1cm4gdGhpc30sc3ViVmVjdG9yczpmdW5jdGlvbihhLGMpe3RoaXMueD1hLngtYy54O3RoaXMueT1hLnktYy55O3RoaXMuej1hLnotYy56O3JldHVybiB0aGlzfSxtdWx0aXBseTpmdW5jdGlvbihhLGMpe2lmKHZvaWQgMCE9PWMpcmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogLm11bHRpcGx5KCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAubXVsdGlwbHlWZWN0b3JzKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLm11bHRpcGx5VmVjdG9ycyhhLGMpO3RoaXMueCo9YS54O3RoaXMueSo9YS55O3RoaXMueio9YS56O3JldHVybiB0aGlzfSxtdWx0aXBseVNjYWxhcjpmdW5jdGlvbihhKXt0aGlzLngqPWE7dGhpcy55Kj1hO3RoaXMueio9CmE7cmV0dXJuIHRoaXN9LG11bHRpcGx5VmVjdG9yczpmdW5jdGlvbihhLGMpe3RoaXMueD1hLngqYy54O3RoaXMueT1hLnkqYy55O3RoaXMuej1hLnoqYy56O3JldHVybiB0aGlzfSxhcHBseUV1bGVyOmZ1bmN0aW9uKGEpe2EmJmEuaXNFdWxlcnx8Y29uc29sZS5lcnJvcigiVEhSRUUuVmVjdG9yMzogLmFwcGx5RXVsZXIoKSBub3cgZXhwZWN0cyBhbiBFdWxlciByb3RhdGlvbiByYXRoZXIgdGhhbiBhIFZlY3RvcjMgYW5kIG9yZGVyLiIpO3JldHVybiB0aGlzLmFwcGx5UXVhdGVybmlvbihray5zZXRGcm9tRXVsZXIoYSkpfSxhcHBseUF4aXNBbmdsZTpmdW5jdGlvbihhLGMpe3JldHVybiB0aGlzLmFwcGx5UXVhdGVybmlvbihray5zZXRGcm9tQXhpc0FuZ2xlKGEsYykpfSxhcHBseU1hdHJpeDM6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy54LGU9dGhpcy55LGc9dGhpcy56O2E9YS5lbGVtZW50czt0aGlzLng9YVswXSpjK2FbM10qZSthWzZdKmc7dGhpcy55PWFbMV0qYythWzRdKmUrYVs3XSoKZzt0aGlzLno9YVsyXSpjK2FbNV0qZSthWzhdKmc7cmV0dXJuIHRoaXN9LGFwcGx5TWF0cml4NDpmdW5jdGlvbihhKXt2YXIgYz10aGlzLngsZT10aGlzLnksZz10aGlzLno7YT1hLmVsZW1lbnRzO3ZhciB0PTEvKGFbM10qYythWzddKmUrYVsxMV0qZythWzE1XSk7dGhpcy54PShhWzBdKmMrYVs0XSplK2FbOF0qZythWzEyXSkqdDt0aGlzLnk9KGFbMV0qYythWzVdKmUrYVs5XSpnK2FbMTNdKSp0O3RoaXMuej0oYVsyXSpjK2FbNl0qZSthWzEwXSpnK2FbMTRdKSp0O3JldHVybiB0aGlzfSxhcHBseVF1YXRlcm5pb246ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy54LGU9dGhpcy55LGc9dGhpcy56LHQ9YS54LHY9YS55LHo9YS56O2E9YS53O3ZhciBFPWEqYyt2KmcteiplLEY9YSplK3oqYy10KmcsST1hKmcrdCplLXYqYztjPS10KmMtdiplLXoqZzt0aGlzLng9RSphK2MqLXQrRiotei1JKi12O3RoaXMueT1GKmErYyotditJKi10LUUqLXo7dGhpcy56PUkqYStjKi16K0UqLXYtRiotdDtyZXR1cm4gdGhpc30sCnByb2plY3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYXBwbHlNYXRyaXg0KGEubWF0cml4V29ybGRJbnZlcnNlKS5hcHBseU1hdHJpeDQoYS5wcm9qZWN0aW9uTWF0cml4KX0sdW5wcm9qZWN0OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFwcGx5TWF0cml4NChhLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlKS5hcHBseU1hdHJpeDQoYS5tYXRyaXhXb3JsZCl9LHRyYW5zZm9ybURpcmVjdGlvbjpmdW5jdGlvbihhKXt2YXIgYz10aGlzLngsZT10aGlzLnksZz10aGlzLno7YT1hLmVsZW1lbnRzO3RoaXMueD1hWzBdKmMrYVs0XSplK2FbOF0qZzt0aGlzLnk9YVsxXSpjK2FbNV0qZSthWzldKmc7dGhpcy56PWFbMl0qYythWzZdKmUrYVsxMF0qZztyZXR1cm4gdGhpcy5ub3JtYWxpemUoKX0sZGl2aWRlOmZ1bmN0aW9uKGEpe3RoaXMueC89YS54O3RoaXMueS89YS55O3RoaXMuei89YS56O3JldHVybiB0aGlzfSxkaXZpZGVTY2FsYXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubXVsdGlwbHlTY2FsYXIoMS8KYSl9LG1pbjpmdW5jdGlvbihhKXt0aGlzLng9TWF0aC5taW4odGhpcy54LGEueCk7dGhpcy55PU1hdGgubWluKHRoaXMueSxhLnkpO3RoaXMuej1NYXRoLm1pbih0aGlzLnosYS56KTtyZXR1cm4gdGhpc30sbWF4OmZ1bmN0aW9uKGEpe3RoaXMueD1NYXRoLm1heCh0aGlzLngsYS54KTt0aGlzLnk9TWF0aC5tYXgodGhpcy55LGEueSk7dGhpcy56PU1hdGgubWF4KHRoaXMueixhLnopO3JldHVybiB0aGlzfSxjbGFtcDpmdW5jdGlvbihhLGMpe3RoaXMueD1NYXRoLm1heChhLngsTWF0aC5taW4oYy54LHRoaXMueCkpO3RoaXMueT1NYXRoLm1heChhLnksTWF0aC5taW4oYy55LHRoaXMueSkpO3RoaXMuej1NYXRoLm1heChhLnosTWF0aC5taW4oYy56LHRoaXMueikpO3JldHVybiB0aGlzfSxjbGFtcFNjYWxhcjpmdW5jdGlvbihhLGMpe3RoaXMueD1NYXRoLm1heChhLE1hdGgubWluKGMsdGhpcy54KSk7dGhpcy55PU1hdGgubWF4KGEsTWF0aC5taW4oYyx0aGlzLnkpKTt0aGlzLno9TWF0aC5tYXgoYSwKTWF0aC5taW4oYyx0aGlzLnopKTtyZXR1cm4gdGhpc30sY2xhbXBMZW5ndGg6ZnVuY3Rpb24oYSxjKXt2YXIgZT10aGlzLmxlbmd0aCgpO3JldHVybiB0aGlzLmRpdmlkZVNjYWxhcihlfHwxKS5tdWx0aXBseVNjYWxhcihNYXRoLm1heChhLE1hdGgubWluKGMsZSkpKX0sZmxvb3I6ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5mbG9vcih0aGlzLngpO3RoaXMueT1NYXRoLmZsb29yKHRoaXMueSk7dGhpcy56PU1hdGguZmxvb3IodGhpcy56KTtyZXR1cm4gdGhpc30sY2VpbDpmdW5jdGlvbigpe3RoaXMueD1NYXRoLmNlaWwodGhpcy54KTt0aGlzLnk9TWF0aC5jZWlsKHRoaXMueSk7dGhpcy56PU1hdGguY2VpbCh0aGlzLnopO3JldHVybiB0aGlzfSxyb3VuZDpmdW5jdGlvbigpe3RoaXMueD1NYXRoLnJvdW5kKHRoaXMueCk7dGhpcy55PU1hdGgucm91bmQodGhpcy55KTt0aGlzLno9TWF0aC5yb3VuZCh0aGlzLnopO3JldHVybiB0aGlzfSxyb3VuZFRvWmVybzpmdW5jdGlvbigpe3RoaXMueD0KMD50aGlzLng/TWF0aC5jZWlsKHRoaXMueCk6TWF0aC5mbG9vcih0aGlzLngpO3RoaXMueT0wPnRoaXMueT9NYXRoLmNlaWwodGhpcy55KTpNYXRoLmZsb29yKHRoaXMueSk7dGhpcy56PTA+dGhpcy56P01hdGguY2VpbCh0aGlzLnopOk1hdGguZmxvb3IodGhpcy56KTtyZXR1cm4gdGhpc30sbmVnYXRlOmZ1bmN0aW9uKCl7dGhpcy54PS10aGlzLng7dGhpcy55PS10aGlzLnk7dGhpcy56PS10aGlzLno7cmV0dXJuIHRoaXN9LGRvdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy54KmEueCt0aGlzLnkqYS55K3RoaXMueiphLnp9LGxlbmd0aFNxOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueCp0aGlzLngrdGhpcy55KnRoaXMueSt0aGlzLnoqdGhpcy56fSxsZW5ndGg6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMueCp0aGlzLngrdGhpcy55KnRoaXMueSt0aGlzLnoqdGhpcy56KX0sbWFuaGF0dGFuTGVuZ3RoOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguYWJzKHRoaXMueCkrTWF0aC5hYnModGhpcy55KSsKTWF0aC5hYnModGhpcy56KX0sbm9ybWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGl2aWRlU2NhbGFyKHRoaXMubGVuZ3RoKCl8fDEpfSxzZXRMZW5ndGg6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIoYSl9LGxlcnA6ZnVuY3Rpb24oYSxjKXt0aGlzLngrPShhLngtdGhpcy54KSpjO3RoaXMueSs9KGEueS10aGlzLnkpKmM7dGhpcy56Kz0oYS56LXRoaXMueikqYztyZXR1cm4gdGhpc30sbGVycFZlY3RvcnM6ZnVuY3Rpb24oYSxjLGUpe3JldHVybiB0aGlzLnN1YlZlY3RvcnMoYyxhKS5tdWx0aXBseVNjYWxhcihlKS5hZGQoYSl9LGNyb3NzOmZ1bmN0aW9uKGEsYyl7cmV0dXJuIHZvaWQgMCE9PWM/KGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogLmNyb3NzKCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAuY3Jvc3NWZWN0b3JzKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLmNyb3NzVmVjdG9ycyhhLGMpKTp0aGlzLmNyb3NzVmVjdG9ycyh0aGlzLAphKX0sY3Jvc3NWZWN0b3JzOmZ1bmN0aW9uKGEsYyl7dmFyIGU9YS54LGc9YS55O2E9YS56O3ZhciB0PWMueCx2PWMueTtjPWMuejt0aGlzLng9ZypjLWEqdjt0aGlzLnk9YSp0LWUqYzt0aGlzLno9ZSp2LWcqdDtyZXR1cm4gdGhpc30scHJvamVjdE9uVmVjdG9yOmZ1bmN0aW9uKGEpe3ZhciBjPWEuZG90KHRoaXMpL2EubGVuZ3RoU3EoKTtyZXR1cm4gdGhpcy5jb3B5KGEpLm11bHRpcGx5U2NhbGFyKGMpfSxwcm9qZWN0T25QbGFuZTpmdW5jdGlvbihhKXtDaS5jb3B5KHRoaXMpLnByb2plY3RPblZlY3RvcihhKTtyZXR1cm4gdGhpcy5zdWIoQ2kpfSxyZWZsZWN0OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnN1YihDaS5jb3B5KGEpLm11bHRpcGx5U2NhbGFyKDIqdGhpcy5kb3QoYSkpKX0sYW5nbGVUbzpmdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5hY29zKGhiLmNsYW1wKHRoaXMuZG90KGEpL01hdGguc3FydCh0aGlzLmxlbmd0aFNxKCkqYS5sZW5ndGhTcSgpKSwtMSwxKSl9LGRpc3RhbmNlVG86ZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlVG9TcXVhcmVkKGEpKX0sCmRpc3RhbmNlVG9TcXVhcmVkOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMueC1hLngsZT10aGlzLnktYS55O2E9dGhpcy56LWEuejtyZXR1cm4gYypjK2UqZSthKmF9LG1hbmhhdHRhbkRpc3RhbmNlVG86ZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGguYWJzKHRoaXMueC1hLngpK01hdGguYWJzKHRoaXMueS1hLnkpK01hdGguYWJzKHRoaXMuei1hLnopfSxzZXRGcm9tU3BoZXJpY2FsOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnNldEZyb21TcGhlcmljYWxDb29yZHMoYS5yYWRpdXMsYS5waGksYS50aGV0YSl9LHNldEZyb21TcGhlcmljYWxDb29yZHM6ZnVuY3Rpb24oYSxjLGUpe3ZhciBnPU1hdGguc2luKGMpKmE7dGhpcy54PWcqTWF0aC5zaW4oZSk7dGhpcy55PU1hdGguY29zKGMpKmE7dGhpcy56PWcqTWF0aC5jb3MoZSk7cmV0dXJuIHRoaXN9LHNldEZyb21DeWxpbmRyaWNhbDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5zZXRGcm9tQ3lsaW5kcmljYWxDb29yZHMoYS5yYWRpdXMsYS50aGV0YSwKYS55KX0sc2V0RnJvbUN5bGluZHJpY2FsQ29vcmRzOmZ1bmN0aW9uKGEsYyxlKXt0aGlzLng9YSpNYXRoLnNpbihjKTt0aGlzLnk9ZTt0aGlzLno9YSpNYXRoLmNvcyhjKTtyZXR1cm4gdGhpc30sc2V0RnJvbU1hdHJpeFBvc2l0aW9uOmZ1bmN0aW9uKGEpe2E9YS5lbGVtZW50czt0aGlzLng9YVsxMl07dGhpcy55PWFbMTNdO3RoaXMuej1hWzE0XTtyZXR1cm4gdGhpc30sc2V0RnJvbU1hdHJpeFNjYWxlOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMuc2V0RnJvbU1hdHJpeENvbHVtbihhLDApLmxlbmd0aCgpLGU9dGhpcy5zZXRGcm9tTWF0cml4Q29sdW1uKGEsMSkubGVuZ3RoKCk7YT10aGlzLnNldEZyb21NYXRyaXhDb2x1bW4oYSwyKS5sZW5ndGgoKTt0aGlzLng9Yzt0aGlzLnk9ZTt0aGlzLno9YTtyZXR1cm4gdGhpc30sc2V0RnJvbU1hdHJpeENvbHVtbjpmdW5jdGlvbihhLGMpe3JldHVybiB0aGlzLmZyb21BcnJheShhLmVsZW1lbnRzLDQqYyl9LGVxdWFsczpmdW5jdGlvbihhKXtyZXR1cm4gYS54PT09CnRoaXMueCYmYS55PT09dGhpcy55JiZhLno9PT10aGlzLnp9LGZyb21BcnJheTpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWMmJihjPTApO3RoaXMueD1hW2NdO3RoaXMueT1hW2MrMV07dGhpcy56PWFbYysyXTtyZXR1cm4gdGhpc30sdG9BcnJheTpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWEmJihhPVtdKTt2b2lkIDA9PT1jJiYoYz0wKTthW2NdPXRoaXMueDthW2MrMV09dGhpcy55O2FbYysyXT10aGlzLno7cmV0dXJuIGF9LGZyb21CdWZmZXJBdHRyaWJ1dGU6ZnVuY3Rpb24oYSxjLGUpe3ZvaWQgMCE9PWUmJmNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogb2Zmc2V0IGhhcyBiZWVuIHJlbW92ZWQgZnJvbSAuZnJvbUJ1ZmZlckF0dHJpYnV0ZSgpLiIpO3RoaXMueD1hLmdldFgoYyk7dGhpcy55PWEuZ2V0WShjKTt0aGlzLno9YS5nZXRaKGMpO3JldHVybiB0aGlzfX0pO3ZhciBnZT1uZXcgaztPYmplY3QuYXNzaWduKHIucHJvdG90eXBlLHtpc01hdHJpeDM6ITAsc2V0OmZ1bmN0aW9uKGEsCmMsZSxnLHQsdix6LEUsRil7dmFyIEk9dGhpcy5lbGVtZW50cztJWzBdPWE7SVsxXT1nO0lbMl09ejtJWzNdPWM7SVs0XT10O0lbNV09RTtJWzZdPWU7SVs3XT12O0lbOF09RjtyZXR1cm4gdGhpc30saWRlbnRpdHk6ZnVuY3Rpb24oKXt0aGlzLnNldCgxLDAsMCwwLDEsMCwwLDAsMSk7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5mcm9tQXJyYXkodGhpcy5lbGVtZW50cyl9LGNvcHk6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5lbGVtZW50czthPWEuZWxlbWVudHM7Y1swXT1hWzBdO2NbMV09YVsxXTtjWzJdPWFbMl07Y1szXT1hWzNdO2NbNF09YVs0XTtjWzVdPWFbNV07Y1s2XT1hWzZdO2NbN109YVs3XTtjWzhdPWFbOF07cmV0dXJuIHRoaXN9LHNldEZyb21NYXRyaXg0OmZ1bmN0aW9uKGEpe2E9YS5lbGVtZW50czt0aGlzLnNldChhWzBdLGFbNF0sYVs4XSxhWzFdLGFbNV0sYVs5XSxhWzJdLGFbNl0sYVsxMF0pO3JldHVybiB0aGlzfSwKYXBwbHlUb0J1ZmZlckF0dHJpYnV0ZTpmdW5jdGlvbihhKXtmb3IodmFyIGM9MCxlPWEuY291bnQ7YzxlO2MrKylnZS54PWEuZ2V0WChjKSxnZS55PWEuZ2V0WShjKSxnZS56PWEuZ2V0WihjKSxnZS5hcHBseU1hdHJpeDModGhpcyksYS5zZXRYWVooYyxnZS54LGdlLnksZ2Uueik7cmV0dXJuIGF9LG11bHRpcGx5OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm11bHRpcGx5TWF0cmljZXModGhpcyxhKX0scHJlbXVsdGlwbHk6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubXVsdGlwbHlNYXRyaWNlcyhhLHRoaXMpfSxtdWx0aXBseU1hdHJpY2VzOmZ1bmN0aW9uKGEsYyl7dmFyIGU9YS5lbGVtZW50cyxnPWMuZWxlbWVudHM7Yz10aGlzLmVsZW1lbnRzO2E9ZVswXTt2YXIgdD1lWzNdLHY9ZVs2XSx6PWVbMV0sRT1lWzRdLEY9ZVs3XSxJPWVbMl0sTT1lWzVdO2U9ZVs4XTt2YXIgUD1nWzBdLFE9Z1szXSxVPWdbNl0sVj1nWzFdLGVhPWdbNF0sZGE9Z1s3XSxyYT1nWzJdLHBhPWdbNV07Zz1nWzhdOwpjWzBdPWEqUCt0KlYrdipyYTtjWzNdPWEqUSt0KmVhK3YqcGE7Y1s2XT1hKlUrdCpkYSt2Kmc7Y1sxXT16KlArRSpWK0YqcmE7Y1s0XT16KlErRSplYStGKnBhO2NbN109eipVK0UqZGErRipnO2NbMl09SSpQK00qVitlKnJhO2NbNV09SSpRK00qZWErZSpwYTtjWzhdPUkqVStNKmRhK2UqZztyZXR1cm4gdGhpc30sbXVsdGlwbHlTY2FsYXI6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5lbGVtZW50cztjWzBdKj1hO2NbM10qPWE7Y1s2XSo9YTtjWzFdKj1hO2NbNF0qPWE7Y1s3XSo9YTtjWzJdKj1hO2NbNV0qPWE7Y1s4XSo9YTtyZXR1cm4gdGhpc30sZGV0ZXJtaW5hbnQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmVsZW1lbnRzLGM9YVswXSxlPWFbMV0sZz1hWzJdLHQ9YVszXSx2PWFbNF0sej1hWzVdLEU9YVs2XSxGPWFbN107YT1hWzhdO3JldHVybiBjKnYqYS1jKnoqRi1lKnQqYStlKnoqRStnKnQqRi1nKnYqRX0sZ2V0SW52ZXJzZTpmdW5jdGlvbihhLGMpe2EmJmEuaXNNYXRyaXg0JiYKY29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4MzogLmdldEludmVyc2UoKSBubyBsb25nZXIgdGFrZXMgYSBNYXRyaXg0IGFyZ3VtZW50LiIpO3ZhciBlPWEuZWxlbWVudHM7YT10aGlzLmVsZW1lbnRzO3ZhciBnPWVbMF0sdD1lWzFdLHY9ZVsyXSx6PWVbM10sRT1lWzRdLEY9ZVs1XSxJPWVbNl0sTT1lWzddO2U9ZVs4XTt2YXIgUD1lKkUtRipNLFE9RipJLWUqeixVPU0qei1FKkksVj1nKlArdCpRK3YqVTtpZigwPT09Vil7aWYoITA9PT1jKXRocm93IEVycm9yKCJUSFJFRS5NYXRyaXgzOiAuZ2V0SW52ZXJzZSgpIGNhbid0IGludmVydCBtYXRyaXgsIGRldGVybWluYW50IGlzIDAiKTtjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDM6IC5nZXRJbnZlcnNlKCkgY2FuJ3QgaW52ZXJ0IG1hdHJpeCwgZGV0ZXJtaW5hbnQgaXMgMCIpO3JldHVybiB0aGlzLmlkZW50aXR5KCl9Yz0xL1Y7YVswXT1QKmM7YVsxXT0odipNLWUqdCkqYzthWzJdPShGKnQtdipFKSpjO2FbM109USpjO2FbNF09CihlKmctdipJKSpjO2FbNV09KHYqei1GKmcpKmM7YVs2XT1VKmM7YVs3XT0odCpJLU0qZykqYzthWzhdPShFKmctdCp6KSpjO3JldHVybiB0aGlzfSx0cmFuc3Bvc2U6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmVsZW1lbnRzO3ZhciBjPWFbMV07YVsxXT1hWzNdO2FbM109YztjPWFbMl07YVsyXT1hWzZdO2FbNl09YztjPWFbNV07YVs1XT1hWzddO2FbN109YztyZXR1cm4gdGhpc30sZ2V0Tm9ybWFsTWF0cml4OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnNldEZyb21NYXRyaXg0KGEpLmdldEludmVyc2UodGhpcykudHJhbnNwb3NlKCl9LHRyYW5zcG9zZUludG9BcnJheTpmdW5jdGlvbihhKXt2YXIgYz10aGlzLmVsZW1lbnRzO2FbMF09Y1swXTthWzFdPWNbM107YVsyXT1jWzZdO2FbM109Y1sxXTthWzRdPWNbNF07YVs1XT1jWzddO2FbNl09Y1syXTthWzddPWNbNV07YVs4XT1jWzhdO3JldHVybiB0aGlzfSxzZXRVdlRyYW5zZm9ybTpmdW5jdGlvbihhLGMsZSxnLHQsdix6KXt2YXIgRT0KTWF0aC5jb3ModCk7dD1NYXRoLnNpbih0KTt0aGlzLnNldChlKkUsZSp0LC1lKihFKnYrdCp6KSt2K2EsLWcqdCxnKkUsLWcqKC10KnYrRSp6KSt6K2MsMCwwLDEpfSxzY2FsZTpmdW5jdGlvbihhLGMpe3ZhciBlPXRoaXMuZWxlbWVudHM7ZVswXSo9YTtlWzNdKj1hO2VbNl0qPWE7ZVsxXSo9YztlWzRdKj1jO2VbN10qPWM7cmV0dXJuIHRoaXN9LHJvdGF0ZTpmdW5jdGlvbihhKXt2YXIgYz1NYXRoLmNvcyhhKTthPU1hdGguc2luKGEpO3ZhciBlPXRoaXMuZWxlbWVudHMsZz1lWzBdLHQ9ZVszXSx2PWVbNl0sej1lWzFdLEU9ZVs0XSxGPWVbN107ZVswXT1jKmcrYSp6O2VbM109Yyp0K2EqRTtlWzZdPWMqdithKkY7ZVsxXT0tYSpnK2MqejtlWzRdPS1hKnQrYypFO2VbN109LWEqditjKkY7cmV0dXJuIHRoaXN9LHRyYW5zbGF0ZTpmdW5jdGlvbihhLGMpe3ZhciBlPXRoaXMuZWxlbWVudHM7ZVswXSs9YSplWzJdO2VbM10rPWEqZVs1XTtlWzZdKz1hKmVbOF07ZVsxXSs9YyplWzJdO2VbNF0rPQpjKmVbNV07ZVs3XSs9YyplWzhdO3JldHVybiB0aGlzfSxlcXVhbHM6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5lbGVtZW50czthPWEuZWxlbWVudHM7Zm9yKHZhciBlPTA7OT5lO2UrKylpZihjW2VdIT09YVtlXSlyZXR1cm4hMTtyZXR1cm4hMH0sZnJvbUFycmF5OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGM9MCk7Zm9yKHZhciBlPTA7OT5lO2UrKyl0aGlzLmVsZW1lbnRzW2VdPWFbZStjXTtyZXR1cm4gdGhpc30sdG9BcnJheTpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWEmJihhPVtdKTt2b2lkIDA9PT1jJiYoYz0wKTt2YXIgZT10aGlzLmVsZW1lbnRzO2FbY109ZVswXTthW2MrMV09ZVsxXTthW2MrMl09ZVsyXTthW2MrM109ZVszXTthW2MrNF09ZVs0XTthW2MrNV09ZVs1XTthW2MrNl09ZVs2XTthW2MrN109ZVs3XTthW2MrOF09ZVs4XTtyZXR1cm4gYX19KTt2YXIgZ2YsRmQ9e2dldERhdGFVUkw6ZnVuY3Rpb24oYSl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBIVE1MQ2FudmFzRWxlbWVudClyZXR1cm4gYS5zcmM7CmlmKCEoYSBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50KSl7dm9pZCAwPT09Z2YmJihnZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJjYW52YXMiKSk7Z2Yud2lkdGg9YS53aWR0aDtnZi5oZWlnaHQ9YS5oZWlnaHQ7dmFyIGM9Z2YuZ2V0Q29udGV4dCgiMmQiKTthIGluc3RhbmNlb2YgSW1hZ2VEYXRhP2MucHV0SW1hZ2VEYXRhKGEsMCwwKTpjLmRyYXdJbWFnZShhLDAsMCxhLndpZHRoLGEuaGVpZ2h0KTthPWdmfXJldHVybiAyMDQ4PGEud2lkdGh8fDIwNDg8YS5oZWlnaHQ/YS50b0RhdGFVUkwoImltYWdlL2pwZWciLC42KTphLnRvRGF0YVVSTCgiaW1hZ2UvcG5nIil9fSxobD0wO2wuREVGQVVMVF9JTUFHRT12b2lkIDA7bC5ERUZBVUxUX01BUFBJTkc9MzAwO2wucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOmwsaXNUZXh0dXJlOiEwLHVwZGF0ZU1hdHJpeDpmdW5jdGlvbigpe3RoaXMubWF0cml4LnNldFV2VHJhbnNmb3JtKHRoaXMub2Zmc2V0LngsCnRoaXMub2Zmc2V0LnksdGhpcy5yZXBlYXQueCx0aGlzLnJlcGVhdC55LHRoaXMucm90YXRpb24sdGhpcy5jZW50ZXIueCx0aGlzLmNlbnRlci55KX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9LGNvcHk6ZnVuY3Rpb24oYSl7dGhpcy5uYW1lPWEubmFtZTt0aGlzLmltYWdlPWEuaW1hZ2U7dGhpcy5taXBtYXBzPWEubWlwbWFwcy5zbGljZSgwKTt0aGlzLm1hcHBpbmc9YS5tYXBwaW5nO3RoaXMud3JhcFM9YS53cmFwUzt0aGlzLndyYXBUPWEud3JhcFQ7dGhpcy5tYWdGaWx0ZXI9YS5tYWdGaWx0ZXI7dGhpcy5taW5GaWx0ZXI9YS5taW5GaWx0ZXI7dGhpcy5hbmlzb3Ryb3B5PWEuYW5pc290cm9weTt0aGlzLmZvcm1hdD1hLmZvcm1hdDt0aGlzLnR5cGU9YS50eXBlO3RoaXMub2Zmc2V0LmNvcHkoYS5vZmZzZXQpO3RoaXMucmVwZWF0LmNvcHkoYS5yZXBlYXQpO3RoaXMuY2VudGVyLmNvcHkoYS5jZW50ZXIpO3RoaXMucm90YXRpb249CmEucm90YXRpb247dGhpcy5tYXRyaXhBdXRvVXBkYXRlPWEubWF0cml4QXV0b1VwZGF0ZTt0aGlzLm1hdHJpeC5jb3B5KGEubWF0cml4KTt0aGlzLmdlbmVyYXRlTWlwbWFwcz1hLmdlbmVyYXRlTWlwbWFwczt0aGlzLnByZW11bHRpcGx5QWxwaGE9YS5wcmVtdWx0aXBseUFscGhhO3RoaXMuZmxpcFk9YS5mbGlwWTt0aGlzLnVucGFja0FsaWdubWVudD1hLnVucGFja0FsaWdubWVudDt0aGlzLmVuY29kaW5nPWEuZW5jb2Rpbmc7cmV0dXJuIHRoaXN9LHRvSlNPTjpmdW5jdGlvbihhKXt2YXIgYz12b2lkIDA9PT1hfHwic3RyaW5nIj09PXR5cGVvZiBhO2lmKCFjJiZ2b2lkIDAhPT1hLnRleHR1cmVzW3RoaXMudXVpZF0pcmV0dXJuIGEudGV4dHVyZXNbdGhpcy51dWlkXTt2YXIgZT17bWV0YWRhdGE6e3ZlcnNpb246NC41LHR5cGU6IlRleHR1cmUiLGdlbmVyYXRvcjoiVGV4dHVyZS50b0pTT04ifSx1dWlkOnRoaXMudXVpZCxuYW1lOnRoaXMubmFtZSxtYXBwaW5nOnRoaXMubWFwcGluZywKcmVwZWF0Olt0aGlzLnJlcGVhdC54LHRoaXMucmVwZWF0LnldLG9mZnNldDpbdGhpcy5vZmZzZXQueCx0aGlzLm9mZnNldC55XSxjZW50ZXI6W3RoaXMuY2VudGVyLngsdGhpcy5jZW50ZXIueV0scm90YXRpb246dGhpcy5yb3RhdGlvbix3cmFwOlt0aGlzLndyYXBTLHRoaXMud3JhcFRdLGZvcm1hdDp0aGlzLmZvcm1hdCx0eXBlOnRoaXMudHlwZSxlbmNvZGluZzp0aGlzLmVuY29kaW5nLG1pbkZpbHRlcjp0aGlzLm1pbkZpbHRlcixtYWdGaWx0ZXI6dGhpcy5tYWdGaWx0ZXIsYW5pc290cm9weTp0aGlzLmFuaXNvdHJvcHksZmxpcFk6dGhpcy5mbGlwWSxwcmVtdWx0aXBseUFscGhhOnRoaXMucHJlbXVsdGlwbHlBbHBoYSx1bnBhY2tBbGlnbm1lbnQ6dGhpcy51bnBhY2tBbGlnbm1lbnR9O2lmKHZvaWQgMCE9PXRoaXMuaW1hZ2Upe3ZhciBnPXRoaXMuaW1hZ2U7dm9pZCAwPT09Zy51dWlkJiYoZy51dWlkPWhiLmdlbmVyYXRlVVVJRCgpKTtpZighYyYmdm9pZCAwPT09YS5pbWFnZXNbZy51dWlkXSl7aWYoQXJyYXkuaXNBcnJheShnKSl7dmFyIHQ9CltdO2Zvcih2YXIgdj0wLHo9Zy5sZW5ndGg7djx6O3YrKyl0LnB1c2goRmQuZ2V0RGF0YVVSTChnW3ZdKSl9ZWxzZSB0PUZkLmdldERhdGFVUkwoZyk7YS5pbWFnZXNbZy51dWlkXT17dXVpZDpnLnV1aWQsdXJsOnR9fWUuaW1hZ2U9Zy51dWlkfWN8fChhLnRleHR1cmVzW3RoaXMudXVpZF09ZSk7cmV0dXJuIGV9LGRpc3Bvc2U6ZnVuY3Rpb24oKXt0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImRpc3Bvc2UifSl9LHRyYW5zZm9ybVV2OmZ1bmN0aW9uKGEpe2lmKDMwMCE9PXRoaXMubWFwcGluZylyZXR1cm4gYTthLmFwcGx5TWF0cml4Myh0aGlzLm1hdHJpeCk7aWYoMD5hLnh8fDE8YS54KXN3aXRjaCh0aGlzLndyYXBTKXtjYXNlIDFFMzphLngtPU1hdGguZmxvb3IoYS54KTticmVhaztjYXNlIDEwMDE6YS54PTA+YS54PzA6MTticmVhaztjYXNlIDEwMDI6YS54PTE9PT1NYXRoLmFicyhNYXRoLmZsb29yKGEueCklMik/TWF0aC5jZWlsKGEueCktYS54OmEueC1NYXRoLmZsb29yKGEueCl9aWYoMD4KYS55fHwxPGEueSlzd2l0Y2godGhpcy53cmFwVCl7Y2FzZSAxRTM6YS55LT1NYXRoLmZsb29yKGEueSk7YnJlYWs7Y2FzZSAxMDAxOmEueT0wPmEueT8wOjE7YnJlYWs7Y2FzZSAxMDAyOmEueT0xPT09TWF0aC5hYnMoTWF0aC5mbG9vcihhLnkpJTIpP01hdGguY2VpbChhLnkpLWEueTphLnktTWF0aC5mbG9vcihhLnkpfXRoaXMuZmxpcFkmJihhLnk9MS1hLnkpO3JldHVybiBhfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShsLnByb3RvdHlwZSwibmVlZHNVcGRhdGUiLHtzZXQ6ZnVuY3Rpb24oYSl7ITA9PT1hJiZ0aGlzLnZlcnNpb24rK319KTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhwLnByb3RvdHlwZSx7d2lkdGg6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnp9LHNldDpmdW5jdGlvbihhKXt0aGlzLno9YX19LGhlaWdodDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud30sc2V0OmZ1bmN0aW9uKGEpe3RoaXMudz1hfX19KTtPYmplY3QuYXNzaWduKHAucHJvdG90eXBlLAp7aXNWZWN0b3I0OiEwLHNldDpmdW5jdGlvbihhLGMsZSxnKXt0aGlzLng9YTt0aGlzLnk9Yzt0aGlzLno9ZTt0aGlzLnc9ZztyZXR1cm4gdGhpc30sc2V0U2NhbGFyOmZ1bmN0aW9uKGEpe3RoaXMudz10aGlzLno9dGhpcy55PXRoaXMueD1hO3JldHVybiB0aGlzfSxzZXRYOmZ1bmN0aW9uKGEpe3RoaXMueD1hO3JldHVybiB0aGlzfSxzZXRZOmZ1bmN0aW9uKGEpe3RoaXMueT1hO3JldHVybiB0aGlzfSxzZXRaOmZ1bmN0aW9uKGEpe3RoaXMuej1hO3JldHVybiB0aGlzfSxzZXRXOmZ1bmN0aW9uKGEpe3RoaXMudz1hO3JldHVybiB0aGlzfSxzZXRDb21wb25lbnQ6ZnVuY3Rpb24oYSxjKXtzd2l0Y2goYSl7Y2FzZSAwOnRoaXMueD1jO2JyZWFrO2Nhc2UgMTp0aGlzLnk9YzticmVhaztjYXNlIDI6dGhpcy56PWM7YnJlYWs7Y2FzZSAzOnRoaXMudz1jO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoImluZGV4IGlzIG91dCBvZiByYW5nZTogIithKTt9cmV0dXJuIHRoaXN9LGdldENvbXBvbmVudDpmdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAwOnJldHVybiB0aGlzLng7CmNhc2UgMTpyZXR1cm4gdGhpcy55O2Nhc2UgMjpyZXR1cm4gdGhpcy56O2Nhc2UgMzpyZXR1cm4gdGhpcy53O2RlZmF1bHQ6dGhyb3cgRXJyb3IoImluZGV4IGlzIG91dCBvZiByYW5nZTogIithKTt9fSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLngsdGhpcy55LHRoaXMueix0aGlzLncpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMueD1hLng7dGhpcy55PWEueTt0aGlzLno9YS56O3RoaXMudz12b2lkIDAhPT1hLnc/YS53OjE7cmV0dXJuIHRoaXN9LGFkZDpmdW5jdGlvbihhLGMpe2lmKHZvaWQgMCE9PWMpcmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yNDogLmFkZCgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLmFkZFZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMuYWRkVmVjdG9ycyhhLGMpO3RoaXMueCs9YS54O3RoaXMueSs9YS55O3RoaXMueis9YS56O3RoaXMudys9YS53O3JldHVybiB0aGlzfSwKYWRkU2NhbGFyOmZ1bmN0aW9uKGEpe3RoaXMueCs9YTt0aGlzLnkrPWE7dGhpcy56Kz1hO3RoaXMudys9YTtyZXR1cm4gdGhpc30sYWRkVmVjdG9yczpmdW5jdGlvbihhLGMpe3RoaXMueD1hLngrYy54O3RoaXMueT1hLnkrYy55O3RoaXMuej1hLnorYy56O3RoaXMudz1hLncrYy53O3JldHVybiB0aGlzfSxhZGRTY2FsZWRWZWN0b3I6ZnVuY3Rpb24oYSxjKXt0aGlzLngrPWEueCpjO3RoaXMueSs9YS55KmM7dGhpcy56Kz1hLnoqYzt0aGlzLncrPWEudypjO3JldHVybiB0aGlzfSxzdWI6ZnVuY3Rpb24oYSxjKXtpZih2b2lkIDAhPT1jKXJldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjQ6IC5zdWIoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5zdWJWZWN0b3JzKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLnN1YlZlY3RvcnMoYSxjKTt0aGlzLngtPWEueDt0aGlzLnktPWEueTt0aGlzLnotPWEuejt0aGlzLnctPWEudztyZXR1cm4gdGhpc30sc3ViU2NhbGFyOmZ1bmN0aW9uKGEpe3RoaXMueC09CmE7dGhpcy55LT1hO3RoaXMuei09YTt0aGlzLnctPWE7cmV0dXJuIHRoaXN9LHN1YlZlY3RvcnM6ZnVuY3Rpb24oYSxjKXt0aGlzLng9YS54LWMueDt0aGlzLnk9YS55LWMueTt0aGlzLno9YS56LWMuejt0aGlzLnc9YS53LWMudztyZXR1cm4gdGhpc30sbXVsdGlwbHlTY2FsYXI6ZnVuY3Rpb24oYSl7dGhpcy54Kj1hO3RoaXMueSo9YTt0aGlzLnoqPWE7dGhpcy53Kj1hO3JldHVybiB0aGlzfSxhcHBseU1hdHJpeDQ6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy54LGU9dGhpcy55LGc9dGhpcy56LHQ9dGhpcy53O2E9YS5lbGVtZW50czt0aGlzLng9YVswXSpjK2FbNF0qZSthWzhdKmcrYVsxMl0qdDt0aGlzLnk9YVsxXSpjK2FbNV0qZSthWzldKmcrYVsxM10qdDt0aGlzLno9YVsyXSpjK2FbNl0qZSthWzEwXSpnK2FbMTRdKnQ7dGhpcy53PWFbM10qYythWzddKmUrYVsxMV0qZythWzE1XSp0O3JldHVybiB0aGlzfSxkaXZpZGVTY2FsYXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubXVsdGlwbHlTY2FsYXIoMS8KYSl9LHNldEF4aXNBbmdsZUZyb21RdWF0ZXJuaW9uOmZ1bmN0aW9uKGEpe3RoaXMudz0yKk1hdGguYWNvcyhhLncpO3ZhciBjPU1hdGguc3FydCgxLWEudyphLncpOzFFLTQ+Yz8odGhpcy54PTEsdGhpcy56PXRoaXMueT0wKToodGhpcy54PWEueC9jLHRoaXMueT1hLnkvYyx0aGlzLno9YS56L2MpO3JldHVybiB0aGlzfSxzZXRBeGlzQW5nbGVGcm9tUm90YXRpb25NYXRyaXg6ZnVuY3Rpb24oYSl7YT1hLmVsZW1lbnRzO3ZhciBjPWFbMF07dmFyIGU9YVs0XTt2YXIgZz1hWzhdLHQ9YVsxXSx2PWFbNV0sej1hWzldO3ZhciBFPWFbMl07dmFyIEY9YVs2XTt2YXIgST1hWzEwXTtpZiguMDE+TWF0aC5hYnMoZS10KSYmLjAxPk1hdGguYWJzKGctRSkmJi4wMT5NYXRoLmFicyh6LUYpKXtpZiguMT5NYXRoLmFicyhlK3QpJiYuMT5NYXRoLmFicyhnK0UpJiYuMT5NYXRoLmFicyh6K0YpJiYuMT5NYXRoLmFicyhjK3YrSS0zKSlyZXR1cm4gdGhpcy5zZXQoMSwwLDAsMCksdGhpczthPU1hdGguUEk7CmM9KGMrMSkvMjt2PSh2KzEpLzI7ST0oSSsxKS8yO2U9KGUrdCkvNDtnPShnK0UpLzQ7ej0oeitGKS80O2M+diYmYz5JPy4wMT5jPyhGPTAsZT1FPS43MDcxMDY3ODEpOihGPU1hdGguc3FydChjKSxFPWUvRixlPWcvRik6dj5JPy4wMT52PyhGPS43MDcxMDY3ODEsRT0wLGU9LjcwNzEwNjc4MSk6KEU9TWF0aC5zcXJ0KHYpLEY9ZS9FLGU9ei9FKTouMDE+ST8oRT1GPS43MDcxMDY3ODEsZT0wKTooZT1NYXRoLnNxcnQoSSksRj1nL2UsRT16L2UpO3RoaXMuc2V0KEYsRSxlLGEpO3JldHVybiB0aGlzfWE9TWF0aC5zcXJ0KChGLXopKihGLXopKyhnLUUpKihnLUUpKyh0LWUpKih0LWUpKTsuMDAxPk1hdGguYWJzKGEpJiYoYT0xKTt0aGlzLng9KEYteikvYTt0aGlzLnk9KGctRSkvYTt0aGlzLno9KHQtZSkvYTt0aGlzLnc9TWF0aC5hY29zKChjK3YrSS0xKS8yKTtyZXR1cm4gdGhpc30sbWluOmZ1bmN0aW9uKGEpe3RoaXMueD1NYXRoLm1pbih0aGlzLngsYS54KTt0aGlzLnk9TWF0aC5taW4odGhpcy55LAphLnkpO3RoaXMuej1NYXRoLm1pbih0aGlzLnosYS56KTt0aGlzLnc9TWF0aC5taW4odGhpcy53LGEudyk7cmV0dXJuIHRoaXN9LG1heDpmdW5jdGlvbihhKXt0aGlzLng9TWF0aC5tYXgodGhpcy54LGEueCk7dGhpcy55PU1hdGgubWF4KHRoaXMueSxhLnkpO3RoaXMuej1NYXRoLm1heCh0aGlzLnosYS56KTt0aGlzLnc9TWF0aC5tYXgodGhpcy53LGEudyk7cmV0dXJuIHRoaXN9LGNsYW1wOmZ1bmN0aW9uKGEsYyl7dGhpcy54PU1hdGgubWF4KGEueCxNYXRoLm1pbihjLngsdGhpcy54KSk7dGhpcy55PU1hdGgubWF4KGEueSxNYXRoLm1pbihjLnksdGhpcy55KSk7dGhpcy56PU1hdGgubWF4KGEueixNYXRoLm1pbihjLnosdGhpcy56KSk7dGhpcy53PU1hdGgubWF4KGEudyxNYXRoLm1pbihjLncsdGhpcy53KSk7cmV0dXJuIHRoaXN9LGNsYW1wU2NhbGFyOmZ1bmN0aW9uKGEsYyl7dGhpcy54PU1hdGgubWF4KGEsTWF0aC5taW4oYyx0aGlzLngpKTt0aGlzLnk9TWF0aC5tYXgoYSxNYXRoLm1pbihjLAp0aGlzLnkpKTt0aGlzLno9TWF0aC5tYXgoYSxNYXRoLm1pbihjLHRoaXMueikpO3RoaXMudz1NYXRoLm1heChhLE1hdGgubWluKGMsdGhpcy53KSk7cmV0dXJuIHRoaXN9LGNsYW1wTGVuZ3RoOmZ1bmN0aW9uKGEsYyl7dmFyIGU9dGhpcy5sZW5ndGgoKTtyZXR1cm4gdGhpcy5kaXZpZGVTY2FsYXIoZXx8MSkubXVsdGlwbHlTY2FsYXIoTWF0aC5tYXgoYSxNYXRoLm1pbihjLGUpKSl9LGZsb29yOmZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3RoaXMuej1NYXRoLmZsb29yKHRoaXMueik7dGhpcy53PU1hdGguZmxvb3IodGhpcy53KTtyZXR1cm4gdGhpc30sY2VpbDpmdW5jdGlvbigpe3RoaXMueD1NYXRoLmNlaWwodGhpcy54KTt0aGlzLnk9TWF0aC5jZWlsKHRoaXMueSk7dGhpcy56PU1hdGguY2VpbCh0aGlzLnopO3RoaXMudz1NYXRoLmNlaWwodGhpcy53KTtyZXR1cm4gdGhpc30scm91bmQ6ZnVuY3Rpb24oKXt0aGlzLng9Ck1hdGgucm91bmQodGhpcy54KTt0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpO3RoaXMuej1NYXRoLnJvdW5kKHRoaXMueik7dGhpcy53PU1hdGgucm91bmQodGhpcy53KTtyZXR1cm4gdGhpc30scm91bmRUb1plcm86ZnVuY3Rpb24oKXt0aGlzLng9MD50aGlzLng/TWF0aC5jZWlsKHRoaXMueCk6TWF0aC5mbG9vcih0aGlzLngpO3RoaXMueT0wPnRoaXMueT9NYXRoLmNlaWwodGhpcy55KTpNYXRoLmZsb29yKHRoaXMueSk7dGhpcy56PTA+dGhpcy56P01hdGguY2VpbCh0aGlzLnopOk1hdGguZmxvb3IodGhpcy56KTt0aGlzLnc9MD50aGlzLnc/TWF0aC5jZWlsKHRoaXMudyk6TWF0aC5mbG9vcih0aGlzLncpO3JldHVybiB0aGlzfSxuZWdhdGU6ZnVuY3Rpb24oKXt0aGlzLng9LXRoaXMueDt0aGlzLnk9LXRoaXMueTt0aGlzLno9LXRoaXMuejt0aGlzLnc9LXRoaXMudztyZXR1cm4gdGhpc30sZG90OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLngqYS54K3RoaXMueSphLnkrdGhpcy56KgphLnordGhpcy53KmEud30sbGVuZ3RoU3E6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy54KnRoaXMueCt0aGlzLnkqdGhpcy55K3RoaXMueip0aGlzLnordGhpcy53KnRoaXMud30sbGVuZ3RoOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLngqdGhpcy54K3RoaXMueSp0aGlzLnkrdGhpcy56KnRoaXMueit0aGlzLncqdGhpcy53KX0sbWFuaGF0dGFuTGVuZ3RoOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguYWJzKHRoaXMueCkrTWF0aC5hYnModGhpcy55KStNYXRoLmFicyh0aGlzLnopK01hdGguYWJzKHRoaXMudyl9LG5vcm1hbGl6ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRpdmlkZVNjYWxhcih0aGlzLmxlbmd0aCgpfHwxKX0sc2V0TGVuZ3RoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vcm1hbGl6ZSgpLm11bHRpcGx5U2NhbGFyKGEpfSxsZXJwOmZ1bmN0aW9uKGEsYyl7dGhpcy54Kz0oYS54LXRoaXMueCkqYzt0aGlzLnkrPShhLnktdGhpcy55KSpjO3RoaXMueis9KGEuei0KdGhpcy56KSpjO3RoaXMudys9KGEudy10aGlzLncpKmM7cmV0dXJuIHRoaXN9LGxlcnBWZWN0b3JzOmZ1bmN0aW9uKGEsYyxlKXtyZXR1cm4gdGhpcy5zdWJWZWN0b3JzKGMsYSkubXVsdGlwbHlTY2FsYXIoZSkuYWRkKGEpfSxlcXVhbHM6ZnVuY3Rpb24oYSl7cmV0dXJuIGEueD09PXRoaXMueCYmYS55PT09dGhpcy55JiZhLno9PT10aGlzLnomJmEudz09PXRoaXMud30sZnJvbUFycmF5OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGM9MCk7dGhpcy54PWFbY107dGhpcy55PWFbYysxXTt0aGlzLno9YVtjKzJdO3RoaXMudz1hW2MrM107cmV0dXJuIHRoaXN9LHRvQXJyYXk6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1hJiYoYT1bXSk7dm9pZCAwPT09YyYmKGM9MCk7YVtjXT10aGlzLng7YVtjKzFdPXRoaXMueTthW2MrMl09dGhpcy56O2FbYyszXT10aGlzLnc7cmV0dXJuIGF9LGZyb21CdWZmZXJBdHRyaWJ1dGU6ZnVuY3Rpb24oYSxjLGUpe3ZvaWQgMCE9PWUmJmNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yNDogb2Zmc2V0IGhhcyBiZWVuIHJlbW92ZWQgZnJvbSAuZnJvbUJ1ZmZlckF0dHJpYnV0ZSgpLiIpOwp0aGlzLng9YS5nZXRYKGMpO3RoaXMueT1hLmdldFkoYyk7dGhpcy56PWEuZ2V0WihjKTt0aGlzLnc9YS5nZXRXKGMpO3JldHVybiB0aGlzfX0pO20ucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOm0saXNXZWJHTFJlbmRlclRhcmdldDohMCxzZXRTaXplOmZ1bmN0aW9uKGEsYyl7aWYodGhpcy53aWR0aCE9PWF8fHRoaXMuaGVpZ2h0IT09Yyl0aGlzLndpZHRoPWEsdGhpcy5oZWlnaHQ9Yyx0aGlzLnRleHR1cmUuaW1hZ2Uud2lkdGg9YSx0aGlzLnRleHR1cmUuaW1hZ2UuaGVpZ2h0PWMsdGhpcy5kaXNwb3NlKCk7dGhpcy52aWV3cG9ydC5zZXQoMCwwLGEsYyk7dGhpcy5zY2lzc29yLnNldCgwLDAsYSxjKX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9LGNvcHk6ZnVuY3Rpb24oYSl7dGhpcy53aWR0aD1hLndpZHRoO3RoaXMuaGVpZ2h0PWEuaGVpZ2h0O3RoaXMudmlld3BvcnQuY29weShhLnZpZXdwb3J0KTsKdGhpcy50ZXh0dXJlPWEudGV4dHVyZS5jbG9uZSgpO3RoaXMuZGVwdGhCdWZmZXI9YS5kZXB0aEJ1ZmZlcjt0aGlzLnN0ZW5jaWxCdWZmZXI9YS5zdGVuY2lsQnVmZmVyO3RoaXMuZGVwdGhUZXh0dXJlPWEuZGVwdGhUZXh0dXJlO3JldHVybiB0aGlzfSxkaXNwb3NlOmZ1bmN0aW9uKCl7dGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJkaXNwb3NlIn0pfX0pO24ucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShtLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOm4saXNXZWJHTE11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0OiEwLGNvcHk6ZnVuY3Rpb24oYSl7bS5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5zYW1wbGVzPWEuc2FtcGxlcztyZXR1cm4gdGhpc319KTt2YXIgdGM9bmV3IGssUmI9bmV3IHEsU209bmV3IGsoMCwwLDApLFRtPW5ldyBrKDEsMSwxKSxHZD1uZXcgayxqaD1uZXcgayxpYz1uZXcgaztPYmplY3QuYXNzaWduKHEucHJvdG90eXBlLHtpc01hdHJpeDQ6ITAsCnNldDpmdW5jdGlvbihhLGMsZSxnLHQsdix6LEUsRixJLE0sUCxRLFUsVixlYSl7dmFyIGRhPXRoaXMuZWxlbWVudHM7ZGFbMF09YTtkYVs0XT1jO2RhWzhdPWU7ZGFbMTJdPWc7ZGFbMV09dDtkYVs1XT12O2RhWzldPXo7ZGFbMTNdPUU7ZGFbMl09RjtkYVs2XT1JO2RhWzEwXT1NO2RhWzE0XT1QO2RhWzNdPVE7ZGFbN109VTtkYVsxMV09VjtkYVsxNV09ZWE7cmV0dXJuIHRoaXN9LGlkZW50aXR5OmZ1bmN0aW9uKCl7dGhpcy5zZXQoMSwwLDAsMCwwLDEsMCwwLDAsMCwxLDAsMCwwLDAsMSk7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBxKS5mcm9tQXJyYXkodGhpcy5lbGVtZW50cyl9LGNvcHk6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5lbGVtZW50czthPWEuZWxlbWVudHM7Y1swXT1hWzBdO2NbMV09YVsxXTtjWzJdPWFbMl07Y1szXT1hWzNdO2NbNF09YVs0XTtjWzVdPWFbNV07Y1s2XT1hWzZdO2NbN109YVs3XTtjWzhdPWFbOF07Y1s5XT1hWzldO2NbMTBdPQphWzEwXTtjWzExXT1hWzExXTtjWzEyXT1hWzEyXTtjWzEzXT1hWzEzXTtjWzE0XT1hWzE0XTtjWzE1XT1hWzE1XTtyZXR1cm4gdGhpc30sY29weVBvc2l0aW9uOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMuZWxlbWVudHM7YT1hLmVsZW1lbnRzO2NbMTJdPWFbMTJdO2NbMTNdPWFbMTNdO2NbMTRdPWFbMTRdO3JldHVybiB0aGlzfSxleHRyYWN0QmFzaXM6ZnVuY3Rpb24oYSxjLGUpe2Euc2V0RnJvbU1hdHJpeENvbHVtbih0aGlzLDApO2Muc2V0RnJvbU1hdHJpeENvbHVtbih0aGlzLDEpO2Uuc2V0RnJvbU1hdHJpeENvbHVtbih0aGlzLDIpO3JldHVybiB0aGlzfSxtYWtlQmFzaXM6ZnVuY3Rpb24oYSxjLGUpe3RoaXMuc2V0KGEueCxjLngsZS54LDAsYS55LGMueSxlLnksMCxhLnosYy56LGUueiwwLDAsMCwwLDEpO3JldHVybiB0aGlzfSxleHRyYWN0Um90YXRpb246ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5lbGVtZW50cyxlPWEuZWxlbWVudHMsZz0xL3RjLnNldEZyb21NYXRyaXhDb2x1bW4oYSwKMCkubGVuZ3RoKCksdD0xL3RjLnNldEZyb21NYXRyaXhDb2x1bW4oYSwxKS5sZW5ndGgoKTthPTEvdGMuc2V0RnJvbU1hdHJpeENvbHVtbihhLDIpLmxlbmd0aCgpO2NbMF09ZVswXSpnO2NbMV09ZVsxXSpnO2NbMl09ZVsyXSpnO2NbM109MDtjWzRdPWVbNF0qdDtjWzVdPWVbNV0qdDtjWzZdPWVbNl0qdDtjWzddPTA7Y1s4XT1lWzhdKmE7Y1s5XT1lWzldKmE7Y1sxMF09ZVsxMF0qYTtjWzExXT0wO2NbMTJdPTA7Y1sxM109MDtjWzE0XT0wO2NbMTVdPTE7cmV0dXJuIHRoaXN9LG1ha2VSb3RhdGlvbkZyb21FdWxlcjpmdW5jdGlvbihhKXthJiZhLmlzRXVsZXJ8fGNvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5tYWtlUm90YXRpb25Gcm9tRXVsZXIoKSBub3cgZXhwZWN0cyBhIEV1bGVyIHJvdGF0aW9uIHJhdGhlciB0aGFuIGEgVmVjdG9yMyBhbmQgb3JkZXIuIik7dmFyIGM9dGhpcy5lbGVtZW50cyxlPWEueCxnPWEueSx0PWEueix2PU1hdGguY29zKGUpO2U9TWF0aC5zaW4oZSk7CnZhciB6PU1hdGguY29zKGcpO2c9TWF0aC5zaW4oZyk7dmFyIEU9TWF0aC5jb3ModCk7dD1NYXRoLnNpbih0KTtpZigiWFlaIj09PWEub3JkZXIpe2E9dipFO3ZhciBGPXYqdCxJPWUqRSxNPWUqdDtjWzBdPXoqRTtjWzRdPS16KnQ7Y1s4XT1nO2NbMV09RitJKmc7Y1s1XT1hLU0qZztjWzldPS1lKno7Y1syXT1NLWEqZztjWzZdPUkrRipnO2NbMTBdPXYqen1lbHNlIllYWiI9PT1hLm9yZGVyPyhhPXoqRSxGPXoqdCxJPWcqRSxNPWcqdCxjWzBdPWErTSplLGNbNF09SSplLUYsY1s4XT12KmcsY1sxXT12KnQsY1s1XT12KkUsY1s5XT0tZSxjWzJdPUYqZS1JLGNbNl09TSthKmUsY1sxMF09dip6KToiWlhZIj09PWEub3JkZXI/KGE9eipFLEY9eip0LEk9ZypFLE09Zyp0LGNbMF09YS1NKmUsY1s0XT0tdip0LGNbOF09SStGKmUsY1sxXT1GK0kqZSxjWzVdPXYqRSxjWzldPU0tYSplLGNbMl09LXYqZyxjWzZdPWUsY1sxMF09dip6KToiWllYIj09PWEub3JkZXI/KGE9dipFLEY9dip0LEk9ZSoKRSxNPWUqdCxjWzBdPXoqRSxjWzRdPUkqZy1GLGNbOF09YSpnK00sY1sxXT16KnQsY1s1XT1NKmcrYSxjWzldPUYqZy1JLGNbMl09LWcsY1s2XT1lKnosY1sxMF09dip6KToiWVpYIj09PWEub3JkZXI/KGE9dip6LEY9dipnLEk9ZSp6LE09ZSpnLGNbMF09eipFLGNbNF09TS1hKnQsY1s4XT1JKnQrRixjWzFdPXQsY1s1XT12KkUsY1s5XT0tZSpFLGNbMl09LWcqRSxjWzZdPUYqdCtJLGNbMTBdPWEtTSp0KToiWFpZIj09PWEub3JkZXImJihhPXYqeixGPXYqZyxJPWUqeixNPWUqZyxjWzBdPXoqRSxjWzRdPS10LGNbOF09ZypFLGNbMV09YSp0K00sY1s1XT12KkUsY1s5XT1GKnQtSSxjWzJdPUkqdC1GLGNbNl09ZSpFLGNbMTBdPU0qdCthKTtjWzNdPTA7Y1s3XT0wO2NbMTFdPTA7Y1sxMl09MDtjWzEzXT0wO2NbMTRdPTA7Y1sxNV09MTtyZXR1cm4gdGhpc30sbWFrZVJvdGF0aW9uRnJvbVF1YXRlcm5pb246ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuY29tcG9zZShTbSxhLFRtKX0sbG9va0F0OmZ1bmN0aW9uKGEsCmMsZSl7dmFyIGc9dGhpcy5lbGVtZW50cztpYy5zdWJWZWN0b3JzKGEsYyk7MD09PWljLmxlbmd0aFNxKCkmJihpYy56PTEpO2ljLm5vcm1hbGl6ZSgpO0dkLmNyb3NzVmVjdG9ycyhlLGljKTswPT09R2QubGVuZ3RoU3EoKSYmKDE9PT1NYXRoLmFicyhlLnopP2ljLngrPTFFLTQ6aWMueis9MUUtNCxpYy5ub3JtYWxpemUoKSxHZC5jcm9zc1ZlY3RvcnMoZSxpYykpO0dkLm5vcm1hbGl6ZSgpO2poLmNyb3NzVmVjdG9ycyhpYyxHZCk7Z1swXT1HZC54O2dbNF09amgueDtnWzhdPWljLng7Z1sxXT1HZC55O2dbNV09amgueTtnWzldPWljLnk7Z1syXT1HZC56O2dbNl09amguejtnWzEwXT1pYy56O3JldHVybiB0aGlzfSxtdWx0aXBseTpmdW5jdGlvbihhLGMpe3JldHVybiB2b2lkIDAhPT1jPyhjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDQ6IC5tdWx0aXBseSgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLm11bHRpcGx5TWF0cmljZXMoIGEsIGIgKSBpbnN0ZWFkLiIpLAp0aGlzLm11bHRpcGx5TWF0cmljZXMoYSxjKSk6dGhpcy5tdWx0aXBseU1hdHJpY2VzKHRoaXMsYSl9LHByZW11bHRpcGx5OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm11bHRpcGx5TWF0cmljZXMoYSx0aGlzKX0sbXVsdGlwbHlNYXRyaWNlczpmdW5jdGlvbihhLGMpe3ZhciBlPWEuZWxlbWVudHMsZz1jLmVsZW1lbnRzO2M9dGhpcy5lbGVtZW50czthPWVbMF07dmFyIHQ9ZVs0XSx2PWVbOF0sej1lWzEyXSxFPWVbMV0sRj1lWzVdLEk9ZVs5XSxNPWVbMTNdLFA9ZVsyXSxRPWVbNl0sVT1lWzEwXSxWPWVbMTRdLGVhPWVbM10sZGE9ZVs3XSxyYT1lWzExXTtlPWVbMTVdO3ZhciBwYT1nWzBdLHFhPWdbNF0sdWE9Z1s4XSxuYT1nWzEyXSx0YT1nWzFdLEJhPWdbNV0sVGE9Z1s5XSxVYT1nWzEzXSxDYT1nWzJdLEhhPWdbNl0sRGE9Z1sxMF0sTWE9Z1sxNF0sZGI9Z1szXSx0Yj1nWzddLEthPWdbMTFdO2c9Z1sxNV07Y1swXT1hKnBhK3QqdGErdipDYSt6KmRiO2NbNF09YSpxYSt0KkJhK3YqCkhhK3oqdGI7Y1s4XT1hKnVhK3QqVGErdipEYSt6KkthO2NbMTJdPWEqbmErdCpVYSt2Kk1hK3oqZztjWzFdPUUqcGErRip0YStJKkNhK00qZGI7Y1s1XT1FKnFhK0YqQmErSSpIYStNKnRiO2NbOV09RSp1YStGKlRhK0kqRGErTSpLYTtjWzEzXT1FKm5hK0YqVWErSSpNYStNKmc7Y1syXT1QKnBhK1EqdGErVSpDYStWKmRiO2NbNl09UCpxYStRKkJhK1UqSGErVip0YjtjWzEwXT1QKnVhK1EqVGErVSpEYStWKkthO2NbMTRdPVAqbmErUSpVYStVKk1hK1YqZztjWzNdPWVhKnBhK2RhKnRhK3JhKkNhK2UqZGI7Y1s3XT1lYSpxYStkYSpCYStyYSpIYStlKnRiO2NbMTFdPWVhKnVhK2RhKlRhK3JhKkRhK2UqS2E7Y1sxNV09ZWEqbmErZGEqVWErcmEqTWErZSpnO3JldHVybiB0aGlzfSxtdWx0aXBseVNjYWxhcjpmdW5jdGlvbihhKXt2YXIgYz10aGlzLmVsZW1lbnRzO2NbMF0qPWE7Y1s0XSo9YTtjWzhdKj1hO2NbMTJdKj1hO2NbMV0qPWE7Y1s1XSo9YTtjWzldKj1hO2NbMTNdKj1hO2NbMl0qPQphO2NbNl0qPWE7Y1sxMF0qPWE7Y1sxNF0qPWE7Y1szXSo9YTtjWzddKj1hO2NbMTFdKj1hO2NbMTVdKj1hO3JldHVybiB0aGlzfSxhcHBseVRvQnVmZmVyQXR0cmlidXRlOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz0wLGU9YS5jb3VudDtjPGU7YysrKXRjLng9YS5nZXRYKGMpLHRjLnk9YS5nZXRZKGMpLHRjLno9YS5nZXRaKGMpLHRjLmFwcGx5TWF0cml4NCh0aGlzKSxhLnNldFhZWihjLHRjLngsdGMueSx0Yy56KTtyZXR1cm4gYX0sZGV0ZXJtaW5hbnQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmVsZW1lbnRzLGM9YVswXSxlPWFbNF0sZz1hWzhdLHQ9YVsxMl0sdj1hWzFdLHo9YVs1XSxFPWFbOV0sRj1hWzEzXSxJPWFbMl0sTT1hWzZdLFA9YVsxMF0sUT1hWzE0XTtyZXR1cm4gYVszXSooK3QqRSpNLWcqRipNLXQqeipQK2UqRipQK2cqeipRLWUqRSpRKSthWzddKigrYypFKlEtYypGKlArdCp2KlAtZyp2KlErZypGKkktdCpFKkkpK2FbMTFdKigrYypGKk0tYyp6KlEtdCp2Kk0rZSp2KlErCnQqeipJLWUqRipJKSthWzE1XSooLWcqeipJLWMqRSpNK2MqeipQK2cqdipNLWUqdipQK2UqRSpJKX0sdHJhbnNwb3NlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5lbGVtZW50czt2YXIgYz1hWzFdO2FbMV09YVs0XTthWzRdPWM7Yz1hWzJdO2FbMl09YVs4XTthWzhdPWM7Yz1hWzZdO2FbNl09YVs5XTthWzldPWM7Yz1hWzNdO2FbM109YVsxMl07YVsxMl09YztjPWFbN107YVs3XT1hWzEzXTthWzEzXT1jO2M9YVsxMV07YVsxMV09YVsxNF07YVsxNF09YztyZXR1cm4gdGhpc30sc2V0UG9zaXRpb246ZnVuY3Rpb24oYSxjLGUpe3ZhciBnPXRoaXMuZWxlbWVudHM7YS5pc1ZlY3RvcjM/KGdbMTJdPWEueCxnWzEzXT1hLnksZ1sxNF09YS56KTooZ1sxMl09YSxnWzEzXT1jLGdbMTRdPWUpO3JldHVybiB0aGlzfSxnZXRJbnZlcnNlOmZ1bmN0aW9uKGEsYyl7dmFyIGU9dGhpcy5lbGVtZW50cyxnPWEuZWxlbWVudHM7YT1nWzBdO3ZhciB0PWdbMV0sdj1nWzJdLHo9Z1szXSxFPWdbNF0sRj1nWzVdLApJPWdbNl0sTT1nWzddLFA9Z1s4XSxRPWdbOV0sVT1nWzEwXSxWPWdbMTFdLGVhPWdbMTJdLGRhPWdbMTNdLHJhPWdbMTRdO2c9Z1sxNV07dmFyIHBhPVEqcmEqTS1kYSpVKk0rZGEqSSpWLUYqcmEqVi1RKkkqZytGKlUqZyxxYT1lYSpVKk0tUCpyYSpNLWVhKkkqVitFKnJhKlYrUCpJKmctRSpVKmcsdWE9UCpkYSpNLWVhKlEqTStlYSpGKlYtRSpkYSpWLVAqRipnK0UqUSpnLG5hPWVhKlEqSS1QKmRhKkktZWEqRipVK0UqZGEqVStQKkYqcmEtRSpRKnJhLHRhPWEqcGErdCpxYSt2KnVhK3oqbmE7aWYoMD09PXRhKXtpZighMD09PWMpdGhyb3cgRXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5nZXRJbnZlcnNlKCkgY2FuJ3QgaW52ZXJ0IG1hdHJpeCwgZGV0ZXJtaW5hbnQgaXMgMCIpO2NvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLmdldEludmVyc2UoKSBjYW4ndCBpbnZlcnQgbWF0cml4LCBkZXRlcm1pbmFudCBpcyAwIik7cmV0dXJuIHRoaXMuaWRlbnRpdHkoKX1jPTEvdGE7ZVswXT0KcGEqYztlWzFdPShkYSpVKnotUSpyYSp6LWRhKnYqVit0KnJhKlYrUSp2KmctdCpVKmcpKmM7ZVsyXT0oRipyYSp6LWRhKkkqeitkYSp2Kk0tdCpyYSpNLUYqdipnK3QqSSpnKSpjO2VbM109KFEqSSp6LUYqVSp6LVEqdipNK3QqVSpNK0YqdipWLXQqSSpWKSpjO2VbNF09cWEqYztlWzVdPShQKnJhKnotZWEqVSp6K2VhKnYqVi1hKnJhKlYtUCp2KmcrYSpVKmcpKmM7ZVs2XT0oZWEqSSp6LUUqcmEqei1lYSp2Kk0rYSpyYSpNK0UqdipnLWEqSSpnKSpjO2VbN109KEUqVSp6LVAqSSp6K1AqdipNLWEqVSpNLUUqdipWK2EqSSpWKSpjO2VbOF09dWEqYztlWzldPShlYSpRKnotUCpkYSp6LWVhKnQqVithKmRhKlYrUCp0KmctYSpRKmcpKmM7ZVsxMF09KEUqZGEqei1lYSpGKnorZWEqdCpNLWEqZGEqTS1FKnQqZythKkYqZykqYztlWzExXT0oUCpGKnotRSpRKnotUCp0Kk0rYSpRKk0rRSp0KlYtYSpGKlYpKmM7ZVsxMl09bmEqYztlWzEzXT0oUCpkYSp2LWVhKlEqditlYSp0KlUtYSpkYSpVLQpQKnQqcmErYSpRKnJhKSpjO2VbMTRdPShlYSpGKnYtRSpkYSp2LWVhKnQqSSthKmRhKkkrRSp0KnJhLWEqRipyYSkqYztlWzE1XT0oRSpRKnYtUCpGKnYrUCp0KkktYSpRKkktRSp0KlUrYSpGKlUpKmM7cmV0dXJuIHRoaXN9LHNjYWxlOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMuZWxlbWVudHMsZT1hLngsZz1hLnk7YT1hLno7Y1swXSo9ZTtjWzRdKj1nO2NbOF0qPWE7Y1sxXSo9ZTtjWzVdKj1nO2NbOV0qPWE7Y1syXSo9ZTtjWzZdKj1nO2NbMTBdKj1hO2NbM10qPWU7Y1s3XSo9ZztjWzExXSo9YTtyZXR1cm4gdGhpc30sZ2V0TWF4U2NhbGVPbkF4aXM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmVsZW1lbnRzO3JldHVybiBNYXRoLnNxcnQoTWF0aC5tYXgoYVswXSphWzBdK2FbMV0qYVsxXSthWzJdKmFbMl0sYVs0XSphWzRdK2FbNV0qYVs1XSthWzZdKmFbNl0sYVs4XSphWzhdK2FbOV0qYVs5XSthWzEwXSphWzEwXSkpfSxtYWtlVHJhbnNsYXRpb246ZnVuY3Rpb24oYSxjLGUpe3RoaXMuc2V0KDEsCjAsMCxhLDAsMSwwLGMsMCwwLDEsZSwwLDAsMCwxKTtyZXR1cm4gdGhpc30sbWFrZVJvdGF0aW9uWDpmdW5jdGlvbihhKXt2YXIgYz1NYXRoLmNvcyhhKTthPU1hdGguc2luKGEpO3RoaXMuc2V0KDEsMCwwLDAsMCxjLC1hLDAsMCxhLGMsMCwwLDAsMCwxKTtyZXR1cm4gdGhpc30sbWFrZVJvdGF0aW9uWTpmdW5jdGlvbihhKXt2YXIgYz1NYXRoLmNvcyhhKTthPU1hdGguc2luKGEpO3RoaXMuc2V0KGMsMCxhLDAsMCwxLDAsMCwtYSwwLGMsMCwwLDAsMCwxKTtyZXR1cm4gdGhpc30sbWFrZVJvdGF0aW9uWjpmdW5jdGlvbihhKXt2YXIgYz1NYXRoLmNvcyhhKTthPU1hdGguc2luKGEpO3RoaXMuc2V0KGMsLWEsMCwwLGEsYywwLDAsMCwwLDEsMCwwLDAsMCwxKTtyZXR1cm4gdGhpc30sbWFrZVJvdGF0aW9uQXhpczpmdW5jdGlvbihhLGMpe3ZhciBlPU1hdGguY29zKGMpO2M9TWF0aC5zaW4oYyk7dmFyIGc9MS1lLHQ9YS54LHY9YS55O2E9YS56O3ZhciB6PWcqdCxFPWcqdjt0aGlzLnNldCh6Kgp0K2Useip2LWMqYSx6KmErYyp2LDAseip2K2MqYSxFKnYrZSxFKmEtYyp0LDAseiphLWMqdixFKmErYyp0LGcqYSphK2UsMCwwLDAsMCwxKTtyZXR1cm4gdGhpc30sbWFrZVNjYWxlOmZ1bmN0aW9uKGEsYyxlKXt0aGlzLnNldChhLDAsMCwwLDAsYywwLDAsMCwwLGUsMCwwLDAsMCwxKTtyZXR1cm4gdGhpc30sbWFrZVNoZWFyOmZ1bmN0aW9uKGEsYyxlKXt0aGlzLnNldCgxLGMsZSwwLGEsMSxlLDAsYSxjLDEsMCwwLDAsMCwxKTtyZXR1cm4gdGhpc30sY29tcG9zZTpmdW5jdGlvbihhLGMsZSl7dmFyIGc9dGhpcy5lbGVtZW50cyx0PWMuX3gsdj1jLl95LHo9Yy5feixFPWMuX3csRj10K3QsST12K3YsTT16K3o7Yz10KkY7dmFyIFA9dCpJO3QqPU07dmFyIFE9dipJO3YqPU07eio9TTtGKj1FO0kqPUU7RSo9TTtNPWUueDt2YXIgVT1lLnk7ZT1lLno7Z1swXT0oMS0oUSt6KSkqTTtnWzFdPShQK0UpKk07Z1syXT0odC1JKSpNO2dbM109MDtnWzRdPShQLUUpKlU7Z1s1XT0oMS0oYyt6KSkqClU7Z1s2XT0oditGKSpVO2dbN109MDtnWzhdPSh0K0kpKmU7Z1s5XT0odi1GKSplO2dbMTBdPSgxLShjK1EpKSplO2dbMTFdPTA7Z1sxMl09YS54O2dbMTNdPWEueTtnWzE0XT1hLno7Z1sxNV09MTtyZXR1cm4gdGhpc30sZGVjb21wb3NlOmZ1bmN0aW9uKGEsYyxlKXt2YXIgZz10aGlzLmVsZW1lbnRzLHQ9dGMuc2V0KGdbMF0sZ1sxXSxnWzJdKS5sZW5ndGgoKSx2PXRjLnNldChnWzRdLGdbNV0sZ1s2XSkubGVuZ3RoKCksej10Yy5zZXQoZ1s4XSxnWzldLGdbMTBdKS5sZW5ndGgoKTswPnRoaXMuZGV0ZXJtaW5hbnQoKSYmKHQ9LXQpO2EueD1nWzEyXTthLnk9Z1sxM107YS56PWdbMTRdO1JiLmNvcHkodGhpcyk7YT0xL3Q7Zz0xL3Y7dmFyIEU9MS96O1JiLmVsZW1lbnRzWzBdKj1hO1JiLmVsZW1lbnRzWzFdKj1hO1JiLmVsZW1lbnRzWzJdKj1hO1JiLmVsZW1lbnRzWzRdKj1nO1JiLmVsZW1lbnRzWzVdKj1nO1JiLmVsZW1lbnRzWzZdKj1nO1JiLmVsZW1lbnRzWzhdKj1FO1JiLmVsZW1lbnRzWzldKj0KRTtSYi5lbGVtZW50c1sxMF0qPUU7Yy5zZXRGcm9tUm90YXRpb25NYXRyaXgoUmIpO2UueD10O2UueT12O2Uuej16O3JldHVybiB0aGlzfSxtYWtlUGVyc3BlY3RpdmU6ZnVuY3Rpb24oYSxjLGUsZyx0LHYpe3ZvaWQgMD09PXYmJmNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLm1ha2VQZXJzcGVjdGl2ZSgpIGhhcyBiZWVuIHJlZGVmaW5lZCBhbmQgaGFzIGEgbmV3IHNpZ25hdHVyZS4gUGxlYXNlIGNoZWNrIHRoZSBkb2NzLiIpO3ZhciB6PXRoaXMuZWxlbWVudHM7elswXT0yKnQvKGMtYSk7els0XT0wO3pbOF09KGMrYSkvKGMtYSk7elsxMl09MDt6WzFdPTA7els1XT0yKnQvKGUtZyk7els5XT0oZStnKS8oZS1nKTt6WzEzXT0wO3pbMl09MDt6WzZdPTA7elsxMF09LSh2K3QpLyh2LXQpO3pbMTRdPS0yKnYqdC8odi10KTt6WzNdPTA7els3XT0wO3pbMTFdPS0xO3pbMTVdPTA7cmV0dXJuIHRoaXN9LG1ha2VPcnRob2dyYXBoaWM6ZnVuY3Rpb24oYSxjLGUsZyx0LHYpe3ZhciB6PQp0aGlzLmVsZW1lbnRzLEU9MS8oYy1hKSxGPTEvKGUtZyksST0xLyh2LXQpO3pbMF09MipFO3pbNF09MDt6WzhdPTA7elsxMl09LSgoYythKSpFKTt6WzFdPTA7els1XT0yKkY7els5XT0wO3pbMTNdPS0oKGUrZykqRik7elsyXT0wO3pbNl09MDt6WzEwXT0tMipJO3pbMTRdPS0oKHYrdCkqSSk7elszXT0wO3pbN109MDt6WzExXT0wO3pbMTVdPTE7cmV0dXJuIHRoaXN9LGVxdWFsczpmdW5jdGlvbihhKXt2YXIgYz10aGlzLmVsZW1lbnRzO2E9YS5lbGVtZW50cztmb3IodmFyIGU9MDsxNj5lO2UrKylpZihjW2VdIT09YVtlXSlyZXR1cm4hMTtyZXR1cm4hMH0sZnJvbUFycmF5OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGM9MCk7Zm9yKHZhciBlPTA7MTY+ZTtlKyspdGhpcy5lbGVtZW50c1tlXT1hW2UrY107cmV0dXJuIHRoaXN9LHRvQXJyYXk6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1hJiYoYT1bXSk7dm9pZCAwPT09YyYmKGM9MCk7dmFyIGU9dGhpcy5lbGVtZW50czthW2NdPWVbMF07CmFbYysxXT1lWzFdO2FbYysyXT1lWzJdO2FbYyszXT1lWzNdO2FbYys0XT1lWzRdO2FbYys1XT1lWzVdO2FbYys2XT1lWzZdO2FbYys3XT1lWzddO2FbYys4XT1lWzhdO2FbYys5XT1lWzldO2FbYysxMF09ZVsxMF07YVtjKzExXT1lWzExXTthW2MrMTJdPWVbMTJdO2FbYysxM109ZVsxM107YVtjKzE0XT1lWzE0XTthW2MrMTVdPWVbMTVdO3JldHVybiBhfX0pO3ZhciBsaz1uZXcgcSxtaz1uZXcgaDt1LlJvdGF0aW9uT3JkZXJzPSJYWVogWVpYIFpYWSBYWlkgWVhaIFpZWCIuc3BsaXQoIiAiKTt1LkRlZmF1bHRPcmRlcj0iWFlaIjtPYmplY3QuZGVmaW5lUHJvcGVydGllcyh1LnByb3RvdHlwZSx7eDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3h9LHNldDpmdW5jdGlvbihhKXt0aGlzLl94PWE7dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpfX0seTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3l9LHNldDpmdW5jdGlvbihhKXt0aGlzLl95PWE7dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpfX0sCno6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl96fSxzZXQ6ZnVuY3Rpb24oYSl7dGhpcy5fej1hO3RoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKX19LG9yZGVyOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fb3JkZXJ9LHNldDpmdW5jdGlvbihhKXt0aGlzLl9vcmRlcj1hO3RoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKX19fSk7T2JqZWN0LmFzc2lnbih1LnByb3RvdHlwZSx7aXNFdWxlcjohMCxzZXQ6ZnVuY3Rpb24oYSxjLGUsZyl7dGhpcy5feD1hO3RoaXMuX3k9Yzt0aGlzLl96PWU7dGhpcy5fb3JkZXI9Z3x8dGhpcy5fb3JkZXI7dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLl94LHRoaXMuX3ksdGhpcy5feix0aGlzLl9vcmRlcil9LGNvcHk6ZnVuY3Rpb24oYSl7dGhpcy5feD1hLl94O3RoaXMuX3k9YS5feTt0aGlzLl96PWEuX3o7dGhpcy5fb3JkZXI9YS5fb3JkZXI7CnRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtyZXR1cm4gdGhpc30sc2V0RnJvbVJvdGF0aW9uTWF0cml4OmZ1bmN0aW9uKGEsYyxlKXt2YXIgZz1oYi5jbGFtcCx0PWEuZWxlbWVudHM7YT10WzBdO3ZhciB2PXRbNF0sej10WzhdLEU9dFsxXSxGPXRbNV0sST10WzldLE09dFsyXSxQPXRbNl07dD10WzEwXTtjPWN8fHRoaXMuX29yZGVyOyJYWVoiPT09Yz8odGhpcy5feT1NYXRoLmFzaW4oZyh6LC0xLDEpKSwuOTk5OTk5OT5NYXRoLmFicyh6KT8odGhpcy5feD1NYXRoLmF0YW4yKC1JLHQpLHRoaXMuX3o9TWF0aC5hdGFuMigtdixhKSk6KHRoaXMuX3g9TWF0aC5hdGFuMihQLEYpLHRoaXMuX3o9MCkpOiJZWFoiPT09Yz8odGhpcy5feD1NYXRoLmFzaW4oLWcoSSwtMSwxKSksLjk5OTk5OTk+TWF0aC5hYnMoSSk/KHRoaXMuX3k9TWF0aC5hdGFuMih6LHQpLHRoaXMuX3o9TWF0aC5hdGFuMihFLEYpKToodGhpcy5feT1NYXRoLmF0YW4yKC1NLGEpLHRoaXMuX3o9MCkpOiJaWFkiPT09Yz8odGhpcy5feD0KTWF0aC5hc2luKGcoUCwtMSwxKSksLjk5OTk5OTk+TWF0aC5hYnMoUCk/KHRoaXMuX3k9TWF0aC5hdGFuMigtTSx0KSx0aGlzLl96PU1hdGguYXRhbjIoLXYsRikpOih0aGlzLl95PTAsdGhpcy5fej1NYXRoLmF0YW4yKEUsYSkpKToiWllYIj09PWM/KHRoaXMuX3k9TWF0aC5hc2luKC1nKE0sLTEsMSkpLC45OTk5OTk5Pk1hdGguYWJzKE0pPyh0aGlzLl94PU1hdGguYXRhbjIoUCx0KSx0aGlzLl96PU1hdGguYXRhbjIoRSxhKSk6KHRoaXMuX3g9MCx0aGlzLl96PU1hdGguYXRhbjIoLXYsRikpKToiWVpYIj09PWM/KHRoaXMuX3o9TWF0aC5hc2luKGcoRSwtMSwxKSksLjk5OTk5OTk+TWF0aC5hYnMoRSk/KHRoaXMuX3g9TWF0aC5hdGFuMigtSSxGKSx0aGlzLl95PU1hdGguYXRhbjIoLU0sYSkpOih0aGlzLl94PTAsdGhpcy5feT1NYXRoLmF0YW4yKHosdCkpKToiWFpZIj09PWM/KHRoaXMuX3o9TWF0aC5hc2luKC1nKHYsLTEsMSkpLC45OTk5OTk5Pk1hdGguYWJzKHYpPyh0aGlzLl94PQpNYXRoLmF0YW4yKFAsRiksdGhpcy5feT1NYXRoLmF0YW4yKHosYSkpOih0aGlzLl94PU1hdGguYXRhbjIoLUksdCksdGhpcy5feT0wKSk6Y29uc29sZS53YXJuKCJUSFJFRS5FdWxlcjogLnNldEZyb21Sb3RhdGlvbk1hdHJpeCgpIGdpdmVuIHVuc3VwcG9ydGVkIG9yZGVyOiAiK2MpO3RoaXMuX29yZGVyPWM7ITEhPT1lJiZ0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7cmV0dXJuIHRoaXN9LHNldEZyb21RdWF0ZXJuaW9uOmZ1bmN0aW9uKGEsYyxlKXtsay5tYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbihhKTtyZXR1cm4gdGhpcy5zZXRGcm9tUm90YXRpb25NYXRyaXgobGssYyxlKX0sc2V0RnJvbVZlY3RvcjM6ZnVuY3Rpb24oYSxjKXtyZXR1cm4gdGhpcy5zZXQoYS54LGEueSxhLnosY3x8dGhpcy5fb3JkZXIpfSxyZW9yZGVyOmZ1bmN0aW9uKGEpe21rLnNldEZyb21FdWxlcih0aGlzKTtyZXR1cm4gdGhpcy5zZXRGcm9tUXVhdGVybmlvbihtayxhKX0sZXF1YWxzOmZ1bmN0aW9uKGEpe3JldHVybiBhLl94PT09CnRoaXMuX3gmJmEuX3k9PT10aGlzLl95JiZhLl96PT09dGhpcy5feiYmYS5fb3JkZXI9PT10aGlzLl9vcmRlcn0sZnJvbUFycmF5OmZ1bmN0aW9uKGEpe3RoaXMuX3g9YVswXTt0aGlzLl95PWFbMV07dGhpcy5fej1hWzJdO3ZvaWQgMCE9PWFbM10mJih0aGlzLl9vcmRlcj1hWzNdKTt0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7cmV0dXJuIHRoaXN9LHRvQXJyYXk6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1hJiYoYT1bXSk7dm9pZCAwPT09YyYmKGM9MCk7YVtjXT10aGlzLl94O2FbYysxXT10aGlzLl95O2FbYysyXT10aGlzLl96O2FbYyszXT10aGlzLl9vcmRlcjtyZXR1cm4gYX0sdG9WZWN0b3IzOmZ1bmN0aW9uKGEpe3JldHVybiBhP2Euc2V0KHRoaXMuX3gsdGhpcy5feSx0aGlzLl96KTpuZXcgayh0aGlzLl94LHRoaXMuX3ksdGhpcy5feil9LF9vbkNoYW5nZTpmdW5jdGlvbihhKXt0aGlzLl9vbkNoYW5nZUNhbGxiYWNrPWE7cmV0dXJuIHRoaXN9LF9vbkNoYW5nZUNhbGxiYWNrOmZ1bmN0aW9uKCl7fX0pOwpPYmplY3QuYXNzaWduKHcucHJvdG90eXBlLHtzZXQ6ZnVuY3Rpb24oYSl7dGhpcy5tYXNrPTE8PGF8MH0sZW5hYmxlOmZ1bmN0aW9uKGEpe3RoaXMubWFzaz10aGlzLm1hc2t8MTw8YXwwfSxlbmFibGVBbGw6ZnVuY3Rpb24oKXt0aGlzLm1hc2s9LTF9LHRvZ2dsZTpmdW5jdGlvbihhKXt0aGlzLm1hc2tePTE8PGF8MH0sZGlzYWJsZTpmdW5jdGlvbihhKXt0aGlzLm1hc2smPX4oMTw8YXwwKX0sZGlzYWJsZUFsbDpmdW5jdGlvbigpe3RoaXMubWFzaz0wfSx0ZXN0OmZ1bmN0aW9uKGEpe3JldHVybiAwIT09KHRoaXMubWFzayZhLm1hc2spfX0pO3ZhciBpbD0wLG5rPW5ldyBrLGhmPW5ldyBoLGxkPW5ldyBxLGtoPW5ldyBrLGxnPW5ldyBrLFVtPW5ldyBrLFZtPW5ldyBoLG9rPW5ldyBrKDEsMCwwKSxwaz1uZXcgaygwLDEsMCkscWs9bmV3IGsoMCwwLDEpLFdtPXt0eXBlOiJhZGRlZCJ9LFhtPXt0eXBlOiJyZW1vdmVkIn07QS5EZWZhdWx0VXA9bmV3IGsoMCwxLDApO0EuRGVmYXVsdE1hdHJpeEF1dG9VcGRhdGU9CiEwO0EucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOkEsaXNPYmplY3QzRDohMCxvbkJlZm9yZVJlbmRlcjpmdW5jdGlvbigpe30sb25BZnRlclJlbmRlcjpmdW5jdGlvbigpe30sYXBwbHlNYXRyaXg6ZnVuY3Rpb24oYSl7dGhpcy5tYXRyaXhBdXRvVXBkYXRlJiZ0aGlzLnVwZGF0ZU1hdHJpeCgpO3RoaXMubWF0cml4LnByZW11bHRpcGx5KGEpO3RoaXMubWF0cml4LmRlY29tcG9zZSh0aGlzLnBvc2l0aW9uLHRoaXMucXVhdGVybmlvbix0aGlzLnNjYWxlKX0sYXBwbHlRdWF0ZXJuaW9uOmZ1bmN0aW9uKGEpe3RoaXMucXVhdGVybmlvbi5wcmVtdWx0aXBseShhKTtyZXR1cm4gdGhpc30sc2V0Um90YXRpb25Gcm9tQXhpc0FuZ2xlOmZ1bmN0aW9uKGEsYyl7dGhpcy5xdWF0ZXJuaW9uLnNldEZyb21BeGlzQW5nbGUoYSxjKX0sc2V0Um90YXRpb25Gcm9tRXVsZXI6ZnVuY3Rpb24oYSl7dGhpcy5xdWF0ZXJuaW9uLnNldEZyb21FdWxlcihhLAohMCl9LHNldFJvdGF0aW9uRnJvbU1hdHJpeDpmdW5jdGlvbihhKXt0aGlzLnF1YXRlcm5pb24uc2V0RnJvbVJvdGF0aW9uTWF0cml4KGEpfSxzZXRSb3RhdGlvbkZyb21RdWF0ZXJuaW9uOmZ1bmN0aW9uKGEpe3RoaXMucXVhdGVybmlvbi5jb3B5KGEpfSxyb3RhdGVPbkF4aXM6ZnVuY3Rpb24oYSxjKXtoZi5zZXRGcm9tQXhpc0FuZ2xlKGEsYyk7dGhpcy5xdWF0ZXJuaW9uLm11bHRpcGx5KGhmKTtyZXR1cm4gdGhpc30scm90YXRlT25Xb3JsZEF4aXM6ZnVuY3Rpb24oYSxjKXtoZi5zZXRGcm9tQXhpc0FuZ2xlKGEsYyk7dGhpcy5xdWF0ZXJuaW9uLnByZW11bHRpcGx5KGhmKTtyZXR1cm4gdGhpc30scm90YXRlWDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yb3RhdGVPbkF4aXMob2ssYSl9LHJvdGF0ZVk6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucm90YXRlT25BeGlzKHBrLGEpfSxyb3RhdGVaOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJvdGF0ZU9uQXhpcyhxayxhKX0sdHJhbnNsYXRlT25BeGlzOmZ1bmN0aW9uKGEsCmMpe25rLmNvcHkoYSkuYXBwbHlRdWF0ZXJuaW9uKHRoaXMucXVhdGVybmlvbik7dGhpcy5wb3NpdGlvbi5hZGQobmsubXVsdGlwbHlTY2FsYXIoYykpO3JldHVybiB0aGlzfSx0cmFuc2xhdGVYOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnRyYW5zbGF0ZU9uQXhpcyhvayxhKX0sdHJhbnNsYXRlWTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy50cmFuc2xhdGVPbkF4aXMocGssYSl9LHRyYW5zbGF0ZVo6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudHJhbnNsYXRlT25BeGlzKHFrLGEpfSxsb2NhbFRvV29ybGQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpfSx3b3JsZFRvTG9jYWw6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuYXBwbHlNYXRyaXg0KGxkLmdldEludmVyc2UodGhpcy5tYXRyaXhXb3JsZCkpfSxsb29rQXQ6ZnVuY3Rpb24oYSxjLGUpe2EuaXNWZWN0b3IzP2toLmNvcHkoYSk6a2guc2V0KGEsYyxlKTthPXRoaXMucGFyZW50O3RoaXMudXBkYXRlV29ybGRNYXRyaXgoITAsCiExKTtsZy5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5tYXRyaXhXb3JsZCk7dGhpcy5pc0NhbWVyYXx8dGhpcy5pc0xpZ2h0P2xkLmxvb2tBdChsZyxraCx0aGlzLnVwKTpsZC5sb29rQXQoa2gsbGcsdGhpcy51cCk7dGhpcy5xdWF0ZXJuaW9uLnNldEZyb21Sb3RhdGlvbk1hdHJpeChsZCk7YSYmKGxkLmV4dHJhY3RSb3RhdGlvbihhLm1hdHJpeFdvcmxkKSxoZi5zZXRGcm9tUm90YXRpb25NYXRyaXgobGQpLHRoaXMucXVhdGVybmlvbi5wcmVtdWx0aXBseShoZi5pbnZlcnNlKCkpKX0sYWRkOmZ1bmN0aW9uKGEpe2lmKDE8YXJndW1lbnRzLmxlbmd0aCl7Zm9yKHZhciBjPTA7Yzxhcmd1bWVudHMubGVuZ3RoO2MrKyl0aGlzLmFkZChhcmd1bWVudHNbY10pO3JldHVybiB0aGlzfWlmKGE9PT10aGlzKXJldHVybiBjb25zb2xlLmVycm9yKCJUSFJFRS5PYmplY3QzRC5hZGQ6IG9iamVjdCBjYW4ndCBiZSBhZGRlZCBhcyBhIGNoaWxkIG9mIGl0c2VsZi4iLGEpLHRoaXM7YSYmYS5pc09iamVjdDNEPwoobnVsbCE9PWEucGFyZW50JiZhLnBhcmVudC5yZW1vdmUoYSksYS5wYXJlbnQ9dGhpcyx0aGlzLmNoaWxkcmVuLnB1c2goYSksYS5kaXNwYXRjaEV2ZW50KFdtKSk6Y29uc29sZS5lcnJvcigiVEhSRUUuT2JqZWN0M0QuYWRkOiBvYmplY3Qgbm90IGFuIGluc3RhbmNlIG9mIFRIUkVFLk9iamVjdDNELiIsYSk7cmV0dXJuIHRoaXN9LHJlbW92ZTpmdW5jdGlvbihhKXtpZigxPGFyZ3VtZW50cy5sZW5ndGgpe2Zvcih2YXIgYz0wO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspdGhpcy5yZW1vdmUoYXJndW1lbnRzW2NdKTtyZXR1cm4gdGhpc31jPXRoaXMuY2hpbGRyZW4uaW5kZXhPZihhKTstMSE9PWMmJihhLnBhcmVudD1udWxsLHRoaXMuY2hpbGRyZW4uc3BsaWNlKGMsMSksYS5kaXNwYXRjaEV2ZW50KFhtKSk7cmV0dXJuIHRoaXN9LGF0dGFjaDpmdW5jdGlvbihhKXt0aGlzLnVwZGF0ZVdvcmxkTWF0cml4KCEwLCExKTtsZC5nZXRJbnZlcnNlKHRoaXMubWF0cml4V29ybGQpO251bGwhPT0KYS5wYXJlbnQmJihhLnBhcmVudC51cGRhdGVXb3JsZE1hdHJpeCghMCwhMSksbGQubXVsdGlwbHkoYS5wYXJlbnQubWF0cml4V29ybGQpKTthLmFwcGx5TWF0cml4KGxkKTthLnVwZGF0ZVdvcmxkTWF0cml4KCExLCExKTt0aGlzLmFkZChhKTtyZXR1cm4gdGhpc30sZ2V0T2JqZWN0QnlJZDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nZXRPYmplY3RCeVByb3BlcnR5KCJpZCIsYSl9LGdldE9iamVjdEJ5TmFtZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nZXRPYmplY3RCeVByb3BlcnR5KCJuYW1lIixhKX0sZ2V0T2JqZWN0QnlQcm9wZXJ0eTpmdW5jdGlvbihhLGMpe2lmKHRoaXNbYV09PT1jKXJldHVybiB0aGlzO2Zvcih2YXIgZT0wLGc9dGhpcy5jaGlsZHJlbi5sZW5ndGg7ZTxnO2UrKyl7dmFyIHQ9dGhpcy5jaGlsZHJlbltlXS5nZXRPYmplY3RCeVByb3BlcnR5KGEsYyk7aWYodm9pZCAwIT09dClyZXR1cm4gdH19LGdldFdvcmxkUG9zaXRpb246ZnVuY3Rpb24oYSl7dm9pZCAwPT09CmEmJihjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdDNEOiAuZ2V0V29ybGRQb3NpdGlvbigpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBrKTt0aGlzLnVwZGF0ZU1hdHJpeFdvcmxkKCEwKTtyZXR1cm4gYS5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5tYXRyaXhXb3JsZCl9LGdldFdvcmxkUXVhdGVybmlvbjpmdW5jdGlvbihhKXt2b2lkIDA9PT1hJiYoY29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLmdldFdvcmxkUXVhdGVybmlvbigpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBoKTt0aGlzLnVwZGF0ZU1hdHJpeFdvcmxkKCEwKTt0aGlzLm1hdHJpeFdvcmxkLmRlY29tcG9zZShsZyxhLFVtKTtyZXR1cm4gYX0sZ2V0V29ybGRTY2FsZTpmdW5jdGlvbihhKXt2b2lkIDA9PT1hJiYoY29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLmdldFdvcmxkU2NhbGUoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksYT1uZXcgayk7dGhpcy51cGRhdGVNYXRyaXhXb3JsZCghMCk7CnRoaXMubWF0cml4V29ybGQuZGVjb21wb3NlKGxnLFZtLGEpO3JldHVybiBhfSxnZXRXb3JsZERpcmVjdGlvbjpmdW5jdGlvbihhKXt2b2lkIDA9PT1hJiYoY29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLmdldFdvcmxkRGlyZWN0aW9uKCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpLGE9bmV3IGspO3RoaXMudXBkYXRlTWF0cml4V29ybGQoITApO3ZhciBjPXRoaXMubWF0cml4V29ybGQuZWxlbWVudHM7cmV0dXJuIGEuc2V0KGNbOF0sY1s5XSxjWzEwXSkubm9ybWFsaXplKCl9LHJheWNhc3Q6ZnVuY3Rpb24oKXt9LHRyYXZlcnNlOmZ1bmN0aW9uKGEpe2EodGhpcyk7Zm9yKHZhciBjPXRoaXMuY2hpbGRyZW4sZT0wLGc9Yy5sZW5ndGg7ZTxnO2UrKyljW2VdLnRyYXZlcnNlKGEpfSx0cmF2ZXJzZVZpc2libGU6ZnVuY3Rpb24oYSl7aWYoITEhPT10aGlzLnZpc2libGUpe2EodGhpcyk7Zm9yKHZhciBjPXRoaXMuY2hpbGRyZW4sZT0wLGc9Yy5sZW5ndGg7ZTxnO2UrKyljW2VdLnRyYXZlcnNlVmlzaWJsZShhKX19LAp0cmF2ZXJzZUFuY2VzdG9yczpmdW5jdGlvbihhKXt2YXIgYz10aGlzLnBhcmVudDtudWxsIT09YyYmKGEoYyksYy50cmF2ZXJzZUFuY2VzdG9ycyhhKSl9LHVwZGF0ZU1hdHJpeDpmdW5jdGlvbigpe3RoaXMubWF0cml4LmNvbXBvc2UodGhpcy5wb3NpdGlvbix0aGlzLnF1YXRlcm5pb24sdGhpcy5zY2FsZSk7dGhpcy5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSEwfSx1cGRhdGVNYXRyaXhXb3JsZDpmdW5jdGlvbihhKXt0aGlzLm1hdHJpeEF1dG9VcGRhdGUmJnRoaXMudXBkYXRlTWF0cml4KCk7aWYodGhpcy5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlfHxhKW51bGw9PT10aGlzLnBhcmVudD90aGlzLm1hdHJpeFdvcmxkLmNvcHkodGhpcy5tYXRyaXgpOnRoaXMubWF0cml4V29ybGQubXVsdGlwbHlNYXRyaWNlcyh0aGlzLnBhcmVudC5tYXRyaXhXb3JsZCx0aGlzLm1hdHJpeCksdGhpcy5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSExLGE9ITA7Zm9yKHZhciBjPXRoaXMuY2hpbGRyZW4sZT0KMCxnPWMubGVuZ3RoO2U8ZztlKyspY1tlXS51cGRhdGVNYXRyaXhXb3JsZChhKX0sdXBkYXRlV29ybGRNYXRyaXg6ZnVuY3Rpb24oYSxjKXt2YXIgZT10aGlzLnBhcmVudDshMD09PWEmJm51bGwhPT1lJiZlLnVwZGF0ZVdvcmxkTWF0cml4KCEwLCExKTt0aGlzLm1hdHJpeEF1dG9VcGRhdGUmJnRoaXMudXBkYXRlTWF0cml4KCk7bnVsbD09PXRoaXMucGFyZW50P3RoaXMubWF0cml4V29ybGQuY29weSh0aGlzLm1hdHJpeCk6dGhpcy5tYXRyaXhXb3JsZC5tdWx0aXBseU1hdHJpY2VzKHRoaXMucGFyZW50Lm1hdHJpeFdvcmxkLHRoaXMubWF0cml4KTtpZighMD09PWMpZm9yKGE9dGhpcy5jaGlsZHJlbixjPTAsZT1hLmxlbmd0aDtjPGU7YysrKWFbY10udXBkYXRlV29ybGRNYXRyaXgoITEsITApfSx0b0pTT046ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYyhNLFApe3ZvaWQgMD09PU1bUC51dWlkXSYmKE1bUC51dWlkXT1QLnRvSlNPTihhKSk7cmV0dXJuIFAudXVpZH1mdW5jdGlvbiBlKE0pe3ZhciBQPQpbXSxRO2ZvcihRIGluIE0pe3ZhciBVPU1bUV07ZGVsZXRlIFUubWV0YWRhdGE7UC5wdXNoKFUpfXJldHVybiBQfXZhciBnPXZvaWQgMD09PWF8fCJzdHJpbmciPT09dHlwZW9mIGEsdD17fTtnJiYoYT17Z2VvbWV0cmllczp7fSxtYXRlcmlhbHM6e30sdGV4dHVyZXM6e30saW1hZ2VzOnt9LHNoYXBlczp7fX0sdC5tZXRhZGF0YT17dmVyc2lvbjo0LjUsdHlwZToiT2JqZWN0IixnZW5lcmF0b3I6Ik9iamVjdDNELnRvSlNPTiJ9KTt2YXIgdj17fTt2LnV1aWQ9dGhpcy51dWlkO3YudHlwZT10aGlzLnR5cGU7IiIhPT10aGlzLm5hbWUmJih2Lm5hbWU9dGhpcy5uYW1lKTshMD09PXRoaXMuY2FzdFNoYWRvdyYmKHYuY2FzdFNoYWRvdz0hMCk7ITA9PT10aGlzLnJlY2VpdmVTaGFkb3cmJih2LnJlY2VpdmVTaGFkb3c9ITApOyExPT09dGhpcy52aXNpYmxlJiYodi52aXNpYmxlPSExKTshMT09PXRoaXMuZnJ1c3R1bUN1bGxlZCYmKHYuZnJ1c3R1bUN1bGxlZD0hMSk7MCE9PXRoaXMucmVuZGVyT3JkZXImJgoodi5yZW5kZXJPcmRlcj10aGlzLnJlbmRlck9yZGVyKTsie30iIT09SlNPTi5zdHJpbmdpZnkodGhpcy51c2VyRGF0YSkmJih2LnVzZXJEYXRhPXRoaXMudXNlckRhdGEpO3YubGF5ZXJzPXRoaXMubGF5ZXJzLm1hc2s7di5tYXRyaXg9dGhpcy5tYXRyaXgudG9BcnJheSgpOyExPT09dGhpcy5tYXRyaXhBdXRvVXBkYXRlJiYodi5tYXRyaXhBdXRvVXBkYXRlPSExKTt0aGlzLmlzTWVzaCYmMCE9PXRoaXMuZHJhd01vZGUmJih2LmRyYXdNb2RlPXRoaXMuZHJhd01vZGUpO2lmKHRoaXMuaXNNZXNofHx0aGlzLmlzTGluZXx8dGhpcy5pc1BvaW50cyl7di5nZW9tZXRyeT1jKGEuZ2VvbWV0cmllcyx0aGlzLmdlb21ldHJ5KTt2YXIgej10aGlzLmdlb21ldHJ5LnBhcmFtZXRlcnM7aWYodm9pZCAwIT09eiYmdm9pZCAwIT09ei5zaGFwZXMpaWYoej16LnNoYXBlcyxBcnJheS5pc0FycmF5KHopKWZvcih2YXIgRT0wLEY9ei5sZW5ndGg7RTxGO0UrKyljKGEuc2hhcGVzLHpbRV0pO2Vsc2UgYyhhLnNoYXBlcywKeil9aWYodm9pZCAwIT09dGhpcy5tYXRlcmlhbClpZihBcnJheS5pc0FycmF5KHRoaXMubWF0ZXJpYWwpKXt6PVtdO0U9MDtmb3IoRj10aGlzLm1hdGVyaWFsLmxlbmd0aDtFPEY7RSsrKXoucHVzaChjKGEubWF0ZXJpYWxzLHRoaXMubWF0ZXJpYWxbRV0pKTt2Lm1hdGVyaWFsPXp9ZWxzZSB2Lm1hdGVyaWFsPWMoYS5tYXRlcmlhbHMsdGhpcy5tYXRlcmlhbCk7aWYoMDx0aGlzLmNoaWxkcmVuLmxlbmd0aClmb3Iodi5jaGlsZHJlbj1bXSxFPTA7RTx0aGlzLmNoaWxkcmVuLmxlbmd0aDtFKyspdi5jaGlsZHJlbi5wdXNoKHRoaXMuY2hpbGRyZW5bRV0udG9KU09OKGEpLm9iamVjdCk7aWYoZyl7Zz1lKGEuZ2VvbWV0cmllcyk7RT1lKGEubWF0ZXJpYWxzKTtGPWUoYS50ZXh0dXJlcyk7dmFyIEk9ZShhLmltYWdlcyk7ej1lKGEuc2hhcGVzKTswPGcubGVuZ3RoJiYodC5nZW9tZXRyaWVzPWcpOzA8RS5sZW5ndGgmJih0Lm1hdGVyaWFscz1FKTswPEYubGVuZ3RoJiYodC50ZXh0dXJlcz1GKTsKMDxJLmxlbmd0aCYmKHQuaW1hZ2VzPUkpOzA8ei5sZW5ndGgmJih0LnNoYXBlcz16KX10Lm9iamVjdD12O3JldHVybiB0fSxjbG9uZTpmdW5jdGlvbihhKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyxhKX0sY29weTpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWMmJihjPSEwKTt0aGlzLm5hbWU9YS5uYW1lO3RoaXMudXAuY29weShhLnVwKTt0aGlzLnBvc2l0aW9uLmNvcHkoYS5wb3NpdGlvbik7dGhpcy5xdWF0ZXJuaW9uLmNvcHkoYS5xdWF0ZXJuaW9uKTt0aGlzLnNjYWxlLmNvcHkoYS5zY2FsZSk7dGhpcy5tYXRyaXguY29weShhLm1hdHJpeCk7dGhpcy5tYXRyaXhXb3JsZC5jb3B5KGEubWF0cml4V29ybGQpO3RoaXMubWF0cml4QXV0b1VwZGF0ZT1hLm1hdHJpeEF1dG9VcGRhdGU7dGhpcy5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPWEubWF0cml4V29ybGROZWVkc1VwZGF0ZTt0aGlzLmxheWVycy5tYXNrPWEubGF5ZXJzLm1hc2s7dGhpcy52aXNpYmxlPWEudmlzaWJsZTsKdGhpcy5jYXN0U2hhZG93PWEuY2FzdFNoYWRvdzt0aGlzLnJlY2VpdmVTaGFkb3c9YS5yZWNlaXZlU2hhZG93O3RoaXMuZnJ1c3R1bUN1bGxlZD1hLmZydXN0dW1DdWxsZWQ7dGhpcy5yZW5kZXJPcmRlcj1hLnJlbmRlck9yZGVyO3RoaXMudXNlckRhdGE9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhLnVzZXJEYXRhKSk7aWYoITA9PT1jKWZvcihjPTA7YzxhLmNoaWxkcmVuLmxlbmd0aDtjKyspdGhpcy5hZGQoYS5jaGlsZHJlbltjXS5jbG9uZSgpKTtyZXR1cm4gdGhpc319KTt5LnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoQS5wcm90b3R5cGUpLHtjb25zdHJ1Y3Rvcjp5LGlzU2NlbmU6ITAsY29weTpmdW5jdGlvbihhLGMpe0EucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEsYyk7bnVsbCE9PWEuYmFja2dyb3VuZCYmKHRoaXMuYmFja2dyb3VuZD1hLmJhY2tncm91bmQuY2xvbmUoKSk7bnVsbCE9PWEuZm9nJiYodGhpcy5mb2c9YS5mb2cuY2xvbmUoKSk7Cm51bGwhPT1hLm92ZXJyaWRlTWF0ZXJpYWwmJih0aGlzLm92ZXJyaWRlTWF0ZXJpYWw9YS5vdmVycmlkZU1hdGVyaWFsLmNsb25lKCkpO3RoaXMuYXV0b1VwZGF0ZT1hLmF1dG9VcGRhdGU7dGhpcy5tYXRyaXhBdXRvVXBkYXRlPWEubWF0cml4QXV0b1VwZGF0ZTtyZXR1cm4gdGhpc30sdG9KU09OOmZ1bmN0aW9uKGEpe3ZhciBjPUEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMsYSk7bnVsbCE9PXRoaXMuYmFja2dyb3VuZCYmKGMub2JqZWN0LmJhY2tncm91bmQ9dGhpcy5iYWNrZ3JvdW5kLnRvSlNPTihhKSk7bnVsbCE9PXRoaXMuZm9nJiYoYy5vYmplY3QuZm9nPXRoaXMuZm9nLnRvSlNPTigpKTtyZXR1cm4gY30sZGlzcG9zZTpmdW5jdGlvbigpe3RoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiZGlzcG9zZSJ9KX19KTt2YXIgbWQ9W25ldyBrLG5ldyBrLG5ldyBrLG5ldyBrLG5ldyBrLG5ldyBrLG5ldyBrLG5ldyBrXSxZYz1uZXcgayxqZj1uZXcgayxrZj1uZXcgayxsZj1uZXcgaywKSGQ9bmV3IGssSWQ9bmV3IGssaGU9bmV3IGssbWc9bmV3IGssbGg9bmV3IGssbWg9bmV3IGssTWQ9bmV3IGs7T2JqZWN0LmFzc2lnbih4LnByb3RvdHlwZSx7aXNCb3gzOiEwLHNldDpmdW5jdGlvbihhLGMpe3RoaXMubWluLmNvcHkoYSk7dGhpcy5tYXguY29weShjKTtyZXR1cm4gdGhpc30sc2V0RnJvbUFycmF5OmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz1JbmZpbml0eSxlPUluZmluaXR5LGc9SW5maW5pdHksdD0tSW5maW5pdHksdj0tSW5maW5pdHksej0tSW5maW5pdHksRT0wLEY9YS5sZW5ndGg7RTxGO0UrPTMpe3ZhciBJPWFbRV0sTT1hW0UrMV0sUD1hW0UrMl07STxjJiYoYz1JKTtNPGUmJihlPU0pO1A8ZyYmKGc9UCk7ST50JiYodD1JKTtNPnYmJih2PU0pO1A+eiYmKHo9UCl9dGhpcy5taW4uc2V0KGMsZSxnKTt0aGlzLm1heC5zZXQodCx2LHopO3JldHVybiB0aGlzfSxzZXRGcm9tQnVmZmVyQXR0cmlidXRlOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz1JbmZpbml0eSxlPUluZmluaXR5LApnPUluZmluaXR5LHQ9LUluZmluaXR5LHY9LUluZmluaXR5LHo9LUluZmluaXR5LEU9MCxGPWEuY291bnQ7RTxGO0UrKyl7dmFyIEk9YS5nZXRYKEUpLE09YS5nZXRZKEUpLFA9YS5nZXRaKEUpO0k8YyYmKGM9SSk7TTxlJiYoZT1NKTtQPGcmJihnPVApO0k+dCYmKHQ9SSk7TT52JiYodj1NKTtQPnomJih6PVApfXRoaXMubWluLnNldChjLGUsZyk7dGhpcy5tYXguc2V0KHQsdix6KTtyZXR1cm4gdGhpc30sc2V0RnJvbVBvaW50czpmdW5jdGlvbihhKXt0aGlzLm1ha2VFbXB0eSgpO2Zvcih2YXIgYz0wLGU9YS5sZW5ndGg7YzxlO2MrKyl0aGlzLmV4cGFuZEJ5UG9pbnQoYVtjXSk7cmV0dXJuIHRoaXN9LHNldEZyb21DZW50ZXJBbmRTaXplOmZ1bmN0aW9uKGEsYyl7Yz1ZYy5jb3B5KGMpLm11bHRpcGx5U2NhbGFyKC41KTt0aGlzLm1pbi5jb3B5KGEpLnN1YihjKTt0aGlzLm1heC5jb3B5KGEpLmFkZChjKTtyZXR1cm4gdGhpc30sc2V0RnJvbU9iamVjdDpmdW5jdGlvbihhKXt0aGlzLm1ha2VFbXB0eSgpOwpyZXR1cm4gdGhpcy5leHBhbmRCeU9iamVjdChhKX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9LGNvcHk6ZnVuY3Rpb24oYSl7dGhpcy5taW4uY29weShhLm1pbik7dGhpcy5tYXguY29weShhLm1heCk7cmV0dXJuIHRoaXN9LG1ha2VFbXB0eTpmdW5jdGlvbigpe3RoaXMubWluLng9dGhpcy5taW4ueT10aGlzLm1pbi56PUluZmluaXR5O3RoaXMubWF4Lng9dGhpcy5tYXgueT10aGlzLm1heC56PS1JbmZpbml0eTtyZXR1cm4gdGhpc30saXNFbXB0eTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1heC54PHRoaXMubWluLnh8fHRoaXMubWF4Lnk8dGhpcy5taW4ueXx8dGhpcy5tYXguejx0aGlzLm1pbi56fSxnZXRDZW50ZXI6ZnVuY3Rpb24oYSl7dm9pZCAwPT09YSYmKGNvbnNvbGUud2FybigiVEhSRUUuQm94MzogLmdldENlbnRlcigpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBrKTtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/CmEuc2V0KDAsMCwwKTphLmFkZFZlY3RvcnModGhpcy5taW4sdGhpcy5tYXgpLm11bHRpcGx5U2NhbGFyKC41KX0sZ2V0U2l6ZTpmdW5jdGlvbihhKXt2b2lkIDA9PT1hJiYoY29uc29sZS53YXJuKCJUSFJFRS5Cb3gzOiAuZ2V0U2l6ZSgpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBrKTtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/YS5zZXQoMCwwLDApOmEuc3ViVmVjdG9ycyh0aGlzLm1heCx0aGlzLm1pbil9LGV4cGFuZEJ5UG9pbnQ6ZnVuY3Rpb24oYSl7dGhpcy5taW4ubWluKGEpO3RoaXMubWF4Lm1heChhKTtyZXR1cm4gdGhpc30sZXhwYW5kQnlWZWN0b3I6ZnVuY3Rpb24oYSl7dGhpcy5taW4uc3ViKGEpO3RoaXMubWF4LmFkZChhKTtyZXR1cm4gdGhpc30sZXhwYW5kQnlTY2FsYXI6ZnVuY3Rpb24oYSl7dGhpcy5taW4uYWRkU2NhbGFyKC1hKTt0aGlzLm1heC5hZGRTY2FsYXIoYSk7cmV0dXJuIHRoaXN9LGV4cGFuZEJ5T2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBjO2EudXBkYXRlV29ybGRNYXRyaXgoITEsCiExKTt2YXIgZT1hLmdlb21ldHJ5O2lmKHZvaWQgMCE9PWUpaWYoZS5pc0dlb21ldHJ5KXt2YXIgZz1lLnZlcnRpY2VzO2U9MDtmb3IoYz1nLmxlbmd0aDtlPGM7ZSsrKVljLmNvcHkoZ1tlXSksWWMuYXBwbHlNYXRyaXg0KGEubWF0cml4V29ybGQpLHRoaXMuZXhwYW5kQnlQb2ludChZYyl9ZWxzZSBpZihlLmlzQnVmZmVyR2VvbWV0cnkmJihnPWUuYXR0cmlidXRlcy5wb3NpdGlvbix2b2lkIDAhPT1nKSlmb3IoZT0wLGM9Zy5jb3VudDtlPGM7ZSsrKVljLmZyb21CdWZmZXJBdHRyaWJ1dGUoZyxlKS5hcHBseU1hdHJpeDQoYS5tYXRyaXhXb3JsZCksdGhpcy5leHBhbmRCeVBvaW50KFljKTthPWEuY2hpbGRyZW47ZT0wO2ZvcihjPWEubGVuZ3RoO2U8YztlKyspdGhpcy5leHBhbmRCeU9iamVjdChhW2VdKTtyZXR1cm4gdGhpc30sY29udGFpbnNQb2ludDpmdW5jdGlvbihhKXtyZXR1cm4gYS54PHRoaXMubWluLnh8fGEueD50aGlzLm1heC54fHxhLnk8dGhpcy5taW4ueXx8YS55PnRoaXMubWF4Lnl8fAphLno8dGhpcy5taW4uenx8YS56PnRoaXMubWF4Lno/ITE6ITB9LGNvbnRhaW5zQm94OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm1pbi54PD1hLm1pbi54JiZhLm1heC54PD10aGlzLm1heC54JiZ0aGlzLm1pbi55PD1hLm1pbi55JiZhLm1heC55PD10aGlzLm1heC55JiZ0aGlzLm1pbi56PD1hLm1pbi56JiZhLm1heC56PD10aGlzLm1heC56fSxnZXRQYXJhbWV0ZXI6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1jJiYoY29uc29sZS53YXJuKCJUSFJFRS5Cb3gzOiAuZ2V0UGFyYW1ldGVyKCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpLGM9bmV3IGspO3JldHVybiBjLnNldCgoYS54LXRoaXMubWluLngpLyh0aGlzLm1heC54LXRoaXMubWluLngpLChhLnktdGhpcy5taW4ueSkvKHRoaXMubWF4LnktdGhpcy5taW4ueSksKGEuei10aGlzLm1pbi56KS8odGhpcy5tYXguei10aGlzLm1pbi56KSl9LGludGVyc2VjdHNCb3g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEubWF4Lng8dGhpcy5taW4ueHx8CmEubWluLng+dGhpcy5tYXgueHx8YS5tYXgueTx0aGlzLm1pbi55fHxhLm1pbi55PnRoaXMubWF4Lnl8fGEubWF4Lno8dGhpcy5taW4uenx8YS5taW4uej50aGlzLm1heC56PyExOiEwfSxpbnRlcnNlY3RzU3BoZXJlOmZ1bmN0aW9uKGEpe3RoaXMuY2xhbXBQb2ludChhLmNlbnRlcixZYyk7cmV0dXJuIFljLmRpc3RhbmNlVG9TcXVhcmVkKGEuY2VudGVyKTw9YS5yYWRpdXMqYS5yYWRpdXN9LGludGVyc2VjdHNQbGFuZTpmdW5jdGlvbihhKXtpZigwPGEubm9ybWFsLngpe3ZhciBjPWEubm9ybWFsLngqdGhpcy5taW4ueDt2YXIgZT1hLm5vcm1hbC54KnRoaXMubWF4Lnh9ZWxzZSBjPWEubm9ybWFsLngqdGhpcy5tYXgueCxlPWEubm9ybWFsLngqdGhpcy5taW4ueDswPGEubm9ybWFsLnk/KGMrPWEubm9ybWFsLnkqdGhpcy5taW4ueSxlKz1hLm5vcm1hbC55KnRoaXMubWF4LnkpOihjKz1hLm5vcm1hbC55KnRoaXMubWF4LnksZSs9YS5ub3JtYWwueSp0aGlzLm1pbi55KTswPGEubm9ybWFsLno/CihjKz1hLm5vcm1hbC56KnRoaXMubWluLnosZSs9YS5ub3JtYWwueip0aGlzLm1heC56KTooYys9YS5ub3JtYWwueip0aGlzLm1heC56LGUrPWEubm9ybWFsLnoqdGhpcy5taW4ueik7cmV0dXJuIGM8PS1hLmNvbnN0YW50JiZlPj0tYS5jb25zdGFudH0saW50ZXJzZWN0c1RyaWFuZ2xlOmZ1bmN0aW9uKGEpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiExO3RoaXMuZ2V0Q2VudGVyKG1nKTtsaC5zdWJWZWN0b3JzKHRoaXMubWF4LG1nKTtqZi5zdWJWZWN0b3JzKGEuYSxtZyk7a2Yuc3ViVmVjdG9ycyhhLmIsbWcpO2xmLnN1YlZlY3RvcnMoYS5jLG1nKTtIZC5zdWJWZWN0b3JzKGtmLGpmKTtJZC5zdWJWZWN0b3JzKGxmLGtmKTtoZS5zdWJWZWN0b3JzKGpmLGxmKTthPVswLC1IZC56LEhkLnksMCwtSWQueixJZC55LDAsLWhlLnosaGUueSxIZC56LDAsLUhkLngsSWQueiwwLC1JZC54LGhlLnosMCwtaGUueCwtSGQueSxIZC54LDAsLUlkLnksSWQueCwwLC1oZS55LGhlLngsMF07aWYoIUMoYSwKamYsa2YsbGYsbGgpKXJldHVybiExO2E9WzEsMCwwLDAsMSwwLDAsMCwxXTtpZighQyhhLGpmLGtmLGxmLGxoKSlyZXR1cm4hMTttaC5jcm9zc1ZlY3RvcnMoSGQsSWQpO2E9W21oLngsbWgueSxtaC56XTtyZXR1cm4gQyhhLGpmLGtmLGxmLGxoKX0sY2xhbXBQb2ludDpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWMmJihjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5jbGFtcFBvaW50KCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpLGM9bmV3IGspO3JldHVybiBjLmNvcHkoYSkuY2xhbXAodGhpcy5taW4sdGhpcy5tYXgpfSxkaXN0YW5jZVRvUG9pbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIFljLmNvcHkoYSkuY2xhbXAodGhpcy5taW4sdGhpcy5tYXgpLnN1YihhKS5sZW5ndGgoKX0sZ2V0Qm91bmRpbmdTcGhlcmU6ZnVuY3Rpb24oYSl7dm9pZCAwPT09YSYmY29uc29sZS5lcnJvcigiVEhSRUUuQm94MzogLmdldEJvdW5kaW5nU3BoZXJlKCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpO3RoaXMuZ2V0Q2VudGVyKGEuY2VudGVyKTsKYS5yYWRpdXM9LjUqdGhpcy5nZXRTaXplKFljKS5sZW5ndGgoKTtyZXR1cm4gYX0saW50ZXJzZWN0OmZ1bmN0aW9uKGEpe3RoaXMubWluLm1heChhLm1pbik7dGhpcy5tYXgubWluKGEubWF4KTt0aGlzLmlzRW1wdHkoKSYmdGhpcy5tYWtlRW1wdHkoKTtyZXR1cm4gdGhpc30sdW5pb246ZnVuY3Rpb24oYSl7dGhpcy5taW4ubWluKGEubWluKTt0aGlzLm1heC5tYXgoYS5tYXgpO3JldHVybiB0aGlzfSxhcHBseU1hdHJpeDQ6ZnVuY3Rpb24oYSl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIHRoaXM7bWRbMF0uc2V0KHRoaXMubWluLngsdGhpcy5taW4ueSx0aGlzLm1pbi56KS5hcHBseU1hdHJpeDQoYSk7bWRbMV0uc2V0KHRoaXMubWluLngsdGhpcy5taW4ueSx0aGlzLm1heC56KS5hcHBseU1hdHJpeDQoYSk7bWRbMl0uc2V0KHRoaXMubWluLngsdGhpcy5tYXgueSx0aGlzLm1pbi56KS5hcHBseU1hdHJpeDQoYSk7bWRbM10uc2V0KHRoaXMubWluLngsdGhpcy5tYXgueSx0aGlzLm1heC56KS5hcHBseU1hdHJpeDQoYSk7Cm1kWzRdLnNldCh0aGlzLm1heC54LHRoaXMubWluLnksdGhpcy5taW4ueikuYXBwbHlNYXRyaXg0KGEpO21kWzVdLnNldCh0aGlzLm1heC54LHRoaXMubWluLnksdGhpcy5tYXgueikuYXBwbHlNYXRyaXg0KGEpO21kWzZdLnNldCh0aGlzLm1heC54LHRoaXMubWF4LnksdGhpcy5taW4ueikuYXBwbHlNYXRyaXg0KGEpO21kWzddLnNldCh0aGlzLm1heC54LHRoaXMubWF4LnksdGhpcy5tYXgueikuYXBwbHlNYXRyaXg0KGEpO3RoaXMuc2V0RnJvbVBvaW50cyhtZCk7cmV0dXJuIHRoaXN9LHRyYW5zbGF0ZTpmdW5jdGlvbihhKXt0aGlzLm1pbi5hZGQoYSk7dGhpcy5tYXguYWRkKGEpO3JldHVybiB0aGlzfSxlcXVhbHM6ZnVuY3Rpb24oYSl7cmV0dXJuIGEubWluLmVxdWFscyh0aGlzLm1pbikmJmEubWF4LmVxdWFscyh0aGlzLm1heCl9fSk7dmFyIFltPW5ldyB4O09iamVjdC5hc3NpZ24oRy5wcm90b3R5cGUse3NldDpmdW5jdGlvbihhLGMpe3RoaXMuY2VudGVyLmNvcHkoYSk7dGhpcy5yYWRpdXM9CmM7cmV0dXJuIHRoaXN9LHNldEZyb21Qb2ludHM6ZnVuY3Rpb24oYSxjKXt2YXIgZT10aGlzLmNlbnRlcjt2b2lkIDAhPT1jP2UuY29weShjKTpZbS5zZXRGcm9tUG9pbnRzKGEpLmdldENlbnRlcihlKTtmb3IodmFyIGc9Yz0wLHQ9YS5sZW5ndGg7Zzx0O2crKyljPU1hdGgubWF4KGMsZS5kaXN0YW5jZVRvU3F1YXJlZChhW2ddKSk7dGhpcy5yYWRpdXM9TWF0aC5zcXJ0KGMpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX0sY29weTpmdW5jdGlvbihhKXt0aGlzLmNlbnRlci5jb3B5KGEuY2VudGVyKTt0aGlzLnJhZGl1cz1hLnJhZGl1cztyZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gMD49dGhpcy5yYWRpdXN9LGNvbnRhaW5zUG9pbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzdGFuY2VUb1NxdWFyZWQodGhpcy5jZW50ZXIpPD10aGlzLnJhZGl1cyp0aGlzLnJhZGl1c30sZGlzdGFuY2VUb1BvaW50OmZ1bmN0aW9uKGEpe3JldHVybiBhLmRpc3RhbmNlVG8odGhpcy5jZW50ZXIpLQp0aGlzLnJhZGl1c30saW50ZXJzZWN0c1NwaGVyZTpmdW5jdGlvbihhKXt2YXIgYz10aGlzLnJhZGl1cythLnJhZGl1cztyZXR1cm4gYS5jZW50ZXIuZGlzdGFuY2VUb1NxdWFyZWQodGhpcy5jZW50ZXIpPD1jKmN9LGludGVyc2VjdHNCb3g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW50ZXJzZWN0c1NwaGVyZSh0aGlzKX0saW50ZXJzZWN0c1BsYW5lOmZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLmFicyhhLmRpc3RhbmNlVG9Qb2ludCh0aGlzLmNlbnRlcikpPD10aGlzLnJhZGl1c30sY2xhbXBQb2ludDpmdW5jdGlvbihhLGMpe3ZhciBlPXRoaXMuY2VudGVyLmRpc3RhbmNlVG9TcXVhcmVkKGEpO3ZvaWQgMD09PWMmJihjb25zb2xlLndhcm4oIlRIUkVFLlNwaGVyZTogLmNsYW1wUG9pbnQoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksYz1uZXcgayk7Yy5jb3B5KGEpO2U+dGhpcy5yYWRpdXMqdGhpcy5yYWRpdXMmJihjLnN1Yih0aGlzLmNlbnRlcikubm9ybWFsaXplKCksYy5tdWx0aXBseVNjYWxhcih0aGlzLnJhZGl1cykuYWRkKHRoaXMuY2VudGVyKSk7CnJldHVybiBjfSxnZXRCb3VuZGluZ0JveDpmdW5jdGlvbihhKXt2b2lkIDA9PT1hJiYoY29uc29sZS53YXJuKCJUSFJFRS5TcGhlcmU6IC5nZXRCb3VuZGluZ0JveCgpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyB4KTthLnNldCh0aGlzLmNlbnRlcix0aGlzLmNlbnRlcik7YS5leHBhbmRCeVNjYWxhcih0aGlzLnJhZGl1cyk7cmV0dXJuIGF9LGFwcGx5TWF0cml4NDpmdW5jdGlvbihhKXt0aGlzLmNlbnRlci5hcHBseU1hdHJpeDQoYSk7dGhpcy5yYWRpdXMqPWEuZ2V0TWF4U2NhbGVPbkF4aXMoKTtyZXR1cm4gdGhpc30sdHJhbnNsYXRlOmZ1bmN0aW9uKGEpe3RoaXMuY2VudGVyLmFkZChhKTtyZXR1cm4gdGhpc30sZXF1YWxzOmZ1bmN0aW9uKGEpe3JldHVybiBhLmNlbnRlci5lcXVhbHModGhpcy5jZW50ZXIpJiZhLnJhZGl1cz09PXRoaXMucmFkaXVzfX0pO3ZhciBuZD1uZXcgayxEaT1uZXcgayxuaD1uZXcgayxKZD1uZXcgayxFaT1uZXcgayxvaD1uZXcgayxGaT1uZXcgazsKT2JqZWN0LmFzc2lnbihELnByb3RvdHlwZSx7c2V0OmZ1bmN0aW9uKGEsYyl7dGhpcy5vcmlnaW4uY29weShhKTt0aGlzLmRpcmVjdGlvbi5jb3B5KGMpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX0sY29weTpmdW5jdGlvbihhKXt0aGlzLm9yaWdpbi5jb3B5KGEub3JpZ2luKTt0aGlzLmRpcmVjdGlvbi5jb3B5KGEuZGlyZWN0aW9uKTtyZXR1cm4gdGhpc30sYXQ6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1jJiYoY29uc29sZS53YXJuKCJUSFJFRS5SYXk6IC5hdCgpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxjPW5ldyBrKTtyZXR1cm4gYy5jb3B5KHRoaXMuZGlyZWN0aW9uKS5tdWx0aXBseVNjYWxhcihhKS5hZGQodGhpcy5vcmlnaW4pfSxsb29rQXQ6ZnVuY3Rpb24oYSl7dGhpcy5kaXJlY3Rpb24uY29weShhKS5zdWIodGhpcy5vcmlnaW4pLm5vcm1hbGl6ZSgpO3JldHVybiB0aGlzfSxyZWNhc3Q6ZnVuY3Rpb24oYSl7dGhpcy5vcmlnaW4uY29weSh0aGlzLmF0KGEsCm5kKSk7cmV0dXJuIHRoaXN9LGNsb3Nlc3RQb2ludFRvUG9pbnQ6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1jJiYoY29uc29sZS53YXJuKCJUSFJFRS5SYXk6IC5jbG9zZXN0UG9pbnRUb1BvaW50KCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpLGM9bmV3IGspO2Muc3ViVmVjdG9ycyhhLHRoaXMub3JpZ2luKTthPWMuZG90KHRoaXMuZGlyZWN0aW9uKTtyZXR1cm4gMD5hP2MuY29weSh0aGlzLm9yaWdpbik6Yy5jb3B5KHRoaXMuZGlyZWN0aW9uKS5tdWx0aXBseVNjYWxhcihhKS5hZGQodGhpcy5vcmlnaW4pfSxkaXN0YW5jZVRvUG9pbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlU3FUb1BvaW50KGEpKX0sZGlzdGFuY2VTcVRvUG9pbnQ6ZnVuY3Rpb24oYSl7dmFyIGM9bmQuc3ViVmVjdG9ycyhhLHRoaXMub3JpZ2luKS5kb3QodGhpcy5kaXJlY3Rpb24pO2lmKDA+YylyZXR1cm4gdGhpcy5vcmlnaW4uZGlzdGFuY2VUb1NxdWFyZWQoYSk7bmQuY29weSh0aGlzLmRpcmVjdGlvbikubXVsdGlwbHlTY2FsYXIoYykuYWRkKHRoaXMub3JpZ2luKTsKcmV0dXJuIG5kLmRpc3RhbmNlVG9TcXVhcmVkKGEpfSxkaXN0YW5jZVNxVG9TZWdtZW50OmZ1bmN0aW9uKGEsYyxlLGcpe0RpLmNvcHkoYSkuYWRkKGMpLm11bHRpcGx5U2NhbGFyKC41KTtuaC5jb3B5KGMpLnN1YihhKS5ub3JtYWxpemUoKTtKZC5jb3B5KHRoaXMub3JpZ2luKS5zdWIoRGkpO3ZhciB0PS41KmEuZGlzdGFuY2VUbyhjKSx2PS10aGlzLmRpcmVjdGlvbi5kb3QobmgpLHo9SmQuZG90KHRoaXMuZGlyZWN0aW9uKSxFPS1KZC5kb3QobmgpLEY9SmQubGVuZ3RoU3EoKSxJPU1hdGguYWJzKDEtdip2KTtpZigwPEkpe2E9dipFLXo7Yz12KnotRTt2YXIgTT10Kkk7MDw9YT9jPj0tTT9jPD1NPyh0PTEvSSxhKj10LGMqPXQsdj1hKihhK3YqYysyKnopK2MqKHYqYStjKzIqRSkrRik6KGM9dCxhPU1hdGgubWF4KDAsLSh2KmMreikpLHY9LWEqYStjKihjKzIqRSkrRik6KGM9LXQsYT1NYXRoLm1heCgwLC0odipjK3opKSx2PS1hKmErYyooYysyKkUpK0YpOmM8PS1NPyhhPU1hdGgubWF4KDAsCi0oLXYqdCt6KSksYz0wPGE/LXQ6TWF0aC5taW4oTWF0aC5tYXgoLXQsLUUpLHQpLHY9LWEqYStjKihjKzIqRSkrRik6Yzw9TT8oYT0wLGM9TWF0aC5taW4oTWF0aC5tYXgoLXQsLUUpLHQpLHY9YyooYysyKkUpK0YpOihhPU1hdGgubWF4KDAsLSh2KnQreikpLGM9MDxhP3Q6TWF0aC5taW4oTWF0aC5tYXgoLXQsLUUpLHQpLHY9LWEqYStjKihjKzIqRSkrRil9ZWxzZSBjPTA8dj8tdDp0LGE9TWF0aC5tYXgoMCwtKHYqYyt6KSksdj0tYSphK2MqKGMrMipFKStGO2UmJmUuY29weSh0aGlzLmRpcmVjdGlvbikubXVsdGlwbHlTY2FsYXIoYSkuYWRkKHRoaXMub3JpZ2luKTtnJiZnLmNvcHkobmgpLm11bHRpcGx5U2NhbGFyKGMpLmFkZChEaSk7cmV0dXJuIHZ9LGludGVyc2VjdFNwaGVyZTpmdW5jdGlvbihhLGMpe25kLnN1YlZlY3RvcnMoYS5jZW50ZXIsdGhpcy5vcmlnaW4pO3ZhciBlPW5kLmRvdCh0aGlzLmRpcmVjdGlvbiksZz1uZC5kb3QobmQpLWUqZTthPWEucmFkaXVzKmEucmFkaXVzOwppZihnPmEpcmV0dXJuIG51bGw7YT1NYXRoLnNxcnQoYS1nKTtnPWUtYTtlKz1hO3JldHVybiAwPmcmJjA+ZT9udWxsOjA+Zz90aGlzLmF0KGUsYyk6dGhpcy5hdChnLGMpfSxpbnRlcnNlY3RzU3BoZXJlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmRpc3RhbmNlU3FUb1BvaW50KGEuY2VudGVyKTw9YS5yYWRpdXMqYS5yYWRpdXN9LGRpc3RhbmNlVG9QbGFuZTpmdW5jdGlvbihhKXt2YXIgYz1hLm5vcm1hbC5kb3QodGhpcy5kaXJlY3Rpb24pO2lmKDA9PT1jKXJldHVybiAwPT09YS5kaXN0YW5jZVRvUG9pbnQodGhpcy5vcmlnaW4pPzA6bnVsbDthPS0odGhpcy5vcmlnaW4uZG90KGEubm9ybWFsKSthLmNvbnN0YW50KS9jO3JldHVybiAwPD1hP2E6bnVsbH0saW50ZXJzZWN0UGxhbmU6ZnVuY3Rpb24oYSxjKXthPXRoaXMuZGlzdGFuY2VUb1BsYW5lKGEpO3JldHVybiBudWxsPT09YT9udWxsOnRoaXMuYXQoYSxjKX0saW50ZXJzZWN0c1BsYW5lOmZ1bmN0aW9uKGEpe3ZhciBjPWEuZGlzdGFuY2VUb1BvaW50KHRoaXMub3JpZ2luKTsKcmV0dXJuIDA9PT1jfHwwPmEubm9ybWFsLmRvdCh0aGlzLmRpcmVjdGlvbikqYz8hMDohMX0saW50ZXJzZWN0Qm94OmZ1bmN0aW9uKGEsYyl7dmFyIGU9MS90aGlzLmRpcmVjdGlvbi54O3ZhciBnPTEvdGhpcy5kaXJlY3Rpb24ueTt2YXIgdD0xL3RoaXMuZGlyZWN0aW9uLnosdj10aGlzLm9yaWdpbjtpZigwPD1lKXt2YXIgej0oYS5taW4ueC12LngpKmU7ZSo9YS5tYXgueC12Lnh9ZWxzZSB6PShhLm1heC54LXYueCkqZSxlKj1hLm1pbi54LXYueDtpZigwPD1nKXt2YXIgRT0oYS5taW4ueS12LnkpKmc7Zyo9YS5tYXgueS12Lnl9ZWxzZSBFPShhLm1heC55LXYueSkqZyxnKj1hLm1pbi55LXYueTtpZih6Pmd8fEU+ZSlyZXR1cm4gbnVsbDtpZihFPnp8fHohPT16KXo9RTtpZihnPGV8fGUhPT1lKWU9ZzswPD10PyhFPShhLm1pbi56LXYueikqdCxhPShhLm1heC56LXYueikqdCk6KEU9KGEubWF4Lnotdi56KSp0LGE9KGEubWluLnotdi56KSp0KTtpZih6PmF8fEU+ZSlyZXR1cm4gbnVsbDsKaWYoRT56fHx6IT09eil6PUU7aWYoYTxlfHxlIT09ZSllPWE7cmV0dXJuIDA+ZT9udWxsOnRoaXMuYXQoMDw9ej96OmUsYyl9LGludGVyc2VjdHNCb3g6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPT10aGlzLmludGVyc2VjdEJveChhLG5kKX0saW50ZXJzZWN0VHJpYW5nbGU6ZnVuY3Rpb24oYSxjLGUsZyx0KXtFaS5zdWJWZWN0b3JzKGMsYSk7b2guc3ViVmVjdG9ycyhlLGEpO0ZpLmNyb3NzVmVjdG9ycyhFaSxvaCk7Yz10aGlzLmRpcmVjdGlvbi5kb3QoRmkpO2lmKDA8Yyl7aWYoZylyZXR1cm4gbnVsbDtnPTF9ZWxzZSBpZigwPmMpZz0tMSxjPS1jO2Vsc2UgcmV0dXJuIG51bGw7SmQuc3ViVmVjdG9ycyh0aGlzLm9yaWdpbixhKTthPWcqdGhpcy5kaXJlY3Rpb24uZG90KG9oLmNyb3NzVmVjdG9ycyhKZCxvaCkpO2lmKDA+YSlyZXR1cm4gbnVsbDtlPWcqdGhpcy5kaXJlY3Rpb24uZG90KEVpLmNyb3NzKEpkKSk7aWYoMD5lfHxhK2U+YylyZXR1cm4gbnVsbDthPS1nKkpkLmRvdChGaSk7CnJldHVybiAwPmE/bnVsbDp0aGlzLmF0KGEvYyx0KX0sYXBwbHlNYXRyaXg0OmZ1bmN0aW9uKGEpe3RoaXMub3JpZ2luLmFwcGx5TWF0cml4NChhKTt0aGlzLmRpcmVjdGlvbi50cmFuc2Zvcm1EaXJlY3Rpb24oYSk7cmV0dXJuIHRoaXN9LGVxdWFsczpmdW5jdGlvbihhKXtyZXR1cm4gYS5vcmlnaW4uZXF1YWxzKHRoaXMub3JpZ2luKSYmYS5kaXJlY3Rpb24uZXF1YWxzKHRoaXMuZGlyZWN0aW9uKX19KTt2YXIgS2M9bmV3IGssb2Q9bmV3IGssR2k9bmV3IGsscGQ9bmV3IGssbWY9bmV3IGssbmY9bmV3IGsscms9bmV3IGssSGk9bmV3IGssSWk9bmV3IGssSmk9bmV3IGs7T2JqZWN0LmFzc2lnbihCLHtnZXROb3JtYWw6ZnVuY3Rpb24oYSxjLGUsZyl7dm9pZCAwPT09ZyYmKGNvbnNvbGUud2FybigiVEhSRUUuVHJpYW5nbGU6IC5nZXROb3JtYWwoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksZz1uZXcgayk7Zy5zdWJWZWN0b3JzKGUsYyk7S2Muc3ViVmVjdG9ycyhhLGMpO2cuY3Jvc3MoS2MpOwphPWcubGVuZ3RoU3EoKTtyZXR1cm4gMDxhP2cubXVsdGlwbHlTY2FsYXIoMS9NYXRoLnNxcnQoYSkpOmcuc2V0KDAsMCwwKX0sZ2V0QmFyeWNvb3JkOmZ1bmN0aW9uKGEsYyxlLGcsdCl7S2Muc3ViVmVjdG9ycyhnLGMpO29kLnN1YlZlY3RvcnMoZSxjKTtHaS5zdWJWZWN0b3JzKGEsYyk7YT1LYy5kb3QoS2MpO2M9S2MuZG90KG9kKTtlPUtjLmRvdChHaSk7dmFyIHY9b2QuZG90KG9kKTtnPW9kLmRvdChHaSk7dmFyIHo9YSp2LWMqYzt2b2lkIDA9PT10JiYoY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLmdldEJhcnljb29yZCgpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSx0PW5ldyBrKTtpZigwPT09eilyZXR1cm4gdC5zZXQoLTIsLTEsLTEpO3o9MS96O3Y9KHYqZS1jKmcpKno7YT0oYSpnLWMqZSkqejtyZXR1cm4gdC5zZXQoMS12LWEsYSx2KX0sY29udGFpbnNQb2ludDpmdW5jdGlvbihhLGMsZSxnKXtCLmdldEJhcnljb29yZChhLGMsZSxnLHBkKTtyZXR1cm4gMDw9cGQueCYmCjA8PXBkLnkmJjE+PXBkLngrcGQueX0sZ2V0VVY6ZnVuY3Rpb24oYSxjLGUsZyx0LHYseixFKXt0aGlzLmdldEJhcnljb29yZChhLGMsZSxnLHBkKTtFLnNldCgwLDApO0UuYWRkU2NhbGVkVmVjdG9yKHQscGQueCk7RS5hZGRTY2FsZWRWZWN0b3IodixwZC55KTtFLmFkZFNjYWxlZFZlY3Rvcih6LHBkLnopO3JldHVybiBFfSxpc0Zyb250RmFjaW5nOmZ1bmN0aW9uKGEsYyxlLGcpe0tjLnN1YlZlY3RvcnMoZSxjKTtvZC5zdWJWZWN0b3JzKGEsYyk7cmV0dXJuIDA+S2MuY3Jvc3Mob2QpLmRvdChnKT8hMDohMX19KTtPYmplY3QuYXNzaWduKEIucHJvdG90eXBlLHtzZXQ6ZnVuY3Rpb24oYSxjLGUpe3RoaXMuYS5jb3B5KGEpO3RoaXMuYi5jb3B5KGMpO3RoaXMuYy5jb3B5KGUpO3JldHVybiB0aGlzfSxzZXRGcm9tUG9pbnRzQW5kSW5kaWNlczpmdW5jdGlvbihhLGMsZSxnKXt0aGlzLmEuY29weShhW2NdKTt0aGlzLmIuY29weShhW2VdKTt0aGlzLmMuY29weShhW2ddKTtyZXR1cm4gdGhpc30sCmNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMuYS5jb3B5KGEuYSk7dGhpcy5iLmNvcHkoYS5iKTt0aGlzLmMuY29weShhLmMpO3JldHVybiB0aGlzfSxnZXRBcmVhOmZ1bmN0aW9uKCl7S2Muc3ViVmVjdG9ycyh0aGlzLmMsdGhpcy5iKTtvZC5zdWJWZWN0b3JzKHRoaXMuYSx0aGlzLmIpO3JldHVybi41KktjLmNyb3NzKG9kKS5sZW5ndGgoKX0sZ2V0TWlkcG9pbnQ6ZnVuY3Rpb24oYSl7dm9pZCAwPT09YSYmKGNvbnNvbGUud2FybigiVEhSRUUuVHJpYW5nbGU6IC5nZXRNaWRwb2ludCgpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBrKTtyZXR1cm4gYS5hZGRWZWN0b3JzKHRoaXMuYSx0aGlzLmIpLmFkZCh0aGlzLmMpLm11bHRpcGx5U2NhbGFyKDEvMyl9LGdldE5vcm1hbDpmdW5jdGlvbihhKXtyZXR1cm4gQi5nZXROb3JtYWwodGhpcy5hLHRoaXMuYix0aGlzLmMsYSl9LGdldFBsYW5lOmZ1bmN0aW9uKGEpe3ZvaWQgMD09PQphJiYoY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLmdldFBsYW5lKCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpLGE9bmV3IGspO3JldHVybiBhLnNldEZyb21Db3BsYW5hclBvaW50cyh0aGlzLmEsdGhpcy5iLHRoaXMuYyl9LGdldEJhcnljb29yZDpmdW5jdGlvbihhLGMpe3JldHVybiBCLmdldEJhcnljb29yZChhLHRoaXMuYSx0aGlzLmIsdGhpcy5jLGMpfSxnZXRVVjpmdW5jdGlvbihhLGMsZSxnLHQpe3JldHVybiBCLmdldFVWKGEsdGhpcy5hLHRoaXMuYix0aGlzLmMsYyxlLGcsdCl9LGNvbnRhaW5zUG9pbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEIuY29udGFpbnNQb2ludChhLHRoaXMuYSx0aGlzLmIsdGhpcy5jKX0saXNGcm9udEZhY2luZzpmdW5jdGlvbihhKXtyZXR1cm4gQi5pc0Zyb250RmFjaW5nKHRoaXMuYSx0aGlzLmIsdGhpcy5jLGEpfSxpbnRlcnNlY3RzQm94OmZ1bmN0aW9uKGEpe3JldHVybiBhLmludGVyc2VjdHNUcmlhbmdsZSh0aGlzKX0sY2xvc2VzdFBvaW50VG9Qb2ludDpmdW5jdGlvbihhLApjKXt2b2lkIDA9PT1jJiYoY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLmNsb3Nlc3RQb2ludFRvUG9pbnQoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksYz1uZXcgayk7dmFyIGU9dGhpcy5hLGc9dGhpcy5iLHQ9dGhpcy5jO21mLnN1YlZlY3RvcnMoZyxlKTtuZi5zdWJWZWN0b3JzKHQsZSk7SGkuc3ViVmVjdG9ycyhhLGUpO3ZhciB2PW1mLmRvdChIaSksej1uZi5kb3QoSGkpO2lmKDA+PXYmJjA+PXopcmV0dXJuIGMuY29weShlKTtJaS5zdWJWZWN0b3JzKGEsZyk7dmFyIEU9bWYuZG90KElpKSxGPW5mLmRvdChJaSk7aWYoMDw9RSYmRjw9RSlyZXR1cm4gYy5jb3B5KGcpO3ZhciBJPXYqRi1FKno7aWYoMD49SSYmMDw9diYmMD49RSlyZXR1cm4gZz12Lyh2LUUpLGMuY29weShlKS5hZGRTY2FsZWRWZWN0b3IobWYsZyk7Smkuc3ViVmVjdG9ycyhhLHQpO2E9bWYuZG90KEppKTt2YXIgTT1uZi5kb3QoSmkpO2lmKDA8PU0mJmE8PU0pcmV0dXJuIGMuY29weSh0KTt2PWEqei0KdipNO2lmKDA+PXYmJjA8PXomJjA+PU0pcmV0dXJuIEk9ei8oei1NKSxjLmNvcHkoZSkuYWRkU2NhbGVkVmVjdG9yKG5mLEkpO3o9RSpNLWEqRjtpZigwPj16JiYwPD1GLUUmJjA8PWEtTSlyZXR1cm4gcmsuc3ViVmVjdG9ycyh0LGcpLEk9KEYtRSkvKEYtRSsoYS1NKSksYy5jb3B5KGcpLmFkZFNjYWxlZFZlY3RvcihyayxJKTt0PTEvKHorditJKTtnPXYqdDtJKj10O3JldHVybiBjLmNvcHkoZSkuYWRkU2NhbGVkVmVjdG9yKG1mLGcpLmFkZFNjYWxlZFZlY3RvcihuZixJKX0sZXF1YWxzOmZ1bmN0aW9uKGEpe3JldHVybiBhLmEuZXF1YWxzKHRoaXMuYSkmJmEuYi5lcXVhbHModGhpcy5iKSYmYS5jLmVxdWFscyh0aGlzLmMpfX0pO3ZhciBabT17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSwKYmx1ZToyNTUsYmx1ZXZpb2xldDo5MDU1MjAyLGJyb3duOjEwODI0MjM0LGJ1cmx5d29vZDoxNDU5NjIzMSxjYWRldGJsdWU6NjI2NjUyOCxjaGFydHJldXNlOjgzODgzNTIsY2hvY29sYXRlOjEzNzg5NDcwLGNvcmFsOjE2NzQ0MjcyLGNvcm5mbG93ZXJibHVlOjY1OTE5ODEsY29ybnNpbGs6MTY3NzUzODgsY3JpbXNvbjoxNDQyMzEwMCxjeWFuOjY1NTM1LGRhcmtibHVlOjEzOSxkYXJrY3lhbjozNTcyMyxkYXJrZ29sZGVucm9kOjEyMDkyOTM5LGRhcmtncmF5OjExMTE5MDE3LGRhcmtncmVlbjoyNTYwMCxkYXJrZ3JleToxMTExOTAxNyxkYXJra2hha2k6MTI0MzMyNTksZGFya21hZ2VudGE6OTEwOTY0MyxkYXJrb2xpdmVncmVlbjo1NTk3OTk5LGRhcmtvcmFuZ2U6MTY3NDc1MjAsZGFya29yY2hpZDoxMDA0MDAxMixkYXJrcmVkOjkxMDk1MDQsZGFya3NhbG1vbjoxNTMwODQxMCxkYXJrc2VhZ3JlZW46OTQxOTkxOSxkYXJrc2xhdGVibHVlOjQ3MzQzNDcsZGFya3NsYXRlZ3JheTozMTAwNDk1LApkYXJrc2xhdGVncmV5OjMxMDA0OTUsZGFya3R1cnF1b2lzZTo1Mjk0NSxkYXJrdmlvbGV0Ojk2OTk1MzksZGVlcHBpbms6MTY3MTY5NDcsZGVlcHNreWJsdWU6NDkxNTEsZGltZ3JheTo2OTA4MjY1LGRpbWdyZXk6NjkwODI2NSxkb2RnZXJibHVlOjIwMDMxOTksZmlyZWJyaWNrOjExNjc0MTQ2LGZsb3JhbHdoaXRlOjE2Nzc1OTIwLGZvcmVzdGdyZWVuOjIyNjM4NDIsZnVjaHNpYToxNjcxMTkzNSxnYWluc2Jvcm86MTQ0NzQ0NjAsZ2hvc3R3aGl0ZToxNjMxNjY3MSxnb2xkOjE2NzY2NzIwLGdvbGRlbnJvZDoxNDMyOTEyMCxncmF5Ojg0MjE1MDQsZ3JlZW46MzI3NjgsZ3JlZW55ZWxsb3c6MTE0MDMwNTUsZ3JleTo4NDIxNTA0LGhvbmV5ZGV3OjE1Nzk0MTYwLGhvdHBpbms6MTY3Mzg3NDAsaW5kaWFucmVkOjEzNDU4NTI0LGluZGlnbzo0OTE1MzMwLGl2b3J5OjE2Nzc3MjAwLGtoYWtpOjE1Nzg3NjYwLGxhdmVuZGVyOjE1MTMyNDEwLGxhdmVuZGVyYmx1c2g6MTY3NzMzNjUsbGF3bmdyZWVuOjgxOTA5NzYsCmxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NywKbWVkaXVtc2xhdGVibHVlOjgwODc3OTAsbWVkaXVtc3ByaW5nZ3JlZW46NjQxNTQsbWVkaXVtdHVycXVvaXNlOjQ3NzIzMDAsbWVkaXVtdmlvbGV0cmVkOjEzMDQ3MTczLG1pZG5pZ2h0Ymx1ZToxNjQ0OTEyLG1pbnRjcmVhbToxNjEyMTg1MCxtaXN0eXJvc2U6MTY3NzAyNzMsbW9jY2FzaW46MTY3NzAyMjksbmF2YWpvd2hpdGU6MTY3Njg2ODUsbmF2eToxMjgsb2xkbGFjZToxNjY0MzU1OCxvbGl2ZTo4NDIxMzc2LG9saXZlZHJhYjo3MDQ4NzM5LG9yYW5nZToxNjc1MzkyMCxvcmFuZ2VyZWQ6MTY3MjkzNDQsb3JjaGlkOjE0MzE1NzM0LHBhbGVnb2xkZW5yb2Q6MTU2NTcxMzAscGFsZWdyZWVuOjEwMDI1ODgwLHBhbGV0dXJxdW9pc2U6MTE1Mjk5NjYscGFsZXZpb2xldHJlZDoxNDM4MTIwMyxwYXBheWF3aGlwOjE2NzczMDc3LHBlYWNocHVmZjoxNjc2NzY3MyxwZXJ1OjEzNDY4OTkxLHBpbms6MTY3NjEwMzUscGx1bToxNDUyNDYzNyxwb3dkZXJibHVlOjExNTkxOTEwLHB1cnBsZTo4Mzg4NzM2LApyZWJlY2NhcHVycGxlOjY2OTc4ODEscmVkOjE2NzExNjgwLHJvc3licm93bjoxMjM1NzUxOSxyb3lhbGJsdWU6NDI4Njk0NSxzYWRkbGVicm93bjo5MTI3MTg3LHNhbG1vbjoxNjQxNjg4MixzYW5keWJyb3duOjE2MDMyODY0LHNlYWdyZWVuOjMwNTAzMjcsc2Vhc2hlbGw6MTY3NzQ2Mzgsc2llbm5hOjEwNTA2Nzk3LHNpbHZlcjoxMjYzMjI1Nixza3libHVlOjg5MDAzMzEsc2xhdGVibHVlOjY5NzAwNjEsc2xhdGVncmF5OjczNzI5NDQsc2xhdGVncmV5OjczNzI5NDQsc25vdzoxNjc3NTkzMCxzcHJpbmdncmVlbjo2NTQwNyxzdGVlbGJsdWU6NDYyMDk4MCx0YW46MTM4MDg3ODAsdGVhbDozMjg5Nix0aGlzdGxlOjE0MjA0ODg4LHRvbWF0bzoxNjczNzA5NSx0dXJxdW9pc2U6NDI1MTg1Nix2aW9sZXQ6MTU2MzEwODYsd2hlYXQ6MTYxMTMzMzEsd2hpdGU6MTY3NzcyMTUsd2hpdGVzbW9rZToxNjExOTI4NSx5ZWxsb3c6MTY3NzY5NjAseWVsbG93Z3JlZW46MTAxNDUwNzR9LG9jPXtoOjAsCnM6MCxsOjB9LHBoPXtoOjAsczowLGw6MH07T2JqZWN0LmFzc2lnbihILnByb3RvdHlwZSx7aXNDb2xvcjohMCxyOjEsZzoxLGI6MSxzZXQ6ZnVuY3Rpb24oYSl7YSYmYS5pc0NvbG9yP3RoaXMuY29weShhKToibnVtYmVyIj09PXR5cGVvZiBhP3RoaXMuc2V0SGV4KGEpOiJzdHJpbmciPT09dHlwZW9mIGEmJnRoaXMuc2V0U3R5bGUoYSk7cmV0dXJuIHRoaXN9LHNldFNjYWxhcjpmdW5jdGlvbihhKXt0aGlzLmI9dGhpcy5nPXRoaXMucj1hO3JldHVybiB0aGlzfSxzZXRIZXg6ZnVuY3Rpb24oYSl7YT1NYXRoLmZsb29yKGEpO3RoaXMucj0oYT4+MTYmMjU1KS8yNTU7dGhpcy5nPShhPj44JjI1NSkvMjU1O3RoaXMuYj0oYSYyNTUpLzI1NTtyZXR1cm4gdGhpc30sc2V0UkdCOmZ1bmN0aW9uKGEsYyxlKXt0aGlzLnI9YTt0aGlzLmc9Yzt0aGlzLmI9ZTtyZXR1cm4gdGhpc30sc2V0SFNMOmZ1bmN0aW9uKGEsYyxlKXthPWhiLmV1Y2xpZGVhbk1vZHVsbyhhLDEpO2M9aGIuY2xhbXAoYywwLAoxKTtlPWhiLmNsYW1wKGUsMCwxKTswPT09Yz90aGlzLnI9dGhpcy5nPXRoaXMuYj1lOihjPS41Pj1lP2UqKDErYyk6ZStjLWUqYyxlPTIqZS1jLHRoaXMucj1LKGUsYyxhKzEvMyksdGhpcy5nPUsoZSxjLGEpLHRoaXMuYj1LKGUsYyxhLTEvMykpO3JldHVybiB0aGlzfSxzZXRTdHlsZTpmdW5jdGlvbihhKXtmdW5jdGlvbiBjKHope3ZvaWQgMCE9PXomJjE+cGFyc2VGbG9hdCh6KSYmY29uc29sZS53YXJuKCJUSFJFRS5Db2xvcjogQWxwaGEgY29tcG9uZW50IG9mICIrYSsiIHdpbGwgYmUgaWdub3JlZC4iKX12YXIgZTtpZihlPS9eKCg/OnJnYnxoc2wpYT8pXChccyooW15cKV0qKVwpLy5leGVjKGEpKXt2YXIgZz1lWzJdO3N3aXRjaChlWzFdKXtjYXNlICJyZ2IiOmNhc2UgInJnYmEiOmlmKGU9L14oXGQrKVxzKixccyooXGQrKVxzKixccyooXGQrKVxzKigsXHMqKFswLTldKlwuP1swLTldKylccyopPyQvLmV4ZWMoZykpcmV0dXJuIHRoaXMucj1NYXRoLm1pbigyNTUscGFyc2VJbnQoZVsxXSwKMTApKS8yNTUsdGhpcy5nPU1hdGgubWluKDI1NSxwYXJzZUludChlWzJdLDEwKSkvMjU1LHRoaXMuYj1NYXRoLm1pbigyNTUscGFyc2VJbnQoZVszXSwxMCkpLzI1NSxjKGVbNV0pLHRoaXM7aWYoZT0vXihcZCspJVxzKixccyooXGQrKSVccyosXHMqKFxkKyklXHMqKCxccyooWzAtOV0qXC4/WzAtOV0rKVxzKik/JC8uZXhlYyhnKSlyZXR1cm4gdGhpcy5yPU1hdGgubWluKDEwMCxwYXJzZUludChlWzFdLDEwKSkvMTAwLHRoaXMuZz1NYXRoLm1pbigxMDAscGFyc2VJbnQoZVsyXSwxMCkpLzEwMCx0aGlzLmI9TWF0aC5taW4oMTAwLHBhcnNlSW50KGVbM10sMTApKS8xMDAsYyhlWzVdKSx0aGlzO2JyZWFrO2Nhc2UgImhzbCI6Y2FzZSAiaHNsYSI6aWYoZT0vXihbMC05XSpcLj9bMC05XSspXHMqLFxzKihcZCspJVxzKixccyooXGQrKSVccyooLFxzKihbMC05XSpcLj9bMC05XSspXHMqKT8kLy5leGVjKGcpKXtnPXBhcnNlRmxvYXQoZVsxXSkvMzYwO3ZhciB0PXBhcnNlSW50KGVbMl0sCjEwKS8xMDAsdj1wYXJzZUludChlWzNdLDEwKS8xMDA7YyhlWzVdKTtyZXR1cm4gdGhpcy5zZXRIU0woZyx0LHYpfX19ZWxzZSBpZihlPS9eIyhbQS1GYS1mMC05XSspJC8uZXhlYyhhKSl7ZT1lWzFdO2c9ZS5sZW5ndGg7aWYoMz09PWcpcmV0dXJuIHRoaXMucj1wYXJzZUludChlLmNoYXJBdCgwKStlLmNoYXJBdCgwKSwxNikvMjU1LHRoaXMuZz1wYXJzZUludChlLmNoYXJBdCgxKStlLmNoYXJBdCgxKSwxNikvMjU1LHRoaXMuYj1wYXJzZUludChlLmNoYXJBdCgyKStlLmNoYXJBdCgyKSwxNikvMjU1LHRoaXM7aWYoNj09PWcpcmV0dXJuIHRoaXMucj1wYXJzZUludChlLmNoYXJBdCgwKStlLmNoYXJBdCgxKSwxNikvMjU1LHRoaXMuZz1wYXJzZUludChlLmNoYXJBdCgyKStlLmNoYXJBdCgzKSwxNikvMjU1LHRoaXMuYj1wYXJzZUludChlLmNoYXJBdCg0KStlLmNoYXJBdCg1KSwxNikvMjU1LHRoaXN9YSYmMDxhLmxlbmd0aCYmKGU9Wm1bYV0sdm9pZCAwIT09ZT90aGlzLnNldEhleChlKToKY29uc29sZS53YXJuKCJUSFJFRS5Db2xvcjogVW5rbm93biBjb2xvciAiK2EpKTtyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5yLHRoaXMuZyx0aGlzLmIpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMucj1hLnI7dGhpcy5nPWEuZzt0aGlzLmI9YS5iO3JldHVybiB0aGlzfSxjb3B5R2FtbWFUb0xpbmVhcjpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWMmJihjPTIpO3RoaXMucj1NYXRoLnBvdyhhLnIsYyk7dGhpcy5nPU1hdGgucG93KGEuZyxjKTt0aGlzLmI9TWF0aC5wb3coYS5iLGMpO3JldHVybiB0aGlzfSxjb3B5TGluZWFyVG9HYW1tYTpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWMmJihjPTIpO2M9MDxjPzEvYzoxO3RoaXMucj1NYXRoLnBvdyhhLnIsYyk7dGhpcy5nPU1hdGgucG93KGEuZyxjKTt0aGlzLmI9TWF0aC5wb3coYS5iLGMpO3JldHVybiB0aGlzfSxjb252ZXJ0R2FtbWFUb0xpbmVhcjpmdW5jdGlvbihhKXt0aGlzLmNvcHlHYW1tYVRvTGluZWFyKHRoaXMsCmEpO3JldHVybiB0aGlzfSxjb252ZXJ0TGluZWFyVG9HYW1tYTpmdW5jdGlvbihhKXt0aGlzLmNvcHlMaW5lYXJUb0dhbW1hKHRoaXMsYSk7cmV0dXJuIHRoaXN9LGNvcHlTUkdCVG9MaW5lYXI6ZnVuY3Rpb24oYSl7dGhpcy5yPUwoYS5yKTt0aGlzLmc9TChhLmcpO3RoaXMuYj1MKGEuYik7cmV0dXJuIHRoaXN9LGNvcHlMaW5lYXJUb1NSR0I6ZnVuY3Rpb24oYSl7dGhpcy5yPUooYS5yKTt0aGlzLmc9SihhLmcpO3RoaXMuYj1KKGEuYik7cmV0dXJuIHRoaXN9LGNvbnZlcnRTUkdCVG9MaW5lYXI6ZnVuY3Rpb24oKXt0aGlzLmNvcHlTUkdCVG9MaW5lYXIodGhpcyk7cmV0dXJuIHRoaXN9LGNvbnZlcnRMaW5lYXJUb1NSR0I6ZnVuY3Rpb24oKXt0aGlzLmNvcHlMaW5lYXJUb1NSR0IodGhpcyk7cmV0dXJuIHRoaXN9LGdldEhleDpmdW5jdGlvbigpe3JldHVybiAyNTUqdGhpcy5yPDwxNl4yNTUqdGhpcy5nPDw4XjI1NSp0aGlzLmI8PDB9LGdldEhleFN0cmluZzpmdW5jdGlvbigpe3JldHVybigiMDAwMDAwIisKdGhpcy5nZXRIZXgoKS50b1N0cmluZygxNikpLnNsaWNlKC02KX0sZ2V0SFNMOmZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEmJihjb25zb2xlLndhcm4oIlRIUkVFLkNvbG9yOiAuZ2V0SFNMKCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpLGE9e2g6MCxzOjAsbDowfSk7dmFyIGM9dGhpcy5yLGU9dGhpcy5nLGc9dGhpcy5iLHQ9TWF0aC5tYXgoYyxlLGcpLHY9TWF0aC5taW4oYyxlLGcpLHosRT0odit0KS8yO2lmKHY9PT10KXY9ej0wO2Vsc2V7dmFyIEY9dC12O3Y9LjU+PUU/Ri8odCt2KTpGLygyLXQtdik7c3dpdGNoKHQpe2Nhc2UgYzp6PShlLWcpL0YrKGU8Zz82OjApO2JyZWFrO2Nhc2UgZTp6PShnLWMpL0YrMjticmVhaztjYXNlIGc6ej0oYy1lKS9GKzR9ei89Nn1hLmg9ejthLnM9djthLmw9RTtyZXR1cm4gYX0sZ2V0U3R5bGU6ZnVuY3Rpb24oKXtyZXR1cm4icmdiKCIrKDI1NSp0aGlzLnJ8MCkrIiwiKygyNTUqdGhpcy5nfDApKyIsIisoMjU1KnRoaXMuYnwwKSsiKSJ9LG9mZnNldEhTTDpmdW5jdGlvbihhLApjLGUpe3RoaXMuZ2V0SFNMKG9jKTtvYy5oKz1hO29jLnMrPWM7b2MubCs9ZTt0aGlzLnNldEhTTChvYy5oLG9jLnMsb2MubCk7cmV0dXJuIHRoaXN9LGFkZDpmdW5jdGlvbihhKXt0aGlzLnIrPWEucjt0aGlzLmcrPWEuZzt0aGlzLmIrPWEuYjtyZXR1cm4gdGhpc30sYWRkQ29sb3JzOmZ1bmN0aW9uKGEsYyl7dGhpcy5yPWEucitjLnI7dGhpcy5nPWEuZytjLmc7dGhpcy5iPWEuYitjLmI7cmV0dXJuIHRoaXN9LGFkZFNjYWxhcjpmdW5jdGlvbihhKXt0aGlzLnIrPWE7dGhpcy5nKz1hO3RoaXMuYis9YTtyZXR1cm4gdGhpc30sc3ViOmZ1bmN0aW9uKGEpe3RoaXMucj1NYXRoLm1heCgwLHRoaXMuci1hLnIpO3RoaXMuZz1NYXRoLm1heCgwLHRoaXMuZy1hLmcpO3RoaXMuYj1NYXRoLm1heCgwLHRoaXMuYi1hLmIpO3JldHVybiB0aGlzfSxtdWx0aXBseTpmdW5jdGlvbihhKXt0aGlzLnIqPWEucjt0aGlzLmcqPWEuZzt0aGlzLmIqPWEuYjtyZXR1cm4gdGhpc30sbXVsdGlwbHlTY2FsYXI6ZnVuY3Rpb24oYSl7dGhpcy5yKj0KYTt0aGlzLmcqPWE7dGhpcy5iKj1hO3JldHVybiB0aGlzfSxsZXJwOmZ1bmN0aW9uKGEsYyl7dGhpcy5yKz0oYS5yLXRoaXMucikqYzt0aGlzLmcrPShhLmctdGhpcy5nKSpjO3RoaXMuYis9KGEuYi10aGlzLmIpKmM7cmV0dXJuIHRoaXN9LGxlcnBIU0w6ZnVuY3Rpb24oYSxjKXt0aGlzLmdldEhTTChvYyk7YS5nZXRIU0wocGgpO2E9aGIubGVycChvYy5oLHBoLmgsYyk7dmFyIGU9aGIubGVycChvYy5zLHBoLnMsYyk7Yz1oYi5sZXJwKG9jLmwscGgubCxjKTt0aGlzLnNldEhTTChhLGUsYyk7cmV0dXJuIHRoaXN9LGVxdWFsczpmdW5jdGlvbihhKXtyZXR1cm4gYS5yPT09dGhpcy5yJiZhLmc9PT10aGlzLmcmJmEuYj09PXRoaXMuYn0sZnJvbUFycmF5OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGM9MCk7dGhpcy5yPWFbY107dGhpcy5nPWFbYysxXTt0aGlzLmI9YVtjKzJdO3JldHVybiB0aGlzfSx0b0FycmF5OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YSYmKGE9W10pO3ZvaWQgMD09PQpjJiYoYz0wKTthW2NdPXRoaXMucjthW2MrMV09dGhpcy5nO2FbYysyXT10aGlzLmI7cmV0dXJuIGF9LHRvSlNPTjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldEhleCgpfX0pO09iamVjdC5hc3NpZ24oTy5wcm90b3R5cGUse2Nsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMuYT1hLmE7dGhpcy5iPWEuYjt0aGlzLmM9YS5jO3RoaXMubm9ybWFsLmNvcHkoYS5ub3JtYWwpO3RoaXMuY29sb3IuY29weShhLmNvbG9yKTt0aGlzLm1hdGVyaWFsSW5kZXg9YS5tYXRlcmlhbEluZGV4O2Zvcih2YXIgYz0wLGU9YS52ZXJ0ZXhOb3JtYWxzLmxlbmd0aDtjPGU7YysrKXRoaXMudmVydGV4Tm9ybWFsc1tjXT1hLnZlcnRleE5vcm1hbHNbY10uY2xvbmUoKTtjPTA7Zm9yKGU9YS52ZXJ0ZXhDb2xvcnMubGVuZ3RoO2M8ZTtjKyspdGhpcy52ZXJ0ZXhDb2xvcnNbY109YS52ZXJ0ZXhDb2xvcnNbY10uY2xvbmUoKTsKcmV0dXJuIHRoaXN9fSk7dmFyIGpsPTA7Uy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6Uyxpc01hdGVyaWFsOiEwLG9uQmVmb3JlQ29tcGlsZTpmdW5jdGlvbigpe30sc2V0VmFsdWVzOmZ1bmN0aW9uKGEpe2lmKHZvaWQgMCE9PWEpZm9yKHZhciBjIGluIGEpe3ZhciBlPWFbY107aWYodm9pZCAwPT09ZSljb25zb2xlLndhcm4oIlRIUkVFLk1hdGVyaWFsOiAnIitjKyInIHBhcmFtZXRlciBpcyB1bmRlZmluZWQuIik7ZWxzZSBpZigic2hhZGluZyI9PT1jKWNvbnNvbGUud2FybigiVEhSRUUuIit0aGlzLnR5cGUrIjogLnNoYWRpbmcgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHRoZSBib29sZWFuIC5mbGF0U2hhZGluZyBpbnN0ZWFkLiIpLHRoaXMuZmxhdFNoYWRpbmc9MT09PWU/ITA6ITE7ZWxzZXt2YXIgZz10aGlzW2NdO3ZvaWQgMD09PWc/Y29uc29sZS53YXJuKCJUSFJFRS4iK3RoaXMudHlwZSsiOiAnIitjKyInIGlzIG5vdCBhIHByb3BlcnR5IG9mIHRoaXMgbWF0ZXJpYWwuIik6CmcmJmcuaXNDb2xvcj9nLnNldChlKTpnJiZnLmlzVmVjdG9yMyYmZSYmZS5pc1ZlY3RvcjM/Zy5jb3B5KGUpOnRoaXNbY109ZX19fSx0b0pTT046ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYyh0KXt2YXIgdj1bXSx6O2Zvcih6IGluIHQpe3ZhciBFPXRbel07ZGVsZXRlIEUubWV0YWRhdGE7di5wdXNoKEUpfXJldHVybiB2fXZhciBlPXZvaWQgMD09PWF8fCJzdHJpbmciPT09dHlwZW9mIGE7ZSYmKGE9e3RleHR1cmVzOnt9LGltYWdlczp7fX0pO3ZhciBnPXttZXRhZGF0YTp7dmVyc2lvbjo0LjUsdHlwZToiTWF0ZXJpYWwiLGdlbmVyYXRvcjoiTWF0ZXJpYWwudG9KU09OIn19O2cudXVpZD10aGlzLnV1aWQ7Zy50eXBlPXRoaXMudHlwZTsiIiE9PXRoaXMubmFtZSYmKGcubmFtZT10aGlzLm5hbWUpO3RoaXMuY29sb3ImJnRoaXMuY29sb3IuaXNDb2xvciYmKGcuY29sb3I9dGhpcy5jb2xvci5nZXRIZXgoKSk7dm9pZCAwIT09dGhpcy5yb3VnaG5lc3MmJihnLnJvdWdobmVzcz10aGlzLnJvdWdobmVzcyk7CnZvaWQgMCE9PXRoaXMubWV0YWxuZXNzJiYoZy5tZXRhbG5lc3M9dGhpcy5tZXRhbG5lc3MpO3RoaXMuZW1pc3NpdmUmJnRoaXMuZW1pc3NpdmUuaXNDb2xvciYmKGcuZW1pc3NpdmU9dGhpcy5lbWlzc2l2ZS5nZXRIZXgoKSk7dGhpcy5lbWlzc2l2ZUludGVuc2l0eSYmMSE9PXRoaXMuZW1pc3NpdmVJbnRlbnNpdHkmJihnLmVtaXNzaXZlSW50ZW5zaXR5PXRoaXMuZW1pc3NpdmVJbnRlbnNpdHkpO3RoaXMuc3BlY3VsYXImJnRoaXMuc3BlY3VsYXIuaXNDb2xvciYmKGcuc3BlY3VsYXI9dGhpcy5zcGVjdWxhci5nZXRIZXgoKSk7dm9pZCAwIT09dGhpcy5zaGluaW5lc3MmJihnLnNoaW5pbmVzcz10aGlzLnNoaW5pbmVzcyk7dm9pZCAwIT09dGhpcy5jbGVhcmNvYXQmJihnLmNsZWFyY29hdD10aGlzLmNsZWFyY29hdCk7dm9pZCAwIT09dGhpcy5jbGVhcmNvYXRSb3VnaG5lc3MmJihnLmNsZWFyY29hdFJvdWdobmVzcz10aGlzLmNsZWFyY29hdFJvdWdobmVzcyk7dGhpcy5jbGVhcmNvYXROb3JtYWxNYXAmJgp0aGlzLmNsZWFyY29hdE5vcm1hbE1hcC5pc1RleHR1cmUmJihnLmNsZWFyY29hdE5vcm1hbE1hcD10aGlzLmNsZWFyY29hdE5vcm1hbE1hcC50b0pTT04oYSkudXVpZCxnLmNsZWFyY29hdE5vcm1hbFNjYWxlPXRoaXMuY2xlYXJjb2F0Tm9ybWFsU2NhbGUudG9BcnJheSgpKTt0aGlzLm1hcCYmdGhpcy5tYXAuaXNUZXh0dXJlJiYoZy5tYXA9dGhpcy5tYXAudG9KU09OKGEpLnV1aWQpO3RoaXMubWF0Y2FwJiZ0aGlzLm1hdGNhcC5pc1RleHR1cmUmJihnLm1hdGNhcD10aGlzLm1hdGNhcC50b0pTT04oYSkudXVpZCk7dGhpcy5hbHBoYU1hcCYmdGhpcy5hbHBoYU1hcC5pc1RleHR1cmUmJihnLmFscGhhTWFwPXRoaXMuYWxwaGFNYXAudG9KU09OKGEpLnV1aWQpO3RoaXMubGlnaHRNYXAmJnRoaXMubGlnaHRNYXAuaXNUZXh0dXJlJiYoZy5saWdodE1hcD10aGlzLmxpZ2h0TWFwLnRvSlNPTihhKS51dWlkKTt0aGlzLmFvTWFwJiZ0aGlzLmFvTWFwLmlzVGV4dHVyZSYmKGcuYW9NYXA9dGhpcy5hb01hcC50b0pTT04oYSkudXVpZCwKZy5hb01hcEludGVuc2l0eT10aGlzLmFvTWFwSW50ZW5zaXR5KTt0aGlzLmJ1bXBNYXAmJnRoaXMuYnVtcE1hcC5pc1RleHR1cmUmJihnLmJ1bXBNYXA9dGhpcy5idW1wTWFwLnRvSlNPTihhKS51dWlkLGcuYnVtcFNjYWxlPXRoaXMuYnVtcFNjYWxlKTt0aGlzLm5vcm1hbE1hcCYmdGhpcy5ub3JtYWxNYXAuaXNUZXh0dXJlJiYoZy5ub3JtYWxNYXA9dGhpcy5ub3JtYWxNYXAudG9KU09OKGEpLnV1aWQsZy5ub3JtYWxNYXBUeXBlPXRoaXMubm9ybWFsTWFwVHlwZSxnLm5vcm1hbFNjYWxlPXRoaXMubm9ybWFsU2NhbGUudG9BcnJheSgpKTt0aGlzLmRpc3BsYWNlbWVudE1hcCYmdGhpcy5kaXNwbGFjZW1lbnRNYXAuaXNUZXh0dXJlJiYoZy5kaXNwbGFjZW1lbnRNYXA9dGhpcy5kaXNwbGFjZW1lbnRNYXAudG9KU09OKGEpLnV1aWQsZy5kaXNwbGFjZW1lbnRTY2FsZT10aGlzLmRpc3BsYWNlbWVudFNjYWxlLGcuZGlzcGxhY2VtZW50Qmlhcz10aGlzLmRpc3BsYWNlbWVudEJpYXMpO3RoaXMucm91Z2huZXNzTWFwJiYKdGhpcy5yb3VnaG5lc3NNYXAuaXNUZXh0dXJlJiYoZy5yb3VnaG5lc3NNYXA9dGhpcy5yb3VnaG5lc3NNYXAudG9KU09OKGEpLnV1aWQpO3RoaXMubWV0YWxuZXNzTWFwJiZ0aGlzLm1ldGFsbmVzc01hcC5pc1RleHR1cmUmJihnLm1ldGFsbmVzc01hcD10aGlzLm1ldGFsbmVzc01hcC50b0pTT04oYSkudXVpZCk7dGhpcy5lbWlzc2l2ZU1hcCYmdGhpcy5lbWlzc2l2ZU1hcC5pc1RleHR1cmUmJihnLmVtaXNzaXZlTWFwPXRoaXMuZW1pc3NpdmVNYXAudG9KU09OKGEpLnV1aWQpO3RoaXMuc3BlY3VsYXJNYXAmJnRoaXMuc3BlY3VsYXJNYXAuaXNUZXh0dXJlJiYoZy5zcGVjdWxhck1hcD10aGlzLnNwZWN1bGFyTWFwLnRvSlNPTihhKS51dWlkKTt0aGlzLmVudk1hcCYmdGhpcy5lbnZNYXAuaXNUZXh0dXJlJiYoZy5lbnZNYXA9dGhpcy5lbnZNYXAudG9KU09OKGEpLnV1aWQsZy5yZWZsZWN0aXZpdHk9dGhpcy5yZWZsZWN0aXZpdHksZy5yZWZyYWN0aW9uUmF0aW89dGhpcy5yZWZyYWN0aW9uUmF0aW8sCnZvaWQgMCE9PXRoaXMuY29tYmluZSYmKGcuY29tYmluZT10aGlzLmNvbWJpbmUpLHZvaWQgMCE9PXRoaXMuZW52TWFwSW50ZW5zaXR5JiYoZy5lbnZNYXBJbnRlbnNpdHk9dGhpcy5lbnZNYXBJbnRlbnNpdHkpKTt0aGlzLmdyYWRpZW50TWFwJiZ0aGlzLmdyYWRpZW50TWFwLmlzVGV4dHVyZSYmKGcuZ3JhZGllbnRNYXA9dGhpcy5ncmFkaWVudE1hcC50b0pTT04oYSkudXVpZCk7dm9pZCAwIT09dGhpcy5zaXplJiYoZy5zaXplPXRoaXMuc2l6ZSk7dm9pZCAwIT09dGhpcy5zaXplQXR0ZW51YXRpb24mJihnLnNpemVBdHRlbnVhdGlvbj10aGlzLnNpemVBdHRlbnVhdGlvbik7MSE9PXRoaXMuYmxlbmRpbmcmJihnLmJsZW5kaW5nPXRoaXMuYmxlbmRpbmcpOyEwPT09dGhpcy5mbGF0U2hhZGluZyYmKGcuZmxhdFNoYWRpbmc9dGhpcy5mbGF0U2hhZGluZyk7MCE9PXRoaXMuc2lkZSYmKGcuc2lkZT10aGlzLnNpZGUpOzAhPT10aGlzLnZlcnRleENvbG9ycyYmKGcudmVydGV4Q29sb3JzPQp0aGlzLnZlcnRleENvbG9ycyk7MT50aGlzLm9wYWNpdHkmJihnLm9wYWNpdHk9dGhpcy5vcGFjaXR5KTshMD09PXRoaXMudHJhbnNwYXJlbnQmJihnLnRyYW5zcGFyZW50PXRoaXMudHJhbnNwYXJlbnQpO2cuZGVwdGhGdW5jPXRoaXMuZGVwdGhGdW5jO2cuZGVwdGhUZXN0PXRoaXMuZGVwdGhUZXN0O2cuZGVwdGhXcml0ZT10aGlzLmRlcHRoV3JpdGU7Zy5zdGVuY2lsV3JpdGU9dGhpcy5zdGVuY2lsV3JpdGU7Zy5zdGVuY2lsRnVuYz10aGlzLnN0ZW5jaWxGdW5jO2cuc3RlbmNpbFJlZj10aGlzLnN0ZW5jaWxSZWY7Zy5zdGVuY2lsTWFzaz10aGlzLnN0ZW5jaWxNYXNrO2cuc3RlbmNpbEZhaWw9dGhpcy5zdGVuY2lsRmFpbDtnLnN0ZW5jaWxaRmFpbD10aGlzLnN0ZW5jaWxaRmFpbDtnLnN0ZW5jaWxaUGFzcz10aGlzLnN0ZW5jaWxaUGFzczt0aGlzLnJvdGF0aW9uJiYwIT09dGhpcy5yb3RhdGlvbiYmKGcucm90YXRpb249dGhpcy5yb3RhdGlvbik7ITA9PT10aGlzLnBvbHlnb25PZmZzZXQmJgooZy5wb2x5Z29uT2Zmc2V0PSEwKTswIT09dGhpcy5wb2x5Z29uT2Zmc2V0RmFjdG9yJiYoZy5wb2x5Z29uT2Zmc2V0RmFjdG9yPXRoaXMucG9seWdvbk9mZnNldEZhY3Rvcik7MCE9PXRoaXMucG9seWdvbk9mZnNldFVuaXRzJiYoZy5wb2x5Z29uT2Zmc2V0VW5pdHM9dGhpcy5wb2x5Z29uT2Zmc2V0VW5pdHMpO3RoaXMubGluZXdpZHRoJiYxIT09dGhpcy5saW5ld2lkdGgmJihnLmxpbmV3aWR0aD10aGlzLmxpbmV3aWR0aCk7dm9pZCAwIT09dGhpcy5kYXNoU2l6ZSYmKGcuZGFzaFNpemU9dGhpcy5kYXNoU2l6ZSk7dm9pZCAwIT09dGhpcy5nYXBTaXplJiYoZy5nYXBTaXplPXRoaXMuZ2FwU2l6ZSk7dm9pZCAwIT09dGhpcy5zY2FsZSYmKGcuc2NhbGU9dGhpcy5zY2FsZSk7ITA9PT10aGlzLmRpdGhlcmluZyYmKGcuZGl0aGVyaW5nPSEwKTswPHRoaXMuYWxwaGFUZXN0JiYoZy5hbHBoYVRlc3Q9dGhpcy5hbHBoYVRlc3QpOyEwPT09dGhpcy5wcmVtdWx0aXBsaWVkQWxwaGEmJihnLnByZW11bHRpcGxpZWRBbHBoYT0KdGhpcy5wcmVtdWx0aXBsaWVkQWxwaGEpOyEwPT09dGhpcy53aXJlZnJhbWUmJihnLndpcmVmcmFtZT10aGlzLndpcmVmcmFtZSk7MTx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aCYmKGcud2lyZWZyYW1lTGluZXdpZHRoPXRoaXMud2lyZWZyYW1lTGluZXdpZHRoKTsicm91bmQiIT09dGhpcy53aXJlZnJhbWVMaW5lY2FwJiYoZy53aXJlZnJhbWVMaW5lY2FwPXRoaXMud2lyZWZyYW1lTGluZWNhcCk7InJvdW5kIiE9PXRoaXMud2lyZWZyYW1lTGluZWpvaW4mJihnLndpcmVmcmFtZUxpbmVqb2luPXRoaXMud2lyZWZyYW1lTGluZWpvaW4pOyEwPT09dGhpcy5tb3JwaFRhcmdldHMmJihnLm1vcnBoVGFyZ2V0cz0hMCk7ITA9PT10aGlzLm1vcnBoTm9ybWFscyYmKGcubW9ycGhOb3JtYWxzPSEwKTshMD09PXRoaXMuc2tpbm5pbmcmJihnLnNraW5uaW5nPSEwKTshMT09PXRoaXMudmlzaWJsZSYmKGcudmlzaWJsZT0hMSk7ITE9PT10aGlzLnRvbmVNYXBwZWQmJihnLnRvbmVNYXBwZWQ9ITEpOwoie30iIT09SlNPTi5zdHJpbmdpZnkodGhpcy51c2VyRGF0YSkmJihnLnVzZXJEYXRhPXRoaXMudXNlckRhdGEpO2UmJihlPWMoYS50ZXh0dXJlcyksYT1jKGEuaW1hZ2VzKSwwPGUubGVuZ3RoJiYoZy50ZXh0dXJlcz1lKSwwPGEubGVuZ3RoJiYoZy5pbWFnZXM9YSkpO3JldHVybiBnfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX0sY29weTpmdW5jdGlvbihhKXt0aGlzLm5hbWU9YS5uYW1lO3RoaXMuZm9nPWEuZm9nO3RoaXMubGlnaHRzPWEubGlnaHRzO3RoaXMuYmxlbmRpbmc9YS5ibGVuZGluZzt0aGlzLnNpZGU9YS5zaWRlO3RoaXMuZmxhdFNoYWRpbmc9YS5mbGF0U2hhZGluZzt0aGlzLnZlcnRleENvbG9ycz1hLnZlcnRleENvbG9yczt0aGlzLm9wYWNpdHk9YS5vcGFjaXR5O3RoaXMudHJhbnNwYXJlbnQ9YS50cmFuc3BhcmVudDt0aGlzLmJsZW5kU3JjPWEuYmxlbmRTcmM7dGhpcy5ibGVuZERzdD1hLmJsZW5kRHN0O3RoaXMuYmxlbmRFcXVhdGlvbj0KYS5ibGVuZEVxdWF0aW9uO3RoaXMuYmxlbmRTcmNBbHBoYT1hLmJsZW5kU3JjQWxwaGE7dGhpcy5ibGVuZERzdEFscGhhPWEuYmxlbmREc3RBbHBoYTt0aGlzLmJsZW5kRXF1YXRpb25BbHBoYT1hLmJsZW5kRXF1YXRpb25BbHBoYTt0aGlzLmRlcHRoRnVuYz1hLmRlcHRoRnVuYzt0aGlzLmRlcHRoVGVzdD1hLmRlcHRoVGVzdDt0aGlzLmRlcHRoV3JpdGU9YS5kZXB0aFdyaXRlO3RoaXMuc3RlbmNpbFdyaXRlPWEuc3RlbmNpbFdyaXRlO3RoaXMuc3RlbmNpbEZ1bmM9YS5zdGVuY2lsRnVuYzt0aGlzLnN0ZW5jaWxSZWY9YS5zdGVuY2lsUmVmO3RoaXMuc3RlbmNpbE1hc2s9YS5zdGVuY2lsTWFzazt0aGlzLnN0ZW5jaWxGYWlsPWEuc3RlbmNpbEZhaWw7dGhpcy5zdGVuY2lsWkZhaWw9YS5zdGVuY2lsWkZhaWw7dGhpcy5zdGVuY2lsWlBhc3M9YS5zdGVuY2lsWlBhc3M7dGhpcy5jb2xvcldyaXRlPWEuY29sb3JXcml0ZTt0aGlzLnByZWNpc2lvbj1hLnByZWNpc2lvbjt0aGlzLnBvbHlnb25PZmZzZXQ9CmEucG9seWdvbk9mZnNldDt0aGlzLnBvbHlnb25PZmZzZXRGYWN0b3I9YS5wb2x5Z29uT2Zmc2V0RmFjdG9yO3RoaXMucG9seWdvbk9mZnNldFVuaXRzPWEucG9seWdvbk9mZnNldFVuaXRzO3RoaXMuZGl0aGVyaW5nPWEuZGl0aGVyaW5nO3RoaXMuYWxwaGFUZXN0PWEuYWxwaGFUZXN0O3RoaXMucHJlbXVsdGlwbGllZEFscGhhPWEucHJlbXVsdGlwbGllZEFscGhhO3RoaXMudmlzaWJsZT1hLnZpc2libGU7dGhpcy50b25lTWFwcGVkPWEudG9uZU1hcHBlZDt0aGlzLnVzZXJEYXRhPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYS51c2VyRGF0YSkpO3RoaXMuY2xpcFNoYWRvd3M9YS5jbGlwU2hhZG93czt0aGlzLmNsaXBJbnRlcnNlY3Rpb249YS5jbGlwSW50ZXJzZWN0aW9uO3ZhciBjPWEuY2xpcHBpbmdQbGFuZXMsZT1udWxsO2lmKG51bGwhPT1jKXt2YXIgZz1jLmxlbmd0aDtlPUFycmF5KGcpO2Zvcih2YXIgdD0wO3QhPT1nOysrdCllW3RdPWNbdF0uY2xvbmUoKX10aGlzLmNsaXBwaW5nUGxhbmVzPQplO3RoaXMuc2hhZG93U2lkZT1hLnNoYWRvd1NpZGU7cmV0dXJuIHRoaXN9LGRpc3Bvc2U6ZnVuY3Rpb24oKXt0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImRpc3Bvc2UifSl9fSk7Ti5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShTLnByb3RvdHlwZSk7Ti5wcm90b3R5cGUuY29uc3RydWN0b3I9TjtOLnByb3RvdHlwZS5pc01lc2hCYXNpY01hdGVyaWFsPSEwO04ucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7Uy5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5jb2xvci5jb3B5KGEuY29sb3IpO3RoaXMubWFwPWEubWFwO3RoaXMubGlnaHRNYXA9YS5saWdodE1hcDt0aGlzLmxpZ2h0TWFwSW50ZW5zaXR5PWEubGlnaHRNYXBJbnRlbnNpdHk7dGhpcy5hb01hcD1hLmFvTWFwO3RoaXMuYW9NYXBJbnRlbnNpdHk9YS5hb01hcEludGVuc2l0eTt0aGlzLnNwZWN1bGFyTWFwPWEuc3BlY3VsYXJNYXA7dGhpcy5hbHBoYU1hcD1hLmFscGhhTWFwO3RoaXMuZW52TWFwPWEuZW52TWFwOwp0aGlzLmNvbWJpbmU9YS5jb21iaW5lO3RoaXMucmVmbGVjdGl2aXR5PWEucmVmbGVjdGl2aXR5O3RoaXMucmVmcmFjdGlvblJhdGlvPWEucmVmcmFjdGlvblJhdGlvO3RoaXMud2lyZWZyYW1lPWEud2lyZWZyYW1lO3RoaXMud2lyZWZyYW1lTGluZXdpZHRoPWEud2lyZWZyYW1lTGluZXdpZHRoO3RoaXMud2lyZWZyYW1lTGluZWNhcD1hLndpcmVmcmFtZUxpbmVjYXA7dGhpcy53aXJlZnJhbWVMaW5lam9pbj1hLndpcmVmcmFtZUxpbmVqb2luO3RoaXMuc2tpbm5pbmc9YS5za2lubmluZzt0aGlzLm1vcnBoVGFyZ2V0cz1hLm1vcnBoVGFyZ2V0cztyZXR1cm4gdGhpc307T2JqZWN0LmRlZmluZVByb3BlcnR5KFIucHJvdG90eXBlLCJuZWVkc1VwZGF0ZSIse3NldDpmdW5jdGlvbihhKXshMD09PWEmJnRoaXMudmVyc2lvbisrfX0pO09iamVjdC5hc3NpZ24oUi5wcm90b3R5cGUse2lzQnVmZmVyQXR0cmlidXRlOiEwLG9uVXBsb2FkQ2FsbGJhY2s6ZnVuY3Rpb24oKXt9LHNldEFycmF5OmZ1bmN0aW9uKGEpe2lmKEFycmF5LmlzQXJyYXkoYSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiBhcnJheSBzaG91bGQgYmUgYSBUeXBlZCBBcnJheS4iKTsKdGhpcy5jb3VudD12b2lkIDAhPT1hP2EubGVuZ3RoL3RoaXMuaXRlbVNpemU6MDt0aGlzLmFycmF5PWE7cmV0dXJuIHRoaXN9LHNldER5bmFtaWM6ZnVuY3Rpb24oYSl7dGhpcy5keW5hbWljPWE7cmV0dXJuIHRoaXN9LGNvcHk6ZnVuY3Rpb24oYSl7dGhpcy5uYW1lPWEubmFtZTt0aGlzLmFycmF5PW5ldyBhLmFycmF5LmNvbnN0cnVjdG9yKGEuYXJyYXkpO3RoaXMuaXRlbVNpemU9YS5pdGVtU2l6ZTt0aGlzLmNvdW50PWEuY291bnQ7dGhpcy5ub3JtYWxpemVkPWEubm9ybWFsaXplZDt0aGlzLmR5bmFtaWM9YS5keW5hbWljO3JldHVybiB0aGlzfSxjb3B5QXQ6ZnVuY3Rpb24oYSxjLGUpe2EqPXRoaXMuaXRlbVNpemU7ZSo9Yy5pdGVtU2l6ZTtmb3IodmFyIGc9MCx0PXRoaXMuaXRlbVNpemU7Zzx0O2crKyl0aGlzLmFycmF5W2ErZ109Yy5hcnJheVtlK2ddO3JldHVybiB0aGlzfSxjb3B5QXJyYXk6ZnVuY3Rpb24oYSl7dGhpcy5hcnJheS5zZXQoYSk7cmV0dXJuIHRoaXN9LGNvcHlDb2xvcnNBcnJheTpmdW5jdGlvbihhKXtmb3IodmFyIGM9CnRoaXMuYXJyYXksZT0wLGc9MCx0PWEubGVuZ3RoO2c8dDtnKyspe3ZhciB2PWFbZ107dm9pZCAwPT09diYmKGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlLmNvcHlDb2xvcnNBcnJheSgpOiBjb2xvciBpcyB1bmRlZmluZWQiLGcpLHY9bmV3IEgpO2NbZSsrXT12LnI7Y1tlKytdPXYuZztjW2UrK109di5ifXJldHVybiB0aGlzfSxjb3B5VmVjdG9yMnNBcnJheTpmdW5jdGlvbihhKXtmb3IodmFyIGM9dGhpcy5hcnJheSxlPTAsZz0wLHQ9YS5sZW5ndGg7Zzx0O2crKyl7dmFyIHY9YVtnXTt2b2lkIDA9PT12JiYoY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJBdHRyaWJ1dGUuY29weVZlY3RvcjJzQXJyYXkoKTogdmVjdG9yIGlzIHVuZGVmaW5lZCIsZyksdj1uZXcgZik7Y1tlKytdPXYueDtjW2UrK109di55fXJldHVybiB0aGlzfSxjb3B5VmVjdG9yM3NBcnJheTpmdW5jdGlvbihhKXtmb3IodmFyIGM9dGhpcy5hcnJheSxlPTAsZz0wLHQ9YS5sZW5ndGg7Zzx0O2crKyl7dmFyIHY9CmFbZ107dm9pZCAwPT09diYmKGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlLmNvcHlWZWN0b3Izc0FycmF5KCk6IHZlY3RvciBpcyB1bmRlZmluZWQiLGcpLHY9bmV3IGspO2NbZSsrXT12Lng7Y1tlKytdPXYueTtjW2UrK109di56fXJldHVybiB0aGlzfSxjb3B5VmVjdG9yNHNBcnJheTpmdW5jdGlvbihhKXtmb3IodmFyIGM9dGhpcy5hcnJheSxlPTAsZz0wLHQ9YS5sZW5ndGg7Zzx0O2crKyl7dmFyIHY9YVtnXTt2b2lkIDA9PT12JiYoY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJBdHRyaWJ1dGUuY29weVZlY3RvcjRzQXJyYXkoKTogdmVjdG9yIGlzIHVuZGVmaW5lZCIsZyksdj1uZXcgcCk7Y1tlKytdPXYueDtjW2UrK109di55O2NbZSsrXT12Lno7Y1tlKytdPXYud31yZXR1cm4gdGhpc30sc2V0OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGM9MCk7dGhpcy5hcnJheS5zZXQoYSxjKTtyZXR1cm4gdGhpc30sZ2V0WDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5hcnJheVthKgp0aGlzLml0ZW1TaXplXX0sc2V0WDpmdW5jdGlvbihhLGMpe3RoaXMuYXJyYXlbYSp0aGlzLml0ZW1TaXplXT1jO3JldHVybiB0aGlzfSxnZXRZOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFycmF5W2EqdGhpcy5pdGVtU2l6ZSsxXX0sc2V0WTpmdW5jdGlvbihhLGMpe3RoaXMuYXJyYXlbYSp0aGlzLml0ZW1TaXplKzFdPWM7cmV0dXJuIHRoaXN9LGdldFo6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYXJyYXlbYSp0aGlzLml0ZW1TaXplKzJdfSxzZXRaOmZ1bmN0aW9uKGEsYyl7dGhpcy5hcnJheVthKnRoaXMuaXRlbVNpemUrMl09YztyZXR1cm4gdGhpc30sZ2V0VzpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5hcnJheVthKnRoaXMuaXRlbVNpemUrM119LHNldFc6ZnVuY3Rpb24oYSxjKXt0aGlzLmFycmF5W2EqdGhpcy5pdGVtU2l6ZSszXT1jO3JldHVybiB0aGlzfSxzZXRYWTpmdW5jdGlvbihhLGMsZSl7YSo9dGhpcy5pdGVtU2l6ZTt0aGlzLmFycmF5W2ErMF09Yzt0aGlzLmFycmF5W2ErCjFdPWU7cmV0dXJuIHRoaXN9LHNldFhZWjpmdW5jdGlvbihhLGMsZSxnKXthKj10aGlzLml0ZW1TaXplO3RoaXMuYXJyYXlbYSswXT1jO3RoaXMuYXJyYXlbYSsxXT1lO3RoaXMuYXJyYXlbYSsyXT1nO3JldHVybiB0aGlzfSxzZXRYWVpXOmZ1bmN0aW9uKGEsYyxlLGcsdCl7YSo9dGhpcy5pdGVtU2l6ZTt0aGlzLmFycmF5W2ErMF09Yzt0aGlzLmFycmF5W2ErMV09ZTt0aGlzLmFycmF5W2ErMl09Zzt0aGlzLmFycmF5W2ErM109dDtyZXR1cm4gdGhpc30sb25VcGxvYWQ6ZnVuY3Rpb24oYSl7dGhpcy5vblVwbG9hZENhbGxiYWNrPWE7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMuYXJyYXksdGhpcy5pdGVtU2l6ZSkpLmNvcHkodGhpcyl9LHRvSlNPTjpmdW5jdGlvbigpe3JldHVybntpdGVtU2l6ZTp0aGlzLml0ZW1TaXplLHR5cGU6dGhpcy5hcnJheS5jb25zdHJ1Y3Rvci5uYW1lLGFycmF5OkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHRoaXMuYXJyYXkpLApub3JtYWxpemVkOnRoaXMubm9ybWFsaXplZH19fSk7WC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShSLnByb3RvdHlwZSk7WC5wcm90b3R5cGUuY29uc3RydWN0b3I9WDthYS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShSLnByb3RvdHlwZSk7YWEucHJvdG90eXBlLmNvbnN0cnVjdG9yPWFhO2ZhLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFIucHJvdG90eXBlKTtmYS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZmE7b2EucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoUi5wcm90b3R5cGUpO29hLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1vYTtaLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFIucHJvdG90eXBlKTtaLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1aO2NhLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFIucHJvdG90eXBlKTtjYS5wcm90b3R5cGUuY29uc3RydWN0b3I9Y2E7amEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoUi5wcm90b3R5cGUpO2phLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1qYTsKYmEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoUi5wcm90b3R5cGUpO2JhLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1iYTtrYS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShSLnByb3RvdHlwZSk7a2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWthO09iamVjdC5hc3NpZ24oVy5wcm90b3R5cGUse2NvbXB1dGVHcm91cHM6ZnVuY3Rpb24oYSl7dmFyIGM9W10sZT12b2lkIDA7YT1hLmZhY2VzO2Zvcih2YXIgZz0wO2c8YS5sZW5ndGg7ZysrKXt2YXIgdD1hW2ddO2lmKHQubWF0ZXJpYWxJbmRleCE9PWUpe2U9dC5tYXRlcmlhbEluZGV4O3ZvaWQgMCE9PXYmJih2LmNvdW50PTMqZy12LnN0YXJ0LGMucHVzaCh2KSk7dmFyIHY9e3N0YXJ0OjMqZyxtYXRlcmlhbEluZGV4OmV9fX12b2lkIDAhPT12JiYodi5jb3VudD0zKmctdi5zdGFydCxjLnB1c2godikpO3RoaXMuZ3JvdXBzPWN9LGZyb21HZW9tZXRyeTpmdW5jdGlvbihhKXt2YXIgYz1hLmZhY2VzLGU9YS52ZXJ0aWNlcyxnPWEuZmFjZVZlcnRleFV2cywKdD1nWzBdJiYwPGdbMF0ubGVuZ3RoLHY9Z1sxXSYmMDxnWzFdLmxlbmd0aCx6PWEubW9ycGhUYXJnZXRzLEU9ei5sZW5ndGg7aWYoMDxFKXt2YXIgRj1bXTtmb3IodmFyIEk9MDtJPEU7SSsrKUZbSV09e25hbWU6eltJXS5uYW1lLGRhdGE6W119O3RoaXMubW9ycGhUYXJnZXRzLnBvc2l0aW9uPUZ9dmFyIE09YS5tb3JwaE5vcm1hbHMsUD1NLmxlbmd0aDtpZigwPFApe3ZhciBRPVtdO2ZvcihJPTA7STxQO0krKylRW0ldPXtuYW1lOk1bSV0ubmFtZSxkYXRhOltdfTt0aGlzLm1vcnBoVGFyZ2V0cy5ub3JtYWw9UX12YXIgVT1hLnNraW5JbmRpY2VzLFY9YS5za2luV2VpZ2h0cyxlYT1VLmxlbmd0aD09PWUubGVuZ3RoLGRhPVYubGVuZ3RoPT09ZS5sZW5ndGg7MDxlLmxlbmd0aCYmMD09PWMubGVuZ3RoJiZjb25zb2xlLmVycm9yKCJUSFJFRS5EaXJlY3RHZW9tZXRyeTogRmFjZWxlc3MgZ2VvbWV0cmllcyBhcmUgbm90IHN1cHBvcnRlZC4iKTtmb3IoST0wO0k8Yy5sZW5ndGg7SSsrKXt2YXIgcmE9CmNbSV07dGhpcy52ZXJ0aWNlcy5wdXNoKGVbcmEuYV0sZVtyYS5iXSxlW3JhLmNdKTt2YXIgcGE9cmEudmVydGV4Tm9ybWFsczszPT09cGEubGVuZ3RoP3RoaXMubm9ybWFscy5wdXNoKHBhWzBdLHBhWzFdLHBhWzJdKToocGE9cmEubm9ybWFsLHRoaXMubm9ybWFscy5wdXNoKHBhLHBhLHBhKSk7cGE9cmEudmVydGV4Q29sb3JzOzM9PT1wYS5sZW5ndGg/dGhpcy5jb2xvcnMucHVzaChwYVswXSxwYVsxXSxwYVsyXSk6KHBhPXJhLmNvbG9yLHRoaXMuY29sb3JzLnB1c2gocGEscGEscGEpKTshMD09PXQmJihwYT1nWzBdW0ldLHZvaWQgMCE9PXBhP3RoaXMudXZzLnB1c2gocGFbMF0scGFbMV0scGFbMl0pOihjb25zb2xlLndhcm4oIlRIUkVFLkRpcmVjdEdlb21ldHJ5LmZyb21HZW9tZXRyeSgpOiBVbmRlZmluZWQgdmVydGV4VXYgIixJKSx0aGlzLnV2cy5wdXNoKG5ldyBmLG5ldyBmLG5ldyBmKSkpOyEwPT09diYmKHBhPWdbMV1bSV0sdm9pZCAwIT09cGE/dGhpcy51dnMyLnB1c2gocGFbMF0sCnBhWzFdLHBhWzJdKTooY29uc29sZS53YXJuKCJUSFJFRS5EaXJlY3RHZW9tZXRyeS5mcm9tR2VvbWV0cnkoKTogVW5kZWZpbmVkIHZlcnRleFV2MiAiLEkpLHRoaXMudXZzMi5wdXNoKG5ldyBmLG5ldyBmLG5ldyBmKSkpO2ZvcihwYT0wO3BhPEU7cGErKyl7dmFyIHFhPXpbcGFdLnZlcnRpY2VzO0ZbcGFdLmRhdGEucHVzaChxYVtyYS5hXSxxYVtyYS5iXSxxYVtyYS5jXSl9Zm9yKHBhPTA7cGE8UDtwYSsrKXFhPU1bcGFdLnZlcnRleE5vcm1hbHNbSV0sUVtwYV0uZGF0YS5wdXNoKHFhLmEscWEuYixxYS5jKTtlYSYmdGhpcy5za2luSW5kaWNlcy5wdXNoKFVbcmEuYV0sVVtyYS5iXSxVW3JhLmNdKTtkYSYmdGhpcy5za2luV2VpZ2h0cy5wdXNoKFZbcmEuYV0sVltyYS5iXSxWW3JhLmNdKX10aGlzLmNvbXB1dGVHcm91cHMoYSk7dGhpcy52ZXJ0aWNlc05lZWRVcGRhdGU9YS52ZXJ0aWNlc05lZWRVcGRhdGU7dGhpcy5ub3JtYWxzTmVlZFVwZGF0ZT1hLm5vcm1hbHNOZWVkVXBkYXRlOwp0aGlzLmNvbG9yc05lZWRVcGRhdGU9YS5jb2xvcnNOZWVkVXBkYXRlO3RoaXMudXZzTmVlZFVwZGF0ZT1hLnV2c05lZWRVcGRhdGU7dGhpcy5ncm91cHNOZWVkVXBkYXRlPWEuZ3JvdXBzTmVlZFVwZGF0ZTtudWxsIT09YS5ib3VuZGluZ1NwaGVyZSYmKHRoaXMuYm91bmRpbmdTcGhlcmU9YS5ib3VuZGluZ1NwaGVyZS5jbG9uZSgpKTtudWxsIT09YS5ib3VuZGluZ0JveCYmKHRoaXMuYm91bmRpbmdCb3g9YS5ib3VuZGluZ0JveC5jbG9uZSgpKTtyZXR1cm4gdGhpc319KTt2YXIga2w9MSxaYz1uZXcgcSxLaT1uZXcgQSxxaD1uZXcgayxpZT1uZXcgeCxMaT1uZXcgeCxMYz1uZXcgazt2YS5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6dmEsaXNCdWZmZXJHZW9tZXRyeTohMCxnZXRJbmRleDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmluZGV4fSxzZXRJbmRleDpmdW5jdGlvbihhKXt0aGlzLmluZGV4PUFycmF5LmlzQXJyYXkoYSk/Cm5ldyAoNjU1MzU8RWEoYSk/amE6WikoYSwxKTphfSxhZGRBdHRyaWJ1dGU6ZnVuY3Rpb24oYSxjLGUpe2lmKCEoYyYmYy5pc0J1ZmZlckF0dHJpYnV0ZXx8YyYmYy5pc0ludGVybGVhdmVkQnVmZmVyQXR0cmlidXRlKSlyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeTogLmFkZEF0dHJpYnV0ZSgpIG5vdyBleHBlY3RzICggbmFtZSwgYXR0cmlidXRlICkuIiksdGhpcy5hZGRBdHRyaWJ1dGUoYSxuZXcgUihjLGUpKTtpZigiaW5kZXgiPT09YSlyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeS5hZGRBdHRyaWJ1dGU6IFVzZSAuc2V0SW5kZXgoKSBmb3IgaW5kZXggYXR0cmlidXRlLiIpLHRoaXMuc2V0SW5kZXgoYyksdGhpczt0aGlzLmF0dHJpYnV0ZXNbYV09YztyZXR1cm4gdGhpc30sZ2V0QXR0cmlidXRlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmF0dHJpYnV0ZXNbYV19LHJlbW92ZUF0dHJpYnV0ZTpmdW5jdGlvbihhKXtkZWxldGUgdGhpcy5hdHRyaWJ1dGVzW2FdOwpyZXR1cm4gdGhpc30sYWRkR3JvdXA6ZnVuY3Rpb24oYSxjLGUpe3RoaXMuZ3JvdXBzLnB1c2goe3N0YXJ0OmEsY291bnQ6YyxtYXRlcmlhbEluZGV4OnZvaWQgMCE9PWU/ZTowfSl9LGNsZWFyR3JvdXBzOmZ1bmN0aW9uKCl7dGhpcy5ncm91cHM9W119LHNldERyYXdSYW5nZTpmdW5jdGlvbihhLGMpe3RoaXMuZHJhd1JhbmdlLnN0YXJ0PWE7dGhpcy5kcmF3UmFuZ2UuY291bnQ9Y30sYXBwbHlNYXRyaXg6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5hdHRyaWJ1dGVzLnBvc2l0aW9uO3ZvaWQgMCE9PWMmJihhLmFwcGx5VG9CdWZmZXJBdHRyaWJ1dGUoYyksYy5uZWVkc1VwZGF0ZT0hMCk7dmFyIGU9dGhpcy5hdHRyaWJ1dGVzLm5vcm1hbDt2b2lkIDAhPT1lJiYoYz0obmV3IHIpLmdldE5vcm1hbE1hdHJpeChhKSxjLmFwcGx5VG9CdWZmZXJBdHRyaWJ1dGUoZSksZS5uZWVkc1VwZGF0ZT0hMCk7ZT10aGlzLmF0dHJpYnV0ZXMudGFuZ2VudDt2b2lkIDAhPT1lJiYoYz0obmV3IHIpLmdldE5vcm1hbE1hdHJpeChhKSwKYy5hcHBseVRvQnVmZmVyQXR0cmlidXRlKGUpLGUubmVlZHNVcGRhdGU9ITApO251bGwhPT10aGlzLmJvdW5kaW5nQm94JiZ0aGlzLmNvbXB1dGVCb3VuZGluZ0JveCgpO251bGwhPT10aGlzLmJvdW5kaW5nU3BoZXJlJiZ0aGlzLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpO3JldHVybiB0aGlzfSxyb3RhdGVYOmZ1bmN0aW9uKGEpe1pjLm1ha2VSb3RhdGlvblgoYSk7dGhpcy5hcHBseU1hdHJpeChaYyk7cmV0dXJuIHRoaXN9LHJvdGF0ZVk6ZnVuY3Rpb24oYSl7WmMubWFrZVJvdGF0aW9uWShhKTt0aGlzLmFwcGx5TWF0cml4KFpjKTtyZXR1cm4gdGhpc30scm90YXRlWjpmdW5jdGlvbihhKXtaYy5tYWtlUm90YXRpb25aKGEpO3RoaXMuYXBwbHlNYXRyaXgoWmMpO3JldHVybiB0aGlzfSx0cmFuc2xhdGU6ZnVuY3Rpb24oYSxjLGUpe1pjLm1ha2VUcmFuc2xhdGlvbihhLGMsZSk7dGhpcy5hcHBseU1hdHJpeChaYyk7cmV0dXJuIHRoaXN9LHNjYWxlOmZ1bmN0aW9uKGEsYyxlKXtaYy5tYWtlU2NhbGUoYSwKYyxlKTt0aGlzLmFwcGx5TWF0cml4KFpjKTtyZXR1cm4gdGhpc30sbG9va0F0OmZ1bmN0aW9uKGEpe0tpLmxvb2tBdChhKTtLaS51cGRhdGVNYXRyaXgoKTt0aGlzLmFwcGx5TWF0cml4KEtpLm1hdHJpeCk7cmV0dXJuIHRoaXN9LGNlbnRlcjpmdW5jdGlvbigpe3RoaXMuY29tcHV0ZUJvdW5kaW5nQm94KCk7dGhpcy5ib3VuZGluZ0JveC5nZXRDZW50ZXIocWgpLm5lZ2F0ZSgpO3RoaXMudHJhbnNsYXRlKHFoLngscWgueSxxaC56KTtyZXR1cm4gdGhpc30sc2V0RnJvbU9iamVjdDpmdW5jdGlvbihhKXt2YXIgYz1hLmdlb21ldHJ5O2lmKGEuaXNQb2ludHN8fGEuaXNMaW5lKXthPW5ldyBiYSgzKmMudmVydGljZXMubGVuZ3RoLDMpO3ZhciBlPW5ldyBiYSgzKmMuY29sb3JzLmxlbmd0aCwzKTt0aGlzLmFkZEF0dHJpYnV0ZSgicG9zaXRpb24iLGEuY29weVZlY3RvcjNzQXJyYXkoYy52ZXJ0aWNlcykpO3RoaXMuYWRkQXR0cmlidXRlKCJjb2xvciIsZS5jb3B5Q29sb3JzQXJyYXkoYy5jb2xvcnMpKTsKYy5saW5lRGlzdGFuY2VzJiZjLmxpbmVEaXN0YW5jZXMubGVuZ3RoPT09Yy52ZXJ0aWNlcy5sZW5ndGgmJihhPW5ldyBiYShjLmxpbmVEaXN0YW5jZXMubGVuZ3RoLDEpLHRoaXMuYWRkQXR0cmlidXRlKCJsaW5lRGlzdGFuY2UiLGEuY29weUFycmF5KGMubGluZURpc3RhbmNlcykpKTtudWxsIT09Yy5ib3VuZGluZ1NwaGVyZSYmKHRoaXMuYm91bmRpbmdTcGhlcmU9Yy5ib3VuZGluZ1NwaGVyZS5jbG9uZSgpKTtudWxsIT09Yy5ib3VuZGluZ0JveCYmKHRoaXMuYm91bmRpbmdCb3g9Yy5ib3VuZGluZ0JveC5jbG9uZSgpKX1lbHNlIGEuaXNNZXNoJiZjJiZjLmlzR2VvbWV0cnkmJnRoaXMuZnJvbUdlb21ldHJ5KGMpO3JldHVybiB0aGlzfSxzZXRGcm9tUG9pbnRzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz1bXSxlPTAsZz1hLmxlbmd0aDtlPGc7ZSsrKXt2YXIgdD1hW2VdO2MucHVzaCh0LngsdC55LHQuenx8MCl9dGhpcy5hZGRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYmEoYywzKSk7CnJldHVybiB0aGlzfSx1cGRhdGVGcm9tT2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBjPWEuZ2VvbWV0cnk7aWYoYS5pc01lc2gpe3ZhciBlPWMuX19kaXJlY3RHZW9tZXRyeTshMD09PWMuZWxlbWVudHNOZWVkVXBkYXRlJiYoZT12b2lkIDAsYy5lbGVtZW50c05lZWRVcGRhdGU9ITEpO2lmKHZvaWQgMD09PWUpcmV0dXJuIHRoaXMuZnJvbUdlb21ldHJ5KGMpO2UudmVydGljZXNOZWVkVXBkYXRlPWMudmVydGljZXNOZWVkVXBkYXRlO2Uubm9ybWFsc05lZWRVcGRhdGU9Yy5ub3JtYWxzTmVlZFVwZGF0ZTtlLmNvbG9yc05lZWRVcGRhdGU9Yy5jb2xvcnNOZWVkVXBkYXRlO2UudXZzTmVlZFVwZGF0ZT1jLnV2c05lZWRVcGRhdGU7ZS5ncm91cHNOZWVkVXBkYXRlPWMuZ3JvdXBzTmVlZFVwZGF0ZTtjLnZlcnRpY2VzTmVlZFVwZGF0ZT0hMTtjLm5vcm1hbHNOZWVkVXBkYXRlPSExO2MuY29sb3JzTmVlZFVwZGF0ZT0hMTtjLnV2c05lZWRVcGRhdGU9ITE7Yy5ncm91cHNOZWVkVXBkYXRlPSExOwpjPWV9ITA9PT1jLnZlcnRpY2VzTmVlZFVwZGF0ZSYmKGU9dGhpcy5hdHRyaWJ1dGVzLnBvc2l0aW9uLHZvaWQgMCE9PWUmJihlLmNvcHlWZWN0b3Izc0FycmF5KGMudmVydGljZXMpLGUubmVlZHNVcGRhdGU9ITApLGMudmVydGljZXNOZWVkVXBkYXRlPSExKTshMD09PWMubm9ybWFsc05lZWRVcGRhdGUmJihlPXRoaXMuYXR0cmlidXRlcy5ub3JtYWwsdm9pZCAwIT09ZSYmKGUuY29weVZlY3RvcjNzQXJyYXkoYy5ub3JtYWxzKSxlLm5lZWRzVXBkYXRlPSEwKSxjLm5vcm1hbHNOZWVkVXBkYXRlPSExKTshMD09PWMuY29sb3JzTmVlZFVwZGF0ZSYmKGU9dGhpcy5hdHRyaWJ1dGVzLmNvbG9yLHZvaWQgMCE9PWUmJihlLmNvcHlDb2xvcnNBcnJheShjLmNvbG9ycyksZS5uZWVkc1VwZGF0ZT0hMCksYy5jb2xvcnNOZWVkVXBkYXRlPSExKTtjLnV2c05lZWRVcGRhdGUmJihlPXRoaXMuYXR0cmlidXRlcy51dix2b2lkIDAhPT1lJiYoZS5jb3B5VmVjdG9yMnNBcnJheShjLnV2cyksZS5uZWVkc1VwZGF0ZT0KITApLGMudXZzTmVlZFVwZGF0ZT0hMSk7Yy5saW5lRGlzdGFuY2VzTmVlZFVwZGF0ZSYmKGU9dGhpcy5hdHRyaWJ1dGVzLmxpbmVEaXN0YW5jZSx2b2lkIDAhPT1lJiYoZS5jb3B5QXJyYXkoYy5saW5lRGlzdGFuY2VzKSxlLm5lZWRzVXBkYXRlPSEwKSxjLmxpbmVEaXN0YW5jZXNOZWVkVXBkYXRlPSExKTtjLmdyb3Vwc05lZWRVcGRhdGUmJihjLmNvbXB1dGVHcm91cHMoYS5nZW9tZXRyeSksdGhpcy5ncm91cHM9Yy5ncm91cHMsYy5ncm91cHNOZWVkVXBkYXRlPSExKTtyZXR1cm4gdGhpc30sZnJvbUdlb21ldHJ5OmZ1bmN0aW9uKGEpe2EuX19kaXJlY3RHZW9tZXRyeT0obmV3IFcpLmZyb21HZW9tZXRyeShhKTtyZXR1cm4gdGhpcy5mcm9tRGlyZWN0R2VvbWV0cnkoYS5fX2RpcmVjdEdlb21ldHJ5KX0sZnJvbURpcmVjdEdlb21ldHJ5OmZ1bmN0aW9uKGEpe3RoaXMuYWRkQXR0cmlidXRlKCJwb3NpdGlvbiIsKG5ldyBSKG5ldyBGbG9hdDMyQXJyYXkoMyphLnZlcnRpY2VzLmxlbmd0aCksCjMpKS5jb3B5VmVjdG9yM3NBcnJheShhLnZlcnRpY2VzKSk7MDxhLm5vcm1hbHMubGVuZ3RoJiZ0aGlzLmFkZEF0dHJpYnV0ZSgibm9ybWFsIiwobmV3IFIobmV3IEZsb2F0MzJBcnJheSgzKmEubm9ybWFscy5sZW5ndGgpLDMpKS5jb3B5VmVjdG9yM3NBcnJheShhLm5vcm1hbHMpKTswPGEuY29sb3JzLmxlbmd0aCYmdGhpcy5hZGRBdHRyaWJ1dGUoImNvbG9yIiwobmV3IFIobmV3IEZsb2F0MzJBcnJheSgzKmEuY29sb3JzLmxlbmd0aCksMykpLmNvcHlDb2xvcnNBcnJheShhLmNvbG9ycykpOzA8YS51dnMubGVuZ3RoJiZ0aGlzLmFkZEF0dHJpYnV0ZSgidXYiLChuZXcgUihuZXcgRmxvYXQzMkFycmF5KDIqYS51dnMubGVuZ3RoKSwyKSkuY29weVZlY3RvcjJzQXJyYXkoYS51dnMpKTswPGEudXZzMi5sZW5ndGgmJnRoaXMuYWRkQXR0cmlidXRlKCJ1djIiLChuZXcgUihuZXcgRmxvYXQzMkFycmF5KDIqYS51dnMyLmxlbmd0aCksMikpLmNvcHlWZWN0b3Iyc0FycmF5KGEudXZzMikpOwp0aGlzLmdyb3Vwcz1hLmdyb3Vwcztmb3IodmFyIGMgaW4gYS5tb3JwaFRhcmdldHMpe2Zvcih2YXIgZT1bXSxnPWEubW9ycGhUYXJnZXRzW2NdLHQ9MCx2PWcubGVuZ3RoO3Q8djt0Kyspe3ZhciB6PWdbdF0sRT1uZXcgYmEoMyp6LmRhdGEubGVuZ3RoLDMpO0UubmFtZT16Lm5hbWU7ZS5wdXNoKEUuY29weVZlY3RvcjNzQXJyYXkoei5kYXRhKSl9dGhpcy5tb3JwaEF0dHJpYnV0ZXNbY109ZX0wPGEuc2tpbkluZGljZXMubGVuZ3RoJiYoYz1uZXcgYmEoNCphLnNraW5JbmRpY2VzLmxlbmd0aCw0KSx0aGlzLmFkZEF0dHJpYnV0ZSgic2tpbkluZGV4IixjLmNvcHlWZWN0b3I0c0FycmF5KGEuc2tpbkluZGljZXMpKSk7MDxhLnNraW5XZWlnaHRzLmxlbmd0aCYmKGM9bmV3IGJhKDQqYS5za2luV2VpZ2h0cy5sZW5ndGgsNCksdGhpcy5hZGRBdHRyaWJ1dGUoInNraW5XZWlnaHQiLGMuY29weVZlY3RvcjRzQXJyYXkoYS5za2luV2VpZ2h0cykpKTtudWxsIT09YS5ib3VuZGluZ1NwaGVyZSYmCih0aGlzLmJvdW5kaW5nU3BoZXJlPWEuYm91bmRpbmdTcGhlcmUuY2xvbmUoKSk7bnVsbCE9PWEuYm91bmRpbmdCb3gmJih0aGlzLmJvdW5kaW5nQm94PWEuYm91bmRpbmdCb3guY2xvbmUoKSk7cmV0dXJuIHRoaXN9LGNvbXB1dGVCb3VuZGluZ0JveDpmdW5jdGlvbigpe251bGw9PT10aGlzLmJvdW5kaW5nQm94JiYodGhpcy5ib3VuZGluZ0JveD1uZXcgeCk7dmFyIGE9dGhpcy5hdHRyaWJ1dGVzLnBvc2l0aW9uLGM9dGhpcy5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb247aWYodm9pZCAwIT09YSl7aWYodGhpcy5ib3VuZGluZ0JveC5zZXRGcm9tQnVmZmVyQXR0cmlidXRlKGEpLGMpe2E9MDtmb3IodmFyIGU9Yy5sZW5ndGg7YTxlO2ErKylpZS5zZXRGcm9tQnVmZmVyQXR0cmlidXRlKGNbYV0pLHRoaXMuYm91bmRpbmdCb3guZXhwYW5kQnlQb2ludChpZS5taW4pLHRoaXMuYm91bmRpbmdCb3guZXhwYW5kQnlQb2ludChpZS5tYXgpfX1lbHNlIHRoaXMuYm91bmRpbmdCb3gubWFrZUVtcHR5KCk7Cihpc05hTih0aGlzLmJvdW5kaW5nQm94Lm1pbi54KXx8aXNOYU4odGhpcy5ib3VuZGluZ0JveC5taW4ueSl8fGlzTmFOKHRoaXMuYm91bmRpbmdCb3gubWluLnopKSYmY29uc29sZS5lcnJvcignVEhSRUUuQnVmZmVyR2VvbWV0cnkuY29tcHV0ZUJvdW5kaW5nQm94OiBDb21wdXRlZCBtaW4vbWF4IGhhdmUgTmFOIHZhbHVlcy4gVGhlICJwb3NpdGlvbiIgYXR0cmlidXRlIGlzIGxpa2VseSB0byBoYXZlIE5hTiB2YWx1ZXMuJyx0aGlzKX0sY29tcHV0ZUJvdW5kaW5nU3BoZXJlOmZ1bmN0aW9uKCl7bnVsbD09PXRoaXMuYm91bmRpbmdTcGhlcmUmJih0aGlzLmJvdW5kaW5nU3BoZXJlPW5ldyBHKTt2YXIgYT10aGlzLmF0dHJpYnV0ZXMucG9zaXRpb24sYz10aGlzLm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbjtpZihhKXt2YXIgZT10aGlzLmJvdW5kaW5nU3BoZXJlLmNlbnRlcjtpZS5zZXRGcm9tQnVmZmVyQXR0cmlidXRlKGEpO2lmKGMpZm9yKHZhciBnPTAsdD1jLmxlbmd0aDtnPHQ7ZysrKXt2YXIgdj0KY1tnXTtMaS5zZXRGcm9tQnVmZmVyQXR0cmlidXRlKHYpO2llLmV4cGFuZEJ5UG9pbnQoTGkubWluKTtpZS5leHBhbmRCeVBvaW50KExpLm1heCl9aWUuZ2V0Q2VudGVyKGUpO3ZhciB6PTA7Zz0wO2Zvcih0PWEuY291bnQ7Zzx0O2crKylMYy5mcm9tQnVmZmVyQXR0cmlidXRlKGEsZyksej1NYXRoLm1heCh6LGUuZGlzdGFuY2VUb1NxdWFyZWQoTGMpKTtpZihjKWZvcihnPTAsdD1jLmxlbmd0aDtnPHQ7ZysrKXt2PWNbZ107YT0wO2Zvcih2YXIgRT12LmNvdW50O2E8RTthKyspTGMuZnJvbUJ1ZmZlckF0dHJpYnV0ZSh2LGEpLHo9TWF0aC5tYXgoeixlLmRpc3RhbmNlVG9TcXVhcmVkKExjKSl9dGhpcy5ib3VuZGluZ1NwaGVyZS5yYWRpdXM9TWF0aC5zcXJ0KHopO2lzTmFOKHRoaXMuYm91bmRpbmdTcGhlcmUucmFkaXVzKSYmY29uc29sZS5lcnJvcignVEhSRUUuQnVmZmVyR2VvbWV0cnkuY29tcHV0ZUJvdW5kaW5nU3BoZXJlKCk6IENvbXB1dGVkIHJhZGl1cyBpcyBOYU4uIFRoZSAicG9zaXRpb24iIGF0dHJpYnV0ZSBpcyBsaWtlbHkgdG8gaGF2ZSBOYU4gdmFsdWVzLicsCnRoaXMpfX0sY29tcHV0ZUZhY2VOb3JtYWxzOmZ1bmN0aW9uKCl7fSxjb21wdXRlVmVydGV4Tm9ybWFsczpmdW5jdGlvbigpe3ZhciBhPXRoaXMuaW5kZXgsYz10aGlzLmF0dHJpYnV0ZXM7aWYoYy5wb3NpdGlvbil7dmFyIGU9Yy5wb3NpdGlvbi5hcnJheTtpZih2b2lkIDA9PT1jLm5vcm1hbCl0aGlzLmFkZEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgUihuZXcgRmxvYXQzMkFycmF5KGUubGVuZ3RoKSwzKSk7ZWxzZSBmb3IodmFyIGc9Yy5ub3JtYWwuYXJyYXksdD0wLHY9Zy5sZW5ndGg7dDx2O3QrKylnW3RdPTA7Zz1jLm5vcm1hbC5hcnJheTt2YXIgej1uZXcgayxFPW5ldyBrLEY9bmV3IGssST1uZXcgayxNPW5ldyBrO2lmKGEpe3ZhciBQPWEuYXJyYXk7dD0wO2Zvcih2PWEuY291bnQ7dDx2O3QrPTMpe2E9MypQW3QrMF07dmFyIFE9MypQW3QrMV07dmFyIFU9MypQW3QrMl07ei5mcm9tQXJyYXkoZSxhKTtFLmZyb21BcnJheShlLFEpO0YuZnJvbUFycmF5KGUsVSk7SS5zdWJWZWN0b3JzKEYsCkUpO00uc3ViVmVjdG9ycyh6LEUpO0kuY3Jvc3MoTSk7Z1thXSs9SS54O2dbYSsxXSs9SS55O2dbYSsyXSs9SS56O2dbUV0rPUkueDtnW1ErMV0rPUkueTtnW1ErMl0rPUkuejtnW1VdKz1JLng7Z1tVKzFdKz1JLnk7Z1tVKzJdKz1JLnp9fWVsc2UgZm9yKHQ9MCx2PWUubGVuZ3RoO3Q8djt0Kz05KXouZnJvbUFycmF5KGUsdCksRS5mcm9tQXJyYXkoZSx0KzMpLEYuZnJvbUFycmF5KGUsdCs2KSxJLnN1YlZlY3RvcnMoRixFKSxNLnN1YlZlY3RvcnMoeixFKSxJLmNyb3NzKE0pLGdbdF09SS54LGdbdCsxXT1JLnksZ1t0KzJdPUkueixnW3QrM109SS54LGdbdCs0XT1JLnksZ1t0KzVdPUkueixnW3QrNl09SS54LGdbdCs3XT1JLnksZ1t0KzhdPUkuejt0aGlzLm5vcm1hbGl6ZU5vcm1hbHMoKTtjLm5vcm1hbC5uZWVkc1VwZGF0ZT0hMH19LG1lcmdlOmZ1bmN0aW9uKGEsYyl7aWYoYSYmYS5pc0J1ZmZlckdlb21ldHJ5KXt2b2lkIDA9PT1jJiYoYz0wLGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnkubWVyZ2UoKTogT3ZlcndyaXRpbmcgb3JpZ2luYWwgZ2VvbWV0cnksIHN0YXJ0aW5nIGF0IG9mZnNldFx4M2QwLiBVc2UgQnVmZmVyR2VvbWV0cnlVdGlscy5tZXJnZUJ1ZmZlckdlb21ldHJpZXMoKSBmb3IgbG9zc2xlc3MgbWVyZ2UuIikpOwp2YXIgZT10aGlzLmF0dHJpYnV0ZXMsZztmb3IoZyBpbiBlKWlmKHZvaWQgMCE9PWEuYXR0cmlidXRlc1tnXSl7dmFyIHQ9ZVtnXS5hcnJheSx2PWEuYXR0cmlidXRlc1tnXSx6PXYuYXJyYXksRT12Lml0ZW1TaXplKmM7dj1NYXRoLm1pbih6Lmxlbmd0aCx0Lmxlbmd0aC1FKTtmb3IodmFyIEY9MDtGPHY7RisrLEUrKyl0W0VdPXpbRl19cmV0dXJuIHRoaXN9Y29uc29sZS5lcnJvcigiVEhSRUUuQnVmZmVyR2VvbWV0cnkubWVyZ2UoKTogZ2VvbWV0cnkgbm90IGFuIGluc3RhbmNlIG9mIFRIUkVFLkJ1ZmZlckdlb21ldHJ5LiIsYSl9LG5vcm1hbGl6ZU5vcm1hbHM6ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcy5hdHRyaWJ1dGVzLm5vcm1hbCxjPTAsZT1hLmNvdW50O2M8ZTtjKyspTGMueD1hLmdldFgoYyksTGMueT1hLmdldFkoYyksTGMuej1hLmdldFooYyksTGMubm9ybWFsaXplKCksYS5zZXRYWVooYyxMYy54LExjLnksTGMueil9LHRvTm9uSW5kZXhlZDpmdW5jdGlvbigpe2Z1bmN0aW9uIGEoTSwKUCl7dmFyIFE9TS5hcnJheTtNPU0uaXRlbVNpemU7Zm9yKHZhciBVPW5ldyBRLmNvbnN0cnVjdG9yKFAubGVuZ3RoKk0pLFYsZWE9MCxkYT0wLHJhPVAubGVuZ3RoO2RhPHJhO2RhKyspe1Y9UFtkYV0qTTtmb3IodmFyIHBhPTA7cGE8TTtwYSsrKVVbZWErK109UVtWKytdfXJldHVybiBuZXcgUihVLE0pfWlmKG51bGw9PT10aGlzLmluZGV4KXJldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5LnRvTm9uSW5kZXhlZCgpOiBHZW9tZXRyeSBpcyBhbHJlYWR5IG5vbi1pbmRleGVkLiIpLHRoaXM7dmFyIGM9bmV3IHZhLGU9dGhpcy5pbmRleC5hcnJheSxnPXRoaXMuYXR0cmlidXRlcyx0O2Zvcih0IGluIGcpe3ZhciB2PWdbdF07dj1hKHYsZSk7Yy5hZGRBdHRyaWJ1dGUodCx2KX12YXIgej10aGlzLm1vcnBoQXR0cmlidXRlcztmb3IodCBpbiB6KXt2YXIgRT1bXSxGPXpbdF07Zz0wO2Zvcih2YXIgST1GLmxlbmd0aDtnPEk7ZysrKXY9RltnXSx2PWEodixlKSxFLnB1c2godik7CmMubW9ycGhBdHRyaWJ1dGVzW3RdPUV9ZT10aGlzLmdyb3VwcztnPTA7Zm9yKHQ9ZS5sZW5ndGg7Zzx0O2crKyl2PWVbZ10sYy5hZGRHcm91cCh2LnN0YXJ0LHYuY291bnQsdi5tYXRlcmlhbEluZGV4KTtyZXR1cm4gY30sdG9KU09OOmZ1bmN0aW9uKCl7dmFyIGE9e21ldGFkYXRhOnt2ZXJzaW9uOjQuNSx0eXBlOiJCdWZmZXJHZW9tZXRyeSIsZ2VuZXJhdG9yOiJCdWZmZXJHZW9tZXRyeS50b0pTT04ifX07YS51dWlkPXRoaXMudXVpZDthLnR5cGU9dGhpcy50eXBlOyIiIT09dGhpcy5uYW1lJiYoYS5uYW1lPXRoaXMubmFtZSk7MDxPYmplY3Qua2V5cyh0aGlzLnVzZXJEYXRhKS5sZW5ndGgmJihhLnVzZXJEYXRhPXRoaXMudXNlckRhdGEpO2lmKHZvaWQgMCE9PXRoaXMucGFyYW1ldGVycyl7dmFyIGM9dGhpcy5wYXJhbWV0ZXJzO2ZvcihJIGluIGMpdm9pZCAwIT09Y1tJXSYmKGFbSV09Y1tJXSk7cmV0dXJuIGF9YS5kYXRhPXthdHRyaWJ1dGVzOnt9fTtjPXRoaXMuaW5kZXg7bnVsbCE9PQpjJiYoYS5kYXRhLmluZGV4PXt0eXBlOmMuYXJyYXkuY29uc3RydWN0b3IubmFtZSxhcnJheTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChjLmFycmF5KX0pO3ZhciBlPXRoaXMuYXR0cmlidXRlcztmb3IoSSBpbiBlKXtjPWVbSV07dmFyIGc9Yy50b0pTT04oKTsiIiE9PWMubmFtZSYmKGcubmFtZT1jLm5hbWUpO2EuZGF0YS5hdHRyaWJ1dGVzW0ldPWd9ZT17fTt2YXIgdD0hMTtmb3IoSSBpbiB0aGlzLm1vcnBoQXR0cmlidXRlcyl7Zm9yKHZhciB2PXRoaXMubW9ycGhBdHRyaWJ1dGVzW0ldLHo9W10sRT0wLEY9di5sZW5ndGg7RTxGO0UrKyljPXZbRV0sZz1jLnRvSlNPTigpLCIiIT09Yy5uYW1lJiYoZy5uYW1lPWMubmFtZSksei5wdXNoKGcpOzA8ei5sZW5ndGgmJihlW0ldPXosdD0hMCl9dCYmKGEuZGF0YS5tb3JwaEF0dHJpYnV0ZXM9ZSk7dmFyIEk9dGhpcy5ncm91cHM7MDxJLmxlbmd0aCYmKGEuZGF0YS5ncm91cHM9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShJKSkpO0k9CnRoaXMuYm91bmRpbmdTcGhlcmU7bnVsbCE9PUkmJihhLmRhdGEuYm91bmRpbmdTcGhlcmU9e2NlbnRlcjpJLmNlbnRlci50b0FycmF5KCkscmFkaXVzOkkucmFkaXVzfSk7cmV0dXJuIGF9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB2YSkuY29weSh0aGlzKX0sY29weTpmdW5jdGlvbihhKXt2YXIgYzt0aGlzLmluZGV4PW51bGw7dGhpcy5hdHRyaWJ1dGVzPXt9O3RoaXMubW9ycGhBdHRyaWJ1dGVzPXt9O3RoaXMuZ3JvdXBzPVtdO3RoaXMuYm91bmRpbmdTcGhlcmU9dGhpcy5ib3VuZGluZ0JveD1udWxsO3RoaXMubmFtZT1hLm5hbWU7dmFyIGU9YS5pbmRleDtudWxsIT09ZSYmdGhpcy5zZXRJbmRleChlLmNsb25lKCkpO2U9YS5hdHRyaWJ1dGVzO2Zvcih6IGluIGUpdGhpcy5hZGRBdHRyaWJ1dGUoeixlW3pdLmNsb25lKCkpO3ZhciBnPWEubW9ycGhBdHRyaWJ1dGVzO2Zvcih6IGluIGcpe3ZhciB0PVtdLHY9Z1t6XTtlPTA7Zm9yKGM9di5sZW5ndGg7ZTxjO2UrKyl0LnB1c2godltlXS5jbG9uZSgpKTsKdGhpcy5tb3JwaEF0dHJpYnV0ZXNbel09dH12YXIgej1hLmdyb3VwcztlPTA7Zm9yKGM9ei5sZW5ndGg7ZTxjO2UrKylnPXpbZV0sdGhpcy5hZGRHcm91cChnLnN0YXJ0LGcuY291bnQsZy5tYXRlcmlhbEluZGV4KTt6PWEuYm91bmRpbmdCb3g7bnVsbCE9PXomJih0aGlzLmJvdW5kaW5nQm94PXouY2xvbmUoKSk7ej1hLmJvdW5kaW5nU3BoZXJlO251bGwhPT16JiYodGhpcy5ib3VuZGluZ1NwaGVyZT16LmNsb25lKCkpO3RoaXMuZHJhd1JhbmdlLnN0YXJ0PWEuZHJhd1JhbmdlLnN0YXJ0O3RoaXMuZHJhd1JhbmdlLmNvdW50PWEuZHJhd1JhbmdlLmNvdW50O3RoaXMudXNlckRhdGE9YS51c2VyRGF0YTtyZXR1cm4gdGhpc30sZGlzcG9zZTpmdW5jdGlvbigpe3RoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiZGlzcG9zZSJ9KX19KTt2YXIgc2s9bmV3IHEsamU9bmV3IEQsTWk9bmV3IEcsTmQ9bmV3IGssT2Q9bmV3IGssUGQ9bmV3IGssaWo9bmV3IGssamo9bmV3IGssa2o9bmV3IGssTmg9Cm5ldyBrLE9oPW5ldyBrLFBoPW5ldyBrLHFlPW5ldyBmLHJlPW5ldyBmLHNlPW5ldyBmLHVmPW5ldyBrLHZnPW5ldyBrO3lhLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoQS5wcm90b3R5cGUpLHtjb25zdHJ1Y3Rvcjp5YSxpc01lc2g6ITAsc2V0RHJhd01vZGU6ZnVuY3Rpb24oYSl7dGhpcy5kcmF3TW9kZT1hfSxjb3B5OmZ1bmN0aW9uKGEpe0EucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMuZHJhd01vZGU9YS5kcmF3TW9kZTt2b2lkIDAhPT1hLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcyYmKHRoaXMubW9ycGhUYXJnZXRJbmZsdWVuY2VzPWEubW9ycGhUYXJnZXRJbmZsdWVuY2VzLnNsaWNlKCkpO3ZvaWQgMCE9PWEubW9ycGhUYXJnZXREaWN0aW9uYXJ5JiYodGhpcy5tb3JwaFRhcmdldERpY3Rpb25hcnk9T2JqZWN0LmFzc2lnbih7fSxhLm1vcnBoVGFyZ2V0RGljdGlvbmFyeSkpO3JldHVybiB0aGlzfSx1cGRhdGVNb3JwaFRhcmdldHM6ZnVuY3Rpb24oKXt2YXIgYT0KdGhpcy5nZW9tZXRyeTtpZihhLmlzQnVmZmVyR2VvbWV0cnkpe2E9YS5tb3JwaEF0dHJpYnV0ZXM7dmFyIGM9T2JqZWN0LmtleXMoYSk7aWYoMDxjLmxlbmd0aCl7dmFyIGU9YVtjWzBdXTtpZih2b2lkIDAhPT1lKWZvcih0aGlzLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcz1bXSx0aGlzLm1vcnBoVGFyZ2V0RGljdGlvbmFyeT17fSxhPTAsYz1lLmxlbmd0aDthPGM7YSsrKXt2YXIgZz1lW2FdLm5hbWV8fFN0cmluZyhhKTt0aGlzLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcy5wdXNoKDApO3RoaXMubW9ycGhUYXJnZXREaWN0aW9uYXJ5W2ddPWF9fX1lbHNlIGE9YS5tb3JwaFRhcmdldHMsdm9pZCAwIT09YSYmMDxhLmxlbmd0aCYmY29uc29sZS5lcnJvcigiVEhSRUUuTWVzaC51cGRhdGVNb3JwaFRhcmdldHMoKSBubyBsb25nZXIgc3VwcG9ydHMgVEhSRUUuR2VvbWV0cnkuIFVzZSBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpfSxyYXljYXN0OmZ1bmN0aW9uKGEsYyl7dmFyIGU9dGhpcy5nZW9tZXRyeSwKZz10aGlzLm1hdGVyaWFsLHQ9dGhpcy5tYXRyaXhXb3JsZDtpZih2b2lkIDAhPT1nJiYobnVsbD09PWUuYm91bmRpbmdTcGhlcmUmJmUuY29tcHV0ZUJvdW5kaW5nU3BoZXJlKCksTWkuY29weShlLmJvdW5kaW5nU3BoZXJlKSxNaS5hcHBseU1hdHJpeDQodCksITEhPT1hLnJheS5pbnRlcnNlY3RzU3BoZXJlKE1pKSYmKHNrLmdldEludmVyc2UodCksamUuY29weShhLnJheSkuYXBwbHlNYXRyaXg0KHNrKSxudWxsPT09ZS5ib3VuZGluZ0JveHx8ITEhPT1qZS5pbnRlcnNlY3RzQm94KGUuYm91bmRpbmdCb3gpKSkpaWYoZS5pc0J1ZmZlckdlb21ldHJ5KXt2YXIgdj1lLmluZGV4O3Q9ZS5hdHRyaWJ1dGVzLnBvc2l0aW9uO3ZhciB6PWUubW9ycGhBdHRyaWJ1dGVzLnBvc2l0aW9uLEU9ZS5hdHRyaWJ1dGVzLnV2LEY9ZS5hdHRyaWJ1dGVzLnV2MixJPWUuZ3JvdXBzLE09ZS5kcmF3UmFuZ2UsUCxRO2lmKG51bGwhPT12KWlmKEFycmF5LmlzQXJyYXkoZykpe3ZhciBVPTA7Zm9yKFA9SS5sZW5ndGg7VTwKUDtVKyspe3ZhciBWPUlbVV07dmFyIGVhPWdbVi5tYXRlcmlhbEluZGV4XTt2YXIgZGE9TWF0aC5tYXgoVi5zdGFydCxNLnN0YXJ0KTtmb3IoUT1lPU1hdGgubWluKFYuc3RhcnQrVi5jb3VudCxNLnN0YXJ0K00uY291bnQpO2RhPFE7ZGErPTMpe2U9di5nZXRYKGRhKTt2YXIgcmE9di5nZXRYKGRhKzEpO3ZhciBwYT12LmdldFgoZGErMik7aWYoZT1GYSh0aGlzLGVhLGEsamUsdCx6LEUsRixlLHJhLHBhKSllLmZhY2VJbmRleD1NYXRoLmZsb29yKGRhLzMpLGUuZmFjZS5tYXRlcmlhbEluZGV4PVYubWF0ZXJpYWxJbmRleCxjLnB1c2goZSl9fX1lbHNlIGZvcihkYT1NYXRoLm1heCgwLE0uc3RhcnQpLGU9TWF0aC5taW4odi5jb3VudCxNLnN0YXJ0K00uY291bnQpLFU9ZGEsUD1lO1U8UDtVKz0zKXtpZihlPXYuZ2V0WChVKSxyYT12LmdldFgoVSsxKSxwYT12LmdldFgoVSsyKSxlPUZhKHRoaXMsZyxhLGplLHQseixFLEYsZSxyYSxwYSkpZS5mYWNlSW5kZXg9TWF0aC5mbG9vcihVLzMpLApjLnB1c2goZSl9ZWxzZSBpZih2b2lkIDAhPT10KWlmKEFycmF5LmlzQXJyYXkoZykpZm9yKFU9MCxQPUkubGVuZ3RoO1U8UDtVKyspZm9yKFY9SVtVXSxlYT1nW1YubWF0ZXJpYWxJbmRleF0sZGE9TWF0aC5tYXgoVi5zdGFydCxNLnN0YXJ0KSxRPWU9TWF0aC5taW4oVi5zdGFydCtWLmNvdW50LE0uc3RhcnQrTS5jb3VudCk7ZGE8UTtkYSs9Myl7aWYoZT1kYSxyYT1kYSsxLHBhPWRhKzIsZT1GYSh0aGlzLGVhLGEsamUsdCx6LEUsRixlLHJhLHBhKSllLmZhY2VJbmRleD1NYXRoLmZsb29yKGRhLzMpLGUuZmFjZS5tYXRlcmlhbEluZGV4PVYubWF0ZXJpYWxJbmRleCxjLnB1c2goZSl9ZWxzZSBmb3IoZGE9TWF0aC5tYXgoMCxNLnN0YXJ0KSxlPU1hdGgubWluKHQuY291bnQsTS5zdGFydCtNLmNvdW50KSxVPWRhLFA9ZTtVPFA7VSs9MylpZihlPVUscmE9VSsxLHBhPVUrMixlPUZhKHRoaXMsZyxhLGplLHQseixFLEYsZSxyYSxwYSkpZS5mYWNlSW5kZXg9TWF0aC5mbG9vcihVLzMpLGMucHVzaChlKX1lbHNlIGlmKGUuaXNHZW9tZXRyeSlmb3IodD0KQXJyYXkuaXNBcnJheShnKSx6PWUudmVydGljZXMsRT1lLmZhY2VzLGU9ZS5mYWNlVmVydGV4VXZzWzBdLDA8ZS5sZW5ndGgmJih2PWUpLFU9MCxQPUUubGVuZ3RoO1U8UDtVKyspaWYoVj1FW1VdLGU9dD9nW1YubWF0ZXJpYWxJbmRleF06Zyx2b2lkIDAhPT1lJiYoRj16W1YuYV0sST16W1YuYl0sTT16W1YuY10sZT1BYSh0aGlzLGUsYSxqZSxGLEksTSx1ZikpKXYmJnZbVV0mJihlYT12W1VdLHFlLmNvcHkoZWFbMF0pLHJlLmNvcHkoZWFbMV0pLHNlLmNvcHkoZWFbMl0pLGUudXY9Qi5nZXRVVih1ZixGLEksTSxxZSxyZSxzZSxuZXcgZikpLGUuZmFjZT1WLGUuZmFjZUluZGV4PVUsYy5wdXNoKGUpfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLmdlb21ldHJ5LHRoaXMubWF0ZXJpYWwpKS5jb3B5KHRoaXMpfX0pO3ZhciBsbD0wLCRjPW5ldyBxLE5pPW5ldyBBLHJoPW5ldyBrO3hhLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoZC5wcm90b3R5cGUpLAp7Y29uc3RydWN0b3I6eGEsaXNHZW9tZXRyeTohMCxhcHBseU1hdHJpeDpmdW5jdGlvbihhKXtmb3IodmFyIGM9KG5ldyByKS5nZXROb3JtYWxNYXRyaXgoYSksZT0wLGc9dGhpcy52ZXJ0aWNlcy5sZW5ndGg7ZTxnO2UrKyl0aGlzLnZlcnRpY2VzW2VdLmFwcGx5TWF0cml4NChhKTtlPTA7Zm9yKGc9dGhpcy5mYWNlcy5sZW5ndGg7ZTxnO2UrKyl7YT10aGlzLmZhY2VzW2VdO2Eubm9ybWFsLmFwcGx5TWF0cml4MyhjKS5ub3JtYWxpemUoKTtmb3IodmFyIHQ9MCx2PWEudmVydGV4Tm9ybWFscy5sZW5ndGg7dDx2O3QrKylhLnZlcnRleE5vcm1hbHNbdF0uYXBwbHlNYXRyaXgzKGMpLm5vcm1hbGl6ZSgpfW51bGwhPT10aGlzLmJvdW5kaW5nQm94JiZ0aGlzLmNvbXB1dGVCb3VuZGluZ0JveCgpO251bGwhPT10aGlzLmJvdW5kaW5nU3BoZXJlJiZ0aGlzLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpO3RoaXMubm9ybWFsc05lZWRVcGRhdGU9dGhpcy52ZXJ0aWNlc05lZWRVcGRhdGU9ITA7cmV0dXJuIHRoaXN9LApyb3RhdGVYOmZ1bmN0aW9uKGEpeyRjLm1ha2VSb3RhdGlvblgoYSk7dGhpcy5hcHBseU1hdHJpeCgkYyk7cmV0dXJuIHRoaXN9LHJvdGF0ZVk6ZnVuY3Rpb24oYSl7JGMubWFrZVJvdGF0aW9uWShhKTt0aGlzLmFwcGx5TWF0cml4KCRjKTtyZXR1cm4gdGhpc30scm90YXRlWjpmdW5jdGlvbihhKXskYy5tYWtlUm90YXRpb25aKGEpO3RoaXMuYXBwbHlNYXRyaXgoJGMpO3JldHVybiB0aGlzfSx0cmFuc2xhdGU6ZnVuY3Rpb24oYSxjLGUpeyRjLm1ha2VUcmFuc2xhdGlvbihhLGMsZSk7dGhpcy5hcHBseU1hdHJpeCgkYyk7cmV0dXJuIHRoaXN9LHNjYWxlOmZ1bmN0aW9uKGEsYyxlKXskYy5tYWtlU2NhbGUoYSxjLGUpO3RoaXMuYXBwbHlNYXRyaXgoJGMpO3JldHVybiB0aGlzfSxsb29rQXQ6ZnVuY3Rpb24oYSl7TmkubG9va0F0KGEpO05pLnVwZGF0ZU1hdHJpeCgpO3RoaXMuYXBwbHlNYXRyaXgoTmkubWF0cml4KTtyZXR1cm4gdGhpc30sZnJvbUJ1ZmZlckdlb21ldHJ5OmZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGMoVSwKVixlYSxkYSl7dmFyIHJhPXZvaWQgMD09PUU/W106W2UuY29sb3JzW1VdLmNsb25lKCksZS5jb2xvcnNbVl0uY2xvbmUoKSxlLmNvbG9yc1tlYV0uY2xvbmUoKV0scGE9dm9pZCAwPT09ej9bXTpbKG5ldyBrKS5mcm9tQXJyYXkoeiwzKlUpLChuZXcgaykuZnJvbUFycmF5KHosMypWKSwobmV3IGspLmZyb21BcnJheSh6LDMqZWEpXTtkYT1uZXcgTyhVLFYsZWEscGEscmEsZGEpO2UuZmFjZXMucHVzaChkYSk7dm9pZCAwIT09RiYmZS5mYWNlVmVydGV4VXZzWzBdLnB1c2goWyhuZXcgZikuZnJvbUFycmF5KEYsMipVKSwobmV3IGYpLmZyb21BcnJheShGLDIqViksKG5ldyBmKS5mcm9tQXJyYXkoRiwyKmVhKV0pO3ZvaWQgMCE9PUkmJmUuZmFjZVZlcnRleFV2c1sxXS5wdXNoKFsobmV3IGYpLmZyb21BcnJheShJLDIqVSksKG5ldyBmKS5mcm9tQXJyYXkoSSwyKlYpLChuZXcgZikuZnJvbUFycmF5KEksMiplYSldKX12YXIgZT10aGlzLGc9bnVsbCE9PWEuaW5kZXg/YS5pbmRleC5hcnJheToKdm9pZCAwLHQ9YS5hdHRyaWJ1dGVzLHY9dC5wb3NpdGlvbi5hcnJheSx6PXZvaWQgMCE9PXQubm9ybWFsP3Qubm9ybWFsLmFycmF5OnZvaWQgMCxFPXZvaWQgMCE9PXQuY29sb3I/dC5jb2xvci5hcnJheTp2b2lkIDAsRj12b2lkIDAhPT10LnV2P3QudXYuYXJyYXk6dm9pZCAwLEk9dm9pZCAwIT09dC51djI/dC51djIuYXJyYXk6dm9pZCAwO3ZvaWQgMCE9PUkmJih0aGlzLmZhY2VWZXJ0ZXhVdnNbMV09W10pO2Zvcih0PTA7dDx2Lmxlbmd0aDt0Kz0zKWUudmVydGljZXMucHVzaCgobmV3IGspLmZyb21BcnJheSh2LHQpKSx2b2lkIDAhPT1FJiZlLmNvbG9ycy5wdXNoKChuZXcgSCkuZnJvbUFycmF5KEUsdCkpO3ZhciBNPWEuZ3JvdXBzO2lmKDA8TS5sZW5ndGgpZm9yKHQ9MDt0PE0ubGVuZ3RoO3QrKyl7dj1NW3RdO3ZhciBQPXYuc3RhcnQsUT1QO2ZvcihQKz12LmNvdW50O1E8UDtRKz0zKXZvaWQgMCE9PWc/YyhnW1FdLGdbUSsxXSxnW1ErMl0sdi5tYXRlcmlhbEluZGV4KTpjKFEsClErMSxRKzIsdi5tYXRlcmlhbEluZGV4KX1lbHNlIGlmKHZvaWQgMCE9PWcpZm9yKHQ9MDt0PGcubGVuZ3RoO3QrPTMpYyhnW3RdLGdbdCsxXSxnW3QrMl0pO2Vsc2UgZm9yKHQ9MDt0PHYubGVuZ3RoLzM7dCs9MyljKHQsdCsxLHQrMik7dGhpcy5jb21wdXRlRmFjZU5vcm1hbHMoKTtudWxsIT09YS5ib3VuZGluZ0JveCYmKHRoaXMuYm91bmRpbmdCb3g9YS5ib3VuZGluZ0JveC5jbG9uZSgpKTtudWxsIT09YS5ib3VuZGluZ1NwaGVyZSYmKHRoaXMuYm91bmRpbmdTcGhlcmU9YS5ib3VuZGluZ1NwaGVyZS5jbG9uZSgpKTtyZXR1cm4gdGhpc30sY2VudGVyOmZ1bmN0aW9uKCl7dGhpcy5jb21wdXRlQm91bmRpbmdCb3goKTt0aGlzLmJvdW5kaW5nQm94LmdldENlbnRlcihyaCkubmVnYXRlKCk7dGhpcy50cmFuc2xhdGUocmgueCxyaC55LHJoLnopO3JldHVybiB0aGlzfSxub3JtYWxpemU6ZnVuY3Rpb24oKXt0aGlzLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpO3ZhciBhPXRoaXMuYm91bmRpbmdTcGhlcmUuY2VudGVyLApjPXRoaXMuYm91bmRpbmdTcGhlcmUucmFkaXVzO2M9MD09PWM/MToxL2M7dmFyIGU9bmV3IHE7ZS5zZXQoYywwLDAsLWMqYS54LDAsYywwLC1jKmEueSwwLDAsYywtYyphLnosMCwwLDAsMSk7dGhpcy5hcHBseU1hdHJpeChlKTtyZXR1cm4gdGhpc30sY29tcHV0ZUZhY2VOb3JtYWxzOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPW5ldyBrLGM9bmV3IGssZT0wLGc9dGhpcy5mYWNlcy5sZW5ndGg7ZTxnO2UrKyl7dmFyIHQ9dGhpcy5mYWNlc1tlXSx2PXRoaXMudmVydGljZXNbdC5hXSx6PXRoaXMudmVydGljZXNbdC5iXTthLnN1YlZlY3RvcnModGhpcy52ZXJ0aWNlc1t0LmNdLHopO2Muc3ViVmVjdG9ycyh2LHopO2EuY3Jvc3MoYyk7YS5ub3JtYWxpemUoKTt0Lm5vcm1hbC5jb3B5KGEpfX0sY29tcHV0ZVZlcnRleE5vcm1hbHM6ZnVuY3Rpb24oYSl7dm9pZCAwPT09YSYmKGE9ITApO3ZhciBjO3ZhciBlPUFycmF5KHRoaXMudmVydGljZXMubGVuZ3RoKTt2YXIgZz0wO2ZvcihjPXRoaXMudmVydGljZXMubGVuZ3RoO2c8CmM7ZysrKWVbZ109bmV3IGs7aWYoYSl7dmFyIHQ9bmV3IGssdj1uZXcgazthPTA7Zm9yKGc9dGhpcy5mYWNlcy5sZW5ndGg7YTxnO2ErKyl7Yz10aGlzLmZhY2VzW2FdO3ZhciB6PXRoaXMudmVydGljZXNbYy5hXTt2YXIgRT10aGlzLnZlcnRpY2VzW2MuYl07dmFyIEY9dGhpcy52ZXJ0aWNlc1tjLmNdO3Quc3ViVmVjdG9ycyhGLEUpO3Yuc3ViVmVjdG9ycyh6LEUpO3QuY3Jvc3Modik7ZVtjLmFdLmFkZCh0KTtlW2MuYl0uYWRkKHQpO2VbYy5jXS5hZGQodCl9fWVsc2UgZm9yKHRoaXMuY29tcHV0ZUZhY2VOb3JtYWxzKCksYT0wLGc9dGhpcy5mYWNlcy5sZW5ndGg7YTxnO2ErKyljPXRoaXMuZmFjZXNbYV0sZVtjLmFdLmFkZChjLm5vcm1hbCksZVtjLmJdLmFkZChjLm5vcm1hbCksZVtjLmNdLmFkZChjLm5vcm1hbCk7Zz0wO2ZvcihjPXRoaXMudmVydGljZXMubGVuZ3RoO2c8YztnKyspZVtnXS5ub3JtYWxpemUoKTthPTA7Zm9yKGc9dGhpcy5mYWNlcy5sZW5ndGg7YTxnO2ErKyljPQp0aGlzLmZhY2VzW2FdLHo9Yy52ZXJ0ZXhOb3JtYWxzLDM9PT16Lmxlbmd0aD8oelswXS5jb3B5KGVbYy5hXSkselsxXS5jb3B5KGVbYy5iXSkselsyXS5jb3B5KGVbYy5jXSkpOih6WzBdPWVbYy5hXS5jbG9uZSgpLHpbMV09ZVtjLmJdLmNsb25lKCkselsyXT1lW2MuY10uY2xvbmUoKSk7MDx0aGlzLmZhY2VzLmxlbmd0aCYmKHRoaXMubm9ybWFsc05lZWRVcGRhdGU9ITApfSxjb21wdXRlRmxhdFZlcnRleE5vcm1hbHM6ZnVuY3Rpb24oKXt2YXIgYTt0aGlzLmNvbXB1dGVGYWNlTm9ybWFscygpO3ZhciBjPTA7Zm9yKGE9dGhpcy5mYWNlcy5sZW5ndGg7YzxhO2MrKyl7dmFyIGU9dGhpcy5mYWNlc1tjXTt2YXIgZz1lLnZlcnRleE5vcm1hbHM7Mz09PWcubGVuZ3RoPyhnWzBdLmNvcHkoZS5ub3JtYWwpLGdbMV0uY29weShlLm5vcm1hbCksZ1syXS5jb3B5KGUubm9ybWFsKSk6KGdbMF09ZS5ub3JtYWwuY2xvbmUoKSxnWzFdPWUubm9ybWFsLmNsb25lKCksZ1syXT1lLm5vcm1hbC5jbG9uZSgpKX0wPAp0aGlzLmZhY2VzLmxlbmd0aCYmKHRoaXMubm9ybWFsc05lZWRVcGRhdGU9ITApfSxjb21wdXRlTW9ycGhOb3JtYWxzOmZ1bmN0aW9uKCl7dmFyIGEsYzt2YXIgZT0wO2ZvcihjPXRoaXMuZmFjZXMubGVuZ3RoO2U8YztlKyspe3ZhciBnPXRoaXMuZmFjZXNbZV07Zy5fX29yaWdpbmFsRmFjZU5vcm1hbD9nLl9fb3JpZ2luYWxGYWNlTm9ybWFsLmNvcHkoZy5ub3JtYWwpOmcuX19vcmlnaW5hbEZhY2VOb3JtYWw9Zy5ub3JtYWwuY2xvbmUoKTtnLl9fb3JpZ2luYWxWZXJ0ZXhOb3JtYWxzfHwoZy5fX29yaWdpbmFsVmVydGV4Tm9ybWFscz1bXSk7dmFyIHQ9MDtmb3IoYT1nLnZlcnRleE5vcm1hbHMubGVuZ3RoO3Q8YTt0KyspZy5fX29yaWdpbmFsVmVydGV4Tm9ybWFsc1t0XT9nLl9fb3JpZ2luYWxWZXJ0ZXhOb3JtYWxzW3RdLmNvcHkoZy52ZXJ0ZXhOb3JtYWxzW3RdKTpnLl9fb3JpZ2luYWxWZXJ0ZXhOb3JtYWxzW3RdPWcudmVydGV4Tm9ybWFsc1t0XS5jbG9uZSgpfXZhciB2PW5ldyB4YTsKdi5mYWNlcz10aGlzLmZhY2VzO3Q9MDtmb3IoYT10aGlzLm1vcnBoVGFyZ2V0cy5sZW5ndGg7dDxhO3QrKyl7aWYoIXRoaXMubW9ycGhOb3JtYWxzW3RdKXt0aGlzLm1vcnBoTm9ybWFsc1t0XT17fTt0aGlzLm1vcnBoTm9ybWFsc1t0XS5mYWNlTm9ybWFscz1bXTt0aGlzLm1vcnBoTm9ybWFsc1t0XS52ZXJ0ZXhOb3JtYWxzPVtdO2c9dGhpcy5tb3JwaE5vcm1hbHNbdF0uZmFjZU5vcm1hbHM7dmFyIHo9dGhpcy5tb3JwaE5vcm1hbHNbdF0udmVydGV4Tm9ybWFscztlPTA7Zm9yKGM9dGhpcy5mYWNlcy5sZW5ndGg7ZTxjO2UrKyl7dmFyIEU9bmV3IGs7dmFyIEY9e2E6bmV3IGssYjpuZXcgayxjOm5ldyBrfTtnLnB1c2goRSk7ei5wdXNoKEYpfX16PXRoaXMubW9ycGhOb3JtYWxzW3RdO3YudmVydGljZXM9dGhpcy5tb3JwaFRhcmdldHNbdF0udmVydGljZXM7di5jb21wdXRlRmFjZU5vcm1hbHMoKTt2LmNvbXB1dGVWZXJ0ZXhOb3JtYWxzKCk7ZT0wO2ZvcihjPXRoaXMuZmFjZXMubGVuZ3RoO2U8CmM7ZSsrKWc9dGhpcy5mYWNlc1tlXSxFPXouZmFjZU5vcm1hbHNbZV0sRj16LnZlcnRleE5vcm1hbHNbZV0sRS5jb3B5KGcubm9ybWFsKSxGLmEuY29weShnLnZlcnRleE5vcm1hbHNbMF0pLEYuYi5jb3B5KGcudmVydGV4Tm9ybWFsc1sxXSksRi5jLmNvcHkoZy52ZXJ0ZXhOb3JtYWxzWzJdKX1lPTA7Zm9yKGM9dGhpcy5mYWNlcy5sZW5ndGg7ZTxjO2UrKylnPXRoaXMuZmFjZXNbZV0sZy5ub3JtYWw9Zy5fX29yaWdpbmFsRmFjZU5vcm1hbCxnLnZlcnRleE5vcm1hbHM9Zy5fX29yaWdpbmFsVmVydGV4Tm9ybWFsc30sY29tcHV0ZUJvdW5kaW5nQm94OmZ1bmN0aW9uKCl7bnVsbD09PXRoaXMuYm91bmRpbmdCb3gmJih0aGlzLmJvdW5kaW5nQm94PW5ldyB4KTt0aGlzLmJvdW5kaW5nQm94LnNldEZyb21Qb2ludHModGhpcy52ZXJ0aWNlcyl9LGNvbXB1dGVCb3VuZGluZ1NwaGVyZTpmdW5jdGlvbigpe251bGw9PT10aGlzLmJvdW5kaW5nU3BoZXJlJiYodGhpcy5ib3VuZGluZ1NwaGVyZT0KbmV3IEcpO3RoaXMuYm91bmRpbmdTcGhlcmUuc2V0RnJvbVBvaW50cyh0aGlzLnZlcnRpY2VzKX0sbWVyZ2U6ZnVuY3Rpb24oYSxjLGUpe2lmKGEmJmEuaXNHZW9tZXRyeSl7dmFyIGcsdD10aGlzLnZlcnRpY2VzLmxlbmd0aCx2PXRoaXMudmVydGljZXMsej1hLnZlcnRpY2VzLEU9dGhpcy5mYWNlcyxGPWEuZmFjZXMsST10aGlzLmNvbG9ycyxNPWEuY29sb3JzO3ZvaWQgMD09PWUmJihlPTApO3ZvaWQgMCE9PWMmJihnPShuZXcgcikuZ2V0Tm9ybWFsTWF0cml4KGMpKTtmb3IodmFyIFA9MCxRPXoubGVuZ3RoO1A8UTtQKyspe3ZhciBVPXpbUF0uY2xvbmUoKTt2b2lkIDAhPT1jJiZVLmFwcGx5TWF0cml4NChjKTt2LnB1c2goVSl9UD0wO2ZvcihRPU0ubGVuZ3RoO1A8UTtQKyspSS5wdXNoKE1bUF0uY2xvbmUoKSk7UD0wO2ZvcihRPUYubGVuZ3RoO1A8UTtQKyspe3o9RltQXTt2YXIgVj16LnZlcnRleE5vcm1hbHM7TT16LnZlcnRleENvbG9ycztJPW5ldyBPKHouYSt0LHouYit0LHouYysKdCk7SS5ub3JtYWwuY29weSh6Lm5vcm1hbCk7dm9pZCAwIT09ZyYmSS5ub3JtYWwuYXBwbHlNYXRyaXgzKGcpLm5vcm1hbGl6ZSgpO2M9MDtmb3Iodj1WLmxlbmd0aDtjPHY7YysrKVU9VltjXS5jbG9uZSgpLHZvaWQgMCE9PWcmJlUuYXBwbHlNYXRyaXgzKGcpLm5vcm1hbGl6ZSgpLEkudmVydGV4Tm9ybWFscy5wdXNoKFUpO0kuY29sb3IuY29weSh6LmNvbG9yKTtjPTA7Zm9yKHY9TS5sZW5ndGg7Yzx2O2MrKylVPU1bY10sSS52ZXJ0ZXhDb2xvcnMucHVzaChVLmNsb25lKCkpO0kubWF0ZXJpYWxJbmRleD16Lm1hdGVyaWFsSW5kZXgrZTtFLnB1c2goSSl9UD0wO2ZvcihRPWEuZmFjZVZlcnRleFV2cy5sZW5ndGg7UDxRO1ArKylmb3IoZT1hLmZhY2VWZXJ0ZXhVdnNbUF0sdm9pZCAwPT09dGhpcy5mYWNlVmVydGV4VXZzW1BdJiYodGhpcy5mYWNlVmVydGV4VXZzW1BdPVtdKSxjPTAsdj1lLmxlbmd0aDtjPHY7YysrKXtnPWVbY107dD1bXTtFPTA7Zm9yKEY9Zy5sZW5ndGg7RTxGO0UrKyl0LnB1c2goZ1tFXS5jbG9uZSgpKTsKdGhpcy5mYWNlVmVydGV4VXZzW1BdLnB1c2godCl9fWVsc2UgY29uc29sZS5lcnJvcigiVEhSRUUuR2VvbWV0cnkubWVyZ2UoKTogZ2VvbWV0cnkgbm90IGFuIGluc3RhbmNlIG9mIFRIUkVFLkdlb21ldHJ5LiIsYSl9LG1lcmdlTWVzaDpmdW5jdGlvbihhKXthJiZhLmlzTWVzaD8oYS5tYXRyaXhBdXRvVXBkYXRlJiZhLnVwZGF0ZU1hdHJpeCgpLHRoaXMubWVyZ2UoYS5nZW9tZXRyeSxhLm1hdHJpeCkpOmNvbnNvbGUuZXJyb3IoIlRIUkVFLkdlb21ldHJ5Lm1lcmdlTWVzaCgpOiBtZXNoIG5vdCBhbiBpbnN0YW5jZSBvZiBUSFJFRS5NZXNoLiIsYSl9LG1lcmdlVmVydGljZXM6ZnVuY3Rpb24oKXt2YXIgYT17fSxjPVtdLGU9W10sZz1NYXRoLnBvdygxMCw0KSx0O3ZhciB2PTA7Zm9yKHQ9dGhpcy52ZXJ0aWNlcy5sZW5ndGg7djx0O3YrKyl7dmFyIHo9dGhpcy52ZXJ0aWNlc1t2XTt6PU1hdGgucm91bmQoei54KmcpKyJfIitNYXRoLnJvdW5kKHoueSpnKSsiXyIrTWF0aC5yb3VuZCh6LnoqCmcpO3ZvaWQgMD09PWFbel0/KGFbel09dixjLnB1c2godGhpcy52ZXJ0aWNlc1t2XSksZVt2XT1jLmxlbmd0aC0xKTplW3ZdPWVbYVt6XV19YT1bXTt2PTA7Zm9yKHQ9dGhpcy5mYWNlcy5sZW5ndGg7djx0O3YrKylmb3IoZz10aGlzLmZhY2VzW3ZdLGcuYT1lW2cuYV0sZy5iPWVbZy5iXSxnLmM9ZVtnLmNdLGc9W2cuYSxnLmIsZy5jXSx6PTA7Mz56O3orKylpZihnW3pdPT09Z1soeisxKSUzXSl7YS5wdXNoKHYpO2JyZWFrfWZvcih2PWEubGVuZ3RoLTE7MDw9djt2LS0pZm9yKGc9YVt2XSx0aGlzLmZhY2VzLnNwbGljZShnLDEpLGU9MCx0PXRoaXMuZmFjZVZlcnRleFV2cy5sZW5ndGg7ZTx0O2UrKyl0aGlzLmZhY2VWZXJ0ZXhVdnNbZV0uc3BsaWNlKGcsMSk7dj10aGlzLnZlcnRpY2VzLmxlbmd0aC1jLmxlbmd0aDt0aGlzLnZlcnRpY2VzPWM7cmV0dXJuIHZ9LHNldEZyb21Qb2ludHM6ZnVuY3Rpb24oYSl7dGhpcy52ZXJ0aWNlcz1bXTtmb3IodmFyIGM9MCxlPWEubGVuZ3RoO2M8ZTtjKyspe3ZhciBnPQphW2NdO3RoaXMudmVydGljZXMucHVzaChuZXcgayhnLngsZy55LGcuenx8MCkpfXJldHVybiB0aGlzfSxzb3J0RmFjZXNCeU1hdGVyaWFsSW5kZXg6ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcy5mYWNlcyxjPWEubGVuZ3RoLGU9MDtlPGM7ZSsrKWFbZV0uX2lkPWU7YS5zb3J0KGZ1bmN0aW9uKEYsSSl7cmV0dXJuIEYubWF0ZXJpYWxJbmRleC1JLm1hdGVyaWFsSW5kZXh9KTt2YXIgZz10aGlzLmZhY2VWZXJ0ZXhVdnNbMF0sdD10aGlzLmZhY2VWZXJ0ZXhVdnNbMV0sdix6O2cmJmcubGVuZ3RoPT09YyYmKHY9W10pO3QmJnQubGVuZ3RoPT09YyYmKHo9W10pO2ZvcihlPTA7ZTxjO2UrKyl7dmFyIEU9YVtlXS5faWQ7diYmdi5wdXNoKGdbRV0pO3omJnoucHVzaCh0W0VdKX12JiYodGhpcy5mYWNlVmVydGV4VXZzWzBdPXYpO3omJih0aGlzLmZhY2VWZXJ0ZXhVdnNbMV09eil9LHRvSlNPTjpmdW5jdGlvbigpe2Z1bmN0aW9uIGEobmEsdGEsQmEpe3JldHVybiBCYT9uYXwxPDx0YTpuYSYKfigxPDx0YSl9ZnVuY3Rpb24gYyhuYSl7dmFyIHRhPW5hLngudG9TdHJpbmcoKStuYS55LnRvU3RyaW5nKCkrbmEuei50b1N0cmluZygpO2lmKHZvaWQgMCE9PUlbdGFdKXJldHVybiBJW3RhXTtJW3RhXT1GLmxlbmd0aC8zO0YucHVzaChuYS54LG5hLnksbmEueik7cmV0dXJuIElbdGFdfWZ1bmN0aW9uIGUobmEpe3ZhciB0YT1uYS5yLnRvU3RyaW5nKCkrbmEuZy50b1N0cmluZygpK25hLmIudG9TdHJpbmcoKTtpZih2b2lkIDAhPT1QW3RhXSlyZXR1cm4gUFt0YV07UFt0YV09TS5sZW5ndGg7TS5wdXNoKG5hLmdldEhleCgpKTtyZXR1cm4gUFt0YV19ZnVuY3Rpb24gZyhuYSl7dmFyIHRhPW5hLngudG9TdHJpbmcoKStuYS55LnRvU3RyaW5nKCk7aWYodm9pZCAwIT09VVt0YV0pcmV0dXJuIFVbdGFdO1VbdGFdPVEubGVuZ3RoLzI7US5wdXNoKG5hLngsbmEueSk7cmV0dXJuIFVbdGFdfXZhciB0PXttZXRhZGF0YTp7dmVyc2lvbjo0LjUsdHlwZToiR2VvbWV0cnkiLGdlbmVyYXRvcjoiR2VvbWV0cnkudG9KU09OIn19Owp0LnV1aWQ9dGhpcy51dWlkO3QudHlwZT10aGlzLnR5cGU7IiIhPT10aGlzLm5hbWUmJih0Lm5hbWU9dGhpcy5uYW1lKTtpZih2b2lkIDAhPT10aGlzLnBhcmFtZXRlcnMpe3ZhciB2PXRoaXMucGFyYW1ldGVycyx6O2Zvcih6IGluIHYpdm9pZCAwIT09dlt6XSYmKHRbel09dlt6XSk7cmV0dXJuIHR9dj1bXTtmb3Ioej0wO3o8dGhpcy52ZXJ0aWNlcy5sZW5ndGg7eisrKXt2YXIgRT10aGlzLnZlcnRpY2VzW3pdO3YucHVzaChFLngsRS55LEUueil9RT1bXTt2YXIgRj1bXSxJPXt9LE09W10sUD17fSxRPVtdLFU9e307Zm9yKHo9MDt6PHRoaXMuZmFjZXMubGVuZ3RoO3orKyl7dmFyIFY9dGhpcy5mYWNlc1t6XSxlYT12b2lkIDAhPT10aGlzLmZhY2VWZXJ0ZXhVdnNbMF1bel0sZGE9MDxWLm5vcm1hbC5sZW5ndGgoKSxyYT0wPFYudmVydGV4Tm9ybWFscy5sZW5ndGgscGE9MSE9PVYuY29sb3Iucnx8MSE9PVYuY29sb3IuZ3x8MSE9PVYuY29sb3IuYixxYT0wPFYudmVydGV4Q29sb3JzLmxlbmd0aCwKdWE9MDt1YT1hKHVhLDAsMCk7dWE9YSh1YSwxLCEwKTt1YT1hKHVhLDIsITEpO3VhPWEodWEsMyxlYSk7dWE9YSh1YSw0LGRhKTt1YT1hKHVhLDUscmEpO3VhPWEodWEsNixwYSk7dWE9YSh1YSw3LHFhKTtFLnB1c2godWEpO0UucHVzaChWLmEsVi5iLFYuYyk7RS5wdXNoKFYubWF0ZXJpYWxJbmRleCk7ZWEmJihlYT10aGlzLmZhY2VWZXJ0ZXhVdnNbMF1bel0sRS5wdXNoKGcoZWFbMF0pLGcoZWFbMV0pLGcoZWFbMl0pKSk7ZGEmJkUucHVzaChjKFYubm9ybWFsKSk7cmEmJihkYT1WLnZlcnRleE5vcm1hbHMsRS5wdXNoKGMoZGFbMF0pLGMoZGFbMV0pLGMoZGFbMl0pKSk7cGEmJkUucHVzaChlKFYuY29sb3IpKTtxYSYmKFY9Vi52ZXJ0ZXhDb2xvcnMsRS5wdXNoKGUoVlswXSksZShWWzFdKSxlKFZbMl0pKSl9dC5kYXRhPXt9O3QuZGF0YS52ZXJ0aWNlcz12O3QuZGF0YS5ub3JtYWxzPUY7MDxNLmxlbmd0aCYmKHQuZGF0YS5jb2xvcnM9TSk7MDxRLmxlbmd0aCYmKHQuZGF0YS51dnM9CltRXSk7dC5kYXRhLmZhY2VzPUU7cmV0dXJuIHR9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB4YSkuY29weSh0aGlzKX0sY29weTpmdW5jdGlvbihhKXt2YXIgYyxlLGc7dGhpcy52ZXJ0aWNlcz1bXTt0aGlzLmNvbG9ycz1bXTt0aGlzLmZhY2VzPVtdO3RoaXMuZmFjZVZlcnRleFV2cz1bW11dO3RoaXMubW9ycGhUYXJnZXRzPVtdO3RoaXMubW9ycGhOb3JtYWxzPVtdO3RoaXMuc2tpbldlaWdodHM9W107dGhpcy5za2luSW5kaWNlcz1bXTt0aGlzLmxpbmVEaXN0YW5jZXM9W107dGhpcy5ib3VuZGluZ1NwaGVyZT10aGlzLmJvdW5kaW5nQm94PW51bGw7dGhpcy5uYW1lPWEubmFtZTt2YXIgdD1hLnZlcnRpY2VzO3ZhciB2PTA7Zm9yKGM9dC5sZW5ndGg7djxjO3YrKyl0aGlzLnZlcnRpY2VzLnB1c2godFt2XS5jbG9uZSgpKTt0PWEuY29sb3JzO3Y9MDtmb3IoYz10Lmxlbmd0aDt2PGM7disrKXRoaXMuY29sb3JzLnB1c2godFt2XS5jbG9uZSgpKTt0PWEuZmFjZXM7dj0wO2ZvcihjPQp0Lmxlbmd0aDt2PGM7disrKXRoaXMuZmFjZXMucHVzaCh0W3ZdLmNsb25lKCkpO3Y9MDtmb3IoYz1hLmZhY2VWZXJ0ZXhVdnMubGVuZ3RoO3Y8Yzt2Kyspe3ZhciB6PWEuZmFjZVZlcnRleFV2c1t2XTt2b2lkIDA9PT10aGlzLmZhY2VWZXJ0ZXhVdnNbdl0mJih0aGlzLmZhY2VWZXJ0ZXhVdnNbdl09W10pO3Q9MDtmb3IoZT16Lmxlbmd0aDt0PGU7dCsrKXt2YXIgRT16W3RdLEY9W107dmFyIEk9MDtmb3IoZz1FLmxlbmd0aDtJPGc7SSsrKUYucHVzaChFW0ldLmNsb25lKCkpO3RoaXMuZmFjZVZlcnRleFV2c1t2XS5wdXNoKEYpfX1JPWEubW9ycGhUYXJnZXRzO3Y9MDtmb3IoYz1JLmxlbmd0aDt2PGM7disrKXtnPXt9O2cubmFtZT1JW3ZdLm5hbWU7aWYodm9pZCAwIT09SVt2XS52ZXJ0aWNlcylmb3IoZy52ZXJ0aWNlcz1bXSx0PTAsZT1JW3ZdLnZlcnRpY2VzLmxlbmd0aDt0PGU7dCsrKWcudmVydGljZXMucHVzaChJW3ZdLnZlcnRpY2VzW3RdLmNsb25lKCkpO2lmKHZvaWQgMCE9PUlbdl0ubm9ybWFscylmb3IoZy5ub3JtYWxzPQpbXSx0PTAsZT1JW3ZdLm5vcm1hbHMubGVuZ3RoO3Q8ZTt0KyspZy5ub3JtYWxzLnB1c2goSVt2XS5ub3JtYWxzW3RdLmNsb25lKCkpO3RoaXMubW9ycGhUYXJnZXRzLnB1c2goZyl9ST1hLm1vcnBoTm9ybWFsczt2PTA7Zm9yKGM9SS5sZW5ndGg7djxjO3YrKyl7Zz17fTtpZih2b2lkIDAhPT1JW3ZdLnZlcnRleE5vcm1hbHMpZm9yKGcudmVydGV4Tm9ybWFscz1bXSx0PTAsZT1JW3ZdLnZlcnRleE5vcm1hbHMubGVuZ3RoO3Q8ZTt0Kyspej1JW3ZdLnZlcnRleE5vcm1hbHNbdF0sRT17fSxFLmE9ei5hLmNsb25lKCksRS5iPXouYi5jbG9uZSgpLEUuYz16LmMuY2xvbmUoKSxnLnZlcnRleE5vcm1hbHMucHVzaChFKTtpZih2b2lkIDAhPT1JW3ZdLmZhY2VOb3JtYWxzKWZvcihnLmZhY2VOb3JtYWxzPVtdLHQ9MCxlPUlbdl0uZmFjZU5vcm1hbHMubGVuZ3RoO3Q8ZTt0KyspZy5mYWNlTm9ybWFscy5wdXNoKElbdl0uZmFjZU5vcm1hbHNbdF0uY2xvbmUoKSk7dGhpcy5tb3JwaE5vcm1hbHMucHVzaChnKX10PQphLnNraW5XZWlnaHRzO3Y9MDtmb3IoYz10Lmxlbmd0aDt2PGM7disrKXRoaXMuc2tpbldlaWdodHMucHVzaCh0W3ZdLmNsb25lKCkpO3Q9YS5za2luSW5kaWNlczt2PTA7Zm9yKGM9dC5sZW5ndGg7djxjO3YrKyl0aGlzLnNraW5JbmRpY2VzLnB1c2godFt2XS5jbG9uZSgpKTt0PWEubGluZURpc3RhbmNlczt2PTA7Zm9yKGM9dC5sZW5ndGg7djxjO3YrKyl0aGlzLmxpbmVEaXN0YW5jZXMucHVzaCh0W3ZdKTt2PWEuYm91bmRpbmdCb3g7bnVsbCE9PXYmJih0aGlzLmJvdW5kaW5nQm94PXYuY2xvbmUoKSk7dj1hLmJvdW5kaW5nU3BoZXJlO251bGwhPT12JiYodGhpcy5ib3VuZGluZ1NwaGVyZT12LmNsb25lKCkpO3RoaXMuZWxlbWVudHNOZWVkVXBkYXRlPWEuZWxlbWVudHNOZWVkVXBkYXRlO3RoaXMudmVydGljZXNOZWVkVXBkYXRlPWEudmVydGljZXNOZWVkVXBkYXRlO3RoaXMudXZzTmVlZFVwZGF0ZT1hLnV2c05lZWRVcGRhdGU7dGhpcy5ub3JtYWxzTmVlZFVwZGF0ZT1hLm5vcm1hbHNOZWVkVXBkYXRlOwp0aGlzLmNvbG9yc05lZWRVcGRhdGU9YS5jb2xvcnNOZWVkVXBkYXRlO3RoaXMubGluZURpc3RhbmNlc05lZWRVcGRhdGU9YS5saW5lRGlzdGFuY2VzTmVlZFVwZGF0ZTt0aGlzLmdyb3Vwc05lZWRVcGRhdGU9YS5ncm91cHNOZWVkVXBkYXRlO3JldHVybiB0aGlzfSxkaXNwb3NlOmZ1bmN0aW9uKCl7dGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJkaXNwb3NlIn0pfX0pO1NhLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7U2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPVNhO1hhLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHZhLnByb3RvdHlwZSk7WGEucHJvdG90eXBlLmNvbnN0cnVjdG9yPVhhO3ZhciAkbT17Y2xvbmU6dWIsbWVyZ2U6QmJ9O3FiLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFMucHJvdG90eXBlKTtxYi5wcm90b3R5cGUuY29uc3RydWN0b3I9cWI7cWIucHJvdG90eXBlLmlzU2hhZGVyTWF0ZXJpYWw9ITA7cWIucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7Uy5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsCmEpO3RoaXMuZnJhZ21lbnRTaGFkZXI9YS5mcmFnbWVudFNoYWRlcjt0aGlzLnZlcnRleFNoYWRlcj1hLnZlcnRleFNoYWRlcjt0aGlzLnVuaWZvcm1zPXViKGEudW5pZm9ybXMpO3RoaXMuZGVmaW5lcz1PYmplY3QuYXNzaWduKHt9LGEuZGVmaW5lcyk7dGhpcy53aXJlZnJhbWU9YS53aXJlZnJhbWU7dGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9YS53aXJlZnJhbWVMaW5ld2lkdGg7dGhpcy5saWdodHM9YS5saWdodHM7dGhpcy5jbGlwcGluZz1hLmNsaXBwaW5nO3RoaXMuc2tpbm5pbmc9YS5za2lubmluZzt0aGlzLm1vcnBoVGFyZ2V0cz1hLm1vcnBoVGFyZ2V0czt0aGlzLm1vcnBoTm9ybWFscz1hLm1vcnBoTm9ybWFsczt0aGlzLmV4dGVuc2lvbnM9YS5leHRlbnNpb25zO3JldHVybiB0aGlzfTtxYi5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKGEpe3ZhciBjPVMucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMsYSk7Yy51bmlmb3Jtcz17fTtmb3IodmFyIGUgaW4gdGhpcy51bmlmb3Jtcyl7dmFyIGc9CnRoaXMudW5pZm9ybXNbZV0udmFsdWU7Yy51bmlmb3Jtc1tlXT1nJiZnLmlzVGV4dHVyZT97dHlwZToidCIsdmFsdWU6Zy50b0pTT04oYSkudXVpZH06ZyYmZy5pc0NvbG9yP3t0eXBlOiJjIix2YWx1ZTpnLmdldEhleCgpfTpnJiZnLmlzVmVjdG9yMj97dHlwZToidjIiLHZhbHVlOmcudG9BcnJheSgpfTpnJiZnLmlzVmVjdG9yMz97dHlwZToidjMiLHZhbHVlOmcudG9BcnJheSgpfTpnJiZnLmlzVmVjdG9yND97dHlwZToidjQiLHZhbHVlOmcudG9BcnJheSgpfTpnJiZnLmlzTWF0cml4Mz97dHlwZToibTMiLHZhbHVlOmcudG9BcnJheSgpfTpnJiZnLmlzTWF0cml4ND97dHlwZToibTQiLHZhbHVlOmcudG9BcnJheSgpfTp7dmFsdWU6Z319MDxPYmplY3Qua2V5cyh0aGlzLmRlZmluZXMpLmxlbmd0aCYmKGMuZGVmaW5lcz10aGlzLmRlZmluZXMpO2MudmVydGV4U2hhZGVyPXRoaXMudmVydGV4U2hhZGVyO2MuZnJhZ21lbnRTaGFkZXI9dGhpcy5mcmFnbWVudFNoYWRlcjthPXt9O2Zvcih2YXIgdCBpbiB0aGlzLmV4dGVuc2lvbnMpITA9PT0KdGhpcy5leHRlbnNpb25zW3RdJiYoYVt0XT0hMCk7MDxPYmplY3Qua2V5cyhhKS5sZW5ndGgmJihjLmV4dGVuc2lvbnM9YSk7cmV0dXJuIGN9O3piLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoQS5wcm90b3R5cGUpLHtjb25zdHJ1Y3Rvcjp6Yixpc0NhbWVyYTohMCxjb3B5OmZ1bmN0aW9uKGEsYyl7QS5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSxjKTt0aGlzLm1hdHJpeFdvcmxkSW52ZXJzZS5jb3B5KGEubWF0cml4V29ybGRJbnZlcnNlKTt0aGlzLnByb2plY3Rpb25NYXRyaXguY29weShhLnByb2plY3Rpb25NYXRyaXgpO3RoaXMucHJvamVjdGlvbk1hdHJpeEludmVyc2UuY29weShhLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlKTtyZXR1cm4gdGhpc30sZ2V0V29ybGREaXJlY3Rpb246ZnVuY3Rpb24oYSl7dm9pZCAwPT09YSYmKGNvbnNvbGUud2FybigiVEhSRUUuQ2FtZXJhOiAuZ2V0V29ybGREaXJlY3Rpb24oKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksCmE9bmV3IGspO3RoaXMudXBkYXRlTWF0cml4V29ybGQoITApO3ZhciBjPXRoaXMubWF0cml4V29ybGQuZWxlbWVudHM7cmV0dXJuIGEuc2V0KC1jWzhdLC1jWzldLC1jWzEwXSkubm9ybWFsaXplKCl9LHVwZGF0ZU1hdHJpeFdvcmxkOmZ1bmN0aW9uKGEpe0EucHJvdG90eXBlLnVwZGF0ZU1hdHJpeFdvcmxkLmNhbGwodGhpcyxhKTt0aGlzLm1hdHJpeFdvcmxkSW52ZXJzZS5nZXRJbnZlcnNlKHRoaXMubWF0cml4V29ybGQpfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX19KTt2Yi5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKHpiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOnZiLGlzUGVyc3BlY3RpdmVDYW1lcmE6ITAsY29weTpmdW5jdGlvbihhLGMpe3piLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhLGMpO3RoaXMuZm92PWEuZm92O3RoaXMuem9vbT1hLnpvb207dGhpcy5uZWFyPWEubmVhcjt0aGlzLmZhcj0KYS5mYXI7dGhpcy5mb2N1cz1hLmZvY3VzO3RoaXMuYXNwZWN0PWEuYXNwZWN0O3RoaXMudmlldz1udWxsPT09YS52aWV3P251bGw6T2JqZWN0LmFzc2lnbih7fSxhLnZpZXcpO3RoaXMuZmlsbUdhdWdlPWEuZmlsbUdhdWdlO3RoaXMuZmlsbU9mZnNldD1hLmZpbG1PZmZzZXQ7cmV0dXJuIHRoaXN9LHNldEZvY2FsTGVuZ3RoOmZ1bmN0aW9uKGEpe3RoaXMuZm92PTIqaGIuUkFEMkRFRypNYXRoLmF0YW4oLjUqdGhpcy5nZXRGaWxtSGVpZ2h0KCkvYSk7dGhpcy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9LGdldEZvY2FsTGVuZ3RoOmZ1bmN0aW9uKCl7cmV0dXJuLjUqdGhpcy5nZXRGaWxtSGVpZ2h0KCkvTWF0aC50YW4oLjUqaGIuREVHMlJBRCp0aGlzLmZvdil9LGdldEVmZmVjdGl2ZUZPVjpmdW5jdGlvbigpe3JldHVybiAyKmhiLlJBRDJERUcqTWF0aC5hdGFuKE1hdGgudGFuKC41KmhiLkRFRzJSQUQqdGhpcy5mb3YpL3RoaXMuem9vbSl9LGdldEZpbG1XaWR0aDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbG1HYXVnZSoKTWF0aC5taW4odGhpcy5hc3BlY3QsMSl9LGdldEZpbG1IZWlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5maWxtR2F1Z2UvTWF0aC5tYXgodGhpcy5hc3BlY3QsMSl9LHNldFZpZXdPZmZzZXQ6ZnVuY3Rpb24oYSxjLGUsZyx0LHYpe3RoaXMuYXNwZWN0PWEvYztudWxsPT09dGhpcy52aWV3JiYodGhpcy52aWV3PXtlbmFibGVkOiEwLGZ1bGxXaWR0aDoxLGZ1bGxIZWlnaHQ6MSxvZmZzZXRYOjAsb2Zmc2V0WTowLHdpZHRoOjEsaGVpZ2h0OjF9KTt0aGlzLnZpZXcuZW5hYmxlZD0hMDt0aGlzLnZpZXcuZnVsbFdpZHRoPWE7dGhpcy52aWV3LmZ1bGxIZWlnaHQ9Yzt0aGlzLnZpZXcub2Zmc2V0WD1lO3RoaXMudmlldy5vZmZzZXRZPWc7dGhpcy52aWV3LndpZHRoPXQ7dGhpcy52aWV3LmhlaWdodD12O3RoaXMudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfSxjbGVhclZpZXdPZmZzZXQ6ZnVuY3Rpb24oKXtudWxsIT09dGhpcy52aWV3JiYodGhpcy52aWV3LmVuYWJsZWQ9ITEpO3RoaXMudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfSwKdXBkYXRlUHJvamVjdGlvbk1hdHJpeDpmdW5jdGlvbigpe3ZhciBhPXRoaXMubmVhcixjPWEqTWF0aC50YW4oLjUqaGIuREVHMlJBRCp0aGlzLmZvdikvdGhpcy56b29tLGU9MipjLGc9dGhpcy5hc3BlY3QqZSx0PS0uNSpnLHY9dGhpcy52aWV3O2lmKG51bGwhPT10aGlzLnZpZXcmJnRoaXMudmlldy5lbmFibGVkKXt2YXIgej12LmZ1bGxXaWR0aCxFPXYuZnVsbEhlaWdodDt0Kz12Lm9mZnNldFgqZy96O2MtPXYub2Zmc2V0WSplL0U7Zyo9di53aWR0aC96O2UqPXYuaGVpZ2h0L0V9dj10aGlzLmZpbG1PZmZzZXQ7MCE9PXYmJih0Kz1hKnYvdGhpcy5nZXRGaWxtV2lkdGgoKSk7dGhpcy5wcm9qZWN0aW9uTWF0cml4Lm1ha2VQZXJzcGVjdGl2ZSh0LHQrZyxjLGMtZSxhLHRoaXMuZmFyKTt0aGlzLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlLmdldEludmVyc2UodGhpcy5wcm9qZWN0aW9uTWF0cml4KX0sdG9KU09OOmZ1bmN0aW9uKGEpe2E9QS5wcm90b3R5cGUudG9KU09OLmNhbGwodGhpcywKYSk7YS5vYmplY3QuZm92PXRoaXMuZm92O2Eub2JqZWN0Lnpvb209dGhpcy56b29tO2Eub2JqZWN0Lm5lYXI9dGhpcy5uZWFyO2Eub2JqZWN0LmZhcj10aGlzLmZhcjthLm9iamVjdC5mb2N1cz10aGlzLmZvY3VzO2Eub2JqZWN0LmFzcGVjdD10aGlzLmFzcGVjdDtudWxsIT09dGhpcy52aWV3JiYoYS5vYmplY3Qudmlldz1PYmplY3QuYXNzaWduKHt9LHRoaXMudmlldykpO2Eub2JqZWN0LmZpbG1HYXVnZT10aGlzLmZpbG1HYXVnZTthLm9iamVjdC5maWxtT2Zmc2V0PXRoaXMuZmlsbU9mZnNldDtyZXR1cm4gYX19KTtHYi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShBLnByb3RvdHlwZSk7R2IucHJvdG90eXBlLmNvbnN0cnVjdG9yPUdiO09iLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG0ucHJvdG90eXBlKTtPYi5wcm90b3R5cGUuY29uc3RydWN0b3I9T2I7T2IucHJvdG90eXBlLmlzV2ViR0xSZW5kZXJUYXJnZXRDdWJlPSEwO09iLnByb3RvdHlwZS5mcm9tRXF1aXJlY3Rhbmd1bGFyVGV4dHVyZT0KZnVuY3Rpb24oYSxjKXt0aGlzLnRleHR1cmUudHlwZT1jLnR5cGU7dGhpcy50ZXh0dXJlLmZvcm1hdD1jLmZvcm1hdDt0aGlzLnRleHR1cmUuZW5jb2Rpbmc9Yy5lbmNvZGluZzt2YXIgZT1uZXcgeSxnPW5ldyBxYih7dHlwZToiQ3ViZW1hcEZyb21FcXVpcmVjdCIsdW5pZm9ybXM6dWIoe3RFcXVpcmVjdDp7dmFsdWU6bnVsbH19KSx2ZXJ0ZXhTaGFkZXI6InZhcnlpbmcgdmVjMyB2V29ybGREaXJlY3Rpb247XG52ZWMzIHRyYW5zZm9ybURpcmVjdGlvbiggaW4gdmVjMyBkaXIsIGluIG1hdDQgbWF0cml4ICkge1xuXHRyZXR1cm4gbm9ybWFsaXplKCAoIG1hdHJpeCAqIHZlYzQoIGRpciwgMC4wICkgKS54eXogKTtcbn1cbnZvaWQgbWFpbigpIHtcblx0dldvcmxkRGlyZWN0aW9uIFx4M2QgdHJhbnNmb3JtRGlyZWN0aW9uKCBwb3NpdGlvbiwgbW9kZWxNYXRyaXggKTtcblx0I2luY2x1ZGUgXHgzY2JlZ2luX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxufSIsCmZyYWdtZW50U2hhZGVyOiJ1bmlmb3JtIHNhbXBsZXIyRCB0RXF1aXJlY3Q7XG52YXJ5aW5nIHZlYzMgdldvcmxkRGlyZWN0aW9uO1xuI2RlZmluZSBSRUNJUFJPQ0FMX1BJIDAuMzE4MzA5ODg2MThcbiNkZWZpbmUgUkVDSVBST0NBTF9QSTIgMC4xNTkxNTQ5NFxudm9pZCBtYWluKCkge1xuXHR2ZWMzIGRpcmVjdGlvbiBceDNkIG5vcm1hbGl6ZSggdldvcmxkRGlyZWN0aW9uICk7XG5cdHZlYzIgc2FtcGxlVVY7XG5cdHNhbXBsZVVWLnkgXHgzZCBhc2luKCBjbGFtcCggZGlyZWN0aW9uLnksIC0gMS4wLCAxLjAgKSApICogUkVDSVBST0NBTF9QSSArIDAuNTtcblx0c2FtcGxlVVYueCBceDNkIGF0YW4oIGRpcmVjdGlvbi56LCBkaXJlY3Rpb24ueCApICogUkVDSVBST0NBTF9QSTIgKyAwLjU7XG5cdGdsX0ZyYWdDb2xvciBceDNkIHRleHR1cmUyRCggdEVxdWlyZWN0LCBzYW1wbGVVViApO1xufSIsc2lkZToxLGJsZW5kaW5nOjB9KTtnLnVuaWZvcm1zLnRFcXVpcmVjdC52YWx1ZT1jOwpjPW5ldyB5YShuZXcgWGEoNSw1LDUpLGcpO2UuYWRkKGMpO2c9bmV3IEdiKDEsMTAsMSk7Zy5yZW5kZXJUYXJnZXQ9dGhpcztnLnJlbmRlclRhcmdldC50ZXh0dXJlLm5hbWU9IkN1YmVDYW1lcmFUZXh0dXJlIjtnLnVwZGF0ZShhLGUpO2MuZ2VvbWV0cnkuZGlzcG9zZSgpO2MubWF0ZXJpYWwuZGlzcG9zZSgpO3JldHVybiB0aGlzfTtBYi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShsLnByb3RvdHlwZSk7QWIucHJvdG90eXBlLmNvbnN0cnVjdG9yPUFiO0FiLnByb3RvdHlwZS5pc0RhdGFUZXh0dXJlPSEwO3ZhciBPaT1uZXcgayxhbj1uZXcgayxibj1uZXcgcjtPYmplY3QuYXNzaWduKEhiLnByb3RvdHlwZSx7aXNQbGFuZTohMCxzZXQ6ZnVuY3Rpb24oYSxjKXt0aGlzLm5vcm1hbC5jb3B5KGEpO3RoaXMuY29uc3RhbnQ9YztyZXR1cm4gdGhpc30sc2V0Q29tcG9uZW50czpmdW5jdGlvbihhLGMsZSxnKXt0aGlzLm5vcm1hbC5zZXQoYSxjLGUpO3RoaXMuY29uc3RhbnQ9ZztyZXR1cm4gdGhpc30sCnNldEZyb21Ob3JtYWxBbmRDb3BsYW5hclBvaW50OmZ1bmN0aW9uKGEsYyl7dGhpcy5ub3JtYWwuY29weShhKTt0aGlzLmNvbnN0YW50PS1jLmRvdCh0aGlzLm5vcm1hbCk7cmV0dXJuIHRoaXN9LHNldEZyb21Db3BsYW5hclBvaW50czpmdW5jdGlvbihhLGMsZSl7Yz1PaS5zdWJWZWN0b3JzKGUsYykuY3Jvc3MoYW4uc3ViVmVjdG9ycyhhLGMpKS5ub3JtYWxpemUoKTt0aGlzLnNldEZyb21Ob3JtYWxBbmRDb3BsYW5hclBvaW50KGMsYSk7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMubm9ybWFsLmNvcHkoYS5ub3JtYWwpO3RoaXMuY29uc3RhbnQ9YS5jb25zdGFudDtyZXR1cm4gdGhpc30sbm9ybWFsaXplOmZ1bmN0aW9uKCl7dmFyIGE9MS90aGlzLm5vcm1hbC5sZW5ndGgoKTt0aGlzLm5vcm1hbC5tdWx0aXBseVNjYWxhcihhKTt0aGlzLmNvbnN0YW50Kj1hO3JldHVybiB0aGlzfSwKbmVnYXRlOmZ1bmN0aW9uKCl7dGhpcy5jb25zdGFudCo9LTE7dGhpcy5ub3JtYWwubmVnYXRlKCk7cmV0dXJuIHRoaXN9LGRpc3RhbmNlVG9Qb2ludDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub3JtYWwuZG90KGEpK3RoaXMuY29uc3RhbnR9LGRpc3RhbmNlVG9TcGhlcmU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZGlzdGFuY2VUb1BvaW50KGEuY2VudGVyKS1hLnJhZGl1c30scHJvamVjdFBvaW50OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGNvbnNvbGUud2FybigiVEhSRUUuUGxhbmU6IC5wcm9qZWN0UG9pbnQoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksYz1uZXcgayk7cmV0dXJuIGMuY29weSh0aGlzLm5vcm1hbCkubXVsdGlwbHlTY2FsYXIoLXRoaXMuZGlzdGFuY2VUb1BvaW50KGEpKS5hZGQoYSl9LGludGVyc2VjdExpbmU6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1jJiYoY29uc29sZS53YXJuKCJUSFJFRS5QbGFuZTogLmludGVyc2VjdExpbmUoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksCmM9bmV3IGspO3ZhciBlPWEuZGVsdGEoT2kpLGc9dGhpcy5ub3JtYWwuZG90KGUpO2lmKDA9PT1nKXtpZigwPT09dGhpcy5kaXN0YW5jZVRvUG9pbnQoYS5zdGFydCkpcmV0dXJuIGMuY29weShhLnN0YXJ0KX1lbHNlIGlmKGc9LShhLnN0YXJ0LmRvdCh0aGlzLm5vcm1hbCkrdGhpcy5jb25zdGFudCkvZywhKDA+Z3x8MTxnKSlyZXR1cm4gYy5jb3B5KGUpLm11bHRpcGx5U2NhbGFyKGcpLmFkZChhLnN0YXJ0KX0saW50ZXJzZWN0c0xpbmU6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5kaXN0YW5jZVRvUG9pbnQoYS5zdGFydCk7YT10aGlzLmRpc3RhbmNlVG9Qb2ludChhLmVuZCk7cmV0dXJuIDA+YyYmMDxhfHwwPmEmJjA8Y30saW50ZXJzZWN0c0JveDpmdW5jdGlvbihhKXtyZXR1cm4gYS5pbnRlcnNlY3RzUGxhbmUodGhpcyl9LGludGVyc2VjdHNTcGhlcmU6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW50ZXJzZWN0c1BsYW5lKHRoaXMpfSxjb3BsYW5hclBvaW50OmZ1bmN0aW9uKGEpe3ZvaWQgMD09PQphJiYoY29uc29sZS53YXJuKCJUSFJFRS5QbGFuZTogLmNvcGxhbmFyUG9pbnQoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksYT1uZXcgayk7cmV0dXJuIGEuY29weSh0aGlzLm5vcm1hbCkubXVsdGlwbHlTY2FsYXIoLXRoaXMuY29uc3RhbnQpfSxhcHBseU1hdHJpeDQ6ZnVuY3Rpb24oYSxjKXtjPWN8fGJuLmdldE5vcm1hbE1hdHJpeChhKTthPXRoaXMuY29wbGFuYXJQb2ludChPaSkuYXBwbHlNYXRyaXg0KGEpO2M9dGhpcy5ub3JtYWwuYXBwbHlNYXRyaXgzKGMpLm5vcm1hbGl6ZSgpO3RoaXMuY29uc3RhbnQ9LWEuZG90KGMpO3JldHVybiB0aGlzfSx0cmFuc2xhdGU6ZnVuY3Rpb24oYSl7dGhpcy5jb25zdGFudC09YS5kb3QodGhpcy5ub3JtYWwpO3JldHVybiB0aGlzfSxlcXVhbHM6ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9ybWFsLmVxdWFscyh0aGlzLm5vcm1hbCkmJmEuY29uc3RhbnQ9PT10aGlzLmNvbnN0YW50fX0pO3ZhciBvZj1uZXcgRyxzaD1uZXcgaztPYmplY3QuYXNzaWduKGxjLnByb3RvdHlwZSwKe3NldDpmdW5jdGlvbihhLGMsZSxnLHQsdil7dmFyIHo9dGhpcy5wbGFuZXM7elswXS5jb3B5KGEpO3pbMV0uY29weShjKTt6WzJdLmNvcHkoZSk7elszXS5jb3B5KGcpO3pbNF0uY29weSh0KTt6WzVdLmNvcHkodik7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfSxjb3B5OmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz10aGlzLnBsYW5lcyxlPTA7Nj5lO2UrKyljW2VdLmNvcHkoYS5wbGFuZXNbZV0pO3JldHVybiB0aGlzfSxzZXRGcm9tTWF0cml4OmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMucGxhbmVzLGU9YS5lbGVtZW50czthPWVbMF07dmFyIGc9ZVsxXSx0PWVbMl0sdj1lWzNdLHo9ZVs0XSxFPWVbNV0sRj1lWzZdLEk9ZVs3XSxNPWVbOF0sUD1lWzldLFE9ZVsxMF0sVT1lWzExXSxWPWVbMTJdLGVhPWVbMTNdLGRhPWVbMTRdO2U9ZVsxNV07Y1swXS5zZXRDb21wb25lbnRzKHYtYSxJLXosVS1NLGUtVikubm9ybWFsaXplKCk7CmNbMV0uc2V0Q29tcG9uZW50cyh2K2EsSSt6LFUrTSxlK1YpLm5vcm1hbGl6ZSgpO2NbMl0uc2V0Q29tcG9uZW50cyh2K2csSStFLFUrUCxlK2VhKS5ub3JtYWxpemUoKTtjWzNdLnNldENvbXBvbmVudHModi1nLEktRSxVLVAsZS1lYSkubm9ybWFsaXplKCk7Y1s0XS5zZXRDb21wb25lbnRzKHYtdCxJLUYsVS1RLGUtZGEpLm5vcm1hbGl6ZSgpO2NbNV0uc2V0Q29tcG9uZW50cyh2K3QsSStGLFUrUSxlK2RhKS5ub3JtYWxpemUoKTtyZXR1cm4gdGhpc30saW50ZXJzZWN0c09iamVjdDpmdW5jdGlvbihhKXt2YXIgYz1hLmdlb21ldHJ5O251bGw9PT1jLmJvdW5kaW5nU3BoZXJlJiZjLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpO29mLmNvcHkoYy5ib3VuZGluZ1NwaGVyZSkuYXBwbHlNYXRyaXg0KGEubWF0cml4V29ybGQpO3JldHVybiB0aGlzLmludGVyc2VjdHNTcGhlcmUob2YpfSxpbnRlcnNlY3RzU3ByaXRlOmZ1bmN0aW9uKGEpe29mLmNlbnRlci5zZXQoMCwwLDApO29mLnJhZGl1cz0KLjcwNzEwNjc4MTE4NjU0NzY7b2YuYXBwbHlNYXRyaXg0KGEubWF0cml4V29ybGQpO3JldHVybiB0aGlzLmludGVyc2VjdHNTcGhlcmUob2YpfSxpbnRlcnNlY3RzU3BoZXJlOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMucGxhbmVzLGU9YS5jZW50ZXI7YT0tYS5yYWRpdXM7Zm9yKHZhciBnPTA7Nj5nO2crKylpZihjW2ddLmRpc3RhbmNlVG9Qb2ludChlKTxhKXJldHVybiExO3JldHVybiEwfSxpbnRlcnNlY3RzQm94OmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz10aGlzLnBsYW5lcyxlPTA7Nj5lO2UrKyl7dmFyIGc9Y1tlXTtzaC54PTA8Zy5ub3JtYWwueD9hLm1heC54OmEubWluLng7c2gueT0wPGcubm9ybWFsLnk/YS5tYXgueTphLm1pbi55O3NoLno9MDxnLm5vcm1hbC56P2EubWF4Lno6YS5taW4uejtpZigwPmcuZGlzdGFuY2VUb1BvaW50KHNoKSlyZXR1cm4hMX1yZXR1cm4hMH0sY29udGFpbnNQb2ludDpmdW5jdGlvbihhKXtmb3IodmFyIGM9dGhpcy5wbGFuZXMsZT0wOzY+ZTtlKyspaWYoMD4KY1tlXS5kaXN0YW5jZVRvUG9pbnQoYSkpcmV0dXJuITE7cmV0dXJuITB9fSk7dmFyIHJiPXthbHBoYW1hcF9mcmFnbWVudDoiI2lmZGVmIFVTRV9BTFBIQU1BUFxuXHRkaWZmdXNlQ29sb3IuYSAqXHgzZCB0ZXh0dXJlMkQoIGFscGhhTWFwLCB2VXYgKS5nO1xuI2VuZGlmIixhbHBoYW1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0FMUEhBTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGFscGhhTWFwO1xuI2VuZGlmIixhbHBoYXRlc3RfZnJhZ21lbnQ6IiNpZmRlZiBBTFBIQVRFU1Rcblx0aWYgKCBkaWZmdXNlQ29sb3IuYSBceDNjIEFMUEhBVEVTVCApIGRpc2NhcmQ7XG4jZW5kaWYiLGFvbWFwX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0FPTUFQXG5cdGZsb2F0IGFtYmllbnRPY2NsdXNpb24gXHgzZCAoIHRleHR1cmUyRCggYW9NYXAsIHZVdjIgKS5yIC0gMS4wICkgKiBhb01hcEludGVuc2l0eSArIDEuMDtcblx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICpceDNkIGFtYmllbnRPY2NsdXNpb247XG5cdCNpZiBkZWZpbmVkKCBVU0VfRU5WTUFQICkgXHgyNlx4MjYgZGVmaW5lZCggU1RBTkRBUkQgKVxuXHRcdGZsb2F0IGRvdE5WIFx4M2Qgc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkubm9ybWFsLCBnZW9tZXRyeS52aWV3RGlyICkgKTtcblx0XHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdFNwZWN1bGFyICpceDNkIGNvbXB1dGVTcGVjdWxhck9jY2x1c2lvbiggZG90TlYsIGFtYmllbnRPY2NsdXNpb24sIG1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzICk7XG5cdCNlbmRpZlxuI2VuZGlmIiwKYW9tYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9BT01BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBhb01hcDtcblx0dW5pZm9ybSBmbG9hdCBhb01hcEludGVuc2l0eTtcbiNlbmRpZiIsYmVnaW5fdmVydGV4OiJ2ZWMzIHRyYW5zZm9ybWVkIFx4M2QgdmVjMyggcG9zaXRpb24gKTsiLGJlZ2lubm9ybWFsX3ZlcnRleDoidmVjMyBvYmplY3ROb3JtYWwgXHgzZCB2ZWMzKCBub3JtYWwgKTtcbiNpZmRlZiBVU0VfVEFOR0VOVFxuXHR2ZWMzIG9iamVjdFRhbmdlbnQgXHgzZCB2ZWMzKCB0YW5nZW50Lnh5eiApO1xuI2VuZGlmIixic2RmczoidmVjMiBpbnRlZ3JhdGVTcGVjdWxhckJSREYoIGNvbnN0IGluIGZsb2F0IGRvdE5WLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGNvbnN0IHZlYzQgYzAgXHgzZCB2ZWM0KCAtIDEsIC0gMC4wMjc1LCAtIDAuNTcyLCAwLjAyMiApO1xuXHRjb25zdCB2ZWM0IGMxIFx4M2QgdmVjNCggMSwgMC4wNDI1LCAxLjA0LCAtIDAuMDQgKTtcblx0dmVjNCByIFx4M2Qgcm91Z2huZXNzICogYzAgKyBjMTtcblx0ZmxvYXQgYTAwNCBceDNkIG1pbiggci54ICogci54LCBleHAyKCAtIDkuMjggKiBkb3ROViApICkgKiByLnggKyByLnk7XG5cdHJldHVybiB2ZWMyKCAtMS4wNCwgMS4wNCApICogYTAwNCArIHIuenc7XG59XG5mbG9hdCBwdW5jdHVhbExpZ2h0SW50ZW5zaXR5VG9JcnJhZGlhbmNlRmFjdG9yKCBjb25zdCBpbiBmbG9hdCBsaWdodERpc3RhbmNlLCBjb25zdCBpbiBmbG9hdCBjdXRvZmZEaXN0YW5jZSwgY29uc3QgaW4gZmxvYXQgZGVjYXlFeHBvbmVudCApIHtcbiNpZiBkZWZpbmVkICggUEhZU0lDQUxMWV9DT1JSRUNUX0xJR0hUUyApXG5cdGZsb2F0IGRpc3RhbmNlRmFsbG9mZiBceDNkIDEuMCAvIG1heCggcG93KCBsaWdodERpc3RhbmNlLCBkZWNheUV4cG9uZW50ICksIDAuMDEgKTtcblx0aWYoIGN1dG9mZkRpc3RhbmNlIFx4M2UgMC4wICkge1xuXHRcdGRpc3RhbmNlRmFsbG9mZiAqXHgzZCBwb3cyKCBzYXR1cmF0ZSggMS4wIC0gcG93NCggbGlnaHREaXN0YW5jZSAvIGN1dG9mZkRpc3RhbmNlICkgKSApO1xuXHR9XG5cdHJldHVybiBkaXN0YW5jZUZhbGxvZmY7XG4jZWxzZVxuXHRpZiggY3V0b2ZmRGlzdGFuY2UgXHgzZSAwLjAgXHgyNlx4MjYgZGVjYXlFeHBvbmVudCBceDNlIDAuMCApIHtcblx0XHRyZXR1cm4gcG93KCBzYXR1cmF0ZSggLWxpZ2h0RGlzdGFuY2UgLyBjdXRvZmZEaXN0YW5jZSArIDEuMCApLCBkZWNheUV4cG9uZW50ICk7XG5cdH1cblx0cmV0dXJuIDEuMDtcbiNlbmRpZlxufVxudmVjMyBCUkRGX0RpZmZ1c2VfTGFtYmVydCggY29uc3QgaW4gdmVjMyBkaWZmdXNlQ29sb3IgKSB7XG5cdHJldHVybiBSRUNJUFJPQ0FMX1BJICogZGlmZnVzZUNvbG9yO1xufVxudmVjMyBGX1NjaGxpY2soIGNvbnN0IGluIHZlYzMgc3BlY3VsYXJDb2xvciwgY29uc3QgaW4gZmxvYXQgZG90TEggKSB7XG5cdGZsb2F0IGZyZXNuZWwgXHgzZCBleHAyKCAoIC01LjU1NDczICogZG90TEggLSA2Ljk4MzE2ICkgKiBkb3RMSCApO1xuXHRyZXR1cm4gKCAxLjAgLSBzcGVjdWxhckNvbG9yICkgKiBmcmVzbmVsICsgc3BlY3VsYXJDb2xvcjtcbn1cbnZlYzMgRl9TY2hsaWNrX1JvdWdobmVzc0RlcGVuZGVudCggY29uc3QgaW4gdmVjMyBGMCwgY29uc3QgaW4gZmxvYXQgZG90TlYsIGNvbnN0IGluIGZsb2F0IHJvdWdobmVzcyApIHtcblx0ZmxvYXQgZnJlc25lbCBceDNkIGV4cDIoICggLTUuNTU0NzMgKiBkb3ROViAtIDYuOTgzMTYgKSAqIGRvdE5WICk7XG5cdHZlYzMgRnIgXHgzZCBtYXgoIHZlYzMoIDEuMCAtIHJvdWdobmVzcyApLCBGMCApIC0gRjA7XG5cdHJldHVybiBGciAqIGZyZXNuZWwgKyBGMDtcbn1cbmZsb2F0IEdfR0dYX1NtaXRoKCBjb25zdCBpbiBmbG9hdCBhbHBoYSwgY29uc3QgaW4gZmxvYXQgZG90TkwsIGNvbnN0IGluIGZsb2F0IGRvdE5WICkge1xuXHRmbG9hdCBhMiBceDNkIHBvdzIoIGFscGhhICk7XG5cdGZsb2F0IGdsIFx4M2QgZG90TkwgKyBzcXJ0KCBhMiArICggMS4wIC0gYTIgKSAqIHBvdzIoIGRvdE5MICkgKTtcblx0ZmxvYXQgZ3YgXHgzZCBkb3ROViArIHNxcnQoIGEyICsgKCAxLjAgLSBhMiApICogcG93MiggZG90TlYgKSApO1xuXHRyZXR1cm4gMS4wIC8gKCBnbCAqIGd2ICk7XG59XG5mbG9hdCBHX0dHWF9TbWl0aENvcnJlbGF0ZWQoIGNvbnN0IGluIGZsb2F0IGFscGhhLCBjb25zdCBpbiBmbG9hdCBkb3ROTCwgY29uc3QgaW4gZmxvYXQgZG90TlYgKSB7XG5cdGZsb2F0IGEyIFx4M2QgcG93MiggYWxwaGEgKTtcblx0ZmxvYXQgZ3YgXHgzZCBkb3ROTCAqIHNxcnQoIGEyICsgKCAxLjAgLSBhMiApICogcG93MiggZG90TlYgKSApO1xuXHRmbG9hdCBnbCBceDNkIGRvdE5WICogc3FydCggYTIgKyAoIDEuMCAtIGEyICkgKiBwb3cyKCBkb3ROTCApICk7XG5cdHJldHVybiAwLjUgLyBtYXgoIGd2ICsgZ2wsIEVQU0lMT04gKTtcbn1cbmZsb2F0IERfR0dYKCBjb25zdCBpbiBmbG9hdCBhbHBoYSwgY29uc3QgaW4gZmxvYXQgZG90TkggKSB7XG5cdGZsb2F0IGEyIFx4M2QgcG93MiggYWxwaGEgKTtcblx0ZmxvYXQgZGVub20gXHgzZCBwb3cyKCBkb3ROSCApICogKCBhMiAtIDEuMCApICsgMS4wO1xuXHRyZXR1cm4gUkVDSVBST0NBTF9QSSAqIGEyIC8gcG93MiggZGVub20gKTtcbn1cbnZlYzMgQlJERl9TcGVjdWxhcl9HR1goIGNvbnN0IGluIEluY2lkZW50TGlnaHQgaW5jaWRlbnRMaWdodCwgY29uc3QgaW4gdmVjMyB2aWV3RGlyLCBjb25zdCBpbiB2ZWMzIG5vcm1hbCwgY29uc3QgaW4gdmVjMyBzcGVjdWxhckNvbG9yLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGZsb2F0IGFscGhhIFx4M2QgcG93Miggcm91Z2huZXNzICk7XG5cdHZlYzMgaGFsZkRpciBceDNkIG5vcm1hbGl6ZSggaW5jaWRlbnRMaWdodC5kaXJlY3Rpb24gKyB2aWV3RGlyICk7XG5cdGZsb2F0IGRvdE5MIFx4M2Qgc2F0dXJhdGUoIGRvdCggbm9ybWFsLCBpbmNpZGVudExpZ2h0LmRpcmVjdGlvbiApICk7XG5cdGZsb2F0IGRvdE5WIFx4M2Qgc2F0dXJhdGUoIGRvdCggbm9ybWFsLCB2aWV3RGlyICkgKTtcblx0ZmxvYXQgZG90TkggXHgzZCBzYXR1cmF0ZSggZG90KCBub3JtYWwsIGhhbGZEaXIgKSApO1xuXHRmbG9hdCBkb3RMSCBceDNkIHNhdHVyYXRlKCBkb3QoIGluY2lkZW50TGlnaHQuZGlyZWN0aW9uLCBoYWxmRGlyICkgKTtcblx0dmVjMyBGIFx4M2QgRl9TY2hsaWNrKCBzcGVjdWxhckNvbG9yLCBkb3RMSCApO1xuXHRmbG9hdCBHIFx4M2QgR19HR1hfU21pdGhDb3JyZWxhdGVkKCBhbHBoYSwgZG90TkwsIGRvdE5WICk7XG5cdGZsb2F0IEQgXHgzZCBEX0dHWCggYWxwaGEsIGRvdE5IICk7XG5cdHJldHVybiBGICogKCBHICogRCApO1xufVxudmVjMiBMVENfVXYoIGNvbnN0IGluIHZlYzMgTiwgY29uc3QgaW4gdmVjMyBWLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGNvbnN0IGZsb2F0IExVVF9TSVpFICBceDNkIDY0LjA7XG5cdGNvbnN0IGZsb2F0IExVVF9TQ0FMRSBceDNkICggTFVUX1NJWkUgLSAxLjAgKSAvIExVVF9TSVpFO1xuXHRjb25zdCBmbG9hdCBMVVRfQklBUyAgXHgzZCAwLjUgLyBMVVRfU0laRTtcblx0ZmxvYXQgZG90TlYgXHgzZCBzYXR1cmF0ZSggZG90KCBOLCBWICkgKTtcblx0dmVjMiB1diBceDNkIHZlYzIoIHJvdWdobmVzcywgc3FydCggMS4wIC0gZG90TlYgKSApO1xuXHR1diBceDNkIHV2ICogTFVUX1NDQUxFICsgTFVUX0JJQVM7XG5cdHJldHVybiB1djtcbn1cbmZsb2F0IExUQ19DbGlwcGVkU3BoZXJlRm9ybUZhY3RvciggY29uc3QgaW4gdmVjMyBmICkge1xuXHRmbG9hdCBsIFx4M2QgbGVuZ3RoKCBmICk7XG5cdHJldHVybiBtYXgoICggbCAqIGwgKyBmLnogKSAvICggbCArIDEuMCApLCAwLjAgKTtcbn1cbnZlYzMgTFRDX0VkZ2VWZWN0b3JGb3JtRmFjdG9yKCBjb25zdCBpbiB2ZWMzIHYxLCBjb25zdCBpbiB2ZWMzIHYyICkge1xuXHRmbG9hdCB4IFx4M2QgZG90KCB2MSwgdjIgKTtcblx0ZmxvYXQgeSBceDNkIGFicyggeCApO1xuXHRmbG9hdCBhIFx4M2QgMC44NTQzOTg1ICsgKCAwLjQ5NjUxNTUgKyAwLjAxNDUyMDYgKiB5ICkgKiB5O1xuXHRmbG9hdCBiIFx4M2QgMy40MTc1OTQwICsgKCA0LjE2MTY3MjQgKyB5ICkgKiB5O1xuXHRmbG9hdCB2IFx4M2QgYSAvIGI7XG5cdGZsb2F0IHRoZXRhX3NpbnRoZXRhIFx4M2QgKCB4IFx4M2UgMC4wICkgPyB2IDogMC41ICogaW52ZXJzZXNxcnQoIG1heCggMS4wIC0geCAqIHgsIDFlLTcgKSApIC0gdjtcblx0cmV0dXJuIGNyb3NzKCB2MSwgdjIgKSAqIHRoZXRhX3NpbnRoZXRhO1xufVxudmVjMyBMVENfRXZhbHVhdGUoIGNvbnN0IGluIHZlYzMgTiwgY29uc3QgaW4gdmVjMyBWLCBjb25zdCBpbiB2ZWMzIFAsIGNvbnN0IGluIG1hdDMgbUludiwgY29uc3QgaW4gdmVjMyByZWN0Q29vcmRzWyA0IF0gKSB7XG5cdHZlYzMgdjEgXHgzZCByZWN0Q29vcmRzWyAxIF0gLSByZWN0Q29vcmRzWyAwIF07XG5cdHZlYzMgdjIgXHgzZCByZWN0Q29vcmRzWyAzIF0gLSByZWN0Q29vcmRzWyAwIF07XG5cdHZlYzMgbGlnaHROb3JtYWwgXHgzZCBjcm9zcyggdjEsIHYyICk7XG5cdGlmKCBkb3QoIGxpZ2h0Tm9ybWFsLCBQIC0gcmVjdENvb3Jkc1sgMCBdICkgXHgzYyAwLjAgKSByZXR1cm4gdmVjMyggMC4wICk7XG5cdHZlYzMgVDEsIFQyO1xuXHRUMSBceDNkIG5vcm1hbGl6ZSggViAtIE4gKiBkb3QoIFYsIE4gKSApO1xuXHRUMiBceDNkIC0gY3Jvc3MoIE4sIFQxICk7XG5cdG1hdDMgbWF0IFx4M2QgbUludiAqIHRyYW5zcG9zZU1hdDMoIG1hdDMoIFQxLCBUMiwgTiApICk7XG5cdHZlYzMgY29vcmRzWyA0IF07XG5cdGNvb3Jkc1sgMCBdIFx4M2QgbWF0ICogKCByZWN0Q29vcmRzWyAwIF0gLSBQICk7XG5cdGNvb3Jkc1sgMSBdIFx4M2QgbWF0ICogKCByZWN0Q29vcmRzWyAxIF0gLSBQICk7XG5cdGNvb3Jkc1sgMiBdIFx4M2QgbWF0ICogKCByZWN0Q29vcmRzWyAyIF0gLSBQICk7XG5cdGNvb3Jkc1sgMyBdIFx4M2QgbWF0ICogKCByZWN0Q29vcmRzWyAzIF0gLSBQICk7XG5cdGNvb3Jkc1sgMCBdIFx4M2Qgbm9ybWFsaXplKCBjb29yZHNbIDAgXSApO1xuXHRjb29yZHNbIDEgXSBceDNkIG5vcm1hbGl6ZSggY29vcmRzWyAxIF0gKTtcblx0Y29vcmRzWyAyIF0gXHgzZCBub3JtYWxpemUoIGNvb3Jkc1sgMiBdICk7XG5cdGNvb3Jkc1sgMyBdIFx4M2Qgbm9ybWFsaXplKCBjb29yZHNbIDMgXSApO1xuXHR2ZWMzIHZlY3RvckZvcm1GYWN0b3IgXHgzZCB2ZWMzKCAwLjAgKTtcblx0dmVjdG9yRm9ybUZhY3RvciArXHgzZCBMVENfRWRnZVZlY3RvckZvcm1GYWN0b3IoIGNvb3Jkc1sgMCBdLCBjb29yZHNbIDEgXSApO1xuXHR2ZWN0b3JGb3JtRmFjdG9yICtceDNkIExUQ19FZGdlVmVjdG9yRm9ybUZhY3RvciggY29vcmRzWyAxIF0sIGNvb3Jkc1sgMiBdICk7XG5cdHZlY3RvckZvcm1GYWN0b3IgK1x4M2QgTFRDX0VkZ2VWZWN0b3JGb3JtRmFjdG9yKCBjb29yZHNbIDIgXSwgY29vcmRzWyAzIF0gKTtcblx0dmVjdG9yRm9ybUZhY3RvciArXHgzZCBMVENfRWRnZVZlY3RvckZvcm1GYWN0b3IoIGNvb3Jkc1sgMyBdLCBjb29yZHNbIDAgXSApO1xuXHRmbG9hdCByZXN1bHQgXHgzZCBMVENfQ2xpcHBlZFNwaGVyZUZvcm1GYWN0b3IoIHZlY3RvckZvcm1GYWN0b3IgKTtcblx0cmV0dXJuIHZlYzMoIHJlc3VsdCApO1xufVxudmVjMyBCUkRGX1NwZWN1bGFyX0dHWF9FbnZpcm9ubWVudCggY29uc3QgaW4gdmVjMyB2aWV3RGlyLCBjb25zdCBpbiB2ZWMzIG5vcm1hbCwgY29uc3QgaW4gdmVjMyBzcGVjdWxhckNvbG9yLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGZsb2F0IGRvdE5WIFx4M2Qgc2F0dXJhdGUoIGRvdCggbm9ybWFsLCB2aWV3RGlyICkgKTtcblx0dmVjMiBicmRmIFx4M2QgaW50ZWdyYXRlU3BlY3VsYXJCUkRGKCBkb3ROViwgcm91Z2huZXNzICk7XG5cdHJldHVybiBzcGVjdWxhckNvbG9yICogYnJkZi54ICsgYnJkZi55O1xufVxudm9pZCBCUkRGX1NwZWN1bGFyX011bHRpc2NhdHRlcmluZ19FbnZpcm9ubWVudCggY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gdmVjMyBzcGVjdWxhckNvbG9yLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MsIGlub3V0IHZlYzMgc2luZ2xlU2NhdHRlciwgaW5vdXQgdmVjMyBtdWx0aVNjYXR0ZXIgKSB7XG5cdGZsb2F0IGRvdE5WIFx4M2Qgc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkubm9ybWFsLCBnZW9tZXRyeS52aWV3RGlyICkgKTtcblx0dmVjMyBGIFx4M2QgRl9TY2hsaWNrX1JvdWdobmVzc0RlcGVuZGVudCggc3BlY3VsYXJDb2xvciwgZG90TlYsIHJvdWdobmVzcyApO1xuXHR2ZWMyIGJyZGYgXHgzZCBpbnRlZ3JhdGVTcGVjdWxhckJSREYoIGRvdE5WLCByb3VnaG5lc3MgKTtcblx0dmVjMyBGc3NFc3MgXHgzZCBGICogYnJkZi54ICsgYnJkZi55O1xuXHRmbG9hdCBFc3MgXHgzZCBicmRmLnggKyBicmRmLnk7XG5cdGZsb2F0IEVtcyBceDNkIDEuMCAtIEVzcztcblx0dmVjMyBGYXZnIFx4M2Qgc3BlY3VsYXJDb2xvciArICggMS4wIC0gc3BlY3VsYXJDb2xvciApICogMC4wNDc2MTk7XHR2ZWMzIEZtcyBceDNkIEZzc0VzcyAqIEZhdmcgLyAoIDEuMCAtIEVtcyAqIEZhdmcgKTtcblx0c2luZ2xlU2NhdHRlciArXHgzZCBGc3NFc3M7XG5cdG11bHRpU2NhdHRlciArXHgzZCBGbXMgKiBFbXM7XG59XG5mbG9hdCBHX0JsaW5uUGhvbmdfSW1wbGljaXQoICkge1xuXHRyZXR1cm4gMC4yNTtcbn1cbmZsb2F0IERfQmxpbm5QaG9uZyggY29uc3QgaW4gZmxvYXQgc2hpbmluZXNzLCBjb25zdCBpbiBmbG9hdCBkb3ROSCApIHtcblx0cmV0dXJuIFJFQ0lQUk9DQUxfUEkgKiAoIHNoaW5pbmVzcyAqIDAuNSArIDEuMCApICogcG93KCBkb3ROSCwgc2hpbmluZXNzICk7XG59XG52ZWMzIEJSREZfU3BlY3VsYXJfQmxpbm5QaG9uZyggY29uc3QgaW4gSW5jaWRlbnRMaWdodCBpbmNpZGVudExpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBjb25zdCBpbiB2ZWMzIHNwZWN1bGFyQ29sb3IsIGNvbnN0IGluIGZsb2F0IHNoaW5pbmVzcyApIHtcblx0dmVjMyBoYWxmRGlyIFx4M2Qgbm9ybWFsaXplKCBpbmNpZGVudExpZ2h0LmRpcmVjdGlvbiArIGdlb21ldHJ5LnZpZXdEaXIgKTtcblx0ZmxvYXQgZG90TkggXHgzZCBzYXR1cmF0ZSggZG90KCBnZW9tZXRyeS5ub3JtYWwsIGhhbGZEaXIgKSApO1xuXHRmbG9hdCBkb3RMSCBceDNkIHNhdHVyYXRlKCBkb3QoIGluY2lkZW50TGlnaHQuZGlyZWN0aW9uLCBoYWxmRGlyICkgKTtcblx0dmVjMyBGIFx4M2QgRl9TY2hsaWNrKCBzcGVjdWxhckNvbG9yLCBkb3RMSCApO1xuXHRmbG9hdCBHIFx4M2QgR19CbGlublBob25nX0ltcGxpY2l0KCApO1xuXHRmbG9hdCBEIFx4M2QgRF9CbGlublBob25nKCBzaGluaW5lc3MsIGRvdE5IICk7XG5cdHJldHVybiBGICogKCBHICogRCApO1xufVxuZmxvYXQgR0dYUm91Z2huZXNzVG9CbGlubkV4cG9uZW50KCBjb25zdCBpbiBmbG9hdCBnZ3hSb3VnaG5lc3MgKSB7XG5cdHJldHVybiAoIDIuMCAvIHBvdzIoIGdneFJvdWdobmVzcyArIDAuMDAwMSApIC0gMi4wICk7XG59XG5mbG9hdCBCbGlubkV4cG9uZW50VG9HR1hSb3VnaG5lc3MoIGNvbnN0IGluIGZsb2F0IGJsaW5uRXhwb25lbnQgKSB7XG5cdHJldHVybiBzcXJ0KCAyLjAgLyAoIGJsaW5uRXhwb25lbnQgKyAyLjAgKSApO1xufVxuI2lmIGRlZmluZWQoIFVTRV9TSEVFTiApXG5mbG9hdCBEX0NoYXJsaWUoZmxvYXQgcm91Z2huZXNzLCBmbG9hdCBOb0gpIHtcblx0ZmxvYXQgaW52QWxwaGEgIFx4M2QgMS4wIC8gcm91Z2huZXNzO1xuXHRmbG9hdCBjb3MyaCBceDNkIE5vSCAqIE5vSDtcblx0ZmxvYXQgc2luMmggXHgzZCBtYXgoMS4wIC0gY29zMmgsIDAuMDA3ODEyNSk7XHRyZXR1cm4gKDIuMCArIGludkFscGhhKSAqIHBvdyhzaW4yaCwgaW52QWxwaGEgKiAwLjUpIC8gKDIuMCAqIFBJKTtcbn1cbmZsb2F0IFZfTmV1YmVsdChmbG9hdCBOb1YsIGZsb2F0IE5vTCkge1xuXHRyZXR1cm4gc2F0dXJhdGUoMS4wIC8gKDQuMCAqIChOb0wgKyBOb1YgLSBOb0wgKiBOb1YpKSk7XG59XG52ZWMzIEJSREZfU3BlY3VsYXJfU2hlZW4oIGNvbnN0IGluIGZsb2F0IHJvdWdobmVzcywgY29uc3QgaW4gdmVjMyBMLCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCB2ZWMzIHNwZWN1bGFyQ29sb3IgKSB7XG5cdHZlYzMgTiBceDNkIGdlb21ldHJ5Lm5vcm1hbDtcblx0dmVjMyBWIFx4M2QgZ2VvbWV0cnkudmlld0Rpcjtcblx0dmVjMyBIIFx4M2Qgbm9ybWFsaXplKCBWICsgTCApO1xuXHRmbG9hdCBkb3ROSCBceDNkIHNhdHVyYXRlKCBkb3QoIE4sIEggKSApO1xuXHRyZXR1cm4gc3BlY3VsYXJDb2xvciAqIERfQ2hhcmxpZSggcm91Z2huZXNzLCBkb3ROSCApICogVl9OZXViZWx0KCBkb3QoTiwgViksIGRvdChOLCBMKSApO1xufVxuI2VuZGlmIiwKYnVtcG1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0JVTVBNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgYnVtcE1hcDtcblx0dW5pZm9ybSBmbG9hdCBidW1wU2NhbGU7XG5cdHZlYzIgZEhkeHlfZndkKCkge1xuXHRcdHZlYzIgZFNUZHggXHgzZCBkRmR4KCB2VXYgKTtcblx0XHR2ZWMyIGRTVGR5IFx4M2QgZEZkeSggdlV2ICk7XG5cdFx0ZmxvYXQgSGxsIFx4M2QgYnVtcFNjYWxlICogdGV4dHVyZTJEKCBidW1wTWFwLCB2VXYgKS54O1xuXHRcdGZsb2F0IGRCeCBceDNkIGJ1bXBTY2FsZSAqIHRleHR1cmUyRCggYnVtcE1hcCwgdlV2ICsgZFNUZHggKS54IC0gSGxsO1xuXHRcdGZsb2F0IGRCeSBceDNkIGJ1bXBTY2FsZSAqIHRleHR1cmUyRCggYnVtcE1hcCwgdlV2ICsgZFNUZHkgKS54IC0gSGxsO1xuXHRcdHJldHVybiB2ZWMyKCBkQngsIGRCeSApO1xuXHR9XG5cdHZlYzMgcGVydHVyYk5vcm1hbEFyYiggdmVjMyBzdXJmX3BvcywgdmVjMyBzdXJmX25vcm0sIHZlYzIgZEhkeHkgKSB7XG5cdFx0dmVjMyB2U2lnbWFYIFx4M2QgdmVjMyggZEZkeCggc3VyZl9wb3MueCApLCBkRmR4KCBzdXJmX3Bvcy55ICksIGRGZHgoIHN1cmZfcG9zLnogKSApO1xuXHRcdHZlYzMgdlNpZ21hWSBceDNkIHZlYzMoIGRGZHkoIHN1cmZfcG9zLnggKSwgZEZkeSggc3VyZl9wb3MueSApLCBkRmR5KCBzdXJmX3Bvcy56ICkgKTtcblx0XHR2ZWMzIHZOIFx4M2Qgc3VyZl9ub3JtO1xuXHRcdHZlYzMgUjEgXHgzZCBjcm9zcyggdlNpZ21hWSwgdk4gKTtcblx0XHR2ZWMzIFIyIFx4M2QgY3Jvc3MoIHZOLCB2U2lnbWFYICk7XG5cdFx0ZmxvYXQgZkRldCBceDNkIGRvdCggdlNpZ21hWCwgUjEgKTtcblx0XHRmRGV0ICpceDNkICggZmxvYXQoIGdsX0Zyb250RmFjaW5nICkgKiAyLjAgLSAxLjAgKTtcblx0XHR2ZWMzIHZHcmFkIFx4M2Qgc2lnbiggZkRldCApICogKCBkSGR4eS54ICogUjEgKyBkSGR4eS55ICogUjIgKTtcblx0XHRyZXR1cm4gbm9ybWFsaXplKCBhYnMoIGZEZXQgKSAqIHN1cmZfbm9ybSAtIHZHcmFkICk7XG5cdH1cbiNlbmRpZiIsCmNsaXBwaW5nX3BsYW5lc19mcmFnbWVudDoiI2lmIE5VTV9DTElQUElOR19QTEFORVMgXHgzZSAwXG5cdHZlYzQgcGxhbmU7XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bcblx0Zm9yICggaW50IGkgXHgzZCAwOyBpIFx4M2MgVU5JT05fQ0xJUFBJTkdfUExBTkVTOyBpICsrICkge1xuXHRcdHBsYW5lIFx4M2QgY2xpcHBpbmdQbGFuZXNbIGkgXTtcblx0XHRpZiAoIGRvdCggdlZpZXdQb3NpdGlvbiwgcGxhbmUueHl6ICkgXHgzZSBwbGFuZS53ICkgZGlzY2FyZDtcblx0fVxuXHQjaWYgVU5JT05fQ0xJUFBJTkdfUExBTkVTIFx4M2MgTlVNX0NMSVBQSU5HX1BMQU5FU1xuXHRcdGJvb2wgY2xpcHBlZCBceDNkIHRydWU7XG5cdFx0I3ByYWdtYSB1bnJvbGxfbG9vcFxuXHRcdGZvciAoIGludCBpIFx4M2QgVU5JT05fQ0xJUFBJTkdfUExBTkVTOyBpIFx4M2MgTlVNX0NMSVBQSU5HX1BMQU5FUzsgaSArKyApIHtcblx0XHRcdHBsYW5lIFx4M2QgY2xpcHBpbmdQbGFuZXNbIGkgXTtcblx0XHRcdGNsaXBwZWQgXHgzZCAoIGRvdCggdlZpZXdQb3NpdGlvbiwgcGxhbmUueHl6ICkgXHgzZSBwbGFuZS53ICkgXHgyNlx4MjYgY2xpcHBlZDtcblx0XHR9XG5cdFx0aWYgKCBjbGlwcGVkICkgZGlzY2FyZDtcblx0I2VuZGlmXG4jZW5kaWYiLApjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudDoiI2lmIE5VTV9DTElQUElOR19QTEFORVMgXHgzZSAwXG5cdCNpZiAhIGRlZmluZWQoIFNUQU5EQVJEICkgXHgyNlx4MjYgISBkZWZpbmVkKCBQSE9ORyApIFx4MjZceDI2ICEgZGVmaW5lZCggTUFUQ0FQIClcblx0XHR2YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcblx0I2VuZGlmXG5cdHVuaWZvcm0gdmVjNCBjbGlwcGluZ1BsYW5lc1sgTlVNX0NMSVBQSU5HX1BMQU5FUyBdO1xuI2VuZGlmIixjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg6IiNpZiBOVU1fQ0xJUFBJTkdfUExBTkVTIFx4M2UgMCBceDI2XHgyNiAhIGRlZmluZWQoIFNUQU5EQVJEICkgXHgyNlx4MjYgISBkZWZpbmVkKCBQSE9ORyApIFx4MjZceDI2ICEgZGVmaW5lZCggTUFUQ0FQIClcblx0dmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jZW5kaWYiLGNsaXBwaW5nX3BsYW5lc192ZXJ0ZXg6IiNpZiBOVU1fQ0xJUFBJTkdfUExBTkVTIFx4M2UgMCBceDI2XHgyNiAhIGRlZmluZWQoIFNUQU5EQVJEICkgXHgyNlx4MjYgISBkZWZpbmVkKCBQSE9ORyApIFx4MjZceDI2ICEgZGVmaW5lZCggTUFUQ0FQIClcblx0dlZpZXdQb3NpdGlvbiBceDNkIC0gbXZQb3NpdGlvbi54eXo7XG4jZW5kaWYiLApjb2xvcl9mcmFnbWVudDoiI2lmZGVmIFVTRV9DT0xPUlxuXHRkaWZmdXNlQ29sb3IucmdiICpceDNkIHZDb2xvcjtcbiNlbmRpZiIsY29sb3JfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9DT0xPUlxuXHR2YXJ5aW5nIHZlYzMgdkNvbG9yO1xuI2VuZGlmIixjb2xvcl9wYXJzX3ZlcnRleDoiI2lmZGVmIFVTRV9DT0xPUlxuXHR2YXJ5aW5nIHZlYzMgdkNvbG9yO1xuI2VuZGlmIixjb2xvcl92ZXJ0ZXg6IiNpZmRlZiBVU0VfQ09MT1Jcblx0dkNvbG9yLnh5eiBceDNkIGNvbG9yLnh5ejtcbiNlbmRpZiIsY29tbW9uOiIjZGVmaW5lIFBJIDMuMTQxNTkyNjUzNTlcbiNkZWZpbmUgUEkyIDYuMjgzMTg1MzA3MThcbiNkZWZpbmUgUElfSEFMRiAxLjU3MDc5NjMyNjc5NDlcbiNkZWZpbmUgUkVDSVBST0NBTF9QSSAwLjMxODMwOTg4NjE4XG4jZGVmaW5lIFJFQ0lQUk9DQUxfUEkyIDAuMTU5MTU0OTRcbiNkZWZpbmUgTE9HMiAxLjQ0MjY5NVxuI2RlZmluZSBFUFNJTE9OIDFlLTZcbiNkZWZpbmUgc2F0dXJhdGUoYSkgY2xhbXAoIGEsIDAuMCwgMS4wIClcbiNkZWZpbmUgd2hpdGVDb21wbGVtZW50KGEpICggMS4wIC0gc2F0dXJhdGUoIGEgKSApXG5mbG9hdCBwb3cyKCBjb25zdCBpbiBmbG9hdCB4ICkgeyByZXR1cm4geCp4OyB9XG5mbG9hdCBwb3czKCBjb25zdCBpbiBmbG9hdCB4ICkgeyByZXR1cm4geCp4Kng7IH1cbmZsb2F0IHBvdzQoIGNvbnN0IGluIGZsb2F0IHggKSB7IGZsb2F0IHgyIFx4M2QgeCp4OyByZXR1cm4geDIqeDI7IH1cbmZsb2F0IGF2ZXJhZ2UoIGNvbnN0IGluIHZlYzMgY29sb3IgKSB7IHJldHVybiBkb3QoIGNvbG9yLCB2ZWMzKCAwLjMzMzMgKSApOyB9XG5oaWdocCBmbG9hdCByYW5kKCBjb25zdCBpbiB2ZWMyIHV2ICkge1xuXHRjb25zdCBoaWdocCBmbG9hdCBhIFx4M2QgMTIuOTg5OCwgYiBceDNkIDc4LjIzMywgYyBceDNkIDQzNzU4LjU0NTM7XG5cdGhpZ2hwIGZsb2F0IGR0IFx4M2QgZG90KCB1di54eSwgdmVjMiggYSxiICkgKSwgc24gXHgzZCBtb2QoIGR0LCBQSSApO1xuXHRyZXR1cm4gZnJhY3Qoc2luKHNuKSAqIGMpO1xufVxuI2lmZGVmIEhJR0hfUFJFQ0lTSU9OXG5cdGZsb2F0IHByZWNpc2lvblNhZmVMZW5ndGgoIHZlYzMgdiApIHsgcmV0dXJuIGxlbmd0aCggdiApOyB9XG4jZWxzZVxuXHRmbG9hdCBtYXgzKCB2ZWMzIHYgKSB7IHJldHVybiBtYXgoIG1heCggdi54LCB2LnkgKSwgdi56ICk7IH1cblx0ZmxvYXQgcHJlY2lzaW9uU2FmZUxlbmd0aCggdmVjMyB2ICkge1xuXHRcdGZsb2F0IG1heENvbXBvbmVudCBceDNkIG1heDMoIGFicyggdiApICk7XG5cdFx0cmV0dXJuIGxlbmd0aCggdiAvIG1heENvbXBvbmVudCApICogbWF4Q29tcG9uZW50O1xuXHR9XG4jZW5kaWZcbnN0cnVjdCBJbmNpZGVudExpZ2h0IHtcblx0dmVjMyBjb2xvcjtcblx0dmVjMyBkaXJlY3Rpb247XG5cdGJvb2wgdmlzaWJsZTtcbn07XG5zdHJ1Y3QgUmVmbGVjdGVkTGlnaHQge1xuXHR2ZWMzIGRpcmVjdERpZmZ1c2U7XG5cdHZlYzMgZGlyZWN0U3BlY3VsYXI7XG5cdHZlYzMgaW5kaXJlY3REaWZmdXNlO1xuXHR2ZWMzIGluZGlyZWN0U3BlY3VsYXI7XG59O1xuc3RydWN0IEdlb21ldHJpY0NvbnRleHQge1xuXHR2ZWMzIHBvc2l0aW9uO1xuXHR2ZWMzIG5vcm1hbDtcblx0dmVjMyB2aWV3RGlyO1xuI2lmZGVmIENMRUFSQ09BVFxuXHR2ZWMzIGNsZWFyY29hdE5vcm1hbDtcbiNlbmRpZlxufTtcbnZlYzMgdHJhbnNmb3JtRGlyZWN0aW9uKCBpbiB2ZWMzIGRpciwgaW4gbWF0NCBtYXRyaXggKSB7XG5cdHJldHVybiBub3JtYWxpemUoICggbWF0cml4ICogdmVjNCggZGlyLCAwLjAgKSApLnh5eiApO1xufVxudmVjMyBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCBpbiB2ZWMzIGRpciwgaW4gbWF0NCBtYXRyaXggKSB7XG5cdHJldHVybiBub3JtYWxpemUoICggdmVjNCggZGlyLCAwLjAgKSAqIG1hdHJpeCApLnh5eiApO1xufVxudmVjMyBwcm9qZWN0T25QbGFuZShpbiB2ZWMzIHBvaW50LCBpbiB2ZWMzIHBvaW50T25QbGFuZSwgaW4gdmVjMyBwbGFuZU5vcm1hbCApIHtcblx0ZmxvYXQgZGlzdGFuY2UgXHgzZCBkb3QoIHBsYW5lTm9ybWFsLCBwb2ludCAtIHBvaW50T25QbGFuZSApO1xuXHRyZXR1cm4gLSBkaXN0YW5jZSAqIHBsYW5lTm9ybWFsICsgcG9pbnQ7XG59XG5mbG9hdCBzaWRlT2ZQbGFuZSggaW4gdmVjMyBwb2ludCwgaW4gdmVjMyBwb2ludE9uUGxhbmUsIGluIHZlYzMgcGxhbmVOb3JtYWwgKSB7XG5cdHJldHVybiBzaWduKCBkb3QoIHBvaW50IC0gcG9pbnRPblBsYW5lLCBwbGFuZU5vcm1hbCApICk7XG59XG52ZWMzIGxpbmVQbGFuZUludGVyc2VjdCggaW4gdmVjMyBwb2ludE9uTGluZSwgaW4gdmVjMyBsaW5lRGlyZWN0aW9uLCBpbiB2ZWMzIHBvaW50T25QbGFuZSwgaW4gdmVjMyBwbGFuZU5vcm1hbCApIHtcblx0cmV0dXJuIGxpbmVEaXJlY3Rpb24gKiAoIGRvdCggcGxhbmVOb3JtYWwsIHBvaW50T25QbGFuZSAtIHBvaW50T25MaW5lICkgLyBkb3QoIHBsYW5lTm9ybWFsLCBsaW5lRGlyZWN0aW9uICkgKSArIHBvaW50T25MaW5lO1xufVxubWF0MyB0cmFuc3Bvc2VNYXQzKCBjb25zdCBpbiBtYXQzIG0gKSB7XG5cdG1hdDMgdG1wO1xuXHR0bXBbIDAgXSBceDNkIHZlYzMoIG1bIDAgXS54LCBtWyAxIF0ueCwgbVsgMiBdLnggKTtcblx0dG1wWyAxIF0gXHgzZCB2ZWMzKCBtWyAwIF0ueSwgbVsgMSBdLnksIG1bIDIgXS55ICk7XG5cdHRtcFsgMiBdIFx4M2QgdmVjMyggbVsgMCBdLnosIG1bIDEgXS56LCBtWyAyIF0ueiApO1xuXHRyZXR1cm4gdG1wO1xufVxuZmxvYXQgbGluZWFyVG9SZWxhdGl2ZUx1bWluYW5jZSggY29uc3QgaW4gdmVjMyBjb2xvciApIHtcblx0dmVjMyB3ZWlnaHRzIFx4M2QgdmVjMyggMC4yMTI2LCAwLjcxNTIsIDAuMDcyMiApO1xuXHRyZXR1cm4gZG90KCB3ZWlnaHRzLCBjb2xvci5yZ2IgKTtcbn0iLApjdWJlX3V2X3JlZmxlY3Rpb25fZnJhZ21lbnQ6IiNpZmRlZiBFTlZNQVBfVFlQRV9DVUJFX1VWXG4jZGVmaW5lIGN1YmVVVl90ZXh0dXJlU2l6ZSAoMTAyNC4wKVxuaW50IGdldEZhY2VGcm9tRGlyZWN0aW9uKHZlYzMgZGlyZWN0aW9uKSB7XG5cdHZlYzMgYWJzRGlyZWN0aW9uIFx4M2QgYWJzKGRpcmVjdGlvbik7XG5cdGludCBmYWNlIFx4M2QgLTE7XG5cdGlmKCBhYnNEaXJlY3Rpb24ueCBceDNlIGFic0RpcmVjdGlvbi56ICkge1xuXHRcdGlmKGFic0RpcmVjdGlvbi54IFx4M2UgYWJzRGlyZWN0aW9uLnkgKVxuXHRcdFx0ZmFjZSBceDNkIGRpcmVjdGlvbi54IFx4M2UgMC4wID8gMCA6IDM7XG5cdFx0ZWxzZVxuXHRcdFx0ZmFjZSBceDNkIGRpcmVjdGlvbi55IFx4M2UgMC4wID8gMSA6IDQ7XG5cdH1cblx0ZWxzZSB7XG5cdFx0aWYoYWJzRGlyZWN0aW9uLnogXHgzZSBhYnNEaXJlY3Rpb24ueSApXG5cdFx0XHRmYWNlIFx4M2QgZGlyZWN0aW9uLnogXHgzZSAwLjAgPyAyIDogNTtcblx0XHRlbHNlXG5cdFx0XHRmYWNlIFx4M2QgZGlyZWN0aW9uLnkgXHgzZSAwLjAgPyAxIDogNDtcblx0fVxuXHRyZXR1cm4gZmFjZTtcbn1cbiNkZWZpbmUgY3ViZVVWX21heExvZHMxICAobG9nMihjdWJlVVZfdGV4dHVyZVNpemUqMC4yNSkgLSAxLjApXG4jZGVmaW5lIGN1YmVVVl9yYW5nZUNsYW1wIChleHAyKCg2LjAgLSAxLjApICogMi4wKSlcbnZlYzIgTWlwTGV2ZWxJbmZvKCB2ZWMzIHZlYywgZmxvYXQgcm91Z2huZXNzTGV2ZWwsIGZsb2F0IHJvdWdobmVzcyApIHtcblx0ZmxvYXQgc2NhbGUgXHgzZCBleHAyKGN1YmVVVl9tYXhMb2RzMSAtIHJvdWdobmVzc0xldmVsKTtcblx0ZmxvYXQgZHhSb3VnaG5lc3MgXHgzZCBkRmR4KHJvdWdobmVzcyk7XG5cdGZsb2F0IGR5Um91Z2huZXNzIFx4M2QgZEZkeShyb3VnaG5lc3MpO1xuXHR2ZWMzIGR4IFx4M2QgZEZkeCggdmVjICogc2NhbGUgKiBkeFJvdWdobmVzcyApO1xuXHR2ZWMzIGR5IFx4M2QgZEZkeSggdmVjICogc2NhbGUgKiBkeVJvdWdobmVzcyApO1xuXHRmbG9hdCBkIFx4M2QgbWF4KCBkb3QoIGR4LCBkeCApLCBkb3QoIGR5LCBkeSApICk7XG5cdGQgXHgzZCBjbGFtcChkLCAxLjAsIGN1YmVVVl9yYW5nZUNsYW1wKTtcblx0ZmxvYXQgbWlwTGV2ZWwgXHgzZCAwLjUgKiBsb2cyKGQpO1xuXHRyZXR1cm4gdmVjMihmbG9vcihtaXBMZXZlbCksIGZyYWN0KG1pcExldmVsKSk7XG59XG4jZGVmaW5lIGN1YmVVVl9tYXhMb2RzMiAobG9nMihjdWJlVVZfdGV4dHVyZVNpemUqMC4yNSkgLSAyLjApXG4jZGVmaW5lIGN1YmVVVl9yY3BUZXh0dXJlU2l6ZSAoMS4wIC8gY3ViZVVWX3RleHR1cmVTaXplKVxudmVjMiBnZXRDdWJlVVYodmVjMyBkaXJlY3Rpb24sIGZsb2F0IHJvdWdobmVzc0xldmVsLCBmbG9hdCBtaXBMZXZlbCkge1xuXHRtaXBMZXZlbCBceDNkIHJvdWdobmVzc0xldmVsIFx4M2UgY3ViZVVWX21heExvZHMyIC0gMy4wID8gMC4wIDogbWlwTGV2ZWw7XG5cdGZsb2F0IGEgXHgzZCAxNi4wICogY3ViZVVWX3JjcFRleHR1cmVTaXplO1xuXHR2ZWMyIGV4cDJfcGFja2VkIFx4M2QgZXhwMiggdmVjMiggcm91Z2huZXNzTGV2ZWwsIG1pcExldmVsICkgKTtcblx0dmVjMiByY3BfZXhwMl9wYWNrZWQgXHgzZCB2ZWMyKCAxLjAgKSAvIGV4cDJfcGFja2VkO1xuXHRmbG9hdCBwb3dTY2FsZSBceDNkIGV4cDJfcGFja2VkLnggKiBleHAyX3BhY2tlZC55O1xuXHRmbG9hdCBzY2FsZSBceDNkIHJjcF9leHAyX3BhY2tlZC54ICogcmNwX2V4cDJfcGFja2VkLnkgKiAwLjI1O1xuXHRmbG9hdCBtaXBPZmZzZXQgXHgzZCAwLjc1KigxLjAgLSByY3BfZXhwMl9wYWNrZWQueSkgKiByY3BfZXhwMl9wYWNrZWQueDtcblx0Ym9vbCBiUmVzIFx4M2QgbWlwTGV2ZWwgXHgzZFx4M2QgMC4wO1xuXHRzY2FsZSBceDNkICBiUmVzIFx4MjZceDI2IChzY2FsZSBceDNjIGEpID8gYSA6IHNjYWxlO1xuXHR2ZWMzIHI7XG5cdHZlYzIgb2Zmc2V0O1xuXHRpbnQgZmFjZSBceDNkIGdldEZhY2VGcm9tRGlyZWN0aW9uKGRpcmVjdGlvbik7XG5cdGZsb2F0IHJjcFBvd1NjYWxlIFx4M2QgMS4wIC8gcG93U2NhbGU7XG5cdGlmKCBmYWNlIFx4M2RceDNkIDApIHtcblx0XHRyIFx4M2QgdmVjMyhkaXJlY3Rpb24ueCwgLWRpcmVjdGlvbi56LCBkaXJlY3Rpb24ueSk7XG5cdFx0b2Zmc2V0IFx4M2QgdmVjMigwLjArbWlwT2Zmc2V0LDAuNzUgKiByY3BQb3dTY2FsZSk7XG5cdFx0b2Zmc2V0LnkgXHgzZCBiUmVzIFx4MjZceDI2IChvZmZzZXQueSBceDNjIDIuMCphKSA/IGEgOiBvZmZzZXQueTtcblx0fVxuXHRlbHNlIGlmKCBmYWNlIFx4M2RceDNkIDEpIHtcblx0XHRyIFx4M2QgdmVjMyhkaXJlY3Rpb24ueSwgZGlyZWN0aW9uLngsIGRpcmVjdGlvbi56KTtcblx0XHRvZmZzZXQgXHgzZCB2ZWMyKHNjYWxlK21pcE9mZnNldCwgMC43NSAqIHJjcFBvd1NjYWxlKTtcblx0XHRvZmZzZXQueSBceDNkIGJSZXMgXHgyNlx4MjYgKG9mZnNldC55IFx4M2MgMi4wKmEpID8gYSA6IG9mZnNldC55O1xuXHR9XG5cdGVsc2UgaWYoIGZhY2UgXHgzZFx4M2QgMikge1xuXHRcdHIgXHgzZCB2ZWMzKGRpcmVjdGlvbi56LCBkaXJlY3Rpb24ueCwgZGlyZWN0aW9uLnkpO1xuXHRcdG9mZnNldCBceDNkIHZlYzIoMi4wKnNjYWxlK21pcE9mZnNldCwgMC43NSAqIHJjcFBvd1NjYWxlKTtcblx0XHRvZmZzZXQueSBceDNkIGJSZXMgXHgyNlx4MjYgKG9mZnNldC55IFx4M2MgMi4wKmEpID8gYSA6IG9mZnNldC55O1xuXHR9XG5cdGVsc2UgaWYoIGZhY2UgXHgzZFx4M2QgMykge1xuXHRcdHIgXHgzZCB2ZWMzKGRpcmVjdGlvbi54LCBkaXJlY3Rpb24ueiwgZGlyZWN0aW9uLnkpO1xuXHRcdG9mZnNldCBceDNkIHZlYzIoMC4wK21pcE9mZnNldCwwLjUgKiByY3BQb3dTY2FsZSk7XG5cdFx0b2Zmc2V0LnkgXHgzZCBiUmVzIFx4MjZceDI2IChvZmZzZXQueSBceDNjIDIuMCphKSA/IDAuMCA6IG9mZnNldC55O1xuXHR9XG5cdGVsc2UgaWYoIGZhY2UgXHgzZFx4M2QgNCkge1xuXHRcdHIgXHgzZCB2ZWMzKGRpcmVjdGlvbi55LCBkaXJlY3Rpb24ueCwgLWRpcmVjdGlvbi56KTtcblx0XHRvZmZzZXQgXHgzZCB2ZWMyKHNjYWxlK21pcE9mZnNldCwgMC41ICogcmNwUG93U2NhbGUpO1xuXHRcdG9mZnNldC55IFx4M2QgYlJlcyBceDI2XHgyNiAob2Zmc2V0LnkgXHgzYyAyLjAqYSkgPyAwLjAgOiBvZmZzZXQueTtcblx0fVxuXHRlbHNlIHtcblx0XHRyIFx4M2QgdmVjMyhkaXJlY3Rpb24ueiwgLWRpcmVjdGlvbi54LCBkaXJlY3Rpb24ueSk7XG5cdFx0b2Zmc2V0IFx4M2QgdmVjMigyLjAqc2NhbGUrbWlwT2Zmc2V0LCAwLjUgKiByY3BQb3dTY2FsZSk7XG5cdFx0b2Zmc2V0LnkgXHgzZCBiUmVzIFx4MjZceDI2IChvZmZzZXQueSBceDNjIDIuMCphKSA/IDAuMCA6IG9mZnNldC55O1xuXHR9XG5cdHIgXHgzZCBub3JtYWxpemUocik7XG5cdGZsb2F0IHRleGVsT2Zmc2V0IFx4M2QgMC41ICogY3ViZVVWX3JjcFRleHR1cmVTaXplO1xuXHR2ZWMyIHMgXHgzZCAoIHIueXogLyBhYnMoIHIueCApICsgdmVjMiggMS4wICkgKSAqIDAuNTtcblx0dmVjMiBiYXNlIFx4M2Qgb2Zmc2V0ICsgdmVjMiggdGV4ZWxPZmZzZXQgKTtcblx0cmV0dXJuIGJhc2UgKyBzICogKCBzY2FsZSAtIDIuMCAqIHRleGVsT2Zmc2V0ICk7XG59XG4jZGVmaW5lIGN1YmVVVl9tYXhMb2RzMyAobG9nMihjdWJlVVZfdGV4dHVyZVNpemUqMC4yNSkgLSAzLjApXG52ZWM0IHRleHR1cmVDdWJlVVYoIHNhbXBsZXIyRCBlbnZNYXAsIHZlYzMgcmVmbGVjdGVkRGlyZWN0aW9uLCBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGZsb2F0IHJvdWdobmVzc1ZhbCBceDNkIHJvdWdobmVzcyogY3ViZVVWX21heExvZHMzO1xuXHRmbG9hdCByMSBceDNkIGZsb29yKHJvdWdobmVzc1ZhbCk7XG5cdGZsb2F0IHIyIFx4M2QgcjEgKyAxLjA7XG5cdGZsb2F0IHQgXHgzZCBmcmFjdChyb3VnaG5lc3NWYWwpO1xuXHR2ZWMyIG1pcEluZm8gXHgzZCBNaXBMZXZlbEluZm8ocmVmbGVjdGVkRGlyZWN0aW9uLCByMSwgcm91Z2huZXNzKTtcblx0ZmxvYXQgcyBceDNkIG1pcEluZm8ueTtcblx0ZmxvYXQgbGV2ZWwwIFx4M2QgbWlwSW5mby54O1xuXHRmbG9hdCBsZXZlbDEgXHgzZCBsZXZlbDAgKyAxLjA7XG5cdGxldmVsMSBceDNkIGxldmVsMSBceDNlIDUuMCA/IDUuMCA6IGxldmVsMTtcblx0bGV2ZWwwICtceDNkIG1pbiggZmxvb3IoIHMgKyAwLjUgKSwgNS4wICk7XG5cdHZlYzIgdXZfMTAgXHgzZCBnZXRDdWJlVVYocmVmbGVjdGVkRGlyZWN0aW9uLCByMSwgbGV2ZWwwKTtcblx0dmVjNCBjb2xvcjEwIFx4M2QgZW52TWFwVGV4ZWxUb0xpbmVhcih0ZXh0dXJlMkQoZW52TWFwLCB1dl8xMCkpO1xuXHR2ZWMyIHV2XzIwIFx4M2QgZ2V0Q3ViZVVWKHJlZmxlY3RlZERpcmVjdGlvbiwgcjIsIGxldmVsMCk7XG5cdHZlYzQgY29sb3IyMCBceDNkIGVudk1hcFRleGVsVG9MaW5lYXIodGV4dHVyZTJEKGVudk1hcCwgdXZfMjApKTtcblx0dmVjNCByZXN1bHQgXHgzZCBtaXgoY29sb3IxMCwgY29sb3IyMCwgdCk7XG5cdHJldHVybiB2ZWM0KHJlc3VsdC5yZ2IsIDEuMCk7XG59XG4jZW5kaWYiLApkZWZhdWx0bm9ybWFsX3ZlcnRleDoidmVjMyB0cmFuc2Zvcm1lZE5vcm1hbCBceDNkIG5vcm1hbE1hdHJpeCAqIG9iamVjdE5vcm1hbDtcbiNpZmRlZiBGTElQX1NJREVEXG5cdHRyYW5zZm9ybWVkTm9ybWFsIFx4M2QgLSB0cmFuc2Zvcm1lZE5vcm1hbDtcbiNlbmRpZlxuI2lmZGVmIFVTRV9UQU5HRU5UXG5cdHZlYzMgdHJhbnNmb3JtZWRUYW5nZW50IFx4M2Qgbm9ybWFsTWF0cml4ICogb2JqZWN0VGFuZ2VudDtcblx0I2lmZGVmIEZMSVBfU0lERURcblx0XHR0cmFuc2Zvcm1lZFRhbmdlbnQgXHgzZCAtIHRyYW5zZm9ybWVkVGFuZ2VudDtcblx0I2VuZGlmXG4jZW5kaWYiLGRpc3BsYWNlbWVudG1hcF9wYXJzX3ZlcnRleDoiI2lmZGVmIFVTRV9ESVNQTEFDRU1FTlRNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgZGlzcGxhY2VtZW50TWFwO1xuXHR1bmlmb3JtIGZsb2F0IGRpc3BsYWNlbWVudFNjYWxlO1xuXHR1bmlmb3JtIGZsb2F0IGRpc3BsYWNlbWVudEJpYXM7XG4jZW5kaWYiLGRpc3BsYWNlbWVudG1hcF92ZXJ0ZXg6IiNpZmRlZiBVU0VfRElTUExBQ0VNRU5UTUFQXG5cdHRyYW5zZm9ybWVkICtceDNkIG5vcm1hbGl6ZSggb2JqZWN0Tm9ybWFsICkgKiAoIHRleHR1cmUyRCggZGlzcGxhY2VtZW50TWFwLCB1diApLnggKiBkaXNwbGFjZW1lbnRTY2FsZSArIGRpc3BsYWNlbWVudEJpYXMgKTtcbiNlbmRpZiIsCmVtaXNzaXZlbWFwX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0VNSVNTSVZFTUFQXG5cdHZlYzQgZW1pc3NpdmVDb2xvciBceDNkIHRleHR1cmUyRCggZW1pc3NpdmVNYXAsIHZVdiApO1xuXHRlbWlzc2l2ZUNvbG9yLnJnYiBceDNkIGVtaXNzaXZlTWFwVGV4ZWxUb0xpbmVhciggZW1pc3NpdmVDb2xvciApLnJnYjtcblx0dG90YWxFbWlzc2l2ZVJhZGlhbmNlICpceDNkIGVtaXNzaXZlQ29sb3IucmdiO1xuI2VuZGlmIixlbWlzc2l2ZW1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0VNSVNTSVZFTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGVtaXNzaXZlTWFwO1xuI2VuZGlmIixlbmNvZGluZ3NfZnJhZ21lbnQ6ImdsX0ZyYWdDb2xvciBceDNkIGxpbmVhclRvT3V0cHV0VGV4ZWwoIGdsX0ZyYWdDb2xvciApOyIsZW5jb2RpbmdzX3BhcnNfZnJhZ21lbnQ6IlxudmVjNCBMaW5lYXJUb0xpbmVhciggaW4gdmVjNCB2YWx1ZSApIHtcblx0cmV0dXJuIHZhbHVlO1xufVxudmVjNCBHYW1tYVRvTGluZWFyKCBpbiB2ZWM0IHZhbHVlLCBpbiBmbG9hdCBnYW1tYUZhY3RvciApIHtcblx0cmV0dXJuIHZlYzQoIHBvdyggdmFsdWUucmdiLCB2ZWMzKCBnYW1tYUZhY3RvciApICksIHZhbHVlLmEgKTtcbn1cbnZlYzQgTGluZWFyVG9HYW1tYSggaW4gdmVjNCB2YWx1ZSwgaW4gZmxvYXQgZ2FtbWFGYWN0b3IgKSB7XG5cdHJldHVybiB2ZWM0KCBwb3coIHZhbHVlLnJnYiwgdmVjMyggMS4wIC8gZ2FtbWFGYWN0b3IgKSApLCB2YWx1ZS5hICk7XG59XG52ZWM0IHNSR0JUb0xpbmVhciggaW4gdmVjNCB2YWx1ZSApIHtcblx0cmV0dXJuIHZlYzQoIG1peCggcG93KCB2YWx1ZS5yZ2IgKiAwLjk0Nzg2NzI5ODYgKyB2ZWMzKCAwLjA1MjEzMjcwMTQgKSwgdmVjMyggMi40ICkgKSwgdmFsdWUucmdiICogMC4wNzczOTkzODA4LCB2ZWMzKCBsZXNzVGhhbkVxdWFsKCB2YWx1ZS5yZ2IsIHZlYzMoIDAuMDQwNDUgKSApICkgKSwgdmFsdWUuYSApO1xufVxudmVjNCBMaW5lYXJUb3NSR0IoIGluIHZlYzQgdmFsdWUgKSB7XG5cdHJldHVybiB2ZWM0KCBtaXgoIHBvdyggdmFsdWUucmdiLCB2ZWMzKCAwLjQxNjY2ICkgKSAqIDEuMDU1IC0gdmVjMyggMC4wNTUgKSwgdmFsdWUucmdiICogMTIuOTIsIHZlYzMoIGxlc3NUaGFuRXF1YWwoIHZhbHVlLnJnYiwgdmVjMyggMC4wMDMxMzA4ICkgKSApICksIHZhbHVlLmEgKTtcbn1cbnZlYzQgUkdCRVRvTGluZWFyKCBpbiB2ZWM0IHZhbHVlICkge1xuXHRyZXR1cm4gdmVjNCggdmFsdWUucmdiICogZXhwMiggdmFsdWUuYSAqIDI1NS4wIC0gMTI4LjAgKSwgMS4wICk7XG59XG52ZWM0IExpbmVhclRvUkdCRSggaW4gdmVjNCB2YWx1ZSApIHtcblx0ZmxvYXQgbWF4Q29tcG9uZW50IFx4M2QgbWF4KCBtYXgoIHZhbHVlLnIsIHZhbHVlLmcgKSwgdmFsdWUuYiApO1xuXHRmbG9hdCBmRXhwIFx4M2QgY2xhbXAoIGNlaWwoIGxvZzIoIG1heENvbXBvbmVudCApICksIC0xMjguMCwgMTI3LjAgKTtcblx0cmV0dXJuIHZlYzQoIHZhbHVlLnJnYiAvIGV4cDIoIGZFeHAgKSwgKCBmRXhwICsgMTI4LjAgKSAvIDI1NS4wICk7XG59XG52ZWM0IFJHQk1Ub0xpbmVhciggaW4gdmVjNCB2YWx1ZSwgaW4gZmxvYXQgbWF4UmFuZ2UgKSB7XG5cdHJldHVybiB2ZWM0KCB2YWx1ZS5yZ2IgKiB2YWx1ZS5hICogbWF4UmFuZ2UsIDEuMCApO1xufVxudmVjNCBMaW5lYXJUb1JHQk0oIGluIHZlYzQgdmFsdWUsIGluIGZsb2F0IG1heFJhbmdlICkge1xuXHRmbG9hdCBtYXhSR0IgXHgzZCBtYXgoIHZhbHVlLnIsIG1heCggdmFsdWUuZywgdmFsdWUuYiApICk7XG5cdGZsb2F0IE0gXHgzZCBjbGFtcCggbWF4UkdCIC8gbWF4UmFuZ2UsIDAuMCwgMS4wICk7XG5cdE0gXHgzZCBjZWlsKCBNICogMjU1LjAgKSAvIDI1NS4wO1xuXHRyZXR1cm4gdmVjNCggdmFsdWUucmdiIC8gKCBNICogbWF4UmFuZ2UgKSwgTSApO1xufVxudmVjNCBSR0JEVG9MaW5lYXIoIGluIHZlYzQgdmFsdWUsIGluIGZsb2F0IG1heFJhbmdlICkge1xuXHRyZXR1cm4gdmVjNCggdmFsdWUucmdiICogKCAoIG1heFJhbmdlIC8gMjU1LjAgKSAvIHZhbHVlLmEgKSwgMS4wICk7XG59XG52ZWM0IExpbmVhclRvUkdCRCggaW4gdmVjNCB2YWx1ZSwgaW4gZmxvYXQgbWF4UmFuZ2UgKSB7XG5cdGZsb2F0IG1heFJHQiBceDNkIG1heCggdmFsdWUuciwgbWF4KCB2YWx1ZS5nLCB2YWx1ZS5iICkgKTtcblx0ZmxvYXQgRCBceDNkIG1heCggbWF4UmFuZ2UgLyBtYXhSR0IsIDEuMCApO1xuXHREIFx4M2QgbWluKCBmbG9vciggRCApIC8gMjU1LjAsIDEuMCApO1xuXHRyZXR1cm4gdmVjNCggdmFsdWUucmdiICogKCBEICogKCAyNTUuMCAvIG1heFJhbmdlICkgKSwgRCApO1xufVxuY29uc3QgbWF0MyBjTG9nTHV2TSBceDNkIG1hdDMoIDAuMjIwOSwgMC4zMzkwLCAwLjQxODQsIDAuMTEzOCwgMC42NzgwLCAwLjczMTksIDAuMDEwMiwgMC4xMTMwLCAwLjI5NjkgKTtcbnZlYzQgTGluZWFyVG9Mb2dMdXYoIGluIHZlYzQgdmFsdWUgKSAge1xuXHR2ZWMzIFhwX1lfWFlacCBceDNkIGNMb2dMdXZNICogdmFsdWUucmdiO1xuXHRYcF9ZX1hZWnAgXHgzZCBtYXgoIFhwX1lfWFlacCwgdmVjMyggMWUtNiwgMWUtNiwgMWUtNiApICk7XG5cdHZlYzQgdlJlc3VsdDtcblx0dlJlc3VsdC54eSBceDNkIFhwX1lfWFlacC54eSAvIFhwX1lfWFlacC56O1xuXHRmbG9hdCBMZSBceDNkIDIuMCAqIGxvZzIoWHBfWV9YWVpwLnkpICsgMTI3LjA7XG5cdHZSZXN1bHQudyBceDNkIGZyYWN0KCBMZSApO1xuXHR2UmVzdWx0LnogXHgzZCAoIExlIC0gKCBmbG9vciggdlJlc3VsdC53ICogMjU1LjAgKSApIC8gMjU1LjAgKSAvIDI1NS4wO1xuXHRyZXR1cm4gdlJlc3VsdDtcbn1cbmNvbnN0IG1hdDMgY0xvZ0x1dkludmVyc2VNIFx4M2QgbWF0MyggNi4wMDE0LCAtMi43MDA4LCAtMS43OTk2LCAtMS4zMzIwLCAzLjEwMjksIC01Ljc3MjEsIDAuMzAwOCwgLTEuMDg4MiwgNS42MjY4ICk7XG52ZWM0IExvZ0x1dlRvTGluZWFyKCBpbiB2ZWM0IHZhbHVlICkge1xuXHRmbG9hdCBMZSBceDNkIHZhbHVlLnogKiAyNTUuMCArIHZhbHVlLnc7XG5cdHZlYzMgWHBfWV9YWVpwO1xuXHRYcF9ZX1hZWnAueSBceDNkIGV4cDIoICggTGUgLSAxMjcuMCApIC8gMi4wICk7XG5cdFhwX1lfWFlacC56IFx4M2QgWHBfWV9YWVpwLnkgLyB2YWx1ZS55O1xuXHRYcF9ZX1hZWnAueCBceDNkIHZhbHVlLnggKiBYcF9ZX1hZWnAuejtcblx0dmVjMyB2UkdCIFx4M2QgY0xvZ0x1dkludmVyc2VNICogWHBfWV9YWVpwLnJnYjtcblx0cmV0dXJuIHZlYzQoIG1heCggdlJHQiwgMC4wICksIDEuMCApO1xufSIsCmVudm1hcF9mcmFnbWVudDoiI2lmZGVmIFVTRV9FTlZNQVBcblx0I2lmZGVmIEVOVl9XT1JMRFBPU1xuXHRcdHZlYzMgY2FtZXJhVG9WZXJ0ZXggXHgzZCBub3JtYWxpemUoIHZXb3JsZFBvc2l0aW9uIC0gY2FtZXJhUG9zaXRpb24gKTtcblx0XHR2ZWMzIHdvcmxkTm9ybWFsIFx4M2QgaW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiggbm9ybWFsLCB2aWV3TWF0cml4ICk7XG5cdFx0I2lmZGVmIEVOVk1BUF9NT0RFX1JFRkxFQ1RJT05cblx0XHRcdHZlYzMgcmVmbGVjdFZlYyBceDNkIHJlZmxlY3QoIGNhbWVyYVRvVmVydGV4LCB3b3JsZE5vcm1hbCApO1xuXHRcdCNlbHNlXG5cdFx0XHR2ZWMzIHJlZmxlY3RWZWMgXHgzZCByZWZyYWN0KCBjYW1lcmFUb1ZlcnRleCwgd29ybGROb3JtYWwsIHJlZnJhY3Rpb25SYXRpbyApO1xuXHRcdCNlbmRpZlxuXHQjZWxzZVxuXHRcdHZlYzMgcmVmbGVjdFZlYyBceDNkIHZSZWZsZWN0O1xuXHQjZW5kaWZcblx0I2lmZGVmIEVOVk1BUF9UWVBFX0NVQkVcblx0XHR2ZWM0IGVudkNvbG9yIFx4M2QgdGV4dHVyZUN1YmUoIGVudk1hcCwgdmVjMyggZmxpcEVudk1hcCAqIHJlZmxlY3RWZWMueCwgcmVmbGVjdFZlYy55eiApICk7XG5cdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9UWVBFX0VRVUlSRUMgKVxuXHRcdHZlYzIgc2FtcGxlVVY7XG5cdFx0cmVmbGVjdFZlYyBceDNkIG5vcm1hbGl6ZSggcmVmbGVjdFZlYyApO1xuXHRcdHNhbXBsZVVWLnkgXHgzZCBhc2luKCBjbGFtcCggcmVmbGVjdFZlYy55LCAtIDEuMCwgMS4wICkgKSAqIFJFQ0lQUk9DQUxfUEkgKyAwLjU7XG5cdFx0c2FtcGxlVVYueCBceDNkIGF0YW4oIHJlZmxlY3RWZWMueiwgcmVmbGVjdFZlYy54ICkgKiBSRUNJUFJPQ0FMX1BJMiArIDAuNTtcblx0XHR2ZWM0IGVudkNvbG9yIFx4M2QgdGV4dHVyZTJEKCBlbnZNYXAsIHNhbXBsZVVWICk7XG5cdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9UWVBFX1NQSEVSRSApXG5cdFx0cmVmbGVjdFZlYyBceDNkIG5vcm1hbGl6ZSggcmVmbGVjdFZlYyApO1xuXHRcdHZlYzMgcmVmbGVjdFZpZXcgXHgzZCBub3JtYWxpemUoICggdmlld01hdHJpeCAqIHZlYzQoIHJlZmxlY3RWZWMsIDAuMCApICkueHl6ICsgdmVjMyggMC4wLCAwLjAsIDEuMCApICk7XG5cdFx0dmVjNCBlbnZDb2xvciBceDNkIHRleHR1cmUyRCggZW52TWFwLCByZWZsZWN0Vmlldy54eSAqIDAuNSArIDAuNSApO1xuXHQjZWxzZVxuXHRcdHZlYzQgZW52Q29sb3IgXHgzZCB2ZWM0KCAwLjAgKTtcblx0I2VuZGlmXG5cdGVudkNvbG9yIFx4M2QgZW52TWFwVGV4ZWxUb0xpbmVhciggZW52Q29sb3IgKTtcblx0I2lmZGVmIEVOVk1BUF9CTEVORElOR19NVUxUSVBMWVxuXHRcdG91dGdvaW5nTGlnaHQgXHgzZCBtaXgoIG91dGdvaW5nTGlnaHQsIG91dGdvaW5nTGlnaHQgKiBlbnZDb2xvci54eXosIHNwZWN1bGFyU3RyZW5ndGggKiByZWZsZWN0aXZpdHkgKTtcblx0I2VsaWYgZGVmaW5lZCggRU5WTUFQX0JMRU5ESU5HX01JWCApXG5cdFx0b3V0Z29pbmdMaWdodCBceDNkIG1peCggb3V0Z29pbmdMaWdodCwgZW52Q29sb3IueHl6LCBzcGVjdWxhclN0cmVuZ3RoICogcmVmbGVjdGl2aXR5ICk7XG5cdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9CTEVORElOR19BREQgKVxuXHRcdG91dGdvaW5nTGlnaHQgK1x4M2QgZW52Q29sb3IueHl6ICogc3BlY3VsYXJTdHJlbmd0aCAqIHJlZmxlY3Rpdml0eTtcblx0I2VuZGlmXG4jZW5kaWYiLAplbnZtYXBfY29tbW9uX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfRU5WTUFQXG5cdHVuaWZvcm0gZmxvYXQgZW52TWFwSW50ZW5zaXR5O1xuXHR1bmlmb3JtIGZsb2F0IGZsaXBFbnZNYXA7XG5cdHVuaWZvcm0gaW50IG1heE1pcExldmVsO1xuXHQjaWZkZWYgRU5WTUFQX1RZUEVfQ1VCRVxuXHRcdHVuaWZvcm0gc2FtcGxlckN1YmUgZW52TWFwO1xuXHQjZWxzZVxuXHRcdHVuaWZvcm0gc2FtcGxlcjJEIGVudk1hcDtcblx0I2VuZGlmXG5cdFxuI2VuZGlmIixlbnZtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9FTlZNQVBcblx0dW5pZm9ybSBmbG9hdCByZWZsZWN0aXZpdHk7XG5cdCNpZiBkZWZpbmVkKCBVU0VfQlVNUE1BUCApIHx8IGRlZmluZWQoIFVTRV9OT1JNQUxNQVAgKSB8fCBkZWZpbmVkKCBQSE9ORyApXG5cdFx0I2RlZmluZSBFTlZfV09STERQT1Ncblx0I2VuZGlmXG5cdCNpZmRlZiBFTlZfV09STERQT1Ncblx0XHR2YXJ5aW5nIHZlYzMgdldvcmxkUG9zaXRpb247XG5cdFx0dW5pZm9ybSBmbG9hdCByZWZyYWN0aW9uUmF0aW87XG5cdCNlbHNlXG5cdFx0dmFyeWluZyB2ZWMzIHZSZWZsZWN0O1xuXHQjZW5kaWZcbiNlbmRpZiIsCmVudm1hcF9wYXJzX3ZlcnRleDoiI2lmZGVmIFVTRV9FTlZNQVBcblx0I2lmIGRlZmluZWQoIFVTRV9CVU1QTUFQICkgfHwgZGVmaW5lZCggVVNFX05PUk1BTE1BUCApIHx8ZGVmaW5lZCggUEhPTkcgKVxuXHRcdCNkZWZpbmUgRU5WX1dPUkxEUE9TXG5cdCNlbmRpZlxuXHQjaWZkZWYgRU5WX1dPUkxEUE9TXG5cdFx0XG5cdFx0dmFyeWluZyB2ZWMzIHZXb3JsZFBvc2l0aW9uO1xuXHQjZWxzZVxuXHRcdHZhcnlpbmcgdmVjMyB2UmVmbGVjdDtcblx0XHR1bmlmb3JtIGZsb2F0IHJlZnJhY3Rpb25SYXRpbztcblx0I2VuZGlmXG4jZW5kaWYiLGVudm1hcF9waHlzaWNhbF9wYXJzX2ZyYWdtZW50OiIjaWYgZGVmaW5lZCggVVNFX0VOVk1BUCApXG5cdCNpZmRlZiBFTlZNQVBfTU9ERV9SRUZSQUNUSU9OXG5cdFx0dW5pZm9ybSBmbG9hdCByZWZyYWN0aW9uUmF0aW87XG5cdCNlbmRpZlxuXHR2ZWMzIGdldExpZ2h0UHJvYmVJbmRpcmVjdElycmFkaWFuY2UoIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIGludCBtYXhNSVBMZXZlbCApIHtcblx0XHR2ZWMzIHdvcmxkTm9ybWFsIFx4M2QgaW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiggZ2VvbWV0cnkubm9ybWFsLCB2aWV3TWF0cml4ICk7XG5cdFx0I2lmZGVmIEVOVk1BUF9UWVBFX0NVQkVcblx0XHRcdHZlYzMgcXVlcnlWZWMgXHgzZCB2ZWMzKCBmbGlwRW52TWFwICogd29ybGROb3JtYWwueCwgd29ybGROb3JtYWwueXogKTtcblx0XHRcdCNpZmRlZiBURVhUVVJFX0xPRF9FWFRcblx0XHRcdFx0dmVjNCBlbnZNYXBDb2xvciBceDNkIHRleHR1cmVDdWJlTG9kRVhUKCBlbnZNYXAsIHF1ZXJ5VmVjLCBmbG9hdCggbWF4TUlQTGV2ZWwgKSApO1xuXHRcdFx0I2Vsc2Vcblx0XHRcdFx0dmVjNCBlbnZNYXBDb2xvciBceDNkIHRleHR1cmVDdWJlKCBlbnZNYXAsIHF1ZXJ5VmVjLCBmbG9hdCggbWF4TUlQTGV2ZWwgKSApO1xuXHRcdFx0I2VuZGlmXG5cdFx0XHRlbnZNYXBDb2xvci5yZ2IgXHgzZCBlbnZNYXBUZXhlbFRvTGluZWFyKCBlbnZNYXBDb2xvciApLnJnYjtcblx0XHQjZWxpZiBkZWZpbmVkKCBFTlZNQVBfVFlQRV9DVUJFX1VWIClcblx0XHRcdHZlYzMgcXVlcnlWZWMgXHgzZCB2ZWMzKCBmbGlwRW52TWFwICogd29ybGROb3JtYWwueCwgd29ybGROb3JtYWwueXogKTtcblx0XHRcdHZlYzQgZW52TWFwQ29sb3IgXHgzZCB0ZXh0dXJlQ3ViZVVWKCBlbnZNYXAsIHF1ZXJ5VmVjLCAxLjAgKTtcblx0XHQjZWxzZVxuXHRcdFx0dmVjNCBlbnZNYXBDb2xvciBceDNkIHZlYzQoIDAuMCApO1xuXHRcdCNlbmRpZlxuXHRcdHJldHVybiBQSSAqIGVudk1hcENvbG9yLnJnYiAqIGVudk1hcEludGVuc2l0eTtcblx0fVxuXHRmbG9hdCBnZXRTcGVjdWxhck1JUExldmVsKCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MsIGNvbnN0IGluIGludCBtYXhNSVBMZXZlbCApIHtcblx0XHRmbG9hdCBtYXhNSVBMZXZlbFNjYWxhciBceDNkIGZsb2F0KCBtYXhNSVBMZXZlbCApO1xuXHRcdGZsb2F0IHNpZ21hIFx4M2QgUEkgKiByb3VnaG5lc3MgKiByb3VnaG5lc3MgLyAoIDEuMCArIHJvdWdobmVzcyApO1xuXHRcdGZsb2F0IGRlc2lyZWRNSVBMZXZlbCBceDNkIG1heE1JUExldmVsU2NhbGFyICsgbG9nMiggc2lnbWEgKTtcblx0XHRyZXR1cm4gY2xhbXAoIGRlc2lyZWRNSVBMZXZlbCwgMC4wLCBtYXhNSVBMZXZlbFNjYWxhciApO1xuXHR9XG5cdHZlYzMgZ2V0TGlnaHRQcm9iZUluZGlyZWN0UmFkaWFuY2UoIGNvbnN0IGluIHZlYzMgdmlld0RpciwgY29uc3QgaW4gdmVjMyBub3JtYWwsIGNvbnN0IGluIGZsb2F0IHJvdWdobmVzcywgY29uc3QgaW4gaW50IG1heE1JUExldmVsICkge1xuXHRcdCNpZmRlZiBFTlZNQVBfTU9ERV9SRUZMRUNUSU9OXG5cdFx0ICB2ZWMzIHJlZmxlY3RWZWMgXHgzZCByZWZsZWN0KCAtdmlld0Rpciwgbm9ybWFsICk7XG5cdFx0ICByZWZsZWN0VmVjIFx4M2Qgbm9ybWFsaXplKCBtaXgoIHJlZmxlY3RWZWMsIG5vcm1hbCwgcm91Z2huZXNzICogcm91Z2huZXNzKSApO1xuXHRcdCNlbHNlXG5cdFx0ICB2ZWMzIHJlZmxlY3RWZWMgXHgzZCByZWZyYWN0KCAtdmlld0Rpciwgbm9ybWFsLCByZWZyYWN0aW9uUmF0aW8gKTtcblx0XHQjZW5kaWZcblx0XHRyZWZsZWN0VmVjIFx4M2QgaW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiggcmVmbGVjdFZlYywgdmlld01hdHJpeCApO1xuXHRcdGZsb2F0IHNwZWN1bGFyTUlQTGV2ZWwgXHgzZCBnZXRTcGVjdWxhck1JUExldmVsKCByb3VnaG5lc3MsIG1heE1JUExldmVsICk7XG5cdFx0I2lmZGVmIEVOVk1BUF9UWVBFX0NVQkVcblx0XHRcdHZlYzMgcXVlcnlSZWZsZWN0VmVjIFx4M2QgdmVjMyggZmxpcEVudk1hcCAqIHJlZmxlY3RWZWMueCwgcmVmbGVjdFZlYy55eiApO1xuXHRcdFx0I2lmZGVmIFRFWFRVUkVfTE9EX0VYVFxuXHRcdFx0XHR2ZWM0IGVudk1hcENvbG9yIFx4M2QgdGV4dHVyZUN1YmVMb2RFWFQoIGVudk1hcCwgcXVlcnlSZWZsZWN0VmVjLCBzcGVjdWxhck1JUExldmVsICk7XG5cdFx0XHQjZWxzZVxuXHRcdFx0XHR2ZWM0IGVudk1hcENvbG9yIFx4M2QgdGV4dHVyZUN1YmUoIGVudk1hcCwgcXVlcnlSZWZsZWN0VmVjLCBzcGVjdWxhck1JUExldmVsICk7XG5cdFx0XHQjZW5kaWZcblx0XHRcdGVudk1hcENvbG9yLnJnYiBceDNkIGVudk1hcFRleGVsVG9MaW5lYXIoIGVudk1hcENvbG9yICkucmdiO1xuXHRcdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9UWVBFX0NVQkVfVVYgKVxuXHRcdFx0dmVjMyBxdWVyeVJlZmxlY3RWZWMgXHgzZCB2ZWMzKCBmbGlwRW52TWFwICogcmVmbGVjdFZlYy54LCByZWZsZWN0VmVjLnl6ICk7XG5cdFx0XHR2ZWM0IGVudk1hcENvbG9yIFx4M2QgdGV4dHVyZUN1YmVVViggZW52TWFwLCBxdWVyeVJlZmxlY3RWZWMsIHJvdWdobmVzcyApO1xuXHRcdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9UWVBFX0VRVUlSRUMgKVxuXHRcdFx0dmVjMiBzYW1wbGVVVjtcblx0XHRcdHNhbXBsZVVWLnkgXHgzZCBhc2luKCBjbGFtcCggcmVmbGVjdFZlYy55LCAtIDEuMCwgMS4wICkgKSAqIFJFQ0lQUk9DQUxfUEkgKyAwLjU7XG5cdFx0XHRzYW1wbGVVVi54IFx4M2QgYXRhbiggcmVmbGVjdFZlYy56LCByZWZsZWN0VmVjLnggKSAqIFJFQ0lQUk9DQUxfUEkyICsgMC41O1xuXHRcdFx0I2lmZGVmIFRFWFRVUkVfTE9EX0VYVFxuXHRcdFx0XHR2ZWM0IGVudk1hcENvbG9yIFx4M2QgdGV4dHVyZTJETG9kRVhUKCBlbnZNYXAsIHNhbXBsZVVWLCBzcGVjdWxhck1JUExldmVsICk7XG5cdFx0XHQjZWxzZVxuXHRcdFx0XHR2ZWM0IGVudk1hcENvbG9yIFx4M2QgdGV4dHVyZTJEKCBlbnZNYXAsIHNhbXBsZVVWLCBzcGVjdWxhck1JUExldmVsICk7XG5cdFx0XHQjZW5kaWZcblx0XHRcdGVudk1hcENvbG9yLnJnYiBceDNkIGVudk1hcFRleGVsVG9MaW5lYXIoIGVudk1hcENvbG9yICkucmdiO1xuXHRcdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9UWVBFX1NQSEVSRSApXG5cdFx0XHR2ZWMzIHJlZmxlY3RWaWV3IFx4M2Qgbm9ybWFsaXplKCAoIHZpZXdNYXRyaXggKiB2ZWM0KCByZWZsZWN0VmVjLCAwLjAgKSApLnh5eiArIHZlYzMoIDAuMCwwLjAsMS4wICkgKTtcblx0XHRcdCNpZmRlZiBURVhUVVJFX0xPRF9FWFRcblx0XHRcdFx0dmVjNCBlbnZNYXBDb2xvciBceDNkIHRleHR1cmUyRExvZEVYVCggZW52TWFwLCByZWZsZWN0Vmlldy54eSAqIDAuNSArIDAuNSwgc3BlY3VsYXJNSVBMZXZlbCApO1xuXHRcdFx0I2Vsc2Vcblx0XHRcdFx0dmVjNCBlbnZNYXBDb2xvciBceDNkIHRleHR1cmUyRCggZW52TWFwLCByZWZsZWN0Vmlldy54eSAqIDAuNSArIDAuNSwgc3BlY3VsYXJNSVBMZXZlbCApO1xuXHRcdFx0I2VuZGlmXG5cdFx0XHRlbnZNYXBDb2xvci5yZ2IgXHgzZCBlbnZNYXBUZXhlbFRvTGluZWFyKCBlbnZNYXBDb2xvciApLnJnYjtcblx0XHQjZW5kaWZcblx0XHRyZXR1cm4gZW52TWFwQ29sb3IucmdiICogZW52TWFwSW50ZW5zaXR5O1xuXHR9XG4jZW5kaWYiLAplbnZtYXBfdmVydGV4OiIjaWZkZWYgVVNFX0VOVk1BUFxuXHQjaWZkZWYgRU5WX1dPUkxEUE9TXG5cdFx0dldvcmxkUG9zaXRpb24gXHgzZCB3b3JsZFBvc2l0aW9uLnh5ejtcblx0I2Vsc2Vcblx0XHR2ZWMzIGNhbWVyYVRvVmVydGV4IFx4M2Qgbm9ybWFsaXplKCB3b3JsZFBvc2l0aW9uLnh5eiAtIGNhbWVyYVBvc2l0aW9uICk7XG5cdFx0dmVjMyB3b3JsZE5vcm1hbCBceDNkIGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIHRyYW5zZm9ybWVkTm9ybWFsLCB2aWV3TWF0cml4ICk7XG5cdFx0I2lmZGVmIEVOVk1BUF9NT0RFX1JFRkxFQ1RJT05cblx0XHRcdHZSZWZsZWN0IFx4M2QgcmVmbGVjdCggY2FtZXJhVG9WZXJ0ZXgsIHdvcmxkTm9ybWFsICk7XG5cdFx0I2Vsc2Vcblx0XHRcdHZSZWZsZWN0IFx4M2QgcmVmcmFjdCggY2FtZXJhVG9WZXJ0ZXgsIHdvcmxkTm9ybWFsLCByZWZyYWN0aW9uUmF0aW8gKTtcblx0XHQjZW5kaWZcblx0I2VuZGlmXG4jZW5kaWYiLGZvZ192ZXJ0ZXg6IiNpZmRlZiBVU0VfRk9HXG5cdGZvZ0RlcHRoIFx4M2QgLW12UG9zaXRpb24uejtcbiNlbmRpZiIsCmZvZ19wYXJzX3ZlcnRleDoiI2lmZGVmIFVTRV9GT0dcblx0dmFyeWluZyBmbG9hdCBmb2dEZXB0aDtcbiNlbmRpZiIsZm9nX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0ZPR1xuXHQjaWZkZWYgRk9HX0VYUDJcblx0XHRmbG9hdCBmb2dGYWN0b3IgXHgzZCAxLjAgLSBleHAoIC0gZm9nRGVuc2l0eSAqIGZvZ0RlbnNpdHkgKiBmb2dEZXB0aCAqIGZvZ0RlcHRoICk7XG5cdCNlbHNlXG5cdFx0ZmxvYXQgZm9nRmFjdG9yIFx4M2Qgc21vb3Roc3RlcCggZm9nTmVhciwgZm9nRmFyLCBmb2dEZXB0aCApO1xuXHQjZW5kaWZcblx0Z2xfRnJhZ0NvbG9yLnJnYiBceDNkIG1peCggZ2xfRnJhZ0NvbG9yLnJnYiwgZm9nQ29sb3IsIGZvZ0ZhY3RvciApO1xuI2VuZGlmIixmb2dfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9GT0dcblx0dW5pZm9ybSB2ZWMzIGZvZ0NvbG9yO1xuXHR2YXJ5aW5nIGZsb2F0IGZvZ0RlcHRoO1xuXHQjaWZkZWYgRk9HX0VYUDJcblx0XHR1bmlmb3JtIGZsb2F0IGZvZ0RlbnNpdHk7XG5cdCNlbHNlXG5cdFx0dW5pZm9ybSBmbG9hdCBmb2dOZWFyO1xuXHRcdHVuaWZvcm0gZmxvYXQgZm9nRmFyO1xuXHQjZW5kaWZcbiNlbmRpZiIsCmdyYWRpZW50bWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBUT09OXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGdyYWRpZW50TWFwO1xuXHR2ZWMzIGdldEdyYWRpZW50SXJyYWRpYW5jZSggdmVjMyBub3JtYWwsIHZlYzMgbGlnaHREaXJlY3Rpb24gKSB7XG5cdFx0ZmxvYXQgZG90TkwgXHgzZCBkb3QoIG5vcm1hbCwgbGlnaHREaXJlY3Rpb24gKTtcblx0XHR2ZWMyIGNvb3JkIFx4M2QgdmVjMiggZG90TkwgKiAwLjUgKyAwLjUsIDAuMCApO1xuXHRcdCNpZmRlZiBVU0VfR1JBRElFTlRNQVBcblx0XHRcdHJldHVybiB0ZXh0dXJlMkQoIGdyYWRpZW50TWFwLCBjb29yZCApLnJnYjtcblx0XHQjZWxzZVxuXHRcdFx0cmV0dXJuICggY29vcmQueCBceDNjIDAuNyApID8gdmVjMyggMC43ICkgOiB2ZWMzKCAxLjAgKTtcblx0XHQjZW5kaWZcblx0fVxuI2VuZGlmIixsaWdodG1hcF9mcmFnbWVudDoiI2lmZGVmIFVTRV9MSUdIVE1BUFxuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgK1x4M2QgUEkgKiB0ZXh0dXJlMkQoIGxpZ2h0TWFwLCB2VXYyICkueHl6ICogbGlnaHRNYXBJbnRlbnNpdHk7XG4jZW5kaWYiLApsaWdodG1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0xJR0hUTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGxpZ2h0TWFwO1xuXHR1bmlmb3JtIGZsb2F0IGxpZ2h0TWFwSW50ZW5zaXR5O1xuI2VuZGlmIixsaWdodHNfbGFtYmVydF92ZXJ0ZXg6InZlYzMgZGlmZnVzZSBceDNkIHZlYzMoIDEuMCApO1xuR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeTtcbmdlb21ldHJ5LnBvc2l0aW9uIFx4M2QgbXZQb3NpdGlvbi54eXo7XG5nZW9tZXRyeS5ub3JtYWwgXHgzZCBub3JtYWxpemUoIHRyYW5zZm9ybWVkTm9ybWFsICk7XG5nZW9tZXRyeS52aWV3RGlyIFx4M2Qgbm9ybWFsaXplKCAtbXZQb3NpdGlvbi54eXogKTtcbkdlb21ldHJpY0NvbnRleHQgYmFja0dlb21ldHJ5O1xuYmFja0dlb21ldHJ5LnBvc2l0aW9uIFx4M2QgZ2VvbWV0cnkucG9zaXRpb247XG5iYWNrR2VvbWV0cnkubm9ybWFsIFx4M2QgLWdlb21ldHJ5Lm5vcm1hbDtcbmJhY2tHZW9tZXRyeS52aWV3RGlyIFx4M2QgZ2VvbWV0cnkudmlld0RpcjtcbnZMaWdodEZyb250IFx4M2QgdmVjMyggMC4wICk7XG52SW5kaXJlY3RGcm9udCBceDNkIHZlYzMoIDAuMCApO1xuI2lmZGVmIERPVUJMRV9TSURFRFxuXHR2TGlnaHRCYWNrIFx4M2QgdmVjMyggMC4wICk7XG5cdHZJbmRpcmVjdEJhY2sgXHgzZCB2ZWMzKCAwLjAgKTtcbiNlbmRpZlxuSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodDtcbmZsb2F0IGRvdE5MO1xudmVjMyBkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2U7XG4jaWYgTlVNX1BPSU5UX0xJR0hUUyBceDNlIDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcFxuXHRmb3IgKCBpbnQgaSBceDNkIDA7IGkgXHgzYyBOVU1fUE9JTlRfTElHSFRTOyBpICsrICkge1xuXHRcdGdldFBvaW50RGlyZWN0TGlnaHRJcnJhZGlhbmNlKCBwb2ludExpZ2h0c1sgaSBdLCBnZW9tZXRyeSwgZGlyZWN0TGlnaHQgKTtcblx0XHRkb3ROTCBceDNkIGRvdCggZ2VvbWV0cnkubm9ybWFsLCBkaXJlY3RMaWdodC5kaXJlY3Rpb24gKTtcblx0XHRkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2UgXHgzZCBQSSAqIGRpcmVjdExpZ2h0LmNvbG9yO1xuXHRcdHZMaWdodEZyb250ICtceDNkIHNhdHVyYXRlKCBkb3ROTCApICogZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlO1xuXHRcdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRcdHZMaWdodEJhY2sgK1x4M2Qgc2F0dXJhdGUoIC1kb3ROTCApICogZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlO1xuXHRcdCNlbmRpZlxuXHR9XG4jZW5kaWZcbiNpZiBOVU1fU1BPVF9MSUdIVFMgXHgzZSAwXG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bcblx0Zm9yICggaW50IGkgXHgzZCAwOyBpIFx4M2MgTlVNX1NQT1RfTElHSFRTOyBpICsrICkge1xuXHRcdGdldFNwb3REaXJlY3RMaWdodElycmFkaWFuY2UoIHNwb3RMaWdodHNbIGkgXSwgZ2VvbWV0cnksIGRpcmVjdExpZ2h0ICk7XG5cdFx0ZG90TkwgXHgzZCBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgZGlyZWN0TGlnaHQuZGlyZWN0aW9uICk7XG5cdFx0ZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlIFx4M2QgUEkgKiBkaXJlY3RMaWdodC5jb2xvcjtcblx0XHR2TGlnaHRGcm9udCArXHgzZCBzYXR1cmF0ZSggZG90TkwgKSAqIGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZTtcblx0XHQjaWZkZWYgRE9VQkxFX1NJREVEXG5cdFx0XHR2TGlnaHRCYWNrICtceDNkIHNhdHVyYXRlKCAtZG90TkwgKSAqIGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZTtcblx0XHQjZW5kaWZcblx0fVxuI2VuZGlmXG4jaWYgTlVNX0RJUl9MSUdIVFMgXHgzZSAwXG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bcblx0Zm9yICggaW50IGkgXHgzZCAwOyBpIFx4M2MgTlVNX0RJUl9MSUdIVFM7IGkgKysgKSB7XG5cdFx0Z2V0RGlyZWN0aW9uYWxEaXJlY3RMaWdodElycmFkaWFuY2UoIGRpcmVjdGlvbmFsTGlnaHRzWyBpIF0sIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xuXHRcdGRvdE5MIFx4M2QgZG90KCBnZW9tZXRyeS5ub3JtYWwsIGRpcmVjdExpZ2h0LmRpcmVjdGlvbiApO1xuXHRcdGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZSBceDNkIFBJICogZGlyZWN0TGlnaHQuY29sb3I7XG5cdFx0dkxpZ2h0RnJvbnQgK1x4M2Qgc2F0dXJhdGUoIGRvdE5MICkgKiBkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2U7XG5cdFx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdFx0dkxpZ2h0QmFjayArXHgzZCBzYXR1cmF0ZSggLWRvdE5MICkgKiBkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2U7XG5cdFx0I2VuZGlmXG5cdH1cbiNlbmRpZlxuI2lmIE5VTV9IRU1JX0xJR0hUUyBceDNlIDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcFxuXHRmb3IgKCBpbnQgaSBceDNkIDA7IGkgXHgzYyBOVU1fSEVNSV9MSUdIVFM7IGkgKysgKSB7XG5cdFx0dkluZGlyZWN0RnJvbnQgK1x4M2QgZ2V0SGVtaXNwaGVyZUxpZ2h0SXJyYWRpYW5jZSggaGVtaXNwaGVyZUxpZ2h0c1sgaSBdLCBnZW9tZXRyeSApO1xuXHRcdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRcdHZJbmRpcmVjdEJhY2sgK1x4M2QgZ2V0SGVtaXNwaGVyZUxpZ2h0SXJyYWRpYW5jZSggaGVtaXNwaGVyZUxpZ2h0c1sgaSBdLCBiYWNrR2VvbWV0cnkgKTtcblx0XHQjZW5kaWZcblx0fVxuI2VuZGlmIiwKbGlnaHRzX3BhcnNfYmVnaW46InVuaWZvcm0gdmVjMyBhbWJpZW50TGlnaHRDb2xvcjtcbnVuaWZvcm0gdmVjMyBsaWdodFByb2JlWyA5IF07XG52ZWMzIHNoR2V0SXJyYWRpYW5jZUF0KCBpbiB2ZWMzIG5vcm1hbCwgaW4gdmVjMyBzaENvZWZmaWNpZW50c1sgOSBdICkge1xuXHRmbG9hdCB4IFx4M2Qgbm9ybWFsLngsIHkgXHgzZCBub3JtYWwueSwgeiBceDNkIG5vcm1hbC56O1xuXHR2ZWMzIHJlc3VsdCBceDNkIHNoQ29lZmZpY2llbnRzWyAwIF0gKiAwLjg4NjIyNztcblx0cmVzdWx0ICtceDNkIHNoQ29lZmZpY2llbnRzWyAxIF0gKiAyLjAgKiAwLjUxMTY2NCAqIHk7XG5cdHJlc3VsdCArXHgzZCBzaENvZWZmaWNpZW50c1sgMiBdICogMi4wICogMC41MTE2NjQgKiB6O1xuXHRyZXN1bHQgK1x4M2Qgc2hDb2VmZmljaWVudHNbIDMgXSAqIDIuMCAqIDAuNTExNjY0ICogeDtcblx0cmVzdWx0ICtceDNkIHNoQ29lZmZpY2llbnRzWyA0IF0gKiAyLjAgKiAwLjQyOTA0MyAqIHggKiB5O1xuXHRyZXN1bHQgK1x4M2Qgc2hDb2VmZmljaWVudHNbIDUgXSAqIDIuMCAqIDAuNDI5MDQzICogeSAqIHo7XG5cdHJlc3VsdCArXHgzZCBzaENvZWZmaWNpZW50c1sgNiBdICogKCAwLjc0MzEyNSAqIHogKiB6IC0gMC4yNDc3MDggKTtcblx0cmVzdWx0ICtceDNkIHNoQ29lZmZpY2llbnRzWyA3IF0gKiAyLjAgKiAwLjQyOTA0MyAqIHggKiB6O1xuXHRyZXN1bHQgK1x4M2Qgc2hDb2VmZmljaWVudHNbIDggXSAqIDAuNDI5MDQzICogKCB4ICogeCAtIHkgKiB5ICk7XG5cdHJldHVybiByZXN1bHQ7XG59XG52ZWMzIGdldExpZ2h0UHJvYmVJcnJhZGlhbmNlKCBjb25zdCBpbiB2ZWMzIGxpZ2h0UHJvYmVbIDkgXSwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSApIHtcblx0dmVjMyB3b3JsZE5vcm1hbCBceDNkIGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIGdlb21ldHJ5Lm5vcm1hbCwgdmlld01hdHJpeCApO1xuXHR2ZWMzIGlycmFkaWFuY2UgXHgzZCBzaEdldElycmFkaWFuY2VBdCggd29ybGROb3JtYWwsIGxpZ2h0UHJvYmUgKTtcblx0cmV0dXJuIGlycmFkaWFuY2U7XG59XG52ZWMzIGdldEFtYmllbnRMaWdodElycmFkaWFuY2UoIGNvbnN0IGluIHZlYzMgYW1iaWVudExpZ2h0Q29sb3IgKSB7XG5cdHZlYzMgaXJyYWRpYW5jZSBceDNkIGFtYmllbnRMaWdodENvbG9yO1xuXHQjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcblx0XHRpcnJhZGlhbmNlICpceDNkIFBJO1xuXHQjZW5kaWZcblx0cmV0dXJuIGlycmFkaWFuY2U7XG59XG4jaWYgTlVNX0RJUl9MSUdIVFMgXHgzZSAwXG5cdHN0cnVjdCBEaXJlY3Rpb25hbExpZ2h0IHtcblx0XHR2ZWMzIGRpcmVjdGlvbjtcblx0XHR2ZWMzIGNvbG9yO1xuXHRcdGludCBzaGFkb3c7XG5cdFx0ZmxvYXQgc2hhZG93Qmlhcztcblx0XHRmbG9hdCBzaGFkb3dSYWRpdXM7XG5cdFx0dmVjMiBzaGFkb3dNYXBTaXplO1xuXHR9O1xuXHR1bmlmb3JtIERpcmVjdGlvbmFsTGlnaHQgZGlyZWN0aW9uYWxMaWdodHNbIE5VTV9ESVJfTElHSFRTIF07XG5cdHZvaWQgZ2V0RGlyZWN0aW9uYWxEaXJlY3RMaWdodElycmFkaWFuY2UoIGNvbnN0IGluIERpcmVjdGlvbmFsTGlnaHQgZGlyZWN0aW9uYWxMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgb3V0IEluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQgKSB7XG5cdFx0ZGlyZWN0TGlnaHQuY29sb3IgXHgzZCBkaXJlY3Rpb25hbExpZ2h0LmNvbG9yO1xuXHRcdGRpcmVjdExpZ2h0LmRpcmVjdGlvbiBceDNkIGRpcmVjdGlvbmFsTGlnaHQuZGlyZWN0aW9uO1xuXHRcdGRpcmVjdExpZ2h0LnZpc2libGUgXHgzZCB0cnVlO1xuXHR9XG4jZW5kaWZcbiNpZiBOVU1fUE9JTlRfTElHSFRTIFx4M2UgMFxuXHRzdHJ1Y3QgUG9pbnRMaWdodCB7XG5cdFx0dmVjMyBwb3NpdGlvbjtcblx0XHR2ZWMzIGNvbG9yO1xuXHRcdGZsb2F0IGRpc3RhbmNlO1xuXHRcdGZsb2F0IGRlY2F5O1xuXHRcdGludCBzaGFkb3c7XG5cdFx0ZmxvYXQgc2hhZG93Qmlhcztcblx0XHRmbG9hdCBzaGFkb3dSYWRpdXM7XG5cdFx0dmVjMiBzaGFkb3dNYXBTaXplO1xuXHRcdGZsb2F0IHNoYWRvd0NhbWVyYU5lYXI7XG5cdFx0ZmxvYXQgc2hhZG93Q2FtZXJhRmFyO1xuXHR9O1xuXHR1bmlmb3JtIFBvaW50TGlnaHQgcG9pbnRMaWdodHNbIE5VTV9QT0lOVF9MSUdIVFMgXTtcblx0dm9pZCBnZXRQb2ludERpcmVjdExpZ2h0SXJyYWRpYW5jZSggY29uc3QgaW4gUG9pbnRMaWdodCBwb2ludExpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBvdXQgSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodCApIHtcblx0XHR2ZWMzIGxWZWN0b3IgXHgzZCBwb2ludExpZ2h0LnBvc2l0aW9uIC0gZ2VvbWV0cnkucG9zaXRpb247XG5cdFx0ZGlyZWN0TGlnaHQuZGlyZWN0aW9uIFx4M2Qgbm9ybWFsaXplKCBsVmVjdG9yICk7XG5cdFx0ZmxvYXQgbGlnaHREaXN0YW5jZSBceDNkIGxlbmd0aCggbFZlY3RvciApO1xuXHRcdGRpcmVjdExpZ2h0LmNvbG9yIFx4M2QgcG9pbnRMaWdodC5jb2xvcjtcblx0XHRkaXJlY3RMaWdodC5jb2xvciAqXHgzZCBwdW5jdHVhbExpZ2h0SW50ZW5zaXR5VG9JcnJhZGlhbmNlRmFjdG9yKCBsaWdodERpc3RhbmNlLCBwb2ludExpZ2h0LmRpc3RhbmNlLCBwb2ludExpZ2h0LmRlY2F5ICk7XG5cdFx0ZGlyZWN0TGlnaHQudmlzaWJsZSBceDNkICggZGlyZWN0TGlnaHQuY29sb3IgIVx4M2QgdmVjMyggMC4wICkgKTtcblx0fVxuI2VuZGlmXG4jaWYgTlVNX1NQT1RfTElHSFRTIFx4M2UgMFxuXHRzdHJ1Y3QgU3BvdExpZ2h0IHtcblx0XHR2ZWMzIHBvc2l0aW9uO1xuXHRcdHZlYzMgZGlyZWN0aW9uO1xuXHRcdHZlYzMgY29sb3I7XG5cdFx0ZmxvYXQgZGlzdGFuY2U7XG5cdFx0ZmxvYXQgZGVjYXk7XG5cdFx0ZmxvYXQgY29uZUNvcztcblx0XHRmbG9hdCBwZW51bWJyYUNvcztcblx0XHRpbnQgc2hhZG93O1xuXHRcdGZsb2F0IHNoYWRvd0JpYXM7XG5cdFx0ZmxvYXQgc2hhZG93UmFkaXVzO1xuXHRcdHZlYzIgc2hhZG93TWFwU2l6ZTtcblx0fTtcblx0dW5pZm9ybSBTcG90TGlnaHQgc3BvdExpZ2h0c1sgTlVNX1NQT1RfTElHSFRTIF07XG5cdHZvaWQgZ2V0U3BvdERpcmVjdExpZ2h0SXJyYWRpYW5jZSggY29uc3QgaW4gU3BvdExpZ2h0IHNwb3RMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgb3V0IEluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQgICkge1xuXHRcdHZlYzMgbFZlY3RvciBceDNkIHNwb3RMaWdodC5wb3NpdGlvbiAtIGdlb21ldHJ5LnBvc2l0aW9uO1xuXHRcdGRpcmVjdExpZ2h0LmRpcmVjdGlvbiBceDNkIG5vcm1hbGl6ZSggbFZlY3RvciApO1xuXHRcdGZsb2F0IGxpZ2h0RGlzdGFuY2UgXHgzZCBsZW5ndGgoIGxWZWN0b3IgKTtcblx0XHRmbG9hdCBhbmdsZUNvcyBceDNkIGRvdCggZGlyZWN0TGlnaHQuZGlyZWN0aW9uLCBzcG90TGlnaHQuZGlyZWN0aW9uICk7XG5cdFx0aWYgKCBhbmdsZUNvcyBceDNlIHNwb3RMaWdodC5jb25lQ29zICkge1xuXHRcdFx0ZmxvYXQgc3BvdEVmZmVjdCBceDNkIHNtb290aHN0ZXAoIHNwb3RMaWdodC5jb25lQ29zLCBzcG90TGlnaHQucGVudW1icmFDb3MsIGFuZ2xlQ29zICk7XG5cdFx0XHRkaXJlY3RMaWdodC5jb2xvciBceDNkIHNwb3RMaWdodC5jb2xvcjtcblx0XHRcdGRpcmVjdExpZ2h0LmNvbG9yICpceDNkIHNwb3RFZmZlY3QgKiBwdW5jdHVhbExpZ2h0SW50ZW5zaXR5VG9JcnJhZGlhbmNlRmFjdG9yKCBsaWdodERpc3RhbmNlLCBzcG90TGlnaHQuZGlzdGFuY2UsIHNwb3RMaWdodC5kZWNheSApO1xuXHRcdFx0ZGlyZWN0TGlnaHQudmlzaWJsZSBceDNkIHRydWU7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGRpcmVjdExpZ2h0LmNvbG9yIFx4M2QgdmVjMyggMC4wICk7XG5cdFx0XHRkaXJlY3RMaWdodC52aXNpYmxlIFx4M2QgZmFsc2U7XG5cdFx0fVxuXHR9XG4jZW5kaWZcbiNpZiBOVU1fUkVDVF9BUkVBX0xJR0hUUyBceDNlIDBcblx0c3RydWN0IFJlY3RBcmVhTGlnaHQge1xuXHRcdHZlYzMgY29sb3I7XG5cdFx0dmVjMyBwb3NpdGlvbjtcblx0XHR2ZWMzIGhhbGZXaWR0aDtcblx0XHR2ZWMzIGhhbGZIZWlnaHQ7XG5cdH07XG5cdHVuaWZvcm0gc2FtcGxlcjJEIGx0Y18xO1x0dW5pZm9ybSBzYW1wbGVyMkQgbHRjXzI7XG5cdHVuaWZvcm0gUmVjdEFyZWFMaWdodCByZWN0QXJlYUxpZ2h0c1sgTlVNX1JFQ1RfQVJFQV9MSUdIVFMgXTtcbiNlbmRpZlxuI2lmIE5VTV9IRU1JX0xJR0hUUyBceDNlIDBcblx0c3RydWN0IEhlbWlzcGhlcmVMaWdodCB7XG5cdFx0dmVjMyBkaXJlY3Rpb247XG5cdFx0dmVjMyBza3lDb2xvcjtcblx0XHR2ZWMzIGdyb3VuZENvbG9yO1xuXHR9O1xuXHR1bmlmb3JtIEhlbWlzcGhlcmVMaWdodCBoZW1pc3BoZXJlTGlnaHRzWyBOVU1fSEVNSV9MSUdIVFMgXTtcblx0dmVjMyBnZXRIZW1pc3BoZXJlTGlnaHRJcnJhZGlhbmNlKCBjb25zdCBpbiBIZW1pc3BoZXJlTGlnaHQgaGVtaUxpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5ICkge1xuXHRcdGZsb2F0IGRvdE5MIFx4M2QgZG90KCBnZW9tZXRyeS5ub3JtYWwsIGhlbWlMaWdodC5kaXJlY3Rpb24gKTtcblx0XHRmbG9hdCBoZW1pRGlmZnVzZVdlaWdodCBceDNkIDAuNSAqIGRvdE5MICsgMC41O1xuXHRcdHZlYzMgaXJyYWRpYW5jZSBceDNkIG1peCggaGVtaUxpZ2h0Lmdyb3VuZENvbG9yLCBoZW1pTGlnaHQuc2t5Q29sb3IsIGhlbWlEaWZmdXNlV2VpZ2h0ICk7XG5cdFx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0XHRpcnJhZGlhbmNlICpceDNkIFBJO1xuXHRcdCNlbmRpZlxuXHRcdHJldHVybiBpcnJhZGlhbmNlO1xuXHR9XG4jZW5kaWYiLApsaWdodHNfcGhvbmdfZnJhZ21lbnQ6IkJsaW5uUGhvbmdNYXRlcmlhbCBtYXRlcmlhbDtcbm1hdGVyaWFsLmRpZmZ1c2VDb2xvciBceDNkIGRpZmZ1c2VDb2xvci5yZ2I7XG5tYXRlcmlhbC5zcGVjdWxhckNvbG9yIFx4M2Qgc3BlY3VsYXI7XG5tYXRlcmlhbC5zcGVjdWxhclNoaW5pbmVzcyBceDNkIHNoaW5pbmVzcztcbm1hdGVyaWFsLnNwZWN1bGFyU3RyZW5ndGggXHgzZCBzcGVjdWxhclN0cmVuZ3RoOyIsbGlnaHRzX3Bob25nX3BhcnNfZnJhZ21lbnQ6InZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcbiNlbmRpZlxuc3RydWN0IEJsaW5uUGhvbmdNYXRlcmlhbCB7XG5cdHZlYzNcdGRpZmZ1c2VDb2xvcjtcblx0dmVjM1x0c3BlY3VsYXJDb2xvcjtcblx0ZmxvYXRcdHNwZWN1bGFyU2hpbmluZXNzO1xuXHRmbG9hdFx0c3BlY3VsYXJTdHJlbmd0aDtcbn07XG52b2lkIFJFX0RpcmVjdF9CbGlublBob25nKCBjb25zdCBpbiBJbmNpZGVudExpZ2h0IGRpcmVjdExpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBjb25zdCBpbiBCbGlublBob25nTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xuXHQjaWZkZWYgVE9PTlxuXHRcdHZlYzMgaXJyYWRpYW5jZSBceDNkIGdldEdyYWRpZW50SXJyYWRpYW5jZSggZ2VvbWV0cnkubm9ybWFsLCBkaXJlY3RMaWdodC5kaXJlY3Rpb24gKSAqIGRpcmVjdExpZ2h0LmNvbG9yO1xuXHQjZWxzZVxuXHRcdGZsb2F0IGRvdE5MIFx4M2Qgc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkubm9ybWFsLCBkaXJlY3RMaWdodC5kaXJlY3Rpb24gKSApO1xuXHRcdHZlYzMgaXJyYWRpYW5jZSBceDNkIGRvdE5MICogZGlyZWN0TGlnaHQuY29sb3I7XG5cdCNlbmRpZlxuXHQjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcblx0XHRpcnJhZGlhbmNlICpceDNkIFBJO1xuXHQjZW5kaWZcblx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSArXHgzZCBpcnJhZGlhbmNlICogQlJERl9EaWZmdXNlX0xhbWJlcnQoIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciApO1xuXHRyZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArXHgzZCBpcnJhZGlhbmNlICogQlJERl9TcGVjdWxhcl9CbGlublBob25nKCBkaXJlY3RMaWdodCwgZ2VvbWV0cnksIG1hdGVyaWFsLnNwZWN1bGFyQ29sb3IsIG1hdGVyaWFsLnNwZWN1bGFyU2hpbmluZXNzICkgKiBtYXRlcmlhbC5zcGVjdWxhclN0cmVuZ3RoO1xufVxudm9pZCBSRV9JbmRpcmVjdERpZmZ1c2VfQmxpbm5QaG9uZyggY29uc3QgaW4gdmVjMyBpcnJhZGlhbmNlLCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBjb25zdCBpbiBCbGlublBob25nTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgK1x4M2QgaXJyYWRpYW5jZSAqIEJSREZfRGlmZnVzZV9MYW1iZXJ0KCBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKTtcbn1cbiNkZWZpbmUgUkVfRGlyZWN0XHRcdFx0XHRSRV9EaXJlY3RfQmxpbm5QaG9uZ1xuI2RlZmluZSBSRV9JbmRpcmVjdERpZmZ1c2VcdFx0UkVfSW5kaXJlY3REaWZmdXNlX0JsaW5uUGhvbmdcbiNkZWZpbmUgTWF0ZXJpYWxfTGlnaHRQcm9iZUxPRCggbWF0ZXJpYWwgKVx0KDApIiwKbGlnaHRzX3BoeXNpY2FsX2ZyYWdtZW50OiJQaHlzaWNhbE1hdGVyaWFsIG1hdGVyaWFsO1xubWF0ZXJpYWwuZGlmZnVzZUNvbG9yIFx4M2QgZGlmZnVzZUNvbG9yLnJnYiAqICggMS4wIC0gbWV0YWxuZXNzRmFjdG9yICk7XG5tYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcyBceDNkIGNsYW1wKCByb3VnaG5lc3NGYWN0b3IsIDAuMDQsIDEuMCApO1xuI2lmZGVmIFJFRkxFQ1RJVklUWVxuXHRtYXRlcmlhbC5zcGVjdWxhckNvbG9yIFx4M2QgbWl4KCB2ZWMzKCBNQVhJTVVNX1NQRUNVTEFSX0NPRUZGSUNJRU5UICogcG93MiggcmVmbGVjdGl2aXR5ICkgKSwgZGlmZnVzZUNvbG9yLnJnYiwgbWV0YWxuZXNzRmFjdG9yICk7XG4jZWxzZVxuXHRtYXRlcmlhbC5zcGVjdWxhckNvbG9yIFx4M2QgbWl4KCB2ZWMzKCBERUZBVUxUX1NQRUNVTEFSX0NPRUZGSUNJRU5UICksIGRpZmZ1c2VDb2xvci5yZ2IsIG1ldGFsbmVzc0ZhY3RvciApO1xuI2VuZGlmXG4jaWZkZWYgQ0xFQVJDT0FUXG5cdG1hdGVyaWFsLmNsZWFyY29hdCBceDNkIHNhdHVyYXRlKCBjbGVhcmNvYXQgKTtcdG1hdGVyaWFsLmNsZWFyY29hdFJvdWdobmVzcyBceDNkIGNsYW1wKCBjbGVhcmNvYXRSb3VnaG5lc3MsIDAuMDQsIDEuMCApO1xuI2VuZGlmXG4jaWZkZWYgVVNFX1NIRUVOXG5cdG1hdGVyaWFsLnNoZWVuQ29sb3IgXHgzZCBzaGVlbjtcbiNlbmRpZiIsCmxpZ2h0c19waHlzaWNhbF9wYXJzX2ZyYWdtZW50OiJzdHJ1Y3QgUGh5c2ljYWxNYXRlcmlhbCB7XG5cdHZlYzNcdGRpZmZ1c2VDb2xvcjtcblx0ZmxvYXRcdHNwZWN1bGFyUm91Z2huZXNzO1xuXHR2ZWMzXHRzcGVjdWxhckNvbG9yO1xuI2lmZGVmIENMRUFSQ09BVFxuXHRmbG9hdCBjbGVhcmNvYXQ7XG5cdGZsb2F0IGNsZWFyY29hdFJvdWdobmVzcztcbiNlbmRpZlxuI2lmZGVmIFVTRV9TSEVFTlxuXHR2ZWMzIHNoZWVuQ29sb3I7XG4jZW5kaWZcbn07XG4jZGVmaW5lIE1BWElNVU1fU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgMC4xNlxuI2RlZmluZSBERUZBVUxUX1NQRUNVTEFSX0NPRUZGSUNJRU5UIDAuMDRcbmZsb2F0IGNsZWFyY29hdERIUkFwcHJveCggY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzLCBjb25zdCBpbiBmbG9hdCBkb3ROTCApIHtcblx0cmV0dXJuIERFRkFVTFRfU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgKyAoIDEuMCAtIERFRkFVTFRfU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgKSAqICggcG93KCAxLjAgLSBkb3ROTCwgNS4wICkgKiBwb3coIDEuMCAtIHJvdWdobmVzcywgMi4wICkgKTtcbn1cbiNpZiBOVU1fUkVDVF9BUkVBX0xJR0hUUyBceDNlIDBcblx0dm9pZCBSRV9EaXJlY3RfUmVjdEFyZWFfUGh5c2ljYWwoIGNvbnN0IGluIFJlY3RBcmVhTGlnaHQgcmVjdEFyZWFMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gUGh5c2ljYWxNYXRlcmlhbCBtYXRlcmlhbCwgaW5vdXQgUmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgKSB7XG5cdFx0dmVjMyBub3JtYWwgXHgzZCBnZW9tZXRyeS5ub3JtYWw7XG5cdFx0dmVjMyB2aWV3RGlyIFx4M2QgZ2VvbWV0cnkudmlld0Rpcjtcblx0XHR2ZWMzIHBvc2l0aW9uIFx4M2QgZ2VvbWV0cnkucG9zaXRpb247XG5cdFx0dmVjMyBsaWdodFBvcyBceDNkIHJlY3RBcmVhTGlnaHQucG9zaXRpb247XG5cdFx0dmVjMyBoYWxmV2lkdGggXHgzZCByZWN0QXJlYUxpZ2h0LmhhbGZXaWR0aDtcblx0XHR2ZWMzIGhhbGZIZWlnaHQgXHgzZCByZWN0QXJlYUxpZ2h0LmhhbGZIZWlnaHQ7XG5cdFx0dmVjMyBsaWdodENvbG9yIFx4M2QgcmVjdEFyZWFMaWdodC5jb2xvcjtcblx0XHRmbG9hdCByb3VnaG5lc3MgXHgzZCBtYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcztcblx0XHR2ZWMzIHJlY3RDb29yZHNbIDQgXTtcblx0XHRyZWN0Q29vcmRzWyAwIF0gXHgzZCBsaWdodFBvcyArIGhhbGZXaWR0aCAtIGhhbGZIZWlnaHQ7XHRcdHJlY3RDb29yZHNbIDEgXSBceDNkIGxpZ2h0UG9zIC0gaGFsZldpZHRoIC0gaGFsZkhlaWdodDtcblx0XHRyZWN0Q29vcmRzWyAyIF0gXHgzZCBsaWdodFBvcyAtIGhhbGZXaWR0aCArIGhhbGZIZWlnaHQ7XG5cdFx0cmVjdENvb3Jkc1sgMyBdIFx4M2QgbGlnaHRQb3MgKyBoYWxmV2lkdGggKyBoYWxmSGVpZ2h0O1xuXHRcdHZlYzIgdXYgXHgzZCBMVENfVXYoIG5vcm1hbCwgdmlld0Rpciwgcm91Z2huZXNzICk7XG5cdFx0dmVjNCB0MSBceDNkIHRleHR1cmUyRCggbHRjXzEsIHV2ICk7XG5cdFx0dmVjNCB0MiBceDNkIHRleHR1cmUyRCggbHRjXzIsIHV2ICk7XG5cdFx0bWF0MyBtSW52IFx4M2QgbWF0Myhcblx0XHRcdHZlYzMoIHQxLngsIDAsIHQxLnkgKSxcblx0XHRcdHZlYzMoICAgIDAsIDEsICAgIDAgKSxcblx0XHRcdHZlYzMoIHQxLnosIDAsIHQxLncgKVxuXHRcdCk7XG5cdFx0dmVjMyBmcmVzbmVsIFx4M2QgKCBtYXRlcmlhbC5zcGVjdWxhckNvbG9yICogdDIueCArICggdmVjMyggMS4wICkgLSBtYXRlcmlhbC5zcGVjdWxhckNvbG9yICkgKiB0Mi55ICk7XG5cdFx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgK1x4M2QgbGlnaHRDb2xvciAqIGZyZXNuZWwgKiBMVENfRXZhbHVhdGUoIG5vcm1hbCwgdmlld0RpciwgcG9zaXRpb24sIG1JbnYsIHJlY3RDb29yZHMgKTtcblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICtceDNkIGxpZ2h0Q29sb3IgKiBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKiBMVENfRXZhbHVhdGUoIG5vcm1hbCwgdmlld0RpciwgcG9zaXRpb24sIG1hdDMoIDEuMCApLCByZWN0Q29vcmRzICk7XG5cdH1cbiNlbmRpZlxudm9pZCBSRV9EaXJlY3RfUGh5c2ljYWwoIGNvbnN0IGluIEluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIFBoeXNpY2FsTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xuXHRmbG9hdCBkb3ROTCBceDNkIHNhdHVyYXRlKCBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgZGlyZWN0TGlnaHQuZGlyZWN0aW9uICkgKTtcblx0dmVjMyBpcnJhZGlhbmNlIFx4M2QgZG90TkwgKiBkaXJlY3RMaWdodC5jb2xvcjtcblx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0aXJyYWRpYW5jZSAqXHgzZCBQSTtcblx0I2VuZGlmXG5cdCNpZmRlZiBDTEVBUkNPQVRcblx0XHRmbG9hdCBjY0RvdE5MIFx4M2Qgc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkuY2xlYXJjb2F0Tm9ybWFsLCBkaXJlY3RMaWdodC5kaXJlY3Rpb24gKSApO1xuXHRcdHZlYzMgY2NJcnJhZGlhbmNlIFx4M2QgY2NEb3ROTCAqIGRpcmVjdExpZ2h0LmNvbG9yO1xuXHRcdCNpZm5kZWYgUEhZU0lDQUxMWV9DT1JSRUNUX0xJR0hUU1xuXHRcdFx0Y2NJcnJhZGlhbmNlICpceDNkIFBJO1xuXHRcdCNlbmRpZlxuXHRcdGZsb2F0IGNsZWFyY29hdERIUiBceDNkIG1hdGVyaWFsLmNsZWFyY29hdCAqIGNsZWFyY29hdERIUkFwcHJveCggbWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzLCBjY0RvdE5MICk7XG5cdFx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgK1x4M2QgY2NJcnJhZGlhbmNlICogbWF0ZXJpYWwuY2xlYXJjb2F0ICogQlJERl9TcGVjdWxhcl9HR1goIGRpcmVjdExpZ2h0LCBnZW9tZXRyeS52aWV3RGlyLCBnZW9tZXRyeS5jbGVhcmNvYXROb3JtYWwsIHZlYzMoIERFRkFVTFRfU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgKSwgbWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzICk7XG5cdCNlbHNlXG5cdFx0ZmxvYXQgY2xlYXJjb2F0REhSIFx4M2QgMC4wO1xuXHQjZW5kaWZcblx0I2lmZGVmIFVTRV9TSEVFTlxuXHRcdHJlZmxlY3RlZExpZ2h0LmRpcmVjdFNwZWN1bGFyICtceDNkICggMS4wIC0gY2xlYXJjb2F0REhSICkgKiBpcnJhZGlhbmNlICogQlJERl9TcGVjdWxhcl9TaGVlbihcblx0XHRcdG1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzLFxuXHRcdFx0ZGlyZWN0TGlnaHQuZGlyZWN0aW9uLFxuXHRcdFx0Z2VvbWV0cnksXG5cdFx0XHRtYXRlcmlhbC5zaGVlbkNvbG9yXG5cdFx0KTtcblx0I2Vsc2Vcblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArXHgzZCAoIDEuMCAtIGNsZWFyY29hdERIUiApICogaXJyYWRpYW5jZSAqIEJSREZfU3BlY3VsYXJfR0dYKCBkaXJlY3RMaWdodCwgZ2VvbWV0cnkudmlld0RpciwgZ2VvbWV0cnkubm9ybWFsLCBtYXRlcmlhbC5zcGVjdWxhckNvbG9yLCBtYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcyk7XG5cdCNlbmRpZlxuXHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICtceDNkICggMS4wIC0gY2xlYXJjb2F0REhSICkgKiBpcnJhZGlhbmNlICogQlJERl9EaWZmdXNlX0xhbWJlcnQoIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciApO1xufVxudm9pZCBSRV9JbmRpcmVjdERpZmZ1c2VfUGh5c2ljYWwoIGNvbnN0IGluIHZlYzMgaXJyYWRpYW5jZSwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gUGh5c2ljYWxNYXRlcmlhbCBtYXRlcmlhbCwgaW5vdXQgUmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgKSB7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArXHgzZCBpcnJhZGlhbmNlICogQlJERl9EaWZmdXNlX0xhbWJlcnQoIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciApO1xufVxudm9pZCBSRV9JbmRpcmVjdFNwZWN1bGFyX1BoeXNpY2FsKCBjb25zdCBpbiB2ZWMzIHJhZGlhbmNlLCBjb25zdCBpbiB2ZWMzIGlycmFkaWFuY2UsIGNvbnN0IGluIHZlYzMgY2xlYXJjb2F0UmFkaWFuY2UsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIFBoeXNpY2FsTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0KSB7XG5cdCNpZmRlZiBDTEVBUkNPQVRcblx0XHRmbG9hdCBjY0RvdE5WIFx4M2Qgc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkuY2xlYXJjb2F0Tm9ybWFsLCBnZW9tZXRyeS52aWV3RGlyICkgKTtcblx0XHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdFNwZWN1bGFyICtceDNkIGNsZWFyY29hdFJhZGlhbmNlICogbWF0ZXJpYWwuY2xlYXJjb2F0ICogQlJERl9TcGVjdWxhcl9HR1hfRW52aXJvbm1lbnQoIGdlb21ldHJ5LnZpZXdEaXIsIGdlb21ldHJ5LmNsZWFyY29hdE5vcm1hbCwgdmVjMyggREVGQVVMVF9TUEVDVUxBUl9DT0VGRklDSUVOVCApLCBtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MgKTtcblx0XHRmbG9hdCBjY0RvdE5MIFx4M2QgY2NEb3ROVjtcblx0XHRmbG9hdCBjbGVhcmNvYXRESFIgXHgzZCBtYXRlcmlhbC5jbGVhcmNvYXQgKiBjbGVhcmNvYXRESFJBcHByb3goIG1hdGVyaWFsLmNsZWFyY29hdFJvdWdobmVzcywgY2NEb3ROTCApO1xuXHQjZWxzZVxuXHRcdGZsb2F0IGNsZWFyY29hdERIUiBceDNkIDAuMDtcblx0I2VuZGlmXG5cdGZsb2F0IGNsZWFyY29hdEludiBceDNkIDEuMCAtIGNsZWFyY29hdERIUjtcblx0dmVjMyBzaW5nbGVTY2F0dGVyaW5nIFx4M2QgdmVjMyggMC4wICk7XG5cdHZlYzMgbXVsdGlTY2F0dGVyaW5nIFx4M2QgdmVjMyggMC4wICk7XG5cdHZlYzMgY29zaW5lV2VpZ2h0ZWRJcnJhZGlhbmNlIFx4M2QgaXJyYWRpYW5jZSAqIFJFQ0lQUk9DQUxfUEk7XG5cdEJSREZfU3BlY3VsYXJfTXVsdGlzY2F0dGVyaW5nX0Vudmlyb25tZW50KCBnZW9tZXRyeSwgbWF0ZXJpYWwuc3BlY3VsYXJDb2xvciwgbWF0ZXJpYWwuc3BlY3VsYXJSb3VnaG5lc3MsIHNpbmdsZVNjYXR0ZXJpbmcsIG11bHRpU2NhdHRlcmluZyApO1xuXHR2ZWMzIGRpZmZ1c2UgXHgzZCBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKiAoIDEuMCAtICggc2luZ2xlU2NhdHRlcmluZyArIG11bHRpU2NhdHRlcmluZyApICk7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0U3BlY3VsYXIgK1x4M2QgY2xlYXJjb2F0SW52ICogcmFkaWFuY2UgKiBzaW5nbGVTY2F0dGVyaW5nO1xuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgK1x4M2QgbXVsdGlTY2F0dGVyaW5nICogY29zaW5lV2VpZ2h0ZWRJcnJhZGlhbmNlO1xuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgK1x4M2QgZGlmZnVzZSAqIGNvc2luZVdlaWdodGVkSXJyYWRpYW5jZTtcbn1cbiNkZWZpbmUgUkVfRGlyZWN0XHRcdFx0XHRSRV9EaXJlY3RfUGh5c2ljYWxcbiNkZWZpbmUgUkVfRGlyZWN0X1JlY3RBcmVhXHRcdFJFX0RpcmVjdF9SZWN0QXJlYV9QaHlzaWNhbFxuI2RlZmluZSBSRV9JbmRpcmVjdERpZmZ1c2VcdFx0UkVfSW5kaXJlY3REaWZmdXNlX1BoeXNpY2FsXG4jZGVmaW5lIFJFX0luZGlyZWN0U3BlY3VsYXJcdFx0UkVfSW5kaXJlY3RTcGVjdWxhcl9QaHlzaWNhbFxuZmxvYXQgY29tcHV0ZVNwZWN1bGFyT2NjbHVzaW9uKCBjb25zdCBpbiBmbG9hdCBkb3ROViwgY29uc3QgaW4gZmxvYXQgYW1iaWVudE9jY2x1c2lvbiwgY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzICkge1xuXHRyZXR1cm4gc2F0dXJhdGUoIHBvdyggZG90TlYgKyBhbWJpZW50T2NjbHVzaW9uLCBleHAyKCAtIDE2LjAgKiByb3VnaG5lc3MgLSAxLjAgKSApIC0gMS4wICsgYW1iaWVudE9jY2x1c2lvbiApO1xufSIsCmxpZ2h0c19mcmFnbWVudF9iZWdpbjoiXG5HZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5O1xuZ2VvbWV0cnkucG9zaXRpb24gXHgzZCAtIHZWaWV3UG9zaXRpb247XG5nZW9tZXRyeS5ub3JtYWwgXHgzZCBub3JtYWw7XG5nZW9tZXRyeS52aWV3RGlyIFx4M2Qgbm9ybWFsaXplKCB2Vmlld1Bvc2l0aW9uICk7XG4jaWZkZWYgQ0xFQVJDT0FUXG5cdGdlb21ldHJ5LmNsZWFyY29hdE5vcm1hbCBceDNkIGNsZWFyY29hdE5vcm1hbDtcbiNlbmRpZlxuSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodDtcbiNpZiAoIE5VTV9QT0lOVF9MSUdIVFMgXHgzZSAwICkgXHgyNlx4MjYgZGVmaW5lZCggUkVfRGlyZWN0IClcblx0UG9pbnRMaWdodCBwb2ludExpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wXG5cdGZvciAoIGludCBpIFx4M2QgMDsgaSBceDNjIE5VTV9QT0lOVF9MSUdIVFM7IGkgKysgKSB7XG5cdFx0cG9pbnRMaWdodCBceDNkIHBvaW50TGlnaHRzWyBpIF07XG5cdFx0Z2V0UG9pbnREaXJlY3RMaWdodElycmFkaWFuY2UoIHBvaW50TGlnaHQsIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xuXHRcdCNpZiBkZWZpbmVkKCBVU0VfU0hBRE9XTUFQICkgXHgyNlx4MjYgKCBVTlJPTExFRF9MT09QX0lOREVYIFx4M2MgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgKVxuXHRcdGRpcmVjdExpZ2h0LmNvbG9yICpceDNkIGFsbCggYnZlYzIoIHBvaW50TGlnaHQuc2hhZG93LCBkaXJlY3RMaWdodC52aXNpYmxlICkgKSA/IGdldFBvaW50U2hhZG93KCBwb2ludFNoYWRvd01hcFsgaSBdLCBwb2ludExpZ2h0LnNoYWRvd01hcFNpemUsIHBvaW50TGlnaHQuc2hhZG93QmlhcywgcG9pbnRMaWdodC5zaGFkb3dSYWRpdXMsIHZQb2ludFNoYWRvd0Nvb3JkWyBpIF0sIHBvaW50TGlnaHQuc2hhZG93Q2FtZXJhTmVhciwgcG9pbnRMaWdodC5zaGFkb3dDYW1lcmFGYXIgKSA6IDEuMDtcblx0XHQjZW5kaWZcblx0XHRSRV9EaXJlY3QoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHJlZmxlY3RlZExpZ2h0ICk7XG5cdH1cbiNlbmRpZlxuI2lmICggTlVNX1NQT1RfTElHSFRTIFx4M2UgMCApIFx4MjZceDI2IGRlZmluZWQoIFJFX0RpcmVjdCApXG5cdFNwb3RMaWdodCBzcG90TGlnaHQ7XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bcblx0Zm9yICggaW50IGkgXHgzZCAwOyBpIFx4M2MgTlVNX1NQT1RfTElHSFRTOyBpICsrICkge1xuXHRcdHNwb3RMaWdodCBceDNkIHNwb3RMaWdodHNbIGkgXTtcblx0XHRnZXRTcG90RGlyZWN0TGlnaHRJcnJhZGlhbmNlKCBzcG90TGlnaHQsIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xuXHRcdCNpZiBkZWZpbmVkKCBVU0VfU0hBRE9XTUFQICkgXHgyNlx4MjYgKCBVTlJPTExFRF9MT09QX0lOREVYIFx4M2MgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyApXG5cdFx0ZGlyZWN0TGlnaHQuY29sb3IgKlx4M2QgYWxsKCBidmVjMiggc3BvdExpZ2h0LnNoYWRvdywgZGlyZWN0TGlnaHQudmlzaWJsZSApICkgPyBnZXRTaGFkb3coIHNwb3RTaGFkb3dNYXBbIGkgXSwgc3BvdExpZ2h0LnNoYWRvd01hcFNpemUsIHNwb3RMaWdodC5zaGFkb3dCaWFzLCBzcG90TGlnaHQuc2hhZG93UmFkaXVzLCB2U3BvdFNoYWRvd0Nvb3JkWyBpIF0gKSA6IDEuMDtcblx0XHQjZW5kaWZcblx0XHRSRV9EaXJlY3QoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHJlZmxlY3RlZExpZ2h0ICk7XG5cdH1cbiNlbmRpZlxuI2lmICggTlVNX0RJUl9MSUdIVFMgXHgzZSAwICkgXHgyNlx4MjYgZGVmaW5lZCggUkVfRGlyZWN0IClcblx0RGlyZWN0aW9uYWxMaWdodCBkaXJlY3Rpb25hbExpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wXG5cdGZvciAoIGludCBpIFx4M2QgMDsgaSBceDNjIE5VTV9ESVJfTElHSFRTOyBpICsrICkge1xuXHRcdGRpcmVjdGlvbmFsTGlnaHQgXHgzZCBkaXJlY3Rpb25hbExpZ2h0c1sgaSBdO1xuXHRcdGdldERpcmVjdGlvbmFsRGlyZWN0TGlnaHRJcnJhZGlhbmNlKCBkaXJlY3Rpb25hbExpZ2h0LCBnZW9tZXRyeSwgZGlyZWN0TGlnaHQgKTtcblx0XHQjaWYgZGVmaW5lZCggVVNFX1NIQURPV01BUCApIFx4MjZceDI2ICggVU5ST0xMRURfTE9PUF9JTkRFWCBceDNjIE5VTV9ESVJfTElHSFRfU0hBRE9XUyApXG5cdFx0ZGlyZWN0TGlnaHQuY29sb3IgKlx4M2QgYWxsKCBidmVjMiggZGlyZWN0aW9uYWxMaWdodC5zaGFkb3csIGRpcmVjdExpZ2h0LnZpc2libGUgKSApID8gZ2V0U2hhZG93KCBkaXJlY3Rpb25hbFNoYWRvd01hcFsgaSBdLCBkaXJlY3Rpb25hbExpZ2h0LnNoYWRvd01hcFNpemUsIGRpcmVjdGlvbmFsTGlnaHQuc2hhZG93QmlhcywgZGlyZWN0aW9uYWxMaWdodC5zaGFkb3dSYWRpdXMsIHZEaXJlY3Rpb25hbFNoYWRvd0Nvb3JkWyBpIF0gKSA6IDEuMDtcblx0XHQjZW5kaWZcblx0XHRSRV9EaXJlY3QoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHJlZmxlY3RlZExpZ2h0ICk7XG5cdH1cbiNlbmRpZlxuI2lmICggTlVNX1JFQ1RfQVJFQV9MSUdIVFMgXHgzZSAwICkgXHgyNlx4MjYgZGVmaW5lZCggUkVfRGlyZWN0X1JlY3RBcmVhIClcblx0UmVjdEFyZWFMaWdodCByZWN0QXJlYUxpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wXG5cdGZvciAoIGludCBpIFx4M2QgMDsgaSBceDNjIE5VTV9SRUNUX0FSRUFfTElHSFRTOyBpICsrICkge1xuXHRcdHJlY3RBcmVhTGlnaHQgXHgzZCByZWN0QXJlYUxpZ2h0c1sgaSBdO1xuXHRcdFJFX0RpcmVjdF9SZWN0QXJlYSggcmVjdEFyZWFMaWdodCwgZ2VvbWV0cnksIG1hdGVyaWFsLCByZWZsZWN0ZWRMaWdodCApO1xuXHR9XG4jZW5kaWZcbiNpZiBkZWZpbmVkKCBSRV9JbmRpcmVjdERpZmZ1c2UgKVxuXHR2ZWMzIGlibElycmFkaWFuY2UgXHgzZCB2ZWMzKCAwLjAgKTtcblx0dmVjMyBpcnJhZGlhbmNlIFx4M2QgZ2V0QW1iaWVudExpZ2h0SXJyYWRpYW5jZSggYW1iaWVudExpZ2h0Q29sb3IgKTtcblx0aXJyYWRpYW5jZSArXHgzZCBnZXRMaWdodFByb2JlSXJyYWRpYW5jZSggbGlnaHRQcm9iZSwgZ2VvbWV0cnkgKTtcblx0I2lmICggTlVNX0hFTUlfTElHSFRTIFx4M2UgMCApXG5cdFx0I3ByYWdtYSB1bnJvbGxfbG9vcFxuXHRcdGZvciAoIGludCBpIFx4M2QgMDsgaSBceDNjIE5VTV9IRU1JX0xJR0hUUzsgaSArKyApIHtcblx0XHRcdGlycmFkaWFuY2UgK1x4M2QgZ2V0SGVtaXNwaGVyZUxpZ2h0SXJyYWRpYW5jZSggaGVtaXNwaGVyZUxpZ2h0c1sgaSBdLCBnZW9tZXRyeSApO1xuXHRcdH1cblx0I2VuZGlmXG4jZW5kaWZcbiNpZiBkZWZpbmVkKCBSRV9JbmRpcmVjdFNwZWN1bGFyIClcblx0dmVjMyByYWRpYW5jZSBceDNkIHZlYzMoIDAuMCApO1xuXHR2ZWMzIGNsZWFyY29hdFJhZGlhbmNlIFx4M2QgdmVjMyggMC4wICk7XG4jZW5kaWYiLApsaWdodHNfZnJhZ21lbnRfbWFwczoiI2lmIGRlZmluZWQoIFJFX0luZGlyZWN0RGlmZnVzZSApXG5cdCNpZmRlZiBVU0VfTElHSFRNQVBcblx0XHR2ZWMzIGxpZ2h0TWFwSXJyYWRpYW5jZSBceDNkIHRleHR1cmUyRCggbGlnaHRNYXAsIHZVdjIgKS54eXogKiBsaWdodE1hcEludGVuc2l0eTtcblx0XHQjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcblx0XHRcdGxpZ2h0TWFwSXJyYWRpYW5jZSAqXHgzZCBQSTtcblx0XHQjZW5kaWZcblx0XHRpcnJhZGlhbmNlICtceDNkIGxpZ2h0TWFwSXJyYWRpYW5jZTtcblx0I2VuZGlmXG5cdCNpZiBkZWZpbmVkKCBVU0VfRU5WTUFQICkgXHgyNlx4MjYgZGVmaW5lZCggU1RBTkRBUkQgKSBceDI2XHgyNiBkZWZpbmVkKCBFTlZNQVBfVFlQRV9DVUJFX1VWIClcblx0XHRpYmxJcnJhZGlhbmNlICtceDNkIGdldExpZ2h0UHJvYmVJbmRpcmVjdElycmFkaWFuY2UoIGdlb21ldHJ5LCBtYXhNaXBMZXZlbCApO1xuXHQjZW5kaWZcbiNlbmRpZlxuI2lmIGRlZmluZWQoIFVTRV9FTlZNQVAgKSBceDI2XHgyNiBkZWZpbmVkKCBSRV9JbmRpcmVjdFNwZWN1bGFyIClcblx0cmFkaWFuY2UgK1x4M2QgZ2V0TGlnaHRQcm9iZUluZGlyZWN0UmFkaWFuY2UoIGdlb21ldHJ5LnZpZXdEaXIsIGdlb21ldHJ5Lm5vcm1hbCwgbWF0ZXJpYWwuc3BlY3VsYXJSb3VnaG5lc3MsIG1heE1pcExldmVsICk7XG5cdCNpZmRlZiBDTEVBUkNPQVRcblx0XHRjbGVhcmNvYXRSYWRpYW5jZSArXHgzZCBnZXRMaWdodFByb2JlSW5kaXJlY3RSYWRpYW5jZSggZ2VvbWV0cnkudmlld0RpciwgZ2VvbWV0cnkuY2xlYXJjb2F0Tm9ybWFsLCBtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MsIG1heE1pcExldmVsICk7XG5cdCNlbmRpZlxuI2VuZGlmIiwKbGlnaHRzX2ZyYWdtZW50X2VuZDoiI2lmIGRlZmluZWQoIFJFX0luZGlyZWN0RGlmZnVzZSApXG5cdFJFX0luZGlyZWN0RGlmZnVzZSggaXJyYWRpYW5jZSwgZ2VvbWV0cnksIG1hdGVyaWFsLCByZWZsZWN0ZWRMaWdodCApO1xuI2VuZGlmXG4jaWYgZGVmaW5lZCggUkVfSW5kaXJlY3RTcGVjdWxhciApXG5cdFJFX0luZGlyZWN0U3BlY3VsYXIoIHJhZGlhbmNlLCBpYmxJcnJhZGlhbmNlLCBjbGVhcmNvYXRSYWRpYW5jZSwgZ2VvbWV0cnksIG1hdGVyaWFsLCByZWZsZWN0ZWRMaWdodCApO1xuI2VuZGlmIixsb2dkZXB0aGJ1Zl9mcmFnbWVudDoiI2lmIGRlZmluZWQoIFVTRV9MT0dERVBUSEJVRiApIFx4MjZceDI2IGRlZmluZWQoIFVTRV9MT0dERVBUSEJVRl9FWFQgKVxuXHRnbF9GcmFnRGVwdGhFWFQgXHgzZCBsb2cyKCB2RnJhZ0RlcHRoICkgKiBsb2dEZXB0aEJ1ZkZDICogMC41O1xuI2VuZGlmIixsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50OiIjaWYgZGVmaW5lZCggVVNFX0xPR0RFUFRIQlVGICkgXHgyNlx4MjYgZGVmaW5lZCggVVNFX0xPR0RFUFRIQlVGX0VYVCApXG5cdHVuaWZvcm0gZmxvYXQgbG9nRGVwdGhCdWZGQztcblx0dmFyeWluZyBmbG9hdCB2RnJhZ0RlcHRoO1xuI2VuZGlmIiwKbG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfTE9HREVQVEhCVUZcblx0I2lmZGVmIFVTRV9MT0dERVBUSEJVRl9FWFRcblx0XHR2YXJ5aW5nIGZsb2F0IHZGcmFnRGVwdGg7XG5cdCNlbHNlXG5cdFx0dW5pZm9ybSBmbG9hdCBsb2dEZXB0aEJ1ZkZDO1xuXHQjZW5kaWZcbiNlbmRpZiIsbG9nZGVwdGhidWZfdmVydGV4OiIjaWZkZWYgVVNFX0xPR0RFUFRIQlVGXG5cdCNpZmRlZiBVU0VfTE9HREVQVEhCVUZfRVhUXG5cdFx0dkZyYWdEZXB0aCBceDNkIDEuMCArIGdsX1Bvc2l0aW9uLnc7XG5cdCNlbHNlXG5cdFx0Z2xfUG9zaXRpb24ueiBceDNkIGxvZzIoIG1heCggRVBTSUxPTiwgZ2xfUG9zaXRpb24udyArIDEuMCApICkgKiBsb2dEZXB0aEJ1ZkZDIC0gMS4wO1xuXHRcdGdsX1Bvc2l0aW9uLnogKlx4M2QgZ2xfUG9zaXRpb24udztcblx0I2VuZGlmXG4jZW5kaWYiLG1hcF9mcmFnbWVudDoiI2lmZGVmIFVTRV9NQVBcblx0dmVjNCB0ZXhlbENvbG9yIFx4M2QgdGV4dHVyZTJEKCBtYXAsIHZVdiApO1xuXHR0ZXhlbENvbG9yIFx4M2QgbWFwVGV4ZWxUb0xpbmVhciggdGV4ZWxDb2xvciApO1xuXHRkaWZmdXNlQ29sb3IgKlx4M2QgdGV4ZWxDb2xvcjtcbiNlbmRpZiIsCm1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX01BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBtYXA7XG4jZW5kaWYiLG1hcF9wYXJ0aWNsZV9mcmFnbWVudDoiI2lmZGVmIFVTRV9NQVBcblx0dmVjMiB1diBceDNkICggdXZUcmFuc2Zvcm0gKiB2ZWMzKCBnbF9Qb2ludENvb3JkLngsIDEuMCAtIGdsX1BvaW50Q29vcmQueSwgMSApICkueHk7XG5cdHZlYzQgbWFwVGV4ZWwgXHgzZCB0ZXh0dXJlMkQoIG1hcCwgdXYgKTtcblx0ZGlmZnVzZUNvbG9yICpceDNkIG1hcFRleGVsVG9MaW5lYXIoIG1hcFRleGVsICk7XG4jZW5kaWYiLG1hcF9wYXJ0aWNsZV9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX01BUFxuXHR1bmlmb3JtIG1hdDMgdXZUcmFuc2Zvcm07XG5cdHVuaWZvcm0gc2FtcGxlcjJEIG1hcDtcbiNlbmRpZiIsbWV0YWxuZXNzbWFwX2ZyYWdtZW50OiJmbG9hdCBtZXRhbG5lc3NGYWN0b3IgXHgzZCBtZXRhbG5lc3M7XG4jaWZkZWYgVVNFX01FVEFMTkVTU01BUFxuXHR2ZWM0IHRleGVsTWV0YWxuZXNzIFx4M2QgdGV4dHVyZTJEKCBtZXRhbG5lc3NNYXAsIHZVdiApO1xuXHRtZXRhbG5lc3NGYWN0b3IgKlx4M2QgdGV4ZWxNZXRhbG5lc3MuYjtcbiNlbmRpZiIsCm1ldGFsbmVzc21hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX01FVEFMTkVTU01BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBtZXRhbG5lc3NNYXA7XG4jZW5kaWYiLG1vcnBobm9ybWFsX3ZlcnRleDoiI2lmZGVmIFVTRV9NT1JQSE5PUk1BTFNcblx0b2JqZWN0Tm9ybWFsICtceDNkICggbW9ycGhOb3JtYWwwIC0gbm9ybWFsICkgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDAgXTtcblx0b2JqZWN0Tm9ybWFsICtceDNkICggbW9ycGhOb3JtYWwxIC0gbm9ybWFsICkgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDEgXTtcblx0b2JqZWN0Tm9ybWFsICtceDNkICggbW9ycGhOb3JtYWwyIC0gbm9ybWFsICkgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDIgXTtcblx0b2JqZWN0Tm9ybWFsICtceDNkICggbW9ycGhOb3JtYWwzIC0gbm9ybWFsICkgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDMgXTtcbiNlbmRpZiIsbW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfTU9SUEhUQVJHRVRTXG5cdCNpZm5kZWYgVVNFX01PUlBITk9STUFMU1xuXHR1bmlmb3JtIGZsb2F0IG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgOCBdO1xuXHQjZWxzZVxuXHR1bmlmb3JtIGZsb2F0IG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgNCBdO1xuXHQjZW5kaWZcbiNlbmRpZiIsCm1vcnBodGFyZ2V0X3ZlcnRleDoiI2lmZGVmIFVTRV9NT1JQSFRBUkdFVFNcblx0dHJhbnNmb3JtZWQgK1x4M2QgKCBtb3JwaFRhcmdldDAgLSBwb3NpdGlvbiApICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyAwIF07XG5cdHRyYW5zZm9ybWVkICtceDNkICggbW9ycGhUYXJnZXQxIC0gcG9zaXRpb24gKSAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgMSBdO1xuXHR0cmFuc2Zvcm1lZCArXHgzZCAoIG1vcnBoVGFyZ2V0MiAtIHBvc2l0aW9uICkgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDIgXTtcblx0dHJhbnNmb3JtZWQgK1x4M2QgKCBtb3JwaFRhcmdldDMgLSBwb3NpdGlvbiApICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyAzIF07XG5cdCNpZm5kZWYgVVNFX01PUlBITk9STUFMU1xuXHR0cmFuc2Zvcm1lZCArXHgzZCAoIG1vcnBoVGFyZ2V0NCAtIHBvc2l0aW9uICkgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDQgXTtcblx0dHJhbnNmb3JtZWQgK1x4M2QgKCBtb3JwaFRhcmdldDUgLSBwb3NpdGlvbiApICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyA1IF07XG5cdHRyYW5zZm9ybWVkICtceDNkICggbW9ycGhUYXJnZXQ2IC0gcG9zaXRpb24gKSAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgNiBdO1xuXHR0cmFuc2Zvcm1lZCArXHgzZCAoIG1vcnBoVGFyZ2V0NyAtIHBvc2l0aW9uICkgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDcgXTtcblx0I2VuZGlmXG4jZW5kaWYiLApub3JtYWxfZnJhZ21lbnRfYmVnaW46IiNpZmRlZiBGTEFUX1NIQURFRFxuXHR2ZWMzIGZkeCBceDNkIHZlYzMoIGRGZHgoIHZWaWV3UG9zaXRpb24ueCApLCBkRmR4KCB2Vmlld1Bvc2l0aW9uLnkgKSwgZEZkeCggdlZpZXdQb3NpdGlvbi56ICkgKTtcblx0dmVjMyBmZHkgXHgzZCB2ZWMzKCBkRmR5KCB2Vmlld1Bvc2l0aW9uLnggKSwgZEZkeSggdlZpZXdQb3NpdGlvbi55ICksIGRGZHkoIHZWaWV3UG9zaXRpb24ueiApICk7XG5cdHZlYzMgbm9ybWFsIFx4M2Qgbm9ybWFsaXplKCBjcm9zcyggZmR4LCBmZHkgKSApO1xuI2Vsc2Vcblx0dmVjMyBub3JtYWwgXHgzZCBub3JtYWxpemUoIHZOb3JtYWwgKTtcblx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdG5vcm1hbCBceDNkIG5vcm1hbCAqICggZmxvYXQoIGdsX0Zyb250RmFjaW5nICkgKiAyLjAgLSAxLjAgKTtcblx0I2VuZGlmXG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdHZlYzMgdGFuZ2VudCBceDNkIG5vcm1hbGl6ZSggdlRhbmdlbnQgKTtcblx0XHR2ZWMzIGJpdGFuZ2VudCBceDNkIG5vcm1hbGl6ZSggdkJpdGFuZ2VudCApO1xuXHRcdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRcdHRhbmdlbnQgXHgzZCB0YW5nZW50ICogKCBmbG9hdCggZ2xfRnJvbnRGYWNpbmcgKSAqIDIuMCAtIDEuMCApO1xuXHRcdFx0Yml0YW5nZW50IFx4M2QgYml0YW5nZW50ICogKCBmbG9hdCggZ2xfRnJvbnRGYWNpbmcgKSAqIDIuMCAtIDEuMCApO1xuXHRcdCNlbmRpZlxuXHQjZW5kaWZcbiNlbmRpZlxudmVjMyBnZW9tZXRyeU5vcm1hbCBceDNkIG5vcm1hbDsiLApub3JtYWxfZnJhZ21lbnRfbWFwczoiI2lmZGVmIE9CSkVDVFNQQUNFX05PUk1BTE1BUFxuXHRub3JtYWwgXHgzZCB0ZXh0dXJlMkQoIG5vcm1hbE1hcCwgdlV2ICkueHl6ICogMi4wIC0gMS4wO1xuXHQjaWZkZWYgRkxJUF9TSURFRFxuXHRcdG5vcm1hbCBceDNkIC0gbm9ybWFsO1xuXHQjZW5kaWZcblx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdG5vcm1hbCBceDNkIG5vcm1hbCAqICggZmxvYXQoIGdsX0Zyb250RmFjaW5nICkgKiAyLjAgLSAxLjAgKTtcblx0I2VuZGlmXG5cdG5vcm1hbCBceDNkIG5vcm1hbGl6ZSggbm9ybWFsTWF0cml4ICogbm9ybWFsICk7XG4jZWxpZiBkZWZpbmVkKCBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQIClcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0bWF0MyB2VEJOIFx4M2QgbWF0MyggdGFuZ2VudCwgYml0YW5nZW50LCBub3JtYWwgKTtcblx0XHR2ZWMzIG1hcE4gXHgzZCB0ZXh0dXJlMkQoIG5vcm1hbE1hcCwgdlV2ICkueHl6ICogMi4wIC0gMS4wO1xuXHRcdG1hcE4ueHkgXHgzZCBub3JtYWxTY2FsZSAqIG1hcE4ueHk7XG5cdFx0bm9ybWFsIFx4M2Qgbm9ybWFsaXplKCB2VEJOICogbWFwTiApO1xuXHQjZWxzZVxuXHRcdG5vcm1hbCBceDNkIHBlcnR1cmJOb3JtYWwyQXJiKCAtdlZpZXdQb3NpdGlvbiwgbm9ybWFsLCBub3JtYWxTY2FsZSwgbm9ybWFsTWFwICk7XG5cdCNlbmRpZlxuI2VsaWYgZGVmaW5lZCggVVNFX0JVTVBNQVAgKVxuXHRub3JtYWwgXHgzZCBwZXJ0dXJiTm9ybWFsQXJiKCAtdlZpZXdQb3NpdGlvbiwgbm9ybWFsLCBkSGR4eV9md2QoKSApO1xuI2VuZGlmIiwKbm9ybWFsbWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfTk9STUFMTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIG5vcm1hbE1hcDtcblx0dW5pZm9ybSB2ZWMyIG5vcm1hbFNjYWxlO1xuI2VuZGlmXG4jaWZkZWYgT0JKRUNUU1BBQ0VfTk9STUFMTUFQXG5cdHVuaWZvcm0gbWF0MyBub3JtYWxNYXRyaXg7XG4jZW5kaWZcbiNpZiAhIGRlZmluZWQgKCBVU0VfVEFOR0VOVCApIFx4MjZceDI2ICggZGVmaW5lZCAoIFRBTkdFTlRTUEFDRV9OT1JNQUxNQVAgKSB8fCBkZWZpbmVkICggVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVAgKSApXG5cdHZlYzMgcGVydHVyYk5vcm1hbDJBcmIoIHZlYzMgZXllX3BvcywgdmVjMyBzdXJmX25vcm0sIHZlYzIgbm9ybWFsU2NhbGUsIGluIHNhbXBsZXIyRCBub3JtYWxNYXAgKSB7XG5cdFx0dmVjMyBxMCBceDNkIHZlYzMoIGRGZHgoIGV5ZV9wb3MueCApLCBkRmR4KCBleWVfcG9zLnkgKSwgZEZkeCggZXllX3Bvcy56ICkgKTtcblx0XHR2ZWMzIHExIFx4M2QgdmVjMyggZEZkeSggZXllX3Bvcy54ICksIGRGZHkoIGV5ZV9wb3MueSApLCBkRmR5KCBleWVfcG9zLnogKSApO1xuXHRcdHZlYzIgc3QwIFx4M2QgZEZkeCggdlV2LnN0ICk7XG5cdFx0dmVjMiBzdDEgXHgzZCBkRmR5KCB2VXYuc3QgKTtcblx0XHRmbG9hdCBzY2FsZSBceDNkIHNpZ24oIHN0MS50ICogc3QwLnMgLSBzdDAudCAqIHN0MS5zICk7XG5cdFx0dmVjMyBTIFx4M2Qgbm9ybWFsaXplKCAoIHEwICogc3QxLnQgLSBxMSAqIHN0MC50ICkgKiBzY2FsZSApO1xuXHRcdHZlYzMgVCBceDNkIG5vcm1hbGl6ZSggKCAtIHEwICogc3QxLnMgKyBxMSAqIHN0MC5zICkgKiBzY2FsZSApO1xuXHRcdHZlYzMgTiBceDNkIG5vcm1hbGl6ZSggc3VyZl9ub3JtICk7XG5cdFx0dmVjMyBtYXBOIFx4M2QgdGV4dHVyZTJEKCBub3JtYWxNYXAsIHZVdiApLnh5eiAqIDIuMCAtIDEuMDtcblx0XHRtYXBOLnh5ICpceDNkIG5vcm1hbFNjYWxlO1xuXHRcdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRcdHZlYzMgTmZyb21TVCBceDNkIGNyb3NzKCBTLCBUICk7XG5cdFx0XHRpZiggZG90KCBOZnJvbVNULCBOICkgXHgzZSAwLjAgKSB7XG5cdFx0XHRcdFMgKlx4M2QgLTEuMDtcblx0XHRcdFx0VCAqXHgzZCAtMS4wO1xuXHRcdFx0fVxuXHRcdCNlbHNlXG5cdFx0XHRtYXBOLnh5ICpceDNkICggZmxvYXQoIGdsX0Zyb250RmFjaW5nICkgKiAyLjAgLSAxLjAgKTtcblx0XHQjZW5kaWZcblx0XHRtYXQzIHRzbiBceDNkIG1hdDMoIFMsIFQsIE4gKTtcblx0XHRyZXR1cm4gbm9ybWFsaXplKCB0c24gKiBtYXBOICk7XG5cdH1cbiNlbmRpZiIsCmNsZWFyY29hdF9ub3JtYWxfZnJhZ21lbnRfYmVnaW46IiNpZmRlZiBDTEVBUkNPQVRcblx0dmVjMyBjbGVhcmNvYXROb3JtYWwgXHgzZCBnZW9tZXRyeU5vcm1hbDtcbiNlbmRpZiIsY2xlYXJjb2F0X25vcm1hbF9mcmFnbWVudF9tYXBzOiIjaWZkZWYgVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVBcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0bWF0MyB2VEJOIFx4M2QgbWF0MyggdGFuZ2VudCwgYml0YW5nZW50LCBjbGVhcmNvYXROb3JtYWwgKTtcblx0XHR2ZWMzIG1hcE4gXHgzZCB0ZXh0dXJlMkQoIG5vcm1hbE1hcCwgdlV2ICkueHl6ICogMi4wIC0gMS4wO1xuXHRcdG1hcE4ueHkgXHgzZCBjbGVhcmNvYXROb3JtYWxTY2FsZSAqIG1hcE4ueHk7XG5cdFx0Y2xlYXJjb2F0Tm9ybWFsIFx4M2Qgbm9ybWFsaXplKCB2VEJOICogbWFwTiApO1xuXHQjZWxzZVxuXHRcdGNsZWFyY29hdE5vcm1hbCBceDNkIHBlcnR1cmJOb3JtYWwyQXJiKCAtIHZWaWV3UG9zaXRpb24sIGNsZWFyY29hdE5vcm1hbCwgY2xlYXJjb2F0Tm9ybWFsU2NhbGUsIGNsZWFyY29hdE5vcm1hbE1hcCApO1xuXHQjZW5kaWZcbiNlbmRpZiIsCmNsZWFyY29hdF9ub3JtYWxtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9DTEVBUkNPQVRfTk9STUFMTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGNsZWFyY29hdE5vcm1hbE1hcDtcblx0dW5pZm9ybSB2ZWMyIGNsZWFyY29hdE5vcm1hbFNjYWxlO1xuI2VuZGlmIixwYWNraW5nOiJ2ZWMzIHBhY2tOb3JtYWxUb1JHQiggY29uc3QgaW4gdmVjMyBub3JtYWwgKSB7XG5cdHJldHVybiBub3JtYWxpemUoIG5vcm1hbCApICogMC41ICsgMC41O1xufVxudmVjMyB1bnBhY2tSR0JUb05vcm1hbCggY29uc3QgaW4gdmVjMyByZ2IgKSB7XG5cdHJldHVybiAyLjAgKiByZ2IueHl6IC0gMS4wO1xufVxuY29uc3QgZmxvYXQgUGFja1Vwc2NhbGUgXHgzZCAyNTYuIC8gMjU1Ljtjb25zdCBmbG9hdCBVbnBhY2tEb3duc2NhbGUgXHgzZCAyNTUuIC8gMjU2LjtcbmNvbnN0IHZlYzMgUGFja0ZhY3RvcnMgXHgzZCB2ZWMzKCAyNTYuICogMjU2LiAqIDI1Ni4sIDI1Ni4gKiAyNTYuLCAgMjU2LiApO1xuY29uc3QgdmVjNCBVbnBhY2tGYWN0b3JzIFx4M2QgVW5wYWNrRG93bnNjYWxlIC8gdmVjNCggUGFja0ZhY3RvcnMsIDEuICk7XG5jb25zdCBmbG9hdCBTaGlmdFJpZ2h0OCBceDNkIDEuIC8gMjU2LjtcbnZlYzQgcGFja0RlcHRoVG9SR0JBKCBjb25zdCBpbiBmbG9hdCB2ICkge1xuXHR2ZWM0IHIgXHgzZCB2ZWM0KCBmcmFjdCggdiAqIFBhY2tGYWN0b3JzICksIHYgKTtcblx0ci55encgLVx4M2Qgci54eXogKiBTaGlmdFJpZ2h0ODtcdHJldHVybiByICogUGFja1Vwc2NhbGU7XG59XG5mbG9hdCB1bnBhY2tSR0JBVG9EZXB0aCggY29uc3QgaW4gdmVjNCB2ICkge1xuXHRyZXR1cm4gZG90KCB2LCBVbnBhY2tGYWN0b3JzICk7XG59XG52ZWM0IGVuY29kZUhhbGZSR0JBICggdmVjMiB2ICkge1xuXHR2ZWM0IGVuY29kZWQgXHgzZCB2ZWM0KCAwLjAgKTtcblx0Y29uc3QgdmVjMiBvZmZzZXQgXHgzZCB2ZWMyKCAxLjAgLyAyNTUuMCwgMC4wICk7XG5cdGVuY29kZWQueHkgXHgzZCB2ZWMyKCB2LngsIGZyYWN0KCB2LnggKiAyNTUuMCApICk7XG5cdGVuY29kZWQueHkgXHgzZCBlbmNvZGVkLnh5IC0gKCBlbmNvZGVkLnl5ICogb2Zmc2V0ICk7XG5cdGVuY29kZWQuencgXHgzZCB2ZWMyKCB2LnksIGZyYWN0KCB2LnkgKiAyNTUuMCApICk7XG5cdGVuY29kZWQuencgXHgzZCBlbmNvZGVkLnp3IC0gKCBlbmNvZGVkLnd3ICogb2Zmc2V0ICk7XG5cdHJldHVybiBlbmNvZGVkO1xufVxudmVjMiBkZWNvZGVIYWxmUkdCQSggdmVjNCB2ICkge1xuXHRyZXR1cm4gdmVjMiggdi54ICsgKCB2LnkgLyAyNTUuMCApLCB2LnogKyAoIHYudyAvIDI1NS4wICkgKTtcbn1cbmZsb2F0IHZpZXdaVG9PcnRob2dyYXBoaWNEZXB0aCggY29uc3QgaW4gZmxvYXQgdmlld1osIGNvbnN0IGluIGZsb2F0IG5lYXIsIGNvbnN0IGluIGZsb2F0IGZhciApIHtcblx0cmV0dXJuICggdmlld1ogKyBuZWFyICkgLyAoIG5lYXIgLSBmYXIgKTtcbn1cbmZsb2F0IG9ydGhvZ3JhcGhpY0RlcHRoVG9WaWV3WiggY29uc3QgaW4gZmxvYXQgbGluZWFyQ2xpcFosIGNvbnN0IGluIGZsb2F0IG5lYXIsIGNvbnN0IGluIGZsb2F0IGZhciApIHtcblx0cmV0dXJuIGxpbmVhckNsaXBaICogKCBuZWFyIC0gZmFyICkgLSBuZWFyO1xufVxuZmxvYXQgdmlld1pUb1BlcnNwZWN0aXZlRGVwdGgoIGNvbnN0IGluIGZsb2F0IHZpZXdaLCBjb25zdCBpbiBmbG9hdCBuZWFyLCBjb25zdCBpbiBmbG9hdCBmYXIgKSB7XG5cdHJldHVybiAoKCBuZWFyICsgdmlld1ogKSAqIGZhciApIC8gKCggZmFyIC0gbmVhciApICogdmlld1ogKTtcbn1cbmZsb2F0IHBlcnNwZWN0aXZlRGVwdGhUb1ZpZXdaKCBjb25zdCBpbiBmbG9hdCBpbnZDbGlwWiwgY29uc3QgaW4gZmxvYXQgbmVhciwgY29uc3QgaW4gZmxvYXQgZmFyICkge1xuXHRyZXR1cm4gKCBuZWFyICogZmFyICkgLyAoICggZmFyIC0gbmVhciApICogaW52Q2xpcFogLSBmYXIgKTtcbn0iLApwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50OiIjaWZkZWYgUFJFTVVMVElQTElFRF9BTFBIQVxuXHRnbF9GcmFnQ29sb3IucmdiICpceDNkIGdsX0ZyYWdDb2xvci5hO1xuI2VuZGlmIixwcm9qZWN0X3ZlcnRleDoidmVjNCBtdlBvc2l0aW9uIFx4M2QgbW9kZWxWaWV3TWF0cml4ICogdmVjNCggdHJhbnNmb3JtZWQsIDEuMCApO1xuZ2xfUG9zaXRpb24gXHgzZCBwcm9qZWN0aW9uTWF0cml4ICogbXZQb3NpdGlvbjsiLGRpdGhlcmluZ19mcmFnbWVudDoiI2lmZGVmIERJVEhFUklOR1xuXHRnbF9GcmFnQ29sb3IucmdiIFx4M2QgZGl0aGVyaW5nKCBnbF9GcmFnQ29sb3IucmdiICk7XG4jZW5kaWYiLGRpdGhlcmluZ19wYXJzX2ZyYWdtZW50OiIjaWZkZWYgRElUSEVSSU5HXG5cdHZlYzMgZGl0aGVyaW5nKCB2ZWMzIGNvbG9yICkge1xuXHRcdGZsb2F0IGdyaWRfcG9zaXRpb24gXHgzZCByYW5kKCBnbF9GcmFnQ29vcmQueHkgKTtcblx0XHR2ZWMzIGRpdGhlcl9zaGlmdF9SR0IgXHgzZCB2ZWMzKCAwLjI1IC8gMjU1LjAsIC0wLjI1IC8gMjU1LjAsIDAuMjUgLyAyNTUuMCApO1xuXHRcdGRpdGhlcl9zaGlmdF9SR0IgXHgzZCBtaXgoIDIuMCAqIGRpdGhlcl9zaGlmdF9SR0IsIC0yLjAgKiBkaXRoZXJfc2hpZnRfUkdCLCBncmlkX3Bvc2l0aW9uICk7XG5cdFx0cmV0dXJuIGNvbG9yICsgZGl0aGVyX3NoaWZ0X1JHQjtcblx0fVxuI2VuZGlmIiwKcm91Z2huZXNzbWFwX2ZyYWdtZW50OiJmbG9hdCByb3VnaG5lc3NGYWN0b3IgXHgzZCByb3VnaG5lc3M7XG4jaWZkZWYgVVNFX1JPVUdITkVTU01BUFxuXHR2ZWM0IHRleGVsUm91Z2huZXNzIFx4M2QgdGV4dHVyZTJEKCByb3VnaG5lc3NNYXAsIHZVdiApO1xuXHRyb3VnaG5lc3NGYWN0b3IgKlx4M2QgdGV4ZWxSb3VnaG5lc3MuZztcbiNlbmRpZiIscm91Z2huZXNzbWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfUk9VR0hORVNTTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIHJvdWdobmVzc01hcDtcbiNlbmRpZiIsc2hhZG93bWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfU0hBRE9XTUFQXG5cdCNpZiBOVU1fRElSX0xJR0hUX1NIQURPV1MgXHgzZSAwXG5cdFx0dW5pZm9ybSBzYW1wbGVyMkQgZGlyZWN0aW9uYWxTaGFkb3dNYXBbIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBdO1xuXHRcdHZhcnlpbmcgdmVjNCB2RGlyZWN0aW9uYWxTaGFkb3dDb29yZFsgTlVNX0RJUl9MSUdIVF9TSEFET1dTIF07XG5cdCNlbmRpZlxuXHQjaWYgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyBceDNlIDBcblx0XHR1bmlmb3JtIHNhbXBsZXIyRCBzcG90U2hhZG93TWFwWyBOVU1fU1BPVF9MSUdIVF9TSEFET1dTIF07XG5cdFx0dmFyeWluZyB2ZWM0IHZTcG90U2hhZG93Q29vcmRbIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgXTtcblx0I2VuZGlmXG5cdCNpZiBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyBceDNlIDBcblx0XHR1bmlmb3JtIHNhbXBsZXIyRCBwb2ludFNoYWRvd01hcFsgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgXTtcblx0XHR2YXJ5aW5nIHZlYzQgdlBvaW50U2hhZG93Q29vcmRbIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIF07XG5cdCNlbmRpZlxuXHRmbG9hdCB0ZXh0dXJlMkRDb21wYXJlKCBzYW1wbGVyMkQgZGVwdGhzLCB2ZWMyIHV2LCBmbG9hdCBjb21wYXJlICkge1xuXHRcdHJldHVybiBzdGVwKCBjb21wYXJlLCB1bnBhY2tSR0JBVG9EZXB0aCggdGV4dHVyZTJEKCBkZXB0aHMsIHV2ICkgKSApO1xuXHR9XG5cdHZlYzIgdGV4dHVyZTJERGlzdHJpYnV0aW9uKCBzYW1wbGVyMkQgc2hhZG93LCB2ZWMyIHV2ICkge1xuXHRcdHJldHVybiBkZWNvZGVIYWxmUkdCQSggdGV4dHVyZTJEKCBzaGFkb3csIHV2ICkgKTtcblx0fVxuXHRmbG9hdCBWU01TaGFkb3cgKHNhbXBsZXIyRCBzaGFkb3csIHZlYzIgdXYsIGZsb2F0IGNvbXBhcmUgKXtcblx0XHRmbG9hdCBvY2NsdXNpb24gXHgzZCAxLjA7XG5cdFx0dmVjMiBkaXN0cmlidXRpb24gXHgzZCB0ZXh0dXJlMkREaXN0cmlidXRpb24oIHNoYWRvdywgdXYgKTtcblx0XHRmbG9hdCBoYXJkX3NoYWRvdyBceDNkIHN0ZXAoIGNvbXBhcmUgLCBkaXN0cmlidXRpb24ueCApO1xuXHRcdGlmIChoYXJkX3NoYWRvdyAhXHgzZCAxLjAgKSB7XG5cdFx0XHRmbG9hdCBkaXN0YW5jZSBceDNkIGNvbXBhcmUgLSBkaXN0cmlidXRpb24ueCA7XG5cdFx0XHRmbG9hdCB2YXJpYW5jZSBceDNkIG1heCggMC4wMDAwMCwgZGlzdHJpYnV0aW9uLnkgKiBkaXN0cmlidXRpb24ueSApO1xuXHRcdFx0ZmxvYXQgc29mdG5lc3NfcHJvYmFiaWxpdHkgXHgzZCB2YXJpYW5jZSAvICh2YXJpYW5jZSArIGRpc3RhbmNlICogZGlzdGFuY2UgKTtcdFx0XHRzb2Z0bmVzc19wcm9iYWJpbGl0eSBceDNkIGNsYW1wKCAoIHNvZnRuZXNzX3Byb2JhYmlsaXR5IC0gMC4zICkgLyAoIDAuOTUgLSAwLjMgKSwgMC4wLCAxLjAgKTtcdFx0XHRvY2NsdXNpb24gXHgzZCBjbGFtcCggbWF4KCBoYXJkX3NoYWRvdywgc29mdG5lc3NfcHJvYmFiaWxpdHkgKSwgMC4wLCAxLjAgKTtcblx0XHR9XG5cdFx0cmV0dXJuIG9jY2x1c2lvbjtcblx0fVxuXHRmbG9hdCB0ZXh0dXJlMkRTaGFkb3dMZXJwKCBzYW1wbGVyMkQgZGVwdGhzLCB2ZWMyIHNpemUsIHZlYzIgdXYsIGZsb2F0IGNvbXBhcmUgKSB7XG5cdFx0Y29uc3QgdmVjMiBvZmZzZXQgXHgzZCB2ZWMyKCAwLjAsIDEuMCApO1xuXHRcdHZlYzIgdGV4ZWxTaXplIFx4M2QgdmVjMiggMS4wICkgLyBzaXplO1xuXHRcdHZlYzIgY2VudHJvaWRVViBceDNkICggZmxvb3IoIHV2ICogc2l6ZSAtIDAuNSApICsgMC41ICkgKiB0ZXhlbFNpemU7XG5cdFx0ZmxvYXQgbGIgXHgzZCB0ZXh0dXJlMkRDb21wYXJlKCBkZXB0aHMsIGNlbnRyb2lkVVYgKyB0ZXhlbFNpemUgKiBvZmZzZXQueHgsIGNvbXBhcmUgKTtcblx0XHRmbG9hdCBsdCBceDNkIHRleHR1cmUyRENvbXBhcmUoIGRlcHRocywgY2VudHJvaWRVViArIHRleGVsU2l6ZSAqIG9mZnNldC54eSwgY29tcGFyZSApO1xuXHRcdGZsb2F0IHJiIFx4M2QgdGV4dHVyZTJEQ29tcGFyZSggZGVwdGhzLCBjZW50cm9pZFVWICsgdGV4ZWxTaXplICogb2Zmc2V0Lnl4LCBjb21wYXJlICk7XG5cdFx0ZmxvYXQgcnQgXHgzZCB0ZXh0dXJlMkRDb21wYXJlKCBkZXB0aHMsIGNlbnRyb2lkVVYgKyB0ZXhlbFNpemUgKiBvZmZzZXQueXksIGNvbXBhcmUgKTtcblx0XHR2ZWMyIGYgXHgzZCBmcmFjdCggdXYgKiBzaXplICsgMC41ICk7XG5cdFx0ZmxvYXQgYSBceDNkIG1peCggbGIsIGx0LCBmLnkgKTtcblx0XHRmbG9hdCBiIFx4M2QgbWl4KCByYiwgcnQsIGYueSApO1xuXHRcdGZsb2F0IGMgXHgzZCBtaXgoIGEsIGIsIGYueCApO1xuXHRcdHJldHVybiBjO1xuXHR9XG5cdGZsb2F0IGdldFNoYWRvdyggc2FtcGxlcjJEIHNoYWRvd01hcCwgdmVjMiBzaGFkb3dNYXBTaXplLCBmbG9hdCBzaGFkb3dCaWFzLCBmbG9hdCBzaGFkb3dSYWRpdXMsIHZlYzQgc2hhZG93Q29vcmQgKSB7XG5cdFx0ZmxvYXQgc2hhZG93IFx4M2QgMS4wO1xuXHRcdHNoYWRvd0Nvb3JkLnh5eiAvXHgzZCBzaGFkb3dDb29yZC53O1xuXHRcdHNoYWRvd0Nvb3JkLnogK1x4M2Qgc2hhZG93Qmlhcztcblx0XHRidmVjNCBpbkZydXN0dW1WZWMgXHgzZCBidmVjNCAoIHNoYWRvd0Nvb3JkLnggXHgzZVx4M2QgMC4wLCBzaGFkb3dDb29yZC54IFx4M2NceDNkIDEuMCwgc2hhZG93Q29vcmQueSBceDNlXHgzZCAwLjAsIHNoYWRvd0Nvb3JkLnkgXHgzY1x4M2QgMS4wICk7XG5cdFx0Ym9vbCBpbkZydXN0dW0gXHgzZCBhbGwoIGluRnJ1c3R1bVZlYyApO1xuXHRcdGJ2ZWMyIGZydXN0dW1UZXN0VmVjIFx4M2QgYnZlYzIoIGluRnJ1c3R1bSwgc2hhZG93Q29vcmQueiBceDNjXHgzZCAxLjAgKTtcblx0XHRib29sIGZydXN0dW1UZXN0IFx4M2QgYWxsKCBmcnVzdHVtVGVzdFZlYyApO1xuXHRcdGlmICggZnJ1c3R1bVRlc3QgKSB7XG5cdFx0I2lmIGRlZmluZWQoIFNIQURPV01BUF9UWVBFX1BDRiApXG5cdFx0XHR2ZWMyIHRleGVsU2l6ZSBceDNkIHZlYzIoIDEuMCApIC8gc2hhZG93TWFwU2l6ZTtcblx0XHRcdGZsb2F0IGR4MCBceDNkIC0gdGV4ZWxTaXplLnggKiBzaGFkb3dSYWRpdXM7XG5cdFx0XHRmbG9hdCBkeTAgXHgzZCAtIHRleGVsU2l6ZS55ICogc2hhZG93UmFkaXVzO1xuXHRcdFx0ZmxvYXQgZHgxIFx4M2QgKyB0ZXhlbFNpemUueCAqIHNoYWRvd1JhZGl1cztcblx0XHRcdGZsb2F0IGR5MSBceDNkICsgdGV4ZWxTaXplLnkgKiBzaGFkb3dSYWRpdXM7XG5cdFx0XHRmbG9hdCBkeDIgXHgzZCBkeDAgLyAyLjA7XG5cdFx0XHRmbG9hdCBkeTIgXHgzZCBkeTAgLyAyLjA7XG5cdFx0XHRmbG9hdCBkeDMgXHgzZCBkeDEgLyAyLjA7XG5cdFx0XHRmbG9hdCBkeTMgXHgzZCBkeTEgLyAyLjA7XG5cdFx0XHRzaGFkb3cgXHgzZCAoXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDAsIGR5MCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggMC4wLCBkeTAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MSwgZHkwICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDIsIGR5MiApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggMC4wLCBkeTIgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MywgZHkyICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDAsIDAuMCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgyLCAwLjAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MywgMC4wICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDEsIDAuMCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgyLCBkeTMgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIDAuMCwgZHkzICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDMsIGR5MyApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgwLCBkeTEgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIDAuMCwgZHkxICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDEsIGR5MSApLCBzaGFkb3dDb29yZC56IClcblx0XHRcdCkgKiAoIDEuMCAvIDE3LjAgKTtcblx0XHQjZWxpZiBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9QQ0ZfU09GVCApXG5cdFx0XHR2ZWMyIHRleGVsU2l6ZSBceDNkIHZlYzIoIDEuMCApIC8gc2hhZG93TWFwU2l6ZTtcblx0XHRcdGZsb2F0IGR4MCBceDNkIC0gdGV4ZWxTaXplLnggKiBzaGFkb3dSYWRpdXM7XG5cdFx0XHRmbG9hdCBkeTAgXHgzZCAtIHRleGVsU2l6ZS55ICogc2hhZG93UmFkaXVzO1xuXHRcdFx0ZmxvYXQgZHgxIFx4M2QgKyB0ZXhlbFNpemUueCAqIHNoYWRvd1JhZGl1cztcblx0XHRcdGZsb2F0IGR5MSBceDNkICsgdGV4ZWxTaXplLnkgKiBzaGFkb3dSYWRpdXM7XG5cdFx0XHRzaGFkb3cgXHgzZCAoXG5cdFx0XHRcdHRleHR1cmUyRFNoYWRvd0xlcnAoIHNoYWRvd01hcCwgc2hhZG93TWFwU2l6ZSwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDAsIGR5MCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRTaGFkb3dMZXJwKCBzaGFkb3dNYXAsIHNoYWRvd01hcFNpemUsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggMC4wLCBkeTAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEU2hhZG93TGVycCggc2hhZG93TWFwLCBzaGFkb3dNYXBTaXplLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MSwgZHkwICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRFNoYWRvd0xlcnAoIHNoYWRvd01hcCwgc2hhZG93TWFwU2l6ZSwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDAsIDAuMCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRTaGFkb3dMZXJwKCBzaGFkb3dNYXAsIHNoYWRvd01hcFNpemUsIHNoYWRvd0Nvb3JkLnh5LCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRTaGFkb3dMZXJwKCBzaGFkb3dNYXAsIHNoYWRvd01hcFNpemUsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgxLCAwLjAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEU2hhZG93TGVycCggc2hhZG93TWFwLCBzaGFkb3dNYXBTaXplLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MCwgZHkxICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRFNoYWRvd0xlcnAoIHNoYWRvd01hcCwgc2hhZG93TWFwU2l6ZSwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCAwLjAsIGR5MSApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRTaGFkb3dMZXJwKCBzaGFkb3dNYXAsIHNoYWRvd01hcFNpemUsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgxLCBkeTEgKSwgc2hhZG93Q29vcmQueiApXG5cdFx0XHQpICogKCAxLjAgLyA5LjAgKTtcblx0XHQjZWxpZiBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9WU00gKVxuXHRcdFx0c2hhZG93IFx4M2QgVlNNU2hhZG93KCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5LCBzaGFkb3dDb29yZC56ICk7XG5cdFx0I2Vsc2Vcblx0XHRcdHNoYWRvdyBceDNkIHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHksIHNoYWRvd0Nvb3JkLnogKTtcblx0XHQjZW5kaWZcblx0XHR9XG5cdFx0cmV0dXJuIHNoYWRvdztcblx0fVxuXHR2ZWMyIGN1YmVUb1VWKCB2ZWMzIHYsIGZsb2F0IHRleGVsU2l6ZVkgKSB7XG5cdFx0dmVjMyBhYnNWIFx4M2QgYWJzKCB2ICk7XG5cdFx0ZmxvYXQgc2NhbGVUb0N1YmUgXHgzZCAxLjAgLyBtYXgoIGFic1YueCwgbWF4KCBhYnNWLnksIGFic1YueiApICk7XG5cdFx0YWJzViAqXHgzZCBzY2FsZVRvQ3ViZTtcblx0XHR2ICpceDNkIHNjYWxlVG9DdWJlICogKCAxLjAgLSAyLjAgKiB0ZXhlbFNpemVZICk7XG5cdFx0dmVjMiBwbGFuYXIgXHgzZCB2Lnh5O1xuXHRcdGZsb2F0IGFsbW9zdEFUZXhlbCBceDNkIDEuNSAqIHRleGVsU2l6ZVk7XG5cdFx0ZmxvYXQgYWxtb3N0T25lIFx4M2QgMS4wIC0gYWxtb3N0QVRleGVsO1xuXHRcdGlmICggYWJzVi56IFx4M2VceDNkIGFsbW9zdE9uZSApIHtcblx0XHRcdGlmICggdi56IFx4M2UgMC4wIClcblx0XHRcdFx0cGxhbmFyLnggXHgzZCA0LjAgLSB2Lng7XG5cdFx0fSBlbHNlIGlmICggYWJzVi54IFx4M2VceDNkIGFsbW9zdE9uZSApIHtcblx0XHRcdGZsb2F0IHNpZ25YIFx4M2Qgc2lnbiggdi54ICk7XG5cdFx0XHRwbGFuYXIueCBceDNkIHYueiAqIHNpZ25YICsgMi4wICogc2lnblg7XG5cdFx0fSBlbHNlIGlmICggYWJzVi55IFx4M2VceDNkIGFsbW9zdE9uZSApIHtcblx0XHRcdGZsb2F0IHNpZ25ZIFx4M2Qgc2lnbiggdi55ICk7XG5cdFx0XHRwbGFuYXIueCBceDNkIHYueCArIDIuMCAqIHNpZ25ZICsgMi4wO1xuXHRcdFx0cGxhbmFyLnkgXHgzZCB2LnogKiBzaWduWSAtIDIuMDtcblx0XHR9XG5cdFx0cmV0dXJuIHZlYzIoIDAuMTI1LCAwLjI1ICkgKiBwbGFuYXIgKyB2ZWMyKCAwLjM3NSwgMC43NSApO1xuXHR9XG5cdGZsb2F0IGdldFBvaW50U2hhZG93KCBzYW1wbGVyMkQgc2hhZG93TWFwLCB2ZWMyIHNoYWRvd01hcFNpemUsIGZsb2F0IHNoYWRvd0JpYXMsIGZsb2F0IHNoYWRvd1JhZGl1cywgdmVjNCBzaGFkb3dDb29yZCwgZmxvYXQgc2hhZG93Q2FtZXJhTmVhciwgZmxvYXQgc2hhZG93Q2FtZXJhRmFyICkge1xuXHRcdHZlYzIgdGV4ZWxTaXplIFx4M2QgdmVjMiggMS4wICkgLyAoIHNoYWRvd01hcFNpemUgKiB2ZWMyKCA0LjAsIDIuMCApICk7XG5cdFx0dmVjMyBsaWdodFRvUG9zaXRpb24gXHgzZCBzaGFkb3dDb29yZC54eXo7XG5cdFx0ZmxvYXQgZHAgXHgzZCAoIGxlbmd0aCggbGlnaHRUb1Bvc2l0aW9uICkgLSBzaGFkb3dDYW1lcmFOZWFyICkgLyAoIHNoYWRvd0NhbWVyYUZhciAtIHNoYWRvd0NhbWVyYU5lYXIgKTtcdFx0ZHAgK1x4M2Qgc2hhZG93Qmlhcztcblx0XHR2ZWMzIGJkM0QgXHgzZCBub3JtYWxpemUoIGxpZ2h0VG9Qb3NpdGlvbiApO1xuXHRcdCNpZiBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9QQ0YgKSB8fCBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9QQ0ZfU09GVCApIHx8IGRlZmluZWQoIFNIQURPV01BUF9UWVBFX1ZTTSApXG5cdFx0XHR2ZWMyIG9mZnNldCBceDNkIHZlYzIoIC0gMSwgMSApICogc2hhZG93UmFkaXVzICogdGV4ZWxTaXplLnk7XG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnh5eSwgdGV4ZWxTaXplLnkgKSwgZHAgKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgY3ViZVRvVVYoIGJkM0QgKyBvZmZzZXQueXl5LCB0ZXhlbFNpemUueSApLCBkcCApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCArIG9mZnNldC54eXgsIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnl5eCwgdGV4ZWxTaXplLnkgKSwgZHAgKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgY3ViZVRvVVYoIGJkM0QsIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnh4eSwgdGV4ZWxTaXplLnkgKSwgZHAgKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgY3ViZVRvVVYoIGJkM0QgKyBvZmZzZXQueXh5LCB0ZXhlbFNpemUueSApLCBkcCApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCArIG9mZnNldC54eHgsIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnl4eCwgdGV4ZWxTaXplLnkgKSwgZHAgKVxuXHRcdFx0KSAqICggMS4wIC8gOS4wICk7XG5cdFx0I2Vsc2Vcblx0XHRcdHJldHVybiB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNELCB0ZXhlbFNpemUueSApLCBkcCApO1xuXHRcdCNlbmRpZlxuXHR9XG4jZW5kaWYiLApzaGFkb3dtYXBfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfU0hBRE9XTUFQXG5cdCNpZiBOVU1fRElSX0xJR0hUX1NIQURPV1MgXHgzZSAwXG5cdFx0dW5pZm9ybSBtYXQ0IGRpcmVjdGlvbmFsU2hhZG93TWF0cml4WyBOVU1fRElSX0xJR0hUX1NIQURPV1MgXTtcblx0XHR2YXJ5aW5nIHZlYzQgdkRpcmVjdGlvbmFsU2hhZG93Q29vcmRbIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBdO1xuXHQjZW5kaWZcblx0I2lmIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgXHgzZSAwXG5cdFx0dW5pZm9ybSBtYXQ0IHNwb3RTaGFkb3dNYXRyaXhbIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgXTtcblx0XHR2YXJ5aW5nIHZlYzQgdlNwb3RTaGFkb3dDb29yZFsgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyBdO1xuXHQjZW5kaWZcblx0I2lmIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIFx4M2UgMFxuXHRcdHVuaWZvcm0gbWF0NCBwb2ludFNoYWRvd01hdHJpeFsgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgXTtcblx0XHR2YXJ5aW5nIHZlYzQgdlBvaW50U2hhZG93Q29vcmRbIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIF07XG5cdCNlbmRpZlxuI2VuZGlmIiwKc2hhZG93bWFwX3ZlcnRleDoiI2lmZGVmIFVTRV9TSEFET1dNQVBcblx0I2lmIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBceDNlIDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcFxuXHRmb3IgKCBpbnQgaSBceDNkIDA7IGkgXHgzYyBOVU1fRElSX0xJR0hUX1NIQURPV1M7IGkgKysgKSB7XG5cdFx0dkRpcmVjdGlvbmFsU2hhZG93Q29vcmRbIGkgXSBceDNkIGRpcmVjdGlvbmFsU2hhZG93TWF0cml4WyBpIF0gKiB3b3JsZFBvc2l0aW9uO1xuXHR9XG5cdCNlbmRpZlxuXHQjaWYgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyBceDNlIDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcFxuXHRmb3IgKCBpbnQgaSBceDNkIDA7IGkgXHgzYyBOVU1fU1BPVF9MSUdIVF9TSEFET1dTOyBpICsrICkge1xuXHRcdHZTcG90U2hhZG93Q29vcmRbIGkgXSBceDNkIHNwb3RTaGFkb3dNYXRyaXhbIGkgXSAqIHdvcmxkUG9zaXRpb247XG5cdH1cblx0I2VuZGlmXG5cdCNpZiBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyBceDNlIDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcFxuXHRmb3IgKCBpbnQgaSBceDNkIDA7IGkgXHgzYyBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUzsgaSArKyApIHtcblx0XHR2UG9pbnRTaGFkb3dDb29yZFsgaSBdIFx4M2QgcG9pbnRTaGFkb3dNYXRyaXhbIGkgXSAqIHdvcmxkUG9zaXRpb247XG5cdH1cblx0I2VuZGlmXG4jZW5kaWYiLApzaGFkb3dtYXNrX3BhcnNfZnJhZ21lbnQ6ImZsb2F0IGdldFNoYWRvd01hc2soKSB7XG5cdGZsb2F0IHNoYWRvdyBceDNkIDEuMDtcblx0I2lmZGVmIFVTRV9TSEFET1dNQVBcblx0I2lmIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBceDNlIDBcblx0RGlyZWN0aW9uYWxMaWdodCBkaXJlY3Rpb25hbExpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wXG5cdGZvciAoIGludCBpIFx4M2QgMDsgaSBceDNjIE5VTV9ESVJfTElHSFRfU0hBRE9XUzsgaSArKyApIHtcblx0XHRkaXJlY3Rpb25hbExpZ2h0IFx4M2QgZGlyZWN0aW9uYWxMaWdodHNbIGkgXTtcblx0XHRzaGFkb3cgKlx4M2QgYm9vbCggZGlyZWN0aW9uYWxMaWdodC5zaGFkb3cgKSA/IGdldFNoYWRvdyggZGlyZWN0aW9uYWxTaGFkb3dNYXBbIGkgXSwgZGlyZWN0aW9uYWxMaWdodC5zaGFkb3dNYXBTaXplLCBkaXJlY3Rpb25hbExpZ2h0LnNoYWRvd0JpYXMsIGRpcmVjdGlvbmFsTGlnaHQuc2hhZG93UmFkaXVzLCB2RGlyZWN0aW9uYWxTaGFkb3dDb29yZFsgaSBdICkgOiAxLjA7XG5cdH1cblx0I2VuZGlmXG5cdCNpZiBOVU1fU1BPVF9MSUdIVF9TSEFET1dTIFx4M2UgMFxuXHRTcG90TGlnaHQgc3BvdExpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wXG5cdGZvciAoIGludCBpIFx4M2QgMDsgaSBceDNjIE5VTV9TUE9UX0xJR0hUX1NIQURPV1M7IGkgKysgKSB7XG5cdFx0c3BvdExpZ2h0IFx4M2Qgc3BvdExpZ2h0c1sgaSBdO1xuXHRcdHNoYWRvdyAqXHgzZCBib29sKCBzcG90TGlnaHQuc2hhZG93ICkgPyBnZXRTaGFkb3coIHNwb3RTaGFkb3dNYXBbIGkgXSwgc3BvdExpZ2h0LnNoYWRvd01hcFNpemUsIHNwb3RMaWdodC5zaGFkb3dCaWFzLCBzcG90TGlnaHQuc2hhZG93UmFkaXVzLCB2U3BvdFNoYWRvd0Nvb3JkWyBpIF0gKSA6IDEuMDtcblx0fVxuXHQjZW5kaWZcblx0I2lmIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIFx4M2UgMFxuXHRQb2ludExpZ2h0IHBvaW50TGlnaHQ7XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bcblx0Zm9yICggaW50IGkgXHgzZCAwOyBpIFx4M2MgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1M7IGkgKysgKSB7XG5cdFx0cG9pbnRMaWdodCBceDNkIHBvaW50TGlnaHRzWyBpIF07XG5cdFx0c2hhZG93ICpceDNkIGJvb2woIHBvaW50TGlnaHQuc2hhZG93ICkgPyBnZXRQb2ludFNoYWRvdyggcG9pbnRTaGFkb3dNYXBbIGkgXSwgcG9pbnRMaWdodC5zaGFkb3dNYXBTaXplLCBwb2ludExpZ2h0LnNoYWRvd0JpYXMsIHBvaW50TGlnaHQuc2hhZG93UmFkaXVzLCB2UG9pbnRTaGFkb3dDb29yZFsgaSBdLCBwb2ludExpZ2h0LnNoYWRvd0NhbWVyYU5lYXIsIHBvaW50TGlnaHQuc2hhZG93Q2FtZXJhRmFyICkgOiAxLjA7XG5cdH1cblx0I2VuZGlmXG5cdCNlbmRpZlxuXHRyZXR1cm4gc2hhZG93O1xufSIsCnNraW5iYXNlX3ZlcnRleDoiI2lmZGVmIFVTRV9TS0lOTklOR1xuXHRtYXQ0IGJvbmVNYXRYIFx4M2QgZ2V0Qm9uZU1hdHJpeCggc2tpbkluZGV4LnggKTtcblx0bWF0NCBib25lTWF0WSBceDNkIGdldEJvbmVNYXRyaXgoIHNraW5JbmRleC55ICk7XG5cdG1hdDQgYm9uZU1hdFogXHgzZCBnZXRCb25lTWF0cml4KCBza2luSW5kZXgueiApO1xuXHRtYXQ0IGJvbmVNYXRXIFx4M2QgZ2V0Qm9uZU1hdHJpeCggc2tpbkluZGV4LncgKTtcbiNlbmRpZiIsc2tpbm5pbmdfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfU0tJTk5JTkdcblx0dW5pZm9ybSBtYXQ0IGJpbmRNYXRyaXg7XG5cdHVuaWZvcm0gbWF0NCBiaW5kTWF0cml4SW52ZXJzZTtcblx0I2lmZGVmIEJPTkVfVEVYVFVSRVxuXHRcdHVuaWZvcm0gaGlnaHAgc2FtcGxlcjJEIGJvbmVUZXh0dXJlO1xuXHRcdHVuaWZvcm0gaW50IGJvbmVUZXh0dXJlU2l6ZTtcblx0XHRtYXQ0IGdldEJvbmVNYXRyaXgoIGNvbnN0IGluIGZsb2F0IGkgKSB7XG5cdFx0XHRmbG9hdCBqIFx4M2QgaSAqIDQuMDtcblx0XHRcdGZsb2F0IHggXHgzZCBtb2QoIGosIGZsb2F0KCBib25lVGV4dHVyZVNpemUgKSApO1xuXHRcdFx0ZmxvYXQgeSBceDNkIGZsb29yKCBqIC8gZmxvYXQoIGJvbmVUZXh0dXJlU2l6ZSApICk7XG5cdFx0XHRmbG9hdCBkeCBceDNkIDEuMCAvIGZsb2F0KCBib25lVGV4dHVyZVNpemUgKTtcblx0XHRcdGZsb2F0IGR5IFx4M2QgMS4wIC8gZmxvYXQoIGJvbmVUZXh0dXJlU2l6ZSApO1xuXHRcdFx0eSBceDNkIGR5ICogKCB5ICsgMC41ICk7XG5cdFx0XHR2ZWM0IHYxIFx4M2QgdGV4dHVyZTJEKCBib25lVGV4dHVyZSwgdmVjMiggZHggKiAoIHggKyAwLjUgKSwgeSApICk7XG5cdFx0XHR2ZWM0IHYyIFx4M2QgdGV4dHVyZTJEKCBib25lVGV4dHVyZSwgdmVjMiggZHggKiAoIHggKyAxLjUgKSwgeSApICk7XG5cdFx0XHR2ZWM0IHYzIFx4M2QgdGV4dHVyZTJEKCBib25lVGV4dHVyZSwgdmVjMiggZHggKiAoIHggKyAyLjUgKSwgeSApICk7XG5cdFx0XHR2ZWM0IHY0IFx4M2QgdGV4dHVyZTJEKCBib25lVGV4dHVyZSwgdmVjMiggZHggKiAoIHggKyAzLjUgKSwgeSApICk7XG5cdFx0XHRtYXQ0IGJvbmUgXHgzZCBtYXQ0KCB2MSwgdjIsIHYzLCB2NCApO1xuXHRcdFx0cmV0dXJuIGJvbmU7XG5cdFx0fVxuXHQjZWxzZVxuXHRcdHVuaWZvcm0gbWF0NCBib25lTWF0cmljZXNbIE1BWF9CT05FUyBdO1xuXHRcdG1hdDQgZ2V0Qm9uZU1hdHJpeCggY29uc3QgaW4gZmxvYXQgaSApIHtcblx0XHRcdG1hdDQgYm9uZSBceDNkIGJvbmVNYXRyaWNlc1sgaW50KGkpIF07XG5cdFx0XHRyZXR1cm4gYm9uZTtcblx0XHR9XG5cdCNlbmRpZlxuI2VuZGlmIiwKc2tpbm5pbmdfdmVydGV4OiIjaWZkZWYgVVNFX1NLSU5OSU5HXG5cdHZlYzQgc2tpblZlcnRleCBceDNkIGJpbmRNYXRyaXggKiB2ZWM0KCB0cmFuc2Zvcm1lZCwgMS4wICk7XG5cdHZlYzQgc2tpbm5lZCBceDNkIHZlYzQoIDAuMCApO1xuXHRza2lubmVkICtceDNkIGJvbmVNYXRYICogc2tpblZlcnRleCAqIHNraW5XZWlnaHQueDtcblx0c2tpbm5lZCArXHgzZCBib25lTWF0WSAqIHNraW5WZXJ0ZXggKiBza2luV2VpZ2h0Lnk7XG5cdHNraW5uZWQgK1x4M2QgYm9uZU1hdFogKiBza2luVmVydGV4ICogc2tpbldlaWdodC56O1xuXHRza2lubmVkICtceDNkIGJvbmVNYXRXICogc2tpblZlcnRleCAqIHNraW5XZWlnaHQudztcblx0dHJhbnNmb3JtZWQgXHgzZCAoIGJpbmRNYXRyaXhJbnZlcnNlICogc2tpbm5lZCApLnh5ejtcbiNlbmRpZiIsc2tpbm5vcm1hbF92ZXJ0ZXg6IiNpZmRlZiBVU0VfU0tJTk5JTkdcblx0bWF0NCBza2luTWF0cml4IFx4M2QgbWF0NCggMC4wICk7XG5cdHNraW5NYXRyaXggK1x4M2Qgc2tpbldlaWdodC54ICogYm9uZU1hdFg7XG5cdHNraW5NYXRyaXggK1x4M2Qgc2tpbldlaWdodC55ICogYm9uZU1hdFk7XG5cdHNraW5NYXRyaXggK1x4M2Qgc2tpbldlaWdodC56ICogYm9uZU1hdFo7XG5cdHNraW5NYXRyaXggK1x4M2Qgc2tpbldlaWdodC53ICogYm9uZU1hdFc7XG5cdHNraW5NYXRyaXggIFx4M2QgYmluZE1hdHJpeEludmVyc2UgKiBza2luTWF0cml4ICogYmluZE1hdHJpeDtcblx0b2JqZWN0Tm9ybWFsIFx4M2QgdmVjNCggc2tpbk1hdHJpeCAqIHZlYzQoIG9iamVjdE5vcm1hbCwgMC4wICkgKS54eXo7XG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdG9iamVjdFRhbmdlbnQgXHgzZCB2ZWM0KCBza2luTWF0cml4ICogdmVjNCggb2JqZWN0VGFuZ2VudCwgMC4wICkgKS54eXo7XG5cdCNlbmRpZlxuI2VuZGlmIiwKc3BlY3VsYXJtYXBfZnJhZ21lbnQ6ImZsb2F0IHNwZWN1bGFyU3RyZW5ndGg7XG4jaWZkZWYgVVNFX1NQRUNVTEFSTUFQXG5cdHZlYzQgdGV4ZWxTcGVjdWxhciBceDNkIHRleHR1cmUyRCggc3BlY3VsYXJNYXAsIHZVdiApO1xuXHRzcGVjdWxhclN0cmVuZ3RoIFx4M2QgdGV4ZWxTcGVjdWxhci5yO1xuI2Vsc2Vcblx0c3BlY3VsYXJTdHJlbmd0aCBceDNkIDEuMDtcbiNlbmRpZiIsc3BlY3VsYXJtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9TUEVDVUxBUk1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBzcGVjdWxhck1hcDtcbiNlbmRpZiIsdG9uZW1hcHBpbmdfZnJhZ21lbnQ6IiNpZiBkZWZpbmVkKCBUT05FX01BUFBJTkcgKVxuXHRnbF9GcmFnQ29sb3IucmdiIFx4M2QgdG9uZU1hcHBpbmcoIGdsX0ZyYWdDb2xvci5yZ2IgKTtcbiNlbmRpZiIsdG9uZW1hcHBpbmdfcGFyc19mcmFnbWVudDoiI2lmbmRlZiBzYXR1cmF0ZVxuXHQjZGVmaW5lIHNhdHVyYXRlKGEpIGNsYW1wKCBhLCAwLjAsIDEuMCApXG4jZW5kaWZcbnVuaWZvcm0gZmxvYXQgdG9uZU1hcHBpbmdFeHBvc3VyZTtcbnVuaWZvcm0gZmxvYXQgdG9uZU1hcHBpbmdXaGl0ZVBvaW50O1xudmVjMyBMaW5lYXJUb25lTWFwcGluZyggdmVjMyBjb2xvciApIHtcblx0cmV0dXJuIHRvbmVNYXBwaW5nRXhwb3N1cmUgKiBjb2xvcjtcbn1cbnZlYzMgUmVpbmhhcmRUb25lTWFwcGluZyggdmVjMyBjb2xvciApIHtcblx0Y29sb3IgKlx4M2QgdG9uZU1hcHBpbmdFeHBvc3VyZTtcblx0cmV0dXJuIHNhdHVyYXRlKCBjb2xvciAvICggdmVjMyggMS4wICkgKyBjb2xvciApICk7XG59XG4jZGVmaW5lIFVuY2hhcnRlZDJIZWxwZXIoIHggKSBtYXgoICggKCB4ICogKCAwLjE1ICogeCArIDAuMTAgKiAwLjUwICkgKyAwLjIwICogMC4wMiApIC8gKCB4ICogKCAwLjE1ICogeCArIDAuNTAgKSArIDAuMjAgKiAwLjMwICkgKSAtIDAuMDIgLyAwLjMwLCB2ZWMzKCAwLjAgKSApXG52ZWMzIFVuY2hhcnRlZDJUb25lTWFwcGluZyggdmVjMyBjb2xvciApIHtcblx0Y29sb3IgKlx4M2QgdG9uZU1hcHBpbmdFeHBvc3VyZTtcblx0cmV0dXJuIHNhdHVyYXRlKCBVbmNoYXJ0ZWQySGVscGVyKCBjb2xvciApIC8gVW5jaGFydGVkMkhlbHBlciggdmVjMyggdG9uZU1hcHBpbmdXaGl0ZVBvaW50ICkgKSApO1xufVxudmVjMyBPcHRpbWl6ZWRDaW5lb25Ub25lTWFwcGluZyggdmVjMyBjb2xvciApIHtcblx0Y29sb3IgKlx4M2QgdG9uZU1hcHBpbmdFeHBvc3VyZTtcblx0Y29sb3IgXHgzZCBtYXgoIHZlYzMoIDAuMCApLCBjb2xvciAtIDAuMDA0ICk7XG5cdHJldHVybiBwb3coICggY29sb3IgKiAoIDYuMiAqIGNvbG9yICsgMC41ICkgKSAvICggY29sb3IgKiAoIDYuMiAqIGNvbG9yICsgMS43ICkgKyAwLjA2ICksIHZlYzMoIDIuMiApICk7XG59XG52ZWMzIEFDRVNGaWxtaWNUb25lTWFwcGluZyggdmVjMyBjb2xvciApIHtcblx0Y29sb3IgKlx4M2QgdG9uZU1hcHBpbmdFeHBvc3VyZTtcblx0cmV0dXJuIHNhdHVyYXRlKCAoIGNvbG9yICogKCAyLjUxICogY29sb3IgKyAwLjAzICkgKSAvICggY29sb3IgKiAoIDIuNDMgKiBjb2xvciArIDAuNTkgKSArIDAuMTQgKSApO1xufSIsCnV2X3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfVVZcblx0dmFyeWluZyB2ZWMyIHZVdjtcbiNlbmRpZiIsdXZfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfVVZcblx0dmFyeWluZyB2ZWMyIHZVdjtcblx0dW5pZm9ybSBtYXQzIHV2VHJhbnNmb3JtO1xuI2VuZGlmIix1dl92ZXJ0ZXg6IiNpZmRlZiBVU0VfVVZcblx0dlV2IFx4M2QgKCB1dlRyYW5zZm9ybSAqIHZlYzMoIHV2LCAxICkgKS54eTtcbiNlbmRpZiIsdXYyX3BhcnNfZnJhZ21lbnQ6IiNpZiBkZWZpbmVkKCBVU0VfTElHSFRNQVAgKSB8fCBkZWZpbmVkKCBVU0VfQU9NQVAgKVxuXHR2YXJ5aW5nIHZlYzIgdlV2MjtcbiNlbmRpZiIsdXYyX3BhcnNfdmVydGV4OiIjaWYgZGVmaW5lZCggVVNFX0xJR0hUTUFQICkgfHwgZGVmaW5lZCggVVNFX0FPTUFQIClcblx0YXR0cmlidXRlIHZlYzIgdXYyO1xuXHR2YXJ5aW5nIHZlYzIgdlV2MjtcbiNlbmRpZiIsdXYyX3ZlcnRleDoiI2lmIGRlZmluZWQoIFVTRV9MSUdIVE1BUCApIHx8IGRlZmluZWQoIFVTRV9BT01BUCApXG5cdHZVdjIgXHgzZCB1djI7XG4jZW5kaWYiLAp3b3JsZHBvc192ZXJ0ZXg6IiNpZiBkZWZpbmVkKCBVU0VfRU5WTUFQICkgfHwgZGVmaW5lZCggRElTVEFOQ0UgKSB8fCBkZWZpbmVkICggVVNFX1NIQURPV01BUCApXG5cdHZlYzQgd29ybGRQb3NpdGlvbiBceDNkIG1vZGVsTWF0cml4ICogdmVjNCggdHJhbnNmb3JtZWQsIDEuMCApO1xuI2VuZGlmIixiYWNrZ3JvdW5kX2ZyYWc6InVuaWZvcm0gc2FtcGxlcjJEIHQyRDtcbnZhcnlpbmcgdmVjMiB2VXY7XG52b2lkIG1haW4oKSB7XG5cdHZlYzQgdGV4Q29sb3IgXHgzZCB0ZXh0dXJlMkQoIHQyRCwgdlV2ICk7XG5cdGdsX0ZyYWdDb2xvciBceDNkIG1hcFRleGVsVG9MaW5lYXIoIHRleENvbG9yICk7XG5cdCNpbmNsdWRlIFx4M2N0b25lbWFwcGluZ19mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2VuY29kaW5nc19mcmFnbWVudFx4M2Vcbn0iLGJhY2tncm91bmRfdmVydDoidmFyeWluZyB2ZWMyIHZVdjtcbnVuaWZvcm0gbWF0MyB1dlRyYW5zZm9ybTtcbnZvaWQgbWFpbigpIHtcblx0dlV2IFx4M2QgKCB1dlRyYW5zZm9ybSAqIHZlYzMoIHV2LCAxICkgKS54eTtcblx0Z2xfUG9zaXRpb24gXHgzZCB2ZWM0KCBwb3NpdGlvbi54eSwgMS4wLCAxLjAgKTtcbn0iLApjdWJlX2ZyYWc6InVuaWZvcm0gc2FtcGxlckN1YmUgdEN1YmU7XG51bmlmb3JtIGZsb2F0IHRGbGlwO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xudmFyeWluZyB2ZWMzIHZXb3JsZERpcmVjdGlvbjtcbnZvaWQgbWFpbigpIHtcblx0dmVjNCB0ZXhDb2xvciBceDNkIHRleHR1cmVDdWJlKCB0Q3ViZSwgdmVjMyggdEZsaXAgKiB2V29ybGREaXJlY3Rpb24ueCwgdldvcmxkRGlyZWN0aW9uLnl6ICkgKTtcblx0Z2xfRnJhZ0NvbG9yIFx4M2QgbWFwVGV4ZWxUb0xpbmVhciggdGV4Q29sb3IgKTtcblx0Z2xfRnJhZ0NvbG9yLmEgKlx4M2Qgb3BhY2l0eTtcblx0I2luY2x1ZGUgXHgzY3RvbmVtYXBwaW5nX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZW5jb2RpbmdzX2ZyYWdtZW50XHgzZVxufSIsY3ViZV92ZXJ0OiJ2YXJ5aW5nIHZlYzMgdldvcmxkRGlyZWN0aW9uO1xuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbnZvaWQgbWFpbigpIHtcblx0dldvcmxkRGlyZWN0aW9uIFx4M2QgdHJhbnNmb3JtRGlyZWN0aW9uKCBwb3NpdGlvbiwgbW9kZWxNYXRyaXggKTtcblx0I2luY2x1ZGUgXHgzY2JlZ2luX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxuXHRnbF9Qb3NpdGlvbi56IFx4M2QgZ2xfUG9zaXRpb24udztcbn0iLApkZXB0aF9mcmFnOiIjaWYgREVQVEhfUEFDS0lORyBceDNkXHgzZCAzMjAwXG5cdHVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbiNlbmRpZlxuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2NwYWNraW5nXHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYWxwaGFtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50XHgzZVxuXHR2ZWM0IGRpZmZ1c2VDb2xvciBceDNkIHZlYzQoIDEuMCApO1xuXHQjaWYgREVQVEhfUEFDS0lORyBceDNkXHgzZCAzMjAwXG5cdFx0ZGlmZnVzZUNvbG9yLmEgXHgzZCBvcGFjaXR5O1xuXHQjZW5kaWZcblx0I2luY2x1ZGUgXHgzY21hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2FscGhhbWFwX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjYWxwaGF0ZXN0X2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfZnJhZ21lbnRceDNlXG5cdCNpZiBERVBUSF9QQUNLSU5HIFx4M2RceDNkIDMyMDBcblx0XHRnbF9GcmFnQ29sb3IgXHgzZCB2ZWM0KCB2ZWMzKCAxLjAgLSBnbF9GcmFnQ29vcmQueiApLCBvcGFjaXR5ICk7XG5cdCNlbGlmIERFUFRIX1BBQ0tJTkcgXHgzZFx4M2QgMzIwMVxuXHRcdGdsX0ZyYWdDb2xvciBceDNkIHBhY2tEZXB0aFRvUkdCQSggZ2xfRnJhZ0Nvb3JkLnogKTtcblx0I2VuZGlmXG59IiwKZGVwdGhfdmVydDoiI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2N1dl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjbW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjc2tpbm5pbmdfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjdXZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbmJhc2VfdmVydGV4XHgzZVxuXHQjaWZkZWYgVVNFX0RJU1BMQUNFTUVOVE1BUFxuXHRcdCNpbmNsdWRlIFx4M2NiZWdpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdFx0I2luY2x1ZGUgXHgzY21vcnBobm9ybWFsX3ZlcnRleFx4M2Vcblx0XHQjaW5jbHVkZSBceDNjc2tpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNlbmRpZlxuXHQjaW5jbHVkZSBceDNjYmVnaW5fdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbW9ycGh0YXJnZXRfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbm5pbmdfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjZGlzcGxhY2VtZW50bWFwX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3ZlcnRleFx4M2Vcbn0iLApkaXN0YW5jZVJHQkFfZnJhZzoiI2RlZmluZSBESVNUQU5DRVxudW5pZm9ybSB2ZWMzIHJlZmVyZW5jZVBvc2l0aW9uO1xudW5pZm9ybSBmbG9hdCBuZWFyRGlzdGFuY2U7XG51bmlmb3JtIGZsb2F0IGZhckRpc3RhbmNlO1xudmFyeWluZyB2ZWMzIHZXb3JsZFBvc2l0aW9uO1xuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2NwYWNraW5nXHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYWxwaGFtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudFx4M2VcbnZvaWQgbWFpbiAoKSB7XG5cdCNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnRceDNlXG5cdHZlYzQgZGlmZnVzZUNvbG9yIFx4M2QgdmVjNCggMS4wICk7XG5cdCNpbmNsdWRlIFx4M2NtYXBfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NhbHBoYW1hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2FscGhhdGVzdF9mcmFnbWVudFx4M2Vcblx0ZmxvYXQgZGlzdCBceDNkIGxlbmd0aCggdldvcmxkUG9zaXRpb24gLSByZWZlcmVuY2VQb3NpdGlvbiApO1xuXHRkaXN0IFx4M2QgKCBkaXN0IC0gbmVhckRpc3RhbmNlICkgLyAoIGZhckRpc3RhbmNlIC0gbmVhckRpc3RhbmNlICk7XG5cdGRpc3QgXHgzZCBzYXR1cmF0ZSggZGlzdCApO1xuXHRnbF9GcmFnQ29sb3IgXHgzZCBwYWNrRGVwdGhUb1JHQkEoIGRpc3QgKTtcbn0iLApkaXN0YW5jZVJHQkFfdmVydDoiI2RlZmluZSBESVNUQU5DRVxudmFyeWluZyB2ZWMzIHZXb3JsZFBvc2l0aW9uO1xuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2N1dl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjbW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjc2tpbm5pbmdfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjdXZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbmJhc2VfdmVydGV4XHgzZVxuXHQjaWZkZWYgVVNFX0RJU1BMQUNFTUVOVE1BUFxuXHRcdCNpbmNsdWRlIFx4M2NiZWdpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdFx0I2luY2x1ZGUgXHgzY21vcnBobm9ybWFsX3ZlcnRleFx4M2Vcblx0XHQjaW5jbHVkZSBceDNjc2tpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNlbmRpZlxuXHQjaW5jbHVkZSBceDNjYmVnaW5fdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbW9ycGh0YXJnZXRfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbm5pbmdfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjZGlzcGxhY2VtZW50bWFwX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjd29ybGRwb3NfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3ZlcnRleFx4M2Vcblx0dldvcmxkUG9zaXRpb24gXHgzZCB3b3JsZFBvc2l0aW9uLnh5ejtcbn0iLAplcXVpcmVjdF9mcmFnOiJ1bmlmb3JtIHNhbXBsZXIyRCB0RXF1aXJlY3Q7XG52YXJ5aW5nIHZlYzMgdldvcmxkRGlyZWN0aW9uO1xuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbnZvaWQgbWFpbigpIHtcblx0dmVjMyBkaXJlY3Rpb24gXHgzZCBub3JtYWxpemUoIHZXb3JsZERpcmVjdGlvbiApO1xuXHR2ZWMyIHNhbXBsZVVWO1xuXHRzYW1wbGVVVi55IFx4M2QgYXNpbiggY2xhbXAoIGRpcmVjdGlvbi55LCAtIDEuMCwgMS4wICkgKSAqIFJFQ0lQUk9DQUxfUEkgKyAwLjU7XG5cdHNhbXBsZVVWLnggXHgzZCBhdGFuKCBkaXJlY3Rpb24ueiwgZGlyZWN0aW9uLnggKSAqIFJFQ0lQUk9DQUxfUEkyICsgMC41O1xuXHR2ZWM0IHRleENvbG9yIFx4M2QgdGV4dHVyZTJEKCB0RXF1aXJlY3QsIHNhbXBsZVVWICk7XG5cdGdsX0ZyYWdDb2xvciBceDNkIG1hcFRleGVsVG9MaW5lYXIoIHRleENvbG9yICk7XG5cdCNpbmNsdWRlIFx4M2N0b25lbWFwcGluZ19mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2VuY29kaW5nc19mcmFnbWVudFx4M2Vcbn0iLAplcXVpcmVjdF92ZXJ0OiJ2YXJ5aW5nIHZlYzMgdldvcmxkRGlyZWN0aW9uO1xuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbnZvaWQgbWFpbigpIHtcblx0dldvcmxkRGlyZWN0aW9uIFx4M2QgdHJhbnNmb3JtRGlyZWN0aW9uKCBwb3NpdGlvbiwgbW9kZWxNYXRyaXggKTtcblx0I2luY2x1ZGUgXHgzY2JlZ2luX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxufSIsbGluZWRhc2hlZF9mcmFnOiJ1bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbnVuaWZvcm0gZmxvYXQgZGFzaFNpemU7XG51bmlmb3JtIGZsb2F0IHRvdGFsU2l6ZTtcbnZhcnlpbmcgZmxvYXQgdkxpbmVEaXN0YW5jZTtcbiNpbmNsdWRlIFx4M2Njb21tb25ceDNlXG4jaW5jbHVkZSBceDNjY29sb3JfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nmb2dfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50XHgzZVxuXHRpZiAoIG1vZCggdkxpbmVEaXN0YW5jZSwgdG90YWxTaXplICkgXHgzZSBkYXNoU2l6ZSApIHtcblx0XHRkaXNjYXJkO1xuXHR9XG5cdHZlYzMgb3V0Z29pbmdMaWdodCBceDNkIHZlYzMoIDAuMCApO1xuXHR2ZWM0IGRpZmZ1c2VDb2xvciBceDNkIHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0I2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjY29sb3JfZnJhZ21lbnRceDNlXG5cdG91dGdvaW5nTGlnaHQgXHgzZCBkaWZmdXNlQ29sb3IucmdiO1xuXHRnbF9GcmFnQ29sb3IgXHgzZCB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSBceDNjcHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY3RvbmVtYXBwaW5nX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZW5jb2RpbmdzX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZm9nX2ZyYWdtZW50XHgzZVxufSIsCmxpbmVkYXNoZWRfdmVydDoidW5pZm9ybSBmbG9hdCBzY2FsZTtcbmF0dHJpYnV0ZSBmbG9hdCBsaW5lRGlzdGFuY2U7XG52YXJ5aW5nIGZsb2F0IHZMaW5lRGlzdGFuY2U7XG4jaW5jbHVkZSBceDNjY29tbW9uXHgzZVxuI2luY2x1ZGUgXHgzY2NvbG9yX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2ZvZ19wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXhceDNlXG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIFx4M2Njb2xvcl92ZXJ0ZXhceDNlXG5cdHZMaW5lRGlzdGFuY2UgXHgzZCBzY2FsZSAqIGxpbmVEaXN0YW5jZTtcblx0dmVjNCBtdlBvc2l0aW9uIFx4M2QgbW9kZWxWaWV3TWF0cml4ICogdmVjNCggcG9zaXRpb24sIDEuMCApO1xuXHRnbF9Qb3NpdGlvbiBceDNkIHByb2plY3Rpb25NYXRyaXggKiBtdlBvc2l0aW9uO1xuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2ZvZ192ZXJ0ZXhceDNlXG59IiwKbWVzaGJhc2ljX2ZyYWc6InVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcbiNlbmRpZlxuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2Njb2xvcl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjdXYyX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYWxwaGFtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nhb21hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2xpZ2h0bWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZW52bWFwX2NvbW1vbl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2Vudm1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2ZvZ19wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY3NwZWN1bGFybWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudFx4M2VcbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19mcmFnbWVudFx4M2Vcblx0dmVjNCBkaWZmdXNlQ29sb3IgXHgzZCB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdCNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY21hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2NvbG9yX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjYWxwaGFtYXBfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NhbHBoYXRlc3RfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NzcGVjdWxhcm1hcF9mcmFnbWVudFx4M2Vcblx0UmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgXHgzZCBSZWZsZWN0ZWRMaWdodCggdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICkgKTtcblx0I2lmZGVmIFVTRV9MSUdIVE1BUFxuXHRcdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArXHgzZCB0ZXh0dXJlMkQoIGxpZ2h0TWFwLCB2VXYyICkueHl6ICogbGlnaHRNYXBJbnRlbnNpdHk7XG5cdCNlbHNlXG5cdFx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICtceDNkIHZlYzMoIDEuMCApO1xuXHQjZW5kaWZcblx0I2luY2x1ZGUgXHgzY2FvbWFwX2ZyYWdtZW50XHgzZVxuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKlx4M2QgZGlmZnVzZUNvbG9yLnJnYjtcblx0dmVjMyBvdXRnb2luZ0xpZ2h0IFx4M2QgcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlO1xuXHQjaW5jbHVkZSBceDNjZW52bWFwX2ZyYWdtZW50XHgzZVxuXHRnbF9GcmFnQ29sb3IgXHgzZCB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSBceDNjcHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY3RvbmVtYXBwaW5nX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZW5jb2RpbmdzX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZm9nX2ZyYWdtZW50XHgzZVxufSIsCm1lc2hiYXNpY192ZXJ0OiIjaW5jbHVkZSBceDNjY29tbW9uXHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3V2Ml9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NlbnZtYXBfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjY29sb3JfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3NraW5uaW5nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleFx4M2VcbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgXHgzY3V2X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3V2Ml92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Njb2xvcl92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nza2luYmFzZV92ZXJ0ZXhceDNlXG5cdCNpZmRlZiBVU0VfRU5WTUFQXG5cdCNpbmNsdWRlIFx4M2NiZWdpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Ntb3JwaG5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nza2lubm9ybWFsX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2RlZmF1bHRub3JtYWxfdmVydGV4XHgzZVxuXHQjZW5kaWZcblx0I2luY2x1ZGUgXHgzY2JlZ2luX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3NraW5uaW5nX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjd29ybGRwb3NfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2Vudm1hcF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nmb2dfdmVydGV4XHgzZVxufSIsCm1lc2hsYW1iZXJ0X2ZyYWc6InVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSB2ZWMzIGVtaXNzaXZlO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xudmFyeWluZyB2ZWMzIHZMaWdodEZyb250O1xudmFyeWluZyB2ZWMzIHZJbmRpcmVjdEZyb250O1xuI2lmZGVmIERPVUJMRV9TSURFRFxuXHR2YXJ5aW5nIHZlYzMgdkxpZ2h0QmFjaztcblx0dmFyeWluZyB2ZWMzIHZJbmRpcmVjdEJhY2s7XG4jZW5kaWZcbiNpbmNsdWRlIFx4M2Njb21tb25ceDNlXG4jaW5jbHVkZSBceDNjcGFja2luZ1x4M2VcbiNpbmNsdWRlIFx4M2NkaXRoZXJpbmdfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Njb2xvcl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjdXYyX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYWxwaGFtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nhb21hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2xpZ2h0bWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZW1pc3NpdmVtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NlbnZtYXBfY29tbW9uX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZW52bWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYnNkZnNceDNlXG4jaW5jbHVkZSBceDNjbGlnaHRzX3BhcnNfYmVnaW5ceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjc2hhZG93bWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjc2hhZG93bWFza19wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY3NwZWN1bGFybWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudFx4M2VcbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19mcmFnbWVudFx4M2Vcblx0dmVjNCBkaWZmdXNlQ29sb3IgXHgzZCB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0IFx4M2QgUmVmbGVjdGVkTGlnaHQoIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICksIHZlYzMoIDAuMCApICk7XG5cdHZlYzMgdG90YWxFbWlzc2l2ZVJhZGlhbmNlIFx4M2QgZW1pc3NpdmU7XG5cdCNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY21hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2NvbG9yX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjYWxwaGFtYXBfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NhbHBoYXRlc3RfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NzcGVjdWxhcm1hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2VtaXNzaXZlbWFwX2ZyYWdtZW50XHgzZVxuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgXHgzZCBnZXRBbWJpZW50TGlnaHRJcnJhZGlhbmNlKCBhbWJpZW50TGlnaHRDb2xvciApO1xuXHQjaWZkZWYgRE9VQkxFX1NJREVEXG5cdFx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICtceDNkICggZ2xfRnJvbnRGYWNpbmcgKSA/IHZJbmRpcmVjdEZyb250IDogdkluZGlyZWN0QmFjaztcblx0I2Vsc2Vcblx0XHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgK1x4M2QgdkluZGlyZWN0RnJvbnQ7XG5cdCNlbmRpZlxuXHQjaW5jbHVkZSBceDNjbGlnaHRtYXBfZnJhZ21lbnRceDNlXG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSAqXHgzZCBCUkRGX0RpZmZ1c2VfTGFtYmVydCggZGlmZnVzZUNvbG9yLnJnYiApO1xuXHQjaWZkZWYgRE9VQkxFX1NJREVEXG5cdFx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSBceDNkICggZ2xfRnJvbnRGYWNpbmcgKSA/IHZMaWdodEZyb250IDogdkxpZ2h0QmFjaztcblx0I2Vsc2Vcblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlIFx4M2QgdkxpZ2h0RnJvbnQ7XG5cdCNlbmRpZlxuXHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICpceDNkIEJSREZfRGlmZnVzZV9MYW1iZXJ0KCBkaWZmdXNlQ29sb3IucmdiICkgKiBnZXRTaGFkb3dNYXNrKCk7XG5cdCNpbmNsdWRlIFx4M2Nhb21hcF9mcmFnbWVudFx4M2Vcblx0dmVjMyBvdXRnb2luZ0xpZ2h0IFx4M2QgcmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSArIHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArIHRvdGFsRW1pc3NpdmVSYWRpYW5jZTtcblx0I2luY2x1ZGUgXHgzY2Vudm1hcF9mcmFnbWVudFx4M2Vcblx0Z2xfRnJhZ0NvbG9yIFx4M2QgdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgXHgzY3RvbmVtYXBwaW5nX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZW5jb2RpbmdzX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZm9nX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjcHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2RpdGhlcmluZ19mcmFnbWVudFx4M2Vcbn0iLAptZXNobGFtYmVydF92ZXJ0OiIjZGVmaW5lIExBTUJFUlRcbnZhcnlpbmcgdmVjMyB2TGlnaHRGcm9udDtcbnZhcnlpbmcgdmVjMyB2SW5kaXJlY3RGcm9udDtcbiNpZmRlZiBET1VCTEVfU0lERURcblx0dmFyeWluZyB2ZWMzIHZMaWdodEJhY2s7XG5cdHZhcnlpbmcgdmVjMyB2SW5kaXJlY3RCYWNrO1xuI2VuZGlmXG4jaW5jbHVkZSBceDNjY29tbW9uXHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3V2Ml9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NlbnZtYXBfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjYnNkZnNceDNlXG4jaW5jbHVkZSBceDNjbGlnaHRzX3BhcnNfYmVnaW5ceDNlXG4jaW5jbHVkZSBceDNjY29sb3JfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3NraW5uaW5nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3NoYWRvd21hcF9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXhceDNlXG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIFx4M2N1dl92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2N1djJfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY29sb3JfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjYmVnaW5ub3JtYWxfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbW9ycGhub3JtYWxfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbmJhc2VfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NkZWZhdWx0bm9ybWFsX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2JlZ2luX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3NraW5uaW5nX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3dvcmxkcG9zX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2Vudm1hcF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NsaWdodHNfbGFtYmVydF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NzaGFkb3dtYXBfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjZm9nX3ZlcnRleFx4M2Vcbn0iLAptZXNobWF0Y2FwX2ZyYWc6IiNkZWZpbmUgTUFUQ0FQXG51bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbnVuaWZvcm0gc2FtcGxlcjJEIG1hdGNhcDtcbnZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcbiNlbmRpZlxuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2N1dl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY21hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2FscGhhbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYnVtcG1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY25vcm1hbG1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3BhcnNfZnJhZ21lbnRceDNlXG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnRceDNlXG5cdHZlYzQgZGlmZnVzZUNvbG9yIFx4M2QgdmVjNCggZGlmZnVzZSwgb3BhY2l0eSApO1xuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NtYXBfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NhbHBoYW1hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2FscGhhdGVzdF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY25vcm1hbF9mcmFnbWVudF9iZWdpblx4M2Vcblx0I2luY2x1ZGUgXHgzY25vcm1hbF9mcmFnbWVudF9tYXBzXHgzZVxuXHR2ZWMzIHZpZXdEaXIgXHgzZCBub3JtYWxpemUoIHZWaWV3UG9zaXRpb24gKTtcblx0dmVjMyB4IFx4M2Qgbm9ybWFsaXplKCB2ZWMzKCB2aWV3RGlyLnosIDAuMCwgLSB2aWV3RGlyLnggKSApO1xuXHR2ZWMzIHkgXHgzZCBjcm9zcyggdmlld0RpciwgeCApO1xuXHR2ZWMyIHV2IFx4M2QgdmVjMiggZG90KCB4LCBub3JtYWwgKSwgZG90KCB5LCBub3JtYWwgKSApICogMC40OTUgKyAwLjU7XG5cdCNpZmRlZiBVU0VfTUFUQ0FQXG5cdFx0dmVjNCBtYXRjYXBDb2xvciBceDNkIHRleHR1cmUyRCggbWF0Y2FwLCB1diApO1xuXHRcdG1hdGNhcENvbG9yIFx4M2QgbWF0Y2FwVGV4ZWxUb0xpbmVhciggbWF0Y2FwQ29sb3IgKTtcblx0I2Vsc2Vcblx0XHR2ZWM0IG1hdGNhcENvbG9yIFx4M2QgdmVjNCggMS4wICk7XG5cdCNlbmRpZlxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgXHgzZCBkaWZmdXNlQ29sb3IucmdiICogbWF0Y2FwQ29sb3IucmdiO1xuXHRnbF9GcmFnQ29sb3IgXHgzZCB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSBceDNjcHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY3RvbmVtYXBwaW5nX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZW5jb2RpbmdzX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZm9nX2ZyYWdtZW50XHgzZVxufSIsCm1lc2htYXRjYXBfdmVydDoiI2RlZmluZSBNQVRDQVBcbnZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcbiNlbmRpZlxuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2N1dl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3NraW5uaW5nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleFx4M2VcbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgXHgzY3V2X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2JlZ2lubm9ybWFsX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY21vcnBobm9ybWFsX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3NraW5iYXNlX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3NraW5ub3JtYWxfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjZGVmYXVsdG5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNpZm5kZWYgRkxBVF9TSEFERURcblx0XHR2Tm9ybWFsIFx4M2Qgbm9ybWFsaXplKCB0cmFuc2Zvcm1lZE5vcm1hbCApO1xuXHQjZW5kaWZcblx0I2luY2x1ZGUgXHgzY2JlZ2luX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3NraW5uaW5nX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2Rpc3BsYWNlbWVudG1hcF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nwcm9qZWN0X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc192ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nmb2dfdmVydGV4XHgzZVxuXHR2Vmlld1Bvc2l0aW9uIFx4M2QgLSBtdlBvc2l0aW9uLnh5ejtcbn0iLAptZXNocGhvbmdfZnJhZzoiI2RlZmluZSBQSE9OR1xudW5pZm9ybSB2ZWMzIGRpZmZ1c2U7XG51bmlmb3JtIHZlYzMgZW1pc3NpdmU7XG51bmlmb3JtIHZlYzMgc3BlY3VsYXI7XG51bmlmb3JtIGZsb2F0IHNoaW5pbmVzcztcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbiNpbmNsdWRlIFx4M2Njb21tb25ceDNlXG4jaW5jbHVkZSBceDNjcGFja2luZ1x4M2VcbiNpbmNsdWRlIFx4M2NkaXRoZXJpbmdfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Njb2xvcl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjdXYyX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYWxwaGFtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nhb21hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2xpZ2h0bWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZW1pc3NpdmVtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NlbnZtYXBfY29tbW9uX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZW52bWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZ3JhZGllbnRtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nmb2dfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nic2Rmc1x4M2VcbiNpbmNsdWRlIFx4M2NsaWdodHNfcGFyc19iZWdpblx4M2VcbiNpbmNsdWRlIFx4M2NsaWdodHNfcGhvbmdfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NzaGFkb3dtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NidW1wbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbm9ybWFsbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjc3BlY3VsYXJtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50XHgzZVxuXHR2ZWM0IGRpZmZ1c2VDb2xvciBceDNkIHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0UmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgXHgzZCBSZWZsZWN0ZWRMaWdodCggdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICkgKTtcblx0dmVjMyB0b3RhbEVtaXNzaXZlUmFkaWFuY2UgXHgzZCBlbWlzc2l2ZTtcblx0I2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjbWFwX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjY29sb3JfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NhbHBoYW1hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2FscGhhdGVzdF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY3NwZWN1bGFybWFwX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjbm9ybWFsX2ZyYWdtZW50X2JlZ2luXHgzZVxuXHQjaW5jbHVkZSBceDNjbm9ybWFsX2ZyYWdtZW50X21hcHNceDNlXG5cdCNpbmNsdWRlIFx4M2NlbWlzc2l2ZW1hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2xpZ2h0c19waG9uZ19mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2xpZ2h0c19mcmFnbWVudF9iZWdpblx4M2Vcblx0I2luY2x1ZGUgXHgzY2xpZ2h0c19mcmFnbWVudF9tYXBzXHgzZVxuXHQjaW5jbHVkZSBceDNjbGlnaHRzX2ZyYWdtZW50X2VuZFx4M2Vcblx0I2luY2x1ZGUgXHgzY2FvbWFwX2ZyYWdtZW50XHgzZVxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgXHgzZCByZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICsgcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICsgcmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgKyByZWZsZWN0ZWRMaWdodC5pbmRpcmVjdFNwZWN1bGFyICsgdG90YWxFbWlzc2l2ZVJhZGlhbmNlO1xuXHQjaW5jbHVkZSBceDNjZW52bWFwX2ZyYWdtZW50XHgzZVxuXHRnbF9GcmFnQ29sb3IgXHgzZCB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSBceDNjdG9uZW1hcHBpbmdfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NlbmNvZGluZ3NfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2Nmb2dfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZGl0aGVyaW5nX2ZyYWdtZW50XHgzZVxufSIsCm1lc2hwaG9uZ192ZXJ0OiIjZGVmaW5lIFBIT05HXG52YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG4jZW5kaWZcbiNpbmNsdWRlIFx4M2Njb21tb25ceDNlXG4jaW5jbHVkZSBceDNjdXZfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjdXYyX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2Rpc3BsYWNlbWVudG1hcF9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NlbnZtYXBfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjY29sb3JfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3NraW5uaW5nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3NoYWRvd21hcF9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXhceDNlXG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIFx4M2N1dl92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2N1djJfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY29sb3JfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjYmVnaW5ub3JtYWxfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbW9ycGhub3JtYWxfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbmJhc2VfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NkZWZhdWx0bm9ybWFsX3ZlcnRleFx4M2VcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dk5vcm1hbCBceDNkIG5vcm1hbGl6ZSggdHJhbnNmb3JtZWROb3JtYWwgKTtcbiNlbmRpZlxuXHQjaW5jbHVkZSBceDNjYmVnaW5fdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbW9ycGh0YXJnZXRfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbm5pbmdfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjZGlzcGxhY2VtZW50bWFwX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3ZlcnRleFx4M2Vcblx0dlZpZXdQb3NpdGlvbiBceDNkIC0gbXZQb3NpdGlvbi54eXo7XG5cdCNpbmNsdWRlIFx4M2N3b3JsZHBvc192ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NlbnZtYXBfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2hhZG93bWFwX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2ZvZ192ZXJ0ZXhceDNlXG59IiwKbWVzaHBoeXNpY2FsX2ZyYWc6IiNkZWZpbmUgU1RBTkRBUkRcbiNpZmRlZiBQSFlTSUNBTFxuXHQjZGVmaW5lIFJFRkxFQ1RJVklUWVxuXHQjZGVmaW5lIENMRUFSQ09BVFxuXHQjZGVmaW5lIFRSQU5TUEFSRU5DWVxuI2VuZGlmXG51bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gdmVjMyBlbWlzc2l2ZTtcbnVuaWZvcm0gZmxvYXQgcm91Z2huZXNzO1xudW5pZm9ybSBmbG9hdCBtZXRhbG5lc3M7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaWZkZWYgVFJBTlNQQVJFTkNZXG5cdHVuaWZvcm0gZmxvYXQgdHJhbnNwYXJlbmN5O1xuI2VuZGlmXG4jaWZkZWYgUkVGTEVDVElWSVRZXG5cdHVuaWZvcm0gZmxvYXQgcmVmbGVjdGl2aXR5O1xuI2VuZGlmXG4jaWZkZWYgQ0xFQVJDT0FUXG5cdHVuaWZvcm0gZmxvYXQgY2xlYXJjb2F0O1xuXHR1bmlmb3JtIGZsb2F0IGNsZWFyY29hdFJvdWdobmVzcztcbiNlbmRpZlxuI2lmZGVmIFVTRV9TSEVFTlxuXHR1bmlmb3JtIHZlYzMgc2hlZW47XG4jZW5kaWZcbnZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dmFyeWluZyB2ZWMzIHZUYW5nZW50O1xuXHRcdHZhcnlpbmcgdmVjMyB2Qml0YW5nZW50O1xuXHQjZW5kaWZcbiNlbmRpZlxuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2NwYWNraW5nXHgzZVxuI2luY2x1ZGUgXHgzY2RpdGhlcmluZ19wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2NvbG9yX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjdXZfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2N1djJfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NhbHBoYW1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2FvbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbGlnaHRtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NlbWlzc2l2ZW1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2JzZGZzXHgzZVxuI2luY2x1ZGUgXHgzY2N1YmVfdXZfcmVmbGVjdGlvbl9mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NlbnZtYXBfY29tbW9uX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZW52bWFwX3BoeXNpY2FsX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbGlnaHRzX3BhcnNfYmVnaW5ceDNlXG4jaW5jbHVkZSBceDNjbGlnaHRzX3BoeXNpY2FsX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjc2hhZG93bWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYnVtcG1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY25vcm1hbG1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2NsZWFyY29hdF9ub3JtYWxtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nyb3VnaG5lc3NtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NtZXRhbG5lc3NtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50XHgzZVxuXHR2ZWM0IGRpZmZ1c2VDb2xvciBceDNkIHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0UmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgXHgzZCBSZWZsZWN0ZWRMaWdodCggdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICkgKTtcblx0dmVjMyB0b3RhbEVtaXNzaXZlUmFkaWFuY2UgXHgzZCBlbWlzc2l2ZTtcblx0I2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjbWFwX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjY29sb3JfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NhbHBoYW1hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2FscGhhdGVzdF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY3JvdWdobmVzc21hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY21ldGFsbmVzc21hcF9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY25vcm1hbF9mcmFnbWVudF9iZWdpblx4M2Vcblx0I2luY2x1ZGUgXHgzY25vcm1hbF9mcmFnbWVudF9tYXBzXHgzZVxuXHQjaW5jbHVkZSBceDNjY2xlYXJjb2F0X25vcm1hbF9mcmFnbWVudF9iZWdpblx4M2Vcblx0I2luY2x1ZGUgXHgzY2NsZWFyY29hdF9ub3JtYWxfZnJhZ21lbnRfbWFwc1x4M2Vcblx0I2luY2x1ZGUgXHgzY2VtaXNzaXZlbWFwX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjbGlnaHRzX3BoeXNpY2FsX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjbGlnaHRzX2ZyYWdtZW50X2JlZ2luXHgzZVxuXHQjaW5jbHVkZSBceDNjbGlnaHRzX2ZyYWdtZW50X21hcHNceDNlXG5cdCNpbmNsdWRlIFx4M2NsaWdodHNfZnJhZ21lbnRfZW5kXHgzZVxuXHQjaW5jbHVkZSBceDNjYW9tYXBfZnJhZ21lbnRceDNlXG5cdHZlYzMgb3V0Z29pbmdMaWdodCBceDNkIHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgKyByZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKyByZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArIHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0U3BlY3VsYXIgKyB0b3RhbEVtaXNzaXZlUmFkaWFuY2U7XG5cdCNpZmRlZiBUUkFOU1BBUkVOQ1lcblx0XHRkaWZmdXNlQ29sb3IuYSAqXHgzZCBzYXR1cmF0ZSggMS4gLSB0cmFuc3BhcmVuY3kgKyBsaW5lYXJUb1JlbGF0aXZlTHVtaW5hbmNlKCByZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArIHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0U3BlY3VsYXIgKSApO1xuXHQjZW5kaWZcblx0Z2xfRnJhZ0NvbG9yIFx4M2QgdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgXHgzY3RvbmVtYXBwaW5nX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZW5jb2RpbmdzX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjZm9nX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjcHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2RpdGhlcmluZ19mcmFnbWVudFx4M2Vcbn0iLAptZXNocGh5c2ljYWxfdmVydDoiI2RlZmluZSBTVEFOREFSRFxudmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHR2YXJ5aW5nIHZlYzMgdlRhbmdlbnQ7XG5cdFx0dmFyeWluZyB2ZWMzIHZCaXRhbmdlbnQ7XG5cdCNlbmRpZlxuI2VuZGlmXG4jaW5jbHVkZSBceDNjY29tbW9uXHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3V2Ml9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjY29sb3JfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3NraW5uaW5nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY3NoYWRvd21hcF9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXhceDNlXG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIFx4M2N1dl92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2N1djJfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY29sb3JfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjYmVnaW5ub3JtYWxfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjbW9ycGhub3JtYWxfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbmJhc2VfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjc2tpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NkZWZhdWx0bm9ybWFsX3ZlcnRleFx4M2VcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dk5vcm1hbCBceDNkIG5vcm1hbGl6ZSggdHJhbnNmb3JtZWROb3JtYWwgKTtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dlRhbmdlbnQgXHgzZCBub3JtYWxpemUoIHRyYW5zZm9ybWVkVGFuZ2VudCApO1xuXHRcdHZCaXRhbmdlbnQgXHgzZCBub3JtYWxpemUoIGNyb3NzKCB2Tm9ybWFsLCB2VGFuZ2VudCApICogdGFuZ2VudC53ICk7XG5cdCNlbmRpZlxuI2VuZGlmXG5cdCNpbmNsdWRlIFx4M2NiZWdpbl92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Ntb3JwaHRhcmdldF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nza2lubmluZ192ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NkaXNwbGFjZW1lbnRtYXBfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjcHJvamVjdF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfdmVydGV4XHgzZVxuXHR2Vmlld1Bvc2l0aW9uIFx4M2QgLSBtdlBvc2l0aW9uLnh5ejtcblx0I2luY2x1ZGUgXHgzY3dvcmxkcG9zX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3NoYWRvd21hcF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nmb2dfdmVydGV4XHgzZVxufSIsCm5vcm1hbF9mcmFnOiIjZGVmaW5lIE5PUk1BTFxudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2lmIGRlZmluZWQoIEZMQVRfU0hBREVEICkgfHwgZGVmaW5lZCggVVNFX0JVTVBNQVAgKSB8fCBkZWZpbmVkKCBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQIClcblx0dmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jZW5kaWZcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdHZhcnlpbmcgdmVjMyB2VGFuZ2VudDtcblx0XHR2YXJ5aW5nIHZlYzMgdkJpdGFuZ2VudDtcblx0I2VuZGlmXG4jZW5kaWZcbiNpbmNsdWRlIFx4M2NwYWNraW5nXHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjYnVtcG1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY25vcm1hbG1hcF9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3BhcnNfZnJhZ21lbnRceDNlXG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY25vcm1hbF9mcmFnbWVudF9iZWdpblx4M2Vcblx0I2luY2x1ZGUgXHgzY25vcm1hbF9mcmFnbWVudF9tYXBzXHgzZVxuXHRnbF9GcmFnQ29sb3IgXHgzZCB2ZWM0KCBwYWNrTm9ybWFsVG9SR0IoIG5vcm1hbCApLCBvcGFjaXR5ICk7XG59IiwKbm9ybWFsX3ZlcnQ6IiNkZWZpbmUgTk9STUFMXG4jaWYgZGVmaW5lZCggRkxBVF9TSEFERUQgKSB8fCBkZWZpbmVkKCBVU0VfQlVNUE1BUCApIHx8IGRlZmluZWQoIFRBTkdFTlRTUEFDRV9OT1JNQUxNQVAgKVxuXHR2YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNlbmRpZlxuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dmFyeWluZyB2ZWMzIHZUYW5nZW50O1xuXHRcdHZhcnlpbmcgdmVjMyB2Qml0YW5nZW50O1xuXHQjZW5kaWZcbiNlbmRpZlxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2Rpc3BsYWNlbWVudG1hcF9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2Ntb3JwaHRhcmdldF9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2Nza2lubmluZ19wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXhceDNlXG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIFx4M2N1dl92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NiZWdpbm5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Ntb3JwaG5vcm1hbF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nza2luYmFzZV92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nza2lubm9ybWFsX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2RlZmF1bHRub3JtYWxfdmVydGV4XHgzZVxuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2Tm9ybWFsIFx4M2Qgbm9ybWFsaXplKCB0cmFuc2Zvcm1lZE5vcm1hbCApO1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHR2VGFuZ2VudCBceDNkIG5vcm1hbGl6ZSggdHJhbnNmb3JtZWRUYW5nZW50ICk7XG5cdFx0dkJpdGFuZ2VudCBceDNkIG5vcm1hbGl6ZSggY3Jvc3MoIHZOb3JtYWwsIHZUYW5nZW50ICkgKiB0YW5nZW50LncgKTtcblx0I2VuZGlmXG4jZW5kaWZcblx0I2luY2x1ZGUgXHgzY2JlZ2luX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3NraW5uaW5nX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2Rpc3BsYWNlbWVudG1hcF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2Nwcm9qZWN0X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc192ZXJ0ZXhceDNlXG4jaWYgZGVmaW5lZCggRkxBVF9TSEFERUQgKSB8fCBkZWZpbmVkKCBVU0VfQlVNUE1BUCApIHx8IGRlZmluZWQoIFRBTkdFTlRTUEFDRV9OT1JNQUxNQVAgKVxuXHR2Vmlld1Bvc2l0aW9uIFx4M2QgLSBtdlBvc2l0aW9uLnh5ejtcbiNlbmRpZlxufSIsCnBvaW50c19mcmFnOiJ1bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbiNpbmNsdWRlIFx4M2Njb21tb25ceDNlXG4jaW5jbHVkZSBceDNjY29sb3JfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NtYXBfcGFydGljbGVfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nmb2dfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50XHgzZVxuI2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50XHgzZVxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgXHgzZCB2ZWMzKCAwLjAgKTtcblx0dmVjNCBkaWZmdXNlQ29sb3IgXHgzZCB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdCNpbmNsdWRlIFx4M2Nsb2dkZXB0aGJ1Zl9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY21hcF9wYXJ0aWNsZV9mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2NvbG9yX2ZyYWdtZW50XHgzZVxuXHQjaW5jbHVkZSBceDNjYWxwaGF0ZXN0X2ZyYWdtZW50XHgzZVxuXHRvdXRnb2luZ0xpZ2h0IFx4M2QgZGlmZnVzZUNvbG9yLnJnYjtcblx0Z2xfRnJhZ0NvbG9yIFx4M2QgdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgXHgzY3ByZW11bHRpcGxpZWRfYWxwaGFfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2N0b25lbWFwcGluZ19mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2VuY29kaW5nc19mcmFnbWVudFx4M2Vcblx0I2luY2x1ZGUgXHgzY2ZvZ19mcmFnbWVudFx4M2Vcbn0iLApwb2ludHNfdmVydDoidW5pZm9ybSBmbG9hdCBzaXplO1xudW5pZm9ybSBmbG9hdCBzY2FsZTtcbiNpbmNsdWRlIFx4M2Njb21tb25ceDNlXG4jaW5jbHVkZSBceDNjY29sb3JfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2xvZ2RlcHRoYnVmX3BhcnNfdmVydGV4XHgzZVxuI2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleFx4M2VcbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgXHgzY2NvbG9yX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2JlZ2luX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY21vcnBodGFyZ2V0X3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3Byb2plY3RfdmVydGV4XHgzZVxuXHRnbF9Qb2ludFNpemUgXHgzZCBzaXplO1xuXHQjaWZkZWYgVVNFX1NJWkVBVFRFTlVBVElPTlxuXHRcdGJvb2wgaXNQZXJzcGVjdGl2ZSBceDNkICggcHJvamVjdGlvbk1hdHJpeFsgMiBdWyAzIF0gXHgzZFx4M2QgLSAxLjAgKTtcblx0XHRpZiAoIGlzUGVyc3BlY3RpdmUgKSBnbF9Qb2ludFNpemUgKlx4M2QgKCBzY2FsZSAvIC0gbXZQb3NpdGlvbi56ICk7XG5cdCNlbmRpZlxuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY3dvcmxkcG9zX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2ZvZ192ZXJ0ZXhceDNlXG59IiwKc2hhZG93X2ZyYWc6InVuaWZvcm0gdmVjMyBjb2xvcjtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbiNpbmNsdWRlIFx4M2Njb21tb25ceDNlXG4jaW5jbHVkZSBceDNjcGFja2luZ1x4M2VcbiNpbmNsdWRlIFx4M2Nmb2dfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2Nic2Rmc1x4M2VcbiNpbmNsdWRlIFx4M2NsaWdodHNfcGFyc19iZWdpblx4M2VcbiNpbmNsdWRlIFx4M2NzaGFkb3dtYXBfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NzaGFkb3dtYXNrX3BhcnNfZnJhZ21lbnRceDNlXG52b2lkIG1haW4oKSB7XG5cdGdsX0ZyYWdDb2xvciBceDNkIHZlYzQoIGNvbG9yLCBvcGFjaXR5ICogKCAxLjAgLSBnZXRTaGFkb3dNYXNrKCkgKSApO1xuXHQjaW5jbHVkZSBceDNjZm9nX2ZyYWdtZW50XHgzZVxufSIsc2hhZG93X3ZlcnQ6IiNpbmNsdWRlIFx4M2Nmb2dfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjc2hhZG93bWFwX3BhcnNfdmVydGV4XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjYmVnaW5fdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjcHJvamVjdF92ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2N3b3JsZHBvc192ZXJ0ZXhceDNlXG5cdCNpbmNsdWRlIFx4M2NzaGFkb3dtYXBfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjZm9nX3ZlcnRleFx4M2Vcbn0iLApzcHJpdGVfZnJhZzoidW5pZm9ybSB2ZWMzIGRpZmZ1c2U7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaW5jbHVkZSBceDNjY29tbW9uXHgzZVxuI2luY2x1ZGUgXHgzY3V2X3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbWFwX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjZm9nX3BhcnNfZnJhZ21lbnRceDNlXG4jaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfcGFyc19mcmFnbWVudFx4M2VcbiNpbmNsdWRlIFx4M2NjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudFx4M2VcbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgXHgzY2NsaXBwaW5nX3BsYW5lc19mcmFnbWVudFx4M2Vcblx0dmVjMyBvdXRnb2luZ0xpZ2h0IFx4M2QgdmVjMyggMC4wICk7XG5cdHZlYzQgZGlmZnVzZUNvbG9yIFx4M2QgdmVjNCggZGlmZnVzZSwgb3BhY2l0eSApO1xuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NtYXBfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NhbHBoYXRlc3RfZnJhZ21lbnRceDNlXG5cdG91dGdvaW5nTGlnaHQgXHgzZCBkaWZmdXNlQ29sb3IucmdiO1xuXHRnbF9GcmFnQ29sb3IgXHgzZCB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSBceDNjdG9uZW1hcHBpbmdfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2NlbmNvZGluZ3NfZnJhZ21lbnRceDNlXG5cdCNpbmNsdWRlIFx4M2Nmb2dfZnJhZ21lbnRceDNlXG59IiwKc3ByaXRlX3ZlcnQ6InVuaWZvcm0gZmxvYXQgcm90YXRpb247XG51bmlmb3JtIHZlYzIgY2VudGVyO1xuI2luY2x1ZGUgXHgzY2NvbW1vblx4M2VcbiNpbmNsdWRlIFx4M2N1dl9wYXJzX3ZlcnRleFx4M2VcbiNpbmNsdWRlIFx4M2Nmb2dfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfcGFyc192ZXJ0ZXhceDNlXG4jaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4XHgzZVxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSBceDNjdXZfdmVydGV4XHgzZVxuXHR2ZWM0IG12UG9zaXRpb24gXHgzZCBtb2RlbFZpZXdNYXRyaXggKiB2ZWM0KCAwLjAsIDAuMCwgMC4wLCAxLjAgKTtcblx0dmVjMiBzY2FsZTtcblx0c2NhbGUueCBceDNkIGxlbmd0aCggdmVjMyggbW9kZWxNYXRyaXhbIDAgXS54LCBtb2RlbE1hdHJpeFsgMCBdLnksIG1vZGVsTWF0cml4WyAwIF0ueiApICk7XG5cdHNjYWxlLnkgXHgzZCBsZW5ndGgoIHZlYzMoIG1vZGVsTWF0cml4WyAxIF0ueCwgbW9kZWxNYXRyaXhbIDEgXS55LCBtb2RlbE1hdHJpeFsgMSBdLnogKSApO1xuXHQjaWZuZGVmIFVTRV9TSVpFQVRURU5VQVRJT05cblx0XHRib29sIGlzUGVyc3BlY3RpdmUgXHgzZCAoIHByb2plY3Rpb25NYXRyaXhbIDIgXVsgMyBdIFx4M2RceDNkIC0gMS4wICk7XG5cdFx0aWYgKCBpc1BlcnNwZWN0aXZlICkgc2NhbGUgKlx4M2QgLSBtdlBvc2l0aW9uLno7XG5cdCNlbmRpZlxuXHR2ZWMyIGFsaWduZWRQb3NpdGlvbiBceDNkICggcG9zaXRpb24ueHkgLSAoIGNlbnRlciAtIHZlYzIoIDAuNSApICkgKSAqIHNjYWxlO1xuXHR2ZWMyIHJvdGF0ZWRQb3NpdGlvbjtcblx0cm90YXRlZFBvc2l0aW9uLnggXHgzZCBjb3MoIHJvdGF0aW9uICkgKiBhbGlnbmVkUG9zaXRpb24ueCAtIHNpbiggcm90YXRpb24gKSAqIGFsaWduZWRQb3NpdGlvbi55O1xuXHRyb3RhdGVkUG9zaXRpb24ueSBceDNkIHNpbiggcm90YXRpb24gKSAqIGFsaWduZWRQb3NpdGlvbi54ICsgY29zKCByb3RhdGlvbiApICogYWxpZ25lZFBvc2l0aW9uLnk7XG5cdG12UG9zaXRpb24ueHkgK1x4M2Qgcm90YXRlZFBvc2l0aW9uO1xuXHRnbF9Qb3NpdGlvbiBceDNkIHByb2plY3Rpb25NYXRyaXggKiBtdlBvc2l0aW9uO1xuXHQjaW5jbHVkZSBceDNjbG9nZGVwdGhidWZfdmVydGV4XHgzZVxuXHQjaW5jbHVkZSBceDNjY2xpcHBpbmdfcGxhbmVzX3ZlcnRleFx4M2Vcblx0I2luY2x1ZGUgXHgzY2ZvZ192ZXJ0ZXhceDNlXG59In0sCldhPXtjb21tb246e2RpZmZ1c2U6e3ZhbHVlOm5ldyBIKDE1NjU4NzM0KX0sb3BhY2l0eTp7dmFsdWU6MX0sbWFwOnt2YWx1ZTpudWxsfSx1dlRyYW5zZm9ybTp7dmFsdWU6bmV3IHJ9LGFscGhhTWFwOnt2YWx1ZTpudWxsfX0sc3BlY3VsYXJtYXA6e3NwZWN1bGFyTWFwOnt2YWx1ZTpudWxsfX0sZW52bWFwOntlbnZNYXA6e3ZhbHVlOm51bGx9LGZsaXBFbnZNYXA6e3ZhbHVlOi0xfSxyZWZsZWN0aXZpdHk6e3ZhbHVlOjF9LHJlZnJhY3Rpb25SYXRpbzp7dmFsdWU6Ljk4fSxtYXhNaXBMZXZlbDp7dmFsdWU6MH19LGFvbWFwOnthb01hcDp7dmFsdWU6bnVsbH0sYW9NYXBJbnRlbnNpdHk6e3ZhbHVlOjF9fSxsaWdodG1hcDp7bGlnaHRNYXA6e3ZhbHVlOm51bGx9LGxpZ2h0TWFwSW50ZW5zaXR5Ont2YWx1ZToxfX0sZW1pc3NpdmVtYXA6e2VtaXNzaXZlTWFwOnt2YWx1ZTpudWxsfX0sYnVtcG1hcDp7YnVtcE1hcDp7dmFsdWU6bnVsbH0sYnVtcFNjYWxlOnt2YWx1ZToxfX0sbm9ybWFsbWFwOntub3JtYWxNYXA6e3ZhbHVlOm51bGx9LApub3JtYWxTY2FsZTp7dmFsdWU6bmV3IGYoMSwxKX19LGRpc3BsYWNlbWVudG1hcDp7ZGlzcGxhY2VtZW50TWFwOnt2YWx1ZTpudWxsfSxkaXNwbGFjZW1lbnRTY2FsZTp7dmFsdWU6MX0sZGlzcGxhY2VtZW50Qmlhczp7dmFsdWU6MH19LHJvdWdobmVzc21hcDp7cm91Z2huZXNzTWFwOnt2YWx1ZTpudWxsfX0sbWV0YWxuZXNzbWFwOnttZXRhbG5lc3NNYXA6e3ZhbHVlOm51bGx9fSxncmFkaWVudG1hcDp7Z3JhZGllbnRNYXA6e3ZhbHVlOm51bGx9fSxmb2c6e2ZvZ0RlbnNpdHk6e3ZhbHVlOjIuNUUtNH0sZm9nTmVhcjp7dmFsdWU6MX0sZm9nRmFyOnt2YWx1ZToyRTN9LGZvZ0NvbG9yOnt2YWx1ZTpuZXcgSCgxNjc3NzIxNSl9fSxsaWdodHM6e2FtYmllbnRMaWdodENvbG9yOnt2YWx1ZTpbXX0sbGlnaHRQcm9iZTp7dmFsdWU6W119LGRpcmVjdGlvbmFsTGlnaHRzOnt2YWx1ZTpbXSxwcm9wZXJ0aWVzOntkaXJlY3Rpb246e30sY29sb3I6e30sc2hhZG93Ont9LHNoYWRvd0JpYXM6e30sCnNoYWRvd1JhZGl1czp7fSxzaGFkb3dNYXBTaXplOnt9fX0sZGlyZWN0aW9uYWxTaGFkb3dNYXA6e3ZhbHVlOltdfSxkaXJlY3Rpb25hbFNoYWRvd01hdHJpeDp7dmFsdWU6W119LHNwb3RMaWdodHM6e3ZhbHVlOltdLHByb3BlcnRpZXM6e2NvbG9yOnt9LHBvc2l0aW9uOnt9LGRpcmVjdGlvbjp7fSxkaXN0YW5jZTp7fSxjb25lQ29zOnt9LHBlbnVtYnJhQ29zOnt9LGRlY2F5Ont9LHNoYWRvdzp7fSxzaGFkb3dCaWFzOnt9LHNoYWRvd1JhZGl1czp7fSxzaGFkb3dNYXBTaXplOnt9fX0sc3BvdFNoYWRvd01hcDp7dmFsdWU6W119LHNwb3RTaGFkb3dNYXRyaXg6e3ZhbHVlOltdfSxwb2ludExpZ2h0czp7dmFsdWU6W10scHJvcGVydGllczp7Y29sb3I6e30scG9zaXRpb246e30sZGVjYXk6e30sZGlzdGFuY2U6e30sc2hhZG93Ont9LHNoYWRvd0JpYXM6e30sc2hhZG93UmFkaXVzOnt9LHNoYWRvd01hcFNpemU6e30sc2hhZG93Q2FtZXJhTmVhcjp7fSxzaGFkb3dDYW1lcmFGYXI6e319fSwKcG9pbnRTaGFkb3dNYXA6e3ZhbHVlOltdfSxwb2ludFNoYWRvd01hdHJpeDp7dmFsdWU6W119LGhlbWlzcGhlcmVMaWdodHM6e3ZhbHVlOltdLHByb3BlcnRpZXM6e2RpcmVjdGlvbjp7fSxza3lDb2xvcjp7fSxncm91bmRDb2xvcjp7fX19LHJlY3RBcmVhTGlnaHRzOnt2YWx1ZTpbXSxwcm9wZXJ0aWVzOntjb2xvcjp7fSxwb3NpdGlvbjp7fSx3aWR0aDp7fSxoZWlnaHQ6e319fX0scG9pbnRzOntkaWZmdXNlOnt2YWx1ZTpuZXcgSCgxNTY1ODczNCl9LG9wYWNpdHk6e3ZhbHVlOjF9LHNpemU6e3ZhbHVlOjF9LHNjYWxlOnt2YWx1ZToxfSxtYXA6e3ZhbHVlOm51bGx9LHV2VHJhbnNmb3JtOnt2YWx1ZTpuZXcgcn19LHNwcml0ZTp7ZGlmZnVzZTp7dmFsdWU6bmV3IEgoMTU2NTg3MzQpfSxvcGFjaXR5Ont2YWx1ZToxfSxjZW50ZXI6e3ZhbHVlOm5ldyBmKC41LC41KX0scm90YXRpb246e3ZhbHVlOjB9LG1hcDp7dmFsdWU6bnVsbH0sdXZUcmFuc2Zvcm06e3ZhbHVlOm5ldyByfX19LE9jPQp7YmFzaWM6e3VuaWZvcm1zOkJiKFtXYS5jb21tb24sV2Euc3BlY3VsYXJtYXAsV2EuZW52bWFwLFdhLmFvbWFwLFdhLmxpZ2h0bWFwLFdhLmZvZ10pLHZlcnRleFNoYWRlcjpyYi5tZXNoYmFzaWNfdmVydCxmcmFnbWVudFNoYWRlcjpyYi5tZXNoYmFzaWNfZnJhZ30sbGFtYmVydDp7dW5pZm9ybXM6QmIoW1dhLmNvbW1vbixXYS5zcGVjdWxhcm1hcCxXYS5lbnZtYXAsV2EuYW9tYXAsV2EubGlnaHRtYXAsV2EuZW1pc3NpdmVtYXAsV2EuZm9nLFdhLmxpZ2h0cyx7ZW1pc3NpdmU6e3ZhbHVlOm5ldyBIKDApfX1dKSx2ZXJ0ZXhTaGFkZXI6cmIubWVzaGxhbWJlcnRfdmVydCxmcmFnbWVudFNoYWRlcjpyYi5tZXNobGFtYmVydF9mcmFnfSxwaG9uZzp7dW5pZm9ybXM6QmIoW1dhLmNvbW1vbixXYS5zcGVjdWxhcm1hcCxXYS5lbnZtYXAsV2EuYW9tYXAsV2EubGlnaHRtYXAsV2EuZW1pc3NpdmVtYXAsV2EuYnVtcG1hcCxXYS5ub3JtYWxtYXAsV2EuZGlzcGxhY2VtZW50bWFwLFdhLmdyYWRpZW50bWFwLApXYS5mb2csV2EubGlnaHRzLHtlbWlzc2l2ZTp7dmFsdWU6bmV3IEgoMCl9LHNwZWN1bGFyOnt2YWx1ZTpuZXcgSCgxMTE4NDgxKX0sc2hpbmluZXNzOnt2YWx1ZTozMH19XSksdmVydGV4U2hhZGVyOnJiLm1lc2hwaG9uZ192ZXJ0LGZyYWdtZW50U2hhZGVyOnJiLm1lc2hwaG9uZ19mcmFnfSxzdGFuZGFyZDp7dW5pZm9ybXM6QmIoW1dhLmNvbW1vbixXYS5lbnZtYXAsV2EuYW9tYXAsV2EubGlnaHRtYXAsV2EuZW1pc3NpdmVtYXAsV2EuYnVtcG1hcCxXYS5ub3JtYWxtYXAsV2EuZGlzcGxhY2VtZW50bWFwLFdhLnJvdWdobmVzc21hcCxXYS5tZXRhbG5lc3NtYXAsV2EuZm9nLFdhLmxpZ2h0cyx7ZW1pc3NpdmU6e3ZhbHVlOm5ldyBIKDApfSxyb3VnaG5lc3M6e3ZhbHVlOi41fSxtZXRhbG5lc3M6e3ZhbHVlOi41fSxlbnZNYXBJbnRlbnNpdHk6e3ZhbHVlOjF9fV0pLHZlcnRleFNoYWRlcjpyYi5tZXNocGh5c2ljYWxfdmVydCxmcmFnbWVudFNoYWRlcjpyYi5tZXNocGh5c2ljYWxfZnJhZ30sCm1hdGNhcDp7dW5pZm9ybXM6QmIoW1dhLmNvbW1vbixXYS5idW1wbWFwLFdhLm5vcm1hbG1hcCxXYS5kaXNwbGFjZW1lbnRtYXAsV2EuZm9nLHttYXRjYXA6e3ZhbHVlOm51bGx9fV0pLHZlcnRleFNoYWRlcjpyYi5tZXNobWF0Y2FwX3ZlcnQsZnJhZ21lbnRTaGFkZXI6cmIubWVzaG1hdGNhcF9mcmFnfSxwb2ludHM6e3VuaWZvcm1zOkJiKFtXYS5wb2ludHMsV2EuZm9nXSksdmVydGV4U2hhZGVyOnJiLnBvaW50c192ZXJ0LGZyYWdtZW50U2hhZGVyOnJiLnBvaW50c19mcmFnfSxkYXNoZWQ6e3VuaWZvcm1zOkJiKFtXYS5jb21tb24sV2EuZm9nLHtzY2FsZTp7dmFsdWU6MX0sZGFzaFNpemU6e3ZhbHVlOjF9LHRvdGFsU2l6ZTp7dmFsdWU6Mn19XSksdmVydGV4U2hhZGVyOnJiLmxpbmVkYXNoZWRfdmVydCxmcmFnbWVudFNoYWRlcjpyYi5saW5lZGFzaGVkX2ZyYWd9LGRlcHRoOnt1bmlmb3JtczpCYihbV2EuY29tbW9uLFdhLmRpc3BsYWNlbWVudG1hcF0pLHZlcnRleFNoYWRlcjpyYi5kZXB0aF92ZXJ0LApmcmFnbWVudFNoYWRlcjpyYi5kZXB0aF9mcmFnfSxub3JtYWw6e3VuaWZvcm1zOkJiKFtXYS5jb21tb24sV2EuYnVtcG1hcCxXYS5ub3JtYWxtYXAsV2EuZGlzcGxhY2VtZW50bWFwLHtvcGFjaXR5Ont2YWx1ZToxfX1dKSx2ZXJ0ZXhTaGFkZXI6cmIubm9ybWFsX3ZlcnQsZnJhZ21lbnRTaGFkZXI6cmIubm9ybWFsX2ZyYWd9LHNwcml0ZTp7dW5pZm9ybXM6QmIoW1dhLnNwcml0ZSxXYS5mb2ddKSx2ZXJ0ZXhTaGFkZXI6cmIuc3ByaXRlX3ZlcnQsZnJhZ21lbnRTaGFkZXI6cmIuc3ByaXRlX2ZyYWd9LGJhY2tncm91bmQ6e3VuaWZvcm1zOnt1dlRyYW5zZm9ybTp7dmFsdWU6bmV3IHJ9LHQyRDp7dmFsdWU6bnVsbH19LHZlcnRleFNoYWRlcjpyYi5iYWNrZ3JvdW5kX3ZlcnQsZnJhZ21lbnRTaGFkZXI6cmIuYmFja2dyb3VuZF9mcmFnfSxjdWJlOnt1bmlmb3Jtczp7dEN1YmU6e3ZhbHVlOm51bGx9LHRGbGlwOnt2YWx1ZTotMX0sb3BhY2l0eTp7dmFsdWU6MX19LHZlcnRleFNoYWRlcjpyYi5jdWJlX3ZlcnQsCmZyYWdtZW50U2hhZGVyOnJiLmN1YmVfZnJhZ30sZXF1aXJlY3Q6e3VuaWZvcm1zOnt0RXF1aXJlY3Q6e3ZhbHVlOm51bGx9fSx2ZXJ0ZXhTaGFkZXI6cmIuZXF1aXJlY3RfdmVydCxmcmFnbWVudFNoYWRlcjpyYi5lcXVpcmVjdF9mcmFnfSxkaXN0YW5jZVJHQkE6e3VuaWZvcm1zOkJiKFtXYS5jb21tb24sV2EuZGlzcGxhY2VtZW50bWFwLHtyZWZlcmVuY2VQb3NpdGlvbjp7dmFsdWU6bmV3IGt9LG5lYXJEaXN0YW5jZTp7dmFsdWU6MX0sZmFyRGlzdGFuY2U6e3ZhbHVlOjFFM319XSksdmVydGV4U2hhZGVyOnJiLmRpc3RhbmNlUkdCQV92ZXJ0LGZyYWdtZW50U2hhZGVyOnJiLmRpc3RhbmNlUkdCQV9mcmFnfSxzaGFkb3c6e3VuaWZvcm1zOkJiKFtXYS5saWdodHMsV2EuZm9nLHtjb2xvcjp7dmFsdWU6bmV3IEgoMCl9LG9wYWNpdHk6e3ZhbHVlOjF9fV0pLHZlcnRleFNoYWRlcjpyYi5zaGFkb3dfdmVydCxmcmFnbWVudFNoYWRlcjpyYi5zaGFkb3dfZnJhZ319O09jLnBoeXNpY2FsPQp7dW5pZm9ybXM6QmIoW09jLnN0YW5kYXJkLnVuaWZvcm1zLHt0cmFuc3BhcmVuY3k6e3ZhbHVlOjB9LGNsZWFyY29hdDp7dmFsdWU6MH0sY2xlYXJjb2F0Um91Z2huZXNzOnt2YWx1ZTowfSxzaGVlbjp7dmFsdWU6bmV3IEgoMCl9LGNsZWFyY29hdE5vcm1hbFNjYWxlOnt2YWx1ZTpuZXcgZigxLDEpfSxjbGVhcmNvYXROb3JtYWxNYXA6e3ZhbHVlOm51bGx9fV0pLHZlcnRleFNoYWRlcjpyYi5tZXNocGh5c2ljYWxfdmVydCxmcmFnbWVudFNoYWRlcjpyYi5tZXNocGh5c2ljYWxfZnJhZ307dGQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoeGEucHJvdG90eXBlKTt0ZC5wcm90b3R5cGUuY29uc3RydWN0b3I9dGQ7TmMucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodmEucHJvdG90eXBlKTtOYy5wcm90b3R5cGUuY29uc3RydWN0b3I9TmM7ZWQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobC5wcm90b3R5cGUpO2VkLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lZDtlZC5wcm90b3R5cGUuaXNDdWJlVGV4dHVyZT0KITA7T2JqZWN0LmRlZmluZVByb3BlcnR5KGVkLnByb3RvdHlwZSwiaW1hZ2VzIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW1hZ2V9LHNldDpmdW5jdGlvbihhKXt0aGlzLmltYWdlPWF9fSk7dGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobC5wcm90b3R5cGUpO3RlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10ZTt0ZS5wcm90b3R5cGUuaXNEYXRhVGV4dHVyZTJEQXJyYXk9ITA7dWUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobC5wcm90b3R5cGUpO3VlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj11ZTt1ZS5wcm90b3R5cGUuaXNEYXRhVGV4dHVyZTNEPSEwO3ZhciByaj1uZXcgbCx6bD1uZXcgdGUsQmw9bmV3IHVlLHNqPW5ldyBlZCxsaj1bXSxuaj1bXSxxaj1uZXcgRmxvYXQzMkFycmF5KDE2KSxwaj1uZXcgRmxvYXQzMkFycmF5KDkpLG9qPW5ldyBGbG9hdDMyQXJyYXkoNCk7dGoucHJvdG90eXBlLnVwZGF0ZUNhY2hlPWZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMuY2FjaGU7YSBpbnN0YW5jZW9mCkZsb2F0MzJBcnJheSYmYy5sZW5ndGghPT1hLmxlbmd0aCYmKHRoaXMuY2FjaGU9bmV3IEZsb2F0MzJBcnJheShhLmxlbmd0aCkpO3BjKGMsYSl9O3VqLnByb3RvdHlwZS5zZXRWYWx1ZT1mdW5jdGlvbihhLGMsZSl7Zm9yKHZhciBnPXRoaXMuc2VxLHQ9MCx2PWcubGVuZ3RoO3QhPT12OysrdCl7dmFyIHo9Z1t0XTt6LnNldFZhbHVlKGEsY1t6LmlkXSxlKX19O3ZhciBRaD0vKFtcd1xkX10rKShcXSk/KFxbfFwuKT8vZzt3ZC5wcm90b3R5cGUuc2V0VmFsdWU9ZnVuY3Rpb24oYSxjLGUsZyl7Yz10aGlzLm1hcFtjXTt2b2lkIDAhPT1jJiZjLnNldFZhbHVlKGEsZSxnKX07d2QucHJvdG90eXBlLnNldE9wdGlvbmFsPWZ1bmN0aW9uKGEsYyxlKXtjPWNbZV07dm9pZCAwIT09YyYmdGhpcy5zZXRWYWx1ZShhLGUsYyl9O3dkLnVwbG9hZD1mdW5jdGlvbihhLGMsZSxnKXtmb3IodmFyIHQ9MCx2PWMubGVuZ3RoO3QhPT12OysrdCl7dmFyIHo9Y1t0XSxFPWVbei5pZF07ITEhPT1FLm5lZWRzVXBkYXRlJiYKei5zZXRWYWx1ZShhLEUudmFsdWUsZyl9fTt3ZC5zZXFXaXRoVmFsdWU9ZnVuY3Rpb24oYSxjKXtmb3IodmFyIGU9W10sZz0wLHQ9YS5sZW5ndGg7ZyE9PXQ7KytnKXt2YXIgdj1hW2ddO3YuaWQgaW4gYyYmZS5wdXNoKHYpfXJldHVybiBlfTt2YXIgZW09MCxubT0wO3hkLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFMucHJvdG90eXBlKTt4ZC5wcm90b3R5cGUuY29uc3RydWN0b3I9eGQ7eGQucHJvdG90eXBlLmlzTWVzaERlcHRoTWF0ZXJpYWw9ITA7eGQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7Uy5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5kZXB0aFBhY2tpbmc9YS5kZXB0aFBhY2tpbmc7dGhpcy5za2lubmluZz1hLnNraW5uaW5nO3RoaXMubW9ycGhUYXJnZXRzPWEubW9ycGhUYXJnZXRzO3RoaXMubWFwPWEubWFwO3RoaXMuYWxwaGFNYXA9YS5hbHBoYU1hcDt0aGlzLmRpc3BsYWNlbWVudE1hcD1hLmRpc3BsYWNlbWVudE1hcDt0aGlzLmRpc3BsYWNlbWVudFNjYWxlPQphLmRpc3BsYWNlbWVudFNjYWxlO3RoaXMuZGlzcGxhY2VtZW50Qmlhcz1hLmRpc3BsYWNlbWVudEJpYXM7dGhpcy53aXJlZnJhbWU9YS53aXJlZnJhbWU7dGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9YS53aXJlZnJhbWVMaW5ld2lkdGg7cmV0dXJuIHRoaXN9O3lkLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFMucHJvdG90eXBlKTt5ZC5wcm90b3R5cGUuY29uc3RydWN0b3I9eWQ7eWQucHJvdG90eXBlLmlzTWVzaERpc3RhbmNlTWF0ZXJpYWw9ITA7eWQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7Uy5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5yZWZlcmVuY2VQb3NpdGlvbi5jb3B5KGEucmVmZXJlbmNlUG9zaXRpb24pO3RoaXMubmVhckRpc3RhbmNlPWEubmVhckRpc3RhbmNlO3RoaXMuZmFyRGlzdGFuY2U9YS5mYXJEaXN0YW5jZTt0aGlzLnNraW5uaW5nPWEuc2tpbm5pbmc7dGhpcy5tb3JwaFRhcmdldHM9YS5tb3JwaFRhcmdldHM7dGhpcy5tYXA9YS5tYXA7dGhpcy5hbHBoYU1hcD0KYS5hbHBoYU1hcDt0aGlzLmRpc3BsYWNlbWVudE1hcD1hLmRpc3BsYWNlbWVudE1hcDt0aGlzLmRpc3BsYWNlbWVudFNjYWxlPWEuZGlzcGxhY2VtZW50U2NhbGU7dGhpcy5kaXNwbGFjZW1lbnRCaWFzPWEuZGlzcGxhY2VtZW50QmlhcztyZXR1cm4gdGhpc307d2UucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShBLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOndlLGlzR3JvdXA6ITB9KTt3Zi5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKHZiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOndmLGlzQXJyYXlDYW1lcmE6ITB9KTt2YXIgSGo9bmV3IGssSWo9bmV3IGs7T2JqZWN0LmFzc2lnbihTaC5wcm90b3R5cGUsZC5wcm90b3R5cGUpO09iamVjdC5hc3NpZ24oSmoucHJvdG90eXBlLGQucHJvdG90eXBlKTtPYmplY3QuYXNzaWduKENnLnByb3RvdHlwZSx7aXNGb2dFeHAyOiEwLGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBDZyh0aGlzLmNvbG9yLAp0aGlzLmRlbnNpdHkpfSx0b0pTT046ZnVuY3Rpb24oKXtyZXR1cm57dHlwZToiRm9nRXhwMiIsY29sb3I6dGhpcy5jb2xvci5nZXRIZXgoKSxkZW5zaXR5OnRoaXMuZGVuc2l0eX19fSk7T2JqZWN0LmFzc2lnbihEZy5wcm90b3R5cGUse2lzRm9nOiEwLGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBEZyh0aGlzLmNvbG9yLHRoaXMubmVhcix0aGlzLmZhcil9LHRvSlNPTjpmdW5jdGlvbigpe3JldHVybnt0eXBlOiJGb2ciLGNvbG9yOnRoaXMuY29sb3IuZ2V0SGV4KCksbmVhcjp0aGlzLm5lYXIsZmFyOnRoaXMuZmFyfX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoU2QucHJvdG90eXBlLCJuZWVkc1VwZGF0ZSIse3NldDpmdW5jdGlvbihhKXshMD09PWEmJnRoaXMudmVyc2lvbisrfX0pO09iamVjdC5hc3NpZ24oU2QucHJvdG90eXBlLHtpc0ludGVybGVhdmVkQnVmZmVyOiEwLG9uVXBsb2FkQ2FsbGJhY2s6ZnVuY3Rpb24oKXt9LHNldEFycmF5OmZ1bmN0aW9uKGEpe2lmKEFycmF5LmlzQXJyYXkoYSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiBhcnJheSBzaG91bGQgYmUgYSBUeXBlZCBBcnJheS4iKTsKdGhpcy5jb3VudD12b2lkIDAhPT1hP2EubGVuZ3RoL3RoaXMuc3RyaWRlOjA7dGhpcy5hcnJheT1hO3JldHVybiB0aGlzfSxzZXREeW5hbWljOmZ1bmN0aW9uKGEpe3RoaXMuZHluYW1pYz1hO3JldHVybiB0aGlzfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMuYXJyYXk9bmV3IGEuYXJyYXkuY29uc3RydWN0b3IoYS5hcnJheSk7dGhpcy5jb3VudD1hLmNvdW50O3RoaXMuc3RyaWRlPWEuc3RyaWRlO3RoaXMuZHluYW1pYz1hLmR5bmFtaWM7cmV0dXJuIHRoaXN9LGNvcHlBdDpmdW5jdGlvbihhLGMsZSl7YSo9dGhpcy5zdHJpZGU7ZSo9Yy5zdHJpZGU7Zm9yKHZhciBnPTAsdD10aGlzLnN0cmlkZTtnPHQ7ZysrKXRoaXMuYXJyYXlbYStnXT1jLmFycmF5W2UrZ107cmV0dXJuIHRoaXN9LHNldDpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWMmJihjPTApO3RoaXMuYXJyYXkuc2V0KGEsYyk7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfSwKb25VcGxvYWQ6ZnVuY3Rpb24oYSl7dGhpcy5vblVwbG9hZENhbGxiYWNrPWE7cmV0dXJuIHRoaXN9fSk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoeWYucHJvdG90eXBlLHtjb3VudDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0YS5jb3VudH19LGFycmF5OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5fX19KTtPYmplY3QuYXNzaWduKHlmLnByb3RvdHlwZSx7aXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZTohMCxzZXRYOmZ1bmN0aW9uKGEsYyl7dGhpcy5kYXRhLmFycmF5W2EqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldF09YztyZXR1cm4gdGhpc30sc2V0WTpmdW5jdGlvbihhLGMpe3RoaXMuZGF0YS5hcnJheVthKnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQrMV09YztyZXR1cm4gdGhpc30sc2V0WjpmdW5jdGlvbihhLGMpe3RoaXMuZGF0YS5hcnJheVthKnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQrMl09YztyZXR1cm4gdGhpc30sCnNldFc6ZnVuY3Rpb24oYSxjKXt0aGlzLmRhdGEuYXJyYXlbYSp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0KzNdPWM7cmV0dXJuIHRoaXN9LGdldFg6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVthKnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXRdfSxnZXRZOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbYSp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0KzFdfSxnZXRaOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbYSp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0KzJdfSxnZXRXOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbYSp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0KzNdfSxzZXRYWTpmdW5jdGlvbihhLGMsZSl7YT1hKnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQ7dGhpcy5kYXRhLmFycmF5W2ErMF09Yzt0aGlzLmRhdGEuYXJyYXlbYSsxXT1lO3JldHVybiB0aGlzfSxzZXRYWVo6ZnVuY3Rpb24oYSwKYyxlLGcpe2E9YSp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0O3RoaXMuZGF0YS5hcnJheVthKzBdPWM7dGhpcy5kYXRhLmFycmF5W2ErMV09ZTt0aGlzLmRhdGEuYXJyYXlbYSsyXT1nO3JldHVybiB0aGlzfSxzZXRYWVpXOmZ1bmN0aW9uKGEsYyxlLGcsdCl7YT1hKnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQ7dGhpcy5kYXRhLmFycmF5W2ErMF09Yzt0aGlzLmRhdGEuYXJyYXlbYSsxXT1lO3RoaXMuZGF0YS5hcnJheVthKzJdPWc7dGhpcy5kYXRhLmFycmF5W2ErM109dDtyZXR1cm4gdGhpc319KTtDZC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShTLnByb3RvdHlwZSk7Q2QucHJvdG90eXBlLmNvbnN0cnVjdG9yPUNkO0NkLnByb3RvdHlwZS5pc1Nwcml0ZU1hdGVyaWFsPSEwO0NkLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1MucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMuY29sb3IuY29weShhLmNvbG9yKTt0aGlzLm1hcD1hLm1hcDt0aGlzLnJvdGF0aW9uPQphLnJvdGF0aW9uO3RoaXMuc2l6ZUF0dGVudWF0aW9uPWEuc2l6ZUF0dGVudWF0aW9uO3JldHVybiB0aGlzfTt2YXIgQ2Usbmc9bmV3IGsscGY9bmV3IGsscWY9bmV3IGssRGU9bmV3IGYsQWY9bmV3IGYsT2o9bmV3IHEsdGg9bmV3IGssb2c9bmV3IGssdWg9bmV3IGssdGs9bmV3IGYsUGk9bmV3IGYsdWs9bmV3IGY7emYucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShBLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOnpmLGlzU3ByaXRlOiEwLHJheWNhc3Q6ZnVuY3Rpb24oYSxjKXtudWxsPT09YS5jYW1lcmEmJmNvbnNvbGUuZXJyb3IoJ1RIUkVFLlNwcml0ZTogIlJheWNhc3Rlci5jYW1lcmEiIG5lZWRzIHRvIGJlIHNldCBpbiBvcmRlciB0byByYXljYXN0IGFnYWluc3Qgc3ByaXRlcy4nKTtwZi5zZXRGcm9tTWF0cml4U2NhbGUodGhpcy5tYXRyaXhXb3JsZCk7T2ouY29weShhLmNhbWVyYS5tYXRyaXhXb3JsZCk7dGhpcy5tb2RlbFZpZXdNYXRyaXgubXVsdGlwbHlNYXRyaWNlcyhhLmNhbWVyYS5tYXRyaXhXb3JsZEludmVyc2UsCnRoaXMubWF0cml4V29ybGQpO3FmLnNldEZyb21NYXRyaXhQb3NpdGlvbih0aGlzLm1vZGVsVmlld01hdHJpeCk7YS5jYW1lcmEuaXNQZXJzcGVjdGl2ZUNhbWVyYSYmITE9PT10aGlzLm1hdGVyaWFsLnNpemVBdHRlbnVhdGlvbiYmcGYubXVsdGlwbHlTY2FsYXIoLXFmLnopO3ZhciBlPXRoaXMubWF0ZXJpYWwucm90YXRpb247aWYoMCE9PWUpe3ZhciBnPU1hdGguY29zKGUpO3ZhciB0PU1hdGguc2luKGUpfWU9dGhpcy5jZW50ZXI7RWcodGguc2V0KC0uNSwtLjUsMCkscWYsZSxwZix0LGcpO0VnKG9nLnNldCguNSwtLjUsMCkscWYsZSxwZix0LGcpO0VnKHVoLnNldCguNSwuNSwwKSxxZixlLHBmLHQsZyk7dGsuc2V0KDAsMCk7UGkuc2V0KDEsMCk7dWsuc2V0KDEsMSk7dmFyIHY9YS5yYXkuaW50ZXJzZWN0VHJpYW5nbGUodGgsb2csdWgsITEsbmcpO2lmKG51bGw9PT12JiYoRWcob2cuc2V0KC0uNSwuNSwwKSxxZixlLHBmLHQsZyksUGkuc2V0KDAsMSksdj1hLnJheS5pbnRlcnNlY3RUcmlhbmdsZSh0aCwKdWgsb2csITEsbmcpLG51bGw9PT12KSlyZXR1cm47dD1hLnJheS5vcmlnaW4uZGlzdGFuY2VUbyhuZyk7dDxhLm5lYXJ8fHQ+YS5mYXJ8fGMucHVzaCh7ZGlzdGFuY2U6dCxwb2ludDpuZy5jbG9uZSgpLHV2OkIuZ2V0VVYobmcsdGgsb2csdWgsdGssUGksdWssbmV3IGYpLGZhY2U6bnVsbCxvYmplY3Q6dGhpc30pfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLm1hdGVyaWFsKSkuY29weSh0aGlzKX0sY29weTpmdW5jdGlvbihhKXtBLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt2b2lkIDAhPT1hLmNlbnRlciYmdGhpcy5jZW50ZXIuY29weShhLmNlbnRlcik7cmV0dXJuIHRoaXN9fSk7dmFyIHZoPW5ldyBrLHZrPW5ldyBrO0JmLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoQS5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpCZixpc0xPRDohMCxjb3B5OmZ1bmN0aW9uKGEpe0EucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLAphLCExKTthPWEubGV2ZWxzO2Zvcih2YXIgYz0wLGU9YS5sZW5ndGg7YzxlO2MrKyl7dmFyIGc9YVtjXTt0aGlzLmFkZExldmVsKGcub2JqZWN0LmNsb25lKCksZy5kaXN0YW5jZSl9cmV0dXJuIHRoaXN9LGFkZExldmVsOmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGM9MCk7Yz1NYXRoLmFicyhjKTtmb3IodmFyIGU9dGhpcy5sZXZlbHMsZz0wO2c8ZS5sZW5ndGgmJiEoYzxlW2ddLmRpc3RhbmNlKTtnKyspO2Uuc3BsaWNlKGcsMCx7ZGlzdGFuY2U6YyxvYmplY3Q6YX0pO3RoaXMuYWRkKGEpO3JldHVybiB0aGlzfSxnZXRPYmplY3RGb3JEaXN0YW5jZTpmdW5jdGlvbihhKXtmb3IodmFyIGM9dGhpcy5sZXZlbHMsZT0xLGc9Yy5sZW5ndGg7ZTxnJiYhKGE8Y1tlXS5kaXN0YW5jZSk7ZSsrKTtyZXR1cm4gY1tlLTFdLm9iamVjdH0scmF5Y2FzdDpmdW5jdGlvbihhLGMpe3ZoLnNldEZyb21NYXRyaXhQb3NpdGlvbih0aGlzLm1hdHJpeFdvcmxkKTt0aGlzLmdldE9iamVjdEZvckRpc3RhbmNlKGEucmF5Lm9yaWdpbi5kaXN0YW5jZVRvKHZoKSkucmF5Y2FzdChhLApjKX0sdXBkYXRlOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMubGV2ZWxzO2lmKDE8Yy5sZW5ndGgpe3ZoLnNldEZyb21NYXRyaXhQb3NpdGlvbihhLm1hdHJpeFdvcmxkKTt2ay5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5tYXRyaXhXb3JsZCk7YT12aC5kaXN0YW5jZVRvKHZrKTtjWzBdLm9iamVjdC52aXNpYmxlPSEwO2Zvcih2YXIgZT0xLGc9Yy5sZW5ndGg7ZTxnO2UrKylpZihhPj1jW2VdLmRpc3RhbmNlKWNbZS0xXS5vYmplY3QudmlzaWJsZT0hMSxjW2VdLm9iamVjdC52aXNpYmxlPSEwO2Vsc2UgYnJlYWs7Zm9yKDtlPGc7ZSsrKWNbZV0ub2JqZWN0LnZpc2libGU9ITF9fSx0b0pTT046ZnVuY3Rpb24oYSl7YT1BLnByb3RvdHlwZS50b0pTT04uY2FsbCh0aGlzLGEpO2Eub2JqZWN0LmxldmVscz1bXTtmb3IodmFyIGM9dGhpcy5sZXZlbHMsZT0wLGc9Yy5sZW5ndGg7ZTxnO2UrKyl7dmFyIHQ9Y1tlXTthLm9iamVjdC5sZXZlbHMucHVzaCh7b2JqZWN0OnQub2JqZWN0LnV1aWQsCmRpc3RhbmNlOnQuZGlzdGFuY2V9KX1yZXR1cm4gYX19KTtDZi5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKHlhLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOkNmLGlzU2tpbm5lZE1lc2g6ITAsYmluZDpmdW5jdGlvbihhLGMpe3RoaXMuc2tlbGV0b249YTt2b2lkIDA9PT1jJiYodGhpcy51cGRhdGVNYXRyaXhXb3JsZCghMCksdGhpcy5za2VsZXRvbi5jYWxjdWxhdGVJbnZlcnNlcygpLGM9dGhpcy5tYXRyaXhXb3JsZCk7dGhpcy5iaW5kTWF0cml4LmNvcHkoYyk7dGhpcy5iaW5kTWF0cml4SW52ZXJzZS5nZXRJbnZlcnNlKGMpfSxwb3NlOmZ1bmN0aW9uKCl7dGhpcy5za2VsZXRvbi5wb3NlKCl9LG5vcm1hbGl6ZVNraW5XZWlnaHRzOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPW5ldyBwLGM9dGhpcy5nZW9tZXRyeS5hdHRyaWJ1dGVzLnNraW5XZWlnaHQsZT0wLGc9Yy5jb3VudDtlPGc7ZSsrKXthLng9Yy5nZXRYKGUpO2EueT1jLmdldFkoZSk7YS56PWMuZ2V0WihlKTsKYS53PWMuZ2V0VyhlKTt2YXIgdD0xL2EubWFuaGF0dGFuTGVuZ3RoKCk7SW5maW5pdHkhPT10P2EubXVsdGlwbHlTY2FsYXIodCk6YS5zZXQoMSwwLDAsMCk7Yy5zZXRYWVpXKGUsYS54LGEueSxhLnosYS53KX19LHVwZGF0ZU1hdHJpeFdvcmxkOmZ1bmN0aW9uKGEpe3lhLnByb3RvdHlwZS51cGRhdGVNYXRyaXhXb3JsZC5jYWxsKHRoaXMsYSk7ImF0dGFjaGVkIj09PXRoaXMuYmluZE1vZGU/dGhpcy5iaW5kTWF0cml4SW52ZXJzZS5nZXRJbnZlcnNlKHRoaXMubWF0cml4V29ybGQpOiJkZXRhY2hlZCI9PT10aGlzLmJpbmRNb2RlP3RoaXMuYmluZE1hdHJpeEludmVyc2UuZ2V0SW52ZXJzZSh0aGlzLmJpbmRNYXRyaXgpOmNvbnNvbGUud2FybigiVEhSRUUuU2tpbm5lZE1lc2g6IFVucmVjb2duaXplZCBiaW5kTW9kZTogIit0aGlzLmJpbmRNb2RlKX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5nZW9tZXRyeSx0aGlzLm1hdGVyaWFsKSkuY29weSh0aGlzKX19KTsKdmFyIHdrPW5ldyBxLGNuPW5ldyBxO09iamVjdC5hc3NpZ24oRmcucHJvdG90eXBlLHtjYWxjdWxhdGVJbnZlcnNlczpmdW5jdGlvbigpe3RoaXMuYm9uZUludmVyc2VzPVtdO2Zvcih2YXIgYT0wLGM9dGhpcy5ib25lcy5sZW5ndGg7YTxjO2ErKyl7dmFyIGU9bmV3IHE7dGhpcy5ib25lc1thXSYmZS5nZXRJbnZlcnNlKHRoaXMuYm9uZXNbYV0ubWF0cml4V29ybGQpO3RoaXMuYm9uZUludmVyc2VzLnB1c2goZSl9fSxwb3NlOmZ1bmN0aW9uKCl7dmFyIGEsYzt2YXIgZT0wO2ZvcihjPXRoaXMuYm9uZXMubGVuZ3RoO2U8YztlKyspKGE9dGhpcy5ib25lc1tlXSkmJmEubWF0cml4V29ybGQuZ2V0SW52ZXJzZSh0aGlzLmJvbmVJbnZlcnNlc1tlXSk7ZT0wO2ZvcihjPXRoaXMuYm9uZXMubGVuZ3RoO2U8YztlKyspaWYoYT10aGlzLmJvbmVzW2VdKWEucGFyZW50JiZhLnBhcmVudC5pc0JvbmU/KGEubWF0cml4LmdldEludmVyc2UoYS5wYXJlbnQubWF0cml4V29ybGQpLGEubWF0cml4Lm11bHRpcGx5KGEubWF0cml4V29ybGQpKToKYS5tYXRyaXguY29weShhLm1hdHJpeFdvcmxkKSxhLm1hdHJpeC5kZWNvbXBvc2UoYS5wb3NpdGlvbixhLnF1YXRlcm5pb24sYS5zY2FsZSl9LHVwZGF0ZTpmdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLmJvbmVzLGM9dGhpcy5ib25lSW52ZXJzZXMsZT10aGlzLmJvbmVNYXRyaWNlcyxnPXRoaXMuYm9uZVRleHR1cmUsdD0wLHY9YS5sZW5ndGg7dDx2O3QrKyl3ay5tdWx0aXBseU1hdHJpY2VzKGFbdF0/YVt0XS5tYXRyaXhXb3JsZDpjbixjW3RdKSx3ay50b0FycmF5KGUsMTYqdCk7dm9pZCAwIT09ZyYmKGcubmVlZHNVcGRhdGU9ITApfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBuZXcgRmcodGhpcy5ib25lcyx0aGlzLmJvbmVJbnZlcnNlcyl9LGdldEJvbmVCeU5hbWU6ZnVuY3Rpb24oYSl7Zm9yKHZhciBjPTAsZT10aGlzLmJvbmVzLmxlbmd0aDtjPGU7YysrKXt2YXIgZz10aGlzLmJvbmVzW2NdO2lmKGcubmFtZT09PWEpcmV0dXJuIGd9fX0pO1poLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoQS5wcm90b3R5cGUpLAp7Y29uc3RydWN0b3I6WmgsaXNCb25lOiEwfSk7RmIucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoUy5wcm90b3R5cGUpO0ZiLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1GYjtGYi5wcm90b3R5cGUuaXNMaW5lQmFzaWNNYXRlcmlhbD0hMDtGYi5wcm90b3R5cGUuY29weT1mdW5jdGlvbihhKXtTLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLmNvbG9yLmNvcHkoYS5jb2xvcik7dGhpcy5saW5ld2lkdGg9YS5saW5ld2lkdGg7dGhpcy5saW5lY2FwPWEubGluZWNhcDt0aGlzLmxpbmVqb2luPWEubGluZWpvaW47cmV0dXJuIHRoaXN9O3ZhciB4az1uZXcgayx5az1uZXcgayx6az1uZXcgcSx3aD1uZXcgRCxwZz1uZXcgRztYYi5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEEucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6WGIsaXNMaW5lOiEwLGNvbXB1dGVMaW5lRGlzdGFuY2VzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZW9tZXRyeTtpZihhLmlzQnVmZmVyR2VvbWV0cnkpaWYobnVsbD09PQphLmluZGV4KXtmb3IodmFyIGM9YS5hdHRyaWJ1dGVzLnBvc2l0aW9uLGU9WzBdLGc9MSx0PWMuY291bnQ7Zzx0O2crKyl4ay5mcm9tQnVmZmVyQXR0cmlidXRlKGMsZy0xKSx5ay5mcm9tQnVmZmVyQXR0cmlidXRlKGMsZyksZVtnXT1lW2ctMV0sZVtnXSs9eGsuZGlzdGFuY2VUbyh5ayk7YS5hZGRBdHRyaWJ1dGUoImxpbmVEaXN0YW5jZSIsbmV3IGJhKGUsMSkpfWVsc2UgY29uc29sZS53YXJuKCJUSFJFRS5MaW5lLmNvbXB1dGVMaW5lRGlzdGFuY2VzKCk6IENvbXB1dGF0aW9uIG9ubHkgcG9zc2libGUgd2l0aCBub24taW5kZXhlZCBCdWZmZXJHZW9tZXRyeS4iKTtlbHNlIGlmKGEuaXNHZW9tZXRyeSlmb3IoYz1hLnZlcnRpY2VzLGU9YS5saW5lRGlzdGFuY2VzLGVbMF09MCxnPTEsdD1jLmxlbmd0aDtnPHQ7ZysrKWVbZ109ZVtnLTFdLGVbZ10rPWNbZy0xXS5kaXN0YW5jZVRvKGNbZ10pO3JldHVybiB0aGlzfSxyYXljYXN0OmZ1bmN0aW9uKGEsYyl7dmFyIGU9YS5saW5lUHJlY2lzaW9uLApnPXRoaXMuZ2VvbWV0cnksdD10aGlzLm1hdHJpeFdvcmxkO251bGw9PT1nLmJvdW5kaW5nU3BoZXJlJiZnLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpO3BnLmNvcHkoZy5ib3VuZGluZ1NwaGVyZSk7cGcuYXBwbHlNYXRyaXg0KHQpO3BnLnJhZGl1cys9ZTtpZighMSE9PWEucmF5LmludGVyc2VjdHNTcGhlcmUocGcpKXt6ay5nZXRJbnZlcnNlKHQpO3doLmNvcHkoYS5yYXkpLmFwcGx5TWF0cml4NCh6ayk7ZS89KHRoaXMuc2NhbGUueCt0aGlzLnNjYWxlLnkrdGhpcy5zY2FsZS56KS8zO2UqPWU7dmFyIHY9bmV3IGssej1uZXcgazt0PW5ldyBrO3ZhciBFPW5ldyBrLEY9dGhpcyYmdGhpcy5pc0xpbmVTZWdtZW50cz8yOjE7aWYoZy5pc0J1ZmZlckdlb21ldHJ5KXt2YXIgST1nLmluZGV4LE09Zy5hdHRyaWJ1dGVzLnBvc2l0aW9uLmFycmF5O2lmKG51bGwhPT1JKXtJPUkuYXJyYXk7Zz0wO2Zvcih2YXIgUD1JLmxlbmd0aC0xO2c8UDtnKz1GKXt2YXIgUT1JW2crMV07di5mcm9tQXJyYXkoTSwKMypJW2ddKTt6LmZyb21BcnJheShNLDMqUSk7UT13aC5kaXN0YW5jZVNxVG9TZWdtZW50KHYseixFLHQpO1E+ZXx8KEUuYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpLFE9YS5yYXkub3JpZ2luLmRpc3RhbmNlVG8oRSksUTxhLm5lYXJ8fFE+YS5mYXJ8fGMucHVzaCh7ZGlzdGFuY2U6USxwb2ludDp0LmNsb25lKCkuYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpLGluZGV4OmcsZmFjZTpudWxsLGZhY2VJbmRleDpudWxsLG9iamVjdDp0aGlzfSkpfX1lbHNlIGZvcihnPTAsUD1NLmxlbmd0aC8zLTE7ZzxQO2crPUYpdi5mcm9tQXJyYXkoTSwzKmcpLHouZnJvbUFycmF5KE0sMypnKzMpLFE9d2guZGlzdGFuY2VTcVRvU2VnbWVudCh2LHosRSx0KSxRPmV8fChFLmFwcGx5TWF0cml4NCh0aGlzLm1hdHJpeFdvcmxkKSxRPWEucmF5Lm9yaWdpbi5kaXN0YW5jZVRvKEUpLFE8YS5uZWFyfHxRPmEuZmFyfHxjLnB1c2goe2Rpc3RhbmNlOlEscG9pbnQ6dC5jbG9uZSgpLmFwcGx5TWF0cml4NCh0aGlzLm1hdHJpeFdvcmxkKSwKaW5kZXg6ZyxmYWNlOm51bGwsZmFjZUluZGV4Om51bGwsb2JqZWN0OnRoaXN9KSl9ZWxzZSBpZihnLmlzR2VvbWV0cnkpZm9yKHY9Zy52ZXJ0aWNlcyx6PXYubGVuZ3RoLGc9MDtnPHotMTtnKz1GKVE9d2guZGlzdGFuY2VTcVRvU2VnbWVudCh2W2ddLHZbZysxXSxFLHQpLFE+ZXx8KEUuYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpLFE9YS5yYXkub3JpZ2luLmRpc3RhbmNlVG8oRSksUTxhLm5lYXJ8fFE+YS5mYXJ8fGMucHVzaCh7ZGlzdGFuY2U6USxwb2ludDp0LmNsb25lKCkuYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpLGluZGV4OmcsZmFjZTpudWxsLGZhY2VJbmRleDpudWxsLG9iamVjdDp0aGlzfSkpfX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5nZW9tZXRyeSx0aGlzLm1hdGVyaWFsKSkuY29weSh0aGlzKX19KTt2YXIgeGg9bmV3IGsseWg9bmV3IGs7SWIucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShYYi5wcm90b3R5cGUpLAp7Y29uc3RydWN0b3I6SWIsaXNMaW5lU2VnbWVudHM6ITAsY29tcHV0ZUxpbmVEaXN0YW5jZXM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmdlb21ldHJ5O2lmKGEuaXNCdWZmZXJHZW9tZXRyeSlpZihudWxsPT09YS5pbmRleCl7Zm9yKHZhciBjPWEuYXR0cmlidXRlcy5wb3NpdGlvbixlPVtdLGc9MCx0PWMuY291bnQ7Zzx0O2crPTIpeGguZnJvbUJ1ZmZlckF0dHJpYnV0ZShjLGcpLHloLmZyb21CdWZmZXJBdHRyaWJ1dGUoYyxnKzEpLGVbZ109MD09PWc/MDplW2ctMV0sZVtnKzFdPWVbZ10reGguZGlzdGFuY2VUbyh5aCk7YS5hZGRBdHRyaWJ1dGUoImxpbmVEaXN0YW5jZSIsbmV3IGJhKGUsMSkpfWVsc2UgY29uc29sZS53YXJuKCJUSFJFRS5MaW5lU2VnbWVudHMuY29tcHV0ZUxpbmVEaXN0YW5jZXMoKTogQ29tcHV0YXRpb24gb25seSBwb3NzaWJsZSB3aXRoIG5vbi1pbmRleGVkIEJ1ZmZlckdlb21ldHJ5LiIpO2Vsc2UgaWYoYS5pc0dlb21ldHJ5KWZvcihjPWEudmVydGljZXMsZT0KYS5saW5lRGlzdGFuY2VzLGc9MCx0PWMubGVuZ3RoO2c8dDtnKz0yKXhoLmNvcHkoY1tnXSkseWguY29weShjW2crMV0pLGVbZ109MD09PWc/MDplW2ctMV0sZVtnKzFdPWVbZ10reGguZGlzdGFuY2VUbyh5aCk7cmV0dXJuIHRoaXN9fSk7R2cucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShYYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpHZyxpc0xpbmVMb29wOiEwfSk7Q2MucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoUy5wcm90b3R5cGUpO0NjLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1DYztDYy5wcm90b3R5cGUuaXNQb2ludHNNYXRlcmlhbD0hMDtDYy5wcm90b3R5cGUuY29weT1mdW5jdGlvbihhKXtTLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLmNvbG9yLmNvcHkoYS5jb2xvcik7dGhpcy5tYXA9YS5tYXA7dGhpcy5zaXplPWEuc2l6ZTt0aGlzLnNpemVBdHRlbnVhdGlvbj1hLnNpemVBdHRlbnVhdGlvbjt0aGlzLm1vcnBoVGFyZ2V0cz1hLm1vcnBoVGFyZ2V0czsKcmV0dXJuIHRoaXN9O3ZhciBBaz1uZXcgcSxhaT1uZXcgRCxxZz1uZXcgRyx6aD1uZXcgaztFZS5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEEucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6RWUsaXNQb2ludHM6ITAscmF5Y2FzdDpmdW5jdGlvbihhLGMpe3ZhciBlPXRoaXMuZ2VvbWV0cnksZz10aGlzLm1hdHJpeFdvcmxkLHQ9YS5wYXJhbXMuUG9pbnRzLnRocmVzaG9sZDtudWxsPT09ZS5ib3VuZGluZ1NwaGVyZSYmZS5jb21wdXRlQm91bmRpbmdTcGhlcmUoKTtxZy5jb3B5KGUuYm91bmRpbmdTcGhlcmUpO3FnLmFwcGx5TWF0cml4NChnKTtxZy5yYWRpdXMrPXQ7aWYoITEhPT1hLnJheS5pbnRlcnNlY3RzU3BoZXJlKHFnKSlpZihBay5nZXRJbnZlcnNlKGcpLGFpLmNvcHkoYS5yYXkpLmFwcGx5TWF0cml4NChBayksdC89KHRoaXMuc2NhbGUueCt0aGlzLnNjYWxlLnkrdGhpcy5zY2FsZS56KS8zLHQqPXQsZS5pc0J1ZmZlckdlb21ldHJ5KXt2YXIgdj1lLmluZGV4OwplPWUuYXR0cmlidXRlcy5wb3NpdGlvbi5hcnJheTtpZihudWxsIT09dil7dmFyIHo9di5hcnJheTt2PTA7Zm9yKHZhciBFPXoubGVuZ3RoO3Y8RTt2Kyspe3ZhciBGPXpbdl07emguZnJvbUFycmF5KGUsMypGKTskaCh6aCxGLHQsZyxhLGMsdGhpcyl9fWVsc2UgZm9yKHY9MCx6PWUubGVuZ3RoLzM7djx6O3YrKyl6aC5mcm9tQXJyYXkoZSwzKnYpLCRoKHpoLHYsdCxnLGEsYyx0aGlzKX1lbHNlIGZvcihlPWUudmVydGljZXMsdj0wLHo9ZS5sZW5ndGg7djx6O3YrKykkaChlW3ZdLHYsdCxnLGEsYyx0aGlzKX0sdXBkYXRlTW9ycGhUYXJnZXRzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZW9tZXRyeTtpZihhLmlzQnVmZmVyR2VvbWV0cnkpe2E9YS5tb3JwaEF0dHJpYnV0ZXM7dmFyIGM9T2JqZWN0LmtleXMoYSk7aWYoMDxjLmxlbmd0aCl7dmFyIGU9YVtjWzBdXTtpZih2b2lkIDAhPT1lKWZvcih0aGlzLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcz1bXSx0aGlzLm1vcnBoVGFyZ2V0RGljdGlvbmFyeT0Ke30sYT0wLGM9ZS5sZW5ndGg7YTxjO2ErKyl7dmFyIGc9ZVthXS5uYW1lfHxTdHJpbmcoYSk7dGhpcy5tb3JwaFRhcmdldEluZmx1ZW5jZXMucHVzaCgwKTt0aGlzLm1vcnBoVGFyZ2V0RGljdGlvbmFyeVtnXT1hfX19ZWxzZSBhPWEubW9ycGhUYXJnZXRzLHZvaWQgMCE9PWEmJjA8YS5sZW5ndGgmJmNvbnNvbGUuZXJyb3IoIlRIUkVFLlBvaW50cy51cGRhdGVNb3JwaFRhcmdldHMoKSBkb2VzIG5vdCBzdXBwb3J0IFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5nZW9tZXRyeSx0aGlzLm1hdGVyaWFsKSkuY29weSh0aGlzKX19KTtiaS5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKGwucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6YmksaXNWaWRlb1RleHR1cmU6ITAsdXBkYXRlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5pbWFnZTthLnJlYWR5U3RhdGU+PQphLkhBVkVfQ1VSUkVOVF9EQVRBJiYodGhpcy5uZWVkc1VwZGF0ZT0hMCl9fSk7RmUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobC5wcm90b3R5cGUpO0ZlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1GZTtGZS5wcm90b3R5cGUuaXNDb21wcmVzc2VkVGV4dHVyZT0hMDtEZi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShsLnByb3RvdHlwZSk7RGYucHJvdG90eXBlLmNvbnN0cnVjdG9yPURmO0RmLnByb3RvdHlwZS5pc0NhbnZhc1RleHR1cmU9ITA7RWYucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobC5wcm90b3R5cGUpO0VmLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1FZjtFZi5wcm90b3R5cGUuaXNEZXB0aFRleHR1cmU9ITA7R2UucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodmEucHJvdG90eXBlKTtHZS5wcm90b3R5cGUuY29uc3RydWN0b3I9R2U7RmYucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoeGEucHJvdG90eXBlKTtGZi5wcm90b3R5cGUuY29uc3RydWN0b3I9RmY7SGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodmEucHJvdG90eXBlKTsKSGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPUhlO0dmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7R2YucHJvdG90eXBlLmNvbnN0cnVjdG9yPUdmO21jLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHZhLnByb3RvdHlwZSk7bWMucHJvdG90eXBlLmNvbnN0cnVjdG9yPW1jO0hmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7SGYucHJvdG90eXBlLmNvbnN0cnVjdG9yPUhmO0llLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG1jLnByb3RvdHlwZSk7SWUucHJvdG90eXBlLmNvbnN0cnVjdG9yPUllO0lmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7SWYucHJvdG90eXBlLmNvbnN0cnVjdG9yPUlmO1RkLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG1jLnByb3RvdHlwZSk7VGQucHJvdG90eXBlLmNvbnN0cnVjdG9yPVRkO0pmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7SmYucHJvdG90eXBlLmNvbnN0cnVjdG9yPQpKZjtKZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShtYy5wcm90b3R5cGUpO0plLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1KZTtLZi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh4YS5wcm90b3R5cGUpO0tmLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1LZjtLZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShtYy5wcm90b3R5cGUpO0tlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1LZTtMZi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh4YS5wcm90b3R5cGUpO0xmLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1MZjtVZC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2YS5wcm90b3R5cGUpO1VkLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1VZDtVZC5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIGE9dmEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO2EucGF0aD10aGlzLnBhcmFtZXRlcnMucGF0aC50b0pTT04oKTtyZXR1cm4gYX07TWYucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoeGEucHJvdG90eXBlKTsKTWYucHJvdG90eXBlLmNvbnN0cnVjdG9yPU1mO0xlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHZhLnByb3RvdHlwZSk7TGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPUxlO05mLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7TmYucHJvdG90eXBlLmNvbnN0cnVjdG9yPU5mO01lLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHZhLnByb3RvdHlwZSk7TWUucHJvdG90eXBlLmNvbnN0cnVjdG9yPU1lO3ZhciBkbj17dHJpYW5ndWxhdGU6ZnVuY3Rpb24oYSxjLGUpe2U9ZXx8Mjt2YXIgZz1jJiZjLmxlbmd0aCx0PWc/Y1swXSplOmEubGVuZ3RoLHY9UGooYSwwLHQsZSwhMCksej1bXTtpZighdnx8di5uZXh0PT09di5wcmV2KXJldHVybiB6O2cmJih2PXltKGEsYyx2LGUpKTtpZihhLmxlbmd0aD44MCplKXt2YXIgRT1jPWFbMF07dmFyIEY9Zz1hWzFdO2Zvcih2YXIgST1lO0k8dDtJKz1lKXt2YXIgTT1hW0ldO3ZhciBQPWFbSSsxXTtNPEUmJihFPU0pO1A8RiYmKEY9UCk7Ck0+YyYmKGM9TSk7UD5nJiYoZz1QKX1NPU1hdGgubWF4KGMtRSxnLUYpO009MCE9PU0/MS9NOjB9UWYodix6LGUsRSxGLE0pO3JldHVybiB6fX0sZ2Q9e2FyZWE6ZnVuY3Rpb24oYSl7Zm9yKHZhciBjPWEubGVuZ3RoLGU9MCxnPWMtMSx0PTA7dDxjO2c9dCsrKWUrPWFbZ10ueCphW3RdLnktYVt0XS54KmFbZ10ueTtyZXR1cm4uNSplfSxpc0Nsb2NrV2lzZTpmdW5jdGlvbihhKXtyZXR1cm4gMD5nZC5hcmVhKGEpfSx0cmlhbmd1bGF0ZVNoYXBlOmZ1bmN0aW9uKGEsYyl7dmFyIGU9W10sZz1bXSx0PVtdO1RqKGEpO1VqKGUsYSk7dmFyIHY9YS5sZW5ndGg7Yy5mb3JFYWNoKFRqKTtmb3IoYT0wO2E8Yy5sZW5ndGg7YSsrKWcucHVzaCh2KSx2Kz1jW2FdLmxlbmd0aCxVaihlLGNbYV0pO2M9ZG4udHJpYW5ndWxhdGUoZSxnKTtmb3IoYT0wO2E8Yy5sZW5ndGg7YSs9Myl0LnB1c2goYy5zbGljZShhLGErMykpO3JldHVybiB0fX07V2QucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoeGEucHJvdG90eXBlKTsKV2QucHJvdG90eXBlLmNvbnN0cnVjdG9yPVdkO1dkLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXt2YXIgYT14YS5wcm90b3R5cGUudG9KU09OLmNhbGwodGhpcyk7cmV0dXJuIFZqKHRoaXMucGFyYW1ldGVycy5zaGFwZXMsdGhpcy5wYXJhbWV0ZXJzLm9wdGlvbnMsYSl9O1RjLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHZhLnByb3RvdHlwZSk7VGMucHJvdG90eXBlLmNvbnN0cnVjdG9yPVRjO1RjLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXt2YXIgYT12YS5wcm90b3R5cGUudG9KU09OLmNhbGwodGhpcyk7cmV0dXJuIFZqKHRoaXMucGFyYW1ldGVycy5zaGFwZXMsdGhpcy5wYXJhbWV0ZXJzLm9wdGlvbnMsYSl9O3ZhciBHbT17Z2VuZXJhdGVUb3BVVjpmdW5jdGlvbihhLGMsZSxnLHQpe2E9Y1szKmddO2c9Y1szKmcrMV07dmFyIHY9Y1szKnRdO3Q9Y1szKnQrMV07cmV0dXJuW25ldyBmKGNbMyplXSxjWzMqZSsxXSksbmV3IGYoYSxnKSxuZXcgZih2LHQpXX0sZ2VuZXJhdGVTaWRlV2FsbFVWOmZ1bmN0aW9uKGEsCmMsZSxnLHQsdil7YT1jWzMqZV07dmFyIHo9Y1szKmUrMV07ZT1jWzMqZSsyXTt2YXIgRT1jWzMqZ10sRj1jWzMqZysxXTtnPWNbMypnKzJdO3ZhciBJPWNbMyp0XSxNPWNbMyp0KzFdO3Q9Y1szKnQrMl07dmFyIFA9Y1szKnZdLFE9Y1szKnYrMV07Yz1jWzMqdisyXTtyZXR1cm4uMDE+TWF0aC5hYnMoei1GKT9bbmV3IGYoYSwxLWUpLG5ldyBmKEUsMS1nKSxuZXcgZihJLDEtdCksbmV3IGYoUCwxLWMpXTpbbmV3IGYoeiwxLWUpLG5ldyBmKEYsMS1nKSxuZXcgZihNLDEtdCksbmV3IGYoUSwxLWMpXX19O1NmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7U2YucHJvdG90eXBlLmNvbnN0cnVjdG9yPVNmO09lLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFRjLnByb3RvdHlwZSk7T2UucHJvdG90eXBlLmNvbnN0cnVjdG9yPU9lO1RmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7VGYucHJvdG90eXBlLmNvbnN0cnVjdG9yPVRmO0RkLnByb3RvdHlwZT0KT2JqZWN0LmNyZWF0ZSh2YS5wcm90b3R5cGUpO0RkLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1EZDtVZi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh4YS5wcm90b3R5cGUpO1VmLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1VZjtQZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2YS5wcm90b3R5cGUpO1BlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1QZTtWZi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh4YS5wcm90b3R5cGUpO1ZmLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1WZjtRZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2YS5wcm90b3R5cGUpO1FlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1RZTtYZC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh4YS5wcm90b3R5cGUpO1hkLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1YZDtYZC5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIGE9eGEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO3JldHVybiBXaih0aGlzLnBhcmFtZXRlcnMuc2hhcGVzLAphKX07WWQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodmEucHJvdG90eXBlKTtZZC5wcm90b3R5cGUuY29uc3RydWN0b3I9WWQ7WWQucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3ZhciBhPXZhLnByb3RvdHlwZS50b0pTT04uY2FsbCh0aGlzKTtyZXR1cm4gV2oodGhpcy5wYXJhbWV0ZXJzLnNoYXBlcyxhKX07UmUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodmEucHJvdG90eXBlKTtSZS5wcm90b3R5cGUuY29uc3RydWN0b3I9UmU7WmQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoeGEucHJvdG90eXBlKTtaZC5wcm90b3R5cGUuY29uc3RydWN0b3I9WmQ7aGQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodmEucHJvdG90eXBlKTtoZC5wcm90b3R5cGUuY29uc3RydWN0b3I9aGQ7V2YucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoWmQucHJvdG90eXBlKTtXZi5wcm90b3R5cGUuY29uc3RydWN0b3I9V2Y7WGYucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoaGQucHJvdG90eXBlKTtYZi5wcm90b3R5cGUuY29uc3RydWN0b3I9ClhmO1lmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHhhLnByb3RvdHlwZSk7WWYucHJvdG90eXBlLmNvbnN0cnVjdG9yPVlmO1NlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHZhLnByb3RvdHlwZSk7U2UucHJvdG90eXBlLmNvbnN0cnVjdG9yPVNlO3ZhciBqYz1PYmplY3QuZnJlZXplKHtXaXJlZnJhbWVHZW9tZXRyeTpHZSxQYXJhbWV0cmljR2VvbWV0cnk6RmYsUGFyYW1ldHJpY0J1ZmZlckdlb21ldHJ5OkhlLFRldHJhaGVkcm9uR2VvbWV0cnk6SGYsVGV0cmFoZWRyb25CdWZmZXJHZW9tZXRyeTpJZSxPY3RhaGVkcm9uR2VvbWV0cnk6SWYsT2N0YWhlZHJvbkJ1ZmZlckdlb21ldHJ5OlRkLEljb3NhaGVkcm9uR2VvbWV0cnk6SmYsSWNvc2FoZWRyb25CdWZmZXJHZW9tZXRyeTpKZSxEb2RlY2FoZWRyb25HZW9tZXRyeTpLZixEb2RlY2FoZWRyb25CdWZmZXJHZW9tZXRyeTpLZSxQb2x5aGVkcm9uR2VvbWV0cnk6R2YsUG9seWhlZHJvbkJ1ZmZlckdlb21ldHJ5Om1jLFR1YmVHZW9tZXRyeTpMZiwKVHViZUJ1ZmZlckdlb21ldHJ5OlVkLFRvcnVzS25vdEdlb21ldHJ5Ok1mLFRvcnVzS25vdEJ1ZmZlckdlb21ldHJ5OkxlLFRvcnVzR2VvbWV0cnk6TmYsVG9ydXNCdWZmZXJHZW9tZXRyeTpNZSxUZXh0R2VvbWV0cnk6U2YsVGV4dEJ1ZmZlckdlb21ldHJ5Ok9lLFNwaGVyZUdlb21ldHJ5OlRmLFNwaGVyZUJ1ZmZlckdlb21ldHJ5OkRkLFJpbmdHZW9tZXRyeTpVZixSaW5nQnVmZmVyR2VvbWV0cnk6UGUsUGxhbmVHZW9tZXRyeTp0ZCxQbGFuZUJ1ZmZlckdlb21ldHJ5Ok5jLExhdGhlR2VvbWV0cnk6VmYsTGF0aGVCdWZmZXJHZW9tZXRyeTpRZSxTaGFwZUdlb21ldHJ5OlhkLFNoYXBlQnVmZmVyR2VvbWV0cnk6WWQsRXh0cnVkZUdlb21ldHJ5OldkLEV4dHJ1ZGVCdWZmZXJHZW9tZXRyeTpUYyxFZGdlc0dlb21ldHJ5OlJlLENvbmVHZW9tZXRyeTpXZixDb25lQnVmZmVyR2VvbWV0cnk6WGYsQ3lsaW5kZXJHZW9tZXRyeTpaZCxDeWxpbmRlckJ1ZmZlckdlb21ldHJ5OmhkLENpcmNsZUdlb21ldHJ5OllmLApDaXJjbGVCdWZmZXJHZW9tZXRyeTpTZSxCb3hHZW9tZXRyeTpTYSxCb3hCdWZmZXJHZW9tZXRyeTpYYX0pOyRkLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFMucHJvdG90eXBlKTskZC5wcm90b3R5cGUuY29uc3RydWN0b3I9JGQ7JGQucHJvdG90eXBlLmlzU2hhZG93TWF0ZXJpYWw9ITA7JGQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7Uy5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5jb2xvci5jb3B5KGEuY29sb3IpO3JldHVybiB0aGlzfTtUZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShxYi5wcm90b3R5cGUpO1RlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1UZTtUZS5wcm90b3R5cGUuaXNSYXdTaGFkZXJNYXRlcmlhbD0hMDtVYy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShTLnByb3RvdHlwZSk7VWMucHJvdG90eXBlLmNvbnN0cnVjdG9yPVVjO1VjLnByb3RvdHlwZS5pc01lc2hTdGFuZGFyZE1hdGVyaWFsPSEwO1VjLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1MucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLAphKTt0aGlzLmRlZmluZXM9e1NUQU5EQVJEOiIifTt0aGlzLmNvbG9yLmNvcHkoYS5jb2xvcik7dGhpcy5yb3VnaG5lc3M9YS5yb3VnaG5lc3M7dGhpcy5tZXRhbG5lc3M9YS5tZXRhbG5lc3M7dGhpcy5tYXA9YS5tYXA7dGhpcy5saWdodE1hcD1hLmxpZ2h0TWFwO3RoaXMubGlnaHRNYXBJbnRlbnNpdHk9YS5saWdodE1hcEludGVuc2l0eTt0aGlzLmFvTWFwPWEuYW9NYXA7dGhpcy5hb01hcEludGVuc2l0eT1hLmFvTWFwSW50ZW5zaXR5O3RoaXMuZW1pc3NpdmUuY29weShhLmVtaXNzaXZlKTt0aGlzLmVtaXNzaXZlTWFwPWEuZW1pc3NpdmVNYXA7dGhpcy5lbWlzc2l2ZUludGVuc2l0eT1hLmVtaXNzaXZlSW50ZW5zaXR5O3RoaXMuYnVtcE1hcD1hLmJ1bXBNYXA7dGhpcy5idW1wU2NhbGU9YS5idW1wU2NhbGU7dGhpcy5ub3JtYWxNYXA9YS5ub3JtYWxNYXA7dGhpcy5ub3JtYWxNYXBUeXBlPWEubm9ybWFsTWFwVHlwZTt0aGlzLm5vcm1hbFNjYWxlLmNvcHkoYS5ub3JtYWxTY2FsZSk7CnRoaXMuZGlzcGxhY2VtZW50TWFwPWEuZGlzcGxhY2VtZW50TWFwO3RoaXMuZGlzcGxhY2VtZW50U2NhbGU9YS5kaXNwbGFjZW1lbnRTY2FsZTt0aGlzLmRpc3BsYWNlbWVudEJpYXM9YS5kaXNwbGFjZW1lbnRCaWFzO3RoaXMucm91Z2huZXNzTWFwPWEucm91Z2huZXNzTWFwO3RoaXMubWV0YWxuZXNzTWFwPWEubWV0YWxuZXNzTWFwO3RoaXMuYWxwaGFNYXA9YS5hbHBoYU1hcDt0aGlzLmVudk1hcD1hLmVudk1hcDt0aGlzLmVudk1hcEludGVuc2l0eT1hLmVudk1hcEludGVuc2l0eTt0aGlzLnJlZnJhY3Rpb25SYXRpbz1hLnJlZnJhY3Rpb25SYXRpbzt0aGlzLndpcmVmcmFtZT1hLndpcmVmcmFtZTt0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD1hLndpcmVmcmFtZUxpbmV3aWR0aDt0aGlzLndpcmVmcmFtZUxpbmVjYXA9YS53aXJlZnJhbWVMaW5lY2FwO3RoaXMud2lyZWZyYW1lTGluZWpvaW49YS53aXJlZnJhbWVMaW5lam9pbjt0aGlzLnNraW5uaW5nPWEuc2tpbm5pbmc7dGhpcy5tb3JwaFRhcmdldHM9CmEubW9ycGhUYXJnZXRzO3RoaXMubW9ycGhOb3JtYWxzPWEubW9ycGhOb3JtYWxzO3JldHVybiB0aGlzfTthZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShVYy5wcm90b3R5cGUpO2FlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hZTthZS5wcm90b3R5cGUuaXNNZXNoUGh5c2ljYWxNYXRlcmlhbD0hMDthZS5wcm90b3R5cGUuY29weT1mdW5jdGlvbihhKXtVYy5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5kZWZpbmVzPXtTVEFOREFSRDoiIixQSFlTSUNBTDoiIn07dGhpcy5yZWZsZWN0aXZpdHk9YS5yZWZsZWN0aXZpdHk7dGhpcy5jbGVhcmNvYXQ9YS5jbGVhcmNvYXQ7dGhpcy5jbGVhcmNvYXRSb3VnaG5lc3M9YS5jbGVhcmNvYXRSb3VnaG5lc3M7dGhpcy5zaGVlbj1hLnNoZWVuPyh0aGlzLnNoZWVufHxuZXcgSCkuY29weShhLnNoZWVuKTpudWxsO3RoaXMuY2xlYXJjb2F0Tm9ybWFsTWFwPWEuY2xlYXJjb2F0Tm9ybWFsTWFwO3RoaXMuY2xlYXJjb2F0Tm9ybWFsU2NhbGUuY29weShhLmNsZWFyY29hdE5vcm1hbFNjYWxlKTsKdGhpcy50cmFuc3BhcmVuY3k9YS50cmFuc3BhcmVuY3k7cmV0dXJuIHRoaXN9O0RjLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFMucHJvdG90eXBlKTtEYy5wcm90b3R5cGUuY29uc3RydWN0b3I9RGM7RGMucHJvdG90eXBlLmlzTWVzaFBob25nTWF0ZXJpYWw9ITA7RGMucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7Uy5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5jb2xvci5jb3B5KGEuY29sb3IpO3RoaXMuc3BlY3VsYXIuY29weShhLnNwZWN1bGFyKTt0aGlzLnNoaW5pbmVzcz1hLnNoaW5pbmVzczt0aGlzLm1hcD1hLm1hcDt0aGlzLmxpZ2h0TWFwPWEubGlnaHRNYXA7dGhpcy5saWdodE1hcEludGVuc2l0eT1hLmxpZ2h0TWFwSW50ZW5zaXR5O3RoaXMuYW9NYXA9YS5hb01hcDt0aGlzLmFvTWFwSW50ZW5zaXR5PWEuYW9NYXBJbnRlbnNpdHk7dGhpcy5lbWlzc2l2ZS5jb3B5KGEuZW1pc3NpdmUpO3RoaXMuZW1pc3NpdmVNYXA9YS5lbWlzc2l2ZU1hcDt0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PQphLmVtaXNzaXZlSW50ZW5zaXR5O3RoaXMuYnVtcE1hcD1hLmJ1bXBNYXA7dGhpcy5idW1wU2NhbGU9YS5idW1wU2NhbGU7dGhpcy5ub3JtYWxNYXA9YS5ub3JtYWxNYXA7dGhpcy5ub3JtYWxNYXBUeXBlPWEubm9ybWFsTWFwVHlwZTt0aGlzLm5vcm1hbFNjYWxlLmNvcHkoYS5ub3JtYWxTY2FsZSk7dGhpcy5kaXNwbGFjZW1lbnRNYXA9YS5kaXNwbGFjZW1lbnRNYXA7dGhpcy5kaXNwbGFjZW1lbnRTY2FsZT1hLmRpc3BsYWNlbWVudFNjYWxlO3RoaXMuZGlzcGxhY2VtZW50Qmlhcz1hLmRpc3BsYWNlbWVudEJpYXM7dGhpcy5zcGVjdWxhck1hcD1hLnNwZWN1bGFyTWFwO3RoaXMuYWxwaGFNYXA9YS5hbHBoYU1hcDt0aGlzLmVudk1hcD1hLmVudk1hcDt0aGlzLmNvbWJpbmU9YS5jb21iaW5lO3RoaXMucmVmbGVjdGl2aXR5PWEucmVmbGVjdGl2aXR5O3RoaXMucmVmcmFjdGlvblJhdGlvPWEucmVmcmFjdGlvblJhdGlvO3RoaXMud2lyZWZyYW1lPWEud2lyZWZyYW1lO3RoaXMud2lyZWZyYW1lTGluZXdpZHRoPQphLndpcmVmcmFtZUxpbmV3aWR0aDt0aGlzLndpcmVmcmFtZUxpbmVjYXA9YS53aXJlZnJhbWVMaW5lY2FwO3RoaXMud2lyZWZyYW1lTGluZWpvaW49YS53aXJlZnJhbWVMaW5lam9pbjt0aGlzLnNraW5uaW5nPWEuc2tpbm5pbmc7dGhpcy5tb3JwaFRhcmdldHM9YS5tb3JwaFRhcmdldHM7dGhpcy5tb3JwaE5vcm1hbHM9YS5tb3JwaE5vcm1hbHM7cmV0dXJuIHRoaXN9O2JlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKERjLnByb3RvdHlwZSk7YmUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWJlO2JlLnByb3RvdHlwZS5pc01lc2hUb29uTWF0ZXJpYWw9ITA7YmUucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7RGMucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMuZ3JhZGllbnRNYXA9YS5ncmFkaWVudE1hcDtyZXR1cm4gdGhpc307Y2UucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoUy5wcm90b3R5cGUpO2NlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1jZTtjZS5wcm90b3R5cGUuaXNNZXNoTm9ybWFsTWF0ZXJpYWw9CiEwO2NlLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1MucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMuYnVtcE1hcD1hLmJ1bXBNYXA7dGhpcy5idW1wU2NhbGU9YS5idW1wU2NhbGU7dGhpcy5ub3JtYWxNYXA9YS5ub3JtYWxNYXA7dGhpcy5ub3JtYWxNYXBUeXBlPWEubm9ybWFsTWFwVHlwZTt0aGlzLm5vcm1hbFNjYWxlLmNvcHkoYS5ub3JtYWxTY2FsZSk7dGhpcy5kaXNwbGFjZW1lbnRNYXA9YS5kaXNwbGFjZW1lbnRNYXA7dGhpcy5kaXNwbGFjZW1lbnRTY2FsZT1hLmRpc3BsYWNlbWVudFNjYWxlO3RoaXMuZGlzcGxhY2VtZW50Qmlhcz1hLmRpc3BsYWNlbWVudEJpYXM7dGhpcy53aXJlZnJhbWU9YS53aXJlZnJhbWU7dGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9YS53aXJlZnJhbWVMaW5ld2lkdGg7dGhpcy5za2lubmluZz1hLnNraW5uaW5nO3RoaXMubW9ycGhUYXJnZXRzPWEubW9ycGhUYXJnZXRzO3RoaXMubW9ycGhOb3JtYWxzPWEubW9ycGhOb3JtYWxzO3JldHVybiB0aGlzfTsKZGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoUy5wcm90b3R5cGUpO2RlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1kZTtkZS5wcm90b3R5cGUuaXNNZXNoTGFtYmVydE1hdGVyaWFsPSEwO2RlLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1MucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMuY29sb3IuY29weShhLmNvbG9yKTt0aGlzLm1hcD1hLm1hcDt0aGlzLmxpZ2h0TWFwPWEubGlnaHRNYXA7dGhpcy5saWdodE1hcEludGVuc2l0eT1hLmxpZ2h0TWFwSW50ZW5zaXR5O3RoaXMuYW9NYXA9YS5hb01hcDt0aGlzLmFvTWFwSW50ZW5zaXR5PWEuYW9NYXBJbnRlbnNpdHk7dGhpcy5lbWlzc2l2ZS5jb3B5KGEuZW1pc3NpdmUpO3RoaXMuZW1pc3NpdmVNYXA9YS5lbWlzc2l2ZU1hcDt0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PWEuZW1pc3NpdmVJbnRlbnNpdHk7dGhpcy5zcGVjdWxhck1hcD1hLnNwZWN1bGFyTWFwO3RoaXMuYWxwaGFNYXA9YS5hbHBoYU1hcDt0aGlzLmVudk1hcD0KYS5lbnZNYXA7dGhpcy5jb21iaW5lPWEuY29tYmluZTt0aGlzLnJlZmxlY3Rpdml0eT1hLnJlZmxlY3Rpdml0eTt0aGlzLnJlZnJhY3Rpb25SYXRpbz1hLnJlZnJhY3Rpb25SYXRpbzt0aGlzLndpcmVmcmFtZT1hLndpcmVmcmFtZTt0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD1hLndpcmVmcmFtZUxpbmV3aWR0aDt0aGlzLndpcmVmcmFtZUxpbmVjYXA9YS53aXJlZnJhbWVMaW5lY2FwO3RoaXMud2lyZWZyYW1lTGluZWpvaW49YS53aXJlZnJhbWVMaW5lam9pbjt0aGlzLnNraW5uaW5nPWEuc2tpbm5pbmc7dGhpcy5tb3JwaFRhcmdldHM9YS5tb3JwaFRhcmdldHM7dGhpcy5tb3JwaE5vcm1hbHM9YS5tb3JwaE5vcm1hbHM7cmV0dXJuIHRoaXN9O2VlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFMucHJvdG90eXBlKTtlZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZWU7ZWUucHJvdG90eXBlLmlzTWVzaE1hdGNhcE1hdGVyaWFsPSEwO2VlLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1MucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLAphKTt0aGlzLmRlZmluZXM9e01BVENBUDoiIn07dGhpcy5jb2xvci5jb3B5KGEuY29sb3IpO3RoaXMubWF0Y2FwPWEubWF0Y2FwO3RoaXMubWFwPWEubWFwO3RoaXMuYnVtcE1hcD1hLmJ1bXBNYXA7dGhpcy5idW1wU2NhbGU9YS5idW1wU2NhbGU7dGhpcy5ub3JtYWxNYXA9YS5ub3JtYWxNYXA7dGhpcy5ub3JtYWxNYXBUeXBlPWEubm9ybWFsTWFwVHlwZTt0aGlzLm5vcm1hbFNjYWxlLmNvcHkoYS5ub3JtYWxTY2FsZSk7dGhpcy5kaXNwbGFjZW1lbnRNYXA9YS5kaXNwbGFjZW1lbnRNYXA7dGhpcy5kaXNwbGFjZW1lbnRTY2FsZT1hLmRpc3BsYWNlbWVudFNjYWxlO3RoaXMuZGlzcGxhY2VtZW50Qmlhcz1hLmRpc3BsYWNlbWVudEJpYXM7dGhpcy5hbHBoYU1hcD1hLmFscGhhTWFwO3RoaXMuc2tpbm5pbmc9YS5za2lubmluZzt0aGlzLm1vcnBoVGFyZ2V0cz1hLm1vcnBoVGFyZ2V0czt0aGlzLm1vcnBoTm9ybWFscz1hLm1vcnBoTm9ybWFscztyZXR1cm4gdGhpc307ZmUucHJvdG90eXBlPQpPYmplY3QuY3JlYXRlKEZiLnByb3RvdHlwZSk7ZmUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWZlO2ZlLnByb3RvdHlwZS5pc0xpbmVEYXNoZWRNYXRlcmlhbD0hMDtmZS5wcm90b3R5cGUuY29weT1mdW5jdGlvbihhKXtGYi5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5zY2FsZT1hLnNjYWxlO3RoaXMuZGFzaFNpemU9YS5kYXNoU2l6ZTt0aGlzLmdhcFNpemU9YS5nYXBTaXplO3JldHVybiB0aGlzfTt2YXIgZW49T2JqZWN0LmZyZWV6ZSh7U2hhZG93TWF0ZXJpYWw6JGQsU3ByaXRlTWF0ZXJpYWw6Q2QsUmF3U2hhZGVyTWF0ZXJpYWw6VGUsU2hhZGVyTWF0ZXJpYWw6cWIsUG9pbnRzTWF0ZXJpYWw6Q2MsTWVzaFBoeXNpY2FsTWF0ZXJpYWw6YWUsTWVzaFN0YW5kYXJkTWF0ZXJpYWw6VWMsTWVzaFBob25nTWF0ZXJpYWw6RGMsTWVzaFRvb25NYXRlcmlhbDpiZSxNZXNoTm9ybWFsTWF0ZXJpYWw6Y2UsTWVzaExhbWJlcnRNYXRlcmlhbDpkZSxNZXNoRGVwdGhNYXRlcmlhbDp4ZCwKTWVzaERpc3RhbmNlTWF0ZXJpYWw6eWQsTWVzaEJhc2ljTWF0ZXJpYWw6TixNZXNoTWF0Y2FwTWF0ZXJpYWw6ZWUsTGluZURhc2hlZE1hdGVyaWFsOmZlLExpbmVCYXNpY01hdGVyaWFsOkZiLE1hdGVyaWFsOlN9KSxWYj17YXJyYXlTbGljZTpmdW5jdGlvbihhLGMsZSl7cmV0dXJuIFZiLmlzVHlwZWRBcnJheShhKT9uZXcgYS5jb25zdHJ1Y3RvcihhLnN1YmFycmF5KGMsdm9pZCAwIT09ZT9lOmEubGVuZ3RoKSk6YS5zbGljZShjLGUpfSxjb252ZXJ0QXJyYXk6ZnVuY3Rpb24oYSxjLGUpe3JldHVybiFhfHwhZSYmYS5jb25zdHJ1Y3Rvcj09PWM/YToibnVtYmVyIj09PXR5cGVvZiBjLkJZVEVTX1BFUl9FTEVNRU5UP25ldyBjKGEpOkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEpfSxpc1R5cGVkQXJyYXk6ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5QnVmZmVyLmlzVmlldyhhKSYmIShhIGluc3RhbmNlb2YgRGF0YVZpZXcpfSxnZXRLZXlmcmFtZU9yZGVyOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz0KYS5sZW5ndGgsZT1BcnJheShjKSxnPTA7ZyE9PWM7KytnKWVbZ109ZztlLnNvcnQoZnVuY3Rpb24odCx2KXtyZXR1cm4gYVt0XS1hW3ZdfSk7cmV0dXJuIGV9LHNvcnRlZEFycmF5OmZ1bmN0aW9uKGEsYyxlKXtmb3IodmFyIGc9YS5sZW5ndGgsdD1uZXcgYS5jb25zdHJ1Y3RvcihnKSx2PTAsej0wO3ohPT1nOysrdilmb3IodmFyIEU9ZVt2XSpjLEY9MDtGIT09YzsrK0YpdFt6KytdPWFbRStGXTtyZXR1cm4gdH0sZmxhdHRlbkpTT046ZnVuY3Rpb24oYSxjLGUsZyl7Zm9yKHZhciB0PTEsdj1hWzBdO3ZvaWQgMCE9PXYmJnZvaWQgMD09PXZbZ107KXY9YVt0KytdO2lmKHZvaWQgMCE9PXYpe3ZhciB6PXZbZ107aWYodm9pZCAwIT09eilpZihBcnJheS5pc0FycmF5KHopKXtkbyB6PXZbZ10sdm9pZCAwIT09eiYmKGMucHVzaCh2LnRpbWUpLGUucHVzaC5hcHBseShlLHopKSx2PWFbdCsrXTt3aGlsZSh2b2lkIDAhPT12KX1lbHNlIGlmKHZvaWQgMCE9PXoudG9BcnJheSl7ZG8gej12W2ddLAp2b2lkIDAhPT16JiYoYy5wdXNoKHYudGltZSksei50b0FycmF5KGUsZS5sZW5ndGgpKSx2PWFbdCsrXTt3aGlsZSh2b2lkIDAhPT12KX1lbHNle2RvIHo9dltnXSx2b2lkIDAhPT16JiYoYy5wdXNoKHYudGltZSksZS5wdXNoKHopKSx2PWFbdCsrXTt3aGlsZSh2b2lkIDAhPT12KX19fX07T2JqZWN0LmFzc2lnbihyYy5wcm90b3R5cGUse2V2YWx1YXRlOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMucGFyYW1ldGVyUG9zaXRpb25zLGU9dGhpcy5fY2FjaGVkSW5kZXgsZz1jW2VdLHQ9Y1tlLTFdO2E6e2I6e2M6e2Q6aWYoIShhPGcpKXtmb3IodmFyIHY9ZSsyOzspe2lmKHZvaWQgMD09PWcpe2lmKGE8dClicmVhayBkO3RoaXMuX2NhY2hlZEluZGV4PWU9Yy5sZW5ndGg7cmV0dXJuIHRoaXMuYWZ0ZXJFbmRfKGUtMSxhLHQpfWlmKGU9PT12KWJyZWFrO3Q9ZztnPWNbKytlXTtpZihhPGcpYnJlYWsgYn1nPWMubGVuZ3RoO2JyZWFrIGN9aWYoYT49dClicmVhayBhO2Vsc2V7dj1jWzFdO2E8diYmCihlPTIsdD12KTtmb3Iodj1lLTI7Oyl7aWYodm9pZCAwPT09dClyZXR1cm4gdGhpcy5fY2FjaGVkSW5kZXg9MCx0aGlzLmJlZm9yZVN0YXJ0XygwLGEsZyk7aWYoZT09PXYpYnJlYWs7Zz10O3Q9Y1stLWUtMV07aWYoYT49dClicmVhayBifWc9ZTtlPTB9fWZvcig7ZTxnOyl0PWUrZz4+PjEsYTxjW3RdP2c9dDplPXQrMTtnPWNbZV07dD1jW2UtMV07aWYodm9pZCAwPT09dClyZXR1cm4gdGhpcy5fY2FjaGVkSW5kZXg9MCx0aGlzLmJlZm9yZVN0YXJ0XygwLGEsZyk7aWYodm9pZCAwPT09ZylyZXR1cm4gdGhpcy5fY2FjaGVkSW5kZXg9ZT1jLmxlbmd0aCx0aGlzLmFmdGVyRW5kXyhlLTEsdCxhKX10aGlzLl9jYWNoZWRJbmRleD1lO3RoaXMuaW50ZXJ2YWxDaGFuZ2VkXyhlLHQsZyl9cmV0dXJuIHRoaXMuaW50ZXJwb2xhdGVfKGUsdCxhLGcpfSxzZXR0aW5nczpudWxsLERlZmF1bHRTZXR0aW5nc186e30sZ2V0U2V0dGluZ3NfOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2V0dGluZ3N8fAp0aGlzLkRlZmF1bHRTZXR0aW5nc199LGNvcHlTYW1wbGVWYWx1ZV86ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5yZXN1bHRCdWZmZXIsZT10aGlzLnNhbXBsZVZhbHVlcyxnPXRoaXMudmFsdWVTaXplO2EqPWc7Zm9yKHZhciB0PTA7dCE9PWc7Kyt0KWNbdF09ZVthK3RdO3JldHVybiBjfSxpbnRlcnBvbGF0ZV86ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiY2FsbCB0byBhYnN0cmFjdCBtZXRob2QiKTt9LGludGVydmFsQ2hhbmdlZF86ZnVuY3Rpb24oKXt9fSk7T2JqZWN0LmFzc2lnbihyYy5wcm90b3R5cGUse2JlZm9yZVN0YXJ0XzpyYy5wcm90b3R5cGUuY29weVNhbXBsZVZhbHVlXyxhZnRlckVuZF86cmMucHJvdG90eXBlLmNvcHlTYW1wbGVWYWx1ZV99KTtIZy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKHJjLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOkhnLERlZmF1bHRTZXR0aW5nc186e2VuZGluZ1N0YXJ0OjI0MDAsZW5kaW5nRW5kOjI0MDB9LGludGVydmFsQ2hhbmdlZF86ZnVuY3Rpb24oYSwKYyxlKXt2YXIgZz10aGlzLnBhcmFtZXRlclBvc2l0aW9ucyx0PWEtMix2PWErMSx6PWdbdF0sRT1nW3ZdO2lmKHZvaWQgMD09PXopc3dpdGNoKHRoaXMuZ2V0U2V0dGluZ3NfKCkuZW5kaW5nU3RhcnQpe2Nhc2UgMjQwMTp0PWE7ej0yKmMtZTticmVhaztjYXNlIDI0MDI6dD1nLmxlbmd0aC0yO3o9YytnW3RdLWdbdCsxXTticmVhaztkZWZhdWx0OnQ9YSx6PWV9aWYodm9pZCAwPT09RSlzd2l0Y2godGhpcy5nZXRTZXR0aW5nc18oKS5lbmRpbmdFbmQpe2Nhc2UgMjQwMTp2PWE7RT0yKmUtYzticmVhaztjYXNlIDI0MDI6dj0xO0U9ZStnWzFdLWdbMF07YnJlYWs7ZGVmYXVsdDp2PWEtMSxFPWN9YT0uNSooZS1jKTtnPXRoaXMudmFsdWVTaXplO3RoaXMuX3dlaWdodFByZXY9YS8oYy16KTt0aGlzLl93ZWlnaHROZXh0PWEvKEUtZSk7dGhpcy5fb2Zmc2V0UHJldj10Kmc7dGhpcy5fb2Zmc2V0TmV4dD12Kmd9LGludGVycG9sYXRlXzpmdW5jdGlvbihhLGMsZSxnKXt2YXIgdD10aGlzLnJlc3VsdEJ1ZmZlciwKdj10aGlzLnNhbXBsZVZhbHVlcyx6PXRoaXMudmFsdWVTaXplO2EqPXo7dmFyIEU9YS16LEY9dGhpcy5fb2Zmc2V0UHJldixJPXRoaXMuX29mZnNldE5leHQsTT10aGlzLl93ZWlnaHRQcmV2LFA9dGhpcy5fd2VpZ2h0TmV4dCxRPShlLWMpLyhnLWMpO2U9USpRO2c9ZSpRO2M9LU0qZysyKk0qZS1NKlE7TT0oMStNKSpnKygtMS41LTIqTSkqZSsoLS41K00pKlErMTtRPSgtMS1QKSpnKygxLjUrUCkqZSsuNSpRO1A9UCpnLVAqZTtmb3IoZT0wO2UhPT16OysrZSl0W2VdPWMqdltGK2VdK00qdltFK2VdK1EqdlthK2VdK1AqdltJK2VdO3JldHVybiB0fX0pO1pmLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUocmMucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6WmYsaW50ZXJwb2xhdGVfOmZ1bmN0aW9uKGEsYyxlLGcpe3ZhciB0PXRoaXMucmVzdWx0QnVmZmVyLHY9dGhpcy5zYW1wbGVWYWx1ZXMsej10aGlzLnZhbHVlU2l6ZTthKj16O3ZhciBFPWEtejtjPShlLWMpLyhnLQpjKTtlPTEtYztmb3IoZz0wO2chPT16OysrZyl0W2ddPXZbRStnXSplK3ZbYStnXSpjO3JldHVybiB0fX0pO0lnLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUocmMucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6SWcsaW50ZXJwb2xhdGVfOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmNvcHlTYW1wbGVWYWx1ZV8oYS0xKX19KTtPYmplY3QuYXNzaWduKFpiLHt0b0pTT046ZnVuY3Rpb24oYSl7dmFyIGM9YS5jb25zdHJ1Y3RvcjtpZih2b2lkIDAhPT1jLnRvSlNPTiljPWMudG9KU09OKGEpO2Vsc2V7Yz17bmFtZTphLm5hbWUsdGltZXM6VmIuY29udmVydEFycmF5KGEudGltZXMsQXJyYXkpLHZhbHVlczpWYi5jb252ZXJ0QXJyYXkoYS52YWx1ZXMsQXJyYXkpfTt2YXIgZT1hLmdldEludGVycG9sYXRpb24oKTtlIT09YS5EZWZhdWx0SW50ZXJwb2xhdGlvbiYmKGMuaW50ZXJwb2xhdGlvbj1lKX1jLnR5cGU9YS5WYWx1ZVR5cGVOYW1lO3JldHVybiBjfX0pO09iamVjdC5hc3NpZ24oWmIucHJvdG90eXBlLAp7Y29uc3RydWN0b3I6WmIsVGltZUJ1ZmZlclR5cGU6RmxvYXQzMkFycmF5LFZhbHVlQnVmZmVyVHlwZTpGbG9hdDMyQXJyYXksRGVmYXVsdEludGVycG9sYXRpb246MjMwMSxJbnRlcnBvbGFudEZhY3RvcnlNZXRob2REaXNjcmV0ZTpmdW5jdGlvbihhKXtyZXR1cm4gbmV3IElnKHRoaXMudGltZXMsdGhpcy52YWx1ZXMsdGhpcy5nZXRWYWx1ZVNpemUoKSxhKX0sSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kTGluZWFyOmZ1bmN0aW9uKGEpe3JldHVybiBuZXcgWmYodGhpcy50aW1lcyx0aGlzLnZhbHVlcyx0aGlzLmdldFZhbHVlU2l6ZSgpLGEpfSxJbnRlcnBvbGFudEZhY3RvcnlNZXRob2RTbW9vdGg6ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBIZyh0aGlzLnRpbWVzLHRoaXMudmFsdWVzLHRoaXMuZ2V0VmFsdWVTaXplKCksYSl9LHNldEludGVycG9sYXRpb246ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMjMwMDp2YXIgYz10aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZERpc2NyZXRlOwpicmVhaztjYXNlIDIzMDE6Yz10aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZExpbmVhcjticmVhaztjYXNlIDIzMDI6Yz10aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZFNtb290aH1pZih2b2lkIDA9PT1jKXtjPSJ1bnN1cHBvcnRlZCBpbnRlcnBvbGF0aW9uIGZvciAiK3RoaXMuVmFsdWVUeXBlTmFtZSsiIGtleWZyYW1lIHRyYWNrIG5hbWVkICIrdGhpcy5uYW1lO2lmKHZvaWQgMD09PXRoaXMuY3JlYXRlSW50ZXJwb2xhbnQpaWYoYSE9PXRoaXMuRGVmYXVsdEludGVycG9sYXRpb24pdGhpcy5zZXRJbnRlcnBvbGF0aW9uKHRoaXMuRGVmYXVsdEludGVycG9sYXRpb24pO2Vsc2UgdGhyb3cgRXJyb3IoYyk7Y29uc29sZS53YXJuKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiIsYyk7cmV0dXJuIHRoaXN9dGhpcy5jcmVhdGVJbnRlcnBvbGFudD1jO3JldHVybiB0aGlzfSxnZXRJbnRlcnBvbGF0aW9uOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuY3JlYXRlSW50ZXJwb2xhbnQpe2Nhc2UgdGhpcy5JbnRlcnBvbGFudEZhY3RvcnlNZXRob2REaXNjcmV0ZTpyZXR1cm4gMjMwMDsKY2FzZSB0aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZExpbmVhcjpyZXR1cm4gMjMwMTtjYXNlIHRoaXMuSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kU21vb3RoOnJldHVybiAyMzAyfX0sZ2V0VmFsdWVTaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzLmxlbmd0aC90aGlzLnRpbWVzLmxlbmd0aH0sc2hpZnQ6ZnVuY3Rpb24oYSl7aWYoMCE9PWEpZm9yKHZhciBjPXRoaXMudGltZXMsZT0wLGc9Yy5sZW5ndGg7ZSE9PWc7KytlKWNbZV0rPWE7cmV0dXJuIHRoaXN9LHNjYWxlOmZ1bmN0aW9uKGEpe2lmKDEhPT1hKWZvcih2YXIgYz10aGlzLnRpbWVzLGU9MCxnPWMubGVuZ3RoO2UhPT1nOysrZSljW2VdKj1hO3JldHVybiB0aGlzfSx0cmltOmZ1bmN0aW9uKGEsYyl7Zm9yKHZhciBlPXRoaXMudGltZXMsZz1lLmxlbmd0aCx0PTAsdj1nLTE7dCE9PWcmJmVbdF08YTspKyt0O2Zvcig7LTEhPT12JiZlW3ZdPmM7KS0tdjsrK3Y7aWYoMCE9PXR8fHYhPT1nKXQ+PXYmJih2PU1hdGgubWF4KHYsCjEpLHQ9di0xKSxhPXRoaXMuZ2V0VmFsdWVTaXplKCksdGhpcy50aW1lcz1WYi5hcnJheVNsaWNlKGUsdCx2KSx0aGlzLnZhbHVlcz1WYi5hcnJheVNsaWNlKHRoaXMudmFsdWVzLHQqYSx2KmEpO3JldHVybiB0aGlzfSx2YWxpZGF0ZTpmdW5jdGlvbigpe3ZhciBhPSEwLGM9dGhpcy5nZXRWYWx1ZVNpemUoKTswIT09Yy1NYXRoLmZsb29yKGMpJiYoY29uc29sZS5lcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogSW52YWxpZCB2YWx1ZSBzaXplIGluIHRyYWNrLiIsdGhpcyksYT0hMSk7dmFyIGU9dGhpcy50aW1lcztjPXRoaXMudmFsdWVzO3ZhciBnPWUubGVuZ3RoOzA9PT1nJiYoY29uc29sZS5lcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogVHJhY2sgaXMgZW1wdHkuIix0aGlzKSxhPSExKTtmb3IodmFyIHQ9bnVsbCx2PTA7diE9PWc7disrKXt2YXIgej1lW3ZdO2lmKCJudW1iZXIiPT09dHlwZW9mIHomJmlzTmFOKHopKXtjb25zb2xlLmVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiBUaW1lIGlzIG5vdCBhIHZhbGlkIG51bWJlci4iLAp0aGlzLHYseik7YT0hMTticmVha31pZihudWxsIT09dCYmdD56KXtjb25zb2xlLmVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiBPdXQgb2Ygb3JkZXIga2V5cy4iLHRoaXMsdix6LHQpO2E9ITE7YnJlYWt9dD16fWlmKHZvaWQgMCE9PWMmJlZiLmlzVHlwZWRBcnJheShjKSlmb3Iodj0wLGU9Yy5sZW5ndGg7diE9PWU7Kyt2KWlmKGc9Y1t2XSxpc05hTihnKSl7Y29uc29sZS5lcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogVmFsdWUgaXMgbm90IGEgdmFsaWQgbnVtYmVyLiIsdGhpcyx2LGcpO2E9ITE7YnJlYWt9cmV0dXJuIGF9LG9wdGltaXplOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMudGltZXMsYz10aGlzLnZhbHVlcyxlPXRoaXMuZ2V0VmFsdWVTaXplKCksZz0yMzAyPT09dGhpcy5nZXRJbnRlcnBvbGF0aW9uKCksdD0xLHY9YS5sZW5ndGgtMSx6PTE7ejx2Oysreil7dmFyIEU9ITEsRj1hW3pdO2lmKEYhPT1hW3orMV0mJigxIT09enx8RiE9PUZbMF0pKWlmKGcpRT0hMDsKZWxzZXt2YXIgST16KmUsTT1JLWUsUD1JK2U7Zm9yKEY9MDtGIT09ZTsrK0Ype3ZhciBRPWNbSStGXTtpZihRIT09Y1tNK0ZdfHxRIT09Y1tQK0ZdKXtFPSEwO2JyZWFrfX19aWYoRSl7aWYoeiE9PXQpZm9yKGFbdF09YVt6XSxFPXoqZSxJPXQqZSxGPTA7RiE9PWU7KytGKWNbSStGXT1jW0UrRl07Kyt0fX1pZigwPHYpe2FbdF09YVt2XTtFPXYqZTtJPXQqZTtmb3IoRj0wO0YhPT1lOysrRiljW0krRl09Y1tFK0ZdOysrdH10IT09YS5sZW5ndGgmJih0aGlzLnRpbWVzPVZiLmFycmF5U2xpY2UoYSwwLHQpLHRoaXMudmFsdWVzPVZiLmFycmF5U2xpY2UoYywwLHQqZSkpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbigpe3ZhciBhPVZiLmFycmF5U2xpY2UodGhpcy50aW1lcywwKSxjPVZiLmFycmF5U2xpY2UodGhpcy52YWx1ZXMsMCk7YT1uZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLm5hbWUsYSxjKTthLmNyZWF0ZUludGVycG9sYW50PXRoaXMuY3JlYXRlSW50ZXJwb2xhbnQ7cmV0dXJuIGF9fSk7CkpnLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoWmIucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6SmcsVmFsdWVUeXBlTmFtZToiYm9vbCIsVmFsdWVCdWZmZXJUeXBlOkFycmF5LERlZmF1bHRJbnRlcnBvbGF0aW9uOjIzMDAsSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kTGluZWFyOnZvaWQgMCxJbnRlcnBvbGFudEZhY3RvcnlNZXRob2RTbW9vdGg6dm9pZCAwfSk7S2cucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShaYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpLZyxWYWx1ZVR5cGVOYW1lOiJjb2xvciJ9KTtVZS5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKFpiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOlVlLFZhbHVlVHlwZU5hbWU6Im51bWJlciJ9KTtMZy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKHJjLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOkxnLGludGVycG9sYXRlXzpmdW5jdGlvbihhLApjLGUsZyl7dmFyIHQ9dGhpcy5yZXN1bHRCdWZmZXIsdj10aGlzLnNhbXBsZVZhbHVlcyx6PXRoaXMudmFsdWVTaXplO2EqPXo7Yz0oZS1jKS8oZy1jKTtmb3IoZT1hK3o7YSE9PWU7YSs9NCloLnNsZXJwRmxhdCh0LDAsdixhLXosdixhLGMpO3JldHVybiB0fX0pOyRmLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoWmIucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6JGYsVmFsdWVUeXBlTmFtZToicXVhdGVybmlvbiIsRGVmYXVsdEludGVycG9sYXRpb246MjMwMSxJbnRlcnBvbGFudEZhY3RvcnlNZXRob2RMaW5lYXI6ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBMZyh0aGlzLnRpbWVzLHRoaXMudmFsdWVzLHRoaXMuZ2V0VmFsdWVTaXplKCksYSl9LEludGVycG9sYW50RmFjdG9yeU1ldGhvZFNtb290aDp2b2lkIDB9KTtNZy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKFpiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOk1nLFZhbHVlVHlwZU5hbWU6InN0cmluZyIsClZhbHVlQnVmZmVyVHlwZTpBcnJheSxEZWZhdWx0SW50ZXJwb2xhdGlvbjoyMzAwLEludGVycG9sYW50RmFjdG9yeU1ldGhvZExpbmVhcjp2b2lkIDAsSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kU21vb3RoOnZvaWQgMH0pO1ZlLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoWmIucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6VmUsVmFsdWVUeXBlTmFtZToidmVjdG9yIn0pO09iamVjdC5hc3NpZ24odmMse3BhcnNlOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz1bXSxlPWEudHJhY2tzLGc9MS8oYS5mcHN8fDEpLHQ9MCx2PWUubGVuZ3RoO3QhPT12OysrdCljLnB1c2goSW0oZVt0XSkuc2NhbGUoZykpO3JldHVybiBuZXcgdmMoYS5uYW1lLGEuZHVyYXRpb24sYyl9LHRvSlNPTjpmdW5jdGlvbihhKXt2YXIgYz1bXSxlPWEudHJhY2tzO2E9e25hbWU6YS5uYW1lLGR1cmF0aW9uOmEuZHVyYXRpb24sdHJhY2tzOmMsdXVpZDphLnV1aWR9O2Zvcih2YXIgZz0wLHQ9ZS5sZW5ndGg7ZyE9PQp0OysrZyljLnB1c2goWmIudG9KU09OKGVbZ10pKTtyZXR1cm4gYX0sQ3JlYXRlRnJvbU1vcnBoVGFyZ2V0U2VxdWVuY2U6ZnVuY3Rpb24oYSxjLGUsZyl7Zm9yKHZhciB0PWMubGVuZ3RoLHY9W10sej0wO3o8dDt6Kyspe3ZhciBFPVtdLEY9W107RS5wdXNoKCh6K3QtMSkldCx6LCh6KzEpJXQpO0YucHVzaCgwLDEsMCk7dmFyIEk9VmIuZ2V0S2V5ZnJhbWVPcmRlcihFKTtFPVZiLnNvcnRlZEFycmF5KEUsMSxJKTtGPVZiLnNvcnRlZEFycmF5KEYsMSxJKTtnfHwwIT09RVswXXx8KEUucHVzaCh0KSxGLnB1c2goRlswXSkpO3YucHVzaCgobmV3IFVlKCIubW9ycGhUYXJnZXRJbmZsdWVuY2VzWyIrY1t6XS5uYW1lKyJdIixFLEYpKS5zY2FsZSgxL2UpKX1yZXR1cm4gbmV3IHZjKGEsLTEsdil9LGZpbmRCeU5hbWU6ZnVuY3Rpb24oYSxjKXt2YXIgZT1hO0FycmF5LmlzQXJyYXkoYSl8fChlPWEuZ2VvbWV0cnkmJmEuZ2VvbWV0cnkuYW5pbWF0aW9uc3x8YS5hbmltYXRpb25zKTtmb3IoYT0KMDthPGUubGVuZ3RoO2ErKylpZihlW2FdLm5hbWU9PT1jKXJldHVybiBlW2FdO3JldHVybiBudWxsfSxDcmVhdGVDbGlwc0Zyb21Nb3JwaFRhcmdldFNlcXVlbmNlczpmdW5jdGlvbihhLGMsZSl7Zm9yKHZhciBnPXt9LHQ9L14oW1x3LV0qPykoW1xkXSspJC8sdj0wLHo9YS5sZW5ndGg7djx6O3YrKyl7dmFyIEU9YVt2XSxGPUUubmFtZS5tYXRjaCh0KTtpZihGJiYxPEYubGVuZ3RoKXt2YXIgST1GWzFdOyhGPWdbSV0pfHwoZ1tJXT1GPVtdKTtGLnB1c2goRSl9fWE9W107Zm9yKEkgaW4gZylhLnB1c2godmMuQ3JlYXRlRnJvbU1vcnBoVGFyZ2V0U2VxdWVuY2UoSSxnW0ldLGMsZSkpO3JldHVybiBhfSxwYXJzZUFuaW1hdGlvbjpmdW5jdGlvbihhLGMpe2Z1bmN0aW9uIGUoZWEsZGEscmEscGEscWEpe2lmKDAhPT1yYS5sZW5ndGgpe3ZhciB1YT1bXSxuYT1bXTtWYi5mbGF0dGVuSlNPTihyYSx1YSxuYSxwYSk7MCE9PXVhLmxlbmd0aCYmcWEucHVzaChuZXcgZWEoZGEsdWEsbmEpKX19CmlmKCFhKXJldHVybiBjb25zb2xlLmVycm9yKCJUSFJFRS5BbmltYXRpb25DbGlwOiBObyBhbmltYXRpb24gaW4gSlNPTkxvYWRlciBkYXRhLiIpLG51bGw7dmFyIGc9W10sdD1hLm5hbWV8fCJkZWZhdWx0Iix2PWEubGVuZ3RofHwtMSx6PWEuZnBzfHwzMDthPWEuaGllcmFyY2h5fHxbXTtmb3IodmFyIEU9MDtFPGEubGVuZ3RoO0UrKyl7dmFyIEY9YVtFXS5rZXlzO2lmKEYmJjAhPT1GLmxlbmd0aClpZihGWzBdLm1vcnBoVGFyZ2V0cyl7dj17fTtmb3IodmFyIEk9MDtJPEYubGVuZ3RoO0krKylpZihGW0ldLm1vcnBoVGFyZ2V0cylmb3IodmFyIE09MDtNPEZbSV0ubW9ycGhUYXJnZXRzLmxlbmd0aDtNKyspdltGW0ldLm1vcnBoVGFyZ2V0c1tNXV09LTE7Zm9yKHZhciBQIGluIHYpe3ZhciBRPVtdLFU9W107Zm9yKE09MDtNIT09RltJXS5tb3JwaFRhcmdldHMubGVuZ3RoOysrTSl7dmFyIFY9RltJXTtRLnB1c2goVi50aW1lKTtVLnB1c2goVi5tb3JwaFRhcmdldD09PVA/MTowKX1nLnB1c2gobmV3IFVlKCIubW9ycGhUYXJnZXRJbmZsdWVuY2VbIisKUCsiXSIsUSxVKSl9dj12Lmxlbmd0aCooenx8MSl9ZWxzZSBJPSIuYm9uZXNbIitjW0VdLm5hbWUrIl0iLGUoVmUsSSsiLnBvc2l0aW9uIixGLCJwb3MiLGcpLGUoJGYsSSsiLnF1YXRlcm5pb24iLEYsInJvdCIsZyksZShWZSxJKyIuc2NhbGUiLEYsInNjbCIsZyl9cmV0dXJuIDA9PT1nLmxlbmd0aD9udWxsOm5ldyB2Yyh0LHYsZyl9fSk7T2JqZWN0LmFzc2lnbih2Yy5wcm90b3R5cGUse3Jlc2V0RHVyYXRpb246ZnVuY3Rpb24oKXtmb3IodmFyIGE9MCxjPTAsZT10aGlzLnRyYWNrcy5sZW5ndGg7YyE9PWU7KytjKXt2YXIgZz10aGlzLnRyYWNrc1tjXTthPU1hdGgubWF4KGEsZy50aW1lc1tnLnRpbWVzLmxlbmd0aC0xXSl9dGhpcy5kdXJhdGlvbj1hO3JldHVybiB0aGlzfSx0cmltOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPTA7YTx0aGlzLnRyYWNrcy5sZW5ndGg7YSsrKXRoaXMudHJhY2tzW2FdLnRyaW0oMCx0aGlzLmR1cmF0aW9uKTtyZXR1cm4gdGhpc30sdmFsaWRhdGU6ZnVuY3Rpb24oKXtmb3IodmFyIGE9CiEwLGM9MDtjPHRoaXMudHJhY2tzLmxlbmd0aDtjKyspYT1hJiZ0aGlzLnRyYWNrc1tjXS52YWxpZGF0ZSgpO3JldHVybiBhfSxvcHRpbWl6ZTpmdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy50cmFja3MubGVuZ3RoO2ErKyl0aGlzLnRyYWNrc1thXS5vcHRpbWl6ZSgpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbigpe2Zvcih2YXIgYT1bXSxjPTA7Yzx0aGlzLnRyYWNrcy5sZW5ndGg7YysrKWEucHVzaCh0aGlzLnRyYWNrc1tjXS5jbG9uZSgpKTtyZXR1cm4gbmV3IHZjKHRoaXMubmFtZSx0aGlzLmR1cmF0aW9uLGEpfX0pO3ZhciBrZT17ZW5hYmxlZDohMSxmaWxlczp7fSxhZGQ6ZnVuY3Rpb24oYSxjKXshMSE9PXRoaXMuZW5hYmxlZCYmKHRoaXMuZmlsZXNbYV09Yyl9LGdldDpmdW5jdGlvbihhKXtpZighMSE9PXRoaXMuZW5hYmxlZClyZXR1cm4gdGhpcy5maWxlc1thXX0scmVtb3ZlOmZ1bmN0aW9uKGEpe2RlbGV0ZSB0aGlzLmZpbGVzW2FdfSxjbGVhcjpmdW5jdGlvbigpe3RoaXMuZmlsZXM9Cnt9fX0sWGo9bmV3IGVpO09iamVjdC5hc3NpZ24oRGIucHJvdG90eXBlLHtsb2FkOmZ1bmN0aW9uKCl7fSxwYXJzZTpmdW5jdGlvbigpe30sc2V0Q3Jvc3NPcmlnaW46ZnVuY3Rpb24oYSl7dGhpcy5jcm9zc09yaWdpbj1hO3JldHVybiB0aGlzfSxzZXRQYXRoOmZ1bmN0aW9uKGEpe3RoaXMucGF0aD1hO3JldHVybiB0aGlzfSxzZXRSZXNvdXJjZVBhdGg6ZnVuY3Rpb24oYSl7dGhpcy5yZXNvdXJjZVBhdGg9YTtyZXR1cm4gdGhpc319KTtEYi5IYW5kbGVycz17aGFuZGxlcnM6W10sYWRkOmZ1bmN0aW9uKGEsYyl7dGhpcy5oYW5kbGVycy5wdXNoKGEsYyl9LGdldDpmdW5jdGlvbihhKXtmb3IodmFyIGM9dGhpcy5oYW5kbGVycyxlPTAsZz1jLmxlbmd0aDtlPGc7ZSs9Mil7dmFyIHQ9Y1tlKzFdO2lmKGNbZV0udGVzdChhKSlyZXR1cm4gdH1yZXR1cm4gbnVsbH19O3ZhciBNYz17fTt3Yy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKERiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOndjLApsb2FkOmZ1bmN0aW9uKGEsYyxlLGcpe3ZvaWQgMD09PWEmJihhPSIiKTt2b2lkIDAhPT10aGlzLnBhdGgmJihhPXRoaXMucGF0aCthKTthPXRoaXMubWFuYWdlci5yZXNvbHZlVVJMKGEpO3ZhciB0PXRoaXMsdj1rZS5nZXQoYSk7aWYodm9pZCAwIT09dilyZXR1cm4gdC5tYW5hZ2VyLml0ZW1TdGFydChhKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YyYmYyh2KTt0Lm1hbmFnZXIuaXRlbUVuZChhKX0sMCksdjtpZih2b2lkIDAhPT1NY1thXSlNY1thXS5wdXNoKHtvbkxvYWQ6YyxvblByb2dyZXNzOmUsb25FcnJvcjpnfSk7ZWxzZXt2YXIgej1hLm1hdGNoKC9eZGF0YTooLio/KSg7YmFzZTY0KT8sKC4qKSQvKTtpZih6KXtlPXpbMV07dmFyIEU9ISF6WzJdO3o9elszXTt6PWRlY29kZVVSSUNvbXBvbmVudCh6KTtFJiYoej1hdG9iKHopKTt0cnl7dmFyIEY9KHRoaXMucmVzcG9uc2VUeXBlfHwiIikudG9Mb3dlckNhc2UoKTtzd2l0Y2goRil7Y2FzZSAiYXJyYXlidWZmZXIiOmNhc2UgImJsb2IiOnZhciBJPQpuZXcgVWludDhBcnJheSh6Lmxlbmd0aCk7Zm9yKEU9MDtFPHoubGVuZ3RoO0UrKylJW0VdPXouY2hhckNvZGVBdChFKTt2YXIgTT0iYmxvYiI9PT1GP25ldyBCbG9iKFtJLmJ1ZmZlcl0se3R5cGU6ZX0pOkkuYnVmZmVyO2JyZWFrO2Nhc2UgImRvY3VtZW50IjpNPShuZXcgRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoeixlKTticmVhaztjYXNlICJqc29uIjpNPUpTT04ucGFyc2Uoeik7YnJlYWs7ZGVmYXVsdDpNPXp9c2V0VGltZW91dChmdW5jdGlvbigpe2MmJmMoTSk7dC5tYW5hZ2VyLml0ZW1FbmQoYSl9LDApfWNhdGNoKFEpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtnJiZnKFEpO3QubWFuYWdlci5pdGVtRXJyb3IoYSk7dC5tYW5hZ2VyLml0ZW1FbmQoYSl9LDApfX1lbHNle01jW2FdPVtdO01jW2FdLnB1c2goe29uTG9hZDpjLG9uUHJvZ3Jlc3M6ZSxvbkVycm9yOmd9KTt2YXIgUD1uZXcgWE1MSHR0cFJlcXVlc3Q7UC5vcGVuKCJHRVQiLGEsITApO1AuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsCmZ1bmN0aW9uKFEpe3ZhciBVPXRoaXMucmVzcG9uc2U7a2UuYWRkKGEsVSk7dmFyIFY9TWNbYV07ZGVsZXRlIE1jW2FdO2lmKDIwMD09PXRoaXMuc3RhdHVzfHwwPT09dGhpcy5zdGF0dXMpezA9PT10aGlzLnN0YXR1cyYmY29uc29sZS53YXJuKCJUSFJFRS5GaWxlTG9hZGVyOiBIVFRQIFN0YXR1cyAwIHJlY2VpdmVkLiIpO2Zvcih2YXIgZWE9MCxkYT1WLmxlbmd0aDtlYTxkYTtlYSsrKXt2YXIgcmE9VltlYV07aWYocmEub25Mb2FkKXJhLm9uTG9hZChVKX19ZWxzZXtlYT0wO2ZvcihkYT1WLmxlbmd0aDtlYTxkYTtlYSsrKWlmKHJhPVZbZWFdLHJhLm9uRXJyb3IpcmEub25FcnJvcihRKTt0Lm1hbmFnZXIuaXRlbUVycm9yKGEpfXQubWFuYWdlci5pdGVtRW5kKGEpfSwhMSk7UC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24oUSl7Zm9yKHZhciBVPU1jW2FdLFY9MCxlYT1VLmxlbmd0aDtWPGVhO1YrKyl7dmFyIGRhPVVbVl07aWYoZGEub25Qcm9ncmVzcylkYS5vblByb2dyZXNzKFEpfX0sCiExKTtQLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixmdW5jdGlvbihRKXt2YXIgVT1NY1thXTtkZWxldGUgTWNbYV07Zm9yKHZhciBWPTAsZWE9VS5sZW5ndGg7VjxlYTtWKyspe3ZhciBkYT1VW1ZdO2lmKGRhLm9uRXJyb3IpZGEub25FcnJvcihRKX10Lm1hbmFnZXIuaXRlbUVycm9yKGEpO3QubWFuYWdlci5pdGVtRW5kKGEpfSwhMSk7UC5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsZnVuY3Rpb24oUSl7dmFyIFU9TWNbYV07ZGVsZXRlIE1jW2FdO2Zvcih2YXIgVj0wLGVhPVUubGVuZ3RoO1Y8ZWE7VisrKXt2YXIgZGE9VVtWXTtpZihkYS5vbkVycm9yKWRhLm9uRXJyb3IoUSl9dC5tYW5hZ2VyLml0ZW1FcnJvcihhKTt0Lm1hbmFnZXIuaXRlbUVuZChhKX0sITEpO3ZvaWQgMCE9PXRoaXMucmVzcG9uc2VUeXBlJiYoUC5yZXNwb25zZVR5cGU9dGhpcy5yZXNwb25zZVR5cGUpO3ZvaWQgMCE9PXRoaXMud2l0aENyZWRlbnRpYWxzJiYoUC53aXRoQ3JlZGVudGlhbHM9dGhpcy53aXRoQ3JlZGVudGlhbHMpOwpQLm92ZXJyaWRlTWltZVR5cGUmJlAub3ZlcnJpZGVNaW1lVHlwZSh2b2lkIDAhPT10aGlzLm1pbWVUeXBlP3RoaXMubWltZVR5cGU6InRleHQvcGxhaW4iKTtmb3IoRSBpbiB0aGlzLnJlcXVlc3RIZWFkZXIpUC5zZXRSZXF1ZXN0SGVhZGVyKEUsdGhpcy5yZXF1ZXN0SGVhZGVyW0VdKTtQLnNlbmQobnVsbCl9dC5tYW5hZ2VyLml0ZW1TdGFydChhKTtyZXR1cm4gUH19LHNldFJlc3BvbnNlVHlwZTpmdW5jdGlvbihhKXt0aGlzLnJlc3BvbnNlVHlwZT1hO3JldHVybiB0aGlzfSxzZXRXaXRoQ3JlZGVudGlhbHM6ZnVuY3Rpb24oYSl7dGhpcy53aXRoQ3JlZGVudGlhbHM9YTtyZXR1cm4gdGhpc30sc2V0TWltZVR5cGU6ZnVuY3Rpb24oYSl7dGhpcy5taW1lVHlwZT1hO3JldHVybiB0aGlzfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEpe3RoaXMucmVxdWVzdEhlYWRlcj1hO3JldHVybiB0aGlzfX0pO2ZpLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoRGIucHJvdG90eXBlKSwKe2NvbnN0cnVjdG9yOmZpLGxvYWQ6ZnVuY3Rpb24oYSxjLGUsZyl7dmFyIHQ9dGhpcyx2PW5ldyB3Yyh0Lm1hbmFnZXIpO3Yuc2V0UGF0aCh0LnBhdGgpO3YubG9hZChhLGZ1bmN0aW9uKHope2ModC5wYXJzZShKU09OLnBhcnNlKHopKSl9LGUsZyl9LHBhcnNlOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz1bXSxlPTA7ZTxhLmxlbmd0aDtlKyspe3ZhciBnPXZjLnBhcnNlKGFbZV0pO2MucHVzaChnKX1yZXR1cm4gY319KTtnaS5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKERiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOmdpLGxvYWQ6ZnVuY3Rpb24oYSxjLGUsZyl7ZnVuY3Rpb24gdChRKXtGLmxvYWQoYVtRXSxmdW5jdGlvbihVKXtVPXYuX3BhcnNlcihVLCEwKTt6W1FdPXt3aWR0aDpVLndpZHRoLGhlaWdodDpVLmhlaWdodCxmb3JtYXQ6VS5mb3JtYXQsbWlwbWFwczpVLm1pcG1hcHN9O0krPTE7Nj09PUkmJigxPT09VS5taXBtYXBDb3VudCYmKEUubWluRmlsdGVyPQoxMDA2KSxFLmZvcm1hdD1VLmZvcm1hdCxFLm5lZWRzVXBkYXRlPSEwLGMmJmMoRSkpfSxlLGcpfXZhciB2PXRoaXMsej1bXSxFPW5ldyBGZTtFLmltYWdlPXo7dmFyIEY9bmV3IHdjKHRoaXMubWFuYWdlcik7Ri5zZXRQYXRoKHRoaXMucGF0aCk7Ri5zZXRSZXNwb25zZVR5cGUoImFycmF5YnVmZmVyIik7aWYoQXJyYXkuaXNBcnJheShhKSlmb3IodmFyIEk9MCxNPTAsUD1hLmxlbmd0aDtNPFA7KytNKXQoTSk7ZWxzZSBGLmxvYWQoYSxmdW5jdGlvbihRKXtRPXYuX3BhcnNlcihRLCEwKTtpZihRLmlzQ3ViZW1hcClmb3IodmFyIFU9US5taXBtYXBzLmxlbmd0aC9RLm1pcG1hcENvdW50LFY9MDtWPFU7VisrKXt6W1ZdPXttaXBtYXBzOltdfTtmb3IodmFyIGVhPTA7ZWE8US5taXBtYXBDb3VudDtlYSsrKXpbVl0ubWlwbWFwcy5wdXNoKFEubWlwbWFwc1tWKlEubWlwbWFwQ291bnQrZWFdKSx6W1ZdLmZvcm1hdD1RLmZvcm1hdCx6W1ZdLndpZHRoPVEud2lkdGgseltWXS5oZWlnaHQ9US5oZWlnaHR9ZWxzZSBFLmltYWdlLndpZHRoPQpRLndpZHRoLEUuaW1hZ2UuaGVpZ2h0PVEuaGVpZ2h0LEUubWlwbWFwcz1RLm1pcG1hcHM7MT09PVEubWlwbWFwQ291bnQmJihFLm1pbkZpbHRlcj0xMDA2KTtFLmZvcm1hdD1RLmZvcm1hdDtFLm5lZWRzVXBkYXRlPSEwO2MmJmMoRSl9LGUsZyk7cmV0dXJuIEV9fSk7TmcucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShEYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpOZyxsb2FkOmZ1bmN0aW9uKGEsYyxlLGcpe3ZhciB0PXRoaXMsdj1uZXcgQWIsej1uZXcgd2ModGhpcy5tYW5hZ2VyKTt6LnNldFJlc3BvbnNlVHlwZSgiYXJyYXlidWZmZXIiKTt6LnNldFBhdGgodGhpcy5wYXRoKTt6LmxvYWQoYSxmdW5jdGlvbihFKXtpZihFPXQuX3BhcnNlcihFKSl2b2lkIDAhPT1FLmltYWdlP3YuaW1hZ2U9RS5pbWFnZTp2b2lkIDAhPT1FLmRhdGEmJih2LmltYWdlLndpZHRoPUUud2lkdGgsdi5pbWFnZS5oZWlnaHQ9RS5oZWlnaHQsdi5pbWFnZS5kYXRhPUUuZGF0YSksdi53cmFwUz0Kdm9pZCAwIT09RS53cmFwUz9FLndyYXBTOjEwMDEsdi53cmFwVD12b2lkIDAhPT1FLndyYXBUP0Uud3JhcFQ6MTAwMSx2Lm1hZ0ZpbHRlcj12b2lkIDAhPT1FLm1hZ0ZpbHRlcj9FLm1hZ0ZpbHRlcjoxMDA2LHYubWluRmlsdGVyPXZvaWQgMCE9PUUubWluRmlsdGVyP0UubWluRmlsdGVyOjEwMDgsdi5hbmlzb3Ryb3B5PXZvaWQgMCE9PUUuYW5pc290cm9weT9FLmFuaXNvdHJvcHk6MSx2b2lkIDAhPT1FLmZvcm1hdCYmKHYuZm9ybWF0PUUuZm9ybWF0KSx2b2lkIDAhPT1FLnR5cGUmJih2LnR5cGU9RS50eXBlKSx2b2lkIDAhPT1FLm1pcG1hcHMmJih2Lm1pcG1hcHM9RS5taXBtYXBzKSwxPT09RS5taXBtYXBDb3VudCYmKHYubWluRmlsdGVyPTEwMDYpLHYubmVlZHNVcGRhdGU9ITAsYyYmYyh2LEUpfSxlLGcpO3JldHVybiB2fX0pO1dlLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoRGIucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6V2UsbG9hZDpmdW5jdGlvbihhLApjLGUsZyl7ZnVuY3Rpb24gdCgpe0YucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsdCwhMSk7Ri5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsdiwhMSk7a2UuYWRkKGEsdGhpcyk7YyYmYyh0aGlzKTt6Lm1hbmFnZXIuaXRlbUVuZChhKX1mdW5jdGlvbiB2KEkpe0YucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsdCwhMSk7Ri5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsdiwhMSk7ZyYmZyhJKTt6Lm1hbmFnZXIuaXRlbUVycm9yKGEpO3oubWFuYWdlci5pdGVtRW5kKGEpfXZvaWQgMCE9PXRoaXMucGF0aCYmKGE9dGhpcy5wYXRoK2EpO2E9dGhpcy5tYW5hZ2VyLnJlc29sdmVVUkwoYSk7dmFyIHo9dGhpcyxFPWtlLmdldChhKTtpZih2b2lkIDAhPT1FKXJldHVybiB6Lm1hbmFnZXIuaXRlbVN0YXJ0KGEpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtjJiZjKEUpO3oubWFuYWdlci5pdGVtRW5kKGEpfSwwKSxFO3ZhciBGPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsCiJpbWciKTtGLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLHQsITEpO0YuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHYsITEpOyJkYXRhOiIhPT1hLnN1YnN0cigwLDUpJiZ2b2lkIDAhPT10aGlzLmNyb3NzT3JpZ2luJiYoRi5jcm9zc09yaWdpbj10aGlzLmNyb3NzT3JpZ2luKTt6Lm1hbmFnZXIuaXRlbVN0YXJ0KGEpO0Yuc3JjPWE7cmV0dXJuIEZ9fSk7T2cucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShEYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpPZyxsb2FkOmZ1bmN0aW9uKGEsYyxlLGcpe2Z1bmN0aW9uIHQoRil7ei5sb2FkKGFbRl0sZnVuY3Rpb24oSSl7di5pbWFnZXNbRl09STtFKys7Nj09PUUmJih2Lm5lZWRzVXBkYXRlPSEwLGMmJmModikpfSx2b2lkIDAsZyl9dmFyIHY9bmV3IGVkLHo9bmV3IFdlKHRoaXMubWFuYWdlcik7ei5zZXRDcm9zc09yaWdpbih0aGlzLmNyb3NzT3JpZ2luKTt6LnNldFBhdGgodGhpcy5wYXRoKTt2YXIgRT0wO2ZvcihlPQowO2U8YS5sZW5ndGg7KytlKXQoZSk7cmV0dXJuIHZ9fSk7UGcucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShEYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpQZyxsb2FkOmZ1bmN0aW9uKGEsYyxlLGcpe3ZhciB0PW5ldyBsLHY9bmV3IFdlKHRoaXMubWFuYWdlcik7di5zZXRDcm9zc09yaWdpbih0aGlzLmNyb3NzT3JpZ2luKTt2LnNldFBhdGgodGhpcy5wYXRoKTt2LmxvYWQoYSxmdW5jdGlvbih6KXt0LmltYWdlPXo7ej0wPGEuc2VhcmNoKC9cLmpwZT9nKCR8XD8pL2kpfHwwPT09YS5zZWFyY2goL15kYXRhOmltYWdlXC9qcGVnLyk7dC5mb3JtYXQ9ej8xMDIyOjEwMjM7dC5uZWVkc1VwZGF0ZT0hMDt2b2lkIDAhPT1jJiZjKHQpfSxlLGcpO3JldHVybiB0fX0pO09iamVjdC5hc3NpZ24oWmEucHJvdG90eXBlLHtnZXRQb2ludDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQ3VydmU6IC5nZXRQb2ludCgpIG5vdCBpbXBsZW1lbnRlZC4iKTtyZXR1cm4gbnVsbH0sCmdldFBvaW50QXQ6ZnVuY3Rpb24oYSxjKXthPXRoaXMuZ2V0VXRvVG1hcHBpbmcoYSk7cmV0dXJuIHRoaXMuZ2V0UG9pbnQoYSxjKX0sZ2V0UG9pbnRzOmZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEmJihhPTUpO2Zvcih2YXIgYz1bXSxlPTA7ZTw9YTtlKyspYy5wdXNoKHRoaXMuZ2V0UG9pbnQoZS9hKSk7cmV0dXJuIGN9LGdldFNwYWNlZFBvaW50czpmdW5jdGlvbihhKXt2b2lkIDA9PT1hJiYoYT01KTtmb3IodmFyIGM9W10sZT0wO2U8PWE7ZSsrKWMucHVzaCh0aGlzLmdldFBvaW50QXQoZS9hKSk7cmV0dXJuIGN9LGdldExlbmd0aDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0TGVuZ3RocygpO3JldHVybiBhW2EubGVuZ3RoLTFdfSxnZXRMZW5ndGhzOmZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEmJihhPXRoaXMuYXJjTGVuZ3RoRGl2aXNpb25zKTtpZih0aGlzLmNhY2hlQXJjTGVuZ3RocyYmdGhpcy5jYWNoZUFyY0xlbmd0aHMubGVuZ3RoPT09YSsxJiYhdGhpcy5uZWVkc1VwZGF0ZSlyZXR1cm4gdGhpcy5jYWNoZUFyY0xlbmd0aHM7CnRoaXMubmVlZHNVcGRhdGU9ITE7dmFyIGM9W10sZT10aGlzLmdldFBvaW50KDApLGcsdD0wO2MucHVzaCgwKTtmb3IoZz0xO2c8PWE7ZysrKXt2YXIgdj10aGlzLmdldFBvaW50KGcvYSk7dCs9di5kaXN0YW5jZVRvKGUpO2MucHVzaCh0KTtlPXZ9cmV0dXJuIHRoaXMuY2FjaGVBcmNMZW5ndGhzPWN9LHVwZGF0ZUFyY0xlbmd0aHM6ZnVuY3Rpb24oKXt0aGlzLm5lZWRzVXBkYXRlPSEwO3RoaXMuZ2V0TGVuZ3RocygpfSxnZXRVdG9UbWFwcGluZzpmdW5jdGlvbihhLGMpe3ZhciBlPXRoaXMuZ2V0TGVuZ3RocygpLGc9ZS5sZW5ndGg7Yz1jP2M6YSplW2ctMV07Zm9yKHZhciB0PTAsdj1nLTEsejt0PD12OylpZihhPU1hdGguZmxvb3IodCsodi10KS8yKSx6PWVbYV0tYywwPnopdD1hKzE7ZWxzZSBpZigwPHopdj1hLTE7ZWxzZXt2PWE7YnJlYWt9YT12O2lmKGVbYV09PT1jKXJldHVybiBhLyhnLTEpO3Q9ZVthXTtyZXR1cm4oYSsoYy10KS8oZVthKzFdLXQpKS8oZy0xKX0sZ2V0VGFuZ2VudDpmdW5jdGlvbihhKXt2YXIgYz0KYS0xRS00O2ErPTFFLTQ7MD5jJiYoYz0wKTsxPGEmJihhPTEpO2M9dGhpcy5nZXRQb2ludChjKTtyZXR1cm4gdGhpcy5nZXRQb2ludChhKS5jbG9uZSgpLnN1YihjKS5ub3JtYWxpemUoKX0sZ2V0VGFuZ2VudEF0OmZ1bmN0aW9uKGEpe2E9dGhpcy5nZXRVdG9UbWFwcGluZyhhKTtyZXR1cm4gdGhpcy5nZXRUYW5nZW50KGEpfSxjb21wdXRlRnJlbmV0RnJhbWVzOmZ1bmN0aW9uKGEsYyl7dmFyIGU9bmV3IGssZz1bXSx0PVtdLHY9W10sej1uZXcgayxFPW5ldyBxLEY7Zm9yKEY9MDtGPD1hO0YrKyl7dmFyIEk9Ri9hO2dbRl09dGhpcy5nZXRUYW5nZW50QXQoSSk7Z1tGXS5ub3JtYWxpemUoKX10WzBdPW5ldyBrO3ZbMF09bmV3IGs7Rj1OdW1iZXIuTUFYX1ZBTFVFO0k9TWF0aC5hYnMoZ1swXS54KTt2YXIgTT1NYXRoLmFicyhnWzBdLnkpLFA9TWF0aC5hYnMoZ1swXS56KTtJPD1GJiYoRj1JLGUuc2V0KDEsMCwwKSk7TTw9RiYmKEY9TSxlLnNldCgwLDEsMCkpO1A8PUYmJmUuc2V0KDAsCjAsMSk7ei5jcm9zc1ZlY3RvcnMoZ1swXSxlKS5ub3JtYWxpemUoKTt0WzBdLmNyb3NzVmVjdG9ycyhnWzBdLHopO3ZbMF0uY3Jvc3NWZWN0b3JzKGdbMF0sdFswXSk7Zm9yKEY9MTtGPD1hO0YrKyl0W0ZdPXRbRi0xXS5jbG9uZSgpLHZbRl09dltGLTFdLmNsb25lKCksei5jcm9zc1ZlY3RvcnMoZ1tGLTFdLGdbRl0pLHoubGVuZ3RoKCk+TnVtYmVyLkVQU0lMT04mJih6Lm5vcm1hbGl6ZSgpLGU9TWF0aC5hY29zKGhiLmNsYW1wKGdbRi0xXS5kb3QoZ1tGXSksLTEsMSkpLHRbRl0uYXBwbHlNYXRyaXg0KEUubWFrZVJvdGF0aW9uQXhpcyh6LGUpKSksdltGXS5jcm9zc1ZlY3RvcnMoZ1tGXSx0W0ZdKTtpZighMD09PWMpZm9yKGU9TWF0aC5hY29zKGhiLmNsYW1wKHRbMF0uZG90KHRbYV0pLC0xLDEpKSxlLz1hLDA8Z1swXS5kb3Qoei5jcm9zc1ZlY3RvcnModFswXSx0W2FdKSkmJihlPS1lKSxGPTE7Rjw9YTtGKyspdFtGXS5hcHBseU1hdHJpeDQoRS5tYWtlUm90YXRpb25BeGlzKGdbRl0sCmUqRikpLHZbRl0uY3Jvc3NWZWN0b3JzKGdbRl0sdFtGXSk7cmV0dXJue3RhbmdlbnRzOmcsbm9ybWFsczp0LGJpbm9ybWFsczp2fX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9LGNvcHk6ZnVuY3Rpb24oYSl7dGhpcy5hcmNMZW5ndGhEaXZpc2lvbnM9YS5hcmNMZW5ndGhEaXZpc2lvbnM7cmV0dXJuIHRoaXN9LHRvSlNPTjpmdW5jdGlvbigpe3ZhciBhPXttZXRhZGF0YTp7dmVyc2lvbjo0LjUsdHlwZToiQ3VydmUiLGdlbmVyYXRvcjoiQ3VydmUudG9KU09OIn19O2EuYXJjTGVuZ3RoRGl2aXNpb25zPXRoaXMuYXJjTGVuZ3RoRGl2aXNpb25zO2EudHlwZT10aGlzLnR5cGU7cmV0dXJuIGF9LGZyb21KU09OOmZ1bmN0aW9uKGEpe3RoaXMuYXJjTGVuZ3RoRGl2aXNpb25zPWEuYXJjTGVuZ3RoRGl2aXNpb25zO3JldHVybiB0aGlzfX0pO3NjLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFphLnByb3RvdHlwZSk7c2MucHJvdG90eXBlLmNvbnN0cnVjdG9yPQpzYztzYy5wcm90b3R5cGUuaXNFbGxpcHNlQ3VydmU9ITA7c2MucHJvdG90eXBlLmdldFBvaW50PWZ1bmN0aW9uKGEsYyl7Yz1jfHxuZXcgZjtmb3IodmFyIGU9MipNYXRoLlBJLGc9dGhpcy5hRW5kQW5nbGUtdGhpcy5hU3RhcnRBbmdsZSx0PU1hdGguYWJzKGcpPE51bWJlci5FUFNJTE9OOzA+ZzspZys9ZTtmb3IoO2c+ZTspZy09ZTtnPE51bWJlci5FUFNJTE9OJiYoZz10PzA6ZSk7ITAhPT10aGlzLmFDbG9ja3dpc2V8fHR8fChnPWc9PT1lPy1lOmctZSk7ZT10aGlzLmFTdGFydEFuZ2xlK2EqZzthPXRoaXMuYVgrdGhpcy54UmFkaXVzKk1hdGguY29zKGUpO3ZhciB2PXRoaXMuYVkrdGhpcy55UmFkaXVzKk1hdGguc2luKGUpOzAhPT10aGlzLmFSb3RhdGlvbiYmKGU9TWF0aC5jb3ModGhpcy5hUm90YXRpb24pLGc9TWF0aC5zaW4odGhpcy5hUm90YXRpb24pLHQ9YS10aGlzLmFYLHYtPXRoaXMuYVksYT10KmUtdipnK3RoaXMuYVgsdj10KmcrdiplK3RoaXMuYVkpO3JldHVybiBjLnNldChhLAp2KX07c2MucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMuYVg9YS5hWDt0aGlzLmFZPWEuYVk7dGhpcy54UmFkaXVzPWEueFJhZGl1czt0aGlzLnlSYWRpdXM9YS55UmFkaXVzO3RoaXMuYVN0YXJ0QW5nbGU9YS5hU3RhcnRBbmdsZTt0aGlzLmFFbmRBbmdsZT1hLmFFbmRBbmdsZTt0aGlzLmFDbG9ja3dpc2U9YS5hQ2xvY2t3aXNlO3RoaXMuYVJvdGF0aW9uPWEuYVJvdGF0aW9uO3JldHVybiB0aGlzfTtzYy5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO2EuYVg9dGhpcy5hWDthLmFZPXRoaXMuYVk7YS54UmFkaXVzPXRoaXMueFJhZGl1czthLnlSYWRpdXM9dGhpcy55UmFkaXVzO2EuYVN0YXJ0QW5nbGU9dGhpcy5hU3RhcnRBbmdsZTthLmFFbmRBbmdsZT10aGlzLmFFbmRBbmdsZTthLmFDbG9ja3dpc2U9dGhpcy5hQ2xvY2t3aXNlO2EuYVJvdGF0aW9uPQp0aGlzLmFSb3RhdGlvbjtyZXR1cm4gYX07c2MucHJvdG90eXBlLmZyb21KU09OPWZ1bmN0aW9uKGEpe1phLnByb3RvdHlwZS5mcm9tSlNPTi5jYWxsKHRoaXMsYSk7dGhpcy5hWD1hLmFYO3RoaXMuYVk9YS5hWTt0aGlzLnhSYWRpdXM9YS54UmFkaXVzO3RoaXMueVJhZGl1cz1hLnlSYWRpdXM7dGhpcy5hU3RhcnRBbmdsZT1hLmFTdGFydEFuZ2xlO3RoaXMuYUVuZEFuZ2xlPWEuYUVuZEFuZ2xlO3RoaXMuYUNsb2Nrd2lzZT1hLmFDbG9ja3dpc2U7dGhpcy5hUm90YXRpb249YS5hUm90YXRpb247cmV0dXJuIHRoaXN9O1hlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHNjLnByb3RvdHlwZSk7WGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPVhlO1hlLnByb3RvdHlwZS5pc0FyY0N1cnZlPSEwO3ZhciBBaD1uZXcgayxRaT1uZXcgaGksUmk9bmV3IGhpLFNpPW5ldyBoaTtiYy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShaYS5wcm90b3R5cGUpO2JjLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1iYzsKYmMucHJvdG90eXBlLmlzQ2F0bXVsbFJvbUN1cnZlMz0hMDtiYy5wcm90b3R5cGUuZ2V0UG9pbnQ9ZnVuY3Rpb24oYSxjKXtjPWN8fG5ldyBrO3ZhciBlPXRoaXMucG9pbnRzLGc9ZS5sZW5ndGg7YSo9Zy0odGhpcy5jbG9zZWQ/MDoxKTt2YXIgdD1NYXRoLmZsb29yKGEpO2EtPXQ7dGhpcy5jbG9zZWQ/dCs9MDx0PzA6KE1hdGguZmxvb3IoTWF0aC5hYnModCkvZykrMSkqZzowPT09YSYmdD09PWctMSYmKHQ9Zy0yLGE9MSk7aWYodGhpcy5jbG9zZWR8fDA8dCl2YXIgdj1lWyh0LTEpJWddO2Vsc2UgQWguc3ViVmVjdG9ycyhlWzBdLGVbMV0pLmFkZChlWzBdKSx2PUFoO3ZhciB6PWVbdCVnXTt2YXIgRT1lWyh0KzEpJWddO3RoaXMuY2xvc2VkfHx0KzI8Zz9lPWVbKHQrMiklZ106KEFoLnN1YlZlY3RvcnMoZVtnLTFdLGVbZy0yXSkuYWRkKGVbZy0xXSksZT1BaCk7aWYoImNlbnRyaXBldGFsIj09PXRoaXMuY3VydmVUeXBlfHwiY2hvcmRhbCI9PT10aGlzLmN1cnZlVHlwZSl7dmFyIEY9CiJjaG9yZGFsIj09PXRoaXMuY3VydmVUeXBlPy41Oi4yNTtnPU1hdGgucG93KHYuZGlzdGFuY2VUb1NxdWFyZWQoeiksRik7dD1NYXRoLnBvdyh6LmRpc3RhbmNlVG9TcXVhcmVkKEUpLEYpO0Y9TWF0aC5wb3coRS5kaXN0YW5jZVRvU3F1YXJlZChlKSxGKTsxRS00PnQmJih0PTEpOzFFLTQ+ZyYmKGc9dCk7MUUtND5GJiYoRj10KTtRaS5pbml0Tm9udW5pZm9ybUNhdG11bGxSb20odi54LHoueCxFLngsZS54LGcsdCxGKTtSaS5pbml0Tm9udW5pZm9ybUNhdG11bGxSb20odi55LHoueSxFLnksZS55LGcsdCxGKTtTaS5pbml0Tm9udW5pZm9ybUNhdG11bGxSb20odi56LHoueixFLnosZS56LGcsdCxGKX1lbHNlImNhdG11bGxyb20iPT09dGhpcy5jdXJ2ZVR5cGUmJihRaS5pbml0Q2F0bXVsbFJvbSh2Lngsei54LEUueCxlLngsdGhpcy50ZW5zaW9uKSxSaS5pbml0Q2F0bXVsbFJvbSh2Lnksei55LEUueSxlLnksdGhpcy50ZW5zaW9uKSxTaS5pbml0Q2F0bXVsbFJvbSh2Lnosei56LEUueiwKZS56LHRoaXMudGVuc2lvbikpO2Muc2V0KFFpLmNhbGMoYSksUmkuY2FsYyhhKSxTaS5jYWxjKGEpKTtyZXR1cm4gY307YmMucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMucG9pbnRzPVtdO2Zvcih2YXIgYz0wLGU9YS5wb2ludHMubGVuZ3RoO2M8ZTtjKyspdGhpcy5wb2ludHMucHVzaChhLnBvaW50c1tjXS5jbG9uZSgpKTt0aGlzLmNsb3NlZD1hLmNsb3NlZDt0aGlzLmN1cnZlVHlwZT1hLmN1cnZlVHlwZTt0aGlzLnRlbnNpb249YS50ZW5zaW9uO3JldHVybiB0aGlzfTtiYy5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO2EucG9pbnRzPVtdO2Zvcih2YXIgYz0wLGU9dGhpcy5wb2ludHMubGVuZ3RoO2M8ZTtjKyspYS5wb2ludHMucHVzaCh0aGlzLnBvaW50c1tjXS50b0FycmF5KCkpO2EuY2xvc2VkPXRoaXMuY2xvc2VkO2EuY3VydmVUeXBlPXRoaXMuY3VydmVUeXBlOwphLnRlbnNpb249dGhpcy50ZW5zaW9uO3JldHVybiBhfTtiYy5wcm90b3R5cGUuZnJvbUpTT049ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmZyb21KU09OLmNhbGwodGhpcyxhKTt0aGlzLnBvaW50cz1bXTtmb3IodmFyIGM9MCxlPWEucG9pbnRzLmxlbmd0aDtjPGU7YysrKXt2YXIgZz1hLnBvaW50c1tjXTt0aGlzLnBvaW50cy5wdXNoKChuZXcgaykuZnJvbUFycmF5KGcpKX10aGlzLmNsb3NlZD1hLmNsb3NlZDt0aGlzLmN1cnZlVHlwZT1hLmN1cnZlVHlwZTt0aGlzLnRlbnNpb249YS50ZW5zaW9uO3JldHVybiB0aGlzfTtFYy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShaYS5wcm90b3R5cGUpO0VjLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1FYztFYy5wcm90b3R5cGUuaXNDdWJpY0JlemllckN1cnZlPSEwO0VjLnByb3RvdHlwZS5nZXRQb2ludD1mdW5jdGlvbihhLGMpe2M9Y3x8bmV3IGY7dmFyIGU9dGhpcy52MCxnPXRoaXMudjEsdD10aGlzLnYyLHY9dGhpcy52MztjLnNldChiZyhhLAplLngsZy54LHQueCx2LngpLGJnKGEsZS55LGcueSx0Lnksdi55KSk7cmV0dXJuIGN9O0VjLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1phLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLnYwLmNvcHkoYS52MCk7dGhpcy52MS5jb3B5KGEudjEpO3RoaXMudjIuY29weShhLnYyKTt0aGlzLnYzLmNvcHkoYS52Myk7cmV0dXJuIHRoaXN9O0VjLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXt2YXIgYT1aYS5wcm90b3R5cGUudG9KU09OLmNhbGwodGhpcyk7YS52MD10aGlzLnYwLnRvQXJyYXkoKTthLnYxPXRoaXMudjEudG9BcnJheSgpO2EudjI9dGhpcy52Mi50b0FycmF5KCk7YS52Mz10aGlzLnYzLnRvQXJyYXkoKTtyZXR1cm4gYX07RWMucHJvdG90eXBlLmZyb21KU09OPWZ1bmN0aW9uKGEpe1phLnByb3RvdHlwZS5mcm9tSlNPTi5jYWxsKHRoaXMsYSk7dGhpcy52MC5mcm9tQXJyYXkoYS52MCk7dGhpcy52MS5mcm9tQXJyYXkoYS52MSk7dGhpcy52Mi5mcm9tQXJyYXkoYS52Mik7CnRoaXMudjMuZnJvbUFycmF5KGEudjMpO3JldHVybiB0aGlzfTtWYy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShaYS5wcm90b3R5cGUpO1ZjLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1WYztWYy5wcm90b3R5cGUuaXNDdWJpY0JlemllckN1cnZlMz0hMDtWYy5wcm90b3R5cGUuZ2V0UG9pbnQ9ZnVuY3Rpb24oYSxjKXtjPWN8fG5ldyBrO3ZhciBlPXRoaXMudjAsZz10aGlzLnYxLHQ9dGhpcy52Mix2PXRoaXMudjM7Yy5zZXQoYmcoYSxlLngsZy54LHQueCx2LngpLGJnKGEsZS55LGcueSx0Lnksdi55KSxiZyhhLGUueixnLnosdC56LHYueikpO3JldHVybiBjfTtWYy5wcm90b3R5cGUuY29weT1mdW5jdGlvbihhKXtaYS5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy52MC5jb3B5KGEudjApO3RoaXMudjEuY29weShhLnYxKTt0aGlzLnYyLmNvcHkoYS52Mik7dGhpcy52My5jb3B5KGEudjMpO3JldHVybiB0aGlzfTtWYy5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIGE9ClphLnByb3RvdHlwZS50b0pTT04uY2FsbCh0aGlzKTthLnYwPXRoaXMudjAudG9BcnJheSgpO2EudjE9dGhpcy52MS50b0FycmF5KCk7YS52Mj10aGlzLnYyLnRvQXJyYXkoKTthLnYzPXRoaXMudjMudG9BcnJheSgpO3JldHVybiBhfTtWYy5wcm90b3R5cGUuZnJvbUpTT049ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmZyb21KU09OLmNhbGwodGhpcyxhKTt0aGlzLnYwLmZyb21BcnJheShhLnYwKTt0aGlzLnYxLmZyb21BcnJheShhLnYxKTt0aGlzLnYyLmZyb21BcnJheShhLnYyKTt0aGlzLnYzLmZyb21BcnJheShhLnYzKTtyZXR1cm4gdGhpc307bmMucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoWmEucHJvdG90eXBlKTtuYy5wcm90b3R5cGUuY29uc3RydWN0b3I9bmM7bmMucHJvdG90eXBlLmlzTGluZUN1cnZlPSEwO25jLnByb3RvdHlwZS5nZXRQb2ludD1mdW5jdGlvbihhLGMpe2M9Y3x8bmV3IGY7MT09PWE/Yy5jb3B5KHRoaXMudjIpOihjLmNvcHkodGhpcy52Mikuc3ViKHRoaXMudjEpLApjLm11bHRpcGx5U2NhbGFyKGEpLmFkZCh0aGlzLnYxKSk7cmV0dXJuIGN9O25jLnByb3RvdHlwZS5nZXRQb2ludEF0PWZ1bmN0aW9uKGEsYyl7cmV0dXJuIHRoaXMuZ2V0UG9pbnQoYSxjKX07bmMucHJvdG90eXBlLmdldFRhbmdlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52Mi5jbG9uZSgpLnN1Yih0aGlzLnYxKS5ub3JtYWxpemUoKX07bmMucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMudjEuY29weShhLnYxKTt0aGlzLnYyLmNvcHkoYS52Mik7cmV0dXJuIHRoaXN9O25jLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXt2YXIgYT1aYS5wcm90b3R5cGUudG9KU09OLmNhbGwodGhpcyk7YS52MT10aGlzLnYxLnRvQXJyYXkoKTthLnYyPXRoaXMudjIudG9BcnJheSgpO3JldHVybiBhfTtuYy5wcm90b3R5cGUuZnJvbUpTT049ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmZyb21KU09OLmNhbGwodGhpcyxhKTt0aGlzLnYxLmZyb21BcnJheShhLnYxKTsKdGhpcy52Mi5mcm9tQXJyYXkoYS52Mik7cmV0dXJuIHRoaXN9O0ZjLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFphLnByb3RvdHlwZSk7RmMucHJvdG90eXBlLmNvbnN0cnVjdG9yPUZjO0ZjLnByb3RvdHlwZS5pc0xpbmVDdXJ2ZTM9ITA7RmMucHJvdG90eXBlLmdldFBvaW50PWZ1bmN0aW9uKGEsYyl7Yz1jfHxuZXcgazsxPT09YT9jLmNvcHkodGhpcy52Mik6KGMuY29weSh0aGlzLnYyKS5zdWIodGhpcy52MSksYy5tdWx0aXBseVNjYWxhcihhKS5hZGQodGhpcy52MSkpO3JldHVybiBjfTtGYy5wcm90b3R5cGUuZ2V0UG9pbnRBdD1mdW5jdGlvbihhLGMpe3JldHVybiB0aGlzLmdldFBvaW50KGEsYyl9O0ZjLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1phLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLnYxLmNvcHkoYS52MSk7dGhpcy52Mi5jb3B5KGEudjIpO3JldHVybiB0aGlzfTtGYy5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpOwphLnYxPXRoaXMudjEudG9BcnJheSgpO2EudjI9dGhpcy52Mi50b0FycmF5KCk7cmV0dXJuIGF9O0ZjLnByb3RvdHlwZS5mcm9tSlNPTj1mdW5jdGlvbihhKXtaYS5wcm90b3R5cGUuZnJvbUpTT04uY2FsbCh0aGlzLGEpO3RoaXMudjEuZnJvbUFycmF5KGEudjEpO3RoaXMudjIuZnJvbUFycmF5KGEudjIpO3JldHVybiB0aGlzfTtHYy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShaYS5wcm90b3R5cGUpO0djLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1HYztHYy5wcm90b3R5cGUuaXNRdWFkcmF0aWNCZXppZXJDdXJ2ZT0hMDtHYy5wcm90b3R5cGUuZ2V0UG9pbnQ9ZnVuY3Rpb24oYSxjKXtjPWN8fG5ldyBmO3ZhciBlPXRoaXMudjAsZz10aGlzLnYxLHQ9dGhpcy52MjtjLnNldChhZyhhLGUueCxnLngsdC54KSxhZyhhLGUueSxnLnksdC55KSk7cmV0dXJuIGN9O0djLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1phLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLnYwLmNvcHkoYS52MCk7CnRoaXMudjEuY29weShhLnYxKTt0aGlzLnYyLmNvcHkoYS52Mik7cmV0dXJuIHRoaXN9O0djLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXt2YXIgYT1aYS5wcm90b3R5cGUudG9KU09OLmNhbGwodGhpcyk7YS52MD10aGlzLnYwLnRvQXJyYXkoKTthLnYxPXRoaXMudjEudG9BcnJheSgpO2EudjI9dGhpcy52Mi50b0FycmF5KCk7cmV0dXJuIGF9O0djLnByb3RvdHlwZS5mcm9tSlNPTj1mdW5jdGlvbihhKXtaYS5wcm90b3R5cGUuZnJvbUpTT04uY2FsbCh0aGlzLGEpO3RoaXMudjAuZnJvbUFycmF5KGEudjApO3RoaXMudjEuZnJvbUFycmF5KGEudjEpO3RoaXMudjIuZnJvbUFycmF5KGEudjIpO3JldHVybiB0aGlzfTtXYy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShaYS5wcm90b3R5cGUpO1djLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1XYztXYy5wcm90b3R5cGUuaXNRdWFkcmF0aWNCZXppZXJDdXJ2ZTM9ITA7V2MucHJvdG90eXBlLmdldFBvaW50PWZ1bmN0aW9uKGEsYyl7Yz1jfHwKbmV3IGs7dmFyIGU9dGhpcy52MCxnPXRoaXMudjEsdD10aGlzLnYyO2Muc2V0KGFnKGEsZS54LGcueCx0LngpLGFnKGEsZS55LGcueSx0LnkpLGFnKGEsZS56LGcueix0LnopKTtyZXR1cm4gY307V2MucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMudjAuY29weShhLnYwKTt0aGlzLnYxLmNvcHkoYS52MSk7dGhpcy52Mi5jb3B5KGEudjIpO3JldHVybiB0aGlzfTtXYy5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO2EudjA9dGhpcy52MC50b0FycmF5KCk7YS52MT10aGlzLnYxLnRvQXJyYXkoKTthLnYyPXRoaXMudjIudG9BcnJheSgpO3JldHVybiBhfTtXYy5wcm90b3R5cGUuZnJvbUpTT049ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmZyb21KU09OLmNhbGwodGhpcyxhKTt0aGlzLnYwLmZyb21BcnJheShhLnYwKTt0aGlzLnYxLmZyb21BcnJheShhLnYxKTsKdGhpcy52Mi5mcm9tQXJyYXkoYS52Mik7cmV0dXJuIHRoaXN9O0hjLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFphLnByb3RvdHlwZSk7SGMucHJvdG90eXBlLmNvbnN0cnVjdG9yPUhjO0hjLnByb3RvdHlwZS5pc1NwbGluZUN1cnZlPSEwO0hjLnByb3RvdHlwZS5nZXRQb2ludD1mdW5jdGlvbihhLGMpe2M9Y3x8bmV3IGY7dmFyIGU9dGhpcy5wb2ludHMsZz0oZS5sZW5ndGgtMSkqYTthPU1hdGguZmxvb3IoZyk7Zy09YTt2YXIgdD1lWzA9PT1hP2E6YS0xXSx2PWVbYV0sej1lW2E+ZS5sZW5ndGgtMj9lLmxlbmd0aC0xOmErMV07ZT1lW2E+ZS5sZW5ndGgtMz9lLmxlbmd0aC0xOmErMl07Yy5zZXQoWWooZyx0Lngsdi54LHoueCxlLngpLFlqKGcsdC55LHYueSx6LnksZS55KSk7cmV0dXJuIGN9O0hjLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGEpe1phLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLnBvaW50cz1bXTtmb3IodmFyIGM9MCxlPWEucG9pbnRzLmxlbmd0aDtjPAplO2MrKyl0aGlzLnBvaW50cy5wdXNoKGEucG9pbnRzW2NdLmNsb25lKCkpO3JldHVybiB0aGlzfTtIYy5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO2EucG9pbnRzPVtdO2Zvcih2YXIgYz0wLGU9dGhpcy5wb2ludHMubGVuZ3RoO2M8ZTtjKyspYS5wb2ludHMucHVzaCh0aGlzLnBvaW50c1tjXS50b0FycmF5KCkpO3JldHVybiBhfTtIYy5wcm90b3R5cGUuZnJvbUpTT049ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmZyb21KU09OLmNhbGwodGhpcyxhKTt0aGlzLnBvaW50cz1bXTtmb3IodmFyIGM9MCxlPWEucG9pbnRzLmxlbmd0aDtjPGU7YysrKXt2YXIgZz1hLnBvaW50c1tjXTt0aGlzLnBvaW50cy5wdXNoKChuZXcgZikuZnJvbUFycmF5KGcpKX1yZXR1cm4gdGhpc307dmFyIFRpPU9iamVjdC5mcmVlemUoe0FyY0N1cnZlOlhlLENhdG11bGxSb21DdXJ2ZTM6YmMsQ3ViaWNCZXppZXJDdXJ2ZTpFYyxDdWJpY0JlemllckN1cnZlMzpWYywKRWxsaXBzZUN1cnZlOnNjLExpbmVDdXJ2ZTpuYyxMaW5lQ3VydmUzOkZjLFF1YWRyYXRpY0JlemllckN1cnZlOkdjLFF1YWRyYXRpY0JlemllckN1cnZlMzpXYyxTcGxpbmVDdXJ2ZTpIY30pO2lkLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoWmEucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6aWQsYWRkOmZ1bmN0aW9uKGEpe3RoaXMuY3VydmVzLnB1c2goYSl9LGNsb3NlUGF0aDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuY3VydmVzWzBdLmdldFBvaW50KDApLGM9dGhpcy5jdXJ2ZXNbdGhpcy5jdXJ2ZXMubGVuZ3RoLTFdLmdldFBvaW50KDEpO2EuZXF1YWxzKGMpfHx0aGlzLmN1cnZlcy5wdXNoKG5ldyBuYyhjLGEpKX0sZ2V0UG9pbnQ6ZnVuY3Rpb24oYSl7dmFyIGM9YSp0aGlzLmdldExlbmd0aCgpLGU9dGhpcy5nZXRDdXJ2ZUxlbmd0aHMoKTtmb3IoYT0wO2E8ZS5sZW5ndGg7KXtpZihlW2FdPj1jKXJldHVybiBjPWVbYV0tYyxhPXRoaXMuY3VydmVzW2FdLGU9CmEuZ2V0TGVuZ3RoKCksYS5nZXRQb2ludEF0KDA9PT1lPzA6MS1jL2UpO2ErK31yZXR1cm4gbnVsbH0sZ2V0TGVuZ3RoOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXRDdXJ2ZUxlbmd0aHMoKTtyZXR1cm4gYVthLmxlbmd0aC0xXX0sdXBkYXRlQXJjTGVuZ3RoczpmdW5jdGlvbigpe3RoaXMubmVlZHNVcGRhdGU9ITA7dGhpcy5jYWNoZUxlbmd0aHM9bnVsbDt0aGlzLmdldEN1cnZlTGVuZ3RocygpfSxnZXRDdXJ2ZUxlbmd0aHM6ZnVuY3Rpb24oKXtpZih0aGlzLmNhY2hlTGVuZ3RocyYmdGhpcy5jYWNoZUxlbmd0aHMubGVuZ3RoPT09dGhpcy5jdXJ2ZXMubGVuZ3RoKXJldHVybiB0aGlzLmNhY2hlTGVuZ3Rocztmb3IodmFyIGE9W10sYz0wLGU9MCxnPXRoaXMuY3VydmVzLmxlbmd0aDtlPGc7ZSsrKWMrPXRoaXMuY3VydmVzW2VdLmdldExlbmd0aCgpLGEucHVzaChjKTtyZXR1cm4gdGhpcy5jYWNoZUxlbmd0aHM9YX0sZ2V0U3BhY2VkUG9pbnRzOmZ1bmN0aW9uKGEpe3ZvaWQgMD09PQphJiYoYT00MCk7Zm9yKHZhciBjPVtdLGU9MDtlPD1hO2UrKyljLnB1c2godGhpcy5nZXRQb2ludChlL2EpKTt0aGlzLmF1dG9DbG9zZSYmYy5wdXNoKGNbMF0pO3JldHVybiBjfSxnZXRQb2ludHM6ZnVuY3Rpb24oYSl7YT1hfHwxMjtmb3IodmFyIGM9W10sZSxnPTAsdD10aGlzLmN1cnZlcztnPHQubGVuZ3RoO2crKyl7dmFyIHY9dFtnXTt2PXYuZ2V0UG9pbnRzKHYmJnYuaXNFbGxpcHNlQ3VydmU/MiphOnYmJih2LmlzTGluZUN1cnZlfHx2LmlzTGluZUN1cnZlMyk/MTp2JiZ2LmlzU3BsaW5lQ3VydmU/YSp2LnBvaW50cy5sZW5ndGg6YSk7Zm9yKHZhciB6PTA7ejx2Lmxlbmd0aDt6Kyspe3ZhciBFPXZbel07ZSYmZS5lcXVhbHMoRSl8fChjLnB1c2goRSksZT1FKX19dGhpcy5hdXRvQ2xvc2UmJjE8Yy5sZW5ndGgmJiFjW2MubGVuZ3RoLTFdLmVxdWFscyhjWzBdKSYmYy5wdXNoKGNbMF0pO3JldHVybiBjfSxjb3B5OmZ1bmN0aW9uKGEpe1phLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcywKYSk7dGhpcy5jdXJ2ZXM9W107Zm9yKHZhciBjPTAsZT1hLmN1cnZlcy5sZW5ndGg7YzxlO2MrKyl0aGlzLmN1cnZlcy5wdXNoKGEuY3VydmVzW2NdLmNsb25lKCkpO3RoaXMuYXV0b0Nsb3NlPWEuYXV0b0Nsb3NlO3JldHVybiB0aGlzfSx0b0pTT046ZnVuY3Rpb24oKXt2YXIgYT1aYS5wcm90b3R5cGUudG9KU09OLmNhbGwodGhpcyk7YS5hdXRvQ2xvc2U9dGhpcy5hdXRvQ2xvc2U7YS5jdXJ2ZXM9W107Zm9yKHZhciBjPTAsZT10aGlzLmN1cnZlcy5sZW5ndGg7YzxlO2MrKylhLmN1cnZlcy5wdXNoKHRoaXMuY3VydmVzW2NdLnRvSlNPTigpKTtyZXR1cm4gYX0sZnJvbUpTT046ZnVuY3Rpb24oYSl7WmEucHJvdG90eXBlLmZyb21KU09OLmNhbGwodGhpcyxhKTt0aGlzLmF1dG9DbG9zZT1hLmF1dG9DbG9zZTt0aGlzLmN1cnZlcz1bXTtmb3IodmFyIGM9MCxlPWEuY3VydmVzLmxlbmd0aDtjPGU7YysrKXt2YXIgZz1hLmN1cnZlc1tjXTt0aGlzLmN1cnZlcy5wdXNoKChuZXcgVGlbZy50eXBlXSkuZnJvbUpTT04oZykpfXJldHVybiB0aGlzfX0pOwpJYy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKGlkLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOkljLHNldEZyb21Qb2ludHM6ZnVuY3Rpb24oYSl7dGhpcy5tb3ZlVG8oYVswXS54LGFbMF0ueSk7Zm9yKHZhciBjPTEsZT1hLmxlbmd0aDtjPGU7YysrKXRoaXMubGluZVRvKGFbY10ueCxhW2NdLnkpfSxtb3ZlVG86ZnVuY3Rpb24oYSxjKXt0aGlzLmN1cnJlbnRQb2ludC5zZXQoYSxjKX0sbGluZVRvOmZ1bmN0aW9uKGEsYyl7dmFyIGU9bmV3IG5jKHRoaXMuY3VycmVudFBvaW50LmNsb25lKCksbmV3IGYoYSxjKSk7dGhpcy5jdXJ2ZXMucHVzaChlKTt0aGlzLmN1cnJlbnRQb2ludC5zZXQoYSxjKX0scXVhZHJhdGljQ3VydmVUbzpmdW5jdGlvbihhLGMsZSxnKXthPW5ldyBHYyh0aGlzLmN1cnJlbnRQb2ludC5jbG9uZSgpLG5ldyBmKGEsYyksbmV3IGYoZSxnKSk7dGhpcy5jdXJ2ZXMucHVzaChhKTt0aGlzLmN1cnJlbnRQb2ludC5zZXQoZSxnKX0sYmV6aWVyQ3VydmVUbzpmdW5jdGlvbihhLApjLGUsZyx0LHYpe2E9bmV3IEVjKHRoaXMuY3VycmVudFBvaW50LmNsb25lKCksbmV3IGYoYSxjKSxuZXcgZihlLGcpLG5ldyBmKHQsdikpO3RoaXMuY3VydmVzLnB1c2goYSk7dGhpcy5jdXJyZW50UG9pbnQuc2V0KHQsdil9LHNwbGluZVRocnU6ZnVuY3Rpb24oYSl7dmFyIGM9W3RoaXMuY3VycmVudFBvaW50LmNsb25lKCldLmNvbmNhdChhKTtjPW5ldyBIYyhjKTt0aGlzLmN1cnZlcy5wdXNoKGMpO3RoaXMuY3VycmVudFBvaW50LmNvcHkoYVthLmxlbmd0aC0xXSl9LGFyYzpmdW5jdGlvbihhLGMsZSxnLHQsdil7dGhpcy5hYnNhcmMoYSt0aGlzLmN1cnJlbnRQb2ludC54LGMrdGhpcy5jdXJyZW50UG9pbnQueSxlLGcsdCx2KX0sYWJzYXJjOmZ1bmN0aW9uKGEsYyxlLGcsdCx2KXt0aGlzLmFic2VsbGlwc2UoYSxjLGUsZSxnLHQsdil9LGVsbGlwc2U6ZnVuY3Rpb24oYSxjLGUsZyx0LHYseixFKXt0aGlzLmFic2VsbGlwc2UoYSt0aGlzLmN1cnJlbnRQb2ludC54LGMrdGhpcy5jdXJyZW50UG9pbnQueSwKZSxnLHQsdix6LEUpfSxhYnNlbGxpcHNlOmZ1bmN0aW9uKGEsYyxlLGcsdCx2LHosRSl7YT1uZXcgc2MoYSxjLGUsZyx0LHYseixFKTswPHRoaXMuY3VydmVzLmxlbmd0aCYmKGM9YS5nZXRQb2ludCgwKSxjLmVxdWFscyh0aGlzLmN1cnJlbnRQb2ludCl8fHRoaXMubGluZVRvKGMueCxjLnkpKTt0aGlzLmN1cnZlcy5wdXNoKGEpO2E9YS5nZXRQb2ludCgxKTt0aGlzLmN1cnJlbnRQb2ludC5jb3B5KGEpfSxjb3B5OmZ1bmN0aW9uKGEpe2lkLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLmN1cnJlbnRQb2ludC5jb3B5KGEuY3VycmVudFBvaW50KTtyZXR1cm4gdGhpc30sdG9KU09OOmZ1bmN0aW9uKCl7dmFyIGE9aWQucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO2EuY3VycmVudFBvaW50PXRoaXMuY3VycmVudFBvaW50LnRvQXJyYXkoKTtyZXR1cm4gYX0sZnJvbUpTT046ZnVuY3Rpb24oYSl7aWQucHJvdG90eXBlLmZyb21KU09OLmNhbGwodGhpcyxhKTt0aGlzLmN1cnJlbnRQb2ludC5mcm9tQXJyYXkoYS5jdXJyZW50UG9pbnQpOwpyZXR1cm4gdGhpc319KTtFZC5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEljLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOkVkLGdldFBvaW50c0hvbGVzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz1bXSxlPTAsZz10aGlzLmhvbGVzLmxlbmd0aDtlPGc7ZSsrKWNbZV09dGhpcy5ob2xlc1tlXS5nZXRQb2ludHMoYSk7cmV0dXJuIGN9LGV4dHJhY3RQb2ludHM6ZnVuY3Rpb24oYSl7cmV0dXJue3NoYXBlOnRoaXMuZ2V0UG9pbnRzKGEpLGhvbGVzOnRoaXMuZ2V0UG9pbnRzSG9sZXMoYSl9fSxjb3B5OmZ1bmN0aW9uKGEpe0ljLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLmhvbGVzPVtdO2Zvcih2YXIgYz0wLGU9YS5ob2xlcy5sZW5ndGg7YzxlO2MrKyl0aGlzLmhvbGVzLnB1c2goYS5ob2xlc1tjXS5jbG9uZSgpKTtyZXR1cm4gdGhpc30sdG9KU09OOmZ1bmN0aW9uKCl7dmFyIGE9SWMucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO2EudXVpZD10aGlzLnV1aWQ7CmEuaG9sZXM9W107Zm9yKHZhciBjPTAsZT10aGlzLmhvbGVzLmxlbmd0aDtjPGU7YysrKWEuaG9sZXMucHVzaCh0aGlzLmhvbGVzW2NdLnRvSlNPTigpKTtyZXR1cm4gYX0sZnJvbUpTT046ZnVuY3Rpb24oYSl7SWMucHJvdG90eXBlLmZyb21KU09OLmNhbGwodGhpcyxhKTt0aGlzLnV1aWQ9YS51dWlkO3RoaXMuaG9sZXM9W107Zm9yKHZhciBjPTAsZT1hLmhvbGVzLmxlbmd0aDtjPGU7YysrKXt2YXIgZz1hLmhvbGVzW2NdO3RoaXMuaG9sZXMucHVzaCgobmV3IEljKS5mcm9tSlNPTihnKSl9cmV0dXJuIHRoaXN9fSk7S2IucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShBLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOktiLGlzTGlnaHQ6ITAsY29weTpmdW5jdGlvbihhKXtBLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLmNvbG9yLmNvcHkoYS5jb2xvcik7dGhpcy5pbnRlbnNpdHk9YS5pbnRlbnNpdHk7cmV0dXJuIHRoaXN9LHRvSlNPTjpmdW5jdGlvbihhKXthPQpBLnByb3RvdHlwZS50b0pTT04uY2FsbCh0aGlzLGEpO2Eub2JqZWN0LmNvbG9yPXRoaXMuY29sb3IuZ2V0SGV4KCk7YS5vYmplY3QuaW50ZW5zaXR5PXRoaXMuaW50ZW5zaXR5O3ZvaWQgMCE9PXRoaXMuZ3JvdW5kQ29sb3ImJihhLm9iamVjdC5ncm91bmRDb2xvcj10aGlzLmdyb3VuZENvbG9yLmdldEhleCgpKTt2b2lkIDAhPT10aGlzLmRpc3RhbmNlJiYoYS5vYmplY3QuZGlzdGFuY2U9dGhpcy5kaXN0YW5jZSk7dm9pZCAwIT09dGhpcy5hbmdsZSYmKGEub2JqZWN0LmFuZ2xlPXRoaXMuYW5nbGUpO3ZvaWQgMCE9PXRoaXMuZGVjYXkmJihhLm9iamVjdC5kZWNheT10aGlzLmRlY2F5KTt2b2lkIDAhPT10aGlzLnBlbnVtYnJhJiYoYS5vYmplY3QucGVudW1icmE9dGhpcy5wZW51bWJyYSk7dm9pZCAwIT09dGhpcy5zaGFkb3cmJihhLm9iamVjdC5zaGFkb3c9dGhpcy5zaGFkb3cudG9KU09OKCkpO3JldHVybiBhfX0pO1FnLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoS2IucHJvdG90eXBlKSwKe2NvbnN0cnVjdG9yOlFnLGlzSGVtaXNwaGVyZUxpZ2h0OiEwLGNvcHk6ZnVuY3Rpb24oYSl7S2IucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMuZ3JvdW5kQ29sb3IuY29weShhLmdyb3VuZENvbG9yKTtyZXR1cm4gdGhpc319KTtPYmplY3QuYXNzaWduKFhjLnByb3RvdHlwZSx7X3Byb2pTY3JlZW5NYXRyaXg6bmV3IHEsX2xpZ2h0UG9zaXRpb25Xb3JsZDpuZXcgayxfbG9va1RhcmdldDpuZXcgayxnZXRWaWV3cG9ydENvdW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3ZpZXdwb3J0Q291bnR9LGdldEZydXN0dW06ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZnJ1c3R1bX0sdXBkYXRlTWF0cmljZXM6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5jYW1lcmEsZT10aGlzLm1hdHJpeCxnPXRoaXMuX3Byb2pTY3JlZW5NYXRyaXgsdD10aGlzLl9sb29rVGFyZ2V0LHY9dGhpcy5fbGlnaHRQb3NpdGlvbldvcmxkO3Yuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGEubWF0cml4V29ybGQpOwpjLnBvc2l0aW9uLmNvcHkodik7dC5zZXRGcm9tTWF0cml4UG9zaXRpb24oYS50YXJnZXQubWF0cml4V29ybGQpO2MubG9va0F0KHQpO2MudXBkYXRlTWF0cml4V29ybGQoKTtnLm11bHRpcGx5TWF0cmljZXMoYy5wcm9qZWN0aW9uTWF0cml4LGMubWF0cml4V29ybGRJbnZlcnNlKTt0aGlzLl9mcnVzdHVtLnNldEZyb21NYXRyaXgoZyk7ZS5zZXQoLjUsMCwwLC41LDAsLjUsMCwuNSwwLDAsLjUsLjUsMCwwLDAsMSk7ZS5tdWx0aXBseShjLnByb2plY3Rpb25NYXRyaXgpO2UubXVsdGlwbHkoYy5tYXRyaXhXb3JsZEludmVyc2UpfSxnZXRWaWV3cG9ydDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fdmlld3BvcnRzW2FdfSxnZXRGcmFtZUV4dGVudHM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZnJhbWVFeHRlbnRzfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMuY2FtZXJhPWEuY2FtZXJhLmNsb25lKCk7dGhpcy5iaWFzPWEuYmlhczt0aGlzLnJhZGl1cz1hLnJhZGl1czt0aGlzLm1hcFNpemUuY29weShhLm1hcFNpemUpOwpyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9LHRvSlNPTjpmdW5jdGlvbigpe3ZhciBhPXt9OzAhPT10aGlzLmJpYXMmJihhLmJpYXM9dGhpcy5iaWFzKTsxIT09dGhpcy5yYWRpdXMmJihhLnJhZGl1cz10aGlzLnJhZGl1cyk7aWYoNTEyIT09dGhpcy5tYXBTaXplLnh8fDUxMiE9PXRoaXMubWFwU2l6ZS55KWEubWFwU2l6ZT10aGlzLm1hcFNpemUudG9BcnJheSgpO2EuY2FtZXJhPXRoaXMuY2FtZXJhLnRvSlNPTighMSkub2JqZWN0O2RlbGV0ZSBhLmNhbWVyYS5tYXRyaXg7cmV0dXJuIGF9fSk7UmcucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShYYy5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpSZyxpc1Nwb3RMaWdodFNoYWRvdzohMCx1cGRhdGVNYXRyaWNlczpmdW5jdGlvbihhLGMsZSl7dmFyIGc9dGhpcy5jYW1lcmEsdD0yKmhiLlJBRDJERUcqYS5hbmdsZSx2PXRoaXMubWFwU2l6ZS53aWR0aC8KdGhpcy5tYXBTaXplLmhlaWdodCx6PWEuZGlzdGFuY2V8fGcuZmFyO2lmKHQhPT1nLmZvdnx8diE9PWcuYXNwZWN0fHx6IT09Zy5mYXIpZy5mb3Y9dCxnLmFzcGVjdD12LGcuZmFyPXosZy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCk7WGMucHJvdG90eXBlLnVwZGF0ZU1hdHJpY2VzLmNhbGwodGhpcyxhLGMsZSl9fSk7U2cucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShLYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpTZyxpc1Nwb3RMaWdodDohMCxjb3B5OmZ1bmN0aW9uKGEpe0tiLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLmRpc3RhbmNlPWEuZGlzdGFuY2U7dGhpcy5hbmdsZT1hLmFuZ2xlO3RoaXMucGVudW1icmE9YS5wZW51bWJyYTt0aGlzLmRlY2F5PWEuZGVjYXk7dGhpcy50YXJnZXQ9YS50YXJnZXQuY2xvbmUoKTt0aGlzLnNoYWRvdz1hLnNoYWRvdy5jbG9uZSgpO3JldHVybiB0aGlzfX0pO2lpLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoWGMucHJvdG90eXBlKSwKe2NvbnN0cnVjdG9yOmlpLGlzUG9pbnRMaWdodFNoYWRvdzohMCx1cGRhdGVNYXRyaWNlczpmdW5jdGlvbihhLGMsZSl7Yz10aGlzLmNhbWVyYTt2YXIgZz10aGlzLm1hdHJpeCx0PXRoaXMuX2xpZ2h0UG9zaXRpb25Xb3JsZCx2PXRoaXMuX2xvb2tUYXJnZXQsej10aGlzLl9wcm9qU2NyZWVuTWF0cml4O3Quc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGEubWF0cml4V29ybGQpO2MucG9zaXRpb24uY29weSh0KTt2LmNvcHkoYy5wb3NpdGlvbik7di5hZGQodGhpcy5fY3ViZURpcmVjdGlvbnNbZV0pO2MudXAuY29weSh0aGlzLl9jdWJlVXBzW2VdKTtjLmxvb2tBdCh2KTtjLnVwZGF0ZU1hdHJpeFdvcmxkKCk7Zy5tYWtlVHJhbnNsYXRpb24oLXQueCwtdC55LC10LnopO3oubXVsdGlwbHlNYXRyaWNlcyhjLnByb2plY3Rpb25NYXRyaXgsYy5tYXRyaXhXb3JsZEludmVyc2UpO3RoaXMuX2ZydXN0dW0uc2V0RnJvbU1hdHJpeCh6KX19KTtUZy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEtiLnByb3RvdHlwZSksCntjb25zdHJ1Y3RvcjpUZyxpc1BvaW50TGlnaHQ6ITAsY29weTpmdW5jdGlvbihhKXtLYi5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5kaXN0YW5jZT1hLmRpc3RhbmNlO3RoaXMuZGVjYXk9YS5kZWNheTt0aGlzLnNoYWRvdz1hLnNoYWRvdy5jbG9uZSgpO3JldHVybiB0aGlzfX0pO2NnLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoemIucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6Y2csaXNPcnRob2dyYXBoaWNDYW1lcmE6ITAsY29weTpmdW5jdGlvbihhLGMpe3piLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhLGMpO3RoaXMubGVmdD1hLmxlZnQ7dGhpcy5yaWdodD1hLnJpZ2h0O3RoaXMudG9wPWEudG9wO3RoaXMuYm90dG9tPWEuYm90dG9tO3RoaXMubmVhcj1hLm5lYXI7dGhpcy5mYXI9YS5mYXI7dGhpcy56b29tPWEuem9vbTt0aGlzLnZpZXc9bnVsbD09PWEudmlldz9udWxsOk9iamVjdC5hc3NpZ24oe30sYS52aWV3KTtyZXR1cm4gdGhpc30sCnNldFZpZXdPZmZzZXQ6ZnVuY3Rpb24oYSxjLGUsZyx0LHYpe251bGw9PT10aGlzLnZpZXcmJih0aGlzLnZpZXc9e2VuYWJsZWQ6ITAsZnVsbFdpZHRoOjEsZnVsbEhlaWdodDoxLG9mZnNldFg6MCxvZmZzZXRZOjAsd2lkdGg6MSxoZWlnaHQ6MX0pO3RoaXMudmlldy5lbmFibGVkPSEwO3RoaXMudmlldy5mdWxsV2lkdGg9YTt0aGlzLnZpZXcuZnVsbEhlaWdodD1jO3RoaXMudmlldy5vZmZzZXRYPWU7dGhpcy52aWV3Lm9mZnNldFk9Zzt0aGlzLnZpZXcud2lkdGg9dDt0aGlzLnZpZXcuaGVpZ2h0PXY7dGhpcy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9LGNsZWFyVmlld09mZnNldDpmdW5jdGlvbigpe251bGwhPT10aGlzLnZpZXcmJih0aGlzLnZpZXcuZW5hYmxlZD0hMSk7dGhpcy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9LHVwZGF0ZVByb2plY3Rpb25NYXRyaXg6ZnVuY3Rpb24oKXt2YXIgYT0odGhpcy5yaWdodC10aGlzLmxlZnQpLygyKnRoaXMuem9vbSksYz0odGhpcy50b3AtCnRoaXMuYm90dG9tKS8oMip0aGlzLnpvb20pLGU9KHRoaXMucmlnaHQrdGhpcy5sZWZ0KS8yLGc9KHRoaXMudG9wK3RoaXMuYm90dG9tKS8yLHQ9ZS1hO2UrPWE7YT1nK2M7Yz1nLWM7aWYobnVsbCE9PXRoaXMudmlldyYmdGhpcy52aWV3LmVuYWJsZWQpe2U9dGhpcy56b29tLyh0aGlzLnZpZXcud2lkdGgvdGhpcy52aWV3LmZ1bGxXaWR0aCk7Yz10aGlzLnpvb20vKHRoaXMudmlldy5oZWlnaHQvdGhpcy52aWV3LmZ1bGxIZWlnaHQpO3ZhciB2PSh0aGlzLnJpZ2h0LXRoaXMubGVmdCkvdGhpcy52aWV3LndpZHRoO2c9KHRoaXMudG9wLXRoaXMuYm90dG9tKS90aGlzLnZpZXcuaGVpZ2h0O3QrPXRoaXMudmlldy5vZmZzZXRYL2UqdjtlPXQrdGhpcy52aWV3LndpZHRoL2UqdjthLT10aGlzLnZpZXcub2Zmc2V0WS9jKmc7Yz1hLXRoaXMudmlldy5oZWlnaHQvYypnfXRoaXMucHJvamVjdGlvbk1hdHJpeC5tYWtlT3J0aG9ncmFwaGljKHQsZSxhLGMsdGhpcy5uZWFyLHRoaXMuZmFyKTt0aGlzLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlLmdldEludmVyc2UodGhpcy5wcm9qZWN0aW9uTWF0cml4KX0sCnRvSlNPTjpmdW5jdGlvbihhKXthPUEucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMsYSk7YS5vYmplY3Quem9vbT10aGlzLnpvb207YS5vYmplY3QubGVmdD10aGlzLmxlZnQ7YS5vYmplY3QucmlnaHQ9dGhpcy5yaWdodDthLm9iamVjdC50b3A9dGhpcy50b3A7YS5vYmplY3QuYm90dG9tPXRoaXMuYm90dG9tO2Eub2JqZWN0Lm5lYXI9dGhpcy5uZWFyO2Eub2JqZWN0LmZhcj10aGlzLmZhcjtudWxsIT09dGhpcy52aWV3JiYoYS5vYmplY3Qudmlldz1PYmplY3QuYXNzaWduKHt9LHRoaXMudmlldykpO3JldHVybiBhfX0pO1VnLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoWGMucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6VWcsaXNEaXJlY3Rpb25hbExpZ2h0U2hhZG93OiEwLHVwZGF0ZU1hdHJpY2VzOmZ1bmN0aW9uKGEsYyxlKXtYYy5wcm90b3R5cGUudXBkYXRlTWF0cmljZXMuY2FsbCh0aGlzLGEsYyxlKX19KTtWZy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEtiLnByb3RvdHlwZSksCntjb25zdHJ1Y3RvcjpWZyxpc0RpcmVjdGlvbmFsTGlnaHQ6ITAsY29weTpmdW5jdGlvbihhKXtLYi5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy50YXJnZXQ9YS50YXJnZXQuY2xvbmUoKTt0aGlzLnNoYWRvdz1hLnNoYWRvdy5jbG9uZSgpO3JldHVybiB0aGlzfX0pO1dnLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoS2IucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6V2csaXNBbWJpZW50TGlnaHQ6ITB9KTtYZy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEtiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOlhnLGlzUmVjdEFyZWFMaWdodDohMCxjb3B5OmZ1bmN0aW9uKGEpe0tiLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTt0aGlzLndpZHRoPWEud2lkdGg7dGhpcy5oZWlnaHQ9YS5oZWlnaHQ7cmV0dXJuIHRoaXN9LHRvSlNPTjpmdW5jdGlvbihhKXthPUtiLnByb3RvdHlwZS50b0pTT04uY2FsbCh0aGlzLGEpO2Eub2JqZWN0LndpZHRoPQp0aGlzLndpZHRoO2Eub2JqZWN0LmhlaWdodD10aGlzLmhlaWdodDtyZXR1cm4gYX19KTtZZy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKERiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOllnLGxvYWQ6ZnVuY3Rpb24oYSxjLGUsZyl7dmFyIHQ9dGhpcyx2PW5ldyB3Yyh0Lm1hbmFnZXIpO3Yuc2V0UGF0aCh0LnBhdGgpO3YubG9hZChhLGZ1bmN0aW9uKHope2ModC5wYXJzZShKU09OLnBhcnNlKHopKSl9LGUsZyl9LHBhcnNlOmZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGMoRSl7dm9pZCAwPT09ZVtFXSYmY29uc29sZS53YXJuKCJUSFJFRS5NYXRlcmlhbExvYWRlcjogVW5kZWZpbmVkIHRleHR1cmUiLEUpO3JldHVybiBlW0VdfXZhciBlPXRoaXMudGV4dHVyZXMsZz1uZXcgZW5bYS50eXBlXTt2b2lkIDAhPT1hLnV1aWQmJihnLnV1aWQ9YS51dWlkKTt2b2lkIDAhPT1hLm5hbWUmJihnLm5hbWU9YS5uYW1lKTt2b2lkIDAhPT1hLmNvbG9yJiZnLmNvbG9yLnNldEhleChhLmNvbG9yKTsKdm9pZCAwIT09YS5yb3VnaG5lc3MmJihnLnJvdWdobmVzcz1hLnJvdWdobmVzcyk7dm9pZCAwIT09YS5tZXRhbG5lc3MmJihnLm1ldGFsbmVzcz1hLm1ldGFsbmVzcyk7dm9pZCAwIT09YS5lbWlzc2l2ZSYmZy5lbWlzc2l2ZS5zZXRIZXgoYS5lbWlzc2l2ZSk7dm9pZCAwIT09YS5zcGVjdWxhciYmZy5zcGVjdWxhci5zZXRIZXgoYS5zcGVjdWxhcik7dm9pZCAwIT09YS5zaGluaW5lc3MmJihnLnNoaW5pbmVzcz1hLnNoaW5pbmVzcyk7dm9pZCAwIT09YS5jbGVhcmNvYXQmJihnLmNsZWFyY29hdD1hLmNsZWFyY29hdCk7dm9pZCAwIT09YS5jbGVhcmNvYXRSb3VnaG5lc3MmJihnLmNsZWFyY29hdFJvdWdobmVzcz1hLmNsZWFyY29hdFJvdWdobmVzcyk7dm9pZCAwIT09YS52ZXJ0ZXhDb2xvcnMmJihnLnZlcnRleENvbG9ycz1hLnZlcnRleENvbG9ycyk7dm9pZCAwIT09YS5mb2cmJihnLmZvZz1hLmZvZyk7dm9pZCAwIT09YS5mbGF0U2hhZGluZyYmKGcuZmxhdFNoYWRpbmc9YS5mbGF0U2hhZGluZyk7CnZvaWQgMCE9PWEuYmxlbmRpbmcmJihnLmJsZW5kaW5nPWEuYmxlbmRpbmcpO3ZvaWQgMCE9PWEuY29tYmluZSYmKGcuY29tYmluZT1hLmNvbWJpbmUpO3ZvaWQgMCE9PWEuc2lkZSYmKGcuc2lkZT1hLnNpZGUpO3ZvaWQgMCE9PWEub3BhY2l0eSYmKGcub3BhY2l0eT1hLm9wYWNpdHkpO3ZvaWQgMCE9PWEudHJhbnNwYXJlbnQmJihnLnRyYW5zcGFyZW50PWEudHJhbnNwYXJlbnQpO3ZvaWQgMCE9PWEuYWxwaGFUZXN0JiYoZy5hbHBoYVRlc3Q9YS5hbHBoYVRlc3QpO3ZvaWQgMCE9PWEuZGVwdGhUZXN0JiYoZy5kZXB0aFRlc3Q9YS5kZXB0aFRlc3QpO3ZvaWQgMCE9PWEuZGVwdGhXcml0ZSYmKGcuZGVwdGhXcml0ZT1hLmRlcHRoV3JpdGUpO3ZvaWQgMCE9PWEuY29sb3JXcml0ZSYmKGcuY29sb3JXcml0ZT1hLmNvbG9yV3JpdGUpO3ZvaWQgMCE9PWEud2lyZWZyYW1lJiYoZy53aXJlZnJhbWU9YS53aXJlZnJhbWUpO3ZvaWQgMCE9PWEud2lyZWZyYW1lTGluZXdpZHRoJiYoZy53aXJlZnJhbWVMaW5ld2lkdGg9CmEud2lyZWZyYW1lTGluZXdpZHRoKTt2b2lkIDAhPT1hLndpcmVmcmFtZUxpbmVjYXAmJihnLndpcmVmcmFtZUxpbmVjYXA9YS53aXJlZnJhbWVMaW5lY2FwKTt2b2lkIDAhPT1hLndpcmVmcmFtZUxpbmVqb2luJiYoZy53aXJlZnJhbWVMaW5lam9pbj1hLndpcmVmcmFtZUxpbmVqb2luKTt2b2lkIDAhPT1hLnJvdGF0aW9uJiYoZy5yb3RhdGlvbj1hLnJvdGF0aW9uKTsxIT09YS5saW5ld2lkdGgmJihnLmxpbmV3aWR0aD1hLmxpbmV3aWR0aCk7dm9pZCAwIT09YS5kYXNoU2l6ZSYmKGcuZGFzaFNpemU9YS5kYXNoU2l6ZSk7dm9pZCAwIT09YS5nYXBTaXplJiYoZy5nYXBTaXplPWEuZ2FwU2l6ZSk7dm9pZCAwIT09YS5zY2FsZSYmKGcuc2NhbGU9YS5zY2FsZSk7dm9pZCAwIT09YS5wb2x5Z29uT2Zmc2V0JiYoZy5wb2x5Z29uT2Zmc2V0PWEucG9seWdvbk9mZnNldCk7dm9pZCAwIT09YS5wb2x5Z29uT2Zmc2V0RmFjdG9yJiYoZy5wb2x5Z29uT2Zmc2V0RmFjdG9yPWEucG9seWdvbk9mZnNldEZhY3Rvcik7CnZvaWQgMCE9PWEucG9seWdvbk9mZnNldFVuaXRzJiYoZy5wb2x5Z29uT2Zmc2V0VW5pdHM9YS5wb2x5Z29uT2Zmc2V0VW5pdHMpO3ZvaWQgMCE9PWEuc2tpbm5pbmcmJihnLnNraW5uaW5nPWEuc2tpbm5pbmcpO3ZvaWQgMCE9PWEubW9ycGhUYXJnZXRzJiYoZy5tb3JwaFRhcmdldHM9YS5tb3JwaFRhcmdldHMpO3ZvaWQgMCE9PWEubW9ycGhOb3JtYWxzJiYoZy5tb3JwaE5vcm1hbHM9YS5tb3JwaE5vcm1hbHMpO3ZvaWQgMCE9PWEuZGl0aGVyaW5nJiYoZy5kaXRoZXJpbmc9YS5kaXRoZXJpbmcpO3ZvaWQgMCE9PWEudmlzaWJsZSYmKGcudmlzaWJsZT1hLnZpc2libGUpO3ZvaWQgMCE9PWEudG9uZU1hcHBlZCYmKGcudG9uZU1hcHBlZD1hLnRvbmVNYXBwZWQpO3ZvaWQgMCE9PWEudXNlckRhdGEmJihnLnVzZXJEYXRhPWEudXNlckRhdGEpO2lmKHZvaWQgMCE9PWEudW5pZm9ybXMpZm9yKHZhciB0IGluIGEudW5pZm9ybXMpe3ZhciB2PWEudW5pZm9ybXNbdF07Zy51bmlmb3Jtc1t0XT0Ke307c3dpdGNoKHYudHlwZSl7Y2FzZSAidCI6Zy51bmlmb3Jtc1t0XS52YWx1ZT1jKHYudmFsdWUpO2JyZWFrO2Nhc2UgImMiOmcudW5pZm9ybXNbdF0udmFsdWU9KG5ldyBIKS5zZXRIZXgodi52YWx1ZSk7YnJlYWs7Y2FzZSAidjIiOmcudW5pZm9ybXNbdF0udmFsdWU9KG5ldyBmKS5mcm9tQXJyYXkodi52YWx1ZSk7YnJlYWs7Y2FzZSAidjMiOmcudW5pZm9ybXNbdF0udmFsdWU9KG5ldyBrKS5mcm9tQXJyYXkodi52YWx1ZSk7YnJlYWs7Y2FzZSAidjQiOmcudW5pZm9ybXNbdF0udmFsdWU9KG5ldyBwKS5mcm9tQXJyYXkodi52YWx1ZSk7YnJlYWs7Y2FzZSAibTMiOmcudW5pZm9ybXNbdF0udmFsdWU9KG5ldyByKS5mcm9tQXJyYXkodi52YWx1ZSk7Y2FzZSAibTQiOmcudW5pZm9ybXNbdF0udmFsdWU9KG5ldyBxKS5mcm9tQXJyYXkodi52YWx1ZSk7YnJlYWs7ZGVmYXVsdDpnLnVuaWZvcm1zW3RdLnZhbHVlPXYudmFsdWV9fXZvaWQgMCE9PWEuZGVmaW5lcyYmKGcuZGVmaW5lcz1hLmRlZmluZXMpOwp2b2lkIDAhPT1hLnZlcnRleFNoYWRlciYmKGcudmVydGV4U2hhZGVyPWEudmVydGV4U2hhZGVyKTt2b2lkIDAhPT1hLmZyYWdtZW50U2hhZGVyJiYoZy5mcmFnbWVudFNoYWRlcj1hLmZyYWdtZW50U2hhZGVyKTtpZih2b2lkIDAhPT1hLmV4dGVuc2lvbnMpZm9yKHZhciB6IGluIGEuZXh0ZW5zaW9ucylnLmV4dGVuc2lvbnNbel09YS5leHRlbnNpb25zW3pdO3ZvaWQgMCE9PWEuc2hhZGluZyYmKGcuZmxhdFNoYWRpbmc9MT09PWEuc2hhZGluZyk7dm9pZCAwIT09YS5zaXplJiYoZy5zaXplPWEuc2l6ZSk7dm9pZCAwIT09YS5zaXplQXR0ZW51YXRpb24mJihnLnNpemVBdHRlbnVhdGlvbj1hLnNpemVBdHRlbnVhdGlvbik7dm9pZCAwIT09YS5tYXAmJihnLm1hcD1jKGEubWFwKSk7dm9pZCAwIT09YS5tYXRjYXAmJihnLm1hdGNhcD1jKGEubWF0Y2FwKSk7dm9pZCAwIT09YS5hbHBoYU1hcCYmKGcuYWxwaGFNYXA9YyhhLmFscGhhTWFwKSxnLnRyYW5zcGFyZW50PSEwKTt2b2lkIDAhPT0KYS5idW1wTWFwJiYoZy5idW1wTWFwPWMoYS5idW1wTWFwKSk7dm9pZCAwIT09YS5idW1wU2NhbGUmJihnLmJ1bXBTY2FsZT1hLmJ1bXBTY2FsZSk7dm9pZCAwIT09YS5ub3JtYWxNYXAmJihnLm5vcm1hbE1hcD1jKGEubm9ybWFsTWFwKSk7dm9pZCAwIT09YS5ub3JtYWxNYXBUeXBlJiYoZy5ub3JtYWxNYXBUeXBlPWEubm9ybWFsTWFwVHlwZSk7dm9pZCAwIT09YS5ub3JtYWxTY2FsZSYmKHQ9YS5ub3JtYWxTY2FsZSwhMT09PUFycmF5LmlzQXJyYXkodCkmJih0PVt0LHRdKSxnLm5vcm1hbFNjYWxlPShuZXcgZikuZnJvbUFycmF5KHQpKTt2b2lkIDAhPT1hLmRpc3BsYWNlbWVudE1hcCYmKGcuZGlzcGxhY2VtZW50TWFwPWMoYS5kaXNwbGFjZW1lbnRNYXApKTt2b2lkIDAhPT1hLmRpc3BsYWNlbWVudFNjYWxlJiYoZy5kaXNwbGFjZW1lbnRTY2FsZT1hLmRpc3BsYWNlbWVudFNjYWxlKTt2b2lkIDAhPT1hLmRpc3BsYWNlbWVudEJpYXMmJihnLmRpc3BsYWNlbWVudEJpYXM9YS5kaXNwbGFjZW1lbnRCaWFzKTsKdm9pZCAwIT09YS5yb3VnaG5lc3NNYXAmJihnLnJvdWdobmVzc01hcD1jKGEucm91Z2huZXNzTWFwKSk7dm9pZCAwIT09YS5tZXRhbG5lc3NNYXAmJihnLm1ldGFsbmVzc01hcD1jKGEubWV0YWxuZXNzTWFwKSk7dm9pZCAwIT09YS5lbWlzc2l2ZU1hcCYmKGcuZW1pc3NpdmVNYXA9YyhhLmVtaXNzaXZlTWFwKSk7dm9pZCAwIT09YS5lbWlzc2l2ZUludGVuc2l0eSYmKGcuZW1pc3NpdmVJbnRlbnNpdHk9YS5lbWlzc2l2ZUludGVuc2l0eSk7dm9pZCAwIT09YS5zcGVjdWxhck1hcCYmKGcuc3BlY3VsYXJNYXA9YyhhLnNwZWN1bGFyTWFwKSk7dm9pZCAwIT09YS5lbnZNYXAmJihnLmVudk1hcD1jKGEuZW52TWFwKSk7dm9pZCAwIT09YS5lbnZNYXBJbnRlbnNpdHkmJihnLmVudk1hcEludGVuc2l0eT1hLmVudk1hcEludGVuc2l0eSk7dm9pZCAwIT09YS5yZWZsZWN0aXZpdHkmJihnLnJlZmxlY3Rpdml0eT1hLnJlZmxlY3Rpdml0eSk7dm9pZCAwIT09YS5yZWZyYWN0aW9uUmF0aW8mJihnLnJlZnJhY3Rpb25SYXRpbz0KYS5yZWZyYWN0aW9uUmF0aW8pO3ZvaWQgMCE9PWEubGlnaHRNYXAmJihnLmxpZ2h0TWFwPWMoYS5saWdodE1hcCkpO3ZvaWQgMCE9PWEubGlnaHRNYXBJbnRlbnNpdHkmJihnLmxpZ2h0TWFwSW50ZW5zaXR5PWEubGlnaHRNYXBJbnRlbnNpdHkpO3ZvaWQgMCE9PWEuYW9NYXAmJihnLmFvTWFwPWMoYS5hb01hcCkpO3ZvaWQgMCE9PWEuYW9NYXBJbnRlbnNpdHkmJihnLmFvTWFwSW50ZW5zaXR5PWEuYW9NYXBJbnRlbnNpdHkpO3ZvaWQgMCE9PWEuZ3JhZGllbnRNYXAmJihnLmdyYWRpZW50TWFwPWMoYS5ncmFkaWVudE1hcCkpO3ZvaWQgMCE9PWEuY2xlYXJjb2F0Tm9ybWFsTWFwJiYoZy5jbGVhcmNvYXROb3JtYWxNYXA9YyhhLmNsZWFyY29hdE5vcm1hbE1hcCkpO3ZvaWQgMCE9PWEuY2xlYXJjb2F0Tm9ybWFsU2NhbGUmJihnLmNsZWFyY29hdE5vcm1hbFNjYWxlPShuZXcgZikuZnJvbUFycmF5KGEuY2xlYXJjb2F0Tm9ybWFsU2NhbGUpKTtyZXR1cm4gZ30sc2V0VGV4dHVyZXM6ZnVuY3Rpb24oYSl7dGhpcy50ZXh0dXJlcz0KYTtyZXR1cm4gdGhpc319KTt2YXIgVWk9e2RlY29kZVRleHQ6ZnVuY3Rpb24oYSl7aWYoInVuZGVmaW5lZCIhPT10eXBlb2YgVGV4dERlY29kZXIpcmV0dXJuKG5ldyBUZXh0RGVjb2RlcikuZGVjb2RlKGEpO2Zvcih2YXIgYz0iIixlPTAsZz1hLmxlbmd0aDtlPGc7ZSsrKWMrPVN0cmluZy5mcm9tQ2hhckNvZGUoYVtlXSk7dHJ5e3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKGMpKX1jYXRjaCh0KXtyZXR1cm4gY319LGV4dHJhY3RVcmxCYXNlOmZ1bmN0aW9uKGEpe3ZhciBjPWEubGFzdEluZGV4T2YoIi8iKTtyZXR1cm4tMT09PWM/Ii4vIjphLnN1YnN0cigwLGMrMSl9fTtaZy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKHZhLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOlpnLGlzSW5zdGFuY2VkQnVmZmVyR2VvbWV0cnk6ITAsY29weTpmdW5jdGlvbihhKXt2YS5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7dGhpcy5tYXhJbnN0YW5jZWRDb3VudD0KYS5tYXhJbnN0YW5jZWRDb3VudDtyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9LHRvSlNPTjpmdW5jdGlvbigpe3ZhciBhPXZhLnByb3RvdHlwZS50b0pTT04uY2FsbCh0aGlzKTthLm1heEluc3RhbmNlZENvdW50PXRoaXMubWF4SW5zdGFuY2VkQ291bnQ7YS5pc0luc3RhbmNlZEJ1ZmZlckdlb21ldHJ5PSEwO3JldHVybiBhfX0pOyRnLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoUi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjokZyxpc0luc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZTohMCxjb3B5OmZ1bmN0aW9uKGEpe1IucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMubWVzaFBlckF0dHJpYnV0ZT1hLm1lc2hQZXJBdHRyaWJ1dGU7cmV0dXJuIHRoaXN9LHRvSlNPTjpmdW5jdGlvbigpe3ZhciBhPVIucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMpO2EubWVzaFBlckF0dHJpYnV0ZT0KdGhpcy5tZXNoUGVyQXR0cmlidXRlO2EuaXNJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGU9ITA7cmV0dXJuIGF9fSk7YWgucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShEYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjphaCxsb2FkOmZ1bmN0aW9uKGEsYyxlLGcpe3ZhciB0PXRoaXMsdj1uZXcgd2ModC5tYW5hZ2VyKTt2LnNldFBhdGgodC5wYXRoKTt2LmxvYWQoYSxmdW5jdGlvbih6KXtjKHQucGFyc2UoSlNPTi5wYXJzZSh6KSkpfSxlLGcpfSxwYXJzZTpmdW5jdGlvbihhKXt2YXIgYz1hLmlzSW5zdGFuY2VkQnVmZmVyR2VvbWV0cnk/bmV3IFpnOm5ldyB2YSxlPWEuZGF0YS5pbmRleDtpZih2b2lkIDAhPT1lKXt2YXIgZz1uZXcgVmlbZS50eXBlXShlLmFycmF5KTtjLnNldEluZGV4KG5ldyBSKGcsMSkpfWU9YS5kYXRhLmF0dHJpYnV0ZXM7Zm9yKHZhciB0IGluIGUpe3ZhciB2PWVbdF07Zz1uZXcgVmlbdi50eXBlXSh2LmFycmF5KTtnPW5ldyAodi5pc0luc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZT8KJGc6UikoZyx2Lml0ZW1TaXplLHYubm9ybWFsaXplZCk7dm9pZCAwIT09di5uYW1lJiYoZy5uYW1lPXYubmFtZSk7Yy5hZGRBdHRyaWJ1dGUodCxnKX12YXIgej1hLmRhdGEubW9ycGhBdHRyaWJ1dGVzO2lmKHopZm9yKHQgaW4geil7dmFyIEU9elt0XSxGPVtdO2U9MDtmb3IodmFyIEk9RS5sZW5ndGg7ZTxJO2UrKyl2PUVbZV0sZz1uZXcgVmlbdi50eXBlXSh2LmFycmF5KSxnPW5ldyBSKGcsdi5pdGVtU2l6ZSx2Lm5vcm1hbGl6ZWQpLHZvaWQgMCE9PXYubmFtZSYmKGcubmFtZT12Lm5hbWUpLEYucHVzaChnKTtjLm1vcnBoQXR0cmlidXRlc1t0XT1GfXQ9YS5kYXRhLmdyb3Vwc3x8YS5kYXRhLmRyYXdjYWxsc3x8YS5kYXRhLm9mZnNldHM7aWYodm9pZCAwIT09dClmb3IoZT0wLHY9dC5sZW5ndGg7ZSE9PXY7KytlKWc9dFtlXSxjLmFkZEdyb3VwKGcuc3RhcnQsZy5jb3VudCxnLm1hdGVyaWFsSW5kZXgpO2U9YS5kYXRhLmJvdW5kaW5nU3BoZXJlO3ZvaWQgMCE9PWUmJih0PW5ldyBrLAp2b2lkIDAhPT1lLmNlbnRlciYmdC5mcm9tQXJyYXkoZS5jZW50ZXIpLGMuYm91bmRpbmdTcGhlcmU9bmV3IEcodCxlLnJhZGl1cykpO2EubmFtZSYmKGMubmFtZT1hLm5hbWUpO2EudXNlckRhdGEmJihjLnVzZXJEYXRhPWEudXNlckRhdGEpO3JldHVybiBjfX0pO3ZhciBWaT17SW50OEFycmF5LFVpbnQ4QXJyYXksVWludDhDbGFtcGVkQXJyYXk6InVuZGVmaW5lZCIhPT10eXBlb2YgVWludDhDbGFtcGVkQXJyYXk/VWludDhDbGFtcGVkQXJyYXk6VWludDhBcnJheSxJbnQxNkFycmF5LFVpbnQxNkFycmF5LEludDMyQXJyYXksVWludDMyQXJyYXksRmxvYXQzMkFycmF5LEZsb2F0NjRBcnJheX07YmgucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShEYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpiaCxsb2FkOmZ1bmN0aW9uKGEsYyxlLGcpe3ZhciB0PXRoaXMsdj0iIj09PXRoaXMucGF0aD9VaS5leHRyYWN0VXJsQmFzZShhKTp0aGlzLnBhdGg7dGhpcy5yZXNvdXJjZVBhdGg9CnRoaXMucmVzb3VyY2VQYXRofHx2O3Y9bmV3IHdjKHQubWFuYWdlcik7di5zZXRQYXRoKHRoaXMucGF0aCk7di5sb2FkKGEsZnVuY3Rpb24oeil7dmFyIEU9bnVsbDt0cnl7RT1KU09OLnBhcnNlKHopfWNhdGNoKEYpe3ZvaWQgMCE9PWcmJmcoRik7Y29uc29sZS5lcnJvcigiVEhSRUU6T2JqZWN0TG9hZGVyOiBDYW4ndCBwYXJzZSAiK2ErIi4iLEYubWVzc2FnZSk7cmV0dXJufXo9RS5tZXRhZGF0YTt2b2lkIDA9PT16fHx2b2lkIDA9PT16LnR5cGV8fCJnZW9tZXRyeSI9PT16LnR5cGUudG9Mb3dlckNhc2UoKT9jb25zb2xlLmVycm9yKCJUSFJFRS5PYmplY3RMb2FkZXI6IENhbid0IGxvYWQgIithKTp0LnBhcnNlKEUsYyl9LGUsZyl9LHBhcnNlOmZ1bmN0aW9uKGEsYyl7dmFyIGU9dGhpcy5wYXJzZVNoYXBlKGEuc2hhcGVzKTtlPXRoaXMucGFyc2VHZW9tZXRyaWVzKGEuZ2VvbWV0cmllcyxlKTt2YXIgZz10aGlzLnBhcnNlSW1hZ2VzKGEuaW1hZ2VzLGZ1bmN0aW9uKCl7dm9pZCAwIT09CmMmJmModCl9KTtnPXRoaXMucGFyc2VUZXh0dXJlcyhhLnRleHR1cmVzLGcpO2c9dGhpcy5wYXJzZU1hdGVyaWFscyhhLm1hdGVyaWFscyxnKTt2YXIgdD10aGlzLnBhcnNlT2JqZWN0KGEub2JqZWN0LGUsZyk7YS5hbmltYXRpb25zJiYodC5hbmltYXRpb25zPXRoaXMucGFyc2VBbmltYXRpb25zKGEuYW5pbWF0aW9ucykpO3ZvaWQgMCE9PWEuaW1hZ2VzJiYwIT09YS5pbWFnZXMubGVuZ3RofHx2b2lkIDA9PT1jfHxjKHQpO3JldHVybiB0fSxwYXJzZVNoYXBlOmZ1bmN0aW9uKGEpe3ZhciBjPXt9O2lmKHZvaWQgMCE9PWEpZm9yKHZhciBlPTAsZz1hLmxlbmd0aDtlPGc7ZSsrKXt2YXIgdD0obmV3IEVkKS5mcm9tSlNPTihhW2VdKTtjW3QudXVpZF09dH1yZXR1cm4gY30scGFyc2VHZW9tZXRyaWVzOmZ1bmN0aW9uKGEsYyl7dmFyIGU9e307aWYodm9pZCAwIT09YSlmb3IodmFyIGc9bmV3IGFoLHQ9MCx2PWEubGVuZ3RoO3Q8djt0Kyspe3ZhciB6PWFbdF07c3dpdGNoKHoudHlwZSl7Y2FzZSAiUGxhbmVHZW9tZXRyeSI6Y2FzZSAiUGxhbmVCdWZmZXJHZW9tZXRyeSI6dmFyIEU9Cm5ldyBqY1t6LnR5cGVdKHoud2lkdGgsei5oZWlnaHQsei53aWR0aFNlZ21lbnRzLHouaGVpZ2h0U2VnbWVudHMpO2JyZWFrO2Nhc2UgIkJveEdlb21ldHJ5IjpjYXNlICJCb3hCdWZmZXJHZW9tZXRyeSI6Y2FzZSAiQ3ViZUdlb21ldHJ5IjpFPW5ldyBqY1t6LnR5cGVdKHoud2lkdGgsei5oZWlnaHQsei5kZXB0aCx6LndpZHRoU2VnbWVudHMsei5oZWlnaHRTZWdtZW50cyx6LmRlcHRoU2VnbWVudHMpO2JyZWFrO2Nhc2UgIkNpcmNsZUdlb21ldHJ5IjpjYXNlICJDaXJjbGVCdWZmZXJHZW9tZXRyeSI6RT1uZXcgamNbei50eXBlXSh6LnJhZGl1cyx6LnNlZ21lbnRzLHoudGhldGFTdGFydCx6LnRoZXRhTGVuZ3RoKTticmVhaztjYXNlICJDeWxpbmRlckdlb21ldHJ5IjpjYXNlICJDeWxpbmRlckJ1ZmZlckdlb21ldHJ5IjpFPW5ldyBqY1t6LnR5cGVdKHoucmFkaXVzVG9wLHoucmFkaXVzQm90dG9tLHouaGVpZ2h0LHoucmFkaWFsU2VnbWVudHMsei5oZWlnaHRTZWdtZW50cyx6Lm9wZW5FbmRlZCwKei50aGV0YVN0YXJ0LHoudGhldGFMZW5ndGgpO2JyZWFrO2Nhc2UgIkNvbmVHZW9tZXRyeSI6Y2FzZSAiQ29uZUJ1ZmZlckdlb21ldHJ5IjpFPW5ldyBqY1t6LnR5cGVdKHoucmFkaXVzLHouaGVpZ2h0LHoucmFkaWFsU2VnbWVudHMsei5oZWlnaHRTZWdtZW50cyx6Lm9wZW5FbmRlZCx6LnRoZXRhU3RhcnQsei50aGV0YUxlbmd0aCk7YnJlYWs7Y2FzZSAiU3BoZXJlR2VvbWV0cnkiOmNhc2UgIlNwaGVyZUJ1ZmZlckdlb21ldHJ5IjpFPW5ldyBqY1t6LnR5cGVdKHoucmFkaXVzLHoud2lkdGhTZWdtZW50cyx6LmhlaWdodFNlZ21lbnRzLHoucGhpU3RhcnQsei5waGlMZW5ndGgsei50aGV0YVN0YXJ0LHoudGhldGFMZW5ndGgpO2JyZWFrO2Nhc2UgIkRvZGVjYWhlZHJvbkdlb21ldHJ5IjpjYXNlICJEb2RlY2FoZWRyb25CdWZmZXJHZW9tZXRyeSI6Y2FzZSAiSWNvc2FoZWRyb25HZW9tZXRyeSI6Y2FzZSAiSWNvc2FoZWRyb25CdWZmZXJHZW9tZXRyeSI6Y2FzZSAiT2N0YWhlZHJvbkdlb21ldHJ5IjpjYXNlICJPY3RhaGVkcm9uQnVmZmVyR2VvbWV0cnkiOmNhc2UgIlRldHJhaGVkcm9uR2VvbWV0cnkiOmNhc2UgIlRldHJhaGVkcm9uQnVmZmVyR2VvbWV0cnkiOkU9Cm5ldyBqY1t6LnR5cGVdKHoucmFkaXVzLHouZGV0YWlsKTticmVhaztjYXNlICJSaW5nR2VvbWV0cnkiOmNhc2UgIlJpbmdCdWZmZXJHZW9tZXRyeSI6RT1uZXcgamNbei50eXBlXSh6LmlubmVyUmFkaXVzLHoub3V0ZXJSYWRpdXMsei50aGV0YVNlZ21lbnRzLHoucGhpU2VnbWVudHMsei50aGV0YVN0YXJ0LHoudGhldGFMZW5ndGgpO2JyZWFrO2Nhc2UgIlRvcnVzR2VvbWV0cnkiOmNhc2UgIlRvcnVzQnVmZmVyR2VvbWV0cnkiOkU9bmV3IGpjW3oudHlwZV0oei5yYWRpdXMsei50dWJlLHoucmFkaWFsU2VnbWVudHMsei50dWJ1bGFyU2VnbWVudHMsei5hcmMpO2JyZWFrO2Nhc2UgIlRvcnVzS25vdEdlb21ldHJ5IjpjYXNlICJUb3J1c0tub3RCdWZmZXJHZW9tZXRyeSI6RT1uZXcgamNbei50eXBlXSh6LnJhZGl1cyx6LnR1YmUsei50dWJ1bGFyU2VnbWVudHMsei5yYWRpYWxTZWdtZW50cyx6LnAsei5xKTticmVhaztjYXNlICJUdWJlR2VvbWV0cnkiOmNhc2UgIlR1YmVCdWZmZXJHZW9tZXRyeSI6RT0KbmV3IGpjW3oudHlwZV0oKG5ldyBUaVt6LnBhdGgudHlwZV0pLmZyb21KU09OKHoucGF0aCksei50dWJ1bGFyU2VnbWVudHMsei5yYWRpdXMsei5yYWRpYWxTZWdtZW50cyx6LmNsb3NlZCk7YnJlYWs7Y2FzZSAiTGF0aGVHZW9tZXRyeSI6Y2FzZSAiTGF0aGVCdWZmZXJHZW9tZXRyeSI6RT1uZXcgamNbei50eXBlXSh6LnBvaW50cyx6LnNlZ21lbnRzLHoucGhpU3RhcnQsei5waGlMZW5ndGgpO2JyZWFrO2Nhc2UgIlBvbHloZWRyb25HZW9tZXRyeSI6Y2FzZSAiUG9seWhlZHJvbkJ1ZmZlckdlb21ldHJ5IjpFPW5ldyBqY1t6LnR5cGVdKHoudmVydGljZXMsei5pbmRpY2VzLHoucmFkaXVzLHouZGV0YWlscyk7YnJlYWs7Y2FzZSAiU2hhcGVHZW9tZXRyeSI6Y2FzZSAiU2hhcGVCdWZmZXJHZW9tZXRyeSI6RT1bXTtmb3IodmFyIEY9MCxJPXouc2hhcGVzLmxlbmd0aDtGPEk7RisrKXt2YXIgTT1jW3ouc2hhcGVzW0ZdXTtFLnB1c2goTSl9RT1uZXcgamNbei50eXBlXShFLHouY3VydmVTZWdtZW50cyk7CmJyZWFrO2Nhc2UgIkV4dHJ1ZGVHZW9tZXRyeSI6Y2FzZSAiRXh0cnVkZUJ1ZmZlckdlb21ldHJ5IjpFPVtdO0Y9MDtmb3IoST16LnNoYXBlcy5sZW5ndGg7RjxJO0YrKylNPWNbei5zaGFwZXNbRl1dLEUucHVzaChNKTtGPXoub3B0aW9ucy5leHRydWRlUGF0aDt2b2lkIDAhPT1GJiYoei5vcHRpb25zLmV4dHJ1ZGVQYXRoPShuZXcgVGlbRi50eXBlXSkuZnJvbUpTT04oRikpO0U9bmV3IGpjW3oudHlwZV0oRSx6Lm9wdGlvbnMpO2JyZWFrO2Nhc2UgIkJ1ZmZlckdlb21ldHJ5IjpjYXNlICJJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSI6RT1nLnBhcnNlKHopO2JyZWFrO2Nhc2UgIkdlb21ldHJ5IjoiVEhSRUUiaW4gd2luZG93JiYiTGVnYWN5SlNPTkxvYWRlciJpbiBUSFJFRT9FPShuZXcgVEhSRUUuTGVnYWN5SlNPTkxvYWRlcikucGFyc2Uoeix0aGlzLnJlc291cmNlUGF0aCkuZ2VvbWV0cnk6Y29uc29sZS5lcnJvcignVEhSRUUuT2JqZWN0TG9hZGVyOiBZb3UgaGF2ZSB0byBpbXBvcnQgTGVnYWN5SlNPTkxvYWRlciBpbiBvcmRlciBsb2FkIGdlb21ldHJ5IGRhdGEgb2YgdHlwZSAiR2VvbWV0cnkiLicpOwpicmVhaztkZWZhdWx0OmNvbnNvbGUud2FybignVEhSRUUuT2JqZWN0TG9hZGVyOiBVbnN1cHBvcnRlZCBnZW9tZXRyeSB0eXBlICInK3oudHlwZSsnIicpO2NvbnRpbnVlfUUudXVpZD16LnV1aWQ7dm9pZCAwIT09ei5uYW1lJiYoRS5uYW1lPXoubmFtZSk7ITA9PT1FLmlzQnVmZmVyR2VvbWV0cnkmJnZvaWQgMCE9PXoudXNlckRhdGEmJihFLnVzZXJEYXRhPXoudXNlckRhdGEpO2Vbei51dWlkXT1FfXJldHVybiBlfSxwYXJzZU1hdGVyaWFsczpmdW5jdGlvbihhLGMpe3ZhciBlPXt9LGc9e307aWYodm9pZCAwIT09YSl7dmFyIHQ9bmV3IFlnO3Quc2V0VGV4dHVyZXMoYyk7Yz0wO2Zvcih2YXIgdj1hLmxlbmd0aDtjPHY7YysrKXt2YXIgej1hW2NdO2lmKCJNdWx0aU1hdGVyaWFsIj09PXoudHlwZSl7Zm9yKHZhciBFPVtdLEY9MDtGPHoubWF0ZXJpYWxzLmxlbmd0aDtGKyspe3ZhciBJPXoubWF0ZXJpYWxzW0ZdO3ZvaWQgMD09PWVbSS51dWlkXSYmKGVbSS51dWlkXT10LnBhcnNlKEkpKTsKRS5wdXNoKGVbSS51dWlkXSl9Z1t6LnV1aWRdPUV9ZWxzZSB2b2lkIDA9PT1lW3oudXVpZF0mJihlW3oudXVpZF09dC5wYXJzZSh6KSksZ1t6LnV1aWRdPWVbei51dWlkXX19cmV0dXJuIGd9LHBhcnNlQW5pbWF0aW9uczpmdW5jdGlvbihhKXtmb3IodmFyIGM9W10sZT0wO2U8YS5sZW5ndGg7ZSsrKXt2YXIgZz1hW2VdLHQ9dmMucGFyc2UoZyk7dm9pZCAwIT09Zy51dWlkJiYodC51dWlkPWcudXVpZCk7Yy5wdXNoKHQpfXJldHVybiBjfSxwYXJzZUltYWdlczpmdW5jdGlvbihhLGMpe2Z1bmN0aW9uIGUoUSl7Zy5tYW5hZ2VyLml0ZW1TdGFydChRKTtyZXR1cm4gdi5sb2FkKFEsZnVuY3Rpb24oKXtnLm1hbmFnZXIuaXRlbUVuZChRKX0sdm9pZCAwLGZ1bmN0aW9uKCl7Zy5tYW5hZ2VyLml0ZW1FcnJvcihRKTtnLm1hbmFnZXIuaXRlbUVuZChRKX0pfXZhciBnPXRoaXMsdD17fTtpZih2b2lkIDAhPT1hJiYwPGEubGVuZ3RoKXtjPW5ldyBlaShjKTt2YXIgdj1uZXcgV2UoYyk7di5zZXRDcm9zc09yaWdpbih0aGlzLmNyb3NzT3JpZ2luKTsKYz0wO2Zvcih2YXIgej1hLmxlbmd0aDtjPHo7YysrKXt2YXIgRT1hW2NdLEY9RS51cmw7aWYoQXJyYXkuaXNBcnJheShGKSl7dFtFLnV1aWRdPVtdO2Zvcih2YXIgST0wLE09Ri5sZW5ndGg7STxNO0krKyl7dmFyIFA9RltJXTtQPS9eKFwvXC8pfChbYS16XSs6KFwvXC8pPykvaS50ZXN0KFApP1A6Zy5yZXNvdXJjZVBhdGgrUDt0W0UudXVpZF0ucHVzaChlKFApKX19ZWxzZSBQPS9eKFwvXC8pfChbYS16XSs6KFwvXC8pPykvaS50ZXN0KEUudXJsKT9FLnVybDpnLnJlc291cmNlUGF0aCtFLnVybCx0W0UudXVpZF09ZShQKX19cmV0dXJuIHR9LHBhcnNlVGV4dHVyZXM6ZnVuY3Rpb24oYSxjKXtmdW5jdGlvbiBlKEYsSSl7aWYoIm51bWJlciI9PT10eXBlb2YgRilyZXR1cm4gRjtjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdExvYWRlci5wYXJzZVRleHR1cmU6IENvbnN0YW50IHNob3VsZCBiZSBpbiBudW1lcmljIGZvcm0uIixGKTtyZXR1cm4gSVtGXX12YXIgZz17fTtpZih2b2lkIDAhPT0KYSlmb3IodmFyIHQ9MCx2PWEubGVuZ3RoO3Q8djt0Kyspe3ZhciB6PWFbdF07dm9pZCAwPT09ei5pbWFnZSYmY29uc29sZS53YXJuKCdUSFJFRS5PYmplY3RMb2FkZXI6IE5vICJpbWFnZSIgc3BlY2lmaWVkIGZvcicsei51dWlkKTt2b2lkIDA9PT1jW3ouaW1hZ2VdJiZjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdExvYWRlcjogVW5kZWZpbmVkIGltYWdlIix6LmltYWdlKTt2YXIgRT1BcnJheS5pc0FycmF5KGNbei5pbWFnZV0pP25ldyBlZChjW3ouaW1hZ2VdKTpuZXcgbChjW3ouaW1hZ2VdKTtFLm5lZWRzVXBkYXRlPSEwO0UudXVpZD16LnV1aWQ7dm9pZCAwIT09ei5uYW1lJiYoRS5uYW1lPXoubmFtZSk7dm9pZCAwIT09ei5tYXBwaW5nJiYoRS5tYXBwaW5nPWUoei5tYXBwaW5nLGZuKSk7dm9pZCAwIT09ei5vZmZzZXQmJkUub2Zmc2V0LmZyb21BcnJheSh6Lm9mZnNldCk7dm9pZCAwIT09ei5yZXBlYXQmJkUucmVwZWF0LmZyb21BcnJheSh6LnJlcGVhdCk7dm9pZCAwIT09ei5jZW50ZXImJgpFLmNlbnRlci5mcm9tQXJyYXkoei5jZW50ZXIpO3ZvaWQgMCE9PXoucm90YXRpb24mJihFLnJvdGF0aW9uPXoucm90YXRpb24pO3ZvaWQgMCE9PXoud3JhcCYmKEUud3JhcFM9ZSh6LndyYXBbMF0sQmspLEUud3JhcFQ9ZSh6LndyYXBbMV0sQmspKTt2b2lkIDAhPT16LmZvcm1hdCYmKEUuZm9ybWF0PXouZm9ybWF0KTt2b2lkIDAhPT16LnR5cGUmJihFLnR5cGU9ei50eXBlKTt2b2lkIDAhPT16LmVuY29kaW5nJiYoRS5lbmNvZGluZz16LmVuY29kaW5nKTt2b2lkIDAhPT16Lm1pbkZpbHRlciYmKEUubWluRmlsdGVyPWUoei5taW5GaWx0ZXIsQ2spKTt2b2lkIDAhPT16Lm1hZ0ZpbHRlciYmKEUubWFnRmlsdGVyPWUoei5tYWdGaWx0ZXIsQ2spKTt2b2lkIDAhPT16LmFuaXNvdHJvcHkmJihFLmFuaXNvdHJvcHk9ei5hbmlzb3Ryb3B5KTt2b2lkIDAhPT16LmZsaXBZJiYoRS5mbGlwWT16LmZsaXBZKTt2b2lkIDAhPT16LnByZW11bHRpcGx5QWxwaGEmJihFLnByZW11bHRpcGx5QWxwaGE9CnoucHJlbXVsdGlwbHlBbHBoYSk7dm9pZCAwIT09ei51bnBhY2tBbGlnbm1lbnQmJihFLnVucGFja0FsaWdubWVudD16LnVucGFja0FsaWdubWVudCk7Z1t6LnV1aWRdPUV9cmV0dXJuIGd9LHBhcnNlT2JqZWN0OmZ1bmN0aW9uKGEsYyxlKXtmdW5jdGlvbiBnKEkpe3ZvaWQgMD09PWNbSV0mJmNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0TG9hZGVyOiBVbmRlZmluZWQgZ2VvbWV0cnkiLEkpO3JldHVybiBjW0ldfWZ1bmN0aW9uIHQoSSl7aWYodm9pZCAwIT09SSl7aWYoQXJyYXkuaXNBcnJheShJKSl7Zm9yKHZhciBNPVtdLFA9MCxRPUkubGVuZ3RoO1A8UTtQKyspe3ZhciBVPUlbUF07dm9pZCAwPT09ZVtVXSYmY29uc29sZS53YXJuKCJUSFJFRS5PYmplY3RMb2FkZXI6IFVuZGVmaW5lZCBtYXRlcmlhbCIsVSk7TS5wdXNoKGVbVV0pfXJldHVybiBNfXZvaWQgMD09PWVbSV0mJmNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0TG9hZGVyOiBVbmRlZmluZWQgbWF0ZXJpYWwiLEkpO3JldHVybiBlW0ldfX0Kc3dpdGNoKGEudHlwZSl7Y2FzZSAiU2NlbmUiOnZhciB2PW5ldyB5O3ZvaWQgMCE9PWEuYmFja2dyb3VuZCYmTnVtYmVyLmlzSW50ZWdlcihhLmJhY2tncm91bmQpJiYodi5iYWNrZ3JvdW5kPW5ldyBIKGEuYmFja2dyb3VuZCkpO3ZvaWQgMCE9PWEuZm9nJiYoIkZvZyI9PT1hLmZvZy50eXBlP3YuZm9nPW5ldyBEZyhhLmZvZy5jb2xvcixhLmZvZy5uZWFyLGEuZm9nLmZhcik6IkZvZ0V4cDIiPT09YS5mb2cudHlwZSYmKHYuZm9nPW5ldyBDZyhhLmZvZy5jb2xvcixhLmZvZy5kZW5zaXR5KSkpO2JyZWFrO2Nhc2UgIlBlcnNwZWN0aXZlQ2FtZXJhIjp2PW5ldyB2YihhLmZvdixhLmFzcGVjdCxhLm5lYXIsYS5mYXIpO3ZvaWQgMCE9PWEuZm9jdXMmJih2LmZvY3VzPWEuZm9jdXMpO3ZvaWQgMCE9PWEuem9vbSYmKHYuem9vbT1hLnpvb20pO3ZvaWQgMCE9PWEuZmlsbUdhdWdlJiYodi5maWxtR2F1Z2U9YS5maWxtR2F1Z2UpO3ZvaWQgMCE9PWEuZmlsbU9mZnNldCYmKHYuZmlsbU9mZnNldD0KYS5maWxtT2Zmc2V0KTt2b2lkIDAhPT1hLnZpZXcmJih2LnZpZXc9T2JqZWN0LmFzc2lnbih7fSxhLnZpZXcpKTticmVhaztjYXNlICJPcnRob2dyYXBoaWNDYW1lcmEiOnY9bmV3IGNnKGEubGVmdCxhLnJpZ2h0LGEudG9wLGEuYm90dG9tLGEubmVhcixhLmZhcik7dm9pZCAwIT09YS56b29tJiYodi56b29tPWEuem9vbSk7dm9pZCAwIT09YS52aWV3JiYodi52aWV3PU9iamVjdC5hc3NpZ24oe30sYS52aWV3KSk7YnJlYWs7Y2FzZSAiQW1iaWVudExpZ2h0Ijp2PW5ldyBXZyhhLmNvbG9yLGEuaW50ZW5zaXR5KTticmVhaztjYXNlICJEaXJlY3Rpb25hbExpZ2h0Ijp2PW5ldyBWZyhhLmNvbG9yLGEuaW50ZW5zaXR5KTticmVhaztjYXNlICJQb2ludExpZ2h0Ijp2PW5ldyBUZyhhLmNvbG9yLGEuaW50ZW5zaXR5LGEuZGlzdGFuY2UsYS5kZWNheSk7YnJlYWs7Y2FzZSAiUmVjdEFyZWFMaWdodCI6dj1uZXcgWGcoYS5jb2xvcixhLmludGVuc2l0eSxhLndpZHRoLGEuaGVpZ2h0KTticmVhazsKY2FzZSAiU3BvdExpZ2h0Ijp2PW5ldyBTZyhhLmNvbG9yLGEuaW50ZW5zaXR5LGEuZGlzdGFuY2UsYS5hbmdsZSxhLnBlbnVtYnJhLGEuZGVjYXkpO2JyZWFrO2Nhc2UgIkhlbWlzcGhlcmVMaWdodCI6dj1uZXcgUWcoYS5jb2xvcixhLmdyb3VuZENvbG9yLGEuaW50ZW5zaXR5KTticmVhaztjYXNlICJTa2lubmVkTWVzaCI6Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3RMb2FkZXIucGFyc2VPYmplY3QoKSBkb2VzIG5vdCBzdXBwb3J0IFNraW5uZWRNZXNoIHlldC4iKTtjYXNlICJNZXNoIjp2PWcoYS5nZW9tZXRyeSk7dmFyIHo9dChhLm1hdGVyaWFsKTt2PXYuYm9uZXMmJjA8di5ib25lcy5sZW5ndGg/bmV3IENmKHYseik6bmV3IHlhKHYseik7dm9pZCAwIT09YS5kcmF3TW9kZSYmdi5zZXREcmF3TW9kZShhLmRyYXdNb2RlKTticmVhaztjYXNlICJMT0QiOnY9bmV3IEJmO2JyZWFrO2Nhc2UgIkxpbmUiOnY9bmV3IFhiKGcoYS5nZW9tZXRyeSksdChhLm1hdGVyaWFsKSxhLm1vZGUpOwpicmVhaztjYXNlICJMaW5lTG9vcCI6dj1uZXcgR2coZyhhLmdlb21ldHJ5KSx0KGEubWF0ZXJpYWwpKTticmVhaztjYXNlICJMaW5lU2VnbWVudHMiOnY9bmV3IEliKGcoYS5nZW9tZXRyeSksdChhLm1hdGVyaWFsKSk7YnJlYWs7Y2FzZSAiUG9pbnRDbG91ZCI6Y2FzZSAiUG9pbnRzIjp2PW5ldyBFZShnKGEuZ2VvbWV0cnkpLHQoYS5tYXRlcmlhbCkpO2JyZWFrO2Nhc2UgIlNwcml0ZSI6dj1uZXcgemYodChhLm1hdGVyaWFsKSk7YnJlYWs7Y2FzZSAiR3JvdXAiOnY9bmV3IHdlO2JyZWFrO2RlZmF1bHQ6dj1uZXcgQX12LnV1aWQ9YS51dWlkO3ZvaWQgMCE9PWEubmFtZSYmKHYubmFtZT1hLm5hbWUpO3ZvaWQgMCE9PWEubWF0cml4Pyh2Lm1hdHJpeC5mcm9tQXJyYXkoYS5tYXRyaXgpLHZvaWQgMCE9PWEubWF0cml4QXV0b1VwZGF0ZSYmKHYubWF0cml4QXV0b1VwZGF0ZT1hLm1hdHJpeEF1dG9VcGRhdGUpLHYubWF0cml4QXV0b1VwZGF0ZSYmdi5tYXRyaXguZGVjb21wb3NlKHYucG9zaXRpb24sCnYucXVhdGVybmlvbix2LnNjYWxlKSk6KHZvaWQgMCE9PWEucG9zaXRpb24mJnYucG9zaXRpb24uZnJvbUFycmF5KGEucG9zaXRpb24pLHZvaWQgMCE9PWEucm90YXRpb24mJnYucm90YXRpb24uZnJvbUFycmF5KGEucm90YXRpb24pLHZvaWQgMCE9PWEucXVhdGVybmlvbiYmdi5xdWF0ZXJuaW9uLmZyb21BcnJheShhLnF1YXRlcm5pb24pLHZvaWQgMCE9PWEuc2NhbGUmJnYuc2NhbGUuZnJvbUFycmF5KGEuc2NhbGUpKTt2b2lkIDAhPT1hLmNhc3RTaGFkb3cmJih2LmNhc3RTaGFkb3c9YS5jYXN0U2hhZG93KTt2b2lkIDAhPT1hLnJlY2VpdmVTaGFkb3cmJih2LnJlY2VpdmVTaGFkb3c9YS5yZWNlaXZlU2hhZG93KTthLnNoYWRvdyYmKHZvaWQgMCE9PWEuc2hhZG93LmJpYXMmJih2LnNoYWRvdy5iaWFzPWEuc2hhZG93LmJpYXMpLHZvaWQgMCE9PWEuc2hhZG93LnJhZGl1cyYmKHYuc2hhZG93LnJhZGl1cz1hLnNoYWRvdy5yYWRpdXMpLHZvaWQgMCE9PWEuc2hhZG93Lm1hcFNpemUmJgp2LnNoYWRvdy5tYXBTaXplLmZyb21BcnJheShhLnNoYWRvdy5tYXBTaXplKSx2b2lkIDAhPT1hLnNoYWRvdy5jYW1lcmEmJih2LnNoYWRvdy5jYW1lcmE9dGhpcy5wYXJzZU9iamVjdChhLnNoYWRvdy5jYW1lcmEpKSk7dm9pZCAwIT09YS52aXNpYmxlJiYodi52aXNpYmxlPWEudmlzaWJsZSk7dm9pZCAwIT09YS5mcnVzdHVtQ3VsbGVkJiYodi5mcnVzdHVtQ3VsbGVkPWEuZnJ1c3R1bUN1bGxlZCk7dm9pZCAwIT09YS5yZW5kZXJPcmRlciYmKHYucmVuZGVyT3JkZXI9YS5yZW5kZXJPcmRlcik7dm9pZCAwIT09YS51c2VyRGF0YSYmKHYudXNlckRhdGE9YS51c2VyRGF0YSk7dm9pZCAwIT09YS5sYXllcnMmJih2LmxheWVycy5tYXNrPWEubGF5ZXJzKTtpZih2b2lkIDAhPT1hLmNoaWxkcmVuKXt6PWEuY2hpbGRyZW47Zm9yKHZhciBFPTA7RTx6Lmxlbmd0aDtFKyspdi5hZGQodGhpcy5wYXJzZU9iamVjdCh6W0VdLGMsZSkpfWlmKCJMT0QiPT09YS50eXBlKWZvcihhPWEubGV2ZWxzLHo9CjA7ejxhLmxlbmd0aDt6Kyspe0U9YVt6XTt2YXIgRj12LmdldE9iamVjdEJ5UHJvcGVydHkoInV1aWQiLEUub2JqZWN0KTt2b2lkIDAhPT1GJiZ2LmFkZExldmVsKEYsRS5kaXN0YW5jZSl9cmV0dXJuIHZ9fSk7dmFyIGZuPXtVVk1hcHBpbmc6MzAwLEN1YmVSZWZsZWN0aW9uTWFwcGluZzozMDEsQ3ViZVJlZnJhY3Rpb25NYXBwaW5nOjMwMixFcXVpcmVjdGFuZ3VsYXJSZWZsZWN0aW9uTWFwcGluZzozMDMsRXF1aXJlY3Rhbmd1bGFyUmVmcmFjdGlvbk1hcHBpbmc6MzA0LFNwaGVyaWNhbFJlZmxlY3Rpb25NYXBwaW5nOjMwNSxDdWJlVVZSZWZsZWN0aW9uTWFwcGluZzozMDYsQ3ViZVVWUmVmcmFjdGlvbk1hcHBpbmc6MzA3fSxCaz17UmVwZWF0V3JhcHBpbmc6MUUzLENsYW1wVG9FZGdlV3JhcHBpbmc6MTAwMSxNaXJyb3JlZFJlcGVhdFdyYXBwaW5nOjEwMDJ9LENrPXtOZWFyZXN0RmlsdGVyOjEwMDMsTmVhcmVzdE1pcG1hcE5lYXJlc3RGaWx0ZXI6MTAwNCxOZWFyZXN0TWlwbWFwTGluZWFyRmlsdGVyOjEwMDUsCkxpbmVhckZpbHRlcjoxMDA2LExpbmVhck1pcG1hcE5lYXJlc3RGaWx0ZXI6MTAwNyxMaW5lYXJNaXBtYXBMaW5lYXJGaWx0ZXI6MTAwOH07amkucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShEYi5wcm90b3R5cGUpLHtjb25zdHJ1Y3RvcjpqaSxzZXRPcHRpb25zOmZ1bmN0aW9uKGEpe3RoaXMub3B0aW9ucz1hO3JldHVybiB0aGlzfSxsb2FkOmZ1bmN0aW9uKGEsYyxlLGcpe3ZvaWQgMD09PWEmJihhPSIiKTt2b2lkIDAhPT10aGlzLnBhdGgmJihhPXRoaXMucGF0aCthKTthPXRoaXMubWFuYWdlci5yZXNvbHZlVVJMKGEpO3ZhciB0PXRoaXMsdj1rZS5nZXQoYSk7aWYodm9pZCAwIT09dilyZXR1cm4gdC5tYW5hZ2VyLml0ZW1TdGFydChhKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YyYmYyh2KTt0Lm1hbmFnZXIuaXRlbUVuZChhKX0sMCksdjtmZXRjaChhKS50aGVuKGZ1bmN0aW9uKHope3JldHVybiB6LmJsb2IoKX0pLnRoZW4oZnVuY3Rpb24oeil7cmV0dXJuIHZvaWQgMD09PQp0Lm9wdGlvbnM/Y3JlYXRlSW1hZ2VCaXRtYXAoeik6Y3JlYXRlSW1hZ2VCaXRtYXAoeix0Lm9wdGlvbnMpfSkudGhlbihmdW5jdGlvbih6KXtrZS5hZGQoYSx6KTtjJiZjKHopO3QubWFuYWdlci5pdGVtRW5kKGEpfSkuY2F0Y2goZnVuY3Rpb24oeil7ZyYmZyh6KTt0Lm1hbmFnZXIuaXRlbUVycm9yKGEpO3QubWFuYWdlci5pdGVtRW5kKGEpfSk7dC5tYW5hZ2VyLml0ZW1TdGFydChhKX19KTtPYmplY3QuYXNzaWduKGtpLnByb3RvdHlwZSx7bW92ZVRvOmZ1bmN0aW9uKGEsYyl7dGhpcy5jdXJyZW50UGF0aD1uZXcgSWM7dGhpcy5zdWJQYXRocy5wdXNoKHRoaXMuY3VycmVudFBhdGgpO3RoaXMuY3VycmVudFBhdGgubW92ZVRvKGEsYyl9LGxpbmVUbzpmdW5jdGlvbihhLGMpe3RoaXMuY3VycmVudFBhdGgubGluZVRvKGEsYyl9LHF1YWRyYXRpY0N1cnZlVG86ZnVuY3Rpb24oYSxjLGUsZyl7dGhpcy5jdXJyZW50UGF0aC5xdWFkcmF0aWNDdXJ2ZVRvKGEsYyxlLGcpfSxiZXppZXJDdXJ2ZVRvOmZ1bmN0aW9uKGEsCmMsZSxnLHQsdil7dGhpcy5jdXJyZW50UGF0aC5iZXppZXJDdXJ2ZVRvKGEsYyxlLGcsdCx2KX0sc3BsaW5lVGhydTpmdW5jdGlvbihhKXt0aGlzLmN1cnJlbnRQYXRoLnNwbGluZVRocnUoYSl9LHRvU2hhcGVzOmZ1bmN0aW9uKGEsYyl7ZnVuY3Rpb24gZShkYSl7Zm9yKHZhciByYT1bXSxwYT0wLHFhPWRhLmxlbmd0aDtwYTxxYTtwYSsrKXt2YXIgdWE9ZGFbcGFdLG5hPW5ldyBFZDtuYS5jdXJ2ZXM9dWEuY3VydmVzO3JhLnB1c2gobmEpfXJldHVybiByYX1mdW5jdGlvbiBnKGRhLHJhKXtmb3IodmFyIHBhPXJhLmxlbmd0aCxxYT0hMSx1YT1wYS0xLG5hPTA7bmE8cGE7dWE9bmErKyl7dmFyIHRhPXJhW3VhXSxCYT1yYVtuYV0sVGE9QmEueC10YS54LFVhPUJhLnktdGEueTtpZihNYXRoLmFicyhVYSk+TnVtYmVyLkVQU0lMT04pe2lmKDA+VWEmJih0YT1yYVtuYV0sVGE9LVRhLEJhPXJhW3VhXSxVYT0tVWEpLCEoZGEueTx0YS55fHxkYS55PkJhLnkpKWlmKGRhLnk9PT10YS55KXtpZihkYS54PT09CnRhLngpcmV0dXJuITB9ZWxzZXt1YT1VYSooZGEueC10YS54KS1UYSooZGEueS10YS55KTtpZigwPT09dWEpcmV0dXJuITA7MD51YXx8KHFhPSFxYSl9fWVsc2UgaWYoZGEueT09PXRhLnkmJihCYS54PD1kYS54JiZkYS54PD10YS54fHx0YS54PD1kYS54JiZkYS54PD1CYS54KSlyZXR1cm4hMH1yZXR1cm4gcWF9dmFyIHQ9Z2QuaXNDbG9ja1dpc2Usdj10aGlzLnN1YlBhdGhzO2lmKDA9PT12Lmxlbmd0aClyZXR1cm5bXTtpZighMD09PWMpcmV0dXJuIGUodik7Yz1bXTtpZigxPT09di5sZW5ndGgpe3ZhciB6PXZbMF07dmFyIEU9bmV3IEVkO0UuY3VydmVzPXouY3VydmVzO2MucHVzaChFKTtyZXR1cm4gY312YXIgRj0hdCh2WzBdLmdldFBvaW50cygpKTtGPWE/IUY6RjtFPVtdO3ZhciBJPVtdLE09W10sUD0wO0lbUF09dm9pZCAwO01bUF09W107Zm9yKHZhciBRPTAsVT12Lmxlbmd0aDtRPFU7USsrKXt6PXZbUV07dmFyIFY9ei5nZXRQb2ludHMoKTt2YXIgZWE9dChWKTsoZWE9YT8hZWE6CmVhKT8oIUYmJklbUF0mJlArKyxJW1BdPXtzOm5ldyBFZCxwOlZ9LElbUF0ucy5jdXJ2ZXM9ei5jdXJ2ZXMsRiYmUCsrLE1bUF09W10pOk1bUF0ucHVzaCh7aDp6LHA6VlswXX0pfWlmKCFJWzBdKXJldHVybiBlKHYpO2lmKDE8SS5sZW5ndGgpe1E9ITE7YT1bXTt0PTA7Zm9yKHY9SS5sZW5ndGg7dDx2O3QrKylFW3RdPVtdO3Q9MDtmb3Iodj1JLmxlbmd0aDt0PHY7dCsrKWZvcih6PU1bdF0sZWE9MDtlYTx6Lmxlbmd0aDtlYSsrKXtGPXpbZWFdO1A9ITA7Zm9yKFY9MDtWPEkubGVuZ3RoO1YrKylnKEYucCxJW1ZdLnApJiYodCE9PVYmJmEucHVzaCh7ZnJvbXM6dCx0b3M6Vixob2xlOmVhfSksUD8oUD0hMSxFW1ZdLnB1c2goRikpOlE9ITApO1AmJkVbdF0ucHVzaChGKX0wPGEubGVuZ3RoJiYoUXx8KE09RSkpfVE9MDtmb3IodD1JLmxlbmd0aDtRPHQ7USsrKWZvcihFPUlbUV0ucyxjLnB1c2goRSksYT1NW1FdLHY9MCx6PWEubGVuZ3RoO3Y8ejt2KyspRS5ob2xlcy5wdXNoKGFbdl0uaCk7CnJldHVybiBjfX0pO09iamVjdC5hc3NpZ24obGkucHJvdG90eXBlLHtpc0ZvbnQ6ITAsZ2VuZXJhdGVTaGFwZXM6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1jJiYoYz0xMDApO3ZhciBlPVtdO2E9UW0oYSxjLHRoaXMuZGF0YSk7Yz0wO2Zvcih2YXIgZz1hLmxlbmd0aDtjPGc7YysrKUFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGUsYVtjXS50b1NoYXBlcygpKTtyZXR1cm4gZX19KTttaS5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKERiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOm1pLGxvYWQ6ZnVuY3Rpb24oYSxjLGUsZyl7dmFyIHQ9dGhpcyx2PW5ldyB3Yyh0aGlzLm1hbmFnZXIpO3Yuc2V0UGF0aCh0aGlzLnBhdGgpO3YubG9hZChhLGZ1bmN0aW9uKHope3RyeXt2YXIgRT1KU09OLnBhcnNlKHopfWNhdGNoKEYpe2NvbnNvbGUud2FybigiVEhSRUUuRm9udExvYWRlcjogdHlwZWZhY2UuanMgc3VwcG9ydCBpcyBiZWluZyBkZXByZWNhdGVkLiBVc2UgdHlwZWZhY2UuanNvbiBpbnN0ZWFkLiIpLApFPUpTT04ucGFyc2Uoei5zdWJzdHJpbmcoNjUsei5sZW5ndGgtMikpfXo9dC5wYXJzZShFKTtjJiZjKHopfSxlLGcpfSxwYXJzZTpmdW5jdGlvbihhKXtyZXR1cm4gbmV3IGxpKGEpfX0pO3ZhciBCaCxyaT17Z2V0Q29udGV4dDpmdW5jdGlvbigpe3ZvaWQgMD09PUJoJiYoQmg9bmV3ICh3aW5kb3cuQXVkaW9Db250ZXh0fHx3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0KSk7cmV0dXJuIEJofSxzZXRDb250ZXh0OmZ1bmN0aW9uKGEpe0JoPWF9fTtjaC5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKERiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOmNoLGxvYWQ6ZnVuY3Rpb24oYSxjLGUsZyl7dmFyIHQ9bmV3IHdjKHRoaXMubWFuYWdlcik7dC5zZXRSZXNwb25zZVR5cGUoImFycmF5YnVmZmVyIik7dC5zZXRQYXRoKHRoaXMucGF0aCk7dC5sb2FkKGEsZnVuY3Rpb24odil7dj12LnNsaWNlKDApO3JpLmdldENvbnRleHQoKS5kZWNvZGVBdWRpb0RhdGEodixmdW5jdGlvbih6KXtjKHopfSl9LAplLGcpfX0pO09iamVjdC5hc3NpZ24oZGgucHJvdG90eXBlLHtpc1NwaGVyaWNhbEhhcm1vbmljczM6ITAsc2V0OmZ1bmN0aW9uKGEpe2Zvcih2YXIgYz0wOzk+YztjKyspdGhpcy5jb2VmZmljaWVudHNbY10uY29weShhW2NdKTtyZXR1cm4gdGhpc30semVybzpmdW5jdGlvbigpe2Zvcih2YXIgYT0wOzk+YTthKyspdGhpcy5jb2VmZmljaWVudHNbYV0uc2V0KDAsMCwwKTtyZXR1cm4gdGhpc30sZ2V0QXQ6ZnVuY3Rpb24oYSxjKXt2YXIgZT1hLngsZz1hLnk7YT1hLno7dmFyIHQ9dGhpcy5jb2VmZmljaWVudHM7Yy5jb3B5KHRbMF0pLm11bHRpcGx5U2NhbGFyKC4yODIwOTUpO2MuYWRkU2NhbGUodFsxXSwuNDg4NjAzKmcpO2MuYWRkU2NhbGUodFsyXSwuNDg4NjAzKmEpO2MuYWRkU2NhbGUodFszXSwuNDg4NjAzKmUpO2MuYWRkU2NhbGUodFs0XSwxLjA5MjU0OCplKmcpO2MuYWRkU2NhbGUodFs1XSwxLjA5MjU0OCpnKmEpO2MuYWRkU2NhbGUodFs2XSwuMzE1MzkyKigzKmEqYS0xKSk7CmMuYWRkU2NhbGUodFs3XSwxLjA5MjU0OCplKmEpO2MuYWRkU2NhbGUodFs4XSwuNTQ2Mjc0KihlKmUtZypnKSk7cmV0dXJuIGN9LGdldElycmFkaWFuY2VBdDpmdW5jdGlvbihhLGMpe3ZhciBlPWEueCxnPWEueTthPWEuejt2YXIgdD10aGlzLmNvZWZmaWNpZW50cztjLmNvcHkodFswXSkubXVsdGlwbHlTY2FsYXIoLjg4NjIyNyk7Yy5hZGRTY2FsZSh0WzFdLDEuMDIzMzI4KmcpO2MuYWRkU2NhbGUodFsyXSwxLjAyMzMyOCphKTtjLmFkZFNjYWxlKHRbM10sMS4wMjMzMjgqZSk7Yy5hZGRTY2FsZSh0WzRdLC44NTgwODYqZSpnKTtjLmFkZFNjYWxlKHRbNV0sLjg1ODA4NipnKmEpO2MuYWRkU2NhbGUodFs2XSwuNzQzMTI1KmEqYS0uMjQ3NzA4KTtjLmFkZFNjYWxlKHRbN10sLjg1ODA4NiplKmEpO2MuYWRkU2NhbGUodFs4XSwuNDI5MDQzKihlKmUtZypnKSk7cmV0dXJuIGN9LGFkZDpmdW5jdGlvbihhKXtmb3IodmFyIGM9MDs5PmM7YysrKXRoaXMuY29lZmZpY2llbnRzW2NdLmFkZChhLmNvZWZmaWNpZW50c1tjXSk7CnJldHVybiB0aGlzfSxzY2FsZTpmdW5jdGlvbihhKXtmb3IodmFyIGM9MDs5PmM7YysrKXRoaXMuY29lZmZpY2llbnRzW2NdLm11bHRpcGx5U2NhbGFyKGEpO3JldHVybiB0aGlzfSxsZXJwOmZ1bmN0aW9uKGEsYyl7Zm9yKHZhciBlPTA7OT5lO2UrKyl0aGlzLmNvZWZmaWNpZW50c1tlXS5sZXJwKGEuY29lZmZpY2llbnRzW2VdLGMpO3JldHVybiB0aGlzfSxlcXVhbHM6ZnVuY3Rpb24oYSl7Zm9yKHZhciBjPTA7OT5jO2MrKylpZighdGhpcy5jb2VmZmljaWVudHNbY10uZXF1YWxzKGEuY29lZmZpY2llbnRzW2NdKSlyZXR1cm4hMTtyZXR1cm4hMH0sY29weTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5zZXQoYS5jb2VmZmljaWVudHMpfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX0sZnJvbUFycmF5OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGM9MCk7Zm9yKHZhciBlPXRoaXMuY29lZmZpY2llbnRzLGc9MDs5Pmc7ZysrKWVbZ10uZnJvbUFycmF5KGEsCmMrMypnKTtyZXR1cm4gdGhpc30sdG9BcnJheTpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWEmJihhPVtdKTt2b2lkIDA9PT1jJiYoYz0wKTtmb3IodmFyIGU9dGhpcy5jb2VmZmljaWVudHMsZz0wOzk+ZztnKyspZVtnXS50b0FycmF5KGEsYyszKmcpO3JldHVybiBhfX0pO09iamVjdC5hc3NpZ24oZGgse2dldEJhc2lzQXQ6ZnVuY3Rpb24oYSxjKXt2YXIgZT1hLngsZz1hLnk7YT1hLno7Y1swXT0uMjgyMDk1O2NbMV09LjQ4ODYwMypnO2NbMl09LjQ4ODYwMyphO2NbM109LjQ4ODYwMyplO2NbNF09MS4wOTI1NDgqZSpnO2NbNV09MS4wOTI1NDgqZyphO2NbNl09LjMxNTM5MiooMyphKmEtMSk7Y1s3XT0xLjA5MjU0OCplKmE7Y1s4XT0uNTQ2Mjc0KihlKmUtZypnKX19KTtKYy5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEtiLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOkpjLGlzTGlnaHRQcm9iZTohMCxjb3B5OmZ1bmN0aW9uKGEpe0tiLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcywKYSk7dGhpcy5zaC5jb3B5KGEuc2gpO3RoaXMuaW50ZW5zaXR5PWEuaW50ZW5zaXR5O3JldHVybiB0aGlzfSx0b0pTT046ZnVuY3Rpb24oYSl7cmV0dXJuIEtiLnByb3RvdHlwZS50b0pTT04uY2FsbCh0aGlzLGEpfX0pO25pLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoSmMucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6bmksaXNIZW1pc3BoZXJlTGlnaHRQcm9iZTohMCxjb3B5OmZ1bmN0aW9uKGEpe0pjLnByb3RvdHlwZS5jb3B5LmNhbGwodGhpcyxhKTtyZXR1cm4gdGhpc30sdG9KU09OOmZ1bmN0aW9uKGEpe3JldHVybiBKYy5wcm90b3R5cGUudG9KU09OLmNhbGwodGhpcyxhKX19KTtvaS5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEpjLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOm9pLGlzQW1iaWVudExpZ2h0UHJvYmU6ITAsY29weTpmdW5jdGlvbihhKXtKYy5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSk7cmV0dXJuIHRoaXN9LHRvSlNPTjpmdW5jdGlvbihhKXtyZXR1cm4gSmMucHJvdG90eXBlLnRvSlNPTi5jYWxsKHRoaXMsCmEpfX0pO3ZhciBEaz1uZXcgcSxFaz1uZXcgcTtPYmplY3QuYXNzaWduKFpqLnByb3RvdHlwZSx7dXBkYXRlOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMuX2NhY2hlO2lmKGMuZm9jdXMhPT1hLmZvY3VzfHxjLmZvdiE9PWEuZm92fHxjLmFzcGVjdCE9PWEuYXNwZWN0KnRoaXMuYXNwZWN0fHxjLm5lYXIhPT1hLm5lYXJ8fGMuZmFyIT09YS5mYXJ8fGMuem9vbSE9PWEuem9vbXx8Yy5leWVTZXAhPT10aGlzLmV5ZVNlcCl7Yy5mb2N1cz1hLmZvY3VzO2MuZm92PWEuZm92O2MuYXNwZWN0PWEuYXNwZWN0KnRoaXMuYXNwZWN0O2MubmVhcj1hLm5lYXI7Yy5mYXI9YS5mYXI7Yy56b29tPWEuem9vbTtjLmV5ZVNlcD10aGlzLmV5ZVNlcDt2YXIgZT1hLnByb2plY3Rpb25NYXRyaXguY2xvbmUoKSxnPWMuZXllU2VwLzIsdD1nKmMubmVhci9jLmZvY3VzLHY9Yy5uZWFyKk1hdGgudGFuKGhiLkRFRzJSQUQqYy5mb3YqLjUpL2Muem9vbTtFay5lbGVtZW50c1sxMl09LWc7RGsuZWxlbWVudHNbMTJdPQpnO2c9LXYqYy5hc3BlY3QrdDt2YXIgej12KmMuYXNwZWN0K3Q7ZS5lbGVtZW50c1swXT0yKmMubmVhci8oei1nKTtlLmVsZW1lbnRzWzhdPSh6K2cpLyh6LWcpO3RoaXMuY2FtZXJhTC5wcm9qZWN0aW9uTWF0cml4LmNvcHkoZSk7Zz0tdipjLmFzcGVjdC10O3o9dipjLmFzcGVjdC10O2UuZWxlbWVudHNbMF09MipjLm5lYXIvKHotZyk7ZS5lbGVtZW50c1s4XT0oeitnKS8oei1nKTt0aGlzLmNhbWVyYVIucHJvamVjdGlvbk1hdHJpeC5jb3B5KGUpfXRoaXMuY2FtZXJhTC5tYXRyaXhXb3JsZC5jb3B5KGEubWF0cml4V29ybGQpLm11bHRpcGx5KEVrKTt0aGlzLmNhbWVyYVIubWF0cml4V29ybGQuY29weShhLm1hdHJpeFdvcmxkKS5tdWx0aXBseShEayl9fSk7T2JqZWN0LmFzc2lnbihwaS5wcm90b3R5cGUse3N0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5vbGRUaW1lPXRoaXMuc3RhcnRUaW1lPSgidW5kZWZpbmVkIj09PXR5cGVvZiBwZXJmb3JtYW5jZT9EYXRlOnBlcmZvcm1hbmNlKS5ub3coKTsKdGhpcy5lbGFwc2VkVGltZT0wO3RoaXMucnVubmluZz0hMH0sc3RvcDpmdW5jdGlvbigpe3RoaXMuZ2V0RWxhcHNlZFRpbWUoKTt0aGlzLmF1dG9TdGFydD10aGlzLnJ1bm5pbmc9ITF9LGdldEVsYXBzZWRUaW1lOmZ1bmN0aW9uKCl7dGhpcy5nZXREZWx0YSgpO3JldHVybiB0aGlzLmVsYXBzZWRUaW1lfSxnZXREZWx0YTpmdW5jdGlvbigpe3ZhciBhPTA7aWYodGhpcy5hdXRvU3RhcnQmJiF0aGlzLnJ1bm5pbmcpcmV0dXJuIHRoaXMuc3RhcnQoKSwwO2lmKHRoaXMucnVubmluZyl7dmFyIGM9KCJ1bmRlZmluZWQiPT09dHlwZW9mIHBlcmZvcm1hbmNlP0RhdGU6cGVyZm9ybWFuY2UpLm5vdygpO2E9KGMtdGhpcy5vbGRUaW1lKS8xRTM7dGhpcy5vbGRUaW1lPWM7dGhpcy5lbGFwc2VkVGltZSs9YX1yZXR1cm4gYX19KTt2YXIgbGU9bmV3IGssRms9bmV3IGgsZ249bmV3IGssbWU9bmV3IGs7cWkucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShBLnByb3RvdHlwZSksCntjb25zdHJ1Y3RvcjpxaSxnZXRJbnB1dDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdhaW59LHJlbW92ZUZpbHRlcjpmdW5jdGlvbigpe251bGwhPT10aGlzLmZpbHRlciYmKHRoaXMuZ2Fpbi5kaXNjb25uZWN0KHRoaXMuZmlsdGVyKSx0aGlzLmZpbHRlci5kaXNjb25uZWN0KHRoaXMuY29udGV4dC5kZXN0aW5hdGlvbiksdGhpcy5nYWluLmNvbm5lY3QodGhpcy5jb250ZXh0LmRlc3RpbmF0aW9uKSx0aGlzLmZpbHRlcj1udWxsKTtyZXR1cm4gdGhpc30sZ2V0RmlsdGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlsdGVyfSxzZXRGaWx0ZXI6ZnVuY3Rpb24oYSl7bnVsbCE9PXRoaXMuZmlsdGVyPyh0aGlzLmdhaW4uZGlzY29ubmVjdCh0aGlzLmZpbHRlciksdGhpcy5maWx0ZXIuZGlzY29ubmVjdCh0aGlzLmNvbnRleHQuZGVzdGluYXRpb24pKTp0aGlzLmdhaW4uZGlzY29ubmVjdCh0aGlzLmNvbnRleHQuZGVzdGluYXRpb24pO3RoaXMuZmlsdGVyPWE7dGhpcy5nYWluLmNvbm5lY3QodGhpcy5maWx0ZXIpOwp0aGlzLmZpbHRlci5jb25uZWN0KHRoaXMuY29udGV4dC5kZXN0aW5hdGlvbik7cmV0dXJuIHRoaXN9LGdldE1hc3RlclZvbHVtZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdhaW4uZ2Fpbi52YWx1ZX0sc2V0TWFzdGVyVm9sdW1lOmZ1bmN0aW9uKGEpe3RoaXMuZ2Fpbi5nYWluLnNldFRhcmdldEF0VGltZShhLHRoaXMuY29udGV4dC5jdXJyZW50VGltZSwuMDEpO3JldHVybiB0aGlzfSx1cGRhdGVNYXRyaXhXb3JsZDpmdW5jdGlvbihhKXtBLnByb3RvdHlwZS51cGRhdGVNYXRyaXhXb3JsZC5jYWxsKHRoaXMsYSk7YT10aGlzLmNvbnRleHQubGlzdGVuZXI7dmFyIGM9dGhpcy51cDt0aGlzLnRpbWVEZWx0YT10aGlzLl9jbG9jay5nZXREZWx0YSgpO3RoaXMubWF0cml4V29ybGQuZGVjb21wb3NlKGxlLEZrLGduKTttZS5zZXQoMCwwLC0xKS5hcHBseVF1YXRlcm5pb24oRmspO2lmKGEucG9zaXRpb25YKXt2YXIgZT10aGlzLmNvbnRleHQuY3VycmVudFRpbWUrdGhpcy50aW1lRGVsdGE7CmEucG9zaXRpb25YLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKGxlLngsZSk7YS5wb3NpdGlvblkubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUobGUueSxlKTthLnBvc2l0aW9uWi5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZShsZS56LGUpO2EuZm9yd2FyZFgubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUobWUueCxlKTthLmZvcndhcmRZLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKG1lLnksZSk7YS5mb3J3YXJkWi5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZShtZS56LGUpO2EudXBYLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKGMueCxlKTthLnVwWS5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZShjLnksZSk7YS51cFoubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUoYy56LGUpfWVsc2UgYS5zZXRQb3NpdGlvbihsZS54LGxlLnksbGUueiksYS5zZXRPcmllbnRhdGlvbihtZS54LG1lLnksbWUueixjLngsYy55LGMueil9fSk7WWUucHJvdG90eXBlPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShBLnByb3RvdHlwZSksCntjb25zdHJ1Y3RvcjpZZSxnZXRPdXRwdXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nYWlufSxzZXROb2RlU291cmNlOmZ1bmN0aW9uKGEpe3RoaXMuaGFzUGxheWJhY2tDb250cm9sPSExO3RoaXMuc291cmNlVHlwZT0iYXVkaW9Ob2RlIjt0aGlzLnNvdXJjZT1hO3RoaXMuY29ubmVjdCgpO3JldHVybiB0aGlzfSxzZXRNZWRpYUVsZW1lbnRTb3VyY2U6ZnVuY3Rpb24oYSl7dGhpcy5oYXNQbGF5YmFja0NvbnRyb2w9ITE7dGhpcy5zb3VyY2VUeXBlPSJtZWRpYU5vZGUiO3RoaXMuc291cmNlPXRoaXMuY29udGV4dC5jcmVhdGVNZWRpYUVsZW1lbnRTb3VyY2UoYSk7dGhpcy5jb25uZWN0KCk7cmV0dXJuIHRoaXN9LHNldEJ1ZmZlcjpmdW5jdGlvbihhKXt0aGlzLmJ1ZmZlcj1hO3RoaXMuc291cmNlVHlwZT0iYnVmZmVyIjt0aGlzLmF1dG9wbGF5JiZ0aGlzLnBsYXkoKTtyZXR1cm4gdGhpc30scGxheTpmdW5jdGlvbigpe2lmKCEwPT09dGhpcy5pc1BsYXlpbmcpY29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogQXVkaW8gaXMgYWxyZWFkeSBwbGF5aW5nLiIpOwplbHNlIGlmKCExPT09dGhpcy5oYXNQbGF5YmFja0NvbnRyb2wpY29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogdGhpcyBBdWRpbyBoYXMgbm8gcGxheWJhY2sgY29udHJvbC4iKTtlbHNle3ZhciBhPXRoaXMuY29udGV4dC5jcmVhdGVCdWZmZXJTb3VyY2UoKTthLmJ1ZmZlcj10aGlzLmJ1ZmZlcjthLmxvb3A9dGhpcy5sb29wO2Eub25lbmRlZD10aGlzLm9uRW5kZWQuYmluZCh0aGlzKTt0aGlzLnN0YXJ0VGltZT10aGlzLmNvbnRleHQuY3VycmVudFRpbWU7YS5zdGFydCh0aGlzLnN0YXJ0VGltZSx0aGlzLm9mZnNldCx0aGlzLmR1cmF0aW9uKTt0aGlzLmlzUGxheWluZz0hMDt0aGlzLnNvdXJjZT1hO3RoaXMuc2V0RGV0dW5lKHRoaXMuZGV0dW5lKTt0aGlzLnNldFBsYXliYWNrUmF0ZSh0aGlzLnBsYXliYWNrUmF0ZSk7cmV0dXJuIHRoaXMuY29ubmVjdCgpfX0scGF1c2U6ZnVuY3Rpb24oKXtpZighMT09PXRoaXMuaGFzUGxheWJhY2tDb250cm9sKWNvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IHRoaXMgQXVkaW8gaGFzIG5vIHBsYXliYWNrIGNvbnRyb2wuIik7CmVsc2UgcmV0dXJuITA9PT10aGlzLmlzUGxheWluZyYmKHRoaXMuc291cmNlLnN0b3AoKSx0aGlzLnNvdXJjZS5vbmVuZGVkPW51bGwsdGhpcy5vZmZzZXQrPSh0aGlzLmNvbnRleHQuY3VycmVudFRpbWUtdGhpcy5zdGFydFRpbWUpKnRoaXMucGxheWJhY2tSYXRlLHRoaXMuaXNQbGF5aW5nPSExKSx0aGlzfSxzdG9wOmZ1bmN0aW9uKCl7aWYoITE9PT10aGlzLmhhc1BsYXliYWNrQ29udHJvbCljb25zb2xlLndhcm4oIlRIUkVFLkF1ZGlvOiB0aGlzIEF1ZGlvIGhhcyBubyBwbGF5YmFjayBjb250cm9sLiIpO2Vsc2UgcmV0dXJuIHRoaXMuc291cmNlLnN0b3AoKSx0aGlzLnNvdXJjZS5vbmVuZGVkPW51bGwsdGhpcy5vZmZzZXQ9MCx0aGlzLmlzUGxheWluZz0hMSx0aGlzfSxjb25uZWN0OmZ1bmN0aW9uKCl7aWYoMDx0aGlzLmZpbHRlcnMubGVuZ3RoKXt0aGlzLnNvdXJjZS5jb25uZWN0KHRoaXMuZmlsdGVyc1swXSk7Zm9yKHZhciBhPTEsYz10aGlzLmZpbHRlcnMubGVuZ3RoO2E8YzthKyspdGhpcy5maWx0ZXJzW2EtCjFdLmNvbm5lY3QodGhpcy5maWx0ZXJzW2FdKTt0aGlzLmZpbHRlcnNbdGhpcy5maWx0ZXJzLmxlbmd0aC0xXS5jb25uZWN0KHRoaXMuZ2V0T3V0cHV0KCkpfWVsc2UgdGhpcy5zb3VyY2UuY29ubmVjdCh0aGlzLmdldE91dHB1dCgpKTtyZXR1cm4gdGhpc30sZGlzY29ubmVjdDpmdW5jdGlvbigpe2lmKDA8dGhpcy5maWx0ZXJzLmxlbmd0aCl7dGhpcy5zb3VyY2UuZGlzY29ubmVjdCh0aGlzLmZpbHRlcnNbMF0pO2Zvcih2YXIgYT0xLGM9dGhpcy5maWx0ZXJzLmxlbmd0aDthPGM7YSsrKXRoaXMuZmlsdGVyc1thLTFdLmRpc2Nvbm5lY3QodGhpcy5maWx0ZXJzW2FdKTt0aGlzLmZpbHRlcnNbdGhpcy5maWx0ZXJzLmxlbmd0aC0xXS5kaXNjb25uZWN0KHRoaXMuZ2V0T3V0cHV0KCkpfWVsc2UgdGhpcy5zb3VyY2UuZGlzY29ubmVjdCh0aGlzLmdldE91dHB1dCgpKTtyZXR1cm4gdGhpc30sZ2V0RmlsdGVyczpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbHRlcnN9LHNldEZpbHRlcnM6ZnVuY3Rpb24oYSl7YXx8CihhPVtdKTshMD09PXRoaXMuaXNQbGF5aW5nPyh0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLmZpbHRlcnM9YSx0aGlzLmNvbm5lY3QoKSk6dGhpcy5maWx0ZXJzPWE7cmV0dXJuIHRoaXN9LHNldERldHVuZTpmdW5jdGlvbihhKXt0aGlzLmRldHVuZT1hO2lmKHZvaWQgMCE9PXRoaXMuc291cmNlLmRldHVuZSlyZXR1cm4hMD09PXRoaXMuaXNQbGF5aW5nJiZ0aGlzLnNvdXJjZS5kZXR1bmUuc2V0VGFyZ2V0QXRUaW1lKHRoaXMuZGV0dW5lLHRoaXMuY29udGV4dC5jdXJyZW50VGltZSwuMDEpLHRoaXN9LGdldERldHVuZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRldHVuZX0sZ2V0RmlsdGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0RmlsdGVycygpWzBdfSxzZXRGaWx0ZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuc2V0RmlsdGVycyhhP1thXTpbXSl9LHNldFBsYXliYWNrUmF0ZTpmdW5jdGlvbihhKXtpZighMT09PXRoaXMuaGFzUGxheWJhY2tDb250cm9sKWNvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IHRoaXMgQXVkaW8gaGFzIG5vIHBsYXliYWNrIGNvbnRyb2wuIik7CmVsc2UgcmV0dXJuIHRoaXMucGxheWJhY2tSYXRlPWEsITA9PT10aGlzLmlzUGxheWluZyYmdGhpcy5zb3VyY2UucGxheWJhY2tSYXRlLnNldFRhcmdldEF0VGltZSh0aGlzLnBsYXliYWNrUmF0ZSx0aGlzLmNvbnRleHQuY3VycmVudFRpbWUsLjAxKSx0aGlzfSxnZXRQbGF5YmFja1JhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wbGF5YmFja1JhdGV9LG9uRW5kZWQ6ZnVuY3Rpb24oKXt0aGlzLmlzUGxheWluZz0hMX0sZ2V0TG9vcDpmdW5jdGlvbigpe3JldHVybiExPT09dGhpcy5oYXNQbGF5YmFja0NvbnRyb2w/KGNvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IHRoaXMgQXVkaW8gaGFzIG5vIHBsYXliYWNrIGNvbnRyb2wuIiksITEpOnRoaXMubG9vcH0sc2V0TG9vcDpmdW5jdGlvbihhKXtpZighMT09PXRoaXMuaGFzUGxheWJhY2tDb250cm9sKWNvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IHRoaXMgQXVkaW8gaGFzIG5vIHBsYXliYWNrIGNvbnRyb2wuIik7ZWxzZSByZXR1cm4gdGhpcy5sb29wPQphLCEwPT09dGhpcy5pc1BsYXlpbmcmJih0aGlzLnNvdXJjZS5sb29wPXRoaXMubG9vcCksdGhpc30sZ2V0Vm9sdW1lOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2Fpbi5nYWluLnZhbHVlfSxzZXRWb2x1bWU6ZnVuY3Rpb24oYSl7dGhpcy5nYWluLmdhaW4uc2V0VGFyZ2V0QXRUaW1lKGEsdGhpcy5jb250ZXh0LmN1cnJlbnRUaW1lLC4wMSk7cmV0dXJuIHRoaXN9fSk7dmFyIG5lPW5ldyBrLEdrPW5ldyBoLGhuPW5ldyBrLG9lPW5ldyBrO3NpLnByb3RvdHlwZT1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoWWUucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6c2ksZ2V0T3V0cHV0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFubmVyfSxnZXRSZWZEaXN0YW5jZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhbm5lci5yZWZEaXN0YW5jZX0sc2V0UmVmRGlzdGFuY2U6ZnVuY3Rpb24oYSl7dGhpcy5wYW5uZXIucmVmRGlzdGFuY2U9YTtyZXR1cm4gdGhpc30sZ2V0Um9sbG9mZkZhY3RvcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhbm5lci5yb2xsb2ZmRmFjdG9yfSwKc2V0Um9sbG9mZkZhY3RvcjpmdW5jdGlvbihhKXt0aGlzLnBhbm5lci5yb2xsb2ZmRmFjdG9yPWE7cmV0dXJuIHRoaXN9LGdldERpc3RhbmNlTW9kZWw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYW5uZXIuZGlzdGFuY2VNb2RlbH0sc2V0RGlzdGFuY2VNb2RlbDpmdW5jdGlvbihhKXt0aGlzLnBhbm5lci5kaXN0YW5jZU1vZGVsPWE7cmV0dXJuIHRoaXN9LGdldE1heERpc3RhbmNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFubmVyLm1heERpc3RhbmNlfSxzZXRNYXhEaXN0YW5jZTpmdW5jdGlvbihhKXt0aGlzLnBhbm5lci5tYXhEaXN0YW5jZT1hO3JldHVybiB0aGlzfSxzZXREaXJlY3Rpb25hbENvbmU6ZnVuY3Rpb24oYSxjLGUpe3RoaXMucGFubmVyLmNvbmVJbm5lckFuZ2xlPWE7dGhpcy5wYW5uZXIuY29uZU91dGVyQW5nbGU9Yzt0aGlzLnBhbm5lci5jb25lT3V0ZXJHYWluPWU7cmV0dXJuIHRoaXN9LHVwZGF0ZU1hdHJpeFdvcmxkOmZ1bmN0aW9uKGEpe0EucHJvdG90eXBlLnVwZGF0ZU1hdHJpeFdvcmxkLmNhbGwodGhpcywKYSk7aWYoITAhPT10aGlzLmhhc1BsYXliYWNrQ29udHJvbHx8ITEhPT10aGlzLmlzUGxheWluZylpZih0aGlzLm1hdHJpeFdvcmxkLmRlY29tcG9zZShuZSxHayxobiksb2Uuc2V0KDAsMCwxKS5hcHBseVF1YXRlcm5pb24oR2spLGE9dGhpcy5wYW5uZXIsYS5wb3NpdGlvblgpe3ZhciBjPXRoaXMuY29udGV4dC5jdXJyZW50VGltZSt0aGlzLmxpc3RlbmVyLnRpbWVEZWx0YTthLnBvc2l0aW9uWC5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZShuZS54LGMpO2EucG9zaXRpb25ZLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKG5lLnksYyk7YS5wb3NpdGlvbloubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUobmUueixjKTthLm9yaWVudGF0aW9uWC5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZShvZS54LGMpO2Eub3JpZW50YXRpb25ZLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKG9lLnksYyk7YS5vcmllbnRhdGlvbloubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUob2UueixjKX1lbHNlIGEuc2V0UG9zaXRpb24obmUueCwKbmUueSxuZS56KSxhLnNldE9yaWVudGF0aW9uKG9lLngsb2UueSxvZS56KX19KTtPYmplY3QuYXNzaWduKHRpLnByb3RvdHlwZSx7Z2V0RnJlcXVlbmN5RGF0YTpmdW5jdGlvbigpe3RoaXMuYW5hbHlzZXIuZ2V0Qnl0ZUZyZXF1ZW5jeURhdGEodGhpcy5kYXRhKTtyZXR1cm4gdGhpcy5kYXRhfSxnZXRBdmVyYWdlRnJlcXVlbmN5OmZ1bmN0aW9uKCl7Zm9yKHZhciBhPTAsYz10aGlzLmdldEZyZXF1ZW5jeURhdGEoKSxlPTA7ZTxjLmxlbmd0aDtlKyspYSs9Y1tlXTtyZXR1cm4gYS9jLmxlbmd0aH19KTtPYmplY3QuYXNzaWduKHVpLnByb3RvdHlwZSx7YWNjdW11bGF0ZTpmdW5jdGlvbihhLGMpe3ZhciBlPXRoaXMuYnVmZmVyLGc9dGhpcy52YWx1ZVNpemU7YT1hKmcrZzt2YXIgdD10aGlzLmN1bXVsYXRpdmVXZWlnaHQ7aWYoMD09PXQpe2Zvcih0PTA7dCE9PWc7Kyt0KWVbYSt0XT1lW3RdO3Q9Y31lbHNlIHQrPWMsdGhpcy5fbWl4QnVmZmVyUmVnaW9uKGUsYSwwLGMvdCxnKTt0aGlzLmN1bXVsYXRpdmVXZWlnaHQ9CnR9LGFwcGx5OmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMudmFsdWVTaXplLGU9dGhpcy5idWZmZXI7YT1hKmMrYzt2YXIgZz10aGlzLmN1bXVsYXRpdmVXZWlnaHQsdD10aGlzLmJpbmRpbmc7dGhpcy5jdW11bGF0aXZlV2VpZ2h0PTA7MT5nJiZ0aGlzLl9taXhCdWZmZXJSZWdpb24oZSxhLDMqYywxLWcsYyk7Zz1jO2Zvcih2YXIgdj1jK2M7ZyE9PXY7KytnKWlmKGVbZ10hPT1lW2crY10pe3Quc2V0VmFsdWUoZSxhKTticmVha319LHNhdmVPcmlnaW5hbFN0YXRlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5idWZmZXIsYz10aGlzLnZhbHVlU2l6ZSxlPTMqYzt0aGlzLmJpbmRpbmcuZ2V0VmFsdWUoYSxlKTtmb3IodmFyIGc9YztnIT09ZTsrK2cpYVtnXT1hW2UrZyVjXTt0aGlzLmN1bXVsYXRpdmVXZWlnaHQ9MH0scmVzdG9yZU9yaWdpbmFsU3RhdGU6ZnVuY3Rpb24oKXt0aGlzLmJpbmRpbmcuc2V0VmFsdWUodGhpcy5idWZmZXIsMyp0aGlzLnZhbHVlU2l6ZSl9LF9zZWxlY3Q6ZnVuY3Rpb24oYSwKYyxlLGcsdCl7aWYoLjU8PWcpZm9yKGc9MDtnIT09dDsrK2cpYVtjK2ddPWFbZStnXX0sX3NsZXJwOmZ1bmN0aW9uKGEsYyxlLGcpe2guc2xlcnBGbGF0KGEsYyxhLGMsYSxlLGcpfSxfbGVycDpmdW5jdGlvbihhLGMsZSxnLHQpe2Zvcih2YXIgdj0xLWcsej0wO3ohPT10Oysreil7dmFyIEU9Yyt6O2FbRV09YVtFXSp2K2FbZSt6XSpnfX19KTt2YXIgam49L1tcW1xdXC46XC9dL2csa249IlteIisiXFxbXFxdXFwuOlxcLyIucmVwbGFjZSgiXFwuIiwiIikrIl0iLGxuPS8oKD86V0MrW1wvOl0pKikvLnNvdXJjZS5yZXBsYWNlKCJXQyIsIlteXFxbXFxdXFwuOlxcL10iKSxtbj0vKFdDT0QrKT8vLnNvdXJjZS5yZXBsYWNlKCJXQ09EIixrbiksbm49Lyg/OlwuKFdDKykoPzpcWyguKylcXSk/KT8vLnNvdXJjZS5yZXBsYWNlKCJXQyIsIlteXFxbXFxdXFwuOlxcL10iKSxvbj0vXC4oV0MrKSg/OlxbKC4rKVxdKT8vLnNvdXJjZS5yZXBsYWNlKCJXQyIsIlteXFxbXFxdXFwuOlxcL10iKSxwbj0KbmV3IFJlZ0V4cCgiXiIrbG4rbW4rbm4rb24rIiQiKSxxbj1bIm1hdGVyaWFsIiwibWF0ZXJpYWxzIiwiYm9uZXMiXTtPYmplY3QuYXNzaWduKGFrLnByb3RvdHlwZSx7Z2V0VmFsdWU6ZnVuY3Rpb24oYSxjKXt0aGlzLmJpbmQoKTt2YXIgZT10aGlzLl9iaW5kaW5nc1t0aGlzLl90YXJnZXRHcm91cC5uQ2FjaGVkT2JqZWN0c19dO3ZvaWQgMCE9PWUmJmUuZ2V0VmFsdWUoYSxjKX0sc2V0VmFsdWU6ZnVuY3Rpb24oYSxjKXtmb3IodmFyIGU9dGhpcy5fYmluZGluZ3MsZz10aGlzLl90YXJnZXRHcm91cC5uQ2FjaGVkT2JqZWN0c18sdD1lLmxlbmd0aDtnIT09dDsrK2cpZVtnXS5zZXRWYWx1ZShhLGMpfSxiaW5kOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMuX2JpbmRpbmdzLGM9dGhpcy5fdGFyZ2V0R3JvdXAubkNhY2hlZE9iamVjdHNfLGU9YS5sZW5ndGg7YyE9PWU7KytjKWFbY10uYmluZCgpfSx1bmJpbmQ6ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcy5fYmluZGluZ3MsYz10aGlzLl90YXJnZXRHcm91cC5uQ2FjaGVkT2JqZWN0c18sCmU9YS5sZW5ndGg7YyE9PWU7KytjKWFbY10udW5iaW5kKCl9fSk7T2JqZWN0LmFzc2lnbihjYyx7Q29tcG9zaXRlOmFrLGNyZWF0ZTpmdW5jdGlvbihhLGMsZSl7cmV0dXJuIGEmJmEuaXNBbmltYXRpb25PYmplY3RHcm91cD9uZXcgY2MuQ29tcG9zaXRlKGEsYyxlKTpuZXcgY2MoYSxjLGUpfSxzYW5pdGl6ZU5vZGVOYW1lOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoL1xzL2csIl8iKS5yZXBsYWNlKGpuLCIiKX0scGFyc2VUcmFja05hbWU6ZnVuY3Rpb24oYSl7dmFyIGM9cG4uZXhlYyhhKTtpZighYyl0aHJvdyBFcnJvcigiUHJvcGVydHlCaW5kaW5nOiBDYW5ub3QgcGFyc2UgdHJhY2tOYW1lOiAiK2EpO2M9e25vZGVOYW1lOmNbMl0sb2JqZWN0TmFtZTpjWzNdLG9iamVjdEluZGV4OmNbNF0scHJvcGVydHlOYW1lOmNbNV0scHJvcGVydHlJbmRleDpjWzZdfTt2YXIgZT1jLm5vZGVOYW1lJiZjLm5vZGVOYW1lLmxhc3RJbmRleE9mKCIuIik7aWYodm9pZCAwIT09ZSYmLTEhPT0KZSl7dmFyIGc9Yy5ub2RlTmFtZS5zdWJzdHJpbmcoZSsxKTstMSE9PXFuLmluZGV4T2YoZykmJihjLm5vZGVOYW1lPWMubm9kZU5hbWUuc3Vic3RyaW5nKDAsZSksYy5vYmplY3ROYW1lPWcpfWlmKG51bGw9PT1jLnByb3BlcnR5TmFtZXx8MD09PWMucHJvcGVydHlOYW1lLmxlbmd0aCl0aHJvdyBFcnJvcigiUHJvcGVydHlCaW5kaW5nOiBjYW4gbm90IHBhcnNlIHByb3BlcnR5TmFtZSBmcm9tIHRyYWNrTmFtZTogIithKTtyZXR1cm4gY30sZmluZE5vZGU6ZnVuY3Rpb24oYSxjKXtpZighY3x8IiI9PT1jfHwicm9vdCI9PT1jfHwiLiI9PT1jfHwtMT09PWN8fGM9PT1hLm5hbWV8fGM9PT1hLnV1aWQpcmV0dXJuIGE7aWYoYS5za2VsZXRvbil7dmFyIGU9YS5za2VsZXRvbi5nZXRCb25lQnlOYW1lKGMpO2lmKHZvaWQgMCE9PWUpcmV0dXJuIGV9aWYoYS5jaGlsZHJlbil7dmFyIGc9ZnVuY3Rpb24odCl7Zm9yKHZhciB2PTA7djx0Lmxlbmd0aDt2Kyspe3ZhciB6PXRbdl07aWYoei5uYW1lPT09CmN8fHoudXVpZD09PWMpcmV0dXJuIHo7aWYoej1nKHouY2hpbGRyZW4pKXJldHVybiB6fXJldHVybiBudWxsfTtpZihhPWcoYS5jaGlsZHJlbikpcmV0dXJuIGF9cmV0dXJuIG51bGx9fSk7T2JqZWN0LmFzc2lnbihjYy5wcm90b3R5cGUse19nZXRWYWx1ZV91bmF2YWlsYWJsZTpmdW5jdGlvbigpe30sX3NldFZhbHVlX3VuYXZhaWxhYmxlOmZ1bmN0aW9uKCl7fSxCaW5kaW5nVHlwZTp7RGlyZWN0OjAsRW50aXJlQXJyYXk6MSxBcnJheUVsZW1lbnQ6MixIYXNGcm9tVG9BcnJheTozfSxWZXJzaW9uaW5nOntOb25lOjAsTmVlZHNVcGRhdGU6MSxNYXRyaXhXb3JsZE5lZWRzVXBkYXRlOjJ9LEdldHRlckJ5QmluZGluZ1R5cGU6W2Z1bmN0aW9uKGEsYyl7YVtjXT10aGlzLm5vZGVbdGhpcy5wcm9wZXJ0eU5hbWVdfSxmdW5jdGlvbihhLGMpe2Zvcih2YXIgZT10aGlzLnJlc29sdmVkUHJvcGVydHksZz0wLHQ9ZS5sZW5ndGg7ZyE9PXQ7KytnKWFbYysrXT1lW2ddfSxmdW5jdGlvbihhLGMpe2FbY109CnRoaXMucmVzb2x2ZWRQcm9wZXJ0eVt0aGlzLnByb3BlcnR5SW5kZXhdfSxmdW5jdGlvbihhLGMpe3RoaXMucmVzb2x2ZWRQcm9wZXJ0eS50b0FycmF5KGEsYyl9XSxTZXR0ZXJCeUJpbmRpbmdUeXBlQW5kVmVyc2lvbmluZzpbW2Z1bmN0aW9uKGEsYyl7dGhpcy50YXJnZXRPYmplY3RbdGhpcy5wcm9wZXJ0eU5hbWVdPWFbY119LGZ1bmN0aW9uKGEsYyl7dGhpcy50YXJnZXRPYmplY3RbdGhpcy5wcm9wZXJ0eU5hbWVdPWFbY107dGhpcy50YXJnZXRPYmplY3QubmVlZHNVcGRhdGU9ITB9LGZ1bmN0aW9uKGEsYyl7dGhpcy50YXJnZXRPYmplY3RbdGhpcy5wcm9wZXJ0eU5hbWVdPWFbY107dGhpcy50YXJnZXRPYmplY3QubWF0cml4V29ybGROZWVkc1VwZGF0ZT0hMH1dLFtmdW5jdGlvbihhLGMpe2Zvcih2YXIgZT10aGlzLnJlc29sdmVkUHJvcGVydHksZz0wLHQ9ZS5sZW5ndGg7ZyE9PXQ7KytnKWVbZ109YVtjKytdfSxmdW5jdGlvbihhLGMpe2Zvcih2YXIgZT10aGlzLnJlc29sdmVkUHJvcGVydHksCmc9MCx0PWUubGVuZ3RoO2chPT10OysrZyllW2ddPWFbYysrXTt0aGlzLnRhcmdldE9iamVjdC5uZWVkc1VwZGF0ZT0hMH0sZnVuY3Rpb24oYSxjKXtmb3IodmFyIGU9dGhpcy5yZXNvbHZlZFByb3BlcnR5LGc9MCx0PWUubGVuZ3RoO2chPT10OysrZyllW2ddPWFbYysrXTt0aGlzLnRhcmdldE9iamVjdC5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSEwfV0sW2Z1bmN0aW9uKGEsYyl7dGhpcy5yZXNvbHZlZFByb3BlcnR5W3RoaXMucHJvcGVydHlJbmRleF09YVtjXX0sZnVuY3Rpb24oYSxjKXt0aGlzLnJlc29sdmVkUHJvcGVydHlbdGhpcy5wcm9wZXJ0eUluZGV4XT1hW2NdO3RoaXMudGFyZ2V0T2JqZWN0Lm5lZWRzVXBkYXRlPSEwfSxmdW5jdGlvbihhLGMpe3RoaXMucmVzb2x2ZWRQcm9wZXJ0eVt0aGlzLnByb3BlcnR5SW5kZXhdPWFbY107dGhpcy50YXJnZXRPYmplY3QubWF0cml4V29ybGROZWVkc1VwZGF0ZT0hMH1dLFtmdW5jdGlvbihhLGMpe3RoaXMucmVzb2x2ZWRQcm9wZXJ0eS5mcm9tQXJyYXkoYSwKYyl9LGZ1bmN0aW9uKGEsYyl7dGhpcy5yZXNvbHZlZFByb3BlcnR5LmZyb21BcnJheShhLGMpO3RoaXMudGFyZ2V0T2JqZWN0Lm5lZWRzVXBkYXRlPSEwfSxmdW5jdGlvbihhLGMpe3RoaXMucmVzb2x2ZWRQcm9wZXJ0eS5mcm9tQXJyYXkoYSxjKTt0aGlzLnRhcmdldE9iamVjdC5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSEwfV1dLGdldFZhbHVlOmZ1bmN0aW9uKGEsYyl7dGhpcy5iaW5kKCk7dGhpcy5nZXRWYWx1ZShhLGMpfSxzZXRWYWx1ZTpmdW5jdGlvbihhLGMpe3RoaXMuYmluZCgpO3RoaXMuc2V0VmFsdWUoYSxjKX0sYmluZDpmdW5jdGlvbigpe3ZhciBhPXRoaXMubm9kZSxjPXRoaXMucGFyc2VkUGF0aCxlPWMub2JqZWN0TmFtZSxnPWMucHJvcGVydHlOYW1lLHQ9Yy5wcm9wZXJ0eUluZGV4O2F8fCh0aGlzLm5vZGU9YT1jYy5maW5kTm9kZSh0aGlzLnJvb3ROb2RlLGMubm9kZU5hbWUpfHx0aGlzLnJvb3ROb2RlKTt0aGlzLmdldFZhbHVlPXRoaXMuX2dldFZhbHVlX3VuYXZhaWxhYmxlOwp0aGlzLnNldFZhbHVlPXRoaXMuX3NldFZhbHVlX3VuYXZhaWxhYmxlO2lmKGEpe2lmKGUpe3ZhciB2PWMub2JqZWN0SW5kZXg7c3dpdGNoKGUpe2Nhc2UgIm1hdGVyaWFscyI6aWYoIWEubWF0ZXJpYWwpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogQ2FuIG5vdCBiaW5kIHRvIG1hdGVyaWFsIGFzIG5vZGUgZG9lcyBub3QgaGF2ZSBhIG1hdGVyaWFsLiIsdGhpcyk7cmV0dXJufWlmKCFhLm1hdGVyaWFsLm1hdGVyaWFscyl7Y29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gbWF0ZXJpYWwubWF0ZXJpYWxzIGFzIG5vZGUubWF0ZXJpYWwgZG9lcyBub3QgaGF2ZSBhIG1hdGVyaWFscyBhcnJheS4iLHRoaXMpO3JldHVybn1hPWEubWF0ZXJpYWwubWF0ZXJpYWxzO2JyZWFrO2Nhc2UgImJvbmVzIjppZighYS5za2VsZXRvbil7Y29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gYm9uZXMgYXMgbm9kZSBkb2VzIG5vdCBoYXZlIGEgc2tlbGV0b24uIiwKdGhpcyk7cmV0dXJufWE9YS5za2VsZXRvbi5ib25lcztmb3IoZT0wO2U8YS5sZW5ndGg7ZSsrKWlmKGFbZV0ubmFtZT09PXYpe3Y9ZTticmVha31icmVhaztkZWZhdWx0OmlmKHZvaWQgMD09PWFbZV0pe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogQ2FuIG5vdCBiaW5kIHRvIG9iamVjdE5hbWUgb2Ygbm9kZSB1bmRlZmluZWQuIix0aGlzKTtyZXR1cm59YT1hW2VdfWlmKHZvaWQgMCE9PXYpe2lmKHZvaWQgMD09PWFbdl0pe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogVHJ5aW5nIHRvIGJpbmQgdG8gb2JqZWN0SW5kZXggb2Ygb2JqZWN0TmFtZSwgYnV0IGlzIHVuZGVmaW5lZC4iLHRoaXMsYSk7cmV0dXJufWE9YVt2XX19dj1hW2ddO2lmKHZvaWQgMD09PXYpY29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBUcnlpbmcgdG8gdXBkYXRlIHByb3BlcnR5IGZvciB0cmFjazogIitjLm5vZGVOYW1lKyIuIitnKyIgYnV0IGl0IHdhc24ndCBmb3VuZC4iLAphKTtlbHNle2M9dGhpcy5WZXJzaW9uaW5nLk5vbmU7dGhpcy50YXJnZXRPYmplY3Q9YTt2b2lkIDAhPT1hLm5lZWRzVXBkYXRlP2M9dGhpcy5WZXJzaW9uaW5nLk5lZWRzVXBkYXRlOnZvaWQgMCE9PWEubWF0cml4V29ybGROZWVkc1VwZGF0ZSYmKGM9dGhpcy5WZXJzaW9uaW5nLk1hdHJpeFdvcmxkTmVlZHNVcGRhdGUpO2U9dGhpcy5CaW5kaW5nVHlwZS5EaXJlY3Q7aWYodm9pZCAwIT09dCl7aWYoIm1vcnBoVGFyZ2V0SW5mbHVlbmNlcyI9PT1nKXtpZighYS5nZW9tZXRyeSl7Y29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gbW9ycGhUYXJnZXRJbmZsdWVuY2VzIGJlY2F1c2Ugbm9kZSBkb2VzIG5vdCBoYXZlIGEgZ2VvbWV0cnkuIix0aGlzKTtyZXR1cm59aWYoYS5nZW9tZXRyeS5pc0J1ZmZlckdlb21ldHJ5KXtpZighYS5nZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXMpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogQ2FuIG5vdCBiaW5kIHRvIG1vcnBoVGFyZ2V0SW5mbHVlbmNlcyBiZWNhdXNlIG5vZGUgZG9lcyBub3QgaGF2ZSBhIGdlb21ldHJ5Lm1vcnBoQXR0cmlidXRlcy4iLAp0aGlzKTtyZXR1cm59Zm9yKGU9MDtlPHRoaXMubm9kZS5nZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb24ubGVuZ3RoO2UrKylpZihhLmdlb21ldHJ5Lm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbltlXS5uYW1lPT09dCl7dD1lO2JyZWFrfX1lbHNle2lmKCFhLmdlb21ldHJ5Lm1vcnBoVGFyZ2V0cyl7Y29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gbW9ycGhUYXJnZXRJbmZsdWVuY2VzIGJlY2F1c2Ugbm9kZSBkb2VzIG5vdCBoYXZlIGEgZ2VvbWV0cnkubW9ycGhUYXJnZXRzLiIsdGhpcyk7cmV0dXJufWZvcihlPTA7ZTx0aGlzLm5vZGUuZ2VvbWV0cnkubW9ycGhUYXJnZXRzLmxlbmd0aDtlKyspaWYoYS5nZW9tZXRyeS5tb3JwaFRhcmdldHNbZV0ubmFtZT09PXQpe3Q9ZTticmVha319fWU9dGhpcy5CaW5kaW5nVHlwZS5BcnJheUVsZW1lbnQ7dGhpcy5yZXNvbHZlZFByb3BlcnR5PXY7dGhpcy5wcm9wZXJ0eUluZGV4PXR9ZWxzZSB2b2lkIDAhPT0Kdi5mcm9tQXJyYXkmJnZvaWQgMCE9PXYudG9BcnJheT8oZT10aGlzLkJpbmRpbmdUeXBlLkhhc0Zyb21Ub0FycmF5LHRoaXMucmVzb2x2ZWRQcm9wZXJ0eT12KTpBcnJheS5pc0FycmF5KHYpPyhlPXRoaXMuQmluZGluZ1R5cGUuRW50aXJlQXJyYXksdGhpcy5yZXNvbHZlZFByb3BlcnR5PXYpOnRoaXMucHJvcGVydHlOYW1lPWc7dGhpcy5nZXRWYWx1ZT10aGlzLkdldHRlckJ5QmluZGluZ1R5cGVbZV07dGhpcy5zZXRWYWx1ZT10aGlzLlNldHRlckJ5QmluZGluZ1R5cGVBbmRWZXJzaW9uaW5nW2VdW2NdfX1lbHNlIGNvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogVHJ5aW5nIHRvIHVwZGF0ZSBub2RlIGZvciB0cmFjazogIit0aGlzLnBhdGgrIiBidXQgaXQgd2Fzbid0IGZvdW5kLiIpfSx1bmJpbmQ6ZnVuY3Rpb24oKXt0aGlzLm5vZGU9bnVsbDt0aGlzLmdldFZhbHVlPXRoaXMuX2dldFZhbHVlX3VuYm91bmQ7dGhpcy5zZXRWYWx1ZT10aGlzLl9zZXRWYWx1ZV91bmJvdW5kfX0pOwpPYmplY3QuYXNzaWduKGNjLnByb3RvdHlwZSx7X2dldFZhbHVlX3VuYm91bmQ6Y2MucHJvdG90eXBlLmdldFZhbHVlLF9zZXRWYWx1ZV91bmJvdW5kOmNjLnByb3RvdHlwZS5zZXRWYWx1ZX0pO09iamVjdC5hc3NpZ24oYmsucHJvdG90eXBlLHtpc0FuaW1hdGlvbk9iamVjdEdyb3VwOiEwLGFkZDpmdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLl9vYmplY3RzLGM9YS5sZW5ndGgsZT10aGlzLm5DYWNoZWRPYmplY3RzXyxnPXRoaXMuX2luZGljZXNCeVVVSUQsdD10aGlzLl9wYXRocyx2PXRoaXMuX3BhcnNlZFBhdGhzLHo9dGhpcy5fYmluZGluZ3MsRT16Lmxlbmd0aCxGPXZvaWQgMCxJPTAsTT1hcmd1bWVudHMubGVuZ3RoO0khPT1NOysrSSl7dmFyIFA9YXJndW1lbnRzW0ldLFE9UC51dWlkLFU9Z1tRXTtpZih2b2lkIDA9PT1VKXtVPWMrKztnW1FdPVU7YS5wdXNoKFApO1E9MDtmb3IodmFyIFY9RTtRIT09VjsrK1EpeltRXS5wdXNoKG5ldyBjYyhQLHRbUV0sdltRXSkpfWVsc2UgaWYoVTwKZSl7Rj1hW1VdO3ZhciBlYT0tLWU7Vj1hW2VhXTtnW1YudXVpZF09VTthW1VdPVY7Z1tRXT1lYTthW2VhXT1QO1E9MDtmb3IoVj1FO1EhPT1WOysrUSl7dmFyIGRhPXpbUV0scmE9ZGFbVV07ZGFbVV09ZGFbZWFdO3ZvaWQgMD09PXJhJiYocmE9bmV3IGNjKFAsdFtRXSx2W1FdKSk7ZGFbZWFdPXJhfX1lbHNlIGFbVV0hPT1GJiZjb25zb2xlLmVycm9yKCJUSFJFRS5BbmltYXRpb25PYmplY3RHcm91cDogRGlmZmVyZW50IG9iamVjdHMgd2l0aCB0aGUgc2FtZSBVVUlEIGRldGVjdGVkLiBDbGVhbiB0aGUgY2FjaGVzIG9yIHJlY3JlYXRlIHlvdXIgaW5mcmFzdHJ1Y3R1cmUgd2hlbiByZWxvYWRpbmcgc2NlbmVzLiIpfXRoaXMubkNhY2hlZE9iamVjdHNfPWV9LHJlbW92ZTpmdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLl9vYmplY3RzLGM9dGhpcy5uQ2FjaGVkT2JqZWN0c18sZT10aGlzLl9pbmRpY2VzQnlVVUlELGc9dGhpcy5fYmluZGluZ3MsdD1nLmxlbmd0aCx2PTAsej1hcmd1bWVudHMubGVuZ3RoO3YhPT0KejsrK3Ype3ZhciBFPWFyZ3VtZW50c1t2XSxGPUUudXVpZCxJPWVbRl07aWYodm9pZCAwIT09SSYmST49Yyl7dmFyIE09YysrLFA9YVtNXTtlW1AudXVpZF09STthW0ldPVA7ZVtGXT1NO2FbTV09RTtFPTA7Zm9yKEY9dDtFIT09RjsrK0Upe1A9Z1tFXTt2YXIgUT1QW0ldO1BbSV09UFtNXTtQW01dPVF9fX10aGlzLm5DYWNoZWRPYmplY3RzXz1jfSx1bmNhY2hlOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMuX29iamVjdHMsYz1hLmxlbmd0aCxlPXRoaXMubkNhY2hlZE9iamVjdHNfLGc9dGhpcy5faW5kaWNlc0J5VVVJRCx0PXRoaXMuX2JpbmRpbmdzLHY9dC5sZW5ndGgsej0wLEU9YXJndW1lbnRzLmxlbmd0aDt6IT09RTsrK3ope3ZhciBGPWFyZ3VtZW50c1t6XS51dWlkLEk9Z1tGXTtpZih2b2lkIDAhPT1JKWlmKGRlbGV0ZSBnW0ZdLEk8ZSl7Rj0tLWU7dmFyIE09YVtGXSxQPS0tYyxRPWFbUF07Z1tNLnV1aWRdPUk7YVtJXT1NO2dbUS51dWlkXT1GO2FbRl09UTthLnBvcCgpO009CjA7Zm9yKFE9djtNIT09UTsrK00pe3ZhciBVPXRbTV0sVj1VW1BdO1VbSV09VVtGXTtVW0ZdPVY7VS5wb3AoKX19ZWxzZSBmb3IoUD0tLWMsUT1hW1BdLGdbUS51dWlkXT1JLGFbSV09USxhLnBvcCgpLE09MCxRPXY7TSE9PVE7KytNKVU9dFtNXSxVW0ldPVVbUF0sVS5wb3AoKX10aGlzLm5DYWNoZWRPYmplY3RzXz1lfSxzdWJzY3JpYmVfOmZ1bmN0aW9uKGEsYyl7dmFyIGU9dGhpcy5fYmluZGluZ3NJbmRpY2VzQnlQYXRoLGc9ZVthXSx0PXRoaXMuX2JpbmRpbmdzO2lmKHZvaWQgMCE9PWcpcmV0dXJuIHRbZ107dmFyIHY9dGhpcy5fcGF0aHMsej10aGlzLl9wYXJzZWRQYXRocyxFPXRoaXMuX29iamVjdHMsRj10aGlzLm5DYWNoZWRPYmplY3RzXyxJPUFycmF5KEUubGVuZ3RoKTtnPXQubGVuZ3RoO2VbYV09Zzt2LnB1c2goYSk7ei5wdXNoKGMpO3QucHVzaChJKTtlPUY7Zm9yKGc9RS5sZW5ndGg7ZSE9PWc7KytlKUlbZV09bmV3IGNjKEVbZV0sYSxjKTtyZXR1cm4gSX0sdW5zdWJzY3JpYmVfOmZ1bmN0aW9uKGEpe3ZhciBjPQp0aGlzLl9iaW5kaW5nc0luZGljZXNCeVBhdGgsZT1jW2FdO2lmKHZvaWQgMCE9PWUpe3ZhciBnPXRoaXMuX3BhdGhzLHQ9dGhpcy5fcGFyc2VkUGF0aHMsdj10aGlzLl9iaW5kaW5ncyx6PXYubGVuZ3RoLTEsRT12W3pdO2NbYVt6XV09ZTt2W2VdPUU7di5wb3AoKTt0W2VdPXRbel07dC5wb3AoKTtnW2VdPWdbel07Zy5wb3AoKX19fSk7T2JqZWN0LmFzc2lnbihjay5wcm90b3R5cGUse3BsYXk6ZnVuY3Rpb24oKXt0aGlzLl9taXhlci5fYWN0aXZhdGVBY3Rpb24odGhpcyk7cmV0dXJuIHRoaXN9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLl9taXhlci5fZGVhY3RpdmF0ZUFjdGlvbih0aGlzKTtyZXR1cm4gdGhpcy5yZXNldCgpfSxyZXNldDpmdW5jdGlvbigpe3RoaXMucGF1c2VkPSExO3RoaXMuZW5hYmxlZD0hMDt0aGlzLnRpbWU9MDt0aGlzLl9sb29wQ291bnQ9LTE7dGhpcy5fc3RhcnRUaW1lPW51bGw7cmV0dXJuIHRoaXMuc3RvcEZhZGluZygpLnN0b3BXYXJwaW5nKCl9LGlzUnVubmluZzpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVuYWJsZWQmJgohdGhpcy5wYXVzZWQmJjAhPT10aGlzLnRpbWVTY2FsZSYmbnVsbD09PXRoaXMuX3N0YXJ0VGltZSYmdGhpcy5fbWl4ZXIuX2lzQWN0aXZlQWN0aW9uKHRoaXMpfSxpc1NjaGVkdWxlZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9taXhlci5faXNBY3RpdmVBY3Rpb24odGhpcyl9LHN0YXJ0QXQ6ZnVuY3Rpb24oYSl7dGhpcy5fc3RhcnRUaW1lPWE7cmV0dXJuIHRoaXN9LHNldExvb3A6ZnVuY3Rpb24oYSxjKXt0aGlzLmxvb3A9YTt0aGlzLnJlcGV0aXRpb25zPWM7cmV0dXJuIHRoaXN9LHNldEVmZmVjdGl2ZVdlaWdodDpmdW5jdGlvbihhKXt0aGlzLndlaWdodD1hO3RoaXMuX2VmZmVjdGl2ZVdlaWdodD10aGlzLmVuYWJsZWQ/YTowO3JldHVybiB0aGlzLnN0b3BGYWRpbmcoKX0sZ2V0RWZmZWN0aXZlV2VpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VmZmVjdGl2ZVdlaWdodH0sZmFkZUluOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLl9zY2hlZHVsZUZhZGluZyhhLDAsMSl9LGZhZGVPdXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuX3NjaGVkdWxlRmFkaW5nKGEsCjEsMCl9LGNyb3NzRmFkZUZyb206ZnVuY3Rpb24oYSxjLGUpe2EuZmFkZU91dChjKTt0aGlzLmZhZGVJbihjKTtpZihlKXtlPXRoaXMuX2NsaXAuZHVyYXRpb247dmFyIGc9YS5fY2xpcC5kdXJhdGlvbix0PWUvZzthLndhcnAoMSxnL2UsYyk7dGhpcy53YXJwKHQsMSxjKX1yZXR1cm4gdGhpc30sY3Jvc3NGYWRlVG86ZnVuY3Rpb24oYSxjLGUpe3JldHVybiBhLmNyb3NzRmFkZUZyb20odGhpcyxjLGUpfSxzdG9wRmFkaW5nOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5fd2VpZ2h0SW50ZXJwb2xhbnQ7bnVsbCE9PWEmJih0aGlzLl93ZWlnaHRJbnRlcnBvbGFudD1udWxsLHRoaXMuX21peGVyLl90YWtlQmFja0NvbnRyb2xJbnRlcnBvbGFudChhKSk7cmV0dXJuIHRoaXN9LHNldEVmZmVjdGl2ZVRpbWVTY2FsZTpmdW5jdGlvbihhKXt0aGlzLnRpbWVTY2FsZT1hO3RoaXMuX2VmZmVjdGl2ZVRpbWVTY2FsZT10aGlzLnBhdXNlZD8wOmE7cmV0dXJuIHRoaXMuc3RvcFdhcnBpbmcoKX0sZ2V0RWZmZWN0aXZlVGltZVNjYWxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VmZmVjdGl2ZVRpbWVTY2FsZX0sCnNldER1cmF0aW9uOmZ1bmN0aW9uKGEpe3RoaXMudGltZVNjYWxlPXRoaXMuX2NsaXAuZHVyYXRpb24vYTtyZXR1cm4gdGhpcy5zdG9wV2FycGluZygpfSxzeW5jV2l0aDpmdW5jdGlvbihhKXt0aGlzLnRpbWU9YS50aW1lO3RoaXMudGltZVNjYWxlPWEudGltZVNjYWxlO3JldHVybiB0aGlzLnN0b3BXYXJwaW5nKCl9LGhhbHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMud2FycCh0aGlzLl9lZmZlY3RpdmVUaW1lU2NhbGUsMCxhKX0sd2FycDpmdW5jdGlvbihhLGMsZSl7dmFyIGc9dGhpcy5fbWl4ZXIsdD1nLnRpbWUsdj10aGlzLl90aW1lU2NhbGVJbnRlcnBvbGFudCx6PXRoaXMudGltZVNjYWxlO251bGw9PT12JiYodGhpcy5fdGltZVNjYWxlSW50ZXJwb2xhbnQ9dj1nLl9sZW5kQ29udHJvbEludGVycG9sYW50KCkpO2c9di5wYXJhbWV0ZXJQb3NpdGlvbnM7dj12LnNhbXBsZVZhbHVlcztnWzBdPXQ7Z1sxXT10K2U7dlswXT1hL3o7dlsxXT1jL3o7cmV0dXJuIHRoaXN9LHN0b3BXYXJwaW5nOmZ1bmN0aW9uKCl7dmFyIGE9CnRoaXMuX3RpbWVTY2FsZUludGVycG9sYW50O251bGwhPT1hJiYodGhpcy5fdGltZVNjYWxlSW50ZXJwb2xhbnQ9bnVsbCx0aGlzLl9taXhlci5fdGFrZUJhY2tDb250cm9sSW50ZXJwb2xhbnQoYSkpO3JldHVybiB0aGlzfSxnZXRNaXhlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9taXhlcn0sZ2V0Q2xpcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jbGlwfSxnZXRSb290OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xvY2FsUm9vdHx8dGhpcy5fbWl4ZXIuX3Jvb3R9LF91cGRhdGU6ZnVuY3Rpb24oYSxjLGUsZyl7aWYodGhpcy5lbmFibGVkKXt2YXIgdD10aGlzLl9zdGFydFRpbWU7aWYobnVsbCE9PXQpe2M9KGEtdCkqZTtpZigwPmN8fDA9PT1lKXJldHVybjt0aGlzLl9zdGFydFRpbWU9bnVsbDtjKj1lfWMqPXRoaXMuX3VwZGF0ZVRpbWVTY2FsZShhKTtlPXRoaXMuX3VwZGF0ZVRpbWUoYyk7YT10aGlzLl91cGRhdGVXZWlnaHQoYSk7aWYoMDxhKXtjPXRoaXMuX2ludGVycG9sYW50czsKdD10aGlzLl9wcm9wZXJ0eUJpbmRpbmdzO2Zvcih2YXIgdj0wLHo9Yy5sZW5ndGg7diE9PXo7Kyt2KWNbdl0uZXZhbHVhdGUoZSksdFt2XS5hY2N1bXVsYXRlKGcsYSl9fWVsc2UgdGhpcy5fdXBkYXRlV2VpZ2h0KGEpfSxfdXBkYXRlV2VpZ2h0OmZ1bmN0aW9uKGEpe3ZhciBjPTA7aWYodGhpcy5lbmFibGVkKXtjPXRoaXMud2VpZ2h0O3ZhciBlPXRoaXMuX3dlaWdodEludGVycG9sYW50O2lmKG51bGwhPT1lKXt2YXIgZz1lLmV2YWx1YXRlKGEpWzBdO2MqPWc7YT5lLnBhcmFtZXRlclBvc2l0aW9uc1sxXSYmKHRoaXMuc3RvcEZhZGluZygpLDA9PT1nJiYodGhpcy5lbmFibGVkPSExKSl9fXJldHVybiB0aGlzLl9lZmZlY3RpdmVXZWlnaHQ9Y30sX3VwZGF0ZVRpbWVTY2FsZTpmdW5jdGlvbihhKXt2YXIgYz0wO2lmKCF0aGlzLnBhdXNlZCl7Yz10aGlzLnRpbWVTY2FsZTt2YXIgZT10aGlzLl90aW1lU2NhbGVJbnRlcnBvbGFudDtpZihudWxsIT09ZSl7dmFyIGc9ZS5ldmFsdWF0ZShhKVswXTsKYyo9ZzthPmUucGFyYW1ldGVyUG9zaXRpb25zWzFdJiYodGhpcy5zdG9wV2FycGluZygpLDA9PT1jP3RoaXMucGF1c2VkPSEwOnRoaXMudGltZVNjYWxlPWMpfX1yZXR1cm4gdGhpcy5fZWZmZWN0aXZlVGltZVNjYWxlPWN9LF91cGRhdGVUaW1lOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMudGltZSthLGU9dGhpcy5fY2xpcC5kdXJhdGlvbixnPXRoaXMubG9vcCx0PXRoaXMuX2xvb3BDb3VudCx2PTIyMDI9PT1nO2lmKDA9PT1hKXJldHVybi0xPT09dD9jOnYmJjE9PT0odCYxKT9lLWM6YztpZigyMjAwPT09ZylhOntpZigtMT09PXQmJih0aGlzLl9sb29wQ291bnQ9MCx0aGlzLl9zZXRFbmRpbmdzKCEwLCEwLCExKSksYz49ZSljPWU7ZWxzZSBpZigwPmMpYz0wO2Vsc2V7dGhpcy50aW1lPWM7YnJlYWsgYX10aGlzLmNsYW1wV2hlbkZpbmlzaGVkP3RoaXMucGF1c2VkPSEwOnRoaXMuZW5hYmxlZD0hMTt0aGlzLnRpbWU9Yzt0aGlzLl9taXhlci5kaXNwYXRjaEV2ZW50KHt0eXBlOiJmaW5pc2hlZCIsCmFjdGlvbjp0aGlzLGRpcmVjdGlvbjowPmE/LTE6MX0pfWVsc2V7LTE9PT10JiYoMDw9YT8odD0wLHRoaXMuX3NldEVuZGluZ3MoITAsMD09PXRoaXMucmVwZXRpdGlvbnMsdikpOnRoaXMuX3NldEVuZGluZ3MoMD09PXRoaXMucmVwZXRpdGlvbnMsITAsdikpO2lmKGM+PWV8fDA+Yyl7Zz1NYXRoLmZsb29yKGMvZSk7Yy09ZSpnO3QrPU1hdGguYWJzKGcpO3ZhciB6PXRoaXMucmVwZXRpdGlvbnMtdDswPj16Pyh0aGlzLmNsYW1wV2hlbkZpbmlzaGVkP3RoaXMucGF1c2VkPSEwOnRoaXMuZW5hYmxlZD0hMSx0aGlzLnRpbWU9Yz0wPGE/ZTowLHRoaXMuX21peGVyLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImZpbmlzaGVkIixhY3Rpb246dGhpcyxkaXJlY3Rpb246MDxhPzE6LTF9KSk6KDE9PT16PyhhPTA+YSx0aGlzLl9zZXRFbmRpbmdzKGEsIWEsdikpOnRoaXMuX3NldEVuZGluZ3MoITEsITEsdiksdGhpcy5fbG9vcENvdW50PXQsdGhpcy50aW1lPWMsdGhpcy5fbWl4ZXIuZGlzcGF0Y2hFdmVudCh7dHlwZToibG9vcCIsCmFjdGlvbjp0aGlzLGxvb3BEZWx0YTpnfSkpfWVsc2UgdGhpcy50aW1lPWM7aWYodiYmMT09PSh0JjEpKXJldHVybiBlLWN9cmV0dXJuIGN9LF9zZXRFbmRpbmdzOmZ1bmN0aW9uKGEsYyxlKXt2YXIgZz10aGlzLl9pbnRlcnBvbGFudFNldHRpbmdzO2U/KGcuZW5kaW5nU3RhcnQ9MjQwMSxnLmVuZGluZ0VuZD0yNDAxKTooZy5lbmRpbmdTdGFydD1hP3RoaXMuemVyb1Nsb3BlQXRTdGFydD8yNDAxOjI0MDA6MjQwMixnLmVuZGluZ0VuZD1jP3RoaXMuemVyb1Nsb3BlQXRFbmQ/MjQwMToyNDAwOjI0MDIpfSxfc2NoZWR1bGVGYWRpbmc6ZnVuY3Rpb24oYSxjLGUpe3ZhciBnPXRoaXMuX21peGVyLHQ9Zy50aW1lLHY9dGhpcy5fd2VpZ2h0SW50ZXJwb2xhbnQ7bnVsbD09PXYmJih0aGlzLl93ZWlnaHRJbnRlcnBvbGFudD12PWcuX2xlbmRDb250cm9sSW50ZXJwb2xhbnQoKSk7Zz12LnBhcmFtZXRlclBvc2l0aW9uczt2PXYuc2FtcGxlVmFsdWVzO2dbMF09dDt2WzBdPWM7Z1sxXT10K2E7dlsxXT0KZTtyZXR1cm4gdGhpc319KTt2aS5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSx7Y29uc3RydWN0b3I6dmksX2JpbmRBY3Rpb246ZnVuY3Rpb24oYSxjKXt2YXIgZT1hLl9sb2NhbFJvb3R8fHRoaXMuX3Jvb3QsZz1hLl9jbGlwLnRyYWNrcyx0PWcubGVuZ3RoLHY9YS5fcHJvcGVydHlCaW5kaW5nczthPWEuX2ludGVycG9sYW50czt2YXIgej1lLnV1aWQsRT10aGlzLl9iaW5kaW5nc0J5Um9vdEFuZE5hbWUsRj1FW3pdO3ZvaWQgMD09PUYmJihGPXt9LEVbel09Rik7Zm9yKEU9MDtFIT09dDsrK0Upe3ZhciBJPWdbRV0sTT1JLm5hbWUsUD1GW01dO2lmKHZvaWQgMD09PVApe1A9dltFXTtpZih2b2lkIDAhPT1QKXtudWxsPT09UC5fY2FjaGVJbmRleCYmKCsrUC5yZWZlcmVuY2VDb3VudCx0aGlzLl9hZGRJbmFjdGl2ZUJpbmRpbmcoUCx6LE0pKTtjb250aW51ZX1QPW5ldyB1aShjYy5jcmVhdGUoZSxNLGMmJmMuX3Byb3BlcnR5QmluZGluZ3NbRV0uYmluZGluZy5wYXJzZWRQYXRoKSwKSS5WYWx1ZVR5cGVOYW1lLEkuZ2V0VmFsdWVTaXplKCkpOysrUC5yZWZlcmVuY2VDb3VudDt0aGlzLl9hZGRJbmFjdGl2ZUJpbmRpbmcoUCx6LE0pfXZbRV09UDthW0VdLnJlc3VsdEJ1ZmZlcj1QLmJ1ZmZlcn19LF9hY3RpdmF0ZUFjdGlvbjpmdW5jdGlvbihhKXtpZighdGhpcy5faXNBY3RpdmVBY3Rpb24oYSkpe2lmKG51bGw9PT1hLl9jYWNoZUluZGV4KXt2YXIgYz0oYS5fbG9jYWxSb290fHx0aGlzLl9yb290KS51dWlkLGU9YS5fY2xpcC51dWlkLGc9dGhpcy5fYWN0aW9uc0J5Q2xpcFtlXTt0aGlzLl9iaW5kQWN0aW9uKGEsZyYmZy5rbm93bkFjdGlvbnNbMF0pO3RoaXMuX2FkZEluYWN0aXZlQWN0aW9uKGEsZSxjKX1jPWEuX3Byb3BlcnR5QmluZGluZ3M7ZT0wO2ZvcihnPWMubGVuZ3RoO2UhPT1nOysrZSl7dmFyIHQ9Y1tlXTswPT09dC51c2VDb3VudCsrJiYodGhpcy5fbGVuZEJpbmRpbmcodCksdC5zYXZlT3JpZ2luYWxTdGF0ZSgpKX10aGlzLl9sZW5kQWN0aW9uKGEpfX0sCl9kZWFjdGl2YXRlQWN0aW9uOmZ1bmN0aW9uKGEpe2lmKHRoaXMuX2lzQWN0aXZlQWN0aW9uKGEpKXtmb3IodmFyIGM9YS5fcHJvcGVydHlCaW5kaW5ncyxlPTAsZz1jLmxlbmd0aDtlIT09ZzsrK2Upe3ZhciB0PWNbZV07MD09PS0tdC51c2VDb3VudCYmKHQucmVzdG9yZU9yaWdpbmFsU3RhdGUoKSx0aGlzLl90YWtlQmFja0JpbmRpbmcodCkpfXRoaXMuX3Rha2VCYWNrQWN0aW9uKGEpfX0sX2luaXRNZW1vcnlNYW5hZ2VyOmZ1bmN0aW9uKCl7dGhpcy5fYWN0aW9ucz1bXTt0aGlzLl9uQWN0aXZlQWN0aW9ucz0wO3RoaXMuX2FjdGlvbnNCeUNsaXA9e307dGhpcy5fYmluZGluZ3M9W107dGhpcy5fbkFjdGl2ZUJpbmRpbmdzPTA7dGhpcy5fYmluZGluZ3NCeVJvb3RBbmROYW1lPXt9O3RoaXMuX2NvbnRyb2xJbnRlcnBvbGFudHM9W107dGhpcy5fbkFjdGl2ZUNvbnRyb2xJbnRlcnBvbGFudHM9MDt2YXIgYT10aGlzO3RoaXMuc3RhdHM9e2FjdGlvbnM6e2dldCB0b3RhbCgpe3JldHVybiBhLl9hY3Rpb25zLmxlbmd0aH0sCmdldCBpblVzZSgpe3JldHVybiBhLl9uQWN0aXZlQWN0aW9uc319LGJpbmRpbmdzOntnZXQgdG90YWwoKXtyZXR1cm4gYS5fYmluZGluZ3MubGVuZ3RofSxnZXQgaW5Vc2UoKXtyZXR1cm4gYS5fbkFjdGl2ZUJpbmRpbmdzfX0sY29udHJvbEludGVycG9sYW50czp7Z2V0IHRvdGFsKCl7cmV0dXJuIGEuX2NvbnRyb2xJbnRlcnBvbGFudHMubGVuZ3RofSxnZXQgaW5Vc2UoKXtyZXR1cm4gYS5fbkFjdGl2ZUNvbnRyb2xJbnRlcnBvbGFudHN9fX19LF9pc0FjdGl2ZUFjdGlvbjpmdW5jdGlvbihhKXthPWEuX2NhY2hlSW5kZXg7cmV0dXJuIG51bGwhPT1hJiZhPHRoaXMuX25BY3RpdmVBY3Rpb25zfSxfYWRkSW5hY3RpdmVBY3Rpb246ZnVuY3Rpb24oYSxjLGUpe3ZhciBnPXRoaXMuX2FjdGlvbnMsdD10aGlzLl9hY3Rpb25zQnlDbGlwLHY9dFtjXTt2b2lkIDA9PT12Pyh2PXtrbm93bkFjdGlvbnM6W2FdLGFjdGlvbkJ5Um9vdDp7fX0sYS5fYnlDbGlwQ2FjaGVJbmRleD0wLHRbY109dik6KGM9CnYua25vd25BY3Rpb25zLGEuX2J5Q2xpcENhY2hlSW5kZXg9Yy5sZW5ndGgsYy5wdXNoKGEpKTthLl9jYWNoZUluZGV4PWcubGVuZ3RoO2cucHVzaChhKTt2LmFjdGlvbkJ5Um9vdFtlXT1hfSxfcmVtb3ZlSW5hY3RpdmVBY3Rpb246ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5fYWN0aW9ucyxlPWNbYy5sZW5ndGgtMV0sZz1hLl9jYWNoZUluZGV4O2UuX2NhY2hlSW5kZXg9ZztjW2ddPWU7Yy5wb3AoKTthLl9jYWNoZUluZGV4PW51bGw7Yz1hLl9jbGlwLnV1aWQ7ZT10aGlzLl9hY3Rpb25zQnlDbGlwO2c9ZVtjXTt2YXIgdD1nLmtub3duQWN0aW9ucyx2PXRbdC5sZW5ndGgtMV0sej1hLl9ieUNsaXBDYWNoZUluZGV4O3YuX2J5Q2xpcENhY2hlSW5kZXg9ejt0W3pdPXY7dC5wb3AoKTthLl9ieUNsaXBDYWNoZUluZGV4PW51bGw7ZGVsZXRlIGcuYWN0aW9uQnlSb290WyhhLl9sb2NhbFJvb3R8fHRoaXMuX3Jvb3QpLnV1aWRdOzA9PT10Lmxlbmd0aCYmZGVsZXRlIGVbY107dGhpcy5fcmVtb3ZlSW5hY3RpdmVCaW5kaW5nc0ZvckFjdGlvbihhKX0sCl9yZW1vdmVJbmFjdGl2ZUJpbmRpbmdzRm9yQWN0aW9uOmZ1bmN0aW9uKGEpe2E9YS5fcHJvcGVydHlCaW5kaW5ncztmb3IodmFyIGM9MCxlPWEubGVuZ3RoO2MhPT1lOysrYyl7dmFyIGc9YVtjXTswPT09LS1nLnJlZmVyZW5jZUNvdW50JiZ0aGlzLl9yZW1vdmVJbmFjdGl2ZUJpbmRpbmcoZyl9fSxfbGVuZEFjdGlvbjpmdW5jdGlvbihhKXt2YXIgYz10aGlzLl9hY3Rpb25zLGU9YS5fY2FjaGVJbmRleCxnPXRoaXMuX25BY3RpdmVBY3Rpb25zKyssdD1jW2ddO2EuX2NhY2hlSW5kZXg9ZztjW2ddPWE7dC5fY2FjaGVJbmRleD1lO2NbZV09dH0sX3Rha2VCYWNrQWN0aW9uOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMuX2FjdGlvbnMsZT1hLl9jYWNoZUluZGV4LGc9LS10aGlzLl9uQWN0aXZlQWN0aW9ucyx0PWNbZ107YS5fY2FjaGVJbmRleD1nO2NbZ109YTt0Ll9jYWNoZUluZGV4PWU7Y1tlXT10fSxfYWRkSW5hY3RpdmVCaW5kaW5nOmZ1bmN0aW9uKGEsYyxlKXt2YXIgZz10aGlzLl9iaW5kaW5nc0J5Um9vdEFuZE5hbWUsCnQ9Z1tjXSx2PXRoaXMuX2JpbmRpbmdzO3ZvaWQgMD09PXQmJih0PXt9LGdbY109dCk7dFtlXT1hO2EuX2NhY2hlSW5kZXg9di5sZW5ndGg7di5wdXNoKGEpfSxfcmVtb3ZlSW5hY3RpdmVCaW5kaW5nOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMuX2JpbmRpbmdzLGU9YS5iaW5kaW5nLGc9ZS5yb290Tm9kZS51dWlkO2U9ZS5wYXRoO3ZhciB0PXRoaXMuX2JpbmRpbmdzQnlSb290QW5kTmFtZSx2PXRbZ10sej1jW2MubGVuZ3RoLTFdO2E9YS5fY2FjaGVJbmRleDt6Ll9jYWNoZUluZGV4PWE7Y1thXT16O2MucG9wKCk7ZGVsZXRlIHZbZV07MD09PU9iamVjdC5rZXlzKHYpLmxlbmd0aCYmZGVsZXRlIHRbZ119LF9sZW5kQmluZGluZzpmdW5jdGlvbihhKXt2YXIgYz10aGlzLl9iaW5kaW5ncyxlPWEuX2NhY2hlSW5kZXgsZz10aGlzLl9uQWN0aXZlQmluZGluZ3MrKyx0PWNbZ107YS5fY2FjaGVJbmRleD1nO2NbZ109YTt0Ll9jYWNoZUluZGV4PWU7Y1tlXT10fSxfdGFrZUJhY2tCaW5kaW5nOmZ1bmN0aW9uKGEpe3ZhciBjPQp0aGlzLl9iaW5kaW5ncyxlPWEuX2NhY2hlSW5kZXgsZz0tLXRoaXMuX25BY3RpdmVCaW5kaW5ncyx0PWNbZ107YS5fY2FjaGVJbmRleD1nO2NbZ109YTt0Ll9jYWNoZUluZGV4PWU7Y1tlXT10fSxfbGVuZENvbnRyb2xJbnRlcnBvbGFudDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuX2NvbnRyb2xJbnRlcnBvbGFudHMsYz10aGlzLl9uQWN0aXZlQ29udHJvbEludGVycG9sYW50cysrLGU9YVtjXTt2b2lkIDA9PT1lJiYoZT1uZXcgWmYobmV3IEZsb2F0MzJBcnJheSgyKSxuZXcgRmxvYXQzMkFycmF5KDIpLDEsdGhpcy5fY29udHJvbEludGVycG9sYW50c1Jlc3VsdEJ1ZmZlciksZS5fX2NhY2hlSW5kZXg9YyxhW2NdPWUpO3JldHVybiBlfSxfdGFrZUJhY2tDb250cm9sSW50ZXJwb2xhbnQ6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5fY29udHJvbEludGVycG9sYW50cyxlPWEuX19jYWNoZUluZGV4LGc9LS10aGlzLl9uQWN0aXZlQ29udHJvbEludGVycG9sYW50cyx0PWNbZ107YS5fX2NhY2hlSW5kZXg9Cmc7Y1tnXT1hO3QuX19jYWNoZUluZGV4PWU7Y1tlXT10fSxfY29udHJvbEludGVycG9sYW50c1Jlc3VsdEJ1ZmZlcjpuZXcgRmxvYXQzMkFycmF5KDEpLGNsaXBBY3Rpb246ZnVuY3Rpb24oYSxjKXt2YXIgZT1jfHx0aGlzLl9yb290LGc9ZS51dWlkO2U9InN0cmluZyI9PT10eXBlb2YgYT92Yy5maW5kQnlOYW1lKGUsYSk6YTthPW51bGwhPT1lP2UudXVpZDphO3ZhciB0PXRoaXMuX2FjdGlvbnNCeUNsaXBbYV0sdj1udWxsO2lmKHZvaWQgMCE9PXQpe3Y9dC5hY3Rpb25CeVJvb3RbZ107aWYodm9pZCAwIT09dilyZXR1cm4gdjt2PXQua25vd25BY3Rpb25zWzBdO251bGw9PT1lJiYoZT12Ll9jbGlwKX1pZihudWxsPT09ZSlyZXR1cm4gbnVsbDtjPW5ldyBjayh0aGlzLGUsYyk7dGhpcy5fYmluZEFjdGlvbihjLHYpO3RoaXMuX2FkZEluYWN0aXZlQWN0aW9uKGMsYSxnKTtyZXR1cm4gY30sZXhpc3RpbmdBY3Rpb246ZnVuY3Rpb24oYSxjKXt2YXIgZT1jfHx0aGlzLl9yb290O2M9ZS51dWlkOwplPSJzdHJpbmciPT09dHlwZW9mIGE/dmMuZmluZEJ5TmFtZShlLGEpOmE7YT10aGlzLl9hY3Rpb25zQnlDbGlwW2U/ZS51dWlkOmFdO3JldHVybiB2b2lkIDAhPT1hP2EuYWN0aW9uQnlSb290W2NdfHxudWxsOm51bGx9LHN0b3BBbGxBY3Rpb246ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcy5fYWN0aW9ucyxjPXRoaXMuX25BY3RpdmVBY3Rpb25zLGU9dGhpcy5fYmluZGluZ3MsZz10aGlzLl9uQWN0aXZlQmluZGluZ3MsdD10aGlzLl9uQWN0aXZlQmluZGluZ3M9dGhpcy5fbkFjdGl2ZUFjdGlvbnM9MDt0IT09YzsrK3QpYVt0XS5yZXNldCgpO2Zvcih0PTA7dCE9PWc7Kyt0KWVbdF0udXNlQ291bnQ9MDtyZXR1cm4gdGhpc30sdXBkYXRlOmZ1bmN0aW9uKGEpe2EqPXRoaXMudGltZVNjYWxlO2Zvcih2YXIgYz10aGlzLl9hY3Rpb25zLGU9dGhpcy5fbkFjdGl2ZUFjdGlvbnMsZz10aGlzLnRpbWUrPWEsdD1NYXRoLnNpZ24oYSksdj10aGlzLl9hY2N1SW5kZXhePTEsej0wO3ohPT1lOysreiljW3pdLl91cGRhdGUoZywKYSx0LHYpO2E9dGhpcy5fYmluZGluZ3M7Yz10aGlzLl9uQWN0aXZlQmluZGluZ3M7Zm9yKHo9MDt6IT09YzsrK3opYVt6XS5hcHBseSh2KTtyZXR1cm4gdGhpc30sZ2V0Um9vdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yb290fSx1bmNhY2hlQ2xpcDpmdW5jdGlvbihhKXt2YXIgYz10aGlzLl9hY3Rpb25zO2E9YS51dWlkO3ZhciBlPXRoaXMuX2FjdGlvbnNCeUNsaXAsZz1lW2FdO2lmKHZvaWQgMCE9PWcpe2c9Zy5rbm93bkFjdGlvbnM7Zm9yKHZhciB0PTAsdj1nLmxlbmd0aDt0IT09djsrK3Qpe3ZhciB6PWdbdF07dGhpcy5fZGVhY3RpdmF0ZUFjdGlvbih6KTt2YXIgRT16Ll9jYWNoZUluZGV4LEY9Y1tjLmxlbmd0aC0xXTt6Ll9jYWNoZUluZGV4PW51bGw7ei5fYnlDbGlwQ2FjaGVJbmRleD1udWxsO0YuX2NhY2hlSW5kZXg9RTtjW0VdPUY7Yy5wb3AoKTt0aGlzLl9yZW1vdmVJbmFjdGl2ZUJpbmRpbmdzRm9yQWN0aW9uKHopfWRlbGV0ZSBlW2FdfX0sdW5jYWNoZVJvb3Q6ZnVuY3Rpb24oYSl7YT0KYS51dWlkO3ZhciBjPXRoaXMuX2FjdGlvbnNCeUNsaXA7Zm9yKGcgaW4gYyl7dmFyIGU9Y1tnXS5hY3Rpb25CeVJvb3RbYV07dm9pZCAwIT09ZSYmKHRoaXMuX2RlYWN0aXZhdGVBY3Rpb24oZSksdGhpcy5fcmVtb3ZlSW5hY3RpdmVBY3Rpb24oZSkpfXZhciBnPXRoaXMuX2JpbmRpbmdzQnlSb290QW5kTmFtZVthXTtpZih2b2lkIDAhPT1nKWZvcih2YXIgdCBpbiBnKWE9Z1t0XSxhLnJlc3RvcmVPcmlnaW5hbFN0YXRlKCksdGhpcy5fcmVtb3ZlSW5hY3RpdmVCaW5kaW5nKGEpfSx1bmNhY2hlQWN0aW9uOmZ1bmN0aW9uKGEsYyl7YT10aGlzLmV4aXN0aW5nQWN0aW9uKGEsYyk7bnVsbCE9PWEmJih0aGlzLl9kZWFjdGl2YXRlQWN0aW9uKGEpLHRoaXMuX3JlbW92ZUluYWN0aXZlQWN0aW9uKGEpKX19KTtlaC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGVoKHZvaWQgMD09PXRoaXMudmFsdWUuY2xvbmU/dGhpcy52YWx1ZTp0aGlzLnZhbHVlLmNsb25lKCkpfTt3aS5wcm90b3R5cGU9Ck9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShTZC5wcm90b3R5cGUpLHtjb25zdHJ1Y3Rvcjp3aSxpc0luc3RhbmNlZEludGVybGVhdmVkQnVmZmVyOiEwLGNvcHk6ZnVuY3Rpb24oYSl7U2QucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMubWVzaFBlckF0dHJpYnV0ZT1hLm1lc2hQZXJBdHRyaWJ1dGU7cmV0dXJuIHRoaXN9fSk7T2JqZWN0LmFzc2lnbihkay5wcm90b3R5cGUse2xpbmVQcmVjaXNpb246MSxzZXQ6ZnVuY3Rpb24oYSxjKXt0aGlzLnJheS5zZXQoYSxjKX0sc2V0RnJvbUNhbWVyYTpmdW5jdGlvbihhLGMpe2MmJmMuaXNQZXJzcGVjdGl2ZUNhbWVyYT8odGhpcy5yYXkub3JpZ2luLnNldEZyb21NYXRyaXhQb3NpdGlvbihjLm1hdHJpeFdvcmxkKSx0aGlzLnJheS5kaXJlY3Rpb24uc2V0KGEueCxhLnksLjUpLnVucHJvamVjdChjKS5zdWIodGhpcy5yYXkub3JpZ2luKS5ub3JtYWxpemUoKSx0aGlzLmNhbWVyYT1jKTpjJiZjLmlzT3J0aG9ncmFwaGljQ2FtZXJhPwoodGhpcy5yYXkub3JpZ2luLnNldChhLngsYS55LChjLm5lYXIrYy5mYXIpLyhjLm5lYXItYy5mYXIpKS51bnByb2plY3QoYyksdGhpcy5yYXkuZGlyZWN0aW9uLnNldCgwLDAsLTEpLnRyYW5zZm9ybURpcmVjdGlvbihjLm1hdHJpeFdvcmxkKSx0aGlzLmNhbWVyYT1jKTpjb25zb2xlLmVycm9yKCJUSFJFRS5SYXljYXN0ZXI6IFVuc3VwcG9ydGVkIGNhbWVyYSB0eXBlLiIpfSxpbnRlcnNlY3RPYmplY3Q6ZnVuY3Rpb24oYSxjLGUpe2U9ZXx8W107eGkoYSx0aGlzLGUsYyk7ZS5zb3J0KGVrKTtyZXR1cm4gZX0saW50ZXJzZWN0T2JqZWN0czpmdW5jdGlvbihhLGMsZSl7ZT1lfHxbXTtpZighMT09PUFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuUmF5Y2FzdGVyLmludGVyc2VjdE9iamVjdHM6IG9iamVjdHMgaXMgbm90IGFuIEFycmF5LiIpLGU7Zm9yKHZhciBnPTAsdD1hLmxlbmd0aDtnPHQ7ZysrKXhpKGFbZ10sdGhpcyxlLGMpO2Uuc29ydChlayk7cmV0dXJuIGV9fSk7Ck9iamVjdC5hc3NpZ24oZmsucHJvdG90eXBlLHtzZXQ6ZnVuY3Rpb24oYSxjLGUpe3RoaXMucmFkaXVzPWE7dGhpcy5waGk9Yzt0aGlzLnRoZXRhPWU7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMucmFkaXVzPWEucmFkaXVzO3RoaXMucGhpPWEucGhpO3RoaXMudGhldGE9YS50aGV0YTtyZXR1cm4gdGhpc30sbWFrZVNhZmU6ZnVuY3Rpb24oKXt0aGlzLnBoaT1NYXRoLm1heCgxRS02LE1hdGgubWluKE1hdGguUEktMUUtNix0aGlzLnBoaSkpO3JldHVybiB0aGlzfSxzZXRGcm9tVmVjdG9yMzpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5zZXRGcm9tQ2FydGVzaWFuQ29vcmRzKGEueCxhLnksYS56KX0sc2V0RnJvbUNhcnRlc2lhbkNvb3JkczpmdW5jdGlvbihhLGMsZSl7dGhpcy5yYWRpdXM9TWF0aC5zcXJ0KGEqYStjKmMrZSplKTswPT09dGhpcy5yYWRpdXM/dGhpcy5waGk9CnRoaXMudGhldGE9MDoodGhpcy50aGV0YT1NYXRoLmF0YW4yKGEsZSksdGhpcy5waGk9TWF0aC5hY29zKGhiLmNsYW1wKGMvdGhpcy5yYWRpdXMsLTEsMSkpKTtyZXR1cm4gdGhpc319KTtPYmplY3QuYXNzaWduKGdrLnByb3RvdHlwZSx7c2V0OmZ1bmN0aW9uKGEsYyxlKXt0aGlzLnJhZGl1cz1hO3RoaXMudGhldGE9Yzt0aGlzLnk9ZTtyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9LGNvcHk6ZnVuY3Rpb24oYSl7dGhpcy5yYWRpdXM9YS5yYWRpdXM7dGhpcy50aGV0YT1hLnRoZXRhO3RoaXMueT1hLnk7cmV0dXJuIHRoaXN9LHNldEZyb21WZWN0b3IzOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnNldEZyb21DYXJ0ZXNpYW5Db29yZHMoYS54LGEueSxhLnopfSxzZXRGcm9tQ2FydGVzaWFuQ29vcmRzOmZ1bmN0aW9uKGEsYyxlKXt0aGlzLnJhZGl1cz1NYXRoLnNxcnQoYSphK2UqZSk7dGhpcy50aGV0YT1NYXRoLmF0YW4yKGEsCmUpO3RoaXMueT1jO3JldHVybiB0aGlzfX0pO3ZhciBIaz1uZXcgZjtPYmplY3QuYXNzaWduKHlpLnByb3RvdHlwZSx7c2V0OmZ1bmN0aW9uKGEsYyl7dGhpcy5taW4uY29weShhKTt0aGlzLm1heC5jb3B5KGMpO3JldHVybiB0aGlzfSxzZXRGcm9tUG9pbnRzOmZ1bmN0aW9uKGEpe3RoaXMubWFrZUVtcHR5KCk7Zm9yKHZhciBjPTAsZT1hLmxlbmd0aDtjPGU7YysrKXRoaXMuZXhwYW5kQnlQb2ludChhW2NdKTtyZXR1cm4gdGhpc30sc2V0RnJvbUNlbnRlckFuZFNpemU6ZnVuY3Rpb24oYSxjKXtjPUhrLmNvcHkoYykubXVsdGlwbHlTY2FsYXIoLjUpO3RoaXMubWluLmNvcHkoYSkuc3ViKGMpO3RoaXMubWF4LmNvcHkoYSkuYWRkKGMpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX0sY29weTpmdW5jdGlvbihhKXt0aGlzLm1pbi5jb3B5KGEubWluKTt0aGlzLm1heC5jb3B5KGEubWF4KTtyZXR1cm4gdGhpc30sCm1ha2VFbXB0eTpmdW5jdGlvbigpe3RoaXMubWluLng9dGhpcy5taW4ueT1JbmZpbml0eTt0aGlzLm1heC54PXRoaXMubWF4Lnk9LUluZmluaXR5O3JldHVybiB0aGlzfSxpc0VtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWF4Lng8dGhpcy5taW4ueHx8dGhpcy5tYXgueTx0aGlzLm1pbi55fSxnZXRDZW50ZXI6ZnVuY3Rpb24oYSl7dm9pZCAwPT09YSYmKGNvbnNvbGUud2FybigiVEhSRUUuQm94MjogLmdldENlbnRlcigpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBmKTtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/YS5zZXQoMCwwKTphLmFkZFZlY3RvcnModGhpcy5taW4sdGhpcy5tYXgpLm11bHRpcGx5U2NhbGFyKC41KX0sZ2V0U2l6ZTpmdW5jdGlvbihhKXt2b2lkIDA9PT1hJiYoY29uc29sZS53YXJuKCJUSFJFRS5Cb3gyOiAuZ2V0U2l6ZSgpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBmKTtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/YS5zZXQoMCwwKTphLnN1YlZlY3RvcnModGhpcy5tYXgsCnRoaXMubWluKX0sZXhwYW5kQnlQb2ludDpmdW5jdGlvbihhKXt0aGlzLm1pbi5taW4oYSk7dGhpcy5tYXgubWF4KGEpO3JldHVybiB0aGlzfSxleHBhbmRCeVZlY3RvcjpmdW5jdGlvbihhKXt0aGlzLm1pbi5zdWIoYSk7dGhpcy5tYXguYWRkKGEpO3JldHVybiB0aGlzfSxleHBhbmRCeVNjYWxhcjpmdW5jdGlvbihhKXt0aGlzLm1pbi5hZGRTY2FsYXIoLWEpO3RoaXMubWF4LmFkZFNjYWxhcihhKTtyZXR1cm4gdGhpc30sY29udGFpbnNQb2ludDpmdW5jdGlvbihhKXtyZXR1cm4gYS54PHRoaXMubWluLnh8fGEueD50aGlzLm1heC54fHxhLnk8dGhpcy5taW4ueXx8YS55PnRoaXMubWF4Lnk/ITE6ITB9LGNvbnRhaW5zQm94OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm1pbi54PD1hLm1pbi54JiZhLm1heC54PD10aGlzLm1heC54JiZ0aGlzLm1pbi55PD1hLm1pbi55JiZhLm1heC55PD10aGlzLm1heC55fSxnZXRQYXJhbWV0ZXI6ZnVuY3Rpb24oYSxjKXt2b2lkIDA9PT1jJiYoY29uc29sZS53YXJuKCJUSFJFRS5Cb3gyOiAuZ2V0UGFyYW1ldGVyKCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpLApjPW5ldyBmKTtyZXR1cm4gYy5zZXQoKGEueC10aGlzLm1pbi54KS8odGhpcy5tYXgueC10aGlzLm1pbi54KSwoYS55LXRoaXMubWluLnkpLyh0aGlzLm1heC55LXRoaXMubWluLnkpKX0saW50ZXJzZWN0c0JveDpmdW5jdGlvbihhKXtyZXR1cm4gYS5tYXgueDx0aGlzLm1pbi54fHxhLm1pbi54PnRoaXMubWF4Lnh8fGEubWF4Lnk8dGhpcy5taW4ueXx8YS5taW4ueT50aGlzLm1heC55PyExOiEwfSxjbGFtcFBvaW50OmZ1bmN0aW9uKGEsYyl7dm9pZCAwPT09YyYmKGNvbnNvbGUud2FybigiVEhSRUUuQm94MjogLmNsYW1wUG9pbnQoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksYz1uZXcgZik7cmV0dXJuIGMuY29weShhKS5jbGFtcCh0aGlzLm1pbix0aGlzLm1heCl9LGRpc3RhbmNlVG9Qb2ludDpmdW5jdGlvbihhKXtyZXR1cm4gSGsuY29weShhKS5jbGFtcCh0aGlzLm1pbix0aGlzLm1heCkuc3ViKGEpLmxlbmd0aCgpfSxpbnRlcnNlY3Q6ZnVuY3Rpb24oYSl7dGhpcy5taW4ubWF4KGEubWluKTsKdGhpcy5tYXgubWluKGEubWF4KTtyZXR1cm4gdGhpc30sdW5pb246ZnVuY3Rpb24oYSl7dGhpcy5taW4ubWluKGEubWluKTt0aGlzLm1heC5tYXgoYS5tYXgpO3JldHVybiB0aGlzfSx0cmFuc2xhdGU6ZnVuY3Rpb24oYSl7dGhpcy5taW4uYWRkKGEpO3RoaXMubWF4LmFkZChhKTtyZXR1cm4gdGhpc30sZXF1YWxzOmZ1bmN0aW9uKGEpe3JldHVybiBhLm1pbi5lcXVhbHModGhpcy5taW4pJiZhLm1heC5lcXVhbHModGhpcy5tYXgpfX0pO3ZhciBJaz1uZXcgayxDaD1uZXcgaztPYmplY3QuYXNzaWduKHppLnByb3RvdHlwZSx7c2V0OmZ1bmN0aW9uKGEsYyl7dGhpcy5zdGFydC5jb3B5KGEpO3RoaXMuZW5kLmNvcHkoYyk7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfSxjb3B5OmZ1bmN0aW9uKGEpe3RoaXMuc3RhcnQuY29weShhLnN0YXJ0KTt0aGlzLmVuZC5jb3B5KGEuZW5kKTtyZXR1cm4gdGhpc30sZ2V0Q2VudGVyOmZ1bmN0aW9uKGEpe3ZvaWQgMD09PQphJiYoY29uc29sZS53YXJuKCJUSFJFRS5MaW5lMzogLmdldENlbnRlcigpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBrKTtyZXR1cm4gYS5hZGRWZWN0b3JzKHRoaXMuc3RhcnQsdGhpcy5lbmQpLm11bHRpcGx5U2NhbGFyKC41KX0sZGVsdGE6ZnVuY3Rpb24oYSl7dm9pZCAwPT09YSYmKGNvbnNvbGUud2FybigiVEhSRUUuTGluZTM6IC5kZWx0YSgpIHRhcmdldCBpcyBub3cgcmVxdWlyZWQiKSxhPW5ldyBrKTtyZXR1cm4gYS5zdWJWZWN0b3JzKHRoaXMuZW5kLHRoaXMuc3RhcnQpfSxkaXN0YW5jZVNxOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhcnQuZGlzdGFuY2VUb1NxdWFyZWQodGhpcy5lbmQpfSxkaXN0YW5jZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXJ0LmRpc3RhbmNlVG8odGhpcy5lbmQpfSxhdDpmdW5jdGlvbihhLGMpe3ZvaWQgMD09PWMmJihjb25zb2xlLndhcm4oIlRIUkVFLkxpbmUzOiAuYXQoKSB0YXJnZXQgaXMgbm93IHJlcXVpcmVkIiksYz0KbmV3IGspO3JldHVybiB0aGlzLmRlbHRhKGMpLm11bHRpcGx5U2NhbGFyKGEpLmFkZCh0aGlzLnN0YXJ0KX0sY2xvc2VzdFBvaW50VG9Qb2ludFBhcmFtZXRlcjpmdW5jdGlvbihhLGMpe0lrLnN1YlZlY3RvcnMoYSx0aGlzLnN0YXJ0KTtDaC5zdWJWZWN0b3JzKHRoaXMuZW5kLHRoaXMuc3RhcnQpO2E9Q2guZG90KElrKS9DaC5kb3QoQ2gpO2MmJihhPWhiLmNsYW1wKGEsMCwxKSk7cmV0dXJuIGF9LGNsb3Nlc3RQb2ludFRvUG9pbnQ6ZnVuY3Rpb24oYSxjLGUpe2E9dGhpcy5jbG9zZXN0UG9pbnRUb1BvaW50UGFyYW1ldGVyKGEsYyk7dm9pZCAwPT09ZSYmKGNvbnNvbGUud2FybigiVEhSRUUuTGluZTM6IC5jbG9zZXN0UG9pbnRUb1BvaW50KCkgdGFyZ2V0IGlzIG5vdyByZXF1aXJlZCIpLGU9bmV3IGspO3JldHVybiB0aGlzLmRlbHRhKGUpLm11bHRpcGx5U2NhbGFyKGEpLmFkZCh0aGlzLnN0YXJ0KX0sYXBwbHlNYXRyaXg0OmZ1bmN0aW9uKGEpe3RoaXMuc3RhcnQuYXBwbHlNYXRyaXg0KGEpOwp0aGlzLmVuZC5hcHBseU1hdHJpeDQoYSk7cmV0dXJuIHRoaXN9LGVxdWFsczpmdW5jdGlvbihhKXtyZXR1cm4gYS5zdGFydC5lcXVhbHModGhpcy5zdGFydCkmJmEuZW5kLmVxdWFscyh0aGlzLmVuZCl9fSk7ZGcucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoQS5wcm90b3R5cGUpO2RnLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1kZztkZy5wcm90b3R5cGUuaXNJbW1lZGlhdGVSZW5kZXJPYmplY3Q9ITA7dmFyIGFkPW5ldyBrLHFkPW5ldyBrLFdpPW5ldyByLHJuPVsiYSIsImIiLCJjIl07ZWcucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoSWIucHJvdG90eXBlKTtlZy5wcm90b3R5cGUuY29uc3RydWN0b3I9ZWc7ZWcucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe3RoaXMub2JqZWN0LnVwZGF0ZU1hdHJpeFdvcmxkKCEwKTtXaS5nZXROb3JtYWxNYXRyaXgodGhpcy5vYmplY3QubWF0cml4V29ybGQpO3ZhciBhPXRoaXMub2JqZWN0Lm1hdHJpeFdvcmxkLGM9dGhpcy5nZW9tZXRyeS5hdHRyaWJ1dGVzLnBvc2l0aW9uLAplPXRoaXMub2JqZWN0Lmdlb21ldHJ5O2lmKGUmJmUuaXNHZW9tZXRyeSlmb3IodmFyIGc9ZS52ZXJ0aWNlcyx0PWUuZmFjZXMsdj1lPTAsej10Lmxlbmd0aDt2PHo7disrKWZvcih2YXIgRT10W3ZdLEY9MCxJPUUudmVydGV4Tm9ybWFscy5sZW5ndGg7RjxJO0YrKyl7dmFyIE09RS52ZXJ0ZXhOb3JtYWxzW0ZdO2FkLmNvcHkoZ1tFW3JuW0ZdXV0pLmFwcGx5TWF0cml4NChhKTtxZC5jb3B5KE0pLmFwcGx5TWF0cml4MyhXaSkubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIodGhpcy5zaXplKS5hZGQoYWQpO2Muc2V0WFlaKGUsYWQueCxhZC55LGFkLnopO2UrPTE7Yy5zZXRYWVooZSxxZC54LHFkLnkscWQueik7ZSs9MX1lbHNlIGlmKGUmJmUuaXNCdWZmZXJHZW9tZXRyeSlmb3IoZz1lLmF0dHJpYnV0ZXMucG9zaXRpb24sdD1lLmF0dHJpYnV0ZXMubm9ybWFsLEY9ZT0wLEk9Zy5jb3VudDtGPEk7RisrKWFkLnNldChnLmdldFgoRiksZy5nZXRZKEYpLGcuZ2V0WihGKSkuYXBwbHlNYXRyaXg0KGEpLApxZC5zZXQodC5nZXRYKEYpLHQuZ2V0WShGKSx0LmdldFooRikpLHFkLmFwcGx5TWF0cml4MyhXaSkubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIodGhpcy5zaXplKS5hZGQoYWQpLGMuc2V0WFlaKGUsYWQueCxhZC55LGFkLnopLGUrPTEsYy5zZXRYWVooZSxxZC54LHFkLnkscWQueiksZSs9MTtjLm5lZWRzVXBkYXRlPSEwfTt2YXIgSms9bmV3IGs7WmUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoQS5wcm90b3R5cGUpO1plLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1aZTtaZS5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuY29uZS5nZW9tZXRyeS5kaXNwb3NlKCk7dGhpcy5jb25lLm1hdGVyaWFsLmRpc3Bvc2UoKX07WmUucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe3RoaXMubGlnaHQudXBkYXRlTWF0cml4V29ybGQoKTt2YXIgYT10aGlzLmxpZ2h0LmRpc3RhbmNlP3RoaXMubGlnaHQuZGlzdGFuY2U6MUUzLGM9YSpNYXRoLnRhbih0aGlzLmxpZ2h0LmFuZ2xlKTsKdGhpcy5jb25lLnNjYWxlLnNldChjLGMsYSk7Smsuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHRoaXMubGlnaHQudGFyZ2V0Lm1hdHJpeFdvcmxkKTt0aGlzLmNvbmUubG9va0F0KEprKTt2b2lkIDAhPT10aGlzLmNvbG9yP3RoaXMuY29uZS5tYXRlcmlhbC5jb2xvci5zZXQodGhpcy5jb2xvcik6dGhpcy5jb25lLm1hdGVyaWFsLmNvbG9yLmNvcHkodGhpcy5saWdodC5jb2xvcil9O3ZhciBLZD1uZXcgayxEaD1uZXcgcSxYaT1uZXcgcTskZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShJYi5wcm90b3R5cGUpOyRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj0kZTskZS5wcm90b3R5cGUudXBkYXRlTWF0cml4V29ybGQ9ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5ib25lcyxlPXRoaXMuZ2VvbWV0cnksZz1lLmdldEF0dHJpYnV0ZSgicG9zaXRpb24iKTtYaS5nZXRJbnZlcnNlKHRoaXMucm9vdC5tYXRyaXhXb3JsZCk7Zm9yKHZhciB0PTAsdj0wO3Q8Yy5sZW5ndGg7dCsrKXt2YXIgej1jW3RdO3oucGFyZW50JiYKei5wYXJlbnQuaXNCb25lJiYoRGgubXVsdGlwbHlNYXRyaWNlcyhYaSx6Lm1hdHJpeFdvcmxkKSxLZC5zZXRGcm9tTWF0cml4UG9zaXRpb24oRGgpLGcuc2V0WFlaKHYsS2QueCxLZC55LEtkLnopLERoLm11bHRpcGx5TWF0cmljZXMoWGksei5wYXJlbnQubWF0cml4V29ybGQpLEtkLnNldEZyb21NYXRyaXhQb3NpdGlvbihEaCksZy5zZXRYWVoodisxLEtkLngsS2QueSxLZC56KSx2Kz0yKX1lLmdldEF0dHJpYnV0ZSgicG9zaXRpb24iKS5uZWVkc1VwZGF0ZT0hMDtBLnByb3RvdHlwZS51cGRhdGVNYXRyaXhXb3JsZC5jYWxsKHRoaXMsYSl9O2FmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHlhLnByb3RvdHlwZSk7YWYucHJvdG90eXBlLmNvbnN0cnVjdG9yPWFmO2FmLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5nZW9tZXRyeS5kaXNwb3NlKCk7dGhpcy5tYXRlcmlhbC5kaXNwb3NlKCl9O2FmLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oKXt2b2lkIDAhPT10aGlzLmNvbG9yPwp0aGlzLm1hdGVyaWFsLmNvbG9yLnNldCh0aGlzLmNvbG9yKTp0aGlzLm1hdGVyaWFsLmNvbG9yLmNvcHkodGhpcy5saWdodC5jb2xvcil9O2JmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFhiLnByb3RvdHlwZSk7YmYucHJvdG90eXBlLmNvbnN0cnVjdG9yPWJmO2JmLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oKXt0aGlzLnNjYWxlLnNldCguNSp0aGlzLmxpZ2h0LndpZHRoLC41KnRoaXMubGlnaHQuaGVpZ2h0LDEpO2lmKHZvaWQgMCE9PXRoaXMuY29sb3IpdGhpcy5tYXRlcmlhbC5jb2xvci5zZXQodGhpcy5jb2xvciksdGhpcy5jaGlsZHJlblswXS5tYXRlcmlhbC5jb2xvci5zZXQodGhpcy5jb2xvcik7ZWxzZXt0aGlzLm1hdGVyaWFsLmNvbG9yLmNvcHkodGhpcy5saWdodC5jb2xvcikubXVsdGlwbHlTY2FsYXIodGhpcy5saWdodC5pbnRlbnNpdHkpO3ZhciBhPXRoaXMubWF0ZXJpYWwuY29sb3IsYz1NYXRoLm1heChhLnIsYS5nLGEuYik7MTxjJiZhLm11bHRpcGx5U2NhbGFyKDEvCmMpO3RoaXMuY2hpbGRyZW5bMF0ubWF0ZXJpYWwuY29sb3IuY29weSh0aGlzLm1hdGVyaWFsLmNvbG9yKX19O2JmLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5nZW9tZXRyeS5kaXNwb3NlKCk7dGhpcy5tYXRlcmlhbC5kaXNwb3NlKCk7dGhpcy5jaGlsZHJlblswXS5nZW9tZXRyeS5kaXNwb3NlKCk7dGhpcy5jaGlsZHJlblswXS5tYXRlcmlhbC5kaXNwb3NlKCl9O3ZhciBzbj1uZXcgayxLaz1uZXcgSCxMaz1uZXcgSDtjZi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShBLnByb3RvdHlwZSk7Y2YucHJvdG90eXBlLmNvbnN0cnVjdG9yPWNmO2NmLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5jaGlsZHJlblswXS5nZW9tZXRyeS5kaXNwb3NlKCk7dGhpcy5jaGlsZHJlblswXS5tYXRlcmlhbC5kaXNwb3NlKCl9O2NmLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmNoaWxkcmVuWzBdO2lmKHZvaWQgMCE9PXRoaXMuY29sb3IpdGhpcy5tYXRlcmlhbC5jb2xvci5zZXQodGhpcy5jb2xvcik7CmVsc2V7dmFyIGM9YS5nZW9tZXRyeS5nZXRBdHRyaWJ1dGUoImNvbG9yIik7S2suY29weSh0aGlzLmxpZ2h0LmNvbG9yKTtMay5jb3B5KHRoaXMubGlnaHQuZ3JvdW5kQ29sb3IpO2Zvcih2YXIgZT0wLGc9Yy5jb3VudDtlPGc7ZSsrKXt2YXIgdD1lPGcvMj9LazpMaztjLnNldFhZWihlLHQucix0LmcsdC5iKX1jLm5lZWRzVXBkYXRlPSEwfWEubG9va0F0KHNuLnNldEZyb21NYXRyaXhQb3NpdGlvbih0aGlzLmxpZ2h0Lm1hdHJpeFdvcmxkKS5uZWdhdGUoKSl9O2RmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHlhLnByb3RvdHlwZSk7ZGYucHJvdG90eXBlLmNvbnN0cnVjdG9yPWRmO2RmLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5nZW9tZXRyeS5kaXNwb3NlKCk7dGhpcy5tYXRlcmlhbC5kaXNwb3NlKCl9O2RmLnByb3RvdHlwZS5vbkJlZm9yZVJlbmRlcj1mdW5jdGlvbigpe3RoaXMucG9zaXRpb24uY29weSh0aGlzLmxpZ2h0UHJvYmUucG9zaXRpb24pO3RoaXMuc2NhbGUuc2V0KDEsCjEsMSkubXVsdGlwbHlTY2FsYXIodGhpcy5zaXplKTt0aGlzLm1hdGVyaWFsLnVuaWZvcm1zLmludGVuc2l0eS52YWx1ZT10aGlzLmxpZ2h0UHJvYmUuaW50ZW5zaXR5fTtmaC5wcm90b3R5cGU9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKEliLnByb3RvdHlwZSkse2NvbnN0cnVjdG9yOmZoLGNvcHk6ZnVuY3Rpb24oYSl7SWIucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMuZ2VvbWV0cnkuY29weShhLmdlb21ldHJ5KTt0aGlzLm1hdGVyaWFsLmNvcHkoYS5tYXRlcmlhbCk7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfX0pO2doLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEliLnByb3RvdHlwZSk7Z2gucHJvdG90eXBlLmNvbnN0cnVjdG9yPWdoO2VmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFhiLnByb3RvdHlwZSk7ZWYucHJvdG90eXBlLmNvbnN0cnVjdG9yPWVmO2VmLnByb3RvdHlwZS51cGRhdGU9CmZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShWLGVhLGRhLHJhKXtkYT0oZWEtVikvZGE7VS5zZXRYWVooRiwwLDAsMCk7SSsrO2ZvcihNPVY7TTxlYTtNKz1kYSlQPUYrSSxVLnNldFhZWihQLE1hdGguc2luKE0pKmUsMCxNYXRoLmNvcyhNKSplKSxVLnNldFhZWihQKzEsTWF0aC5zaW4oTWF0aC5taW4oTStkYSxlYSkpKmUsMCxNYXRoLmNvcyhNYXRoLm1pbihNK2RhLGVhKSkqZSksVS5zZXRYWVooUCsyLDAsMCwwKSxJKz0zO1EuYWRkR3JvdXAoRixJLHJhKTtGKz1JO0k9MH12YXIgYz10aGlzLmF1ZGlvLGU9dGhpcy5yYW5nZSxnPXRoaXMuZGl2aXNpb25zSW5uZXJBbmdsZSx0PXRoaXMuZGl2aXNpb25zT3V0ZXJBbmdsZSx2PWhiLmRlZ1RvUmFkKGMucGFubmVyLmNvbmVJbm5lckFuZ2xlKTtjPWhiLmRlZ1RvUmFkKGMucGFubmVyLmNvbmVPdXRlckFuZ2xlKTt2YXIgej12LzIsRT1jLzIsRj0wLEk9MCxNLFAsUT10aGlzLmdlb21ldHJ5LFU9US5hdHRyaWJ1dGVzLnBvc2l0aW9uO1EuY2xlYXJHcm91cHMoKTsKYSgtRSwteix0LDApO2EoLXoseixnLDEpO2EoeixFLHQsMCk7VS5uZWVkc1VwZGF0ZT0hMDt2PT09YyYmKHRoaXMubWF0ZXJpYWxbMF0udmlzaWJsZT0hMSl9O2VmLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5nZW9tZXRyeS5kaXNwb3NlKCk7dGhpcy5tYXRlcmlhbFswXS5kaXNwb3NlKCk7dGhpcy5tYXRlcmlhbFsxXS5kaXNwb3NlKCl9O3ZhciByZz1uZXcgayxFaD1uZXcgayxNaz1uZXcgcjtmZy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShJYi5wcm90b3R5cGUpO2ZnLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1mZztmZy5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy5vYmplY3QudXBkYXRlTWF0cml4V29ybGQoITApO01rLmdldE5vcm1hbE1hdHJpeCh0aGlzLm9iamVjdC5tYXRyaXhXb3JsZCk7dmFyIGE9dGhpcy5vYmplY3QubWF0cml4V29ybGQsYz10aGlzLmdlb21ldHJ5LmF0dHJpYnV0ZXMucG9zaXRpb24sZT10aGlzLm9iamVjdC5nZW9tZXRyeSxnPQplLnZlcnRpY2VzO2U9ZS5mYWNlcztmb3IodmFyIHQ9MCx2PTAsej1lLmxlbmd0aDt2PHo7disrKXt2YXIgRT1lW3ZdLEY9RS5ub3JtYWw7cmcuY29weShnW0UuYV0pLmFkZChnW0UuYl0pLmFkZChnW0UuY10pLmRpdmlkZVNjYWxhcigzKS5hcHBseU1hdHJpeDQoYSk7RWguY29weShGKS5hcHBseU1hdHJpeDMoTWspLm5vcm1hbGl6ZSgpLm11bHRpcGx5U2NhbGFyKHRoaXMuc2l6ZSkuYWRkKHJnKTtjLnNldFhZWih0LHJnLngscmcueSxyZy56KTt0Kz0xO2Muc2V0WFlaKHQsRWgueCxFaC55LEVoLnopO3QrPTF9Yy5uZWVkc1VwZGF0ZT0hMH07dmFyIE5rPW5ldyBrLEZoPW5ldyBrLE9rPW5ldyBrO2ZmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEEucHJvdG90eXBlKTtmZi5wcm90b3R5cGUuY29uc3RydWN0b3I9ZmY7ZmYucHJvdG90eXBlLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLmxpZ2h0UGxhbmUuZ2VvbWV0cnkuZGlzcG9zZSgpO3RoaXMubGlnaHRQbGFuZS5tYXRlcmlhbC5kaXNwb3NlKCk7CnRoaXMudGFyZ2V0TGluZS5nZW9tZXRyeS5kaXNwb3NlKCk7dGhpcy50YXJnZXRMaW5lLm1hdGVyaWFsLmRpc3Bvc2UoKX07ZmYucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe05rLnNldEZyb21NYXRyaXhQb3NpdGlvbih0aGlzLmxpZ2h0Lm1hdHJpeFdvcmxkKTtGaC5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5saWdodC50YXJnZXQubWF0cml4V29ybGQpO09rLnN1YlZlY3RvcnMoRmgsTmspO3RoaXMubGlnaHRQbGFuZS5sb29rQXQoRmgpO3ZvaWQgMCE9PXRoaXMuY29sb3I/KHRoaXMubGlnaHRQbGFuZS5tYXRlcmlhbC5jb2xvci5zZXQodGhpcy5jb2xvciksdGhpcy50YXJnZXRMaW5lLm1hdGVyaWFsLmNvbG9yLnNldCh0aGlzLmNvbG9yKSk6KHRoaXMubGlnaHRQbGFuZS5tYXRlcmlhbC5jb2xvci5jb3B5KHRoaXMubGlnaHQuY29sb3IpLHRoaXMudGFyZ2V0TGluZS5tYXRlcmlhbC5jb2xvci5jb3B5KHRoaXMubGlnaHQuY29sb3IpKTt0aGlzLnRhcmdldExpbmUubG9va0F0KEZoKTsKdGhpcy50YXJnZXRMaW5lLnNjYWxlLno9T2subGVuZ3RoKCl9O3ZhciBoaD1uZXcgayxQYj1uZXcgemI7Z2cucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoSWIucHJvdG90eXBlKTtnZy5wcm90b3R5cGUuY29uc3RydWN0b3I9Z2c7Z2cucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2VvbWV0cnksYz10aGlzLnBvaW50TWFwO1BiLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlLmNvcHkodGhpcy5jYW1lcmEucHJvamVjdGlvbk1hdHJpeEludmVyc2UpO1FiKCJjIixjLGEsUGIsMCwwLC0xKTtRYigidCIsYyxhLFBiLDAsMCwxKTtRYigibjEiLGMsYSxQYiwtMSwtMSwtMSk7UWIoIm4yIixjLGEsUGIsMSwtMSwtMSk7UWIoIm4zIixjLGEsUGIsLTEsMSwtMSk7UWIoIm40IixjLGEsUGIsMSwxLC0xKTtRYigiZjEiLGMsYSxQYiwtMSwtMSwxKTtRYigiZjIiLGMsYSxQYiwxLC0xLDEpO1FiKCJmMyIsYyxhLFBiLC0xLDEsMSk7UWIoImY0IixjLGEsUGIsMSwxLDEpO1FiKCJ1MSIsCmMsYSxQYiwuNywxLjEsLTEpO1FiKCJ1MiIsYyxhLFBiLC0uNywxLjEsLTEpO1FiKCJ1MyIsYyxhLFBiLDAsMiwtMSk7UWIoImNmMSIsYyxhLFBiLC0xLDAsMSk7UWIoImNmMiIsYyxhLFBiLDEsMCwxKTtRYigiY2YzIixjLGEsUGIsMCwtMSwxKTtRYigiY2Y0IixjLGEsUGIsMCwxLDEpO1FiKCJjbjEiLGMsYSxQYiwtMSwwLC0xKTtRYigiY24yIixjLGEsUGIsMSwwLC0xKTtRYigiY24zIixjLGEsUGIsMCwtMSwtMSk7UWIoImNuNCIsYyxhLFBiLDAsMSwtMSk7YS5nZXRBdHRyaWJ1dGUoInBvc2l0aW9uIikubmVlZHNVcGRhdGU9ITB9O3ZhciBHaD1uZXcgeDtqZC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShJYi5wcm90b3R5cGUpO2pkLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1qZDtqZC5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKGEpe3ZvaWQgMCE9PWEmJmNvbnNvbGUud2FybigiVEhSRUUuQm94SGVscGVyOiAudXBkYXRlKCkgaGFzIG5vIGxvbmdlciBhcmd1bWVudHMuIik7dm9pZCAwIT09CnRoaXMub2JqZWN0JiZHaC5zZXRGcm9tT2JqZWN0KHRoaXMub2JqZWN0KTtpZighR2guaXNFbXB0eSgpKXthPUdoLm1pbjt2YXIgYz1HaC5tYXgsZT10aGlzLmdlb21ldHJ5LmF0dHJpYnV0ZXMucG9zaXRpb24sZz1lLmFycmF5O2dbMF09Yy54O2dbMV09Yy55O2dbMl09Yy56O2dbM109YS54O2dbNF09Yy55O2dbNV09Yy56O2dbNl09YS54O2dbN109YS55O2dbOF09Yy56O2dbOV09Yy54O2dbMTBdPWEueTtnWzExXT1jLno7Z1sxMl09Yy54O2dbMTNdPWMueTtnWzE0XT1hLno7Z1sxNV09YS54O2dbMTZdPWMueTtnWzE3XT1hLno7Z1sxOF09YS54O2dbMTldPWEueTtnWzIwXT1hLno7Z1syMV09Yy54O2dbMjJdPWEueTtnWzIzXT1hLno7ZS5uZWVkc1VwZGF0ZT0hMDt0aGlzLmdlb21ldHJ5LmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpfX07amQucHJvdG90eXBlLnNldEZyb21PYmplY3Q9ZnVuY3Rpb24oYSl7dGhpcy5vYmplY3Q9YTt0aGlzLnVwZGF0ZSgpO3JldHVybiB0aGlzfTtqZC5wcm90b3R5cGUuY29weT0KZnVuY3Rpb24oYSl7SWIucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLGEpO3RoaXMub2JqZWN0PWEub2JqZWN0O3JldHVybiB0aGlzfTtqZC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9O2hnLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEliLnByb3RvdHlwZSk7aGcucHJvdG90eXBlLmNvbnN0cnVjdG9yPWhnO2hnLnByb3RvdHlwZS51cGRhdGVNYXRyaXhXb3JsZD1mdW5jdGlvbihhKXt2YXIgYz10aGlzLmJveDtjLmlzRW1wdHkoKXx8KGMuZ2V0Q2VudGVyKHRoaXMucG9zaXRpb24pLGMuZ2V0U2l6ZSh0aGlzLnNjYWxlKSx0aGlzLnNjYWxlLm11bHRpcGx5U2NhbGFyKC41KSxBLnByb3RvdHlwZS51cGRhdGVNYXRyaXhXb3JsZC5jYWxsKHRoaXMsYSkpfTtpZy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShYYi5wcm90b3R5cGUpO2lnLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1pZztpZy5wcm90b3R5cGUudXBkYXRlTWF0cml4V29ybGQ9CmZ1bmN0aW9uKGEpe3ZhciBjPS10aGlzLnBsYW5lLmNvbnN0YW50OzFFLTg+TWF0aC5hYnMoYykmJihjPTFFLTgpO3RoaXMuc2NhbGUuc2V0KC41KnRoaXMuc2l6ZSwuNSp0aGlzLnNpemUsYyk7dGhpcy5jaGlsZHJlblswXS5tYXRlcmlhbC5zaWRlPTA+Yz8xOjA7dGhpcy5sb29rQXQodGhpcy5wbGFuZS5ub3JtYWwpO0EucHJvdG90eXBlLnVwZGF0ZU1hdHJpeFdvcmxkLmNhbGwodGhpcyxhKX07dmFyIFBrPW5ldyBrLGloLEFpO2tkLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEEucHJvdG90eXBlKTtrZC5wcm90b3R5cGUuY29uc3RydWN0b3I9a2Q7a2QucHJvdG90eXBlLnNldERpcmVjdGlvbj1mdW5jdGlvbihhKXsuOTk5OTk8YS55P3RoaXMucXVhdGVybmlvbi5zZXQoMCwwLDAsMSk6LS45OTk5OT5hLnk/dGhpcy5xdWF0ZXJuaW9uLnNldCgxLDAsMCwwKTooUGsuc2V0KGEueiwwLC1hLngpLm5vcm1hbGl6ZSgpLHRoaXMucXVhdGVybmlvbi5zZXRGcm9tQXhpc0FuZ2xlKFBrLE1hdGguYWNvcyhhLnkpKSl9OwprZC5wcm90b3R5cGUuc2V0TGVuZ3RoPWZ1bmN0aW9uKGEsYyxlKXt2b2lkIDA9PT1jJiYoYz0uMiphKTt2b2lkIDA9PT1lJiYoZT0uMipjKTt0aGlzLmxpbmUuc2NhbGUuc2V0KDEsTWF0aC5tYXgoMCxhLWMpLDEpO3RoaXMubGluZS51cGRhdGVNYXRyaXgoKTt0aGlzLmNvbmUuc2NhbGUuc2V0KGUsYyxlKTt0aGlzLmNvbmUucG9zaXRpb24ueT1hO3RoaXMuY29uZS51cGRhdGVNYXRyaXgoKX07a2QucHJvdG90eXBlLnNldENvbG9yPWZ1bmN0aW9uKGEpe3RoaXMubGluZS5tYXRlcmlhbC5jb2xvci5zZXQoYSk7dGhpcy5jb25lLm1hdGVyaWFsLmNvbG9yLnNldChhKX07a2QucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oYSl7QS5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsYSwhMSk7dGhpcy5saW5lLmNvcHkoYS5saW5lKTt0aGlzLmNvbmUuY29weShhLmNvbmUpO3JldHVybiB0aGlzfTtrZC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9OwpqZy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShJYi5wcm90b3R5cGUpO2pnLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1qZztaYS5jcmVhdGU9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLmxvZygiVEhSRUUuQ3VydmUuY3JlYXRlKCkgaGFzIGJlZW4gZGVwcmVjYXRlZCIpO2EucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoWmEucHJvdG90eXBlKTthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2EucHJvdG90eXBlLmdldFBvaW50PWM7cmV0dXJuIGF9O09iamVjdC5hc3NpZ24oaWQucHJvdG90eXBlLHtjcmVhdGVQb2ludHNHZW9tZXRyeTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkN1cnZlUGF0aDogLmNyZWF0ZVBvaW50c0dlb21ldHJ5KCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5HZW9tZXRyeSgpLnNldEZyb21Qb2ludHMoIHBvaW50cyApIGluc3RlYWQuIik7YT10aGlzLmdldFBvaW50cyhhKTtyZXR1cm4gdGhpcy5jcmVhdGVHZW9tZXRyeShhKX0sY3JlYXRlU3BhY2VkUG9pbnRzR2VvbWV0cnk6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5DdXJ2ZVBhdGg6IC5jcmVhdGVTcGFjZWRQb2ludHNHZW9tZXRyeSgpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuR2VvbWV0cnkoKS5zZXRGcm9tUG9pbnRzKCBwb2ludHMgKSBpbnN0ZWFkLiIpOwphPXRoaXMuZ2V0U3BhY2VkUG9pbnRzKGEpO3JldHVybiB0aGlzLmNyZWF0ZUdlb21ldHJ5KGEpfSxjcmVhdGVHZW9tZXRyeTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkN1cnZlUGF0aDogLmNyZWF0ZUdlb21ldHJ5KCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5HZW9tZXRyeSgpLnNldEZyb21Qb2ludHMoIHBvaW50cyApIGluc3RlYWQuIik7Zm9yKHZhciBjPW5ldyB4YSxlPTAsZz1hLmxlbmd0aDtlPGc7ZSsrKXt2YXIgdD1hW2VdO2MudmVydGljZXMucHVzaChuZXcgayh0LngsdC55LHQuenx8MCkpfXJldHVybiBjfX0pO09iamVjdC5hc3NpZ24oSWMucHJvdG90eXBlLHtmcm9tUG9pbnRzOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuUGF0aDogLmZyb21Qb2ludHMoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tUG9pbnRzKCkuIik7dGhpcy5zZXRGcm9tUG9pbnRzKGEpfX0pO2lrLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGJjLnByb3RvdHlwZSk7CmprLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGJjLnByb3RvdHlwZSk7QmkucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoYmMucHJvdG90eXBlKTtPYmplY3QuYXNzaWduKEJpLnByb3RvdHlwZSx7aW5pdEZyb21BcnJheTpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlNwbGluZTogLmluaXRGcm9tQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxnZXRDb250cm9sUG9pbnRzQXJyYXk6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5TcGxpbmU6IC5nZXRDb250cm9sUG9pbnRzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxyZXBhcmFtZXRyaXplQnlBcmNMZW5ndGg6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5TcGxpbmU6IC5yZXBhcmFtZXRyaXplQnlBcmNMZW5ndGgoKSBoYXMgYmVlbiByZW1vdmVkLiIpfX0pO2ZoLnByb3RvdHlwZS5zZXRDb2xvcnM9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5HcmlkSGVscGVyOiBzZXRDb2xvcnMoKSBoYXMgYmVlbiBkZXByZWNhdGVkLCBwYXNzIHRoZW0gaW4gdGhlIGNvbnN0cnVjdG9yIGluc3RlYWQuIil9OwokZS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuU2tlbGV0b25IZWxwZXI6IHVwZGF0ZSgpIG5vIGxvbmdlciBuZWVkcyB0byBiZSBjYWxsZWQuIil9O09iamVjdC5hc3NpZ24oRGIucHJvdG90eXBlLHtleHRyYWN0VXJsQmFzZTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkxvYWRlcjogLmV4dHJhY3RVcmxCYXNlKCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIFRIUkVFLkxvYWRlclV0aWxzLmV4dHJhY3RVcmxCYXNlKCkgaW5zdGVhZC4iKTtyZXR1cm4gVWkuZXh0cmFjdFVybEJhc2UoYSl9fSk7T2JqZWN0LmFzc2lnbihiaC5wcm90b3R5cGUse3NldFRleHR1cmVQYXRoOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0TG9hZGVyOiAuc2V0VGV4dHVyZVBhdGgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRSZXNvdXJjZVBhdGgoKS4iKTtyZXR1cm4gdGhpcy5zZXRSZXNvdXJjZVBhdGgoYSl9fSk7T2JqZWN0LmFzc2lnbih5aS5wcm90b3R5cGUsCntjZW50ZXI6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5Cb3gyOiAuY2VudGVyKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0Q2VudGVyKCkuIik7cmV0dXJuIHRoaXMuZ2V0Q2VudGVyKGEpfSxlbXB0eTpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQm94MjogLmVtcHR5KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaXNFbXB0eSgpLiIpO3JldHVybiB0aGlzLmlzRW1wdHkoKX0saXNJbnRlcnNlY3Rpb25Cb3g6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5Cb3gyOiAuaXNJbnRlcnNlY3Rpb25Cb3goKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5pbnRlcnNlY3RzQm94KCkuIik7cmV0dXJuIHRoaXMuaW50ZXJzZWN0c0JveChhKX0sc2l6ZTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkJveDI6IC5zaXplKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0U2l6ZSgpLiIpO3JldHVybiB0aGlzLmdldFNpemUoYSl9fSk7T2JqZWN0LmFzc2lnbih4LnByb3RvdHlwZSwKe2NlbnRlcjpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5jZW50ZXIoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5nZXRDZW50ZXIoKS4iKTtyZXR1cm4gdGhpcy5nZXRDZW50ZXIoYSl9LGVtcHR5OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5Cb3gzOiAuZW1wdHkoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5pc0VtcHR5KCkuIik7cmV0dXJuIHRoaXMuaXNFbXB0eSgpfSxpc0ludGVyc2VjdGlvbkJveDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5pc0ludGVyc2VjdGlvbkJveCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmludGVyc2VjdHNCb3goKS4iKTtyZXR1cm4gdGhpcy5pbnRlcnNlY3RzQm94KGEpfSxpc0ludGVyc2VjdGlvblNwaGVyZTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5pc0ludGVyc2VjdGlvblNwaGVyZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmludGVyc2VjdHNTcGhlcmUoKS4iKTtyZXR1cm4gdGhpcy5pbnRlcnNlY3RzU3BoZXJlKGEpfSwKc2l6ZTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5zaXplKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0U2l6ZSgpLiIpO3JldHVybiB0aGlzLmdldFNpemUoYSl9fSk7emkucHJvdG90eXBlLmNlbnRlcj1mdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkxpbmUzOiAuY2VudGVyKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0Q2VudGVyKCkuIik7cmV0dXJuIHRoaXMuZ2V0Q2VudGVyKGEpfTtPYmplY3QuYXNzaWduKGhiLHtyYW5kb20xNjpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0aDogLnJhbmRvbTE2KCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIE1hdGgucmFuZG9tKCkgaW5zdGVhZC4iKTtyZXR1cm4gTWF0aC5yYW5kb20oKX0sbmVhcmVzdFBvd2VyT2ZUd286ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRoOiAubmVhcmVzdFBvd2VyT2ZUd28oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5mbG9vclBvd2VyT2ZUd28oKS4iKTsKcmV0dXJuIGhiLmZsb29yUG93ZXJPZlR3byhhKX0sbmV4dFBvd2VyT2ZUd286ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRoOiAubmV4dFBvd2VyT2ZUd28oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5jZWlsUG93ZXJPZlR3bygpLiIpO3JldHVybiBoYi5jZWlsUG93ZXJPZlR3byhhKX19KTtPYmplY3QuYXNzaWduKHIucHJvdG90eXBlLHtmbGF0dGVuVG9BcnJheU9mZnNldDpmdW5jdGlvbihhLGMpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0cml4MzogLmZsYXR0ZW5Ub0FycmF5T2Zmc2V0KCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIC50b0FycmF5KCkgaW5zdGVhZC4iKTtyZXR1cm4gdGhpcy50b0FycmF5KGEsYyl9LG11bHRpcGx5VmVjdG9yMzpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDM6IC5tdWx0aXBseVZlY3RvcjMoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgdmVjdG9yLmFwcGx5TWF0cml4MyggbWF0cml4ICkgaW5zdGVhZC4iKTtyZXR1cm4gYS5hcHBseU1hdHJpeDModGhpcyl9LAptdWx0aXBseVZlY3RvcjNBcnJheTpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDM6IC5tdWx0aXBseVZlY3RvcjNBcnJheSgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LGFwcGx5VG9CdWZmZXI6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXgzOiAuYXBwbHlUb0J1ZmZlcigpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBtYXRyaXguYXBwbHlUb0J1ZmZlckF0dHJpYnV0ZSggYXR0cmlidXRlICkgaW5zdGVhZC4iKTtyZXR1cm4gdGhpcy5hcHBseVRvQnVmZmVyQXR0cmlidXRlKGEpfSxhcHBseVRvVmVjdG9yM0FycmF5OmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4MzogLmFwcGx5VG9WZWN0b3IzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfX0pO09iamVjdC5hc3NpZ24ocS5wcm90b3R5cGUse2V4dHJhY3RQb3NpdGlvbjpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDQ6IC5leHRyYWN0UG9zaXRpb24oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5jb3B5UG9zaXRpb24oKS4iKTsKcmV0dXJuIHRoaXMuY29weVBvc2l0aW9uKGEpfSxmbGF0dGVuVG9BcnJheU9mZnNldDpmdW5jdGlvbihhLGMpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLmZsYXR0ZW5Ub0FycmF5T2Zmc2V0KCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIC50b0FycmF5KCkgaW5zdGVhZC4iKTtyZXR1cm4gdGhpcy50b0FycmF5KGEsYyl9LGdldFBvc2l0aW9uOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAuZ2V0UG9zaXRpb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVmVjdG9yMy5zZXRGcm9tTWF0cml4UG9zaXRpb24oIG1hdHJpeCApIGluc3RlYWQuIik7cmV0dXJuKG5ldyBrKS5zZXRGcm9tTWF0cml4Q29sdW1uKHRoaXMsMyl9LHNldFJvdGF0aW9uRnJvbVF1YXRlcm5pb246ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAuc2V0Um90YXRpb25Gcm9tUXVhdGVybmlvbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLm1ha2VSb3RhdGlvbkZyb21RdWF0ZXJuaW9uKCkuIik7CnJldHVybiB0aGlzLm1ha2VSb3RhdGlvbkZyb21RdWF0ZXJuaW9uKGEpfSxtdWx0aXBseVRvQXJyYXk6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDQ6IC5tdWx0aXBseVRvQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxtdWx0aXBseVZlY3RvcjM6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHlWZWN0b3IzKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHZlY3Rvci5hcHBseU1hdHJpeDQoIG1hdHJpeCApIGluc3RlYWQuIik7cmV0dXJuIGEuYXBwbHlNYXRyaXg0KHRoaXMpfSxtdWx0aXBseVZlY3RvcjQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHlWZWN0b3I0KCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHZlY3Rvci5hcHBseU1hdHJpeDQoIG1hdHJpeCApIGluc3RlYWQuIik7cmV0dXJuIGEuYXBwbHlNYXRyaXg0KHRoaXMpfSxtdWx0aXBseVZlY3RvcjNBcnJheTpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5tdWx0aXBseVZlY3RvcjNBcnJheSgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LApyb3RhdGVBeGlzOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLnJvdGF0ZUF4aXMoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVmVjdG9yMy50cmFuc2Zvcm1EaXJlY3Rpb24oIG1hdHJpeCApIGluc3RlYWQuIik7YS50cmFuc2Zvcm1EaXJlY3Rpb24odGhpcyl9LGNyb3NzVmVjdG9yOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLmNyb3NzVmVjdG9yKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHZlY3Rvci5hcHBseU1hdHJpeDQoIG1hdHJpeCApIGluc3RlYWQuIik7cmV0dXJuIGEuYXBwbHlNYXRyaXg0KHRoaXMpfSx0cmFuc2xhdGU6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAudHJhbnNsYXRlKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0scm90YXRlWDpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5yb3RhdGVYKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0scm90YXRlWTpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5yb3RhdGVZKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sCnJvdGF0ZVo6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAucm90YXRlWigpIGhhcyBiZWVuIHJlbW92ZWQuIil9LHJvdGF0ZUJ5QXhpczpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5yb3RhdGVCeUF4aXMoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxhcHBseVRvQnVmZmVyOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLmFwcGx5VG9CdWZmZXIoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgbWF0cml4LmFwcGx5VG9CdWZmZXJBdHRyaWJ1dGUoIGF0dHJpYnV0ZSApIGluc3RlYWQuIik7cmV0dXJuIHRoaXMuYXBwbHlUb0J1ZmZlckF0dHJpYnV0ZShhKX0sYXBwbHlUb1ZlY3RvcjNBcnJheTpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5hcHBseVRvVmVjdG9yM0FycmF5KCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sbWFrZUZydXN0dW06ZnVuY3Rpb24oYSxjLGUsZyx0LHYpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLm1ha2VGcnVzdHVtKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5tYWtlUGVyc3BlY3RpdmUoIGxlZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbSwgbmVhciwgZmFyICkgaW5zdGVhZC4iKTsKcmV0dXJuIHRoaXMubWFrZVBlcnNwZWN0aXZlKGEsYyxnLGUsdCx2KX19KTtIYi5wcm90b3R5cGUuaXNJbnRlcnNlY3Rpb25MaW5lPWZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuUGxhbmU6IC5pc0ludGVyc2VjdGlvbkxpbmUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5pbnRlcnNlY3RzTGluZSgpLiIpO3JldHVybiB0aGlzLmludGVyc2VjdHNMaW5lKGEpfTtoLnByb3RvdHlwZS5tdWx0aXBseVZlY3RvcjM9ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5RdWF0ZXJuaW9uOiAubXVsdGlwbHlWZWN0b3IzKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIGlzIG5vdyB2ZWN0b3IuYXBwbHlRdWF0ZXJuaW9uKCBxdWF0ZXJuaW9uICkgaW5zdGVhZC4iKTtyZXR1cm4gYS5hcHBseVF1YXRlcm5pb24odGhpcyl9O09iamVjdC5hc3NpZ24oRC5wcm90b3R5cGUse2lzSW50ZXJzZWN0aW9uQm94OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuUmF5OiAuaXNJbnRlcnNlY3Rpb25Cb3goKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5pbnRlcnNlY3RzQm94KCkuIik7CnJldHVybiB0aGlzLmludGVyc2VjdHNCb3goYSl9LGlzSW50ZXJzZWN0aW9uUGxhbmU6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5SYXk6IC5pc0ludGVyc2VjdGlvblBsYW5lKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaW50ZXJzZWN0c1BsYW5lKCkuIik7cmV0dXJuIHRoaXMuaW50ZXJzZWN0c1BsYW5lKGEpfSxpc0ludGVyc2VjdGlvblNwaGVyZTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlJheTogLmlzSW50ZXJzZWN0aW9uU3BoZXJlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaW50ZXJzZWN0c1NwaGVyZSgpLiIpO3JldHVybiB0aGlzLmludGVyc2VjdHNTcGhlcmUoYSl9fSk7T2JqZWN0LmFzc2lnbihCLnByb3RvdHlwZSx7YXJlYTpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuVHJpYW5nbGU6IC5hcmVhKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0QXJlYSgpLiIpO3JldHVybiB0aGlzLmdldEFyZWEoKX0sYmFyeWNvb3JkRnJvbVBvaW50OmZ1bmN0aW9uKGEsCmMpe2NvbnNvbGUud2FybigiVEhSRUUuVHJpYW5nbGU6IC5iYXJ5Y29vcmRGcm9tUG9pbnQoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5nZXRCYXJ5Y29vcmQoKS4iKTtyZXR1cm4gdGhpcy5nZXRCYXJ5Y29vcmQoYSxjKX0sbWlkcG9pbnQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLm1pZHBvaW50KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0TWlkcG9pbnQoKS4iKTtyZXR1cm4gdGhpcy5nZXRNaWRwb2ludChhKX0sbm9ybWFsOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuVHJpYW5nbGU6IC5ub3JtYWwoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5nZXROb3JtYWwoKS4iKTtyZXR1cm4gdGhpcy5nZXROb3JtYWwoYSl9LHBsYW5lOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuVHJpYW5nbGU6IC5wbGFuZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldFBsYW5lKCkuIik7cmV0dXJuIHRoaXMuZ2V0UGxhbmUoYSl9fSk7T2JqZWN0LmFzc2lnbihCLAp7YmFyeWNvb3JkRnJvbVBvaW50OmZ1bmN0aW9uKGEsYyxlLGcsdCl7Y29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLmJhcnljb29yZEZyb21Qb2ludCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldEJhcnljb29yZCgpLiIpO3JldHVybiBCLmdldEJhcnljb29yZChhLGMsZSxnLHQpfSxub3JtYWw6ZnVuY3Rpb24oYSxjLGUsZyl7Y29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLm5vcm1hbCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldE5vcm1hbCgpLiIpO3JldHVybiBCLmdldE5vcm1hbChhLGMsZSxnKX19KTtPYmplY3QuYXNzaWduKEVkLnByb3RvdHlwZSx7ZXh0cmFjdEFsbFBvaW50czpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlNoYXBlOiAuZXh0cmFjdEFsbFBvaW50cygpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSAuZXh0cmFjdFBvaW50cygpIGluc3RlYWQuIik7cmV0dXJuIHRoaXMuZXh0cmFjdFBvaW50cyhhKX0sZXh0cnVkZTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlNoYXBlOiAuZXh0cnVkZSgpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBFeHRydWRlR2VvbWV0cnkoKSBpbnN0ZWFkLiIpOwpyZXR1cm4gbmV3IFdkKHRoaXMsYSl9LG1ha2VHZW9tZXRyeTpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlNoYXBlOiAubWFrZUdlb21ldHJ5KCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIFNoYXBlR2VvbWV0cnkoKSBpbnN0ZWFkLiIpO3JldHVybiBuZXcgWGQodGhpcyxhKX19KTtPYmplY3QuYXNzaWduKGYucHJvdG90eXBlLHtmcm9tQXR0cmlidXRlOmZ1bmN0aW9uKGEsYyxlKXtjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjI6IC5mcm9tQXR0cmlidXRlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZnJvbUJ1ZmZlckF0dHJpYnV0ZSgpLiIpO3JldHVybiB0aGlzLmZyb21CdWZmZXJBdHRyaWJ1dGUoYSxjLGUpfSxkaXN0YW5jZVRvTWFuaGF0dGFuOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMjogLmRpc3RhbmNlVG9NYW5oYXR0YW4oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5tYW5oYXR0YW5EaXN0YW5jZVRvKCkuIik7cmV0dXJuIHRoaXMubWFuaGF0dGFuRGlzdGFuY2VUbyhhKX0sCmxlbmd0aE1hbmhhdHRhbjpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMjogLmxlbmd0aE1hbmhhdHRhbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLm1hbmhhdHRhbkxlbmd0aCgpLiIpO3JldHVybiB0aGlzLm1hbmhhdHRhbkxlbmd0aCgpfX0pO09iamVjdC5hc3NpZ24oay5wcm90b3R5cGUse3NldEV1bGVyRnJvbVJvdGF0aW9uTWF0cml4OmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuVmVjdG9yMzogLnNldEV1bGVyRnJvbVJvdGF0aW9uTWF0cml4KCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIEV1bGVyLnNldEZyb21Sb3RhdGlvbk1hdHJpeCgpIGluc3RlYWQuIil9LHNldEV1bGVyRnJvbVF1YXRlcm5pb246ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5WZWN0b3IzOiAuc2V0RXVsZXJGcm9tUXVhdGVybmlvbigpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBFdWxlci5zZXRGcm9tUXVhdGVybmlvbigpIGluc3RlYWQuIil9LGdldFBvc2l0aW9uRnJvbU1hdHJpeDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5nZXRQb3NpdGlvbkZyb21NYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tTWF0cml4UG9zaXRpb24oKS4iKTsKcmV0dXJuIHRoaXMuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGEpfSxnZXRTY2FsZUZyb21NYXRyaXg6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAuZ2V0U2NhbGVGcm9tTWF0cml4KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuc2V0RnJvbU1hdHJpeFNjYWxlKCkuIik7cmV0dXJuIHRoaXMuc2V0RnJvbU1hdHJpeFNjYWxlKGEpfSxnZXRDb2x1bW5Gcm9tTWF0cml4OmZ1bmN0aW9uKGEsYyl7Y29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAuZ2V0Q29sdW1uRnJvbU1hdHJpeCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLnNldEZyb21NYXRyaXhDb2x1bW4oKS4iKTtyZXR1cm4gdGhpcy5zZXRGcm9tTWF0cml4Q29sdW1uKGMsYSl9LGFwcGx5UHJvamVjdGlvbjpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5hcHBseVByb2plY3Rpb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgLmFwcGx5TWF0cml4NCggbSApIGluc3RlYWQuIik7cmV0dXJuIHRoaXMuYXBwbHlNYXRyaXg0KGEpfSwKZnJvbUF0dHJpYnV0ZTpmdW5jdGlvbihhLGMsZSl7Y29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAuZnJvbUF0dHJpYnV0ZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmZyb21CdWZmZXJBdHRyaWJ1dGUoKS4iKTtyZXR1cm4gdGhpcy5mcm9tQnVmZmVyQXR0cmlidXRlKGEsYyxlKX0sZGlzdGFuY2VUb01hbmhhdHRhbjpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5kaXN0YW5jZVRvTWFuaGF0dGFuKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAubWFuaGF0dGFuRGlzdGFuY2VUbygpLiIpO3JldHVybiB0aGlzLm1hbmhhdHRhbkRpc3RhbmNlVG8oYSl9LGxlbmd0aE1hbmhhdHRhbjpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogLmxlbmd0aE1hbmhhdHRhbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLm1hbmhhdHRhbkxlbmd0aCgpLiIpO3JldHVybiB0aGlzLm1hbmhhdHRhbkxlbmd0aCgpfX0pO09iamVjdC5hc3NpZ24ocC5wcm90b3R5cGUsCntmcm9tQXR0cmlidXRlOmZ1bmN0aW9uKGEsYyxlKXtjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjQ6IC5mcm9tQXR0cmlidXRlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZnJvbUJ1ZmZlckF0dHJpYnV0ZSgpLiIpO3JldHVybiB0aGlzLmZyb21CdWZmZXJBdHRyaWJ1dGUoYSxjLGUpfSxsZW5ndGhNYW5oYXR0YW46ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjQ6IC5sZW5ndGhNYW5oYXR0YW4oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5tYW5oYXR0YW5MZW5ndGgoKS4iKTtyZXR1cm4gdGhpcy5tYW5oYXR0YW5MZW5ndGgoKX19KTtPYmplY3QuYXNzaWduKHhhLnByb3RvdHlwZSx7Y29tcHV0ZVRhbmdlbnRzOmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuR2VvbWV0cnk6IC5jb21wdXRlVGFuZ2VudHMoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxjb21wdXRlTGluZURpc3RhbmNlczpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkdlb21ldHJ5OiAuY29tcHV0ZUxpbmVEaXN0YW5jZXMoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuTGluZS5jb21wdXRlTGluZURpc3RhbmNlcygpIGluc3RlYWQuIil9fSk7Ck9iamVjdC5hc3NpZ24oQS5wcm90b3R5cGUse2dldENoaWxkQnlOYW1lOmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0M0Q6IC5nZXRDaGlsZEJ5TmFtZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldE9iamVjdEJ5TmFtZSgpLiIpO3JldHVybiB0aGlzLmdldE9iamVjdEJ5TmFtZShhKX0scmVuZGVyRGVwdGg6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdDNEOiAucmVuZGVyRGVwdGggaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5yZW5kZXJPcmRlciwgaW5zdGVhZC4iKX0sdHJhbnNsYXRlOmZ1bmN0aW9uKGEsYyl7Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLnRyYW5zbGF0ZSgpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSAudHJhbnNsYXRlT25BeGlzKCBheGlzLCBkaXN0YW5jZSApIGluc3RlYWQuIik7cmV0dXJuIHRoaXMudHJhbnNsYXRlT25BeGlzKGMsYSl9LGdldFdvcmxkUm90YXRpb246ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5PYmplY3QzRDogLmdldFdvcmxkUm90YXRpb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuT2JqZWN0M0QuZ2V0V29ybGRRdWF0ZXJuaW9uKCB0YXJnZXQgKSBpbnN0ZWFkLiIpfX0pOwpPYmplY3QuZGVmaW5lUHJvcGVydGllcyhBLnByb3RvdHlwZSx7ZXVsZXJPcmRlcjp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLmV1bGVyT3JkZXIgaXMgbm93IC5yb3RhdGlvbi5vcmRlci4iKTtyZXR1cm4gdGhpcy5yb3RhdGlvbi5vcmRlcn0sc2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0M0Q6IC5ldWxlck9yZGVyIGlzIG5vdyAucm90YXRpb24ub3JkZXIuIik7dGhpcy5yb3RhdGlvbi5vcmRlcj1hfX0sdXNlUXVhdGVybmlvbjp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLnVzZVF1YXRlcm5pb24gaGFzIGJlZW4gcmVtb3ZlZC4gVGhlIGxpYnJhcnkgbm93IHVzZXMgcXVhdGVybmlvbnMgYnkgZGVmYXVsdC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLnVzZVF1YXRlcm5pb24gaGFzIGJlZW4gcmVtb3ZlZC4gVGhlIGxpYnJhcnkgbm93IHVzZXMgcXVhdGVybmlvbnMgYnkgZGVmYXVsdC4iKX19fSk7Ck9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEJmLnByb3RvdHlwZSx7b2JqZWN0czp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5MT0Q6IC5vYmplY3RzIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmxldmVscy4iKTtyZXR1cm4gdGhpcy5sZXZlbHN9fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShGZy5wcm90b3R5cGUsInVzZVZlcnRleFRleHR1cmUiLHtnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLlNrZWxldG9uOiB1c2VWZXJ0ZXhUZXh0dXJlIGhhcyBiZWVuIHJlbW92ZWQuIil9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuU2tlbGV0b246IHVzZVZlcnRleFRleHR1cmUgaGFzIGJlZW4gcmVtb3ZlZC4iKX19KTtDZi5wcm90b3R5cGUuaW5pdEJvbmVzPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuU2tpbm5lZE1lc2g6IGluaXRCb25lcygpIGhhcyBiZWVuIHJlbW92ZWQuIil9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShaYS5wcm90b3R5cGUsCiJfX2FyY0xlbmd0aERpdmlzaW9ucyIse2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQ3VydmU6IC5fX2FyY0xlbmd0aERpdmlzaW9ucyBpcyBub3cgLmFyY0xlbmd0aERpdmlzaW9ucy4iKTtyZXR1cm4gdGhpcy5hcmNMZW5ndGhEaXZpc2lvbnN9LHNldDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkN1cnZlOiAuX19hcmNMZW5ndGhEaXZpc2lvbnMgaXMgbm93IC5hcmNMZW5ndGhEaXZpc2lvbnMuIik7dGhpcy5hcmNMZW5ndGhEaXZpc2lvbnM9YX19KTt2Yi5wcm90b3R5cGUuc2V0TGVucz1mdW5jdGlvbihhLGMpe2NvbnNvbGUud2FybigiVEhSRUUuUGVyc3BlY3RpdmVDYW1lcmEuc2V0TGVucyBpcyBkZXByZWNhdGVkLiBVc2UgLnNldEZvY2FsTGVuZ3RoIGFuZCAuZmlsbUdhdWdlIGZvciBhIHBob3RvZ3JhcGhpYyBzZXR1cC4iKTt2b2lkIDAhPT1jJiYodGhpcy5maWxtR2F1Z2U9Yyk7dGhpcy5zZXRGb2NhbExlbmd0aChhKX07T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoS2IucHJvdG90eXBlLAp7b25seVNoYWRvdzp7c2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLm9ubHlTaGFkb3cgaGFzIGJlZW4gcmVtb3ZlZC4iKX19LHNoYWRvd0NhbWVyYUZvdjp7c2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFGb3YgaXMgbm93IC5zaGFkb3cuY2FtZXJhLmZvdi4iKTt0aGlzLnNoYWRvdy5jYW1lcmEuZm92PWF9fSxzaGFkb3dDYW1lcmFMZWZ0OntzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYUxlZnQgaXMgbm93IC5zaGFkb3cuY2FtZXJhLmxlZnQuIik7dGhpcy5zaGFkb3cuY2FtZXJhLmxlZnQ9YX19LHNoYWRvd0NhbWVyYVJpZ2h0OntzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYVJpZ2h0IGlzIG5vdyAuc2hhZG93LmNhbWVyYS5yaWdodC4iKTt0aGlzLnNoYWRvdy5jYW1lcmEucmlnaHQ9YX19LHNoYWRvd0NhbWVyYVRvcDp7c2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFUb3AgaXMgbm93IC5zaGFkb3cuY2FtZXJhLnRvcC4iKTsKdGhpcy5zaGFkb3cuY2FtZXJhLnRvcD1hfX0sc2hhZG93Q2FtZXJhQm90dG9tOntzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYUJvdHRvbSBpcyBub3cgLnNoYWRvdy5jYW1lcmEuYm90dG9tLiIpO3RoaXMuc2hhZG93LmNhbWVyYS5ib3R0b209YX19LHNoYWRvd0NhbWVyYU5lYXI6e3NldDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93Q2FtZXJhTmVhciBpcyBub3cgLnNoYWRvdy5jYW1lcmEubmVhci4iKTt0aGlzLnNoYWRvdy5jYW1lcmEubmVhcj1hfX0sc2hhZG93Q2FtZXJhRmFyOntzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYUZhciBpcyBub3cgLnNoYWRvdy5jYW1lcmEuZmFyLiIpO3RoaXMuc2hhZG93LmNhbWVyYS5mYXI9YX19LHNoYWRvd0NhbWVyYVZpc2libGU6e3NldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFWaXNpYmxlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuQ2FtZXJhSGVscGVyKCBsaWdodC5zaGFkb3cuY2FtZXJhICkgaW5zdGVhZC4iKX19LApzaGFkb3dCaWFzOntzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0JpYXMgaXMgbm93IC5zaGFkb3cuYmlhcy4iKTt0aGlzLnNoYWRvdy5iaWFzPWF9fSxzaGFkb3dEYXJrbmVzczp7c2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0RhcmtuZXNzIGhhcyBiZWVuIHJlbW92ZWQuIil9fSxzaGFkb3dNYXBXaWR0aDp7c2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dNYXBXaWR0aCBpcyBub3cgLnNoYWRvdy5tYXBTaXplLndpZHRoLiIpO3RoaXMuc2hhZG93Lm1hcFNpemUud2lkdGg9YX19LHNoYWRvd01hcEhlaWdodDp7c2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dNYXBIZWlnaHQgaXMgbm93IC5zaGFkb3cubWFwU2l6ZS5oZWlnaHQuIik7dGhpcy5zaGFkb3cubWFwU2l6ZS5oZWlnaHQ9YX19fSk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoUi5wcm90b3R5cGUsCntsZW5ndGg6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAubGVuZ3RoIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSAuY291bnQgaW5zdGVhZC4iKTtyZXR1cm4gdGhpcy5hcnJheS5sZW5ndGh9fSxjb3B5SW5kaWNlc0FycmF5OmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAuY29weUluZGljZXNBcnJheSgpIGhhcyBiZWVuIHJlbW92ZWQuIil9fSk7T2JqZWN0LmFzc2lnbih2YS5wcm90b3R5cGUse2FkZEluZGV4OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5hZGRJbmRleCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLnNldEluZGV4KCkuIik7dGhpcy5zZXRJbmRleChhKX0sYWRkRHJhd0NhbGw6ZnVuY3Rpb24oYSxjLGUpe3ZvaWQgMCE9PWUmJmNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5hZGREcmF3Q2FsbCgpIG5vIGxvbmdlciBzdXBwb3J0cyBpbmRleE9mZnNldC4iKTsKY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeTogLmFkZERyYXdDYWxsKCkgaXMgbm93IC5hZGRHcm91cCgpLiIpO3RoaXMuYWRkR3JvdXAoYSxjKX0sY2xlYXJEcmF3Q2FsbHM6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuY2xlYXJEcmF3Q2FsbHMoKSBpcyBub3cgLmNsZWFyR3JvdXBzKCkuIik7dGhpcy5jbGVhckdyb3VwcygpfSxjb21wdXRlVGFuZ2VudHM6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuY29tcHV0ZVRhbmdlbnRzKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sY29tcHV0ZU9mZnNldHM6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuY29tcHV0ZU9mZnNldHMoKSBoYXMgYmVlbiByZW1vdmVkLiIpfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHZhLnByb3RvdHlwZSx7ZHJhd2NhbGxzOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5CdWZmZXJHZW9tZXRyeTogLmRyYXdjYWxscyBoYXMgYmVlbiByZW5hbWVkIHRvIC5ncm91cHMuIik7CnJldHVybiB0aGlzLmdyb3Vwc319LG9mZnNldHM6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5vZmZzZXRzIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdyb3Vwcy4iKTtyZXR1cm4gdGhpcy5ncm91cHN9fX0pO09iamVjdC5hc3NpZ24oVGMucHJvdG90eXBlLHtnZXRBcnJheXM6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5FeHRydWRlQnVmZmVyR2VvbWV0cnk6IC5nZXRBcnJheXMoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxhZGRTaGFwZUxpc3Q6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5FeHRydWRlQnVmZmVyR2VvbWV0cnk6IC5hZGRTaGFwZUxpc3QoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxhZGRTaGFwZTpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkV4dHJ1ZGVCdWZmZXJHZW9tZXRyeTogLmFkZFNoYXBlKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX19KTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhlaC5wcm90b3R5cGUsCntkeW5hbWljOntzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLlVuaWZvcm06IC5keW5hbWljIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBvYmplY3Qub25CZWZvcmVSZW5kZXIoKSBpbnN0ZWFkLiIpfX0sb25VcGRhdGU6e3ZhbHVlOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5Vbmlmb3JtOiAub25VcGRhdGUoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2Ugb2JqZWN0Lm9uQmVmb3JlUmVuZGVyKCkgaW5zdGVhZC4iKTtyZXR1cm4gdGhpc319fSk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoUy5wcm90b3R5cGUse3dyYXBBcm91bmQ6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0ZXJpYWw6IC53cmFwQXJvdW5kIGhhcyBiZWVuIHJlbW92ZWQuIil9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0ZXJpYWw6IC53cmFwQXJvdW5kIGhhcyBiZWVuIHJlbW92ZWQuIil9fSxvdmVyZHJhdzp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRlcmlhbDogLm92ZXJkcmF3IGhhcyBiZWVuIHJlbW92ZWQuIil9LApzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdGVyaWFsOiAub3ZlcmRyYXcgaGFzIGJlZW4gcmVtb3ZlZC4iKX19LHdyYXBSR0I6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0ZXJpYWw6IC53cmFwUkdCIGhhcyBiZWVuIHJlbW92ZWQuIik7cmV0dXJuIG5ldyBIfX0sc2hhZGluZzp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuIit0aGlzLnR5cGUrIjogLnNoYWRpbmcgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHRoZSBib29sZWFuIC5mbGF0U2hhZGluZyBpbnN0ZWFkLiIpfSxzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS4iK3RoaXMudHlwZSsiOiAuc2hhZGluZyBoYXMgYmVlbiByZW1vdmVkLiBVc2UgdGhlIGJvb2xlYW4gLmZsYXRTaGFkaW5nIGluc3RlYWQuIik7dGhpcy5mbGF0U2hhZGluZz0xPT09YX19fSk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoRGMucHJvdG90eXBlLHttZXRhbDp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NZXNoUGhvbmdNYXRlcmlhbDogLm1ldGFsIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBUSFJFRS5NZXNoU3RhbmRhcmRNYXRlcmlhbCBpbnN0ZWFkLiIpOwpyZXR1cm4hMX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NZXNoUGhvbmdNYXRlcmlhbDogLm1ldGFsIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBUSFJFRS5NZXNoU3RhbmRhcmRNYXRlcmlhbCBpbnN0ZWFkIil9fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHFiLnByb3RvdHlwZSx7ZGVyaXZhdGl2ZXM6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuU2hhZGVyTWF0ZXJpYWw6IC5kZXJpdmF0aXZlcyBoYXMgYmVlbiBtb3ZlZCB0byAuZXh0ZW5zaW9ucy5kZXJpdmF0aXZlcy4iKTtyZXR1cm4gdGhpcy5leHRlbnNpb25zLmRlcml2YXRpdmVzfSxzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS4gU2hhZGVyTWF0ZXJpYWw6IC5kZXJpdmF0aXZlcyBoYXMgYmVlbiBtb3ZlZCB0byAuZXh0ZW5zaW9ucy5kZXJpdmF0aXZlcy4iKTt0aGlzLmV4dGVuc2lvbnMuZGVyaXZhdGl2ZXM9YX19fSk7T2JqZWN0LmFzc2lnbihUaC5wcm90b3R5cGUsCntjbGVhclRhcmdldDpmdW5jdGlvbihhLGMsZSxnKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5jbGVhclRhcmdldCgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSAuc2V0UmVuZGVyVGFyZ2V0KCkgYW5kIC5jbGVhcigpIGluc3RlYWQuIik7dGhpcy5zZXRSZW5kZXJUYXJnZXQoYSk7dGhpcy5jbGVhcihjLGUsZyl9LGFuaW1hdGU6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuYW5pbWF0ZSgpIGlzIG5vdyAuc2V0QW5pbWF0aW9uTG9vcCgpLiIpO3RoaXMuc2V0QW5pbWF0aW9uTG9vcChhKX0sZ2V0Q3VycmVudFJlbmRlclRhcmdldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmdldEN1cnJlbnRSZW5kZXJUYXJnZXQoKSBpcyBub3cgLmdldFJlbmRlclRhcmdldCgpLiIpO3JldHVybiB0aGlzLmdldFJlbmRlclRhcmdldCgpfSxnZXRNYXhBbmlzb3Ryb3B5OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2V0TWF4QW5pc290cm9weSgpIGlzIG5vdyAuY2FwYWJpbGl0aWVzLmdldE1heEFuaXNvdHJvcHkoKS4iKTsKcmV0dXJuIHRoaXMuY2FwYWJpbGl0aWVzLmdldE1heEFuaXNvdHJvcHkoKX0sZ2V0UHJlY2lzaW9uOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2V0UHJlY2lzaW9uKCkgaXMgbm93IC5jYXBhYmlsaXRpZXMucHJlY2lzaW9uLiIpO3JldHVybiB0aGlzLmNhcGFiaWxpdGllcy5wcmVjaXNpb259LHJlc2V0R0xTdGF0ZTpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnJlc2V0R0xTdGF0ZSgpIGlzIG5vdyAuc3RhdGUucmVzZXQoKS4iKTtyZXR1cm4gdGhpcy5zdGF0ZS5yZXNldCgpfSxzdXBwb3J0c0Zsb2F0VGV4dHVyZXM6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zdXBwb3J0c0Zsb2F0VGV4dHVyZXMoKSBpcyBub3cgLmV4dGVuc2lvbnMuZ2V0KCAnT0VTX3RleHR1cmVfZmxvYXQnICkuIik7cmV0dXJuIHRoaXMuZXh0ZW5zaW9ucy5nZXQoIk9FU190ZXh0dXJlX2Zsb2F0Iil9LApzdXBwb3J0c0hhbGZGbG9hdFRleHR1cmVzOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc3VwcG9ydHNIYWxmRmxvYXRUZXh0dXJlcygpIGlzIG5vdyAuZXh0ZW5zaW9ucy5nZXQoICdPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0JyApLiIpO3JldHVybiB0aGlzLmV4dGVuc2lvbnMuZ2V0KCJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0Iil9LHN1cHBvcnRzU3RhbmRhcmREZXJpdmF0aXZlczpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzU3RhbmRhcmREZXJpdmF0aXZlcygpIGlzIG5vdyAuZXh0ZW5zaW9ucy5nZXQoICdPRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMnICkuIik7cmV0dXJuIHRoaXMuZXh0ZW5zaW9ucy5nZXQoIk9FU19zdGFuZGFyZF9kZXJpdmF0aXZlcyIpfSxzdXBwb3J0c0NvbXByZXNzZWRUZXh0dXJlUzNUQzpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzQ29tcHJlc3NlZFRleHR1cmVTM1RDKCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ1dFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjJyApLiIpOwpyZXR1cm4gdGhpcy5leHRlbnNpb25zLmdldCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiKX0sc3VwcG9ydHNDb21wcmVzc2VkVGV4dHVyZVBWUlRDOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc3VwcG9ydHNDb21wcmVzc2VkVGV4dHVyZVBWUlRDKCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ1dFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9wdnJ0YycgKS4iKTtyZXR1cm4gdGhpcy5leHRlbnNpb25zLmdldCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjIil9LHN1cHBvcnRzQmxlbmRNaW5NYXg6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zdXBwb3J0c0JsZW5kTWluTWF4KCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ0VYVF9ibGVuZF9taW5tYXgnICkuIik7cmV0dXJuIHRoaXMuZXh0ZW5zaW9ucy5nZXQoIkVYVF9ibGVuZF9taW5tYXgiKX0sc3VwcG9ydHNWZXJ0ZXhUZXh0dXJlczpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzVmVydGV4VGV4dHVyZXMoKSBpcyBub3cgLmNhcGFiaWxpdGllcy52ZXJ0ZXhUZXh0dXJlcy4iKTsKcmV0dXJuIHRoaXMuY2FwYWJpbGl0aWVzLnZlcnRleFRleHR1cmVzfSxzdXBwb3J0c0luc3RhbmNlZEFycmF5czpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzSW5zdGFuY2VkQXJyYXlzKCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ0FOR0xFX2luc3RhbmNlZF9hcnJheXMnICkuIik7cmV0dXJuIHRoaXMuZXh0ZW5zaW9ucy5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKX0sZW5hYmxlU2Npc3NvclRlc3Q6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZW5hYmxlU2Npc3NvclRlc3QoKSBpcyBub3cgLnNldFNjaXNzb3JUZXN0KCkuIik7dGhpcy5zZXRTY2lzc29yVGVzdChhKX0saW5pdE1hdGVyaWFsOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuaW5pdE1hdGVyaWFsKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sYWRkUHJlUGx1Z2luOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuYWRkUHJlUGx1Z2luKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sCmFkZFBvc3RQbHVnaW46ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5hZGRQb3N0UGx1Z2luKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sdXBkYXRlU2hhZG93TWFwOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAudXBkYXRlU2hhZG93TWFwKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sc2V0RmFjZUN1bGxpbmc6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zZXRGYWNlQ3VsbGluZygpIGhhcyBiZWVuIHJlbW92ZWQuIil9LGFsbG9jVGV4dHVyZVVuaXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5hbGxvY1RleHR1cmVVbml0KCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sc2V0VGV4dHVyZTpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNldFRleHR1cmUoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxzZXRUZXh0dXJlMkQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zZXRUZXh0dXJlMkQoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSwKc2V0VGV4dHVyZUN1YmU6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zZXRUZXh0dXJlQ3ViZSgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LGdldEFjdGl2ZU1pcE1hcExldmVsOmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2V0QWN0aXZlTWlwTWFwTGV2ZWwoKSBpcyBub3cgLmdldEFjdGl2ZU1pcG1hcExldmVsKCkuIik7cmV0dXJuIHRoaXMuZ2V0QWN0aXZlTWlwbWFwTGV2ZWwoKX19KTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhUaC5wcm90b3R5cGUse3NoYWRvd01hcEVuYWJsZWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNoYWRvd01hcC5lbmFibGVkfSxzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwRW5hYmxlZCBpcyBub3cgLnNoYWRvd01hcC5lbmFibGVkLiIpO3RoaXMuc2hhZG93TWFwLmVuYWJsZWQ9YX19LHNoYWRvd01hcFR5cGU6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNoYWRvd01hcC50eXBlfSwKc2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNoYWRvd01hcFR5cGUgaXMgbm93IC5zaGFkb3dNYXAudHlwZS4iKTt0aGlzLnNoYWRvd01hcC50eXBlPWF9fSxzaGFkb3dNYXBDdWxsRmFjZTp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwQ3VsbEZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwQ3VsbEZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX19LGNvbnRleHQ6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmNvbnRleHQgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5nZXRDb250ZXh0KCkgaW5zdGVhZC4iKTtyZXR1cm4gdGhpcy5nZXRDb250ZXh0KCl9fX0pOwpPYmplY3QuZGVmaW5lUHJvcGVydGllcyhFai5wcm90b3R5cGUse2N1bGxGYWNlOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zaGFkb3dNYXAuY3VsbEZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwLmN1bGxGYWNlIGhhcyBiZWVuIHJlbW92ZWQuIFNldCBNYXRlcmlhbC5zaGFkb3dTaWRlIGluc3RlYWQuIil9fSxyZW5kZXJSZXZlcnNlU2lkZWQ6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNoYWRvd01hcC5yZW5kZXJSZXZlcnNlU2lkZWQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwLnJlbmRlclJldmVyc2VTaWRlZCBoYXMgYmVlbiByZW1vdmVkLiBTZXQgTWF0ZXJpYWwuc2hhZG93U2lkZSBpbnN0ZWFkLiIpfX0sCnJlbmRlclNpbmdsZVNpZGVkOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zaGFkb3dNYXAucmVuZGVyU2luZ2xlU2lkZWQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwLnJlbmRlclNpbmdsZVNpZGVkIGhhcyBiZWVuIHJlbW92ZWQuIFNldCBNYXRlcmlhbC5zaGFkb3dTaWRlIGluc3RlYWQuIil9fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKE9iLnByb3RvdHlwZSx7YWN0aXZlQ3ViZUZhY2U6e3NldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXRDdWJlOiAuYWN0aXZlQ3ViZUZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4gSXQgaXMgbm93IHRoZSBzZWNvbmQgcGFyYW1ldGVyIG9mIFdlYkdMUmVuZGVyZXIuc2V0UmVuZGVyVGFyZ2V0KCkuIil9fSwKYWN0aXZlTWlwTWFwTGV2ZWw6e3NldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXRDdWJlOiAuYWN0aXZlTWlwTWFwTGV2ZWwgaGFzIGJlZW4gcmVtb3ZlZC4gSXQgaXMgbm93IHRoZSB0aGlyZCBwYXJhbWV0ZXIgb2YgV2ViR0xSZW5kZXJlci5zZXRSZW5kZXJUYXJnZXQoKS4iKX19fSk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMobS5wcm90b3R5cGUse3dyYXBTOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAud3JhcFMgaXMgbm93IC50ZXh0dXJlLndyYXBTLiIpO3JldHVybiB0aGlzLnRleHR1cmUud3JhcFN9LHNldDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAud3JhcFMgaXMgbm93IC50ZXh0dXJlLndyYXBTLiIpO3RoaXMudGV4dHVyZS53cmFwUz1hfX0sd3JhcFQ6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC53cmFwVCBpcyBub3cgLnRleHR1cmUud3JhcFQuIik7CnJldHVybiB0aGlzLnRleHR1cmUud3JhcFR9LHNldDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAud3JhcFQgaXMgbm93IC50ZXh0dXJlLndyYXBULiIpO3RoaXMudGV4dHVyZS53cmFwVD1hfX0sbWFnRmlsdGVyOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAubWFnRmlsdGVyIGlzIG5vdyAudGV4dHVyZS5tYWdGaWx0ZXIuIik7cmV0dXJuIHRoaXMudGV4dHVyZS5tYWdGaWx0ZXJ9LHNldDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAubWFnRmlsdGVyIGlzIG5vdyAudGV4dHVyZS5tYWdGaWx0ZXIuIik7dGhpcy50ZXh0dXJlLm1hZ0ZpbHRlcj1hfX0sbWluRmlsdGVyOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAubWluRmlsdGVyIGlzIG5vdyAudGV4dHVyZS5taW5GaWx0ZXIuIik7cmV0dXJuIHRoaXMudGV4dHVyZS5taW5GaWx0ZXJ9LApzZXQ6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLm1pbkZpbHRlciBpcyBub3cgLnRleHR1cmUubWluRmlsdGVyLiIpO3RoaXMudGV4dHVyZS5taW5GaWx0ZXI9YX19LGFuaXNvdHJvcHk6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5hbmlzb3Ryb3B5IGlzIG5vdyAudGV4dHVyZS5hbmlzb3Ryb3B5LiIpO3JldHVybiB0aGlzLnRleHR1cmUuYW5pc290cm9weX0sc2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5hbmlzb3Ryb3B5IGlzIG5vdyAudGV4dHVyZS5hbmlzb3Ryb3B5LiIpO3RoaXMudGV4dHVyZS5hbmlzb3Ryb3B5PWF9fSxvZmZzZXQ6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5vZmZzZXQgaXMgbm93IC50ZXh0dXJlLm9mZnNldC4iKTtyZXR1cm4gdGhpcy50ZXh0dXJlLm9mZnNldH0sCnNldDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAub2Zmc2V0IGlzIG5vdyAudGV4dHVyZS5vZmZzZXQuIik7dGhpcy50ZXh0dXJlLm9mZnNldD1hfX0scmVwZWF0OntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAucmVwZWF0IGlzIG5vdyAudGV4dHVyZS5yZXBlYXQuIik7cmV0dXJuIHRoaXMudGV4dHVyZS5yZXBlYXR9LHNldDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAucmVwZWF0IGlzIG5vdyAudGV4dHVyZS5yZXBlYXQuIik7dGhpcy50ZXh0dXJlLnJlcGVhdD1hfX0sZm9ybWF0OntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAuZm9ybWF0IGlzIG5vdyAudGV4dHVyZS5mb3JtYXQuIik7cmV0dXJuIHRoaXMudGV4dHVyZS5mb3JtYXR9LHNldDpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAuZm9ybWF0IGlzIG5vdyAudGV4dHVyZS5mb3JtYXQuIik7CnRoaXMudGV4dHVyZS5mb3JtYXQ9YX19LHR5cGU6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC50eXBlIGlzIG5vdyAudGV4dHVyZS50eXBlLiIpO3JldHVybiB0aGlzLnRleHR1cmUudHlwZX0sc2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC50eXBlIGlzIG5vdyAudGV4dHVyZS50eXBlLiIpO3RoaXMudGV4dHVyZS50eXBlPWF9fSxnZW5lcmF0ZU1pcG1hcHM6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5nZW5lcmF0ZU1pcG1hcHMgaXMgbm93IC50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcy4iKTtyZXR1cm4gdGhpcy50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwc30sc2V0OmZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5nZW5lcmF0ZU1pcG1hcHMgaXMgbm93IC50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcy4iKTsKdGhpcy50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcz1hfX19KTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhTaC5wcm90b3R5cGUse3N0YW5kaW5nOntzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYlZSTWFuYWdlcjogLnN0YW5kaW5nIGhhcyBiZWVuIHJlbW92ZWQuIil9fSx1c2VySGVpZ2h0OntzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYlZSTWFuYWdlcjogLnVzZXJIZWlnaHQgaGFzIGJlZW4gcmVtb3ZlZC4iKX19fSk7WWUucHJvdG90eXBlLmxvYWQ9ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogLmxvYWQgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIFRIUkVFLkF1ZGlvTG9hZGVyIGluc3RlYWQuIik7dmFyIGM9dGhpczsobmV3IGNoKS5sb2FkKGEsZnVuY3Rpb24oZSl7Yy5zZXRCdWZmZXIoZSl9KTtyZXR1cm4gdGhpc307dGkucHJvdG90eXBlLmdldERhdGE9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLkF1ZGlvQW5hbHlzZXI6IC5nZXREYXRhKCkgaXMgbm93IC5nZXRGcmVxdWVuY3lEYXRhKCkuIik7CnJldHVybiB0aGlzLmdldEZyZXF1ZW5jeURhdGEoKX07R2IucHJvdG90eXBlLnVwZGF0ZUN1YmVNYXA9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLkN1YmVDYW1lcmE6IC51cGRhdGVDdWJlTWFwKCkgaXMgbm93IC51cGRhdGUoKS4iKTtyZXR1cm4gdGhpcy51cGRhdGUoYSxjKX07RmQuY3Jvc3NPcmlnaW49dm9pZCAwO0ZkLmxvYWRUZXh0dXJlPWZ1bmN0aW9uKGEsYyxlLGcpe2NvbnNvbGUud2FybigiVEhSRUUuSW1hZ2VVdGlscy5sb2FkVGV4dHVyZSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgVEhSRUUuVGV4dHVyZUxvYWRlcigpIGluc3RlYWQuIik7dmFyIHQ9bmV3IFBnO3Quc2V0Q3Jvc3NPcmlnaW4odGhpcy5jcm9zc09yaWdpbik7YT10LmxvYWQoYSxlLHZvaWQgMCxnKTtjJiYoYS5tYXBwaW5nPWMpO3JldHVybiBhfTtGZC5sb2FkVGV4dHVyZUN1YmU9ZnVuY3Rpb24oYSxjLGUsZyl7Y29uc29sZS53YXJuKCJUSFJFRS5JbWFnZVV0aWxzLmxvYWRUZXh0dXJlQ3ViZSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgVEhSRUUuQ3ViZVRleHR1cmVMb2FkZXIoKSBpbnN0ZWFkLiIpOwp2YXIgdD1uZXcgT2c7dC5zZXRDcm9zc09yaWdpbih0aGlzLmNyb3NzT3JpZ2luKTthPXQubG9hZChhLGUsdm9pZCAwLGcpO2MmJihhLm1hcHBpbmc9Yyk7cmV0dXJuIGF9O0ZkLmxvYWRDb21wcmVzc2VkVGV4dHVyZT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkltYWdlVXRpbHMubG9hZENvbXByZXNzZWRUZXh0dXJlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBUSFJFRS5ERFNMb2FkZXIgaW5zdGVhZC4iKX07RmQubG9hZENvbXByZXNzZWRUZXh0dXJlQ3ViZT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkltYWdlVXRpbHMubG9hZENvbXByZXNzZWRUZXh0dXJlQ3ViZSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuRERTTG9hZGVyIGluc3RlYWQuIil9O2IuQUNFU0ZpbG1pY1RvbmVNYXBwaW5nPTU7Yi5BZGRFcXVhdGlvbj0xMDA7Yi5BZGRPcGVyYXRpb249MjtiLkFkZGl0aXZlQmxlbmRpbmc9MjtiLkFscGhhRm9ybWF0PTEwMjE7Yi5BbHdheXNEZXB0aD0KMTtiLkFsd2F5c1N0ZW5jaWxGdW5jPTUxOTtiLkFtYmllbnRMaWdodD1XZztiLkFtYmllbnRMaWdodFByb2JlPW9pO2IuQW5pbWF0aW9uQ2xpcD12YztiLkFuaW1hdGlvbkxvYWRlcj1maTtiLkFuaW1hdGlvbk1peGVyPXZpO2IuQW5pbWF0aW9uT2JqZWN0R3JvdXA9Yms7Yi5BbmltYXRpb25VdGlscz1WYjtiLkFyY0N1cnZlPVhlO2IuQXJyYXlDYW1lcmE9d2Y7Yi5BcnJvd0hlbHBlcj1rZDtiLkF1ZGlvPVllO2IuQXVkaW9BbmFseXNlcj10aTtiLkF1ZGlvQ29udGV4dD1yaTtiLkF1ZGlvTGlzdGVuZXI9cWk7Yi5BdWRpb0xvYWRlcj1jaDtiLkF4ZXNIZWxwZXI9amc7Yi5BeGlzSGVscGVyPWZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuQXhpc0hlbHBlciBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLkF4ZXNIZWxwZXIuIik7cmV0dXJuIG5ldyBqZyhhKX07Yi5CYWNrU2lkZT0xO2IuQmFzaWNEZXB0aFBhY2tpbmc9MzIwMDtiLkJhc2ljU2hhZG93TWFwPTA7Yi5CaW5hcnlUZXh0dXJlTG9hZGVyPQpmdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLkJpbmFyeVRleHR1cmVMb2FkZXIgaGFzIGJlZW4gcmVuYW1lZCB0byBUSFJFRS5EYXRhVGV4dHVyZUxvYWRlci4iKTtyZXR1cm4gbmV3IE5nKGEpfTtiLkJvbmU9Wmg7Yi5Cb29sZWFuS2V5ZnJhbWVUcmFjaz1KZztiLkJvdW5kaW5nQm94SGVscGVyPWZ1bmN0aW9uKGEsYyl7Y29uc29sZS53YXJuKCJUSFJFRS5Cb3VuZGluZ0JveEhlbHBlciBoYXMgYmVlbiBkZXByZWNhdGVkLiBDcmVhdGluZyBhIFRIUkVFLkJveEhlbHBlciBpbnN0ZWFkLiIpO3JldHVybiBuZXcgamQoYSxjKX07Yi5Cb3gyPXlpO2IuQm94Mz14O2IuQm94M0hlbHBlcj1oZztiLkJveEJ1ZmZlckdlb21ldHJ5PVhhO2IuQm94R2VvbWV0cnk9U2E7Yi5Cb3hIZWxwZXI9amQ7Yi5CdWZmZXJBdHRyaWJ1dGU9UjtiLkJ1ZmZlckdlb21ldHJ5PXZhO2IuQnVmZmVyR2VvbWV0cnlMb2FkZXI9YWg7Yi5CeXRlVHlwZT0xMDEwO2IuQ2FjaGU9a2U7Yi5DYW1lcmE9emI7Yi5DYW1lcmFIZWxwZXI9CmdnO2IuQ2FudmFzUmVuZGVyZXI9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5DYW52YXNSZW5kZXJlciBoYXMgYmVlbiByZW1vdmVkIil9O2IuQ2FudmFzVGV4dHVyZT1EZjtiLkNhdG11bGxSb21DdXJ2ZTM9YmM7Yi5DaW5lb25Ub25lTWFwcGluZz00O2IuQ2lyY2xlQnVmZmVyR2VvbWV0cnk9U2U7Yi5DaXJjbGVHZW9tZXRyeT1ZZjtiLkNsYW1wVG9FZGdlV3JhcHBpbmc9MTAwMTtiLkNsb2NrPXBpO2IuQ2xvc2VkU3BsaW5lQ3VydmUzPWlrO2IuQ29sb3I9SDtiLkNvbG9yS2V5ZnJhbWVUcmFjaz1LZztiLkNvbXByZXNzZWRUZXh0dXJlPUZlO2IuQ29tcHJlc3NlZFRleHR1cmVMb2FkZXI9Z2k7Yi5Db25lQnVmZmVyR2VvbWV0cnk9WGY7Yi5Db25lR2VvbWV0cnk9V2Y7Yi5DdWJlQ2FtZXJhPUdiO2IuQ3ViZUdlb21ldHJ5PVNhO2IuQ3ViZVJlZmxlY3Rpb25NYXBwaW5nPTMwMTtiLkN1YmVSZWZyYWN0aW9uTWFwcGluZz0zMDI7Yi5DdWJlVGV4dHVyZT1lZDtiLkN1YmVUZXh0dXJlTG9hZGVyPQpPZztiLkN1YmVVVlJlZmxlY3Rpb25NYXBwaW5nPTMwNjtiLkN1YmVVVlJlZnJhY3Rpb25NYXBwaW5nPTMwNztiLkN1YmljQmV6aWVyQ3VydmU9RWM7Yi5DdWJpY0JlemllckN1cnZlMz1WYztiLkN1YmljSW50ZXJwb2xhbnQ9SGc7Yi5DdWxsRmFjZUJhY2s9MTtiLkN1bGxGYWNlRnJvbnQ9MjtiLkN1bGxGYWNlRnJvbnRCYWNrPTM7Yi5DdWxsRmFjZU5vbmU9MDtiLkN1cnZlPVphO2IuQ3VydmVQYXRoPWlkO2IuQ3VzdG9tQmxlbmRpbmc9NTtiLkN5bGluZGVyQnVmZmVyR2VvbWV0cnk9aGQ7Yi5DeWxpbmRlckdlb21ldHJ5PVpkO2IuQ3lsaW5kcmljYWw9Z2s7Yi5EYXRhVGV4dHVyZT1BYjtiLkRhdGFUZXh0dXJlMkRBcnJheT10ZTtiLkRhdGFUZXh0dXJlM0Q9dWU7Yi5EYXRhVGV4dHVyZUxvYWRlcj1OZztiLkRlY3JlbWVudFN0ZW5jaWxPcD03NjgzO2IuRGVjcmVtZW50V3JhcFN0ZW5jaWxPcD0zNDA1NjtiLkRlZmF1bHRMb2FkaW5nTWFuYWdlcj1YajtiLkRlcHRoRm9ybWF0PTEwMjY7CmIuRGVwdGhTdGVuY2lsRm9ybWF0PTEwMjc7Yi5EZXB0aFRleHR1cmU9RWY7Yi5EaXJlY3Rpb25hbExpZ2h0PVZnO2IuRGlyZWN0aW9uYWxMaWdodEhlbHBlcj1mZjtiLkRpcmVjdGlvbmFsTGlnaHRTaGFkb3c9VWc7Yi5EaXNjcmV0ZUludGVycG9sYW50PUlnO2IuRG9kZWNhaGVkcm9uQnVmZmVyR2VvbWV0cnk9S2U7Yi5Eb2RlY2FoZWRyb25HZW9tZXRyeT1LZjtiLkRvdWJsZVNpZGU9MjtiLkRzdEFscGhhRmFjdG9yPTIwNjtiLkRzdENvbG9yRmFjdG9yPTIwODtiLkR5bmFtaWNCdWZmZXJBdHRyaWJ1dGU9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLkR5bmFtaWNCdWZmZXJBdHRyaWJ1dGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5CdWZmZXJBdHRyaWJ1dGUoKS5zZXREeW5hbWljKCB0cnVlICkgaW5zdGVhZC4iKTtyZXR1cm4obmV3IFIoYSxjKSkuc2V0RHluYW1pYyghMCl9O2IuRWRnZXNHZW9tZXRyeT1SZTtiLkVkZ2VzSGVscGVyPWZ1bmN0aW9uKGEsCmMpe2NvbnNvbGUud2FybigiVEhSRUUuRWRnZXNIZWxwZXIgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIFRIUkVFLkVkZ2VzR2VvbWV0cnkgaW5zdGVhZC4iKTtyZXR1cm4gbmV3IEliKG5ldyBSZShhLmdlb21ldHJ5KSxuZXcgRmIoe2NvbG9yOnZvaWQgMCE9PWM/YzoxNjc3NzIxNX0pKX07Yi5FbGxpcHNlQ3VydmU9c2M7Yi5FcXVhbERlcHRoPTQ7Yi5FcXVhbFN0ZW5jaWxGdW5jPTUxNDtiLkVxdWlyZWN0YW5ndWxhclJlZmxlY3Rpb25NYXBwaW5nPTMwMztiLkVxdWlyZWN0YW5ndWxhclJlZnJhY3Rpb25NYXBwaW5nPTMwNDtiLkV1bGVyPXU7Yi5FdmVudERpc3BhdGNoZXI9ZDtiLkV4dHJ1ZGVCdWZmZXJHZW9tZXRyeT1UYztiLkV4dHJ1ZGVHZW9tZXRyeT1XZDtiLkZhY2UzPU87Yi5GYWNlND1mdW5jdGlvbihhLGMsZSxnLHQsdix6KXtjb25zb2xlLndhcm4oIlRIUkVFLkZhY2U0IGhhcyBiZWVuIHJlbW92ZWQuIEEgVEhSRUUuRmFjZTMgd2lsbCBiZSBjcmVhdGVkIGluc3RlYWQuIik7cmV0dXJuIG5ldyBPKGEsCmMsZSx0LHYseil9O2IuRmFjZUNvbG9ycz0xO2IuRmFjZU5vcm1hbHNIZWxwZXI9Zmc7Yi5GaWxlTG9hZGVyPXdjO2IuRmxhdFNoYWRpbmc9MTtiLkZsb2F0MzJBdHRyaWJ1dGU9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLkZsb2F0MzJBdHRyaWJ1dGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5GbG9hdDMyQnVmZmVyQXR0cmlidXRlKCkgaW5zdGVhZC4iKTtyZXR1cm4gbmV3IGJhKGEsYyl9O2IuRmxvYXQzMkJ1ZmZlckF0dHJpYnV0ZT1iYTtiLkZsb2F0NjRBdHRyaWJ1dGU9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLkZsb2F0NjRBdHRyaWJ1dGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5GbG9hdDY0QnVmZmVyQXR0cmlidXRlKCkgaW5zdGVhZC4iKTtyZXR1cm4gbmV3IGthKGEsYyl9O2IuRmxvYXQ2NEJ1ZmZlckF0dHJpYnV0ZT1rYTtiLkZsb2F0VHlwZT0xMDE1O2IuRm9nPURnO2IuRm9nRXhwMj1DZztiLkZvbnQ9bGk7CmIuRm9udExvYWRlcj1taTtiLkZyb250RmFjZURpcmVjdGlvbkNDVz0xO2IuRnJvbnRGYWNlRGlyZWN0aW9uQ1c9MDtiLkZyb250U2lkZT0wO2IuRnJ1c3R1bT1sYztiLkdhbW1hRW5jb2Rpbmc9MzAwNztiLkdlb21ldHJ5PXhhO2IuR2VvbWV0cnlVdGlscz17bWVyZ2U6ZnVuY3Rpb24oYSxjLGUpe2NvbnNvbGUud2FybigiVEhSRUUuR2VvbWV0cnlVdGlsczogLm1lcmdlKCkgaGFzIGJlZW4gbW92ZWQgdG8gR2VvbWV0cnkuIFVzZSBnZW9tZXRyeS5tZXJnZSggZ2VvbWV0cnkyLCBtYXRyaXgsIG1hdGVyaWFsSW5kZXhPZmZzZXQgKSBpbnN0ZWFkLiIpO2lmKGMuaXNNZXNoKXtjLm1hdHJpeEF1dG9VcGRhdGUmJmMudXBkYXRlTWF0cml4KCk7dmFyIGc9Yy5tYXRyaXg7Yz1jLmdlb21ldHJ5fWEubWVyZ2UoYyxnLGUpfSxjZW50ZXI6ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5HZW9tZXRyeVV0aWxzOiAuY2VudGVyKCkgaGFzIGJlZW4gbW92ZWQgdG8gR2VvbWV0cnkuIFVzZSBnZW9tZXRyeS5jZW50ZXIoKSBpbnN0ZWFkLiIpOwpyZXR1cm4gYS5jZW50ZXIoKX19O2IuR3JlYXRlckRlcHRoPTY7Yi5HcmVhdGVyRXF1YWxEZXB0aD01O2IuR3JlYXRlckVxdWFsU3RlbmNpbEZ1bmM9NTE4O2IuR3JlYXRlclN0ZW5jaWxGdW5jPTUxNjtiLkdyaWRIZWxwZXI9Zmg7Yi5Hcm91cD13ZTtiLkhhbGZGbG9hdFR5cGU9MTAxNjtiLkhlbWlzcGhlcmVMaWdodD1RZztiLkhlbWlzcGhlcmVMaWdodEhlbHBlcj1jZjtiLkhlbWlzcGhlcmVMaWdodFByb2JlPW5pO2IuSWNvc2FoZWRyb25CdWZmZXJHZW9tZXRyeT1KZTtiLkljb3NhaGVkcm9uR2VvbWV0cnk9SmY7Yi5JbWFnZUJpdG1hcExvYWRlcj1qaTtiLkltYWdlTG9hZGVyPVdlO2IuSW1hZ2VVdGlscz1GZDtiLkltbWVkaWF0ZVJlbmRlck9iamVjdD1kZztiLkluY3JlbWVudFN0ZW5jaWxPcD03NjgyO2IuSW5jcmVtZW50V3JhcFN0ZW5jaWxPcD0zNDA1NTtiLkluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZT0kZztiLkluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5PVpnO2IuSW5zdGFuY2VkSW50ZXJsZWF2ZWRCdWZmZXI9CndpO2IuSW50MTZBdHRyaWJ1dGU9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLkludDE2QXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuSW50MTZCdWZmZXJBdHRyaWJ1dGUoKSBpbnN0ZWFkLiIpO3JldHVybiBuZXcgb2EoYSxjKX07Yi5JbnQxNkJ1ZmZlckF0dHJpYnV0ZT1vYTtiLkludDMyQXR0cmlidXRlPWZ1bmN0aW9uKGEsYyl7Y29uc29sZS53YXJuKCJUSFJFRS5JbnQzMkF0dHJpYnV0ZSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgbmV3IFRIUkVFLkludDMyQnVmZmVyQXR0cmlidXRlKCkgaW5zdGVhZC4iKTtyZXR1cm4gbmV3IGNhKGEsYyl9O2IuSW50MzJCdWZmZXJBdHRyaWJ1dGU9Y2E7Yi5JbnQ4QXR0cmlidXRlPWZ1bmN0aW9uKGEsYyl7Y29uc29sZS53YXJuKCJUSFJFRS5JbnQ4QXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuSW50OEJ1ZmZlckF0dHJpYnV0ZSgpIGluc3RlYWQuIik7cmV0dXJuIG5ldyBYKGEsCmMpfTtiLkludDhCdWZmZXJBdHRyaWJ1dGU9WDtiLkludFR5cGU9MTAxMztiLkludGVybGVhdmVkQnVmZmVyPVNkO2IuSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGU9eWY7Yi5JbnRlcnBvbGFudD1yYztiLkludGVycG9sYXRlRGlzY3JldGU9MjMwMDtiLkludGVycG9sYXRlTGluZWFyPTIzMDE7Yi5JbnRlcnBvbGF0ZVNtb290aD0yMzAyO2IuSW52ZXJ0U3RlbmNpbE9wPTUzODY7Yi5KU09OTG9hZGVyPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuSlNPTkxvYWRlciBoYXMgYmVlbiByZW1vdmVkLiIpfTtiLktlZXBTdGVuY2lsT3A9NzY4MDtiLktleWZyYW1lVHJhY2s9WmI7Yi5MT0Q9QmY7Yi5MYXRoZUJ1ZmZlckdlb21ldHJ5PVFlO2IuTGF0aGVHZW9tZXRyeT1WZjtiLkxheWVycz13O2IuTGVuc0ZsYXJlPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTGVuc0ZsYXJlIGhhcyBiZWVuIG1vdmVkIHRvIC9leGFtcGxlcy9qcy9vYmplY3RzL0xlbnNmbGFyZS5qcyIpfTsKYi5MZXNzRGVwdGg9MjtiLkxlc3NFcXVhbERlcHRoPTM7Yi5MZXNzRXF1YWxTdGVuY2lsRnVuYz01MTU7Yi5MZXNzU3RlbmNpbEZ1bmM9NTEzO2IuTGlnaHQ9S2I7Yi5MaWdodFByb2JlPUpjO2IuTGlnaHRQcm9iZUhlbHBlcj1kZjtiLkxpZ2h0U2hhZG93PVhjO2IuTGluZT1YYjtiLkxpbmUzPXppO2IuTGluZUJhc2ljTWF0ZXJpYWw9RmI7Yi5MaW5lQ3VydmU9bmM7Yi5MaW5lQ3VydmUzPUZjO2IuTGluZURhc2hlZE1hdGVyaWFsPWZlO2IuTGluZUxvb3A9R2c7Yi5MaW5lUGllY2VzPTE7Yi5MaW5lU2VnbWVudHM9SWI7Yi5MaW5lU3RyaXA9MDtiLkxpbmVhckVuY29kaW5nPTNFMztiLkxpbmVhckZpbHRlcj0xMDA2O2IuTGluZWFySW50ZXJwb2xhbnQ9WmY7Yi5MaW5lYXJNaXBNYXBMaW5lYXJGaWx0ZXI9MTAwODtiLkxpbmVhck1pcE1hcE5lYXJlc3RGaWx0ZXI9MTAwNztiLkxpbmVhck1pcG1hcExpbmVhckZpbHRlcj0xMDA4O2IuTGluZWFyTWlwbWFwTmVhcmVzdEZpbHRlcj0xMDA3OwpiLkxpbmVhclRvbmVNYXBwaW5nPTE7Yi5Mb2FkZXI9RGI7Yi5Mb2FkZXJVdGlscz1VaTtiLkxvYWRpbmdNYW5hZ2VyPWVpO2IuTG9nTHV2RW5jb2Rpbmc9MzAwMztiLkxvb3BPbmNlPTIyMDA7Yi5Mb29wUGluZ1Bvbmc9MjIwMjtiLkxvb3BSZXBlYXQ9MjIwMTtiLkx1bWluYW5jZUFscGhhRm9ybWF0PTEwMjU7Yi5MdW1pbmFuY2VGb3JtYXQ9MTAyNDtiLk1PVVNFPXtMRUZUOjAsTUlERExFOjEsUklHSFQ6MixST1RBVEU6MCxET0xMWToxLFBBTjoyfTtiLk1hdGVyaWFsPVM7Yi5NYXRlcmlhbExvYWRlcj1ZZztiLk1hdGg9aGI7Yi5NYXRyaXgzPXI7Yi5NYXRyaXg0PXE7Yi5NYXhFcXVhdGlvbj0xMDQ7Yi5NZXNoPXlhO2IuTWVzaEJhc2ljTWF0ZXJpYWw9TjtiLk1lc2hEZXB0aE1hdGVyaWFsPXhkO2IuTWVzaERpc3RhbmNlTWF0ZXJpYWw9eWQ7Yi5NZXNoRmFjZU1hdGVyaWFsPWZ1bmN0aW9uKGEpe2NvbnNvbGUud2FybigiVEhSRUUuTWVzaEZhY2VNYXRlcmlhbCBoYXMgYmVlbiByZW1vdmVkLiBVc2UgYW4gQXJyYXkgaW5zdGVhZC4iKTsKcmV0dXJuIGF9O2IuTWVzaExhbWJlcnRNYXRlcmlhbD1kZTtiLk1lc2hNYXRjYXBNYXRlcmlhbD1lZTtiLk1lc2hOb3JtYWxNYXRlcmlhbD1jZTtiLk1lc2hQaG9uZ01hdGVyaWFsPURjO2IuTWVzaFBoeXNpY2FsTWF0ZXJpYWw9YWU7Yi5NZXNoU3RhbmRhcmRNYXRlcmlhbD1VYztiLk1lc2hUb29uTWF0ZXJpYWw9YmU7Yi5NaW5FcXVhdGlvbj0xMDM7Yi5NaXJyb3JlZFJlcGVhdFdyYXBwaW5nPTEwMDI7Yi5NaXhPcGVyYXRpb249MTtiLk11bHRpTWF0ZXJpYWw9ZnVuY3Rpb24oYSl7dm9pZCAwPT09YSYmKGE9W10pO2NvbnNvbGUud2FybigiVEhSRUUuTXVsdGlNYXRlcmlhbCBoYXMgYmVlbiByZW1vdmVkLiBVc2UgYW4gQXJyYXkgaW5zdGVhZC4iKTthLmlzTXVsdGlNYXRlcmlhbD0hMDthLm1hdGVyaWFscz1hO2EuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gYS5zbGljZSgpfTtyZXR1cm4gYX07Yi5NdWx0aXBseUJsZW5kaW5nPTQ7Yi5NdWx0aXBseU9wZXJhdGlvbj0wO2IuTmVhcmVzdEZpbHRlcj0KMTAwMztiLk5lYXJlc3RNaXBNYXBMaW5lYXJGaWx0ZXI9MTAwNTtiLk5lYXJlc3RNaXBNYXBOZWFyZXN0RmlsdGVyPTEwMDQ7Yi5OZWFyZXN0TWlwbWFwTGluZWFyRmlsdGVyPTEwMDU7Yi5OZWFyZXN0TWlwbWFwTmVhcmVzdEZpbHRlcj0xMDA0O2IuTmV2ZXJEZXB0aD0wO2IuTmV2ZXJTdGVuY2lsRnVuYz01MTI7Yi5Ob0JsZW5kaW5nPTA7Yi5Ob0NvbG9ycz0wO2IuTm9Ub25lTWFwcGluZz0wO2IuTm9ybWFsQmxlbmRpbmc9MTtiLk5vdEVxdWFsRGVwdGg9NztiLk5vdEVxdWFsU3RlbmNpbEZ1bmM9NTE3O2IuTnVtYmVyS2V5ZnJhbWVUcmFjaz1VZTtiLk9iamVjdDNEPUE7Yi5PYmplY3RMb2FkZXI9Ymg7Yi5PYmplY3RTcGFjZU5vcm1hbE1hcD0xO2IuT2N0YWhlZHJvbkJ1ZmZlckdlb21ldHJ5PVRkO2IuT2N0YWhlZHJvbkdlb21ldHJ5PUlmO2IuT25lRmFjdG9yPTIwMTtiLk9uZU1pbnVzRHN0QWxwaGFGYWN0b3I9MjA3O2IuT25lTWludXNEc3RDb2xvckZhY3Rvcj0yMDk7Yi5PbmVNaW51c1NyY0FscGhhRmFjdG9yPQoyMDU7Yi5PbmVNaW51c1NyY0NvbG9yRmFjdG9yPTIwMztiLk9ydGhvZ3JhcGhpY0NhbWVyYT1jZztiLlBDRlNoYWRvd01hcD0xO2IuUENGU29mdFNoYWRvd01hcD0yO2IuUGFyYW1ldHJpY0J1ZmZlckdlb21ldHJ5PUhlO2IuUGFyYW1ldHJpY0dlb21ldHJ5PUZmO2IuUGFydGljbGU9ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5QYXJ0aWNsZSBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLlNwcml0ZS4iKTtyZXR1cm4gbmV3IHpmKGEpfTtiLlBhcnRpY2xlQmFzaWNNYXRlcmlhbD1mdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlBhcnRpY2xlQmFzaWNNYXRlcmlhbCBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLlBvaW50c01hdGVyaWFsLiIpO3JldHVybiBuZXcgQ2MoYSl9O2IuUGFydGljbGVTeXN0ZW09ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLlBhcnRpY2xlU3lzdGVtIGhhcyBiZWVuIHJlbmFtZWQgdG8gVEhSRUUuUG9pbnRzLiIpO3JldHVybiBuZXcgRWUoYSwKYyl9O2IuUGFydGljbGVTeXN0ZW1NYXRlcmlhbD1mdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlBhcnRpY2xlU3lzdGVtTWF0ZXJpYWwgaGFzIGJlZW4gcmVuYW1lZCB0byBUSFJFRS5Qb2ludHNNYXRlcmlhbC4iKTtyZXR1cm4gbmV3IENjKGEpfTtiLlBhdGg9SWM7Yi5QZXJzcGVjdGl2ZUNhbWVyYT12YjtiLlBsYW5lPUhiO2IuUGxhbmVCdWZmZXJHZW9tZXRyeT1OYztiLlBsYW5lR2VvbWV0cnk9dGQ7Yi5QbGFuZUhlbHBlcj1pZztiLlBvaW50Q2xvdWQ9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLlBvaW50Q2xvdWQgaGFzIGJlZW4gcmVuYW1lZCB0byBUSFJFRS5Qb2ludHMuIik7cmV0dXJuIG5ldyBFZShhLGMpfTtiLlBvaW50Q2xvdWRNYXRlcmlhbD1mdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIlRIUkVFLlBvaW50Q2xvdWRNYXRlcmlhbCBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLlBvaW50c01hdGVyaWFsLiIpO3JldHVybiBuZXcgQ2MoYSl9O2IuUG9pbnRMaWdodD0KVGc7Yi5Qb2ludExpZ2h0SGVscGVyPWFmO2IuUG9pbnRzPUVlO2IuUG9pbnRzTWF0ZXJpYWw9Q2M7Yi5Qb2xhckdyaWRIZWxwZXI9Z2g7Yi5Qb2x5aGVkcm9uQnVmZmVyR2VvbWV0cnk9bWM7Yi5Qb2x5aGVkcm9uR2VvbWV0cnk9R2Y7Yi5Qb3NpdGlvbmFsQXVkaW89c2k7Yi5Qb3NpdGlvbmFsQXVkaW9IZWxwZXI9ZWY7Yi5Qcm9wZXJ0eUJpbmRpbmc9Y2M7Yi5Qcm9wZXJ0eU1peGVyPXVpO2IuUXVhZHJhdGljQmV6aWVyQ3VydmU9R2M7Yi5RdWFkcmF0aWNCZXppZXJDdXJ2ZTM9V2M7Yi5RdWF0ZXJuaW9uPWg7Yi5RdWF0ZXJuaW9uS2V5ZnJhbWVUcmFjaz0kZjtiLlF1YXRlcm5pb25MaW5lYXJJbnRlcnBvbGFudD1MZztiLlJFVklTSU9OPSIxMDgiO2IuUkdCQURlcHRoUGFja2luZz0zMjAxO2IuUkdCQUZvcm1hdD0xMDIzO2IuUkdCQV9BU1RDXzEweDEwX0Zvcm1hdD0zNzgxOTtiLlJHQkFfQVNUQ18xMHg1X0Zvcm1hdD0zNzgxNjtiLlJHQkFfQVNUQ18xMHg2X0Zvcm1hdD0zNzgxNztiLlJHQkFfQVNUQ18xMHg4X0Zvcm1hdD0KMzc4MTg7Yi5SR0JBX0FTVENfMTJ4MTBfRm9ybWF0PTM3ODIwO2IuUkdCQV9BU1RDXzEyeDEyX0Zvcm1hdD0zNzgyMTtiLlJHQkFfQVNUQ180eDRfRm9ybWF0PTM3ODA4O2IuUkdCQV9BU1RDXzV4NF9Gb3JtYXQ9Mzc4MDk7Yi5SR0JBX0FTVENfNXg1X0Zvcm1hdD0zNzgxMDtiLlJHQkFfQVNUQ182eDVfRm9ybWF0PTM3ODExO2IuUkdCQV9BU1RDXzZ4Nl9Gb3JtYXQ9Mzc4MTI7Yi5SR0JBX0FTVENfOHg1X0Zvcm1hdD0zNzgxMztiLlJHQkFfQVNUQ184eDZfRm9ybWF0PTM3ODE0O2IuUkdCQV9BU1RDXzh4OF9Gb3JtYXQ9Mzc4MTU7Yi5SR0JBX1BWUlRDXzJCUFBWMV9Gb3JtYXQ9MzU4NDM7Yi5SR0JBX1BWUlRDXzRCUFBWMV9Gb3JtYXQ9MzU4NDI7Yi5SR0JBX1MzVENfRFhUMV9Gb3JtYXQ9MzM3Nzc7Yi5SR0JBX1MzVENfRFhUM19Gb3JtYXQ9MzM3Nzg7Yi5SR0JBX1MzVENfRFhUNV9Gb3JtYXQ9MzM3Nzk7Yi5SR0JERW5jb2Rpbmc9MzAwNjtiLlJHQkVFbmNvZGluZz0zMDAyO2IuUkdCRUZvcm1hdD0KMTAyMztiLlJHQkZvcm1hdD0xMDIyO2IuUkdCTTE2RW5jb2Rpbmc9MzAwNTtiLlJHQk03RW5jb2Rpbmc9MzAwNDtiLlJHQl9FVEMxX0Zvcm1hdD0zNjE5NjtiLlJHQl9QVlJUQ18yQlBQVjFfRm9ybWF0PTM1ODQxO2IuUkdCX1BWUlRDXzRCUFBWMV9Gb3JtYXQ9MzU4NDA7Yi5SR0JfUzNUQ19EWFQxX0Zvcm1hdD0zMzc3NjtiLlJhd1NoYWRlck1hdGVyaWFsPVRlO2IuUmF5PUQ7Yi5SYXljYXN0ZXI9ZGs7Yi5SZWN0QXJlYUxpZ2h0PVhnO2IuUmVjdEFyZWFMaWdodEhlbHBlcj1iZjtiLlJlZEZvcm1hdD0xMDI4O2IuUmVpbmhhcmRUb25lTWFwcGluZz0yO2IuUmVwZWF0V3JhcHBpbmc9MUUzO2IuUmVwbGFjZVN0ZW5jaWxPcD03NjgxO2IuUmV2ZXJzZVN1YnRyYWN0RXF1YXRpb249MTAyO2IuUmluZ0J1ZmZlckdlb21ldHJ5PVBlO2IuUmluZ0dlb21ldHJ5PVVmO2IuU2NlbmU9eTtiLlNjZW5lVXRpbHM9e2NyZWF0ZU11bHRpTWF0ZXJpYWxPYmplY3Q6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5TY2VuZVV0aWxzIGhhcyBiZWVuIG1vdmVkIHRvIC9leGFtcGxlcy9qcy91dGlscy9TY2VuZVV0aWxzLmpzIil9LApkZXRhY2g6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5TY2VuZVV0aWxzIGhhcyBiZWVuIG1vdmVkIHRvIC9leGFtcGxlcy9qcy91dGlscy9TY2VuZVV0aWxzLmpzIil9LGF0dGFjaDpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlNjZW5lVXRpbHMgaGFzIGJlZW4gbW92ZWQgdG8gL2V4YW1wbGVzL2pzL3V0aWxzL1NjZW5lVXRpbHMuanMiKX19O2IuU2hhZGVyQ2h1bms9cmI7Yi5TaGFkZXJMaWI9T2M7Yi5TaGFkZXJNYXRlcmlhbD1xYjtiLlNoYWRvd01hdGVyaWFsPSRkO2IuU2hhcGU9RWQ7Yi5TaGFwZUJ1ZmZlckdlb21ldHJ5PVlkO2IuU2hhcGVHZW9tZXRyeT1YZDtiLlNoYXBlUGF0aD1raTtiLlNoYXBlVXRpbHM9Z2Q7Yi5TaG9ydFR5cGU9MTAxMTtiLlNrZWxldG9uPUZnO2IuU2tlbGV0b25IZWxwZXI9JGU7Yi5Ta2lubmVkTWVzaD1DZjtiLlNtb290aFNoYWRpbmc9MjtiLlNwaGVyZT1HO2IuU3BoZXJlQnVmZmVyR2VvbWV0cnk9RGQ7Yi5TcGhlcmVHZW9tZXRyeT0KVGY7Yi5TcGhlcmljYWw9Zms7Yi5TcGhlcmljYWxIYXJtb25pY3MzPWRoO2IuU3BoZXJpY2FsUmVmbGVjdGlvbk1hcHBpbmc9MzA1O2IuU3BsaW5lPUJpO2IuU3BsaW5lQ3VydmU9SGM7Yi5TcGxpbmVDdXJ2ZTM9ams7Yi5TcG90TGlnaHQ9U2c7Yi5TcG90TGlnaHRIZWxwZXI9WmU7Yi5TcG90TGlnaHRTaGFkb3c9Umc7Yi5TcHJpdGU9emY7Yi5TcHJpdGVNYXRlcmlhbD1DZDtiLlNyY0FscGhhRmFjdG9yPTIwNDtiLlNyY0FscGhhU2F0dXJhdGVGYWN0b3I9MjEwO2IuU3JjQ29sb3JGYWN0b3I9MjAyO2IuU3RlcmVvQ2FtZXJhPVpqO2IuU3RyaW5nS2V5ZnJhbWVUcmFjaz1NZztiLlN1YnRyYWN0RXF1YXRpb249MTAxO2IuU3VidHJhY3RpdmVCbGVuZGluZz0zO2IuVE9VQ0g9e1JPVEFURTowLFBBTjoxLERPTExZX1BBTjoyLERPTExZX1JPVEFURTozfTtiLlRhbmdlbnRTcGFjZU5vcm1hbE1hcD0wO2IuVGV0cmFoZWRyb25CdWZmZXJHZW9tZXRyeT1JZTtiLlRldHJhaGVkcm9uR2VvbWV0cnk9CkhmO2IuVGV4dEJ1ZmZlckdlb21ldHJ5PU9lO2IuVGV4dEdlb21ldHJ5PVNmO2IuVGV4dHVyZT1sO2IuVGV4dHVyZUxvYWRlcj1QZztiLlRvcnVzQnVmZmVyR2VvbWV0cnk9TWU7Yi5Ub3J1c0dlb21ldHJ5PU5mO2IuVG9ydXNLbm90QnVmZmVyR2VvbWV0cnk9TGU7Yi5Ub3J1c0tub3RHZW9tZXRyeT1NZjtiLlRyaWFuZ2xlPUI7Yi5UcmlhbmdsZUZhbkRyYXdNb2RlPTI7Yi5UcmlhbmdsZVN0cmlwRHJhd01vZGU9MTtiLlRyaWFuZ2xlc0RyYXdNb2RlPTA7Yi5UdWJlQnVmZmVyR2VvbWV0cnk9VWQ7Yi5UdWJlR2VvbWV0cnk9TGY7Yi5VVk1hcHBpbmc9MzAwO2IuVWludDE2QXR0cmlidXRlPWZ1bmN0aW9uKGEsYyl7Y29uc29sZS53YXJuKCJUSFJFRS5VaW50MTZBdHRyaWJ1dGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5VaW50MTZCdWZmZXJBdHRyaWJ1dGUoKSBpbnN0ZWFkLiIpO3JldHVybiBuZXcgWihhLGMpfTtiLlVpbnQxNkJ1ZmZlckF0dHJpYnV0ZT1aO2IuVWludDMyQXR0cmlidXRlPQpmdW5jdGlvbihhLGMpe2NvbnNvbGUud2FybigiVEhSRUUuVWludDMyQXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuVWludDMyQnVmZmVyQXR0cmlidXRlKCkgaW5zdGVhZC4iKTtyZXR1cm4gbmV3IGphKGEsYyl9O2IuVWludDMyQnVmZmVyQXR0cmlidXRlPWphO2IuVWludDhBdHRyaWJ1dGU9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLlVpbnQ4QXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuVWludDhCdWZmZXJBdHRyaWJ1dGUoKSBpbnN0ZWFkLiIpO3JldHVybiBuZXcgYWEoYSxjKX07Yi5VaW50OEJ1ZmZlckF0dHJpYnV0ZT1hYTtiLlVpbnQ4Q2xhbXBlZEF0dHJpYnV0ZT1mdW5jdGlvbihhLGMpe2NvbnNvbGUud2FybigiVEhSRUUuVWludDhDbGFtcGVkQXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuVWludDhDbGFtcGVkQnVmZmVyQXR0cmlidXRlKCkgaW5zdGVhZC4iKTtyZXR1cm4gbmV3IGZhKGEsCmMpfTtiLlVpbnQ4Q2xhbXBlZEJ1ZmZlckF0dHJpYnV0ZT1mYTtiLlVuY2hhcnRlZDJUb25lTWFwcGluZz0zO2IuVW5pZm9ybT1laDtiLlVuaWZvcm1zTGliPVdhO2IuVW5pZm9ybXNVdGlscz0kbTtiLlVuc2lnbmVkQnl0ZVR5cGU9MTAwOTtiLlVuc2lnbmVkSW50MjQ4VHlwZT0xMDIwO2IuVW5zaWduZWRJbnRUeXBlPTEwMTQ7Yi5VbnNpZ25lZFNob3J0NDQ0NFR5cGU9MTAxNztiLlVuc2lnbmVkU2hvcnQ1NTUxVHlwZT0xMDE4O2IuVW5zaWduZWRTaG9ydDU2NVR5cGU9MTAxOTtiLlVuc2lnbmVkU2hvcnRUeXBlPTEwMTI7Yi5WU01TaGFkb3dNYXA9MztiLlZlY3RvcjI9ZjtiLlZlY3RvcjM9aztiLlZlY3RvcjQ9cDtiLlZlY3RvcktleWZyYW1lVHJhY2s9VmU7Yi5WZXJ0ZXg9ZnVuY3Rpb24oYSxjLGUpe2NvbnNvbGUud2FybigiVEhSRUUuVmVydGV4IGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBUSFJFRS5WZWN0b3IzIGluc3RlYWQuIik7cmV0dXJuIG5ldyBrKGEsYyxlKX07Yi5WZXJ0ZXhDb2xvcnM9CjI7Yi5WZXJ0ZXhOb3JtYWxzSGVscGVyPWVnO2IuVmlkZW9UZXh0dXJlPWJpO2IuV2ViR0xNdWx0aXNhbXBsZVJlbmRlclRhcmdldD1uO2IuV2ViR0xSZW5kZXJUYXJnZXQ9bTtiLldlYkdMUmVuZGVyVGFyZ2V0Q3ViZT1PYjtiLldlYkdMUmVuZGVyZXI9VGg7Yi5XZWJHTFV0aWxzPUZqO2IuV2lyZWZyYW1lR2VvbWV0cnk9R2U7Yi5XaXJlZnJhbWVIZWxwZXI9ZnVuY3Rpb24oYSxjKXtjb25zb2xlLndhcm4oIlRIUkVFLldpcmVmcmFtZUhlbHBlciBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuV2lyZWZyYW1lR2VvbWV0cnkgaW5zdGVhZC4iKTtyZXR1cm4gbmV3IEliKG5ldyBHZShhLmdlb21ldHJ5KSxuZXcgRmIoe2NvbG9yOnZvaWQgMCE9PWM/YzoxNjc3NzIxNX0pKX07Yi5XcmFwQXJvdW5kRW5kaW5nPTI0MDI7Yi5YSFJMb2FkZXI9ZnVuY3Rpb24oYSl7Y29uc29sZS53YXJuKCJUSFJFRS5YSFJMb2FkZXIgaGFzIGJlZW4gcmVuYW1lZCB0byBUSFJFRS5GaWxlTG9hZGVyLiIpOwpyZXR1cm4gbmV3IHdjKGEpfTtiLlplcm9DdXJ2YXR1cmVFbmRpbmc9MjQwMDtiLlplcm9GYWN0b3I9MjAwO2IuWmVyb1Nsb3BlRW5kaW5nPTI0MDE7Yi5aZXJvU3RlbmNpbE9wPTA7Yi5zUkdCRW5jb2Rpbmc9MzAwMTtPYmplY3QuZGVmaW5lUHJvcGVydHkoYiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1pbXBvcnRzL09yYml0Q29udHJvbHMuanMKVEhSRUUuT3JiaXRDb250cm9scz1mdW5jdGlvbihiLGQpe2Z1bmN0aW9uIGYoKXtyZXR1cm4gMipNYXRoLlBJLzYwLzYwKlcuYXV0b1JvdGF0ZVNwZWVkfWZ1bmN0aW9uIGgoKXtyZXR1cm4gTWF0aC5wb3coLjk1LFcuem9vbVNwZWVkKX1mdW5jdGlvbiBrKHNhKXtYYS50aGV0YS09c2F9ZnVuY3Rpb24gcihzYSl7WGEucGhpLT1zYX1mdW5jdGlvbiBsKHNhKXtXLm9iamVjdC5pc1BlcnNwZWN0aXZlQ2FtZXJhP3ViLz1zYTpXLm9iamVjdC5pc09ydGhvZ3JhcGhpY0NhbWVyYT8oVy5vYmplY3Quem9vbT1NYXRoLm1heChXLm1pblpvb20sTWF0aC5taW4oVy5tYXhab29tLFcub2JqZWN0Lnpvb20qc2EpKSxXLm9iamVjdC51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCkscWI9ITApOihjb25zb2xlLndhcm4oIldBUk5JTkc6IE9yYml0Q29udHJvbHMuanMgZW5jb3VudGVyZWQgYW4gdW5rbm93biBjYW1lcmEgdHlwZSAtIGRvbGx5L3pvb20gZGlzYWJsZWQuIiksVy5lbmFibGVab29tPSExKX1mdW5jdGlvbiBwKHNhKXtXLm9iamVjdC5pc1BlcnNwZWN0aXZlQ2FtZXJhPwp1Yio9c2E6Vy5vYmplY3QuaXNPcnRob2dyYXBoaWNDYW1lcmE/KFcub2JqZWN0Lnpvb209TWF0aC5tYXgoVy5taW5ab29tLE1hdGgubWluKFcubWF4Wm9vbSxXLm9iamVjdC56b29tL3NhKSksVy5vYmplY3QudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpLHFiPSEwKTooY29uc29sZS53YXJuKCJXQVJOSU5HOiBPcmJpdENvbnRyb2xzLmpzIGVuY291bnRlcmVkIGFuIHVua25vd24gY2FtZXJhIHR5cGUgLSBkb2xseS96b29tIGRpc2FibGVkLiIpLFcuZW5hYmxlWm9vbT0hMSl9ZnVuY3Rpb24gbShzYSl7emIuc2V0KHNhLmNsaWVudFgsc2EuY2xpZW50WSl9ZnVuY3Rpb24gbihzYSl7bGMuc2V0KHNhLmNsaWVudFgsc2EuY2xpZW50WSl9ZnVuY3Rpb24gcShzYSl7T2Iuc2V0KHNhLmNsaWVudFgsc2EuY2xpZW50WSl9ZnVuY3Rpb24gdShzYSl7dmIuc2V0KHNhLmNsaWVudFgsc2EuY2xpZW50WSk7R2Iuc3ViVmVjdG9ycyh2Yix6YikubXVsdGlwbHlTY2FsYXIoVy5yb3RhdGVTcGVlZCk7c2E9ClcuZG9tRWxlbWVudD09PWRvY3VtZW50P1cuZG9tRWxlbWVudC5ib2R5OlcuZG9tRWxlbWVudDtrKDIqTWF0aC5QSSpHYi54L3NhLmNsaWVudEhlaWdodCk7cigyKk1hdGguUEkqR2IueS9zYS5jbGllbnRIZWlnaHQpO3piLmNvcHkodmIpO1cudXBkYXRlKCl9ZnVuY3Rpb24gdyhzYSl7ZWMuc2V0KHNhLmNsaWVudFgsc2EuY2xpZW50WSk7UWQuc3ViVmVjdG9ycyhlYyxsYyk7MDxRZC55P2woaCgpKTowPlFkLnkmJnAoaCgpKTtsYy5jb3B5KGVjKTtXLnVwZGF0ZSgpfWZ1bmN0aW9uIEEoc2Epe0FiLnNldChzYS5jbGllbnRYLHNhLmNsaWVudFkpO0hiLnN1YlZlY3RvcnMoQWIsT2IpLm11bHRpcGx5U2NhbGFyKFcucGFuU3BlZWQpO3VkKEhiLngsSGIueSk7T2IuY29weShBYik7Vy51cGRhdGUoKX1mdW5jdGlvbiB5KCl7fWZ1bmN0aW9uIHgoc2EpezA+c2EuZGVsdGFZP3AoaCgpKTowPHNhLmRlbHRhWSYmbChoKCkpO1cudXBkYXRlKCl9ZnVuY3Rpb24gQyhzYSl7dmFyIE5iPSExO3N3aXRjaChzYS5rZXlDb2RlKXtjYXNlIFcua2V5cy5VUDp1ZCgwLApXLmtleVBhblNwZWVkKTtOYj0hMDticmVhaztjYXNlIFcua2V5cy5CT1RUT006dWQoMCwtVy5rZXlQYW5TcGVlZCk7TmI9ITA7YnJlYWs7Y2FzZSBXLmtleXMuTEVGVDp1ZChXLmtleVBhblNwZWVkLDApO05iPSEwO2JyZWFrO2Nhc2UgVy5rZXlzLlJJR0hUOnVkKC1XLmtleVBhblNwZWVkLDApLE5iPSEwfU5iJiYoc2EucHJldmVudERlZmF1bHQoKSxXLnVwZGF0ZSgpKX1mdW5jdGlvbiBHKHNhKXsxPT1zYS50b3VjaGVzLmxlbmd0aD96Yi5zZXQoc2EudG91Y2hlc1swXS5wYWdlWCxzYS50b3VjaGVzWzBdLnBhZ2VZKTp6Yi5zZXQoLjUqKHNhLnRvdWNoZXNbMF0ucGFnZVgrc2EudG91Y2hlc1sxXS5wYWdlWCksLjUqKHNhLnRvdWNoZXNbMF0ucGFnZVkrc2EudG91Y2hlc1sxXS5wYWdlWSkpfWZ1bmN0aW9uIEQoc2EpezE9PXNhLnRvdWNoZXMubGVuZ3RoP09iLnNldChzYS50b3VjaGVzWzBdLnBhZ2VYLHNhLnRvdWNoZXNbMF0ucGFnZVkpOk9iLnNldCguNSooc2EudG91Y2hlc1swXS5wYWdlWCsKc2EudG91Y2hlc1sxXS5wYWdlWCksLjUqKHNhLnRvdWNoZXNbMF0ucGFnZVkrc2EudG91Y2hlc1sxXS5wYWdlWSkpfWZ1bmN0aW9uIEIoc2Epe3ZhciBOYj1zYS50b3VjaGVzWzBdLnBhZ2VYLXNhLnRvdWNoZXNbMV0ucGFnZVg7c2E9c2EudG91Y2hlc1swXS5wYWdlWS1zYS50b3VjaGVzWzFdLnBhZ2VZO2xjLnNldCgwLE1hdGguc3FydChOYipOYitzYSpzYSkpfWZ1bmN0aW9uIEgoc2Epe1cuZW5hYmxlWm9vbSYmQihzYSk7Vy5lbmFibGVQYW4mJkQoc2EpfWZ1bmN0aW9uIEsoc2Epe1cuZW5hYmxlWm9vbSYmQihzYSk7Vy5lbmFibGVSb3RhdGUmJkcoc2EpfWZ1bmN0aW9uIEwoc2EpezE9PXNhLnRvdWNoZXMubGVuZ3RoP3ZiLnNldChzYS50b3VjaGVzWzBdLnBhZ2VYLHNhLnRvdWNoZXNbMF0ucGFnZVkpOnZiLnNldCguNSooc2EudG91Y2hlc1swXS5wYWdlWCtzYS50b3VjaGVzWzFdLnBhZ2VYKSwuNSooc2EudG91Y2hlc1swXS5wYWdlWStzYS50b3VjaGVzWzFdLnBhZ2VZKSk7R2Iuc3ViVmVjdG9ycyh2YiwKemIpLm11bHRpcGx5U2NhbGFyKFcucm90YXRlU3BlZWQpO3NhPVcuZG9tRWxlbWVudD09PWRvY3VtZW50P1cuZG9tRWxlbWVudC5ib2R5OlcuZG9tRWxlbWVudDtrKDIqTWF0aC5QSSpHYi54L3NhLmNsaWVudEhlaWdodCk7cigyKk1hdGguUEkqR2IueS9zYS5jbGllbnRIZWlnaHQpO3piLmNvcHkodmIpfWZ1bmN0aW9uIEooc2EpezE9PXNhLnRvdWNoZXMubGVuZ3RoP0FiLnNldChzYS50b3VjaGVzWzBdLnBhZ2VYLHNhLnRvdWNoZXNbMF0ucGFnZVkpOkFiLnNldCguNSooc2EudG91Y2hlc1swXS5wYWdlWCtzYS50b3VjaGVzWzFdLnBhZ2VYKSwuNSooc2EudG91Y2hlc1swXS5wYWdlWStzYS50b3VjaGVzWzFdLnBhZ2VZKSk7SGIuc3ViVmVjdG9ycyhBYixPYikubXVsdGlwbHlTY2FsYXIoVy5wYW5TcGVlZCk7dWQoSGIueCxIYi55KTtPYi5jb3B5KEFiKX1mdW5jdGlvbiBPKHNhKXt2YXIgTmI9c2EudG91Y2hlc1swXS5wYWdlWC1zYS50b3VjaGVzWzFdLnBhZ2VYO3NhPXNhLnRvdWNoZXNbMF0ucGFnZVktCnNhLnRvdWNoZXNbMV0ucGFnZVk7ZWMuc2V0KDAsTWF0aC5zcXJ0KE5iKk5iK3NhKnNhKSk7UWQuc2V0KDAsTWF0aC5wb3coZWMueS9sYy55LFcuem9vbVNwZWVkKSk7bChRZC55KTtsYy5jb3B5KGVjKX1mdW5jdGlvbiBTKHNhKXtXLmVuYWJsZVpvb20mJk8oc2EpO1cuZW5hYmxlUGFuJiZKKHNhKX1mdW5jdGlvbiBOKHNhKXtXLmVuYWJsZVpvb20mJk8oc2EpO1cuZW5hYmxlUm90YXRlJiZMKHNhKX1mdW5jdGlvbiBSKCl7fWZ1bmN0aW9uIFgoc2Epe2lmKCExIT09Vy5lbmFibGVkKXtzYS5wcmV2ZW50RGVmYXVsdCgpO1cuZG9tRWxlbWVudC5mb2N1cz9XLmRvbUVsZW1lbnQuZm9jdXMoKTp3aW5kb3cuZm9jdXMoKTtzd2l0Y2goc2EuYnV0dG9uKXtjYXNlIDA6c3dpdGNoKFcubW91c2VCdXR0b25zLkxFRlQpe2Nhc2UgVEhSRUUuTU9VU0UuUk9UQVRFOmlmKHNhLmN0cmxLZXl8fHNhLm1ldGFLZXl8fHNhLnNoaWZ0S2V5KXtpZighMT09PVcuZW5hYmxlUGFuKXJldHVybjtxKHNhKTtGYT0KQWEuUEFOfWVsc2V7aWYoITE9PT1XLmVuYWJsZVJvdGF0ZSlyZXR1cm47bShzYSk7RmE9QWEuUk9UQVRFfWJyZWFrO2Nhc2UgVEhSRUUuTU9VU0UuUEFOOmlmKHNhLmN0cmxLZXl8fHNhLm1ldGFLZXl8fHNhLnNoaWZ0S2V5KXtpZighMT09PVcuZW5hYmxlUm90YXRlKXJldHVybjttKHNhKTtGYT1BYS5ST1RBVEV9ZWxzZXtpZighMT09PVcuZW5hYmxlUGFuKXJldHVybjtxKHNhKTtGYT1BYS5QQU59YnJlYWs7ZGVmYXVsdDpGYT1BYS5OT05FfWJyZWFrO2Nhc2UgMTpzd2l0Y2goVy5tb3VzZUJ1dHRvbnMuTUlERExFKXtjYXNlIFRIUkVFLk1PVVNFLkRPTExZOmlmKCExPT09Vy5lbmFibGVab29tKXJldHVybjtuKHNhKTtGYT1BYS5ET0xMWTticmVhaztkZWZhdWx0OkZhPUFhLk5PTkV9YnJlYWs7Y2FzZSAyOnN3aXRjaChXLm1vdXNlQnV0dG9ucy5SSUdIVCl7Y2FzZSBUSFJFRS5NT1VTRS5ST1RBVEU6aWYoITE9PT1XLmVuYWJsZVJvdGF0ZSlyZXR1cm47bShzYSk7RmE9QWEuUk9UQVRFOwpicmVhaztjYXNlIFRIUkVFLk1PVVNFLlBBTjppZighMT09PVcuZW5hYmxlUGFuKXJldHVybjtxKHNhKTtGYT1BYS5QQU47YnJlYWs7ZGVmYXVsdDpGYT1BYS5OT05FfX1GYSE9PUFhLk5PTkUmJihkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLGFhLCExKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixmYSwhMSksVy5kaXNwYXRjaEV2ZW50KHZhKSl9fWZ1bmN0aW9uIGFhKHNhKXtpZighMSE9PVcuZW5hYmxlZClzd2l0Y2goc2EucHJldmVudERlZmF1bHQoKSxGYSl7Y2FzZSBBYS5ST1RBVEU6aWYoITE9PT1XLmVuYWJsZVJvdGF0ZSlicmVhazt1KHNhKTticmVhaztjYXNlIEFhLkRPTExZOmlmKCExPT09Vy5lbmFibGVab29tKWJyZWFrO3coc2EpO2JyZWFrO2Nhc2UgQWEuUEFOOiExIT09Vy5lbmFibGVQYW4mJkEoc2EpfX1mdW5jdGlvbiBmYShzYSl7ITEhPT1XLmVuYWJsZWQmJih5KHNhKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLAphYSwhMSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsZmEsITEpLFcuZGlzcGF0Y2hFdmVudCh5YSksRmE9QWEuTk9ORSl9ZnVuY3Rpb24gb2Eoc2EpeyExPT09Vy5lbmFibGVkfHwhMT09PVcuZW5hYmxlWm9vbXx8RmEhPT1BYS5OT05FJiZGYSE9PUFhLlJPVEFURXx8KHNhLnByZXZlbnREZWZhdWx0KCksc2Euc3RvcFByb3BhZ2F0aW9uKCksVy5kaXNwYXRjaEV2ZW50KHZhKSx4KHNhKSxXLmRpc3BhdGNoRXZlbnQoeWEpKX1mdW5jdGlvbiBaKHNhKXshMSE9PVcuZW5hYmxlZCYmITEhPT1XLmVuYWJsZUtleXMmJiExIT09Vy5lbmFibGVQYW4mJkMoc2EpfWZ1bmN0aW9uIGNhKHNhKXtpZighMSE9PVcuZW5hYmxlZCl7c2EucHJldmVudERlZmF1bHQoKTtzd2l0Y2goc2EudG91Y2hlcy5sZW5ndGgpe2Nhc2UgMTpzd2l0Y2goVy50b3VjaGVzLk9ORSl7Y2FzZSBUSFJFRS5UT1VDSC5ST1RBVEU6aWYoITE9PT1XLmVuYWJsZVJvdGF0ZSlyZXR1cm47RyhzYSk7RmE9CkFhLlRPVUNIX1JPVEFURTticmVhaztjYXNlIFRIUkVFLlRPVUNILlBBTjppZighMT09PVcuZW5hYmxlUGFuKXJldHVybjtEKHNhKTtGYT1BYS5UT1VDSF9QQU47YnJlYWs7ZGVmYXVsdDpGYT1BYS5OT05FfWJyZWFrO2Nhc2UgMjpzd2l0Y2goVy50b3VjaGVzLlRXTyl7Y2FzZSBUSFJFRS5UT1VDSC5ET0xMWV9QQU46aWYoITE9PT1XLmVuYWJsZVpvb20mJiExPT09Vy5lbmFibGVQYW4pcmV0dXJuO0goc2EpO0ZhPUFhLlRPVUNIX0RPTExZX1BBTjticmVhaztjYXNlIFRIUkVFLlRPVUNILkRPTExZX1JPVEFURTppZighMT09PVcuZW5hYmxlWm9vbSYmITE9PT1XLmVuYWJsZVJvdGF0ZSlyZXR1cm47SyhzYSk7RmE9QWEuVE9VQ0hfRE9MTFlfUk9UQVRFO2JyZWFrO2RlZmF1bHQ6RmE9QWEuTk9ORX1icmVhaztkZWZhdWx0OkZhPUFhLk5PTkV9RmEhPT1BYS5OT05FJiZXLmRpc3BhdGNoRXZlbnQodmEpfX1mdW5jdGlvbiBqYShzYSl7aWYoITEhPT1XLmVuYWJsZWQpc3dpdGNoKHNhLnByZXZlbnREZWZhdWx0KCksCnNhLnN0b3BQcm9wYWdhdGlvbigpLEZhKXtjYXNlIEFhLlRPVUNIX1JPVEFURTppZighMT09PVcuZW5hYmxlUm90YXRlKWJyZWFrO0woc2EpO1cudXBkYXRlKCk7YnJlYWs7Y2FzZSBBYS5UT1VDSF9QQU46aWYoITE9PT1XLmVuYWJsZVBhbilicmVhaztKKHNhKTtXLnVwZGF0ZSgpO2JyZWFrO2Nhc2UgQWEuVE9VQ0hfRE9MTFlfUEFOOmlmKCExPT09Vy5lbmFibGVab29tJiYhMT09PVcuZW5hYmxlUGFuKWJyZWFrO1Moc2EpO1cudXBkYXRlKCk7YnJlYWs7Y2FzZSBBYS5UT1VDSF9ET0xMWV9ST1RBVEU6aWYoITE9PT1XLmVuYWJsZVpvb20mJiExPT09Vy5lbmFibGVSb3RhdGUpYnJlYWs7TihzYSk7Vy51cGRhdGUoKTticmVhaztkZWZhdWx0OkZhPUFhLk5PTkV9fWZ1bmN0aW9uIGJhKHNhKXshMSE9PVcuZW5hYmxlZCYmKFIoc2EpLFcuZGlzcGF0Y2hFdmVudCh5YSksRmE9QWEuTk9ORSl9ZnVuY3Rpb24ga2Eoc2EpeyExIT09Vy5lbmFibGVkJiZzYS5wcmV2ZW50RGVmYXVsdCgpfXRoaXMub2JqZWN0PQpiO3RoaXMuZG9tRWxlbWVudD12b2lkIDAhPT1kP2Q6ZG9jdW1lbnQ7dGhpcy5lbmFibGVkPSEwO3RoaXMudGFyZ2V0PW5ldyBUSFJFRS5WZWN0b3IzO3RoaXMubWluRGlzdGFuY2U9MDt0aGlzLm1heERpc3RhbmNlPUluZmluaXR5O3RoaXMubWluWm9vbT0wO3RoaXMubWF4Wm9vbT1JbmZpbml0eTt0aGlzLm1pblBvbGFyQW5nbGU9MDt0aGlzLm1heFBvbGFyQW5nbGU9TWF0aC5QSTt0aGlzLm1pbkF6aW11dGhBbmdsZT0tSW5maW5pdHk7dGhpcy5tYXhBemltdXRoQW5nbGU9SW5maW5pdHk7dGhpcy5lbmFibGVEYW1waW5nPSExO3RoaXMuZGFtcGluZ0ZhY3Rvcj0uMDU7dGhpcy5lbmFibGVab29tPSEwO3RoaXMuem9vbVNwZWVkPTE7dGhpcy5lbmFibGVSb3RhdGU9ITA7dGhpcy5yb3RhdGVTcGVlZD0xO3RoaXMuZW5hYmxlUGFuPSEwO3RoaXMucGFuU3BlZWQ9MTt0aGlzLnNjcmVlblNwYWNlUGFubmluZz0hMTt0aGlzLmtleVBhblNwZWVkPTc7dGhpcy5hdXRvUm90YXRlPSExO3RoaXMuYXV0b1JvdGF0ZVNwZWVkPQoyO3RoaXMuZW5hYmxlS2V5cz0hMDt0aGlzLmtleXM9e0xFRlQ6MzcsVVA6MzgsUklHSFQ6MzksQk9UVE9NOjQwfTt0aGlzLm1vdXNlQnV0dG9ucz17TEVGVDpUSFJFRS5NT1VTRS5ST1RBVEUsTUlERExFOlRIUkVFLk1PVVNFLkRPTExZLFJJR0hUOlRIUkVFLk1PVVNFLlBBTn07dGhpcy50b3VjaGVzPXtPTkU6VEhSRUUuVE9VQ0guUk9UQVRFLFRXTzpUSFJFRS5UT1VDSC5ET0xMWV9QQU59O3RoaXMudGFyZ2V0MD10aGlzLnRhcmdldC5jbG9uZSgpO3RoaXMucG9zaXRpb24wPXRoaXMub2JqZWN0LnBvc2l0aW9uLmNsb25lKCk7dGhpcy56b29tMD10aGlzLm9iamVjdC56b29tO3RoaXMuZ2V0UG9sYXJBbmdsZT1mdW5jdGlvbigpe3JldHVybiBTYS5waGl9O3RoaXMuZ2V0QXppbXV0aGFsQW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gU2EudGhldGF9O3RoaXMuc2F2ZVN0YXRlPWZ1bmN0aW9uKCl7Vy50YXJnZXQwLmNvcHkoVy50YXJnZXQpO1cucG9zaXRpb24wLmNvcHkoVy5vYmplY3QucG9zaXRpb24pOwpXLnpvb20wPVcub2JqZWN0Lnpvb219O3RoaXMucmVzZXQ9ZnVuY3Rpb24oKXtXLnRhcmdldC5jb3B5KFcudGFyZ2V0MCk7Vy5vYmplY3QucG9zaXRpb24uY29weShXLnBvc2l0aW9uMCk7Vy5vYmplY3Quem9vbT1XLnpvb20wO1cub2JqZWN0LnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKTtXLmRpc3BhdGNoRXZlbnQoRWEpO1cudXBkYXRlKCk7RmE9QWEuTk9ORX07dGhpcy51cGRhdGU9ZnVuY3Rpb24oKXt2YXIgc2E9bmV3IFRIUkVFLlZlY3RvcjMsTmI9KG5ldyBUSFJFRS5RdWF0ZXJuaW9uKS5zZXRGcm9tVW5pdFZlY3RvcnMoYi51cCxuZXcgVEhSRUUuVmVjdG9yMygwLDEsMCkpLHljPU5iLmNsb25lKCkuaW52ZXJzZSgpLGRkPW5ldyBUSFJFRS5WZWN0b3IzLHZkPW5ldyBUSFJFRS5RdWF0ZXJuaW9uO3JldHVybiBmdW5jdGlvbigpe3ZhciB3Zz1XLm9iamVjdC5wb3NpdGlvbjtzYS5jb3B5KHdnKS5zdWIoVy50YXJnZXQpO3NhLmFwcGx5UXVhdGVybmlvbihOYik7U2Euc2V0RnJvbVZlY3RvcjMoc2EpOwpXLmF1dG9Sb3RhdGUmJkZhPT09QWEuTk9ORSYmayhmKCkpO1cuZW5hYmxlRGFtcGluZz8oU2EudGhldGErPVhhLnRoZXRhKlcuZGFtcGluZ0ZhY3RvcixTYS5waGkrPVhhLnBoaSpXLmRhbXBpbmdGYWN0b3IpOihTYS50aGV0YSs9WGEudGhldGEsU2EucGhpKz1YYS5waGkpO1NhLnRoZXRhPU1hdGgubWF4KFcubWluQXppbXV0aEFuZ2xlLE1hdGgubWluKFcubWF4QXppbXV0aEFuZ2xlLFNhLnRoZXRhKSk7U2EucGhpPU1hdGgubWF4KFcubWluUG9sYXJBbmdsZSxNYXRoLm1pbihXLm1heFBvbGFyQW5nbGUsU2EucGhpKSk7U2EubWFrZVNhZmUoKTtTYS5yYWRpdXMqPXViO1NhLnJhZGl1cz1NYXRoLm1heChXLm1pbkRpc3RhbmNlLE1hdGgubWluKFcubWF4RGlzdGFuY2UsU2EucmFkaXVzKSk7ITA9PT1XLmVuYWJsZURhbXBpbmc/Vy50YXJnZXQuYWRkU2NhbGVkVmVjdG9yKEJiLFcuZGFtcGluZ0ZhY3Rvcik6Vy50YXJnZXQuYWRkKEJiKTtzYS5zZXRGcm9tU3BoZXJpY2FsKFNhKTtzYS5hcHBseVF1YXRlcm5pb24oeWMpOwp3Zy5jb3B5KFcudGFyZ2V0KS5hZGQoc2EpO1cub2JqZWN0Lmxvb2tBdChXLnRhcmdldCk7ITA9PT1XLmVuYWJsZURhbXBpbmc/KFhhLnRoZXRhKj0xLVcuZGFtcGluZ0ZhY3RvcixYYS5waGkqPTEtVy5kYW1waW5nRmFjdG9yLEJiLm11bHRpcGx5U2NhbGFyKDEtVy5kYW1waW5nRmFjdG9yKSk6KFhhLnNldCgwLDAsMCksQmIuc2V0KDAsMCwwKSk7dWI9MTtyZXR1cm4gcWJ8fGRkLmRpc3RhbmNlVG9TcXVhcmVkKFcub2JqZWN0LnBvc2l0aW9uKT54YXx8OCooMS12ZC5kb3QoVy5vYmplY3QucXVhdGVybmlvbikpPnhhPyhXLmRpc3BhdGNoRXZlbnQoRWEpLGRkLmNvcHkoVy5vYmplY3QucG9zaXRpb24pLHZkLmNvcHkoVy5vYmplY3QucXVhdGVybmlvbikscWI9ITEsITApOiExfX0oKTt0aGlzLmRpc3Bvc2U9ZnVuY3Rpb24oKXtXLmRvbUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGthLCExKTtXLmRvbUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwKWCwhMSk7Vy5kb21FbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIixvYSwhMSk7Vy5kb21FbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGNhLCExKTtXLmRvbUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLGJhLCExKTtXLmRvbUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixqYSwhMSk7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixhYSwhMSk7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsZmEsITEpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixaLCExKX07dmFyIFc9dGhpcyxFYT17dHlwZToiY2hhbmdlIn0sdmE9e3R5cGU6InN0YXJ0In0seWE9e3R5cGU6ImVuZCJ9LEFhPXtOT05FOi0xLFJPVEFURTowLERPTExZOjEsUEFOOjIsVE9VQ0hfUk9UQVRFOjMsVE9VQ0hfUEFOOjQsVE9VQ0hfRE9MTFlfUEFOOjUsVE9VQ0hfRE9MTFlfUk9UQVRFOjZ9LApGYT1BYS5OT05FLHhhPTFFLTYsU2E9bmV3IFRIUkVFLlNwaGVyaWNhbCxYYT1uZXcgVEhSRUUuU3BoZXJpY2FsLHViPTEsQmI9bmV3IFRIUkVFLlZlY3RvcjMscWI9ITEsemI9bmV3IFRIUkVFLlZlY3RvcjIsdmI9bmV3IFRIUkVFLlZlY3RvcjIsR2I9bmV3IFRIUkVFLlZlY3RvcjIsT2I9bmV3IFRIUkVFLlZlY3RvcjIsQWI9bmV3IFRIUkVFLlZlY3RvcjIsSGI9bmV3IFRIUkVFLlZlY3RvcjIsbGM9bmV3IFRIUkVFLlZlY3RvcjIsZWM9bmV3IFRIUkVFLlZlY3RvcjIsUWQ9bmV3IFRIUkVFLlZlY3RvcjIsdGQ9ZnVuY3Rpb24oKXt2YXIgc2E9bmV3IFRIUkVFLlZlY3RvcjM7cmV0dXJuIGZ1bmN0aW9uKE5iLHljKXtzYS5zZXRGcm9tTWF0cml4Q29sdW1uKHljLDApO3NhLm11bHRpcGx5U2NhbGFyKC1OYik7QmIuYWRkKHNhKX19KCksTmM9ZnVuY3Rpb24oKXt2YXIgc2E9bmV3IFRIUkVFLlZlY3RvcjM7cmV0dXJuIGZ1bmN0aW9uKE5iLHljKXshMD09PVcuc2NyZWVuU3BhY2VQYW5uaW5nPwpzYS5zZXRGcm9tTWF0cml4Q29sdW1uKHljLDEpOihzYS5zZXRGcm9tTWF0cml4Q29sdW1uKHljLDApLHNhLmNyb3NzVmVjdG9ycyhXLm9iamVjdC51cCxzYSkpO3NhLm11bHRpcGx5U2NhbGFyKE5iKTtCYi5hZGQoc2EpfX0oKSx1ZD1mdW5jdGlvbigpe3ZhciBzYT1uZXcgVEhSRUUuVmVjdG9yMztyZXR1cm4gZnVuY3Rpb24oTmIseWMpe3ZhciBkZD1XLmRvbUVsZW1lbnQ9PT1kb2N1bWVudD9XLmRvbUVsZW1lbnQuYm9keTpXLmRvbUVsZW1lbnQ7aWYoVy5vYmplY3QuaXNQZXJzcGVjdGl2ZUNhbWVyYSl7c2EuY29weShXLm9iamVjdC5wb3NpdGlvbikuc3ViKFcudGFyZ2V0KTt2YXIgdmQ9c2EubGVuZ3RoKCk7dmQqPU1hdGgudGFuKFcub2JqZWN0LmZvdi8yKk1hdGguUEkvMTgwKTt0ZCgyKk5iKnZkL2RkLmNsaWVudEhlaWdodCxXLm9iamVjdC5tYXRyaXgpO05jKDIqeWMqdmQvZGQuY2xpZW50SGVpZ2h0LFcub2JqZWN0Lm1hdHJpeCl9ZWxzZSBXLm9iamVjdC5pc09ydGhvZ3JhcGhpY0NhbWVyYT8KKHRkKE5iKihXLm9iamVjdC5yaWdodC1XLm9iamVjdC5sZWZ0KS9XLm9iamVjdC56b29tL2RkLmNsaWVudFdpZHRoLFcub2JqZWN0Lm1hdHJpeCksTmMoeWMqKFcub2JqZWN0LnRvcC1XLm9iamVjdC5ib3R0b20pL1cub2JqZWN0Lnpvb20vZGQuY2xpZW50SGVpZ2h0LFcub2JqZWN0Lm1hdHJpeCkpOihjb25zb2xlLndhcm4oIldBUk5JTkc6IE9yYml0Q29udHJvbHMuanMgZW5jb3VudGVyZWQgYW4gdW5rbm93biBjYW1lcmEgdHlwZSAtIHBhbiBkaXNhYmxlZC4iKSxXLmVuYWJsZVBhbj0hMSl9fSgpO1cuZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsa2EsITEpO1cuZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLFgsITEpO1cuZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsb2EsITEpO1cuZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixjYSwhMSk7Vy5kb21FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIiwKYmEsITEpO1cuZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGphLCExKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsWiwhMSk7dGhpcy51cGRhdGUoKX07VEhSRUUuT3JiaXRDb250cm9scy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShUSFJFRS5FdmVudERpc3BhdGNoZXIucHJvdG90eXBlKTtUSFJFRS5PcmJpdENvbnRyb2xzLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1USFJFRS5PcmJpdENvbnRyb2xzO1RIUkVFLk1hcENvbnRyb2xzPWZ1bmN0aW9uKGIsZCl7VEhSRUUuT3JiaXRDb250cm9scy5jYWxsKHRoaXMsYixkKTt0aGlzLm1vdXNlQnV0dG9ucy5MRUZUPVRIUkVFLk1PVVNFLlBBTjt0aGlzLm1vdXNlQnV0dG9ucy5SSUdIVD1USFJFRS5NT1VTRS5ST1RBVEU7dGhpcy50b3VjaGVzLk9ORT1USFJFRS5UT1VDSC5QQU47dGhpcy50b3VjaGVzLlRXTz1USFJFRS5UT1VDSC5ET0xMWV9ST1RBVEV9OwpUSFJFRS5NYXBDb250cm9scy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShUSFJFRS5FdmVudERpc3BhdGNoZXIucHJvdG90eXBlKTtUSFJFRS5NYXBDb250cm9scy5wcm90b3R5cGUuY29uc3RydWN0b3I9VEhSRUUuTWFwQ29udHJvbHM7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaW1wb3J0cy9hcnJheS1idWZmZXItZGF0YS1wcm92aWRlci5qcwp2YXIgZmw7CihmdW5jdGlvbihiKXtiLkVycm9yQ29kZXM9e0NBTkNFTExFRDoxfTtjb25zdCBkPXtWRVJURVg6MSxGQUNFOjIsQ09MT1I6M30sZj17VkVSVEVYOiJmbG9hdDMyIixGQUNFOiJpbnQzMiIsQ09MT1I6InVpbnQ4In07Y2xhc3MgaHtjb25zdHJ1Y3RvcihrKXt0aGlzLl9yZXF1ZXN0TWFuYWdlcj1rO3RoaXMuX2NhbmNlbGxlcj1uZXcgZGMuQ2FuY2VsbGVyfXJlbG9hZChrLHIsbCl7dGhpcy5fY2FuY2VsbGVyLmNhbmNlbEFsbCgpO3JldHVybiB0aGlzLl9mZXRjaE1ldGFkYXRhKGsscixsKX1fZmV0Y2hEYXRhQnlTdGVwKGsscixsLHAsbSxuKXtmdW5jdGlvbiBxKHUpe2xldCB3PVtdO2ZvcihsZXQgQT0wO0E8dS5sZW5ndGgvMztBKyspe2xldCB5PVtdO2ZvcihsZXQgeD0wOzM+eDt4KyspeS5wdXNoKHVbMypBK3hdKTt3LnB1c2goeSl9cmV0dXJuIHd9az1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgibWVzaCIsIi9kYXRhIixuZXcgVVJMU2VhcmNoUGFyYW1zKHt0YWc6cixydW46aywKY29udGVudF90eXBlOmwsc2FtcGxlOnAsc3RlcDptfSkpO3I9dGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKHU9PntpZih1LmNhbmNlbGxlZClyZXR1cm4gUHJvbWlzZS5yZWplY3Qoe2NvZGU6Yi5FcnJvckNvZGVzLkNBTkNFTExFRCxtZXNzYWdlOiJSZXNwb25zZSB3YXMgaW52YWxpZGF0ZWQuIn0pO3U9dS52YWx1ZTtzd2l0Y2gobCl7Y2FzZSAiVkVSVEVYIjpuLnZlcnRpY2VzPXEobmV3IEZsb2F0MzJBcnJheSh1KSk7YnJlYWs7Y2FzZSAiRkFDRSI6bi5mYWNlcz1xKG5ldyBJbnQzMkFycmF5KHUpKTticmVhaztjYXNlICJDT0xPUiI6bi5jb2xvcnM9cShuZXcgVWludDhBcnJheSh1KSl9cmV0dXJuIG59KTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIuZmV0Y2goayxudWxsLCJhcnJheWJ1ZmZlciIsZltsXSkudGhlbih1PT51LmFycmF5QnVmZmVyKCkpLnRoZW4ocil9ZmV0Y2hEYXRhKGsscixsLHApe2xldCBtPVtdLG49bmV3IE1hcDtPYmplY3Qua2V5cyhkKS5mb3JFYWNoKHE9Pgp7ay5jb21wb25lbnRzJjE8PGRbcV0mJm0ucHVzaCh0aGlzLl9mZXRjaERhdGFCeVN0ZXAocixsLHEscCxrLnN0ZXAsbikpfSk7cmV0dXJuIFByb21pc2UuYWxsKG0pfV9mZXRjaE1ldGFkYXRhKGsscixsKXt0aGlzLl9jYW5jZWxsZXIuY2FuY2VsQWxsKCk7az1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgibWVzaCIsIi9tZXNoZXMiLG5ldyBVUkxTZWFyY2hQYXJhbXMoe3RhZzpyLHJ1bjprLHNhbXBsZTpsfSkpO3I9dGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKHA9PnAuY2FuY2VsbGVkP1Byb21pc2UucmVqZWN0KHtjb2RlOmIuRXJyb3JDb2Rlcy5DQU5DRUxMRUQsbWVzc2FnZToiUmVzcG9uc2Ugd2FzIGludmFsaWRhdGVkLiJ9KTpwLnZhbHVlKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIuZmV0Y2goaykudGhlbihwPT5wLmpzb24oKSkudGhlbihyKS50aGVuKHRoaXMuX3Byb2Nlc3NNZXRhZGF0YS5iaW5kKHRoaXMpKX1fcHJvY2Vzc01ldGFkYXRhKGspe2lmKGspe3ZhciByPQpuZXcgTWFwO2ZvcihsZXQgcD0wO3A8ay5sZW5ndGg7cCsrKXtsZXQgbT1rW3BdO3IuaGFzKG0uc3RlcCl8fHIuc2V0KG0uc3RlcCxbXSk7ci5nZXQobS5zdGVwKS5wdXNoKG0pfXZhciBsPVtdO3IuZm9yRWFjaChwPT57cD10aGlzLl9jcmVhdGVTdGVwRGF0dW0ocFswXSk7bC5wdXNoKHApfSk7cmV0dXJuIGx9fV9jcmVhdGVTdGVwRGF0dW0oayl7cmV0dXJue3dhbGxfdGltZTpuZXcgRGF0ZSgxRTMqay53YWxsX3RpbWUpLHN0ZXA6ay5zdGVwLGNvbmZpZzprLmNvbmZpZyxjb250ZW50X3R5cGU6ay5jb250ZW50X3R5cGUsY29tcG9uZW50czprLmNvbXBvbmVudHN9fX1iLkFycmF5QnVmZmVyRGF0YVByb3ZpZGVyPWh9KShmbHx8KGZsPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaW1wb3J0cy9tZXNoLXZpZXdlci5qcwooZnVuY3Rpb24oYil7Y2xhc3MgZCBleHRlbmRzIFRIUkVFLkV2ZW50RGlzcGF0Y2hlcntjb25zdHJ1Y3RvcihmKXtzdXBlcigpO3RoaXMuX2xhc3RNZXNoPW51bGw7dGhpcy5fY2xvY2s9bmV3IFRIUkVFLkNsb2NrO3RoaXMuX2NhbnZhc1NpemU9bnVsbDt0aGlzLl9ydW5Db2xvcj1mfV9pc09iamVjdChmKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGYmJm51bGwhPWYmJiFBcnJheS5pc0FycmF5KGYpfV9hcHBseURlZmF1bHRzKGYsaCl7bGV0IGs9e307Zj1bZixoXTtmb3IoaD0wO2g8Zi5sZW5ndGg7aCsrKXtjb25zdCByPWZbaF07Zm9yKGxldCBsIGluIHIpe2NvbnN0IHA9bCBpbiBrO3RoaXMuX2lzT2JqZWN0KHJbbF0pP2tbbF09dGhpcy5fYXBwbHlEZWZhdWx0cyhrW2xdfHx7fSxyW2xdKTpwfHwoa1tsXT1yW2xdKX19cmV0dXJuIGt9X2NyZWF0ZVdvcmxkKGYsaCl7dGhpcy5pc1JlYWR5KCl8fCh0aGlzLl9zY2VuZT1uZXcgVEhSRUUuU2NlbmUsdGhpcy5fY2FtZXJhPWY9bmV3IFRIUkVFW2YuY2FtZXJhLmNsc10oZi5jYW1lcmEuZm92LAp0aGlzLl9jYW52YXNTaXplLndpZHRoL3RoaXMuX2NhbnZhc1NpemUuaGVpZ2h0LGYuY2FtZXJhLm5lYXIsZi5jYW1lcmEuZmFyKSxoPW5ldyBUSFJFRS5PcmJpdENvbnRyb2xzKGYsaCksaC5sb29rU3BlZWQ9LjQsaC5tb3ZlbWVudFNwZWVkPTIwLGgubm9GbHk9ITAsaC5sb29rVmVydGljYWw9ITAsaC5jb25zdHJhaW5WZXJ0aWNhbD0hMCxoLnZlcnRpY2FsTWluPTEsaC52ZXJ0aWNhbE1heD0yLGguYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9vbkNhbWVyYVBvc2l0aW9uQ2hhbmdlLmJpbmQodGhpcykpLHRoaXMuX2NhbWVyYUNvbnRyb2xzPWgsdGhpcy5fcmVuZGVyZXI9bmV3IFRIUkVFLldlYkdMUmVuZGVyZXIoe2FudGlhbGlhczohMH0pLHRoaXMuX3JlbmRlcmVyLnNldFBpeGVsUmF0aW8oKSx0aGlzLl9yZW5kZXJlci5zZXRTaXplKHRoaXMuX2NhbnZhc1NpemUud2lkdGgsdGhpcy5fY2FudmFzU2l6ZS5oZWlnaHQpLHRoaXMuX3JlbmRlcmVyLnNldENsZWFyQ29sb3IoMTY3NzcyMTUsCjEpKX1fY2xlYXJTY2VuZSgpe2Zvcig7MDx0aGlzLl9zY2VuZS5jaGlsZHJlbi5sZW5ndGg7KXRoaXMuX3NjZW5lLnJlbW92ZSh0aGlzLl9zY2VuZS5jaGlsZHJlblswXSl9Z2V0UmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXJ9Z2V0Q2FtZXJhQ29udHJvbHMoKXtyZXR1cm4gdGhpcy5fY2FtZXJhQ29udHJvbHN9aXNSZWFkeSgpe3JldHVybiEhdGhpcy5fY2FtZXJhJiYhIXRoaXMuX2NhbWVyYUNvbnRyb2xzfWdldENhbWVyYVBvc2l0aW9uKCl7cmV0dXJue2Zhcjp0aGlzLl9jYW1lcmEuZmFyLHBvc2l0aW9uOnRoaXMuX2NhbWVyYS5wb3NpdGlvbi5jbG9uZSgpLHRhcmdldDp0aGlzLl9jYW1lcmFDb250cm9scy50YXJnZXQuY2xvbmUoKX19c2V0Q2FudmFzU2l6ZShmKXt0aGlzLl9jYW52YXNTaXplPWZ9ZHJhdygpe3RoaXMuX2FuaW1hdGlvbkZyYW1lSW5kZXgmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2FuaW1hdGlvbkZyYW1lSW5kZXgpO3RoaXMuX2NhbWVyYS5hc3BlY3Q9CnRoaXMuX2NhbnZhc1NpemUud2lkdGgvdGhpcy5fY2FudmFzU2l6ZS5oZWlnaHQ7dGhpcy5fY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKTt0aGlzLl9yZW5kZXJlci5zZXRTaXplKHRoaXMuX2NhbnZhc1NpemUud2lkdGgsdGhpcy5fY2FudmFzU2l6ZS5oZWlnaHQpO2NvbnN0IGY9ZnVuY3Rpb24oKXt2YXIgaD10aGlzLl9jbG9jay5nZXREZWx0YSgpO3RoaXMuX2NhbWVyYUNvbnRyb2xzLnVwZGF0ZShoKTt0aGlzLl9hbmltYXRpb25GcmFtZUluZGV4PXJlcXVlc3RBbmltYXRpb25GcmFtZShmKTt0aGlzLl9yZW5kZXJlci5yZW5kZXIodGhpcy5fc2NlbmUsdGhpcy5fY2FtZXJhKX0uYmluZCh0aGlzKTtmKCl9dXBkYXRlU2NlbmUoZixoKXtsZXQgaz17fTsiY29uZmlnImluIGYmJmYuY29uZmlnJiYoaz1KU09OLnBhcnNlKGYuY29uZmlnKSk7dGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJiZWZvcmVVcGRhdGVTY2VuZSJ9KTtrPXRoaXMuX2FwcGx5RGVmYXVsdHMoayx7Y2FtZXJhOntjbHM6IlBlcnNwZWN0aXZlQ2FtZXJhIiwKZm92Ojc1LG5lYXI6LjEsZmFyOjFFM30sbGlnaHRzOlt7Y2xzOiJBbWJpZW50TGlnaHQiLGNvbG9yOiIjZmZmZmZmIixpbnRlbnNpdHk6Ljc1fSx7Y2xzOiJEaXJlY3Rpb25hbExpZ2h0Iixjb2xvcjoiI2ZmZmZmZiIsaW50ZW5zaXR5Oi43NSxwb3NpdGlvbjpbMCwtMSwyXX1dfSk7dGhpcy5fY3JlYXRlV29ybGQoayxoKTt0aGlzLl9jbGVhclNjZW5lKCk7dGhpcy5fY3JlYXRlTGlnaHRzKHRoaXMuX3NjZW5lLGspO3RoaXMuX2NyZWF0ZUdlb21ldHJ5KGYsayk7dGhpcy5kcmF3KCl9cmVzZXRWaWV3KCl7aWYodGhpcy5pc1JlYWR5KCkpe3RoaXMuX2NhbWVyYUNvbnRyb2xzLnJlc2V0KCk7aWYoIWYmJnRoaXMuX2xhc3RNZXNoKXZhciBmPXRoaXMuX2xhc3RNZXNoO2YmJih0aGlzLl9maXRPYmplY3RUb1ZpZXdwb3J0KGYpLHRoaXMuX2xhc3RNZXNoPWYpO3RoaXMuX2NhbWVyYUNvbnRyb2xzLnVwZGF0ZSgpfX1fY3JlYXRlR2VvbWV0cnkoZixoKXtmPWYubWVzaDtmLnZlcnRpY2VzJiZmLmZhY2VzJiYKZi5mYWNlcy5sZW5ndGg/dGhpcy5fY3JlYXRlTWVzaChmLGgpOnRoaXMuX2NyZWF0ZVBvaW50Q2xvdWQoZixoKX1fY3JlYXRlUG9pbnRDbG91ZChmLGgpe3ZhciBrPWYudmVydGljZXM7Zj1mLmNvbG9ycztsZXQgcj17bWF0ZXJpYWw6e2NsczoiUG9pbnRzTWF0ZXJpYWwiLHNpemU6LjAwNX19O2YmJmYubGVuZ3RoPT1rLmxlbmd0aD9yLm1hdGVyaWFsLnZlcnRleENvbG9ycz1USFJFRS5WZXJ0ZXhDb2xvcnM6ci5tYXRlcmlhbC5jb2xvcj10aGlzLl9ydW5Db2xvcjtoPXRoaXMuX2FwcGx5RGVmYXVsdHMoaCxyKTt2YXIgbD1uZXcgVEhSRUUuR2VvbWV0cnk7ay5mb3JFYWNoKGZ1bmN0aW9uKHApe3ZhciBtPW5ldyBUSFJFRS5WZWN0b3IzKHBbMF0scFsxXSxwWzJdKTttLng9MSpwWzBdO20ueT0xKnBbMV07bS56PTEqcFsyXTtsLnZlcnRpY2VzLnB1c2gobSl9KTtmJiZmLmxlbmd0aD09ay5sZW5ndGgmJmYuZm9yRWFjaChmdW5jdGlvbihwKXtwPW5ldyBUSFJFRS5Db2xvcihwWzBdLzI1NSwKcFsxXS8yNTUscFsyXS8yNTUpO2wuY29sb3JzLnB1c2gocCl9KTtrPW5ldyBUSFJFRVtoLm1hdGVyaWFsLmNsc10oaC5tYXRlcmlhbCk7az1uZXcgVEhSRUUuUG9pbnRzKGwsayk7dGhpcy5fc2NlbmUuYWRkKGspO3RoaXMuX2xhc3RNZXNoPWt9c2V0Q2FtZXJhVmlld3BvaW50KGYsaCxrKXt0aGlzLl9zaWxlbnQ9ITA7dGhpcy5fY2FtZXJhLmZhcj1oO3RoaXMuX2NhbWVyYS5wb3NpdGlvbi5zZXQoZi54LGYueSxmLnopO3RoaXMuX2NhbWVyYS5sb29rQXQoay5jbG9uZSgpKTt0aGlzLl9jYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpO3RoaXMuX2NhbWVyYUNvbnRyb2xzLnRhcmdldD1rLmNsb25lKCk7dGhpcy5fY2FtZXJhQ29udHJvbHMudXBkYXRlKCk7dGhpcy5fc2lsZW50PSExfV9vbkNhbWVyYVBvc2l0aW9uQ2hhbmdlKGYpe3RoaXMuX3NpbGVudHx8dGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJjYW1lcmFQb3NpdGlvbkNoYW5nZSIsZXZlbnQ6Zn0pfV9maXRPYmplY3RUb1ZpZXdwb3J0KGYpe3ZhciBoPQpuZXcgVEhSRUUuQm94MztoLnNldEZyb21PYmplY3QoZik7Zj1oLmNlbnRlcigpO3ZhciBrPWguc2l6ZSgpO2s9MS4yNSpNYXRoLmFicyhNYXRoLm1heChrLngsay55LGsueikvKDIqTWF0aC50YW4oTWF0aC5QSS8xODAqdGhpcy5fY2FtZXJhLmZvdi8yKSkpO2g9aC5taW4uejt0aGlzLnNldENhbWVyYVZpZXdwb2ludCh7eDpmLngseTpmLnksejprfSwzKigwPmg/LWgrazprLWgpLGYpfV9jcmVhdGVNZXNoKGYsaCl7dmFyIGs9Zi52ZXJ0aWNlcztjb25zdCByPWYuZmFjZXMsbD1mLmNvbG9ycztmPXRoaXMuX2FwcGx5RGVmYXVsdHMoaCx7bWF0ZXJpYWw6e2NsczoiTWVzaFN0YW5kYXJkTWF0ZXJpYWwiLGNvbG9yOiIjYTBhMGEwIixyb3VnaG5lc3M6MSxtZXRhbG5lc3M6MH19KTtsZXQgcD1uZXcgVEhSRUUuR2VvbWV0cnk7ay5mb3JFYWNoKGZ1bmN0aW9uKG0pe2xldCBuPW5ldyBUSFJFRS5WZWN0b3IzKG1bMF0sbVsxXSxtWzJdKTtuLng9MSptWzBdO24ueT0xKm1bMV07bi56PTEqbVsyXTsKcC52ZXJ0aWNlcy5wdXNoKG4pfSk7ci5mb3JFYWNoKGZ1bmN0aW9uKG0pe2xldCBuPW5ldyBUSFJFRS5GYWNlMyhtWzBdLG1bMV0sbVsyXSk7aWYobCYmbC5sZW5ndGgpe209W2xbbVswXV0sbFttWzFdXSxsW21bMl1dXTtmb3IobGV0IHU9MDt1PG0ubGVuZ3RoO3UrKyl7dmFyIHE9bVt1XTtxPW5ldyBUSFJFRS5Db2xvcihxWzBdLzI1NSxxWzFdLzI1NSxxWzJdLzI1NSk7bi52ZXJ0ZXhDb2xvcnMucHVzaChxKX19cC5mYWNlcy5wdXNoKG4pfSk7bCYmbC5sZW5ndGgmJihmLm1hdGVyaWFsPWYubWF0ZXJpYWx8fHt9LGYubWF0ZXJpYWwudmVydGV4Q29sb3JzPVRIUkVFLlZlcnRleENvbG9ycyk7cC5jZW50ZXIoKTtwLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpO3AuY29tcHV0ZVZlcnRleE5vcm1hbHMoKTtrPW5ldyBUSFJFRVtmLm1hdGVyaWFsLmNsc10oZi5tYXRlcmlhbCk7az1uZXcgVEhSRUUuTWVzaChwLGspO2suY2FzdFNoYWRvdz0hMDtrLnJlY2VpdmVTaGFkb3c9ITA7dGhpcy5fc2NlbmUuYWRkKGspOwp0aGlzLl9sYXN0TWVzaD1rfV9jcmVhdGVMaWdodHMoZixoKXtmb3IobGV0IGs9MDtrPGgubGlnaHRzLmxlbmd0aDtrKyspe2NvbnN0IHI9aC5saWdodHNba107bGV0IGw9bmV3IFRIUkVFW3IuY2xzXShyLmNvbG9yLHIuaW50ZW5zaXR5KTtyLnBvc2l0aW9uJiZsLnBvc2l0aW9uLnNldChyLnBvc2l0aW9uWzBdLHIucG9zaXRpb25bMV0sci5wb3NpdGlvblsyXSk7Zi5hZGQobCl9fX1iLk1lc2hWaWV3ZXI9ZH0pKGZsfHwoZmw9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1wbHVnaW4tdXRpbC9tZXNzYWdlLmpzCkpoPXRoaXMmJnRoaXMuX19hd2FpdGVyfHxmdW5jdGlvbihiLGQsZixoKXtyZXR1cm4gbmV3IChmfHwoZj1Qcm9taXNlKSkoZnVuY3Rpb24oayxyKXtmdW5jdGlvbiBsKG4pe3RyeXttKGgubmV4dChuKSl9Y2F0Y2gocSl7cihxKX19ZnVuY3Rpb24gcChuKXt0cnl7bShoWyJ0aHJvdyJdKG4pKX1jYXRjaChxKXtyKHEpfX1mdW5jdGlvbiBtKG4pe24uZG9uZT9rKG4udmFsdWUpOihuZXcgZihmdW5jdGlvbihxKXtxKG4udmFsdWUpfSkpLnRoZW4obCxwKX1tKChoPWguYXBwbHkoYixkfHxbXSkpLm5leHQoKSl9KX07dmFyIGdsOwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpeyhmdW5jdGlvbihmKXtjbGFzcyBoe2NvbnN0cnVjdG9yKGspe3RoaXMucG9ydD1rO3RoaXMuaWQ9MDt0aGlzLnJlc3BvbnNlV2FpdHM9bmV3IE1hcDt0aGlzLmxpc3RlbmVycz1uZXcgTWFwO3RoaXMucG9ydC5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixyPT50aGlzLm9uTWVzc2FnZShyKSl9bGlzdGVuKGsscil7dGhpcy5saXN0ZW5lcnMuc2V0KGsscil9dW5saXN0ZW4oayl7dGhpcy5saXN0ZW5lcnMuZGVsZXRlKGspfW9uTWVzc2FnZShrKXtyZXR1cm4gSmgodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3ZhciByPUpTT04ucGFyc2Uoay5kYXRhKTtjb25zdCBsPXIudHlwZSxwPXIuaWQsbT1yLnBheWxvYWQ7dmFyIG49ci5lcnJvcjtpZihyLmlzUmVwbHkpe2lmKHRoaXMucmVzcG9uc2VXYWl0cy5oYXMocCkpe3ZhciB7cmVzb2x2ZTpxLHJlamVjdDp1fT10aGlzLnJlc3BvbnNlV2FpdHMuZ2V0KHApO3RoaXMucmVzcG9uc2VXYWl0cy5kZWxldGUocCk7Cm4/dShFcnJvcihuKSk6cShtKX19ZWxzZXtuPXI9bnVsbDtpZih0aGlzLmxpc3RlbmVycy5oYXMobCkpe2NvbnN0IHc9dGhpcy5saXN0ZW5lcnMuZ2V0KGwpO3RyeXtyPXlpZWxkIHcobSl9Y2F0Y2goQSl7bj1BfX10aGlzLnBvc3RNZXNzYWdlKHtbInR5cGUiXTpsLFsiaWQiXTpwLFsicGF5bG9hZCJdOnIsWyJlcnJvciJdOm4sWyJpc1JlcGx5Il06ITB9KX19KX1wb3N0TWVzc2FnZShrKXt0aGlzLnBvcnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoaykpfXNlbmRNZXNzYWdlKGspe2NvbnN0IHI9dGhpcy5pZCsrO3RoaXMucG9zdE1lc3NhZ2Uoe3R5cGU6ImV4cGVyaW1lbnRhbC5SdW5zQ2hhbmdlZCIsaWQ6cixwYXlsb2FkOmssZXJyb3I6bnVsbCxpc1JlcGx5OiExfSk7cmV0dXJuIG5ldyBQcm9taXNlKChsLHApPT57dGhpcy5yZXNwb25zZVdhaXRzLnNldChyLHtyZXNvbHZlOmwscmVqZWN0OnB9KX0pfX1mLklQQz1ofSkoZC5ET19OT1RfVVNFX0lOVEVSTkFMfHwoZC5ET19OT1RfVVNFX0lOVEVSTkFMPQp7fSkpfSkoYi5saWJ8fChiLmxpYj17fSkpfSkoZ2x8fChnbD17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLXBsdWdpbi11dGlsL3BsdWdpbi1ob3N0LWlwYy5qcwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpe2Z1bmN0aW9uIGYobSxuKXtjb25zdCBxPW5ldyBiLmxpYi5ET19OT1RfVVNFX0lOVEVSTkFMLklQQyhtKTtyLmFkZChxKTtwLnNldChxLG4pO20uc3RhcnQoKTtmb3IoY29uc3QgW3Usd11vZiBsKW09aCh3LHEpLHEubGlzdGVuKHUsbSl9ZnVuY3Rpb24gaChtLG4pe3JldHVybiBxPT57dmFyIHU9cC5nZXQobik7dT1rLmdldCh1KXx8bnVsbDtyZXR1cm4gbSh1LHEpfX1kLnJlZ2lzdGVyUGx1Z2luSWZyYW1lPWZ1bmN0aW9uKG0sbil7ay5zZXQobSx7cGx1Z2luTmFtZTpufSl9O2NvbnN0IGs9bmV3IFdlYWtNYXAscj1uZXcgU2V0LGw9bmV3IE1hcCxwPW5ldyBNYXA7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLG09PntpZigiZXhwZXJpbWVudGFsLmJvb3RzdHJhcCI9PT1tLmRhdGEpe3ZhciBuPW0ucG9ydHNbMF07biYmKG09bS5zb3VyY2U/bS5zb3VyY2UuZnJhbWVFbGVtZW50Om51bGwpJiZmKG4sbSl9fSk7ZC5icm9hZGNhc3Q9CmZ1bmN0aW9uKCl7dmFyIG09ZGMucnVuc1N0b3JlLmdldFJ1bnMoKTtmb3IodmFyIG4gb2YgcilwLmdldChuKS5pc0Nvbm5lY3RlZHx8KHIuZGVsZXRlKG4pLHAuZGVsZXRlKG4pKTtuPVsuLi5yXS5tYXAocT0+cS5zZW5kTWVzc2FnZShtKSk7cmV0dXJuIFByb21pc2UuYWxsKG4pfTtkLmxpc3Rlbj1mdW5jdGlvbihtLG4pe2wuc2V0KG0sbik7Zm9yKGNvbnN0IHEgb2Ygcil7Y29uc3QgdT1oKG4scSk7cS5saXN0ZW4obSx1KX19O2QudW5saXN0ZW49ZnVuY3Rpb24obSl7bC5kZWxldGUobSk7Zm9yKGNvbnN0IG4gb2YgciluLnVubGlzdGVuKG0pfX0pKGIuaG9zdHx8KGIuaG9zdD17fSkpfSkoZ2x8fChnbD17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLXBsdWdpbi11dGlsL2NvcmUtaG9zdC1pbXBsLmpzCmdsLmhvc3QubGlzdGVuKCJleHBlcmltZW50YWwuR2V0VVJMUGx1Z2luRGF0YSIsYj0+e2lmKGIpe2I9YHAuJHtiLnBsdWdpbk5hbWV9LmA7dmFyIGQ9e307Zm9yKGxldCBmIGluIGJkLnVybERpY3QpZi5zdGFydHNXaXRoKGIpJiYoZFtmLnN1YnN0cmluZyhiLmxlbmd0aCldPWJkLnVybERpY3RbZl0pO3JldHVybiBkfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLXBsdWdpbi11dGlsL3J1bnMtaG9zdC1pbXBsLmpzCmdsLmhvc3QubGlzdGVuKCJleHBlcmltZW50YWwuR2V0UnVucyIsKCk9PmRjLnJ1bnNTdG9yZS5nZXRSdW5zKCkpO2RjLnJ1bnNTdG9yZS5hZGRMaXN0ZW5lcigoKT0+Z2wuaG9zdC5icm9hZGNhc3QoKSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItcmlwcGxlL3BhcGVyLXJpcHBsZS5odG1sLmpzCihmdW5jdGlvbigpe2Z1bmN0aW9uIGIoaCl7dGhpcy5lbGVtZW50PWg7dGhpcy53aWR0aD10aGlzLmJvdW5kaW5nUmVjdC53aWR0aDt0aGlzLmhlaWdodD10aGlzLmJvdW5kaW5nUmVjdC5oZWlnaHQ7dGhpcy5zaXplPU1hdGgubWF4KHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfWZ1bmN0aW9uIGQoaCl7dGhpcy5lbGVtZW50PWg7dGhpcy5jb2xvcj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShoKS5jb2xvcjt0aGlzLndhdmU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dGhpcy53YXZlQ29udGFpbmVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMud2F2ZS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9dGhpcy5jb2xvcjt0aGlzLndhdmUuY2xhc3NMaXN0LmFkZCgid2F2ZSIpO3RoaXMud2F2ZUNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCJ3YXZlLWNvbnRhaW5lciIpO1BvbHltZXIuZG9tKHRoaXMud2F2ZUNvbnRhaW5lcikuYXBwZW5kQ2hpbGQodGhpcy53YXZlKTt0aGlzLnJlc2V0SW50ZXJhY3Rpb25TdGF0ZSgpfQp2YXIgZj17ZGlzdGFuY2U6ZnVuY3Rpb24oaCxrLHIsbCl7aC09cjtrLT1sO3JldHVybiBNYXRoLnNxcnQoaCpoK2sqayl9LG5vdzp3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5ub3c/d2luZG93LnBlcmZvcm1hbmNlLm5vdy5iaW5kKHdpbmRvdy5wZXJmb3JtYW5jZSk6RGF0ZS5ub3d9O2IucHJvdG90eXBlPXtnZXQgYm91bmRpbmdSZWN0KCl7cmV0dXJuIHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX0sZnVydGhlc3RDb3JuZXJEaXN0YW5jZUZyb206ZnVuY3Rpb24oaCxrKXt2YXIgcj1mLmRpc3RhbmNlKGgsaywwLDApLGw9Zi5kaXN0YW5jZShoLGssdGhpcy53aWR0aCwwKSxwPWYuZGlzdGFuY2UoaCxrLDAsdGhpcy5oZWlnaHQpO2g9Zi5kaXN0YW5jZShoLGssdGhpcy53aWR0aCx0aGlzLmhlaWdodCk7cmV0dXJuIE1hdGgubWF4KHIsbCxwLGgpfX07ZC5NQVhfUkFESVVTPTMwMDtkLnByb3RvdHlwZT17Z2V0IHJlY2VudGVycygpe3JldHVybiB0aGlzLmVsZW1lbnQucmVjZW50ZXJzfSwKZ2V0IGNlbnRlcigpe3JldHVybiB0aGlzLmVsZW1lbnQuY2VudGVyfSxnZXQgbW91c2VEb3duRWxhcHNlZCgpe2lmKCF0aGlzLm1vdXNlRG93blN0YXJ0KXJldHVybiAwO3ZhciBoPWYubm93KCktdGhpcy5tb3VzZURvd25TdGFydDt0aGlzLm1vdXNlVXBTdGFydCYmKGgtPXRoaXMubW91c2VVcEVsYXBzZWQpO3JldHVybiBofSxnZXQgbW91c2VVcEVsYXBzZWQoKXtyZXR1cm4gdGhpcy5tb3VzZVVwU3RhcnQ/Zi5ub3coKS10aGlzLm1vdXNlVXBTdGFydDowfSxnZXQgbW91c2VEb3duRWxhcHNlZFNlY29uZHMoKXtyZXR1cm4gdGhpcy5tb3VzZURvd25FbGFwc2VkLzFFM30sZ2V0IG1vdXNlVXBFbGFwc2VkU2Vjb25kcygpe3JldHVybiB0aGlzLm1vdXNlVXBFbGFwc2VkLzFFM30sZ2V0IG1vdXNlSW50ZXJhY3Rpb25TZWNvbmRzKCl7cmV0dXJuIHRoaXMubW91c2VEb3duRWxhcHNlZFNlY29uZHMrdGhpcy5tb3VzZVVwRWxhcHNlZFNlY29uZHN9LGdldCBpbml0aWFsT3BhY2l0eSgpe3JldHVybiB0aGlzLmVsZW1lbnQuaW5pdGlhbE9wYWNpdHl9LApnZXQgb3BhY2l0eURlY2F5VmVsb2NpdHkoKXtyZXR1cm4gdGhpcy5lbGVtZW50Lm9wYWNpdHlEZWNheVZlbG9jaXR5fSxnZXQgcmFkaXVzKCl7dmFyIGg9MS4xKk1hdGgubWluKE1hdGguc3FydCh0aGlzLmNvbnRhaW5lck1ldHJpY3Mud2lkdGgqdGhpcy5jb250YWluZXJNZXRyaWNzLndpZHRoK3RoaXMuY29udGFpbmVyTWV0cmljcy5oZWlnaHQqdGhpcy5jb250YWluZXJNZXRyaWNzLmhlaWdodCksZC5NQVhfUkFESVVTKSs1O3JldHVybiBNYXRoLmFicyhoKigxLU1hdGgucG93KDgwLC0odGhpcy5tb3VzZUludGVyYWN0aW9uU2Vjb25kcy8oMS4xLWgvZC5NQVhfUkFESVVTKi4yKSkpKSl9LGdldCBvcGFjaXR5KCl7cmV0dXJuIHRoaXMubW91c2VVcFN0YXJ0P01hdGgubWF4KDAsdGhpcy5pbml0aWFsT3BhY2l0eS10aGlzLm1vdXNlVXBFbGFwc2VkU2Vjb25kcyp0aGlzLm9wYWNpdHlEZWNheVZlbG9jaXR5KTp0aGlzLmluaXRpYWxPcGFjaXR5fSxnZXQgb3V0ZXJPcGFjaXR5KCl7cmV0dXJuIE1hdGgubWF4KDAsCk1hdGgubWluKC4zKnRoaXMubW91c2VVcEVsYXBzZWRTZWNvbmRzLHRoaXMub3BhY2l0eSkpfSxnZXQgaXNPcGFjaXR5RnVsbHlEZWNheWVkKCl7cmV0dXJuLjAxPnRoaXMub3BhY2l0eSYmdGhpcy5yYWRpdXM+PU1hdGgubWluKHRoaXMubWF4UmFkaXVzLGQuTUFYX1JBRElVUyl9LGdldCBpc1Jlc3RpbmdBdE1heFJhZGl1cygpe3JldHVybiB0aGlzLm9wYWNpdHk+PXRoaXMuaW5pdGlhbE9wYWNpdHkmJnRoaXMucmFkaXVzPj1NYXRoLm1pbih0aGlzLm1heFJhZGl1cyxkLk1BWF9SQURJVVMpfSxnZXQgaXNBbmltYXRpb25Db21wbGV0ZSgpe3JldHVybiB0aGlzLm1vdXNlVXBTdGFydD90aGlzLmlzT3BhY2l0eUZ1bGx5RGVjYXllZDp0aGlzLmlzUmVzdGluZ0F0TWF4UmFkaXVzfSxnZXQgdHJhbnNsYXRpb25GcmFjdGlvbigpe3JldHVybiBNYXRoLm1pbigxLHRoaXMucmFkaXVzL3RoaXMuY29udGFpbmVyTWV0cmljcy5zaXplKjIvTWF0aC5zcXJ0KDIpKX0sZ2V0IHhOb3coKXtyZXR1cm4gdGhpcy54RW5kPwp0aGlzLnhTdGFydCt0aGlzLnRyYW5zbGF0aW9uRnJhY3Rpb24qKHRoaXMueEVuZC10aGlzLnhTdGFydCk6dGhpcy54U3RhcnR9LGdldCB5Tm93KCl7cmV0dXJuIHRoaXMueUVuZD90aGlzLnlTdGFydCt0aGlzLnRyYW5zbGF0aW9uRnJhY3Rpb24qKHRoaXMueUVuZC10aGlzLnlTdGFydCk6dGhpcy55U3RhcnR9LGdldCBpc01vdXNlRG93bigpe3JldHVybiB0aGlzLm1vdXNlRG93blN0YXJ0JiYhdGhpcy5tb3VzZVVwU3RhcnR9LHJlc2V0SW50ZXJhY3Rpb25TdGF0ZTpmdW5jdGlvbigpe3RoaXMuc2xpZGVEaXN0YW5jZT10aGlzLnlFbmQ9dGhpcy54RW5kPXRoaXMueVN0YXJ0PXRoaXMueFN0YXJ0PXRoaXMubW91c2VVcFN0YXJ0PXRoaXMubW91c2VEb3duU3RhcnQ9dGhpcy5tYXhSYWRpdXM9MDt0aGlzLmNvbnRhaW5lck1ldHJpY3M9bmV3IGIodGhpcy5lbGVtZW50KX0sZHJhdzpmdW5jdGlvbigpe3RoaXMud2F2ZS5zdHlsZS5vcGFjaXR5PXRoaXMub3BhY2l0eTt2YXIgaD10aGlzLnJhZGl1cy8KKHRoaXMuY29udGFpbmVyTWV0cmljcy5zaXplLzIpO3ZhciBrPXRoaXMueE5vdy10aGlzLmNvbnRhaW5lck1ldHJpY3Mud2lkdGgvMjt2YXIgcj10aGlzLnlOb3ctdGhpcy5jb250YWluZXJNZXRyaWNzLmhlaWdodC8yO3RoaXMud2F2ZUNvbnRhaW5lci5zdHlsZS53ZWJraXRUcmFuc2Zvcm09InRyYW5zbGF0ZSgiK2srInB4LCAiK3IrInB4KSI7dGhpcy53YXZlQ29udGFpbmVyLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlM2QoIitrKyJweCwgIityKyJweCwgMCkiO3RoaXMud2F2ZS5zdHlsZS53ZWJraXRUcmFuc2Zvcm09InNjYWxlKCIraCsiLCIraCsiKSI7dGhpcy53YXZlLnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUzZCgiK2grIiwiK2grIiwxKSJ9LGRvd25BY3Rpb246ZnVuY3Rpb24oaCl7dmFyIGs9dGhpcy5jb250YWluZXJNZXRyaWNzLndpZHRoLzIscj10aGlzLmNvbnRhaW5lck1ldHJpY3MuaGVpZ2h0LzI7dGhpcy5yZXNldEludGVyYWN0aW9uU3RhdGUoKTt0aGlzLm1vdXNlRG93blN0YXJ0PQpmLm5vdygpO3RoaXMuY2VudGVyPyh0aGlzLnhTdGFydD1rLHRoaXMueVN0YXJ0PXIsdGhpcy5zbGlkZURpc3RhbmNlPWYuZGlzdGFuY2UodGhpcy54U3RhcnQsdGhpcy55U3RhcnQsdGhpcy54RW5kLHRoaXMueUVuZCkpOih0aGlzLnhTdGFydD1oP2guZGV0YWlsLngtdGhpcy5jb250YWluZXJNZXRyaWNzLmJvdW5kaW5nUmVjdC5sZWZ0OnRoaXMuY29udGFpbmVyTWV0cmljcy53aWR0aC8yLHRoaXMueVN0YXJ0PWg/aC5kZXRhaWwueS10aGlzLmNvbnRhaW5lck1ldHJpY3MuYm91bmRpbmdSZWN0LnRvcDp0aGlzLmNvbnRhaW5lck1ldHJpY3MuaGVpZ2h0LzIpO3RoaXMucmVjZW50ZXJzJiYodGhpcy54RW5kPWssdGhpcy55RW5kPXIsdGhpcy5zbGlkZURpc3RhbmNlPWYuZGlzdGFuY2UodGhpcy54U3RhcnQsdGhpcy55U3RhcnQsdGhpcy54RW5kLHRoaXMueUVuZCkpO3RoaXMubWF4UmFkaXVzPXRoaXMuY29udGFpbmVyTWV0cmljcy5mdXJ0aGVzdENvcm5lckRpc3RhbmNlRnJvbSh0aGlzLnhTdGFydCwKdGhpcy55U3RhcnQpO3RoaXMud2F2ZUNvbnRhaW5lci5zdHlsZS50b3A9KHRoaXMuY29udGFpbmVyTWV0cmljcy5oZWlnaHQtdGhpcy5jb250YWluZXJNZXRyaWNzLnNpemUpLzIrInB4Ijt0aGlzLndhdmVDb250YWluZXIuc3R5bGUubGVmdD0odGhpcy5jb250YWluZXJNZXRyaWNzLndpZHRoLXRoaXMuY29udGFpbmVyTWV0cmljcy5zaXplKS8yKyJweCI7dGhpcy53YXZlQ29udGFpbmVyLnN0eWxlLndpZHRoPXRoaXMuY29udGFpbmVyTWV0cmljcy5zaXplKyJweCI7dGhpcy53YXZlQ29udGFpbmVyLnN0eWxlLmhlaWdodD10aGlzLmNvbnRhaW5lck1ldHJpY3Muc2l6ZSsicHgifSx1cEFjdGlvbjpmdW5jdGlvbigpe3RoaXMuaXNNb3VzZURvd24mJih0aGlzLm1vdXNlVXBTdGFydD1mLm5vdygpKX0scmVtb3ZlOmZ1bmN0aW9uKCl7UG9seW1lci5kb20odGhpcy53YXZlQ29udGFpbmVyLnBhcmVudE5vZGUpLnJlbW92ZUNoaWxkKHRoaXMud2F2ZUNvbnRhaW5lcil9fTtQb2x5bWVyKHtpczoicGFwZXItcmlwcGxlIiwKYmVoYXZpb3JzOltQb2x5bWVyLklyb25BMTF5S2V5c0JlaGF2aW9yXSxwcm9wZXJ0aWVzOntpbml0aWFsT3BhY2l0eTp7dHlwZTpOdW1iZXIsdmFsdWU6LjI1fSxvcGFjaXR5RGVjYXlWZWxvY2l0eTp7dHlwZTpOdW1iZXIsdmFsdWU6Ljh9LHJlY2VudGVyczp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxjZW50ZXI6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0scmlwcGxlczp7dHlwZTpBcnJheSx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX0sYW5pbWF0aW5nOnt0eXBlOkJvb2xlYW4scmVhZE9ubHk6ITAscmVmbGVjdFRvQXR0cmlidXRlOiEwLHZhbHVlOiExfSxob2xkRG93bjp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfaG9sZERvd25DaGFuZ2VkIn0sbm9pbms6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX2FuaW1hdGluZzp7dHlwZTpCb29sZWFufSxfYm91bmRBbmltYXRlOnt0eXBlOkZ1bmN0aW9uLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYW5pbWF0ZS5iaW5kKHRoaXMpfX19LApnZXQgdGFyZ2V0KCl7cmV0dXJuIHRoaXMua2V5RXZlbnRUYXJnZXR9LGtleUJpbmRpbmdzOnsiZW50ZXI6a2V5ZG93biI6Il9vbkVudGVyS2V5ZG93biIsInNwYWNlOmtleWRvd24iOiJfb25TcGFjZUtleWRvd24iLCJzcGFjZTprZXl1cCI6Il9vblNwYWNlS2V5dXAifSxhdHRhY2hlZDpmdW5jdGlvbigpe3ZhciBoPXRoaXMua2V5RXZlbnRUYXJnZXQ9MTE9PXRoaXMucGFyZW50Tm9kZS5ub2RlVHlwZT9Qb2x5bWVyLmRvbSh0aGlzKS5nZXRPd25lclJvb3QoKS5ob3N0OnRoaXMucGFyZW50Tm9kZTt0aGlzLmxpc3RlbihoLCJ1cCIsInVpVXBBY3Rpb24iKTt0aGlzLmxpc3RlbihoLCJkb3duIiwidWlEb3duQWN0aW9uIil9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy51bmxpc3Rlbih0aGlzLmtleUV2ZW50VGFyZ2V0LCJ1cCIsInVpVXBBY3Rpb24iKTt0aGlzLnVubGlzdGVuKHRoaXMua2V5RXZlbnRUYXJnZXQsImRvd24iLCJ1aURvd25BY3Rpb24iKTt0aGlzLmtleUV2ZW50VGFyZ2V0PQpudWxsfSxnZXQgc2hvdWxkS2VlcEFuaW1hdGluZygpe2Zvcih2YXIgaD0wO2g8dGhpcy5yaXBwbGVzLmxlbmd0aDsrK2gpaWYoIXRoaXMucmlwcGxlc1toXS5pc0FuaW1hdGlvbkNvbXBsZXRlKXJldHVybiEwO3JldHVybiExfSxzaW11bGF0ZWRSaXBwbGU6ZnVuY3Rpb24oKXt0aGlzLmRvd25BY3Rpb24obnVsbCk7dGhpcy5hc3luYyhmdW5jdGlvbigpe3RoaXMudXBBY3Rpb24oKX0sMSl9LHVpRG93bkFjdGlvbjpmdW5jdGlvbihoKXt0aGlzLm5vaW5rfHx0aGlzLmRvd25BY3Rpb24oaCl9LGRvd25BY3Rpb246ZnVuY3Rpb24oaCl7dGhpcy5ob2xkRG93biYmMDx0aGlzLnJpcHBsZXMubGVuZ3RofHwodGhpcy5hZGRSaXBwbGUoKS5kb3duQWN0aW9uKGgpLHRoaXMuX2FuaW1hdGluZ3x8KHRoaXMuX2FuaW1hdGluZz0hMCx0aGlzLmFuaW1hdGUoKSkpfSx1aVVwQWN0aW9uOmZ1bmN0aW9uKGgpe3RoaXMubm9pbmt8fHRoaXMudXBBY3Rpb24oaCl9LHVwQWN0aW9uOmZ1bmN0aW9uKGgpe3RoaXMuaG9sZERvd258fAoodGhpcy5yaXBwbGVzLmZvckVhY2goZnVuY3Rpb24oayl7ay51cEFjdGlvbihoKX0pLHRoaXMuX2FuaW1hdGluZz0hMCx0aGlzLmFuaW1hdGUoKSl9LG9uQW5pbWF0aW9uQ29tcGxldGU6ZnVuY3Rpb24oKXt0aGlzLl9hbmltYXRpbmc9ITE7dGhpcy4kLmJhY2tncm91bmQuc3R5bGUuYmFja2dyb3VuZENvbG9yPW51bGw7dGhpcy5maXJlKCJ0cmFuc2l0aW9uZW5kIil9LGFkZFJpcHBsZTpmdW5jdGlvbigpe3ZhciBoPW5ldyBkKHRoaXMpO1BvbHltZXIuZG9tKHRoaXMuJC53YXZlcykuYXBwZW5kQ2hpbGQoaC53YXZlQ29udGFpbmVyKTt0aGlzLiQuYmFja2dyb3VuZC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9aC5jb2xvcjt0aGlzLnJpcHBsZXMucHVzaChoKTt0aGlzLl9zZXRBbmltYXRpbmcoITApO3JldHVybiBofSxyZW1vdmVSaXBwbGU6ZnVuY3Rpb24oaCl7dmFyIGs9dGhpcy5yaXBwbGVzLmluZGV4T2YoaCk7MD5rfHwodGhpcy5yaXBwbGVzLnNwbGljZShrLDEpLGgucmVtb3ZlKCksCnRoaXMucmlwcGxlcy5sZW5ndGh8fHRoaXMuX3NldEFuaW1hdGluZyghMSkpfSxhbmltYXRlOmZ1bmN0aW9uKCl7aWYodGhpcy5fYW5pbWF0aW5nKXt2YXIgaDtmb3IoaD0wO2g8dGhpcy5yaXBwbGVzLmxlbmd0aDsrK2gpe3ZhciBrPXRoaXMucmlwcGxlc1toXTtrLmRyYXcoKTt0aGlzLiQuYmFja2dyb3VuZC5zdHlsZS5vcGFjaXR5PWsub3V0ZXJPcGFjaXR5O2suaXNPcGFjaXR5RnVsbHlEZWNheWVkJiYhay5pc1Jlc3RpbmdBdE1heFJhZGl1cyYmdGhpcy5yZW1vdmVSaXBwbGUoayl9aWYodGhpcy5zaG91bGRLZWVwQW5pbWF0aW5nfHwwIT09dGhpcy5yaXBwbGVzLmxlbmd0aCl3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX2JvdW5kQW5pbWF0ZSk7ZWxzZSB0aGlzLm9uQW5pbWF0aW9uQ29tcGxldGUoKX19LF9vbkVudGVyS2V5ZG93bjpmdW5jdGlvbigpe3RoaXMudWlEb3duQWN0aW9uKCk7dGhpcy5hc3luYyh0aGlzLnVpVXBBY3Rpb24sMSl9LF9vblNwYWNlS2V5ZG93bjpmdW5jdGlvbigpe3RoaXMudWlEb3duQWN0aW9uKCl9LApfb25TcGFjZUtleXVwOmZ1bmN0aW9uKCl7dGhpcy51aVVwQWN0aW9uKCl9LF9ob2xkRG93bkNoYW5nZWQ6ZnVuY3Rpb24oaCxrKXt2b2lkIDAhPT1rJiYoaD90aGlzLmRvd25BY3Rpb24oKTp0aGlzLnVwQWN0aW9uKCkpfX0pfSkoKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1idXR0b24vcGFwZXItYnV0dG9uLmh0bWwuanMKUG9seW1lcih7aXM6InBhcGVyLWJ1dHRvbiIsYmVoYXZpb3JzOltQb2x5bWVyLlBhcGVyQnV0dG9uQmVoYXZpb3JdLHByb3BlcnRpZXM6e3JhaXNlZDp7dHlwZTpCb29sZWFuLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCx2YWx1ZTohMSxvYnNlcnZlcjoiX2NhbGN1bGF0ZUVsZXZhdGlvbiJ9fSxfY2FsY3VsYXRlRWxldmF0aW9uOmZ1bmN0aW9uKCl7dGhpcy5yYWlzZWQ/UG9seW1lci5QYXBlckJ1dHRvbkJlaGF2aW9ySW1wbC5fY2FsY3VsYXRlRWxldmF0aW9uLmFwcGx5KHRoaXMpOnRoaXMuX3NldEVsZXZhdGlvbigwKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1jaGVja2JveC9wYXBlci1jaGVja2JveC5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1jaGVja2JveCIsYmVoYXZpb3JzOltQb2x5bWVyLlBhcGVyQ2hlY2tlZEVsZW1lbnRCZWhhdmlvcl0saG9zdEF0dHJpYnV0ZXM6e3JvbGU6ImNoZWNrYm94IiwiYXJpYS1jaGVja2VkIjohMSx0YWJpbmRleDowfSxwcm9wZXJ0aWVzOnthcmlhQWN0aXZlQXR0cmlidXRlOnt0eXBlOlN0cmluZyx2YWx1ZToiYXJpYS1jaGVja2VkIn19LGF0dGFjaGVkOmZ1bmN0aW9uKCl7UG9seW1lci5SZW5kZXJTdGF0dXMuYWZ0ZXJOZXh0UmVuZGVyKHRoaXMsZnVuY3Rpb24oKXtpZigiLTFweCI9PT10aGlzLmdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LWluay1zaXplIikudHJpbSgpKXt2YXIgYj10aGlzLmdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LXNpemUiKS50cmltKCksZD0icHgiLGY9Yi5tYXRjaCgvW0EtWmEtel0rJC8pO251bGwhPT1mJiYoZD1mWzBdKTtiPXBhcnNlRmxvYXQoYik7CmY9OC8zKmI7InB4Ij09PWQmJihmPU1hdGguZmxvb3IoZiksZiUyIT09YiUyJiZmKyspO3RoaXMudXBkYXRlU3R5bGVzKHsiLS1wYXBlci1jaGVja2JveC1pbmstc2l6ZSI6ZitkfSl9fSl9LF9jb21wdXRlQ2hlY2tib3hDbGFzczpmdW5jdGlvbihiLGQpe3ZhciBmPSIiO2ImJihmKz0iY2hlY2tlZCAiKTtkJiYoZis9ImludmFsaWQiKTtyZXR1cm4gZn0sX2NvbXB1dGVDaGVja21hcmtDbGFzczpmdW5jdGlvbihiKXtyZXR1cm4gYj8iIjoiaGlkZGVuIn0sX2NyZWF0ZVJpcHBsZTpmdW5jdGlvbigpe3RoaXMuX3JpcHBsZUNvbnRhaW5lcj10aGlzLiQuY2hlY2tib3hDb250YWluZXI7cmV0dXJuIFBvbHltZXIuUGFwZXJJbmt5Rm9jdXNCZWhhdmlvckltcGwuX2NyZWF0ZVJpcHBsZS5jYWxsKHRoaXMpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24taWNvbi9pcm9uLWljb24uaHRtbC5qcwpQb2x5bWVyKHtpczoiaXJvbi1pY29uIixwcm9wZXJ0aWVzOntpY29uOnt0eXBlOlN0cmluZ30sdGhlbWU6e3R5cGU6U3RyaW5nfSxzcmM6e3R5cGU6U3RyaW5nfSxfbWV0YTp7dmFsdWU6UG9seW1lci5CYXNlLmNyZWF0ZSgiaXJvbi1tZXRhIix7dHlwZToiaWNvbnNldCJ9KX19LG9ic2VydmVyczpbIl91cGRhdGVJY29uKF9tZXRhLCBpc0F0dGFjaGVkKSIsIl91cGRhdGVJY29uKHRoZW1lLCBpc0F0dGFjaGVkKSIsIl9zcmNDaGFuZ2VkKHNyYywgaXNBdHRhY2hlZCkiLCJfaWNvbkNoYW5nZWQoaWNvbiwgaXNBdHRhY2hlZCkiXSxfREVGQVVMVF9JQ09OU0VUOiJpY29ucyIsX2ljb25DaGFuZ2VkOmZ1bmN0aW9uKGIpe2I9KGJ8fCIiKS5zcGxpdCgiOiIpO3RoaXMuX2ljb25OYW1lPWIucG9wKCk7dGhpcy5faWNvbnNldE5hbWU9Yi5wb3AoKXx8dGhpcy5fREVGQVVMVF9JQ09OU0VUO3RoaXMuX3VwZGF0ZUljb24oKX0sX3NyY0NoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVJY29uKCl9LApfdXNlc0ljb25zZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pY29ufHwhdGhpcy5zcmN9LF91cGRhdGVJY29uOmZ1bmN0aW9uKCl7dGhpcy5fdXNlc0ljb25zZXQoKT8odGhpcy5faW1nJiZ0aGlzLl9pbWcucGFyZW50Tm9kZSYmUG9seW1lci5kb20odGhpcy5yb290KS5yZW1vdmVDaGlsZCh0aGlzLl9pbWcpLCIiPT09dGhpcy5faWNvbk5hbWU/dGhpcy5faWNvbnNldCYmdGhpcy5faWNvbnNldC5yZW1vdmVJY29uKHRoaXMpOnRoaXMuX2ljb25zZXROYW1lJiZ0aGlzLl9tZXRhJiYoKHRoaXMuX2ljb25zZXQ9dGhpcy5fbWV0YS5ieUtleSh0aGlzLl9pY29uc2V0TmFtZSkpPyh0aGlzLl9pY29uc2V0LmFwcGx5SWNvbih0aGlzLHRoaXMuX2ljb25OYW1lLHRoaXMudGhlbWUpLHRoaXMudW5saXN0ZW4od2luZG93LCJpcm9uLWljb25zZXQtYWRkZWQiLCJfdXBkYXRlSWNvbiIpKTp0aGlzLmxpc3Rlbih3aW5kb3csImlyb24taWNvbnNldC1hZGRlZCIsIl91cGRhdGVJY29uIikpKToodGhpcy5faWNvbnNldCYmCnRoaXMuX2ljb25zZXQucmVtb3ZlSWNvbih0aGlzKSx0aGlzLl9pbWd8fCh0aGlzLl9pbWc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIiksdGhpcy5faW1nLnN0eWxlLndpZHRoPSIxMDAlIix0aGlzLl9pbWcuc3R5bGUuaGVpZ2h0PSIxMDAlIix0aGlzLl9pbWcuZHJhZ2dhYmxlPSExKSx0aGlzLl9pbWcuc3JjPXRoaXMuc3JjLFBvbHltZXIuZG9tKHRoaXMucm9vdCkuYXBwZW5kQ2hpbGQodGhpcy5faW1nKSl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vaXJvbi1hMTF5LWFubm91bmNlci9pcm9uLWExMXktYW5ub3VuY2VyLmh0bWwuanMKKGZ1bmN0aW9uKCl7UG9seW1lci5Jcm9uQTExeUFubm91bmNlcj1mdW5jdGlvbigpe307UG9seW1lci5Jcm9uQTExeUFubm91bmNlcj1Qb2x5bWVyKHtpczoiaXJvbi1hMTF5LWFubm91bmNlciIscHJvcGVydGllczp7bW9kZTp7dHlwZTpTdHJpbmcsdmFsdWU6InBvbGl0ZSJ9LF90ZXh0Ont0eXBlOlN0cmluZyx2YWx1ZToiIn19LGNyZWF0ZWQ6ZnVuY3Rpb24oKXtQb2x5bWVyLklyb25BMTF5QW5ub3VuY2VyLmluc3RhbmNlfHwoUG9seW1lci5Jcm9uQTExeUFubm91bmNlci5pbnN0YW5jZT10aGlzKTtkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoImlyb24tYW5ub3VuY2UiLHRoaXMuX29uSXJvbkFubm91bmNlLmJpbmQodGhpcykpfSxhbm5vdW5jZTpmdW5jdGlvbihiKXt0aGlzLl90ZXh0PSIiO3RoaXMuYXN5bmMoZnVuY3Rpb24oKXt0aGlzLl90ZXh0PWJ9LDEwMCl9LF9vbklyb25Bbm5vdW5jZTpmdW5jdGlvbihiKXtiLmRldGFpbCYmYi5kZXRhaWwudGV4dCYmdGhpcy5hbm5vdW5jZShiLmRldGFpbC50ZXh0KX19KTsKUG9seW1lci5Jcm9uQTExeUFubm91bmNlci5pbnN0YW5jZT1udWxsO1BvbHltZXIuSXJvbkExMXlBbm5vdW5jZXIucmVxdWVzdEF2YWlsYWJpbGl0eT1mdW5jdGlvbigpe1BvbHltZXIuSXJvbkExMXlBbm5vdW5jZXIuaW5zdGFuY2V8fChQb2x5bWVyLklyb25BMTF5QW5ub3VuY2VyLmluc3RhbmNlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlyb24tYTExeS1hbm5vdW5jZXIiKSk7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChQb2x5bWVyLklyb25BMTF5QW5ub3VuY2VyLmluc3RhbmNlKX19KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24taW5wdXQvaXJvbi1pbnB1dC5odG1sLmpzClBvbHltZXIoe2lzOiJpcm9uLWlucHV0IixiZWhhdmlvcnM6W1BvbHltZXIuSXJvblZhbGlkYXRhYmxlQmVoYXZpb3JdLHByb3BlcnRpZXM6e2JpbmRWYWx1ZTp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9LHZhbHVlOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVWYWx1ZShiaW5kVmFsdWUpIn0sYWxsb3dlZFBhdHRlcm46e3R5cGU6U3RyaW5nfSxhdXRvVmFsaWRhdGU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX2lucHV0RWxlbWVudDpPYmplY3R9LG9ic2VydmVyczpbIl9iaW5kVmFsdWVDaGFuZ2VkKGJpbmRWYWx1ZSwgX2lucHV0RWxlbWVudCkiXSxsaXN0ZW5lcnM6e2lucHV0OiJfb25JbnB1dCIsa2V5cHJlc3M6Il9vbktleXByZXNzIn0sY3JlYXRlZDpmdW5jdGlvbigpe1BvbHltZXIuSXJvbkExMXlBbm5vdW5jZXIucmVxdWVzdEF2YWlsYWJpbGl0eSgpO3RoaXMuX3ByZXZpb3VzVmFsaWRJbnB1dD0iIjt0aGlzLl9wYXR0ZXJuQWxyZWFkeUNoZWNrZWQ9ITF9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fb2JzZXJ2ZXI9ClBvbHltZXIuZG9tKHRoaXMpLm9ic2VydmVOb2RlcyhmdW5jdGlvbigpe3RoaXMuX2luaXRTbG90dGVkSW5wdXQoKX0uYmluZCh0aGlzKSl9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fb2JzZXJ2ZXImJihQb2x5bWVyLmRvbSh0aGlzKS51bm9ic2VydmVOb2Rlcyh0aGlzLl9vYnNlcnZlciksdGhpcy5fb2JzZXJ2ZXI9bnVsbCl9LGdldCBpbnB1dEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5faW5wdXRFbGVtZW50fSxfaW5pdFNsb3R0ZWRJbnB1dDpmdW5jdGlvbigpe3RoaXMuX2lucHV0RWxlbWVudD10aGlzLmdldEVmZmVjdGl2ZUNoaWxkcmVuKClbMF07dGhpcy5pbnB1dEVsZW1lbnQmJnRoaXMuaW5wdXRFbGVtZW50LnZhbHVlJiYodGhpcy5iaW5kVmFsdWU9dGhpcy5pbnB1dEVsZW1lbnQudmFsdWUpO3RoaXMuZmlyZSgiaXJvbi1pbnB1dC1yZWFkeSIpfSxnZXQgX3BhdHRlcm5SZWdFeHAoKXtpZih0aGlzLmFsbG93ZWRQYXR0ZXJuKXZhciBiPW5ldyBSZWdFeHAodGhpcy5hbGxvd2VkUGF0dGVybik7CmVsc2Ugc3dpdGNoKHRoaXMuaW5wdXRFbGVtZW50LnR5cGUpe2Nhc2UgIm51bWJlciI6Yj0vWzAtOS4sZS1dL31yZXR1cm4gYn0sX2JpbmRWYWx1ZUNoYW5nZWQ6ZnVuY3Rpb24oYixkKXtkJiYodm9pZCAwPT09Yj9kLnZhbHVlPW51bGw6YiE9PWQudmFsdWUmJih0aGlzLmlucHV0RWxlbWVudC52YWx1ZT1iKSx0aGlzLmF1dG9WYWxpZGF0ZSYmdGhpcy52YWxpZGF0ZSgpLHRoaXMuZmlyZSgiYmluZC12YWx1ZS1jaGFuZ2VkIix7dmFsdWU6Yn0pKX0sX29uSW5wdXQ6ZnVuY3Rpb24oKXshdGhpcy5hbGxvd2VkUGF0dGVybnx8dGhpcy5fcGF0dGVybkFscmVhZHlDaGVja2VkfHx0aGlzLl9jaGVja1BhdHRlcm5WYWxpZGl0eSgpfHwodGhpcy5fYW5ub3VuY2VJbnZhbGlkQ2hhcmFjdGVyKCJJbnZhbGlkIHN0cmluZyBvZiBjaGFyYWN0ZXJzIG5vdCBlbnRlcmVkLiIpLHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlPXRoaXMuX3ByZXZpb3VzVmFsaWRJbnB1dCk7dGhpcy5iaW5kVmFsdWU9dGhpcy5fcHJldmlvdXNWYWxpZElucHV0PQp0aGlzLmlucHV0RWxlbWVudC52YWx1ZTt0aGlzLl9wYXR0ZXJuQWxyZWFkeUNoZWNrZWQ9ITF9LF9pc1ByaW50YWJsZTpmdW5jdGlvbihiKXt2YXIgZD0xOT09Yi5rZXlDb2RlfHwyMD09Yi5rZXlDb2RlfHw0NT09Yi5rZXlDb2RlfHw0Nj09Yi5rZXlDb2RlfHwxNDQ9PWIua2V5Q29kZXx8MTQ1PT1iLmtleUNvZGV8fDMyPGIua2V5Q29kZSYmNDE+Yi5rZXlDb2RlfHwxMTE8Yi5rZXlDb2RlJiYxMjQ+Yi5rZXlDb2RlO3JldHVybiEoOD09Yi5rZXlDb2RlfHw5PT1iLmtleUNvZGV8fDEzPT1iLmtleUNvZGV8fDI3PT1iLmtleUNvZGUpJiYhKDA9PWIuY2hhckNvZGUmJmQpfSxfb25LZXlwcmVzczpmdW5jdGlvbihiKXtpZih0aGlzLmFsbG93ZWRQYXR0ZXJufHwibnVtYmVyIj09PXRoaXMuaW5wdXRFbGVtZW50LnR5cGUpe3ZhciBkPXRoaXMuX3BhdHRlcm5SZWdFeHA7aWYoZCYmIShiLm1ldGFLZXl8fGIuY3RybEtleXx8Yi5hbHRLZXkpKXt0aGlzLl9wYXR0ZXJuQWxyZWFkeUNoZWNrZWQ9CiEwO3ZhciBmPVN0cmluZy5mcm9tQ2hhckNvZGUoYi5jaGFyQ29kZSk7dGhpcy5faXNQcmludGFibGUoYikmJiFkLnRlc3QoZikmJihiLnByZXZlbnREZWZhdWx0KCksdGhpcy5fYW5ub3VuY2VJbnZhbGlkQ2hhcmFjdGVyKCJJbnZhbGlkIGNoYXJhY3RlciAiK2YrIiBub3QgZW50ZXJlZC4iKSl9fX0sX2NoZWNrUGF0dGVyblZhbGlkaXR5OmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5fcGF0dGVyblJlZ0V4cDtpZighYilyZXR1cm4hMDtmb3IodmFyIGQ9MDtkPHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlLmxlbmd0aDtkKyspaWYoIWIudGVzdCh0aGlzLmlucHV0RWxlbWVudC52YWx1ZVtkXSkpcmV0dXJuITE7cmV0dXJuITB9LHZhbGlkYXRlOmZ1bmN0aW9uKCl7aWYoIXRoaXMuaW5wdXRFbGVtZW50KXJldHVybiB0aGlzLmludmFsaWQ9ITEsITA7dmFyIGI9dGhpcy5pbnB1dEVsZW1lbnQuY2hlY2tWYWxpZGl0eSgpO2ImJih0aGlzLnJlcXVpcmVkJiYiIj09PXRoaXMuYmluZFZhbHVlP2I9ITE6CnRoaXMuaGFzVmFsaWRhdG9yKCkmJihiPVBvbHltZXIuSXJvblZhbGlkYXRhYmxlQmVoYXZpb3IudmFsaWRhdGUuY2FsbCh0aGlzLHRoaXMuYmluZFZhbHVlKSkpO3RoaXMuaW52YWxpZD0hYjt0aGlzLmZpcmUoImlyb24taW5wdXQtdmFsaWRhdGUiKTtyZXR1cm4gYn0sX2Fubm91bmNlSW52YWxpZENoYXJhY3RlcjpmdW5jdGlvbihiKXt0aGlzLmZpcmUoImlyb24tYW5ub3VuY2UiLHt0ZXh0OmJ9KX0sX2NvbXB1dGVWYWx1ZTpmdW5jdGlvbihiKXtyZXR1cm4gYn19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1pbnB1dC9wYXBlci1pbnB1dC1jaGFyLWNvdW50ZXIuaHRtbC5qcwpQb2x5bWVyKHtpczoicGFwZXItaW5wdXQtY2hhci1jb3VudGVyIixiZWhhdmlvcnM6W1BvbHltZXIuUGFwZXJJbnB1dEFkZG9uQmVoYXZpb3JdLHByb3BlcnRpZXM6e19jaGFyQ291bnRlclN0cjp7dHlwZTpTdHJpbmcsdmFsdWU6IjAifX0sdXBkYXRlOmZ1bmN0aW9uKGIpe2lmKGIuaW5wdXRFbGVtZW50KXtiLnZhbHVlPWIudmFsdWV8fCIiO3ZhciBkPWIudmFsdWUudG9TdHJpbmcoKS5sZW5ndGgudG9TdHJpbmcoKTtiLmlucHV0RWxlbWVudC5oYXNBdHRyaWJ1dGUoIm1heGxlbmd0aCIpJiYoZCs9Ii8iK2IuaW5wdXRFbGVtZW50LmdldEF0dHJpYnV0ZSgibWF4bGVuZ3RoIikpO3RoaXMuX2NoYXJDb3VudGVyU3RyPWR9fX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWlucHV0L3BhcGVyLWlucHV0LWNvbnRhaW5lci5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1pbnB1dC1jb250YWluZXIiLHByb3BlcnRpZXM6e25vTGFiZWxGbG9hdDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxhbHdheXNGbG9hdExhYmVsOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGF0dHJGb3JWYWx1ZTp7dHlwZTpTdHJpbmcsdmFsdWU6ImJpbmQtdmFsdWUifSxhdXRvVmFsaWRhdGU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0saW52YWxpZDp7b2JzZXJ2ZXI6Il9pbnZhbGlkQ2hhbmdlZCIsdHlwZTpCb29sZWFuLHZhbHVlOiExfSxmb2N1c2VkOntyZWFkT25seTohMCx0eXBlOkJvb2xlYW4sdmFsdWU6ITEsbm90aWZ5OiEwfSxfYWRkb25zOnt0eXBlOkFycmF5fSxfaW5wdXRIYXNDb250ZW50Ont0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9pbnB1dFNlbGVjdG9yOnt0eXBlOlN0cmluZyx2YWx1ZToiaW5wdXQsaXJvbi1pbnB1dCx0ZXh0YXJlYSwucGFwZXItaW5wdXQtaW5wdXQifSxfYm91bmRPbkZvY3VzOnt0eXBlOkZ1bmN0aW9uLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX29uRm9jdXMuYmluZCh0aGlzKX19LApfYm91bmRPbkJsdXI6e3R5cGU6RnVuY3Rpb24sdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fb25CbHVyLmJpbmQodGhpcyl9fSxfYm91bmRPbklucHV0Ont0eXBlOkZ1bmN0aW9uLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX29uSW5wdXQuYmluZCh0aGlzKX19LF9ib3VuZFZhbHVlQ2hhbmdlZDp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9vblZhbHVlQ2hhbmdlZC5iaW5kKHRoaXMpfX19LGxpc3RlbmVyczp7ImFkZG9uLWF0dGFjaGVkIjoiX29uQWRkb25BdHRhY2hlZCIsImlyb24taW5wdXQtdmFsaWRhdGUiOiJfb25Jcm9uSW5wdXRWYWxpZGF0ZSJ9LGdldCBfdmFsdWVDaGFuZ2VkRXZlbnQoKXtyZXR1cm4gdGhpcy5hdHRyRm9yVmFsdWUrIi1jaGFuZ2VkIn0sZ2V0IF9wcm9wZXJ0eUZvclZhbHVlKCl7cmV0dXJuIFBvbHltZXIuQ2FzZU1hcC5kYXNoVG9DYW1lbENhc2UodGhpcy5hdHRyRm9yVmFsdWUpfSxnZXQgX2lucHV0RWxlbWVudCgpe3JldHVybiBQb2x5bWVyLmRvbSh0aGlzKS5xdWVyeVNlbGVjdG9yKHRoaXMuX2lucHV0U2VsZWN0b3IpfSwKZ2V0IF9pbnB1dEVsZW1lbnRWYWx1ZSgpe3JldHVybiB0aGlzLl9pbnB1dEVsZW1lbnRbdGhpcy5fcHJvcGVydHlGb3JWYWx1ZV18fHRoaXMuX2lucHV0RWxlbWVudC52YWx1ZX0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLl9faXNGaXJzdFZhbHVlVXBkYXRlPSEwO3RoaXMuX2FkZG9uc3x8KHRoaXMuX2FkZG9ucz1bXSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5fYm91bmRPbkZvY3VzLCEwKTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX2JvdW5kT25CbHVyLCEwKX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLmF0dHJGb3JWYWx1ZT90aGlzLl9pbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLl92YWx1ZUNoYW5nZWRFdmVudCx0aGlzLl9ib3VuZFZhbHVlQ2hhbmdlZCk6dGhpcy5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsdGhpcy5fb25JbnB1dCk7dGhpcy5faW5wdXRFbGVtZW50VmFsdWUmJiIiIT10aGlzLl9pbnB1dEVsZW1lbnRWYWx1ZT8KdGhpcy5faGFuZGxlVmFsdWVBbmRBdXRvVmFsaWRhdGUodGhpcy5faW5wdXRFbGVtZW50KTp0aGlzLl9oYW5kbGVWYWx1ZSh0aGlzLl9pbnB1dEVsZW1lbnQpfSxfb25BZGRvbkF0dGFjaGVkOmZ1bmN0aW9uKGIpe3RoaXMuX2FkZG9uc3x8KHRoaXMuX2FkZG9ucz1bXSk7Yj1iLnRhcmdldDstMT09PXRoaXMuX2FkZG9ucy5pbmRleE9mKGIpJiYodGhpcy5fYWRkb25zLnB1c2goYiksdGhpcy5pc0F0dGFjaGVkJiZ0aGlzLl9oYW5kbGVWYWx1ZSh0aGlzLl9pbnB1dEVsZW1lbnQpKX0sX29uRm9jdXM6ZnVuY3Rpb24oKXt0aGlzLl9zZXRGb2N1c2VkKCEwKX0sX29uQmx1cjpmdW5jdGlvbigpe3RoaXMuX3NldEZvY3VzZWQoITEpO3RoaXMuX2hhbmRsZVZhbHVlQW5kQXV0b1ZhbGlkYXRlKHRoaXMuX2lucHV0RWxlbWVudCl9LF9vbklucHV0OmZ1bmN0aW9uKGIpe3RoaXMuX2hhbmRsZVZhbHVlQW5kQXV0b1ZhbGlkYXRlKGIudGFyZ2V0KX0sX29uVmFsdWVDaGFuZ2VkOmZ1bmN0aW9uKGIpe3ZhciBkPQpiLnRhcmdldDtpZih0aGlzLl9faXNGaXJzdFZhbHVlVXBkYXRlJiYodGhpcy5fX2lzRmlyc3RWYWx1ZVVwZGF0ZT0hMSx2b2lkIDA9PT1kLnZhbHVlfHwiIj09PWQudmFsdWUpKXJldHVybjt0aGlzLl9oYW5kbGVWYWx1ZUFuZEF1dG9WYWxpZGF0ZShiLnRhcmdldCl9LF9oYW5kbGVWYWx1ZTpmdW5jdGlvbihiKXt2YXIgZD10aGlzLl9pbnB1dEVsZW1lbnRWYWx1ZTtkfHwwPT09ZHx8Im51bWJlciI9PT1iLnR5cGUmJiFiLmNoZWNrVmFsaWRpdHkoKT90aGlzLl9pbnB1dEhhc0NvbnRlbnQ9ITA6dGhpcy5faW5wdXRIYXNDb250ZW50PSExO3RoaXMudXBkYXRlQWRkb25zKHtpbnB1dEVsZW1lbnQ6Yix2YWx1ZTpkLGludmFsaWQ6dGhpcy5pbnZhbGlkfSl9LF9oYW5kbGVWYWx1ZUFuZEF1dG9WYWxpZGF0ZTpmdW5jdGlvbihiKXt0aGlzLmF1dG9WYWxpZGF0ZSYmYiYmKHRoaXMuaW52YWxpZD0hKGIudmFsaWRhdGU/Yi52YWxpZGF0ZSh0aGlzLl9pbnB1dEVsZW1lbnRWYWx1ZSk6Yi5jaGVja1ZhbGlkaXR5KCkpKTsKdGhpcy5faGFuZGxlVmFsdWUoYil9LF9vbklyb25JbnB1dFZhbGlkYXRlOmZ1bmN0aW9uKCl7dGhpcy5pbnZhbGlkPXRoaXMuX2lucHV0RWxlbWVudC5pbnZhbGlkfSxfaW52YWxpZENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLl9hZGRvbnMmJnRoaXMudXBkYXRlQWRkb25zKHtpbnZhbGlkOnRoaXMuaW52YWxpZH0pfSx1cGRhdGVBZGRvbnM6ZnVuY3Rpb24oYil7Zm9yKHZhciBkLGY9MDtkPXRoaXMuX2FkZG9uc1tmXTtmKyspZC51cGRhdGUoYil9LF9jb21wdXRlSW5wdXRDb250ZW50Q2xhc3M6ZnVuY3Rpb24oYixkLGYsaCxrKXt2YXIgcj0iaW5wdXQtY29udGVudCI7Yj8oayYmKHIrPSIgbGFiZWwtaXMtaGlkZGVuIiksaCYmKHIrPSIgaXMtaW52YWxpZCIpKTooYj10aGlzLnF1ZXJ5U2VsZWN0b3IoImxhYmVsIiksZHx8az8ocis9IiBsYWJlbC1pcy1mbG9hdGluZyIsdGhpcy4kLmxhYmVsQW5kSW5wdXRDb250YWluZXIuc3R5bGUucG9zaXRpb249InN0YXRpYyIsaD9yKz0iIGlzLWludmFsaWQiOgpmJiYocis9IiBsYWJlbC1pcy1oaWdobGlnaHRlZCIpKTooYiYmKHRoaXMuJC5sYWJlbEFuZElucHV0Q29udGFpbmVyLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIpLGgmJihyKz0iIGlzLWludmFsaWQiKSkpO2YmJihyKz0iIGZvY3VzZWQiKTtyZXR1cm4gcn0sX2NvbXB1dGVVbmRlcmxpbmVDbGFzczpmdW5jdGlvbihiLGQpe3ZhciBmPSJ1bmRlcmxpbmUiO2Q/Zis9IiBpcy1pbnZhbGlkIjpiJiYoZis9IiBpcy1oaWdobGlnaHRlZCIpO3JldHVybiBmfSxfY29tcHV0ZUFkZE9uQ29udGVudENsYXNzOmZ1bmN0aW9uKGIsZCl7dmFyIGY9ImFkZC1vbi1jb250ZW50IjtkP2YrPSIgaXMtaW52YWxpZCI6YiYmKGYrPSIgaXMtaGlnaGxpZ2h0ZWQiKTtyZXR1cm4gZn19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1pbnB1dC9wYXBlci1pbnB1dC1lcnJvci5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1pbnB1dC1lcnJvciIsYmVoYXZpb3JzOltQb2x5bWVyLlBhcGVySW5wdXRBZGRvbkJlaGF2aW9yXSxwcm9wZXJ0aWVzOntpbnZhbGlkOntyZWFkT25seTohMCxyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsdHlwZTpCb29sZWFufX0sdXBkYXRlOmZ1bmN0aW9uKGIpe3RoaXMuX3NldEludmFsaWQoYi5pbnZhbGlkKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1pbnB1dC9wYXBlci1pbnB1dC5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1pbnB1dCIsYmVoYXZpb3JzOltQb2x5bWVyLlBhcGVySW5wdXRCZWhhdmlvcixQb2x5bWVyLklyb25Gb3JtRWxlbWVudEJlaGF2aW9yXSxwcm9wZXJ0aWVzOnt2YWx1ZTp7dHlwZTpTdHJpbmd9fSxiZWZvcmVSZWdpc3RlcjpmdW5jdGlvbigpe3ZhciBiPSJmdW5jdGlvbiI9PXR5cGVvZiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpcm9uLWlucHV0IikuX2luaXRTbG90dGVkSW5wdXQ/InYxIjoidjAiLGQ9UG9seW1lci5Eb21Nb2R1bGUuaW1wb3J0KCJwYXBlci1pbnB1dCIsInRlbXBsYXRlIik7Yj1Qb2x5bWVyLkRvbU1vZHVsZS5pbXBvcnQoInBhcGVyLWlucHV0IiwidGVtcGxhdGUjIitiKTsoZD1kLmNvbnRlbnQucXVlcnlTZWxlY3RvcigiI3RlbXBsYXRlLXBsYWNlaG9sZGVyIikpJiZkLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGIuY29udGVudCxkKX0sZ2V0IF9mb2N1c2FibGVFbGVtZW50KCl7cmV0dXJuIFBvbHltZXIuRWxlbWVudD90aGlzLmlucHV0RWxlbWVudC5faW5wdXRFbGVtZW50Ogp0aGlzLmlucHV0RWxlbWVudH0sbGlzdGVuZXJzOnsiaXJvbi1pbnB1dC1yZWFkeSI6Il9vbklyb25JbnB1dFJlYWR5In0sX29uSXJvbklucHV0UmVhZHk6ZnVuY3Rpb24oKXt0aGlzLiQubmF0aXZlSW5wdXR8fCh0aGlzLiQubmF0aXZlSW5wdXQ9dGhpcy4kJCgiaW5wdXQiKSk7dGhpcy5pbnB1dEVsZW1lbnQmJi0xIT09dGhpcy5fdHlwZXNUaGF0SGF2ZVRleHQuaW5kZXhPZih0aGlzLiQubmF0aXZlSW5wdXQudHlwZSkmJih0aGlzLmFsd2F5c0Zsb2F0TGFiZWw9ITApO3RoaXMuaW5wdXRFbGVtZW50LmJpbmRWYWx1ZSYmdGhpcy4kLmNvbnRhaW5lci5faGFuZGxlVmFsdWVBbmRBdXRvVmFsaWRhdGUodGhpcy5pbnB1dEVsZW1lbnQpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tb3ZlcmxheS1iZWhhdmlvci9pcm9uLW92ZXJsYXktYmFja2Ryb3AuaHRtbC5qcwooZnVuY3Rpb24oKXtQb2x5bWVyKHtpczoiaXJvbi1vdmVybGF5LWJhY2tkcm9wIixwcm9wZXJ0aWVzOntvcGVuZWQ6e3JlZmxlY3RUb0F0dHJpYnV0ZTohMCx0eXBlOkJvb2xlYW4sdmFsdWU6ITEsb2JzZXJ2ZXI6Il9vcGVuZWRDaGFuZ2VkIn19LGxpc3RlbmVyczp7dHJhbnNpdGlvbmVuZDoiX29uVHJhbnNpdGlvbmVuZCJ9LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9fb3BlbmVkUmFmPW51bGx9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQmJnRoaXMuX29wZW5lZENoYW5nZWQodGhpcy5vcGVuZWQpfSxwcmVwYXJlOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQmJiF0aGlzLnBhcmVudE5vZGUmJlBvbHltZXIuZG9tKGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKHRoaXMpfSxvcGVuOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ9ITB9LGNsb3NlOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ9ITF9LGNvbXBsZXRlOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWR8fHRoaXMucGFyZW50Tm9kZSE9PQpkb2N1bWVudC5ib2R5fHxQb2x5bWVyLmRvbSh0aGlzLnBhcmVudE5vZGUpLnJlbW92ZUNoaWxkKHRoaXMpfSxfb25UcmFuc2l0aW9uZW5kOmZ1bmN0aW9uKGIpe2ImJmIudGFyZ2V0PT09dGhpcyYmdGhpcy5jb21wbGV0ZSgpfSxfb3BlbmVkQ2hhbmdlZDpmdW5jdGlvbihiKXtiP3RoaXMucHJlcGFyZSgpOihiPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMpLCIwcyIhPT1iLnRyYW5zaXRpb25EdXJhdGlvbiYmMCE9Yi5vcGFjaXR5fHx0aGlzLmNvbXBsZXRlKCkpO3RoaXMuaXNBdHRhY2hlZCYmKHRoaXMuX19vcGVuZWRSYWYmJih3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fX29wZW5lZFJhZiksdGhpcy5fX29wZW5lZFJhZj1udWxsKSx0aGlzLnNjcm9sbFRvcD10aGlzLnNjcm9sbFRvcCx0aGlzLl9fb3BlbmVkUmFmPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXt0aGlzLl9fb3BlbmVkUmFmPW51bGw7dGhpcy50b2dnbGVDbGFzcygib3BlbmVkIiwKdGhpcy5vcGVuZWQpfS5iaW5kKHRoaXMpKSl9fSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tZHJvcGRvd24vaXJvbi1kcm9wZG93bi5odG1sLmpzCihmdW5jdGlvbigpe1BvbHltZXIoe2lzOiJpcm9uLWRyb3Bkb3duIixiZWhhdmlvcnM6W1BvbHltZXIuSXJvbkNvbnRyb2xTdGF0ZSxQb2x5bWVyLklyb25BMTF5S2V5c0JlaGF2aW9yLFBvbHltZXIuSXJvbk92ZXJsYXlCZWhhdmlvcixQb2x5bWVyLk5lb25BbmltYXRpb25SdW5uZXJCZWhhdmlvcl0scHJvcGVydGllczp7aG9yaXpvbnRhbEFsaWduOnt0eXBlOlN0cmluZyx2YWx1ZToibGVmdCIscmVmbGVjdFRvQXR0cmlidXRlOiEwfSx2ZXJ0aWNhbEFsaWduOnt0eXBlOlN0cmluZyx2YWx1ZToidG9wIixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LG9wZW5BbmltYXRpb25Db25maWc6e3R5cGU6T2JqZWN0fSxjbG9zZUFuaW1hdGlvbkNvbmZpZzp7dHlwZTpPYmplY3R9LGZvY3VzVGFyZ2V0Ont0eXBlOk9iamVjdH0sbm9BbmltYXRpb25zOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGFsbG93T3V0c2lkZVNjcm9sbDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfYWxsb3dPdXRzaWRlU2Nyb2xsQ2hhbmdlZCJ9fSwKbGlzdGVuZXJzOnsibmVvbi1hbmltYXRpb24tZmluaXNoIjoiX29uTmVvbkFuaW1hdGlvbkZpbmlzaCJ9LG9ic2VydmVyczpbIl91cGRhdGVPdmVybGF5UG9zaXRpb24ocG9zaXRpb25UYXJnZXQsIHZlcnRpY2FsQWxpZ24sIGhvcml6b250YWxBbGlnbiwgdmVydGljYWxPZmZzZXQsIGhvcml6b250YWxPZmZzZXQpIl0sZ2V0IGNvbnRhaW5lZEVsZW1lbnQoKXtmb3IodmFyIGI9UG9seW1lci5kb20odGhpcy4kLmNvbnRlbnQpLmdldERpc3RyaWJ1dGVkTm9kZXMoKSxkPTAsZj1iLmxlbmd0aDtkPGY7ZCsrKWlmKGJbZF0ubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSlyZXR1cm4gYltkXX0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLnNjcm9sbEFjdGlvbnx8KHRoaXMuc2Nyb2xsQWN0aW9uPXRoaXMuYWxsb3dPdXRzaWRlU2Nyb2xsPyJyZWZpdCI6ImxvY2siKTt0aGlzLl9yZWFkaWVkPSEwfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuc2l6aW5nVGFyZ2V0JiZ0aGlzLnNpemluZ1RhcmdldCE9PQp0aGlzfHwodGhpcy5zaXppbmdUYXJnZXQ9dGhpcy5jb250YWluZWRFbGVtZW50fHx0aGlzKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbEFuaW1hdGlvbigpfSxfb3BlbmVkQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMub3BlbmVkJiZ0aGlzLmRpc2FibGVkP3RoaXMuY2FuY2VsKCk6KHRoaXMuY2FuY2VsQW5pbWF0aW9uKCksdGhpcy5fdXBkYXRlQW5pbWF0aW9uQ29uZmlnKCksUG9seW1lci5Jcm9uT3ZlcmxheUJlaGF2aW9ySW1wbC5fb3BlbmVkQ2hhbmdlZC5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxfcmVuZGVyT3BlbmVkOmZ1bmN0aW9uKCl7IXRoaXMubm9BbmltYXRpb25zJiZ0aGlzLmFuaW1hdGlvbkNvbmZpZy5vcGVuPyh0aGlzLiQuY29udGVudFdyYXBwZXIuY2xhc3NMaXN0LmFkZCgiYW5pbWF0aW5nIiksdGhpcy5wbGF5QW5pbWF0aW9uKCJvcGVuIikpOlBvbHltZXIuSXJvbk92ZXJsYXlCZWhhdmlvckltcGwuX3JlbmRlck9wZW5lZC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LApfcmVuZGVyQ2xvc2VkOmZ1bmN0aW9uKCl7IXRoaXMubm9BbmltYXRpb25zJiZ0aGlzLmFuaW1hdGlvbkNvbmZpZy5jbG9zZT8odGhpcy4kLmNvbnRlbnRXcmFwcGVyLmNsYXNzTGlzdC5hZGQoImFuaW1hdGluZyIpLHRoaXMucGxheUFuaW1hdGlvbigiY2xvc2UiKSk6UG9seW1lci5Jcm9uT3ZlcmxheUJlaGF2aW9ySW1wbC5fcmVuZGVyQ2xvc2VkLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sX29uTmVvbkFuaW1hdGlvbkZpbmlzaDpmdW5jdGlvbigpe3RoaXMuJC5jb250ZW50V3JhcHBlci5jbGFzc0xpc3QucmVtb3ZlKCJhbmltYXRpbmciKTt0aGlzLm9wZW5lZD90aGlzLl9maW5pc2hSZW5kZXJPcGVuZWQoKTp0aGlzLl9maW5pc2hSZW5kZXJDbG9zZWQoKX0sX3VwZGF0ZUFuaW1hdGlvbkNvbmZpZzpmdW5jdGlvbigpe2Zvcih2YXIgYj10aGlzLmNvbnRhaW5lZEVsZW1lbnQsZD1bXS5jb25jYXQodGhpcy5vcGVuQW5pbWF0aW9uQ29uZmlnfHxbXSkuY29uY2F0KHRoaXMuY2xvc2VBbmltYXRpb25Db25maWd8fApbXSksZj0wO2Y8ZC5sZW5ndGg7ZisrKWRbZl0ubm9kZT1iO3RoaXMuYW5pbWF0aW9uQ29uZmlnPXtvcGVuOnRoaXMub3BlbkFuaW1hdGlvbkNvbmZpZyxjbG9zZTp0aGlzLmNsb3NlQW5pbWF0aW9uQ29uZmlnfX0sX3VwZGF0ZU92ZXJsYXlQb3NpdGlvbjpmdW5jdGlvbigpe3RoaXMuaXNBdHRhY2hlZCYmdGhpcy5ub3RpZnlSZXNpemUoKX0sX2FsbG93T3V0c2lkZVNjcm9sbENoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5fcmVhZGllZCYmKGI/dGhpcy5zY3JvbGxBY3Rpb24mJiJsb2NrIiE9PXRoaXMuc2Nyb2xsQWN0aW9ufHwodGhpcy5zY3JvbGxBY3Rpb249InJlZml0Iik6dGhpcy5zY3JvbGxBY3Rpb249ImxvY2siKX0sX2FwcGx5Rm9jdXM6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLmZvY3VzVGFyZ2V0fHx0aGlzLmNvbnRhaW5lZEVsZW1lbnQ7YiYmdGhpcy5vcGVuZWQmJiF0aGlzLm5vQXV0b0ZvY3VzP2IuZm9jdXMoKTpQb2x5bWVyLklyb25PdmVybGF5QmVoYXZpb3JJbXBsLl9hcHBseUZvY3VzLmFwcGx5KHRoaXMsCmFyZ3VtZW50cyl9fSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLW1lbnUtYnV0dG9uL3BhcGVyLW1lbnUtYnV0dG9uLmh0bWwuanMKKGZ1bmN0aW9uKCl7dmFyIGI9e0FOSU1BVElPTl9DVUJJQ19CRVpJRVI6ImN1YmljLWJlemllciguMywuOTUsLjUsMSkiLE1BWF9BTklNQVRJT05fVElNRV9NUzo0MDB9O1BvbHltZXIuUGFwZXJNZW51QnV0dG9uPWZ1bmN0aW9uKCl7fTtQb2x5bWVyLlBhcGVyTWVudUJ1dHRvbi5wcm90b3R5cGUucmVnaXN0ZXJlZD1mdW5jdGlvbigpe307UG9seW1lci5QYXBlck1lbnVCdXR0b24ucHJvdG90eXBlLmFkZE93bktleUJpbmRpbmc9ZnVuY3Rpb24oKXt9O1BvbHltZXIuUGFwZXJNZW51QnV0dG9uLnByb3RvdHlwZS5yZW1vdmVPd25LZXlCaW5kaW5ncz1mdW5jdGlvbigpe307UG9seW1lci5QYXBlck1lbnVCdXR0b24ucHJvdG90eXBlLmtleWJvYXJkRXZlbnRNYXRjaGVzS2V5cz1mdW5jdGlvbigpe307UG9seW1lci5QYXBlck1lbnVCdXR0b24ucHJvdG90eXBlLl9jb2xsZWN0S2V5QmluZGluZ3M9ZnVuY3Rpb24oKXt9O1BvbHltZXIuUGFwZXJNZW51QnV0dG9uLnByb3RvdHlwZS5fcHJlcEtleUJpbmRpbmdzPQpmdW5jdGlvbigpe307UG9seW1lci5QYXBlck1lbnVCdXR0b24ucHJvdG90eXBlLl9hZGRLZXlCaW5kaW5nPWZ1bmN0aW9uKCl7fTtQb2x5bWVyLlBhcGVyTWVudUJ1dHRvbi5wcm90b3R5cGUuX3Jlc2V0S2V5RXZlbnRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt9O1BvbHltZXIuUGFwZXJNZW51QnV0dG9uLnByb3RvdHlwZS5fbGlzdGVuS2V5RXZlbnRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt9O1BvbHltZXIuUGFwZXJNZW51QnV0dG9uLnByb3RvdHlwZS5fdW5saXN0ZW5LZXlFdmVudExpc3RlbmVycz1mdW5jdGlvbigpe307UG9seW1lci5QYXBlck1lbnVCdXR0b24ucHJvdG90eXBlLl9vbktleUJpbmRpbmdFdmVudD1mdW5jdGlvbigpe307UG9seW1lci5QYXBlck1lbnVCdXR0b24ucHJvdG90eXBlLl90cmlnZ2VyS2V5SGFuZGxlcj1mdW5jdGlvbigpe307UG9seW1lci5QYXBlck1lbnVCdXR0b24ucHJvdG90eXBlLl9mb2N1c0JsdXJIYW5kbGVyPWZ1bmN0aW9uKGQpe2lmKFBvbHltZXIuRWxlbWVudCl0aGlzLl9zZXRGb2N1c2VkKCJmb2N1cyI9PT0KZC50eXBlKTtlbHNlIGlmKGQudGFyZ2V0PT09dGhpcyl0aGlzLl9zZXRGb2N1c2VkKCJmb2N1cyI9PT1kLnR5cGUpO2Vsc2UgaWYodGhpcy5fX2hhbmRsZUV2ZW50UmV0YXJnZXRpbmcpe3ZhciBmPVBvbHltZXIuZG9tKGQpLmxvY2FsVGFyZ2V0O3RoaXMuaXNMaWdodERlc2NlbmRhbnQoZil8fHRoaXMuZmlyZShkLnR5cGUse3NvdXJjZUV2ZW50OmR9LHtub2RlOnRoaXMsYnViYmxlczpkLmJ1YmJsZXMsY2FuY2VsYWJsZTpkLmNhbmNlbGFibGV9KX19O1BvbHltZXIuUGFwZXJNZW51QnV0dG9uLnByb3RvdHlwZS5fY2hhbmdlZENvbnRyb2xTdGF0ZT1mdW5jdGlvbigpe3RoaXMuX2NvbnRyb2xTdGF0ZUNoYW5nZWQmJnRoaXMuX2NvbnRyb2xTdGF0ZUNoYW5nZWQoKX07UG9seW1lci5QYXBlck1lbnVCdXR0b24ucHJvdG90eXBlLl9zZXRGb2N1c2VkPWZ1bmN0aW9uKCl7fTtQb2x5bWVyLlBhcGVyTWVudUJ1dHRvbj1Qb2x5bWVyKHtpczoicGFwZXItbWVudS1idXR0b24iLGJlaGF2aW9yczpbUG9seW1lci5Jcm9uQTExeUtleXNCZWhhdmlvciwKUG9seW1lci5Jcm9uQ29udHJvbFN0YXRlXSxwcm9wZXJ0aWVzOntvcGVuZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxub3RpZnk6ITAsb2JzZXJ2ZXI6Il9vcGVuZWRDaGFuZ2VkIn0saG9yaXpvbnRhbEFsaWduOnt0eXBlOlN0cmluZyx2YWx1ZToibGVmdCIscmVmbGVjdFRvQXR0cmlidXRlOiEwfSx2ZXJ0aWNhbEFsaWduOnt0eXBlOlN0cmluZyx2YWx1ZToidG9wIixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LGR5bmFtaWNBbGlnbjp7dHlwZTpCb29sZWFufSxob3Jpem9udGFsT2Zmc2V0Ont0eXBlOk51bWJlcix2YWx1ZTowLG5vdGlmeTohMH0sdmVydGljYWxPZmZzZXQ6e3R5cGU6TnVtYmVyLHZhbHVlOjAsbm90aWZ5OiEwfSxub092ZXJsYXA6e3R5cGU6Qm9vbGVhbn0sbm9BbmltYXRpb25zOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGlnbm9yZVNlbGVjdDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxjbG9zZU9uQWN0aXZhdGU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sb3BlbkFuaW1hdGlvbkNvbmZpZzp7dHlwZTpPYmplY3QsCnZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW3tuYW1lOiJmYWRlLWluLWFuaW1hdGlvbiIsdGltaW5nOntkZWxheToxMDAsZHVyYXRpb246MjAwfX0se25hbWU6InBhcGVyLW1lbnUtZ3Jvdy13aWR0aC1hbmltYXRpb24iLHRpbWluZzp7ZGVsYXk6MTAwLGR1cmF0aW9uOjE1MCxlYXNpbmc6Yi5BTklNQVRJT05fQ1VCSUNfQkVaSUVSfX0se25hbWU6InBhcGVyLW1lbnUtZ3Jvdy1oZWlnaHQtYW5pbWF0aW9uIix0aW1pbmc6e2RlbGF5OjEwMCxkdXJhdGlvbjoyNzUsZWFzaW5nOmIuQU5JTUFUSU9OX0NVQklDX0JFWklFUn19XX19LGNsb3NlQW5pbWF0aW9uQ29uZmlnOnt0eXBlOk9iamVjdCx2YWx1ZTpmdW5jdGlvbigpe3JldHVyblt7bmFtZToiZmFkZS1vdXQtYW5pbWF0aW9uIix0aW1pbmc6e2R1cmF0aW9uOjE1MH19LHtuYW1lOiJwYXBlci1tZW51LXNocmluay13aWR0aC1hbmltYXRpb24iLHRpbWluZzp7ZGVsYXk6MTAwLGR1cmF0aW9uOjUwLGVhc2luZzpiLkFOSU1BVElPTl9DVUJJQ19CRVpJRVJ9fSwKe25hbWU6InBhcGVyLW1lbnUtc2hyaW5rLWhlaWdodC1hbmltYXRpb24iLHRpbWluZzp7ZHVyYXRpb246MjAwLGVhc2luZzoiZWFzZS1pbiJ9fV19fSxhbGxvd091dHNpZGVTY3JvbGw6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0scmVzdG9yZUZvY3VzT25DbG9zZTp7dHlwZTpCb29sZWFuLHZhbHVlOiEwfSxfZHJvcGRvd25Db250ZW50Ont0eXBlOk9iamVjdH19LGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJncm91cCIsImFyaWEtaGFzcG9wdXAiOiJ0cnVlIn0sbGlzdGVuZXJzOnsiaXJvbi1hY3RpdmF0ZSI6Il9vbklyb25BY3RpdmF0ZSIsImlyb24tc2VsZWN0IjoiX29uSXJvblNlbGVjdCJ9LGdldCBjb250ZW50RWxlbWVudCgpe2Zvcih2YXIgZD1Qb2x5bWVyLmRvbSh0aGlzLiQuY29udGVudCkuZ2V0RGlzdHJpYnV0ZWROb2RlcygpLGY9MCxoPWQubGVuZ3RoO2Y8aDtmKyspaWYoZFtmXS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKXJldHVybiBkW2ZdfSx0b2dnbGU6ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZD8KdGhpcy5jbG9zZSgpOnRoaXMub3BlbigpfSxvcGVuOmZ1bmN0aW9uKCl7dGhpcy5kaXNhYmxlZHx8dGhpcy4kLmRyb3Bkb3duLm9wZW4oKX0sY2xvc2U6ZnVuY3Rpb24oKXt0aGlzLiQuZHJvcGRvd24uY2xvc2UoKX0sX29uSXJvblNlbGVjdDpmdW5jdGlvbigpe3RoaXMuaWdub3JlU2VsZWN0fHx0aGlzLmNsb3NlKCl9LF9vbklyb25BY3RpdmF0ZTpmdW5jdGlvbigpe3RoaXMuY2xvc2VPbkFjdGl2YXRlJiZ0aGlzLmNsb3NlKCl9LF9vcGVuZWRDaGFuZ2VkOmZ1bmN0aW9uKGQsZil7ZD8odGhpcy5fZHJvcGRvd25Db250ZW50PXRoaXMuY29udGVudEVsZW1lbnQsdGhpcy5maXJlKCJwYXBlci1kcm9wZG93bi1vcGVuIikpOm51bGwhPWYmJnRoaXMuZmlyZSgicGFwZXItZHJvcGRvd24tY2xvc2UiKX0sX2Rpc2FibGVkQ2hhbmdlZDpmdW5jdGlvbihkKXtQb2x5bWVyLklyb25Db250cm9sU3RhdGUuX2Rpc2FibGVkQ2hhbmdlZC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZCYmdGhpcy5vcGVuZWQmJgp0aGlzLmNsb3NlKCl9LF9fb25Jcm9uT3ZlcmxheUNhbmNlbGVkOmZ1bmN0aW9uKGQpe3ZhciBmPXRoaXMuJC50cmlnZ2VyOy0xPFBvbHltZXIuZG9tKGQuZGV0YWlsKS5wYXRoLmluZGV4T2YoZikmJmQucHJldmVudERlZmF1bHQoKX19KTtPYmplY3Qua2V5cyhiKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe1BvbHltZXIuUGFwZXJNZW51QnV0dG9uW2RdPWJbZF19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItZHJvcGRvd24tbWVudS9wYXBlci1kcm9wZG93bi1tZW51Lmh0bWwuanMKKGZ1bmN0aW9uKCl7UG9seW1lcih7aXM6InBhcGVyLWRyb3Bkb3duLW1lbnUiLGJlaGF2aW9yczpbUG9seW1lci5Jcm9uQnV0dG9uU3RhdGUsUG9seW1lci5Jcm9uQ29udHJvbFN0YXRlLFBvbHltZXIuSXJvbkZvcm1FbGVtZW50QmVoYXZpb3IsUG9seW1lci5Jcm9uVmFsaWRhdGFibGVCZWhhdmlvcl0scHJvcGVydGllczp7c2VsZWN0ZWRJdGVtTGFiZWw6e3R5cGU6U3RyaW5nLG5vdGlmeTohMCxyZWFkT25seTohMH0sc2VsZWN0ZWRJdGVtOnt0eXBlOk9iamVjdCxub3RpZnk6ITAscmVhZE9ubHk6ITB9LHZhbHVlOnt0eXBlOlN0cmluZyxub3RpZnk6ITB9LGxhYmVsOnt0eXBlOlN0cmluZ30scGxhY2Vob2xkZXI6e3R5cGU6U3RyaW5nfSxlcnJvck1lc3NhZ2U6e3R5cGU6U3RyaW5nfSxvcGVuZWQ6e3R5cGU6Qm9vbGVhbixub3RpZnk6ITAsdmFsdWU6ITEsb2JzZXJ2ZXI6Il9vcGVuZWRDaGFuZ2VkIn0sYWxsb3dPdXRzaWRlU2Nyb2xsOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LG5vTGFiZWxGbG9hdDp7dHlwZTpCb29sZWFuLAp2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LGFsd2F5c0Zsb2F0TGFiZWw6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sbm9BbmltYXRpb25zOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGhvcml6b250YWxBbGlnbjp7dHlwZTpTdHJpbmcsdmFsdWU6InJpZ2h0In0sdmVydGljYWxBbGlnbjp7dHlwZTpTdHJpbmcsdmFsdWU6InRvcCJ9LHZlcnRpY2FsT2Zmc2V0Ok51bWJlcixkeW5hbWljQWxpZ246e3R5cGU6Qm9vbGVhbn0scmVzdG9yZUZvY3VzT25DbG9zZTp7dHlwZTpCb29sZWFuLHZhbHVlOiEwfX0sbGlzdGVuZXJzOnt0YXA6Il9vblRhcCJ9LGtleUJpbmRpbmdzOnsidXAgZG93biI6Im9wZW4iLGVzYzoiY2xvc2UifSxob3N0QXR0cmlidXRlczp7cm9sZToiY29tYm9ib3giLCJhcmlhLWF1dG9jb21wbGV0ZSI6Im5vbmUiLCJhcmlhLWhhc3BvcHVwIjoidHJ1ZSJ9LG9ic2VydmVyczpbIl9zZWxlY3RlZEl0ZW1DaGFuZ2VkKHNlbGVjdGVkSXRlbSkiXSxhdHRhY2hlZDpmdW5jdGlvbigpe3ZhciBiPQp0aGlzLmNvbnRlbnRFbGVtZW50O2ImJmIuc2VsZWN0ZWRJdGVtJiZ0aGlzLl9zZXRTZWxlY3RlZEl0ZW0oYi5zZWxlY3RlZEl0ZW0pfSxnZXQgY29udGVudEVsZW1lbnQoKXtmb3IodmFyIGI9UG9seW1lci5kb20odGhpcy4kLmNvbnRlbnQpLmdldERpc3RyaWJ1dGVkTm9kZXMoKSxkPTAsZj1iLmxlbmd0aDtkPGY7ZCsrKWlmKGJbZF0ubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSlyZXR1cm4gYltkXX0sb3BlbjpmdW5jdGlvbigpe3RoaXMuJC5tZW51QnV0dG9uLm9wZW4oKX0sY2xvc2U6ZnVuY3Rpb24oKXt0aGlzLiQubWVudUJ1dHRvbi5jbG9zZSgpfSxfb25Jcm9uU2VsZWN0OmZ1bmN0aW9uKGIpe3RoaXMuX3NldFNlbGVjdGVkSXRlbShiLmRldGFpbC5pdGVtKX0sX29uSXJvbkRlc2VsZWN0OmZ1bmN0aW9uKCl7dGhpcy5fc2V0U2VsZWN0ZWRJdGVtKG51bGwpfSxfb25UYXA6ZnVuY3Rpb24oYil7UG9seW1lci5HZXN0dXJlcy5maW5kT3JpZ2luYWxUYXJnZXQoYik9PT10aGlzJiYKdGhpcy5vcGVuKCl9LF9zZWxlY3RlZEl0ZW1DaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMudmFsdWU9Yj1iP2IubGFiZWx8fGIuZ2V0QXR0cmlidXRlKCJsYWJlbCIpfHxiLnRleHRDb250ZW50LnRyaW0oKToiIjt0aGlzLl9zZXRTZWxlY3RlZEl0ZW1MYWJlbChiKX0sX2NvbXB1dGVNZW51VmVydGljYWxPZmZzZXQ6ZnVuY3Rpb24oYixkKXtyZXR1cm4gZD9kOmI/LTQ6OH0sX2dldFZhbGlkaXR5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGlzYWJsZWR8fCF0aGlzLnJlcXVpcmVkfHx0aGlzLnJlcXVpcmVkJiYhIXRoaXMudmFsdWV9LF9vcGVuZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5vcGVuZWQ/InRydWUiOiJmYWxzZSIsZD10aGlzLmNvbnRlbnRFbGVtZW50O2QmJmQuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIixiKX19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItbGlzdGJveC9wYXBlci1saXN0Ym94Lmh0bWwuanMKKGZ1bmN0aW9uKCl7UG9seW1lcih7aXM6InBhcGVyLWxpc3Rib3giLGJlaGF2aW9yczpbUG9seW1lci5Jcm9uTWVudUJlaGF2aW9yXSxob3N0QXR0cmlidXRlczp7cm9sZToibGlzdGJveCJ9fSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWl0ZW0vcGFwZXItaXRlbS5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1pdGVtIixiZWhhdmlvcnM6W1BvbHltZXIuUGFwZXJJdGVtQmVoYXZpb3JdfSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtYmFja2VuZC90Zi1iYWNrZW5kLXBvbHltZXIuanMKKGZ1bmN0aW9uKGIpe1BvbHltZXIoe2lzOiJ0Zi1iYWNrZW5kIixfdGVtcGxhdGU6bnVsbCx0Zl9iYWNrZW5kOmJ9KX0pKGRjfHwoZGM9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1zdG9yYWdlL3RmLXN0b3JhZ2UtcG9seW1lci5qcwooZnVuY3Rpb24oYil7UG9seW1lcih7aXM6InRmLXN0b3JhZ2UiLF90ZW1wbGF0ZTpudWxsLHRmX3N0b3JhZ2U6Yn0pfSkoYmR8fChiZD17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWNhdGVnb3JpemF0aW9uLXV0aWxzL3RmLXRhZy1maWx0ZXJlci5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi10YWctZmlsdGVyZXIiLHByb3BlcnRpZXM6e3RhZ0ZpbHRlcjp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwLGNvbXB1dGVkOiJfY29tcHV0ZVRhZ0ZpbHRlcihfdGFnRmlsdGVyKSJ9LF90YWdGaWx0ZXI6e3R5cGU6U3RyaW5nLHZhbHVlOmJkLmdldFN0cmluZ0luaXRpYWxpemVyKCJ0YWdGaWx0ZXIiLHtkZWZhdWx0VmFsdWU6IiIsdXNlTG9jYWxTdG9yYWdlOiExLHBvbHltZXJQcm9wZXJ0eToiX3RhZ0ZpbHRlciJ9KSxvYnNlcnZlcjoiX3RhZ0ZpbHRlck9ic2VydmVyIn19LF90YWdGaWx0ZXJPYnNlcnZlcjpiZC5nZXRTdHJpbmdPYnNlcnZlcigidGFnRmlsdGVyIix7ZGVmYXVsdFZhbHVlOiIiLHVzZUxvY2FsU3RvcmFnZTohMSxwb2x5bWVyUHJvcGVydHk6Il90YWdGaWx0ZXIifSksX2NvbXB1dGVUYWdGaWx0ZXIoKXtyZXR1cm4gdGhpcy5fdGFnRmlsdGVyfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRhc2hib2FyZC1jb21tb24vdGYtZGFzaGJvYXJkLWxheW91dC5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1kYXNoYm9hcmQtbGF5b3V0In0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRhc2hib2FyZC1jb21tb24vdGYtb3B0aW9uLXNlbGVjdG9yLmh0bWwuanMKUG9seW1lcih7aXM6InRmLW9wdGlvbi1zZWxlY3RvciIscHJvcGVydGllczp7bmFtZTpTdHJpbmcsc2VsZWN0ZWRJZDp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwLG9ic2VydmVyOiJfc2VsZWN0ZWRJZENoYW5nZWQifX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLmFzeW5jKGZ1bmN0aW9uKCl7dGhpcy5nZXRFZmZlY3RpdmVDaGlsZHJlbigpLmZvckVhY2goZnVuY3Rpb24oYil7dGhpcy5saXN0ZW4oYiwidGFwIiwiX3NlbGVjdFRhcmdldCIpfS5iaW5kKHRoaXMpKX0pfSxfc2VsZWN0VGFyZ2V0OmZ1bmN0aW9uKGIpe3RoaXMuc2VsZWN0ZWRJZD1iLmN1cnJlbnRUYXJnZXQuaWR9LF9zZWxlY3RlZElkQ2hhbmdlZDpmdW5jdGlvbigpe3ZhciBiPXRoaXMucXVlcnlFZmZlY3RpdmVDaGlsZHJlbigiIyIrdGhpcy5zZWxlY3RlZElkKTtiJiYodGhpcy5nZXRFZmZlY3RpdmVDaGlsZHJlbigpLmZvckVhY2goZnVuY3Rpb24oZCl7ZC5jbGFzc0xpc3QucmVtb3ZlKCJzZWxlY3RlZCIpfSksYi5jbGFzc0xpc3QuYWRkKCJzZWxlY3RlZCIpKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLWNvbGxhcHNlL2lyb24tY29sbGFwc2UuaHRtbC5qcwpQb2x5bWVyKHtpczoiaXJvbi1jb2xsYXBzZSIsYmVoYXZpb3JzOltQb2x5bWVyLklyb25SZXNpemFibGVCZWhhdmlvcl0scHJvcGVydGllczp7aG9yaXpvbnRhbDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfaG9yaXpvbnRhbENoYW5nZWQifSxvcGVuZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxub3RpZnk6ITAsb2JzZXJ2ZXI6Il9vcGVuZWRDaGFuZ2VkIn0sdHJhbnNpdGlvbmluZzp7dHlwZTpCb29sZWFuLG5vdGlmeTohMCxyZWFkT25seTohMH0sbm9BbmltYXRpb246e3R5cGU6Qm9vbGVhbn0sX2Rlc2lyZWRTaXplOnt0eXBlOlN0cmluZyx2YWx1ZToiIn19LGdldCBkaW1lbnNpb24oKXtyZXR1cm4gdGhpcy5ob3Jpem9udGFsPyJ3aWR0aCI6ImhlaWdodCJ9LGdldCBfZGltZW5zaW9uTWF4KCl7cmV0dXJuIHRoaXMuaG9yaXpvbnRhbD8ibWF4V2lkdGgiOiJtYXhIZWlnaHQifSxnZXQgX2RpbWVuc2lvbk1heENzcygpe3JldHVybiB0aGlzLmhvcml6b250YWw/Im1heC13aWR0aCI6CiJtYXgtaGVpZ2h0In0saG9zdEF0dHJpYnV0ZXM6e3JvbGU6Imdyb3VwIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sbGlzdGVuZXJzOnt0cmFuc2l0aW9uZW5kOiJfb25UcmFuc2l0aW9uRW5kIn0sdG9nZ2xlOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ9IXRoaXMub3BlbmVkfSxzaG93OmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ9ITB9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZD0hMX0sdXBkYXRlU2l6ZTpmdW5jdGlvbihiLGQpe2I9ImF1dG8iPT09Yj8iIjpiO2Q9ZCYmIXRoaXMubm9BbmltYXRpb24mJnRoaXMuaXNBdHRhY2hlZCYmdGhpcy5fZGVzaXJlZFNpemUhPT1iO3RoaXMuX2Rlc2lyZWRTaXplPWI7dGhpcy5fdXBkYXRlVHJhbnNpdGlvbighMSk7ZCYmKGQ9dGhpcy5fY2FsY1NpemUoKSwiIj09PWImJih0aGlzLnN0eWxlW3RoaXMuX2RpbWVuc2lvbk1heF09IiIsYj10aGlzLl9jYWxjU2l6ZSgpKSx0aGlzLnN0eWxlW3RoaXMuX2RpbWVuc2lvbk1heF09ZCx0aGlzLnNjcm9sbFRvcD0KdGhpcy5zY3JvbGxUb3AsdGhpcy5fdXBkYXRlVHJhbnNpdGlvbighMCksZD1iIT09ZCk7dGhpcy5zdHlsZVt0aGlzLl9kaW1lbnNpb25NYXhdPWI7ZHx8dGhpcy5fdHJhbnNpdGlvbkVuZCgpfSxlbmFibGVUcmFuc2l0aW9uOmZ1bmN0aW9uKGIpe1BvbHltZXIuQmFzZS5fd2FybigiYGVuYWJsZVRyYW5zaXRpb24oKWAgaXMgZGVwcmVjYXRlZCwgdXNlIGBub0FuaW1hdGlvbmAgaW5zdGVhZC4iKTt0aGlzLm5vQW5pbWF0aW9uPSFifSxfdXBkYXRlVHJhbnNpdGlvbjpmdW5jdGlvbihiKXt0aGlzLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbj1iJiYhdGhpcy5ub0FuaW1hdGlvbj8iIjoiMHMifSxfaG9yaXpvbnRhbENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnRyYW5zaXRpb25Qcm9wZXJ0eT10aGlzLl9kaW1lbnNpb25NYXhDc3M7dGhpcy5zdHlsZVsibWF4V2lkdGgiPT09dGhpcy5fZGltZW5zaW9uTWF4PyJtYXhIZWlnaHQiOiJtYXhXaWR0aCJdPSIiO3RoaXMudXBkYXRlU2l6ZSh0aGlzLm9wZW5lZD8KImF1dG8iOiIwcHgiLCExKX0sX29wZW5lZENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCF0aGlzLm9wZW5lZCk7dGhpcy5fc2V0VHJhbnNpdGlvbmluZyghMCk7dGhpcy50b2dnbGVDbGFzcygiaXJvbi1jb2xsYXBzZS1jbG9zZWQiLCExKTt0aGlzLnRvZ2dsZUNsYXNzKCJpcm9uLWNvbGxhcHNlLW9wZW5lZCIsITEpO3RoaXMudXBkYXRlU2l6ZSh0aGlzLm9wZW5lZD8iYXV0byI6IjBweCIsITApO3RoaXMub3BlbmVkJiZ0aGlzLmZvY3VzKCl9LF90cmFuc2l0aW9uRW5kOmZ1bmN0aW9uKCl7dGhpcy5zdHlsZVt0aGlzLl9kaW1lbnNpb25NYXhdPXRoaXMuX2Rlc2lyZWRTaXplO3RoaXMudG9nZ2xlQ2xhc3MoImlyb24tY29sbGFwc2UtY2xvc2VkIiwhdGhpcy5vcGVuZWQpO3RoaXMudG9nZ2xlQ2xhc3MoImlyb24tY29sbGFwc2Utb3BlbmVkIix0aGlzLm9wZW5lZCk7dGhpcy5fdXBkYXRlVHJhbnNpdGlvbighMSk7dGhpcy5ub3RpZnlSZXNpemUoKTsKdGhpcy5fc2V0VHJhbnNpdGlvbmluZyghMSl9LF9vblRyYW5zaXRpb25FbmQ6ZnVuY3Rpb24oYil7UG9seW1lci5kb20oYikucm9vdFRhcmdldD09PXRoaXMmJnRoaXMuX3RyYW5zaXRpb25FbmQoKX0sX2NhbGNTaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClbdGhpcy5kaW1lbnNpb25dKyJweCJ9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtcGFnaW5hdGVkLXZpZXcvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXcuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXciLHByb3BlcnRpZXM6e2NhdGVnb3J5Ok9iamVjdCxpbml0aWFsT3BlbmVkOkJvb2xlYW4sb3BlbmVkOnt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwLHJlYWRPbmx5OiEwfSxfY29udGVudEFjdGl2ZTp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUNvbnRlbnRBY3RpdmUob3BlbmVkKSJ9LGRpc2FibGVQYWdpbmF0aW9uOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9jb3VudDp7dHlwZTpOdW1iZXIsY29tcHV0ZWQ6Il9jb21wdXRlQ291bnQoY2F0ZWdvcnkuaXRlbXMuKikifSxfaGFzTXVsdGlwbGU6e3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVIYXNNdWx0aXBsZShfY291bnQpIn0sX3BhbmVSZW5kZXJlZDp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZVBhbmVSZW5kZXJlZChjYXRlZ29yeSkiLG9ic2VydmVyOiJfb25QYW5lUmVuZGVyZWRDaGFuZ2VkIn0sX2l0ZW1zUmVuZGVyZWQ6e3R5cGU6Qm9vbGVhbiwKY29tcHV0ZWQ6Il9jb21wdXRlSXRlbXNSZW5kZXJlZChvcGVuZWQsIF9wYW5lUmVuZGVyZWQpIn0sX2lzU2VhcmNoUmVzdWx0czp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUlzU2VhcmNoUmVzdWx0cyhjYXRlZ29yeS5tZXRhZGF0YS50eXBlKSJ9LF9pc0ludmFsaWRTZWFyY2hSZXN1bHRzOnt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlSXNJbnZhbGlkU2VhcmNoUmVzdWx0cyhjYXRlZ29yeS5tZXRhZGF0YSkifSxfaXNVbml2ZXJzYWxTZWFyY2hRdWVyeTp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUlzVW5pdmVyc2FsU2VhcmNoUXVlcnkoY2F0ZWdvcnkubWV0YWRhdGEpIn0sZ2V0Q2F0ZWdvcnlJdGVtS2V5Ont0eXBlOkZ1bmN0aW9uLHZhbHVlOigpPT5iPT5KU09OLnN0cmluZ2lmeShiKSxvYnNlcnZlcjoiX2dldENhdGVnb3J5SXRlbUtleUNoYW5nZWQifSxfbGltaXQ6e3R5cGU6TnVtYmVyLHZhbHVlOjEyLG9ic2VydmVyOiJfbGltaXRDaGFuZ2VkIn0sCl9hY3RpdmVJbmRleDp7dHlwZTpOdW1iZXIsdmFsdWU6MH0sX2N1cnJlbnRQYWdlOnt0eXBlOk51bWJlcixjb21wdXRlZDoiX2NvbXB1dGVDdXJyZW50UGFnZShfbGltaXQsIF9hY3RpdmVJbmRleCkifSxfcGFnZUNvdW50Ont0eXBlOk51bWJlcixjb21wdXRlZDoiX2NvbXB1dGVQYWdlQ291bnQoY2F0ZWdvcnkuaXRlbXMuKiwgX2xpbWl0KSJ9LF9tdWx0aXBsZVBhZ2VzRXhpc3Q6e3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVNdWx0aXBsZVBhZ2VzRXhpc3QoX3BhZ2VDb3VudCwgZGlzYWJsZVBhZ2luYXRpb24pIn0sX2hhc1ByZXZpb3VzUGFnZTp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUhhc1ByZXZpb3VzUGFnZShfY3VycmVudFBhZ2UpIn0sX2hhc05leHRQYWdlOnt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlSGFzTmV4dFBhZ2UoX2N1cnJlbnRQYWdlLCBfcGFnZUNvdW50KSJ9LF9pbnB1dFdpZHRoOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVJbnB1dFdpZHRoKF9wYWdlQ291bnQpIiwKb2JzZXJ2ZXI6Il91cGRhdGVJbnB1dFdpZHRoIn0sX3BhZ2VJbnB1dFZhbHVlOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVQYWdlSW5wdXRWYWx1ZShfcGFnZUlucHV0Rm9jdXNlZCwgX3BhZ2VJbnB1dFJhd1ZhbHVlLCBfY3VycmVudFBhZ2UpIixvYnNlcnZlcjoiX3VwZGF0ZVBhZ2VJbnB1dFZhbHVlIn0sX3BhZ2VJbnB1dFJhd1ZhbHVlOnt0eXBlOlN0cmluZyx2YWx1ZToiIn0sX3BhZ2VJbnB1dEZvY3VzZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX19LG9ic2VydmVyczpbIl9jbGFtcEFjdGl2ZUluZGV4KGNhdGVnb3J5Lml0ZW1zLiopIiwiX3VwZGF0ZVJlbmRlcmVkSXRlbXMoX2l0ZW1zUmVuZGVyZWQsIGNhdGVnb3J5Lml0ZW1zLiosIF9saW1pdCwgX2FjdGl2ZUluZGV4LCBfcGFnZUNvdW50LCBkaXNhYmxlUGFnaW5hdGlvbikiXSxiZWhhdmlvcnM6W3JkLlRmRG9tUmVwZWF0QmVoYXZpb3JdLF9jb21wdXRlQ291bnQoKXtyZXR1cm4gdGhpcy5jYXRlZ29yeS5pdGVtcy5sZW5ndGh9LApfY29tcHV0ZUhhc011bHRpcGxlKCl7cmV0dXJuIDE8dGhpcy5fY291bnR9LF90b2dnbGVQYW5lKCl7dGhpcy5fc2V0T3BlbmVkKCF0aGlzLm9wZW5lZCl9LF9jb21wdXRlQ29udGVudEFjdGl2ZSgpe3JldHVybiB0aGlzLm9wZW5lZH0sX29uUGFuZVJlbmRlcmVkQ2hhbmdlZChiLGQpe2ImJmIhPT1kJiZ0aGlzLiQuaWZSZW5kZXJlZC5yZW5kZXIoKX0sX2NvbXB1dGVQYW5lUmVuZGVyZWQoYil7cmV0dXJuIShiLm1ldGFkYXRhLnR5cGU9PT1rYy5DYXRlZ29yeVR5cGUuU0VBUkNIX1JFU1VMVFMmJiIiPT09Yi5uYW1lKX0sX2NvbXB1dGVJdGVtc1JlbmRlcmVkKCl7cmV0dXJuIHRoaXMuX3BhbmVSZW5kZXJlZCYmdGhpcy5vcGVuZWR9LF9jb21wdXRlSXNTZWFyY2hSZXN1bHRzKGIpe3JldHVybiBiPT09a2MuQ2F0ZWdvcnlUeXBlLlNFQVJDSF9SRVNVTFRTfSxfY29tcHV0ZUlzSW52YWxpZFNlYXJjaFJlc3VsdHMoYil7cmV0dXJuIGIudHlwZT09PWtjLkNhdGVnb3J5VHlwZS5TRUFSQ0hfUkVTVUxUUyYmCiFiLnZhbGlkUmVnZXh9LF9jb21wdXRlSXNVbml2ZXJzYWxTZWFyY2hRdWVyeShiKXtyZXR1cm4gYi50eXBlPT09a2MuQ2F0ZWdvcnlUeXBlLlNFQVJDSF9SRVNVTFRTJiZiLnVuaXZlcnNhbFJlZ2V4fSxfaXNDb21wb3NpdGVTZWFyY2goKXtjb25zdCBiPXRoaXMuY2F0ZWdvcnkubWV0YWRhdGEudHlwZTtyZXR1cm4gdGhpcy5jYXRlZ29yeS5tZXRhZGF0YS5jb21wb3NpdGVTZWFyY2gmJmI9PT1rYy5DYXRlZ29yeVR5cGUuU0VBUkNIX1JFU1VMVFN9LHJlYWR5KCl7dGhpcy5fc2V0T3BlbmVkKG51bGw9PXRoaXMuaW5pdGlhbE9wZW5lZD8hMDp0aGlzLmluaXRpYWxPcGVuZWQpO3RoaXMuX2xpbWl0TGlzdGVuZXI9KCk9Pnt0aGlzLnNldCgiX2xpbWl0IixzZC5nZXRMaW1pdCgpKX07c2QuYWRkTGltaXRMaXN0ZW5lcih0aGlzLl9saW1pdExpc3RlbmVyKTt0aGlzLl9saW1pdExpc3RlbmVyKCl9LGRldGFjaGVkKCl7c2QucmVtb3ZlTGltaXRMaXN0ZW5lcih0aGlzLl9saW1pdExpc3RlbmVyKX0sCl91cGRhdGVSZW5kZXJlZEl0ZW1zKGIsZCxmLGgsayxyKXtiJiYoYj1NYXRoLmZsb29yKGgvZiksZD10aGlzLmNhdGVnb3J5Lml0ZW1zfHxbXSx0aGlzLnVwZGF0ZURvbShyP2Q6ZC5zbGljZShiKmYsKGIrMSkqZiksdGhpcy5nZXRDYXRlZ29yeUl0ZW1LZXkpKX0sX2xpbWl0Q2hhbmdlZChiKXt0aGlzLnNldENhY2hlU2l6ZSgyKmIpfSxfZ2V0Q2F0ZWdvcnlJdGVtS2V5Q2hhbmdlZCgpe3RoaXMuc2V0R2V0SXRlbUtleSh0aGlzLmdldENhdGVnb3J5SXRlbUtleSl9LF9jb21wdXRlQ3VycmVudFBhZ2UoYixkKXtyZXR1cm4gTWF0aC5mbG9vcihkL2IpKzF9LF9jb21wdXRlUGFnZUNvdW50KGIsZCl7cmV0dXJuIHRoaXMuY2F0ZWdvcnk/TWF0aC5jZWlsKHRoaXMuY2F0ZWdvcnkuaXRlbXMubGVuZ3RoL2QpOjB9LF9jb21wdXRlTXVsdGlwbGVQYWdlc0V4aXN0KGIsZCl7cmV0dXJuIWQmJjE8Yn0sX2NvbXB1dGVIYXNQcmV2aW91c1BhZ2UoYil7cmV0dXJuIDE8Yn0sX2NvbXB1dGVIYXNOZXh0UGFnZShiLApkKXtyZXR1cm4gYjxkfSxfY29tcHV0ZUlucHV0V2lkdGgoYil7cmV0dXJuYGNhbGMoJHtiLnRvU3RyaW5nKCkubGVuZ3RofWVtICsgMjBweClgfSxfc2V0QWN0aXZlSW5kZXgoYil7Y29uc3QgZD0odGhpcy5jYXRlZ29yeS5pdGVtc3x8W10pLmxlbmd0aC0xO2I+ZCYmKGI9ZCk7MD5iJiYoYj0wKTt0aGlzLnNldCgiX2FjdGl2ZUluZGV4IixiKX0sX2NsYW1wQWN0aXZlSW5kZXgoKXt0aGlzLl9zZXRBY3RpdmVJbmRleCh0aGlzLl9hY3RpdmVJbmRleCl9LF9wZXJmb3JtUHJldmlvdXNQYWdlKCl7dGhpcy5fc2V0QWN0aXZlSW5kZXgodGhpcy5fYWN0aXZlSW5kZXgtdGhpcy5fbGltaXQpfSxfcGVyZm9ybU5leHRQYWdlKCl7dGhpcy5fc2V0QWN0aXZlSW5kZXgodGhpcy5fYWN0aXZlSW5kZXgrdGhpcy5fbGltaXQpfSxfY29tcHV0ZVBhZ2VJbnB1dFZhbHVlKGIsZCxmKXtyZXR1cm4gYj9kOmYudG9TdHJpbmcoKX0sX2hhbmRsZVBhZ2VJbnB1dEV2ZW50KGIpe3RoaXMuc2V0KCJfcGFnZUlucHV0UmF3VmFsdWUiLApiLnRhcmdldC52YWx1ZSk7Yj1OdW1iZXIoYi50YXJnZXQudmFsdWV8fE5hTik7aXNOYU4oYil8fHRoaXMuX3NldEFjdGl2ZUluZGV4KHRoaXMuX2xpbWl0KihNYXRoLm1heCgxLE1hdGgubWluKGIsdGhpcy5fcGFnZUNvdW50KSktMSkpfSxfaGFuZGxlUGFnZUNoYW5nZUV2ZW50KCl7dGhpcy5zZXQoIl9wYWdlSW5wdXRSYXdWYWx1ZSIsdGhpcy5fY3VycmVudFBhZ2UudG9TdHJpbmcoKSl9LF9oYW5kbGVQYWdlRm9jdXNFdmVudCgpe3RoaXMuc2V0KCJfcGFnZUlucHV0UmF3VmFsdWUiLHRoaXMuX3BhZ2VJbnB1dFZhbHVlKTt0aGlzLnNldCgiX3BhZ2VJbnB1dEZvY3VzZWQiLCEwKX0sX2hhbmRsZVBhZ2VCbHVyRXZlbnQoKXt0aGlzLnNldCgiX3BhZ2VJbnB1dEZvY3VzZWQiLCExKX0sX3VwZGF0ZVBhZ2VJbnB1dFZhbHVlKGIpe2NvbnN0IGQ9dGhpcy4kJCgiI3BhZ2UtaW5wdXQgaW5wdXQiKTtkJiYoZC52YWx1ZT1iKX0sX3VwZGF0ZUlucHV0V2lkdGgoKXt0aGlzLnVwZGF0ZVN0eWxlcyh7Ii0tdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXctcGFnZS1pbnB1dC13aWR0aCI6dGhpcy5faW5wdXRXaWR0aH0pfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWRpYWxvZy9wYXBlci1kaWFsb2cuaHRtbC5qcwpQb2x5bWVyKHtpczoicGFwZXItZGlhbG9nIixiZWhhdmlvcnM6W1BvbHltZXIuUGFwZXJEaWFsb2dCZWhhdmlvcixQb2x5bWVyLk5lb25BbmltYXRpb25SdW5uZXJCZWhhdmlvcl0sbGlzdGVuZXJzOnsibmVvbi1hbmltYXRpb24tZmluaXNoIjoiX29uTmVvbkFuaW1hdGlvbkZpbmlzaCJ9LF9yZW5kZXJPcGVuZWQ6ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbEFuaW1hdGlvbigpO3RoaXMucGxheUFuaW1hdGlvbigiZW50cnkiKX0sX3JlbmRlckNsb3NlZDpmdW5jdGlvbigpe3RoaXMuY2FuY2VsQW5pbWF0aW9uKCk7dGhpcy5wbGF5QW5pbWF0aW9uKCJleGl0Iil9LF9vbk5lb25BbmltYXRpb25GaW5pc2g6ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZD90aGlzLl9maW5pc2hSZW5kZXJPcGVuZWQoKTp0aGlzLl9maW5pc2hSZW5kZXJDbG9zZWQoKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1jb2xvci1zY2FsZS9wYWxldHRlcy5qcwp2YXIgTGQ7CihmdW5jdGlvbihiKXtiLnBhbGV0dGVzPXtnb29nbGVTdGFuZGFyZDoiI2RiNDQzNyAjZmY3MDQzICNmNGI0MDAgIzBmOWQ1OCAjMDA3OTZiICMwMGFjYzEgIzQyODVmNCAjNWM2YmMwICNhYjQ3YmMiLnNwbGl0KCIgIiksZ29vZ2xlQ29vbDoiIzllOWQyNCAjMGY5ZDU4ICMwMDc5NmIgIzAwYWNjMSAjNDI4NWY0ICM1YzZiYzAgIzYwN2Q4YiIuc3BsaXQoIiAiKSxnb29nbGVXYXJtOiIjNzk1NTQ4ICNhYjQ3YmMgI2YwNjI5MiAjYzIxODViICNkYjQ0MzcgI2ZmNzA0MyAjZjRiNDAwIi5zcGxpdCgiICIpLGdvb2dsZUNvbG9yQmxpbmRBc3Npc3Q6IiNmZjcwNDMgIzAwQUNDMSAjQUI0N0JDICMyQTU2QzYgIzBiODA0MyAjRjdDQjREICNjMGNhMzMgIzVlMzViMSAjQTUyNzE0Ii5zcGxpdCgiICIpLHRlbnNvcmJvYXJkQ29sb3JCbGluZEFzc2lzdDoiI2ZmNzA0MyAjMDA3N2JiICNjYzMzMTEgIzMzYmJlZSAjZWUzMzc3ICMwMDk5ODggI2JiYmJiYiIuc3BsaXQoIiAiKSxjb2xvckJsaW5kQXNzaXN0MToiIzQ0NzdhYSAjNDRhYWFhICNhYWFhNDQgI2FhNzc0NCAjYWE0NDU1ICNhYTQ0ODgiLnNwbGl0KCIgIiksY29sb3JCbGluZEFzc2lzdDI6IiM4OGNjZWUgIzQ0YWE5OSAjMTE3NzMzICM5OTk5MzMgI2RkY2M3NyAjY2M2Njc3ICM4ODIyNTUgI2FhNDQ5OSIuc3BsaXQoIiAiKSwKY29sb3JCbGluZEFzc2lzdDM6IiMzMzIyODggIzY2OTljYyAjODhjY2VlICM0NGFhOTkgIzExNzczMyAjOTk5OTMzICNkZGNjNzcgI2NjNjY3NyAjYWE0NDY2ICM4ODIyNTUgIzY2MTEwMCAjYWE0NDk5Ii5zcGxpdCgiICIpLGNvbG9yQmxpbmRBc3Npc3Q0OiIjNDQ3N2FhICM2NmNjZWUgIzIyODgzMyAjY2NiYjQ0ICNlZTY2NzcgI2FhMzM3NyAjYmJiYmJiIi5zcGxpdCgiICIpLGNvbG9yQmxpbmRBc3Npc3Q1OiIjRkY2REI2ICM5MjAwMDAgIzkyNDkwMCAjREJEMTAwICMyNEZGMjQgIzAwNkREQiAjNDkwMDkyIi5zcGxpdCgiICIpLG1sZGFzaDoiI0U0N0VBRCAjRjQ2NDBEICNGQUEzMDAgI0Y1RTYzNiAjMDBBMDc3ICMwMDc3QjggIzAwQjdFRCIuc3BsaXQoIiAiKX07Yi5zdGFuZGFyZD1iLnBhbGV0dGVzLnRlbnNvcmJvYXJkQ29sb3JCbGluZEFzc2lzdH0pKExkfHwoTGQ9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1jb2xvci1zY2FsZS9jb2xvclNjYWxlLmpzCihmdW5jdGlvbihiKXtmdW5jdGlvbiBkKGgsayl7ZnVuY3Rpb24gcigpe2wuc2V0RG9tYWluKGsoKSl9Y29uc3QgbD1uZXcgZjtoLmFkZExpc3RlbmVyKHIpO3IoKTtyZXR1cm4gcD0+bC5nZXRDb2xvcihwKX1jbGFzcyBme2NvbnN0cnVjdG9yKGg9Yi5zdGFuZGFyZCl7dGhpcy5wYWxldHRlPWg7dGhpcy5pZGVudGlmaWVycz1kMy5tYXAoKX1zZXREb21haW4oaCl7dGhpcy5pZGVudGlmaWVycz1kMy5tYXAoKTtoLmZvckVhY2goKGsscik9Pnt0aGlzLmlkZW50aWZpZXJzLnNldChrLHRoaXMucGFsZXR0ZVtyJXRoaXMucGFsZXR0ZS5sZW5ndGhdKX0pfWdldENvbG9yKGgpe2lmKCF0aGlzLmlkZW50aWZpZXJzLmhhcyhoKSl0aHJvdyBFcnJvcihgU3RyaW5nICR7aH0gd2FzIG5vdCBpbiB0aGUgZG9tYWluLmApO3JldHVybiB0aGlzLmlkZW50aWZpZXJzLmdldChoKX19Yi5Db2xvclNjYWxlPWY7Yi5ydW5zQ29sb3JTY2FsZT1kKGRjLnJ1bnNTdG9yZSwoKT0+ZGMucnVuc1N0b3JlLmdldFJ1bnMoKSk7CmIuZXhwZXJpbWVudHNDb2xvclNjYWxlPWQoZGMuZXhwZXJpbWVudHNTdG9yZSwoKT0+ZGMuZXhwZXJpbWVudHNTdG9yZS5nZXRFeHBlcmltZW50cygpLm1hcCgoe25hbWU6aH0pPT5oKSl9KShMZHx8KExkPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItaWNvbi1idXR0b24vcGFwZXItaWNvbi1idXR0b24uaHRtbC5qcwpQb2x5bWVyKHtpczoicGFwZXItaWNvbi1idXR0b24iLGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJidXR0b24iLHRhYmluZGV4OiIwIn0sYmVoYXZpb3JzOltQb2x5bWVyLlBhcGVySW5reUZvY3VzQmVoYXZpb3JdLHByb3BlcnRpZXM6e3NyYzp7dHlwZTpTdHJpbmd9LGljb246e3R5cGU6U3RyaW5nfSxhbHQ6e3R5cGU6U3RyaW5nLG9ic2VydmVyOiJfYWx0Q2hhbmdlZCJ9fSxfYWx0Q2hhbmdlZDpmdW5jdGlvbihiLGQpe3ZhciBmPXRoaXMuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIik7ZiYmZCE9Znx8dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLGIpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRhc2hib2FyZC1jb21tb24vdGYtbXVsdGktY2hlY2tib3guanMKKGZ1bmN0aW9uKCl7UG9seW1lcih7aXM6InRmLW11bHRpLWNoZWNrYm94Iixwcm9wZXJ0aWVzOntuYW1lczp7dHlwZTpBcnJheSx2YWx1ZTooKT0+W119LGNvbG9yaW5nOnt0eXBlOk9iamVjdCx2YWx1ZTp7Z2V0Q29sb3I6KCk9PiIifX0scmVnZXg6e3R5cGU6U3RyaW5nLG5vdGlmeTohMCx2YWx1ZToiIn0sX3JlZ2V4Ont0eXBlOk9iamVjdCxjb21wdXRlZDoiX21ha2VSZWdleChyZWdleCkifSxuYW1lc01hdGNoaW5nUmVnZXg6e3R5cGU6QXJyYXksY29tcHV0ZWQ6ImNvbXB1dGVOYW1lc01hdGNoaW5nUmVnZXgobmFtZXMuKiwgX3JlZ2V4KSJ9LHNlbGVjdGlvblN0YXRlOnt0eXBlOk9iamVjdCxub3RpZnk6ITAsdmFsdWU6KCk9Pih7fSl9LG91dFNlbGVjdGVkOnt0eXBlOkFycmF5LG5vdGlmeTohMCxjb21wdXRlZDoiY29tcHV0ZU91dFNlbGVjdGVkKG5hbWVzTWF0Y2hpbmdSZWdleC4qLCBzZWxlY3Rpb25TdGF0ZS4qKSJ9LG1heE5hbWVzVG9FbmFibGVCeURlZmF1bHQ6e3R5cGU6TnVtYmVyLAp2YWx1ZTo0MH0sX2RlYm91bmNlZFJlZ2V4Q2hhbmdlOnt0eXBlOk9iamVjdCx2YWx1ZTpmdW5jdGlvbigpe3ZhciBiPV8uZGVib3VuY2UoZD0+e3RoaXMucmVnZXg9ZH0sMTUwLHtsZWFkaW5nOiExfSk7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGQ9dGhpcy4kJCgiI25hbWVzLXJlZ2V4IikudmFsdWU7IiI9PWQ/dGhpcy5hc3luYygoKT0+e3RoaXMucmVnZXg9ZH0sMzApOmIoZCl9fX19LG9ic2VydmVyczpbIl9zZXRJc29sYXRvckljb24oc2VsZWN0aW9uU3RhdGUsIG5hbWVzKSJdLF9tYWtlUmVnZXg6ZnVuY3Rpb24oYil7dHJ5e3JldHVybiBuZXcgUmVnRXhwKGIpfWNhdGNoKGQpe3JldHVybiBudWxsfX0sX3NldElzb2xhdG9ySWNvbjpmdW5jdGlvbigpe3ZhciBiPXRoaXMuc2VsZWN0aW9uU3RhdGUsZD1fLmZpbHRlcihfLnZhbHVlcyhiKSkubGVuZ3RoO0FycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHRoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCIuaXNvbGF0b3IiKSkuZm9yRWFjaChmdW5jdGlvbihmKXtmLmljb249CjE9PT1kJiZiW2YubmFtZV0/InJhZGlvLWJ1dHRvbi1jaGVja2VkIjoicmFkaW8tYnV0dG9uLXVuY2hlY2tlZCJ9KX0sY29tcHV0ZU5hbWVzTWF0Y2hpbmdSZWdleDpmdW5jdGlvbigpe2NvbnN0IGI9dGhpcy5fcmVnZXg7cmV0dXJuIGI/dGhpcy5uYW1lcy5maWx0ZXIoZD0+Yi50ZXN0KGQpKTp0aGlzLm5hbWVzfSxjb21wdXRlT3V0U2VsZWN0ZWQ6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLnNlbGVjdGlvblN0YXRlLGQ9dGhpcy5uYW1lc01hdGNoaW5nUmVnZXgubGVuZ3RoPD10aGlzLm1heE5hbWVzVG9FbmFibGVCeURlZmF1bHQ7cmV0dXJuIHRoaXMubmFtZXNNYXRjaGluZ1JlZ2V4LmZpbHRlcihmPT5udWxsPT1iW2ZdP2Q6YltmXSl9LHN5bmNocm9uaXplQ29sb3JzOmZ1bmN0aW9uKCl7dGhpcy5fc2V0SXNvbGF0b3JJY29uKCk7dGhpcy5yb290LnF1ZXJ5U2VsZWN0b3JBbGwoInBhcGVyLWNoZWNrYm94IikuZm9yRWFjaChiPT57Y29uc3QgZD10aGlzLmNvbG9yaW5nLmdldENvbG9yKGIubmFtZSk7CmIudXBkYXRlU3R5bGVzKHsiLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWNvbG9yIjpkLCItLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yIjpkLCItLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1jb2xvciI6ZCwiLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtaW5rLWNvbG9yIjpkfSl9KTt0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgiLmlzb2xhdG9yIikuZm9yRWFjaChiPT57Y29uc3QgZD10aGlzLmNvbG9yaW5nLmdldENvbG9yKGIubmFtZSk7Yi5zdHlsZS5jb2xvcj1kfSk7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMudXBkYXRlU3R5bGVzKCl9KX0sX2lzb2xhdGVOYW1lOmZ1bmN0aW9uKGIpe3ZhciBkPVBvbHltZXIuZG9tKGIpLmxvY2FsVGFyZ2V0Lm5hbWUsZj17fTt0aGlzLm5hbWVzLmZvckVhY2goZnVuY3Rpb24oaCl7ZltoXT1oPT1kfSk7dGhpcy5zZWxlY3Rpb25TdGF0ZT1mfSxfY2hlY2tib3hDaGFuZ2U6ZnVuY3Rpb24oYil7Yj0KUG9seW1lci5kb20oYikubG9jYWxUYXJnZXQ7Y29uc3QgZD1fLmNsb25lKHRoaXMuc2VsZWN0aW9uU3RhdGUpO2RbYi5uYW1lXT1iLmNoZWNrZWQ7dGhpcy5zZWxlY3Rpb25TdGF0ZT1kfSxfaXNDaGVja2VkOmZ1bmN0aW9uKGIpe3JldHVybi0xIT10aGlzLm91dFNlbGVjdGVkLmluZGV4T2YoYil9LHRvZ2dsZUFsbDpmdW5jdGlvbigpe2NvbnN0IGI9dGhpcy5uYW1lc01hdGNoaW5nUmVnZXguc29tZShmPT50aGlzLm91dFNlbGVjdGVkLmluY2x1ZGVzKGYpKSxkPXt9O3RoaXMubmFtZXMuZm9yRWFjaChmPT57ZFtmXT0hYn0pO3RoaXMuc2VsZWN0aW9uU3RhdGU9ZH19KX0pKGNkfHwoY2Q9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ydW5zLXNlbGVjdG9yL3RmLXdici1zdHJpbmcuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtd2JyLXN0cmluZyIscHJvcGVydGllczp7dmFsdWU6U3RyaW5nLF9wYXJ0czp7dHlwZTpBcnJheSxjb21wdXRlZDoiX2NvbXB1dGVQYXJ0cyh2YWx1ZSkifX0sX2NvbXB1dGVQYXJ0cyhiKXtjb25zdCBkPVtdLGY9L1svPV8sLV0vO2ZvcihudWxsPT1iJiYoYj0iIik7Oyl7Y29uc3QgaD1iLnNlYXJjaChmKTtpZigtMT09PWgpe2QucHVzaChiKTticmVha31lbHNlIGQucHVzaChiLnNsaWNlKDAsaCsxKSksYj1iLnNsaWNlKGgrMSl9cmV0dXJuIGR9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtcnVucy1zZWxlY3Rvci90Zi1ydW5zLXNlbGVjdG9yLmh0bWwuanMKUG9seW1lcih7aXM6InRmLXJ1bnMtc2VsZWN0b3IiLHByb3BlcnRpZXM6e3J1blNlbGVjdGlvblN0YXRlOnt0eXBlOk9iamVjdCxvYnNlcnZlcjoiX3N0b3JlUnVuU2VsZWN0aW9uU3RhdGUiLHZhbHVlOmJkLmdldE9iamVjdEluaXRpYWxpemVyKCJydW5TZWxlY3Rpb25TdGF0ZSIse2RlZmF1bHRWYWx1ZTp7fX0pfSxyZWdleElucHV0Ont0eXBlOlN0cmluZyx2YWx1ZTpiZC5nZXRTdHJpbmdJbml0aWFsaXplcigicmVnZXhJbnB1dCIse2RlZmF1bHRWYWx1ZToiIn0pLG9ic2VydmVyOiJfcmVnZXhPYnNlcnZlciJ9LHNlbGVjdGVkUnVuczp7dHlwZTpBcnJheSxub3RpZnk6ITB9LHJ1bnM6QXJyYXksZGF0YUxvY2F0aW9uOnt0eXBlOlN0cmluZyxub3RpZnk6ITB9LF9jbGlwcGVkRGF0YUxvY2F0aW9uOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2dldENsaXBwZWREYXRhTG9jYXRpb24oZGF0YUxvY2F0aW9uLCBfZGF0YUxvY2F0aW9uQ2xpcExlbmd0aCkifSxfZGF0YUxvY2F0aW9uQ2xpcExlbmd0aDp7dHlwZTpOdW1iZXIsCnZhbHVlOjI1MCxyZWFkT25seTohMH0sY29sb3Jpbmc6e3R5cGU6T2JqZWN0LHZhbHVlOntnZXRDb2xvcjpMZC5ydW5zQ29sb3JTY2FsZX19fSxhdHRhY2hlZCgpe3RoaXMuX3J1blN0b3JlTGlzdGVuZXI9ZGMucnVuc1N0b3JlLmFkZExpc3RlbmVyKCgpPT57dGhpcy5zZXQoInJ1bnMiLGRjLnJ1bnNTdG9yZS5nZXRSdW5zKCkpfSk7dGhpcy5zZXQoInJ1bnMiLGRjLnJ1bnNTdG9yZS5nZXRSdW5zKCkpO3RoaXMuX2VudlN0b3JlTGlzdGVuZXI9ZGMuZW52aXJvbm1lbnRTdG9yZS5hZGRMaXN0ZW5lcigoKT0+e3RoaXMuc2V0KCJkYXRhTG9jYXRpb24iLGRjLmVudmlyb25tZW50U3RvcmUuZ2V0RGF0YUxvY2F0aW9uKCkpfSk7dGhpcy5zZXQoImRhdGFMb2NhdGlvbiIsZGMuZW52aXJvbm1lbnRTdG9yZS5nZXREYXRhTG9jYXRpb24oKSl9LGRldGFjaGVkKCl7ZGMucnVuc1N0b3JlLnJlbW92ZUxpc3RlbmVyQnlLZXkodGhpcy5fcnVuU3RvcmVMaXN0ZW5lcik7ZGMuZW52aXJvbm1lbnRTdG9yZS5yZW1vdmVMaXN0ZW5lckJ5S2V5KHRoaXMuX2VudlN0b3JlTGlzdGVuZXIpfSwKX3RvZ2dsZUFsbDpmdW5jdGlvbigpe3RoaXMuJC5tdWx0aUNoZWNrYm94LnRvZ2dsZUFsbCgpfSxfZ2V0Q2xpcHBlZERhdGFMb2NhdGlvbjpmdW5jdGlvbihiLGQpe2lmKHZvaWQgMCE9PWImJiEoYi5sZW5ndGg+ZCkpcmV0dXJuIGJ9LF9vcGVuRGF0YUxvY2F0aW9uRGlhbG9nOmZ1bmN0aW9uKGIpe2IucHJldmVudERlZmF1bHQoKTt0aGlzLiQkKCIjZGF0YS1sb2NhdGlvbi1kaWFsb2ciKS5vcGVuKCl9LF9zaG91bGRTaG93RXhwYW5kRGF0YUxvY2F0aW9uQnV0dG9uKGIsZCl7cmV0dXJuIGImJmIubGVuZ3RoPmR9LF9zdG9yZVJ1blNlbGVjdGlvblN0YXRlOmJkLmdldE9iamVjdE9ic2VydmVyKCJydW5TZWxlY3Rpb25TdGF0ZSIse2RlZmF1bHRWYWx1ZTp7fX0pLF9yZWdleE9ic2VydmVyOmJkLmdldFN0cmluZ09ic2VydmVyKCJyZWdleElucHV0Iix7ZGVmYXVsdFZhbHVlOiIifSl9KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1zcGlubmVyL3BhcGVyLXNwaW5uZXItbGl0ZS5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1zcGlubmVyLWxpdGUiLGJlaGF2aW9yczpbUG9seW1lci5QYXBlclNwaW5uZXJCZWhhdmlvcl19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92ei1jaGFydC1oZWxwZXJzL3Z6LWNoYXJ0LXRvb2x0aXAuanMKdmFyIHNnOwooZnVuY3Rpb24oYil7bGV0IGQ7KGZ1bmN0aW9uKGgpe2guQVVUTz0iYXV0byI7aC5CT1RUT009ImJvdHRvbSI7aC5SSUdIVD0icmlnaHQifSkoZD1iLlRvb2x0aXBQb3NpdGlvbnx8KGIuVG9vbHRpcFBvc2l0aW9uPXt9KSk7Y29uc3QgZj17Ym94U2hhZG93OiIwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAuMykiLG9wYWNpdHk6MCxwb3NpdGlvbjoiZml4ZWQiLHdpbGxDaGFuZ2U6InRyYW5zZm9ybSIsekluZGV4OjV9O1BvbHltZXIoe2lzOiJ2ei1jaGFydC10b29sdGlwIixfdGVtcGxhdGU6bnVsbCxwcm9wZXJ0aWVzOntjb250ZW50Q29tcG9uZW50TmFtZTpTdHJpbmcscG9zaXRpb246e3R5cGU6U3RyaW5nLHZhbHVlOmQuQVVUT30sbWluRGlzdEZyb21FZGdlOnt0eXBlOk51bWJlcix2YWx1ZToxNX19LHJlYWR5KCl7dGhpcy5fdHVubmVsPXRoaXMuX3JhZj10aGlzLl9zdHlsZUNhY2hlPW51bGx9LGF0dGFjaGVkKCl7dGhpcy5fdHVubmVsPXRoaXMuX2NyZWF0ZVR1bm5lbCgpO3RoaXMuX2hpZGVPbkJsdXI9CigpPT57ZG9jdW1lbnQuaGlkZGVuJiZ0aGlzLmhpZGUoKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuX2hpZGVPbkJsdXIpfSxkZXRhY2hlZCgpe3RoaXMuaGlkZSgpO3RoaXMuX3JlbW92ZVR1bm5lbCh0aGlzLl90dW5uZWwpO3RoaXMuX3R1bm5lbD1udWxsO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLl9oaWRlT25CbHVyKX0sY29udGVudCgpe3JldHVybiB0aGlzLl90dW5uZWwuc2hhZG93Um9vdH0saGlkZSgpe3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yYWYpO3RoaXMuX3N0eWxlQ2FjaGU9bnVsbDt0aGlzLl90dW5uZWwuc3R5bGUub3BhY2l0eT0wfSx1cGRhdGVBbmRQb3NpdGlvbihoKXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fcmFmKTt0aGlzLl9yYWY9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMuaXNBdHRhY2hlZCYmdGhpcy5fcmVwb3NpdGlvbkltcGwoaCl9KX0sCl9yZXBvc2l0aW9uSW1wbChoKXtjb25zdCBrPXRoaXMuX3R1bm5lbDtoPWguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Y29uc3Qgcj1rLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGw9d2luZG93LmlubmVySGVpZ2h0LHA9ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCxtPWgudG9wLG49bStoLmhlaWdodCxxPXIuaGVpZ2h0K3NmLlRPT0xUSVBfWV9QSVhFTF9PRkZTRVQ7bGV0IHU9bnVsbCx3PU1hdGgubWF4KHRoaXMubWluRGlzdEZyb21FZGdlLGgubGVmdCksQT1udWxsLHk9bTt0aGlzLnBvc2l0aW9uPT1kLlJJR0hUP3c9aC5yaWdodDooeT1uK3NmLlRPT0xUSVBfWV9QSVhFTF9PRkZTRVQscDx3K3Iud2lkdGgrdGhpcy5taW5EaXN0RnJvbUVkZ2UmJih3PW51bGwsQT10aGlzLm1pbkRpc3RGcm9tRWRnZSkpO3RoaXMucG9zaXRpb249PWQuQVVUTyYmMDxoLnRvcC1xJiZsPGgudG9wK2guaGVpZ2h0K3EmJih5PW51bGwsdT1sLW0rc2YuVE9PTFRJUF9ZX1BJWEVMX09GRlNFVCk7aD17Y29udGFpbjoiY29udGVudCIsCm9wYWNpdHk6MSxsZWZ0Onc/YCR7d31weGA6bnVsbCxyaWdodDpBP2Ake0F9cHhgOm51bGwsdG9wOnk/YCR7eX1weGA6bnVsbCxib3R0b206dT9gJHt1fXB4YDpudWxsfTtfLmlzRXF1YWwodGhpcy5fc3R5bGVDYWNoZSxoKXx8KE9iamVjdC5hc3NpZ24oay5zdHlsZSxoKSx0aGlzLl9zdHlsZUNhY2hlPWgpfSxfY3JlYXRlVHVubmVsKCl7aWYoIXRoaXMuY29udGVudENvbXBvbmVudE5hbWUpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlJlcXVpcmUgYGNvbnRlbnRDb21wb25lbnROYW1lYCB0byBiZSBhIG5hbWUgb2YgYSBQb2x5bWVyIGNvbXBvbmVudCIpO2NvbnN0IGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0aGlzLmNvbnRlbnRDb21wb25lbnROYW1lKTtPYmplY3QuYXNzaWduKGguc3R5bGUsZik7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChoKTtyZXR1cm4gaH0sX3JlbW92ZVR1bm5lbChoKXtkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGgpfX0pfSkoc2d8fChzZz17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3Z6LWxpbmUtY2hhcnQyL3RmLXNjYWxlLmpzCihmdW5jdGlvbihiKXtjbGFzcyBkIGV4dGVuZHMgUGxvdHRhYmxlLlF1YW50aXRhdGl2ZVNjYWxle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLl9pZ25vcmVPdXRsaWVyPSExfXNldFZhbHVlUHJvdmlkZXJGb3JEb21haW4oZil7dGhpcy5fdmFsdWVQcm92aWRlckZvckRvbWFpbj1mfWlnbm9yZU91dGxpZXIoZil7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgZj8odGhpcy5faWdub3JlT3V0bGllcj1mLHRoaXMpOnRoaXMuX2lnbm9yZU91dGxpZXJ9X2dldEFsbEluY2x1ZGVkVmFsdWVzKCl7Y29uc3QgZj10aGlzLl92YWx1ZVByb3ZpZGVyRm9yRG9tYWluP3RoaXMuX3ZhbHVlUHJvdmlkZXJGb3JEb21haW4oKTpbXTtyZXR1cm4gdGhpcy5leHRlbnRPZlZhbHVlcyhmKX19Yi5UZlNjYWxlPWR9KSh1Z3x8KHVnPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdnotbGluZS1jaGFydDIvbGluZWFyLXNjYWxlLmpzCihmdW5jdGlvbihiKXtjbGFzcyBkIGV4dGVuZHMgUGxvdHRhYmxlLlNjYWxlcy5MaW5lYXJ7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMuX2lnbm9yZU91dGxpZXI9ITE7dGhpcy5wYWRQcm9wb3J0aW9uKC4yKX1zZXRWYWx1ZVByb3ZpZGVyRm9yRG9tYWluKGYpe3RoaXMuX3ZhbHVlUHJvdmlkZXJGb3JEb21haW49Zn1fbmljZURvbWFpbihmLGgpe2NvbnN0IFtrLHJdPWYsbD1yLWs7Zj0wPT09bD8xLjEqTWF0aC5hYnMoaykrMS4xOmwqdGhpcy5wYWRQcm9wb3J0aW9uKCk7cmV0dXJuIHN1cGVyLl9uaWNlRG9tYWluKFswPD1rJiZrPGw/LS4xKnI6ay1mLHIrZl0saCl9X2dldFVuYm91bmRlZEV4dGVudChmKXtmPXRoaXMuX2dldEFsbEluY2x1ZGVkVmFsdWVzKGYpO2xldCBoPXRoaXMuX2RlZmF1bHRFeHRlbnQoKTswIT09Zi5sZW5ndGgmJihmPVtQbG90dGFibGUuVXRpbHMuTWF0aC5taW4oZixoWzBdKSxQbG90dGFibGUuVXRpbHMuTWF0aC5tYXgoZixoWzFdKV0saD10aGlzLl9uaWNlRG9tYWluKGYpKTsKcmV0dXJuIGh9X2dldEFsbEluY2x1ZGVkVmFsdWVzKCl7Y29uc3QgZj10aGlzLl92YWx1ZVByb3ZpZGVyRm9yRG9tYWluP3RoaXMuX3ZhbHVlUHJvdmlkZXJGb3JEb21haW4oKTpbXTtyZXR1cm4gdGhpcy5leHRlbnRPZlZhbHVlcyhmKX1leHRlbnRPZlZhbHVlcyhmKXt2YXIgaD1mPWYuZmlsdGVyKGs9PlBsb3R0YWJsZS5VdGlscy5NYXRoLmlzVmFsaWROdW1iZXIoaykpO2lmKHRoaXMuaWdub3JlT3V0bGllcigpKXtoPWYuc29ydCgobCxwKT0+bC1wKTtjb25zdCBrPWQzLnF1YW50aWxlKGgsLjA1KSxyPWQzLnF1YW50aWxlKGgsLjk1KTtoPWYuZmlsdGVyKGw9Pmw+PWsmJmw8PXIpfWY9ZDMuZXh0ZW50KGgpO3JldHVybiBudWxsPT1mWzBdfHxudWxsPT1mWzFdP1tdOmZ9aWdub3JlT3V0bGllcihmKXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBmPyh0aGlzLl9pZ25vcmVPdXRsaWVyPWYsdGhpcyk6dGhpcy5faWdub3JlT3V0bGllcn19Yi5MaW5lYXJTY2FsZT1kfSkodWd8fCh1Zz17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3Z6LWxpbmUtY2hhcnQyL2xvZy1zY2FsZS5qcwooZnVuY3Rpb24oYil7ZnVuY3Rpb24gZChrKXtyZXR1cm4gTWF0aC5sb2cxMChrKX1mdW5jdGlvbiBmKGspe3JldHVybiBNYXRoLnBvdygxMCxrKX1iLk1JTl9QT1NJVElWRV9WQUxVRT1NYXRoLnBvdygyLC0xMDc0KTtjbGFzcyBoIGV4dGVuZHMgYi5UZlNjYWxle2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLl9kM0xvZ1NjYWxlPWQzLnNjYWxlTG9nKCk7dGhpcy5wYWRQcm9wb3J0aW9uKC4yKX1zY2FsZShrKXtyZXR1cm4gMD49az9OYU46dGhpcy5fZDNMb2dTY2FsZShrKX1pbnZlcnQoayl7cmV0dXJuIHRoaXMuX2QzTG9nU2NhbGUuaW52ZXJ0KGspfXNjYWxlVHJhbnNmb3JtYXRpb24oayl7cmV0dXJuIHRoaXMuc2NhbGUoayl9aW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbihrKXtyZXR1cm4gdGhpcy5pbnZlcnQoayl9Z2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKXtyZXR1cm4gdGhpcy5kb21haW4oKX1fZ2V0RG9tYWluKCl7cmV0dXJuIHRoaXMuX3VudHJhbnNmb3JtZWREb21haW59X3NldERvbWFpbihrKXt0aGlzLl91bnRyYW5zZm9ybWVkRG9tYWluPQprO2NvbnN0IFtyLGxdPWs7c3VwZXIuX3NldERvbWFpbihbTWF0aC5tYXgoYi5NSU5fUE9TSVRJVkVfVkFMVUUsciksbF0pfV9uaWNlRG9tYWluKGspe2NvbnN0IFtyLGxdPWs7az1NYXRoLm1heChkKGIuTUlOX1BPU0lUSVZFX1ZBTFVFKSxkKHIpKTtjb25zdCBwPWQobCk7dmFyIG09cC1rO209bT9tKnRoaXMucGFkUHJvcG9ydGlvbigpOjE7cmV0dXJuW2YoTWF0aC5tYXgoZChiLk1JTl9QT1NJVElWRV9WQUxVRSksay1tKSksZihwK20pXX1fZ2V0VW5ib3VuZGVkRXh0ZW50KGspe2s9dGhpcy5fZ2V0QWxsSW5jbHVkZWRWYWx1ZXMoayk7bGV0IHI9dGhpcy5fZGVmYXVsdEV4dGVudCgpOzAhPT1rLmxlbmd0aCYmKGs9W1Bsb3R0YWJsZS5VdGlscy5NYXRoLm1pbihrLHJbMF0pLFBsb3R0YWJsZS5VdGlscy5NYXRoLm1heChrLHJbMV0pXSxyPXRoaXMuX25pY2VEb21haW4oaykpO3JldHVybiByfV9nZXRBbGxJbmNsdWRlZFZhbHVlcygpe3JldHVybiBzdXBlci5fZ2V0QWxsSW5jbHVkZWRWYWx1ZXMoKS5tYXAoaz0+CjA8az9rOmIuTUlOX1BPU0lUSVZFX1ZBTFVFKX1fZGVmYXVsdEV4dGVudCgpe3JldHVyblsxLDEwXX1fYmFja2luZ1NjYWxlRG9tYWluKGspe2lmKG51bGw9PWspcmV0dXJuIHRoaXMuX2QzTG9nU2NhbGUuZG9tYWluKCk7dGhpcy5fZDNMb2dTY2FsZS5kb21haW4oayk7cmV0dXJuIHRoaXN9X2dldFJhbmdlKCl7cmV0dXJuIHRoaXMuX2QzTG9nU2NhbGUucmFuZ2UoKX1fc2V0UmFuZ2Uoayl7dGhpcy5fZDNMb2dTY2FsZS5yYW5nZShrKX1kZWZhdWx0VGlja3MoKXtyZXR1cm4gdGhpcy5fZDNMb2dTY2FsZS50aWNrcygpfXRpY2tzKCl7cmV0dXJuIHRoaXMuX2QzTG9nU2NhbGUudGlja3MoKX1leHRlbnRPZlZhbHVlcyhrKXtsZXQgcj1rPWsuZmlsdGVyKGw9PlBsb3R0YWJsZS5VdGlscy5NYXRoLmlzVmFsaWROdW1iZXIobCkmJjA8bCk7aWYodGhpcy5pZ25vcmVPdXRsaWVyKCkpe2s9ay5tYXAoZCkuc29ydCgobSxuKT0+bS1uKTtjb25zdCBsPWQzLnF1YW50aWxlKGssLjA1KSxwPWQzLnF1YW50aWxlKGssCi45NSk7cj1rLmZpbHRlcihtPT5tPj1sJiZtPD1wKS5tYXAoZil9az1kMy5leHRlbnQocik7cmV0dXJuIG51bGw9PWtbMF18fG51bGw9PWtbMV0/W106a319Yi5Mb2dTY2FsZT1ofSkodWd8fCh1Zz17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3Z6LWxpbmUtY2hhcnQyL2xpbmUtY2hhcnQuanMKKGZ1bmN0aW9uKGIpe2xldCBkOyhmdW5jdGlvbihrKXtrW2suVEVYVD0wXT0iVEVYVCI7a1trLkRPTT0xXT0iRE9NIn0pKGR8fChkPXt9KSk7bGV0IGY7KGZ1bmN0aW9uKGspe2suTE9HPSJsb2ciO2suTElORUFSPSJsaW5lYXIifSkoZnx8KGY9e30pKTtjbGFzcyBoe2NvbnN0cnVjdG9yKGsscixsLHAsbSxuLHEsdSx3LEEseSl7dGhpcy5kaXJ0eURhdGFzZXRzPW5ldyBTZXQ7dGhpcy5zZXJpZXNOYW1lcz1bXTt0aGlzLm5hbWUyZGF0YXNldHM9e307dGhpcy5jb2xvclNjYWxlPXA7dGhpcy50b29sdGlwPW07dGhpcy5kYXRhc2V0cz1bXTt0aGlzLl9pZ25vcmVZT3V0bGllcnM9ITE7dGhpcy5sYXN0UG9pbnRzRGF0YXNldD1uZXcgUGxvdHRhYmxlLkRhdGFzZXQ7dGhpcy5uYW5EYXRhc2V0PW5ldyBQbG90dGFibGUuRGF0YXNldDt0aGlzLnlWYWx1ZUFjY2Vzc29yPXI7dGhpcy5zeW1ib2xGdW5jdGlvbj1BO3RoaXMuX2RlZmF1bHRYUmFuZ2U9dTt0aGlzLl9kZWZhdWx0WVJhbmdlPXc7CnRoaXMudG9vbHRpcENvbHVtbnM9bjt0aGlzLmJ1aWxkQ2hhcnQoayxsLHEseSl9YnVpbGRDaGFydChrLHIsbCxwKXt0aGlzLmRlc3Ryb3koKTtrPWsoKTt0aGlzLnhBY2Nlc3Nvcj1rLmFjY2Vzc29yO3RoaXMueFNjYWxlPWsuc2NhbGU7dGhpcy54QXhpcz1rLmF4aXM7dGhpcy54QXhpcy5tYXJnaW4oMCkudGlja0xhYmVsUGFkZGluZygzKTtwJiZ0aGlzLnhBeGlzLmZvcm1hdHRlcihwKTt0aGlzLnlTY2FsZT1oLmdldFlTY2FsZUZyb21UeXBlKHIpO3RoaXMueVNjYWxlLnNldFZhbHVlUHJvdmlkZXJGb3JEb21haW4oKCk9PnRoaXMuZ2V0VmFsdWVzRm9yWUF4aXNEb21haW5Db21wdXRlKCkpO3RoaXMueUF4aXM9bmV3IFBsb3R0YWJsZS5BeGVzLk51bWVyaWModGhpcy55U2NhbGUsImxlZnQiKTtwPXNmLm11bHRpc2NhbGVGb3JtYXR0ZXIoc2YuWV9BWElTX0ZPUk1BVFRFUl9QUkVDSVNJT04pO3RoaXMueUF4aXMubWFyZ2luKDApLnRpY2tMYWJlbFBhZGRpbmcoNSkuZm9ybWF0dGVyKHApOwp0aGlzLnlBeGlzLnVzZXNUZXh0V2lkdGhBcHByb3hpbWF0aW9uKCk7dGhpcy5maWxsQXJlYT1sO3A9bmV3IGIuUGFuWm9vbURyYWdMYXllcih0aGlzLnhTY2FsZSx0aGlzLnlTY2FsZSwoKT0+dGhpcy5yZXNldERvbWFpbigpKTt0aGlzLnRvb2x0aXBJbnRlcmFjdGlvbj10aGlzLmNyZWF0ZVRvb2x0aXBJbnRlcmFjdGlvbihwKTt0aGlzLnRvb2x0aXBQb2ludHNDb21wb25lbnQ9bmV3IFBsb3R0YWJsZS5Db21wb25lbnQ7bD10aGlzLmJ1aWxkUGxvdCh0aGlzLnhTY2FsZSx0aGlzLnlTY2FsZSxsKTt0aGlzLmdyaWRsaW5lcz1uZXcgUGxvdHRhYmxlLkNvbXBvbmVudHMuR3JpZGxpbmVzKHRoaXMueFNjYWxlLHRoaXMueVNjYWxlKTtrPW51bGw7ciE9PWYuTE9HJiYoaz1uZXcgUGxvdHRhYmxlLkNvbXBvbmVudHMuR3VpZGVMaW5lTGF5ZXIoImhvcml6b250YWwiKSxrLnNjYWxlKHRoaXMueVNjYWxlKS52YWx1ZSgwKSk7cj1uZXcgUGxvdHRhYmxlLkNvbXBvbmVudHMuR3VpZGVMaW5lTGF5ZXIoInZlcnRpY2FsIik7CnIuc2NhbGUodGhpcy54U2NhbGUpLnZhbHVlKDApO3RoaXMuY2VudGVyPW5ldyBQbG90dGFibGUuQ29tcG9uZW50cy5Hcm91cChbdGhpcy5ncmlkbGluZXMsayxyLGwsdGhpcy50b29sdGlwUG9pbnRzQ29tcG9uZW50LHBdKTt0aGlzLmNlbnRlci5hZGRDbGFzcygibWFpbiIpO3RoaXMub3V0ZXI9bmV3IFBsb3R0YWJsZS5Db21wb25lbnRzLlRhYmxlKFtbdGhpcy55QXhpcyx0aGlzLmNlbnRlcl0sW251bGwsdGhpcy54QXhpc11dKX1idWlsZFBsb3QoayxyLGwpe2wmJih0aGlzLm1hcmdpbkFyZWFQbG90PW5ldyBQbG90dGFibGUuUGxvdHMuQXJlYSx0aGlzLm1hcmdpbkFyZWFQbG90LngodGhpcy54QWNjZXNzb3IsayksdGhpcy5tYXJnaW5BcmVhUGxvdC55KGwuaGlnaGVyQWNjZXNzb3IsciksdGhpcy5tYXJnaW5BcmVhUGxvdC55MChsLmxvd2VyQWNjZXNzb3IpLHRoaXMubWFyZ2luQXJlYVBsb3QuYXR0cigiZmlsbCIsKHEsdSx3KT0+dGhpcy5jb2xvclNjYWxlLnNjYWxlKHcubWV0YWRhdGEoKS5uYW1lKSksCnRoaXMubWFyZ2luQXJlYVBsb3QuYXR0cigiZmlsbC1vcGFjaXR5IiwuMyksdGhpcy5tYXJnaW5BcmVhUGxvdC5hdHRyKCJzdHJva2Utd2lkdGgiLDApKTt0aGlzLnNtb290aGVkQWNjZXNzb3I9cT0+cS5zbW9vdGhlZDtsPW5ldyBQbG90dGFibGUuUGxvdHMuTGluZTtsLngodGhpcy54QWNjZXNzb3Isayk7bC55KHRoaXMueVZhbHVlQWNjZXNzb3Iscik7bC5hdHRyKCJzdHJva2UiLChxLHUsdyk9PnRoaXMuY29sb3JTY2FsZS5zY2FsZSh3Lm1ldGFkYXRhKCkubmFtZSkpO3RoaXMubGluZVBsb3Q9bDt0aGlzLnNldHVwVG9vbHRpcHMobCk7bGV0IHA9bmV3IFBsb3R0YWJsZS5QbG90cy5MaW5lO3AueCh0aGlzLnhBY2Nlc3NvcixrKTtwLnkodGhpcy5zbW9vdGhlZEFjY2Vzc29yLHIpO3AuYXR0cigic3Ryb2tlIiwocSx1LHcpPT50aGlzLmNvbG9yU2NhbGUuc2NhbGUody5tZXRhZGF0YSgpLm5hbWUpKTt0aGlzLnNtb290aExpbmVQbG90PXA7aWYodGhpcy5zeW1ib2xGdW5jdGlvbil7dmFyIG09Cm5ldyBQbG90dGFibGUuUGxvdHMuU2NhdHRlcjttLngodGhpcy54QWNjZXNzb3Isayk7bS55KHRoaXMueVZhbHVlQWNjZXNzb3Iscik7bS5hdHRyKCJmaWxsIiwocSx1LHcpPT50aGlzLmNvbG9yU2NhbGUuc2NhbGUody5tZXRhZGF0YSgpLm5hbWUpKTttLmF0dHIoIm9wYWNpdHkiLDEpO20uc2l6ZSgyKnNmLlRPT0xUSVBfQ0lSQ0xFX1NJWkUpO20uc3ltYm9sKChxLHUsdyk9PnRoaXMuc3ltYm9sRnVuY3Rpb24ody5tZXRhZGF0YSgpLm5hbWUpKTt0aGlzLm1hcmtlcnNTY2F0dGVyUGxvdD1tfW09bmV3IFBsb3R0YWJsZS5QbG90cy5TY2F0dGVyO20ueCh0aGlzLnhBY2Nlc3NvcixrKTttLnkodGhpcy55VmFsdWVBY2Nlc3NvcixyKTttLmF0dHIoImZpbGwiLHE9PnRoaXMuY29sb3JTY2FsZS5zY2FsZShxLm5hbWUpKTttLmF0dHIoIm9wYWNpdHkiLDEpO20uc2l6ZSgyKnNmLlRPT0xUSVBfQ0lSQ0xFX1NJWkUpO20uZGF0YXNldHMoW3RoaXMubGFzdFBvaW50c0RhdGFzZXRdKTt0aGlzLnNjYXR0ZXJQbG90PQptO2xldCBuPW5ldyBQbG90dGFibGUuUGxvdHMuU2NhdHRlcjtuLngodGhpcy54QWNjZXNzb3Isayk7bi55KHE9PnEuZGlzcGxheVkscik7bi5hdHRyKCJmaWxsIixxPT50aGlzLmNvbG9yU2NhbGUuc2NhbGUocS5uYW1lKSk7bi5hdHRyKCJvcGFjaXR5IiwxKTtuLnNpemUoMipzZi5OQU5fU1lNQk9MX1NJWkUpO24uZGF0YXNldHMoW3RoaXMubmFuRGF0YXNldF0pO24uc3ltYm9sKFBsb3R0YWJsZS5TeW1ib2xGYWN0b3JpZXMudHJpYW5nbGUpO3RoaXMubmFuRGlzcGxheT1uO2s9W24sbSxwLGxdO3RoaXMubWFyZ2luQXJlYVBsb3QmJmsucHVzaCh0aGlzLm1hcmdpbkFyZWFQbG90KTt0aGlzLm1hcmtlcnNTY2F0dGVyUGxvdCYmay5wdXNoKHRoaXMubWFya2Vyc1NjYXR0ZXJQbG90KTtyZXR1cm4gbmV3IFBsb3R0YWJsZS5Db21wb25lbnRzLkdyb3VwKGspfWlnbm9yZVlPdXRsaWVycyhrKXtrIT09dGhpcy5faWdub3JlWU91dGxpZXJzJiYodGhpcy5faWdub3JlWU91dGxpZXJzPWssdGhpcy51cGRhdGVTcGVjaWFsRGF0YXNldHMoKSwKdGhpcy55U2NhbGUuaWdub3JlT3V0bGllcihrKSx0aGlzLnJlc2V0WURvbWFpbigpKX1nZXRWYWx1ZXNGb3JZQXhpc0RvbWFpbkNvbXB1dGUoKXtjb25zdCBrPXRoaXMuZ2V0QWNjZXNzb3JzRm9yQ29tcHV0aW5nWVJhbmdlKCk7cmV0dXJuIF8uZmxhdHRlbkRlZXAodGhpcy5kYXRhc2V0cy5tYXAocj0+ay5tYXAobD0+ci5kYXRhKCkubWFwKHA9PmwocCwtMSxyKSkpKSkuZmlsdGVyKGlzRmluaXRlKX11cGRhdGVTcGVjaWFsRGF0YXNldHMoKXtjb25zdCBrPXRoaXMuZ2V0WUF4aXNBY2Nlc3NvcigpO3ZhciByPXRoaXMuZGF0YXNldHMubWFwKGw9PntsZXQgcD1udWxsLG09bC5kYXRhKCkuZmlsdGVyKG49PiFpc05hTihrKG4sLTEsbCkpKTswPG0ubGVuZ3RoJiYocD1tW20ubGVuZ3RoLTFdLHAubmFtZT1sLm1ldGFkYXRhKCkubmFtZSxwLnJlbGF0aXZlPXNmLnJlbGF0aXZlQWNjZXNzb3IocCwtMSxsKSk7cmV0dXJuIHB9KS5maWx0ZXIobD0+bnVsbCE9bCk7dGhpcy5sYXN0UG9pbnRzRGF0YXNldC5kYXRhKHIpOwp0aGlzLm1hcmtlcnNTY2F0dGVyUGxvdCYmdGhpcy5tYXJrZXJzU2NhdHRlclBsb3QuZGF0YXNldHModGhpcy5kYXRhc2V0cy5tYXAodGhpcy5jcmVhdGVTYW1wbGVkRGF0YXNldEZvck1hcmtlcnMpKTtyPV8uZmxhdHRlbih0aGlzLmRhdGFzZXRzLm1hcChsPT57bGV0IHA9bnVsbCxtPWwuZGF0YSgpLG49MDtmb3IoO248bS5sZW5ndGgmJm51bGw9PXA7KWlzTmFOKGsobVtuXSwtMSxsKSl8fChwPWsobVtuXSwtMSxsKSksbisrO251bGw9PXAmJihwPTApO2xldCBxPVtdO2ZvcihuPTA7bjxtLmxlbmd0aDtuKyspaXNOYU4oayhtW25dLC0xLGwpKT8obVtuXS5uYW1lPWwubWV0YWRhdGEoKS5uYW1lLG1bbl0uZGlzcGxheVk9cCxtW25dLnJlbGF0aXZlPXNmLnJlbGF0aXZlQWNjZXNzb3IobVtuXSwtMSxsKSxxLnB1c2gobVtuXSkpOnA9ayhtW25dLC0xLGwpO3JldHVybiBxfSkpO3RoaXMubmFuRGF0YXNldC5kYXRhKHIpfXJlc2V0RG9tYWluKCl7dGhpcy5yZXNldFhEb21haW4oKTt0aGlzLnJlc2V0WURvbWFpbigpfXJlc2V0WERvbWFpbigpe2lmKG51bGwhPQp0aGlzLl9kZWZhdWx0WFJhbmdlKXZhciBrPXRoaXMuX2RlZmF1bHRYUmFuZ2U7ZWxzZSBrPXRoaXMueFNjYWxlLGsuX2RvbWFpbk1pbj1udWxsLGsuX2RvbWFpbk1heD1udWxsLGs9ay5fZ2V0RXh0ZW50KCk7dGhpcy54U2NhbGUuZG9tYWluKGspfXJlc2V0WURvbWFpbigpe251bGwhPXRoaXMuX2RlZmF1bHRZUmFuZ2U/dGhpcy55U2NhbGUuZG9tYWluKHRoaXMuX2RlZmF1bHRZUmFuZ2UpOih0aGlzLnlTY2FsZS5hdXRvRG9tYWluKCksdGhpcy55U2NhbGUuZG9tYWluKHRoaXMueVNjYWxlLmRvbWFpbigpKSl9Z2V0QWNjZXNzb3JzRm9yQ29tcHV0aW5nWVJhbmdlKCl7Y29uc3Qgaz1bdGhpcy5nZXRZQXhpc0FjY2Vzc29yKCldO3RoaXMuZmlsbEFyZWEmJmsucHVzaCh0aGlzLmZpbGxBcmVhLmxvd2VyQWNjZXNzb3IsdGhpcy5maWxsQXJlYS5oaWdoZXJBY2Nlc3Nvcik7cmV0dXJuIGt9Z2V0WUF4aXNBY2Nlc3Nvcigpe3JldHVybiB0aGlzLnNtb290aGluZ0VuYWJsZWQ/dGhpcy5zbW9vdGhlZEFjY2Vzc29yOgp0aGlzLnlWYWx1ZUFjY2Vzc29yfWNyZWF0ZVRvb2x0aXBJbnRlcmFjdGlvbihrKXtjb25zdCByPW5ldyBzZi5Qb2ludGVySW50ZXJhY3Rpb24sbD0oKT0+e3IuZW5hYmxlZCghMSk7dGhpcy5oaWRlVG9vbHRpcHMoKX0scD0oKT0+ci5lbmFibGVkKCEwKTtrLm9uUGFuU3RhcnQobCk7ay5vbkRyYWdab29tU3RhcnQobCk7ay5vblBhbkVuZChwKTtrLm9uRHJhZ1pvb21FbmQocCk7ay5vblNjcm9sbFpvb20oKCk9PnRoaXMudXBkYXRlVG9vbHRpcENvbnRlbnQodGhpcy5fbGFzdE1vdXNlUG9zaXRpb24pKTtyLm9uUG9pbnRlck1vdmUobT0+e3RoaXMuX2xhc3RNb3VzZVBvc2l0aW9uPW07dGhpcy51cGRhdGVUb29sdGlwQ29udGVudChtKX0pO3Iub25Qb2ludGVyRXhpdCgoKT0+dGhpcy5oaWRlVG9vbHRpcHMoKSk7cmV0dXJuIHJ9dXBkYXRlVG9vbHRpcENvbnRlbnQoayl7dGhpcy5saW5lUGxvdCYmKHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl90b29sdGlwVXBkYXRlQW5pbWF0aW9uRnJhbWUpLAp0aGlzLl90b29sdGlwVXBkYXRlQW5pbWF0aW9uRnJhbWU9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2xldCByPXt4OmsueCx5OmsueSxkYXR1bTpudWxsLGRhdGFzZXQ6bnVsbH0sbD10aGlzLmdyaWRsaW5lcy5jb250ZW50KCkubm9kZSgpLmdldEJCb3goKTt2YXIgcD10aGlzLmxpbmVQbG90LmRhdGFzZXRzKCkubWFwKHU9PnRoaXMuZmluZENsb3Nlc3RQb2ludChyLHUpKS5maWx0ZXIoQm9vbGVhbik7bGV0IG09UGxvdHRhYmxlLlV0aWxzLkRPTS5pbnRlcnNlY3RzQkJveCxuPXAuZmlsdGVyKHU9Pm0odS54LHUueSxsKXx8aXNOYU4odGhpcy55VmFsdWVBY2Nlc3Nvcih1LmRhdHVtLDAsdS5kYXRhc2V0KSkpLHE9bi5maWx0ZXIodT0+IWlzTmFOKHRoaXMueVZhbHVlQWNjZXNzb3IodS5kYXR1bSwwLHUuZGF0YXNldCkpKTswIT09cC5sZW5ndGg/KHRoaXMuc2NhdHRlclBsb3QuYXR0cigiZGlzcGxheSIsIm5vbmUiKSxwPXRoaXMudG9vbHRpcFBvaW50c0NvbXBvbmVudC5jb250ZW50KCkuc2VsZWN0QWxsKCIucG9pbnQiKS5kYXRhKHEsCnU9PnUuZGF0YXNldC5tZXRhZGF0YSgpLm5hbWUpLHAuZW50ZXIoKS5hcHBlbmQoImNpcmNsZSIpLmNsYXNzZWQoInBvaW50IiwhMCkscC5hdHRyKCJyIixzZi5UT09MVElQX0NJUkNMRV9TSVpFKS5hdHRyKCJjeCIsdT0+dS54KS5hdHRyKCJjeSIsdT0+dS55KS5zdHlsZSgic3Ryb2tlIiwibm9uZSIpLmF0dHIoImZpbGwiLHU9PnRoaXMuY29sb3JTY2FsZS5zY2FsZSh1LmRhdGFzZXQubWV0YWRhdGEoKS5uYW1lKSkscC5leGl0KCkucmVtb3ZlKCksdGhpcy5kcmF3VG9vbHRpcHMobixyLHRoaXMudG9vbHRpcENvbHVtbnMpKTp0aGlzLmhpZGVUb29sdGlwcygpfSkpfWhpZGVUb29sdGlwcygpe3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl90b29sdGlwVXBkYXRlQW5pbWF0aW9uRnJhbWUpO3RoaXMudG9vbHRpcC5oaWRlKCk7dGhpcy5zY2F0dGVyUGxvdC5hdHRyKCJkaXNwbGF5IiwiYmxvY2siKTt0aGlzLnRvb2x0aXBQb2ludHNDb21wb25lbnQuY29udGVudCgpLnNlbGVjdEFsbCgiLnBvaW50IikucmVtb3ZlKCl9c2V0dXBUb29sdGlwcyhrKXtrLm9uRGV0YWNoKCgpPT4Ke3RoaXMudG9vbHRpcEludGVyYWN0aW9uLmRldGFjaEZyb20oKTt0aGlzLnRvb2x0aXBJbnRlcmFjdGlvbi5lbmFibGVkKCExKX0pO2sub25BbmNob3IoKCk9Pnt0aGlzLnRvb2x0aXBJbnRlcmFjdGlvbi5hdHRhY2hUbyhrKTt0aGlzLnRvb2x0aXBJbnRlcmFjdGlvbi5lbmFibGVkKCEwKX0pfWRyYXdUb29sdGlwcyhrLHIsbCl7aWYoay5sZW5ndGgpe3ZhciBwPXRoaXMuY29sb3JTY2FsZTtsPVt7dGl0bGU6IiIsc3RhdGljOiExLGV2YWxUeXBlOmQuRE9NLGV2YWx1YXRlKHkpe2QzLnNlbGVjdCh0aGlzKS5zZWxlY3QoInNwYW4iKS5zdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsKCk9PnAuc2NhbGUoeS5kYXRhc2V0Lm1ldGFkYXRhKCkubmFtZSkpO3JldHVybiIifSxlbnRlcih5KXtkMy5zZWxlY3QodGhpcykuYXBwZW5kKCJzcGFuIikuY2xhc3NlZCgic3dhdGNoIiwhMCkuc3R5bGUoImJhY2tncm91bmQtY29sb3IiLCgpPT5wLnNjYWxlKHkuZGF0YXNldC5tZXRhZGF0YSgpLm5hbWUpKX19LAouLi5sXTt2YXIgbT15PT5NYXRoLnBvdyh5Lngtci54LDIpK01hdGgucG93KHkueS1yLnksMiksbj1fLm1pbihrLm1hcChtKSkscT10aGlzLnNtb290aGluZ0VuYWJsZWQ/dGhpcy5zbW9vdGhlZEFjY2Vzc29yOnRoaXMueVZhbHVlQWNjZXNzb3I7az0iYXNjZW5kaW5nIj09PXRoaXMudG9vbHRpcFNvcnRpbmdNZXRob2Q/Xy5zb3J0Qnkoayx5PT5xKHkuZGF0dW0sLTEseS5kYXRhc2V0KSk6ImRlc2NlbmRpbmciPT09dGhpcy50b29sdGlwU29ydGluZ01ldGhvZD9fLnNvcnRCeShrLHk9PnEoeS5kYXR1bSwtMSx5LmRhdGFzZXQpKS5yZXZlcnNlKCk6Im5lYXJlc3QiPT09dGhpcy50b29sdGlwU29ydGluZ01ldGhvZD9fLnNvcnRCeShrLG0pOmsuc2xpY2UoMCkucmV2ZXJzZSgpO3ZhciB1PXRoaXMsdz1kMy5zZWxlY3QodGhpcy50b29sdGlwLmNvbnRlbnQoKSkuc2VsZWN0KCJ0YWJsZSIpLEE9dy5zZWxlY3QoInRoZWFkIikuc2VsZWN0QWxsKCJ0aCIpLmRhdGEobCx5PT55LnRpdGxlKTsKQS5lbnRlcigpLmFwcGVuZCgidGgiKS50ZXh0KHk9PnkudGl0bGUpLm5vZGVzKCk7QS5leGl0KCkucmVtb3ZlKCk7az13LnNlbGVjdCgidGJvZHkiKS5zZWxlY3RBbGwoInRyIikuZGF0YShrLHk9PnkuZGF0YXNldC5tZXRhZGF0YSgpLm5hbWUpO2suY2xhc3NlZCgiZGlzdGFudCIseT0+e3ZhciB4PXkuZGF0YXNldC5kYXRhKClbMF0sQz1fLmxhc3QoeS5kYXRhc2V0LmRhdGEoKSk7eD10aGlzLnhTY2FsZS5zY2FsZSh0aGlzLnhBY2Nlc3Nvcih4LDAseS5kYXRhc2V0KSk7Qz10aGlzLnhTY2FsZS5zY2FsZSh0aGlzLnhBY2Nlc3NvcihDLDAseS5kYXRhc2V0KSk7eT10aGlzLnNtb290aGluZ0VuYWJsZWQ/eS5kYXR1bS5zbW9vdGhlZDp0aGlzLnlWYWx1ZUFjY2Vzc29yKHkuZGF0dW0sMCx5LmRhdGFzZXQpO3JldHVybiByLng8eHx8ci54PkN8fGlzTmFOKHkpfSkuY2xhc3NlZCgiY2xvc2VzdCIseT0+bSh5KT09PW4pLmVhY2goZnVuY3Rpb24oeSl7dS5kcmF3VG9vbHRpcFJvdyh0aGlzLApsLHkpfSkub3JkZXIoKTtrLmV4aXQoKS5yZW1vdmUoKTtrLmVudGVyKCkuYXBwZW5kKCJ0ciIpLmVhY2goZnVuY3Rpb24oeSl7dS5kcmF3VG9vbHRpcFJvdyh0aGlzLGwseSl9KS5ub2RlcygpO3RoaXMudG9vbHRpcC51cGRhdGVBbmRQb3NpdGlvbih0aGlzLnRhcmdldFNWRy5ub2RlKCkpfWVsc2UgdGhpcy50b29sdGlwLmhpZGUoKX1kcmF3VG9vbHRpcFJvdyhrLHIsbCl7Y29uc3QgcD10aGlzO2s9ZDMuc2VsZWN0KGspLnNlbGVjdEFsbCgidGQiKS5kYXRhKHIpO2suZWFjaChmdW5jdGlvbihtKXttLnN0YXRpY3x8cC5kcmF3VG9vbHRpcENvbHVtbi5jYWxsKHAsdGhpcyxtLGwpfSk7ay5leGl0KCkucmVtb3ZlKCk7ay5lbnRlcigpLmFwcGVuZCgidGQiKS5lYWNoKGZ1bmN0aW9uKG0pe20uZW50ZXImJm0uZW50ZXIuY2FsbCh0aGlzLGwpO3AuZHJhd1Rvb2x0aXBDb2x1bW4uY2FsbChwLHRoaXMsbSxsKX0pfWRyYXdUb29sdGlwQ29sdW1uKGsscixsKXtjb25zdCBwPXRoaXMuc21vb3RoaW5nRW5hYmxlZDsKci5ldmFsVHlwZT09ZC5ET00/ci5ldmFsdWF0ZS5jYWxsKGssbCx7c21vb3RoaW5nRW5hYmxlZDpwfSk6ZDMuc2VsZWN0KGspLnRleHQoci5ldmFsdWF0ZS5jYWxsKGssbCx7c21vb3RoaW5nRW5hYmxlZDpwfSkpfWZpbmRDbG9zZXN0UG9pbnQoayxyKXtjb25zdCBsPXIuZGF0YSgpLm1hcCgobixxKT0+dGhpcy54U2NhbGUuc2NhbGUodGhpcy54QWNjZXNzb3IobixxLHIpKSk7bGV0IHA9Xy5zb3J0ZWRJbmRleChsLGsueCk7aWYoMD09bC5sZW5ndGgpcmV0dXJuIG51bGw7cD09PWwubGVuZ3RoPy0tcDowIT09cCYmKHA9TWF0aC5hYnMobFtwLTFdLWsueCk8TWF0aC5hYnMobFtwXS1rLngpP3AtMTpwKTtrPXIuZGF0YSgpW3BdO2NvbnN0IG09dGhpcy5zbW9vdGhpbmdFbmFibGVkP3RoaXMuc21vb3RoZWRBY2Nlc3NvcihrLHAscik6dGhpcy55VmFsdWVBY2Nlc3NvcihrLHAscik7cmV0dXJue3g6bFtwXSx5OnRoaXMueVNjYWxlLnNjYWxlKG0pLGRhdHVtOmssZGF0YXNldDpyfX1yZXNtb290aERhdGFzZXQoayl7bGV0IHI9CmsuZGF0YSgpO2NvbnN0IGw9dGhpcy5zbW9vdGhpbmdXZWlnaHQ7bGV0IHA9MDxyLmxlbmd0aD8wOk5hTixtPTA7Y29uc3Qgbj1yLm1hcCgodSx3KT0+dGhpcy55VmFsdWVBY2Nlc3Nvcih1LHcsaykpLHE9bi5ldmVyeSh1PT51PT1uWzBdKTtyLmZvckVhY2goKHUsdyk9Pnt3PW5bd107cXx8IU51bWJlci5pc0Zpbml0ZSh3KT91LnNtb290aGVkPXc6KHA9cCpsKygxLWwpKncsbSsrLHc9MSwxIT09bCYmKHc9MS1NYXRoLnBvdyhsLG0pKSx1LnNtb290aGVkPXAvdyl9KX1nZXREYXRhc2V0KGspe3ZvaWQgMD09PXRoaXMubmFtZTJkYXRhc2V0c1trXSYmKHRoaXMubmFtZTJkYXRhc2V0c1trXT1uZXcgUGxvdHRhYmxlLkRhdGFzZXQoW10se25hbWU6ayxtZXRhOm51bGx9KSk7cmV0dXJuIHRoaXMubmFtZTJkYXRhc2V0c1trXX1zdGF0aWMgZ2V0WVNjYWxlRnJvbVR5cGUoayl7aWYoaz09PWYuTE9HKXJldHVybiBuZXcgYi5Mb2dTY2FsZTtpZihrPT09Zi5MSU5FQVIpcmV0dXJuIG5ldyBiLkxpbmVhclNjYWxlOwp0aHJvdyBFcnJvcigiVW5yZWNvZ25pemVkIHlTY2FsZSB0eXBlICIrayk7fXNldFZpc2libGVTZXJpZXMoayl7dGhpcy5kaXNhYmxlQ2hhbmdlcygpO2s9ay5zb3J0KCk7ay5yZXZlcnNlKCk7dGhpcy5zZXJpZXNOYW1lcz1rfWRpc2FibGVDaGFuZ2VzKCl7dGhpcy5kaXJ0eURhdGFzZXRzLnNpemV8fCh0aGlzLmxpbmVQbG90LmRhdGFzZXRzKFtdKSx0aGlzLnNtb290aExpbmVQbG90JiZ0aGlzLnNtb290aExpbmVQbG90LmRhdGFzZXRzKFtdKSx0aGlzLm1hcmdpbkFyZWFQbG90JiZ0aGlzLm1hcmdpbkFyZWFQbG90LmRhdGFzZXRzKFtdKSl9Y29tbWl0Q2hhbmdlcygpe3RoaXMuZGF0YXNldHM9dGhpcy5zZXJpZXNOYW1lcy5tYXAoaz0+dGhpcy5nZXREYXRhc2V0KGspKTtbLi4udGhpcy5kaXJ0eURhdGFzZXRzXS5mb3JFYWNoKGs9Pnt0aGlzLnNtb290aGluZ0VuYWJsZWQmJnRoaXMucmVzbW9vdGhEYXRhc2V0KHRoaXMuZ2V0RGF0YXNldChrKSl9KTt0aGlzLnVwZGF0ZVNwZWNpYWxEYXRhc2V0cygpOwp0aGlzLmxpbmVQbG90LmRhdGFzZXRzKHRoaXMuZGF0YXNldHMpO3RoaXMuc21vb3RoaW5nRW5hYmxlZCYmdGhpcy5zbW9vdGhMaW5lUGxvdC5kYXRhc2V0cyh0aGlzLmRhdGFzZXRzKTt0aGlzLm1hcmdpbkFyZWFQbG90JiZ0aGlzLm1hcmdpbkFyZWFQbG90LmRhdGFzZXRzKHRoaXMuZGF0YXNldHMpO3RoaXMubWVhc3VyZUJCb3hBbmRNYXliZUludmFsaWRhdGVMYXlvdXRJblJhZigpO3RoaXMuZGlydHlEYXRhc2V0cy5jbGVhcigpfWNyZWF0ZVNhbXBsZWREYXRhc2V0Rm9yTWFya2VycyhrKXtjb25zdCByPWsuZGF0YSgpO2lmKDIwPj1yLmxlbmd0aClyZXR1cm4gaztjb25zdCBsPU1hdGguY2VpbChyLmxlbmd0aC8yMCkscD1BcnJheShNYXRoLmZsb29yKHIubGVuZ3RoL2wpKTtmb3IobGV0IG09MCxuPTA7bTxwLmxlbmd0aDttKyssbis9bClwW21dPXJbbl07cmV0dXJuIG5ldyBQbG90dGFibGUuRGF0YXNldChwLGsubWV0YWRhdGEoKSl9c2V0U2VyaWVzRGF0YShrLHIpe3RoaXMuZGlzYWJsZUNoYW5nZXMoKTsKdGhpcy5nZXREYXRhc2V0KGspLmRhdGEocik7dGhpcy5kaXJ0eURhdGFzZXRzLmFkZChrKX1zZXRTZXJpZXNNZXRhZGF0YShrLHIpe3RoaXMuZGlzYWJsZUNoYW5nZXMoKTt0aGlzLmdldERhdGFzZXQoaykubWV0YWRhdGEoT2JqZWN0LmFzc2lnbih7fSx0aGlzLmdldERhdGFzZXQoaykubWV0YWRhdGEoKSx7bWV0YTpyfSkpO3RoaXMuZGlydHlEYXRhc2V0cy5hZGQoayl9c21vb3RoaW5nVXBkYXRlKGspe3RoaXMuc21vb3RoaW5nV2VpZ2h0PWs7dGhpcy5kYXRhc2V0cy5mb3JFYWNoKHI9PnRoaXMucmVzbW9vdGhEYXRhc2V0KHIpKTt0aGlzLnNtb290aGluZ0VuYWJsZWR8fCh0aGlzLmxpbmVQbG90LmFkZENsYXNzKCJnaG9zdCIpLHRoaXMuc2NhdHRlclBsb3QueSh0aGlzLnNtb290aGVkQWNjZXNzb3IsdGhpcy55U2NhbGUpLHRoaXMuc21vb3RoaW5nRW5hYmxlZD0hMCx0aGlzLnNtb290aExpbmVQbG90LmRhdGFzZXRzKHRoaXMuZGF0YXNldHMpKTt0aGlzLm1hcmtlcnNTY2F0dGVyUGxvdCYmCnRoaXMubWFya2Vyc1NjYXR0ZXJQbG90LnkodGhpcy5nZXRZQXhpc0FjY2Vzc29yKCksdGhpcy55U2NhbGUpO3RoaXMudXBkYXRlU3BlY2lhbERhdGFzZXRzKCl9c21vb3RoaW5nRGlzYWJsZSgpe3RoaXMuc21vb3RoaW5nRW5hYmxlZCYmKHRoaXMubGluZVBsb3QucmVtb3ZlQ2xhc3MoImdob3N0IiksdGhpcy5zY2F0dGVyUGxvdC55KHRoaXMueVZhbHVlQWNjZXNzb3IsdGhpcy55U2NhbGUpLHRoaXMuc21vb3RoTGluZVBsb3QuZGF0YXNldHMoW10pLHRoaXMuc21vb3RoaW5nRW5hYmxlZD0hMSx0aGlzLnVwZGF0ZVNwZWNpYWxEYXRhc2V0cygpKTt0aGlzLm1hcmtlcnNTY2F0dGVyUGxvdCYmdGhpcy5tYXJrZXJzU2NhdHRlclBsb3QueSh0aGlzLmdldFlBeGlzQWNjZXNzb3IoKSx0aGlzLnlTY2FsZSl9c2V0VG9vbHRpcFNvcnRpbmdNZXRob2Qoayl7dGhpcy50b29sdGlwU29ydGluZ01ldGhvZD1rfXJlbmRlclRvKGspe3RoaXMudGFyZ2V0U1ZHPWs7dGhpcy5vdXRlci5yZW5kZXJUbyhrKTsKbnVsbCE9dGhpcy5fZGVmYXVsdFhSYW5nZSYmdGhpcy5yZXNldFhEb21haW4oKTtudWxsIT10aGlzLl9kZWZhdWx0WVJhbmdlJiZ0aGlzLnJlc2V0WURvbWFpbigpO3RoaXMubWVhc3VyZUJCb3hBbmRNYXliZUludmFsaWRhdGVMYXlvdXRJblJhZigpfXJlZHJhdygpe3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yZWRyYXdSYWYpO3RoaXMuX3JlZHJhd1JhZj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5tZWFzdXJlQkJveEFuZE1heWJlSW52YWxpZGF0ZUxheW91dCgpO3RoaXMub3V0ZXIucmVkcmF3KCl9KX1tZWFzdXJlQkJveEFuZE1heWJlSW52YWxpZGF0ZUxheW91dEluUmFmKCl7d2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2ludmFsaWRhdGVMYXlvdXRSYWYpO3RoaXMuX2ludmFsaWRhdGVMYXlvdXRSYWY9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMubWVhc3VyZUJCb3hBbmRNYXliZUludmFsaWRhdGVMYXlvdXQoKX0pfW1lYXN1cmVCQm94QW5kTWF5YmVJbnZhbGlkYXRlTGF5b3V0KCl7aWYodGhpcy5fbGFzdERyYXdCQm94KXtjb25zdCBrPQp0aGlzLl9sYXN0RHJhd0JCb3gud2lkdGgse3dpZHRoOnJ9PXRoaXMudGFyZ2V0U1ZHLm5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTswPT1rJiZrPHImJnRoaXMub3V0ZXIuaW52YWxpZGF0ZUNhY2hlKCl9dGhpcy5fbGFzdERyYXdCQm94PXRoaXMudGFyZ2V0U1ZHLm5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1kZXN0cm95KCl7d2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3JlZHJhd1JhZik7d2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2ludmFsaWRhdGVMYXlvdXRSYWYpO3RoaXMub3V0ZXImJnRoaXMub3V0ZXIuZGVzdHJveSgpfW9uQW5jaG9yKGspe2lmKHRoaXMub3V0ZXIpdGhpcy5vdXRlci5vbkFuY2hvcihrKX19Yi5MaW5lQ2hhcnQ9aH0pKHVnfHwodWc9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92ei1saW5lLWNoYXJ0Mi92ei1saW5lLWNoYXJ0Mi5qcwooZnVuY3Rpb24oYil7Y29uc3QgZD1zZi5tdWx0aXNjYWxlRm9ybWF0dGVyKHNmLllfVE9PTFRJUF9GT1JNQVRURVJfUFJFQ0lTSU9OKSxmPWg9PmlzTmFOKGgpPyJOYU4iOmQoaCk7Yi5ERUZBVUxUX1RPT0xUSVBfQ09MVU1OUz1be3RpdGxlOiJOYW1lIixldmFsdWF0ZTpoPT5oLmRhdGFzZXQubWV0YWRhdGEoKS5uYW1lfSx7dGl0bGU6IlNtb290aGVkIixldmFsdWF0ZShoLGspe3JldHVybiBmKGsuc21vb3RoaW5nRW5hYmxlZD9oLmRhdHVtLnNtb290aGVkOmguZGF0dW0uc2NhbGFyKX19LHt0aXRsZToiVmFsdWUiLGV2YWx1YXRlOmg9PmYoaC5kYXR1bS5zY2FsYXIpfSx7dGl0bGU6IlN0ZXAiLGV2YWx1YXRlOmg9PnNmLnN0ZXBGb3JtYXR0ZXIoaC5kYXR1bS5zdGVwKX0se3RpdGxlOiJUaW1lIixldmFsdWF0ZTpoPT5zZi50aW1lRm9ybWF0dGVyKGguZGF0dW0ud2FsbF90aW1lKX0se3RpdGxlOiJSZWxhdGl2ZSIsZXZhbHVhdGU6aD0+c2YucmVsYXRpdmVGb3JtYXR0ZXIoc2YucmVsYXRpdmVBY2Nlc3NvcihoLmRhdHVtLAotMSxoLmRhdGFzZXQpKX1dO1BvbHltZXIoe2lzOiJ2ei1saW5lLWNoYXJ0MiIscHJvcGVydGllczp7Y29sb3JTY2FsZTp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IFBsb3R0YWJsZS5TY2FsZXMuQ29sb3IpLnJhbmdlKGQzLnNjaGVtZUNhdGVnb3J5MTApfX0sc3ltYm9sRnVuY3Rpb246T2JqZWN0LHNtb290aGluZ0VuYWJsZWQ6e3R5cGU6Qm9vbGVhbixub3RpZnk6ITAsdmFsdWU6ITF9LHNtb290aGluZ1dlaWdodDp7dHlwZTpOdW1iZXIsdmFsdWU6LjZ9LHhUeXBlOnt0eXBlOlN0cmluZyx2YWx1ZToiIn0seENvbXBvbmVudHNDcmVhdGlvbk1ldGhvZDp7dHlwZTpPYmplY3QsdmFsdWU6IiJ9LHhBeGlzRm9ybWF0dGVyOk9iamVjdCx5VmFsdWVBY2Nlc3Nvcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pmg9Pmguc2NhbGFyfSx0b29sdGlwQ29sdW1uczp7dHlwZTpBcnJheSx2YWx1ZTooKT0+Yi5ERUZBVUxUX1RPT0xUSVBfQ09MVU1OU30sZmlsbEFyZWE6T2JqZWN0LApkZWZhdWx0WFJhbmdlOkFycmF5LGRlZmF1bHRZUmFuZ2U6QXJyYXkseVNjYWxlVHlwZTp7dHlwZTpTdHJpbmcsdmFsdWU6ImxpbmVhciJ9LGlnbm9yZVlPdXRsaWVyczp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSx0b29sdGlwU29ydGluZ01ldGhvZDp7dHlwZTpTdHJpbmcsdmFsdWU6ImRlZmF1bHQifSx0b29sdGlwUG9zaXRpb246e3R5cGU6U3RyaW5nLHZhbHVlOnNnLlRvb2x0aXBQb3NpdGlvbi5CT1RUT019LF9jaGFydDpPYmplY3QsX3Zpc2libGVTZXJpZXNDYWNoZTp7dHlwZTpBcnJheSx2YWx1ZTooKT0+W119LF9zZXJpZXNEYXRhQ2FjaGU6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT4oe30pfSxfc2VyaWVzTWV0YWRhdGFDYWNoZTp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pih7fSl9LF9tYWtlQ2hhcnRBc3luY0NhbGxiYWNrSWQ6e3R5cGU6TnVtYmVyLHZhbHVlOm51bGx9fSxvYnNlcnZlcnM6WyJfbWFrZUNoYXJ0KHhDb21wb25lbnRzQ3JlYXRpb25NZXRob2QsIHhUeXBlLCB5VmFsdWVBY2Nlc3NvciwgeVNjYWxlVHlwZSwgdG9vbHRpcENvbHVtbnMsIGNvbG9yU2NhbGUsIGlzQXR0YWNoZWQpIiwKIl9yZWxvYWRGcm9tQ2FjaGUoX2NoYXJ0LCBfdmlzaWJsZVNlcmllc0NhY2hlKSIsIl9zbW9vdGhpbmdDaGFuZ2VkKHNtb290aGluZ0VuYWJsZWQsIHNtb290aGluZ1dlaWdodCwgX2NoYXJ0KSIsIl90b29sdGlwU29ydGluZ01ldGhvZENoYW5nZWQodG9vbHRpcFNvcnRpbmdNZXRob2QsIF9jaGFydCkiLCJfb3V0bGllcnNDaGFuZ2VkKGlnbm9yZVlPdXRsaWVycywgX2NoYXJ0KSJdLHJlYWR5KCl7dGhpcy5zY29wZVN1YnRyZWUodGhpcy4kLmNoYXJ0ZGl2LCEwKX0sYXR0YWNoZWQoKXtjb25zdCBoPXtjYXB0dXJlOiEwLHBhc3NpdmU6ITB9O3RoaXMuX2xpc3Rlbih0aGlzLCJtb3VzZWRvd24iLHRoaXMuX29uTW91c2VEb3duLmJpbmQodGhpcyksaCk7dGhpcy5fbGlzdGVuKHRoaXMsIm1vdXNldXAiLHRoaXMuX29uTW91c2VVcC5iaW5kKHRoaXMpLGgpO3RoaXMuX2xpc3Rlbih3aW5kb3csImtleWRvd24iLHRoaXMuX29uS2V5RG93bi5iaW5kKHRoaXMpLGgpO3RoaXMuX2xpc3Rlbih3aW5kb3csCiJrZXl1cCIsdGhpcy5fb25LZXlVcC5iaW5kKHRoaXMpLGgpfSxkZXRhY2hlZCgpe3RoaXMuY2FuY2VsQXN5bmModGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkKTt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQuZGVzdHJveSgpO3RoaXMuX2xpc3RlbmVycyYmKHRoaXMuX2xpc3RlbmVycy5mb3JFYWNoKCh7bm9kZTpoLGV2ZW50TmFtZTprLGZ1bmM6cixvcHRpb246bH0pPT57aC5yZW1vdmVFdmVudExpc3RlbmVyKGsscixsKX0pLHRoaXMuX2xpc3RlbmVycy5jbGVhcigpKX0sX2xpc3RlbihoLGsscixsPXt9KXt0aGlzLl9saXN0ZW5lcnN8fCh0aGlzLl9saXN0ZW5lcnM9bmV3IFNldCk7dGhpcy5fbGlzdGVuZXJzLmFkZCh7bm9kZTpoLGV2ZW50TmFtZTprLGZ1bmM6cixvcHRpb246bH0pO2guYWRkRXZlbnRMaXN0ZW5lcihrLHIsbCl9LF9vbktleURvd24oaCl7dGhpcy50b2dnbGVDbGFzcygicGFua2V5IixiLlBhblpvb21EcmFnTGF5ZXIuaXNQYW5LZXkoaCkpfSxfb25LZXlVcChoKXt0aGlzLnRvZ2dsZUNsYXNzKCJwYW5rZXkiLApiLlBhblpvb21EcmFnTGF5ZXIuaXNQYW5LZXkoaCkpfSxfb25Nb3VzZURvd24oKXt0aGlzLnRvZ2dsZUNsYXNzKCJtb3VzZWRvd24iLCEwKX0sX29uTW91c2VVcCgpe3RoaXMudG9nZ2xlQ2xhc3MoIm1vdXNlZG93biIsITEpfSxzZXRWaXNpYmxlU2VyaWVzOmZ1bmN0aW9uKGgpe18uaXNFcXVhbCh0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGUsaCl8fCh0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGU9aCl9LHNldFNlcmllc0RhdGE6ZnVuY3Rpb24oaCxrKXt0aGlzLl9zZXJpZXNEYXRhQ2FjaGVbaF09azt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQuc2V0U2VyaWVzRGF0YShoLGspfSxzZXRTZXJpZXNNZXRhZGF0YShoLGspe3RoaXMuX3Nlcmllc01ldGFkYXRhQ2FjaGVbaF09azt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQuc2V0U2VyaWVzTWV0YWRhdGEoaCxrKX0sY29tbWl0Q2hhbmdlcygpe3RoaXMuX2NoYXJ0JiZ0aGlzLl9jaGFydC5jb21taXRDaGFuZ2VzKCl9LHJlc2V0RG9tYWluOmZ1bmN0aW9uKCl7dGhpcy5fY2hhcnQmJgp0aGlzLl9jaGFydC5yZXNldERvbWFpbigpfSxyZWRyYXc6ZnVuY3Rpb24oKXt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQucmVkcmF3KCl9LF9tYWtlQ2hhcnQ6ZnVuY3Rpb24oaCxrLHIsbCxwLG0pe2t8fGg/ayYmKGg9KCk9PnNmLmdldFhDb21wb25lbnRzKGspKTpoPXNmLnN0ZXBYO251bGwhPT10aGlzLl9tYWtlQ2hhcnRBc3luY0NhbGxiYWNrSWQmJih0aGlzLmNhbmNlbEFzeW5jKHRoaXMuX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZCksdGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkPW51bGwpO3RoaXMuX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZD10aGlzLmFzeW5jKGZ1bmN0aW9uKCl7dGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkPW51bGw7aWYoaCYmdGhpcy55VmFsdWVBY2Nlc3NvciYmdGhpcy50b29sdGlwQ29sdW1ucyl7dmFyIG49bmV3IGIuTGluZUNoYXJ0KGgsdGhpcy55VmFsdWVBY2Nlc3NvcixsLG0sdGhpcy4kLnRvb2x0aXAsdGhpcy50b29sdGlwQ29sdW1ucywKdGhpcy5maWxsQXJlYSx0aGlzLmRlZmF1bHRYUmFuZ2UsdGhpcy5kZWZhdWx0WVJhbmdlLHRoaXMuc3ltYm9sRnVuY3Rpb24sdGhpcy54QXhpc0Zvcm1hdHRlcikscT1kMy5zZWxlY3QodGhpcy4kLmNoYXJ0ZGl2KTtuLnJlbmRlclRvKHEpO3RoaXMuX2NoYXJ0JiZ0aGlzLl9jaGFydC5kZXN0cm95KCk7dGhpcy5fY2hhcnQ9bjt0aGlzLl9jaGFydC5vbkFuY2hvcigoKT0+dGhpcy5maXJlKCJjaGFydC1hdHRhY2hlZCIpKX19LDM1MCl9LF9yZWxvYWRGcm9tQ2FjaGU6ZnVuY3Rpb24oKXt0aGlzLl9jaGFydCYmKHRoaXMuX3Zpc2libGVTZXJpZXNDYWNoZS5mb3JFYWNoKGg9Pnt0aGlzLl9jaGFydC5zZXRTZXJpZXNEYXRhKGgsdGhpcy5fc2VyaWVzRGF0YUNhY2hlW2hdfHxbXSl9KSx0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGUuZmlsdGVyKGg9PnRoaXMuX3Nlcmllc01ldGFkYXRhQ2FjaGVbaF0pLmZvckVhY2goaD0+e3RoaXMuX2NoYXJ0LnNldFNlcmllc01ldGFkYXRhKGgsdGhpcy5fc2VyaWVzTWV0YWRhdGFDYWNoZVtoXSl9KSwKdGhpcy5fY2hhcnQuc2V0VmlzaWJsZVNlcmllcyh0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGUpLHRoaXMuX2NoYXJ0LmNvbW1pdENoYW5nZXMoKSl9LF9zbW9vdGhpbmdDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5fY2hhcnQmJih0aGlzLnNtb290aGluZ0VuYWJsZWQ/dGhpcy5fY2hhcnQuc21vb3RoaW5nVXBkYXRlKHRoaXMuc21vb3RoaW5nV2VpZ2h0KTp0aGlzLl9jaGFydC5zbW9vdGhpbmdEaXNhYmxlKCkpfSxfb3V0bGllcnNDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5fY2hhcnQmJnRoaXMuX2NoYXJ0Lmlnbm9yZVlPdXRsaWVycyh0aGlzLmlnbm9yZVlPdXRsaWVycyl9LF90b29sdGlwU29ydGluZ01ldGhvZENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQuc2V0VG9vbHRpcFNvcnRpbmdNZXRob2QodGhpcy50b29sdGlwU29ydGluZ01ldGhvZCl9LGdldEV4cG9ydGVyKCl7cmV0dXJuIG5ldyBiLkxpbmVDaGFydEV4cG9ydGVyKHRoaXMuJC5jaGFydGRpdil9fSl9KSh1Z3x8Cih1Zz17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3Z6LWxpbmUtY2hhcnQyL3Z6LWxpbmUtY2hhcnQyLmh0bWwuanMKUG9seW1lcih7aXM6InZ6LWxpbmUtY2hhcnQtdG9vbHRpcCJ9KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92ei1saW5lLWNoYXJ0Mi9saW5lLWNoYXJ0LWV4cG9ydGVyLmpzCihmdW5jdGlvbihiKXtsZXQgZDsoZnVuY3Rpb24oayl7ay5HUk9VUD0iRyI7ay5ESVY9IkRJViI7ay5TVkc9IlNWRyI7ay5URVhUPSJURVhUIn0pKGR8fChkPXt9KSk7Y2xhc3MgZntjb25zdHJ1Y3RvcihrKXt0aGlzLnVuaXF1ZUlkPTA7dGhpcy5yb290PWt9ZXhwb3J0QXNTdHJpbmcoKXtjb25zdCBrPXRoaXMuY29udmVydCh0aGlzLnJvb3QpO2lmKCFrKXJldHVybiIiO2NvbnN0IHI9dGhpcy5jcmVhdGVSb290U3ZnKCk7ci5hcHBlbmRDaGlsZChrKTtyZXR1cm4gci5vdXRlckhUTUx9Y3JlYXRlVW5pcXVlSWQoKXtyZXR1cm5gJHsiY2xpcCJ9XyR7dGhpcy51bmlxdWVJZCsrfWB9Z2V0U2l6ZSgpe3JldHVybiB0aGlzLnJvb3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y3JlYXRlUm9vdFN2Zygpe2NvbnN0IGs9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3ZnIikscj10aGlzLmdldFNpemUoKTtrLnNldEF0dHJpYnV0ZU5TKCJzdmciLCJ2aWV3Qm94IixgMCAwICR7ci53aWR0aH0gJHtyLmhlaWdodH1gKTsKay5zZXRBdHRyaWJ1dGUoInhtbG5zIiwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKTtyZXR1cm4ga31jb252ZXJ0KGspe2xldCByPW51bGw7dmFyIGw9ay5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpO2lmKGsubm9kZVR5cGUhPU5vZGUuRUxFTUVOVF9OT0RFfHxsIT1kLkRJViYmbCE9ZC5TVkcpcj1rLmNsb25lTm9kZSgpO2Vsc2V7cj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGQuR1JPVVApO3ZhciBwPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGspLG09cGFyc2VJbnQocC5sZWZ0LDEwKSxuPXBhcnNlSW50KHAudG9wLDEwKTtpZihtfHxuKWw9dGhpcy5jcmVhdGVVbmlxdWVJZCgpLHIuc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLGB0cmFuc2xhdGUoJHttfSwgJHtufSlgKSxyLnNldEF0dHJpYnV0ZSgiY2xpcC1wYXRoIixgdXJsKCMke2x9KWApLG49cGFyc2VJbnQocC5oZWlnaHQsMTApLG09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicmVjdCIpLG0uc2V0QXR0cmlidXRlKCJ3aWR0aCIsClN0cmluZyhwYXJzZUludChwLndpZHRoLDEwKSkpLG0uc2V0QXR0cmlidXRlKCJoZWlnaHQiLFN0cmluZyhuKSkscD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoInN2ZyIsImNsaXBQYXRoIikscC5pZD1sLHAuYXBwZW5kQ2hpbGQobSksci5hcHBlbmRDaGlsZChwKX1BcnJheS5mcm9tKGsuY2hpbGROb2RlcykubWFwKHE9PnRoaXMuY29udmVydChxKSkuZmlsdGVyKEJvb2xlYW4pLmZvckVhY2gocT0+ci5hcHBlbmRDaGlsZChxKSk7cmV0dXJuIHIubm9kZU5hbWUudG9VcHBlckNhc2UoKT09ZC5HUk9VUCYmIXIuaGFzQ2hpbGROb2RlcygpfHx0aGlzLnNob3VsZE9taXROb2RlKGspP251bGw6dGhpcy5zdHJpcENsYXNzKHRoaXMudHJhbnNmZXJTdHlsZShrLHIpKX1zdHJpcENsYXNzKGspe2subm9kZVR5cGU9PU5vZGUuRUxFTUVOVF9OT0RFJiZrLnJlbW92ZUF0dHJpYnV0ZSgiY2xhc3MiKTtyZXR1cm4ga310cmFuc2ZlclN0eWxlKGsscil7aWYoci5ub2RlVHlwZSE9Tm9kZS5FTEVNRU5UX05PREUpcmV0dXJuIHI7CmNvbnN0IGw9ci5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpO2s9d2luZG93LmdldENvbXB1dGVkU3R5bGUoayk7bD09ZC5URVhUJiZPYmplY3QuYXNzaWduKHIuc3R5bGUse2ZvbnRGYW1pbHk6ay5mb250RmFtaWx5LGZvbnRTaXplOmsuZm9udFNpemUsZm9udFdlaWdodDprLmZvbnRXZWlnaHR9KTtsIT1kLkdST1VQJiYoci5zZXRBdHRyaWJ1dGUoImZpbGwiLGsuZmlsbCksci5zZXRBdHRyaWJ1dGUoInN0cm9rZSIsay5zdHJva2UpLHIuc2V0QXR0cmlidXRlKCJzdHJva2Utd2lkdGgiLGsuc3Ryb2tlV2lkdGgpKTsiMSIhPWsub3BhY2l0eSYmci5zZXRBdHRyaWJ1dGUoIm9wYWNpdHkiLGsub3BhY2l0eSk7cmV0dXJuIHJ9c2hvdWxkT21pdE5vZGUoKXtyZXR1cm4hMX19Yi5QbG90dGFibGVFeHBvcnRlcj1mO2NsYXNzIGggZXh0ZW5kcyBme3Nob3VsZE9taXROb2RlKGspe3JldHVybiBrLm5vZGVUeXBlPT1Ob2RlLkVMRU1FTlRfTk9ERT9rLmNsYXNzTGlzdC5jb250YWlucygic2NhdHRlci1wbG90Iik6CiExfX1iLkxpbmVDaGFydEV4cG9ydGVyPWh9KSh1Z3x8KHVnPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtbGluZS1jaGFydC1kYXRhLWxvYWRlci90Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyLmh0bWwuanMKKGZ1bmN0aW9uKCl7Y29uc3QgYj1bXSxkPWZ1bmN0aW9uKCl7cmV0dXJuIF8udGhyb3R0bGUoZnVuY3Rpb24gaCgpe2lmKDAhPWIubGVuZ3RoKXt2YXIgaz1iLnNoaWZ0KCk7ay5hY3RpdmUmJihrLnJlZHJhdygpLGsuX21heWJlUmVuZGVyZWRJbkJhZFN0YXRlPSExKTt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUoMCk7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShoKX19LDEwMCl9KCk7UG9seW1lcih7aXM6InRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIiLHByb3BlcnRpZXM6e2FjdGl2ZTp7dHlwZTpCb29sZWFuLG9ic2VydmVyOiJfZml4QmFkU3RhdGVXaGVuQWN0aXZlIn0sZGF0YVNlcmllczpBcnJheSxyZXF1ZXN0TWFuYWdlcjpPYmplY3QsbG9nU2NhbGVBY3RpdmU6e3R5cGU6Qm9vbGVhbixvYnNlcnZlcjoiX2xvZ1NjYWxlQ2hhbmdlZCJ9LHhDb21wb25lbnRzQ3JlYXRpb25NZXRob2Q6T2JqZWN0LHhUeXBlOlN0cmluZyx5VmFsdWVBY2Nlc3NvcjpPYmplY3QsZmlsbEFyZWE6T2JqZWN0LApzbW9vdGhpbmdFbmFibGVkOkJvb2xlYW4sc21vb3RoaW5nV2VpZ2h0Ok51bWJlcix0b29sdGlwQ29sdW1uczpBcnJheSx0b29sdGlwU29ydGluZ01ldGhvZDpTdHJpbmcsdG9vbHRpcFBvc2l0aW9uOlN0cmluZyxpZ25vcmVZT3V0bGllcnM6Qm9vbGVhbixkZWZhdWx0WFJhbmdlOkFycmF5LGRlZmF1bHRZUmFuZ2U6QXJyYXksc3ltYm9sRnVuY3Rpb246T2JqZWN0LGNvbG9yU2NhbGU6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT4oe3NjYWxlOkxkLnJ1bnNDb2xvclNjYWxlfSl9LF9yZXNldERvbWFpbk9uTmV4dExvYWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMH0sX21heWJlUmVuZGVyZWRJbkJhZFN0YXRlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwfX0sYmVoYXZpb3JzOltjZC5EYXRhTG9hZGVyQmVoYXZpb3JdLG9ic2VydmVyczpbIl9kYXRhU2VyaWVzQ2hhbmdlZChkYXRhU2VyaWVzLiopIiwiX2xvYWRLZXlDaGFuZ2VkKGxvYWRLZXkpIl0sb25Mb2FkRmluaXNoKCl7MDwKdGhpcy5kYXRhVG9Mb2FkLmxlbmd0aCYmdGhpcy5fcmVzZXREb21haW5Pbk5leHRMb2FkJiYodGhpcy5fcmVzZXREb21haW5Pbk5leHRMb2FkPSExLHRoaXMuJC5jaGFydC5yZXNldERvbWFpbigpKTt0aGlzLnJlZHJhdygpfSxkZXRhY2hlZCgpe2NhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3JlZHJhd1JhZil9LGV4cG9ydEFzU3ZnU3RyaW5nKCl7cmV0dXJuIHRoaXMuJC5jaGFydC5nZXRFeHBvcnRlcigpLmV4cG9ydEFzU3RyaW5nKCl9LHJlc2V0RG9tYWluKCl7dGhpcy4kLmNoYXJ0LnJlc2V0RG9tYWluKCl9LHNldFNlcmllc0RhdGEoZixoKXt0aGlzLiQuY2hhcnQuc2V0U2VyaWVzRGF0YShmLGgpfSxzZXRTZXJpZXNNZXRhZGF0YShmLGgpe3RoaXMuJC5jaGFydC5zZXRTZXJpZXNNZXRhZGF0YShmLGgpfSxjb21taXRDaGFuZ2VzKCl7dGhpcy4kLmNoYXJ0LmNvbW1pdENoYW5nZXMoKX0scmVkcmF3KCl7Y2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fcmVkcmF3UmFmKTt0aGlzLl9yZWRyYXdSYWY9CndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLmFjdGl2ZT90aGlzLiQuY2hhcnQucmVkcmF3KCk6dGhpcy5fbWF5YmVSZW5kZXJlZEluQmFkU3RhdGU9ITB9KX0sX2xvYWRLZXlDaGFuZ2VkKCl7dGhpcy5yZXNldCgpO3RoaXMuX3Jlc2V0RG9tYWluT25OZXh0TG9hZD0hMH0sX2RhdGFTZXJpZXNDaGFuZ2VkKCl7dGhpcy4kLmNoYXJ0LnNldFZpc2libGVTZXJpZXModGhpcy5kYXRhU2VyaWVzKX0sX2xvZ1NjYWxlQ2hhbmdlZChmKXt0aGlzLiQuY2hhcnQueVNjYWxlVHlwZT1mPyJsb2ciOiJsaW5lYXIiO3RoaXMucmVkcmF3KCl9LF9maXhCYWRTdGF0ZVdoZW5BY3RpdmUoKXt0aGlzLmFjdGl2ZSYmdGhpcy5fbWF5YmVSZW5kZXJlZEluQmFkU3RhdGUmJihiLnB1c2godGhpcyksZCgpKX0sX29uQ2hhcnRBdHRhY2hlZCgpe3RoaXMuYWN0aXZlfHwodGhpcy5fbWF5YmVSZW5kZXJlZEluQmFkU3RhdGU9ITApfX0pfSkoKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1kaWFsb2ctc2Nyb2xsYWJsZS9wYXBlci1kaWFsb2ctc2Nyb2xsYWJsZS5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1kaWFsb2ctc2Nyb2xsYWJsZSIscHJvcGVydGllczp7ZGlhbG9nRWxlbWVudDp7dHlwZTpPYmplY3R9fSxnZXQgc2Nyb2xsVGFyZ2V0KCl7cmV0dXJuIHRoaXMuJC5zY3JvbGxhYmxlfSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuX2Vuc3VyZVRhcmdldCgpO3RoaXMuY2xhc3NMaXN0LmFkZCgibm8tcGFkZGluZyIpfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2Vuc3VyZVRhcmdldCgpO3JlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnVwZGF0ZVNjcm9sbFN0YXRlLmJpbmQodGhpcykpfSx1cGRhdGVTY3JvbGxTdGF0ZTpmdW5jdGlvbigpe3RoaXMudG9nZ2xlQ2xhc3MoImlzLXNjcm9sbGVkIiwwPHRoaXMuc2Nyb2xsVGFyZ2V0LnNjcm9sbFRvcCk7dGhpcy50b2dnbGVDbGFzcygiY2FuLXNjcm9sbCIsdGhpcy5zY3JvbGxUYXJnZXQub2Zmc2V0SGVpZ2h0PHRoaXMuc2Nyb2xsVGFyZ2V0LnNjcm9sbEhlaWdodCk7dGhpcy50b2dnbGVDbGFzcygic2Nyb2xsZWQtdG8tYm90dG9tIiwKdGhpcy5zY3JvbGxUYXJnZXQuc2Nyb2xsVG9wK3RoaXMuc2Nyb2xsVGFyZ2V0Lm9mZnNldEhlaWdodD49dGhpcy5zY3JvbGxUYXJnZXQuc2Nyb2xsSGVpZ2h0KX0sX2Vuc3VyZVRhcmdldDpmdW5jdGlvbigpeyh0aGlzLmRpYWxvZ0VsZW1lbnQ9dGhpcy5kaWFsb2dFbGVtZW50fHx0aGlzLnBhcmVudEVsZW1lbnQpJiZ0aGlzLmRpYWxvZ0VsZW1lbnQuYmVoYXZpb3JzJiYwPD10aGlzLmRpYWxvZ0VsZW1lbnQuYmVoYXZpb3JzLmluZGV4T2YoUG9seW1lci5QYXBlckRpYWxvZ0JlaGF2aW9ySW1wbCk/KHRoaXMuZGlhbG9nRWxlbWVudC5zaXppbmdUYXJnZXQ9dGhpcy5zY3JvbGxUYXJnZXQsdGhpcy5zY3JvbGxUYXJnZXQuY2xhc3NMaXN0LnJlbW92ZSgiZml0IikpOnRoaXMuZGlhbG9nRWxlbWVudCYmdGhpcy5zY3JvbGxUYXJnZXQuY2xhc3NMaXN0LmFkZCgiZml0Iil9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtbWFya2Rvd24tdmlldy90Zi1tYXJrZG93bi12aWV3Lmh0bWwuanMKUG9seW1lcih7aXM6InRmLW1hcmtkb3duLXZpZXciLHByb3BlcnRpZXM6e2h0bWw6e3R5cGU6U3RyaW5nLHZhbHVlOiIifX0sYXR0YWNoZWQoKXt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5zY29wZVN1YnRyZWUodGhpcy4kLm1hcmtkb3duLCEwKX0pfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWNhcmQtaGVhZGluZy90Zi1jYXJkLWhlYWRpbmcuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtY2FyZC1oZWFkaW5nIixwcm9wZXJ0aWVzOntkaXNwbGF5TmFtZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sdGFnOnt0eXBlOlN0cmluZyx2YWx1ZTpudWxsfSxydW46e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LGRlc2NyaXB0aW9uOnt0eXBlOlN0cmluZyx2YWx1ZTpudWxsfSxjb2xvcjp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sX3J1bkJhY2tncm91bmQ6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVJ1bkJhY2tncm91bmQoY29sb3IpIixyZWFkT25seTohMCxvYnNlcnZlcjoiX3VwZGF0ZUhlYWRpbmdTdHlsZSJ9LF9ydW5Db2xvcjp7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9jb21wdXRlUnVuQ29sb3IoY29sb3IpIixyZWFkT25seTohMCxvYnNlcnZlcjoiX3VwZGF0ZUhlYWRpbmdTdHlsZSJ9LF9uYW1lTGFiZWw6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZU5hbWVMYWJlbChkaXNwbGF5TmFtZSwgdGFnKSJ9LF90YWdMYWJlbDp7dHlwZTpTdHJpbmcsCmNvbXB1dGVkOiJfY29tcHV0ZVRhZ0xhYmVsKGRpc3BsYXlOYW1lLCB0YWcpIn19LF91cGRhdGVIZWFkaW5nU3R5bGUoKXt0aGlzLnVwZGF0ZVN0eWxlcyh7Ii0tdGYtY2FyZC1oZWFkaW5nLWJhY2tncm91bmQtY29sb3IiOnRoaXMuX3J1bkJhY2tncm91bmQsIi0tdGYtY2FyZC1oZWFkaW5nLWNvbG9yIjp0aGlzLl9ydW5Db2xvcn0pfSxfY29tcHV0ZVJ1bkJhY2tncm91bmQoYil7cmV0dXJuIGJ8fCJub25lIn0sX2NvbXB1dGVSdW5Db2xvcihiKXtyZXR1cm4gSGgucGlja1RleHRDb2xvcihiKX0sX2NvbXB1dGVOYW1lTGFiZWwoYixkKXtyZXR1cm4gYnx8ZHx8IiJ9LF9jb21wdXRlVGFnTGFiZWwoYixkKXtyZXR1cm4gZCYmZCE9PWI/ZDoiIn0sX3RvZ2dsZURlc2NyaXB0aW9uRGlhbG9nKGIpe3RoaXMuJC5kZXNjcmlwdGlvbkRpYWxvZy5wb3NpdGlvblRhcmdldD1iLnRhcmdldDt0aGlzLiQuZGVzY3JpcHRpb25EaWFsb2cudG9nZ2xlKCl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZGFzaGJvYXJkLWNvbW1vbi90Zi1kb3dubG9hZGVyLmh0bWwuanMKUG9seW1lcih7aXM6InRmLWRvd25sb2FkZXIiLHByb3BlcnRpZXM6e19ydW46e3R5cGU6U3RyaW5nLHZhbHVlOiIifSxydW5zOkFycmF5LHRhZzpTdHJpbmcsdXJsRm46RnVuY3Rpb259LF9jc3ZVcmwoYixkLGYpe3JldHVybiBkP2RjLmFkZFBhcmFtcyhmKGIsZCkse2Zvcm1hdDoiY3N2In0pOiIifSxfanNvblVybChiLGQsZil7cmV0dXJuIGQ/ZihiLGQpOiIifSxfY3N2TmFtZShiLGQpe3JldHVybiBkP2BydW4tJHtkfS10YWctJHtifS5jc3ZgOiIifSxfanNvbk5hbWUoYixkKXtyZXR1cm4gZD9gcnVuLSR7ZH0tdGFnLSR7Yn0uanNvbmA6IiJ9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtc2NhbGFyLWRhc2hib2FyZC90Zi1zY2FsYXItY2FyZC5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1zY2FsYXItY2FyZCIscHJvcGVydGllczp7dGFnOlN0cmluZyxkYXRhVG9Mb2FkOkFycmF5LHhUeXBlOlN0cmluZyxhY3RpdmU6Qm9vbGVhbixpZ25vcmVZT3V0bGllcnM6Qm9vbGVhbixyZXF1ZXN0TWFuYWdlcjpPYmplY3Qsc2hvd0Rvd25MaW5rczpCb29sZWFuLHNtb290aGluZ0VuYWJsZWQ6Qm9vbGVhbixzbW9vdGhpbmdXZWlnaHQ6TnVtYmVyLHRhZ01ldGFkYXRhOk9iamVjdCxjb2xvclNjYWxlOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSx0b29sdGlwU29ydGluZ01ldGhvZDpTdHJpbmcsX2xvYWREYXRhQ2FsbGJhY2s6e3R5cGU6T2JqZWN0LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuKGIsZCxmKT0+e2Y9Zi5tYXAoaz0+KHt3YWxsX3RpbWU6bmV3IERhdGUoMUUzKmtbMF0pLHN0ZXA6a1sxXSxzY2FsYXI6a1syXX0pKTtjb25zdCBoPXRoaXMuX2dldFNlcmllc05hbWVGcm9tRGF0dW0oZCk7Yi5zZXRTZXJpZXNNZXRhZGF0YShoLGQpO2Iuc2V0U2VyaWVzRGF0YShoLApmKTtiLmNvbW1pdENoYW5nZXMoKX19LHJlYWRPbmx5OiEwfSxnZXREYXRhTG9hZFVybDp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybih7dGFnOmIscnVuOmR9KT0+ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoInNjYWxhcnMiLCIvc2NhbGFycyIsbmV3IFVSTFNlYXJjaFBhcmFtcyh7dGFnOmIscnVuOmR9KSl9fSxfZG93bmxvYWRVcmxGbjp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybihiLGQpPT50aGlzLmdldERhdGFMb2FkVXJsKHt0YWc6YixydW46ZH0pfX0scmVxdWVzdERhdGE6RnVuY3Rpb24sX2dldERhdGFMb2FkTmFtZTp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBiPT50aGlzLl9nZXRTZXJpZXNOYW1lRnJvbURhdHVtKGIpfX0sX2V4cGFuZGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxfbG9nU2NhbGVBY3RpdmU6Qm9vbGVhbixfdG9vbHRpcENvbHVtbnM6e3R5cGU6QXJyYXksCnZhbHVlOmZ1bmN0aW9uKCl7Y29uc3QgYj11Zy5ERUZBVUxUX1RPT0xUSVBfQ09MVU1OUy5zbGljZSgpLGQ9Yi5maW5kSW5kZXgoZj0+Ik5hbWUiPT1mLnRpdGxlKTtiLnNwbGljZShkLDEse3RpdGxlOiJOYW1lIixldmFsdWF0ZTpmPT57Zj1mLmRhdGFzZXQubWV0YWRhdGEoKS5tZXRhO3JldHVybiB0aGlzLl9nZXRTZXJpZXNEaXNwbGF5TmFtZUZyb21EYXR1bShmKX19KTtyZXR1cm4gYn19fSxyZWxvYWQoKXt0aGlzLiQkKCJ0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyIikucmVsb2FkKCl9LHJlZHJhdygpe3RoaXMuJCQoInRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIiKS5yZWRyYXcoKX0sX3RvZ2dsZUV4cGFuZGVkKCl7dGhpcy5zZXQoIl9leHBhbmRlZCIsIXRoaXMuX2V4cGFuZGVkKTt0aGlzLnJlZHJhdygpfSxfdG9nZ2xlTG9nU2NhbGUoKXt0aGlzLnNldCgiX2xvZ1NjYWxlQWN0aXZlIiwhdGhpcy5fbG9nU2NhbGVBY3RpdmUpfSxfcmVzZXREb21haW4oKXtjb25zdCBiPXRoaXMuJCQoInRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIiKTsKYiYmYi5yZXNldERvbWFpbigpfSxfdXBkYXRlRG93bmxvYWRMaW5rKCl7Y29uc3QgYj10aGlzLiQkKCJ0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyIikuZXhwb3J0QXNTdmdTdHJpbmcoKTt0aGlzLiQkKCIjc3ZnTGluayIpLmhyZWY9YGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsJHtidG9hKGIpfWB9LF9ydW5zRnJvbURhdGEoYil7cmV0dXJuIGIubWFwKGQ9PmQucnVuKX0sX2dldERhdGFTZXJpZXMoKXtyZXR1cm4gdGhpcy5kYXRhVG9Mb2FkLm1hcChiPT50aGlzLl9nZXRTZXJpZXNOYW1lRnJvbURhdHVtKGIpKX0sX2dldFNlcmllc05hbWVGcm9tRGF0dW0oe3J1bjpiLGV4cGVyaW1lbnQ6ZD17bmFtZToiX2RlZmF1bHQifX0pe3JldHVybiBKU09OLnN0cmluZ2lmeShbZC5uYW1lLGJdKX0sX2dldFNlcmllc0Rpc3BsYXlOYW1lRnJvbURhdHVtKGIpe3JldHVybiBiLnJ1bn0sX2dldENvbG9yU2NhbGUoKXtyZXR1cm4gbnVsbCE9PXRoaXMuY29sb3JTY2FsZT90aGlzLmNvbG9yU2NhbGU6CntzY2FsZTpiPT57WyxiXT1KU09OLnBhcnNlKGIpO3JldHVybiBMZC5ydW5zQ29sb3JTY2FsZShiKX19fX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLXByb2dyZXNzL3BhcGVyLXByb2dyZXNzLmh0bWwuanMKUG9seW1lcih7aXM6InBhcGVyLXByb2dyZXNzIixiZWhhdmlvcnM6W1BvbHltZXIuSXJvblJhbmdlQmVoYXZpb3JdLHByb3BlcnRpZXM6e3NlY29uZGFyeVByb2dyZXNzOnt0eXBlOk51bWJlcix2YWx1ZTowfSxzZWNvbmRhcnlSYXRpbzp7dHlwZTpOdW1iZXIsdmFsdWU6MCxyZWFkT25seTohMH0saW5kZXRlcm1pbmF0ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfdG9nZ2xlSW5kZXRlcm1pbmF0ZSJ9LGRpc2FibGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwLG9ic2VydmVyOiJfZGlzYWJsZWRDaGFuZ2VkIn19LG9ic2VydmVyczpbIl9wcm9ncmVzc0NoYW5nZWQoc2Vjb25kYXJ5UHJvZ3Jlc3MsIHZhbHVlLCBtaW4sIG1heCwgaW5kZXRlcm1pbmF0ZSkiXSxob3N0QXR0cmlidXRlczp7cm9sZToicHJvZ3Jlc3NiYXIifSxfdG9nZ2xlSW5kZXRlcm1pbmF0ZTpmdW5jdGlvbihiKXt0aGlzLnRvZ2dsZUNsYXNzKCJpbmRldGVybWluYXRlIiwKYix0aGlzLiQucHJpbWFyeVByb2dyZXNzKX0sX3RyYW5zZm9ybVByb2dyZXNzOmZ1bmN0aW9uKGIsZCl7Yi5zdHlsZS50cmFuc2Zvcm09Yi5zdHlsZS53ZWJraXRUcmFuc2Zvcm09InNjYWxlWCgiK2QvMTAwKyIpIn0sX21haW5SYXRpb0NoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5fdHJhbnNmb3JtUHJvZ3Jlc3ModGhpcy4kLnByaW1hcnlQcm9ncmVzcyxiKX0sX3Byb2dyZXNzQ2hhbmdlZDpmdW5jdGlvbihiLGQsZixoLGspe2I9dGhpcy5fY2xhbXBWYWx1ZShiKTtkPXRoaXMuX2NsYW1wVmFsdWUoZCk7dmFyIHI9MTAwKnRoaXMuX2NhbGNSYXRpbyhiKSxsPTEwMCp0aGlzLl9jYWxjUmF0aW8oZCk7dGhpcy5fc2V0U2Vjb25kYXJ5UmF0aW8ocik7dGhpcy5fdHJhbnNmb3JtUHJvZ3Jlc3ModGhpcy4kLnNlY29uZGFyeVByb2dyZXNzLHIpO3RoaXMuX3RyYW5zZm9ybVByb2dyZXNzKHRoaXMuJC5wcmltYXJ5UHJvZ3Jlc3MsbCk7dGhpcy5zZWNvbmRhcnlQcm9ncmVzcz1iO2s/dGhpcy5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtdmFsdWVub3ciKToKdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWVub3ciLGQpO3RoaXMuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVlbWluIixmKTt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW1heCIsaCl9LF9kaXNhYmxlZENoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLGI/InRydWUiOiJmYWxzZSIpfSxfaGlkZVNlY29uZGFyeVByb2dyZXNzOmZ1bmN0aW9uKGIpe3JldHVybiAwPT09Yn19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1zbGlkZXIvcGFwZXItc2xpZGVyLmh0bWwuanMKUG9seW1lcih7aXM6InBhcGVyLXNsaWRlciIsYmVoYXZpb3JzOltQb2x5bWVyLklyb25BMTF5S2V5c0JlaGF2aW9yLFBvbHltZXIuSXJvbkZvcm1FbGVtZW50QmVoYXZpb3IsUG9seW1lci5QYXBlcklua3lGb2N1c0JlaGF2aW9yLFBvbHltZXIuSXJvblJhbmdlQmVoYXZpb3JdLHByb3BlcnRpZXM6e3NuYXBzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsbm90aWZ5OiEwfSxwaW46e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxub3RpZnk6ITB9LHNlY29uZGFyeVByb2dyZXNzOnt0eXBlOk51bWJlcix2YWx1ZTowLG5vdGlmeTohMCxvYnNlcnZlcjoiX3NlY29uZGFyeVByb2dyZXNzQ2hhbmdlZCJ9LGVkaXRhYmxlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGltbWVkaWF0ZVZhbHVlOnt0eXBlOk51bWJlcix2YWx1ZTowLHJlYWRPbmx5OiEwLG5vdGlmeTohMH0sbWF4TWFya2Vyczp7dHlwZTpOdW1iZXIsdmFsdWU6MCxub3RpZnk6ITB9LGV4cGFuZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLHJlYWRPbmx5OiEwfSwKaWdub3JlQmFyVG91Y2g6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sZHJhZ2dpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWFkT25seTohMCxub3RpZnk6ITB9LHRyYW5zaXRpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWFkT25seTohMH0sbWFya2Vyczp7dHlwZTpBcnJheSxyZWFkT25seTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX19LG9ic2VydmVyczpbIl91cGRhdGVLbm9iKHZhbHVlLCBtaW4sIG1heCwgc25hcHMsIHN0ZXApIiwiX3ZhbHVlQ2hhbmdlZCh2YWx1ZSkiLCJfaW1tZWRpYXRlVmFsdWVDaGFuZ2VkKGltbWVkaWF0ZVZhbHVlKSIsIl91cGRhdGVNYXJrZXJzKG1heE1hcmtlcnMsIG1pbiwgbWF4LCBzbmFwcykiXSxob3N0QXR0cmlidXRlczp7cm9sZToic2xpZGVyIix0YWJpbmRleDowfSxrZXlCaW5kaW5nczp7bGVmdDoiX2xlZnRLZXkiLHJpZ2h0OiJfcmlnaHRLZXkiLCJkb3duIHBhZ2Vkb3duIGhvbWUiOiJfZGVjcmVtZW50S2V5IiwidXAgcGFnZXVwIGVuZCI6Il9pbmNyZW1lbnRLZXkifSwKcmVhZHk6ZnVuY3Rpb24oKXt0aGlzLmlnbm9yZUJhclRvdWNoJiZQb2x5bWVyLkdlc3R1cmVzLnNldFRvdWNoQWN0aW9uKHRoaXMuJC5zbGlkZXJCYXIsImF1dG8iKX0saW5jcmVtZW50OmZ1bmN0aW9uKCl7dGhpcy52YWx1ZT10aGlzLl9jbGFtcFZhbHVlKHRoaXMudmFsdWUrdGhpcy5zdGVwKX0sZGVjcmVtZW50OmZ1bmN0aW9uKCl7dGhpcy52YWx1ZT10aGlzLl9jbGFtcFZhbHVlKHRoaXMudmFsdWUtdGhpcy5zdGVwKX0sX3VwZGF0ZUtub2I6ZnVuY3Rpb24oYixkLGYpe3RoaXMuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVlbWluIixkKTt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW1heCIsZik7dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWVub3ciLGIpO3RoaXMuX3Bvc2l0aW9uS25vYigxMDAqdGhpcy5fY2FsY1JhdGlvKGIpKX0sX3ZhbHVlQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuZmlyZSgidmFsdWUtY2hhbmdlIix7Y29tcG9zZWQ6ITB9KX0sX2ltbWVkaWF0ZVZhbHVlQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuZHJhZ2dpbmc/CnRoaXMuZmlyZSgiaW1tZWRpYXRlLXZhbHVlLWNoYW5nZSIse2NvbXBvc2VkOiEwfSk6dGhpcy52YWx1ZT10aGlzLmltbWVkaWF0ZVZhbHVlfSxfc2Vjb25kYXJ5UHJvZ3Jlc3NDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5zZWNvbmRhcnlQcm9ncmVzcz10aGlzLl9jbGFtcFZhbHVlKHRoaXMuc2Vjb25kYXJ5UHJvZ3Jlc3MpfSxfZXhwYW5kS25vYjpmdW5jdGlvbigpe3RoaXMuX3NldEV4cGFuZCghMCl9LF9yZXNldEtub2I6ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbERlYm91bmNlcigiZXhwYW5kS25vYiIpO3RoaXMuX3NldEV4cGFuZCghMSl9LF9wb3NpdGlvbktub2I6ZnVuY3Rpb24oYil7dGhpcy5fc2V0SW1tZWRpYXRlVmFsdWUodGhpcy5fY2FsY1N0ZXAodGhpcy5fY2FsY0tub2JQb3NpdGlvbihiKSkpO3RoaXMuX3NldFJhdGlvKDEwMCp0aGlzLl9jYWxjUmF0aW8odGhpcy5pbW1lZGlhdGVWYWx1ZSkpO3RoaXMuJC5zbGlkZXJLbm9iLnN0eWxlLmxlZnQ9dGhpcy5yYXRpbysiJSI7dGhpcy5kcmFnZ2luZyYmCih0aGlzLl9rbm9ic3RhcnR4PXRoaXMucmF0aW8qdGhpcy5fdy8xMDAsdGhpcy50cmFuc2xhdGUzZCgwLDAsMCx0aGlzLiQuc2xpZGVyS25vYikpfSxfY2FsY0tub2JQb3NpdGlvbjpmdW5jdGlvbihiKXtyZXR1cm4odGhpcy5tYXgtdGhpcy5taW4pKmIvMTAwK3RoaXMubWlufSxfb25UcmFjazpmdW5jdGlvbihiKXtiLnN0b3BQcm9wYWdhdGlvbigpO3N3aXRjaChiLmRldGFpbC5zdGF0ZSl7Y2FzZSAic3RhcnQiOnRoaXMuX3RyYWNrU3RhcnQoYik7YnJlYWs7Y2FzZSAidHJhY2siOnRoaXMuX3RyYWNrWChiKTticmVhaztjYXNlICJlbmQiOnRoaXMuX3RyYWNrRW5kKCl9fSxfdHJhY2tTdGFydDpmdW5jdGlvbigpe3RoaXMuX3NldFRyYW5zaXRpbmcoITEpO3RoaXMuX3c9dGhpcy4kLnNsaWRlckJhci5vZmZzZXRXaWR0aDt0aGlzLl9rbm9ic3RhcnR4PXRoaXMuX3N0YXJ0eD10aGlzLl94PXRoaXMucmF0aW8qdGhpcy5fdy8xMDA7dGhpcy5fbWlueD0tdGhpcy5fc3RhcnR4O3RoaXMuX21heHg9CnRoaXMuX3ctdGhpcy5fc3RhcnR4O3RoaXMuJC5zbGlkZXJLbm9iLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIik7dGhpcy5fc2V0RHJhZ2dpbmcoITApfSxfdHJhY2tYOmZ1bmN0aW9uKGIpe3RoaXMuZHJhZ2dpbmd8fHRoaXMuX3RyYWNrU3RhcnQoYik7dGhpcy5feD10aGlzLl9zdGFydHgrTWF0aC5taW4odGhpcy5fbWF4eCxNYXRoLm1heCh0aGlzLl9taW54LGIuZGV0YWlsLmR4Kih0aGlzLl9pc1JUTD8tMToxKSkpO3RoaXMuX3NldEltbWVkaWF0ZVZhbHVlKHRoaXMuX2NhbGNTdGVwKHRoaXMuX2NhbGNLbm9iUG9zaXRpb24odGhpcy5feC90aGlzLl93KjEwMCkpKTt0aGlzLnRyYW5zbGF0ZTNkKHRoaXMuX2NhbGNSYXRpbyh0aGlzLmltbWVkaWF0ZVZhbHVlKSp0aGlzLl93LXRoaXMuX2tub2JzdGFydHgrInB4IiwwLDAsdGhpcy4kLnNsaWRlcktub2IpfSxfdHJhY2tFbmQ6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLiQuc2xpZGVyS25vYi5zdHlsZTt0aGlzLiQuc2xpZGVyS25vYi5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpOwp0aGlzLl9zZXREcmFnZ2luZyghMSk7dGhpcy5fcmVzZXRLbm9iKCk7dGhpcy52YWx1ZT10aGlzLmltbWVkaWF0ZVZhbHVlO2IudHJhbnNmb3JtPWIud2Via2l0VHJhbnNmb3JtPSIiO3RoaXMuZmlyZSgiY2hhbmdlIix7Y29tcG9zZWQ6ITB9KX0sX2tub2Jkb3duOmZ1bmN0aW9uKGIpe3RoaXMuX2V4cGFuZEtub2IoKTtiLnByZXZlbnREZWZhdWx0KCk7dGhpcy5mb2N1cygpfSxfYmFydHJhY2s6ZnVuY3Rpb24oYil7dGhpcy5fYWxsb3dCYXJFdmVudChiKSYmdGhpcy5fb25UcmFjayhiKX0sX2JhcmNsaWNrOmZ1bmN0aW9uKGIpe3RoaXMuX3c9dGhpcy4kLnNsaWRlckJhci5vZmZzZXRXaWR0aDt2YXIgZD10aGlzLiQuc2xpZGVyQmFyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2Q9KGIuZGV0YWlsLngtZC5sZWZ0KS90aGlzLl93KjEwMDt0aGlzLl9pc1JUTCYmKGQ9MTAwLWQpO3ZhciBmPXRoaXMucmF0aW87dGhpcy5fc2V0VHJhbnNpdGluZyghMCk7dGhpcy5fcG9zaXRpb25Lbm9iKGQpOwpmPT09dGhpcy5yYXRpbyYmdGhpcy5fc2V0VHJhbnNpdGluZyghMSk7dGhpcy5hc3luYyhmdW5jdGlvbigpe3RoaXMuZmlyZSgiY2hhbmdlIix7Y29tcG9zZWQ6ITB9KX0pO2IucHJldmVudERlZmF1bHQoKTt0aGlzLmZvY3VzKCl9LF9iYXJkb3duOmZ1bmN0aW9uKGIpe3RoaXMuX2FsbG93QmFyRXZlbnQoYikmJih0aGlzLmRlYm91bmNlKCJleHBhbmRLbm9iIix0aGlzLl9leHBhbmRLbm9iLDYwKSx0aGlzLl9iYXJjbGljayhiKSl9LF9rbm9iVHJhbnNpdGlvbkVuZDpmdW5jdGlvbihiKXtiLnRhcmdldD09PXRoaXMuJC5zbGlkZXJLbm9iJiZ0aGlzLl9zZXRUcmFuc2l0aW5nKCExKX0sX3VwZGF0ZU1hcmtlcnM6ZnVuY3Rpb24oYixkLGYsaCl7aHx8dGhpcy5fc2V0TWFya2VycyhbXSk7ZD1NYXRoLnJvdW5kKChmLWQpL3RoaXMuc3RlcCk7ZD5iJiYoZD1iKTtpZigwPmR8fCFpc0Zpbml0ZShkKSlkPTA7dGhpcy5fc2V0TWFya2VycyhBcnJheShkKSl9LF9tZXJnZUNsYXNzZXM6ZnVuY3Rpb24oYil7cmV0dXJuIE9iamVjdC5rZXlzKGIpLmZpbHRlcihmdW5jdGlvbihkKXtyZXR1cm4gYltkXX0pLmpvaW4oIiAiKX0sCl9nZXRDbGFzc05hbWVzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21lcmdlQ2xhc3Nlcyh7ZGlzYWJsZWQ6dGhpcy5kaXNhYmxlZCxwaW46dGhpcy5waW4sc25hcHM6dGhpcy5zbmFwcyxyaW5nOnRoaXMuaW1tZWRpYXRlVmFsdWU8PXRoaXMubWluLGV4cGFuZDp0aGlzLmV4cGFuZCxkcmFnZ2luZzp0aGlzLmRyYWdnaW5nLHRyYW5zaXRpbmc6dGhpcy50cmFuc2l0aW5nLGVkaXRhYmxlOnRoaXMuZWRpdGFibGV9KX0sX2FsbG93QmFyRXZlbnQ6ZnVuY3Rpb24oYil7cmV0dXJuIXRoaXMuaWdub3JlQmFyVG91Y2h8fGIuZGV0YWlsLnNvdXJjZUV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudH0sZ2V0IF9pc1JUTCgpe3ZvaWQgMD09PXRoaXMuX19pc1JUTCYmKHRoaXMuX19pc1JUTD0icnRsIj09PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMpLmRpcmVjdGlvbik7cmV0dXJuIHRoaXMuX19pc1JUTH0sX2xlZnRLZXk6ZnVuY3Rpb24oYil7dGhpcy5faXNSVEw/dGhpcy5faW5jcmVtZW50S2V5KGIpOgp0aGlzLl9kZWNyZW1lbnRLZXkoYil9LF9yaWdodEtleTpmdW5jdGlvbihiKXt0aGlzLl9pc1JUTD90aGlzLl9kZWNyZW1lbnRLZXkoYik6dGhpcy5faW5jcmVtZW50S2V5KGIpfSxfaW5jcmVtZW50S2V5OmZ1bmN0aW9uKGIpe3RoaXMuZGlzYWJsZWR8fCgiZW5kIj09PWIuZGV0YWlsLmtleT90aGlzLnZhbHVlPXRoaXMubWF4OnRoaXMuaW5jcmVtZW50KCksdGhpcy5maXJlKCJjaGFuZ2UiKSxiLnByZXZlbnREZWZhdWx0KCkpfSxfZGVjcmVtZW50S2V5OmZ1bmN0aW9uKGIpe3RoaXMuZGlzYWJsZWR8fCgiaG9tZSI9PT1iLmRldGFpbC5rZXk/dGhpcy52YWx1ZT10aGlzLm1pbjp0aGlzLmRlY3JlbWVudCgpLHRoaXMuZmlyZSgiY2hhbmdlIiksYi5wcmV2ZW50RGVmYXVsdCgpKX0sX2NoYW5nZVZhbHVlOmZ1bmN0aW9uKGIpe3RoaXMudmFsdWU9Yi50YXJnZXQudmFsdWU7dGhpcy5maXJlKCJjaGFuZ2UiLHtjb21wb3NlZDohMH0pfSxfaW5wdXRLZXlEb3duOmZ1bmN0aW9uKGIpe2Iuc3RvcFByb3BhZ2F0aW9uKCl9LApfY3JlYXRlUmlwcGxlOmZ1bmN0aW9uKCl7dGhpcy5fcmlwcGxlQ29udGFpbmVyPXRoaXMuJC5zbGlkZXJLbm9iO3JldHVybiBQb2x5bWVyLlBhcGVySW5reUZvY3VzQmVoYXZpb3JJbXBsLl9jcmVhdGVSaXBwbGUuY2FsbCh0aGlzKX0sX2ZvY3VzZWRDaGFuZ2VkOmZ1bmN0aW9uKGIpe2ImJnRoaXMuZW5zdXJlUmlwcGxlKCk7dGhpcy5oYXNSaXBwbGUoKSYmKHRoaXMuX3JpcHBsZS5zdHlsZS5kaXNwbGF5PWI/IiI6Im5vbmUiLHRoaXMuX3JpcHBsZS5ob2xkRG93bj1iKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1zY2FsYXItZGFzaGJvYXJkL3RmLXNtb290aGluZy1pbnB1dC5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1zbW9vdGhpbmctaW5wdXQiLHByb3BlcnRpZXM6e3N0ZXA6TnVtYmVyLG1heDpOdW1iZXIsbWluOk51bWJlcix3ZWlnaHQ6e3R5cGU6TnVtYmVyLHZhbHVlOi42LG5vdGlmeTohMH0sX2ltbWVkaWF0ZVdlaWdodE51bWJlckZvclBhcGVyU2xpZGVyOnt0eXBlOk51bWJlcixub3RpZnk6ITAsb2JzZXJ2ZXI6Il9pbW1lZGlhdGVXZWlnaHROdW1iZXJGb3JQYXBlclNsaWRlckNoYW5nZWQifSxfaW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0Ont0eXBlOlN0cmluZyxub3RpZnk6ITAsb2JzZXJ2ZXI6Il9pbnB1dFdlaWdodFN0cmluZ0ZvclBhcGVySW5wdXRDaGFuZ2VkIn19LF91cGRhdGVXZWlnaHQ6Xy5kZWJvdW5jZShmdW5jdGlvbihiKXt0aGlzLndlaWdodD1ifSwyNTApLF9pbW1lZGlhdGVXZWlnaHROdW1iZXJGb3JQYXBlclNsaWRlckNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLl9pbnB1dFdlaWdodFN0cmluZ0ZvclBhcGVySW5wdXQ9dGhpcy5faW1tZWRpYXRlV2VpZ2h0TnVtYmVyRm9yUGFwZXJTbGlkZXIudG9TdHJpbmcoKTsKdGhpcy5fdXBkYXRlV2VpZ2h0LmNhbGwodGhpcyx0aGlzLl9pbW1lZGlhdGVXZWlnaHROdW1iZXJGb3JQYXBlclNsaWRlcil9LF9pbnB1dFdlaWdodFN0cmluZ0ZvclBhcGVySW5wdXRDaGFuZ2VkOmZ1bmN0aW9uKCl7MD4rdGhpcy5faW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0P3RoaXMuX2lucHV0V2VpZ2h0U3RyaW5nRm9yUGFwZXJJbnB1dD0iMCI6MTwrdGhpcy5faW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0JiYodGhpcy5faW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0PSIxIik7dmFyIGI9K3RoaXMuX2lucHV0V2VpZ2h0U3RyaW5nRm9yUGFwZXJJbnB1dDtpc05hTihiKXx8dGhpcy5fdXBkYXRlV2VpZ2h0LmNhbGwodGhpcyxiKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1zY2FsYXItZGFzaGJvYXJkL3RmLXNjYWxhci1kYXNoYm9hcmQuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtc2NhbGFyLWRhc2hib2FyZCIscHJvcGVydGllczp7X3Nob3dEb3dubG9hZExpbmtzOnt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwLHZhbHVlOmJkLmdldEJvb2xlYW5Jbml0aWFsaXplcigiX3Nob3dEb3dubG9hZExpbmtzIix7ZGVmYXVsdFZhbHVlOiExLHVzZUxvY2FsU3RvcmFnZTohMH0pLG9ic2VydmVyOiJfc2hvd0Rvd25sb2FkTGlua3NPYnNlcnZlciJ9LF9zbW9vdGhpbmdXZWlnaHQ6e3R5cGU6TnVtYmVyLG5vdGlmeTohMCx2YWx1ZTpiZC5nZXROdW1iZXJJbml0aWFsaXplcigiX3Ntb290aGluZ1dlaWdodCIse2RlZmF1bHRWYWx1ZTouNn0pLG9ic2VydmVyOiJfc21vb3RoaW5nV2VpZ2h0T2JzZXJ2ZXIifSxfc21vb3RoaW5nRW5hYmxlZDp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZVNtb290aGluZ0VuYWJsZWQoX3Ntb290aGluZ1dlaWdodCkifSxfaWdub3JlWU91dGxpZXJzOnt0eXBlOkJvb2xlYW4sdmFsdWU6YmQuZ2V0Qm9vbGVhbkluaXRpYWxpemVyKCJfaWdub3JlWU91dGxpZXJzIiwKe2RlZmF1bHRWYWx1ZTohMCx1c2VMb2NhbFN0b3JhZ2U6ITB9KSxvYnNlcnZlcjoiX2lnbm9yZVlPdXRsaWVyc09ic2VydmVyIn0sX3hUeXBlOnt0eXBlOlN0cmluZyx2YWx1ZTpzZi5YVHlwZS5TVEVQfSxfc2VsZWN0ZWRSdW5zOnt0eXBlOkFycmF5LHZhbHVlOigpPT5bXX0sX3J1blRvVGFnSW5mbzpPYmplY3QsX2RhdGFOb3RGb3VuZDpCb29sZWFuLF90YWdGaWx0ZXI6e3R5cGU6U3RyaW5nLHZhbHVlOiIifSxfY2F0ZWdvcmllc0RvbVJlYWR5OkJvb2xlYW4sX2NhdGVnb3JpZXM6e3R5cGU6QXJyYXksdmFsdWU6KCk9PltdfSxfZ2V0Q2F0ZWdvcnlJdGVtS2V5Ont0eXBlOkZ1bmN0aW9uLHZhbHVlOigpPT5iPT5iLnRhZ30sX3JlcXVlc3RNYW5hZ2VyOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+bmV3IGRjLlJlcXVlc3RNYW5hZ2VyKDUwKX19LGJlaGF2aW9yczpbY2QuQXJyYXlVcGRhdGVIZWxwZXJdLG9ic2VydmVyczpbIl91cGRhdGVDYXRlZ29yaWVzKF9ydW5Ub1RhZ0luZm8sIF9zZWxlY3RlZFJ1bnMsIF90YWdGaWx0ZXIsIF9jYXRlZ29yaWVzRG9tUmVhZHkpIl0sCl9zaG93RG93bmxvYWRMaW5rc09ic2VydmVyOmJkLmdldEJvb2xlYW5PYnNlcnZlcigiX3Nob3dEb3dubG9hZExpbmtzIix7ZGVmYXVsdFZhbHVlOiExLHVzZUxvY2FsU3RvcmFnZTohMH0pLF9zbW9vdGhpbmdXZWlnaHRPYnNlcnZlcjpiZC5nZXROdW1iZXJPYnNlcnZlcigiX3Ntb290aGluZ1dlaWdodCIse2RlZmF1bHRWYWx1ZTouNn0pLF9pZ25vcmVZT3V0bGllcnNPYnNlcnZlcjpiZC5nZXRCb29sZWFuT2JzZXJ2ZXIoIl9pZ25vcmVZT3V0bGllcnMiLHtkZWZhdWx0VmFsdWU6ITAsdXNlTG9jYWxTdG9yYWdlOiEwfSksX2NvbXB1dGVTbW9vdGhpbmdFbmFibGVkKGIpe3JldHVybiAwPGJ9LF9nZXRDYXRlZ29yeUtleShiKXtyZXR1cm4gYi5tZXRhZGF0YS50eXBlPT1rYy5DYXRlZ29yeVR5cGUuU0VBUkNIX1JFU1VMVFM/IiI6Yi5uYW1lfSxfc2hvdWxkT3BlbihiKXtyZXR1cm4gMj49Yn0scmVhZHkoKXt0aGlzLnJlbG9hZCgpfSxyZWxvYWQoKXt0aGlzLl9mZXRjaFRhZ3MoKS50aGVuKCgpPT4Ke3RoaXMuX3JlbG9hZENoYXJ0cygpfSl9LF9mZXRjaFRhZ3MoKXtjb25zdCBiPWRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJzY2FsYXJzIiwiL3RhZ3MiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChiKS50aGVuKGQ9PntpZighXy5pc0VxdWFsKGQsdGhpcy5fcnVuVG9UYWdJbmZvKSl7dmFyIGY9Xy5tYXBWYWx1ZXMoZCxoPT5PYmplY3Qua2V5cyhoKSk7Zj1kYy5nZXRUYWdzKGYpO3RoaXMuc2V0KCJfZGF0YU5vdEZvdW5kIiwwPT09Zi5sZW5ndGgpO3RoaXMuc2V0KCJfcnVuVG9UYWdJbmZvIixkKTt0aGlzLmFzeW5jKCgpPT57dGhpcy5zZXQoIl9jYXRlZ29yaWVzRG9tUmVhZHkiLCEwKX0pfX0pfSxfcmVsb2FkQ2hhcnRzKCl7dGhpcy5yb290LnF1ZXJ5U2VsZWN0b3JBbGwoInRmLXNjYWxhci1jYXJkIikuZm9yRWFjaChiPT57Yi5yZWxvYWQoKX0pfSxfdXBkYXRlQ2F0ZWdvcmllcyhiLGQsZil7Yj1fLm1hcFZhbHVlcyhiLGg9Pk9iamVjdC5rZXlzKGgpKTsKZD1rYy5jYXRlZ29yaXplVGFncyhiLGQsZik7ZC5mb3JFYWNoKGg9PntoLml0ZW1zPWguaXRlbXMubWFwKGs9Pih7dGFnOmsudGFnLHNlcmllczprLnJ1bnMubWFwKHI9Pih7cnVuOnIsdGFnOmsudGFnfSkpfSkpfSk7dGhpcy51cGRhdGVBcnJheVByb3AoIl9jYXRlZ29yaWVzIixkLHRoaXMuX2dldENhdGVnb3J5S2V5KX0sX3RhZ01ldGFkYXRhKGIsZCxmKXtjb25zdCBoPWYudGFnLGs9e307Zi5zZXJpZXMuZm9yRWFjaCgoe3J1bjpwfSk9PntrW3BdPWRbcF1baF19KTtmPWgucmVwbGFjZSgvXC9zY2FsYXJfc3VtbWFyeSQvLCIiKTtsZXQge2Rlc2NyaXB0aW9uOnIsZGlzcGxheU5hbWU6bH09cmYuYWdncmVnYXRlVGFnSW5mbyhrLGYpO2IubWV0YWRhdGEudHlwZT09a2MuQ2F0ZWdvcnlUeXBlLlBSRUZJWF9HUk9VUCYmbC5zdGFydHNXaXRoKGIubmFtZSsiLyIpJiYobD1sLnNsaWNlKGIubmFtZS5sZW5ndGgrMSkpO3JldHVybntkZXNjcmlwdGlvbjpyLGRpc3BsYXlOYW1lOmx9fX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWN1c3RvbS1zY2FsYXItZGFzaGJvYXJkL3RmLWN1c3RvbS1zY2FsYXItbWFyZ2luLWNoYXJ0LWNhcmQuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtY3VzdG9tLXNjYWxhci1tYXJnaW4tY2hhcnQtY2FyZCIscHJvcGVydGllczp7cnVuczpBcnJheSx4VHlwZTpTdHJpbmcsYWN0aXZlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITAscmVhZE9ubHk6ITB9LHRpdGxlOlN0cmluZyxtYXJnaW5DaGFydFNlcmllczpBcnJheSxpZ25vcmVZT3V0bGllcnM6Qm9vbGVhbixyZXF1ZXN0TWFuYWdlcjpPYmplY3Qsc2hvd0Rvd25sb2FkTGlua3M6Qm9vbGVhbix0YWdNZXRhZGF0YTpPYmplY3QsdG9vbHRpcFNvcnRpbmdNZXRob2Q6U3RyaW5nLF9jb2xvclNjYWxlOnt0eXBlOk9iamVjdCx2YWx1ZTpuZXcgSWguRGF0YVNlcmllc0NvbG9yU2NhbGUoe3NjYWxlOkxkLnJ1bnNDb2xvclNjYWxlfSkscmVhZE9ubHk6ITB9LF90YWdGaWx0ZXI6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVRhZ0ZpbHRlcihtYXJnaW5DaGFydFNlcmllcykifSxfdGFnRmlsdGVySW52YWxpZDpCb29sZWFuLF9uYW1lVG9EYXRhU2VyaWVzOnt0eXBlOk9iamVjdCwKdmFsdWU6KCk9Pih7fSl9LF9zZXJpZXNOYW1lczp7dHlwZTpPYmplY3QsY29tcHV0ZWQ6Il9jb21wdXRlU2VyaWVzTmFtZXMoX25hbWVUb0RhdGFTZXJpZXMsIHJ1bnMpIn0sX2V4cGFuZGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxfbG9nU2NhbGVBY3RpdmU6Qm9vbGVhbixfZGF0YVVybDp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBiPT57Y29uc3QgZD10aGlzLl90YWdGaWx0ZXI7cmV0dXJuIGRjLmFkZFBhcmFtcyhkYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiY3VzdG9tX3NjYWxhcnMiLCIvc2NhbGFycyIpLHt0YWc6ZCxydW46Yn0pfX19LF9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleDp7dHlwZTpPYmplY3QsdmFsdWU6e319LF9tYXRjaGVzTGlzdE9wZW5lZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfdGl0bGVEaXNwbGF5U3RyaW5nOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVUaXRsZURpc3BsYXlTdHJpbmcodGl0bGUpIn0sCl9maWxsQXJlYTp7dHlwZTpPYmplY3QscmVhZE9ubHk6ITAsdmFsdWU6e2xvd2VyQWNjZXNzb3I6Yj0+Yi5sb3dlcixoaWdoZXJBY2Nlc3NvcjpiPT5iLnVwcGVyfX0sX3Rvb2x0aXBDb2x1bW5zOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7Y29uc3QgYj1zZi5tdWx0aXNjYWxlRm9ybWF0dGVyKHNmLllfVE9PTFRJUF9GT1JNQVRURVJfUFJFQ0lTSU9OKSxkPWY9PmlzTmFOKGYpPyJOYU4iOmIoZik7cmV0dXJuW3t0aXRsZToiTmFtZSIsZXZhbHVhdGU6Zj0+Zi5kYXRhc2V0Lm1ldGFkYXRhKCkubmFtZX0se3RpdGxlOiJWYWx1ZSIsZXZhbHVhdGU6Zj0+ZChmLmRhdHVtLnNjYWxhcil9LHt0aXRsZToiTG93ZXIgTWFyZ2luIixldmFsdWF0ZTpmPT5kKGYuZGF0dW0ubG93ZXIpfSx7dGl0bGU6IlVwcGVyIE1hcmdpbiIsZXZhbHVhdGU6Zj0+ZChmLmRhdHVtLnVwcGVyKX0se3RpdGxlOiJTdGVwIixldmFsdWF0ZTpmPT5zZi5zdGVwRm9ybWF0dGVyKGYuZGF0dW0uc3RlcCl9LHt0aXRsZToiVGltZSIsCmV2YWx1YXRlOmY9PnNmLnRpbWVGb3JtYXR0ZXIoZi5kYXR1bS53YWxsX3RpbWUpfSx7dGl0bGU6IlJlbGF0aXZlIixldmFsdWF0ZTpmPT5zZi5yZWxhdGl2ZUZvcm1hdHRlcihzZi5yZWxhdGl2ZUFjY2Vzc29yKGYuZGF0dW0sLTEsZi5kYXRhc2V0KSl9XX19LF9taXNzaW5nVGFnczp7dHlwZTpBcnJheSx2YWx1ZTpbXX0sX21pc3NpbmdUYWdzQ29sbGFwc2libGVPcGVuZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX3N0ZXBzTWlzbWF0Y2g6T2JqZWN0fSxvYnNlcnZlcnM6WyJfdXBkYXRlQ2hhcnQoX25hbWVUb0RhdGFTZXJpZXMpIiwiX3JlZnJlc2hEYXRhU2VyaWVzKF90YWdGaWx0ZXIpIl0scmVsb2FkKCl7dGhpcy4kLmxvYWRlci5yZWxvYWQoKX0scmVkcmF3KCl7dGhpcy4kLmxvYWRlci5yZWRyYXcoKX0sX3RvZ2dsZUV4cGFuZGVkKCl7dGhpcy5zZXQoIl9leHBhbmRlZCIsIXRoaXMuX2V4cGFuZGVkKTt0aGlzLnJlZHJhdygpfSxfdG9nZ2xlTG9nU2NhbGUoKXt0aGlzLnNldCgiX2xvZ1NjYWxlQWN0aXZlIiwKIXRoaXMuX2xvZ1NjYWxlQWN0aXZlKX0sX3Jlc2V0RG9tYWluKCl7Y29uc3QgYj10aGlzLiQubG9hZGVyO2ImJmIucmVzZXREb21haW4oKX0sX2NzdlVybChiLGQpe2lmKCFkKXJldHVybiIiO2I9dGhpcy5fZG93bmxvYWREYXRhVXJsKGIsZCk7cmV0dXJuIGRjLmFkZFBhcmFtcyhiLHtmb3JtYXQ6ImNzdiJ9KX0sX2pzb25VcmwoYixkKXtpZighZClyZXR1cm4iIjtiPXRoaXMuX2Rvd25sb2FkRGF0YVVybChiLGQpO3JldHVybiBkYy5hZGRQYXJhbXMoYix7Zm9ybWF0OiJqc29uIn0pfSxfZG93bmxvYWREYXRhVXJsKGIsZCl7Yj1iW2RdO2I9e3RhZzpiLmdldFRhZygpLHJ1bjpiLmdldFJ1bigpfTtyZXR1cm4gZGMuYWRkUGFyYW1zKGRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJjdXN0b21fc2NhbGFycyIsIi9kb3dubG9hZF9kYXRhIiksYil9LF9jcmVhdGVQcm9jZXNzRGF0YUZ1bmN0aW9uKGIpe3JldHVybihkLGYsaCk9PntpZihoLnJlZ2V4X3ZhbGlkKXt2YXIgaz1fLmNsb25lKHRoaXMuX25hbWVUb0RhdGFTZXJpZXMpLApyPVtdO18uZm9yRWFjaChiLGw9Pnt2YXIgcD0hMSxtPWgudGFnX3RvX2V2ZW50c1tsLnZhbHVlXTtjb25zdCBuPWgudGFnX3RvX2V2ZW50c1tsLmxvd2VyXSxxPWgudGFnX3RvX2V2ZW50c1tsLnVwcGVyXTtfLmlzVW5kZWZpbmVkKG0pJiYoci5wdXNoKGwudmFsdWUpLHA9ITApO18uaXNVbmRlZmluZWQobikmJihyLnB1c2gobC5sb3dlcikscD0hMCk7Xy5pc1VuZGVmaW5lZChxKSYmKHIucHVzaChsLnVwcGVyKSxwPSEwKTtpZighcCl7dmFyIHU9eT0+eVsxXTtpZihwPXRoaXMuX2ZpbmRTdGVwTWlzbWF0Y2gobCxtLm1hcCh1KSxuLm1hcCh1KSxxLm1hcCh1KSkpdGhpcy5zZXQoIl9zdGVwc01pc21hdGNoIixwKTtlbHNle3ZhciB3PXk9PnlbMl07cD1tLm1hcCgoeSx4KT0+KHt3YWxsX3RpbWU6bmV3IERhdGUoMUUzKnlbMF0pLHN0ZXA6dSh5KSxzY2FsYXI6dyh5KSxsb3dlcjp3KG5beF0pLHVwcGVyOncocVt4XSl9KSk7bT1JaC5nZW5lcmF0ZURhdGFTZXJpZXNOYW1lKGYsbC52YWx1ZSk7CnZhciBBPWtbbV07QT9BLnNldERhdGEocCk6KGw9dGhpcy5fY3JlYXRlTmV3RGF0YVNlcmllcyhmLGwudmFsdWUsbSxwKSxrW21dPWwpfX19KTt0aGlzLnNldCgiX25hbWVUb0RhdGFTZXJpZXMiLGspO2Q9Xy5maW5kSW5kZXgodGhpcy5fbWlzc2luZ1RhZ3MsbD0+bC5ydW49PT1mKTtpZihyLmxlbmd0aCYmMyE9ci5sZW5ndGgpe2NvbnN0IGw9e3J1bjpmLHRhZ3M6cn07MDw9ZD90aGlzLnNwbGljZSgiX21pc3NpbmdUYWdzIixkLDEsbCk6dGhpcy5wdXNoKCJfbWlzc2luZ1RhZ3MiLGwpfWVsc2UgMDw9ZCYmdGhpcy5zcGxpY2UoIl9taXNzaW5nVGFncyIsZCwxKX1lbHNlIHRoaXMuc2V0KCJfdGFnRmlsdGVySW52YWxpZCIsITApfX0sX2ZpbmRTdGVwTWlzbWF0Y2goYixkLGYsaCl7cmV0dXJuIF8uaXNFcXVhbChmLGQpJiZfLmlzRXF1YWwoaCxkKT9udWxsOntzZXJpZXNPYmplY3Q6Yix2YWx1ZVN0ZXBzOmQsbG93ZXJTdGVwczpmLHVwcGVyU3RlcHM6aH19LF9jcmVhdGVOZXdEYXRhU2VyaWVzKGIsCmQsZixoKXt0aGlzLl9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleFtiXXw9MDtkPW5ldyBJaC5EYXRhU2VyaWVzKGIsZCxmLGgsc2YuU1lNQk9MU19MSVNUW3RoaXMuX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4W2JdXSk7dGhpcy5fcnVuVG9OZXh0QXZhaWxhYmxlU3ltYm9sSW5kZXhbYl09KHRoaXMuX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4W2JdKzEpJXNmLlNZTUJPTFNfTElTVC5sZW5ndGg7cmV0dXJuIGR9LF91cGRhdGVDaGFydChiKXtfLmZvck93bihiLGQ9Pnt0aGlzLiQubG9hZGVyLnNldFNlcmllc0RhdGEoZC5nZXROYW1lKCksZC5nZXREYXRhKCkpfSk7dGhpcy4kLmxvYWRlci5jb21taXRDaGFuZ2VzKCl9LF9jb21wdXRlU2VyaWVzTmFtZXMoKXtjb25zdCBiPW5ldyBTZXQodGhpcy5ydW5zKTtyZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy5fbmFtZVRvRGF0YVNlcmllcykuZmlsdGVyKChbLGRdKT0+Yi5oYXMoZC5ydW4pKS5tYXAoKFtkXSk9PgpkKX0sX2RldGVybWluZUNvbG9yKGIsZCl7cmV0dXJuIGIuc2NhbGUoZCl9LF9yZWZyZXNoRGF0YVNlcmllcygpe3RoaXMuc2V0KCJfbmFtZVRvRGF0YVNlcmllcyIse30pfSxfY3JlYXRlU3ltYm9sRnVuY3Rpb24oKXtyZXR1cm4gYj0+dGhpcy5fbmFtZVRvRGF0YVNlcmllc1tiXS5nZXRTeW1ib2woKS5tZXRob2QoKX0sX2RldGVybWluZVN5bWJvbChiLGQpe3JldHVybiBiW2RdLmdldFN5bWJvbCgpLmNoYXJhY3Rlcn0sX2NvbXB1dGVUYWdGaWx0ZXIoYil7cmV0dXJuIF8uZmxhdHRlbihiLm1hcChkPT5bZC52YWx1ZSxkLmxvd2VyLGQudXBwZXJdKSkubWFwKGQ9PiIoIit0aGlzLl9lc2NhcGVSZWdleENoYXJhY3RlcnMoZCkrIikiKS5qb2luKCJ8Iil9LF9lc2NhcGVSZWdleENoYXJhY3RlcnMoYil7cmV0dXJuIGIucmVwbGFjZSgvWy4qKz9eJHt9KCl8W1xdXFxdL2csIlxcJFx4MjYiKX0sX2dldFRvZ2dsZUNvbGxhcHNpYmxlSWNvbihiKXtyZXR1cm4gYj8iZXhwYW5kLWxlc3MiOiJleHBhbmQtbW9yZSJ9LApfdG9nZ2xlTWF0Y2hlc09wZW4oKXt0aGlzLnNldCgiX21hdGNoZXNMaXN0T3BlbmVkIiwhdGhpcy5fbWF0Y2hlc0xpc3RPcGVuZWQpfSxfY29tcHV0ZVRpdGxlRGlzcGxheVN0cmluZyhiKXtyZXR1cm4gYnx8InVudGl0bGVkIn0sX3NlcGFyYXRlV2l0aENvbW1hcyhiKXtyZXR1cm4gYi5qb2luKCIsICIpfSxfdG9nZ2xlTWlzc2luZ1RhZ3NDb2xsYXBzaWJsZU9wZW4oKXt0aGlzLnNldCgiX21pc3NpbmdUYWdzQ29sbGFwc2libGVPcGVuZWQiLCF0aGlzLl9taXNzaW5nVGFnc0NvbGxhcHNpYmxlT3BlbmVkKX0sX21hdGNoTGlzdEVudHJ5Q29sb3JVcGRhdGVkKCl7Y29uc3QgYj10aGlzLiQkKCIjbWF0Y2gtbGlzdC1yZXBlYXQiKTtiJiZ0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgiLm1hdGNoLWxpc3QtZW50cnkiKS5mb3JFYWNoKGQ9Pntjb25zdCBmPWIuaXRlbUZvckVsZW1lbnQoZCk7ZC5zdHlsZS5jb2xvcj10aGlzLl9kZXRlcm1pbmVDb2xvcih0aGlzLl9jb2xvclNjYWxlLGYpfSl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtY3VzdG9tLXNjYWxhci1kYXNoYm9hcmQvdGYtY3VzdG9tLXNjYWxhci1tdWx0aS1saW5lLWNoYXJ0LWNhcmQuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtY3VzdG9tLXNjYWxhci1tdWx0aS1saW5lLWNoYXJ0LWNhcmQiLHByb3BlcnRpZXM6e3J1bnM6QXJyYXkseFR5cGU6U3RyaW5nLGFjdGl2ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiEwLHJlYWRPbmx5OiEwfSx0aXRsZTpTdHJpbmcsdGFnUmVnZXhlczpBcnJheSxpZ25vcmVZT3V0bGllcnM6Qm9vbGVhbixyZXF1ZXN0TWFuYWdlcjpPYmplY3Qsc2hvd0Rvd25sb2FkTGlua3M6Qm9vbGVhbixzbW9vdGhpbmdFbmFibGVkOkJvb2xlYW4sc21vb3RoaW5nV2VpZ2h0Ok51bWJlcix0YWdNZXRhZGF0YTpPYmplY3QsdG9vbHRpcFNvcnRpbmdNZXRob2Q6U3RyaW5nLF9jb2xvclNjYWxlOnt0eXBlOk9iamVjdCx2YWx1ZTpuZXcgSWguRGF0YVNlcmllc0NvbG9yU2NhbGUoe3NjYWxlOkxkLnJ1bnNDb2xvclNjYWxlfSkscmVhZE9ubHk6ITB9LF90YWdGaWx0ZXI6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVRhZ0ZpbHRlcih0YWdSZWdleGVzKSJ9LF9uYW1lVG9EYXRhU2VyaWVzOnt0eXBlOk9iamVjdCwKdmFsdWU6KCk9Pih7fSl9LF9zZXJpZXNOYW1lczp7dHlwZTpPYmplY3QsY29tcHV0ZWQ6Il9jb21wdXRlU2VyaWVzTmFtZXMoX25hbWVUb0RhdGFTZXJpZXMsIHJ1bnMpIn0sX2V4cGFuZGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxfbG9nU2NhbGVBY3RpdmU6Qm9vbGVhbixfZGF0YVVybDp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBiPT57Y29uc3QgZD10aGlzLl90YWdGaWx0ZXI7cmV0dXJuIGRjLmFkZFBhcmFtcyhkYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiY3VzdG9tX3NjYWxhcnMiLCIvc2NhbGFycyIpLHt0YWc6ZCxydW46Yn0pfX19LF9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleDp7dHlwZTpPYmplY3QsdmFsdWU6e319LF9tYXRjaGVzTGlzdE9wZW5lZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfdGl0bGVEaXNwbGF5U3RyaW5nOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVUaXRsZURpc3BsYXlTdHJpbmcodGl0bGUpIn19LApvYnNlcnZlcnM6WyJfdXBkYXRlQ2hhcnQoX25hbWVUb0RhdGFTZXJpZXMpIiwiX3JlZnJlc2hEYXRhU2VyaWVzKF90YWdGaWx0ZXIpIl0scmVsb2FkKCl7dGhpcy4kLmxvYWRlci5yZWxvYWQoKX0scmVkcmF3KCl7dGhpcy4kLmxvYWRlci5yZWRyYXcoKX0sX3RvZ2dsZUV4cGFuZGVkKCl7dGhpcy5zZXQoIl9leHBhbmRlZCIsIXRoaXMuX2V4cGFuZGVkKTt0aGlzLnJlZHJhdygpfSxfdG9nZ2xlTG9nU2NhbGUoKXt0aGlzLnNldCgiX2xvZ1NjYWxlQWN0aXZlIiwhdGhpcy5fbG9nU2NhbGVBY3RpdmUpfSxfcmVzZXREb21haW4oKXtjb25zdCBiPXRoaXMuJC5sb2FkZXI7YiYmYi5yZXNldERvbWFpbigpfSxfY3N2VXJsKGIsZCl7aWYoIWQpcmV0dXJuIiI7Yj10aGlzLl9kb3dubG9hZERhdGFVcmwoYixkKTtyZXR1cm4gZGMuYWRkUGFyYW1zKGIse2Zvcm1hdDoiY3N2In0pfSxfanNvblVybChiLGQpe2lmKCFkKXJldHVybiIiO2I9dGhpcy5fZG93bmxvYWREYXRhVXJsKGIsZCk7cmV0dXJuIGRjLmFkZFBhcmFtcyhiLAp7Zm9ybWF0OiJqc29uIn0pfSxfZG93bmxvYWREYXRhVXJsKGIsZCl7Yj1iW2RdO2I9e3RhZzpiLmdldFRhZygpLHJ1bjpiLmdldFJ1bigpfTtyZXR1cm4gZGMuYWRkUGFyYW1zKGRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJjdXN0b21fc2NhbGFycyIsIi9kb3dubG9hZF9kYXRhIiksYil9LF9jcmVhdGVQcm9jZXNzRGF0YUZ1bmN0aW9uKCl7cmV0dXJuKGIsZCxmKT0+e2lmKGYucmVnZXhfdmFsaWQpe2NvbnN0IGg9Xy5jbG9uZSh0aGlzLl9uYW1lVG9EYXRhU2VyaWVzKTtfLmZvck93bihmLnRhZ190b19ldmVudHMsKGsscik9Pntjb25zdCBsPWsubWFwKG09Pih7d2FsbF90aW1lOm5ldyBEYXRlKDFFMyptWzBdKSxzdGVwOm1bMV0sc2NhbGFyOm1bMl19KSk7az1JaC5nZW5lcmF0ZURhdGFTZXJpZXNOYW1lKGQscik7Y29uc3QgcD1oW2tdO3A/cC5zZXREYXRhKGwpOihfLmlzVW5kZWZpbmVkKHRoaXMuX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4W2RdKSYmKHRoaXMuX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4W2RdPQowKSxyPW5ldyBJaC5EYXRhU2VyaWVzKGQscixrLGwsc2YuU1lNQk9MU19MSVNUW3RoaXMuX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4W2RdXSksaFtrXT1yLHRoaXMuX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4W2RdPSh0aGlzLl9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleFtkXSsxKSVzZi5TWU1CT0xTX0xJU1QubGVuZ3RoKX0pO3RoaXMuc2V0KCJfbmFtZVRvRGF0YVNlcmllcyIsaCl9fX0sX3VwZGF0ZUNoYXJ0KGIpe09iamVjdC5lbnRyaWVzKGIpLmZvckVhY2goKFtkLGZdKT0+e3RoaXMuJC5sb2FkZXIuc2V0U2VyaWVzRGF0YShkLGYuZ2V0RGF0YSgpKX0pO3RoaXMuJC5sb2FkZXIuY29tbWl0Q2hhbmdlcygpfSxfY29tcHV0ZVNlbGVjdGVkUnVuc1NldChiKXtjb25zdCBkPXt9O18uZm9yRWFjaChiLGY9PntkW2ZdPTF9KTtyZXR1cm4gZH0sX2NvbXB1dGVTZXJpZXNOYW1lcygpe2NvbnN0IGI9bmV3IFNldCh0aGlzLnJ1bnMpO3JldHVybiBPYmplY3QuZW50cmllcyh0aGlzLl9uYW1lVG9EYXRhU2VyaWVzKS5maWx0ZXIoKFssCmRdKT0+Yi5oYXMoZC5ydW4pKS5tYXAoKFtkXSk9PmQpfSxfZGV0ZXJtaW5lQ29sb3IoYixkKXtyZXR1cm4gYi5zY2FsZShkKX0sX3JlZnJlc2hEYXRhU2VyaWVzKCl7dGhpcy5zZXQoIl9uYW1lVG9EYXRhU2VyaWVzIix7fSl9LF9jcmVhdGVTeW1ib2xGdW5jdGlvbigpe3JldHVybiBiPT50aGlzLl9uYW1lVG9EYXRhU2VyaWVzW2JdLmdldFN5bWJvbCgpLm1ldGhvZCgpfSxfZGV0ZXJtaW5lU3ltYm9sKGIsZCl7cmV0dXJuIGJbZF0uZ2V0U3ltYm9sKCkuY2hhcmFjdGVyfSxfY29tcHV0ZVRhZ0ZpbHRlcihiKXtyZXR1cm4gMT09PWIubGVuZ3RoP2JbMF06Yi5tYXAoZD0+IigiK2QrIikiKS5qb2luKCJ8Iil9LF9nZXRUb2dnbGVNYXRjaGVzSWNvbihiKXtyZXR1cm4gYj8iZXhwYW5kLWxlc3MiOiJleHBhbmQtbW9yZSJ9LF90b2dnbGVNYXRjaGVzT3Blbigpe3RoaXMuc2V0KCJfbWF0Y2hlc0xpc3RPcGVuZWQiLCF0aGlzLl9tYXRjaGVzTGlzdE9wZW5lZCl9LF9jb21wdXRlVGl0bGVEaXNwbGF5U3RyaW5nKGIpe3JldHVybiBifHwKInVudGl0bGVkIn0sX21hdGNoTGlzdEVudHJ5Q29sb3JVcGRhdGVkKCl7Y29uc3QgYj10aGlzLiQkKCIjbWF0Y2gtbGlzdC1yZXBlYXQiKTtiJiZ0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgiLm1hdGNoLWxpc3QtZW50cnkiKS5mb3JFYWNoKGQ9Pntjb25zdCBmPWIuaXRlbUZvckVsZW1lbnQoZCk7ZC5zdHlsZS5jb2xvcj10aGlzLl9kZXRlcm1pbmVDb2xvcih0aGlzLl9jb2xvclNjYWxlLGYpfSl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtY3VzdG9tLXNjYWxhci1kYXNoYm9hcmQvdGYtY3VzdG9tLXNjYWxhci1kYXNoYm9hcmQuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtY3VzdG9tLXNjYWxhci1kYXNoYm9hcmQiLHByb3BlcnRpZXM6e19yZXF1ZXN0TWFuYWdlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5SZXF1ZXN0TWFuYWdlcig1MCl9LF9jYW5jZWxsZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuQ2FuY2VsbGVyfSxfc2VsZWN0ZWRSdW5zOkFycmF5LF9zaG93RG93bmxvYWRMaW5rczp7dHlwZTpCb29sZWFuLG5vdGlmeTohMCx2YWx1ZTpiZC5nZXRCb29sZWFuSW5pdGlhbGl6ZXIoIl9zaG93RG93bmxvYWRMaW5rcyIse2RlZmF1bHRWYWx1ZTohMSx1c2VMb2NhbFN0b3JhZ2U6ITB9KSxvYnNlcnZlcjoiX3Nob3dEb3dubG9hZExpbmtzT2JzZXJ2ZXIifSxfc21vb3RoaW5nRW5hYmxlZDp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZVNtb290aGluZ0VuYWJsZWQoX3Ntb290aGluZ1dlaWdodCkifSxfc21vb3RoaW5nV2VpZ2h0Ont0eXBlOk51bWJlcixub3RpZnk6ITAsdmFsdWU6YmQuZ2V0TnVtYmVySW5pdGlhbGl6ZXIoIl9zbW9vdGhpbmdXZWlnaHQiLAp7ZGVmYXVsdFZhbHVlOi42fSksb2JzZXJ2ZXI6Il9zbW9vdGhpbmdXZWlnaHRPYnNlcnZlciJ9LF9pZ25vcmVZT3V0bGllcnM6e3R5cGU6Qm9vbGVhbix2YWx1ZTpiZC5nZXRCb29sZWFuSW5pdGlhbGl6ZXIoIl9pZ25vcmVZT3V0bGllcnMiLHtkZWZhdWx0VmFsdWU6ITAsdXNlTG9jYWxTdG9yYWdlOiEwfSksb2JzZXJ2ZXI6Il9pZ25vcmVZT3V0bGllcnNPYnNlcnZlciJ9LF94VHlwZTp7dHlwZTpTdHJpbmcsdmFsdWU6InN0ZXAifSxfbGF5b3V0Ok9iamVjdCxfZGF0YU5vdEZvdW5kOkJvb2xlYW4sX2NhdGVnb3JpZXM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9tYWtlQ2F0ZWdvcmllcyhfbGF5b3V0KSJ9LF9vcGVuZWRDYXRlZ29yaWVzOnt0eXBlOk9iamVjdH0sX2FjdGl2ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiEwLHJlYWRPbmx5OiEwfX0scmVhZHkoKXt0aGlzLnJlbG9hZCgpfSxyZWxvYWQoKXtjb25zdCBiPWRjLmdldFJvdXRlcigpLnBsdWdpbnNMaXN0aW5nKCksZD10aGlzLl9jYW5jZWxsZXIuY2FuY2VsbGFibGUoZj0+CntmLmNhbmNlbGxlZHx8KHRoaXMuc2V0KCJfZGF0YU5vdEZvdW5kIiwhZi52YWx1ZS5jdXN0b21fc2NhbGFycyksdGhpcy5fZGF0YU5vdEZvdW5kfHx0aGlzLl9yZXRyaWV2ZUxheW91dEFuZERhdGEoKSl9KTt0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGIpLnRoZW4oZCl9LF9yZWxvYWRDaGFydHMoKXt0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgidGYtY3VzdG9tLXNjYWxhci1tYXJnaW4tY2hhcnQtY2FyZCwgdGYtY3VzdG9tLXNjYWxhci1tdWx0aS1saW5lLWNoYXJ0LWNhcmQiKS5mb3JFYWNoKGI9PntiLnJlbG9hZCgpfSl9LF9yZXRyaWV2ZUxheW91dEFuZERhdGEoKXtjb25zdCBiPWRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJjdXN0b21fc2NhbGFycyIsIi9sYXlvdXQiKSxkPXRoaXMuX2NhbmNlbGxlci5jYW5jZWxsYWJsZShmPT57Zi5jYW5jZWxsZWR8fCh0aGlzLnNldCgiX2xheW91dCIsZi52YWx1ZSksdGhpcy5fZGF0YU5vdEZvdW5kfHx0aGlzLl9yZWxvYWRDaGFydHMoKSl9KTsKdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChiKS50aGVuKGQpfSxfc2hvd0Rvd25sb2FkTGlua3NPYnNlcnZlcjpiZC5nZXRCb29sZWFuT2JzZXJ2ZXIoIl9zaG93RG93bmxvYWRMaW5rcyIse2RlZmF1bHRWYWx1ZTohMSx1c2VMb2NhbFN0b3JhZ2U6ITB9KSxfc21vb3RoaW5nV2VpZ2h0T2JzZXJ2ZXI6YmQuZ2V0TnVtYmVyT2JzZXJ2ZXIoIl9zbW9vdGhpbmdXZWlnaHQiLHtkZWZhdWx0VmFsdWU6LjZ9KSxfaWdub3JlWU91dGxpZXJzT2JzZXJ2ZXI6YmQuZ2V0Qm9vbGVhbk9ic2VydmVyKCJfaWdub3JlWU91dGxpZXJzIix7ZGVmYXVsdFZhbHVlOiEwLHVzZUxvY2FsU3RvcmFnZTohMH0pLF9jb21wdXRlU21vb3RoaW5nRW5hYmxlZChiKXtyZXR1cm4gMDxifSxfbWFrZUNhdGVnb3JpZXMoYil7aWYoIWIuY2F0ZWdvcnkpcmV0dXJuW107bGV0IGQ9ITE7dGhpcy5fb3BlbmVkQ2F0ZWdvcmllc3x8KGQ9ITAsdGhpcy5fb3BlbmVkQ2F0ZWdvcmllcz17fSk7cmV0dXJuIGIuY2F0ZWdvcnkubWFwKGY9Pgp7ZCYmIWYuY2xvc2VkJiYodGhpcy5fb3BlbmVkQ2F0ZWdvcmllc1tmLnRpdGxlXT0hMCk7cmV0dXJue25hbWU6Zi50aXRsZSxpdGVtczpmLmNoYXJ0LG1ldGFkYXRhOntvcGVuZWQ6ISF0aGlzLl9vcGVuZWRDYXRlZ29yaWVzW2YudGl0bGVdfX19KX0sX2NhdGVnb3J5T3BlbmVkVG9nZ2xlZChiKXtiPWIudGFyZ2V0O2Iub3BlbmVkP3RoaXMuX29wZW5lZENhdGVnb3JpZXNbYi5jYXRlZ29yeS5uYW1lXT0hMDpkZWxldGUgdGhpcy5fb3BlbmVkQ2F0ZWdvcmllc1tiLmNhdGVnb3J5Lm5hbWVdfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWltYWdlLWRhc2hib2FyZC90Zi1pbWFnZS1sb2FkZXIuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtaW1hZ2UtbG9hZGVyIixwcm9wZXJ0aWVzOntydW46U3RyaW5nLHRhZzpTdHJpbmcsc2FtcGxlOk51bWJlcixvZlNhbXBsZXM6TnVtYmVyLHRhZ01ldGFkYXRhOk9iamVjdCxfcnVuQ29sb3I6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVJ1bkNvbG9yKHJ1bikifSxhY3R1YWxTaXplOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxicmlnaHRuZXNzQWRqdXN0bWVudDp7dHlwZTpOdW1iZXIsdmFsdWU6LjV9LGNvbnRyYXN0UGVyY2VudGFnZTp7dHlwZTpOdW1iZXIsdmFsdWU6MH0scmVxdWVzdE1hbmFnZXI6T2JqZWN0LF9tZXRhZGF0YUNhbmNlbGxlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5DYW5jZWxsZXJ9LF9pbWFnZUNhbmNlbGxlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5DYW5jZWxsZXJ9LF9zdGVwczp7dHlwZTpBcnJheSx2YWx1ZTpbXSxub3RpZnk6ITB9LF9zdGVwSW5kZXg6e3R5cGU6TnVtYmVyLApub3RpZnk6ITB9LF9jdXJyZW50U3RlcDp7dHlwZTpPYmplY3QsY29tcHV0ZWQ6Il9jb21wdXRlQ3VycmVudFN0ZXAoX3N0ZXBzLCBfc3RlcEluZGV4KSJ9LF9oYXNBdExlYXN0T25lU3RlcDp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUhhc0F0TGVhc3RPbmVTdGVwKF9zdGVwcykifSxfaGFzTXVsdGlwbGVTdGVwczp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUhhc011bHRpcGxlU3RlcHMoX3N0ZXBzKSJ9LF9zdGVwVmFsdWU6e3R5cGU6TnVtYmVyLGNvbXB1dGVkOiJfY29tcHV0ZVN0ZXBWYWx1ZShfY3VycmVudFN0ZXApIn0sX2N1cnJlbnRXYWxsVGltZTp7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9jb21wdXRlQ3VycmVudFdhbGxUaW1lKF9jdXJyZW50U3RlcCkifSxfbWF4U3RlcEluZGV4Ont0eXBlOk51bWJlcixjb21wdXRlZDoiX2NvbXB1dGVNYXhTdGVwSW5kZXgoX3N0ZXBzKSJ9LF9zYW1wbGVUZXh0Ont0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVTYW1wbGVUZXh0KHNhbXBsZSkifSwKX2hhc011bHRpcGxlU2FtcGxlczp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUhhc011bHRpcGxlU2FtcGxlcyhvZlNhbXBsZXMpIn0sX2lzSW1hZ2VMb2FkaW5nOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9fSxvYnNlcnZlcnM6WyJyZWxvYWQocnVuLCB0YWcpIiwiX3VwZGF0ZUltYWdlVXJsKF9jdXJyZW50U3RlcCwgYnJpZ2h0bmVzc0FkanVzdG1lbnQsIGNvbnRyYXN0UGVyY2VudGFnZSkiXSxfY29tcHV0ZVJ1bkNvbG9yKGIpe3JldHVybiBMZC5ydW5zQ29sb3JTY2FsZShiKX0sX2NvbXB1dGVIYXNBdExlYXN0T25lU3RlcChiKXtyZXR1cm4hIWImJjA8Yi5sZW5ndGh9LF9jb21wdXRlSGFzTXVsdGlwbGVTdGVwcyhiKXtyZXR1cm4hIWImJjE8Yi5sZW5ndGh9LF9jb21wdXRlQ3VycmVudFN0ZXAoYixkKXtyZXR1cm4gYltkXXx8bnVsbH0sX2NvbXB1dGVTdGVwVmFsdWUoYil7cmV0dXJuIGI/Yi5zdGVwOjB9LF9jb21wdXRlQ3VycmVudFdhbGxUaW1lKGIpe3JldHVybiBiPwpIaC5mb3JtYXREYXRlKGIud2FsbF90aW1lKToiIn0sX2NvbXB1dGVNYXhTdGVwSW5kZXgoYil7cmV0dXJuIGIubGVuZ3RoLTF9LF9jb21wdXRlU2FtcGxlVGV4dChiKXtyZXR1cm5gJHtiKzF9YH0sX2NvbXB1dGVIYXNNdWx0aXBsZVNhbXBsZXMoYil7cmV0dXJuIDE8Yn0sX2dldEFyaWFFeHBhbmRlZCgpe3JldHVybiB0aGlzLmFjdHVhbFNpemU/InRydWUiOiJmYWxzZSJ9LGF0dGFjaGVkKCl7dGhpcy5fYXR0YWNoZWQ9ITA7dGhpcy5yZWxvYWQoKX0scmVsb2FkKCl7aWYodGhpcy5fYXR0YWNoZWQpe3RoaXMuX21ldGFkYXRhQ2FuY2VsbGVyLmNhbmNlbEFsbCgpO3ZhciBiPWRjLmFkZFBhcmFtcyhkYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiaW1hZ2VzIiwiL2ltYWdlcyIpLHt0YWc6dGhpcy50YWcscnVuOnRoaXMucnVuLHNhbXBsZTp0aGlzLnNhbXBsZX0pLGQ9dGhpcy5fbWV0YWRhdGFDYW5jZWxsZXIuY2FuY2VsbGFibGUoZj0+e2YuY2FuY2VsbGVkfHwoZj1mLnZhbHVlLm1hcCh0aGlzLl9jcmVhdGVTdGVwRGF0dW0uYmluZCh0aGlzKSksCnRoaXMuc2V0KCJfc3RlcHMiLGYpLHRoaXMuc2V0KCJfc3RlcEluZGV4IixmLmxlbmd0aC0xKSl9KTt0aGlzLnJlcXVlc3RNYW5hZ2VyLnJlcXVlc3QoYikudGhlbihkKX19LF9jcmVhdGVTdGVwRGF0dW0oYil7bGV0IGQ9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImltYWdlcyIsIi9pbmRpdmlkdWFsSW1hZ2UiKTtkPWRjLmFkZFBhcmFtcyhkLHt0czpiLndhbGxfdGltZX0pO2QrPSJceDI2IitiLnF1ZXJ5O3JldHVybnt3YWxsX3RpbWU6bmV3IERhdGUoMUUzKmIud2FsbF90aW1lKSxzdGVwOmIuc3RlcCx1cmw6ZH19LF91cGRhdGVJbWFnZVVybChiLGQsZil7aWYoYil7dmFyIGg9bmV3IEltYWdlO3RoaXMuX2ltYWdlQ2FuY2VsbGVyLmNhbmNlbEFsbCgpO2gub25sb2FkPWgub25lcnJvcj10aGlzLl9pbWFnZUNhbmNlbGxlci5jYW5jZWxsYWJsZShrPT57ay5jYW5jZWxsZWR8fChrPXRoaXMuJCQoIiNtYWluLWltYWdlLWNvbnRhaW5lciIpLGsuaW5uZXJIVE1MPSIiLFBvbHltZXIuZG9tKGspLmFwcGVuZENoaWxkKGgpLAp0aGlzLnNldCgiX2lzSW1hZ2VMb2FkaW5nIiwhMSkpfSkuYmluZCh0aGlzKTtoLnN0eWxlLmZpbHRlcj1gY29udHJhc3QoJHtmfSUpIGA7aC5zdHlsZS5maWx0ZXIrPWBicmlnaHRuZXNzKCR7ZH0pYDt0aGlzLnNldCgiX2lzSW1hZ2VMb2FkaW5nIiwhMCk7aC5zcmM9Yi51cmx9fSxfaGFuZGxlVGFwKCl7dGhpcy5zZXQoImFjdHVhbFNpemUiLCF0aGlzLmFjdHVhbFNpemUpfSxfdG9Mb2NhbGVTdHJpbmcoYil7cmV0dXJuIGIudG9Mb2NhbGVTdHJpbmcoKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1pbWFnZS1kYXNoYm9hcmQvdGYtaW1hZ2UtZGFzaGJvYXJkLmh0bWwuanMKUG9seW1lcih7aXM6InRmLWltYWdlLWRhc2hib2FyZCIscHJvcGVydGllczp7X3NlbGVjdGVkUnVuczpBcnJheSxfcnVuVG9UYWdJbmZvOk9iamVjdCxfZGF0YU5vdEZvdW5kOkJvb2xlYW4sX2FjdHVhbFNpemU6Qm9vbGVhbixfZGVmYXVsdEJyaWdodG5lc3NBZGp1c3RtZW50Ont0eXBlOk51bWJlcix2YWx1ZToxLHJlYWRPbmx5OiEwfSxfZGVmYXVsdENvbnRyYXN0UGVyY2VudGFnZTp7dHlwZTpOdW1iZXIsdmFsdWU6MTAwLHJlYWRPbmx5OiEwfSxfYnJpZ2h0bmVzc0FkanVzdG1lbnQ6e3R5cGU6TnVtYmVyLHZhbHVlOjF9LF9jb250cmFzdFBlcmNlbnRhZ2U6e3R5cGU6TnVtYmVyLHZhbHVlOjEwMH0sX3RhZ0ZpbHRlcjpTdHJpbmcsX2JyaWdodG5lc3NJc0RlZmF1bHQ6e3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVCcmlnaHRuZXNzSXNEZWZhdWx0KF9icmlnaHRuZXNzQWRqdXN0bWVudCkifSxfY29udHJhc3RJc0RlZmF1bHQ6e3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVDb250cmFzdElzRGVmYXVsdChfY29udHJhc3RQZXJjZW50YWdlKSJ9LApfY2F0ZWdvcmllc0RvbVJlYWR5OkJvb2xlYW4sX2NhdGVnb3JpZXM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9tYWtlQ2F0ZWdvcmllcyhfcnVuVG9UYWdJbmZvLCBfc2VsZWN0ZWRSdW5zLCBfdGFnRmlsdGVyLCBfY2F0ZWdvcmllc0RvbVJlYWR5KSJ9LF9yZXF1ZXN0TWFuYWdlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5SZXF1ZXN0TWFuYWdlcn19LHJlYWR5KCl7dGhpcy5yZWxvYWQoKX0scmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbigoKT0+e3RoaXMuX3JlbG9hZEltYWdlcygpfSl9LF9mZXRjaFRhZ3MoKXtjb25zdCBiPWRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJpbWFnZXMiLCIvdGFncyIpO3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGIpLnRoZW4oZD0+e2lmKCFfLmlzRXF1YWwoZCx0aGlzLl9ydW5Ub1RhZ0luZm8pKXt2YXIgZj1fLm1hcFZhbHVlcyhkLGg9Pk9iamVjdC5rZXlzKGgpKTtmPWRjLmdldFRhZ3MoZik7dGhpcy5zZXQoIl9kYXRhTm90Rm91bmQiLAowPT09Zi5sZW5ndGgpO3RoaXMuc2V0KCJfcnVuVG9UYWdJbmZvIixkKTt0aGlzLmFzeW5jKCgpPT57dGhpcy5zZXQoIl9jYXRlZ29yaWVzRG9tUmVhZHkiLCEwKX0pfX0pfSxfcmVsb2FkSW1hZ2VzKCl7dGhpcy5yb290LnF1ZXJ5U2VsZWN0b3JBbGwoInRmLWltYWdlLWxvYWRlciIpLmZvckVhY2goYj0+e2IucmVsb2FkKCl9KX0sX3Nob3VsZE9wZW4oYil7cmV0dXJuIDI+PWJ9LF9yZXNldEJyaWdodG5lc3MoKXt0aGlzLl9icmlnaHRuZXNzQWRqdXN0bWVudD10aGlzLl9kZWZhdWx0QnJpZ2h0bmVzc0FkanVzdG1lbnR9LF9yZXNldENvbnRyYXN0KCl7dGhpcy5fY29udHJhc3RQZXJjZW50YWdlPXRoaXMuX2RlZmF1bHRDb250cmFzdFBlcmNlbnRhZ2V9LF9jb21wdXRlQnJpZ2h0bmVzc0lzRGVmYXVsdChiKXtyZXR1cm4gYj09PXRoaXMuX2RlZmF1bHRCcmlnaHRuZXNzQWRqdXN0bWVudH0sX2NvbXB1dGVDb250cmFzdElzRGVmYXVsdChiKXtyZXR1cm4gYj09PXRoaXMuX2RlZmF1bHRDb250cmFzdFBlcmNlbnRhZ2V9LApfbWFrZUNhdGVnb3JpZXMoYixkLGYpe2Z1bmN0aW9uIGgocil7Y29uc3QgbD1iW3IucnVuXVtyLnRhZ10uc2FtcGxlcztyZXR1cm4gXy5yYW5nZShsKS5tYXAocD0+T2JqZWN0LmFzc2lnbih7fSxyLHtzYW1wbGU6cCxvZlNhbXBsZXM6bH0pKX1jb25zdCBrPV8ubWFwVmFsdWVzKGIscj0+T2JqZWN0LmtleXMocikpO3JldHVybiBrYy5jYXRlZ29yaXplUnVuVGFnQ29tYmluYXRpb25zKGssZCxmKS5tYXAocj0+T2JqZWN0LmFzc2lnbih7fSxyLHtpdGVtczpbXS5jb25jYXQuYXBwbHkoW10sci5pdGVtcy5tYXAoaCkpfSkpfSxfdGFnTWV0YWRhdGEoYixkLGYpe3JldHVybiBiW2RdW2ZdfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWF1ZGlvLWRhc2hib2FyZC90Zi1hdWRpby1sb2FkZXIuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtYXVkaW8tbG9hZGVyIixwcm9wZXJ0aWVzOntydW46U3RyaW5nLHRhZzpTdHJpbmcsc2FtcGxlOk51bWJlcix0b3RhbFNhbXBsZXM6TnVtYmVyLHRhZ01ldGFkYXRhOk9iamVjdCxfcnVuQ29sb3I6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVJ1bkNvbG9yKHJ1bikifSxyZXF1ZXN0TWFuYWdlcjpPYmplY3QsX21ldGFkYXRhQ2FuY2VsbGVyOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+bmV3IGRjLkNhbmNlbGxlcn0sX3N0ZXBzOnt0eXBlOkFycmF5LHZhbHVlOigpPT5bXX0sX3N0ZXBJbmRleDpOdW1iZXIsX2hhc0F0TGVhc3RPbmVTdGVwOnt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlSGFzQXRMZWFzdE9uZVN0ZXAoX3N0ZXBzKSJ9LF9oYXNNdWx0aXBsZVN0ZXBzOnt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlSGFzTXVsdGlwbGVTdGVwcyhfc3RlcHMpIn0sX2N1cnJlbnREYXR1bTp7dHlwZTpPYmplY3QsY29tcHV0ZWQ6Il9jb21wdXRlQ3VycmVudERhdHVtKF9zdGVwcywgX3N0ZXBJbmRleCkifSwKX21heFN0ZXBJbmRleDp7dHlwZTpOdW1iZXIsY29tcHV0ZWQ6Il9jb21wdXRlTWF4U3RlcEluZGV4KF9zdGVwcykifSxfc2FtcGxlVGV4dDp7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9jb21wdXRlU2FtcGxlVGV4dChzYW1wbGUpIn0sX2hhc011bHRpcGxlU2FtcGxlczp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUhhc011bHRpcGxlU2FtcGxlcyh0b3RhbFNhbXBsZXMpIn19LG9ic2VydmVyczpbInJlbG9hZChydW4sIHRhZykiXSxfY29tcHV0ZVJ1bkNvbG9yKGIpe3JldHVybiBMZC5ydW5zQ29sb3JTY2FsZShiKX0sX2NvbXB1dGVIYXNBdExlYXN0T25lU3RlcChiKXtyZXR1cm4hIWImJjA8Yi5sZW5ndGh9LF9jb21wdXRlSGFzTXVsdGlwbGVTdGVwcyhiKXtyZXR1cm4hIWImJjE8Yi5sZW5ndGh9LF9jb21wdXRlTWF4U3RlcEluZGV4KGIpe3JldHVybiBiLmxlbmd0aC0xfSxfY29tcHV0ZUN1cnJlbnREYXR1bShiLGQpe3JldHVybiBiW2RdfSxfY29tcHV0ZVNhbXBsZVRleHQoYil7cmV0dXJuYCR7YisKMX1gfSxfY29tcHV0ZUhhc011bHRpcGxlU2FtcGxlcyhiKXtyZXR1cm4gMTxifSxhdHRhY2hlZCgpe3RoaXMuX2F0dGFjaGVkPSEwO3RoaXMucmVsb2FkKCl9LHJlbG9hZCgpe2lmKHRoaXMuX2F0dGFjaGVkKXt0aGlzLl9tZXRhZGF0YUNhbmNlbGxlci5jYW5jZWxBbGwoKTt2YXIgYj1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiYXVkaW8iLCIvYXVkaW8iLG5ldyBVUkxTZWFyY2hQYXJhbXMoe3RhZzp0aGlzLnRhZyxydW46dGhpcy5ydW4sc2FtcGxlOnRoaXMuc2FtcGxlfSkpLGQ9dGhpcy5fbWV0YWRhdGFDYW5jZWxsZXIuY2FuY2VsbGFibGUoZj0+e2YuY2FuY2VsbGVkfHwoZj1mLnZhbHVlLm1hcCh0aGlzLl9jcmVhdGVTdGVwRGF0dW0uYmluZCh0aGlzKSksdGhpcy5zZXQoIl9zdGVwcyIsZiksdGhpcy5zZXQoIl9zdGVwSW5kZXgiLGYubGVuZ3RoLTEpKX0pO3RoaXMucmVxdWVzdE1hbmFnZXIucmVxdWVzdChiKS50aGVuKGQpfX0sX2NyZWF0ZVN0ZXBEYXR1bShiKXt2YXIgZD0KbmV3IFVSTFNlYXJjaFBhcmFtcyhiLnF1ZXJ5KTtkLmFwcGVuZCgidHMiLGIud2FsbF90aW1lKTtkPWRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJhdWRpbyIsIi9pbmRpdmlkdWFsQXVkaW8iLGQpO3JldHVybnt3YWxsX3RpbWU6SGguZm9ybWF0RGF0ZShuZXcgRGF0ZSgxRTMqYi53YWxsX3RpbWUpKSxzdGVwOmIuc3RlcCxsYWJlbDpiLmxhYmVsLGNvbnRlbnRUeXBlOmIuY29udGVudFR5cGUsdXJsOmR9fX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWF1ZGlvLWRhc2hib2FyZC90Zi1hdWRpby1kYXNoYm9hcmQuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtYXVkaW8tZGFzaGJvYXJkIixwcm9wZXJ0aWVzOntfc2VsZWN0ZWRSdW5zOkFycmF5LF9ydW5Ub1RhZ0luZm86T2JqZWN0LF9kYXRhTm90Rm91bmQ6Qm9vbGVhbixfdGFnRmlsdGVyOnt0eXBlOlN0cmluZyx2YWx1ZToiIn0sX2NhdGVnb3JpZXM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9tYWtlQ2F0ZWdvcmllcyhfcnVuVG9UYWdJbmZvLCBfc2VsZWN0ZWRSdW5zLCBfdGFnRmlsdGVyKSJ9LF9yZXF1ZXN0TWFuYWdlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5SZXF1ZXN0TWFuYWdlcn19LHJlYWR5KCl7dGhpcy5yZWxvYWQoKX0scmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbigoKT0+e3RoaXMuX3JlbG9hZEF1ZGlvKCl9KX0sX2ZldGNoVGFncygpe2NvbnN0IGI9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImF1ZGlvIiwiL3RhZ3MiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChiKS50aGVuKGQ9PntpZighXy5pc0VxdWFsKGQsCnRoaXMuX3J1blRvVGFnSW5mbykpe3ZhciBmPV8ubWFwVmFsdWVzKGQsaD0+T2JqZWN0LmtleXMoaCkpO2Y9ZGMuZ2V0VGFncyhmKTt0aGlzLnNldCgiX2RhdGFOb3RGb3VuZCIsMD09PWYubGVuZ3RoKTt0aGlzLnNldCgiX3J1blRvVGFnSW5mbyIsZCl9fSl9LF9yZWxvYWRBdWRpbygpe3RoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCJ0Zi1hdWRpby1sb2FkZXIiKS5mb3JFYWNoKGI9PntiLnJlbG9hZCgpfSl9LF9zaG91bGRPcGVuKGIpe3JldHVybiAyPj1ifSxfbWFrZUNhdGVnb3JpZXMoYixkLGYpe2Z1bmN0aW9uIGgocil7Y29uc3QgbD1iW3IucnVuXVtyLnRhZ10uc2FtcGxlcztyZXR1cm4gXy5yYW5nZShsKS5tYXAocD0+T2JqZWN0LmFzc2lnbih7fSxyLHtzYW1wbGU6cCx0b3RhbFNhbXBsZXM6bH0pKX1jb25zdCBrPV8ubWFwVmFsdWVzKGIscj0+T2JqZWN0LmtleXMocikpO3JldHVybiBrYy5jYXRlZ29yaXplUnVuVGFnQ29tYmluYXRpb25zKGssZCxmKS5tYXAocj0+T2JqZWN0LmFzc2lnbih7fSwKcix7aXRlbXM6W10uY29uY2F0LmFwcGx5KFtdLHIuaXRlbXMubWFwKGgpKX0pKX0sX3RhZ01ldGFkYXRhKGIsZCxmKXtyZXR1cm4gYltkXVtmXX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLWF1dG9ncm93LXRleHRhcmVhL2lyb24tYXV0b2dyb3ctdGV4dGFyZWEuaHRtbC5qcwpQb2x5bWVyKHtpczoiaXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYSIsYmVoYXZpb3JzOltQb2x5bWVyLklyb25WYWxpZGF0YWJsZUJlaGF2aW9yLFBvbHltZXIuSXJvbkNvbnRyb2xTdGF0ZV0scHJvcGVydGllczp7dmFsdWU6e29ic2VydmVyOiJfdmFsdWVDaGFuZ2VkIix0eXBlOlN0cmluZyxub3RpZnk6ITB9LGJpbmRWYWx1ZTp7b2JzZXJ2ZXI6Il9iaW5kVmFsdWVDaGFuZ2VkIix0eXBlOlN0cmluZyxub3RpZnk6ITB9LHJvd3M6e3R5cGU6TnVtYmVyLHZhbHVlOjEsb2JzZXJ2ZXI6Il91cGRhdGVDYWNoZWQifSxtYXhSb3dzOnt0eXBlOk51bWJlcix2YWx1ZTowLG9ic2VydmVyOiJfdXBkYXRlQ2FjaGVkIn0sYXV0b2NvbXBsZXRlOnt0eXBlOlN0cmluZyx2YWx1ZToib2ZmIn0sYXV0b2ZvY3VzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGlucHV0bW9kZTp7dHlwZTpTdHJpbmd9LHBsYWNlaG9sZGVyOnt0eXBlOlN0cmluZ30scmVhZG9ubHk6e3R5cGU6U3RyaW5nfSxyZXF1aXJlZDp7dHlwZTpCb29sZWFufSwKbWlubGVuZ3RoOnt0eXBlOk51bWJlcn0sbWF4bGVuZ3RoOnt0eXBlOk51bWJlcn0sbGFiZWw6e3R5cGU6U3RyaW5nfX0sbGlzdGVuZXJzOntpbnB1dDoiX29uSW5wdXQifSxnZXQgdGV4dGFyZWEoKXtyZXR1cm4gdGhpcy4kLnRleHRhcmVhfSxnZXQgc2VsZWN0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy4kLnRleHRhcmVhLnNlbGVjdGlvblN0YXJ0fSxnZXQgc2VsZWN0aW9uRW5kKCl7cmV0dXJuIHRoaXMuJC50ZXh0YXJlYS5zZWxlY3Rpb25FbmR9LHNldCBzZWxlY3Rpb25TdGFydChiKXt0aGlzLiQudGV4dGFyZWEuc2VsZWN0aW9uU3RhcnQ9Yn0sc2V0IHNlbGVjdGlvbkVuZChiKXt0aGlzLiQudGV4dGFyZWEuc2VsZWN0aW9uRW5kPWJ9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVAoPzpbb2FdZHxob25lKS8pJiYodGhpcy4kLnRleHRhcmVhLnN0eWxlLm1hcmdpbkxlZnQ9Ii0zcHgiKX0sdmFsaWRhdGU6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLiQudGV4dGFyZWEudmFsaWRpdHkudmFsaWQ7CmImJih0aGlzLnJlcXVpcmVkJiYiIj09PXRoaXMudmFsdWU/Yj0hMTp0aGlzLmhhc1ZhbGlkYXRvcigpJiYoYj1Qb2x5bWVyLklyb25WYWxpZGF0YWJsZUJlaGF2aW9yLnZhbGlkYXRlLmNhbGwodGhpcyx0aGlzLnZhbHVlKSkpO3RoaXMuaW52YWxpZD0hYjt0aGlzLmZpcmUoImlyb24taW5wdXQtdmFsaWRhdGUiKTtyZXR1cm4gYn0sX2JpbmRWYWx1ZUNoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy52YWx1ZT1ifSxfdmFsdWVDaGFuZ2VkOmZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMudGV4dGFyZWE7ZCYmKGQudmFsdWUhPT1iJiYoZC52YWx1ZT1ifHwwPT09Yj9iOiIiKSx0aGlzLmJpbmRWYWx1ZT1iLHRoaXMuJC5taXJyb3IuaW5uZXJIVE1MPXRoaXMuX3ZhbHVlRm9yTWlycm9yKCksdGhpcy5maXJlKCJiaW5kLXZhbHVlLWNoYW5nZWQiLHt2YWx1ZTp0aGlzLmJpbmRWYWx1ZX0pKX0sX29uSW5wdXQ6ZnVuY3Rpb24oYil7dmFyIGQ9UG9seW1lci5kb20oYikucGF0aDt0aGlzLnZhbHVlPWQ/ZFswXS52YWx1ZToKYi50YXJnZXQudmFsdWV9LF9jb25zdHJhaW46ZnVuY3Rpb24oYil7Yj1ifHxbIiJdO2ZvcihiPTA8dGhpcy5tYXhSb3dzJiZiLmxlbmd0aD50aGlzLm1heFJvd3M/Yi5zbGljZSgwLHRoaXMubWF4Um93cyk6Yi5zbGljZSgwKTswPHRoaXMucm93cyYmYi5sZW5ndGg8dGhpcy5yb3dzOyliLnB1c2goIiIpO3JldHVybiBiLmpvaW4oIlx4M2Nici9ceDNlIikrIlx4MjYjMTYwOyJ9LF92YWx1ZUZvck1pcnJvcjpmdW5jdGlvbigpe3ZhciBiPXRoaXMudGV4dGFyZWE7aWYoYilyZXR1cm4gdGhpcy50b2tlbnM9YiYmYi52YWx1ZT9iLnZhbHVlLnJlcGxhY2UoLyYvZ20sIlx4MjZhbXA7IikucmVwbGFjZSgvIi9nbSwiXHgyNnF1b3Q7IikucmVwbGFjZSgvJy9nbSwiXHgyNiMzOTsiKS5yZXBsYWNlKC88L2dtLCJceDI2bHQ7IikucmVwbGFjZSgvPi9nbSwiXHgyNmd0OyIpLnNwbGl0KCJcbiIpOlsiIl0sdGhpcy5fY29uc3RyYWluKHRoaXMudG9rZW5zKX0sX3VwZGF0ZUNhY2hlZDpmdW5jdGlvbigpe3RoaXMuJC5taXJyb3IuaW5uZXJIVE1MPQp0aGlzLl9jb25zdHJhaW4odGhpcy50b2tlbnMpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWlucHV0L3BhcGVyLXRleHRhcmVhLmh0bWwuanMKUG9seW1lcih7aXM6InBhcGVyLXRleHRhcmVhIixiZWhhdmlvcnM6W1BvbHltZXIuUGFwZXJJbnB1dEJlaGF2aW9yLFBvbHltZXIuSXJvbkZvcm1FbGVtZW50QmVoYXZpb3JdLHByb3BlcnRpZXM6e19hcmlhTGFiZWxsZWRCeTp7b2JzZXJ2ZXI6Il9hcmlhTGFiZWxsZWRCeUNoYW5nZWQiLHR5cGU6U3RyaW5nfSxfYXJpYURlc2NyaWJlZEJ5OntvYnNlcnZlcjoiX2FyaWFEZXNjcmliZWRCeUNoYW5nZWQiLHR5cGU6U3RyaW5nfSx2YWx1ZTp7dHlwZTpTdHJpbmd9LHJvd3M6e3R5cGU6TnVtYmVyLHZhbHVlOjF9LG1heFJvd3M6e3R5cGU6TnVtYmVyLHZhbHVlOjB9fSxnZXQgc2VsZWN0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy4kLmlucHV0LnRleHRhcmVhLnNlbGVjdGlvblN0YXJ0fSxzZXQgc2VsZWN0aW9uU3RhcnQoYil7dGhpcy4kLmlucHV0LnRleHRhcmVhLnNlbGVjdGlvblN0YXJ0PWJ9LGdldCBzZWxlY3Rpb25FbmQoKXtyZXR1cm4gdGhpcy4kLmlucHV0LnRleHRhcmVhLnNlbGVjdGlvbkVuZH0sCnNldCBzZWxlY3Rpb25FbmQoYil7dGhpcy4kLmlucHV0LnRleHRhcmVhLnNlbGVjdGlvbkVuZD1ifSxfYXJpYUxhYmVsbGVkQnlDaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMuX2ZvY3VzYWJsZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsbGVkYnkiLGIpfSxfYXJpYURlc2NyaWJlZEJ5Q2hhbmdlZDpmdW5jdGlvbihiKXt0aGlzLl9mb2N1c2FibGVFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1kZXNjcmliZWRieSIsYil9LGdldCBfZm9jdXNhYmxlRWxlbWVudCgpe3JldHVybiB0aGlzLmlucHV0RWxlbWVudC50ZXh0YXJlYX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci10b2FzdC9wYXBlci10b2FzdC5odG1sLmpzCihmdW5jdGlvbigpe3ZhciBiPW51bGw7UG9seW1lcih7aXM6InBhcGVyLXRvYXN0IixiZWhhdmlvcnM6W1BvbHltZXIuSXJvbk92ZXJsYXlCZWhhdmlvcl0scHJvcGVydGllczp7Zml0SW50bzp7dHlwZTpPYmplY3QsdmFsdWU6d2luZG93LG9ic2VydmVyOiJfb25GaXRJbnRvQ2hhbmdlZCJ9LGhvcml6b250YWxBbGlnbjp7dHlwZTpTdHJpbmcsdmFsdWU6ImxlZnQifSx2ZXJ0aWNhbEFsaWduOnt0eXBlOlN0cmluZyx2YWx1ZToiYm90dG9tIn0sZHVyYXRpb246e3R5cGU6TnVtYmVyLHZhbHVlOjNFM30sdGV4dDp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9LG5vQ2FuY2VsT25PdXRzaWRlQ2xpY2s6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMH0sbm9BdXRvRm9jdXM6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMH19LGxpc3RlbmVyczp7dHJhbnNpdGlvbmVuZDoiX19vblRyYW5zaXRpb25FbmQifSxnZXQgdmlzaWJsZSgpe1BvbHltZXIuQmFzZS5fd2FybigiYHZpc2libGVgIGlzIGRlcHJlY2F0ZWQsIHVzZSBgb3BlbmVkYCBpbnN0ZWFkIik7CnJldHVybiB0aGlzLm9wZW5lZH0sZ2V0IF9jYW5BdXRvQ2xvc2UoKXtyZXR1cm4gMDx0aGlzLmR1cmF0aW9uJiZJbmZpbml0eSE9PXRoaXMuZHVyYXRpb259LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9hdXRvQ2xvc2U9bnVsbDtQb2x5bWVyLklyb25BMTF5QW5ub3VuY2VyLnJlcXVlc3RBdmFpbGFiaWxpdHkoKX0sc2hvdzpmdW5jdGlvbihkKXsic3RyaW5nIj09dHlwZW9mIGQmJihkPXt0ZXh0OmR9KTtmb3IodmFyIGYgaW4gZCkwPT09Zi5pbmRleE9mKCJfIik/UG9seW1lci5CYXNlLl93YXJuKCdUaGUgcHJvcGVydHkgIicrZisnIiBpcyBwcml2YXRlIGFuZCB3YXMgbm90IHNldC4nKTpmIGluIHRoaXM/dGhpc1tmXT1kW2ZdOlBvbHltZXIuQmFzZS5fd2FybignVGhlIHByb3BlcnR5ICInK2YrJyIgaXMgbm90IHZhbGlkLicpO3RoaXMub3BlbigpfSxoaWRlOmZ1bmN0aW9uKCl7dGhpcy5jbG9zZSgpfSxfX29uVHJhbnNpdGlvbkVuZDpmdW5jdGlvbihkKXtkJiZkLnRhcmdldD09PQp0aGlzJiYib3BhY2l0eSI9PT1kLnByb3BlcnR5TmFtZSYmKHRoaXMub3BlbmVkP3RoaXMuX2ZpbmlzaFJlbmRlck9wZW5lZCgpOnRoaXMuX2ZpbmlzaFJlbmRlckNsb3NlZCgpKX0sX29wZW5lZENoYW5nZWQ6ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5fYXV0b0Nsb3NlJiYodGhpcy5jYW5jZWxBc3luYyh0aGlzLl9hdXRvQ2xvc2UpLHRoaXMuX2F1dG9DbG9zZT1udWxsKTt0aGlzLm9wZW5lZD8oYiYmYiE9PXRoaXMmJmIuY2xvc2UoKSxiPXRoaXMsdGhpcy5maXJlKCJpcm9uLWFubm91bmNlIix7dGV4dDp0aGlzLnRleHR9KSx0aGlzLl9jYW5BdXRvQ2xvc2UmJih0aGlzLl9hdXRvQ2xvc2U9dGhpcy5hc3luYyh0aGlzLmNsb3NlLHRoaXMuZHVyYXRpb24pKSk6Yj09PXRoaXMmJihiPW51bGwpO1BvbHltZXIuSXJvbk92ZXJsYXlCZWhhdmlvckltcGwuX29wZW5lZENoYW5nZWQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxfcmVuZGVyT3BlbmVkOmZ1bmN0aW9uKCl7dGhpcy5jbGFzc0xpc3QuYWRkKCJwYXBlci10b2FzdC1vcGVuIil9LApfcmVuZGVyQ2xvc2VkOmZ1bmN0aW9uKCl7dGhpcy5jbGFzc0xpc3QucmVtb3ZlKCJwYXBlci10b2FzdC1vcGVuIil9LF9vbkZpdEludG9DaGFuZ2VkOmZ1bmN0aW9uKGQpe3RoaXMucG9zaXRpb25UYXJnZXQ9ZH19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItdG9nZ2xlLWJ1dHRvbi9wYXBlci10b2dnbGUtYnV0dG9uLmh0bWwuanMKUG9seW1lcih7aXM6InBhcGVyLXRvZ2dsZS1idXR0b24iLGJlaGF2aW9yczpbUG9seW1lci5QYXBlckNoZWNrZWRFbGVtZW50QmVoYXZpb3JdLGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJidXR0b24iLCJhcmlhLXByZXNzZWQiOiJmYWxzZSIsdGFiaW5kZXg6MH0scHJvcGVydGllczp7fSxsaXN0ZW5lcnM6e3RyYWNrOiJfb250cmFjayJ9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7UG9seW1lci5SZW5kZXJTdGF0dXMuYWZ0ZXJOZXh0UmVuZGVyKHRoaXMsZnVuY3Rpb24oKXtQb2x5bWVyLkdlc3R1cmVzLnNldFRvdWNoQWN0aW9uKHRoaXMsInBhbi15Iil9KX0sX29udHJhY2s6ZnVuY3Rpb24oYil7Yj1iLmRldGFpbDsic3RhcnQiPT09Yi5zdGF0ZT90aGlzLl90cmFja1N0YXJ0KGIpOiJ0cmFjayI9PT1iLnN0YXRlP3RoaXMuX3RyYWNrTW92ZShiKToiZW5kIj09PWIuc3RhdGUmJnRoaXMuX3RyYWNrRW5kKGIpfSxfdHJhY2tTdGFydDpmdW5jdGlvbigpe3RoaXMuX3dpZHRoPXRoaXMuJC50b2dnbGVCYXIub2Zmc2V0V2lkdGgvCjI7dGhpcy5fdHJhY2tDaGVja2VkPXRoaXMuY2hlY2tlZDt0aGlzLiQudG9nZ2xlQnV0dG9uLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIil9LF90cmFja01vdmU6ZnVuY3Rpb24oYil7Yj1iLmR4O3RoaXMuX3g9TWF0aC5taW4odGhpcy5fd2lkdGgsTWF0aC5tYXgoMCx0aGlzLl90cmFja0NoZWNrZWQ/dGhpcy5fd2lkdGgrYjpiKSk7dGhpcy50cmFuc2xhdGUzZCh0aGlzLl94KyJweCIsMCwwLHRoaXMuJC50b2dnbGVCdXR0b24pO3RoaXMuX3VzZXJBY3RpdmF0ZSh0aGlzLl94PnRoaXMuX3dpZHRoLzIpfSxfdHJhY2tFbmQ6ZnVuY3Rpb24oKXt0aGlzLiQudG9nZ2xlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIik7dGhpcy50cmFuc2Zvcm0oIiIsdGhpcy4kLnRvZ2dsZUJ1dHRvbil9LF9jcmVhdGVSaXBwbGU6ZnVuY3Rpb24oKXt0aGlzLl9yaXBwbGVDb250YWluZXI9dGhpcy4kLnRvZ2dsZUJ1dHRvbjt2YXIgYj1Qb2x5bWVyLlBhcGVyUmlwcGxlQmVoYXZpb3IuX2NyZWF0ZVJpcHBsZSgpOwpiLmlkPSJpbmsiO2Iuc2V0QXR0cmlidXRlKCJyZWNlbnRlcnMiLCIiKTtiLmNsYXNzTGlzdC5hZGQoImNpcmNsZSIsInRvZ2dsZS1pbmsiKTtyZXR1cm4gYn19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC90Zi1ncmFwaC1taW5pbWFwLmh0bWwuanMKUG9seW1lcih7aXM6InRmLWdyYXBoLW1pbmltYXAiLGluaXQ6ZnVuY3Rpb24oYixkLGYsaCxrKXtyZXR1cm4gbmV3IHRmLnNjZW5lLk1pbmltYXAoYixkLGYsdGhpcyxoLGspfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoL3RmLWdyYXBoLXNjZW5lLmh0bWwuanMKUG9seW1lcih7aXM6InRmLWdyYXBoLXNjZW5lIixwcm9wZXJ0aWVzOntyZW5kZXJIaWVyYXJjaHk6T2JqZWN0LG5hbWU6U3RyaW5nLGNvbG9yQnk6U3RyaW5nLHRyYWNlSW5wdXRzOkJvb2xlYW4sX2hhc1JlbmRlckhpZXJhcmNoeUJlZW5GaXRPbmNlOkJvb2xlYW4sX2lzQXR0YWNoZWQ6Qm9vbGVhbixfem9vbTpPYmplY3QsaGlnaGxpZ2h0ZWROb2RlOnt0eXBlOlN0cmluZyxvYnNlcnZlcjoiX2hpZ2hsaWdodGVkTm9kZUNoYW5nZWQifSxzZWxlY3RlZE5vZGU6e3R5cGU6U3RyaW5nLG9ic2VydmVyOiJfc2VsZWN0ZWROb2RlQ2hhbmdlZCJ9LGhhbmRsZUVkZ2VTZWxlY3RlZDpPYmplY3QsX3pvb21lZDp7dHlwZTpCb29sZWFuLG9ic2VydmVyOiJfb25ab29tQ2hhbmdlZCIsdmFsdWU6ITF9LF96b29tU3RhcnRDb29yZHM6e3R5cGU6T2JqZWN0LHZhbHVlOm51bGx9LF96b29tVHJhbnNmb3JtOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSxfbWF4Wm9vbURpc3RhbmNlRm9yQ2xpY2s6e3R5cGU6TnVtYmVyLAp2YWx1ZToyMH0sdGVtcGxhdGVJbmRleDpGdW5jdGlvbixtaW5pbWFwOk9iamVjdCxfbm9kZUdyb3VwSW5kZXg6e3R5cGU6T2JqZWN0LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue319fSxfYW5ub3RhdGlvbkdyb3VwSW5kZXg6e3R5cGU6T2JqZWN0LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue319fSxfZWRnZUdyb3VwSW5kZXg6e3R5cGU6T2JqZWN0LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue319fSxtYXhNZXRhbm9kZUxhYmVsTGVuZ3RoRm9udFNpemU6e3R5cGU6TnVtYmVyLHZhbHVlOjl9LG1pbk1ldGFub2RlTGFiZWxMZW5ndGhGb250U2l6ZTp7dHlwZTpOdW1iZXIsdmFsdWU6Nn0sbWF4TWV0YW5vZGVMYWJlbExlbmd0aExhcmdlRm9udDp7dHlwZTpOdW1iZXIsdmFsdWU6MTF9LG1heE1ldGFub2RlTGFiZWxMZW5ndGg6e3R5cGU6TnVtYmVyLHZhbHVlOjE4fSxwcm9ncmVzczpPYmplY3Qsbm9kZUNvbnRleHRNZW51SXRlbXM6QXJyYXksbm9kZU5hbWVzVG9IZWFsdGhQaWxsczpPYmplY3QsCmhlYWx0aFBpbGxTdGVwSW5kZXg6TnVtYmVyfSxvYnNlcnZlcnM6WyJfY29sb3JCeUNoYW5nZWQoY29sb3JCeSkiLCJfcmVuZGVySGllcmFyY2h5Q2hhbmdlZChyZW5kZXJIaWVyYXJjaHkpIiwiX2FuaW1hdGVBbmRGaXQoX2lzQXR0YWNoZWQsIHJlbmRlckhpZXJhcmNoeSkiLCJfdXBkYXRlSGVhbHRoUGlsbHMobm9kZU5hbWVzVG9IZWFsdGhQaWxscywgaGVhbHRoUGlsbFN0ZXBJbmRleCkiLCJfdXBkYXRlSW5wdXRUcmFjZSh0cmFjZUlucHV0cywgc2VsZWN0ZWROb2RlKSJdLGdldE5vZGU6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMucmVuZGVySGllcmFyY2h5LmdldFJlbmRlck5vZGVCeU5hbWUoYil9LGlzTm9kZUV4cGFuZGVkOmZ1bmN0aW9uKGIpe3JldHVybiBiLmV4cGFuZGVkfSxzZXROb2RlRXhwYW5kZWQ6ZnVuY3Rpb24oKXt0aGlzLl9idWlsZCh0aGlzLnJlbmRlckhpZXJhcmNoeSk7dGhpcy5fdXBkYXRlTGFiZWxzKCF0aGlzLl96b29tZWQpfSxwYW5Ub05vZGUoYil7dGYuZ3JhcGguc2NlbmUucGFuVG9Ob2RlKGIsCnRoaXMuJC5zdmcsdGhpcy4kLnJvb3QsdGhpcy5fem9vbSkmJih0aGlzLl96b29tZWQ9ITApfSxnZXRHcmFwaFN2Z1Jvb3QoKXtyZXR1cm4gdGhpcy4kLnN2Z30sZ2V0Q29udGV4dE1lbnUoKXtyZXR1cm4gdGhpcy4kLmNvbnRleHRNZW51fSxfcmVzZXRTdGF0ZTpmdW5jdGlvbigpe3RoaXMuX25vZGVHcm91cEluZGV4PXt9O3RoaXMuX2Fubm90YXRpb25Hcm91cEluZGV4PXt9O3RoaXMuX2VkZ2VHcm91cEluZGV4PXt9O3RoaXMuX3VwZGF0ZUxhYmVscyghMSk7ZDMuc2VsZWN0KHRoaXMuJC5zdmcpLnNlbGVjdCgiI3Jvb3QiKS5zZWxlY3RBbGwoIioiKS5yZW1vdmUoKTt0Zi5ncmFwaC5zY2VuZS5ub2RlLnJlbW92ZUdyYWRpZW50RGVmaW5pdGlvbnModGhpcy4kLnN2Zyl9LF9idWlsZDpmdW5jdGlvbihiKXt0aGlzLnRlbXBsYXRlSW5kZXg9Yi5oaWVyYXJjaHkuZ2V0VGVtcGxhdGVJbmRleCgpO3RmLmdyYXBoLnV0aWwudGltZSgidGYtZ3JhcGgtc2NlbmUgKGxheW91dCk6IixmdW5jdGlvbigpe3RmLmdyYXBoLmxheW91dC5sYXlvdXRTY2VuZShiLnJvb3QsCnRoaXMpfS5iaW5kKHRoaXMpKTt0Zi5ncmFwaC51dGlsLnRpbWUoInRmLWdyYXBoLXNjZW5lIChidWlsZCBzY2VuZSk6IixmdW5jdGlvbigpe3RmLmdyYXBoLnNjZW5lLmJ1aWxkR3JvdXAoZDMuc2VsZWN0KHRoaXMuJC5yb290KSxiLnJvb3QsdGhpcyk7dGYuZ3JhcGguc2NlbmUuYWRkR3JhcGhDbGlja0xpc3RlbmVyKHRoaXMuJC5zdmcsdGhpcyk7dGhpcy5fdXBkYXRlSW5wdXRUcmFjZSgpfS5iaW5kKHRoaXMpKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlSGVhbHRoUGlsbHModGhpcy5ub2RlTmFtZXNUb0hlYWx0aFBpbGxzLHRoaXMuaGVhbHRoUGlsbFN0ZXBJbmRleCk7dGhpcy5taW5pbWFwLnVwZGF0ZSgpfS5iaW5kKHRoaXMpLHRmLmdyYXBoLmxheW91dC5QQVJBTVMuYW5pbWF0aW9uLmR1cmF0aW9uKX0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLl96b29tPWQzLnpvb20oKS5vbigiZW5kIixmdW5jdGlvbigpe3RoaXMuX3pvb21TdGFydENvb3JkcyYmKE1hdGguc3FydChNYXRoLnBvdyh0aGlzLl96b29tU3RhcnRDb29yZHMueC0KdGhpcy5fem9vbVRyYW5zZm9ybS54LDIpK01hdGgucG93KHRoaXMuX3pvb21TdGFydENvb3Jkcy55LXRoaXMuX3pvb21UcmFuc2Zvcm0ueSwyKSk8dGhpcy5fbWF4Wm9vbURpc3RhbmNlRm9yQ2xpY2s/dGhpcy5fZmlyZUVuYWJsZUNsaWNrKCk6c2V0VGltZW91dCh0aGlzLl9maXJlRW5hYmxlQ2xpY2suYmluZCh0aGlzKSw1MCkpO3RoaXMuX3pvb21TdGFydENvb3Jkcz1udWxsfS5iaW5kKHRoaXMpKS5vbigiem9vbSIsZnVuY3Rpb24oKXt0aGlzLl96b29tVHJhbnNmb3JtPWQzLmV2ZW50LnRyYW5zZm9ybTt0aGlzLl96b29tU3RhcnRDb29yZHN8fCh0aGlzLl96b29tU3RhcnRDb29yZHM9dGhpcy5fem9vbVRyYW5zZm9ybSx0aGlzLmZpcmUoImRpc2FibGUtY2xpY2siKSk7dGhpcy5fem9vbWVkPSEwO2QzLnNlbGVjdCh0aGlzLiQucm9vdCkuYXR0cigidHJhbnNmb3JtIixkMy5ldmVudC50cmFuc2Zvcm0pO3RoaXMubWluaW1hcC56b29tKGQzLmV2ZW50LnRyYW5zZm9ybSl9LmJpbmQodGhpcykpOwpkMy5zZWxlY3QodGhpcy4kLnN2ZykuY2FsbCh0aGlzLl96b29tKS5vbigiZGJsY2xpY2suem9vbSIsbnVsbCk7ZDMuc2VsZWN0KHdpbmRvdykub24oInJlc2l6ZSIsZnVuY3Rpb24oKXt0aGlzLm1pbmltYXAuem9vbSgpfS5iaW5kKHRoaXMpKTt0aGlzLm1pbmltYXA9dGhpcy4kLm1pbmltYXAuaW5pdCh0aGlzLiQuc3ZnLHRoaXMuJC5yb290LHRoaXMuX3pvb20sdGYuZ3JhcGgubGF5b3V0LlBBUkFNUy5taW5pbWFwLnNpemUsdGYuZ3JhcGgubGF5b3V0LlBBUkFNUy5zdWJzY2VuZS5tZXRhLmxhYmVsSGVpZ2h0KX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLnNldCgiX2lzQXR0YWNoZWQiLCEwKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLnNldCgiX2lzQXR0YWNoZWQiLCExKX0sX3JlbmRlckhpZXJhcmNoeUNoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5faGFzUmVuZGVySGllcmFyY2h5QmVlbkZpdE9uY2U9ITE7dGhpcy5fcmVzZXRTdGF0ZSgpO3RoaXMuX2J1aWxkKGIpfSxfYW5pbWF0ZUFuZEZpdDpmdW5jdGlvbihiKXshdGhpcy5faGFzUmVuZGVySGllcmFyY2h5QmVlbkZpdE9uY2UmJgpiJiZzZXRUaW1lb3V0KHRoaXMuZml0LmJpbmQodGhpcyksdGYuZ3JhcGgubGF5b3V0LlBBUkFNUy5hbmltYXRpb24uZHVyYXRpb24pfSxfdXBkYXRlTGFiZWxzOmZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMuJCQoIi50aXRsZSIpLGY9ZC5zdHlsZSxoPXRoaXMuJCQoIi5hdXhUaXRsZSIpLGs9aC5zdHlsZSxyPXRoaXMuJCQoIi5mdW5jdGlvbkxpYnJhcnlUaXRsZSIpLnN0eWxlO2NvbnN0IGw9ZDMuc2VsZWN0KHRoaXMuJC5zdmcpO3ZhciBwPWwuc2VsZWN0KCIuIit0Zi5ncmFwaC5zY2VuZS5DbGFzcy5TY2VuZS5HUk9VUCsiXHgzZS4iK3RmLmdyYXBoLnNjZW5lLkNsYXNzLlNjZW5lLkNPUkUpLm5vZGUoKTtpZihiJiZwJiZ0aGlzLnByb2dyZXNzJiYxMDA9PT10aGlzLnByb2dyZXNzLnZhbHVlKXtiPWwuc2VsZWN0KCIuIit0Zi5ncmFwaC5zY2VuZS5DbGFzcy5TY2VuZS5HUk9VUCsiXHgzZS4iK3RmLmdyYXBoLnNjZW5lLkNsYXNzLlNjZW5lLklORVhUUkFDVCkubm9kZSgpfHxsLnNlbGVjdCgiLiIrCnRmLmdyYXBoLnNjZW5lLkNsYXNzLlNjZW5lLkdST1VQKyJceDNlLiIrdGYuZ3JhcGguc2NlbmUuQ2xhc3MuU2NlbmUuT1VURVhUUkFDVCkubm9kZSgpO3ZhciBtPXAuZ2V0Q1RNKCkuZTtwPWI/Yi5nZXRDVE0oKS5lOm51bGw7Zi5kaXNwbGF5PSJpbmxpbmUiO2YubGVmdD1tKyJweCI7bnVsbCE9PXAmJnAhPT1tPyhrLmRpc3BsYXk9ImlubGluZSIscD1NYXRoLm1heChtK2QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgscCksay5sZWZ0PXArInB4Iik6ay5kaXNwbGF5PSJub25lIjtkPShkPWwuc2VsZWN0KCIuIit0Zi5ncmFwaC5zY2VuZS5DbGFzcy5TY2VuZS5HUk9VUCsiXHgzZS4iK3RmLmdyYXBoLnNjZW5lLkNsYXNzLlNjZW5lLkZVTkNUSU9OX0xJQlJBUlkpLm5vZGUoKSk/ZC5nZXRDVE0oKS5lOm51bGw7bnVsbCE9PWQmJmQhPT1wPyhyLmRpc3BsYXk9ImlubGluZSIsZD1NYXRoLm1heChwK2guZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsZCksci5sZWZ0PWQrInB4Iik6CnIuZGlzcGxheT0ibm9uZSJ9ZWxzZSBmLmRpc3BsYXk9Im5vbmUiLGsuZGlzcGxheT0ibm9uZSIsci5kaXNwbGF5PSJub25lIn0sX2NvbG9yQnlDaGFuZ2VkOmZ1bmN0aW9uKCl7bnVsbCE9dGhpcy5yZW5kZXJIaWVyYXJjaHkmJihfLmVhY2godGhpcy5fbm9kZUdyb3VwSW5kZXgsKGIsZCk9Pnt0aGlzLl91cGRhdGVOb2RlU3RhdGUoZCl9KSx0aGlzLm1pbmltYXAudXBkYXRlKCkpfSxmaXQ6ZnVuY3Rpb24oKXt0aGlzLl9oYXNSZW5kZXJIaWVyYXJjaHlCZWVuRml0T25jZT0hMDt0Zi5ncmFwaC5zY2VuZS5maXQodGhpcy4kLnN2Zyx0aGlzLiQucm9vdCx0aGlzLl96b29tLGZ1bmN0aW9uKCl7dGhpcy5fem9vbWVkPSExfS5iaW5kKHRoaXMpKX0saXNOb2RlU2VsZWN0ZWQ6ZnVuY3Rpb24oYil7cmV0dXJuIGI9PT10aGlzLnNlbGVjdGVkTm9kZX0saXNOb2RlSGlnaGxpZ2h0ZWQ6ZnVuY3Rpb24oYil7cmV0dXJuIGI9PT10aGlzLmhpZ2hsaWdodGVkTm9kZX0sYWRkQW5ub3RhdGlvbkdyb3VwOmZ1bmN0aW9uKGIsCmQsZil7Yj1iLm5vZGUubmFtZTt0aGlzLl9hbm5vdGF0aW9uR3JvdXBJbmRleFtiXT10aGlzLl9hbm5vdGF0aW9uR3JvdXBJbmRleFtiXXx8e307dGhpcy5fYW5ub3RhdGlvbkdyb3VwSW5kZXhbYl1bZC5ub2RlLm5hbWVdPWZ9LGdldEFubm90YXRpb25Hcm91cHNJbmRleDpmdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5fYW5ub3RhdGlvbkdyb3VwSW5kZXhbYl19LHJlbW92ZUFubm90YXRpb25Hcm91cDpmdW5jdGlvbihiLGQpe2RlbGV0ZSB0aGlzLl9hbm5vdGF0aW9uR3JvdXBJbmRleFtiLm5vZGUubmFtZV1bZC5ub2RlLm5hbWVdfSxhZGROb2RlR3JvdXA6ZnVuY3Rpb24oYixkKXt0aGlzLl9ub2RlR3JvdXBJbmRleFtiXT1kfSxnZXROb2RlR3JvdXA6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuX25vZGVHcm91cEluZGV4W2JdfSxyZW1vdmVOb2RlR3JvdXA6ZnVuY3Rpb24oYil7ZGVsZXRlIHRoaXMuX25vZGVHcm91cEluZGV4W2JdfSxhZGRFZGdlR3JvdXA6ZnVuY3Rpb24oYixkKXt0aGlzLl9lZGdlR3JvdXBJbmRleFtiXT0KZH0sZ2V0RWRnZUdyb3VwOmZ1bmN0aW9uKGIpe3JldHVybiB0aGlzLl9lZGdlR3JvdXBJbmRleFtiXX0sX3VwZGF0ZUhlYWx0aFBpbGxzOmZ1bmN0aW9uKGIsZCl7dGYuZ3JhcGguc2NlbmUuYWRkSGVhbHRoUGlsbHModGhpcy4kLnN2ZyxiLGQpfSxfdXBkYXRlTm9kZVN0YXRlOmZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMuZ2V0Tm9kZShiKSxmPXRoaXMuZ2V0Tm9kZUdyb3VwKGIpO2YmJnRmLmdyYXBoLnNjZW5lLm5vZGUuc3R5bGl6ZShmLGQsdGhpcyk7ZC5ub2RlLnR5cGU9PT10Zi5ncmFwaC5Ob2RlVHlwZS5NRVRBJiZkLm5vZGUuYXNzb2NpYXRlZEZ1bmN0aW9uJiYhZC5pc0xpYnJhcnlGdW5jdGlvbiYmKGY9ZDMuc2VsZWN0KCIuIit0Zi5ncmFwaC5zY2VuZS5DbGFzcy5TY2VuZS5HUk9VUCsiXHgzZS4iK3RmLmdyYXBoLnNjZW5lLkNsYXNzLlNjZW5lLkZVTkNUSU9OX0xJQlJBUlkrJyBnW2RhdGEtbmFtZVx4M2QiJysodGYuZ3JhcGguRlVOQ1RJT05fTElCUkFSWV9OT0RFX1BSRUZJWCsKZC5ub2RlLmFzc29jaWF0ZWRGdW5jdGlvbikrJyJdJyksdGYuZ3JhcGguc2NlbmUubm9kZS5zdHlsaXplKGYsZCx0aGlzKSk7Xy5lYWNoKHRoaXMuZ2V0QW5ub3RhdGlvbkdyb3Vwc0luZGV4KGIpLGg9Pnt0Zi5ncmFwaC5zY2VuZS5ub2RlLnN0eWxpemUoaCxkLHRoaXMsdGYuZ3JhcGguc2NlbmUuQ2xhc3MuQW5ub3RhdGlvbi5OT0RFKX0pfSxfc2VsZWN0ZWROb2RlQ2hhbmdlZDpmdW5jdGlvbihiLGQpe2lmKGIhPT1kJiYoZCYmdGhpcy5fdXBkYXRlTm9kZVN0YXRlKGQpLGIpKXt0aGlzLm1pbmltYXAudXBkYXRlKCk7ZD10aGlzLnJlbmRlckhpZXJhcmNoeS5oaWVyYXJjaHkubm9kZShiKTtmb3IodmFyIGY9W107bnVsbCE9ZC5wYXJlbnROb2RlJiZkLnBhcmVudE5vZGUubmFtZSE9dGYuZ3JhcGguUk9PVF9OQU1FOylkPWQucGFyZW50Tm9kZSxmLnB1c2goZC5uYW1lKTt2YXIgaDtfLmZvckVhY2hSaWdodChmLGs9Pnt0aGlzLnJlbmRlckhpZXJhcmNoeS5idWlsZFN1YmhpZXJhcmNoeShrKTsKaz10aGlzLnJlbmRlckhpZXJhcmNoeS5nZXRSZW5kZXJOb2RlQnlOYW1lKGspO2subm9kZS5pc0dyb3VwTm9kZSYmIWsuZXhwYW5kZWQmJihrLmV4cGFuZGVkPSEwLGh8fChoPWspKX0pO2gmJih0aGlzLnNldE5vZGVFeHBhbmRlZChoKSx0aGlzLl96b29tZWQ9ITApO2ImJnRoaXMuX3VwZGF0ZU5vZGVTdGF0ZShiKTtzZXRUaW1lb3V0KCgpPT57dGhpcy5wYW5Ub05vZGUoYil9LHRmLmdyYXBoLmxheW91dC5QQVJBTVMuYW5pbWF0aW9uLmR1cmF0aW9uKX19LF9oaWdobGlnaHRlZE5vZGVDaGFuZ2VkOmZ1bmN0aW9uKGIsZCl7YiE9PWQmJihiJiZ0aGlzLl91cGRhdGVOb2RlU3RhdGUoYiksZCYmdGhpcy5fdXBkYXRlTm9kZVN0YXRlKGQpKX0sX29uWm9vbUNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVMYWJlbHMoIXRoaXMuX3pvb21lZCl9LF9maXJlRW5hYmxlQ2xpY2s6ZnVuY3Rpb24oKXt0aGlzLmZpcmUoImVuYWJsZS1jbGljayIpfSxfdXBkYXRlSW5wdXRUcmFjZTpmdW5jdGlvbigpe3RmLmdyYXBoLnNjZW5lLm5vZGUudXBkYXRlSW5wdXRUcmFjZSh0aGlzLmdldEdyYXBoU3ZnUm9vdCgpLAp0aGlzLnJlbmRlckhpZXJhcmNoeSx0aGlzLnNlbGVjdGVkTm9kZSx0aGlzLnRyYWNlSW5wdXRzKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC90Zi1ncmFwaC5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1ncmFwaCIscHJvcGVydGllczp7Z3JhcGhIaWVyYXJjaHk6e3R5cGU6T2JqZWN0LG5vdGlmeTohMCxvYnNlcnZlcjoiX2dyYXBoQ2hhbmdlZCJ9LGJhc2ljR3JhcGg6T2JqZWN0LHN0YXRzOk9iamVjdCxkZXZpY2VzRm9yU3RhdHM6T2JqZWN0LGhpZXJhcmNoeVBhcmFtczpPYmplY3QscHJvZ3Jlc3M6e3R5cGU6T2JqZWN0LG5vdGlmeTohMH0sdGl0bGU6U3RyaW5nLHNlbGVjdGVkTm9kZTp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSxzZWxlY3RlZEVkZ2U6e3R5cGU6T2JqZWN0LG5vdGlmeTohMH0sX2xhc3RTZWxlY3RlZEVkZ2VHcm91cDpPYmplY3QsaGlnaGxpZ2h0ZWROb2RlOnt0eXBlOlN0cmluZyxub3RpZnk6ITB9LGNvbG9yQnk6U3RyaW5nLGNvbG9yQnlQYXJhbXM6e3R5cGU6T2JqZWN0LG5vdGlmeTohMCxyZWFkT25seTohMH0scmVuZGVySGllcmFyY2h5Ont0eXBlOk9iamVjdCxyZWFkT25seTohMCxub3RpZnk6ITB9LHRyYWNlSW5wdXRzOkJvb2xlYW4sCm5vZGVDb250ZXh0TWVudUl0ZW1zOkFycmF5LF9yZW5kZXJEZXB0aDp7dHlwZTpOdW1iZXIsdmFsdWU6MX0sX2FsbG93R3JhcGhTZWxlY3Q6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMH0sbm9kZU5hbWVzVG9IZWFsdGhQaWxsczpPYmplY3QsaGVhbHRoUGlsbFN0ZXBJbmRleDpOdW1iZXIsZWRnZVdpZHRoRnVuY3Rpb246e3R5cGU6T2JqZWN0LHZhbHVlOiIifSxoYW5kbGVOb2RlU2VsZWN0ZWQ6e3R5cGU6T2JqZWN0LHZhbHVlOiIifSxlZGdlTGFiZWxGdW5jdGlvbjp7dHlwZTpPYmplY3QsdmFsdWU6IiJ9LGhhbmRsZUVkZ2VTZWxlY3RlZDp7dHlwZTpPYmplY3QsdmFsdWU6IiJ9fSxvYnNlcnZlcnM6WyJfc3RhdHNDaGFuZ2VkKHN0YXRzLCBkZXZpY2VzRm9yU3RhdHMpIiwiX2J1aWxkTmV3UmVuZGVySGllcmFyY2h5KGdyYXBoSGllcmFyY2h5LCBlZGdlV2lkdGhGdW5jdGlvbiwgaGFuZGxlTm9kZVNlbGVjdGVkLCBlZGdlTGFiZWxGdW5jdGlvbiwgaGFuZGxlRWRnZVNlbGVjdGVkKSIsIl9zZWxlY3RlZE5vZGVDaGFuZ2VkKHNlbGVjdGVkTm9kZSkiLAoiX3NlbGVjdGVkRWRnZUNoYW5nZWQoc2VsZWN0ZWRFZGdlKSJdLHBhblRvTm9kZShiKXt0aGlzLiQkKCJ0Zi1ncmFwaC1zY2VuZSIpLnBhblRvTm9kZShiKX0sX2J1aWxkTmV3UmVuZGVySGllcmFyY2h5KGIpe2ImJnRoaXMuX2J1aWxkUmVuZGVySGllcmFyY2h5KGIpfSxfc3RhdHNDaGFuZ2VkOmZ1bmN0aW9uKGIsZCl7dGhpcy5ncmFwaEhpZXJhcmNoeSYmKGImJmQmJih0Zi5ncmFwaC5qb2luU3RhdHNJbmZvV2l0aEdyYXBoKHRoaXMuYmFzaWNHcmFwaCxiLGQpLHRmLmdyYXBoLmhpZXJhcmNoeS5qb2luQW5kQWdncmVnYXRlU3RhdHModGhpcy5ncmFwaEhpZXJhcmNoeSkpLHRoaXMuX2J1aWxkUmVuZGVySGllcmFyY2h5KHRoaXMuZ3JhcGhIaWVyYXJjaHkpKX0sX2J1aWxkUmVuZGVySGllcmFyY2h5OmZ1bmN0aW9uKGIpe3RmLmdyYXBoLnV0aWwudGltZSgibmV3IHRmLmdyYXBoLnJlbmRlci5IaWVyYXJjaHkiLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZChoKXtyZXR1cm57bWluVmFsdWU6aC5kb21haW4oKVswXSwKbWF4VmFsdWU6aC5kb21haW4oKVsxXSxzdGFydENvbG9yOmgucmFuZ2UoKVswXSxlbmRDb2xvcjpoLnJhbmdlKClbMV19fWlmKGIucm9vdC50eXBlPT09dGYuZ3JhcGguTm9kZVR5cGUuTUVUQSl7dmFyIGY9bmV3IHRmLmdyYXBoLnJlbmRlci5SZW5kZXJHcmFwaEluZm8oYiwhIXRoaXMuc3RhdHMpO2YuZWRnZUxhYmVsRnVuY3Rpb249dGhpcy5lZGdlTGFiZWxGdW5jdGlvbjtmLmVkZ2VXaWR0aEZ1bmN0aW9uPXRoaXMuZWRnZVdpZHRoRnVuY3Rpb247dGhpcy5fc2V0Q29sb3JCeVBhcmFtcyh7Y29tcHV0ZV90aW1lOmQoZi5jb21wdXRlVGltZVNjYWxlKSxtZW1vcnk6ZChmLm1lbW9yeVVzYWdlU2NhbGUpLGRldmljZTpfLm1hcChmLmRldmljZUNvbG9yTWFwLmRvbWFpbigpLGZ1bmN0aW9uKGgpe3JldHVybntkZXZpY2U6aCxjb2xvcjpmLmRldmljZUNvbG9yTWFwKGgpfX0pLHhsYV9jbHVzdGVyOl8ubWFwKGYueGxhQ2x1c3RlckNvbG9yTWFwLmRvbWFpbigpLGZ1bmN0aW9uKGgpe3JldHVybnt4bGFfY2x1c3RlcjpoLApjb2xvcjpmLnhsYUNsdXN0ZXJDb2xvck1hcChoKX19KX0pO3RoaXMuX3NldFJlbmRlckhpZXJhcmNoeShmKTt0aGlzLmFzeW5jKGZ1bmN0aW9uKCl7dGhpcy5maXJlKCJyZW5kZXJlZCIpfSl9fS5iaW5kKHRoaXMpKX0sX2dldFZpc2libGU6ZnVuY3Rpb24oYil7cmV0dXJuIGI/dGhpcy5yZW5kZXJIaWVyYXJjaHkuZ2V0TmVhcmVzdFZpc2libGVBbmNlc3RvcihiKTpifSxsaXN0ZW5lcnM6eyJncmFwaC1zZWxlY3QiOiJfZ3JhcGhTZWxlY3RlZCIsImRpc2FibGUtY2xpY2siOiJfZGlzYWJsZUNsaWNrIiwiZW5hYmxlLWNsaWNrIjoiX2VuYWJsZUNsaWNrIiwibm9kZS10b2dnbGUtZXhwYW5kIjoiX25vZGVUb2dnbGVFeHBhbmQiLCJub2RlLXNlbGVjdCI6Il9ub2RlU2VsZWN0ZWQiLCJub2RlLWhpZ2hsaWdodCI6Il9ub2RlSGlnaGxpZ2h0ZWQiLCJub2RlLXVuaGlnaGxpZ2h0IjoiX25vZGVVbmhpZ2hsaWdodGVkIiwibm9kZS10b2dnbGUtZXh0cmFjdCI6Il9ub2RlVG9nZ2xlRXh0cmFjdCIsCiJub2RlLXRvZ2dsZS1zZXJpZXNncm91cCI6Il9ub2RlVG9nZ2xlU2VyaWVzR3JvdXAiLCJlZGdlLXNlbGVjdCI6Il9lZGdlU2VsZWN0ZWQiLCJhbm5vdGF0aW9uLXNlbGVjdCI6Il9ub2RlU2VsZWN0ZWQiLCJhbm5vdGF0aW9uLWhpZ2hsaWdodCI6Il9ub2RlSGlnaGxpZ2h0ZWQiLCJhbm5vdGF0aW9uLXVuaGlnaGxpZ2h0IjoiX25vZGVVbmhpZ2hsaWdodGVkIn0sZml0OmZ1bmN0aW9uKCl7dGhpcy4kLnNjZW5lLmZpdCgpfSxfZ3JhcGhDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5maXJlKCJncmFwaC1zZWxlY3QiKX0sX2dyYXBoU2VsZWN0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9hbGxvd0dyYXBoU2VsZWN0JiYodGhpcy5zZXQoInNlbGVjdGVkTm9kZSIsbnVsbCksdGhpcy5zZXQoInNlbGVjdGVkRWRnZSIsbnVsbCkpO3RoaXMuX2FsbG93R3JhcGhTZWxlY3Q9ITB9LF9kaXNhYmxlQ2xpY2s6ZnVuY3Rpb24oKXt0aGlzLl9hbGxvd0dyYXBoU2VsZWN0PSExfSxfZW5hYmxlQ2xpY2s6ZnVuY3Rpb24oKXt0aGlzLl9hbGxvd0dyYXBoU2VsZWN0PQohMH0sX3NlbGVjdGVkTm9kZUNoYW5nZWQoYil7dGhpcy5oYW5kbGVOb2RlU2VsZWN0ZWQmJnRoaXMuaGFuZGxlTm9kZVNlbGVjdGVkKGIpfSxfc2VsZWN0ZWRFZGdlQ2hhbmdlZChiKXt0aGlzLl9kZXNlbGVjdFByZXZpb3VzRWRnZSgpO2ImJih0aGlzLl9sYXN0U2VsZWN0ZWRFZGdlR3JvdXAuY2xhc3NlZCh0Zi5ncmFwaC5zY2VuZS5DbGFzcy5FZGdlLlNFTEVDVEVELCEwKSx0aGlzLl91cGRhdGVNYXJrZXJPZlNlbGVjdGVkRWRnZShiKSk7dGhpcy5oYW5kbGVFZGdlU2VsZWN0ZWQmJnRoaXMuaGFuZGxlRWRnZVNlbGVjdGVkKGIpfSxfbm9kZVNlbGVjdGVkOmZ1bmN0aW9uKGIpe3RoaXMuX2FsbG93R3JhcGhTZWxlY3QmJnRoaXMuc2V0KCJzZWxlY3RlZE5vZGUiLGIuZGV0YWlsLm5hbWUpO3RoaXMuX2FsbG93R3JhcGhTZWxlY3Q9ITB9LF9lZGdlU2VsZWN0ZWQoYil7dGhpcy5fYWxsb3dHcmFwaFNlbGVjdCYmKHRoaXMuc2V0KCJfbGFzdFNlbGVjdGVkRWRnZUdyb3VwIixiLmRldGFpbC5lZGdlR3JvdXApLAp0aGlzLnNldCgic2VsZWN0ZWRFZGdlIixiLmRldGFpbC5lZGdlRGF0YSkpO3RoaXMuX2FsbG93R3JhcGhTZWxlY3Q9ITB9LF9ub2RlSGlnaGxpZ2h0ZWQ6ZnVuY3Rpb24oYil7dGhpcy5zZXQoImhpZ2hsaWdodGVkTm9kZSIsYi5kZXRhaWwubmFtZSl9LF9ub2RlVW5oaWdobGlnaHRlZDpmdW5jdGlvbigpe3RoaXMuc2V0KCJoaWdobGlnaHRlZE5vZGUiLG51bGwpfSxfbm9kZVRvZ2dsZUV4cGFuZDpmdW5jdGlvbihiKXt0aGlzLl9ub2RlU2VsZWN0ZWQoYik7Yj1iLmRldGFpbC5uYW1lO3ZhciBkPXRoaXMucmVuZGVySGllcmFyY2h5LmdldFJlbmRlck5vZGVCeU5hbWUoYik7ZC5ub2RlLnR5cGUhPT10Zi5ncmFwaC5Ob2RlVHlwZS5PUCYmKHRoaXMucmVuZGVySGllcmFyY2h5LmJ1aWxkU3ViaGllcmFyY2h5KGIpLGQuZXhwYW5kZWQ9IWQuZXhwYW5kZWQsdGhpcy5hc3luYyhmdW5jdGlvbigpe3RoaXMuJC5zY2VuZS5zZXROb2RlRXhwYW5kZWQoZCl9LDc1KSl9LF9ub2RlVG9nZ2xlRXh0cmFjdDpmdW5jdGlvbihiKXt0aGlzLm5vZGVUb2dnbGVFeHRyYWN0KGIuZGV0YWlsLm5hbWUpfSwKbm9kZVRvZ2dsZUV4dHJhY3Q6ZnVuY3Rpb24oYil7Yj10aGlzLnJlbmRlckhpZXJhcmNoeS5nZXRSZW5kZXJOb2RlQnlOYW1lKGIpO2Iubm9kZS5pbmNsdWRlPWIubm9kZS5pbmNsdWRlPT10Zi5ncmFwaC5JbmNsdXNpb25UeXBlLklOQ0xVREU/dGYuZ3JhcGguSW5jbHVzaW9uVHlwZS5FWENMVURFOmIubm9kZS5pbmNsdWRlPT10Zi5ncmFwaC5JbmNsdXNpb25UeXBlLkVYQ0xVREU/dGYuZ3JhcGguSW5jbHVzaW9uVHlwZS5JTkNMVURFOnRoaXMucmVuZGVySGllcmFyY2h5LmlzTm9kZUF1eGlsaWFyeShiKT90Zi5ncmFwaC5JbmNsdXNpb25UeXBlLklOQ0xVREU6dGYuZ3JhcGguSW5jbHVzaW9uVHlwZS5FWENMVURFO3RoaXMuX2J1aWxkUmVuZGVySGllcmFyY2h5KHRoaXMuZ3JhcGhIaWVyYXJjaHkpfSxfbm9kZVRvZ2dsZVNlcmllc0dyb3VwOmZ1bmN0aW9uKGIpe3RoaXMubm9kZVRvZ2dsZVNlcmllc0dyb3VwKGIuZGV0YWlsLm5hbWUpfSxub2RlVG9nZ2xlU2VyaWVzR3JvdXA6ZnVuY3Rpb24oYil7dGYuZ3JhcGgudG9nZ2xlTm9kZVNlcmllc0dyb3VwKHRoaXMuaGllcmFyY2h5UGFyYW1zLnNlcmllc01hcCwKYik7dGhpcy5zZXQoInByb2dyZXNzIix7dmFsdWU6MCxtc2c6IiJ9KTt0Zi5ncmFwaC5oaWVyYXJjaHkuYnVpbGQodGhpcy5iYXNpY0dyYXBoLHRoaXMuaGllcmFyY2h5UGFyYW1zLHRmLmdyYXBoLnV0aWwuZ2V0U3VidGFza1RyYWNrZXIodGYuZ3JhcGgudXRpbC5nZXRUcmFja2VyKHRoaXMpLDEwMCwiTmFtZXNwYWNlIGhpZXJhcmNoeSIpKS50aGVuKGZ1bmN0aW9uKGQpe3RoaXMuc2V0KCJncmFwaEhpZXJhcmNoeSIsZCk7dGhpcy5fYnVpbGRSZW5kZXJIaWVyYXJjaHkodGhpcy5ncmFwaEhpZXJhcmNoeSl9LmJpbmQodGhpcykpfSxfZGVzZWxlY3RQcmV2aW91c0VkZ2UoKXtkMy5zZWxlY3QoIi4iK3RmLmdyYXBoLnNjZW5lLkNsYXNzLkVkZ2UuU0VMRUNURUQpLmNsYXNzZWQodGYuZ3JhcGguc2NlbmUuQ2xhc3MuRWRnZS5TRUxFQ1RFRCwhMSkuZWFjaChiPT57aWYoYi5sYWJlbCl7Y29uc3QgZD1kMy5zZWxlY3QodGhpcykuc2VsZWN0QWxsKCJwYXRoLmVkZ2VsaW5lIik7Yi5sYWJlbC5zdGFydE1hcmtlcklkJiYKZC5zdHlsZSgibWFya2VyLXN0YXJ0IixgdXJsKCMke2IubGFiZWwuc3RhcnRNYXJrZXJJZH0pYCk7Yi5sYWJlbC5lbmRNYXJrZXJJZCYmZC5zdHlsZSgibWFya2VyLWVuZCIsYHVybCgjJHtiLmxhYmVsLmVuZE1hcmtlcklkfSlgKX19KX0sX3VwZGF0ZU1hcmtlck9mU2VsZWN0ZWRFZGdlKGIpe2lmKGIubGFiZWwpe3ZhciBkPWIubGFiZWwuc3RhcnRNYXJrZXJJZHx8Yi5sYWJlbC5lbmRNYXJrZXJJZDtpZihkKXtjb25zdCBmPWQucmVwbGFjZSgiZGF0YWZsb3ctIiwic2VsZWN0ZWQtIik7bGV0IGg9dGhpcy4kJCgiIyIrZik7aHx8KGQ9dGhpcy4kLnNjZW5lLnF1ZXJ5U2VsZWN0b3IoIiMiK2QpLGg9ZC5jbG9uZU5vZGUoITApLGguc2V0QXR0cmlidXRlKCJpZCIsZiksaC5jbGFzc0xpc3QuYWRkKCJzZWxlY3RlZC1hcnJvd2hlYWQiKSxkLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoaCkpO2I9Yi5sYWJlbC5zdGFydE1hcmtlcklkPyJtYXJrZXItc3RhcnQiOiJtYXJrZXItZW5kIjt0aGlzLl9sYXN0U2VsZWN0ZWRFZGdlR3JvdXAuc2VsZWN0QWxsKCJwYXRoLmVkZ2VsaW5lIikuc3R5bGUoYiwKYHVybCgjJHtmfSlgKX19fSxub3Q6ZnVuY3Rpb24oYil7cmV0dXJuIWJ9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZGVidWdnZXItZGFzaGJvYXJkL3RmLWRlYnVnZ2VyLWNvbnRpbnVlLWRpYWxvZy5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1kZWJ1Z2dlci1jb250aW51ZS1kaWFsb2ciLHByb3BlcnRpZXM6e2NvbnRpbnVlTnVtOnt0eXBlOk51bWJlcix2YWx1ZTo1fSxzZXNzaW9uUnVuR286RnVuY3Rpb24sdGVuc29yQ29uZGl0aW9uR286RnVuY3Rpb24sZm9yY2VDb250aW51YXRpb25TdG9wOkZ1bmN0aW9uLF9jb250aW51ZUJ1dHRvblRleHQ6e3R5cGU6U3RyaW5nLHZhbHVlOiJDb250aW51ZS4uLiJ9LF9jb250aW51ZUJ1dHRvbkNvbnRpbnVlVGV4dDp7dHlwZTpTdHJpbmcsdmFsdWU6IkNvbnRpbnVlLi4uIixyZWFkb25seTohMH0sX2NvbnRpbnVlQnV0dG9uU3RvcFRleHQ6e3R5cGU6U3RyaW5nLHZhbHVlOiJTdG9wIENvbnRpbnVhdGlvbiIscmVhZG9ubHk6ITB9LF9zZWxlY3RlZFRlbnNvckNvbmRpdGlvbjpTdHJpbmcsX3RlbnNvckNvbmRpdGlvblJlZlZhbHVlOnt0eXBlOk51bWJlcix2YWx1ZTowLG5vdGlmeTohMH0sX2lzUmVmVmFsdWVJbnB1dEhpZGRlbjp7dHlwZTpCb29sZWFuLHZhbHVlOiEwLApub3RpZnk6ITB9fSxvYnNlcnZlcnM6WyJfb25TZWxlY3RlZFRlbnNvckNvbmRpdGlvbkNoYW5nZWQoX3NlbGVjdGVkVGVuc29yQ29uZGl0aW9uKSJdLG5vdGlmeUNvbnRpbnVhdGlvblN0b3AoKXt0aGlzLnVwZGF0ZUNvbnRpbnVlQnV0dG9uVGV4dCghMSl9LF9vcGVuRGlhbG9nKCl7dGhpcy4kLmNvbnRpbnVlRGlhbG9nLm9wZW4oKX0sX2Nsb3NlRGlhbG9nKCl7dGhpcy4kLmNvbnRpbnVlRGlhbG9nLmNsb3NlKCl9LF9jb250aW51ZUJ1dHRvbkNhbGxiYWNrKCl7dGhpcy5fY29udGludWVCdXR0b25UZXh0PT09dGhpcy5fY29udGludWVCdXR0b25TdG9wVGV4dD90aGlzLmZvcmNlQ29udGludWF0aW9uU3RvcCgpOnRoaXMuX29wZW5EaWFsb2coKX0sdXBkYXRlQ29udGludWVCdXR0b25UZXh0KGIpe3RoaXMuc2V0KCJfY29udGludWVCdXR0b25UZXh0IixiP3RoaXMuX2NvbnRpbnVlQnV0dG9uU3RvcFRleHQ6dGhpcy5fY29udGludWVCdXR0b25Db250aW51ZVRleHQpfSxfc2Vzc2lvblJ1bkdvQnV0dG9uQ2FsbGJhY2soKXswPAp0aGlzLmNvbnRpbnVlTnVtPyh0aGlzLnNlc3Npb25SdW5Hbyh0aGlzLmNvbnRpbnVlTnVtKSx0aGlzLnVwZGF0ZUNvbnRpbnVlQnV0dG9uVGV4dCghMCksdGhpcy5fY2xvc2VEaWFsb2coKSk6dGhpcy5zZXQoImNvbnRpbnVlTnVtIiwxKX0sX3RlbnNvckNvbnRpbnVlR29CdXR0b25DYWxsYmFjaygpe2lmKG51bGwhPXRoaXMuX3NlbGVjdGVkVGVuc29yQ29uZGl0aW9uKXt2YXIgYj1LaC50ZW5zb3JDb25kaXRpb25EZXNjcmlwdGlvbjJLZXkodGhpcy5fc2VsZWN0ZWRUZW5zb3JDb25kaXRpb24pO251bGw9PWImJmNvbnNvbGUuZXJyb3IoIkludmFsaWQgVGVuc29yIENvbmRpdGlvbiBuYW1lOiIrdGhpcy5fc2VsZWN0ZWRUZW5zb3JDb25kaXRpb24pO3ZhciBkPU51bWJlcih0aGlzLl90ZW5zb3JDb25kaXRpb25SZWZWYWx1ZSk7TnVtYmVyLmlzRmluaXRlKGQpPyh0aGlzLnRlbnNvckNvbmRpdGlvbkdvKGIsZCksdGhpcy51cGRhdGVDb250aW51ZUJ1dHRvblRleHQoITApLHRoaXMuX2Nsb3NlRGlhbG9nKCkpOgp0aGlzLnNldCgiX3RlbnNvckNvbmRpdGlvblJlZlZhbHVlIiwwKX19LF9vblNlbGVjdGVkVGVuc29yQ29uZGl0aW9uQ2hhbmdlZChiKXtiPUtoLnRlbnNvckNvbmRpdGlvbkRlc2NyaXB0aW9uMktleShiKTt0aGlzLnNldCgiX2lzUmVmVmFsdWVJbnB1dEhpZGRlbiIsLTEhPT1bIklORl9PUl9OQU4iLCJJTkYiLCJOQU4iXS5pbmRleE9mKGIpKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1kZWJ1Z2dlci1kYXNoYm9hcmQvdGYtZGVidWdnZXItaW5pdGlhbC1kaWFsb2cuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtZGVidWdnZXItaW5pdGlhbC1kaWFsb2ciLHByb3BlcnRpZXM6e190aXRsZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sX2N1c3RvbU1lc3NhZ2U6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LF9oYXNDdXN0b21NZXNzYWdlOnt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlSGFzQ3VzdG9tTWVzc2FnZShfY3VzdG9tTWVzc2FnZSkifSxfaG9zdDp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sX3BvcnQ6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LF9vcGVuOnt0eXBlOkJvb2xlYW59LF9oaWRkZW46e3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVIaWRkZW4oX29wZW4pIixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9fSxvcGVuRGlhbG9nKGIsZCl7dGhpcy5zZXQoIl90aXRsZSIsIkRlYnVnZ2VyIGlzIHdhaXRpbmcgZm9yIFNlc3Npb24ucnVuKCkgY29ubmVjdGlvbnMuLi4iKTt0aGlzLnNldCgiX2N1c3RvbU1lc3NhZ2UiLG51bGwpO3RoaXMuJC5kaWFsb2cub3BlbigpOwpudWxsIT1iJiZudWxsIT1kJiYodGhpcy5zZXQoIl9ob3N0IixiKSx0aGlzLnNldCgiX3BvcnQiLGQpKX0sY2xvc2VEaWFsb2coKXt0aGlzLiQuZGlhbG9nLmNsb3NlKCl9LG9wZW5EaXNhYmxlZERpYWxvZygpe3RoaXMuc2V0KCJfdGl0bGUiLCJEZWJ1Z2dlciBpcyBub3QgZW5hYmxlZCBpbiB0aGlzIFRlbnNvckJvYXJkIGluc3RhbmNlIik7dGhpcy5zZXQoIl9jdXN0b21NZXNzYWdlIiwiVG8gZW5hYmxlIHRoZSBkZWJ1Z2dlciBpbiBUZW5zb3JCb2FyZCwgdXNlIHRoZSBmbGFnOiAtLWRlYnVnZ2VyX3BvcnQgXHgzY3BvcnRfbnVtYmVyXHgzZSIpO3RoaXMuJC5kaWFsb2cub3BlbigpfSxfY29tcHV0ZUhpZGRlbihiKXtyZXR1cm4hYn0sX2NvbXB1dGVIYXNDdXN0b21NZXNzYWdlKGIpe3JldHVybiFfLmlzRW1wdHkoYil9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZGVidWdnZXItZGFzaGJvYXJkL3RmLWRlYnVnZ2VyLXJlc2l6ZXIuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtZGVidWdnZXItcmVzaXplciIscHJvcGVydGllczp7Y3VycmVudExlbmd0aDp7dHlwZTpOdW1iZXIsbm90aWZ5OiEwfSxtaW5MZW5ndGg6TnVtYmVyLG1heExlbmd0aDpOdW1iZXIsaXNIb3Jpem9udGFsOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxfcmVzaXplcklkZW50aWZpZXI6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMCxyZWFkT25seTohMCxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LF9pc1ZlcnRpY2FsOnt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlSXNWZXJ0aWNhbChpc0hvcml6b250YWwpIixyZWZsZWN0VG9BdHRyaWJ1dGU6ITAscmVhZE9ubHk6ITB9LF9kcmFnU3RhcnRQb3NpdGlvbjpOdW1iZXIsX2RyYWdTdGFydExlbmd0aDpOdW1iZXIsX3ByZXZpb3VzTW91c2VNb3ZlQ2FsbGJhY2s6T2JqZWN0LF9wcmV2aW91c01vdXNlVXBDYWxsYmFjazpPYmplY3R9LGxpc3RlbmVyczp7bW91c2Vkb3duOiJfaGFuZGxlTW91c2VEb3duIn0sCl9oYW5kbGVNb3VzZURvd24oYil7Yi5wcmV2ZW50RGVmYXVsdCgpO3RoaXMuX2VuZERyYWcoKTt0aGlzLl9wcmV2aW91c01vdXNlTW92ZUNhbGxiYWNrPWQ9PntkLnByZXZlbnREZWZhdWx0KCk7ZD10aGlzLl9kcmFnU3RhcnRMZW5ndGgrKHRoaXMuX2dldFBvc2l0aW9uUmVsYXRpdmVUb1ZpZXdwb3J0KGQpLXRoaXMuX2RyYWdTdGFydFBvc2l0aW9uKTtkPU1hdGgubWF4KGQsdGhpcy5taW5MZW5ndGgpO2Q9TWF0aC5taW4oZCx0aGlzLm1heExlbmd0aCk7dGhpcy5zZXQoImN1cnJlbnRMZW5ndGgiLGQpfTt0aGlzLl9wcmV2aW91c01vdXNlVXBDYWxsYmFjaz1kPT57ZC5wcmV2ZW50RGVmYXVsdCgpO3RoaXMuX2VuZERyYWcoKX07dGhpcy5zZXQoIl9kcmFnU3RhcnRQb3NpdGlvbiIsdGhpcy5fZ2V0UG9zaXRpb25SZWxhdGl2ZVRvVmlld3BvcnQoYikpO3RoaXMuc2V0KCJfZHJhZ1N0YXJ0TGVuZ3RoIix0aGlzLmN1cnJlbnRMZW5ndGgpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIiwKdGhpcy5fcHJldmlvdXNNb3VzZVVwQ2FsbGJhY2ssITEpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX3ByZXZpb3VzTW91c2VNb3ZlQ2FsbGJhY2ssITEpfSxfZ2V0UG9zaXRpb25SZWxhdGl2ZVRvVmlld3BvcnQoYil7cmV0dXJuIHRoaXMuaXNIb3Jpem9udGFsP2IuY2xpZW50WTpiLmNsaWVudFh9LF9lbmREcmFnKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fcHJldmlvdXNNb3VzZU1vdmVDYWxsYmFjaywhMSk7dGhpcy5fcHJldmlvdXNNb3VzZU1vdmVDYWxsYmFjaz1udWxsO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9wcmV2aW91c01vdXNlVXBDYWxsYmFjaywhMSk7dGhpcy5fcHJldmlvdXNNb3VzZVVwQ2FsbGJhY2s9bnVsbH0sX2NvbXB1dGVJc1ZlcnRpY2FsKGIpe3JldHVybiFifX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRlYnVnZ2VyLWRhc2hib2FyZC9zZWxlY3Rpb24tdHJlZS1ub2RlLmpzCihmdW5jdGlvbihiKXtiLk5PREVfTkFNRV9TRVBBUkFUT1I9Ii8iO2IuREVWSUNFX05BTUVfUEFUVEVSTj0vXlwvam9iOltBLVphLXowLTlfXStcL3JlcGxpY2E6WzAtOV9dK1wvdGFzazpbMC05XStcL2RldmljZTpbQS1aYS16MC05X10rOlswLTldKy87bGV0IGQ7KGZ1bmN0aW9uKGspe2tbay5FTVBUWT0wXT0iRU1QVFkiO2tbay5DSEVDS0VEPTFdPSJDSEVDS0VEIjtrW2suUEFSVElBTD0yXT0iUEFSVElBTCJ9KShkPWIuQ2hlY2tib3hTdGF0ZXx8KGIuQ2hlY2tib3hTdGF0ZT17fSkpO2Iuc3BsaXROb2RlTmFtZT1mdW5jdGlvbihrKXtsZXQgcj1bXTtjb25zdCBsPWsubWF0Y2goYi5ERVZJQ0VfTkFNRV9QQVRURVJOKTtudWxsIT1sJiYoci5wdXNoKGxbMF0pLCIvIiE9PWtbbFswXS5sZW5ndGhdJiZjb25zb2xlLmVycm9yKCdObyBzbGFzaCAoIi8iKSBhZnRlciBkZXZpY2UgbmFtZSBpbiBub2RlIG5hbWU6JyxrKSxrPWsuc2xpY2UobFswXS5sZW5ndGgrMSkpO3JldHVybiByLmNvbmNhdChrLnNwbGl0KGIuTk9ERV9OQU1FX1NFUEFSQVRPUikpfTsKYi5nZXRDbGVhbk5vZGVOYW1lPWZ1bmN0aW9uKGspe2xldCByPWs7Y29uc3QgbD1rLm1hdGNoKGIuREVWSUNFX05BTUVfUEFUVEVSTik7bnVsbCE9bD8oci5sZW5ndGg+bFswXS5sZW5ndGgmJiIvIiE9cltsWzBdLmxlbmd0aF0mJmNvbnNvbGUuZXJyb3IoJ05vIHNsYXNoICgiLyIpIGFmdGVyIGRldmljZSBuYW1lIGluIG5vZGUgbmFtZTonLGspLHI9ci5zbGljZShsWzBdLmxlbmd0aCsxKSk6Ii8iPT09clswXSYmKHI9ci5zbGljZSgxKSk7ci5pbmRleE9mKCIpIik9PT1yLmxlbmd0aC0xJiYocj1yLnNsaWNlKDAsci5pbmRleE9mKCIvKCIpKSk7cmV0dXJuIHJ9O2Iuc29ydEFuZEJhc2VFeHBhbmREZWJ1Z1dhdGNoZXM9ZnVuY3Rpb24oayl7ay5zb3J0KChsLHApPT5sLm5vZGVfbmFtZTxwLm5vZGVfbmFtZT8tMTpsLm5vZGVfbmFtZT5wLm5vZGVfbmFtZT8xOmwub3V0cHV0X3Nsb3QtcC5vdXRwdXRfc2xvdCk7Zm9yKGxldCBsPTA7bDxrLmxlbmd0aDsrK2wpe3ZhciByPWtbbF0ubm9kZV9uYW1lKwoiLyI7bGV0IHA9ITE7Zm9yKGxldCBtPWwrMTttPGsubGVuZ3RoOysrbSlpZigwPT09a1ttXS5ub2RlX25hbWUuaW5kZXhPZihyKSl7cD0hMDticmVha31wJiYocj1rW2xdLm5vZGVfbmFtZS5zcGxpdCgiLyIpLGtbbF0ubm9kZV9uYW1lKz0iLygiK3Jbci5sZW5ndGgtMV0rIikiKX19O2IucmVtb3ZlTm9kZU5hbWVCYXNlRXhwYW5zaW9uPWZ1bmN0aW9uKGspe3JldHVybiBrLmVuZHNXaXRoKCIpIik/ay5zbGljZSgwLGsubGFzdEluZGV4T2YoIi8oIikpOmt9O2IuYXNzZW1ibGVEZXZpY2VBbmROb2RlTmFtZXM9ZnVuY3Rpb24oayl7Y29uc3Qgcj1bbnVsbCxudWxsXTtpZihrWzBdLm1hdGNoKGIuREVWSUNFX05BTUVfUEFUVEVSTikpe2xldCBsPWtbMF07Ii8iPT09bFtsLmxlbmd0aC0xXSYmKGw9bC5zbGljZSgwLGwubGVuZ3RoLTEpKTtyWzBdPWw7clsxXT1rLnNsaWNlKDEpLmpvaW4oIi8iKX1lbHNlIHJbMV09ay5qb2luKCIvIik7cmV0dXJuIHJ9O2xldCBmOyhmdW5jdGlvbihrKXtrW2suTm9kZU5hbWU9CjBdPSJOb2RlTmFtZSI7a1trLk9wVHlwZT0xXT0iT3BUeXBlIn0pKGY9Yi5EZWJ1Z1dhdGNoRmlsdGVyTW9kZXx8KGIuRGVidWdXYXRjaEZpbHRlck1vZGU9e30pKTtiLmZpbHRlckRlYnVnV2F0Y2hlcz1mdW5jdGlvbihrLHIsbCl7aWYocj09PWYuTm9kZU5hbWUpcmV0dXJuIGsuZmlsdGVyKHA9PnAubm9kZV9uYW1lLm1hdGNoKGwpKTtpZihyPT09Zi5PcFR5cGUpcmV0dXJuIGsuZmlsdGVyKHA9PnAub3BfdHlwZS5tYXRjaChsKSl9O2NsYXNzIGh7Y29uc3RydWN0b3IoayxyLGwscCl7dGhpcy5kZWJ1Z1dhdGNoQ2hhbmdlPXI7dGhpcy5kZWJ1Z1dhdGNoPXA7dGhpcy5uYW1lPWs7dGhpcy5kZWJ1Z1dhdGNoPXA7dGhpcy5jaGVja2JveFN0YXRlPWQuRU1QVFk7dGhpcy5wYXJlbnQ9bDt0aGlzLmNoaWxkcmVuPXt9O3RoaXMuY2hlY2tib3g9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicGFwZXItY2hlY2tib3giKTt0aGlzLmNoZWNrYm94LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKCk9Pgp7dGhpcy5faGFuZGxlQ2hhbmdlKCl9LCExKX1faGFuZGxlQ2hhbmdlKCl7aWYodGhpcy5hdm9pZFByb3BhZ2F0aW9uKXRoaXMuZGVidWdXYXRjaCYmdGhpcy5kZWJ1Z1dhdGNoQ2hhbmdlKHRoaXMuZGVidWdXYXRjaCx0aGlzLmlzQ2hlY2tib3hDaGVja2VkKCkpO2Vsc2UgaWYodGhpcy5kZWJ1Z1dhdGNoKXRoaXMuc2V0Q2hlY2tib3hTdGF0ZSh0aGlzLmlzQ2hlY2tib3hDaGVja2VkKCk/ZC5DSEVDS0VEOmQuRU1QVFksITApLHRoaXMuaXNDaGVja2JveENoZWNrZWQoKT90aGlzLnNldE5vZGVzQWJvdmVUb0NoZWNrZWQoKTp0aGlzLnNldE5vZGVzQWJvdmVUb0VtcHR5KCksdGhpcy5kZWJ1Z1dhdGNoQ2hhbmdlKHRoaXMuZGVidWdXYXRjaCx0aGlzLmlzQ2hlY2tib3hDaGVja2VkKCkpO2Vsc2UgaWYodGhpcy5zZXRDaGVja2JveFN0YXRlKHRoaXMuaXNDaGVja2JveENoZWNrZWQoKT9kLkNIRUNLRUQ6ZC5FTVBUWSwhMCksdGhpcy5pc0NoZWNrYm94Q2hlY2tlZCgpKXtjb25zdCByPV8udmFsdWVzKHRoaXMuY2hpbGRyZW4pOwpmb3IoO3IubGVuZ3RoOyl7dmFyIGs9ci5wb3AoKTtfLmZvckVhY2goay5jaGlsZHJlbixsPT5yLnB1c2gobCkpO2suc2V0Q2hlY2tib3hTdGF0ZShkLkNIRUNLRUQsITApfXRoaXMuc2V0Tm9kZXNBYm92ZVRvQ2hlY2tlZCgpfWVsc2V7Y29uc3Qgcj1fLnZhbHVlcyh0aGlzLmNoaWxkcmVuKTtmb3IoO3IubGVuZ3RoOylrPXIucG9wKCksXy5mb3JFYWNoKGsuY2hpbGRyZW4sbD0+ci5wdXNoKGwpKSxrLnNldENoZWNrYm94U3RhdGUoZC5FTVBUWSwhMCk7dGhpcy5zZXROb2Rlc0Fib3ZlVG9FbXB0eSgpfX1pc0xlYWYoKXtyZXR1cm4hIXRoaXMuZGVidWdXYXRjaH1zZXRUb0FsbENoZWNrZWRFeHRlcm5hbGx5KCl7dGhpcy5zZXRDaGVja2JveFN0YXRlKGQuQ0hFQ0tFRCk7dGhpcy5faGFuZGxlQ2hhbmdlKCl9c2V0Q2hlY2tib3hTdGF0ZShrLHIpe3RoaXMuYXZvaWRQcm9wYWdhdGlvbj1yO3RoaXMuY2hlY2tib3hTdGF0ZT1rO3RoaXMuY2hlY2tib3guY2xhc3NMaXN0LnRvZ2dsZSgicGFydGlhbC1jaGVja2JveCIsCms9PT1kLlBBUlRJQUwpO2s9PT1kLkNIRUNLRUQ/dGhpcy5jaGVja2JveC5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCJjaGVja2VkIik6dGhpcy5jaGVja2JveC5yZW1vdmVBdHRyaWJ1dGUoImNoZWNrZWQiKTt0aGlzLmF2b2lkUHJvcGFnYXRpb249ITF9aXNDaGVja2JveENoZWNrZWQoKXtyZXR1cm4gdGhpcy5jaGVja2JveC5oYXNBdHRyaWJ1dGUoImNoZWNrZWQiKX1zZXROb2Rlc0Fib3ZlVG9DaGVja2VkKCl7bGV0IGs9dGhpcy5wYXJlbnQscj0hMTtmb3IoO2s7KXI/ay5zZXRDaGVja2JveFN0YXRlKGQuUEFSVElBTCwhMCk6KHI9LTEhPT1fLmZpbmRJbmRleChfLnZhbHVlcyhrLmNoaWxkcmVuKSxsPT5sLmNoZWNrYm94U3RhdGUhPT1kLkNIRUNLRUQpLGsuc2V0Q2hlY2tib3hTdGF0ZShyP2QuUEFSVElBTDpkLkNIRUNLRUQsITApKSxrPWsucGFyZW50fXNldE5vZGVzQWJvdmVUb0VtcHR5KCl7bGV0IGs9dGhpcy5wYXJlbnQscj0hMTtmb3IoO2s7KXI/ay5zZXRDaGVja2JveFN0YXRlKGQuUEFSVElBTCwKITApOihyPS0xIT09Xy5maW5kSW5kZXgoXy52YWx1ZXMoay5jaGlsZHJlbiksbD0+bC5jaGVja2JveFN0YXRlIT09ZC5FTVBUWSksay5zZXRDaGVja2JveFN0YXRlKHI/ZC5QQVJUSUFMOmQuRU1QVFksITApKSxrPWsucGFyZW50fXNldExldmVsRG9tKGspe3RoaXMubGV2ZWxEb209a319Yi5TZWxlY3Rpb25UcmVlTm9kZT1ofSkoS2h8fChLaD17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRlYnVnZ2VyLWRhc2hib2FyZC90Zi1vcC1zZWxlY3Rvci5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1vcC1zZWxlY3RvciIscHJvcGVydGllczp7ZGVidWdXYXRjaGVzOkFycmF5LGRlYnVnV2F0Y2hDaGFuZ2U6T2JqZWN0LG5vZGVDbGlja2VkOkZ1bmN0aW9uLGZvcmNlRXhwYW5kQW5kQ2hlY2tOb2RlTmFtZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sZm9yY2VFeHBhbmROb2RlTmFtZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sX3NlbGVjdGVkRGVidWdXYXRjaE1hcHBpbmc6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT4oe30pfSxfbGV2ZWxOYW1lMkNvbnRhaW5lcjp7dHlwZTpPYmplY3QsdmFsdWU6bnVsbH0sX2xldmVsTmFtZTJOb2RlOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSxfd2F0Y2hIaWVyYXJjaHk6e3R5cGU6T2JqZWN0LGNvbXB1dGVkOiJfY29tcHV0ZVdhdGNoSGllcmFyY2h5KGRlYnVnV2F0Y2hlcywgZGVidWdXYXRjaENoYW5nZSwgX2ZpbHRlck1vZGUsIF9maWx0ZXJJbnB1dCkifSxfZmlsdGVyTW9kZTp7dHlwZTpTdHJpbmcsdmFsdWU6Ik5vZGUgTmFtZSIsCm5vdGlmeTohMH0sX2ZpbHRlcklucHV0Ont0eXBlOlN0cmluZyx2YWx1ZToiIixub3RpZnk6ITB9LF9pc0xvYWRpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX2hpZ2hsaWdodGVkTGV2ZWxEb206e3R5cGU6T2JqZWN0LHZhbHVlOm51bGx9fSxvYnNlcnZlcnM6WyJfcmVuZGVySGllcmFyY2h5V2l0aFRpbWVvdXQoX3dhdGNoSGllcmFyY2h5LCBkZWJ1Z1dhdGNoQ2hhbmdlKSIsIl9oYW5kbGVGb3JjZU5vZGVFeHBhbmRBbmRDaGVjayhmb3JjZUV4cGFuZEFuZENoZWNrTm9kZU5hbWUpIiwiX2hhbmRsZUZvcmNlTm9kZUV4cGFuZChmb3JjZUV4cGFuZE5vZGVOYW1lKSJdLF9jb21wdXRlV2F0Y2hIaWVyYXJjaHkoYixkLGYsaCl7aD1oLnRyaW0oKTtsZXQgaz1iO251bGwhPWYmJjA8aC5sZW5ndGgmJihrPUtoLmZpbHRlckRlYnVnV2F0Y2hlcyhiLEtoLkRlYnVnV2F0Y2hGaWx0ZXJNb2RlW2YucmVwbGFjZSgvXHMvZywiIildLG5ldyBSZWdFeHAoaCkpKTtjb25zdCByPW5ldyBLaC5TZWxlY3Rpb25UcmVlTm9kZSgiIiwKZCk7ci5pc1Jvb3Q9ITA7Xy5mb3JFYWNoKGssbD0+e2NvbnN0IHA9S2guc3BsaXROb2RlTmFtZShsLmRldmljZV9uYW1lKyIvIitsLm5vZGVfbmFtZSk7bGV0IG09cjtfLmZvckVhY2gocCwobixxKT0+e3E9PT1wLmxlbmd0aC0xPyhxPW5ldyBLaC5TZWxlY3Rpb25UcmVlTm9kZShuLGQsbSxsKSxtLmNoaWxkcmVuW25dPXEpOihtLmNoaWxkcmVuW25dfHwobS5jaGlsZHJlbltuXT1uZXcgS2guU2VsZWN0aW9uVHJlZU5vZGUobixkLG0pKSxtPW0uY2hpbGRyZW5bbl0pfSl9KTtyZXR1cm4gcn0sX2NsZWFyU2VsZWN0b3JIaWVyYXJjaHkoKXtjb25zdCBiPXRoaXMuJCQoIiNzZWxlY3Rvci1oaWVyYXJjaHkiKTtmb3IoO2IuZmlyc3RDaGlsZDspYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQpfSxfcmVuZGVySGllcmFyY2h5V2l0aFRpbWVvdXQoYixkLGYsaCl7dGhpcy5faXNMb2FkaW5nfHwodGhpcy5zZXQoIl9pc0xvYWRpbmciLCEwKSx0aGlzLl9jbGVhclNlbGVjdG9ySGllcmFyY2h5KCksCnNldFRpbWVvdXQoKCk9Pnt0aGlzLl9yZW5kZXJIaWVyYXJjaHkoYixkLGYsaCl9LDEwKSl9LF9yZW5kZXJIaWVyYXJjaHkoYixkKXt0aGlzLnNldCgiX2xldmVsTmFtZTJDb250YWluZXIiLHt9KTt0aGlzLnNldCgiX2xldmVsTmFtZTJOb2RlIix7fSk7Yj10aGlzLl9yZW5kZXJMZXZlbChudWxsLG51bGwsYixkKTtQb2x5bWVyLmRvbSh0aGlzLiQkKCIjc2VsZWN0b3ItaGllcmFyY2h5IikpLmFwcGVuZENoaWxkKGIpO3RoaXMuc2V0KCJfaXNMb2FkaW5nIiwhMSl9LF9yZW5kZXJMZXZlbChiLGQsZixoKXtjb25zdCBrPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO251bGwhPWImJmsuc2V0QXR0cmlidXRlKCJsZXZlbC1uYW1lIixiKTtsZXQgcjtyPW51bGw9PWQ/YjpkKyIvIitiO1BvbHltZXIuZG9tKGspLmNsYXNzTGlzdC5hZGQoImxldmVsLWNvbnRhaW5lciIpO2NvbnN0IGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaXJvbi1jb2xsYXBzZSIpO2lmKGIpe3RoaXMuX2xldmVsTmFtZTJDb250YWluZXJbcl09Cmw7bC5yZW1vdmVBdHRyaWJ1dGUoIm9wZW5lZCIpO1BvbHltZXIuZG9tKGspLmNsYXNzTGlzdC5hZGQoImluZGVudGVkLWxldmVsLWNvbnRhaW5lciIpO2Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7UG9seW1lci5kb20oZCkuY2xhc3NMaXN0LmFkZCgibGV2ZWwtdGl0bGUiKTtjb25zdCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInBhcGVyLWljb24tYnV0dG9uIik7UG9seW1lci5kb20obikuY2xhc3NMaXN0LmFkZCgibm9kZS1leHBhbmQtYnV0dG9uIik7Y29uc3QgcT0oKT0+e24uc2V0QXR0cmlidXRlKCJpY29uIixsLmhhc0F0dHJpYnV0ZSgib3BlbmVkIik/ImV4cGFuZC1sZXNzIjoiZXhwYW5kLW1vcmUiKX07bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntsLmhhc0F0dHJpYnV0ZSgib3BlbmVkIik/bC5yZW1vdmVBdHRyaWJ1dGUoIm9wZW5lZCIpOmwuc2V0QXR0cmlidXRlKCJvcGVuZWQiLCEwKTtxKCl9LCExKTtxKCk7UG9seW1lci5kb20oZCkuYXBwZW5kQ2hpbGQobik7ClBvbHltZXIuZG9tKGQpLmFwcGVuZENoaWxkKGYuY2hlY2tib3gpO2Yuc2V0TGV2ZWxEb20oZCk7Y29uc3QgdT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7UG9seW1lci5kb20odSkuY2xhc3NMaXN0LmFkZCgibGV2ZWwtdGl0bGUtdGV4dCIpO3UudGV4dENvbnRlbnQ9YjtQb2x5bWVyLmRvbShkKS5hcHBlbmRDaGlsZCh1KTtQb2x5bWVyLmRvbShrKS5hcHBlbmRDaGlsZChkKTsoYi5tYXRjaChLaC5ERVZJQ0VfTkFNRV9QQVRURVJOKXx8MT09PU9iamVjdC5rZXlzKGYuY2hpbGRyZW4pLmxlbmd0aCkmJmwuc2V0QXR0cmlidXRlKCJvcGVuZWQiLCEwKX1lbHNlIGwuc2V0QXR0cmlidXRlKCJvcGVuZWQiLCEwKTtjb25zdCBwPVtdLG09W107UG9seW1lci5kb20obCkuY2xhc3NMaXN0LmFkZCgiY29udGVudC1jb250YWluZXIiKTtfLmZvckVhY2goZi5jaGlsZHJlbiwobixxKT0+e2NvbnN0IHU9bi5kZWJ1Z1dhdGNoO3ZhciB3PXI7bnVsbD09ciYmKHc9IiIpO3crPSIvIitxOwp0aGlzLl9sZXZlbE5hbWUyTm9kZVt3XT1uO251bGwhPXRoaXMuX3NlbGVjdGVkRGVidWdXYXRjaE1hcHBpbmdbd10mJihuLnNldENoZWNrYm94U3RhdGUoS2guQ2hlY2tib3hTdGF0ZS5DSEVDS0VEKSxuLnNldE5vZGVzQWJvdmVUb0NoZWNrZWQoKSk7aWYodSl7dz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtQb2x5bWVyLmRvbSh3KS5jbGFzc0xpc3QuYWRkKCJvcC1kZXNjcmlwdGlvbiIpO24uY2hlY2tib3guYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix5PT57dGhpcy5faGFuZGxlTGVhZk5vZGVTZWxlY3RlZChoLHUseS50YXJnZXQuY2hlY2tlZCl9LCExKTtQb2x5bWVyLmRvbSh3KS5hcHBlbmRDaGlsZChuLmNoZWNrYm94KTtuLnNldExldmVsRG9tKHcpO3ZhciBBPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtBLnRleHRDb250ZW50PSJbIit1Lm9wX3R5cGUrIl0iO0Euc2V0QXR0cmlidXRlKCJjbGFzcyIsIm9wLXR5cGUiKTtQb2x5bWVyLmRvbSh3KS5hcHBlbmRDaGlsZChBKTsKQT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7QS50ZXh0Q29udGVudD1xO0Euc2V0QXR0cmlidXRlKCJjbGFzcyIsIm9wLXRpdGxlLWxlYWYiKTtBLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2NvbnN0IHk9dGhpcy5fZ2V0RGV2aWNlQW5kTm9kZU5hbWVzKHEsayk7dGhpcy5ub2RlQ2xpY2tlZCh5WzBdLHlbMV0pfSwhMSk7UG9seW1lci5kb20odykuYXBwZW5kQ2hpbGQoQSk7bS5wdXNoKHcpfWVsc2Ugbi5jaGVja2JveC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHk9Pnt0aGlzLl9oYW5kbGVNZXRhTm9kZUNoYW5nZShuLGgseS50YXJnZXQuY2hlY2tlZCl9KSxwLnB1c2godGhpcy5fcmVuZGVyTGV2ZWwocSxyLG4saCkpfSk7Yj1uPT57UG9seW1lci5kb20obCkuYXBwZW5kQ2hpbGQobil9O18uZm9yRWFjaChtLGIpO18uZm9yRWFjaChwLGIpO1BvbHltZXIuZG9tKGspLmFwcGVuZENoaWxkKGwpO3JldHVybiBrfSxfZ2V0TGVhZkRlYnVnV2F0Y2hlcyhiLGQpe2IuZGVidWdXYXRjaD8KZC5wdXNoKGIuZGVidWdXYXRjaCk6Xy5mb3JFYWNoKGIuY2hpbGRyZW4sZj0+e3RoaXMuX2dldExlYWZEZWJ1Z1dhdGNoZXMoZixkKX0pfSxfZ2V0RGV2aWNlQW5kTm9kZU5hbWVzKGIsZCl7Zm9yKGI9W2JdOzspe2NvbnN0IGY9ZC5nZXRBdHRyaWJ1dGUoImxldmVsLW5hbWUiKTtpZihudWxsPT1mKWJyZWFrO2Vsc2UgYi5wdXNoKGYpO2Q9UG9seW1lci5kb20oZCkucGFyZW50Tm9kZS5wYXJlbnROb2RlfWIucmV2ZXJzZSgpO3JldHVybiBLaC5hc3NlbWJsZURldmljZUFuZE5vZGVOYW1lcyhiKX0sX2hhbmRsZU1ldGFOb2RlQ2hhbmdlKGIsZCxmKXtsZXQgaD1bXTt0aGlzLl9nZXRMZWFmRGVidWdXYXRjaGVzKGIsaCk7Xy5mb3JFYWNoKGgsaz0+e3RoaXMuX2hhbmRsZUxlYWZOb2RlU2VsZWN0ZWQoZCxrLGYpfSl9LF9oYW5kbGVMZWFmTm9kZVNlbGVjdGVkKGIsZCxmKXtjb25zdCBoPWQuZGV2aWNlX25hbWUrIi8iK2Qubm9kZV9uYW1lO2Y/dGhpcy5fc2VsZWN0ZWREZWJ1Z1dhdGNoTWFwcGluZ1toXT0KZDpkZWxldGUgdGhpcy5fc2VsZWN0ZWREZWJ1Z1dhdGNoTWFwcGluZ1toXTtiKGQsZil9LF9oYW5kbGVGb3JjZU5vZGUoYixkKXt0aGlzLnNldCgiX2ZpbHRlcklucHV0IiwiIik7c2V0VGltZW91dCgoKT0+e2lmKG51bGwhPWImJm51bGwhPXRoaXMuX2xldmVsTmFtZTJDb250YWluZXIpe3ZhciBmPUtoLnNwbGl0Tm9kZU5hbWUoYik7Zm9yKGxldCBrPTE7azw9Zi5sZW5ndGg7KytrKXt2YXIgaD1mLnNsaWNlKDAsaykuam9pbigiLyIpO2NvbnN0IHI9dGhpcy5fbGV2ZWxOYW1lMk5vZGVbaF07bnVsbCE9ciYmbnVsbCE9ci5sZXZlbERvbSYmci5sZXZlbERvbS5zY3JvbGxJbnRvVmlldyh7YmxvY2s6ImNlbnRlciIsYmVoYXZpb3VyOiJzbW9vdGgifSk7azxmLmxlbmd0aD9udWxsIT10aGlzLl9sZXZlbE5hbWUyQ29udGFpbmVyW2hdJiZ0aGlzLl9sZXZlbE5hbWUyQ29udGFpbmVyW2hdLnNldEF0dHJpYnV0ZSgib3BlbmVkIiwhMCk6KHIuZGVidWdXYXRjaHx8dGhpcy5faGFuZGxlTWV0YU5vZGVDaGFuZ2UociwKci5kZWJ1Z1dhdGNoQ2hhbmdlLCEwKSxkJiYoci5zZXRUb0FsbENoZWNrZWRFeHRlcm5hbGx5KCksKGg9ci5kZWJ1Z1dhdGNoKSYmbnVsbD09dGhpcy5fc2VsZWN0ZWREZWJ1Z1dhdGNoTWFwcGluZ1toLm5vZGVfbmFtZV0mJih0aGlzLl9zZWxlY3RlZERlYnVnV2F0Y2hNYXBwaW5nW2JdPWgpKSxudWxsIT10aGlzLl9oaWdobGlnaHRlZExldmVsRG9tJiZ0aGlzLl9oaWdobGlnaHRlZExldmVsRG9tLmNsYXNzTGlzdC5yZW1vdmUoImhpZ2hsaWdodGVkIiksci5sZXZlbERvbS5jbGFzc0xpc3QuYWRkKCJoaWdobGlnaHRlZCIpLHRoaXMuc2V0KCJfaGlnaGxpZ2h0ZWRMZXZlbERvbSIsci5sZXZlbERvbSkpfX19LDIwKX0sX2hhbmRsZUZvcmNlTm9kZUV4cGFuZEFuZENoZWNrKGIpe3RoaXMuX2hhbmRsZUZvcmNlTm9kZShiLCEwKX0sX2hhbmRsZUZvcmNlTm9kZUV4cGFuZChiKXt0aGlzLl9oYW5kbGVGb3JjZU5vZGUoYiwhMSl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZGVidWdnZXItZGFzaGJvYXJkL3RmLXNlc3Npb24tcnVucy12aWV3Lmh0bWwuanMKUG9seW1lcih7aXM6InRmLXNlc3Npb24tcnVucy12aWV3Iixwcm9wZXJ0aWVzOntsYXRlc3RTZXNzaW9uUnVuOk9iamVjdCxzZXNzaW9uUnVuS2V5VG9EZXZpY2VOYW1lczpPYmplY3Qsc29sZUFjdGl2ZTpCb29sZWFuLG5vZGVPclRlbnNvckNsaWNrZWQ6RnVuY3Rpb24sX3J1bktleTJDb3VudDp7dHlwZTpPYmplY3QsdmFsdWU6e319LF9ydW5LZXkyTnVtRGV2aWNlczp7dHlwZTpPYmplY3QsdmFsdWU6e319LF9hY3RpdmVSdW5LZXk6U3RyaW5nfSxvYnNlcnZlcnM6WyJyZW5kZXJMYXRlc3QobGF0ZXN0U2Vzc2lvblJ1bikiLCJzZXRTb2xlQWN0aXZlU3RhdHVzKHNvbGVBY3RpdmUpIl0scmVuZGVyTGF0ZXN0KGIpe2I9SlNPTi5zdHJpbmdpZnkoYik7dGhpcy5fcnVuS2V5MkNvdW50W2JdPXZvaWQgMD09PXRoaXMuX3J1bktleTJDb3VudFtiXT8xOnRoaXMuX3J1bktleTJDb3VudFtiXSsxO3ZvaWQgMD09PXRoaXMuX3J1bktleTJOdW1EZXZpY2VzW2JdJiYodGhpcy5fcnVuS2V5Mk51bURldmljZXNbYl09CjApO3RoaXMuX2FjdGl2ZVJ1bktleT1iO3RoaXMuX3JlbmRlclNlc3Npb25SdW5UYWJsZSgpfSx1cGRhdGVOdW1EZXZpY2VzKGIpe251bGwhPXRoaXMuX2FjdGl2ZVJ1bktleSYmKHRoaXMuX3J1bktleTJOdW1EZXZpY2VzW3RoaXMuX2FjdGl2ZVJ1bktleV09Yix0aGlzLl9yZW5kZXJTZXNzaW9uUnVuVGFibGUoKSl9LHNldFNvbGVBY3RpdmVTdGF0dXMoKXt0aGlzLl9yZW5kZXJTZXNzaW9uUnVuVGFibGUoKX0sX3JlbmRlclNlc3Npb25SdW5UYWJsZSgpe3RoaXMuX2NsZWFyVGFibGUoKTt0aGlzLl9yZW5kZXJIZWFkZXIoKTtsZXQgYjtmb3IoY29uc3QgZiBpbiB0aGlzLl9ydW5LZXkyQ291bnQpaWYodGhpcy5fcnVuS2V5MkNvdW50Lmhhc093blByb3BlcnR5KGYpKXt2YXIgZD1KU09OLnBhcnNlKGYpOyhkPXRoaXMuX3JlbmRlclJvdyhkLHRoaXMuX3J1bktleTJOdW1EZXZpY2VzW2ZdLHRoaXMuX3J1bktleTJDb3VudFtmXSx0aGlzLl9hY3RpdmVSdW5LZXk9PT1mLHRoaXMuc29sZUFjdGl2ZSkpJiYKKGI9ZCl9YiYmKFBvbHltZXIuZG9tKHRoaXMuJCQoIiNzZXNzaW9uLXJ1bnMtdGFibGUiKSkucGFyZW50Tm9kZS5wYXJlbnROb2RlLnNjcm9sbFRvcD1iLm9mZnNldFRvcCl9LF9jbGVhclRhYmxlKCl7Y29uc3QgYj10aGlzLiQkKCIjc2Vzc2lvbi1ydW5zLXRhYmxlIik7Zm9yKDtiLmZpcnN0Q2hpbGQ7KWIucmVtb3ZlQ2hpbGQoYi5maXJzdENoaWxkKX0sX3JlbmRlckhlYWRlcigpe2NvbnN0IGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidHIiKSxkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRoIik7ZC50ZXh0Q29udGVudD0iRmVlZHMiO2NvbnN0IGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGgiKTtmLnRleHRDb250ZW50PSJGZXRjaGVzIjtjb25zdCBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRoIik7aC50ZXh0Q29udGVudD0iVGFyZ2V0cyI7Y29uc3Qgaz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0aCIpO2sudGV4dENvbnRlbnQ9IiMoRGV2aWNlcykiO2NvbnN0IHI9CmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRoIik7ci50ZXh0Q29udGVudD0iQ291bnQiO2IuYXBwZW5kQ2hpbGQoZCk7Yi5hcHBlbmRDaGlsZChmKTtiLmFwcGVuZENoaWxkKGgpO2IuYXBwZW5kQ2hpbGQoayk7Yi5hcHBlbmRDaGlsZChyKTtQb2x5bWVyLmRvbSh0aGlzLiQkKCIjc2Vzc2lvbi1ydW5zLXRhYmxlIikpLmFwcGVuZENoaWxkKGIpfSxfcmVuZGVyUm93KGIsZCxmLGgsayl7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpLGw9dGhpcy5fcmVuZGVyR3JhcGhFbGVtZW50cyhiLmZlZWRzKSxwPXRoaXMuX3JlbmRlckdyYXBoRWxlbWVudHMoYi5mZXRjaGVzKTtiPXRoaXMuX3JlbmRlckdyYXBoRWxlbWVudHMoYi50YXJnZXRzKTtjb25zdCBtPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7bS50ZXh0Q29udGVudD1kO2Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtkLnRleHRDb250ZW50PWY7ci5hcHBlbmRDaGlsZChsKTtyLmFwcGVuZENoaWxkKHApOwpyLmFwcGVuZENoaWxkKGIpO3IuYXBwZW5kQ2hpbGQobSk7ci5hcHBlbmRDaGlsZChkKTtoJiYoaz9yLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCJzb2xlLWFjdGl2ZS1zZXNzaW9uLXJ1biIpOnIuc2V0QXR0cmlidXRlKCJjbGFzcyIsImFjdGl2ZS1zZXNzaW9uLXJ1biIpKTtQb2x5bWVyLmRvbSh0aGlzLiQkKCIjc2Vzc2lvbi1ydW5zLXRhYmxlIikpLmFwcGVuZENoaWxkKHIpO2lmKGgpcmV0dXJuIHJ9LF9yZW5kZXJHcmFwaEVsZW1lbnRzKGIpe2NvbnN0IGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtfLmZvckVhY2goYixmPT57Y29uc3QgaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtoLnRleHRDb250ZW50PWY7aC5zZXRBdHRyaWJ1dGUoImNsYXNzIiwibm9kZS1vci10ZW5zb3ItZWxlbWVudCIpO2guYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dGhpcy5ub2RlT3JUZW5zb3JDbGlja2VkKGYpfSk7ZC5hcHBlbmRDaGlsZChoKX0pO3JldHVybiBkfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRlYnVnZ2VyLWRhc2hib2FyZC90Zi1zb3VyY2UtY29kZS12aWV3Lmh0bWwuanMKUG9seW1lcih7aXM6InRmLXNvdXJjZS1jb2RlLXZpZXciLHByb3BlcnRpZXM6e3JlcXVlc3RNYW5hZ2VyOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSxmb2N1c05vZGVOYW1lOnt0eXBlOlN0cmluZyx2YWx1ZTpudWxsfSxfb2xkRm9jdXNOb2RlTmFtZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sZGVidWdXYXRjaGVzOnt0eXBlOkFycmF5LHZhbHVlOltdfSxub2RlQ2xpY2tlZDp7dHlwZTpGdW5jdGlvbix2YWx1ZTpudWxsfSxjb250aW51ZVRvTm9kZTp7dHlwZTpGdW5jdGlvbix2YWx1ZTpudWxsfSxfaGlnaGxpZ2h0ZWRFbGVtZW50czp7dHlwZTpBcnJheSx2YWx1ZTpbXX0sX2ZpbGVQYXRoU2VsZWN0ZWQ6TnVtYmVyLF9mdWxsRmlsZVBhdGhzOnt0eXBlOkFycmF5LHZhbHVlOm51bGx9LF9zaG9ydEZpbGVQYXRoczp7dHlwZTpBcnJheSx2YWx1ZTpudWxsfSxfZmlsZUxpbmVzOnt0eXBlOkFycmF5LHZhbHVlOm51bGx9LF9ub2RlTmFtZTJEZXZpY2VOYW1lOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSwKX25vZGVOYW1lMkJhc2VFeHBhbmRlZE5vZGVOYW1lOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSxfbm9kZU5hbWUyTm9kZUVsZW1lbnRzOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSxfbm9kZU5hbWUyU3RhY2tUb3BOb2RlRWxlbWVudDp7dHlwZTpPYmplY3QsdmFsdWU6bnVsbH0sX3NldEhpZ2h0bGlnaHRPcmlnaW5Ob2RlRWxlbWVudDp7dHlwZTpPYmplY3QsdmFsdWU6bnVsbH0sX2Z1bGxTdGFja1Nob3duOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9mdWxsU3RhY2tOb2RlTmFtZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sX3JlbmRlckRlbGF5TWlsbGlzOnt0eXBlOk51bWJlcix2YWx1ZTo1MCxyZWFkb25seTohMH19LG9ic2VydmVyczpbIl9yZW5kZXJGaWxlKF9maWxlUGF0aFNlbGVjdGVkKSIsIl9mb2N1c09uTm9kZShmb2N1c05vZGVOYW1lKSJdLHJlbmRlcihiKXtudWxsIT1iJiZ0aGlzLnNldCgiX2RlYnVnV2F0Y2hlcyIsYik7dGhpcy5fcXVlcnlTb3VyY2VDb2RlRW5kUG9pbnQoe21vZGU6InBhdGhzIn0pLnRoZW4oZD0+Cnt0aGlzLnNldCgiX2Z1bGxGaWxlUGF0aHMiLGQucGF0aHMpO2NvbnN0IGY9ZC5wYXRocy5tYXAoaD0+KHtpZDpoLG5hbWU6dGhpcy5fc2hvcnRlblBhdGgoaCxkLnBhdGhzKX0pKTt0aGlzLnNldCgiX3Nob3J0RmlsZVBhdGhzIixmKTswPGYubGVuZ3RoJiZ0aGlzLnNldCgiX2ZpbGVQYXRoU2VsZWN0ZWQiLDApfSl9LF9zaG9ydGVuUGF0aChiKXtiPWIucmVwbGFjZSgvXFwvZywiLyIpO2I9Yi5zcGxpdCgiLyIpO3JldHVybiBiW2IubGVuZ3RoLTFdfSxfcmVuZGVyRmlsZShiKXtpZihudWxsIT1iKXt2YXIgZD10aGlzLl9zaG9ydEZpbGVQYXRoc1tiXS5pZDt0aGlzLl9xdWVyeVNvdXJjZUNvZGVFbmRQb2ludCh7bW9kZToiY29udGVudCIsZmlsZV9wYXRoOmR9KS50aGVuKGY9Pntjb25zdCBoPVtdLGs9Zi5jb250ZW50W2RdLHI9Zi5saW5lbm9fdG9fb3BfbmFtZV9hbmRfc3RhY2tfcG9zO2Y9e307Zm9yKHZhciBsIGluIHIpci5oYXNPd25Qcm9wZXJ0eShsKSYmKGZbbF09cltsXS5sZW5ndGgpOwp0aGlzLl9maWx0ZXJGaWxlVHJhY2ViYWNrc0J5RGVidWdXYXRjaGVzKHIpO2ZvcihsPTA7bDxrLmxlbmd0aDsrK2wpe2NvbnN0IG09bCsxO2gucHVzaCh7bGluZW5vOm0sbnVtTm9kZXM6bnVsbCE9clttXT9TdHJpbmcoclttXS5sZW5ndGgpKyIvIitTdHJpbmcoZlttXSkrIiBcdTI1YmMiOiIiLHRleHQ6dGhpcy5faHRtbEVzY2FwZShrW2xdKX0pfXRoaXMuc2V0KCJfZmlsZUxpbmVzIixoKTtjb25zdCBwPXRoaXM7c2V0VGltZW91dCgoKT0+e2NvbnN0IG09e30sbj17fTtmb3IoY29uc3QgdSBpbiByKXtpZighci5oYXNPd25Qcm9wZXJ0eSh1KSljb250aW51ZTtmb3IodmFyIHE9cC4kJCgiI3NvdXJjZS1saW5lLW5vZGVzLSIrdSk7cS5maXJzdENoaWxkOylxLnJlbW92ZUNoaWxkKHEuZmlyc3RDaGlsZCk7Y29uc3Qgdz1yW3VdO3cuc29ydChmdW5jdGlvbihBLHkpe3JldHVybiBBWzBdPHlbMF0/LTE6QVswXT55WzBdPzE6MH0pO2ZvcihsZXQgQT0wO0E8dy5sZW5ndGg7KytBKXtjb25zdCB5PQp3W0FdWzBdLHg9d1tBXVsxXSxDPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLEc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO0cuc2V0QXR0cmlidXRlKCJjbGFzcyIsInNvdXJjZS1saW5lLW5vZGUtZW50dHJ5Iik7Ry5zZXRBdHRyaWJ1dGUoInNvdXJjZUxpbmVubyIsdSk7Ry50ZXh0Q29udGVudD15O0cuYWRkRXZlbnRMaXN0ZW5lcigidGFwIiwoKT0+e3RoaXMubm9kZUNsaWNrZWQodGhpcy5fbm9kZU5hbWUyRGV2aWNlTmFtZVt5XSx0aGlzLl9ub2RlTmFtZTJCYXNlRXhwYW5kZWROb2RlTmFtZVt5XSwhMCl9KTtjb25zdCBEPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInBhcGVyLWljb24tYnV0dG9uIik7RC5zZXRBdHRyaWJ1dGUoImljb24iLCJmaWx0ZXItbGlzdCIpO0Quc2V0QXR0cmlidXRlKCJ0aXRsZSIsIlNob3cgc3RhY2siKTtELmFkZEV2ZW50TGlzdGVuZXIoInRhcCIsKCk9Pnt0aGlzLl9oaWdobGlnaHROb2RlRWxlbWVudHMoeSk7dGhpcy5zZXQoIl9mdWxsU3RhY2tOb2RlTmFtZSIsCnkpO3RoaXMuc2V0KCJfZnVsbFN0YWNrU2hvd24iLCEwKTt0aGlzLl9wb3B1bGF0ZUZ1bGxTdGFjayh5LHRoaXMuX2Z1bGxGaWxlUGF0aHNbdGhpcy5fZmlsZVBhdGhTZWxlY3RlZF0sTnVtYmVyKHUpKX0pO2NvbnN0IEI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicGFwZXItaWNvbi1idXR0b24iKTtCLnNldEF0dHJpYnV0ZSgiaWNvbiIsImZvcndhcmQiKTtCLnNldEF0dHJpYnV0ZSgidGl0bGUiLCJDb250aW51ZSB0byIpO0IuYWRkRXZlbnRMaXN0ZW5lcigidGFwIiwoKT0+e3RoaXMubm9kZUNsaWNrZWQodGhpcy5fbm9kZU5hbWUyRGV2aWNlTmFtZVt5XSx0aGlzLl9ub2RlTmFtZTJCYXNlRXhwYW5kZWROb2RlTmFtZVt5XSwhMCk7Y29uc3QgSD10aGlzLl9ub2RlTmFtZTJEZXZpY2VOYW1lW3ldLEs9dGhpcy5fbm9kZU5hbWUyQmFzZUV4cGFuZGVkTm9kZU5hbWVbeV07dGhpcy5zZXQoIl9zZXRIaWdodGxpZ2h0T3JpZ2luTm9kZUVsZW1lbnQiLEcpO3RoaXMuY29udGludWVUb05vZGUoSCwKSyl9KTtDLmFwcGVuZENoaWxkKEQpO0MuYXBwZW5kQ2hpbGQoQik7Qy5hcHBlbmRDaGlsZChHKTtxLmFwcGVuZENoaWxkKEMpO20uaGFzT3duUHJvcGVydHkoeSl8fChtW3ldPVtdKTttW3ldLnB1c2goRyk7bi5oYXNPd25Qcm9wZXJ0eSh5KXx8KG5beV09W0cseF0pO3g+blt5XVsxXSYmKG5beV09W0cseF0pfXEuc2V0QXR0cmlidXRlKCJoaWRkZW4iLCEwKTtxPXAuJCQoIiNzb3VyY2UtbGluZS1ub2RlLXRvZ2dsZS0iK3UpO251bGw9PXEuZ2V0QXR0cmlidXRlKCJ0YXBDYWxsYmFja1NldCIpJiYocS5hZGRFdmVudExpc3RlbmVyKCJ0YXAiLCgpPT57cC5fdG9nZ2xlTGluZU5vZGVzKE51bWJlcih1KSl9KSxxLnNldEF0dHJpYnV0ZSgidGFwQ2FsbGJhY2tTZXQiLCEwKSl9cC5zZXQoIl9ub2RlTmFtZTJOb2RlRWxlbWVudHMiLG0pO2Zvcihjb25zdCB1IGluIG4pbi5oYXNPd25Qcm9wZXJ0eSh1KSYmKG5bdV09blt1XVswXSk7cC5zZXQoIl9ub2RlTmFtZTJTdGFja1RvcE5vZGVFbGVtZW50IiwKbil9LHRoaXMuX3JlbmRlckRlbGF5TWlsbGlzKX0pfX0sX3RvZ2dsZUxpbmVOb2RlcyhiLGQ9ITEpe2I9dGhpcy4kJCgiI3NvdXJjZS1saW5lLW5vZGVzLSIrYik7bnVsbD09Yi5nZXRBdHRyaWJ1dGUoImhpZGRlbiIpJiYhMCE9PWQ/Yi5zZXRBdHRyaWJ1dGUoImhpZGRlbiIsITApOmIucmVtb3ZlQXR0cmlidXRlKCJoaWRkZW4iKX0sX2ZpbHRlckZpbGVUcmFjZWJhY2tzQnlEZWJ1Z1dhdGNoZXMoYil7Y29uc3QgZD10aGlzLmRlYnVnV2F0Y2hlcy5tYXAoaz0+S2gucmVtb3ZlTm9kZU5hbWVCYXNlRXhwYW5zaW9uKGsubm9kZV9uYW1lKSksZj17fSxoPXt9O2Zvcihjb25zdCBrIG9mIHRoaXMuZGVidWdXYXRjaGVzKXtjb25zdCByPUtoLnJlbW92ZU5vZGVOYW1lQmFzZUV4cGFuc2lvbihrLm5vZGVfbmFtZSk7ZltyXT1rLmRldmljZV9uYW1lO2hbcl09ay5ub2RlX25hbWV9dGhpcy5zZXQoIl9ub2RlTmFtZTJEZXZpY2VOYW1lIixmKTt0aGlzLnNldCgiX25vZGVOYW1lMkJhc2VFeHBhbmRlZE5vZGVOYW1lIiwKaCk7Zm9yKGNvbnN0IGsgaW4gYiliLmhhc093blByb3BlcnR5KGspJiYoYltrXT1iW2tdLmZpbHRlcihyPT5fLmluY2x1ZGVzKGQsclswXSkpKX0sX3F1ZXJ5U291cmNlQ29kZUVuZFBvaW50KGIpe2NvbnN0IGQ9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImRlYnVnZ2VyIiwiL3NvdXJjZV9jb2RlIik7Yj1kYy5hZGRQYXJhbXMoZCxiKTtyZXR1cm4gdGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGIpfSxfaHRtbEVzY2FwZShiKXtyZXR1cm4gYi5yZXBsYWNlKC8gL2csIlx1MDBhMCIpfSxfZm9jdXNPbk5vZGUoYil7aWYobnVsbCE9Yil7dmFyIGQ9dGhpcy5fc2hvcnRGaWxlUGF0aHNbdGhpcy5fZmlsZVBhdGhTZWxlY3RlZF0uaWQsZj10aGlzO3RoaXMuX3F1ZXJ5U291cmNlQ29kZUVuZFBvaW50KHttb2RlOiJvcF90cmFjZWJhY2siLG9wX25hbWU6Yn0pLnRoZW4oaD0+e2NvbnN0IGs9aC5vcF90cmFjZWJhY2tbYl07aD1bXTtmb3IobGV0IGw9MDtsPGsubGVuZ3RoOysrbCl7Y29uc3QgcD0Ka1tsXVsxXTtrW2xdWzBdPT09ZCYmaC5wdXNoKHApfWZvcih2YXIgciBvZiBmLl9oaWdobGlnaHRlZEVsZW1lbnRzKXIuY2xhc3NMaXN0LnJlbW92ZSgiaGlnaGxpZ2h0ZWQtc291cmNlLWxpbmUiKTtyPVtdO2Zvcihjb25zdCBsIG9mIGgpaD10aGlzLiQkKCIjc291cmNlLWxpbmUtIitsKSxyLnB1c2goaCksaC5jbGFzc0xpc3QuYWRkKCJoaWdobGlnaHRlZC1zb3VyY2UtbGluZSIpLGYuX3RvZ2dsZUxpbmVOb2RlcyhsLCEwKTtmLnNldCgiX2hpZ2hsaWdodGVkRWxlbWVudHMiLHIpO3RoaXMuX2hpZ2hsaWdodE5vZGVFbGVtZW50cyhiKX0pfX0sX2hpZ2hsaWdodE5vZGVFbGVtZW50cyhiKXtpZihudWxsIT10aGlzLl9vbGRGb2N1c05vZGVOYW1lKWZvcihjb25zdCBkIG9mIHRoaXMuX25vZGVOYW1lMk5vZGVFbGVtZW50c1t0aGlzLl9vbGRGb2N1c05vZGVOYW1lXSlkLnN0eWxlWyJmb250LXdlaWdodCJdPSJub3JtYWwiO2Zvcihjb25zdCBkIG9mIHRoaXMuX25vZGVOYW1lMk5vZGVFbGVtZW50c1tiXSlkLnN0eWxlWyJmb250LXdlaWdodCJdPQoiYm9sZCI7bnVsbD09dGhpcy5fc2V0SGlnaHRsaWdodE9yaWdpbk5vZGVFbGVtZW50P3RoaXMuX25vZGVOYW1lMlN0YWNrVG9wTm9kZUVsZW1lbnRbYl0uc2Nyb2xsSW50b1ZpZXcoe2Jsb2NrOiJjZW50ZXIiLGJlaGF2aW91cjoic21vb3RoIn0pOnRoaXMuc2V0KCJfc2V0SGlnaHRsaWdodE9yaWdpbk5vZGVFbGVtZW50IixudWxsKTt0aGlzLnNldCgiX29sZEZvY3VzTm9kZU5hbWUiLGIpfSxfcG9wdWxhdGVGdWxsU3RhY2soYixkLGYpe3RoaXMuX3F1ZXJ5U291cmNlQ29kZUVuZFBvaW50KHttb2RlOiJvcF90cmFjZWJhY2siLG9wX25hbWU6Yn0pLnRoZW4oaD0+e2NvbnN0IGs9dGhpcy4kJCgiI2Z1bGwtc3RhY2stY29udGVudCIpO2Zvcig7ay5maXJzdENoaWxkOylrLnJlbW92ZUNoaWxkKGsuZmlyc3RDaGlsZCk7Zm9yKGNvbnN0IHIgb2YgaC5vcF90cmFjZWJhY2tbYl0pe2NvbnN0IGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGkiKSxwPXJbMF0sbT1OdW1iZXIoclsxXSk7bC50ZXh0Q29udGVudD0KcCsiOiAiK1N0cmluZyhtKTtfLmluY2x1ZGVzKHRoaXMuX2Z1bGxGaWxlUGF0aHMscCk/KGwuY2xhc3NMaXN0LmFkZCgic3RhY2stZnJhbWUtY2xpY2thYmxlIiksbC5zdHlsZS5jb2xvcj0iYmx1ZSIsbC5zdHlsZVsidGV4dC1kZWNvcmF0aW9uIl09InVuZGVybGluZSIsbC5zdHlsZS5jdXJzb3I9InBvaW50ZXIiLHA9PT1kJiZtPT09ZiYmKGwuc3R5bGVbImZvbnQtd2VpZ2h0Il09ImJvbGQiKSxsLmFkZEV2ZW50TGlzdGVuZXIoInRhcCIsKCk9Pnt0aGlzLnNldCgiX2ZpbGVQYXRoU2VsZWN0ZWQiLHRoaXMuX2Z1bGxGaWxlUGF0aHMuaW5kZXhPZihwKSk7c2V0VGltZW91dCgoKT0+e3RoaXMuX3RvZ2dsZUxpbmVOb2RlcyhtLCEwKTtmb3IoY29uc3QgbiBvZiB0aGlzLl9ub2RlTmFtZTJOb2RlRWxlbWVudHNbYl0pTnVtYmVyKG4uZ2V0QXR0cmlidXRlKCJzb3VyY2VMaW5lbm8iKSk9PT1OdW1iZXIobSkmJihuLnNjcm9sbEludG9WaWV3KHtibG9jazoiY2VudGVyIixiZWhhdmlvdXI6InNtb290aCJ9KSwKdGhpcy5zZXQoIl9zZXRIaWdodGxpZ2h0T3JpZ2luTm9kZUVsZW1lbnQiLGwpLHRoaXMuX2hpZ2hsaWdodE5vZGVFbGVtZW50cyhiKSxkPT09cCYmZj09PW18fHRoaXMuX3BvcHVsYXRlRnVsbFN0YWNrKGIscCxtKSl9LDIqdGhpcy5fcmVuZGVyRGVsYXlNaWxsaXMpfSkpOihsLmNsYXNzTGlzdC5hZGQoInN0YWNrLWZyYW1lLW5vbmNsaWNrYWJsZSIpLGwuc3R5bGUuY29sb3I9IiM1NTUiKTtrLmFwcGVuZENoaWxkKGwpfX0pfSxfY2xvc2VGdWxsU3RhY2tEaWFsb2coKXt0aGlzLnNldCgiX2Z1bGxTdGFja1Nob3duIiwhMSl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZGVidWdnZXItZGFzaGJvYXJkL3RmLXRlbnNvci1kYXRhLXN1bW1hcnkuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtdGVuc29yLWRhdGEtc3VtbWFyeSIscHJvcGVydGllczp7bGF0ZXN0VGVuc29yRGF0YTpPYmplY3QsZXhwYW5kSGFuZGxlcjpPYmplY3QsY29udGludWVUb0NhbGxiYWNrOkZ1bmN0aW9uLGhpZ2hsaWdodGVkTm9kZU5hbWU6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LHRlbnNvck5hbWVDbGlja2VkOnt0eXBlOkZ1bmN0aW9uLHZhbHVlOm51bGx9LGdldEhlYWx0aFBpbGw6RnVuY3Rpb24sX2hlYWx0aFBpbGxzRW5hYmxlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiEwLG5vdGlmeTohMH0sX3dhdGNoS2V5czp7dHlwZTpBcnJheSx2YWx1ZTpbXX0sX3dhdGNoS2V5MkRhdGE6e3R5cGU6T2JqZWN0LHZhbHVlOnt9fSxfd2F0Y2hLZXkyQ291bnQ6e3R5cGU6T2JqZWN0LHZhbHVlOnt9fSxfd2F0Y2hLZXkyRXhwYW5kSGFuZGxlcjp7dHlwZTpPYmplY3QsdmFsdWU6e319LF93YXRjaEtleTJWYWx1ZVNob3J0Ont0eXBlOk9iamVjdCx2YWx1ZTp7fX0sX3dhdGNoS2V5MlJvdzp7dHlwZTpPYmplY3QsCnZhbHVlOnt9fSxfYWN0aXZlV2F0Y2hLZXk6U3RyaW5nLF9oZWFsdGhQaWxsV2lkdGg6e3R5cGU6TnVtYmVyLHZhbHVlOjIwMCxyZWFkb25seTohMH0sX2hlYWx0aFBpbGxIZWlnaHQ6e3R5cGU6TnVtYmVyLHZhbHVlOjMyLHJlYWRvbmx5OiEwfX0sb2JzZXJ2ZXJzOlsiX3JlbmRlckxhdGVzdChsYXRlc3RUZW5zb3JEYXRhLCBleHBhbmRIYW5kbGVyKSIsIl9oaWdobGlnaHQoaGlnaGxpZ2h0ZWROb2RlTmFtZSkiXSxsaXN0ZW5lcnM6eyJzaG93LWhlYWx0aC1waWxscy5jaGFuZ2UiOiJfc2hvd0hlYWx0aFBpbGxzQ2hhbmdlZCJ9LHJlYWR5KCl7dGhpcy5fcmVuZGVySGVhbHRoUGlsbExlZ2VuZCgpfSxlbmFibGVIZWFsdGhQaWxscygpe3RoaXMuc2V0KCJfaGVhbHRoUGlsbHNFbmFibGVkIiwhMCk7dGhpcy5fcmVuZGVySGVhbHRoUGlsbExlZ2VuZCgpfSxfc2hvd0hlYWx0aFBpbGxzQ2hhbmdlZCgpe3RoaXMuX2hlYWx0aFBpbGxzRW5hYmxlZD90aGlzLl9yZW5kZXJIZWFsdGhQaWxsTGVnZW5kKCk6CnRoaXMuX2NsZWFySGVhbHRoUGlsbExlZ2VuZCgpO3RoaXMuX3JlbmRlckFsbCgpfSxfcmVuZGVyQWxsKCl7dGhpcy5fY2xlYXJUZW5zb3JEYXRhVGFibGUoKTtmb3IoY29uc3QgYiBvZiB0aGlzLl93YXRjaEtleXMpdGhpcy5fcmVuZGVyTGF0ZXN0KHRoaXMuX3dhdGNoS2V5MkRhdGFbYl0sdGhpcy5fd2F0Y2hLZXkyRXhwYW5kSGFuZGxlcltiXSl9LF90ZW5zb3JEYXRhMldhdGNoS2V5KGIpe3JldHVybiBiLmRldmljZU5hbWUrIi8iK2IudGVuc29yTmFtZSsiOiIrYi5kZWJ1Z09wfSxfcmVuZGVyTGF0ZXN0KGIsZCl7aWYoYil7dmFyIGY9dGhpcy5fdGVuc29yRGF0YTJXYXRjaEtleShiKSxoPW51bGw7IlVuaW5pdGlhbGl6ZWQiIT09Yi5kdHlwZSYmIlVuc3VwcG9ydGVkIiE9PWIuZHR5cGUmJihoPSgpPT5kKGIpKTt2YXIgaz1udWxsIT1iLnZhbHVlP0pTT04uc3RyaW5naWZ5KGIudmFsdWUsKHIsbCk9PmwudG9GaXhlZD9OdW1iZXIobC50b0ZpeGVkKDMpKTpsKToiKENsaWNrIHRvIHZpZXcpIjsKdGhpcy5fd2F0Y2hLZXkyRGF0YVtmXT1iOy0xPT09dGhpcy5fd2F0Y2hLZXlzLmluZGV4T2YoZik/KHRoaXMuX3dhdGNoS2V5cy5wdXNoKGYpLHRoaXMuX3dhdGNoS2V5MkNvdW50W2ZdPTEpOnRoaXMuX3dhdGNoS2V5MkNvdW50W2ZdKz0xO3RoaXMuX3dhdGNoS2V5MkV4cGFuZEhhbmRsZXJbZl09aDt0aGlzLl93YXRjaEtleTJWYWx1ZVNob3J0W2ZdPWs7dGhpcy5fYWN0aXZlV2F0Y2hLZXk9Zjt0aGlzLl9yZW1vdmVBY3RpdmVTdGF0dXNGcm9tQWxsUm93cygpO3RoaXMuX3JlbmRlclJvdyhmKX19LF9jbGVhclRlbnNvckRhdGFUYWJsZSgpe2Zvcihjb25zdCBiIGluIHRoaXMuX3dhdGNoS2V5MlJvdyl0aGlzLl93YXRjaEtleTJSb3cuaGFzT3duUHJvcGVydHkoYikmJih0aGlzLl93YXRjaEtleTJSb3dbYl0ucmVtb3ZlKCksZGVsZXRlIHRoaXMuX3dhdGNoS2V5MlJvd1tiXSl9LF9jbGVhclRlbnNvckRhdGFSb3coYil7Zm9yKDtiLmZpcnN0Q2hpbGQ7KWIucmVtb3ZlQ2hpbGQoYi5maXJzdENoaWxkKX0sCl9jbGVhckhlYWx0aFBpbGxMZWdlbmQoKXtjb25zdCBiPXRoaXMuJCQoIiNoZWFsdGgtcGlsbC1sZWdlbmQiKTtmb3IoO2IuZmlyc3RDaGlsZDspYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQpfSxfcmVuZGVySGVhbHRoUGlsbExlZ2VuZCgpe3RoaXMuX2NsZWFySGVhbHRoUGlsbExlZ2VuZCgpO2NvbnN0IGI9dGhpcy4kJCgiI2hlYWx0aC1waWxsLWxlZ2VuZCIpO3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2QudGV4dENvbnRlbnQ9IkxlZ2VuZDoiO2IuYXBwZW5kQ2hpbGQoZCk7ZC5zdHlsZVsibWFyZ2luLXJpZ2h0Il09IjAuNWVtIjtkLnN0eWxlLmRpc3BsYXk9ImlubGluZS1ibG9jayI7Zm9yKGQ9MDtkPHRmLmdyYXBoLnNjZW5lLmhlYWx0aFBpbGxFbnRyaWVzLmxlbmd0aDsrK2Qpe2NvbnN0IGY9dGYuZ3JhcGguc2NlbmUuaGVhbHRoUGlsbEVudHJpZXNbZF0saD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtoLnN0eWxlLmRpc3BsYXk9ImlubGluZS1ibG9jayI7Cmguc3R5bGVbIm1hcmdpbi1yaWdodCJdPSIwLjI1ZW0iO2NvbnN0IGs9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO2sudGV4dENvbnRlbnQ9Ilx1MjVhMCI7ay5zdHlsZS5jb2xvcj1mLmJhY2tncm91bmRfY29sb3I7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7ci50ZXh0Q29udGVudD1mLmxhYmVsO3Iuc3R5bGUuY29sb3I9Zi5iYWNrZ3JvdW5kX2NvbG9yO2guYXBwZW5kQ2hpbGQoayk7aC5hcHBlbmRDaGlsZChyKTtiLmFwcGVuZENoaWxkKGgpfX0sX3JlbW92ZUFjdGl2ZVN0YXR1c0Zyb21BbGxSb3dzKCl7Zm9yKGNvbnN0IGIgaW4gdGhpcy5fd2F0Y2hLZXkyUm93KXtpZighdGhpcy5fd2F0Y2hLZXkyUm93Lmhhc093blByb3BlcnR5KGIpKWNvbnRpbnVlO2NvbnN0IGQ9dGhpcy5fd2F0Y2hLZXkyUm93W2JdO1BvbHltZXIuZG9tKGQpLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZS10ZW5zb3IiKTtQb2x5bWVyLmRvbShkKS5jbGFzc0xpc3QucmVtb3ZlKCJoaWdobGlnaHRlZCIpfX0sCl9yZW5kZXJSb3coYil7bGV0IGQsZj0hMTtudWxsIT10aGlzLl93YXRjaEtleTJSb3dbYl0/KGQ9dGhpcy5fd2F0Y2hLZXkyUm93W2JdLHRoaXMuX2NsZWFyVGVuc29yRGF0YVJvdyhkKSxmPSExKTooZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpLGY9ITApO2NvbnN0IGg9dGhpcy5fd2F0Y2hLZXkyRGF0YVtiXS5kZXZpY2VOYW1lLGs9dGhpcy5fd2F0Y2hLZXkyRGF0YVtiXS5tYXliZUJhc2VFeHBhbmRlZE5vZGVOYW1lLHI9aCsiLyIrazt2YXIgbD10aGlzLl93YXRjaEtleTJDb3VudFtiXSxwPXRoaXMuX3dhdGNoS2V5MkRhdGFbYl0udGVuc29yTmFtZSxtPXRoaXMuX3dhdGNoS2V5MkRhdGFbYl0uZGVidWdPcCxuPXRoaXMuX3dhdGNoS2V5MlZhbHVlU2hvcnRbYl07Y29uc3QgcT10aGlzLl93YXRjaEtleTJFeHBhbmRIYW5kbGVyW2JdLHU9Yj09PXRoaXMuX2FjdGl2ZVdhdGNoS2V5LHc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtQb2x5bWVyLmRvbSh3KS5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3ItbmFtZSIpOwp3LnN0eWxlWyJ0ZXh0LWRlY29yYXRpb24iXT0idW5kZXJsaW5lIjt3LnN0eWxlLmN1cnNvcj0icG9pbnRlciI7dy50ZXh0Q29udGVudD1wO3cuYWRkRXZlbnRMaXN0ZW5lcigidGFwIiwoKT0+e251bGwhPXRoaXMudGVuc29yTmFtZUNsaWNrZWQmJnRoaXMudGVuc29yTmFtZUNsaWNrZWQoaCxrKX0pO2NvbnN0IEE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtBLnRleHRDb250ZW50PWw7Y29uc3QgeT10aGlzLl93YXRjaEtleTJEYXRhW2JdLmR0eXBlO2w9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtjb25zdCB4PXRoaXMuX3dhdGNoS2V5MkRhdGFbYl0uc2hhcGU7bC50ZXh0Q29udGVudD15O2NvbnN0IEM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtDLnRleHRDb250ZW50PUpTT04uc3RyaW5naWZ5KHgpO2NvbnN0IEc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtHLnRleHRDb250ZW50PW47UG9seW1lci5kb20oRykuY2xhc3NMaXN0LmFkZCgidmFsdWUtZXhwYW5zaW9uLWxpbmsiKTsKbnVsbCE9cSYmKEcuYWRkRXZlbnRMaXN0ZW5lcigidGFwIixxLCExKSxHLnN0eWxlWyJ0ZXh0LWRlY29yYXRpb24iXT0idW5kZXJsaW5lIixHLnN0eWxlLmN1cnNvcj0icG9pbnRlciIpO249bnVsbDtuPXRoaXMuX2hlYWx0aFBpbGxzRW5hYmxlZD90aGlzLl9yZW5kZXJIZWFsdGhQaWxsKHArIjoiK20se2RldmljZV9uYW1lOmgsbm9kZV9uYW1lOmssZHR5cGU6eSxzaGFwZTp4LHZhbHVlOm51bGx9LHEpOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7cD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpO209ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicGFwZXItaWNvbi1idXR0b24iKTttLnNldEF0dHJpYnV0ZSgiaWNvbiIsImZvcndhcmQiKTttLnNldEF0dHJpYnV0ZSgidGl0bGUiLCJDb250aW51ZSB0byIpO20uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dGhpcy5jb250aW51ZVRvQ2FsbGJhY2soaCxrKX0pO3AuYXBwZW5kQ2hpbGQobSk7ZC5hcHBlbmRDaGlsZCh3KTsKZC5hcHBlbmRDaGlsZChBKTtkLmFwcGVuZENoaWxkKGwpO2QuYXBwZW5kQ2hpbGQoQyk7ZC5hcHBlbmRDaGlsZChHKTtkLmFwcGVuZENoaWxkKG4pO2QuYXBwZW5kQ2hpbGQocCk7ZC5zZXRBdHRyaWJ1dGUoIm5vZGVOYW1lV2l0aERldmljZSIscik7dSYmKFBvbHltZXIuZG9tKGQpLmNsYXNzTGlzdC5hZGQoImFjdGl2ZS10ZW5zb3IiKSxQb2x5bWVyLmRvbShkKS5jbGFzc0xpc3QuYWRkKCJoaWdobGlnaHRlZCIpKTt0aGlzLl93YXRjaEtleTJSb3dbYl09ZDtmJiZQb2x5bWVyLmRvbSh0aGlzLiQkKCIjdGVuc29yLWRhdGEtdGFibGUgdGJvZHkiKSkuYXBwZW5kQ2hpbGQoZCk7ZC5zY3JvbGxJbnRvVmlldyh7YmxvY2s6ImVuZCIsaW5saW5lOiJuZWFyZXN0IixiZWhhdmlvdXI6InNtb290aCJ9KX0sX3JlbmRlckhlYWx0aFBpbGwoYixkLGYpe2NvbnN0IGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtQb2x5bWVyLmRvbShoKS5jbGFzc0xpc3QuYWRkKCJoZWFsdGgtcGlsbCIpOwpudWxsIT1mJiZoLmFkZEV2ZW50TGlzdGVuZXIoInRhcCIsZiwhMSk7Zj1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlModGYuZ3JhcGguc2NlbmUuU1ZHX05BTUVTUEFDRSwic3ZnIik7Zi5zZXRBdHRyaWJ1dGUoIndpZHRoIix0aGlzLl9oZWFsdGhQaWxsV2lkdGgpO2Yuc2V0QXR0cmlidXRlKCJoZWlnaHQiLHRoaXMuX2hlYWx0aFBpbGxIZWlnaHQpO2NvbnN0IGs9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHRmLmdyYXBoLnNjZW5lLlNWR19OQU1FU1BBQ0UsImciKTtmLmFwcGVuZENoaWxkKGspO2guYXBwZW5kQ2hpbGQoZik7Y29uc3Qgcj0idGRwLyIrYjt0aGlzLmdldEhlYWx0aFBpbGwoYixkLmRldmljZV9uYW1lLGQubm9kZV9uYW1lLGw9PntudWxsPT1sPyhoLnRleHRDb250ZW50PSJOL0EiLGguc3R5bGUuY29sb3I9ImdyYXkiKTooZC52YWx1ZT1sLHRmLmdyYXBoLnNjZW5lLmFkZEhlYWx0aFBpbGwoayxkLG51bGwscix0aGlzLl9oZWFsdGhQaWxsV2lkdGgsdGhpcy5faGVhbHRoUGlsbEhlaWdodC8KMix0aGlzLl9oZWFsdGhQaWxsSGVpZ2h0LzIsMCkpfSk7cmV0dXJuIGh9LF9oaWdobGlnaHQoYil7UG9seW1lci5kb20odGhpcy4kJCgiI3RlbnNvci1kYXRhLXRhYmxlIikpO2NvbnN0IGQ9W107Zm9yKGNvbnN0IGYgaW4gdGhpcy5fd2F0Y2hLZXkyUm93KXtpZighdGhpcy5fd2F0Y2hLZXkyUm93Lmhhc093blByb3BlcnR5KGYpKWNvbnRpbnVlO2NvbnN0IGg9dGhpcy5fd2F0Y2hLZXkyUm93W2ZdO251bGwhPWguZ2V0QXR0cmlidXRlJiYoaC5nZXRBdHRyaWJ1dGUoIm5vZGVOYW1lV2l0aERldmljZSIpPT09Yj9kLnB1c2goaCk6UG9seW1lci5kb20oaCkuY2xhc3NMaXN0LnJlbW92ZSgiaGlnaGxpZ2h0ZWQiKSl9aWYobnVsbCE9Yilmb3IoYj0wO2I8ZC5sZW5ndGg7KytiKVBvbHltZXIuZG9tKGRbYl0pLmNsYXNzTGlzdC5hZGQoImhpZ2hsaWdodGVkIiksZFtiXS5zY3JvbGxJbnRvVmlldyh7YmxvY2s6ImVuZCIsaW5saW5lOiJuZWFyZXN0IixiZWhhdmlvdXI6InNtb290aCJ9KX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1kZWJ1Z2dlci1kYXNoYm9hcmQvdGYtZGVidWdnZXItbGluZS1jaGFydC5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1kZWJ1Z2dlci1saW5lLWNoYXJ0Iixwcm9wZXJ0aWVzOntkYXRhOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSxfZGVmYXVsdFNlcmllc05hbWU6e3R5cGU6U3RyaW5nLHZhbHVlOiJfX2RlYnVnZ2VyX2RhdGFfXyIscmVhZG9ubHk6ITB9LF9saW5lQ2hhcnRYQ29tcG9uZW50c0NyZWF0aW9uTWV0aG9kOnt0eXBlOk9iamVjdCxyZWFkT25seTohMCx2YWx1ZTooKT0+KCk9Pntjb25zdCBiPW5ldyBQbG90dGFibGUuU2NhbGVzLkxpbmVhcjtyZXR1cm57c2NhbGU6YixheGlzOm5ldyBQbG90dGFibGUuQXhlcy5OdW1lcmljKGIsImJvdHRvbSIpLGFjY2Vzc29yOmQ9PmQuc3RlcH19fSxfbGluZUNoYXJ0WVZhbHVlQWNjZXNzb3I6e3R5cGU6T2JqZWN0LHJlYWRPbmx5OiEwLHZhbHVlOigpPT5iPT5iLnNjYWxhcn0sX2xpbmVDaGFydFRvb2x0aXBDb2x1bW5zOnt0eXBlOkFycmF5LHJlYWRPbmx5OiEwLHZhbHVlOigpPT5be3RpdGxlOiJOYW1lIixldmFsdWF0ZTpiPT4KInN0ZXBceDNkIitiLmRhdHVtLnN0ZXArIjsgc2NhbGFyXHgzZCAiK2IuZGF0dW0uc2NhbGFyfV19LF9saW5lQ2hhcnRTbW9vdGhpbmdFbmFibGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVhZE9ubHk6ITB9fSxvYnNlcnZlcnM6WyJyZW5kZXIoZGF0YSkiXSxyZW5kZXIoYil7aWYobnVsbCE9Yil7dmFyIGQ9dGhpcy4kJCgidnotbGluZS1jaGFydDIiKTtkLnNldFZpc2libGVTZXJpZXMoW3RoaXMuX2RlZmF1bHRTZXJpZXNOYW1lXSk7dmFyIGY9W10saD1iLng7Yj1iLnk7Zm9yKGxldCBrPTA7azxoLmxlbmd0aDsrK2spZi5wdXNoKHtzdGVwOmhba10sc2NhbGFyOmJba119KTtkLnNldFNlcmllc0RhdGEodGhpcy5fZGVmYXVsdFNlcmllc05hbWUsZik7ZC5jb21taXRDaGFuZ2VzKCl9fX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRlYnVnZ2VyLWRhc2hib2FyZC90Zi10ZW5zb3ItdmFsdWUtdmlldy5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi10ZW5zb3ItdmFsdWUtdmlldyIscHJvcGVydGllczp7dmlld0lkOlN0cmluZyx0ZW5zb3JOYW1lOlN0cmluZyxkZWJ1Z09wOlN0cmluZyxkZXZpY2VOYW1lOlN0cmluZyxtYXliZUJhc2VFeHBhbmRlZE5vZGVOYW1lOlN0cmluZyxzbGljaW5nOlN0cmluZyx0aW1lSW5kaWNlczpTdHJpbmcsZHR5cGU6U3RyaW5nLHNoYXBlOkFycmF5LGNvbnRpbnVlVG9CdXR0b25DYWxsYmFjazpPYmplY3QsY2xvc2VCdXR0b25DYWxsYmFjazpPYmplY3QsdGVuc29yTmFtZUNhbGxiYWNrOk9iamVjdCx0ZW5zb3JXaWRnZXQ6T2JqZWN0LGdldEhlYWx0aFBpbGw6RnVuY3Rpb24sX2lzVGVuc29yVmFsdWVTY2FsYXI6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX2lzVGVuc29yVmFsdWVMaW5lQ2hhcnQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX2lzVGVuc29yVmFsdWVJbWFnZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfZGF0YVNjYWxhcjp7dHlwZTpOdW1iZXIsdmFsdWU6bnVsbH0sCl9saW5lQ2hhcnREYXRhOnt0eXBlOkFycmF5LHZhbHVlOm51bGx9LF9kYXRhSW1hZ2VTcmM6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LF9yZXF1ZXN0TWFuYWdlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5SZXF1ZXN0TWFuYWdlcigxMCl9fSxvYnNlcnZlcnM6WyJfdXBkYXRlVGltZUluZGljZXNUb2dnbGUodGltZUluZGljZXMpIl0scmVuZGVyVGVuc29yVmFsdWUoKXtpZih0aGlzLnRlbnNvck5hbWUpaWYobnVsbD09dGhpcy5zbGljaW5nKXt0aGlzLnNldCgiX3VzZVRlbnNvcldpZGdldCIsITApO2NvbnN0IGQ9e3NwZWM6e2R0eXBlOnRoaXMuZHR5cGUsc2hhcGU6dGhpcy5zaGFwZX0sZ2V0OigpPT57dGhyb3cgRXJyb3IoInRlbnNvclZpZXcuZ2V0KCkgaXMgbm90IGltcGxlbWVudGVkIHlldC4iKTt9LHZpZXc6Zj0+e2NvbnN0IGg9dGhpcztyZXR1cm4gV2IoZnVuY3Rpb24qKCl7Y29uc3Qgaz1oLnNoYXBlLmxlbmd0aCxyPWYuc2xpY2luZ0RpbXNBbmRJbmRpY2VzLm1hcChtPT4KbS5kaW0pLGw9Zi5zbGljaW5nRGltc0FuZEluZGljZXMubWFwKG09Pm0uaW5kZXgpO2xldCBwPSJbIjtmb3IobGV0IG09MDttPGs7KyttKS0xIT09ci5pbmRleE9mKG0pP3ArPWAke2xbci5pbmRleE9mKG0pXX1gOmYudmlld2luZ0RpbXNbMF09PT1tP3ArPWAke2YudmVydGljYWxSYW5nZVswXX06JHtmLnZlcnRpY2FsUmFuZ2VbMV19YDpmLnZpZXdpbmdEaW1zWzFdPT09bSYmKHArPWAke2YuaG9yaXpvbnRhbFJhbmdlWzBdfToke2YuaG9yaXpvbnRhbFJhbmdlWzFdfWApLG08ay0xJiYocCs9IiwiKTtwKz0iXSI7cmV0dXJuIG5ldyBQcm9taXNlKChtLG4pPT57Y29uc3QgcT1oLl9nZXRUZW5zb3JEYXRhVVJMKHt3YXRjaF9rZXk6aC50ZW5zb3JOYW1lKyI6IitoLmRlYnVnT3Asc2xpY2luZzpwLHRpbWVfaW5kaWNlczpoLnRpbWVJbmRpY2VzLG1hcHBpbmc6Im5vbmUifSk7aC5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChxKS50aGVuKHU9PntudWxsPT11LmVycm9yP20odS50ZW5zb3JfZGF0YVt1LnRlbnNvcl9kYXRhLmxlbmd0aC0KMV0pOm4odS5lcnJvcil9KS5jYXRjaCh1PT5uKHUpKX0pfSl9LGdldE51bWVyaWNTdW1tYXJ5OigpPT57Y29uc3QgZj10aGlzO3JldHVybiBXYihmdW5jdGlvbiooKXtyZXR1cm4gbmV3IFByb21pc2UoKGgsayk9Pntjb25zdCByPWYudGVuc29yTmFtZSsiOiIrZi5kZWJ1Z09wO2YuZ2V0SGVhbHRoUGlsbChyLGYuZGV2aWNlTmFtZSxmLm1heWJlQmFzZUV4cGFuZGVkTm9kZU5hbWUsbD0+e251bGw9PWw/ayhgRmFpbGVkIHRvIGdldCBoZWFsdGggcGlsbCBmb3Igd2F0Y2gga2V5ICR7cn1gKTpoKHtlbGVtZW50Q291bnQ6bFsxXSxtaW5pbXVtOmxbOF0sbWF4aW11bTpsWzldfSl9KX0pfSl9fTtzZXRUaW1lb3V0KCgpPT57bnVsbD09dGhpcy50ZW5zb3JXaWRnZXQmJih0aGlzLnRlbnNvcldpZGdldD10ZW5zb3Jfd2lkZ2V0LnRlbnNvcldpZGdldCh0aGlzLiQkKCIjdGVuc29yLXdpZGdldCIpLGQse3doZWVsWm9vbUtleToiYWx0In0pKTt0aGlzLnRlbnNvcldpZGdldC5yZW5kZXIoKX0sCjEwKX1lbHNle3RoaXMuc2V0KCJfdXNlVGVuc29yV2lkZ2V0IiwhMSk7dmFyIGI9dGhpcy5fcmFua0Zyb21TbGljaW5nKHRoaXMuc2xpY2luZy50cmltKCkpO2NvbnN0IGQ9dGhpcy5faXNUaW1lSW5kaWNlc1NpbmdsZVN0ZXAodGhpcy50aW1lSW5kaWNlcyk7bGV0IGY9YjtpZighZCl7aWYoMTxiKXt0aGlzLl9zaG93VG9hc3QoIkhpc3RvcnkgZm9yIHRlbnNvcnMgXHgzZSAxRCBpcyBub3QgeWV0IHN1cHBvcnRlZC4iKTtyZXR1cm59Zis9MX1iPXRoaXMuX2dldFRlbnNvckRhdGFVUkwoe3dhdGNoX2tleTp0aGlzLnRlbnNvck5hbWUrIjoiK3RoaXMuZGVidWdPcCxzbGljaW5nOnRoaXMuc2xpY2luZyx0aW1lX2luZGljZXM6dGhpcy50aW1lSW5kaWNlcyxtYXBwaW5nOjI8PWY/ImltYWdlL3BuZyI6Im5vbmUifSk7dGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChiKS50aGVuKGg9Pnt0aGlzLiQkKCIjZGVidWctb3AiKS50ZXh0Q29udGVudD10aGlzLl9jYWxjdWxhdGVEZWJ1Z09wVG9EaXNwbGF5KCk7CmlmKG51bGwhPWguZXJyb3IpdGhpcy5fc2hvd1RvYXN0KGguZXJyb3IudHlwZSsiOiAiK2guZXJyb3IubWVzc2FnZSk7ZWxzZSBpZihoPWQ/aC50ZW5zb3JfZGF0YVswXTpoLnRlbnNvcl9kYXRhLDA9PT1mKXRoaXMuX3NldFZpc3VhbGl6YXRpb25UeXBlKCJzY2FsYXIiKSx0aGlzLnNldCgiX2RhdGFTY2FsYXIiLGgpO2Vsc2UgaWYoMT09PWYpe3RoaXMuX3NldFZpc3VhbGl6YXRpb25UeXBlKCJsaW5lQ2hhcnQiKTtsZXQgaz17eDpbXSx5Omh9O2ZvcihsZXQgcj0wO3I8aC5sZW5ndGg7KytyKWsueC5wdXNoKHIrMSk7dGhpcy5zZXQoIl9saW5lQ2hhcnREYXRhIixrKX1lbHNlIDI8PWY/KHRoaXMuX3NldFZpc3VhbGl6YXRpb25UeXBlKCJpbWFnZSIpLHRoaXMuc2V0KCJfZGF0YUltYWdlU3JjIiwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LCIraCkpOnRoaXMuX3Nob3dUb2FzdCgiVmlzdWFsaXphdGlvbiBvZiByYW5rLSIrZisiIHRlbnNvcnMgaXMgbm90IHlldCBzdXBwb3J0ZWQuIil9KX19LApyZWZyZXNoKCl7dGhpcy50ZW5zb3JOYW1lLnRyaW0oKSYmdGhpcy5yZW5kZXJUZW5zb3JWYWx1ZSgpfSxfZ2V0VGVuc29yRGF0YVVSTChiKXtjb25zdCBkPWRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJkZWJ1Z2dlciIsIi90ZW5zb3JfZGF0YSIpO3JldHVybiBkYy5hZGRQYXJhbXMoZCxiKX0sX3JhbmtGcm9tU2xpY2luZyhiKXtiLnN0YXJ0c1dpdGgoIlsiKSYmKGI9Yi5zbGljZSgxLGIubGVuZ3RoLTEpKTtpZigwPT09Yi5sZW5ndGgpcmV0dXJuIDA7e2I9Yi5zcGxpdCgiLCIpO2xldCBkPWIubGVuZ3RoO2Zvcihjb25zdCBmIG9mIGIpaXNOYU4oTnVtYmVyKGYpKXx8ZC0tO3JldHVybiBkfX0sX3NldFZpc3VhbGl6YXRpb25UeXBlKGIpeyJzY2FsYXIiPT09Yj8odGhpcy5zZXQoIl9pc1ZhbHVlU2NhbGFyIiwhMCksdGhpcy5zZXQoIl9pc1ZhbHVlTGluZUNoYXJ0IiwhMSksdGhpcy5zZXQoIl9pc1ZhbHVlSW1hZ2UiLCExKSk6ImxpbmVDaGFydCI9PT1iPyh0aGlzLnNldCgiX2lzVmFsdWVTY2FsYXIiLAohMSksdGhpcy5zZXQoIl9pc1ZhbHVlTGluZUNoYXJ0IiwhMCksdGhpcy5zZXQoIl9pc1ZhbHVlSW1hZ2UiLCExKSk6ImltYWdlIj09PWI/KHRoaXMuc2V0KCJfaXNWYWx1ZVNjYWxhciIsITEpLHRoaXMuc2V0KCJfaXNWYWx1ZUxpbmVDaGFydCIsITEpLHRoaXMuc2V0KCJfaXNWYWx1ZUltYWdlIiwhMCkpOmNvbnNvbGUuZXJyb3IoIkludmFsaWQgdmlzdWFsaXphdGlvblR5cGU6IixiKX0sX3RpbWVJbmRpY2VzVG9nZ2xlQnV0dG9uQ2FsbGJhY2soKXsiZnVsbCBoaXN0b3J5Ij09PVBvbHltZXIuZG9tKHRoaXMuJCQoIiN0aW1lLWluZGljZXMtdG9nZ2xlLWJ1dHRvbiIpKS50ZXh0Q29udGVudC50b0xvd2VyQ2FzZSgpP3RoaXMuc2V0KCJ0aW1lSW5kaWNlcyIsIjoiKTp0aGlzLnNldCgidGltZUluZGljZXMiLCItMSIpO3RoaXMucmVuZGVyVGVuc29yVmFsdWUoKX0sX3VwZGF0ZVRpbWVJbmRpY2VzVG9nZ2xlKGIpe3RoaXMuX2lzVGltZUluZGljZXNTaW5nbGVTdGVwKGIpP1BvbHltZXIuZG9tKHRoaXMuJCQoIiN0aW1lLWluZGljZXMtdG9nZ2xlLWJ1dHRvbiIpKS50ZXh0Q29udGVudD0KIkZ1bGwgSGlzdG9yeSI6UG9seW1lci5kb20odGhpcy4kJCgiI3RpbWUtaW5kaWNlcy10b2dnbGUtYnV0dG9uIikpLnRleHRDb250ZW50PSJMYXRlc3QgVGltZSBQb2ludCJ9LF9pc1RpbWVJbmRpY2VzU2luZ2xlU3RlcChiKXtiLnN0YXJ0c1dpdGgoIlsiKSYmKGI9Yi5zbGljZSgxLGIubGVuZ3RoLTEpKTtyZXR1cm4haXNOYU4oTnVtYmVyKGIpKX0sX2NhbGN1bGF0ZURlYnVnT3BUb0Rpc3BsYXkoKXtyZXR1cm4iRGVidWdJZGVudGl0eSI9PT10aGlzLmRlYnVnT3A/IiI6dGhpcy5kZWJ1Z09wfSxfc2hvd1RvYXN0KGIpe3RoaXMuJC50ZW5zb3JWYWx1ZVRvYXN0LnNldEF0dHJpYnV0ZSgidGV4dCIsYik7dGhpcy4kLnRlbnNvclZhbHVlVG9hc3Qub3BlbigpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWRlYnVnZ2VyLWRhc2hib2FyZC90Zi10ZW5zb3ItdmFsdWUtbXVsdGktdmlldy5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi10ZW5zb3ItdmFsdWUtbXVsdGktdmlldyIscHJvcGVydGllczp7Y29udGludWVUb0NhbGxiYWNrOkZ1bmN0aW9uLHRlbnNvck5hbWVDbGlja2VkOkZ1bmN0aW9uLF90ZW5zb3JWaWV3Q291bnRlcjp7dHlwZTpOdW1iZXIsdmFsdWU6MH0sZ2V0SGVhbHRoUGlsbDpGdW5jdGlvbn0sYWRkVmlldyhiKXtjb25zdCBkPXRoaXMuJCQoIiNtdWx0aS10ZW5zb3Itdmlldy1jb250YWluZXIiKSxmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRmLXRlbnNvci12YWx1ZS12aWV3Iik7Zi5zZXRBdHRyaWJ1dGUoImNsYXNzIiwiZGVidWdnZXItdGVuc29yLXZpZXciKTtmLnZpZXdJZD1iLnZpZXdJZDtmLnRlbnNvck5hbWU9Yi50ZW5zb3JOYW1lO2YuZGVidWdPcD1iLmRlYnVnT3A7Zi5kZXZpY2VOYW1lPWIuZGV2aWNlTmFtZTtmLm1heWJlQmFzZUV4cGFuZGVkTm9kZU5hbWU9Yi5tYXliZUJhc2VFeHBhbmRlZE5vZGVOYW1lO2YuZHR5cGU9Yi5kdHlwZTtmLnNoYXBlPWIuc2hhcGU7CmYuc2xpY2luZz1iLnNsaWNpbmc7Zi50aW1lSW5kaWNlcz1iLnRpbWVJbmRpY2VzO2YuY2xvc2VCdXR0b25DYWxsYmFjaz10aGlzLl9jcmVhdGVDbG9zZUJ1dHRvbkNhbGxiYWNrKGIudmlld0lkKTtmLmNvbnRpbnVlVG9CdXR0b25DYWxsYmFjaz0oKT0+e3RoaXMuY29udGludWVUb0NhbGxiYWNrKGIuZGV2aWNlTmFtZSxiLm1heWJlQmFzZUV4cGFuZGVkTm9kZU5hbWUpfTtmLnRlbnNvck5hbWVDYWxsYmFjaz0oKT0+e3RoaXMudGVuc29yTmFtZUNsaWNrZWQoYi5kZXZpY2VOYW1lLGIubWF5YmVCYXNlRXhwYW5kZWROb2RlTmFtZSl9O2YuZ2V0SGVhbHRoUGlsbD10aGlzLmdldEhlYWx0aFBpbGw7ZC5hcHBlbmRDaGlsZChmKTtmLnJlZnJlc2goKX0sZ2V0Vmlld3MoKXtjb25zdCBiPVtdO18uZm9yRWFjaCh0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgiLmRlYnVnZ2VyLXRlbnNvci12aWV3IiksZD0+e2IucHVzaCh7dmlld0lkOmQudmlld0lkLHRlbnNvck5hbWU6ZC50ZW5zb3JOYW1lLApkZWJ1Z09wOmQuZGVidWdPcCxzbGljaW5nOmQuc2xpY2luZyx0aW1lSW5kaWNlczpkLnRpbWVJbmRpY2VzfSl9KTtyZXR1cm4gYn0scmVuZGVyVGVuc29yVmFsdWVzKCl7Xy5mb3JFYWNoKHRoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCIuZGVidWdnZXItdGVuc29yLXZpZXciKSxiPT57Yi5yZW5kZXJUZW5zb3JWYWx1ZSgpfSl9LF9yZWRyYXdWaWV3cyhiKXtjb25zdCBkPXRoaXMuJCQoIiNtdWx0aS10ZW5zb3Itdmlldy1jb250YWluZXIiKTtfLmZvckVhY2godGhpcy5yb290LnF1ZXJ5U2VsZWN0b3JBbGwoIi5kZWJ1Z2dlci10ZW5zb3ItdmlldyIpLGY9PntkLnJlbW92ZUNoaWxkKGYpfSk7Xy5mb3JFYWNoKGIsZj0+e3RoaXMuYWRkVmlldyhmKX0pfSxfY3JlYXRlQ2xvc2VCdXR0b25DYWxsYmFjayhiKXtyZXR1cm4oKT0+e2NvbnN0IGQ9W10sZj10aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgiLmRlYnVnZ2VyLXRlbnNvci12aWV3Iik7Zm9yKGxldCBoPTA7aDxmLmxlbmd0aDsrK2gpe2NvbnN0IGs9CmZbaF07ay52aWV3SWQhPT1iJiZkLnB1c2goe3ZpZXdJZDprLnZpZXdJZCx0ZW5zb3JOYW1lOmsudGVuc29yTmFtZSxkZWJ1Z09wOmsuZGVidWdPcCxkdHlwZTprLmR0eXBlLHNoYXBlOmsuc2hhcGUsc2xpY2luZzprLnNsaWNpbmcsdGltZUluZGljZXM6ay50aW1lSW5kaWNlc30pfXRoaXMuX3JlZHJhd1ZpZXdzKGQpfX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1kZWJ1Z2dlci1kYXNoYm9hcmQvdGVuc29yLXNoYXBlLWhlbHBlci5qcwooZnVuY3Rpb24oYil7ZnVuY3Rpb24gZChmLGgpe3JldHVybiBmPD1oPyI6OiI6Ijo6IitNYXRoLmNlaWwoZi9oKX1iLmdldERlZmF1bHRTbGljaW5nPWZ1bmN0aW9uKGYpe3JldHVybiAwPT09Zi5sZW5ndGg/IiI6MT09PWYubGVuZ3RoPyJbIitkKGZbMF0sMUUzKSsiXSI6Mj09PWYubGVuZ3RoPyJbIitkKGZbMF0sMjUwKSsiLCAiK2QoZlsxXSwyNTApKyJdIjpudWxsfTtiLnJhbmtGcm9tU2xpY2luZz1mdW5jdGlvbihmKXtmLnN0YXJ0c1dpdGgoIlsiKSYmKGY9Zi5zbGljZSgxLGYubGVuZ3RoLTEpKTtpZigwPT09Zi5sZW5ndGgpcmV0dXJuIDA7e2Y9Zi5zcGxpdCgiLCIpO2xldCBoPWYubGVuZ3RoO2Zvcihjb25zdCBrIG9mIGYpaXNOYU4oTnVtYmVyKGspKXx8aC0tO3JldHVybiBofX19KShLaHx8KEtoPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZGVidWdnZXItZGFzaGJvYXJkL3RmLWRlYnVnZ2VyLWRhc2hib2FyZC5odG1sLmpzCmNvbnN0IGFsPSgpPT53aW5kb3cuaW5uZXJIZWlnaHR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR8fGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0LGJsPSgpPT53aW5kb3cuaW5uZXJXaWR0aHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRofHxkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoLGNsPShhbCgpLTcwKS8yOwpQb2x5bWVyKHtpczoidGYtZGVidWdnZXItZGFzaGJvYXJkIixwcm9wZXJ0aWVzOntfdG9wUmlnaHRUYWJzOnt0eXBlOkFycmF5LHZhbHVlOlt7aWQ6InRhYi1ydW50aW1lLWdyYXBocyIsbmFtZToiUnVudGltZSBHcmFwaHMifSx7aWQ6InRhYi10ZW5zb3ItdmFsdWVzIixuYW1lOiJUZW5zb3IgVmFsdWVzIn1dLHJlYWRvbmx5OiEwfSxfaXNUb3BSaWdodFJ1bnRpbWVHcmFwaHNBY3RpdmU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMH0sX2lzVG9wUmlnaHRUZW5zb3JWYWx1ZXNBY3RpdmU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX3RvcFJpZ2h0U2VsZWN0ZWQ6e3R5cGU6U3RyaW5nLHZhbHVlOiIwIixvYnNlcnZlcjoiX3RvcFJpZ2h0U2VsZWN0ZWRDaGFuZ2VkIn0sX2xvbmdQb2xsQ291bnQ6e3R5cGU6TnVtYmVyLHZhbHVlOjB9LF9zdGVwQnV0dG9uVGV4dDp7dHlwZTpTdHJpbmcsdmFsdWU6IlN0ZXAifSxfY29udGludWVCdXR0b25UZXh0Ont0eXBlOlN0cmluZyx2YWx1ZToiQ29udGludWUuLi4ifSwKX3RlbnNvclZpZXdJZENvdW50ZXI6e3R5cGU6TnVtYmVyLHZhbHVlOjB9LGlzUmVsb2FkRGlzYWJsZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMCxyZWFkT25seTohMH0sYWxyZWFkeVN0YXJ0ZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX2N1cnJlbnRTZXNzaW9uUnVuSW5mbzp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sX3Nlc3Npb25SdW5Ub3RhbENvdW50ZXI6e3R5cGU6TnVtYmVyLHZhbHVlOjB9LF9zZXNzaW9uUnVuQ291bnRlcnM6e3R5cGU6T2JqZWN0LHZhbHVlOnt9fSxfc2Vzc2lvblJ1bktleTJEZXZpY2VOYW1lczp7dHlwZTpPYmplY3QsdmFsdWU6e319LF9hY3RpdmVTZXNzaW9uUnVuS2V5Ont0eXBlOlN0cmluZyx2YWx1ZTpudWxsfSxfYWN0aXZlU2Vzc2lvblJ1bkRldmljZXM6e3R5cGU6QXJyYXksdmFsdWU6W119LF9hY3RpdmVTZXNzaW9uUnVuTnVtRGV2aWNlczp7dHlwZTpOdW1iZXIsdmFsdWU6LTF9LF9hY3RpdmVSdW50aW1lR3JhcGhEZXZpY2VOYW1lOnt0eXBlOlN0cmluZywKdmFsdWU6bnVsbCxub3RpZnk6ITB9LF9oaWdobGlnaHROb2RlTmFtZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sX2NvbnRpbnVlVG9UeXBlOnt0eXBlOlN0cmluZyx2YWx1ZToiIn0sX2NvbnRpbnVlVG9Db3VudGVyOnt0eXBlOk51bWJlcix2YWx1ZTowfSxfY29udGludWVTdG9wOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9jb250aW51ZVRvVGFyZ2V0Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sX2NvbnRpbnVlVG9Db3VudGVyVGFyZ2V0Ont0eXBlOk51bWJlcix2YWx1ZTotMX0sX2ZvcmNlRXhwYW5kQW5kQ2hlY2tOb2RlTmFtZTpTdHJpbmcsX2ZvcmNlRXhwYW5kTm9kZU5hbWU6U3RyaW5nLF9zb3VyY2VGb2N1c05vZGVOYW1lOlN0cmluZyxfc291cmNlQ29kZVNob3duOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsb2JzZXJ2ZXI6Il9zaG93U291cmNlQ29kZUNoYW5nZWQifSxfZ3JhcGhQcm9ncmVzczp7dHlwZTpPYmplY3R9LF9yZXF1ZXN0TWFuYWdlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9PgpuZXcgZGMuUmVxdWVzdE1hbmFnZXIoNTApfSxfYnVzeTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfbGVmdFBhbmVXaWR0aDp7dHlwZTpOdW1iZXIsdmFsdWU6YmQuZ2V0TnVtYmVySW5pdGlhbGl6ZXIoIl9sZWZ0UGFuZVdpZHRoIix7ZGVmYXVsdFZhbHVlOjQ1MH0pLG9ic2VydmVyOiJfbGVmdFBhbmVXaWR0aE9ic2VydmVyIn0sX21pbmxlZnRQYW5lV2lkdGg6e3R5cGU6TnVtYmVyLHZhbHVlOjQ1MCxyZWFkT25seTohMH0sX21heGxlZnRQYW5lV2lkdGg6e3R5cGU6TnVtYmVyLGNvbXB1dGVkOiJfY29tcHV0ZU1heGxlZnRQYW5lV2lkdGgoX3dpbmRvd1dpZHRoLCBfbWF4TWFpbkNvbnRlbnRXaWR0aCwgX3Jlc2l6ZXJXaWR0aCkifSxfbWF4TWFpbkNvbnRlbnRXaWR0aDp7dHlwZTpOdW1iZXIsdmFsdWU6MzUwLHJlYWRPbmx5OiEwfSxfdG9wUmlnaHRRdWFkcmFudEhlaWdodDp7dHlwZTpOdW1iZXIsdmFsdWU6YmQuZ2V0TnVtYmVySW5pdGlhbGl6ZXIoIl90b3BSaWdodFF1YWRyYW50SGVpZ2h0IiwKe2RlZmF1bHRWYWx1ZTpjbH0pLG9ic2VydmVyOiJfdG9wUmlnaHRRdWFkcmFudEhlaWdodE9ic2VydmVyIn0sX21pblRvcFJpZ2h0UXVhZHJhbnRIZWlnaHQ6e3R5cGU6TnVtYmVyLHZhbHVlOjIwMCxyZWFkT25seTohMH0sX21heFRvcFJpZ2h0UXVhZHJhbnRIZWlnaHQ6e3R5cGU6TnVtYmVyLGNvbXB1dGVkOiJfY29tcHV0ZU1heFRvcFJpZ2h0UXVhZHJhbnRIZWlnaHQoX3dpbmRvd0hlaWdodCwgX3Jlc2l6ZXJXaWR0aCkifSxfcmVzaXplcldpZHRoOnt0eXBlOk51bWJlcix2YWx1ZTozMCxyZWFkT25seTohMH0sX3dpbmRvd1dpZHRoOk51bWJlcixfd2luZG93SGVpZ2h0Ok51bWJlcixfZGVidWdXYXRjaGVzOkFycmF5LF9sYXRlc3RTZXNzaW9uUnVuOk9iamVjdH0sb2JzZXJ2ZXJzOlsiX29uQWN0aXZlUnVudGltZUdyYXBoRGV2aWNlTmFtZUNoYW5nZShfYWN0aXZlUnVudGltZUdyYXBoRGV2aWNlTmFtZSkiLCJfc2l6ZURhc2hib2FyZFJlZ2lvbnMoX2xlZnRQYW5lV2lkdGgsIF90b3BSaWdodFF1YWRyYW50SGVpZ2h0LCBfd2luZG93V2lkdGgpIiwKIl9ncmFwaFByb2dyZXNzVXBkYXRlZChfZ3JhcGhQcm9ncmVzcykiXSxyZWFkeSgpe3RoaXMuX2hhbmRsZVdpbmRvd1Jlc2l6ZSgpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCgpPT57dGhpcy5faGFuZGxlV2luZG93UmVzaXplKCl9LCExKTt0aGlzLnJlbG9hZCgpfSxsb25nX3BvbGwoKXtjb25zdCBiPXtwb3M6Kyt0aGlzLl9sb25nUG9sbENvdW50fTtsZXQgZD1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiZGVidWdnZXIiLCIvY29tbSIpO2Q9ZGMuYWRkUGFyYW1zKGQsYik7dGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChkKS50aGVuKGY9Pntjb25zdCBoPWYudHlwZTtmPWYuZGF0YTtpZigibWV0YSI9PT1oKXt2YXIgaz1mLnJ1bl9rZXkscj1rWzBdLnNwbGl0KCIsIiksbD1rWzFdLnNwbGl0KCIsIik7Y29uc3QgbT1rWzJdLnNwbGl0KCIsIik7dmFyIHA9dGhpcy5fYWN0aXZlU2Vzc2lvblJ1bktleTt0aGlzLnNldCgiX2FjdGl2ZVNlc3Npb25SdW5LZXkiLAprKTt0aGlzLnNldCgiX2xhdGVzdFNlc3Npb25SdW4iLHtmZWVkczpyLGZldGNoZXM6bCx0YXJnZXRzOm19KTt0aGlzLnNldCgiX3Nlc3Npb25SdW5Tb2xlQWN0aXZlIiwhMCk7dm9pZCAwPT09dGhpcy5fc2Vzc2lvblJ1bktleTJEZXZpY2VOYW1lc1trXT8odGhpcy5fc2Vzc2lvblJ1bktleTJEZXZpY2VOYW1lc1trXT1bXSx0aGlzLnNldCgiX2FjdGl2ZVNlc3Npb25SdW5EZXZpY2VzIixbXSkpOnRoaXMuc2V0KCJfYWN0aXZlU2Vzc2lvblJ1bkRldmljZXMiLHRoaXMuX3Nlc3Npb25SdW5LZXkyRGV2aWNlTmFtZXNba10pO3RoaXMuX2N1cnJlbnRTZXNzaW9uUnVuSW5mbz1yPSJGZWVkczogIityKyI7IEZldGNoZXM6ICIrbCsiOyBUYXJnZXRzOiAiK207dGhpcy5fc2Vzc2lvblJ1bkNvdW50ZXJzLmhhc093blByb3BlcnR5KHIpP3RoaXMuX3Nlc3Npb25SdW5Db3VudGVyc1tyXSs9MTp0aGlzLl9zZXNzaW9uUnVuQ291bnRlcnNbcl09MTt0aGlzLl9zZXNzaW9uUnVuVG90YWxDb3VudGVyKys7CnRoaXMuJC5pbml0aWFsRGlhbG9nLmNsb3NlRGlhbG9nKCk7dGhpcy5fY29udGludWVUb1R5cGUmJl8uaXNFcXVhbChwLGspfHwodGhpcy5fcHJvY2Vzc0dhdGVkR3JwY0RlYnVnT3BzKGssITEpLHRoaXMuX2Fubm91bmNlTmV3U2Vzc2lvblJ1bigpKX1lbHNlInRlbnNvciI9PT1oPyhrPWYuZGV2aWNlX25hbWUscD1mLm5vZGVfbmFtZSxyPWYubWF5YmVfYmFzZV9leHBhbmRlZF9ub2RlX25hbWUsdGhpcy5fYWN0aXZlUnVudGltZUdyYXBoRGV2aWNlTmFtZSE9az90aGlzLnNldCgiX2FjdGl2ZVJ1bnRpbWVHcmFwaERldmljZU5hbWUiLGspOiF0aGlzLl9jb250aW51ZVRvVHlwZSYmdGhpcy5faXNUb3BSaWdodFJ1bnRpbWVHcmFwaHNBY3RpdmUmJih0aGlzLl9mb2N1c09uR3JhcGhOb2RlKGssciksdGhpcy5zZXQoIl9mb3JjZUV4cGFuZE5vZGVOYW1lIixrKyIvIityKSksdGhpcy5zZXQoIl9zZXNzaW9uUnVuU29sZUFjdGl2ZSIsITEpLGw9cCsiOiIrZi5vdXRwdXRfc2xvdCx0aGlzLnNldCgiX2xhdGVzdFRlbnNvckRhdGEiLAp7ZGV2aWNlTmFtZTprLHRlbnNvck5hbWU6bCxub2RlTmFtZTpwLG1heWJlQmFzZUV4cGFuZGVkTm9kZU5hbWU6cixkZWJ1Z09wOmYuZGVidWdfb3AsZHR5cGU6Zi5kdHlwZSxzaGFwZTpmLnNoYXBlLHZhbHVlOmYudmFsdWVzfSksdGhpcy5fbWF5YmVVcGRhdGVUZW5zb3JWYWx1ZVZpZXdzKGwsZi5kZWJ1Z19vcCksdGhpcy5zZXQoIl9idXN5IiwhMSkpOmNvbnNvbGUuZXJyb3IoIkludmFsaWQgbG9uZy1wb2xsaW5nIHJlc3BvbnNlIHR5cGU6ICIsaCk7bnVsbCE9dGhpcy5fY29udGludWVUb1R5cGUmJnRoaXMuX3Byb2Nlc3NDb250aW51ZVRvKGgsZik7dGhpcy5sb25nX3BvbGwoKX0pfSxfcHJvY2Vzc0NvbnRpbnVlVG8oYixkKXt0aGlzLl9jb250aW51ZVN0b3A/dGhpcy5fY2xlYXJDb250aW51ZVRvKCk6IlNlc3Npb25SdW4iPT09dGhpcy5fY29udGludWVUb1R5cGU/dGhpcy5fcHJvY2Vzc0NvbnRpbnVlVG9TZXNzaW9uUnVuKCJtZXRhIj09PWIpOiJUZW5zb3JDb25kaXRpb24iPT09CnRoaXMuX2NvbnRpbnVlVG9UeXBlP3RoaXMuX3N0ZXAoKToib3AiPT09dGhpcy5fY29udGludWVUb1R5cGU/dGhpcy5fcHJvY2Vzc0NvbnRpbnVlVG9PcCgibWV0YSI9PT1iLGQpOm51bGwhPXRoaXMuX2NvbnRpbnVlVG9UeXBlJiYiIiE9PXRoaXMuX2NvbnRpbnVlVG9UeXBlJiZjb25zb2xlLmVycm9yKCJJbnZhbGlkIF9jb250aW51ZVRvVHlwZToiLHRoaXMuX2NvbnRpbnVlVG9UeXBlKX0sX3Byb2Nlc3NDb250aW51ZVRvU2Vzc2lvblJ1bihiKXtiJiZ0aGlzLnNldCgiX2NvbnRpbnVlVG9Db3VudGVyIix0aGlzLl9jb250aW51ZVRvQ291bnRlcisxKTt0aGlzLl9jb250aW51ZVRvQ291bnRlcjx0aGlzLl9jb250aW51ZVRvQ291bnRlclRhcmdldD90aGlzLl9zdGVwKCk6dGhpcy5fY2xlYXJDb250aW51ZVRvKCl9LF9wcm9jZXNzQ29udGludWVUb09wKGIsZCl7YiYmdGhpcy5fYW5ub3VuY2VOZXdTZXNzaW9uUnVuKCk7Yj1kLmRldmljZV9uYW1lO2Q9ZC5tYXliZV9iYXNlX2V4cGFuZGVkX25vZGVfbmFtZTsKY29uc3QgZj1udWxsPT1kP251bGw6S2gucmVtb3ZlTm9kZU5hbWVCYXNlRXhwYW5zaW9uKGQpO2IrIi8iK2Q9PT10aGlzLl9jb250aW51ZVRvVGFyZ2V0fHxiKyIvIitmPT09dGhpcy5fY29udGludWVUb1RhcmdldD8odGhpcy5fY2xlYXJDb250aW51ZVRvKCksdGhpcy5fc291cmNlQ29kZVNob3duJiZ0aGlzLnNldCgiX3NvdXJjZUZvY3VzTm9kZU5hbWUiLGYpKTp0aGlzLl9zdGVwKCl9LF9tYXliZVVwZGF0ZVRlbnNvclZhbHVlVmlld3MoYixkKXtjb25zdCBmPXRoaXMuJCQoIiN0ZW5zb3JWYWx1ZU11bHRpVmlldyIpO2lmKG51bGwhPWYpe3ZhciBoPSExO18uZm9yRWFjaChmLmdldFZpZXdzKCksaz0+e2lmKGsudGVuc29yTmFtZT09PWImJmsuZGVidWdPcD09PWQpcmV0dXJuIGg9ITAsITF9KTtoJiZmLnJlbmRlclRlbnNvclZhbHVlcygpfX0scmVsb2FkKCl7aWYoIXRoaXMuYWxyZWFkeVN0YXJ0ZWQpe3RoaXMuc2V0KCJhbHJlYWR5U3RhcnRlZCIsITApO3ZhciBiPWRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJkZWJ1Z2dlciIsCiIvZGVidWdnZXJfZ3JwY19ob3N0X3BvcnQiKTt0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGIpLnRoZW4oZD0+ezA8ZC5wb3J0Pyh0aGlzLiQuaW5pdGlhbERpYWxvZy5vcGVuRGlhbG9nKGQuaG9zdCxkLnBvcnQpLHRoaXMubG9uZ19wb2xsKCkpOnRoaXMuJC5pbml0aWFsRGlhbG9nLm9wZW5EaXNhYmxlZERpYWxvZygpfSl9fSxfc2hvd1NvdXJjZUNvZGVDaGFuZ2VkKCl7dGhpcy5fc291cmNlQ29kZVNob3duPyh0aGlzLiQkKCIjbm9kZS1lbnRyaWVzIikuc3R5bGUuaGVpZ2h0PSI0MCUiLHRoaXMuJC5zb3VyY2VDb2RlVmlldy5yZW5kZXIoKSk6dGhpcy4kJCgiI25vZGUtZW50cmllcyIpLnN0eWxlLmhlaWdodD0iODAlIn0sX3Nob3dUb2FzdChiKXt0aGlzLiQudG9hc3Quc2V0QXR0cmlidXRlKCJ0ZXh0IixiKTt0aGlzLiQudG9hc3Qub3BlbigpfSxfYW5ub3VuY2VOZXdTZXNzaW9uUnVuKCl7dGhpcy5fc2hvd1RvYXN0KCJTZXNzaW9uLnJ1bigpICMiK3RoaXMuX3Nlc3Npb25SdW5Ub3RhbENvdW50ZXIrCiIgaXMgc3RhcnRpbmcuIil9LF9kaXNwbGF5R3JhcGgoYixkKXtiPXtydW5fa2V5OkpTT04uc3RyaW5naWZ5KGIpLGRldmljZV9uYW1lOmR9O2I9ZGMuYWRkUGFyYW1zKCIvZGF0YS9wbHVnaW4vZGVidWdnZXIvZGVidWdnZXJfZ3JhcGgiLGIpO3RoaXMuJC5sb2FkZXIuZGF0YXNldHM9W3tuYW1lOiIvZGVidWdnZXJfZ3JhcGgiLHBhdGg6Yn1dO3RoaXMuJC5sb2FkZXIuc2V0KCJzZWxlY3RlZERhdGFzZXQiLDApfSxfcHJvY2Vzc0dhdGVkR3JwY0RlYnVnT3BzKGIsZCl7ZD9jb25zb2xlLmxvZygiUG9sbGluZyBmb3IgZmlyc3QgR3JhcGhEZWYgZm9yIHJ1biBrZXk6IixiKTp0aGlzLnNldCgiX2FjdGl2ZVJ1bnRpbWVHcmFwaERldmljZU5hbWUiLG51bGwpO3ZhciBmPXttb2RlOiJyZXRyaWV2ZV9hbGwiLHJ1bl9rZXk6SlNPTi5zdHJpbmdpZnkoYil9O2NvbnN0IGg9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImRlYnVnZ2VyIiwiL2dhdGVkX2dycGMiKTtmPWRjLmFkZFBhcmFtcyhoLApmKTtsZXQgaz1bXTt0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGYpLnRoZW4ocj0+e2lmKDA9PXIuZGV2aWNlX25hbWVzLmxlbmd0aClkfHx0aGlzLl9zdGVwKCksdGhpcy5fcHJvY2Vzc0dhdGVkR3JwY0RlYnVnT3BzKGIsITApO2Vsc2V7dmFyIGw9bnVsbDtmb3IoY29uc3QgcCBpbiByLmdhdGVkX2dycGNfdGVuc29ycylpZihyLmdhdGVkX2dycGNfdGVuc29ycy5oYXNPd25Qcm9wZXJ0eShwKSl7LTE9PT10aGlzLl9zZXNzaW9uUnVuS2V5MkRldmljZU5hbWVzW2JdLmluZGV4T2YocCkmJih0aGlzLl9zZXNzaW9uUnVuS2V5MkRldmljZU5hbWVzW2JdLnB1c2gocCksdGhpcy4kLnNlc3Npb25SdW5zVmlldy51cGRhdGVOdW1EZXZpY2VzKHRoaXMuX3Nlc3Npb25SdW5LZXkyRGV2aWNlTmFtZXNbYl0ubGVuZ3RoKSk7dGhpcy5zZXQoIl9hY3RpdmVTZXNzaW9uUnVuRGV2aWNlcyIsdGhpcy5fc2Vzc2lvblJ1bktleTJEZXZpY2VOYW1lc1tiXS5zbGljZSgpKTtsPXRoaXMuX2FjdGl2ZVNlc3Npb25SdW5EZXZpY2VzW3RoaXMuX2FjdGl2ZVNlc3Npb25SdW5EZXZpY2VzLmxlbmd0aC0KMV07Y29uc3QgbT1yLmdhdGVkX2dycGNfdGVuc29yc1twXTtmb3IobGV0IG49MDtuPG0ubGVuZ3RoOysrbilrLnB1c2goe2RldmljZV9uYW1lOnAsbm9kZV9uYW1lOm1bbl1bMF0sb3BfdHlwZTptW25dWzFdLG91dHB1dF9zbG90Om1bbl1bMl0sZGVidWdfb3A6bVtuXVszXX0pfW51bGwhPWwmJih0aGlzLnNldCgiX2FjdGl2ZVJ1bnRpbWVHcmFwaERldmljZU5hbWUiLGwpLHI9UG9seW1lci5kb20odGhpcy4kJCgiI2FjdGl2ZS1ydW50aW1lLWdyYXBoLWRldmljZS1uYW1lIikpLG51bGwhPXImJnIuc2V0QXR0cmlidXRlKCJzZWxlY3RlZCIsbCkpO0toLnNvcnRBbmRCYXNlRXhwYW5kRGVidWdXYXRjaGVzKGspO3RoaXMuc2V0KCJfZGVidWdXYXRjaGVzIixrKTt0aGlzLiQuc291cmNlQ29kZVZpZXcucmVuZGVyKGspfX0pfSxfY3JlYXRlRGVidWdXYXRjaENoYW5nZUhhbmRsZXIoKXtyZXR1cm4oYixkKT0+e2Q9ZD8iYnJlYWsiOiJkaXNhYmxlIjt0aGlzLl9yZXF1ZXN0QnJlYWtwb2ludFN0YXRlQ2hhbmdlKEtoLmdldENsZWFuTm9kZU5hbWUoYi5kZXZpY2VfbmFtZSsKIi8iK2Iubm9kZV9uYW1lKSxiLm91dHB1dF9zbG90LGIuZGVidWdfb3AsZCl9fSxfZm9jdXNPbkdyYXBoTm9kZShiLGQpe251bGwhPWImJnRoaXMuX2FjdGl2ZVJ1bnRpbWVHcmFwaERldmljZU5hbWUhPT1iJiZ0aGlzLnNldCgiX2FjdGl2ZVJ1bnRpbWVHcmFwaERldmljZU5hbWUiLGIpO3RoaXMuX3NldFRvcFJpZ2h0UnVudGltZUdyYXBoc1RvQWN0aXZlKCk7Y29uc3QgZj10aGlzLiQkKCIjZ3JhcGgiKTtpZihmLnNlbGVjdGVkTm9kZT09PWQpZi5wYW5Ub05vZGUoZCk7ZWxzZXtjb25zdCBoPWYuZ2V0KCJyZW5kZXJIaWVyYXJjaHkiKS5oaWVyYXJjaHkuZ2V0Tm9kZU1hcCgpO251bGw9PWhbZF0mJihkPUtoLnJlbW92ZU5vZGVOYW1lQmFzZUV4cGFuc2lvbihkKSk7bnVsbCE9aFtkXSYmZi5zZXQoInNlbGVjdGVkTm9kZSIsZCl9dGhpcy5zZXQoIl9oaWdobGlnaHROb2RlTmFtZSIsYisiLyIrZCl9LF9jcmVhdGVOb2RlQ2xpY2tlZEhhbmRsZXIoKXtyZXR1cm4oYixkLGYpPT57dGhpcy5fc291cmNlQ29kZVNob3duJiYKITAhPT1mJiZ0aGlzLnNldCgiX3NvdXJjZUZvY3VzTm9kZU5hbWUiLEtoLnJlbW92ZU5vZGVOYW1lQmFzZUV4cGFuc2lvbihkKSk7dGhpcy5fZm9jdXNPbkdyYXBoTm9kZShiLGQpO3RoaXMuc2V0KCJfZm9yY2VFeHBhbmROb2RlTmFtZSIsYisiLyIrZCl9fSxfY3JlYXRlRmVlZEZldGNoVGFyZ2V0Q2xpY2tlZEhhbmRsZXIoKXtyZXR1cm4gYj0+e2xldCBkPWI7LTEhPT1kLmluZGV4T2YoIjoiKSYmKGQ9ZC5zbGljZSgwLGQuaW5kZXhPZigiOiIpKSk7Yj1fLmZpbmQodGhpcy5fZGVidWdXYXRjaGVzLGY9PmYubm9kZV9uYW1lPT09ZHx8MD09PWYubm9kZV9uYW1lLmluZGV4T2YoZCkmJiIoIj09PWYubm9kZV9uYW1lW2QubGVuZ3RoXSk7bnVsbD09Yj90aGlzLl9zaG93VG9hc3QoIk5vZGUgJyIrZCsiJyBpcyBub3QgaW4gdGhlIHJ1bnRpbWUgZ3JhcGggb2YgdGhlIGN1cnJlbnQgU2Vzc2lvbi5ydW4gb3IgZG9lcyBub3QgaGF2ZSBhIGRlYnVnIG9wIGF0dGFjaGVkLiIpOnRoaXMuX2ZvY3VzT25HcmFwaE5vZGUoYi5kZXZpY2VfbmFtZSwKZCl9fSxfY3JlYXRlVGVuc29yRGF0YUV4cGFuZEhhbmRsZXIoKXtyZXR1cm4gYj0+e3RoaXMuX3NldFRvcFJpZ2h0VGVuc29yVmFsdWVzVG9BY3RpdmUoKTtzZXRUaW1lb3V0KCgpPT57dGhpcy4kJCgiI3RlbnNvclZhbHVlTXVsdGlWaWV3IikuYWRkVmlldyh7dmlld0lkOnRoaXMuX2NyZWF0ZVRlbnNvclZpZXdJZCgpLGRldmljZU5hbWU6Yi5kZXZpY2VOYW1lLHRlbnNvck5hbWU6Yi50ZW5zb3JOYW1lLG5vZGVOYW1lOmIubm9kZU5hbWUsbWF5YmVCYXNlRXhwYW5kZWROb2RlTmFtZTpiLm1heWJlQmFzZUV4cGFuZGVkTm9kZU5hbWUsZGVidWdPcDpiLmRlYnVnT3AsZHR5cGU6Yi5kdHlwZSxzaGFwZTpiLnNoYXBlLHNsaWNpbmc6S2guZ2V0RGVmYXVsdFNsaWNpbmcoYi5zaGFwZSksdGltZUluZGljZXM6Ii0xIn0pfSwxMCl9fSxfY3JlYXRlVGVuc29yVmlld0lkKCl7Y29uc3QgYj0iZGVidWdnZXItdGVuc29yLXZpZXctIit0aGlzLl90ZW5zb3JWaWV3SWRDb3VudGVyO3RoaXMuX3RlbnNvclZpZXdJZENvdW50ZXIrKzsKcmV0dXJuIGJ9LF9jcmVhdGVOb2RlQ29udGV4dE1lbnVJdGVtcygpe3JldHVyblt7dGl0bGU6KCk9PiJFeHBhbmQgYW5kIGhpZ2hsaWdodCIsYWN0aW9uOmI9Pntjb25zdCBkPUtoLmdldENsZWFuTm9kZU5hbWUoYi5ub2RlLm5hbWUpO2I9dGhpcy5fYWN0aXZlUnVudGltZUdyYXBoRGV2aWNlTmFtZSsiLyIrYi5ub2RlLm5hbWU7dGhpcy5zZXQoIl9mb3JjZUV4cGFuZE5vZGVOYW1lIixiKTt0aGlzLnNldCgiX2hpZ2hsaWdodE5vZGVOYW1lIixiKTt0aGlzLl9zb3VyY2VDb2RlU2hvd24mJnRoaXMuc2V0KCJfc291cmNlRm9jdXNOb2RlTmFtZSIsS2gucmVtb3ZlTm9kZU5hbWVCYXNlRXhwYW5zaW9uKGQpKX19LHt0aXRsZTooKT0+IkFkZCBicmVha3BvaW50IixhY3Rpb246Yj0+e2NvbnN0IGQ9S2guZ2V0Q2xlYW5Ob2RlTmFtZShiLm5vZGUubmFtZSk7dGhpcy5zZXQoIl9mb3JjZUV4cGFuZEFuZENoZWNrTm9kZU5hbWUiLHRoaXMuX2FjdGl2ZVJ1bnRpbWVHcmFwaERldmljZU5hbWUrCiIvIitiLm5vZGUubmFtZSk7dGhpcy5fc291cmNlQ29kZVNob3duJiZ0aGlzLnNldCgiX3NvdXJjZUZvY3VzTm9kZU5hbWUiLEtoLnJlbW92ZU5vZGVOYW1lQmFzZUV4cGFuc2lvbihkKSl9fSx7dGl0bGU6KCk9PiJDb250aW51ZSB0byIsYWN0aW9uOmI9PnstMSE9PVsiX0FyZyIsIl9SZXR2YWwiXS5pbmRleE9mKGIubm9kZS5vcCk/dGhpcy5fc2hvd1RvYXN0KCdDYW5ub3QgY29udGludWUgdG8gbm9kZSAiJytiLm5vZGUubmFtZSsnIiwgZHVlIHRvIG9wIHR5cGUgIicrYi5ub2RlLm9wKyciLicpOnRoaXMuX2NvbnRpbnVlVG9Ob2RlKHRoaXMuX2FjdGl2ZVJ1bnRpbWVHcmFwaERldmljZU5hbWUsYi5ub2RlLm5hbWUpfX1dfSxfY3JlYXRlR2V0SGVhbHRoUGlsbCgpe3JldHVybihiLGQsZixoKT0+e3ZhciBrPXt3YXRjaF9rZXk6Yix0aW1lX2luZGljZXM6Ii0xIixtYXBwaW5nOiJoZWFsdGgtcGlsbCJ9O2NvbnN0IHI9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImRlYnVnZ2VyIiwKIi90ZW5zb3JfZGF0YSIpO2s9ZGMuYWRkUGFyYW1zKHIsayk7dGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChrKS50aGVuKGw9PntsPWwudGVuc29yX2RhdGFbMF07aChsKTt0aGlzLl9jb25kaXRpb25hbEhlYWx0aFBpbGxTdG9wKGIsZCxmLGwpfSl9fSxfY29uZGl0aW9uYWxIZWFsdGhQaWxsU3RvcChiLGQsZixoKXtpZigiVGVuc29yQ29uZGl0aW9uIj09PXRoaXMuX2NvbnRpbnVlVG9UeXBlJiZLaC5jaGVja0hlYWx0aFBpbGxBZ2FpbnN0VGVuc29yQ29uZGl0aW9uS2V5KHRoaXMuX2NvbnRpbnVlVG9UYXJnZXQsaCx0aGlzLl9jb250aW51ZVRvQ291bnRlclRhcmdldCkpe3RoaXMuc2V0KCJfY29udGludWVTdG9wIiwhMCk7aD1LaC5yZW1vdmVOb2RlTmFtZUJhc2VFeHBhbnNpb24oZik7dGhpcy5fc291cmNlQ29kZVNob3duJiZ0aGlzLnNldCgiX3NvdXJjZUZvY3VzTm9kZU5hbWUiLGgpO3RoaXMuX2ZvY3VzT25HcmFwaE5vZGUoZCxmKTtjb25zdCBrPWQrIi8iK2Y7dGhpcy5zZXQoIl9mb3JjZUV4cGFuZE5vZGVOYW1lIiwKayk7c2V0VGltZW91dCgoKT0+e3RoaXMuc2V0KCJfaGlnaGxpZ2h0Tm9kZU5hbWUiLG51bGwpO3RoaXMuc2V0KCJfaGlnaGxpZ2h0Tm9kZU5hbWUiLGspfSwxMDApO3RoaXMuX3Nob3dUb2FzdCgnVGVuc29yIGNvbmRpdGlvbiAiJyt0aGlzLl9jb250aW51ZVRvVGFyZ2V0KyciIGlzIG1ldCBieSB3YXRjaCBrZXk6ICInK2IrJyIuXG5TdG9wcGluZyBjb250aW51YXRpb24uJyl9fSxfY29udGludWVUb05vZGUoYixkKXtjb25zdCBmPUtoLmdldENsZWFuTm9kZU5hbWUoZCk7Yj1iKyIvIitkO3RoaXMuX3JlcXVlc3RCcmVha3BvaW50U3RhdGVDaGFuZ2UoZiwwLCJEZWJ1Z0lkZW50aXR5IiwiYnJlYWsiKTt0aGlzLnNldCgiX2ZvcmNlRXhwYW5kQW5kQ2hlY2tOb2RlTmFtZSIsYik7dGhpcy5fc291cmNlQ29kZVNob3duJiZ0aGlzLnNldCgiX3NvdXJjZUZvY3VzTm9kZU5hbWUiLEtoLnJlbW92ZU5vZGVOYW1lQmFzZUV4cGFuc2lvbihmKSk7dGhpcy5fc2V0Q29udGludWVUbygib3AiLGIpOwp0aGlzLiQuY29udGludWVEaWFsb2cudXBkYXRlQ29udGludWVCdXR0b25UZXh0KCEwKTt0aGlzLl9zdGVwKCl9LF9jcmVhdGVDb250aW51ZVRvTm9kZUhhbmRsZXIoKXtyZXR1cm4oYixkKT0+e3RoaXMuX2NvbnRpbnVlVG9Ob2RlKGIsZCl9fSxfb25BY3RpdmVSdW50aW1lR3JhcGhEZXZpY2VOYW1lQ2hhbmdlKGIpe2NvbnN0IGQ9UG9seW1lci5kb20odGhpcy4kJCgiI3J1bnRpbWUtZ3JhcGgtZGV2aWNlLW5hbWUiKSk7aWYoMDx0aGlzLl9hY3RpdmVTZXNzaW9uUnVuRGV2aWNlcy5sZW5ndGgpe2xldCBmO2Y9YisoIiAoZGV2aWNlICIrKHRoaXMuX2FjdGl2ZVNlc3Npb25SdW5EZXZpY2VzLmluZGV4T2YoYikrMSkrIiBvZiAiK3RoaXMuX2FjdGl2ZVNlc3Npb25SdW5EZXZpY2VzLmxlbmd0aCsiKSIpO3RoaXMuX2lzVG9wUmlnaHRSdW50aW1lR3JhcGhzQWN0aXZlJiZudWxsIT1kJiYoZC50ZXh0Q29udGVudD1mKX1lbHNlIHRoaXMuX2lzVG9wUmlnaHRSdW50aW1lR3JhcGhzQWN0aXZlJiYKbnVsbCE9ZCYmKGQudGV4dENvbnRlbnQ9IldhaXRpbmcgZm9yIGRldmljZS4uLiIpO251bGwhPWImJnRoaXMuX2Rpc3BsYXlHcmFwaCh0aGlzLl9hY3RpdmVTZXNzaW9uUnVuS2V5LGIpfSxfc3RlcCgpe2lmKG51bGwhPXRoaXMuX2FjdGl2ZVNlc3Npb25SdW5LZXkpe3RoaXMuc2V0KCJfYnVzeSIsITApO3ZhciBiPXttb2RlOiJyZXRyaWV2ZV9kZXZpY2VfbmFtZXMiLHJ1bl9rZXk6SlNPTi5zdHJpbmdpZnkodGhpcy5fYWN0aXZlU2Vzc2lvblJ1bktleSl9LGQ9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImRlYnVnZ2VyIiwiL2dhdGVkX2dycGMiKTtiPWRjLmFkZFBhcmFtcyhkLGIpO3RoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QoYikudGhlbihmPT57bGV0IGg9ITE7Zm9yKGxldCBrPTA7azxmLmRldmljZV9uYW1lcy5sZW5ndGg7KytrKWlmKC0xPT09dGhpcy5fYWN0aXZlU2Vzc2lvblJ1bkRldmljZXMuaW5kZXhPZihmLmRldmljZV9uYW1lc1trXSkpe2g9ITA7YnJlYWt9Zj0KZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImRlYnVnZ2VyIiwiL2FjayIpO3RoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QoZikudGhlbigoKT0+e2gmJnRoaXMuX3Byb2Nlc3NHYXRlZEdycGNEZWJ1Z09wcyh0aGlzLl9hY3RpdmVTZXNzaW9uUnVuS2V5LCExKX0pfSl9fSxfY3JlYXRlU2Vzc2lvblJ1bkdvKCl7cmV0dXJuIGI9Pnt0aGlzLl9zZXRDb250aW51ZVRvKCJTZXNzaW9uUnVuIix0aGlzLl9jdXJyZW50U2Vzc2lvblJ1bkluZm8sYik7dGhpcy5fc3RlcCgpfX0sX2NyZWF0ZVRlbnNvckNvbmRpdGlvbkdvKCl7cmV0dXJuKGIsZCk9Pnt0aGlzLl9zZXRDb250aW51ZVRvKCJUZW5zb3JDb25kaXRpb24iLGIsZCk7dGhpcy4kLnRlbnNvckRhdGFTdW1tYXJ5LmVuYWJsZUhlYWx0aFBpbGxzKCk7dGhpcy5fc3RlcCgpfX0sX2NyZWF0ZUZvcmNlQ29udGludWF0aW9uU3RvcCgpe3JldHVybigpPT57dGhpcy5fc2hvd1RvYXN0KCdDb250aW51YXRpb24gb2YgdHlwZSAiJyt0aGlzLl9jb250aW51ZVRvVHlwZSsKJyIgd2FzIGludGVycnVwdGVkIGJ5IHVzZXIuJyk7dGhpcy5zZXQoIl9jb250aW51ZVN0b3AiLCEwKX19LF9zZXRDb250aW51ZVRvKGIsZCxmPS0xKXt0aGlzLl9jb250aW51ZVRvVHlwZT1iO3RoaXMuX2NvbnRpbnVlVG9UYXJnZXQ9ZDt0aGlzLl9jb250aW51ZVRvQ291bnRlclRhcmdldD1mO3RoaXMuX2NvbnRpbnVlVG9Db3VudGVyPTA7dGhpcy5fY29udGludWVTdG9wPSExfSxfY2xlYXJDb250aW51ZVRvKCl7dGhpcy4kLmNvbnRpbnVlRGlhbG9nLm5vdGlmeUNvbnRpbnVhdGlvblN0b3AoKTt0aGlzLl9jb250aW51ZVRvVGFyZ2V0PXRoaXMuX2NvbnRpbnVlVG9UeXBlPSIiO3RoaXMuX2NvbnRpbnVlVG9Db3VudGVyVGFyZ2V0PS0xO3RoaXMuX2NvbnRpbnVlVG9Db3VudGVyPTA7dGhpcy5fY29udGludWVTdG9wPSExO3RoaXMuc2V0KCJfYnVzeSIsITEpfSxfY3JlYXRlQ29udGludWVUb0NhbGxiYWNrKCl7cmV0dXJuKGIsZCk9Pnt0aGlzLl9zZXRDb250aW51ZVRvKCJvcCIsYisiLyIrCmQpO3RoaXMuX3N0ZXAoKTt0aGlzLl9pc1RvcFJpZ2h0UnVudGltZUdyYXBoc0FjdGl2ZSYmdGhpcy5fZm9jdXNPbkdyYXBoTm9kZShiLGQpO3RoaXMuc2V0KCJfZm9yY2VFeHBhbmROb2RlTmFtZSIsYisiLyIrZCl9fSxfdG9wUmlnaHRTZWxlY3RlZENoYW5nZWQoYil7Yj10aGlzLl90b3BSaWdodFRhYnNbYl0uaWQ7dGhpcy5zZXQoIl9pc1RvcFJpZ2h0UnVudGltZUdyYXBoc0FjdGl2ZSIsInRhYi1ydW50aW1lLWdyYXBocyI9PT1iKTt0aGlzLnNldCgiX2lzVG9wUmlnaHRUZW5zb3JWYWx1ZXNBY3RpdmUiLCJ0YWItdGVuc29yLXZhbHVlcyI9PT1iKX0sX3NldFRvcFJpZ2h0UnVudGltZUdyYXBoc1RvQWN0aXZlKCl7dGhpcy5zZXQoIl90b3BSaWdodFNlbGVjdGVkIiwiMCIpO3RoaXMuc2V0KCJfaXNUb3BSaWdodFJ1bnRpbWVHcmFwaHNBY3RpdmUiLCEwKTt0aGlzLnNldCgiX2lzVG9wUmlnaHRUZW5zb3JWYWx1ZXNBY3RpdmUiLCExKX0sX3NldFRvcFJpZ2h0VGVuc29yVmFsdWVzVG9BY3RpdmUoKXt0aGlzLnNldCgiX3RvcFJpZ2h0U2VsZWN0ZWQiLAoiMSIpO3RoaXMuc2V0KCJfaXNUb3BSaWdodFJ1bnRpbWVHcmFwaHNBY3RpdmUiLCExKTt0aGlzLnNldCgiX2lzVG9wUmlnaHRUZW5zb3JWYWx1ZXNBY3RpdmUiLCEwKX0sX3JlcXVlc3RCcmVha3BvaW50U3RhdGVDaGFuZ2UoYixkLGYsaCl7Yj17bW9kZToic2V0X3N0YXRlIixub2RlX25hbWU6YixvdXRwdXRfc2xvdDpkLGRlYnVnX29wOmYsc3RhdGU6aH07ZD1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiZGVidWdnZXIiLCIvZ2F0ZWRfZ3JwYyIpO2I9ZGMuYWRkUGFyYW1zKGQsYik7dGhpcy5zZXQoIl9idXN5IiwhMCk7dGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChiKS50aGVuKGs9Pnt0aGlzLnNldCgiX2J1c3kiLCExKTtjb25zb2xlLmxvZygiQnJlYWtwb2ludCBzZXRfc3RhdGUgcmVzcG9uc2U6ICIsayl9KX0sX2dyYXBoUHJvZ3Jlc3NVcGRhdGVkKGIpe2NvbnN0IGQ9dGhpcy4kJCgiI3RvcC1yaWdodC1wcm9ncmVzcy1iYXIiKTtudWxsPT10aGlzLl9sYXRlc3RTZXNzaW9uUnVuPwooZC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwwKSx0aGlzLnNldCgiX2J1c3kiLCExKSk6KGQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsYi52YWx1ZSksdGhpcy5zZXQoIl9idXN5IiwxMDA+Yi52YWx1ZSkpfSxfaGFuZGxlV2luZG93UmVzaXplKCl7dGhpcy5zZXQoIl93aW5kb3dXaWR0aCIsYmwoKSk7dGhpcy5zZXQoIl93aW5kb3dIZWlnaHQiLGFsKCkpO3RoaXMuX3NpemVEYXNoYm9hcmRSZWdpb25zKHRoaXMuX2xlZnRQYW5lV2lkdGgsdGhpcy5fdG9wUmlnaHRRdWFkcmFudEhlaWdodCx0aGlzLl93aW5kb3dXaWR0aCl9LF9jb21wdXRlTWF4bGVmdFBhbmVXaWR0aChiLGQsZil7cmV0dXJuIGItZC1mfSxfY29tcHV0ZU1heFRvcFJpZ2h0UXVhZHJhbnRIZWlnaHQoYixkKXtyZXR1cm4gYi1kLTcwfSxfc2l6ZURhc2hib2FyZFJlZ2lvbnMoYixkLGYpe3RoaXMuJCQoIiNsZWZ0LXBhbmUiKS5zdHlsZS53aWR0aD1iKyJweCI7Yj1mLWItdGhpcy5fcmVzaXplcldpZHRoLTg7dGhpcy4kJCgiI2NlbnRlci1jb250ZW50Iikuc3R5bGUud2lkdGg9CmIrInB4IjtiPWQtdGhpcy5fcmVzaXplcldpZHRoO3RoaXMuJCQoIiN0b3AtcmlnaHQtcXVhZHJhbnQiKS5zdHlsZS5oZWlnaHQ9YisicHgiO3RoaXMuJCQoIiN0ZW5zb3ItZGF0YSIpLnN0eWxlLnRvcD1kKyJweCJ9LF9sZWZ0UGFuZVdpZHRoT2JzZXJ2ZXI6YmQuZ2V0TnVtYmVyT2JzZXJ2ZXIoIl9sZWZ0UGFuZVdpZHRoIix7ZGVmYXVsdFZhbHVlOjQ1MH0pLF90b3BSaWdodFF1YWRyYW50SGVpZ2h0T2JzZXJ2ZXI6YmQuZ2V0TnVtYmVyT2JzZXJ2ZXIoIl90b3BSaWdodFF1YWRyYW50SGVpZ2h0Iix7ZGVmYXVsdFZhbHVlOmNsfSl9KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci1tYXRlcmlhbC9wYXBlci1tYXRlcmlhbC5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1tYXRlcmlhbCIscHJvcGVydGllczp7ZWxldmF0aW9uOnt0eXBlOk51bWJlcixyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsdmFsdWU6MX0sYW5pbWF0ZWQ6e3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsdmFsdWU6ITF9fX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWRlYnVnZ2VyLWRhdGEtY2FyZC90Zi1ncmFwaC1kZWJ1Z2dlci1kYXRhLWNhcmQuaHRtbC5qcwooZnVuY3Rpb24oKXtQb2x5bWVyKHtpczoidGYtZ3JhcGgtZGVidWdnZXItZGF0YS1jYXJkIixwcm9wZXJ0aWVzOntyZW5kZXJIaWVyYXJjaHk6T2JqZWN0LGRlYnVnZ2VyTnVtZXJpY0FsZXJ0czp7dHlwZTpBcnJheSxub3RpZnk6ITB9LG5vZGVOYW1lc1RvSGVhbHRoUGlsbHM6T2JqZWN0LGhlYWx0aFBpbGxTdGVwSW5kZXg6e3R5cGU6TnVtYmVyLG5vdGlmeTohMH0sc3BlY2lmaWNIZWFsdGhQaWxsU3RlcDp7dHlwZTpOdW1iZXIsdmFsdWU6MCxub3RpZnk6ITB9LHNlbGVjdGVkTm9kZTp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSxoaWdobGlnaHRlZE5vZGU6e3R5cGU6U3RyaW5nLG5vdGlmeTohMH0sc2VsZWN0ZWROb2RlSW5jbHVkZTp7dHlwZTpOdW1iZXIsbm90aWZ5OiEwfSxhcmVIZWFsdGhQaWxsc0xvYWRpbmc6Qm9vbGVhbixoZWFsdGhQaWxsRW50cmllczp7dHlwZTpBcnJheSx2YWx1ZTp0Zi5ncmFwaC5zY2VuZS5oZWFsdGhQaWxsRW50cmllcyxyZWFkT25seTohMH0saGVhbHRoUGlsbFZhbHVlc0ZvclNlbGVjdGVkTm9kZTp7dHlwZTpBcnJheSwKY29tcHV0ZWQ6Il9jb21wdXRlSGVhbHRoUGlsbEZvck5vZGUobm9kZU5hbWVzVG9IZWFsdGhQaWxscywgaGVhbHRoUGlsbFN0ZXBJbmRleCwgc2VsZWN0ZWROb2RlLCBhbGxTdGVwc01vZGVFbmFibGVkLCBhcmVIZWFsdGhQaWxsc0xvYWRpbmcpIn0sYWxsU3RlcHNNb2RlRW5hYmxlZDp7dHlwZTpCb29sZWFuLG5vdGlmeTohMH0sX2JpZ2dlc3RTdGVwRXZlclNlZW46e3R5cGU6TnVtYmVyLGNvbXB1dGVkOiJfY29tcHV0ZUJpZ2dlc3RTdGVwRXZlclNlZW4obm9kZU5hbWVzVG9IZWFsdGhQaWxscykifSxfbWF4U3RlcEluZGV4Ont0eXBlOk51bWJlcixjb21wdXRlZDoiX2NvbXB1dGVNYXhTdGVwSW5kZXgobm9kZU5hbWVzVG9IZWFsdGhQaWxscykifSxfY3VycmVudFN0ZXBEaXNwbGF5VmFsdWU6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZUN1cnJlbnRTdGVwRGlzcGxheVZhbHVlKG5vZGVOYW1lc1RvSGVhbHRoUGlsbHMsIGhlYWx0aFBpbGxTdGVwSW5kZXgsIGFsbFN0ZXBzTW9kZUVuYWJsZWQsIHNwZWNpZmljSGVhbHRoUGlsbFN0ZXAsIGFyZUhlYWx0aFBpbGxzTG9hZGluZykifX0sCm9ic2VydmVyczpbIl91cGRhdGVBbGVydHNMaXN0KGRlYnVnZ2VyTnVtZXJpY0FsZXJ0cykiXSxyZWFkeTpmdW5jdGlvbigpe3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWluQ29udGFpbmVyIiksZD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ0Zi1kYXNoYm9hcmQtbGF5b3V0IC5zY3JvbGxiYXIiKTtiJiZkJiYoYi5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIixkLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iKX0sX2hlYWx0aFBpbGxzQXZhaWxhYmxlOmZ1bmN0aW9uKGIsZCl7cmV0dXJuIGImJmR9LF9jb21wdXRlVGVuc29yQ291bnRTdHJpbmc6ZnVuY3Rpb24oYixkKXtyZXR1cm4gYj9iW2RdLnRvRml4ZWQoMCk6IiJ9LF9jb21wdXRlSGVhbHRoUGlsbEZvck5vZGU6ZnVuY3Rpb24oYixkLGYsaCxrKXtpZihrfHwhZilyZXR1cm4gbnVsbDtiPWJbZl07cmV0dXJuIGI/KGQ9YltoPzA6ZF0pP2QudmFsdWUuc2xpY2UoMiw4KTpudWxsOm51bGx9LF9jb21wdXRlQ3VycmVudFN0ZXBEaXNwbGF5VmFsdWU6ZnVuY3Rpb24oYiwKZCxmLGgsayl7aWYoZilyZXR1cm4gaC50b0ZpeGVkKDApO2lmKGspcmV0dXJuIDA7Zm9yKGxldCByIGluIGIpcmV0dXJuIGJbcl1bZF0uc3RlcC50b0ZpeGVkKDApO3JldHVybiAwfSxfY29tcHV0ZUJpZ2dlc3RTdGVwRXZlclNlZW46ZnVuY3Rpb24oYil7Zm9yKGxldCBkIGluIGIpcmV0dXJuIGI9YltkXSxNYXRoLm1heCh0aGlzLl9iaWdnZXN0U3RlcEV2ZXJTZWVuLGJbYi5sZW5ndGgtMV0uc3RlcCk7cmV0dXJuIHRoaXMuX2JpZ2dlc3RTdGVwRXZlclNlZW58fDB9LF9jb21wdXRlTWF4U3RlcEluZGV4OmZ1bmN0aW9uKGIpe2ZvcihsZXQgZCBpbiBiKXJldHVybiBiW2RdLmxlbmd0aC0xO3JldHVybiAwfSxfaGFzRGVidWdnZXJOdW1lcmljQWxlcnRzOmZ1bmN0aW9uKGIpe3JldHVybiBiJiZiLmxlbmd0aH0sX3VwZGF0ZUFsZXJ0c0xpc3Q6ZnVuY3Rpb24oYil7dmFyIGQ9dGhpcy4kJCgiI251bWVyaWMtYWxlcnRzLWJvZHkiKTtpZihkKXtkLmlubmVyVGV4dD0iIjtmb3IodmFyIGY9CjA7ZjxiLmxlbmd0aDtmKyspe3ZhciBoPWJbZl0saz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpLHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtyLmlubmVyVGV4dD10Zi5ncmFwaC51dGlsLmNvbXB1dGVIdW1hbkZyaWVuZGx5VGltZShoLmZpcnN0X3RpbWVzdGFtcCk7ci5jbGFzc0xpc3QuYWRkKCJmaXJzdC1vZmZlbnNlLXRkIik7ay5hcHBlbmRDaGlsZChyKTtyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7ci5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3ItZGV2aWNlLXRkIik7dmFyIGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bC5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itc2VjdGlvbi13aXRoaW4tdGFibGUiKTtsLmlubmVyVGV4dD1oLnRlbnNvcl9uYW1lO3RoaXMuX2FkZE9wRXhwYW5zaW9uTGlzdGVuZXIobCxoLnRlbnNvcl9uYW1lKTtyLmFwcGVuZENoaWxkKGwpO2w9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bC5jbGFzc0xpc3QuYWRkKCJkZXZpY2Utc2VjdGlvbi13aXRoaW4tdGFibGUiKTsKbC5pbm5lclRleHQ9IigiK2guZGV2aWNlX25hbWUrIikiO3IuYXBwZW5kQ2hpbGQobCk7ay5hcHBlbmRDaGlsZChyKTtyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3IuY2xhc3NMaXN0LmFkZCgibWluaS1oZWFsdGgtcGlsbCIpO2w9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtsLmNsYXNzTGlzdC5hZGQoIm1pbmktaGVhbHRoLXBpbGwtdGQiKTtsLmFwcGVuZENoaWxkKHIpO2suYXBwZW5kQ2hpbGQobCk7aC5uZWdfaW5mX2V2ZW50X2NvdW50JiYobD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxsLmNsYXNzTGlzdC5hZGQoIm5lZ2F0aXZlLWluZi1taW5pLWhlYWx0aC1waWxsLXNlY3Rpb24iKSxsLmlubmVyVGV4dD1oLm5lZ19pbmZfZXZlbnRfY291bnQsbC5zZXRBdHRyaWJ1dGUoInRpdGxlIixoLm5lZ19pbmZfZXZlbnRfY291bnQrIiBldmVudHMgd2l0aCAtXHUyMjFlIiksci5hcHBlbmRDaGlsZChsKSk7aC5wb3NfaW5mX2V2ZW50X2NvdW50JiYobD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSwKbC5jbGFzc0xpc3QuYWRkKCJwb3NpdGl2ZS1pbmYtbWluaS1oZWFsdGgtcGlsbC1zZWN0aW9uIiksbC5pbm5lclRleHQ9aC5wb3NfaW5mX2V2ZW50X2NvdW50LGwuc2V0QXR0cmlidXRlKCJ0aXRsZSIsaC5wb3NfaW5mX2V2ZW50X2NvdW50KyIgZXZlbnRzIHdpdGggK1x1MjIxZSIpLHIuYXBwZW5kQ2hpbGQobCkpO2gubmFuX2V2ZW50X2NvdW50JiYobD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxsLmNsYXNzTGlzdC5hZGQoIm5hbi1taW5pLWhlYWx0aC1waWxsLXNlY3Rpb24iKSxsLmlubmVyVGV4dD1oLm5hbl9ldmVudF9jb3VudCxsLnNldEF0dHJpYnV0ZSgidGl0bGUiLGgubmFuX2V2ZW50X2NvdW50KyIgZXZlbnRzIHdpdGggTmFOIiksci5hcHBlbmRDaGlsZChsKSk7UG9seW1lci5kb20oZCkuYXBwZW5kQ2hpbGQoayl9fX0sX2FkZE9wRXhwYW5zaW9uTGlzdGVuZXI6ZnVuY3Rpb24oYixkKXtiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3ZhciBmPXRmLmdyYXBoLnJlbmRlci5leHBhbmRVbnRpbE5vZGVJc1Nob3duKHRoaXMucmVuZGVySGllcmFyY2h5LApkKSxoLGs9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidGYtZ3JhcGgtaW5mbyNncmFwaC1pbmZvIik7ayYmKGg9ay5zY3JvbGxIZWlnaHQtay5zY3JvbGxUb3ApO3ZhciByPXRoaXMuc2VsZWN0ZWROb2RlO3RoaXMuc2V0KCJzZWxlY3RlZE5vZGUiLGYpO2Y9KCk9PntrLnNjcm9sbFRvcD1rLnNjcm9sbEhlaWdodC1ofTtrJiYocj9mKCk6d2luZG93LnNldFRpbWVvdXQoZiwyMCkpfSl9fSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL2lyb24tbGlzdC9pcm9uLWxpc3QuaHRtbC5qcwooZnVuY3Rpb24oKXt2YXIgYj1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUCg/OmhvbmV8YWQ7KD86IFU7KT8gQ1BVKSBPUyAoXGQrKS8pLGQ9YiYmODw9YlsxXSxmPW51bGwhPVBvbHltZXIuZmx1c2gsaD1mP1BvbHltZXIuQXN5bmMuYW5pbWF0aW9uRnJhbWU6MCxrPWY/UG9seW1lci5Bc3luYy5pZGxlUGVyaW9kOjEscj1mP1BvbHltZXIuQXN5bmMubWljcm9UYXNrOjI7UG9seW1lci5PcHRpb25hbE11dGFibGVEYXRhQmVoYXZpb3J8fChQb2x5bWVyLk9wdGlvbmFsTXV0YWJsZURhdGFCZWhhdmlvcj17fSk7UG9seW1lcih7aXM6Imlyb24tbGlzdCIscHJvcGVydGllczp7aXRlbXM6e3R5cGU6QXJyYXl9LGFzOnt0eXBlOlN0cmluZyx2YWx1ZToiaXRlbSJ9LGluZGV4QXM6e3R5cGU6U3RyaW5nLHZhbHVlOiJpbmRleCJ9LHNlbGVjdGVkQXM6e3R5cGU6U3RyaW5nLHZhbHVlOiJzZWxlY3RlZCJ9LGdyaWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsCm9ic2VydmVyOiJfZ3JpZENoYW5nZWQifSxzZWxlY3Rpb25FbmFibGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LHNlbGVjdGVkSXRlbTp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSxzZWxlY3RlZEl0ZW1zOnt0eXBlOk9iamVjdCxub3RpZnk6ITB9LG11bHRpU2VsZWN0aW9uOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LHNjcm9sbE9mZnNldDp7dHlwZTpOdW1iZXIsdmFsdWU6MH19LG9ic2VydmVyczpbIl9pdGVtc0NoYW5nZWQoaXRlbXMuKikiLCJfc2VsZWN0aW9uRW5hYmxlZENoYW5nZWQoc2VsZWN0aW9uRW5hYmxlZCkiLCJfbXVsdGlTZWxlY3Rpb25DaGFuZ2VkKG11bHRpU2VsZWN0aW9uKSIsIl9zZXRPdmVyZmxvdyhzY3JvbGxUYXJnZXQsIHNjcm9sbE9mZnNldCkiXSxiZWhhdmlvcnM6W1BvbHltZXIuVGVtcGxhdGl6ZXIsUG9seW1lci5Jcm9uUmVzaXphYmxlQmVoYXZpb3IsUG9seW1lci5Jcm9uU2Nyb2xsVGFyZ2V0QmVoYXZpb3IsUG9seW1lci5PcHRpb25hbE11dGFibGVEYXRhQmVoYXZpb3JdLApfcmF0aW86LjUsX3Njcm9sbGVyUGFkZGluZ1RvcDowLF9zY3JvbGxQb3NpdGlvbjowLF9waHlzaWNhbFNpemU6MCxfcGh5c2ljYWxBdmVyYWdlOjAsX3BoeXNpY2FsQXZlcmFnZUNvdW50OjAsX3BoeXNpY2FsVG9wOjAsX3ZpcnR1YWxDb3VudDowLF9lc3RTY3JvbGxIZWlnaHQ6MCxfc2Nyb2xsSGVpZ2h0OjAsX3ZpZXdwb3J0SGVpZ2h0OjAsX3ZpZXdwb3J0V2lkdGg6MCxfcGh5c2ljYWxJdGVtczpudWxsLF9waHlzaWNhbFNpemVzOm51bGwsX2ZpcnN0VmlzaWJsZUluZGV4VmFsOm51bGwsX2NvbGxlY3Rpb246bnVsbCxfbGFzdFZpc2libGVJbmRleFZhbDpudWxsLF9tYXhQYWdlczoyLF9mb2N1c2VkSXRlbTpudWxsLF9mb2N1c2VkVmlydHVhbEluZGV4Oi0xLF9mb2N1c2VkUGh5c2ljYWxJbmRleDotMSxfb2Zmc2NyZWVuRm9jdXNlZEl0ZW06bnVsbCxfZm9jdXNCYWNrZmlsbEl0ZW06bnVsbCxfaXRlbXNQZXJSb3c6MSxfaXRlbVdpZHRoOjAsX3Jvd0hlaWdodDowLF90ZW1wbGF0ZUNvc3Q6MCwKX3BhcmVudE1vZGVsOiEwLGdldCBfcGh5c2ljYWxCb3R0b20oKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxUb3ArdGhpcy5fcGh5c2ljYWxTaXplfSxnZXQgX3Njcm9sbEJvdHRvbSgpe3JldHVybiB0aGlzLl9zY3JvbGxQb3NpdGlvbit0aGlzLl92aWV3cG9ydEhlaWdodH0sZ2V0IF92aXJ0dWFsRW5kKCl7cmV0dXJuIHRoaXMuX3ZpcnR1YWxTdGFydCt0aGlzLl9waHlzaWNhbENvdW50LTF9LGdldCBfaGlkZGVuQ29udGVudFNpemUoKXtyZXR1cm4odGhpcy5ncmlkP3RoaXMuX3BoeXNpY2FsUm93cyp0aGlzLl9yb3dIZWlnaHQ6dGhpcy5fcGh5c2ljYWxTaXplKS10aGlzLl92aWV3cG9ydEhlaWdodH0sZ2V0IF9pdGVtc1BhcmVudCgpe3JldHVybiBQb2x5bWVyLmRvbShQb2x5bWVyLmRvbSh0aGlzLl91c2VyVGVtcGxhdGUpLnBhcmVudE5vZGUpfSxnZXQgX21heFNjcm9sbFRvcCgpe3JldHVybiB0aGlzLl9lc3RTY3JvbGxIZWlnaHQtdGhpcy5fdmlld3BvcnRIZWlnaHQrdGhpcy5fc2Nyb2xsT2Zmc2V0fSwKZ2V0IF9tYXhWaXJ0dWFsU3RhcnQoKXt2YXIgbD10aGlzLl9jb252ZXJ0SW5kZXhUb0NvbXBsZXRlUm93KHRoaXMuX3ZpcnR1YWxDb3VudCk7cmV0dXJuIE1hdGgubWF4KDAsbC10aGlzLl9waHlzaWNhbENvdW50KX0sc2V0IF92aXJ0dWFsU3RhcnQobCl7bD10aGlzLl9jbGFtcChsLDAsdGhpcy5fbWF4VmlydHVhbFN0YXJ0KTt0aGlzLmdyaWQmJihsLT1sJXRoaXMuX2l0ZW1zUGVyUm93KTt0aGlzLl92aXJ0dWFsU3RhcnRWYWw9bH0sZ2V0IF92aXJ0dWFsU3RhcnQoKXtyZXR1cm4gdGhpcy5fdmlydHVhbFN0YXJ0VmFsfHwwfSxzZXQgX3BoeXNpY2FsU3RhcnQobCl7bCU9dGhpcy5fcGh5c2ljYWxDb3VudDswPmwmJihsPXRoaXMuX3BoeXNpY2FsQ291bnQrbCk7dGhpcy5ncmlkJiYobC09bCV0aGlzLl9pdGVtc1BlclJvdyk7dGhpcy5fcGh5c2ljYWxTdGFydFZhbD1sfSxnZXQgX3BoeXNpY2FsU3RhcnQoKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxTdGFydFZhbHx8MH0sZ2V0IF9waHlzaWNhbEVuZCgpe3JldHVybih0aGlzLl9waHlzaWNhbFN0YXJ0Kwp0aGlzLl9waHlzaWNhbENvdW50LTEpJXRoaXMuX3BoeXNpY2FsQ291bnR9LHNldCBfcGh5c2ljYWxDb3VudChsKXt0aGlzLl9waHlzaWNhbENvdW50VmFsPWx9LGdldCBfcGh5c2ljYWxDb3VudCgpe3JldHVybiB0aGlzLl9waHlzaWNhbENvdW50VmFsfHwwfSxnZXQgX29wdFBoeXNpY2FsU2l6ZSgpe3JldHVybiAwPT09dGhpcy5fdmlld3BvcnRIZWlnaHQ/SW5maW5pdHk6dGhpcy5fdmlld3BvcnRIZWlnaHQqdGhpcy5fbWF4UGFnZXN9LGdldCBfaXNWaXNpYmxlKCl7cmV0dXJuISghdGhpcy5vZmZzZXRXaWR0aCYmIXRoaXMub2Zmc2V0SGVpZ2h0KX0sZ2V0IGZpcnN0VmlzaWJsZUluZGV4KCl7dmFyIGw9dGhpcy5fZmlyc3RWaXNpYmxlSW5kZXhWYWw7aWYobnVsbD09bCl7dmFyIHA9dGhpcy5fcGh5c2ljYWxUb3ArdGhpcy5fc2Nyb2xsT2Zmc2V0O3RoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsPWw9dGhpcy5faXRlcmF0ZUl0ZW1zKGZ1bmN0aW9uKG0sbil7cCs9dGhpcy5fZ2V0UGh5c2ljYWxTaXplSW5jcmVtZW50KG0pOwppZihwPnRoaXMuX3Njcm9sbFBvc2l0aW9uKXJldHVybiB0aGlzLmdyaWQ/bi1uJXRoaXMuX2l0ZW1zUGVyUm93Om47aWYodGhpcy5ncmlkJiZ0aGlzLl92aXJ0dWFsQ291bnQtMT09PW4pcmV0dXJuIG4tbiV0aGlzLl9pdGVtc1BlclJvd30pfHwwfXJldHVybiBsfSxnZXQgbGFzdFZpc2libGVJbmRleCgpe3ZhciBsPXRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw7aWYobnVsbD09bCl7aWYodGhpcy5ncmlkKWw9TWF0aC5taW4odGhpcy5fdmlydHVhbENvdW50LHRoaXMuZmlyc3RWaXNpYmxlSW5kZXgrdGhpcy5fZXN0Um93c0luVmlldyp0aGlzLl9pdGVtc1BlclJvdy0xKTtlbHNle3ZhciBwPXRoaXMuX3BoeXNpY2FsVG9wK3RoaXMuX3Njcm9sbE9mZnNldDt0aGlzLl9pdGVyYXRlSXRlbXMoZnVuY3Rpb24obSxuKXtwPHRoaXMuX3Njcm9sbEJvdHRvbSYmKGw9bik7cCs9dGhpcy5fZ2V0UGh5c2ljYWxTaXplSW5jcmVtZW50KG0pfSl9dGhpcy5fbGFzdFZpc2libGVJbmRleFZhbD1sfXJldHVybiBsfSwKZ2V0IF9kZWZhdWx0U2Nyb2xsVGFyZ2V0KCl7cmV0dXJuIHRoaXN9LGdldCBfdmlydHVhbFJvd0NvdW50KCl7cmV0dXJuIE1hdGguY2VpbCh0aGlzLl92aXJ0dWFsQ291bnQvdGhpcy5faXRlbXNQZXJSb3cpfSxnZXQgX2VzdFJvd3NJblZpZXcoKXtyZXR1cm4gTWF0aC5jZWlsKHRoaXMuX3ZpZXdwb3J0SGVpZ2h0L3RoaXMuX3Jvd0hlaWdodCl9LGdldCBfcGh5c2ljYWxSb3dzKCl7cmV0dXJuIE1hdGguY2VpbCh0aGlzLl9waHlzaWNhbENvdW50L3RoaXMuX2l0ZW1zUGVyUm93KX0sZ2V0IF9zY3JvbGxPZmZzZXQoKXtyZXR1cm4gdGhpcy5fc2Nyb2xsZXJQYWRkaW5nVG9wK3RoaXMuc2Nyb2xsT2Zmc2V0fSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHRoaXMuX2RpZEZvY3VzLmJpbmQodGhpcyksITApfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2RlYm91bmNlKCJfcmVuZGVyIix0aGlzLl9yZW5kZXIsaCk7dGhpcy5saXN0ZW4odGhpcywiaXJvbi1yZXNpemUiLAoiX3Jlc2l6ZUhhbmRsZXIiKTt0aGlzLmxpc3Rlbih0aGlzLCJrZXlkb3duIiwiX2tleWRvd25IYW5kbGVyIil9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy51bmxpc3Rlbih0aGlzLCJpcm9uLXJlc2l6ZSIsIl9yZXNpemVIYW5kbGVyIik7dGhpcy51bmxpc3Rlbih0aGlzLCJrZXlkb3duIiwiX2tleWRvd25IYW5kbGVyIil9LF9zZXRPdmVyZmxvdzpmdW5jdGlvbihsKXt0aGlzLnN0eWxlLndlYmtpdE92ZXJmbG93U2Nyb2xsaW5nPWw9PT10aGlzPyJ0b3VjaCI6IiI7dGhpcy5zdHlsZS5vdmVyZmxvd1k9bD09PXRoaXM/ImF1dG8iOiIiO3RoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsPXRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw9bnVsbDt0aGlzLl9kZWJvdW5jZSgiX3JlbmRlciIsdGhpcy5fcmVuZGVyLGgpfSx1cGRhdGVWaWV3cG9ydEJvdW5kYXJpZXM6ZnVuY3Rpb24oKXt2YXIgbD13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzKTt0aGlzLl9zY3JvbGxlclBhZGRpbmdUb3A9CnRoaXMuc2Nyb2xsVGFyZ2V0PT09dGhpcz8wOnBhcnNlSW50KGxbInBhZGRpbmctdG9wIl0sMTApO3RoaXMuX2lzUlRMPSJydGwiPT09bC5kaXJlY3Rpb247dGhpcy5fdmlld3BvcnRXaWR0aD10aGlzLiQuaXRlbXMub2Zmc2V0V2lkdGg7dGhpcy5fdmlld3BvcnRIZWlnaHQ9dGhpcy5fc2Nyb2xsVGFyZ2V0SGVpZ2h0O3RoaXMuZ3JpZCYmdGhpcy5fdXBkYXRlR3JpZE1ldHJpY3MoKX0sX3Njcm9sbEhhbmRsZXI6ZnVuY3Rpb24oKXt2YXIgbD1NYXRoLm1heCgwLE1hdGgubWluKHRoaXMuX21heFNjcm9sbFRvcCx0aGlzLl9zY3JvbGxUb3ApKSxwPWwtdGhpcy5fc2Nyb2xsUG9zaXRpb24sbT0wPD1wO3RoaXMuX3Njcm9sbFBvc2l0aW9uPWw7dGhpcy5fbGFzdFZpc2libGVJbmRleFZhbD10aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD1udWxsO01hdGguYWJzKHApPnRoaXMuX3BoeXNpY2FsU2l6ZSYmMDx0aGlzLl9waHlzaWNhbFNpemU/KHAtPXRoaXMuX3Njcm9sbE9mZnNldCxtPU1hdGgucm91bmQocC8KdGhpcy5fcGh5c2ljYWxBdmVyYWdlKSp0aGlzLl9pdGVtc1BlclJvdyx0aGlzLl92aXJ0dWFsU3RhcnQrPW0sdGhpcy5fcGh5c2ljYWxTdGFydCs9bSx0aGlzLl9waHlzaWNhbFRvcD1NYXRoLmZsb29yKHRoaXMuX3ZpcnR1YWxTdGFydC90aGlzLl9pdGVtc1BlclJvdykqdGhpcy5fcGh5c2ljYWxBdmVyYWdlLHRoaXMuX3VwZGF0ZSgpKTowPHRoaXMuX3BoeXNpY2FsQ291bnQmJihsPXRoaXMuX2dldFJldXNhYmxlcyhtKSxtPyh0aGlzLl9waHlzaWNhbFRvcD1sLnBoeXNpY2FsVG9wLHRoaXMuX3ZpcnR1YWxTdGFydCs9bC5pbmRleGVzLmxlbmd0aCx0aGlzLl9waHlzaWNhbFN0YXJ0Kz1sLmluZGV4ZXMubGVuZ3RoKToodGhpcy5fdmlydHVhbFN0YXJ0LT1sLmluZGV4ZXMubGVuZ3RoLHRoaXMuX3BoeXNpY2FsU3RhcnQtPWwuaW5kZXhlcy5sZW5ndGgpLHRoaXMuX3VwZGF0ZShsLmluZGV4ZXMsbT9udWxsOmwuaW5kZXhlcyksdGhpcy5fZGVib3VuY2UoIl9pbmNyZWFzZVBvb2xJZk5lZWRlZCIsCnRoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkLmJpbmQodGhpcywwKSxyKSl9LF9nZXRSZXVzYWJsZXM6ZnVuY3Rpb24obCl7dmFyIHA9W10sbT10aGlzLl9oaWRkZW5Db250ZW50U2l6ZSp0aGlzLl9yYXRpbyxuPXRoaXMuX3ZpcnR1YWxTdGFydCxxPXRoaXMuX3ZpcnR1YWxFbmQsdT10aGlzLl9waHlzaWNhbENvdW50LHc9dGhpcy5fcGh5c2ljYWxUb3ArdGhpcy5fc2Nyb2xsT2Zmc2V0O3ZhciBBPXRoaXMuX3BoeXNpY2FsQm90dG9tK3RoaXMuX3Njcm9sbE9mZnNldDt2YXIgeT10aGlzLl9zY3JvbGxUb3AseD10aGlzLl9zY3JvbGxCb3R0b207aWYobCl7dmFyIEM9dGhpcy5fcGh5c2ljYWxTdGFydDtBPXktd31lbHNlIEM9dGhpcy5fcGh5c2ljYWxFbmQsQS09eDtmb3IoOzspe3ZhciBHPXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudChDKTtBLT1HO2lmKHAubGVuZ3RoPj11fHxBPD1tKWJyZWFrO2lmKGwpe2lmKHErcC5sZW5ndGgrMT49dGhpcy5fdmlydHVhbENvdW50KWJyZWFrOwppZih3K0c+PXktdGhpcy5fc2Nyb2xsT2Zmc2V0KWJyZWFrO3AucHVzaChDKTt3Kz1HO0M9KEMrMSkldX1lbHNle2lmKDA+PW4tcC5sZW5ndGgpYnJlYWs7aWYodyt0aGlzLl9waHlzaWNhbFNpemUtRzw9eClicmVhaztwLnB1c2goQyk7dy09RztDPTA9PT1DP3UtMTpDLTF9fXJldHVybntpbmRleGVzOnAscGh5c2ljYWxUb3A6dy10aGlzLl9zY3JvbGxPZmZzZXR9fSxfdXBkYXRlOmZ1bmN0aW9uKGwscCl7aWYoIShsJiYwPT09bC5sZW5ndGh8fDA9PT10aGlzLl9waHlzaWNhbENvdW50KSl7dGhpcy5fbWFuYWdlRm9jdXMoKTt0aGlzLl9hc3NpZ25Nb2RlbHMobCk7dGhpcy5fdXBkYXRlTWV0cmljcyhsKTtpZihwKWZvcig7cC5sZW5ndGg7KWw9cC5wb3AoKSx0aGlzLl9waHlzaWNhbFRvcC09dGhpcy5fZ2V0UGh5c2ljYWxTaXplSW5jcmVtZW50KGwpO3RoaXMuX3Bvc2l0aW9uSXRlbXMoKTt0aGlzLl91cGRhdGVTY3JvbGxlclNpemUoKX19LF9jcmVhdGVQb29sOmZ1bmN0aW9uKGwpe3RoaXMuX2Vuc3VyZVRlbXBsYXRpemVkKCk7CnZhciBwLG09QXJyYXkobCk7Zm9yKHA9MDtwPGw7cCsrKXt2YXIgbj10aGlzLnN0YW1wKG51bGwpO21bcF09bi5yb290LnF1ZXJ5U2VsZWN0b3IoIioiKTt0aGlzLl9pdGVtc1BhcmVudC5hcHBlbmRDaGlsZChuLnJvb3QpfXJldHVybiBtfSxfaXNDbGllbnRGdWxsOmZ1bmN0aW9uKCl7cmV0dXJuIDAhPXRoaXMuX3Njcm9sbEJvdHRvbSYmdGhpcy5fcGh5c2ljYWxCb3R0b20tMT49dGhpcy5fc2Nyb2xsQm90dG9tJiZ0aGlzLl9waHlzaWNhbFRvcDw9dGhpcy5fc2Nyb2xsUG9zaXRpb259LF9pbmNyZWFzZVBvb2xJZk5lZWRlZDpmdW5jdGlvbihsKXtsPXRoaXMuX2NsYW1wKHRoaXMuX3BoeXNpY2FsQ291bnQrbCwzLHRoaXMuX3ZpcnR1YWxDb3VudC10aGlzLl92aXJ0dWFsU3RhcnQpO2w9dGhpcy5fY29udmVydEluZGV4VG9Db21wbGV0ZVJvdyhsKTtpZih0aGlzLmdyaWQpe3ZhciBwPWwldGhpcy5faXRlbXNQZXJSb3c7cCYmbC1wPD10aGlzLl9waHlzaWNhbENvdW50JiYobCs9dGhpcy5faXRlbXNQZXJSb3cpOwpsLT1wfWwtPXRoaXMuX3BoeXNpY2FsQ291bnQ7cD1NYXRoLnJvdW5kKC41KnRoaXMuX3BoeXNpY2FsQ291bnQpO2lmKCEoMD5sKSl7aWYoMDxsKXtwPXdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKTtbXS5wdXNoLmFwcGx5KHRoaXMuX3BoeXNpY2FsSXRlbXMsdGhpcy5fY3JlYXRlUG9vbChsKSk7Zm9yKHZhciBtPTA7bTxsO20rKyl0aGlzLl9waHlzaWNhbFNpemVzLnB1c2goMCk7dGhpcy5fcGh5c2ljYWxDb3VudCs9bDt0aGlzLl9waHlzaWNhbFN0YXJ0PnRoaXMuX3BoeXNpY2FsRW5kJiZ0aGlzLl9pc0luZGV4UmVuZGVyZWQodGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCkmJnRoaXMuX2dldFBoeXNpY2FsSW5kZXgodGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCk8dGhpcy5fcGh5c2ljYWxFbmQmJih0aGlzLl9waHlzaWNhbFN0YXJ0Kz1sKTt0aGlzLl91cGRhdGUoKTt0aGlzLl90ZW1wbGF0ZUNvc3Q9KHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS1wKS9sO3A9TWF0aC5yb3VuZCguNSoKdGhpcy5fcGh5c2ljYWxDb3VudCl9dGhpcy5fdmlydHVhbEVuZD49dGhpcy5fdmlydHVhbENvdW50LTF8fDA9PT1wfHwodGhpcy5faXNDbGllbnRGdWxsKCk/dGhpcy5fcGh5c2ljYWxTaXplPHRoaXMuX29wdFBoeXNpY2FsU2l6ZSYmdGhpcy5fZGVib3VuY2UoIl9pbmNyZWFzZVBvb2xJZk5lZWRlZCIsdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQuYmluZCh0aGlzLHRoaXMuX2NsYW1wKE1hdGgucm91bmQoNTAvdGhpcy5fdGVtcGxhdGVDb3N0KSwxLHApKSxrKTp0aGlzLl9kZWJvdW5jZSgiX2luY3JlYXNlUG9vbElmTmVlZGVkIix0aGlzLl9pbmNyZWFzZVBvb2xJZk5lZWRlZC5iaW5kKHRoaXMscCkscikpfX0sX3JlbmRlcjpmdW5jdGlvbigpe2lmKHRoaXMuaXNBdHRhY2hlZCYmdGhpcy5faXNWaXNpYmxlKWlmKDAhPT10aGlzLl9waHlzaWNhbENvdW50KXt2YXIgbD10aGlzLl9nZXRSZXVzYWJsZXMoITApO3RoaXMuX3BoeXNpY2FsVG9wPWwucGh5c2ljYWxUb3A7dGhpcy5fdmlydHVhbFN0YXJ0Kz0KbC5pbmRleGVzLmxlbmd0aDt0aGlzLl9waHlzaWNhbFN0YXJ0Kz1sLmluZGV4ZXMubGVuZ3RoO3RoaXMuX3VwZGF0ZShsLmluZGV4ZXMpO3RoaXMuX3VwZGF0ZSgpO3RoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkKDApfWVsc2UgMDx0aGlzLl92aXJ0dWFsQ291bnQmJih0aGlzLnVwZGF0ZVZpZXdwb3J0Qm91bmRhcmllcygpLHRoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkKDMpKX0sX2Vuc3VyZVRlbXBsYXRpemVkOmZ1bmN0aW9uKCl7aWYoIXRoaXMuY3Rvcil7KHRoaXMuX3VzZXJUZW1wbGF0ZT10aGlzLnF1ZXJ5RWZmZWN0aXZlQ2hpbGRyZW4oInRlbXBsYXRlIikpfHxjb25zb2xlLndhcm4oImlyb24tbGlzdCByZXF1aXJlcyBhIHRlbXBsYXRlIHRvIGJlIHByb3ZpZGVkIGluIGxpZ2h0LWRvbSIpO3ZhciBsPXtfX2tleV9fOiEwfTtsW3RoaXMuYXNdPSEwO2xbdGhpcy5pbmRleEFzXT0hMDtsW3RoaXMuc2VsZWN0ZWRBc109ITA7bC50YWJJbmRleD0hMDt0aGlzLl9pbnN0YW5jZVByb3BzPQpsO3RoaXMudGVtcGxhdGl6ZSh0aGlzLl91c2VyVGVtcGxhdGUsdGhpcy5tdXRhYmxlRGF0YSl9fSxfZ3JpZENoYW5nZWQ6ZnVuY3Rpb24obCxwKXsidW5kZWZpbmVkIiE9PXR5cGVvZiBwJiYodGhpcy5ub3RpZnlSZXNpemUoKSxQb2x5bWVyLmZsdXNoP1BvbHltZXIuZmx1c2goKTpQb2x5bWVyLmRvbS5mbHVzaCgpLGwmJnRoaXMuX3VwZGF0ZUdyaWRNZXRyaWNzKCkpfSxfaXRlbXNDaGFuZ2VkOmZ1bmN0aW9uKGwpe2lmKCJpdGVtcyI9PT1sLnBhdGgpdGhpcy5fcGh5c2ljYWxUb3A9dGhpcy5fdmlydHVhbFN0YXJ0PTAsdGhpcy5fdmlydHVhbENvdW50PXRoaXMuaXRlbXM/dGhpcy5pdGVtcy5sZW5ndGg6MCx0aGlzLl9jb2xsZWN0aW9uPXRoaXMuaXRlbXMmJlBvbHltZXIuQ29sbGVjdGlvbj9Qb2x5bWVyLkNvbGxlY3Rpb24uZ2V0KHRoaXMuaXRlbXMpOm51bGwsdGhpcy5fcGh5c2ljYWxJbmRleEZvcktleT17fSx0aGlzLl9sYXN0VmlzaWJsZUluZGV4VmFsPXRoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsPQpudWxsLHRoaXMuX3BoeXNpY2FsQ291bnQ9dGhpcy5fcGh5c2ljYWxDb3VudHx8MCx0aGlzLl9waHlzaWNhbEl0ZW1zPXRoaXMuX3BoeXNpY2FsSXRlbXN8fFtdLHRoaXMuX3BoeXNpY2FsU2l6ZXM9dGhpcy5fcGh5c2ljYWxTaXplc3x8W10sdGhpcy5fcGh5c2ljYWxTdGFydD0wLHRoaXMuX3Njcm9sbFRvcD50aGlzLl9zY3JvbGxPZmZzZXQmJnRoaXMuX3Jlc2V0U2Nyb2xsUG9zaXRpb24oMCksdGhpcy5fcmVtb3ZlRm9jdXNlZEl0ZW0oKSx0aGlzLl9kZWJvdW5jZSgiX3JlbmRlciIsdGhpcy5fcmVuZGVyLGgpO2Vsc2UgaWYoIml0ZW1zLnNwbGljZXMiPT09bC5wYXRoKXt0aGlzLl9hZGp1c3RWaXJ0dWFsSW5kZXgobC52YWx1ZS5pbmRleFNwbGljZXMpO3RoaXMuX3ZpcnR1YWxDb3VudD10aGlzLml0ZW1zP3RoaXMuaXRlbXMubGVuZ3RoOjA7aWYobC52YWx1ZS5pbmRleFNwbGljZXMuc29tZShmdW5jdGlvbihtKXtyZXR1cm4gMDxtLmFkZGVkQ291bnR8fDA8bS5yZW1vdmVkLmxlbmd0aH0pKXt2YXIgcD0KdGhpcy5fZ2V0QWN0aXZlRWxlbWVudCgpO3RoaXMuY29udGFpbnMocCkmJnAuYmx1cigpfWw9bC52YWx1ZS5pbmRleFNwbGljZXMuc29tZShmdW5jdGlvbihtKXtyZXR1cm4gbS5pbmRleCttLmFkZGVkQ291bnQ+PXRoaXMuX3ZpcnR1YWxTdGFydCYmbS5pbmRleDw9dGhpcy5fdmlydHVhbEVuZH0sdGhpcyk7dGhpcy5faXNDbGllbnRGdWxsKCkmJiFsfHx0aGlzLl9kZWJvdW5jZSgiX3JlbmRlciIsdGhpcy5fcmVuZGVyLGgpfWVsc2UiaXRlbXMubGVuZ3RoIiE9PWwucGF0aCYmdGhpcy5fZm9yd2FyZEl0ZW1QYXRoKGwucGF0aCxsLnZhbHVlKX0sX2ZvcndhcmRJdGVtUGF0aDpmdW5jdGlvbihsLHApe2w9bC5zbGljZSg2KTt2YXIgbT1sLmluZGV4T2YoIi4iKTstMT09PW0mJihtPWwubGVuZ3RoKTt2YXIgbixxPXRoaXMubW9kZWxGb3JFbGVtZW50KHRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtKTtpZihmKXt2YXIgdT1wYXJzZUludChsLnN1YnN0cmluZygwLG0pLDEwKTtpZihuPXRoaXMuX2lzSW5kZXhSZW5kZXJlZCh1KSl7dmFyIHc9CnRoaXMuX2dldFBoeXNpY2FsSW5kZXgodSk7dmFyIEE9dGhpcy5tb2RlbEZvckVsZW1lbnQodGhpcy5fcGh5c2ljYWxJdGVtc1t3XSl9ZWxzZSBxJiYoQT1xKTtpZighQXx8QVt0aGlzLmluZGV4QXNdIT09dSlyZXR1cm59ZWxzZSBpZih1PWwuc3Vic3RyaW5nKDAsbSkscSYmcS5fX2tleV9fPT09dSlBPXE7ZWxzZSBpZih3PXRoaXMuX3BoeXNpY2FsSW5kZXhGb3JLZXlbdV0sQT10aGlzLm1vZGVsRm9yRWxlbWVudCh0aGlzLl9waHlzaWNhbEl0ZW1zW3ddKSwhQXx8QS5fX2tleV9fIT09dSlyZXR1cm47bD1sLnN1YnN0cmluZyhtKzEpO2w9dGhpcy5hcysobD8iLiIrbDoiIik7Zj9BLl9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgobCxwLCExLCEwKTpBLm5vdGlmeVBhdGgobCxwLCEwKTtBLl9mbHVzaFByb3BlcnRpZXMmJkEuX2ZsdXNoUHJvcGVydGllcyghMCk7biYmKHRoaXMuX3VwZGF0ZU1ldHJpY3MoW3ddKSx0aGlzLl9wb3NpdGlvbkl0ZW1zKCksdGhpcy5fdXBkYXRlU2Nyb2xsZXJTaXplKCkpfSwKX2FkanVzdFZpcnR1YWxJbmRleDpmdW5jdGlvbihsKXtsLmZvckVhY2goZnVuY3Rpb24ocCl7cC5yZW1vdmVkLmZvckVhY2godGhpcy5fcmVtb3ZlSXRlbSx0aGlzKTtwLmluZGV4PHRoaXMuX3ZpcnR1YWxTdGFydCYmKHA9TWF0aC5tYXgocC5hZGRlZENvdW50LXAucmVtb3ZlZC5sZW5ndGgscC5pbmRleC10aGlzLl92aXJ0dWFsU3RhcnQpLHRoaXMuX3ZpcnR1YWxTdGFydCs9cCwwPD10aGlzLl9mb2N1c2VkVmlydHVhbEluZGV4JiYodGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCs9cCkpfSx0aGlzKX0sX3JlbW92ZUl0ZW06ZnVuY3Rpb24obCl7dGhpcy4kLnNlbGVjdG9yLmRlc2VsZWN0KGwpO3RoaXMuX2ZvY3VzZWRJdGVtJiZ0aGlzLm1vZGVsRm9yRWxlbWVudCh0aGlzLl9mb2N1c2VkSXRlbSlbdGhpcy5hc109PT1sJiZ0aGlzLl9yZW1vdmVGb2N1c2VkSXRlbSgpfSxfaXRlcmF0ZUl0ZW1zOmZ1bmN0aW9uKGwscCl7dmFyIG0sbjtpZigyPT09YXJndW1lbnRzLmxlbmd0aCYmcClmb3Iobj0KMDtuPHAubGVuZ3RoO24rKyl7dmFyIHE9cFtuXTt2YXIgdT10aGlzLl9jb21wdXRlVmlkeChxKTtpZihudWxsIT0obT1sLmNhbGwodGhpcyxxLHUpKSlyZXR1cm4gbX1lbHNle3E9dGhpcy5fcGh5c2ljYWxTdGFydDtmb3IodT10aGlzLl92aXJ0dWFsU3RhcnQ7cTx0aGlzLl9waHlzaWNhbENvdW50O3ErKyx1KyspaWYobnVsbCE9KG09bC5jYWxsKHRoaXMscSx1KSkpcmV0dXJuIG07Zm9yKHE9MDtxPHRoaXMuX3BoeXNpY2FsU3RhcnQ7cSsrLHUrKylpZihudWxsIT0obT1sLmNhbGwodGhpcyxxLHUpKSlyZXR1cm4gbX19LF9jb21wdXRlVmlkeDpmdW5jdGlvbihsKXtyZXR1cm4gbD49dGhpcy5fcGh5c2ljYWxTdGFydD90aGlzLl92aXJ0dWFsU3RhcnQrKGwtdGhpcy5fcGh5c2ljYWxTdGFydCk6dGhpcy5fdmlydHVhbFN0YXJ0Kyh0aGlzLl9waHlzaWNhbENvdW50LXRoaXMuX3BoeXNpY2FsU3RhcnQpK2x9LF9hc3NpZ25Nb2RlbHM6ZnVuY3Rpb24obCl7dGhpcy5faXRlcmF0ZUl0ZW1zKGZ1bmN0aW9uKHAsCm0pe3ZhciBuPXRoaXMuX3BoeXNpY2FsSXRlbXNbcF0scT10aGlzLml0ZW1zJiZ0aGlzLml0ZW1zW21dO2lmKG51bGwhPXEpe3ZhciB1PXRoaXMubW9kZWxGb3JFbGVtZW50KG4pO3UuX19rZXlfXz10aGlzLl9jb2xsZWN0aW9uP3RoaXMuX2NvbGxlY3Rpb24uZ2V0S2V5KHEpOm51bGw7dGhpcy5fZm9yd2FyZFByb3BlcnR5KHUsdGhpcy5hcyxxKTt0aGlzLl9mb3J3YXJkUHJvcGVydHkodSx0aGlzLnNlbGVjdGVkQXMsdGhpcy4kLnNlbGVjdG9yLmlzU2VsZWN0ZWQocSkpO3RoaXMuX2ZvcndhcmRQcm9wZXJ0eSh1LHRoaXMuaW5kZXhBcyxtKTt0aGlzLl9mb3J3YXJkUHJvcGVydHkodSwidGFiSW5kZXgiLHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg9PT1tPzA6LTEpO3RoaXMuX3BoeXNpY2FsSW5kZXhGb3JLZXlbdS5fX2tleV9fXT1wO3UuX2ZsdXNoUHJvcGVydGllcyYmdS5fZmx1c2hQcm9wZXJ0aWVzKCEwKTtuLnJlbW92ZUF0dHJpYnV0ZSgiaGlkZGVuIil9ZWxzZSBuLnNldEF0dHJpYnV0ZSgiaGlkZGVuIiwKIiIpfSxsKX0sX3VwZGF0ZU1ldHJpY3M6ZnVuY3Rpb24obCl7UG9seW1lci5mbHVzaD9Qb2x5bWVyLmZsdXNoKCk6UG9seW1lci5kb20uZmx1c2goKTt2YXIgcD0wLG09MCxuPXRoaXMuX3BoeXNpY2FsQXZlcmFnZUNvdW50LHE9dGhpcy5fcGh5c2ljYWxBdmVyYWdlO3RoaXMuX2l0ZXJhdGVJdGVtcyhmdW5jdGlvbih1KXttKz10aGlzLl9waHlzaWNhbFNpemVzW3VdO3RoaXMuX3BoeXNpY2FsU2l6ZXNbdV09dGhpcy5fcGh5c2ljYWxJdGVtc1t1XS5vZmZzZXRIZWlnaHQ7cCs9dGhpcy5fcGh5c2ljYWxTaXplc1t1XTt0aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudCs9dGhpcy5fcGh5c2ljYWxTaXplc1t1XT8xOjB9LGwpO3RoaXMuZ3JpZD8odGhpcy5fdXBkYXRlR3JpZE1ldHJpY3MoKSx0aGlzLl9waHlzaWNhbFNpemU9TWF0aC5jZWlsKHRoaXMuX3BoeXNpY2FsQ291bnQvdGhpcy5faXRlbXNQZXJSb3cpKnRoaXMuX3Jvd0hlaWdodCk6KG09MT09PXRoaXMuX2l0ZW1zUGVyUm93P206Ck1hdGguY2VpbCh0aGlzLl9waHlzaWNhbENvdW50L3RoaXMuX2l0ZW1zUGVyUm93KSp0aGlzLl9yb3dIZWlnaHQsdGhpcy5fcGh5c2ljYWxTaXplPXRoaXMuX3BoeXNpY2FsU2l6ZStwLW0sdGhpcy5faXRlbXNQZXJSb3c9MSk7dGhpcy5fcGh5c2ljYWxBdmVyYWdlQ291bnQhPT1uJiYodGhpcy5fcGh5c2ljYWxBdmVyYWdlPU1hdGgucm91bmQoKHEqbitwKS90aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudCkpfSxfdXBkYXRlR3JpZE1ldHJpY3M6ZnVuY3Rpb24oKXt0aGlzLl9pdGVtV2lkdGg9MDx0aGlzLl9waHlzaWNhbENvdW50P3RoaXMuX3BoeXNpY2FsSXRlbXNbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg6MjAwO3RoaXMuX3Jvd0hlaWdodD0wPHRoaXMuX3BoeXNpY2FsQ291bnQ/dGhpcy5fcGh5c2ljYWxJdGVtc1swXS5vZmZzZXRIZWlnaHQ6MjAwO3RoaXMuX2l0ZW1zUGVyUm93PXRoaXMuX2l0ZW1XaWR0aD9NYXRoLmZsb29yKHRoaXMuX3ZpZXdwb3J0V2lkdGgvdGhpcy5faXRlbVdpZHRoKToKdGhpcy5faXRlbXNQZXJSb3d9LF9wb3NpdGlvbkl0ZW1zOmZ1bmN0aW9uKCl7dGhpcy5fYWRqdXN0U2Nyb2xsUG9zaXRpb24oKTt2YXIgbD10aGlzLl9waHlzaWNhbFRvcDtpZih0aGlzLmdyaWQpe3ZhciBwPSh0aGlzLl92aWV3cG9ydFdpZHRoLXRoaXMuX2l0ZW1zUGVyUm93KnRoaXMuX2l0ZW1XaWR0aCkvMjt0aGlzLl9pdGVyYXRlSXRlbXMoZnVuY3Rpb24obSxuKXt2YXIgcT1NYXRoLmZsb29yKG4ldGhpcy5faXRlbXNQZXJSb3cqdGhpcy5faXRlbVdpZHRoK3ApO3RoaXMuX2lzUlRMJiYocSo9LTEpO3RoaXMudHJhbnNsYXRlM2QocSsicHgiLGwrInB4IiwwLHRoaXMuX3BoeXNpY2FsSXRlbXNbbV0pO3RoaXMuX3Nob3VsZFJlbmRlck5leHRSb3cobikmJihsKz10aGlzLl9yb3dIZWlnaHQpfSl9ZWxzZSB0aGlzLl9pdGVyYXRlSXRlbXMoZnVuY3Rpb24obSl7dGhpcy50cmFuc2xhdGUzZCgwLGwrInB4IiwwLHRoaXMuX3BoeXNpY2FsSXRlbXNbbV0pO2wrPXRoaXMuX3BoeXNpY2FsU2l6ZXNbbV19KX0sCl9nZXRQaHlzaWNhbFNpemVJbmNyZW1lbnQ6ZnVuY3Rpb24obCl7cmV0dXJuIHRoaXMuZ3JpZD90aGlzLl9jb21wdXRlVmlkeChsKSV0aGlzLl9pdGVtc1BlclJvdyE9PXRoaXMuX2l0ZW1zUGVyUm93LTE/MDp0aGlzLl9yb3dIZWlnaHQ6dGhpcy5fcGh5c2ljYWxTaXplc1tsXX0sX3Nob3VsZFJlbmRlck5leHRSb3c6ZnVuY3Rpb24obCl7cmV0dXJuIGwldGhpcy5faXRlbXNQZXJSb3c9PT10aGlzLl9pdGVtc1BlclJvdy0xfSxfYWRqdXN0U2Nyb2xsUG9zaXRpb246ZnVuY3Rpb24oKXt2YXIgbD0wPT09dGhpcy5fdmlydHVhbFN0YXJ0P3RoaXMuX3BoeXNpY2FsVG9wOk1hdGgubWluKHRoaXMuX3Njcm9sbFBvc2l0aW9uK3RoaXMuX3BoeXNpY2FsVG9wLDApO2lmKDAhPT1sKXt0aGlzLl9waHlzaWNhbFRvcC09bDt2YXIgcD10aGlzLl9zY3JvbGxUb3A7IWQmJjA8cCYmdGhpcy5fcmVzZXRTY3JvbGxQb3NpdGlvbihwLWwpfX0sX3Jlc2V0U2Nyb2xsUG9zaXRpb246ZnVuY3Rpb24obCl7dGhpcy5zY3JvbGxUYXJnZXQmJgowPD1sJiYodGhpcy5fc2Nyb2xsUG9zaXRpb249dGhpcy5fc2Nyb2xsVG9wPWwpfSxfdXBkYXRlU2Nyb2xsZXJTaXplOmZ1bmN0aW9uKGwpe3RoaXMuX2VzdFNjcm9sbEhlaWdodD10aGlzLmdyaWQ/dGhpcy5fdmlydHVhbFJvd0NvdW50KnRoaXMuX3Jvd0hlaWdodDp0aGlzLl9waHlzaWNhbEJvdHRvbStNYXRoLm1heCh0aGlzLl92aXJ0dWFsQ291bnQtdGhpcy5fcGh5c2ljYWxDb3VudC10aGlzLl92aXJ0dWFsU3RhcnQsMCkqdGhpcy5fcGh5c2ljYWxBdmVyYWdlO2lmKChsPShsPShsPWx8fDA9PT10aGlzLl9zY3JvbGxIZWlnaHQpfHx0aGlzLl9zY3JvbGxQb3NpdGlvbj49dGhpcy5fZXN0U2Nyb2xsSGVpZ2h0LXRoaXMuX3BoeXNpY2FsU2l6ZSl8fHRoaXMuZ3JpZCYmdGhpcy4kLml0ZW1zLnN0eWxlLmhlaWdodDx0aGlzLl9lc3RTY3JvbGxIZWlnaHQpfHxNYXRoLmFicyh0aGlzLl9lc3RTY3JvbGxIZWlnaHQtdGhpcy5fc2Nyb2xsSGVpZ2h0KT49dGhpcy5fdmlld3BvcnRIZWlnaHQpdGhpcy4kLml0ZW1zLnN0eWxlLmhlaWdodD0KdGhpcy5fZXN0U2Nyb2xsSGVpZ2h0KyJweCIsdGhpcy5fc2Nyb2xsSGVpZ2h0PXRoaXMuX2VzdFNjcm9sbEhlaWdodH0sc2Nyb2xsVG9JdGVtOmZ1bmN0aW9uKGwpe3JldHVybiB0aGlzLnNjcm9sbFRvSW5kZXgodGhpcy5pdGVtcy5pbmRleE9mKGwpKX0sc2Nyb2xsVG9JbmRleDpmdW5jdGlvbihsKXtpZighKCJudW1iZXIiIT09dHlwZW9mIGx8fDA+bHx8bD50aGlzLml0ZW1zLmxlbmd0aC0xKSYmKFBvbHltZXIuZmx1c2g/UG9seW1lci5mbHVzaCgpOlBvbHltZXIuZG9tLmZsdXNoKCksMCE9PXRoaXMuX3BoeXNpY2FsQ291bnQpKXtsPXRoaXMuX2NsYW1wKGwsMCx0aGlzLl92aXJ0dWFsQ291bnQtMSk7aWYoIXRoaXMuX2lzSW5kZXhSZW5kZXJlZChsKXx8bD49dGhpcy5fbWF4VmlydHVhbFN0YXJ0KXRoaXMuX3ZpcnR1YWxTdGFydD10aGlzLmdyaWQ/bC0yKnRoaXMuX2l0ZW1zUGVyUm93OmwtMTt0aGlzLl9tYW5hZ2VGb2N1cygpO3RoaXMuX2Fzc2lnbk1vZGVscygpO3RoaXMuX3VwZGF0ZU1ldHJpY3MoKTsKdGhpcy5fcGh5c2ljYWxUb3A9TWF0aC5mbG9vcih0aGlzLl92aXJ0dWFsU3RhcnQvdGhpcy5faXRlbXNQZXJSb3cpKnRoaXMuX3BoeXNpY2FsQXZlcmFnZTtmb3IodmFyIHA9dGhpcy5fcGh5c2ljYWxTdGFydCxtPXRoaXMuX3ZpcnR1YWxTdGFydCxuPTAscT10aGlzLl9oaWRkZW5Db250ZW50U2l6ZTttPGwmJm48PXE7KW4rPXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudChwKSxwPShwKzEpJXRoaXMuX3BoeXNpY2FsQ291bnQsbSsrO3RoaXMuX3VwZGF0ZVNjcm9sbGVyU2l6ZSghMCk7dGhpcy5fcG9zaXRpb25JdGVtcygpO3RoaXMuX3Jlc2V0U2Nyb2xsUG9zaXRpb24odGhpcy5fcGh5c2ljYWxUb3ArdGhpcy5fc2Nyb2xsT2Zmc2V0K24pO3RoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkKDApO3RoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw9dGhpcy5fZmlyc3RWaXNpYmxlSW5kZXhWYWw9bnVsbH19LF9yZXNldEF2ZXJhZ2U6ZnVuY3Rpb24oKXt0aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudD0KdGhpcy5fcGh5c2ljYWxBdmVyYWdlPTB9LF9yZXNpemVIYW5kbGVyOmZ1bmN0aW9uKCl7dGhpcy5fZGVib3VuY2UoIl9yZW5kZXIiLGZ1bmN0aW9uKCl7dGhpcy5fbGFzdFZpc2libGVJbmRleFZhbD10aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD1udWxsO3RoaXMudXBkYXRlVmlld3BvcnRCb3VuZGFyaWVzKCk7dGhpcy5faXNWaXNpYmxlPyh0aGlzLnRvZ2dsZVNjcm9sbExpc3RlbmVyKCEwKSx0aGlzLl9yZXNldEF2ZXJhZ2UoKSx0aGlzLl9yZW5kZXIoKSk6dGhpcy50b2dnbGVTY3JvbGxMaXN0ZW5lcighMSl9LGgpfSxzZWxlY3RJdGVtOmZ1bmN0aW9uKGwpe3JldHVybiB0aGlzLnNlbGVjdEluZGV4KHRoaXMuaXRlbXMuaW5kZXhPZihsKSl9LHNlbGVjdEluZGV4OmZ1bmN0aW9uKGwpe2lmKCEoMD5sfHxsPj10aGlzLl92aXJ0dWFsQ291bnQpKXshdGhpcy5tdWx0aVNlbGVjdGlvbiYmdGhpcy5zZWxlY3RlZEl0ZW0mJnRoaXMuY2xlYXJTZWxlY3Rpb24oKTtpZih0aGlzLl9pc0luZGV4UmVuZGVyZWQobCkpe3ZhciBwPQp0aGlzLm1vZGVsRm9yRWxlbWVudCh0aGlzLl9waHlzaWNhbEl0ZW1zW3RoaXMuX2dldFBoeXNpY2FsSW5kZXgobCldKTtwJiYocFt0aGlzLnNlbGVjdGVkQXNdPSEwKTt0aGlzLnVwZGF0ZVNpemVGb3JJbmRleChsKX10aGlzLiQuc2VsZWN0b3Iuc2VsZWN0SW5kZXg/dGhpcy4kLnNlbGVjdG9yLnNlbGVjdEluZGV4KGwpOnRoaXMuJC5zZWxlY3Rvci5zZWxlY3QodGhpcy5pdGVtc1tsXSl9fSxkZXNlbGVjdEl0ZW06ZnVuY3Rpb24obCl7cmV0dXJuIHRoaXMuZGVzZWxlY3RJbmRleCh0aGlzLml0ZW1zLmluZGV4T2YobCkpfSxkZXNlbGVjdEluZGV4OmZ1bmN0aW9uKGwpezA+bHx8bD49dGhpcy5fdmlydHVhbENvdW50fHwodGhpcy5faXNJbmRleFJlbmRlcmVkKGwpJiYodGhpcy5tb2RlbEZvckVsZW1lbnQodGhpcy5fcGh5c2ljYWxJdGVtc1t0aGlzLl9nZXRQaHlzaWNhbEluZGV4KGwpXSlbdGhpcy5zZWxlY3RlZEFzXT0hMSx0aGlzLnVwZGF0ZVNpemVGb3JJbmRleChsKSksdGhpcy4kLnNlbGVjdG9yLmRlc2VsZWN0SW5kZXg/CnRoaXMuJC5zZWxlY3Rvci5kZXNlbGVjdEluZGV4KGwpOnRoaXMuJC5zZWxlY3Rvci5kZXNlbGVjdCh0aGlzLml0ZW1zW2xdKSl9LHRvZ2dsZVNlbGVjdGlvbkZvckl0ZW06ZnVuY3Rpb24obCl7cmV0dXJuIHRoaXMudG9nZ2xlU2VsZWN0aW9uRm9ySW5kZXgodGhpcy5pdGVtcy5pbmRleE9mKGwpKX0sdG9nZ2xlU2VsZWN0aW9uRm9ySW5kZXg6ZnVuY3Rpb24obCl7KHRoaXMuJC5zZWxlY3Rvci5pc0luZGV4U2VsZWN0ZWQ/dGhpcy4kLnNlbGVjdG9yLmlzSW5kZXhTZWxlY3RlZChsKTp0aGlzLiQuc2VsZWN0b3IuaXNTZWxlY3RlZCh0aGlzLml0ZW1zW2xdKSk/dGhpcy5kZXNlbGVjdEluZGV4KGwpOnRoaXMuc2VsZWN0SW5kZXgobCl9LGNsZWFyU2VsZWN0aW9uOmZ1bmN0aW9uKCl7dGhpcy5faXRlcmF0ZUl0ZW1zKGZ1bmN0aW9uKGwpe3RoaXMubW9kZWxGb3JFbGVtZW50KHRoaXMuX3BoeXNpY2FsSXRlbXNbbF0pW3RoaXMuc2VsZWN0ZWRBc109ITF9KTt0aGlzLiQuc2VsZWN0b3IuY2xlYXJTZWxlY3Rpb24oKX0sCl9zZWxlY3Rpb25FbmFibGVkQ2hhbmdlZDpmdW5jdGlvbihsKXsobD90aGlzLmxpc3Rlbjp0aGlzLnVubGlzdGVuKS5jYWxsKHRoaXMsdGhpcywidGFwIiwiX3NlbGVjdGlvbkhhbmRsZXIiKX0sX3NlbGVjdGlvbkhhbmRsZXI6ZnVuY3Rpb24obCl7dmFyIHA9dGhpcy5tb2RlbEZvckVsZW1lbnQobC50YXJnZXQpO2lmKHApe3ZhciBtPVBvbHltZXIuZG9tKGwpLnBhdGhbMF07bD10aGlzLl9nZXRBY3RpdmVFbGVtZW50KCk7dmFyIG49dGhpcy5fcGh5c2ljYWxJdGVtc1t0aGlzLl9nZXRQaHlzaWNhbEluZGV4KHBbdGhpcy5pbmRleEFzXSldO2lmKCJpbnB1dCIhPT1tLmxvY2FsTmFtZSYmImJ1dHRvbiIhPT1tLmxvY2FsTmFtZSYmInNlbGVjdCIhPT1tLmxvY2FsTmFtZSl7bT1wLnRhYkluZGV4O3AudGFiSW5kZXg9LTEwMDt2YXIgcT1sP2wudGFiSW5kZXg6LTE7cC50YWJJbmRleD1tO2wmJm4hPT1sJiZuLmNvbnRhaW5zKGwpJiYtMTAwIT09cXx8dGhpcy50b2dnbGVTZWxlY3Rpb25Gb3JJdGVtKHBbdGhpcy5hc10pfX19LApfbXVsdGlTZWxlY3Rpb25DaGFuZ2VkOmZ1bmN0aW9uKGwpe3RoaXMuY2xlYXJTZWxlY3Rpb24oKTt0aGlzLiQuc2VsZWN0b3IubXVsdGk9bH0sdXBkYXRlU2l6ZUZvckl0ZW06ZnVuY3Rpb24obCl7cmV0dXJuIHRoaXMudXBkYXRlU2l6ZUZvckluZGV4KHRoaXMuaXRlbXMuaW5kZXhPZihsKSl9LHVwZGF0ZVNpemVGb3JJbmRleDpmdW5jdGlvbihsKXtpZighdGhpcy5faXNJbmRleFJlbmRlcmVkKGwpKXJldHVybiBudWxsO3RoaXMuX3VwZGF0ZU1ldHJpY3MoW3RoaXMuX2dldFBoeXNpY2FsSW5kZXgobCldKTt0aGlzLl9wb3NpdGlvbkl0ZW1zKCk7cmV0dXJuIG51bGx9LF9tYW5hZ2VGb2N1czpmdW5jdGlvbigpe3ZhciBsPXRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg7MDw9bCYmbDx0aGlzLl92aXJ0dWFsQ291bnQ/dGhpcy5faXNJbmRleFJlbmRlcmVkKGwpP3RoaXMuX3Jlc3RvcmVGb2N1c2VkSXRlbSgpOnRoaXMuX2NyZWF0ZUZvY3VzQmFja2ZpbGxJdGVtKCk6MDx0aGlzLl92aXJ0dWFsQ291bnQmJgowPHRoaXMuX3BoeXNpY2FsQ291bnQmJih0aGlzLl9mb2N1c2VkUGh5c2ljYWxJbmRleD10aGlzLl9waHlzaWNhbFN0YXJ0LHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg9dGhpcy5fdmlydHVhbFN0YXJ0LHRoaXMuX2ZvY3VzZWRJdGVtPXRoaXMuX3BoeXNpY2FsSXRlbXNbdGhpcy5fcGh5c2ljYWxTdGFydF0pfSxfY29udmVydEluZGV4VG9Db21wbGV0ZVJvdzpmdW5jdGlvbihsKXt0aGlzLl9pdGVtc1BlclJvdz10aGlzLl9pdGVtc1BlclJvd3x8MTtyZXR1cm4gdGhpcy5ncmlkP01hdGguY2VpbChsL3RoaXMuX2l0ZW1zUGVyUm93KSp0aGlzLl9pdGVtc1BlclJvdzpsfSxfaXNJbmRleFJlbmRlcmVkOmZ1bmN0aW9uKGwpe3JldHVybiBsPj10aGlzLl92aXJ0dWFsU3RhcnQmJmw8PXRoaXMuX3ZpcnR1YWxFbmR9LF9pc0luZGV4VmlzaWJsZTpmdW5jdGlvbihsKXtyZXR1cm4gbD49dGhpcy5maXJzdFZpc2libGVJbmRleCYmbDw9dGhpcy5sYXN0VmlzaWJsZUluZGV4fSxfZ2V0UGh5c2ljYWxJbmRleDpmdW5jdGlvbihsKXtyZXR1cm4gZj8KKHRoaXMuX3BoeXNpY2FsU3RhcnQrKGwtdGhpcy5fdmlydHVhbFN0YXJ0KSkldGhpcy5fcGh5c2ljYWxDb3VudDp0aGlzLl9waHlzaWNhbEluZGV4Rm9yS2V5W3RoaXMuX2NvbGxlY3Rpb24uZ2V0S2V5KHRoaXMuaXRlbXNbbF0pXX0sZm9jdXNJdGVtOmZ1bmN0aW9uKGwpe3RoaXMuX2ZvY3VzUGh5c2ljYWxJdGVtKGwpfSxfZm9jdXNQaHlzaWNhbEl0ZW06ZnVuY3Rpb24obCl7aWYoISgwPmx8fGw+PXRoaXMuX3ZpcnR1YWxDb3VudCkpe3RoaXMuX3Jlc3RvcmVGb2N1c2VkSXRlbSgpO3RoaXMuX2lzSW5kZXhSZW5kZXJlZChsKXx8dGhpcy5zY3JvbGxUb0luZGV4KGwpO3ZhciBwPXRoaXMuX3BoeXNpY2FsSXRlbXNbdGhpcy5fZ2V0UGh5c2ljYWxJbmRleChsKV0sbT10aGlzLm1vZGVsRm9yRWxlbWVudChwKSxuO20udGFiSW5kZXg9LTEwMDstMTAwPT09cC50YWJJbmRleCYmKG49cCk7bnx8KG49UG9seW1lci5kb20ocCkucXVlcnlTZWxlY3RvcignW3RhYmluZGV4XHgzZCItMTAwIl0nKSk7Cm0udGFiSW5kZXg9MDt0aGlzLl9mb2N1c2VkVmlydHVhbEluZGV4PWw7biYmbi5mb2N1cygpfX0sX3JlbW92ZUZvY3VzZWRJdGVtOmZ1bmN0aW9uKCl7dGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0mJnRoaXMuX2l0ZW1zUGFyZW50LnJlbW92ZUNoaWxkKHRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtKTt0aGlzLl9mb2N1c2VkSXRlbT10aGlzLl9mb2N1c0JhY2tmaWxsSXRlbT10aGlzLl9vZmZzY3JlZW5Gb2N1c2VkSXRlbT1udWxsO3RoaXMuX2ZvY3VzZWRQaHlzaWNhbEluZGV4PXRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg9LTF9LF9jcmVhdGVGb2N1c0JhY2tmaWxsSXRlbTpmdW5jdGlvbigpe3ZhciBsPXRoaXMuX2ZvY3VzZWRQaHlzaWNhbEluZGV4O2lmKCEodGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW18fDA+dGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCkpe2lmKCF0aGlzLl9mb2N1c0JhY2tmaWxsSXRlbSl7dmFyIHA9dGhpcy5zdGFtcChudWxsKTt0aGlzLl9mb2N1c0JhY2tmaWxsSXRlbT0KcC5yb290LnF1ZXJ5U2VsZWN0b3IoIioiKTt0aGlzLl9pdGVtc1BhcmVudC5hcHBlbmRDaGlsZChwLnJvb3QpfXRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtPXRoaXMuX3BoeXNpY2FsSXRlbXNbbF07dGhpcy5tb2RlbEZvckVsZW1lbnQodGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0pLnRhYkluZGV4PTA7dGhpcy5fcGh5c2ljYWxJdGVtc1tsXT10aGlzLl9mb2N1c0JhY2tmaWxsSXRlbTt0aGlzLl9mb2N1c2VkUGh5c2ljYWxJbmRleD1sO3RoaXMudHJhbnNsYXRlM2QoMCwiLTEwMDAwcHgiLDAsdGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0pfX0sX3Jlc3RvcmVGb2N1c2VkSXRlbTpmdW5jdGlvbigpe2lmKHRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtJiYhKDA+dGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCkpe3RoaXMuX2Fzc2lnbk1vZGVscygpO3ZhciBsPXRoaXMuX2ZvY3VzZWRQaHlzaWNhbEluZGV4PXRoaXMuX2dldFBoeXNpY2FsSW5kZXgodGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCksCnA9dGhpcy5fcGh5c2ljYWxJdGVtc1tsXTtpZihwKXt2YXIgbT10aGlzLm1vZGVsRm9yRWxlbWVudChwKSxuPXRoaXMubW9kZWxGb3JFbGVtZW50KHRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtKTttW3RoaXMuYXNdPT09blt0aGlzLmFzXT8odGhpcy5fZm9jdXNCYWNrZmlsbEl0ZW09cCxtLnRhYkluZGV4PS0xLHRoaXMuX3BoeXNpY2FsSXRlbXNbbF09dGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0sdGhpcy50cmFuc2xhdGUzZCgwLCItMTAwMDBweCIsMCx0aGlzLl9mb2N1c0JhY2tmaWxsSXRlbSkpOih0aGlzLl9yZW1vdmVGb2N1c2VkSXRlbSgpLHRoaXMuX2ZvY3VzQmFja2ZpbGxJdGVtPW51bGwpO3RoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtPW51bGx9fX0sX2RpZEZvY3VzOmZ1bmN0aW9uKGwpe2w9dGhpcy5tb2RlbEZvckVsZW1lbnQobC50YXJnZXQpO3ZhciBwPXRoaXMubW9kZWxGb3JFbGVtZW50KHRoaXMuX2ZvY3VzZWRJdGVtKSxtPW51bGwhPT10aGlzLl9vZmZzY3JlZW5Gb2N1c2VkSXRlbSwKbj10aGlzLl9mb2N1c2VkVmlydHVhbEluZGV4O2wmJihwPT09bD90aGlzLl9pc0luZGV4VmlzaWJsZShuKXx8dGhpcy5zY3JvbGxUb0luZGV4KG4pOih0aGlzLl9yZXN0b3JlRm9jdXNlZEl0ZW0oKSxwJiYocC50YWJJbmRleD0tMSksbC50YWJJbmRleD0wLHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg9bj1sW3RoaXMuaW5kZXhBc10sdGhpcy5fZm9jdXNlZFBoeXNpY2FsSW5kZXg9dGhpcy5fZ2V0UGh5c2ljYWxJbmRleChuKSx0aGlzLl9mb2N1c2VkSXRlbT10aGlzLl9waHlzaWNhbEl0ZW1zW3RoaXMuX2ZvY3VzZWRQaHlzaWNhbEluZGV4XSxtJiYhdGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0mJnRoaXMuX3VwZGF0ZSgpKSl9LF9rZXlkb3duSGFuZGxlcjpmdW5jdGlvbihsKXtzd2l0Y2gobC5rZXlDb2RlKXtjYXNlIDQwOnRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg8dGhpcy5fdmlydHVhbENvdW50LTEmJmwucHJldmVudERlZmF1bHQoKTt0aGlzLl9mb2N1c1BoeXNpY2FsSXRlbSh0aGlzLl9mb2N1c2VkVmlydHVhbEluZGV4KwoodGhpcy5ncmlkP3RoaXMuX2l0ZW1zUGVyUm93OjEpKTticmVhaztjYXNlIDM5OnRoaXMuZ3JpZCYmdGhpcy5fZm9jdXNQaHlzaWNhbEl0ZW0odGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCsodGhpcy5faXNSVEw/LTE6MSkpO2JyZWFrO2Nhc2UgMzg6MDx0aGlzLl9mb2N1c2VkVmlydHVhbEluZGV4JiZsLnByZXZlbnREZWZhdWx0KCk7dGhpcy5fZm9jdXNQaHlzaWNhbEl0ZW0odGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleC0odGhpcy5ncmlkP3RoaXMuX2l0ZW1zUGVyUm93OjEpKTticmVhaztjYXNlIDM3OnRoaXMuZ3JpZCYmdGhpcy5fZm9jdXNQaHlzaWNhbEl0ZW0odGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCsodGhpcy5faXNSVEw/MTotMSkpO2JyZWFrO2Nhc2UgMTM6dGhpcy5fZm9jdXNQaHlzaWNhbEl0ZW0odGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCksdGhpcy5zZWxlY3Rpb25FbmFibGVkJiZ0aGlzLl9zZWxlY3Rpb25IYW5kbGVyKGwpfX0sX2NsYW1wOmZ1bmN0aW9uKGwsCnAsbSl7cmV0dXJuIE1hdGgubWluKG0sTWF0aC5tYXgocCxsKSl9LF9kZWJvdW5jZTpmdW5jdGlvbihsLHAsbSl7Zj8odGhpcy5fZGVib3VuY2Vycz10aGlzLl9kZWJvdW5jZXJzfHx7fSx0aGlzLl9kZWJvdW5jZXJzW2xdPVBvbHltZXIuRGVib3VuY2VyLmRlYm91bmNlKHRoaXMuX2RlYm91bmNlcnNbbF0sbSxwLmJpbmQodGhpcykpLFBvbHltZXIuZW5xdWV1ZURlYm91bmNlcih0aGlzLl9kZWJvdW5jZXJzW2xdKSk6UG9seW1lci5kb20uYWRkRGVib3VuY2VyKHRoaXMuZGVib3VuY2UobCxwKSl9LF9mb3J3YXJkUHJvcGVydHk6ZnVuY3Rpb24obCxwLG0pe2Y/bC5fc2V0UGVuZGluZ1Byb3BlcnR5KHAsbSk6bFtwXT1tfSxfZm9yd2FyZEhvc3RQcm9wVjI6ZnVuY3Rpb24obCxwKXsodGhpcy5fcGh5c2ljYWxJdGVtc3x8W10pLmNvbmNhdChbdGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0sdGhpcy5fZm9jdXNCYWNrZmlsbEl0ZW1dKS5mb3JFYWNoKGZ1bmN0aW9uKG0pe20mJnRoaXMubW9kZWxGb3JFbGVtZW50KG0pLmZvcndhcmRIb3N0UHJvcChsLApwKX0sdGhpcyl9LF9ub3RpZnlJbnN0YW5jZVByb3BWMjpmdW5jdGlvbihsLHAsbSl7UG9seW1lci5QYXRoLm1hdGNoZXModGhpcy5hcyxwKSYmKGw9bFt0aGlzLmluZGV4QXNdLHA9PXRoaXMuYXMmJih0aGlzLml0ZW1zW2xdPW0pLHRoaXMubm90aWZ5UGF0aChQb2x5bWVyLlBhdGgudHJhbnNsYXRlKHRoaXMuYXMsIml0ZW1zLiIrbCxwKSxtKSl9LF9nZXRTdGFtcGVkQ2hpbGRyZW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxJdGVtc30sX2ZvcndhcmRJbnN0YW5jZVBhdGg6ZnVuY3Rpb24obCxwLG0pezA9PT1wLmluZGV4T2YodGhpcy5hcysiLiIpJiZ0aGlzLm5vdGlmeVBhdGgoIml0ZW1zLiIrbC5fX2tleV9fKyIuIitwLnNsaWNlKHRoaXMuYXMubGVuZ3RoKzEpLG0pfSxfZm9yd2FyZFBhcmVudFBhdGg6ZnVuY3Rpb24obCxwKXsodGhpcy5fcGh5c2ljYWxJdGVtc3x8W10pLmNvbmNhdChbdGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0sdGhpcy5fZm9jdXNCYWNrZmlsbEl0ZW1dKS5mb3JFYWNoKGZ1bmN0aW9uKG0pe20mJgp0aGlzLm1vZGVsRm9yRWxlbWVudChtKS5ub3RpZnlQYXRoKGwscCwhMCl9LHRoaXMpfSxfZm9yd2FyZFBhcmVudFByb3A6ZnVuY3Rpb24obCxwKXsodGhpcy5fcGh5c2ljYWxJdGVtc3x8W10pLmNvbmNhdChbdGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0sdGhpcy5fZm9jdXNCYWNrZmlsbEl0ZW1dKS5mb3JFYWNoKGZ1bmN0aW9uKG0pe20mJih0aGlzLm1vZGVsRm9yRWxlbWVudChtKVtsXT1wKX0sdGhpcyl9LF9nZXRBY3RpdmVFbGVtZW50OmZ1bmN0aW9uKCl7dmFyIGw9dGhpcy5faXRlbXNQYXJlbnQubm9kZS5kb21Ib3N0O3JldHVybiBQb2x5bWVyLmRvbShsP2wucm9vdDpkb2N1bWVudCkuYWN0aXZlRWxlbWVudH19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItaXRlbS9wYXBlci1pdGVtLWJvZHkuaHRtbC5qcwpQb2x5bWVyKHtpczoicGFwZXItaXRlbS1ib2R5In0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWNvbW1vbi90Zi1ncmFwaC1pY29uLmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7KGZ1bmN0aW9uKGYpe2xldCBoOyhmdW5jdGlvbihrKXtrLkNPTlNUPSJDT05TVCI7ay5NRVRBPSJNRVRBIjtrLk9QPSJPUCI7ay5TRVJJRVM9IlNFUklFUyI7ay5TVU1NQVJZPSJTVU1NQVJZIn0pKGg9Zi5HcmFwaEljb25UeXBlfHwoZi5HcmFwaEljb25UeXBlPXt9KSk7UG9seW1lcih7aXM6InRmLWdyYXBoLWljb24iLHByb3BlcnRpZXM6e3R5cGU6U3RyaW5nLHZlcnRpY2FsOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGZpbGxPdmVycmlkZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sc3Ryb2tlT3ZlcnJpZGU6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LGhlaWdodDp7dHlwZTpOdW1iZXIsdmFsdWU6MjB9LGZhZGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9maWxsOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVGaWxsKHR5cGUsIGZpbGxPdmVycmlkZSkifSxfc3Ryb2tlOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVTdHJva2UodHlwZSwgc3Ryb2tlT3ZlcnJpZGUpIn19LApnZXRTdmdEZWZpbmFibGVFbGVtZW50KCl7cmV0dXJuIHRoaXMuJC5zdmdEZWZzfSxfY29tcHV0ZUZpbGwoayxyKXtpZihudWxsIT1yKXJldHVybiByO3N3aXRjaChrKXtjYXNlIGguTUVUQTpyZXR1cm4gYi5ncmFwaC5yZW5kZXIuTWV0YW5vZGVDb2xvcnMuREVGQVVMVF9GSUxMO2Nhc2UgaC5TRVJJRVM6cmV0dXJuIGIuZ3JhcGgucmVuZGVyLlNlcmllc05vZGVDb2xvcnMuREVGQVVMVF9GSUxMO2RlZmF1bHQ6cmV0dXJuIGIuZ3JhcGgucmVuZGVyLk9wTm9kZUNvbG9ycy5ERUZBVUxUX0ZJTEx9fSxfY29tcHV0ZVN0cm9rZShrLHIpe2lmKG51bGwhPXIpcmV0dXJuIHI7c3dpdGNoKGspe2Nhc2UgaC5NRVRBOnJldHVybiBiLmdyYXBoLnJlbmRlci5NZXRhbm9kZUNvbG9ycy5ERUZBVUxUX1NUUk9LRTtjYXNlIGguU0VSSUVTOnJldHVybiBiLmdyYXBoLnJlbmRlci5TZXJpZXNOb2RlQ29sb3JzLkRFRkFVTFRfU1RST0tFO2RlZmF1bHQ6cmV0dXJuIGIuZ3JhcGgucmVuZGVyLk9wTm9kZUNvbG9ycy5ERUZBVUxUX1NUUk9LRX19LApfaXNUeXBlKGsscil7cmV0dXJuIGs9PT1yfSxfZmFkZWRDbGFzczpmdW5jdGlvbihrLHIpe3JldHVybiBrPyJmYWRlZC0iK3I6IiJ9fSl9KShkLmljb258fChkLmljb249e30pKX0pKGIuZ3JhcGh8fChiLmdyYXBoPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtY29tbW9uL3RmLW5vZGUtaWNvbi5odG1sLmpzCihmdW5jdGlvbigpe1BvbHltZXIoe2lzOiJ0Zi1ub2RlLWljb24iLHByb3BlcnRpZXM6e25vZGU6e3R5cGU6T2JqZWN0LHZhbHVlOm51bGx9LHJlbmRlckluZm86e3R5cGU6T2JqZWN0LHZhbHVlOm51bGx9LGNvbG9yQnk6e3R5cGU6T2JqZWN0LHZhbHVlOiJzdHJ1Y3R1cmFsIn0sdGVtcGxhdGVJbmRleDp7dHlwZTpGdW5jdGlvbix2YWx1ZTpudWxsfSx0eXBlOnt0eXBlOlN0cmluZyx2YWx1ZTpudWxsfSx2ZXJ0aWNhbDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxjb25zdDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxzdW1tYXJ5Ont0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGZpbGw6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LGhlaWdodDp7dHlwZTpOdW1iZXIsdmFsdWU6MjB9LF9maWxsT3ZlcnJpZGU6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZUZpbGxPdmVycmlkZShub2RlLCByZW5kZXJJbmZvLCBjb2xvckJ5LCB0ZW1wbGF0ZUluZGV4LCBmaWxsKSIsb2JzZXJ2ZXI6Il9vbkZpbGxPdmVycmlkZUNoYW5nZWQifX0sCl9jb21wdXRlRmlsbE92ZXJyaWRlOmZ1bmN0aW9uKGIsZCxmLGgsayl7cmV0dXJuIGImJmQmJmYmJmg/KGI9dGYuZ3JhcGguc2NlbmUubm9kZSxiLmdldEZpbGxGb3JOb2RlKGgsYi5Db2xvckJ5W2YudG9VcHBlckNhc2UoKV0sZCwhMSkpOmt9LF9nZXRTdHJva2VPdmVycmlkZTpmdW5jdGlvbihiKXtyZXR1cm4gYj90Zi5ncmFwaC5zY2VuZS5ub2RlLmdldFN0cm9rZUZvckZpbGwoYik6bnVsbH0sX2dldFR5cGU6ZnVuY3Rpb24oYixkLGYsaCl7Y29uc3Qgaz10Zi5ncmFwaC5pY29uLkdyYXBoSWNvblR5cGU7aWYoYilzd2l0Y2goYi50eXBlKXtjYXNlIHRmLmdyYXBoLk5vZGVUeXBlLk9QOnJldHVybiBiPWIub3AsInN0cmluZyIhPT10eXBlb2YgYj9rLk9QOiJDb25zdCI9PT1ifHxmP2suQ09OU1Q6Yi5lbmRzV2l0aCgiU3VtbWFyeSIpfHxkP2suU1VNTUFSWTprLk9QO2Nhc2UgdGYuZ3JhcGguTm9kZVR5cGUuTUVUQTpyZXR1cm4gay5NRVRBO2Nhc2UgdGYuZ3JhcGguTm9kZVR5cGUuU0VSSUVTOnJldHVybiBrLlNFUklFU31yZXR1cm4gaH0sCl9pc1ZlcnRpY2FsOmZ1bmN0aW9uKGIsZCl7cmV0dXJuIGI/Yi5oYXNOb25Db250cm9sRWRnZXM6ISFkfSxfZ2V0RmFkZWQ6ZnVuY3Rpb24oYil7cmV0dXJuIGImJmIuaXNGYWRlZE91dH0sX29uRmlsbE92ZXJyaWRlQ2hhbmdlZChiLGQpe2NvbnN0IGY9dGhpcy5ub2RlLGg9dGhpcy5yZW5kZXJJbmZvLGs9dGhpcy5jb2xvckJ5LHI9dGhpcy50ZW1wbGF0ZUluZGV4LGw9dGYuZ3JhcGguc2NlbmUubm9kZTtiIT09ZCYmbC5yZW1vdmVHcmFkaWVudERlZmluaXRpb25zKHRoaXMuJC5pY29uLmdldFN2Z0RlZmluYWJsZUVsZW1lbnQoKSk7ZiYmaCYmayYmciYmbC5nZXRGaWxsRm9yTm9kZShyLGwuQ29sb3JCeVtrLnRvVXBwZXJDYXNlKCldLGgsITEsdGhpcy4kLmljb24uZ2V0U3ZnRGVmaW5hYmxlRWxlbWVudCgpKX19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtb3AtY29tcGF0LWNhcmQvdGYtZ3JhcGgtb3AtY29tcGF0LWxpc3QtaXRlbS5odG1sLmpzCihmdW5jdGlvbigpe1BvbHltZXIoe2lzOiJ0Zi1ncmFwaC1vcC1jb21wYXQtbGlzdC1pdGVtIixwcm9wZXJ0aWVzOntjYXJkTm9kZTpPYmplY3QsaXRlbU5vZGU6T2JqZWN0LGVkZ2VMYWJlbDpTdHJpbmcsaXRlbVJlbmRlckluZm86T2JqZWN0LG5hbWU6U3RyaW5nLGl0ZW1UeXBlOnt0eXBlOlN0cmluZyxvYnNlcnZlcjoiX2l0ZW1UeXBlQ2hhbmdlZCJ9LGNvbG9yQnk6U3RyaW5nLGNvbG9yQnlQYXJhbXM6T2JqZWN0LHRlbXBsYXRlSW5kZXg6RnVuY3Rpb259LF9pdGVtVHlwZUNoYW5nZWQ6ZnVuY3Rpb24oKXsic3Vibm9kZSIhPT10aGlzLml0ZW1UeXBlP3RoaXMuJFsibGlzdC1pdGVtIl0uY2xhc3NMaXN0LmFkZCgiY2xpY2thYmxlIik6dGhpcy4kWyJsaXN0LWl0ZW0iXS5jbGFzc0xpc3QucmVtb3ZlKCJjbGlja2FibGUiKX0sX25vZGVMaXN0ZW5lcjpmdW5jdGlvbihiKXt0aGlzLmZpcmUoIm5vZGUtbGlzdC1pdGVtLSIrYi50eXBlLHtub2RlTmFtZTp0aGlzLm5hbWUsdHlwZTp0aGlzLml0ZW1UeXBlfSl9LApfZmFkZWRDbGFzczpmdW5jdGlvbihiKXtyZXR1cm4gYiYmYi5pc0ZhZGVkT3V0PyJmYWRlZCI6IiJ9fSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLW9wLWNvbXBhdC1jYXJkL3RmLWdyYXBoLW9wLWNvbXBhdC1jYXJkLmh0bWwuanMKKGZ1bmN0aW9uKCl7UG9seW1lcih7aXM6InRmLWdyYXBoLW9wLWNvbXBhdC1jYXJkIixwcm9wZXJ0aWVzOntncmFwaEhpZXJhcmNoeTpPYmplY3QsaGllcmFyY2h5UGFyYW1zOk9iamVjdCxyZW5kZXJIaWVyYXJjaHk6T2JqZWN0LG5vZGVUaXRsZTpTdHJpbmcsX3RlbXBsYXRlSW5kZXg6e3R5cGU6RnVuY3Rpb24sY29tcHV0ZWQ6Il9nZXRUZW1wbGF0ZUluZGV4KGdyYXBoSGllcmFyY2h5KSJ9LF9pbmNvbXBhdGlibGVPcE5vZGVzOnt0eXBlOk9iamVjdCxjb21wdXRlZDoiX2dldEluY29tcGF0aWJsZU9wTm9kZXMoZ3JhcGhIaWVyYXJjaHksIGhpZXJhcmNoeVBhcmFtcykifSxfZXhwYW5kZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMH0sX29wQ29tcGF0U2NvcmU6e3R5cGU6TnVtYmVyLGNvbXB1dGVkOiJfY29tcHV0ZU9wQ29tcGF0U2NvcmUoZ3JhcGhIaWVyYXJjaHkpIn0sX29wQ29tcGF0U2NvcmVMYWJlbDp7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9nZXRPcENvbXBhdFNjb3JlTGFiZWwoX29wQ29tcGF0U2NvcmUpIn0sCl9vcENvbXBhdENvbG9yOnt0eXBlOlN0cmluZyx2YWx1ZTp0Zi5ncmFwaC5yZW5kZXIuT3BOb2RlQ29sb3JzLkNPTVBBVElCTEV9LF9vcEluY29tcGF0Q29sb3I6e3R5cGU6U3RyaW5nLHZhbHVlOnRmLmdyYXBoLnJlbmRlci5PcE5vZGVDb2xvcnMuSU5DT01QQVRJQkxFfSxfdG90YWxJbmNvbXBhdE9wczp7dHlwZTpOdW1iZXIsY29tcHV0ZWQ6Il9nZXRUb3RhbEluY29tcGF0aWJsZU9wcyhncmFwaEhpZXJhcmNoeSkifX0sX2dldFRlbXBsYXRlSW5kZXg6ZnVuY3Rpb24oYil7cmV0dXJuIGIuZ2V0VGVtcGxhdGVJbmRleCgpfSxfZ2V0Tm9kZTpmdW5jdGlvbihiLGQpe3JldHVybiBkLm5vZGUoYil9LF9nZXRQcmludGFibGVIVE1MTm9kZU5hbWU6ZnVuY3Rpb24oYil7cmV0dXJuKGJ8fCIiKS5yZXBsYWNlKC9cLy9nLCJceDNjd2JyXHgzZS8iKX0sX2dldFJlbmRlckluZm86ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMucmVuZGVySGllcmFyY2h5LmdldE9yQ3JlYXRlUmVuZGVyTm9kZUJ5TmFtZShiKX0sCl90b2dnbGVFeHBhbmRlZDpmdW5jdGlvbigpe3RoaXMuX2V4cGFuZGVkPSF0aGlzLl9leHBhbmRlZH0sX2dldFRvZ2dsZUljb246ZnVuY3Rpb24oYil7cmV0dXJuIGI/ImV4cGFuZC1sZXNzIjoiZXhwYW5kLW1vcmUifSxfcmVzaXplTGlzdDpmdW5jdGlvbihiKXsoYj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGIpKSYmYi5maXJlKCJpcm9uLXJlc2l6ZSIpfSxfZ2V0SW5jb21wYXRpYmxlT3BOb2RlczpmdW5jdGlvbihiLGQpe2lmKGImJmIucm9vdClyZXR1cm4gdGhpcy5hc3luYyh0aGlzLl9yZXNpemVMaXN0LmJpbmQodGhpcywiI2luY29tcGF0aWJsZU9wc0xpc3QiKSksdGYuZ3JhcGguaGllcmFyY2h5LmdldEluY29tcGF0aWJsZU9wcyhiLGQpfSxfY29tcHV0ZU9wQ29tcGF0U2NvcmU6ZnVuY3Rpb24oYil7aWYoYiYmYi5yb290KXt2YXIgZD1iLnJvb3Q7Yj1kLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZTtkPWQuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5pbmNvbXBhdGlibGU7CnJldHVybiAwPT1iJiYwPT1kPzA6TWF0aC5mbG9vcigxMDAqYi8oYitkKSkvMTAwfXJldHVybiAwfSxfZ2V0T3BDb21wYXRTY29yZUxhYmVsOmZ1bmN0aW9uKGIpe3JldHVybiBkMy5mb3JtYXQoIi4wJSIpKGIpfSxfZ2V0VG90YWxJbmNvbXBhdGlibGVPcHM6ZnVuY3Rpb24oYil7cmV0dXJuIGImJmIucm9vdD9iLnJvb3QuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5pbmNvbXBhdGlibGU6MH19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtaW5mby90Zi1ub2RlLWxpc3QtaXRlbS5odG1sLmpzCihmdW5jdGlvbigpe1BvbHltZXIoe2lzOiJ0Zi1ub2RlLWxpc3QtaXRlbSIscHJvcGVydGllczp7Y2FyZE5vZGU6T2JqZWN0LGl0ZW1Ob2RlOk9iamVjdCxlZGdlTGFiZWw6U3RyaW5nLGl0ZW1SZW5kZXJJbmZvOk9iamVjdCxuYW1lOlN0cmluZyxpdGVtVHlwZTp7dHlwZTpTdHJpbmcsb2JzZXJ2ZXI6Il9pdGVtVHlwZUNoYW5nZWQifSxjb2xvckJ5OlN0cmluZyxjb2xvckJ5UGFyYW1zOk9iamVjdCx0ZW1wbGF0ZUluZGV4OkZ1bmN0aW9ufSxfaXRlbVR5cGVDaGFuZ2VkOmZ1bmN0aW9uKCl7InN1Ym5vZGUiIT09dGhpcy5pdGVtVHlwZT90aGlzLiRbImxpc3QtaXRlbSJdLmNsYXNzTGlzdC5hZGQoImNsaWNrYWJsZSIpOnRoaXMuJFsibGlzdC1pdGVtIl0uY2xhc3NMaXN0LnJlbW92ZSgiY2xpY2thYmxlIil9LF9ub2RlTGlzdGVuZXI6ZnVuY3Rpb24oYil7dGhpcy5maXJlKCJub2RlLWxpc3QtaXRlbS0iK2IudHlwZSx7Y2FyZE5vZGU6dGhpcy5jYXJkTm9kZS5uYW1lLG5vZGVOYW1lOnRoaXMubmFtZSwKdHlwZTp0aGlzLml0ZW1UeXBlfSl9LF9mYWRlZENsYXNzOmZ1bmN0aW9uKGIpe3JldHVybiBiJiZiLmlzRmFkZWRPdXQ/ImZhZGVkIjoiIn19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtaW5mby90Zi1ub2RlLWluZm8uaHRtbC5qcwooZnVuY3Rpb24oKXtQb2x5bWVyKHtpczoidGYtbm9kZS1pbmZvIixwcm9wZXJ0aWVzOntncmFwaE5vZGVOYW1lOlN0cmluZyxncmFwaEhpZXJhcmNoeTpPYmplY3QscmVuZGVySGllcmFyY2h5Ok9iamVjdCxjb2xvckJ5OlN0cmluZyxfdGVtcGxhdGVJbmRleDp7dHlwZTpGdW5jdGlvbixjb21wdXRlZDoiX2dldFRlbXBsYXRlSW5kZXgoZ3JhcGhIaWVyYXJjaHkpIn0sX25vZGU6e3R5cGU6T2JqZWN0LGNvbXB1dGVkOiJfZ2V0Tm9kZShncmFwaE5vZGVOYW1lLCBncmFwaEhpZXJhcmNoeSkiLG9ic2VydmVyOiJfcmVzZXRTdGF0ZSJ9LF9ub2RlU3RhdHM6e3R5cGU6T2JqZWN0LGNvbXB1dGVkOiJfZ2V0Tm9kZVN0YXRzKGdyYXBoTm9kZU5hbWUsIGdyYXBoSGllcmFyY2h5KSIsb2JzZXJ2ZXI6Il9yZXNldFN0YXRlIn0sX2hhc0Rpc3BsYXlhYmxlTm9kZVN0YXRzOnt0eXBlOk9iamVjdCxjb21wdXRlZDoiX2dldEhhc0Rpc3BsYXlhYmxlTm9kZVN0YXRzKF9ub2RlU3RhdHMpIn0sX25vZGVTdGF0c0Zvcm1hdHRlZEJ5dGVzOnt0eXBlOlN0cmluZywKY29tcHV0ZWQ6Il9nZXROb2RlU3RhdHNGb3JtYXR0ZWRCeXRlcyhfbm9kZVN0YXRzKSJ9LF9ub2RlU3RhdHNGb3JtYXR0ZWRDb21wdXRlVGltZTp7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9nZXROb2RlU3RhdHNGb3JtYXR0ZWRDb21wdXRlVGltZShfbm9kZVN0YXRzKSJ9LF9ub2RlU3RhdHNGb3JtYXR0ZWRPdXRwdXRTaXplczp7dHlwZTpBcnJheSxjb21wdXRlZDoiX2dldE5vZGVTdGF0c0Zvcm1hdHRlZE91dHB1dFNpemVzKF9ub2RlU3RhdHMpIn0sbm9kZUluY2x1ZGU6e3R5cGU6TnVtYmVyLG9ic2VydmVyOiJfbm9kZUluY2x1ZGVTdGF0ZUNoYW5nZWQifSxfYXR0cmlidXRlczp7dHlwZTpBcnJheSxjb21wdXRlZDoiX2dldEF0dHJpYnV0ZXMoX25vZGUpIn0sX2RldmljZTp7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9nZXREZXZpY2UoX25vZGUpIn0sX3N1Y2Nlc3NvcnM6e3R5cGU6T2JqZWN0LGNvbXB1dGVkOiJfZ2V0U3VjY2Vzc29ycyhfbm9kZSwgZ3JhcGhIaWVyYXJjaHkpIn0sCl9wcmVkZWNlc3NvcnM6e3R5cGU6T2JqZWN0LGNvbXB1dGVkOiJfZ2V0UHJlZGVjZXNzb3JzKF9ub2RlLCBncmFwaEhpZXJhcmNoeSkifSxfZnVuY3Rpb25Vc2FnZXM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9nZXRGdW5jdGlvblVzYWdlcyhfbm9kZSwgZ3JhcGhIaWVyYXJjaHkpIn0sX3N1Ym5vZGVzOnt0eXBlOkFycmF5LGNvbXB1dGVkOiJfZ2V0U3Vibm9kZXMoX25vZGUpIn0sX2V4cGFuZGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITB9LF90b3RhbFByZWRlY2Vzc29yczp7dHlwZTpOdW1iZXIsY29tcHV0ZWQ6Il9nZXRUb3RhbFByZWQoX3ByZWRlY2Vzc29ycykifSxfdG90YWxTdWNjZXNzb3JzOnt0eXBlOk51bWJlcixjb21wdXRlZDoiX2dldFRvdGFsU3VjYyhfc3VjY2Vzc29ycykifSxfb3BlbmVkQ29udHJvbFByZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX29wZW5lZENvbnRyb2xTdWNjOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9hdXhCdXR0b25UZXh0OlN0cmluZyxfZ3JvdXBCdXR0b25UZXh0OlN0cmluZ30sCmV4cGFuZE5vZGU6ZnVuY3Rpb24oKXt0aGlzLmZpcmUoIl9ub2RlLmV4cGFuZCIsdGhpcy5ub2RlKX0sX2dldFRlbXBsYXRlSW5kZXg6ZnVuY3Rpb24oYil7cmV0dXJuIGIuZ2V0VGVtcGxhdGVJbmRleCgpfSxfZ2V0Tm9kZTpmdW5jdGlvbihiLGQpe3JldHVybiBkLm5vZGUoYil9LF9nZXROb2RlU3RhdHM6ZnVuY3Rpb24oYixkKXtyZXR1cm4oYj10aGlzLl9nZXROb2RlKGIsZCkpP2Iuc3RhdHM6bnVsbH0sX2dldFRvdGFsTWljcm9zOmZ1bmN0aW9uKGIpe3JldHVybiBiP2IuZ2V0VG90YWxNaWNyb3MoKTowfSxfZ2V0SGFzRGlzcGxheWFibGVOb2RlU3RhdHM6ZnVuY3Rpb24oYil7cmV0dXJuIHRmLmdyYXBoLnV0aWwuaGFzRGlzcGxheWFibGVOb2RlU3RhdHMoYil9LF9nZXROb2RlU3RhdHNGb3JtYXR0ZWRCeXRlczpmdW5jdGlvbihiKXtpZihiJiZiLnRvdGFsQnl0ZXMpcmV0dXJuIHRmLmdyYXBoLnV0aWwuY29udmVydFVuaXRzVG9IdW1hblJlYWRhYmxlKGIudG90YWxCeXRlcyx0Zi5ncmFwaC51dGlsLk1FTU9SWV9VTklUUyl9LApfZ2V0Tm9kZVN0YXRzRm9ybWF0dGVkQ29tcHV0ZVRpbWU6ZnVuY3Rpb24oYil7aWYoYiYmYi5nZXRUb3RhbE1pY3JvcygpKXJldHVybiB0Zi5ncmFwaC51dGlsLmNvbnZlcnRVbml0c1RvSHVtYW5SZWFkYWJsZShiLmdldFRvdGFsTWljcm9zKCksdGYuZ3JhcGgudXRpbC5USU1FX1VOSVRTKX0sX2dldE5vZGVTdGF0c0Zvcm1hdHRlZE91dHB1dFNpemVzOmZ1bmN0aW9uKGIpe2lmKGImJmIub3V0cHV0U2l6ZSYmYi5vdXRwdXRTaXplLmxlbmd0aClyZXR1cm4gXy5tYXAoYi5vdXRwdXRTaXplLGZ1bmN0aW9uKGQpe3JldHVybiAwPT09ZC5sZW5ndGg/InNjYWxhciI6IlsiK2Quam9pbigiLCAiKSsiXSJ9KX0sX2dldFByaW50YWJsZUhUTUxOb2RlTmFtZTpmdW5jdGlvbihiKXtyZXR1cm4oYnx8IiIpLnJlcGxhY2UoL1wvL2csIlx4M2N3YnJceDNlLyIpfSxfZ2V0UmVuZGVySW5mbzpmdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5yZW5kZXJIaWVyYXJjaHkuZ2V0T3JDcmVhdGVSZW5kZXJOb2RlQnlOYW1lKGIpfSwKX2dldEF0dHJpYnV0ZXM6ZnVuY3Rpb24oYil7dGhpcy5hc3luYyh0aGlzLl9yZXNpemVMaXN0LmJpbmQodGhpcywiI2F0dHJpYnV0ZXNMaXN0IikpO2lmKCFifHwhYi5hdHRyKXJldHVybltdO3ZhciBkPVtdO18uZWFjaChiLmF0dHIsZnVuY3Rpb24oZil7Zi5rZXk9PT10Zi5ncmFwaC5MQVJHRV9BVFRSU19LRVk/ZD1kLmNvbmNhdChmLnZhbHVlLmxpc3Qucy5tYXAoZnVuY3Rpb24oaCl7cmV0dXJue2tleTpoLHZhbHVlOiJUb28gbGFyZ2UgdG8gc2hvdy4uLiJ9fSkpOmQucHVzaCh7a2V5OmYua2V5LHZhbHVlOkpTT04uc3RyaW5naWZ5KGYudmFsdWUpfSl9KTtyZXR1cm4gZH0sX2dldERldmljZTpmdW5jdGlvbihiKXtyZXR1cm4gYj9iLmRldmljZTpudWxsfSxfZ2V0U3VjY2Vzc29ycyhiLGQpe3RoaXMuX3JlZnJlc2hOb2RlSXRlbUxpc3QoImlucHV0c0xpc3QiKTtyZXR1cm4gYj90aGlzLl9jb252ZXJ0RWRnZUxpc3RUb0VkZ2VJbmZvTGlzdChkLmdldFN1Y2Nlc3NvcnMoYi5uYW1lKSwKITEsYi5pc0dyb3VwTm9kZSk6e3JlZ3VsYXI6W10sY29udHJvbDpbXX19LF9nZXRQcmVkZWNlc3NvcnMoYixkKXt0aGlzLl9yZWZyZXNoTm9kZUl0ZW1MaXN0KCJvdXRwdXRzTGlzdCIpO3JldHVybiBiP3RoaXMuX2NvbnZlcnRFZGdlTGlzdFRvRWRnZUluZm9MaXN0KGQuZ2V0UHJlZGVjZXNzb3JzKGIubmFtZSksITAsYi5pc0dyb3VwTm9kZSk6e3JlZ3VsYXI6W10sY29udHJvbDpbXX19LF9nZXRGdW5jdGlvblVzYWdlcyhiLGQpe3RoaXMuX3JlZnJlc2hOb2RlSXRlbUxpc3QoImZ1bmN0aW9uVXNhZ2VzTGlzdCIpO3JldHVybiBiJiZiLnR5cGU9PT10Zi5ncmFwaC5Ob2RlVHlwZS5NRVRBPyhiPWQubGlicmFyeUZ1bmN0aW9uc1tiLmFzc29jaWF0ZWRGdW5jdGlvbl0pP2IudXNhZ2VzOltdOltdfSxfcmVmcmVzaE5vZGVJdGVtTGlzdChiKXt0aGlzLmFzeW5jKHRoaXMuX3Jlc2l6ZUxpc3QuYmluZCh0aGlzLGAjJHtifWApKX0sX2NvbnZlcnRFZGdlTGlzdFRvRWRnZUluZm9MaXN0OmZ1bmN0aW9uKGIsCmQsZil7dmFyIGg9cj0+Xy5tYXAoci5iYXNlRWRnZUxpc3QsbD0+e3ZhciBwPWQ/bC52OmwudztyZXR1cm57bmFtZTpwLG5vZGU6dGhpcy5fZ2V0Tm9kZShwLHRoaXMuZ3JhcGhIaWVyYXJjaHkpLGVkZ2VMYWJlbDp0Zi5ncmFwaC5zY2VuZS5lZGdlLmdldExhYmVsRm9yQmFzZUVkZ2UobCx0aGlzLnJlbmRlckhpZXJhcmNoeSkscmVuZGVySW5mbzp0aGlzLl9nZXRSZW5kZXJJbmZvKHAsdGhpcy5yZW5kZXJIaWVyYXJjaHkpfX0pLGs9ZnVuY3Rpb24ocil7dmFyIGw9W107Xy5lYWNoKHIscD0+e3ZhciBtPWQ/cC52OnAudztmJiYxIT1wLmJhc2VFZGdlTGlzdC5sZW5ndGg/bC5wdXNoKHtuYW1lOm0sbm9kZTp0aGlzLl9nZXROb2RlKG0sdGhpcy5ncmFwaEhpZXJhcmNoeSksZWRnZUxhYmVsOnRmLmdyYXBoLnNjZW5lLmVkZ2UuZ2V0TGFiZWxGb3JFZGdlKHAsdGhpcy5yZW5kZXJIaWVyYXJjaHkpLHJlbmRlckluZm86dGhpcy5fZ2V0UmVuZGVySW5mbyhtLHRoaXMucmVuZGVySGllcmFyY2h5KX0pOgpsPWwuY29uY2F0KGgocCkpfSk7cmV0dXJuIGx9LmJpbmQodGhpcyk7cmV0dXJue3JlZ3VsYXI6ayhiLnJlZ3VsYXIpLGNvbnRyb2w6ayhiLmNvbnRyb2wpfX0sX2dldFN1Ym5vZGVzOmZ1bmN0aW9uKGIpe3JldHVybiBiJiZiLm1ldGFncmFwaD9iLm1ldGFncmFwaC5ub2RlcygpOm51bGx9LF9nZXRUb3RhbFByZWQ6ZnVuY3Rpb24oYil7cmV0dXJuIGIucmVndWxhci5sZW5ndGgrYi5jb250cm9sLmxlbmd0aH0sX2dldFRvdGFsU3VjYzpmdW5jdGlvbihiKXtyZXR1cm4gYi5yZWd1bGFyLmxlbmd0aCtiLmNvbnRyb2wubGVuZ3RofSxfdG9nZ2xlQ29udHJvbFByZWQ6ZnVuY3Rpb24oKXt0aGlzLl9vcGVuZWRDb250cm9sUHJlZD0hdGhpcy5fb3BlbmVkQ29udHJvbFByZWR9LF90b2dnbGVDb250cm9sU3VjYzpmdW5jdGlvbigpe3RoaXMuX29wZW5lZENvbnRyb2xTdWNjPSF0aGlzLl9vcGVuZWRDb250cm9sU3VjY30sX3RvZ2dsZUV4cGFuZGVkOmZ1bmN0aW9uKCl7dGhpcy5fZXhwYW5kZWQ9CiF0aGlzLl9leHBhbmRlZH0sX2dldFRvZ2dsZUljb246ZnVuY3Rpb24oYil7cmV0dXJuIGI/ImV4cGFuZC1sZXNzIjoiZXhwYW5kLW1vcmUifSxfcmVzZXRTdGF0ZTpmdW5jdGlvbigpe3RoaXMuX29wZW5lZENvbnRyb2xTdWNjPXRoaXMuX29wZW5lZENvbnRyb2xQcmVkPSExO3RoaXMuc2V0KCJfZ3JvdXBCdXR0b25UZXh0Iix0Zi5ncmFwaC5zY2VuZS5ub2RlLmdldEdyb3VwU2V0dGluZ0xhYmVsKHRoaXMuX25vZGUpKTt0aGlzLl9ub2RlJiYoUG9seW1lci5kb20odGhpcy4kLm5vZGV0aXRsZSkuaW5uZXJIVE1MPXRoaXMuX2dldFByaW50YWJsZUhUTUxOb2RlTmFtZSh0aGlzLl9ub2RlLm5hbWUpKX0sX3Jlc2l6ZUxpc3Q6ZnVuY3Rpb24oYil7KGI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihiKSkmJmIuZmlyZSgiaXJvbi1yZXNpemUiKX0sX3RvZ2dsZUluY2x1ZGU6ZnVuY3Rpb24oKXt0aGlzLmZpcmUoIm5vZGUtdG9nZ2xlLWluY2x1c2lvbiIse25hbWU6dGhpcy5ncmFwaE5vZGVOYW1lfSl9LApfbm9kZUluY2x1ZGVTdGF0ZUNoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5zZXQoIl9hdXhCdXR0b25UZXh0Iix0Zi5ncmFwaC5nZXRJbmNsdWRlTm9kZUJ1dHRvblN0cmluZyhiKSl9LF90b2dnbGVHcm91cDpmdW5jdGlvbigpe3ZhciBiPXRmLmdyYXBoLnNjZW5lLm5vZGUuZ2V0U2VyaWVzTmFtZSh0aGlzLl9ub2RlKTt0aGlzLmZpcmUoIm5vZGUtdG9nZ2xlLXNlcmllc2dyb3VwIix7bmFtZTpifSl9LF9pc0xpYnJhcnlGdW5jdGlvbihiKXtyZXR1cm4gYiYmYi5uYW1lLnN0YXJ0c1dpdGgodGYuZ3JhcGguRlVOQ1RJT05fTElCUkFSWV9OT0RFX1BSRUZJWCl9LF9pc0luU2VyaWVzOmZ1bmN0aW9uKGIpe3JldHVybiB0Zi5ncmFwaC5zY2VuZS5ub2RlLmNhbkJlSW5TZXJpZXMoYil9fSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWluZm8vdGYtZ3JhcGgtaW5mby5odG1sLmpzCihmdW5jdGlvbigpe1BvbHltZXIoe2lzOiJ0Zi1ncmFwaC1pbmZvIixwcm9wZXJ0aWVzOnt0aXRsZTpTdHJpbmcsZ3JhcGhIaWVyYXJjaHk6T2JqZWN0LGdyYXBoOk9iamVjdCxyZW5kZXJIaWVyYXJjaHk6T2JqZWN0LG5vZGVOYW1lc1RvSGVhbHRoUGlsbHM6T2JqZWN0LGhlYWx0aFBpbGxTdGVwSW5kZXg6e3R5cGU6TnVtYmVyLG5vdGlmeTohMH0sY29sb3JCeTpTdHJpbmcsY29tcGF0Tm9kZVRpdGxlOlN0cmluZyxzZWxlY3RlZE5vZGU6e3R5cGU6U3RyaW5nLG5vdGlmeTohMH0saGlnaGxpZ2h0ZWROb2RlOnt0eXBlOlN0cmluZyxub3RpZnk6ITB9LHNlbGVjdGVkTm9kZUluY2x1ZGU6e3R5cGU6TnVtYmVyLG5vdGlmeTohMH0sZGVidWdnZXJEYXRhRW5hYmxlZDpCb29sZWFufSxsaXN0ZW5lcnM6eyJub2RlLWxpc3QtaXRlbS1jbGljayI6Il9ub2RlTGlzdEl0ZW1DbGlja2VkIiwibm9kZS1saXN0LWl0ZW0tbW91c2VvdmVyIjoiX25vZGVMaXN0SXRlbU1vdXNlb3ZlciIsIm5vZGUtbGlzdC1pdGVtLW1vdXNlb3V0IjoiX25vZGVMaXN0SXRlbU1vdXNlb3V0In0sCl9ub2RlTGlzdEl0ZW1DbGlja2VkOmZ1bmN0aW9uKGIpe3RoaXMuc2VsZWN0ZWROb2RlPWIuZGV0YWlsLm5vZGVOYW1lfSxfbm9kZUxpc3RJdGVtTW91c2VvdmVyOmZ1bmN0aW9uKGIpe3RoaXMuaGlnaGxpZ2h0ZWROb2RlPWIuZGV0YWlsLm5vZGVOYW1lfSxfbm9kZUxpc3RJdGVtTW91c2VvdXQ6ZnVuY3Rpb24oKXt0aGlzLmhpZ2hsaWdodGVkTm9kZT1udWxsfSxfaGVhbHRoUGlsbHNBdmFpbGFibGU6ZnVuY3Rpb24oYixkKXtyZXR1cm4gYiYmZCYmMDxPYmplY3Qua2V5cyhkKS5sZW5ndGh9LF9lcXVhbHM6ZnVuY3Rpb24oYixkKXtyZXR1cm4gYj09PWR9fSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWJvYXJkL3RmLWdyYXBoLWJvYXJkLmh0bWwuanMKUG9seW1lcih7aXM6InRmLWdyYXBoLWJvYXJkIixwcm9wZXJ0aWVzOntncmFwaEhpZXJhcmNoeTpPYmplY3QsZ3JhcGg6T2JqZWN0LHN0YXRzOk9iamVjdCxwcm9ncmVzczpPYmplY3QsdHJhY2VJbnB1dHM6Qm9vbGVhbixjb2xvckJ5OlN0cmluZyxjb2xvckJ5UGFyYW1zOnt0eXBlOk9iamVjdCxub3RpZnk6ITB9LHJlbmRlckhpZXJhcmNoeTp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSxkZWJ1Z2dlckRhdGFFbmFibGVkOkJvb2xlYW4sYXJlSGVhbHRoUGlsbHNMb2FkaW5nOkJvb2xlYW4sZGVidWdnZXJOdW1lcmljQWxlcnRzOnt0eXBlOkFycmF5LG5vdGlmeTohMH0sbm9kZU5hbWVzVG9IZWFsdGhQaWxsczpPYmplY3QsYWxsU3RlcHNNb2RlRW5hYmxlZDp7dHlwZTpCb29sZWFuLG5vdGlmeTohMCx2YWx1ZTohMX0sc3BlY2lmaWNIZWFsdGhQaWxsU3RlcDp7dHlwZTpOdW1iZXIsbm90aWZ5OiEwLHZhbHVlOjB9LGhlYWx0aFBpbGxTdGVwSW5kZXg6TnVtYmVyLHNlbGVjdGVkTm9kZTp7dHlwZTpTdHJpbmcsCm5vdGlmeTohMH0sY29tcGF0Tm9kZVRpdGxlOnt0eXBlOlN0cmluZyx2YWx1ZToiVFBVIENvbXBhdGliaWxpdHkifSxlZGdlV2lkdGhGdW5jdGlvbjpPYmplY3QsX3NlbGVjdGVkTm9kZUluY2x1ZGU6TnVtYmVyLF9oaWdobGlnaHRlZE5vZGU6U3RyaW5nLGhhbmRsZU5vZGVTZWxlY3RlZDpPYmplY3QsZWRnZUxhYmVsRnVuY3Rpb246T2JqZWN0LGhhbmRsZUVkZ2VTZWxlY3RlZDpPYmplY3R9LG9ic2VydmVyczpbIl91cGRhdGVOb2RlSW5jbHVkZShzZWxlY3RlZE5vZGUsIHJlbmRlckhpZXJhcmNoeSkiXSxmaXQ6ZnVuY3Rpb24oKXt0aGlzLiQuZ3JhcGguZml0KCl9LF9pc05vdENvbXBsZXRlOmZ1bmN0aW9uKGIpe3JldHVybiAxMDA+Yi52YWx1ZX0sX2dldENvbnRhaW5lckNsYXNzOmZ1bmN0aW9uKGIpe3ZhciBkPSJjb250YWluZXIiO2IuZXJyb3ImJihkKz0iIGVycm9yIik7dGhpcy5faXNOb3RDb21wbGV0ZShiKSYmKGQrPSIgbG9hZGluZyIpO3JldHVybiBkfSxfb25Ob2RlSW5jbHVzaW9uVG9nZ2xlZChiKXt0aGlzLiQuZ3JhcGgubm9kZVRvZ2dsZUV4dHJhY3QoYi5kZXRhaWwubmFtZSl9LApfb25Ob2RlU2VyaWVzR3JvdXBUb2dnbGVkKGIpe3RoaXMuJC5ncmFwaC5ub2RlVG9nZ2xlU2VyaWVzR3JvdXAoYi5kZXRhaWwubmFtZSl9LF91cGRhdGVOb2RlSW5jbHVkZSgpe2NvbnN0IGI9dGhpcy5yZW5kZXJIaWVyYXJjaHk/dGhpcy5yZW5kZXJIaWVyYXJjaHkuZ2V0Tm9kZUJ5TmFtZSh0aGlzLnNlbGVjdGVkTm9kZSk6bnVsbDt0aGlzLl9zZWxlY3RlZE5vZGVJbmNsdWRlPWI/Yi5pbmNsdWRlOnRmLmdyYXBoLkluY2x1c2lvblR5cGUuVU5TUEVDSUZJRUR9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItcmFkaW8tYnV0dG9uL3BhcGVyLXJhZGlvLWJ1dHRvbi5odG1sLmpzClBvbHltZXIoe2lzOiJwYXBlci1yYWRpby1idXR0b24iLGJlaGF2aW9yczpbUG9seW1lci5QYXBlckNoZWNrZWRFbGVtZW50QmVoYXZpb3JdLGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJyYWRpbyIsImFyaWEtY2hlY2tlZCI6ITEsdGFiaW5kZXg6MH0scHJvcGVydGllczp7YXJpYUFjdGl2ZUF0dHJpYnV0ZTp7dHlwZTpTdHJpbmcsdmFsdWU6ImFyaWEtY2hlY2tlZCJ9fSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuX3JpcHBsZUNvbnRhaW5lcj10aGlzLiQucmFkaW9Db250YWluZXJ9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7UG9seW1lci5SZW5kZXJTdGF0dXMuYWZ0ZXJOZXh0UmVuZGVyKHRoaXMsZnVuY3Rpb24oKXtpZigiLTFweCI9PT10aGlzLmdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLS1jYWxjdWxhdGVkLXBhcGVyLXJhZGlvLWJ1dHRvbi1pbmstc2l6ZSIpLnRyaW0oKSl7dmFyIGI9cGFyc2VGbG9hdCh0aGlzLmdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLS1jYWxjdWxhdGVkLXBhcGVyLXJhZGlvLWJ1dHRvbi1zaXplIikudHJpbSgpKSwKZD1NYXRoLmZsb29yKDMqYik7ZCUyIT09YiUyJiZkKys7dGhpcy51cGRhdGVTdHlsZXMoeyItLXBhcGVyLXJhZGlvLWJ1dHRvbi1pbmstc2l6ZSI6ZCsicHgifSl9fSl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItcmFkaW8tZ3JvdXAvcGFwZXItcmFkaW8tZ3JvdXAuaHRtbC5qcwpQb2x5bWVyKHtpczoicGFwZXItcmFkaW8tZ3JvdXAiLGJlaGF2aW9yczpbUG9seW1lci5Jcm9uTWVudWJhckJlaGF2aW9yXSxob3N0QXR0cmlidXRlczp7cm9sZToicmFkaW9ncm91cCJ9LHByb3BlcnRpZXM6e2F0dHJGb3JTZWxlY3RlZDp7dHlwZTpTdHJpbmcsdmFsdWU6Im5hbWUifSxzZWxlY3RlZEF0dHJpYnV0ZTp7dHlwZTpTdHJpbmcsdmFsdWU6ImNoZWNrZWQifSxzZWxlY3RhYmxlOnt0eXBlOlN0cmluZyx2YWx1ZToicGFwZXItcmFkaW8tYnV0dG9uIn0sYWxsb3dFbXB0eVNlbGVjdGlvbjp7dHlwZTpCb29sZWFuLHZhbHVlOiExfX0sc2VsZWN0OmZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMuX3ZhbHVlVG9JdGVtKGIpO2lmKCFkfHwhZC5oYXNBdHRyaWJ1dGUoImRpc2FibGVkIikpe2lmKHRoaXMuc2VsZWN0ZWQpe2Q9dGhpcy5fdmFsdWVUb0l0ZW0odGhpcy5zZWxlY3RlZCk7aWYodGhpcy5zZWxlY3RlZD09YilpZih0aGlzLmFsbG93RW1wdHlTZWxlY3Rpb24pYj0iIjtlbHNle2QmJgooZC5jaGVja2VkPSEwKTtyZXR1cm59ZCYmKGQuY2hlY2tlZD0hMSl9UG9seW1lci5Jcm9uU2VsZWN0YWJsZUJlaGF2aW9yLnNlbGVjdC5hcHBseSh0aGlzLFtiXSk7dGhpcy5maXJlKCJwYXBlci1yYWRpby1ncm91cC1jaGFuZ2VkIil9fSxfYWN0aXZhdGVGb2N1c2VkSXRlbTpmdW5jdGlvbigpe3RoaXMuX2l0ZW1BY3RpdmF0ZSh0aGlzLl92YWx1ZUZvckl0ZW0odGhpcy5mb2N1c2VkSXRlbSksdGhpcy5mb2N1c2VkSXRlbSl9LF9vblVwS2V5OmZ1bmN0aW9uKGIpe3RoaXMuX2ZvY3VzUHJldmlvdXMoKTtiLnByZXZlbnREZWZhdWx0KCk7dGhpcy5fYWN0aXZhdGVGb2N1c2VkSXRlbSgpfSxfb25Eb3duS2V5OmZ1bmN0aW9uKGIpe3RoaXMuX2ZvY3VzTmV4dCgpO2IucHJldmVudERlZmF1bHQoKTt0aGlzLl9hY3RpdmF0ZUZvY3VzZWRJdGVtKCl9LF9vbkxlZnRLZXk6ZnVuY3Rpb24oYil7UG9seW1lci5Jcm9uTWVudWJhckJlaGF2aW9ySW1wbC5fb25MZWZ0S2V5LmFwcGx5KHRoaXMsYXJndW1lbnRzKTsKdGhpcy5fYWN0aXZhdGVGb2N1c2VkSXRlbSgpfSxfb25SaWdodEtleTpmdW5jdGlvbihiKXtQb2x5bWVyLklyb25NZW51YmFyQmVoYXZpb3JJbXBsLl9vblJpZ2h0S2V5LmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLl9hY3RpdmF0ZUZvY3VzZWRJdGVtKCl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItdG9vbHRpcC9wYXBlci10b29sdGlwLmh0bWwuanMKUG9seW1lcih7aXM6InBhcGVyLXRvb2x0aXAiLGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJ0b29sdGlwIix0YWJpbmRleDotMX0scHJvcGVydGllczp7Zm9yOnt0eXBlOlN0cmluZyxvYnNlcnZlcjoiX2ZpbmRUYXJnZXQifSxtYW51YWxNb2RlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsb2JzZXJ2ZXI6Il9tYW51YWxNb2RlQ2hhbmdlZCJ9LHBvc2l0aW9uOnt0eXBlOlN0cmluZyx2YWx1ZToiYm90dG9tIn0sZml0VG9WaXNpYmxlQm91bmRzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LG9mZnNldDp7dHlwZTpOdW1iZXIsdmFsdWU6MTR9LG1hcmdpblRvcDp7dHlwZTpOdW1iZXIsdmFsdWU6MTR9LGFuaW1hdGlvbkRlbGF5Ont0eXBlOk51bWJlcix2YWx1ZTo1MDAsb2JzZXJ2ZXI6Il9kZWxheUNoYW5nZSJ9LGFuaW1hdGlvbkVudHJ5Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sYW5pbWF0aW9uRXhpdDp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9LGFuaW1hdGlvbkNvbmZpZzp7dHlwZTpPYmplY3QsCnZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue2VudHJ5Olt7bmFtZToiZmFkZS1pbi1hbmltYXRpb24iLG5vZGU6dGhpcyx0aW1pbmc6e2RlbGF5OjB9fV0sZXhpdDpbe25hbWU6ImZhZGUtb3V0LWFuaW1hdGlvbiIsbm9kZTp0aGlzfV19fX0sX3Nob3dpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX19LGxpc3RlbmVyczp7d2Via2l0QW5pbWF0aW9uRW5kOiJfb25BbmltYXRpb25FbmQifSxnZXQgdGFyZ2V0KCl7dmFyIGI9UG9seW1lci5kb20odGhpcykucGFyZW50Tm9kZSxkPVBvbHltZXIuZG9tKHRoaXMpLmdldE93bmVyUm9vdCgpO3JldHVybiB0aGlzLmZvcj9Qb2x5bWVyLmRvbShkKS5xdWVyeVNlbGVjdG9yKCIjIit0aGlzLmZvcik6Yi5ub2RlVHlwZT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFP2QuaG9zdDpifSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2ZpbmRUYXJnZXQoKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLm1hbnVhbE1vZGV8fHRoaXMuX3JlbW92ZUxpc3RlbmVycygpfSwKcGxheUFuaW1hdGlvbjpmdW5jdGlvbihiKXsiZW50cnkiPT09Yj90aGlzLnNob3coKToiZXhpdCI9PT1iJiZ0aGlzLmhpZGUoKX0sY2FuY2VsQW5pbWF0aW9uOmZ1bmN0aW9uKCl7dGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LmFkZCgiY2FuY2VsLWFuaW1hdGlvbiIpfSxzaG93OmZ1bmN0aW9uKCl7aWYoIXRoaXMuX3Nob3dpbmcpe2lmKCIiPT09UG9seW1lci5kb20odGhpcykudGV4dENvbnRlbnQudHJpbSgpKXtmb3IodmFyIGI9ITAsZD1Qb2x5bWVyLmRvbSh0aGlzKS5nZXRFZmZlY3RpdmVDaGlsZE5vZGVzKCksZj0wO2Y8ZC5sZW5ndGg7ZisrKWlmKCIiIT09ZFtmXS50ZXh0Q29udGVudC50cmltKCkpe2I9ITE7YnJlYWt9aWYoYilyZXR1cm59dGhpcy5fc2hvd2luZz0hMDt0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTt0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QucmVtb3ZlKCJjYW5jZWwtYW5pbWF0aW9uIik7dGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9nZXRBbmltYXRpb25UeXBlKCJleGl0IikpOwp0aGlzLnVwZGF0ZVBvc2l0aW9uKCk7dGhpcy5fYW5pbWF0aW9uUGxheWluZz0hMDt0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QuYWRkKHRoaXMuX2dldEFuaW1hdGlvblR5cGUoImVudHJ5IikpfX0saGlkZTpmdW5jdGlvbigpe3RoaXMuX3Nob3dpbmcmJih0aGlzLl9hbmltYXRpb25QbGF5aW5nPyh0aGlzLl9zaG93aW5nPSExLHRoaXMuX2NhbmNlbEFuaW1hdGlvbigpKToodGhpcy5fb25BbmltYXRpb25GaW5pc2goKSx0aGlzLl9zaG93aW5nPSExLHRoaXMuX2FuaW1hdGlvblBsYXlpbmc9ITApKX0sdXBkYXRlUG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzLl90YXJnZXQmJnRoaXMub2Zmc2V0UGFyZW50KXt2YXIgYj10aGlzLm9mZnNldDsxNCE9dGhpcy5tYXJnaW5Ub3AmJjE0PT10aGlzLm9mZnNldCYmKGI9dGhpcy5tYXJnaW5Ub3ApO3ZhciBkPXRoaXMub2Zmc2V0UGFyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGY9dGhpcy5fdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLApoPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaz0oZi53aWR0aC1oLndpZHRoKS8yLHI9KGYuaGVpZ2h0LWguaGVpZ2h0KS8yLGw9Zi5sZWZ0LWQubGVmdCxwPWYudG9wLWQudG9wO3N3aXRjaCh0aGlzLnBvc2l0aW9uKXtjYXNlICJ0b3AiOnZhciBtPWwrazt2YXIgbj1wLWguaGVpZ2h0LWI7YnJlYWs7Y2FzZSAiYm90dG9tIjptPWwraztuPXArZi5oZWlnaHQrYjticmVhaztjYXNlICJsZWZ0IjptPWwtaC53aWR0aC1iO249cCtyO2JyZWFrO2Nhc2UgInJpZ2h0IjptPWwrZi53aWR0aCtiLG49cCtyfXRoaXMuZml0VG9WaXNpYmxlQm91bmRzPyhkLmxlZnQrbStoLndpZHRoPndpbmRvdy5pbm5lcldpZHRoPyh0aGlzLnN0eWxlLnJpZ2h0PSIwcHgiLHRoaXMuc3R5bGUubGVmdD0iYXV0byIpOih0aGlzLnN0eWxlLmxlZnQ9TWF0aC5tYXgoMCxtKSsicHgiLHRoaXMuc3R5bGUucmlnaHQ9ImF1dG8iKSxkLnRvcCtuK2guaGVpZ2h0PndpbmRvdy5pbm5lckhlaWdodD8odGhpcy5zdHlsZS5ib3R0b209CmQuaGVpZ2h0KyJweCIsdGhpcy5zdHlsZS50b3A9ImF1dG8iKToodGhpcy5zdHlsZS50b3A9TWF0aC5tYXgoLWQudG9wLG4pKyJweCIsdGhpcy5zdHlsZS5ib3R0b209ImF1dG8iKSk6KHRoaXMuc3R5bGUubGVmdD1tKyJweCIsdGhpcy5zdHlsZS50b3A9bisicHgiKX19LF9hZGRMaXN0ZW5lcnM6ZnVuY3Rpb24oKXt0aGlzLl90YXJnZXQmJih0aGlzLmxpc3Rlbih0aGlzLl90YXJnZXQsIm1vdXNlZW50ZXIiLCJzaG93IiksdGhpcy5saXN0ZW4odGhpcy5fdGFyZ2V0LCJmb2N1cyIsInNob3ciKSx0aGlzLmxpc3Rlbih0aGlzLl90YXJnZXQsIm1vdXNlbGVhdmUiLCJoaWRlIiksdGhpcy5saXN0ZW4odGhpcy5fdGFyZ2V0LCJibHVyIiwiaGlkZSIpLHRoaXMubGlzdGVuKHRoaXMuX3RhcmdldCwidGFwIiwiaGlkZSIpKTt0aGlzLmxpc3Rlbih0aGlzLiQudG9vbHRpcCwiYW5pbWF0aW9uZW5kIiwiX29uQW5pbWF0aW9uRW5kIik7dGhpcy5saXN0ZW4odGhpcywibW91c2VlbnRlciIsImhpZGUiKX0sCl9maW5kVGFyZ2V0OmZ1bmN0aW9uKCl7dGhpcy5tYW51YWxNb2RlfHx0aGlzLl9yZW1vdmVMaXN0ZW5lcnMoKTt0aGlzLl90YXJnZXQ9dGhpcy50YXJnZXQ7dGhpcy5tYW51YWxNb2RlfHx0aGlzLl9hZGRMaXN0ZW5lcnMoKX0sX2RlbGF5Q2hhbmdlOmZ1bmN0aW9uKGIpezUwMCE9PWImJnRoaXMudXBkYXRlU3R5bGVzKHsiLS1wYXBlci10b29sdGlwLWRlbGF5LWluIjpiKyJtcyJ9KX0sX21hbnVhbE1vZGVDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5tYW51YWxNb2RlP3RoaXMuX3JlbW92ZUxpc3RlbmVycygpOnRoaXMuX2FkZExpc3RlbmVycygpfSxfY2FuY2VsQW5pbWF0aW9uOmZ1bmN0aW9uKCl7dGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9nZXRBbmltYXRpb25UeXBlKCJlbnRyeSIpKTt0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuX2dldEFuaW1hdGlvblR5cGUoImV4aXQiKSk7dGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSgiY2FuY2VsLWFuaW1hdGlvbiIpOwp0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKX0sX29uQW5pbWF0aW9uRmluaXNoOmZ1bmN0aW9uKCl7dGhpcy5fc2hvd2luZyYmKHRoaXMuJC50b29sdGlwLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5fZ2V0QW5pbWF0aW9uVHlwZSgiZW50cnkiKSksdGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSgiY2FuY2VsLWFuaW1hdGlvbiIpLHRoaXMuJC50b29sdGlwLmNsYXNzTGlzdC5hZGQodGhpcy5fZ2V0QW5pbWF0aW9uVHlwZSgiZXhpdCIpKSl9LF9vbkFuaW1hdGlvbkVuZDpmdW5jdGlvbigpe3RoaXMuX2FuaW1hdGlvblBsYXlpbmc9ITE7dGhpcy5fc2hvd2luZ3x8KHRoaXMuJC50b29sdGlwLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5fZ2V0QW5pbWF0aW9uVHlwZSgiZXhpdCIpKSx0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSl9LF9nZXRBbmltYXRpb25UeXBlOmZ1bmN0aW9uKGIpe2lmKCJlbnRyeSI9PT1iJiYiIiE9PXRoaXMuYW5pbWF0aW9uRW50cnkpcmV0dXJuIHRoaXMuYW5pbWF0aW9uRW50cnk7CmlmKCJleGl0Ij09PWImJiIiIT09dGhpcy5hbmltYXRpb25FeGl0KXJldHVybiB0aGlzLmFuaW1hdGlvbkV4aXQ7aWYodGhpcy5hbmltYXRpb25Db25maWdbYl0mJiJzdHJpbmciPT09dHlwZW9mIHRoaXMuYW5pbWF0aW9uQ29uZmlnW2JdWzBdLm5hbWUpe2lmKHRoaXMuYW5pbWF0aW9uQ29uZmlnW2JdWzBdLnRpbWluZyYmdGhpcy5hbmltYXRpb25Db25maWdbYl1bMF0udGltaW5nLmRlbGF5JiYwIT09dGhpcy5hbmltYXRpb25Db25maWdbYl1bMF0udGltaW5nLmRlbGF5KXt2YXIgZD10aGlzLmFuaW1hdGlvbkNvbmZpZ1tiXVswXS50aW1pbmcuZGVsYXk7ImVudHJ5Ij09PWI/dGhpcy51cGRhdGVTdHlsZXMoeyItLXBhcGVyLXRvb2x0aXAtZGVsYXktaW4iOmQrIm1zIn0pOiJleGl0Ij09PWImJnRoaXMudXBkYXRlU3R5bGVzKHsiLS1wYXBlci10b29sdGlwLWRlbGF5LW91dCI6ZCsibXMifSl9cmV0dXJuIHRoaXMuYW5pbWF0aW9uQ29uZmlnW2JdWzBdLm5hbWV9fSxfcmVtb3ZlTGlzdGVuZXJzOmZ1bmN0aW9uKCl7dGhpcy5fdGFyZ2V0JiYKKHRoaXMudW5saXN0ZW4odGhpcy5fdGFyZ2V0LCJtb3VzZWVudGVyIiwic2hvdyIpLHRoaXMudW5saXN0ZW4odGhpcy5fdGFyZ2V0LCJmb2N1cyIsInNob3ciKSx0aGlzLnVubGlzdGVuKHRoaXMuX3RhcmdldCwibW91c2VsZWF2ZSIsImhpZGUiKSx0aGlzLnVubGlzdGVuKHRoaXMuX3RhcmdldCwiYmx1ciIsImhpZGUiKSx0aGlzLnVubGlzdGVuKHRoaXMuX3RhcmdldCwidGFwIiwiaGlkZSIpKTt0aGlzLnVubGlzdGVuKHRoaXMuJC50b29sdGlwLCJhbmltYXRpb25lbmQiLCJfb25BbmltYXRpb25FbmQiKTt0aGlzLnVubGlzdGVuKHRoaXMsIm1vdXNlZW50ZXIiLCJoaWRlIil9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtZ3JhcGgtbm9kZS1zZWFyY2gvdGYtZ3JhcGgtbm9kZS1zZWFyY2guaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtZ3JhcGgtbm9kZS1zZWFyY2giLHByb3BlcnRpZXM6e3JlbmRlckhpZXJhcmNoeTpPYmplY3Qsc2VsZWN0ZWROb2RlOnt0eXBlOlN0cmluZyxub3RpZnk6ITB9LF9yYXdSZWdleElucHV0Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sX3JlZ2V4SW5wdXQ6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVJlZ2V4SW5wdXQocmVuZGVySGllcmFyY2h5LCBfcmF3UmVnZXhJbnB1dCkifSxfcHJldmlvdXNSZWdleElucHV0Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sX3NlYXJjaFRpbWVvdXREZWxheTp7dHlwZTpOdW1iZXIsdmFsdWU6MTUwLHJlYWRPbmx5OiEwfSxfc2VhcmNoUGVuZGluZzpCb29sZWFuLF9tYXhSZWdleFJlc3VsdHM6e3R5cGU6TnVtYmVyLHZhbHVlOjQyfSxfcmVnZXhNYXRjaGVzOkFycmF5fSxvYnNlcnZlcnM6WyJfcmVnZXhJbnB1dENoYW5nZWQoX3JlZ2V4SW5wdXQpIl0sX2NvbXB1dGVSZWdleElucHV0KGIsZCl7cmV0dXJuIGQudHJpbSgpfSwKX3JlZ2V4SW5wdXRDaGFuZ2VkKCl7dGhpcy5fcmVxdWVzdFNlYXJjaCgpfSxfY2xlYXJTZWFyY2hSZXN1bHRzKCl7dGhpcy5zZXQoIl9yZWdleE1hdGNoZXMiLFtdKX0sX3JlcXVlc3RTZWFyY2goKXt0aGlzLl9zZWFyY2hQZW5kaW5nfHwodGhpcy5fcmVnZXhJbnB1dD09PXRoaXMuX3ByZXZpb3VzUmVnZXhJbnB1dD90aGlzLl9zZWFyY2hQZW5kaW5nPSExOih0aGlzLl9zZWFyY2hQZW5kaW5nPSEwLHRoaXMuX2V4ZWN1dGVTZWFyY2goKSx0aGlzLmFzeW5jKCgpPT57dGhpcy5fc2VhcmNoUGVuZGluZz0hMTt0aGlzLl9yZXF1ZXN0U2VhcmNoKCl9LHRoaXMuX3NlYXJjaFRpbWVvdXREZWxheSkpKX0sX2V4ZWN1dGVTZWFyY2goKXtpZih0aGlzLl9wcmV2aW91c1JlZ2V4SW5wdXQ9dGhpcy5fcmVnZXhJbnB1dCl7dHJ5e3ZhciBiPW5ldyBSZWdFeHAodGhpcy5fcmVnZXhJbnB1dCl9Y2F0Y2goZil7dGhpcy5fY2xlYXJTZWFyY2hSZXN1bHRzKCk7cmV0dXJufXZhciBkPVtdO18uZWFjaCh0aGlzLnJlbmRlckhpZXJhcmNoeS5oaWVyYXJjaHkuZ2V0Tm9kZU1hcCgpLAooZixoKT0+e2lmKGQubGVuZ3RoPj10aGlzLl9tYXhSZWdleFJlc3VsdHMpcmV0dXJuITE7Yi50ZXN0KGgpJiZkLnB1c2goaCl9KTt0aGlzLnNldCgiX3JlZ2V4TWF0Y2hlcyIsZCl9ZWxzZSB0aGlzLl9jbGVhclNlYXJjaFJlc3VsdHMoKX0sX21hdGNoQ2xpY2tlZChiKXt0aGlzLnNldCgic2VsZWN0ZWROb2RlIixiLm1vZGVsLml0ZW0pfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWdyYXBoLWNvbnRyb2xzL3RmLWdyYXBoLWNvbnRyb2xzLmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7KGZ1bmN0aW9uKGYpe2NvbnN0IGg9L2RldmljZTooW146XSs6WzAtOV0rKSQvLGs9W3tyZWdleDpofV0scj1bXTtsZXQgbDsoZnVuY3Rpb24obSl7bS5DT01QVVRFX1RJTUU9ImNvbXB1dGVfdGltZSI7bS5NRU1PUlk9Im1lbW9yeSI7bS5TVFJVQ1RVUkU9InN0cnVjdHVyZSI7bS5YTEFfQ0xVU1RFUj0ieGxhX2NsdXN0ZXIiO20uT1BfQ09NUEFUSUJJTElUWT0ib3BfY29tcGF0aWJpbGl0eSJ9KShsPWYuQ29sb3JCeXx8KGYuQ29sb3JCeT17fSkpO2NvbnN0IHA9bmV3IFNldChbbC5DT01QVVRFX1RJTUUsbC5NRU1PUlldKTtQb2x5bWVyKHtpczoidGYtZ3JhcGgtY29udHJvbHMiLHByb3BlcnRpZXM6e3N0YXRzOnt2YWx1ZTpudWxsLHR5cGU6T2JqZWN0LG9ic2VydmVyOiJfc3RhdHNDaGFuZ2VkIn0sZGV2aWNlc0ZvclN0YXRzOnt2YWx1ZTpudWxsLHR5cGU6T2JqZWN0LG5vdGlmeTohMCxyZWFkb25seTohMH0sY29sb3JCeTp7dHlwZTpTdHJpbmcsCnZhbHVlOmwuU1RSVUNUVVJFLG5vdGlmeTohMH0sY29sb3JCeVBhcmFtczp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwLHJlYWRvbmx5OiEwfSxkYXRhc2V0czp7dHlwZTpBcnJheSxvYnNlcnZlcjoiX2RhdGFzZXRzQ2hhbmdlZCIsdmFsdWU6KCk9PltdfSxyZW5kZXJIaWVyYXJjaHk6e3R5cGU6T2JqZWN0fSxzZWxlY3Rpb246e3R5cGU6T2JqZWN0LG5vdGlmeTohMCxyZWFkT25seTohMCxjb21wdXRlZDoiX2NvbXB1dGVTZWxlY3Rpb24oZGF0YXNldHMsIF9zZWxlY3RlZFJ1bkluZGV4LCBfc2VsZWN0ZWRUYWdJbmRleCwgX3NlbGVjdGVkR3JhcGhUeXBlKSJ9LHNlbGVjdGVkRmlsZTp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSxfc2VsZWN0ZWRSdW5JbmRleDp7dHlwZTpOdW1iZXIsdmFsdWU6MCxvYnNlcnZlcjoiX3NlbGVjdGVkUnVuSW5kZXhDaGFuZ2VkIn0sdHJhY2VJbnB1dHM6e3R5cGU6Qm9vbGVhbixub3RpZnk6ITAsdmFsdWU6ITF9LF9zZWxlY3RlZFRhZ0luZGV4Ont0eXBlOk51bWJlciwKdmFsdWU6MCxvYnNlcnZlcjoiX3NlbGVjdGVkVGFnSW5kZXhDaGFuZ2VkIn0sX3NlbGVjdGVkR3JhcGhUeXBlOnt0eXBlOlN0cmluZyx2YWx1ZTpiLmdyYXBoLlNlbGVjdGlvblR5cGUuT1BfR1JBUEh9LHNlbGVjdGVkTm9kZTp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSxfY3VycmVudERldmljZXM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9nZXRDdXJyZW50RGV2aWNlcyhkZXZpY2VzRm9yU3RhdHMpIn0sX2N1cnJlbnREZXZpY2VQYXJhbXM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9nZXRDdXJyZW50RGV2aWNlUGFyYW1zKGNvbG9yQnlQYXJhbXMpIn0sX2N1cnJlbnRYbGFDbHVzdGVyUGFyYW1zOnt0eXBlOkFycmF5LGNvbXB1dGVkOiJfZ2V0Q3VycmVudFhsYUNsdXN0ZXJQYXJhbXMoY29sb3JCeVBhcmFtcykifSxfY3VycmVudEdyYWRpZW50UGFyYW1zOnt0eXBlOk9iamVjdCxjb21wdXRlZDoiX2dldEN1cnJlbnRHcmFkaWVudFBhcmFtcyhjb2xvckJ5UGFyYW1zLCBjb2xvckJ5KSJ9LApzaG93U2Vzc2lvblJ1bnNEcm9wZG93bjp7dHlwZTpCb29sZWFuLHZhbHVlOiEwfSxzaG93VXBsb2FkQnV0dG9uOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITB9LGhlYWx0aFBpbGxzRmVhdHVyZUVuYWJsZWQ6Qm9vbGVhbixoZWFsdGhQaWxsc1RvZ2dsZWRPbjp7dHlwZTpCb29sZWFuLG5vdGlmeTohMH0sX2xlZ2VuZE9wZW5lZDp7dHlwZTpCb29sZWFuLHZhbHVlOiEwfX0sX3hsYUNsdXN0ZXJzUHJvdmlkZWQ6ZnVuY3Rpb24obSl7cmV0dXJuIG0mJm0uaGllcmFyY2h5JiYwPG0uaGllcmFyY2h5LnhsYUNsdXN0ZXJzLmxlbmd0aH0sX3N0YXRzQ2hhbmdlZDpmdW5jdGlvbihtKXtpZihudWxsIT1tKXt2YXIgbj17fTtfLmVhY2gobS5kZXZfc3RhdHMsZnVuY3Rpb24ocSl7dmFyIHU9Xy5zb21lKGssZnVuY3Rpb24oQSl7cmV0dXJuIEEucmVnZXgudGVzdChxLmRldmljZSl9KSx3PV8uc29tZShyLGZ1bmN0aW9uKEEpe3JldHVybiBBLnJlZ2V4LnRlc3QocS5kZXZpY2UpfSk7dSYmIXcmJihuW3EuZGV2aWNlXT0KITApfSk7dGhpcy5zZXQoImRldmljZXNGb3JTdGF0cyIsbil9fSxfZ2V0Q3VycmVudERldmljZXM6ZnVuY3Rpb24obSl7dmFyIG49dGhpcy5zdGF0cztuPShuP24uZGV2X3N0YXRzOltdKS5tYXAodT0+dS5kZXZpY2UpLmZpbHRlcih1PT5rLnNvbWUodz0+dy5yZWdleC50ZXN0KHUpKSk7Y29uc3QgcT1iLmdyYXBoLnV0aWwucmVtb3ZlQ29tbW9uUHJlZml4KG4pO2lmKDE9PXEubGVuZ3RoKXtjb25zdCB1PXFbMF0ubWF0Y2goaCk7dSYmKHFbMF09dVsxXSl9cmV0dXJuIG4ubWFwKCh1LHcpPT57bGV0IEE9bnVsbDtyLmZvckVhY2goeT0+e3kucmVnZXgudGVzdCh1KSYmKEE9eS5tc2cpfSk7cmV0dXJue2RldmljZTp1LHN1ZmZpeDpxW3ddLHVzZWQ6bVt1XSxpZ25vcmVkTXNnOkF9fSl9LF9kZXZpY2VDaGVja2JveENsaWNrZWQ6ZnVuY3Rpb24obSl7bT1tLnRhcmdldDtjb25zdCBuPU9iamVjdC5hc3NpZ24oe30sdGhpcy5kZXZpY2VzRm9yU3RhdHMpLHE9bS52YWx1ZTttLmNoZWNrZWQ/Cm5bcV09ITA6ZGVsZXRlIG5bcV07dGhpcy5zZXQoImRldmljZXNGb3JTdGF0cyIsbil9LF9udW1UYWdzOmZ1bmN0aW9uKG0sbil7cmV0dXJuIHRoaXMuX2dldFRhZ3MobSxuKS5sZW5ndGh9LF9nZXRUYWdzOmZ1bmN0aW9uKG0sbil7cmV0dXJuIG0mJm1bbl0/bVtuXS50YWdzOltdfSxfZml0OmZ1bmN0aW9uKCl7dGhpcy5maXJlKCJmaXQtdGFwIil9LF9pc0dyYWRpZW50Q29sb3Jpbmc6ZnVuY3Rpb24obSxuKXtyZXR1cm4gcC5oYXMobikmJm51bGwhPW19LF9lcXVhbHM6ZnVuY3Rpb24obSxuKXtyZXR1cm4gbT09PW59LF9nZXRDdXJyZW50RGV2aWNlUGFyYW1zOmZ1bmN0aW9uKG0pe209bS5kZXZpY2UuZmlsdGVyKHU9Pmsuc29tZSh3PT53LnJlZ2V4LnRlc3QodS5kZXZpY2UpKSk7Y29uc3Qgbj1iLmdyYXBoLnV0aWwucmVtb3ZlQ29tbW9uUHJlZml4KG0ubWFwKHU9PnUuZGV2aWNlKSk7aWYoMT09bi5sZW5ndGgpe3ZhciBxPW5bMF0ubWF0Y2goaCk7cSYmKG5bMF09cVsxXSl9cmV0dXJuIG0ubWFwKCh1LAp3KT0+KHtkZXZpY2U6blt3XSxjb2xvcjp1LmNvbG9yfSkpfSxfZ2V0Q3VycmVudFhsYUNsdXN0ZXJQYXJhbXM6ZnVuY3Rpb24obSl7cmV0dXJuIG0ueGxhX2NsdXN0ZXJ9LF9nZXRDdXJyZW50R3JhZGllbnRQYXJhbXM6ZnVuY3Rpb24obSxuKXtpZih0aGlzLl9pc0dyYWRpZW50Q29sb3JpbmcodGhpcy5zdGF0cyxuKSl7bT1tW25dO3ZhciBxPW0ubWluVmFsdWUsdT1tLm1heFZhbHVlO249PT1sLk1FTU9SWT8ocT1iLmdyYXBoLnV0aWwuY29udmVydFVuaXRzVG9IdW1hblJlYWRhYmxlKHEsYi5ncmFwaC51dGlsLk1FTU9SWV9VTklUUyksdT1iLmdyYXBoLnV0aWwuY29udmVydFVuaXRzVG9IdW1hblJlYWRhYmxlKHUsYi5ncmFwaC51dGlsLk1FTU9SWV9VTklUUykpOm49PT1sLkNPTVBVVEVfVElNRSYmKHE9Yi5ncmFwaC51dGlsLmNvbnZlcnRVbml0c1RvSHVtYW5SZWFkYWJsZShxLGIuZ3JhcGgudXRpbC5USU1FX1VOSVRTKSx1PWIuZ3JhcGgudXRpbC5jb252ZXJ0VW5pdHNUb0h1bWFuUmVhZGFibGUodSwKYi5ncmFwaC51dGlsLlRJTUVfVU5JVFMpKTtyZXR1cm57bWluVmFsdWU6cSxtYXhWYWx1ZTp1LHN0YXJ0Q29sb3I6bS5zdGFydENvbG9yLGVuZENvbG9yOm0uZW5kQ29sb3J9fX0sZG93bmxvYWQ6ZnVuY3Rpb24oKXt0aGlzLiQuZ3JhcGhkb3dubG9hZC5jbGljaygpfSxfdXBkYXRlRmlsZUlucHV0OmZ1bmN0aW9uKG0pe3ZhciBuPW0udGFyZ2V0LmZpbGVzWzBdO2lmKG4pe249bi5uYW1lO3ZhciBxPW4ubGFzdEluZGV4T2YoIi4iKTswPD1xJiYobj1uLnN1YnN0cmluZygwLHEpKTtxPW4ubGFzdEluZGV4T2YoIi8iKTswPD1xJiYobj1uLnN1YnN0cmluZyhxKzEpKTt0aGlzLl9zZXREb3dubG9hZEZpbGVuYW1lKG4pO3RoaXMuc2V0KCJzZWxlY3RlZEZpbGUiLG0pfX0sX2RhdGFzZXRzQ2hhbmdlZDpmdW5jdGlvbihtLG4pe251bGwhPW4mJih0aGlzLl9zZWxlY3RlZFJ1bkluZGV4PTApfSxfY29tcHV0ZVNlbGVjdGlvbjpmdW5jdGlvbihtLG4scSx1KXtyZXR1cm4gbVtuXSYmbVtuXS50YWdzW3FdPwp7cnVuOm1bbl0ubmFtZSx0YWc6bVtuXS50YWdzW3FdLnRhZyx0eXBlOnV9Om51bGx9LF9zZWxlY3RlZFJ1bkluZGV4Q2hhbmdlZDpmdW5jdGlvbihtKXt0aGlzLmRhdGFzZXRzJiYodGhpcy5jb2xvckJ5PWwuU1RSVUNUVVJFLHRoaXMuX3NlbGVjdGVkVGFnSW5kZXg9MCx0aGlzLl9zZWxlY3RlZEdyYXBoVHlwZT10aGlzLl9nZXREZWZhdWx0U2VsZWN0aW9uVHlwZSgpLHRoaXMudHJhY2VJbnB1dHM9ITEsdGhpcy5fc2V0RG93bmxvYWRGaWxlbmFtZSh0aGlzLmRhdGFzZXRzW21dP3RoaXMuZGF0YXNldHNbbV0ubmFtZToiIikpfSxfc2VsZWN0ZWRUYWdJbmRleENoYW5nZWQoKXt0aGlzLl9zZWxlY3RlZEdyYXBoVHlwZT10aGlzLl9nZXREZWZhdWx0U2VsZWN0aW9uVHlwZSgpfSxfZ2V0RGVmYXVsdFNlbGVjdGlvblR5cGUoKXtjb25zdCBtPXRoaXMuZGF0YXNldHMsbj10aGlzLl9zZWxlY3RlZFJ1bkluZGV4LHE9dGhpcy5fc2VsZWN0ZWRUYWdJbmRleDtyZXR1cm4gbSYmbVtuXSYmbVtuXS50YWdzW3FdJiYKIW1bbl0udGFnc1txXS5vcEdyYXBoP21bbl0udGFnc1txXS5wcm9maWxlP2IuZ3JhcGguU2VsZWN0aW9uVHlwZS5QUk9GSUxFOm1bbl0udGFnc1txXS5jb25jZXB0dWFsR3JhcGg/Yi5ncmFwaC5TZWxlY3Rpb25UeXBlLkNPTkNFUFRVQUxfR1JBUEg6Yi5ncmFwaC5TZWxlY3Rpb25UeXBlLk9QX0dSQVBIOmIuZ3JhcGguU2VsZWN0aW9uVHlwZS5PUF9HUkFQSH0sX2dldEZpbGU6ZnVuY3Rpb24oKXt0aGlzLiQkKCIjZmlsZSIpLmNsaWNrKCl9LF9zZXREb3dubG9hZEZpbGVuYW1lOmZ1bmN0aW9uKG0pe3RoaXMuJC5ncmFwaGRvd25sb2FkLnNldEF0dHJpYnV0ZSgiZG93bmxvYWQiLG0rIi5wbmciKX0sX3N0YXRzTm90TnVsbDpmdW5jdGlvbihtKXtyZXR1cm4gbnVsbCE9PW19LF90b2dnbGVMZWdlbmRPcGVuKCl7dGhpcy5zZXQoIl9sZWdlbmRPcGVuZWQiLCF0aGlzLl9sZWdlbmRPcGVuZWQpfSxfZ2V0VG9nZ2xlVGV4dChtKXtyZXR1cm4gbT8iQ2xvc2UgbGVnZW5kLiI6IkV4cGFuZCBsZWdlbmQuIn0sCl9nZXRUb2dnbGVMZWdlbmRJY29uKG0pe3JldHVybiBtPyJleHBhbmQtbW9yZSI6ImV4cGFuZC1sZXNzIn0sX2dldFNlbGVjdGlvbk9wR3JhcGhEaXNhYmxlZChtLG4scSl7cmV0dXJuIW1bbl18fCFtW25dLnRhZ3NbcV18fCFtW25dLnRhZ3NbcV0ub3BHcmFwaH0sX2dldFNlbGVjdGlvblByb2ZpbGVEaXNhYmxlZChtLG4scSl7cmV0dXJuIW1bbl18fCFtW25dLnRhZ3NbcV18fCFtW25dLnRhZ3NbcV0ucHJvZmlsZX0sX2dldFNlbGVjdGlvbkNvbmNlcHR1YWxHcmFwaERpc2FibGVkKG0sbixxKXtyZXR1cm4hbVtuXXx8IW1bbl0udGFnc1txXXx8IW1bbl0udGFnc1txXS5jb25jZXB0dWFsR3JhcGh9fSl9KShkLmNvbnRyb2xzfHwoZC5jb250cm9scz17fSkpfSkoYi5ncmFwaHx8KGIuZ3JhcGg9e30pKX0pKHRmfHwodGY9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ncmFwaC1kYXNoYm9hcmQvdGYtZ3JhcGgtZGFzaGJvYXJkLmh0bWwuanMKUG9seW1lcih7aXM6InRmLWdyYXBoLWRhc2hib2FyZCIscHJvcGVydGllczp7X2RhdGFzZXRzOnt0eXBlOkFycmF5LHZhbHVlOigpPT5bXX0sX2RhdGFzZXRzRmV0Y2hlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfc2VsZWN0ZWREYXRhc2V0Ont0eXBlOk51bWJlcix2YWx1ZTowfSxfcmVuZGVySGllcmFyY2h5Ont0eXBlOk9iamVjdCxvYnNlcnZlcjoiX3JlbmRlckhpZXJhcmNoeUNoYW5nZWQifSxfcmVxdWVzdE1hbmFnZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuUmVxdWVzdE1hbmFnZXJ9LF9jYW5jZWxsZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuQ2FuY2VsbGVyfSxfZGVidWdnZXJEYXRhRW5hYmxlZDpCb29sZWFuLGFsbFN0ZXBzTW9kZUVuYWJsZWQ6Qm9vbGVhbixzcGVjaWZpY0hlYWx0aFBpbGxTdGVwOnt0eXBlOk51bWJlcix2YWx1ZTowfSxoZWFsdGhQaWxsc1RvZ2dsZWRPbjp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfaGVhbHRoUGlsbHNUb2dnbGVkT25DaGFuZ2VkIn0sCnNlbGVjdGVkTm9kZTp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSxfaXNBdHRhY2hlZDpCb29sZWFuLF9pbml0aWFsaXplZDpCb29sZWFuLF9hcmVIZWFsdGhQaWxsc0xvYWRpbmc6Qm9vbGVhbixfZGVidWdnZXJOdW1lcmljQWxlcnRzOnt0eXBlOkFycmF5LHZhbHVlOltdLG5vdGlmeTohMH0sX25vZGVOYW1lc1RvSGVhbHRoUGlsbHM6e3R5cGU6T2JqZWN0LHZhbHVlOnt9fSxfaGVhbHRoUGlsbFN0ZXBJbmRleDpOdW1iZXIsX2hlYWx0aFBpbGxSZXF1ZXN0SWQ6e3R5cGU6TnVtYmVyLHZhbHVlOjF9LF9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lcklkOk51bWJlcixfaGVhbHRoUGlsbFN0ZXBSZXF1ZXN0VGltZXJEZWxheTp7dHlwZTpOdW1iZXIsdmFsdWU6NTAwLHJlYWRPbmx5OiEwfSxydW5zOkFycmF5LHJ1bjp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwLHZhbHVlOmJkLmdldFN0cmluZ0luaXRpYWxpemVyKCJydW4iLHtkZWZhdWx0VmFsdWU6IiIsdXNlTG9jYWxTdG9yYWdlOiExfSksb2JzZXJ2ZXI6Il9ydW5PYnNlcnZlciJ9LApfc2VsZWN0aW9uOnt0eXBlOk9iamVjdH0sX2NvbXBhdGliaWxpdHlQcm92aWRlcjpPYmplY3QsX3RyYWNlSW5wdXRzOkJvb2xlYW59LGxpc3RlbmVyczp7Im5vZGUtdG9nZ2xlLWV4cGFuZCI6Il9oYW5kbGVOb2RlVG9nZ2xlRXhwYW5kIn0sb2JzZXJ2ZXJzOlsiX21heWJlRmV0Y2hIZWFsdGhQaWxscyhfZGVidWdnZXJEYXRhRW5hYmxlZCwgYWxsU3RlcHNNb2RlRW5hYmxlZCwgc3BlY2lmaWNIZWFsdGhQaWxsU3RlcCwgX3NlbGVjdGVkTm9kZSkiLCJfbWF5YmVJbml0aWFsaXplRGFzaGJvYXJkKF9pc0F0dGFjaGVkKSIsIl9kZXRlcm1pbmVTZWxlY3RlZERhdGFzZXQoX2RhdGFzZXRzRmV0Y2hlZCwgX2RhdGFzZXRzLCBydW4pIiwiX3VwZGF0ZVNlbGVjdGVkRGF0YXNldE5hbWUoX2RhdGFzZXRzRmV0Y2hlZCwgX2RhdGFzZXRzLCBfc2VsZWN0ZWREYXRhc2V0KSJdLGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5zZXQoIl9pc0F0dGFjaGVkIiwhMCl9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5zZXQoIl9pc0F0dGFjaGVkIiwKITEpfSxyZWxvYWQ6ZnVuY3Rpb24oKXt0aGlzLl9kZWJ1Z2dlckRhdGFFbmFibGVkfHx0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGRjLmdldFJvdXRlcigpLnBsdWdpbnNMaXN0aW5nKCkpLnRoZW4odGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKGI9PntiLmNhbmNlbGxlZHx8Yi52YWx1ZVsiZGVidWdnZXIiXSYmdGhpcy5zZXQoIl9kZWJ1Z2dlckRhdGFFbmFibGVkIiwhMCl9KSk7dGhpcy5fbWF5YmVGZXRjaEhlYWx0aFBpbGxzKCl9LF9maXQ6ZnVuY3Rpb24oKXt0aGlzLiQkKCIjZ3JhcGhib2FyZCIpLmZpdCgpfSxfcnVuT2JzZXJ2ZXI6YmQuZ2V0U3RyaW5nT2JzZXJ2ZXIoInJ1biIse2RlZmF1bHRWYWx1ZToiIixwb2x5bWVyUHJvcGVydHk6InJ1biIsdXNlTG9jYWxTdG9yYWdlOiExfSksX2ZldGNoRGF0YXNldCgpe3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJncmFwaHMiLCIvaW5mbyIpKX0sX2ZldGNoSGVhbHRoUGlsbHMoYiwKZCl7Yj17bm9kZV9uYW1lczpKU09OLnN0cmluZ2lmeShiKSxydW46Il9fZGVidWdnZXJfZGF0YV9fIn07dm9pZCAwIT09ZCYmKGIuc3RlcD1kKTtkPWRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJkZWJ1Z2dlciIsIi9oZWFsdGhfcGlsbHMiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChkLGIpfSxfZmV0Y2hEZWJ1Z2dlck51bWVyaWNzQWxlcnRzKCl7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QoZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImRlYnVnZ2VyIiwiL251bWVyaWNzX2FsZXJ0X3JlcG9ydCIpKX0sX2dyYXBoVXJsKGIsZCxmKXtyZXR1cm4gZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImdyYXBocyIsIi9ncmFwaCIsbmV3IFVSTFNlYXJjaFBhcmFtcyh7cnVuOmIsbGltaXRfYXR0cl9zaXplOmQsbGFyZ2VfYXR0cnNfa2V5OmZ9KSl9LF9zaG91bGRSZXF1ZXN0SGVhbHRoUGlsbHM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGVidWdnZXJEYXRhRW5hYmxlZCYmCnRoaXMuaGVhbHRoUGlsbHNUb2dnbGVkT24mJnRoaXMuX3JlbmRlckhpZXJhcmNoeSYmdGhpcy5fZGF0YXNldHNTdGF0ZSh0aGlzLl9kYXRhc2V0c0ZldGNoZWQsdGhpcy5fZGF0YXNldHMsIlBSRVNFTlQiKX0sX21heWJlSW5pdGlhbGl6ZURhc2hib2FyZDpmdW5jdGlvbihiKXshdGhpcy5faW5pdGlhbGl6ZWQmJmImJih0aGlzLnNldCgiX2NvbXBhdGliaWxpdHlQcm92aWRlciIsbmV3IHRmLmdyYXBoLm9wLlRwdUNvbXBhdGliaWxpdHlQcm92aWRlciksdGhpcy5faW5pdGlhbGl6ZWQ9ITAsdGhpcy5fZmV0Y2hEYXRhc2V0KCkudGhlbihkPT57dGhpcy5fZGF0YXNldHM9T2JqZWN0LmtleXMoZCkuc29ydChhYy5jb21wYXJlVGFnTmFtZXMpLm1hcChmPT57Y29uc3QgaD1kW2ZdO3ZhciBrPU9iamVjdC5rZXlzKGgudGFncykuc29ydChhYy5jb21wYXJlVGFnTmFtZXMpLm1hcChyPT5oLnRhZ3Nbcl0pLm1hcCgoe3RhZzpyLGNvbmNlcHR1YWxfZ3JhcGg6bCxvcF9ncmFwaDpwLHByb2ZpbGU6bX0pPT4KKHt0YWc6cixkaXNwbGF5TmFtZTpyLGNvbmNlcHR1YWxHcmFwaDpsLG9wR3JhcGg6cCxwcm9maWxlOm19KSk7az1oLnJ1bl9ncmFwaD9be3RhZzpudWxsLGRpc3BsYXlOYW1lOiJEZWZhdWx0Iixjb25jZXB0dWFsR3JhcGg6ITEsb3BHcmFwaDohMCxwcm9maWxlOiExfSwuLi5rXTprO3JldHVybntuYW1lOmYsdGFnczprfX0pO3RoaXMuX2RhdGFzZXRzRmV0Y2hlZD0hMH0pKX0sX2RldGVybWluZVNlbGVjdGVkRGF0YXNldChiLGQsZil7Zj8oZD1kLmZpbmRJbmRleChoPT5oLm5hbWU9PT1mKSwtMT09PWQ/YiYmKGI9dGhpcy4kJCgiI2Vycm9yLWRpYWxvZyIpLGIudGV4dENvbnRlbnQ9YE5vIGRhdGFzZXQgbmFtZWQgIiR7Zn0iIGNvdWxkIGJlIGZvdW5kLmAsYi5vcGVuKCkpOnRoaXMuc2V0KCJfc2VsZWN0ZWREYXRhc2V0IixkKSk6dGhpcy5zZXQoIl9zZWxlY3RlZERhdGFzZXQiLDApfSxfdXBkYXRlU2VsZWN0ZWREYXRhc2V0TmFtZShiLGQsZil7YiYmKGQubGVuZ3RoPD1mfHx0aGlzLnNldCgicnVuIiwKZFtmXS5uYW1lKSl9LF9yZXF1ZXN0SGVhbHRoUGlsbHM6ZnVuY3Rpb24oKXt0aGlzLnNldCgiX2FyZUhlYWx0aFBpbGxzTG9hZGluZyIsITApO3ZhciBiPSsrdGhpcy5faGVhbHRoUGlsbFJlcXVlc3RJZDtudWxsIT09dGhpcy5faGVhbHRoUGlsbFN0ZXBSZXF1ZXN0VGltZXJJZCYmKHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5faGVhbHRoUGlsbFN0ZXBSZXF1ZXN0VGltZXJJZCksdGhpcy5faGVhbHRoUGlsbFN0ZXBSZXF1ZXN0VGltZXJJZD1udWxsKTt0aGlzLmFsbFN0ZXBzTW9kZUVuYWJsZWQ/dGhpcy5faGVhbHRoUGlsbFN0ZXBSZXF1ZXN0VGltZXJJZD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhpcy5faGVhbHRoUGlsbFN0ZXBSZXF1ZXN0VGltZXJJZD1udWxsO3RoaXMuX2luaXRpYXRlTmV0d29ya1JlcXVlc3RGb3JIZWFsdGhQaWxscyhiKX0uYmluZCh0aGlzKSx0aGlzLl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lckRlbGF5KTp0aGlzLl9pbml0aWF0ZU5ldHdvcmtSZXF1ZXN0Rm9ySGVhbHRoUGlsbHMoYil9LApfaW5pdGlhdGVOZXR3b3JrUmVxdWVzdEZvckhlYWx0aFBpbGxzOmZ1bmN0aW9uKGIpe2lmKHRoaXMuX2hlYWx0aFBpbGxSZXF1ZXN0SWQ9PT1iKXt2YXIgZD10aGlzLl9mZXRjaEhlYWx0aFBpbGxzKHRoaXMuX3JlbmRlckhpZXJhcmNoeS5nZXROYW1lc09mUmVuZGVyZWRPcHMoKSx0aGlzLmFsbFN0ZXBzTW9kZUVuYWJsZWQ/dGhpcy5zcGVjaWZpY0hlYWx0aFBpbGxTdGVwOnZvaWQgMCksZj10aGlzLl9mZXRjaERlYnVnZ2VyTnVtZXJpY3NBbGVydHMoKTtQcm9taXNlLmFsbChbZCxmXSkudGhlbihmdW5jdGlvbihoKXt2YXIgaz1oWzBdO2g9aFsxXTtpZih0aGlzLmhlYWx0aFBpbGxzVG9nZ2xlZE9uJiZiPT09dGhpcy5faGVhbHRoUGlsbFJlcXVlc3RJZCl7Zm9yKHZhciByIGluIGspe3RoaXMuc2V0KCJfaGVhbHRoUGlsbFN0ZXBJbmRleCIsa1tyXS5sZW5ndGgtMSk7YnJlYWt9dGhpcy5zZXQoIl9kZWJ1Z2dlck51bWVyaWNBbGVydHMiLGgpO3RoaXMuc2V0KCJfbm9kZU5hbWVzVG9IZWFsdGhQaWxscyIsCmspO3RoaXMuc2V0KCJfYXJlSGVhbHRoUGlsbHNMb2FkaW5nIiwhMSk7dGhpcy5zZXQoIl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lcklkIixudWxsKX19LmJpbmQodGhpcykpfX0sX2RhdGFzZXRzU3RhdGU6ZnVuY3Rpb24oYixkLGYpe3JldHVybiBiP2QmJmQubGVuZ3RoPyJQUkVTRU5UIj09PWY6IkVNUFRZIj09PWY6Ik5PVF9MT0FERUQiPT09Zn0sX3JlbmRlckhpZXJhcmNoeUNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLnJlbG9hZCgpfSxfaGFuZGxlTm9kZVRvZ2dsZUV4cGFuZDpmdW5jdGlvbigpe3RoaXMuX21heWJlRmV0Y2hIZWFsdGhQaWxscygpfSxfaGVhbHRoUGlsbHNUb2dnbGVkT25DaGFuZ2VkOmZ1bmN0aW9uKGIpe2I/dGhpcy5yZWxvYWQoKTp0aGlzLnNldCgiX25vZGVOYW1lc1RvSGVhbHRoUGlsbHMiLHt9KX0sX21heWJlRmV0Y2hIZWFsdGhQaWxsczpmdW5jdGlvbigpe3RoaXMuX3Nob3VsZFJlcXVlc3RIZWFsdGhQaWxscygpJiZ0aGlzLl9yZXF1ZXN0SGVhbHRoUGlsbHMoKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92ei1kaXN0cmlidXRpb24tY2hhcnQvdnotZGlzdHJpYnV0aW9uLWNoYXJ0LmpzCnZhciBkbDsKKGZ1bmN0aW9uKGIpe2NsYXNzIGR7Y29uc3RydWN0b3IoZixoKXt0aGlzLnJ1bjJkYXRhc2V0cz17fTt0aGlzLmNvbG9yU2NhbGU9aDt0aGlzLmJ1aWxkQ2hhcnQoZil9Z2V0RGF0YXNldChmKXt2b2lkIDA9PT10aGlzLnJ1bjJkYXRhc2V0c1tmXSYmKHRoaXMucnVuMmRhdGFzZXRzW2ZdPW5ldyBQbG90dGFibGUuRGF0YXNldChbXSx7cnVuOmZ9KSk7cmV0dXJuIHRoaXMucnVuMmRhdGFzZXRzW2ZdfWJ1aWxkQ2hhcnQoZil7dGhpcy5vdXRlciYmdGhpcy5vdXRlci5kZXN0cm95KCk7Zj1zZi5nZXRYQ29tcG9uZW50cyhmKTt0aGlzLnhBY2Nlc3Nvcj1mLmFjY2Vzc29yO3RoaXMueFNjYWxlPWYuc2NhbGU7dGhpcy54QXhpcz1mLmF4aXM7dGhpcy54QXhpcy5tYXJnaW4oMCkudGlja0xhYmVsUGFkZGluZygzKTt0aGlzLnlTY2FsZT1uZXcgUGxvdHRhYmxlLlNjYWxlcy5MaW5lYXI7dGhpcy55QXhpcz1uZXcgUGxvdHRhYmxlLkF4ZXMuTnVtZXJpYyh0aGlzLnlTY2FsZSwibGVmdCIpO2Y9CnNmLm11bHRpc2NhbGVGb3JtYXR0ZXIoc2YuWV9BWElTX0ZPUk1BVFRFUl9QUkVDSVNJT04pO3RoaXMueUF4aXMubWFyZ2luKDApLnRpY2tMYWJlbFBhZGRpbmcoNSkuZm9ybWF0dGVyKGYpO3RoaXMueUF4aXMudXNlc1RleHRXaWR0aEFwcHJveGltYXRpb24oKTtmPXRoaXMuYnVpbGRQbG90KHRoaXMueEFjY2Vzc29yLHRoaXMueFNjYWxlLHRoaXMueVNjYWxlKTt0aGlzLmdyaWRsaW5lcz1uZXcgUGxvdHRhYmxlLkNvbXBvbmVudHMuR3JpZGxpbmVzKHRoaXMueFNjYWxlLHRoaXMueVNjYWxlKTt0aGlzLmNlbnRlcj1uZXcgUGxvdHRhYmxlLkNvbXBvbmVudHMuR3JvdXAoW3RoaXMuZ3JpZGxpbmVzLGZdKTt0aGlzLm91dGVyPW5ldyBQbG90dGFibGUuQ29tcG9uZW50cy5UYWJsZShbW3RoaXMueUF4aXMsdGhpcy5jZW50ZXJdLFtudWxsLHRoaXMueEF4aXNdXSl9YnVpbGRQbG90KGYsaCxrKXtsZXQgcj1bMCwyMjgsMTU4NywzMDg1LDVFMyw2OTE1LDg0MTMsOTc3MiwxRTRdLGw9Xy5yYW5nZShyLmxlbmd0aC0KMSkubWFwKHU9PihyW3UrMV0tclt1XSkvMjUwMCkscD1yLm1hcCgodSx3KT0+QT0+QVt3XVsxXSksbT1wWzRdLG49Xy5yYW5nZShwLmxlbmd0aC0xKS5tYXAodT0+e2xldCB3PW5ldyBQbG90dGFibGUuUGxvdHMuQXJlYTt3LngoZixoKTtsZXQgQT00PHU/cFt1XTpwW3UrMV07dy55KDQ8dT9wW3UrMV06cFt1XSxrKTt3LnkwKEEpO3cuYXR0cigiZmlsbCIsKHkseCxDKT0+dGhpcy5jb2xvclNjYWxlLnNjYWxlKEMubWV0YWRhdGEoKS5ydW4pKTt3LmF0dHIoInN0cm9rZSIsKHkseCxDKT0+dGhpcy5jb2xvclNjYWxlLnNjYWxlKEMubWV0YWRhdGEoKS5ydW4pKTt3LmF0dHIoInN0cm9rZS13ZWlnaHQiLCgpPT4iMC41cHgiKTt3LmF0dHIoInN0cm9rZS1vcGFjaXR5IiwoKT0+bFt1XSk7dy5hdHRyKCJmaWxsLW9wYWNpdHkiLCgpPT5sW3VdKTtyZXR1cm4gd30pLHE9bmV3IFBsb3R0YWJsZS5QbG90cy5MaW5lO3EueChmLGgpO3EueShtLGspO3EuYXR0cigic3Ryb2tlIiwodSx3LEEpPT50aGlzLmNvbG9yU2NhbGUuc2NhbGUoQS5ydW4pKTsKdGhpcy5wbG90cz1uO3JldHVybiBuZXcgUGxvdHRhYmxlLkNvbXBvbmVudHMuR3JvdXAobil9c2V0VmlzaWJsZVNlcmllcyhmKXt0aGlzLnJ1bnM9ZjtsZXQgaD1mLm1hcChrPT50aGlzLmdldERhdGFzZXQoaykpO3RoaXMucGxvdHMuZm9yRWFjaChrPT5rLmRhdGFzZXRzKGgpKX1zZXRTZXJpZXNEYXRhKGYsaCl7dGhpcy5nZXREYXRhc2V0KGYpLmRhdGEoaCl9cmVuZGVyVG8oZil7dGhpcy50YXJnZXRTVkc9Zjt0aGlzLm91dGVyLnJlbmRlclRvKGYpfXJlZHJhdygpe3RoaXMub3V0ZXIucmVkcmF3KCl9ZGVzdHJveSgpe3RoaXMub3V0ZXIuZGVzdHJveSgpfX1iLkRpc3RyaWJ1dGlvbkNoYXJ0PWQ7UG9seW1lcih7aXM6InZ6LWRpc3RyaWJ1dGlvbi1jaGFydCIscHJvcGVydGllczp7Y29sb3JTY2FsZTp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IFBsb3R0YWJsZS5TY2FsZXMuQ29sb3IpLnJhbmdlKGQzLnNjaGVtZUNhdGVnb3J5MTApfX0seFR5cGU6e3R5cGU6U3RyaW5nLAp2YWx1ZToic3RlcCJ9LF9hdHRhY2hlZDpCb29sZWFuLF9jaGFydDpPYmplY3QsX3Zpc2libGVTZXJpZXNDYWNoZTp7dHlwZTpBcnJheSx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX0sX3Nlcmllc0RhdGFDYWNoZTp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57fX19LF9tYWtlQ2hhcnRBc3luY0NhbGxiYWNrSWQ6e3R5cGU6TnVtYmVyLHZhbHVlOm51bGx9fSxvYnNlcnZlcnM6WyJfbWFrZUNoYXJ0KHhUeXBlLCBjb2xvclNjYWxlLCBfYXR0YWNoZWQpIiwiX3JlbG9hZEZyb21DYWNoZShfY2hhcnQpIl0sc2V0VmlzaWJsZVNlcmllczpmdW5jdGlvbihmKXt0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGU9Zjt0aGlzLl9jaGFydCYmKHRoaXMuX2NoYXJ0LnNldFZpc2libGVTZXJpZXMoZiksdGhpcy5yZWRyYXcoKSl9LHNldFNlcmllc0RhdGE6ZnVuY3Rpb24oZixoKXt0aGlzLl9zZXJpZXNEYXRhQ2FjaGVbZl09aDt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQuc2V0U2VyaWVzRGF0YShmLApoKX0scmVkcmF3OmZ1bmN0aW9uKCl7dGhpcy5fY2hhcnQucmVkcmF3KCl9LHJlYWR5OmZ1bmN0aW9uKCl7dGhpcy5zY29wZVN1YnRyZWUodGhpcy4kLmNoYXJ0ZGl2LCEwKX0sX21ha2VDaGFydDpmdW5jdGlvbihmLGgsayl7bnVsbD09PXRoaXMuX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZCYmdGhpcy5jYW5jZWxBc3luYyh0aGlzLl9tYWtlQ2hhcnRBc3luY0NhbGxiYWNrSWQpO3RoaXMuX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZD10aGlzLmFzeW5jKGZ1bmN0aW9uKCl7dGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkPW51bGw7aWYoayl7dGhpcy5fY2hhcnQmJnRoaXMuX2NoYXJ0LmRlc3Ryb3koKTt2YXIgcj1uZXcgZChmLGgpLGw9ZDMuc2VsZWN0KHRoaXMuJC5jaGFydGRpdik7ci5yZW5kZXJUbyhsKTt0aGlzLl9jaGFydD1yfX0sMzUwKX0sX3JlbG9hZEZyb21DYWNoZTpmdW5jdGlvbigpe3RoaXMuX2NoYXJ0JiYodGhpcy5fY2hhcnQuc2V0VmlzaWJsZVNlcmllcyh0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGUpLAp0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGUuZm9yRWFjaChmdW5jdGlvbihmKXt0aGlzLl9jaGFydC5zZXRTZXJpZXNEYXRhKGYsdGhpcy5fc2VyaWVzRGF0YUNhY2hlW2ZdfHxbXSl9LmJpbmQodGhpcykpKX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9hdHRhY2hlZD0hMH0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9hdHRhY2hlZD0hMX19KX0pKGRsfHwoZGw9e30pKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1kaXN0cmlidXRpb24tZGFzaGJvYXJkL3RmLWRpc3RyaWJ1dGlvbi1sb2FkZXIuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtZGlzdHJpYnV0aW9uLWxvYWRlciIscHJvcGVydGllczp7cnVuOlN0cmluZyx0YWc6U3RyaW5nLHRhZ01ldGFkYXRhOk9iamVjdCx4VHlwZTpTdHJpbmcsZGF0YVRvTG9hZDp7dHlwZTpBcnJheSxjb21wdXRlZDoiX2NvbXB1dGVEYXRhVG9Mb2FkKHJ1biwgdGFnKSJ9LGdldERhdGFMb2FkTmFtZTp7dHlwZTpGdW5jdGlvbix2YWx1ZTooKT0+KHtydW46Yn0pPT5ifSxnZXREYXRhTG9hZFVybDp7dHlwZTpGdW5jdGlvbix2YWx1ZTooKT0+KHt0YWc6YixydW46ZH0pPT5kYy5hZGRQYXJhbXMoZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImRpc3RyaWJ1dGlvbnMiLCIvZGlzdHJpYnV0aW9ucyIpLHt0YWc6YixydW46ZH0pfSxsb2FkRGF0YUNhbGxiYWNrOnt0eXBlOkZ1bmN0aW9uLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuKGIsZCxmKT0+e2I9Zi5tYXAoaD0+e2NvbnN0IFtrLHIsbF09aDtsLndhbGxfdGltZT1uZXcgRGF0ZSgxRTMqayk7bC5zdGVwPXI7cmV0dXJuIGx9KTsKZD10aGlzLmdldERhdGFMb2FkTmFtZShkKTt0aGlzLiQuY2hhcnQuc2V0U2VyaWVzRGF0YShkLGIpO3RoaXMuJC5jaGFydC5zZXRWaXNpYmxlU2VyaWVzKFtkXSl9fX0sX2NvbG9yU2NhbGU6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT4oe3NjYWxlOkxkLnJ1bnNDb2xvclNjYWxlfSkscmVhZE9ubHk6ITB9LF9ydW5Db2xvcjp7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9jb21wdXRlUnVuQ29sb3IocnVuKSJ9LF9leHBhbmRlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0scmVxdWVzdE1hbmFnZXI6T2JqZWN0LF9jYW5jZWxsZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuQ2FuY2VsbGVyfX0sb2JzZXJ2ZXJzOlsicmVsb2FkKHJ1biwgdGFnKSJdLGJlaGF2aW9yczpbY2QuRGF0YUxvYWRlckJlaGF2aW9yXSxfY29tcHV0ZURhdGFUb0xvYWQoYixkKXtyZXR1cm5be3J1bjpiLHRhZzpkfV19LF9jb21wdXRlUnVuQ29sb3IoYil7cmV0dXJuIHRoaXMuX2NvbG9yU2NhbGUuc2NhbGUoYil9LApyZWRyYXcoKXt0aGlzLiQuY2hhcnQucmVkcmF3KCl9LF90b2dnbGVFeHBhbmRlZCgpe3RoaXMuc2V0KCJfZXhwYW5kZWQiLCF0aGlzLl9leHBhbmRlZCk7dGhpcy5yZWRyYXcoKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1kaXN0cmlidXRpb24tZGFzaGJvYXJkL3RmLWRpc3RyaWJ1dGlvbi1kYXNoYm9hcmQuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtZGlzdHJpYnV0aW9uLWRhc2hib2FyZCIscHJvcGVydGllczp7X3hUeXBlOnt0eXBlOlN0cmluZyx2YWx1ZToic3RlcCJ9LF9zZWxlY3RlZFJ1bnM6QXJyYXksX3J1blRvVGFnOk9iamVjdCxfcnVuVG9UYWdJbmZvOk9iamVjdCxfZGF0YU5vdEZvdW5kOkJvb2xlYW4sX3RhZ0ZpbHRlcjpTdHJpbmcsX2NhdGVnb3JpZXNEb21SZWFkeTpCb29sZWFuLF9jYXRlZ29yaWVzOnt0eXBlOkFycmF5LGNvbXB1dGVkOiJfbWFrZUNhdGVnb3JpZXMoX3J1blRvVGFnLCBfc2VsZWN0ZWRSdW5zLCBfdGFnRmlsdGVyLCBfY2F0ZWdvcmllc0RvbVJlYWR5KSJ9LF9yZXF1ZXN0TWFuYWdlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5SZXF1ZXN0TWFuYWdlcn19LHJlYWR5KCl7dGhpcy5yZWxvYWQoKX0scmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbigoKT0+e3RoaXMuX3JlbG9hZERpc3RyaWJ1dGlvbnMoKX0pfSxfZmV0Y2hUYWdzKCl7Y29uc3QgYj1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiZGlzdHJpYnV0aW9ucyIsCiIvdGFncyIpO3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGIpLnRoZW4oZD0+e2lmKCFfLmlzRXF1YWwoZCx0aGlzLl9ydW5Ub1RhZ0luZm8pKXt2YXIgZj1fLm1hcFZhbHVlcyhkLGs9Pk9iamVjdC5rZXlzKGspKSxoPWRjLmdldFRhZ3MoZik7dGhpcy5zZXQoIl9kYXRhTm90Rm91bmQiLDA9PT1oLmxlbmd0aCk7dGhpcy5zZXQoIl9ydW5Ub1RhZyIsZik7dGhpcy5zZXQoIl9ydW5Ub1RhZ0luZm8iLGQpO3RoaXMuYXN5bmMoKCk9Pnt0aGlzLnNldCgiX2NhdGVnb3JpZXNEb21SZWFkeSIsITApfSl9fSl9LF9yZWxvYWREaXN0cmlidXRpb25zKCl7dGhpcy5yb290LnF1ZXJ5U2VsZWN0b3JBbGwoInRmLWRpc3RyaWJ1dGlvbi1sb2FkZXIiKS5mb3JFYWNoKGI9PntiLnJlbG9hZCgpfSl9LF9zaG91bGRPcGVuKGIpe3JldHVybiAyPj1ifSxfbWFrZUNhdGVnb3JpZXMoYixkLGYpe3JldHVybiBrYy5jYXRlZ29yaXplUnVuVGFnQ29tYmluYXRpb25zKGIsZCxmKX0sX3RhZ01ldGFkYXRhKGIsCmQsZil7cmV0dXJuIGJbZF1bZl19fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdnotaGlzdG9ncmFtLXRpbWVzZXJpZXMvdnotaGlzdG9ncmFtLXRpbWVzZXJpZXMuaHRtbC5qcwpQb2x5bWVyKHtpczoidnotaGlzdG9ncmFtLXRpbWVzZXJpZXMiLHByb3BlcnRpZXM6e21vZGU6e3R5cGU6U3RyaW5nLHZhbHVlOiJvZmZzZXQifSx0aW1lUHJvcGVydHk6e3R5cGU6U3RyaW5nLHZhbHVlOiJzdGVwIn0sYmluczp7dHlwZTpTdHJpbmcsdmFsdWU6ImJpbnMifSx4Ont0eXBlOlN0cmluZyx2YWx1ZToieCJ9LGR4Ont0eXBlOlN0cmluZyx2YWx1ZToiZHgifSx5Ont0eXBlOlN0cmluZyx2YWx1ZToieSJ9LGNvbG9yU2NhbGU6e3R5cGU6T2JqZWN0LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIGQzLnNjYWxlT3JkaW5hbChkMy5zY2hlbWVDYXRlZ29yeTEwKX19LG1vZGVUcmFuc2l0aW9uRHVyYXRpb246e3R5cGU6TnVtYmVyLHZhbHVlOjUwMH0sX2F0dGFjaGVkOkJvb2xlYW4sX25hbWU6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LF9kYXRhOnt0eXBlOkFycmF5LHZhbHVlOm51bGx9fSxvYnNlcnZlcnM6WyJyZWRyYXcodGltZVByb3BlcnR5LCBfYXR0YWNoZWQpIiwiX21vZGVSZWRyYXcobW9kZSkiXSwKcmVhZHk6ZnVuY3Rpb24oKXt0aGlzLnNjb3BlU3VidHJlZSh0aGlzLiQuc3ZnLCEwKX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9hdHRhY2hlZD0hMH0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9hdHRhY2hlZD0hMX0sc2V0U2VyaWVzRGF0YTpmdW5jdGlvbihiLGQpe3RoaXMuX25hbWU9Yjt0aGlzLl9kYXRhPWQ7dGhpcy5yZWRyYXcoKX0scmVkcmF3OmZ1bmN0aW9uKCl7dGhpcy5fZHJhdygwKX0sX21vZGVSZWRyYXc6ZnVuY3Rpb24oKXt0aGlzLl9kcmF3KHRoaXMubW9kZVRyYW5zaXRpb25EdXJhdGlvbil9LF9kcmF3OmZ1bmN0aW9uKGIpe2lmKHRoaXMuX2F0dGFjaGVkJiZ0aGlzLl9kYXRhKXtpZih2b2lkIDA9PT1iKXRocm93IEVycm9yKCJ2ei1oaXN0b2dyYW0tdGltZXNlcmllcyBfZHJhdyBuZWVkcyBkdXJhdGlvbiIpO2lmKDA+PXRoaXMuX2RhdGEubGVuZ3RoKXRocm93IEVycm9yKCJOb3QgZW5vdWdoIHN0ZXBzIGluIHRoZSBkYXRhIik7aWYoIXRoaXMuX2RhdGFbMF0uaGFzT3duUHJvcGVydHkodGhpcy5iaW5zKSl0aHJvdyBFcnJvcigiTm8gYmlucyBwcm9wZXJ0eSBvZiAnIisKdGhpcy5iaW5zKyInIGluIGRhdGEiKTtpZigwPj10aGlzLl9kYXRhWzBdW3RoaXMuYmluc10ubGVuZ3RoKXRocm93IEVycm9yKCJNdXN0IGhhdmUgYXQgbGVhc3Qgb25lIGJpbiBpbiBiaW5zIGluIGRhdGEiKTtpZighdGhpcy5fZGF0YVswXVt0aGlzLmJpbnNdWzBdLmhhc093blByb3BlcnR5KHRoaXMueCkpdGhyb3cgRXJyb3IoIk5vIHggcHJvcGVydHkgJyIrdGhpcy54KyInIG9uIGJpbnMgZGF0YSIpO2lmKCF0aGlzLl9kYXRhWzBdW3RoaXMuYmluc11bMF0uaGFzT3duUHJvcGVydHkodGhpcy5keCkpdGhyb3cgRXJyb3IoIk5vIGR4IHByb3BlcnR5ICciK3RoaXMuZHgrIicgb24gYmlucyBkYXRhIik7aWYoIXRoaXMuX2RhdGFbMF1bdGhpcy5iaW5zXVswXS5oYXNPd25Qcm9wZXJ0eSh0aGlzLnkpKXRocm93IEVycm9yKCJObyB5IHByb3BlcnR5ICciK3RoaXMueSsiJyBvbiBiaW5zIGRhdGEiKTt2YXIgZD10aGlzLnRpbWVQcm9wZXJ0eSxmPXRoaXMueCxoPXRoaXMuYmlucyxrPXRoaXMuZHgsCnI9dGhpcy55LGw9dGhpcy5fZGF0YSxwPXRoaXMubW9kZSxtPWQzLmhjbCh0aGlzLmNvbG9yU2NhbGUodGhpcy5fbmFtZSkpLG49ZDMuc2VsZWN0KHRoaXMuJC50b29sdGlwKSxxPWZ1bmN0aW9uKHhhKXtyZXR1cm4geGFbZl19LHU9ZnVuY3Rpb24oeGEpe3JldHVybiB4YVtyXX0sdz1mdW5jdGlvbih4YSl7cmV0dXJuIHhhW2ZdK3hhW2tdfSxBPWZ1bmN0aW9uKHhhKXtyZXR1cm4geGFbZF19OyJyZWxhdGl2ZSI9PT1kJiYoQT1mdW5jdGlvbih4YSl7cmV0dXJuIHhhLndhbGxfdGltZS1sWzBdLndhbGxfdGltZX0pO3ZhciB5PXRoaXMuJC5zdmcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkseD15LndpZHRoLEM9eS5oZWlnaHQsRz01O2lmKCJvZmZzZXQiPT09cCl7dmFyIEQ9Qy8yLjU7Rz1EKzV9ZWxzZSBEPUMtRy0yMDt2YXIgQj14LTI0LTYwLEg9Qy1HLTIwO2QzLm1pbihsLHEpO2QzLm1heChsLHcpO3ZhciBLPWQzLmZvcm1hdCgiLjNuIik7eT1kMy5mb3JtYXQoIi4wZiIpOyJ3YWxsX3RpbWUiPT09CmQ/eT1kMy50aW1lRm9ybWF0KCIlbS8lZCAlWCIpOiJyZWxhdGl2ZSI9PT1kJiYoeT1mdW5jdGlvbih4YSl7cmV0dXJuIGQzLmZvcm1hdCgiLjFyIikoeGEvMzZFNSkrImgifSk7dmFyIEw9bC5tYXAoZnVuY3Rpb24oeGEpe3JldHVybltkMy5taW4oeGFbaF0scSksZDMubWF4KHhhW2hdLHcpXX0pLEo9bC5tYXAoZnVuY3Rpb24oeGEpe3JldHVybiBkMy5leHRlbnQoeGFbaF0sdSl9KSxPPWQzLmV4dGVudChsLEEpLFM9KCJ3YWxsX3RpbWUiPT09ZD9kMy5zY2FsZVRpbWUoKTpkMy5zY2FsZUxpbmVhcigpKS5kb21haW4oTykucmFuZ2UoWzAsIm9mZnNldCI9PT1wP0g6MF0pLE49ZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oWzAsZDMubWF4KGwsZnVuY3Rpb24oeGEsU2Epe3JldHVybiBKW1NhXVsxXX0pXSkucmFuZ2UoW0QsMF0pLFI9ZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oTi5kb21haW4oKSkucmFuZ2UoWzUwMCwwXSksWD1kMy5zY2FsZUxpbmVhcigpLmRvbWFpbihbZDMubWluKGwsZnVuY3Rpb24oeGEsClNhKXtyZXR1cm4gTFtTYV1bMF19KSxkMy5tYXgobCxmdW5jdGlvbih4YSxTYSl7cmV0dXJuIExbU2FdWzFdfSldKS5uaWNlKCkucmFuZ2UoWzAsQl0pLGFhPWQzLnNjYWxlTGluZWFyKCkuZG9tYWluKFguZG9tYWluKCkpLnJhbmdlKFswLDUwMF0pLGZhPWQzLnNjYWxlTGluZWFyKCkuZG9tYWluKGQzLmV4dGVudChsLEEpKS5yYW5nZShbbS5kYXJrZXIoKSxtLmJyaWdodGVyKCldKS5pbnRlcnBvbGF0ZShkMy5pbnRlcnBvbGF0ZUhjbCk7bT1kMy5heGlzQm90dG9tKFgpLnRpY2tzKCk7dmFyIG9hPWQzLmF4aXNSaWdodChTKS50aWNrcygpLnRpY2tGb3JtYXQoeSksWj1kMy5heGlzUmlnaHQoTikudGlja3MoKS50aWNrU2l6ZShCKzUpLnRpY2tGb3JtYXQoSyksY2E9ZnVuY3Rpb24oeGEpe3JldHVybiB4YVtmXSt4YVtrXS8yfSxqYT1kMy5saW5lKCkueChmdW5jdGlvbih4YSl7cmV0dXJuIGFhKGNhKHhhKSl9KS55KGZ1bmN0aW9uKHhhKXtyZXR1cm4gUih4YVtyXSl9KSxiYT1mdW5jdGlvbih4YSl7cmV0dXJuIk0iKwphYShjYSh4YVswXSkpKyIsIitSKDApKyJMIitqYSh4YSkuc2xpY2UoMSkrIkwiK2FhKGNhKHhhW3hhLmxlbmd0aC0xXSkpKyIsIitSKDApfSxrYT10aGlzLiQuc3ZnO3k9ZDMuc2VsZWN0KGthKTtiPXkudHJhbnNpdGlvbigpLmR1cmF0aW9uKGIpO3k9eS5zZWxlY3QoImciKS5jbGFzc2VkKCJzbWFsbCIsZnVuY3Rpb24oKXtyZXR1cm4gMDxCJiYxNTA+PUJ9KS5jbGFzc2VkKCJtZWRpdW0iLGZ1bmN0aW9uKCl7cmV0dXJuIDE1MDxCJiYzMDA+PUJ9KS5jbGFzc2VkKCJsYXJnZSIsZnVuY3Rpb24oKXtyZXR1cm4gMzAwPEJ9KTtiPWIuc2VsZWN0KCJnIikuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKDI0LCIrRysiKSIpO3ZhciBXPWQzLmJpc2VjdG9yKHcpLmxlZnQ7Tz15LnNlbGVjdCgiLnN0YWdlIikub24oIm1vdXNlb3ZlciIsZnVuY3Rpb24oKXt2YS5zdHlsZSgib3BhY2l0eSIsMSk7eWEuc3R5bGUoIm9wYWNpdHkiLDEpO0FhLnN0eWxlKCJvcGFjaXR5IiwxKTtGYS5zdHlsZSgib3BhY2l0eSIsCjEpO24uc3R5bGUoIm9wYWNpdHkiLDEpfSkub24oIm1vdXNlb3V0IixmdW5jdGlvbigpe3ZhLnN0eWxlKCJvcGFjaXR5IiwwKTt5YS5zdHlsZSgib3BhY2l0eSIsMCk7QWEuc3R5bGUoIm9wYWNpdHkiLDApO0ZhLnN0eWxlKCJvcGFjaXR5IiwwKTt2YS5jbGFzc2VkKCJob3Zlci1jbG9zZXN0IiwhMSk7RWEuY2xhc3NlZCgib3V0bGluZS1ob3ZlciIsITEpO24uc3R5bGUoIm9wYWNpdHkiLDApfSkub24oIm1vdXNlbW92ZSIsZnVuY3Rpb24oKXtmdW5jdGlvbiB4YShBYil7cmV0dXJuIE1hdGgubWluKEFiW2hdLmxlbmd0aC0xLFcoQWJbaF0sWGEpKX12YXIgU2E9ZDMubW91c2UodGhpcyksWGE9WC5pbnZlcnQoU2FbMF0pO1MuaW52ZXJ0KFNhWzFdKTt2YXIgdWIsQmI9SW5maW5pdHkscWI7dmEuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbihBYil7dmFyIEhiPXhhKEFiKTtxYj1BYjt2YXIgbGM9WChBYltoXVtIYl1bZl0rQWJbaF1bSGJdW2tdLzIpO0hiPU4oQWJbaF1bSGJdW3JdKTt2YXIgZWM9CiJvZmZzZXQiPT09cD9TKEEoQWIpKS0oRC1IYik6SGI7ZWM9TWF0aC5hYnMoU2FbMV0tZWMpO2VjPEJiJiYoQmI9ZWMsdWI9QWIpO3JldHVybiJ0cmFuc2xhdGUoIitsYysiLCIrSGIrIikifSk7dmEuc2VsZWN0KCJ0ZXh0IikudGV4dChmdW5jdGlvbihBYil7dmFyIEhiPXhhKEFiKTtyZXR1cm4gQWJbaF1bSGJdW3JdfSk7dmEuY2xhc3NlZCgiaG92ZXItY2xvc2VzdCIsZnVuY3Rpb24oQWIpe3JldHVybiBBYj09PXVifSk7RWEuY2xhc3NlZCgib3V0bGluZS1ob3ZlciIsZnVuY3Rpb24oQWIpe3JldHVybiBBYj09PXVifSk7dmFyIHpiPXhhKHFiKTt5YS5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKCl7cmV0dXJuInRyYW5zbGF0ZSgiK1gocWJbaF1bemJdW2ZdK3FiW2hdW3piXVtrXS8yKSsiLCAiK0grIikifSkuc2VsZWN0KCJ0ZXh0IikudGV4dChmdW5jdGlvbigpe3JldHVybiBLKHFiW2hdW3piXVtmXStxYltoXVt6Yl1ba10vMil9KTt2YXIgdmI9b2EudGlja0Zvcm1hdCgpO0FhLmF0dHIoInRyYW5zZm9ybSIsCmZ1bmN0aW9uKCl7cmV0dXJuInRyYW5zbGF0ZSgiK0IrIiwgIisoIm9mZnNldCI9PT1wP1MoQSh1YikpOjApKyIpIn0pLnN0eWxlKCJkaXNwbGF5Iiwib2Zmc2V0Ij09PXA/IiI6Im5vbmUiKS5zZWxlY3QoInRleHQiKS50ZXh0KGZ1bmN0aW9uKCl7cmV0dXJuIHZiKEEodWIpKX0pO3ZhciBHYj1aLnRpY2tGb3JtYXQoKTtGYS5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKCl7cmV0dXJuInRyYW5zbGF0ZSgiK0IrIiwgIisoIm9mZnNldCI9PT1wPzA6Tih1YltoXVt6Yl1bcl0pKSsiKSJ9KS5zdHlsZSgiZGlzcGxheSIsIm9mZnNldCI9PT1wPyJub25lIjoiIikuc2VsZWN0KCJ0ZXh0IikudGV4dChmdW5jdGlvbigpe3JldHVybiBHYih1YltoXVt6Yl1bcl0pfSk7dmFyIE9iPWQzLm1vdXNlKGthKTtuLnN0eWxlKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIisoT2JbMF0rMTUpKyJweCwiKyhPYlsxXS0xNSkrInB4KSIpLnNlbGVjdCgic3BhbiIpLnRleHQoIm9mZnNldCI9PT1wP0diKHViW2hdW3piXVtyXSk6Cigic3RlcCI9PT1kPyJzdGVwICI6IiIpK3ZiKEEodWIpKSl9KTtPLnNlbGVjdCgiLmJhY2tncm91bmQiKS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoLTI0LCIrLUcrIikiKS5hdHRyKCJ3aWR0aCIseCkuYXR0cigiaGVpZ2h0IixDKTtDPU8uc2VsZWN0QWxsKCIuaGlzdG9ncmFtIikuZGF0YShsKTtDLmV4aXQoKS5yZW1vdmUoKTt4PUMuZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsImhpc3RvZ3JhbSIpO0M9eC5tZXJnZShDKS5zb3J0KGZ1bmN0aW9uKHhhLFNhKXtyZXR1cm4gQSh4YSktQShTYSl9KTtHPWIuc2VsZWN0QWxsKCIuaGlzdG9ncmFtIikuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbih4YSl7cmV0dXJuInRyYW5zbGF0ZSgwLCAiKygib2Zmc2V0Ij09PXA/UyhBKHhhKSktRDowKSsiKSJ9KTt4LmFwcGVuZCgibGluZSIpLmF0dHIoImNsYXNzIiwiYmFzZWxpbmUiKTtHLnNlbGVjdCgiLmJhc2VsaW5lIikuc3R5bGUoInN0cm9rZS1vcGFjaXR5IixmdW5jdGlvbigpe3JldHVybiJvZmZzZXQiPT09CnA/LjE6MH0pLmF0dHIoInkxIixEKS5hdHRyKCJ5MiIsRCkuYXR0cigieDIiLEIpO3guYXBwZW5kKCJwYXRoIikuYXR0cigiY2xhc3MiLCJvdXRsaW5lIik7dmFyIEVhPUMuc2VsZWN0KCIub3V0bGluZSIpLmF0dHIoInZlY3Rvci1lZmZlY3QiLCJub24tc2NhbGluZy1zdHJva2UiKS5hdHRyKCJkIixmdW5jdGlvbih4YSl7cmV0dXJuIGJhKHhhW2hdKX0pLnN0eWxlKCJzdHJva2Utd2lkdGgiLDEpO0cuc2VsZWN0KCIub3V0bGluZSIpLmF0dHIoInRyYW5zZm9ybSIsInNjYWxlKCIrQi81MDArIiwgIitELzUwMCsiKSIpLnN0eWxlKCJzdHJva2UiLGZ1bmN0aW9uKHhhKXtyZXR1cm4ib2Zmc2V0Ij09PXA/IndoaXRlIjpmYShBKHhhKSl9KS5zdHlsZSgiZmlsbC1vcGFjaXR5IixmdW5jdGlvbigpe3JldHVybiJvZmZzZXQiPT09cD8xOjB9KS5zdHlsZSgiZmlsbCIsZnVuY3Rpb24oeGEpe3JldHVybiBmYShBKHhhKSl9KTt4PXguYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJob3ZlciIpLnN0eWxlKCJmaWxsIiwKZnVuY3Rpb24oeGEpe3JldHVybiBmYShBKHhhKSl9KTt2YXIgdmE9Qy5zZWxlY3QoIi5ob3ZlciIpO3guYXBwZW5kKCJjaXJjbGUiKS5hdHRyKCJyIiwyKTt4LmFwcGVuZCgidGV4dCIpLnN0eWxlKCJkaXNwbGF5Iiwibm9uZSIpLmF0dHIoImR4Iiw0KTt4PXkuc2VsZWN0KCIueC1heGlzLWhvdmVyIikuc2VsZWN0QWxsKCIubGFiZWwiKS5kYXRhKFsieCJdKTtDPXguZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsImxhYmVsIik7dmFyIHlhPXgubWVyZ2UoQyk7Qy5hcHBlbmQoInJlY3QiKS5hdHRyKCJ4IiwtMjApLmF0dHIoInkiLDYpLmF0dHIoIndpZHRoIiw0MCkuYXR0cigiaGVpZ2h0IiwxNCk7Qy5hcHBlbmQoImxpbmUiKS5hdHRyKCJ4MSIsMCkuYXR0cigieDIiLDApLmF0dHIoInkxIiwwKS5hdHRyKCJ5MiIsNik7Qy5hcHBlbmQoInRleHQiKS5hdHRyKCJkeSIsMTgpO3g9eS5zZWxlY3QoIi55LWF4aXMtaG92ZXIiKS5zZWxlY3RBbGwoIi5sYWJlbCIpLmRhdGEoWyJ5Il0pOwpDPXguZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsImxhYmVsIik7dmFyIEFhPXgubWVyZ2UoQyk7Qy5hcHBlbmQoInJlY3QiKS5hdHRyKCJ4Iiw4KS5hdHRyKCJ5IiwtNikuYXR0cigid2lkdGgiLDQwKS5hdHRyKCJoZWlnaHQiLDE0KTtDLmFwcGVuZCgibGluZSIpLmF0dHIoIngxIiwwKS5hdHRyKCJ4MiIsNikuYXR0cigieTEiLDApLmF0dHIoInkyIiwwKTtDLmFwcGVuZCgidGV4dCIpLmF0dHIoImR4Iiw4KS5hdHRyKCJkeSIsNCk7eT15LnNlbGVjdCgiLnktc2xpY2UtYXhpcy1ob3ZlciIpLnNlbGVjdEFsbCgiLmxhYmVsIikuZGF0YShbInkiXSk7eD15LmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJsYWJlbCIpO3ZhciBGYT15Lm1lcmdlKHgpO3guYXBwZW5kKCJyZWN0IikuYXR0cigieCIsOCkuYXR0cigieSIsLTYpLmF0dHIoIndpZHRoIiw0MCkuYXR0cigiaGVpZ2h0IiwxNCk7eC5hcHBlbmQoImxpbmUiKS5hdHRyKCJ4MSIsMCkuYXR0cigieDIiLDYpLmF0dHIoInkxIiwKMCkuYXR0cigieTIiLDApO3guYXBwZW5kKCJ0ZXh0IikuYXR0cigiZHgiLDgpLmF0dHIoImR5Iiw0KTtiLnNlbGVjdCgiLnkuYXhpcy5zbGljZSIpLnN0eWxlKCJvcGFjaXR5Iiwib2Zmc2V0Ij09PXA/MDoxKS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoMCwgIisoIm9mZnNldCI9PT1wPy1EOjApKyIpIikuY2FsbChaKTtiLnNlbGVjdCgiLnguYXhpcyIpLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgwLCAiK0grIikiKS5jYWxsKG0pO2Iuc2VsZWN0KCIueS5heGlzIikuc3R5bGUoIm9wYWNpdHkiLCJvZmZzZXQiPT09cD8xOjApLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK0IrIiwgIisoIm9mZnNldCI9PT1wPzA6SCkrIikiKS5jYWxsKG9hKTtiLnNlbGVjdEFsbCgiLnRpY2sgdGV4dCIpLmF0dHIoImZpbGwiLCIjYWFhIik7Yi5zZWxlY3RBbGwoIi5heGlzIHBhdGguZG9tYWluIikuYXR0cigic3Ryb2tlIiwibm9uZSIpfX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1oaXN0b2dyYW0tZGFzaGJvYXJkL3RmLWhpc3RvZ3JhbS1sb2FkZXIuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtaGlzdG9ncmFtLWxvYWRlciIscHJvcGVydGllczp7cnVuOlN0cmluZyx0YWc6U3RyaW5nLGRhdGFUb0xvYWQ6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9jb21wdXRlRGF0YVRvTG9hZChydW4sIHRhZykifSxnZXREYXRhTG9hZE5hbWU6e3R5cGU6RnVuY3Rpb24sdmFsdWU6KCk9Pih7cnVuOmJ9KT0+Yn0sZ2V0RGF0YUxvYWRVcmw6e3R5cGU6RnVuY3Rpb24sdmFsdWU6KCk9Pih7dGFnOmIscnVuOmR9KT0+ZGMuYWRkUGFyYW1zKGRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJoaXN0b2dyYW1zIiwiL2hpc3RvZ3JhbXMiKSx7dGFnOmIscnVuOmR9KX0sbG9hZERhdGFDYWxsYmFjazp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybihiLGQsZik9PntiPWVsLmJhY2tlbmRUb1Z6KGYpO2Q9dGhpcy5nZXREYXRhTG9hZE5hbWUoZCk7dGhpcy4kLmNoYXJ0LnNldFNlcmllc0RhdGEoZCxiKX19fSx0YWdNZXRhZGF0YTpPYmplY3QsdGltZVByb3BlcnR5OlN0cmluZywKaGlzdG9ncmFtTW9kZTpTdHJpbmcsX2NvbG9yU2NhbGVGdW5jdGlvbjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9PkxkLnJ1bnNDb2xvclNjYWxlfSxfcnVuQ29sb3I6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVJ1bkNvbG9yKHJ1bikifSxfZXhwYW5kZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9fSxvYnNlcnZlcnM6WyJyZWxvYWQocnVuLCB0YWcsIHJlcXVlc3RNYW5hZ2VyKSJdLGJlaGF2aW9yczpbY2QuRGF0YUxvYWRlckJlaGF2aW9yXSxfY29tcHV0ZURhdGFUb0xvYWQoYixkKXtyZXR1cm5be3J1bjpiLHRhZzpkfV19LF9jb21wdXRlUnVuQ29sb3IoYil7cmV0dXJuIHRoaXMuX2NvbG9yU2NhbGVGdW5jdGlvbihiKX0scmVkcmF3KCl7dGhpcy4kLmNoYXJ0LnJlZHJhdygpfSxfdG9nZ2xlRXhwYW5kZWQoKXt0aGlzLnNldCgiX2V4cGFuZGVkIiwhdGhpcy5fZXhwYW5kZWQpO3RoaXMucmVkcmF3KCl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaGlzdG9ncmFtLWRhc2hib2FyZC90Zi1oaXN0b2dyYW0tZGFzaGJvYXJkLmh0bWwuanMKUG9seW1lcih7aXM6InRmLWhpc3RvZ3JhbS1kYXNoYm9hcmQiLHByb3BlcnRpZXM6e19oaXN0b2dyYW1Nb2RlOnt0eXBlOlN0cmluZyx2YWx1ZToib2Zmc2V0In0sX3RpbWVQcm9wZXJ0eTp7dHlwZTpTdHJpbmcsdmFsdWU6InN0ZXAifSxfc2VsZWN0ZWRSdW5zOkFycmF5LF9ydW5Ub1RhZzpPYmplY3QsX3J1blRvVGFnSW5mbzpPYmplY3QsX2RhdGFOb3RGb3VuZDpCb29sZWFuLF90YWdGaWx0ZXI6U3RyaW5nLF9yZXN0YW1wOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9jYXRlZ29yaWVzRG9tUmVhZHk6Qm9vbGVhbixfY2F0ZWdvcmllczp7dHlwZTpBcnJheSxjb21wdXRlZDoiX21ha2VDYXRlZ29yaWVzKF9ydW5Ub1RhZywgX3NlbGVjdGVkUnVucywgX3RhZ0ZpbHRlciwgX2NhdGVnb3JpZXNEb21SZWFkeSkifSxfcmVxdWVzdE1hbmFnZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuUmVxdWVzdE1hbmFnZXJ9fSxsaXN0ZW5lcnM6eyJjb250ZW50LXZpc2liaWxpdHktY2hhbmdlZCI6Il9yZWRyYXdDYXRlZ29yeVBhbmUifSwKX3JlZHJhd0NhdGVnb3J5UGFuZShiLGQpe2QmJmIudGFyZ2V0LnF1ZXJ5U2VsZWN0b3JBbGwoInRmLWhpc3RvZ3JhbS1sb2FkZXIiKS5mb3JFYWNoKGY9PmYucmVkcmF3KCkpfSxyZWFkeSgpe3RoaXMucmVsb2FkKCl9LHJlbG9hZCgpe3RoaXMuX2ZldGNoVGFncygpLnRoZW4oKCk9Pnt0aGlzLl9yZWxvYWRIaXN0b2dyYW1zKCl9KX0sX2ZldGNoVGFncygpe2NvbnN0IGI9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImhpc3RvZ3JhbXMiLCIvdGFncyIpO3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGIpLnRoZW4oZD0+e2lmKCFfLmlzRXF1YWwoZCx0aGlzLl9ydW5Ub1RhZ0luZm8pKXt2YXIgZj1fLm1hcFZhbHVlcyhkLGs9Pk9iamVjdC5rZXlzKGspKSxoPWRjLmdldFRhZ3MoZik7dGhpcy5zZXQoIl9kYXRhTm90Rm91bmQiLDA9PT1oLmxlbmd0aCk7dGhpcy5zZXQoIl9ydW5Ub1RhZyIsZik7dGhpcy5zZXQoIl9ydW5Ub1RhZ0luZm8iLGQpO3RoaXMuYXN5bmMoKCk9Pgp7dGhpcy5zZXQoIl9jYXRlZ29yaWVzRG9tUmVhZHkiLCEwKX0pfX0pfSxfcmVsb2FkSGlzdG9ncmFtcygpe3RoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCJ0Zi1oaXN0b2dyYW0tbG9hZGVyIikuZm9yRWFjaChiPT57Yi5yZWxvYWQoKX0pfSxfc2hvdWxkT3BlbihiKXtyZXR1cm4gMj49Yn0sX21ha2VDYXRlZ29yaWVzKGIsZCxmKXtyZXR1cm4ga2MuY2F0ZWdvcml6ZVJ1blRhZ0NvbWJpbmF0aW9ucyhiLGQsZil9LF90YWdNZXRhZGF0YShiLGQsZil7cmV0dXJuIGJbZF1bZl19fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtdGV4dC1kYXNoYm9hcmQvdGYtdGV4dC1sb2FkZXIuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtdGV4dC1sb2FkZXIiLHByb3BlcnRpZXM6e3J1bjpTdHJpbmcsdGFnOlN0cmluZyxfcnVuQ29sb3I6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVJ1bkNvbG9yKHJ1bikifSxfdGV4dHM6e3R5cGU6QXJyYXksdmFsdWU6W119LHJlcXVlc3RNYW5hZ2VyOk9iamVjdCxfY2FuY2VsbGVyOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+bmV3IGRjLkNhbmNlbGxlcn19LF9jb21wdXRlUnVuQ29sb3IoYil7cmV0dXJuIExkLnJ1bnNDb2xvclNjYWxlKGIpfSxhdHRhY2hlZCgpe3RoaXMuX2F0dGFjaGVkPSEwO3RoaXMucmVsb2FkKCl9LHJlbG9hZCgpe2lmKHRoaXMuX2F0dGFjaGVkKXt0aGlzLl9jYW5jZWxsZXIuY2FuY2VsQWxsKCk7dmFyIGI9ZGMuYWRkUGFyYW1zKGRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJ0ZXh0IiwiL3RleHQiKSx7dGFnOnRoaXMudGFnLHJ1bjp0aGlzLnJ1bn0pLGQ9dGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKGY9PntmLmNhbmNlbGxlZHx8CihmPWYudmFsdWUubWFwKGg9Pih7d2FsbF90aW1lOm5ldyBEYXRlKDFFMypoLndhbGxfdGltZSksc3RlcDpoLnN0ZXAsdGV4dDpoLnRleHR9KSksdGhpcy5zZXQoIl90ZXh0cyIsZi5zbGljZSgpLnJldmVyc2UoKSkpfSk7dGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGIpLnRoZW4oZCl9fSxfZm9ybWF0U3RlcChiKXtyZXR1cm4gZDMuZm9ybWF0KCIsIikoYil9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtdGV4dC1kYXNoYm9hcmQvdGYtdGV4dC1kYXNoYm9hcmQuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtdGV4dC1kYXNoYm9hcmQiLHByb3BlcnRpZXM6e19zZWxlY3RlZFJ1bnM6QXJyYXksX3J1blRvVGFnOk9iamVjdCxfZGF0YU5vdEZvdW5kOkJvb2xlYW4sX3RhZ0ZpbHRlcjpTdHJpbmcsX2NhdGVnb3JpZXNEb21SZWFkeTpCb29sZWFuLF9jYXRlZ29yaWVzOnt0eXBlOkFycmF5LGNvbXB1dGVkOiJfbWFrZUNhdGVnb3JpZXMoX3J1blRvVGFnLCBfc2VsZWN0ZWRSdW5zLCBfdGFnRmlsdGVyLCBfY2F0ZWdvcmllc0RvbVJlYWR5KSJ9LF9yZXF1ZXN0TWFuYWdlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5SZXF1ZXN0TWFuYWdlcn19LHJlYWR5KCl7dGhpcy5yZWxvYWQoKX0scmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbigoKT0+e3RoaXMuX3JlbG9hZFRleHRzKCl9KX0sX3Nob3VsZE9wZW4oYil7cmV0dXJuIDI+PWJ9LF9mZXRjaFRhZ3MoKXtjb25zdCBiPWRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJ0ZXh0IiwiL3RhZ3MiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChiKS50aGVuKGQ9Pgp7aWYoIV8uaXNFcXVhbChkLHRoaXMuX3J1blRvVGFnKSl7dmFyIGY9ZGMuZ2V0VGFncyhkKTt0aGlzLnNldCgiX2RhdGFOb3RGb3VuZCIsMD09PWYubGVuZ3RoKTt0aGlzLnNldCgiX3J1blRvVGFnIixkKTt0aGlzLmFzeW5jKCgpPT57dGhpcy5zZXQoIl9jYXRlZ29yaWVzRG9tUmVhZHkiLCEwKX0pfX0pfSxfcmVsb2FkVGV4dHMoKXt0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgidGYtdGV4dC1sb2FkZXIiKS5mb3JFYWNoKGI9PntiLnJlbG9hZCgpfSl9LF9tYWtlQ2F0ZWdvcmllcyhiLGQsZil7cmV0dXJuIGtjLmNhdGVnb3JpemVSdW5UYWdDb21iaW5hdGlvbnMoYixkLGYpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLXByLWN1cnZlLWRhc2hib2FyZC90Zi1wci1jdXJ2ZS1jYXJkLmh0bWwuanMKUG9seW1lcih7aXM6InRmLXByLWN1cnZlLWNhcmQiLHByb3BlcnRpZXM6e3J1bnM6QXJyYXksdGFnOlN0cmluZyx0YWdNZXRhZGF0YTpPYmplY3QscnVuVG9TdGVwQ2FwOk9iamVjdCxyZXF1ZXN0TWFuYWdlcjpPYmplY3QsYWN0aXZlOkJvb2xlYW4sX2V4cGFuZGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxfcnVuVG9QckN1cnZlRW50cnk6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT4oe30pfSxfcHJldmlvdXNSdW5Ub1ByQ3VydmVFbnRyeTp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pih7fSl9LF9ydW5zV2l0aFN0ZXBBdmFpbGFibGU6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9jb21wdXRlUnVuc1dpdGhTdGVwQXZhaWxhYmxlKHJ1bnMsIF9ydW5Ub1ByQ3VydmVFbnRyeSkifSxfc2V0T2ZSZWxldmFudFJ1bnM6e3R5cGU6T2JqZWN0LGNvbXB1dGVkOiJfY29tcHV0ZVNldE9mUmVsZXZhbnRSdW5zKF9ydW5zV2l0aFN0ZXBBdmFpbGFibGUpIn0sX3J1blRvRGF0YU92ZXJUaW1lOk9iamVjdCwKb25EYXRhQ2hhbmdlOkZ1bmN0aW9uLF9jb2xvclNjYWxlRnVuY3Rpb246e3R5cGU6T2JqZWN0LHZhbHVlOigpPT4oe3NjYWxlOkxkLnJ1bnNDb2xvclNjYWxlfSl9LF9jYW5jZWxsZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuQ2FuY2VsbGVyfSxfYXR0YWNoZWQ6Qm9vbGVhbixfeENvbXBvbmVudHNDcmVhdGlvbk1ldGhvZDp7dHlwZTpPYmplY3QscmVhZE9ubHk6ITAsdmFsdWU6KCk9PigpPT57Y29uc3QgYj1uZXcgUGxvdHRhYmxlLlNjYWxlcy5MaW5lYXI7cmV0dXJue3NjYWxlOmIsYXhpczpuZXcgUGxvdHRhYmxlLkF4ZXMuTnVtZXJpYyhiLCJib3R0b20iKSxhY2Nlc3NvcjpkPT5kLnJlY2FsbH19fSxfeVZhbHVlQWNjZXNzb3I6e3R5cGU6T2JqZWN0LHJlYWRPbmx5OiEwLHZhbHVlOigpPT5iPT5iLnByZWNpc2lvbn0sX3Rvb2x0aXBDb2x1bW5zOnt0eXBlOkFycmF5LHJlYWRPbmx5OiEwLHZhbHVlOigpPT57Y29uc3QgYj1zZi5tdWx0aXNjYWxlRm9ybWF0dGVyKHNmLllfVE9PTFRJUF9GT1JNQVRURVJfUFJFQ0lTSU9OKSwKZD1mPT5pc05hTihmKT8iTmFOIjpiKGYpO3JldHVyblt7dGl0bGU6IlJ1biIsZXZhbHVhdGU6Zj0+Zi5kYXRhc2V0Lm1ldGFkYXRhKCkubmFtZX0se3RpdGxlOiJUaHJlc2hvbGQiLGV2YWx1YXRlOmY9PmQoZi5kYXR1bS50aHJlc2hvbGRzKX0se3RpdGxlOiJQcmVjaXNpb24iLGV2YWx1YXRlOmY9PmQoZi5kYXR1bS5wcmVjaXNpb24pfSx7dGl0bGU6IlJlY2FsbCIsZXZhbHVhdGU6Zj0+ZChmLmRhdHVtLnJlY2FsbCl9LHt0aXRsZToiVFAiLGV2YWx1YXRlOmY9PmYuZGF0dW0udHJ1ZV9wb3NpdGl2ZXN9LHt0aXRsZToiRlAiLGV2YWx1YXRlOmY9PmYuZGF0dW0uZmFsc2VfcG9zaXRpdmVzfSx7dGl0bGU6IlROIixldmFsdWF0ZTpmPT5mLmRhdHVtLnRydWVfbmVnYXRpdmVzfSx7dGl0bGU6IkZOIixldmFsdWF0ZTpmPT5mLmRhdHVtLmZhbHNlX25lZ2F0aXZlc31dfX0sX3Nlcmllc0RhdGFGaWVsZHM6e3R5cGU6QXJyYXksdmFsdWU6InRocmVzaG9sZHMgcHJlY2lzaW9uIHJlY2FsbCB0cnVlX3Bvc2l0aXZlcyBmYWxzZV9wb3NpdGl2ZXMgdHJ1ZV9uZWdhdGl2ZXMgZmFsc2VfbmVnYXRpdmVzIi5zcGxpdCgiICIpLApyZWFkT25seTohMH0sX2RlZmF1bHRYUmFuZ2U6e3R5cGU6QXJyYXksdmFsdWU6Wy0uMDUsMS4wNV0scmVhZE9ubHk6ITB9LF9kZWZhdWx0WVJhbmdlOnt0eXBlOkFycmF5LHZhbHVlOlstLjA1LDEuMDVdLHJlYWRPbmx5OiEwfSxfZGF0YVVybDp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBiPT57Y29uc3QgZD10aGlzLnRhZztyZXR1cm4gZGMuYWRkUGFyYW1zKGRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJwcl9jdXJ2ZXMiLCIvcHJfY3VydmVzIikse3RhZzpkLHJ1bjpifSl9fX0sX3Ntb290aGluZ0VuYWJsZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWFkT25seTohMH19LG9ic2VydmVyczpbInJlbG9hZChydW5zLCB0YWcpIiwiX3NldENoYXJ0RGF0YShfcnVuVG9QckN1cnZlRW50cnksIF9wcmV2aW91c1J1blRvUHJDdXJ2ZUVudHJ5LCBfc2V0T2ZSZWxldmFudFJ1bnMpIiwiX3VwZGF0ZVJ1blRvUHJDdXJ2ZUVudHJ5KF9ydW5Ub0RhdGFPdmVyVGltZSwgcnVuVG9TdGVwQ2FwKSIsCiJfbm90aWZ5RGF0YUNoYW5nZShfcnVuVG9EYXRhT3ZlclRpbWUpIl0sX2NyZWF0ZVByb2Nlc3NEYXRhRnVuY3Rpb24oKXtyZXR1cm4oYixkLGYpPT57dGhpcy5zZXQoIl9ydW5Ub0RhdGFPdmVyVGltZSIsT2JqZWN0LmFzc2lnbih7fSx0aGlzLl9ydW5Ub0RhdGFPdmVyVGltZSxmKSl9fSxfY29tcHV0ZVJ1bkNvbG9yKGIpe3JldHVybiB0aGlzLl9jb2xvclNjYWxlRnVuY3Rpb24uc2NhbGUoYil9LGF0dGFjaGVkKCl7dGhpcy5fYXR0YWNoZWQ9ITA7dGhpcy5yZWxvYWQoKX0scmVsb2FkKCl7dGhpcy5fYXR0YWNoZWQmJigwPT09dGhpcy5ydW5zLmxlbmd0aD90aGlzLnNldCgiX3J1blRvRGF0YU92ZXJUaW1lIix7fSk6dGhpcy4kJCgidGYtbGluZS1jaGFydC1kYXRhLWxvYWRlciIpLnJlbG9hZCgpKX0sX3NldENoYXJ0RGF0YShiLGQsZil7Xy5mb3JPd24oYiwoaCxrKT0+e2NvbnN0IHI9ZFtrXTtyJiZiW2tdLnN0ZXA9PT1yLnN0ZXB8fChmW2tdP3RoaXMuX3VwZGF0ZVNlcmllc0RhdGFGb3JSdW4oaywKaCk6dGhpcy5fY2xlYXJTZXJpZXNEYXRhKGspKX0pfSxfdXBkYXRlU2VyaWVzRGF0YUZvclJ1bihiLGQpe3ZhciBmPV8ucmVkdWNlKHRoaXMuX3Nlcmllc0RhdGFGaWVsZHMsKGsscik9PntrW3JdPWRbcl0uc2xpY2UoKS5yZXZlcnNlKCk7cmV0dXJuIGt9LHt9KTtjb25zdCBoPUFycmF5KGZbdGhpcy5fc2VyaWVzRGF0YUZpZWxkc1swXV0ubGVuZ3RoKTtmb3IobGV0IGs9MDtrPGgubGVuZ3RoO2srKyloW2tdPV8ubWFwVmFsdWVzKGYscj0+cltrXSk7Zj10aGlzLiQkKCJ0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyIik7Zi5zZXRTZXJpZXNEYXRhKGIsaCk7Zi5jb21taXRDaGFuZ2VzKCl9LF9jbGVhclNlcmllc0RhdGEoYil7Y29uc3QgZD10aGlzLiQkKCJ0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyIik7ZC5zZXRTZXJpZXNEYXRhKGIsW10pO2QuY29tbWl0Q2hhbmdlcygpfSxfdXBkYXRlUnVuVG9QckN1cnZlRW50cnkoYixkKXtjb25zdCBmPXt9O18uZm9yT3duKGIsKGgsayk9PntoJiYKaC5sZW5ndGgmJihmW2tdPXRoaXMuX2NvbXB1dGVFbnRyeUNsb3Nlc3RPckVxdWFsVG9TdGVwQ2FwKGRba10saCkpfSk7dGhpcy5zZXQoIl9wcmV2aW91c1J1blRvUHJDdXJ2ZUVudHJ5Iix0aGlzLl9ydW5Ub1ByQ3VydmVFbnRyeSk7dGhpcy5zZXQoIl9ydW5Ub1ByQ3VydmVFbnRyeSIsZil9LF9ub3RpZnlEYXRhQ2hhbmdlKGIpe2lmKHRoaXMub25EYXRhQ2hhbmdlKXRoaXMub25EYXRhQ2hhbmdlKGIpfSxfY29tcHV0ZUVudHJ5Q2xvc2VzdE9yRXF1YWxUb1N0ZXBDYXAoYixkKXtiPU1hdGgubWluKF8uc29ydGVkSW5kZXgoZC5tYXAoZj0+Zi5zdGVwKSxiKSxkLmxlbmd0aC0xKTtyZXR1cm4gZFtiXX0sX2NvbXB1dGVSdW5zV2l0aFN0ZXBBdmFpbGFibGUoYixkKXtyZXR1cm4gXy5maWx0ZXIoYixmPT5kW2ZdKS5zb3J0KCl9LF9jb21wdXRlU2V0T2ZSZWxldmFudFJ1bnMoYil7Y29uc3QgZD17fTtfLmZvckVhY2goYixmPT57ZFtmXT0hMH0pO3JldHVybiBkfSxfY29tcHV0ZUN1cnJlbnRTdGVwRm9yUnVuKGIsCmQpe3JldHVybihiPWJbZF0pP2Iuc3RlcDpudWxsfSxfY29tcHV0ZUN1cnJlbnRXYWxsVGltZUZvclJ1bihiLGQpe3JldHVybihiPWJbZF0pPyhuZXcgRGF0ZSgxRTMqYi53YWxsX3RpbWUpKS50b1N0cmluZygpOm51bGx9LF90b2dnbGVFeHBhbmRlZCgpe3RoaXMuc2V0KCJfZXhwYW5kZWQiLCF0aGlzLl9leHBhbmRlZCk7dGhpcy5yZWRyYXcoKX0sX3Jlc2V0RG9tYWluKCl7dGhpcy4kJCgidGYtbGluZS1jaGFydC1kYXRhLWxvYWRlciIpLnJlc2V0RG9tYWluKCl9LHJlZHJhdygpe3RoaXMuJCQoInRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIiKS5yZWRyYXcoKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1wci1jdXJ2ZS1kYXNoYm9hcmQvdGYtcHItY3VydmUtc3RlcHMtc2VsZWN0b3IuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtcHItY3VydmUtc3RlcHMtc2VsZWN0b3IiLHByb3BlcnRpZXM6e3J1bnM6QXJyYXkscnVuVG9BdmFpbGFibGVUaW1lRW50cmllczpPYmplY3QscnVuVG9TdGVwOnt0eXBlOk9iamVjdCxub3RpZnk6ITAsY29tcHV0ZWQ6Il9jb21wdXRlUnVuVG9TdGVwKHJ1blRvQXZhaWxhYmxlVGltZUVudHJpZXMsIF9ydW5Ub1N0ZXBJbmRleCkifSx0aW1lRGlzcGxheVR5cGU6U3RyaW5nLF9ydW5Ub1N0ZXBJbmRleDp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pih7fSl9LF9ydW5zV2l0aFNsaWRlcnM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9jb21wdXRlUnVuc1dpdGhTbGlkZXJzKHJ1bnMsIHJ1blRvQXZhaWxhYmxlVGltZUVudHJpZXMpIn19LG9ic2VydmVyczpbIl91cGRhdGVTdGVwc0Zvck5ld1J1bnMocnVuVG9BdmFpbGFibGVUaW1lRW50cmllcykiXSxfY29tcHV0ZUNvbG9yRm9yUnVuKGIpe3JldHVybiBMZC5ydW5zQ29sb3JTY2FsZShiKX0sX2NvbXB1dGVUaW1lVGV4dEZvclJ1bihiLApkLGYsaCl7ZD1kW2ZdO2lmKCFfLmlzTnVtYmVyKGQpKXJldHVybiIiO2I9YltmXTtpZighYilyZXR1cm4iIjtiPWJbZF1baF07aWYoInN0ZXAiPT09aClyZXR1cm5gc3RlcCAke2J9YDtpZigicmVsYXRpdmUiPT09aClyZXR1cm4gMT5iP2AkeygxRTMqYikudG9GaXhlZCgyKX0gbXNgOmAke2IudG9GaXhlZCgyKX0gc2A7aWYoIndhbGxfdGltZSI9PT1oKXJldHVybihuZXcgRGF0ZSgxRTMqYikpLnRvU3RyaW5nKCk7dGhyb3cgRXJyb3IoYFRoZSBkaXNwbGF5IHR5cGUgb2YgJHtofSBpcyBub3QgcmVjb2duaXplZC5gKTt9LF9zbGlkZXJWYWx1ZUNoYW5nZWQoYil7Y29uc3QgZD1iLnRhcmdldC5kYXRhc2V0LnJ1bixmPWIudGFyZ2V0LmltbWVkaWF0ZVZhbHVlLGg9T2JqZWN0LmFzc2lnbih7fSx0aGlzLl9ydW5Ub1N0ZXBJbmRleCk7aXNOYU4oZik/ZGVsZXRlIGhbZF06aFtkXT1iLnRhcmdldC5pbW1lZGlhdGVWYWx1ZTt0aGlzLl9ydW5Ub1N0ZXBJbmRleD1ofSxfY29tcHV0ZU1heFN0ZXBJbmRleEZvclJ1bihiLApkKXtyZXR1cm4oYj1iW2RdKSYmYi5sZW5ndGg/Yi5sZW5ndGgtMTowfSxfdXBkYXRlU3RlcHNGb3JOZXdSdW5zKGIpe2NvbnN0IGQ9T2JqZWN0LmFzc2lnbih7fSx0aGlzLl9ydW5Ub1N0ZXBJbmRleCk7Xy5mb3JPd24oYiwoZixoKT0+e18uaXNOdW1iZXIoZFtoXSl8fChkW2hdPWYubGVuZ3RoLTEpfSk7dGhpcy5fcnVuVG9TdGVwSW5kZXg9ZH0sX2dldFN0ZXAoYixkKXtyZXR1cm4gdGhpcy5fcnVuVG9TdGVwSW5kZXg/dGhpcy5fcnVuVG9TdGVwSW5kZXhbZF06MH0sX2NvbXB1dGVSdW5Ub1N0ZXAoYixkKXtjb25zdCBmPXt9O18uZm9yT3duKGQsKGgsayk9Pntjb25zdCByPWJba107ciYmKGZba109cltoXS5zdGVwKX0pO3JldHVybiBmfSxfY29tcHV0ZVJ1bnNXaXRoU2xpZGVycyhiLGQpe3JldHVybiBiLmZpbHRlcihmPT5kW2ZdKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1wci1jdXJ2ZS1kYXNoYm9hcmQvdGYtcHItY3VydmUtZGFzaGJvYXJkLmh0bWwuanMKUG9seW1lcih7aXM6InRmLXByLWN1cnZlLWRhc2hib2FyZCIscHJvcGVydGllczp7X3RpbWVEaXNwbGF5VHlwZTp7dHlwZTpTdHJpbmcsdmFsdWU6InN0ZXAifSxfc2VsZWN0ZWRSdW5zOnt0eXBlOkFycmF5LHZhbHVlOigpPT5bXX0sX3J1blRvVGFnSW5mbzp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pih7fSl9LF9ydW5Ub0F2YWlsYWJsZVRpbWVFbnRyaWVzOnt0eXBlOk9iamVjdCxjb21wdXRlZDoiX2NvbXB1dGVSdW5Ub0F2YWlsYWJsZVRpbWVFbnRyaWVzKF90YWdUb1J1blRvRGF0YSkifSxfdGFnVG9SdW5Ub0RhdGE6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT4oe30pfSxfcmVsZXZhbnRTZWxlY3RlZFJ1bnM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9jb21wdXRlUmVsZXZhbnRTZWxlY3RlZFJ1bnMoX3NlbGVjdGVkUnVucywgX3J1blRvVGFnSW5mbykifSxfcnVuVG9TdGVwOnt0eXBlOk9iamVjdCxub3RpZnk6ITB9LF9kYXRhTm90Rm91bmQ6Qm9vbGVhbixfdGFnRmlsdGVyOlN0cmluZywKX2NhdGVnb3JpZXNEb21SZWFkeTpCb29sZWFuLF9jYXRlZ29yaWVzOnt0eXBlOkFycmF5LGNvbXB1dGVkOiJfbWFrZUNhdGVnb3JpZXMoX3J1blRvVGFnSW5mbywgX3NlbGVjdGVkUnVucywgX3RhZ0ZpbHRlciwgX2NhdGVnb3JpZXNEb21SZWFkeSkifSxfZ2V0Q2F0ZWdvcnlJdGVtS2V5Ont0eXBlOkZ1bmN0aW9uLHZhbHVlOigpPT5iPT5iLnRhZ30sX3JlcXVlc3RNYW5hZ2VyOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+bmV3IGRjLlJlcXVlc3RNYW5hZ2VyfSxfc3RlcDp7dHlwZTpOdW1iZXIsdmFsdWU6MCxub3RpZnk6ITB9fSxyZWFkeSgpe3RoaXMucmVsb2FkKCl9LHJlbG9hZCgpe1Byb21pc2UuYWxsKFt0aGlzLl9mZXRjaFRhZ3MoKV0pLnRoZW4oKCk9Pnt0aGlzLl9yZWxvYWRDYXJkcygpfSl9LF9zaG91bGRPcGVuKGIpe3JldHVybiAyPj1ifSxfZmV0Y2hUYWdzKCl7Y29uc3QgYj1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgicHJfY3VydmVzIiwiL3RhZ3MiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChiKS50aGVuKGQ9Pgp7aWYoIV8uaXNFcXVhbChkLHRoaXMuX3J1blRvVGFnSW5mbykpe3ZhciBmPV8ubWFwVmFsdWVzKGQsaD0+Xy5rZXlzKGgpKTtmPWRjLmdldFRhZ3MoZik7dGhpcy5zZXQoIl9kYXRhTm90Rm91bmQiLDA9PT1mLmxlbmd0aCk7dGhpcy5zZXQoIl9ydW5Ub1RhZ0luZm8iLGQpO3RoaXMuYXN5bmMoKCk9Pnt0aGlzLnNldCgiX2NhdGVnb3JpZXNEb21SZWFkeSIsITApfSl9fSl9LF9yZWxvYWRDYXJkcygpe18uZm9yRWFjaCh0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgidGYtcHItY3VydmUtY2FyZCIpLGI9PntiLnJlbG9hZCgpfSl9LF9tYWtlQ2F0ZWdvcmllcyhiLGQsZil7Yj1fLm1hcFZhbHVlcyhiLGg9Pk9iamVjdC5rZXlzKGgpKTtyZXR1cm4ga2MuY2F0ZWdvcml6ZVRhZ3MoYixkLGYpfSxfY29tcHV0ZUNvbG9yRm9yUnVuKGIpe3JldHVybiBMZC5ydW5zQ29sb3JTY2FsZShiKX0sX2NvbXB1dGVSZWxldmFudFNlbGVjdGVkUnVucyhiLGQpe3JldHVybiBiLmZpbHRlcihmPT5kW2ZdKX0sCl90YWdNZXRhZGF0YShiLGQsZil7Y29uc3QgaD17fTtkLmZvckVhY2goaz0+e2hba109YltrXVtmXX0pO2Q9Zi5yZXBsYWNlKC9cL3ByX2N1cnZlcyQvLCIiKTtyZXR1cm4gcmYuYWdncmVnYXRlVGFnSW5mbyhoLGQpfSxfY3JlYXRlRGF0YUNoYW5nZUNhbGxiYWNrKGIpe3JldHVybiBkPT57dGhpcy5zZXQoIl90YWdUb1J1blRvRGF0YSIsT2JqZWN0LmFzc2lnbih7fSx0aGlzLl90YWdUb1J1blRvRGF0YSx7W2JdOmR9KSl9fSxfY29tcHV0ZVJ1blRvQXZhaWxhYmxlVGltZUVudHJpZXMoYil7Y29uc3QgZD17fTtmb3IodmFyIGYgb2YgT2JqZWN0LmVudHJpZXMoYikpe2NvbnN0IFtoLGtdPWY7Zm9yKGNvbnN0IHIgb2YgT2JqZWN0LmVudHJpZXMoaykpe2NvbnN0IFtsXT1yO2lmKG51bGw9PWRbbF18fGg8ZFtsXSlkW2xdPWh9fWY9e307Zm9yKGNvbnN0IGggb2YgT2JqZWN0LmVudHJpZXMoZCkpe2NvbnN0IFtrLHJdPWg7e2NvbnN0IGw9YltyXVtrXTtmW2tdPWwubWFwKHA9Pih7c3RlcDpwLnN0ZXAsCndhbGxfdGltZTpwLndhbGxfdGltZSxyZWxhdGl2ZTpwLndhbGxfdGltZS1sWzBdLndhbGxfdGltZX0pKX19cmV0dXJuIGZ9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtcHJvZmlsZS1yZWRpcmVjdC1kYXNoYm9hcmQvdGYtcHJvZmlsZS1yZWRpcmVjdC1kYXNoYm9hcmQuaHRtbC5qcwooZnVuY3Rpb24oKXtQb2x5bWVyKHtpczoidGYtcHJvZmlsZS1yZWRpcmVjdC1kYXNoYm9hcmQiLHByb3BlcnRpZXM6e19pbnN0YWxsQ29tbWFuZDp7dHlwZTpTdHJpbmcscmVhZE9ubHk6ITAsdmFsdWU6InBpcCBpbnN0YWxsIC1VIHRlbnNvcmJvYXJkLXBsdWdpbi1wcm9maWxlIn19LF9jb3B5SW5zdGFsbENvbW1hbmQoKXtjb25zdCBiPXRoaXM7cmV0dXJuIFdiKGZ1bmN0aW9uKigpe2NvbnN0IGQ9KCk9PldiKGZ1bmN0aW9uKigpe2IuJC5jb21tYW5kVGV4dGFyZWEuc2VsZWN0KCk7dHJ5e3lpZWxkIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGIuX2luc3RhbGxDb21tYW5kKX1jYXRjaChmKXtpZighZG9jdW1lbnQuZXhlY0NvbW1hbmQoImNvcHkiKSlyZXR1cm4gUHJvbWlzZS5yZWplY3QoKX19KTt0cnl7eWllbGQgZCgpLGIuJC5jb3BpZWRNZXNzYWdlLmlubmVyVGV4dD0iQ29waWVkLiJ9Y2F0Y2goZil7Yi4kLmNvcGllZE1lc3NhZ2UuaW5uZXJUZXh0PSJGYWlsZWQgdG8gY29weSB0byBjbGlwYm9hcmQuIn19KX0sCl9yZW1vdmVDb3BpZWRNZXNzYWdlKCl7dGhpcy4kLmNvcGllZE1lc3NhZ2UuaW5uZXJUZXh0PSIifX0pfSkoKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi10ZW5zb3Jib2FyZC9wbHVnaW4tZGlhbG9nLmh0bWwuanMKUG9seW1lcih7aXM6InRmLXBsdWdpbi1kaWFsb2ciLHByb3BlcnRpZXM6e190aXRsZTp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sX2N1c3RvbU1lc3NhZ2U6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9LF9vcGVuOnt0eXBlOkJvb2xlYW59LF9oaWRkZW46e3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVIaWRkZW4oX29wZW4pIixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LF91c2VOYXRpdmVCYWNrZHJvcDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLHJlYWRPbmx5OiEwfX0sb3Blbk5vVGVuc29yRmxvd0RpYWxvZygpe3RoaXMub3BlbkRpYWxvZygiVGhpcyBwbHVnaW4gaXMgZGlzYWJsZWQgd2l0aG91dCBUZW5zb3JGbG93IiwnVG8gZW5hYmxlIHRoaXMgcGx1Z2luIGluIFRlbnNvckJvYXJkLCBpbnN0YWxsIFRlbnNvckZsb3cgd2l0aCAicGlwIGluc3RhbGwgdGVuc29yZmxvdyIgb3IgZXF1aXZhbGVudC4nKX0sb3Blbk9sZFRlbnNvckZsb3dEaWFsb2coYil7dGhpcy5vcGVuRGlhbG9nKCJUaGlzIHBsdWdpbiBpcyBkaXNhYmxlZCB3aXRob3V0IFRlbnNvckZsb3cgIisKYiwiVG8gZW5hYmxlIHRoaXMgcGx1Z2luIGluIFRlbnNvckJvYXJkLCBpbnN0YWxsIFRlbnNvckZsb3cgIitiKycgb3IgZ3JlYXRlciB3aXRoICJwaXAgaW5zdGFsbCB0ZW5zb3JmbG93IiBvciBlcXVpdmFsZW50LicpfSxvcGVuRGlhbG9nKGIsZCl7dGhpcy5zZXQoIl90aXRsZSIsYik7dGhpcy5zZXQoIl9jdXN0b21NZXNzYWdlIixkKTt0aGlzLiQuZGlhbG9nLm9wZW4oKX0sY2xvc2VEaWFsb2coKXt0aGlzLiQuZGlhbG9nLmNsb3NlKCl9LF9jb21wdXRlSGlkZGVuKGIpe3JldHVybiFifX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWJlaG9sZGVyLWRhc2hib2FyZC90Zi1iZWhvbGRlci12aWRlby5odG1sLmpzCihmdW5jdGlvbigpe2NvbnN0IGI9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoImJlaG9sZGVyIiwiL2JlaG9sZGVyLWZyYW1lIiksZD1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiYmVob2xkZXIiLCIvcGluZyIpO1BvbHltZXIoe2lzOiJ0Zi1iZWhvbGRlci12aWRlbyIscHJvcGVydGllczp7ZnBzOnt0eXBlOk51bWJlcix2YWx1ZToxMCxvYnNlcnZlcjoiX2Zwc0NoYW5nZWQifSxwaW5nU2xlZXA6e3R5cGU6TnVtYmVyLHZhbHVlOjFFM30seGhyVGltZW91dDp7dHlwZTpOdW1iZXIsdmFsdWU6MjUwMH0sX2ltYWdlVVJMOnt0eXBlOlN0cmluZyx2YWx1ZToiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBRC9BQ3dBQUFBQUFRQUJBQUFDQURzXHgzZCJ9LF94aHI6T2JqZWN0LF90aW1lcjpOdW1iZXIsX2lzRGVhZDpCb29sZWFufSxhdHRhY2hlZCgpe3RoaXMuc2V0KCJfaW1hZ2VVUkwiLGIpO3RoaXMuX3BpbmcoKX0sZGV0YWNoZWQoKXt0aGlzLl9jbGVhcigpOwp0aGlzLnNldCgiX2ltYWdlVVJMIiwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBRC9BQ3dBQUFBQUFRQUJBQUFDQURzXHgzZCIpfSxfcGluZygpe3RoaXMuX2NsZWFyKCk7dGhpcy5feGhyPW5ldyBYTUxIdHRwUmVxdWVzdDt0aGlzLl94aHIub3BlbigiR0VUIixkLCEwKTt0aGlzLl94aHIudGltZW91dD10aGlzLnhoclRpbWVvdXQ7dGhpcy5feGhyLm9ubG9hZD10aGlzLl9vblBpbmdMb2FkLmJpbmQodGhpcyk7dGhpcy5feGhyLm9uZXJyb3I9dGhpcy5fb25QaW5nLmJpbmQodGhpcywhMSx0aGlzLnBpbmdTbGVlcCk7dGhpcy5feGhyLm9udGltZW91dD10aGlzLl9vblBpbmcuYmluZCh0aGlzLCExLDEpO3RoaXMuX3hoci5zZW5kKG51bGwpfSxfb25QaW5nTG9hZCgpe2lmKDIwMD09dGhpcy5feGhyLnN0YXR1cyl7Y29uc3QgZj1KU09OLnBhcnNlKHRoaXMuX3hoci5yZXNwb25zZVRleHQpO3RoaXMuX29uUGluZygiYWxpdmUiPT1mLnN0YXR1cyx0aGlzLnBpbmdTbGVlcCl9ZWxzZSB0aGlzLl9vblBpbmcoITEsCnRoaXMucGluZ1NsZWVwKX0sX29uUGluZyhmLGgpe2YmJnRoaXMuX2lzRGVhZCYmdGhpcy5zZXQoIl9pbWFnZVVSTCIsYisiP3RceDNkIisobmV3IERhdGUpLmdldFRpbWUoKSk7dGhpcy5faXNEZWFkPSFmO3RoaXMuX3RpbWVyPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT50aGlzLl9waW5nKCksaCl9LF9jbGVhcigpe3RoaXMuX3RpbWVyJiYod2luZG93LmNsZWFyVGltZW91dCh0aGlzLl90aW1lciksdGhpcy5fdGltZXI9bnVsbCk7dGhpcy5feGhyJiYodGhpcy5feGhyLnJlYWR5U3RhdGU8WE1MSHR0cFJlcXVlc3QuRE9ORSYmdGhpcy5feGhyLmFib3J0KCksdGhpcy5feGhyPW51bGwpfSxfZnBzQ2hhbmdlZChmLGgpezA9PWY/dGhpcy5fY2xlYXIoKTowPT1oJiZ0aGlzLl9waW5nKCl9fSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWJlaG9sZGVyLWRhc2hib2FyZC90Zi1iZWhvbGRlci1pbmZvLmh0bWwuanMKKGZ1bmN0aW9uKCl7Y29uc3QgYj1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiYmVob2xkZXIiLCIvc2VjdGlvbi1pbmZvIik7UG9seW1lcih7aXM6InRmLWJlaG9sZGVyLWluZm8iLHByb3BlcnRpZXM6e2Zwczp7dHlwZTpOdW1iZXIsdmFsdWU6MTAsb2JzZXJ2ZXI6Il9mcHNDaGFuZ2VkIn0seGhyVGltZW91dDp7dHlwZTpOdW1iZXIsdmFsdWU6MUU0fSxfaXRlbXM6e3R5cGU6QXJyYXksdmFsdWU6KCk9Plt7bmFtZToiTG9hZGluZy4uLiJ9XX0sX3hocjpPYmplY3QsX3RpbWVyOk51bWJlcn0sYXR0YWNoZWQoKXt0aGlzLl9sb2FkKCl9LGRldGFjaGVkKCl7dGhpcy5fY2xlYXIoKX0sX2xvYWQoKXt0aGlzLl9jbGVhcigpO3RoaXMuX3hocj1uZXcgWE1MSHR0cFJlcXVlc3Q7dGhpcy5feGhyLm9wZW4oIkdFVCIsYiwhMCk7dGhpcy5feGhyLnRpbWVvdXQ9dGhpcy54aHJUaW1lb3V0O3RoaXMuX3hoci5vbmxvYWQ9dGhpcy5fb25Mb2FkLmJpbmQodGhpcyk7dGhpcy5feGhyLm9uZXJyb3I9CnRoaXMuX3JldHJ5LmJpbmQodGhpcyx0aGlzLl9nZXRTbGVlcCgpKTt0aGlzLl94aHIub250aW1lb3V0PXRoaXMuX3JldHJ5LmJpbmQodGhpcywxKTt0aGlzLl94aHIuc2VuZChudWxsKX0sX29uTG9hZCgpe2lmKDIwMD09dGhpcy5feGhyLnN0YXR1cyl7Y29uc3QgZD1KU09OLnBhcnNlKHRoaXMuX3hoci5yZXNwb25zZVRleHQpO2NvbnNvbGUuYXNzZXJ0KEFycmF5LmlzQXJyYXkoZCksIkV4cGVjdGVkIHJlc3BvbnNlIHRvIGJlIGluIGFuIGFycmF5Iik7dGhpcy5faXRlbXM9ZH10aGlzLl9yZXRyeSh0aGlzLl9nZXRTbGVlcCgpKX0sX3JldHJ5KGQpe3RoaXMuX3RpbWVyPXdpbmRvdy5zZXRUaW1lb3V0KHRoaXMuX2xvYWQuYmluZCh0aGlzKSxkKX0sX2dldFNsZWVwKCl7cmV0dXJuIDFFMy8oMD09PXRoaXMuZnBzPzE6dGhpcy5mcHMpfSxfY2xlYXIoKXt0aGlzLl90aW1lciYmKHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5fdGltZXIpLHRoaXMuX3RpbWVyPW51bGwpO3RoaXMuX3hociYmCih0aGlzLl94aHIucmVhZHlTdGF0ZTxYTUxIdHRwUmVxdWVzdC5ET05FJiZ0aGlzLl94aHIuYWJvcnQoKSx0aGlzLl94aHI9bnVsbCl9LF9mcHNDaGFuZ2VkKGQsZil7MD09ZD90aGlzLl9jbGVhcigpOjA9PWYmJnRoaXMuX2xvYWQoKX19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtYmVob2xkZXItZGFzaGJvYXJkL3RmLWJlaG9sZGVyLWRhc2hib2FyZC5odG1sLmpzCihmdW5jdGlvbigpe1BvbHltZXIoe2lzOiJ0Zi1iZWhvbGRlci1kYXNoYm9hcmQiLHByb3BlcnRpZXM6e19yZXF1ZXN0TWFuYWdlcjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9Pm5ldyBkYy5SZXF1ZXN0TWFuYWdlcigxMCwwKX0sX2lzQXZhaWxhYmxlOkJvb2xlYW4sX3ZhbHVlczp7dHlwZTpTdHJpbmcsdmFsdWU6InRyYWluYWJsZV92YXJpYWJsZXMiLG9ic2VydmVyOiJfY29uZmlnQ2hhbmdlZCJ9LF9tb2RlOnt0eXBlOlN0cmluZyx2YWx1ZToidmFyaWFuY2UiLG9ic2VydmVyOiJfY29uZmlnQ2hhbmdlZCJ9LF9zY2FsaW5nOnt0eXBlOlN0cmluZyx2YWx1ZToibGF5ZXIiLG9ic2VydmVyOiJfY29uZmlnQ2hhbmdlZCJ9LF93aW5kb3dTaXplOnt0eXBlOk51bWJlcix2YWx1ZToxNSxvYnNlcnZlcjoiX2NvbmZpZ0NoYW5nZWQifSxfcHJldmlvdXNGUFM6e3R5cGU6TnVtYmVyLHZhbHVlOjMwfSxfRlBTOnt0eXBlOk51bWJlcix2YWx1ZToxMCxvYnNlcnZlcjoiX2NvbmZpZ0NoYW5nZWQifSwKX3JlY29yZFRleHQ6e3R5cGU6U3RyaW5nLHZhbHVlOiJzdGFydCByZWNvcmRpbmcifSxfaXNSZWNvcmRpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxvYnNlcnZlcjoiX2NvbmZpZ0NoYW5nZWQifSxfc2hvd0FsbDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfY29uZmlnQ2hhbmdlZCJ9LF9jb2xvcm1hcDp7dHlwZTpTdHJpbmcsdmFsdWU6Im1hZ21hIixvYnNlcnZlcjoiX2NvbmZpZ0NoYW5nZWQifSxfaXNfYWN0aXZlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsb2JzZXJ2ZXI6Il9jb25maWdDaGFuZ2VkIn0sX2NvbnRyb2xzX2Rpc2FibGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsb2JzZXJ2ZXI6Il9jb25maWdDaGFuZ2VkIn19LF92YWx1ZXNOb3RGcmFtZShiKXtyZXR1cm4iZnJhbWVzIiE9PWJ9LF92YXJpYW5jZVNlbGVjdGVkKGIpe3JldHVybiJ2YXJpYW5jZSI9PT1ifSxfY29uZmlnQ2hhbmdlZCgpe2lmKHRoaXMuX2lzX2FjdGl2ZSYmIXRoaXMuX2NvbnRyb2xzX2Rpc2FibGVkKXt2YXIgYj0KW3RoaXMuX3ZhbHVlcyx0aGlzLl9tb2RlLHRoaXMuX3NjYWxpbmcsdGhpcy5fd2luZG93U2l6ZSx0aGlzLl9GUFMsdGhpcy5faXNSZWNvcmRpbmcsdGhpcy5fc2hvd0FsbCx0aGlzLl9jb2xvcm1hcF0sZDtmb3IoZCBvZiBiKWlmKCJ1bmRlZmluZWQiPT09dHlwZW9mIGR8fCIiPT09ZClyZXR1cm47Yj1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiYmVob2xkZXIiLCIvY2hhbmdlLWNvbmZpZyIpO3RoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QoYix7dmFsdWVzOnRoaXMuX3ZhbHVlcyxtb2RlOnRoaXMuX21vZGUsc2NhbGluZzp0aGlzLl9zY2FsaW5nLHdpbmRvd19zaXplOnRoaXMuX3dpbmRvd1NpemUsRlBTOnRoaXMuX0ZQUyxpc19yZWNvcmRpbmc6dGhpcy5faXNSZWNvcmRpbmcsc2hvd19hbGw6dGhpcy5fc2hvd0FsbCxjb2xvcm1hcDp0aGlzLl9jb2xvcm1hcH0pfX0sX3RvZ2dsZVJlY29yZCgpeyJzdGFydCByZWNvcmRpbmciPT10aGlzLl9yZWNvcmRUZXh0Pyh0aGlzLnNldCgiX3JlY29yZFRleHQiLAoic3RvcCByZWNvcmRpbmciKSx0aGlzLnNldCgiX2lzUmVjb3JkaW5nIiwhMCkpOih0aGlzLnNldCgiX3JlY29yZFRleHQiLCJzdGFydCByZWNvcmRpbmciKSx0aGlzLnNldCgiX2lzUmVjb3JkaW5nIiwhMSkpO3RoaXMuJC5yZWNvcmRfYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUoImlzLXJlY29yZGluZyIpfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QoZGMuZ2V0Um91dGVyKCkucGx1Z2luc0xpc3RpbmcoKSkudGhlbihiPT57ImJlaG9sZGVyImluIGI/KHRoaXMuJC5pbml0aWFsRGlhbG9nLmNsb3NlRGlhbG9nKCksdGhpcy5zZXQoIl9pc0F2YWlsYWJsZSIsITApKToodGhpcy4kLmluaXRpYWxEaWFsb2cub3Blbk5vVGVuc29yRmxvd0RpYWxvZygpLHRoaXMuc2V0KCJfaXNBdmFpbGFibGUiLCExKSl9KX0scmVhZHkoKXt0aGlzLnJlbG9hZCgpfSxyZWxvYWQoKXtpZih0aGlzLl9pc0F2YWlsYWJsZSl7Y29uc3QgYj1kYy5nZXRSb3V0ZXIoKS5wbHVnaW5Sb3V0ZSgiYmVob2xkZXIiLAoiL2lzLWFjdGl2ZSIpO3RoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QoYikudGhlbihkPT57dGhpcy5zZXQoIl9pc19hY3RpdmUiLGQuaXNfYWN0aXZlKTt0aGlzLnNldCgiX2NvbnRyb2xzX2Rpc2FibGVkIiwhZC5pc19jb25maWdfd3JpdGFibGUpfSl9fX0pO3BlLnJlZ2lzdGVyRGFzaGJvYXJkKCl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3ZhYWRpbi1zcGxpdC1sYXlvdXQvdmFhZGluLXNwbGl0LWxheW91dC5odG1sLmpzClBvbHltZXIoe2lzOiJ2YWFkaW4tc3BsaXQtbGF5b3V0IixiZWhhdmlvcnM6W1BvbHltZXIuSXJvblJlc2l6YWJsZUJlaGF2aW9yXSxwcm9wZXJ0aWVzOnt2ZXJ0aWNhbDp7dHlwZTpCb29sZWFuLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCx2YWx1ZTohMX0sX3ByZXZpb3VzUHJpbWFyeVBvaW50ZXJFdmVudHM6U3RyaW5nLF9wcmV2aW91c1NlY29uZGFyeVBvaW50ZXJFdmVudHM6U3RyaW5nfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX29ic2VydmVyPVBvbHltZXIuZG9tKHRoaXMpLm9ic2VydmVOb2Rlcyh0aGlzLl9wcm9jZXNzQ2hpbGRyZW4pfSxkZXRhY2hlZDpmdW5jdGlvbigpe1BvbHltZXIuZG9tKHRoaXMpLnVub2JzZXJ2ZU5vZGVzKHRoaXMuX29ic2VydmVyKX0sX3Byb2Nlc3NDaGlsZHJlbjpmdW5jdGlvbigpe3RoaXMuZ2V0RWZmZWN0aXZlQ2hpbGRyZW4oKS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIGIuY2xhc3NMaXN0LmNvbnRhaW5zKCJzcGxpdHRlci1oYW5kbGUiKT8KKFBvbHltZXIuZG9tKGIpLnNldEF0dHJpYnV0ZSgic2xvdCIsImhhbmRsZSIpLCExKTohMH0pLmZvckVhY2goZnVuY3Rpb24oYixkKXswPT09ZD8odGhpcy5fcHJpbWFyeUNoaWxkPWIsUG9seW1lci5kb20oYikuc2V0QXR0cmlidXRlKCJzbG90IiwicHJpbWFyeSIpKToxPT1kPyh0aGlzLl9zZWNvbmRhcnlDaGlsZD1iLFBvbHltZXIuZG9tKGIpLnNldEF0dHJpYnV0ZSgic2xvdCIsInNlY29uZGFyeSIpKTpQb2x5bWVyLmRvbShiKS5yZW1vdmVBdHRyaWJ1dGUoInNsb3QiKX0uYmluZCh0aGlzKSl9LF9zZXRGbGV4QmFzaXM6ZnVuY3Rpb24oYixkLGYpe2Q9TWF0aC5tYXgoMCxNYXRoLm1pbihkLGYpKTswPT09ZCYmKGQ9MUUtNik7Yi5zdHlsZS5mbGV4PSIxIDEgIitkKyJweCJ9LF9vbkhhbmRsZVRyYWNrOmZ1bmN0aW9uKGIpe2lmKHRoaXMuX3ByaW1hcnlDaGlsZCYmdGhpcy5fc2Vjb25kYXJ5Q2hpbGQpe3ZhciBkPXRoaXMudmVydGljYWw/ImhlaWdodCI6IndpZHRoIjsic3RhcnQiPT09CmIuZGV0YWlsLnN0YXRlPyh0aGlzLl9zdGFydFNpemU9e2NvbnRhaW5lcjp0aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW2RdLXRoaXMuJC5zcGxpdHRlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVtkXSxwcmltYXJ5OnRoaXMuX3ByaW1hcnlDaGlsZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVtkXSxzZWNvbmRhcnk6dGhpcy5fc2Vjb25kYXJ5Q2hpbGQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClbZF19LHRoaXMuX3ByZXZpb3VzUHJpbWFyeVBvaW50ZXJFdmVudHM9dGhpcy5fcHJpbWFyeUNoaWxkLnN0eWxlLnBvaW50ZXJFdmVudHMsdGhpcy5fcHJldmlvdXNTZWNvbmRhcnlQb2ludGVyRXZlbnRzPXRoaXMuX3NlY29uZGFyeUNoaWxkLnN0eWxlLnBvaW50ZXJFdmVudHMsdGhpcy5fcHJpbWFyeUNoaWxkLnN0eWxlLnBvaW50ZXJFdmVudHM9Im5vbmUiLHRoaXMuX3NlY29uZGFyeUNoaWxkLnN0eWxlLnBvaW50ZXJFdmVudHM9Im5vbmUiKTooZD10aGlzLnZlcnRpY2FsP2IuZGV0YWlsLmR5OgpiLmRldGFpbC5keCx0aGlzLl9zZXRGbGV4QmFzaXModGhpcy5fcHJpbWFyeUNoaWxkLHRoaXMuX3N0YXJ0U2l6ZS5wcmltYXJ5K2QsdGhpcy5fc3RhcnRTaXplLmNvbnRhaW5lciksdGhpcy5fc2V0RmxleEJhc2lzKHRoaXMuX3NlY29uZGFyeUNoaWxkLHRoaXMuX3N0YXJ0U2l6ZS5zZWNvbmRhcnktZCx0aGlzLl9zdGFydFNpemUuY29udGFpbmVyKSx0aGlzLm5vdGlmeVJlc2l6ZSgpLCJlbmQiPT09Yi5kZXRhaWwuc3RhdGUmJihkZWxldGUgdGhpcy5fc3RhcnRTaXplLHRoaXMuX3ByaW1hcnlDaGlsZC5zdHlsZS5wb2ludGVyRXZlbnRzPXRoaXMuX3ByZXZpb3VzUHJpbWFyeVBvaW50ZXJFdmVudHMsdGhpcy5fc2Vjb25kYXJ5Q2hpbGQuc3R5bGUucG9pbnRlckV2ZW50cz10aGlzLl9wcmV2aW91c1NlY29uZGFyeVBvaW50ZXJFdmVudHMpKX19LF9wcmV2ZW50RGVmYXVsdDpmdW5jdGlvbihiKXtiLnByZXZlbnREZWZhdWx0KCl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy1xdWVyeS1wYW5lL3RmLWhwYXJhbXMtcXVlcnktcGFuZS5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1ocGFyYW1zLXF1ZXJ5LXBhbmUiLHByb3BlcnRpZXM6e2JhY2tlbmQ6T2JqZWN0LGV4cGVyaW1lbnROYW1lOlN0cmluZyxjb25maWd1cmF0aW9uOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+KHtzY2hlbWE6e2hwYXJhbUNvbHVtbnM6W10sbWV0cmljQ29sdW1uczpbXX0sY29sdW1uc1Zpc2liaWxpdHk6W10sdmlzaWJsZVNjaGVtYTp7aHBhcmFtSW5mb3M6W10sbWV0cmljSW5mb3M6W119fSkscmVhZE9ubHk6ITAsbm90aWZ5OiEwfSxzZXNzaW9uR3JvdXBzOnt0eXBlOkFycmF5LHZhbHVlOigpPT5bXSxyZWFkT25seTohMCxub3RpZnk6ITB9LF9leHBlcmltZW50Ok9iamVjdCxfaHBhcmFtczpBcnJheSxfbWV0cmljczpBcnJheSxfc3RhdHVzZXM6e3R5cGU6QXJyYXksdmFsdWU6KCk9Plt7dmFsdWU6IlNUQVRVU19VTktOT1dOIixkaXNwbGF5TmFtZToiVW5rbm93biIsYWxsb3dlZDohMH0se3ZhbHVlOiJTVEFUVVNfU1VDQ0VTUyIsZGlzcGxheU5hbWU6IlN1Y2Nlc3MiLAphbGxvd2VkOiEwfSx7dmFsdWU6IlNUQVRVU19GQUlMVVJFIixkaXNwbGF5TmFtZToiRmFpbHVyZSIsYWxsb3dlZDohMH0se3ZhbHVlOiJTVEFUVVNfUlVOTklORyIsZGlzcGxheU5hbWU6IlJ1bm5pbmciLGFsbG93ZWQ6ITB9XX0sX2dldEV4cGVyaW1lbnRSZXNvbHZlZDp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoYj0+e3RoaXMuX3Jlc29sdmVHZXRFeHBlcmltZW50PWJ9KX19LF9yZXNvbHZlR2V0RXhwZXJpbWVudDpGdW5jdGlvbixfbGlzdFNlc3Npb25Hcm91cHNDYW5jZWxsZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuQ2FuY2VsbGVyfSxfc29ydEJ5SW5kZXg6TnVtYmVyLF9zb3J0RGlyZWN0aW9uOk51bWJlcixfcGFnZVNpemVJbnB1dDp7dHlwZTpPYmplY3QsdmFsdWU6e3ZhbHVlOiIxMDAiLGludmFsaWQ6ITF9fSxfcGFnZU51bWJlcklucHV0Ont0eXBlOk9iamVjdCx2YWx1ZTp7dmFsdWU6IjEiLGludmFsaWQ6ITF9fSwKX3BhZ2VDb3VudFN0cjp7dHlwZTpTdHJpbmcsdmFsdWU6Ij8ifSxfdG90YWxTZXNzaW9uR3JvdXBzQ291bnRTdHI6U3RyaW5nLF9zZXNzaW9uR3JvdXBzUmVxdWVzdDpPYmplY3R9LG9ic2VydmVyczpbIl9jb21wdXRlRXhwZXJpbWVudEFuZFJlbGF0ZWRQcm9wcyhiYWNrZW5kLCBleHBlcmltZW50TmFtZSkiLCJfdXBkYXRlQ29uZmlndXJhdGlvbihfaHBhcmFtcy4qLCBfbWV0cmljcy4qKSJdLHJlbG9hZCgpe3RoaXMuX3F1ZXJ5U2VydmVyKCl9LF9jc3ZVcmwoYixkKXtyZXR1cm4gdGhpcy5fZG93bmxvYWREYXRhVXJsKGIsZCwiY3N2Iil9LF9qc29uVXJsKGIsZCl7cmV0dXJuIHRoaXMuX2Rvd25sb2FkRGF0YVVybChiLGQsImpzb24iKX0sX2xhdGV4VXJsKGIsZCl7cmV0dXJuIHRoaXMuX2Rvd25sb2FkRGF0YVVybChiLGQsImxhdGV4Iil9LF9kb3dubG9hZERhdGFVcmwoYixkLGYpe3JldHVybiB0aGlzLmJhY2tlbmQuZ2V0RG93bmxvYWRVcmwoZixiLGQuY29sdW1uc1Zpc2liaWxpdHkpfSwKX2NvbXB1dGVFeHBlcmltZW50QW5kUmVsYXRlZFByb3BzKCl7Y29uc3QgYj10Zi5ocGFyYW1zLnV0aWxzO2IuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5iYWNrZW5kKXx8Yi5pc051bGxPclVuZGVmaW5lZCh0aGlzLmV4cGVyaW1lbnROYW1lKXx8dGhpcy5iYWNrZW5kLmdldEV4cGVyaW1lbnQoe2V4cGVyaW1lbnROYW1lOnRoaXMuZXhwZXJpbWVudE5hbWV9KS50aGVuKGQ9PntfLmlzRXF1YWwoZCx0aGlzLl9leHBlcmltZW50KXx8KHRoaXMuc2V0KCJfZXhwZXJpbWVudCIsZCksdGhpcy5fY29tcHV0ZUhQYXJhbXMoKSx0aGlzLl9jb21wdXRlTWV0cmljcygpLHRoaXMuX3F1ZXJ5U2VydmVyKCksdGhpcy5fcmVzb2x2ZUdldEV4cGVyaW1lbnQoKSl9KX0sX2NvbXB1dGVIUGFyYW1zKCl7Y29uc3QgYj1bXTt0aGlzLl9leHBlcmltZW50LmhwYXJhbUluZm9zLmZvckVhY2goKGQsZik9Pntjb25zdCBoPXtpbmZvOmQsZGlzcGxheWVkOjU+ZixmaWx0ZXI6e319O2guaW5mby5oYXNPd25Qcm9wZXJ0eSgiZG9tYWluRGlzY3JldGUiKT8KKGguZmlsdGVyLmRvbWFpbkRpc2NyZXRlPVtdLGguaW5mby5kb21haW5EaXNjcmV0ZS5mb3JFYWNoKGs9PntoLmZpbHRlci5kb21haW5EaXNjcmV0ZS5wdXNoKHt2YWx1ZTprLGNoZWNrZWQ6ITB9KX0pKToiREFUQV9UWVBFX0JPT0wiPT09aC5pbmZvLnR5cGU/aC5maWx0ZXIuZG9tYWluRGlzY3JldGU9W3t2YWx1ZTohMSxjaGVja2VkOiEwfSx7dmFsdWU6ITAsY2hlY2tlZDohMH1dOiJEQVRBX1RZUEVfRkxPQVQ2NCI9PT1oLmluZm8udHlwZT9oLmZpbHRlci5pbnRlcnZhbD17bWluOnt2YWx1ZToiIixpbnZhbGlkOiExfSxtYXg6e3ZhbHVlOiIiLGludmFsaWQ6ITF9fToiREFUQV9UWVBFX1NUUklORyI9PT1oLmluZm8udHlwZT9oLmZpbHRlci5yZWdleHA9IiI6Y29uc29sZS53YXJuKCJ1bmtub3duIGhwYXJhbS5pbmZvLnR5cGU6ICVzIixoLmluZm8udHlwZSk7Yi5wdXNoKGgpfSk7dGhpcy5zZXQoIl9ocGFyYW1zIixiKX0sX2NvbXB1dGVNZXRyaWNzKCl7Y29uc3QgYj1bXTt0aGlzLl9leHBlcmltZW50Lm1ldHJpY0luZm9zLmZvckVhY2goKGQsCmYpPT57Yi5wdXNoKHtpbmZvOmQsZmlsdGVyOntpbnRlcnZhbDp7bWluOnt2YWx1ZToiIixpbnZhbGlkOiExfSxtYXg6e3ZhbHVlOiIiLGludmFsaWQ6ITF9fX0sZGlzcGxheWVkOjU+Zn0pfSk7dGhpcy5zZXQoIl9tZXRyaWNzIixiKX0sX2NvbXB1dGVTY2hlbWEoKXtyZXR1cm4gdGhpcy5faHBhcmFtcyYmdGhpcy5fbWV0cmljcz97aHBhcmFtQ29sdW1uczp0aGlzLl9ocGFyYW1zLm1hcChiPT4oe2hwYXJhbUluZm86Yi5pbmZvfSkpLG1ldHJpY0NvbHVtbnM6dGhpcy5fbWV0cmljcy5tYXAoYj0+KHttZXRyaWNJbmZvOmIuaW5mb30pKX06e2hwYXJhbUNvbHVtbnM6W10sbWV0cmljQ29sdW1uczpbXX19LF91cGRhdGVDb25maWd1cmF0aW9uKCl7dGhpcy5kZWJvdW5jZSgiX3VwZGF0ZUNvbmZpZ3VyYXRpb24iLCgpPT57dGhpcy5fc2V0Q29uZmlndXJhdGlvbih7c2NoZW1hOnRoaXMuX2NvbXB1dGVTY2hlbWEoKSxjb2x1bW5zVmlzaWJpbGl0eTp0aGlzLl9jb21wdXRlQ29sdW1uc1Zpc2liaWxpdHkoKSwKdmlzaWJsZVNjaGVtYTp0aGlzLl9jb21wdXRlVmlzaWJsZVNjaGVtYSgpfSl9KX0sX2NvbXB1dGVDb2x1bW5zVmlzaWJpbGl0eSgpe3JldHVybiB0aGlzLl9ocGFyYW1zJiZ0aGlzLl9tZXRyaWNzP3RoaXMuX2hwYXJhbXMubWFwKGI9PmIuZGlzcGxheWVkKS5jb25jYXQodGhpcy5fbWV0cmljcy5tYXAoYj0+Yi5kaXNwbGF5ZWQpKTpbXX0sX2NvbXB1dGVWaXNpYmxlU2NoZW1hKCl7aWYoIXRoaXMuX2hwYXJhbXN8fCF0aGlzLl9tZXRyaWNzKXJldHVybntocGFyYW1JbmZvczpbXSxtZXRyaWNJbmZvczpbXX07Y29uc3QgYj10aGlzLl9ocGFyYW1zLmZpbHRlcihmPT5mLmRpc3BsYXllZCkubWFwKGY9PmYuaW5mbyksZD10aGlzLl9tZXRyaWNzLmZpbHRlcihmPT5mLmRpc3BsYXllZCkubWFwKGY9PmYuaW5mbyk7cmV0dXJue2hwYXJhbUluZm9zOmIsbWV0cmljSW5mb3M6ZH19LF9xdWVyeVNlcnZlcigpe3RoaXMuZGVib3VuY2UoInF1ZXJ5U2VydmVyIiwoKT0+dGhpcy5fcXVlcnlTZXJ2ZXJOb0RlYm91bmNlKCksCjEwMCl9LF9xdWVyeVNlcnZlck5vRGVib3VuY2UoKXtyZXR1cm4gdGhpcy5fc2VuZExpc3RTZXNzaW9uR3JvdXBzUmVxdWVzdCgpLnRoZW4odGhpcy5fbGlzdFNlc3Npb25Hcm91cHNDYW5jZWxsZXIuY2FuY2VsbGFibGUoKHt2YWx1ZTpiLGNhbmNlbGxlZDpkfSk9PntkfHwoMDw9Yi50b3RhbFNpemU/KHRoaXMuc2V0KCJfcGFnZUNvdW50U3RyIixTdHJpbmcoTWF0aC5jZWlsKGIudG90YWxTaXplLyt0aGlzLl9wYWdlU2l6ZUlucHV0LnZhbHVlKSkpLHRoaXMuc2V0KCJfdG90YWxTZXNzaW9uR3JvdXBzQ291bnRTdHIiLGIudG90YWxTaXplKSk6KHRoaXMuc2V0KCJfcGFnZUNvdW50U3RyIiwiPyIpLHRoaXMuc2V0KCJfdG90YWxTZXNzaW9uR3JvdXBzQ291bnRTdHIiLCJVbmtub3duIikpLHRmLmhwYXJhbXMudXRpbHMuc2V0QXJyYXlPYnNlcnZhYmx5KHRoaXMsYi5zZXNzaW9uR3JvdXBzKSl9KSl9LF9zZW5kTGlzdFNlc3Npb25Hcm91cHNSZXF1ZXN0KCl7Y29uc3QgYj10aGlzLl9idWlsZExpc3RTZXNzaW9uR3JvdXBzUmVxdWVzdCgpOwppZihudWxsIT09YilyZXR1cm4gdGhpcy5zZXQoIl9zZXNzaW9uR3JvdXBzUmVxdWVzdCIsYiksdGhpcy5fbGlzdFNlc3Npb25Hcm91cHNDYW5jZWxsZXIuY2FuY2VsQWxsKCksdGhpcy5iYWNrZW5kLmxpc3RTZXNzaW9uR3JvdXBzKGIpfSxfYnVpbGRMaXN0U2Vzc2lvbkdyb3Vwc1JlcXVlc3QoKXtmdW5jdGlvbiBiKG0pe3ZhciBuPWYuZ2V0KG0rIi5taW4udmFsdWUiKTtjb25zb2xlLmFzc2VydCh2b2lkIDAhPT1uKTtuPSIiPT09bj8iLUluZmluaXR5IjorbjtmLnNldChtKyIubWluLmludmFsaWQiLGlzTmFOKG4pKTtoPWgmJiFpc05hTihuKTt2YXIgcT1mLmdldChtKyIubWF4LnZhbHVlIik7Y29uc29sZS5hc3NlcnQodm9pZCAwIT09cSk7cT0iIj09PXE/IkluZmluaXR5IjorcTtmLnNldChtKyIubWF4LmludmFsaWQiLGlzTmFOKHEpKTtoPWgmJiFpc05hTihxKTtyZXR1cm4gaXNOYU4obil8fGlzTmFOKHEpP251bGw6e21pblZhbHVlOm4sbWF4VmFsdWU6cX19ZnVuY3Rpb24gZChtKXt2YXIgbj0KZi5nZXQobSsiLnZhbHVlIik7Y29uc29sZS5hc3NlcnQodm9pZCAwIT09bik7bj0rbjtjb25zdCBxPU51bWJlci5pc0ludGVnZXIobikmJjA8bjtmLnNldChtKyIuaW52YWxpZCIsIXEpO2g9aCYmcTtyZXR1cm4gcT9uOm51bGx9Y29uc3QgZj10aGlzO2xldCBoPSEwO2NvbnN0IGs9dGhpcy5fc3RhdHVzZXMuZmlsdGVyKG09Pm0uYWxsb3dlZCkubWFwKG09Pm0udmFsdWUpO2xldCByPVtdO3RoaXMuX2hwYXJhbXMuZm9yRWFjaCgobSxuKT0+e2xldCBxPXtocGFyYW06bS5pbmZvLm5hbWV9O2lmKG0uZmlsdGVyLmRvbWFpbkRpc2NyZXRlKXEuZmlsdGVyRGlzY3JldGU9W10sbS5maWx0ZXIuZG9tYWluRGlzY3JldGUuZm9yRWFjaCh1PT57dS5jaGVja2VkJiZxLmZpbHRlckRpc2NyZXRlLnB1c2godS52YWx1ZSl9KTtlbHNlIGlmKG0uZmlsdGVyLmludGVydmFsKXEuZmlsdGVySW50ZXJ2YWw9YigiX2hwYXJhbXMuIituKyIuZmlsdGVyLmludGVydmFsIik7ZWxzZSBpZihtLmZpbHRlci5yZWdleHApcS5maWx0ZXJSZWdleHA9Cm0uZmlsdGVyLnJlZ2V4cDtlbHNlIHJldHVybiBjb25zb2xlLmVycm9yKCJocGFyYW0uZmlsdGVyIHdpdGggbm8gZG9tYWluRGlzY3JldGUsIGludGVydmFsIG9yIHJlZ2V4cCBwcm9wZXJ0aWVzIHNldDogJXMiLG0pLG51bGw7ci5wdXNoKHEpfSk7dGhpcy5fbWV0cmljcy5mb3JFYWNoKChtLG4pPT57bT17bWV0cmljOm0uaW5mby5uYW1lLGZpbHRlckludGVydmFsOmIoIl9tZXRyaWNzLiIrbisiLmZpbHRlci5pbnRlcnZhbCIpfTtyLnB1c2gobSl9KTtpZih2b2lkIDAhPT10aGlzLl9zb3J0QnlJbmRleCYmdm9pZCAwIT09dGhpcy5fc29ydERpcmVjdGlvbil7aWYoISh0aGlzLl9zb3J0QnlJbmRleCBpbiByKSlyZXR1cm4gY29uc29sZS5lcnJvcigiTm8gY29sdW1uIGluIGNvbFBhcmFtcyB3aXRoIGluZGV4IHNvcnRCeUluZGV4OiAlcyIsdGhpcy5fc29ydEJ5SW5kZXgpLG51bGw7clt0aGlzLl9zb3J0QnlJbmRleF0ub3JkZXI9MD09PXRoaXMuX3NvcnREaXJlY3Rpb24/Ik9SREVSX0FTQyI6CiJPUkRFUl9ERVNDIn1jb25zdCBsPWQoIl9wYWdlTnVtYmVySW5wdXQiKSxwPWQoIl9wYWdlU2l6ZUlucHV0Iik7cmV0dXJuIGg/e2V4cGVyaW1lbnROYW1lOnRoaXMuZXhwZXJpbWVudE5hbWUsYWxsb3dlZFN0YXR1c2VzOmssY29sUGFyYW1zOnIsc3RhcnRJbmRleDpwKihsLTEpLHNsaWNlU2l6ZTpwfTpudWxsfSxfbWV0cmljU29ydEJ5SW5kZXgoYil7cmV0dXJuIGIrdGhpcy5faHBhcmFtcy5sZW5ndGh9LF9ocGFyYW1OYW1lOnRmLmhwYXJhbXMudXRpbHMuaHBhcmFtTmFtZSxfbWV0cmljTmFtZTp0Zi5ocGFyYW1zLnV0aWxzLm1ldHJpY05hbWUsX3ByZXR0eVByaW50OnRmLmhwYXJhbXMudXRpbHMucHJldHR5UHJpbnR9KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9pcm9uLXBhZ2VzL2lyb24tcGFnZXMuaHRtbC5qcwpQb2x5bWVyKHtpczoiaXJvbi1wYWdlcyIsYmVoYXZpb3JzOltQb2x5bWVyLklyb25SZXNpemFibGVCZWhhdmlvcixQb2x5bWVyLklyb25TZWxlY3RhYmxlQmVoYXZpb3JdLHByb3BlcnRpZXM6e2FjdGl2YXRlRXZlbnQ6e3R5cGU6U3RyaW5nLHZhbHVlOm51bGx9fSxvYnNlcnZlcnM6WyJfc2VsZWN0ZWRQYWdlQ2hhbmdlZChzZWxlY3RlZCkiXSxfc2VsZWN0ZWRQYWdlQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuYXN5bmModGhpcy5ub3RpZnlSZXNpemUpfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3BhcGVyLWhlYWRlci1wYW5lbC9wYXBlci1oZWFkZXItcGFuZWwuaHRtbC5qcwooZnVuY3Rpb24oKXt2YXIgYj17c2Nyb2xsOiEwfSxkPXtzdGFuZGFyZDoyLHdhdGVyZmFsbDoxLCJ3YXRlcmZhbGwtdGFsbCI6MX0sZj17IndhdGVyZmFsbC10YWxsIjohMH07UG9seW1lcih7aXM6InBhcGVyLWhlYWRlci1wYW5lbCIscHJvcGVydGllczp7bW9kZTp7dHlwZTpTdHJpbmcsdmFsdWU6InN0YW5kYXJkIixvYnNlcnZlcjoiX21vZGVDaGFuZ2VkIixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LHNoYWRvdzp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSx0YWxsQ2xhc3M6e3R5cGU6U3RyaW5nLHZhbHVlOiJ0YWxsIn0sYXRUb3A6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMCxub3RpZnk6ITAscmVhZE9ubHk6ITAscmVmbGVjdFRvQXR0cmlidXRlOiEwfX0sb2JzZXJ2ZXJzOlsiX2NvbXB1dGVEcm9wU2hhZG93SGlkZGVuKGF0VG9wLCBtb2RlLCBzaGFkb3cpIl0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9hZGRMaXN0ZW5lcigpO3RoaXMuX2tlZXBTY3JvbGxpbmdTdGF0ZSgpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX3JlbW92ZUxpc3RlbmVyKCl9LApyZWFkeTpmdW5jdGlvbigpe3RoaXMuc2Nyb2xsSGFuZGxlcj10aGlzLl9zY3JvbGwuYmluZCh0aGlzKTtjb25zb2xlLndhcm4odGhpcy5pcywiaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBhcHAtbGF5b3V0IGluc3RlYWQhIil9LGdldCBoZWFkZXIoKXtyZXR1cm4gUG9seW1lci5kb20odGhpcy4kLmhlYWRlclNsb3QpLmdldERpc3RyaWJ1dGVkTm9kZXMoKVswXX0sZ2V0IHNjcm9sbGVyKCl7cmV0dXJuIHRoaXMuX2dldFNjcm9sbGVyRm9yTW9kZSh0aGlzLm1vZGUpfSxnZXQgdmlzaWJsZVNoYWRvdygpe3JldHVybiB0aGlzLiQuZHJvcFNoYWRvdy5jbGFzc0xpc3QuY29udGFpbnMoImhhcy1zaGFkb3ciKX0sX2NvbXB1dGVEcm9wU2hhZG93SGlkZGVuOmZ1bmN0aW9uKGgsayl7az1kW2tdO3RoaXMuc2hhZG93P3RoaXMudG9nZ2xlQ2xhc3MoImhhcy1zaGFkb3ciLCEwLHRoaXMuJC5kcm9wU2hhZG93KToyPT09az90aGlzLnRvZ2dsZUNsYXNzKCJoYXMtc2hhZG93IiwhMCx0aGlzLiQuZHJvcFNoYWRvdyk6CjEhPT1rfHxoP3RoaXMudG9nZ2xlQ2xhc3MoImhhcy1zaGFkb3ciLCExLHRoaXMuJC5kcm9wU2hhZG93KTp0aGlzLnRvZ2dsZUNsYXNzKCJoYXMtc2hhZG93IiwhMCx0aGlzLiQuZHJvcFNoYWRvdyl9LF9jb21wdXRlTWFpbkNvbnRhaW5lckNsYXNzOmZ1bmN0aW9uKGgpe3ZhciBrPXt9O2suZmxleD0iY292ZXIiIT09aDtyZXR1cm4gT2JqZWN0LmtleXMoaykuZmlsdGVyKGZ1bmN0aW9uKHIpe3JldHVybiBrW3JdfSkuam9pbigiICIpfSxfYWRkTGlzdGVuZXI6ZnVuY3Rpb24oKXt0aGlzLnNjcm9sbGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5zY3JvbGxIYW5kbGVyKX0sX3JlbW92ZUxpc3RlbmVyOmZ1bmN0aW9uKCl7dGhpcy5zY3JvbGxlci5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuc2Nyb2xsSGFuZGxlcil9LF9tb2RlQ2hhbmdlZDpmdW5jdGlvbihoLGspe3ZhciByPXRoaXMuaGVhZGVyO3ImJihmW2tdJiYhZltoXT8oci5jbGFzc0xpc3QucmVtb3ZlKHRoaXMudGFsbENsYXNzKSwKdGhpcy5hc3luYyhmdW5jdGlvbigpe3IuY2xhc3NMaXN0LnJlbW92ZSgiYW5pbWF0ZSIpfSwyMDApKTp0aGlzLnRvZ2dsZUNsYXNzKCJhbmltYXRlIixmW2hdLHIpKTt0aGlzLl9rZWVwU2Nyb2xsaW5nU3RhdGUoKX0sX2tlZXBTY3JvbGxpbmdTdGF0ZTpmdW5jdGlvbigpe3ZhciBoPXRoaXMuc2Nyb2xsZXIsaz10aGlzLmhlYWRlcjt0aGlzLl9zZXRBdFRvcCgwPT09aC5zY3JvbGxUb3ApO2smJnRoaXMudGFsbENsYXNzJiZmW3RoaXMubW9kZV0mJnRoaXMudG9nZ2xlQ2xhc3ModGhpcy50YWxsQ2xhc3MsdGhpcy5hdFRvcHx8ay5jbGFzc0xpc3QuY29udGFpbnModGhpcy50YWxsQ2xhc3MpJiZoLnNjcm9sbEhlaWdodDx0aGlzLm9mZnNldEhlaWdodCxrKX0sX3Njcm9sbDpmdW5jdGlvbigpe3RoaXMuX2tlZXBTY3JvbGxpbmdTdGF0ZSgpO3RoaXMuZmlyZSgiY29udGVudC1zY3JvbGwiLHt0YXJnZXQ6dGhpcy5zY3JvbGxlcn0se2J1YmJsZXM6ITF9KX0sX2dldFNjcm9sbGVyRm9yTW9kZTpmdW5jdGlvbihoKXtyZXR1cm4gYltoXT8KdGhpczp0aGlzLiQubWFpbkNvbnRhaW5lcn19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItdGFicy9wYXBlci10YWIuaHRtbC5qcwpQb2x5bWVyKHtpczoicGFwZXItdGFiIixiZWhhdmlvcnM6W1BvbHltZXIuSXJvbkNvbnRyb2xTdGF0ZSxQb2x5bWVyLklyb25CdXR0b25TdGF0ZSxQb2x5bWVyLlBhcGVyUmlwcGxlQmVoYXZpb3JdLHByb3BlcnRpZXM6e2xpbms6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9fSxob3N0QXR0cmlidXRlczp7cm9sZToidGFiIn0sbGlzdGVuZXJzOntkb3duOiJfdXBkYXRlTm9pbmsiLHRhcDoiX29uVGFwIn0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVOb2luaygpfSxnZXQgX3BhcmVudE5vaW5rKCl7dmFyIGI9UG9seW1lci5kb20odGhpcykucGFyZW50Tm9kZTtyZXR1cm4hIWImJiEhYi5ub2lua30sX3VwZGF0ZU5vaW5rOmZ1bmN0aW9uKCl7dGhpcy5ub2luaz0hIXRoaXMubm9pbmt8fCEhdGhpcy5fcGFyZW50Tm9pbmt9LF9vblRhcDpmdW5jdGlvbihiKXtpZih0aGlzLmxpbmspe3ZhciBkPXRoaXMucXVlcnlFZmZlY3RpdmVDaGlsZHJlbigiYSIpOwpkJiZiLnRhcmdldCE9PWQmJmQuY2xpY2soKX19fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vcGFwZXItdGFicy9wYXBlci10YWJzLmh0bWwuanMKUG9seW1lcih7aXM6InBhcGVyLXRhYnMiLGJlaGF2aW9yczpbUG9seW1lci5Jcm9uUmVzaXphYmxlQmVoYXZpb3IsUG9seW1lci5Jcm9uTWVudWJhckJlaGF2aW9yXSxwcm9wZXJ0aWVzOntub2luazp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfbm9pbmtDaGFuZ2VkIn0sbm9CYXI6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sbm9TbGlkZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxzY3JvbGxhYmxlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGZpdENvbnRhaW5lcjp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxkaXNhYmxlRHJhZzp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxoaWRlU2Nyb2xsQnV0dG9uczp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxhbGlnbkJvdHRvbTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxzZWxlY3RhYmxlOnt0eXBlOlN0cmluZyx2YWx1ZToicGFwZXItdGFiIn0sYXV0b3NlbGVjdDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxhdXRvc2VsZWN0RGVsYXk6e3R5cGU6TnVtYmVyLAp2YWx1ZTowfSxfc3RlcDp7dHlwZTpOdW1iZXIsdmFsdWU6MTB9LF9ob2xkRGVsYXk6e3R5cGU6TnVtYmVyLHZhbHVlOjF9LF9sZWZ0SGlkZGVuOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9yaWdodEhpZGRlbjp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfcHJldmlvdXNUYWI6e3R5cGU6T2JqZWN0fX0saG9zdEF0dHJpYnV0ZXM6e3JvbGU6InRhYmxpc3QifSxsaXN0ZW5lcnM6eyJpcm9uLXJlc2l6ZSI6Il9vblRhYlNpemluZ0NoYW5nZWQiLCJpcm9uLWl0ZW1zLWNoYW5nZWQiOiJfb25UYWJTaXppbmdDaGFuZ2VkIiwiaXJvbi1zZWxlY3QiOiJfb25Jcm9uU2VsZWN0IiwiaXJvbi1kZXNlbGVjdCI6Il9vbklyb25EZXNlbGVjdCJ9LGtleUJpbmRpbmdzOnsibGVmdDprZXl1cCByaWdodDprZXl1cCI6Il9vbkFycm93S2V5dXAifSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5faG9sZEpvYj1udWxsO3RoaXMuX3BlbmRpbmdBY3RpdmF0aW9uVGltZW91dD10aGlzLl9wZW5kaW5nQWN0aXZhdGlvbkl0ZW09CnZvaWQgMDt0aGlzLl9iaW5kRGVsYXllZEFjdGl2YXRpb25IYW5kbGVyPXRoaXMuX2RlbGF5ZWRBY3RpdmF0aW9uSGFuZGxlci5iaW5kKHRoaXMpO3RoaXMuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fb25CbHVyQ2FwdHVyZS5iaW5kKHRoaXMpLCEwKX0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLnNldFNjcm9sbERpcmVjdGlvbigieSIsdGhpcy4kLnRhYnNDb250YWluZXIpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2NhbmNlbFBlbmRpbmdBY3RpdmF0aW9uKCl9LF9ub2lua0NoYW5nZWQ6ZnVuY3Rpb24oYil7UG9seW1lci5kb20odGhpcykucXVlcnlTZWxlY3RvckFsbCgicGFwZXItdGFiIikuZm9yRWFjaChiP3RoaXMuX3NldE5vaW5rQXR0cmlidXRlOnRoaXMuX3JlbW92ZU5vaW5rQXR0cmlidXRlKX0sX3NldE5vaW5rQXR0cmlidXRlOmZ1bmN0aW9uKGIpe2Iuc2V0QXR0cmlidXRlKCJub2luayIsIiIpfSxfcmVtb3ZlTm9pbmtBdHRyaWJ1dGU6ZnVuY3Rpb24oYil7Yi5yZW1vdmVBdHRyaWJ1dGUoIm5vaW5rIil9LApfY29tcHV0ZVNjcm9sbEJ1dHRvbkNsYXNzOmZ1bmN0aW9uKGIsZCxmKXtyZXR1cm4hZHx8Zj8iaGlkZGVuIjpiPyJub3QtdmlzaWJsZSI6IiJ9LF9jb21wdXRlVGFic0NvbnRlbnRDbGFzczpmdW5jdGlvbihiLGQpe3JldHVybiBiPyJzY3JvbGxhYmxlIisoZD8iIGZpdC1jb250YWluZXIiOiIiKToiIGZpdC1jb250YWluZXIifSxfY29tcHV0ZVNlbGVjdGlvbkJhckNsYXNzOmZ1bmN0aW9uKGIsZCl7cmV0dXJuIGI/ImhpZGRlbiI6ZD8iYWxpZ24tYm90dG9tIjoiIn0sX29uVGFiU2l6aW5nQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuZGVib3VuY2UoIl9vblRhYlNpemluZ0NoYW5nZWQiLGZ1bmN0aW9uKCl7dGhpcy5fc2Nyb2xsKCk7dGhpcy5fdGFiQ2hhbmdlZCh0aGlzLnNlbGVjdGVkSXRlbSl9LDEwKX0sX29uSXJvblNlbGVjdDpmdW5jdGlvbihiKXt0aGlzLl90YWJDaGFuZ2VkKGIuZGV0YWlsLml0ZW0sdGhpcy5fcHJldmlvdXNUYWIpO3RoaXMuX3ByZXZpb3VzVGFiPWIuZGV0YWlsLml0ZW07CnRoaXMuY2FuY2VsRGVib3VuY2VyKCJ0YWItY2hhbmdlZCIpfSxfb25Jcm9uRGVzZWxlY3Q6ZnVuY3Rpb24oKXt0aGlzLmRlYm91bmNlKCJ0YWItY2hhbmdlZCIsZnVuY3Rpb24oKXt0aGlzLl90YWJDaGFuZ2VkKG51bGwsdGhpcy5fcHJldmlvdXNUYWIpO3RoaXMuX3ByZXZpb3VzVGFiPW51bGx9LDEpfSxfYWN0aXZhdGVIYW5kbGVyOmZ1bmN0aW9uKCl7dGhpcy5fY2FuY2VsUGVuZGluZ0FjdGl2YXRpb24oKTtQb2x5bWVyLklyb25NZW51QmVoYXZpb3JJbXBsLl9hY3RpdmF0ZUhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxfc2NoZWR1bGVBY3RpdmF0aW9uOmZ1bmN0aW9uKGIsZCl7dGhpcy5fcGVuZGluZ0FjdGl2YXRpb25JdGVtPWI7dGhpcy5fcGVuZGluZ0FjdGl2YXRpb25UaW1lb3V0PXRoaXMuYXN5bmModGhpcy5fYmluZERlbGF5ZWRBY3RpdmF0aW9uSGFuZGxlcixkKX0sX2RlbGF5ZWRBY3RpdmF0aW9uSGFuZGxlcjpmdW5jdGlvbigpe3ZhciBiPXRoaXMuX3BlbmRpbmdBY3RpdmF0aW9uSXRlbTsKdGhpcy5fcGVuZGluZ0FjdGl2YXRpb25UaW1lb3V0PXRoaXMuX3BlbmRpbmdBY3RpdmF0aW9uSXRlbT12b2lkIDA7Yi5maXJlKHRoaXMuYWN0aXZhdGVFdmVudCxudWxsLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITB9KX0sX2NhbmNlbFBlbmRpbmdBY3RpdmF0aW9uOmZ1bmN0aW9uKCl7dm9pZCAwIT09dGhpcy5fcGVuZGluZ0FjdGl2YXRpb25UaW1lb3V0JiYodGhpcy5jYW5jZWxBc3luYyh0aGlzLl9wZW5kaW5nQWN0aXZhdGlvblRpbWVvdXQpLHRoaXMuX3BlbmRpbmdBY3RpdmF0aW9uVGltZW91dD10aGlzLl9wZW5kaW5nQWN0aXZhdGlvbkl0ZW09dm9pZCAwKX0sX29uQXJyb3dLZXl1cDpmdW5jdGlvbigpe3RoaXMuYXV0b3NlbGVjdCYmdGhpcy5fc2NoZWR1bGVBY3RpdmF0aW9uKHRoaXMuZm9jdXNlZEl0ZW0sdGhpcy5hdXRvc2VsZWN0RGVsYXkpfSxfb25CbHVyQ2FwdHVyZTpmdW5jdGlvbihiKXtiLnRhcmdldD09PXRoaXMuX3BlbmRpbmdBY3RpdmF0aW9uSXRlbSYmdGhpcy5fY2FuY2VsUGVuZGluZ0FjdGl2YXRpb24oKX0sCmdldCBfdGFiQ29udGFpbmVyU2Nyb2xsU2l6ZSgpe3JldHVybiBNYXRoLm1heCgwLHRoaXMuJC50YWJzQ29udGFpbmVyLnNjcm9sbFdpZHRoLXRoaXMuJC50YWJzQ29udGFpbmVyLm9mZnNldFdpZHRoKX0sX3Njcm9sbDpmdW5jdGlvbihiLGQpe3RoaXMuc2Nyb2xsYWJsZSYmdGhpcy5fYWZmZWN0U2Nyb2xsKGQmJi1kLmRkeHx8MCl9LF9kb3duOmZ1bmN0aW9uKCl7dGhpcy5hc3luYyhmdW5jdGlvbigpe3RoaXMuX2RlZmF1bHRGb2N1c0FzeW5jJiYodGhpcy5jYW5jZWxBc3luYyh0aGlzLl9kZWZhdWx0Rm9jdXNBc3luYyksdGhpcy5fZGVmYXVsdEZvY3VzQXN5bmM9bnVsbCl9LDEpfSxfYWZmZWN0U2Nyb2xsOmZ1bmN0aW9uKGIpe3RoaXMuJC50YWJzQ29udGFpbmVyLnNjcm9sbExlZnQrPWI7Yj10aGlzLiQudGFic0NvbnRhaW5lci5zY3JvbGxMZWZ0O3RoaXMuX2xlZnRIaWRkZW49MD09PWI7dGhpcy5fcmlnaHRIaWRkZW49Yj09PXRoaXMuX3RhYkNvbnRhaW5lclNjcm9sbFNpemV9LApfb25MZWZ0U2Nyb2xsQnV0dG9uRG93bjpmdW5jdGlvbigpe3RoaXMuX3Njcm9sbFRvTGVmdCgpO3RoaXMuX2hvbGRKb2I9c2V0SW50ZXJ2YWwodGhpcy5fc2Nyb2xsVG9MZWZ0LmJpbmQodGhpcyksdGhpcy5faG9sZERlbGF5KX0sX29uUmlnaHRTY3JvbGxCdXR0b25Eb3duOmZ1bmN0aW9uKCl7dGhpcy5fc2Nyb2xsVG9SaWdodCgpO3RoaXMuX2hvbGRKb2I9c2V0SW50ZXJ2YWwodGhpcy5fc2Nyb2xsVG9SaWdodC5iaW5kKHRoaXMpLHRoaXMuX2hvbGREZWxheSl9LF9vblNjcm9sbEJ1dHRvblVwOmZ1bmN0aW9uKCl7Y2xlYXJJbnRlcnZhbCh0aGlzLl9ob2xkSm9iKTt0aGlzLl9ob2xkSm9iPW51bGx9LF9zY3JvbGxUb0xlZnQ6ZnVuY3Rpb24oKXt0aGlzLl9hZmZlY3RTY3JvbGwoLXRoaXMuX3N0ZXApfSxfc2Nyb2xsVG9SaWdodDpmdW5jdGlvbigpe3RoaXMuX2FmZmVjdFNjcm9sbCh0aGlzLl9zdGVwKX0sX3RhYkNoYW5nZWQ6ZnVuY3Rpb24oYixkKXtpZihiKXt2YXIgZj10aGlzLiQudGFic0NvbnRlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksCmg9Zi53aWR0aCxrPWIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Zj1rLmxlZnQtZi5sZWZ0O3RoaXMuX3Bvcz17d2lkdGg6dGhpcy5fY2FsY1BlcmNlbnQoay53aWR0aCxoKSxsZWZ0OnRoaXMuX2NhbGNQZXJjZW50KGYsaCl9O2lmKHRoaXMubm9TbGlkZXx8bnVsbD09ZCl0aGlzLiQuc2VsZWN0aW9uQmFyLmNsYXNzTGlzdC5yZW1vdmUoImV4cGFuZCIpLHRoaXMuJC5zZWxlY3Rpb25CYXIuY2xhc3NMaXN0LnJlbW92ZSgiY29udHJhY3QiKSx0aGlzLl9wb3NpdGlvbkJhcih0aGlzLl9wb3Mud2lkdGgsdGhpcy5fcG9zLmxlZnQpO2Vsc2V7dmFyIHI9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtkPXRoaXMuaXRlbXMuaW5kZXhPZihkKTtiPXRoaXMuaXRlbXMuaW5kZXhPZihiKTt0aGlzLiQuc2VsZWN0aW9uQmFyLmNsYXNzTGlzdC5hZGQoImV4cGFuZCIpO2I9ZDxiO3RoaXMuX2lzUlRMJiYoYj0hYik7Yj90aGlzLl9wb3NpdGlvbkJhcih0aGlzLl9jYWxjUGVyY2VudChrLmxlZnQray53aWR0aC0Kci5sZWZ0LGgpLTUsdGhpcy5fbGVmdCk6dGhpcy5fcG9zaXRpb25CYXIodGhpcy5fY2FsY1BlcmNlbnQoci5sZWZ0K3Iud2lkdGgtay5sZWZ0LGgpLTUsdGhpcy5fY2FsY1BlcmNlbnQoZixoKSs1KTt0aGlzLnNjcm9sbGFibGUmJnRoaXMuX3Njcm9sbFRvU2VsZWN0ZWRJZk5lZWRlZChrLndpZHRoLGYpfX1lbHNlIHRoaXMuJC5zZWxlY3Rpb25CYXIuY2xhc3NMaXN0LnJlbW92ZSgiZXhwYW5kIiksdGhpcy4kLnNlbGVjdGlvbkJhci5jbGFzc0xpc3QucmVtb3ZlKCJjb250cmFjdCIpLHRoaXMuX3Bvc2l0aW9uQmFyKDAsMCl9LF9zY3JvbGxUb1NlbGVjdGVkSWZOZWVkZWQ6ZnVuY3Rpb24oYixkKXtkLT10aGlzLiQudGFic0NvbnRhaW5lci5zY3JvbGxMZWZ0OzA+ZD90aGlzLiQudGFic0NvbnRhaW5lci5zY3JvbGxMZWZ0Kz1kOihkKz1iLXRoaXMuJC50YWJzQ29udGFpbmVyLm9mZnNldFdpZHRoLDA8ZCYmKHRoaXMuJC50YWJzQ29udGFpbmVyLnNjcm9sbExlZnQrPWQpKX0sX2NhbGNQZXJjZW50OmZ1bmN0aW9uKGIsCmQpe3JldHVybiAxMDAqYi9kfSxfcG9zaXRpb25CYXI6ZnVuY3Rpb24oYixkKXtiPWJ8fDA7ZD1kfHwwO3RoaXMuX3dpZHRoPWI7dGhpcy5fbGVmdD1kO3RoaXMudHJhbnNmb3JtKCJ0cmFuc2xhdGVYKCIrZCsiJSkgc2NhbGVYKCIrYi8xMDArIikiLHRoaXMuJC5zZWxlY3Rpb25CYXIpfSxfb25CYXJUcmFuc2l0aW9uRW5kOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy4kLnNlbGVjdGlvbkJhci5jbGFzc0xpc3Q7Yi5jb250YWlucygiZXhwYW5kIik/KGIucmVtb3ZlKCJleHBhbmQiKSxiLmFkZCgiY29udHJhY3QiKSx0aGlzLl9wb3NpdGlvbkJhcih0aGlzLl9wb3Mud2lkdGgsdGhpcy5fcG9zLmxlZnQpKTpiLmNvbnRhaW5zKCJjb250cmFjdCIpJiZiLnJlbW92ZSgiY29udHJhY3QiKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly9wYXBlci10b29sYmFyL3BhcGVyLXRvb2xiYXIuaHRtbC5qcwpQb2x5bWVyKHtpczoicGFwZXItdG9vbGJhciIsaG9zdEF0dHJpYnV0ZXM6e3JvbGU6InRvb2xiYXIifSxwcm9wZXJ0aWVzOntib3R0b21KdXN0aWZ5Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sanVzdGlmeTp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9LG1pZGRsZUp1c3RpZnk6e3R5cGU6U3RyaW5nLHZhbHVlOiIifX0scmVhZHk6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4odGhpcy5pcywiaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBhcHAtbGF5b3V0IGluc3RlYWQhIil9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fb2JzZXJ2ZXI9dGhpcy5fb2JzZXJ2ZSh0aGlzKTt0aGlzLl91cGRhdGVBcmlhTGFiZWxsZWRCeSgpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX29ic2VydmVyJiZ0aGlzLl9vYnNlcnZlci5kaXNjb25uZWN0KCl9LF9vYnNlcnZlOmZ1bmN0aW9uKGIpe3ZhciBkPW5ldyBNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlQXJpYUxhYmVsbGVkQnkoKX0uYmluZCh0aGlzKSk7CmQub2JzZXJ2ZShiLHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pO3JldHVybiBkfSxfdXBkYXRlQXJpYUxhYmVsbGVkQnk6ZnVuY3Rpb24oKXtQb2x5bWVyLmRvbS5mbHVzaCgpO2Zvcih2YXIgYj1bXSxkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKFBvbHltZXIuZG9tKHRoaXMucm9vdCkucXVlcnlTZWxlY3RvckFsbCgic2xvdCIpKS5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoUG9seW1lci5kb20odGhpcy5yb290KS5xdWVyeVNlbGVjdG9yQWxsKCJjb250ZW50IikpKSxmLGg9MDtmPWRbaF07aCsrKXtmPVBvbHltZXIuZG9tKGYpLmdldERpc3RyaWJ1dGVkTm9kZXMoKTtmb3IodmFyIGsscj0wO2s9ZltyXTtyKyspaWYoay5jbGFzc0xpc3QmJmsuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0aXRsZSIpKWlmKGsuaWQpYi5wdXNoKGsuaWQpO2Vsc2V7dmFyIGw9InBhcGVyLXRvb2xiYXItbGFiZWwtIitNYXRoLmZsb29yKDFFNCpNYXRoLnJhbmRvbSgpKTtrLmlkPWw7Yi5wdXNoKGwpfX0wPApiLmxlbmd0aCYmdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsYi5qb2luKCIgIikpfSxfY29tcHV0ZUJhckV4dHJhQ2xhc3NlczpmdW5jdGlvbihiKXtyZXR1cm4gYj9iKygianVzdGlmaWVkIj09PWI/IiI6Ii1qdXN0aWZpZWQiKToiIn19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ocGFyYW1zLXNjYWxlLWFuZC1jb2xvci1jb250cm9scy90Zi1ocGFyYW1zLXNjYWxlLWFuZC1jb2xvci1jb250cm9scy5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1ocGFyYW1zLXNjYWxlLWFuZC1jb2xvci1jb250cm9scyIscHJvcGVydGllczp7Y29uZmlndXJhdGlvbjpPYmplY3Qsc2Vzc2lvbkdyb3VwczpBcnJheSxvcHRpb25zOnt0eXBlOk9iamVjdCxub3RpZnk6ITAsdmFsdWU6bnVsbH19LG9ic2VydmVyczpbIl9jb25maWd1cmF0aW9uQ2hhbmdlZChjb25maWd1cmF0aW9uLiopIiwiX3Vuc2VsZWN0RGlzYWJsZWRMb2dTY2FsZXMoc2Vzc2lvbkdyb3Vwcy4qKSJdLF9jb25maWd1cmF0aW9uQ2hhbmdlZCgpe2NvbnN0IGI9dGhpcy5jb25maWd1cmF0aW9uLnZpc2libGVTY2hlbWEsZD10aGlzLmNvbmZpZ3VyYXRpb24uc2NoZW1hLGY9e2NvbHVtbnM6Yi5ocGFyYW1JbmZvcy5tYXAoKGgsayk9Pih7bmFtZTp0Zi5ocGFyYW1zLnV0aWxzLmhwYXJhbU5hbWUoaCksaW5kZXg6ayxhYnNvbHV0ZUluZGV4OnRmLmhwYXJhbXMudXRpbHMuZ2V0QWJzb2x1dGVDb2x1bW5JbmRleChkLGIsayksc2NhbGU6dGhpcy5faXNOdW1lcmljQ29sdW1uKGspPwoiTElORUFSIjoiTk9OX05VTUVSSUMifSkpLmNvbmNhdChiLm1ldHJpY0luZm9zLm1hcCgoaCxrKT0+e2srPWIuaHBhcmFtSW5mb3MubGVuZ3RoO3JldHVybntzY2FsZToiTElORUFSIixuYW1lOnRmLmhwYXJhbXMudXRpbHMubWV0cmljTmFtZShoKSxpbmRleDprLGFic29sdXRlSW5kZXg6dGYuaHBhcmFtcy51dGlscy5nZXRBYnNvbHV0ZUNvbHVtbkluZGV4KGQsYixrKX19KSksbWluQ29sb3I6IiMwMDAwRkYiLG1heENvbG9yOiIjRkYwMDAwIixjb25maWd1cmF0aW9uOnRoaXMuY29uZmlndXJhdGlvbn07dGhpcy5zZXQoIm9wdGlvbnMiLGYpO1BvbHltZXIuZG9tLmZsdXNoKCk7dGhpcy5zZXQoIm9wdGlvbnMuY29sb3JCeUNvbHVtbkluZGV4Iix0aGlzLl9kZWZhdWx0Q29sb3JCeUNvbHVtbkluZGV4KCkpfSxfdW5zZWxlY3REaXNhYmxlZExvZ1NjYWxlcygpe251bGwhPT10aGlzLm9wdGlvbnMmJnRoaXMub3B0aW9ucy5jb2x1bW5zLmZvckVhY2goYj0+e2NvbnN0IGQ9Im9wdGlvbnMuY29sdW1ucy4iKwpiLmluZGV4O3RoaXMuX2FsbG93TG9nU2NhbGUoYil8fCJMT0ciIT09Yi5zY2FsZXx8dGhpcy5zZXQoZCsiLnNjYWxlIiwiTElORUFSIil9KX0sX2FsbG93TG9nU2NhbGUoYil7aWYoIXRoaXMuX2lzTnVtZXJpY0NvbHVtbihiLmluZGV4KXx8IXRoaXMuc2Vzc2lvbkdyb3VwcylyZXR1cm4hMTtjb25zdCBbZCxmXT10Zi5ocGFyYW1zLnV0aWxzLnZpc2libGVOdW1lcmljQ29sdW1uRXh0ZW50KHRoaXMuY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hLHRoaXMuc2Vzc2lvbkdyb3VwcyxiLmluZGV4KTtyZXR1cm4gMDxkfHwwPmZ9LF9pc051bWVyaWNDb2x1bW4oYil7cmV0dXJuIGI+PXRoaXMuY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hLmhwYXJhbUluZm9zLmxlbmd0aHx8IkRBVEFfVFlQRV9GTE9BVDY0Ij09PXRoaXMuY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hLmhwYXJhbUluZm9zW2JdLnR5cGV9LF9kZWZhdWx0Q29sb3JCeUNvbHVtbkluZGV4KCl7aWYoMDx0aGlzLmNvbmZpZ3VyYXRpb24udmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvcy5sZW5ndGgpcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hLmhwYXJhbUluZm9zLmxlbmd0aDsKY29uc3QgYj10aGlzLmNvbmZpZ3VyYXRpb24udmlzaWJsZVNjaGVtYS5ocGFyYW1JbmZvcy5maW5kSW5kZXgoZD0+IkRBVEFfVFlQRV9GTE9BVDY0Ij09PWQudHlwZSk7aWYoLTEhPT1iKXJldHVybiBifX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3ZhYWRpbi1ncmlkL3ZhYWRpbi1ncmlkLWFjdGl2ZS1pdGVtLWJlaGF2aW9yLmh0bWwuanMKd2luZG93LnZhYWRpbj13aW5kb3cudmFhZGlufHx7fTt2YWFkaW4uZWxlbWVudHM9dmFhZGluLmVsZW1lbnRzfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZD12YWFkaW4uZWxlbWVudHMuZ3JpZHx8e307CnZhYWRpbi5lbGVtZW50cy5ncmlkLkFjdGl2ZUl0ZW1CZWhhdmlvcj17cHJvcGVydGllczp7YWN0aXZlSXRlbTp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwLHZhbHVlOm51bGx9fSxsaXN0ZW5lcnM6eyJjZWxsLWFjdGl2YXRlIjoiX2FjdGl2YXRlSXRlbSJ9LG9ic2VydmVyczpbIl9hY3RpdmVJdGVtQ2hhbmdlZChhY3RpdmVJdGVtKSJdLF9hY3RpdmF0ZUl0ZW06ZnVuY3Rpb24oYil7dmFyIGQ9Yi5kZXRhaWwubW9kZWwuaXRlbTt0aGlzLmFjdGl2ZUl0ZW09dGhpcy5hY3RpdmVJdGVtIT09ZD9kOm51bGw7Yi5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX0sX2FjdGl2ZUl0ZW1DaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy4kLnNjcm9sbGVyLl9waHlzaWNhbEl0ZW1zJiZ0aGlzLiQuc2Nyb2xsZXIuX3BoeXNpY2FsSXRlbXMuZm9yRWFjaChmdW5jdGlvbihiKXt0aGlzLl91cGRhdGVJdGVtKGIsYi5pdGVtKX0uYmluZCh0aGlzKSl9fTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92YWFkaW4tZ3JpZC92YWFkaW4tZ3JpZC10YWJsZS1zY3JvbGwtYmVoYXZpb3IuaHRtbC5qcwp3aW5kb3cudmFhZGluPXdpbmRvdy52YWFkaW58fHt9O3ZhYWRpbi5lbGVtZW50cz12YWFkaW4uZWxlbWVudHN8fHt9O3ZhYWRpbi5lbGVtZW50cy5ncmlkPXZhYWRpbi5lbGVtZW50cy5ncmlkfHx7fTsKdmFhZGluLmVsZW1lbnRzLmdyaWQuVGFibGVTY3JvbGxCZWhhdmlvckltcGw9e3Byb3BlcnRpZXM6e192aWR4T2Zmc2V0Ont0eXBlOk51bWJlcix2YWx1ZTowfSxpb3M6e3R5cGU6Qm9vbGVhbix2YWx1ZTpuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUCg/OmhvbmV8YWQ7KD86IFU7KT8gQ1BVKSBPUyAoXGQrKS8pLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sZml4ZWRTZWN0aW9uczp7dHlwZTpCb29sZWFuLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCxjb21wdXRlZDoiX2hhc0ZpeGVkU2VjdGlvbnMoc2Nyb2xsYmFyV2lkdGgpIn0sX2Zyb3plbkNlbGxzOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fSxzY3JvbGxpbmc6e3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9fSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuc2Nyb2xsVGFyZ2V0PXRoaXMuJC50YWJsZX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLmxpc3Rlbih0aGlzLnNjcm9sbFRhcmdldCwid2hlZWwiLAoiX29uV2hlZWwiKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLnVubGlzdGVuKHRoaXMuc2Nyb2xsVGFyZ2V0LCJ3aGVlbCIsIl9vbldoZWVsIil9LHNjcm9sbFRvU2NhbGVkSW5kZXg6ZnVuY3Rpb24oYil7dGhpcy5fcGVuZGluZ1Njcm9sbFRvU2NhbGVkSW5kZXg9bnVsbDt0aGlzLiQuaXRlbXMuc3R5bGUuYm9yZGVyVG9wV2lkdGh8fCh0aGlzLl9wZW5kaW5nU2Nyb2xsVG9TY2FsZWRJbmRleD1iKTtiPU1hdGgubWluKE1hdGgubWF4KGIsMCksdGhpcy5zaXplLTEpO3RoaXMuJC50YWJsZS5zY3JvbGxUb3A9Yi90aGlzLnNpemUqdGhpcy4kLnRhYmxlLnNjcm9sbEhlaWdodDt0aGlzLl9zY3JvbGxIYW5kbGVyKCk7dGhpcy5zY3JvbGxUb0luZGV4KGItdGhpcy5fdmlkeE9mZnNldCk7dGhpcy5fcmVzZXRTY3JvbGxQb3NpdGlvbih0aGlzLl9zY3JvbGxQb3NpdGlvbik7dGhpcy5fc2Nyb2xsSGFuZGxlcigpO3RoaXMuX3ZpZHhPZmZzZXQrdGhpcy5sYXN0VmlzaWJsZUluZGV4PT09dGhpcy5zaXplLQoxJiYodGhpcy4kLnRhYmxlLnNjcm9sbFRvcD10aGlzLiQudGFibGUuc2Nyb2xsSGVpZ2h0LXRoaXMuJC50YWJsZS5vZmZzZXRIZWlnaHQsdGhpcy5fc2Nyb2xsSGFuZGxlcigpKX0sX2hhc0ZpeGVkU2VjdGlvbnM6ZnVuY3Rpb24oYil7cmV0dXJuIG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0VkZ2UvKSYmMD09PWJ9LF9vbldoZWVsOmZ1bmN0aW9uKGIpe2lmKCFiLmN0cmxLZXkmJiF0aGlzLl9oYXNTY3JvbGxlZEFuY2VzdG9yKGIudGFyZ2V0LGIuZGVsdGFYLGIuZGVsdGFZKSl7dmFyIGQ9dGhpcy4kLnRhYmxlLGY9Yi5kZWx0YVk7MT09PWIuZGVsdGFNb2RlJiYoZio9Z3JpZC4kLnNjcm9sbGVyLl9waHlzaWNhbEF2ZXJhZ2UpO3ZhciBoPU1hdGguYWJzKGIuZGVsdGFYKStNYXRoLmFicyhmKTt0aGlzLl9jYW5TY3JvbGwoZCxiLmRlbHRhWCxmKT8oYi5wcmV2ZW50RGVmYXVsdCgpLGQuc2Nyb2xsVG9wKz1mLGQuc2Nyb2xsTGVmdCs9Yi5kZWx0YVgsdGhpcy5fc2Nyb2xsSGFuZGxlcigpLAp0aGlzLl9oYXNSZXNpZHVhbE1vbWVudHVtPSEwLHRoaXMuX2lnbm9yZU5ld1doZWVsPXRoaXMuZGVib3VuY2UoImlnbm9yZS1uZXctd2hlZWwiLGZ1bmN0aW9uKCl7dGhpcy5faWdub3JlTmV3V2hlZWw9bnVsbH0sNTAwKSk6dGhpcy5faGFzUmVzaWR1YWxNb21lbnR1bSYmaDw9dGhpcy5fcHJldmlvdXNNb21lbnR1bXx8dGhpcy5faWdub3JlTmV3V2hlZWw/Yi5wcmV2ZW50RGVmYXVsdCgpOmg+dGhpcy5fcHJldmlvdXNNb21lbnR1bSYmKHRoaXMuX2hhc1Jlc2lkdWFsTW9tZW50dW09ITEpO3RoaXMuX3ByZXZpb3VzTW9tZW50dW09aH19LF9oYXNTY3JvbGxlZEFuY2VzdG9yOmZ1bmN0aW9uKGIsZCxmKXtpZih0aGlzLl9jYW5TY3JvbGwoYixkLGYpKXJldHVybiEwO2lmKCJ2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQiIT09Yi5sb2NhbE5hbWUmJmIhPT10aGlzJiZiLnBhcmVudEVsZW1lbnQpcmV0dXJuIHRoaXMuX2hhc1Njcm9sbGVkQW5jZXN0b3IoYi5wYXJlbnRFbGVtZW50LGQsZil9LApfY2FuU2Nyb2xsOmZ1bmN0aW9uKGIsZCxmKXtyZXR1cm4gMDxmJiZiLnNjcm9sbFRvcDxiLnNjcm9sbEhlaWdodC1iLm9mZnNldEhlaWdodHx8MD5mJiYwPGIuc2Nyb2xsVG9wfHwwPGQmJmIuc2Nyb2xsTGVmdDxiLnNjcm9sbFdpZHRoLWIub2Zmc2V0V2lkdGh8fDA+ZCYmMDxiLnNjcm9sbExlZnR9LF9zY3JvbGxIYW5kbGVyOmZ1bmN0aW9uKCl7dmFyIGI9TWF0aC5tYXgoMCxNYXRoLm1pbih0aGlzLl9tYXhTY3JvbGxUb3AsdGhpcy5fc2Nyb2xsVG9wKSksZD1iLXRoaXMuX3Njcm9sbFBvc2l0aW9uLGY9dGhpcy5fcmF0aW8saD0wLGs9dGhpcy5faGlkZGVuQ29udGVudFNpemUscj1mLGw9W107dGhpcy5fc2Nyb2xsUG9zaXRpb249Yjt0aGlzLl9sYXN0VmlzaWJsZUluZGV4VmFsPXRoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsPW51bGw7dmFyIHA9dGhpcy5fc2Nyb2xsQm90dG9tO3ZhciBtPXRoaXMuX3BoeXNpY2FsQm90dG9tO2lmKE1hdGguYWJzKGQpPnRoaXMuX3BoeXNpY2FsU2l6ZSl0aGlzLl9waHlzaWNhbFRvcCs9CmQsaD1NYXRoLnJvdW5kKGQvdGhpcy5fcGh5c2ljYWxBdmVyYWdlKTtlbHNlIGlmKDA+ZCl7dmFyIG49Yi10aGlzLl9waHlzaWNhbFRvcDtsPXRoaXMuX3ZpcnR1YWxTdGFydDt2YXIgcT1bXTt2YXIgdT10aGlzLl9waHlzaWNhbEVuZDtmb3Iocj1uL2s7cjxmJiZoPHRoaXMuX3BoeXNpY2FsQ291bnQmJjA8bC1oJiZtLXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudCh1KT5wOyluPXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudCh1KSxyKz1uL2ssbS09bixxLnB1c2godSksaCsrLHU9MD09PXU/dGhpcy5fcGh5c2ljYWxDb3VudC0xOnUtMTtsPXE7aD0taH1lbHNlIGlmKDA8ZCl7dmFyIHc9dGhpcy5fdmlydHVhbEVuZCxBPXRoaXMuX3ZpcnR1YWxDb3VudC0xO3E9W107dT10aGlzLl9waHlzaWNhbFN0YXJ0O2ZvcihyPShtLXApL2s7cjxmJiZoPHRoaXMuX3BoeXNpY2FsQ291bnQmJncraDxBJiZ0aGlzLl9waHlzaWNhbFRvcCt0aGlzLl9nZXRQaHlzaWNhbFNpemVJbmNyZW1lbnQodSk8CmI7KW49dGhpcy5fZ2V0UGh5c2ljYWxTaXplSW5jcmVtZW50KHUpLHIrPW4vayx0aGlzLl9waHlzaWNhbFRvcCs9bixxLnB1c2godSksaCsrLHU9KHUrMSkldGhpcy5fcGh5c2ljYWxDb3VudH10aGlzLl92aXJ0dWFsQ291bnQ8dGhpcy5zaXplJiZ0aGlzLl9hZGp1c3RWaXJ0dWFsSW5kZXhPZmZzZXQoZCk7MD09PWg/KG08cHx8dGhpcy5fcGh5c2ljYWxUb3A+YikmJnRoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkKCk6KHRoaXMuX3ZpcnR1YWxTdGFydCs9aCx0aGlzLl9waHlzaWNhbFN0YXJ0Kz1oLHRoaXMuX3VwZGF0ZShxLGwpKTt0aGlzLl90cmFuc2xhdGVTdGF0aW9uYXJ5RWxlbWVudHMoKTt0aGlzLmhhc0F0dHJpYnV0ZSgicmVvcmRlcmluZyIpfHwodGhpcy5zY3JvbGxpbmc9ITApO3RoaXMuZGVib3VuY2UoInZhYWRpbi1ncmlkLXNjcm9sbGluZyIsZnVuY3Rpb24oKXt0aGlzLnNjcm9sbGluZz0hMTt0aGlzLl9yZW9yZGVyUm93cygpfSwxMDApfSxfYWRqdXN0VmlydHVhbEluZGV4T2Zmc2V0OmZ1bmN0aW9uKGIpe2lmKDFFNDwKTWF0aC5hYnMoYikpdGhpcy5fbm9TY2FsZT90aGlzLl9ub1NjYWxlPSExOihiPU1hdGgucm91bmQodGhpcy5fc2Nyb2xsUG9zaXRpb24vdGhpcy5fc2Nyb2xsSGVpZ2h0KjFFMykvMUUzLHRoaXMuX3ZpZHhPZmZzZXQ9TWF0aC5yb3VuZChiKnRoaXMuc2l6ZS1iKnRoaXMuX3ZpcnR1YWxDb3VudCksMD09PXRoaXMuX3Njcm9sbFRvcCYmdGhpcy5zY3JvbGxUb0luZGV4KDApKTtlbHNle2I9dGhpcy5fdmlkeE9mZnNldHx8MDswPT09dGhpcy5fc2Nyb2xsVG9wPyh0aGlzLl92aWR4T2Zmc2V0PTAsYiE9PXRoaXMuX3ZpZHhPZmZzZXQmJnRoaXMuc2Nyb2xsVG9JbmRleCgwKSk6MUUzPnRoaXMuZmlyc3RWaXNpYmxlSW5kZXgmJjA8dGhpcy5fdmlkeE9mZnNldCYmKHRoaXMuX3ZpZHhPZmZzZXQtPU1hdGgubWluKHRoaXMuX3ZpZHhPZmZzZXQsMTAwKSx0aGlzLnNjcm9sbFRvSW5kZXgodGhpcy5maXJzdFZpc2libGVJbmRleCsoYi10aGlzLl92aWR4T2Zmc2V0KSsxKSx0aGlzLl9ub1NjYWxlPQohMCk7dmFyIGQ9dGhpcy5zaXplLXRoaXMuX3ZpcnR1YWxDb3VudDt0aGlzLl9zY3JvbGxUb3A+PXRoaXMuX21heFNjcm9sbFRvcD8odGhpcy5fdmlkeE9mZnNldD1kLGIhPT10aGlzLl92aWR4T2Zmc2V0JiZ0aGlzLnNjcm9sbFRvSW5kZXgodGhpcy5fdmlydHVhbENvdW50KSk6dGhpcy5maXJzdFZpc2libGVJbmRleD50aGlzLl92aXJ0dWFsQ291bnQtMUUzJiZ0aGlzLl92aWR4T2Zmc2V0PGQmJih0aGlzLl92aWR4T2Zmc2V0Kz1NYXRoLm1pbihkLXRoaXMuX3ZpZHhPZmZzZXQsMTAwKSx0aGlzLnNjcm9sbFRvSW5kZXgodGhpcy5maXJzdFZpc2libGVJbmRleC0odGhpcy5fdmlkeE9mZnNldC1iKSksdGhpcy5fbm9TY2FsZT0hMCl9fSxfcmVvcmRlclJvd3M6ZnVuY3Rpb24oKXt2YXIgYj1Qb2x5bWVyLmRvbSh0aGlzLiQuaXRlbXMpLGQ9Yi5xdWVyeVNlbGVjdG9yQWxsKCIudmFhZGluLWdyaWQtcm93IiksZj1kLmxlbmd0aC0oZFswXS5pbmRleC0odGhpcy5fdmlydHVhbFN0YXJ0K3RoaXMuX3ZpZHhPZmZzZXQpKTsKaWYoZjxkLmxlbmd0aC8yKWZvcih2YXIgaD0wO2g8ZjtoKyspYi5hcHBlbmRDaGlsZChkW2hdKTtlbHNlIGZvcig7ZjxkLmxlbmd0aDtmKyspYi5pbnNlcnRCZWZvcmUoZFtmXSxkWzBdKX0sX2Zyb3plbkNlbGxzQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuZGVib3VuY2UoImNhY2hlLWVsZW1lbnRzIixmdW5jdGlvbigpe1BvbHltZXIuZG9tKHRoaXMuZG9tSG9zdC5yb290KS5xdWVyeVNlbGVjdG9yQWxsKCIudmFhZGluLWdyaWQtY2VsbCIpLmZvckVhY2goZnVuY3Rpb24oYil7Yi5zdHlsZS50cmFuc2Zvcm09IiJ9KTt0aGlzLl9mcm96ZW5DZWxscz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChQb2x5bWVyLmRvbSh0aGlzLmRvbUhvc3Qucm9vdCkucXVlcnlTZWxlY3RvckFsbCgiW2Zyb3plbl0iKSk7dGhpcy5fdHJhbnNsYXRlU3RhdGlvbmFyeUVsZW1lbnRzKCl9KTt0aGlzLl91cGRhdGVMYXN0RnJvemVuKCl9LF91cGRhdGVMYXN0RnJvemVuOmZ1bmN0aW9uKCl7aWYodGhpcy5jb2x1bW5UcmVlKXt2YXIgYj0KdGhpcy5jb2x1bW5UcmVlW3RoaXMuY29sdW1uVHJlZS5sZW5ndGgtMV0uc2xpY2UoMCk7Yi5zb3J0KGZ1bmN0aW9uKGYsaCl7cmV0dXJuIGYuX29yZGVyLWguX29yZGVyfSk7dmFyIGQ9Yi5yZWR1Y2UoZnVuY3Rpb24oZixoLGspe2guX2xhc3RGcm96ZW49ITE7cmV0dXJuIGguZnJvemVuJiYhaC5oaWRkZW4/azpmfSx2b2lkIDApO3ZvaWQgMCE9PWQmJihiW2RdLl9sYXN0RnJvemVuPSEwKX19LF90cmFuc2xhdGVTdGF0aW9uYXJ5RWxlbWVudHM6ZnVuY3Rpb24oKXt0aGlzLmZpeGVkU2VjdGlvbnM/KHRoaXMuJC5pdGVtcy5zdHlsZS50cmFuc2Zvcm09dGhpcy5fZ2V0VHJhbnNsYXRlKC10aGlzLl9zY3JvbGxMZWZ0fHwwLC10aGlzLl9zY3JvbGxUb3B8fDApLHRoaXMuJC5mb290ZXIuc3R5bGUudHJhbnNmb3JtPXRoaXMuJC5oZWFkZXIuc3R5bGUudHJhbnNmb3JtPXRoaXMuX2dldFRyYW5zbGF0ZSgtdGhpcy5fc2Nyb2xsTGVmdHx8MCwwKSk6dGhpcy4kLmZvb3Rlci5zdHlsZS50cmFuc2Zvcm09CnRoaXMuJC5oZWFkZXIuc3R5bGUudHJhbnNmb3JtPXRoaXMuX2dldFRyYW5zbGF0ZSgwLHRoaXMuX3Njcm9sbFRvcCk7Zm9yKHZhciBiPXRoaXMuX2dldFRyYW5zbGF0ZSh0aGlzLl9zY3JvbGxMZWZ0LDApLGQ9MDtkPHRoaXMuX2Zyb3plbkNlbGxzLmxlbmd0aDtkKyspdGhpcy5fZnJvemVuQ2VsbHNbZF0uc3R5bGUudHJhbnNmb3JtPWJ9LF9nZXRUcmFuc2xhdGU6ZnVuY3Rpb24oYixkKXtyZXR1cm4idHJhbnNsYXRlKCIrYisicHgsIitkKyJweCkifX07dmFhZGluLmVsZW1lbnRzLmdyaWQuVGFibGVTY3JvbGxCZWhhdmlvcj1bUG9seW1lci5Jcm9uU2Nyb2xsVGFyZ2V0QmVoYXZpb3IsdmFhZGluLmVsZW1lbnRzLmdyaWQuVGFibGVTY3JvbGxCZWhhdmlvckltcGxdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3ZhYWRpbi1ncmlkL3ZhYWRpbi1ncmlkLXRhYmxlLWNlbGwuaHRtbC5qcwooZnVuY3Rpb24oKXt2YXIgYj17cHJvcGVydGllczp7Y29sdW1uOk9iamVjdCxleHBhbmRlZDpCb29sZWFuLGZsZXhHcm93Ok51bWJlcixjb2xTcGFuOk51bWJlcixmb2N1c2VkOnt0eXBlOkJvb2xlYW4scmVmbGVjdFRvQXR0cmlidXRlOiEwfSxmcm96ZW46e3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LGxhc3RGcm96ZW46e3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LGhpZGRlbjp7dHlwZTpCb29sZWFuLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0saW5zdGFuY2U6T2JqZWN0LGluZGV4Ok51bWJlcixpdGVtOk9iamVjdCxzZWxlY3RlZDpCb29sZWFuLHRlbXBsYXRlOk9iamVjdCx0YXJnZXQ6T2JqZWN0LHdpZHRoOlN0cmluZyxvcmRlcjpOdW1iZXIscmVvcmRlclN0YXR1czp7dHlwZTpTdHJpbmcscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxfY2hpbGRDb2x1bW5zOkFycmF5LF9jZWxsQ29udGVudDpPYmplY3QsX2luc2VydGlvblBvaW50Ok9iamVjdCwKX3RlbXBsYXRpemVyOk9iamVjdH0sb2JzZXJ2ZXJzOiJfY29sdW1uQ2hhbmdlZChjb2x1bW4pO19jZWxsQXR0YWNoZWQoY29sdW1uLCBpc0F0dGFjaGVkKTtfZXhwYW5kZWRDaGFuZ2VkKGV4cGFuZGVkLCBpbnN0YW5jZSk7X2ZsZXhHcm93Q2hhbmdlZChmbGV4R3Jvdyk7X2luZGV4Q2hhbmdlZChpbmRleCwgaW5zdGFuY2UpO19pdGVtQ2hhbmdlZChpdGVtLCBpbnN0YW5jZSk7X2luc3RhbmNlQ2hhbmdlZChpbnN0YW5jZSwgdGFyZ2V0KTtfc2VsZWN0ZWRDaGFuZ2VkKHNlbGVjdGVkLCBpbnN0YW5jZSk7X3RvZ2dsZUNvbnRlbnQoaXNBdHRhY2hlZCwgX2NlbGxDb250ZW50LCBfaW5zZXJ0aW9uUG9pbnQpO190b2dnbGVJbnN0YW5jZShpc0F0dGFjaGVkLCBfdGVtcGxhdGl6ZXIsIGluc3RhbmNlKTtfd2lkdGhDaGFuZ2VkKHdpZHRoKTtfb3JkZXJDaGFuZ2VkKG9yZGVyKTtfdmlzaWJsZUNoaWxkQ29sdW1uc0NoYW5nZWQoX3Zpc2libGVDaGlsZENvbHVtbnMpO19jaGlsZENvbHVtbnNDaGFuZ2VkKF9jaGlsZENvbHVtbnMpIi5zcGxpdCgiOyIpLApyZWFkeTpmdW5jdGlvbigpe3RoaXMuY2xhc3NMaXN0LmFkZCgidmFhZGluLWdyaWQtY2VsbCIpOyExPT09UG9seW1lci5TZXR0aW5ncy51c2VTaGFkb3cmJih0aGlzLmNsYXNzTGlzdC5hZGQoInN0eWxlLXNjb3BlIiksdGhpcy5jbGFzc0xpc3QuYWRkKCJ2YWFkaW4tZ3JpZCIpKX0sX2NvbHVtbkNoYW5nZWQ6ZnVuY3Rpb24oZCl7dGhpcy5mbGV4R3Jvdz1kLmZsZXhHcm93O3RoaXMuZnJvemVuPWQuZnJvemVuO3RoaXMubGFzdEZyb3plbj1kLl9sYXN0RnJvemVuO3RoaXMuaGVhZGVyVGVtcGxhdGU9ZC5oZWFkZXJUZW1wbGF0ZTt0aGlzLmZvb3RlclRlbXBsYXRlPWQuZm9vdGVyVGVtcGxhdGU7dGhpcy50ZW1wbGF0ZT1kLnRlbXBsYXRlO3RoaXMud2lkdGg9ZC53aWR0aDt0aGlzLmhpZGRlbj1kLmhpZGRlbjt0aGlzLnJlc2l6YWJsZT1kLnJlc2l6YWJsZTt0aGlzLl9jaGlsZENvbHVtbnM9ZC5fY2hpbGRDb2x1bW5zO3RoaXMub3JkZXI9ZC5fb3JkZXI7ZC5jb2xTcGFuJiYodGhpcy5jb2xTcGFuPQpkLmNvbFNwYW4pO3RoaXMubGlzdGVuKGQsInByb3BlcnR5LWNoYW5nZWQiLCJfY29sdW1uUHJvcENoYW5nZWQiKX0sX2NlbGxBdHRhY2hlZDpmdW5jdGlvbihkLGYpe3ZvaWQgMCE9PWQmJnZvaWQgMCE9PWYmJihmP3RoaXMubGlzdGVuKGQsInByb3BlcnR5LWNoYW5nZWQiLCJfY29sdW1uUHJvcENoYW5nZWQiKTp0aGlzLmFzeW5jKGZ1bmN0aW9uKCl7dGhpcy5pc0F0dGFjaGVkfHx0aGlzLnVubGlzdGVuKGQsInByb3BlcnR5LWNoYW5nZWQiLCJfY29sdW1uUHJvcENoYW5nZWQiKX0pKX0sX2NvbHVtblByb3BDaGFuZ2VkOmZ1bmN0aW9uKGQpe2QudGFyZ2V0PT10aGlzLmNvbHVtbiYmKHRoaXNbZC5kZXRhaWwucGF0aF09ZC5kZXRhaWwudmFsdWUpfSxfZXhwYW5kZWRDaGFuZ2VkOmZ1bmN0aW9uKGQsZil7dm9pZCAwIT09ZCYmdm9pZCAwIT09ZiYmKGYuX19leHBhbmRlZF9fPWQsZi5leHBhbmRlZD1kKX0sX2ZsZXhHcm93Q2hhbmdlZDpmdW5jdGlvbihkKXt0aGlzLnN0eWxlLmZsZXhHcm93PQpkfSxfaW5kZXhDaGFuZ2VkOmZ1bmN0aW9uKGQsZil7dm9pZCAwIT09ZCYmdm9pZCAwIT09ZiYmKGYuaW5kZXg9ZCl9LF9pdGVtQ2hhbmdlZDpmdW5jdGlvbihkLGYpe3ZvaWQgMCE9PWQmJnZvaWQgMCE9PWYmJihmLml0ZW09ZCl9LF9zZWxlY3RlZENoYW5nZWQ6ZnVuY3Rpb24oZCxmKXt2b2lkIDAhPT1kJiZ2b2lkIDAhPT1mJiYoZi5fX3NlbGVjdGVkX189ZCxmLnNlbGVjdGVkPWQpfSxfY2hpbGRDb2x1bW5zQ2hhbmdlZDpmdW5jdGlvbihkKXt0aGlzLmNvbFNwYW49ZC5sZW5ndGh9LF90b2dnbGVDb250ZW50OmZ1bmN0aW9uKGQsZixoKXt2b2lkIDAhPT1kJiZ2b2lkIDAhPT1mJiZ2b2lkIDAhPT1oJiYoZD8oUG9seW1lci5kb20oZikucGFyZW50Tm9kZSE9PXRoaXMudGFyZ2V0JiZQb2x5bWVyLmRvbSh0aGlzLnRhcmdldCkuYXBwZW5kQ2hpbGQoZiksUG9seW1lci5kb20odGhpcykuYXBwZW5kQ2hpbGQoaCkpOnRoaXMuYXN5bmMoZnVuY3Rpb24oKXt0aGlzLmlzQXR0YWNoZWR8fFBvbHltZXIuZG9tKGYpLnBhcmVudE5vZGUhPT0KdGhpcy50YXJnZXR8fFBvbHltZXIuZG9tKHRoaXMudGFyZ2V0KS5yZW1vdmVDaGlsZChmKX0pKX0sX3RvZ2dsZUluc3RhbmNlOmZ1bmN0aW9uKGQsZixoKXt2b2lkIDAhPT1kJiZ2b2lkIDAhPT1mJiZ2b2lkIDAhPT1oJiYoZD9mLmFkZEluc3RhbmNlKGgpOmYucmVtb3ZlSW5zdGFuY2UoaCkpfSxfd2lkdGhDaGFuZ2VkOmZ1bmN0aW9uKGQpe3RoaXMuc3R5bGUud2lkdGg9ZH0sX29yZGVyQ2hhbmdlZDpmdW5jdGlvbihkKXt0aGlzLnN0eWxlLm9yZGVyPWR9LF90ZW1wbGF0ZUNoYW5nZWQ6ZnVuY3Rpb24oZCl7dGhpcy5pbnN0YW5jZT1kLnRlbXBsYXRpemVyLmNyZWF0ZUluc3RhbmNlKCk7dGhpcy5fdGVtcGxhdGl6ZXI9ZC50ZW1wbGF0aXplcn0sX2luc3RhbmNlQ2hhbmdlZDpmdW5jdGlvbihkLGYpe3ZvaWQgMCE9PWQmJnZvaWQgMCE9PWYmJih0aGlzLnN0eWxlLmhlaWdodD0iIix0aGlzLl9jZWxsQ29udGVudD10aGlzLl9jZWxsQ29udGVudHx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmFhZGluLWdyaWQtY2VsbC1jb250ZW50IiksCmQ9InZhYWRpbi1ncmlkLWNlbGwtY29udGVudC0iKyh2YWFkaW4uZWxlbWVudHMuZ3JpZC5fY29udGVudEluZGV4PXZhYWRpbi5lbGVtZW50cy5ncmlkLl9jb250ZW50SW5kZXgrMXx8MCksdGhpcy5fY2VsbENvbnRlbnQuaW5uZXJIVE1MPSIiLFBvbHltZXIuZG9tKHRoaXMuX2NlbGxDb250ZW50KS5hcHBlbmRDaGlsZCh0aGlzLmluc3RhbmNlLnJvb3QpLHRoaXMuX2NlbGxDb250ZW50LnNldEF0dHJpYnV0ZSgiaWQiLGQpLFBvbHltZXIuRWxlbWVudD8odGhpcy5fY2VsbENvbnRlbnQuc2V0QXR0cmlidXRlKCJzbG90IixkKSx0aGlzLl9pbnNlcnRpb25Qb2ludD10aGlzLl9pbnNlcnRpb25Qb2ludHx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2xvdCIpLHRoaXMuX2luc2VydGlvblBvaW50LnNldEF0dHJpYnV0ZSgibmFtZSIsZCkpOih0aGlzLl9pbnNlcnRpb25Qb2ludD10aGlzLl9pbnNlcnRpb25Qb2ludHx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY29udGVudCIpLHRoaXMuX2luc2VydGlvblBvaW50LnNldEF0dHJpYnV0ZSgic2VsZWN0IiwKIiMiK2QpKSl9fTtQb2x5bWVyKHtpczoidmFhZGluLWdyaWQtdGFibGUtY2VsbCIsYmVoYXZpb3JzOltiLHZhYWRpbi5lbGVtZW50cy5ncmlkLkNlbGxDbGlja0JlaGF2aW9yXSxvYnNlcnZlcnM6WyJfdGVtcGxhdGVDaGFuZ2VkKHRlbXBsYXRlKSJdLF9jZWxsQ2xpY2s6ZnVuY3Rpb24oZCl7ZC5kZWZhdWx0UHJldmVudGVkfHx0aGlzLmZpcmUoImNlbGwtYWN0aXZhdGUiLHttb2RlbDp0aGlzLmluc3RhbmNlfSl9fSk7UG9seW1lcih7aXM6InZhYWRpbi1ncmlkLXRhYmxlLWhlYWRlci1jZWxsIixwcm9wZXJ0aWVzOntoZWFkZXJUZW1wbGF0ZTpPYmplY3QscmVzaXphYmxlOkJvb2xlYW4sY29sdW1uUmVzaXppbmc6e3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9fSxiZWhhdmlvcnM6W2IsdmFhZGluLmVsZW1lbnRzLmdyaWQuQ2VsbENsaWNrQmVoYXZpb3JdLG9ic2VydmVyczpbIl9oZWFkZXJUZW1wbGF0ZUNoYW5nZWQoaGVhZGVyVGVtcGxhdGUpIiwiX2lzRW1wdHlDaGFuZ2VkKF9pc0VtcHR5LCBpc0F0dGFjaGVkKSIsCiJfcmVzaXphYmxlQ2hhbmdlZChyZXNpemFibGUpIl0sbGlzdGVuZXJzOnttb3VzZWRvd246Il9jYW5jZWxNb3VzZURvd25PblJlc2l6ZSIsbW91c2Vtb3ZlOiJfZW5hYmxlRHJhZyIsbW91c2VvdXQ6Il9kaXNhYmxlRHJhZyIsdG91Y2hzdGFydDoiX29uVG91Y2hTdGFydCIsdG91Y2htb3ZlOiJfb25Ub3VjaE1vdmUiLHRvdWNoZW5kOiJfb25Ub3VjaEVuZCIsY29udGV4dG1lbnU6Il9vbkNvbnRleHRNZW51In0sX29uQ29udGV4dE1lbnU6ZnVuY3Rpb24oZCl7dGhpcy5fcmVvcmRlckdob3N0JiZkLnByZXZlbnREZWZhdWx0KCl9LF9vblRvdWNoU3RhcnQ6ZnVuY3Rpb24oZCl7ZC50YXJnZXQhPT10aGlzLl9yZXNpemVIYW5kbGUmJnRoaXMudGFyZ2V0LmNvbHVtblJlb3JkZXJpbmdBbGxvd2VkJiYodGhpcy5fc3RhcnRSZW9yZGVyVGltZW91dD1zZXRUaW1lb3V0KHRoaXMuX3N0YXJ0UmVvcmRlci5iaW5kKHRoaXMsZCksMTAwKSl9LF9zdGFydFJlb3JkZXI6ZnVuY3Rpb24oZCl7dGhpcy5fcmVvcmRlckdob3N0PQp0aGlzLl9nZXRHaG9zdCgpO3RoaXMuX3Jlb3JkZXJHaG9zdC5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIjt2YXIgZj1uZXcgQ3VzdG9tRXZlbnQoImRyYWdzdGFydCIse2J1YmJsZXM6ITB9KTt0aGlzLl9jZWxsQ29udGVudC5kaXNwYXRjaEV2ZW50KGYpO3RoaXMuX3Jlb3JkZXJYWT17eDpkLnRvdWNoZXNbMF0uY2xpZW50WC10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQseTpkLnRvdWNoZXNbMF0uY2xpZW50WS10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcH07dGhpcy5fdXBkYXRlR2hvc3RQb3NpdGlvbihkLnRvdWNoZXNbMF0uY2xpZW50WCxkLnRvdWNoZXNbMF0uY2xpZW50WSl9LF9vblRvdWNoTW92ZTpmdW5jdGlvbihkKXtpZih0aGlzLl9yZW9yZGVyR2hvc3Qpe2QucHJldmVudERlZmF1bHQoKTt2YXIgZj1uZXcgQ3VzdG9tRXZlbnQoImRyYWdvdmVyIix7YnViYmxlczohMH0pO2YuY2xpZW50WD1kLnRvdWNoZXNbMF0uY2xpZW50WDtmLmNsaWVudFk9CmQudG91Y2hlc1swXS5jbGllbnRZO3ZhciBoPXRoaXMuX2NvbnRlbnRGcm9tUG9pbnQoZi5jbGllbnRYLGYuY2xpZW50WSk7aCYmaC5kaXNwYXRjaEV2ZW50KGYpO3RoaXMuX3VwZGF0ZUdob3N0UG9zaXRpb24oZC50b3VjaGVzWzBdLmNsaWVudFgsZC50b3VjaGVzWzBdLmNsaWVudFkpfWVsc2UgY2xlYXJUaW1lb3V0KHRoaXMuX3N0YXJ0UmVvcmRlclRpbWVvdXQpfSxfdXBkYXRlR2hvc3RQb3NpdGlvbjpmdW5jdGlvbihkLGYpe2QtPXRoaXMuX3Jlb3JkZXJYWS54O2Y9Zi10aGlzLl9yZW9yZGVyWFkueS01MDt2YXIgaD1wYXJzZUludCh0aGlzLl9yZW9yZGVyR2hvc3Quc3R5bGUubGVmdHx8MCksaz1wYXJzZUludCh0aGlzLl9yZW9yZGVyR2hvc3Quc3R5bGUudG9wfHwwKSxyPXRoaXMuX3Jlb3JkZXJHaG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLl9yZW9yZGVyR2hvc3Quc3R5bGUubGVmdD1oLShyLmxlZnQtZCkrInB4Ijt0aGlzLl9yZW9yZGVyR2hvc3Quc3R5bGUudG9wPQprLShyLnRvcC1mKSsicHgifSxfb25Ub3VjaEVuZDpmdW5jdGlvbihkKXtjbGVhclRpbWVvdXQodGhpcy5fc3RhcnRSZW9yZGVyVGltZW91dCk7dGhpcy5fcmVvcmRlckdob3N0JiYoZC5wcmV2ZW50RGVmYXVsdCgpLGQ9bmV3IEN1c3RvbUV2ZW50KCJkcmFnZW5kIix7YnViYmxlczohMH0pLHRoaXMuZGlzcGF0Y2hFdmVudChkKSx0aGlzLl9yZW9yZGVyR2hvc3Quc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIix0aGlzLl9yZW9yZGVyR2hvc3Q9bnVsbCl9LF9jb250ZW50RnJvbVBvaW50OmZ1bmN0aW9uKGQsZil7aWYoUG9seW1lci5TZXR0aW5ncy51c2VTaGFkb3cpe3ZhciBoPXRoaXMudGFyZ2V0LiQuc2Nyb2xsZXI7aC50b2dnbGVBdHRyaWJ1dGUoIm5vLWNvbnRlbnQtcG9pbnRlci1ldmVudHMiLCEwKTtkPXRoaXMuZG9tSG9zdC5yb290LmVsZW1lbnRGcm9tUG9pbnQoZCxmKTtoLnRvZ2dsZUF0dHJpYnV0ZSgibm8tY29udGVudC1wb2ludGVyLWV2ZW50cyIsITEpO2lmKGQmJmQuZ2V0Q29udGVudENoaWxkcmVuKXJldHVybiBkLmdldENvbnRlbnRDaGlsZHJlbihQb2x5bWVyLkVsZW1lbnQ/CiJzbG90IjoiY29udGVudCIpWzBdfWVsc2UgcmV0dXJuIGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoZCxmKX0sX2dldEdob3N0OmZ1bmN0aW9uKCl7dmFyIGQ9dGhpcy50YXJnZXQuJC5zY3JvbGxlci4kLnJlb3JkZXJnaG9zdDtkLmlubmVyVGV4dD10aGlzLl9jZWxsQ29udGVudC5pbm5lclRleHQ7dmFyIGY9d2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5fY2VsbENvbnRlbnQpOyJib3hTaXppbmcgZGlzcGxheSB3aWR0aCBoZWlnaHQgYmFja2dyb3VuZCBhbGlnbkl0ZW1zIHBhZGRpbmcgYm9yZGVyIGZsZXgtZGlyZWN0aW9uIG92ZXJmbG93Ii5zcGxpdCgiICIpLmZvckVhY2goZnVuY3Rpb24oaCl7ZC5zdHlsZVtoXT1mW2hdfSx0aGlzKTtyZXR1cm4gZH0sX2VuYWJsZURyYWc6ZnVuY3Rpb24oKXt0aGlzLl9jZWxsQ29udGVudC5kcmFnZ2FibGU9dGhpcy50YXJnZXQuY29sdW1uUmVvcmRlcmluZ0FsbG93ZWQmJiF3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKX0sX2Rpc2FibGVEcmFnOmZ1bmN0aW9uKCl7dGhpcy5fY2VsbENvbnRlbnQuZHJhZ2dhYmxlPQohMX0sX2NhbmNlbE1vdXNlRG93bk9uUmVzaXplOmZ1bmN0aW9uKGQpe2QudGFyZ2V0PT09dGhpcy5fcmVzaXplSGFuZGxlJiZkLnByZXZlbnREZWZhdWx0KCl9LF9yZXNpemFibGVDaGFuZ2VkOmZ1bmN0aW9uKGQpe2Q/KHRoaXMuX3Jlc2l6ZUhhbmRsZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9yZXNpemVIYW5kbGUuY2xhc3NMaXN0LmFkZCgidmFhZGluLWdyaWQtY29sdW1uLXJlc2l6ZS1oYW5kbGUiKSx0aGlzLmxpc3Rlbih0aGlzLl9yZXNpemVIYW5kbGUsInRyYWNrIiwiX29uVHJhY2siKSxQb2x5bWVyLmRvbSh0aGlzKS5hcHBlbmRDaGlsZCh0aGlzLl9yZXNpemVIYW5kbGUpKTp0aGlzLl9yZXNpemVIYW5kbGUmJih0aGlzLnVubGlzdGVuKHRoaXMuX3Jlc2l6ZUhhbmRsZSwidHJhY2siLCJfb25UcmFjayIpLFBvbHltZXIuZG9tKHRoaXMpLnJlbW92ZUNoaWxkKHRoaXMuX3Jlc2l6ZUhhbmRsZSkpfSxfb25UcmFjazpmdW5jdGlvbihkKXt0aGlzLmNvbHVtblJlc2l6aW5nPQohMDt2YXIgZj10aGlzLmNvbHVtbjsidmFhZGluLWdyaWQtY29sdW1uLWdyb3VwIj09PWYubG9jYWxOYW1lJiYoZj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmLl9jaGlsZENvbHVtbnMsMCkuc29ydChmdW5jdGlvbihyLGwpe3JldHVybiByLl9vcmRlci1sLl9vcmRlcn0pLmZpbHRlcihmdW5jdGlvbihyKXtyZXR1cm4hci5oaWRkZW59KS5wb3AoKSk7dmFyIGg9dGhpcy5fZ2V0SGVhZGVyQ2VsbEJ5Q29sdW1uKGYpO2lmKGgub2Zmc2V0V2lkdGgpe3ZhciBrPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGguX2NlbGxDb250ZW50KTtmLndpZHRoPU1hdGgubWF4KDEwK3BhcnNlSW50KGsucGFkZGluZ0xlZnQpK3BhcnNlSW50KGsucGFkZGluZ1JpZ2h0KSxoLm9mZnNldFdpZHRoK2QuZGV0YWlsLngtaC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5yaWdodCkrInB4IjtmLmZsZXhHcm93PTB9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoUG9seW1lci5kb20odGhpcy5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQpLnF1ZXJ5U2VsZWN0b3JBbGwoIi52YWFkaW4tZ3JpZC1yb3c6bGFzdC1jaGlsZCAudmFhZGluLWdyaWQtY2VsbCIpKS5zb3J0KGZ1bmN0aW9uKHIsCmwpe3JldHVybiByLmNvbHVtbi5fb3JkZXItbC5jb2x1bW4uX29yZGVyfSkuZm9yRWFjaChmdW5jdGlvbihyLGwscCl7bDxwLmluZGV4T2YoaCkmJihyLmNvbHVtbi53aWR0aD1yLm9mZnNldFdpZHRoKyJweCIsci5jb2x1bW4uZmxleEdyb3c9MCl9KTt0aGlzLmNvbHVtblJlc2l6aW5nJiYiZW5kIj09PWQuZGV0YWlsLnN0YXRlJiYodGhpcy5jb2x1bW5SZXNpemluZz0hMSk7dGhpcy5maXJlKCJjb2x1bW4tcmVzaXppbmciKX0sX2dldEhlYWRlckNlbGxCeUNvbHVtbjpmdW5jdGlvbihkKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKFBvbHltZXIuZG9tKHRoaXMucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50KS5xdWVyeVNlbGVjdG9yQWxsKCIudmFhZGluLWdyaWQtcm93Omxhc3QtY2hpbGQgLnZhYWRpbi1ncmlkLWNlbGwiKSxmdW5jdGlvbihmKXtyZXR1cm4gZi5jb2x1bW49PT1kfSlbMF19LF9oZWFkZXJUZW1wbGF0ZUNoYW5nZWQ6ZnVuY3Rpb24oZCl7dm9pZCAwIT09CmQmJihudWxsPT09ZHx8IXRoaXMuX2lzQ29sdW1uUm93JiYidmFhZGluLWdyaWQtY29sdW1uLWdyb3VwIiE9PXRoaXMuY29sdW1uLmxvY2FsTmFtZT8odGhpcy5pbnN0YW5jZT17cm9vdDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKX0sdGhpcy5faXNFbXB0eT0hMCk6KHRoaXMuaW5zdGFuY2U9ZC50ZW1wbGF0aXplci5jcmVhdGVJbnN0YW5jZSgpLHRoaXMuX3RlbXBsYXRpemVyPWQudGVtcGxhdGl6ZXIsdGhpcy5faXNFbXB0eT0hMSkpfSxfaXNFbXB0eUNoYW5nZWQ6ZnVuY3Rpb24oZCxmKXtmJiZ0aGlzLmZpcmUoImNlbGwtZW1wdHktY2hhbmdlZCIpfX0pO1BvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC10YWJsZS1mb290ZXItY2VsbCIscHJvcGVydGllczp7Zm9vdGVyVGVtcGxhdGU6T2JqZWN0fSxiZWhhdmlvcnM6W2IsdmFhZGluLmVsZW1lbnRzLmdyaWQuQ2VsbENsaWNrQmVoYXZpb3JdLG9ic2VydmVyczpbIl9mb290ZXJUZW1wbGF0ZUNoYW5nZWQoZm9vdGVyVGVtcGxhdGUpIiwKIl9pc0VtcHR5Q2hhbmdlZChfaXNFbXB0eSwgaXNBdHRhY2hlZCkiXSxfZm9vdGVyVGVtcGxhdGVDaGFuZ2VkOmZ1bmN0aW9uKGQpe3ZvaWQgMCE9PWQmJihudWxsPT09ZHx8IXRoaXMuX2lzQ29sdW1uUm93JiYidmFhZGluLWdyaWQtY29sdW1uLWdyb3VwIiE9PXRoaXMuY29sdW1uLmxvY2FsTmFtZT8odGhpcy5pbnN0YW5jZT17cm9vdDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKX0sdGhpcy5faXNFbXB0eT0hMCk6KHRoaXMuaW5zdGFuY2U9ZC50ZW1wbGF0aXplci5jcmVhdGVJbnN0YW5jZSgpLHRoaXMuX3RlbXBsYXRpemVyPWQudGVtcGxhdGl6ZXIsdGhpcy5faXNFbXB0eT0hMSkpfSxfaXNFbXB0eUNoYW5nZWQ6ZnVuY3Rpb24oZCxmKXtmJiZ0aGlzLmZpcmUoImNlbGwtZW1wdHktY2hhbmdlZCIpfX0pO1BvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC1zaXplci1jZWxsIixiZWhhdmlvcnM6W2JdfSl9KSgpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3ZhYWRpbi1ncmlkL3ZhYWRpbi1ncmlkLXNpemVyLmh0bWwuanMKUG9seW1lcih7aXM6InZhYWRpbi1ncmlkLXNpemVyIixwcm9wZXJ0aWVzOntjb2x1bW5UcmVlOkFycmF5LHRvcDpOdW1iZXIsX2NvbHVtbnM6QXJyYXl9LG9ic2VydmVyczpbIl9jb2x1bW5UcmVlQ2hhbmdlZChjb2x1bW5UcmVlKSIsIl90b3BDaGFuZ2VkKHRvcCkiXSxfY29sdW1uVHJlZUNoYW5nZWQ6ZnVuY3Rpb24oYil7dGhpcy5fY29sdW1ucz1iW2IubGVuZ3RoLTFdfSxfdG9wQ2hhbmdlZDpmdW5jdGlvbihiKXt0aGlzLnN0eWxlLnRvcD1iKyJweCJ9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtdGFibGUtb3V0ZXItc2Nyb2xsZXIuaHRtbC5qcwpQb2x5bWVyKHtpczoidmFhZGluLWdyaWQtdGFibGUtb3V0ZXItc2Nyb2xsZXIiLHByb3BlcnRpZXM6e3Njcm9sbFRhcmdldDp7dHlwZTpPYmplY3Qsb2JzZXJ2ZXI6Il9zY3JvbGxUYXJnZXRDaGFuZ2VkIn0scGFzc3Rocm91Z2g6e3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsdmFsdWU6ITB9fSxsaXN0ZW5lcnM6e3Njcm9sbDoiX3N5bmNTY3JvbGxUYXJnZXQifSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMubGlzdGVuKHRoaXMuZG9tSG9zdCwibW91c2Vtb3ZlIiwiX29uTW91c2VNb3ZlIik7dGhpcy5zdHlsZS53ZWJraXRPdmVyZmxvd1Njcm9sbGluZz0idG91Y2gifSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMudW5saXN0ZW4odGhpcy5kb21Ib3N0LCJtb3VzZW1vdmUiLCJfb25Nb3VzZU1vdmUiKX0sX3Njcm9sbFRhcmdldENoYW5nZWQ6ZnVuY3Rpb24oYixkKXtkJiZ0aGlzLnVubGlzdGVuKGQsInNjcm9sbCIsIl9zeW5jT3V0ZXJTY3JvbGxlciIpO3RoaXMubGlzdGVuKGIsCiJzY3JvbGwiLCJfc3luY091dGVyU2Nyb2xsZXIiKX0sX29uTW91c2VNb3ZlOmZ1bmN0aW9uKGIpe3RoaXMucGFzc3Rocm91Z2g9Yi5vZmZzZXRZPD10aGlzLmNsaWVudEhlaWdodCYmYi5vZmZzZXRYPD10aGlzLmNsaWVudFdpZHRofSxfc3luY091dGVyU2Nyb2xsZXI6ZnVuY3Rpb24oKXt0aGlzLl9zeW5jaW5nU2Nyb2xsVGFyZ2V0fHwodGhpcy5fc3luY2luZ091dGVyU2Nyb2xsZXI9ITAsdGhpcy5zY3JvbGxUb3A9dGhpcy5kb21Ib3N0Ll9zY3JvbGxUb3AsdGhpcy5zY3JvbGxMZWZ0PXRoaXMuZG9tSG9zdC5fc2Nyb2xsTGVmdCk7dGhpcy5fc3luY2luZ1Njcm9sbFRhcmdldD0hMX0sX3N5bmNTY3JvbGxUYXJnZXQ6ZnVuY3Rpb24oKXt0aGlzLl9zeW5jaW5nT3V0ZXJTY3JvbGxlcnx8KHRoaXMuX3N5bmNpbmdTY3JvbGxUYXJnZXQ9ITAsdGhpcy5zY3JvbGxUYXJnZXQuc2Nyb2xsVG9wPXRoaXMuc2Nyb2xsVG9wLHRoaXMuc2Nyb2xsVGFyZ2V0LnNjcm9sbExlZnQ9dGhpcy5zY3JvbGxMZWZ0LAp0aGlzLmRvbUhvc3QuX3Njcm9sbEhhbmRsZXIoKSk7dGhpcy5fc3luY2luZ091dGVyU2Nyb2xsZXI9ITF9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtdGFibGUtZm9jdXMtdHJhcC5odG1sLmpzClBvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC10YWJsZS1mb2N1cy10cmFwIixob3N0QXR0cmlidXRlczp7cm9sZToiZ3JpZGNlbGwifSxwcm9wZXJ0aWVzOnthY3RpdmVUYXJnZXQ6e3R5cGU6U3RyaW5nLG9ic2VydmVyOiJfYWN0aXZlVGFyZ2V0Q2hhbmdlZCJ9fSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuX3ByaW1hcnk9UG9seW1lci5kb20odGhpcy5yb290KS5xdWVyeVNlbGVjdG9yKCIucHJpbWFyeSIpO3RoaXMuX3NlY29uZGFyeT1Qb2x5bWVyLmRvbSh0aGlzLnJvb3QpLnF1ZXJ5U2VsZWN0b3IoIi5zZWNvbmRhcnkiKTtpZihQb2x5bWVyLlNldHRpbmdzLnVzZU5hdGl2ZVNoYWRvd3x8UG9seW1lci5TZXR0aW5ncy51c2VTaGFkb3cpUG9seW1lci5kb20odGhpcykuYXBwZW5kQ2hpbGQodGhpcy5fc2Vjb25kYXJ5KSxQb2x5bWVyLmRvbSh0aGlzKS5hcHBlbmRDaGlsZCh0aGlzLl9wcmltYXJ5KX0sZm9jdXM6ZnVuY3Rpb24oKXt0aGlzLl9mb2N1c2VkIT09dGhpcy5fcHJpbWFyeT90aGlzLl9wcmltYXJ5LmZvY3VzKCk6CnRoaXMuX3NlY29uZGFyeS5mb2N1cygpfSxfb25CYWl0Rm9jdXM6ZnVuY3Rpb24oYil7dGhpcy5fZm9jdXNlZD1iLnRhcmdldDt0aGlzLl9tb3ZpbmdGb2N1c0ludGVybmFsbHl8fCh0aGlzLmZpcmUoImZvY3VzLWdhaW5lZCIpLHRoaXMuX3ByaW1hcnkudGFiSW5kZXg9LTEpfSxfb25CYWl0Qmx1cjpmdW5jdGlvbigpe3RoaXMuX21vdmluZ0ZvY3VzSW50ZXJuYWxseXx8KHRoaXMuZmlyZSgiZm9jdXMtbG9zdCIpLHRoaXMuX3ByaW1hcnkudGFiSW5kZXg9MCl9LF9hY3RpdmVUYXJnZXRDaGFuZ2VkOmZ1bmN0aW9uKGIpe3RoaXMuX21vdmluZ0ZvY3VzSW50ZXJuYWxseT0hMDt0aGlzLl9mb2N1c2VkPT09dGhpcy5fcHJpbWFyeT8odGhpcy5fc2Vjb25kYXJ5LnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbGxlZGJ5IixiKSx0aGlzLl9zZWNvbmRhcnkuZm9jdXMoKSk6KHRoaXMuX3ByaW1hcnkuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsbGVkYnkiLGIpLHRoaXMuX3ByaW1hcnkuZm9jdXMoKSk7CnRoaXMuX21vdmluZ0ZvY3VzSW50ZXJuYWxseT0hMX0sX3JlYW5ub3VuY2U6ZnVuY3Rpb24oKXt0aGlzLl9tb3ZpbmdGb2N1c0ludGVybmFsbHk9ITA7dGhpcy5fZm9jdXNlZD09PXRoaXMuX3ByaW1hcnk/KHRoaXMuX3NlY29uZGFyeS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsdGhpcy5hY3RpdmVUYXJnZXQpLHRoaXMuX3NlY29uZGFyeS5mb2N1cygpKToodGhpcy5fcHJpbWFyeS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsdGhpcy5hY3RpdmVUYXJnZXQpLHRoaXMuX3ByaW1hcnkuZm9jdXMoKSk7dGhpcy5fbW92aW5nRm9jdXNJbnRlcm5hbGx5PSExfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3ZhYWRpbi1ncmlkL3ZhYWRpbi1ncmlkLXRhYmxlLXJvdy5odG1sLmpzCihmdW5jdGlvbigpe3ZhciBiPXtwcm9wZXJ0aWVzOnthY3RpdmU6e3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsdmFsdWU6ITF9LGNvbHVtbnM6QXJyYXksaW5kZXg6TnVtYmVyLGNlbGxzOnt2YWx1ZTpbXX0sdGFyZ2V0Ok9iamVjdCxleHBhbmRlZDp7dmFsdWU6ITF9LGZvY3VzZWQ6e3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LGl0ZW06T2JqZWN0LHNlbGVjdGVkOntyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LF9yb3dEZXRhaWxzQ2VsbDpPYmplY3Qscm93RGV0YWlsc1RlbXBsYXRlOk9iamVjdH0sb2JzZXJ2ZXJzOiJfY29sdW1uc0NoYW5nZWQoY29sdW1ucywgdGFyZ2V0KTtfaW5kZXhDaGFuZ2VkKGluZGV4LCBjZWxscyk7X2l0ZW1DaGFuZ2VkKGl0ZW0sIGNlbGxzKTtfaXRlbUNoYW5nZWRGb3JEZXRhaWxzKGl0ZW0sIF9yb3dEZXRhaWxzQ2VsbCk7X3Jvd0RldGFpbHNDaGFuZ2VkKGV4cGFuZGVkLCByb3dEZXRhaWxzVGVtcGxhdGUsIHRhcmdldCk7X3Jvd0RldGFpbHNDZWxsSW5kZXhDaGFuZ2VkKF9yb3dEZXRhaWxzQ2VsbCwgaW5kZXgpO19yb3dEZXRhaWxzQ2VsbENoYW5nZWQoX3Jvd0RldGFpbHNDZWxsLCB0YXJnZXQpO19zZWxlY3RlZENoYW5nZWQoc2VsZWN0ZWQsIGNlbGxzKTtfc2VsZWN0ZWRDaGFuZ2VkRm9yRGV0YWlscyhzZWxlY3RlZCwgX3Jvd0RldGFpbHNDZWxsKSIuc3BsaXQoIjsiKSwKcmVhZHk6ZnVuY3Rpb24oKXt0aGlzLmNsYXNzTGlzdC5hZGQoInZhYWRpbi1ncmlkLXJvdyIpOyExPT09UG9seW1lci5TZXR0aW5ncy51c2VTaGFkb3cmJih0aGlzLmNsYXNzTGlzdC5hZGQoInN0eWxlLXNjb3BlIiksdGhpcy5jbGFzc0xpc3QuYWRkKCJ2YWFkaW4tZ3JpZCIpKX0saXRlcmF0ZUNlbGxzOmZ1bmN0aW9uKGQpe3RoaXMuY2VsbHMuZm9yRWFjaChkKTt0aGlzLl9yb3dEZXRhaWxzQ2VsbCYmZCh0aGlzLl9yb3dEZXRhaWxzQ2VsbCl9LF9yb3dEZXRhaWxzQ2hhbmdlZDpmdW5jdGlvbihkLGYsaCl7aWYodm9pZCAwIT09ZCYmdm9pZCAwIT09ZiYmdm9pZCAwIT09aCl7aWYoZCl7dmFyIGs9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmFhZGluLWdyaWQtdGFibGUtY2VsbCIpO2suc2V0QXR0cmlidXRlKCJkZXRhaWxzY2VsbCIsITApO2suZnJvemVuPSEwO2sudGFyZ2V0PWg7ay50ZW1wbGF0ZT1mO2sudG9nZ2xlQXR0cmlidXRlKCJsYXN0Y29sdW1uIiwhMCk7UG9seW1lci5kb20odGhpcy5yb290KS5hcHBlbmRDaGlsZChrKTsKUG9seW1lci5kb20uZmx1c2goKTt0aGlzLl9yb3dEZXRhaWxzQ2VsbD1rfWVsc2UgdGhpcy5fcm93RGV0YWlsc0NlbGwmJihQb2x5bWVyLmRvbSh0aGlzLnJvb3QpLnJlbW92ZUNoaWxkKHRoaXMuX3Jvd0RldGFpbHNDZWxsKSx0aGlzLl9yb3dEZXRhaWxzQ2VsbD1udWxsKTt0aGlzLml0ZXJhdGVDZWxscyhmdW5jdGlvbihyKXtyLmV4cGFuZGVkPWR9KTt0aGlzLnRhcmdldC4kLnNjcm9sbGVyLl9mcm96ZW5DZWxsc0NoYW5nZWQoKX19LF91cGRhdGVSb3dWaXNpYmlsaXR5OmZ1bmN0aW9uKCl7dGhpcy5oaWRkZW49dGhpcy5jZWxscy5ldmVyeShmdW5jdGlvbihkKXtyZXR1cm4gZC5faXNFbXB0eX0pfSxfcm93RGV0YWlsc0NlbGxDaGFuZ2VkOmZ1bmN0aW9uKGQsZil7dm9pZCAwIT09ZCYmdm9pZCAwIT09ZiYmZi4kLnNjcm9sbGVyLl91cGRhdGUoKX0sX3Jvd0RldGFpbHNDZWxsSW5kZXhDaGFuZ2VkOmZ1bmN0aW9uKGQsZil7dm9pZCAwIT09ZCYmdm9pZCAwIT09ZiYmKGQ/KGQuaW5kZXg9CmYsUG9seW1lci5kb20uZmx1c2goKSx0aGlzLnVwZGF0ZVJvd0RldGFpbHNDZWxsTWV0cmljcygpKTp0aGlzLnN0eWxlLnBhZGRpbmdCb3R0b209IiIpfSx1cGRhdGVSb3dEZXRhaWxzQ2VsbE1ldHJpY3M6ZnVuY3Rpb24oKXt0aGlzLl9yb3dEZXRhaWxzQ2VsbCYmKHRoaXMudGFyZ2V0JiZ0aGlzLnRhcmdldC5fb2JzZXJ2ZXImJnRoaXMudGFyZ2V0Ll9vYnNlcnZlci5mbHVzaCYmdGhpcy50YXJnZXQuX29ic2VydmVyLmZsdXNoKCksdGhpcy5fcm93RGV0YWlsc0NlbGwuc3R5bGUuaGVpZ2h0PSIiLHRoaXMuc3R5bGUucGFkZGluZ0JvdHRvbT10aGlzLl9yb3dEZXRhaWxzQ2VsbC5zdHlsZS5oZWlnaHQ9dGhpcy5fcm93RGV0YWlsc0NlbGwuY2xpZW50SGVpZ2h0KyJweCIpfSxfY29sdW1uc0NoYW5nZWQ6ZnVuY3Rpb24oZCxmKXtpZih2b2lkIDAhPT1kJiZ2b2lkIDAhPT1mKXtQb2x5bWVyLmRvbSh0aGlzKS5pbm5lckhUTUw9IiI7dmFyIGg9W107ZC5mb3JFYWNoKGZ1bmN0aW9uKGspe3ZhciByPQoiXyIrdGhpcy5pcy5yZXBsYWNlKC8tL2csIl8iKSsiX2NlbGxzIjtyPWtbcl09a1tyXXx8W107dmFyIGw9ci5maWx0ZXIoZnVuY3Rpb24obSl7cmV0dXJuIVBvbHltZXIuZG9tKG0pLnBhcmVudE5vZGV9KVswXTtpZighbCl7bD10aGlzLl9jcmVhdGVDZWxsKCk7dmFyIHA9QXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbCh0aGlzLnRhcmdldC5xdWVyeVNlbGVjdG9yQWxsKCJkb20tcmVwZWF0IiksZnVuY3Rpb24obSl7cmV0dXJuIW0ucmVzdGFtcH0pOyhwPXB8fCJ2YWFkaW4tZ3JpZC10YWJsZS1oZWFkZXItcm93Ij09PXRoaXMuaXN8fCJ2YWFkaW4tZ3JpZC10YWJsZS1mb290ZXItcm93Ij09PXRoaXMuaXMpfHxyLnB1c2gobCl9bC5pbmRleD10aGlzLmluZGV4O2wudGFyZ2V0PXRoaXMudGFyZ2V0O2wuX2lzQ29sdW1uUm93PXRoaXMuX2lzQ29sdW1uUm93O2wuY29sdW1uPWs7bC5leHBhbmRlZD10aGlzLmV4cGFuZGVkO1BvbHltZXIuZG9tKHRoaXMpLmFwcGVuZENoaWxkKGwpO2gucHVzaChsKX0uYmluZCh0aGlzKSk7CnRoaXMuY2VsbHM9aH19LF9pbmRleENoYW5nZWQ6ZnVuY3Rpb24oZCxmKXt2b2lkIDAhPT1kJiZ2b2lkIDAhPT1mJiZmLmZvckVhY2goZnVuY3Rpb24oaCl7aC5pbmRleD1kfSl9LF9pdGVtQ2hhbmdlZDpmdW5jdGlvbihkLGYpe3ZvaWQgMCE9PWQmJnZvaWQgMCE9PWYmJmYuZm9yRWFjaChmdW5jdGlvbihoKXtoLml0ZW09ZH0pfSxfaXRlbUNoYW5nZWRGb3JEZXRhaWxzOmZ1bmN0aW9uKGQsZil7dm9pZCAwIT09ZCYmdm9pZCAwIT09ZiYmZiYmKGYuaXRlbT1kKX0sX3NlbGVjdGVkQ2hhbmdlZDpmdW5jdGlvbihkLGYpe3ZvaWQgMCE9PWQmJnZvaWQgMCE9PWYmJmYuZm9yRWFjaChmdW5jdGlvbihoKXtoLnNlbGVjdGVkPWR9KX0sX3NlbGVjdGVkQ2hhbmdlZEZvckRldGFpbHM6ZnVuY3Rpb24oZCxmKXt2b2lkIDAhPT1kJiZ2b2lkIDAhPT1mJiZmJiYoZi5zZWxlY3RlZD1kKX0sdXBkYXRlTGFzdENvbHVtbjpmdW5jdGlvbigpe3RoaXMuY2VsbHMuc2xpY2UoMCkuc29ydChmdW5jdGlvbihkLApmKXtyZXR1cm4gZC5jb2x1bW4uX29yZGVyLWYuY29sdW1uLl9vcmRlcn0pLmZvckVhY2goZnVuY3Rpb24oZCxmLGgpe2QudG9nZ2xlQXR0cmlidXRlKCJsYXN0Y29sdW1uIixmPT09aC5sZW5ndGgtMSl9KX19O1BvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC10YWJsZS1yb3ciLGJlaGF2aW9yczpbYl0sX2NyZWF0ZUNlbGw6ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmFhZGluLWdyaWQtdGFibGUtY2VsbCIpfX0pO1BvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC10YWJsZS1oZWFkZXItcm93IixiZWhhdmlvcnM6W2JdLG9ic2VydmVyczpbIl91cGRhdGVSb3dWaXNpYmlsaXR5KGNvbHVtbnMpIl0sbGlzdGVuZXJzOnsiY2VsbC1lbXB0eS1jaGFuZ2VkIjoiX3VwZGF0ZVJvd1Zpc2liaWxpdHkifSxfY3JlYXRlQ2VsbDpmdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ2YWFkaW4tZ3JpZC10YWJsZS1oZWFkZXItY2VsbCIpfX0pO1BvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC10YWJsZS1mb290ZXItcm93IiwKYmVoYXZpb3JzOltiXSxvYnNlcnZlcnM6WyJfdXBkYXRlUm93VmlzaWJpbGl0eShjb2x1bW5zKSJdLGxpc3RlbmVyczp7ImNlbGwtZW1wdHktY2hhbmdlZCI6Il91cGRhdGVSb3dWaXNpYmlsaXR5In0sX2NyZWF0ZUNlbGw6ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmFhZGluLWdyaWQtdGFibGUtZm9vdGVyLWNlbGwiKX19KX0pKCk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtcm93LWRldGFpbHMtYmVoYXZpb3IuaHRtbC5qcwp3aW5kb3cudmFhZGluPXdpbmRvdy52YWFkaW58fHt9O3ZhYWRpbi5lbGVtZW50cz12YWFkaW4uZWxlbWVudHN8fHt9O3ZhYWRpbi5lbGVtZW50cy5ncmlkPXZhYWRpbi5lbGVtZW50cy5ncmlkfHx7fTsKdmFhZGluLmVsZW1lbnRzLmdyaWQuUm93RGV0YWlsc0JlaGF2aW9yPXtwcm9wZXJ0aWVzOntleHBhbmRlZEl0ZW1zOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fX0sbGlzdGVuZXJzOnsidGVtcGxhdGUtaW5zdGFuY2UtY2hhbmdlZCI6Il90ZW1wbGF0ZUluc3RhbmNlQ2hhbmdlZEV4cGFuZGVkIn0sb2JzZXJ2ZXJzOlsiX2V4cGFuZGVkSXRlbXNDaGFuZ2VkKGV4cGFuZGVkSXRlbXMuKiwgZGF0YVByb3ZpZGVyKSIsIl9yb3dEZXRhaWxzVGVtcGxhdGVDaGFuZ2VkKF9yb3dEZXRhaWxzVGVtcGxhdGUpIl0sX2V4cGFuZGVkSXRlbXNDaGFuZ2VkOmZ1bmN0aW9uKGIsZCl7dm9pZCAwIT09YiYmdm9pZCAwIT09ZCYmKHRoaXMuX2ZsdXNoSXRlbXNEZWJvdW5jZXIoKSx0aGlzLiQuc2Nyb2xsZXIuX3BoeXNpY2FsSXRlbXMmJnRoaXMuJC5zY3JvbGxlci5fcGh5c2ljYWxJdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKGYpe2YuZXhwYW5kZWQ9dGhpcy5faXNFeHBhbmRlZChmLml0ZW0pfS5iaW5kKHRoaXMpKSl9LApfcm93RGV0YWlsc1RlbXBsYXRlQ2hhbmdlZDpmdW5jdGlvbihiKXt2YXIgZD1uZXcgdmFhZGluLmVsZW1lbnRzLmdyaWQuVGVtcGxhdGl6ZXI7ZC5kYXRhSG9zdD10aGlzLmRhdGFIb3N0O2QuX2luc3RhbmNlUHJvcHM9e2V4cGFuZGVkOiEwLGluZGV4OiEwLGl0ZW06ITAsc2VsZWN0ZWQ6ITB9O1BvbHltZXIuZG9tKHRoaXMucm9vdCkuYXBwZW5kQ2hpbGQoZCk7ZC50ZW1wbGF0ZT1iO2IudGVtcGxhdGl6ZXI9ZH0sX2lzRXhwYW5kZWQ6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuZXhwYW5kZWRJdGVtcyYmLTEhPT10aGlzLmV4cGFuZGVkSXRlbXMuaW5kZXhPZihiKX0sZXhwYW5kSXRlbTpmdW5jdGlvbihiKXt0aGlzLl9pc0V4cGFuZGVkKGIpfHx0aGlzLnB1c2goImV4cGFuZGVkSXRlbXMiLGIpfSxjb2xsYXBzZUl0ZW06ZnVuY3Rpb24oYil7dGhpcy5faXNFeHBhbmRlZChiKSYmdGhpcy5zcGxpY2UoImV4cGFuZGVkSXRlbXMiLHRoaXMuZXhwYW5kZWRJdGVtcy5pbmRleE9mKGIpLDEpfSwKX3RlbXBsYXRlSW5zdGFuY2VDaGFuZ2VkRXhwYW5kZWQ6ZnVuY3Rpb24oYil7ImV4cGFuZGVkIj09PWIuZGV0YWlsLnByb3AmJihiLmRldGFpbC52YWx1ZT90aGlzLmV4cGFuZEl0ZW0oYi5kZXRhaWwuaW5zdC5pdGVtKTp0aGlzLmNvbGxhcHNlSXRlbShiLmRldGFpbC5pbnN0Lml0ZW0pLGIuc3RvcFByb3BhZ2F0aW9uKCkpfX07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtZGF0YS1wcm92aWRlci1iZWhhdmlvci5odG1sLmpzCndpbmRvdy52YWFkaW49d2luZG93LnZhYWRpbnx8e307dmFhZGluLmVsZW1lbnRzPXZhYWRpbi5lbGVtZW50c3x8e307dmFhZGluLmVsZW1lbnRzLmdyaWQ9dmFhZGluLmVsZW1lbnRzLmdyaWR8fHt9Owp2YWFkaW4uZWxlbWVudHMuZ3JpZC5EYXRhUHJvdmlkZXJCZWhhdmlvcj17bGlzdGVuZXJzOnsiaXRlbS1jaGFuZ2VkIjoiX3RlbXBsYXRlSXRlbUNoYW5nZWQifSxwcm9wZXJ0aWVzOntwYWdlU2l6ZTp7dHlwZTpOdW1iZXIsdmFsdWU6NTAsb2JzZXJ2ZXI6Il9wYWdlU2l6ZUNoYW5nZWQifSxkYXRhUHJvdmlkZXI6e3R5cGU6T2JqZWN0LG5vdGlmeTohMCxvYnNlcnZlcjoiX2RhdGFQcm92aWRlckNoYW5nZWQifSxfbG9hZGluZzpCb29sZWFuLF9jYWNoZTp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57fX19LF9wZW5kaW5nUmVxdWVzdHM6e3R5cGU6T2JqZWN0LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue319fX0sX3RlbXBsYXRlSXRlbUNoYW5nZWQ6ZnVuY3Rpb24oYil7dmFyIGQ9Yi5kZXRhaWwuaXRlbTtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFBvbHltZXIuZG9tKHRoaXMuJC5pdGVtcykuY2hpbGRyZW4sZnVuY3Rpb24oZil7Zi5pdGVtPT09ZCYmZi5pdGVyYXRlQ2VsbHMoZnVuY3Rpb24oaCl7aC5fdGVtcGxhdGl6ZXIuX3N1cHByZXNzSXRlbUNoYW5nZUV2ZW50PQohMDtoLmluc3RhbmNlLm5vdGlmeVBhdGgoIml0ZW0uIitiLmRldGFpbC5wYXRoLGIuZGV0YWlsLnZhbHVlKTtoLl90ZW1wbGF0aXplci5fc3VwcHJlc3NJdGVtQ2hhbmdlRXZlbnQ9ITF9KX0pfSxfZ2V0Q2FjaGVkSXRlbTpmdW5jdGlvbihiKXt2YXIgZD10aGlzLl9nZXRQYWdlRm9ySW5kZXgoYiksZj10aGlzLl9jYWNoZSYmdGhpcy5fY2FjaGVbZF07cmV0dXJuIGY/ZltiLWQqdGhpcy5wYWdlU2l6ZV06bnVsbH0sX2dldEl0ZW06ZnVuY3Rpb24oYixkKXt0aGlzLl91cGRhdGVJdGVtKGQsdGhpcy5fZ2V0Q2FjaGVkSXRlbShiKSk7dGhpcy5fZWFnZXJseUxvYWRQYWdlcygpO3ZhciBmPXRoaXMuX3VuY2FjaGVkUGFnZXNGb3JQaHlzaWNhbEl0ZW1zKCk7MDxmLmxlbmd0aCYmKHRoaXMuX2xvYWRpbmc9ITAsdGhpcy5kZWJvdW5jZSgibG9hZCIsZnVuY3Rpb24oKXtmLmZvckVhY2goZnVuY3Rpb24oaCl7dGhpcy5fbG9hZFBhZ2UoaCl9LmJpbmQodGhpcykpfSwxMDApKX0sX2NhY2hlZFBhZ2VzRm9yUGh5c2ljYWxJdGVtczpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wYWdlc0ZvclBoeXNpY2FsSXRlbXMoKS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIHZvaWQgMCE9PQp0aGlzLl9jYWNoZSYmdm9pZCAwIT09dGhpcy5fY2FjaGVbYl19LmJpbmQodGhpcykpfSxfdW5jYWNoZWRQYWdlc0ZvclBoeXNpY2FsSXRlbXM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcGFnZXNGb3JQaHlzaWNhbEl0ZW1zKCkuZmlsdGVyKGZ1bmN0aW9uKGIpe3JldHVybiB2b2lkIDAhPT10aGlzLl9jYWNoZSYmdm9pZCAwPT09dGhpcy5fY2FjaGVbYl19LmJpbmQodGhpcykpfSxfZWFnZXJseUxvYWRQYWdlczpmdW5jdGlvbigpe3ZhciBiPXRoaXMuX2NhY2hlZFBhZ2VzRm9yUGh5c2ljYWxJdGVtcygpLnNsaWNlKDApO2lmKDA8Yi5sZW5ndGgpe2Iuc29ydChmdW5jdGlvbihmLGgpe3JldHVybiBmPmh9KTt2YXIgZD1NYXRoLm1pbihiW2IubGVuZ3RoLTFdKzEsTWF0aC5tYXgoMCxNYXRoLmZsb29yKHRoaXMuc2l6ZS90aGlzLnBhZ2VTaXplKS0xKSk7dGhpcy5fbG9hZFBhZ2UoTWF0aC5tYXgoMCxiWzBdLTEpKTt0aGlzLl9sb2FkUGFnZShkKX19LF9wYWdlc0ZvclBoeXNpY2FsSXRlbXM6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy5fZ2V0UGFnZUZvckluZGV4KHRoaXMuJC5zY3JvbGxlci5maXJzdFZpc2libGVJbmRleCsKdGhpcy4kLnNjcm9sbGVyLl92aWR4T2Zmc2V0KV0uY29uY2F0KHRoaXMuJC5zY3JvbGxlci5fcGh5c2ljYWxJdGVtcy5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIGIuaW5kZXh9KS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuX2dldFBhZ2VGb3JJbmRleChiLmluZGV4KX0uYmluZCh0aGlzKSkpLnJlZHVjZShmdW5jdGlvbihiLGQpey0xPT09Yi5pbmRleE9mKGQpJiZiLnB1c2goZCk7cmV0dXJuIGJ9LFtdKX0sX3VwZGF0ZUl0ZW1zOmZ1bmN0aW9uKGIsZCl7Zm9yKHZhciBmPTA7Zjx0aGlzLnBhZ2VTaXplO2YrKyl7dmFyIGg9dGhpcy4kLnNjcm9sbGVyLl92aXJ0dWFsSW5kZXhUb0l0ZW1bYip0aGlzLnBhZ2VTaXplK2ZdO2gmJih0aGlzLl91cGRhdGVJdGVtKGgsZFtmXSksdGhpcy5kZWJvdW5jZSgidXBkYXRlLWhlaWdodHMiLGZ1bmN0aW9uKCl7dGhpcy4kLnNjcm9sbGVyLl91cGRhdGVNZXRyaWNzKCk7dGhpcy4kLnNjcm9sbGVyLl9wb3NpdGlvbkl0ZW1zKCk7dGhpcy4kLnNjcm9sbGVyLl91cGRhdGVTY3JvbGxlclNpemUoKX0sCjEpKX19LF9sb2FkUGFnZTpmdW5jdGlvbihiLGQpe2Q9ZHx8dGhpcy5fdXBkYXRlSXRlbXMuYmluZCh0aGlzKTtpZighdGhpcy5fY2FjaGVbYl0mJiF0aGlzLl9wZW5kaW5nUmVxdWVzdHNbYl0mJnRoaXMuZGF0YVByb3ZpZGVyKXt0aGlzLl9wZW5kaW5nUmVxdWVzdHNbYl09ITA7dmFyIGY9e3BhZ2U6YixwYWdlU2l6ZTp0aGlzLnBhZ2VTaXplLHNvcnRPcmRlcnM6dGhpcy5fbWFwU29ydGVycygpLGZpbHRlcnM6dGhpcy5fbWFwRmlsdGVycygpfTt0aGlzLmRhdGFQcm92aWRlcihmLGZ1bmN0aW9uKGgpe3RoaXMuX2NhY2hlW2JdPWg7ZGVsZXRlIHRoaXMuX3BlbmRpbmdSZXF1ZXN0c1tiXTtkKGIsaCk7dGhpcy5fbG9hZGluZz0wPHRoaXMuX3BlbmRpbmdSZXF1ZXN0cy5sZW5ndGg7dGhpcy5kZWJvdW5jZSgiY2hlY2stc2l6ZSIsdGhpcy5fY2hlY2tTaXplLDJFMyl9LmJpbmQodGhpcykpfX0sX2dldFBhZ2VGb3JJbmRleDpmdW5jdGlvbihiKXtyZXR1cm4gTWF0aC5mbG9vcihiL3RoaXMucGFnZVNpemUpfSwKY2xlYXJDYWNoZTpmdW5jdGlvbigpe3RoaXMuX2NhY2hlPXt9O3RoaXMuX3BlbmRpbmdSZXF1ZXN0cz17fTt0aGlzLiQuc2Nyb2xsZXIuaGFzRGF0YSYmdGhpcy4kLnNjcm9sbGVyLl91cGRhdGUoKTt0aGlzLl9mbHVzaEl0ZW1zRGVib3VuY2VyKCl9LF9mbHVzaEl0ZW1zRGVib3VuY2VyOmZ1bmN0aW9uKCl7dGhpcy5mbHVzaERlYm91bmNlcigibG9hZCIpfSxfcGFnZVNpemVDaGFuZ2VkOmZ1bmN0aW9uKGIsZCl7dm9pZCAwIT09ZCYmYiE9PWQmJnRoaXMuY2xlYXJDYWNoZSgpfSxfY2hlY2tTaXplOmZ1bmN0aW9uKCl7dm9pZCAwPT09dGhpcy5zaXplJiZjb25zb2xlLndhcm4oJ1RoZSBceDNjdmFhZGluLWdyaWRceDNlIG5lZWRzIGEgdmFsdWUgZm9yICJzaXplIiBwcm9wZXJ0eSBpbiBvcmRlciB0byBkaXNwbGF5IHJvd3MuJyl9LF9kYXRhUHJvdmlkZXJDaGFuZ2VkOmZ1bmN0aW9uKGIsZCl7dm9pZCAwIT09ZCYmdGhpcy5jbGVhckNhY2hlKCk7dGhpcy4kLnNjcm9sbGVyLmhhc0RhdGF8fAoodGhpcy5fbG9hZGluZz0hMCx0aGlzLl9sb2FkUGFnZSgwLGZ1bmN0aW9uKCl7dGhpcy4kLnNjcm9sbGVyLmhhc0RhdGE9ITB9LmJpbmQodGhpcykpKX19OwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3ZhYWRpbi1ncmlkL3ZhYWRpbi1ncmlkLWtleWJvYXJkLW5hdmlnYXRpb24tYmVoYXZpb3IuaHRtbC5qcwp3aW5kb3cudmFhZGluPXdpbmRvdy52YWFkaW58fHt9O3ZhYWRpbi5lbGVtZW50cz12YWFkaW4uZWxlbWVudHN8fHt9O3ZhYWRpbi5lbGVtZW50cy5ncmlkPXZhYWRpbi5lbGVtZW50cy5ncmlkfHx7fTsKdmFhZGluLmVsZW1lbnRzLmdyaWQuVGFibGVLZXlib2FyZEJlaGF2aW9ySW1wbD17aG9zdEF0dHJpYnV0ZXM6e3JvbGU6ImFwcGxpY2F0aW9uIix0YWJpbmRleDowfSxrZXlCaW5kaW5nczp7ImN0cmwraG9tZSI6Il9vbkN0cmxIb21lIiwiY3RybCtlbmQiOiJfb25DdHJsRW5kIixkb3duOiJfb25BcnJvd0Rvd24iLGVuZDoiX29uRW5kIixlbnRlcjoiX29uRW50ZXIiLGVzYzoiX29uRXNjYXBlIixmMjoiX29uRjIiLGhvbWU6Il9vbkhvbWUiLGxlZnQ6Il9vbkFycm93TGVmdCIscGFnZWRvd246Il9vblBhZ2VEb3duIixwYWdldXA6Il9vblBhZ2VVcCIscmlnaHQ6Il9vbkFycm93UmlnaHQiLHNwYWNlOiJfb25TcGFjZSIsdGFiOiJfb25UYWIiLHVwOiJfb25BcnJvd1VwIn0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXtQb2x5bWVyLklyb25BMTF5QW5ub3VuY2VyLnJlcXVlc3RBdmFpbGFiaWxpdHkoKX0scHJvcGVydGllczp7X3ZpcnR1YWxGb2N1czp7dHlwZTpPYmplY3Qsb2JzZXJ2ZXI6Il92aXJ0dWFsRm9jdXNDaGFuZ2VkIn0sCmludGVyYWN0aW5nOnt0eXBlOkJvb2xlYW4scmVmbGVjdFRvQXR0cmlidXRlOiEwLHZhbHVlOiExfSxuYXZpZ2F0aW5nOnt0eXBlOkJvb2xlYW4scmVmbGVjdFRvQXR0cmlidXRlOiEwLHZhbHVlOiExfX0sbGlzdGVuZXJzOntmb2N1czoiX29uRm9jdXMiLCJjZWxsLWZvY3VzIjoiX29uQ2VsbEZvY3VzIiwiY2VsbC1jb250ZW50LWZvY3VzIjoiX29uQ2VsbENvbnRlbnRGb2N1cyJ9LHJlYWR5OmZ1bmN0aW9uKCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24oYil7OT09PWIua2V5Q29kZSYmKHRoaXMuX3RhYmJlZD0hMCk7OT09PWIua2V5Q29kZSYmYi5zaGlmdEtleSYmKHRoaXMuX3NoaWZ0VGFiYmVkPSEwKX0uYmluZCh0aGlzKSwhMCk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLGZ1bmN0aW9uKGIpezk9PT1iLmtleUNvZGUmJih0aGlzLl90YWJiZWQ9ITEpOzk9PT1iLmtleUNvZGUmJmIuc2hpZnRLZXkmJih0aGlzLl9zaGlmdFRhYmJlZD0KITEpfS5iaW5kKHRoaXMpLCEwKX0sX2lzRm9vdGVyVmlzaWJsZTpmdW5jdGlvbigpe3JldHVybiAwPHRoaXMuJC5mb290ZXIuX3Jvd3MuZmlsdGVyKGZ1bmN0aW9uKGIpe3JldHVybiFiLmhpZGRlbn0pLmxlbmd0aH0sX29uRm9jdXM6ZnVuY3Rpb24oKXt0aGlzLl90YWJiZWQmJiF0aGlzLl9zaGlmdFRhYmJlZCYmdGhpcy5fYWN0aXZhdGVOYXZpZ2F0aW9uKCl9LF9hY3RpdmF0ZU5hdmlnYXRpb246ZnVuY3Rpb24oKXt0aGlzLiQuZm9vdGVyRm9jdXNUcmFwLmZvY3VzKCl9LF9vbkZvY3Vzb3V0OmZ1bmN0aW9uKCl7dGhpcy5pbnRlcmFjdGluZz10aGlzLm5hdmlnYXRpbmc9ITF9LF9vbkZvb3RlckZvY3VzOmZ1bmN0aW9uKCl7dGhpcy5uYXZpZ2F0aW5nPSEwO3RoaXMuaW50ZXJhY3Rpbmc9ITE7dGhpcy5fdmlydHVhbEZvY3VzPXRoaXMuX3ZpcnR1YWxGb2N1c3x8KHRoaXMuX3NoaWZ0VGFiYmVkP3RoaXMuX2lzRm9vdGVyVmlzaWJsZSgpP3RoaXMuJC5mb290ZXI6dGhpcy4kLml0ZW1zOgp0aGlzLiQuaGVhZGVyKX0sX3ZpcnR1YWxGb2N1c0NoYW5nZWQ6ZnVuY3Rpb24oYixkKXtkJiYoZC5mb2N1c2VkPSExKTtiJiYoYi5fZm9jdXNlZENlbGxJbmRleD1iLl9mb2N1c2VkQ2VsbEluZGV4fHwwLGIuX2ZvY3VzZWRSb3dJbmRleD1iLl9mb2N1c2VkUm93SW5kZXh8fDAsYi5mb2N1c2VkPSEwLGI9PT10aGlzLiQuaXRlbXMmJnRoaXMuX2Vuc3VyZVZpcnR1YWxGb2N1c0luVmlld3BvcnQoKSl9LF9vblRhYjpmdW5jdGlvbihiKXtpZighdGhpcy5pbnRlcmFjdGluZyYmdGhpcy5fdmlydHVhbEZvY3VzKWlmKHRoaXMubmF2aWdhdGluZylpZihiLmRldGFpbC5rZXlib2FyZEV2ZW50LnNoaWZ0S2V5KXN3aXRjaCh0aGlzLl92aXJ0dWFsRm9jdXMpe2Nhc2UgdGhpcy4kLmZvb3Rlcjp0aGlzLl92aXJ0dWFsRm9jdXM9dGhpcy4kLml0ZW1zO2IucHJldmVudERlZmF1bHQoKTticmVhaztjYXNlIHRoaXMuJC5pdGVtczp0aGlzLl92aXJ0dWFsRm9jdXM9dGhpcy4kLmhlYWRlcjtiLnByZXZlbnREZWZhdWx0KCk7CmJyZWFrO2Nhc2UgdGhpcy4kLmhlYWRlcjp0aGlzLmZvY3VzKCksdGhpcy5fdmlydHVhbEZvY3VzPW51bGx9ZWxzZSBzd2l0Y2godGhpcy5fdmlydHVhbEZvY3VzKXtjYXNlIHRoaXMuJC5oZWFkZXI6dGhpcy5fdmlydHVhbEZvY3VzPXRoaXMuJC5pdGVtcztiLnByZXZlbnREZWZhdWx0KCk7YnJlYWs7Y2FzZSB0aGlzLiQuaXRlbXM6dGhpcy5faXNGb290ZXJWaXNpYmxlKCk/KHRoaXMuX3ZpcnR1YWxGb2N1cz10aGlzLiQuZm9vdGVyLGIucHJldmVudERlZmF1bHQoKSk6dGhpcy5hc3luYyhmdW5jdGlvbigpe3RoaXMuX3ZpcnR1YWxGb2N1cz1udWxsfSwxKTticmVhaztjYXNlIHRoaXMuJC5mb290ZXI6dGhpcy5fdmlydHVhbEZvY3VzPW51bGx9ZWxzZSB0aGlzLl9hY3RpdmF0ZU5hdmlnYXRpb24oKSxiLnByZXZlbnREZWZhdWx0KCl9LF9pc0Fib3ZlVmlld3BvcnQ6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuZmlyc3RWaXNpYmxlSW5kZXg+Yn0sX29uQXJyb3dEb3duOmZ1bmN0aW9uKGIpe3RoaXMuaW50ZXJhY3Rpbmd8fAooYi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubmF2aWdhdGluZz0hMCx0aGlzLl92aXJ0dWFsRm9jdXMuZm9jdXNEb3duKCksdGhpcy5fZW5zdXJlVmlydHVhbEZvY3VzSW5WaWV3cG9ydCgpKX0sX3Njcm9sbFBhZ2VEb3duOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy4kLmhlYWRlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxkPXRoaXMuJC5mb290ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy4kLnNjcm9sbGVyLiQudGFibGUuc2Nyb2xsVG9wKz1kLnRvcC1iLmJvdHRvbTt0aGlzLiQuc2Nyb2xsZXIuX3Njcm9sbEhhbmRsZXIoKX0sX29uUGFnZURvd246ZnVuY3Rpb24oYil7dGhpcy5pbnRlcmFjdGluZ3x8KGIucHJldmVudERlZmF1bHQoKSx0aGlzLm5hdmlnYXRpbmc9ITAsdGhpcy5fdmlydHVhbEZvY3VzPT09dGhpcy4kLml0ZW1zPyhiPXRoaXMuJC5zY3JvbGxlci5sYXN0VmlzaWJsZUluZGV4LHRoaXMuX3Njcm9sbFBhZ2VEb3duKCksdGhpcy5fdmlydHVhbEZvY3VzLl9mb2N1c2VkUm93SW5kZXgrPQp0aGlzLiQuc2Nyb2xsZXIubGFzdFZpc2libGVJbmRleC1ifHx0aGlzLiQuc2Nyb2xsZXIubGFzdFZpc2libGVJbmRleC10aGlzLl92aXJ0dWFsRm9jdXMuX2ZvY3VzZWRSb3dJbmRleCx0aGlzLl9lbnN1cmVWaXJ0dWFsRm9jdXNJblZpZXdwb3J0KCkpOnRoaXMuX3ZpcnR1YWxGb2N1cy5mb2N1c1BhZ2VEb3duKCkpfSxfc2Nyb2xsUGFnZVVwOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy4kLmhlYWRlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxkPXRoaXMuJC5mb290ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy4kLnNjcm9sbGVyLiQudGFibGUuc2Nyb2xsVG9wLT1kLnRvcC1iLmJvdHRvbTt0aGlzLiQuc2Nyb2xsZXIuX3Njcm9sbEhhbmRsZXIoKX0sX29uUGFnZVVwOmZ1bmN0aW9uKGIpe3RoaXMuaW50ZXJhY3Rpbmd8fChiLnByZXZlbnREZWZhdWx0KCksdGhpcy5uYXZpZ2F0aW5nPSEwLHRoaXMuX3ZpcnR1YWxGb2N1cz09PXRoaXMuJC5pdGVtcz8oYj10aGlzLiQuc2Nyb2xsZXIubGFzdFZpc2libGVJbmRleCwKdGhpcy5fc2Nyb2xsUGFnZVVwKCksdGhpcy5fdmlydHVhbEZvY3VzLl9mb2N1c2VkUm93SW5kZXgtPWItdGhpcy4kLnNjcm9sbGVyLmxhc3RWaXNpYmxlSW5kZXh8fHRoaXMuX3ZpcnR1YWxGb2N1cy5fZm9jdXNlZFJvd0luZGV4LHRoaXMuX2Vuc3VyZVZpcnR1YWxGb2N1c0luVmlld3BvcnQoKSk6dGhpcy5fdmlydHVhbEZvY3VzLmZvY3VzUGFnZVVwKCkpfSxfb25BcnJvd1VwOmZ1bmN0aW9uKGIpe3RoaXMuaW50ZXJhY3Rpbmd8fChiLnByZXZlbnREZWZhdWx0KCksdGhpcy5uYXZpZ2F0aW5nPSEwLHRoaXMuX3ZpcnR1YWxGb2N1cy5mb2N1c1VwKCksdGhpcy5fZW5zdXJlVmlydHVhbEZvY3VzSW5WaWV3cG9ydCgpKX0sX29uQXJyb3dSaWdodDpmdW5jdGlvbihiKXt0aGlzLmludGVyYWN0aW5nfHwoYi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubmF2aWdhdGluZz0hMCx0aGlzLl92aXJ0dWFsRm9jdXMuZm9jdXNSaWdodCgpLHRoaXMuX2Vuc3VyZVZpcnR1YWxGb2N1c0luVmlld3BvcnQoKSl9LApfb25BcnJvd0xlZnQ6ZnVuY3Rpb24oYil7dGhpcy5pbnRlcmFjdGluZ3x8KGIucHJldmVudERlZmF1bHQoKSx0aGlzLm5hdmlnYXRpbmc9ITAsdGhpcy5fdmlydHVhbEZvY3VzLmZvY3VzTGVmdCgpLHRoaXMuX2Vuc3VyZVZpcnR1YWxGb2N1c0luVmlld3BvcnQoKSl9LF9vbkhvbWU6ZnVuY3Rpb24oYil7dGhpcy5pbnRlcmFjdGluZ3x8KGIucHJldmVudERlZmF1bHQoKSx0aGlzLm5hdmlnYXRpbmc9ITAsdGhpcy5fdmlydHVhbEZvY3VzLmZvY3VzSG9tZSgpLHRoaXMuX2Vuc3VyZVZpcnR1YWxGb2N1c0luVmlld3BvcnQoKSl9LF9vbkVuZDpmdW5jdGlvbihiKXt0aGlzLmludGVyYWN0aW5nfHwoYi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubmF2aWdhdGluZz0hMCx0aGlzLl92aXJ0dWFsRm9jdXMuZm9jdXNFbmQoKSx0aGlzLl9lbnN1cmVWaXJ0dWFsRm9jdXNJblZpZXdwb3J0KCkpfSxfbW92ZUZvY3VzVG9Gb2N1c1RhcmdldDpmdW5jdGlvbigpe3ZhciBiPXRoaXMuX3ZpcnR1YWxGb2N1cy5fZm9jdXNlZENlbGwuX2NlbGxDb250ZW50OwooYj1iLnF1ZXJ5U2VsZWN0b3IoIltmb2N1cy10YXJnZXRdIil8fGIuZmlyc3RFbGVtZW50Q2hpbGQpJiZiLmZvY3VzKCl9LF9vbkVudGVyOmZ1bmN0aW9uKGIpe3RoaXMuaW50ZXJhY3Rpbmc/ImlucHV0Ij09PWIuZGV0YWlsLmtleWJvYXJkRXZlbnQudGFyZ2V0LmxvY2FsTmFtZSYmInRleHQiPT09Yi5kZXRhaWwua2V5Ym9hcmRFdmVudC50YXJnZXQudHlwZSYmdGhpcy4kLmZvb3RlckZvY3VzVHJhcC5mb2N1cygpOihiLnByZXZlbnREZWZhdWx0KCksdGhpcy5fbW92ZUZvY3VzVG9Gb2N1c1RhcmdldCgpKX0sX29uRXNjYXBlOmZ1bmN0aW9uKCl7dGhpcy5pbnRlcmFjdGluZz90aGlzLiQuZm9vdGVyRm9jdXNUcmFwLmZvY3VzKCk6dGhpcy5uYXZpZ2F0aW5nJiYodGhpcy5uYXZpZ2F0aW5nPSExKX0sX29uRjI6ZnVuY3Rpb24oYil7Yi5wcmV2ZW50RGVmYXVsdCgpO3RoaXMuaW50ZXJhY3Rpbmc/dGhpcy4kLmZvb3RlckZvY3VzVHJhcC5mb2N1cygpOnRoaXMuX21vdmVGb2N1c1RvRm9jdXNUYXJnZXQoKX0sCl9vbkN0cmxIb21lOmZ1bmN0aW9uKGIpe3RoaXMuaW50ZXJhY3Rpbmd8fChiLnByZXZlbnREZWZhdWx0KCksdGhpcy5uYXZpZ2F0aW5nPSEwLHRoaXMuX3ZpcnR1YWxGb2N1cy5mb2N1c0ZpcnN0KCksdGhpcy5fZW5zdXJlVmlydHVhbEZvY3VzSW5WaWV3cG9ydCgpKX0sX29uQ3RybEVuZDpmdW5jdGlvbihiKXt0aGlzLmludGVyYWN0aW5nfHwoYi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubmF2aWdhdGluZz0hMCx0aGlzLl92aXJ0dWFsRm9jdXMuZm9jdXNMYXN0KCksdGhpcy5fZW5zdXJlVmlydHVhbEZvY3VzSW5WaWV3cG9ydCgpKX0sX29uU3BhY2U6ZnVuY3Rpb24oYil7aWYoIXRoaXMuaW50ZXJhY3Rpbmcpe2IucHJldmVudERlZmF1bHQoKTtiPXRoaXMuX3ZpcnR1YWxGb2N1cy5fZm9jdXNlZENlbGw7dmFyIGQ9Yi5nZXRDb250ZW50Q2hpbGRyZW4oUG9seW1lci5FbGVtZW50PyJzbG90IjoiY29udGVudCIpWzBdLmZpcnN0RWxlbWVudENoaWxkO2Q/ZC5jbGljaygpOnRoaXMubmF2aWdhdGluZyYmCnRoaXMuZmlyZSgiY2VsbC1hY3RpdmF0ZSIse21vZGVsOmIuaW5zdGFuY2V9KX19LF9vbkNlbGxDb250ZW50Rm9jdXM6ZnVuY3Rpb24oYil7dGhpcy5pbnRlcmFjdGluZz0hMDt0aGlzLl9vbkNlbGxGb2N1cyhiKX0sX29uQ2VsbEZvY3VzOmZ1bmN0aW9uKGIpe2I9Yi5kZXRhaWwuY2VsbDt2YXIgZD1iLnBhcmVudEVsZW1lbnQsZj1kLnBhcmVudEVsZW1lbnQsaD1BcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKFBvbHltZXIuZG9tKGYpLmNoaWxkcmVuLGQpO2Y9PT10aGlzLiQuaXRlbXMmJihoPWQuaW5kZXgpO2YuX2ZvY3VzZWRSb3dJbmRleD1oO2YuX2ZvY3VzZWRDZWxsSW5kZXg9QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChQb2x5bWVyLmRvbShkKS5jaGlsZHJlbixiKTt0aGlzLl92aXJ0dWFsRm9jdXM9ZjtiLmhhc0F0dHJpYnV0ZSgiZGV0YWlsc2NlbGwiKSYmKGYuX2ZvY3VzZWRDZWxsSW5kZXg9MCxmLl9tb3ZlRm9jdXNUb0RldGFpbHNDZWxsKCkpfSxfZW5zdXJlVmlydHVhbEZvY3VzSW5WaWV3cG9ydDpmdW5jdGlvbigpe3ZhciBiPQp0aGlzLiQuc2Nyb2xsZXIuX3ZpZHhPZmZzZXQrdGhpcy4kLnNjcm9sbGVyLl92aXJ0dWFsU3RhcnQsZD10aGlzLl92aXJ0dWFsRm9jdXMuX2ZvY3VzZWRSb3dJbmRleDt0aGlzLl92aXJ0dWFsRm9jdXM9PT10aGlzLiQuaXRlbXMmJihkPGJ8fGQ+Yit0aGlzLiQuc2Nyb2xsZXIuX3BoeXNpY2FsQ291bnQpJiYodGhpcy4kLnNjcm9sbGVyLnNjcm9sbFRvU2NhbGVkSW5kZXgoZCksdGhpcy5fdmlydHVhbEZvY3VzLl9mb2N1c2VkQ2VsbENoYW5nZWQoZCx0aGlzLl92aXJ0dWFsRm9jdXMuX2ZvY3VzZWRDZWxsSW5kZXgpKTt0aGlzLl9lbnN1cmVFbGVtZW50SW5WaWV3cG9ydCh0aGlzLl92aXJ0dWFsRm9jdXMuX2ZvY3VzZWRDZWxsKX0sX2Vuc3VyZUVsZW1lbnRJblZpZXdwb3J0OmZ1bmN0aW9uKGIpe3ZhciBkPWIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYodGhpcy5fdmlydHVhbEZvY3VzPT09dGhpcy4kLml0ZW1zKXt2YXIgZj10aGlzLiQuZm9vdGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCwKaD10aGlzLiQuaGVhZGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbTtkLmJvdHRvbT5mP3RoaXMuJC5zY3JvbGxlci4kLnRhYmxlLnNjcm9sbFRvcCs9ZC5ib3R0b20tZjpkLnRvcDxoJiYodGhpcy4kLnNjcm9sbGVyLiQudGFibGUuc2Nyb2xsVG9wKz1kLnRvcC1oKX1pZighYi5oYXNBdHRyaWJ1dGUoImRldGFpbHNjZWxsIikpe2I9dGhpcy4kLnNjcm9sbGVyLiQudGFibGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHQ7Zj10aGlzLiQuc2Nyb2xsZXIuJC50YWJsZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0O2lmKGg9dGhpcy5fdmlydHVhbEZvY3VzLl9mb2N1c2VkUm93LnF1ZXJ5U2VsZWN0b3IoIltsYXN0LWZyb3plbl0iKSlmPWguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHQ7ZC5yaWdodD5iP3RoaXMuJC5zY3JvbGxlci4kLnRhYmxlLnNjcm9sbExlZnQrPWQucmlnaHQtYjpkLmxlZnQ8ZiYmKHRoaXMuJC5zY3JvbGxlci4kLnRhYmxlLnNjcm9sbExlZnQrPQpkLmxlZnQtZil9fX07dmFhZGluLmVsZW1lbnRzLmdyaWQuVGFibGVLZXlib2FyZEJlaGF2aW9yPVt2YWFkaW4uZWxlbWVudHMuZ3JpZC5UYWJsZUtleWJvYXJkQmVoYXZpb3JJbXBsLFBvbHltZXIuSXJvbkExMXlLZXlzQmVoYXZpb3JdOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3ZhYWRpbi1ncmlkL3ZhYWRpbi1ncmlkLWNvbHVtbi1yZW9yZGVyaW5nLWJlaGF2aW9yLmh0bWwuanMKd2luZG93LnZhYWRpbj13aW5kb3cudmFhZGlufHx7fTt2YWFkaW4uZWxlbWVudHM9dmFhZGluLmVsZW1lbnRzfHx7fTt2YWFkaW4uZWxlbWVudHMuZ3JpZD12YWFkaW4uZWxlbWVudHMuZ3JpZHx8e307dmFhZGluLmVsZW1lbnRzLmdyaWQuQ29sdW1uUmVvcmRlcmluZ0JlaGF2aW9yPXtwcm9wZXJ0aWVzOntjb2x1bW5SZW9yZGVyaW5nQWxsb3dlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfX19Owp2YWFkaW4uZWxlbWVudHMuZ3JpZC5UYWJsZUNvbHVtblJlb3JkZXJpbmdCZWhhdmlvcj17cHJvcGVydGllczp7X29yZGVyQmFzZVNjb3BlOnt0eXBlOk51bWJlcix2YWx1ZToxRTd9fSxsaXN0ZW5lcnM6e2RyYWdzdGFydDoiX29uRHJhZ1N0YXJ0IixkcmFnb3ZlcjoiX29uRHJhZ092ZXIiLGRyYWdlbmQ6Il9vbkRyYWdFbmQifSxvYnNlcnZlcnM6WyJfdXBkYXRlT3JkZXJzKGNvbHVtblRyZWUsIGNvbHVtblRyZWUuKikiXSxfdXBkYXRlT3JkZXJzOmZ1bmN0aW9uKGIsZCl7dm9pZCAwIT09YiYmdm9pZCAwIT09ZCYmYlswXS5mb3JFYWNoKGZ1bmN0aW9uKGYsaCl7Zi5fb3JkZXI9KGgrMSkqdGhpcy5fb3JkZXJCYXNlU2NvcGV9LHRoaXMpfSxfb25EcmFnU3RhcnQ6ZnVuY3Rpb24oYil7aWYoInZhYWRpbi1ncmlkLWNlbGwtY29udGVudCI9PT1iLnRhcmdldC5sb2NhbE5hbWUpe3ZhciBkPXRoaXMuX2dldENlbGxCeUNlbGxDb250ZW50KGIudGFyZ2V0KTtkJiYodGhpcy50b2dnbGVBdHRyaWJ1dGUoInJlb3JkZXJpbmciLAohMCksdGhpcy5fZHJhZ2dlZENvbHVtbj1kLmNvbHVtbix0aGlzLl9zZXRTaWJsaW5nc1Jlb3JkZXJTdGF0dXModGhpcy5fZHJhZ2dlZENvbHVtbiwiYWxsb3dlZCIpLHRoaXMuX2RyYWdnZWRDb2x1bW4uX3Jlb3JkZXJTdGF0dXM9ImRyYWdnaW5nIixiLmRhdGFUcmFuc2ZlciYmKGIuZGF0YVRyYW5zZmVyLnNldERhdGEoInRleHQiLCIiKSxiLmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkPSJtb3ZlIiksdGhpcy5fYXV0b1Njcm9sbGVyKCkpfX0sX3NldFNpYmxpbmdzUmVvcmRlclN0YXR1czpmdW5jdGlvbihiLGQpe0FycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChQb2x5bWVyLmRvbShQb2x5bWVyLmRvbShiKS5wYXJlbnROb2RlKS5jaGlsZHJlbixmdW5jdGlvbihmKXtyZXR1cm4vY29sdW1uLy50ZXN0KGYubG9jYWxOYW1lKSYmdGhpcy5faXNTd2FwQWxsb3dlZChmLGIpfSx0aGlzKS5mb3JFYWNoKGZ1bmN0aW9uKGYpe2YuX3Jlb3JkZXJTdGF0dXM9ZH0pfSxfb25EcmFnT3ZlcjpmdW5jdGlvbihiKXtpZih0aGlzLl9kcmFnZ2VkQ29sdW1uKXt2YXIgZD0KKFBvbHltZXIuRWxlbWVudD9iLmNvbXBvc2VkUGF0aCgpOlBvbHltZXIuZG9tKGIpLnBhdGgpLmZpbHRlcihmdW5jdGlvbihmKXtyZXR1cm4idmFhZGluLWdyaWQtY2VsbC1jb250ZW50Ij09PWYubG9jYWxOYW1lfSlbMF07ZCYmKGIucHJldmVudERlZmF1bHQoKSxkPXRoaXMuX2dldENlbGxCeUNlbGxDb250ZW50KGQpLChkPXRoaXMuX2dldFRhcmdldENvbHVtbihkLHRoaXMuX2RyYWdnZWRDb2x1bW4pKSYmdGhpcy5faXNTd2FwQWxsb3dlZCh0aGlzLl9kcmFnZ2VkQ29sdW1uLGQpJiZ0aGlzLl9pc1N3YXBwYWJsZUJ5UG9zaXRpb24oZCxiLmNsaWVudFgpJiZ0aGlzLl9zd2FwQ29sdW1uT3JkZXJzKHRoaXMuX2RyYWdnZWRDb2x1bW4sZCksdGhpcy5fbGFzdERyYWdDbGllbnRYPWIuY2xpZW50WCl9fSxfYXV0b1Njcm9sbGVyOmZ1bmN0aW9uKCl7aWYodGhpcy5fbGFzdERyYWdDbGllbnRYKXt2YXIgYj10aGlzLl9sYXN0RHJhZ0NsaWVudFgtdGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5yaWdodCsKNTAsZD10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQtdGhpcy5fbGFzdERyYWdDbGllbnRYKzUwOzA8Yj90aGlzLiQudGFibGUuc2Nyb2xsTGVmdCs9Yi8xMDowPGQmJih0aGlzLiQudGFibGUuc2Nyb2xsTGVmdC09ZC8xMCk7dGhpcy5fc2Nyb2xsSGFuZGxlcigpfXRoaXMuX2RyYWdnZWRDb2x1bW4mJnRoaXMuYXN5bmModGhpcy5fYXV0b1Njcm9sbGVyLDEwKX0sX29uRHJhZ0VuZDpmdW5jdGlvbigpe3RoaXMuX2RyYWdnZWRDb2x1bW4mJih0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgicmVvcmRlcmluZyIsITEpLHRoaXMuX2RyYWdnZWRDb2x1bW4uX3Jlb3JkZXJTdGF0dXM9IiIsdGhpcy5fc2V0U2libGluZ3NSZW9yZGVyU3RhdHVzKHRoaXMuX2RyYWdnZWRDb2x1bW4sIiIpLHRoaXMuX2xhc3REcmFnQ2xpZW50WD10aGlzLl9kcmFnZ2VkQ29sdW1uPW51bGwpfSxfaXNTd2FwQWxsb3dlZDpmdW5jdGlvbihiLGQpe2lmKGImJmQpe3ZhciBmPWIucGFyZW50RWxlbWVudD09PWQucGFyZW50RWxlbWVudCwKaD1iLmZyb3plbj09PWQuZnJvemVuO3JldHVybiBiIT09ZCYmZiYmaH19LF9pc1N3YXBwYWJsZUJ5UG9zaXRpb246ZnVuY3Rpb24oYixkKXt2YXIgZj1BcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoUG9seW1lci5kb20odGhpcy4kLmhlYWRlcikucXVlcnlTZWxlY3RvckFsbCgiLnZhYWRpbi1ncmlkLWNlbGwiKSxmdW5jdGlvbihrKXtyZXR1cm4gay5jb2x1bW49PT1ifSlbMF0saD10aGlzLiQuaGVhZGVyLnF1ZXJ5U2VsZWN0b3IoIltyZW9yZGVyLXN0YXR1c1x4M2RkcmFnZ2luZ10iKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gZi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0PmgubGVmdD9kPmYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHQtaC53aWR0aDpkPGYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCtoLndpZHRofSxfZ2V0Q2VsbEJ5Q2VsbENvbnRlbnQ6ZnVuY3Rpb24oYil7aWYoUG9seW1lci5FbGVtZW50KXJldHVybiBiLmFzc2lnbmVkU2xvdC5wYXJlbnROb2RlOwpiPVBvbHltZXIuZG9tKGIpLmdldERlc3RpbmF0aW9uSW5zZXJ0aW9uUG9pbnRzKClbMF07cmV0dXJuIFBvbHltZXIuZG9tKGIpLnBhcmVudE5vZGV9LF9zd2FwQ29sdW1uT3JkZXJzOmZ1bmN0aW9uKGIsZCl7dmFyIGY9Yi5fb3JkZXI7Yi5fb3JkZXI9ZC5fb3JkZXI7ZC5fb3JkZXI9Zjt0aGlzLl91cGRhdGVMYXN0RnJvemVuKCk7dGhpcy5fdXBkYXRlTGFzdENvbHVtbigpfSxfZ2V0VGFyZ2V0Q29sdW1uOmZ1bmN0aW9uKGIsZCl7aWYoYiYmZCl7Zm9yKHZhciBmPWIuY29sdW1uO2YucGFyZW50RWxlbWVudCE9PWQucGFyZW50RWxlbWVudCYmZiE9PXRoaXMudGFyZ2V0OylmPWYucGFyZW50RWxlbWVudDtyZXR1cm4gZi5wYXJlbnRFbGVtZW50PT09ZC5wYXJlbnRFbGVtZW50P2Y6Yi5jb2x1bW59fX07CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQtdGFibGUuaHRtbC5qcwpQb2x5bWVyKHtpczoidmFhZGluLWdyaWQtdGFibGUiLGJlaGF2aW9yczpbdmFhZGluLmVsZW1lbnRzLmdyaWQuSXJvbkxpc3RCZWhhdmlvcix2YWFkaW4uZWxlbWVudHMuZ3JpZC5UYWJsZVNjcm9sbEJlaGF2aW9yLHZhYWRpbi5lbGVtZW50cy5ncmlkLlRhYmxlQ29sdW1uUmVvcmRlcmluZ0JlaGF2aW9yLFBvbHltZXIuVGVtcGxhdGl6ZXJdLHByb3BlcnRpZXM6e3NpemU6TnVtYmVyLGNvbHVtblRyZWU6QXJyYXksYmluZERhdGE6RnVuY3Rpb24scm93RGV0YWlsc1RlbXBsYXRlOk9iamVjdCxjb2x1bW5SZW9yZGVyaW5nQWxsb3dlZDp7dHlwZTpCb29sZWFuLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sc2FmYXJpOnt0eXBlOkJvb2xlYW4sdmFsdWU6L14oKD8hY2hyb21lfGFuZHJvaWQpLikqc2FmYXJpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KX0sc2Nyb2xsYmFyV2lkdGg6e3R5cGU6TnVtYmVyLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CmIuc3R5bGUud2lkdGg9IjEwMHB4IjtiLnN0eWxlLmhlaWdodD0iMTAwcHgiO2Iuc3R5bGUub3ZlcmZsb3c9InNjcm9sbCI7Yi5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO2Iuc3R5bGUudG9wPSItOTk5OXB4Ijtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGIpO3ZhciBkPWIub2Zmc2V0V2lkdGgtYi5jbGllbnRXaWR0aDtkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGIpO3JldHVybiBkfX0sdGFyZ2V0Ok9iamVjdCxoYXNEYXRhOkJvb2xlYW59LG9ic2VydmVyczpbIl9jb2x1bW5UcmVlQ2hhbmdlZChjb2x1bW5UcmVlLCBfcGh5c2ljYWxJdGVtcywgX3BoeXNpY2FsQ291bnRWYWwpIiwiX3NpemVDaGFuZ2VkKHNpemUsIGJpbmREYXRhLCBoYXNEYXRhKSIsIl9yb3dEZXRhaWxzVGVtcGxhdGVDaGFuZ2VkKHJvd0RldGFpbHNUZW1wbGF0ZSwgX3BoeXNpY2FsSXRlbXMsIF9waHlzaWNhbENvdW50VmFsKSJdLGxpc3RlbmVyczp7InByb3BlcnR5LWNoYW5nZWQiOiJfY29sdW1uUHJvcENoYW5nZWQiLAphbmltYXRpb25lbmQ6Il9vbkFuaW1hdGlvbkVuZCIsImNvbHVtbi1yZXNpemluZyI6Il9vbkNvbHVtblJlc2l6ZSJ9LHJlYWR5OmZ1bmN0aW9uKCl7dGhpcy4kPXRoaXMuJHx8e307dGhpcy4kLmhlYWRlcj10aGlzLmRvbUhvc3QuJC5oZWFkZXI7dGhpcy4kLml0ZW1zPXRoaXMuZG9tSG9zdC4kLml0ZW1zO3RoaXMuJC5mb290ZXI9dGhpcy5kb21Ib3N0LiQuZm9vdGVyfSxfb25Db2x1bW5SZXNpemU6ZnVuY3Rpb24oKXt0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgiY29sdW1uLXJlc2l6aW5nIix0aGlzLiQuaGVhZGVyLnF1ZXJ5U2VsZWN0b3IoIltjb2x1bW4tcmVzaXppbmddIikpO3RoaXMuX2dyaWRSZXNpemVIYW5kbGVyKCl9LF9vbkFuaW1hdGlvbkVuZDpmdW5jdGlvbihiKXsvYXBwZWFyLy50ZXN0KGIuYW5pbWF0aW9uTmFtZSkmJih0aGlzLl9yZW5kZXIoKSx0aGlzLl91cGRhdGVIZWFkZXJGb290ZXJNZXRyaWNzKCksYi5zdG9wUHJvcGFnYXRpb24oKSl9LF9jb2x1bW5Qcm9wQ2hhbmdlZDpmdW5jdGlvbihiKXsiaGVhZGVyVGVtcGxhdGUiPT09CmIuZGV0YWlsLnBhdGgmJnRoaXMudG9nZ2xlQXR0cmlidXRlKCJoYXMtdGVtcGxhdGVzIiwhMCx0aGlzLiQuaGVhZGVyKTsiZm9vdGVyVGVtcGxhdGUiPT09Yi5kZXRhaWwucGF0aCYmdGhpcy50b2dnbGVBdHRyaWJ1dGUoImhhcy10ZW1wbGF0ZXMiLCEwLHRoaXMuJC5mb290ZXIpOy9mcm96ZW58aGlkZGVuLy50ZXN0KGIuZGV0YWlsLnBhdGgpJiZ0aGlzLl9mcm96ZW5DZWxsc0NoYW5nZWQoKTsiaGlkZGVuIj09PWIuZGV0YWlsLnBhdGgmJnRoaXMuX2dyaWRSZXNpemVIYW5kbGVyKCl9LF9oaWRlT3V0ZXJTY3JvbGxlcjpmdW5jdGlvbihiLGQpe3JldHVybiAwPT09YiYmIWR9LF9oaWRlVGFibGVPdmVyZmxvdzpmdW5jdGlvbihiLGQpe3JldHVybiAwPT09YiYmZH0sX3Jvd0RldGFpbHNUZW1wbGF0ZUNoYW5nZWQ6ZnVuY3Rpb24oYixkLGYpe3ZvaWQgMCE9PWImJmQmJnZvaWQgMCE9PWYmJkFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZCxmdW5jdGlvbihoKXtoLnJvd0RldGFpbHNUZW1wbGF0ZT0KYn0pfSxfY29sdW1uVHJlZUNoYW5nZWQ6ZnVuY3Rpb24oYixkLGYpe3ZvaWQgMCE9PWImJmQmJnZvaWQgMCE9PWYmJihQb2x5bWVyLlJlbmRlclN0YXR1cy5hZnRlck5leHRSZW5kZXIodGhpcyx0aGlzLl91cGRhdGUpLHRoaXMuX2Zyb3plbkNlbGxzQ2hhbmdlZCgpLHRoaXMuX2hhc1RlbXBsYXRlc0NoYW5nZWQoYiksQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChkLGZ1bmN0aW9uKGgpe2guY29sdW1ucz1iW2IubGVuZ3RoLTFdfSksdGhpcy5fZ3JpZFJlc2l6ZUhhbmRsZXIoKSxQb2x5bWVyLmRvbS5mbHVzaCh0aGlzKSx0aGlzLl91cGRhdGVMYXN0Q29sdW1uKCkpfSxfdXBkYXRlTGFzdENvbHVtbjpmdW5jdGlvbigpe0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoUG9seW1lci5kb20odGhpcy5kb21Ib3N0LnJvb3QpLnF1ZXJ5U2VsZWN0b3JBbGwoIi52YWFkaW4tZ3JpZC1yb3ciKSxmdW5jdGlvbihiKXtiLnVwZGF0ZUxhc3RDb2x1bW4oKX0pfSxfdXBkYXRlSGVhZGVyRm9vdGVyTWV0cmljczpmdW5jdGlvbigpe3RoaXMuX3BoeXNpY2FsU2l6ZXMmJgpQb2x5bWVyLmRvbS5mbHVzaCgpO3RoaXMuX3VwZGF0ZUhlYWRlckZvb3Rlck1ldHJpY3NTeW5jKCk7UG9seW1lci5SZW5kZXJTdGF0dXMuYWZ0ZXJOZXh0UmVuZGVyKHRoaXMuJC5oZWFkZXIsZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVIZWFkZXJGb290ZXJNZXRyaWNzU3luYygpO3RoaXMuX3BlbmRpbmdTY3JvbGxUb1NjYWxlZEluZGV4JiZ0aGlzLnNjcm9sbFRvU2NhbGVkSW5kZXgodGhpcy5fcGVuZGluZ1Njcm9sbFRvU2NhbGVkSW5kZXgpfS5iaW5kKHRoaXMpKX0sX3VwZGF0ZUhlYWRlckZvb3Rlck1ldHJpY3NTeW5jOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy4kLmhlYWRlci5jbGllbnRIZWlnaHQrInB4IixkPXRoaXMuJC5mb290ZXIuY2xpZW50SGVpZ2h0KyJweCI7W3RoaXMuJC5vdXRlcnNpemVyLHRoaXMuJC5maXhlZHNpemVyLHRoaXMuJC5pdGVtc10uZm9yRWFjaChmdW5jdGlvbihmKXtmLnN0eWxlLmJvcmRlclRvcFdpZHRoPWI7Zi5zdHlsZS5ib3JkZXJCb3R0b21XaWR0aD0KZH0pfSxfaGFzVGVtcGxhdGVzQ2hhbmdlZDpmdW5jdGlvbihiKXt2YXIgZD0hMSxmPSExO2IuZm9yRWFjaChmdW5jdGlvbihoKXtyZXR1cm4gaC5mb3JFYWNoKGZ1bmN0aW9uKGspe2Q9ZHx8ay5oZWFkZXJUZW1wbGF0ZTtmPWZ8fGsuZm9vdGVyVGVtcGxhdGV9KX0pO3RoaXMudG9nZ2xlQXR0cmlidXRlKCJoYXMtdGVtcGxhdGVzIixkLHRoaXMuJC5oZWFkZXIpO3RoaXMudG9nZ2xlQXR0cmlidXRlKCJoYXMtdGVtcGxhdGVzIixmLHRoaXMuJC5mb290ZXIpfSxfY3JlYXRlUG9vbDpmdW5jdGlvbihiKXtmb3IodmFyIGQ9QXJyYXkoYiksZj0wO2Y8YjtmKyspe3ZhciBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZhYWRpbi1ncmlkLXRhYmxlLXJvdyIpO2gudGFyZ2V0PXRoaXMuZG9tSG9zdDtkW2ZdPWg7aC5zZXRBdHRyaWJ1dGUoImhpZGRlbiIsIiIpO1BvbHltZXIuZG9tKHRoaXMuJC5pdGVtcykuYXBwZW5kQ2hpbGQoaCl9cmV0dXJuIGR9LF9zaXplQ2hhbmdlZDpmdW5jdGlvbihiLApkLGYpe2lmKHZvaWQgMCE9PWImJnZvaWQgMCE9PWQmJnZvaWQgMCE9PWYpe3ZhciBoPXRoaXMuX3Njcm9sbFRvcCxrPXRoaXMuZmlyc3RWaXNpYmxlSW5kZXgrdGhpcy5fdmlkeE9mZnNldDt0aGlzLl92aXJ0dWFsQ291bnQ9TWF0aC5taW4oYiwxRTUpO3RoaXMuX3BoeXNpY2FsSW5kZXhGb3JLZXk9e307dGhpcy5fbGFzdFZpc2libGVJbmRleFZhbD10aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD1udWxsO3RoaXMuX3ZpZHhPZmZzZXQ9MDt0aGlzLl9waHlzaWNhbEl0ZW1zfHwodGhpcy5fcGh5c2ljYWxDb3VudD1NYXRoLm1heCgxLE1hdGgubWluKDI1LHRoaXMuX3ZpcnR1YWxDb3VudCkpLHRoaXMuX3BoeXNpY2FsSXRlbXM9dGhpcy5fY3JlYXRlUG9vbCh0aGlzLl9waHlzaWNhbENvdW50KSx0aGlzLl9waHlzaWNhbFNpemVzPUFycmF5KHRoaXMuX3BoeXNpY2FsQ291bnQpKTt0aGlzLl9pdGVtc1JlbmRlcmVkPSExO3RoaXMuX2RlYm91bmNlVGVtcGxhdGUoZnVuY3Rpb24oKXt0aGlzLl9yZW5kZXIoKTsKdGhpcy5fdmlld3BvcnRIZWlnaHQmJih0aGlzLnNjcm9sbFRvU2NhbGVkSW5kZXgoTWF0aC5taW4oayx0aGlzLnNpemUpKSx0aGlzLl9zY3JvbGxUb3A9aCx0aGlzLl9zY3JvbGxIYW5kbGVyKCksdGhpcy5mbHVzaERlYm91bmNlcigidmFhZGluLWdyaWQtc2Nyb2xsaW5nIikpfSl9fSxfYXNzaWduTW9kZWxzOmZ1bmN0aW9uKGIpe3RoaXMuX3ZpcnR1YWxJbmRleFRvSXRlbT10aGlzLl92aXJ0dWFsSW5kZXhUb0l0ZW18fHt9O3RoaXMuX2l0ZXJhdGVJdGVtcyhmdW5jdGlvbihkLGYpe2Q9dGhpcy5fcGh5c2ljYWxJdGVtc1tkXTtkLmluZGV4JiZkZWxldGUgdGhpcy5fdmlydHVhbEluZGV4VG9JdGVtW2QuaW5kZXhdO2QuaW5kZXg9Zit0aGlzLl92aWR4T2Zmc2V0O3RoaXMuX3ZpcnR1YWxJbmRleFRvSXRlbVtkLmluZGV4XT1kO2QudG9nZ2xlQXR0cmlidXRlKCJvZGQiLGQuaW5kZXglMik7ZC50b2dnbGVBdHRyaWJ1dGUoImxhc3Ryb3ciLGQuaW5kZXg9PT10aGlzLnNpemUtMSk7ZC50b2dnbGVBdHRyaWJ1dGUoImhpZGRlbiIsCmQuaW5kZXg+PXRoaXMuc2l6ZSk7dGhpcy5iaW5kRGF0YShkLmluZGV4LGQpfSxiKX0sX2dyaWRSZXNpemVIYW5kbGVyOmZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlSGVhZGVyRm9vdGVyTWV0cmljcygpO3RoaXMuX3BoeXNpY2FsU2l6ZXMmJih0aGlzLl9waHlzaWNhbEl0ZW1zLmZvckVhY2goZnVuY3Rpb24oYil7Yi51cGRhdGVSb3dEZXRhaWxzQ2VsbE1ldHJpY3MoKX0pLHRoaXMuZGVib3VuY2UoInZhYWRpbi1ncmlkLXJlc2l6aW5nIixmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZSgpfS5iaW5kKHRoaXMpLDEpKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly92YWFkaW4tZ3JpZC92YWFkaW4tZ3JpZC1jb2x1bW4uaHRtbC0yLmpzClBvbHltZXIoe2lzOiJ2YWFkaW4tZ3JpZC1jb2x1bW4iLGJlaGF2aW9yczpbdmFhZGluLmVsZW1lbnRzLmdyaWQuQ29sdW1uQmVoYXZpb3JdfSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdmFhZGluLWdyaWQvdmFhZGluLWdyaWQuaHRtbC5qcwpQb2x5bWVyKHtpczoidmFhZGluLWdyaWQiLHByb3BlcnRpZXM6e19jb2x1bW5UcmVlOnt0eXBlOkFycmF5LG5vdGlmeTohMH0sc2l6ZTpOdW1iZXIsX3Jvd0RldGFpbHNUZW1wbGF0ZTpPYmplY3QsX2JpbmREYXRhOnt0eXBlOk9iamVjdCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9nZXRJdGVtLmJpbmQodGhpcyl9fX0sYmVoYXZpb3JzOltQb2x5bWVyLklyb25BMTF5S2V5c0JlaGF2aW9yLFBvbHltZXIuSXJvblJlc2l6YWJsZUJlaGF2aW9yLHZhYWRpbi5lbGVtZW50cy5ncmlkLkFjdGl2ZUl0ZW1CZWhhdmlvcix2YWFkaW4uZWxlbWVudHMuZ3JpZC5Sb3dEZXRhaWxzQmVoYXZpb3IsdmFhZGluLmVsZW1lbnRzLmdyaWQuRGF0YVByb3ZpZGVyQmVoYXZpb3IsdmFhZGluLmVsZW1lbnRzLmdyaWQuRHluYW1pY0NvbHVtbnNCZWhhdmlvcix2YWFkaW4uZWxlbWVudHMuZ3JpZC5BcnJheURhdGFQcm92aWRlckJlaGF2aW9yLHZhYWRpbi5lbGVtZW50cy5ncmlkLlNlbGVjdGlvbkJlaGF2aW9yLAp2YWFkaW4uZWxlbWVudHMuZ3JpZC5Tb3J0QmVoYXZpb3IsdmFhZGluLmVsZW1lbnRzLmdyaWQuRmlsdGVyQmVoYXZpb3IsdmFhZGluLmVsZW1lbnRzLmdyaWQuQ29sdW1uUmVvcmRlcmluZ0JlaGF2aW9yLHZhYWRpbi5lbGVtZW50cy5ncmlkLlRhYmxlS2V5Ym9hcmRCZWhhdmlvcl0sbGlzdGVuZXJzOnsicHJvcGVydHktY2hhbmdlZCI6Il9jb2x1bW5Qcm9wQ2hhbmdlZCIsImlyb24tcmVzaXplIjoiX2dyaWRSZXNpemVIYW5kbGVyIn0sX3VwZGF0ZUl0ZW06ZnVuY3Rpb24oYixkKXtiLnN0eWxlLm1pbkhlaWdodD1kPyIiOnRoaXMuJC5zY3JvbGxlci5fcGh5c2ljYWxBdmVyYWdlKyJweCI7Yi5pdGVtPWQ7Yi5zZWxlY3RlZD10aGlzLl9pc1NlbGVjdGVkKGQpO2IuZXhwYW5kZWQ9dGhpcy5faXNFeHBhbmRlZChkKTtiLmFjdGl2ZT1udWxsIT09ZCYmZD09dGhpcy5hY3RpdmVJdGVtO2IuZm9jdXNlZD1iLmluZGV4PT09dGhpcy4kLml0ZW1zLl9mb2N1c2VkUm93SW5kZXh9LF9nZXRDb250ZW50VGFyZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LApyZWFkeTpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZUNvbHVtblRyZWUoKTt0aGlzLl9yb3dEZXRhaWxzVGVtcGxhdGU9UG9seW1lci5kb20odGhpcykucXVlcnlTZWxlY3RvcigidGVtcGxhdGUucm93LWRldGFpbHMiKXx8dm9pZCAwO3RoaXMuJC5zY3JvbGxlci50YXJnZXQ9dGhpcztudWxsPT09ZG9jdW1lbnQuZG9jdHlwZSYmY29uc29sZS53YXJuKCdceDNjdmFhZGluLWdyaWRceDNlIHJlcXVpcmVzIHRoZSAic3RhbmRhcmRzIG1vZGUiIGRlY2xhcmF0aW9uLiBQbGVhc2UgYWRkIFx4M2MhRE9DVFlQRSBodG1sXHgzZSB0byB0aGUgSFRNTCBkb2N1bWVudC4nKX0sX2NvbHVtblByb3BDaGFuZ2VkOmZ1bmN0aW9uKGIpeyJfY2hpbGRDb2x1bW5zIj09PWIuZGV0YWlsLnBhdGgmJnRoaXMuX3VwZGF0ZUNvbHVtblRyZWUoKTtiLnN0b3BQcm9wYWdhdGlvbigpfSxfZ3JpZFJlc2l6ZUhhbmRsZXI6ZnVuY3Rpb24oKXt0aGlzLiQuc2Nyb2xsZXIuX2dyaWRSZXNpemVIYW5kbGVyKCl9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHMvdGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHMuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHMiLHByb3BlcnRpZXM6e2JhY2tlbmQ6T2JqZWN0LGV4cGVyaW1lbnROYW1lOlN0cmluZyx2aXNpYmxlU2NoZW1hOk9iamVjdCxzZXNzaW9uR3JvdXA6T2JqZWN0LF94VHlwZTp7dHlwZTpTdHJpbmcsdmFsdWU6c2YuWFR5cGUuU1RFUH0sX25vTXVsdGlFeHBlcmltZW50czp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfaW5kZXhPZlNlc3Npb246T2JqZWN0LF9zZXNzaW9uR3JvdXBOYW1lSGFzaDpOdW1iZXIsX3JlcXVlc3REYXRhOnt0eXBlOkZ1bmN0aW9uLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuKHt0YWc6YixydW46ZH0pPT50aGlzLmJhY2tlbmQubGlzdE1ldHJpY0V2YWxzKHtleHBlcmltZW50TmFtZTp0aGlzLmV4cGVyaW1lbnROYW1lLHNlc3Npb25OYW1lOmQsbWV0cmljTmFtZTpifSl9fSxfY29sb3JTY2FsZTp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57c2NhbGU6Yj0+e2I9SlNPTi5wYXJzZShiKVsxXTsKYj10aGlzLl9pbmRleE9mU2Vzc2lvbi5nZXQoYik7Y29uc3QgZD1MZC5zdGFuZGFyZDtyZXR1cm4gZFsodGhpcy5fc2Vzc2lvbkdyb3VwTmFtZUhhc2grYiklZC5sZW5ndGhdfX19fX0sYmVoYXZpb3JzOltQb2x5bWVyLklyb25SZXNpemFibGVCZWhhdmlvcl0sbGlzdGVuZXJzOnsiaXJvbi1yZXNpemUiOiJyZWRyYXcifSxvYnNlcnZlcnM6WyJfc2Vzc2lvbkdyb3VwQ2hhbmdlZChzZXNzaW9uR3JvdXAuKikiXSxyZWRyYXcoKXtQb2x5bWVyLmRvbSh0aGlzLnJvb3QpLnF1ZXJ5U2VsZWN0b3JBbGwoInRmLXNjYWxhci1jYXJkIikuZm9yRWFjaChiPT5iLnJlZHJhdygpKX0sX3Nlc3Npb25Hcm91cENoYW5nZWQoKXt0aGlzLnNlc3Npb25Hcm91cD8odGhpcy5faW5kZXhPZlNlc3Npb249bmV3IE1hcCh0aGlzLnNlc3Npb25Hcm91cC5zZXNzaW9ucy5tYXAoKGIsZCk9PltiLm5hbWUsZF0pKSx0aGlzLl9zZXNzaW9uR3JvdXBOYW1lSGFzaD10Zi5ocGFyYW1zLnV0aWxzLmhhc2hPZlN0cmluZyh0aGlzLnNlc3Npb25Hcm91cC5uYW1lKSk6Cih0aGlzLl9pbmRleE9mU2Vzc2lvbj1uZXcgTWFwLHRoaXMuX3Nlc3Npb25Hcm91cE5hbWVIYXNoPTApO1BvbHltZXIuZG9tKHRoaXMucm9vdCkucXVlcnlTZWxlY3RvckFsbCgidGYtc2NhbGFyLWNhcmQiKS5mb3JFYWNoKGI9Pntjb25zdCBkPWIuZ2V0KCJ0YWciKTtiLnNldCgidGFnIiwiIik7Yi5zZXQoInRhZyIsZCl9KX0sX2hhdmVNZXRyaWNzKCl7cmV0dXJuIHRoaXMudmlzaWJsZVNjaGVtYSYmQXJyYXkuaXNBcnJheSh0aGlzLnZpc2libGVTY2hlbWEubWV0cmljSW5mb3MpJiYwPHRoaXMudmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvcy5sZW5ndGh9LF9oYXZlTWV0cmljc0FuZFNlc3Npb25Hcm91cCgpe3JldHVybiB0aGlzLnNlc3Npb25Hcm91cCYmdGhpcy5faGF2ZU1ldHJpY3MoKX0sX2NvbXB1dGVTZXJpZXNGb3JTZXNzaW9uR3JvdXBNZXRyaWMoYixkKXtyZXR1cm4gbnVsbD09PWJ8fG51bGw9PT1kP1tdOmIuc2Vzc2lvbnMuZmlsdGVyKGY9PnZvaWQgMCE9PXRmLmhwYXJhbXMudXRpbHMubWV0cmljVmFsdWVCeU5hbWUoZi5tZXRyaWNWYWx1ZXMsCmQubmFtZSkpLm1hcChmPT4oe3RhZzpkLm5hbWUscnVuOmYubmFtZX0pKX0sX2NvbXB1dGVUYWdNZXRhZGF0YShiKXtyZXR1cm57ZGlzcGxheU5hbWU6dGYuaHBhcmFtcy51dGlscy5tZXRyaWNOYW1lKGIpLGRlc2NyaXB0aW9uOmIuZGVzY3JpcHRpb258fCIifX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ocGFyYW1zLXRhYmxlLXZpZXcvdGYtaHBhcmFtcy10YWJsZS12aWV3Lmh0bWwuanMKUG9seW1lcih7aXM6InRmLWhwYXJhbXMtdGFibGUtdmlldyIscHJvcGVydGllczp7dmlzaWJsZVNjaGVtYTpPYmplY3Qsc2Vzc2lvbkdyb3VwczpBcnJheSxlbmFibGVTaG93TWV0cmljczpCb29sZWFuLGJhY2tlbmQ6T2JqZWN0LGV4cGVyaW1lbnROYW1lOlN0cmluZ30sb2JzZXJ2ZXJzOlsiX3Zpc2libGVTY2hlbWFPclNlc3Npb25Hcm91cHNDaGFuZ2VkKHZpc2libGVTY2hlbWEuKiwgc2Vzc2lvbkdyb3Vwcy4qKSJdLF92aXNpYmxlU2NoZW1hT3JTZXNzaW9uR3JvdXBzQ2hhbmdlZCgpe2NvbnN0IGI9dGhpcy4kLnNlc3Npb25Hcm91cHNUYWJsZS5nZXQoImV4cGFuZGVkSXRlbXMiKTt0aGlzLiQuc2Vzc2lvbkdyb3Vwc1RhYmxlLnNldCgiZXhwYW5kZWRJdGVtcyIsW10pO1BvbHltZXIuZG9tLmZsdXNoKCk7Y29uc3QgZD1uZXcgTWFwO3RoaXMuc2Vzc2lvbkdyb3Vwcy5mb3JFYWNoKGY9PntkLnNldChmLm5hbWUsZil9KTt0aGlzLiQuc2Vzc2lvbkdyb3Vwc1RhYmxlLnNldCgiZXhwYW5kZWRJdGVtcyIsCmIubWFwKGY9PmQuZ2V0KGYubmFtZSkpLmZpbHRlcihCb29sZWFuKSl9LF9ocGFyYW1OYW1lOnRmLmhwYXJhbXMudXRpbHMuaHBhcmFtTmFtZSxfbWV0cmljTmFtZTp0Zi5ocGFyYW1zLnV0aWxzLm1ldHJpY05hbWUsX3Nlc3Npb25Hcm91cEhQYXJhbShiLGQpe3JldHVybiBudWxsIT1iJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYi5ocGFyYW1zLGQpP3RmLmhwYXJhbXMudXRpbHMucHJldHR5UHJpbnQoYi5ocGFyYW1zW2RdKToiIn0sX3Nlc3Npb25Hcm91cE1ldHJpYyhiLGQpe2lmKG51bGw9PWIpcmV0dXJuIG51bGw7Zm9yKGxldCBmPTA7ZjxiLm1ldHJpY1ZhbHVlcy5sZW5ndGg7KytmKXtsZXQgaD1iLm1ldHJpY1ZhbHVlc1tmXTtpZihoLm5hbWUuZ3JvdXA9PT1kLmdyb3VwJiZoLm5hbWUudGFnPT1kLnRhZylyZXR1cm4gdGYuaHBhcmFtcy51dGlscy5wcmV0dHlQcmludChoLnZhbHVlKX1yZXR1cm4iIn0sX3Jvd051bWJlcihiKXtyZXR1cm4gYisxfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC12YWx1ZXMvdGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLXZhbHVlcy5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1ocGFyYW1zLXNlc3Npb24tZ3JvdXAtdmFsdWVzIixwcm9wZXJ0aWVzOntzZXNzaW9uR3JvdXA6e3R5cGU6T2JqZWN0LHZhbHVlOm51bGx9LHZpc2libGVTY2hlbWE6e3R5cGU6T2JqZWN0LHZhbHVlOm51bGx9fSxfcHJvcGVydGllc0FyZVBvcHVsYXRlZDpmdW5jdGlvbihiLGQpe3JldHVybiB2b2lkIDAhPT1iJiZudWxsIT09YiYmdm9pZCAwIT09ZCYmbnVsbCE9PWR9LF9zaW5nbGV0b25TZXNzaW9uR3JvdXBzOmZ1bmN0aW9uKGIpe3JldHVybiBudWxsPT09Ynx8dm9pZCAwPT09Yj9bXTpbYl19fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtcGxvdC9heGVzLmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7KGZ1bmN0aW9uKGYpe2Z1bmN0aW9uIGgocSl7cmV0dXJuIG51bGwhPT1xLnNvdXJjZUV2ZW50fWxldCBrOyhmdW5jdGlvbihxKXtxLkxJTkVBUj0iTElORUFSIjtxLkxPRz0iTE9HIjtxLlFVQU5USUxFPSJRVUFOVElMRSI7cS5OT05fTlVNRVJJQz0iTk9OX05VTUVSSUMifSkoaz1mLlNjYWxlVHlwZXx8KGYuU2NhbGVUeXBlPXt9KSk7Y2xhc3Mgcntpc1Bhc3NpbmcoKXtyZXR1cm4hMH19Y2xhc3MgbHtjb25zdHJ1Y3RvcihxLHUsdyxBKXt0aGlzLl9sb3dlcj1xO3RoaXMuX3VwcGVyPXU7dGhpcy5fbG93ZXJPcGVuPXc7dGhpcy5fdXBwZXJPcGVuPUF9aXNQYXNzaW5nKHEpe3JldHVybiB0aGlzLl9iZWZvcmUodGhpcy5fbG93ZXIscSwhdGhpcy5fbG93ZXJPcGVuKSYmdGhpcy5fYmVmb3JlKHEsdGhpcy5fdXBwZXIsIXRoaXMuX3VwcGVyT3Blbil9X2JlZm9yZShxLHUsdyl7cmV0dXJuIHc/cTw9dTpxPHV9fWNsYXNzIHB7Y29uc3RydWN0b3IocSl7dGhpcy5fZG9tYWluU2V0PQpxfWlzUGFzc2luZyhxKXtyZXR1cm4tMSE9PXRoaXMuX2RvbWFpblNldC5maW5kSW5kZXgodT0+dT09PXEpfX1jbGFzcyBte2NvbnN0cnVjdG9yKHEsdSx3LEEpe3RoaXMuX3N2Z1Byb3BzPXE7dGhpcy5fc2NoZW1hPXU7dGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyPXc7dGhpcy5fY29sSW5kZXg9QTt0aGlzLl9pc0Rpc3BsYXllZD0hMTt0aGlzLl9zY2FsZVR5cGU9dGhpcy5feVNjYWxlPW51bGw7dGhpcy5zZXRCcnVzaFNlbGVjdGlvbihudWxsKX1jb2xJbmRleCgpe3JldHVybiB0aGlzLl9jb2xJbmRleH15U2NhbGUoKXtyZXR1cm4gdGhpcy5feVNjYWxlfXNjYWxlVHlwZSgpe3JldHVybiB0aGlzLl9zY2FsZVR5cGV9YnJ1c2hTZWxlY3Rpb24oKXtyZXR1cm4gdGhpcy5fYnJ1c2hTZWxlY3Rpb259aXNEaXNwbGF5ZWQoKXtyZXR1cm4gdGhpcy5faXNEaXNwbGF5ZWR9c2V0QnJ1c2hTZWxlY3Rpb24ocSl7dGhpcy5fYnJ1c2hTZWxlY3Rpb249cTt0aGlzLl9icnVzaEZpbHRlcj10aGlzLl9idWlsZEJydXNoRmlsdGVyKHRoaXMuYnJ1c2hTZWxlY3Rpb24oKSwKdGhpcy5zY2FsZVR5cGUoKSx0aGlzLnlTY2FsZSgpKX1zZXREb21haW5BbmRTY2FsZShxLHUpe3RoaXMuX3NjYWxlVHlwZT11O3RoaXMuX3lTY2FsZT1iLmhwYXJhbXMucGFyYWxsZWxfY29vcmRzX3Bsb3QuY3JlYXRlQXhpc1NjYWxlKHEuc2xpY2UoKSx0aGlzLl9zdmdQcm9wcy5oZWlnaHQsdGhpcy5zY2FsZVR5cGUoKSk7dGhpcy5fYnJ1c2hGaWx0ZXI9dGhpcy5fYnVpbGRCcnVzaEZpbHRlcih0aGlzLmJydXNoU2VsZWN0aW9uKCksdGhpcy5zY2FsZVR5cGUoKSx0aGlzLnlTY2FsZSgpKX1icnVzaEZpbHRlcigpe3JldHVybiB0aGlzLl9icnVzaEZpbHRlcn11cGRhdGVET00ocSl7dmFyIHU9ZDMuYXhpc0xlZnQodGhpcy55U2NhbGUoKSk7dGhpcy5zY2FsZVR5cGUoKT09PWsuUVVBTlRJTEUmJih1PXUudGlja1ZhbHVlcyh0aGlzLnlTY2FsZSgpLnF1YW50aWxlcygpKS50aWNrRm9ybWF0KGQzLmZvcm1hdCgiLS42ZyIpKSk7dmFyIHc9ZDMuc2VsZWN0KHEpO3cuc2VsZWN0QWxsKCJnIikucmVtb3ZlKCk7CncuYXBwZW5kKCJnIikuY2xhc3NlZCgiYXhpcyIsITApLmNhbGwodSkuYXBwZW5kKCJ0ZXh0IikuY2xhc3NlZCgiYXhpcy10aXRsZSIsITApLnN0eWxlKCJjdXJzb3IiLCJtb3ZlIikuc3R5bGUoInRleHQtYW5jaG9yIiwibWlkZGxlIikuYXR0cigieSIsLTkpLnRleHQoQT0+Yi5ocGFyYW1zLnV0aWxzLnNjaGVtYUNvbHVtbk5hbWUodGhpcy5fc2NoZW1hLEEpKTt3LmNhbGwoZDMuZHJhZygpLm9uKCJzdGFydCIsKCk9PntxLnNldEF0dHJpYnV0ZSgiaXMtZHJhZ2dpbmciLCIiKTt0aGlzLl9pbnRlcmFjdGlvbk1hbmFnZXIub25EcmFnU3RhcnQodGhpcy5jb2xJbmRleCgpKX0pLm9uKCJkcmFnIiwoKT0+dGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyLm9uRHJhZyhkMy5ldmVudC54KSkub24oImVuZCIsKCk9Pnt0aGlzLl9pbnRlcmFjdGlvbk1hbmFnZXIub25EcmFnRW5kKCk7cS5yZW1vdmVBdHRyaWJ1dGUoImlzLWRyYWdnaW5nIil9KSk7dT1kMy5icnVzaFkoKS5leHRlbnQoW1stOCwwXSwKWzgsdGhpcy5fc3ZnUHJvcHMuaGVpZ2h0KzFdXSkub24oInN0YXJ0IiwoKT0+e2goZDMuZXZlbnQpJiYocS5zZXRBdHRyaWJ1dGUoImlzLWJydXNoaW5nIiwiIiksdGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyLm9uQnJ1c2hDaGFuZ2VkKHRoaXMuY29sSW5kZXgoKSkpfSkub24oImJydXNoIiwoKT0+e2lmKGgoZDMuZXZlbnQpKXRoaXMuX2ludGVyYWN0aW9uTWFuYWdlci5vbkJydXNoQ2hhbmdlZCh0aGlzLmNvbEluZGV4KCkpfSkub24oImVuZCIsKCk9PntoKGQzLmV2ZW50KSYmKHRoaXMuX2ludGVyYWN0aW9uTWFuYWdlci5vbkJydXNoQ2hhbmdlZCh0aGlzLmNvbEluZGV4KCkpLHEucmVtb3ZlQXR0cmlidXRlKCJpcy1icnVzaGluZyIpKX0pO3c9ZDMuc2VsZWN0KHEpLmFwcGVuZCgiZyIpLmNsYXNzZWQoImJydXNoIiwhMCk7dy5jYWxsKHUpO3UubW92ZSh3LHRoaXMuYnJ1c2hTZWxlY3Rpb24oKSl9c2V0RGlzcGxheWVkKHEpe3RoaXMuX2lzRGlzcGxheWVkPXF9X2J1aWxkQnJ1c2hGaWx0ZXIocSwKdSx3KXtpZihudWxsPT09cSlyZXR1cm4gbmV3IHI7aWYobnVsbD09PXUpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIlNjYWxlIHR5cGUgaXMgbnVsbCwgYnV0IGJydXNoU2VsZWN0aW9uIGlzbid0OiAiLHEpLG5ldyByO3N3aXRjaCh1KXtjYXNlIGsuTElORUFSOmNhc2Ugay5MT0c6e2NvbnN0IFtBLHldPWIuaHBhcmFtcy5wYXJhbGxlbF9jb29yZHNfcGxvdC5jb250aW51b3VzU2NhbGVJbnZlcnNlSW1hZ2UodyxxWzBdLHFbMV0pO3JldHVybiBuZXcgbChBLHksITEsITEpfWNhc2Ugay5RVUFOVElMRTp7Y29uc3QgW0EseV09Yi5ocGFyYW1zLnBhcmFsbGVsX2Nvb3Jkc19wbG90LnF1YW50aWxlU2NhbGVJbnZlcnNlSW1hZ2UodyxxWzBdLHFbMV0pO3JldHVybiBuZXcgbChBLHksITEsITApfWNhc2Ugay5OT05fTlVNRVJJQzpyZXR1cm4gbmV3IHAoYi5ocGFyYW1zLnBhcmFsbGVsX2Nvb3Jkc19wbG90LnBvaW50U2NhbGVJbnZlcnNlSW1hZ2UodyxxWzBdLHFbMV0pKX1jb25zb2xlLmVycm9yKCJVbmtub3duIHNjYWxlIHR5cGU6ICIsCnUpO3JldHVybiBuZXcgcn19Zi5BeGlzPW07Y2xhc3Mgbntjb25zdHJ1Y3RvcihxLHUsdyl7dGhpcy5fc3ZnUHJvcHM9cTt0aGlzLl9zY2hlbWE9dTt0aGlzLl9heGVzPXRoaXMuX2NyZWF0ZUF4ZXModyk7dGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnM9ZDMuc2NhbGVQb2ludCgpLnJhbmdlKFsxLHRoaXMuX3N2Z1Byb3BzLndpZHRoLTFdKS5wYWRkaW5nKC41KTt0aGlzLl9kcmFnZ2VkQXhpcz1udWxsO3RoaXMuX3N2Z1Byb3BzLnN2Z0cuc2VsZWN0QWxsKCJnLmF4aXMtcGFyZW50IikucmVtb3ZlKCk7dGhpcy5fcGFyZW50c1NlbD10aGlzLl9zdmdQcm9wcy5zdmdHLnNlbGVjdEFsbCgiLmF4aXMtcGFyZW50Iil9dXBkYXRlQXhlcyhxLHUpe2NvbnNvbGUuYXNzZXJ0KCF0aGlzLmlzQXhpc0RyYWdnaW5nKCkpO2NvbnN0IHc9bmV3IFNldDtxLmNvbHVtbnMuZm9yRWFjaCh5PT57Y29uc3QgeD15LmFic29sdXRlSW5kZXg7bGV0IEM9dGhpcy5fYXhlc1t4XTtDLnNldERpc3BsYXllZCghMCk7CmNvbnN0IEc9dS5tYXAoRD0+Yi5ocGFyYW1zLnV0aWxzLmNvbHVtblZhbHVlQnlJbmRleCh0aGlzLl9zY2hlbWEsRCx4KSk7Qy5zZXREb21haW5BbmRTY2FsZShHLHkuc2NhbGUpO3cuYWRkKHgpfSk7dGhpcy5fYXhlcy5mb3JFYWNoKHk9Pnt3Lmhhcyh5LmNvbEluZGV4KCkpfHx5LnNldERpc3BsYXllZCghMSl9KTt0aGlzLl91cGRhdGVTdGF0aW9uYXJ5QXhlc1Bvc2l0aW9ucyh3KTt0aGlzLl9wYXJlbnRzU2VsPXRoaXMuX3BhcmVudHNTZWwuZGF0YShBcnJheS5mcm9tKHcpLHk9PnkpO3RoaXMuX3BhcmVudHNTZWwuZXhpdCgpLnJlbW92ZSgpO3RoaXMuX3BhcmVudHNTZWw9dGhpcy5fcGFyZW50c1NlbC5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoImF4aXMtcGFyZW50IiwhMCkubWVyZ2UodGhpcy5fcGFyZW50c1NlbCk7Y29uc3QgQT10aGlzO3RoaXMuX3BhcmVudHNTZWwuY2FsbCh5PT50aGlzLl91cGRhdGVBeGVzUG9zaXRpb25zSW5ET00oeSkpLmVhY2goZnVuY3Rpb24oeSl7QS5fYXhlc1t5XS51cGRhdGVET00odGhpcyl9KX1tYXBWaXNpYmxlQXhlcyhxKXtyZXR1cm4gdGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnMuZG9tYWluKCkubWFwKHU9PgpxKHRoaXMuZ2V0QXhpc1Bvc2l0aW9uKHUpLHRoaXMuX2F4ZXNbdV0pKX1hbGxWaXNpYmxlQXhlc1NhdGlzZnkocSl7cmV0dXJuIHRoaXMuX3N0YXRpb25hcnlBeGVzUG9zaXRpb25zLmRvbWFpbigpLmV2ZXJ5KHU9PnEodGhpcy5nZXRBeGlzUG9zaXRpb24odSksdGhpcy5fYXhlc1t1XSkpfWdldEF4aXNGb3JDb2xJbmRleChxKXtyZXR1cm4gdGhpcy5fYXhlc1txXX1kcmFnU3RhcnQocSl7Y29uc29sZS5hc3NlcnQoIXRoaXMuaXNBeGlzRHJhZ2dpbmcoKSk7Y29uc29sZS5hc3NlcnQodGhpcy5fYXhlc1txXS5pc0Rpc3BsYXllZCgpKTt0aGlzLl9kcmFnZ2VkQXhpcz10aGlzLl9heGVzW3FdO3RoaXMuX2RyYWdnZWRBeGlzUG9zaXRpb249dGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnMocSl9ZHJhZyhxKXt0aGlzLl9kcmFnZ2VkQXhpc1Bvc2l0aW9uPXE9TWF0aC5taW4oTWF0aC5tYXgocSwwKSx0aGlzLl9zdmdQcm9wcy53aWR0aCk7cT10aGlzLl9zdGF0aW9uYXJ5QXhlc1Bvc2l0aW9ucy5kb21haW4oKTsKcS5zb3J0KCh1LHcpPT50aGlzLmdldEF4aXNQb3NpdGlvbih1KS10aGlzLmdldEF4aXNQb3NpdGlvbih3KSk7dGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnMuZG9tYWluKHEpO3RoaXMuX3VwZGF0ZUF4ZXNQb3NpdGlvbnNJbkRPTSh0aGlzLl9wYXJlbnRzU2VsKX1kcmFnRW5kKCl7Y29uc29sZS5hc3NlcnQodGhpcy5pc0F4aXNEcmFnZ2luZygpKTt0aGlzLl9kcmFnZ2VkQXhpcz10aGlzLl9kcmFnZ2VkQXhpc1Bvc2l0aW9uPW51bGw7dGhpcy5fdXBkYXRlQXhlc1Bvc2l0aW9uc0luRE9NKHRoaXMuX3BhcmVudHNTZWwudHJhbnNpdGlvbigpLmR1cmF0aW9uKDUwMCkpfWlzQXhpc0RyYWdnaW5nKCl7cmV0dXJuIG51bGwhPT10aGlzLl9kcmFnZ2VkQXhpc31nZXRBeGlzUG9zaXRpb24ocSl7cmV0dXJuIG51bGwhPT10aGlzLl9kcmFnZ2VkQXhpcyYmdGhpcy5fZHJhZ2dlZEF4aXMuY29sSW5kZXgoKT09PXE/dGhpcy5fZHJhZ2dlZEF4aXNQb3NpdGlvbjp0aGlzLl9zdGF0aW9uYXJ5QXhlc1Bvc2l0aW9ucyhxKX1fdXBkYXRlU3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnMocSl7dmFyIHU9CnRoaXMuX3N0YXRpb25hcnlBeGVzUG9zaXRpb25zLmRvbWFpbigpLmZpbHRlcih3PT5xLmhhcyh3KSk7dT1BcnJheS5mcm9tKG5ldyBTZXQoWy4uLnUsLi4uQXJyYXkuZnJvbShxKV0pKTt0aGlzLl9zdGF0aW9uYXJ5QXhlc1Bvc2l0aW9ucy5kb21haW4odSl9X3VwZGF0ZUF4ZXNQb3NpdGlvbnNJbkRPTShxKXtxLmF0dHIoInRyYW5zZm9ybSIsdT0+Yi5ocGFyYW1zLnV0aWxzLnRyYW5zbGF0ZVN0cih0aGlzLmdldEF4aXNQb3NpdGlvbih1KSkpfV9jcmVhdGVBeGVzKHEpe3JldHVybiBkMy5yYW5nZShiLmhwYXJhbXMudXRpbHMubnVtQ29sdW1ucyh0aGlzLl9zY2hlbWEpKS5tYXAodT0+bmV3IG0odGhpcy5fc3ZnUHJvcHMsdGhpcy5fc2NoZW1hLHEsdSkpfX1mLkF4ZXNDb2xsZWN0aW9uPW59KShkLnBhcmFsbGVsX2Nvb3Jkc19wbG90fHwoZC5wYXJhbGxlbF9jb29yZHNfcGxvdD17fSkpfSkoYi5ocGFyYW1zfHwoYi5ocGFyYW1zPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtcGxvdC9saW5lcy5qcwooZnVuY3Rpb24oYil7KGZ1bmN0aW9uKGQpeyhmdW5jdGlvbihmKXtsZXQgaDsoZnVuY3Rpb24obCl7bFtsLkZPUkVHUk9VTkQ9MF09IkZPUkVHUk9VTkQiO2xbbC5CQUNLR1JPVU5EPTFdPSJCQUNLR1JPVU5EIn0pKGg9Zi5MaW5lVHlwZXx8KGYuTGluZVR5cGU9e30pKTtjbGFzcyBre2NvbnN0cnVjdG9yKGwpe3ZvaWQgMD09PWwmJihsPWQzLnNlbGVjdEFsbChudWxsKSk7Y29uc29sZS5hc3NlcnQoMT49bC5zaXplKCkpO3RoaXMuX3Nlc3Npb25Hcm91cFNlbD1sfXNlc3Npb25Hcm91cCgpe3JldHVybiAxPT09dGhpcy5fc2Vzc2lvbkdyb3VwU2VsLnNpemUoKT90aGlzLl9zZXNzaW9uR3JvdXBTZWwuZGF0dW0oKTpudWxsfWlzTnVsbCgpe3JldHVybiBudWxsPT09dGhpcy5zZXNzaW9uR3JvdXAoKX1zZWxlY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Vzc2lvbkdyb3VwU2VsfWVxdWFsc1RvKGwpe3JldHVybiB0aGlzLmlzTnVsbCgpP2wuaXNOdWxsKCk6bC5pc051bGwoKT8hMTpsLnNlc3Npb25Hcm91cCgpLm5hbWU9PQp0aGlzLnNlc3Npb25Hcm91cCgpLm5hbWV9fWYuU2Vzc2lvbkdyb3VwSGFuZGxlPWs7Y2xhc3Mgcntjb25zdHJ1Y3RvcihsLHAsbSl7dGhpcy5fc3ZnUHJvcHM9bDt0aGlzLl9zY2hlbWE9cDt0aGlzLl9heGVzQ29sbGVjdGlvbj1tO3RoaXMuX3Nlc3Npb25Hcm91cHM9W107dGhpcy5fc3ZnUHJvcHMuc3ZnRy5zZWxlY3RBbGwoImcuYmFja2dyb3VuZCIpLnJlbW92ZSgpO3RoaXMuX3N2Z1Byb3BzLnN2Z0cuc2VsZWN0QWxsKCJnLmZvcmVncm91bmQiKS5yZW1vdmUoKTt0aGlzLl9iZ1BhdGhzU2VsPXRoaXMuX3N2Z1Byb3BzLnN2Z0cuYXBwZW5kKCJnIikuY2xhc3NlZCgiYmFja2dyb3VuZCIsITApLnNlbGVjdEFsbCgicGF0aCIpO3RoaXMuX2ZnUGF0aHNTZWw9dGhpcy5fc3ZnUHJvcHMuc3ZnRy5hcHBlbmQoImciKS5jbGFzc2VkKCJmb3JlZ3JvdW5kIiwhMCkuc2VsZWN0QWxsKCJwYXRoIik7dGhpcy5fdXBkYXRlVmlzaWJsZUZnUGF0aHNTZWwoKTt0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGU9Cm5ldyBrO3RoaXMuX3NlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlPW5ldyBrO3RoaXMuX2QzbGluZT1kMy5saW5lKCkuY3VydmUoZDMuY3VydmVMaW5lYXIpfWdldFNlc3Npb25Hcm91cEhhbmRsZShsKXtyZXR1cm4gbnVsbD09PWx8fHZvaWQgMD09PWw/bmV3IGs6bmV3IGsodGhpcy5fZmdQYXRoc1NlbC5maWx0ZXIocD0+cC5uYW1lPT09bC5uYW1lKSl9aGlkZUJhY2tncm91bmRMaW5lcygpe3RoaXMuX2JnUGF0aHNTZWwuYXR0cigidmlzaWJpbGl0eSIsImhpZGRlbiIpfXNob3dCYWNrZ3JvdW5kTGluZXMoKXt0aGlzLl9iZ1BhdGhzU2VsLmF0dHIoInZpc2liaWxpdHkiLG51bGwpfXBlYWtlZFNlc3Npb25Hcm91cEhhbmRsZSgpe3JldHVybiB0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGV9c2VsZWN0ZWRTZXNzaW9uR3JvdXBIYW5kbGUoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWRTZXNzaW9uR3JvdXBIYW5kbGV9cmVjb21wdXRlQ29udHJvbFBvaW50cyhsLHA9MCl7KGw9PT1oLkZPUkVHUk9VTkQ/CnRoaXMuX2ZnUGF0aHNTZWw6dGhpcy5fYmdQYXRoc1NlbCkudHJhbnNpdGlvbigpLmR1cmF0aW9uKHApLmF0dHIoImQiLG09PnRoaXMuX3BhdGhEQXR0cmlidXRlKG0pKTtsPT09aC5GT1JFR1JPVU5EJiZ3aW5kb3cuc2V0VGltZW91dCgoKT0+e2NvbnN0IG09dGhpczt0aGlzLl9mZ1BhdGhzU2VsLmVhY2goZnVuY3Rpb24obil7bS5fc2V0Q29udHJvbFBvaW50c1Byb3BlcnR5KHRoaXMsbil9KX0pfXJlY29tcHV0ZUZvcmVncm91bmRMaW5lc1Zpc2liaWxpdHkoKXt0aGlzLl9mZ1BhdGhzU2VsLmNsYXNzZWQoImludmlzaWJsZS1wYXRoIixsPT4hdGhpcy5fYXhlc0NvbGxlY3Rpb24uYWxsVmlzaWJsZUF4ZXNTYXRpc2Z5KChwLG0pPT5tLmJydXNoRmlsdGVyKCkuaXNQYXNzaW5nKGIuaHBhcmFtcy51dGlscy5jb2x1bW5WYWx1ZUJ5SW5kZXgodGhpcy5fc2NoZW1hLGwsbS5jb2xJbmRleCgpKSkpKTt0aGlzLl91cGRhdGVWaXNpYmxlRmdQYXRoc1NlbCgpfXNldEZvcmVncm91bmRMaW5lc0NvbG9yKGwsCnAsbSl7bD10aGlzLl9jcmVhdGVMaW5lQ29sb3JGdW5jdGlvbihsLHAsbSk7dGhpcy5fZmdQYXRoc1NlbC5hdHRyKCJzdHJva2UiLGwpfXJlZHJhdyhsLHAsbSxuKXtjb25zdCBxPXRoaXMuX3BlYWtlZFNlc3Npb25Hcm91cEhhbmRsZS5zZXNzaW9uR3JvdXAoKSx1PXRoaXMuX3NlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlLnNlc3Npb25Hcm91cCgpO3RoaXMuX3Nlc3Npb25Hcm91cHM9bDt0aGlzLl9mZ1BhdGhzU2VsPXRoaXMuX3JlY29tcHV0ZVBhdGhTZWxlY3Rpb24odGhpcy5fZmdQYXRoc1NlbCk7dGhpcy5fYmdQYXRoc1NlbD10aGlzLl9yZWNvbXB1dGVQYXRoU2VsZWN0aW9uKHRoaXMuX2JnUGF0aHNTZWwpO3RoaXMuX3BlYWtlZFNlc3Npb25Hcm91cEhhbmRsZT10aGlzLmdldFNlc3Npb25Hcm91cEhhbmRsZShxKTt0aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZT10aGlzLmdldFNlc3Npb25Hcm91cEhhbmRsZSh1KTt0aGlzLnJlY29tcHV0ZUNvbnRyb2xQb2ludHMoaC5GT1JFR1JPVU5EKTsKdGhpcy5yZWNvbXB1dGVDb250cm9sUG9pbnRzKGguQkFDS0dST1VORCk7dGhpcy5yZWNvbXB1dGVGb3JlZ3JvdW5kTGluZXNWaXNpYmlsaXR5KCk7dGhpcy5zZXRGb3JlZ3JvdW5kTGluZXNDb2xvcihwLG0sbil9dXBkYXRlUGVha2VkU2Vzc2lvbkdyb3VwKGwpe3RoaXMuX3BlYWtlZFNlc3Npb25Hcm91cEhhbmRsZS5zZWxlY3Rpb24oKS5jbGFzc2VkKCJwZWFrZWQtcGF0aCIsITEpO3RoaXMuX3BlYWtlZFNlc3Npb25Hcm91cEhhbmRsZT1sO3RoaXMuX3BlYWtlZFNlc3Npb25Hcm91cEhhbmRsZS5zZWxlY3Rpb24oKS5jbGFzc2VkKCJwZWFrZWQtcGF0aCIsITApfWNsZWFyUGVha2VkU2Vzc2lvbkdyb3VwKCl7dGhpcy51cGRhdGVQZWFrZWRTZXNzaW9uR3JvdXAobmV3IGspfXVwZGF0ZVNlbGVjdGVkU2Vzc2lvbkdyb3VwKGwpe3RoaXMuX3NlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlLnNlbGVjdGlvbigpLmNsYXNzZWQoInNlbGVjdGVkLXBhdGgiLCExKTt0aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZT0KbDt0aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZS5zZWxlY3Rpb24oKS5jbGFzc2VkKCJzZWxlY3RlZC1wYXRoIiwhMCl9ZmluZENsb3Nlc3RTZXNzaW9uR3JvdXAobCxwKXtjb25zdCBtPXRoaXMuX2F4ZXNDb2xsZWN0aW9uLm1hcFZpc2libGVBeGVzKG49Pm4pO2w9Yi5ocGFyYW1zLnBhcmFsbGVsX2Nvb3Jkc19wbG90LmZpbmRDbG9zZXN0UGF0aCh0aGlzLl92aXNpYmxlRmdQYXRoc1NlbC5ub2RlcygpLG0sW2wscF0pO3JldHVybiBudWxsPT09bD9uZXcgazpuZXcgayhkMy5zZWxlY3QobCkpfV9jcmVhdGVMaW5lQ29sb3JGdW5jdGlvbihsLHAsbSl7aWYobnVsbD09PWwpcmV0dXJuKCk9PiJyZWQiO2NvbnN0IG49ZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oYi5ocGFyYW1zLnV0aWxzLm51bWVyaWNDb2x1bW5FeHRlbnQodGhpcy5fc2NoZW1hLHRoaXMuX3Nlc3Npb25Hcm91cHMsbCkpLnJhbmdlKFtwLG1dKS5pbnRlcnBvbGF0ZShkMy5pbnRlcnBvbGF0ZUxhYik7cmV0dXJuIHE9PgpuKGIuaHBhcmFtcy51dGlscy5jb2x1bW5WYWx1ZUJ5SW5kZXgodGhpcy5fc2NoZW1hLHEsbCkpfV9yZWNvbXB1dGVQYXRoU2VsZWN0aW9uKGwpe2w9bC5kYXRhKHRoaXMuX3Nlc3Npb25Hcm91cHMscD0+cC5uYW1lKTtsLmV4aXQoKS5yZW1vdmUoKTtyZXR1cm4gbC5lbnRlcigpLmFwcGVuZCgicGF0aCIpLm1lcmdlKGwpfV9zZXRDb250cm9sUG9pbnRzUHJvcGVydHkobCxwKXtsLmNvbnRyb2xQb2ludHM9dGhpcy5fY29tcHV0ZUNvbnRyb2xQb2ludHMocCl9X2NvbXB1dGVDb250cm9sUG9pbnRzKGwpe3JldHVybiB0aGlzLl9heGVzQ29sbGVjdGlvbi5tYXBWaXNpYmxlQXhlcygocCxtKT0+W3AsbS55U2NhbGUoKShiLmhwYXJhbXMudXRpbHMuY29sdW1uVmFsdWVCeUluZGV4KHRoaXMuX3NjaGVtYSxsLG0uY29sSW5kZXgoKSkpXSl9X3BhdGhEQXR0cmlidXRlKGwpe3JldHVybiB0aGlzLl9kM2xpbmUodGhpcy5fY29tcHV0ZUNvbnRyb2xQb2ludHMobCkpfV91cGRhdGVWaXNpYmxlRmdQYXRoc1NlbCgpe3RoaXMuX3Zpc2libGVGZ1BhdGhzU2VsPQp0aGlzLl9mZ1BhdGhzU2VsLmZpbHRlcigiOm5vdCguaW52aXNpYmxlLXBhdGgpIil9fWYuTGluZXNDb2xsZWN0aW9uPXJ9KShkLnBhcmFsbGVsX2Nvb3Jkc19wbG90fHwoZC5wYXJhbGxlbF9jb29yZHNfcGxvdD17fSkpfSkoYi5ocGFyYW1zfHwoYi5ocGFyYW1zPXt9KSl9KSh0Znx8KHRmPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtcGxvdC9pbnRlcmFjdGlvbl9tYW5hZ2VyLmpzCihmdW5jdGlvbihiKXsoZnVuY3Rpb24oZCl7KGZ1bmN0aW9uKGYpe2NsYXNzIGh7Y29uc3RydWN0b3IocixsKXt0aGlzLnN2Zz1kMy5zZWxlY3Qocik7cj0xMDAqbCsyMDt0aGlzLnN2Zy5hdHRyKCJ2aWV3Qm94IixgMCAwICR7cn0gJHsyNDB9YCk7dGhpcy5zdmcuYXR0cigicHJlc2VydmVBc3BlY3RSYXRpbyIsInhNaWRZTWlkIik7dGhpcy5zdmcuc3R5bGUoIm1pbi13aWR0aCIscisicHgiKTt0aGlzLnN2Zy5zdHlsZSgibWluLWhlaWdodCIsIjI0MHB4Iik7dGhpcy53aWR0aD1yLTEwLTEwO3RoaXMuaGVpZ2h0PTIwMDt0aGlzLnN2Z0c9dGhpcy5zdmcuYXBwZW5kKCJnIikuYXR0cigidHJhbnNmb3JtIixiLmhwYXJhbXMudXRpbHMudHJhbnNsYXRlU3RyKDEwLDMwKSl9fWYuU1ZHUHJvcGVydGllcz1oO2NsYXNzIGt7Y29uc3RydWN0b3IocixsLHAsbSl7dGhpcy5fc3ZnUHJvcHM9cjt0aGlzLl9zY2hlbWE9bDt0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBDaGFuZ2VkQ0I9cDt0aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cENoYW5nZWRDQj0KbTt0aGlzLl9heGVzQ29sbGVjdGlvbj1uZXcgZi5BeGVzQ29sbGVjdGlvbihyLGwsdGhpcyk7dGhpcy5fbGluZXNDb2xsZWN0aW9uPW5ldyBmLkxpbmVzQ29sbGVjdGlvbihyLGwsdGhpcy5fYXhlc0NvbGxlY3Rpb24pO3RoaXMuX3N2Z1Byb3BzLnN2Zy5vbigiY2xpY2siLCgpPT50aGlzLm9uQ2xpY2soKSkub24oIm1vdXNlbW92ZSBtb3VzZWVudGVyIiwoKT0+e2NvbnN0IFtuLHFdPWQzLm1vdXNlKHRoaXMuX3N2Z1Byb3BzLnN2Z0cubm9kZSgpKTt0aGlzLm9uTW91c2VNb3ZlZChuLHEpfSkub24oIm1vdXNlbGVhdmUiLCgpPT50aGlzLm9uTW91c2VMZWF2ZSgpKX1vbkRyYWdTdGFydChyKXt0aGlzLl9heGVzQ29sbGVjdGlvbi5kcmFnU3RhcnQocik7dGhpcy5fbGluZXNDb2xsZWN0aW9uLmhpZGVCYWNrZ3JvdW5kTGluZXMoKX1vbkRyYWcocil7dGhpcy5fYXhlc0NvbGxlY3Rpb24uZHJhZyhyKTt0aGlzLl9saW5lc0NvbGxlY3Rpb24ucmVjb21wdXRlQ29udHJvbFBvaW50cyhmLkxpbmVUeXBlLkZPUkVHUk9VTkQpfW9uRHJhZ0VuZCgpe3RoaXMuX2F4ZXNDb2xsZWN0aW9uLmRyYWdFbmQoKTsKdGhpcy5fbGluZXNDb2xsZWN0aW9uLnJlY29tcHV0ZUNvbnRyb2xQb2ludHMoZi5MaW5lVHlwZS5GT1JFR1JPVU5ELDUwMCk7d2luZG93LnNldFRpbWVvdXQoKCk9Pnt0aGlzLl9saW5lc0NvbGxlY3Rpb24ucmVjb21wdXRlQ29udHJvbFBvaW50cyhmLkxpbmVUeXBlLkJBQ0tHUk9VTkQpO3RoaXMuX2xpbmVzQ29sbGVjdGlvbi5zaG93QmFja2dyb3VuZExpbmVzKCl9LDUwMCl9b25CcnVzaENoYW5nZWQocil7dGhpcy5fYXhlc0NvbGxlY3Rpb24uZ2V0QXhpc0ZvckNvbEluZGV4KHIpLnNldEJydXNoU2VsZWN0aW9uKGQzLmV2ZW50LnNlbGVjdGlvbik7dGhpcy5fbGluZXNDb2xsZWN0aW9uLnJlY29tcHV0ZUZvcmVncm91bmRMaW5lc1Zpc2liaWxpdHkoKX1vbk1vdXNlTW92ZWQocixsKXt0aGlzLl9saW5lc0NvbGxlY3Rpb24udXBkYXRlUGVha2VkU2Vzc2lvbkdyb3VwKHRoaXMuX2xpbmVzQ29sbGVjdGlvbi5maW5kQ2xvc2VzdFNlc3Npb25Hcm91cChyLGwpKTt0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBDaGFuZ2VkQ0IodGhpcy5fbGluZXNDb2xsZWN0aW9uLnBlYWtlZFNlc3Npb25Hcm91cEhhbmRsZSgpLnNlc3Npb25Hcm91cCgpKX1vbk1vdXNlTGVhdmUoKXt0aGlzLl9saW5lc0NvbGxlY3Rpb24ucGVha2VkU2Vzc2lvbkdyb3VwSGFuZGxlKCkuaXNOdWxsKCl8fAoodGhpcy5fbGluZXNDb2xsZWN0aW9uLmNsZWFyUGVha2VkU2Vzc2lvbkdyb3VwKCksdGhpcy5fcGVha2VkU2Vzc2lvbkdyb3VwQ2hhbmdlZENCKG51bGwpKX1vbkNsaWNrKCl7dGhpcy5fbGluZXNDb2xsZWN0aW9uLnBlYWtlZFNlc3Npb25Hcm91cEhhbmRsZSgpLnNlc3Npb25Hcm91cCgpPT09dGhpcy5fbGluZXNDb2xsZWN0aW9uLnNlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlKCkuc2Vzc2lvbkdyb3VwKCk/dGhpcy5fbGluZXNDb2xsZWN0aW9uLnVwZGF0ZVNlbGVjdGVkU2Vzc2lvbkdyb3VwKG5ldyBmLlNlc3Npb25Hcm91cEhhbmRsZSk6dGhpcy5fbGluZXNDb2xsZWN0aW9uLnVwZGF0ZVNlbGVjdGVkU2Vzc2lvbkdyb3VwKHRoaXMuX2xpbmVzQ29sbGVjdGlvbi5wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGUoKSk7dGhpcy5fc2VsZWN0ZWRTZXNzaW9uR3JvdXBDaGFuZ2VkQ0IodGhpcy5fbGluZXNDb2xsZWN0aW9uLnNlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlKCkuc2Vzc2lvbkdyb3VwKCkpfW9uT3B0aW9uc09yU2Vzc2lvbkdyb3Vwc0NoYW5nZWQociwKbCl7dGhpcy5fYXhlc0NvbGxlY3Rpb24udXBkYXRlQXhlcyhyLGwpO2NvbnN0IHA9dGhpcy5fbGluZXNDb2xsZWN0aW9uLnBlYWtlZFNlc3Npb25Hcm91cEhhbmRsZSgpLG09dGhpcy5fbGluZXNDb2xsZWN0aW9uLnNlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlKCk7dGhpcy5fbGluZXNDb2xsZWN0aW9uLnJlZHJhdyhsLHZvaWQgMCE9PXIuY29sb3JCeUNvbHVtbkluZGV4P3IuY29sdW1uc1tyLmNvbG9yQnlDb2x1bW5JbmRleF0uYWJzb2x1dGVJbmRleDpudWxsLHIubWluQ29sb3Isci5tYXhDb2xvcik7cC5lcXVhbHNUbyh0aGlzLl9saW5lc0NvbGxlY3Rpb24ucGVha2VkU2Vzc2lvbkdyb3VwSGFuZGxlKCkpfHx0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBDaGFuZ2VkQ0IodGhpcy5fbGluZXNDb2xsZWN0aW9uLnBlYWtlZFNlc3Npb25Hcm91cEhhbmRsZSgpLnNlc3Npb25Hcm91cCgpKTttLmVxdWFsc1RvKHRoaXMuX2xpbmVzQ29sbGVjdGlvbi5zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZSgpKXx8CnRoaXMuX3NlbGVjdGVkU2Vzc2lvbkdyb3VwQ2hhbmdlZENCKHRoaXMuX2xpbmVzQ29sbGVjdGlvbi5zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZSgpLnNlc3Npb25Hcm91cCgpKX1zY2hlbWEoKXtyZXR1cm4gdGhpcy5fc2NoZW1hfX1mLkludGVyYWN0aW9uTWFuYWdlcj1rfSkoZC5wYXJhbGxlbF9jb29yZHNfcGxvdHx8KGQucGFyYWxsZWxfY29vcmRzX3Bsb3Q9e30pKX0pKGIuaHBhcmFtc3x8KGIuaHBhcmFtcz17fSkpfSkodGZ8fCh0Zj17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWhwYXJhbXMtcGFyYWxsZWwtY29vcmRzLXBsb3QvdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtcGxvdC5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1ocGFyYW1zLXBhcmFsbGVsLWNvb3Jkcy1wbG90Iixwcm9wZXJ0aWVzOntzZXNzaW9uR3JvdXBzOkFycmF5LG9wdGlvbnM6T2JqZWN0LHNlbGVjdGVkU2Vzc2lvbkdyb3VwOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsLHJlYWRPbmx5OiEwLG5vdGlmeTohMH0sY2xvc2VzdFNlc3Npb25Hcm91cDp7dHlwZTpPYmplY3QsdmFsdWU6bnVsbCxyZWFkT25seTohMCxub3RpZnk6ITB9LHJlZHJhd0NvdW50Ont0eXBlOk51bWJlcix2YWx1ZTowfSxfdmFsaWRTZXNzaW9uR3JvdXBzOkFycmF5LF9pbnRlcmFjdGlvbk1hbmFnZXI6T2JqZWN0fSxvYnNlcnZlcnM6WyJfb3B0aW9uc09yU2Vzc2lvbkdyb3Vwc0NoYW5nZWQob3B0aW9ucy4qLCBzZXNzaW9uR3JvdXBzLiopIl0sX29wdGlvbnNPclNlc3Npb25Hcm91cHNDaGFuZ2VkKCl7aWYobnVsbCE9PXRoaXMub3B0aW9ucyl7dmFyIGI9dGhpcy5vcHRpb25zLmNvbmZpZ3VyYXRpb247aWYodm9pZCAwPT09dGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyfHwKIV8uaXNFcXVhbCh0aGlzLl9pbnRlcmFjdGlvbk1hbmFnZXIuc2NoZW1hKCksYi5zY2hlbWEpKXtkMy5zZWxlY3QodGhpcy4kLnN2Zykuc2VsZWN0QWxsKCIqIikucmVtb3ZlKCk7Y29uc3QgZD1uZXcgdGYuaHBhcmFtcy5wYXJhbGxlbF9jb29yZHNfcGxvdC5TVkdQcm9wZXJ0aWVzKHRoaXMuJC5zdmcsdGYuaHBhcmFtcy51dGlscy5udW1Db2x1bW5zKGIuc2NoZW1hKSk7dGhpcy5zY29wZVN1YnRyZWUodGhpcy4kLnN2ZywhMCk7dGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyPW5ldyB0Zi5ocGFyYW1zLnBhcmFsbGVsX2Nvb3Jkc19wbG90LkludGVyYWN0aW9uTWFuYWdlcihkLGIuc2NoZW1hLGY9PnRoaXMuY2xvc2VzdFNlc3Npb25Hcm91cENoYW5nZWQoZiksZj0+dGhpcy5zZWxlY3RlZFNlc3Npb25Hcm91cENoYW5nZWQoZikpfXRoaXMuX2NvbXB1dGVWYWxpZFNlc3Npb25Hcm91cHMoKTt0aGlzLl9pbnRlcmFjdGlvbk1hbmFnZXIub25PcHRpb25zT3JTZXNzaW9uR3JvdXBzQ2hhbmdlZCh0aGlzLm9wdGlvbnMsCnRoaXMuX3ZhbGlkU2Vzc2lvbkdyb3Vwcyk7dGhpcy5yZWRyYXdDb3VudCsrfX0sY2xvc2VzdFNlc3Npb25Hcm91cENoYW5nZWQoYil7dGhpcy5fc2V0Q2xvc2VzdFNlc3Npb25Hcm91cChiKX0sc2VsZWN0ZWRTZXNzaW9uR3JvdXBDaGFuZ2VkKGIpe3RoaXMuX3NldFNlbGVjdGVkU2Vzc2lvbkdyb3VwKGIpfSxfY29tcHV0ZVZhbGlkU2Vzc2lvbkdyb3Vwcygpe2NvbnN0IGI9dGYuaHBhcmFtcy51dGlscztpZih2b2lkIDA9PT10aGlzLnNlc3Npb25Hcm91cHMpdGhpcy5fdmFsaWRTZXNzaW9uR3JvdXBzPXZvaWQgMDtlbHNle3ZhciBkPXRoaXMub3B0aW9ucy5jb25maWd1cmF0aW9uLnNjaGVtYTt0aGlzLl92YWxpZFNlc3Npb25Hcm91cHM9dGhpcy5zZXNzaW9uR3JvdXBzLmZpbHRlcihmPT57Zm9yKGxldCBoPTA7aDxiLm51bUNvbHVtbnMoZCk7KytoKWlmKHRoaXMub3B0aW9ucy5jb25maWd1cmF0aW9uLmNvbHVtbnNWaXNpYmlsaXR5W2hdJiZ2b2lkIDA9PT1iLmNvbHVtblZhbHVlQnlJbmRleChkLApmLGgpKXJldHVybiExO3JldHVybiEwfSl9fX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWhwYXJhbXMtcGFyYWxsZWwtY29vcmRzLXZpZXcvdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtdmlldy5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1ocGFyYW1zLXBhcmFsbGVsLWNvb3Jkcy12aWV3Iixwcm9wZXJ0aWVzOntiYWNrZW5kOk9iamVjdCxleHBlcmltZW50TmFtZTpTdHJpbmcsY29uZmlndXJhdGlvbjpPYmplY3Qsc2Vzc2lvbkdyb3VwczpBcnJheX0sX2Nsb3Nlc3RPclNlbGVjdGVkOmZ1bmN0aW9uKGIsZCl7cmV0dXJuIG51bGwhPT1iP2I6ZH19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ocGFyYW1zLXNjYXR0ZXItcGxvdC1tYXRyaXgtcGxvdC90Zi1ocGFyYW1zLXNjYXR0ZXItcGxvdC1tYXRyaXgtcGxvdC5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1ocGFyYW1zLXNjYXR0ZXItcGxvdC1tYXRyaXgtcGxvdCIscHJvcGVydGllczp7dmlzaWJsZVNjaGVtYTpPYmplY3Qsc2Vzc2lvbkdyb3VwczpBcnJheSxvcHRpb25zOk9iamVjdCxzZWxlY3RlZFNlc3Npb25Hcm91cDp7dHlwZTpPYmplY3QsdmFsdWU6bnVsbCxyZWFkT25seTohMCxub3RpZnk6ITB9LGNsb3Nlc3RTZXNzaW9uR3JvdXA6e3R5cGU6T2JqZWN0LHZhbHVlOm51bGwscmVhZE9ubHk6ITAsbm90aWZ5OiEwfSxfY29udGFpbmVyOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSxfc3ZnOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfSx3aWR0aDp7dHlwZTpOdW1iZXIsdmFsdWU6MH0saGVpZ2h0Ont0eXBlOk51bWJlcix2YWx1ZTowfSxfYnJ1c2hlZENlbGxJbmRleDp7dHlwZTpPYmplY3QsdmFsdWU6bnVsbH0sX2JydXNoU2VsZWN0aW9uOnt0eXBlOk9iamVjdCx2YWx1ZTpudWxsfX0sb2JzZXJ2ZXJzOlsiX3Nlc3Npb25Hcm91cHNDaGFuZ2VkKHNlc3Npb25Hcm91cHMuKikiLAoiX3Zpc2libGVTY2hlbWFDaGFuZ2VkKHZpc2libGVTY2hlbWEuKikiLCJfcmVkcmF3KG9wdGlvbnMuKikiXSxyZWFkeSgpe3RoaXMuX2NvbnRhaW5lcj10aGlzLiQuY29udGFpbmVyO3RoaXMuX3N2Zz1kMy5zZWxlY3QodGhpcy4kLnN2Zyk7dGhpcy5fcmVkcmF3KCl9LF9zZXNzaW9uR3JvdXBzQ2hhbmdlZCgpe251bGwhPT10aGlzLnNlbGVjdGVkU2Vzc2lvbkdyb3VwJiZ0aGlzLl9zZXRTZWxlY3RlZFNlc3Npb25Hcm91cCh0Zi5ocGFyYW1zLnV0aWxzLnNlc3Npb25Hcm91cFdpdGhOYW1lKHRoaXMuc2Vzc2lvbkdyb3Vwcyx0aGlzLnNlbGVjdGVkU2Vzc2lvbkdyb3VwLm5hbWUpfHxudWxsKTt0aGlzLl9yZWRyYXcoKX0sX3Zpc2libGVTY2hlbWFDaGFuZ2VkKCl7dGhpcy5fYnJ1c2hTZWxlY3Rpb249dGhpcy5fYnJ1c2hlZENlbGxJbmRleD1udWxsO3RoaXMuX3JlZHJhdygpfSxfcmVkcmF3KCl7dGhpcy5kZWJvdW5jZSgiX3JlZHJhdyIsKCk9Pntjb25zdCBiPXRmLmhwYXJhbXMudXRpbHM7CnRoaXMud2lkdGg9TWF0aC5tYXgoMTUwKmIubnVtVmlzaWJsZUNvbHVtbnModGhpcy52aXNpYmxlU2NoZW1hKSwxMjAwKTt0aGlzLmhlaWdodD1NYXRoLm1heCgxMTIuNSpiLm51bVZpc2libGVNZXRyaWNzKHRoaXMudmlzaWJsZVNjaGVtYSksNDgwKTt0aGlzLl9jb250YWluZXIuc3R5bGUud2lkdGg9dGhpcy53aWR0aCsicHgiO3RoaXMuX2NvbnRhaW5lci5zdHlsZS5oZWlnaHQ9dGhpcy5oZWlnaHQrInB4Ijt0aGlzLl9zdmcuYXR0cigid2lkdGgiLHRoaXMud2lkdGgpLmF0dHIoImhlaWdodCIsdGhpcy5oZWlnaHQpO3RoaXMuX3N2Zy5zZWxlY3RBbGwoImciKS5yZW1vdmUoKTt0aGlzLl9kcmF3KCl9LDEwMCl9LF9kcmF3KCl7ZnVuY3Rpb24gYihrYSl7cmV0dXJuIngtYXhpcy1jbGlwLXBhdGgtIitrYX1mdW5jdGlvbiBkKGthKXtyZXR1cm4ieC1sYWJlbC1jbGlwLXBhdGgtIitrYX1mdW5jdGlvbiBmKGthKXtyZXR1cm4ieS1heGlzLWNsaXAtcGF0aC0iK2thfWZ1bmN0aW9uIGgoa2Epe3JldHVybiJ5LWxhYmVsLWNsaXAtcGF0aC0iKwprYX1mdW5jdGlvbiBrKGthLFcsRWEsdmEseWEpe0VhPU1hdGguZmxvb3IoRWEvdmEpO3ZhPVcuc2NhbGUoKTtpZigiUVVBTlRJTEUiPT09eWEpe2xldCBBYT12YS5xdWFudGlsZXMoKTtBYT1kMy5yYW5nZSgwLEFhLmxlbmd0aCxNYXRoLmNlaWwoQWEubGVuZ3RoL0VhKSkubWFwKEZhPT5BYVtGYV0pO1cudGlja1ZhbHVlcyhBYSkudGlja0Zvcm1hdChkMy5mb3JtYXQoIi0uMmciKSl9IkxJTkVBUiIhPT15YSYmIkxPRyIhPT15YXx8Vy50aWNrcyhFYSk7a2EuY2FsbChXKTtrYS5zZWxlY3RBbGwoIi5kb21haW4iKS5yZW1vdmUoKTtrYS5zZWxlY3RBbGwoIi50aWNrIGxpbmUiKS5hdHRyKCJzdHJva2UiLCIjZGRkIil9ZnVuY3Rpb24gcihrYSxXKXtyZXR1cm4gTFtXXSh4Ll9jb2xWYWx1ZShrYSxXKSl9ZnVuY3Rpb24gbChrYSxXKXtyZXR1cm4gSltXXSh4Ll9tZXRyaWNWYWx1ZShrYSxXKSl9ZnVuY3Rpb24gcChrYSxXKXtjb25zdCBFYT1bXTtYW2thXVtXXS5lYWNoKGZ1bmN0aW9uKCl7RWEucHVzaCh0aGlzKX0pOwpyZXR1cm4gZDMucXVhZHRyZWUoKS54KHZhPT5kMy5zZWxlY3QodmEpLmRhdHVtKCkueCkueSh2YT0+ZDMuc2VsZWN0KHZhKS5kYXR1bSgpLnkpLmFkZEFsbChFYSl9ZnVuY3Rpb24gbSgpe2xldCBrYT1uZXcgU2V0KFIubm9kZXMoKSk7dygpfHwoa2E9bih4Ll9icnVzaGVkQ2VsbEluZGV4LHguX2JydXNoU2VsZWN0aW9uKSk7ZDMuc2VsZWN0QWxsKEFycmF5LmZyb20oeS5maWx0ZXJTZXQoa2EsVz0+IVouaGFzKFcpKSkpLmF0dHIoImZpbGwiLE4pO2QzLnNlbGVjdEFsbChBcnJheS5mcm9tKHkuZmlsdGVyU2V0KFosVz0+IWthLmhhcyhXKSkpKS5hdHRyKCJmaWxsIiwiI2RkZCIpO1o9a2F9ZnVuY3Rpb24gbihrYSxXKXtjb25zb2xlLmFzc2VydChudWxsIT09a2EpO2NvbnNvbGUuYXNzZXJ0KG51bGwhPT1XKTtjb25zdCBbRWEsdmFdPWthLHlhPW5ldyBTZXQ7eS5xdWFkVHJlZVZpc2l0UG9pbnRzSW5SZWN0KGZhW0VhXVt2YV0sV1swXVswXSxXWzBdWzFdLFdbMV1bMF0sV1sxXVsxXSwKQWE9PntkMy5zZWxlY3QoQWEpLmRhdHVtKCkuc2Vzc2lvbkdyb3VwTWFya2Vycy5mb3JFYWNoKEZhPT57eWEuYWRkKEZhKX0pfSk7cmV0dXJuIHlhfWZ1bmN0aW9uIHEoa2Epe2NvbnN0IFc9ZDMuYnJ1c2hTZWxlY3Rpb24oa2EpOyF1KCkmJm51bGw9PT1XfHx1KCkmJmthPT09b2Eubm9kZSgpJiZfLmlzRXF1YWwoVyx4Ll9icnVzaFNlbGVjdGlvbil8fCh4Ll9icnVzaFNlbGVjdGlvbj1XLG51bGwhPT1XPyhvYT1kMy5zZWxlY3Qoa2EpLHguX2JydXNoZWRDZWxsSW5kZXg9b2EuZGF0dW0oKSk6KG9hPW51bGwseC5fYnJ1c2hlZENlbGxJbmRleD1udWxsKSxtKCkpfWZ1bmN0aW9uIHUoKXtyZXR1cm4gbnVsbCE9PXguX2JydXNoZWRDZWxsSW5kZXgmJm51bGwhPT14Ll9icnVzaFNlbGVjdGlvbn1mdW5jdGlvbiB3KCl7cmV0dXJuIXUoKXx8eC5fYnJ1c2hTZWxlY3Rpb25bMF1bMF09PT14Ll9icnVzaFNlbGVjdGlvblsxXVswXXx8eC5fYnJ1c2hTZWxlY3Rpb25bMF1bMV09PT14Ll9icnVzaFNlbGVjdGlvblsxXVsxXX0KZnVuY3Rpb24gQShrYSxXLEVhLHZhLHlhKXtsZXQgQWE9SW5maW5pdHksRmE9bnVsbDt5LnF1YWRUcmVlVmlzaXRQb2ludHNJbkRpc2soZmFba2FdW1ddLEVhLHZhLHlhLCh4YSxTYSk9PntaLmhhcyh4YSkmJlNhPEFhJiYoeGE9ZDMuc2VsZWN0KHhhKS5kYXR1bSgpLEFhPVNhLEZhPXhhLnNlc3Npb25Hcm91cCl9KTtyZXR1cm4gbnVsbD09PUZhP251bGw6ZDMuc2VsZWN0QWxsKGFhLmdldChGYSkpfWNvbnN0IHk9dGYuaHBhcmFtcy51dGlscyx4PXRoaXM7aWYodGhpcy5zZXNzaW9uR3JvdXBzJiYwIT10aGlzLnNlc3Npb25Hcm91cHMubGVuZ3RoJiZ0aGlzLnZpc2libGVTY2hlbWEmJjAhPXRoaXMudmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvcy5sZW5ndGgpe3ZhciBDPWQzLnJhbmdlKHkubnVtVmlzaWJsZUNvbHVtbnMoeC52aXNpYmxlU2NoZW1hKSksRz1kMy5yYW5nZSh5Lm51bVZpc2libGVNZXRyaWNzKHgudmlzaWJsZVNjaGVtYSkpLEQ9ZDMuc2NhbGVCYW5kKCkuZG9tYWluKEMpLnJhbmdlKFs4NSwKdGhpcy53aWR0aC0xLTVdKS5wYWRkaW5nSW5uZXIoLjEpLEI9ZDMuc2NhbGVCYW5kKCkuZG9tYWluKEcpLnJhbmdlKFt0aGlzLmhlaWdodC0xLTUtNTAsNV0pLnBhZGRpbmdJbm5lciguMSksSD1ELmJhbmR3aWR0aCgpLEs9Qi5iYW5kd2lkdGgoKSxMPUMubWFwKGthPT54Ll9jZWxsU2NhbGUoa2EsWzAsSC0xXSkpLEo9Ry5tYXAoa2E9PnguX2NlbGxTY2FsZShrYSt5Lm51bVZpc2libGVIUGFyYW1zKHgudmlzaWJsZVNjaGVtYSksW0stMSwwXSkpLE89dGhpcy5fc3ZnLnNlbGVjdEFsbCgiLngtYXhpcyIpLmRhdGEoQykuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJ4LWF4aXMiLCEwKS5hdHRyKCJ0cmFuc2Zvcm0iLGthPT55LnRyYW5zbGF0ZVN0cihEKGthKSwwKSk7Ty5hcHBlbmQoImNsaXBQYXRoIikuYXR0cigiaWQiLGIpLmFwcGVuZCgicmVjdCIpLmF0dHIoIngiLC01KS5hdHRyKCJ5IiwwKS5hdHRyKCJ3aWR0aCIsSCsxMCkuYXR0cigiaGVpZ2h0Iix4LmhlaWdodC0yNSk7Ck8uYXBwZW5kKCJjbGlwUGF0aCIpLmF0dHIoImlkIixkKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJ4IiwwKS5hdHRyKCJ5Iix4LmhlaWdodC0yNSkuYXR0cigid2lkdGgiLEgpLmF0dHIoImhlaWdodCIsMjUpO08uYXBwZW5kKCJnIikuYXR0cigiY2xpcC1wYXRoIixrYT0+InVybCgjIitiKGthKSsiKSIpLmVhY2goZnVuY3Rpb24oa2Epe2QzLnNlbGVjdCh0aGlzKS5jYWxsKGssZDMuYXhpc0JvdHRvbShMW2thXSkudGlja1NpemUoeC5oZWlnaHQtNTApLEgsNDAseC5vcHRpb25zLmNvbHVtbnNba2FdLnNjYWxlKX0pO08uYXBwZW5kKCJnIikuY2xhc3NlZCgieC1heGlzLWxhYmVsIiwhMCkuYXR0cigiY2xpcC1wYXRoIixrYT0+InVybCgjIitkKGthKSsiKSIpLmFwcGVuZCgidGV4dCIpLmF0dHIoInRleHQtYW5jaG9yIiwibWlkZGxlIikuYXR0cigieCIsSC8yKS5hdHRyKCJ5Iix4LmhlaWdodC0xLTEyLjUpLnRleHQoa2E9Pnkuc2NoZW1hVmlzaWJsZUNvbHVtbk5hbWUoeC52aXNpYmxlU2NoZW1hLAprYSkpLmFwcGVuZCgidGl0bGUiKS50ZXh0KGthPT55LnNjaGVtYVZpc2libGVDb2x1bW5OYW1lKHgudmlzaWJsZVNjaGVtYSxrYSkpO089dGhpcy5fc3ZnLnNlbGVjdEFsbCgiLnktYXhpcyIpLmRhdGEoRykuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJ5LWF4aXMiLCEwKS5hdHRyKCJ0cmFuc2Zvcm0iLGthPT55LnRyYW5zbGF0ZVN0cih4LndpZHRoLTEsQihrYSkpKTtPLmFwcGVuZCgiY2xpcFBhdGgiKS5hdHRyKCJpZCIsZikuYXBwZW5kKCJyZWN0IikuYXR0cigieCIsLSh4LndpZHRoLTQwLTEpKS5hdHRyKCJ5IiwtNSkuYXR0cigid2lkdGgiLHgud2lkdGgtNDApLmF0dHIoImhlaWdodCIsSysxMCk7Ty5hcHBlbmQoImNsaXBQYXRoIikuYXR0cigiaWQiLGgpLmFwcGVuZCgicmVjdCIpLmF0dHIoIngiLC0oeC53aWR0aC0xKSkuYXR0cigieSIsMCkuYXR0cigid2lkdGgiLDQwKS5hdHRyKCJoZWlnaHQiLEspO08uYXBwZW5kKCJnIikuYXR0cigiY2xpcC1wYXRoIixrYT0+InVybCgjIisKZihrYSkrIikiKS5lYWNoKGZ1bmN0aW9uKGthKXtkMy5zZWxlY3QodGhpcykuY2FsbChrLGQzLmF4aXNMZWZ0KEpba2FdKS50aWNrU2l6ZSh4LndpZHRoLTgwKSxLLDIwLHgub3B0aW9ucy5jb2x1bW5zW2thK3kubnVtVmlzaWJsZUhQYXJhbXMoeC52aXNpYmxlU2NoZW1hKV0uc2NhbGUpfSk7Ty5hcHBlbmQoImciKS5jbGFzc2VkKCJ5LWF4aXMtbGFiZWwiLCEwKS5hdHRyKCJjbGlwLXBhdGgiLGthPT4idXJsKCMiK2goa2EpKyIpIikuYXBwZW5kKCJ0ZXh0IikuYXR0cigidGV4dC1hbmNob3IiLCJtaWRkbGUiKS5hdHRyKCJ4IiwtKHgud2lkdGgtMjAtMSkpLmF0dHIoInkiLEsvMikuYXR0cigidHJhbnNmb3JtIix5LnJvdGF0ZVN0cigtKHgud2lkdGgtMjAtMSksSy8yKSkudGV4dChrYT0+eS5tZXRyaWNOYW1lKHgudmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvc1trYV0pKS5hcHBlbmQoInRpdGxlIikudGV4dChrYT0+eS5tZXRyaWNOYW1lKHgudmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvc1trYV0pKTsKTz10aGlzLl9zdmcuc2VsZWN0QWxsKCIuY2VsbCIpLmRhdGEoZDMuY3Jvc3MoQyxHKSkuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJjZWxsIiwhMCkuYXR0cigidHJhbnNmb3JtIiwoW2thLFddKT0+eS50cmFuc2xhdGVTdHIoRChrYSksQihXKSkpO08uYXBwZW5kKCJnIikuY2xhc3NlZCgiZnJhbWUiLCEwKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJ4IiwtNSkuYXR0cigieSIsLTUpLmF0dHIoIndpZHRoIixIKzEwKS5hdHRyKCJoZWlnaHQiLEsrMTApLmF0dHIoInN0cm9rZSIsIiMwMDAiKS5hdHRyKCJmaWxsIiwibm9uZSIpLmF0dHIoInNoYXBlLXJlbmRlcmluZyIsImNyaXNwRWRnZXMiKTt2YXIgUz1udWxsO3ZvaWQgMCE9PXgub3B0aW9ucy5jb2xvckJ5Q29sdW1uSW5kZXgmJihTPWQzLnNjYWxlTGluZWFyKCkuZG9tYWluKHRoaXMuX2NvbEV4dGVudCh0aGlzLm9wdGlvbnMuY29sb3JCeUNvbHVtbkluZGV4KSkucmFuZ2UoW3RoaXMub3B0aW9ucy5taW5Db2xvcix0aGlzLm9wdGlvbnMubWF4Q29sb3JdKS5pbnRlcnBvbGF0ZShkMy5pbnRlcnBvbGF0ZUxhYikpOwp2YXIgTj12b2lkIDA9PT14Lm9wdGlvbnMuY29sb3JCeUNvbHVtbkluZGV4PygpPT4icmVkIjooe3Nlc3Npb25Hcm91cDprYX0pPT5TKHRoaXMuX2NvbFZhbHVlKGthLHgub3B0aW9ucy5jb2xvckJ5Q29sdW1uSW5kZXgpKSxbUixYLGFhXT1mdW5jdGlvbihrYSxXKXtjb25zdCBFYT1rYS5zZWxlY3RBbGwoIi5kYXRhLW1hcmtlciIpLmRhdGEoKFt5YSxBYV0pPT54LnNlc3Npb25Hcm91cHMuZmlsdGVyKEZhPT52b2lkIDAhPT14Ll9jb2xWYWx1ZShGYSx5YSkmJnZvaWQgMCE9PXguX21ldHJpY1ZhbHVlKEZhLEFhKSkubWFwKEZhPT4oe2NvbDp5YSxtZXRyaWM6QWEsc2Vzc2lvbkdyb3VwOkZhLHg6cihGYSx5YSkseTpsKEZhLEFhKSxzZXNzaW9uR3JvdXBNYXJrZXJzOm51bGx9KSkpLmVudGVyKCkuYXBwZW5kKCJjaXJjbGUiKS5jbGFzc2VkKCJkYXRhLW1hcmtlciIsITApLmF0dHIoImN4Iiwoe3g6eWF9KT0+eWEpLmF0dHIoImN5Iiwoe3k6eWF9KT0+eWEpLmF0dHIoInIiLDIpLmF0dHIoImZpbGwiLApXKSx2YT1uZXcgTWFwO3guc2Vzc2lvbkdyb3Vwcy5mb3JFYWNoKHlhPT57dmEuc2V0KHlhLFtdKX0pO0VhLmVhY2goZnVuY3Rpb24oeWEpe3ZhLmdldCh5YS5zZXNzaW9uR3JvdXApLnB1c2godGhpcyl9KTtFYS5lYWNoKHlhPT57Y29uc3QgQWE9dmEuZ2V0KHlhLnNlc3Npb25Hcm91cCk7eWEuc2Vzc2lvbkdyb3VwTWFya2Vycz1uZXcgU2V0KEFhKX0pO2thPUMubWFwKHlhPT5HLm1hcChBYT0+RWEuZmlsdGVyKEZhPT5GYS5jb2w9PXlhJiZGYS5tZXRyaWM9PUFhKSkpO3JldHVybltFYSxrYSx2YV19KE8uYXBwZW5kKCJnIiksTiksZmE9Qy5tYXAoa2E9PkcubWFwKFc9PnAoa2EsVykpKSxvYT1udWxsO3UoKSYmKG9hPU8uZmlsdGVyKGthPT5fLmlzRXF1YWwoa2EseC5fYnJ1c2hlZENlbGxJbmRleCkpLGNvbnNvbGUuYXNzZXJ0KDE9PW9hLnNpemUoKSxvYSkpO3ZhciBaPW5ldyBTZXQoUi5ub2RlcygpKTttKCk7dmFyIGNhPWQzLmJydXNoKCkuZXh0ZW50KFtbLTQsLTRdLFtILTErNS0KMSxLLTErNS0xXV0pLm9uKCJzdGFydCIsZnVuY3Rpb24oKXt1KCkmJm9hLm5vZGUoKSE9dGhpcyYmY2EubW92ZShvYSxudWxsKTtxKHRoaXMpfSkub24oImJydXNoIixmdW5jdGlvbigpe3EodGhpcyl9KS5vbigiZW5kIixmdW5jdGlvbigpe3EodGhpcyl9KTtPLmNhbGwoY2EpO3UoKSYmY2EubW92ZShvYSx4Ll9icnVzaFNlbGVjdGlvbik7dmFyIGphPW51bGwsYmE9bnVsbDtudWxsIT09dGhpcy5zZWxlY3RlZFNlc3Npb25Hcm91cCYmKGJhPWQzLnNlbGVjdEFsbChhYS5nZXQodGhpcy5zZWxlY3RlZFNlc3Npb25Hcm91cCkpLmNsYXNzZWQoInNlbGVjdGVkLW1hcmtlciIsITApKTtPLm9uKCJjbGljayIsZnVuY3Rpb24oKXt2YXIga2E9amE9PT1iYT9udWxsOmphO2thIT09YmEmJihudWxsIT09YmEmJmJhLmNsYXNzZWQoInNlbGVjdGVkLW1hcmtlciIsITEpLGJhPWthLG51bGwhPT1iYSYmYmEuY2xhc3NlZCgic2VsZWN0ZWQtbWFya2VyIiwhMCksa2E9bnVsbD09PWJhP251bGw6YmEuZGF0dW0oKS5zZXNzaW9uR3JvdXAsCnguX3NldFNlbGVjdGVkU2Vzc2lvbkdyb3VwKGthKSl9KS5vbigibW91c2Vtb3ZlIG1vdXNlZW50ZXIiLGZ1bmN0aW9uKFtrYSxXXSl7Y29uc3QgW0VhLHZhXT1kMy5tb3VzZSh0aGlzKTtrYT1BKGthLFcsRWEsdmEsMjApO2phIT09a2EmJihudWxsIT09amEmJmphLmNsYXNzZWQoImNsb3Nlc3QtbWFya2VyIiwhMSksamE9a2EsbnVsbCE9PWphPyhqYS5jbGFzc2VkKCJjbG9zZXN0LW1hcmtlciIsITApLHguX3NldENsb3Nlc3RTZXNzaW9uR3JvdXAoamEuZGF0dW0oKS5zZXNzaW9uR3JvdXApKTp4Ll9zZXRDbG9zZXN0U2Vzc2lvbkdyb3VwKG51bGwpKX0pLm9uKCJtb3VzZWxlYXZlIixmdW5jdGlvbigpe251bGwhPT1qYSYmKGphLmNsYXNzZWQoImNsb3Nlc3QtbWFya2VyIiwhMSksamE9bnVsbCx4Ll9zZXRDbG9zZXN0U2Vzc2lvbkdyb3VwKG51bGwpKX0pO3RoaXMuX3N2Zy5zZWxlY3RBbGwoIioiKS5jbGFzc2VkKCJ0Zi1ocGFyYW1zLXNjYXR0ZXItcGxvdC1tYXRyaXgtcGxvdCIsITApfX0sCl9jZWxsU2NhbGUoYixkKXt2YXIgZj10aGlzLl9jb2xFeHRlbnQoYik7Y29uc3QgaD1kMy5zY2FsZUxpbmVhcigpLmRvbWFpbihmKS5yYW5nZShkKTtpZigiTElORUFSIj09PXRoaXMub3B0aW9ucy5jb2x1bW5zW2JdLnNjYWxlKXJldHVybiBoO2lmKCJMT0ciPT09dGhpcy5vcHRpb25zLmNvbHVtbnNbYl0uc2NhbGUpcmV0dXJuIDA+PWZbMF0mJjA8PWZbMV0/aDpkMy5zY2FsZUxvZygpLmRvbWFpbihmKS5yYW5nZShkKTtpZigiUVVBTlRJTEUiPT09dGhpcy5vcHRpb25zLmNvbHVtbnNbYl0uc2NhbGUpe2NvbnN0IGs9KGRbMV0tZFswXSkvMTk7Zj1kMy5yYW5nZSgyMCkubWFwKHI9PmRbMF0raypyKTtyZXR1cm4gZDMuc2NhbGVRdWFudGlsZSgpLmRvbWFpbihfLnVuaXEodGhpcy5zZXNzaW9uR3JvdXBzLm1hcChyPT50aGlzLl9jb2xWYWx1ZShyLGIpKSkpLnJhbmdlKGYpfWlmKCJOT05fTlVNRVJJQyI9PT10aGlzLm9wdGlvbnMuY29sdW1uc1tiXS5zY2FsZSlyZXR1cm4gZDMuc2NhbGVQb2ludCgpLmRvbWFpbihfLnVuaXEodGhpcy5zZXNzaW9uR3JvdXBzLm1hcChrPT4KdGhpcy5fY29sVmFsdWUoayxiKSkuc29ydCgpKSkucmFuZ2UoZCkucGFkZGluZyguMSk7dGhyb3ciVW5rbm93biBzY2FsZSBmb3IgY29sdW1uOiAiK2IrIi4gb3B0aW9uczogIit0aGlzLm9wdGlvbnM7fSxfY29sVmFsdWUoYixkKXtyZXR1cm4gdGYuaHBhcmFtcy51dGlscy5jb2x1bW5WYWx1ZUJ5VmlzaWJsZUluZGV4KHRoaXMudmlzaWJsZVNjaGVtYSxiLGQpfSxfbWV0cmljVmFsdWUoYixkKXtyZXR1cm4gdGYuaHBhcmFtcy51dGlscy5tZXRyaWNWYWx1ZUJ5VmlzaWJsZUluZGV4KHRoaXMudmlzaWJsZVNjaGVtYSxiLGQpfSxfY29sRXh0ZW50KGIpe3JldHVybiB0Zi5ocGFyYW1zLnV0aWxzLnZpc2libGVOdW1lcmljQ29sdW1uRXh0ZW50KHRoaXMudmlzaWJsZVNjaGVtYSx0aGlzLnNlc3Npb25Hcm91cHMsYil9fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy1zY2F0dGVyLXBsb3QtbWF0cml4LXZpZXcvdGYtaHBhcmFtcy1zY2F0dGVyLXBsb3QtbWF0cml4LXZpZXcuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtaHBhcmFtcy1zY2F0dGVyLXBsb3QtbWF0cml4LXZpZXciLHByb3BlcnRpZXM6e2JhY2tlbmQ6T2JqZWN0LGV4cGVyaW1lbnROYW1lOlN0cmluZyxjb25maWd1cmF0aW9uOk9iamVjdCxzZXNzaW9uR3JvdXBzOkFycmF5fSxfY2xvc2VzdE9yU2VsZWN0ZWQ6ZnVuY3Rpb24oYixkKXtyZXR1cm4gbnVsbCE9PWI/YjpkfX0pOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLWhwYXJhbXMtc2Vzc2lvbnMtcGFuZS90Zi1ocGFyYW1zLXNlc3Npb25zLXBhbmUuaHRtbC5qcwpQb2x5bWVyKHtpczoidGYtaHBhcmFtcy1zZXNzaW9ucy1wYW5lIixwcm9wZXJ0aWVzOntiYWNrZW5kOk9iamVjdCxoZWxwVXJsOlN0cmluZyxidWdSZXBvcnRVcmw6U3RyaW5nLGV4cGVyaW1lbnROYW1lOlN0cmluZyxjb25maWd1cmF0aW9uOk9iamVjdCxzZXNzaW9uR3JvdXBzOkFycmF5LF9zZWxlY3RlZFRhYjp7dHlwZTpOdW1iZXIsdmFsdWU6MH19fSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtaHBhcmFtcy1tYWluL3RmLWhwYXJhbXMtbWFpbi5odG1sLmpzClBvbHltZXIoe2lzOiJ0Zi1ocGFyYW1zLW1haW4iLHByb3BlcnRpZXM6e2JhY2tlbmQ6T2JqZWN0LGV4cGVyaW1lbnROYW1lOlN0cmluZyx0cmFja2luZ0lkOlN0cmluZyxoZWxwVXJsOlN0cmluZyxidWdSZXBvcnRVcmw6U3RyaW5nLF9jb25maWd1cmF0aW9uOk9iamVjdCxfc2Vzc2lvbkdyb3VwczpBcnJheSxfdGhyb3R0bGVkU2VuZEV2ZW50VG9HQTp7dHlwZTpGdW5jdGlvbix2YWx1ZTooKT0+Xy50aHJvdHRsZShmdW5jdGlvbigpe3RoaXMuX2hhbmRsZUdBRXZlbnQoe2RldGFpbDp7aGl0VHlwZToiZXZlbnQiLGV2ZW50Q2F0ZWdvcnk6IlVzZXJJbnRlcmFjdGlvbiIsZXZlbnRMYWJlbDoiRXhwZXJpbWVudDogIit0aGlzLmV4cGVyaW1lbnROYW1lfX0pfSw2RTQse2xlYWRpbmc6ITB9KX19LGxpc3RlbmVyczp7bW91c2Vtb3ZlOiJfc2VuZEV2ZW50VG9HQSIsdGFwOiJfc2VuZEV2ZW50VG9HQSIsImdvb2dsZS1hbmFseXRpY3MtdHJhY2tpbmciOiJfaGFuZGxlR0FFdmVudCJ9LGF0dGFjaGVkKCl7dGhpcy5faGFuZGxlR0FFdmVudCh7ZGV0YWlsOntoaXRUeXBlOiJwYWdldmlldyJ9fSl9LApyZWxvYWQoKXt0aGlzLiRbInF1ZXJ5LXBhbmUiXS5yZWxvYWQoKX0sX3NlbmRFdmVudFRvR0EoKXt0aGlzLl90aHJvdHRsZWRTZW5kRXZlbnRUb0dBKHRoaXMpfSxfaGFuZGxlR0FFdmVudChiKXt0aGlzLiQudHJhY2tlci5oYW5kbGVFdmVudChiKX19KTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1ocGFyYW1zLWRhc2hib2FyZC90Zi1ocGFyYW1zLWRhc2hib2FyZC5odG1sLmpzCihmdW5jdGlvbigpe1BvbHltZXIoe2lzOiJ0Zi1ocGFyYW1zLWRhc2hib2FyZCIscHJvcGVydGllczp7X2JhY2tlbmQ6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgdGYuaHBhcmFtcy5CYWNrZW5kKGRjLmdldFJvdXRlcigpLnBsdWdpblJvdXRlKCJocGFyYW1zIiwiIiksbmV3IGRjLlJlcXVlc3RNYW5hZ2VyLCEhKHdpbmRvdy5URU5TT1JCT0FSRF9FTlZ8fHt9KS5JTl9DT0xBQil9fSxyZWxvYWQoKXt0aGlzLiRbImhwYXJhbXMtbWFpbiJdLnJlbG9hZCgpfX0pfSkoKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi1tZXNoLWRhc2hib2FyZC9tZXNoLWxvYWRlci5qcwooZnVuY3Rpb24oYil7UG9seW1lcih7aXM6InRmLW1lc2gtbG9hZGVyIixwcm9wZXJ0aWVzOntydW46U3RyaW5nLHRhZzpTdHJpbmcsc2FtcGxlOk51bWJlcixvZlNhbXBsZXM6TnVtYmVyLHNlbGVjdGVkVmlldzp7dHlwZTpTdHJpbmcsdmFsdWU6ImFsbCJ9LGFjdGl2ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxyZXF1ZXN0TWFuYWdlcjpPYmplY3QsX21lc2hWaWV3ZXI6e3R5cGU6T2JqZWN0fSxfZGF0YVByb3ZpZGVyOnt0eXBlOk9iamVjdH0sX2NvbG9yU2NhbGVGdW5jdGlvbjp7dHlwZTpPYmplY3QsdmFsdWU6KCk9PkxkLnJ1bnNDb2xvclNjYWxlfSxfcnVuQ29sb3I6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVJ1bkNvbG9yKHJ1bikifSxfc3RlcHM6e3R5cGU6QXJyYXksdmFsdWU6KCk9PltdLG5vdGlmeTohMH0sX3N0ZXBJbmRleDp7dHlwZTpOdW1iZXIsbm90aWZ5OiEwfSxfY3VycmVudFN0ZXA6e3R5cGU6T2JqZWN0LGNvbXB1dGVkOiJfY29tcHV0ZUN1cnJlbnRTdGVwKF9zdGVwcywgX3N0ZXBJbmRleCkifSwKX21lc2hWaWV3ZXJBdHRhY2hlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfY2FtZXJhUG9zaXRpb25Jbml0aWFsaXplZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfc3RlcFZhbHVlOnt0eXBlOk51bWJlcixjb21wdXRlZDoiX2NvbXB1dGVTdGVwVmFsdWUoX2N1cnJlbnRTdGVwKSJ9LF9jdXJyZW50V2FsbFRpbWU6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZUN1cnJlbnRXYWxsVGltZShfY3VycmVudFN0ZXApIn0sX2lzTWVzaExvYWRpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX19LG9ic2VydmVyczpbInJlbG9hZChydW4sIHRhZywgYWN0aXZlLCBfZGF0YVByb3ZpZGVyLCBfbWVzaFZpZXdlcikiLCJfdXBkYXRlU2NlbmUoX2N1cnJlbnRTdGVwLiosIF9tZXNoVmlld2VyKSIsIl9kZWJvdW5jZWRGZXRjaE1lc2goX2N1cnJlbnRTdGVwKSIsIl91cGRhdGVWaWV3KHNlbGVjdGVkVmlldykiXSxfY29tcHV0ZVJ1bkNvbG9yOmZ1bmN0aW9uKGQpe3JldHVybiB0aGlzLl9jb2xvclNjYWxlRnVuY3Rpb24oZCl9LAphdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2RhdGFQcm92aWRlcj1uZXcgYi5BcnJheUJ1ZmZlckRhdGFQcm92aWRlcih0aGlzLnJlcXVlc3RNYW5hZ2VyKTtjb25zdCBkPW5ldyBiLk1lc2hWaWV3ZXIodGhpcy5fcnVuQ29sb3IpO2QuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JlVXBkYXRlU2NlbmUiLHRoaXMuX3VwZGF0ZUNhbnZhc1NpemUuYmluZCh0aGlzKSk7ZC5hZGRFdmVudExpc3RlbmVyKCJjYW1lcmFQb3NpdGlvbkNoYW5nZSIsdGhpcy5fb25DYW1lcmFQb3NpdGlvbkNoYW5nZS5iaW5kKHRoaXMpKTt0aGlzLl9tZXNoVmlld2VyPWR9LHJlbG9hZDpmdW5jdGlvbigpe3RoaXMuYWN0aXZlJiZ0aGlzLl9kYXRhUHJvdmlkZXImJih0aGlzLnNldCgiX2lzTWVzaExvYWRpbmciLCEwKSx0aGlzLl9kYXRhUHJvdmlkZXIucmVsb2FkKHRoaXMucnVuLHRoaXMudGFnLHRoaXMuc2FtcGxlKS50aGVuKGQ9PntkJiYodGhpcy5zZXQoIl9zdGVwcyIsZCksdGhpcy5zZXQoIl9zdGVwSW5kZXgiLApkLmxlbmd0aC0xKSl9KS5jYXRjaChkPT57aWYoIWR8fCFkLmNvZGV8fGQuY29kZSE9Yi5FcnJvckNvZGVzLkNBTkNFTExFRCl0aHJvdyBFcnJvcihkfHwiUmVzcG9uc2UgcHJvY2Vzc2luZyBmYWlsZWQuIik7fSkpfSxfdXBkYXRlU2NlbmU6ZnVuY3Rpb24oKXtjb25zdCBkPXRoaXMuX2N1cnJlbnRTdGVwO2QmJmQubWVzaCYmKHRoaXMuX21lc2hWaWV3ZXIudXBkYXRlU2NlbmUoZCx0aGlzKSx0aGlzLl9jYW1lcmFQb3NpdGlvbkluaXRpYWxpemVkfHwodGhpcy5fbWVzaFZpZXdlci5yZXNldFZpZXcoKSx0aGlzLl9jYW1lcmFQb3NpdGlvbkluaXRpYWxpemVkPSEwKSx0aGlzLl9tZXNoVmlld2VyQXR0YWNoZWR8fCh0aGlzLnJvb3QuYXBwZW5kQ2hpbGQodGhpcy5fbWVzaFZpZXdlci5nZXRSZW5kZXJlcigpLmRvbUVsZW1lbnQpLHRoaXMuX21lc2hWaWV3ZXJBdHRhY2hlZD0hMCkpfSxfZGVib3VuY2VkRmV0Y2hNZXNoKCl7dGhpcy5kZWJvdW5jZSgiZmV0Y2hNZXNoIiwoKT0+dGhpcy5fbWF5YmVGZXRjaE1lc2goKSwKMTAwKX0sX21heWJlRmV0Y2hNZXNoKCl7Y29uc3QgZD10aGlzO3JldHVybiBXYihmdW5jdGlvbiooKXtjb25zdCBmPWQuX2N1cnJlbnRTdGVwO2lmKGYmJiFmLm1lc2gmJiFmLm1lc2hGZXRjaGluZyl7Zi5tZXNoRmV0Y2hpbmc9ITA7ZC5faXNNZXNoTG9hZGluZz0hMDt0cnl7Y29uc3QgaD15aWVsZCBkLl9kYXRhUHJvdmlkZXIuZmV0Y2hEYXRhKGYsZC5ydW4sZC50YWcsZC5zYW1wbGUpO2YubWVzaD1oWzBdO2Qubm90aWZ5UGF0aCgiX2N1cnJlbnRTdGVwLm1lc2giKX1jYXRjaChoKXtpZighaHx8IWguY29kZXx8aC5jb2RlIT1iLkVycm9yQ29kZXMuQ0FOQ0VMTEVEKXRocm93IGg9aHx8IlJlc3BvbnNlIHByb2Nlc3NpbmcgZmFpbGVkLiIsRXJyb3IoaCk7fWZpbmFsbHl7ZC5faXNNZXNoTG9hZGluZz0hMSxmLm1lc2hGZXRjaGluZz0hMX19fSl9LF9vbkNhbWVyYVBvc2l0aW9uQ2hhbmdlOmZ1bmN0aW9uKCl7aWYodGhpcy5fbWVzaFZpZXdlci5pc1JlYWR5KCkpe3ZhciBkPW5ldyBDdXN0b21FdmVudCgiY2FtZXJhLXBvc2l0aW9uLWNoYW5nZSIsCntkZXRhaWw6dGhpcy5fbWVzaFZpZXdlci5nZXRDYW1lcmFQb3NpdGlvbigpfSk7dGhpcy5kaXNwYXRjaEV2ZW50KGQpfX0sc2V0Q2FtZXJhVmlld3BvaW50OmZ1bmN0aW9uKGQsZixoKXt0aGlzLl9tZXNoVmlld2VyLnNldENhbWVyYVZpZXdwb2ludChkLGYsaCl9LF91cGRhdGVDYW52YXNTaXplOmZ1bmN0aW9uKCl7Y29uc3QgZD10aGlzLm9mZnNldFdpZHRoLGY9dGhpcy4kJCgiLnRmLW1lc2gtbG9hZGVyLWhlYWRlciIpLm9mZnNldEhlaWdodDt0aGlzLl9tZXNoVmlld2VyLnNldENhbnZhc1NpemUoe3dpZHRoOmQsaGVpZ2h0OmQtZn0pfSxyZWRyYXc6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVDYW52YXNTaXplKCk7dGhpcy5pc0Nvbm5lY3RlZCYmdGhpcy5fbWVzaFZpZXdlci5kcmF3KCl9LF9oYXNBdExlYXN0T25lU3RlcDpmdW5jdGlvbihkKXtyZXR1cm4hIWQmJjA8ZC5sZW5ndGh9LF9oYXNNdWx0aXBsZVN0ZXBzOmZ1bmN0aW9uKGQpe3JldHVybiEhZCYmMTxkLmxlbmd0aH0sX2NvbXB1dGVDdXJyZW50U3RlcDpmdW5jdGlvbihkLApmKXtyZXR1cm4gZFtmXXx8bnVsbH0sX2NvbXB1dGVTdGVwVmFsdWU6ZnVuY3Rpb24oZCl7cmV0dXJuIGQ/ZC5zdGVwOjB9LF9jb21wdXRlQ3VycmVudFdhbGxUaW1lOmZ1bmN0aW9uKGQpe3JldHVybiBkP0hoLmZvcm1hdERhdGUoZC53YWxsX3RpbWUpOiIifSxfZ2V0TWF4U3RlcEluZGV4OmZ1bmN0aW9uKGQpe3JldHVybiBkLmxlbmd0aC0xfSxfZ2V0U2FtcGxlVGV4dDpmdW5jdGlvbihkKXtyZXR1cm4gU3RyaW5nKGQrMSl9LF9oYXNNdWx0aXBsZVNhbXBsZXM6ZnVuY3Rpb24oZCl7cmV0dXJuIDE8ZH0sX3VwZGF0ZVZpZXc6ZnVuY3Rpb24oZCl7dGhpcy5fbWVzaFZpZXdlciYmImFsbCI9PWQmJnRoaXMuX21lc2hWaWV3ZXIucmVzZXRWaWV3KCl9LHRvTG9jYWxlU3RyaW5nXzpmdW5jdGlvbihkKXtyZXR1cm4gZC50b0xvY2FsZVN0cmluZygpfX0pfSkoZmx8fChmbD17fSkpOwoKLy8jIHNvdXJjZVVSTD1idWlsZDovL3RmLW1lc2gtZGFzaGJvYXJkL3RmLW1lc2gtZGFzaGJvYXJkLmh0bWwuanMKKGZ1bmN0aW9uKCl7UG9seW1lcih7aXM6Im1lc2gtZGFzaGJvYXJkIixwcm9wZXJ0aWVzOntfc2VsZWN0ZWRSdW5zOkFycmF5LF9ydW5Ub1RhZ0luZm86T2JqZWN0LF9kYXRhTm90Rm91bmQ6Qm9vbGVhbixfdGFnRmlsdGVyOnt0eXBlOlN0cmluZyx2YWx1ZToiLioifSxfc2VsZWN0ZWRWaWV3Ont0eXBlOlN0cmluZyxub3RpZnk6ITAsdmFsdWU6ImFsbCJ9LF9jYXRlZ29yaWVzOnt0eXBlOkFycmF5LGNvbXB1dGVkOiJfbWFrZUNhdGVnb3JpZXMoX3J1blRvVGFnSW5mbywgX3NlbGVjdGVkUnVucywgX3RhZ0ZpbHRlcikifSxfcmVxdWVzdE1hbmFnZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuUmVxdWVzdE1hbmFnZXJ9fSxyZWFkeSgpe3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCgpPT57dGhpcy5faGFuZGxlV2luZG93UmVzaXplKCl9LCExKTt0aGlzLnJlbG9hZCgpfSxfZ2V0QWxsQ2hpbGRyZW4oKXtyZXR1cm4gdGhpcy5yb290LnF1ZXJ5U2VsZWN0b3JBbGwoInRmLW1lc2gtbG9hZGVyIil9LApfb25DYW1lcmFQb3NpdGlvbkNoYW5nZWQoYil7InNoYXJlIj09dGhpcy5fc2VsZWN0ZWRWaWV3JiZ0aGlzLl9nZXRBbGxDaGlsZHJlbigpLmZvckVhY2goZD0+e2IudGFyZ2V0IT1kJiZkLnNldENhbWVyYVZpZXdwb2ludChiLmRldGFpbC5wb3NpdGlvbixiLmRldGFpbC5mYXIsYi5kZXRhaWwudGFyZ2V0KX0pfSxfc2hvdWxkT3BlbihiKXtyZXR1cm4gMj49Yn0scmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbih0aGlzLl9yZWxvYWRNZXNoZXMuYmluZCh0aGlzKSl9LF9oYW5kbGVXaW5kb3dSZXNpemUoKXt0aGlzLl9nZXRBbGxDaGlsZHJlbigpLmZvckVhY2goYj0+e2IucmVkcmF3KCl9KX0sX2ZldGNoVGFncygpe2NvbnN0IGI9ZGMuZ2V0Um91dGVyKCkucGx1Z2luUm91dGUoIm1lc2giLCIvdGFncyIpO3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGIpLnRoZW4oZD0+e2lmKCFfLmlzRXF1YWwoZCx0aGlzLl9ydW5Ub1RhZ0luZm8pKXt2YXIgZj1fLm1hcFZhbHVlcyhkLApoPT5PYmplY3Qua2V5cyhoKSk7Zj1kYy5nZXRUYWdzKGYpO3RoaXMuc2V0KCJfZGF0YU5vdEZvdW5kIiwwPT09Zi5sZW5ndGgpO3RoaXMuc2V0KCJfcnVuVG9UYWdJbmZvIixkKX19KX0sX3JlbG9hZE1lc2hlcygpe3RoaXMuX2dldEFsbENoaWxkcmVuKCkuZm9yRWFjaChiPT57Yi5yZWxvYWQoKX0pfSxfbWFrZUNhdGVnb3JpZXMoYixkLGYpe2Z1bmN0aW9uIGgocil7Y29uc3QgbD1iW3IucnVuXVtyLnRhZ10uc2FtcGxlcztyZXR1cm4gXy5yYW5nZShsKS5tYXAocD0+T2JqZWN0LmFzc2lnbih7fSxyLHtzYW1wbGU6cCxvZlNhbXBsZXM6bH0pKX1jb25zdCBrPV8ubWFwVmFsdWVzKGIscj0+T2JqZWN0LmtleXMocikpO3JldHVybiBrYy5jYXRlZ29yaXplUnVuVGFnQ29tYmluYXRpb25zKGssZCxmKS5tYXAocj0+T2JqZWN0LmFzc2lnbih7fSxyLHtpdGVtczpbXS5jb25jYXQuYXBwbHkoW10sci5pdGVtcy5tYXAoaCkpfSkpfX0pfSkoKTsKCi8vIyBzb3VyY2VVUkw9YnVpbGQ6Ly90Zi10ZW5zb3Jib2FyZC9hdXRvUmVsb2FkQmVoYXZpb3IuanMKKGZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGQoKXtyZXR1cm4obmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKSkuaGFzKCJfRGlzYWJsZUF1dG9SZWxvYWQiKX1iLkFVVE9SRUxPQURfTE9DQUxTVE9SQUdFX0tFWT0iVEYuVGVuc29yQm9hcmQuYXV0b1JlbG9hZEVuYWJsZWQiO2IuQXV0b1JlbG9hZEJlaGF2aW9yPXtwcm9wZXJ0aWVzOnthdXRvUmVsb2FkRW5hYmxlZDp7dHlwZTpCb29sZWFuLG9ic2VydmVyOiJfYXV0b1JlbG9hZE9ic2VydmVyIix2YWx1ZTooKT0+e3ZhciBmPXdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShiLkFVVE9SRUxPQURfTE9DQUxTVE9SQUdFX0tFWSk7cmV0dXJuInRydWUiPT09Znx8bnVsbD09Zn19LF9hdXRvUmVsb2FkSWQ6e3R5cGU6TnVtYmVyfSxfbWlzc2VkQXV0b1JlbG9hZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfYm91bmRIYW5kbGVWaXNpYmlsaXR5Q2hhbmdlOnt0eXBlOk9iamVjdH0sYXV0b1JlbG9hZEludGVydmFsU2Vjczp7dHlwZTpOdW1iZXIsCnZhbHVlOjMwfX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9ib3VuZEhhbmRsZVZpc2liaWxpdHlDaGFuZ2U9dGhpcy5faGFuZGxlVmlzaWJpbGl0eUNoYW5nZS5iaW5kKHRoaXMpO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuX2JvdW5kSGFuZGxlVmlzaWJpbGl0eUNoYW5nZSl9LGRldGFjaGVkOmZ1bmN0aW9uKCl7d2luZG93LmNsZWFyVGltZW91dCh0aGlzLl9hdXRvUmVsb2FkSWQpO2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuX2JvdW5kSGFuZGxlVmlzaWJpbGl0eUNoYW5nZSl9LF9hdXRvUmVsb2FkT2JzZXJ2ZXI6ZnVuY3Rpb24oZil7d2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKGIuQVVUT1JFTE9BRF9MT0NBTFNUT1JBR0VfS0VZLGYpO2YmJiFkKCk/dGhpcy5fYXV0b1JlbG9hZElkPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT50aGlzLl9kb0F1dG9SZWxvYWQoKSwxRTMqdGhpcy5hdXRvUmVsb2FkSW50ZXJ2YWxTZWNzKToKd2luZG93LmNsZWFyVGltZW91dCh0aGlzLl9hdXRvUmVsb2FkSWQpfSxfZG9BdXRvUmVsb2FkOmZ1bmN0aW9uKCl7dGhpcy5faXNEb2N1bWVudFZpc2libGUoKT90aGlzLl9kb1JlbG9hZCgpOnRoaXMuX21pc3NlZEF1dG9SZWxvYWQ9ITA7dGhpcy5fYXV0b1JlbG9hZElkPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT50aGlzLl9kb0F1dG9SZWxvYWQoKSwxRTMqdGhpcy5hdXRvUmVsb2FkSW50ZXJ2YWxTZWNzKX0sX2RvUmVsb2FkOmZ1bmN0aW9uKCl7aWYobnVsbD09dGhpcy5yZWxvYWQpdGhyb3cgRXJyb3IoIkF1dG9SZWxvYWRCZWhhdmlvciByZXF1aXJlcyBhIHJlbG9hZCBtZXRob2QiKTt0aGlzLnJlbG9hZCgpfSxfaGFuZGxlVmlzaWJpbGl0eUNoYW5nZTpmdW5jdGlvbigpe3RoaXMuX2lzRG9jdW1lbnRWaXNpYmxlKCkmJnRoaXMuX21pc3NlZEF1dG9SZWxvYWQmJih0aGlzLl9taXNzZWRBdXRvUmVsb2FkPSExLHRoaXMuX2RvUmVsb2FkKCkpfSxfaXNEb2N1bWVudFZpc2libGU6ZnVuY3Rpb24oKXtyZXR1cm4idmlzaWJsZSI9PT0KZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlfX19KShwZXx8KHBlPXt9KSk7CgovLyMgc291cmNlVVJMPWJ1aWxkOi8vdGYtdGVuc29yYm9hcmQvdGYtdGVuc29yYm9hcmQuaHRtbC5qcwpjb25zdCB0bj17Z2V0TG9jYXRpb24oKXtyZXR1cm4gd2luZG93LmxvY2F0aW9ufX07ClBvbHltZXIoe2lzOiJ0Zi10ZW5zb3Jib2FyZCIsYmVoYXZpb3JzOltwZS5BdXRvUmVsb2FkQmVoYXZpb3JdLHByb3BlcnRpZXM6e2JyYW5kOnt0eXBlOlN0cmluZyx2YWx1ZToiVGVuc29yQm9hcmQtWCJ9LGhvbWVQYXRoOnt0eXBlOlN0cmluZyx2YWx1ZToiIn0sX2hvbWVQYXRoOnt0eXBlOlN0cmluZyxjb21wdXRlZDoiX3Nhbml0aXplSG9tZVBhdGgoaG9tZVBhdGgpIn0sdGl0bGU6e3R5cGU6U3RyaW5nLG9ic2VydmVyOiJfdXBkYXRlVGl0bGUifSxyb3V0ZXI6e3R5cGU6T2JqZWN0LG9ic2VydmVyOiJfdXBkYXRlUm91dGVyIn0sZGVtb0Rpcjp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sdXNlSGFzaDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxkaXNhYmxlZERhc2hib2FyZHM6e3R5cGU6U3RyaW5nLHZhbHVlOiIifSxfZGFzaGJvYXJkRGF0YTp7dHlwZTpBcnJheSxjb21wdXRlZDoiX2NvbXB1dGVEYXNoYm9hcmREYXRhKF9kYXNoYm9hcmRSZWdpc3RyeSkifSxfZGFzaGJvYXJkUmVnaXN0cnk6e3R5cGU6T2JqZWN0LApjb21wdXRlZDoiX2NvbXB1dGVEYXNoYm9hcmRSZWdpc3RyeShfcGx1Z2luc0xpc3RpbmcpIn0sX3BsdWdpbnNMaXN0aW5nOnt0eXBlOk9iamVjdCx2YWx1ZTooKT0+KHt9KX0sX2FjdGl2ZURhc2hib2FyZHM6e3R5cGU6QXJyYXksY29tcHV0ZWQ6Il9jb21wdXRlQWN0aXZlRGFzaGJvYXJkKF9kYXNoYm9hcmREYXRhLCBfcGx1Z2luc0xpc3RpbmcpIn0sX2FjdGl2ZURhc2hib2FyZHNMb2FkU3RhdGU6e3R5cGU6U3RyaW5nLHZhbHVlOnBlLkFjdGl2ZURhc2hib2FyZHNMb2FkU3RhdGUuTk9UX0xPQURFRH0sX2FjdGl2ZURhc2hib2FyZHNOb3RMb2FkZWQ6e3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVBY3RpdmVEYXNoYm9hcmRzTm90TG9hZGVkKF9hY3RpdmVEYXNoYm9hcmRzTG9hZFN0YXRlKSJ9LF9hY3RpdmVEYXNoYm9hcmRzTG9hZGVkOnt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlQWN0aXZlRGFzaGJvYXJkc0xvYWRlZChfYWN0aXZlRGFzaGJvYXJkc0xvYWRTdGF0ZSkifSwKX2FjdGl2ZURhc2hib2FyZHNGYWlsZWRUb0xvYWQ6e3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVBY3RpdmVEYXNoYm9hcmRzRmFpbGVkVG9Mb2FkKF9hY3RpdmVEYXNoYm9hcmRzTG9hZFN0YXRlKSJ9LF9zaG93Tm9EYXNoYm9hcmRzTWVzc2FnZTp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZVNob3dOb0Rhc2hib2FyZHNNZXNzYWdlKF9hY3RpdmVEYXNoYm9hcmRzTG9hZGVkLCBfYWN0aXZlRGFzaGJvYXJkcywgX3NlbGVjdGVkRGFzaGJvYXJkKSJ9LF9zaG93Tm9TdWNoRGFzaGJvYXJkTWVzc2FnZTp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZVNob3dOb1N1Y2hEYXNoYm9hcmRNZXNzYWdlKF9hY3RpdmVEYXNoYm9hcmRzTG9hZGVkLCBfZGFzaGJvYXJkUmVnaXN0cnksIF9zZWxlY3RlZERhc2hib2FyZCkifSxfc2VsZWN0ZWREYXNoYm9hcmQ6e3R5cGU6U3RyaW5nLHZhbHVlOmJkLmdldFN0cmluZyhiZC5UQUIpfHxudWxsLG9ic2VydmVyOiJfc2VsZWN0ZWREYXNoYm9hcmRDaGFuZ2VkIn0sCl9kYXNoYm9hcmRUb01heWJlUmVtb3ZlOlN0cmluZyxfZGFzaGJvYXJkQ29udGFpbmVyc1N0YW1wZWQ6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT4oe30pfSxfaXNSZWxvYWREaXNhYmxlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfbGFzdFJlbG9hZFRpbWU6e3R5cGU6U3RyaW5nLHZhbHVlOiJub3QgeWV0IGxvYWRlZCJ9LF9sYXN0UmVsb2FkVGltZVNob3J0Ont0eXBlOlN0cmluZyx2YWx1ZToiTm90IHlldCBsb2FkZWQifSxfZGF0YUxvY2F0aW9uOnt0eXBlOlN0cmluZyx2YWx1ZTpudWxsfSxfcmVxdWVzdE1hbmFnZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuUmVxdWVzdE1hbmFnZXJ9LF9jYW5jZWxsZXI6e3R5cGU6T2JqZWN0LHZhbHVlOigpPT5uZXcgZGMuQ2FuY2VsbGVyfSxfcmVmcmVzaGluZzp7dHlwZTpCb29sZWFuLHZhbHVlOiExfX0sb2JzZXJ2ZXJzOlsiX3VwZGF0ZVNlbGVjdGVkRGFzaGJvYXJkRnJvbUFjdGl2ZShfc2VsZWN0ZWREYXNoYm9hcmQsIF9hY3RpdmVEYXNoYm9hcmRzKSIsCiJfZW5zdXJlU2VsZWN0ZWREYXNoYm9hcmRTdGFtcGVkKF9kYXNoYm9hcmRSZWdpc3RyeSwgX2Rhc2hib2FyZENvbnRhaW5lcnNTdGFtcGVkLCBfYWN0aXZlRGFzaGJvYXJkcywgX3NlbGVjdGVkRGFzaGJvYXJkKSJdLF9zYW5pdGl6ZUhvbWVQYXRoKGIpe2lmKCFiKXJldHVybiIiO2NvbnN0IGQ9dG4uZ2V0TG9jYXRpb24oKSxmPW5ldyBVUkwoYixkLmhyZWYpLGg9Imh0dHA6Ij09PWYucHJvdG9jb2x8fCJodHRwczoiPT09Zi5wcm90b2NvbCxrPWYub3JpZ2luPT09ZC5vcmlnaW47aWYoIWgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYEV4cGVjdCAnaG9tZVBhdGgnIHRvIGJlIG9mIGh0dHA6IG9yIGh0dHBzOi4gJHtifWApO2lmKCFrKXRocm93IG5ldyBSYW5nZUVycm9yKGBFeHBlY3QgJ2hvbWVQYXRoJyBiZSBhIHBhdGggb3IgaGF2ZSB0aGUgc2FtZSBvcmlnaW4uICR7Yn0gdnMuICR7ZC5vcmlnaW59YCk7cmV0dXJuIGgmJms/Zi50b1N0cmluZygpOiIifSxfYWN0aXZlRGFzaGJvYXJkc1VwZGF0ZWQoKXt9LApfaXNEYXNoYm9hcmRBY3RpdmUoYixkLGYpe3JldHVybiAwPD0oYnx8IiIpLnNwbGl0KCIsIikuaW5kZXhPZihmLnBsdWdpbil8fCEoZHx8W10pLmluY2x1ZGVzKGYucGx1Z2luKT8hMTohMH0sX2lzRGFzaGJvYXJkSW5hY3RpdmUoYixkLGYpe3JldHVybiAwPD0oYnx8IiIpLnNwbGl0KCIsIikuaW5kZXhPZihmLnBsdWdpbik/ITE6KGR8fFtdKS5pbmNsdWRlcyhmLnBsdWdpbik/ITE6ITB9LF9pbmFjdGl2ZURhc2hib2FyZHNFeGlzdChiLGQsZil7aWYoIWYpcmV0dXJuITE7Y29uc3QgaD1uZXcgU2V0O2IuZm9yRWFjaChrPT57aC5hZGQoay5wbHVnaW4pfSk7KGR8fCIiKS5zcGxpdCgiLCIpLmZvckVhY2goaz0+e2guZGVsZXRlKGsucGx1Z2luKX0pO2YuZm9yRWFjaChrPT57aC5kZWxldGUoayl9KTtyZXR1cm4gMDxoLnNpemV9LF9nZXREYXNoYm9hcmRGcm9tSW5kZXgoYixkKXtyZXR1cm4gYltkXX0sX3NlbGVjdGVkU3RhdHVzKGIsZCl7cmV0dXJuIGI9PT1kfSxfc2VsZWN0ZWREYXNoYm9hcmRDaGFuZ2VkKGIpe2I9CmJ8fCIiO2JkLnNldFN0cmluZyhiZC5UQUIsYik7bGV0IGQ9d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lO2QrPWQuZW5kc1dpdGgoIi8iKT9iOiIvIitiO2dhKCJzZXQiLCJwYWdlIixkKTtnYSgic2VuZCIsInBhZ2V2aWV3Iil9LF91cGRhdGVTZWxlY3RlZERhc2hib2FyZEZyb21BY3RpdmUoYixkKXtkJiZudWxsPT1iJiYoYj1kWzBdfHxudWxsLG51bGwhPWImJihiZC5zZXRTdHJpbmcoYmQuVEFCLGIse3VzZUxvY2F0aW9uUmVwbGFjZTohMH0pLHRoaXMuX3NlbGVjdGVkRGFzaGJvYXJkPWIpKX0sX3VwZGF0ZVNlbGVjdGVkRGFzaGJvYXJkRnJvbUhhc2goKXtjb25zdCBiPWJkLmdldFN0cmluZyhiZC5UQUIpO3RoaXMuc2V0KCJfc2VsZWN0ZWREYXNoYm9hcmQiLGJ8fG51bGwpfSxfZW5zdXJlU2VsZWN0ZWREYXNoYm9hcmRTdGFtcGVkKGIsZCxmLGgpe2lmKGYmJmgmJmRbaF0mJihkPXRoaXMuX2Rhc2hib2FyZFRvTWF5YmVSZW1vdmUsdGhpcy5fZGFzaGJvYXJkVG9NYXliZVJlbW92ZT0KaCxkJiZkIT1oJiZiW2RdLnJlbW92ZURvbSYmKGQ9dGhpcy4kJChgLmRhc2hib2FyZC1jb250YWluZXJbZGF0YS1kYXNoYm9hcmQ9JHtkfV1gKSxkLmZpcnN0Q2hpbGQmJmQuZmlyc3RDaGlsZC5yZW1vdmUoKSksZD10aGlzLiQkKGAuZGFzaGJvYXJkLWNvbnRhaW5lcltkYXRhLWRhc2hib2FyZD0ke2h9XWApKSl7Yj1iW2hdO2lmKDA9PT1kLmNoaWxkcmVuLmxlbmd0aClzd2l0Y2goZj1iLmxvYWRpbmdNZWNoYW5pc20sZi50eXBlKXtjYXNlICJDVVNUT01fRUxFTUVOVCI6aD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGYuZWxlbWVudE5hbWUpO2guaWQ9ImRhc2hib2FyZCI7ZC5hcHBlbmRDaGlsZChoKTticmVhaztjYXNlICJJRlJBTUUiOnRoaXMuX3JlbmRlclBsdWdpbklmcmFtZShkLGgsZik7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLndhcm4oIkludmFyaWFudCB2aW9sYXRpb246IixmKX10aGlzLnNldCgiX2lzUmVsb2FkRGlzYWJsZWQiLGIuZGlzYWJsZVJlbG9hZCl9fSxfcmVuZGVyUGx1Z2luSWZyYW1lKGIsCmQpe2NvbnN0IGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Zi5pZD0iZGFzaGJvYXJkIjtnbC5ob3N0LnJlZ2lzdGVyUGx1Z2luSWZyYW1lKGYsZCk7Y29uc3QgaD1uZXcgVVJMKCJkYXRhL3BsdWdpbl9lbnRyeS5odG1sIix3aW5kb3cubG9jYXRpb24uaHJlZik7aC5zZWFyY2hQYXJhbXMuc2V0KCJuYW1lIixkKTtmLnNldEF0dHJpYnV0ZSgic3JjIixoLnRvU3RyaW5nKCkpO2IuYXBwZW5kQ2hpbGQoZil9LF9zZWxlY3RlZERhc2hib2FyZENvbXBvbmVudCgpe3JldHVybiB0aGlzLiQkKGAuZGFzaGJvYXJkLWNvbnRhaW5lcltkYXRhLWRhc2hib2FyZD0ke3RoaXMuX3NlbGVjdGVkRGFzaGJvYXJkfV0gI2Rhc2hib2FyZGApfSxyZWFkeSgpe3hjLnNldFVzZUhhc2godGhpcy51c2VIYXNoKTt0aGlzLl91cGRhdGVTZWxlY3RlZERhc2hib2FyZEZyb21IYXNoKCk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLCgpPT57dGhpcy5fdXBkYXRlU2VsZWN0ZWREYXNoYm9hcmRGcm9tSGFzaCgpfSwKITEpO2RjLmVudmlyb25tZW50U3RvcmUuYWRkTGlzdGVuZXIoKCk9Pnt0aGlzLl9kYXRhTG9jYXRpb249ZGMuZW52aXJvbm1lbnRTdG9yZS5nZXREYXRhTG9jYXRpb24oKTtjb25zdCBiPWRjLmVudmlyb25tZW50U3RvcmUuZ2V0V2luZG93VGl0bGUoKTtiJiYod2luZG93LmRvY3VtZW50LnRpdGxlPWIpfSk7YmQubWlncmF0ZUxlZ2FjeVVSTFNjaGVtZSgpO3RoaXMuX3JlbG9hZERhdGEoKTt0aGlzLl9sYXN0UmVsb2FkVGltZT0obmV3IERhdGUpLnRvU3RyaW5nKCl9LF9jb21wdXRlQWN0aXZlRGFzaGJvYXJkKCl7cmV0dXJuIHRoaXMuX2Rhc2hib2FyZERhdGE/dGhpcy5fZGFzaGJvYXJkRGF0YS5tYXAoYj0+Yi5wbHVnaW4pLmZpbHRlcihiPT57Yj10aGlzLl9wbHVnaW5zTGlzdGluZ1tiXTtyZXR1cm4iYm9vbGVhbiI9PT10eXBlb2YgYj9iOmImJmIuZW5hYmxlZH0pOltdfSxfb25UZW1wbGF0ZUNoYW5nZWQoKXtjb25zdCBiPXt9O2Zvcihjb25zdCBkIG9mIHRoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCIuZGFzaGJvYXJkLWNvbnRhaW5lciIpKWJbZC5kYXRhc2V0LmRhc2hib2FyZF09CiEwO3RoaXMuX2Rhc2hib2FyZENvbnRhaW5lcnNTdGFtcGVkPWJ9LF9jb21wdXRlRGFzaGJvYXJkUmVnaXN0cnkoYil7Y29uc3QgZD17fTtmb3IoY29uc3QgW2gsa11vZiBPYmplY3QuZW50cmllcyhwZS5kYXNoYm9hcmRSZWdpc3RyeSkpZFtoXT17cGx1Z2luOmsucGx1Z2luLGxvYWRpbmdNZWNoYW5pc206e3R5cGU6IkNVU1RPTV9FTEVNRU5UIixlbGVtZW50TmFtZTprLmVsZW1lbnROYW1lfSx0YWJOYW1lOmsudGFiTmFtZS50b1VwcGVyQ2FzZSgpLGRpc2FibGVSZWxvYWQ6ay5pc1JlbG9hZERpc2FibGVkfHwhMSxyZW1vdmVEb206ay5yZW1vdmVEb218fCExfTtpZihudWxsIT1iKWZvcihjb25zdCBbaCxrXW9mIE9iamVjdC5lbnRyaWVzKGIpKWlmKCJib29sZWFuIiE9PXR5cGVvZiBrKXtzd2l0Y2goay5sb2FkaW5nX21lY2hhbmlzbS50eXBlKXtjYXNlICJOT05FIjpudWxsPT1kW2hdJiZjb25zb2xlLndhcm4oIlBsdWdpbiBoYXMgbm8gbG9hZGluZyBtZWNoYW5pc20gYW5kIG5vIGJha2VkLWluIHJlZ2lzdHJ5IGVudHJ5OiAlcyIsCmgpO2NvbnRpbnVlO2Nhc2UgIkNVU1RPTV9FTEVNRU5UIjp2YXIgZj17dHlwZToiQ1VTVE9NX0VMRU1FTlQiLGVsZW1lbnROYW1lOmsubG9hZGluZ19tZWNoYW5pc20uZWxlbWVudF9uYW1lfTticmVhaztjYXNlICJJRlJBTUUiOmY9e3R5cGU6IklGUkFNRSIsbW9kdWxlUGF0aDprLmxvYWRpbmdfbWVjaGFuaXNtLm1vZHVsZV9wYXRofTticmVhaztkZWZhdWx0OmNvbnNvbGUud2FybigiVW5rbm93biBsb2FkaW5nIG1lY2hhbmlzbSBmb3IgcGx1Z2luICVzOiAlcyIsaCxrLmxvYWRpbmdfbWVjaGFuaXNtKTtjb250aW51ZX1udWxsPT1mJiZjb25zb2xlLmVycm9yKCJJbnZhcmlhbnQgdmlvbGF0aW9uOiBsb2FkaW5nTWVjaGFuaXNtIGlzICVzIGZvciAlcyIsZixoKTtkW2hdPXtwbHVnaW46aCxsb2FkaW5nTWVjaGFuaXNtOmYsdGFiTmFtZTprLnRhYl9uYW1lLnRvVXBwZXJDYXNlKCksZGlzYWJsZVJlbG9hZDprLmRpc2FibGVfcmVsb2FkLHJlbW92ZURvbTprLnJlbW92ZV9kb219fWY9e307CmZvcihjb25zdCBoIG9mIE9iamVjdC5rZXlzKGIpKWRbaF0mJihmW2hdPWRbaF0pO09iamVjdC5hc3NpZ24oZixkKTtyZXR1cm4gZn0sX2NvbXB1dGVEYXNoYm9hcmREYXRhKGIpe3JldHVybiBPYmplY3QudmFsdWVzKGIpfSxfZmV0Y2hQbHVnaW5zTGlzdGluZygpe3RoaXMuX2NhbmNlbGxlci5jYW5jZWxBbGwoKTtjb25zdCBiPXRoaXMuX2NhbmNlbGxlci5jYW5jZWxsYWJsZShkPT57ZC5jYW5jZWxsZWR8fCh0aGlzLl9wbHVnaW5zTGlzdGluZz1kLnZhbHVlLHRoaXMuX2FjdGl2ZURhc2hib2FyZHNMb2FkU3RhdGU9cGUuQWN0aXZlRGFzaGJvYXJkc0xvYWRTdGF0ZS5MT0FERUQpfSk7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QoZGMuZ2V0Um91dGVyKCkucGx1Z2luc0xpc3RpbmcoKSkudGhlbihiLCgpPT57dGhpcy5fYWN0aXZlRGFzaGJvYXJkc0xvYWRTdGF0ZT09PXBlLkFjdGl2ZURhc2hib2FyZHNMb2FkU3RhdGUuTk9UX0xPQURFRD90aGlzLl9hY3RpdmVEYXNoYm9hcmRzTG9hZFN0YXRlPQpwZS5BY3RpdmVEYXNoYm9hcmRzTG9hZFN0YXRlLkZBSUxFRDpjb25zb2xlLndhcm4oIkZhaWxlZCB0byByZWxvYWQgdGhlIHNldCBvZiBhY3RpdmUgcGx1Z2luczsgdXNpbmcgb2xkIHZhbHVlLiIpfSl9LF9jb21wdXRlQWN0aXZlRGFzaGJvYXJkc05vdExvYWRlZChiKXtyZXR1cm4gYj09PXBlLkFjdGl2ZURhc2hib2FyZHNMb2FkU3RhdGUuTk9UX0xPQURFRH0sX2NvbXB1dGVBY3RpdmVEYXNoYm9hcmRzTG9hZGVkKGIpe3JldHVybiBiPT09cGUuQWN0aXZlRGFzaGJvYXJkc0xvYWRTdGF0ZS5MT0FERUR9LF9jb21wdXRlQWN0aXZlRGFzaGJvYXJkc0ZhaWxlZFRvTG9hZChiKXtyZXR1cm4gYj09PXBlLkFjdGl2ZURhc2hib2FyZHNMb2FkU3RhdGUuRkFJTEVEfSxfY29tcHV0ZVNob3dOb0Rhc2hib2FyZHNNZXNzYWdlKGIsZCxmKXtyZXR1cm4gYiYmMD09PWQubGVuZ3RoJiZudWxsPT1mfSxfY29tcHV0ZVNob3dOb1N1Y2hEYXNoYm9hcmRNZXNzYWdlKGIsZCxmKXtyZXR1cm4gYiYmISFmJiYKbnVsbD09ZFtmXX0sX3VwZGF0ZVJvdXRlcihiKXtkYy5zZXRSb3V0ZXIoYil9LF91cGRhdGVUaXRsZShiKXtiJiZ0aGlzLnNldCgiYnJhbmQiLGIpfSxyZWxvYWQoKXt0aGlzLl9pc1JlbG9hZERpc2FibGVkfHwodGhpcy5fcmVsb2FkRGF0YSgpLnRoZW4oKCk9Pntjb25zdCBiPXRoaXMuX3NlbGVjdGVkRGFzaGJvYXJkQ29tcG9uZW50KCk7YiYmYi5yZWxvYWQmJmIucmVsb2FkKCl9KSx0aGlzLl9sYXN0UmVsb2FkVGltZT0obmV3IERhdGUpLnRvU3RyaW5nKCkpfSxfcmVsb2FkRGF0YSgpe3RoaXMuX3JlZnJlc2hpbmc9ITA7cmV0dXJuIFByb21pc2UuYWxsKFt0aGlzLl9mZXRjaFBsdWdpbnNMaXN0aW5nKCksZGMuZW52aXJvbm1lbnRTdG9yZS5yZWZyZXNoKCksZGMucnVuc1N0b3JlLnJlZnJlc2goKSxkYy5leHBlcmltZW50c1N0b3JlLnJlZnJlc2goKV0pLnRoZW4oKCk9Pnt0aGlzLl9sYXN0UmVsb2FkVGltZVNob3J0PShuZXcgRGF0ZSkudG9Mb2NhbGVEYXRlU3RyaW5nKHZvaWQgMCwKe21vbnRoOiJsb25nIixkYXk6Im51bWVyaWMiLGhvdXI6Im51bWVyaWMiLG1pbnV0ZToibnVtZXJpYyIsc2Vjb25kOiJudW1lcmljIn0pfSkuZmluYWxseSgoKT0+e3RoaXMuX3JlZnJlc2hpbmc9ITF9KX0sX2dldERhdGFSZWZyZXNoaW5nQ2xhc3MoKXtyZXR1cm4gdGhpcy5fcmVmcmVzaGluZz8icmVmcmVzaGluZyI6IiJ9LG9wZW5TZXR0aW5ncygpe3RoaXMuJC5zZXR0aW5ncy5vcGVuKCk7dGhpcy4kLnBhZ2luYXRpb25MaW1pdElucHV0LnZhbHVlPXNkLmdldExpbWl0KCl9LF9wYWdpbmF0aW9uTGltaXRWYWxpZGF0ZShiKXtiLnRhcmdldC52YWxpZGF0ZSgpfSxfcGFnaW5hdGlvbkxpbWl0Q2hhbmdlZChiKXtiPU51bWJlci5wYXJzZUludChiLnRhcmdldC52YWx1ZSwxMCk7Yj09PStiJiYwPGImJnNkLnNldExpbWl0KGIpfX0pOwo=", "ok": true, "headers": [ [ "content-type", "application/javascript; charset=utf-8" ] ], "status": 200, "status_text": "" }, "https://localhost:6006/font-roboto/oMMgfZMQthOryQo9n22dcuvvDin1pK8aKteLpeZ5c0A.woff2": { "data": "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", "ok": true, "headers": [ [ "content-type", "font/woff2" ] ], "status": 200, "status_text": "" }, "https://localhost:6006/data/environment": { "data": "eyJkYXRhX2xvY2F0aW9uIjogIi9jb250ZW50L3RyYWluaW5nL3RyYWluIiwgIndpbmRvd190aXRsZSI6ICIifQ==", "ok": true, "headers": [ [ "content-type", "application/json" ] ], "status": 200, "status_text": "" }, "https://localhost:6006/data/plugins_listing": { "data": "eyJzY2FsYXJzIjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IHRydWUsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJzY2FsYXJzIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJ0Zi1zY2FsYXItZGFzaGJvYXJkIn19LCAiY3VzdG9tX3NjYWxhcnMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJDdXN0b20gU2NhbGFycyIsICJsb2FkaW5nX21lY2hhbmlzbSI6IHsidHlwZSI6ICJDVVNUT01fRUxFTUVOVCIsICJlbGVtZW50X25hbWUiOiAidGYtY3VzdG9tLXNjYWxhci1kYXNoYm9hcmQifX0sICJpbWFnZXMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogdHJ1ZSwgInJlbW92ZV9kb20iOiBmYWxzZSwgInRhYl9uYW1lIjogImltYWdlcyIsICJsb2FkaW5nX21lY2hhbmlzbSI6IHsidHlwZSI6ICJDVVNUT01fRUxFTUVOVCIsICJlbGVtZW50X25hbWUiOiAidGYtaW1hZ2UtZGFzaGJvYXJkIn19LCAiYXVkaW8iOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJhdWRpbyIsICJsb2FkaW5nX21lY2hhbmlzbSI6IHsidHlwZSI6ICJDVVNUT01fRUxFTUVOVCIsICJlbGVtZW50X25hbWUiOiAidGYtYXVkaW8tZGFzaGJvYXJkIn19LCAiZGVidWdnZXIiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJkZWJ1Z2dlciIsICJsb2FkaW5nX21lY2hhbmlzbSI6IHsidHlwZSI6ICJDVVNUT01fRUxFTUVOVCIsICJlbGVtZW50X25hbWUiOiAidGYtZGVidWdnZXItZGFzaGJvYXJkIn19LCAiZ3JhcGhzIjogeyJkaXNhYmxlX3JlbG9hZCI6IHRydWUsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJncmFwaHMiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLWdyYXBoLWRhc2hib2FyZCJ9fSwgImRpc3RyaWJ1dGlvbnMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJkaXN0cmlidXRpb25zIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJ0Zi1kaXN0cmlidXRpb24tZGFzaGJvYXJkIn19LCAiaGlzdG9ncmFtcyI6IHsiZGlzYWJsZV9yZWxvYWQiOiBmYWxzZSwgImVuYWJsZWQiOiBmYWxzZSwgInJlbW92ZV9kb20iOiBmYWxzZSwgInRhYl9uYW1lIjogImhpc3RvZ3JhbXMiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLWhpc3RvZ3JhbS1kYXNoYm9hcmQifX0sICJ0ZXh0IjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IGZhbHNlLCAicmVtb3ZlX2RvbSI6IGZhbHNlLCAidGFiX25hbWUiOiAidGV4dCIsICJsb2FkaW5nX21lY2hhbmlzbSI6IHsidHlwZSI6ICJDVVNUT01fRUxFTUVOVCIsICJlbGVtZW50X25hbWUiOiAidGYtdGV4dC1kYXNoYm9hcmQifX0sICJwcl9jdXJ2ZXMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJQUiBDdXJ2ZXMiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLXByLWN1cnZlLWRhc2hib2FyZCJ9fSwgInByb2ZpbGVfcmVkaXJlY3QiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJQcm9maWxlIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJ0Zi1wcm9maWxlLXJlZGlyZWN0LWRhc2hib2FyZCJ9fSwgImJlaG9sZGVyIjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IGZhbHNlLCAicmVtb3ZlX2RvbSI6IHRydWUsICJ0YWJfbmFtZSI6ICJiZWhvbGRlciIsICJsb2FkaW5nX21lY2hhbmlzbSI6IHsidHlwZSI6ICJDVVNUT01fRUxFTUVOVCIsICJlbGVtZW50X25hbWUiOiAidGYtYmVob2xkZXItZGFzaGJvYXJkIn19LCAiaHBhcmFtcyI6IHsiZGlzYWJsZV9yZWxvYWQiOiBmYWxzZSwgImVuYWJsZWQiOiBmYWxzZSwgInJlbW92ZV9kb20iOiBmYWxzZSwgInRhYl9uYW1lIjogImhwYXJhbXMiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLWhwYXJhbXMtZGFzaGJvYXJkIn19LCAibWVzaCI6IHsiZGlzYWJsZV9yZWxvYWQiOiBmYWxzZSwgImVuYWJsZWQiOiBmYWxzZSwgInJlbW92ZV9kb20iOiBmYWxzZSwgInRhYl9uYW1lIjogIm1lc2giLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogIm1lc2gtZGFzaGJvYXJkIn19LCAicHJvamVjdG9yIjogeyJkaXNhYmxlX3JlbG9hZCI6IHRydWUsICJlbmFibGVkIjogdHJ1ZSwgInJlbW92ZV9kb20iOiBmYWxzZSwgInRhYl9uYW1lIjogInByb2plY3RvciIsICJsb2FkaW5nX21lY2hhbmlzbSI6IHsidHlwZSI6ICJJRlJBTUUiLCAibW9kdWxlX3BhdGgiOiAiL2RhdGEvcGx1Z2luL3Byb2plY3Rvci9pbmRleC5qcyJ9fSwgIndoYXRpZiI6IHsiZGlzYWJsZV9yZWxvYWQiOiBmYWxzZSwgImVuYWJsZWQiOiBmYWxzZSwgInJlbW92ZV9kb20iOiBmYWxzZSwgInRhYl9uYW1lIjogIldoYXQtSWYgVG9vbCIsICJsb2FkaW5nX21lY2hhbmlzbSI6IHsidHlwZSI6ICJJRlJBTUUiLCAibW9kdWxlX3BhdGgiOiAiL2RhdGEvcGx1Z2luL3doYXRpZi9pbmRleC5qcyJ9fX0=", "ok": true, "headers": [ [ "content-type", "application/json" ] ], "status": 200, "status_text": "" }, "https://localhost:6006/data/experiments": { "data": "W10=", "ok": true, "headers": [ [ "content-type", "application/json" ] ], "status": 200, "status_text": "" }, "https://localhost:6006/data/runs": { "data": "WyIuIl0=", "ok": true, "headers": [ [ "content-type", "application/json" ] ], "status": 200, "status_text": "" }, "https://localhost:6006/font-roboto/RxZJdnzeo3R5zSexge8UUZBw1xU1rKptJj_0jans920.woff2": { "data": "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", "ok": true, "headers": [ [ "content-type", "font/woff2" ] ], "status": 200, "status_text": "" }, "https://localhost:6006/data/plugin/scalars/tags": { "data": "eyIuIjogeyJMb3NzL2xvY2FsaXphdGlvbl9sb3NzIjogeyJkaXNwbGF5TmFtZSI6ICIiLCAiZGVzY3JpcHRpb24iOiAiIn0sICJMb3NzL2NsYXNzaWZpY2F0aW9uX2xvc3MiOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifSwgIkxvc3MvcmVndWxhcml6YXRpb25fbG9zcyI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAiTG9zcy90b3RhbF9sb3NzIjogeyJkaXNwbGF5TmFtZSI6ICIiLCAiZGVzY3JpcHRpb24iOiAiIn0sICJMb3NzL25vcm1hbGl6ZWRfdG90YWxfbG9zcyI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAibGVhcm5pbmdfcmF0ZSI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAic3RlcHNfcGVyX3NlYyI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9fX0=", "ok": true, "headers": [ [ "content-type", "application/json" ] ], "status": 200, "status_text": "" }, "https://localhost:6006/data/plugin/scalars/scalars?tag=Loss%2Flocalization_loss&run=.": { "data": "W1sxNTk1MDg3ODM4LjUwMDk1NywgNSwgMC42ODQ5NDQyMTI0MzY2NzZdLCBbMTU5NTA4Nzg1MS4zOTA5MzUsIDE4LCAwLjY5NTY0NDI1OTQ1MjgxOThdLCBbMTU5NTA4Nzg1Ny4zNjg4MDMsIDI0LCAwLjY5NTU5ODE4NTA2MjQwODRdLCBbMTU5NTA4Nzg3My4zMzAwNTYsIDQwLCAwLjY3NjQxMjA0NTk1NTY1OF0sIFsxNTk1MDg3ODc1LjQzNTA3NiwgNDIsIDAuNjc3NTYyNzEzNjIzMDQ2OV0sIFsxNTk1MDg3ODc4LjQxNDgwMywgNDUsIDAuNjY0NzQ2MDQ2MDY2Mjg0Ml0sIFsxNTk1MDg3ODg2LjQ4NDc2MiwgNTMsIDAuNjUyNjkxNjAyNzA2OTA5Ml0sIFsxNTk1MDg3ODg5LjQzMDEzMiwgNTYsIDAuNjU4MzQ1MjgyMDc3Nzg5M10sIFsxNTk1MDg3OTA0LjQ2OTY4OCwgNzEsIDAuNjE0MzI1NTgyOTgxMTA5Nl0sIFsxNTk1MDg3OTA3LjQyODQ5NywgNzQsIDAuNjA5MjY0NDMzMzgzOTQxN10sIFsxNTk1MDg3OTI3LjU4NTI1NywgOTQsIDAuNTgyNjMzMTk3MzA3NTg2N10sIFsxNTk1MDg3OTM1LjUyMTU5NSwgMTAyLCAwLjQ0ODY5NTgzODQ1MTM4NTVdLCBbMTU5NTA4NzkzOS40NzUyOTgsIDEwNiwgMC40MzY5ODg0NDMxMzYyMTUyXSwgWzE1OTUwODc5NTkuMzE2ODQzLCAxMjYsIDAuMzYzOTE0Nzg3NzY5MzE3Nl0sIFsxNTk1MDg3OTcyLjAxNTA0MiwgMTM5LCAwLjQwMzQ0MTU0ODM0NzQ3MzE0XSwgWzE1OTUwODc5ODcuNzQyMzE3LCAxNTUsIDAuMjQ0OTc5MTEzMzQwMzc3OF0sIFsxNTk1MDg3OTkwLjYyNTEzMiwgMTU4LCAwLjI1NjA3MjA3NDE3NDg4MV0sIFsxNTk1MDg3OTk5LjUzMjkzOSwgMTY3LCAwLjIwNTA1MDEyNTcxODExNjc2XSwgWzE1OTUwODgwMTAuMjk5MjI3LCAxNzgsIDAuMTUyNDQzNzk2Mzk2MjU1NV0sIFsxNTk1MDg4MDE1LjE5MjE4OCwgMTgzLCAwLjIyMjA1NTk3MTYyMjQ2NzA0XSwgWzE1OTUwODgwMTcuMzM5Nzk5LCAxODUsIDAuMjY3NDE3NjM5NDkzOTQyMjZdLCBbMTU5NTA4ODAxOC4yNDExMzUsIDE4NiwgMC4yMTE5ODgwMTY5NjMwMDUwN10sIFsxNTk1MDg4MDIyLjA5NDIzMiwgMTkwLCAwLjI1Nzc4MTc3MzgwNTYxODNdLCBbMTU5NTA4ODAzOC43NzMwMiwgMjA3LCAwLjIwNzkxMTkzODQyODg3ODc4XSwgWzE1OTUwODgwNjAuNzIxMjA0LCAyMjksIDAuMTUyOTAyMjQ1NTIxNTQ1NF0sIFsxNTk1MDg4MDY1LjY5NzExNywgMjM0LCAwLjE1MjUwMzE0NzcyMTI5MDZdLCBbMTU5NTA4ODA4MC41NzQyNCwgMjQ5LCAwLjEyNTIyMDI4Mzg2NTkyODY1XSwgWzE1OTUwODgwODYuNDM0MTIxLCAyNTUsIDAuMTMyODY2MDg0NTc1NjUzMDhdLCBbMTU5NTA4ODA5MS40NjA5ODIsIDI2MCwgMC4xMjA1MDUzMjU0OTYxOTY3NV0sIFsxNTk1MDg4MDk4LjI4MjkxLCAyNjcsIDAuMTA5Njc2NTAyNjQ1MDE1NzJdLCBbMTU5NTA4ODEwMi4xMzk3OTIsIDI3MSwgMC4xNDQ1NDk3NzIxNDMzNjM5NV0sIFsxNTk1MDg4MTA0LjA5MzE1OSwgMjczLCAwLjE0NDg2ODczMTQ5ODcxODI2XSwgWzE1OTUwODgxMjIuNzgzNjU0LCAyOTIsIDAuMTEzMjA5NDkzNDU4MjcxMDNdLCBbMTU5NTA4ODEzOC41MTg3OTIsIDMwOCwgMC4wOTAyNTk2NDE0MDg5MjAyOV0sIFsxNTk1MDg4MTQwLjQ1MzgxMSwgMzEwLCAwLjEyNjU5ODkzOTI5OTU4MzQ0XSwgWzE1OTUwODgxNDguMzA0MzI2LCAzMTgsIDAuMTAwNzI0ODAxNDIxMTY1NDddLCBbMTU5NTA4ODE1OS45OTY3MDUsIDMzMCwgMC4wOTA4MzM3NzU2OTkxMzg2NF0sIFsxNTk1MDg4MTY4LjcyMjAwNiwgMzM5LCAwLjEwODk5MTA3MTU4MTg0MDUyXSwgWzE1OTUwODgxNzYuNTQ5ODY4LCAzNDcsIDAuMDgxNDg0OTU4NTI5NDcyMzVdLCBbMTU5NTA4ODE5MS45OTA3MjUsIDM2MywgMC4wOTMzODk0NTE1MDM3NTM2Nl0sIFsxNTk1MDg4MTk1LjgzMjc0NiwgMzY3LCAwLjA4NzI2ODQwNDY2MjYwOTFdLCBbMTU5NTA4ODI0OS4yMzY1OCwgNDIxLCAwLjA1NzA4OTMzOTk0MTc0MDAzNl0sIFsxNTk1MDg4MjUwLjI1MzIwNiwgNDIyLCAwLjA1MjYzMjY1MjIyMzExMDJdLCBbMTU5NTA4ODI2Ny4wODYzNTIsIDQzOSwgMC4wODc5OTYxNjI0NzQxNTU0M10sIFsxNTk1MDg4MjY5Ljk2MDU1MSwgNDQyLCAwLjA2ODg0OTEwOTExMzIxNjRdLCBbMTU5NTA4ODI3My4wNzYxMTcsIDQ0NSwgMC4wNzIzOTUyMTI5NDgzMjIzXSwgWzE1OTUwODgyODcuNzg2ODI4LCA0NjAsIDAuMDc5MTY4OTY3OTAyNjYwMzddLCBbMTU5NTA4ODI5MC44MTkzMDIsIDQ2MywgMC4wNTkyNTUwODk2MTA4MTUwNV0sIFsxNTk1MDg4MjkxLjgzMTM0OCwgNDY0LCAwLjA2MzU3OTI3NjIwNDEwOTE5XSwgWzE1OTUwODgzMDEuNjYxOTc2LCA0NzQsIDAuMDg5OTAyNTIwMTc5NzQ4NTRdLCBbMTU5NTA4ODMxOC4zODc0MDUsIDQ5MSwgMC4wODc0MjcxMDIwMjkzMjM1OF0sIFsxNTk1MDg4MzIwLjQwMjUyMSwgNDkzLCAwLjA3MDgzNjQwOTkyNjQxNDQ5XSwgWzE1OTUwODgzNDEuMTQ1ODYzLCA1MTQsIDAuMDY1NzAzMTYxMDYwODEwMDldLCBbMTU5NTA4ODM0NC4xNTA3MDksIDUxNywgMC4wNTk3Njk2MDgwODAzODcxMTVdLCBbMTU5NTA4ODM1Ny44ODU5NjgsIDUzMSwgMC4wNjI2NDk0MDY0OTI3MTAxMV0sIFsxNTk1MDg4MzYyLjg5OTY2NywgNTM2LCAwLjA3Mjg5MTc2NDM0Mjc4NDg4XSwgWzE1OTUwODgzODkuNTg1NTg1LCA1NjMsIDAuMDcyNDY1NjY1NjM4NDQ2ODFdLCBbMTU5NTA4ODM5OS40MzkzNzgsIDU3MywgMC4xMTIwMTA1OTgxODI2NzgyMl0sIFsxNTk1MDg4NDA1LjIyNDczOSwgNTc5LCAwLjA3MDU4NjQxMzE0NTA2NTMxXSwgWzE1OTUwODg0MDcuMTc3NDQ5LCA1ODEsIDAuMDU4NjQ4NTg2MjczMTkzMzZdLCBbMTU5NTA4ODQxMi4xMDg4NDgsIDU4NiwgMC4wNzEyNzI5MDIxOTA2ODUyN10sIFsxNTk1MDg4NDEzLjEzMTkyMSwgNTg3LCAwLjA3MDIxMTgxMjg1MzgxMzE3XSwgWzE1OTUwODg0MjcuNzkyNzA2LCA2MDIsIDAuMDkyNDgzMDQzNjcwNjU0M10sIFsxNTk1MDg4NDQ1LjQ4NDI4MiwgNjIwLCAwLjA1NTM4NDI0ODQ5NTEwMTkzXSwgWzE1OTUwODg0NDcuNDI4Mzg4LCA2MjIsIDAuMDc4MzgyOTM5MTAwMjY1NV0sIFsxNTk1MDg4NDU5LjA0MjIwOSwgNjM0LCAwLjA3MTg3NjAxMTc4ODg0NTA2XSwgWzE1OTUwODg0NjUuODgyNDk2LCA2NDEsIDAuMDU2OTIwMDMyOTQ4MjU1NTRdLCBbMTU5NTA4ODQ2Ni44ODc5NDEsIDY0MiwgMC4wNTI2NzUzNTUyMjU4MDE0N10sIFsxNTk1MDg4NDY4LjgzNjY3NiwgNjQ0LCAwLjA2MTk2OTQxNDM1MzM3MDY2N10sIFsxNTk1MDg4NDcxLjcyMzUwOSwgNjQ3LCAwLjA0OTM0Nzk5NjcxMTczMDk2XSwgWzE1OTUwODg0NzMuNjY4Njc2LCA2NDksIDAuMDcxNzM2NjExNDI1ODc2NjJdLCBbMTU5NTA4ODQ4NS41MTgyMjksIDY2MSwgMC4wODQ5ODExODA3Mjc0ODE4NF0sIFsxNTk1MDg4NDk1LjMwMTA4NywgNjcxLCAwLjA2NDM0OTU1NDQ3OTEyMjE2XSwgWzE1OTUwODg1MDcuMDU5MjcxLCA2ODMsIDAuMDY1ODg2OTE0NzMwMDcyMDJdLCBbMTU5NTA4ODUxMi4wMDE0NjgsIDY4OCwgMC4wNTU4NTU0MTk0ODY3NjEwOV0sIFsxNTk1MDg4NTM3LjI3NzYzMywgNzE0LCAwLjA3MTQzMzQ4NDU1NDI5MDc3XSwgWzE1OTUwODg1NDAuOTY3MjU4LCA3MTgsIDAuMDY3OTcwODM0NjcyNDUxMDJdLCBbMTU5NTA4ODU0NC45MTEwODQsIDcyMiwgMC4wNTI2MTc5NDEwNTE3MjE1N10sIFsxNTk1MDg4NTQ1LjkxNzkzMSwgNzIzLCAwLjA2MjIzNTc2NTE1OTEzMDA5Nl0sIFsxNTk1MDg4NTUyLjczMjUzNCwgNzMwLCAwLjA0ODY1Mjk1ODEyNDg3NjAyXSwgWzE1OTUwODg1NjEuNDc4MTI5LCA3MzksIDAuMDUyNjcwMTMyMzY4ODAzMDI0XSwgWzE1OTUwODg1NjUuNDIxNjQsIDc0MywgMC4wNTg2MjAzMDc1OTQ1Mzc3MzVdLCBbMTU5NTA4ODU2OS4zNDYyNCwgNzQ3LCAwLjA5MDExNzM5NDkyNDE2MzgyXSwgWzE1OTUwODg1NzQuMTM4NjAzLCA3NTIsIDAuMDY4MDgwMzY1NjU3ODA2NF0sIFsxNTk1MDg4NTc3Ljg2ODEyOCwgNzU2LCAwLjAzNjM0NzY0OTk5MTUxMjNdLCBbMTU5NTA4ODU4Ni40NjE0MTUsIDc2NSwgMC4wNjE5MzcyMDkyMTg3NDA0Nl0sIFsxNTk1MDg4NTkwLjMzODU2NywgNzY5LCAwLjA1MzY0NzQ5MjA4MDkyNjg5NV0sIFsxNTk1MDg4NTkyLjM5MDg1MiwgNzcxLCAwLjA1MDUzOTkzNjg3MDMzNjUzXSwgWzE1OTUwODg1OTQuMjkxOTc1LCA3NzMsIDAuMDM4MzM2NDU5NTQ3MjgxMjY1XSwgWzE1OTUwODg2MDEuMTk4NTQzLCA3ODAsIDAuMDc1NDYwODM2MjkxMzEzMTddLCBbMTU5NTA4ODYwNi4xNTU2NjcsIDc4NSwgMC4wNTM2MzA1ODI5ODgyNjIxNzddLCBbMTU5NTA4ODYwNy45MjYxNTcsIDc4NywgMC4wODEyODY4OTk3NDU0NjQzMl0sIFsxNTk1MDg4NjEyLjg4MjQ1MSwgNzkyLCAwLjA2NjQ1OTA3NDYxNjQzMjE5XSwgWzE1OTUwODg2MTQuNzk5ODc3LCA3OTQsIDAuMDQ3NTIxMDEwMDQxMjM2ODhdLCBbMTU5NTA4ODYxOC43MTg1NDcsIDc5OCwgMC4wNTY5MjI5OTA4Mjg3NTI1Ml0sIFsxNTk1MDg4NjIyLjY4MzkwNywgODAyLCAwLjA5NDM0OTY0NTA3ODE4MjIyXSwgWzE1OTUwODg2MjguNTg2MjksIDgwOCwgMC4wNjk4NTgzMTI2MDY4MTE1Ml0sIFsxNTk1MDg4NjI5LjUxOTI3LCA4MDksIDAuMDQ4NTAzNTQ3OTA2ODc1NjFdLCBbMTU5NTA4ODY1MS43Nzk5ODksIDgzMiwgMC4wNTU2ODQyMDE0MTkzNTM0ODVdLCBbMTU5NTA4ODY1NS44MzIxOCwgODM2LCAwLjA2NzY1NjQ5NDY3NzA2NjhdLCBbMTU5NTA4ODY4OC4xMzk2NjUsIDg2OSwgMC4wNTc3NDYxMDg2MjEzNTg4N10sIFsxNTk1MDg4Njk0LjkwMDE2LCA4NzYsIDAuMDU1MTQwNjAzMzMzNzExNjI0XSwgWzE1OTUwODg3MDAuNjQxNjEyLCA4ODIsIDAuMDU1OTc4MzQ2NjE2MDI5NzRdLCBbMTU5NTA4ODcxNC41MTEyMzksIDg5NiwgMC4wNjY4MDUzNDc4MDAyNTQ4Ml0sIFsxNTk1MDg4NzE4LjU0MTU0NSwgOTAwLCAwLjA0ODUxMzAyMTMyMDEwNDZdLCBbMTU5NTA4ODcyNS4yNDg1NTEsIDkwNywgMC4wNjg2MzcyODE2NTYyNjUyNl0sIFsxNTk1MDg4NzI3LjE2NjQ1MSwgOTA5LCAwLjA2MzM0MjA4Njk3MDgwNjEyXSwgWzE1OTUwODg3MzMuMTI5NTg2LCA5MTUsIDAuMDU0NzkxMjUzMDYwMTAyNDZdLCBbMTU5NTA4ODczNS4wMjU3NDksIDkxNywgMC4wNjgxMDMwMDA1MjE2NTk4NV0sIFsxNTk1MDg4NzQ4LjYyMDk3MSwgOTMxLCAwLjA4MzI4NTYyMjI5ODcxNzVdLCBbMTU5NTA4ODc0OS42MDMwNjIsIDkzMiwgMC4wNTg1MDg5MTM5NjQwMzMxM10sIFsxNTk1MDg4NzU5LjQyNDI3NCwgOTQyLCAwLjA3NTQ3MjcwNTA2NjIwNDA3XSwgWzE1OTUwODg3NjIuMjkyNTkzLCA5NDUsIDAuMDQ4OTQ1MTA2NTY1OTUyM10sIFsxNTk1MDg4NzcxLjA4MDIxLCA5NTQsIDAuMDY0NzMxMzgxODMzNTUzMzFdLCBbMTU5NTA4ODc3NC45MDA2MzEsIDk1OCwgMC4wNTM1NDM0MTExOTUyNzgxN10sIFsxNTk1MDg4Nzc4Ljk0ODY4MywgOTYyLCAwLjAzODkyOTQ3NzMzNDAyMjUyXSwgWzE1OTUwODg3ODcuOTIyNTIyLCA5NzEsIDAuMDQ2MTczOTUyNTE5ODkzNjQ2XSwgWzE1OTUwODg3ODguNzY5Mjg3LCA5NzIsIDAuMDc0NDQ1NDQxMzY1MjQyXSwgWzE1OTUwODg3OTQuNjU2OTQ2LCA5NzgsIDAuMDU4NTQwODg4MTMwNjY0ODI1XSwgWzE1OTUwODg3OTUuNTc4OCwgOTc5LCAwLjA1MjUyNDk1NzgwNTg3MTk2NF0sIFsxNTk1MDg4ODAwLjU3NjU3NCwgOTg0LCAwLjAzOTExMDA5ODAzNDE0MzQ1XSwgWzE1OTUwODg4MTIuMzQ2OTMzLCA5OTYsIDAuMDQ5NDcwOTA4OTM5ODM4NDFdLCBbMTU5NTA4ODgxOC4yNjY5MzQsIDEwMDIsIDAuMDQzMDExODkyNTg2OTQ2NDldLCBbMTU5NTA4ODgyMS4zMjg5ODksIDEwMDUsIDAuMDQ2NDIxOTM3NjQ0NDgxNjZdLCBbMTU5NTA4ODgyOS43MTQyNDcsIDEwMTQsIDAuMDcxNjYyNTk3MzU4MjI2NzhdLCBbMTU5NTA4ODg0MC40NDkwOCwgMTAyNSwgMC4wNzczNDE3ODAwNjY0OTAxN10sIFsxNTk1MDg4ODU4Ljc1NjgyNywgMTA0NCwgMC4wNDk2NzM4ODEzODE3NTAxMV0sIFsxNTk1MDg4ODcwLjk1MzI0MSwgMTA1NywgMC4wNDM5OTU3MzgwMjk0Nzk5OF0sIFsxNTk1MDg4ODc2Ljc0NDIyNSwgMTA2MywgMC4wMjU0ODQ1OTkxNzMwNjldLCBbMTU5NTA4ODg3OS42NTUyMzEsIDEwNjYsIDAuMDQyNzkzMjczOTI1NzgxMjVdLCBbMTU5NTA4ODg4MS41ODc4ODgsIDEwNjgsIDAuMDQyMDI4NzI1MTQ3MjQ3MzE0XSwgWzE1OTUwODg4ODUuNDM2MDc4LCAxMDcyLCAwLjA1ODk2ODgwMTA1MTM3ODI1XSwgWzE1OTUwODg4OTEuMjE4NTUxLCAxMDc4LCAwLjAzNDk3MjAyNjk0NDE2MDQ2XSwgWzE1OTUwODg4OTYuMTEzMjI4LCAxMDgzLCAwLjA0MDkwMzA4MDI1NDc5MzE3XSwgWzE1OTUwODg5MDUuODI4NDQ3LCAxMDkzLCAwLjAzOTkyNjExNTQyMzQ0MDkzXSwgWzE1OTUwODg5MTEuNTQyMjY4LCAxMDk5LCAwLjA1ODU4NTUwNTkzMjU2OTUwNF0sIFsxNTk1MDg4OTE2LjQ2MDg5NiwgMTEwNCwgMC4wNDI1MDk0MTc5ODA5MDkzNV0sIFsxNTk1MDg4OTI2LjIwNDI4LCAxMTE0LCAwLjAzMjEyOTQ2NjUzMzY2MDg5XSwgWzE1OTUwODg5MzEuMTY5NjQyLCAxMTE5LCAwLjA0NjU0NzY0Mzg0MDMxMjk2XSwgWzE1OTUwODg5NjcuMDk0MTMyLCAxMTU2LCAwLjA0NDk2ODU1NjYxMjczMDAyNl0sIFsxNTk1MDg4OTcwLjgzNzQ0OSwgMTE2MCwgMC4wNDA1MDMyNTYwMjI5MzAxNDVdLCBbMTU5NTA4ODk3MS45MzE0NjQsIDExNjEsIDAuMDUwOTk1MjkwMjc5Mzg4NDNdLCBbMTU5NTA4ODk3Mi44Nzk2MTcsIDExNjIsIDAuMDU4NDcwMjQxNzI1NDQ0Nzk0XSwgWzE1OTUwODg5OTAuNDA0NjA3LCAxMTgwLCAwLjA0NDgxNTAzMzY3NDI0MDExXSwgWzE1OTUwODkwMDEuOTU0MTU3LCAxMTkyLCAwLjA3ODMzMzk5NjIzNjMyNDMxXSwgWzE1OTUwODkwMDIuODk3NzU5LCAxMTkzLCAwLjA4MzE1MDI5NzQwMzMzNTU3XSwgWzE1OTUwODkwMDguODMzNTYzLCAxMTk5LCAwLjA1Nzk3NDg4NjE0OTE2ODAxNV0sIFsxNTk1MDg5MDE1LjUxMTUwNiwgMTIwNiwgMC4wMzExNTc5MDMzNzMyNDE0MjVdLCBbMTU5NTA4OTA0MC4zNTUzMywgMTIzMiwgMC4wMzM5NzM3NTM0NTIzMDEwMjVdLCBbMTU5NTA4OTA0Mi4zNzM2NjQsIDEyMzQsIDAuMDU3MDg1NTUxMzIxNTA2NV0sIFsxNTk1MDg5MDUyLjEzMjA3LCAxMjQ0LCAwLjA0NDkxNDY5MjY0MDMwNDU2NV0sIFsxNTk1MDg5MDYyLjc5ODcxOCwgMTI1NSwgMC4wMzc5MDkyMzk1MzA1NjMzNTRdLCBbMTU5NTA4OTA2NS43MzEyMTksIDEyNTgsIDAuMDQyOTgxNTA5MTE5MjcyMjNdLCBbMTU5NTA4OTA2OC41NjkxOTgsIDEyNjEsIDAuMDQ1MTE0ODkzNDY2MjM0MjFdLCBbMTU5NTA4OTA4OC4wMzAwNTgsIDEyODEsIDAuMDI4MTk4MTI4NTY2MTQ1ODk3XSwgWzE1OTUwODkwOTMuODAyOTAzLCAxMjg3LCAwLjAzNTM3NjExMjkwODEyNDkyNF0sIFsxNTk1MDg5MTAwLjQ3MzUwOSwgMTI5NCwgMC4wMzUxMDI4ODUyMTY0NzQ1M10sIFsxNTk1MDg5MTA2LjQ5NTE1OSwgMTMwMCwgMC4wMzM1ODc5NzcyOTAxNTM1XSwgWzE1OTUwODkxMTYuMzI4MDg1LCAxMzEwLCAwLjA1MDk3ODc3NjA2NzQ5NTM0Nl0sIFsxNTk1MDg5MTIyLjE4NjM3MiwgMTMxNiwgMC4wMzI4NjkyMzQ2ODExMjk0NTZdLCBbMTU5NTA4OTEyNS4yMjU1MTIsIDEzMTksIDAuMDU0Mjg2MTE0ODcxNTAxOTJdLCBbMTU5NTA4OTEzNS42ODY1NDIsIDEzMzAsIDAuMDQxODU2ODk2MTMyMjMwNzZdLCBbMTU5NTA4OTEzOC41MTE1NDksIDEzMzMsIDAuMDQyNTg3NzE5ODU3NjkyNzJdLCBbMTU5NTA4OTE0MS40ODE4NDgsIDEzMzYsIDAuMDM0NzcyMTkxMTk2NjgwMDddLCBbMTU5NTA4OTE0Mi40MTc4OTksIDEzMzcsIDAuMDM2OTQzNDcyOTIxODQ4M10sIFsxNTk1MDg5MTg5LjIwMzQ2MiwgMTM4NSwgMC4wNTcxNDEwMzIwNjk5MjE0OTRdLCBbMTU5NTA4OTE5Mi4yNDMxMTksIDEzODgsIDAuMDMzOTQ5NDk0MzYxODc3NDRdLCBbMTU5NTA4OTE5NS4xNzEzNywgMTM5MSwgMC4wMjQwMzE2ODU2NjUyNDk4MjVdLCBbMTU5NTA4OTE5Ni4wMjU0MjUsIDEzOTIsIDAuMDQxOTc4MjM2Mjg3ODMyMjZdLCBbMTU5NTA4OTIxNy43NTIxMjIsIDE0MTQsIDAuMDQ1OTQ2MzIyMzgxNDk2NDNdLCBbMTU5NTA4OTIyOS42NDUyNDgsIDE0MjYsIDAuMDQxNDU2OTUyNjkxMDc4MTg2XSwgWzE1OTUwODkyMzEuNTE1NDYzLCAxNDI4LCAwLjAzODk1NTg1MjM4OTMzNTYzXSwgWzE1OTUwODkyMzUuMjU0MjcxLCAxNDMyLCAwLjAyNjkxMjMwMTc3ODc5MzMzNV0sIFsxNTk1MDg5MjM5LjE4MjgyMSwgMTQzNiwgMC4wNDAwMzM1NDE2MTk3Nzc2OF0sIFsxNTk1MDg5MjQzLjA0OTI4LCAxNDQwLCAwLjAzMzMxODQzMzkxMDYwODI5XSwgWzE1OTUwODkyNjcuNTcxOTYxLCAxNDY1LCAwLjA1NDc4ODYwODEwMzk5MDU1NV0sIFsxNTk1MDg5MjY4LjU3Mzk4MywgMTQ2NiwgMC4wMzU2NjM3ODcyNzU1NTI3NV0sIFsxNTk1MDg5Mjc5LjM5Mzk2MywgMTQ3NywgMC4wNDQzODExMzc5MzczMDczNl0sIFsxNTk1MDg5Mjg3LjA5NDAwOCwgMTQ4NSwgMC4wNTI3Mzc0MDM2NjEwMTI2NV0sIFsxNTk1MDg5MjkxLjAxODc2NSwgMTQ4OSwgMC4wMjIwNTUwMzU0NTcwMTUwMzhdLCBbMTU5NTA4OTI5Mi45MjUzOTksIDE0OTEsIDAuMDMzMDg2NDk3MzM2NjI2MDVdLCBbMTU5NTA4OTMwOS43MjczMDksIDE1MDgsIDAuMDMzMDMyMzY4ODY4NTg5NF0sIFsxNTk1MDg5MzI0LjUyMDYsIDE1MjMsIDAuMDMzMjk1MTU4Mjk2ODIzNV0sIFsxNTk1MDg5MzI4LjMyOTExLCAxNTI3LCAwLjA0MzA0NjAxOTk3MTM3MDddLCBbMTU5NTA4OTM1Mi45ODExMTQsIDE1NTIsIDAuMDU0MzY2OTcyMjk3NDMwMDRdLCBbMTU5NTA4OTM2OC44Njg3NjUsIDE1NjgsIDAuMDYwMjcwNTY2NDkzMjcyNzhdLCBbMTU5NTA4OTM2OS44NjkxOTMsIDE1NjksIDAuMDQ1OTA2NTYyMzU4MTQwOTQ1XSwgWzE1OTUwODkzODQuODI2NDM1LCAxNTg0LCAwLjA0MTk2ODE0MDc1MTEyMzQzXSwgWzE1OTUwODkzODguODIzNjA1LCAxNTg4LCAwLjA1MTcxNzQ3ODc4MTkzODU1XSwgWzE1OTUwODkzOTcuNjExNDQ3LCAxNTk3LCAwLjAzNTg2OTMxMTU0MTMxODg5XSwgWzE1OTUwODk0MDQuNzI4NDg1LCAxNjA0LCAwLjA1MTIwMjA1NTA2NjgyMzk2XSwgWzE1OTUwODk0MDUuNjc1NDIyLCAxNjA1LCAwLjAzOTQ3OTg3MDM0OTE2ODc4XSwgWzE1OTUwODk0MTguNDIwOTU2LCAxNjE4LCAwLjA1MjkxMjcyMzI3MzAzODg2NF0sIFsxNTk1MDg5NDI3LjMwOTAzMSwgMTYyNywgMC4wNjQwNjIwMzY1NzM4ODY4N10sIFsxNTk1MDg5NDMyLjM0NTQ1OCwgMTYzMiwgMC4wNDAyMTUwNDg5Mzg5ODk2NF0sIFsxNTk1MDg5NDM3LjE1NjY5NSwgMTYzNywgMC4wNDc4NzI0NDY0Nzc0MTMxOF0sIFsxNTk1MDg5NDQwLjAyNDU0MywgMTY0MCwgMC4wMzAzMzAzNjU1MjM2OTU5NDZdLCBbMTU5NTA4OTQ0NS4wMzQwNDgsIDE2NDUsIDAuMDM5NTMyNzUwODQ0OTU1NDQ0XSwgWzE1OTUwODk0NDcuOTkzNzA3LCAxNjQ4LCAwLjA0OTg2Njk1OTQ1MjYyOTA5XSwgWzE1OTUwODk0NjAuMDUwODI4LCAxNjYwLCAwLjA0NjQzODUxNTE4NjMwOTgxNF0sIFsxNTk1MDg5NDY3LjkwMzQxLCAxNjY4LCAwLjA1MjU2ODEzMDE5NTE0MDg0XSwgWzE1OTUwODk0NzQuODMwMTU2LCAxNjc1LCAwLjAzNTA3MDM4OTUwOTIwMTA1XSwgWzE1OTUwODk0ODEuNjY1MjIyLCAxNjgyLCAwLjAzOTM3NTk4NjkwMzkwNTg3XSwgWzE1OTUwODk0OTAuNTU3MDY4LCAxNjkxLCAwLjA3NTMyMTY4OTI0ODA4NTAyXSwgWzE1OTUwODk0OTQuNDQwMDgzLCAxNjk1LCAwLjAzODg3ODM0MDI3NDA5NTUzNV0sIFsxNTk1MDg5NDk1LjM5MTMyOSwgMTY5NiwgMC4wNDQzNzI3Mzc0MDc2ODQzMjZdLCBbMTU5NTA4OTQ5Ni40MDA4OTgsIDE2OTcsIDAuMDM2NjQ0ODc5NzI4NTU1NjhdLCBbMTU5NTA4OTQ5OC4zMzg3ODksIDE2OTksIDAuMDM3OTMxOTExNjQ3MzE5Nzk0XSwgWzE1OTUwODk1MDEuMTYwODA0LCAxNzAyLCAwLjA0MDM3ODQ0Mzg5Njc3MDQ4XSwgWzE1OTUwODk1MDguMDMzNzA5LCAxNzA5LCAwLjAzODA4OTA0ODExNzM5OTIxNl0sIFsxNTk1MDg5NTE3LjAyODgxOSwgMTcxOCwgMC4wMzExMzEzNTY5NTQ1NzQ1ODVdLCBbMTU5NTA4OTUyNi45MzM5MDIsIDE3MjgsIDAuMDU0NDU3MTY1MzAwODQ2MV0sIFsxNTk1MDg5NTMwLjc4MTgxOCwgMTczMiwgMC4wMzQ0MTEyOTI1MjMxNDU2NzZdLCBbMTU5NTA4OTUzMi43NzU5NzYsIDE3MzQsIDAuMDM2MjUyMTAwMDIwNjQ3MDVdLCBbMTU5NTA4OTUzNS42NTcyMjMsIDE3MzcsIDAuMDcxNTUzMTg1NTgyMTYwOTVdLCBbMTU5NTA4OTU0MC42MTg4OTQsIDE3NDIsIDAuMDUyNzI5MjYwMTc2NDIwMjFdLCBbMTU5NTA4OTU0My42ODAyMjUsIDE3NDUsIDAuMDU2NDAyMzE0NDU0MzE3MDldLCBbMTU5NTA4OTU0NC42MDE3MjIsIDE3NDYsIDAuMDUxOTU3OTEyNzQzMDkxNThdLCBbMTU5NTA4OTU0NS41NjkzLCAxNzQ3LCAwLjA0NDA2MzQwNDIwMjQ2MTI0XSwgWzE1OTUwODk1NjMuOTE3OTM5LCAxNzY2LCAwLjA0MzExNjQ2ODkzNjIwNDkxXSwgWzE1OTUwODk1NzIuNjM3NjY3LCAxNzc1LCAwLjAzOTEwOTAxMzk3NDY2NjU5NV0sIFsxNTk1MDg5NTc4LjUyMjgzOSwgMTc4MSwgMC4wNDM3MzIwNDMzNTU3MDMzNTRdLCBbMTU5NTA4OTU4NS4yMjMxMjksIDE3ODgsIDAuMDY2NjEwNjcxNTc5ODM3OF0sIFsxNTk1MDg5NTg2LjE1NjY2OSwgMTc4OSwgMC4wNjM1NTk2MzY0NzM2NTU3XSwgWzE1OTUwODk1OTQuNzk2MTI4LCAxNzk4LCAwLjA1NzY3MDY5Mzg0NDU1NjgxXSwgWzE1OTUwODk2MDEuNjA5MjkyLCAxODA1LCAwLjA1MDI4MDQ4OTAyNzUwMDE1XSwgWzE1OTUwODk2MTMuNTYwMDYyLCAxODE3LCAwLjA1NjEzNDA5MzU1MjgyNzgzNV0sIFsxNTk1MDg5NjIyLjQ2Mjc4OCwgMTgyNiwgMC4wNjY5NjE3MjgwMzY0MDM2Nl0sIFsxNTk1MDg5NjI2LjMxMjUyNiwgMTgzMCwgMC4wNDMxNjAzNzg5MzI5NTI4OF0sIFsxNTk1MDg5NjM1Ljg5MDU3MSwgMTg0MCwgMC4wODY5MjE5OTczNjgzMzU3Ml0sIFsxNTk1MDg5NjM5LjgxOTY0OCwgMTg0NCwgMC4wNTY0NDI5ODM0NDg1MDU0XSwgWzE1OTUwODk2NDguNjg5OTM0LCAxODUzLCAwLjA4MjM3MzAyMzAzMzE0MjA5XSwgWzE1OTUwODk2NjEuNTQyMjM3LCAxODY2LCAwLjA3NTA4Nzc3ODI3MDI0NDZdLCBbMTU5NTA4OTY2NC40NTA0MjgsIDE4NjksIDAuMDgzMjEyMDQ3ODE1MzIyODhdLCBbMTU5NTA4OTY3MC4zOTEyMDUsIDE4NzUsIDAuMDQwMDM2NjY3MTM4MzM4MDldLCBbMTU5NTA4OTY3Mi4zODg4OTIsIDE4NzcsIDAuMDcwNzgxOTAxNDc4NzY3NF0sIFsxNTk1MDg5NzA1LjQ4ODg1OCwgMTkxMSwgMC4wNTIwNDg4NTA4MDQ1NjczNF0sIFsxNTk1MDg5NzExLjIxMzQ5MiwgMTkxNywgMC4wMzY2NzY5NTgyMDMzMTU3MzVdLCBbMTU5NTA4OTcyNy44NDE2NTksIDE5MzQsIDAuMDM2NTY3MjIyMzI2OTkzOTRdLCBbMTU5NTA4OTcyOS43NzkzMTEsIDE5MzYsIDAuMDM1NTE3MzYxMDE1MDgxNDA2XSwgWzE1OTUwODk3MzEuNzY2NzU2LCAxOTM4LCAwLjAzNDY5MTk4OTQyMTg0NDQ4XSwgWzE1OTUwODk3MzcuNjkyMjcxLCAxOTQ0LCAwLjA0MjQ4MDE3NDQ1MjA2NjQyXSwgWzE1OTUwODk3NDAuNjQ1NjYxLCAxOTQ3LCAwLjA0MDQyMjg0NTYzMTgzNzg0NV0sIFsxNTk1MDg5NzQyLjcxNjQ4MSwgMTk0OSwgMC4wMzg1MTI3MDY3NTY1OTE4XSwgWzE1OTUwODk3NjAuMzM0MDk0LCAxOTY3LCAwLjAyMjEyOTg2MTYzNzk0OTk0NF0sIFsxNTk1MDg5Nzc0LjI2OTE4MywgMTk4MSwgMC4wNTQzMzc0MTk1Njk0OTIzNF0sIFsxNTk1MDg5Nzc1LjcyNDk1MSwgMTk4MywgMC4wMzY4MjM3MzgzNjYzNjU0M10sIFsxNTk1MDg5NzkzLjE4MDIyNCwgMjAwMSwgMC4wNTE2MDAyMDI5MTgwNTI2N10sIFsxNTk1MDg5Nzk3LjEzOTIzNiwgMjAwNSwgMC4wMzY2MzkzMjE1OTU0MzAzNzRdLCBbMTU5NTA4OTgwNS4yMjM3OTEsIDIwMTMsIDAuMDQzNDAxNTUwNTAxNTg1MDFdLCBbMTU5NTA4OTgyMS44ODIyNTgsIDIwMzAsIDAuMDMzNTE3NjUxMjU5ODk5MTRdLCBbMTU5NTA4OTgyNy42NjA5OTQsIDIwMzYsIDAuMDQyNzI3NzM4NjE4ODUwNzFdLCBbMTU5NTA4OTg1MC45MzY1OTksIDIwNjAsIDAuMDI5NTc3NTAxMTE4MTgzMTM2XSwgWzE1OTUwODk4NjIuMjU1MzMzLCAyMDcyLCAwLjA0NTg5MzY2MTY3NzgzNzM3XSwgWzE1OTUwODk4NjMuMjQxMjYxLCAyMDczLCAwLjA0MTMxNjc2MjU2NjU2NjQ3XSwgWzE1OTUwODk4NjYuMTk4Mjg2LCAyMDc2LCAwLjAzNTA2OTIyNzIxODYyNzkzXSwgWzE1OTUwODk4NjcuMTI4MjI3LCAyMDc3LCAwLjA3MDkyNjk2NDI4Mjk4OTVdLCBbMTU5NTA4OTg2OS4xNTE3NjIsIDIwNzksIDAuMDQxNDY3MDUxOTUzMDc3MzE2XSwgWzE1OTUwODk4NzEuMjkwOTUxLCAyMDgxLCAwLjAzMTYwMjQ2ODM0MTU4ODk3NF0sIFsxNTk1MDg5ODc1LjIzNDQyNiwgMjA4NSwgMC4wMzAzMDM5NjA2NjYwNjA0NDhdLCBbMTU5NTA4OTg3OS4wNTUyMDMsIDIwODksIDAuMDMzNTA1OTk4NTUxODQ1NTVdLCBbMTU5NTA4OTg4NC4wMDMzMDgsIDIwOTQsIDAuMDM0NzM0Mjc1MTkyMDIyMzI0XSwgWzE1OTUwODk4ODUuOTU5ODUsIDIwOTYsIDAuMDQ2Mzk3MDQxNTI5NDE3MDRdLCBbMTU5NTA4OTkwMC42MDkwMDgsIDIxMTEsIDAuMDQ0MTU5MDIxMjI4NTUxODY1XSwgWzE1OTUwODk5MzQuMTk0ODM5LCAyMTQ1LCAwLjA0NDgyNzgwMzk2OTM4MzI0XSwgWzE1OTUwODk5MzguMTE2NDc0LCAyMTQ5LCAwLjAyMTk1NTYzNzI2MTI3MTQ3N10sIFsxNTk1MDg5OTQwLjAzNzA1MywgMjE1MSwgMC4wMjcyNTAyMzU5MDAyODI4Nl0sIFsxNTk1MDg5OTQ0Ljk5MjI1NCwgMjE1NiwgMC4wMzE3MTcwMjEwMTgyNjY2OF0sIFsxNTk1MDg5OTUzLjY5Mzk4NSwgMjE2NSwgMC4wMzcwMzA3OTAwMDExNTM5NDZdLCBbMTU5NTA4OTk2MS41MTQzNDgsIDIxNzMsIDAuMDQ4NDg0MjA2MTk5NjQ1OTk2XSwgWzE1OTUwODk5NjUuNDEyNzUzLCAyMTc3LCAwLjA0ODk1OTY4MzYyNjg5MDE4XSwgWzE1OTUwODk5NzUuMjc1MTg2LCAyMTg3LCAwLjAzMTgwMjE4MTE1NDQ4OTUyXSwgWzE1OTUwODk5NzcuMjU1NTI2LCAyMTg5LCAwLjA0MDM0NTk0MDczODkxNjRdLCBbMTU5NTA4OTk3OS4xOTI0MDMsIDIxOTEsIDAuMDUxMTg2MDY2MTIwODYyOTZdLCBbMTU5NTA4OTk4MC4xNjM4NjksIDIxOTIsIDAuMDMwNTQ1NTI1MjUyODE5MDZdLCBbMTU5NTA4OTk4NC4xMzE0MzMsIDIxOTYsIDAuMDMxNzM5NzA0MzEwODk0MDFdLCBbMTU5NTA4OTk4Ny4xODcyNTYsIDIxOTksIDAuMDQwMTk3Nzc4NDkzMTY1OTddLCBbMTU5NTA4OTk5NS4xNDI2MTIsIDIyMDcsIDAuMDIyNjQxNjY2MjMzNTM5NThdLCBbMTU5NTA4OTk5OC45NjA0NjksIDIyMTEsIDAuMDI4MTIyOTMzNTgxNDcxNDQzXSwgWzE1OTUwOTAwMTIuNzg5MDYxLCAyMjI1LCAwLjAzNTkxNTc2NTkxMTM0MDcxNF0sIFsxNTk1MDkwMDE4LjYwMDU1MywgMjIzMSwgMC4wMzA5NzkzNjEzODUxMDcwNF0sIFsxNTk1MDkwMDIzLjQ0NDkzMiwgMjIzNiwgMC4wMzU5ODI3OTUwNTk2ODA5NF0sIFsxNTk1MDkwMDI0LjQ4Mjc4NywgMjIzNywgMC4wMzM0MjEyODU0NTA0NTg1M10sIFsxNTk1MDkwMDI2LjQ3NDc5NSwgMjIzOSwgMC4wMjg3OTQwNDA5MDM0NDkwNl0sIFsxNTk1MDkwMDI5LjQyMDA5NCwgMjI0MiwgMC4wMzI5NTQ3NzQ3OTY5NjI3NF0sIFsxNTk1MDkwMDMxLjI3NDc5NiwgMjI0NCwgMC4wMjY2OTAzMDk4NjcyNjI4NF0sIFsxNTk1MDkwMDMzLjMzNDg4NCwgMjI0NiwgMC4wNDE2Nzc4NTQ5NTUxOTYzOF0sIFsxNTk1MDkwMDM0LjM0Njk0MSwgMjI0NywgMC4wNTIzNTM4NDAzMjEzMDI0MTRdLCBbMTU5NTA5MDA0MS4yOTE2OTMsIDIyNTQsIDAuMDYxMjU4ODE1MjI4OTM5MDU2XSwgWzE1OTUwOTAwNDQuMjc3MDA5LCAyMjU3LCAwLjA0OTk2MDQxMjA4NTA1NjMwNV0sIFsxNTk1MDkwMDQ5LjA0MjYxNCwgMjI2MiwgMC4wMzI1MTIyMjg5MzU5NTY5NTVdLCBbMTU5NTA5MDA2Ny44MDA4NDcsIDIyODEsIDAuMDU1MTY2MTk5ODAzMzUyMzU2XSwgWzE1OTUwOTAwNzcuMzkxOTg2LCAyMjkxLCAwLjA0NTc4OTgxMTc2MDE4NzE1XSwgWzE1OTUwOTAwODMuMzMwNjY5LCAyMjk3LCAwLjA0MzQzNDI1MTA5OTgyNDkwNV0sIFsxNTk1MDkwMDg5LjIwMzgzMywgMjMwMywgMC4wNDY3ODc0NjY4NTM4NTcwNF0sIFsxNTk1MDkwMDkzLjEyNjU2MSwgMjMwNywgMC4wNDI4OTQyODg4OTc1MTQzNF0sIFsxNTk1MDkwMDk0LjE1MjUxNiwgMjMwOCwgMC4wMzQzMzA4MTUwNzY4MjhdLCBbMTU5NTA5MDEwNC44MDM1NjYsIDIzMTksIDAuMDIxMzE4MDk0ODA0ODgzMDAzXSwgWzE1OTUwOTAxMDUuODE5MDMxLCAyMzIwLCAwLjAzMTU4MjE3Mjk2MDA0Mjk1M10sIFsxNTk1MDkwMTIwLjI0ODM2NiwgMjMzNSwgMC4wMzQyNjI4NDM0MzAwNDIyN10sIFsxNTk1MDkwMTI5Ljc3NjkwOSwgMjM0NSwgMC4wMzQ2NjE2ODA0NTk5NzYxOTZdLCBbMTU5NTA5MDEzOC41Mjg0MzYsIDIzNTQsIDAuMDM2MDM2MDIyMDA3NDY1MzZdLCBbMTU5NTA5MDE1NS4wNzI5MzksIDIzNzEsIDAuMDM5MjgyNDA3NjExNjA4NTA1XSwgWzE1OTUwOTAxNzIuNDkwMzE4LCAyMzg5LCAwLjAyMzA3MTgyMzY0MTY1NzgzXSwgWzE1OTUwOTAxNzMuNDk2MzY1LCAyMzkwLCAwLjA3MTk0Njk1NjIxNzI4ODk3XSwgWzE1OTUwOTAxNzUuNDY0MzMzLCAyMzkyLCAwLjAzNjMyNjczMjQ4NjQ4NjQzNV0sIFsxNTk1MDkwMTg1LjIxMDY5MSwgMjQwMiwgMC4wMzEwMDQ1NDQzNDc1MjQ2NDNdLCBbMTU5NTA5MDE4OS4xNDI2NDMsIDI0MDYsIDAuMDQ0MzcxODAyMzU5ODE5NDFdLCBbMTU5NTA5MDIwNy41MDc5NTIsIDI0MjUsIDAuMDQzODE0NjY2NTY5MjMyOTRdLCBbMTU5NTA5MDIxOC4yMjA3LCAyNDM2LCAwLjAyMDY3NDEzMTgxMDY2NTEzXSwgWzE1OTUwOTAyMjYuMTkyNzg3LCAyNDQ0LCAwLjA1MDE5MjY4NzY2MDQ1NTcwNF0sIFsxNTk1MDkwMjMyLjIyOTQxOCwgMjQ1MCwgMC4wMjcyMjM2MDc1MjUyMjk0NTRdLCBbMTU5NTA5MDIzMy4xNTcyMjMsIDI0NTEsIDAuMDM2ODc1NTEyNDUwOTMzNDU2XSwgWzE1OTUwOTAyMzUuMTY3Njg3LCAyNDUzLCAwLjAyODcyNDE4Nzk4NTA2MjZdLCBbMTU5NTA5MDIzNy4wNjMyNjgsIDI0NTUsIDAuMDQwMjc3MzkxNjcyMTM0NF0sIFsxNTk1MDkwMjQxLjkxOTA5NiwgMjQ2MCwgMC4wNjE3NTE3OTc3OTUyOTU3MTVdLCBbMTU5NTA5MDI2Ni44NDczNzEsIDI0ODUsIDAuMDQ0NDI1MjQ1Mzc0NDQxMTVdLCBbMTU5NTA5MDI2Ny44OTc1OCwgMjQ4NiwgMC4wMzAyNDkxOTUxNzMzODI3Nl0sIFsxNTk1MDkwMjc3Ljg1MjM5NywgMjQ5NiwgMC4wNDI0MTI0MjYzMjI2OTg1OV0sIFsxNTk1MDkwMjc5Ljg1Mjg2MSwgMjQ5OCwgMC4wMzQ0OTc3Mzc4ODQ1MjE0ODRdLCBbMTU5NTA5MDI4NC42NjQ2MzIsIDI1MDMsIDAuMDQwNjg2NDEzNjQ1NzQ0MzI0XSwgWzE1OTUwOTAyOTguNTU3MjY0LCAyNTE3LCAwLjAyNjIxNDA0NDU0MTEyMDUzXSwgWzE1OTUwOTAzMDQuMzE0NjQyLCAyNTIzLCAwLjAzNDMyMzMyMzUxODAzNzc5Nl0sIFsxNTk1MDkwMzExLjMxMzYwNSwgMjUzMCwgMC4wMjIzMDkwMTgyOTg5ODM1NzRdLCBbMTU5NTA5MDMxMy4zODcxNjUsIDI1MzIsIDAuMDQ4OTQ4NjEyMDY0MTIzMTU0XSwgWzE1OTUwOTAzMjguMzAxMjQ0LCAyNTQ3LCAwLjAzNDk5NzQyMjI0ODEyNTA3Nl0sIFsxNTk1MDkwMzMyLjM2MDE0NiwgMjU1MSwgMC4wNTY1MTEzNjExNTE5MzM2N10sIFsxNTk1MDkwMzM0LjI4NjM5NCwgMjU1MywgMC4wNDQ2NDUyMjAwNDEyNzUwMjRdLCBbMTU5NTA5MDM0Ny4xMDk3ODIsIDI1NjYsIDAuMDUyMzAxODk4NTk4NjcwOTZdLCBbMTU5NTA5MDM1OC45NDY4ODEsIDI1NzgsIDAuMDQwODE3NTUxMzE0ODMwNzhdLCBbMTU5NTA5MDM3MC44NjMyNzYsIDI1OTAsIDAuMDQ0OTg3MjcyNDcxMTg5NV0sIFsxNTk1MDkwMzcxLjg3MDIxOCwgMjU5MSwgMC4wMzcyNzYyOTQwODI0MDMxOF0sIFsxNTk1MDkwMzcyLjc5OTM2MSwgMjU5MiwgMC4wNDg0MzU4NjY4MzI3MzMxNTRdLCBbMTU5NTA5MDM4MC43NTc3MDQsIDI2MDAsIDAuMDQ5OTEzNDI0OTk4NTIxODA1XSwgWzE1OTUwOTAzODYuNzg4ODk3LCAyNjA2LCAwLjA4NDQ2MjU3NTYxNDQ1MjM2XSwgWzE1OTUwOTA0MDMuNzcxNzY0LCAyNjIzLCAwLjA1ODE3NjIwMDgzNjg5Njg5Nl0sIFsxNTk1MDkwNDA5LjcwNjQwMywgMjYyOSwgMC4wNTIxOTM1OTMyMzM4MjM3NzZdLCBbMTU5NTA5MDQxMC42ODU3NjcsIDI2MzAsIDAuMDQxMDYwMDkzNzkwMjkyNzRdLCBbMTU5NTA5MDQxOC42NjQxMzMsIDI2MzgsIDAuMDQyMzQwMDEwNDA0NTg2NzldLCBbMTU5NTA5MDQyNC42MjkxMjcsIDI2NDQsIDAuMDYwMDI0OTA1OTQ5ODMxMDFdLCBbMTU5NTA5MDQzMC43MzAyNDQsIDI2NTAsIDAuMDQ2OTYwMDE4NTc1MTkxNV0sIFsxNTk1MDkwNDM1LjY2NTQ4MSwgMjY1NSwgMC4wNDA2NTIxODU2Nzg0ODIwNTZdLCBbMTU5NTA5MDQ1OC42MjEzMTUsIDI2NzgsIDAuMDM3OTExMjM2Mjg2MTYzMzNdLCBbMTU5NTA5MDQ2MC40OTcwMywgMjY4MCwgMC4wMjkzNzA4Nzc4OTE3Nzg5NDZdLCBbMTU5NTA5MDQ2NS4yNjk4ODIsIDI2ODUsIDAuMDYxMDY2Mzg1MzU4NTcyMDA2XSwgWzE1OTUwOTA0NzAuMjQ1NDg2LCAyNjkwLCAwLjAyMDMzNTc4NzkwNzI0Mjc3NV0sIFsxNTk1MDkwNDgzLjA2MzgyMywgMjcwMywgMC4wMzcxNjM3Njc5NjM2NDc4NF0sIFsxNTk1MDkwNDkwLjA0MTM4LCAyNzEwLCAwLjAzOTM1NDk2NTA5MDc1MTY1XSwgWzE1OTUwOTA1MDQuNzQyMzg2LCAyNzI1LCAwLjA0MTEwNDI0MjIwNTYxOTgxXSwgWzE1OTUwOTA1MTYuNTMxOTQ1LCAyNzM3LCAwLjAyOTE5OTE3MzY3Mzk4NzM5XSwgWzE1OTUwOTA1MTkuNDA3NzMyLCAyNzQwLCAwLjA0MDA1MTA3NjU2MTIxMjU0XSwgWzE1OTUwOTA1MzMuMTE3Mjk5LCAyNzU0LCAwLjAyODU0ODk3NjQwNjQ1NTA0XSwgWzE1OTUwOTA1MzQuMDY2OTM3LCAyNzU1LCAwLjAyNDI2NTEzMjg0NDQ0ODA5XSwgWzE1OTUwOTA1MzYuMDU5Njc1LCAyNzU3LCAwLjA0MjAyNDA3MjI1OTY2NDUzNl0sIFsxNTk1MDkwNTY3LjAzODA3MiwgMjc4OSwgMC4wMjcwNzE3NTUzNzk0Mzg0XSwgWzE1OTUwOTA1NjguMDcyOTk5LCAyNzkwLCAwLjA3MDcxOTk0MjQ1MDUyMzM4XSwgWzE1OTUwOTA1NjkuMDM0NzkxLCAyNzkxLCAwLjAzOTU1NDQyNDU4MzkxMTg5Nl0sIFsxNTk1MDkwNTc2LjAzOTg3NywgMjc5OCwgMC4wMzkzNTU0NzU0NTU1MjI1NF0sIFsxNTk1MDkwNTg3LjAzNTY4OSwgMjgwOSwgMC4wNjI1NDE4ODcxNjQxMTU5XSwgWzE1OTUwOTA2MDEuODY0MDIyLCAyODI0LCAwLjAzODkyOTM5OTEwMjkyNjI1NF0sIFsxNTk1MDkwNjA0Ljg4MzUxNCwgMjgyNywgMC4wMzM2NzI2OTAzOTE1NDA1M10sIFsxNTk1MDkwNjA2Ljg1Mzg2MiwgMjgyOSwgMC4wMzEwNjMwOTQ3MzUxNDU1N10sIFsxNTk1MDkwNjM1LjcxOTkyMywgMjg1OSwgMC4wMzIyMDkyMTAwOTc3ODk3NjRdLCBbMTU5NTA5MDY0OC4zMDA2NSwgMjg3MiwgMC4wNTE5Mzc0MDg3NDUyODg4NV0sIFsxNTk1MDkwNjU2Ljk2NjkyNywgMjg4MSwgMC4wMzk2NTg1MTY2NDU0MzE1Ml0sIFsxNTk1MDkwNjY1LjY2NzA3OSwgMjg5MCwgMC4wMzA3MjQ2ODAwNTEyMDc1NDJdLCBbMTU5NTA5MDY3MS41NTU0ODUsIDI4OTYsIDAuMDQ3NDk3OTcyODQ2MDMxMTldLCBbMTU5NTA5MDY3NS40ODY2NjMsIDI5MDAsIDAuMDMwMDk4NTc2MDk4NjgwNDk2XSwgWzE1OTUwOTA2OTEuODg3MTk4LCAyOTE3LCAwLjAyOTA3NjEzNDc4NjAwOTc5XSwgWzE1OTUwOTA2OTMuNzkzMDQ0LCAyOTE5LCAwLjAyOTg4OTc2MjQwMTU4MDgxXSwgWzE1OTUwOTA2OTQuOTYzMzMyLCAyOTIwLCAwLjAzMTA0NTIwNTg5MTEzMjM1NV0sIFsxNTk1MDkwNjk1Ljg3NTY1LCAyOTIxLCAwLjAyOTA1NDUyOTk2NDkyMzg2XSwgWzE1OTUwOTA3MDYuNTIwODE0LCAyOTMyLCAwLjAyMTY2NjQ4OTU0MTUzMDYxXSwgWzE1OTUwOTA3MjMuOTExOTgyLCAyOTUwLCAwLjAyODMwNDk3NTQ3OTg0MTIzMl0sIFsxNTk1MDkwNzQwLjUxMTczNCwgMjk2NywgMC4wNDcyNTgwMzQzNDg0ODc4NTRdLCBbMTU5NTA5MDc0OC4yOTk2NjEsIDI5NzUsIDAuMDIyMTE3MTk5Mzc2MjI1NDddLCBbMTU5NTA5MDc3MC44ODg2NTUsIDI5OTgsIDAuMDI5MTcxMjEzNTA3NjUyMjgzXSwgWzE1OTUwOTA3NzkuNjE5ODEyLCAzMDA3LCAwLjA2NTE1MzE4OTAwMzQ2NzU2XSwgWzE1OTUwOTA3ODEuNDYwOTA3LCAzMDA5LCAwLjAyNzE1NjEyMDE2NjE4MjUxOF0sIFsxNTk1MDkwNzgzLjQwNjk4OSwgMzAxMSwgMC4wMjg2MDYwODUxMDY3MzA0Nl0sIFsxNTk1MDkwNzg3LjMwMDk2MiwgMzAxNSwgMC4wMzQ2MjcxNTgxOTQ3ODAzNV0sIFsxNTk1MDkwNzg4LjMwMTI1NiwgMzAxNiwgMC4wMzA2NTcyNjM0NzI2NzYyNzddLCBbMTU5NTA5MDc5OS4xNDY5MDQsIDMwMjcsIDAuMDI3NTM3NzAxNjUxNDUzOTcyXSwgWzE1OTUwOTA4MDIuMDEzNDY4LCAzMDMwLCAwLjAyMDEwNDE0OTM1NjQ4NDQxM10sIFsxNTk1MDkwODA5Ljg3MDQzOCwgMzAzOCwgMC4wMjk4OTUwODAyNTM0ODE4NjVdLCBbMTU5NTA5MDgxMi43MDM5MjYsIDMwNDEsIDAuMDIzNTYxNTExMTg4NzQ1NV0sIFsxNTk1MDkwODIxLjIwOTEzMiwgMzA1MCwgMC4wMjc0ODc0MjMyNzA5NDA3OF0sIFsxNTk1MDkwODM1LjYxODk2MywgMzA2NSwgMC4wMzY2MjgxNTY5MDA0MDU4ODRdLCBbMTU5NTA5MDgzOS41MDMzOTEsIDMwNjksIDAuMDIxNTc5ODY3MjI4ODY1NjIzXSwgWzE1OTUwOTA4NDEuMzMxMTM1LCAzMDcxLCAwLjAyMzAyMTY2MjYwNzc4OTA0XSwgWzE1OTUwOTA4NTUuNjQ0MjY4LCAzMDg2LCAwLjAyMDM3MjI3NzEyNTcxNjIxXSwgWzE1OTUwOTA4NjguMTU1NjMsIDMwOTksIDAuMDIyMTA2MDA4NjA0MTY4ODkyXSwgWzE1OTUwOTA4OTEuMDYzNDI2LCAzMTIyLCAwLjAyMTI3MjkxODIwOTQzMzU1Nl0sIFsxNTk1MDkwOTA1LjQ1MTk1LCAzMTM3LCAwLjAzMjg1MDEyNzY2NzE4ODY0NF0sIFsxNTk1MDkwOTA2LjQ1MDI5OCwgMzEzOCwgMC4wMTg1MDE0ODY2MjkyNDc2NjVdLCBbMTU5NTA5MDkxMy4yNzE3MjQsIDMxNDUsIDAuMDI5ODIzOTIxNjIwODQ1Nzk1XSwgWzE1OTUwOTA5MTguMTM5MjM0LCAzMTUwLCAwLjAyMjgyNDgzMzE2OTU3OTUwNl0sIFsxNTk1MDkwOTIzLjA0NjQxMiwgMzE1NSwgMC4wMTU5MzY4MjM1NjE3ODc2MDVdLCBbMTU5NTA5MDkyNi45MjM0ODYsIDMxNTksIDAuMDIzODEyNzAzNzg4MjgwNDg3XSwgWzE1OTUwOTA5MjguNzk3OTAzLCAzMTYxLCAwLjAyMTc4NTgxMjQ1MjQzNTQ5M10sIFsxNTk1MDkwOTQ0LjQwNzQxMiwgMzE3NywgMC4wMjkxMjU5OTAzNDYwNzQxMDRdLCBbMTU5NTA5MDk2MS45MTczNDIsIDMxOTUsIDAuMDE1MTk3NDg2NjE2NjcxMDg1XSwgWzE1OTUwOTA5NjIuOTI3ODUxLCAzMTk2LCAwLjAxOTMyNzI2ODAwNDQxNzQyXSwgWzE1OTUwOTA5NjkuNjA1Mjk0LCAzMjAzLCAwLjAxNTY1MDU2Mjk0MjAyODA0Nl0sIFsxNTk1MDkwOTcyLjU0NzIyMywgMzIwNiwgMC4wMjQ5MzE2MDQwNDI2NDkyN10sIFsxNTk1MDkwOTk1LjkzNTY4NCwgMzIzMCwgMC4wMjIxMTg2MjI0MzcxMTk0ODRdLCBbMTU5NTA5MDk5OC43ODEzMDUsIDMyMzMsIDAuMDIyMjU1MTc0ODE1NjU0NzU1XSwgWzE1OTUwOTEwMDUuODQyMDAxLCAzMjQwLCAwLjAyMjg2NjAzNjc0MjkyNTY0NF0sIFsxNTk1MDkxMDA4Ljc5MDEyNywgMzI0MywgMC4wMjA1OTI4NTM0MjY5MzMyOV0sIFsxNTk1MDkxMDA5LjcxMjMwNCwgMzI0NCwgMC4wMjEwMzgzMzQ4MTY2OTQyNl0sIFsxNTk1MDkxMDExLjYwMTU3NCwgMzI0NiwgMC4wMjU5MDYwMDQwMTE2MzEwMTJdLCBbMTU5NTA5MTAxMi41NjA1MjIsIDMyNDcsIDAuMDI1OTY0MjA0MjIxOTYzODgyXSwgWzE1OTUwOTEwMzIuMjkwMDc4LCAzMjY3LCAwLjAzMzU4MDc5ODY1NTc0ODM3XSwgWzE1OTUwOTEwMzcuMjgxODA0LCAzMjcyLCAwLjAyMjg1NjY4NjI2NDI3NjUwNV0sIFsxNTk1MDkxMDQ1LjkxNzczNSwgMzI4MSwgMC4wMjQ1NTQ2NzU0NDQ5NjA1OTRdLCBbMTU5NTA5MTA0Ny44OTIzMTgsIDMyODMsIDAuMDIyNzQwNDAzMTkwMjU1MTY1XSwgWzE1OTUwOTEwNjkuMjY5NDIzLCAzMzA1LCAwLjAyMzY2MjY1MDk1NzcwMzU5XSwgWzE1OTUwOTEwNzYuOTk5OTE3LCAzMzEzLCAwLjAxMDUyNDc1MDY4NzE4MTk1XSwgWzE1OTUwOTEwOTAuNDk3MjI3LCAzMzI3LCAwLjAyMDMwMjE1NDEyMzc4MzExXSwgWzE1OTUwOTEwOTEuNDczOTY4LCAzMzI4LCAwLjAyNDg5NjA5NjQzODE2OTQ4XSwgWzE1OTUwOTEwOTYuNDE4NDM2LCAzMzMzLCAwLjAzNjUzNjUxNDc1OTA2MzcyXSwgWzE1OTUwOTExMDEuMzExNjQ5LCAzMzM4LCAwLjAyMTIzNjg4OTA2NDMxMTk4XSwgWzE1OTUwOTExMDguMDA5NzIxLCAzMzQ1LCAwLjAxMzA4MjUwMTQ3ODQ5MzIxNF0sIFsxNTk1MDkxMTM2LjM4NzA1NCwgMzM3NCwgMC4wMzA3NjE0NjM1Njc2MTQ1NTVdLCBbMTU5NTA5MTEzOC4yOTQwNDIsIDMzNzYsIDAuMDE3ODk5MDcxNzk3NzI4NTRdLCBbMTU5NTA5MTE0MC4yMTE3NDMsIDMzNzgsIDAuMDI1MzQwNjA3Mzg5ODA3N10sIFsxNTk1MDkxMTQ4LjA0MDM3MSwgMzM4NiwgMC4wMjA3NDA5NTA0ODAxMDM0OTNdLCBbMTU5NTA5MTE2NC42NjkwOTQsIDM0MDMsIDAuMDE1ODMxOTgwODU0MjcyODQyXSwgWzE1OTUwOTExNjkuMjg2OTgyLCAzNDA4LCAwLjAxODY1NTU0MjI4NDI1MDI2XSwgWzE1OTUwOTExOTAuOTU3NjM3LCAzNDMwLCAwLjAxNzM0OTkzNDIwNTQxMjg2NV0sIFsxNTk1MDkxMTkzLjk1NDQ2MywgMzQzMywgMC4wMTcyMzMxNzQyOTQyMzMzMjJdLCBbMTU5NTA5MTE5OS4wNzY0MiwgMzQzOCwgMC4wMjE1MDM5NzE4ODk2MTUwNl0sIFsxNTk1MDkxMjA1Ljc3ODAyNiwgMzQ0NSwgMC4wMjg1NDU3NDI4NTQ0NzU5NzVdLCBbMTU5NTA5MTIwOS42Mzg5MjcsIDM0NDksIDAuMDE4MjY5NDQ1NzQ3MTM3MDddLCBbMTU5NTA5MTIxMS43MTQ5NDQsIDM0NTEsIDAuMDIwNjIzNTc5NjIxMzE1MDAyXSwgWzE1OTUwOTEyMTcuNjM0NDA2LCAzNDU3LCAwLjAxODkyMjk3NTI4Njg0MTM5M10sIFsxNTk1MDkxMjE4LjU5NDE2MywgMzQ1OCwgMC4wMjEzMTY2MTAyNzY2OTkwNjZdLCBbMTU5NTA5MTIyNC42OTE0MDIsIDM0NjQsIDAuMDI1MjAyMTk3OTU0MDU4NjQ3XSwgWzE1OTUwOTEyMzEuNDk5NjI0LCAzNDcxLCAwLjAyMTQ1MDMwOTA4Mjg2NTcxNV0sIFsxNTk1MDkxMjM3LjQ4OTExMiwgMzQ3NywgMC4wMTk5NDA0ODYxNzc4MDIwODZdLCBbMTU5NTA5MTI0MC4zNjQ3MDQsIDM0ODAsIDAuMDE2NTMzMjEwODczNjAzODJdLCBbMTU5NTA5MTI1Ni45Nzk0NzEsIDM0OTcsIDAuMDE1NDI4OTk3NTc2MjM2NzI1XSwgWzE1OTUwOTEyNTkuMDczMDUxLCAzNDk5LCAwLjAyMzI5NDE5NTUzMjc5ODc2N10sIFsxNTk1MDkxMjY4Ljc4MDI0MywgMzUwOSwgMC4wMTc2MTI0Nzc3NjQ0ODcyNjddLCBbMTU5NTA5MTI3MS43NjkzMDQsIDM1MTIsIDAuMDE3MDQxODExNzE5NTM2NzhdLCBbMTU5NTA5MTI3OC42NzQ3NSwgMzUxOSwgMC4wMTU2NzA2NjgzMzM3Njg4NDVdLCBbMTU5NTA5MTI5My45NTU3MzYsIDM1MzUsIDAuMDE1MTIzNTk1NDgzNjAxMDkzXSwgWzE1OTUwOTEyOTUuODc0MDkzLCAzNTM3LCAwLjAyMDU4Nzk0MTYzMTY3NDc2N10sIFsxNTk1MDkxMzAxLjc5ODk4NSwgMzU0MywgMC4wMjQzNTQ5MDg2MTUzNTA3MjNdLCBbMTU5NTA5MTMwNS42NDc0NTEsIDM1NDcsIDAuMDE3MjMzMDcxODQ4NzUwMTE0XSwgWzE1OTUwOTEzMDcuNjI4MzE1LCAzNTQ5LCAwLjAxOTM3MTY0NTUyNTA5Nzg0N10sIFsxNTk1MDkxMzIxLjI4NTY3NywgMzU2MywgMC4wMTgxMDQwMTExOTI5MTc4MjRdLCBbMTU5NTA5MTMzNy45MzkzMSwgMzU4MCwgMC4wMTY4OTg0NDc2NDc2OTA3NzNdLCBbMTU5NTA5MTM0OS42MzY5NTMsIDM1OTIsIDAuMDIxNTg4ODg2MTU2Njc4Ml0sIFsxNTk1MDkxMzU3LjQ5NTI3NCwgMzYwMCwgMC4wMTc5MDM1MTQyMDY0MDk0NTRdLCBbMTU5NTA5MTM3NC45MDI3MTMsIDM2MTgsIDAuMDE0ODc3ODk0ODkzMjg4NjEyXSwgWzE1OTUwOTEzNzYuOTA2NzIxLCAzNjIwLCAwLjAxMjQ1NzEwMDY3NDUxMDAwMl0sIFsxNTk1MDkxMzc4LjczNjIxMSwgMzYyMiwgMC4wMTUxNjA5ODE1NjU3MTM4ODJdLCBbMTU5NTA5MTM4MS42NzkzNjQsIDM2MjUsIDAuMDIyNDA5NjA4NTg3NjIyNjQzXSwgWzE1OTUwOTEzODQuNTAyOTM1LCAzNjI4LCAwLjAyMjIxMzgzMzQwNjU2NzU3NF0sIFsxNTk1MDkxNDAxLjE1MjEyNSwgMzY0NSwgMC4wMTY2MTQ4NzEwOTk1OTEyNTVdLCBbMTU5NTA5MTQxMS43NzQ3MDQsIDM2NTYsIDAuMDIyMjQ2MjQxNTY5NTE5MDQzXSwgWzE1OTUwOTE0MTIuODA1NTQzLCAzNjU3LCAwLjAxNTg0OTYxMDc5MDYxMDMxM10sIFsxNTk1MDkxNDI1LjU0OTU1MywgMzY3MCwgMC4wMjA2MTQwOTg3NTc1MDU0MTddLCBbMTU5NTA5MTQ1NC43MDc2ODEsIDM3MDAsIDAuMDE3NzI3NDE2MDA4NzEwODZdLCBbMTU5NTA5MTQ1Ni43MTYxMiwgMzcwMiwgMC4wMTI4MTM0ODcwOTAxNzAzODNdLCBbMTU5NTA5MTQ4MC4yNDU0OCwgMzcyNiwgMC4wMTQ1NjEzODAyNTk2OTI2NjldLCBbMTU5NTA5MTQ4NC4yMDgzOTYsIDM3MzAsIDAuMDE5NTM0MjExNjA1Nzg3Mjc3XSwgWzE1OTUwOTE0ODYuMTI3NTEzLCAzNzMyLCAwLjAxMzQxODk5NTc3NTI4MjM4M10sIFsxNTk1MDkxNDkxLjkwMDk3NiwgMzczOCwgMC4wMTI5NjY1NDUyOTg2OTU1NjRdLCBbMTU5NTA5MTQ5NC43NjcxMjgsIDM3NDEsIDAuMDI0MTE3NDcxNjUwMjQyODA1XSwgWzE1OTUwOTE0OTYuNzgxNjUsIDM3NDMsIDAuMDE1NTU1Njc3OTM1NDgxMDcxXSwgWzE1OTUwOTE1MDUuNTI3NDYsIDM3NTIsIDAuMDE5NzA3NzU5ODQyMjc2NTczXSwgWzE1OTUwOTE1MTIuMzM5NDkxLCAzNzU5LCAwLjAxNDY4NjE2OTEwMjc4Nzk3MV0sIFsxNTk1MDkxNTI1LjQwODc5LCAzNzcyLCAwLjAxNDk4NTA1OTM4Nzk4MTg5Ml0sIFsxNTk1MDkxNTMyLjk4Nzk0LCAzNzgwLCAwLjAxNzU4NzI2ODcyNTAzNzU3NV0sIFsxNTk1MDkxNTQ1LjYxODI2MywgMzc5MywgMC4wMTY3NjA0MzY4MTgwMDM2NTRdLCBbMTU5NTA5MTU0Ny41NzA2MTIsIDM3OTUsIDAuMDE1MDgxNTEyNzQxNzQ0NTE4XSwgWzE1OTUwOTE1NTAuNDk3MzY4LCAzNzk4LCAwLjAxODE5OTk2MTYzMjQ5MDE1OF0sIFsxNTk1MDkxNTYyLjIxODA4MiwgMzgxMCwgMC4wMjIwODgxNzc1MDIxNTUzMDRdLCBbMTU5NTA5MTU2Ni4yMzg2MjQsIDM4MTQsIDAuMDE2Njk0NzcyOTg4NTU3ODE2XSwgWzE1OTUwOTE1NzEuMDA4NTMsIDM4MTksIDAuMDIzNjQ3MzE3NjYyODM1MTJdLCBbMTU5NTA5MTU3Mi45MDkyOTksIDM4MjEsIDAuMDE5NDAxMjY5MDMzNTUxMjE2XSwgWzE1OTUwOTE1ODIuNjEyMDgxLCAzODMxLCAwLjAxOTkxMTg4MzM5ODg5MDQ5NV0sIFsxNTk1MDkxNTg2LjUzNDgzMiwgMzgzNSwgMC4wMjk0Nzc5MTQ3OTUyNzk1MDNdLCBbMTU5NTA5MTU5OS4xNzA5MDUsIDM4NDgsIDAuMDE5NjUzMjcxODgzNzI2MTJdLCBbMTU5NTA5MTYxNC42NzM1MTMsIDM4NjQsIDAuMDE3NjU1NzM3Njk4MDc4MTU2XSwgWzE1OTUwOTE2MTkuNjEzNDY4LCAzODY5LCAwLjAxODc0NTAyOTM0NTE1NDc2Ml0sIFsxNTk1MDkxNjI2LjMyNDI2NiwgMzg3NiwgMC4wMTIyMTgyMjc2MDk5OTIwMjddLCBbMTU5NTA5MTY1MC41NDg4MzIsIDM5MDEsIDAuMDQwMTQ3MTg5MDUwOTEyODZdLCBbMTU5NTA5MTY1MS41MjA0NzIsIDM5MDIsIDAuMDEzMDgzNzQ2NjU2Nzc1NDc1XSwgWzE1OTUwOTE2NTkuMzAwODcyLCAzOTEwLCAwLjAwNzc5NTE1OTIzOTMyMTk0N10sIFsxNTk1MDkxNjY4LjkyMzQzMywgMzkyMCwgMC4wMTIzNjE1Mzk1Mjc3NzM4NTddLCBbMTU5NTA5MTY3Ni43OTM4MTksIDM5MjgsIDAuMDE4NTc4MjY4NTg3NTg5MjY0XSwgWzE1OTUwOTE2ODMuNTAxMzEyLCAzOTM1LCAwLjAyMTIxOTk1NzYxOTkwNTQ3Ml0sIFsxNTk1MDkxNjg3LjM3NzIzMywgMzkzOSwgMC4wMzc1MjE0ODE1MTM5NzcwNV0sIFsxNTk1MDkxNjk4LjAzMDkwNiwgMzk1MCwgMC4wMjE5NTEyODQyNTk1NTc3MjRdLCBbMTU5NTA5MTcwNC4wODc0NzEsIDM5NTYsIDAuMDEzMDQzNDc5MDYyNjE2ODI1XSwgWzE1OTUwOTE3MDkuNzQ4MDA1LCAzOTYyLCAwLjAxNTE5ODA0MjYxNjI0ODEzXSwgWzE1OTUwOTE3MzEuMjYxNTk0LCAzOTg0LCAwLjAxMDg1NjE0OTcxODE2NTM5OF0sIFsxNTk1MDkxNzQxLjg5Mzc0MywgMzk5NSwgMC4wMTQ2ODU0MzI0MjY2MzE0NV0sIFsxNTk1MDkxNzQ2LjYzMjc2NCwgNDAwMCwgMC4wMTIzODk5MDc2MTMzOTY2NDVdLCBbMTU5NTA5MTc1NS4yOTgzNDcsIDQwMDksIDAuMDExOTY3OTkwNTQ3NDE4NTk0XSwgWzE1OTUwOTE3NTYuMjcwODcxLCA0MDEwLCAwLjAxNDkxMDAwNjg5NTY2MTM1NF0sIFsxNTk1MDkxNzY4LjAxMDQ2OCwgNDAyMiwgMC4wMTQxNzMxMTM3NDA5ODA2MjVdLCBbMTU5NTA5MTc3OC44MTIzNDYsIDQwMzMsIDAuMDE4NTQyNTE2OTc2NTk0OTI1XSwgWzE1OTUwOTE3ODEuNzYxOTc4LCA0MDM2LCAwLjAyMDM5MTAzMjA5OTcyMzgxNl0sIFsxNTk1MDkxNzkxLjM2MDIyOSwgNDA0NiwgMC4wMTE5MzA4MTEyMTg5MTczN10sIFsxNTk1MDkxNzkyLjQ0Nzc4LCA0MDQ3LCAwLjAxOTI2NTc4MDIyNTM5NjE1Nl0sIFsxNTk1MDkxNzkzLjQyNjIxOCwgNDA0OCwgMC4wMTMzMDA4NDM1MzY4NTM3OV0sIFsxNTk1MDkxODM2LjkzNDQ0MywgNDA5MywgMC4wMTc0NjcyNDE3MzQyNjYyOF0sIFsxNTk1MDkxODQxLjc1MDkzNSwgNDA5OCwgMC4wMjE0NzM5MDEzNDYzMjU4NzRdLCBbMTU5NTA5MTg0Mi43MzczODMsIDQwOTksIDAuMDE3OTk3MDQ4Nzk1MjIzMjM2XSwgWzE1OTUwOTE4NTIuNTg0NzQ4LCA0MTA5LCAwLjAyNDQwMzY5Njg3OTc0NDUzXSwgWzE1OTUwOTE5MjMuMDc2Mzg4LCA0MTgyLCAwLjAyMjUwMDQwODgxMzM1NzM1M10sIFsxNTk1MDkxOTMzLjc3MDQ5LCA0MTkzLCAwLjAzMDgzODM0MDUyMDg1ODc2NV0sIFsxNTk1MDkxOTM0Ljg2ODM2MywgNDE5NCwgMC4wMjcxNzE1MjA1MTYyNzYzNl0sIFsxNTk1MDkxOTM2LjgwNjQ1NywgNDE5NiwgMC4wMjg5MTc0MzU1NTY2NTAxNjJdLCBbMTU5NTA5MTkzOC42MzA4MTksIDQxOTgsIDAuMDI3MjI4ODk5MzAwMDk4NDJdLCBbMTU5NTA5MTk0MS40NjY1MzgsIDQyMDEsIDAuMDI2MTM5NDY2MDkxOTkwNDddLCBbMTU5NTA5MTk0Mi40ODg1NjksIDQyMDIsIDAuMDI3Mjg1ODgzMjAzMTQ4ODQyXSwgWzE1OTUwOTE5NDQuNDM0NTcyLCA0MjA0LCAwLjAyNzc0ODg0MzY1NDk5MDE5Nl0sIFsxNTk1MDkxOTY2LjgwNTQxNCwgNDIyNywgMC4wMzgyODgwODI5Mjc0NjU0NF0sIFsxNTk1MDkxOTcxLjc2MTM0NSwgNDIzMiwgMC4wMTY0NDAxMDQ2OTMxNzQzNjJdLCBbMTU5NTA5MTk3NC43NzE5MTIsIDQyMzUsIDAuMDI0MDYxMDg1NjU2Mjg1Mjg2XSwgWzE1OTUwOTE5ODIuNzMxMjc4LCA0MjQzLCAwLjAyMDU3OTQzMzA2ODYzMzA4XSwgWzE1OTUwOTE5OTMuNDg0NDQ3LCA0MjU0LCAwLjAxODQyMDU5MTk1MDQxNjU2NV0sIFsxNTk1MDkyMDAyLjQzOTQxMiwgNDI2MywgMC4wMTcxMDkzOTc3OTg3NzY2MjddLCBbMTU5NTA5MjAwNS4yNTQ4ODgsIDQyNjYsIDAuMDIxOTQ3NjM1MzM3NzEwMzhdLCBbMTU5NTA5MjAwNi4yODQ2MTIsIDQyNjcsIDAuMDEzNTY2MjMzMjE3NzE2MjE3XSwgWzE1OTUwOTIwMjAuOTcwMTM4LCA0MjgyLCAwLjAxNTgxMDgxMzc1NDc5Njk4Ml0sIFsxNTk1MDkyMDM2LjU4MTA4MiwgNDI5OCwgMC4wMjc1ODgyNTU3MDM0NDkyNV0sIFsxNTk1MDkyMDQyLjMzODUzNywgNDMwNCwgMC4wMTI0NjA0NDg3NzkxNjU3NDVdLCBbMTU5NTA5MjA0Ni4zNzcxMSwgNDMwOCwgMC4wMTMzODY2OTAwNTc4MTQxMjFdLCBbMTU5NTA5MjA1NS4wMjM2MzUsIDQzMTcsIDAuMDEyNTAxNTAzMzQwODk5OTQ0XSwgWzE1OTUwOTIwNTYuOTkzNTQ1LCA0MzE5LCAwLjAxODAyNzc2NTY3NjM3OTIwNF0sIFsxNTk1MDkyMDY1Ljc2NjExOSwgNDMyOCwgMC4wMTM3NDU0NDQ4MjY3ODE3NV0sIFsxNTk1MDkyMDY5LjY1NTIxMSwgNDMzMiwgMC4wMjQ5MTQ3ODYyMTk1OTY4NjNdLCBbMTU5NTA5MjA3NS42ODYzMTEsIDQzMzgsIDAuMDE4MjQ5MTgyMDMwNTU4NTg2XSwgWzE1OTUwOTIwODAuNTQ5Nzk2LCA0MzQzLCAwLjAxOTA4MTUzNDgxNzgxNDgyN10sIFsxNTk1MDkyMTA1Ljg3Nzg1NCwgNDM2OSwgMC4wMTEyODA5NjIyNjYwMjc5MjddLCBbMTU5NTA5MjExNC42ODgzOTksIDQzNzgsIDAuMDI0ODgxNTUyOTA0ODQ0Mjg0XSwgWzE1OTUwOTIxMjkuMjIzMjQsIDQzOTMsIDAuMDIzMTE0MDgxNDcyMTU4NDMyXSwgWzE1OTUwOTIxMzUuODY0OTkxLCA0NDAwLCAwLjAxNjIxMzU5NTg2NzE1Njk4Ml0sIFsxNTk1MDkyMTQxLjkyMjc0NywgNDQwNiwgMC4wMjA5NzY1MzQxMTMyODc5MjZdLCBbMTU5NTA5MjE0NS45MTg3MDEsIDQ0MTAsIDAuMDIyMzU5MDc2ODg3MzY5MTU2XSwgWzE1OTUwOTIxNDYuOTMyMzAzLCA0NDExLCAwLjAyMDUwMTE1MzU0MzU5MTVdLCBbMTU5NTA5MjE2NS4zMzY3NjQsIDQ0MzAsIDAuMDI5MzYwNDY5NDMwNjg1MDQzXSwgWzE1OTUwOTIxNjYuMjg2ODY2LCA0NDMxLCAwLjAyODcxODgyOTE1NDk2ODI2XSwgWzE1OTUwOTIxNjguMjgyMDY3LCA0NDMzLCAwLjAyMDg2MDE4Mzk4NDA0MTIxNF0sIFsxNTk1MDkyMTc0LjA3MTIwMywgNDQzOSwgMC4wMTg5NTM1MjA4MDQ2NDM2M10sIFsxNTk1MDkyMjAzLjI4MDI0MSwgNDQ2OSwgMC4wMjg3Nzg4MjY4MTc4NzAxNF0sIFsxNTk1MDkyMjA5LjA5NjkzNCwgNDQ3NSwgMC4wMjE5OTcxODcyODY2MTUzN10sIFsxNTk1MDkyMjEyLjgzNjUxNywgNDQ3OSwgMC4wMTI4MTM3NjU1NTU2MjAxOTNdLCBbMTU5NTA5MjIxNS43MDQzNDEsIDQ0ODIsIDAuMDEzMjgyNzc5NjA0MTk2NTQ4XSwgWzE1OTUwOTIyMjMuNTc4MTQ2LCA0NDkwLCAwLjAyMDEyNTg0NzMwOTgyNzgwNV0sIFsxNTk1MDkyMjI1LjU0NTcxMywgNDQ5MiwgMC4wMTM4NDk2OTgwMDcxMDY3ODFdLCBbMTU5NTA5MjI0Mi4xMDg1NTQsIDQ1MDksIDAuMDE4NTYwNTgyNzcxODk3MzE2XSwgWzE1OTUwOTIyNDMuMTQ3NjI5LCA0NTEwLCAwLjAxOTk3NDk4NDIyODYxMDk5Ml0sIFsxNTk1MDkyMjYxLjA4MzA1OSwgNDUyOSwgMC4wMDk2ODgwMTA0MzkyNzY2OTVdLCBbMTU5NTA5MjI2Mi4wMDgwOTgsIDQ1MzAsIDAuMDE4MTU1Njk1ODcwNTE4Njg0XSwgWzE1OTUwOTIyNjQuOTE1ODAzLCA0NTMzLCAwLjAyMTU0MjQwNzU3MjI2OTQ0XSwgWzE1OTUwOTIyNzMuNjU2NjE4LCA0NTQyLCAwLjAyMDUwMzk1MzA5OTI1MDc5M10sIFsxNTk1MDkyMjgxLjMyOTAxLCA0NTUwLCAwLjAyNzk1NTM0OTUzNDc0OTk4NV0sIFsxNTk1MDkyMjgzLjI0NDgzNywgNDU1MiwgMC4wMTgwOTIzMTM3ODEzODA2NTNdLCBbMTU5NTA5MjI4NC4yNDc5ODksIDQ1NTMsIDAuMDM1NzAwNjk3NDUxODI5OTFdLCBbMTU5NTA5MjI5OS4wMjU2OCwgNDU2OCwgMC4wMTQwMTgyNTQzNTQ1OTYxMzhdLCBbMTU5NTA5MjMwOC42NzY0ODksIDQ1NzgsIDAuMDE1MzQzMzE3NzYyMDE3MjVdLCBbMTU5NTA5MjMxMS40ODA5ODgsIDQ1ODEsIDAuMDE4MjM4NzQ1NjI5Nzg3NDQ1XSwgWzE1OTUwOTIzMjIuNDUzOTA0LCA0NTkyLCAwLjAyMDcxODc0NTg4NzI3OTUxXSwgWzE1OTUwOTIzMjUuNDA0NTc3LCA0NTk1LCAwLjAxNTAxNjEwMTMwMDcxNjRdLCBbMTU5NTA5MjMyNy4yNzA0OTQsIDQ1OTcsIDAuMDE2NzIxODEzMDA4MTg5Ml0sIFsxNTk1MDkyMzI5LjMwNTM1LCA0NTk5LCAwLjAyMjA3NTk0MzY0ODgxNTE1NV0sIFsxNTk1MDkyMzQwLjkzMDI5NSwgNDYxMSwgMC4wMTUwNDQxNjg1NjkxNDc1ODddLCBbMTU5NTA5MjM1Ny40MjUzMTMsIDQ2MjgsIDAuMDExNTE0NDAyOTI1OTY4MTddLCBbMTU5NTA5MjM3Mi4wNzgyODUsIDQ2NDMsIDAuMDIwMjE3MDM2ODI4Mzk4NzA1XSwgWzE1OTUwOTIzNzcuODgyNjMzLCA0NjQ5LCAwLjAxNjcxOTg2NDY4MTM2MzEwNl0sIFsxNTk1MDkyMzg0LjY1NjMwNywgNDY1NiwgMC4wMTQ5MTE0MTc4NDkzNjE4OTddLCBbMTU5NTA5MjM5Mi4zNDE5NTcsIDQ2NjQsIDAuMDE2MTUwNzE2NjkyMjA5MjQ0XSwgWzE1OTUwOTIzOTYuMjU1ODYyLCA0NjY4LCAwLjAyMDExMDU0NzU0MjU3MjAyXSwgWzE1OTUwOTI0MDMuMjQ4NzA5LCA0Njc1LCAwLjAxMjMwOTE1MTcwMTYyOTE2Ml0sIFsxNTk1MDkyNDA0LjI4NzM4NywgNDY3NiwgMC4wMTI2MzM2MjQ0ODY2MjUxOTVdLCBbMTU5NTA5MjQwNS4yNzc2MjMsIDQ2NzcsIDAuMDE0NTcxNTIzMjkzODUyODA2XSwgWzE1OTUwOTI0MTQuOTE4NDM3LCA0Njg3LCAwLjAyMTM3ODMyNTI5ODQyODUzNV0sIFsxNTk1MDkyNDQwLjE4NDM1MiwgNDcxMywgMC4wMTE5NzM2MTY2NjcwOTE4NDZdLCBbMTU5NTA5MjQ0NC45NjI3NzEsIDQ3MTgsIDAuMDEyMjQ2MTYxNjk5Mjk1MDQ0XSwgWzE1OTUwOTI0NjAuMzg0MTE2LCA0NzM0LCAwLjAyMjYyMzU2NjkxMDYyNDUwNF0sIFsxNTk1MDkyNDY1LjIxMDg4NSwgNDczOSwgMC4wMjE5MzU0NTczNjM3MjQ3MV0sIFsxNTk1MDkyNDcxLjExODYwNCwgNDc0NSwgMC4wMTI0NzgxNzQ2NDE3Mjg0MDFdLCBbMTU5NTA5MjQ3NC45NjcxNDUsIDQ3NDksIDAuMDIyNDQ0OTc4MzU2MzYxMzldLCBbMTU5NTA5MjQ3Ni4wNjEyNDEsIDQ3NTAsIDAuMDIxMzM4OTg4MDk1NTIxOTI3XSwgWzE1OTUwOTI0ODMuOTIwNzQ2LCA0NzU4LCAwLjAxMzA3OTEwMjE1MTA5NTg2N10sIFsxNTk1MDkyNDg2Ljc5NjMxOCwgNDc2MSwgMC4wMTU5NzMzNDA3MTk5MzgyNzhdLCBbMTU5NTA5MjQ4Ny43NDc3ODksIDQ3NjIsIDAuMDIxMTg3ODY3OTY5Mjc0NTJdLCBbMTU5NTA5MjQ4OS42NzI2MTksIDQ3NjQsIDAuMDEzMTM1MjQ2OTMyNTA2NTYxXSwgWzE1OTUwOTI0OTIuNTMxMzgyLCA0NzY3LCAwLjAxOTY5MjcxMTUzMjExNTkzNl0sIFsxNTk1MDkyNTAxLjI4MzU3MywgNDc3NiwgMC4wMTMwMzg0OTc0MTgxNjUyMDddLCBbMTU5NTA5MjUwNS4xNDYzOSwgNDc4MCwgMC4wMTkzNzAwODY0OTExMDc5NF0sIFsxNTk1MDkyNTA4Ljk2ODcyMywgNDc4NCwgMC4wMTk0NjE3OTAwOTk3NDAwM10sIFsxNTk1MDkyNTExLjk1NTU3OSwgNDc4NywgMC4wMjIwOTM5MjM3NjI0NDA2OF0sIFsxNTk1MDkyNTEyLjkzNTE1NCwgNDc4OCwgMC4wMTQyODkyOTgwOTQ4MDkwNTVdLCBbMTU5NTA5MjUxOC43MTEwMzQsIDQ3OTQsIDAuMDEzNDY3MDU3NjA4MDY3OTldLCBbMTU5NTA5MjUyNC4zMzMzMDIsIDQ4MDAsIDAuMDE1MjU2Njk3MzExOTk3NDE0XSwgWzE1OTUwOTI1MjYuMzM3MTIyLCA0ODAyLCAwLjAxNDA0NzMxNDQxMjg5MTg2NV0sIFsxNTk1MDkyNTI5LjExNTAzNCwgNDgwNSwgMC4wMTQyODMyNTAwODYwMDk1MDJdLCBbMTU5NTA5MjU2Mi43NzM3ODMsIDQ4NDAsIDAuMDE1ODE5NDAwNTQ4OTM0OTM3XSwgWzE1OTUwOTI1NzQuNDI2MDQ1LCA0ODUyLCAwLjAxMzk1MzY0MjkxOTY1OTYxNV0sIFsxNTk1MDkyNTkyLjczNTkzNiwgNDg3MSwgMC4wMTEyMjcyMDkxMjA5ODg4NDZdLCBbMTU5NTA5MjU5NS4wOTQ0MDUsIDQ4NzMsIDAuMDEyMTIwNzYwMDQ1OTQ1NjQ0XSwgWzE1OTUwOTI2MTAuMjYwNTA4LCA0ODg5LCAwLjAxMjExNzE5MDI4NjUxNzE0M10sIFsxNTk1MDkyNjEzLjE1NjE2NSwgNDg5MiwgMC4wMTM5NTUyNjQzNTIyNjIwMl0sIFsxNTk1MDkyNjE1LjE4MzM0LCA0ODk0LCAwLjAxMzUzNjAyMjA0NDcxODI2Nl0sIFsxNTk1MDkyNjE2LjE2MDYxNiwgNDg5NSwgMC4wMjEzOTI5NzMxMzk4ODIwODhdLCBbMTU5NTA5MjYzNC44NjY1MjYsIDQ5MTQsIDAuMDE2MzgyMDc5NTcxNDg1NTJdLCBbMTU5NTA5MjY1OC4xMDEyNDEsIDQ5MzgsIDAuMDE0MTU0ODQzOTg2MDM0MzkzXSwgWzE1OTUwOTI2NjAuOTk5NjY4LCA0OTQxLCAwLjAxMzMxMzUyODE1MDMyMDA1M10sIFsxNTk1MDkyNjczLjkxNTA2NiwgNDk1NCwgMC4wMTM0MTIyNzUzNTE1ODM5NThdLCBbMTU5NTA5MjY4MS40MjEzMzgsIDQ5NjIsIDAuMDE5MDk2Njk4NjExOTc0NzE2XSwgWzE1OTUwOTI2ODkuOTgwNzg3LCA0OTcxLCAwLjAxNjQzMzkzNzQ3NTA4NTI2XSwgWzE1OTUwOTI2OTIuOTE5MzA5LCA0OTc0LCAwLjAxNzEyNjM0NDE0NDM0NDMzXSwgWzE1OTUwOTI2OTQuODcxNjQ5LCA0OTc2LCAwLjAxNDMwOTE2Nzg2MTkzODQ3N10sIFsxNTk1MDkyNjk1Ljg1NjExMiwgNDk3NywgMC4wMTU0NjQ4NTI1NjQwMzY4NDZdLCBbMTU5NTA5MjcwOS4yMTY5NzQsIDQ5OTEsIDAuMDExMTM3ODcyOTM0MzQxNDNdLCBbMTU5NTA5MjcxNy4wMjIyMzYsIDQ5OTksIDAuMDE0MjYzMTQxOTAwMzAwOThdLCBbMTU5NTA5MjczOS4yNDI0MjQsIDUwMjEsIDAuMDEyODQxODYyNjI2MzczNzY4XSwgWzE1OTUwOTI3NDUuMTMzNDM5LCA1MDI3LCAwLjAxNDI4MjA0NDAyMzI3NTM3NV0sIFsxNTk1MDkyNzQ3Ljk1MDEzOSwgNTAzMCwgMC4wMTcxODQ2NTIzODgwOTU4NTZdLCBbMTU5NTA5Mjc1NC43MTA3NjksIDUwMzcsIDAuMDE2ODkzNTM5NTc3NzIyNTVdLCBbMTU5NTA5Mjc2Ny4yNzQ3NzcsIDUwNTAsIDAuMDEzMTc0NzE3MzE0NTQxMzRdLCBbMTU5NTA5Mjc2OS4xOTA5OTEsIDUwNTIsIDAuMDE0NDA2MTcyNTU4NjY1Mjc2XSwgWzE1OTUwOTI3NzAuMjc4MDY2LCA1MDUzLCAwLjAxNTYwMTE4NDIxOTEyMTkzM10sIFsxNTk1MDkyNzc2Ljk0MDg5OSwgNTA2MCwgMC4wMTg2MTY3OTkyNjUxNDYyNTVdLCBbMTU5NTA5Mjc5NC4yNDY3ODYsIDUwNzgsIDAuMDE1ODgzNDUxMzI3NjgxNTRdLCBbMTU5NTA5MjgwOS45ODcxOTYsIDUwOTQsIDAuMDE1ODY5NjY5NjE2MjIyMzhdLCBbMTU5NTA5MjgxNi44Mjk2NzMsIDUxMDEsIDAuMDI2MTM0OTczMzkxODkwNTI2XSwgWzE1OTUwOTI4MjEuNTc2MDMxLCA1MTA2LCAwLjAxMjgyNzg4NTMzNzE3MzkzOV0sIFsxNTk1MDkyODIyLjU0MjAwMSwgNTEwNywgMC4wMTI2ODU3MzEwNTMzNTIzNTZdLCBbMTU5NTA5MjgyOC4zODIwNTEsIDUxMTMsIDAuMDE4ODMyNjY4NjYyMDcxMjI4XSwgWzE1OTUwOTI4NDAuODcyMzY1LCA1MTI2LCAwLjAxNTM1NzI5MjI1NzI0OTM1NV0sIFsxNTk1MDkyODQyLjc5NzAyNCwgNTEyOCwgMC4wMjY3NjUwMjI0MjY4NDM2NDNdLCBbMTU5NTA5Mjg0OC43MjE1MjYsIDUxMzQsIDAuMDMxMTEzOTgwMzM3OTc3NDFdLCBbMTU5NTA5Mjg3NC4wNTQxMzEsIDUxNjAsIDAuMDE0MjI4ODU3MTIyMzYxNjZdLCBbMTU5NTA5Mjg3OC45ODA2NDgsIDUxNjUsIDAuMDExMzc1NTgyNzc2OTYzNzFdLCBbMTU5NTA5Mjg5MS44NTk5MTksIDUxNzgsIDAuMDE3NjE0ODAwNDgyOTg4MzU4XSwgWzE1OTUwOTI4OTUuNzM3NzgxLCA1MTgyLCAwLjAxNDcyMTMwMTM4NDI3MDE5MV0sIFsxNTk1MDkyOTEzLjAwNTA0MywgNTIwMCwgMC4wMjc4MjI0MDY5NjI1MTM5MjRdLCBbMTU5NTA5MjkyMC43MjA0MiwgNTIwOCwgMC4wMTk2ODYwNjAwMjYyODgwMzNdLCBbMTU5NTA5Mjk0My4wMzQxNzcsIDUyMzEsIDAuMDI3MjgzMjg0ODEzMTY1NjY1XSwgWzE1OTUwOTI5NDUuODIsIDUyMzQsIDAuMDE1MDYyMjE1NzM3OTk4NDg2XSwgWzE1OTUwOTI5NDYuNzU1MDA2LCA1MjM1LCAwLjAxOTYxNTg4MTE0NTAwMDQ1OF0sIFsxNTk1MDkyOTUwLjY5MjcyMSwgNTIzOSwgMC4wMjE5MDQyMzM4NDMwODgxNV0sIFsxNTk1MDkyOTUxLjY0MDgxMSwgNTI0MCwgMC4wMjY2ODM1NTIxOTA2NjE0M10sIFsxNTk1MDkyOTU1LjUwNTUwMywgNTI0NCwgMC4wMjc0MDU4ODQxMTY4ODgwNDZdLCBbMTU5NTA5Mjk3Ni45NTMxNDQsIDUyNjYsIDAuMDE0NzQ4NTQ0NDMyMjIyODQzXSwgWzE1OTUwOTI5OTkuNzEzNDU5LCA1Mjg5LCAwLjAxNjk2MTU3ODI3OTczMzY1OF0sIFsxNTk1MDkzMDEyLjQ3OTE0OSwgNTMwMiwgMC4wMjM3NDU3ODYzOTg2NDkyMTZdLCBbMTU5NTA5MzAyOC4xNTMwOTMsIDUzMTgsIDAuMDEyOTAyNTE5NjY1NjU4NDc0XSwgWzE1OTUwOTMwMzguNTcyODA3LCA1MzI5LCAwLjAzMDI0MjkzODU0ODMyNjQ5Ml0sIFsxNTk1MDkzMDU0LjQ5NzAzOCwgNTM0NSwgMC4wMjE0MjU3MjQwMjk1NDEwMTZdLCBbMTU5NTA5MzA1Ny4zMDcxMDQsIDUzNDgsIDAuMDIxNDAyMjc4OTE1MDQ3NjQ2XSwgWzE1OTUwOTMwNjguMDA3MzM3LCA1MzU5LCAwLjAxNDcxMTc1OTA1MzE3MDY4MV0sIFsxNTk1MDkzMDY5LjAwMjY0NiwgNTM2MCwgMC4wMTM2MDczMjc4MjYzMjExMjVdLCBbMTU5NTA5MzA3MS45MjU1ODMsIDUzNjMsIDAuMDE1NjIxODAzNzAwOTIzOTJdLCBbMTU5NTA5MzA4OC4xNjY2MjcsIDUzODAsIDAuMDEzMzI5ODMyODE0NjMzODQ2XSwgWzE1OTUwOTMwOTIuMTIzOTcyLCA1Mzg0LCAwLjAxNTQ1ODAyMTMxMjk1MjA0Ml0sIFsxNTk1MDkzMTExLjY2NzA0OCwgNTQwNCwgMC4wMTgwNTU1MTUzNjM4MTI0NDddLCBbMTU5NTA5MzExMy42MzM1NjIsIDU0MDYsIDAuMDI3ODQxNDM5NDcwNjQ4NzY2XSwgWzE1OTUwOTMxMjcuMzI1MzIxLCA1NDIwLCAwLjAxNDAzNzQ5MjY4NTAxOTk3XSwgWzE1OTUwOTMxMzIuMzE2OTI4LCA1NDI1LCAwLjAxNjE5ODg4MDk3MDQ3ODA1OF0sIFsxNTk1MDkzMTQ1LjkxMjg4NCwgNTQzOSwgMC4wMTM1NjE1NDIxNDU5MDc4NzldLCBbMTU5NTA5MzE0Ni43NDIyNjUsIDU0NDAsIDAuMDEzMDkwNzI0MTI1NTA0NDk0XSwgWzE1OTUwOTMxNDguNjkzMzQxLCA1NDQyLCAwLjAxMzIzNTEyMTAzNDA4NTc1XSwgWzE1OTUwOTMxNTMuNTI0NzM4LCA1NDQ3LCAwLjAxMTY5NjA0NjIxODI3NjAyNF0sIFsxNTk1MDkzMTgwLjYxMTcxOSwgNTQ3NSwgMC4wMTc5NjQ0OTM0ODMzMDQ5NzddLCBbMTU5NTA5MzE4OS4zNDcxODcsIDU0ODQsIDAuMDI2MzE0NjUzNDU2MjExMDldLCBbMTU5NTA5MzE5Ni4xNDMwMTEsIDU0OTEsIDAuMDEzNDU2OTc1MTA5ODc1MjAyXSwgWzE1OTUwOTMyMDAuMDMxOTk0LCA1NDk1LCAwLjAyNTQ4MTAyNjYxOTY3Mjc3NV0sIFsxNTk1MDkzMjA1LjgxMTQyNSwgNTUwMSwgMC4wMDc5MjcxMjQzODg1MTU5NV0sIFsxNTk1MDkzMjExLjU3NjE0OCwgNTUwNywgMC4wMTUxNzcwODEzMzkwNjEyNl0sIFsxNTk1MDkzMjE2LjU0NTUyNiwgNTUxMiwgMC4wMTQ0NDA2Njg3NDY4MjkwMzNdLCBbMTU5NTA5MzIxOS40MzU0NjgsIDU1MTUsIDAuMDEzNDI0NTc2MjYwMTQ5NDc5XSwgWzE1OTUwOTMyMjEuNDkzNTYsIDU1MTcsIDAuMDE2NTM5NDYxOTEwNzI0NjRdLCBbMTU5NTA5MzIzNS45ODU5ODIsIDU1MzIsIDAuMDExOTUzMjIwNzAyNzA3NzY3XSwgWzE1OTUwOTMyNDQuNjc4NTM5LCA1NTQxLCAwLjAxNDYyNzk1Mzk5MTI5MzkwN10sIFsxNTk1MDkzMjUyLjYzMTE1OSwgNTU0OSwgMC4wMDk0NDY5MDk2NTExNjAyNF0sIFsxNTk1MDkzMjY5LjI1NTMwMiwgNTU2NiwgMC4wMTI3NjQ3NDkxMTcxOTU2MDZdLCBbMTU5NTA5MzI3NC4yNzY0NTYsIDU1NzEsIDAuMDEzNjI3MjQ5NzQ3NTE0NzI1XSwgWzE1OTUwOTMyNzYuMjU0MDY0LCA1NTczLCAwLjAxMTkxNDMzNzk4NTIxNzU3MV0sIFsxNTk1MDkzMjg4LjM1MzY0MywgNTU4NSwgMC4wMDkyMzQxMDcwOTk0NzM0NzZdLCBbMTU5NTA5MzI5MC40MjMyNzgsIDU1ODcsIDAuMDEzNjE5Mzk0OTcyOTIwNDE4XSwgWzE1OTUwOTMyOTYuMjM2NTQ3LCA1NTkzLCAwLjAyMDg5OTI4NDYzMTAxMzg3XSwgWzE1OTUwOTMzMDguMDQzMDIzLCA1NjA1LCAwLjAxMTMzMjg3ODg0Mjk0OTg2N10sIFsxNTk1MDkzMzEyLjg3NDMxMywgNTYxMCwgMC4wMTI3NTI4NjM1Nzg0OTgzNjNdLCBbMTU5NTA5MzMyMi40MDg0NzUsIDU2MjAsIDAuMDEwNTg1MDE0NzA4MzQwMTY4XSwgWzE1OTUwOTMzMzIuMTcwMjIsIDU2MzAsIDAuMDEyNzM2NTMwOTc0NTA3MzMyXSwgWzE1OTUwOTMzNDguODIxOTE2LCA1NjQ3LCAwLjAxNTMxODc0ODU0MTE3NjMxOV0sIFsxNTk1MDkzMzU5Ljk4NzQ3LCA1NjU4LCAwLjAxNTA1NDI0ODI3MzM3MjY1XSwgWzE1OTUwOTMzNjEuOTE5NTQzLCA1NjYwLCAwLjAyMjQ0MjEzNDA5NzIxODUxM10sIFsxNTk1MDkzMzY1LjkwODI0MiwgNTY2NCwgMC4wMTM3ODQ4NzcwMjQ1OTA5NjldLCBbMTU5NTA5MzM3Ny42ODA5OTQsIDU2NzYsIDAuMDE5ODQ2MjMwNzQ1MzE1NTUyXSwgWzE1OTUwOTMzODAuNjAzNzEsIDU2NzksIDAuMDE0MDc3OTY2MTAxNDY3NjFdLCBbMTU5NTA5MzQyMS40MTI5MTQsIDU3MjAsIDAuMDExNjY4MzAyMTE4Nzc4MjI5XSwgWzE1OTUwOTM0MjQuMzQ2NDgzLCA1NzIzLCAwLjAxNDIxNjQ1OTM1NjI0ODM3OV0sIFsxNTk1MDkzNDI4LjQwMzY5MiwgNTcyNywgMC4wMjgyNDA5MzAyODkwMzAwNzVdLCBbMTU5NTA5MzQ0Mi41MDE2NDgsIDU3NDEsIDAuMDE3ODA5MjM4Mjg0ODI2MjhdLCBbMTU5NTA5MzQ1My42MDU0NTYsIDU3NTIsIDAuMDExNDg2ODg1MTM3ODU2MDA3XSwgWzE1OTUwOTM0NjAuNjc4NTAxLCA1NzU5LCAwLjAxNTIyNTM2MjAzMjY1MTkwMV0sIFsxNTk1MDkzNDY3LjU0NzIxNCwgNTc2NiwgMC4wMTQ4MzcyMzcwNzQ5NzExOTldLCBbMTU5NTA5MzQ3Ny42NzU2ODYsIDU3NzYsIDAuMDE4Nzc2MTMxNzkzODU2NjJdLCBbMTU5NTA5MzQ4MC42ODM5MTIsIDU3NzksIDAuMDExMzY2Nzg3MzY2NTY5MDQyXSwgWzE1OTUwOTM0ODUuNTgwMjk2LCA1Nzg0LCAwLjAxNjU5NTExNTg4NTEzODUxXSwgWzE1OTUwOTM0OTAuNTQ0NjE0LCA1Nzg5LCAwLjAxMjExNDMwNzg0MzE0ODcwOF0sIFsxNTk1MDkzNDk2LjU4NzQ4NywgNTc5NSwgMC4wMTY1NzAyNTUxNjAzMzE3MjZdLCBbMTU5NTA5MzUwOC4zNzQzMTIsIDU4MDcsIDAuMDExNDYxMDY5ODA3NDEwMjRdLCBbMTU5NTA5MzUwOS4zNTU2MywgNTgwOCwgMC4wMTk5Mjc5NzY2NTI5Nzk4NV0sIFsxNTk1MDkzNTI2LjAzODY3NSwgNTgyNSwgMC4wMTIyOTAxODkwNDI2ODc0MTZdLCBbMTU5NTA5MzUyOS4xMjc4MjgsIDU4MjgsIDAuMDA5NjM2NTIwNDA4MDkzOTNdLCBbMTU5NTA5MzUzNi4xMTE5NTksIDU4MzUsIDAuMDExOTc2MzUyODkyODE2MDY3XSwgWzE1OTUwOTM1NDcuNjc3MDY4LCA1ODQ3LCAwLjAxMDExNTE2NTI2MzQxNDM4M10sIFsxNTk1MDkzNTYyLjY3NTg4OCwgNTg2MiwgMC4wMTM2NTI0NDQ4MTcxMjU3OTddLCBbMTU5NTA5MzU2NC42NjIxMTIsIDU4NjQsIDAuMDEzNzA2MjkzODg4MzkwMDY0XSwgWzE1OTUwOTM1NzEuNjU5NzUzLCA1ODcxLCAwLjAxMjE4NzA2NzQxOTI5MDU0M10sIFsxNTk1MDkzNTgxLjgxNDk1OCwgNTg4MSwgMC4wMTUyNzg3OTEwNzc0MzUwMTddLCBbMTU5NTA5MzU5MC4xMDU1NDksIDU4ODksIDAuMDE0Mzk5NTI3NTcyMDk1Mzk0XSwgWzE1OTUwOTM1OTIuMTU5MjM1LCA1ODkxLCAwLjAxNDg4MDMzNTg4OTc1NjY4XSwgWzE1OTUwOTM1OTMuOTUxODksIDU4OTMsIDAuMDEzMjgxMDgxODAzMTQzMDI0XSwgWzE1OTUwOTM1OTguOTgwODI5LCA1ODk4LCAwLjAyNDU3MTY1NzE4MDc4NjEzM10sIFsxNTk1MDkzNjA4LjA4Mjk1MSwgNTkwNywgMC4wMTgxMTk0MDc4MTc3MjEzNjddLCBbMTU5NTA5MzYxOC4xNjUwNTUsIDU5MTcsIDAuMDExMTc0OTkyNjU4MTk3ODhdLCBbMTU5NTA5MzYxOS4xNjAwMTQsIDU5MTgsIDAuMDEwNzkyOTM5OTIzNzAzNjddLCBbMTU5NTA5MzYyOS4yMTAyMzgsIDU5MjgsIDAuMDE2NjgwMDc4NTgwOTc1NTMzXSwgWzE1OTUwOTM2MzMuMTU0ODYxLCA1OTMyLCAwLjAwOTE2ODA4Mjg0ODE5MTI2MV0sIFsxNTk1MDkzNjM0LjEyNTIyOSwgNTkzMywgMC4wMTI4NzY4NjkxNzkzMDg0MTRdLCBbMTU5NTA5MzY1My40ODQzMzUsIDU5NTIsIDAuMDEwNTA0MzM1MTY1MDIzODA0XSwgWzE1OTUwOTM2NTguNDI0NTM3LCA1OTU3LCAwLjAxNDEzNjQzMTczODczNDI0NV0sIFsxNTk1MDkzNjYwLjM3OTUwNCwgNTk1OSwgMC4wMTY3OTc0NjQzNDA5MjUyMTddLCBbMTU5NTA5MzY2NC4zMTQwMywgNTk2MywgMC4wMTU0ODAyMjc3Njg0MjExNzNdLCBbMTU5NTA5MzY3My4yMzI5ODUsIDU5NzIsIDAuMDE1NTM4MzQ2OTUzNjkwMDUyXSwgWzE1OTUwOTM2OTAuOTMzMDU3LCA1OTkwLCAwLjAxMTgwMDU4NjI0NTk1NDAzN10sIFsxNTk1MDkzNzEwLjYwOTM0OCwgNjAxMCwgMC4wMTk2NTk4NzQ5NjA3ODAxNDRdLCBbMTU5NTA5MzcxNS40MjkxMjcsIDYwMTUsIDAuMDE0MTg5NzU2NDc1Mzg5MDA0XSwgWzE1OTUwOTM3MjQuNDgwNDUsIDYwMjQsIDAuMDE0NzczODE3NzMyOTMwMTgzXSwgWzE1OTUwOTM3MzAuNTA4MTg2LCA2MDMwLCAwLjAwNzYxNTcxMjAwNTY0NTAzN10sIFsxNTk1MDkzNzMxLjQ5MDk4MywgNjAzMSwgMC4wMTA0ODk4MTAyNTgxNTAxXSwgWzE1OTUwOTM3MzIuNDcyMzAzLCA2MDMyLCAwLjAxMjY0MTUyNzY4OTk5MzM4Ml0sIFsxNTk1MDkzNzM1LjUyOTY2MywgNjAzNSwgMC4wMDc4NzU0Mzc4NDgyNjk5NF0sIFsxNTk1MDkzNzM4LjUwMTE1OSwgNjAzOCwgMC4wMTM0MDUyNTAzODU0MDM2MzNdLCBbMTU5NTA5Mzc2MC42Nzk2OTMsIDYwNjAsIDAuMDA5NjQ3NzY0MjY1NTM3MjYyXSwgWzE1OTUwOTM3NzcuMjQ4NTQyLCA2MDc3LCAwLjAxMzEyMDA5NTI0NTU0MDE0Ml0sIFsxNTk1MDkzNzc4LjE5NjAzNCwgNjA3OCwgMC4wMDc1NTAyMzcyMzQ2ODE4NDVdLCBbMTU5NTA5Mzc4Mi4zODE3OTIsIDYwODIsIDAuMDE5MzgxMjkyMTY0MzI1NzE0XSwgWzE1OTUwOTM3ODcuNDIyOTk5LCA2MDg3LCAwLjAxMTg4Njc1NTkzNTg0Nzc2XSwgWzE1OTUwOTM3OTQuNjEyNzc1LCA2MDk0LCAwLjAxMTEyNDc0Njg3Mzk3NDhdLCBbMTU5NTA5MzgwMy40Mzk3NTEsIDYxMDMsIDAuMDEwMzM4MTk2NTMwOTM4MTQ4XSwgWzE1OTUwOTM4MDUuNDI5MDg5LCA2MTA1LCAwLjAxMTEzMzM5Njk5ODA0NzgyOV0sIFsxNTk1MDkzODE1LjQ1ODExNCwgNjExNSwgMC4wMTE5NjA4Mzg5MjEzNjgxMjJdLCBbMTU5NTA5MzgyMS4yNzA0NTYsIDYxMjEsIDAuMDEwOTM4NTgzODczMjEyMzM3XSwgWzE1OTUwOTM4MjMuMjM2NDc1LCA2MTIzLCAwLjAxNDY2NTQyMjAyOTc5MzI2Ml0sIFsxNTk1MDkzODI5LjE5NDE5MiwgNjEyOSwgMC4wMTIxOTg2OTU5MTI5NTcxOTFdLCBbMTU5NTA5MzgzMS4yOTE3MjEsIDYxMzEsIDAuMDEyODE3MTAyNDg0NDA1MDRdLCBbMTU5NTA5MzgzMy4zMzUyOTcsIDYxMzMsIDAuMDExNDg4NDUxNjIyNDI2NTFdLCBbMTU5NTA5Mzg0NS4yNzE5NDYsIDYxNDUsIDAuMDEzNjY5NDYyODc0NTMxNzQ2XSwgWzE1OTUwOTM4NDcuMjU3NDM5LCA2MTQ3LCAwLjAwOTEyODY4MjMxNTM0OTU3OV0sIFsxNTk1MDkzODQ5LjIxOTQzMSwgNjE0OSwgMC4wMTA4ODI4Mzc2OTc4NjM1NzldLCBbMTU5NTA5Mzg3Mi4yMjAzNjcsIDYxNzIsIDAuMDA5NDQ3Mzk4NTk1NTExOTEzXSwgWzE1OTUwOTM4ODEuMzI4NiwgNjE4MSwgMC4wMTQ4MzE4NTU4OTMxMzUwN10sIFsxNTk1MDkzODg0LjM1MTU3NCwgNjE4NCwgMC4wMTI2ODQxNDMxNDgzNjI2MzddLCBbMTU5NTA5MzkwMC4zNDU2MTEsIDYyMDAsIDAuMDA3Njk0MTAwMDI5NzY2NTZdLCBbMTU5NTA5MzkxMC4zOTcyNDgsIDYyMTAsIDAuMDIzNjYxMDM3OTA3MDA0MzU2XSwgWzE1OTUwOTM5MTEuMzY0NDcxLCA2MjExLCAwLjAxNDg3MjU5Mjg3Mzg3MTMyNl0sIFsxNTk1MDkzOTEzLjI3ODU3OCwgNjIxMywgMC4wMTE3ODcyOTM0Nzg4NDY1NV0sIFsxNTk1MDkzOTE5LjU4NzMzLCA2MjE5LCAwLjAwODg4MzMyMzUyMDQyMTk4Ml0sIFsxNTk1MDkzOTI1LjIzODk0NCwgNjIyNSwgMC4wMDY2MjEwNjY0ODA4NzUwMTVdLCBbMTU5NTA5MzkzMi4yNzg3NDksIDYyMzIsIDAuMDE1ODk0OTA2NTk1MzQ5MzEyXSwgWzE1OTUwOTM5MzcuMzIxMTQsIDYyMzcsIDAuMDEyMTQzMDQzODAxMTg4NDY5XSwgWzE1OTUwOTM5NDQuNDY2MDM3LCA2MjQ0LCAwLjAzMjYwOTk5OTE3OTg0MDA5XSwgWzE1OTUwOTM5NTAuMjgzMjk4LCA2MjUwLCAwLjAxNjUzNjY4MDk4MTUxNjgzOF0sIFsxNTk1MDkzOTYyLjgzMTc5NywgNjI2MywgMC4wMTA2MjM3MzkxMDA5OTI2OF0sIFsxNTk1MDkzOTY5Ljg0NDUxMywgNjI3MCwgMC4wMDgwOTg3OTIyODQ3MjcwOTddLCBbMTU5NTA5Mzk4OS4wODIwOTgsIDYyODksIDAuMDI3MzgwOTY3NTEyNzI2Nzg0XSwgWzE1OTUwOTQwMDguOTAwMTI2LCA2MzA5LCAwLjAwNzI4NzEzMzAxOTQxNzUyNF0sIFsxNTk1MDk0MDEyLjA2MTI5MiwgNjMxMiwgMC4wMDc4NTk1MTAzNjk1OTg4NjZdLCBbMTU5NTA5NDAxNS44Njg2MzQsIDYzMTYsIDAuMDIyNjc0MjAxMDU2MzYxMl0sIFsxNTk1MDk0MDE2Ljg3NTU5OCwgNjMxNywgMC4wMTA4NDQ4MDQzNDY1NjE0MzJdLCBbMTU5NTA5NDAyMy45MTk0MDcsIDYzMjQsIDAuMDEyMjIzNjAzMjAzODkyNzA4XSwgWzE1OTUwOTQwNDAuNDk3OTMyLCA2MzQxLCAwLjAwODYyMDUxNzMyODM4MTUzOF0sIFsxNTk1MDk0MDUxLjUxOTMyOCwgNjM1MiwgMC4wMTA5NTA0NTczMDQ3MTYxMV0sIFsxNTk1MDk0MDYyLjcyODI3LCA2MzYzLCAwLjAxMjMyNjIzNDk1MTYxNTMzNF0sIFsxNTk1MDk0MDY5Ljc5MzMxMywgNjM3MCwgMC4wMTk3NjU3OTA1NTE5MDA4NjRdLCBbMTU5NTA5NDA3NS41MTgzMTMsIDYzNzYsIDAuMDEzNDc1MjIyNTEzMDc5NjQzXSwgWzE1OTUwOTQwOTkuNjQ3MTMsIDY0MDAsIDAuMDE1MjU3Mjk5ODc3NzAzMTldLCBbMTU5NTA5NDEyMi40NDYxMDUsIDY0MjMsIDAuMDA3NDQ3NzA2NTM1NDU4NTY1XSwgWzE1OTUwOTQxNDYuNTI4MTE1LCA2NDQ3LCAwLjAxMTA3ODYxMTk0NzU5NjA3M10sIFsxNTk1MDk0MTU0LjQyNzg3MSwgNjQ1NSwgMC4wMTg1MjM0NTA5NDA4NDczOTddLCBbMTU5NTA5NDE1OC41MTY2MTcsIDY0NTksIDAuMDEwNzE2MzI3NDY2MDcwNjUyXSwgWzE1OTUwOTQxNzEuNjYwNjA4LCA2NDcyLCAwLjAxMjk4MzA3NDQxMTc0OTg0XSwgWzE1OTUwOTQxODIuODYzNzUyLCA2NDgzLCAwLjAwNjQ0NzUwMjg3NzU2MzIzOF0sIFsxNTk1MDk0MTg2Ljg3MzkwMSwgNjQ4NywgMC4wMjIxNzUyNzQ3ODkzMzMzNDRdLCBbMTU5NTA5NDE5NC43Nzk4MjYsIDY0OTUsIDAuMDExMTQyODgyNTE4NDcwMjg3XSwgWzE1OTUwOTQxOTUuNzk4ODI5LCA2NDk2LCAwLjAxNDE3NzgyNjIzMzIwODE4XSwgWzE1OTUwOTQxOTkuODAwMTY1LCA2NTAwLCAwLjAxMjUzOTI2MzgxNDY4NzcyOV0sIFsxNTk1MDk0MjA4Ljc1NDczMywgNjUwOSwgMC4wMTMzOTE5NzkwMzg3MTUzNjNdLCBbMTU5NTA5NDIwOS42NDA5NzUsIDY1MTAsIDAuMDEwODgzODE3NDQ5MjEyMDc0XSwgWzE1OTUwOTQyMTkuOTY2NTg0LCA2NTIwLCAwLjAxMDIzNzI3Mzc2MDEzOTk0Ml0sIFsxNTk1MDk0MjIwLjk2MzI2NiwgNjUyMSwgMC4wMTAwOTY0NjMzNzQ3OTM1M10sIFsxNTk1MDk0MjIxLjk0MjMwNCwgNjUyMiwgMC4wMDg1MzA1MzQ4MDM4NjczNF0sIFsxNTk1MDk0MjI5Ljc5ODYzNSwgNjUzMCwgMC4wMDcwMzIzNTM0MzA5ODY0MDRdLCBbMTU5NTA5NDIzMy44OTU5NCwgNjUzNCwgMC4wMDkzMzU2MDU0Mjc2MjI3OTVdLCBbMTU5NTA5NDI1MC4xNDk2NjcsIDY1NTAsIDAuMDEyNjg3MjkyODgxMzA5OTg2XSwgWzE1OTUwOTQyNzQuMDU0MjM0LCA2NTc0LCAwLjAxMzgzNjcyMjgyMDk5NzIzOF0sIFsxNTk1MDk0Mjc4LjA4Mjg4LCA2NTc4LCAwLjAxNDM4MDc0MDAwMTc5NzY3Nl0sIFsxNTk1MDk0Mjc5Ljk3MjY3MiwgNjU4MCwgMC4wMTMyNjg5NzM2NzgzNTA0NDldLCBbMTU5NTA5NDI4MS4wMDU0NzksIDY1ODEsIDAuMDExMzI0NzgyODU1ODA4NzM1XSwgWzE1OTUwOTQyODQuMjE1Mzg5LCA2NTg0LCAwLjAxODY4NzU2MzAxNzAxMDY5XSwgWzE1OTUwOTQyOTMuMDg4MzI5LCA2NTkzLCAwLjAxMDAwNzMwMjI3Njc5MDE0Ml0sIFsxNTk1MDk0Mjk0LjA3Njk4MiwgNjU5NCwgMC4wMTAxMDIyMTYxNTQzMzY5M10sIFsxNTk1MDk0MzAyLjkwMzk1NywgNjYwMywgMC4wMTA2MjgzMjQwMDIwMjc1MTJdLCBbMTU5NTA5NDMwNS45NTE1NTUsIDY2MDYsIDAuMDE3NDEwNTc4MjA2MTgxNTI2XSwgWzE1OTUwOTQzMTUuOTI3NjQ0LCA2NjE2LCAwLjAxMDY0Mzk0NTA3NTU3MTUzN10sIFsxNTk1MDk0MzIxLjAyMTUwNiwgNjYyMSwgMC4wMDc0MjE5MDQ3MDkxOTAxM10sIFsxNTk1MDk0MzU3LjMxNTQwMywgNjY1NywgMC4wMTMzNDI2ODk3MjI3NzY0MTNdLCBbMTU5NTA5NDM2Ni4yMTY3MDgsIDY2NjYsIDAuMDE3MjA0NDAyMDE0NjEzMTVdLCBbMTU5NTA5NDM2OC4xNzI3NDIsIDY2NjgsIDAuMDE1MTQ5Mzc3Mjg2NDM0MTc0XSwgWzE1OTUwOTQzNzIuMjA4NTI1LCA2NjcyLCAwLjAxMjI0OTI1MzY5MDI0Mjc2N10sIFsxNTk1MDk0Mzc4LjI4MDMzNCwgNjY3OCwgMC4wMTE2MDEwMTEyNjg3OTQ1MzddLCBbMTU5NTA5NDM4MS4yNjcyMjQsIDY2ODEsIDAuMDA2NDUxNjY0MDI2ODI2NjJdLCBbMTU5NTA5NDM4OC40MDg1NDIsIDY2ODgsIDAuMDI0NjQ3MTA1NDg1MjAwODgyXSwgWzE1OTUwOTQzOTEuMzk3ODA2LCA2NjkxLCAwLjAxNjIzODc0OTAyNzI1MjE5N10sIFsxNTk1MDk0Mzk2LjMwMjI4NSwgNjY5NiwgMC4wMTMyNjgwNjY1NzAxNjI3NzNdLCBbMTU5NTA5NDM5OS4yOTUyMDksIDY2OTksIDAuMDA2NTM0NzEwMDYwODA1MDgyXSwgWzE1OTUwOTQ0MDcuNDcyNTE4LCA2NzA3LCAwLjAwNzIyNzEzNDg5MDg1NDM1OV0sIFsxNTk1MDk0NDExLjU5MTI3OCwgNjcxMSwgMC4wMDcwNDM0Mjk2NTAzNjYzMDZdLCBbMTU5NTA5NDQxNS43MzcwMTIsIDY3MTUsIDAuMDA2OTY1ODQwMjM1MzUyNTE2XSwgWzE1OTUwOTQ0MjUuNTYyMTQ3LCA2NzI1LCAwLjAwNzQyODkyMjIyNDc4OTg1OF0sIFsxNTk1MDk0NDI2LjUwMDQ3LCA2NzI2LCAwLjAwNjkwNDc4MDM5OTA1NDI4OV0sIFsxNTk1MDk0NDM4LjUwMjM1LCA2NzM4LCAwLjAxNTkyMzA0NTU3NTYxODc0NF0sIFsxNTk1MDk0NDQyLjQ0NzgyMywgNjc0MiwgMC4wMDgxMDc5OTI4MjA0NDE3MjNdLCBbMTU5NTA5NDQ0OS41MDE3MTMsIDY3NDksIDAuMDEzNjc0Nzk1NjI3NTkzOTk0XSwgWzE1OTUwOTQ0NTMuNTM0NjM1LCA2NzUzLCAwLjAwOTM3MDA4ODU3NzI3MDUwOF0sIFsxNTk1MDk0NDY1LjAwNDkzNCwgNjc2NCwgMC4wMjAxMjgzMTcxNzcyOTU2ODVdLCBbMTU5NTA5NDQ3Ni45ODQxMzQsIDY3NzYsIDAuMDA5MTA1NTk0ODI4NzI0ODYxXSwgWzE1OTUwOTQ0OTMuMjQ3NCwgNjc5MiwgMC4wMDc2NDgxODQ4OTU1MTU0NDJdLCBbMTU5NTA5NDUxOC43NDQwNywgNjgxNywgMC4wMTExMDczMDMyMDIxNTIyNTJdLCBbMTU5NTA5NDUzMy42NTIwMSwgNjgzMiwgMC4wMjE4Mzg4NjYxNzQyMjEwNF0sIFsxNTk1MDk0NTQxLjg3Njc2LCA2ODQwLCAwLjAxMDczMDYxOTU0MjMwMDcwMV0sIFsxNTk1MDk0NTQ3Ljk5OTc5LCA2ODQ2LCAwLjAxNjg4NjA0NDI5MzY0MjA0NF0sIFsxNTk1MDk0NTUyLjIwOTE4MSwgNjg1MCwgMC4wMTE2ODk0MjYzNzc0MTU2NTddLCBbMTU5NTA5NDU1Ni4xNjA0MTgsIDY4NTQsIDAuMDEyODY4ODcwOTgxMDM3NjE3XSwgWzE1OTUwOTQ1NjQuMjg4OTU0LCA2ODYyLCAwLjAwNjc0MDIxODAyODQyNjE3XSwgWzE1OTUwOTQ1NzAuMjAxMDkyLCA2ODY4LCAwLjAxMzI1ODc3NTY5NjE1ODQwOV0sIFsxNTk1MDk0NTcxLjE1Mzg5MywgNjg2OSwgMC4wMDc0MzYwMzQ3MzUyOTIxOTZdLCBbMTU5NTA5NDU4OC4zODgyNDQsIDY4ODYsIDAuMDA3NTk4MzY5ODQ3OTgzMTIyXSwgWzE1OTUwOTQ1OTcuMzI4ODM0LCA2ODk1LCAwLjAwODM1NzI1NDc4ODI3OTUzM10sIFsxNTk1MDk0NjAzLjU0Njg1MiwgNjkwMSwgMC4wMTMwNDAzOTI2NTk2MDQ1NV0sIFsxNTk1MDk0NjExLjYxODIxNSwgNjkwOSwgMC4wMDg0MTc1Mjk5ODUzMDg2NDddLCBbMTU5NTA5NDYxNC43MTIwNjYsIDY5MTIsIDAuMDExOTUyODY4NjYyNzc0NTYzXSwgWzE1OTUwOTQ2MTguNjkxOTU5LCA2OTE2LCAwLjAwODgxMDA4MzM4MTgzMTY0Nl0sIFsxNTk1MDk0NjI4LjU5Nzg2LCA2OTI2LCAwLjAwOTY1MjMzMDU0MDEyMDYwMl0sIFsxNTk1MDk0NjM2LjUxNzM3NiwgNjkzNCwgMC4wMDg2ODk2OTk2OTQ1MTQyNzVdLCBbMTU5NTA5NDYzOS41NjI4OTIsIDY5MzcsIDAuMDA1OTY1ODcxNzM2NDA3MjhdLCBbMTU5NTA5NDY1My41MDEzNjIsIDY5NTEsIDAuMDA5MzkyMTgwNDgwMDYyOTYyXSwgWzE1OTUwOTQ2NTcuNjA4NDI4LCA2OTU1LCAwLjAwNzQwMDMwNDA3OTA1NTc4Nl0sIFsxNTk1MDk0NjY1LjcyODk2OCwgNjk2MywgMC4wMDg1MjU2OTkzNzcwNTk5MzddLCBbMTU5NTA5NDY2OC43MDg4NTMsIDY5NjYsIDAuMDA2NTkxODQ1NzY5NDM1MTY3XSwgWzE1OTUwOTQ2NzQuODc2NzExLCA2OTcyLCAwLjAxMTU4MDE4MjIzOTQxMzI2MV0sIFsxNTk1MDk0NjkzLjM2MTc1MSwgNjk5MCwgMC4wMTEzMTkxNzI1Njg2MTkyNTFdLCBbMTU5NTA5NDY5NS4zOTkyMjMsIDY5OTIsIDAuMDEzNjUxMTYxNDU0NjE3OTc3XSwgWzE1OTUwOTQ3MTMuMzYwNDIzLCA3MDEwLCAwLjAxNjEzNDA0NDE1NTQ3ODQ3N10sIFsxNTk1MDk0NzE3LjQwMDM2LCA3MDE0LCAwLjAxNDY3NDIwMTYwNzcwNDE2M10sIFsxNTk1MDk0NzIwLjU3NTIyMywgNzAxNywgMC4wMTAwMjAxMDg4OTM1MTM2OF0sIFsxNTk1MDk0NzM1LjkwNDg0NCwgNzAzMiwgMC4wMDk5MTA5MzQ2MDQ3MDQzOF0sIFsxNTk1MDk0NzM4Ljk2NDYwNCwgNzAzNSwgMC4wMDc0MjM0MDY5MzI1MDI5ODVdLCBbMTU5NTA5NDc0Mi44NzQ4MDMsIDcwMzksIDAuMDA4MDEyODI5MzQ4NDQ0OTM5XSwgWzE1OTUwOTQ3NDkuOTE0ODA3LCA3MDQ2LCAwLjAxMDg4MTAyMDY4NzUyMDUwNF0sIFsxNTk1MDk0NzYyLjgyNTk2NSwgNzA1OSwgMC4wMTQ2NTUwMzMxMjY0NzM0MjddLCBbMTU5NTA5NDc2OC43MjQ4NzUsIDcwNjUsIDAuMDE4OTEwMTk1Njc4NDcyNTJdLCBbMTU5NTA5NDc4Mi44ODIzLCA3MDc5LCAwLjAxMDMwNjkwNTk1NTA3NjIxOF0sIFsxNTk1MDk0Nzk0Ljg5NDEyOCwgNzA5MSwgMC4wMDcyMTc4MTI4MTc1NDM3NDVdLCBbMTU5NTA5NDgwMS44OTk4NywgNzA5OCwgMC4wMTA3NjEwNTk4MjA2NTIwMDhdLCBbMTU5NTA5NDgwOS45MTY0NTksIDcxMDYsIDAuMDE0Mjk4NTIwMDUwOTQyODk4XSwgWzE1OTUwOTQ4MTguMDMxODU4LCA3MTE0LCAwLjAxMzU5MDExNzkxNjQ2NDgwNl0sIFsxNTk1MDk0ODE5LjA4Mzg1MiwgNzExNSwgMC4wMTAyOTU2NjMwMjg5NTU0Nl0sIFsxNTk1MDk0ODI0LjEwMDQ0OSwgNzEyMCwgMC4wMDg3ODgwOTIwNjE4NzcyNV0sIFsxNTk1MDk0ODI4LjE2MjAwNywgNzEyNCwgMC4wMDY4NjA4MDk0MDA2Nzc2ODFdLCBbMTU5NTA5NDg0MS40MDA0NjgsIDcxMzcsIDAuMDA5NTY3MDYxNDM5MTU2NTMyXSwgWzE1OTUwOTQ4NDUuNDU3MDM1LCA3MTQxLCAwLjAxNjI0MjgwMjE0MzA5NjkyNF0sIFsxNTk1MDk0ODU5LjU2MjIzMSwgNzE1NSwgMC4wMTE0MjgyMDE1NzExMDY5MV0sIFsxNTk1MDk0ODcxLjQzOTM1NCwgNzE2NywgMC4wMjM5MTg5NDE2MTcwMTIwMjRdLCBbMTU5NTA5NDg3Mi40OTU2OTQsIDcxNjgsIDAuMDE2OTU5MjgzNTAwOTA5ODA1XSwgWzE1OTUwOTQ4NzkuNjAzMjA4LCA3MTc1LCAwLjAxMDU5NjAzNTA0ODM2NTU5M10sIFsxNTk1MDk0ODg3Ljc2MjYwMiwgNzE4MywgMC4wMTA3NzA5NTYwNTQzMjk4NzJdLCBbMTU5NTA5NDg5My44MDE4NjMsIDcxODksIDAuMDA2Mjg5NzMxNzExMTQ5MjE2XSwgWzE1OTUwOTQ4OTkuNzQyMzE2LCA3MTk1LCAwLjAwODc0OTcwNTczOTMxOTMyNF0sIFsxNTk1MDk0OTA2Ljg1OTk5MiwgNzIwMiwgMC4wMDgwMTI3MzUyODQ4NjQ5MDJdLCBbMTU5NTA5NDkwOC44MjAyNzksIDcyMDQsIDAuMDA5MDgwNTM3NTk0ODU0ODMyXSwgWzE1OTUwOTQ5MTcuOTM5NDU5LCA3MjEzLCAwLjAwODcwMTAyMjcxNDM3NjQ1XSwgWzE1OTUwOTQ5MTkuOTk4OTkxLCA3MjE1LCAwLjAxMTEwMTU5ODg1MTM4MjczMl0sIFsxNTk1MDk0OTIxLjAyMzE4MywgNzIxNiwgMC4wMTE5ODg0ODE1MDY3MDUyODRdLCBbMTU5NTA5NDk0MC4yNzAzMjQsIDcyMzUsIDAuMDA4ODIyNDE5NjgwNjU1MDAzXSwgWzE1OTUwOTQ5NDMuMTgwNzE5LCA3MjM4LCAwLjAxNTU2MTQ0ODQxMDE1MzM4OV0sIFsxNTk1MDk0OTUyLjQyMTc5MywgNzI0NywgMC4wMDgxNzM1OTMzMTk5NTI0ODhdLCBbMTU5NTA5NDk2NS41NjIyNTEsIDcyNjAsIDAuMDA1NTAwNjUwNDk5MDE2MDQ2NV0sIFsxNTk1MDk0OTc2LjkzNTM2MSwgNzI3MSwgMC4wMDc0MzYwMzc1MjkyNTk5Ml0sIFsxNTk1MDk0OTgwLjAxMTMwNiwgNzI3NCwgMC4wMTI4ODIwODA4NjA0MzU5NjNdLCBbMTU5NTA5NDk5MC4xMzc4NDksIDcyODQsIDAuMDA5Mjk1ODIwMjU4NTU3Nzk2XSwgWzE1OTUwOTUwMDYuNDM0ODU3LCA3MzAwLCAwLjAxMjg2NDI3Mzk3MjgwOTMxNV0sIFsxNTk1MDk1MDE3LjU3OTQ3NiwgNzMxMSwgMC4wMTc4NzcxNjUyMjgxMjg0MzNdLCBbMTU5NTA5NTAyMC41OTg3MzksIDczMTQsIDAuMDExOTQ4MjU0ODkwNzM5OTE4XSwgWzE1OTUwOTUwMzUuMzgxNDU0LCA3MzI5LCAwLjAxMjk3Nzg2NjQ1NTkxMjU5XSwgWzE1OTUwOTUwNDUuNTkzNDM5LCA3MzM5LCAwLjAwNjUwNTk2NTI1NTIwMDg2M10sIFsxNTk1MDk1MDQ2LjY0MTMyMSwgNzM0MCwgMC4wMDk4MDA2NzA2Njg0ODI3OF0sIFsxNTk1MDk1MDUxLjc1OTYxOCwgNzM0NSwgMC4wMDk5OTgxODA5MDM0OTQzNThdLCBbMTU5NTA5NTA1Mi44MDUwNTYsIDczNDYsIDAuMDA4ODUyMzUwNTI1NTU3OTk1XSwgWzE1OTUwOTUwNTguMDMyNTY5LCA3MzUxLCAwLjAwOTkxNjM2Nzk0MDYwNDY4N10sIFsxNTk1MDk1MDYwLjA0OTIwNiwgNzM1MywgMC4wMTY3NTE0NDAyNDE5MzI4N10sIFsxNTk1MDk1MDY0LjExMzIzLCA3MzU3LCAwLjAwOTQ3OTE5MzAxNjg4NjcxMV0sIFsxNTk1MDk1MDY1LjE3OTk5LCA3MzU4LCAwLjAyMTMyOTg4MzQ4NjAzMjQ4Nl0sIFsxNTk1MDk1MDY2LjI2NTY3OCwgNzM1OSwgMC4wMDY2MjcyNDYyNzE4MTg4NzZdLCBbMTU5NTA5NTA4MS4zNzg0MywgNzM3NCwgMC4wMTA0NTgxNjIwNTQ0MTk1MThdLCBbMTU5NTA5NTA4OC41ODc1MzMsIDczODEsIDAuMDA1MTUyMTk5NDE3MzUyNjc2XSwgWzE1OTUwOTUwODkuNjMzNDY2LCA3MzgyLCAwLjAwNTk2ODIxNzczNzk3MjczNl0sIFsxNTk1MDk1MDkzLjU4OTExMywgNzM4NiwgMC4wMTI3OTczNzk4NjYyNDI0MDldLCBbMTU5NTA5NTA5NS42MjE0NzYsIDczODgsIDAuMDA1NjYxMDgxOTg4MzY0NDU4XSwgWzE1OTUwOTUxMDQuOTA0MTY1LCA3Mzk3LCAwLjAzMjE3NjYwMjYzMTgwNzMzXSwgWzE1OTUwOTUxMDguOTk3NjM4LCA3NDAxLCAwLjAxMjc5NjcxMzk3MDYwMTU1OV0sIFsxNTk1MDk1MTExLjkwNzYwOCwgNzQwNCwgMC4wMjIxNjM1ODg1NTM2NjcwN10sIFsxNTk1MDk1MTM4LjYyMDQ1OCwgNzQzMCwgMC4wMTc3ODY1Njk4OTMzNjAxMzhdLCBbMTU5NTA5NTEzOS42NjkxOTIsIDc0MzEsIDAuMDA5OTUzMjYxMzUzMDc1NTA0XSwgWzE1OTUwOTUxNDguNzM1ODEsIDc0NDAsIDAuMDA3NTY2ODU4MDgzMDA5NzJdLCBbMTU5NTA5NTE1MS44NDY3MjIsIDc0NDMsIDAuMDE3ODcwMjE5NDI0MzY2OTVdLCBbMTU5NTA5NTE1NS44OTQ3NTcsIDc0NDcsIDAuMDA5MjIwMTUwMjk5MzcwMjg5XSwgWzE1OTUwOTUxNTguOTgwODUyLCA3NDUwLCAwLjAwNzUwNzQ3MzIzMDM2MTkzODVdLCBbMTU5NTA5NTE2OC44OTY2NDIsIDc0NjAsIDAuMDEyODkwNjA4OTgxMjUxNzE3XSwgWzE1OTUwOTUxNjkuOTc5OTE5LCA3NDYxLCAwLjAxNzAzNTIyNTQwNjI4OTFdLCBbMTU5NTA5NTE3MC43ODM2MjUsIDc0NjIsIDAuMDA5ODI1NzEyMDY5ODY5MDQxXSwgWzE1OTUwOTUxNzEuOTkxNDgzLCA3NDYzLCAwLjAwNzQ5NjE5Njc3NjYyODQ5NF0sIFsxNTk1MDk1MTc2Ljg3MzgyMywgNzQ2OCwgMC4wMDY2MDk4OTc1OTQ4OTg5MzldLCBbMTU5NTA5NTE4Mi45NjM3MTMsIDc0NzQsIDAuMDEyOTcyOTA0MzY5MjM1MDM5XSwgWzE1OTUwOTUxODYuOTYxOTM3LCA3NDc4LCAwLjAxMTgyMzUwOTgxOTgwNTYyMl0sIFsxNTk1MDk1MTg4LjkyMjI4MSwgNzQ4MCwgMC4wMjk3MzY1NDEyMTE2MDUwNzJdLCBbMTU5NTA5NTIwNS4xNTI5MzIsIDc0OTYsIDAuMDA3MDg2MDY1MTMyMTcwOTE2XSwgWzE1OTUwOTUyMTEuMzUwOTE3LCA3NTAyLCAwLjAwODM3Mzc0MTk5MTgxNzk1MV0sIFsxNTk1MDk1MjEyLjQ0ODMwOSwgNzUwMywgMC4wMDgwNzExMDY4NTg1NTE1MDJdLCBbMTU5NTA5NTIyMC42Mzk4NCwgNzUxMSwgMC4wMjA0MzQyODI3MjAwODg5Nl0sIFsxNTk1MDk1MjI2LjUxMzUxNywgNzUxNywgMC4wMTA0MDM3NDMwMTM3Mzk1ODZdLCBbMTU5NTA5NTIzMS42MzYwNDQsIDc1MjIsIDAuMDA5NDQ2ODM0MjE0MDMxNjk2XSwgWzE1OTUwOTUyMzkuNjYzOTMzLCA3NTMwLCAwLjAwODMzNTk4MjQ0OTM1Mjc0MV0sIFsxNTk1MDk1MjQ2LjgzMjUwNSwgNzUzNywgMC4wMDc4MTI2NjAxODc0ODI4MzRdLCBbMTU5NTA5NTI1Ni44MDYzMjMsIDc1NDcsIDAuMDExMzQ2NDQ2MzUwMjE2ODY2XSwgWzE1OTUwOTUyNzUuMDc2OTExLCA3NTY1LCAwLjAxNTc4NzY3MjI1MTQ2MjkzNl0sIFsxNTk1MDk1MjgzLjIwMTg1NywgNzU3MywgMC4wMDc0Njg3NzkxMDU2OTMxMDJdLCBbMTU5NTA5NTMwNi43MjkyNjEsIDc1OTYsIDAuMDA4NDcwMDcxNDc5Njc4MTU0XSwgWzE1OTUwOTUzMTMuNzE4NTUsIDc2MDMsIDAuMDA4MzE0NTY5NDgwNzE3MTgyXSwgWzE1OTUwOTUzMTkuODY5MzQsIDc2MDksIDAuMDEwMTcxMTMxMjMwODkwNzUxXSwgWzE1OTUwOTUzMjIuOTk1ODY1LCA3NjEyLCAwLjAwOTU0MTM4ODYwMTA2NDY4Ml0sIFsxNTk1MDk1MzU0LjU5MzAwOSwgNzY0MywgMC4wMTE1OTgyMzg3MjE0ODk5MDZdLCBbMTU5NTA5NTM1NS41NTA5NDksIDc2NDQsIDAuMDExNDMyNzY3ODQ1NjkwMjVdLCBbMTU5NTA5NTM3MS42MzgyMDEsIDc2NjAsIDAuMDA5NzQ1NDcwMjQ4MTYyNzQ2XSwgWzE1OTUwOTUzNzIuNjMxNzU0LCA3NjYxLCAwLjAxMjc0NTAwMzIxNTk2ODYwOV0sIFsxNTk1MDk1MzgyLjcxNjkzMywgNzY3MSwgMC4wMDY2NTYwMTM0MjkxNjQ4ODY1XSwgWzE1OTUwOTUzODUuNjQ0NzIyLCA3Njc0LCAwLjAwOTc0MzAxMzQxOTIxMDkxXSwgWzE1OTUwOTUzODcuNjQxMjMyLCA3Njc2LCAwLjAxMDI4Mjk1ODg1NzcxNTEzXSwgWzE1OTUwOTUzOTguNjQ5MDY5LCA3Njg3LCAwLjAxMzc1OTAzMzc1NDQ2Nzk2NF0sIFsxNTk1MDk1NDA0Ljc1MzA1LCA3NjkzLCAwLjAwODY4NTI4NzA4ODE1NTc0Nl0sIFsxNTk1MDk1NDA3LjgzNDU5NiwgNzY5NiwgMC4wMDc2MzYyNDI1NDYxNDExNDhdLCBbMTU5NTA5NTQxMS44ODgyNzksIDc3MDAsIDAuMDA4Njg3NDk1MjUzOTgwMTZdLCBbMTU5NTA5NTQyNy45OTUzOCwgNzcxNiwgMC4wMTE4MDU3MzY0NTk3OTE2Nl0sIFsxNTk1MDk1NDMwLjAwMzM0LCA3NzE4LCAwLjAwNzk1NjY5NDgxMTU4MjU2NV0sIFsxNTk1MDk1NDMwLjg5OTExNSwgNzcxOSwgMC4wMDczNzkzMDc4NzcyNzIzNjc1XSwgWzE1OTUwOTU0MzQuOTk3NDUzLCA3NzIzLCAwLjAxMDIyOTQxNzEyMjkwMDQ4Nl0sIFsxNTk1MDk1NDM3Ljk5OTk4MSwgNzcyNiwgMC4wMTMzNTk1NzI3Mzg0MDkwNDJdLCBbMTU5NTA5NTQ0MC4wMDY5OTUsIDc3MjgsIDAuMDA3ODM4MzkzNTYxNTQyMDM0XSwgWzE1OTUwOTU0NDMuMDQ4NzQ2LCA3NzMxLCAwLjAxNDgyMDYzNDM4NzQzMzUyOV0sIFsxNTk1MDk1NDU0LjIzNDM2NywgNzc0MiwgMC4wMjExMTc4MDQ1NzE5ODYyXSwgWzE1OTUwOTU0NTguMjcxMDE0LCA3NzQ2LCAwLjAwODMyODM4NDcxOTc4OTAyOF0sIFsxNTk1MDk1NDY5LjQ2ODM0NiwgNzc1NywgMC4wMTIwMTU0NTgxOTY0MDE1OTZdLCBbMTU5NTA5NTQ3Mi4yMTc5NzMsIDc3NjAsIDAuMDExMjI1NTMwODc3NzA5Mzg5XSwgWzE1OTUwOTU0OTIuNzMxMjc4LCA3NzgwLCAwLjAwODE2MTU3NDYwMjEyNzA3NV0sIFsxNTk1MDk1NTAwLjkzMDA0NiwgNzc4OCwgMC4wMTYyMDQzMDY4NTU3OTc3NjhdLCBbMTU5NTA5NTUxMS4xMjMyMzEsIDc3OTgsIDAuMDE0MzE4MjAxNjkwOTEyMjQ3XSwgWzE1OTUwOTU1MTIuMTEwOTg0LCA3Nzk5LCAwLjAxMDU1ODc1MzI3NDM4MTE2XSwgWzE1OTUwOTU1MjMuMzc1MTEzLCA3ODEwLCAwLjAwNTU1NTMxODY2ODQ4NDY4OF0sIFsxNTk1MDk1NTQ2Ljk0MDA4MiwgNzgzMywgMC4wMTQyNjQ3NjMzMzI5MDMzODVdLCBbMTU5NTA5NTU1MS45ODYwMzMsIDc4MzgsIDAuMDE0MTE0NDY1NTY0NDg5MzY1XSwgWzE1OTUwOTU1NjguNjYyNTI0LCA3ODU1LCAwLjAxMjUyNjQ2OTMwNTE1NzY2MV0sIFsxNTk1MDk1NTg2LjA0MTg2MywgNzg3MiwgMC4wMTE0NTk1Nzk2OTEyOTA4NTVdLCBbMTU5NTA5NTU5MS45NTY1MTEsIDc4NzgsIDAuMDA2NTMzOTE5MzY3OTM5MjM0XSwgWzE1OTUwOTU1OTQuMDE3MTYyLCA3ODgwLCAwLjAwODUzNTU5ODQwNDcwNTUyNF0sIFsxNTk1MDk1NjEzLjYwMzcxNSwgNzg5OSwgMC4wMDg2NjA0ODEzMTEzODA4NjNdLCBbMTU5NTA5NTYxNC42NzYwODYsIDc5MDAsIDAuMDExMTY4NzQ0NDE1MDQ0Nzg1XSwgWzE1OTUwOTU2MTguNjU2MjkxLCA3OTA0LCAwLjAwOTcxOTU1MDYwOTU4ODYyM10sIFsxNTk1MDk1NjIyLjU0NzQxMSwgNzkwOCwgMC4wMTI2MDYxMjUzMjQ5NjQ1MjNdLCBbMTU5NTA5NTY0MC43MTAxMDgsIDc5MjYsIDAuMDA3NjA4MTA0OTYyODU1NTc3NV0sIFsxNTk1MDk1NjQ2Ljk1NjAzNSwgNzkzMiwgMC4wMTUwMDc1ODQzNTU3NzE1NDJdLCBbMTU5NTA5NTY0OC4wMDA3OTQsIDc5MzMsIDAuMDEwNDYwNzU4NTgxNzU3NTQ1XSwgWzE1OTUwOTU2OTAuMzU1NTk5LCA3OTc1LCAwLjAxMDYzMTMyMDk5ODA3MjYyNF0sIFsxNTk1MDk1Njk4LjE5NDIxOSwgNzk4MywgMC4wMDcxMTUwMDMxODcyMDkzNjhdLCBbMTU5NTA5NTcwNi4yODI3NzYsIDc5OTEsIDAuMDEwMDgwMTU0OTg1MTg5NDM4XSwgWzE1OTUwOTU3MDcuMjg5NTgzLCA3OTkyLCAwLjAwNzQzNDQ3MDExMzM2Njg0Ml0sIFsxNTk1MDk1NzE0LjI0NDA3NiwgNzk5OSwgMC4wMTE3NDIyMDQ0Mjc3MTkxMTZdXQ==", "ok": true, "headers": [ [ "content-type", "application/json" ] ], "status": 200, "status_text": "" }, "https://localhost:6006/data/plugin/scalars/scalars?tag=Loss%2Fnormalized_total_loss&run=.": { "data": "W1sxNTk1MDg3ODM4LjU5MDAyOCwgNSwgMS44OTI1Mzk5NzgwMjczNDM4XSwgWzE1OTUwODc4NTEuNDY2NTIyLCAxOCwgMS45MDA2MTc3MTg2OTY1OTQyXSwgWzE1OTUwODc4NTcuNDQ3NDM2LCAyNCwgMS45MTQ1NDQ3MDE1NzYyMzNdLCBbMTU5NTA4Nzg3My40MDc2MzIsIDQwLCAxLjg5Mjk1NTg5OTIzODU4NjRdLCBbMTU5NTA4Nzg3NS40ODE1ODMsIDQyLCAxLjkwMTcyNjM2NTA4OTQxNjVdLCBbMTU5NTA4Nzg3OC41MDM3NTgsIDQ1LCAxLjg2NDkyMzAwMDMzNTY5MzRdLCBbMTU5NTA4Nzg4Ni41MDIwOTQsIDUzLCAxLjg1NTczOTcxMjcxNTE0OV0sIFsxNTk1MDg3ODg5LjQzNTA3MiwgNTYsIDEuODYxMTQ5MzExMDY1NjczOF0sIFsxNTk1MDg3OTA0LjU1Nzk4NiwgNzEsIDEuODIwODMyNDkwOTIxMDIwNV0sIFsxNTk1MDg3OTA3LjUwNDUzLCA3NCwgMS44MDczNzg4ODgxMzAxODhdLCBbMTU5NTA4NzkyNy42NzM1MTgsIDk0LCAxLjczNDYzNzAyMjAxODQzMjZdLCBbMTU5NTA4NzkzNS42MDA5NjksIDEwMiwgMS41MjMyOTIxODM4NzYwMzc2XSwgWzE1OTUwODc5MzkuNTYzNDUzLCAxMDYsIDEuNDIzMzg2NDU0NTgyMjE0NF0sIFsxNTk1MDg3OTU5LjQxMzc5LCAxMjYsIDEuMTc3OTI4NDQ3NzIzMzg4N10sIFsxNTk1MDg3OTcyLjA5NDA1NSwgMTM5LCAxLjI5NDI3MTU4ODMyNTUwMDVdLCBbMTU5NTA4Nzk4Ny43NDM5NjksIDE1NSwgMC45Nzc2OTAyNzk0ODM3OTUyXSwgWzE1OTUwODc5OTAuNzAwNzc5LCAxNTgsIDAuODg0MDQ1NjAwODkxMTEzM10sIFsxNTk1MDg3OTk5LjU4OTkzMSwgMTY3LCAwLjgwNDM4MDQxNjg3MDExNzJdLCBbMTU5NTA4ODAxMC4zNzQ5MTEsIDE3OCwgMC43MjcwMzY3NzQxNTg0Nzc4XSwgWzE1OTUwODgwMTUuMjgwOTY0LCAxODMsIDAuODY2NDM2Nzc5NDk5MDU0XSwgWzE1OTUwODgwMTcuNzUwNDA5LCAxODUsIDAuOTcyNzMzNTU3MjI0MjczN10sIFsxNTk1MDg4MDE4LjMxODM0OSwgMTg2LCAwLjg1NTY2MzM1OTE2NTE5MTddLCBbMTU5NTA4ODAyMi4xNzkyMjIsIDE5MCwgMC44NjcyMzQxMTA4MzIyMTQ0XSwgWzE1OTUwODgwMzguODUxMzUyLCAyMDcsIDAuODMwOTEzMDA3MjU5MzY4OV0sIFsxNTk1MDg4MDYwLjc4NzY2MywgMjI5LCAwLjgwNjM3NjkzNDA1MTUxMzddLCBbMTU5NTA4ODA2NS43ODU1NTUsIDIzNCwgMC43MzI4MjYyMzI5MTAxNTYyXSwgWzE1OTUwODgwODAuNjUyMTE0LCAyNDksIDAuNjYyMDE4MDYwNjg0MjA0MV0sIFsxNTk1MDg4MDg2LjUyMjUxLCAyNTUsIDAuNjYwODM5Nzk2MDY2Mjg0Ml0sIFsxNTk1MDg4MDkxLjUyMjM0NiwgMjYwLCAwLjY0MzA3MDIyMDk0NzI2NTZdLCBbMTU5NTA4ODA5OC4zNjA4MywgMjY3LCAwLjYxNjEzMTYwMzcxNzgwNF0sIFsxNTk1MDg4MTAyLjIxNzc0NSwgMjcxLCAwLjY3MjkxNTYzNzQ5MzEzMzVdLCBbMTU5NTA4ODEwNC4xNjkzNiwgMjczLCAwLjY1MzI1MDc1Mzg3OTU0NzFdLCBbMTU5NTA4ODEyMi44NjE3MDYsIDI5MiwgMC41ODMzNjMyMzQ5OTY3OTU3XSwgWzE1OTUwODgxMzguNTk3MDIzLCAzMDgsIDAuNTMyMjU0OTM0MzEwOTEzMV0sIFsxNTk1MDg4MTQwLjU0MjUxMiwgMzEwLCAwLjYzNTg5MjUxMDQxNDEyMzVdLCBbMTU5NTA4ODE0OC4zNTA0OTcsIDMxOCwgMC41MjgxNzQ2OTgzNTI4MTM3XSwgWzE1OTUwODgxNjAuMDc0NDQ0LCAzMzAsIDAuNTEzNDQzMjMxNTgyNjQxNl0sIFsxNTk1MDg4MTY4Ljc4OTYyOCwgMzM5LCAwLjY0MjQ1NTEwMTAxMzE4MzZdLCBbMTU5NTA4ODE3Ni41NjA3MywgMzQ3LCAwLjUwMTg3NDQ0Njg2ODg5NjVdLCBbMTU5NTA4ODE5Mi4wNjMwMDcsIDM2MywgMC40ODk5NTIxMTcyMDQ2NjYxNF0sIFsxNTk1MDg4MTk1LjkxMDYwOCwgMzY3LCAwLjQ1MTMwMTU0NDkwNDcwODg2XSwgWzE1OTUwODgyNDkuMjgzNDEzLCA0MjEsIDAuMzU1OTU5ODkyMjcyOTQ5Ml0sIFsxNTk1MDg4MjUwLjI5NzcwOCwgNDIyLCAwLjM3NDQyNDAxMDUxNTIxM10sIFsxNTk1MDg4MjY3LjE0MjQ1OCwgNDM5LCAwLjQzODQyMzc1Mjc4NDcyOV0sIFsxNTk1MDg4MjcwLjAzNjM3OCwgNDQyLCAwLjM4NjIxMDIzMjk3MzA5ODc1XSwgWzE1OTUwODgyNzMuMDg5NDY5LCA0NDUsIDAuMzc4NTczNzQ1NDg5MTIwNV0sIFsxNTk1MDg4Mjg3Ljg2Mjc3LCA0NjAsIDAuMzcyMjM5MjYxODY1NjE1ODRdLCBbMTU5NTA4ODI5MC44NzYxODksIDQ2MywgMC4zMDk2OTE0NTg5NDA1MDZdLCBbMTU5NTA4ODI5MS45MDk0NDgsIDQ2NCwgMC4zODcxNTYwMDk2NzQwNzIyN10sIFsxNTk1MDg4MzAxLjc1ODM3NiwgNDc0LCAwLjQwNzU5ODUyNTI4NTcyMDhdLCBbMTU5NTA4ODMxOC40NjQ4MjcsIDQ5MSwgMC4zODYyMTY5OTgxMDAyODA3Nl0sIFsxNTk1MDg4MzIwLjQ5MDQwNywgNDkzLCAwLjQxNzY0MTIyMjQ3Njk1OTIzXSwgWzE1OTUwODgzNDEuMjM1MDY2LCA1MTQsIDAuMzcwNjU5OTE3NTkzMDAyM10sIFsxNTk1MDg4MzQ0LjIwMTQ4NywgNTE3LCAwLjMzNzM1MDU0NzMxMzY5MDJdLCBbMTU5NTA4ODM1Ny45NjM3MTMsIDUzMSwgMC4zNjk2NDk1Mjk0NTcwOTIzXSwgWzE1OTUwODgzNjIuOTg4NTUxLCA1MzYsIDAuNDM2NzUzMDk0MTk2MzE5Nl0sIFsxNTk1MDg4Mzg5LjY3NDE5NCwgNTYzLCAwLjM1NDYxMTgxNDAyMjA2NDJdLCBbMTU5NTA4ODM5OS43OTU1MjUsIDU3MywgMC4zOTg3ODgzMDMxMzY4MjU1Nl0sIFsxNTk1MDg4NDA1LjMwMjM2NCwgNTc5LCAwLjM0NDA0Njg2MDkzMzMwMzgzXSwgWzE1OTUwODg0MDcuMjQzODE0LCA1ODEsIDAuMzAyNTc3MTA4MTQ0NzYwMTNdLCBbMTU5NTA4ODQxMi4xOTg1MzQsIDU4NiwgMC4zMjU4MzQxODQ4ODUwMjVdLCBbMTU5NTA4ODQxMy4xNzgyNywgNTg3LCAwLjMwMTU1MjIwNjI3Nzg0NzNdLCBbMTU5NTA4ODQyNy44MDYyLCA2MDIsIDAuMzU1NTc2Njk0MDExNjg4MjNdLCBbMTU5NTA4ODQ0NS41NTkzODksIDYyMCwgMC4yOTQ3Mjk3Mzk0Mjc1NjY1M10sIFsxNTk1MDg4NDQ3LjUxNjc2LCA2MjIsIDAuMzM2MDA4MjgwNTE1NjcwOF0sIFsxNTk1MDg4NDU5LjA4ODEyNCwgNjM0LCAwLjMyNTYwMzIxNjg4NjUyMDRdLCBbMTU5NTA4ODQ2NS45NTk5MjMsIDY0MSwgMC4zMzYxMjE3MDgxNTQ2NzgzNF0sIFsxNTk1MDg4NDY2Ljg5MDA5OSwgNjQyLCAwLjI4MjIxMDUyODg1MDU1NTRdLCBbMTU5NTA4ODQ2OC44ODI0NTksIDY0NCwgMC4zMTcyOTMyNTY1MjEyMjVdLCBbMTU5NTA4ODQ3MS43OTkyNzgsIDY0NywgMC4zMTE0ODg2ODc5OTIwOTU5NV0sIFsxNTk1MDg4NDczLjc0NjU4MywgNjQ5LCAwLjMwNzQxOTkyNTkyODExNTg0XSwgWzE1OTUwODg0ODUuNTYxMDA4LCA2NjEsIDAuMzM0MTI4ODg2NDYxMjU3OTNdLCBbMTU5NTA4ODQ5NS4zNDc2NDEsIDY3MSwgMC4zMjQwMjcwMDE4NTc3NTc1N10sIFsxNTk1MDg4NTA3LjE0OCwgNjgzLCAwLjI5MDI1MTU1MzA1ODYyNDI3XSwgWzE1OTUwODg1MTIuMDA3MjM0LCA2ODgsIDAuMjY0NDEwMTA4MzI3ODY1Nl0sIFsxNTk1MDg4NTM3LjM1NTQ5NCwgNzE0LCAwLjMxNTE4NDIzNTU3MjgxNDk0XSwgWzE1OTUwODg1NDEuMDQ1MDY4LCA3MTgsIDAuMzAwOTgyMjM2ODYyMTgyNl0sIFsxNTk1MDg4NTQ0Ljk1NzM1NywgNzIyLCAwLjI5ODgxMjE4MDc1NzUyMjZdLCBbMTU5NTA4ODU0NS45MjQ1NDgsIDcyMywgMC4yNzI2OTg0MDI0MDQ3ODUxNl0sIFsxNTk1MDg4NTUyLjczNjQ4MSwgNzMwLCAwLjMxNzA0NzMyNzc1Njg4MTddLCBbMTU5NTA4ODU2MS41NjY2MzIsIDczOSwgMC4yODIxOTMwOTQ0OTE5NTg2XSwgWzE1OTUwODg1NjUuNDkyNTUzLCA3NDMsIDAuMjc3NzI2OTc4MDYzNTgzNF0sIFsxNTk1MDg4NTY5LjQzNDIzNCwgNzQ3LCAwLjM4MjI2NTgzNjAwMDQ0MjVdLCBbMTU5NTA4ODU3NC4xODQ3MzksIDc1MiwgMC4yODg1OTc3NjI1ODQ2ODYzXSwgWzE1OTUwODg1NzcuOTU3MDI5LCA3NTYsIDAuMjMwNzgxNDUwODY3NjUyOV0sIFsxNTk1MDg4NTg2LjUzOTM2NiwgNzY1LCAwLjI5NTM4MTQ4NjQxNTg2MzA0XSwgWzE1OTUwODg1OTAuNDI2MzI4LCA3NjksIDAuMjcyNzMwODU3MTMzODY1MzZdLCBbMTU5NTA4ODU5Mi40Njg0MiwgNzcxLCAwLjI2ODkxMzUzNzI2Mzg3MDI0XSwgWzE1OTUwODg1OTQuMzY5NzgxLCA3NzMsIDAuMjk3ODQyMjM0MzczMDkyNjVdLCBbMTU5NTA4ODYwMS4yNzYyMDksIDc4MCwgMC4yODg5ODI1NDAzNjkwMzM4XSwgWzE1OTUwODg2MDYuNTQyNTE1LCA3ODUsIDAuMjQ5Mjk4NDgzMTMzMzE2MDRdLCBbMTU5NTA4ODYwOC4wMTQ5NzQsIDc4NywgMC4zMjUwMzY1ODUzMzA5NjMxM10sIFsxNTk1MDg4NjEyLjkzNDgzMiwgNzkyLCAwLjI4NTYwMDUxMzIxOTgzMzRdLCBbMTU5NTA4ODYxNC44ODgxMDEsIDc5NCwgMC4yODQ5MzQ4NzgzNDkzMDQyXSwgWzE1OTUwODg2MTguNzc0NjYxLCA3OTgsIDAuMjg2NDE5Njg5NjU1MzAzOTZdLCBbMTU5NTA4ODYyMi43NzE4ODcsIDgwMiwgMC4zNTk3MzQyMzcxOTQwNjEzXSwgWzE1OTUwODg2MjguNjQzMzYzLCA4MDgsIDAuMzAxNDE0MTMyMTE4MjI1MV0sIFsxNTk1MDg4NjI5LjU2NjE0NywgODA5LCAwLjI2MjU3NjY5OTI1Njg5N10sIFsxNTk1MDg4NjUxLjg2OTE2NSwgODMyLCAwLjI2MjAyMjYxNDQ3OTA2NDk0XSwgWzE1OTUwODg2NTUuODg4MDI5LCA4MzYsIDAuMjk0NDMzNjIzNTUyMzIyNF0sIFsxNTk1MDg4Njg4LjIxNTk0MiwgODY5LCAwLjI4NTQ2Njg0OTgwMzkyNDU2XSwgWzE1OTUwODg2OTQuOTg4ODcyLCA4NzYsIDAuMjc5MjgxNzA1NjE3OTA0NjZdLCBbMTU5NTA4ODcwMC43MTkxOTcsIDg4MiwgMC4yNzgwMzE0NjgzOTE0MTg0Nl0sIFsxNTk1MDg4NzE0LjU5OTE4NywgODk2LCAwLjMyOTg2MzgxNjQ5OTcxMDFdLCBbMTU5NTA4ODcxOC41OTgyODIsIDkwMCwgMC4yNTI3NDIyNjA2OTQ1MDM4XSwgWzE1OTUwODg3MjUuMzM2MjMsIDkwNywgMC4zMTQ2Njg1NjU5ODg1NDA2NV0sIFsxNTk1MDg4NzI3LjIwMzI1MywgOTA5LCAwLjI5NzEwMzE5NjM4MjUyMjZdLCBbMTU5NTA4ODczMy4yMTc0NDUsIDkxNSwgMC4yOTA4Mzc4ODM5NDkyNzk4XSwgWzE1OTUwODg3MzUuMTEzNjUxLCA5MTcsIDAuMjc5MzkzMDE3MjkyMDIyN10sIFsxNTk1MDg4NzQ4LjY5ODUwMywgOTMxLCAwLjI3NTgxNzQ1Mzg2MTIzNjZdLCBbMTU5NTA4ODc0OS42OTIwMjEsIDkzMiwgMC4yNzg2MDAzMDUzMTg4MzI0XSwgWzE1OTUwODg3NTkuNTAyNjM2LCA5NDIsIDAuMjYzMjA5MjgzMzUxODk4Ml0sIFsxNTk1MDg4NzYyLjM4MTQ4LCA5NDUsIDAuMjQ4NDEzOTIwNDAyNTI2ODZdLCBbMTU5NTA4ODc3MS4xNTY1MzUsIDk1NCwgMC4zMTgzODc0NDg3ODc2ODkyXSwgWzE1OTUwODg3NzQuOTg5NTQ1LCA5NTgsIDAuMzAxNTg5MTAxNTUyOTYzMjZdLCBbMTU5NTA4ODc3OS4wMzU0MTQsIDk2MiwgMC4yMzEzNzI5MjI2NTg5MjAzXSwgWzE1OTUwODg3ODcuOTI0MTkzLCA5NzEsIDAuMjQxMTcyNzMwOTIyNjk4OTddLCBbMTU5NTA4ODc4OC44NTgxNjIsIDk3MiwgMC4yODE0MTQ1Njg0MjQyMjQ4NV0sIFsxNTk1MDg4Nzk0Ljc0NTQzNSwgOTc4LCAwLjI0OTA2MDA2NDU1NDIxNDQ4XSwgWzE1OTUwODg3OTUuNjYxOTY2LCA5NzksIDAuMjY0Nzc4NjQzODQ2NTExODRdLCBbMTU5NTA4ODgwMC42NjUwOTMsIDk4NCwgMC4yMTQ2ODU1MTQ1NjkyODI1M10sIFsxNTk1MDg4ODEyLjQwMzYzLCA5OTYsIDAuMjM0MjI4MDE0OTQ1OTgzOV0sIFsxNTk1MDg4ODE4LjMyMzkyLCAxMDAyLCAwLjIxMzA1NDc2MTI5MDU1MDIzXSwgWzE1OTUwODg4MjEuMzMxODc4LCAxMDA1LCAwLjIxODI4NTYzNTExMzcxNjEzXSwgWzE1OTUwODg4MjkuNzkwNjg1LCAxMDE0LCAwLjI3ODg1NzkxNjU5MzU1MTY0XSwgWzE1OTUwODg4NDAuNTM1NSwgMTAyNSwgMC4yNzY5MjU4MzIwMzMxNTczNV0sIFsxNTk1MDg4ODU4LjgyNTg1MywgMTA0NCwgMC4yMzc2NjE0MDYzOTc4MTk1Ml0sIFsxNTk1MDg4ODcxLjA0MzA4MSwgMTA1NywgMC4yMTUwODQ4MzU4ODY5NTUyNl0sIFsxNTk1MDg4ODc2LjgzMjIxMywgMTA2MywgMC4xODg2NjU3MDI5MzkwMzM1XSwgWzE1OTUwODg4NzkuNzQwODQ3LCAxMDY2LCAwLjIwMzc3MzE3MDcwOTYwOTk5XSwgWzE1OTUwODg4ODEuNjc2MDk1LCAxMDY4LCAwLjIxMDkzMDUyNjI1NjU2MTI4XSwgWzE1OTUwODg4ODUuNDU5MjQ4LCAxMDcyLCAwLjI2ODMwNDA3OTc3MTA0MTg3XSwgWzE1OTUwODg4OTEuMjk2MzcyLCAxMDc4LCAwLjE5ODE5MTUyMzU1MTk0MDkyXSwgWzE1OTUwODg4OTYuMjAxNzU2LCAxMDgzLCAwLjIwOTIyNDU4MTcxODQ0NDgyXSwgWzE1OTUwODg5MDUuODg2MjA1LCAxMDkzLCAwLjIxMTAyMzYyODcxMTcwMDQ0XSwgWzE1OTUwODg5MTEuNTg4NTk2LCAxMDk5LCAwLjI2MTg4NjU2Njg3NzM2NTFdLCBbMTU5NTA4ODkxNi41MzY0NDksIDExMDQsIDAuMjMyNjc3MTc2NTk0NzM0Ml0sIFsxNTk1MDg4OTI2LjI5MzE1MiwgMTExNCwgMC4xOTQ3MDU5MTg0MzEyODIwNF0sIFsxNTk1MDg4OTMxLjI1ODQyMiwgMTExOSwgMC4yMzU0OTIxOTk2NTkzNDc1M10sIFsxNTk1MDg4OTY3LjE4MzE5NSwgMTE1NiwgMC4yNTM3NDIwMDk0MDEzMjE0XSwgWzE1OTUwODg5NzAuOTI1OTksIDExNjAsIDAuMjIyMjMzNzEyNjczMTg3MjZdLCBbMTU5NTA4ODk3MS45Nzc3NzIsIDExNjEsIDAuMzEzMTAxMTEyODQyNTU5OF0sIFsxNTk1MDg4OTcyLjkyNTQ3MywgMTE2MiwgMC4yNjc4OTY0NDM2MDU0MjNdLCBbMTU5NTA4ODk5MC40NTA5MDIsIDExODAsIDAuMjMzNzMxNTIzMTU2MTY2MDhdLCBbMTU5NTA4OTAwMi4wNDI3MDksIDExOTIsIDAuMzc4NjIwNDQ1NzI4MzAyXSwgWzE1OTUwODkwMDIuOTc5NzUsIDExOTMsIDAuMjkyODI0NDQ3MTU0OTk4OF0sIFsxNTk1MDg5MDA4LjkyOTgyNiwgMTE5OSwgMC4yNDk4MjgzODMzMjY1MzA0Nl0sIFsxNTk1MDg5MDE1LjU0OTY5OSwgMTIwNiwgMC4yMTMzNTM2MTg5Nzk0NTQwNF0sIFsxNTk1MDg5MDQwLjQ0Mzk3OCwgMTIzMiwgMC4yNzAzNDAxNzQ0MzY1NjkyXSwgWzE1OTUwODkwNDIuNDE5ODc1LCAxMjM0LCAwLjI1NDk1MzkyMDg0MTIxNzA0XSwgWzE1OTUwODkwNTIuMTg4ODIxLCAxMjQ0LCAwLjIzNjA1NTIyNTEzMzg5NTg3XSwgWzE1OTUwODkwNjIuODg3NDksIDEyNTUsIDAuMjE3MDE1Mzg1NjI3NzQ2NThdLCBbMTU5NTA4OTA2NS43Mzg5MDIsIDEyNTgsIDAuMjAwNzcxNzQ5MDE5NjIyOF0sIFsxNTk1MDg5MDY4LjY1MDMwNiwgMTI2MSwgMC4yMTkxNjE0ODA2NjUyMDY5XSwgWzE1OTUwODkwODguMTE4MDk1LCAxMjgxLCAwLjE4NDE2NTgyMDQ3OTM5M10sIFsxNTk1MDg5MDkzLjg5MTIwNywgMTI4NywgMC4yMDUxMjUxODI4NjcwNTAxN10sIFsxNTk1MDg5MTAwLjU2MjQ0NCwgMTI5NCwgMC4yNDMyOTQ1ODE3NzA4OTY5XSwgWzE1OTUwODkxMDYuNTgzNzU4LCAxMzAwLCAwLjIzNDc1ODczNDcwMzA2Mzk2XSwgWzE1OTUwODkxMTYuNDE1MjE0LCAxMzEwLCAwLjI3NjMyMTIzMjMxODg3ODJdLCBbMTU5NTA4OTEyMi4yNjQ0NTcsIDEzMTYsIDAuMjA4NjI0OTU4OTkyMDA0NF0sIFsxNTk1MDg5MTI1LjIzMTI4LCAxMzE5LCAwLjIxMTk1MDY3NDY1MzA1MzI4XSwgWzE1OTUwODkxMzUuNzAyOTE1LCAxMzMwLCAwLjIyNzk4MzAxMjc5NTQ0ODNdLCBbMTU5NTA4OTEzOC41ODkyMDYsIDEzMzMsIDAuMjI1NDAxNjY5NzQwNjc2ODhdLCBbMTU5NTA4OTE0MS41NDc0NTMsIDEzMzYsIDAuMjE3NTA2NDIzNTkyNTY3NDRdLCBbMTU5NTA4OTE0Mi41MDY2NzUsIDEzMzcsIDAuMjA0MTEyNjA0MjYwNDQ0NjRdLCBbMTU5NTA4OTE4OS4yNzAwMDgsIDEzODUsIDAuMjY4MTM0NTY0MTYxMzAwNjZdLCBbMTU5NTA4OTE5Mi4zMjk4NiwgMTM4OCwgMC4yMTgzOTcxNTU0MDQwOTA4OF0sIFsxNTk1MDg5MTk1LjE3ODAxOSwgMTM5MSwgMC4xNjg3OTU0MDY4MTgzODk5XSwgWzE1OTUwODkxOTYuMTAyNzc1LCAxMzkyLCAwLjIzNTAzMzU1NjgxODk2MjFdLCBbMTU5NTA4OTIxNy44NDA1MTksIDE0MTQsIDAuMjQ4ODA4NjM3MjYxMzkwNjldLCBbMTU5NTA4OTIyOS42NTAyMywgMTQyNiwgMC4yMTExNTg0ODQyMjA1MDQ3Nl0sIFsxNTk1MDg5MjMxLjYwMzM5OSwgMTQyOCwgMC4xOTQ5MDMxMjAzOTg1MjE0Ml0sIFsxNTk1MDg5MjM1LjMzMjIwOCwgMTQzMiwgMC4xODgyMzYzMjU5NzkyMzI4XSwgWzE1OTUwODkyMzkuMjExMDIxLCAxNDM2LCAwLjIyNjExNTYxNDE3NTc5NjVdLCBbMTU5NTA4OTI0My4wOTQ5MzYsIDE0NDAsIDAuMTgxMDA1NTIyNjA4NzU3MDJdLCBbMTU5NTA4OTI2Ny42MTU3MzYsIDE0NjUsIDAuMjkzNjY5NzAwNjIyNTU4Nl0sIFsxNTk1MDg5MjY4LjY1MjQ3MiwgMTQ2NiwgMC4xOTcwNzIxMTg1MjA3MzY3XSwgWzE1OTUwODkyNzkuNDUyNjMxLCAxNDc3LCAwLjIyNTc4NDQ5NTQ3MjkwODAyXSwgWzE1OTUwODkyODcuMTgxODEsIDE0ODUsIDAuMjMwOTc1MDkxNDU3MzY2OTRdLCBbMTU5NTA4OTI5MS4wODU3OTgsIDE0ODksIDAuMTc2MzIwODk1NTUyNjM1Ml0sIFsxNTk1MDg5MjkzLjAwMjgxNSwgMTQ5MSwgMC4yMDU1NzAyMjA5NDcyNjU2Ml0sIFsxNTk1MDg5MzA5LjgxNTk5NSwgMTUwOCwgMC4yMjMyMDU3NjAxMjEzNDU1Ml0sIFsxNTk1MDg5MzI0LjU1NTkyOCwgMTUyMywgMC4xOTU0MTgxOTM5MzYzNDc5Nl0sIFsxNTk1MDg5MzI4LjQxMTY1MiwgMTUyNywgMC4yMjY2OTQ5NDE1MjA2OTA5Ml0sIFsxNTk1MDg5MzUzLjA2OTYzNywgMTU1MiwgMC4yMDc3ODgyNzM2OTIxMzEwNF0sIFsxNTk1MDg5MzY4Ljk0NzA3NSwgMTU2OCwgMC4yNjMyMzg1NDkyMzI0ODI5XSwgWzE1OTUwODkzNjkuODc2MjA5LCAxNTY5LCAwLjIzODE4Mjc1MzMyNDUwODY3XSwgWzE1OTUwODkzODQuOTE0NDIsIDE1ODQsIDAuMjE2NDA0MDgwMzkwOTMwMThdLCBbMTU5NTA4OTM4OC44Njk1NDksIDE1ODgsIDAuMjYyOTcyNDQ0Mjk1ODgzMl0sIFsxNTk1MDg5Mzk3LjY5OTE5OCwgMTU5NywgMC4yMTQzNTg0OTM2ODU3MjIzNV0sIFsxNTk1MDg5NDA0LjgwNjMwNiwgMTYwNCwgMC4yNjY2NzgwMzUyNTkyNDY4XSwgWzE1OTUwODk0MDUuNzM4NzI3LCAxNjA1LCAwLjI1MTgwNDUwMDgxODI1MjU2XSwgWzE1OTUwODk0MTguNDc3ODcxLCAxNjE4LCAwLjIzNDcwNDI3MDk1ODkwMDQ1XSwgWzE1OTUwODk0MjcuMzg2MzAyLCAxNjI3LCAwLjI0MzM2NDg0MDc0NTkyNTldLCBbMTU5NTA4OTQzMi40MzM2OTksIDE2MzIsIDAuMTg4MTk1NjE2MDA2ODUxMl0sIFsxNTk1MDg5NDM3LjE2ODU2OSwgMTYzNywgMC4yMDgxNDQ1NjA0NTYyNzU5NF0sIFsxNTk1MDg5NDQwLjAyNTg2OSwgMTY0MCwgMC4xODI0MzcwMzI0NjExNjYzOF0sIFsxNTk1MDg5NDQ1LjA3ODAyMywgMTY0NSwgMC4yMDY2MTA5NjI3NDg1Mjc1M10sIFsxNTk1MDg5NDQ4LjA4MjAyMywgMTY0OCwgMC4zMTA0NTAyMjYwNjg0OTY3XSwgWzE1OTUwODk0NjAuMTI4ODcxLCAxNjYwLCAwLjIwODczNjY0MzE5NTE1MjI4XSwgWzE1OTUwODk0NjcuOTA3NzksIDE2NjgsIDAuMjM5NjUzMzA0MjE5MjQ1OV0sIFsxNTk1MDg5NDc0Ljg3NDcwMiwgMTY3NSwgMC4xNzk1MTQzMzM2MDU3NjYzXSwgWzE1OTUwODk0ODEuNzQzMDU5LCAxNjgyLCAwLjIyNDI0NzY5NDAxNTUwMjkzXSwgWzE1OTUwODk0OTAuNjQ2MzU1LCAxNjkxLCAwLjMzMjY0OTI2MDc1OTM1MzY0XSwgWzE1OTUwODk0OTQuNTI5MTQ0LCAxNjk1LCAwLjIwMzc0MzQ0Mjg5MzAyODI2XSwgWzE1OTUwODk0OTUuNDY5MDYzLCAxNjk2LCAwLjIyNTQ5NTUzMjE1NTAzNjkzXSwgWzE1OTUwODk0OTYuNDg3OTcyLCAxNjk3LCAwLjIzMTQ0NDAwMTE5NzgxNDk0XSwgWzE1OTUwODk0OTguNDI4MTI2LCAxNjk5LCAwLjIxMzIwMjE0ODY3NTkxODU4XSwgWzE1OTUwODk1MDEuMjU0MTIsIDE3MDIsIDAuMjE1ODI5MTA0MTg1MTA0MzddLCBbMTU5NTA4OTUwOC4xMjE3OTgsIDE3MDksIDAuMjcwNDA3NzY2MTAzNzQ0NV0sIFsxNTk1MDg5NTE3LjA3NTE4NywgMTcxOCwgMC4yMjIxNjk3ODY2OTE2NjU2NV0sIFsxNTk1MDg5NTI2Ljk3OTg4NywgMTcyOCwgMC4yOTU4NTY0NDYwMjc3NTU3NF0sIFsxNTk1MDg5NTMwLjg1NzYzOCwgMTczMiwgMC4xOTQyMDYyODI0OTY0NTIzM10sIFsxNTk1MDg5NTMyLjg2NDMzMiwgMTczNCwgMC4yMzM1ODU2NzA1OTA0MDA3XSwgWzE1OTUwODk1MzUuNzQ2OTA1LCAxNzM3LCAwLjI2Njk2MDY4MDQ4NDc3MTczXSwgWzE1OTUwODk1NDAuNzA3NTAyLCAxNzQyLCAwLjMwNTExMDUxNDE2Mzk3MDk1XSwgWzE1OTUwODk1NDMuNzU3Mzc5LCAxNzQ1LCAwLjIzMDgwMTE1MDIwMjc1MTE2XSwgWzE1OTUwODk1NDQuNjkwNzc4LCAxNzQ2LCAwLjM1NzUwNTA1MzI4MTc4NDA2XSwgWzE1OTUwODk1NDUuNjU3NzAzLCAxNzQ3LCAwLjIyMzUwNDM0OTU4OTM0Nzg0XSwgWzE1OTUwODk1NjQuMDA3MDE0LCAxNzY2LCAwLjIyNzEyNDg0MDAyMTEzMzQyXSwgWzE1OTUwODk1NzIuNjQwMjQ5LCAxNzc1LCAwLjIyMDA0NDk0MDcxMDA2Nzc1XSwgWzE1OTUwODk1NzguNjEwNjMzLCAxNzgxLCAwLjIzNzU1NjQ1NzUxOTUzMTI1XSwgWzE1OTUwODk1ODUuMjY4OTk5LCAxNzg4LCAwLjM1MDQ2NDg1MDY2NDEzODhdLCBbMTU5NTA4OTU4Ni4yNDUwOTksIDE3ODksIDAuMjQ0MzY2MzYyNjkwOTI1Nl0sIFsxNTk1MDg5NTk0Ljg3MjQsIDE3OTgsIDAuMjQ3MzUwMTU2MzA3MjIwNDZdLCBbMTU5NTA4OTYwMS42OTgxNjEsIDE4MDUsIDAuMjI4MzQxMjY2NTEyODcwOF0sIFsxNTk1MDg5NjEzLjY0ODA1LCAxODE3LCAwLjI4NzAzMDg3NTY4MjgzMDhdLCBbMTU5NTA4OTYyMi41MTg5MDgsIDE4MjYsIDAuMjU0MDU3MTM5MTU4MjQ4OV0sIFsxNTk1MDg5NjI2LjM5MDQ2LCAxODMwLCAwLjQzODU2ODk0OTY5OTQwMTg2XSwgWzE1OTUwODk2MzUuOTY4NTI2LCAxODQwLCAwLjMxMjQ1ODk2MjIwMjA3MjE0XSwgWzE1OTUwODk2MzkuODg2MzQ1LCAxODQ0LCAwLjI2MTU1NzE5MTYxMDMzNjNdLCBbMTU5NTA4OTY0OC43MzY4MzUsIDE4NTMsIDAuNDA0NDg1Mjg1MjgyMTM1XSwgWzE1OTUwODk2NjEuNjMwNDMzLCAxODY2LCAwLjM0MzIwODQ2MTk5OTg5MzJdLCBbMTU5NTA4OTY2NC41MjU4OTgsIDE4NjksIDAuMzA0NTM3NTM0NzEzNzQ1MV0sIFsxNTk1MDg5NjcwLjQ4NDQ0MSwgMTg3NSwgMC4yMzAwNTUzOTE3ODg0ODI2N10sIFsxNTk1MDg5NjcyLjQzMjg5NiwgMTg3NywgMC4zMTY0OTAwMjQzMjgyMzE4XSwgWzE1OTUwODk3MDUuNTQ2NzkzLCAxOTExLCAwLjI0OTkyMzI3MzkyMTAxMjg4XSwgWzE1OTUwODk3MTEuMjkxNTczLCAxOTE3LCAwLjIwMzUxMTQxNjkxMjA3ODg2XSwgWzE1OTUwODk3MjcuOTE4ODg2LCAxOTM0LCAwLjE5NjE5Njk3MzMyMzgyMjAyXSwgWzE1OTUwODk3MjkuODU0OTM4LCAxOTM2LCAwLjE5MjM0MDQ5MzIwMjIwOTQ3XSwgWzE1OTUwODk3MzEuODMyODk4LCAxOTM4LCAwLjI0MDQ4OTI0NDQ2MTA1OTU3XSwgWzE1OTUwODk3MzcuNjk3NTk3LCAxOTQ0LCAwLjIxODMxNjQ4MDUxNzM4NzRdLCBbMTU5NTA4OTc0MC43MjY5NDQsIDE5NDcsIDAuMjA1MzU1MjEyMDkyMzk5Nl0sIFsxNTk1MDg5NzQyLjgwNTA3NSwgMTk0OSwgMC4xODkyMjEyMDMzMjcxNzg5Nl0sIFsxNTk1MDg5NzYwLjQxMTY0MiwgMTk2NywgMC4xODM0MTUyNzg3OTIzODEzXSwgWzE1OTUwODk3NzQuMjY5ODg2LCAxOTgxLCAwLjI1Mzg2MTI0ODQ5MzE5NDZdLCBbMTU5NTA4OTc3NS43MjUyOTIsIDE5ODMsIDAuMjEzMzY0NzUwMTQ2ODY1ODRdLCBbMTU5NTA4OTc5My4yNjg5MzYsIDIwMDEsIDAuMjM5MTYxMjgyNzc3Nzg2MjVdLCBbMTU5NTA4OTc5Ny4yMTY3ODMsIDIwMDUsIDAuMjEwMjU1Njk3MzY5NTc1NV0sIFsxNTk1MDg5ODA1LjI2ODA0NSwgMjAxMywgMC4yMzI1OTUzODQxMjA5NDExNl0sIFsxNTk1MDg5ODIxLjkyODQ5MywgMjAzMCwgMC4xNjA5NDAyNDQ3OTM4OTE5XSwgWzE1OTUwODk4MjcuNzQ1ODU4LCAyMDM2LCAwLjE5NzE5MDMxNDUzMTMyNjNdLCBbMTU5NTA4OTg1MS4wMDIxNTEsIDIwNjAsIDAuMTgxMjA4NjI1NDM1ODI5MTZdLCBbMTU5NTA4OTg2Mi4zNDQwNTgsIDIwNzIsIDAuMjIxNjA5ODkwNDYwOTY4MDJdLCBbMTU5NTA4OTg2My4yOTgwNjIsIDIwNzMsIDAuMjE2NzQyMjQ3MzQzMDYzMzVdLCBbMTU5NTA4OTg2Ni4yODcyMTYsIDIwNzYsIDAuMTk1Mzc4MDM1MzA2OTMwNTRdLCBbMTU5NTA4OTg2Ny4yMTcwNjMsIDIwNzcsIDAuMzQ0Nzc4NDc4MTQ1NTk5MzddLCBbMTU5NTA4OTg2OS4yNDA3LCAyMDc5LCAwLjI0ODAxNTQ5MzE1NDUyNTc2XSwgWzE1OTUwODk4NzEuMzM3MTk1LCAyMDgxLCAwLjI0NDUyNTc2MDQxMjIxNjJdLCBbMTU5NTA4OTg3NS4zMTE4NTcsIDIwODUsIDAuMjEyNzU5NDY0OTc5MTcxNzVdLCBbMTU5NTA4OTg3OS4xNDM1ODUsIDIwODksIDAuMjI1NDk0NTkzMzgxODgxN10sIFsxNTk1MDg5ODg0LjA4MTUwNSwgMjA5NCwgMC4yMTkzODE2MTU1MTk1MjM2Ml0sIFsxNTk1MDg5ODg2LjAwNTg2OCwgMjA5NiwgMC4yNTc0MzcwMjA1NDAyMzc0XSwgWzE1OTUwODk5MDAuNjg2MDQ5LCAyMTExLCAwLjI0NzU0MDkyMDk3MjgyNDFdLCBbMTU5NTA4OTkzNC43ODk2MjUsIDIxNDUsIDAuMjk0ODU0OTY4Nzg2MjM5Nl0sIFsxNTk1MDg5OTM4LjIwNDY2OCwgMjE0OSwgMC4xNzUzNjU2NDE3MTMxNDI0XSwgWzE1OTUwODk5NDAuMTI1NTQxLCAyMTUxLCAwLjE4MzU4NDYwMDY4NzAyNjk4XSwgWzE1OTUwODk5NDUuMDI4NjkxLCAyMTU2LCAwLjE5OTExMDEyMDUzNDg5Njg1XSwgWzE1OTUwODk5NTMuNzU4Njk5LCAyMTY1LCAwLjE4MDQ5MjIzNzIxMDI3Mzc0XSwgWzE1OTUwODk5NjEuNTkyMTU4LCAyMTczLCAwLjE5ODMyMDg2NTYzMTEwMzUyXSwgWzE1OTUwODk5NjUuNDg5NDQ5LCAyMTc3LCAwLjIwNzU1ODkwMDExNzg3NDE1XSwgWzE1OTUwODk5NzUuMzY0OTQ2LCAyMTg3LCAwLjE4NTgzNzQ3NzQ0NTYwMjQyXSwgWzE1OTUwODk5NzcuMzM0OTUzLCAyMTg5LCAwLjIwMDc5NjU0NDU1MTg0OTM3XSwgWzE1OTUwODk5NzkuMjczOTY3LCAyMTkxLCAwLjIzMTczMjUxNzQ4MDg1MDIyXSwgWzE1OTUwODk5ODAuMjUyNjQ2LCAyMTkyLCAwLjE3NTQwMTAwMjE2ODY1NTRdLCBbMTU5NTA4OTk4NC4yMTgxMzQsIDIxOTYsIDAuMTczMzAzNjQ4ODI5NDYwMTRdLCBbMTU5NTA4OTk4Ny4yNDQwNDgsIDIxOTksIDAuMTg2MjI0MDEzNTY2OTcwODNdLCBbMTU5NTA4OTk5NS4xODcxMDIsIDIyMDcsIDAuMTgwODExMjExNDY2Nzg5MjVdLCBbMTU5NTA4OTk5OS4wMzkxNjMsIDIyMTEsIDAuMTg5MzU3MTMxNzE5NTg5MjNdLCBbMTU5NTA5MDAxMi44NjUxNTUsIDIyMjUsIDAuMTg2NzE1MzY0NDU2MTc2NzZdLCBbMTU5NTA5MDAxOC42NTczNDksIDIyMzEsIDAuMjM0MjkwNTQwMjE4MzUzMjddLCBbMTU5NTA5MDAyMy41MzM2MTEsIDIyMzYsIDAuMjAxMzAwMjc4MzA2MDA3MzldLCBbMTU5NTA5MDAyNC41NzE1MzIsIDIyMzcsIDAuMTg5OTYyNjQwNDA0NzAxMjNdLCBbMTU5NTA5MDAyNi41NTIyNTYsIDIyMzksIDAuMTc0MzQ4NzQxNzY5NzkwNjVdLCBbMTU5NTA5MDAyOS40NzU1MjQsIDIyNDIsIDAuMTg2MTAzNDc4MDc0MDczOF0sIFsxNTk1MDkwMDMxLjM2Mjc1NCwgMjI0NCwgMC4xNzY2NDYwNTM3OTEwNDYxNF0sIFsxNTk1MDkwMDMzLjQyMjY0LCAyMjQ2LCAwLjI2MTk1NDg0Mzk5Nzk1NTNdLCBbMTU5NTA5MDAzNC4zOTMyMjIsIDIyNDcsIDAuMjI5MzQzNDczOTExMjg1NF0sIFsxNTk1MDkwMDQxLjM2OTUxMSwgMjI1NCwgMC40MjA4MjcxMjA1NDI1MjYyNV0sIFsxNTk1MDkwMDQ0LjMyMzE4MywgMjI1NywgMC4xOTY1NTc0NDczMTQyNjI0XSwgWzE1OTUwOTAwNDkuMTMwNzEzLCAyMjYyLCAwLjE4MjMxNTk0NTYyNTMwNTE4XSwgWzE1OTUwOTAwNjcuODkwNDAzLCAyMjgxLCAwLjI1ODE4NjY5Nzk1OTg5OTldLCBbMTU5NTA5MDA3Ny40Njk0MywgMjI5MSwgMC4yNDIyNDIwNjgwNTIyOTE4N10sIFsxNTk1MDkwMDgzLjQwOTIzLCAyMjk3LCAwLjIzNjAwOTE4MDU0NTgwNjg4XSwgWzE1OTUwOTAwODkuMjgzMTUzLCAyMzAzLCAwLjIyOTk0NTUyNTUyNzAwMDQzXSwgWzE1OTUwOTAwOTMuMjE1NjUsIDIzMDcsIDAuMjE2OTEwMzYyMjQzNjUyMzRdLCBbMTU5NTA5MDA5NC4xNTMzMzQsIDIzMDgsIDAuMjE4MjM3MTE2OTMyODY4OTZdLCBbMTU5NTA5MDEwNC44ODE0MzksIDIzMTksIDAuMTc1MjQ0MTUyNTQ1OTI4OTZdLCBbMTU5NTA5MDEwNS44NjQ4NSwgMjMyMCwgMC4xNjQ4ODE1Mjc0MjM4NTg2NF0sIFsxNTk1MDkwMTIwLjMyNDA4OSwgMjMzNSwgMC4yMTQyNTkzMjY0NTc5NzczXSwgWzE1OTUwOTAxMjkuODY1MzA2LCAyMzQ1LCAwLjE2NTkzNjg1NzQ2MTkyOTMyXSwgWzE1OTUwOTAxMzguNjA1MjY0LCAyMzU0LCAwLjIwNjI4NjU5NDI3MTY1OTg1XSwgWzE1OTUwOTAxNTUuMTYyMjYsIDIzNzEsIDAuMjA3Mzg1ODA4MjI5NDQ2NF0sIFsxNTk1MDkwMTcyLjU3OTU0OSwgMjM4OSwgMC4xNjQwMjgyMjczMjkyNTQxNV0sIFsxNTk1MDkwMTczLjU4NDA0OCwgMjM5MCwgMC4yMzkwNDAwMTcxMjc5OTA3Ml0sIFsxNTk1MDkwMTc1LjU1MjY0NiwgMjM5MiwgMC4xNzgwODAxODYyNDc4MjU2Ml0sIFsxNTk1MDkwMTg1LjI5ODg5NCwgMjQwMiwgMC4xNjk3NDY1MTgxMzUwNzA4XSwgWzE1OTUwOTAxODkuMjMxNzYzLCAyNDA2LCAwLjIwODE0Mjc1NzQxNTc3MTQ4XSwgWzE1OTUwOTAyMDcuNTk3ODAzLCAyNDI1LCAwLjE5NzE2Njc4NTU5NzgwMTJdLCBbMTU5NTA5MDIxOC4zMDkyNjIsIDI0MzYsIDAuMTUzOTM2OTUyMzUyNTIzOF0sIFsxNTk1MDkwMjI2LjIzNjUsIDI0NDQsIDAuMjI1Mjg0NzEwNTI2NDY2MzddLCBbMTU5NTA5MDIzMi4zMDU1OTYsIDI0NTAsIDAuMTgwNjExODMzOTMwMDE1NTZdLCBbMTU5NTA5MDIzMy4yMzcwMjksIDI0NTEsIDAuMTk3OTcyNTk1NjkxNjgwOV0sIFsxNTk1MDkwMjM1LjIxMjEwOSwgMjQ1MywgMC4xNjc2ODA2MDYyNDU5OTQ1N10sIFsxNTk1MDkwMjM3LjE0MTAxMiwgMjQ1NSwgMC4xNzM1Njk5NDc0ODExNTU0XSwgWzE1OTUwOTAyNDIuMDA3MzQsIDI0NjAsIDAuMjg0NTYyMjU5OTEyNDkwODRdLCBbMTU5NTA5MDI2Ni45MzUwOTksIDI0ODUsIDAuMjA2MjM0NDcwMDA5ODAzNzddLCBbMTU5NTA5MDI2Ny45NDM3ODYsIDI0ODYsIDAuMTc5ODc3NjIzOTE1NjcyM10sIFsxNTk1MDkwMjc3LjkzMDM3MywgMjQ5NiwgMC4xODEyNjA3MzQ3OTY1MjQwNV0sIFsxNTk1MDkwMjc5LjkyOTgwMiwgMjQ5OCwgMC4xODg5MTIzOTE2NjI1OTc2Nl0sIFsxNTk1MDkwMjg0Ljc1MzI4NCwgMjUwMywgMC4xODg1NTUxNTEyMjQxMzYzNV0sIFsxNTk1MDkwMjk4LjY0NTI3NCwgMjUxNywgMC4xNDcwMjQzNDgzNzgxODE0Nl0sIFsxNTk1MDkwMzA0LjM3OTUyMSwgMjUyMywgMC4xODQ3MjkyNzgwODc2MTU5N10sIFsxNTk1MDkwMzExLjM3OTYwNSwgMjUzMCwgMC4yMTcxMjU3MTM4MjUyMjU4M10sIFsxNTk1MDkwMzEzLjQ3NTcwMiwgMjUzMiwgMC4yMDE3OTYzMjMwNjA5ODkzOF0sIFsxNTk1MDkwMzI4LjM4OTI1OSwgMjU0NywgMC4yOTY1MTAyNDkzNzYyOTddLCBbMTU5NTA5MDMzMi43MTgzNywgMjU1MSwgMC4yMTIwMDA3NTc0NTU4MjU4XSwgWzE1OTUwOTAzMzQuMzc0OTM4LCAyNTUzLCAwLjI1MDMyOTU1NDA4MDk2MzEzXSwgWzE1OTUwOTAzNDcuMTg3NTU0LCAyNTY2LCAwLjIzNTc2OTI3MTg1MDU4NTk0XSwgWzE1OTUwOTAzNTkuMDI0NzE3LCAyNTc4LCAwLjI1NTMwODcxNzQ4OTI0MjU1XSwgWzE1OTUwOTAzNzAuOTYzNzY5LCAyNTkwLCAwLjI1NTQ5ODE0MTA1MDMzODc1XSwgWzE1OTUwOTAzNzEuOTI2MjY0LCAyNTkxLCAwLjIyNTk4MDUwNTM0NzI1MTldLCBbMTU5NTA5MDM3Mi44ODkwNDUsIDI1OTIsIDAuMjgzODA4MDUyNTM5ODI1NDRdLCBbMTU5NTA5MDM4MC44NDc0NTMsIDI2MDAsIDAuMjMyMjEzNTcxNjY3NjcxMl0sIFsxNTk1MDkwMzg2Ljg1NTg3MSwgMjYwNiwgMC4yODY2OTM4NDEyMTg5NDgzNl0sIFsxNTk1MDkwNDAzLjgyOTI2MiwgMjYyMywgMC4zNDU1NTEzMTE5Njk3NTcxXSwgWzE1OTUwOTA0MDkuNzg0MjU2LCAyNjI5LCAwLjIxMTc4NTYyOTM5MTY3MDIzXSwgWzE1OTUwOTA0MTAuNzQyNzYzLCAyNjMwLCAwLjIyMzUyMTg3MzM1NDkxMThdLCBbMTU5NTA5MDQxOS4wNDY2MTEsIDI2MzgsIDAuMjA0OTY1MTI5NDk0NjY3MDVdLCBbMTU5NTA5MDQyNC43MDcwMzgsIDI2NDQsIDAuMjQxNzg4NDMyMDAyMDY3NTddLCBbMTU5NTA5MDQzMC44MTk0NjYsIDI2NTAsIDAuMjA4OTk1MjUyODQ3NjcxNV0sIFsxNTk1MDkwNDM1LjczMzMxMiwgMjY1NSwgMC4yMDQ0ODIxNTMwNTgwNTIwNl0sIFsxNTk1MDkwNDU4LjY2NDE5MywgMjY3OCwgMC4yMDU1MzE4MDU3NTM3MDc4OV0sIFsxNTk1MDkwNDYwLjU1MzM3NCwgMjY4MCwgMC4xNzYwMTI1MTYwMjE3Mjg1Ml0sIFsxNTk1MDkwNDY1LjM1ODYzLCAyNjg1LCAwLjIzMTE1NTIzMTU5NTAzOTM3XSwgWzE1OTUwOTA0NzAuMjkxNTY1LCAyNjkwLCAwLjE0NzE1MjUxMzI2NTYwOTc0XSwgWzE1OTUwOTA0ODMuMTQwMjkzLCAyNzAzLCAwLjE5NTAwMjcwNDg1ODc3OTldLCBbMTU5NTA5MDQ5MC4xMzA1MTEsIDI3MTAsIDAuMTcwMDE1OTYwOTMxNzc3OTVdLCBbMTU5NTA5MDUwNC44MTk5ODIsIDI3MjUsIDAuMjIyMDM3ODUxODEwNDU1MzJdLCBbMTU5NTA5MDUxNi42MTk4NiwgMjczNywgMC4xODEzNDA5OTI0NTA3MTQxXSwgWzE1OTUwOTA1MTkuNDk3NzUzLCAyNzQwLCAwLjIyNDUwOTYyNjYyNjk2ODM4XSwgWzE1OTUwOTA1MzMuMjA1OTUyLCAyNzU0LCAwLjE3NzgxNTgyNDc0NzA4NTU3XSwgWzE1OTUwOTA1MzQuMTIwNTU1LCAyNzU1LCAwLjE4MjUyMjE5MjU5NzM4OTIyXSwgWzE1OTUwOTA1MzYuMDcxNDcyLCAyNzU3LCAwLjMyNDMyOTA3ODE5NzQ3OTI1XSwgWzE1OTUwOTA1NjcuMDgzODcsIDI3ODksIDAuMTkxNDAyNjg4NjIyNDc0NjddLCBbMTU5NTA5MDU2OC4xNDYyNjUsIDI3OTAsIDAuMzAxNjcwNzg5NzE4NjI3OTNdLCBbMTU5NTA5MDU2OS4xMjk0MTMsIDI3OTEsIDAuMjA4NjQ3ODMyMjc0NDM2OTVdLCBbMTU5NTA5MDU3Ni4wOTYwMTUsIDI3OTgsIDAuMjk1MDkxNjI5MDI4MzIwM10sIFsxNTk1MDkwNTg3LjEyNDExNCwgMjgwOSwgMC4yOTMxNDg2NjY2MjAyNTQ1XSwgWzE1OTUwOTA2MDEuOTIwNzE2LCAyODI0LCAwLjI3NDQzMzg1MTI0MjA2NTQzXSwgWzE1OTUwOTA2MDQuOTI5NTY3LCAyODI3LCAwLjE5NjEyNzcxMjcyNjU5MzAyXSwgWzE1OTUwOTA2MDYuOTQzNzY0LCAyODI5LCAwLjIwODYzOTI5MzkwOTA3Mjg4XSwgWzE1OTUwOTA2MzUuNzQ0NTk5LCAyODU5LCAwLjIzNDM1OTA1NTc1NzUyMjU4XSwgWzE1OTUwOTA2NDguMzg5ODM3LCAyODcyLCAwLjI2MTAyNzgxMjk1Nzc2MzY3XSwgWzE1OTUwOTA2NTcuMDQ1MTE1LCAyODgxLCAwLjI0MDMzMjYxODM1NTc1MTA0XSwgWzE1OTUwOTA2NjUuNzI0MjgsIDI4OTAsIDAuMTc5Nzc1MjgyNzQwNTkyOTZdLCBbMTU5NTA5MDY3MS41OTk2OTksIDI4OTYsIDAuMjEzMTQzNjc2NTE5MzkzOTJdLCBbMTU5NTA5MDY3NS41NDY4NzIsIDI5MDAsIDAuMTU3MTE4NDY5NDc2Njk5ODNdLCBbMTU5NTA5MDY5MS45NzgzNjQsIDI5MTcsIDAuMTkxMjU3MDI5NzcxODA0OF0sIFsxNTk1MDkwNjkzLjg4MTQ2MiwgMjkxOSwgMC4xODIzOTMzNDIyNTY1NDYwMl0sIFsxNTk1MDkwNjk0Ljk3NjM4NCwgMjkyMCwgMC4xOTgxOTE0OTM3NDk2MTg1M10sIFsxNTk1MDkwNjk1LjkzMjAzMiwgMjkyMSwgMC4xODg0NTc4MzE3NDAzNzkzM10sIFsxNTk1MDkwNzA2LjYwODYzNSwgMjkzMiwgMC4xNTk4MDA4NTczMDU1MjY3M10sIFsxNTk1MDkwNzI0LjAwMDc4OCwgMjk1MCwgMC4xNzY1NTY2NzY2MjYyMDU0NF0sIFsxNTk1MDkwNzQwLjUyMTQyOCwgMjk2NywgMC4xOTc5ODExMDQyNTQ3MjI2XSwgWzE1OTUwOTA3NDguMzg5Mzc3LCAyOTc1LCAwLjI0MjY3NDk5MTQ4ODQ1NjczXSwgWzE1OTUwOTA3NzAuOTcyOTc3LCAyOTk4LCAwLjIwODY0MzQ2NjIzNDIwNzE1XSwgWzE1OTUwOTA3NzkuNjIzODU3LCAzMDA3LCAwLjI0NjIyODM2NzA5MDIyNTIyXSwgWzE1OTUwOTA3ODEuNTQ4NzgzLCAzMDA5LCAwLjE3MTMyOTg4NTcyMTIwNjY3XSwgWzE1OTUwOTA3ODMuNDk2MjI1LCAzMDExLCAwLjE3NjM5MTUyNzA1NjY5NDAzXSwgWzE1OTUwOTA3ODcuMzc4OTI3LCAzMDE1LCAwLjE5NzA5ODU2ODA4MTg1NTc3XSwgWzE1OTUwOTA3ODguMzg5MjM2LCAzMDE2LCAwLjE2ODU1Nzc3ODAwMDgzMTZdLCBbMTU5NTA5MDc5OS4xNTE2MywgMzAyNywgMC4xNjkyMTEyMzg2MjI2NjU0XSwgWzE1OTUwOTA4MDIuMTAyMjEsIDMwMzAsIDAuMTUyNzA3MzIzNDMxOTY4N10sIFsxNTk1MDkwODA5Ljk0ODMxMiwgMzAzOCwgMC4yNjUwNzI2MTM5NTQ1NDQwN10sIFsxNTk1MDkwODEyLjc5MjUxNSwgMzA0MSwgMC4yMDc4NzMwNjEyOTkzMjQwNF0sIFsxNTk1MDkwODIxLjI4NjgyOCwgMzA1MCwgMC4xNjk4NjQ3MjkwNDY4MjE2XSwgWzE1OTUwOTA4MzUuNzA3Mjc4LCAzMDY1LCAwLjE4ODg2MDEzMzI5MDI5MDgzXSwgWzE1OTUwOTA4MzkuNTQ5NDU2LCAzMDY5LCAwLjE3MjgwNDgwMjY1NjE3MzddLCBbMTU5NTA5MDg0MS40MTk4NDIsIDMwNzEsIDAuMTczMDc4MDYwMTUwMTQ2NDhdLCBbMTU5NTA5MDg1NS43MzI3MzUsIDMwODYsIDAuMTUxNzk1Nzc0Njk4MjU3NDVdLCBbMTU5NTA5MDg2OC4yMzI2MzcsIDMwOTksIDAuMTQ5MTgxMTI3NTQ4MjE3NzddLCBbMTU5NTA5MDg5MS4wODcxOTYsIDMxMjIsIDAuMTMzNDQ5NzMzMjU3MjkzN10sIFsxNTk1MDkwOTA1LjUzOTg5MywgMzEzNywgMC4xNjYyMjE5NDY0Nzc4OTAwMV0sIFsxNTk1MDkwOTA2LjUzNzk0MywgMzEzOCwgMC4xNDgyOTk5OTIwODQ1MDMxN10sIFsxNTk1MDkwOTEzLjM0OTU5NiwgMzE0NSwgMC4xNjIwNzQ5Mzg0MTY0ODEwMl0sIFsxNTk1MDkwOTE4LjE4NDE1NiwgMzE1MCwgMC4xNDEyMzUzNjY0NjM2NjEyXSwgWzE1OTUwOTA5MjMuMTM1MDE0LCAzMTU1LCAwLjEzMjI4MzI4NTI2MDIwMDVdLCBbMTU5NTA5MDkyNy4wMTE3NywgMzE1OSwgMC4xNzQ0NTI3NTE4NzQ5MjM3XSwgWzE1OTUwOTA5MjguODg1ODk1LCAzMTYxLCAwLjEzOTE3NjU3NzMyOTYzNTYyXSwgWzE1OTUwOTA5NDQuNDIwNjkxLCAzMTc3LCAwLjE1NzIyOTI3NDUxMTMzNzI4XSwgWzE1OTUwOTA5NjEuOTczODI1LCAzMTk1LCAwLjEyNTMxMTY4NzU4ODY5MTddLCBbMTU5NTA5MDk2Mi45NDEyMDksIDMxOTYsIDAuMTQ4MjE0MDEyMzg0NDE0NjddLCBbMTU5NTA5MDk2OS42OTMwNzksIDMyMDMsIDAuMTI3Mjg4MjgxOTE3NTcyMDJdLCBbMTU5NTA5MDk3Mi42MzM1MzQsIDMyMDYsIDAuMTQyMzQ1NjA3MjgwNzMxMl0sIFsxNTk1MDkwOTk1Ljk5MTc0NiwgMzIzMCwgMC4xNjU3NTI4ODc3MjU4MzAwOF0sIFsxNTk1MDkwOTk4Ljg2OTA1NiwgMzIzMywgMC4xNTc5NjI3NTQzNjg3ODIwNF0sIFsxNTk1MDkxMDA1LjkzMDMxOCwgMzI0MCwgMC4xNDc0NTk5MDkzMTk4Nzc2Ml0sIFsxNTk1MDkxMDA4Ljg3ODExNywgMzI0MywgMC4xMjcwOTU0MDEyODcwNzg4Nl0sIFsxNTk1MDkxMDA5LjgwMTA2OCwgMzI0NCwgMC4xNTYyMjMzNDE4MjI2MjQyXSwgWzE1OTUwOTEwMTEuNjkwMzM2LCAzMjQ2LCAwLjEzNjc3MzI4ODI0OTk2OTQ4XSwgWzE1OTUwOTEwMTIuNjM3OTgzLCAzMjQ3LCAwLjE0Mjc1MTY0OTAyMjEwMjM2XSwgWzE1OTUwOTEwMzIuMzc4MDM4LCAzMjY3LCAwLjE2NjU1NTU4MzQ3NzAyMDI2XSwgWzE1OTUwOTEwMzcuMzQ3NzI5LCAzMjcyLCAwLjE1NTE5MzI2OTI1Mjc3NzFdLCBbMTU5NTA5MTA0Ni4wMDYzMzksIDMyODEsIDAuMTY1MzQxMDA0NzI5MjcwOTRdLCBbMTU5NTA5MTA0Ny45ODAyNjMsIDMyODMsIDAuMTU0MzE2MzY1NzE4ODQxNTVdLCBbMTU5NTA5MTA2OS4zNTY5OTcsIDMzMDUsIDAuMTQ0ODg5NDE0MzEwNDU1MzJdLCBbMTU5NTA5MTA3Ny4wMTE1OTUsIDMzMTMsIDAuMTM0MzAwODQyODgxMjAyN10sIFsxNTk1MDkxMDkwLjU4NTE2LCAzMzI3LCAwLjE0MjcyOTY5OTYxMTY2MzgyXSwgWzE1OTUwOTEwOTEuNTYyODE4LCAzMzI4LCAwLjE1NDYyMzgzNjI3ODkxNTRdLCBbMTU5NTA5MTA5Ni41MDc4ODYsIDMzMzMsIDAuMTk0MTEzMTA1NTM1NTA3Ml0sIFsxNTk1MDkxMTAxLjM5ODYzNywgMzMzOCwgMC4xNTAzMDgxNjE5NzM5NTMyNV0sIFsxNTk1MDkxMTA4LjA5ODE1OCwgMzM0NSwgMC4xMjc2NzcyNjE4MjkzNzYyMl0sIFsxNTk1MDkxMTM2LjQ3NTg5NCwgMzM3NCwgMC4xODUxNjkxMzA1NjM3MzU5Nl0sIFsxNTk1MDkxMTM4LjM3MDMyMywgMzM3NiwgMC4xNDIzNTkyNDE4NDMyMjM1N10sIFsxNTk1MDkxMTQwLjMwMDM1MiwgMzM3OCwgMC4xNTU3MjU0NzkxMjU5NzY1Nl0sIFsxNTk1MDkxMTQ4LjExODczMSwgMzM4NiwgMC4xNTMxNTA1NTg0NzE2Nzk3XSwgWzE1OTUwOTExNjUuMDY1NDY0LCAzNDAzLCAwLjEzNTM2NzI3NDI4NDM2MjhdLCBbMTU5NTA5MTE2OS4zNjI3NjMsIDM0MDgsIDAuMTQzMzY1MTg5NDMzMDk3ODRdLCBbMTU5NTA5MTE5MS4wMzYwMTEsIDM0MzAsIDAuMTQwNjU5NjAwNDk2MjkyMTFdLCBbMTU5NTA5MTE5NC4wNTI2MTcsIDM0MzMsIDAuMTIwOTI0ODQ1MzM3ODY3NzRdLCBbMTU5NTA5MTE5OS4xNTMyNTEsIDM0MzgsIDAuMTQxOTk2OTk0NjE0NjAxMTRdLCBbMTU5NTA5MTIwNS44NjU3NTEsIDM0NDUsIDAuMTQzNzY0Mzc2NjQwMzE5ODJdLCBbMTU5NTA5MTIwOS43MTY4MTksIDM0NDksIDAuMTQ2OTI3MDI4ODk0NDI0NDRdLCBbMTU5NTA5MTIxMS43NzE4NzYsIDM0NTEsIDAuMTU3NTgwMTA3NDUwNDg1MjNdLCBbMTU5NTA5MTIxNy43MjMxOSwgMzQ1NywgMC4xMzc5MTk5NDc1MDQ5OTcyNV0sIFsxNTk1MDkxMjE4LjY3MTk0LCAzNDU4LCAwLjEzMzU4MjgwMDYyNjc1NDc2XSwgWzE1OTUwOTEyMjQuNzc5ODc4LCAzNDY0LCAwLjE0OTg5NjIwNDQ3MTU4ODEzXSwgWzE1OTUwOTEyMzEuNTQ4NTU4LCAzNDcxLCAwLjE2MTc3ODU5OTAyMzgxODk3XSwgWzE1OTUwOTEyMzcuNTc3ODIyLCAzNDc3LCAwLjE1NjA4NzY4MTY1MTExNTQyXSwgWzE1OTUwOTEyNDAuNDQyMzA3LCAzNDgwLCAwLjEyMTIzNTY5ODQ2MTUzMjU5XSwgWzE1OTUwOTEyNTYuOTg4NiwgMzQ5NywgMC4xMjg4MDYzNjc1MTY1MTc2NF0sIFsxNTk1MDkxMjU5LjA4NjMwMywgMzQ5OSwgMC4xNDY4MjAzMzY1ODAyNzY1XSwgWzE1OTUwOTEyNjguODAxOTg2LCAzNTA5LCAwLjEzMjA0MDY3OTQ1NDgwMzQ3XSwgWzE1OTUwOTEyNzEuODQ2MjQ5LCAzNTEyLCAwLjEzNjMyODA3MTM1NTgxOTddLCBbMTU5NTA5MTI3OC43NjMwODgsIDM1MTksIDAuMTI2MzgyNDk5OTMzMjQyOF0sIFsxNTk1MDkxMjk0LjAzMzI1NSwgMzUzNSwgMC4xMzIzNTYzMzA3NTIzNzI3NF0sIFsxNTk1MDkxMjk1Ljk1MTcwOSwgMzUzNywgMC4xMzY2MTc1NDEzMTMxNzE0XSwgWzE1OTUwOTEzMDEuODg3NDcxLCAzNTQzLCAwLjE1MTc0NzM0NTkyNDM3NzQ0XSwgWzE1OTUwOTEzMDUuNjg1MzMsIDM1NDcsIDAuMTM1OTU0NDY5NDQyMzY3NTVdLCBbMTU5NTA5MTMwNy43MTY2MDksIDM1NDksIDAuMTQzNTMyMzk1MzYyODU0XSwgWzE1OTUwOTEzMjEuMzQzMTE2LCAzNTYzLCAwLjEyMTU0MjgzMzc0NTQ3OTU4XSwgWzE1OTUwOTEzMzcuOTg5NDQ3LCAzNTgwLCAwLjEzMTQ0NjAwMzkxMzg3OTRdLCBbMTU5NTA5MTM0OS42OTE3MTMsIDM1OTIsIDAuMTUwODU4MTE5MTMwMTM0NThdLCBbMTU5NTA5MTM1Ny41NzI4ODIsIDM2MDAsIDAuMTIwMzEwMDA4NTI1ODQ4MzldLCBbMTU5NTA5MTM3NC45ODA2NDUsIDM2MTgsIDAuMTQ5NzA3NDM2NTYxNTg0NDddLCBbMTU5NTA5MTM3Ni45NjM3NzcsIDM2MjAsIDAuMTE4MDQzMDY1MDcxMTA1OTZdLCBbMTU5NTA5MTM3OC44MTM0NzQsIDM2MjIsIDAuMTMxMjA3Nzc5MDQ5ODczMzVdLCBbMTU5NTA5MTM4MS43NDU2MzMsIDM2MjUsIDAuMTYzMTUyMjc3NDY5NjM1XSwgWzE1OTUwOTEzODQuNTkxMjI2LCAzNjI4LCAwLjE0ODQ1NTM4MTM5MzQzMjYyXSwgWzE1OTUwOTE0MDEuMjI5MzY5LCAzNjQ1LCAwLjEyMDgyODYwNjE4ODI5NzI3XSwgWzE1OTUwOTE0MTEuODIxMjc0LCAzNjU2LCAwLjE0NTcyNjgxNDg2NjA2NTk4XSwgWzE1OTUwOTE0MTMuMTkwOTk1LCAzNjU3LCAwLjE1ODQ5MTM1ODE2MDk3MjZdLCBbMTU5NTA5MTQyNS42Mzc1NjIsIDM2NzAsIDAuMTQwMDM1Nzc4Mjg0MDcyODhdLCBbMTU5NTA5MTQ1NC43ODc1NzIsIDM3MDAsIDAuMTQ3OTA0NTc0ODcxMDYzMjNdLCBbMTU5NTA5MTQ1Ni43OTM2ODUsIDM3MDIsIDAuMTE4ODI2MTIxMDkxODQyNjVdLCBbMTU5NTA5MTQ4MC4zMzQ0NzUsIDM3MjYsIDAuMTE3MzUzMjE1ODEzNjM2NzhdLCBbMTU5NTA5MTQ4NC4yMjE1ODksIDM3MzAsIDAuMTQ1MDUxNDM0NjM2MTE2MDNdLCBbMTU5NTA5MTQ4Ni4yMTUzODgsIDM3MzIsIDAuMTEwMTQyNzIyNzI1ODY4MjNdLCBbMTU5NTA5MTQ5MS45NzgyNjEsIDM3MzgsIDAuMTIzNDQ5MTMxODQ2NDI3OTJdLCBbMTU5NTA5MTQ5NC44NTYxMTgsIDM3NDEsIDAuMTYwODE2MjM3MzMwNDM2N10sIFsxNTk1MDkxNDk2Ljg2OTYwOSwgMzc0MywgMC4xMjgxOTA4NDUyNTEwODMzN10sIFsxNTk1MDkxNTA1LjYxNjM2NiwgMzc1MiwgMC4xNDM2MTY0ODI2MTU0NzA5XSwgWzE1OTUwOTE1MTIuNDI5NTY1LCAzNzU5LCAwLjEyODA3Mzk5MDM0NTAwMTIyXSwgWzE1OTUwOTE1MjUuNzkzMzkzLCAzNzcyLCAwLjEyMDk3NDk0MzA0MTgwMTQ1XSwgWzE1OTUwOTE1MzMuMDc3NjkyLCAzNzgwLCAwLjEzODg3MjkzNjM2Nzk4ODZdLCBbMTU5NTA5MTU0NS43MTAyMjEsIDM3OTMsIDAuMTE3MDIxMDYxNDgwMDQ1MzJdLCBbMTU5NTA5MTU0Ny42NDgxNTYsIDM3OTUsIDAuMTIwMzc3NzQ5MjA0NjM1NjJdLCBbMTU5NTA5MTU1MC41NzQ5NTYsIDM3OTgsIDAuMTM1NTc4MDk1OTEyOTMzMzVdLCBbMTU5NTA5MTU2Mi4yODI4MDgsIDM4MTAsIDAuMTUwODMzMjE5Mjg5Nzc5NjZdLCBbMTU5NTA5MTU2Ni4yNDIwMiwgMzgxNCwgMC4xMTY2Nzg1MDYxMzU5NDA1NV0sIFsxNTk1MDkxNTcxLjA2NDU3NiwgMzgxOSwgMC4xNDU1NDk1MjA4NTAxODE1OF0sIFsxNTk1MDkxNTcyLjk1NDgzMSwgMzgyMSwgMC4xNDA4NDg4NDUyNDM0NTM5OF0sIFsxNTk1MDkxNTgyLjY2ODk5NiwgMzgzMSwgMC4xNzA1NjY4MjcwNTg3OTIxMV0sIFsxNTk1MDkxNTg2LjYxMjU5OCwgMzgzNSwgMC4xNTk0NjAzMzU5Njk5MjQ5M10sIFsxNTk1MDkxNTk5LjE4MTgsIDM4NDgsIDAuMTMwMzA2NDIyNzEwNDE4N10sIFsxNTk1MDkxNjE0Ljc1MzIxMiwgMzg2NCwgMC4xMjAzMzk5MzAwNTc1MjU2M10sIFsxNTk1MDkxNjE5LjcwMjY0OSwgMzg2OSwgMC4xMTk3MDc2NzM3ODgwNzA2OF0sIFsxNTk1MDkxNjI2LjQxMjA3OCwgMzg3NiwgMC4xNTg4MTk1MTE1MzI3ODM1XSwgWzE1OTUwOTE2NTAuNjA0MjY2LCAzOTAxLCAwLjE3MDc3NjE1ODU3MTI0MzNdLCBbMTU5NTA5MTY1MS41NDg5NDgsIDM5MDIsIDAuMTE1ODc0OTc1OTE5NzIzNTFdLCBbMTU5NTA5MTY1OS4zMzQ4MSwgMzkxMCwgMC4xMDkwNDk0OTkwMzQ4ODE1OV0sIFsxNTk1MDkxNjY5LjAxMTkyMSwgMzkyMCwgMC4xMjkyMTY1OTY0ODQxODQyN10sIFsxNTk1MDkxNjc2LjgzODM1NCwgMzkyOCwgMC4xMjY3ODAwNDgwMTI3MzM0Nl0sIFsxNTk1MDkxNjgzLjU5MDQ5MSwgMzkzNSwgMC4xMjc5ODI0NTI1MTE3ODc0MV0sIFsxNTk1MDkxNjg3LjQ3MjY4LCAzOTM5LCAwLjE5ODcyMjMzMjcxNTk4ODE2XSwgWzE1OTUwOTE2OTguMTE5NTYzLCAzOTUwLCAwLjEzOTY1ODgzODUxMDUxMzNdLCBbMTU5NTA5MTcwNC4xNzUzMzksIDM5NTYsIDAuMTA3MTk2NzExMDAzNzgwMzZdLCBbMTU5NTA5MTcwOS44MjYwOTQsIDM5NjIsIDAuMTE4OTY5OTkxODAzMTY5MjVdLCBbMTU5NTA5MTczMS4zMzg4NywgMzk4NCwgMC4xMTA0MzUzODE1MzE3MTU0XSwgWzE1OTUwOTE3NDEuOTcxOTY3LCAzOTk1LCAwLjEzMzQ3MDcxNDA5MjI1NDY0XSwgWzE1OTUwOTE3NDYuNzE5MTIsIDQwMDAsIDAuMTE4MzczMzM0NDA3ODA2NF0sIFsxNTk1MDkxNzU1LjM4NjA5MywgNDAwOSwgMC4xMTYzNzc3ODU4MDE4ODc1MV0sIFsxNTk1MDkxNzU2LjM0OTA1MSwgNDAxMCwgMC4xMTgwNDM2NjExMTc1NTM3MV0sIFsxNTk1MDkxNzY4LjA5NzU4NiwgNDAyMiwgMC4xMjc1NDQ5NjkzMjAyOTcyNF0sIFsxNTk1MDkxNzc4Ljg5MTAzNCwgNDAzMywgMC4xMjI4NTQ3OTE1ODE2MzA3XSwgWzE1OTUwOTE3ODEuODE4MjcsIDQwMzYsIDAuMTM5Mjk5OTg4NzQ2NjQzMDddLCBbMTU5NTA5MTc5MS40MzY0NCwgNDA0NiwgMC4xNTY2MzI1ODczMTM2NTIwNF0sIFsxNTk1MDkxNzkyLjUwNDA3OSwgNDA0NywgMC4xNDkzOTM0OTg4OTc1NTI1XSwgWzE1OTUwOTE3OTMuNDcyNTU0LCA0MDQ4LCAwLjEzMzU0MTk0MTY0Mjc2MTIzXSwgWzE1OTUwOTE4MzcuMDIyOTQ3LCA0MDkzLCAwLjE0NzY0NjY5NTM3NTQ0MjVdLCBbMTU5NTA5MTg0MS44Mzg0OTgsIDQwOTgsIDAuMTYyNjU5NzM0NDg3NTMzNTddLCBbMTU5NTA5MTg0Mi44MjYwMiwgNDA5OSwgMC4xNDcyOTMyODQ1MzU0MDgwMl0sIFsxNTk1MDkxODUyLjU4NjQxNCwgNDEwOSwgMC4xNTA3NTczNDI1NzY5ODA2XSwgWzE1OTUwOTE5MjMuMTYyOTc1LCA0MTgyLCAwLjE0NzAwNDU3NDUzNzI3NzIyXSwgWzE1OTUwOTE5MzMuODU4NTQ5LCA0MTkzLCAwLjE1MDcxNTA2Nzk4MjY3MzY1XSwgWzE1OTUwOTE5MzQuOTE0NTAxLCA0MTk0LCAwLjE1MzM1MTA4MzM5Nzg2NTNdLCBbMTU5NTA5MTkzNi44NTc3MjcsIDQxOTYsIDAuMTY0NTEwNTQ4MTE0Nzc2Nl0sIFsxNTk1MDkxOTM4LjcwNDQ3OSwgNDE5OCwgMC4xNTIwMDIxMjU5Nzg0Njk4NV0sIFsxNTk1MDkxOTQxLjUyMzYxNiwgNDIwMSwgMC4xNzg0NDQ5MjE5NzAzNjc0M10sIFsxNTk1MDkxOTQyLjU3NTIzOCwgNDIwMiwgMC4yMDA3NDYxNjM3MjU4NTI5N10sIFsxNTk1MDkxOTQ0LjQ4MDc5MSwgNDIwNCwgMC4xODE5MTUxNDkwOTI2NzQyNl0sIFsxNTk1MDkxOTY2Ljg5MzQwOSwgNDIyNywgMC4xNzIyNzc3MzM2ODM1ODYxMl0sIFsxNTk1MDkxOTcxLjg1MDMyNSwgNDIzMiwgMC4xMjgxMDQ5ODQ3NjAyODQ0Ml0sIFsxNTk1MDkxOTc0Ljg1ODcyMiwgNDIzNSwgMC4xNTcwODAwMjQ0ODA4MTk3XSwgWzE1OTUwOTE5ODIuODIwMjMsIDQyNDMsIDAuMTQ4MTg4MjkyOTgwMTk0MV0sIFsxNTk1MDkxOTkzLjU3MzQ4OSwgNDI1NCwgMC4xMzM3MTYyODUyMjg3MjkyNV0sIFsxNTk1MDkyMDAyLjQ4NTM3MSwgNDI2MywgMC4xMjU4ODA5MjY4NDc0NTc4OV0sIFsxNTk1MDkyMDA1LjMzMDcwMSwgNDI2NiwgMC4xMzc2OTIzNzY5NzEyNDQ4XSwgWzE1OTUwOTIwMDYuMzcyMzc4LCA0MjY3LCAwLjEyNzg1Mzk3NDY5OTk3NDA2XSwgWzE1OTUwOTIwMjEuMDU3ODM2LCA0MjgyLCAwLjEzMTc0NzQ4NDIwNzE1MzMyXSwgWzE1OTUwOTIwMzYuNjM4MjgzLCA0Mjk4LCAwLjE2Njk1MzA4Njg1MzAyNzM0XSwgWzE1OTUwOTIwNDIuNDI4NDk2LCA0MzA0LCAwLjEyNTk2MDg4NjQ3ODQyNDA3XSwgWzE1OTUwOTIwNDYuNDU0OTM4LCA0MzA4LCAwLjExOTc5OTM2ODA4MzQ3NzAyXSwgWzE1OTUwOTIwNTUuMTEyNDUxLCA0MzE3LCAwLjEyODYwOTU5NzY4Mjk1Mjg4XSwgWzE1OTUwOTIwNTcuMDQ2NjExLCA0MzE5LCAwLjE4NjY0MjczNjE5NjUxNzk0XSwgWzE1OTUwOTIwNjUuODU0NTkzLCA0MzI4LCAwLjEyOTE5MzYzMzc5NDc4NDU1XSwgWzE1OTUwOTIwNjkuNzExMDQ2LCA0MzMyLCAwLjE4NjQwODQ4OTk0MjU1MDY2XSwgWzE1OTUwOTIwNzUuNjkyMjQyLCA0MzM4LCAwLjE0MTUxNzkwNzM4MTA1Nzc0XSwgWzE1OTUwOTIwODAuNjI1NTkxLCA0MzQzLCAwLjE0MjUyOTUzMjMxMzM0Njg2XSwgWzE1OTUwOTIxMDUuOTM0NjQ4LCA0MzY5LCAwLjE0Nzk1NjY1NDQyOTQzNTczXSwgWzE1OTUwOTIxMTQuNzc2NzUxLCA0Mzc4LCAwLjE4NzU3MDM2MzI4MzE1NzM1XSwgWzE1OTUwOTIxMjkuMzExMDY5LCA0MzkzLCAwLjE2MzA3MTI3NDc1NzM4NTI1XSwgWzE1OTUwOTIxMzUuOTUzNzIyLCA0NDAwLCAwLjEzNDkxNTUxNTc4MDQ0ODldLCBbMTU5NTA5MjE0MS45OTk2NTEsIDQ0MDYsIDAuMTM4NjQzMTAwODU3NzM0NjhdLCBbMTU5NTA5MjE0NS45OTQ2MSwgNDQxMCwgMC4xMzgwODI3NDI2OTEwNDAwNF0sIFsxNTk1MDkyMTQ3LjAwODQyLCA0NDExLCAwLjEzOTY0MDE2NzM1NTUzNzQxXSwgWzE1OTUwOTIxNjUuNDE4NjgsIDQ0MzAsIDAuMTU5MjMyOTc0MDUyNDI5Ml0sIFsxNTk1MDkyMTY2LjM3NTI5LCA0NDMxLCAwLjE5Njg1Njk0NTc1MzA5NzUzXSwgWzE1OTUwOTIxNjguMzY5NjA5LCA0NDMzLCAwLjE0MTA1NzUzNjAwNTk3MzgyXSwgWzE1OTUwOTIxNzQuMTUzMjQxLCA0NDM5LCAwLjEyOTg2MTU5MzI0NjQ1OTk2XSwgWzE1OTUwOTIyMDMuMzU5MjQ2LCA0NDY5LCAwLjIxMjU4NjI2ODc4MjYxNTY2XSwgWzE1OTUwOTIyMDkuNDY4Mjg1LCA0NDc1LCAwLjEzNDc2OTIzMTA4MTAwODldLCBbMTU5NTA5MjIxMi45MjU3NzIsIDQ0NzksIDAuMTMyNzUxMDYyNTEyMzk3NzddLCBbMTU5NTA5MjIxNS43OTI0NjIsIDQ0ODIsIDAuMTI0OTQ1NDAyMTQ1Mzg1NzRdLCBbMTU5NTA5MjIyMy42NTU1MSwgNDQ5MCwgMC4xNDQ1MTA1MzczODU5NDA1NV0sIFsxNTk1MDkyMjI1LjYzMzk5LCA0NDkyLCAwLjEzMjM3NzE2MjU3NTcyMTc0XSwgWzE1OTUwOTIyNDIuMTk2NDcsIDQ1MDksIDAuMTUwMjU5MTY2OTU1OTQ3ODhdLCBbMTU5NTA5MjI0My4yMDQxOTksIDQ1MTAsIDAuMTM0MjQ1MjMxNzQ3NjI3MjZdLCBbMTU5NTA5MjI2MS4xNzIxMTUsIDQ1MjksIDAuMTExNzg3NDA4NTkwMzE2NzddLCBbMTU5NTA5MjI2Mi4wOTY3NTUsIDQ1MzAsIDAuMTIyMDQxNjg3MzY5MzQ2NjJdLCBbMTU5NTA5MjI2NS4wMDU2NDYsIDQ1MzMsIDAuMTQ1MzAwMTY0ODE4NzYzNzNdLCBbMTU5NTA5MjI3My43NDU2OTcsIDQ1NDIsIDAuMTM2MTEwMjkwODg0OTcxNjJdLCBbMTU5NTA5MjI4MS40MDY0MTksIDQ1NTAsIDAuMTQ3NDM1Mjc3NzAwNDI0Ml0sIFsxNTk1MDkyMjgzLjMzMzU4NiwgNDU1MiwgMC4xMjE1NTkwMzg3NTgyNzc5XSwgWzE1OTUwOTIyODQuMzM1NzI5LCA0NTUzLCAwLjE5NzIwNzM2MTQ1OTczMjA2XSwgWzE1OTUwOTIyOTkuMDI3NzYxLCA0NTY4LCAwLjEyNDI5MTIwMzkxNjA3Mjg1XSwgWzE1OTUwOTIzMDguNjgxODk0LCA0NTc4LCAwLjEyODI3MDkyNDA5MTMzOTFdLCBbMTU5NTA5MjMxMS41MjM2NDgsIDQ1ODEsIDAuMTQzOTk5Mjc4NTQ1Mzc5NjRdLCBbMTU5NTA5MjMyMi40ODYyOTcsIDQ1OTIsIDAuMTQ3MzExNjcyNTY4MzIxMjNdLCBbMTU5NTA5MjMyNS40OTM3NzEsIDQ1OTUsIDAuMTM1NzYxMTg2NDgwNTIyMTZdLCBbMTU5NTA5MjMyNy4zNTg5NTIsIDQ1OTcsIDAuMTQyNzgwMzc4NDYwODg0MV0sIFsxNTk1MDkyMzI5LjM5NDA2NywgNDU5OSwgMC4xNjkwOTQ5MzUwNTk1NDc0Ml0sIFsxNTk1MDkyMzQwLjk5OTkwMiwgNDYxMSwgMC4xMzQ5OTY5NjU1Mjc1MzQ0OF0sIFsxNTk1MDkyMzU3LjUxNDQzMywgNDYyOCwgMC4xMTIxMTQxNjEyNTI5NzU0Nl0sIFsxNTk1MDkyMzcyLjE2Nzg2MywgNDY0MywgMC4xNDAwOTM1MjAyODM2OTkwNF0sIFsxNTk1MDkyMzc3Ljk3MTEyNCwgNDY0OSwgMC4xMzg0NjYwMTU0NTgxMDddLCBbMTU5NTA5MjM4NC43MzQyNjMsIDQ2NTYsIDAuMTE3NDk2MTYyNjUyOTY5MzZdLCBbMTU5NTA5MjM5Mi4zNjQwNDgsIDQ2NjQsIDAuMTExNjk2NjMwNzE2MzIzODVdLCBbMTU5NTA5MjM5Ni4zMTIxNjcsIDQ2NjgsIDAuMTI3NjQ0NjcyOTg5ODQ1MjhdLCBbMTU5NTA5MjQwMy4zMzc4MTYsIDQ2NzUsIDAuMTI1NzI5NjUwMjU5MDE3OTRdLCBbMTU5NTA5MjQwNC4zNDQ5MTQsIDQ2NzYsIDAuMTI0MzU5MDI2NTUxMjQ2NjRdLCBbMTU5NTA5MjQwNS4zNjUzNjMsIDQ2NzcsIDAuMTI2NTg1ODg1ODgyMzc3NjJdLCBbMTU5NTA5MjQxNC45MzE1MTcsIDQ2ODcsIDAuMTM4NTY5NTYzNjI3MjQzMDRdLCBbMTU5NTA5MjQ0MC4yNDA0OTYsIDQ3MTMsIDAuMTE5ODAxMzk0NjQxMzk5MzhdLCBbMTU5NTA5MjQ0NS4wNTA3OTEsIDQ3MTgsIDAuMTQ0ODMyNzc0OTk2NzU3NV0sIFsxNTk1MDkyNDYwLjQzMDA3NCwgNDczNCwgMC4xMzI1NTk3NDY1MDM4Mjk5Nl0sIFsxNTk1MDkyNDY1LjI1MDQyOCwgNDczOSwgMC4xMzQ3MDQyMDI0MTM1NTg5Nl0sIFsxNTk1MDkyNDcxLjIwNjU4OSwgNDc0NSwgMC4xMjg4OTQ1OTcyOTE5NDY0XSwgWzE1OTUwOTI0NzUuMDU1ODE0LCA0NzQ5LCAwLjEyNTU3Nzg5NjgzMzQxOThdLCBbMTU5NTA5MjQ3Ni4xMDY1MzgsIDQ3NTAsIDAuMTUwMjQzOTk3NTczODUyNTRdLCBbMTU5NTA5MjQ4NC4wMTA1NDcsIDQ3NTgsIDAuMTI4NTIyNjE5NjA1MDY0NF0sIFsxNTk1MDkyNDg2Ljg4MzkyNiwgNDc2MSwgMC4xMjI3NjA3MjgwMDE1OTQ1NF0sIFsxNTk1MDkyNDg3LjgyNTU2MywgNDc2MiwgMC4xNDczNDAwNTkyODAzOTU1XSwgWzE1OTUwOTI0ODkuNzI5OTMxLCA0NzY0LCAwLjEyMDQ2NjgzNTc5NjgzMzA0XSwgWzE1OTUwOTI0OTIuNjIwOTkyLCA0NzY3LCAwLjE1NTk3NTAxMzk3MTMyODc0XSwgWzE1OTUwOTI1MDEuNjk0MDE5LCA0Nzc2LCAwLjExODM4MjY1NTA4NDEzMzE1XSwgWzE1OTUwOTI1MDUuMTU0NTM5LCA0NzgwLCAwLjExOTYxMDI3OTc5ODUwNzY5XSwgWzE1OTUwOTI1MDkuMDEwMjk5LCA0Nzg0LCAwLjEyMTk4MTg0NDMwNTk5MjEzXSwgWzE1OTUwOTI1MTIuMDMzMzgxLCA0Nzg3LCAwLjEzMjY4NTEzOTc3NTI3NjE4XSwgWzE1OTUwOTI1MTMuMDIzNTMsIDQ3ODgsIDAuMTA3NTU2NDkyMDkwMjI1MjJdLCBbMTU5NTA5MjUxOC43Mjg5NDYsIDQ3OTQsIDAuMTE3OTMzODQ3MDEwMTM1NjVdLCBbMTU5NTA5MjUyNC40MTE0NDIsIDQ4MDAsIDAuMTI0ODU0NDA4MjA0NTU1NTFdLCBbMTU5NTA5MjUyNi40MjU2OTMsIDQ4MDIsIDAuMTE0MTQ4NjE2NzkwNzcxNDhdLCBbMTU5NTA5MjUyOS4xOTEyMjYsIDQ4MDUsIDAuMTI2MDQxODQ0NDg3MTkwMjVdLCBbMTU5NTA5MjU2Mi44MzA2NzgsIDQ4NDAsIDAuMTIxNTgzMTA0MTMzNjA1OTZdLCBbMTU5NTA5MjU3NC40Mzg0NzQsIDQ4NTIsIDAuMTM1NjE0Mjc1OTMyMzEyXSwgWzE1OTUwOTI1OTIuODE0MDE2LCA0ODcxLCAwLjExNTI2MTk4Njg1MTY5MjJdLCBbMTU5NTA5MjU5NS4wOTkxMjUsIDQ4NzMsIDAuMTIwMjIyMTczNjMxMTkxMjVdLCBbMTU5NTA5MjYxMC4zNTY4NzcsIDQ4ODksIDAuMTM5MzQ2NzAzODg2OTg1NzhdLCBbMTU5NTA5MjYxMy4yNDU3OTMsIDQ4OTIsIDAuMTEzMzk4MDM3ODUwODU2NzhdLCBbMTU5NTA5MjYxNS4yNzE3ODYsIDQ4OTQsIDAuMTQzMzc0MjY0MjQwMjY0OV0sIFsxNTk1MDkyNjE2LjIxOTI3MiwgNDg5NSwgMC4xNjE1NzA1OTM3MTQ3MTQwNV0sIFsxNTk1MDkyNjM0Ljk1NTM5MywgNDkxNCwgMC4xMzE5ODI0MDEwMTMzNzQzM10sIFsxNTk1MDkyNjU4LjE1ODE2MSwgNDkzOCwgMC4xMTk3OTAzMDA3MjY4OTA1Nl0sIFsxNTk1MDkyNjYxLjA4ODA0LCA0OTQxLCAwLjExMTMwNTE3NzIxMTc2MTQ3XSwgWzE1OTUwOTI2NzMuOTI1MzksIDQ5NTQsIDAuMTE5Nzk4MDM0NDI5NTUwMTddLCBbMTU5NTA5MjY4MS41MTQ2NTEsIDQ5NjIsIDAuMTI4NDU5OTQ1MzIxMDgzMDddLCBbMTU5NTA5MjY5MC4wNjk0MjgsIDQ5NzEsIDAuMTE4MjQwODQ4MTgzNjMxOV0sIFsxNTk1MDkyNjkzLjAwNzQzNSwgNDk3NCwgMC4xMzYxMDYxMDM2NTg2NzYxNV0sIFsxNTk1MDkyNjk0Ljk1OTUwNSwgNDk3NiwgMC4xMTUxNzIyODE4NjEzMDUyNF0sIFsxNTk1MDkyNjk1Ljk0Mzk5NSwgNDk3NywgMC4xMTcyMTM1NjIxMzA5MjgwNF0sIFsxNTk1MDkyNzA5LjMwNjA5OCwgNDk5MSwgMC4xMTMyMDkwNTM4NzQwMTU4MV0sIFsxNTk1MDkyNzE3LjExMDYwMiwgNDk5OSwgMC4xMDk4NzQyNjM0MDU3OTk4N10sIFsxNTk1MDkyNzM5LjMyOTQ0MSwgNTAyMSwgMC4xMzIwMjg3NDM2MjQ2ODcyXSwgWzE1OTUwOTI3NDUuMjIxMTI0LCA1MDI3LCAwLjEyNDI5NDc3Mjc0NDE3ODc3XSwgWzE1OTUwOTI3NDguMDA0NDUxLCA1MDMwLCAwLjE2MDA3MTAxNTM1Nzk3MTJdLCBbMTU5NTA5Mjc1NC43NjE4ODUsIDUwMzcsIDAuMTMyODEzMzA0NjYyNzA0NDddLCBbMTU5NTA5Mjc2Ny4zNjM2NTIsIDUwNTAsIDAuMTQ1NTc4MzI0Nzk0NzY5M10sIFsxNTk1MDkyNzY5LjI0NzI4NiwgNTA1MiwgMC4xMzQzMzA0MjE2ODYxNzI0OV0sIFsxNTk1MDkyNzcwLjI4Nzk4NywgNTA1MywgMC4xNDgwNTgyNjU0NDc2MTY1OF0sIFsxNTk1MDkyNzc2Ljk5MzMxMywgNTA2MCwgMC4xNjM0NDE4MDcwMzE2MzE0N10sIFsxNTk1MDkyNzk0LjMzMjA2LCA1MDc4LCAwLjEzNjQyNTU2OTY1MzUxMTA1XSwgWzE1OTUwOTI4MTAuMDc1ODQyLCA1MDk0LCAwLjEzNzA0NjI0NzcyMDcxODM4XSwgWzE1OTUwOTI4MTYuOTE4NTcsIDUxMDEsIDAuMTYzMjY4NDc2NzI0NjI0NjNdLCBbMTU5NTA5MjgyMS42NDkyMjMsIDUxMDYsIDAuMTI1OTk2MjMyMDMyNzc1ODhdLCBbMTU5NTA5MjgyMi42Mjk5MDYsIDUxMDcsIDAuMTMyNjc1MDIxODg2ODI1NTZdLCBbMTU5NTA5MjgyOC40NzE4OSwgNTExMywgMC4xNTY5NzgxNDUyNDE3MzczN10sIFsxNTk1MDkyODQwLjk1MDY1LCA1MTI2LCAwLjEyOTI4OTQxODQ1ODkzODZdLCBbMTU5NTA5Mjg0Mi44ODU2OCwgNTEyOCwgMC4xODIxODkwMDI2MzMwOTQ4XSwgWzE1OTUwOTI4NDguNzg1NTEyLCA1MTM0LCAwLjIyODE4MTkxMzQ5NTA2Mzc4XSwgWzE1OTUwOTI4NzQuMTQzMjUyLCA1MTYwLCAwLjExOTIzMTUyOTUzMzg2MzA3XSwgWzE1OTUwOTI4NzkuMDU4Nzg1LCA1MTY1LCAwLjExODE1MDEzNzM2NDg2NDM1XSwgWzE1OTUwOTI4OTEuOTQ4NzY1LCA1MTc4LCAwLjEzOTUzNDM4NDAxMjIyMjNdLCBbMTU5NTA5Mjg5NS44MjcwMzIsIDUxODIsIDAuMTIxNzc2OTIzNTM3MjU0MzNdLCBbMTU5NTA5MjkxMy4wOTM4NDQsIDUyMDAsIDAuMTQxODY4MDI1MDY0NDY4MzhdLCBbMTU5NTA5MjkyMC43Njg0OSwgNTIwOCwgMC4xMjQ1OTY3NDQ3NzU3NzIxXSwgWzE1OTUwOTI5NDMuMDM4MTUzLCA1MjMxLCAwLjE3NjQ2MzI3NjE0Nzg0MjRdLCBbMTU5NTA5Mjk0NS45MDc5ODMsIDUyMzQsIDAuMTM3NzU1MDgxMDU3NTQ4NTJdLCBbMTU5NTA5Mjk0Ni44NDI4MjksIDUyMzUsIDAuMTM1MzM3MjkzMTQ4MDQwNzddLCBbMTU5NTA5Mjk1MC43ODA0MTksIDUyMzksIDAuMTYzMTAwNDY2MTMyMTY0XSwgWzE1OTUwOTI5NTEuNjg2ODE3LCA1MjQwLCAwLjE4MjAzNzMwODgxMjE0MTQyXSwgWzE1OTUwOTI5NTUuNTk0NDc2LCA1MjQ0LCAwLjE2NjU2NTE5NDcyNTk5MDNdLCBbMTU5NTA5Mjk3Ny4wNDIwNiwgNTI2NiwgMC4xMzA4ODQ3ODE0Nzk4MzU1XSwgWzE1OTUwOTI5OTkuODAyMDUzLCA1Mjg5LCAwLjEzNTQ1NDM4NjQ3MjcwMjAzXSwgWzE1OTUwOTMwMTIuNTY3NzksIDUzMDIsIDAuMTM0NDYxMzQzMjg4NDIxNjNdLCBbMTU5NTA5MzAyOC4yNDE5ODUsIDUzMTgsIDAuMTIyMDM3NTU5NzQ3Njk1OTJdLCBbMTU5NTA5MzAzOC42NTAyNzUsIDUzMjksIDAuMTY4MjU1NTM3NzQ4MzM2OF0sIFsxNTk1MDkzMDU0LjU0MzYxMywgNTM0NSwgMC4xMjMxMjc4ODUxNjI4MzAzNV0sIFsxNTk1MDkzMDU3LjM1NzQzNSwgNTM0OCwgMC4xMjgxODQzNzgxNDcxMjUyNF0sIFsxNTk1MDkzMDY4LjA5NTU2OCwgNTM1OSwgMC4xMjg1MTA5OTY2OTkzMzMyXSwgWzE1OTUwOTMwNjkuMDkwNzM3LCA1MzYwLCAwLjEyMTMxNTQxOTY3MzkxOTY4XSwgWzE1OTUwOTMwNzEuOTI1OTc5LCA1MzYzLCAwLjEyMzYwNzUyMzczOTMzNzkyXSwgWzE1OTUwOTMwODguMjM0NzI4LCA1MzgwLCAwLjEzOTYxMDE4NjIxOTIxNTRdLCBbMTU5NTA5MzA5Mi4yMTI2NywgNTM4NCwgMC4xMzc0NjQ3NjE3MzQwMDg4XSwgWzE1OTUwOTMxMTEuNzIzMjI3LCA1NDA0LCAwLjEyNTgwNTY5MDg4NDU5MDE1XSwgWzE1OTUwOTMxMTMuNjk4OTE1LCA1NDA2LCAwLjE1OTg2OTEzNDQyNjExNjk0XSwgWzE1OTUwOTMxMjcuNDE0NDYsIDU0MjAsIDAuMTE5MjUyNjc0MjgxNTk3MTRdLCBbMTU5NTA5MzEzMi40MDU0ODksIDU0MjUsIDAuMTE4MzI4MzEwNTQ5MjU5MTldLCBbMTU5NTA5MzE0NS45MTU3OTUsIDU0MzksIDAuMTE5OTYzOTQzOTU4MjgyNDddLCBbMTU5NTA5MzE0Ni44MzA3NjUsIDU0NDAsIDAuMTE4MjY5NTE4MDE3NzY4ODZdLCBbMTU5NTA5MzE0OC43ODI0MTMsIDU0NDIsIDAuMTExNTE5Mjk5NDQ3NTM2NDddLCBbMTU5NTA5MzE1My41ODA5MjksIDU0NDcsIDAuMTI3MTg1NDYzOTA1MzM0NDddLCBbMTU5NTA5MzE4MC42NzQ0NjEsIDU0NzUsIDAuMTM0NTMxMjg5MzM5MDY1NTVdLCBbMTU5NTA5MzE4OS40Mjg3ODEsIDU0ODQsIDAuMTQ0MTYyMjY3NDQ2NTE3OTRdLCBbMTU5NTA5MzE5Ni4xNTUwNTksIDU0OTEsIDAuMTI1OTEwOTM3Nzg2MTAyM10sIFsxNTk1MDkzMjAwLjA0NDM1MSwgNTQ5NSwgMC4xMzY3NTQ3NTEyMDU0NDQzNF0sIFsxNTk1MDkzMjA1Ljg0OTk3NywgNTUwMSwgMC4wOTkyMjQ2MzQ0Njg1NTU0NV0sIFsxNTk1MDkzMjExLjY2MzY5OCwgNTUwNywgMC4xNDA0NDQxODkzMTAwNzM4NV0sIFsxNTk1MDkzMjE2LjkxODIsIDU1MTIsIDAuMTMwMTQwNTcyNzg2MzMxMThdLCBbMTU5NTA5MzIxOS41MjI5OTksIDU1MTUsIDAuMTI2NzMxODEyOTUzOTQ4OTddLCBbMTU5NTA5MzIyMS41MDgzMDQsIDU1MTcsIDAuMTMxNTc0MTUzOTAwMTQ2NDhdLCBbMTU5NTA5MzIzNi4wNjM3ODksIDU1MzIsIDAuMTMyOTY4MTg3MzMyMTUzMzJdLCBbMTU5NTA5MzI0NC43Njc2NTUsIDU1NDEsIDAuMTE4Njg0NDg1NTU0Njk1MTNdLCBbMTU5NTA5MzI1Mi42NjQxNCwgNTU0OSwgMC4xMjc0MzY2MjI5NzcyNTY3N10sIFsxNTk1MDkzMjY5LjM0MzQyNSwgNTU2NiwgMC4xMjI3MTcxNzE5MDc0MjQ5M10sIFsxNTk1MDkzMjc0LjM2NjY4NCwgNTU3MSwgMC4xMTk4NDE0NDE1MTIxMDc4NV0sIFsxNTk1MDkzMjc2LjM0MzYxOCwgNTU3MywgMC4xMzYyMzA4NzEwODEzNTIyM10sIFsxNTk1MDkzMjg4LjQ0MjgxNywgNTU4NSwgMC4xMTM4MzkyMzg4ODIwNjQ4Ml0sIFsxNTk1MDkzMjkwLjUxMzI4OCwgNTU4NywgMC4xMzEwMTQ3NjQzMDg5Mjk0NF0sIFsxNTk1MDkzMjk2LjMxMjMxMywgNTU5MywgMC4xMzQwMzEwNTczNTc3ODgwOV0sIFsxNTk1MDkzMzA4LjExNjUxLCA1NjA1LCAwLjExMTAzODU4MDUzNjg0MjM1XSwgWzE1OTUwOTMzMTIuOTUwNDM3LCA1NjEwLCAwLjExNDAzOTI1NzE2ODc2OTg0XSwgWzE1OTUwOTMzMjIuNDcxNTY1LCA1NjIwLCAwLjEyNTc1MDAzNTA0NzUzMTEzXSwgWzE1OTUwOTMzMzIuMjQ4NjExLCA1NjMwLCAwLjEyODMwNjkxMDM5NTYyMjI1XSwgWzE1OTUwOTMzNDguODk5ODc1LCA1NjQ3LCAwLjEwNjc1NzY0MDgzODYyMzA1XSwgWzE1OTUwOTMzNjAuMDAwOTc4LCA1NjU4LCAwLjEyMDIyMjg5NjMzNzUwOTE2XSwgWzE1OTUwOTMzNjEuOTc1OTg4LCA1NjYwLCAwLjEzNDk5MDI4OTgwNzMxOTY0XSwgWzE1OTUwOTMzNjUuOTk1MDczLCA1NjY0LCAwLjEyNTY4Nzk1NjgwOTk5NzU2XSwgWzE1OTUwOTMzNzcuNzU4NTM3LCA1Njc2LCAwLjEyMTk2NTAyODM0NTU4NDg3XSwgWzE1OTUwOTMzODAuNjkyMjY0LCA1Njc5LCAwLjEyMjgwODM2NzAxMzkzMTI3XSwgWzE1OTUwOTM0MjEuNDY5ODIsIDU3MjAsIDAuMTAyNzgzMjQ3ODI4NDgzNThdLCBbMTU5NTA5MzQyNC40MjQzMzksIDU3MjMsIDAuMTI4MDE0NjUzOTIxMTI3MzJdLCBbMTU5NTA5MzQyOC40OTE2NDgsIDU3MjcsIDAuMTUxOTc3MDQ3MzI0MTgwNl0sIFsxNTk1MDkzNDQyLjU3OTM1OSwgNTc0MSwgMC4xMTU4MzYzODE5MTIyMzE0NV0sIFsxNTk1MDkzNDUzLjY4Mjc0LCA1NzUyLCAwLjEyMjYyMjAxMzA5MjA0MTAyXSwgWzE1OTUwOTM0NjAuNzU3NTk4LCA1NzU5LCAwLjExOTY0MjQ5NjEwOTAwODc5XSwgWzE1OTUwOTM0NjcuNjM1NjYsIDU3NjYsIDAuMTIxNTg5MDE5ODk0NTk5OTFdLCBbMTU5NTA5MzQ3Ny43NjAzOCwgNTc3NiwgMC4xMjcxODY5MjQyMTkxMzE0N10sIFsxNTk1MDkzNDgwLjc2MTcwMywgNTc3OSwgMC4xMzEyMDAzNzMxNzI3Nl0sIFsxNTk1MDkzNDg1LjYyMzQ5NiwgNTc4NCwgMC4xMTI1OTUwOTYyMzA1MDY5XSwgWzE1OTUwOTM0OTAuNjMzNTUyLCA1Nzg5LCAwLjExMTEyMDQ1NDk2NzAyMTk0XSwgWzE1OTUwOTM0OTYuNjY1NDE3LCA1Nzk1LCAwLjEyODkxMjI3MDA2OTEyMjMxXSwgWzE1OTUwOTM1MDguNDUxODk2LCA1ODA3LCAwLjEwNzAyNDg0MTAxMDU3MDUzXSwgWzE1OTUwOTM1MDkuNDMzNTQ2LCA1ODA4LCAwLjE1Mzg5MzMwNjg1MTM4NzAyXSwgWzE1OTUwOTM1MjYuMTE2NDkzLCA1ODI1LCAwLjExNzY3Nzg2NzQxMjU2NzE0XSwgWzE1OTUwOTM1MjkuMTc0MDAyLCA1ODI4LCAwLjEwNTkyNjIwMDc0NzQ4OTkzXSwgWzE1OTUwOTM1MzYuMTY4ODgyLCA1ODM1LCAwLjExODAwNjU3OTU3NzkyMjgyXSwgWzE1OTUwOTM1NDcuNzU0MjI0LCA1ODQ3LCAwLjExMjQ4OTE1NjQyNDk5OTI0XSwgWzE1OTUwOTM1NjIuNzQ0NTA1LCA1ODYyLCAwLjExMjExNzUxNDAxNDI0NDA4XSwgWzE1OTUwOTM1NjQuNzUxMDA2LCA1ODY0LCAwLjEzMjQzNTY3OTQzNTcyOTk4XSwgWzE1OTUwOTM1NzEuNzQ4ODk0LCA1ODcxLCAwLjExMTk5ODYxMDE5ODQ5Nzc3XSwgWzE1OTUwOTM1ODEuODYwNzkyLCA1ODgxLCAwLjEzMzk5NTUxODA4ODM0MDc2XSwgWzE1OTUwOTM1OTAuMTYxODM0LCA1ODg5LCAwLjEyMTg1OTg3ODMwMTYyMDQ4XSwgWzE1OTUwOTM1OTIuMTYxOTA4LCA1ODkxLCAwLjEyMTMwNDA1NzUzODUwOTM3XSwgWzE1OTUwOTM1OTQuMDQwMjI4LCA1ODkzLCAwLjEyNDEzNzQzMTM4MzEzMjkzXSwgWzE1OTUwOTM1OTkuMDY5MTQ4LCA1ODk4LCAwLjE1NzU3MzIyMzExNDAxMzY3XSwgWzE1OTUwOTM2MDguNjE5NTE1LCA1OTA3LCAwLjEzMjM0NzEzNjczNTkxNjE0XSwgWzE1OTUwOTM2MTguMjUzMzM0LCA1OTE3LCAwLjEwODYxNTI2NDI5NjUzMTY4XSwgWzE1OTUwOTM2MTkuMjM2MzksIDU5MTgsIDAuMTE2MDI2MTYzMTAxMTk2MjldLCBbMTU5NTA5MzYyOS4yOTc5MjgsIDU5MjgsIDAuMTIxMjg4NjU3MTg4NDE1NTNdLCBbMTU5NTA5MzYzMy4xNjIxODQsIDU5MzIsIDAuMTEwNzk0ODk0Mzk3MjU4NzZdLCBbMTU5NTA5MzYzNC4yMTM5MjEsIDU5MzMsIDAuMTE1MzYxNTcxMzExOTUwNjhdLCBbMTU5NTA5MzY1My40OTQ1NTIsIDU5NTIsIDAuMTIxNjE2NDM4MDMxMTk2Nl0sIFsxNTk1MDkzNjU4LjUwMDg0NiwgNTk1NywgMC4xMzQxMDU1MzMzNjE0MzQ5NF0sIFsxNTk1MDkzNjYwLjQ2ODczNCwgNTk1OSwgMC4xMjMxNjM1NTEwOTIxNDc4M10sIFsxNTk1MDkzNjY0LjQwMzY4MywgNTk2MywgMC4xMzEyOTAxMDc5NjU0NjkzNl0sIFsxNTk1MDkzNjczLjI1ODQ1MiwgNTk3MiwgMC4xMjA1ODYwMTUyODQwNjE0M10sIFsxNTk1MDkzNjkxLjAxMDY3MSwgNTk5MCwgMC4xMzI1NTI2MjM3NDg3NzkzXSwgWzE1OTUwOTM3MTAuNjk3MTIsIDYwMTAsIDAuMTIwODQzMTY0NjIyNzgzNjZdLCBbMTU5NTA5MzcxNS40OTc2MzgsIDYwMTUsIDAuMTQxOTIzMzY3OTc3MTQyMzNdLCBbMTU5NTA5MzcyNC41MzY3NjgsIDYwMjQsIDAuMTI3NzQ0NjU5NzgxNDU2XSwgWzE1OTUwOTM3MzAuNjAwNjU3LCA2MDMwLCAwLjEwNTMyMjMxNjI4ODk0ODA2XSwgWzE1OTUwOTM3MzEuNTY5MDgyLCA2MDMxLCAwLjEwNDA1MDM4Mjk3MTc2MzYxXSwgWzE1OTUwOTM3MzIuNTYxMDQ0LCA2MDMyLCAwLjExNTkyMDM4NzIwODQ2MTc2XSwgWzE1OTUwOTM3MzUuNjE3ODQ5LCA2MDM1LCAwLjExMzM1MzA3MzU5Njk1NDM1XSwgWzE1OTUwOTM3MzguNTgwMDU4LCA2MDM4LCAwLjEyOTk1MjA3MzA5NzIyOV0sIFsxNTk1MDkzNzYwLjY4MDIwOCwgNjA2MCwgMC4xMTEwNzg2NjQ2NjA0NTM4XSwgWzE1OTUwOTM3NzcuMzM3MTE5LCA2MDc3LCAwLjEwNDI3NDk4MDcyMzg1Nzg4XSwgWzE1OTUwOTM3NzguMjg0NTM3LCA2MDc4LCAwLjEwMzAwODk0MDgxNTkyNTZdLCBbMTU5NTA5Mzc4Mi40NzA2NDMsIDYwODIsIDAuMTM4ODg2MjQzMTA0OTM0N10sIFsxNTk1MDkzNzg3LjUwMDY5NSwgNjA4NywgMC4xMTY0NTU0NjU1NTUxOTEwNF0sIFsxNTk1MDkzNzk0LjcwMTQwOSwgNjA5NCwgMC4xMTc2MjM0OTMwNzUzNzA3OV0sIFsxNTk1MDkzODAzLjQ0MDI2NCwgNjEwMywgMC4xMDk1MzUzMjE1OTMyODQ2XSwgWzE1OTUwOTM4MDUuNDQyNjIyLCA2MTA1LCAwLjExMTU5NTAxOTY5ODE0M10sIFsxNTk1MDkzODE1LjgxNjk2OSwgNjExNSwgMC4xMTA4MzE2NjMwMTI1MDQ1OF0sIFsxNTk1MDkzODIxLjM1OTQ5NiwgNjEyMSwgMC4xMDk4MzQzMTMzOTI2MzkxNl0sIFsxNTk1MDkzODIzLjMyNTI4NiwgNjEyMywgMC4xMTAyMzIzOTc5MTM5MzI4XSwgWzE1OTUwOTM4MjkuMjY2OTk5LCA2MTI5LCAwLjExNjY5NjAyOTkwMTUwNDUyXSwgWzE1OTUwOTM4MzEuMzgwNTY2LCA2MTMxLCAwLjEyODI2NTAzODEzMjY2NzU0XSwgWzE1OTUwOTM4MzMuNDEzMTU3LCA2MTMzLCAwLjExOTc4NDQyMjIxODc5OTU5XSwgWzE1OTUwOTM4NDUuMzQzOTMsIDYxNDUsIDAuMTMyNTE1OTk2Njk0NTY0ODJdLCBbMTU5NTA5Mzg0Ny4zNDUzOTIsIDYxNDcsIDAuMTExODAxMjU5MjE5NjQ2NDVdLCBbMTU5NTA5Mzg0OS4yNzU1NDksIDYxNDksIDAuMTAzMDM0MTc1OTMyNDA3MzhdLCBbMTU5NTA5Mzg3Mi4yNzc1MDgsIDYxNzIsIDAuMTA3MTMzMjk5MTEyMzE5OTVdLCBbMTU5NTA5Mzg4MS40MDYyMzcsIDYxODEsIDAuMTExNzMzMjA1NjE2NDc0MTVdLCBbMTU5NTA5Mzg4NC40MDc3NjksIDYxODQsIDAuMTEyNjA1MTY5NDE1NDczOTRdLCBbMTU5NTA5MzkwMC40MDIyNjYsIDYyMDAsIDAuMDk1NDIyMDIyMDQ0NjU4NjZdLCBbMTU5NTA5MzkxMC40NTM0OTEsIDYyMTAsIDAuMTM1NzAyMjUyMzg4MDAwNV0sIFsxNTk1MDkzOTExLjQwOTY3NiwgNjIxMSwgMC4xMjkwMjc2MzQ4NTkwODUwOF0sIFsxNTk1MDkzOTEzLjM1NjA3NywgNjIxMywgMC4xMTIyNDIzNTU5NDI3MjYxNF0sIFsxNTk1MDkzOTE5LjU5ODMzOSwgNjIxOSwgMC4xMTE1MzgzNDMxMzE1NDIyXSwgWzE1OTUwOTM5MjUuMzE2OTUsIDYyMjUsIDAuMDk4OTEyODIwMjE5OTkzNTldLCBbMTU5NTA5MzkzMi4zNjAyMzEsIDYyMzIsIDAuMTIyMDgyNDA0NzkyMzA4ODFdLCBbMTU5NTA5MzkzNy40MDA5NzUsIDYyMzcsIDAuMTE0MTE4NDk0MDkzNDE4MTJdLCBbMTU5NTA5Mzk0NC41NDM1NzksIDYyNDQsIDAuMTY0NzMyNjA1MjE4ODg3MzNdLCBbMTU5NTA5Mzk1MC4zNjA4MTMsIDYyNTAsIDAuMTE2MDY3MzY0ODExODk3MjhdLCBbMTU5NTA5Mzk2Mi45MTM5MjQsIDYyNjMsIDAuMTI0OTIyMTg2MTM2MjQ1NzNdLCBbMTU5NTA5Mzk2OS45MzI0ODQsIDYyNzAsIDAuMTAzOTEwOTUyODA2NDcyNzhdLCBbMTU5NTA5Mzk4OS4xMzkzMDQsIDYyODksIDAuMTMxNzg4NjcxMDE2NjkzMTJdLCBbMTU5NTA5NDAwOC45MDQyOTksIDYzMDksIDAuMDk3NDkyMjMyOTE4NzM5MzJdLCBbMTU5NTA5NDAxMi4xMzk1MiwgNjMxMiwgMC4wOTEyMDc1NjM4NzcxMDU3MV0sIFsxNTk1MDk0MDE1Ljk0Njg3NCwgNjMxNiwgMC4xNTA2NTAyMzMwMzAzMTkyXSwgWzE1OTUwOTQwMTYuOTY0MDQzLCA2MzE3LCAwLjEyMzg5OTE3NjcxNjgwNDVdLCBbMTU5NTA5NDAyMy45Nzc0NywgNjMyNCwgMC4xMTExMjUzNDk5OTg0NzQxMl0sIFsxNTk1MDk0MDQwLjU4NjE0MSwgNjM0MSwgMC4xMDQ5NDgyMDAyODU0MzQ3Ml0sIFsxNTk1MDk0MDUxLjYwODMyOCwgNjM1MiwgMC4xMjAwNzM3NjU1MTYyODExM10sIFsxNTk1MDk0MDYyLjgxNjIsIDYzNjMsIDAuMTA4OTI0NTk3NTAxNzU0NzZdLCBbMTU5NTA5NDA2OS43OTQwNDEsIDYzNzAsIDAuMTI4OTkzMjcyNzgxMzcyMDddLCBbMTU5NTA5NDA3NS42MDU2MDMsIDYzNzYsIDAuMTE3ODUwODQ3NTQyMjg1OTJdLCBbMTU5NTA5NDA5OS43MjQ1NTcsIDY0MDAsIDAuMTIzMDQ4NTE0MTI3NzMxMzJdLCBbMTU5NTA5NDEyMi41MjU1NDgsIDY0MjMsIDAuMTAyMDQ2NDAwMzA4NjA5MDFdLCBbMTU5NTA5NDE0Ni41ODUxNCwgNjQ0NywgMC4xMDI4ODY5MDAzMDU3NDc5OV0sIFsxNTk1MDk0MTU0LjUwOTA5NywgNjQ1NSwgMC4xMzU1MDQyMDEwNTQ1NzMwNl0sIFsxNTk1MDk0MTU4LjUxODMwMSwgNjQ1OSwgMC4xMDA5Nzc1ODQ3MTk2NTc5XSwgWzE1OTUwOTQxNzEuNzM2OTUyLCA2NDcyLCAwLjExNjc1Mzc3MTkwMTEzMDY4XSwgWzE1OTUwOTQxODIuOTQxNTM4LCA2NDgzLCAwLjExMDIxNTg3OTk3Njc0OTQyXSwgWzE1OTUwOTQxODYuOTYyNTA1LCA2NDg3LCAwLjEyODg3ODQ1OTMzNDM3MzQ3XSwgWzE1OTUwOTQxOTQuODU3NjQ4LCA2NDk1LCAwLjEyMjk3NzgwODExNzg2NjUyXSwgWzE1OTUwOTQxOTUuODg2OTE0LCA2NDk2LCAwLjExMTQ1NjcyMjAyMTEwMjldLCBbMTU5NTA5NDE5OS44NzgxMjQsIDY1MDAsIDAuMTIyODY2Nzc5NTY1ODExMTZdLCBbMTU5NTA5NDIwOC43NjUyNSwgNjUwOSwgMC4xMTgzNDc3OTM4MTc1MjAxNF0sIFsxNTk1MDk0MjA5LjcyOTczNywgNjUxMCwgMC4xMDM2NjU1MTU3ODA0NDg5MV0sIFsxNTk1MDk0MjIwLjA1NTIxOSwgNjUyMCwgMC4xMDQ2NjE0NDk3OTAwMDA5Ml0sIFsxNTk1MDk0MjIxLjA0MDgyNCwgNjUyMSwgMC4xMTU4MTM4MzY0NTUzNDUxNV0sIFsxNTk1MDk0MjIyLjAyMDYzMiwgNjUyMiwgMC4xMDE1NzA4MjIyOTg1MjY3Nl0sIFsxNTk1MDk0MjMwLjMzNzA2NywgNjUzMCwgMC4wOTkwNzM2OTMxNTYyNDIzN10sIFsxNTk1MDk0MjMzLjk4MzgwMSwgNjUzNCwgMC4xMDk4MDgwNDI2NDU0NTQ0XSwgWzE1OTUwOTQyNTAuMjA2NDc1LCA2NTUwLCAwLjEwNDI1Mzc2MTQ3MDMxNzg0XSwgWzE1OTUwOTQyNzQuMTEwMDAzLCA2NTc0LCAwLjExNDIzMDc5NjY5NDc1NTU1XSwgWzE1OTUwOTQyNzguMDkxNTcxLCA2NTc4LCAwLjEwODc3Nzc5ODcxMjI1MzU3XSwgWzE1OTUwOTQyODAuMDUwNTg5LCA2NTgwLCAwLjExODg0NDM0NTIxMTk4MjczXSwgWzE1OTUwOTQyODEuMDgzMDUsIDY1ODEsIDAuMTA4OTc0NDE5NTM0MjA2MzldLCBbMTU5NTA5NDI4NC4zMDUwNjYsIDY1ODQsIDAuMTI2NjI2MzEyNzMyNjk2NTNdLCBbMTU5NTA5NDI5My4xNjY1NTIsIDY1OTMsIDAuMTAzMDgwNzY0NDEyODc5OTRdLCBbMTU5NTA5NDI5NC4xNjQ4MzcsIDY1OTQsIDAuMTA3NzI4ODA5MTE4MjcwODddLCBbMTU5NTA5NDMwMi45ODQ4MTUsIDY2MDMsIDAuMTAzNjIyNTc4MDg0NDY4ODRdLCBbMTU5NTA5NDMwNi4wMjkwNjMsIDY2MDYsIDAuMTA3Mjc1NjA1MjAxNzIxMTldLCBbMTU5NTA5NDMxNi4wMTU1MjEsIDY2MTYsIDAuMTE0MTQ4MDA1ODQzMTYyNTRdLCBbMTU5NTA5NDMyMS4wOTk0NDgsIDY2MjEsIDAuMTE3NDc0NTI2MTY2OTE1OV0sIFsxNTk1MDk0MzU3LjM5MzIzMywgNjY1NywgMC4xMjkzNDMzMzA4NjAxMzc5NF0sIFsxNTk1MDk0MzY2LjI2NjczMSwgNjY2NiwgMC4xMjE1NTQxMzYyNzYyNDUxMl0sIFsxNTk1MDk0MzY4LjI1MDU5OSwgNjY2OCwgMC4xMDk1ODQzMDE3MTAxMjg3OF0sIFsxNTk1MDk0MzcyLjI2NDkxNywgNjY3MiwgMC4xMzA3MjQ4OTIwMjAyMjU1Ml0sIFsxNTk1MDk0Mzc4LjM2OTQ2NSwgNjY3OCwgMC4xMTg3MDg3NzQ0NDc0NDExXSwgWzE1OTUwOTQzODEuMzU1Mjg0LCA2NjgxLCAwLjA4NTUzOTM1NTg3NDA2MTU4XSwgWzE1OTUwOTQzODguNDg3MDMzLCA2Njg4LCAwLjE0MjczODA0NDI2MTkzMjM3XSwgWzE1OTUwOTQzOTEuNDc2MDE0LCA2NjkxLCAwLjEyNzU4NjYzMjk2Njk5NTI0XSwgWzE1OTUwOTQzOTYuMzkxMDk3LCA2Njk2LCAwLjExNTgxOTE3MTA3MTA1MjU1XSwgWzE1OTUwOTQzOTkuMzQyMDE4LCA2Njk5LCAwLjA5Mjc4NjU5NTIyNTMzNDE3XSwgWzE1OTUwOTQ0MDcuNTYxMTEyLCA2NzA3LCAwLjA5OTA1MTA4ODA5NDcxMTNdLCBbMTU5NTA5NDQxMS42ODA3MjgsIDY3MTEsIDAuMDk3NTMwODQxODI3MzkyNThdLCBbMTU5NTA5NDQxNS43NDEwNTEsIDY3MTUsIDAuMDk5ODM0NTc2MjQ5MTIyNjJdLCBbMTU5NTA5NDQyNS41Nzc1MzIsIDY3MjUsIDAuMTA1MjM2OTYyNDM3NjI5N10sIFsxNTk1MDk0NDI2LjU1Njc4NCwgNjcyNiwgMC4wOTI3ODQ3NDc0ODEzNDYxM10sIFsxNTk1MDk0NDM4LjU1ODc0LCA2NzM4LCAwLjExNzQ1MjMyMzQzNjczNzA2XSwgWzE1OTUwOTQ0NDIuNTI2MTYyLCA2NzQyLCAwLjEwNDMzNzM1Njk4NDYxNTMzXSwgWzE1OTUwOTQ0NDkuNTAzNjgzLCA2NzQ5LCAwLjEwODU3NzI5NjEzNzgwOTc1XSwgWzE1OTUwOTQ0NTMuNjEwOTY3LCA2NzUzLCAwLjEwNjA1MDgzNDA1OTcxNTI3XSwgWzE1OTUwOTQ0NjUuMDgyNzQzLCA2NzY0LCAwLjEyNzEyMTc0NjU0MDA2OTU4XSwgWzE1OTUwOTQ0NzcuMDcyNTg1LCA2Nzc2LCAwLjEwOTU2Mzc0NTU1ODI2MTg3XSwgWzE1OTUwOTQ0OTMuMzM3NDc3LCA2NzkyLCAwLjEwNzQyNTg4MzQxMjM2MTE1XSwgWzE1OTUwOTQ1MTguODAxMTU0LCA2ODE3LCAwLjExNTIxNDg1NDQ3ODgzNjA2XSwgWzE1OTUwOTQ1MzMuNzM5NzExLCA2ODMyLCAwLjExODk5MDM5MTQ5Mjg0MzYzXSwgWzE1OTUwOTQ1NDEuOTU0NywgNjg0MCwgMC4wOTM1NjU4NTE0NDk5NjY0M10sIFsxNTk1MDk0NTQ4LjA4ODUzNiwgNjg0NiwgMC4xMTQ1NDAzMDEyNjMzMzIzN10sIFsxNTk1MDk0NTUyLjI2Njg3OSwgNjg1MCwgMC4xMTI3Mjk0Njc0NTE1NzI0Ml0sIFsxNTk1MDk0NTU2LjI0OTY3NCwgNjg1NCwgMC4xMDk2MDg5MTg0Mjg0MjEwMl0sIFsxNTk1MDk0NTY0LjM2NjU5NywgNjg2MiwgMC4xMDUzNzA3OTcyMTY4OTIyNF0sIFsxNTk1MDk0NTcwLjIwMjYxOSwgNjg2OCwgMC4xMDk0NDY2MTQ5ODA2OTc2M10sIFsxNTk1MDk0NTcxLjIyMDEyNiwgNjg2OSwgMC4xMDQ5MDUzNzQzNDgxNjM2XSwgWzE1OTUwOTQ1ODguNDc3MzUzLCA2ODg2LCAwLjExNDIzOTIwODQwMDI0OTQ4XSwgWzE1OTUwOTQ1OTcuNDE3OTAxLCA2ODk1LCAwLjA5MDM0MDM0NjA5Nzk0NjE3XSwgWzE1OTUwOTQ2MDMuNjA0MjQsIDY5MDEsIDAuMTE0NDY1NzgwNTU2MjAxOTNdLCBbMTU5NTA5NDYxMS42OTc4OCwgNjkwOSwgMC4xMTQ2MTYwNzM2NjgwMDMwOF0sIFsxNTk1MDk0NjE0Ljc5MDI0NCwgNjkxMiwgMC4wOTYyNjY3MTY3MTg2NzM3XSwgWzE1OTUwOTQ2MTguNzgxNDUyLCA2OTE2LCAwLjEwMjA1NTA1Nzg4MzI2MjYzXSwgWzE1OTUwOTQ2MjguNjM5ODk3LCA2OTI2LCAwLjEwMjA3MDcxOTAwMzY3NzM3XSwgWzE1OTUwOTQ2MzYuNTg0NTg3LCA2OTM0LCAwLjExMTQ4ODc0NDYxNjUwODQ4XSwgWzE1OTUwOTQ2MzkuNjA5MDM1LCA2OTM3LCAwLjA5MDcxNjA2Mzk3NjI4Nzg0XSwgWzE1OTUwOTQ2NTMuNTc5NzgxLCA2OTUxLCAwLjA5ODc1ODUyNjE0NjQxMTldLCBbMTU5NTA5NDY1Ny42ODYxMDYsIDY5NTUsIDAuMDkyODI0MDI2OTQyMjUzMTFdLCBbMTU5NTA5NDY2NS44MTcxMjEsIDY5NjMsIDAuMTA2MDcwMzYyMDMxNDU5ODFdLCBbMTU5NTA5NDY2OC43ODY1MDEsIDY5NjYsIDAuMDk0NDAwODc1MjcwMzY2NjddLCBbMTU5NTA5NDY3NC45NTUyODEsIDY5NzIsIDAuMTE0NDg2OTc3NDU4MDAwMThdLCBbMTU5NTA5NDY5My40MTcxMDIsIDY5OTAsIDAuMTAzNzI3ODc3MTQwMDQ1MTddLCBbMTU5NTA5NDY5NS40MDA0NTgsIDY5OTIsIDAuMTEwOTg2MTEzNTQ4Mjc4ODFdLCBbMTU5NTA5NDcxMy40MzY5ODYsIDcwMTAsIDAuMTI0MjM5NjYwNzk5NTAzMzNdLCBbMTU5NTA5NDcxNy40NzgyNCwgNzAxNCwgMC4xMTkxMzE4MTg0MTM3MzQ0NF0sIFsxNTk1MDk0NzIwLjY1MTU0NywgNzAxNywgMC4xMDU2Mzc0MzExNDQ3MTQzNl0sIFsxNTk1MDk0NzM1Ljk5NDM1OSwgNzAzMiwgMC4xMDg4NjA5MjQ4Mzk5NzM0NV0sIFsxNTk1MDk0NzM5LjA0MTQ0MSwgNzAzNSwgMC4xMDAyMTc0MDE5ODEzNTM3Nl0sIFsxNTk1MDk0NzQyLjg4NzkzNywgNzAzOSwgMC4xMDE4NjM2MDAzMTM2NjM0OF0sIFsxNTk1MDk0NzQ5Ljk5MDQ1OSwgNzA0NiwgMC4wOTk5Mjc2NDg5MDE5MzkzOV0sIFsxNTk1MDk0NzYyLjg1NTc3OCwgNzA1OSwgMC4xMTg2ODgzNDQ5NTU0NDQzNF0sIFsxNTk1MDk0NzY4LjgwMzAzLCA3MDY1LCAwLjEzNjI2MTg5NTI5ODk1NzgyXSwgWzE1OTUwOTQ3ODIuOTYwNzMzLCA3MDc5LCAwLjEyNjgwNTM3OTk4Njc2M10sIFsxNTk1MDk0Nzk0Ljk2NzczNSwgNzA5MSwgMC4xMDAxNTU5ODY4NDU0OTMzMl0sIFsxNTk1MDk0ODAxLjk0NjIxMSwgNzA5OCwgMC4wOTMyNzAzMzkwNzE3NTA2NF0sIFsxNTk1MDk0ODEwLjAwNjExNSwgNzEwNiwgMC4xMjQzNTEzMDc3NDk3NDgyM10sIFsxNTk1MDk0ODE4LjEyMTM3LCA3MTE0LCAwLjEzNTk3MTAyNDYzMjQ1MzkyXSwgWzE1OTUwOTQ4MTkuMTcyNDE1LCA3MTE1LCAwLjExMjY3ODYyNDY4OTU3OTAxXSwgWzE1OTUwOTQ4MjQuMTI0NDIyLCA3MTIwLCAwLjA5NjQyOTU5Mzg2MTEwMzA2XSwgWzE1OTUwOTQ4MjguMjM3NDEyLCA3MTI0LCAwLjA5OTE4MDgxNzYwNDA2NDk0XSwgWzE1OTUwOTQ4NDEuNDI2ODk0LCA3MTM3LCAwLjEwODU3NTIzMjMyNjk4NDRdLCBbMTU5NTA5NDg0NS44MTUyMiwgNzE0MSwgMC4xMTk2Mzg4MDA2MjEwMzI3MV0sIFsxNTk1MDk0ODU5LjYxODYxMywgNzE1NSwgMC4xMTI3MTkxNjMyOTg2MDY4N10sIFsxNTk1MDk0ODcxLjUxNjAxOCwgNzE2NywgMC4xMzA2OTU2NzA4NDMxMjQ0XSwgWzE1OTUwOTQ4NzIuNTczNDc5LCA3MTY4LCAwLjEwNjM5MDkwMDkwOTkwMDY3XSwgWzE1OTUwOTQ4NzkuNjgxMzExLCA3MTc1LCAwLjEwODI3Nzk3NjUxMjkwODk0XSwgWzE1OTUwOTQ4ODcuODQwMDQ2LCA3MTgzLCAwLjEwNjkyNzk3NjAxMjIyOTkyXSwgWzE1OTUwOTQ4OTMuODE0NzcyLCA3MTg5LCAwLjExMTA5ODEyNTU3Njk3Mjk2XSwgWzE1OTUwOTQ4OTkuNzk5NDQzLCA3MTk1LCAwLjA5OTE1MTc3NTI0MDg5ODEzXSwgWzE1OTUwOTQ5MDYuOTA0ODA4LCA3MjAyLCAwLjEwMDA0NzM1NzM4MDM5MDE3XSwgWzE1OTUwOTQ5MDguODk4MjQ4LCA3MjA0LCAwLjEwMjc3NzIxMjg1ODIwMDA3XSwgWzE1OTUwOTQ5MTguMDI4MDUyLCA3MjEzLCAwLjA5MjcxMDkxMjIyNzYzMDYyXSwgWzE1OTUwOTQ5MjAuMDc1NjQzLCA3MjE1LCAwLjExNTA0NTU0MDAzNDc3MDk3XSwgWzE1OTUwOTQ5MjEuMDI2MTI3LCA3MjE2LCAwLjEwMjQxOTI0MjI2Mjg0MDI3XSwgWzE1OTUwOTQ5NDAuMjc5MDg0LCA3MjM1LCAwLjEwMTIzMDk3ODk2NTc1OTI4XSwgWzE1OTUwOTQ5NDMuMjU5NjU1LCA3MjM4LCAwLjEyNTkzNzMyNzc0MjU3NjZdLCBbMTU5NTA5NDk1Mi41MDg0NTksIDcyNDcsIDAuMDk5MzQ3MDQ3NTA3NzYyOTFdLCBbMTU5NTA5NDk2NS42Mzg4NzMsIDcyNjAsIDAuMDk2OTYwOTYxODE4Njk1MDddLCBbMTU5NTA5NDk3Ni45ODE2OTIsIDcyNzEsIDAuMDkzMDE5ODU4MDAyNjYyNjZdLCBbMTU5NTA5NDk4MC4wMTE3MSwgNzI3NCwgMC4xMDA3MTM5ODMxNzgxMzg3M10sIFsxNTk1MDk0OTkwLjE0MzYyNywgNzI4NCwgMC4xMDA3NzEzMjI4NDY0MTI2Nl0sIFsxNTk1MDk1MDA2LjUxMjc4NiwgNzMwMCwgMC4xMTY5MTEzNjY1ODE5MTY4MV0sIFsxNTk1MDk1MDE3LjU4OTk1OCwgNzMxMSwgMC4xMzIwNjg2Nzg3MzY2ODY3XSwgWzE1OTUwOTUwMjAuOTc5Njk1LCA3MzE0LCAwLjEyNjA3Mzg5Njg4NDkxODJdLCBbMTU5NTA5NTAzNS40NjkzNjYsIDczMjksIDAuMTA5NjU3ODk4NTQ1MjY1Ml0sIFsxNTk1MDk1MDQ1LjY3MTE1NiwgNzMzOSwgMC4wOTEyNDQwMjcwMTg1NDcwNl0sIFsxNTk1MDk1MDQ2LjY0MTY2MSwgNzM0MCwgMC4xMDE4NTE3NjEzNDEwOTQ5N10sIFsxNTk1MDk1MDUxLjg0OTA3NywgNzM0NSwgMC4xMDMzNTI5OTM3MjY3MzAzNV0sIFsxNTk1MDk1MDUyLjg4MjgxNiwgNzM0NiwgMC4xMDg1MDAwNzgzMjA1MDMyM10sIFsxNTk1MDk1MDU4LjA5NDE5NiwgNzM1MSwgMC4wOTg3NTc1NjUwMjE1MTQ4OV0sIFsxNTk1MDk1MDYwLjEyMzg2NiwgNzM1MywgMC4xMTYxODg5MDYxMzMxNzQ5XSwgWzE1OTUwOTUwNjQuMTkwMjc5LCA3MzU3LCAwLjA5MzM4Mjc3NTc4MzUzODgyXSwgWzE1OTUwOTUwNjUuMjU4MDc2LCA3MzU4LCAwLjEyNDQ1NzI0NzU1NTI1NTg5XSwgWzE1OTUwOTUwNjYuMzExNSwgNzM1OSwgMC4wOTY5MjQ2OTIzOTIzNDkyNF0sIFsxNTk1MDk1MDgxLjQ0NDA4LCA3Mzc0LCAwLjExMzgwNTI5NDAzNjg2NTIzXSwgWzE1OTUwOTUwODguNjY1NjQxLCA3MzgxLCAwLjA4MTM4MDU3NTg5NTMwOTQ1XSwgWzE1OTUwOTUwODkuNjg5MTU2LCA3MzgyLCAwLjA5Mjk4ODUyMDg2MDY3Ml0sIFsxNTk1MDk1MDkzLjY3NzYwOSwgNzM4NiwgMC4xMTg0MzMxNjI1Njk5OTk3XSwgWzE1OTUwOTUwOTUuNzA2MjI1LCA3Mzg4LCAwLjA4NzI2MjU0ODUwNjI1OTkyXSwgWzE1OTUwOTUxMDQuOTkyOTcyLCA3Mzk3LCAwLjIwMTk1MDYwOTY4Mzk5MDQ4XSwgWzE1OTUwOTUxMDkuMDA5OTM4LCA3NDAxLCAwLjExMzE1MzUzMjE0NzQwNzUzXSwgWzE1OTUwOTUxMTEuOTk2Mzk5LCA3NDA0LCAwLjExNDU3NTY5MTUyMTE2Nzc2XSwgWzE1OTUwOTUxMzguNjk2ODUsIDc0MzAsIDAuMTE1MjIwNTk4ODc2NDc2MjldLCBbMTU5NTA5NTEzOS43MTUyNCwgNzQzMSwgMC4xMDczOTg1MzIzMzA5ODk4NF0sIFsxNTk1MDk1MTQ4Ljc5MjAzMSwgNzQ0MCwgMC4wOTU3OTgxNTcxNTU1MTM3Nl0sIFsxNTk1MDk1MTUxLjkyNDQzMywgNzQ0MywgMC4xMzcwMTAyMzE2MTQxMTI4NV0sIFsxNTk1MDk1MTU1Ljk3MjYzNSwgNzQ0NywgMC4wODY3ODUyNDk0MTIwNTk3OF0sIFsxNTk1MDk1MTU5LjA1OTMyLCA3NDUwLCAwLjA5NzU2MTczMTkzNDU0NzQyXSwgWzE1OTUwOTUxNjguOTczNDcxLCA3NDYwLCAwLjEwMjQ5MzU2OTI1NDg3NTE4XSwgWzE1OTUwOTUxNjkuOTg1NzIyLCA3NDYxLCAwLjEyMzMwNTMyODE5MDMyNjY5XSwgWzE1OTUwOTUxNzAuODczMzI1LCA3NDYyLCAwLjEwMzYwMjA2NjYzNjA4NTUxXSwgWzE1OTUwOTUxNzIuMzY5Nzk5LCA3NDYzLCAwLjEwMzU3MTAxMjYxNjE1NzUzXSwgWzE1OTUwOTUxNzYuOTUxNDI0LCA3NDY4LCAwLjA4NzA2MTA2MjQ1NTE3NzMxXSwgWzE1OTUwOTUxODMuMzIxNDM1LCA3NDc0LCAwLjEwNDUxMDQ3ODY3NTM2NTQ1XSwgWzE1OTUwOTUxODcuMzUwMjU4LCA3NDc4LCAwLjExMTM0NjAxMzg0NDAxMzIxXSwgWzE1OTUwOTUxODkuMDAwMjMxLCA3NDgwLCAwLjEzNDk1OTgzMTgzMzgzOTQyXSwgWzE1OTUwOTUyMDUuMjQxMDk2LCA3NDk2LCAwLjA5ODU3MjEwNTE2OTI5NjI2XSwgWzE1OTUwOTUyMTEuNDI5OSwgNzUwMiwgMC4wOTQ0MDc4NjM5MTQ5NjY1OF0sIFsxNTk1MDk1MjEyLjUyNTI3MywgNzUwMywgMC4xMDUyMjA0Mjk1OTkyODUxM10sIFsxNTk1MDk1MjIwLjY0NDQ5MywgNzUxMSwgMC4xMjAxMTcyOTE4MDgxMjgzNl0sIFsxNTk1MDk1MjI2LjYwMTU3NSwgNzUxNywgMC4xMDg0OTY2MTM4MDA1MjU2N10sIFsxNTk1MDk1MjMxLjcyNDE5MiwgNzUyMiwgMC4xMDM2NjA4MzY4MTU4MzQwNV0sIFsxNTk1MDk1MjM5Ljc0MDc1MywgNzUzMCwgMC4xMDAzNjA2NDY4NDM5MTAyMl0sIFsxNTk1MDk1MjQ2LjkxMDQ5NiwgNzUzNywgMC4xMDQzMTE0Mjg5NjQxMzgwM10sIFsxNTk1MDk1MjU2Ljg5NTQ2OCwgNzU0NywgMC4xMjExMjU1MTkyNzU2NjUyOF0sIFsxNTk1MDk1Mjc1LjE2NjAyMSwgNzU2NSwgMC4xMjI3NjY4ODk2MzE3NDgyXSwgWzE1OTUwOTUyODMuMjkwMDgzLCA3NTczLCAwLjEwNjUzMDA2Mjg1NDI5MDAxXSwgWzE1OTUwOTUzMDYuNzc1MjMsIDc1OTYsIDAuMDk1MzAxMzg5Njk0MjEzODddLCBbMTU5NTA5NTMxMy43OTYxMiwgNzYwMywgMC4xMTM2ODYyOTMzNjM1NzExN10sIFsxNTk1MDk1MzE5Ljk2ODM2OCwgNzYwOSwgMC4xMDE4NDM2NzAwMTA1NjY3MV0sIFsxNTk1MDk1MzIzLjA3MzU0NCwgNzYxMiwgMC4xMTIzMjg3ODI2Nzc2NTA0NV0sIFsxNTk1MDk1MzU0LjY1NzQxMiwgNzY0MywgMC4xMTc3NTgyNzQwNzgzNjkxNF0sIFsxNTk1MDk1MzU1LjYyNzQ4NiwgNzY0NCwgMC4xMDQyNDA1NTkwNDE1MDAwOV0sIFsxNTk1MDk1MzcxLjcxNTkyMywgNzY2MCwgMC4wOTYwMDkyNjkzNTY3Mjc2XSwgWzE1OTUwOTUzNzIuNzE5ODA2LCA3NjYxLCAwLjExMDkzNDQ5NTkyNTkwMzMyXSwgWzE1OTUwOTUzODIuNzg0OTksIDc2NzEsIDAuMDk2ODk2NDM5NzkwNzI1NzFdLCBbMTU5NTA5NTM4NS43MjMxNTQsIDc2NzQsIDAuMTI4NDQ5NzA4MjIzMzQyOV0sIFsxNTk1MDk1Mzg3LjcxOTAwMywgNzY3NiwgMC4xMTc2NTIxMjU2NTY2MDQ3N10sIFsxNTk1MDk1Mzk4LjcwNTIyMiwgNzY4NywgMC4xMDk3NzU0OTg1MDk0MDcwNF0sIFsxNTk1MDk1NDA0LjgwOTM2LCA3NjkzLCAwLjEyMzU5NzU0NzQxMTkxODY0XSwgWzE1OTUwOTU0MDcuOTEyMDAyLCA3Njk2LCAwLjA5MTQ2NTQ3MzE3NTA0ODgzXSwgWzE1OTUwOTU0MTEuOTUyNzc5LCA3NzAwLCAwLjEwMDA3MDM0OTg3MjExMjI3XSwgWzE1OTUwOTU0MjguMDYzMjU5LCA3NzE2LCAwLjExNjM0NzQ3Njg0MDAxOTIzXSwgWzE1OTUwOTU0MzAuMDE2Mjk5LCA3NzE4LCAwLjA5Nzg0MTgxNDE2MDM0Njk4XSwgWzE1OTUwOTU0MzAuOTY0MDk4LCA3NzE5LCAwLjEwNDM5NjE0MjA2NTUyNTA1XSwgWzE1OTUwOTU0MzUuMDkxMzgsIDc3MjMsIDAuMTE1MDc1MDk2NDg3OTk4OTZdLCBbMTU5NTA5NTQzOC4wNzg1OTQsIDc3MjYsIDAuMTMxOTE3NTk1ODYzMzQyMjldLCBbMTU5NTA5NTQ0MC4wODQ0MSwgNzcyOCwgMC4wOTgzMDY2NjMzMzQzNjk2Nl0sIFsxNTk1MDk1NDQzLjEyNDcwNSwgNzczMSwgMC4xMzIzMzQwMjM3MTQwNjU1NV0sIFsxNTk1MDk1NDU0LjMxMDMzOCwgNzc0MiwgMC4xMjI3MjU4MTQ1ODA5MTczNl0sIFsxNTk1MDk1NDU4LjM0ODM3OCwgNzc0NiwgMC4wOTU4NTExNjgwMzY0NjA4OF0sIFsxNTk1MDk1NDY5LjgyNTYxOCwgNzc1NywgMC4xMDcyMDc1MTQzNDU2NDU5XSwgWzE1OTUwOTU0NzIuMjc0ODY5LCA3NzYwLCAwLjEwNjE3NTI3MzY1Njg0NTA5XSwgWzE1OTUwOTU0OTIuNzQ0MzE0LCA3NzgwLCAwLjEwOTEyMTg5NjMyNjU0MTldLCBbMTU5NTA5NTUwMC45ODY3MTQsIDc3ODgsIDAuMTIxODY3NDMzMTkwMzQ1NzZdLCBbMTU5NTA5NTUxMS4xNjk1NTksIDc3OTgsIDAuMTIyMDkwODAxNTk2NjQxNTRdLCBbMTU5NTA5NTUxMi4xODg3OTcsIDc3OTksIDAuMTE2NDYxMTEzMDk1MjgzNTFdLCBbMTU5NTA5NTUyMy40MjE1MSwgNzgxMCwgMC4wOTM0MDc2NDU4MjE1NzEzNV0sIFsxNTk1MDk1NTQ3LjAyOTE0OCwgNzgzMywgMC4xMTcxODQ4OTIyOTY3OTEwOF0sIFsxNTk1MDk1NTUyLjAzNzQ2MiwgNzgzOCwgMC4xMDM5NDQ3MTg4Mzc3MzgwNF0sIFsxNTk1MDk1NTY4LjczNjY2NywgNzg1NSwgMC4xMDg3NTU5NzU5NjE2ODUxOF0sIFsxNTk1MDk1NTg2LjA4Njk5NCwgNzg3MiwgMC4wOTMyOTAwNDU4NTc0Mjk1XSwgWzE1OTUwOTU1OTIuMDQwNTYyLCA3ODc4LCAwLjA5MTE2MjA1NTczMDgxOTddLCBbMTU5NTA5NTU5NC4wODI4MjgsIDc4ODAsIDAuMDk5MjAwNzU1MzU3NzQyMzFdLCBbMTU5NTA5NTYxMy45ODg3MTgsIDc4OTksIDAuMDk4MjQyODA0NDA4MDczNDNdLCBbMTU5NTA5NTYxNC43MjI4ODUsIDc5MDAsIDAuMTA5NTUzNzM5NDI4NTIwMl0sIFsxNTk1MDk1NjE4LjcxMzEyNiwgNzkwNCwgMC4wOTI3OTQ0NjMwMzg0NDQ1Ml0sIFsxNTk1MDk1NjIyLjU2NDkyLCA3OTA4LCAwLjA5OTY1ODMzMjc2NTEwMjM5XSwgWzE1OTUwOTU2NDAuNzk2NTExLCA3OTI2LCAwLjEwMTk1OTk4ODQ3NDg0NTg5XSwgWzE1OTUwOTU2NDcuMDQ1NDgxLCA3OTMyLCAwLjEwNDA5MjUyMzQ1NTYxOTgxXSwgWzE1OTUwOTU2NDguMDQ3NTIsIDc5MzMsIDAuMDk0MjA0ODIwNjkyNTM5MjJdLCBbMTU5NTA5NTY5MC4zNjE5NiwgNzk3NSwgMC4xMDUxMzE3MzA0MzcyNzg3NV0sIFsxNTk1MDk1Njk4LjI4MzIyOSwgNzk4MywgMC4wOTg4OTY1NzA1MDM3MTE3XSwgWzE1OTUwOTU3MDYuMzcwOTM2LCA3OTkxLCAwLjA5MjUzNzExOTk4NDYyNjc3XSwgWzE1OTUwOTU3MDcuMzE3NDM2LCA3OTkyLCAwLjA5NjU4Mzc0NjM3MzY1MzQxXSwgWzE1OTUwOTU3MTQuMzAyNDI1LCA3OTk5LCAwLjEwMzY2OTI0MTA3MDc0NzM4XV0=", "ok": true, "headers": [ [ "content-type", "application/json" ] ], "status": 200, "status_text": "" }, "https://localhost:6006/data/plugin/scalars/scalars?tag=Loss%2Fregularization_loss&run=.": { "data": "W1sxNTk1MDg3ODM4LjU3NzM0NCwgNSwgMC4wMjgzNDIyNzg2NzQyNDQ4OF0sIFsxNTk1MDg3ODUxLjQ2NTg5MiwgMTgsIDAuMDI4MzQyMTYxMzI3NjAwNDhdLCBbMTU5NTA4Nzg1Ny40NDU4NjEsIDI0LCAwLjAyODM0MjA4NDk1OTE0OTM2XSwgWzE1OTUwODc4NzMuNDA2MDE1LCA0MCwgMC4wMjgzNDE4ODkzODE0MDg2OV0sIFsxNTk1MDg3ODc1LjQ3OTk3MywgNDIsIDAuMDI4MzQxODcyNjE3NjAyMzVdLCBbMTU5NTA4Nzg3OC40OTExMTYsIDQ1LCAwLjAyODM0MTg1Mzk5MTE1MDg1Nl0sIFsxNTk1MDg3ODg2LjUwMDMyNiwgNTMsIDAuMDI4MzQxODk2ODMxOTg5MjldLCBbMTU5NTA4Nzg4OS40MzQwNzUsIDU2LCAwLjAyODM0MTk1MDg0ODY5ODYxNl0sIFsxNTk1MDg3OTA0LjU0NTk2NywgNzEsIDAuMDI4MzQyNDk2NjAzNzI3MzRdLCBbMTU5NTA4NzkwNy41MDQzODgsIDc0LCAwLjAyODM0MjYyODg1MTUzMjkzNl0sIFsxNTk1MDg3OTI3LjY2MTU1MywgOTQsIDAuMDI4MzQ0NDMwMDI5MzkyMjQyXSwgWzE1OTUwODc5MzUuNTk5MDc4LCAxMDIsIDAuMDI4MzQ1Njg5MTc3NTEzMTIzXSwgWzE1OTUwODc5MzkuNTUxNTMzLCAxMDYsIDAuMDI4MzQ2MzQ2NjkxMjUwOF0sIFsxNTk1MDg3OTU5LjQwMTA4NiwgMTI2LCAwLjAyODM0OTc4ODg1OTQ4NjU4XSwgWzE1OTUwODc5NzIuMDkyMzYyLCAxMzksIDAuMDI4MzUyMDkxMDg4ODkxMDNdLCBbMTU5NTA4Nzk4Ny43NDMyOTksIDE1NSwgMC4wMjgzNTQ5NTc2OTk3NzU2OTZdLCBbMTU5NTA4Nzk5MC43MDA2NDEsIDE1OCwgMC4wMjgzNTU0ODExMDMwNjI2M10sIFsxNTk1MDg3OTk5LjU3NzM4NiwgMTY3LCAwLjAyODM1Njk1NDQ1NTM3NTY3XSwgWzE1OTUwODgwMTAuMzc0NzU3LCAxNzgsIDAuMDI4MzU4NDE4NDk0NDYyOTY3XSwgWzE1OTUwODgwMTUuMjY4OTE4LCAxODMsIDAuMDI4MzU4OTE1ODIwNzE3ODFdLCBbMTU5NTA4ODAxNy4zNjE4MzksIDE4NSwgMC4wMjgzNTkwOTQ2MzQ2NTIxMzhdLCBbMTU5NTA4ODAxOC4zMTY4MiwgMTg2LCAwLjAyODM1OTE5MzM1NDg0NTA0N10sIFsxNTk1MDg4MDIyLjE3ODU5MywgMTkwLCAwLjAyODM1OTYyMTc2MzIyOTM3XSwgWzE1OTUwODgwMzguODQ5NzE1LCAyMDcsIDAuMDI4MzYxNjQyNzMzMjE2Mjg2XSwgWzE1OTUwODgwNjAuNzg2MDE2LCAyMjksIDAuMDI4MzY0NzUzMzUwNjE1NV0sIFsxNTk1MDg4MDY1Ljc3Mzg3NiwgMjM0LCAwLjAyODM2NTgwNzYwNzc2OTk2Nl0sIFsxNTk1MDg4MDgwLjY1MDQ3NSwgMjQ5LCAwLjAyODM2OTAzOTI5NzEwMzg4Ml0sIFsxNTk1MDg4MDg2LjUxMDI3NywgMjU1LCAwLjAyODM3MDE5NDEzNzA5NjQwNV0sIFsxNTk1MDg4MDkxLjUyMjIsIDI2MCwgMC4wMjgzNzEyODE5MjE4NjM1NTZdLCBbMTU5NTA4ODA5OC4zNTkwODEsIDI2NywgMC4wMjgzNzI3MTYxNTg2Mjg0NjRdLCBbMTU5NTA4ODEwMi4yMTYwMDMsIDI3MSwgMC4wMjgzNzM1MTg5NTg2ODc3ODJdLCBbMTU5NTA4ODEwNC4xNjkyMjUsIDI3MywgMC4wMjgzNzM5MzgwNTM4NDYzNl0sIFsxNTk1MDg4MTIyLjg2MDAxMywgMjkyLCAwLjAyODM3NzQ3NTIxNjk4NDc1XSwgWzE1OTUwODgxMzguNTk0ODg3LCAzMDgsIDAuMDI4MzgxNjc1NDgxNzk2MjY1XSwgWzE1OTUwODgxNDAuNTMwMjA1LCAzMTAsIDAuMDI4MzgyMjExOTIzNTk5MjQzXSwgWzE1OTUwODgxNDguMzQ4ODMxLCAzMTgsIDAuMDI4Mzg0NDE5MTU4MTAxMDgyXSwgWzE1OTUwODgxNjAuMDcyOTA2LCAzMzAsIDAuMDI4Mzg3NzE0MTc3MzcwMDddLCBbMTU5NTA4ODE2OC43ODc4OTEsIDMzOSwgMC4wMjgzODk5MzgxNzU2NzgyNTNdLCBbMTU5NTA4ODE3Ni41NTkzMjgsIDM0NywgMC4wMjgzOTI0Njc2NDc3OTA5MV0sIFsxNTk1MDg4MTkyLjA2MjA3NSwgMzYzLCAwLjAyODM5OTAyNDE1ODcxNjIwMl0sIFsxNTk1MDg4MTk1LjkwOTAwNywgMzY3LCAwLjAyODQwMDcxMTcxNTIyMTQwNV0sIFsxNTk1MDg4MjQ5LjI4MTg3LCA0MjEsIDAuMDI4NDIxODExNzU5NDcxODkzXSwgWzE1OTUwODgyNTAuMjk3NTYsIDQyMiwgMC4wMjg0MjIxNDcwMzU1OTg3NTVdLCBbMTU5NTA4ODI2Ny4xMzA2MzgsIDQzOSwgMC4wMjg0MjcwMDY2NzY3OTMxXSwgWzE1OTUwODgyNzAuMDM2MjM1LCA0NDIsIDAuMDI4NDI3ODYzNDkzNTYxNzQ1XSwgWzE1OTUwODgyNzMuMDg4NDY3LCA0NDUsIDAuMDI4NDI4NzQwNzk5NDI3MDMyXSwgWzE1OTUwODgyODcuODYyNTkyLCA0NjAsIDAuMDI4NDMzNTc4MDg4ODc5NTg1XSwgWzE1OTUwODgyOTAuODYzMjcxLCA0NjMsIDAuMDI4NDM0MzMyNDYwMTY1MDI0XSwgWzE1OTUwODgyOTEuOTA3NTUxLCA0NjQsIDAuMDI4NDM0NTg1Nzc5OTA1MzJdLCBbMTU5NTA4ODMwMS43NDU2ODYsIDQ3NCwgMC4wMjg0Mzc2NjQ3MzIzMzY5OThdLCBbMTU5NTA4ODMxOC40NjMxMjUsIDQ5MSwgMC4wMjg0NDQ3NTc2ODUwNjUyN10sIFsxNTk1MDg4MzIwLjQ3ODYxNCwgNDkzLCAwLjAyODQ0NTcyODEyMzE4ODAyXSwgWzE1OTUwODgzNDEuMjIzNzc5LCA1MTQsIDAuMDI4NDU2MTAzMDU2NjY5MjM1XSwgWzE1OTUwODgzNDQuMjAxMzU2LCA1MTcsIDAuMDI4NDU3ODc2Mjk0ODUxMzAzXSwgWzE1OTUwODgzNTcuOTYyMDg3LCA1MzEsIDAuMDI4NDY2ODcyODcwOTIyMDldLCBbMTU5NTA4ODM2Mi45NzczOTksIDUzNiwgMC4wMjg0NzA1OTYyOTg1NzU0XSwgWzE1OTUwODgzODkuNjYxNjY3LCA1NjMsIDAuMDI4NDkyMjA2NzA3NTk2NzhdLCBbMTU5NTA4ODM5OS43OTQ4NDcsIDU3MywgMC4wMjg1MDAxMDA1OTc3MzkyMl0sIFsxNTk1MDg4NDA1LjMwMDczOSwgNTc5LCAwLjAyODUwNDY3MzM5MTU4MDU4XSwgWzE1OTUwODg0MDcuMjQxODA2LCA1ODEsIDAuMDI4NTA2MDY0Nzg3NTA3MDU3XSwgWzE1OTUwODg0MTIuMTg2MDY1LCA1ODYsIDAuMDI4NTA5MjMzMTQ2OTA1OV0sIFsxNTk1MDg4NDEzLjE3NjM4MSwgNTg3LCAwLjAyODUwOTg4MTM0NzQxNzgzXSwgWzE1OTUwODg0MjcuODA1MDY0LCA2MDIsIDAuMDI4NTE5MTM4NjkzODA5NTFdLCBbMTU5NTA4ODQ0NS41NTc2NzUsIDYyMCwgMC4wMjg1MzA1Mzk5NDQ3Njc5NTJdLCBbMTU5NTA4ODQ0Ny41MDQ0MTEsIDYyMiwgMC4wMjg1MzE3NTgxMTQ2OTU1NV0sIFsxNTk1MDg4NDU5LjA4NjQ0NCwgNjM0LCAwLjAyODUzODc2MTY2MDQ1NjY1N10sIFsxNTk1MDg4NDY1Ljk1ODI4NCwgNjQxLCAwLjAyODU0MjM5MDA5MzIwNzM2XSwgWzE1OTUwODg0NjYuODg5OTQ0LCA2NDIsIDAuMDI4NTQyOTA3OTA4NTU4ODQ2XSwgWzE1OTUwODg0NjguODgwNzY3LCA2NDQsIDAuMDI4NTQzODg1Nzk3MjYyMTkyXSwgWzE1OTUwODg0NzEuNzk5MTEzLCA2NDcsIDAuMDI4NTQ1MzMzMDcyNTQzMTQ0XSwgWzE1OTUwODg0NzMuNzQ0ODU5LCA2NDksIDAuMDI4NTQ2Mjg0ODg0MjE0NF0sIFsxNTk1MDg4NDg1LjU2MDQ1NSwgNjYxLCAwLjAyODU1NDM3NjIxNDc0MjY2XSwgWzE1OTUwODg0OTUuMzQ1Njk4LCA2NzEsIDAuMDI4NTYyNzkxNjQ1NTI2ODg2XSwgWzE1OTUwODg1MDcuMTM1NDI3LCA2ODMsIDAuMDI4NTcxMzUyMzYyNjMyNzVdLCBbMTU5NTA4ODUxMi4wMDU2MjcsIDY4OCwgMC4wMjg1NzQxMzcwMTcxMzA4NTJdLCBbMTU5NTA4ODUzNy4zNTM4OTUsIDcxNCwgMC4wMjg1OTMwNTc3NjY1NTY3NF0sIFsxNTk1MDg4NTQxLjA0MzQyNSwgNzE4LCAwLjAyODU5NjI4NzU5MzI0NTUwNl0sIFsxNTk1MDg4NTQ0Ljk1NTU3NCwgNzIyLCAwLjAyODU5OTM2ODQwODMyMjMzNF0sIFsxNTk1MDg4NTQ1LjkyMzg1MywgNzIzLCAwLjAyODYwMDAzNzA5NzkzMDkwOF0sIFsxNTk1MDg4NTUyLjczNjM0LCA3MzAsIDAuMDI4NjA0NzcxOTQxOTAwMjUzXSwgWzE1OTUwODg1NjEuNTU0MTQ3LCA3MzksIDAuMDI4NjEyMjc0Njc2NTYxMzU2XSwgWzE1OTUwODg1NjUuNDkwODkxLCA3NDMsIDAuMDI4NjE1Njc3NzI5MjQ5XSwgWzE1OTUwODg1NjkuNDIyMzg0LCA3NDcsIDAuMDI4NjE4OTYzNDM1MjkyMjQ0XSwgWzE1OTUwODg1NzQuMTgyNzQyLCA3NTIsIDAuMDI4NjIyOTM0NTk0NzUwNDA0XSwgWzE1OTUwODg1NzcuOTQ1NTIzLCA3NTYsIDAuMDI4NjI1OTIyMjc3NTY5NzddLCBbMTU5NTA4ODU4Ni41Mzc0OTYsIDc2NSwgMC4wMjg2MzIxMDgxMjIxMTAzNjddLCBbMTU5NTA4ODU5MC40MTQ0ODksIDc2OSwgMC4wMjg2MzQ2ODk3NDgyODcyXSwgWzE1OTUwODg1OTIuNDY3ODEzLCA3NzEsIDAuMDI4NjM2MjA5NjY2NzI4OTczXSwgWzE1OTUwODg1OTQuMzY3ODcyLCA3NzMsIDAuMDI4NjM3ODE4OTkyMTM3OTFdLCBbMTU5NTA4ODYwMS4yNzQ2MTgsIDc4MCwgMC4wMjg2NDM3NzAxNDMzODk3MDJdLCBbMTU5NTA4ODYwNi41NDIzNzUsIDc4NSwgMC4wMjg2NDg0NjU4NzE4MTA5MTNdLCBbMTU5NTA4ODYwOC4wMDI3MDEsIDc4NywgMC4wMjg2NTAzOTM3MDk1NDAzNjddLCBbMTU5NTA4ODYxMi45MjMwMzEsIDc5MiwgMC4wMjg2NTU2MDE2NjUzNzc2MTddLCBbMTU5NTA4ODYxNC44NzYyMDksIDc5NCwgMC4wMjg2NTc5ODIxMjU4NzgzMzRdLCBbMTU5NTA4ODYxOC43NjI4NTYsIDc5OCwgMC4wMjg2NjMzNTU4NTcxMzM4NjVdLCBbMTU5NTA4ODYyMi43NjAxMzcsIDgwMiwgMC4wMjg2NjkxMTcwMTg1ODA0MzddLCBbMTU5NTA4ODYyOC42MzA2NjEsIDgwOCwgMC4wMjg2NzY5OTk3MzI4NTE5ODJdLCBbMTU5NTA4ODYyOS41NjQ2MDEsIDgwOSwgMC4wMjg2NzgyNzU2NDQ3NzkyMDVdLCBbMTU5NTA4ODY1MS44NTY3MTEsIDgzMiwgMC4wMjg3MDc3MTI4ODg3MTc2NV0sIFsxNTk1MDg4NjU1Ljg3NjI2MSwgODM2LCAwLjAyODcxMTc1ODU1Mzk4MTc4XSwgWzE1OTUwODg2ODguMjAzNzIsIDg2OSwgMC4wMjg3NTcxMTAyMzgwNzUyNTZdLCBbMTU5NTA4ODY5NC45NzYzNjYsIDg3NiwgMC4wMjg3NzEzNzYyMzcyNzMyMTZdLCBbMTU5NTA4ODcwMC43MTc0ODcsIDg4MiwgMC4wMjg3ODQzNzkzNjMwNTk5OThdLCBbMTU5NTA4ODcxNC41ODc0NjgsIDg5NiwgMC4wMjg4MDkwODkyMTM2MDk2OTVdLCBbMTU5NTA4ODcxOC41ODYzMzgsIDkwMCwgMC4wMjg4MTUzOTI0MDQ3OTQ2OTNdLCBbMTU5NTA4ODcyNS4zMjQyNDUsIDkwNywgMC4wMjg4MjUxNjc1NjY1Mzc4NTddLCBbMTU5NTA4ODcyNy4yMDMwOSwgOTA5LCAwLjAyODgyNzYwNzYzMTY4MzM1XSwgWzE1OTUwODg3MzMuMjA1NjU1LCA5MTUsIDAuMDI4ODM0OTE4NTEzODk0MDhdLCBbMTU5NTA4ODczNS4xMDE4MjksIDkxNywgMC4wMjg4MzczMjY5MTQwNzIwMzddLCBbMTU5NTA4ODc0OC42OTY2NywgOTMxLCAwLjAyODg1NDEzOTE0OTE4ODk5NV0sIFsxNTk1MDg4NzQ5LjY4MDczNSwgOTMyLCAwLjAyODg1NTE2NTQ2NjY2NjIyXSwgWzE1OTUwODg3NTkuNDkwMTM2LCA5NDIsIDAuMDI4ODY0OTc0MTU2MDIyMDcyXSwgWzE1OTUwODg3NjIuMzY4OTA2LCA5NDUsIDAuMDI4ODY4MTEwODUwNDUzMzc3XSwgWzE1OTUwODg3NzEuMTU2MzA3LCA5NTQsIDAuMDI4ODc5MTE5MDgzMjg1MzNdLCBbMTU5NTA4ODc3NC45NzY5NzgsIDk1OCwgMC4wMjg4ODQ4MzU1NDEyNDgzMl0sIFsxNTk1MDg4Nzc5LjAyMjc5MiwgOTYyLCAwLjAyODg5MDUzMTUxMDExNDY3XSwgWzE1OTUwODg3ODcuOTIzNTQ5LCA5NzEsIDAuMDI4OTAyNzE1MDcyMDM1NzldLCBbMTU5NTA4ODc4OC44NDU2NjksIDk3MiwgMC4wMjg5MDM5NjQ5MDY5MzA5MjNdLCBbMTU5NTA4ODc5NC43MzMxMywgOTc4LCAwLjAyODkxMTEwNjI4ODQzMzA3NV0sIFsxNTk1MDg4Nzk1LjY0OTY1NiwgOTc5LCAwLjAyODkxMjI2ODU3OTAwNjE5NV0sIFsxNTk1MDg4ODAwLjY1MjYyNywgOTg0LCAwLjAyODkxNzUwNDQ3NDUyMDY4M10sIFsxNTk1MDg4ODEyLjM5MTI1NiwgOTk2LCAwLjAyODkyOTUyOTcxMTYwNDEyXSwgWzE1OTUwODg4MTguMzExMjQsIDEwMDIsIDAuMDI4OTM1MTkyMTUyODU3NzhdLCBbMTU5NTA4ODgyMS4zMzEyNDQsIDEwMDUsIDAuMDI4OTM3OTc0OTQ0NzEwNzNdLCBbMTU5NTA4ODgyOS43NzgzOTksIDEwMTQsIDAuMDI4OTQ1NzU1MjEzNDk5MDddLCBbMTU5NTA4ODg0MC41MjMyNzQsIDEwMjUsIDAuMDI4OTU2OTk0NDE0MzI5NTNdLCBbMTU5NTA4ODg1OC44MjU3MjQsIDEwNDQsIDAuMDI4OTcxNDQyOTUyNzUyMTEzXSwgWzE1OTUwODg4NzEuMDMwNDY4LCAxMDU3LCAwLjAyODk3OTY4NTE1NzUzNzQ2XSwgWzE1OTUwODg4NzYuODIwNDcyLCAxMDYzLCAwLjAyODk4Mjk0NjY0OTE5Mzc2NF0sIFsxNTk1MDg4ODc5LjczODkzOSwgMTA2NiwgMC4wMjg5ODQyOTcwNjY5MjY5NTZdLCBbMTU5NTA4ODg4MS42NjMzOSwgMTA2OCwgMC4wMjg5ODUxMDE3Mjk2MzE0MjRdLCBbMTU5NTA4ODg4NS40NDY5MjYsIDEwNzIsIDAuMDI4OTg2NzMzNDA2NzgyMTVdLCBbMTU5NTA4ODg5MS4yOTQ0NzcsIDEwNzgsIDAuMDI4OTg5MDYzNTc1ODYzODM4XSwgWzE1OTUwODg4OTYuMTg5MjkzLCAxMDgzLCAwLjAyODk5MTI4NTcxMTUyNjg3XSwgWzE1OTUwODg5MDUuODczNjU1LCAxMDkzLCAwLjAyODk5ODI3OTk0NDA2MjIzM10sIFsxNTk1MDg4OTExLjU4NjY2MSwgMTA5OSwgMC4wMjkwMDM1NjQyNjgzNTA2XSwgWzE1OTUwODg5MTYuNTM2MjgyLCAxMTA0LCAwLjAyOTAwOTA0Nzg5NTY2OTkzN10sIFsxNTk1MDg4OTI2LjI4MTA4OSwgMTExNCwgMC4wMjkwMjYyOTQxMjcxMDY2NjddLCBbMTU5NTA4ODkzMS4yNDYwNTYsIDExMTksIDAuMDI5MDM0MzIwMjY1MDU0NzAzXSwgWzE1OTUwODg5NjcuMTcwNTgzLCAxMTU2LCAwLjAyOTEzMTc4ODc2MDQyMzY2XSwgWzE1OTUwODg5NzAuOTEzMzk4LCAxMTYwLCAwLjAyOTE0MTk5MjMzMDU1MTE0N10sIFsxNTk1MDg4OTcxLjk3NTg4NSwgMTE2MSwgMC4wMjkxNDQzODAyNDE2MzI0Nl0sIFsxNTk1MDg4OTcyLjkyMzc1OCwgMTE2MiwgMC4wMjkxNDY2Nzg3NDU3NDY2MTNdLCBbMTU5NTA4ODk5MC40NDg4NzUsIDExODAsIDAuMDI5MTgxMjA2NTk4ODc3OTA3XSwgWzE1OTUwODkwMDIuMDMwNDE1LCAxMTkyLCAwLjAyOTIwMzI4NjM5NDQ3Njg5XSwgWzE1OTUwODkwMDIuOTY3NDE2LCAxMTkzLCAwLjAyOTIwNTEzMDQxMzE3NDYzXSwgWzE1OTUwODkwMDguOTA5ODM3LCAxMTk5LCAwLjAyOTIxNTYyMjY5MzMwMDI0N10sIFsxNTk1MDg5MDE1LjUzNzk2NywgMTIwNiwgMC4wMjkyMjcyOTc3NTMwOTU2MjddLCBbMTU5NTA4OTA0MC40MzE2LCAxMjMyLCAwLjAyOTI3MDIxMTIzNDY4ODc2XSwgWzE1OTUwODkwNDIuNDE3OTM2LCAxMjM0LCAwLjAyOTI3NDIyMTUwOTY5NTA1M10sIFsxNTk1MDg5MDUyLjE3NjUwMSwgMTI0NCwgMC4wMjkyOTE2NzYzNTczODg0OTZdLCBbMTU5NTA4OTA2Mi44NzUwMDEsIDEyNTUsIDAuMDI5MzA4ODQ2MjIwMzc0MTA3XSwgWzE1OTUwODkwNjUuNzM4MjY3LCAxMjU4LCAwLjAyOTMxMjg4NjI5NzcwMjc5XSwgWzE1OTUwODkwNjguNjQ4NzEyLCAxMjYxLCAwLjAyOTMxNjM4ODA3MDU4MzM0NF0sIFsxNTk1MDg5MDg4LjEwNjIyNywgMTI4MSwgMC4wMjkzMzI2NzY5MDI0MTMzNjhdLCBbMTU5NTA4OTA5My44Nzg5NDMsIDEyODcsIDAuMDI5MzM4OTgzODE4ODg4NjY0XSwgWzE1OTUwODkxMDAuNTYxODQ5LCAxMjk0LCAwLjAyOTM0NzEzNDc1NDA2MTddLCBbMTU5NTA4OTEwNi41NzEzNCwgMTMwMCwgMC4wMjkzNTUyOTg3Mjc3NTA3NzhdLCBbMTU5NTA4OTExNi40MDIzMjcsIDEzMTAsIDAuMDI5MzY4NTIzNTA4MzEwMzE4XSwgWzE1OTUwODkxMjIuMjYyNDkyLCAxMzE2LCAwLjAyOTM3NjY3NDQ0MzQ4MzM1M10sIFsxNTk1MDg5MTI1LjIyOTIxMiwgMTMxOSwgMC4wMjkzODA4MTY5NjYyOTUyNDJdLCBbMTU5NTA4OTEzNS43MDEzMjQsIDEzMzAsIDAuMDI5Mzk0NDM0NzY0OTgxMjddLCBbMTU5NTA4OTEzOC41ODc2NDEsIDEzMzMsIDAuMDI5Mzk3OTYwNzUyMjQ4NzY0XSwgWzE1OTUwODkxNDEuNTM1MDY3LCAxMzM2LCAwLjAyOTQwMTE3MDA4OTg0MDg5XSwgWzE1OTUwODkxNDIuNDk0Mzk1LCAxMzM3LCAwLjAyOTQwMjIxNjg5NjQxNDc1N10sIFsxNTk1MDg5MTg5LjI2ODA5LCAxMzg1LCAwLjAyOTQ2NDU5Njg4MjQ2MjVdLCBbMTU5NTA4OTE5Mi4zMTc3MTcsIDEzODgsIDAuMDI5NDY4OTUzNjA5NDY2NTUzXSwgWzE1OTUwODkxOTUuMTcyMjQyLCAxMzkxLCAwLjAyOTQ3MzE0NDU2MTA1MjMyMl0sIFsxNTk1MDg5MTk2LjA5MDM5NSwgMTM5MiwgMC4wMjk0NzQ1MTM2MDUyMzcwMDddLCBbMTU5NTA4OTIxNy44MjgyMjQsIDE0MTQsIDAuMDI5NTA0NDAxNjA5MzAxNTY3XSwgWzE1OTUwODkyMjkuNjQ4MzYzLCAxNDI2LCAwLjAyOTUxOTkwODEzMDE2ODkxNV0sIFsxNTk1MDg5MjMxLjU5MTU5MywgMTQyOCwgMC4wMjk1MjI1ODY2MTM4OTM1MV0sIFsxNTk1MDg5MjM1LjMzMDY2NiwgMTQzMiwgMC4wMjk1Mjc0MDUyNzY4OTQ1N10sIFsxNTk1MDg5MjM5LjIwOTQ2MSwgMTQzNiwgMC4wMjk1MzE5Nzk5MzMzODEwOF0sIFsxNTk1MDg5MjQzLjA5MzM0NywgMTQ0MCwgMC4wMjk1MzcwODE3MTg0NDQ4MjRdLCBbMTU5NTA4OTI2Ny42MTU2LCAxNDY1LCAwLjAyOTU3NTM5ODE5MTgwOTY1NF0sIFsxNTk1MDg5MjY4LjY1MDcyNiwgMTQ2NiwgMC4wMjk1NzY4MDgyMTQxODc2MjJdLCBbMTU5NTA4OTI3OS40NDA5MzcsIDE0NzcsIDAuMDI5NTk0MDAyMjkxNTYwMTczXSwgWzE1OTUwODkyODcuMTY5OTk3LCAxNDg1LCAwLjAyOTYwNzc0Njc1MDExNjM1XSwgWzE1OTUwODkyOTEuMDg0MjQ2LCAxNDg5LCAwLjAyOTYxNDQ3Mjc2MTc1MDIyXSwgWzE1OTUwODkyOTMuMDAxMjcsIDE0OTEsIDAuMDI5NjE3NzcxNTA2MzA5NTFdLCBbMTU5NTA4OTMwOS44MDMyOTQsIDE1MDgsIDAuMDI5NjY4MTU2MDU3NTk2MjA3XSwgWzE1OTUwODkzMjQuNTQ0MTI0LCAxNTIzLCAwLjAyOTcxNTg2MDI2MjUxMzE2XSwgWzE1OTUwODkzMjguMzk4OTc5LCAxNTI3LCAwLjAyOTcyNjc0MzY5ODEyMDExN10sIFsxNTk1MDg5MzUzLjA1NjkwNiwgMTU1MiwgMC4wMjk3OTE5NzUzOTM4OTEzMzVdLCBbMTU5NTA4OTM2OC45MzQ2NywgMTU2OCwgMC4wMjk4NTQ5NjgxOTAxOTMxNzZdLCBbMTU5NTA4OTM2OS44NzQ1NzIsIDE1NjksIDAuMDI5ODU5MTk2Mzk0NjgxOTNdLCBbMTU5NTA4OTM4NC45MDI3MDksIDE1ODQsIDAuMDI5OTIwNTI1ODQ4ODY1NTFdLCBbMTU5NTA4OTM4OC44Njc5NTcsIDE1ODgsIDAuMDI5OTM3Nzk0NDMyMDQ0MDNdLCBbMTU5NTA4OTM5Ny42OTc2MTYsIDE1OTcsIDAuMDI5OTc1NzcxOTAzOTkxN10sIFsxNTk1MDg5NDA0LjgwNDc2NywgMTYwNCwgMC4wMjk5OTc5ODIwODQ3NTExM10sIFsxNTk1MDg5NDA1LjcyNjQ0MiwgMTYwNSwgMC4wMzAwMDA4NzEwNDczNzc1ODZdLCBbMTU5NTA4OTQxOC40NjUzNTksIDE2MTgsIDAuMDMwMDM4NzQ5Nzk5MTMyMzQ3XSwgWzE1OTUwODk0MjcuMzg0Njc3LCAxNjI3LCAwLjAzMDA1OTQ1MzA5OTk2NjA1XSwgWzE1OTUwODk0MzIuNDIxMjQ3LCAxNjMyLCAwLjAzMDA2ODg1OTQ1Nzk2OTY2Nl0sIFsxNTk1MDg5NDM3LjE2NjgwNywgMTYzNywgMC4wMzAwNzczNDc1MzE5MTQ3MV0sIFsxNTk1MDg5NDQwLjAyNDgyLCAxNjQwLCAwLjAzMDA4MjU4NzE1MjcxOTQ5OF0sIFsxNTk1MDg5NDQ1LjA3Nzg4OCwgMTY0NSwgMC4wMzAwOTE3OTQyMDc2OTIxNDZdLCBbMTU5NTA4OTQ0OC4wNjk2ODksIDE2NDgsIDAuMDMwMDk4NDAyODcyNjgxNjE4XSwgWzE1OTUwODk0NjAuMTI3Mjk3LCAxNjYwLCAwLjAzMDEzMTg1Nzg0MjIwNjk1NV0sIFsxNTk1MDg5NDY3LjkwNzA3OCwgMTY2OCwgMC4wMzAxNTE1OTI1Njc1NjMwNTddLCBbMTU5NTA4OTQ3NC44NjI4MjQsIDE2NzUsIDAuMDMwMTY4MjU1NzkxMDY4MDc3XSwgWzE1OTUwODk0ODEuNzQxNDUsIDE2ODIsIDAuMDMwMTg3NjgxMzE3MzI5NDA3XSwgWzE1OTUwODk0OTAuNjM1MTIyLCAxNjkxLCAwLjAzMDIxMjEyODUzNDkxMzA2M10sIFsxNTk1MDg5NDk0LjUxNjQ5LCAxNjk1LCAwLjAzMDIyMzEyOTMxNzE2NDQyXSwgWzE1OTUwODk0OTUuNDY2OTk0LCAxNjk2LCAwLjAzMDIyNTc4NTQ0OTE0NzIyNF0sIFsxNTk1MDg5NDk2LjQ3NjI1OSwgMTY5NywgMC4wMzAyMjgzNDI4NjA5MzcxMl0sIFsxNTk1MDg5NDk4LjQxNTYyNCwgMTY5OSwgMC4wMzAyMzMyMDA2Mzk0ODYzMTNdLCBbMTU5NTA4OTUwMS4yNTI5NjQsIDE3MDIsIDAuMDMwMjQwNDUzNzc5Njk3NDE4XSwgWzE1OTUwODk1MDguMTA5ODE1LCAxNzA5LCAwLjAzMDI1Njk0MDA1MTkxMzI2XSwgWzE1OTUwODk1MTcuMDczMjM5LCAxNzE4LCAwLjAzMDI4MDI5OTQ4NDcyOTc2N10sIFsxNTk1MDg5NTI2Ljk3ODA1NywgMTcyOCwgMC4wMzAzMDcwMzU4OTMyMDE4MjhdLCBbMTU5NTA4OTUzMC44NTcyMjksIDE3MzIsIDAuMDMwMzE2OTE5MDg4MzYzNjQ3XSwgWzE1OTUwODk1MzIuODUyNTM2LCAxNzM0LCAwLjAzMDMyMTk4NzM0NTgxNDcwNV0sIFsxNTk1MDg5NTM1LjczNDY0NCwgMTczNywgMC4wMzAzMzA0ODY1OTU2MzA2NDZdLCBbMTU5NTA4OTU0MC42OTUyNDIsIDE3NDIsIDAuMDMwMzQ2Mjg1NTUxNzg2NDIzXSwgWzE1OTUwODk1NDMuNzQ1NzExLCAxNzQ1LCAwLjAzMDM1NTgxNDg0NDM2OTg5XSwgWzE1OTUwODk1NDQuNjc5NTA3LCAxNzQ2LCAwLjAzMDM1ODkwMTI0NzM4MjE2NF0sIFsxNTk1MDg5NTQ1LjY0NTg2NiwgMTc0NywgMC4wMzAzNjE5OTg4MjYyNjUzMzVdLCBbMTU5NTA4OTU2My45OTUyNDUsIDE3NjYsIDAuMDMwNDIxNzc0ODM0Mzk0NDU1XSwgWzE1OTUwODk1NzIuNjM5NTksIDE3NzUsIDAuMDMwNDUyNTc3Mzk3MjI3Mjg3XSwgWzE1OTUwODk1NzguNTk4ODc2LCAxNzgxLCAwLjAzMDQ4OTY1MTQ4NjI3NzU4XSwgWzE1OTUwODk1ODUuMjY3NDE1LCAxNzg4LCAwLjAzMDUzNzQ5MzUyNjkzNTU3N10sIFsxNTk1MDg5NTg2LjIzMjc4NCwgMTc4OSwgMC4wMzA1NDQ0MTEzOTEwMTk4Ml0sIFsxNTk1MDg5NTk0Ljg3MTgxNSwgMTc5OCwgMC4wMzA2MDg1NDc4NTE0NDMyOV0sIFsxNTk1MDg5NjAxLjY4NTY1OCwgMTgwNSwgMC4wMzA2NDgwNjc1OTM1NzQ1MjRdLCBbMTU5NTA4OTYxMy42MzY0NDQsIDE4MTcsIDAuMDMwNjk4NjMyODIxNDQwNjk3XSwgWzE1OTUwODk2MjIuNTA3MDczLCAxODI2LCAwLjAzMDczODk5NjM0MTgyNDUzXSwgWzE1OTUwODk2MjYuMzg4NTM1LCAxODMwLCAwLjAzMDc2NjQ3MjIyMDQyMDgzN10sIFsxNTk1MDg5NjM1Ljk2NjU4NiwgMTg0MCwgMC4wMzA4NjI0Nzg1MzkzNDc2NV0sIFsxNTk1MDg5NjM5Ljg3MzgwMiwgMTg0NCwgMC4wMzA4OTg2MjEzMDU4MjMzMjZdLCBbMTU5NTA4OTY0OC43MjQ1OCwgMTg1MywgMC4wMzA5NjM4NTY3MjY4ODQ4NDJdLCBbMTU5NTA4OTY2MS42MTg2MjIsIDE4NjYsIDAuMDMxMDQwNDQzMTA3NDg1NzddLCBbMTU5NTA4OTY2NC41MjU3NjcsIDE4NjksIDAuMDMxMDU0MTkxMjkxMzMyMjQ1XSwgWzE1OTUwODk2NzAuNDcyNTk4LCAxODc1LCAwLjAzMTA3OTIxNzc5MTU1NzMxMl0sIFsxNTk1MDg5NjcyLjQzMjc1MywgMTg3NywgMC4wMzEwODcwMTY2ODY3OTcxNDJdLCBbMTU5NTA4OTcwNS41NDU3ODIsIDE5MTEsIDAuMDMxMTk2MzU1ODE5NzAyMTVdLCBbMTU5NTA4OTcxMS4yODk2MywgMTkxNywgMC4wMzEyMTA1ODY0Mjg2NDIyNzNdLCBbMTU5NTA4OTcyNy45MTczMiwgMTkzNCwgMC4wMzEyNDQyNTU2MDIzNTk3N10sIFsxNTk1MDg5NzI5Ljg0MzIzOSwgMTkzNiwgMC4wMzEyNDc3OTI3NjU0OTgxNl0sIFsxNTk1MDg5NzMxLjgyMDUyNSwgMTkzOCwgMC4wMzEyNTEwODAzMzQxODY1NTRdLCBbMTU5NTA4OTczNy42OTY2NCwgMTk0NCwgMC4wMzEyNjA1OTg0NTA4OTkxMjRdLCBbMTU5NTA4OTc0MC43MjY4MSwgMTk0NywgMC4wMzEyNjUwNjEzNDg2NzY2OF0sIFsxNTk1MDg5NzQyLjc5MjY4OCwgMTk0OSwgMC4wMzEyNjc5NDg0NDg2NTc5OV0sIFsxNTk1MDg5NzYwLjQwOTk1LCAxOTY3LCAwLjAzMTI5MjMwODEyMTkxOTYzXSwgWzE1OTUwODk3NzQuMjY5NDMyLCAxOTgxLCAwLjAzMTMyNDY0NzM2NzAwMDU4XSwgWzE1OTUwODk3NzUuNzI1MTQxLCAxOTgzLCAwLjAzMTMzMDEyNzI2OTAyOTYyXSwgWzE1OTUwODk3OTMuMjU2MzM5LCAyMDAxLCAwLjAzMTM3NjIwOTExMDAyMTU5XSwgWzE1OTUwODk3OTcuMjE1MTM0LCAyMDA1LCAwLjAzMTM4NjA2MjUwMjg2MTAyXSwgWzE1OTUwODk4MDUuMjY3ODI3LCAyMDEzLCAwLjAzMTQwNTcyNDU4NTA1NjMwNV0sIFsxNTk1MDg5ODIxLjkyNjU4OSwgMjAzMCwgMC4wMzE0NDMxNDUxMjYxMDQzNTVdLCBbMTU5NTA4OTgyNy43MzMxMzcsIDIwMzYsIDAuMDMxNDU0NzA0NzAxOTAwNDhdLCBbMTU5NTA4OTg1MC45OTA0NDcsIDIwNjAsIDAuMDMxNTIzNjg1OTAyMzU3MV0sIFsxNTk1MDg5ODYyLjMzMTY1NywgMjA3MiwgMC4wMzE1NjA1MzI3NDg2OTkxOV0sIFsxNTk1MDg5ODYzLjI4NTQzMiwgMjA3MywgMC4wMzE1NjI5MjQzODUwNzA4XSwgWzE1OTUwODk4NjYuMjg2MTk2LCAyMDc2LCAwLjAzMTU3MDQwNDc2Nzk5MDExXSwgWzE1OTUwODk4NjcuMjA1OTYyLCAyMDc3LCAwLjAzMTU3MzU4MjQ0MDYxNDddLCBbMTU5NTA4OTg2OS4yMjgxMDEsIDIwNzksIDAuMDMxNTgwOTMyNDM4MzczNTY2XSwgWzE1OTUwODk4NzEuMzM1NDYzLCAyMDgxLCAwLjAzMTU4OTA5MDgyNDEyNzJdLCBbMTU5NTA4OTg3NS4zMTAyNDcsIDIwODUsIDAuMDMxNjA2NTkyMjM3OTQ5MzddLCBbMTU5NTA4OTg3OS4xMzEyMDQsIDIwODksIDAuMDMxNjIzOTI2MDEzNzA4MTE1XSwgWzE1OTUwODk4ODQuMDc5NjEsIDIwOTQsIDAuMDMxNjQ3MTc5Mjc1NzUxMTE0XSwgWzE1OTUwODk4ODYuMDAzOTczLCAyMDk2LCAwLjAzMTY1NzA0NzU2OTc1MTc0XSwgWzE1OTUwODk5MDAuNjg0NDkzLCAyMTExLCAwLjAzMTcyODAyMTgwMDUxODAzNl0sIFsxNTk1MDg5OTM0LjM2MzUyNCwgMjE0NSwgMC4wMzE4MTEwOTk0OTk0NjQwMzVdLCBbMTU5NTA4OTkzOC4xOTIzNDksIDIxNDksIDAuMDMxODE4OTk3MTE0ODk2Nzc0XSwgWzE1OTUwODk5NDAuMTEzMzE1LCAyMTUxLCAwLjAzMTgyMzAxMjk3NzgzODUxNl0sIFsxNTk1MDg5OTQ1LjAyNjcwNiwgMjE1NiwgMC4wMzE4MzI0NDkxMzgxNjQ1Ml0sIFsxNTk1MDg5OTUzLjc1NzAzOCwgMjE2NSwgMC4wMzE4NDY5NTkxNDM4NzcwM10sIFsxNTk1MDg5OTYxLjU5MDIwOSwgMjE3MywgMC4wMzE4NjA3NzYyNDU1OTQwMjVdLCBbMTU5NTA4OTk2NS40ODg4MTIsIDIxNzcsIDAuMDMxODY5MjM2Mzc5ODYxODNdLCBbMTU5NTA4OTk3NS4zNTI0MjQsIDIxODcsIDAuMDMxODk3NDEwNzUwMzg5MV0sIFsxNTk1MDg5OTc3LjMzMjk0MSwgMjE4OSwgMC4wMzE5MDMxMjUzNDU3MDY5NF0sIFsxNTk1MDg5OTc5LjI2MTY3LCAyMTkxLCAwLjAzMTkwODM1OTM3ODU3NjI4XSwgWzE1OTUwODk5ODAuMjQwMjQ5LCAyMTkyLCAwLjAzMTkxMDgwMzE2OTAxMjA3XSwgWzE1OTUwODk5ODQuMjA2NDU5LCAyMTk2LCAwLjAzMTkxOTQ2MDc0MzY2NTY5NV0sIFsxNTk1MDg5OTg3LjIzMTg5OSwgMjE5OSwgMC4wMzE5MjQ1MjM0MTMxODEzMDVdLCBbMTU5NTA4OTk5NS4xODY3MjUsIDIyMDcsIDAuMDMxOTM2MjA5NjQ4ODQ3NThdLCBbMTU5NTA4OTk5OS4wMzc2MzQsIDIyMTEsIDAuMDMxOTQyNzc3MzM1NjQzNzddLCBbMTU5NTA5MDAxMi44NTM0NTUsIDIyMjUsIDAuMDMxOTY3NDk4MzYyMDY0MzZdLCBbMTU5NTA5MDAxOC42NDUwNDksIDIyMzEsIDAuMDMxOTc2MjA4MDkwNzgyMTY2XSwgWzE1OTUwOTAwMjMuNTIxMzI3LCAyMjM2LCAwLjAzMTk4NDc5MTE1OTYyOTgyXSwgWzE1OTUwOTAwMjQuNTU5MDU3LCAyMjM3LCAwLjAzMTk4Njg3MzU5NjkwNjY2XSwgWzE1OTUwOTAwMjYuNTUwNzA5LCAyMjM5LCAwLjAzMTk5MTE2NTEzMTMzMDQ5XSwgWzE1OTUwOTAwMjkuNDczNTkzLCAyMjQyLCAwLjAzMTk5Nzg4OTI4MDMxOTIxNF0sIFsxNTk1MDkwMDMxLjM1MDk1LCAyMjQ0LCAwLjAzMjAwMjM1MjE3ODA5Njc3XSwgWzE1OTUwOTAwMzMuNDEwODU1LCAyMjQ2LCAwLjAzMjAwNjQ2ODYyMzg3NjU3XSwgWzE1OTUwOTAwMzQuMzkxMjM4LCAyMjQ3LCAwLjAzMjAwODQwMjA0OTU0MTQ3XSwgWzE1OTUwOTAwNDEuMzY3NjA4LCAyMjU0LCAwLjAzMjAzNzU1NjE3MTQxNzIzNl0sIFsxNTk1MDkwMDQ0LjMyMTIzNywgMjI1NywgMC4wMzIwNTc0NDU0OTYzMjA3MjRdLCBbMTU5NTA5MDA0OS4xMTg3NzIsIDIyNjIsIDAuMDMyMDkyNTg5ODg0OTk2NDE0XSwgWzE1OTUwOTAwNjcuODc4MDQ1LCAyMjgxLCAwLjAzMjIxNDQ1MTU4MTIzOTddLCBbMTU5NTA5MDA3Ny40Njc4ODQsIDIyOTEsIDAuMDMyMjgwMDIwNDE1NzgyOTNdLCBbMTU5NTA5MDA4My40MDczNTEsIDIyOTcsIDAuMDMyMzE3ODk1NDQyMjQ3MzldLCBbMTU5NTA5MDA4OS4yODExNTQsIDIzMDMsIDAuMDMyMzQ5NzgwMjAxOTExOTI2XSwgWzE1OTUwOTAwOTMuMjA0NDMxLCAyMzA3LCAwLjAzMjM2ODI0NjQ2NTkyMTRdLCBbMTU5NTA5MDA5NC4xNTMxNjQsIDIzMDgsIDAuMDMyMzcyODI4NTcyOTg4NTFdLCBbMTU5NTA5MDEwNC44Nzk1NTEsIDIzMTksIDAuMDMyNDE1NTE2Njc0NTE4NTg1XSwgWzE1OTUwOTAxMDUuODYzMjA2LCAyMzIwLCAwLjAzMjQxODY1NzA5NDI0MDE5XSwgWzE1OTUwOTAxMjAuMzIzOTU2LCAyMzM1LCAwLjAzMjQ1NDEwMzIzMTQzMDA1NF0sIFsxNTk1MDkwMTI5Ljg1MzUxLCAyMzQ1LCAwLjAzMjQ3Mzc2NTMxMzYyNTMzNl0sIFsxNTk1MDkwMTM4LjYwNTExNiwgMjM1NCwgMC4wMzI0OTA5NTc1MjgzNTI3NF0sIFsxNTk1MDkwMTU1LjE0OTc5OSwgMjM3MSwgMC4wMzI1MjIyOTgzOTU2MzM3XSwgWzE1OTUwOTAxNzIuNTY3MTAyLCAyMzg5LCAwLjAzMjU0NTUyMTg1NTM1NDMxXSwgWzE1OTUwOTAxNzMuNTgxODI1LCAyMzkwLCAwLjAzMjU0NjcyMTM5ODgzMDQxNF0sIFsxNTk1MDkwMTc1LjU0MDYwOCwgMjM5MiwgMC4wMzI1NDkxODc1NDEwMDc5OTZdLCBbMTU5NTA5MDE4NS4yODY1MzIsIDI0MDIsIDAuMDMyNTYwNjc2MzM2Mjg4NDVdLCBbMTU5NTA5MDE4OS4yMzA3NDksIDI0MDYsIDAuMDMyNTY0Mjc4NjkyMDA3MDY1XSwgWzE1OTUwOTAyMDcuNTg1MjIzLCAyNDI1LCAwLjAzMjU3OTE5ODQ3OTY1MjQwNV0sIFsxNTk1MDkwMjE4LjI5NjgxMiwgMjQzNiwgMC4wMzI1ODU2NDMyMzE4Njg3NDRdLCBbMTU5NTA5MDIyNi4yMzQ0NTksIDI0NDQsIDAuMDMyNTk1ODcyODc5MDI4MzJdLCBbMTU5NTA5MDIzMi4zMDU0MzksIDI0NTAsIDAuMDMyNjA1OTU3MjM5ODY2MjZdLCBbMTU5NTA5MDIzMy4yMjUzOTEsIDI0NTEsIDAuMDMyNjA3NTQ3OTM4ODIzN10sIFsxNTk1MDkwMjM1LjIxMDAzOSwgMjQ1MywgMC4wMzI2MTExMzUzOTMzODExMl0sIFsxNTk1MDkwMjM3LjEzOTA1LCAyNDU1LCAwLjAzMjYxNTMyNjM0NDk2Njg5XSwgWzE1OTUwOTAyNDEuOTk1MDg0LCAyNDYwLCAwLjAzMjYyNjU4Nzg5NzUzOTE0XSwgWzE1OTUwOTAyNjYuOTIzNDM3LCAyNDg1LCAwLjAzMjY3NjEwMDczMDg5NTk5Nl0sIFsxNTk1MDkwMjY3Ljk0MTg1MSwgMjQ4NiwgMC4wMzI2Nzc2NjUzNTI4MjEzNV0sIFsxNTk1MDkwMjc3LjkyODUwNiwgMjQ5NiwgMC4wMzI2OTY1MDA0MjA1NzAzNzRdLCBbMTU5NTA5MDI3OS45Mjg4ODksIDI0OTgsIDAuMDMyNzAwODI5MjA3ODk3MTg2XSwgWzE1OTUwOTAyODQuNzQwODU5LCAyNTAzLCAwLjAzMjcxMTA2NjMwNTYzNzM2XSwgWzE1OTUwOTAyOTguNjMzNDY3LCAyNTE3LCAwLjAzMjczMjMwNzkxMDkxOTE5XSwgWzE1OTUwOTAzMDQuMzY3Mjc3LCAyNTIzLCAwLjAzMjczOTk4MjAwODkzNDAyXSwgWzE1OTUwOTAzMTEuMzc3NzgyLCAyNTMwLCAwLjAzMjc0OTU0MTEwMzgzOTg3NF0sIFsxNTk1MDkwMzEzLjQ2MzM2NywgMjUzMiwgMC4wMzI3NTI2NDQyNzA2NTg0OV0sIFsxNTk1MDkwMzI4LjM3NzM0OCwgMjU0NywgMC4wMzI3ODIzNzIwODcyNDAyMl0sIFsxNTk1MDkwMzMyLjcxODE1LCAyNTUxLCAwLjAzMjgwMjc0OTQyNTE3MjgwNl0sIFsxNTk1MDkwMzM0LjM2MjI1OSwgMjU1MywgMC4wMzI4MTY2MzM1ODIxMTUxN10sIFsxNTk1MDkwMzQ3LjE4NTk0NywgMjU2NiwgMC4wMzI5NDI2Mzc4MDExNzAzNV0sIFsxNTk1MDkwMzU5LjAyMjkyNCwgMjU3OCwgMC4wMzMwNDg1MjkxNzc5MDQxM10sIFsxNTk1MDkwMzcwLjk1MDIyMywgMjU5MCwgMC4wMzMxMzk5NzAxNTM1NzAxNzVdLCBbMTU5NTA5MDM3MS45MTQ0NiwgMjU5MSwgMC4wMzMxNDY2MTk3OTY3NTI5M10sIFsxNTk1MDkwMzcyLjg3NzU0NCwgMjU5MiwgMC4wMzMxNTMwMzEwMjEzNTY1OF0sIFsxNTk1MDkwMzgwLjg0Njc3MywgMjYwMCwgMC4wMzMyMDAyMDgwOTc2OTYzMDRdLCBbMTU5NTA5MDM4Ni44NTM4MzUsIDI2MDYsIDAuMDMzMjM4MzIxNTQyNzM5ODddLCBbMTU5NTA5MDQwMy44MTY1NDQsIDI2MjMsIDAuMDMzMzI1NDMwMDA1Nzg4OF0sIFsxNTk1MDkwNDA5Ljc4MjI4MywgMjYyOSwgMC4wMzMzNDY0NDgwOTM2NTI3MjVdLCBbMTU5NTA5MDQxMC43MzAyNTEsIDI2MzAsIDAuMDMzMzQ5NzE4ODk4NTM0Nzc1XSwgWzE1OTUwOTA0MTkuMDQ2NDUxLCAyNjM4LCAwLjAzMzM3MjU5MjE4MDk2NzMzXSwgWzE1OTUwOTA0MjQuNzA1MDkzLCAyNjQ0LCAwLjAzMzM4NTg3Mjg0MDg4MTM1XSwgWzE1OTUwOTA0MzAuODA3MDY0LCAyNjUwLCAwLjAzMzQwMTY2ODA3MTc0NjgyNl0sIFsxNTk1MDkwNDM1LjczMTM5LCAyNjU1LCAwLjAzMzQxNDEyMTcxNzIxNDU4NF0sIFsxNTk1MDkwNDU4LjY1MjMxOSwgMjY3OCwgMC4wMzM0NzE4NTk5OTE1NTA0NDZdLCBbMTU5NTA5MDQ2MC41NDE2NDIsIDI2ODAsIDAuMDMzNDc2MjMzNDgyMzYwODRdLCBbMTU5NTA5MDQ2NS4zNDYwOTIsIDI2ODUsIDAuMDMzNDg1NjAyNTg3NDYxNDddLCBbMTU5NTA5MDQ3MC4yODk4MTMsIDI2OTAsIDAuMDMzNDkzMjcyOTYwMTg2MDA1XSwgWzE1OTUwOTA0ODMuMTQwMTM1LCAyNzAzLCAwLjAzMzUxMTEzOTQ1MjQ1NzQzXSwgWzE1OTUwOTA0OTAuMTE4MywgMjcxMCwgMC4wMzM1MjA1NTY5ODYzMzE5NF0sIFsxNTk1MDkwNTA0LjgxODk2MiwgMjcyNSwgMC4wMzM1NDczODY1MjcwNjE0Nl0sIFsxNTk1MDkwNTE2LjYwNzk2MywgMjczNywgMC4wMzM1NjQ4MDk3MDk3ODczN10sIFsxNTk1MDkwNTE5LjQ4NDkzMiwgMjc0MCwgMC4wMzM1Njk0NzM3NzMyNDEwNF0sIFsxNTk1MDkwNTMzLjE5MzYyMiwgMjc1NCwgMC4wMzM2MDczODIzMjczMTgxOV0sIFsxNTk1MDkwNTM0LjEwODAzNCwgMjc1NSwgMC4wMzM2MDk5NTY1MDI5MTQ0M10sIFsxNTk1MDkwNTM2LjA3MDgwNiwgMjc1NywgMC4wMzM2MTQ2ODM4OTYzMDMxOF0sIFsxNTk1MDkwNTY3LjA4MjE2MiwgMjc4OSwgMC4wMzM4NTQ2NzgyNzMyMDA5OV0sIFsxNTk1MDkwNTY4LjE0NDY4LCAyNzkwLCAwLjAzMzg2MDM3Nzk2NzM1NzYzNV0sIFsxNTk1MDkwNTY5LjExODA0MSwgMjc5MSwgMC4wMzM4NjU4ODc2NzE3MDkwNl0sIFsxNTk1MDkwNTc2LjA4Mzk3MSwgMjc5OCwgMC4wMzM5MDE1OTA4NTM5Mjk1Ml0sIFsxNTk1MDkwNTg3LjExMjM3MSwgMjgwOSwgMC4wMzM5NTk0MDczNTkzNjE2NV0sIFsxNTk1MDkwNjAxLjkwODUyNywgMjgyNCwgMC4wMzQwMzg2MDMzMDU4MTY2NV0sIFsxNTk1MDkwNjA0LjkyNzk0NiwgMjgyNywgMC4wMzQwNTIzMDQ5MjM1MzQzOV0sIFsxNTk1MDkwNjA2Ljk0MzAyOSwgMjgyOSwgMC4wMzQwNjEyMDA5MTY3NjcxMl0sIFsxNTk1MDkwNjM1Ljc0Mjk4NiwgMjg1OSwgMC4wMzQxOTk4MzM4Njk5MzQwOF0sIFsxNTk1MDkwNjQ4LjM3Njc5OSwgMjg3MiwgMC4wMzQyMzg0OTQ5MzI2NTE1Ml0sIFsxNTk1MDkwNjU3LjAzMzM3OSwgMjg4MSwgMC4wMzQyNjE1Mjg0MDI1NjY5MV0sIFsxNTk1MDkwNjY1LjcyMzIyNCwgMjg5MCwgMC4wMzQyOTAzMjg2MjE4NjQzMl0sIFsxNTk1MDkwNjcxLjU5OTUxMSwgMjg5NiwgMC4wMzQzMDgyNjIxNjkzNjExMTVdLCBbMTU5NTA5MDY3NS41MzQ1NDQsIDI5MDAsIDAuMDM0MzE4MTg2MzQyNzE2MjJdLCBbMTU5NTA5MDY5MS45NjY2MDYsIDI5MTcsIDAuMDM0MzQ4OTAxMzYxMjI3MDM2XSwgWzE1OTUwOTA2OTMuODY5MTU3LCAyOTE5LCAwLjAzNDM1MjYzMDM3NjgxNTc5Nl0sIFsxNTk1MDkwNjk0Ljk2NDA1MiwgMjkyMCwgMC4wMzQzNTQ0NzgxMjA4MDM4M10sIFsxNTk1MDkwNjk1LjkyMDA2OSwgMjkyMSwgMC4wMzQzNTYyODExNjEzMDgyOV0sIFsxNTk1MDkwNzA2LjU5NjgyMSwgMjkzMiwgMC4wMzQzNzY5OTc1MDA2NTgwMzVdLCBbMTU5NTA5MDcyMy45ODgzOTMsIDI5NTAsIDAuMDM0NDA2NjY5NDM3ODg1Mjg0XSwgWzE1OTUwOTA3NDAuNTIwNzYyLCAyOTY3LCAwLjAzNDQyNzI3NDAxODUyNjA4XSwgWzE1OTUwOTA3NDguMzc3MTIzLCAyOTc1LCAwLjAzNDQzODQyMDA4NzA5OTA3NV0sIFsxNTk1MDkwNzcwLjk2MDY3NiwgMjk5OCwgMC4wMzQ0NjYzMTg3ODYxNDQyNl0sIFsxNTk1MDkwNzc5LjYyMjkxNSwgMzAwNywgMC4wMzQ0ODkxNTQ4MTU2NzM4M10sIFsxNTk1MDkwNzgxLjUzNjk1NiwgMzAwOSwgMC4wMzQ0OTU4NDU0MzcwNDk4NjZdLCBbMTU5NTA5MDc4My40ODUwMDMsIDMwMTEsIDAuMDM0NTAyMzM4NjE4MDQwMDg1XSwgWzE1OTUwOTA3ODcuMzY2MjA2LCAzMDE1LCAwLjAzNDUxMzg0MjMxNDQ4MTczNV0sIFsxNTk1MDkwNzg4LjM3NzQ2MiwgMzAxNiwgMC4wMzQ1MTYzMDEwMDYwNzg3Ml0sIFsxNTk1MDkwNzk5LjE1MDg5OCwgMzAyNywgMC4wMzQ1MzY1MTA3MDU5NDc4NzZdLCBbMTU5NTA5MDgwMi4wODk1MTksIDMwMzAsIDAuMDM0NTQwMzQ0MDI5NjY0OTldLCBbMTU5NTA5MDgwOS45NDYzOTYsIDMwMzgsIDAuMDM0NTU3ODE1NjQxMTY0NzhdLCBbMTU5NTA5MDgxMi43Nzk5ODksIDMwNDEsIDAuMDM0NTY2NjE0Nzc2ODQ5NzVdLCBbMTU5NTA5MDgyMS4yODUyNTcsIDMwNTAsIDAuMDM0NTkxMjEyODY4NjkwNDldLCBbMTU5NTA5MDgzNS42OTQ5NzUsIDMwNjUsIDAuMDM0NjE2NDM2ODA5MzAxMzc2XSwgWzE1OTUwOTA4MzkuNTQ3NTgxLCAzMDY5LCAwLjAzNDYyMDczMjA2OTAxNTVdLCBbMTU5NTA5MDg0MS40MDc1MjcsIDMwNzEsIDAuMDM0NjIyNzY5ODAyODA4NzZdLCBbMTU5NTA5MDg1NS43MjA0MDIsIDMwODYsIDAuMDM0NjM2MTg4Mjk4NDYzODJdLCBbMTU5NTA5MDg2OC4yMzI0NDksIDMwOTksIDAuMDM0NjQ4NDM3MDUyOTY1MTY0XSwgWzE1OTUwOTA4OTEuMDg1NjE2LCAzMTIyLCAwLjAzNDY1MjYwOTM3ODA5OTQ0XSwgWzE1OTUwOTA5MDUuNTI4MDc0LCAzMTM3LCAwLjAzNDY1MzIwMTY5OTI1NjldLCBbMTU5NTA5MDkwNi41MjYyNjcsIDMxMzgsIDAuMDM0NjUzMTc1NjIyMjI0ODFdLCBbMTU5NTA5MDkxMy4zNDc5NzIsIDMxNDUsIDAuMDM0NjUzNDA2NTkwMjIzMzFdLCBbMTU5NTA5MDkxOC4xODI0MjMsIDMxNTAsIDAuMDM0NjUzNzc5MTE5MjUzMTZdLCBbMTU5NTA5MDkyMy4xMjI0ODEsIDMxNTUsIDAuMDM0NjU0MzMwNDYyMjE3MzNdLCBbMTU5NTA5MDkyNi45OTk0NTYsIDMxNTksIDAuMDM0NjU0Nzk2MTIzNTA0NjRdLCBbMTU5NTA5MDkyOC44NzM3MjIsIDMxNjEsIDAuMDM0NjU1MDM0NTQyMDgzNzRdLCBbMTU5NTA5MDk0NC40MTk1ODIsIDMxNzcsIDAuMDM0NjU5NDE1NDgzNDc0NzNdLCBbMTU5NTA5MDk2MS45NjEyMDEsIDMxOTUsIDAuMDM0NjYyOTE3MjU2MzU1Mjg2XSwgWzE1OTUwOTA5NjIuOTMwODIyLCAzMTk2LCAwLjAzNDY2MjkwMjM1NTE5NDA5XSwgWzE1OTUwOTA5NjkuNjgxMzU0LCAzMjAzLCAwLjAzNDY2MjE3MjE5ODI5NTU5XSwgWzE1OTUwOTA5NzIuNjIxNjQ1LCAzMjA2LCAwLjAzNDY2MTc0Mzc4OTkxMTI3XSwgWzE1OTUwOTA5OTUuOTc5OTI5LCAzMjMwLCAwLjAzNDY2Mjg1MDIwMTEyOTkxXSwgWzE1OTUwOTA5OTguODU2NTU0LCAzMjMzLCAwLjAzNDY2MjUxODY1MDI5MzM1XSwgWzE1OTUwOTEwMDUuOTE4MTA3LCAzMjQwLCAwLjAzNDY2MjEwMTQxNzc3OTkyXSwgWzE1OTUwOTEwMDguODY2MzQ0LCAzMjQzLCAwLjAzNDY2MTk1MjQwNjE2Nzk4NF0sIFsxNTk1MDkxMDA5Ljc4ODYxNCwgMzI0NCwgMC4wMzQ2NjE4OTI4MDE1MjMyMV0sIFsxNTk1MDkxMDExLjY3Nzc4MywgMzI0NiwgMC4wMzQ2NjE3NzczMTc1MjM5NTZdLCBbMTU5NTA5MTAxMi42MzY0NTcsIDMyNDcsIDAuMDM0NjYxNzUxMjQwNDkxODddLCBbMTU5NTA5MTAzMi4zNjYzNiwgMzI2NywgMC4wMzQ2NjA0NTQ4Mzk0NjhdLCBbMTU5NTA5MTAzNy4zMzU0MTIsIDMyNzIsIDAuMDM0NjYwNDA2NDEwNjk0MTJdLCBbMTU5NTA5MTA0NS45OTM4OTksIDMyODEsIDAuMDM0NjYyNjk3NDY0MjI3Njc2XSwgWzE1OTUwOTEwNDcuOTY4MzI1LCAzMjgzLCAwLjAzNDY2Mzg3NDY1NTk2MTk5XSwgWzE1OTUwOTEwNjkuMzQ0NzE5LCAzMzA1LCAwLjAzNDY3MzUzNDMzMzcwNTldLCBbMTU5NTA5MTA3Ny4wMDk5ODgsIDMzMTMsIDAuMDM0Njc1MTY5NzM2MTQ2OTNdLCBbMTU5NTA5MTA5MC41NzMxNTMsIDMzMjcsIDAuMDM0Njc5MzYwNjg3NzMyN10sIFsxNTk1MDkxMDkxLjU1MDMxNiwgMzMyOCwgMC4wMzQ2Nzk1ODc5MzA0NDA5XSwgWzE1OTUwOTEwOTYuNDk1NDY0LCAzMzMzLCAwLjAzNDY4MDc3NjI5ODA0NjExXSwgWzE1OTUwOTExMDEuMzg2MzM1LCAzMzM4LCAwLjAzNDY4MjQxNTQyNTc3NzQzNV0sIFsxNTk1MDkxMTA4LjA4NTU5NCwgMzM0NSwgMC4wMzQ2ODQ5NDQ4OTc4OTAwOV0sIFsxNTk1MDkxMTM2LjQ2MzY0NCwgMzM3NCwgMC4wMzQ2OTU3MDM1MzYyNzIwNV0sIFsxNTk1MDkxMTM4LjM3MDE0MiwgMzM3NiwgMC4wMzQ2OTYzODUyNjQzOTY2N10sIFsxNTk1MDkxMTQwLjI4Nzc2MywgMzM3OCwgMC4wMzQ2OTczNjg3NDEwMzU0Nl0sIFsxNTk1MDkxMTQ4LjExNjg1NywgMzM4NiwgMC4wMzQ3MDEwNzkxMzAxNzI3M10sIFsxNTk1MDkxMTY1LjA2MjU0MiwgMzQwMywgMC4wMzQ3MDM1NjAxNzM1MTE1MDVdLCBbMTU5NTA5MTE2OS4zNjI2MjgsIDM0MDgsIDAuMDM0NzAyOTc1MzAyOTM0NjVdLCBbMTU5NTA5MTE5MS4wMzQzMzMsIDM0MzAsIDAuMDM0NzAwMTAzMTA0MTE0NTNdLCBbMTU5NTA5MTE5NC4wMzk4NywgMzQzMywgMC4wMzQ3MDAwMzIzMjM1OTg4Nl0sIFsxNTk1MDkxMTk5LjE1MTMwMSwgMzQzOCwgMC4wMzQ2OTk3MDgyMjMzNDI4OTZdLCBbMTU5NTA5MTIwNS44NTQwMDksIDM0NDUsIDAuMDM0Njk5NDM2Mjc3MTUxMTFdLCBbMTU5NTA5MTIwOS43MTUwOTgsIDM0NDksIDAuMDM0Njk5NDQzNzI3NzMxNzA1XSwgWzE1OTUwOTEyMTEuNzU5NzA2LCAzNDUxLCAwLjAzNDY5OTQzNjI3NzE1MTExXSwgWzE1OTUwOTEyMTcuNzExMjk1LCAzNDU3LCAwLjAzNDY5OTMxNzA2Nzg2MTU2XSwgWzE1OTUwOTEyMTguNjcwMzUyLCAzNDU4LCAwLjAzNDY5OTMxNzA2Nzg2MTU2XSwgWzE1OTUwOTEyMjQuNzY3NjYzLCAzNDY0LCAwLjAzNDY5OTIzMTM4NjE4NDY5XSwgWzE1OTUwOTEyMzEuNTQ2OTkyLCAzNDcxLCAwLjAzNDY5ODQ1NjUyNTgwMjYxXSwgWzE1OTUwOTEyMzcuNTY0OTk0LCAzNDc3LCAwLjAzNDY5ODQ0NTM0OTkzMTcyXSwgWzE1OTUwOTEyNDAuNDQwNzYsIDM0ODAsIDAuMDM0Njk4NDQ5MDc1MjIyMDE1XSwgWzE1OTUwOTEyNTYuOTg3MDc4LCAzNDk3LCAwLjAzNDY5NjAxNjQ2MDY1NzEyXSwgWzE1OTUwOTEyNTkuMDczODIyLCAzNDk5LCAwLjAzNDY5NTcyMjE2MjcyMzU0XSwgWzE1OTUwOTEyNjguNzg5NzMzLCAzNTA5LCAwLjAzNDY5NDc3NTkzODk4NzczXSwgWzE1OTUwOTEyNzEuODQ0Njg4LCAzNTEyLCAwLjAzNDY5NDYxOTQ3Njc5NTJdLCBbMTU5NTA5MTI3OC43NTA2MiwgMzUxOSwgMC4wMzQ2OTQxNjEyNjYwODg0ODZdLCBbMTU5NTA5MTI5NC4wMzE2NzUsIDM1MzUsIDAuMDM0Njk0MzgxMDU4MjE2MDk1XSwgWzE1OTUwOTEyOTUuOTUwMDQsIDM1MzcsIDAuMDM0Njk0NjAwODUwMzQzNzA0XSwgWzE1OTUwOTEzMDEuODc0NzMxLCAzNTQzLCAwLjAzNDY5NDk5NTczMTExNTM0XSwgWzE1OTUwOTEzMDUuNjczMzY0LCAzNTQ3LCAwLjAzNDY5NTE0ODQ2ODAxNzU4XSwgWzE1OTUwOTEzMDcuNzA0Mjg0LCAzNTQ5LCAwLjAzNDY5NTI3NTEyNzg4NzcyNl0sIFsxNTk1MDkxMzIxLjM0MjQ1NCwgMzU2MywgMC4wMzQ2OTY5NTg5NTkxMDI2M10sIFsxNTk1MDkxMzM3Ljk3NzY5NywgMzU4MCwgMC4wMzQ2OTcyNjQ0MzI5MDcxMDRdLCBbMTU5NTA5MTM0OS42OTAwODksIDM1OTIsIDAuMDM0Njk2Mzc3ODEzODE2MDddLCBbMTU5NTA5MTM1Ny41NzEzMDEsIDM2MDAsIDAuMDM0Njk1MzkwNjExODg2OThdLCBbMTU5NTA5MTM3NC45NzkwMDgsIDM2MTgsIDAuMDM0NjkzOTA3OTQ2MzQ4MTldLCBbMTU5NTA5MTM3Ni45NTEwMDksIDM2MjAsIDAuMDM0NjkzNzE3OTU2NTQyOTddLCBbMTU5NTA5MTM3OC44MDEwODIsIDM2MjIsIDAuMDM0NjkzNDQ5NzM1NjQxNDhdLCBbMTU5NTA5MTM4MS43NDM5MTksIDM2MjUsIDAuMDM0NjkyOTEzMjkzODM4NV0sIFsxNTk1MDkxMzg0LjU3ODk1OSwgMzYyOCwgMC4wMzQ2OTIyNzI1NDM5MDcxNjZdLCBbMTU5NTA5MTQwMS4yMjkxMjgsIDM2NDUsIDAuMDM0Njg4OTU3MDM1NTQxNTM0XSwgWzE1OTUwOTE0MTEuODE5NjA2LCAzNjU2LCAwLjAzNDY4ODI2MDQwNjI1NTcyXSwgWzE1OTUwOTE0MTMuMTkwMjE3LCAzNjU3LCAwLjAzNDY4ODI3MTU4MjEyNjYyXSwgWzE1OTUwOTE0MjUuNjI1NzE3LCAzNjcwLCAwLjAzNDY4OTIxMDM1NTI4MTgzXSwgWzE1OTUwOTE0NTQuNzg2MDM4LCAzNzAwLCAwLjAzNDY5MDg0OTQ4MzAxMzE1XSwgWzE1OTUwOTE0NTYuNzkyMDM5LCAzNzAyLCAwLjAzNDY5MDk2ODY5MjMwMjcwNF0sIFsxNTk1MDkxNDgwLjMyMzI0MywgMzcyNiwgMC4wMzQ2ODg2NTUyODcwMjczNl0sIFsxNTk1MDkxNDg0LjIwOTEyNiwgMzczMCwgMC4wMzQ2ODc3NDI1OTA5MDQyMzZdLCBbMTU5NTA5MTQ4Ni4yMDM1NjYsIDM3MzIsIDAuMDM0Njg3MzUxNDM1NDIyOV0sIFsxNTk1MDkxNDkxLjk3NjU4MiwgMzczOCwgMC4wMzQ2ODU2ODI1MDUzNjkxODZdLCBbMTU5NTA5MTQ5NC44NDMzOTMsIDM3NDEsIDAuMDM0Njg0ODgxNTY3OTU1MDJdLCBbMTU5NTA5MTQ5Ni44NTc3ODIsIDM3NDMsIDAuMDM0Njg0Mjc0MzQ1NjM2MzddLCBbMTU5NTA5MTUwNS42MDM3ODYsIDM3NTIsIDAuMDM0NjgxNzAzODk1MzMwNDNdLCBbMTU5NTA5MTUxMi40Mjg0ODUsIDM3NTksIDAuMDM0NjgwMjEzNzc5MjExMDQ0XSwgWzE1OTUwOTE1MjUuNzkzMTUyLCAzNzcyLCAwLjAzNDY3NzcxNDEwOTQyMDc3Nl0sIFsxNTk1MDkxNTMzLjA3NzAxOSwgMzc4MCwgMC4wMzQ2NzYwMTkxMDIzMzQ5NzZdLCBbMTU5NTA5MTU0NS43MDcyMjMsIDM3OTMsIDAuMDM0Njc0MDQwOTczMTg2NDldLCBbMTU5NTA5MTU0Ny42NDY0ODEsIDM3OTUsIDAuMDM0NjczOTY2NDY3MzgwNTI0XSwgWzE1OTUwOTE1NTAuNTczMzc2LCAzNzk4LCAwLjAzNDY3Mzg4NDUxMDk5Mzk2XSwgWzE1OTUwOTE1NjIuMjgyMTA1LCAzODEwLCAwLjAzNDY3NDAwMzcyMDI4MzUxXSwgWzE1OTUwOTE1NjYuMjQxMDI1LCAzODE0LCAwLjAzNDY3NTAwMjA5ODA4MzQ5Nl0sIFsxNTk1MDkxNTcxLjA1Mjg1NSwgMzgxOSwgMC4wMzQ2NzYyNjEyNDYyMDQzNzZdLCBbMTU5NTA5MTU3Mi45NTI3OTcsIDM4MjEsIDAuMDM0Njc2NzM4MDgzMzYyNThdLCBbMTU5NTA5MTU4Mi42NTY1OTMsIDM4MzEsIDAuMDM0Njc4MTIzODkxMzUzNjFdLCBbMTU5NTA5MTU4Ni42MTEwMjQsIDM4MzUsIDAuMDM0Njc4NzYwOTE1OTk0NjQ0XSwgWzE1OTUwOTE1OTkuMTgxMTA1LCAzODQ4LCAwLjAzNDY4MDg4MDYwNjE3NDQ3XSwgWzE1OTUwOTE2MTQuNzUxNDkyLCAzODY0LCAwLjAzNDY4MTc3ODQwMTEzNjRdLCBbMTU5NTA5MTYxOS42OTEzMjksIDM4NjksIDAuMDM0NjgxMjg2NjYyODE3XSwgWzE1OTUwOTE2MjYuNDAwMjg5LCAzODc2LCAwLjAzNDY3OTg2MzYwMTkyMjk5XSwgWzE1OTUwOTE2NTAuNjAyNjY3LCAzOTAxLCAwLjAzNDY3MjY3NzUxNjkzNzI1Nl0sIFsxNTk1MDkxNjUxLjU0ODc5MiwgMzkwMiwgMC4wMzQ2NzIzOTgxMjAxNjQ4N10sIFsxNTk1MDkxNjU5LjMyMjY3MSwgMzkxMCwgMC4wMzQ2NzAzMTk0MDgxNzgzM10sIFsxNTk1MDkxNjY4Ljk5OTYyMiwgMzkyMCwgMC4wMzQ2Njc2NzQ0NTIwNjY0Ml0sIFsxNTk1MDkxNjc2LjgzNzY3MywgMzkyOCwgMC4wMzQ2NjYzNzQzMjU3NTIyNl0sIFsxNTk1MDkxNjgzLjU4OTQyNiwgMzkzNSwgMC4wMzQ2NjU2MTQzNjY1MzEzN10sIFsxNTk1MDkxNjg3LjQ2MDEzOCwgMzkzOSwgMC4wMzQ2NjU0MjA2NTE0MzU4NV0sIFsxNTk1MDkxNjk4LjEwNjgwOSwgMzk1MCwgMC4wMzQ2NjU0MjgxMDIwMTY0NV0sIFsxNTk1MDkxNzA0LjE2MzY4MywgMzk1NiwgMC4wMzQ2NjUxMzc1MjkzNzMxN10sIFsxNTk1MDkxNzA5LjgyNDIxNSwgMzk2MiwgMC4wMzQ2NjUwMDcxNDQyMTI3Ml0sIFsxNTk1MDkxNzMxLjMzNzI1NiwgMzk4NCwgMC4wMzQ2NjA5MjA1MDA3NTUzMV0sIFsxNTk1MDkxNzQxLjk3MDA2NSwgMzk5NSwgMC4wMzQ2NTkyODUwOTgzMTQyODVdLCBbMTU5NTA5MTc0Ni43MDY5OTksIDQwMDAsIDAuMDM0NjU4NTg0NzQzNzM4MTc0XSwgWzE1OTUwOTE3NTUuMzczODAxLCA0MDA5LCAwLjAzNDY1OTAxMzE1MjEyMjVdLCBbMTU5NTA5MTc1Ni4zNDcxMzUsIDQwMTAsIDAuMDM0NjU5MDEzMTUyMTIyNV0sIFsxNTk1MDkxNzY4LjA4NTczNiwgNDAyMiwgMC4wMzQ2NTcyODQ2MTc0MjQwMV0sIFsxNTk1MDkxNzc4Ljg4OTQwNiwgNDAzMywgMC4wMzQ2NTQ5ODIzODgwMTk1Nl0sIFsxNTk1MDkxNzgxLjgwNjQ2NiwgNDAzNiwgMC4wMzQ2NTQyNTk2ODE3MDE2Nl0sIFsxNTk1MDkxNzkxLjQzNDc5NywgNDA0NiwgMC4wMzQ2NTM2MjYzODIzNTA5Ml0sIFsxNTk1MDkxNzkyLjQ5MjM1LCA0MDQ3LCAwLjAzNDY1NDQwMTI0MjczM10sIFsxNTk1MDkxNzkzLjQ3MDcwOCwgNDA0OCwgMC4wMzQ2NTY2NzM2Njk4MTUwNjNdLCBbMTU5NTA5MTgzNy4wMTAyMzUsIDQwOTMsIDAuMDM0ODg2NzU1MDQ5MjI4NjddLCBbMTU5NTA5MTg0MS44MzY5MjYsIDQwOTgsIDAuMDM0ODk3MjIzMTE0OTY3MzQ2XSwgWzE1OTUwOTE4NDIuODEzNjUxLCA0MDk5LCAwLjAzNDg5OTA0MTA1NjYzMjk5Nl0sIFsxNTk1MDkxODUyLjU4NTYxMywgNDEwOSwgMC4wMzQ5MTI0MDczOTgyMjM4OF0sIFsxNTk1MDkxOTIzLjE1MDgzMiwgNDE4MiwgMC4wMzUwNTg4NzQ2MzY4ODg1MDRdLCBbMTU5NTA5MTkzMy44NDYyMjcsIDQxOTMsIDAuMDM1MDc4NTUxNjIwMjQ0OThdLCBbMTU5NTA5MTkzNC45MTI1OTMsIDQxOTQsIDAuMDM1MDgwMTM0ODY4NjIxODI2XSwgWzE1OTUwOTE5MzYuODQ1NDQyLCA0MTk2LCAwLjAzNTA4Mjk4ODQ0MDk5MDQ1XSwgWzE1OTUwOTE5MzguNzAyNzUxLCA0MTk4LCAwLjAzNTA4NTY1OTQ3NDEzNDQ0NV0sIFsxNTk1MDkxOTQxLjUxMTExNywgNDIwMSwgMC4wMzUwODk0NDA2NDM3ODczODRdLCBbMTU5NTA5MTk0Mi41NjM0NjEsIDQyMDIsIDAuMDM1MDkwNjUxMzYzMTM0Mzg0XSwgWzE1OTUwOTE5NDQuNDc4ODk2LCA0MjA0LCAwLjAzNTA5MjkzODY5MTM3NzY0XSwgWzE1OTUwOTE5NjYuODgxNjA4LCA0MjI3LCAwLjAzNTExMzcwNzE4NDc5MTU2NV0sIFsxNTk1MDkxOTcxLjg0OTMwNCwgNDIzMiwgMC4wMzUxMTgxNTUxODE0MDc5M10sIFsxNTk1MDkxOTc0Ljg0NjM0LCA0MjM1LCAwLjAzNTEyMDQyMDE1NzkwOTM5XSwgWzE1OTUwOTE5ODIuODE5MDg1LCA0MjQzLCAwLjAzNTEyNTA0MzI0MzE2OTc4NV0sIFsxNTk1MDkxOTkzLjU2MjExMywgNDI1NCwgMC4wMzUxMzAyMjg4NDcyNjUyNDRdLCBbMTU5NTA5MjAwMi40ODM4MDYsIDQyNjMsIDAuMDM1MTMyODMyODI1MTgzODddLCBbMTU5NTA5MjAwNS4zMzA1NywgNDI2NiwgMC4wMzUxMzMwNjc1MTg0NzI2N10sIFsxNTk1MDkyMDA2LjM2MDQ1MywgNDI2NywgMC4wMzUxMzMwNzQ5NjkwNTMyN10sIFsxNTk1MDkyMDIxLjA0NjAzNCwgNDI4MiwgMC4wMzUxMzE4MjY5OTY4MDMyODRdLCBbMTU5NTA5MjAzNi42MjczNzUsIDQyOTgsIDAuMDM1MTM4NTczNDk3NTMzOF0sIFsxNTk1MDkyMDQyLjQxNDU1MywgNDMwNCwgMC4wMzUxNDY3NTc5NjAzMTk1Ml0sIFsxNTk1MDkyMDQ2LjQ1MzI1MiwgNDMwOCwgMC4wMzUxNTE1ODU5MzY1NDYzMjZdLCBbMTU5NTA5MjA1NS4wOTk5NzYsIDQzMTcsIDAuMDM1MTU5NDkxMDAyNTU5NjZdLCBbMTU5NTA5MjA1Ny4wNDY0NzIsIDQzMTksIDAuMDM1MTYwOTIxNTE0MDM0MjddLCBbMTU5NTA5MjA2NS44NDE5NTYsIDQzMjgsIDAuMDM1MTc2MDc1OTk0OTY4NDE0XSwgWzE1OTUwOTIwNjkuNjk5Mjg4LCA0MzMyLCAwLjAzNTE4MzI3MzI1NTgyNTA0XSwgWzE1OTUwOTIwNzUuNjkxNjA3LCA0MzM4LCAwLjAzNTE5MjQ2NzI3MjI4MTY1XSwgWzE1OTUwOTIwODAuNjI1NDQ1LCA0MzQzLCAwLjAzNTE5ODExMTA4NzA4MzgxN10sIFsxNTk1MDkyMTA1LjkyMjEsIDQzNjksIDAuMDM1MjM0Mjk0ODMxNzUyNzhdLCBbMTU5NTA5MjExNC43NjQ0NDIsIDQzNzgsIDAuMDM1MjQ4MDI2MjUxNzkyOTFdLCBbMTU5NTA5MjEyOS4yOTkyMDMsIDQzOTMsIDAuMDM1MjcyOTQ4NDQzODg5NjJdLCBbMTU5NTA5MjEzNS45NDEwMTgsIDQ0MDAsIDAuMDM1MjgyMTIwMTA4NjA0NDNdLCBbMTU5NTA5MjE0MS45OTkwMzUsIDQ0MDYsIDAuMDM1Mjg3ODkwNTgzMjc2NzVdLCBbMTU5NTA5MjE0NS45OTQ0NzMsIDQ0MTAsIDAuMDM1MjkxMDQyMTc4ODY5MjVdLCBbMTU5NTA5MjE0Ni45OTY2NDIsIDQ0MTEsIDAuMDM1MjkxNjgyOTI4ODAwNThdLCBbMTU5NTA5MjE2NS40MTc0MzgsIDQ0MzAsIDAuMDM1Mjk5OTE5NTQ1NjUwNDhdLCBbMTU5NTA5MjE2Ni4zNjI5ODksIDQ0MzEsIDAuMDM1MzAwMjEwMTE4MjkzNzZdLCBbMTU5NTA5MjE2OC4zNTc5NzMsIDQ0MzMsIDAuMDM1MzAwOTA2NzQ3NTc5NTc1XSwgWzE1OTUwOTIxNzQuMTQxNDg4LCA0NDM5LCAwLjAzNTMwMzc3ODk0NjM5OTY5XSwgWzE1OTUwOTIyMDMuMzU5MDkxLCA0NDY5LCAwLjAzNTMxMTU4MzQyOTU3NDk2Nl0sIFsxNTk1MDkyMjA5LjQ2ODExMywgNDQ3NSwgMC4wMzUzMTUxOTMyMzU4NzQxNzZdLCBbMTU5NTA5MjIxMi45MTQyODYsIDQ0NzksIDAuMDM1MzE3NTU1MDY5OTIzNF0sIFsxNTk1MDkyMjE1Ljc4MDIxMiwgNDQ4MiwgMC4wMzUzMTkwMTE2NTg0MzAxXSwgWzE1OTUwOTIyMjMuNjUzODQ0LCA0NDkwLCAwLjAzNTMyNDAxNDcyMzMwMDkzNF0sIFsxNTk1MDkyMjI1LjYyMTc0OSwgNDQ5MiwgMC4wMzUzMjUyMDY4MTYxOTY0NF0sIFsxNTk1MDkyMjQyLjE4NDc5NCwgNDUwOSwgMC4wMzUzMzI0NTk5NTY0MDc1NV0sIFsxNTk1MDkyMjQzLjE5MjIyMywgNDUxMCwgMC4wMzUzMzI2Mzg3NzAzNDE4N10sIFsxNTk1MDkyMjYxLjE3MTA4OCwgNDUyOSwgMC4wMzUzMzUzMDk4MDM0ODU4N10sIFsxNTk1MDkyMjYyLjA4NDQ2OSwgNDUzMCwgMC4wMzUzMzUzOTU0ODUxNjI3MzVdLCBbMTU5NTA5MjI2NC45OTI5MDksIDQ1MzMsIDAuMDM1MzM1NDQ3NjM5MjI2OTFdLCBbMTU5NTA5MjI3My43MzMzMjQsIDQ1NDIsIDAuMDM1MzM0ODMyOTY2MzI3NjddLCBbMTU5NTA5MjI4MS40MDQ3MTksIDQ1NTAsIDAuMDM1MzM0Mjg1MzQ4NjUzNzldLCBbMTU5NTA5MjI4My4zMjE2MjQsIDQ1NTIsIDAuMDM1MzM0MTIxNDM1ODgwNjZdLCBbMTU5NTA5MjI4NC4zMjQwNDcsIDQ1NTMsIDAuMDM1MzM0MDI4MzAzNjIzMl0sIFsxNTk1MDkyMjk5LjAyNjg5OCwgNDU2OCwgMC4wMzUzMzMzNDI4NTAyMDgyOF0sIFsxNTk1MDkyMzA4LjY4MTI2OCwgNDU3OCwgMC4wMzUzMzI0Nzg1ODI4NTkwNF0sIFsxNTk1MDkyMzExLjUxMTExNCwgNDU4MSwgMC4wMzUzMzI1NjA1MzkyNDU2MDVdLCBbMTU5NTA5MjMyMi40NzM3NDUsIDQ1OTIsIDAuMDM1MzMzOTcyNDI0MjY4NzJdLCBbMTU5NTA5MjMyNS40OTI3MzMsIDQ1OTUsIDAuMDM1MzM3Mjk1MzgzMjE0OTVdLCBbMTU5NTA5MjMyNy4zNDY2MzgsIDQ1OTcsIDAuMDM1MzM5NTQ5MTgzODQ1NTJdLCBbMTU5NTA5MjMyOS4zODE2MDIsIDQ1OTksIDAuMDM1MzQxNjk0OTUxMDU3NDM0XSwgWzE1OTUwOTIzNDAuOTg3Mzc1LCA0NjExLCAwLjAzNTM1MjY2OTY1NjI3NjddLCBbMTU5NTA5MjM1Ny41MTM0NiwgNDYyOCwgMC4wMzUzNjUzMzU2NDMyOTE0N10sIFsxNTk1MDkyMzcyLjE1NTI4NiwgNDY0MywgMC4wMzUzNzI0MzIzMjEzMTAwNF0sIFsxNTk1MDkyMzc3Ljk1ODc2OCwgNDY0OSwgMC4wMzUzNzMyMjIwODI4NTMzMl0sIFsxNTk1MDkyMzg0LjczMjUxMiwgNDY1NiwgMC4wMzUzNzMzMjYzOTA5ODE2NzRdLCBbMTU5NTA5MjM5Mi4zNTE2ODksIDQ2NjQsIDAuMDM1MzcyMzg3NjE3ODI2NDZdLCBbMTU5NTA5MjM5Ni4zMDAyMTgsIDQ2NjgsIDAuMDM1MzcxNzM5NDE3MzE0NTNdLCBbMTU5NTA5MjQwMy4zMjUxNjEsIDQ2NzUsIDAuMDM1MzY5NTQ1MjIxMzI4NzM1XSwgWzE1OTUwOTI0MDQuMzMyMzg2LCA0Njc2LCAwLjAzNTM2OTE3NjQxNzU4OTE5XSwgWzE1OTUwOTI0MDUuMzUzNjc1LCA0Njc3LCAwLjAzNTM2ODgwMDE2MzI2OTA0XSwgWzE1OTUwOTI0MTQuOTMwNCwgNDY4NywgMC4wMzUzNjUwNDg3OTU5Mzg0OV0sIFsxNTk1MDkyNDQwLjIyODc1NSwgNDcxMywgMC4wMzUzNTc5MDc0MTQ0MzYzNF0sIFsxNTk1MDkyNDQ1LjAzOTAzNiwgNDcxOCwgMC4wMzUzNTc1NzU4NjM1OTk3OF0sIFsxNTk1MDkyNDYwLjQyODQyMywgNDczNCwgMC4wMzUzNTc4MTQyODIxNzg4OF0sIFsxNTk1MDkyNDY1LjI0ODc3NiwgNDczOSwgMC4wMzUzNTc2NjUyNzA1NjY5NF0sIFsxNTk1MDkyNDcxLjE5NDgwMSwgNDc0NSwgMC4wMzUzNTczMDM5MTc0MDc5OV0sIFsxNTk1MDkyNDc1LjA0NDI2MSwgNDc0OSwgMC4wMzUzNTY2ODU1MTkyMTg0NDVdLCBbMTU5NTA5MjQ3Ni4xMDQ4MzksIDQ3NTAsIDAuMDM1MzU2NDk5MjU0NzAzNTJdLCBbMTU5NTA5MjQ4My45OTY5LCA0NzU4LCAwLjAzNTM1NTE4NDIyNzIyODE2NV0sIFsxNTk1MDkyNDg2Ljg3MTY0OSwgNDc2MSwgMC4wMzUzNTQ5MjcxODIxOTc1N10sIFsxNTk1MDkyNDg3LjgyMzkyLCA0NzYyLCAwLjAzNTM1NDgxOTE0ODc3ODkxNV0sIFsxNTk1MDkyNDg5LjcxNzI3OSwgNDc2NCwgMC4wMzUzNTQ2MjE3MDgzOTMxXSwgWzE1OTUwOTI0OTIuNjA4NjMxLCA0NzY3LCAwLjAzNTM1NDI3ODk4MTY4NTY0XSwgWzE1OTUwOTI1MDEuNjkzNzI5LCA0Nzc2LCAwLjAzNTM1Mjk1Mjc3ODMzOTM4Nl0sIFsxNTk1MDkyNTA1LjE1NDM5NSwgNDc4MCwgMC4wMzUzNTE5NjU1NzY0MTAyOTRdLCBbMTU5NTA5MjUwOC45OTc4NDksIDQ3ODQsIDAuMDM1MzUwNjIwNzQ2NjEyNTVdLCBbMTU5NTA5MjUxMi4wMzE3MjcsIDQ3ODcsIDAuMDM1MzQ5NTQ3ODYzMDA2NTldLCBbMTU5NTA5MjUxMy4wMTEyNjEsIDQ3ODgsIDAuMDM1MzQ5MjE2MzEyMTcwMDNdLCBbMTU5NTA5MjUxOC43MjczNTMsIDQ3OTQsIDAuMDM1MzQ3MzQyNDkxMTQ5OV0sIFsxNTk1MDkyNTI0LjQwOTczNCwgNDgwMCwgMC4wMzUzNDU3NTU1MTc0ODI3Nl0sIFsxNTk1MDkyNTI2LjQxMzM4NSwgNDgwMiwgMC4wMzUzNDU1NzY3MDM1NDg0M10sIFsxNTk1MDkyNTI5LjE5MDgyMywgNDgwNSwgMC4wMzUzNDU1ODA0Mjg4Mzg3M10sIFsxNTk1MDkyNTYyLjgxODI3MSwgNDg0MCwgMC4wMzUzNjA0NDQzMzcxMjk1OV0sIFsxNTk1MDkyNTc0LjQzNzQzOCwgNDg1MiwgMC4wMzUzNjM5MTI1ODIzOTc0Nl0sIFsxNTk1MDkyNTkyLjgxMjEwOSwgNDg3MSwgMC4wMzUzNjg5NTI5MDAxNzEyOF0sIFsxNTk1MDkyNTk1LjA5ODk3NCwgNDg3MywgMC4wMzUzNjkwODMyODUzMzE3MjZdLCBbMTU5NTA5MjYxMC4zNDQ4NTgsIDQ4ODksIDAuMDM1MzY3MzQzNTc0NzYyMzQ0XSwgWzE1OTUwOTI2MTMuMjQ0NjUyLCA0ODkyLCAwLjAzNTM2Njc4ODUwNjUwNzg3NF0sIFsxNTk1MDkyNjE1LjI1OTQ4LCA0ODk0LCAwLjAzNTM2NjYyMDg2ODQ0NDQ0XSwgWzE1OTUwOTI2MTYuMjA2ODQxLCA0ODk1LCAwLjAzNTM2NjU5NDc5MTQxMjM1NF0sIFsxNTk1MDkyNjM0Ljk0MjkzNCwgNDkxNCwgMC4wMzUzNjkyMTM2NzA0OTIxN10sIFsxNTk1MDkyNjU4LjE0NTQ3OSwgNDkzOCwgMC4wMzUzNjY4ODkwODkzNDU5M10sIFsxNTk1MDkyNjYxLjA3NTcxLCA0OTQxLCAwLjAzNTM2NjA4NDQyNjY0MTQ2NF0sIFsxNTk1MDkyNjczLjkyNDcyOCwgNDk1NCwgMC4wMzUzNjEyMTkxOTc1MTE2N10sIFsxNTk1MDkyNjgxLjUwMjIyMSwgNDk2MiwgMC4wMzUzNTg1NjY3OTA4MTkxN10sIFsxNTk1MDkyNjkwLjA1NzE0MiwgNDk3MSwgMC4wMzUzNTg4MjM4MzU4NDk3Nl0sIFsxNTk1MDkyNjkyLjk5NTY2MywgNDk3NCwgMC4wMzUzNTkyNDEwNjgzNjMxOV0sIFsxNTk1MDkyNjk0Ljk0NzYwMiwgNDk3NiwgMC4wMzUzNTk0NTM0MDk5MTAyXSwgWzE1OTUwOTI2OTUuOTMyMTQ1LCA0OTc3LCAwLjAzNTM1OTQ5ODExMzM5Mzc4NF0sIFsxNTk1MDkyNzA5LjI5NDgxNCwgNDk5MSwgMC4wMzUzNTc4NTg5ODU2NjI0Nl0sIFsxNTk1MDkyNzE3LjA5ODMwNywgNDk5OSwgMC4wMzUzNTUxNzY3NzY2NDc1N10sIFsxNTk1MDkyNzM5LjMxNjg1NSwgNTAyMSwgMC4wMzUzNzIxNjc4MjU2OTg4NV0sIFsxNTk1MDkyNzQ1LjIwOTM5NCwgNTAyNywgMC4wMzUzODcwMjQyODM0MDkxMl0sIFsxNTk1MDkyNzQ4LjAwMzc1MiwgNTAzMCwgMC4wMzUzOTQ4MzI0OTE4NzQ2OTVdLCBbMTU5NTA5Mjc1NC43NTAxNDQsIDUwMzcsIDAuMDM1NDE0MjU2MTU1NDkwODc1XSwgWzE1OTUwOTI3NjcuMzUwNCwgNTA1MCwgMC4wMzU0NTI0NDQxMDYzNDA0MV0sIFsxNTk1MDkyNzY5LjIzNTQ3MywgNTA1MiwgMC4wMzU0NTc1NjI2NTUyMTA0OTVdLCBbMTU5NTA5Mjc3MC4yODU3NSwgNTA1MywgMC4wMzU0NjAyODU4NDI0MTg2N10sIFsxNTk1MDkyNzc2Ljk4MTU3MiwgNTA2MCwgMC4wMzU0NzcxODAwMzM5MjIxOTVdLCBbMTU5NTA5Mjc5NC4zMzA0NCwgNTA3OCwgMC4wMzU1MjA0MjMyMDM3MDY3NF0sIFsxNTk1MDkyODEwLjA2MzIzOSwgNTA5NCwgMC4wMzU1NjIzMDY2NDI1MzIzNV0sIFsxNTk1MDkyODE2LjkxNzQ4NCwgNTEwMSwgMC4wMzU1ODIyMDcxNDMzMDY3M10sIFsxNTk1MDkyODIxLjY0NzYyMSwgNTEwNiwgMC4wMzU1OTI3Nzk1MTcxNzM3N10sIFsxNTk1MDkyODIyLjYxODE0OSwgNTEwNywgMC4wMzU1OTQ2MDQ5MDk0MjAwMV0sIFsxNTk1MDkyODI4LjQ1OTUwMiwgNTExMywgMC4wMzU2MDMzNzc5NjgwNzI4OV0sIFsxNTk1MDkyODQwLjk0ODc0MiwgNTEyNiwgMC4wMzU2MjY0MTE0Mzc5ODgyOF0sIFsxNTk1MDkyODQyLjg3MzMzNywgNTEyOCwgMC4wMzU2Mjk4OTQ1ODQ0MTczNF0sIFsxNTk1MDkyODQ4Ljc4NDI1MSwgNTEzNCwgMC4wMzU2NDE1NjU5MTg5MjI0MjRdLCBbMTU5NTA5Mjg3NC4xMzAzNjUsIDUxNjAsIDAuMDM1Njg5MjQ5NjM0NzQyNzRdLCBbMTU5NTA5Mjg3OS4wNTY3NjMsIDUxNjUsIDAuMDM1NjkyNTk0OTQ1NDMwNzU2XSwgWzE1OTUwOTI4OTEuOTM2MjY2LCA1MTc4LCAwLjAzNTY5OTkwMDIzOTcwNjA0XSwgWzE1OTUwOTI4OTUuODE0MDA0LCA1MTgyLCAwLjAzNTcwMTY4NDY1Mzc1OV0sIFsxNTk1MDkyOTEzLjA4MjY4LCA1MjAwLCAwLjAzNTc0NTc3NzE4OTczMTZdLCBbMTU5NTA5MjkyMC43NTYwMTUsIDUyMDgsIDAuMDM1Nzc0MTIyOTIzNjEyNTk1XSwgWzE1OTUwOTI5NDMuMDM3NTE0LCA1MjMxLCAwLjAzNTgxMDg5NTI2NDE0ODcxXSwgWzE1OTUwOTI5NDUuODk2MTkxLCA1MjM0LCAwLjAzNTgxMjE5NTM5MDQ2Mjg3NV0sIFsxNTk1MDkyOTQ2LjgzMTAyMSwgNTIzNSwgMC4wMzU4MTI1NzUzNzAwNzMzMl0sIFsxNTk1MDkyOTUwLjc2ODcwOSwgNTIzOSwgMC4wMzU4MTM2NzA2MDU0MjEwNjZdLCBbMTU5NTA5Mjk1MS42ODQ5MjYsIDUyNDAsIDAuMDM1ODEzODgyOTQ2OTY4MDhdLCBbMTU5NTA5Mjk1NS41ODM0MjIsIDUyNDQsIDAuMDM1ODE1MjEyODc1NjA0NjNdLCBbMTU5NTA5Mjk3Ny4wMzA4NDUsIDUyNjYsIDAuMDM1ODI5NTg4NzcwODY2Mzk0XSwgWzE1OTUwOTI5OTkuNzg5NTk0LCA1Mjg5LCAwLjAzNTgzNjAwMzcyMDc2MDM0NV0sIFsxNTk1MDkzMDEyLjU1NTUyMywgNTMwMiwgMC4wMzU4MzgwNDUxNzk4NDM5XSwgWzE1OTUwOTMwMjguMjI5Mzk4LCA1MzE4LCAwLjAzNTg0NTE5NzczNzIxNjk1XSwgWzE1OTUwOTMwMzguNjQ5NjYzLCA1MzI5LCAwLjAzNTg1MjQwOTg5OTIzNDc3XSwgWzE1OTUwOTMwNTQuNTQxOTYyLCA1MzQ1LCAwLjAzNTg2NDYyMTQwMDgzMzEzXSwgWzE1OTUwOTMwNTcuMzQ1NTYsIDUzNDgsIDAuMDM1ODY1NTM0MDk2OTU2MjVdLCBbMTU5NTA5MzA2OC4wODM1OTIsIDUzNTksIDAuMDM1ODY1NzM1MjYyNjMyMzddLCBbMTU5NTA5MzA2OS4wNzkwNDksIDUzNjAsIDAuMDM1ODY1NjM4NDA1MDg0NjFdLCBbMTU5NTA5MzA3MS45MjU4NDgsIDUzNjMsIDAuMDM1ODY1MTgwMTk0Mzc3OV0sIFsxNTk1MDkzMDg4LjIyMjA3LCA1MzgwLCAwLjAzNTg2MDk3ODA2NjkyMTIzNF0sIFsxNTk1MDkzMDkyLjIwMDAzLCA1Mzg0LCAwLjAzNTg2MDAzNTU2ODQ3NTcyXSwgWzE1OTUwOTMxMTEuNzExNDk4LCA1NDA0LCAwLjAzNTg1NDM5NTQ3ODk2Mzg1XSwgWzE1OTUwOTMxMTMuNjg2OTUzLCA1NDA2LCAwLjAzNTg1NDM2OTQwMTkzMTc2XSwgWzE1OTUwOTMxMjcuNDAzMDU5LCA1NDIwLCAwLjAzNTg1NzIzNzg3NTQ2MTU4XSwgWzE1OTUwOTMxMzIuMzkzMDg4LCA1NDI1LCAwLjAzNTg1NzgwNDExOTU4Njk0NV0sIFsxNTk1MDkzMTQ1LjkxNDA2NSwgNTQzOSwgMC4wMzU4NTkzMDkxMzY4Njc1Ml0sIFsxNTk1MDkzMTQ2LjgxODM3LCA1NDQwLCAwLjAzNTg1OTQ0Njk3MjYwODU2Nl0sIFsxNTk1MDkzMTQ4Ljc4MTM3OCwgNTQ0MiwgMC4wMzU4NTk2OTY1NjcwNTg1Nl0sIFsxNTk1MDkzMTUzLjU2OTA4OCwgNTQ0NywgMC4wMzU4NTk3MDQwMTc2MzkxNl0sIFsxNTk1MDkzMTgwLjY2MzAzNCwgNTQ3NSwgMC4wMzU4NTA3MzM1MTg2MDA0NjRdLCBbMTU5NTA5MzE4OS40MTY1MDMsIDU0ODQsIDAuMDM1ODQ3MDUyOTMxNzg1NTgzXSwgWzE1OTUwOTMxOTYuMTU0MzY5LCA1NDkxLCAwLjAzNTg0NDA2ODk3NDI1NjUxNl0sIFsxNTk1MDkzMjAwLjA0MzY3NSwgNTQ5NSwgMC4wMzU4NDIzNTE2MTU0Mjg5MjVdLCBbMTU5NTA5MzIwNS44MzcyMDUsIDU1MDEsIDAuMDM1ODM5NzczNzE0NTQyMzldLCBbMTU5NTA5MzIxMS42NTE5MjYsIDU1MDcsIDAuMDM1ODM2OTQ5OTQ0NDk2MTU1XSwgWzE1OTUwOTMyMTYuOTE3MTE5LCA1NTEyLCAwLjAzNTgzNDc3NDM3NDk2MTg1XSwgWzE1OTUwOTMyMTkuNTExMzA2LCA1NTE1LCAwLjAzNTgzMzU1MjQ3OTc0Mzk2XSwgWzE1OTUwOTMyMjEuNTA3MDAyLCA1NTE3LCAwLjAzNTgzMjYyODYwNzc0OTk0XSwgWzE1OTUwOTMyMzYuMDYyMTI1LCA1NTMyLCAwLjAzNTgyODI3MDAxODEwMDc0XSwgWzE1OTUwOTMyNDQuNzU2MzM2LCA1NTQxLCAwLjAzNTgyNTY3MzQ5MDc2MjcxXSwgWzE1OTUwOTMyNTIuNjUxOTgsIDU1NDksIDAuMDM1ODIzMTgxMjcxNTUzMDRdLCBbMTU5NTA5MzI2OS4zMzE2ODIsIDU1NjYsIDAuMDM1ODIxNDYzOTEyNzI1NDVdLCBbMTU5NTA5MzI3NC4zNTIzMzYsIDU1NzEsIDAuMDM1ODIxNTgzMTIyMDE1XSwgWzE1OTUwOTMyNzYuMzMxMzk2LCA1NTczLCAwLjAzNTgyMTgwNjYzOTQzMjkxXSwgWzE1OTUwOTMyODguNDQxNzE2LCA1NTg1LCAwLjAzNTgyMjk5NTAwNzAzODExNl0sIFsxNTk1MDkzMjkwLjUwMDc3OCwgNTU4NywgMC4wMzU4MjI5NTAzMDM1NTQ1MzVdLCBbMTU5NTA5MzI5Ni4zMDA1MzEsIDU1OTMsIDAuMDM1ODIyMDcxMTM1MDQ0MV0sIFsxNTk1MDkzMzA4LjExNDkzOCwgNTYwNSwgMC4wMzU4MTkzOTI2NTEzMTk1MDRdLCBbMTU5NTA5MzMxMi45NTAyNzgsIDU2MTAsIDAuMDM1ODE4MDA2ODQzMzI4NDc2XSwgWzE1OTUwOTMzMjIuNDcxNDIxLCA1NjIwLCAwLjAzNTgxNDQ2MDM2Njk2NDM0XSwgWzE1OTUwOTMzMzIuMjQ2NjYxLCA1NjMwLCAwLjAzNTgxMDQ3MDU4MTA1NDY5XSwgWzE1OTUwOTMzNDguODk3OTMxLCA1NjQ3LCAwLjAzNTgwNDU4NDYyMjM4MzEyXSwgWzE1OTUwOTMzNjAuMDAwMzI0LCA1NjU4LCAwLjAzNTgwMTI1NDIxMjg1NjI5XSwgWzE1OTUwOTMzNjEuOTY0MDQ4LCA1NjYwLCAwLjAzNTgwMDYxNzE4ODIxNTI1Nl0sIFsxNTk1MDkzMzY1Ljk5MzE0NSwgNTY2NCwgMC4wMzU3OTk4OTgyMDcxODc2NV0sIFsxNTk1MDkzMzc3Ljc1NjY5NiwgNTY3NiwgMC4wMzU4MDY5MDE3NTI5NDg3Nl0sIFsxNTk1MDkzMzgwLjY3OTk0NSwgNTY3OSwgMC4wMzU4MDk2OTE5OTUzODIzMV0sIFsxNTk1MDkzNDIxLjQ1NzQ1NSwgNTcyMCwgMC4wMzU4MjI2MDAxMjYyNjY0OF0sIFsxNTk1MDkzNDI0LjQyMjM2NywgNTcyMywgMC4wMzU4MjM0MTIyMzk1NTE1NDRdLCBbMTU5NTA5MzQyOC40Nzk4ODMsIDU3MjcsIDAuMDM1ODIzOTU2MTMxOTM1MTJdLCBbMTU5NTA5MzQ0Mi41Nzc3NDMsIDU3NDEsIDAuMDM1ODI2NTQ1MjA4NjkyNTVdLCBbMTU5NTA5MzQ1My42ODA4MDcsIDU3NTIsIDAuMDM1ODI4Nzk1Mjg0MDMyODJdLCBbMTU5NTA5MzQ2MC43NTU4MSwgNTc1OSwgMC4wMzU4Mjk4ODY3OTQwOTAyN10sIFsxNTk1MDkzNDY3LjYyMzI5NywgNTc2NiwgMC4wMzU4Mjk0MTc0MDc1MTI2NjVdLCBbMTU5NTA5MzQ3Ny43NDc3NzgsIDU3NzYsIDAuMDM1ODMwNjEzMjI1Njk4NDddLCBbMTU5NTA5MzQ4MC43NTk5ODEsIDU3NzksIDAuMDM1ODM0MzE2MTY0MjU1MTRdLCBbMTU5NTA5MzQ4NS42MjE4MzIsIDU3ODQsIDAuMDM1ODQwMTY0ODcwMDIzNzNdLCBbMTU5NTA5MzQ5MC42MjA5NTQsIDU3ODksIDAuMDM1ODQzOTc1ODQxOTk5MDU0XSwgWzE1OTUwOTM0OTYuNjYzNSwgNTc5NSwgMC4wMzU4NDU5ODAwNDgxNzk2MjZdLCBbMTU5NTA5MzUwOC40NTAxNTcsIDU4MDcsIDAuMDM1ODQ1OTgwMDQ4MTc5NjI2XSwgWzE1OTUwOTM1MDkuNDMxNTg2LCA1ODA4LCAwLjAzNTg0NTg1MzM4ODMwOTQ4XSwgWzE1OTUwOTM1MjYuMTE0NzkxLCA1ODI1LCAwLjAzNTg0MzcxMTM0NjM4Nzg2XSwgWzE1OTUwOTM1MjkuMTcyMjEzLCA1ODI4LCAwLjAzNTg0MzAwMzU0MTIzMTE1NV0sIFsxNTk1MDkzNTM2LjE1NjQzNSwgNTgzNSwgMC4wMzU4NDEzODMwMzk5NTEzMjRdLCBbMTU5NTA5MzU0Ny43NTM0NTYsIDU4NDcsIDAuMDM1ODM4MzQzMjAzMDY3NzhdLCBbMTU5NTA5MzU2Mi43NDI4MjIsIDU4NjIsIDAuMDM1ODM2NTUxMzM4NDM0MjJdLCBbMTU5NTA5MzU2NC43Mzg0NjcsIDU4NjQsIDAuMDM1ODM2MTMwMzgwNjMwNDldLCBbMTU5NTA5MzU3MS43NDc3NjIsIDU4NzEsIDAuMDM1ODM1MTM5NDUzNDExMV0sIFsxNTk1MDkzNTgxLjg1OTA3LCA1ODgxLCAwLjAzNTgzMjkwNDI3OTIzMjAyNV0sIFsxNTk1MDkzNTkwLjE0OTkzOCwgNTg4OSwgMC4wMzU4MzI5NjAxNTg1ODY1XSwgWzE1OTUwOTM1OTIuMTYxNzM2LCA1ODkxLCAwLjAzNTgzMjk0ODk4MjcxNTYxXSwgWzE1OTUwOTM1OTQuMDI4MDU1LCA1ODkzLCAwLjAzNTgzMjk0MTUzMjEzNTAxXSwgWzE1OTUwOTM1OTkuMDU3MzY0LCA1ODk4LCAwLjAzNTgzMzkyODczNDA2NDFdLCBbMTU5NTA5MzYwOC4yNTg3NzIsIDU5MDcsIDAuMDM1ODM2MDcwNzc1OTg1NzJdLCBbMTU5NTA5MzYxOC4yNDEyMTEsIDU5MTcsIDAuMDM1ODM0NzU1NzQ4NTEwMzZdLCBbMTU5NTA5MzYxOS4yMzQ3ODYsIDU5MTgsIDAuMDM1ODM0NTI4NTA1ODAyMTU1XSwgWzE1OTUwOTM2MjkuMjg2MTM5LCA1OTI4LCAwLjAzNTgzMTc4Mjk2Njg1MjE5XSwgWzE1OTUwOTM2MzMuMTYxNTA3LCA1OTMyLCAwLjAzNTgzMDU4NzE0ODY2NjM4XSwgWzE1OTUwOTM2MzQuMjAxNTY0LCA1OTMzLCAwLjAzNTgzMDMzMzgyODkyNjA4Nl0sIFsxNTk1MDkzNjUzLjQ5MzA3OSwgNTk1MiwgMC4wMzU4MjYzMjU0MTY1NjQ5NF0sIFsxNTk1MDkzNjU4LjQ4ODUyLCA1OTU3LCAwLjAzNTgyNjYwMTA4ODA0NzAzXSwgWzE1OTUwOTM2NjAuNDY3NzgzLCA1OTU5LCAwLjAzNTgyNjk5NTk2ODgxODY2NV0sIFsxNTk1MDkzNjY0LjM5MDkwNiwgNTk2MywgMC4wMzU4Mjc2MDY5MTY0Mjc2MV0sIFsxNTk1MDkzNjczLjI1Njg0OCwgNTk3MiwgMC4wMzU4Mjc3MjYxMjU3MTcxNl0sIFsxNTk1MDkzNjkxLjAwODk2LCA1OTkwLCAwLjAzNTgyOTgwNDgzNzcwMzcwNV0sIFsxNTk1MDkzNzEwLjY4NTQxNywgNjAxMCwgMC4wMzU4MzcwODQwNTQ5NDY5XSwgWzE1OTUwOTM3MTUuNDg1MzUzLCA2MDE1LCAwLjAzNTgzODA5NzMzMzkwODA4XSwgWzE1OTUwOTM3MjQuNTI0OTUyLCA2MDI0LCAwLjAzNTgzODY3ODQ3OTE5NDY0XSwgWzE1OTUwOTM3MzAuNTg0OTI5LCA2MDMwLCAwLjAzNTgzODg0MjM5MTk2Nzc3XSwgWzE1OTUwOTM3MzEuNTY2ODg1LCA2MDMxLCAwLjAzNTgzODkwNTcyMTkwMjg1XSwgWzE1OTUwOTM3MzIuNTQ4NjE2LCA2MDMyLCAwLjAzNTgzODk2OTA1MTgzNzkyXSwgWzE1OTUwOTM3MzUuNjA1ODgsIDYwMzUsIDAuMDM1ODM5MDAyNTc5NDUwNjFdLCBbMTU5NTA5MzczOC41Nzg0NzQsIDYwMzgsIDAuMDM1ODM4OTYxNjAxMjU3MzI0XSwgWzE1OTUwOTM3NjAuNjgwMDMyLCA2MDYwLCAwLjAzNTgzNjI5MDU2ODExMzMzXSwgWzE1OTUwOTM3NzcuMzI0NzE3LCA2MDc3LCAwLjAzNTgzMDY3NjU1NTYzMzU0NV0sIFsxNTk1MDkzNzc4LjI3MjExMSwgNjA3OCwgMC4wMzU4MzAxODg1NDI2MDQ0NDZdLCBbMTU5NTA5Mzc4Mi40Njk5ODgsIDYwODIsIDAuMDM1ODI4MDg3NDc4ODc2MTE0XSwgWzE1OTUwOTM3ODcuNDk5MTE2LCA2MDg3LCAwLjAzNTgyNTI0MTM1NzA4ODA5XSwgWzE1OTUwOTM3OTQuNjg4OTQ4LCA2MDk0LCAwLjAzNTgyMTExMDAxMDE0NzA5NV0sIFsxNTk1MDkzODAzLjQ0MDA3NCwgNjEwMywgMC4wMzU4MTcyNDMxNTg4MTcyOV0sIFsxNTk1MDkzODA1LjQyOTkzMSwgNjEwNSwgMC4wMzU4MTYyNTk2ODIxNzg1XSwgWzE1OTUwOTM4MTUuODE2ODI0LCA2MTE1LCAwLjAzNTgxMTEyMjUwNjg1NjkyXSwgWzE1OTUwOTM4MjEuMzQ2OTQyLCA2MTIxLCAwLjAzNTgwODI1Nzc1ODYxNzRdLCBbMTU5NTA5MzgyMy4zMTI3ODgsIDYxMjMsIDAuMDM1ODA3MzgyMzE1Mzk3MjZdLCBbMTU5NTA5MzgyOS4yNjUzMzIsIDYxMjksIDAuMDM1ODA0NDkxNDkwMTI1NjU2XSwgWzE1OTUwOTM4MzEuMzY4MjMxLCA2MTMxLCAwLjAzNTgwMzQ4MTkzNjQ1NDc3XSwgWzE1OTUwOTM4MzMuNDExNTQ1LCA2MTMzLCAwLjAzNTgwMjY5OTYyNTQ5MjA5Nl0sIFsxNTk1MDkzODQ1LjMzMTU3MywgNjE0NSwgMC4wMzU3OTk3NjQwOTY3MzY5MV0sIFsxNTk1MDkzODQ3LjMzMzY1MSwgNjE0NywgMC4wMzU3OTkyOTQ3MTAxNTkzXSwgWzE1OTUwOTM4NDkuMjYzNzE1LCA2MTQ5LCAwLjAzNTc5ODc0MzM2NzE5NTEzXSwgWzE1OTUwOTM4NzIuMjY0NzQ0LCA2MTcyLCAwLjAzNTc5MTg1OTAzMDcyMzU3XSwgWzE1OTUwOTM4ODEuNDA0NTc0LCA2MTgxLCAwLjAzNTc4ODAyOTQzMjI5Njc1XSwgWzE1OTUwOTM4ODQuMzk1ODU3LCA2MTg0LCAwLjAzNTc4NjY3MzQyNjYyODExXSwgWzE1OTUwOTM5MDAuMzg5OTE3LCA2MjAwLCAwLjAzNTc3OTA4NTAxMDI5MDE0Nl0sIFsxNTk1MDkzOTEwLjQ0MTc1NSwgNjIxMCwgMC4wMzU3NzM4Mjg2MjU2NzkwMTZdLCBbMTU5NTA5MzkxMS40MDk1MzYsIDYyMTEsIDAuMDM1NzczMzI5NDM2Nzc5MDJdLCBbMTU5NTA5MzkxMy4zNTQ1MjgsIDYyMTMsIDAuMDM1NzcyNDM1MzY3MTA3MzldLCBbMTU5NTA5MzkxOS41OTc2ODMsIDYyMTksIDAuMDM1NzY5ODI3NjYzODk4NDddLCBbMTU5NTA5MzkyNS4zMTU0MiwgNjIyNSwgMC4wMzU3NjczMjA1NDM1Mjc2XSwgWzE1OTUwOTM5MzIuMzU4NDgsIDYyMzIsIDAuMDM1NzYzOTY0MDU2OTY4NjldLCBbMTU5NTA5MzkzNy4zODg1NzUsIDYyMzcsIDAuMDM1NzYyMjg3Njc2MzM0MzhdLCBbMTU5NTA5Mzk0NC41NDE5MTgsIDYyNDQsIDAuMDM1NzYwMDE1MjQ5MjUyMzJdLCBbMTU5NTA5Mzk1MC4zNTkyMTUsIDYyNTAsIDAuMDM1NzU5NjA5MTkyNjA5NzldLCBbMTU5NTA5Mzk2Mi45MTIzMjgsIDYyNjMsIDAuMDM1NzU4NjQ0MzQyNDIyNDg1XSwgWzE1OTUwOTM5NjkuOTIwNjg0LCA2MjcwLCAwLjAzNTc1Njg3NDgyOTUzMDcxNl0sIFsxNTk1MDkzOTg5LjEyODEwMSwgNjI4OSwgMC4wMzU3NTA1MTU3NTg5OTEyNF0sIFsxNTk1MDk0MDA4LjkwMjczMiwgNjMwOSwgMC4wMzU3NDQwNjM1NTYxOTQzMDVdLCBbMTU5NTA5NDAxMi4xMzc3NzEsIDYzMTIsIDAuMDM1NzQyODM0MjEwMzk1ODFdLCBbMTU5NTA5NDAxNS45NDQ5MywgNjMxNiwgMC4wMzU3NDEyMTc0MzQ0MDYyOF0sIFsxNTk1MDk0MDE2Ljk1MTcxMSwgNjMxNywgMC4wMzU3NDA4MzM3Mjk1MDU1NF0sIFsxNTk1MDk0MDIzLjk2NDEwNywgNjMyNCwgMC4wMzU3Mzg1MTI4NzM2NDk2XSwgWzE1OTUwOTQwNDAuNTc0MTMsIDYzNDEsIDAuMDM1NzMyNzM4NjczNjg2OThdLCBbMTU5NTA5NDA1MS42MDc3ODksIDYzNTIsIDAuMDM1NzI5Njk1MTExNTEzMTRdLCBbMTU5NTA5NDA2Mi44MDQwMywgNjM2MywgMC4wMzU3MjYwMTQ1MjQ2OTgyNl0sIFsxNTk1MDk0MDY5Ljc5MzUyNCwgNjM3MCwgMC4wMzU3MjQwODEwOTkwMzMzNTZdLCBbMTU5NTA5NDA3NS41OTMyNjUsIDYzNzYsIDAuMDM1NzIyNTgzNTMyMzMzMzc0XSwgWzE1OTUwOTQwOTkuNzIyODQ2LCA2NDAwLCAwLjAzNTcxNTU2NTA4NTQxMTA3XSwgWzE1OTUwOTQxMjIuNTEzMjE2LCA2NDIzLCAwLjAzNTcwNzk1NDMxNzMzMTMxNF0sIFsxNTk1MDk0MTQ2LjU3MjU0NiwgNjQ0NywgMC4wMzU2OTkxMzI4Mjk5MDQ1NTZdLCBbMTU5NTA5NDE1NC41MDc1LCA2NDU1LCAwLjAzNTY5NTIwNjM3MzkyOTk4XSwgWzE1OTUwOTQxNTguNTE3NDM0LCA2NDU5LCAwLjAzNTY5MzM2MjM1NTIzMjI0XSwgWzE1OTUwOTQxNzEuNzM2NzY3LCA2NDcyLCAwLjAzNTY4Njc0NjIzOTY2MjE3XSwgWzE1OTUwOTQxODIuOTM5OTM2LCA2NDgzLCAwLjAzNTY4MDMzODc0MDM0ODgxNl0sIFsxNTk1MDk0MTg2Ljk1MDMxNiwgNjQ4NywgMC4wMzU2NzgyNzg2NTQ4MTM3NjZdLCBbMTU5NTA5NDE5NC44NTUzOCwgNjQ5NSwgMC4wMzU2NzQ5NzgwNDc2MDkzM10sIFsxNTk1MDk0MTk1Ljg3NTA5NywgNjQ5NiwgMC4wMzU2NzQ1NDk2MzkyMjUwMDZdLCBbMTU5NTA5NDE5OS44NzY0NzYsIDY1MDAsIDAuMDM1NjcyOTI5MTM3OTQ1MTc1XSwgWzE1OTUwOTQyMDguNzY0NTQ3LCA2NTA5LCAwLjAzNTY2OTI3MDkwMjg3MjA4Nl0sIFsxNTk1MDk0MjA5LjcxNzA3NywgNjUxMCwgMC4wMzU2Njg4MTI2OTIxNjUzNzVdLCBbMTU5NTA5NDIyMC4wNDI4ODcsIDY1MjAsIDAuMDM1NjY0MzMxMTY3OTM2MzI1XSwgWzE1OTUwOTQyMjEuMDM5MTUxLCA2NTIxLCAwLjAzNTY2MzgxNzA3Nzg3NTE0XSwgWzE1OTUwOTQyMjIuMDE4ODA3LCA2NTIyLCAwLjAzNTY2MzI4NDM2MTM2MjQ2XSwgWzE1OTUwOTQyMjkuOTc2NDk4LCA2NTMwLCAwLjAzNTY1ODg1MTI2NTkwNzI5XSwgWzE1OTUwOTQyMzMuOTcyMDUxLCA2NTM0LCAwLjAzNTY1NjUxOTIzNDE4MDQ1XSwgWzE1OTUwOTQyNTAuMTkzOTQ5LCA2NTUwLCAwLjAzNTY0ODEyOTg4MDQyODMxNF0sIFsxNTk1MDk0Mjc0LjA5ODA5NSwgNjU3NCwgMC4wMzU2NDAxMDkzMzA0MTU3MjZdLCBbMTU5NTA5NDI3OC4wOTA4MzUsIDY1NzgsIDAuMDM1NjM4NTc4MjM2MTAzMDZdLCBbMTU5NTA5NDI4MC4wNDg5NTIsIDY1ODAsIDAuMDM1NjM3ODk2NTA3OTc4NDRdLCBbMTU5NTA5NDI4MS4wODEzMjYsIDY1ODEsIDAuMDM1NjM3NjE3MTExMjA2MDU1XSwgWzE1OTUwOTQyODQuMzA0MzY2LCA2NTg0LCAwLjAzNTYzNjkyNzkzMjUwMDg0XSwgWzE1OTUwOTQyOTMuMTY0ODI2LCA2NTkzLCAwLjAzNTYzNTAyNDMwOTE1ODMyNV0sIFsxNTk1MDk0Mjk0LjE1Mjg0LCA2NTk0LCAwLjAzNTYzNDkzMTE3NjkwMDg2NF0sIFsxNTk1MDk0MzAyLjk4MzEzMSwgNjYwMywgMC4wMzU2MzMyMjg3MTkyMzQ0N10sIFsxNTk1MDk0MzA2LjAyNzMxNywgNjYwNiwgMC4wMzU2MzI0MzE1MDcxMTA1OTZdLCBbMTU5NTA5NDMxNi4wMDM1MDMsIDY2MTYsIDAuMDM1NjI5MjAxNjgwNDIxODNdLCBbMTU5NTA5NDMyMS4wOTc3NzcsIDY2MjEsIDAuMDM1NjI3MzY4ODM3NTk0OTg2XSwgWzE1OTUwOTQzNTcuMzkxNjcyLCA2NjU3LCAwLjAzNTYxMDQ4NTgyMTk2MjM2XSwgWzE1OTUwOTQzNjYuMjU0MzksIDY2NjYsIDAuMDM1NjA2MjUwMTY2ODkzMDA1XSwgWzE1OTUwOTQzNjguMjQ4OTUzLCA2NjY4LCAwLjAzNTYwNTMzMzc0NTQ3OTU4NF0sIFsxNTk1MDk0MzcyLjI1Mjg1MiwgNjY3MiwgMC4wMzU2MDM5MzY3NjE2MTc2Nl0sIFsxNTk1MDk0Mzc4LjM1Njc2OCwgNjY3OCwgMC4wMzU2MDM1NDE4ODA4NDYwMjRdLCBbMTU5NTA5NDM4MS4zNDM0OTksIDY2ODEsIDAuMDM1NjAzMjMyNjgxNzUxMjVdLCBbMTU5NTA5NDM4OC40ODQ5ODQsIDY2ODgsIDAuMDM1NjAzMDcyNDk0MjY4NDJdLCBbMTU5NTA5NDM5MS40NzQ0NDIsIDY2OTEsIDAuMDM1NjAyODE1NDQ5MjM3ODIzXSwgWzE1OTUwOTQzOTYuMzc4OSwgNjY5NiwgMC4wMzU2MDE4NTgwNDk2MzExMl0sIFsxNTk1MDk0Mzk5LjMzOTk2OCwgNjY5OSwgMC4wMzU2MDA5OTc1MDc1NzIxNzRdLCBbMTU5NTA5NDQwNy41NDk1OTYsIDY3MDcsIDAuMDM1NTk3ODI3Mjg1NTI4MThdLCBbMTU5NTA5NDQxMS42Nzk3ODksIDY3MTEsIDAuMDM1NTk2MDQ2NTk2NzY1NTJdLCBbMTU5NTA5NDQxNS43NDAwMTIsIDY3MTUsIDAuMDM1NTk0NDY3MDczNjc4OTddLCBbMTU5NTA5NDQyNS41NzU5NTEsIDY3MjUsIDAuMDM1NTg5NjU3NzIzOTAzNjU2XSwgWzE1OTUwOTQ0MjYuNTQ0ODg1LCA2NzI2LCAwLjAzNTU4OTEzNjE4MzI2MTg3XSwgWzE1OTUwOTQ0MzguNTQ2NzMzLCA2NzM4LCAwLjAzNTU4MjgxMDY0MDMzNTA4XSwgWzE1OTUwOTQ0NDIuNTI0MDY2LCA2NzQyLCAwLjAzNTU4MTIyMzY2NjY2Nzk0XSwgWzE1OTUwOTQ0NDkuNTAyNzU0LCA2NzQ5LCAwLjAzNTU3ODkzMjYxMzEzNDM4NF0sIFsxNTk1MDk0NDUzLjYwOTM4NiwgNjc1MywgMC4wMzU1Nzc0Mjc1OTU4NTM4MDZdLCBbMTU5NTA5NDQ2NS4wODEwMDUsIDY3NjQsIDAuMDM1NTcxNDg5NDgzMTE4MDZdLCBbMTU5NTA5NDQ3Ny4wNTk4OCwgNjc3NiwgMC4wMzU1NjQ4MTc0ODgxOTM1MV0sIFsxNTk1MDk0NDkzLjMyNDAwMiwgNjc5MiwgMC4wMzU1NTQ3MDMzMjUwMzMxOV0sIFsxNTk1MDk0NTE4Ljc4ODUxMywgNjgxNywgMC4wMzU1NDM0NzUzMDAwNzM2MjRdLCBbMTU5NTA5NDUzMy43MjY5MzgsIDY4MzIsIDAuMDM1NTM5MDkwNjMzMzkyMzM0XSwgWzE1OTUwOTQ1NDEuOTUyNzg4LCA2ODQwLCAwLjAzNTUzNjIwMzUzMzQxMTAyNl0sIFsxNTk1MDk0NTQ4LjA3NjI2OSwgNjg0NiwgMC4wMzU1MzQ3NzY3NDcyMjY3MTVdLCBbMTU5NTA5NDU1Mi4yNTU1MDYsIDY4NTAsIDAuMDM1NTMzNTk5NTU1NDkyNF0sIFsxNTk1MDk0NTU2LjIzNjY0MSwgNjg1NCwgMC4wMzU1MzIzMTQzMzAzMzk0M10sIFsxNTk1MDk0NTY0LjM2NDkxMSwgNjg2MiwgMC4wMzU1MjkxMjE3NTY1NTM2NV0sIFsxNTk1MDk0NTcwLjIwMjQ0OSwgNjg2OCwgMC4wMzU1MjU5NTUyNTk3OTk5Nl0sIFsxNTk1MDk0NTcxLjIwNzQ1OCwgNjg2OSwgMC4wMzU1MjU0MjYyNjg1Nzc1NzZdLCBbMTU5NTA5NDU4OC40NjQ4NTQsIDY4ODYsIDAuMDM1NTE1NjI4NzU1MDkyNjJdLCBbMTU5NTA5NDU5Ny40MDU2NjIsIDY4OTUsIDAuMDM1NTEwNDI0NTI0NTQ1NjddLCBbMTU5NTA5NDYwMy41OTE4MzgsIDY5MDEsIDAuMDM1NTA3NTQ0ODc1MTQ0OTZdLCBbMTU5NTA5NDYxMS42OTc1MTEsIDY5MDksIDAuMDM1NTA0MjUxNzE4NTIxMTJdLCBbMTU5NTA5NDYxNC43ODgyNzYsIDY5MTIsIDAuMDM1NTAzMzUwMTk4MjY4ODldLCBbMTU5NTA5NDYxOC43ODAyODIsIDY5MTYsIDAuMDM1NTAyNDAwMjQ5MjQyNzhdLCBbMTU5NTA5NDYyOC42MzgzNjksIDY5MjYsIDAuMDM1NDk5NzU1MjkzMTMwODc1XSwgWzE1OTUwOTQ2MzYuNTg0NDI0LCA2OTM0LCAwLjAzNTQ5Nzc3MzQzODY5MjA5XSwgWzE1OTUwOTQ2MzkuNjA3MTA3LCA2OTM3LCAwLjAzNTQ5NzE0MDEzOTM0MTM1NF0sIFsxNTk1MDk0NjUzLjU3ODExMSwgNjk1MSwgMC4wMzU0OTMzOTYyMjI1OTE0XSwgWzE1OTUwOTQ2NTcuNjg0Mzg4LCA2OTU1LCAwLjAzNTQ5MjI0NTEwNzg4OTE3NV0sIFsxNTk1MDk0NjY1LjgwNTEzMSwgNjk2MywgMC4wMzU0ODk0MTAxNjE5NzIwNDZdLCBbMTU5NTA5NDY2OC43ODQ4ODEsIDY5NjYsIDAuMDM1NDg4MTU4NDY0NDMxNzZdLCBbMTU5NTA5NDY3NC45NTI3NDUsIDY5NzIsIDAuMDM1NDg1ODkzNDg3OTMwM10sIFsxNTk1MDk0NjkzLjQxNjM2NywgNjk5MCwgMC4wMzU0Nzk2OTgzMzAxNjM5NTZdLCBbMTU5NTA5NDY5NS40MDAyNjksIDY5OTIsIDAuMDM1NDc4ODU2NDE0NTU2NV0sIFsxNTk1MDk0NzEzLjQzNjMxLCA3MDEwLCAwLjAzNTQ3MDc5ODYxMTY0MDkzXSwgWzE1OTUwOTQ3MTcuNDc2NTgzLCA3MDE0LCAwLjAzNTQ2OTA3MDA3Njk0MjQ0NF0sIFsxNTk1MDk0NzIwLjY1MTM5OSwgNzAxNywgMC4wMzU0Njc5Nzg1NjY4ODQ5OTVdLCBbMTU5NTA5NDczNS45ODA5MzMsIDcwMzIsIDAuMDM1NDYxODMxODM3ODkyNTNdLCBbMTU5NTA5NDczOS4wNDA2MzcsIDcwMzUsIDAuMDM1NDYwNTk1MDQxNTEzNDRdLCBbMTU5NTA5NDc0Mi44NzU2MywgNzAzOSwgMC4wMzU0NTg4MDMxNzY4Nzk4OF0sIFsxNTk1MDk0NzQ5Ljk5MDI4MiwgNzA0NiwgMC4wMzU0NTU1OTk0MjcyMjMyMDZdLCBbMTU5NTA5NDc2Mi44NDQzOTMsIDcwNTksIDAuMDM1NDQ5NjY1MDM5Nzc3NzU2XSwgWzE1OTUwOTQ3NjguODAxMzY4LCA3MDY1LCAwLjAzNTQ0Njg1NjE3MDg5MjcxNV0sIFsxNTk1MDk0NzgyLjk1OTAzOSwgNzA3OSwgMC4wMzU0NDEyMzQ3MDc4MzIzMzZdLCBbMTU5NTA5NDc5NC45NjU5OTMsIDcwOTEsIDAuMDM1NDM1NjI0NDIwNjQyODVdLCBbMTU5NTA5NDgwMS45NDQyNjIsIDcwOTgsIDAuMDM1NDMxNzIwMzE2NDEwMDY1XSwgWzE1OTUwOTQ4MDkuOTkzNTc4LCA3MTA2LCAwLjAzNTQyNzc0NTQzMTY2MTYwNl0sIFsxNTk1MDk0ODE4LjEwOTc5NSwgNzExNCwgMC4wMzU0MjQ1ODI2NjAxOTgyMV0sIFsxNTk1MDk0ODE5LjE3MDQ0NiwgNzExNSwgMC4wMzU0MjQxNjU0Mjc2ODQ3ODRdLCBbMTU5NTA5NDgyNC4xMjI3MjYsIDcxMjAsIDAuMDM1NDIyMTc2MTIyNjY1NDA1XSwgWzE1OTUwOTQ4MjguMjM3MDA4LCA3MTI0LCAwLjAzNTQyMDQ5MjI5MTQ1MDVdLCBbMTU5NTA5NDg0MS40MjY3NTIsIDcxMzcsIDAuMDM1NDEzOTg3OTM0NTg5Mzg2XSwgWzE1OTUwOTQ4NDUuODE0NzgzLCA3MTQxLCAwLjAzNTQxMjQ5NDA5MzE3OTddLCBbMTU5NTA5NDg1OS42MDY2NzUsIDcxNTUsIDAuMDM1NDEwNDY3NTM1MjU3MzRdLCBbMTU5NTA5NDg3MS41MTUzMDksIDcxNjcsIDAuMDM1NDA5ODcxNDg4ODA5NTg2XSwgWzE1OTUwOTQ4NzIuNTcxODQxLCA3MTY4LCAwLjAzNTQwOTcxMTMwMTMyNjc1XSwgWzE1OTUwOTQ4NzkuNjc5NTY2LCA3MTc1LCAwLjAzNTQwODIxNzQ1OTkxNzA3XSwgWzE1OTUwOTQ4ODcuODM4Mzk4LCA3MTgzLCAwLjAzNTQwNzExNDc3Mzk4ODcyNF0sIFsxNTk1MDk0ODkzLjgxMzA4MSwgNzE4OSwgMC4wMzU0MDU0MjM0OTIxOTMyMl0sIFsxNTk1MDk0ODk5Ljc4NjU5MiwgNzE5NSwgMC4wMzU0MDM2MTY3MjYzOTg0N10sIFsxNTk1MDk0OTA2LjkwNDY1MywgNzIwMiwgMC4wMzU0MDA2MzY0OTQxNTk3XSwgWzE1OTUwOTQ5MDguODk2NDY4LCA3MjA0LCAwLjAzNTM5OTg1MDQ1NzkwNjcyXSwgWzE1OTUwOTQ5MTguMDE1ODQ2LCA3MjEzLCAwLjAzNTM5NjUyNzQ5ODk2MDQ5NV0sIFsxNTk1MDk0OTIwLjA3Mzc5NywgNzIxNSwgMC4wMzUzOTYyNDgxMDIxODgxMV0sIFsxNTk1MDk0OTIxLjAyNTI0OSwgNzIxNiwgMC4wMzUzOTYxMTc3MTcwMjc2NjRdLCBbMTU5NTA5NDk0MC4yNzg0MDMsIDcyMzUsIDAuMDM1MzkwNTc4MjEwMzUzODVdLCBbMTU5NTA5NDk0My4yNTgwMDYsIDcyMzgsIDAuMDM1Mzg5MzYwMDQwNDI2MjU0XSwgWzE1OTUwOTQ5NTIuNTA2ODM3LCA3MjQ3LCAwLjAzNTM4NTMxODEwMDQ1MjQyXSwgWzE1OTUwOTQ5NjUuNjM3MTUyLCA3MjYwLCAwLjAzNTM3ODMyOTQ1NTg1MjUxXSwgWzE1OTUwOTQ5NzYuOTgwMDMyLCA3MjcxLCAwLjAzNTM3MjAxODgxNDA4NjkxNF0sIFsxNTk1MDk0OTgwLjAxMTUzMiwgNzI3NCwgMC4wMzUzNzAzOTA4NjIyMjY0ODZdLCBbMTU5NTA5NDk5MC4xNDI4NTgsIDcyODQsIDAuMDM1MzY1OTQyODY1NjEwMTJdLCBbMTU5NTA5NTAwNi41MTExMTIsIDczMDAsIDAuMDM1MzU4ODQ5OTEyODgxODVdLCBbMTU5NTA5NTAxNy41ODkyODUsIDczMTEsIDAuMDM1MzUzNzc5NzkyNzg1NjQ1XSwgWzE1OTUwOTUwMjAuOTc5NTUyLCA3MzE0LCAwLjAzNTM1Mjc3Mzk2NDQwNTA2XSwgWzE1OTUwOTUwMzUuNDU3NTY1LCA3MzI5LCAwLjAzNTM0ODM5MzAyMzAxNDA3XSwgWzE1OTUwOTUwNDUuNjY5NDM1LCA3MzM5LCAwLjAzNTM0NTQxMjc5MDc3NTNdLCBbMTU5NTA5NTA0Ni42NDE1MjcsIDczNDAsIDAuMDM1MzQ1MDYyNjEzNDg3MjQ0XSwgWzE1OTUwOTUwNTEuODQ3OTcsIDczNDUsIDAuMDM1MzQyOTg3NjI2NzkxXSwgWzE1OTUwOTUwNTIuODgwOTk1LCA3MzQ2LCAwLjAzNTM0MjUxNDUxNDkyMzA5Nl0sIFsxNTk1MDk1MDU4LjA5MjUyMywgNzM1MSwgMC4wMzUzNDAwMjIyOTU3MTM0MjVdLCBbMTU5NTA5NTA2MC4xMTE1MDksIDczNTMsIDAuMDM1MzM5MDEyNzQyMDQyNTRdLCBbMTU5NTA5NTA2NC4xOTAxMSwgNzM1NywgMC4wMzUzMzY4NzQ0MjU0MTEyMjRdLCBbMTU5NTA5NTA2NS4yNTYyNywgNzM1OCwgMC4wMzUzMzYzMDgxODEyODU4Nl0sIFsxNTk1MDk1MDY2LjMwOTkyNiwgNzM1OSwgMC4wMzUzMzU3MTk1ODU0MTg3XSwgWzE1OTUwOTUwODEuNDMxOCwgNzM3NCwgMC4wMzUzMjcwOTU1MzgzNzc3Nl0sIFsxNTk1MDk1MDg4LjY2MzcyNSwgNzM4MSwgMC4wMzUzMjI4MzAwODA5ODYwMl0sIFsxNTk1MDk1MDg5LjY4ODIwNywgNzM4MiwgMC4wMzUzMjIyMDQyMzIyMTU4OF0sIFsxNTk1MDk1MDkzLjY2NTM5MiwgNzM4NiwgMC4wMzUzMTk3NzkwNjgyMzE1OF0sIFsxNTk1MDk1MDk1LjcwNDQwMywgNzM4OCwgMC4wMzUzMTg3MTczNjA0OTY1Ml0sIFsxNTk1MDk1MTA0Ljk4MDIwNywgNzM5NywgMC4wMzUzMTQzMzI2OTM4MTUyM10sIFsxNTk1MDk1MTA5LjAwOTIzNSwgNzQwMSwgMC4wMzUzMTI4OTg0NTcwNTAzMjNdLCBbMTU5NTA5NTExMS45ODM1MzgsIDc0MDQsIDAuMDM1MzEyMDA0Mzg3Mzc4NjldLCBbMTU5NTA5NTEzOC42OTU4MDEsIDc0MzAsIDAuMDM1MzAzMDcxMTQxMjQyOThdLCBbMTU5NTA5NTEzOS43MTM1NzYsIDc0MzEsIDAuMDM1MzAyNjgzNzExMDUxOTRdLCBbMTU5NTA5NTE0OC43Nzk5MzgsIDc0NDAsIDAuMDM1Mjk4NDY2NjgyNDM0MDhdLCBbMTU5NTA5NTE1MS45MjI3NDQsIDc0NDMsIDAuMDM1Mjk2ODc1OTgzNDc2NjRdLCBbMTU5NTA5NTE1NS45NzA5NDEsIDc0NDcsIDAuMDM1Mjk0ODk3ODU0MzI4MTU2XSwgWzE1OTUwOTUxNTkuMDU3Njg4LCA3NDUwLCAwLjAzNTI5MzMyNTc4MTgyMjIwNV0sIFsxNTk1MDk1MTY4Ljk3MjcyMSwgNzQ2MCwgMC4wMzUyODc5MjAzODU1OTkxMzZdLCBbMTU5NTA5NTE2OS45ODM1NjYsIDc0NjEsIDAuMDM1Mjg3NDEwMDIwODI4MjVdLCBbMTU5NTA5NTE3MC44NzI3MDEsIDc0NjIsIDAuMDM1Mjg2ODc3MzA0MzE1NTddLCBbMTU5NTA5NTE3Mi4zNjg2NiwgNzQ2MywgMC4wMzUyODYzNDA4NjI1MTI1OV0sIFsxNTk1MDk1MTc2Ljk0OTg0MiwgNzQ2OCwgMC4wMzUyODM4NDg2NDMzMDI5Ml0sIFsxNTk1MDk1MTgzLjMyMDI2MiwgNzQ3NCwgMC4wMzUyODEwMjQ4NzMyNTY2OF0sIFsxNTk1MDk1MTg3LjM0OTk5NCwgNzQ3OCwgMC4wMzUyNzkyNTE2MzUwNzQ2MTVdLCBbMTU5NTA5NTE4OC45OTgzNywgNzQ4MCwgMC4wMzUyNzg0OTkxMjY0MzQzMjZdLCBbMTU5NTA5NTIwNS4yMjkwMjUsIDc0OTYsIDAuMDM1MjcyODkyNTY0NTM1MTRdLCBbMTU5NTA5NTIxMS40MjgxNTUsIDc1MDIsIDAuMDM1MjcwNjEyNjg2ODcyNDhdLCBbMTU5NTA5NTIxMi41MjQ0MjQsIDc1MDMsIDAuMDM1MjcwMTU0NDc2MTY1NzddLCBbMTU5NTA5NTIyMC42NDM4MSwgNzUxMSwgMC4wMzUyNjYyMjgwMjAxOTExOV0sIFsxNTk1MDk1MjI2LjU4OTY1MiwgNzUxNywgMC4wMzUyNjMzNTIwOTYwODA3OF0sIFsxNTk1MDk1MjMxLjcxMjI3NywgNzUyMiwgMC4wMzUyNjE4MDYxMDA2MDY5Ml0sIFsxNTk1MDk1MjM5LjczOTk3MywgNzUzMCwgMC4wMzUyNTg4NjY4NDY1NjE0M10sIFsxNTk1MDk1MjQ2LjkwODY0NywgNzUzNywgMC4wMzUyNTU1NzM2ODk5Mzc1OV0sIFsxNTk1MDk1MjU2Ljg4MjUxNywgNzU0NywgMC4wMzUyNTA3MzQ1Mzc4Mzk4OV0sIFsxNTk1MDk1Mjc1LjE1NTEyMywgNzU2NSwgMC4wMzUyNDM1MDM3NDkzNzA1NzVdLCBbMTU5NTA5NTI4My4yNzgxMTEsIDc1NzMsIDAuMDM1MjM5NzMzNzU1NTg4NTNdLCBbMTU5NTA5NTMwNi43NzM2OTQsIDc1OTYsIDAuMDM1MjQxMzY5MTU4MDI5NTU2XSwgWzE1OTUwOTUzMTMuNzk0NDQyLCA3NjAzLCAwLjAzNTI0Mjc2MjQxNjYwMTE4XSwgWzE1OTUwOTUzMTkuOTU2MTE1LCA3NjA5LCAwLjAzNTI0MjY5MTYzNjA4NTUxXSwgWzE1OTUwOTUzMjMuMDcxNTY0LCA3NjEyLCAwLjAzNTI0MjE4MTI3MTMxNDYyXSwgWzE1OTUwOTUzNTQuNjU3MjM3LCA3NjQzLCAwLjAzNTIzNDQ3NzM3MDk3NzRdLCBbMTU5NTA5NTM1NS42MjY4NDEsIDc2NDQsIDAuMDM1MjM0MDc4NzY0OTE1NDY2XSwgWzE1OTUwOTUzNzEuNzE0MjQ3LCA3NjYwLCAwLjAzNTIzMTEyODMzNDk5OTA4NF0sIFsxNTk1MDk1MzcyLjcwNzgwMiwgNzY2MSwgMC4wMzUyMzA5OTA0OTkyNTgwNF0sIFsxNTk1MDk1MzgyLjc4MzM0OCwgNzY3MSwgMC4wMzUyMjg5NTY0OTA3NTUwOF0sIFsxNTk1MDk1Mzg1LjcyMTM5NCwgNzY3NCwgMC4wMzUyMjg2NTg0Njc1MzEyMDRdLCBbMTU5NTA5NTM4Ny43MTczMTMsIDc2NzYsIDAuMDM1MjI4NDM4Njc1NDAzNTk1XSwgWzE1OTUwOTUzOTguNjkzMjY5LCA3Njg3LCAwLjAzNTIyNjAzNTg2MzE2MTA5XSwgWzE1OTUwOTU0MDQuNzk3NDI1LCA3NjkzLCAwLjAzNTIyNDc0NjkxMjcxNzgyXSwgWzE1OTUwOTU0MDcuOTEwMzQsIDc2OTYsIDAuMDM1MjIzOTM4NTI0NzIzMDVdLCBbMTU5NTA5NTQxMS45NTI1NzgsIDc3MDAsIDAuMDM1MjIyNzY4NzgzNTY5MzM2XSwgWzE1OTUwOTU0MjguMDUxMTM4LCA3NzE2LCAwLjAzNTIxODQ3MzUyMzg1NTIxXSwgWzE1OTUwOTU0MzAuMDE1MjQzLCA3NzE4LCAwLjAzNTIxNzkyOTYzMTQ3MTYzNF0sIFsxNTk1MDk1NDMwLjk2MzA5OSwgNzcxOSwgMC4wMzUyMTc2NDI3ODQxMTg2NV0sIFsxNTk1MDk1NDM1LjA3ODUxOCwgNzcyMywgMC4wMzUyMTYyMzA4OTkwOTU1MzVdLCBbMTU5NTA5NTQzOC4wNzYzNCwgNzcyNiwgMC4wMzUyMTUwMzUwODA5MDk3M10sIFsxNTk1MDk1NDQwLjA4Mjc2NSwgNzcyOCwgMC4wMzUyMTQyNjc2NzExMDgyNDZdLCBbMTU5NTA5NTQ0My4xMTI2MTMsIDc3MzEsIDAuMDM1MjEzMjU4MTE3NDM3MzZdLCBbMTU5NTA5NTQ1NC4zMDk4ODIsIDc3NDIsIDAuMDM1MjA5MzQyODM3MzMzNjhdLCBbMTU5NTA5NTQ1OC4zNDY3MTUsIDc3NDYsIDAuMDM1MjA3ODY3NjIyMzc1NDldLCBbMTU5NTA5NTQ2OS44MjU0NDcsIDc3NTcsIDAuMDM1MjA0MTE5OTgwMzM1MjM2XSwgWzE1OTUwOTU0NzIuMjYyMTY2LCA3NzYwLCAwLjAzNTIwMzEyNTMyNzgyNTU0Nl0sIFsxNTk1MDk1NDkyLjczMjk0MSwgNzc4MCwgMC4wMzUxOTQxMjg3NTE3NTQ3Nl0sIFsxNTk1MDk1NTAwLjk4NDkyMSwgNzc4OCwgMC4wMzUxOTAxMzUyNDA1NTQ4MV0sIFsxNTk1MDk1NTExLjE2NzM2NSwgNzc5OCwgMC4wMzUxODYyMTk5NjA0NTExMjZdLCBbMTU5NTA5NTUxMi4xODcxMzksIDc3OTksIDAuMDM1MTg1OTg1MjY3MTYyMzJdLCBbMTU5NTA5NTUyMy40MTkzODksIDc4MTAsIDAuMDM1MTgzMjUwOTA0MDgzMjVdLCBbMTU5NTA5NTU0Ny4wMTYyMzEsIDc4MzMsIDAuMDM1MTc3OTU3MjY2NTY5MTRdLCBbMTU5NTA5NTU1Mi4wMjQ5NzUsIDc4MzgsIDAuMDM1MTc4MDU0MTI0MTE2OV0sIFsxNTk1MDk1NTY4LjcyMzk5NywgNzg1NSwgMC4wMzUxNzcwMTg0OTM0MTM5MjVdLCBbMTU5NTA5NTU4Ni4wNzQ2MDIsIDc4NzIsIDAuMDM1MTczNTM1MzQ2OTg0ODZdLCBbMTU5NTA5NTU5Mi4wMzg4NzcsIDc4NzgsIDAuMDM1MTcxNTE5OTY0OTMzMzk1XSwgWzE1OTUwOTU1OTQuMDgxMTQ5LCA3ODgwLCAwLjAzNTE3MDcyMjc1MjgwOTUyNV0sIFsxNTk1MDk1NjEzLjk4NzU4NSwgNzg5OSwgMC4wMzUxNjI2NTM3NzQwMjMwNTZdLCBbMTU5NTA5NTYxNC43MjA5MzQsIDc5MDAsIDAuMDM1MTYyMjU1MTY3OTYxMTJdLCBbMTU5NTA5NTYxOC43MDA4MTQsIDc5MDQsIDAuMDM1MTYwNTAwNTU2MjMwNTQ1XSwgWzE1OTUwOTU2MjIuNTYzMjk5LCA3OTA4LCAwLjAzNTE1ODU5NjkzMjg4ODAzXSwgWzE1OTUwOTU2NDAuNzkyNDQyLCA3OTI2LCAwLjAzNTE1MDk0ODkxMTkwNTI5XSwgWzE1OTUwOTU2NDcuMDMyNjQ2LCA3OTMyLCAwLjAzNTE0ODkyOTgwNDU2MzUyXSwgWzE1OTUwOTU2NDguMDQ1NTcsIDc5MzMsIDAuMDM1MTQ4NjQyOTU3MjEwNTRdLCBbMTU5NTA5NTY5MC4zNjExNTUsIDc5NzUsIDAuMDM1MTM3NTkwMDIwODk1MDA0XSwgWzE1OTUwOTU2OTguMjgyMTM2LCA3OTgzLCAwLjAzNTEzNzkwNjY3MDU3MDM3NF0sIFsxNTk1MDk1NzA2LjM1ODczOSwgNzk5MSwgMC4wMzUxMzYwMTA0OTc4MDg0NTZdLCBbMTU5NTA5NTcwNy4zMTU4MDYsIDc5OTIsIDAuMDM1MTM1NjY3NzcxMTAxXSwgWzE1OTUwOTU3MTQuMzAwNDAxLCA3OTk5LCAwLjAzNTEzMzA3NDk2OTA1MzI3XV0=", "ok": true, "headers": [ [ "content-type", "application/json" ] ], "status": 200, "status_text": "" }, "https://localhost:6006/data/plugin/scalars/scalars?tag=Loss%2Fclassification_loss&run=.": { "data": "W1sxNTk1MDg3ODM4LjU3Njk3OCwgNSwgMS4xNzkyNTM1NzgxODYwMzUyXSwgWzE1OTUwODc4NTEuNDY1NTEyLCAxOCwgMS4xNzY2MzEzMzE0NDM3ODY2XSwgWzE1OTUwODc4NTcuNDQ1NDc4LCAyNCwgMS4xOTA2MDQ0NDgzMTg0ODE0XSwgWzE1OTUwODc4NzMuNDA1Njg4LCA0MCwgMS4xODgyMDE5MDQyOTY4NzVdLCBbMTU5NTA4Nzg3NS40Nzk2MjQsIDQyLCAxLjE5NTgyMTc2MjA4NDk2MV0sIFsxNTk1MDg3ODc4LjQ5MDcyNCwgNDUsIDEuMTcxODM1MDY0ODg4MDAwNV0sIFsxNTk1MDg3ODg2LjQ5OTk3NiwgNTMsIDEuMTc0NzA2MjIwNjI2ODMxXSwgWzE1OTUwODc4ODkuNDMzOTMyLCA1NiwgMS4xNzQ0NjE5NjA3OTI1NDE1XSwgWzE1OTUwODc5MDQuNTQ1NTQ3LCA3MSwgMS4xNzgxNjQ0ODIxMTY2OTkyXSwgWzE1OTUwODc5MDcuNTAzODE4LCA3NCwgMS4xNjk3NzE5MDk3MTM3NDUxXSwgWzE1OTUwODc5MjcuNjYxMjE0LCA5NCwgMS4xMjM2NTkzNzIzMjk3MTJdLCBbMTU5NTA4NzkzNS41OTg3MDMsIDEwMiwgMS4wNDYyNTA3MDA5NTA2MjI2XSwgWzE1OTUwODc5MzkuNTUxMDg5LCAxMDYsIDAuOTU4MDUxNzQxMTIzMTk5NV0sIFsxNTk1MDg3OTU5LjQwMDc1NiwgMTI2LCAwLjc4NTY2MzkwMjc1OTU1Ml0sIFsxNTk1MDg3OTcyLjA5MjAxMSwgMTM5LCAwLjg2MjQ3NzgzODk5MzA3MjVdLCBbMTU5NTA4Nzk4Ny43NDMxMzUsIDE1NSwgMC43MDQzNTYxOTM1NDI0ODA1XSwgWzE1OTUwODc5OTAuNzAwNTAyLCAxNTgsIDAuNTk5NjE4MDc3Mjc4MTM3Ml0sIFsxNTk1MDg3OTk5LjU3Njk3OCwgMTY3LCAwLjU3MDk3MzMzNjY5NjYyNDhdLCBbMTU5NTA4ODAxMC4zNzQ2MzIsIDE3OCwgMC41NDYyMzQ2MDc2OTY1MzMyXSwgWzE1OTUwODgwMTUuMjY4NTY5LCAxODMsIDAuNjE2MDIxODcxNTY2NzcyNV0sIFsxNTk1MDg4MDE3LjM0MTQ3OSwgMTg1LCAwLjY3Njk1Njc3MjgwNDI2MDNdLCBbMTU5NTA4ODAxOC4zMTY0ODMsIDE4NiwgMC42MTUzMTYxNTI1NzI2MzE4XSwgWzE1OTUwODgwMjIuMTc4MjU3LCAxOTAsIDAuNTgxMDkyNzE1MjYzMzY2N10sIFsxNTk1MDg4MDM4Ljg0OTM2NSwgMjA3LCAwLjU5NDYzOTQ4MDExMzk4MzJdLCBbMTU5NTA4ODA2MC43ODU2OTIsIDIyOSwgMC42MjUxMDk5MTA5NjQ5NjU4XSwgWzE1OTUwODgwNjUuNzczNTQ1LCAyMzQsIDAuNTUxOTU3MzA5MjQ2MDYzMl0sIFsxNTk1MDg4MDgwLjY1MDEzMiwgMjQ5LCAwLjUwODQyODc1MjQyMjMzMjhdLCBbMTU5NTA4ODA4Ni41MDk4NjQsIDI1NSwgMC40OTk2MDM1MDk5MDI5NTQxXSwgWzE1OTUwODgwOTEuNTIyMDU4LCAyNjAsIDAuNDk0MTkzNjEzNTI5MjA1M10sIFsxNTk1MDg4MDk4LjM1ODczOSwgMjY3LCAwLjQ3ODA4MjQxODQ0MTc3MjQ2XSwgWzE1OTUwODgxMDIuMjE1NjQxLCAyNzEsIDAuNDk5OTkyMzQwODAzMTQ2MzZdLCBbMTU5NTA4ODEwNC4xNjkxMDQsIDI3MywgMC40ODAwMDgwNjU3MDA1MzFdLCBbMTU5NTA4ODEyMi44NTk2MzksIDI5MiwgMC40NDE3NzYyNzU2MzQ3NjU2XSwgWzE1OTUwODgxMzguNTk0NTI5LCAzMDgsIDAuNDEzNjEzNjE3NDIwMTk2NTNdLCBbMTU5NTA4ODE0MC41Mjk4MDUsIDMxMCwgMC40ODA5MTEzNzQwOTIxMDIwNV0sIFsxNTk1MDg4MTQ4LjM0ODQ5NiwgMzE4LCAwLjM5OTA2NTQzNDkzMjcwODc0XSwgWzE1OTUwODgxNjAuMDcyNTcsIDMzMCwgMC4zOTQyMjE3MjMwNzk2ODE0XSwgWzE1OTUwODgxNjguNzg3NTYzLCAzMzksIDAuNTA1MDc0MDgzODA1MDg0Ml0sIFsxNTk1MDg4MTc2LjU1ODk5MSwgMzQ3LCAwLjM5MTk5NzAwOTUxNTc2MjMzXSwgWzE1OTUwODgxOTIuMDUxMjQ4LCAzNjMsIDAuMzY4MTYzNjQ1MjY3NDg2Nl0sIFsxNTk1MDg4MTk1LjkwODY3MywgMzY3LCAwLjMzNTYzMjQxMzYyNTcxNzE2XSwgWzE1OTUwODgyNDkuMjgxNTI2LCA0MjEsIDAuMjcwNDQ4NzQ0Mjk3MDI3Nl0sIFsxNTk1MDg4MjUwLjI5NzQwMiwgNDIyLCAwLjI5MzM2OTIwMzgwNTkyMzQ2XSwgWzE1OTUwODgyNjcuMTMwMjU3LCA0MzksIDAuMzIyMDAwNTkyOTQ3MDA2Ml0sIFsxNTk1MDg4MjcwLjAzNjA1MSwgNDQyLCAwLjI4ODkzMzI0NzMyNzgwNDU3XSwgWzE1OTUwODgyNzMuMDg4MDg4LCA0NDUsIDAuMjc3NzQ5ODA2NjQyNTMyMzVdLCBbMTU5NTA4ODI4Ny44NjI0NjUsIDQ2MCwgMC4yNjQ2MzY2OTUzODQ5NzkyNV0sIFsxNTk1MDg4MjkwLjg2Mjg3OSwgNDYzLCAwLjIyMjAwMjAyOTQxODk0NTNdLCBbMTU5NTA4ODI5MS45MDcyMjMsIDQ2NCwgMC4yOTUxNDIxNzM3NjcwODk4NF0sIFsxNTk1MDg4MzAxLjc0NTM2NSwgNDc0LCAwLjI4OTI1ODMzMTA2MDQwOTU1XSwgWzE1OTUwODgzMTguNDYyNzgyLCA0OTEsIDAuMjcwMzQ1MTIxNjIyMDg1NTddLCBbMTU5NTA4ODMyMC40NzgyNzYsIDQ5MywgMC4zMTgzNTkxMDY3NzkwOTg1XSwgWzE1OTUwODgzNDEuMjIxOTQ2LCA1MTQsIDAuMjc2NTAwNjcyMTAxOTc0NV0sIFsxNTk1MDg4MzQ0LjIwMTI2NCwgNTE3LCAwLjI0OTEyMzA1MTc2MjU4MDg3XSwgWzE1OTUwODgzNTcuOTYxNzQ3LCA1MzEsIDAuMjc4NTMzMjUwMDkzNDYwMV0sIFsxNTk1MDg4MzYyLjk3NTUxOSwgNTM2LCAwLjMzNTM5MDcxNjc5MTE1Mjk1XSwgWzE1OTUwODgzODkuNjYxMzE2LCA1NjMsIDAuMjUzNjUzOTQzNTM4NjY1NzddLCBbMTU5NTA4ODM5OS43OTQ2NDcsIDU3MywgMC4yNTgyNzc1OTUwNDMxODI0XSwgWzE1OTUwODg0MDUuMzAwNDAxLCA1NzksIDAuMjQ0OTU1Nzc4MTIxOTQ4MjRdLCBbMTU5NTA4ODQwNy4yNDE0NzYsIDU4MSwgMC4yMTU0MjI0NTE0OTYxMjQyN10sIFsxNTk1MDg4NDEyLjE4NTczOCwgNTg2LCAwLjIyNjA1MjA2MDcyMzMwNDc1XSwgWzE1OTUwODg0MTMuMTc2MDMyLCA1ODcsIDAuMjAyODMwNDkzNDUwMTY0OF0sIFsxNTk1MDg4NDI3Ljc5MzAzNiwgNjAyLCAwLjIzNDU3NDQ4MTg0NDkwMjA0XSwgWzE1OTUwODg0NDUuNTU3MzY3LCA2MjAsIDAuMjEwODE0OTUyODUwMzQxOF0sIFsxNTk1MDg4NDQ3LjUwMzk5MiwgNjIyLCAwLjIyOTA5MzU5NjMzOTIyNTc3XSwgWzE1OTUwODg0NTkuMDg2MDc5LCA2MzQsIDAuMjI1MTg4NDQ5MDI1MTU0MV0sIFsxNTk1MDg4NDY1Ljk1NzkzNywgNjQxLCAwLjI1MDY1OTI4Njk3NTg2MDZdLCBbMTU5NTA4ODQ2Ni44ODk2OTksIDY0MiwgMC4yMDA5OTIyNzEzMDQxMzA1NV0sIFsxNTk1MDg4NDY4Ljg4MDQxOCwgNjQ0LCAwLjIyNjc3OTk1MjY0NTMwMTgyXSwgWzE1OTUwODg0NzEuNzk5MDA0LCA2NDcsIDAuMjMzNTk1MzU2MzQ1MTc2N10sIFsxNTk1MDg4NDczLjc0NDU0LCA2NDksIDAuMjA3MTM3MDMzMzQzMzE1MTJdLCBbMTU5NTA4ODQ4NS41NjAzMzgsIDY2MSwgMC4yMjA1OTMzMzMyNDQzMjM3M10sIFsxNTk1MDg4NDk1LjM0NTMyNSwgNjcxLCAwLjIzMTExNDY1NTczMzEwODUyXSwgWzE1OTUwODg1MDcuMTM1MDg3LCA2ODMsIDAuMTk1NzkzMjcxMDY0NzU4M10sIFsxNTk1MDg4NTEyLjAwNTMwMiwgNjg4LCAwLjE3OTk4MDU0NjIzNjAzODJdLCBbMTU5NTA4ODUzNy4zNTM1NjIsIDcxNCwgMC4yMTUxNTc3MDI1NjUxOTMxOF0sIFsxNTk1MDg4NTQxLjA0MzAyOSwgNzE4LCAwLjIwNDQxNTExMjczMzg0MDk0XSwgWzE1OTUwODg1NDQuOTU1MTg5LCA3MjIsIDAuMjE3NTk0ODYxOTg0MjUyOTNdLCBbMTU5NTA4ODU0NS45MjIzNzksIDcyMywgMC4xODE4NjI1OTI2OTcxNDM1NV0sIFsxNTk1MDg4NTUyLjczNjIzNCwgNzMwLCAwLjIzOTc4OTYwNTE0MDY4NjA0XSwgWzE1OTUwODg1NjEuNTUzNzc4LCA3MzksIDAuMjAwOTEwNjcyNTQ1NDMzMDRdLCBbMTU5NTA4ODU2NS40OTA1MzEsIDc0MywgMC4xOTA0OTA5OTA4NzcxNTE1XSwgWzE1OTUwODg1NjkuNDIyMDI1LCA3NDcsIDAuMjYzNTI5NDc5NTAzNjMxNl0sIFsxNTk1MDg4NTc0LjE4MjQyOCwgNzUyLCAwLjE5MTg5NDQ4NjU0NjUxNjQyXSwgWzE1OTUwODg1NzcuOTQzOTI4LCA3NTYsIDAuMTY1ODA3ODczMDEwNjM1MzhdLCBbMTU5NTA4ODU4Ni41MzcxNTQsIDc2NSwgMC4yMDQ4MTIxODM5NzYxNzM0XSwgWzE1OTUwODg1OTAuNDE0MTUyLCA3NjksIDAuMTkwNDQ4Njg2NDgwNTIyMTZdLCBbMTU5NTA4ODU5Mi40Njc3MDQsIDc3MSwgMC4xODk3MzczOTQ0NTIwOTUwM10sIFsxNTk1MDg4NTk0LjM2NzQ3MywgNzczLCAwLjIzMDg2NzkzNzIwNzIyMTk4XSwgWzE1OTUwODg2MDEuMjc0MjksIDc4MCwgMC4xODQ4Nzc5NjE4NzQwMDgxOF0sIFsxNTk1MDg4NjA2LjU0MjE5NywgNzg1LCAwLjE2NzAxOTQyNjgyMjY2MjM1XSwgWzE1OTUwODg2MDguMDAyMzIzLCA3ODcsIDAuMjE1MDk5MjkwMDEzMzEzM10sIFsxNTk1MDg4NjEyLjkyMjY3OCwgNzkyLCAwLjE5MDQ4NTg0OTk3NjUzOTZdLCBbMTU5NTA4ODYxNC44NzU4ODEsIDc5NCwgMC4yMDg3NTU4OTU0OTU0MTQ3M10sIFsxNTk1MDg4NjE4Ljc2MjQ5LCA3OTgsIDAuMjAwODMzMzIwNjE3Njc1NzhdLCBbMTU5NTA4ODYyMi43NTk4MzEsIDgwMiwgMC4yMzY3MTU0NjU3ODQwNzI4OF0sIFsxNTk1MDg4NjI4LjYzMDM1MSwgODA4LCAwLjIwMjg3ODgzMjgxNzA3NzY0XSwgWzE1OTUwODg2MjkuNTY0Mjg2LCA4MDksIDAuMTg1Mzk0ODgzMTU1ODIyNzVdLCBbMTU5NTA4ODY1MS44NTYyNywgODMyLCAwLjE3NzYzMDcwNzYyMTU3NDRdLCBbMTU5NTA4ODY1NS44NzU5MjEsIDgzNiwgMC4xOTgwNjUzNzAzMjEyNzM4XSwgWzE1OTUwODg2ODguMjAzMzQ4LCA4NjksIDAuMTk4OTYzNjQyMTIwMzYxMzNdLCBbMTU5NTA4ODY5NC45NzYwMDQsIDg3NiwgMC4xOTUzNjk3MjA0NTg5ODQzOF0sIFsxNTk1MDg4NzAwLjcxNzExNSwgODgyLCAwLjE5MzI2ODc0NjEzNzYxOTAyXSwgWzE1OTUwODg3MTQuNTg3MDY2LCA4OTYsIDAuMjM0MjQ5MzgzMjExMTM1ODZdLCBbMTU5NTA4ODcxOC41ODU5ODIsIDkwMCwgMC4xNzU0MTM4MzIwNjg0NDMzXSwgWzE1OTUwODg3MjUuMzIzODg5LCA5MDcsIDAuMjE3MjA2MTIwNDkxMDI3ODNdLCBbMTU5NTA4ODcyNy4yMDI5OTgsIDkwOSwgMC4yMDQ5MzM0OTQzMjk0NTI1MV0sIFsxNTk1MDg4NzMzLjIwNTI4MSwgOTE1LCAwLjIwNzIxMTcxNzk2MzIxODddLCBbMTU5NTA4ODczNS4xMDE0OTQsIDkxNywgMC4xODI0NTI3MDg0ODI3NDIzXSwgWzE1OTUwODg3NDguNjk2MzUsIDkzMSwgMC4xNjM2Nzc3MDczMTQ0OTEyN10sIFsxNTk1MDg4NzQ5LjY3OTAyOCwgOTMyLCAwLjE5MTIzNjIxMjg0OTYxN10sIFsxNTk1MDg4NzU5LjQ4OTgwNiwgOTQyLCAwLjE1ODg3MTU5MTA5MTE1Nl0sIFsxNTk1MDg4NzYyLjM2ODU0MywgOTQ1LCAwLjE3MDYwMDY5NzM5ODE4NTczXSwgWzE1OTUwODg3NzEuMTU1NTg4LCA5NTQsIDAuMjI0Nzc2OTY4MzU5OTQ3Ml0sIFsxNTk1MDg4Nzc0Ljk3NjU3NSwgOTU4LCAwLjIxOTE2MDg2OTcxNzU5Nzk2XSwgWzE1OTUwODg3NzkuMDIyNDQ3LCA5NjIsIDAuMTYzNTUyOTEwMDg5NDkyOF0sIFsxNTk1MDg4Nzg3LjkyMzIxNCwgOTcxLCAwLjE2NjA5NjA2MTQ2ODEyNDRdLCBbMTU5NTA4ODc4OC44NDUzMzQsIDk3MiwgMC4xNzgwNjUxNTA5NzYxODEwM10sIFsxNTk1MDg4Nzk0LjczMjgxMywgOTc4LCAwLjE2MTYwODA1NTIzMzk1NTM4XSwgWzE1OTUwODg3OTUuNjQ5MDUzLCA5NzksIDAuMTgzMzQxNDEzNzM2MzQzMzhdLCBbMTU5NTA4ODgwMC42NTIzMDgsIDk4NCwgMC4xNDY2NTc5MTM5MjMyNjM1NV0sIFsxNTk1MDg4ODEyLjM5MDkxNSwgOTk2LCAwLjE1NTgyNzU2Njk4MTMxNTZdLCBbMTU5NTA4ODgxOC4zMTA4NjUsIDEwMDIsIDAuMTQxMTA3Njc4NDEzMzkxMV0sIFsxNTk1MDg4ODIxLjMzMDkwNSwgMTAwNSwgMC4xNDI5MjU3MDk0ODYwMDc3XSwgWzE1OTUwODg4MjkuNzc4MDAzLCAxMDE0LCAwLjE3ODI0OTU4MjY0ODI3NzI4XSwgWzE1OTUwODg4NDAuNTIyODcsIDEwMjUsIDAuMTcwNjI3MDU3NTUyMzM3NjVdLCBbMTU5NTA4ODg1OC44MjU2NDEsIDEwNDQsIDAuMTU5MDE2MDcyNzUwMDkxNTVdLCBbMTU5NTA4ODg3MS4wMzAwOTMsIDEwNTcsIDAuMTQyMTA5NDA4OTc0NjQ3NTJdLCBbMTU5NTA4ODg3Ni44MjAxMjYsIDEwNjMsIDAuMTM0MTk4MTQ0MDc4MjU0N10sIFsxNTk1MDg4ODc5LjczODYyLCAxMDY2LCAwLjEzMTk5NTYwMzQ0MjE5MjA4XSwgWzE1OTUwODg4ODEuNjYyOTk1LCAxMDY4LCAwLjEzOTkxNjcwMzEwNDk3Mjg0XSwgWzE1OTUwODg4ODUuNDQ2NTk0LCAxMDcyLCAwLjE4MDM0ODU2MDIxNDA0MjY2XSwgWzE1OTUwODg4OTEuMjk0MTI3LCAxMDc4LCAwLjEzNDIzMDQzNDg5NDU2MTc3XSwgWzE1OTUwODg4OTYuMTg4ODY1LCAxMDgzLCAwLjEzOTMzMDIyMzIwMjcwNTM4XSwgWzE1OTUwODg5MDUuODczMjg4LCAxMDkzLCAwLjE0MjA5OTIzMTQ4MTU1MjEyXSwgWzE1OTUwODg5MTEuNTg2MzIsIDEwOTksIDAuMTc0Mjk3NDgxNzc1MjgzOF0sIFsxNTk1MDg4OTE2LjUzNjE2LCAxMTA0LCAwLjE2MTE1ODcxMDcxODE1NDldLCBbMTU5NTA4ODkyNi4yODA3NjUsIDExMTQsIDAuMTMzNTUwMTUyMTgyNTc5MDRdLCBbMTU5NTA4ODkzMS4yNDUzNzksIDExMTksIDAuMTU5OTEwMjQ2NzI5ODUwNzddLCBbMTU5NTA4ODk2Ny4xNzAyNjYsIDExNTYsIDAuMTc5NjQxNjQ5MTI3MDA2NTNdLCBbMTU5NTA4ODk3MC45MTI5NiwgMTE2MCwgMC4xNTI1ODg0NzE3NzAyODY1Nl0sIFsxNTk1MDg4OTcxLjk3NTU1OSwgMTE2MSwgMC4yMzI5NjE0NDYwNDY4MjkyMl0sIFsxNTk1MDg4OTcyLjkyMzQyNSwgMTE2MiwgMC4xODAyNzk1MjMxMzQyMzE1N10sIFsxNTk1MDg4OTkwLjQ0ODU1LCAxMTgwLCAwLjE1OTczNTI3NzI5NTExMjZdLCBbMTU5NTA4OTAwMi4wMzAwMSwgMTE5MiwgMC4yNzEwODMxNDYzMzM2OTQ0Nl0sIFsxNTk1MDg5MDAyLjk2NywgMTE5MywgMC4xODA0NjkwMjEyMDExMzM3M10sIFsxNTk1MDg5MDA4LjkwOTQ5MywgMTE5OSwgMC4xNjI2Mzc4NzQ0ODQwNjIyXSwgWzE1OTUwODkwMTUuNTM3NjM1LCAxMjA2LCAwLjE1Mjk2ODQyMTU3ODQwNzNdLCBbMTU5NTA4OTA0MC40MzEyNTksIDEyMzIsIDAuMjA3MDk2MjE5MDYyODA1MThdLCBbMTU5NTA4OTA0Mi40MTc2MjksIDEyMzQsIDAuMTY4NTk0MTM2ODM0MTQ0Nl0sIFsxNTk1MDg5MDUyLjE3NjA5OCwgMTI0NCwgMC4xNjE4NDg4NTc5OTg4NDc5Nl0sIFsxNTk1MDg5MDYyLjg3NDY4NywgMTI1NSwgMC4xNDk3OTczMDU0NjQ3NDQ1N10sIFsxNTk1MDg5MDY1LjczNzkyNSwgMTI1OCwgMC4xMjg0NzczNDk4NzczNTc0OF0sIFsxNTk1MDg5MDY4LjY0ODM4NywgMTI2MSwgMC4xNDQ3MzAxOTU0MDMwOTkwNl0sIFsxNTk1MDg5MDg4LjEwNTgyOSwgMTI4MSwgMC4xMjY2MzUwMTUwMTA4MzM3NF0sIFsxNTk1MDg5MDkzLjg3ODU3LCAxMjg3LCAwLjE0MDQxMDA4MDU1MjEwMTE0XSwgWzE1OTUwODkxMDAuNTUwODc2LCAxMjk0LCAwLjE3ODg0NDU1NjIxMjQyNTIzXSwgWzE1OTUwODkxMDYuNTcxMDAxLCAxMzAwLCAwLjE3MTgxNTQ1NDk1OTg2OTM4XSwgWzE1OTUwODkxMTYuNDAyMDA0LCAxMzEwLCAwLjE5NTk3MzkzMjc0MzA3MjVdLCBbMTU5NTA4OTEyMi4yNjIxNSwgMTMxNiwgMC4xNDYzNzkwNTM1OTI2ODE4OF0sIFsxNTk1MDg5MTI1LjIyODg0LCAxMzE5LCAwLjEyODI4MzczOTA4OTk2NTgyXSwgWzE1OTUwODkxMzUuNzAwOTUxLCAxMzMwLCAwLjE1NjczMTY4MDAzNTU5MTEzXSwgWzE1OTUwODkxMzguNTg3Mjg0LCAxMzMzLCAwLjE1MzQxNTk5Mjg1NjAyNTddLCBbMTU5NTA4OTE0MS41MzQ3MzcsIDEzMzYsIDAuMTUzMzMzMDY3ODkzOTgxOTNdLCBbMTU5NTA4OTE0Mi40OTM5OTMsIDEzMzcsIDAuMTM3NzY2OTI3NDgwNjk3NjNdLCBbMTU5NTA4OTE4OS4yNjc3ODcsIDEzODUsIDAuMTgxNTI4OTQwNzk2ODUyMV0sIFsxNTk1MDg5MTkyLjMxNzM2MywgMTM4OCwgMC4xNTQ5Nzg3MDc0MzI3NDY5XSwgWzE1OTUwODkxOTUuMTcxODYyLCAxMzkxLCAwLjExNTI5MDU4MjE4MDAyMzJdLCBbMTU5NTA4OTE5Ni4wOTAwMjEsIDEzOTIsIDAuMTYzNTgwODA1MDYzMjQ3NjhdLCBbMTU5NTA4OTIxNy44Mjc4NTcsIDE0MTQsIDAuMTczMzU3OTAzOTU3MzY2OTRdLCBbMTU5NTA4OTIyOS42NDc5NTgsIDE0MjYsIDAuMTQwMTgxNjE1OTQ4Njc3MDZdLCBbMTU5NTA4OTIzMS41OTEyNzYsIDE0MjgsIDAuMTI2NDI0Njg1MTIwNTgyNThdLCBbMTU5NTA4OTIzNS4zMzAyMjUsIDE0MzIsIDAuMTMxNzk2NjEzMzM1NjA5NDRdLCBbMTU5NTA4OTIzOS4yMDkxMTUsIDE0MzYsIDAuMTU2NTUwMDk0NDg1MjgyOV0sIFsxNTk1MDg5MjQzLjA5MzAwMywgMTQ0MCwgMC4xMTgxNTAwMTA3MDQ5OTQyXSwgWzE1OTUwODkyNjcuNjE1NDg1LCAxNDY1LCAwLjIwOTMwNTY3MzgzNzY2MTc0XSwgWzE1OTUwODkyNjguNjUwNDA4LCAxNDY2LCAwLjEzMTgzMTUyNjc1NjI4NjYyXSwgWzE1OTUwODkyNzkuNDQwNTkxLCAxNDc3LCAwLjE1MTgwOTM0OTY1NjEwNTA0XSwgWzE1OTUwODkyODcuMTY5NjY3LCAxNDg1LCAwLjE0ODYyOTk0ODQ5NjgxODU0XSwgWzE1OTUwODkyOTEuMDgzODkxLCAxNDg5LCAwLjEyNDY1MTM3OTg4MzI4OTM0XSwgWzE1OTUwODkyOTMuMDAwOTE3LCAxNDkxLCAwLjE0Mjg2NTk1NTgyOTYyMDM2XSwgWzE1OTUwODkzMDkuODAyOTU2LCAxNTA4LCAwLjE2MDUwNTIzNTE5NTE1OTldLCBbMTU5NTA4OTMyNC41NDM3MzEsIDE1MjMsIDAuMTMyNDA3MTczNTE0MzY2MTVdLCBbMTU5NTA4OTMyOC4zOTg1ODUsIDE1MjcsIDAuMTUzOTIyMTcwNDAwNjE5NV0sIFsxNTk1MDg5MzUzLjA1NjYwNCwgMTU1MiwgMC4xMjM2MjkzMjQxMzgxNjQ1Ml0sIFsxNTk1MDg5MzY4LjkzNDMwOCwgMTU2OCwgMC4xNzMxMTMwMzMxNzU0Njg0NF0sIFsxNTk1MDg5MzY5Ljg3MzMzNCwgMTU2OSwgMC4xNjI0MTY5OTQ1NzE2ODU4XSwgWzE1OTUwODkzODQuOTAyMjcsIDE1ODQsIDAuMTQ0NTE1NDI0OTY2ODEyMTNdLCBbMTU5NTA4OTM4OC44Njc1OCwgMTU4OCwgMC4xODEzMTcxODAzOTUxMjYzNF0sIFsxNTk1MDg5Mzk3LjY5NzI5NiwgMTU5NywgMC4xNDg1MTM0MDY1MTUxMjE0Nl0sIFsxNTk1MDg5NDA0LjgwNDM3OSwgMTYwNCwgMC4xODU0Nzc5ODY5MzE4MDA4NF0sIFsxNTk1MDg5NDA1LjcyNjA1MywgMTYwNSwgMC4xODIzMjM3NTM4MzM3NzA3NV0sIFsxNTk1MDg5NDE4LjQ2NTAwMywgMTYxOCwgMC4xNTE3NTI3OTk3NDkzNzQ0XSwgWzE1OTUwODk0MjcuMzg0MzQyLCAxNjI3LCAwLjE0OTI0MzM1NDc5NzM2MzI4XSwgWzE1OTUwODk0MzIuNDIwODgsIDE2MzIsIDAuMTE3OTExNzAzODg0NjAxNTldLCBbMTU5NTA4OTQzNy4xNjY0NTQsIDE2MzcsIDAuMTMwMTk0NzY4MzA5NTkzMl0sIFsxNTk1MDg5NDQwLjAyNDcxNCwgMTY0MCwgMC4xMjIwMjQwODE2NDczOTYwOV0sIFsxNTk1MDg5NDQ1LjA3Nzc4NywgMTY0NSwgMC4xMzY5ODY0MTk1NTg1MjUwOV0sIFsxNTk1MDg5NDQ4LjA2OTMxNCwgMTY0OCwgMC4yMzA0ODQ4NTgxNTUyNTA1NV0sIFsxNTk1MDg5NDYwLjEyNjk0MywgMTY2MCwgMC4xMzIxNjYyNjY0NDEzNDUyMV0sIFsxNTk1MDg5NDY3LjkwNjc1MSwgMTY2OCwgMC4xNTY5MzM1NzU4Njg2MDY1N10sIFsxNTk1MDg5NDc0Ljg2MjQ4OSwgMTY3NSwgMC4xMTQyNzU2OTM4OTM0MzI2Ml0sIFsxNTk1MDg5NDgxLjc0MTA1MSwgMTY4MiwgMC4xNTQ2ODQwMjIwNjg5NzczNl0sIFsxNTk1MDg5NDkwLjYzMzE1MiwgMTY5MSwgMC4yMjcxMTU0NTIyODk1ODEzXSwgWzE1OTUwODk0OTQuNTE2MTMsIDE2OTUsIDAuMTM0NjQxOTc1MTY0NDEzNDVdLCBbMTU5NTA4OTQ5NS40NjY2NzcsIDE2OTYsIDAuMTUwODk3MDExMTYwODUwNTJdLCBbMTU5NTA4OTQ5Ni40NzU5MDksIDE2OTcsIDAuMTY0NTcwNzc4NjA4MzIyMTRdLCBbMTU5NTA4OTQ5OC40MTUyNzEsIDE2OTksIDAuMTQ1MDM3MDQwMTE0NDAyNzddLCBbMTU5NTA4OTUwMS4yNDA3NDgsIDE3MDIsIDAuMTQ1MjEwMjIxNDA5Nzk3NjddLCBbMTU5NTA4OTUwOC4xMDk0OTksIDE3MDksIDAuMjAyMDYxNzg3MjQ3NjU3NzhdLCBbMTU5NTA4OTUxNy4wNzI5MTUsIDE3MTgsIDAuMTYwNzU4MTM3NzAyOTQxOV0sIFsxNTk1MDg5NTI2Ljk3Nzc1LCAxNzI4LCAwLjIxMTA5MjI0ODU1ODk5ODFdLCBbMTU5NTA4OTUzMC44NTcxMjYsIDE3MzIsIDAuMTI5NDc4MDY3MTU5NjUyN10sIFsxNTk1MDg5NTMyLjg1MjIwMSwgMTczNCwgMC4xNjcwMTE1ODg4MTE4NzQ0XSwgWzE1OTUwODk1MzUuNzM0MjgzLCAxNzM3LCAwLjE2NTA3NzAwMDg1NjM5OTU0XSwgWzE1OTUwODk1NDAuNjk0ODUsIDE3NDIsIDAuMjIyMDM0OTkwNzg3NTA2MV0sIFsxNTk1MDg5NTQzLjc0NTM4LCAxNzQ1LCAwLjE0NDA0MzAyODM1NDY0NDc4XSwgWzE1OTUwODk1NDQuNjc3NDg5LCAxNzQ2LCAwLjI3NTE4ODIzNzQyODY2NTE2XSwgWzE1OTUwODk1NDUuNjQ1NTYyLCAxNzQ3LCAwLjE0OTA3ODk1MDI4NTkxMTU2XSwgWzE1OTUwODk1NjMuOTk0OTA2LCAxNzY2LCAwLjE1MzU4NjU5NjI1MDUzNDA2XSwgWzE1OTUwODk1NzIuNjM5MjE2LCAxNzc1LCAwLjE1MDQ4MzM1NDkyNjEwOTMxXSwgWzE1OTUwODk1NzguNTk4NTcsIDE3ODEsIDAuMTYzMzM0NzU3MDg5NjE0ODddLCBbMTU5NTA4OTU4NS4yNjcwNDgsIDE3ODgsIDAuMjUzMzE2NzAwNDU4NTI2Nl0sIFsxNTk1MDg5NTg2LjIzMjQxOCwgMTc4OSwgMC4xNTAyNjIzMTExMDA5NTk3OF0sIFsxNTk1MDg5NTk0Ljg3MTczNSwgMTc5OCwgMC4xNTkwNzA5MDkwMjMyODQ5XSwgWzE1OTUwODk2MDEuNjg1MzQsIDE4MDUsIDAuMTQ3NDEyNzE3MzQyMzc2N10sIFsxNTk1MDg5NjEzLjYzNjEwOCwgMTgxNywgMC4yMDAxOTgxNTg2MjE3ODgwMl0sIFsxNTk1MDg5NjIyLjUwNjc3MywgMTgyNiwgMC4xNTYzNTY0MDkxOTIwODUyN10sIFsxNTk1MDg5NjI2LjM4ODIxOCwgMTgzMCwgMC4zNjQ2NDIwODM2NDQ4NjY5NF0sIFsxNTk1MDg5NjM1Ljk2NjI2OCwgMTg0MCwgMC4xOTQ2NzQ0OTE4ODIzMjQyMl0sIFsxNTk1MDg5NjM5Ljg3MzQ2NCwgMTg0NCwgMC4xNzQyMTU1ODQ5OTMzNjI0M10sIFsxNTk1MDg5NjQ4LjcyNDI0LCAxODUzLCAwLjI5MTE0ODM5NDM0NjIzNzJdLCBbMTU5NTA4OTY2MS42MTgzMDgsIDE4NjYsIDAuMjM3MDgwMjQ2MjEwMDk4MjddLCBbMTU5NTA4OTY2NC41MjU2NzYsIDE4NjksIDAuMTkwMjcxMjg4MTU2NTA5NF0sIFsxNTk1MDg5NjcwLjQ3MjI3NywgMTg3NSwgMC4xNTg5Mzk1MTA1ODM4Nzc1Nl0sIFsxNTk1MDg5NjcyLjQzMjY3MiwgMTg3NywgMC4yMTQ2MjEwOTY4NDk0NDE1M10sIFsxNTk1MDg5NzA1LjUzMzYxLCAxOTExLCAwLjE2NjY3ODA3MTAyMjAzMzddLCBbMTU5NTA4OTcxMS4yODkzMDQsIDE5MTcsIDAuMTM1NjIzODcyMjgwMTIwODVdLCBbMTU5NTA4OTcyNy45MTY5ODQsIDE5MzQsIDAuMTI4Mzg1NDg0MjE4NTk3NF0sIFsxNTk1MDg5NzI5Ljg0MjkwMywgMTkzNiwgMC4xMjU1NzUzMzM4MzM2OTQ0Nl0sIFsxNTk1MDg5NzMxLjgyMDEyLCAxOTM4LCAwLjE3NDU0NjE2NzI1NDQ0Nzk0XSwgWzE1OTUwODk3MzcuNjk0NjUxLCAxOTQ0LCAwLjE0NDU3NTcxNTA2NTAwMjQ0XSwgWzE1OTUwODk3NDAuNzI2Njg2LCAxOTQ3LCAwLjEzMzY2NzMwNTExMTg4NTA3XSwgWzE1OTUwODk3NDIuNzkyMzY1LCAxOTQ5LCAwLjExOTQ0MDU2MzAyMzA5MDM2XSwgWzE1OTUwODk3NjAuNDA5NjI5LCAxOTY3LCAwLjEyOTk5MzExMDg5NTE1Njg2XSwgWzE1OTUwODk3NzQuMjY5MzE3LCAxOTgxLCAwLjE2ODE5OTE4MTU1NjcwMTY2XSwgWzE1OTUwODk3NzUuNzI1MDYsIDE5ODMsIDAuMTQ1MjEwODkxOTYyMDUxNF0sIFsxNTk1MDg5NzkzLjI1NTk2NiwgMjAwMSwgMC4xNTYxODQ4NjcwMjQ0MjE3XSwgWzE1OTUwODk3OTcuMjE0ODI4LCAyMDA1LCAwLjE0MjIzMDMxNjk5NjU3NDRdLCBbMTU5NTA4OTgwNS4yNjc3MTEsIDIwMTMsIDAuMTU3Nzg4MTEyNzU5NTkwMTVdLCBbMTU5NTA4OTgyMS45MjYyNTIsIDIwMzAsIDAuMDk1OTc5NDQ0NjgyNTk4MTFdLCBbMTU5NTA4OTgyNy43MzI4LCAyMDM2LCAwLjEyMzAwNzg3ODY2MTE1NTddLCBbMTU5NTA4OTg1MC45OTAxMDMsIDIwNjAsIDAuMTIwMTA3NDM0Njg5OTk4NjNdLCBbMTU5NTA4OTg2Mi4zMzEzMDEsIDIwNzIsIDAuMTQ0MTU1Njk2MDM0NDMxNDZdLCBbMTU5NTA4OTg2My4yODUwOTgsIDIwNzMsIDAuMTQzODYyNTYwMzkxNDI2MV0sIFsxNTk1MDg5ODY2LjI3NDAzNiwgMjA3NiwgMC4xMjg3Mzg0MDMzMjAzMTI1XSwgWzE1OTUwODk4NjcuMjA0NTYzLCAyMDc3LCAwLjI0MjI3NzkyMDI0NjEyNDI3XSwgWzE1OTUwODk4NjkuMjI3Nzc0LCAyMDc5LCAwLjE3NDk2NzQ5NzU4NzIwMzk4XSwgWzE1OTUwODk4NzEuMzM1MTExLCAyMDgxLCAwLjE4MTMzNDE5NzUyMTIwOTcyXSwgWzE1OTUwODk4NzUuMzA5ODk2LCAyMDg1LCAwLjE1MDg0ODkxMDIxMjUxNjc4XSwgWzE1OTUwODk4NzkuMTMwNzIsIDIwODksIDAuMTYwMzY0NjU3NjQwNDU3MTVdLCBbMTU5NTA4OTg4NC4wNzkyNzQsIDIwOTQsIDAuMTUzMDAwMTYxMDUxNzUwMThdLCBbMTU5NTA4OTg4Ni4wMDM2NzEsIDIwOTYsIDAuMTc5MzgyOTM1MTY2MzU4OTVdLCBbMTU5NTA4OTkwMC42ODQxMzgsIDIxMTEsIDAuMTcxNjUzODgxNjY5MDQ0NV0sIFsxNTk1MDg5OTM0LjMxMjc2NiwgMjE0NSwgMC4yMTgyMTYwNzY0OTMyNjMyNF0sIFsxNTk1MDg5OTM4LjE5MTk0NSwgMjE0OSwgMC4xMjE1OTEwMDE3NDkwMzg3XSwgWzE1OTUwODk5NDAuMTEyOSwgMjE1MSwgMC4xMjQ1MTEzNjExMjIxMzEzNV0sIFsxNTk1MDg5OTQ1LjAyNjM4NywgMjE1NiwgMC4xMzU1NjA2NDY2NTMxNzUzNV0sIFsxNTk1MDg5OTUzLjc1NjY2OSwgMjE2NSwgMC4xMTE2MTQ0ODgwNjUyNDI3N10sIFsxNTk1MDg5OTYxLjU4OTg2NSwgMjE3MywgMC4xMTc5NzU4ODMxODU4NjM1XSwgWzE1OTUwODk5NjUuNDg4NDYsIDIxNzcsIDAuMTI2NzI5OTgwMTExMTIyMTNdLCBbMTU5NTA4OTk3NS4zNTE5NiwgMjE4NywgMC4xMjIxMzc4ODE4MTU0MzM1XSwgWzE1OTUwODk5NzcuMzMyNjE1LCAyMTg5LCAwLjEyODU0NzQ4OTY0MzA5NjkyXSwgWzE1OTUwODk5NzkuMjYxMzI1LCAyMTkxLCAwLjE0ODYzODA4NDUzMDgzMDM4XSwgWzE1OTUwODk5ODAuMjM5ODM5LCAyMTkyLCAwLjExMjk0NDY3NzQ3MjExNDU2XSwgWzE1OTUwODk5ODQuMjA2MTIzLCAyMTk2LCAwLjEwOTY0NDQ4MDA0OTYxMDE0XSwgWzE1OTUwODk5ODcuMjMxNDg4LCAyMTk5LCAwLjExNDEwMTcyMjgzNjQ5NDQ1XSwgWzE1OTUwODk5OTUuMTg2NjAzLCAyMjA3LCAwLjEyNjIzMzMzOTMwOTY5MjM4XSwgWzE1OTUwODk5OTkuMDM3MzA1LCAyMjExLCAwLjEyOTI5MTQxNTIxNDUzODU3XSwgWzE1OTUwOTAwMTIuODUzMDg5LCAyMjI1LCAwLjExODgzMjA5NjQ1NzQ4MTM4XSwgWzE1OTUwOTAwMTguNjQ0NzE0LCAyMjMxLCAwLjE3MTMzNDk2NzAxNzE3Mzc3XSwgWzE1OTUwOTAwMjMuNTIwOTY2LCAyMjM2LCAwLjEzMzMzMjY4NDYzNjExNjAzXSwgWzE1OTUwOTAwMjQuNTU4NzI4LCAyMjM3LCAwLjEyNDU1NDQ3MDE4MTQ2NTE1XSwgWzE1OTUwOTAwMjYuNTUwMzg4LCAyMjM5LCAwLjExMzU2MzUzMDE0NzA3NTY1XSwgWzE1OTUwOTAwMjkuNDczMjY5LCAyMjQyLCAwLjEyMTE1MDgxMzk5Njc5MTg0XSwgWzE1OTUwOTAwMzEuMzUwNTQ5LCAyMjQ0LCAwLjExNzk1MzQwNDc4NDIwMjU4XSwgWzE1OTUwOTAwMzMuNDEwNTUyLCAyMjQ2LCAwLjE4ODI3MDUwOTI0MzAxMTQ3XSwgWzE1OTUwOTAwMzQuMzkwOTEsIDIyNDcsIDAuMTQ0OTgxMjM1MjY1NzMxOF0sIFsxNTk1MDkwMDQxLjM2NzI4LCAyMjU0LCAwLjMyNzUzMDc0MTY5MTU4OTM2XSwgWzE1OTUwOTAwNDQuMzIwOTA4LCAyMjU3LCAwLjExNDUzOTU5MzQ1ODE3NTY2XSwgWzE1OTUwOTAwNDkuMTE4NDQ3LCAyMjYyLCAwLjExNzcxMTEzNDI1NDkzMjRdLCBbMTU5NTA5MDA2Ny44Nzc3MTIsIDIyODEsIDAuMTcwODA2MDUwMzAwNTk4MTRdLCBbMTU5NTA5MDA3Ny40Njc1NTYsIDIyOTEsIDAuMTY0MTcyMjMyMTUxMDMxNV0sIFsxNTk1MDkwMDgzLjQwNzAyNCwgMjI5NywgMC4xNjAyNTcwNDE0NTQzMTUxOV0sIFsxNTk1MDkwMDg5LjI4MDgyMSwgMjMwMywgMC4xNTA4MDgyNzQ3NDU5NDExNl0sIFsxNTk1MDkwMDkzLjIwMjQxMiwgMjMwNywgMC4xNDE2NDc4MzA2MDU1MDY5XSwgWzE1OTUwOTAwOTQuMTUzMDQ1LCAyMzA4LCAwLjE1MTUzMzQ2OTU1Nzc2MjE1XSwgWzE1OTUwOTAxMDQuODc5MjA4LCAyMzE5LCAwLjEyMTUxMDUyODAyODAxMTMyXSwgWzE1OTUwOTAxMDUuODYyODQ4LCAyMzIwLCAwLjEwMDg4MDY5NzM2OTU3NTVdLCBbMTU5NTA5MDEyMC4zMjM4NDEsIDIzMzUsIDAuMTQ3NTQyMzcyMzQ1OTI0MzhdLCBbMTU5NTA5MDEyOS44NTMxMjQsIDIzNDUsIDAuMDk4ODAxNDA0MjM3NzQ3MTldLCBbMTU5NTA5MDEzOC42MDUwMzUsIDIzNTQsIDAuMTM3NzU5NjExMDEwNTUxNDVdLCBbMTU5NTA5MDE1NS4xNDk0NTEsIDIzNzEsIDAuMTM1NTgxMDkxMDQ2MzMzM10sIFsxNTk1MDkwMTcyLjU2Njc1NCwgMjM4OSwgMC4xMDg0MTA4ODc0MjAxNzc0Nl0sIFsxNTk1MDkwMTczLjU4MTQ3NiwgMjM5MCwgMC4xMzQ1NDYzMzk1MTE4NzEzNF0sIFsxNTk1MDkwMTc1LjU0MDIzLCAyMzkyLCAwLjEwOTIwNDI2OTk0NTYyMTQ5XSwgWzE1OTUwOTAxODUuMjg2MTY1LCAyNDAyLCAwLjEwNjE4MTMwMTE3NjU0OF0sIFsxNTk1MDkwMTg5LjIxODUzNSwgMjQwNiwgMC4xMzEyMDY2NzYzNjM5NDVdLCBbMTU5NTA5MDIwNy41ODQ4OTIsIDI0MjUsIDAuMTIwNzcyOTIwNTQ4OTE1ODZdLCBbMTU5NTA5MDIxOC4yOTY0NzcsIDI0MzYsIDAuMTAwNjc3MTg0NzYwNTcwNTNdLCBbMTU5NTA5MDIyNi4yMzQwOTIsIDI0NDQsIDAuMTQyNDk2MTUzNzEyMjcyNjRdLCBbMTU5NTA5MDIzMi4zMDQ5MzMsIDI0NTAsIDAuMTIwNzgyMjYzNTc2OTg0NF0sIFsxNTk1MDkwMjMzLjIyNTAyMywgMjQ1MSwgMC4xMjg0ODk1MjQxMjYwNTI4Nl0sIFsxNTk1MDkwMjM1LjIwOTcxNiwgMjQ1MywgMC4xMDYzNDUyODEwMDQ5MDU3XSwgWzE1OTUwOTAyMzcuMTM4NzI3LCAyNDU1LCAwLjEwMDY3NzIyOTQ2NDA1NDExXSwgWzE1OTUwOTAyNDEuOTk0NzQ4LCAyNDYwLCAwLjE5MDE4Mzg2MzA0Mzc4NTFdLCBbMTU5NTA5MDI2Ni45MjMwOTEsIDI0ODUsIDAuMTI5MTMzMTIwMTc5MTc2MzNdLCBbMTU5NTA5MDI2Ny45NDE1NTEsIDI0ODYsIDAuMTE2OTUwNzY1MjUyMTEzMzRdLCBbMTU5NTA5MDI3Ny45MjgxNTQsIDI0OTYsIDAuMTA2MTUxODA0MzI3OTY0NzhdLCBbMTU5NTA5MDI3OS45Mjg4MSwgMjQ5OCwgMC4xMjE3MTM4MDk2NjkwMTc3OV0sIFsxNTk1MDkwMjg0Ljc0MDUwOSwgMjUwMywgMC4xMTUxNTc2NjM4MjIxNzQwN10sIFsxNTk1MDkwMjk4LjYzMzExNCwgMjUxNywgMC4wODgwNzc5OTIyMDA4NTE0NF0sIFsxNTk1MDkwMzA0LjM2Njg1MywgMjUyMywgMC4xMTc2NjU5NzYyODU5MzQ0NV0sIFsxNTk1MDkwMzExLjM3NzQ1NCwgMjUzMCwgMC4xNjIwNjcxNjAwMTAzMzc4M10sIFsxNTk1MDkwMzEzLjQ2Mjk4MiwgMjUzMiwgMC4xMjAwOTUwNjY3MjYyMDc3M10sIFsxNTk1MDkwMzI4LjM3Njk2MywgMjU0NywgMC4yMjg3MzA0NTUwNDA5MzE3XSwgWzE1OTUwOTAzMzIuNzE3ODQ3LCAyNTUxLCAwLjEyMjY4NjY0Njg3ODcxOTMzXSwgWzE1OTUwOTAzMzQuMzYxOTE2LCAyNTUzLCAwLjE3Mjg2NzcxNTM1ODczNDEzXSwgWzE1OTUwOTAzNDcuMTg1NTYzLCAyNTY2LCAwLjE1MDUyNDczNTQ1MDc0NDYzXSwgWzE1OTUwOTAzNTkuMDIyNTg0LCAyNTc4LCAwLjE4MTQ0MjYzMzI3MTIxNzM1XSwgWzE1OTUwOTAzNzAuOTQ5ODYsIDI1OTAsIDAuMTc3MzcwODkwOTc0OTk4NDddLCBbMTU5NTA5MDM3MS45MTQwOSwgMjU5MSwgMC4xNTU1NTc1ODc3NDI4MDU0OF0sIFsxNTk1MDkwMzcyLjg3NTkyMSwgMjU5MiwgMC4yMDIyMTkxNTg0MTEwMjZdLCBbMTU5NTA5MDM4MC44NDY0NTksIDI2MDAsIDAuMTQ5MDk5OTQ2MDIyMDMzN10sIFsxNTk1MDkwMzg2Ljg1MzQzOSwgMjYwNiwgMC4xNjg5OTI5NTE1MTIzMzY3M10sIFsxNTk1MDkwNDAzLjgxNjE1NywgMjYyMywgMC4yNTQwNDk2ODg1Nzc2NTJdLCBbMTU5NTA5MDQwOS43ODE5NTcsIDI2MjksIDAuMTI2MjQ1NTg4MDY0MTkzNzNdLCBbMTU5NTA5MDQxMC43Mjk4ODgsIDI2MzAsIDAuMTQ5MTEyMDYwNjY2MDg0M10sIFsxNTk1MDkwNDE5LjA0NjMwNSwgMjYzOCwgMC4xMjkyNTI1MjMxODM4MjI2M10sIFsxNTk1MDkwNDI0LjcwNDc2NywgMjY0NCwgMC4xNDgzNzc2NTY5MzY2NDU1XSwgWzE1OTUwOTA0MzAuODA2NzU5LCAyNjUwLCAwLjEyODYzMzU3MzY1MTMxMzc4XSwgWzE1OTUwOTA0MzUuNzMxMDIxLCAyNjU1LCAwLjEzMDQxNTg0MTkzNzA2NTEyXSwgWzE1OTUwOTA0NTguNjUxODc1LCAyNjc4LCAwLjEzNDE0ODcwMjAyNTQxMzVdLCBbMTU5NTA5MDQ2MC41NDEyOTIsIDI2ODAsIDAuMTEzMTY1NDAwOTIyMjk4NDNdLCBbMTU5NTA5MDQ2NS4zNDU3NzcsIDI2ODUsIDAuMTM2NjAzMjM2MTk4NDI1M10sIFsxNTk1MDkwNDcwLjI4OTQ5MiwgMjY5MCwgMC4wOTMzMjM0NTQyNjA4MjYxMV0sIFsxNTk1MDkwNDgzLjEzOTQ0OSwgMjcwMywgMC4xMjQzMjc3ODYyNjY4MDM3NF0sIFsxNTk1MDkwNDkwLjExNzg1MSwgMjcxMCwgMC4wOTcxNDA0Mzg4NTQ2OTQzN10sIFsxNTk1MDkwNTA0LjgwNjc4MiwgMjcyNSwgMC4xNDczODYyMjMwNzc3NzQwNV0sIFsxNTk1MDkwNTE2LjYwNzU5MiwgMjczNywgMC4xMTg1NzcwMTA5Mjk1ODQ1XSwgWzE1OTUwOTA1MTkuNDg0NjA1LCAyNzQwLCAwLjE1MDg4OTA4Mzc0MzA5NTRdLCBbMTU5NTA5MDUzMy4xOTMyMzQsIDI3NTQsIDAuMTE1NjU5NDc1MzI2NTM4MDldLCBbMTU5NTA5MDUzNC4xMDc3MDcsIDI3NTUsIDAuMTI0NjQ3MTAzMjUwMDI2N10sIFsxNTk1MDkwNTM2LjA3MDQ2NywgMjc1NywgMC4yNDg2OTAzMjIwNDE1MTE1NF0sIFsxNTk1MDkwNTY3LjA4MTg0OCwgMjc4OSwgMC4xMzA0NzYyNTEyNDQ1NDQ5OF0sIFsxNTk1MDkwNTY4LjE0NDM1NSwgMjc5MCwgMC4xOTcwOTA0NjE4NTAxNjYzMl0sIFsxNTk1MDkwNTY5LjExNjE2NiwgMjc5MSwgMC4xMzUyMjc1MTYyOTM1MjU3XSwgWzE1OTUwOTA1NzYuMDgzNjEyLCAyNzk4LCAwLjIyMTgzNDU1NTI2ODI4NzY2XSwgWzE1OTUwOTA1ODcuMTEyMDE4LCAyODA5LCAwLjE5NjY0NzM0NjAxOTc0NDg3XSwgWzE1OTUwOTA2MDEuOTA3NzksIDI4MjQsIDAuMjAxNDY1ODQ1MTA4MDMyMjNdLCBbMTU5NTA5MDYwNC45Mjc2NDUsIDI4MjcsIDAuMTI4NDAyNzI0ODYyMDk4N10sIFsxNTk1MDkwNjA2Ljk0MjY3MSwgMjgyOSwgMC4xNDM1MTQ5OTA4MDY1Nzk2XSwgWzE1OTUwOTA2MzUuNzQyNjQzLCAyODU5LCAwLjE2Nzk1MDAwNDMzOTIxODE0XSwgWzE1OTUwOTA2NDguMzc2NDY4LCAyODcyLCAwLjE3NDg1MTkyNDE4MDk4NDVdLCBbMTU5NTA5MDY1Ny4wMzMwNCwgMjg4MSwgMC4xNjY0MTI1NzcwMzMwNDI5XSwgWzE1OTUwOTA2NjUuNzExMDU1LCAyODkwLCAwLjExNDc2MDI3MjIwNDg3NTk1XSwgWzE1OTUwOTA2NzEuNTk5NCwgMjg5NiwgMC4xMzEzMzc0NDg5NTQ1ODIyMV0sIFsxNTk1MDkwNjc1LjUzNDE5NywgMjkwMCwgMC4wOTI3MDE3MDMzMTAwMTI4Ml0sIFsxNTk1MDkwNjkxLjk2NjI4LCAyOTE3LCAwLjEyNzgzMTk5NTQ4NzIxMzEzXSwgWzE1OTUwOTA2OTMuODY4ODMyLCAyOTE5LCAwLjExODE1MDk1NjkyODczMDAxXSwgWzE1OTUwOTA2OTQuOTYzNzA4LCAyOTIwLCAwLjEzMjc5MTgxNzE4ODI2Mjk0XSwgWzE1OTUwOTA2OTUuOTE5NzYxLCAyOTIxLCAwLjEyNTA0NzAyODA2NDcyNzc4XSwgWzE1OTUwOTA3MDYuNTk2NDA2LCAyOTMyLCAwLjEwMzc1NzM3Mzk4ODYyODM5XSwgWzE1OTUwOTA3MjMuOTg4MDEyLCAyOTUwLCAwLjExMzg0NTAyNzk4MzE4ODYzXSwgWzE1OTUwOTA3NDAuNTE5NDM1LCAyOTY3LCAwLjExNjI5NTgwNzA2MzU3OTU2XSwgWzE1OTUwOTA3NDguMzc2NzY0LCAyOTc1LCAwLjE4NjExOTM3NzYxMzA2NzYzXSwgWzE1OTUwOTA3NzAuOTYwMzM0LCAyOTk4LCAwLjE0NTAwNTk0MTM5MDk5MTJdLCBbMTU5NTA5MDc3OS42MjIyNywgMzAwNywgMC4xNDY1ODYwMzA3MjE2NjQ0M10sIFsxNTk1MDkwNzgxLjUzNjYzOSwgMzAwOSwgMC4xMDk2Nzc5MTgyNTUzMjkxM10sIFsxNTk1MDkwNzgzLjQ4MjkyNSwgMzAxMSwgMC4xMTMyODMxMDUxOTQ1Njg2M10sIFsxNTk1MDkwNzg3LjM2NTgzMSwgMzAxNSwgMC4xMjc5NTc1Njc1NzI1OTM3XSwgWzE1OTUwOTA3ODguMzc3MTIyLCAzMDE2LCAwLjEwMzM4NDIxMTY1OTQzMTQ2XSwgWzE1OTUwOTA3OTkuMTUwNTg3LCAzMDI3LCAwLjEwNzEzNzAyNDQwMjYxODQxXSwgWzE1OTUwOTA4MDIuMDg5MTU4LCAzMDMwLCAwLjA5ODA2MjgyODE4MzE3NDEzXSwgWzE1OTUwOTA4MDkuOTQ2MDUsIDMwMzgsIDAuMjAwNjE5NzI3MzczMTIzMTddLCBbMTU5NTA5MDgxMi43Nzk2NjYsIDMwNDEsIDAuMTQ5NzQ0OTQyNzg0MzA5NF0sIFsxNTk1MDkwODIxLjI4NDkwOSwgMzA1MCwgMC4xMDc3ODYwOTY2MzI0ODA2Ml0sIFsxNTk1MDkwODM1LjY5NDY0NCwgMzA2NSwgMC4xMTc2MTU1MzU4NTUyOTMyN10sIFsxNTk1MDkwODM5LjU0NzI1MywgMzA2OSwgMC4xMTY2MDQyMDg5NDYyMjgwM10sIFsxNTk1MDkwODQxLjQwNzEzNCwgMzA3MSwgMC4xMTU0MzM2MjU4NzY5MDM1M10sIFsxNTk1MDkwODU1LjcyMDAyNywgMzA4NiwgMC4wOTY3ODczMTExMzY3MjI1Nl0sIFsxNTk1MDkwODY4LjIzMTkyMSwgMzA5OSwgMC4wOTI0MjY2ODAwMjg0Mzg1N10sIFsxNTk1MDkwODkxLjA4NTI4MiwgMzEyMiwgMC4wNzc1MjQyMDAwODE4MjUyNl0sIFsxNTk1MDkwOTA1LjUyNzcyNSwgMzEzNywgMC4wOTg3MTg2MTMzODYxNTQxN10sIFsxNTk1MDkwOTA2LjUyNTksIDMxMzgsIDAuMDk1MTQ1MzI5ODMzMDMwN10sIFsxNTk1MDkwOTEzLjM0NzY0MiwgMzE0NSwgMC4wOTc1OTc2MDY0ODAxMjE2MV0sIFsxNTk1MDkwOTE4LjE4MjA2OCwgMzE1MCwgMC4wODM3NTY3NTIzMTIxODMzOF0sIFsxNTk1MDkwOTIzLjEyMjExOCwgMzE1NSwgMC4wODE2OTIxMzY4MjQxMzEwMV0sIFsxNTk1MDkwOTI2Ljk5OTA4MiwgMzE1OSwgMC4xMTU5ODUyNDQ1MTI1NTc5OF0sIFsxNTk1MDkwOTI4Ljg3MzM4MSwgMzE2MSwgMC4wODI3MzU3MjQ3NDcxODA5NF0sIFsxNTk1MDkwOTQ0LjQwNzksIDMxNzcsIDAuMDkzNDQzODYzMDkzODUzXSwgWzE1OTUwOTA5NjEuOTYwODM2LCAzMTk1LCAwLjA3NTQ1MTI4NDY0Njk4NzkyXSwgWzE1OTUwOTA5NjIuOTI4MzI2LCAzMTk2LCAwLjA5NDIyMzgzNDU3NDIyMjU2XSwgWzE1OTUwOTA5NjkuNjgxMDA0LCAzMjAzLCAwLjA3Njk3NTU0Njc3NzI0ODM4XSwgWzE1OTUwOTA5NzIuNjIxMzM3LCAzMjA2LCAwLjA4Mjc1MjI2NTAzNjEwNjExXSwgWzE1OTUwOTA5OTUuOTc5NjA2LCAzMjMwLCAwLjEwODk3MTQyNDQwMDgwNjQzXSwgWzE1OTUwOTA5OTguODU2MjE5LCAzMjMzLCAwLjEwMTA0NTA2NDYyODEyNDI0XSwgWzE1OTUwOTEwMDUuOTE3NzE2LCAzMjQwLCAwLjA4OTkzMTc3MTE1OTE3MjA2XSwgWzE1OTUwOTEwMDguODY1OTczLCAzMjQzLCAwLjA3MTg0MDU5MTcyODY4NzI5XSwgWzE1OTUwOTEwMDkuNzg4MTYyLCAzMjQ0LCAwLjEwMDUyMzEyMTY1NDk4NzM0XSwgWzE1OTUwOTEwMTEuNjc3NDI3LCAzMjQ2LCAwLjA3NjIwNTUxNDM3MTM5NTExXSwgWzE1OTUwOTEwMTIuNjM2MTA3LCAzMjQ3LCAwLjA4MjEyNTY4NjEwOTA2NjAxXSwgWzE1OTUwOTEwMzIuMzY2MDIyLCAzMjY3LCAwLjA5ODMxNDMyMjUzMTIyMzNdLCBbMTU5NTA5MTAzNy4zMzUwMTIsIDMyNzIsIDAuMDk3Njc2MTcyODUyNTE2MTddLCBbMTU5NTA5MTA0NS45OTM1MDcsIDMyODEsIDAuMTA2MTIzNjMzNjgyNzI3ODFdLCBbMTU5NTA5MTA0Ny45Njc5NTcsIDMyODMsIDAuMDk2OTEyMDkzNDYwNTU5ODRdLCBbMTU5NTA5MTA2OS4zNDQzNzcsIDMzMDUsIDAuMDg2NTUzMjIzNDMxMTEwMzhdLCBbMTU5NTA5MTA3Ny4wMDk2NywgMzMxMywgMC4wODkxMDA5MTk2NjM5MDYxXSwgWzE1OTUwOTEwOTAuNTcyODMxLCAzMzI3LCAwLjA4Nzc0ODE4NDgwMDE0ODAxXSwgWzE1OTUwOTEwOTEuNTQ5OTYxLCAzMzI4LCAwLjA5NTA0ODE1MTkxMDMwNTAyXSwgWzE1OTUwOTEwOTYuNDk1MDk0LCAzMzMzLCAwLjEyMjg5NTgxNDQ3ODM5NzM3XSwgWzE1OTUwOTExMDEuMzg1OTgsIDMzMzgsIDAuMDk0Mzg4ODU3NDgzODYzODNdLCBbMTU5NTA5MTEwOC4wODUyMzIsIDMzNDUsIDAuMDc5OTA5ODE2Mzg0MzE1NDldLCBbMTU5NTA5MTEzNi40NjI4MzQsIDMzNzQsIDAuMTE5NzExOTcyNzczMDc1MV0sIFsxNTk1MDkxMTM4LjM3MDA0MSwgMzM3NiwgMC4wODk3NjM3ODI5MTg0NTMyMl0sIFsxNTk1MDkxMTQwLjI4NzQyNCwgMzM3OCwgMC4wOTU2ODc1MDg1ODMwNjg4NV0sIFsxNTk1MDkxMTQ4LjExNjQ5OSwgMzM4NiwgMC4wOTc3MDg1MzgxNzQ2MjkyMV0sIFsxNTk1MDkxMTY1LjA2MDkwOCwgMzQwMywgMC4wODQ4MzE3Mjk1MzEyODgxNV0sIFsxNTk1MDkxMTY5LjM2MjUwNSwgMzQwOCwgMC4wOTAwMDY2NzE4NDU5MTI5M10sIFsxNTk1MDkxMTkxLjAzMzkyMiwgMzQzMCwgMC4wODg2MDk1Njg3NzQ3MDAxNl0sIFsxNTk1MDkxMTk0LjAzOTUzMywgMzQzMywgMC4wNjg5OTE2MzEyNjk0NTQ5Nl0sIFsxNTk1MDkxMTk5LjE1MDk3NywgMzQzOCwgMC4wODU3OTMzMTYzNjQyODgzM10sIFsxNTk1MDkxMjA1Ljg1MzcwNCwgMzQ0NSwgMC4wODA1MTkxOTE5MjA3NTczXSwgWzE1OTUwOTEyMDkuNzE0NzYxLCAzNDQ5LCAwLjA5Mzk1ODEzOTQxOTU1NTY2XSwgWzE1OTUwOTEyMTEuNzU4ODY0LCAzNDUxLCAwLjEwMjI1NzA4NzgyNjcyODgyXSwgWzE1OTUwOTEyMTcuNzEwOTQ1LCAzNDU3LCAwLjA4NDI5NzY0OTU2MjM1ODg2XSwgWzE1OTUwOTEyMTguNjY5OTgsIDM0NTgsIDAuMDc3NTY2ODY5NTU2OTAzODRdLCBbMTU5NTA5MTIyNC43NjcyMTgsIDM0NjQsIDAuMDg5OTk0NzczMjY4Njk5NjVdLCBbMTU5NTA5MTIzMS41NDY2NTksIDM0NzEsIDAuMTA1NjI5ODM5MDAzMDg2MDldLCBbMTU5NTA5MTIzNy41NjQ2NTQsIDM0NzcsIDAuMTAxNDQ4NzUxOTg2MDI2NzZdLCBbMTU5NTA5MTI0MC40NDA0MjMsIDM0ODAsIDAuMDcwMDA0MDM4NTEyNzA2NzZdLCBbMTU5NTA5MTI1Ni45ODY3NDksIDM0OTcsIDAuMDc4NjgxMzQ5NzU0MzMzNV0sIFsxNTk1MDkxMjU5LjA3MzQ2NywgMzQ5OSwgMC4wODg4MzA0MTg4ODQ3NTQxOF0sIFsxNTk1MDkxMjY4Ljc4OTM4NCwgMzUwOSwgMC4wNzk3MzM0MTY0MzgxMDI3Ml0sIFsxNTk1MDkxMjcxLjg0NDM0MSwgMzUxMiwgMC4wODQ1OTE2NDIwMjIxMzI4N10sIFsxNTk1MDkxMjc4Ljc1MDI3NiwgMzUxOSwgMC4wNzYwMTc2NjI4ODI4MDQ4N10sIFsxNTk1MDkxMjk0LjAzMTMzNiwgMzUzNSwgMC4wODI1MzgzNTE0MTY1ODc4M10sIFsxNTk1MDkxMjk1Ljk0OTcyLCAzNTM3LCAwLjA4MTMzNTAwMDY5Mzc5ODA3XSwgWzE1OTUwOTEzMDEuODc0MzUsIDM1NDMsIDAuMDkyNjk3NDQxNTc3OTExMzhdLCBbMTU5NTA5MTMwNS42NzMwMDQsIDM1NDcsIDAuMDg0MDI2MjQ3MjYyOTU0NzFdLCBbMTU5NTA5MTMwNy43MDM5NDUsIDM1NDksIDAuMDg5NDY1NDg0MDIzMDk0MThdLCBbMTU5NTA5MTMyMS4zMzEzMTEsIDM1NjMsIDAuMDY4NzQxODY1NDU2MTA0MjhdLCBbMTU5NTA5MTMzNy45NzczMzYsIDM1ODAsIDAuMDc5ODUwMjkzNjk1OTI2NjddLCBbMTU5NTA5MTM0OS42ODk3OCwgMzU5MiwgMC4wOTQ1NzI4NTcwMjIyODU0Nl0sIFsxNTk1MDkxMzU3LjU3MDk0OSwgMzYwMCwgMC4wNjc3MTEwOTk5ODIyNjE2Nl0sIFsxNTk1MDkxMzc0Ljk3ODY0NiwgMzYxOCwgMC4xMDAxMzU2MzkzMDk4ODMxMl0sIFsxNTk1MDkxMzc2Ljk1MDY5NSwgMzYyMCwgMC4wNzA4OTIyNDQ1Nzc0MDc4NF0sIFsxNTk1MDkxMzc4LjgwMDczNywgMzYyMiwgMC4wODEzNTMzNTE0NzM4MDgyOV0sIFsxNTk1MDkxMzgxLjc0MzU4OCwgMzYyNSwgMC4xMDYwNDk3NjExNzYxMDkzMV0sIFsxNTk1MDkxMzg0LjU3ODYxLCAzNjI4LCAwLjA5MTU0OTI4NDc1NjE4MzYyXSwgWzE1OTUwOTE0MDEuMjI4OTc4LCAzNjQ1LCAwLjA2OTUyNDc3OTkxNTgwOTYzXSwgWzE1OTUwOTE0MTEuODE5MjUsIDM2NTYsIDAuMDg4NzkyMzE2NjE1NTgxNTFdLCBbMTU5NTA5MTQxMy4xOTAwMDgsIDM2NTcsIDAuMTA3OTUzNDczOTI1NTkwNTJdLCBbMTU5NTA5MTQyNS42MjUzNjcsIDM2NzAsIDAuMDg0NzMyNDcyODk2NTc1OTNdLCBbMTU5NTA5MTQ1NC43ODU2ODksIDM3MDAsIDAuMDk1NDg2MzA1NjU0MDQ4OTJdLCBbMTU5NTA5MTQ1Ni43OTE2OTgsIDM3MDIsIDAuMDcxMzIxNjY2MjQwNjkyMTRdLCBbMTU5NTA5MTQ4MC4zMjEyMywgMzcyNiwgMC4wNjgxMDMxNzkzMzU1OTQxOF0sIFsxNTk1MDkxNDg0LjIwODc4LCAzNzMwLCAwLjA5MDgyOTQ3NjcxNDEzNDIyXSwgWzE1OTUwOTE0ODYuMjAzMjQsIDM3MzIsIDAuMDYyMDM2MzgwMTcxNzc1ODJdLCBbMTU5NTA5MTQ5MS45NzYyNDUsIDM3MzgsIDAuMDc1Nzk2OTA5NjMwMjk4NjFdLCBbMTU5NTA5MTQ5NC44NDMwMDEsIDM3NDEsIDAuMTAyMDEzODc4NTI0MzAzNDRdLCBbMTU5NTA5MTQ5Ni44NTc0NTQsIDM3NDMsIDAuMDc3OTUwODk0ODMyNjExMDhdLCBbMTU5NTA5MTUwNS42MDM0MjgsIDM3NTIsIDAuMDg5MjI3MDIwNzQwNTA5MDNdLCBbMTU5NTA5MTUxMi40MTYwMTQsIDM3NTksIDAuMDc4NzA3NjEzMDUwOTM3NjVdLCBbMTU5NTA5MTUyNS43OTI5NiwgMzc3MiwgMC4wNzEzMTIxNjY3NTA0MzEwNl0sIFsxNTk1MDkxNTMzLjA2ODQyNywgMzc4MCwgMC4wODY2MDk2NTQxMjg1NTE0OF0sIFsxNTk1MDkxNTQ1LjcwNTk1NywgMzc5MywgMC4wNjU1ODY1ODE4MjYyMTAwMl0sIFsxNTk1MDkxNTQ3LjY0NjExLCAzNzk1LCAwLjA3MDYyMjI3Mjc4OTQ3ODNdLCBbMTU5NTA5MTU1MC41NzI5NzQsIDM3OTgsIDAuMDgyNzA0MjQ2MDQ0MTU4OTRdLCBbMTU5NTA5MTU2Mi4yODE4MDUsIDM4MTAsIDAuMDk0MDcxMDM4MDY3MzQwODVdLCBbMTU5NTA5MTU2Ni4yMzkwNDIsIDM4MTQsIDAuMDY1MzA4NzI3MzI0MDA4OTRdLCBbMTU5NTA5MTU3MS4wNTI1MzgsIDM4MTksIDAuMDg3MjI1OTQzODAzNzg3MjNdLCBbMTU5NTA5MTU3Mi45NTI0NjIsIDM4MjEsIDAuMDg2NzcwODM5OTg5MTg1MzNdLCBbMTU5NTA5MTU4Mi42NTYyMjMsIDM4MzEsIDAuMTE1OTc2ODMyODA3MDY0MDZdLCBbMTU5NTA5MTU4Ni42MTA2NTcsIDM4MzUsIDAuMDk1MzAzNjYyMTIxMjk1OTNdLCBbMTU5NTA5MTU5OS4xODA3NzcsIDM4NDgsIDAuMDc1OTcyMjczOTQ1ODA4NDFdLCBbMTU5NTA5MTYxNC43NTExMzYsIDM4NjQsIDAuMDY4MDAyNDE3NjgzNjAxMzhdLCBbMTU5NTA5MTYxOS42ODkxNTEsIDM4NjksIDAuMDY2MjgxMzU1OTE3NDUzNzddLCBbMTU5NTA5MTYyNi4zOTk4OTgsIDM4NzYsIDAuMTExOTIxNDE0NzMyOTMzMDRdLCBbMTU5NTA5MTY1MC42MDIzMiwgMzkwMSwgMC4wOTU5NTYyODgyNzgxMDI4N10sIFsxNTk1MDkxNjUxLjU0NzY3MSwgMzkwMiwgMC4wNjgxMTg4MzMwMDU0MjgzMV0sIFsxNTk1MDkxNjU5LjMyMjA0MSwgMzkxMCwgMC4wNjY1ODQwMTM0MDI0NjJdLCBbMTU5NTA5MTY2OC45OTkyODEsIDM5MjAsIDAuMDgyMTg3Mzc2OTE2NDA4NTRdLCBbMTU5NTA5MTY3Ni44Mzc1MzIsIDM5MjgsIDAuMDczNTM1NDA1MDk5MzkxOTRdLCBbMTU5NTA5MTY4My41NzczMjgsIDM5MzUsIDAuMDcyMDk2ODg0MjUwNjQwODddLCBbMTU5NTA5MTY4Ny40NTk4MTYsIDM5MzksIDAuMTI2NTM1NDMwNTUwNTc1MjZdLCBbMTU5NTA5MTY5OC4xMDY0NzgsIDM5NTAsIDAuMDgzMDQyMTE0OTczMDY4MjRdLCBbMTU5NTA5MTcwNC4xNjMzNTEsIDM5NTYsIDAuMDU5NDg4MDk1MzQzMTEyOTQ2XSwgWzE1OTUwOTE3MDkuODIzOTA2LCAzOTYyLCAwLjA2OTEwNjkzNjQ1NDc3Mjk1XSwgWzE1OTUwOTE3MzEuMzM2OTI3LCAzOTg0LCAwLjA2NDkxODMwOTQ1MDE0OTU0XSwgWzE1OTUwOTE3NDEuOTY5NzQyLCAzOTk1LCAwLjA4NDEyNTk5NTYzNTk4NjMzXSwgWzE1OTUwOTE3NDYuNzA2NTkyLCA0MDAwLCAwLjA3MTMyNDg0MDE4ODAyNjQzXSwgWzE1OTUwOTE3NTUuMzczNDYsIDQwMDksIDAuMDY5NzUwNzg1ODI3NjM2NzJdLCBbMTU5NTA5MTc1Ni4zNDY4MDgsIDQwMTAsIDAuMDY4NDc0NjQyOTMyNDE1MDFdLCBbMTU5NTA5MTc2OC4wODU0MywgNDAyMiwgMC4wNzg3MTQ1NjQ0NDI2MzQ1OF0sIFsxNTk1MDkxNzc4Ljg4OTA1NywgNDAzMywgMC4wNjk2NTcyODg0OTE3MjU5Ml0sIFsxNTk1MDkxNzgxLjgwNjEyNywgNDAzNiwgMC4wODQyNTQ3MDQ0MTU3OTgxOV0sIFsxNTk1MDkxNzkxLjQzNDQ3OCwgNDA0NiwgMC4xMTAwNDgxNTI1MDYzNTE0N10sIFsxNTk1MDkxNzkyLjQ5MjAxOSwgNDA0NywgMC4wOTU0NzMzMTkyOTIwNjg0OF0sIFsxNTk1MDkxNzkzLjQ3MDM4OCwgNDA0OCwgMC4wODU1ODQ0MjQ0MzYwOTIzOF0sIFsxNTk1MDkxODM3LjAwOTg4NiwgNDA5MywgMC4wOTUyOTI3MDIzMTcyMzc4NV0sIFsxNTk1MDkxODQxLjgzNjU5MSwgNDA5OCwgMC4xMDYyODg2MTE4ODg4ODU1XSwgWzE1OTUwOTE4NDIuODEzMzE2LCA0MDk5LCAwLjA5NDM5NzE5NDY4MzU1MTc5XSwgWzE1OTUwOTE4NTIuNTg1MjIxLCA0MTA5LCAwLjA5MTQ0MTI0Mzg4Njk0NzYzXSwgWzE1OTUwOTE5MjMuMTUwNDU0LCA0MTgyLCAwLjA4OTQ0NTI4NTQ5OTA5NTkyXSwgWzE1OTUwOTE5MzMuODQ1ODcsIDQxOTMsIDAuMDg0Nzk4MTc5NTY2ODYwMl0sIFsxNTk1MDkxOTM0LjkxMjI3MSwgNDE5NCwgMC4wOTEwOTk0MjYxNTAzMjE5Nl0sIFsxNTk1MDkxOTM2Ljg0NTA1OCwgNDE5NiwgMC4xMDA1MTAxMzUyOTMwMDY5XSwgWzE1OTUwOTE5MzguNzAyNDI1LCA0MTk4LCAwLjA4OTY4NzU3MDkyOTUyNzI4XSwgWzE1OTUwOTE5NDEuNTEwNzUsIDQyMDEsIDAuMTE3MjE2MDIwODIyNTI1MDJdLCBbMTU5NTA5MTk0Mi41NjMxMjMsIDQyMDIsIDAuMTM4MzY5NjE5ODQ2MzQ0XSwgWzE1OTUwOTE5NDQuNDc4NTksIDQyMDQsIDAuMTE5MDczMzc2MDU5NTMyMTddLCBbMTU5NTA5MTk2Ni44ODEyNzUsIDQyMjcsIDAuMDk4ODc1OTQ3Mjk2NjE5NDJdLCBbMTU5NTA5MTk3MS44MzY5NzgsIDQyMzIsIDAuMDc2NTQ2NzM2MDYxNTczMDNdLCBbMTU5NTA5MTk3NC44NDU5NzksIDQyMzUsIDAuMDk3ODk4NTI3OTc5ODUwNzddLCBbMTU5NTA5MTk4Mi44MDcwNiwgNDI0MywgMC4wOTI0ODM4MTEwODA0NTU3OF0sIFsxNTk1MDkxOTkzLjU2MDQ4MSwgNDI1NCwgMC4wODAxNjU0NjgxNTYzMzc3NF0sIFsxNTk1MDkyMDAyLjQ4MzQ5NCwgNDI2MywgMC4wNzM2Mzg3MDczOTkzNjgyOV0sIFsxNTk1MDkyMDA1LjMzMDQ1NywgNDI2NiwgMC4wODA2MTE2NzU5Nzc3MDY5MV0sIFsxNTk1MDkyMDA2LjM2MDA5NCwgNDI2NywgMC4wNzkxNTQ2NzAyMzg0OTQ4N10sIFsxNTk1MDkyMDIxLjA0NTczMiwgNDI4MiwgMC4wODA4MDQ4Mzk3MzAyNjI3Nl0sIFsxNTk1MDkyMDM2LjYyNTA4OSwgNDI5OCwgMC4xMDQyMjYyNDY0NzYxNzM0XSwgWzE1OTUwOTIwNDIuNDE0MjE3LCA0MzA0LCAwLjA3ODM1MzY3MzIxOTY4MDc5XSwgWzE1OTUwOTIwNDYuNDUyODQyLCA0MzA4LCAwLjA3MTI2MTA5MzAyMDQzOTE1XSwgWzE1OTUwOTIwNTUuMDk5NTc0LCA0MzE3LCAwLjA4MDk0ODYwNjEzMzQ2MV0sIFsxNTk1MDkyMDU3LjA0NjM5MiwgNDMxOSwgMC4xMzM0NTQwNTQ1OTQwMzk5Ml0sIFsxNTk1MDkyMDY1Ljg0MTY1MSwgNDMyOCwgMC4wODAyNzIxMDgzMTY0MjE1MV0sIFsxNTk1MDkyMDY5LjY5ODk0MywgNDMzMiwgMC4xMjYzMTA0MjMwMTY1NDgxNl0sIFsxNTk1MDkyMDc1LjY5MTI3NiwgNDMzOCwgMC4wODgwNzYyNjM2NjYxNTI5NV0sIFsxNTk1MDkyMDgwLjYyNTMyNSwgNDM0MywgMC4wODgyNDk4OTE5OTYzODM2N10sIFsxNTk1MDkyMTA1LjkyMTc4OSwgNDM2OSwgMC4xMDE0NDEzOTgyNjI5Nzc2XSwgWzE1OTUwOTIxMTQuNzY0MDgxLCA0Mzc4LCAwLjEyNzQ0MDc4MDQwMTIyOTg2XSwgWzE1OTUwOTIxMjkuMjk4ODU4LCA0MzkzLCAwLjEwNDY4NDIzMzY2NTQ2NjMxXSwgWzE1OTUwOTIxMzUuOTQwNjc1LCA0NDAwLCAwLjA4MzQxOTc5OTgwNDY4NzVdLCBbMTU5NTA5MjE0MS45OTg3MSwgNDQwNiwgMC4wODIzNzg2NzgwMjM4MTUxNl0sIFsxNTk1MDkyMTQ1Ljk5NDM5MiwgNDQxMCwgMC4wODA0MzI2MTYxNzQyMjEwNF0sIFsxNTk1MDkyMTQ2Ljk5NjMyMywgNDQxMSwgMC4wODM4NDczMzY0NzEwODA3OF0sIFsxNTk1MDkyMTY1LjQwNTQwNiwgNDQzMCwgMC4wOTQ1NzI1ODEzNTA4MDMzOF0sIFsxNTk1MDkyMTY2LjM2MjUyOSwgNDQzMSwgMC4xMzI4Mzc5MDY0Nzk4MzU1XSwgWzE1OTUwOTIxNjguMzU3NjM4LCA0NDMzLCAwLjA4NDg5NjQ0NTI3NDM1MzAzXSwgWzE1OTUwOTIxNzQuMTQxMTIyLCA0NDM5LCAwLjA3NTYwNDMwNDY3MTI4NzU0XSwgWzE1OTUwOTIyMDMuMzU4OTc4LCA0NDY5LCAwLjE0ODQ5NTg2Nzg0ODM5NjNdLCBbMTU5NTA5MjIwOS40Njc5MTksIDQ0NzUsIDAuMDc3NDU2ODM5MzgyNjQ4NDddLCBbMTU5NTA5MjIxMi45MTMwMTcsIDQ0NzksIDAuMDg0NjE5NzQ1NjEyMTQ0NDddLCBbMTU5NTA5MjIxNS43Nzk4MzgsIDQ0ODIsIDAuMDc2MzQzNjEwODgyNzU5MV0sIFsxNTk1MDkyMjIzLjY1MzUzLCA0NDkwLCAwLjA4OTA2MDY2NDE3Njk0MDkyXSwgWzE1OTUwOTIyMjUuNjIxMzk3LCA0NDkyLCAwLjA4MzIwMjI1Nzc1MjQxODUyXSwgWzE1OTUwOTIyNDIuMTg0NDY2LCA0NTA5LCAwLjA5NjM2NjEyMjM2NDk5Nzg2XSwgWzE1OTUwOTIyNDMuMTkxOSwgNDUxMCwgMC4wNzg5Mzc2MDUwMjMzODQxXSwgWzE1OTUwOTIyNjEuMTU4NzksIDQ1MjksIDAuMDY2NzY0MDg2NDg0OTA5MDZdLCBbMTU5NTA5MjI2Mi4wODQxMDUsIDQ1MzAsIDAuMDY4NTUwNTk0MTUxMDIwMDVdLCBbMTU5NTA5MjI2NC45OTI2MDgsIDQ1MzMsIDAuMDg4NDIyMzA1ODgxOTc3MDhdLCBbMTU5NTA5MjI3My43MzI5NDksIDQ1NDIsIDAuMDgwMjcxNTA0ODE5MzkzMTZdLCBbMTU5NTA5MjI4MS40MDQzOTQsIDQ1NTAsIDAuMDg0MTQ1NjM1MzY2NDM5ODJdLCBbMTU5NTA5MjI4My4zMjEyOTcsIDQ1NTIsIDAuMDY4MTMyNjA5MTI4OTUyMDNdLCBbMTU5NTA5MjI4NC4zMjM3MTksIDQ1NTMsIDAuMTI2MTcyNjQ2ODgwMTQ5ODRdLCBbMTU5NTA5MjI5OS4wMjYzMjYsIDQ1NjgsIDAuMDc0OTM5NjA4NTczOTEzNTddLCBbMTU5NTA5MjMwOC42ODA5MTYsIDQ1NzgsIDAuMDc3NTk1MTI5NjA5MTA3OTddLCBbMTU5NTA5MjMxMS41MTA3OTMsIDQ1ODEsIDAuMDkwNDI3OTc5ODI2OTI3MTldLCBbMTU5NTA5MjMyMi40NzM0MDUsIDQ1OTIsIDAuMDkxMjU4OTUwNTMxNDgyN10sIFsxNTk1MDkyMzI1LjQ4MDQ3MiwgNDU5NSwgMC4wODU0MDc3OTM1MjE4ODExXSwgWzE1OTUwOTIzMjcuMzQ2Mjg4LCA0NTk3LCAwLjA5MDcxOTAxNDQwNjIwNDIyXSwgWzE1OTUwOTIzMjkuMzgxMjk0LCA0NTk5LCAwLjExMTY3NzI4OTAwOTA5NDI0XSwgWzE1OTUwOTIzNDAuOTg3MDE3LCA0NjExLCAwLjA4NDYwMDEyODIzMzQzMjc3XSwgWzE1OTUwOTIzNTcuNTAxMjcyLCA0NjI4LCAwLjA2NTIzNDQyMjY4MzcxNTgyXSwgWzE1OTUwOTIzNzIuMTU0ODk1LCA0NjQzLCAwLjA4NDUwNDA0NTU0NjA1NDg0XSwgWzE1OTUwOTIzNzcuOTU4NDM3LCA0NjQ5LCAwLjA4NjM3MjkyNjgzMTI0NTQyXSwgWzE1OTUwOTIzODQuNzMyMTQzLCA0NjU2LCAwLjA2NzIxMTQxMTg5MzM2Nzc3XSwgWzE1OTUwOTIzOTIuMzUxMzU2LCA0NjY0LCAwLjA2MDE3MzUxODk1NTcwNzU1XSwgWzE1OTUwOTIzOTYuMjk5ODg0LCA0NjY4LCAwLjA3MjE2MjM4MjMwNDY2ODQzXSwgWzE1OTUwOTI0MDMuMzI0ODI3LCA0Njc1LCAwLjA3ODA1MDk2MzU4MDYwODM3XSwgWzE1OTUwOTI0MDQuMzMyMDQsIDQ2NzYsIDAuMDc2MzU2MjI0NzE1NzA5NjldLCBbMTU5NTA5MjQwNS4zNTMzNjEsIDQ2NzcsIDAuMDc2NjQ1NTYwNTYyNjEwNjNdLCBbMTU5NTA5MjQxNC45Mjk2MzYsIDQ2ODcsIDAuMDgxODI2MTk1MTIwODExNDZdLCBbMTU5NTA5MjQ0MC4yMjg0NTQsIDQ3MTMsIDAuMDcyNDY5ODY3NzY1OTAzNDddLCBbMTU5NTA5MjQ0NS4wMzg3MDUsIDQ3MTgsIDAuMDk3MjI5MDMzNzA4NTcyMzldLCBbMTU5NTA5MjQ2MC40MjgxMjYsIDQ3MzQsIDAuMDc0NTc4MzU5NzIzMDkxMTNdLCBbMTU5NTA5MjQ2NS4yNDg0MTEsIDQ3MzksIDAuMDc3NDExMDg1MzY3MjAyNzZdLCBbMTU5NTA5MjQ3MS4xOTQ0ODgsIDQ3NDUsIDAuMDgxMDU5MTEzMTQ0ODc0NTddLCBbMTU5NTA5MjQ3NS4wNDI0LCA0NzQ5LCAwLjA2Nzc3NjI0MDQwODQyMDU2XSwgWzE1OTUwOTI0NzYuMTA0NTE3LCA0NzUwLCAwLjA5MzU0ODUxMzk0ODkxNzM5XSwgWzE1OTUwOTI0ODMuOTk2NTU0LCA0NzU4LCAwLjA4MDA4ODMzOTc0NTk5ODM4XSwgWzE1OTUwOTI0ODYuODcxMzEyLCA0NzYxLCAwLjA3MTQzMjQ2MzgyNDc0ODk5XSwgWzE1OTUwOTI0ODcuODIzNTg5LCA0NzYyLCAwLjA5MDc5NzM2NDcxMTc2MTQ3XSwgWzE1OTUwOTI0ODkuNzE2OTMxLCA0NzY0LCAwLjA3MTk3Njk2NzE1NTkzMzM4XSwgWzE1OTUwOTI0OTIuNjA4Mjc5LCA0NzY3LCAwLjEwMDkyODAxNjAwNjk0NjU2XSwgWzE1OTUwOTI1MDEuMjkxNTM2LCA0Nzc2LCAwLjA2OTk5MTIwMTE2MjMzODI2XSwgWzE1OTUwOTI1MDUuMTU0MzA1LCA0NzgwLCAwLjA2NDg4ODIyNDAwNTY5OTE2XSwgWzE1OTUwOTI1MDguOTk3NTI0LCA0Nzg0LCAwLjA2NzE2OTQzNTMyMjI4NDddLCBbMTU5NTA5MjUxMi4wMzE0MTMsIDQ3ODcsIDAuMDc1MjQxNjcwMDEyNDc0MDZdLCBbMTU5NTA5MjUxMy4wMTA4NjEsIDQ3ODgsIDAuMDU3OTE3OTc4NjE0NTY4NzFdLCBbMTU5NTA5MjUxOC43MjY5OTIsIDQ3OTQsIDAuMDY5MTE5NDQ1OTc5NTk1MThdLCBbMTU5NTA5MjUyNC40MDk0MTEsIDQ4MDAsIDAuMDc0MjUxOTU3MjM3NzIwNDldLCBbMTU5NTA5MjUyNi40MTMwMTQsIDQ4MDIsIDAuMDY0NzU1NzIyODgwMzYzNDZdLCBbMTU5NTA5MjUyOS4xOTA2ODQsIDQ4MDUsIDAuMDc2NDEzMDEzMDQxMDE5NDRdLCBbMTU5NTA5MjU2Mi44MTc4OTUsIDQ4NDAsIDAuMDcwNDAzMjYyOTcyODMxNzNdLCBbMTU5NTA5MjU3NC40MzcwODUsIDQ4NTIsIDAuMDg2Mjk2NzIyMjkyOTAwMDldLCBbMTU5NTA5MjU5Mi44MTE4MDYsIDQ4NzEsIDAuMDY4NjY1ODMyMjgxMTEyNjddLCBbMTU5NTA5MjU5NS4wOTg4MjEsIDQ4NzMsIDAuMDcyNzMyMzI5MzY4NTkxMzFdLCBbMTU5NTA5MjYxMC4zNDQ1MzcsIDQ4ODksIDAuMDkxODYyMTcxODg4MzUxNDRdLCBbMTU5NTA5MjYxMy4yMzI1NiwgNDg5MiwgMC4wNjQwNzU5ODQwNjA3NjQzMV0sIFsxNTk1MDkyNjE1LjI1OTExOCwgNDg5NCwgMC4wOTQ0NzE2MjU5ODM3MTUwNl0sIFsxNTk1MDkyNjE2LjIwNjUwNSwgNDg5NSwgMC4xMDQ4MTEwMjc2NDYwNjQ3Nl0sIFsxNTk1MDkyNjM0Ljk0MjI4MywgNDkxNCwgMC4wODAyMzExMDAzMjA4MTYwNF0sIFsxNTk1MDkyNjU4LjE0NTE0OCwgNDkzOCwgMC4wNzAyNjg1NzEzNzY4MDA1NF0sIFsxNTk1MDkyNjYxLjA3NTM5MSwgNDk0MSwgMC4wNjI2MjU1NjQ2MzQ3OTk5Nl0sIFsxNTk1MDkyNjczLjkyNDQwNSwgNDk1NCwgMC4wNzEwMjQ1NDQ1MzcwNjc0MV0sIFsxNTk1MDkyNjgxLjUwMTg1MiwgNDk2MiwgMC4wNzQwMDQ2ODczNjg4Njk3OF0sIFsxNTk1MDkyNjkwLjA1NjczNywgNDk3MSwgMC4wNjY0NDgwODUwMTAwNTE3M10sIFsxNTk1MDkyNjkyLjk5NTM1NCwgNDk3NCwgMC4wODM2MjA1MTA5OTUzODgwM10sIFsxNTk1MDkyNjk0Ljk0NzI3MywgNDk3NiwgMC4wNjU1MDM2NjQzMTQ3NDY4Nl0sIFsxNTk1MDkyNjk1LjkzMTc2NywgNDk3NywgMC4wNjYzODkyMTc5NzI3NTU0M10sIFsxNTk1MDkyNzA5LjI5MzExMSwgNDk5MSwgMC4wNjY3MTMzMjU2NzkzMDIyMl0sIFsxNTk1MDkyNzE3LjA5NzkxOSwgNDk5OSwgMC4wNjAyNTU5MzcyNzgyNzA3Ml0sIFsxNTk1MDkyNzM5LjMxNjUyMSwgNTAyMSwgMC4wODM4MTQ3MTAzNzg2NDY4NV0sIFsxNTk1MDkyNzQ1LjIwOTA0OSwgNTAyNywgMC4wNzQ2MjU3MDA3MTIyMDM5OF0sIFsxNTk1MDkyNzQ4LjAwMzQzMywgNTAzMCwgMC4xMDc0OTE1MjMwMjc0MjAwNF0sIFsxNTk1MDkyNzU0Ljc0OTgxMywgNTAzNywgMC4wODA1MDU1MDUyMDQyMDA3NF0sIFsxNTk1MDkyNzY3LjM1MDMxNywgNTA1MCwgMC4wOTY5NTExNjQzMDUyMTAxMV0sIFsxNTk1MDkyNzY5LjIzNTExNSwgNTA1MiwgMC4wODQ0NjY2ODgzMzQ5NDE4Nl0sIFsxNTk1MDkyNzcwLjI4MzU5OSwgNTA1MywgMC4wOTY5OTY4MDY1NjE5NDY4N10sIFsxNTk1MDkyNzc2Ljk4MTI0LCA1MDYwLCAwLjEwOTM0NzgzNTE4MzE0MzYyXSwgWzE1OTUwOTI3OTQuMzMwMDQxLCA1MDc4LCAwLjA4NTAyMTY4OTUzNDE4NzMyXSwgWzE1OTUwOTI4MTAuMDYyODY4LCA1MDk0LCAwLjA4NTYxNDI2NDAxMTM4MzA2XSwgWzE1OTUwOTI4MTYuOTA1MjE2LCA1MTAxLCAwLjEwMTU1MTI5NDMyNjc4MjIzXSwgWzE1OTUwOTI4MjEuNjQ3Mjg0LCA1MTA2LCAwLjA3NzU3NTU3MTgzNTA0MTA1XSwgWzE1OTUwOTI4MjIuNjE3ODQ2LCA1MTA3LCAwLjA4NDM5NDY3ODQ3MzQ3MjZdLCBbMTU5NTA5MjgyOC40NTkxNTEsIDUxMTMsIDAuMTAyNTQyMDk0ODg2MzAyOTVdLCBbMTU5NTA5Mjg0MC45NDg0MDEsIDUxMjYsIDAuMDc4MzA1NzA2MzgxNzk3NzldLCBbMTU5NTA5Mjg0Mi44NzI5NDUsIDUxMjgsIDAuMTE5Nzk0MDc4MTcxMjUzMl0sIFsxNTk1MDkyODQ4Ljc3MjI4MSwgNTEzNCwgMC4xNjE0MjYzNjUzNzU1MTg4XSwgWzE1OTUwOTI4NzQuMTMwMDI1LCA1MTYwLCAwLjA2OTMxMzQyMTg0NTQzNjFdLCBbMTU5NTA5Mjg3OS4wNTY0NDEsIDUxNjUsIDAuMDcxMDgxOTU4NzExMTQ3MzFdLCBbMTU5NTA5Mjg5MS45MzU1MTksIDUxNzgsIDAuMDg2MjE5Njc1ODM4OTQ3M10sIFsxNTk1MDkyODk1LjgxMzY4NSwgNTE4MiwgMC4wNzEzNTM5MzQ3MDUyNTc0Ml0sIFsxNTk1MDkyOTEzLjA4MDg3OSwgNTIwMCwgMC4wNzgyOTk4MzUzMjQyODc0MV0sIFsxNTk1MDkyOTIwLjc1NTY2NSwgNTIwOCwgMC4wNjkxMzY1NTk5NjMyMjYzMl0sIFsxNTk1MDkyOTQzLjAzNzE0NCwgNTIzMSwgMC4xMTMzNjkwOTk3OTU4MTgzM10sIFsxNTk1MDkyOTQ1Ljg5NTgzNywgNTIzNCwgMC4wODY4ODA2Njg5OTc3NjQ1OV0sIFsxNTk1MDkyOTQ2LjgzMDcxOCwgNTIzNSwgMC4wNzk5MDg4NDAzNTgyNTczXSwgWzE1OTUwOTI5NTAuNzY4Mzk0LCA1MjM5LCAwLjEwNTM4MjU2MTY4MzY1NDc5XSwgWzE1OTUwOTI5NTEuNjg0NjE3LCA1MjQwLCAwLjExOTUzOTg3OTI2MjQ0NzM2XSwgWzE1OTUwOTI5NTUuNTgxMDY1LCA1MjQ0LCAwLjEwMzM0NDA5NzczMzQ5NzYyXSwgWzE1OTUwOTI5NzcuMDI4OTY2LCA1MjY2LCAwLjA4MDMwNjY0OTIwODA2ODg1XSwgWzE1OTUwOTI5OTkuNzg5MjUxLCA1Mjg5LCAwLjA4MjY1NjgxNTY0ODA3ODkyXSwgWzE1OTUwOTMwMTIuNTU1MTY2LCA1MzAyLCAwLjA3NDg3NzUwMDUzNDA1NzYyXSwgWzE1OTUwOTMwMjguMjI5MDM4LCA1MzE4LCAwLjA3MzI4OTg0MTQxMzQ5NzkyXSwgWzE1OTUwOTMwMzguNjQ5NTgsIDUzMjksIDAuMTAyMTYwMTkzMDI2MDY1ODNdLCBbMTU5NTA5MzA1NC41NDE2NDQsIDUzNDUsIDAuMDY1ODM3NTM5NzMyNDU2MjFdLCBbMTU5NTA5MzA1Ny4zNDUyMzUsIDUzNDgsIDAuMDcwOTE2NTcwNzIzMDU2OF0sIFsxNTk1MDkzMDY4LjA4MzE2LCA1MzU5LCAwLjA3NzkzMzQ5NzcyNjkxNzI3XSwgWzE1OTUwOTMwNjkuMDc4NzQzLCA1MzYwLCAwLjA3MTg0MjQ1NDM3MzgzNjUyXSwgWzE1OTUwOTMwNzEuOTI1NzY5LCA1MzYzLCAwLjA3MjEyMDUzOTg0NDAzNjFdLCBbMTU5NTA5MzA4OC4yMjE3NjgsIDUzODAsIDAuMDkwNDE5Mzc0NDA2MzM3NzRdLCBbMTU5NTA5MzA5Mi4xOTk2OTgsIDUzODQsIDAuMDg2MTQ2NzA0ODUyNTgxMDJdLCBbMTU5NTA5MzExMS43MTExMDYsIDU0MDQsIDAuMDcxODk1Nzg1NjI5NzQ5M10sIFsxNTk1MDkzMTEzLjY4NjYyMSwgNTQwNiwgMC4wOTYxNzMzMTYyNDAzMTA2N10sIFsxNTk1MDkzMTI3LjQwMTA5OSwgNTQyMCwgMC4wNjkzNTc5NDY1MTUwODMzMV0sIFsxNTk1MDkzMTMyLjM5Mjc2LCA1NDI1LCAwLjA2NjI3MTYyNTQ1OTE5NDE4XSwgWzE1OTUwOTMxNDUuOTEzNjY5LCA1NDM5LCAwLjA3MDU0MzA5NTQ2OTQ3NDc5XSwgWzE1OTUwOTMxNDYuODE4MDAzLCA1NDQwLCAwLjA2OTMxOTM1MjUwNzU5MTI1XSwgWzE1OTUwOTMxNDguNzY5MjQsIDU0NDIsIDAuMDYyNDI0NDgwOTE1MDY5NThdLCBbMTU5NTA5MzE1My41Njg3MjYsIDU0NDcsIDAuMDc5NjI5NzExODA2Nzc0MTRdLCBbMTU5NTA5MzE4MC42NjEwNSwgNTQ3NSwgMC4wODA3MTYwNTg2MTE4Njk4MV0sIFsxNTk1MDkzMTg5LjQxNjEzMiwgNTQ4NCwgMC4wODIwMDA1NTM2MDc5NDA2N10sIFsxNTk1MDkzMTk2LjE1NDAwMiwgNTQ5MSwgMC4wNzY2MDk4OTQ2MzMyOTMxNV0sIFsxNTk1MDkzMjAwLjA0MzM0OCwgNTQ5NSwgMC4wNzU0MzEzNjkyNDUwNTIzNF0sIFsxNTk1MDkzMjA1LjgzNjgzNywgNTUwMSwgMC4wNTU0NTc3MzcyOTY4MTk2OV0sIFsxNTk1MDkzMjExLjY1MTU0NCwgNTUwNywgMC4wODk0MzAxNjgyNzEwNjQ3Nl0sIFsxNTk1MDkzMjE2LjkxNjg2NSwgNTUxMiwgMC4wNzk4NjUxMzUyNTI0NzU3NF0sIFsxNTk1MDkzMjE5LjUxMDk1MywgNTUxNSwgMC4wNzc0NzM2Nzc2OTQ3OTc1Ml0sIFsxNTk1MDkzMjIxLjQ5NDA2MiwgNTUxNywgMC4wNzkyMDIwNzA4MzIyNTI1XSwgWzE1OTUwOTMyMzYuMDYxNzc2LCA1NTMyLCAwLjA4NTE4NjY5NzU0MjY2NzM5XSwgWzE1OTUwOTMyNDQuNzU0MzQ3LCA1NTQxLCAwLjA2ODIzMDg1MjQ4NDcwMzA2XSwgWzE1OTUwOTMyNTIuNjUxNjQ0LCA1NTQ5LCAwLjA4MjE2NjUzMDE5MTg5ODM1XSwgWzE1OTUwOTMyNjkuMzMxMzYxLCA1NTY2LCAwLjA3NDEzMDk1OTgwODgyNjQ1XSwgWzE1OTUwOTMyNzQuMzUxOTQzLCA1NTcxLCAwLjA3MDM5MjYwODY0MjU3ODEyXSwgWzE1OTUwOTMyNzYuMzMwOTk4LCA1NTczLCAwLjA4ODQ5NDczMjk3NTk1OTc4XSwgWzE1OTUwOTMyODguNDI5NDI2LCA1NTg1LCAwLjA2ODc4MjEzNTg0NDIzMDY1XSwgWzE1OTUwOTMyOTAuNTAwNDUxLCA1NTg3LCAwLjA4MTU3MjQyMDg5NTA5OTY0XSwgWzE1OTUwOTMyOTYuMzAwMjE1LCA1NTkzLCAwLjA3NzMwOTY5Nzg2NjQzOTgyXSwgWzE1OTUwOTMzMDguMTE0NTU5LCA1NjA1LCAwLjA2Mzg4NjMwNzE3OTkyNzgzXSwgWzE1OTUwOTMzMTIuOTUwMTM3LCA1NjEwLCAwLjA2NTQ2ODM4NTgxNTYyMDQyXSwgWzE1OTUwOTMzMjIuNDcxMzMzLCA1NjIwLCAwLjA3OTM1MDU2MDkwMzU0OTJdLCBbMTU5NTA5MzMzMi4yNDYyNzYsIDU2MzAsIDAuMDc5NzU5OTEwNzAyNzA1MzhdLCBbMTU5NTA5MzM0OC44OTc2MDcsIDU2NDcsIDAuMDU1NjM0MzA0ODgxMDk1ODg2XSwgWzE1OTUwOTMzNTkuOTk5NjU2LCA1NjU4LCAwLjA2OTM2NzM5Mzg1MTI4MDIxXSwgWzE1OTUwOTMzNjEuOTYzNzIyLCA1NjYwLCAwLjA3Njc0NzU0NDEwOTgyMTMyXSwgWzE1OTUwOTMzNjUuOTkyNzgxLCA1NjY0LCAwLjA3NjEwMzE4ODA5NzQ3Njk2XSwgWzE1OTUwOTMzNzcuNzU2MzQxLCA1Njc2LCAwLjA2NjMxMTg5NTg0NzMyMDU2XSwgWzE1OTUwOTMzODAuNjc5NTk1LCA1Njc5LCAwLjA3MjkyMDcwMjM5NzgyMzMzXSwgWzE1OTUwOTM0MjEuNDU2ODYsIDU3MjAsIDAuMDU1MjkyMzQxODU4MTQ4NTc1XSwgWzE1OTUwOTM0MjQuNDIyMDE1LCA1NzIzLCAwLjA3Nzk3NDc4ODg0NDU4NTQyXSwgWzE1OTUwOTM0MjguNDc5NTA5LCA1NzI3LCAwLjA4NzkxMjE2NDYyODUwNTddLCBbMTU5NTA5MzQ0Mi41Nzc0MDMsIDU3NDEsIDAuMDYyMjAwNTk4NDE4NzEyNjE2XSwgWzE1OTUwOTM0NTMuNjgwNDg1LCA1NzUyLCAwLjA3NTMwNjMzMzYwMTQ3NDc2XSwgWzE1OTUwOTM0NjAuNzU1NDM0LCA1NzU5LCAwLjA2ODU4NzI1MTAwNzU1NjkyXSwgWzE1OTUwOTM0NjcuNjIyODc2LCA1NzY2LCAwLjA3MDkyMjM2NzI3NDc2MTJdLCBbMTU5NTA5MzQ3Ny43NDc0MDMsIDU3NzYsIDAuMDcyNTgwMTgxMDYyMjIxNTNdLCBbMTU5NTA5MzQ4MC43NTk2MiwgNTc3OSwgMC4wODM5OTkyNzYxNjExOTM4NV0sIFsxNTk1MDkzNDg1LjYyMTUxMiwgNTc4NCwgMC4wNjAxNTk4MjEwNjMyODAxMDZdLCBbMTU5NTA5MzQ5MC42MjA2LCA1Nzg5LCAwLjA2MzE2MjE3MDM1MDU1MTZdLCBbMTU5NTA5MzQ5Ni42NjMxMTIsIDU3OTUsIDAuMDc2NDk2MDQyMzExMTkxNTZdLCBbMTU5NTA5MzUwOC40NDk4MzMsIDU4MDcsIDAuMDU5NzE3Nzg5MjkyMzM1NTFdLCBbMTU5NTA5MzUwOS40MzEyNTIsIDU4MDgsIDAuMDk4MTE5NDc0OTQ3NDUyNTVdLCBbMTU5NTA5MzUyNi4xMTQzOTksIDU4MjUsIDAuMDY5NTQzOTY1MTYwODQ2NzFdLCBbMTU5NTA5MzUyOS4xNzE4MjQsIDU4MjgsIDAuMDYwNDQ2NjgzMzE3NDIyODddLCBbMTU5NTA5MzUzNi4xNTYwOCwgNTgzNSwgMC4wNzAxODg4NDI3MTM4MzI4Nl0sIFsxNTk1MDkzNTQ3Ljc1MzEwOCwgNTg0NywgMC4wNjY1MzU2NTE2ODM4MDczN10sIFsxNTk1MDkzNTYyLjc0MjM3NywgNTg2MiwgMC4wNjI2Mjg1MjI1MTUyOTY5NF0sIFsxNTk1MDkzNTY0LjczODA4OCwgNTg2NCwgMC4wODI4OTMyNTk4MjMzMjIzXSwgWzE1OTUwOTM1NzEuNzM1NTU3LCA1ODcxLCAwLjA2Mzk3NjM5OTYwMDUwNTgzXSwgWzE1OTUwOTM1ODEuODU4NzMyLCA1ODgxLCAwLjA4Mjg4MzgxOTkzNzcwNl0sIFsxNTk1MDkzNTkwLjE0OTU4MiwgNTg4OSwgMC4wNzE2MjczODU5MTQzMjU3MV0sIFsxNTk1MDkzNTkyLjE2MTYyNCwgNTg5MSwgMC4wNzA1OTA3NzE3MzQ3MTQ1MV0sIFsxNTk1MDkzNTk0LjAyNzQzMSwgNTg5MywgMC4wNzUwMjM0MDUyNTM4ODcxOF0sIFsxNTk1MDkzNTk5LjA1NzAxMiwgNTg5OCwgMC4wOTcxNjc2NDA5MjQ0NTM3NF0sIFsxNTk1MDkzNjA4LjIwMzU4MSwgNTkwNywgMC4wNzgzOTE2NjM3MzAxNDQ1XSwgWzE1OTUwOTM2MTguMjQwODI2LCA1OTE3LCAwLjA2MTYwNTUyMDU0NjQzNjMxXSwgWzE1OTUwOTM2MTkuMjM0NDYsIDU5MTgsIDAuMDY5Mzk4NjkzNzQwMzY3ODldLCBbMTU5NTA5MzYyOS4yODU3NjYsIDU5MjgsIDAuMDY4Nzc2NzkzNzc3OTQyNjZdLCBbMTU5NTA5MzYzMy4xNjExMjksIDU5MzIsIDAuMDY1Nzk2MjI2MjYzMDQ2MjZdLCBbMTU5NTA5MzYzNC4yMDExMjEsIDU5MzMsIDAuMDY2NjU0MzY5MjM1MDM4NzZdLCBbMTU5NTA5MzY1My40OTI3NTEsIDU5NTIsIDAuMDc1Mjg1Nzc3NDQ5NjA3ODVdLCBbMTU5NTA5MzY1OC40ODgwNzMsIDU5NTcsIDAuMDg0MTQyNDkxMjIxNDI3OTJdLCBbMTU5NTA5MzY2MC40NTUyMTgsIDU5NTksIDAuMDcwNTM5MDk0NTA3Njk0MjRdLCBbMTU5NTA5MzY2NC4zOTA1NiwgNTk2MywgMC4wNzk5ODIyODA3MzEyMDExN10sIFsxNTk1MDkzNjczLjI1NjQ3MywgNTk3MiwgMC4wNjkyMTk5Mzk0MTA2ODY0OV0sIFsxNTk1MDkzNjkxLjAwODU5NywgNTk5MCwgMC4wODQ5MjIyMzkxODQzNzk1OF0sIFsxNTk1MDkzNzEwLjY4NTAyMiwgNjAxMCwgMC4wNjUzNDYyMDM3NDQ0MTE0N10sIFsxNTk1MDkzNzE1LjQ4NDk1OSwgNjAxNSwgMC4wOTE4OTU1MDU3ODU5NDIwOF0sIFsxNTk1MDkzNzI0LjUyNDY0NywgNjAyNCwgMC4wNzcxMzIxNjU0MzE5NzYzMl0sIFsxNTk1MDkzNzMwLjU4NDYyOCwgNjAzMCwgMC4wNjE4Njc3NjIzNTY5OTY1MzZdLCBbMTU5NTA5MzczMS41NjY1NTksIDYwMzEsIDAuMDU3NzIxNjY2OTkxNzEwNjZdLCBbMTU5NTA5MzczMi41NDgyNTYsIDYwMzIsIDAuMDY3NDM5ODkxMzk3OTUzMDNdLCBbMTU5NTA5MzczNS42MDU1NzIsIDYwMzUsIDAuMDY5NjM4NjMyMjM3OTExMjJdLCBbMTU5NTA5MzczOC41NzgwNywgNjAzOCwgMC4wODA3MDc4NzA0MjM3OTM3OV0sIFsxNTk1MDkzNzYwLjY3OTkxMywgNjA2MCwgMC4wNjU1OTQ2MDYxMDE1MTI5MV0sIFsxNTk1MDkzNzc3LjMyNDMyMywgNjA3NywgMC4wNTUzMjQyMTE3MTY2NTE5MTddLCBbMTU5NTA5Mzc3OC4yNzE3NjIsIDYwNzgsIDAuMDU5NjI4NTEyNzEwMzMyODddLCBbMTU5NTA5Mzc4Mi40NTk0NDcsIDYwODIsIDAuMDgzNjc2ODY3MTg3MDIzMTZdLCBbMTU5NTA5Mzc4Ny40OTg3NjYsIDYwODcsIDAuMDY4NzQzNDc0NzgxNTEzMjFdLCBbMTU5NTA5Mzc5NC42ODg1NDIsIDYwOTQsIDAuMDcwNjc3NjM4MDUzODk0MDRdLCBbMTU5NTA5MzgwMy40Mzk5NzUsIDYxMDMsIDAuMDYzMzc5ODgzNzY2MTc0MzJdLCBbMTU5NTA5MzgwNS40Mjk1NTEsIDYxMDUsIDAuMDY0NjQ1MzY0ODgwNTYxODNdLCBbMTU5NTA5MzgxNS44MTY2NTgsIDYxMTUsIDAuMDYzMDU5Njk1MDY1MDIxNTFdLCBbMTU5NTA5MzgyMS4zNDY1ODksIDYxMjEsIDAuMDYzMDg3NDcwODI5NDg2ODVdLCBbMTU5NTA5MzgyMy4zMTI0MTksIDYxMjMsIDAuMDU5NzU5NTk4MjI1MzU1MTVdLCBbMTU5NTA5MzgyOS4yNjQ5MjUsIDYxMjksIDAuMDY4NjkyODQwNjM1Nzc2NTJdLCBbMTU5NTA5MzgzMS4zNjc4MzYsIDYxMzEsIDAuMDc5NjQ0NDU2NTA1Nzc1NDVdLCBbMTU5NTA5MzgzMy40MTEyMTMsIDYxMzMsIDAuMDcyNDkzMjcwMDM5NTU4NDFdLCBbMTU5NTA5Mzg0NS4zMzExNjEsIDYxNDUsIDAuMDgzMDQ2Nzc5MDM2NTIxOTFdLCBbMTU5NTA5Mzg0Ny4zMzMzMDksIDYxNDcsIDAuMDY2ODczMjgyMTk0MTM3NTddLCBbMTU5NTA5Mzg0OS4yNjMyOSwgNjE0OSwgMC4wNTYzNTI1OTMwMDQ3MDM1Ml0sIFsxNTk1MDkzODcyLjI2NDM3NSwgNjE3MiwgMC4wNjE4OTQwNDA1NTQ3NjE4OV0sIFsxNTk1MDkzODgxLjQwNDIyOSwgNjE4MSwgMC4wNjExMTMzMjAyOTEwNDIzM10sIFsxNTk1MDkzODg0LjM5NTQ4NSwgNjE4NCwgMC4wNjQxMzQzNTE5MDkxNjA2MV0sIFsxNTk1MDkzOTAwLjM4OTU1NiwgNjIwMCwgMC4wNTE5NDg4Mzc5MzU5MjQ1M10sIFsxNTk1MDkzOTEwLjQ0MTQ0NiwgNjIxMCwgMC4wNzYyNjczNzY1NDIwOTEzN10sIFsxNTk1MDkzOTExLjQwOTM5OSwgNjIxMSwgMC4wNzgzODE3MTcyMDUwNDc2MV0sIFsxNTk1MDkzOTEzLjM1NDE1NCwgNjIxMywgMC4wNjQ2ODI2MjUyMzQxMjcwNF0sIFsxNTk1MDkzOTE5LjU5NzM0LCA2MjE5LCAwLjA2Njg4NTE5NTY3MjUxMjA1XSwgWzE1OTUwOTM5MjUuMzE1MDY0LCA2MjI1LCAwLjA1NjUyNDQyOTQ3MDMwMDY3NF0sIFsxNTk1MDkzOTMyLjM1ODAzNywgNjIzMiwgMC4wNzA0MjM1MzYwMDI2MzU5Nl0sIFsxNTk1MDkzOTM3LjM4ODE1OCwgNjIzNywgMC4wNjYyMTMxNjA3NTMyNTAxMl0sIFsxNTk1MDkzOTQ0LjU0MTU4NCwgNjI0NCwgMC4wOTYzNjI1OTgyNDAzNzU1Ml0sIFsxNTk1MDkzOTUwLjM1ODg2MywgNjI1MCwgMC4wNjM3NzEwNjkwNDk4MzUyXSwgWzE1OTUwOTM5NjIuOTExOTA4LCA2MjYzLCAwLjA3ODUzOTgwMzYyNDE1MzE0XSwgWzE1OTUwOTM5NjkuOTIwMzIyLCA2MjcwLCAwLjA2MDA1NTI4MTk2NjkyNDY3XSwgWzE1OTUwOTM5ODkuMTI2MDk5LCA2Mjg5LCAwLjA2ODY1NzE4MjE1NzAzOTY0XSwgWzE1OTUwOTQwMDguOTAyMzY3LCA2MzA5LCAwLjA1NDQ2MTAzMjE1MjE3NTldLCBbMTU5NTA5NDAxMi4xMzc0MjQsIDYzMTIsIDAuMDQ3NjA1MjE2NTAzMTQzMzFdLCBbMTU5NTA5NDAxNS45NDQ1NSwgNjMxNiwgMC4wOTIyMzQ4MjAxMjc0ODcxOF0sIFsxNTk1MDk0MDE2Ljk1MTMyMywgNjMxNywgMC4wNzczMTM1NDIzNjYwMjc4M10sIFsxNTk1MDk0MDIzLjk2MzY5NiwgNjMyNCwgMC4wNjMxNjMyMzU3ODM1NzY5N10sIFsxNTk1MDk0MDQwLjU3Mzc4NCwgNjM0MSwgMC4wNjA1OTQ5NDI0MjA3MjEwNTRdLCBbMTU5NTA5NDA1MS42MDcxNjQsIDYzNTIsIDAuMDczMzkzNjIwNTUwNjMyNDhdLCBbMTU5NTA5NDA2Mi44MDM2NTgsIDYzNjMsIDAuMDYwODcyMzQ5ODg4MDg2MzJdLCBbMTU5NTA5NDA2OS43OTM0NDksIDYzNzAsIDAuMDczNTAzMzk3NDA1MTQ3NTVdLCBbMTU5NTA5NDA3NS41OTI4NjksIDYzNzYsIDAuMDY4NjUzMDM5NjM0MjI3NzVdLCBbMTU5NTA5NDA5OS43MjI0OTcsIDY0MDAsIDAuMDcyMDc1NjUwMDk1OTM5NjRdLCBbMTU5NTA5NDEyMi41MTI4MTUsIDY0MjMsIDAuMDU4ODkwNzQ1MDQzNzU0NThdLCBbMTU5NTA5NDE0Ni41NzIxMzQsIDY0NDcsIDAuMDU2MTA5MTUyNzM0Mjc5NjNdLCBbMTU5NTA5NDE1NC41MDcxMjMsIDY0NTUsIDAuMDgxMjg1NTM2Mjg5MjE1MDldLCBbMTU5NTA5NDE1OC41MTcwNCwgNjQ1OSwgMC4wNTQ1Njc4OTU4Mjk2Nzc1OF0sIFsxNTk1MDk0MTcxLjczNjY0NywgNjQ3MiwgMC4wNjgwODM5NDkzODcwNzM1Ml0sIFsxNTk1MDk0MTgyLjkzOTYwNSwgNjQ4MywgMC4wNjgwODgwMzk3NTU4MjEyM10sIFsxNTk1MDk0MTg2Ljk0OTM2NiwgNjQ4NywgMC4wNzEwMjQ5MDIxNjQ5MzYwN10sIFsxNTk1MDk0MTk0Ljg1NTI2MywgNjQ5NSwgMC4wNzYxNTk5NTQwNzEwNDQ5Ml0sIFsxNTk1MDk0MTk1Ljg3NDc1NSwgNjQ5NiwgMC4wNjE2MDQzNDMzNTQ3MDE5OTZdLCBbMTU5NTA5NDE5OS44NzYwNjMsIDY1MDAsIDAuMDc0NjU0NTc5MTYyNTk3NjZdLCBbMTU5NTA5NDIwOC43NjM2NzUsIDY1MDksIDAuMDY5Mjg2NTQwMTUwNjQyNF0sIFsxNTk1MDk0MjA5LjcxNjczOSwgNjUxMCwgMC4wNTcxMTI4ODM3NzY0MjYzMTVdLCBbMTU5NTA5NDIyMC4wNDIwNDEsIDY1MjAsIDAuMDU4NzU5ODQyMDY3OTU2OTI0XSwgWzE1OTUwOTQyMjEuMDM4ODEyLCA2NTIxLCAwLjA3MDA1MzU1NTA3MTM1MzkxXSwgWzE1OTUwOTQyMjIuMDE4NDEsIDY1MjIsIDAuMDU3Mzc2OTk5NDA4MDA2NjddLCBbMTU5NTA5NDIyOS45MjAwNzksIDY1MzAsIDAuMDU2MzgyNDg4NDU5MzQ4NjhdLCBbMTU5NTA5NDIzMy45NzE2OTEsIDY1MzQsIDAuMDY0ODE1OTE2MTIxMDA2MDFdLCBbMTU5NTA5NDI1MC4xOTM2MDYsIDY1NTAsIDAuMDU1OTE4MzM5NjM5OTAyMTE1XSwgWzE1OTUwOTQyNzQuMDk3NjgxLCA2NTc0LCAwLjA2NDc1Mzk2NDU0MzM0MjU5XSwgWzE1OTUwOTQyNzguMDkwNDQ1LCA2NTc4LCAwLjA1ODc1ODQ4MjMzNjk5Nzk4Nl0sIFsxNTk1MDk0MjgwLjA0ODY4MiwgNjU4MCwgMC4wNjk5Mzc0Njc1NzUwNzMyNF0sIFsxNTk1MDk0MjgxLjA4MDg4NywgNjU4MSwgMC4wNjIwMTIwMTY3NzMyMjM4OF0sIFsxNTk1MDk0Mjg0LjI5MzEyMywgNjU4NCwgMC4wNzIzMDE4MTk5MjA1Mzk4Nl0sIFsxNTk1MDk0MjkzLjE2NDQ0MywgNjU5MywgMC4wNTc0Mzg0NDA2MjA4OTkyXSwgWzE1OTUwOTQyOTQuMTUyNTE0LCA2NTk0LCAwLjA2MTk5MTY1NDMzNjQ1MjQ4NF0sIFsxNTk1MDk0MzAyLjk4Mjc4NywgNjYwMywgMC4wNTczNjEwMjE2Mzc5MTY1NjVdLCBbMTU5NTA5NDMwNi4wMjY4ODksIDY2MDYsIDAuMDU0MjMyNTkzNjI1NzgzOTJdLCBbMTU5NTA5NDMxNi4wMDMxMjYsIDY2MTYsIDAuMDY3ODc0ODYzNzQzNzgyMDRdLCBbMTU5NTA5NDMyMS4wOTc0MTIsIDY2MjEsIDAuMDc0NDI1MjU3NzQyNDA0OTRdLCBbMTU5NTA5NDM1Ny4zOTEzMTgsIDY2NTcsIDAuMDgwMzkwMTU1MzE1Mzk5MTddLCBbMTU5NTA5NDM2Ni4yNTM5NiwgNjY2NiwgMC4wNjg3NDM0ODIyMzIwOTM4MV0sIFsxNTk1MDk0MzY4LjI0ODU5MywgNjY2OCwgMC4wNTg4Mjk1OTA2NzgyMTUwM10sIFsxNTk1MDk0MzcyLjI1MjQ3LCA2NjcyLCAwLjA4Mjg3MTY5Nzg0MzA3NDhdLCBbMTU5NTA5NDM3OC4zNTY0MDYsIDY2NzgsIDAuMDcxNTA0MjI3ODE3MDU4NTZdLCBbMTU5NTA5NDM4MS4zNDMwOTgsIDY2ODEsIDAuMDQzNDg0NDU2ODM3MTc3MjhdLCBbMTU5NTA5NDM4OC40ODQ2MTEsIDY2ODgsIDAuMDgyNDg3ODU4ODMxODgyNDhdLCBbMTU5NTA5NDM5MS40NzQxMDMsIDY2OTEsIDAuMDc1NzQ1MDc1OTQxMDg1ODJdLCBbMTU5NTA5NDM5Ni4zNzgwMTQsIDY2OTYsIDAuMDY2OTQ5MjQwODYzMzIzMjFdLCBbMTU5NTA5NDM5OS4zMzk2NDgsIDY2OTksIDAuMDUwNjUwODgzNDY2MDA1MzI1XSwgWzE1OTUwOTQ0MDcuNTQ3ODE0LCA2NzA3LCAwLjA1NjIyNjEzMDU3NDk0MTYzNV0sIFsxNTk1MDk0NDExLjY3ODk5MywgNjcxMSwgMC4wNTQ4OTEzNzAyMzY4NzM2M10sIFsxNTk1MDk0NDE1LjczOTg4OCwgNjcxNSwgMC4wNTcyNzQyNzA4MDI3MzYyOF0sIFsxNTk1MDk0NDI1LjU3NTUzNiwgNjcyNSwgMC4wNjIyMTgzNzkyMjkzMDcxNzVdLCBbMTU5NTA5NDQyNi41NDQ1MzgsIDY3MjYsIDAuMDUwMjkwODM0MTU4NjU4OThdLCBbMTU5NTA5NDQzOC41NDYzNDcsIDY3MzgsIDAuMDY1OTQ2NDY3MjIwNzgzMjNdLCBbMTU5NTA5NDQ0Mi41MjM3MTIsIDY3NDIsIDAuMDYwNjQ4MTQzMjkxNDczMzldLCBbMTU5NTA5NDQ0OS41MDIzNTksIDY3NDksIDAuMDU5MzIzNTYwNDQ2NTAwNzhdLCBbMTU5NTA5NDQ1My42MDkwMDksIDY3NTMsIDAuMDYxMTAzMzE3ODg2NTkwOTZdLCBbMTU5NTA5NDQ2NS4wODA2ODksIDY3NjQsIDAuMDcxNDIxOTQzNjA0OTQ2MTRdLCBbMTU5NTA5NDQ3Ny4wNTk0NzUsIDY3NzYsIDAuMDY0ODkzMzM1MTAzOTg4NjVdLCBbMTU5NTA5NDQ5My4zMjM1NzIsIDY3OTIsIDAuMDY0MjIyOTk4OTE3MTAyODFdLCBbMTU5NTA5NDUxOC43ODc3OCwgNjgxNywgMC4wNjg1NjQwNzk3MDE5MDA0OF0sIFsxNTk1MDk0NTMzLjcyNjU3NCwgNjgzMiwgMC4wNjE2MTI0MzQ2ODUyMzAyNTVdLCBbMTU5NTA5NDU0MS45NTI0ODUsIDY4NDAsIDAuMDQ3Mjk5MDI3NDQyOTMyMTNdLCBbMTU5NTA5NDU0OC4wNzU4MzgsIDY4NDYsIDAuMDYyMTE5NDc2NDk3MTczMzFdLCBbMTU5NTA5NDU1Mi4yNTM1MzYsIDY4NTAsIDAuMDY1NTA2NDQzMzgxMzA5NTFdLCBbMTU5NTA5NDU1Ni4yMzYzMDQsIDY4NTQsIDAuMDYxMjA3NzM3NzczNjU2ODQ1XSwgWzE1OTUwOTQ1NjQuMzY0NTk0LCA2ODYyLCAwLjA2MzEwMTQ1NTU2OTI2NzI3XSwgWzE1OTUwOTQ1NzAuMjAyMzU5LCA2ODY4LCAwLjA2MDY2MTg4NTg4NzM4NDQxNV0sIFsxNTk1MDk0NTcxLjIwNzA5OSwgNjg2OSwgMC4wNjE5NDM5MTEwMTU5ODczOTZdLCBbMTU5NTA5NDU4OC40NjQ0NTYsIDY4ODYsIDAuMDcxMTI1MjA5MzMxNTEyNDVdLCBbMTU5NTA5NDU5Ny40MDUzMTQsIDY4OTUsIDAuMDQ2NDcyNjY4NjQ3NzY2MTFdLCBbMTU5NTA5NDYwMy41OTE0NjQsIDY5MDEsIDAuMDY1OTE3ODQyMDkwMTI5ODVdLCBbMTU5NTA5NDYxMS42OTczNDksIDY5MDksIDAuMDcwNjk0MjkwMTAxNTI4MTddLCBbMTU5NTA5NDYxNC43ODc5NDgsIDY5MTIsIDAuMDQ4ODEwNDk2OTI2MzA3NjhdLCBbMTU5NTA5NDYxOC43NjgwMDUsIDY5MTYsIDAuMDU3NzQyNTY5NTk1NTc1MzNdLCBbMTU5NTA5NDYyOC42Mzc5ODUsIDY5MjYsIDAuMDU2OTE4NjM1OTY0MzkzNjE2XSwgWzE1OTUwOTQ2MzYuNTg0MzA2LCA2OTM0LCAwLjA2NzMwMTI2NTg5NTM2NjY3XSwgWzE1OTUwOTQ2MzkuNjA2Njk1LCA2OTM3LCAwLjA0OTI1MzA1MDIzNzg5NDA2XSwgWzE1OTUwOTQ2NTMuNTc3NzMzLCA2OTUxLCAwLjA1Mzg3Mjk0NjY0OTc4OTgxXSwgWzE1OTUwOTQ2NTcuNjg0MDI1LCA2OTU1LCAwLjA0OTkzMTQ3Nzc1NTMwODE1XSwgWzE1OTUwOTQ2NjUuODA0Njc5LCA2OTYzLCAwLjA2MjA1NTI1MjQ5MjQyNzgyNl0sIFsxNTk1MDk0NjY4Ljc4NDQ2OSwgNjk2NiwgMC4wNTIzMjA4NzE1MDIxNjEwMjZdLCBbMTU5NTA5NDY3NC45NTIzODEsIDY5NzIsIDAuMDY3NDIwODk5ODY4MDExNDddLCBbMTU5NTA5NDY5My40MTYyODYsIDY5OTAsIDAuMDU2OTI5MDEwODk3ODc0ODNdLCBbMTU5NTA5NDY5NS40MDAwNDYsIDY5OTIsIDAuMDYxODU2MTAyMTk4MzYyMzVdLCBbMTU5NTA5NDcxMy40MzU4MjgsIDcwMTAsIDAuMDcyNjM0ODE2MTY5NzM4NzddLCBbMTU5NTA5NDcxNy40NzYyMTcsIDcwMTQsIDAuMDY4OTg4NTQ2NzI5MDg3ODNdLCBbMTU5NTA5NDcyMC42NTEyNjgsIDcwMTcsIDAuMDYwMTQ5MzM4MDk2MzgwMjM0XSwgWzE1OTUwOTQ3MzUuOTgwNTc2LCA3MDMyLCAwLjA2MzQ4ODE1NTYwMzQwODgxXSwgWzE1OTUwOTQ3MzkuMDQwMjYxLCA3MDM1LCAwLjA1NzMzMzM5ODYxMDM1MzQ3XSwgWzE1OTUwOTQ3NDIuODc1MjMyLCA3MDM5LCAwLjA1ODM5MTk2NTkyNTY5MzUxXSwgWzE1OTUwOTQ3NDkuOTkwMTMzLCA3MDQ2LCAwLjA1MzU5MTAyNzg1NTg3MzExXSwgWzE1OTUwOTQ3NjIuODQyMzI2LCA3MDU5LCAwLjA2ODU4MzY0NDkyNjU0OF0sIFsxNTk1MDk0NzY4LjgwMDg5OSwgNzA2NSwgMC4wODE5MDQ4NTA5MDAxNzMxOV0sIFsxNTk1MDk0NzgyLjk1ODY4NCwgNzA3OSwgMC4wODEwNTcyNDMwNDkxNDQ3NF0sIFsxNTk1MDk0Nzk0Ljk2NTU2MSwgNzA5MSwgMC4wNTc1MDI1NDkxNDE2NDU0M10sIFsxNTk1MDk0ODAxLjk0Mzg3OSwgNzA5OCwgMC4wNDcwNzc1NTg5MzQ2ODg1N10sIFsxNTk1MDk0ODA5Ljk5MzE1NiwgNzEwNiwgMC4wNzQ2MjUwNDUwNjExMTE0NV0sIFsxNTk1MDk0ODE4LjEwNzgxMiwgNzExNCwgMC4wODY5NTYzMjIxOTMxNDU3NV0sIFsxNTk1MDk0ODE5LjE3MDExMywgNzExNSwgMC4wNjY5NTg3OTk5NTgyMjkwNl0sIFsxNTk1MDk0ODI0LjEyMjM1MSwgNzEyMCwgMC4wNTIyMTkzMjM4MTM5MTUyNV0sIFsxNTk1MDk0ODI4LjIzNjg3NiwgNzEyNCwgMC4wNTY4OTk1MTc3NzQ1ODE5MV0sIFsxNTk1MDk0ODQxLjQyNjY1NCwgNzEzNywgMC4wNjM1OTQxODQ4MTU4ODM2NF0sIFsxNTk1MDk0ODQ1LjgxNDYwNSwgNzE0MSwgMC4wNjc5ODM1MDgxMTAwNDYzOV0sIFsxNTk1MDk0ODU5LjYwNjI5NywgNzE1NSwgMC4wNjU4ODA0OTIzMjk1OTc0N10sIFsxNTk1MDk0ODcxLjUxNDk2MiwgNzE2NywgMC4wNzEzNjY4NTQwMTIwMTI0OF0sIFsxNTk1MDk0ODcyLjU3MTQyNiwgNzE2OCwgMC4wNTQwMjE5MDIzODIzNzM4MV0sIFsxNTk1MDk0ODc5LjY3OTEyNiwgNzE3NSwgMC4wNjIyNzM3Mjk1OTI1NjE3Ml0sIFsxNTk1MDk0ODg3LjgzODAwOSwgNzE4MywgMC4wNjA3NDk4OTk1OTU5NzU4NzZdLCBbMTU5NTA5NDg5My44MTI3NDYsIDcxODksIDAuMDY5NDAyOTYyOTIzMDQ5OTNdLCBbMTU5NTA5NDg5OS43ODYyMzUsIDcxOTUsIDAuMDU0OTk4NDQ5OTgxMjEyNjE2XSwgWzE1OTUwOTQ5MDYuOTAzODE4LCA3MjAyLCAwLjA1NjYzMzk4MjgwNzM5Nzg0XSwgWzE1OTUwOTQ5MDguODk2MDcsIDcyMDQsIDAuMDU4Mjk2ODI1NzM2NzYxMDldLCBbMTU5NTA5NDkxOC4wMTUxNjYsIDcyMTMsIDAuMDQ4NjEzMzU4Mjg5MDAzMzddLCBbMTU5NTA5NDkyMC4wNzM0MjgsIDcyMTUsIDAuMDY4NTQ3Njk1ODc1MTY3ODVdLCBbMTU5NTA5NDkyMS4wMjM2MDcsIDcyMTYsIDAuMDU1MDM0NjQxMTc2NDYyMTddLCBbMTU5NTA5NDk0MC4yNzczMDgsIDcyMzUsIDAuMDU3MDE3OTgyMDA2MDczXSwgWzE1OTUwOTQ5NDMuMjU3NjQxLCA3MjM4LCAwLjA3NDk4NjUyNDg3OTkzMjRdLCBbMTU5NTA5NDk1Mi41MDY0NTIsIDcyNDcsIDAuMDU1Nzg4MTMzMjkzMzkwMjc0XSwgWzE1OTUwOTQ5NjUuNjM2NzU1LCA3MjYwLCAwLjA1NjA4MTk4NDE5MjEzMjk1XSwgWzE1OTUwOTQ5NzYuOTc5NjA5LCA3MjcxLCAwLjA1MDIxMTc5ODM5OTY4NjgxXSwgWzE1OTUwOTQ5ODAuMDExNDM1LCA3Mjc0LCAwLjA1MjQ2MTUwNDkzNjIxODI2XSwgWzE1OTUwOTQ5OTAuMTQyNTAxLCA3Mjg0LCAwLjA1NjEwOTU2NjI0MTUwMjc2XSwgWzE1OTUwOTUwMDYuNTEwNzI0LCA3MzAwLCAwLjA2ODY4ODI0MzYyNzU0ODIyXSwgWzE1OTUwOTUwMTcuNTg4OTM5LCA3MzExLCAwLjA3ODgzNzczNzQ0MTA2MjkzXSwgWzE1OTUwOTUwMjAuOTc5Mzk0LCA3MzE0LCAwLjA3ODc3Mjg2NTIzNTgwNTUxXSwgWzE1OTUwOTUwMzUuNDU3MTQ2LCA3MzI5LCAwLjA2MTMzMTY0MDkyODk4MzY5XSwgWzE1OTUwOTUwNDUuNjY5MDQ0LCA3MzM5LCAwLjA0OTM5MjY0ODA0MTI0ODMyXSwgWzE1OTUwOTUwNDYuNjQxNDUzLCA3MzQwLCAwLjA1NjcwNjAyOTkyMTc3MDA5Nl0sIFsxNTk1MDk1MDUxLjgzNTQzNCwgNzM0NSwgMC4wNTgwMTE4MjYxMjc3Njc1Nl0sIFsxNTk1MDk1MDUyLjg4MDU2OSwgNzM0NiwgMC4wNjQzMDUyMTYwNzM5ODk4N10sIFsxNTk1MDk1MDU4LjA5MjA3MiwgNzM1MSwgMC4wNTM1MDExODEzMDQ0NTQ4XSwgWzE1OTUwOTUwNjAuMTExMTE5LCA3MzUzLCAwLjA2NDA5ODQ1NTAxMTg0NDY0XSwgWzE1OTUwOTUwNjQuMTg5OTY5LCA3MzU3LCAwLjA0ODU2NjcxMDIwMzg4NjAzXSwgWzE1OTUwOTUwNjUuMjU1OTE4LCA3MzU4LCAwLjA2Nzc5MTA1OTYxMzIyNzg0XSwgWzE1OTUwOTUwNjYuMzA5NjA0LCA3MzU5LCAwLjA1NDk2MTcyNjA2OTQ1MDM4XSwgWzE1OTUwOTUwODEuNDMxNDM1LCA3Mzc0LCAwLjA2ODAyMDAzODMwNjcxMzFdLCBbMTU5NTA5NTA4OC42NjM0LCA3MzgxLCAwLjA0MDkwNTU1MDEyMjI2MTA1XSwgWzE1OTUwOTUwODkuNjg4MDMzLCA3MzgyLCAwLjA1MTY5ODA5OTgyMTgwNTk1NF0sIFsxNTk1MDk1MDkzLjY2NDkwOSwgNzM4NiwgMC4wNzAzMTYwMDkyMjM0NjExNV0sIFsxNTk1MDk1MDk1LjcwMzk4MywgNzM4OCwgMC4wNDYyODI3NDk2MjMwNjAyMjZdLCBbMTU5NTA5NTEwNC45Nzk3ODEsIDczOTcsIDAuMTM0NDU5Njc0MzU4MzY3OTJdLCBbMTU5NTA5NTEwOS4wMDg3ODEsIDc0MDEsIDAuMDY1MDQzOTE4Nzg4NDMzMDddLCBbMTU5NTA5NTExMS45ODMxMzgsIDc0MDQsIDAuMDU3MTAwMDk0ODU0ODMxNjk2XSwgWzE1OTUwOTUxMzguNjk1NjMxLCA3NDMwLCAwLjA2MjEzMDk1Nzg0MTg3MzE3XSwgWzE1OTUwOTUxMzkuNzEzMjA0LCA3NDMxLCAwLjA2MjE0MjU4NDQ3Mjg5NDY3XSwgWzE1OTUwOTUxNDguNzc5NTEzLCA3NDQwLCAwLjA1MjkzMjgzMjM5MDA2OTk2XSwgWzE1OTUwOTUxNTEuOTIyMzI4LCA3NDQzLCAwLjA4Mzg0MzE0MTc5NDIwNDcxXSwgWzE1OTUwOTUxNTUuOTcwNTcxLCA3NDQ3LCAwLjA0MjI3MDIwMjE4OTY4MzkxNF0sIFsxNTk1MDk1MTU5LjA1NzI0MywgNzQ1MCwgMC4wNTQ3NjA5MzI5MjIzNjMyOF0sIFsxNTk1MDk1MTY4Ljk3MjMxNywgNzQ2MCwgMC4wNTQzMTUwNDU0NzU5NTk3OF0sIFsxNTk1MDk1MTY5Ljk4MzExNiwgNzQ2MSwgMC4wNzA5ODI2OTQ2MjU4NTQ0OV0sIFsxNTk1MDk1MTcwLjg3MTc3NiwgNzQ2MiwgMC4wNTg0ODk0NzUzOTkyNTU3NV0sIFsxNTk1MDk1MTcyLjI1MDE2NSwgNzQ2MywgMC4wNjA3ODg0ODI0Mjc1OTcwNDZdLCBbMTU5NTA5NTE3Ni45NDk0ODIsIDc0NjgsIDAuMDQ1MTY3MzE1NzUxMzE0MTZdLCBbMTU5NTA5NTE4My4zMjAwOTcsIDc0NzQsIDAuMDU2MjU2NTQ3NTcwMjI4NThdLCBbMTU5NTA5NTE4Ny4zNDk3NzgsIDc0NzgsIDAuMDY0MjQzMjQ5NTk1MTY1MjVdLCBbMTU5NTA5NTE4OC45OTc5OTYsIDc0ODAsIDAuMDY5OTQ0NzkxNDk1ODAwMDJdLCBbMTU5NTA5NTIwNS4yMjg2NjEsIDc0OTYsIDAuMDU2MjEzMTQ0MjEyOTYxMl0sIFsxNTk1MDk1MjExLjQyNzc2LCA3NTAyLCAwLjA1MDc2MzUxMDE2NzU5ODcyNF0sIFsxNTk1MDk1MjEyLjUyNDI3OCwgNzUwMywgMC4wNjE4NzkxNjkxOTU4OTA0M10sIFsxNTk1MDk1MjIwLjY0MzQ3NSwgNzUxMSwgMC4wNjQ0MTY3ODEwNjc4NDgyXSwgWzE1OTUwOTUyMjYuNTg5Mjc1LCA3NTE3LCAwLjA2MjgyOTUxNjgyODA2MDE1XSwgWzE1OTUwOTUyMzEuNzExOTE2LCA3NTIyLCAwLjA1ODk1MjE5MzcwNzIyNzcxXSwgWzE1OTUwOTUyMzkuNzM5NjM4LCA3NTMwLCAwLjA1Njc2NTc5ODQ3OTMxODYyXSwgWzE1OTUwOTUyNDYuOTA4MjMxLCA3NTM3LCAwLjA2MTI0MzE5MTM2MTQyNzMxXSwgWzE1OTUwOTUyNTYuODgyMDg0LCA3NTQ3LCAwLjA3NDUyODM0Mzk3NTU0Mzk4XSwgWzE1OTUwOTUyNzUuMTUyNjQyLCA3NTY1LCAwLjA3MTczNTcxNzM1NjIwNDk5XSwgWzE1OTUwOTUyODMuMjc3NzY4LCA3NTczLCAwLjA2MzgyMTU0NjczMzM3OTM2XSwgWzE1OTUwOTUzMDYuNzczMzgyLCA3NTk2LCAwLjA1MTU4OTk1MDkxOTE1MTMwNl0sIFsxNTk1MDk1MzEzLjc5NDAzNywgNzYwMywgMC4wNzAxMjg5NTQ5NDY5OTQ3OF0sIFsxNTk1MDk1MzE5Ljk1NTMwOSwgNzYwOSwgMC4wNTY0Mjk4NDgwNzQ5MTMwMjVdLCBbMTU5NTA5NTMyMy4wNzEyMzMsIDc2MTIsIDAuMDY3NTQ1MjA1MzU0NjkwNTVdLCBbMTU5NTA5NTM1NC42NTcwMDYsIDc2NDMsIDAuMDcwOTI1NTYzNTczODM3MjhdLCBbMTU5NTA5NTM1NS42MjY0NjMsIDc2NDQsIDAuMDU3NTczNzA5NjM2OTI2NjVdLCBbMTU5NTA5NTM3MS43MTM4NjgsIDc2NjAsIDAuMDUxMDMyNjY5ODQyMjQzMTk1XSwgWzE1OTUwOTUzNzIuNzA3NDEsIDc2NjEsIDAuMDYyOTU4NTA4NzI5OTM0NjldLCBbMTU5NTA5NTM4Mi43ODI5MzgsIDc2NzEsIDAuMDU1MDExNDY2MTQ1NTE1NDRdLCBbMTU5NTA5NTM4NS43MjA5ODUsIDc2NzQsIDAuMDgzNDc4MDMzNTQyNjMzMDZdLCBbMTU5NTA5NTM4Ny43MTY5MjEsIDc2NzYsIDAuMDcyMTQwNzMwOTE3NDUzNzddLCBbMTU5NTA5NTM5OC42OTI4OTksIDc2ODcsIDAuMDYwNzkwNDI3MDI5MTMyODRdLCBbMTU5NTA5NTQwNC43OTY5OTYsIDc2OTMsIDAuMDc5Njg3NTEzNDExMDQ1MDddLCBbMTU5NTA5NTQwNy45MDk5MzEsIDc2OTYsIDAuMDQ4NjA1Mjg5MzEwMjE2OTA0XSwgWzE1OTUwOTU0MTEuOTUyNDQ2LCA3NzAwLCAwLjA1NjE2MDA4ODYyODUzMDVdLCBbMTU5NTA5NTQyOC4wNTA3MjQsIDc3MTYsIDAuMDY5MzIzMjY0MDYyNDA0NjNdLCBbMTU5NTA5NTQzMC4wMDM3MzEsIDc3MTgsIDAuMDU0NjY3MTkzNDQyNTgzMDg0XSwgWzE1OTUwOTU0MzAuOTUwNTk1LCA3NzE5LCAwLjA2MTc5OTE5NDY2Mzc2MzA0Nl0sIFsxNTk1MDk1NDM1LjA3ODEzNCwgNzcyMywgMC4wNjk2Mjk0NTMxMjI2MTU4MV0sIFsxNTk1MDk1NDM4LjA3NTkzNSwgNzcyNiwgMC4wODMzNDI5ODQzMTg3MzMyMl0sIFsxNTk1MDk1NDQwLjA4MjQyMiwgNzcyOCwgMC4wNTUyNTQwMDQ4OTU2ODcxXSwgWzE1OTUwOTU0NDMuMTEyMjA1LCA3NzMxLCAwLjA4MjMwMDEzNDAwMzE2MjM4XSwgWzE1OTUwOTU0NTQuMzA5Njg3LCA3NzQyLCAwLjA2NjM5ODY2NTMwODk1MjMzXSwgWzE1OTUwOTU0NTguMzQ2MzY3LCA3NzQ2LCAwLjA1MjMxNDkxMTAzNzY4MzQ5XSwgWzE1OTUwOTU0NjkuODI1MjU3LCA3NzU3LCAwLjA1OTk4NzkzMjQ0MzYxODc3NF0sIFsxNTk1MDk1NDcyLjI2MTc1NSwgNzc2MCwgMC4wNTk3NDY2MTkzMTM5NTUzMV0sIFsxNTk1MDk1NDkyLjczMTY4OSwgNzc4MCwgMC4wNjU3NjYxOTI5NzI2NjAwNl0sIFsxNTk1MDk1NTAwLjk4NDU2NCwgNzc4OCwgMC4wNzA0NzI5OTI5NTY2MzgzNF0sIFsxNTk1MDk1NTExLjE2Njk2MiwgNzc5OCwgMC4wNzI1ODYzODczOTU4NTg3Nl0sIFsxNTk1MDk1NTEyLjE4Njc3LCA3Nzk5LCAwLjA3MDcxNjM3MzYyMjQxNzQ1XSwgWzE1OTUwOTU1MjMuNDE4OTg1LCA3ODEwLCAwLjA1MjY2OTA3ODExMTY0ODU2XSwgWzE1OTUwOTU1NDcuMDE1ODgyLCA3ODMzLCAwLjA2Nzc0MjE3NjM1MzkzMTQzXSwgWzE1OTUwOTU1NTIuMDI0NTg1LCA3ODM4LCAwLjA1NDY1MjIwMjg3NDQyMjA3XSwgWzE1OTUwOTU1NjguNzIzNjMzLCA3ODU1LCAwLjA2MTA1MjQ5Mzc1MTA0OTA0XSwgWzE1OTUwOTU1ODYuMDc0MjI2LCA3ODcyLCAwLjA0NjY1NjkzMjY4MTc5ODkzNV0sIFsxNTk1MDk1NTkyLjAzODQ4OSwgNzg3OCwgMC4wNDk0NTY2MTEyNzU2NzI5MV0sIFsxNTk1MDk1NTk0LjA4MDgwMiwgNzg4MCwgMC4wNTU0OTQ0Mzg4NTY4NDAxMzRdLCBbMTU5NTA5NTYxMy45ODczNjgsIDc4OTksIDAuMDU0NDE5NjcwMjUzOTkyMDhdLCBbMTU5NTA5NTYxNC43MjA1NTksIDc5MDAsIDAuMDYzMjIyNzM2MTIwMjI0XSwgWzE1OTUwOTU2MTguNzAwNDE5LCA3OTA0LCAwLjA0NzkxNDQwODE0NzMzNTA1XSwgWzE1OTUwOTU2MjIuNTYyODkyLCA3OTA4LCAwLjA1MTg5MzYwNjc4MTk1OTUzNF0sIFsxNTk1MDk1NjQwLjc5MjAzMSwgNzkyNiwgMC4wNTkyMDA5MzEzNDA0NTYwMV0sIFsxNTk1MDk1NjQ3LjAzMjI2OCwgNzkzMiwgMC4wNTM5MzYwMDQ2Mzg2NzE4NzVdLCBbMTU5NTA5NTY0OC4wNDUxOTksIDc5MzMsIDAuMDQ4NTk1NDE3MjkwOTI1OThdLCBbMTU5NTA5NTY5MC4zNTY1MjQsIDc5NzUsIDAuMDU5MzYyODIxMjgwOTU2MjddLCBbMTU5NTA5NTY5OC4yNjk3MywgNzk4MywgMC4wNTY2NDM2NTczODYzMDI5NV0sIFsxNTk1MDk1NzA2LjM1ODM5NCwgNzk5MSwgMC4wNDczMjA5NTQ1MDE2Mjg4NzZdLCBbMTU5NTA5NTcwNy4zMTU0NDEsIDc5OTIsIDAuMDU0MDEzNjA5ODg2MTY5NDM0XSwgWzE1OTUwOTU3MTQuMjk5OTk4LCA3OTk5LCAwLjA1Njc5Mzk1Nzk0ODY4NDY5XV0=", "ok": true, "headers": [ [ "content-type", "application/json" ] ], "status": 200, "status_text": "" }, "https://localhost:6006/data/plugin/scalars/scalars?tag=Loss%2Ftotal_loss&run=.": { "data": "W1sxNTk1MDg3ODM4LjU3Nzc0MiwgNSwgMS44OTI1Mzk5NzgwMjczNDM4XSwgWzE1OTUwODc4NTEuNDY2MjA2LCAxOCwgMS45MDA2MTc3MTg2OTY1OTQyXSwgWzE1OTUwODc4NTcuNDQ2MjE3LCAyNCwgMS45MTQ1NDQ3MDE1NzYyMzNdLCBbMTU5NTA4Nzg3My40MDY0LCA0MCwgMS44OTI5NTU4OTkyMzg1ODY0XSwgWzE1OTUwODc4NzUuNDgwMjk2LCA0MiwgMS45MDE3MjYzNjUwODk0MTY1XSwgWzE1OTUwODc4NzguNTAyOTY4LCA0NSwgMS44NjQ5MjMwMDAzMzU2OTM0XSwgWzE1OTUwODc4ODYuNTAwNzUzLCA1MywgMS44NTU3Mzk3MTI3MTUxNDldLCBbMTU5NTA4Nzg4OS40MzQ5NTYsIDU2LCAxLjg2MTE0OTMxMTA2NTY3MzhdLCBbMTU5NTA4NzkwNC41NDYzMjksIDcxLCAxLjgyMDgzMjQ5MDkyMTAyMDVdLCBbMTU5NTA4NzkwNy41MDQ0NjUsIDc0LCAxLjgwNzM3ODg4ODEzMDE4OF0sIFsxNTk1MDg3OTI3LjY2MTg4MSwgOTQsIDEuNzM0NjM3MDIyMDE4NDMyNl0sIFsxNTk1MDg3OTM1LjU5OTQ2NywgMTAyLCAxLjUyMzI5MjE4Mzg3NjAzNzZdLCBbMTU5NTA4NzkzOS41NTIwODYsIDEwNiwgMS40MjMzODY0NTQ1ODIyMTQ0XSwgWzE1OTUwODc5NTkuNDAxNDIsIDEyNiwgMS4xNzc5Mjg0NDc3MjMzODg3XSwgWzE1OTUwODc5NzIuMDkyNzUyLCAxMzksIDEuMjk0MjcxNTg4MzI1NTAwNV0sIFsxNTk1MDg3OTg3Ljc0Mzg5MywgMTU1LCAwLjk3NzY5MDI3OTQ4Mzc5NTJdLCBbMTU5NTA4Nzk5MC43MDA3MTQsIDE1OCwgMC44ODQwNDU2MDA4OTExMTMzXSwgWzE1OTUwODc5OTkuNTc4ODQ3LCAxNjcsIDAuODA0MzgwNDE2ODcwMTE3Ml0sIFsxNTk1MDg4MDEwLjM3NDgzMiwgMTc4LCAwLjcyNzAzNjc3NDE1ODQ3NzhdLCBbMTU5NTA4ODAxNS4yNjk0MzksIDE4MywgMC44NjY0MzY3Nzk0OTkwNTRdLCBbMTU5NTA4ODAxNy43NTAyMDMsIDE4NSwgMC45NzI3MzM1NTcyMjQyNzM3XSwgWzE1OTUwODgwMTguMzE3MTM1LCAxODYsIDAuODU1NjYzMzU5MTY1MTkxN10sIFsxNTk1MDg4MDIyLjE3ODg4NSwgMTkwLCAwLjg2NzIzNDExMDgzMjIxNDRdLCBbMTU5NTA4ODAzOC44NTAwMjcsIDIwNywgMC44MzA5MTMwMDcyNTkzNjg5XSwgWzE1OTUwODgwNjAuNzg2MzgsIDIyOSwgMC44MDYzNzY5MzQwNTE1MTM3XSwgWzE1OTUwODgwNjUuNzc0MjA4LCAyMzQsIDAuNzMyODI2MjMyOTEwMTU2Ml0sIFsxNTk1MDg4MDgwLjY1MDgwMiwgMjQ5LCAwLjY2MjAxODA2MDY4NDIwNDFdLCBbMTU5NTA4ODA4Ni41MTE1NzMsIDI1NSwgMC42NjA4Mzk3OTYwNjYyODQyXSwgWzE1OTUwODgwOTEuNTIyMjc4LCAyNjAsIDAuNjQzMDcwMjIwOTQ3MjY1Nl0sIFsxNTk1MDg4MDk4LjM1OTQ1NywgMjY3LCAwLjYxNjEzMTYwMzcxNzgwNF0sIFsxNTk1MDg4MTAyLjIxNjMyMSwgMjcxLCAwLjY3MjkxNTYzNzQ5MzEzMzVdLCBbMTU5NTA4ODEwNC4xNjkyOTcsIDI3MywgMC42NTMyNTA3NTM4Nzk1NDcxXSwgWzE1OTUwODgxMjIuODYwNDI3LCAyOTIsIDAuNTgzMzYzMjM0OTk2Nzk1N10sIFsxNTk1MDg4MTM4LjU5NTI1NCwgMzA4LCAwLjUzMjI1NDkzNDMxMDkxMzFdLCBbMTU5NTA4ODE0MC41MzE1MDEsIDMxMCwgMC42MzU4OTI1MTA0MTQxMjM1XSwgWzE1OTUwODgxNDguMzQ5MTUsIDMxOCwgMC41MjgxNzQ2OTgzNTI4MTM3XSwgWzE1OTUwODgxNjAuMDczMjgsIDMzMCwgMC41MTM0NDMyMzE1ODI2NDE2XSwgWzE1OTUwODgxNjguNzg4MjU5LCAzMzksIDAuNjQyNDU1MTAxMDEzMTgzNl0sIFsxNTk1MDg4MTc2LjU1OTY2NiwgMzQ3LCAwLjUwMTg3NDQ0Njg2ODg5NjVdLCBbMTU5NTA4ODE5Mi4wNjI2ODQsIDM2MywgMC40ODk5NTIxMTcyMDQ2NjYxNF0sIFsxNTk1MDg4MTk1LjkwOTQwMywgMzY3LCAwLjQ1MTMwMTU0NDkwNDcwODg2XSwgWzE1OTUwODgyNDkuMjgyMjA0LCA0MjEsIDAuMzU1OTU5ODkyMjcyOTQ5Ml0sIFsxNTk1MDg4MjUwLjI5NzY0LCA0MjIsIDAuMzc0NDI0MDEwNTE1MjEzXSwgWzE1OTUwODgyNjcuMTMxMSwgNDM5LCAwLjQzODQyMzc1Mjc4NDcyOV0sIFsxNTk1MDg4MjcwLjAzNjMxMywgNDQyLCAwLjM4NjIxMDIzMjk3MzA5ODc1XSwgWzE1OTUwODgyNzMuMDg4ODM1LCA0NDUsIDAuMzc4NTczNzQ1NDg5MTIwNV0sIFsxNTk1MDg4Mjg3Ljg2MjY4MiwgNDYwLCAwLjM3MjIzOTI2MTg2NTYxNTg0XSwgWzE1OTUwODgyOTAuODc1MjA2LCA0NjMsIDAuMzA5NjkxNDU4OTQwNTA2XSwgWzE1OTUwODgyOTEuOTA3ODUxLCA0NjQsIDAuMzg3MTU2MDA5Njc0MDcyMjddLCBbMTU5NTA4ODMwMS43NTc1NDksIDQ3NCwgMC40MDc1OTg1MjUyODU3MjA4XSwgWzE1OTUwODgzMTguNDYzNDc1LCA0OTEsIDAuMzg2MjE2OTk4MTAwMjgwNzZdLCBbMTU5NTA4ODMyMC40NzkxMDQsIDQ5MywgMC40MTc2NDEyMjI0NzY5NTkyM10sIFsxNTk1MDg4MzQxLjIzNDc0NiwgNTE0LCAwLjM3MDY1OTkxNzU5MzAwMjNdLCBbMTU5NTA4ODM0NC4yMDE0MjQsIDUxNywgMC4zMzczNTA1NDczMTM2OTAyXSwgWzE1OTUwODgzNTcuOTYyNDU4LCA1MzEsIDAuMzY5NjQ5NTI5NDU3MDkyM10sIFsxNTk1MDg4MzYyLjk4ODI1LCA1MzYsIDAuNDM2NzUzMDk0MTk2MzE5Nl0sIFsxNTk1MDg4Mzg5LjY2MzA3NCwgNTYzLCAwLjM1NDYxMTgxNDAyMjA2NDJdLCBbMTU5NTA4ODM5OS43OTUzNTksIDU3MywgMC4zOTg3ODgzMDMxMzY4MjU1Nl0sIFsxNTk1MDg4NDA1LjMwMTA4NCwgNTc5LCAwLjM0NDA0Njg2MDkzMzMwMzgzXSwgWzE1OTUwODg0MDcuMjQyMTY1LCA1ODEsIDAuMzAyNTc3MTA4MTQ0NzYwMTNdLCBbMTU5NTA4ODQxMi4xODczOTEsIDU4NiwgMC4zMjU4MzQxODQ4ODUwMjVdLCBbMTU5NTA4ODQxMy4xNzY2ODIsIDU4NywgMC4zMDE1NTIyMDYyNzc4NDczXSwgWzE1OTUwODg0MjcuODA1OTA0LCA2MDIsIDAuMzU1NTc2Njk0MDExNjg4MjNdLCBbMTU5NTA4ODQ0NS41NTc5ODQsIDYyMCwgMC4yOTQ3Mjk3Mzk0Mjc1NjY1M10sIFsxNTk1MDg4NDQ3LjUwNTY5MiwgNjIyLCAwLjMzNjAwODI4MDUxNTY3MDhdLCBbMTU5NTA4ODQ1OS4wODY3NiwgNjM0LCAwLjMyNTYwMzIxNjg4NjUyMDRdLCBbMTU5NTA4ODQ2NS45NTg1OTksIDY0MSwgMC4zMzYxMjE3MDgxNTQ2NzgzNF0sIFsxNTk1MDg4NDY2Ljg5MDAzMSwgNjQyLCAwLjI4MjIxMDUyODg1MDU1NTRdLCBbMTU5NTA4ODQ2OC44ODEwNzcsIDY0NCwgMC4zMTcyOTMyNTY1MjEyMjVdLCBbMTU5NTA4ODQ3MS43OTkyMDksIDY0NywgMC4zMTE0ODg2ODc5OTIwOTU5NV0sIFsxNTk1MDg4NDczLjc0NTE5NiwgNjQ5LCAwLjMwNzQxOTkyNTkyODExNTg0XSwgWzE1OTUwODg0ODUuNTYwOTI4LCA2NjEsIDAuMzM0MTI4ODg2NDYxMjU3OTNdLCBbMTU5NTA4ODQ5NS4zNDYwNTQsIDY3MSwgMC4zMjQwMjcwMDE4NTc3NTc1N10sIFsxNTk1MDg4NTA3LjE0NzI1MywgNjgzLCAwLjI5MDI1MTU1MzA1ODYyNDI3XSwgWzE1OTUwODg1MTIuMDA1OTY2LCA2ODgsIDAuMjY0NDEwMTA4MzI3ODY1Nl0sIFsxNTk1MDg4NTM3LjM1NDIyMywgNzE0LCAwLjMxNTE4NDIzNTU3MjgxNDk0XSwgWzE1OTUwODg1NDEuMDQzNzQ1LCA3MTgsIDAuMzAwOTgyMjM2ODYyMTgyNl0sIFsxNTk1MDg4NTQ0Ljk1NTg4OCwgNzIyLCAwLjI5ODgxMjE4MDc1NzUyMjZdLCBbMTU5NTA4ODU0NS45MjQyMDksIDcyMywgMC4yNzI2OTg0MDI0MDQ3ODUxNl0sIFsxNTk1MDg4NTUyLjczNjQxNiwgNzMwLCAwLjMxNzA0NzMyNzc1Njg4MTddLCBbMTU5NTA4ODU2MS41NTU0MzUsIDczOSwgMC4yODIxOTMwOTQ0OTE5NTg2XSwgWzE1OTUwODg1NjUuNDkxMjYzLCA3NDMsIDAuMjc3NzI2OTc4MDYzNTgzNF0sIFsxNTk1MDg4NTY5LjQyMjc5OCwgNzQ3LCAwLjM4MjI2NTgzNjAwMDQ0MjVdLCBbMTU5NTA4ODU3NC4xODMwNzEsIDc1MiwgMC4yODg1OTc3NjI1ODQ2ODYzXSwgWzE1OTUwODg1NzcuOTU2NTYzLCA3NTYsIDAuMjMwNzgxNDUwODY3NjUyOV0sIFsxNTk1MDg4NTg2LjUzNzc5NCwgNzY1LCAwLjI5NTM4MTQ4NjQxNTg2MzA0XSwgWzE1OTUwODg1OTAuNDE0ODE0LCA3NjksIDAuMjcyNzMwODU3MTMzODY1MzZdLCBbMTU5NTA4ODU5Mi40NjgzNDUsIDc3MSwgMC4yNjg5MTM1MzcyNjM4NzAyNF0sIFsxNTk1MDg4NTk0LjM2ODIzMiwgNzczLCAwLjI5Nzg0MjIzNDM3MzA5MjY1XSwgWzE1OTUwODg2MDEuMjc0OTI5LCA3ODAsIDAuMjg4OTgyNTQwMzY5MDMzOF0sIFsxNTk1MDg4NjA2LjU0MjQ1LCA3ODUsIDAuMjQ5Mjk4NDgzMTMzMzE2MDRdLCBbMTU5NTA4ODYwOC4wMDYzNDQsIDc4NywgMC4zMjUwMzY1ODUzMzA5NjMxM10sIFsxNTk1MDg4NjEyLjkyMzM2OSwgNzkyLCAwLjI4NTYwMDUxMzIxOTgzMzRdLCBbMTU5NTA4ODYxNC44NzY1ODgsIDc5NCwgMC4yODQ5MzQ4NzgzNDkzMDQyXSwgWzE1OTUwODg2MTguNzYzMjE0LCA3OTgsIDAuMjg2NDE5Njg5NjU1MzAzOTZdLCBbMTU5NTA4ODYyMi43NjA0ODMsIDgwMiwgMC4zNTk3MzQyMzcxOTQwNjEzXSwgWzE1OTUwODg2MjguNjMwOTYsIDgwOCwgMC4zMDE0MTQxMzIxMTgyMjUxXSwgWzE1OTUwODg2MjkuNTY0OTM0LCA4MDksIDAuMjYyNTc2Njk5MjU2ODk3XSwgWzE1OTUwODg2NTEuODU4MDY0LCA4MzIsIDAuMjYyMDIyNjE0NDc5MDY0OTRdLCBbMTU5NTA4ODY1NS44NzY3MDUsIDgzNiwgMC4yOTQ0MzM2MjM1NTIzMjI0XSwgWzE1OTUwODg2ODguMjA0ODcsIDg2OSwgMC4yODU0NjY4NDk4MDM5MjQ1Nl0sIFsxNTk1MDg4Njk0Ljk3Nzc3MywgODc2LCAwLjI3OTI4MTcwNTYxNzkwNDY2XSwgWzE1OTUwODg3MDAuNzE3ODA5LCA4ODIsIDAuMjc4MDMxNDY4MzkxNDE4NDZdLCBbMTU5NTA4ODcxNC41ODc4MDgsIDg5NiwgMC4zMjk4NjM4MTY0OTk3MTAxXSwgWzE1OTUwODg3MTguNTg2Nzc1LCA5MDAsIDAuMjUyNzQyMjYwNjk0NTAzOF0sIFsxNTk1MDg4NzI1LjMyNDYyNywgOTA3LCAwLjMxNDY2ODU2NTk4ODU0MDY1XSwgWzE1OTUwODg3MjcuMjAzMTYsIDkwOSwgMC4yOTcxMDMxOTYzODI1MjI2XSwgWzE1OTUwODg3MzMuMjA2MDUsIDkxNSwgMC4yOTA4Mzc4ODM5NDkyNzk4XSwgWzE1OTUwODg3MzUuMTAyMjA2LCA5MTcsIDAuMjc5MzkzMDE3MjkyMDIyN10sIFsxNTk1MDg4NzQ4LjY5NzAxLCA5MzEsIDAuMjc1ODE3NDUzODYxMjM2Nl0sIFsxNTk1MDg4NzQ5LjY5MTcyNiwgOTMyLCAwLjI3ODYwMDMwNTMxODgzMjRdLCBbMTU5NTA4ODc1OS40OTE1OTksIDk0MiwgMC4yNjMyMDkyODMzNTE4OTgyXSwgWzE1OTUwODg3NjIuMzcwMjc5LCA5NDUsIDAuMjQ4NDEzOTIwNDAyNTI2ODZdLCBbMTU5NTA4ODc3MS4xNTYzOSwgOTU0LCAwLjMxODM4NzQ0ODc4NzY4OTJdLCBbMTU5NTA4ODc3NC45ODg3NjgsIDk1OCwgMC4zMDE1ODkxMDE1NTI5NjMyNl0sIFsxNTk1MDg4Nzc5LjAyMzEwNCwgOTYyLCAwLjIzMTM3MjkyMjY1ODkyMDNdLCBbMTU5NTA4ODc4Ny45MjM4NjYsIDk3MSwgMC4yNDExNzI3MzA5MjI2OTg5N10sIFsxNTk1MDg4Nzg4Ljg0NjExOSwgOTcyLCAwLjI4MTQxNDU2ODQyNDIyNDg1XSwgWzE1OTUwODg3OTQuNzM0NDc1LCA5NzgsIDAuMjQ5MDYwMDY0NTU0MjE0NDhdLCBbMTU5NTA4ODc5NS42NTA5MzYsIDk3OSwgMC4yNjQ3Nzg2NDM4NDY1MTE4NF0sIFsxNTk1MDg4ODAwLjY1MywgOTg0LCAwLjIxNDY4NTUxNDU2OTI4MjUzXSwgWzE1OTUwODg4MTIuMzkyNTYzLCA5OTYsIDAuMjM0MjI4MDE0OTQ1OTgzOV0sIFsxNTk1MDg4ODE4LjMyMzA5MiwgMTAwMiwgMC4yMTMwNTQ3NjEyOTA1NTAyM10sIFsxNTk1MDg4ODIxLjMzMTU2NywgMTAwNSwgMC4yMTgyODU2MzUxMTM3MTYxM10sIFsxNTk1MDg4ODI5Ljc3OTcxMSwgMTAxNCwgMC4yNzg4NTc5MTY1OTM1NTE2NF0sIFsxNTk1MDg4ODQwLjUyNDU4NSwgMTAyNSwgMC4yNzY5MjU4MzIwMzMxNTczNV0sIFsxNTk1MDg4ODU4LjgyNTc4OSwgMTA0NCwgMC4yMzc2NjE0MDYzOTc4MTk1Ml0sIFsxNTk1MDg4ODcxLjA0MjM0LCAxMDU3LCAwLjIxNTA4NDgzNTg4Njk1NTI2XSwgWzE1OTUwODg4NzYuODIwNzc2LCAxMDYzLCAwLjE4ODY2NTcwMjkzOTAzMzVdLCBbMTU5NTA4ODg3OS43MzkyNzksIDEwNjYsIDAuMjAzNzczMTcwNzA5NjA5OTldLCBbMTU5NTA4ODg4MS42NzUyNDksIDEwNjgsIDAuMjEwOTMwNTI2MjU2NTYxMjhdLCBbMTU5NTA4ODg4NS40NDgyNDgsIDEwNzIsIDAuMjY4MzA0MDc5NzcxMDQxODddLCBbMTU5NTA4ODg5MS4yOTQ3OTMsIDEwNzgsIDAuMTk4MTkxNTIzNTUxOTQwOTJdLCBbMTU5NTA4ODg5Ni4xOTA1NzcsIDEwODMsIDAuMjA5MjI0NTgxNzE4NDQ0ODJdLCBbMTU5NTA4ODkwNS44NzUwMDYsIDEwOTMsIDAuMjExMDIzNjI4NzExNzAwNDRdLCBbMTU5NTA4ODkxMS41ODY5NjksIDEwOTksIDAuMjYxODg2NTY2ODc3MzY1MV0sIFsxNTk1MDg4OTE2LjUzNjM2OCwgMTEwNCwgMC4yMzI2NzcxNzY1OTQ3MzQyXSwgWzE1OTUwODg5MjYuMjgxNDMsIDExMTQsIDAuMTk0NzA1OTE4NDMxMjgyMDRdLCBbMTU5NTA4ODkzMS4yNTc1ODksIDExMTksIDAuMjM1NDkyMTk5NjU5MzQ3NTNdLCBbMTU5NTA4ODk2Ny4xODI0ODksIDExNTYsIDAuMjUzNzQyMDA5NDAxMzIxNF0sIFsxNTk1MDg4OTcwLjkxMzcyNiwgMTE2MCwgMC4yMjIyMzM3MTI2NzMxODcyNl0sIFsxNTk1MDg4OTcxLjk3NjIwOCwgMTE2MSwgMC4zMTMxMDExMTI4NDI1NTk4XSwgWzE1OTUwODg5NzIuOTI0MDg4LCAxMTYyLCAwLjI2Nzg5NjQ0MzYwNTQyM10sIFsxNTk1MDg4OTkwLjQ0OTI0OSwgMTE4MCwgMC4yMzM3MzE1MjMxNTYxNjYwOF0sIFsxNTk1MDg5MDAyLjAzMTcxMSwgMTE5MiwgMC4zNzg2MjA0NDU3MjgzMDJdLCBbMTU5NTA4OTAwMi45Njg3MywgMTE5MywgMC4yOTI4MjQ0NDcxNTQ5OTg4XSwgWzE1OTUwODkwMDguOTExMTE0LCAxMTk5LCAwLjI0OTgyODM4MzMyNjUzMDQ2XSwgWzE1OTUwODkwMTUuNTM4MzczLCAxMjA2LCAwLjIxMzM1MzYxODk3OTQ1NDA0XSwgWzE1OTUwODkwNDAuNDMyODg4LCAxMjMyLCAwLjI3MDM0MDE3NDQzNjU2OTJdLCBbMTU5NTA4OTA0Mi40MTgyNzIsIDEyMzQsIDAuMjU0OTUzOTIwODQxMjE3MDRdLCBbMTU5NTA4OTA1Mi4xODgwNjUsIDEyNDQsIDAuMjM2MDU1MjI1MTMzODk1ODddLCBbMTU5NTA4OTA2Mi44ODY3ODQsIDEyNTUsIDAuMjE3MDE1Mzg1NjI3NzQ2NThdLCBbMTU5NTA4OTA2NS43Mzg1ODYsIDEyNTgsIDAuMjAwNzcxNzQ5MDE5NjIyOF0sIFsxNTk1MDg5MDY4LjY0OTAwOCwgMTI2MSwgMC4yMTkxNjE0ODA2NjUyMDY5XSwgWzE1OTUwODkwODguMTA2NTY1LCAxMjgxLCAwLjE4NDE2NTgyMDQ3OTM5M10sIFsxNTk1MDg5MDkzLjg4MDEyNCwgMTI4NywgMC4yMDUxMjUxODI4NjcwNTAxN10sIFsxNTk1MDg5MTAwLjU2MjE0NSwgMTI5NCwgMC4yNDMyOTQ1ODE3NzA4OTY5XSwgWzE1OTUwODkxMDYuNTcyNjM5LCAxMzAwLCAwLjIzNDc1ODczNDcwMzA2Mzk2XSwgWzE1OTUwODkxMTYuNDE0NDQyLCAxMzEwLCAwLjI3NjMyMTIzMjMxODg3ODJdLCBbMTU5NTA4OTEyMi4yNjI3OTUsIDEzMTYsIDAuMjA4NjI0OTU4OTkyMDA0NF0sIFsxNTk1MDg5MTI1LjIzMDUzNiwgMTMxOSwgMC4yMTE5NTA2NzQ2NTMwNTMyOF0sIFsxNTk1MDg5MTM1LjcwMTY2MiwgMTMzMCwgMC4yMjc5ODMwMTI3OTU0NDgzXSwgWzE1OTUwODkxMzguNTg3OTczLCAxMzMzLCAwLjIyNTQwMTY2OTc0MDY3Njg4XSwgWzE1OTUwODkxNDEuNTM1NDYxLCAxMzM2LCAwLjIxNzUwNjQyMzU5MjU2NzQ0XSwgWzE1OTUwODkxNDIuNDk1NjQzLCAxMzM3LCAwLjIwNDExMjYwNDI2MDQ0NDY0XSwgWzE1OTUwODkxODkuMjY4NDI5LCAxMzg1LCAwLjI2ODEzNDU2NDE2MTMwMDY2XSwgWzE1OTUwODkxOTIuMzE4OTgxLCAxMzg4LCAwLjIxODM5NzE1NTQwNDA5MDg4XSwgWzE1OTUwODkxOTUuMTcyNTUyLCAxMzkxLCAwLjE2ODc5NTQwNjgxODM4OTldLCBbMTU5NTA4OTE5Ni4wOTE4NDgsIDEzOTIsIDAuMjM1MDMzNTU2ODE4OTYyMV0sIFsxNTk1MDg5MjE3LjgyOTY0MiwgMTQxNCwgMC4yNDg4MDg2MzcyNjEzOTA2OV0sIFsxNTk1MDg5MjI5LjY0OTU0NywgMTQyNiwgMC4yMTExNTg0ODQyMjA1MDQ3Nl0sIFsxNTk1MDg5MjMxLjU5MTkwOSwgMTQyOCwgMC4xOTQ5MDMxMjAzOTg1MjE0Ml0sIFsxNTk1MDg5MjM1LjMzMTAzMSwgMTQzMiwgMC4xODgyMzYzMjU5NzkyMzI4XSwgWzE1OTUwODkyMzkuMjA5Nzk2LCAxNDM2LCAwLjIyNjExNTYxNDE3NTc5NjVdLCBbMTU5NTA4OTI0My4wOTM2NzYsIDE0NDAsIDAuMTgxMDA1NTIyNjA4NzU3MDJdLCBbMTU5NTA4OTI2Ny42MTU2NzMsIDE0NjUsIDAuMjkzNjY5NzAwNjIyNTU4Nl0sIFsxNTk1MDg5MjY4LjY1MTA0MSwgMTQ2NiwgMC4xOTcwNzIxMTg1MjA3MzY3XSwgWzE1OTUwODkyNzkuNDQxMjgzLCAxNDc3LCAwLjIyNTc4NDQ5NTQ3MjkwODAyXSwgWzE1OTUwODkyODcuMTcwMzg4LCAxNDg1LCAwLjIzMDk3NTA5MTQ1NzM2Njk0XSwgWzE1OTUwODkyOTEuMDg0NTcsIDE0ODksIDAuMTc2MzIwODk1NTUyNjM1Ml0sIFsxNTk1MDg5MjkzLjAwMTYyOCwgMTQ5MSwgMC4yMDU1NzAyMjA5NDcyNjU2Ml0sIFsxNTk1MDg5MzA5LjgxNTMyOCwgMTUwOCwgMC4yMjMyMDU3NjAxMjEzNDU1Ml0sIFsxNTk1MDg5MzI0LjU0NDY1MSwgMTUyMywgMC4xOTU0MTgxOTM5MzYzNDc5Nl0sIFsxNTk1MDg5MzI4LjQwMTQ3NiwgMTUyNywgMC4yMjY2OTQ5NDE1MjA2OTA5Ml0sIFsxNTk1MDg5MzUzLjA2ODgxMSwgMTU1MiwgMC4yMDc3ODgyNzM2OTIxMzEwNF0sIFsxNTk1MDg5MzY4LjkzNTkzNSwgMTU2OCwgMC4yNjMyMzg1NDkyMzI0ODI5XSwgWzE1OTUwODkzNjkuODc0OTE4LCAxNTY5LCAwLjIzODE4Mjc1MzMyNDUwODY3XSwgWzE1OTUwODkzODQuOTAzMDE5LCAxNTg0LCAwLjIxNjQwNDA4MDM5MDkzMDE4XSwgWzE1OTUwODkzODguODY4MzQ2LCAxNTg4LCAwLjI2Mjk3MjQ0NDI5NTg4MzJdLCBbMTU5NTA4OTM5Ny42OTc5MywgMTU5NywgMC4yMTQzNTg0OTM2ODU3MjIzNV0sIFsxNTk1MDg5NDA0LjgwNTEwNiwgMTYwNCwgMC4yNjY2NzgwMzUyNTkyNDY4XSwgWzE1OTUwODk0MDUuNzI3NzgyLCAxNjA1LCAwLjI1MTgwNDUwMDgxODI1MjU2XSwgWzE1OTUwODk0MTguNDc3MjEyLCAxNjE4LCAwLjIzNDcwNDI3MDk1ODkwMDQ1XSwgWzE1OTUwODk0MjcuMzg0OTg3LCAxNjI3LCAwLjI0MzM2NDg0MDc0NTkyNTldLCBbMTU5NTA4OTQzMi40MjI1LCAxNjMyLCAwLjE4ODE5NTYxNjAwNjg1MTJdLCBbMTU5NTA4OTQzNy4xNjcxNTQsIDE2MzcsIDAuMjA4MTQ0NTYwNDU2Mjc1OTRdLCBbMTU5NTA4OTQ0MC4wMjU2NzMsIDE2NDAsIDAuMTgyNDM3MDMyNDYxMTY2MzhdLCBbMTU5NTA4OTQ0NS4wNzc5NTgsIDE2NDUsIDAuMjA2NjEwOTYyNzQ4NTI3NTNdLCBbMTU5NTA4OTQ0OC4wNzExNTgsIDE2NDgsIDAuMzEwNDUwMjI2MDY4NDk2N10sIFsxNTk1MDg5NDYwLjEyNzYyLCAxNjYwLCAwLjIwODczNjY0MzE5NTE1MjI4XSwgWzE1OTUwODk0NjcuOTA3NDcxLCAxNjY4LCAwLjIzOTY1MzMwNDIxOTI0NTldLCBbMTU5NTA4OTQ3NC44NjMxNTcsIDE2NzUsIDAuMTc5NTE0MzMzNjA1NzY2M10sIFsxNTk1MDg5NDgxLjc0MTc2NywgMTY4MiwgMC4yMjQyNDc2OTQwMTU1MDI5M10sIFsxNTk1MDg5NDkwLjY0NjAwOSwgMTY5MSwgMC4zMzI2NDkyNjA3NTkzNTM2NF0sIFsxNTk1MDg5NDk0LjUyODM3NywgMTY5NSwgMC4yMDM3NDM0NDI4OTMwMjgyNl0sIFsxNTk1MDg5NDk1LjQ2NzMzNSwgMTY5NiwgMC4yMjU0OTU1MzIxNTUwMzY5M10sIFsxNTk1MDg5NDk2LjQ3NjYzMSwgMTY5NywgMC4yMzE0NDQwMDExOTc4MTQ5NF0sIFsxNTk1MDg5NDk4LjQxNTk0NywgMTY5OSwgMC4yMTMyMDIxNDg2NzU5MTg1OF0sIFsxNTk1MDg5NTAxLjI1MzgzNCwgMTcwMiwgMC4yMTU4MjkxMDQxODUxMDQzN10sIFsxNTk1MDg5NTA4LjExMDExNiwgMTcwOSwgMC4yNzA0MDc3NjYxMDM3NDQ1XSwgWzE1OTUwODk1MTcuMDczNTUzLCAxNzE4LCAwLjIyMjE2OTc4NjY5MTY2NTY1XSwgWzE1OTUwODk1MjYuOTc4NTg2LCAxNzI4LCAwLjI5NTg1NjQ0NjAyNzc1NTc0XSwgWzE1OTUwODk1MzAuODU3Mjk2LCAxNzMyLCAwLjE5NDIwNjI4MjQ5NjQ1MjMzXSwgWzE1OTUwODk1MzIuODUyODM5LCAxNzM0LCAwLjIzMzU4NTY3MDU5MDQwMDddLCBbMTU5NTA4OTUzNS43MzU5NjEsIDE3MzcsIDAuMjY2OTYwNjgwNDg0NzcxNzNdLCBbMTU5NTA4OTU0MC42OTY0NjYsIDE3NDIsIDAuMzA1MTEwNTE0MTYzOTcwOTVdLCBbMTU5NTA4OTU0My43NDYwNzksIDE3NDUsIDAuMjMwODAxMTUwMjAyNzUxMTZdLCBbMTU5NTA4OTU0NC42OTA0ODEsIDE3NDYsIDAuMzU3NTA1MDUzMjgxNzg0MDZdLCBbMTU5NTA4OTU0NS42NDYyMDEsIDE3NDcsIDAuMjIzNTA0MzQ5NTg5MzQ3ODRdLCBbMTU5NTA4OTU2My45OTU2ODMsIDE3NjYsIDAuMjI3MTI0ODQwMDIxMTMzNDJdLCBbMTU5NTA4OTU3Mi42Mzk5MTQsIDE3NzUsIDAuMjIwMDQ0OTQwNzEwMDY3NzVdLCBbMTU5NTA4OTU3OC41OTkyMDUsIDE3ODEsIDAuMjM3NTU2NDU3NTE5NTMxMjVdLCBbMTU5NTA4OTU4NS4yNjc4MDksIDE3ODgsIDAuMzUwNDY0ODUwNjY0MTM4OF0sIFsxNTk1MDg5NTg2LjIzNDA2MywgMTc4OSwgMC4yNDQzNjYzNjI2OTA5MjU2XSwgWzE1OTUwODk1OTQuODcxODg4LCAxNzk4LCAwLjI0NzM1MDE1NjMwNzIyMDQ2XSwgWzE1OTUwODk2MDEuNjk3MzY1LCAxODA1LCAwLjIyODM0MTI2NjUxMjg3MDhdLCBbMTU5NTA4OTYxMy42MzY3NTgsIDE4MTcsIDAuMjg3MDMwODc1NjgyODMwOF0sIFsxNTk1MDg5NjIyLjUwNzQzOCwgMTgyNiwgMC4yNTQwNTcxMzkxNTgyNDg5XSwgWzE1OTUwODk2MjYuMzg4ODQ2LCAxODMwLCAwLjQzODU2ODk0OTY5OTQwMTg2XSwgWzE1OTUwODk2MzUuOTY2ODg5LCAxODQwLCAwLjMxMjQ1ODk2MjIwMjA3MjE0XSwgWzE1OTUwODk2MzkuODc1MDg1LCAxODQ0LCAwLjI2MTU1NzE5MTYxMDMzNjNdLCBbMTU5NTA4OTY0OC43MjU3OTksIDE4NTMsIDAuNDA0NDg1Mjg1MjgyMTM1XSwgWzE1OTUwODk2NjEuNjE5MDAyLCAxODY2LCAwLjM0MzIwODQ2MTk5OTg5MzJdLCBbMTU5NTA4OTY2NC41MjU4MzMsIDE4NjksIDAuMzA0NTM3NTM0NzEzNzQ1MV0sIFsxNTk1MDg5NjcwLjQ3MjkxNSwgMTg3NSwgMC4yMzAwNTUzOTE3ODg0ODI2N10sIFsxNTk1MDg5NjcyLjQzMjgzMiwgMTg3NywgMC4zMTY0OTAwMjQzMjgyMzE4XSwgWzE1OTUwODk3MDUuNTQ2NTIyLCAxOTExLCAwLjI0OTkyMzI3MzkyMTAxMjg4XSwgWzE1OTUwODk3MTEuMjg5OTMzLCAxOTE3LCAwLjIwMzUxMTQxNjkxMjA3ODg2XSwgWzE1OTUwODk3MjcuOTE3NjM5LCAxOTM0LCAwLjE5NjE5Njk3MzMyMzgyMjAyXSwgWzE1OTUwODk3MjkuODQzNTQ3LCAxOTM2LCAwLjE5MjM0MDQ5MzIwMjIwOTQ3XSwgWzE1OTUwODk3MzEuODIxODg4LCAxOTM4LCAwLjI0MDQ4OTI0NDQ2MTA1OTU3XSwgWzE1OTUwODk3MzcuNjk3MjA3LCAxOTQ0LCAwLjIxODMxNjQ4MDUxNzM4NzRdLCBbMTU5NTA4OTc0MC43MjY4NzksIDE5NDcsIDAuMjA1MzU1MjEyMDkyMzk5Nl0sIFsxNTk1MDg5NzQyLjc5Mzk2NSwgMTk0OSwgMC4xODkyMjEyMDMzMjcxNzg5Nl0sIFsxNTk1MDg5NzYwLjQxMDI4MywgMTk2NywgMC4xODM0MTUyNzg3OTIzODEzXSwgWzE1OTUwODk3NzQuMjY5NzczLCAxOTgxLCAwLjI1Mzg2MTI0ODQ5MzE5NDZdLCBbMTU5NTA4OTc3NS43MjUyMjgsIDE5ODMsIDAuMjEzMzY0NzUwMTQ2ODY1ODRdLCBbMTU5NTA4OTc5My4yNTc3NCwgMjAwMSwgMC4yMzkxNjEyODI3Nzc3ODYyNV0sIFsxNTk1MDg5Nzk3LjIxNTQ1NCwgMjAwNSwgMC4yMTAyNTU2OTczNjk1NzU1XSwgWzE1OTUwODk4MDUuMjY3OTgxLCAyMDEzLCAwLjIzMjU5NTM4NDEyMDk0MTE2XSwgWzE1OTUwODk4MjEuOTI2ODgxLCAyMDMwLCAwLjE2MDk0MDI0NDc5Mzg5MTldLCBbMTU5NTA4OTgyNy43MzUxMzcsIDIwMzYsIDAuMTk3MTkwMzE0NTMxMzI2M10sIFsxNTk1MDg5ODUwLjk5MDc4NywgMjA2MCwgMC4xODEyMDg2MjU0MzU4MjkxNl0sIFsxNTk1MDg5ODYyLjMzMjk3OCwgMjA3MiwgMC4yMjE2MDk4OTA0NjA5NjgwMl0sIFsxNTk1MDg5ODYzLjI4NTczNSwgMjA3MywgMC4yMTY3NDIyNDczNDMwNjMzNV0sIFsxNTk1MDg5ODY2LjI4Njg5MSwgMjA3NiwgMC4xOTUzNzgwMzUzMDY5MzA1NF0sIFsxNTk1MDg5ODY3LjIxNjc1OCwgMjA3NywgMC4zNDQ3Nzg0NzgxNDU1OTkzN10sIFsxNTk1MDg5ODY5LjIyOTcyOCwgMjA3OSwgMC4yNDgwMTU0OTMxNTQ1MjU3Nl0sIFsxNTk1MDg5ODcxLjMzNTc4MywgMjA4MSwgMC4yNDQ1MjU3NjA0MTIyMTYyXSwgWzE1OTUwODk4NzUuMzEwNTg0LCAyMDg1LCAwLjIxMjc1OTQ2NDk3OTE3MTc1XSwgWzE1OTUwODk4NzkuMTMyNTcxLCAyMDg5LCAwLjIyNTQ5NDU5MzM4MTg4MTddLCBbMTU5NTA4OTg4NC4wNzk5MTEsIDIwOTQsIDAuMjE5MzgxNjE1NTE5NTIzNjJdLCBbMTU5NTA4OTg4Ni4wMDQzMDYsIDIwOTYsIDAuMjU3NDM3MDIwNTQwMjM3NF0sIFsxNTk1MDg5OTAwLjY4NDgwOCwgMjExMSwgMC4yNDc1NDA5MjA5NzI4MjQxXSwgWzE1OTUwODk5MzQuNDUwNTc1LCAyMTQ1LCAwLjI5NDg1NDk2ODc4NjIzOTZdLCBbMTU5NTA4OTkzOC4xOTM3MTEsIDIxNDksIDAuMTc1MzY1NjQxNzEzMTQyNF0sIFsxNTk1MDg5OTQwLjExNDYwNywgMjE1MSwgMC4xODM1ODQ2MDA2ODcwMjY5OF0sIFsxNTk1MDg5OTQ1LjAyNzAyNCwgMjE1NiwgMC4xOTkxMTAxMjA1MzQ4OTY4NV0sIFsxNTk1MDg5OTUzLjc1NzM5OSwgMjE2NSwgMC4xODA0OTIyMzcyMTAyNzM3NF0sIFsxNTk1MDg5OTYxLjU5MDUyOCwgMjE3MywgMC4xOTgzMjA4NjU2MzExMDM1Ml0sIFsxNTk1MDg5OTY1LjQ4OTEzMiwgMjE3NywgMC4yMDc1NTg5MDAxMTc4NzQxNV0sIFsxNTk1MDg5OTc1LjM1Mzc4NywgMjE4NywgMC4xODU4Mzc0Nzc0NDU2MDI0Ml0sIFsxNTk1MDg5OTc3LjMzMzI4MywgMjE4OSwgMC4yMDA3OTY1NDQ1NTE4NDkzN10sIFsxNTk1MDg5OTc5LjI2MzAzOCwgMjE5MSwgMC4yMzE3MzI1MTc0ODA4NTAyMl0sIFsxNTk1MDg5OTgwLjI0MTU4MiwgMjE5MiwgMC4xNzU0MDEwMDIxNjg2NTU0XSwgWzE1OTUwODk5ODQuMjA2NzYsIDIxOTYsIDAuMTczMzAzNjQ4ODI5NDYwMTRdLCBbMTU5NTA4OTk4Ny4yMzMyNTcsIDIxOTksIDAuMTg2MjI0MDEzNTY2OTcwODNdLCBbMTU5NTA4OTk5NS4xODY4MTcsIDIyMDcsIDAuMTgwODExMjExNDY2Nzg5MjVdLCBbMTU5NTA4OTk5OS4wMzc5NjIsIDIyMTEsIDAuMTg5MzU3MTMxNzE5NTg5MjNdLCBbMTU5NTA5MDAxMi44NTM5MjYsIDIyMjUsIDAuMTg2NzE1MzY0NDU2MTc2NzZdLCBbMTU5NTA5MDAxOC42NDYzNTMsIDIyMzEsIDAuMjM0MjkwNTQwMjE4MzUzMjddLCBbMTU5NTA5MDAyMy41MjI2NDYsIDIyMzYsIDAuMjAxMzAwMjc4MzA2MDA3MzldLCBbMTU5NTA5MDAyNC41NjA0NDIsIDIyMzcsIDAuMTg5OTYyNjQwNDA0NzAxMjNdLCBbMTU5NTA5MDAyNi41NTEwMTcsIDIyMzksIDAuMTc0MzQ4NzQxNzY5NzkwNjVdLCBbMTU5NTA5MDAyOS40NzM4OTIsIDIyNDIsIDAuMTg2MTAzNDc4MDc0MDczOF0sIFsxNTk1MDkwMDMxLjM1MTQ1NywgMjI0NCwgMC4xNzY2NDYwNTM3OTEwNDYxNF0sIFsxNTk1MDkwMDMzLjQxMTE5NSwgMjI0NiwgMC4yNjE5NTQ4NDM5OTc5NTUzXSwgWzE1OTUwOTAwMzQuMzkxNjQ0LCAyMjQ3LCAwLjIyOTM0MzQ3MzkxMTI4NTRdLCBbMTU5NTA5MDA0MS4zNjc5MjQsIDIyNTQsIDAuNDIwODI3MTIwNTQyNTI2MjVdLCBbMTU5NTA5MDA0NC4zMjE1NDUsIDIyNTcsIDAuMTk2NTU3NDQ3MzE0MjYyNF0sIFsxNTk1MDkwMDQ5LjExOTEzMSwgMjI2MiwgMC4xODIzMTU5NDU2MjUzMDUxOF0sIFsxNTk1MDkwMDY3Ljg3OTI4NiwgMjI4MSwgMC4yNTgxODY2OTc5NTk4OTk5XSwgWzE1OTUwOTAwNzcuNDY4MjEzLCAyMjkxLCAwLjI0MjI0MjA2ODA1MjI5MTg3XSwgWzE1OTUwOTAwODMuNDA3NjY4LCAyMjk3LCAwLjIzNjAwOTE4MDU0NTgwNjg4XSwgWzE1OTUwOTAwODkuMjgxNSwgMjMwMywgMC4yMjk5NDU1MjU1MjcwMDA0M10sIFsxNTk1MDkwMDkzLjIxNTM0NSwgMjMwNywgMC4yMTY5MTAzNjIyNDM2NTIzNF0sIFsxNTk1MDkwMDk0LjE1MzI2NSwgMjMwOCwgMC4yMTgyMzcxMTY5MzI4Njg5Nl0sIFsxNTk1MDkwMTA0Ljg3OTg2MywgMjMxOSwgMC4xNzUyNDQxNTI1NDU5Mjg5Nl0sIFsxNTk1MDkwMTA1Ljg2MzU1OCwgMjMyMCwgMC4xNjQ4ODE1Mjc0MjM4NTg2NF0sIFsxNTk1MDkwMTIwLjMyNDAyNSwgMjMzNSwgMC4yMTQyNTkzMjY0NTc5NzczXSwgWzE1OTUwOTAxMjkuODUzOTA0LCAyMzQ1LCAwLjE2NTkzNjg1NzQ2MTkyOTMyXSwgWzE1OTUwOTAxMzguNjA1MTk4LCAyMzU0LCAwLjIwNjI4NjU5NDI3MTY1OTg1XSwgWzE1OTUwOTAxNTUuMTUxMDgxLCAyMzcxLCAwLjIwNzM4NTgwODIyOTQ0NjRdLCBbMTU5NTA5MDE3Mi41Njg0NDIsIDIzODksIDAuMTY0MDI4MjI3MzI5MjU0MTVdLCBbMTU5NTA5MDE3My41ODIxNiwgMjM5MCwgMC4yMzkwNDAwMTcxMjc5OTA3Ml0sIFsxNTk1MDkwMTc1LjU0MDk2NCwgMjM5MiwgMC4xNzgwODAxODYyNDc4MjU2Ml0sIFsxNTk1MDkwMTg1LjI4Nzg5MywgMjQwMiwgMC4xNjk3NDY1MTgxMzUwNzA4XSwgWzE1OTUwOTAxODkuMjMxNDksIDI0MDYsIDAuMjA4MTQyNzU3NDE1NzcxNDhdLCBbMTU5NTA5MDIwNy41ODU2NDEsIDI0MjUsIDAuMTk3MTY2Nzg1NTk3ODAxMl0sIFsxNTk1MDkwMjE4LjI5ODEwOSwgMjQzNiwgMC4xNTM5MzY5NTIzNTI1MjM4XSwgWzE1OTUwOTAyMjYuMjM0ODQyLCAyNDQ0LCAwLjIyNTI4NDcxMDUyNjQ2NjM3XSwgWzE1OTUwOTAyMzIuMzA1NTE2LCAyNDUwLCAwLjE4MDYxMTgzMzkzMDAxNTU2XSwgWzE1OTUwOTAyMzMuMjI1NzAzLCAyNDUxLCAwLjE5Nzk3MjU5NTY5MTY4MDldLCBbMTU5NTA5MDIzNS4yMTA0MDYsIDI0NTMsIDAuMTY3NjgwNjA2MjQ1OTk0NTddLCBbMTU5NTA5MDIzNy4xMzkzODYsIDI0NTUsIDAuMTczNTY5OTQ3NDgxMTU1NF0sIFsxNTk1MDkwMjQxLjk5NjM3NSwgMjQ2MCwgMC4yODQ1NjIyNTk5MTI0OTA4NF0sIFsxNTk1MDkwMjY2LjkyMzc5NSwgMjQ4NSwgMC4yMDYyMzQ0NzAwMDk4MDM3N10sIFsxNTk1MDkwMjY3Ljk0MjE2MiwgMjQ4NiwgMC4xNzk4Nzc2MjM5MTU2NzIzXSwgWzE1OTUwOTAyNzcuOTI4ODI0LCAyNDk2LCAwLjE4MTI2MDczNDc5NjUyNDA1XSwgWzE1OTUwOTAyNzkuOTI5NzMyLCAyNDk4LCAwLjE4ODkxMjM5MTY2MjU5NzY2XSwgWzE1OTUwOTAyODQuNzQyMjIsIDI1MDMsIDAuMTg4NTU1MTUxMjI0MTM2MzVdLCBbMTU5NTA5MDI5OC42MzM4MiwgMjUxNywgMC4xNDcwMjQzNDgzNzgxODE0Nl0sIFsxNTk1MDkwMzA0LjM2ODU3OCwgMjUyMywgMC4xODQ3MjkyNzgwODc2MTU5N10sIFsxNTk1MDkwMzExLjM3ODA4NCwgMjUzMCwgMC4yMTcxMjU3MTM4MjUyMjU4M10sIFsxNTk1MDkwMzEzLjQ2NDYyNywgMjUzMiwgMC4yMDE3OTYzMjMwNjA5ODkzOF0sIFsxNTk1MDkwMzI4LjM3NzY3OCwgMjU0NywgMC4yOTY1MTAyNDkzNzYyOTddLCBbMTU5NTA5MDMzMi43MTgyOTMsIDI1NTEsIDAuMjEyMDAwNzU3NDU1ODI1OF0sIFsxNTk1MDkwMzM0LjM3NDIwMiwgMjU1MywgMC4yNTAzMjk1NTQwODA5NjMxM10sIFsxNTk1MDkwMzQ3LjE4NjI4NSwgMjU2NiwgMC4yMzU3NjkyNzE4NTA1ODU5NF0sIFsxNTk1MDkwMzU5LjAyMzI1OSwgMjU3OCwgMC4yNTUzMDg3MTc0ODkyNDI1NV0sIFsxNTk1MDkwMzcwLjk1MDU0OCwgMjU5MCwgMC4yNTU0OTgxNDEwNTAzMzg3NV0sIFsxNTk1MDkwMzcxLjkxNDc3OSwgMjU5MSwgMC4yMjU5ODA1MDUzNDcyNTE5XSwgWzE1OTUwOTAzNzIuODg4NzA0LCAyNTkyLCAwLjI4MzgwODA1MjUzOTgyNTQ0XSwgWzE1OTUwOTAzODAuODQ3MDQ2LCAyNjAwLCAwLjIzMjIxMzU3MTY2NzY3MTJdLCBbMTU5NTA5MDM4Ni44NTQzMDcsIDI2MDYsIDAuMjg2NjkzODQxMjE4OTQ4MzZdLCBbMTU5NTA5MDQwMy44MTY4NywgMjYyMywgMC4zNDU1NTEzMTE5Njk3NTcxXSwgWzE1OTUwOTA0MDkuNzgyNjE2LCAyNjI5LCAwLjIxMTc4NTYyOTM5MTY3MDIzXSwgWzE1OTUwOTA0MTAuNzQxOTk4LCAyNjMwLCAwLjIyMzUyMTg3MzM1NDkxMThdLCBbMTU5NTA5MDQxOS4wNDY1NCwgMjYzOCwgMC4yMDQ5NjUxMjk0OTQ2NjcwNV0sIFsxNTk1MDkwNDI0LjcwNTQ0MSwgMjY0NCwgMC4yNDE3ODg0MzIwMDIwNjc1N10sIFsxNTk1MDkwNDMwLjgwODM0NywgMjY1MCwgMC4yMDg5OTUyNTI4NDc2NzE1XSwgWzE1OTUwOTA0MzUuNzMxNzE0LCAyNjU1LCAwLjIwNDQ4MjE1MzA1ODA1MjA2XSwgWzE1OTUwOTA0NTguNjUyNzcxLCAyNjc4LCAwLjIwNTUzMTgwNTc1MzcwNzg5XSwgWzE1OTUwOTA0NjAuNTQxOTQ3LCAyNjgwLCAwLjE3NjAxMjUxNjAyMTcyODUyXSwgWzE1OTUwOTA0NjUuMzU3OTIyLCAyNjg1LCAwLjIzMTE1NTIzMTU5NTAzOTM3XSwgWzE1OTUwOTA0NzAuMjkwMTI3LCAyNjkwLCAwLjE0NzE1MjUxMzI2NTYwOTc0XSwgWzE1OTUwOTA0ODMuMTQwMjI3LCAyNzAzLCAwLjE5NTAwMjcwNDg1ODc3OTldLCBbMTU5NTA5MDQ5MC4xMTk2NCwgMjcxMCwgMC4xNzAwMTU5NjA5MzE3Nzc5NV0sIFsxNTk1MDkwNTA0LjgxOTY5NCwgMjcyNSwgMC4yMjIwMzc4NTE4MTA0NTUzMl0sIFsxNTk1MDkwNTE2LjYwODQ1NiwgMjczNywgMC4xODEzNDA5OTI0NTA3MTQxXSwgWzE1OTUwOTA1MTkuNDk3MDAyLCAyNzQwLCAwLjIyNDUwOTYyNjYyNjk2ODM4XSwgWzE1OTUwOTA1MzMuMTk0OTg4LCAyNzU0LCAwLjE3NzgxNTgyNDc0NzA4NTU3XSwgWzE1OTUwOTA1MzQuMTA4Mzk1LCAyNzU1LCAwLjE4MjUyMjE5MjU5NzM4OTIyXSwgWzE1OTUwOTA1MzYuMDcxMTI1LCAyNzU3LCAwLjMyNDMyOTA3ODE5NzQ3OTI1XSwgWzE1OTUwOTA1NjcuMDgyNTA4LCAyNzg5LCAwLjE5MTQwMjY4ODYyMjQ3NDY3XSwgWzE1OTUwOTA1NjguMTQ0OTg3LCAyNzkwLCAwLjMwMTY3MDc4OTcxODYyNzkzXSwgWzE1OTUwOTA1NjkuMTI5MDc4LCAyNzkxLCAwLjIwODY0NzgzMjI3NDQzNjk1XSwgWzE1OTUwOTA1NzYuMDg0NDIxLCAyNzk4LCAwLjI5NTA5MTYyOTAyODMyMDNdLCBbMTU5NTA5MDU4Ny4xMTI3ODksIDI4MDksIDAuMjkzMTQ4NjY2NjIwMjU0NV0sIFsxNTk1MDkwNjAxLjkxOTkxOSwgMjgyNCwgMC4yNzQ0MzM4NTEyNDIwNjU0M10sIFsxNTk1MDkwNjA0LjkyODI3NiwgMjgyNywgMC4xOTYxMjc3MTI3MjY1OTMwMl0sIFsxNTk1MDkwNjA2Ljk0MzQ1MywgMjgyOSwgMC4yMDg2MzkyOTM5MDkwNzI4OF0sIFsxNTk1MDkwNjM1Ljc0MzM2MiwgMjg1OSwgMC4yMzQzNTkwNTU3NTc1MjI1OF0sIFsxNTk1MDkwNjQ4LjM4OTAzNiwgMjg3MiwgMC4yNjEwMjc4MTI5NTc3NjM2N10sIFsxNTk1MDkwNjU3LjAzMzc3NCwgMjg4MSwgMC4yNDAzMzI2MTgzNTU3NTEwNF0sIFsxNTk1MDkwNjY1LjcyMzk3NCwgMjg5MCwgMC4xNzk3NzUyODI3NDA1OTI5Nl0sIFsxNTk1MDkwNjcxLjU5OTYwMiwgMjg5NiwgMC4yMTMxNDM2NzY1MTkzOTM5Ml0sIFsxNTk1MDkwNjc1LjUzNTg3OCwgMjkwMCwgMC4xNTcxMTg0Njk0NzY2OTk4M10sIFsxNTk1MDkwNjkxLjk2NzAzMywgMjkxNywgMC4xOTEyNTcwMjk3NzE4MDQ4XSwgWzE1OTUwOTA2OTMuODcwNTMxLCAyOTE5LCAwLjE4MjM5MzM0MjI1NjU0NjAyXSwgWzE1OTUwOTA2OTQuOTc1NTYsIDI5MjAsIDAuMTk4MTkxNDkzNzQ5NjE4NTNdLCBbMTU5NTA5MDY5NS45MjA0MTYsIDI5MjEsIDAuMTg4NDU3ODMxNzQwMzc5MzNdLCBbMTU5NTA5MDcwNi41OTcyMSwgMjkzMiwgMC4xNTk4MDA4NTczMDU1MjY3M10sIFsxNTk1MDkwNzIzLjk4OTc4MywgMjk1MCwgMC4xNzY1NTY2NzY2MjYyMDU0NF0sIFsxNTk1MDkwNzQwLjUyMTA4NiwgMjk2NywgMC4xOTc5ODExMDQyNTQ3MjI2XSwgWzE1OTUwOTA3NDguMzc4NDIyLCAyOTc1LCAwLjI0MjY3NDk5MTQ4ODQ1NjczXSwgWzE1OTUwOTA3NzAuOTYyMDU5LCAyOTk4LCAwLjIwODY0MzQ2NjIzNDIwNzE1XSwgWzE1OTUwOTA3NzkuNjIzMywgMzAwNywgMC4yNDYyMjgzNjcwOTAyMjUyMl0sIFsxNTk1MDkwNzgxLjUzNzM1NCwgMzAwOSwgMC4xNzEzMjk4ODU3MjEyMDY2N10sIFsxNTk1MDkwNzgzLjQ5NTg5OCwgMzAxMSwgMC4xNzYzOTE1MjcwNTY2OTQwM10sIFsxNTk1MDkwNzg3LjM3ODU5NywgMzAxNSwgMC4xOTcwOTg1NjgwODE4NTU3N10sIFsxNTk1MDkwNzg4LjM3NzgzNCwgMzAxNiwgMC4xNjg1NTc3NzgwMDA4MzE2XSwgWzE1OTUwOTA3OTkuMTUxMzAxLCAzMDI3LCAwLjE2OTIxMTIzODYyMjY2NTRdLCBbMTU5NTA5MDgwMi4wODk4MzIsIDMwMzAsIDAuMTUyNzA3MzIzNDMxOTY4N10sIFsxNTk1MDkwODA5Ljk0NjY5OCwgMzAzOCwgMC4yNjUwNzI2MTM5NTQ1NDQwN10sIFsxNTk1MDkwODEyLjc4MDMyOSwgMzA0MSwgMC4yMDc4NzMwNjEyOTkzMjQwNF0sIFsxNTk1MDkwODIxLjI4NTU3NywgMzA1MCwgMC4xNjk4NjQ3MjkwNDY4MjE2XSwgWzE1OTUwOTA4MzUuNjk2MzQ3LCAzMDY1LCAwLjE4ODg2MDEzMzI5MDI5MDgzXSwgWzE1OTUwOTA4MzkuNTQ3ODgzLCAzMDY5LCAwLjE3MjgwNDgwMjY1NjE3MzddLCBbMTU5NTA5MDg0MS40MDkxMzYsIDMwNzEsIDAuMTczMDc4MDYwMTUwMTQ2NDhdLCBbMTU5NTA5MDg1NS43MjE2MDYsIDMwODYsIDAuMTUxNzk1Nzc0Njk4MjU3NDVdLCBbMTU5NTA5MDg2OC4yMzI1NzMsIDMwOTksIDAuMTQ5MTgxMTI3NTQ4MjE3NzddLCBbMTU5NTA5MDg5MS4wODU5NDQsIDMxMjIsIDAuMTMzNDQ5NzMzMjU3MjkzN10sIFsxNTk1MDkwOTA1LjUyODQxNSwgMzEzNywgMC4xNjYyMjE5NDY0Nzc4OTAwMV0sIFsxNTk1MDkwOTA2LjUyNjY0NywgMzEzOCwgMC4xNDgyOTk5OTIwODQ1MDMxN10sIFsxNTk1MDkwOTEzLjM0ODMzMiwgMzE0NSwgMC4xNjIwNzQ5Mzg0MTY0ODEwMl0sIFsxNTk1MDkwOTE4LjE4MjczMSwgMzE1MCwgMC4xNDEyMzUzNjY0NjM2NjEyXSwgWzE1OTUwOTA5MjMuMTI0MDIyLCAzMTU1LCAwLjEzMjI4MzI4NTI2MDIwMDVdLCBbMTU5NTA5MDkyNy4wMDA3NjYsIDMxNTksIDAuMTc0NDUyNzUxODc0OTIzN10sIFsxNTk1MDkwOTI4Ljg3NTA0MywgMzE2MSwgMC4xMzkxNzY1NzczMjk2MzU2Ml0sIFsxNTk1MDkwOTQ0LjQyMDM5NSwgMzE3NywgMC4xNTcyMjkyNzQ1MTEzMzcyOF0sIFsxNTk1MDkwOTYxLjk2MTY4MSwgMzE5NSwgMC4xMjUzMTE2ODc1ODg2OTE3XSwgWzE1OTUwOTA5NjIuOTQwODU0LCAzMTk2LCAwLjE0ODIxNDAxMjM4NDQxNDY3XSwgWzE1OTUwOTA5NjkuNjgxNjU2LCAzMjAzLCAwLjEyNzI4ODI4MTkxNzU3MjAyXSwgWzE1OTUwOTA5NzIuNjIxOTU4LCAzMjA2LCAwLjE0MjM0NTYwNzI4MDczMTJdLCBbMTU5NTA5MDk5NS45ODAyOTMsIDMyMzAsIDAuMTY1NzUyODg3NzI1ODMwMDhdLCBbMTU5NTA5MDk5OC44NTgzMzEsIDMyMzMsIDAuMTU3OTYyNzU0MzY4NzgyMDRdLCBbMTU5NTA5MTAwNS45MTk3MTgsIDMyNDAsIDAuMTQ3NDU5OTA5MzE5ODc3NjJdLCBbMTU5NTA5MTAwOC44NjY4MjYsIDMyNDMsIDAuMTI3MDk1NDAxMjg3MDc4ODZdLCBbMTU5NTA5MTAwOS43ODk5NTcsIDMyNDQsIDAuMTU2MjIzMzQxODIyNjI0Ml0sIFsxNTk1MDkxMDExLjY4OTY0MiwgMzI0NiwgMC4xMzY3NzMyODgyNDk5Njk0OF0sIFsxNTk1MDkxMDEyLjYzNjc1MiwgMzI0NywgMC4xNDI3NTE2NDkwMjIxMDIzNl0sIFsxNTk1MDkxMDMyLjM2Njc5MywgMzI2NywgMC4xNjY1NTU1ODM0NzcwMjAyNl0sIFsxNTk1MDkxMDM3LjMzNjcxOSwgMzI3MiwgMC4xNTUxOTMyNjkyNTI3NzcxXSwgWzE1OTUwOTEwNDUuOTk1MzE0LCAzMjgxLCAwLjE2NTM0MTAwNDcyOTI3MDk0XSwgWzE1OTUwOTEwNDcuOTY4NjQ3LCAzMjgzLCAwLjE1NDMxNjM2NTcxODg0MTU1XSwgWzE1OTUwOTEwNjkuMzQ2MDE5LCAzMzA1LCAwLjE0NDg4OTQxNDMxMDQ1NTMyXSwgWzE1OTUwOTEwNzcuMDEwNDE1LCAzMzEzLCAwLjEzNDMwMDg0Mjg4MTIwMjddLCBbMTU5NTA5MTA5MC41NzM1MSwgMzMyNywgMC4xNDI3Mjk2OTk2MTE2NjM4Ml0sIFsxNTk1MDkxMDkxLjU1MTUxNiwgMzMyOCwgMC4xNTQ2MjM4MzYyNzg5MTU0XSwgWzE1OTUwOTEwOTYuNDk2ODIsIDMzMzMsIDAuMTk0MTEzMTA1NTM1NTA3Ml0sIFsxNTk1MDkxMTAxLjM4Nzc1NCwgMzMzOCwgMC4xNTAzMDgxNjE5NzM5NTMyNV0sIFsxNTk1MDkxMTA4LjA4NzY4NiwgMzM0NSwgMC4xMjc2NzcyNjE4MjkzNzYyMl0sIFsxNTk1MDkxMTM2LjQ2NDkyMSwgMzM3NCwgMC4xODUxNjkxMzA1NjM3MzU5Nl0sIFsxNTk1MDkxMTM4LjM3MDI1MywgMzM3NiwgMC4xNDIzNTkyNDE4NDMyMjM1N10sIFsxNTk1MDkxMTQwLjI5OTUzOSwgMzM3OCwgMC4xNTU3MjU0NzkxMjU5NzY1Nl0sIFsxNTk1MDkxMTQ4LjExNzE2MSwgMzM4NiwgMC4xNTMxNTA1NTg0NzE2Nzk3XSwgWzE1OTUwOTExNjUuMDYyODM4LCAzNDAzLCAwLjEzNTM2NzI3NDI4NDM2MjhdLCBbMTU5NTA5MTE2OS4zNjI2OTksIDM0MDgsIDAuMTQzMzY1MTg5NDMzMDk3ODRdLCBbMTU5NTA5MTE5MS4wMzQ2NjYsIDM0MzAsIDAuMTQwNjU5NjAwNDk2MjkyMTFdLCBbMTU5NTA5MTE5NC4wNTE4NTMsIDM0MzMsIDAuMTIwOTI0ODQ1MzM3ODY3NzRdLCBbMTU5NTA5MTE5OS4xNTE2MDcsIDM0MzgsIDAuMTQxOTk2OTk0NjE0NjAxMTRdLCBbMTU5NTA5MTIwNS44NTQ0MzMsIDM0NDUsIDAuMTQzNzY0Mzc2NjQwMzE5ODJdLCBbMTU5NTA5MTIwOS43MTU0NTUsIDM0NDksIDAuMTQ2OTI3MDI4ODk0NDI0NDRdLCBbMTU5NTA5MTIxMS43NzEyMDMsIDM0NTEsIDAuMTU3NTgwMTA3NDUwNDg1MjNdLCBbMTU5NTA5MTIxNy43MTE2NzksIDM0NTcsIDAuMTM3OTE5OTQ3NTA0OTk3MjVdLCBbMTU5NTA5MTIxOC42NzA3MDQsIDM0NTgsIDAuMTMzNTgyODAwNjI2NzU0NzZdLCBbMTU5NTA5MTIyNC43NjkxOSwgMzQ2NCwgMC4xNDk4OTYyMDQ0NzE1ODgxM10sIFsxNTk1MDkxMjMxLjU0NzM2NSwgMzQ3MSwgMC4xNjE3Nzg1OTkwMjM4MTg5N10sIFsxNTk1MDkxMjM3LjU3NzA1OSwgMzQ3NywgMC4xNTYwODc2ODE2NTExMTU0Ml0sIFsxNTk1MDkxMjQwLjQ0MTA4NywgMzQ4MCwgMC4xMjEyMzU2OTg0NjE1MzI1OV0sIFsxNTk1MDkxMjU2Ljk4NzQ0NywgMzQ5NywgMC4xMjg4MDYzNjc1MTY1MTc2NF0sIFsxNTk1MDkxMjU5LjA4NTM1MiwgMzQ5OSwgMC4xNDY4MjAzMzY1ODAyNzY1XSwgWzE1OTUwOTEyNjguNzkwOTkyLCAzNTA5LCAwLjEzMjA0MDY3OTQ1NDgwMzQ3XSwgWzE1OTUwOTEyNzEuODQ1MDE0LCAzNTEyLCAwLjEzNjMyODA3MTM1NTgxOTddLCBbMTU5NTA5MTI3OC43NTIxMTYsIDM1MTksIDAuMTI2MzgyNDk5OTMzMjQyOF0sIFsxNTk1MDkxMjk0LjAzMjAwNCwgMzUzNSwgMC4xMzIzNTYzMzA3NTIzNzI3NF0sIFsxNTk1MDkxMjk1Ljk1MDM5LCAzNTM3LCAwLjEzNjYxNzU0MTMxMzE3MTRdLCBbMTU5NTA5MTMwMS44NzY2NTcsIDM1NDMsIDAuMTUxNzQ3MzQ1OTI0Mzc3NDRdLCBbMTU5NTA5MTMwNS42NzM3MDIsIDM1NDcsIDAuMTM1OTU0NDY5NDQyMzY3NTVdLCBbMTU5NTA5MTMwNy43MDU1MDMsIDM1NDksIDAuMTQzNTMyMzk1MzYyODU0XSwgWzE1OTUwOTEzMjEuMzQyODA1LCAzNTYzLCAwLjEyMTU0MjgzMzc0NTQ3OTU4XSwgWzE1OTUwOTEzMzcuOTc4MjE0LCAzNTgwLCAwLjEzMTQ0NjAwMzkxMzg3OTRdLCBbMTU5NTA5MTM0OS42OTA0NTcsIDM1OTIsIDAuMTUwODU4MTE5MTMwMTM0NThdLCBbMTU5NTA5MTM1Ny41NzE2ODgsIDM2MDAsIDAuMTIwMzEwMDA4NTI1ODQ4MzldLCBbMTU5NTA5MTM3NC45NzkzOTEsIDM2MTgsIDAuMTQ5NzA3NDM2NTYxNTg0NDddLCBbMTU5NTA5MTM3Ni45NjMxMDUsIDM2MjAsIDAuMTE4MDQzMDY1MDcxMTA1OTZdLCBbMTU5NTA5MTM3OC44MDI0MjYsIDM2MjIsIDAuMTMxMjA3Nzc5MDQ5ODczMzVdLCBbMTU5NTA5MTM4MS43NDQyOTMsIDM2MjUsIDAuMTYzMTUyMjc3NDY5NjM1XSwgWzE1OTUwOTEzODQuNTgwMTk5LCAzNjI4LCAwLjE0ODQ1NTM4MTM5MzQzMjYyXSwgWzE1OTUwOTE0MDEuMjI5MjMsIDM2NDUsIDAuMTIwODI4NjA2MTg4Mjk3MjddLCBbMTU5NTA5MTQxMS44MTk5MzIsIDM2NTYsIDAuMTQ1NzI2ODE0ODY2MDY1OThdLCBbMTU5NTA5MTQxMy4xOTAzNjcsIDM2NTcsIDAuMTU4NDkxMzU4MTYwOTcyNl0sIFsxNTk1MDkxNDI1LjYyNjIwNSwgMzY3MCwgMC4xNDAwMzU3NzgyODQwNzI4OF0sIFsxNTk1MDkxNDU0Ljc4NjM2MSwgMzcwMCwgMC4xNDc5MDQ1NzQ4NzEwNjMyM10sIFsxNTk1MDkxNDU2Ljc5MjM3NywgMzcwMiwgMC4xMTg4MjYxMjEwOTE4NDI2NV0sIFsxNTk1MDkxNDgwLjMzNDE1LCAzNzI2LCAwLjExNzM1MzIxNTgxMzYzNjc4XSwgWzE1OTUwOTE0ODQuMjIwNzM2LCAzNzMwLCAwLjE0NTA1MTQzNDYzNjExNjAzXSwgWzE1OTUwOTE0ODYuMjAzODgsIDM3MzIsIDAuMTEwMTQyNzIyNzI1ODY4MjNdLCBbMTU5NTA5MTQ5MS45NzY5NDQsIDM3MzgsIDAuMTIzNDQ5MTMxODQ2NDI3OTJdLCBbMTU5NTA5MTQ5NC44NTUzNDgsIDM3NDEsIDAuMTYwODE2MjM3MzMwNDM2N10sIFsxNTk1MDkxNDk2Ljg1ODI3NywgMzc0MywgMC4xMjgxOTA4NDUyNTEwODMzN10sIFsxNTk1MDkxNTA1LjYxNTUyNywgMzc1MiwgMC4xNDM2MTY0ODI2MTU0NzA5XSwgWzE1OTUwOTE1MTIuNDI5MjY4LCAzNzU5LCAwLjEyODA3Mzk5MDM0NTAwMTIyXSwgWzE1OTUwOTE1MjUuNzkzMzE5LCAzNzcyLCAwLjEyMDk3NDk0MzA0MTgwMTQ1XSwgWzE1OTUwOTE1MzMuMDc3Mzk3LCAzNzgwLCAwLjEzODg3MjkzNjM2Nzk4ODZdLCBbMTU5NTA5MTU0NS43MDczODMsIDM3OTMsIDAuMTE3MDIxMDYxNDgwMDQ1MzJdLCBbMTU5NTA5MTU0Ny42NDY3ODIsIDM3OTUsIDAuMTIwMzc3NzQ5MjA0NjM1NjJdLCBbMTU5NTA5MTU1MC41NzM3MDgsIDM3OTgsIDAuMTM1NTc4MDk1OTEyOTMzMzVdLCBbMTU5NTA5MTU2Mi4yODI0MjEsIDM4MTAsIDAuMTUwODMzMjE5Mjg5Nzc5NjZdLCBbMTU5NTA5MTU2Ni4yNDE1ODUsIDM4MTQsIDAuMTE2Njc4NTA2MTM1OTQwNTVdLCBbMTU5NTA5MTU3MS4wNTMyMzUsIDM4MTksIDAuMTQ1NTQ5NTIwODUwMTgxNThdLCBbMTU5NTA5MTU3Mi45NTMxMSwgMzgyMSwgMC4xNDA4NDg4NDUyNDM0NTM5OF0sIFsxNTk1MDkxNTgyLjY1Nzg2MywgMzgzMSwgMC4xNzA1NjY4MjcwNTg3OTIxMV0sIFsxNTk1MDkxNTg2LjYxMTQ0OSwgMzgzNSwgMC4xNTk0NjAzMzU5Njk5MjQ5M10sIFsxNTk1MDkxNTk5LjE4MTQ0OSwgMzg0OCwgMC4xMzAzMDY0MjI3MTA0MTg3XSwgWzE1OTUwOTE2MTQuNzUxODI3LCAzODY0LCAwLjEyMDMzOTkzMDA1NzUyNTYzXSwgWzE1OTUwOTE2MTkuNzAyMzA1LCAzODY5LCAwLjExOTcwNzY3Mzc4ODA3MDY4XSwgWzE1OTUwOTE2MjYuNDAwNzM4LCAzODc2LCAwLjE1ODgxOTUxMTUzMjc4MzVdLCBbMTU5NTA5MTY1MC42MDMwMTEsIDM5MDEsIDAuMTcwNzc2MTU4NTcxMjQzM10sIFsxNTk1MDkxNjUxLjU0ODg4LCAzOTAyLCAwLjExNTg3NDk3NTkxOTcyMzUxXSwgWzE1OTUwOTE2NTkuMzIzODYzLCAzOTEwLCAwLjEwOTA0OTQ5OTAzNDg4MTU5XSwgWzE1OTUwOTE2NjkuMDAwODU4LCAzOTIwLCAwLjEyOTIxNjU5NjQ4NDE4NDI3XSwgWzE1OTUwOTE2NzYuODM4MjczLCAzOTI4LCAwLjEyNjc4MDA0ODAxMjczMzQ2XSwgWzE1OTUwOTE2ODMuNTkwMjEsIDM5MzUsIDAuMTI3OTgyNDUyNTExNzg3NDFdLCBbMTU5NTA5MTY4Ny40NzE5OTgsIDM5MzksIDAuMTk4NzIyMzMyNzE1OTg4MTZdLCBbMTU5NTA5MTY5OC4xMTg3MjcsIDM5NTAsIDAuMTM5NjU4ODM4NTEwNTEzM10sIFsxNTk1MDkxNzA0LjE2NDA2LCAzOTU2LCAwLjEwNzE5NjcxMTAwMzc4MDM2XSwgWzE1OTUwOTE3MDkuODI0NTI2LCAzOTYyLCAwLjExODk2OTk5MTgwMzE2OTI1XSwgWzE1OTUwOTE3MzEuMzM3NTY5LCAzOTg0LCAwLjExMDQzNTM4MTUzMTcxNTRdLCBbMTU5NTA5MTc0MS45NzAzODcsIDM5OTUsIDAuMTMzNDcwNzE0MDkyMjU0NjRdLCBbMTU5NTA5MTc0Ni43MDc0MDksIDQwMDAsIDAuMTE4MzczMzM0NDA3ODA2NF0sIFsxNTk1MDkxNzU1LjM3NTAzNSwgNDAwOSwgMC4xMTYzNzc3ODU4MDE4ODc1MV0sIFsxNTk1MDkxNzU2LjM0NzQ3MywgNDAxMCwgMC4xMTgwNDM2NjExMTc1NTM3MV0sIFsxNTk1MDkxNzY4LjA4NjAyOSwgNDAyMiwgMC4xMjc1NDQ5NjkzMjAyOTcyNF0sIFsxNTk1MDkxNzc4Ljg4OTcyOSwgNDAzMywgMC4xMjI4NTQ3OTE1ODE2MzA3XSwgWzE1OTUwOTE3ODEuODA2Nzc4LCA0MDM2LCAwLjEzOTI5OTk4ODc0NjY0MzA3XSwgWzE1OTUwOTE3OTEuNDM1MTI3LCA0MDQ2LCAwLjE1NjYzMjU4NzMxMzY1MjA0XSwgWzE1OTUwOTE3OTIuNDkyNzExLCA0MDQ3LCAwLjE0OTM5MzQ5ODg5NzU1MjVdLCBbMTU5NTA5MTc5My40NzEwMDEsIDQwNDgsIDAuMTMzNTQxOTQxNjQyNzYxMjNdLCBbMTU5NTA5MTgzNy4wMjIxMDYsIDQwOTMsIDAuMTQ3NjQ2Njk1Mzc1NDQyNV0sIFsxNTk1MDkxODQxLjgzNzI4LCA0MDk4LCAwLjE2MjY1OTczNDQ4NzUzMzU3XSwgWzE1OTUwOTE4NDIuODE1MDA0LCA0MDk5LCAwLjE0NzI5MzI4NDUzNTQwODAyXSwgWzE1OTUwOTE4NTIuNTg1OTk4LCA0MTA5LCAwLjE1MDc1NzM0MjU3Njk4MDZdLCBbMTU5NTA5MTkyMy4xNTIxMzgsIDQxODIsIDAuMTQ3MDA0NTc0NTM3Mjc3MjJdLCBbMTU5NTA5MTkzMy44NDc0NywgNDE5MywgMC4xNTA3MTUwNjc5ODI2NzM2NV0sIFsxNTk1MDkxOTM0LjkxMjg5MywgNDE5NCwgMC4xNTMzNTEwODMzOTc4NjUzXSwgWzE1OTUwOTE5MzYuODQ2NzkzLCA0MTk2LCAwLjE2NDUxMDU0ODExNDc3NjZdLCBbMTU5NTA5MTkzOC43MDMxMjgsIDQxOTgsIDAuMTUyMDAyMTI1OTc4NDY5ODVdLCBbMTU5NTA5MTk0MS41MTI2MTMsIDQyMDEsIDAuMTc4NDQ0OTIxOTcwMzY3NDNdLCBbMTU5NTA5MTk0Mi41NjM5MDYsIDQyMDIsIDAuMjAwNzQ2MTYzNzI1ODUyOTddLCBbMTU5NTA5MTk0NC40NzkyMjcsIDQyMDQsIDAuMTgxOTE1MTQ5MDkyNjc0MjZdLCBbMTU5NTA5MTk2Ni44ODE5MDYsIDQyMjcsIDAuMTcyMjc3NzMzNjgzNTg2MTJdLCBbMTU5NTA5MTk3MS44NTAwMDUsIDQyMzIsIDAuMTI4MTA0OTg0NzYwMjg0NDJdLCBbMTU5NTA5MTk3NC44NDc2MTcsIDQyMzUsIDAuMTU3MDgwMDI0NDgwODE5N10sIFsxNTk1MDkxOTgyLjgxOTg5MywgNDI0MywgMC4xNDgxODgyOTI5ODAxOTQxXSwgWzE1OTUwOTE5OTMuNTczMTQ1LCA0MjU0LCAwLjEzMzcxNjI4NTIyODcyOTI1XSwgWzE1OTUwOTIwMDIuNDg0MTE1LCA0MjYzLCAwLjEyNTg4MDkyNjg0NzQ1Nzg5XSwgWzE1OTUwOTIwMDUuMzMwNjM3LCA0MjY2LCAwLjEzNzY5MjM3Njk3MTI0NDhdLCBbMTU5NTA5MjAwNi4zNjA4MzYsIDQyNjcsIDAuMTI3ODUzOTc0Njk5OTc0MDZdLCBbMTU5NTA5MjAyMS4wNDYzODMsIDQyODIsIDAuMTMxNzQ3NDg0MjA3MTUzMzJdLCBbMTU5NTA5MjAzNi42Mzc5NjMsIDQyOTgsIDAuMTY2OTUzMDg2ODUzMDI3MzRdLCBbMTU5NTA5MjA0Mi40MTU5ODcsIDQzMDQsIDAuMTI1OTYwODg2NDc4NDI0MDddLCBbMTU5NTA5MjA0Ni40NTM2MjMsIDQzMDgsIDAuMTE5Nzk5MzY4MDgzNDc3MDJdLCBbMTU5NTA5MjA1NS4xMDEzNjYsIDQzMTcsIDAuMTI4NjA5NTk3NjgyOTUyODhdLCBbMTU5NTA5MjA1Ny4wNDY1MzYsIDQzMTksIDAuMTg2NjQyNzM2MTk2NTE3OTRdLCBbMTU5NTA5MjA2NS44NDIyNjMsIDQzMjgsIDAuMTI5MTkzNjMzNzk0Nzg0NTVdLCBbMTU5NTA5MjA2OS42OTk2MDYsIDQzMzIsIDAuMTg2NDA4NDg5OTQyNTUwNjZdLCBbMTU5NTA5MjA3NS42OTE5MTksIDQzMzgsIDAuMTQxNTE3OTA3MzgxMDU3NzRdLCBbMTU5NTA5MjA4MC42MjU1MiwgNDM0MywgMC4xNDI1Mjk1MzIzMTMzNDY4Nl0sIFsxNTk1MDkyMTA1LjkyMjQ0NCwgNDM2OSwgMC4xNDc5NTY2NTQ0Mjk0MzU3M10sIFsxNTk1MDkyMTE0Ljc2NTY0NSwgNDM3OCwgMC4xODc1NzAzNjMyODMxNTczNV0sIFsxNTk1MDkyMTI5LjI5OTUzNiwgNDM5MywgMC4xNjMwNzEyNzQ3NTczODUyNV0sIFsxNTk1MDkyMTM1Ljk0MjQyLCA0NDAwLCAwLjEzNDkxNTUxNTc4MDQ0ODldLCBbMTU5NTA5MjE0MS45OTkzNTUsIDQ0MDYsIDAuMTM4NjQzMTAwODU3NzM0NjhdLCBbMTU5NTA5MjE0NS45OTQ1NDcsIDQ0MTAsIDAuMTM4MDgyNzQyNjkxMDQwMDRdLCBbMTU5NTA5MjE0Ni45OTcwMTMsIDQ0MTEsIDAuMTM5NjQwMTY3MzU1NTM3NDFdLCBbMTU5NTA5MjE2NS40MTgzNzksIDQ0MzAsIDAuMTU5MjMyOTc0MDUyNDI5Ml0sIFsxNTk1MDkyMTY2LjM2NDQxNCwgNDQzMSwgMC4xOTY4NTY5NDU3NTMwOTc1M10sIFsxNTk1MDkyMTY4LjM1ODM2MywgNDQzMywgMC4xNDEwNTc1MzYwMDU5NzM4Ml0sIFsxNTk1MDkyMTc0LjE0MTc5OCwgNDQzOSwgMC4xMjk4NjE1OTMyNDY0NTk5Nl0sIFsxNTk1MDkyMjAzLjM1OTE1OSwgNDQ2OSwgMC4yMTI1ODYyNjg3ODI2MTU2Nl0sIFsxNTk1MDkyMjA5LjQ2ODIxNSwgNDQ3NSwgMC4xMzQ3NjkyMzEwODEwMDg5XSwgWzE1OTUwOTIyMTIuOTI1NDQ5LCA0NDc5LCAwLjEzMjc1MTA2MjUxMjM5Nzc3XSwgWzE1OTUwOTIyMTUuNzgxNTU0LCA0NDgyLCAwLjEyNDk0NTQwMjE0NTM4NTc0XSwgWzE1OTUwOTIyMjMuNjU0MTY2LCA0NDkwLCAwLjE0NDUxMDUzNzM4NTk0MDU1XSwgWzE1OTUwOTIyMjUuNjIzMDksIDQ0OTIsIDAuMTMyMzc3MTYyNTc1NzIxNzRdLCBbMTU5NTA5MjI0Mi4xODUxNTIsIDQ1MDksIDAuMTUwMjU5MTY2OTU1OTQ3ODhdLCBbMTU5NTA5MjI0My4xOTI1MzUsIDQ1MTAsIDAuMTM0MjQ1MjMxNzQ3NjI3MjZdLCBbMTU5NTA5MjI2MS4xNzE4NDMsIDQ1MjksIDAuMTExNzg3NDA4NTkwMzE2NzddLCBbMTU5NTA5MjI2Mi4wODQ3ODEsIDQ1MzAsIDAuMTIyMDQxNjg3MzY5MzQ2NjJdLCBbMTU5NTA5MjI2NS4wMDQ4NzEsIDQ1MzMsIDAuMTQ1MzAwMTY0ODE4NzYzNzNdLCBbMTU5NTA5MjI3My43MzQ1NjUsIDQ1NDIsIDAuMTM2MTEwMjkwODg0OTcxNjJdLCBbMTU5NTA5MjI4MS40MDUwNzUsIDQ1NTAsIDAuMTQ3NDM1Mjc3NzAwNDI0Ml0sIFsxNTk1MDkyMjgzLjMyMTkzNywgNDU1MiwgMC4xMjE1NTkwMzg3NTgyNzc5XSwgWzE1OTUwOTIyODQuMzI0NDYzLCA0NTUzLCAwLjE5NzIwNzM2MTQ1OTczMjA2XSwgWzE1OTUwOTIyOTkuMDI3MjU4LCA0NTY4LCAwLjEyNDI5MTIwMzkxNjA3Mjg1XSwgWzE1OTUwOTIzMDguNjgxNTg2LCA0NTc4LCAwLjEyODI3MDkyNDA5MTMzOTFdLCBbMTU5NTA5MjMxMS41MTE0NzEsIDQ1ODEsIDAuMTQzOTk5Mjc4NTQ1Mzc5NjRdLCBbMTU5NTA5MjMyMi40NzQxMDksIDQ1OTIsIDAuMTQ3MzExNjcyNTY4MzIxMjNdLCBbMTU5NTA5MjMyNS40OTM0NjQsIDQ1OTUsIDAuMTM1NzYxMTg2NDgwNTIyMTZdLCBbMTU5NTA5MjMyNy4zNDc5ODEsIDQ1OTcsIDAuMTQyNzgwMzc4NDYwODg0MV0sIFsxNTk1MDkyMzI5LjM5MzMxOCwgNDU5OSwgMC4xNjkwOTQ5MzUwNTk1NDc0Ml0sIFsxNTk1MDkyMzQwLjk4ODY2NCwgNDYxMSwgMC4xMzQ5OTY5NjU1Mjc1MzQ0OF0sIFsxNTk1MDkyMzU3LjUxNDEyNywgNDYyOCwgMC4xMTIxMTQxNjEyNTI5NzU0Nl0sIFsxNTk1MDkyMzcyLjE2NzA0LCA0NjQzLCAwLjE0MDA5MzUyMDI4MzY5OTA0XSwgWzE1OTUwOTIzNzcuOTYwMTg0LCA0NjQ5LCAwLjEzODQ2NjAxNTQ1ODEwN10sIFsxNTk1MDkyMzg0LjczMjg0LCA0NjU2LCAwLjExNzQ5NjE2MjY1Mjk2OTM2XSwgWzE1OTUwOTIzOTIuMzUzMDA4LCA0NjY0LCAwLjExMTY5NjYzMDcxNjMyMzg1XSwgWzE1OTUwOTIzOTYuMzAwNTM2LCA0NjY4LCAwLjEyNzY0NDY3Mjk4OTg0NTI4XSwgWzE1OTUwOTI0MDMuMzI2NjI4LCA0Njc1LCAwLjEyNTcyOTY1MDI1OTAxNzk0XSwgWzE1OTUwOTI0MDQuMzQ0MTU1LCA0Njc2LCAwLjEyNDM1OTAyNjU1MTI0NjY0XSwgWzE1OTUwOTI0MDUuMzUzOTgsIDQ2NzcsIDAuMTI2NTg1ODg1ODgyMzc3NjJdLCBbMTU5NTA5MjQxNC45MzExNjQsIDQ2ODcsIDAuMTM4NTY5NTYzNjI3MjQzMDRdLCBbMTU5NTA5MjQ0MC4yMjkwNzIsIDQ3MTMsIDAuMTE5ODAxMzk0NjQxMzk5MzhdLCBbMTU5NTA5MjQ0NS4wMzkzODIsIDQ3MTgsIDAuMTQ0ODMyNzc0OTk2NzU3NV0sIFsxNTk1MDkyNDYwLjQyODcyNiwgNDczNCwgMC4xMzI1NTk3NDY1MDM4Mjk5Nl0sIFsxNTk1MDkyNDY1LjI0OTA5NSwgNDczOSwgMC4xMzQ3MDQyMDI0MTM1NTg5Nl0sIFsxNTk1MDkyNDcxLjE5NTMwNiwgNDc0NSwgMC4xMjg4OTQ1OTcyOTE5NDY0XSwgWzE1OTUwOTI0NzUuMDU1MzU4LCA0NzQ5LCAwLjEyNTU3Nzg5NjgzMzQxOThdLCBbMTU5NTA5MjQ3Ni4xMDUxNTIsIDQ3NTAsIDAuMTUwMjQzOTk3NTczODUyNTRdLCBbMTU5NTA5MjQ4My45OTgxNjUsIDQ3NTgsIDAuMTI4NTIyNjE5NjA1MDY0NF0sIFsxNTk1MDkyNDg2Ljg3Mjk5NCwgNDc2MSwgMC4xMjI3NjA3MjgwMDE1OTQ1NF0sIFsxNTk1MDkyNDg3LjgyNDI4MywgNDc2MiwgMC4xNDczNDAwNTkyODAzOTU1XSwgWzE1OTUwOTI0ODkuNzI5MTYsIDQ3NjQsIDAuMTIwNDY2ODM1Nzk2ODMzMDRdLCBbMTU5NTA5MjQ5Mi42MDk4NjgsIDQ3NjcsIDAuMTU1OTc1MDEzOTcxMzI4NzRdLCBbMTU5NTA5MjUwMS42OTM4OTksIDQ3NzYsIDAuMTE4MzgyNjU1MDg0MTMzMTVdLCBbMTU5NTA5MjUwNS4xNTQ0NzEsIDQ3ODAsIDAuMTE5NjEwMjc5Nzk4NTA3NjldLCBbMTU5NTA5MjUwOC45OTkyNTYsIDQ3ODQsIDAuMTIxOTgxODQ0MzA1OTkyMTNdLCBbMTU5NTA5MjUxMi4wMzIwNywgNDc4NywgMC4xMzI2ODUxMzk3NzUyNzYxOF0sIFsxNTk1MDkyNTEzLjAxMjQ3MSwgNDc4OCwgMC4xMDc1NTY0OTIwOTAyMjUyMl0sIFsxNTk1MDkyNTE4LjcyNzY5NCwgNDc5NCwgMC4xMTc5MzM4NDcwMTAxMzU2NV0sIFsxNTk1MDkyNTI0LjQxMDA1NCwgNDgwMCwgMC4xMjQ4NTQ0MDgyMDQ1NTU1MV0sIFsxNTk1MDkyNTI2LjQxNDYzMSwgNDgwMiwgMC4xMTQxNDg2MTY3OTA3NzE0OF0sIFsxNTk1MDkyNTI5LjE5MDkxNSwgNDgwNSwgMC4xMjYwNDE4NDQ0ODcxOTAyNV0sIFsxNTk1MDkyNTYyLjgxOTY4OSwgNDg0MCwgMC4xMjE1ODMxMDQxMzM2MDU5Nl0sIFsxNTk1MDkyNTc0LjQzODEyOCwgNDg1MiwgMC4xMzU2MTQyNzU5MzIzMTJdLCBbMTU5NTA5MjU5Mi44MTI0MzUsIDQ4NzEsIDAuMTE1MjYxOTg2ODUxNjkyMl0sIFsxNTk1MDkyNTk1LjA5OTA1OSwgNDg3MywgMC4xMjAyMjIxNzM2MzExOTEyNV0sIFsxNTk1MDkyNjEwLjM0NTIxNywgNDg4OSwgMC4xMzkzNDY3MDM4ODY5ODU3OF0sIFsxNTk1MDkyNjEzLjI0NTQ5NiwgNDg5MiwgMC4xMTMzOTgwMzc4NTA4NTY3OF0sIFsxNTk1MDkyNjE1LjI2MDc4MSwgNDg5NCwgMC4xNDMzNzQyNjQyNDAyNjQ5XSwgWzE1OTUwOTI2MTYuMjA4MTY1LCA0ODk1LCAwLjE2MTU3MDU5MzcxNDcxNDA1XSwgWzE1OTUwOTI2MzQuOTQ0Mjc0LCA0OTE0LCAwLjEzMTk4MjQwMTAxMzM3NDMzXSwgWzE1OTUwOTI2NTguMTQ1NzgsIDQ5MzgsIDAuMTE5NzkwMzAwNzI2ODkwNTZdLCBbMTU5NTA5MjY2MS4wNzY4OTYsIDQ5NDEsIDAuMTExMzA1MTc3MjExNzYxNDddLCBbMTU5NTA5MjY3My45MjUwMzUsIDQ5NTQsIDAuMTE5Nzk4MDM0NDI5NTUwMTddLCBbMTU5NTA5MjY4MS41MTM4NCwgNDk2MiwgMC4xMjg0NTk5NDUzMjEwODMwN10sIFsxNTk1MDkyNjkwLjA1ODM5LCA0OTcxLCAwLjExODI0MDg0ODE4MzYzMTldLCBbMTU5NTA5MjY5Mi45OTYwMiwgNDk3NCwgMC4xMzYxMDYxMDM2NTg2NzYxNV0sIFsxNTk1MDkyNjk0Ljk0NzkyOCwgNDk3NiwgMC4xMTUxNzIyODE4NjEzMDUyNF0sIFsxNTk1MDkyNjk1LjkzMjUxNCwgNDk3NywgMC4xMTcyMTM1NjIxMzA5MjgwNF0sIFsxNTk1MDkyNzA5LjMwNTc2NiwgNDk5MSwgMC4xMTMyMDkwNTM4NzQwMTU4MV0sIFsxNTk1MDkyNzE3LjA5OTU3OCwgNDk5OSwgMC4xMDk4NzQyNjM0MDU3OTk4N10sIFsxNTk1MDkyNzM5LjMxNzE2NSwgNTAyMSwgMC4xMzIwMjg3NDM2MjQ2ODcyXSwgWzE1OTUwOTI3NDUuMjA5NzU4LCA1MDI3LCAwLjEyNDI5NDc3Mjc0NDE3ODc3XSwgWzE1OTUwOTI3NDguMDA0MTE3LCA1MDMwLCAwLjE2MDA3MTAxNTM1Nzk3MTJdLCBbMTU5NTA5Mjc1NC43NTA0NzYsIDUwMzcsIDAuMTMyODEzMzA0NjYyNzA0NDddLCBbMTU5NTA5Mjc2Ny4zNTI1NzYsIDUwNTAsIDAuMTQ1NTc4MzI0Nzk0NzY5M10sIFsxNTk1MDkyNzY5LjIzNTc4MywgNTA1MiwgMC4xMzQzMzA0MjE2ODYxNzI0OV0sIFsxNTk1MDkyNzcwLjI4NjA4OCwgNTA1MywgMC4xNDgwNTgyNjU0NDc2MTY1OF0sIFsxNTk1MDkyNzc2Ljk4MjAyLCA1MDYwLCAwLjE2MzQ0MTgwNzAzMTYzMTQ3XSwgWzE1OTUwOTI3OTQuMzMwNzUyLCA1MDc4LCAwLjEzNjQyNTU2OTY1MzUxMTA1XSwgWzE1OTUwOTI4MTAuMDc1MDUxLCA1MDk0LCAwLjEzNzA0NjI0NzcyMDcxODM4XSwgWzE1OTUwOTI4MTYuOTE4Mjg4LCA1MTAxLCAwLjE2MzI2ODQ3NjcyNDYyNDYzXSwgWzE1OTUwOTI4MjEuNjQ3OTM1LCA1MTA2LCAwLjEyNTk5NjIzMjAzMjc3NTg4XSwgWzE1OTUwOTI4MjIuNjE4NDg4LCA1MTA3LCAwLjEzMjY3NTAyMTg4NjgyNTU2XSwgWzE1OTUwOTI4MjguNDYwODA4LCA1MTEzLCAwLjE1Njk3ODE0NTI0MTczNzM3XSwgWzE1OTUwOTI4NDAuOTQ5MDU3LCA1MTI2LCAwLjEyOTI4OTQxODQ1ODkzODZdLCBbMTU5NTA5Mjg0Mi44NzQ2ODksIDUxMjgsIDAuMTgyMTg5MDAyNjMzMDk0OF0sIFsxNTk1MDkyODQ4Ljc4NTE5NSwgNTEzNCwgMC4yMjgxODE5MTM0OTUwNjM3OF0sIFsxNTk1MDkyODc0LjE0MjkzMSwgNTE2MCwgMC4xMTkyMzE1Mjk1MzM4NjMwN10sIFsxNTk1MDkyODc5LjA1NzEyNywgNTE2NSwgMC4xMTgxNTAxMzczNjQ4NjQzNV0sIFsxNTk1MDkyODkxLjk0ODQ2MSwgNTE3OCwgMC4xMzk1MzQzODQwMTIyMjIzXSwgWzE1OTUwOTI4OTUuODI2NjYzLCA1MTgyLCAwLjEyMTc3NjkyMzUzNzI1NDMzXSwgWzE1OTUwOTI5MTMuMDkzNTE0LCA1MjAwLCAwLjE0MTg2ODAyNTA2NDQ2ODM4XSwgWzE1OTUwOTI5MjAuNzU2NTk2LCA1MjA4LCAwLjEyNDU5Njc0NDc3NTc3MjFdLCBbMTU5NTA5Mjk0My4wMzc4NDMsIDUyMzEsIDAuMTc2NDYzMjc2MTQ3ODQyNF0sIFsxNTk1MDkyOTQ1Ljg5NjU2NSwgNTIzNCwgMC4xMzc3NTUwODEwNTc1NDg1Ml0sIFsxNTk1MDkyOTQ2LjgzMTQxOSwgNTIzNSwgMC4xMzUzMzcyOTMxNDgwNDA3N10sIFsxNTk1MDkyOTUwLjc2OTEyOCwgNTIzOSwgMC4xNjMxMDA0NjYxMzIxNjRdLCBbMTU5NTA5Mjk1MS42ODUyNTIsIDUyNDAsIDAuMTgyMDM3MzA4ODEyMTQxNDJdLCBbMTU5NTA5Mjk1NS41OTQxMDUsIDUyNDQsIDAuMTY2NTY1MTk0NzI1OTkwM10sIFsxNTk1MDkyOTc3LjA0MTc2LCA1MjY2LCAwLjEzMDg4NDc4MTQ3OTgzNTVdLCBbMTU5NTA5Mjk5OS43OTA4MzQsIDUyODksIDAuMTM1NDU0Mzg2NDcyNzAyMDNdLCBbMTU5NTA5MzAxMi41NTY3NjgsIDUzMDIsIDAuMTM0NDYxMzQzMjg4NDIxNjNdLCBbMTU5NTA5MzAyOC4yMzA3MDEsIDUzMTgsIDAuMTIyMDM3NTU5NzQ3Njk1OTJdLCBbMTU5NTA5MzAzOC42NDk3MzIsIDUzMjksIDAuMTY4MjU1NTM3NzQ4MzM2OF0sIFsxNTk1MDkzMDU0LjU0MjM3NCwgNTM0NSwgMC4xMjMxMjc4ODUxNjI4MzAzNV0sIFsxNTk1MDkzMDU3LjM0NTkyMywgNTM0OCwgMC4xMjgxODQzNzgxNDcxMjUyNF0sIFsxNTk1MDkzMDY4LjA4MzkxNCwgNTM1OSwgMC4xMjg1MTA5OTY2OTkzMzMyXSwgWzE1OTUwOTMwNjkuMDc5NDQ2LCA1MzYwLCAwLjEyMTMxNTQxOTY3MzkxOTY4XSwgWzE1OTUwOTMwNzEuOTI1OTE0LCA1MzYzLCAwLjEyMzYwNzUyMzczOTMzNzkyXSwgWzE1OTUwOTMwODguMjM0MDMsIDUzODAsIDAuMTM5NjEwMTg2MjE5MjE1NF0sIFsxNTk1MDkzMDkyLjIwMDM4MiwgNTM4NCwgMC4xMzc0NjQ3NjE3MzQwMDg4XSwgWzE1OTUwOTMxMTEuNzExODAxLCA1NDA0LCAwLjEyNTgwNTY5MDg4NDU5MDE1XSwgWzE1OTUwOTMxMTMuNjg3Mzg4LCA1NDA2LCAwLjE1OTg2OTEzNDQyNjExNjk0XSwgWzE1OTUwOTMxMjcuNDE0MTQsIDU0MjAsIDAuMTE5MjUyNjc0MjgxNTk3MTRdLCBbMTU5NTA5MzEzMi4zOTQzMjgsIDU0MjUsIDAuMTE4MzI4MzEwNTQ5MjU5MTldLCBbMTU5NTA5MzE0NS45MTQ2LCA1NDM5LCAwLjExOTk2Mzk0Mzk1ODI4MjQ3XSwgWzE1OTUwOTMxNDYuODE5NzgzLCA1NDQwLCAwLjExODI2OTUxODAxNzc2ODg2XSwgWzE1OTUwOTMxNDguNzgyMDk3LCA1NDQyLCAwLjExMTUxOTI5OTQ0NzUzNjQ3XSwgWzE1OTUwOTMxNTMuNTY5NDgyLCA1NDQ3LCAwLjEyNzE4NTQ2MzkwNTMzNDQ3XSwgWzE1OTUwOTMxODAuNjc0MDI2LCA1NDc1LCAwLjEzNDUzMTI4OTMzOTA2NTU1XSwgWzE1OTUwOTMxODkuNDE3ODA1LCA1NDg0LCAwLjE0NDE2MjI2NzQ0NjUxNzk0XSwgWzE1OTUwOTMxOTYuMTU0NzA5LCA1NDkxLCAwLjEyNTkxMDkzNzc4NjEwMjNdLCBbMTU5NTA5MzIwMC4wNDM5OTgsIDU0OTUsIDAuMTM2NzU0NzUxMjA1NDQ0MzRdLCBbMTU5NTA5MzIwNS44NDkxMTgsIDU1MDEsIDAuMDk5MjI0NjM0NDY4NTU1NDVdLCBbMTU5NTA5MzIxMS42NTIzNjgsIDU1MDcsIDAuMTQwNDQ0MTg5MzEwMDczODVdLCBbMTU5NTA5MzIxNi45MTc5NSwgNTUxMiwgMC4xMzAxNDA1NzI3ODYzMzExOF0sIFsxNTk1MDkzMjE5LjUxMTc2NSwgNTUxNSwgMC4xMjY3MzE4MTI5NTM5NDg5N10sIFsxNTk1MDkzMjIxLjUwNzkzMywgNTUxNywgMC4xMzE1NzQxNTM5MDAxNDY0OF0sIFsxNTk1MDkzMjM2LjA2MjQ4NSwgNTUzMiwgMC4xMzI5NjgxODczMzIxNTMzMl0sIFsxNTk1MDkzMjQ0Ljc2NzM0NywgNTU0MSwgMC4xMTg2ODQ0ODU1NTQ2OTUxM10sIFsxNTk1MDkzMjUyLjY1MjM0MywgNTU0OSwgMC4xMjc0MzY2MjI5NzcyNTY3N10sIFsxNTk1MDkzMjY5LjMzMjAzMiwgNTU2NiwgMC4xMjI3MTcxNzE5MDc0MjQ5M10sIFsxNTk1MDkzMjc0LjM1MjY4NSwgNTU3MSwgMC4xMTk4NDE0NDE1MTIxMDc4NV0sIFsxNTk1MDkzMjc2LjMzMjYsIDU1NzMsIDAuMTM2MjMwODcxMDgxMzUyMjNdLCBbMTU5NTA5MzI4OC40NDI1NDMsIDU1ODUsIDAuMTEzODM5MjM4ODgyMDY0ODJdLCBbMTU5NTA5MzI5MC41MDIxLCA1NTg3LCAwLjEzMTAxNDc2NDMwODkyOTQ0XSwgWzE1OTUwOTMyOTYuMzAwODQ1LCA1NTkzLCAwLjEzNDAzMTA1NzM1Nzc4ODA5XSwgWzE1OTUwOTMzMDguMTE1MjgyLCA1NjA1LCAwLjExMTAzODU4MDUzNjg0MjM1XSwgWzE1OTUwOTMzMTIuOTUwMzUxLCA1NjEwLCAwLjExNDAzOTI1NzE2ODc2OTg0XSwgWzE1OTUwOTMzMjIuNDcxNDg3LCA1NjIwLCAwLjEyNTc1MDAzNTA0NzUzMTEzXSwgWzE1OTUwOTMzMzIuMjQ2OTg1LCA1NjMwLCAwLjEyODMwNjkxMDM5NTYyMjI1XSwgWzE1OTUwOTMzNDguODk4MjQ5LCA1NjQ3LCAwLjEwNjc1NzY0MDgzODYyMzA1XSwgWzE1OTUwOTMzNjAuMDAwNjU2LCA1NjU4LCAwLjEyMDIyMjg5NjMzNzUwOTE2XSwgWzE1OTUwOTMzNjEuOTY0NDE2LCA1NjYwLCAwLjEzNDk5MDI4OTgwNzMxOTY0XSwgWzE1OTUwOTMzNjUuOTkzNDk4LCA1NjY0LCAwLjEyNTY4Nzk1NjgwOTk5NzU2XSwgWzE1OTUwOTMzNzcuNzU3MDk5LCA1Njc2LCAwLjEyMTk2NTAyODM0NTU4NDg3XSwgWzE1OTUwOTMzODAuNjgxMzI0LCA1Njc5LCAwLjEyMjgwODM2NzAxMzkzMTI3XSwgWzE1OTUwOTM0MjEuNDY5MDUzLCA1NzIwLCAwLjEwMjc4MzI0NzgyODQ4MzU4XSwgWzE1OTUwOTM0MjQuNDIyNjg2LCA1NzIzLCAwLjEyODAxNDY1MzkyMTEyNzMyXSwgWzE1OTUwOTM0MjguNDgwMjYxLCA1NzI3LCAwLjE1MTk3NzA0NzMyNDE4MDZdLCBbMTU5NTA5MzQ0Mi41NzgwNzcsIDU3NDEsIDAuMTE1ODM2MzgxOTEyMjMxNDVdLCBbMTU5NTA5MzQ1My42ODExMTcsIDU3NTIsIDAuMTIyNjIyMDEzMDkyMDQxMDJdLCBbMTU5NTA5MzQ2MC43NTYxODUsIDU3NTksIDAuMTE5NjQyNDk2MTA5MDA4NzldLCBbMTU5NTA5MzQ2Ny42MjQ3MzQsIDU3NjYsIDAuMTIxNTg5MDE5ODk0NTk5OTFdLCBbMTU5NTA5MzQ3Ny43NTk1NzYsIDU3NzYsIDAuMTI3MTg2OTI0MjE5MTMxNDddLCBbMTU5NTA5MzQ4MC43NjAzNjgsIDU3NzksIDAuMTMxMjAwMzczMTcyNzZdLCBbMTU5NTA5MzQ4NS42MjIxNDUsIDU3ODQsIDAuMTEyNTk1MDk2MjMwNTA2OV0sIFsxNTk1MDkzNDkwLjYyMjQxMiwgNTc4OSwgMC4xMTExMjA0NTQ5NjcwMjE5NF0sIFsxNTk1MDkzNDk2LjY2Mzg0NiwgNTc5NSwgMC4xMjg5MTIyNzAwNjkxMjIzMV0sIFsxNTk1MDkzNTA4LjQ1MDUyNSwgNTgwNywgMC4xMDcwMjQ4NDEwMTA1NzA1M10sIFsxNTk1MDkzNTA5LjQzMTkyOSwgNTgwOCwgMC4xNTM4OTMzMDY4NTEzODcwMl0sIFsxNTk1MDkzNTI2LjExNTE0NiwgNTgyNSwgMC4xMTc2Nzc4Njc0MTI1NjcxNF0sIFsxNTk1MDkzNTI5LjE3MjUzLCA1ODI4LCAwLjEwNTkyNjIwMDc0NzQ4OTkzXSwgWzE1OTUwOTM1MzYuMTU2NzUsIDU4MzUsIDAuMTE4MDA2NTc5NTc3OTIyODJdLCBbMTU5NTA5MzU0Ny43NTM3NDcsIDU4NDcsIDAuMTEyNDg5MTU2NDI0OTk5MjRdLCBbMTU5NTA5MzU2Mi43NDMxODcsIDU4NjIsIDAuMTEyMTE3NTE0MDE0MjQ0MDhdLCBbMTU5NTA5MzU2NC43NTAyNjMsIDU4NjQsIDAuMTMyNDM1Njc5NDM1NzI5OThdLCBbMTU5NTA5MzU3MS43NDg1ODQsIDU4NzEsIDAuMTExOTk4NjEwMTk4NDk3NzddLCBbMTU5NTA5MzU4MS44NTk1LCA1ODgxLCAwLjEzMzk5NTUxODA4ODM0MDc2XSwgWzE1OTUwOTM1OTAuMTUwMzM1LCA1ODg5LCAwLjEyMTg1OTg3ODMwMTYyMDQ4XSwgWzE1OTUwOTM1OTIuMTYxODI0LCA1ODkxLCAwLjEyMTMwNDA1NzUzODUwOTM3XSwgWzE1OTUwOTM1OTQuMDI5NzM5LCA1ODkzLCAwLjEyNDEzNzQzMTM4MzEzMjkzXSwgWzE1OTUwOTM1OTkuMDU3NzExLCA1ODk4LCAwLjE1NzU3MzIyMzExNDAxMzY3XSwgWzE1OTUwOTM2MDguNjE0OTE5LCA1OTA3LCAwLjEzMjM0NzEzNjczNTkxNjE0XSwgWzE1OTUwOTM2MTguMjQxNTY0LCA1OTE3LCAwLjEwODYxNTI2NDI5NjUzMTY4XSwgWzE1OTUwOTM2MTkuMjM1MDk2LCA1OTE4LCAwLjExNjAyNjE2MzEwMTE5NjI5XSwgWzE1OTUwOTM2MjkuMjg2NTQ3LCA1OTI4LCAwLjEyMTI4ODY1NzE4ODQxNTUzXSwgWzE1OTUwOTM2MzMuMTYxODE5LCA1OTMyLCAwLjExMDc5NDg5NDM5NzI1ODc2XSwgWzE1OTUwOTM2MzQuMjAyODA2LCA1OTMzLCAwLjExNTM2MTU3MTMxMTk1MDY4XSwgWzE1OTUwOTM2NTMuNDk0MTgxLCA1OTUyLCAwLjEyMTYxNjQzODAzMTE5NjZdLCBbMTU5NTA5MzY1OC40ODk4MjYsIDU5NTcsIDAuMTM0MTA1NTMzMzYxNDM0OTRdLCBbMTU5NTA5MzY2MC40Njg0NTcsIDU5NTksIDAuMTIzMTYzNTUxMDkyMTQ3ODNdLCBbMTU5NTA5MzY2NC40MDI4OTksIDU5NjMsIDAuMTMxMjkwMTA3OTY1NDY5MzZdLCBbMTU5NTA5MzY3My4yNTcyNzgsIDU5NzIsIDAuMTIwNTg2MDE1Mjg0MDYxNDNdLCBbMTU5NTA5MzY5MS4wMDkzNTEsIDU5OTAsIDAuMTMyNTUyNjIzNzQ4Nzc5M10sIFsxNTk1MDkzNzEwLjY4NTc1NSwgNjAxMCwgMC4xMjA4NDMxNjQ2MjI3ODM2Nl0sIFsxNTk1MDkzNzE1LjQ4NjgyNSwgNjAxNSwgMC4xNDE5MjMzNjc5NzcxNDIzM10sIFsxNTk1MDkzNzI0LjUyNTMxNywgNjAyNCwgMC4xMjc3NDQ2NTk3ODE0NTZdLCBbMTU5NTA5MzczMC41ODU0NDEsIDYwMzAsIDAuMTA1MzIyMzE2Mjg4OTQ4MDZdLCBbMTU5NTA5MzczMS41NjcyNzMsIDYwMzEsIDAuMTA0MDUwMzgyOTcxNzYzNjFdLCBbMTU5NTA5MzczMi41NTAwMjYsIDYwMzIsIDAuMTE1OTIwMzg3MjA4NDYxNzZdLCBbMTU5NTA5MzczNS42MDYyMTMsIDYwMzUsIDAuMTEzMzUzMDczNTk2OTU0MzVdLCBbMTU5NTA5MzczOC41Nzg3OTYsIDYwMzgsIDAuMTI5OTUyMDczMDk3MjI5XSwgWzE1OTUwOTM3NjAuNjgwMTEzLCA2MDYwLCAwLjExMTA3ODY2NDY2MDQ1MzhdLCBbMTU5NTA5Mzc3Ny4zMjYwNDIsIDYwNzcsIDAuMTA0Mjc0OTgwNzIzODU3ODhdLCBbMTU5NTA5Mzc3OC4yNzM1NDcsIDYwNzgsIDAuMTAzMDA4OTQwODE1OTI1Nl0sIFsxNTk1MDkzNzgyLjQ3MDMzLCA2MDgyLCAwLjEzODg4NjI0MzEwNDkzNDddLCBbMTU5NTA5Mzc4Ny40OTk0ODQsIDYwODcsIDAuMTE2NDU1NDY1NTU1MTkxMDRdLCBbMTU5NTA5Mzc5NC42OTA0MTIsIDYwOTQsIDAuMTE3NjIzNDkzMDc1MzcwNzldLCBbMTU5NTA5MzgwMy40NDAxNjEsIDYxMDMsIDAuMTA5NTM1MzIxNTkzMjg0Nl0sIFsxNTk1MDkzODA1LjQzMTIyNiwgNjEwNSwgMC4xMTE1OTUwMTk2OTgxNDNdLCBbMTU5NTA5MzgxNS44MTY5LCA2MTE1LCAwLjExMDgzMTY2MzAxMjUwNDU4XSwgWzE1OTUwOTM4MjEuMzU4NTMzLCA2MTIxLCAwLjEwOTgzNDMxMzM5MjYzOTE2XSwgWzE1OTUwOTM4MjMuMzE0MDMzLCA2MTIzLCAwLjExMDIzMjM5NzkxMzkzMjhdLCBbMTU5NTA5MzgyOS4yNjU2OTIsIDYxMjksIDAuMTE2Njk2MDI5OTAxNTA0NTJdLCBbMTU5NTA5MzgzMS4zNjk1NCwgNjEzMSwgMC4xMjgyNjUwMzgxMzI2Njc1NF0sIFsxNTk1MDkzODMzLjQxMTg3NywgNjEzMywgMC4xMTk3ODQ0MjIyMTg3OTk1OV0sIFsxNTk1MDkzODQ1LjMzMjg4NSwgNjE0NSwgMC4xMzI1MTU5OTY2OTQ1NjQ4Ml0sIFsxNTk1MDkzODQ3LjMzMzk3LCA2MTQ3LCAwLjExMTgwMTI1OTIxOTY0NjQ1XSwgWzE1OTUwOTM4NDkuMjY0MDMsIDYxNDksIDAuMTAzMDM0MTc1OTMyNDA3MzhdLCBbMTU5NTA5Mzg3Mi4yNzY1OTksIDYxNzIsIDAuMTA3MTMzMjk5MTEyMzE5OTVdLCBbMTU5NTA5Mzg4MS40MDQ5MDQsIDYxODEsIDAuMTExNzMzMjA1NjE2NDc0MTVdLCBbMTU5NTA5Mzg4NC4zOTYxNjYsIDYxODQsIDAuMTEyNjA1MTY5NDE1NDczOTRdLCBbMTU5NTA5MzkwMC4zOTEyNzgsIDYyMDAsIDAuMDk1NDIyMDIyMDQ0NjU4NjZdLCBbMTU5NTA5MzkxMC40NDIwNTMsIDYyMTAsIDAuMTM1NzAyMjUyMzg4MDAwNV0sIFsxNTk1MDkzOTExLjQwOTYwOSwgNjIxMSwgMC4xMjkwMjc2MzQ4NTkwODUwOF0sIFsxNTk1MDkzOTEzLjM1NDg1OCwgNjIxMywgMC4xMTIyNDIzNTU5NDI3MjYxNF0sIFsxNTk1MDkzOTE5LjU5Nzk5NiwgNjIxOSwgMC4xMTE1MzgzNDMxMzE1NDIyXSwgWzE1OTUwOTM5MjUuMzE1NzQ2LCA2MjI1LCAwLjA5ODkxMjgyMDIxOTk5MzU5XSwgWzE1OTUwOTM5MzIuMzU4ODUxLCA2MjMyLCAwLjEyMjA4MjQwNDc5MjMwODgxXSwgWzE1OTUwOTM5MzcuMzg5OTA0LCA2MjM3LCAwLjExNDExODQ5NDA5MzQxODEyXSwgWzE1OTUwOTM5NDQuNTQyMzA5LCA2MjQ0LCAwLjE2NDczMjYwNTIxODg4NzMzXSwgWzE1OTUwOTM5NTAuMzU5NTM2LCA2MjUwLCAwLjExNjA2NzM2NDgxMTg5NzI4XSwgWzE1OTUwOTM5NjIuOTEyNjk2LCA2MjYzLCAwLjEyNDkyMjE4NjEzNjI0NTczXSwgWzE1OTUwOTM5NjkuOTIxMDQ5LCA2MjcwLCAwLjEwMzkxMDk1MjgwNjQ3Mjc4XSwgWzE1OTUwOTM5ODkuMTM4OTcyLCA2Mjg5LCAwLjEzMTc4ODY3MTAxNjY5MzEyXSwgWzE1OTUwOTQwMDguOTAzMDk3LCA2MzA5LCAwLjA5NzQ5MjIzMjkxODczOTMyXSwgWzE1OTUwOTQwMTIuMTM4MDk4LCA2MzEyLCAwLjA5MTIwNzU2Mzg3NzEwNTcxXSwgWzE1OTUwOTQwMTUuOTQ1MjYyLCA2MzE2LCAwLjE1MDY1MDIzMzAzMDMxOTJdLCBbMTU5NTA5NDAxNi45NTI5MTYsIDYzMTcsIDAuMTIzODk5MTc2NzE2ODA0NV0sIFsxNTk1MDk0MDIzLjk2NDQ2MywgNjMyNCwgMC4xMTExMjUzNDk5OTg0NzQxMl0sIFsxNTk1MDk0MDQwLjU3NDQ4NCwgNjM0MSwgMC4xMDQ5NDgyMDAyODU0MzQ3Ml0sIFsxNTk1MDk0MDUxLjYwNzg3LCA2MzUyLCAwLjEyMDA3Mzc2NTUxNjI4MTEzXSwgWzE1OTUwOTQwNjIuODA0MzkxLCA2MzYzLCAwLjEwODkyNDU5NzUwMTc1NDc2XSwgWzE1OTUwOTQwNjkuNzkzOTY3LCA2MzcwLCAwLjEyODk5MzI3Mjc4MTM3MjA3XSwgWzE1OTUwOTQwNzUuNTk0NjMsIDYzNzYsIDAuMTE3ODUwODQ3NTQyMjg1OTJdLCBbMTU5NTA5NDA5OS43MjMyMDcsIDY0MDAsIDAuMTIzMDQ4NTE0MTI3NzMxMzJdLCBbMTU5NTA5NDEyMi41MTQ0NzIsIDY0MjMsIDAuMTAyMDQ2NDAwMzA4NjA5MDFdLCBbMTU5NTA5NDE0Ni41ODQzNTcsIDY0NDcsIDAuMTAyODg2OTAwMzA1NzQ3OTldLCBbMTU5NTA5NDE1NC41MDc4MzgsIDY0NTUsIDAuMTM1NTA0MjAxMDU0NTczMDZdLCBbMTU5NTA5NDE1OC41MTc3NjMsIDY0NTksIDAuMTAwOTc3NTg0NzE5NjU3OV0sIFsxNTk1MDk0MTcxLjczNjg2MSwgNjQ3MiwgMC4xMTY3NTM3NzE5MDExMzA2OF0sIFsxNTk1MDk0MTgyLjk0MDMwOCwgNjQ4MywgMC4xMTAyMTU4Nzk5NzY3NDk0Ml0sIFsxNTk1MDk0MTg2Ljk2MTc4NSwgNjQ4NywgMC4xMjg4Nzg0NTkzMzQzNzM0N10sIFsxNTk1MDk0MTk0Ljg1NTQ0OCwgNjQ5NSwgMC4xMjI5Nzc4MDgxMTc4NjY1Ml0sIFsxNTk1MDk0MTk1Ljg3NTUwNywgNjQ5NiwgMC4xMTE0NTY3MjIwMjExMDI5XSwgWzE1OTUwOTQxOTkuODc2ODE0LCA2NTAwLCAwLjEyMjg2Njc3OTU2NTgxMTE2XSwgWzE1OTUwOTQyMDguNzY0OSwgNjUwOSwgMC4xMTgzNDc3OTM4MTc1MjAxNF0sIFsxNTk1MDk0MjA5LjcxODU3MSwgNjUxMCwgMC4xMDM2NjU1MTU3ODA0NDg5MV0sIFsxNTk1MDk0MjIwLjA0NDIyMiwgNjUyMCwgMC4xMDQ2NjE0NDk3OTAwMDA5Ml0sIFsxNTk1MDk0MjIxLjAzOTUxLCA2NTIxLCAwLjExNTgxMzgzNjQ1NTM0NTE1XSwgWzE1OTUwOTQyMjIuMDE5MTYxLCA2NTIyLCAwLjEwMTU3MDgyMjI5ODUyNjc2XSwgWzE1OTUwOTQyMzAuMzMyNTk1LCA2NTMwLCAwLjA5OTA3MzY5MzE1NjI0MjM3XSwgWzE1OTUwOTQyMzMuOTcyNDEyLCA2NTM0LCAwLjEwOTgwODA0MjY0NTQ1NDRdLCBbMTU5NTA5NDI1MC4xOTQzMTcsIDY1NTAsIDAuMTA0MjUzNzYxNDcwMzE3ODRdLCBbMTU5NTA5NDI3NC4wOTg1MDksIDY1NzQsIDAuMTE0MjMwNzk2Njk0NzU1NTVdLCBbMTU5NTA5NDI3OC4wOTEyMDMsIDY1NzgsIDAuMTA4Nzc3Nzk4NzEyMjUzNTddLCBbMTU5NTA5NDI4MC4wNDkzMDcsIDY1ODAsIDAuMTE4ODQ0MzQ1MjExOTgyNzNdLCBbMTU5NTA5NDI4MS4wODE2NTIsIDY1ODEsIDAuMTA4OTc0NDE5NTM0MjA2MzldLCBbMTU5NTA5NDI4NC4zMDQ3MDgsIDY1ODQsIDAuMTI2NjI2MzEyNzMyNjk2NTNdLCBbMTU5NTA5NDI5My4xNjUxMjYsIDY1OTMsIDAuMTAzMDgwNzY0NDEyODc5OTRdLCBbMTU5NTA5NDI5NC4xNTMxNDEsIDY1OTQsIDAuMTA3NzI4ODA5MTE4MjcwODddLCBbMTU5NTA5NDMwMi45ODM0OTEsIDY2MDMsIDAuMTAzNjIyNTc4MDg0NDY4ODRdLCBbMTU5NTA5NDMwNi4wMjc3MSwgNjYwNiwgMC4xMDcyNzU2MDUyMDE3MjExOV0sIFsxNTk1MDk0MzE2LjAwMzg0LCA2NjE2LCAwLjExNDE0ODAwNTg0MzE2MjU0XSwgWzE1OTUwOTQzMjEuMDk4MTQsIDY2MjEsIDAuMTE3NDc0NTI2MTY2OTE1OV0sIFsxNTk1MDk0MzU3LjM5MTk5NSwgNjY1NywgMC4xMjkzNDMzMzA4NjAxMzc5NF0sIFsxNTk1MDk0MzY2LjI1NTY5LCA2NjY2LCAwLjEyMTU1NDEzNjI3NjI0NTEyXSwgWzE1OTUwOTQzNjguMjQ5MzM2LCA2NjY4LCAwLjEwOTU4NDMwMTcxMDEyODc4XSwgWzE1OTUwOTQzNzIuMjUzMjUzLCA2NjcyLCAwLjEzMDcyNDg5MjAyMDIyNTUyXSwgWzE1OTUwOTQzNzguMzU4Nzc4LCA2Njc4LCAwLjExODcwODc3NDQ0NzQ0MTFdLCBbMTU5NTA5NDM4MS4zNDM4NzQsIDY2ODEsIDAuMDg1NTM5MzU1ODc0MDYxNThdLCBbMTU5NTA5NDM4OC40ODUzOTIsIDY2ODgsIDAuMTQyNzM4MDQ0MjYxOTMyMzddLCBbMTU5NTA5NDM5MS40NzQ3NTYsIDY2OTEsIDAuMTI3NTg2NjMyOTY2OTk1MjRdLCBbMTU5NTA5NDM5Ni4zOTA0MzYsIDY2OTYsIDAuMTE1ODE5MTcxMDcxMDUyNTVdLCBbMTU5NTA5NDM5OS4zNDAzNDksIDY2OTksIDAuMDkyNzg2NTk1MjI1MzM0MTddLCBbMTU5NTA5NDQwNy41NjA3NDEsIDY3MDcsIDAuMDk5MDUxMDg4MDk0NzExM10sIFsxNTk1MDk0NDExLjY4MDQwNywgNjcxMSwgMC4wOTc1MzA4NDE4MjczOTI1OF0sIFsxNTk1MDk0NDE1Ljc0MDE1NSwgNjcxNSwgMC4wOTk4MzQ1NzYyNDkxMjI2Ml0sIFsxNTk1MDk0NDI1LjU3NjMxLCA2NzI1LCAwLjEwNTIzNjk2MjQzNzYyOTddLCBbMTU5NTA5NDQyNi41NDUyMzIsIDY3MjYsIDAuMDkyNzg0NzQ3NDgxMzQ2MTNdLCBbMTU5NTA5NDQzOC41NDcwNTMsIDY3MzgsIDAuMTE3NDUyMzIzNDM2NzM3MDZdLCBbMTU5NTA5NDQ0Mi41MjQ0NzgsIDY3NDIsIDAuMTA0MzM3MzU2OTg0NjE1MzNdLCBbMTU5NTA5NDQ0OS41MDMxOTgsIDY3NDksIDAuMTA4NTc3Mjk2MTM3ODA5NzVdLCBbMTU5NTA5NDQ1My42MDk2OTMsIDY3NTMsIDAuMTA2MDUwODM0MDU5NzE1MjddLCBbMTU5NTA5NDQ2NS4wODE0MiwgNjc2NCwgMC4xMjcxMjE3NDY1NDAwNjk1OF0sIFsxNTk1MDk0NDc3LjA2NDQ3NSwgNjc3NiwgMC4xMDk1NjM3NDU1NTgyNjE4N10sIFsxNTk1MDk0NDkzLjMyNTQ2NCwgNjc5MiwgMC4xMDc0MjU4ODM0MTIzNjExNV0sIFsxNTk1MDk0NTE4LjgwMDMxMywgNjgxNywgMC4xMTUyMTQ4NTQ0Nzg4MzYwNl0sIFsxNTk1MDk0NTMzLjczOTAzNSwgNjgzMiwgMC4xMTg5OTAzOTE0OTI4NDM2M10sIFsxNTk1MDk0NTQxLjk1MzA4NywgNjg0MCwgMC4wOTM1NjU4NTE0NDk5NjY0M10sIFsxNTk1MDk0NTQ4LjA3NzU5NSwgNjg0NiwgMC4xMTQ1NDAzMDEyNjMzMzIzN10sIFsxNTk1MDk0NTUyLjI2NjU3NCwgNjg1MCwgMC4xMTI3Mjk0Njc0NTE1NzI0Ml0sIFsxNTk1MDk0NTU2LjI0ODg4NCwgNjg1NCwgMC4xMDk2MDg5MTg0Mjg0MjEwMl0sIFsxNTk1MDk0NTY0LjM2NTI4NCwgNjg2MiwgMC4xMDUzNzA3OTcyMTY4OTIyNF0sIFsxNTk1MDk0NTcwLjIwMjU0NSwgNjg2OCwgMC4xMDk0NDY2MTQ5ODA2OTc2M10sIFsxNTk1MDk0NTcxLjIwNzgxNiwgNjg2OSwgMC4xMDQ5MDUzNzQzNDgxNjM2XSwgWzE1OTUwOTQ1ODguNDY2MjA4LCA2ODg2LCAwLjExNDIzOTIwODQwMDI0OTQ4XSwgWzE1OTUwOTQ1OTcuNDA3MDk5LCA2ODk1LCAwLjA5MDM0MDM0NjA5Nzk0NjE3XSwgWzE1OTUwOTQ2MDMuNTkzMTM5LCA2OTAxLCAwLjExNDQ2NTc4MDU1NjIwMTkzXSwgWzE1OTUwOTQ2MTEuNjk3ODA3LCA2OTA5LCAwLjExNDYxNjA3MzY2ODAwMzA4XSwgWzE1OTUwOTQ2MTQuNzg4NjA0LCA2OTEyLCAwLjA5NjI2NjcxNjcxODY3MzddLCBbMTU5NTA5NDYxOC43ODEwNTgsIDY5MTYsIDAuMTAyMDU1MDU3ODgzMjYyNjNdLCBbMTU5NTA5NDYyOC42Mzg3MTIsIDY5MjYsIDAuMTAyMDcwNzE5MDAzNjc3MzddLCBbMTU5NTA5NDYzNi41ODQ1MTQsIDY5MzQsIDAuMTExNDg4NzQ0NjE2NTA4NDhdLCBbMTU5NTA5NDYzOS42MDc0OTMsIDY5MzcsIDAuMDkwNzE2MDYzOTc2Mjg3ODRdLCBbMTU5NTA5NDY1My41Nzg0NTcsIDY5NTEsIDAuMDk4NzU4NTI2MTQ2NDExOV0sIFsxNTk1MDk0NjU3LjY4NDc2NCwgNjk1NSwgMC4wOTI4MjQwMjY5NDIyNTMxMV0sIFsxNTk1MDk0NjY1LjgwNTUwOSwgNjk2MywgMC4xMDYwNzAzNjIwMzE0NTk4MV0sIFsxNTk1MDk0NjY4Ljc4NTI0NywgNjk2NiwgMC4wOTQ0MDA4NzUyNzAzNjY2N10sIFsxNTk1MDk0Njc0Ljk1MzEzNCwgNjk3MiwgMC4xMTQ0ODY5Nzc0NTgwMDAxOF0sIFsxNTk1MDk0NjkzLjQxNjQ3NiwgNjk5MCwgMC4xMDM3Mjc4NzcxNDAwNDUxN10sIFsxNTk1MDk0Njk1LjQwMDM2NywgNjk5MiwgMC4xMTA5ODYxMTM1NDgyNzg4MV0sIFsxNTk1MDk0NzEzLjQzNjY0MywgNzAxMCwgMC4xMjQyMzk2NjA3OTk1MDMzM10sIFsxNTk1MDk0NzE3LjQ3NjkxNSwgNzAxNCwgMC4xMTkxMzE4MTg0MTM3MzQ0NF0sIFsxNTk1MDk0NzIwLjY1MTQ3NiwgNzAxNywgMC4xMDU2Mzc0MzExNDQ3MTQzNl0sIFsxNTk1MDk0NzM1Ljk4MTM4OSwgNzAzMiwgMC4xMDg4NjA5MjQ4Mzk5NzM0NV0sIFsxNTk1MDk0NzM5LjA0MDkyOCwgNzAzNSwgMC4xMDAyMTc0MDE5ODEzNTM3Nl0sIFsxNTk1MDk0NzQyLjg3NjkyMiwgNzAzOSwgMC4xMDE4NjM2MDAzMTM2NjM0OF0sIFsxNTk1MDk0NzQ5Ljk5MDM2MSwgNzA0NiwgMC4wOTk5Mjc2NDg5MDE5MzkzOV0sIFsxNTk1MDk0NzYyLjg1NTQwOSwgNzA1OSwgMC4xMTg2ODgzNDQ5NTU0NDQzNF0sIFsxNTk1MDk0NzY4LjgwMTc0NCwgNzA2NSwgMC4xMzYyNjE4OTUyOTg5NTc4Ml0sIFsxNTk1MDk0NzgyLjk1OTQwNSwgNzA3OSwgMC4xMjY4MDUzNzk5ODY3NjNdLCBbMTU5NTA5NDc5NC45NjYzNjcsIDcwOTEsIDAuMTAwMTU1OTg2ODQ1NDkzMzJdLCBbMTU5NTA5NDgwMS45NDQ2MDksIDcwOTgsIDAuMDkzMjcwMzM5MDcxNzUwNjRdLCBbMTU5NTA5NDgwOS45OTUwMTMsIDcxMDYsIDAuMTI0MzUxMzA3NzQ5NzQ4MjNdLCBbMTU5NTA5NDgxOC4xMjA5NTUsIDcxMTQsIDAuMTM1OTcxMDI0NjMyNDUzOTJdLCBbMTU5NTA5NDgxOS4xNzA3ODYsIDcxMTUsIDAuMTEyNjc4NjI0Njg5NTc5MDFdLCBbMTU5NTA5NDgyNC4xMjMxMzIsIDcxMjAsIDAuMDk2NDI5NTkzODYxMTAzMDZdLCBbMTU5NTA5NDgyOC4yMzcxMTksIDcxMjQsIDAuMDk5MTgwODE3NjA0MDY0OTRdLCBbMTU5NTA5NDg0MS40MjY4MjYsIDcxMzcsIDAuMTA4NTc1MjMyMzI2OTg0NF0sIFsxNTk1MDk0ODQ1LjgxNDk3MiwgNzE0MSwgMC4xMTk2Mzg4MDA2MjEwMzI3MV0sIFsxNTk1MDk0ODU5LjYwNzAzMywgNzE1NSwgMC4xMTI3MTkxNjMyOTg2MDY4N10sIFsxNTk1MDk0ODcxLjUxNTY1LCA3MTY3LCAwLjEzMDY5NTY3MDg0MzEyNDRdLCBbMTU5NTA5NDg3Mi41NzIyMTcsIDcxNjgsIDAuMTA2MzkwOTAwOTA5OTAwNjddLCBbMTU5NTA5NDg3OS42Nzk5NTksIDcxNzUsIDAuMTA4Mjc3OTc2NTEyOTA4OTRdLCBbMTU5NTA5NDg4Ny44Mzg3NzIsIDcxODMsIDAuMTA2OTI3OTc2MDEyMjI5OTJdLCBbMTU5NTA5NDg5My44MTM1MiwgNzE4OSwgMC4xMTEwOTgxMjU1NzY5NzI5Nl0sIFsxNTk1MDk0ODk5Ljc5ODcxNywgNzE5NSwgMC4wOTkxNTE3NzUyNDA4OTgxM10sIFsxNTk1MDk0OTA2LjkwNDczNSwgNzIwMiwgMC4xMDAwNDczNTczODAzOTAxN10sIFsxNTk1MDk0OTA4Ljg5NjgzMSwgNzIwNCwgMC4xMDI3NzcyMTI4NTgyMDAwN10sIFsxNTk1MDk0OTE4LjAxNzE5OSwgNzIxMywgMC4wOTI3MTA5MTIyMjc2MzA2Ml0sIFsxNTk1MDk0OTIwLjA3NDMwNCwgNzIxNSwgMC4xMTUwNDU1NDAwMzQ3NzA5N10sIFsxNTk1MDk0OTIxLjAyNTcxNiwgNzIxNiwgMC4xMDI0MTkyNDIyNjI4NDAyN10sIFsxNTk1MDk0OTQwLjI3ODc0OSwgNzIzNSwgMC4xMDEyMzA5Nzg5NjU3NTkyOF0sIFsxNTk1MDk0OTQzLjI1ODQwMywgNzIzOCwgMC4xMjU5MzczMjc3NDI1NzY2XSwgWzE1OTUwOTQ5NTIuNTA3MTk3LCA3MjQ3LCAwLjA5OTM0NzA0NzUwNzc2MjkxXSwgWzE1OTUwOTQ5NjUuNjM3NTU3LCA3MjYwLCAwLjA5Njk2MDk2MTgxODY5NTA3XSwgWzE1OTUwOTQ5NzYuOTgwNDM3LCA3MjcxLCAwLjA5MzAxOTg1ODAwMjY2MjY2XSwgWzE1OTUwOTQ5ODAuMDExNjIyLCA3Mjc0LCAwLjEwMDcxMzk4MzE3ODEzODczXSwgWzE1OTUwOTQ5OTAuMTQzMjgsIDcyODQsIDAuMTAwNzcxMzIyODQ2NDEyNjZdLCBbMTU5NTA5NTAwNi41MTE1MzgsIDczMDAsIDAuMTE2OTExMzY2NTgxOTE2ODFdLCBbMTU5NTA5NTAxNy41ODk2MjcsIDczMTEsIDAuMTMyMDY4Njc4NzM2Njg2N10sIFsxNTk1MDk1MDIwLjk3OTYyNiwgNzMxNCwgMC4xMjYwNzM4OTY4ODQ5MTgyXSwgWzE1OTUwOTUwMzUuNDU3OTY2LCA3MzI5LCAwLjEwOTY1Nzg5ODU0NTI2NTJdLCBbMTU5NTA5NTA0NS42Njk3NTEsIDczMzksIDAuMDkxMjQ0MDI3MDE4NTQ3MDZdLCBbMTU5NTA5NTA0Ni42NDE1OTUsIDczNDAsIDAuMTAxODUxNzYxMzQxMDk0OTddLCBbMTU5NTA5NTA1MS44NDg3NDUsIDczNDUsIDAuMTAzMzUyOTkzNzI2NzMwMzVdLCBbMTU5NTA5NTA1Mi44ODEzOSwgNzM0NiwgMC4xMDg1MDAwNzgzMjA1MDMyM10sIFsxNTk1MDk1MDU4LjA5MjkxNiwgNzM1MSwgMC4wOTg3NTc1NjUwMjE1MTQ4OV0sIFsxNTk1MDk1MDYwLjExMTgzNSwgNzM1MywgMC4xMTYxODg5MDYxMzMxNzQ5XSwgWzE1OTUwOTUwNjQuMTkwMjA1LCA3MzU3LCAwLjA5MzM4Mjc3NTc4MzUzODgyXSwgWzE1OTUwOTUwNjUuMjU2NjAxLCA3MzU4LCAwLjEyNDQ1NzI0NzU1NTI1NTg5XSwgWzE1OTUwOTUwNjYuMzEwMzE3LCA3MzU5LCAwLjA5NjkyNDY5MjM5MjM0OTI0XSwgWzE1OTUwOTUwODEuNDMzMTE2LCA3Mzc0LCAwLjExMzgwNTI5NDAzNjg2NTIzXSwgWzE1OTUwOTUwODguNjY0MDU1LCA3MzgxLCAwLjA4MTM4MDU3NTg5NTMwOTQ1XSwgWzE1OTUwOTUwODkuNjg5MDc5LCA3MzgyLCAwLjA5Mjk4ODUyMDg2MDY3Ml0sIFsxNTk1MDk1MDkzLjY2NTc0MywgNzM4NiwgMC4xMTg0MzMxNjI1Njk5OTk3XSwgWzE1OTUwOTUwOTUuNzA0NzU0LCA3Mzg4LCAwLjA4NzI2MjU0ODUwNjI1OTkyXSwgWzE1OTUwOTUxMDQuOTgwNzQ2LCA3Mzk3LCAwLjIwMTk1MDYwOTY4Mzk5MDQ4XSwgWzE1OTUwOTUxMDkuMDA5NTkzLCA3NDAxLCAwLjExMzE1MzUzMjE0NzQwNzUzXSwgWzE1OTUwOTUxMTEuOTk1NjQxLCA3NDA0LCAwLjExNDU3NTY5MTUyMTE2Nzc2XSwgWzE1OTUwOTUxMzguNjk2MDYyLCA3NDMwLCAwLjExNTIyMDU5ODg3NjQ3NjI5XSwgWzE1OTUwOTUxMzkuNzEzOTI2LCA3NDMxLCAwLjEwNzM5ODUzMjMzMDk4OTg0XSwgWzE1OTUwOTUxNDguNzgwMzU0LCA3NDQwLCAwLjA5NTc5ODE1NzE1NTUxMzc2XSwgWzE1OTUwOTUxNTEuOTIzMDk1LCA3NDQzLCAwLjEzNzAxMDIzMTYxNDExMjg1XSwgWzE1OTUwOTUxNTUuOTcxMjk4LCA3NDQ3LCAwLjA4Njc4NTI0OTQxMjA1OTc4XSwgWzE1OTUwOTUxNTkuMDU4MDI5LCA3NDUwLCAwLjA5NzU2MTczMTkzNDU0NzQyXSwgWzE1OTUwOTUxNjguOTczMDk3LCA3NDYwLCAwLjEwMjQ5MzU2OTI1NDg3NTE4XSwgWzE1OTUwOTUxNjkuOTg0MDcsIDc0NjEsIDAuMTIzMzA1MzI4MTkwMzI2NjldLCBbMTU5NTA5NTE3MC44NzMwMTcsIDc0NjIsIDAuMTAzNjAyMDY2NjM2MDg1NTFdLCBbMTU5NTA5NTE3Mi4zNjg5ODUsIDc0NjMsIDAuMTAzNTcxMDEyNjE2MTU3NTNdLCBbMTU5NTA5NTE3Ni45NTAyNzEsIDc0NjgsIDAuMDg3MDYxMDYyNDU1MTc3MzFdLCBbMTU5NTA5NTE4My4zMjAzNjYsIDc0NzQsIDAuMTA0NTEwNDc4Njc1MzY1NDVdLCBbMTU5NTA5NTE4Ny4zNTAxMzcsIDc0NzgsIDAuMTExMzQ2MDEzODQ0MDEzMjFdLCBbMTU5NTA5NTE4OC45OTg3MjYsIDc0ODAsIDAuMTM0OTU5ODMxODMzODM5NDJdLCBbMTU5NTA5NTIwNS4yMjkzODgsIDc0OTYsIDAuMDk4NTcyMTA1MTY5Mjk2MjZdLCBbMTU5NTA5NTIxMS40Mjg1ODgsIDc1MDIsIDAuMDk0NDA3ODYzOTE0OTY2NThdLCBbMTU5NTA5NTIxMi41MjUxNTYsIDc1MDMsIDAuMTA1MjIwNDI5NTk5Mjg1MTNdLCBbMTU5NTA5NTIyMC42NDQxMiwgNzUxMSwgMC4xMjAxMTcyOTE4MDgxMjgzNl0sIFsxNTk1MDk1MjI2LjU5MDIwNSwgNzUxNywgMC4xMDg0OTY2MTM4MDA1MjU2N10sIFsxNTk1MDk1MjMxLjcxMjYxNiwgNzUyMiwgMC4xMDM2NjA4MzY4MTU4MzQwNV0sIFsxNTk1MDk1MjM5Ljc0MDMzOCwgNzUzMCwgMC4xMDAzNjA2NDY4NDM5MTAyMl0sIFsxNTk1MDk1MjQ2LjkwOTAyNiwgNzUzNywgMC4xMDQzMTE0Mjg5NjQxMzgwM10sIFsxNTk1MDk1MjU2Ljg5NDc4NCwgNzU0NywgMC4xMjExMjU1MTkyNzU2NjUyOF0sIFsxNTk1MDk1Mjc1LjE2NTY4OCwgNzU2NSwgMC4xMjI3NjY4ODk2MzE3NDgyXSwgWzE1OTUwOTUyODMuMjc4NDc4LCA3NTczLCAwLjEwNjUzMDA2Mjg1NDI5MDAxXSwgWzE1OTUwOTUzMDYuNzc0MDA2LCA3NTk2LCAwLjA5NTMwMTM4OTY5NDIxMzg3XSwgWzE1OTUwOTUzMTMuNzk0Nzk4LCA3NjAzLCAwLjExMzY4NjI5MzM2MzU3MTE3XSwgWzE1OTUwOTUzMTkuOTU3NDg2LCA3NjA5LCAwLjEwMTg0MzY3MDAxMDU2NjcxXSwgWzE1OTUwOTUzMjMuMDcxODg1LCA3NjEyLCAwLjExMjMyODc4MjY3NzY1MDQ1XSwgWzE1OTUwOTUzNTQuNjU3MzIsIDc2NDMsIDAuMTE3NzU4Mjc0MDc4MzY5MTRdLCBbMTU5NTA5NTM1NS42MjcxNDcsIDc2NDQsIDAuMTA0MjQwNTU5MDQxNTAwMDldLCBbMTU5NTA5NTM3MS43MTQ2NTUsIDc2NjAsIDAuMDk2MDA5MjY5MzU2NzI3Nl0sIFsxNTk1MDk1MzcyLjcwODE2NiwgNzY2MSwgMC4xMTA5MzQ0OTU5MjU5MDMzMl0sIFsxNTk1MDk1MzgyLjc4MzcyMywgNzY3MSwgMC4wOTY4OTY0Mzk3OTA3MjU3MV0sIFsxNTk1MDk1Mzg1LjcyMTc1NSwgNzY3NCwgMC4xMjg0NDk3MDgyMjMzNDI5XSwgWzE1OTUwOTUzODcuNzE3NjcyLCA3Njc2LCAwLjExNzY1MjEyNTY1NjYwNDc3XSwgWzE1OTUwOTUzOTguNjkzNzc2LCA3Njg3LCAwLjEwOTc3NTQ5ODUwOTQwNzA0XSwgWzE1OTUwOTU0MDQuNzk3OTE4LCA3NjkzLCAwLjEyMzU5NzU0NzQxMTkxODY0XSwgWzE1OTUwOTU0MDcuOTEwNzA5LCA3Njk2LCAwLjA5MTQ2NTQ3MzE3NTA0ODgzXSwgWzE1OTUwOTU0MTEuOTUyNjgxLCA3NzAwLCAwLjEwMDA3MDM0OTg3MjExMjI3XSwgWzE1OTUwOTU0MjguMDUxNTA1LCA3NzE2LCAwLjExNjM0NzQ3Njg0MDAxOTIzXSwgWzE1OTUwOTU0MzAuMDE1OTQzLCA3NzE4LCAwLjA5Nzg0MTgxNDE2MDM0Njk4XSwgWzE1OTUwOTU0MzAuOTYzNzY1LCA3NzE5LCAwLjEwNDM5NjE0MjA2NTUyNTA1XSwgWzE1OTUwOTU0MzUuMDkwNTkzLCA3NzIzLCAwLjExNTA3NTA5NjQ4Nzk5ODk2XSwgWzE1OTUwOTU0MzguMDc2ODExLCA3NzI2LCAwLjEzMTkxNzU5NTg2MzM0MjI5XSwgWzE1OTUwOTU0NDAuMDgzMDk1LCA3NzI4LCAwLjA5ODMwNjY2MzMzNDM2OTY2XSwgWzE1OTUwOTU0NDMuMTEzMTMsIDc3MzEsIDAuMTMyMzM0MDIzNzE0MDY1NTVdLCBbMTU5NTA5NTQ1NC4zMTAxODEsIDc3NDIsIDAuMTIyNzI1ODE0NTgwOTE3MzZdLCBbMTU5NTA5NTQ1OC4zNDcwNCwgNzc0NiwgMC4wOTU4NTExNjgwMzY0NjA4OF0sIFsxNTk1MDk1NDY5LjgyNTU0NCwgNzc1NywgMC4xMDcyMDc1MTQzNDU2NDU5XSwgWzE1OTUwOTU0NzIuMjYyNTQ5LCA3NzYwLCAwLjEwNjE3NTI3MzY1Njg0NTA5XSwgWzE1OTUwOTU0OTIuNzQzODkxLCA3NzgwLCAwLjEwOTEyMTg5NjMyNjU0MTldLCBbMTU5NTA5NTUwMC45ODUzMTEsIDc3ODgsIDAuMTIxODY3NDMzMTkwMzQ1NzZdLCBbMTU5NTA5NTUxMS4xNjc3NzUsIDc3OTgsIDAuMTIyMDkwODAxNTk2NjQxNTRdLCBbMTU5NTA5NTUxMi4xODc1MzksIDc3OTksIDAuMTE2NDYxMTEzMDk1MjgzNTFdLCBbMTU5NTA5NTUyMy40MTk3OCwgNzgxMCwgMC4wOTM0MDc2NDU4MjE1NzEzNV0sIFsxNTk1MDk1NTQ3LjAyODM5NiwgNzgzMywgMC4xMTcxODQ4OTIyOTY3OTEwOF0sIFsxNTk1MDk1NTUyLjAyNjQzNSwgNzgzOCwgMC4xMDM5NDQ3MTg4Mzc3MzgwNF0sIFsxNTk1MDk1NTY4LjczNTc4LCA3ODU1LCAwLjEwODc1NTk3NTk2MTY4NTE4XSwgWzE1OTUwOTU1ODYuMDc2MDQxLCA3ODcyLCAwLjA5MzI5MDA0NTg1NzQyOTVdLCBbMTU5NTA5NTU5Mi4wMzkyNTMsIDc4NzgsIDAuMDkxMTYyMDU1NzMwODE5N10sIFsxNTk1MDk1NTk0LjA4MTUyOSwgNzg4MCwgMC4wOTkyMDA3NTUzNTc3NDIzMV0sIFsxNTk1MDk1NjEzLjk4ODU3MywgNzg5OSwgMC4wOTgyNDI4MDQ0MDgwNzM0M10sIFsxNTk1MDk1NjE0LjcyMTMxNSwgNzkwMCwgMC4xMDk1NTM3Mzk0Mjg1MjAyXSwgWzE1OTUwOTU2MTguNzAyMTg3LCA3OTA0LCAwLjA5Mjc5NDQ2MzAzODQ0NDUyXSwgWzE1OTUwOTU2MjIuNTYzNjk1LCA3OTA4LCAwLjA5OTY1ODMzMjc2NTEwMjM5XSwgWzE1OTUwOTU2NDAuNzkyNzk5LCA3OTI2LCAwLjEwMTk1OTk4ODQ3NDg0NTg5XSwgWzE1OTUwOTU2NDcuMDQ0Nzk2LCA3OTMyLCAwLjEwNDA5MjUyMzQ1NTYxOTgxXSwgWzE1OTUwOTU2NDguMDQ1ODk3LCA3OTMzLCAwLjA5NDIwNDgyMDY5MjUzOTIyXSwgWzE1OTUwOTU2OTAuMzYxNTM5LCA3OTc1LCAwLjEwNTEzMTczMDQzNzI3ODc1XSwgWzE1OTUwOTU2OTguMjgyOSwgNzk4MywgMC4wOTg4OTY1NzA1MDM3MTE3XSwgWzE1OTUwOTU3MDYuMzU5MDcyLCA3OTkxLCAwLjA5MjUzNzExOTk4NDYyNjc3XSwgWzE1OTUwOTU3MDcuMzE2MTgsIDc5OTIsIDAuMDk2NTgzNzQ2MzczNjUzNDFdLCBbMTU5NTA5NTcxNC4zMDA3NjEsIDc5OTksIDAuMTAzNjY5MjQxMDcwNzQ3MzhdXQ==", "ok": true, "headers": [ [ "content-type", "application/json" ] ], "status": 200, "status_text": "" }, "https://localhost:6006/data/plugin/scalars/scalars?tag=learning_rate&run=.": { "data": "W1sxNTk1MDg3ODM4LjU5MDM3NiwgNSwgMC4wMDExNTgwMDAwODY0MzQxODU1XSwgWzE1OTUwODc4NTEuNDY3NzczLCAxOCwgMC4wMDE1Njg4MDAwNzEyNTQzNzI2XSwgWzE1OTUwODc4NTcuNDU4NDYzLCAyNCwgMC4wMDE3NTg0MDAxMTc5Nzg0NTM2XSwgWzE1OTUwODc4NzMuNDE4NjM4LCA0MCwgMC4wMDIyNjQwMDAwMDk3NDUzNTk0XSwgWzE1OTUwODc4NzUuNDkyODE4LCA0MiwgMC4wMDIzMjcyMDAwMjUzMjAwNTNdLCBbMTU5NTA4Nzg3OC41MDQwNTksIDQ1LCAwLjAwMjQyMjAwMDA0ODY4MjA5MzZdLCBbMTU5NTA4Nzg4Ni41MTMyNzIsIDUzLCAwLjAwMjY3NDgwMDExMDk4MDg2ODNdLCBbMTU5NTA4Nzg4OS40MzUyMDIsIDU2LCAwLjAwMjc2OTYwMDEzNDM0MjkwOV0sIFsxNTk1MDg3OTA0LjU1ODc3OCwgNzEsIDAuMDAzMjQzNjAwMDE4MzIyNDY4XSwgWzE1OTUwODc5MDcuNTA0NTk2LCA3NCwgMC4wMDMzMzg0MDAyNzQ1MTUxNTJdLCBbMTU5NTA4NzkyNy42NzQ0LCA5NCwgMC4wMDM5NzAzOTk5NjQ2MDA4MDE1XSwgWzE1OTUwODc5MzUuNjExNzM1LCAxMDIsIDAuMDA0MjIzMjAwMDI2ODk5NTc2XSwgWzE1OTUwODc5MzkuNTY0MzEsIDEwNiwgMC4wMDQzNDk2MDAwNTgwNDg5NjM1XSwgWzE1OTUwODc5NTkuNDE0MDksIDEyNiwgMC4wMDQ5ODE2MDAyMTM3OTU5XSwgWzE1OTUwODc5NzIuMTA1MDksIDEzOSwgMC4wMDUzOTI0MDAwODIyMDA3NjZdLCBbMTU5NTA4Nzk4Ny43NDQwMzcsIDE1NSwgMC4wMDU4OTgwMDAyMDY3OTgzMTVdLCBbMTU5NTA4Nzk5MC43MDA4NjIsIDE1OCwgMC4wMDU5OTI4MDA0NjI5OTA5OTldLCBbMTU5NTA4Nzk5OS41OTAyNjgsIDE2NywgMC4wMDYyNzcyMDAzMDAyNDY0NzddLCBbMTU5NTA4ODAxMC4zNzQ5ODIsIDE3OCwgMC4wMDY2MjQ4MDAxNTMwNzY2NDldLCBbMTU5NTA4ODAxNS4yODE4MDMsIDE4MywgMC4wMDY3ODI4MDA0MjQ4NDQwMjY2XSwgWzE1OTUwODgwMTcuNzUwOTg0LCAxODUsIDAuMDA2ODQ2MDAwNDQwNDE4NzJdLCBbMTU5NTA4ODAxOC4zMjkzODcsIDE4NiwgMC4wMDY4Nzc2MDAyMTUzNzU0MjNdLCBbMTU5NTA4ODAyMi4xOTA4NjksIDE5MCwgMC4wMDcwMDQwMDAyNDY1MjQ4MTFdLCBbMTU5NTA4ODAzOC44NjIzMzQsIDIwNywgMC4wMDc1NDEyMDAxNDYwNzkwNjNdLCBbMTU5NTA4ODA2MC43OTg2NDQsIDIyOSwgMC4wMDgyMzYzOTk4NTE3Mzk0MDddLCBbMTU5NTA4ODA2NS43ODYyMzQsIDIzNCwgMC4wMDgzOTQzOTk2NTc4NDU0OTddLCBbMTU5NTA4ODA4MC42NjMwMTMsIDI0OSwgMC4wMDg4Njg0MDAwMDc0ODYzNDNdLCBbMTU5NTA4ODA4Ni41MjI4MywgMjU1LCAwLjAwOTA1ODAwMDUxOTg3MTcxMl0sIFsxNTk1MDg4MDkxLjUyMjQxMiwgMjYwLCAwLjAwOTIxNjAwMDMyNTk3NzgwMl0sIFsxNTk1MDg4MDk4LjM3MTcsIDI2NywgMC4wMDk0MzcyMDA2MTMzMTk4NzRdLCBbMTU5NTA4ODEwMi4yMjg0MzUsIDI3MSwgMC4wMDk1NjM2MDA2NDQ0NjkyNjFdLCBbMTU5NTA4ODEwNC4xNzAwMjEsIDI3MywgMC4wMDk2MjY4MDAxOTQzODI2NjhdLCBbMTU5NTA4ODEyMi44NzI3NjksIDI5MiwgMC4wMTAyMjcyMDA1NzUxNzI5MDFdLCBbMTU5NTA4ODEzOC42MDc1NzYsIDMwOCwgMC4wMTA3MzI4MDA2OTk3NzA0NV0sIFsxNTk1MDg4MTQwLjU0MjgyMiwgMzEwLCAwLjAxMDc5NjAwMDI0OTY4Mzg1N10sIFsxNTk1MDg4MTQ4LjM2MTI5OSwgMzE4LCAwLjAxMTA0ODgwMDMxMTk4MjYzMl0sIFsxNTk1MDg4MTYwLjA4NTYwMiwgMzMwLCAwLjAxMTQyODAwMDQwNTQzMDc5NF0sIFsxNTk1MDg4MTY4LjgwMDQwNSwgMzM5LCAwLjAxMTcxMjQwMDI0MjY4NjI3Ml0sIFsxNTk1MDg4MTc2LjU3MTkxNywgMzQ3LCAwLjAxMTk2NTIwMDMwNDk4NTA0Nl0sIFsxNTk1MDg4MTkyLjA2MzM0NiwgMzYzLCAwLjAxMjQ3MDgwMDQyOTU4MjU5Nl0sIFsxNTk1MDg4MTk1LjkyMTU2MywgMzY3LCAwLjAxMjU5NzIwMDQ2MDczMTk4M10sIFsxNTk1MDg4MjQ5LjI5NDU0LCA0MjEsIDAuMDE0MzAzNjAwNDE1NTg3NDI1XSwgWzE1OTUwODgyNTAuMjk3Nzk5LCA0MjIsIDAuMDE0MzM1MjAwMTkwNTQ0MTI4XSwgWzE1OTUwODgyNjcuMTQzMjE5LCA0MzksIDAuMDE0ODcyNDAwMDkwMDk4MzgxXSwgWzE1OTUwODgyNzAuMDM2NDQ3LCA0NDIsIDAuMDE0OTY3MjAwMzQ2MjkxMDY1XSwgWzE1OTUwODgyNzMuMDg5Nzk1LCA0NDUsIDAuMDE1MDYyMDAwNjAyNDgzNzVdLCBbMTU5NTA4ODI4Ny44NjM2MiwgNDYwLCAwLjAxNTUzNjAwMDAyMDgwMjAyMV0sIFsxNTk1MDg4MjkwLjg3NjU1MSwgNDYzLCAwLjAxNTYzMDgwMDI3Njk5NDcwNV0sIFsxNTk1MDg4MjkxLjkxOTk4MywgNDY0LCAwLjAxNTY2MjQwMDA1MTk1MTQxXSwgWzE1OTUwODgzMDEuNzU4NjU1LCA0NzQsIDAuMDE1OTc4Mzk5NjY0MTYzNTldLCBbMTU5NTA4ODMxOC40NzU2NTYsIDQ5MSwgMC4wMTY1MTU1OTk1NjM3MTc4NDJdLCBbMTU5NTA4ODMyMC40OTExMDgsIDQ5MywgMC4wMTY1Nzg3OTkxMTM2MzEyNV0sIFsxNTk1MDg4MzQxLjIzNTQwNCwgNTE0LCAwLjAxNzI0MjM5OTk3NTY1NzQ2M10sIFsxNTk1MDg4MzQ0LjIwMTY3MywgNTE3LCAwLjAxNzMzNzIwMTE2MzE3MjcyMl0sIFsxNTk1MDg4MzU3Ljk3NDY2NSwgNTMxLCAwLjAxNzc3OTU5OTg3NTIxMTcxNl0sIFsxNTk1MDg4MzYyLjk4ODg0LCA1MzYsIDAuMDE3OTM3NjAwNjEyNjQwMzhdLCBbMTU5NTA4ODM4OS42NzQ1NTgsIDU2MywgMC4wMTg3OTA4MDAxMjQ0MDY4MTVdLCBbMTU5NTA4ODM5OS43OTU1OTksIDU3MywgMC4wMTkxMDY3OTk3MzY2MTg5OTZdLCBbMTU5NTA4ODQwNS4zMTMzOCwgNTc5LCAwLjAxOTI5NjQwMDI0OTAwNDM2NF0sIFsxNTk1MDg4NDA3LjI1NDM1OSwgNTgxLCAwLjAxOTM1OTU5OTc5ODkxNzc3XSwgWzE1OTUwODg0MTIuMTk4ODMyLCA1ODYsIDAuMDE5NTE3NjAwNTM2MzQ2NDM2XSwgWzE1OTUwODg0MTMuMTg4ODExLCA1ODcsIDAuMDE5NTQ5MjAwMzExMzAzMTRdLCBbMTU5NTA4ODQyNy44MDY1MDYsIDYwMiwgMC4wMjAwMjMyMDA2NjA5NDM5ODVdLCBbMTU5NTA4ODQ0NS41NzAyOTgsIDYyMCwgMC4wMjA1OTIwMDAzMzU0NTQ5NF0sIFsxNTk1MDg4NDQ3LjUxNzA5OCwgNjIyLCAwLjAyMDY1NTE5OTg4NTM2ODM0N10sIFsxNTk1MDg4NDU5LjA5OTA5NSwgNjM0LCAwLjAyMTAzNDQwMDkxMDEzOTA4NF0sIFsxNTk1MDg4NDY1Ljk3MDg3OCwgNjQxLCAwLjAyMTI1NTYwMTE5NzQ4MTE1NV0sIFsxNTk1MDg4NDY2Ljg5MDE2NCwgNjQyLCAwLjAyMTI4NzIwMDk3MjQzNzg2XSwgWzE1OTUwODg0NjguODkzNjMxLCA2NDQsIDAuMDIxMzUwNDAwNTIyMzUxMjY1XSwgWzE1OTUwODg0NzEuNzk5NzI1LCA2NDcsIDAuMDIxNDQ1MTk5ODQ3MjIxMzc1XSwgWzE1OTUwODg0NzMuNzU3NDI2LCA2NDksIDAuMDIxNTA4NDAxMjU5Nzc5OTNdLCBbMTU5NTA4ODQ4NS41NjEwNzUsIDY2MSwgMC4wMjE4ODc2MDA0MjE5MDU1MThdLCBbMTU5NTA4ODQ5NS4zNTgyMDQsIDY3MSwgMC4wMjIyMDM2MDAwMzQxMTc3XSwgWzE1OTUwODg1MDcuMTQ4MzA5LCA2ODMsIDAuMDIyNTgyODAxMDU4ODg4NDM1XSwgWzE1OTUwODg1MTIuMDE4MzQ4LCA2ODgsIDAuMDIyNzQwNzk5OTMzNjcxOTVdLCBbMTU5NTA4ODUzNy4zNjY1NzksIDcxNCwgMC4wMjM1NjIzOTk2NzA0ODE2ODJdLCBbMTU5NTA4ODU0MS4wNTYxMjEsIDcxOCwgMC4wMjM2ODg4MDA2MzI5NTM2NDRdLCBbMTU5NTA4ODU0NC45NjgyMDgsIDcyMiwgMC4wMjM4MTUxOTk3MzI3ODA0NTddLCBbMTU5NTA4ODU0NS45MjQ5ODYsIDcyMywgMC4wMjM4NDY4MDEzNzAzODIzMV0sIFsxNTk1MDg4NTUyLjczNjU0NiwgNzMwLCAwLjAyNDA2Nzk5OTc5NTA3OTIzXSwgWzE1OTUwODg1NjEuNTY2OTUxLCA3MzksIDAuMDI0MzUyMzk5NjMyMzM0NzFdLCBbMTU5NTA4ODU2NS41MDM0ODYsIDc0MywgMC4wMjQ0Nzg4MDA1OTQ4MDY2N10sIFsxNTk1MDg4NTY5LjQzNDkzMywgNzQ3LCAwLjAyNDYwNTE5OTY5NDYzMzQ4NF0sIFsxNTk1MDg4NTc0LjE5NTI0LCA3NTIsIDAuMDI0NzYzMjAwNDMyMDYyMTVdLCBbMTU5NTA4ODU3Ny45NTczODYsIDc1NiwgMC4wMjQ4ODk2MDEzOTQ1MzQxMV0sIFsxNTk1MDg4NTg2LjU0OTk1OSwgNzY1LCAwLjAyNTE3NDAwMTIzMTc4OTU5XSwgWzE1OTUwODg1OTAuNDI3MDQ4LCA3NjksIDAuMDI1MzAwNDAwMzMxNjE2NF0sIFsxNTk1MDg4NTkyLjQ2ODQ4NiwgNzcxLCAwLjAyNTM2MzU5OTg4MTUyOTgwOF0sIFsxNTk1MDg4NTk0LjM4MDI4LCA3NzMsIDAuMDI1NDI2ODAxMjk0MDg4MzY0XSwgWzE1OTUwODg2MDEuMjg3Mzg1LCA3ODAsIDAuMDI1NjQ3OTk5NzE4Nzg1Mjg2XSwgWzE1OTUwODg2MDYuNTQyNTgsIDc4NSwgMC4wMjU4MDYwMDA0NTYyMTM5NV0sIFsxNTk1MDg4NjA4LjAxNTM4OCwgNzg3LCAwLjAyNTg2OTIwMDAwNjEyNzM1N10sIFsxNTk1MDg4NjEyLjkzNTU4OCwgNzkyLCAwLjAyNjAyNzIwMDc0MzU1NjAyM10sIFsxNTk1MDg4NjE0Ljg4ODkzMiwgNzk0LCAwLjAyNjA5MDQwMDI5MzQ2OTQzXSwgWzE1OTUwODg2MTguNzc1NDc1LCA3OTgsIDAuMDI2MjE2ODAxMjU1OTQxMzldLCBbMTU5NTA4ODYyMi43NzI2NjYsIDgwMiwgMC4wMjYzNDMyMDAzNTU3NjgyMDRdLCBbMTU5NTA4ODYyOC42NDM2NjksIDgwOCwgMC4wMjY1MzI4MDA4NjgxNTM1NzJdLCBbMTU5NTA4ODYyOS41NzcwNzcsIDgwOSwgMC4wMjY1NjQ0MDA2NDMxMTAyNzVdLCBbMTU5NTA4ODY1MS44Njk0OTgsIDgzMiwgMC4wMjcyOTEyMDEwNTUwNDk4OTZdLCBbMTU5NTA4ODY1NS44ODg3ODQsIDgzNiwgMC4wMjc0MTc2MDAxNTQ4NzY3MV0sIFsxNTk1MDg4Njg4LjIxNjMyMSwgODY5LCAwLjAyODQ2MDQwMDE3OTAyODUxXSwgWzE1OTUwODg2OTQuOTg5MjExLCA4NzYsIDAuMDI4NjgxNjAwNDY2MzcwNTgzXSwgWzE1OTUwODg3MDAuNzI5OTk1LCA4ODIsIDAuMDI4ODcxMjAwOTc4NzU1OTVdLCBbMTU5NTA4ODcxNC41OTk5NTMsIDg5NiwgMC4wMjkzMTM1OTk2OTA3OTQ5NDVdLCBbMTU5NTA4ODcxOC41OTkwMzEsIDkwMCwgMC4wMjk0NDAwMDA2NTMyNjY5MDddLCBbMTU5NTA4ODcyNS4zMzY4OTgsIDkwNywgMC4wMjk2NjEyMDA5NDA2MDg5OF0sIFsxNTk1MDg4NzI3LjIwMzMyLCA5MDksIDAuMDI5NzI0NDAwNDkwNTIyMzg1XSwgWzE1OTUwODg3MzMuMjE4MjEzLCA5MTUsIDAuMDI5OTE0MDAxMDAyOTA3NzUzXSwgWzE1OTUwODg3MzUuMTE0OTI1LCA5MTcsIDAuMDI5OTc3MjAwNTUyODIxMTZdLCBbMTU5NTA4ODc0OC43MDkxMzEsIDkzMSwgMC4wMzA0MTk2MDExMjc1MDUzMDJdLCBbMTU5NTA4ODc0OS42OTIzNCwgOTMyLCAwLjAzMDQ1MTIwMDkwMjQ2MjAwNl0sIFsxNTk1MDg4NzU5LjUwMjk1MiwgOTQyLCAwLjAzMDc2NzIwMDUxNDY3NDE4N10sIFsxNTk1MDg4NzYyLjM4MTgxMywgOTQ1LCAwLjAzMDg2MTk5OTgzOTU0NDI5Nl0sIFsxNTk1MDg4NzcxLjE1NjYxMywgOTU0LCAwLjAzMTE0NjQwMTUzOTQ0NDkyM10sIFsxNTk1MDg4Nzc0Ljk4OTg1MSwgOTU4LCAwLjAzMTI3Mjc5ODc3NjYyNjU5XSwgWzE1OTUwODg3NzkuMDM1NzIyLCA5NjIsIDAuMDMxMzk5MTk3ODc2NDUzNF0sIFsxNTk1MDg4Nzg3LjkyNDU5MSwgOTcxLCAwLjAzMTY4MzYwMTQzODk5OTE3Nl0sIFsxNTk1MDg4Nzg4Ljg1ODQ5OSwgOTcyLCAwLjAzMTcxNTE5OTM1MTMxMDczXSwgWzE1OTUwODg3OTQuNzQ1NzMzLCA5NzgsIDAuMDMxOTA0Nzk4MDAxMDUwOTVdLCBbMTU5NTA4ODc5NS42NjIyOSwgOTc5LCAwLjAzMTkzNjM5OTYzODY1MjhdLCBbMTU5NTA4ODgwMC42NjU0NDQsIDk4NCwgMC4wMzIwOTQ0MDAzNzYwODE0N10sIFsxNTk1MDg4ODEyLjQwMzk3NywgOTk2LCAwLjAzMjQ3MzU5NzY3NTU2MTkwNV0sIFsxNTk1MDg4ODE4LjMyNDI1MywgMTAwMiwgMC4wMzI2NjMyMDAwNTA1OTI0Ml0sIFsxNTk1MDg4ODIxLjMzMjIxMSwgMTAwNSwgMC4wMzI3NTc5OTc1MTI4MTczOF0sIFsxNTk1MDg4ODI5Ljc5MTAwNCwgMTAxNCwgMC4wMzMwNDIzOTczNTAwNzI4Nl0sIFsxNTk1MDg4ODQwLjUzNTg0OCwgMTAyNSwgMC4wMzMzOTAwMDA0NjI1MzIwNF0sIFsxNTk1MDg4ODU4LjgyNTkzNSwgMTA0NCwgMC4wMzM5OTAzOTgwNDkzNTQ1NV0sIFsxNTk1MDg4ODcxLjA0MzM4MywgMTA1NywgMC4wMzQ0MDExOTY5ODY0MzY4NDRdLCBbMTU5NTA4ODg3Ni44MzI5NTQsIDEwNjMsIDAuMDM0NTkwNzk5MzYxNDY3MzZdLCBbMTU5NTA4ODg3OS43NTE0MTIsIDEwNjYsIDAuMDM0Njg1NjAwNTQ4OTgyNjJdLCBbMTU5NTA4ODg4MS42NzY0MzEsIDEwNjgsIDAuMDM0NzQ4ODAwMDk4ODk2MDNdLCBbMTU5NTA4ODg4NS40NTk1NzgsIDEwNzIsIDAuMDM0ODc1MTk5MTk4NzIyODRdLCBbMTU5NTA4ODg5MS4zMDcwNTksIDEwNzgsIDAuMDM1MDY0Nzk3ODQ4NDYzMDZdLCBbMTU5NTA4ODg5Ni4yMDIwNzgsIDEwODMsIDAuMDM1MjIyNzk4NTg1ODkxNzI0XSwgWzE1OTUwODg5MDUuODg2NTI0LCAxMDkzLCAwLjAzNTUzODgwMDA2MDc0OTA1NF0sIFsxNTk1MDg4OTExLjU5OTAwOSwgMTA5OSwgMC4wMzU3MjgzOTg3MTA0ODkyN10sIFsxNTk1MDg4OTE2LjUzNjU1NSwgMTEwNCwgMC4wMzU4ODYzOTk0NDc5MTc5NF0sIFsxNTk1MDg4OTI2LjI5Mzg5MywgMTExNCwgMC4wMzYyMDIzOTcxOTc0ODQ5N10sIFsxNTk1MDg4OTMxLjI1ODcwNSwgMTExOSwgMC4wMzYzNjAzOTc5MzQ5MTM2MzVdLCBbMTU5NTA4ODk2Ny4xODM0OTMsIDExNTYsIDAuMDM3NTI5NTk4OTIxNTM3NF0sIFsxNTk1MDg4OTcwLjkyNjMyNiwgMTE2MCwgMC4wMzc2NTU5OTgwMjEzNjQyMV0sIFsxNTk1MDg4OTcxLjk4ODM4OCwgMTE2MSwgMC4wMzc2ODc1OTk2NTg5NjYwNjRdLCBbMTU5NTA4ODk3Mi45MzYyNzIsIDExNjIsIDAuMDM3NzE5MTk3NTcxMjc3NjJdLCBbMTU5NTA4ODk5MC40NjE0NCwgMTE4MCwgMC4wMzgyODc5OTcyNDU3ODg1NzRdLCBbMTU5NTA4OTAwMi4wNDMwMzIsIDExOTIsIDAuMDM4NjY3MTk4MjcwNTU5MzFdLCBbMTU5NTA4OTAwMi45ODAxOTMsIDExOTMsIDAuMDM4Njk4Nzk5OTA4MTYxMTZdLCBbMTU5NTA4OTAwOC45MzA4NzQsIDExOTksIDAuMDM4ODg4Mzk4NTU3OTAxMzhdLCBbMTU5NTA4OTAxNS41NTA2NDIsIDEyMDYsIDAuMDM5MTA5NTk4ODQ1MjQzNDU0XSwgWzE1OTUwODkwNDAuNDQ0MzQ3LCAxMjMyLCAwLjAzOTkzMTIwMDQ0NDY5ODMzNF0sIFsxNTk1MDg5MDQyLjQzMDQ0OCwgMTIzNCwgMC4wMzk5OTQzOTk5OTQ2MTE3NF0sIFsxNTk1MDg5MDUyLjE4OTIxNywgMTI0NCwgMC4wNDAzMTAzOTc3NDQxNzg3N10sIFsxNTk1MDg5MDYyLjg4Nzc2NiwgMTI1NSwgMC4wNDA2NTc5OTcxMzEzNDc2NTZdLCBbMTU5NTA4OTA2NS43MzkyMzUsIDEyNTgsIDAuMDQwNzUyNzk4MzE4ODYyOTE1XSwgWzE1OTUwODkwNjguNjYxMzA2LCAxMjYxLCAwLjA0MDg0NzU5OTUwNjM3ODE3NF0sIFsxNTk1MDg5MDg4LjExODkyMiwgMTI4MSwgMC4wNDE0Nzk1OTg3MzA4MDI1MzZdLCBbMTU5NTA4OTA5My44OTE1MzcsIDEyODcsIDAuMDQxNjY5MTk3MzgwNTQyNzU1XSwgWzE1OTUwODkxMDAuNTYyNzQ1LCAxMjk0LCAwLjA0MTg5MDM5NzY2Nzg4NDgzXSwgWzE1OTUwODkxMDYuNTg0MDUxLCAxMzAwLCAwLjA0MjA4MDAwMDA0MjkxNTM0NF0sIFsxNTk1MDg5MTE2LjQxNTUxMywgMTMxMCwgMC4wNDIzOTU5OTc3OTI0ODIzNzZdLCBbMTU5NTA4OTEyMi4yNzQ5MSwgMTMxNiwgMC4wNDI1ODU2MDAxNjc1MTI4OTRdLCBbMTU5NTA4OTEyNS4yMzE2MjEsIDEzMTksIDAuMDQyNjgwMzk3NjI5NzM3ODU0XSwgWzE1OTUwODkxMzUuNzE0MDA1LCAxMzMwLCAwLjA0MzAyODAwMDc0MjE5NzA0XSwgWzE1OTUwODkxMzguNjAwMTM0LCAxMzMzLCAwLjA0MzEyMjc5ODIwNDQyMl0sIFsxNTk1MDg5MTQxLjU0Nzc1MiwgMTMzNiwgMC4wNDMyMTc1OTkzOTE5MzcyNTZdLCBbMTU5NTA4OTE0Mi41MDcwMDgsIDEzMzcsIDAuMDQzMjQ5MTk3MzA0MjQ4ODFdLCBbMTU5NTA4OTE4OS4yODA0NjUsIDEzODUsIDAuMDQ0NzY1OTk3Njc4MDQxNDZdLCBbMTU5NTA4OTE5Mi4zMzAyMjMsIDEzODgsIDAuMDQ0ODYwNzk4ODY1NTU2NzJdLCBbMTU5NTA4OTE5NS4xNzgzOTYsIDEzOTEsIDAuMDQ0OTU1NjAwMDUzMDcxOTc2XSwgWzE1OTUwODkxOTYuMTAzMSwgMTM5MiwgMC4wNDQ5ODcxOTc5NjUzODM1M10sIFsxNTk1MDg5MjE3Ljg0MDg0NCwgMTQxNCwgMC4wNDU2ODI0MDA0NjUwMTE2XSwgWzE1OTUwODkyMjkuNjUwNjQzLCAxNDI2LCAwLjA0NjA2MTU5Nzc2NDQ5MjAzNV0sIFsxNTk1MDg5MjMxLjYwNDEwNSwgMTQyOCwgMC4wNDYxMjQ3OTczMTQ0MDU0NF0sIFsxNTk1MDg5MjM1LjM0MzI4NSwgMTQzMiwgMC4wNDYyNTEyMDAxMzk1MjI1NV0sIFsxNTk1MDg5MjM5LjIyMTk3MSwgMTQzNiwgMC4wNDYzNzc1OTkyMzkzNDkzNjVdLCBbMTU5NTA4OTI0My4xMDU4OTUsIDE0NDAsIDAuMDQ2NTAzOTk4MzM5MTc2MThdLCBbMTU5NTA4OTI2Ny42MTU4MDIsIDE0NjUsIDAuMDQ3MjkzOTk4MzAxMDI5MjA1XSwgWzE1OTUwODkyNjguNjYzNDcsIDE0NjYsIDAuMDQ3MzI1NTk5OTM4NjMxMDZdLCBbMTU5NTA4OTI3OS40NTM0NywgMTQ3NywgMC4wNDc2NzMxOTkzMjU3OTk5NF0sIFsxNTk1MDg5Mjg3LjE4MjY1LCAxNDg1LCAwLjA0NzkyNTk5NzUyNTQ1MzU3XSwgWzE1OTUwODkyOTEuMDk2ODA4LCAxNDg5LCAwLjA0ODA1MjQwMDM1MDU3MDY4XSwgWzE1OTUwODkyOTMuMDEzNywgMTQ5MSwgMC4wNDgxMTU1OTk5MDA0ODQwODVdLCBbMTU5NTA4OTMwOS44MTYzMjUsIDE1MDgsIDAuMDQ4NjUyNzk3OTM3MzkzMTldLCBbMTU5NTA4OTMyNC41NTY1NzksIDE1MjMsIDAuMDQ5MTI2ODAwMTQ5Njc5MTg0XSwgWzE1OTUwODkzMjguNDEyNjQzLCAxNTI3LCAwLjA0OTI1MzE5OTI0OTUwNl0sIFsxNTk1MDg5MzUzLjA2OTkyLCAxNTUyLCAwLjA1MDA0MzE5OTIxMTM1OTAyNF0sIFsxNTk1MDg5MzY4Ljk0NzQ0LCAxNTY4LCAwLjA1MDU0ODc5OTMzNTk1NjU3M10sIFsxNTk1MDg5MzY5Ljg3Njg1LCAxNTY5LCAwLjA1MDU4MDM5NzI0ODI2ODEzXSwgWzE1OTUwODkzODQuOTE1MTY1LCAxNTg0LCAwLjA1MTA1NDM5OTQ2MDU1NDEyXSwgWzE1OTUwODkzODguODgwNTEzLCAxNTg4LCAwLjA1MTE4MDc5ODU2MDM4MDkzNl0sIFsxNTk1MDg5Mzk3LjcxMDE4NywgMTU5NywgMC4wNTE0NjUxOTgzOTc2MzY0MTRdLCBbMTU5NTA4OTQwNC44MTc1LCAxNjA0LCAwLjA1MTY4NjM5ODY4NDk3ODQ4NV0sIFsxNTk1MDg5NDA1LjczOTA3MywgMTYwNSwgMC4wNTE3MTgwMDAzMjI1ODAzNF0sIFsxNTk1MDg5NDE4LjQ3ODE1LCAxNjE4LCAwLjA1MjEyODc5OTI1OTY2MjYzXSwgWzE1OTUwODk0MjcuMzk3MzUsIDE2MjcsIDAuMDUyNDEzMTk5MDk2OTE4MTA2XSwgWzE1OTUwODk0MzIuNDM0MDUzLCAxNjMyLCAwLjA1MjU3MTE5OTgzNDM0Njc3XSwgWzE1OTUwODk0MzcuMTc5NDkzLCAxNjM3LCAwLjA1MjcyOTIwMDU3MTc3NTQzNl0sIFsxNTk1MDg5NDQwLjAyNjAxNiwgMTY0MCwgMC4wNTI4MjM5OTgwMzQwMDA0XSwgWzE1OTUwODk0NDUuMDc4MDg5LCAxNjQ1LCAwLjA1Mjk4MTk5ODc3MTQyOTA2XSwgWzE1OTUwODk0NDguMDgzMDY2LCAxNjQ4LCAwLjA1MzA3Njc5OTk1ODk0NDMyXSwgWzE1OTUwODk0NjAuMTM5NzM4LCAxNjYwLCAwLjA1MzQ1NjAwMDk4MzcxNTA2XSwgWzE1OTUwODk0NjcuOTA4MTAyLCAxNjY4LCAwLjA1MzcwODc5OTE4MzM2ODY4XSwgWzE1OTUwODk0NzQuODc1NDU5LCAxNjc1LCAwLjA1MzkyOTk5OTQ3MDcxMDc1NF0sIFsxNTk1MDg5NDgxLjc1Mzk4NCwgMTY4MiwgMC4wNTQxNTExOTk3NTgwNTI4MjZdLCBbMTU5NTA4OTQ5MC42NDY3MTUsIDE2OTEsIDAuMDU0NDM1NTk5NTk1MzA4MzA0XSwgWzE1OTUwODk0OTQuNTI5NDQ3LCAxNjk1LCAwLjA1NDU2MTk5ODY5NTEzNTEyXSwgWzE1OTUwODk0OTUuNDc5NjY5LCAxNjk2LCAwLjA1NDU5MzYwMDMzMjczNjk3XSwgWzE1OTUwODk0OTYuNDg4ODY4LCAxNjk3LCAwLjA1NDYyNTE5ODI0NTA0ODUyXSwgWzE1OTUwODk0OTguNDI4NTMsIDE2OTksIDAuMDU0Njg4Mzk3Nzk0OTYxOTNdLCBbMTU5NTA4OTUwMS4yNTQ0NTIsIDE3MDIsIDAuMDU0NzgzMTk4OTgyNDc3MTldLCBbMTU5NTA4OTUwOC4xMjI2MTMsIDE3MDksIDAuMDU1MDA0Mzk5MjY5ODE5MjZdLCBbMTU5NTA4OTUxNy4wODU3MjYsIDE3MTgsIDAuMDU1Mjg4Nzk5MTA3MDc0NzRdLCBbMTU5NTA4OTUyNi45OTExNDEsIDE3MjgsIDAuMDU1NjA0ODAwNTgxOTMyMDddLCBbMTU5NTA4OTUzMC44NTc3MTIsIDE3MzIsIDAuMDU1NzMxMTk5NjgxNzU4ODhdLCBbMTU5NTA4OTUzMi44NjQ5OTQsIDE3MzQsIDAuMDU1Nzk0Mzk5MjMxNjcyMjldLCBbMTU5NTA4OTUzNS43NDcyODEsIDE3MzcsIDAuMDU1ODg5MjAwNDE5MTg3NTQ2XSwgWzE1OTUwODk1NDAuNzA3ODI0LCAxNzQyLCAwLjA1NjA0NzE5NzQzMTMyNTkxXSwgWzE1OTUwODk1NDMuNzU4MjMxLCAxNzQ1LCAwLjA1NjE0MTk5ODYxODg0MTE3XSwgWzE1OTUwODk1NDQuNjkxMDY3LCAxNzQ2LCAwLjA1NjE3MzYwMDI1NjQ0MzAyNF0sIFsxNTk1MDg5NTQ1LjY1ODYzOCwgMTc0NywgMC4wNTYyMDUxOTgxNjg3NTQ1OF0sIFsxNTk1MDg5NTY0LjAwNzg1MSwgMTc2NiwgMC4wNTY4MDU1OTk0ODA4NjczODZdLCBbMTU5NTA4OTU3Mi42NDA1NzMsIDE3NzUsIDAuMDU3MDg5OTk5MzE4MTIyODY0XSwgWzE1OTUwODk1NzguNjExMzg1LCAxNzgxLCAwLjA1NzI3OTU5Nzk2Nzg2MzA4XSwgWzE1OTUwODk1ODUuMjc5OTUzLCAxNzg4LCAwLjA1NzUwMDc5ODI1NTIwNTE1NF0sIFsxNTk1MDg5NTg2LjI0NTQ2MSwgMTc4OSwgMC4wNTc1MzIzOTk4OTI4MDcwMV0sIFsxNTk1MDg5NTk0Ljg3MjQ3OCwgMTc5OCwgMC4wNTc4MTY3OTk3MzAwNjI0ODVdLCBbMTU5NTA4OTYwMS42OTg0NzUsIDE4MDUsIDAuMDU4MDM4MDAwMDE3NDA0NTU2XSwgWzE1OTUwODk2MTMuNjQ4NzQ5LCAxODE3LCAwLjA1ODQxNzIwMTA0MjE3NTI5XSwgWzE1OTUwODk2MjIuNTE5NjYxLCAxODI2LCAwLjA1ODcwMTYwMDg3OTQzMDc3XSwgWzE1OTUwODk2MjYuNDAwOTQ0LCAxODMwLCAwLjA1ODgyNzk5OTk3OTI1NzU4NF0sIFsxNTk1MDg5NjM1Ljk3OTA1MSwgMTg0MCwgMC4wNTkxNDM5OTc3Mjg4MjQ2MTVdLCBbMTU5NTA4OTYzOS44ODY2NjgsIDE4NDQsIDAuMDU5MjcwNDAwNTUzOTQxNzNdLCBbMTU5NTA4OTY0OC43MzcxOTQsIDE4NTMsIDAuMDU5NTU0ODAwMzkxMTk3MjA1XSwgWzE1OTUwODk2NjEuNjMxMjQyLCAxODY2LCAwLjA1OTk2NTU5OTMyODI3OTQ5NV0sIFsxNTk1MDg5NjY0LjUyNTk2MywgMTg2OSwgMC4wNjAwNjA0MDA1MTU3OTQ3NTRdLCBbMTU5NTA4OTY3MC40ODUyMTQsIDE4NzUsIDAuMDYwMjQ5OTk5MTY1NTM0OTddLCBbMTU5NTA4OTY3Mi40MzI5NzIsIDE4NzcsIDAuMDYwMzEzMTk4NzE1NDQ4MzhdLCBbMTU5NTA4OTcwNS41NDcwNzksIDE5MTEsIDAuMDYxMzg3NTk4NTE0NTU2ODg1XSwgWzE1OTUwODk3MTEuMzAyMTEyLCAxOTE3LCAwLjA2MTU3NzIwMDg4OTU4NzRdLCBbMTU5NTA4OTcyNy45Mjk5LCAxOTM0LCAwLjA2MjExNDM5ODkyNjQ5NjUwNl0sIFsxNTk1MDg5NzI5Ljg1NTgsIDE5MzYsIDAuMDYyMTc3NTk4NDc2NDA5OTFdLCBbMTU5NTA4OTczMS44MzMyNDUsIDE5MzgsIDAuMDYyMjQwNzk4MDI2MzIzMzJdLCBbMTU5NTA4OTczNy42OTgwNTcsIDE5NDQsIDAuMDYyNDMwNDAwNDAxMzUzODM2XSwgWzE1OTUwODk3NDAuNzI3MDMsIDE5NDcsIDAuMDYyNTI1MTk3ODYzNTc4OF0sIFsxNTk1MDg5NzQyLjgwNTQwMywgMTk0OSwgMC4wNjI1ODg0MDExMzg3ODI1XSwgWzE1OTUwODk3NjAuNDIyNTYzLCAxOTY3LCAwLjA2MzE1NzIwMDgxMzI5MzQ2XSwgWzE1OTUwODk3NzQuMjY5OTgsIDE5ODEsIDAuMDYzNTk5NjAxMzg3OTc3Nl0sIFsxNTk1MDg5Nzc1LjcyNTM1OCwgMTk4MywgMC4wNjM2NjI4MDQ2NjMxODEzXSwgWzE1OTUwODk3OTMuMjY5MjU3LCAyMDAxLCAwLjA2NDIzMTYwNDMzNzY5MjI2XSwgWzE1OTUwODk3OTcuMjI3NTQ3LCAyMDA1LCAwLjA2NDM1ODAwMzQzNzUxOTA3XSwgWzE1OTUwODk4MDUuMjY4MTA4LCAyMDEzLCAwLjA2NDYxMDgwMTYzNzE3MjddLCBbMTU5NTA4OTgyMS45Mzg5ODcsIDIwMzAsIDAuMDY1MTQ4MDAzMzk5MzcyMV0sIFsxNTk1MDg5ODI3Ljc0NjE5NywgMjAzNiwgMC4wNjUzMzc2MDU3NzQ0MDI2Ml0sIFsxNTk1MDg5ODUxLjAwMjkwMSwgMjA2MCwgMC4wNjYwOTYwMDAzNzMzNjM1XSwgWzE1OTUwODk4NjIuMzQ0Mzg3LCAyMDcyLCAwLjA2NjQ3NTIwNTEyMzQyNDUzXSwgWzE1OTUwODk4NjMuMjk4Mzg5LCAyMDczLCAwLjA2NjUwNjgwMzAzNTczNjA4XSwgWzE1OTUwODk4NjYuMjg3NTc2LCAyMDc2LCAwLjA2NjYwMTYwNDIyMzI1MTM0XSwgWzE1OTUwODk4NjcuMjE3ODU1LCAyMDc3LCAwLjA2NjYzMzIwMjEzNTU2MjldLCBbMTU5NTA4OTg2OS4yNDExMTcsIDIwNzksIDAuMDY2Njk2NDA1NDEwNzY2Nl0sIFsxNTk1MDg5ODcxLjM0Nzg3NCwgMjA4MSwgMC4wNjY3NTk2MDEyMzUzODk3MV0sIFsxNTk1MDg5ODc1LjMyMjk0MSwgMjA4NSwgMC4wNjY4ODYwMDAzMzUyMTY1Ml0sIFsxNTk1MDg5ODc5LjE0MzkxNCwgMjA4OSwgMC4wNjcwMTIzOTk0MzUwNDMzM10sIFsxNTk1MDg5ODg0LjA5MjAzMywgMjA5NCwgMC4wNjcxNzA0MDM4OTc3NjIzXSwgWzE1OTUwODk4ODYuMDE2NDQ2LCAyMDk2LCAwLjA2NzIzMzU5OTcyMjM4NTRdLCBbMTU5NTA4OTkwMC42OTcwNTcsIDIxMTEsIDAuMDY3NzA3NjA1NjU5OTYxN10sIFsxNTk1MDg5OTM0Ljc4OTc4MSwgMjE0NSwgMC4wNjg3ODIwMDE3MzM3Nzk5MV0sIFsxNTk1MDg5OTM4LjIwNDk5NiwgMjE0OSwgMC4wNjg5MDg0MDA4MzM2MDY3Ml0sIFsxNTk1MDg5OTQwLjEyNTg2MiwgMjE1MSwgMC4wNjg5NzE2MDQxMDg4MTA0Ml0sIFsxNTk1MDg5OTQ1LjAzOTI1NCwgMjE1NiwgMC4wNjkxMjk2MDExMjA5NDg3OV0sIFsxNTk1MDg5OTUzLjc2OTU1OSwgMjE2NSwgMC4wNjk0MTQwMDQ2ODM0OTQ1N10sIFsxNTk1MDg5OTYxLjYwMjc0NCwgMjE3MywgMC4wNjk2NjY4MDI4ODMxNDgyXSwgWzE1OTUwODk5NjUuNDkxMDExLCAyMTc3LCAwLjA2OTc5MzIwMTk4Mjk3NV0sIFsxNTk1MDg5OTc1LjM2NTY0NCwgMjE4NywgMC4wNzAxMDkyMDM0NTc4MzIzNF0sIFsxNTk1MDg5OTc3LjM0NTUxOCwgMjE4OSwgMC4wNzAxNzI0MDY3MzMwMzYwNF0sIFsxNTk1MDg5OTc5LjI3NDMyNiwgMjE5MSwgMC4wNzAyMzU2MDI1NTc2NTkxNV0sIFsxNTk1MDg5OTgwLjI1MzAyOCwgMjE5MiwgMC4wNzAyNjcyMDA0Njk5NzA3XSwgWzE1OTUwODk5ODQuMjE4OTM5LCAyMTk2LCAwLjA3MDM5MzU5OTU2OTc5NzUyXSwgWzE1OTUwODk5ODcuMjQ0Mzc3LCAyMTk5LCAwLjA3MDQ4ODQwMDc1NzMxMjc3XSwgWzE1OTUwODk5OTUuMTg3NDY2LCAyMjA3LCAwLjA3MDc0MTIwNjQwNzU0N10sIFsxNTk1MDg5OTk5LjA1MDEwNSwgMjIxMSwgMC4wNzA4Njc2MDU1MDczNzM4MV0sIFsxNTk1MDkwMDEyLjg2NjAyMiwgMjIyNSwgMC4wNzEzMTAwMDYwODIwNTc5NV0sIFsxNTk1MDkwMDE4LjY1ODI5MywgMjIzMSwgMC4wNzE0OTk2MDEwMDY1MDc4N10sIFsxNTk1MDkwMDIzLjUzMzkxOSwgMjIzNiwgMC4wNzE2NTc2MDU0NjkyMjY4NF0sIFsxNTk1MDkwMDI0LjU3MTg0MywgMjIzNywgMC4wNzE2ODkyMDMzODE1MzgzOV0sIFsxNTk1MDkwMDI2LjU2MzM0MiwgMjIzOSwgMC4wNzE3NTI0MDY2NTY3NDIxXSwgWzE1OTUwOTAwMjkuNDg2MDYxLCAyMjQyLCAwLjA3MTg0NzIwMDM5MzY3Njc2XSwgWzE1OTUwOTAwMzEuMzYzNTY0LCAyMjQ0LCAwLjA3MTkxMDQwMzY2ODg4MDQ2XSwgWzE1OTUwOTAwMzMuNDIzNDUsIDIyNDYsIDAuMDcxOTczNTk5NDkzNTAzNTddLCBbMTU5NTA5MDAzNC40MDM3NjUsIDIyNDcsIDAuMDcyMDA1MjA0ODU2Mzk1NzJdLCBbMTU5NTA5MDA0MS4zODAwNTMsIDIyNTQsIDAuMDcyMjI2NDA1MTQzNzM3NzldLCBbMTU5NTA5MDA0NC4zMzM5MzYsIDIyNTcsIDAuMDcyMzIxMjA2MzMxMjUzMDVdLCBbMTU5NTA5MDA0OS4xMzE1MjEsIDIyNjIsIDAuMDcyNDc5MjAzMzQzMzkxNDJdLCBbMTU5NTA5MDA2Ny44OTA3MjIsIDIyODEsIDAuMDczMDc5NjAwOTMwMjEzOTNdLCBbMTU5NTA5MDA3Ny40ODA1MzIsIDIyOTEsIDAuMDczMzk1NjAyNDA1MDcxMjZdLCBbMTU5NTA5MDA4My40MTk5NjgsIDIyOTcsIDAuMDczNTg1MjA0NzgwMTAxNzhdLCBbMTU5NTA5MDA4OS4yOTM5NDQsIDIzMDMsIDAuMDczNzc0Nzk5NzA0NTUxN10sIFsxNTk1MDkwMDkzLjIxNTkzNCwgMjMwNywgMC4wNzM5MDEyMDYyNTQ5NTkxXSwgWzE1OTUwOTAwOTQuMTU0NDQ3LCAyMzA4LCAwLjA3MzkzMjgwNDE2NzI3MDY2XSwgWzE1OTUwOTAxMDQuODkxOTY4LCAyMzE5LCAwLjA3NDI4MDQwMzU1NDQzOTU0XSwgWzE1OTUwOTAxMDUuODc1NzI3LCAyMzIwLCAwLjA3NDMxMjAwMTQ2Njc1MTFdLCBbMTU5NTA5MDEyMC4zMjQxNTMsIDIzMzUsIDAuMDc0Nzg1OTk5OTUzNzQ2OF0sIFsxNTk1MDkwMTI5Ljg2NjA4NywgMjM0NSwgMC4wNzUxMDIwMDE0Mjg2MDQxM10sIFsxNTk1MDkwMTM4LjYwNTMyOSwgMjM1NCwgMC4wNzUzODY0MDQ5OTExNDk5XSwgWzE1OTUwOTAxNTUuMTYyNTgxLCAyMzcxLCAwLjA3NTkyMzYwNjc1MzM0OTNdLCBbMTU5NTA5MDE3Mi41Nzk4NjksIDIzODksIDAuMDc2NDkyNDA2NDI3ODYwMjZdLCBbMTU5NTA5MDE3My41OTQ0ODksIDIzOTAsIDAuMDc2NTI0MDA0MzQwMTcxODFdLCBbMTU5NTA5MDE3NS41NTMzOTgsIDIzOTIsIDAuMDc2NTg3MjAwMTY0Nzk0OTJdLCBbMTU5NTA5MDE4NS4yOTkyNTMsIDI0MDIsIDAuMDc2OTAzMjAxNjM5NjUyMjVdLCBbMTU5NTA5MDE4OS4yMzIwNjEsIDI0MDYsIDAuMDc3MDI5NjAwNzM5NDc5MDZdLCBbMTU5NTA5MDIwNy41OTc5NTEsIDI0MjUsIDAuMDc3NjMwMDA1Nzc2ODgyMTddLCBbMTU5NTA5MDIxOC4zMDk1ODUsIDI0MzYsIDAuMDc3OTc3NjA1MTY0MDUxMDZdLCBbMTU5NTA5MDIyNi4yNDY5NjcsIDI0NDQsIDAuMDc4MjMwNDAzMzYzNzA0NjhdLCBbMTU5NTA5MDIzMi4zMDU2NjIsIDI0NTAsIDAuMDc4NDIwMDA1NzM4NzM1Ml0sIFsxNTk1MDkwMjMzLjIzNzk4MiwgMjQ1MSwgMC4wNzg0NTE2MDM2NTEwNDY3NV0sIFsxNTk1MDkwMjM1LjIyMjY2LCAyNDUzLCAwLjA3ODUxNDgwNjkyNjI1MDQ2XSwgWzE1OTUwOTAyMzcuMTUxNjA5LCAyNDU1LCAwLjA3ODU3ODAwMjc1MDg3MzU3XSwgWzE1OTUwOTAyNDIuMDA3NjUzLCAyNDYwLCAwLjA3ODczNTk5OTc2MzAxMTkzXSwgWzE1OTUwOTAyNjYuOTM1OTExLCAyNDg1LCAwLjA3OTUyNTk5OTcyNDg2NDk2XSwgWzE1OTUwOTAyNjcuOTU0MzMxLCAyNDg2LCAwLjA3OTU1NzYwNTA4Nzc1NzExXSwgWzE1OTUwOTAyNzcuOTQwOTY4LCAyNDk2LCAwLjA3OTg3MzYwNjU2MjYxNDQ0XSwgWzE1OTUwOTAyNzkuOTI5ODY2LCAyNDk4LCAwLjA3OTkzNjgwMjM4NzIzNzU1XSwgWzE1OTUwOTAyODQuNzUzNjE2LCAyNTAzLCAwLjA3OTk5OTk5ODIxMTg2MDY2XSwgWzE1OTUwOTAyOTguNjQ2MjIyLCAyNTE3LCAwLjA3OTk5OTk5ODIxMTg2MDY2XSwgWzE1OTUwOTAzMDQuMzc5ODUxLCAyNTIzLCAwLjA3OTk5OTk5ODIxMTg2MDY2XSwgWzE1OTUwOTAzMTEuMzkwMzksIDI1MzAsIDAuMDc5OTk5OTk4MjExODYwNjZdLCBbMTU5NTA5MDMxMy40NzYsIDI1MzIsIDAuMDc5OTk5OTk4MjExODYwNjZdLCBbMTU5NTA5MDMyOC4zOTAwNTIsIDI1NDcsIDAuMDc5OTk5OTkwNzYxMjgwMDZdLCBbMTU5NTA5MDMzMi43MTg0NDMsIDI1NTEsIDAuMDc5OTk5OTkwNzYxMjgwMDZdLCBbMTU5NTA5MDMzNC4zNzUyMzYsIDI1NTMsIDAuMDc5OTk5OTkwNzYxMjgwMDZdLCBbMTU5NTA5MDM0Ny4xOTg1MzIsIDI1NjYsIDAuMDc5OTk5OTkwNzYxMjgwMDZdLCBbMTU5NTA5MDM1OS4wMzU2NjEsIDI1NzgsIDAuMDc5OTk5OTgzMzEwNjk5NDZdLCBbMTU5NTA5MDM3MC45NjQxNTEsIDI1OTAsIDAuMDc5OTk5OTc1ODYwMTE4ODddLCBbMTU5NTA5MDM3MS45MjcxNjIsIDI1OTEsIDAuMDc5OTk5OTc1ODYwMTE4ODddLCBbMTU5NTA5MDM3Mi44ODk1NjksIDI1OTIsIDAuMDc5OTk5OTc1ODYwMTE4ODddLCBbMTU5NTA5MDM4MC44NDc4NDUsIDI2MDAsIDAuMDc5OTk5OTc1ODYwMTE4ODddLCBbMTU5NTA5MDM4Ni44NjY3LCAyNjA2LCAwLjA3OTk5OTk2ODQwOTUzODI3XSwgWzE1OTUwOTA0MDMuODI5NTEsIDI2MjMsIDAuMDc5OTk5OTY4NDA5NTM4MjddLCBbMTU5NTA5MDQwOS43OTQ3NDMsIDI2MjksIDAuMDc5OTk5OTYwOTU4OTU3NjddLCBbMTU5NTA5MDQxMC43NDMxMDIsIDI2MzAsIDAuMDc5OTk5OTYwOTU4OTU3NjddLCBbMTU5NTA5MDQxOS4wNDc3MDIsIDI2MzgsIDAuMDc5OTk5OTUzNTA4Mzc3MDhdLCBbMTU5NTA5MDQyNC43MTc2MjYsIDI2NDQsIDAuMDc5OTk5OTUzNTA4Mzc3MDhdLCBbMTU5NTA5MDQzMC44MTk3NjcsIDI2NTAsIDAuMDc5OTk5OTUzNTA4Mzc3MDhdLCBbMTU5NTA5MDQzNS43NDM5NzMsIDI2NTUsIDAuMDc5OTk5OTQ2MDU3Nzk2NDhdLCBbMTU5NTA5MDQ1OC42NjQ4NTQsIDI2NzgsIDAuMDc5OTk5OTIzNzA2MDU0NjldLCBbMTU5NTA5MDQ2MC41NTQyNzksIDI2ODAsIDAuMDc5OTk5OTIzNzA2MDU0NjldLCBbMTU5NTA5MDQ2NS4zNTg5MiwgMjY4NSwgMC4wNzk5OTk5MjM3MDYwNTQ2OV0sIFsxNTk1MDkwNDcwLjMwMjU1LCAyNjkwLCAwLjA3OTk5OTkxNjI1NTQ3NDA5XSwgWzE1OTUwOTA0ODMuMTQwMzU3LCAyNzAzLCAwLjA3OTk5OTkwMTM1NDMxMjldLCBbMTU5NTA5MDQ5MC4xMzA4NCwgMjcxMCwgMC4wNzk5OTk5MDEzNTQzMTI5XSwgWzE1OTUwOTA1MDQuODIwMjk1LCAyNzI1LCAwLjA3OTk5OTg4NjQ1MzE1MTddLCBbMTU5NTA5MDUxNi42MjA3MjksIDI3MzcsIDAuMDc5OTk5ODcxNTUxOTkwNTFdLCBbMTU5NTA5MDUxOS40OTgwNTcsIDI3NDAsIDAuMDc5OTk5ODcxNTUxOTkwNTFdLCBbMTU5NTA5MDUzMy4yMDYzMDcsIDI3NTQsIDAuMDc5OTk5ODU2NjUwODI5MzJdLCBbMTU5NTA5MDUzNC4xMjA4NTQsIDI3NTUsIDAuMDc5OTk5ODU2NjUwODI5MzJdLCBbMTU5NTA5MDUzNi4wNzE3ODgsIDI3NTcsIDAuMDc5OTk5ODQ5MjAwMjQ4NzJdLCBbMTU5NTA5MDU2Ny4wOTQ5NzEsIDI3ODksIDAuMDc5OTk5ODExOTQ3MzQ1NzNdLCBbMTU5NTA5MDU2OC4xNTczODEsIDI3OTAsIDAuMDc5OTk5ODA0NDk2NzY1MTRdLCBbMTU5NTA5MDU2OS4xMjk2OTgsIDI3OTEsIDAuMDc5OTk5ODA0NDk2NzY1MTRdLCBbMTU5NTA5MDU3Ni4wOTY3NjUsIDI3OTgsIDAuMDc5OTk5Nzk3MDQ2MTg0NTRdLCBbMTU5NTA5MDU4Ny4xMjQ5MzgsIDI4MDksIDAuMDc5OTk5Nzg5NTk1NjAzOTRdLCBbMTU5NTA5MDYwMS45MjEwMTIsIDI4MjQsIDAuMDc5OTk5NzY3MjQzODYyMTVdLCBbMTU5NTA5MDYwNC45NDA0MzksIDI4MjcsIDAuMDc5OTk5NzU5NzkzMjgxNTZdLCBbMTU5NTA5MDYwNi45NDQwNzYsIDI4MjksIDAuMDc5OTk5NzU5NzkzMjgxNTZdLCBbMTU5NTA5MDYzNS43NTU1MywgMjg1OSwgMC4wNzk5OTk3MTUwODk3OTc5N10sIFsxNTk1MDkwNjQ4LjM5MDExNSwgMjg3MiwgMC4wNzk5OTk2OTI3MzgwNTYxOF0sIFsxNTk1MDkwNjU3LjA0NTkzNSwgMjg4MSwgMC4wNzk5OTk2NzAzODYzMTQzOV0sIFsxNTk1MDkwNjY1LjcyNDU4MiwgMjg5MCwgMC4wNzk5OTk2NjI5MzU3MzM4XSwgWzE1OTUwOTA2NzEuNTk5Nzg0LCAyODk2LCAwLjA3OTk5OTY0ODAzNDU3MjZdLCBbMTU5NTA5MDY3NS41NDcyMTIsIDI5MDAsIDAuMDc5OTk5NjQwNTgzOTkyXSwgWzE1OTUwOTA2OTEuOTc5MTAxLCAyOTE3LCAwLjA3OTk5OTYxMDc4MTY2OTYyXSwgWzE1OTUwOTA2OTMuODgxNzc4LCAyOTE5LCAwLjA3OTk5OTYxMDc4MTY2OTYyXSwgWzE1OTUwOTA2OTQuOTc2Njk4LCAyOTIwLCAwLjA3OTk5OTYxMDc4MTY2OTYyXSwgWzE1OTUwOTA2OTUuOTMyNjIyLCAyOTIxLCAwLjA3OTk5OTYwMzMzMTA4OTAyXSwgWzE1OTUwOTA3MDYuNjA5NDE1LCAyOTMyLCAwLjA3OTk5OTU4MDk3OTM0NzIzXSwgWzE1OTUwOTA3MjQuMDAxMTE0LCAyOTUwLCAwLjA3OTk5OTU1MTE3NzAyNDg0XSwgWzE1OTUwOTA3NDAuNTIxNzQyLCAyOTY3LCAwLjA3OTk5OTUxMzkyNDEyMTg2XSwgWzE1OTUwOTA3NDguMzg5NzA5LCAyOTc1LCAwLjA3OTk5OTQ5MTU3MjM4MDA3XSwgWzE1OTUwOTA3NzAuOTczMzMxLCAyOTk4LCAwLjA3OTk5OTQ0Njg2ODg5NjQ4XSwgWzE1OTUwOTA3NzkuNjI0MjM1LCAzMDA3LCAwLjA3OTk5OTQyNDUxNzE1NDddLCBbMTU5NTA5MDc4MS41NDk1MDEsIDMwMDksIDAuMDc5OTk5NDI0NTE3MTU0N10sIFsxNTk1MDkwNzgzLjQ5NjUyNSwgMzAxMSwgMC4wNzk5OTk0MTcwNjY1NzQxXSwgWzE1OTUwOTA3ODcuMzc5MzE2LCAzMDE1LCAwLjA3OTk5OTQwOTYxNTk5MzVdLCBbMTU5NTA5MDc4OC4zOTAwMzIsIDMwMTYsIDAuMDc5OTk5NDA5NjE1OTkzNV0sIFsxNTk1MDkwNzk5LjE1MTkzOSwgMzAyNywgMC4wNzk5OTkzNzk4MTM2NzExMV0sIFsxNTk1MDkwODAyLjEwMjUwNywgMzAzMCwgMC4wNzk5OTkzNzIzNjMwOTA1Ml0sIFsxNTk1MDkwODA5Ljk2MjQ5LCAzMDM4LCAwLjA3OTk5OTM1MDAxMTM0ODcyXSwgWzE1OTUwOTA4MTIuNzkyODE2LCAzMDQxLCAwLjA3OTk5OTM0MjU2MDc2ODEzXSwgWzE1OTUwOTA4MjEuMjk3OTcsIDMwNTAsIDAuMDc5OTk5MzIwMjA5MDI2MzRdLCBbMTU5NTA5MDgzNS43MDc2MDksIDMwNjUsIDAuMDc5OTk5MjgyOTU2MTIzMzVdLCBbMTU5NTA5MDgzOS41NTk5OTUsIDMwNjksIDAuMDc5OTk5Mjc1NTA1NTQyNzZdLCBbMTU5NTA5MDg0MS40MjAxNjEsIDMwNzEsIDAuMDc5OTk5Mjc1NTA1NTQyNzZdLCBbMTU5NTA5MDg1NS43MzMwNTgsIDMwODYsIDAuMDc5OTk5MjM4MjUyNjM5NzddLCBbMTU5NTA5MDg2OC4yMzI3MSwgMzA5OSwgMC4wNzk5OTkxOTM1NDkxNTYxOV0sIFsxNTk1MDkwODkxLjA5ODA5MiwgMzEyMiwgMC4wNzk5OTkxMzM5NDQ1MTE0MV0sIFsxNTk1MDkwOTA1LjU0MDY1MSwgMzEzNywgMC4wNzk5OTkwODkyNDEwMjc4M10sIFsxNTk1MDkwOTA2LjUzODc1OCwgMzEzOCwgMC4wNzk5OTkwODkyNDEwMjc4M10sIFsxNTk1MDkwOTEzLjM2MDY5NiwgMzE0NSwgMC4wNzk5OTkwNzQzMzk4NjY2NF0sIFsxNTk1MDkwOTE4LjE5NTEzNywgMzE1MCwgMC4wNzk5OTkwNTE5ODgxMjQ4NV0sIFsxNTk1MDkwOTIzLjEzNjA3OSwgMzE1NSwgMC4wNzk5OTkwNDQ1Mzc1NDQyNV0sIFsxNTk1MDkwOTI3LjAxMjA3NywgMzE1OSwgMC4wNzk5OTkwMjk2MzYzODMwNl0sIFsxNTk1MDkwOTI4Ljg4NjIzOCwgMzE2MSwgMC4wNzk5OTkwMjIxODU4MDI0Nl0sIFsxNTk1MDkwOTQ0LjQyMTYyMSwgMzE3NywgMC4wNzk5OTg5Nzc0ODIzMTg4OF0sIFsxNTk1MDkwOTYxLjk3NDEzOCwgMzE5NSwgMC4wNzk5OTg5MTc4Nzc2NzQxXSwgWzE1OTUwOTA5NjIuOTQxNTQ1LCAzMTk2LCAwLjA3OTk5ODkxNzg3NzY3NDFdLCBbMTU5NTA5MDk2OS42OTM4NDYsIDMyMDMsIDAuMDc5OTk4ODk1NTI1OTMyMzFdLCBbMTU5NTA5MDk3Mi42MzQyODgsIDMyMDYsIDAuMDc5OTk4ODg4MDc1MzUxNzJdLCBbMTU5NTA5MDk5NS45OTI1NDIsIDMyMzAsIDAuMDc5OTk4ODEzNTY5NTQ1NzVdLCBbMTU5NTA5MDk5OC44NjkzOTUsIDMyMzMsIDAuMDc5OTk4Nzk4NjY4Mzg0NTVdLCBbMTU5NTA5MTAwNS45MzA2MzUsIDMyNDAsIDAuMDc5OTk4Nzc2MzE2NjQyNzZdLCBbMTU5NTA5MTAwOC44NzkwNjcsIDMyNDMsIDAuMDc5OTk4NzY4ODY2MDYyMTZdLCBbMTU5NTA5MTAwOS44MDEzOTUsIDMyNDQsIDAuMDc5OTk4NzYxNDE1NDgxNTddLCBbMTU5NTA5MTAxMS42OTA2NSwgMzI0NiwgMC4wNzk5OTg3NjE0MTU0ODE1N10sIFsxNTk1MDkxMDEyLjY0ODg1NCwgMzI0NywgMC4wNzk5OTg3NTM5NjQ5MDA5N10sIFsxNTk1MDkxMDMyLjM3ODc5NiwgMzI2NywgMC4wNzk5OTg2ODY5MDk2NzU2XSwgWzE1OTUwOTEwMzcuMzQ4MDMyLCAzMjcyLCAwLjA3OTk5ODY2NDU1NzkzMzgxXSwgWzE1OTUwOTEwNDYuMDA2NjY1LCAzMjgxLCAwLjA3OTk5ODYzNDc1NTYxMTQyXSwgWzE1OTUwOTEwNDcuOTgxMDAyLCAzMjgzLCAwLjA3OTk5ODYyNzMwNTAzMDgyXSwgWzE1OTUwOTEwNjkuMzU3MzY4LCAzMzA1LCAwLjA3OTk5ODU1Mjc5OTIyNDg1XSwgWzE1OTUwOTEwNzcuMDIyNTc3LCAzMzEzLCAwLjA3OTk5ODUyMjk5NjkwMjQ3XSwgWzE1OTUwOTEwOTAuNTg1ODQ0LCAzMzI3LCAwLjA3OTk5ODQ3MDg0MjgzODI5XSwgWzE1OTUwOTEwOTEuNTYzMTU2LCAzMzI4LCAwLjA3OTk5ODQ3MDg0MjgzODI5XSwgWzE1OTUwOTEwOTYuNTA4MzUsIDMzMzMsIDAuMDc5OTk4NDU1OTQxNjc3MV0sIFsxNTk1MDkxMTAxLjM5ODk0NiwgMzMzOCwgMC4wNzk5OTg0MzM1ODk5MzUzXSwgWzE1OTUwOTExMDguMDk4NDcyLCAzMzQ1LCAwLjA3OTk5ODQwMzc4NzYxMjkyXSwgWzE1OTUwOTExMzYuNDc2MjE0LCAzMzc0LCAwLjA3OTk5ODI5MjAyODkwMzk2XSwgWzE1OTUwOTExMzguMzcwMzk4LCAzMzc2LCAwLjA3OTk5ODI4NDU3ODMyMzM2XSwgWzE1OTUwOTExNDAuMzAwNjYzLCAzMzc4LCAwLjA3OTk5ODI4NDU3ODMyMzM2XSwgWzE1OTUwOTExNDguMTI5MzA1LCAzMzg2LCAwLjA3OTk5ODI0NzMyNTQyMDM4XSwgWzE1OTUwOTExNjUuMDY1NjU0LCAzNDAzLCAwLjA3OTk5ODE4MDI3MDE5NTAxXSwgWzE1OTUwOTExNjkuMzYzMjU4LCAzNDA4LCAwLjA3OTk5ODE1NzkxODQ1MzIyXSwgWzE1OTUwOTExOTEuMDQ3MDcyLCAzNDMwLCAwLjA3OTk5ODA2ODUxMTQ4NjA1XSwgWzE1OTUwOTExOTQuMDUyODk3LCAzNDMzLCAwLjA3OTk5ODA2MTA2MDkwNTQ2XSwgWzE1OTUwOTExOTkuMTYzODA3LCAzNDM4LCAwLjA3OTk5ODAzMTI1ODU4MzA3XSwgWzE1OTUwOTEyMDUuODY2NTYsIDM0NDUsIDAuMDc5OTk4MDAxNDU2MjYwNjhdLCBbMTU5NTA5MTIwOS43Mjc4MTQsIDM0NDksIDAuMDc5OTk3OTk0MDA1NjgwMDhdLCBbMTU5NTA5MTIxMS43NzIxNTUsIDM0NTEsIDAuMDc5OTk3OTc5MTA0NTE4ODldLCBbMTU5NTA5MTIxNy43MjM5MDMsIDM0NTcsIDAuMDc5OTk3OTU2NzUyNzc3MV0sIFsxNTk1MDkxMjE4LjY4Mjg3NywgMzQ1OCwgMC4wNzk5OTc5NDkzMDIxOTY1XSwgWzE1OTUwOTEyMjQuNzgwMjI2LCAzNDY0LCAwLjA3OTk5NzkyNjk1MDQ1NDcxXSwgWzE1OTUwOTEyMzEuNTU5NDYxLCAzNDcxLCAwLjA3OTk5Nzg5NzE0ODEzMjMyXSwgWzE1OTUwOTEyMzcuNTc4MTEsIDM0NzcsIDAuMDc5OTk3ODc0Nzk2MzkwNTNdLCBbMTU5NTA5MTI0MC40NTMzOTEsIDM0ODAsIDAuMDc5OTk3ODU5ODk1MjI5MzRdLCBbMTU5NTA5MTI1Ni45OTk1MzMsIDM0OTcsIDAuMDc5OTk3Nzc3OTM4ODQyNzddLCBbMTU5NTA5MTI1OS4wODY2ODQsIDM0OTksIDAuMDc5OTk3NzcwNDg4MjYyMThdLCBbMTU5NTA5MTI2OC44MDIzNDgsIDM1MDksIDAuMDc5OTk3NzI1Nzg0Nzc4Nl0sIFsxNTk1MDkxMjcxLjg1NzM4OSwgMzUxMiwgMC4wNzk5OTc3MTA4ODM2MTc0XSwgWzE1OTUwOTEyNzguNzYzNDIzLCAzNTE5LCAwLjA3OTk5NzY4MTA4MTI5NTAxXSwgWzE1OTUwOTEyOTQuMDUxOTcyLCAzNTM1LCAwLjA3OTk5NzYwNjU3NTQ4OTA0XSwgWzE1OTUwOTEyOTUuOTYyNTUyLCAzNTM3LCAwLjA3OTk5NzU5OTEyNDkwODQ1XSwgWzE1OTUwOTEzMDEuODg3NzY5LCAzNTQzLCAwLjA3OTk5NzU2OTMyMjU4NjA2XSwgWzE1OTUwOTEzMDUuNjg2MDE4LCAzNTQ3LCAwLjA3OTk5NzU1NDQyMTQyNDg3XSwgWzE1OTUwOTEzMDcuNzE2OTA3LCAzNTQ5LCAwLjA3OTk5NzU0Njk3MDg0NDI3XSwgWzE1OTUwOTEzMjEuMzQzNDc0LCAzNTYzLCAwLjA3OTk5NzQ3OTkxNTYxODldLCBbMTU5NTA5MTMzNy45OTAyMTcsIDM1ODAsIDAuMDc5OTk3Mzk3OTU5MjMyMzNdLCBbMTU5NTA5MTM0OS43MDI2MjEsIDM1OTIsIDAuMDc5OTk3MzM4MzU0NTg3NTVdLCBbMTU5NTA5MTM1Ny41ODM5MywgMzYwMCwgMC4wNzk5OTczMDExMDE2ODQ1N10sIFsxNTk1MDkxMzc0Ljk5MTU3MiwgMzYxOCwgMC4wNzk5OTcyMTE2OTQ3MTc0MV0sIFsxNTk1MDkxMzc2Ljk2NDA2NSwgMzYyMCwgMC4wNzk5OTcyMDQyNDQxMzY4MV0sIFsxNTk1MDkxMzc4LjgxMzc5NCwgMzYyMiwgMC4wNzk5OTcxODkzNDI5NzU2Ml0sIFsxNTk1MDkxMzgxLjc1NjUxMSwgMzYyNSwgMC4wNzk5OTcxNzQ0NDE4MTQ0Ml0sIFsxNTk1MDkxMzg0LjU5MjEzOSwgMzYyOCwgMC4wNzk5OTcxNTk1NDA2NTMyM10sIFsxNTk1MDkxNDAxLjIyOTQ0NCwgMzY0NSwgMC4wNzk5OTcwNzc1ODQyNjY2Nl0sIFsxNTk1MDkxNDExLjgzMjMzMSwgMzY1NiwgMC4wNzk5OTcwMTc5Nzk2MjE4OV0sIFsxNTk1MDkxNDEzLjE5MTE1MSwgMzY1NywgMC4wNzk5OTcwMTA1MjkwNDEyOV0sIFsxNTk1MDkxNDI1LjYzODQxOSwgMzY3MCwgMC4wNzk5OTY5NDM0NzM4MTU5Ml0sIFsxNTk1MDkxNDU0Ljc5ODY3NCwgMzcwMCwgMC4wNzk5OTY3ODcwMTE2MjMzOF0sIFsxNTk1MDkxNDU2LjgwNDYyLCAzNzAyLCAwLjA3OTk5Njc3MjExMDQ2MjE5XSwgWzE1OTUwOTE0ODAuMzM0Nzc3LCAzNzI2LCAwLjA3OTk5NjY0NTQ1MDU5MjA0XSwgWzE1OTUwOTE0ODQuMjIxOTUyLCAzNzMwLCAwLjA3OTk5NjYyMzA5ODg1MDI1XSwgWzE1OTUwOTE0ODYuMjE2MjY1LCAzNzMyLCAwLjA3OTk5NjYxNTY0ODI2OTY1XSwgWzE1OTUwOTE0OTEuOTg5MDg2LCAzNzM4LCAwLjA3OTk5NjU3ODM5NTM2NjY3XSwgWzE1OTUwOTE0OTQuODU2NDM0LCAzNzQxLCAwLjA3OTk5NjU2MzQ5NDIwNTQ3XSwgWzE1OTUwOTE0OTYuODcwNDQ5LCAzNzQzLCAwLjA3OTk5NjU1NjA0MzYyNDg4XSwgWzE1OTUwOTE1MDUuNjE2NjU1LCAzNzUyLCAwLjA3OTk5NjUwMzg4OTU2MDddLCBbMTU5NTA5MTUxMi40Mjk4NTksIDM3NTksIDAuMDc5OTk2NDU5MTg2MDc3MTJdLCBbMTU5NTA5MTUyNS43OTM0NjYsIDM3NzIsIDAuMDc5OTk2MzkyMTMwODUxNzVdLCBbMTU5NTA5MTUzMy4wNzc5OTYsIDM3ODAsIDAuMDc5OTk2MzQ3NDI3MzY4MTZdLCBbMTU5NTA5MTU0NS43MTA4NjMsIDM3OTMsIDAuMDc5OTk2MjcyOTIxNTYyMl0sIFsxNTk1MDkxNTQ3LjY1OTE0MywgMzc5NSwgMC4wNzk5OTYyNTgwMjA0MDFdLCBbMTU5NTA5MTU1MC41ODU4ODQsIDM3OTgsIDAuMDc5OTk2MjQzMTE5MjM5ODFdLCBbMTU5NTA5MTU2Mi4yOTQxNjEsIDM4MTAsIDAuMDc5OTk2MTc2MDY0MDE0NDNdLCBbMTU5NTA5MTU2Ni4yNDI0MTIsIDM4MTQsIDAuMDc5OTk2MTQ2MjYxNjkyMDVdLCBbMTU5NTA5MTU3MS4wNjUzODYsIDM4MTksIDAuMDc5OTk2MTE2NDU5MzY5NjZdLCBbMTU5NTA5MTU3Mi45NjUyNzksIDM4MjEsIDAuMDc5OTk2MTA5MDA4Nzg5MDZdLCBbMTU5NTA5MTU4Mi42NjkzMjEsIDM4MzEsIDAuMDc5OTk2MDQ5NDA0MTQ0MjldLCBbMTU5NTA5MTU4Ni42MjM2NDIsIDM4MzUsIDAuMDc5OTk2MDE5NjAxODIxOV0sIFsxNTk1MDkxNTk5LjE4MzY5MiwgMzg0OCwgMC4wNzk5OTU5NDUwOTYwMTU5M10sIFsxNTk1MDkxNjE0Ljc2NDAwOCwgMzg2NCwgMC4wNzk5OTU4NDgyMzg0NjgxN10sIFsxNTk1MDkxNjE5LjcwMjk2MiwgMzg2OSwgMC4wNzk5OTU4MTg0MzYxNDU3OF0sIFsxNTk1MDkxNjI2LjQxMzA1NCwgMzg3NiwgMC4wNzk5OTU3NzM3MzI2NjIyXSwgWzE1OTUwOTE2NTAuNjE1NTQ1LCAzOTAxLCAwLjA3OTk5NTYxNzI3MDQ2OTY3XSwgWzE1OTUwOTE2NTEuNTQ5MDE3LCAzOTAyLCAwLjA3OTk5NTYwOTgxOTg4OTA3XSwgWzE1OTUwOTE2NTkuMzM1MTkxLCAzOTEwLCAwLjA3OTk5NTU2NTExNjQwNTQ5XSwgWzE1OTUwOTE2NjkuMDEyMjU2LCAzOTIwLCAwLjA3OTk5NTQ5ODA2MTE4MDExXSwgWzE1OTUwOTE2NzYuODM4NDI0LCAzOTI4LCAwLjA3OTk5NTQ0NTkwNzExNTk0XSwgWzE1OTUwOTE2ODMuNTkwNzkxLCAzOTM1LCAwLjA3OTk5NTQwODY1NDIxMjk1XSwgWzE1OTUwOTE2ODcuNDcyOTU2LCAzOTM5LCAwLjA3OTk5NTM3ODg1MTg5MDU2XSwgWzE1OTUwOTE2OTguMTE5ODU5LCAzOTUwLCAwLjA3OTk5NTMwNDM0NjA4NDZdLCBbMTU5NTA5MTcwNC4xNzYxNTEsIDM5NTYsIDAuMDc5OTk1MjY3MDkzMTgxNjFdLCBbMTU5NTA5MTcwOS44MzY2MjksIDM5NjIsIDAuMDc5OTk1MjI5ODQwMjc4NjNdLCBbMTU5NTA5MTczMS4zNDk4MjksIDM5ODQsIDAuMDc5OTk1MDg4Mjc5MjQ3MjhdLCBbMTU5NTA5MTc0MS45ODI3MDUsIDM5OTUsIDAuMDc5OTk1MDEzNzczNDQxMzFdLCBbMTU5NTA5MTc0Ni43MTk5MjIsIDQwMDAsIDAuMDc5OTk0OTgzOTcxMTE4OTNdLCBbMTU5NTA5MTc1NS4zODY0NDQsIDQwMDksIDAuMDc5OTk0OTE2OTE1ODkzNTVdLCBbMTU5NTA5MTc1Ni4zNTk1NTgsIDQwMTAsIDAuMDc5OTk0OTE2OTE1ODkzNTVdLCBbMTU5NTA5MTc2OC4wOTgzNDIsIDQwMjIsIDAuMDc5OTk0ODI3NTA4OTI2MzldLCBbMTU5NTA5MTc3OC45MDIwMjcsIDQwMzMsIDAuMDc5OTk0NzYwNDUzNzAxMDJdLCBbMTU5NTA5MTc4MS44MTkwMDQsIDQwMzYsIDAuMDc5OTk0NzMwNjUxMzc4NjNdLCBbMTU5NTA5MTc5MS40NDc0NDEsIDQwNDYsIDAuMDc5OTk0NjYzNTk2MTUzMjZdLCBbMTU5NTA5MTc5Mi41MDQ4NTQsIDQwNDcsIDAuMDc5OTk0NjU2MTQ1NTcyNjZdLCBbMTU5NTA5MTc5My40ODMwNTEsIDQwNDgsIDAuMDc5OTk0NjU2MTQ1NTcyNjZdLCBbMTU5NTA5MTgzNy4wMjMyNzcsIDQwOTMsIDAuMDc5OTk0MzM1NzcwNjA3XSwgWzE1OTUwOTE4NDEuODQ5NTI1LCA0MDk4LCAwLjA3OTk5NDMwNTk2ODI4NDZdLCBbMTU5NTA5MTg0Mi44MjY0MjEsIDQwOTksIDAuMDc5OTk0Mjk4NTE3NzA0MDFdLCBbMTU5NTA5MTg1Mi41ODY3OTUsIDQxMDksIDAuMDc5OTk0MjI0MDExODk4MDRdLCBbMTU5NTA5MTkyMy4xNjMzMiwgNDE4MiwgMC4wNzk5OTM2ODc1NzAwOTUwNl0sIFsxNTk1MDkxOTMzLjg1ODg1OSwgNDE5MywgMC4wNzk5OTM2MDU2MTM3MDg1XSwgWzE1OTUwOTE5MzQuOTI1MDIyLCA0MTk0LCAwLjA3OTk5MzU5ODE2MzEyNzldLCBbMTU5NTA5MTkzNi44NTgwNDYsIDQxOTYsIDAuMDc5OTkzNTgzMjYxOTY2N10sIFsxNTk1MDkxOTM4LjcxNTM0OSwgNDE5OCwgMC4wNzk5OTM1NjgzNjA4MDU1MV0sIFsxNTk1MDkxOTQxLjUyMzk0NCwgNDIwMSwgMC4wNzk5OTM1Mzg1NTg0ODMxMl0sIFsxNTk1MDkxOTQyLjU3NTk5NywgNDIwMiwgMC4wNzk5OTM1Mzg1NTg0ODMxMl0sIFsxNTk1MDkxOTQ0LjQ5MTM3NCwgNDIwNCwgMC4wNzk5OTM1MjM2NTczMjE5M10sIFsxNTk1MDkxOTY2Ljg5NDIzLCA0MjI3LCAwLjA3OTk5MzM0NDg0MzM4NzZdLCBbMTU5NTA5MTk3MS44NTA2MjEsIDQyMzIsIDAuMDc5OTkzMzA3NTkwNDg0NjJdLCBbMTU5NTA5MTk3NC44NTkwNDIsIDQyMzUsIDAuMDc5OTkzMjg1MjM4NzQyODNdLCBbMTU5NTA5MTk4Mi44MjA1NTcsIDQyNDMsIDAuMDc5OTkzMjI1NjM0MDk4MDVdLCBbMTU5NTA5MTk5My41NzM3OTgsIDQyNTQsIDAuMDc5OTkzMTM2MjI3MTMwODldLCBbMTU5NTA5MjAwMi40OTYzMDMsIDQyNjMsIDAuMDc5OTkzMDYxNzIxMzI0OTJdLCBbMTU5NTA5MjAwNS4zMzE0MDEsIDQyNjYsIDAuMDc5OTkzMDQ2ODIwMTYzNzNdLCBbMTU5NTA5MjAwNi4zNzMxNTksIDQyNjcsIDAuMDc5OTkzMDM5MzY5NTgzMTNdLCBbMTU5NTA5MjAyMS4wNTg1ODIsIDQyODIsIDAuMDc5OTkyOTIwMTYwMjkzNThdLCBbMTU5NTA5MjAzNi42Mzg1ODcsIDQyOTgsIDAuMDc5OTkyNzg2MDQ5ODQyODNdLCBbMTU5NTA5MjA0Mi40Mjg4MTIsIDQzMDQsIDAuMDc5OTkyNzQxMzQ2MzU5MjVdLCBbMTU5NTA5MjA0Ni40NjU5NzcsIDQzMDgsIDAuMDc5OTkyNzA0MDkzNDU2MjddLCBbMTU5NTA5MjA1NS4xMTI4NCwgNDMxNywgMC4wNzk5OTI2MzcwMzgyMzA5XSwgWzE1OTUwOTIwNTcuMDQ2Njc0LCA0MzE5LCAwLjA3OTk5MjYxNDY4NjQ4OTFdLCBbMTU5NTA5MjA2NS44NTQ4ODksIDQzMjgsIDAuMDc5OTkyNTQ3NjMxMjYzNzNdLCBbMTU5NTA5MjA2OS43MTIxNDEsIDQzMzIsIDAuMDc5OTkyNTEwMzc4MzYwNzVdLCBbMTU5NTA5MjA3NS42OTI1NzIsIDQzMzgsIDAuMDc5OTkyNDY1Njc0ODc3MTddLCBbMTU5NTA5MjA4MC42MjYyMDgsIDQzNDMsIDAuMDc5OTkyNDI4NDIxOTc0MThdLCBbMTU5NTA5MjEwNS45MzQ5NTcsIDQzNjksIDAuMDc5OTkyMjA0OTA0NTU2MjddLCBbMTU5NTA5MjExNC43NzcwNiwgNDM3OCwgMC4wNzk5OTIxMzAzOTg3NTAzXSwgWzE1OTUwOTIxMjkuMzExNzY1LCA0MzkzLCAwLjA3OTk5MjAwMzczODg4MDE2XSwgWzE1OTUwOTIxMzUuOTU0MDUzLCA0NDAwLCAwLjA3OTk5MTk1MTU4NDgxNTk4XSwgWzE1OTUwOTIxNDIuMDAxMzAzLCA0NDA2LCAwLjA3OTk5MTg5OTQzMDc1MThdLCBbMTU5NTA5MjE0NS45OTQ2NzYsIDQ0MTAsIDAuMDc5OTkxODYyMTc3ODQ4ODJdLCBbMTU5NTA5MjE0Ny4wMDkxMjMsIDQ0MTEsIDAuMDc5OTkxODU0NzI3MjY4MjJdLCBbMTU5NTA5MjE2NS40MTg5ODcsIDQ0MzAsIDAuMDc5OTkxNjkwODE0NDk1MDldLCBbMTU5NTA5MjE2Ni4zNzYxMzEsIDQ0MzEsIDAuMDc5OTkxNjgzMzYzOTE0NDldLCBbMTU5NTA5MjE2OC4zNzA0NDgsIDQ0MzMsIDAuMDc5OTkxNjYxMDEyMTcyN10sIFsxNTk1MDkyMTc0LjE1Mzk0MiwgNDQzOSwgMC4wNzk5OTE2MTYzMDg2ODkxMl0sIFsxNTk1MDkyMjAzLjM1OTMwOSwgNDQ2OSwgMC4wNzk5OTEzNDgwODc3ODc2M10sIFsxNTk1MDkyMjA5LjQ2ODk0MSwgNDQ3NSwgMC4wNzk5OTEzMDMzODQzMDQwNV0sIFsxNTk1MDkyMjEyLjkyNjA4MiwgNDQ3OSwgMC4wNzk5OTEyNjYxMzE0MDEwNl0sIFsxNTk1MDkyMjE1Ljc5Mjc4OSwgNDQ4MiwgMC4wNzk5OTEyMzYzMjkwNzg2N10sIFsxNTk1MDkyMjIzLjY2NjQwMywgNDQ5MCwgMC4wNzk5OTExNjkyNzM4NTMzXSwgWzE1OTUwOTIyMjUuNjM0NDA5LCA0NDkyLCAwLjA3OTk5MTE0NjkyMjExMTUxXSwgWzE1OTUwOTIyNDIuMTk3MzYzLCA0NTA5LCAwLjA3OTk5MDk5NzkxMDQ5OTU3XSwgWzE1OTUwOTIyNDMuMjA0OTM3LCA0NTEwLCAwLjA3OTk5MDk4MzAwOTMzODM4XSwgWzE1OTUwOTIyNjEuMTcyNDQyLCA0NTI5LCAwLjA3OTk5MDgxMTY0NTk4NDY1XSwgWzE1OTUwOTIyNjIuMDk3NzUxLCA0NTMwLCAwLjA3OTk5MDgwNDE5NTQwNDA1XSwgWzE1OTUwOTIyNjUuMDA1OTI4LCA0NTMzLCAwLjA3OTk5MDc4MTg0MzY2MjI2XSwgWzE1OTUwOTIyNzMuNzQ2MDM4LCA0NTQyLCAwLjA3OTk5MDY5OTg4NzI3NTddLCBbMTU5NTA5MjI4MS40MTczOTEsIDQ1NTAsIDAuMDc5OTkwNjI1MzgxNDY5NzNdLCBbMTU5NTA5MjI4My4zMzQ4OTIsIDQ1NTIsIDAuMDc5OTkwNjAzMDI5NzI3OTRdLCBbMTU5NTA5MjI4NC4zMzY1MzYsIDQ1NTMsIDAuMDc5OTkwNTk1NTc5MTQ3MzRdLCBbMTU5NTA5MjI5OS4wMjgxMDMsIDQ1NjgsIDAuMDc5OTkwNDYxNDY4Njk2Nl0sIFsxNTk1MDkyMzA4LjY4MjIzLCA0NTc4LCAwLjA3OTk5MDM2NDYxMTE0ODgzXSwgWzE1OTUwOTIzMTEuNTIzOTcxLCA0NTgxLCAwLjA3OTk5MDMzNDgwODgyNjQ1XSwgWzE1OTUwOTIzMjIuNDg2NjI1LCA0NTkyLCAwLjA3OTk5MDIzNzk1MTI3ODY5XSwgWzE1OTUwOTIzMjUuNDk0MDU0LCA0NTk1LCAwLjA3OTk5MDIwODE0ODk1NjNdLCBbMTU5NTA5MjMyNy4zNTkzMjgsIDQ1OTcsIDAuMDc5OTkwMTkzMjQ3Nzk1MV0sIFsxNTk1MDkyMzI5LjM5NDM3NiwgNDU5OSwgMC4wNzk5OTAxNzgzNDY2MzM5MV0sIFsxNTk1MDkyMzQxLjAwMDIzNiwgNDYxMSwgMC4wNzk5OTAwNTkxMzczNDQzNl0sIFsxNTk1MDkyMzU3LjUxNDc1NSwgNDYyOCwgMC4wNzk5ODk4OTUyMjQ1NzEyM10sIFsxNTk1MDkyMzcyLjE2ODE1NSwgNDY0MywgMC4wNzk5ODk3NTM2NjM1Mzk4OV0sIFsxNTk1MDkyMzc3Ljk3MTQ3NywgNDY0OSwgMC4wNzk5ODk3MDE1MDk0NzU3MV0sIFsxNTk1MDkyMzg0Ljc0NTA4LCA0NjU2LCAwLjA3OTk4OTYzNDQ1NDI1MDM0XSwgWzE1OTUwOTIzOTIuMzY0NDQ5LCA0NjY0LCAwLjA3OTk4OTU1MjQ5Nzg2Mzc3XSwgWzE1OTUwOTIzOTYuMzEyODUzLCA0NjY4LCAwLjA3OTk4OTUxNTI0NDk2MDc4XSwgWzE1OTUwOTI0MDMuMzM4MTE1LCA0Njc1LCAwLjA3OTk4OTQ0ODE4OTczNTQxXSwgWzE1OTUwOTI0MDQuMzQ1MjI2LCA0Njc2LCAwLjA3OTk4OTQ0MDczOTE1NDgyXSwgWzE1OTUwOTI0MDUuMzY2MTEyLCA0Njc3LCAwLjA3OTk4OTQzMzI4ODU3NDIyXSwgWzE1OTUwOTI0MTQuOTMxODMzLCA0Njg3LCAwLjA3OTk4OTMyODk4MDQ0NTg2XSwgWzE1OTUwOTI0NDAuMjQxMzMxLCA0NzEzLCAwLjA3OTk4OTA3NTY2MDcwNTU3XSwgWzE1OTUwOTI0NDUuMDUxNTM2LCA0NzE4LCAwLjA3OTk4OTAyMzUwNjY0MTM5XSwgWzE1OTUwOTI0NjAuNDQxMDIzLCA0NzM0LCAwLjA3OTk4ODg2NzA0NDQ0ODg1XSwgWzE1OTUwOTI0NjUuMjcwMDA2LCA0NzM5LCAwLjA3OTk4ODgyMjM0MDk2NTI3XSwgWzE1OTUwOTI0NzEuMjA3NDE0LCA0NzQ1LCAwLjA3OTk4ODc2MjczNjMyMDVdLCBbMTU5NTA5MjQ3NS4wNTYyNDEsIDQ3NDksIDAuMDc5OTg4NzE4MDMyODM2OTFdLCBbMTU5NTA5MjQ3Ni4xMTc0NzEsIDQ3NTAsIDAuMDc5OTg4NzAzMTMxNjc1NzJdLCBbMTU5NTA5MjQ4NC4wMTA4NjYsIDQ3NTgsIDAuMDc5OTg4NjI4NjI1ODY5NzVdLCBbMTU5NTA5MjQ4Ni44ODUyMDIsIDQ3NjEsIDAuMDc5OTg4NTk4ODIzNTQ3MzZdLCBbMTU5NTA5MjQ4Ny44MzY1NTgsIDQ3NjIsIDAuMDc5OTg4NTgzOTIyMzg2MTddLCBbMTU5NTA5MjQ4OS43MzAyNCwgNDc2NCwgMC4wNzk5ODg1NjE1NzA2NDQzOF0sIFsxNTk1MDkyNDkyLjYyMTMzNCwgNDc2NywgMC4wNzk5ODg1MzE3NjgzMjE5OV0sIFsxNTk1MDkyNTAxLjY5NDA5MiwgNDc3NiwgMC4wNzk5ODg0NDIzNjEzNTQ4M10sIFsxNTk1MDkyNTA1LjE1NDYwNSwgNDc4MCwgMC4wNzk5ODg0MDUxMDg0NTE4NF0sIFsxNTk1MDkyNTA5LjAxMDYxOCwgNDc4NCwgMC4wNzk5ODgzNjA0MDQ5NjgyNl0sIFsxNTk1MDkyNTEyLjA0NDM1MywgNDc4NywgMC4wNzk5ODgzMzgwNTMyMjY0N10sIFsxNTk1MDkyNTEzLjAyMzg1MSwgNDc4OCwgMC4wNzk5ODgzMjMxNTIwNjUyOF0sIFsxNTk1MDkyNTE4LjczOTg0OCwgNDc5NCwgMC4wNzk5ODgyNjM1NDc0MjA1XSwgWzE1OTUwOTI1MjQuNDIyMjE2LCA0ODAwLCAwLjA3OTk4ODIwMzk0Mjc3NTczXSwgWzE1OTUwOTI1MjYuNDI1OTkxLCA0ODAyLCAwLjA3OTk4ODE4MTU5MTAzMzk0XSwgWzE1OTUwOTI1MjkuMTkzMTMsIDQ4MDUsIDAuMDc5OTg4MTUxNzg4NzExNTVdLCBbMTU5NTA5MjU2Mi44MzA5OTYsIDQ4NDAsIDAuMDc5OTg3Nzg2NzEwMjYyM10sIFsxNTk1MDkyNTc0LjQzODc5NiwgNDg1MiwgMC4wNzk5ODc2NjAwNTAzOTIxNV0sIFsxNTk1MDkyNTkyLjgyNDU4LCA0ODcxLCAwLjA3OTk4NzQ1ODg4NDcxNjAzXSwgWzE1OTUwOTI1OTUuMDk5MjcyLCA0ODczLCAwLjA3OTk4NzQzNjUzMjk3NDI0XSwgWzE1OTUwOTI2MTAuMzU3NjEsIDQ4ODksIDAuMDc5OTg3MjY1MTY5NjIwNTFdLCBbMTU5NTA5MjYxMy4yNDYxMDIsIDQ4OTIsIDAuMDc5OTg3MjM1MzY3Mjk4MTNdLCBbMTU5NTA5MjYxNS4yNzIwODUsIDQ4OTQsIDAuMDc5OTg3MjIwNDY2MTM2OTNdLCBbMTU5NTA5MjYxNi4yMTk2MDEsIDQ4OTUsIDAuMDc5OTg3MjEzMDE1NTU2MzRdLCBbMTU5NTA5MjYzNC45NTU3ODksIDQ5MTQsIDAuMDc5OTg2OTk2OTQ4NzE5MDJdLCBbMTU5NTA5MjY1OC4xNTg1MDYsIDQ5MzgsIDAuMDc5OTg2NzQzNjI4OTc4NzNdLCBbMTU5NTA5MjY2MS4wODgzNzYsIDQ5NDEsIDAuMDc5OTg2NzEzODI2NjU2MzRdLCBbMTU5NTA5MjY3My45MjU3MDUsIDQ5NTQsIDAuMDc5OTg2NTcyMjY1NjI1XSwgWzE1OTUwOTI2ODEuNTE0OTQ5LCA0OTYyLCAwLjA3OTk4NjQ4Mjg1ODY1Nzg0XSwgWzE1OTUwOTI2OTAuMDY5NzI1LCA0OTcxLCAwLjA3OTk4NjM3ODU1MDUyOTQ4XSwgWzE1OTUwOTI2OTMuMDA4MjQzLCA0OTc0LCAwLjA3OTk4NjM0ODc0ODIwNzA5XSwgWzE1OTUwOTI2OTQuOTYwMzc4LCA0OTc2LCAwLjA3OTk4NjMyNjM5NjQ2NTNdLCBbMTU5NTA5MjY5NS45NDQ4NDUsIDQ5NzcsIDAuMDc5OTg2MzExNDk1MzA0MTFdLCBbMTU5NTA5MjcwOS4zMDY0NDIsIDQ5OTEsIDAuMDc5OTg2MTYyNDgzNjkyMTddLCBbMTU5NTA5MjcxNy4xMTA5MiwgNDk5OSwgMC4wNzk5ODYwNzMwNzY3MjVdLCBbMTU5NTA5MjczOS4zMjk3NSwgNTAyMSwgMC4wNzk5ODU4MjcyMDc1NjUzMV0sIFsxNTk1MDkyNzQ1LjIyMTkzNCwgNTAyNywgMC4wNzk5ODU3NjAxNTIzMzk5NF0sIFsxNTk1MDkyNzQ4LjAwNDc1NywgNTAzMCwgMC4wNzk5ODU3MjI4OTk0MzY5NV0sIFsxNTk1MDkyNzU0Ljc2MjYzOCwgNTAzNywgMC4wNzk5ODU2NDgzOTM2MzA5OF0sIFsxNTk1MDkyNzY3LjM2Mzc3MSwgNTA1MCwgMC4wNzk5ODU0OTkzODIwMTkwNF0sIFsxNTk1MDkyNzY5LjI0Nzk0OSwgNTA1MiwgMC4wNzk5ODU0NzcwMzAyNzcyNV0sIFsxNTk1MDkyNzcwLjI4ODc0MSwgNTA1MywgMC4wNzk5ODU0NjIxMjkxMTYwNl0sIFsxNTk1MDkyNzc2Ljk5NDI1NCwgNTA2MCwgMC4wNzk5ODUzODAxNzI3Mjk0OV0sIFsxNTk1MDkyNzk0LjM0Mjk1MSwgNTA3OCwgMC4wNzk5ODUxNzkwMDcwNTMzOF0sIFsxNTk1MDkyODEwLjA3NjEzNywgNTA5NCwgMC4wNzk5ODQ5OTI3NDI1Mzg0NV0sIFsxNTk1MDkyODE2LjkxODg3OSwgNTEwMSwgMC4wNzk5ODQ5MTA3ODYxNTE4OV0sIFsxNTk1MDkyODIxLjY2MDIzOCwgNTEwNiwgMC4wNzk5ODQ4NTExODE1MDcxMV0sIFsxNTk1MDkyODIyLjYzMDY3MywgNTEwNywgMC4wNzk5ODQ4NDM3MzA5MjY1MV0sIFsxNTk1MDkyODI4LjQ3MjkxNiwgNTExMywgMC4wNzk5ODQ3NjkyMjUxMjA1NF0sIFsxNTk1MDkyODQwLjk2MTA5NSwgNTEyNiwgMC4wNzk5ODQ2MjAyMTM1MDg2XSwgWzE1OTUwOTI4NDIuODg2MDA4LCA1MTI4LCAwLjA3OTk4NDU5Nzg2MTc2NjgyXSwgWzE1OTUwOTI4NDguNzg1ODI3LCA1MTM0LCAwLjA3OTk4NDUyMzM1NTk2MDg1XSwgWzE1OTUwOTI4NzQuMTQzNTUzLCA1MTYwLCAwLjA3OTk4NDIxNzg4MjE1NjM3XSwgWzE1OTUwOTI4NzkuMDY5MzE3LCA1MTY1LCAwLjA3OTk4NDE1ODI3NzUxMTZdLCBbMTU5NTA5Mjg5MS45NDkwNTgsIDUxNzgsIDAuMDc5OTg0MDAxODE1MzE5MDZdLCBbMTU5NTA5Mjg5NS44MjczNTQsIDUxODIsIDAuMDc5OTgzOTU3MTExODM1NDhdLCBbMTU5NTA5MjkxMy4wOTQyMDYsIDUyMDAsIDAuMDc5OTgzNzQxMDQ0OTk4MTddLCBbMTU5NTA5MjkyMC43Njg4MiwgNTIwOCwgMC4wNzk5ODM2NDQxODc0NTA0MV0sIFsxNTk1MDkyOTQzLjAzODU1OSwgNTIzMSwgMC4wNzk5ODMzNjg1MTU5NjgzMl0sIFsxNTk1MDkyOTQ1LjkwODg2MiwgNTIzNCwgMC4wNzk5ODMzMzEyNjMwNjUzNF0sIFsxNTk1MDkyOTQ2Ljg0MzYyMiwgNTIzNSwgMC4wNzk5ODMzMTYzNjE5MDQxNF0sIFsxNTk1MDkyOTUwLjc4MTIwMiwgNTIzOSwgMC4wNzk5ODMyNzE2NTg0MjA1Nl0sIFsxNTk1MDkyOTUxLjY5NzMyNywgNTI0MCwgMC4wNzk5ODMyNTY3NTcyNTkzN10sIFsxNTk1MDkyOTU1LjU5NDgyNiwgNTI0NCwgMC4wNzk5ODMyMDQ2MDMxOTUxOV0sIFsxNTk1MDkyOTc3LjA0MjQwNiwgNTI2NiwgMC4wNzk5ODI5MzYzODIyOTM3XSwgWzE1OTUwOTI5OTkuODAzMTM5LCA1Mjg5LCAwLjA3OTk4MjY1MzI2MDIzMTAyXSwgWzE1OTUwOTMwMTIuNTY4MDkyLCA1MzAyLCAwLjA3OTk4MjQ4OTM0NzQ1Nzg5XSwgWzE1OTUwOTMwMjguMjQyMzIzLCA1MzE4LCAwLjA3OTk4MjI4ODE4MTc4MTc3XSwgWzE1OTUwOTMwMzguNjUwMzUxLCA1MzI5LCAwLjA3OTk4MjE0NjYyMDc1MDQzXSwgWzE1OTUwOTMwNTQuNTU0NjQ3LCA1MzQ1LCAwLjA3OTk4MTk0NTQ1NTA3NDMxXSwgWzE1OTUwOTMwNTcuMzU4MTk4LCA1MzQ4LCAwLjA3OTk4MTkwODIwMjE3MTMzXSwgWzE1OTUwOTMwNjguMDk2MzI3LCA1MzU5LCAwLjA3OTk4MTc2NjY0MTEzOTk4XSwgWzE1OTUwOTMwNjkuMDkxNTY5LCA1MzYwLCAwLjA3OTk4MTc1MTczOTk3ODc5XSwgWzE1OTUwOTMwNzEuOTI2MDQ0LCA1MzYzLCAwLjA3OTk4MTcxNDQ4NzA3NThdLCBbMTU5NTA5MzA4OC4yMzUwMDEsIDUzODAsIDAuMDc5OTgxNDk4NDIwMjM4NV0sIFsxNTk1MDkzMDkyLjIxMjk3MywgNTM4NCwgMC4wNzk5ODE0NDYyNjYxNzQzMl0sIFsxNTk1MDkzMTExLjcyNDAxNSwgNTQwNCwgMC4wNzk5ODExOTI5NDY0MzQwMl0sIFsxNTk1MDkzMTEzLjY5OTcxNSwgNTQwNiwgMC4wNzk5ODExNjMxNDQxMTE2M10sIFsxNTk1MDkzMTI3LjQxNDc0OCwgNTQyMCwgMC4wNzk5ODA5ODQzMzAxNzczMV0sIFsxNTk1MDkzMTMyLjQwNTgzNywgNTQyNSwgMC4wNzk5ODA5MTcyNzQ5NTE5M10sIFsxNTk1MDkzMTQ1LjkxNjIzOSwgNTQzOSwgMC4wNzk5ODA3MzEwMTA0MzcwMV0sIFsxNTk1MDkzMTQ2LjgzMTA5NCwgNTQ0MCwgMC4wNzk5ODA3MjM1NTk4NTY0MV0sIFsxNTk1MDkzMTQ4Ljc4MjcyLCA1NDQyLCAwLjA3OTk4MDY5Mzc1NzUzNDAzXSwgWzE1OTUwOTMxNTMuNTgxNzkzLCA1NDQ3LCAwLjA3OTk4MDYyNjcwMjMwODY1XSwgWzE1OTUwOTMxODAuNjc0ODc2LCA1NDc1LCAwLjA3OTk4MDI1NDE3MzI3ODgxXSwgWzE1OTUwOTMxODkuNDI5MTAxLCA1NDg0LCAwLjA3OTk4MDE0MjQxNDU2OTg1XSwgWzE1OTUwOTMxOTYuMTU1NDQsIDU0OTEsIDAuMDc5OTgwMDQ1NTU3MDIyMV0sIFsxNTk1MDkzMjAwLjA0NDY2NSwgNTQ5NSwgMC4wNzk5Nzk5OTM0MDI5NTc5Ml0sIFsxNTk1MDkzMjA1Ljg1MDM2MywgNTUwMSwgMC4wNzk5Nzk5MTE0NDY1NzEzNV0sIFsxNTk1MDkzMjExLjY2NDQzOSwgNTUwNywgMC4wNzk5Nzk4Mjk0OTAxODQ3OF0sIFsxNTk1MDkzMjE2LjkxODQwOCwgNTUxMiwgMC4wNzk5Nzk3NjI0MzQ5NTk0MV0sIFsxNTk1MDkzMjE5LjUyMzczMiwgNTUxNSwgMC4wNzk5Nzk3MjUxODIwNTY0M10sIFsxNTk1MDkzMjIxLjUwODYzNCwgNTUxNywgMC4wNzk5Nzk3MDI4MzAzMTQ2NF0sIFsxNTk1MDkzMjM2LjA3NDc3MSwgNTUzMiwgMC4wNzk5Nzk0OTQyMTQwNTc5Ml0sIFsxNTk1MDkzMjQ0Ljc2Nzk3OSwgNTU0MSwgMC4wNzk5NzkzNzUwMDQ3NjgzN10sIFsxNTk1MDkzMjUyLjY2NDc2NCwgNTU0OSwgMC4wNzk5NzkyNjMyNDYwNTk0Ml0sIFsxNTk1MDkzMjY5LjM0NDMwMywgNTU2NiwgMC4wNzk5NzkwMzk3Mjg2NDE1MV0sIFsxNTk1MDkzMjc0LjM2NzAwMSwgNTU3MSwgMC4wNzk5Nzg5NzI2NzM0MTYxNF0sIFsxNTk1MDkzMjc2LjM0Mzk2LCA1NTczLCAwLjA3OTk3ODk0Mjg3MTA5Mzc1XSwgWzE1OTUwOTMyODguNDQzMTE3LCA1NTg1LCAwLjA3OTk3ODc3MTUwNzc0MDAyXSwgWzE1OTUwOTMyOTAuNTEzNjM0LCA1NTg3LCAwLjA3OTk3ODc0OTE1NTk5ODIzXSwgWzE1OTUwOTMyOTYuMzEzMDYzLCA1NTkzLCAwLjA3OTk3ODY2NzE5OTYxMTY2XSwgWzE1OTUwOTMzMDguMTI3NTY2LCA1NjA1LCAwLjA3OTk3ODQ5NTgzNjI1NzkzXSwgWzE1OTUwOTMzMTIuOTUwNTA3LCA1NjEwLCAwLjA3OTk3ODQyODc4MTAzMjU2XSwgWzE1OTUwOTMzMjIuNDcxNjI3LCA1NjIwLCAwLjA3OTk3ODI5NDY3MDU4MTgyXSwgWzE1OTUwOTMzMzIuMjU5MzgsIDU2MzAsIDAuMDc5OTc4MTUzMTA5NTUwNDhdLCBbMTU5NTA5MzM0OC45MTAzNDIsIDU2NDcsIDAuMDc5OTc3OTE0NjkwOTcxMzddLCBbMTU5NTA5MzM2MC4wMDEzNDEsIDU2NTgsIDAuMDc5OTc3NzU4MjI4Nzc4ODRdLCBbMTU5NTA5MzM2MS45NzY3OCwgNTY2MCwgMC4wNzk5Nzc3Mjg0MjY0NTY0NV0sIFsxNTk1MDkzMzY2LjAwNTc3OSwgNTY2NCwgMC4wNzk5Nzc2NzYyNzIzOTIyN10sIFsxNTk1MDkzMzc3Ljc2OTczMywgNTY3NiwgMC4wNzk5Nzc0OTc0NTg0NTc5NV0sIFsxNTk1MDkzMzgwLjY5MjYzNCwgNTY3OSwgMC4wNzk5Nzc0NjAyMDU1NTQ5Nl0sIFsxNTk1MDkzNDIxLjQ3MDEyNCwgNTcyMCwgMC4wNzk5NzY4NzkwNjAyNjg0XSwgWzE1OTUwOTM0MjQuNDM0OTI3LCA1NzIzLCAwLjA3OTk3NjgzNDM1Njc4NDgyXSwgWzE1OTUwOTM0MjguNDkyNDk0LCA1NzI3LCAwLjA3OTk3Njc3NDc1MjE0MDA1XSwgWzE1OTUwOTM0NDIuNTkwNTA4LCA1NzQxLCAwLjA3OTk3NjU3MzU4NjQ2MzkzXSwgWzE1OTUwOTM0NTMuNjkzMzExLCA1NzUyLCAwLjA3OTk3NjQxNzEyNDI3MTM5XSwgWzE1OTUwOTM0NjAuNzY4NTAxLCA1NzU5LCAwLjA3OTk3NjMxMjgxNjE0MzA0XSwgWzE1OTUwOTM0NjcuNjM1OTcyLCA1NzY2LCAwLjA3OTk3NjIxNTk1ODU5NTI4XSwgWzE1OTUwOTM0NzcuNzYwNzYsIDU3NzYsIDAuMDc5OTc2MDY2OTQ2OTgzMzRdLCBbMTU5NTA5MzQ4MC43NzI2MSwgNTc3OSwgMC4wNzk5NzYwMjIyNDM0OTk3Nl0sIFsxNTk1MDkzNDg1LjYzNDU1LCA1Nzg0LCAwLjA3OTk3NTk0NzczNzY5Mzc5XSwgWzE1OTUwOTM0OTAuNjMzOTMyLCA1Nzg5LCAwLjA3OTk3NTg3MzIzMTg4NzgyXSwgWzE1OTUwOTM0OTYuNjc1OTQ1LCA1Nzk1LCAwLjA3OTk3NTc4MzgyNDkyMDY1XSwgWzE1OTUwOTM1MDguNDYyNzM0LCA1ODA3LCAwLjA3OTk3NTYxMjQ2MTU2NjkzXSwgWzE1OTUwOTM1MDkuNDQ0MTQ3LCA1ODA4LCAwLjA3OTk3NTU5MDEwOTgyNTEzXSwgWzE1OTUwOTM1MjYuMTI3NDA0LCA1ODI1LCAwLjA3OTk3NTM0NDI0MDY2NTQ0XSwgWzE1OTUwOTM1MjkuMTg0NjcsIDU4MjgsIDAuMDc5OTc1Mjk5NTM3MTgxODVdLCBbMTU5NTA5MzUzNi4xNjkyMywgNTgzNSwgMC4wNzk5NzUxOTUyMjkwNTM1XSwgWzE1OTUwOTM1NDcuNzU0NTk1LCA1ODQ3LCAwLjA3OTk3NTAxNjQxNTExOTE3XSwgWzE1OTUwOTM1NjIuNzU1MzY4LCA1ODYyLCAwLjA3OTk3NDc5Mjg5NzcwMTI2XSwgWzE1OTUwOTM1NjQuNzUxMzI2LCA1ODY0LCAwLjA3OTk3NDc2MzA5NTM3ODg4XSwgWzE1OTUwOTM1NzEuNzQ5MzM3LCA1ODcxLCAwLjA3OTk3NDY1ODc4NzI1MDUyXSwgWzE1OTUwOTM1ODEuODcxNjQ1LCA1ODgxLCAwLjA3OTk3NDUwOTc3NTYzODU4XSwgWzE1OTUwOTM1OTAuMTYyNzAzLCA1ODg5LCAwLjA3OTk3NDM4MzExNTc2ODQzXSwgWzE1OTUwOTM1OTIuMTYzNzU3LCA1ODkxLCAwLjA3OTk3NDM1MzMxMzQ0NjA0XSwgWzE1OTUwOTM1OTQuMDQwNTQzLCA1ODkzLCAwLjA3OTk3NDMyMzUxMTEyMzY2XSwgWzE1OTUwOTM1OTkuMDY5OTI5LCA1ODk4LCAwLjA3OTk3NDI0OTAwNTMxNzY5XSwgWzE1OTUwOTM2MDguNjE5NjY4LCA1OTA3LCAwLjA3OTk3NDExNDg5NDg2Njk0XSwgWzE1OTUwOTM2MTguMjU0MDkxLCA1OTE3LCAwLjA3OTk3Mzk2NTg4MzI1NV0sIFsxNTk1MDkzNjE5LjI0NzQzMSwgNTkxOCwgMC4wNzk5NzM5NDM1MzE1MTMyMV0sIFsxNTk1MDkzNjI5LjI5ODc1NSwgNTkyOCwgMC4wNzk5NzM3OTQ1MTk5MDEyOF0sIFsxNTk1MDkzNjMzLjE2MjUzOSwgNTkzMiwgMC4wNzk5NzM3MzQ5MTUyNTY1XSwgWzE1OTUwOTM2MzQuMjE0MzA5LCA1OTMzLCAwLjA3OTk3MzcxMjU2MzUxNDcxXSwgWzE1OTUwOTM2NTMuNDk0ODc3LCA1OTUyLCAwLjA3OTk3MzQyMTk5MDg3MTQzXSwgWzE1OTUwOTM2NTguNTAxMjQ4LCA1OTU3LCAwLjA3OTk3MzM0NzQ4NTA2NTQ2XSwgWzE1OTUwOTM2NjAuNDY5MDMsIDU5NTksIDAuMDc5OTczMzE3NjgyNzQzMDddLCBbMTU5NTA5MzY2NC40MDM5NzQsIDU5NjMsIDAuMDc5OTczMjU4MDc4MDk4M10sIFsxNTk1MDkzNjczLjI2OTQ0NCwgNTk3MiwgMC4wNzk5NzMxMTY1MTcwNjY5Nl0sIFsxNTk1MDkzNjkxLjAyMTU4LCA1OTkwLCAwLjA3OTk3Mjg0MDg0NTU4NDg3XSwgWzE1OTUwOTM3MTAuNjk3ODE1LCA2MDEwLCAwLjA3OTk3MjUyMDQ3MDYxOTJdLCBbMTU5NTA5MzcxNS40OTg0ODMsIDYwMTUsIDAuMDc5OTcyNDQ1OTY0ODEzMjNdLCBbMTU5NTA5MzcyNC41Mzc1NTQsIDYwMjQsIDAuMDc5OTcyMzA0NDAzNzgxODldLCBbMTU5NTA5MzczMC42MDEwMiwgNjAzMCwgMC4wNzk5NzIyMDc1NDYyMzQxM10sIFsxNTk1MDkzNzMxLjU3OTQ1MSwgNjAzMSwgMC4wNzk5NzIxOTI2NDUwNzI5NF0sIFsxNTk1MDkzNzMyLjU2MTQzNiwgNjAzMiwgMC4wNzk5NzIxNzc3NDM5MTE3NF0sIFsxNTk1MDkzNzM1LjYxODU4MSwgNjAzNSwgMC4wNzk5NzIxMzMwNDA0MjgxNl0sIFsxNTk1MDkzNzM4LjU5MTE2MSwgNjAzOCwgMC4wNzk5NzIwODA4ODYzNjM5OF0sIFsxNTk1MDkzNzYwLjY4MDI5MSwgNjA2MCwgMC4wNzk5NzE3MzgxNTk2NTY1Ml0sIFsxNTk1MDkzNzc3LjMzNzUwNywgNjA3NywgMC4wNzk5NzE0NjI0ODgxNzQ0NF0sIFsxNTk1MDkzNzc4LjI4NDg1OSwgNjA3OCwgMC4wNzk5NzE0NDc1ODcwMTMyNF0sIFsxNTk1MDkzNzgyLjQ3MTAwNywgNjA4MiwgMC4wNzk5NzEzODc5ODIzNjg0N10sIFsxNTk1MDkzNzg3LjUxMTczNSwgNjA4NywgMC4wNzk5NzEzMDYwMjU5ODE5XSwgWzE1OTUwOTM3OTQuNzAxNzQ1LCA2MDk0LCAwLjA3OTk3MTE5NDI2NzI3Mjk1XSwgWzE1OTUwOTM4MDMuNDUxOTk2LCA2MTAzLCAwLjA3OTk3MTA1MjcwNjI0MTYxXSwgWzE1OTUwOTM4MDUuNDQyOTUyLCA2MTA1LCAwLjA3OTk3MTAxNTQ1MzMzODYyXSwgWzE1OTUwOTM4MTUuODE3MDYyLCA2MTE1LCAwLjA3OTk3MDg1MTU0MDU2NTQ5XSwgWzE1OTUwOTM4MjEuMzU5NzkxLCA2MTIxLCAwLjA3OTk3MDc2MjEzMzU5ODMzXSwgWzE1OTUwOTM4MjMuMzI1NjE3LCA2MTIzLCAwLjA3OTk3MDczMjMzMTI3NTk0XSwgWzE1OTUwOTM4MjkuMjc4MDU5LCA2MTI5LCAwLjA3OTk3MDYyODAyMzE0NzU4XSwgWzE1OTUwOTM4MzEuMzgwOTA0LCA2MTMxLCAwLjA3OTk3MDU5ODIyMDgyNTJdLCBbMTU5NTA5MzgzMy40MjQwMTEsIDYxMzMsIDAuMDc5OTcwNTY4NDE4NTAyODFdLCBbMTU5NTA5Mzg0NS4zNDQyODcsIDYxNDUsIDAuMDc5OTcwMzY3MjUyODI2NjldLCBbMTU5NTA5Mzg0Ny4zNDY0MjksIDYxNDcsIDAuMDc5OTcwMzM3NDUwNTA0M10sIFsxNTk1MDkzODQ5LjI3NjI4OSwgNjE0OSwgMC4wNzk5NzAzMDc2NDgxODE5Ml0sIFsxNTk1MDkzODcyLjI3Nzg4MSwgNjE3MiwgMC4wNzk5Njk5Mjc2Njg1NzE0N10sIFsxNTk1MDkzODgxLjQxNzIyMywgNjE4MSwgMC4wNzk5Njk3ODYxMDc1NDAxM10sIFsxNTk1MDkzODg0LjQwODQyOCwgNjE4NCwgMC4wNzk5Njk3MzM5NTM0NzU5NV0sIFsxNTk1MDkzOTAwLjQwMjYyOCwgNjIwMCwgMC4wNzk5Njk0NzMxODMxNTUwNl0sIFsxNTk1MDkzOTEwLjQ1NDM1NiwgNjIxMCwgMC4wNzk5NjkzMDE4MTk4MDEzM10sIFsxNTk1MDkzOTExLjQwOTc1NSwgNjIxMSwgMC4wNzk5NjkyODY5MTg2NDAxNF0sIFsxNTk1MDkzOTEzLjM2NzAzNiwgNjIxMywgMC4wNzk5NjkyNDk2NjU3MzcxNV0sIFsxNTk1MDkzOTE5LjU5ODY1OSwgNjIxOSwgMC4wNzk5NjkxNTI4MDgxODkzOV0sIFsxNTk1MDkzOTI1LjMyNzg5MywgNjIyNSwgMC4wNzk5NjkwNTU5NTA2NDE2M10sIFsxNTk1MDkzOTMyLjM3MTI0MiwgNjIzMiwgMC4wNzk5Njg5MzY3NDEzNTIwOF0sIFsxNTk1MDkzOTM3LjQwMTMyNSwgNjIzNywgMC4wNzk5Njg4NTQ3ODQ5NjU1Ml0sIFsxNTk1MDkzOTQ0LjU1NDUzNywgNjI0NCwgMC4wNzk5Njg3MzU1NzU2NzU5Nl0sIFsxNTk1MDkzOTUwLjM3MTkyMywgNjI1MCwgMC4wNzk5Njg2Mzg3MTgxMjgyXSwgWzE1OTUwOTM5NjIuOTI1MjA1LCA2MjYzLCAwLjA3OTk2ODQyMjY1MTI5MDldLCBbMTU5NTA5Mzk2OS45MzMyOTgsIDYyNzAsIDAuMDc5OTY4MzAzNDQyMDAxMzRdLCBbMTU5NTA5Mzk4OS4xMzk1OTIsIDYyODksIDAuMDc5OTY3OTgzMDY3MDM1NjhdLCBbMTU5NTA5NDAwOC45MTUyMSwgNjMwOSwgMC4wNzk5Njc2NDc3OTA5MDg4MV0sIFsxNTk1MDk0MDEyLjE1MDUwNCwgNjMxMiwgMC4wNzk5Njc1OTU2MzY4NDQ2NF0sIFsxNTk1MDk0MDE1Ljk1NzQwMSwgNjMxNiwgMC4wNzk5Njc1Mjg1ODE2MTkyNl0sIFsxNTk1MDk0MDE2Ljk2NDM5NCwgNjMxNywgMC4wNzk5Njc1MDYyMjk4Nzc0N10sIFsxNTk1MDk0MDIzLjk3NzgwMywgNjMyNCwgMC4wNzk5NjczOTQ0NzExNjg1Ml0sIFsxNTk1MDk0MDQwLjU4Njk0NCwgNjM0MSwgMC4wNzk5NjcwOTY0NDc5NDQ2NF0sIFsxNTk1MDk0MDUxLjYwODQxMywgNjM1MiwgMC4wNzk5NjY5MTAxODM0Mjk3Ml0sIFsxNTk1MDk0MDYyLjgxNjg2NywgNjM2MywgMC4wNzk5NjY3MjM5MTg5MTQ4XSwgWzE1OTUwOTQwNjkuNzk0MTE0LCA2MzcwLCAwLjA3OTk2NjU5NzI1OTA0NDY1XSwgWzE1OTUwOTQwNzUuNjA1OTMyLCA2Mzc2LCAwLjA3OTk2NjQ5Mjk1MDkxNjI5XSwgWzE1OTUwOTQwOTkuNzM1NjAyLCA2NDAwLCAwLjA3OTk2NjA4MzE2ODk4MzQ2XSwgWzE1OTUwOTQxMjIuNTI1ODgyLCA2NDIzLCAwLjA3OTk2NTY4MDgzNzYzMTIzXSwgWzE1OTUwOTQxNDYuNTg1NDczLCA2NDQ3LCAwLjA3OTk2NTI1NjE1NDUzNzJdLCBbMTU5NTA5NDE1NC41MjAxMzgsIDY0NTUsIDAuMDc5OTY1MTE0NTkzNTA1ODZdLCBbMTU5NTA5NDE1OC41MTg3ODYsIDY0NTksIDAuMDc5OTY1MDQ3NTM4MjgwNDldLCBbMTU5NTA5NDE3MS43MzcwNDUsIDY0NzIsIDAuMDc5OTY0ODE2NTcwMjgxOThdLCBbMTU5NTA5NDE4Mi45NTI5MDksIDY0ODMsIDAuMDc5OTY0NjIyODU1MTg2NDZdLCBbMTU5NTA5NDE4Ni45NjI4MjMsIDY0ODcsIDAuMDc5OTY0NTQ4MzQ5MzgwNV0sIFsxNTk1MDk0MTk0Ljg2ODc5NCwgNjQ5NSwgMC4wNzk5NjQ0MDY3ODgzNDkxNV0sIFsxNTk1MDk0MTk1Ljg4NzY3LCA2NDk2LCAwLjA3OTk2NDM4NDQzNjYwNzM2XSwgWzE1OTUwOTQxOTkuODg5MjE0LCA2NTAwLCAwLjA3OTk2NDMyNDgzMTk2MjU5XSwgWzE1OTUwOTQyMDguNzY1NTk3LCA2NTA5LCAwLjA3OTk2NDE2MDkxOTE4OTQ1XSwgWzE1OTUwOTQyMDkuNzMwODM2LCA2NTEwLCAwLjA3OTk2NDEzODU2NzQ0NzY2XSwgWzE1OTUwOTQyMjAuMDU1NTQxLCA2NTIwLCAwLjA3OTk2Mzk1OTc1MzUxMzM0XSwgWzE1OTUwOTQyMjEuMDUyMDMsIDY1MjEsIDAuMDc5OTYzOTQ0ODUyMzUyMTRdLCBbMTU5NTA5NDIyMi4wMzE2MTYsIDY1MjIsIDAuMDc5OTYzOTIyNTAwNjEwMzVdLCBbMTU5NTA5NDIzMC4zMzcyMTksIDY1MzAsIDAuMDc5OTYzNzgwOTM5NTc5MDFdLCBbMTU5NTA5NDIzMy45ODQ2MDUsIDY1MzQsIDAuMDc5OTYzNzEzODg0MzUzNjRdLCBbMTU5NTA5NDI1MC4yMDY4MTMsIDY1NTAsIDAuMDc5OTYzNDIzMzExNzEwMzZdLCBbMTU5NTA5NDI3NC4xMTA4NDYsIDY1NzQsIDAuMDc5OTYyOTgzNzI3NDU1MTRdLCBbMTU5NTA5NDI3OC4wOTE5MTksIDY1NzgsIDAuMDc5OTYyOTE2NjcyMjI5NzddLCBbMTU5NTA5NDI4MC4wNjE1NDksIDY1ODAsIDAuMDc5OTYyODc5NDE5MzI2NzhdLCBbMTU5NTA5NDI4MS4wOTM5NzUsIDY1ODEsIDAuMDc5OTYyODY0NTE4MTY1NTldLCBbMTU5NTA5NDI4NC4zMDU1MDQsIDY1ODQsIDAuMDc5OTYyODA0OTEzNTIwODFdLCBbMTU5NTA5NDI5My4xNzc0MDksIDY1OTMsIDAuMDc5OTYyNjQxMDAwNzQ3NjhdLCBbMTU5NTA5NDI5NC4xNjU2MTMsIDY1OTQsIDAuMDc5OTYyNjI2MDk5NTg2NDldLCBbMTU5NTA5NDMwMi45OTU4NDEsIDY2MDMsIDAuMDc5OTYyNDYyMTg2ODEzMzVdLCBbMTU5NTA5NDMwNi4wNDAwMjIsIDY2MDYsIDAuMDc5OTYyNDAyNTgyMTY4NThdLCBbMTU5NTA5NDMxNi4wMTYyMTcsIDY2MTYsIDAuMDc5OTYyMjIzNzY4MjM0MjVdLCBbMTU5NTA5NDMyMS4xMTA1MSwgNjYyMSwgMC4wNzk5NjIxMjY5MTA2ODY0OV0sIFsxNTk1MDk0MzU3LjQwNDIwNCwgNjY1NywgMC4wNzk5NjE0NjM4MDkwMTMzN10sIFsxNTk1MDk0MzY2LjI2NzA3OCwgNjY2NiwgMC4wNzk5NjEyOTk4OTYyNDAyM10sIFsxNTk1MDk0MzY4LjI2MTcyOSwgNjY2OCwgMC4wNzk5NjEyNjI2NDMzMzcyNV0sIFsxNTk1MDk0MzcyLjI2NTcyNywgNjY3MiwgMC4wNzk5NjExODA2ODY5NTA2OF0sIFsxNTk1MDk0Mzc4LjM2OTgxLCA2Njc4LCAwLjA3OTk2MTA3NjM3ODgyMjMzXSwgWzE1OTUwOTQzODEuMzU2MjQ5LCA2NjgxLCAwLjA3OTk2MTAxNjc3NDE3NzU1XSwgWzE1OTUwOTQzODguNDk3NzgyLCA2Njg4LCAwLjA3OTk2MDg5MDExNDMwNzRdLCBbMTU5NTA5NDM5MS40ODcwNTksIDY2OTEsIDAuMDc5OTYwODMwNTA5NjYyNjNdLCBbMTU5NTA5NDM5Ni4zOTE0MjYsIDY2OTYsIDAuMDc5OTYwNzMzNjUyMTE0ODddLCBbMTU5NTA5NDM5OS4zNTI2MDEsIDY2OTksIDAuMDc5OTYwNjgxNDk4MDUwNjldLCBbMTU5NTA5NDQwNy41NjE0NzcsIDY3MDcsIDAuMDc5OTYwNTMyNDg2NDM4NzVdLCBbMTU5NTA5NDQxMS42ODEwNjgsIDY3MTEsIDAuMDc5OTYwNDU3OTgwNjMyNzhdLCBbMTU5NTA5NDQxNS43NDExNTIsIDY3MTUsIDAuMDc5OTYwMzgzNDc0ODI2ODFdLCBbMTU5NTA5NDQyNS41ODg2NjgsIDY3MjUsIDAuMDc5OTYwMTg5NzU5NzMxMjldLCBbMTU5NTA5NDQyNi41NTc1NTMsIDY3MjYsIDAuMDc5OTYwMTc0ODU4NTcwMV0sIFsxNTk1MDk0NDM4LjU2MDIxOSwgNjczOCwgMC4wNzk5NTk5NTEzNDExNTIxOV0sIFsxNTk1MDk0NDQyLjUzNjcwOCwgNjc0MiwgMC4wNzk5NTk4NjkzODQ3NjU2Ml0sIFsxNTk1MDk0NDQ5LjUwNDA5OSwgNjc0OSwgMC4wNzk5NTk3MzUyNzQzMTQ4OF0sIFsxNTk1MDk0NDUzLjYyMjAxMiwgNjc1MywgMC4wNzk5NTk2NjgyMTkwODk1MV0sIFsxNTk1MDk0NDY1LjA5MzY4NCwgNjc2NCwgMC4wNzk5NTk0NTk2MDI4MzI4XSwgWzE1OTUwOTQ0NzcuMDcyOTI0LCA2Nzc2LCAwLjA3OTk1OTIyODYzNDgzNDI5XSwgWzE1OTUwOTQ0OTMuMzM3ODEsIDY3OTIsIDAuMDc5OTU4OTIzMTYxMDI5ODJdLCBbMTU5NTA5NDUxOC44MDE1MDYsIDY4MTcsIDAuMDc5OTU4NDM4ODczMjkxMDJdLCBbMTU5NTA5NDUzMy43Mzk5ODMsIDY4MzIsIDAuMDc5OTU4MTQ4MzAwNjQ3NzRdLCBbMTU5NTA5NDU0MS45NjUyODYsIDY4NDAsIDAuMDc5OTU3OTk5Mjg5MDM1OF0sIFsxNTk1MDk0NTQ4LjA4ODkwOSwgNjg0NiwgMC4wNzk5NTc4ODc1MzAzMjY4NF0sIFsxNTk1MDk0NTUyLjI2NzE5NSwgNjg1MCwgMC4wNzk5NTc4MDU1NzM5NDAyOF0sIFsxNTk1MDk0NTU2LjI0OTk1OCwgNjg1NCwgMC4wNzk5NTc3MjM2MTc1NTM3MV0sIFsxNTk1MDk0NTY0LjM3NzU4NiwgNjg2MiwgMC4wNzk5NTc1NjcxNTUzNjExOF0sIFsxNTk1MDk0NTcwLjIwMjcwMywgNjg2OCwgMC4wNzk5NTc0NTUzOTY2NTIyMl0sIFsxNTk1MDk0NTcxLjIyMDQ5NiwgNjg2OSwgMC4wNzk5NTc0MzMwNDQ5MTA0M10sIFsxNTk1MDk0NTg4LjQ3NzcyLCA2ODg2LCAwLjA3OTk1NzEwNTIxOTM2NDE3XSwgWzE1OTUwOTQ1OTcuNDE4NTk4LCA2ODk1LCAwLjA3OTk1NjkyNjQwNTQyOTg0XSwgWzE1OTUwOTQ2MDMuNjA0NjI4LCA2OTAxLCAwLjA3OTk1NjgwNzE5NjE0MDI5XSwgWzE1OTUwOTQ2MTEuNjk3OTQ3LCA2OTA5LCAwLjA3OTk1NjY1MDczMzk0Nzc1XSwgWzE1OTUwOTQ2MTQuODAwODUxLCA2OTEyLCAwLjA3OTk1NjU5MTEyOTMwMjk4XSwgWzE1OTUwOTQ2MTguNzgxODA0LCA2OTE2LCAwLjA3OTk1NjUwOTE3MjkxNjQxXSwgWzE1OTUwOTQ2MjguNjUwOTk4LCA2OTI2LCAwLjA3OTk1NjMyMjkwODQwMTQ5XSwgWzE1OTUwOTQ2MzYuNTg0NjYsIDY5MzQsIDAuMDc5OTU2MTU4OTk1NjI4MzZdLCBbMTU5NTA5NDYzOS42MTk3MDIsIDY5MzcsIDAuMDc5OTU2MDk5MzkwOTgzNThdLCBbMTU5NTA5NDY1My41OTA3NjksIDY5NTEsIDAuMDc5OTU1ODIzNzE5NTAxNV0sIFsxNTk1MDk0NjU3LjY5NzA2LCA2OTU1LCAwLjA3OTk1NTc0MTc2MzExNDkzXSwgWzE1OTUwOTQ2NjUuODE3ODk2LCA2OTYzLCAwLjA3OTk1NTU4NTMwMDkyMjRdLCBbMTU5NTA5NDY2OC43OTc2NjEsIDY5NjYsIDAuMDc5OTU1NTI1Njk2Mjc3NjJdLCBbMTU5NTA5NDY3NC45NjU0NjcsIDY5NzIsIDAuMDc5OTU1NDA2NDg2OTg4MDddLCBbMTU5NTA5NDY5My40MTcxOTgsIDY5OTAsIDAuMDc5OTU1MDQxNDA4NTM4ODJdLCBbMTU5NTA5NDY5NS40MDA1NDgsIDY5OTIsIDAuMDc5OTU1MDA0MTU1NjM1ODNdLCBbMTU5NTA5NDcxMy40Mzg3NDEsIDcwMTAsIDAuMDc5OTU0NjM5MDc3MTg2NThdLCBbMTU5NTA5NDcxNy40ODkzNywgNzAxNCwgMC4wNzk5NTQ1NjQ1NzEzODA2Ml0sIFsxNTk1MDk0NzIwLjY1MTYyMiwgNzAxNywgMC4wNzk5NTQ1MDQ5NjY3MzU4NF0sIFsxNTk1MDk0NzM1Ljk5NDcxNSwgNzAzMiwgMC4wNzk5NTQxOTk0OTI5MzEzN10sIFsxNTk1MDk0NzM5LjA1Mjc4NCwgNzAzNSwgMC4wNzk5NTQxMzI0Mzc3MDZdLCBbMTU5NTA5NDc0Mi44ODgzNjIsIDcwMzksIDAuMDc5OTU0MDU3OTMxOTAwMDJdLCBbMTU5NTA5NDc0OS45OTA1MjksIDcwNDYsIDAuMDc5OTUzOTE2MzcwODY4NjhdLCBbMTU5NTA5NDc2Mi44NTYxMjIsIDcwNTksIDAuMDc5OTUzNjQ4MTQ5OTY3Ml0sIFsxNTk1MDk0NzY4LjgxNDM1MiwgNzA2NSwgMC4wNzk5NTM1Mjg5NDA2Nzc2NF0sIFsxNTk1MDk0NzgyLjk3MTkyMSwgNzA3OSwgMC4wNzk5NTMyNDU4MTg2MTQ5Nl0sIFsxNTk1MDk0Nzk0Ljk3ODc2OCwgNzA5MSwgMC4wNzk5NTI5OTk5NDk0NTUyNl0sIFsxNTk1MDk0ODAxLjk1NzA1LCA3MDk4LCAwLjA3OTk1Mjg1ODM4ODQyMzkyXSwgWzE1OTUwOTQ4MTAuMDA2NDkzLCA3MTA2LCAwLjA3OTk1MjY5NDQ3NTY1MDc5XSwgWzE1OTUwOTQ4MTguMTIxNjkxLCA3MTE0LCAwLjA3OTk1MjUyMzExMjI5NzA2XSwgWzE1OTUwOTQ4MTkuMTgyOTk2LCA3MTE1LCAwLjA3OTk1MjUwODIxMTEzNTg2XSwgWzE1OTUwOTQ4MjQuMTM1MzQ4LCA3MTIwLCAwLjA3OTk1MjQwMzkwMzAwNzUxXSwgWzE1OTUwOTQ4MjguMjM3Nzc1LCA3MTI0LCAwLjA3OTk1MjMyMTk0NjYyMDk0XSwgWzE1OTUwOTQ4NDEuNDI3NjU1LCA3MTM3LCAwLjA3OTk1MjA1MzcyNTcxOTQ1XSwgWzE1OTUwOTQ4NDUuODE1Mzc5LCA3MTQxLCAwLjA3OTk1MTk3MTc2OTMzMjg5XSwgWzE1OTUwOTQ4NTkuNjE5NDQ5LCA3MTU1LCAwLjA3OTk1MTY4MTE5NjY4OTZdLCBbMTU5NTA5NDg3MS41MTc0NDEsIDcxNjcsIDAuMDc5OTUxNDI3ODc2OTQ5MzFdLCBbMTU5NTA5NDg3Mi41ODQ0NjMsIDcxNjgsIDAuMDc5OTUxNDA1NTI1MjA3NTJdLCBbMTU5NTA5NDg3OS42OTIxMTgsIDcxNzUsIDAuMDc5OTUxMjYzOTY0MTc2MThdLCBbMTU5NTA5NDg4Ny44NTExMTMsIDcxODMsIDAuMDc5OTUxMTAwMDUxNDAzMDVdLCBbMTU5NTA5NDg5My44MjU3MiwgNzE4OSwgMC4wNzk5NTA5NzMzOTE1MzI5XSwgWzE1OTUwOTQ4OTkuNzk5ODY5LCA3MTk1LCAwLjA3OTk1MDg0NjczMTY2Mjc1XSwgWzE1OTUwOTQ5MDYuOTA0ODgxLCA3MjAyLCAwLjA3OTk1MDcwNTE3MDYzMTQxXSwgWzE1OTUwOTQ5MDguOTA5Mjk4LCA3MjA0LCAwLjA3OTk1MDY1MzAxNjU2NzIzXSwgWzE1OTUwOTQ5MTguMDI4NDU1LCA3MjEzLCAwLjA3OTk1MDQ2Njc1MjA1MjMxXSwgWzE1OTUwOTQ5MjAuMDg2NTg2LCA3MjE1LCAwLjA3OTk1MDQyOTQ5OTE0OTMyXSwgWzE1OTUwOTQ5MjEuMDI2NjA2LCA3MjE2LCAwLjA3OTk1MDQwNzE0NzQwNzUzXSwgWzE1OTUwOTQ5NDAuMjc5NDQ0LCA3MjM1LCAwLjA3OTk1MDAwNDgxNjA1NTNdLCBbMTU5NTA5NDk0My4yNzA3NDgsIDcyMzgsIDAuMDc5OTQ5OTM3NzYwODI5OTNdLCBbMTU5NTA5NDk1Mi41MTk1MDIsIDcyNDcsIDAuMDc5OTQ5NzUxNDk2MzE1XSwgWzE1OTUwOTQ5NjUuNjQ5OTY3LCA3MjYwLCAwLjA3OTk0OTQ3NTgyNDgzMjkyXSwgWzE1OTUwOTQ5NzYuOTkyNzE1LCA3MjcxLCAwLjA3OTk0OTI0NDg1NjgzNDQxXSwgWzE1OTUwOTQ5ODAuMDExODA5LCA3Mjc0LCAwLjA3OTk0OTE3NzgwMTYwOTA0XSwgWzE1OTUwOTQ5OTAuMTQzOTY0LCA3Mjg0LCAwLjA3OTk0ODk2OTE4NTM1MjMzXSwgWzE1OTUwOTUwMDYuNTIzNzQ2LCA3MzAwLCAwLjA3OTk0ODYyNjQ1ODY0NDg3XSwgWzE1OTUwOTUwMTcuNTkwMzExLCA3MzExLCAwLjA3OTk0ODM4ODA0MDA2NTc3XSwgWzE1OTUwOTUwMjAuOTc5Nzg5LCA3MzE0LCAwLjA3OTk0ODMyMDk4NDg0MDRdLCBbMTU5NTA5NTAzNS40NzAxMzQsIDczMjksIDAuMDc5OTQ4MDAwNjA5ODc0NzNdLCBbMTU5NTA5NTA0NS42ODIzNjIsIDczMzksIDAuMDc5OTQ3Nzg0NTQzMDM3NDFdLCBbMTU5NTA5NTA0Ni42NDE3MzUsIDczNDAsIDAuMDc5OTQ3NzYyMTkxMjk1NjJdLCBbMTU5NTA5NTA1MS44NDk0MTksIDczNDUsIDAuMDc5OTQ3NjU3ODgzMTY3MjddLCBbMTU5NTA5NTA1Mi44OTM5MTUsIDczNDYsIDAuMDc5OTQ3NjM1NTMxNDI1NDhdLCBbMTU5NTA5NTA1OC4xMDUyNjMsIDczNTEsIDAuMDc5OTQ3NTIzNzcyNzE2NTJdLCBbMTU5NTA5NTA2MC4xMjQyNjEsIDczNTMsIDAuMDc5OTQ3NDg2NTE5ODEzNTRdLCBbMTU5NTA5NTA2NC4xOTEyMTgsIDczNTcsIDAuMDc5OTQ3Mzk3MTEyODQ2MzddLCBbMTU5NTA5NTA2NS4yNjkxNDQsIDczNTgsIDAuMDc5OTQ3Mzc0NzYxMTA0NThdLCBbMTU5NTA5NTA2Ni4zMjI4MywgNzM1OSwgMC4wNzk5NDczNTI0MDkzNjI3OV0sIFsxNTk1MDk1MDgxLjQ0NDQ0NiwgNzM3NCwgMC4wNzk5NDcwMzIwMzQzOTcxM10sIFsxNTk1MDk1MDg4LjY3NjE1MywgNzM4MSwgMC4wNzk5NDY4NzU1NzIyMDQ1OV0sIFsxNTk1MDk1MDg5LjY4OTI0NSwgNzM4MiwgMC4wNzk5NDY4NTMyMjA0NjI4XSwgWzE1OTUwOTUwOTMuNjc4Mjg2LCA3Mzg2LCAwLjA3OTk0Njc2MzgxMzQ5NTY0XSwgWzE1OTUwOTUwOTUuNzE3MTg4LCA3Mzg4LCAwLjA3OTk0NjcyNjU2MDU5MjY1XSwgWzE1OTUwOTUxMDQuOTkzNDQyLCA3Mzk3LCAwLjA3OTk0NjUyNTM5NDkxNjUzXSwgWzE1OTUwOTUxMDkuMDExMDU4LCA3NDAxLCAwLjA3OTk0NjQ0MzQzODUyOTk3XSwgWzE1OTUwOTUxMTEuOTk2NzMsIDc0MDQsIDAuMDc5OTQ2Mzc2MzgzMzA0Nl0sIFsxNTk1MDk1MTM4LjY5NjkyOSwgNzQzMCwgMC4wNzk5NDU4MDI2ODg1OTg2M10sIFsxNTk1MDk1MTM5LjcyNjQyOCwgNzQzMSwgMC4wNzk5NDU3ODAzMzY4NTY4NF0sIFsxNTk1MDk1MTQ4Ljc5Mjg5LCA3NDQwLCAwLjA3OTk0NTU3OTE3MTE4MDczXSwgWzE1OTUwOTUxNTEuOTM1NDg5LCA3NDQzLCAwLjA3OTk0NTUxMjExNTk1NTM1XSwgWzE1OTUwOTUxNTUuOTgzNzMsIDc0NDcsIDAuMDc5OTQ1NDMwMTU5NTY4NzldLCBbMTU5NTA5NTE1OS4wNzA0NjcsIDc0NTAsIDAuMDc5OTQ1MzYzMTA0MzQzNDFdLCBbMTU5NTA5NTE2OC45ODQ4NjIsIDc0NjAsIDAuMDc5OTQ1MTM5NTg2OTI1NV0sIFsxNTk1MDk1MTY5Ljk4NjE1NiwgNzQ2MSwgMC4wNzk5NDUxMjQ2ODU3NjQzMV0sIFsxNTk1MDk1MTcwLjg3MzYyNiwgNzQ2MiwgMC4wNzk5NDUwOTQ4ODM0NDE5M10sIFsxNTk1MDk1MTcyLjM3MDAyNCwgNzQ2MywgMC4wNzk5NDUwNzI1MzE3MDAxM10sIFsxNTk1MDk1MTc2Ljk2MjEzOCwgNzQ2OCwgMC4wNzk5NDQ5NjgyMjM1NzE3OF0sIFsxNTk1MDk1MTgzLjMyMTU2LCA3NDc0LCAwLjA3OTk0NDgzNDExMzEyMTAzXSwgWzE1OTUwOTUxODcuMzUwODc0LCA3NDc4LCAwLjA3OTk0NDc0NDcwNjE1Mzg3XSwgWzE1OTUwOTUxODkuMDEwODc5LCA3NDgwLCAwLjA3OTk0NDcwMDAwMjY3MDI5XSwgWzE1OTUwOTUyMDUuMjQxODcxLCA3NDk2LCAwLjA3OTk0NDM0MjM3NDgwMTY0XSwgWzE1OTUwOTUyMTEuNDQxMTE5LCA3NTAyLCAwLjA3OTk0NDIwODI2NDM1MDg5XSwgWzE1OTUwOTUyMTIuNTI1MzUzLCA3NTAzLCAwLjA3OTk0NDE4NTkxMjYwOTFdLCBbMTU5NTA5NTIyMC42NDU1MiwgNzUxMSwgMC4wNzk5NDQwMDcwOTg2NzQ3N10sIFsxNTk1MDk1MjI2LjYwMjQ0NSwgNzUxNywgMC4wNzk5NDM4NzI5ODgyMjQwM10sIFsxNTk1MDk1MjMxLjcyNTE2NSwgNzUyMiwgMC4wNzk5NDM3NjEyMjk1MTUwOF0sIFsxNTk1MDk1MjM5Ljc1MjA4LCA3NTMwLCAwLjA3OTk0MzU4MjQxNTU4MDc1XSwgWzE1OTUwOTUyNDYuOTIxNTM4LCA3NTM3LCAwLjA3OTk0MzQyNTk1MzM4ODIxXSwgWzE1OTUwOTUyNTYuODk1ODEyLCA3NTQ3LCAwLjA3OTk0MzIwMjQzNTk3MDNdLCBbMTU5NTA5NTI3NS4xNjYzNTYsIDc1NjUsIDAuMDc5OTQyODAwMTA0NjE4MDddLCBbMTU5NTA5NTI4My4yOTA5MTQsIDc1NzMsIDAuMDc5OTQyNjEzODQwMTAzMTVdLCBbMTU5NTA5NTMwNi43ODYyODksIDc1OTYsIDAuMDc5OTQyMDkyMjk5NDYxMzZdLCBbMTU5NTA5NTMxMy44MDcwMjksIDc2MDMsIDAuMDc5OTQxOTM1ODM3MjY4ODNdLCBbMTU5NTA5NTMxOS45Njg2NjQsIDc2MDksIDAuMDc5OTQxNzk0Mjc2MjM3NDldLCBbMTU5NTA5NTMyMy4wODQzNCwgNzYxMiwgMC4wNzk5NDE3MjcyMjEwMTIxMl0sIFsxNTk1MDk1MzU0LjY1ODAyMSwgNzY0MywgMC4wNzk5NDEwMTk0MTU4NTU0MV0sIFsxNTk1MDk1MzU1LjYzOTA4NiwgNzY0NCwgMC4wNzk5NDA5OTcwNjQxMTM2Ml0sIFsxNTk1MDk1MzcxLjcyNzA1NCwgNzY2MCwgMC4wNzk5NDA2MzE5ODU2NjQzN10sIFsxNTk1MDk1MzcyLjcyMDU3OSwgNzY2MSwgMC4wNzk5NDA2MDk2MzM5MjI1OF0sIFsxNTk1MDk1MzgyLjc5NTk0NiwgNzY3MSwgMC4wNzk5NDAzNzEyMTUzNDM0OF0sIFsxNTk1MDk1Mzg1LjczNDQyLCA3Njc0LCAwLjA3OTk0MDMwNDE2MDExODFdLCBbMTU5NTA5NTM4Ny43Mjk4OCwgNzY3NiwgMC4wNzk5NDAyNTk0NTY2MzQ1Ml0sIFsxNTk1MDk1Mzk4LjcwNTk1OSwgNzY4NywgMC4wNzk5NDAwMDYxMzY4OTQyM10sIFsxNTk1MDk1NDA0LjgxMDA0MywgNzY5MywgMC4wNzk5Mzk4NzIwMjY0NDM0OF0sIFsxNTk1MDk1NDA3LjkyMzI4NCwgNzY5NiwgMC4wNzk5Mzk4MDQ5NzEyMTgxMV0sIFsxNTk1MDk1NDExLjk1Mjg3NSwgNzcwMCwgMC4wNzk5Mzk3MDgxMTM2NzAzNV0sIFsxNTk1MDk1NDI4LjA2Mzk1LCA3NzE2LCAwLjA3OTkzOTMzNTU4NDY0MDVdLCBbMTU5NTA5NTQzMC4wMTY2MzYsIDc3MTgsIDAuMDc5OTM5MjkwODgxMTU2OTJdLCBbMTU5NTA5NTQzMC45NjQ0ODYsIDc3MTksIDAuMDc5OTM5MjY4NTI5NDE1MTNdLCBbMTU5NTA5NTQzNS4wOTE2NzMsIDc3MjMsIDAuMDc5OTM5MTcxNjcxODY3MzddLCBbMTU5NTA5NTQzOC4wODkwMjUsIDc3MjYsIDAuMDc5OTM5MTA0NjE2NjQyXSwgWzE1OTUwOTU0NDAuMDk1NTUyLCA3NzI4LCAwLjA3OTkzOTA1OTkxMzE1ODQyXSwgWzE1OTUwOTU0NDMuMTI1Nzc4LCA3NzMxLCAwLjA3OTkzODk4NTQwNzM1MjQ1XSwgWzE1OTUwOTU0NTQuMzExMjYxLCA3NzQyLCAwLjA3OTkzODczMjA4NzYxMjE1XSwgWzE1OTUwOTU0NTguMzU5NDQxLCA3NzQ2LCAwLjA3OTkzODYzNTIzMDA2NDM5XSwgWzE1OTUwOTU0NjkuODI1NjkzLCA3NzU3LCAwLjA3OTkzODM4MTkxMDMyNDFdLCBbMTU5NTA5NTQ3Mi4yNzUyMTksIDc3NjAsIDAuMDc5OTM4MzA3NDA0NTE4MTNdLCBbMTU5NTA5NTQ5Mi43NDQ2NzQsIDc3ODAsIDAuMDc5OTM3ODM4MDE3OTQwNTJdLCBbMTU5NTA5NTUwMC45OTc1NDQsIDc3ODgsIDAuMDc5OTM3NjQ0MzAyODQ1XSwgWzE1OTUwOTU1MTEuMTgwMDMyLCA3Nzk4LCAwLjA3OTkzNzQxMzMzNDg0NjVdLCBbMTU5NTA5NTUxMi4xOTk3NjUsIDc3OTksIDAuMDc5OTM3MzkwOTgzMTA0N10sIFsxNTk1MDk1NTIzLjQzMjEyNywgNzgxMCwgMC4wNzk5MzcxMzAyMTI3ODM4MV0sIFsxNTk1MDk1NTQ3LjAyOTQxMSwgNzgzMywgMC4wNzk5MzY1ODYzMjA0MDAyNF0sIFsxNTk1MDk1NTUyLjAzNzc5OSwgNzgzOCwgMC4wNzk5MzY0NjcxMTExMTA2OV0sIFsxNTk1MDk1NTY4LjczNjk3NiwgNzg1NSwgMC4wNzk5MzYwNTczMjkxNzc4Nl0sIFsxNTk1MDk1NTg2LjA4NzM3NSwgNzg3MiwgMC4wNzk5MzU2NTQ5OTc4MjU2Ml0sIFsxNTk1MDk1NTkyLjA1MTYwNiwgNzg3OCwgMC4wNzk5MzU1MTM0MzY3OTQyOF0sIFsxNTk1MDk1NTk0LjA5Mzc4MywgNzg4MCwgMC4wNzk5MzU0NjEyODI3MzAxXSwgWzE1OTUwOTU2MTMuOTg4Nzk3LCA3ODk5LCAwLjA3OTkzNTAwNjc5NzMxMzY5XSwgWzE1OTUwOTU2MTQuNzMzNjI0LCA3OTAwLCAwLjA3OTkzNDk4NDQ0NTU3MTldLCBbMTU5NTA5NTYxOC43MTM0OTQsIDc5MDQsIDAuMDc5OTM0ODg3NTg4MDI0MTRdLCBbMTU5NTA5NTYyMi41NzYwMjQsIDc5MDgsIDAuMDc5OTM0NzgzMjc5ODk1NzhdLCBbMTU5NTA5NTY0MC44MDUzNywgNzkyNiwgMC4wNzk5MzQzNTg1OTY4MDE3Nl0sIFsxNTk1MDk1NjQ3LjA0NTc3MiwgNzkzMiwgMC4wNzk5MzQyMDk1ODUxODk4Ml0sIFsxNTk1MDk1NjQ4LjA1ODAxMywgNzkzMywgMC4wNzk5MzQxODcyMzM0NDgwM10sIFsxNTk1MDk1NjkwLjM2MzE5NCwgNzk3NSwgMC4wNzk5MzMxNjY1MDM5MDYyNV0sIFsxNTk1MDk1Njk4LjI4MzU1NiwgNzk4MywgMC4wNzk5MzI5NjUzMzgyMzAxM10sIFsxNTk1MDk1NzA2LjM3MTc1NCwgNzk5MSwgMC4wNzk5MzI3NzE2MjMxMzQ2MV0sIFsxNTk1MDk1NzA3LjMyODQ3OCwgNzk5MiwgMC4wNzk5MzI3NDE4MjA4MTIyM10sIFsxNTk1MDk1NzE0LjMxMjg1MiwgNzk5OSwgMC4wNzk5MzI1NzA0NTc0NTg1XV0=", "ok": true, "headers": [ [ "content-type", "application/json" ] ], "status": 200, "status_text": "" } }, "base_uri": "https://localhost:8080/", "height": 821 }, "outputId": "bd7a5ef1-523b-4166-eafc-e08f0ff9b132" } }, { "cell_type": "markdown", "source": [ "## Export model inference graph" ], "metadata": { "id": "U3GNLS4ywstA" } }, { "cell_type": "code", "execution_count": null, "source": [ "output_directory = 'inference_graph'\n", "\n", "!python /content/models/research/object_detection/exporter_main_v2.py \\\n", " --trained_checkpoint_dir {model_dir} \\\n", " --output_directory {output_directory} \\\n", " --pipeline_config_path {pipeline_config_path}" ], "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "2020-07-18 18:08:42.450130: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n", "I0718 18:08:46.165607 140076592244608 ssd_efficientnet_bifpn_feature_extractor.py:144] EfficientDet EfficientNet backbone version: efficientnet-b0\n", "I0718 18:08:46.165880 140076592244608 ssd_efficientnet_bifpn_feature_extractor.py:145] EfficientDet BiFPN num filters: 64\n", "I0718 18:08:46.166004 140076592244608 ssd_efficientnet_bifpn_feature_extractor.py:147] EfficientDet BiFPN num iterations: 3\n", "I0718 18:08:46.182794 140076592244608 efficientnet_model.py:146] round_filter input=32 output=32\n", "2020-07-18 18:08:46.199456: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcuda.so.1\n", "2020-07-18 18:08:46.233530: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 18:08:46.234444: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] Found device 0 with properties: \n", "pciBusID: 0000:00:04.0 name: Tesla P100-PCIE-16GB computeCapability: 6.0\n", "coreClock: 1.3285GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s\n", "2020-07-18 18:08:46.234508: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n", "2020-07-18 18:08:46.238096: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n", "2020-07-18 18:08:46.240872: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n", "2020-07-18 18:08:46.241611: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n", "2020-07-18 18:08:46.244906: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n", "2020-07-18 18:08:46.252590: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n", "2020-07-18 18:08:46.259536: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n", "2020-07-18 18:08:46.259688: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 18:08:46.260626: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 18:08:46.261449: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1703] Adding visible gpu devices: 0\n", "2020-07-18 18:08:46.261832: I tensorflow/core/platform/cpu_feature_guard.cc:143] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX512F\n", "2020-07-18 18:08:46.270587: I tensorflow/core/platform/profile_utils/cpu_utils.cc:102] CPU Frequency: 2000179999 Hz\n", "2020-07-18 18:08:46.270846: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x1ef4d80 initialized for platform Host (this does not guarantee that XLA will be used). Devices:\n", "2020-07-18 18:08:46.270892: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): Host, Default Version\n", "2020-07-18 18:08:46.402611: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 18:08:46.403746: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x1ef4bc0 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices:\n", "2020-07-18 18:08:46.403784: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): Tesla P100-PCIE-16GB, Compute Capability 6.0\n", "2020-07-18 18:08:46.404057: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 18:08:46.404912: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] Found device 0 with properties: \n", "pciBusID: 0000:00:04.0 name: Tesla P100-PCIE-16GB computeCapability: 6.0\n", "coreClock: 1.3285GHz coreCount: 56 deviceMemorySize: 15.90GiB deviceMemoryBandwidth: 681.88GiB/s\n", "2020-07-18 18:08:46.404971: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n", "2020-07-18 18:08:46.405042: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n", "2020-07-18 18:08:46.405067: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n", "2020-07-18 18:08:46.405088: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n", "2020-07-18 18:08:46.405113: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n", "2020-07-18 18:08:46.405133: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n", "2020-07-18 18:08:46.405156: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n", "2020-07-18 18:08:46.405264: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 18:08:46.406338: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 18:08:46.407156: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1703] Adding visible gpu devices: 0\n", "2020-07-18 18:08:46.407264: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n", "2020-07-18 18:08:47.115951: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1102] Device interconnect StreamExecutor with strength 1 edge matrix:\n", "2020-07-18 18:08:47.116008: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1108] 0 \n", "2020-07-18 18:08:47.116021: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1121] 0: N \n", "2020-07-18 18:08:47.116274: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 18:08:47.116933: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n", "2020-07-18 18:08:47.117559: W tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:39] Overriding allow_growth setting because the TF_FORCE_GPU_ALLOW_GROWTH environment variable is set. Original config value was 0.\n", "2020-07-18 18:08:47.117605: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1247] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 14974 MB memory) -> physical GPU (device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0)\n", "I0718 18:08:47.169928 140076592244608 efficientnet_model.py:146] round_filter input=32 output=32\n", "I0718 18:08:47.170113 140076592244608 efficientnet_model.py:146] round_filter input=16 output=16\n", "I0718 18:08:47.278512 140076592244608 efficientnet_model.py:146] round_filter input=16 output=16\n", "I0718 18:08:47.278703 140076592244608 efficientnet_model.py:146] round_filter input=24 output=24\n", "I0718 18:08:47.579567 140076592244608 efficientnet_model.py:146] round_filter input=24 output=24\n", "I0718 18:08:47.579728 140076592244608 efficientnet_model.py:146] round_filter input=40 output=40\n", "I0718 18:08:47.875831 140076592244608 efficientnet_model.py:146] round_filter input=40 output=40\n", "I0718 18:08:47.876023 140076592244608 efficientnet_model.py:146] round_filter input=80 output=80\n", "I0718 18:08:48.427931 140076592244608 efficientnet_model.py:146] round_filter input=80 output=80\n", "I0718 18:08:48.428107 140076592244608 efficientnet_model.py:146] round_filter input=112 output=112\n", "I0718 18:08:48.882806 140076592244608 efficientnet_model.py:146] round_filter input=112 output=112\n", "I0718 18:08:48.882960 140076592244608 efficientnet_model.py:146] round_filter input=192 output=192\n", "I0718 18:08:49.500107 140076592244608 efficientnet_model.py:146] round_filter input=192 output=192\n", "I0718 18:08:49.500282 140076592244608 efficientnet_model.py:146] round_filter input=320 output=320\n", "I0718 18:08:49.637418 140076592244608 efficientnet_model.py:146] round_filter input=1280 output=1280\n", "I0718 18:08:49.707412 140076592244608 efficientnet_model.py:459] Building model efficientnet with params ModelConfig(width_coefficient=1.0, depth_coefficient=1.0, resolution=224, dropout_rate=0.2, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_size=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kernel_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40, kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filters=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_filters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, output_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet', rescale_input=False, data_format='channels_last', dtype='float32')\n", "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", "W0718 18:09:16.331918 140076592244608 save_impl.py:76] Skipping full serialization of Keras layer , because it is not built.\n", "2020-07-18 18:09:43.326048: W tensorflow/python/util/util.cc:329] Sets are not currently considered sequences, but this may change in the future, so consider avoiding using them.\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "I0718 18:10:03.976670 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "I0718 18:10:03.977004 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "I0718 18:10:03.977253 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "I0718 18:10:03.977445 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "I0718 18:10:08.289783 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "I0718 18:10:08.290111 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "I0718 18:10:08.290342 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "I0718 18:10:08.290518 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "I0718 18:10:08.290705 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "I0718 18:10:08.290864 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "I0718 18:10:10.784348 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "I0718 18:10:10.784663 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "I0718 18:10:10.784868 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "I0718 18:10:10.785037 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "I0718 18:10:11.120451 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "I0718 18:10:11.120755 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "I0718 18:10:11.120958 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "I0718 18:10:11.121135 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "I0718 18:10:11.121331 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "I0718 18:10:11.121485 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/resource_variable_ops.py:1817: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "If using Keras pass *_constraint arguments to layers.\n", "W0718 18:10:11.873308 140076592244608 deprecation.py:506] From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/resource_variable_ops.py:1817: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "If using Keras pass *_constraint arguments to layers.\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "I0718 18:10:19.641722 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "I0718 18:10:19.642035 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "I0718 18:10:19.642466 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], False), {}).\n", "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "I0718 18:10:19.642683 140076592244608 def_function.py:830] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 64, 64, 40), dtype=tf.float32, name='feature_pyramid/0/1')), (, TensorSpec(shape=(None, 32, 32, 112), dtype=tf.float32, name='feature_pyramid/1/1')), (, TensorSpec(shape=(None, 16, 16, 320), dtype=tf.float32, name='feature_pyramid/2/1'))], True), {}).\n", "INFO:tensorflow:Assets written to: inference_graph/saved_model/assets\n", "I0718 18:10:20.931694 140076592244608 builder_impl.py:775] Assets written to: inference_graph/saved_model/assets\n", "INFO:tensorflow:Writing pipeline config file to inference_graph/pipeline.config\n", "I0718 18:10:22.774637 140076592244608 config_util.py:254] Writing pipeline config file to inference_graph/pipeline.config\n" ] } ], "metadata": { "id": "WcvbNjcZw2er", "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "outputId": "9ec28e05-df02-44b3-a632-573bb675596c" } }, { "cell_type": "code", "execution_count": null, "source": [ "from google.colab import files\n", "files.download(f'/content/{output_directory}/saved_model/saved_model.pb') " ], "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "" ], "application/javascript": "\n async function download(id, filename, size) {\n if (!google.colab.kernel.accessAllowed) {\n return;\n }\n const div = document.createElement('div');\n const label = document.createElement('label');\n label.textContent = `Downloading \"${filename}\": `;\n div.appendChild(label);\n const progress = document.createElement('progress');\n progress.max = size;\n div.appendChild(progress);\n document.body.appendChild(div);\n\n const buffers = [];\n let downloaded = 0;\n\n const channel = await google.colab.kernel.comms.open(id);\n // Send a message to notify the kernel that we're ready.\n channel.send({})\n\n for await (const message of channel.messages) {\n // Send a message to notify the kernel that we're ready.\n channel.send({})\n if (message.buffers) {\n for (const buffer of message.buffers) {\n buffers.push(buffer);\n downloaded += buffer.byteLength;\n progress.value = downloaded;\n }\n }\n }\n const blob = new Blob(buffers, {type: 'application/binary'});\n const a = document.createElement('a');\n a.href = window.URL.createObjectURL(blob);\n a.download = filename;\n div.appendChild(a);\n a.click();\n div.remove();\n }\n " }, "metadata": { "tags": [] } }, { "output_type": "display_data", "data": { "text/plain": [ "" ], "application/javascript": "download(\"download_a04a0cb4-e0b2-473d-a018-2409d3dfcaaf\", \"saved_model.pb\", 22134446)" }, "metadata": { "tags": [] } } ], "metadata": { "id": "LcWVXuGAxeZ4", "colab": { "base_uri": "https://localhost:8080/", "height": 34 }, "outputId": "af73be82-d535-416f-eee8-1627c677053c" } }, { "cell_type": "markdown", "source": [ "## Test trained model on test images\n", "\n", "based on [Object Detection API Demo](https://github.com/tensorflow/models/blob/master/research/object_detection/colab_tutorials/object_detection_tutorial.ipynb) and [Inference from saved model tf2 colab](https://github.com/tensorflow/models/blob/master/research/object_detection/colab_tutorials/inference_from_saved_model_tf2_colab.ipynb)." ], "metadata": { "id": "5tGVwzpLxvSv" } }, { "cell_type": "code", "execution_count": null, "source": [ "import io\n", "import os\n", "import scipy.misc\n", "import numpy as np\n", "import six\n", "import time\n", "import glob\n", "from IPython.display import display\n", "\n", "from six import BytesIO\n", "\n", "import matplotlib\n", "import matplotlib.pyplot as plt\n", "from PIL import Image, ImageDraw, ImageFont\n", "\n", "import tensorflow as tf\n", "from object_detection.utils import ops as utils_ops\n", "from object_detection.utils import label_map_util\n", "from object_detection.utils import visualization_utils as vis_util\n", "\n", "%matplotlib inline" ], "outputs": [], "metadata": { "id": "hp4wlWrhxyJL" } }, { "cell_type": "code", "execution_count": null, "source": [ "def load_image_into_numpy_array(path):\n", " \"\"\"Load an image from file into a numpy array.\n", "\n", " Puts image into numpy array to feed into tensorflow graph.\n", " Note that by convention we put it into a numpy array with shape\n", " (height, width, channels), where channels=3 for RGB.\n", "\n", " Args:\n", " path: a file path (this can be local or on colossus)\n", "\n", " Returns:\n", " uint8 numpy array with shape (img_height, img_width, 3)\n", " \"\"\"\n", " img_data = tf.io.gfile.GFile(path, 'rb').read()\n", " image = Image.open(BytesIO(img_data))\n", " (im_width, im_height) = image.size\n", " return np.array(image.getdata()).reshape(\n", " (im_height, im_width, 3)).astype(np.uint8)" ], "outputs": [], "metadata": { "id": "NEaYWo8WyLS2" } }, { "cell_type": "code", "execution_count": null, "source": [ "category_index = label_map_util.create_category_index_from_labelmap(labelmap_path, use_display_name=True)" ], "outputs": [], "metadata": { "id": "OxWU7K_oyVwq" } }, { "cell_type": "code", "execution_count": null, "source": [ "tf.keras.backend.clear_session()\n", "model = tf.saved_model.load(f'/content/{output_directory}/saved_model')" ], "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_71931) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_102214) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_106128) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_91461) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_bifpn_layer_call_and_return_conditional_losses_70203) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference___call___22430) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n", "WARNING:tensorflow:Importing a function (__inference_EfficientDet-D0_layer_call_and_return_conditional_losses_95375) with ops with custom gradients. Will likely fail if a gradient is requested.\n" ] } ], "metadata": { "id": "bkMddTneyesG", "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "outputId": "0d8a6776-a838-48de-aa5c-cfafd31e126f" } }, { "cell_type": "code", "execution_count": null, "source": [ "def run_inference_for_single_image(model, image):\n", " image = np.asarray(image)\n", " # The input needs to be a tensor, convert it using `tf.convert_to_tensor`.\n", " input_tensor = tf.convert_to_tensor(image)\n", " # The model expects a batch of images, so add an axis with `tf.newaxis`.\n", " input_tensor = input_tensor[tf.newaxis,...]\n", "\n", " # Run inference\n", " model_fn = model.signatures['serving_default']\n", " output_dict = model_fn(input_tensor)\n", "\n", " # All outputs are batches tensors.\n", " # Convert to numpy arrays, and take index [0] to remove the batch dimension.\n", " # We're only interested in the first num_detections.\n", " num_detections = int(output_dict.pop('num_detections'))\n", " output_dict = {key:value[0, :num_detections].numpy() \n", " for key,value in output_dict.items()}\n", " output_dict['num_detections'] = num_detections\n", "\n", " # detection_classes should be ints.\n", " output_dict['detection_classes'] = output_dict['detection_classes'].astype(np.int64)\n", " \n", " # Handle models with masks:\n", " if 'detection_masks' in output_dict:\n", " # Reframe the the bbox mask to the image size.\n", " detection_masks_reframed = utils_ops.reframe_box_masks_to_image_masks(\n", " output_dict['detection_masks'], output_dict['detection_boxes'],\n", " image.shape[0], image.shape[1]) \n", " detection_masks_reframed = tf.cast(detection_masks_reframed > 0.5,\n", " tf.uint8)\n", " output_dict['detection_masks_reframed'] = detection_masks_reframed.numpy()\n", " \n", " return output_dict" ], "outputs": [], "metadata": { "id": "kxAf3XJBzLHq" } }, { "cell_type": "code", "execution_count": null, "source": [ "for image_path in glob.glob('microcontroller-detection/test/*.jpg'):\n", " image_np = load_image_into_numpy_array(image_path)\n", " output_dict = run_inference_for_single_image(model, image_np)\n", " vis_util.visualize_boxes_and_labels_on_image_array(\n", " image_np,\n", " output_dict['detection_boxes'],\n", " output_dict['detection_classes'],\n", " output_dict['detection_scores'],\n", " category_index,\n", " instance_masks=output_dict.get('detection_masks_reframed', None),\n", " use_normalized_coordinates=True,\n", " line_thickness=8)\n", " display(Image.fromarray(image_np))" ], "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "" ], "image/png": "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" }, "metadata": { "tags": [] } }, { "output_type": "display_data", "data": { "text/plain": [ "" ], "image/png": "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" }, "metadata": { "tags": [] } }, { "output_type": "display_data", "data": { "text/plain": [ "" ], "image/png": "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" }, "metadata": { "tags": [] } }, { "output_type": "display_data", "data": { "text/plain": [ "" ], "image/png": "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" }, "metadata": { "tags": [] } }, { "output_type": "display_data", "data": { "text/plain": [ "" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAIAAAAVFBUnAAEAAElEQVR4nNz9W5YkOa4ujAGgeWadrflPREtD0dK7XjQC/dpd6UZCDyBhHwHS3D0iqnufw1WdbWFOA3EHeOf/9//z/87MRGT/qjYmUtVaq5COl0rtVNXWWlX2QqOoani+3vDZ/5+ZSK6vVEZ9xvoIFouIIGT/V7Uu63tB6ojobNX+ZC7jgUn5PE97GejSDb07PFWrqhqviIiaEjf75GA2Ks7zJK0iIiJt8OGeXqeitZabZuZa6xIlLb8uMomYkECs39Fol+CaEUJNVZuqSgfSVFXPWmttrTH/9/nnz58//2Jqj1IehVkbtXaeXe6NiEiUhIga06O5pnXmllJE5M+fP04L/lvrWr6uMEHfUBUNgogQUWttx8/cLhGVUhxJl6aqllL8pQE3/J/P52xHvS1m9voBsQ3+dYnnTt/cpkK7x3G01oxqVRURZwXiY++ND/ZsxDpbhC7ld1YgQ7LlYn3H4devX17ZKtivj9+/kTNua4iqU6GqbYZPJN2OmiNanCgiUqquAKZLpRQT4pqbdHqjyMAguEt8tZZS5CjmM1VJu1Y8SinlcYgIqeiwn8C3wECjBXVD6RlE5rqHanNpiB5rPOFz/LXpn8x8tDuUCDO3KrTCH20Zdd78mCubf2Lv3Sod/tkUyfGHWtd2sdMT0zd/41R09zWM11Fd2ikzP5/P4ziO4zAVMvdr74On6p9IXcrF/XOwU+FfLiCa/MDFFqOx1lprlSPorYyGumNvlZzbpZSm3Q+TSrtciLCIwVfxQKxE9KCDiJTJbK2Rmgt/Pp9FWJRarc9//X0+/9ba36PSWqOmBoi5C/rk/+7mX9t5niZWczLdbFuXmr059fI2x3H8+vXr9+/fx3FYfDGjfj6fpq7M3J6n+2SdXZODLaWYhtdazyuQ8XEc6PYdf/vQYFL9V9C0zlCRUspxHKZIBpOIDtoUZqbkg5iZ1n5p8Xn2Su/XzyXon9Vn5tuPFu0Ge+gw3yPqncIQZrofnF1hQPslZ3bwsSxdj/37Iv3ct6JvCIWZzbBFhNzhNqIRnl/in52aO7uXrW8xn+1K99nwfVEoBLFkWXP5jGjQLKB7tD+ynZcohVi1q/YSTsBn2QQ25IE5iECGT5fh5Wk2HJoMfPqWIT9bYjVVZp57ER3tj/TqXhahufchZykHAXU8+apAoEKf2kgwiqmJFTkvVeVr5vkOPk6p68kXnCSa7dzcZ3h6AhdwRmEF5Q9y+bL/yYWZ6VWselMu38Gqqx8REVlKgZJC80QmeM60ROZKKHX6Cr0H9pQsYcUP7d+AD1awrEhELJ2ynyyjsk8swcKfrHVrzqC1eiXQ6Og8G/P6PcFaeLeZ9Z01wNwlx3N4wId3vr3XDEM3u+l9KF+3CwK+xEO6xS076B0huVFmpqY8+M4p9n+h7Efy4oDH15pA/N8JLZa513rYSKI20lYJhtm497EMsYnVjrxrvL9/E/llUhJC0fu0B8jLguR7Qztuh5dL3gb9z1aDba1KtF8D0sAweB4awV+DH8z46+j2BXx2xDIUbMIb5XnUwT8JkWxpvAz5lj+PtmLHKbPOXWet1RzrmyVwILcy6R6M9nUaV4N8QQEC3/zbzOks649I4IxeAssjLSYQU4dAZYm/Q7jx4UuUlspPSZ0yvTuP5MCDwY6G3sSulz5uN8YdaVZXmvnmD5kJTgLW2en2sli7CfIicUR2vU8pZ4ff8el+nrl3b3oyYcOy4FiCmSjkyv7GG5oN5Bp1Q5SZWWBIyT60cS8fSsRGRaTIIrggY4POM3f54tgbEeGIvsJIvMJIJCqnM8Hyv/M8rZUDiaHZUzCtuok6JW40RzLkIIG7oYUiruvvNMxjMDZ9Uz/QdX0i7l9ADG3yPgtWrN6/0y4L2xRhsCXmkXXJC/yXYBWCKPjiyUX2Pz/sZF6KOP4M43velvNkjEU31WrjudTaJoCZRkxexlTZ/wxGvuP2zoX5ry8V475gXMnOOgBH/xtQ4pQwBTwp5ljrtGxHThgKDb6MZmVwfHDixl1bQNLe+5R0MD38NrMFzTk0im8MA577f45YsPeADy1siomIoVkaHRJv1+Eve9JEZNqehZ4bHQYuPNtdnVUllOxbFKarUGHCVyFIBFbTGzrvrRAEnqCcOzz9QWSN/xKHG3wyY2llQQjq3uRDzYAhwP+ivw2M2ulPwFPTKGNg7JKc/NUF/CW27wWppdowTzNUbCkVsaqWUpiUm7q1KjcaM/QEDsHty5XZjZF8gtaWG42RIZmF4pYrIjSrh+UuNBIaHAu3VoRY56lnTkkYOkMiUiULx2YW5oFrPW1Sn4hUm2qr9WytHeDTaBaZY+jT2WQJFtKfxd/d01KW4yFr81KrKJkEj8mypT59v+zcoj3a/+2CxA0J76B6uZ4hV0Kpp+T1m2Xna76WYC39As+88ngpfJTSqFVtzQY8KJJ2DWItw4A3h57xayUHnh8vqOSUjCVjkp95rHHJ9rILdff47OwXXUl2dgHtoOE3nLwxAc9mAv7Y+tQ1DP2BTZBWyLSsjEwrBjymBYEOyiYI7nUj/HrvxxA9w4dH+nLldhtkcluLn3yNpslo/MH9UY3l/umOqKWG8GpyJ9RHJN9JFJaZ0/tl+VU2t6zGWweYEPsUH8yu0I7eBIsM2dlpKGGaYqLltjUPN5+Wi1Er+B0fbUTXwlOtzSfOkBz3AE4vEm590dZaq9XXejLLtWxLr0ZFpKWxKPvXpvMUph17K+1aQoqdFk/IghbZ2muHb2brXuLK2ww1SzTBoXlxGlFXReTY6SXPsRkcXJRK4C+HULEKM+aJlvVvnCP+6iH5HTNeeo0FvWu61u9vAkx4WMI3/9haS7lIxDnDd4XLHAgN6Vd7bESkt3E0NCoiKlLbsC4dCwxVlNXHWRRiT3A33lZw0Pd8zlL7mlvfERjYuwweAZMlYkHDkd5oLxThvKLrLq7gt8he9BE+2J5JC14jWHqoFoSIvi/jfzU3s5GS3ENb6EyXfoPnuUL3gFjzLsfi6atAeGYvR8yvN+Fz5Dla1r3HI1qwJcjlnZItrneQqASNDRLPsn6J/ztuGQJKULAo31DuIaPckaKcr7xfkFJPfZZUE5FsUrol2sxpxAieAwn9Idp7BPumA9xREUFxb0JEtCkxGxf0ykIqUY/mqjijguOIzfbuMCQlYZDJpxp55ps9+wwdri4PHsaQbPV0n0aQqoapzKUrw5Uqx3E4fEev1lrodL45Mp6NGTIylnkx8+G1vb2g2R2bme87dQkxI0orPdzUDwXHIZ0d958s281Kz8zaXtD1ptYSeAr/k3lwFVztl0ewAtXBaxPQ+zX4APYtodRqUYWZy+htC1HVvmWl51lKbM8+IUgb855Z95mbpo0ufYEVL5vGhtBcl4FnCslzrA2gOOZb11dLNFSJV/a7U4b8E8aMjFIITpgrLH30svOd/wycQZdHSYjLQDWwjfzhuUdk/VL0lffK8FJVgj/xmDFwYOo6oBfHEoQsbmSmC0J9M/KqdeQYSGeNtsCyX4fAzMQlI7Dkw1I6mZ83cgxF52XsPuoQ6qAeBusIurf89Z3gclMQAdef1hpuRF0qPP4U8KFVnM0UuQ7oKtPyWt7QSCA+oPempgWsrtKWNGjrb2BGu7VIgo8A+XvcRYibNngkLoUF6dKRVBERlwsU+q5Q3ABD02hHznlcwoW9fSu+lxD9xsWXerq3QbeDLhTbuttFmHnPzKFHRfTC3lYQ5lbeU4ZgYC8dyn27O7C0oevmfSjB2FKH44LmMvgI4WXagZJGNHZAbso9VjQ76I4PiaVWzKxj/ODyPiTXCJZKdhkEBoNR/FPM3yfhIzhWMsIE1vs+wCCpnS7xHCq+jDzaf9DMHMlC6wghh5Ad1bi6KyOfJYs8dC+5ZOxw0JPhZKH4kIBXW5r2Evl70gLay6+WZngDJAfpN5H8tATPeUUIWKO2Zjggs5Td17DdKZiAxlLyNu+TiSGQpz0fn7kFRMCNF3uJIR7RyuF/06E5ArQIKM6uqeZH3m8p3FyHmQlSGVTU4DF4Pl7Hx5+IiEoUTSnlkOLHWIQAIeXqFOGH/hD8mEjM1RCggbrWfokQN2Lqh1YQlSKPRzmOo9ZKlWptSn1dJnGzo4uQamRFeNOnMhGViBACGi9FisL4nowSziu6iJz8xSWVnQLsNCO8B52Y1hcHp+D2QLOKAH2h02Y0ime159kyZJoXz+KaEpFDYSSztUbaz/DgsT3hPE9hFZHjOGqbsgF/CD1Xl87v379teWCD7V3BSbnmMfOf57WEnJlJnXxFlXB6q3cXaOj0qlfkcUtEuPV2DedSysGP8/xjU+GNq3AhIVVu2nt+tskiIK+jE+asw50NPgDrO2BduLao0I4hCRrieC69AKWe/VKRaPSws6NEHRORx+Ph+Hg3F8l0lFBkNHkNl85UdBOQxvLM9TCPP7vfqWPpA7LUScCFz9ZiqzV4KCveg8dfrUU/aMoXeyLmNDqRTthM/qTMgUuX0Sa2XJwEJqvq8ShE5Key8fDIpZQwUdjNlqbznwgmAmzpCbZr7GNmbdMpdE5L12fr5c/JE8/ZlakuKu34VQJM+7O1RmTdXfWPaD5rCvkT/PPFLo3nXQUq0C6CUNAFub/iTSanEDUch5r2ZKGa+TADwgzAsx0Zz21tTTYKO9IPW0f4qKLYnD2bFrny24ceCKzUWs2xux/geekP7kwiIt/jFPxPEMElvvXa+ovDPAacvLnOYQBIxOLeT8TWFQ23IESkpLaOSZVspMUdhQ6LEJFfv36dZ19PRdeOy7NW0+cep3y9KQ5Y+iIqVANV1VHfKtShA26whmfgsEvQlnAZZJxYdKfnUrNA/F//t7/8jauThSdfUO8W1Fp7gAFiE+b5De3W2r/+9S/bqnzQykl1oKPH2Fq73Naw5Kzc/5HiNvkmGrmaquLZAehifrAoJKw00k5VZRbk/0uWopNCo91NfyzJCc6dIfN4s1wQlGOnUFlJ7Xws5sa2bZCLVZ0qbnKCJdpmitkhuo8Lnj2AelNPdkAIFH73IUOoyCQE4b6vsd8s70hW0+IGfx+q+fNSXoFFSz68WYI9hvi3q+Zei+a+or/5AkpLY/E/abadzDFNoxpo7Bm3Zbvvl6C990r7JrRc3Az9z6/B+UKJ/If3NGvLDQR8fukhKakZJQ6ERoOL/kLZffgpHy8kp7UEVx6fm1HVa6sIE3PkGF2zh1tNCDJy9fZck7Uj0BO5NDLicHUuiMw0dNKb6+8xWHh26FESO5Y0Kw/i4BOOOw/gxTvVOvo51kqcIrQMyvmIDOrs0GtJrCP05nKoZeFbD/XO5zwHxZ0v9jJ7XSJaTOR9mnC8LK01weETmg4Q/wgORmgnOS9sWkZHb4xhclbHQrF3EGBIbsCPFPtPqWnvsHuXha2fpKqtEXM8gckecPApF930AXgcyxv6hZT0avnmhq7AjZeBCivgqiYH9U4Quq+ziO6vSrCsYCxYlgmWfbYEiyNYSP7u4Qt2vXxue2YipYGuUM0Rw5+WGGLNpZNZQjDjukLCCkmGjD+Tg78G0l4qSaDUyhdc9L2mvbSIN+F8hExgC42FyTgxlI03oO3VnDkUZTe1FT5ErQ7ONlD6vtS+X3YWIexxoZ/kzsxEkxuZaJ/XVLEw812/NNCYZR3E4WvGbQVSPy+UGt4c4HX8c/dOqNIEQ3TXOqo5pXM4NqKJQ4mjW24DwDZ0Z6N9OlCl1tRGBg0LJ8sdAuohjekUhpTu0FVGdqMQrjpI/zcVKKjpfZ30/ge6R0v8g5F8vwl76JnQrNaIwz0zs6PUBGrGPy61WbayVAMsqLvMTJcPIrpNT4VF5CDhVklEiaaphOCYMhVIo0KGijXH0PR0GOASDs2WH9wr+tawUvIGYMA51NE5xfEHXDowo7SGv1fRtzrrOzN3puUEq/M2ZQD+a1CkzCVPNDNbLmhvIB+apllhAiahDiZYiMxS21UVdTm48mUTxjXfewgcYGdvkcK83T+fMUHC7UavGUn71+p4POiaozDll6G9X5aR0ml0MvHPj+B8uTDkWNn1hZfLzwMVNKsQzX4gf0uzYuQSlHPp4hzaPq6t3+cOxsB8UKGEtFx+ZhVVdPQDooFPlG5UdP5E4UTDQHv40IqMkSRvTkcsQd4qTMPZm5B+RchzBixjAtS5gZBVlagiP4M6uaNYWgGSHzytldbadopQV4OHJr9/ruS1XG+WrzkR+NYl+s/2M+ZGie7D47dLa43mNTqBPAgYQ4dejdNgCu8vvQCgnt7ZSh9lEuGmthNlkQjOTVx1dr4yO0qeDyjH95R0e0XXizEJN7Y9ZyZ3Hxz90spWKL2IVRhIdjV3Xy1bdOfoMCfIwEb8FYMNAX/m72IU/H65IWdgOHEeE2UdC+MoCVQvRBdTdf555o/Od4O21miODevgtO/SBMbee4igbzc1v1ZCXKHBzzBe/rLpDOdrmARVJGAj8lNXvZF3ytIPJImsPxz6r/nDTP435aWpq4mYYBOAwxqOqz5iiM4KhzDYJwdHgqVUlWrTU1WZ2I9tK1LIRoO4ETdmZlEWpTE72cDuKDGcfTV661Nv9pOPDPn6LQLmM7PAmVUyDmdnOHcQGcXMtuYyywKNHZ2Yaxr+ROPuWldFm1vsCRYFDXAnMr5nZp9E4zEje62e+/YYzzsQdnVai4vrHb17OLb4abyZYieyO4wAefnUPHiM+ujc47ezowJM3Z80HeIcAck0m3SXnVzePDOBZluiPZ8dfw4JUII5jNVo9J9EqQWA7AszVyEtuKdLFSGdQnXHysiQ/OuSn4EuTpnWS21Hg7c3GF8DwDcj07KVmz8zadnLB4SzB8E6YaRt5X+Z5mOWgtdD/7gg5z1KvelAoLfjK1hpFoFCh96V7eU9OVl/dgmoWq/9ItyVh2goQJGrx4+QdTNFOJvqghW00WT7//A+w3+n5Bapx8V4q9XX4HyKUjDAy7+lUEevjBQfUI2XfiAADNaEKHEfVmkOMHjjgMm9P9kxdo9bfDOYs7B6fBk4ie/b0OfIAUiwZL7azwnHGIdLoNS50ZR8sdSEzJWmtNaqXktisplkufh7ThOCtLIdpYV+EuQPCtutGI5gCPX9lmj703K78zyPpa53TulilkSSunA6fOKj8jJu3Rc0KgR1k2AN+aFsJrf4TxR3/UNdekw662IK48ZtSbqFnpJ6uRpl77Zks5vcvRQm13NBHlPXKmM6Q/I8hTcULHBHqdPltMxeY5JyGPgN0XH5k06yWORAuLwx4LAs7hEQ8+wNsfXQ4n3RORgD/ncoZdoxIKEjC64H/WOIE+h6sLIVgaPSZWybfYfAjLwDd9+NfAj13QMKz8tX6cIfBboUpapmdmYEKGnOhPPgWWtN30hB3tEBNISXNQOS73x1UwKQsLPvfcg/gkwuQbjBb9ygEZ6dovB5DuH2YLsF/UPyfeUUVxf8LL03pWOSWhsIoAopz5sfl5/Y/2pd90mcah8x4vnGJ6xG7qW5pyx2aQ5i7rjY+74DUa8RU4waLin0TrYLMog43JkRqGa51BJtx9Zs8egf6ryANfF2+ty2kTLzeZ7blcVGKIHKDl4QYok91/9IUUCSVnluKJw6KDwSrCXwn6LMELvmksfQzqeuEHNZl3rYExHazTB3LNLVvHCCtvvFNENUK2NCQNMc5VUbDG9p5BjjKcVFntPoGw7QG24uV9iZ0412odlnhG/KrAM/b0o7NO5jduA/fnLzVf78SyhPGUxodEkO1p+anpekTL41Zf9LKjTlqRkf4et4VQTqzTFPxwq+o5AO46bazYdBuN900UhysNaXmrCE87WSrZJTnre03Hsc0Kvs1CA8LN0RUe94RiX8vHyZUYGWSVcZLCg1NywdBE12S6+q6m7Q1w9E0NGnco+RMgdmvraTOQPxrap6ImgLxht1iwu96DCB5mrZmLC76APPv3798mrTxpdNwtTgqqugYLkygcQNJZuXLKXw/+f/9f9AU/Rvns8nCuylouwU4lNHvOvvauqCB+ABjq/lCjXL41DVVi8nO98XBBNzfnjm3GclsGFff8cjeW/6hyDWYp5eEMNxdpTyml7skE0P0ncrjKPS++sxB1xC/aeeUM2pE1+AbHAuuuTRqad+ABI1VW0iwp2uSmQnrpkvqUTU2llrrc/n8/mnPs/anoWpEEuhwsKsZVjvOdZS03xYi8+pB5lKYT/FRFWZZNhwARF0kkopuBsFiwsxPBTuPRVvZVkfBbd0H/jhsseT3Q2K22nf6Zv/6odX+Y4VAvXG5pb4ENw2j+5mZ+ClHMFjOmL+PmyWRlBIF/7kjLUpfvCePvKEuxSv+1n9XLogXxrneCE0U9clPx+Ph7907VJVlopgHf+///7bldZFoKqWN+noLzEVFWZmkcOA2hePx6P8ehzHoVRczezi5FprbU9Y1TQlf0LXyVtZ0K631F2ZmMfJu66W6rGUeCih3bB0QceIZlDsC7hMa2Vo6K3xP9TnfWIU3sMQfuWknDf6rHSgTnI63z/Qy/xnSdefP394rKH2g79ba3ZyktNrqsLMVj+wXVWZHjxPZrVxyhSt/I8cOOfeL2ZhZlgpc83HEVGVc8Bkf89UoJd+DbqUUk6t9sYAjtN2zBaqUlVtrZ21PVtrqlVatfOiWmtiC+2FmLnwmC3t51r1O/6YHtkVu+hRdd02UbLdlAbPKfkxgqPk7egEHGDLevK7TOdWOrEVzv9D3WN9BidmxbhnjZZSfv/+zT6Cxavws9TO/2AJ+s2wggGr7UyLU9yKiv6NHt7OW+mrAaGXBZWPZuUICIyXSrd+KkBWVYI7mFWVPmSFCyIV6gdgcf83oBoc65tthQM10GW9Ceod5txUW6L9BeXJeouWjA8MPVGsNpk9X0IMP0UfoZ8h7/zNSj7cbuTSDo3cXNBqNNIi2FW4Ptlh62QG6naiDmjvCAntBm97NX0ZQsTHTNL/rK0+n8/n88nMj8dhUwm7BZc/Xr7v9PJXnHoRu6bR9vHhTZMM0OifjFMvUfqp8BEI2fl51+rZ/HHpmGhyKbOzjeM9yVI0txgo5TSD4WuwLuSvhqbWrZhduzmEdbTZs3m7ViFPQSImgS5mbnAY6Y6oTDLNywmwwlGu4RgnwZuzXXo21GCcmWpniP90wdZfOnpa8SWEogwqWzXFpbvfJCKWZVyhoPGvvAP6rIm0VHO2xtSBuz5YXI2ijWmeg7gQe89jjIa6eomIihAXIRVikSvN8obRANxs3uHDoA/b7Qncm0obgsHShd3nDe8Y6o4QBIuelPYJVoBAMFxk9Z11wZ8iKFyxJ1xo+CmFbW47QhgKkoxsZEiys5d3tJcQQqDSsbVGFjd13UkZh/2D/w0EZi+R5YI1EWBwkqrXGlngv4nGIwdkV7Welf7++++///6bmVV/2xCI0NHUz4yeTHjnTD4tGVpgwvtl99U7RhF0KeOzcwXLRr+A/MuyNKJdmTRh/jxUeBnRX7blEgRfAbr6CuGAAHizK3VrrSkrTQvb12HXvxUuIs0Si8EKhy9EPrDWEyP0V2izGXP3tD4KCO1GK3ba/RgqY5ENK9Zab85ZRAkGJid6yeb+sI43LeO0IL+Kh5mP7FwC6H+oZJm9qWHI2aC+mnKsYCoYCYBNX3E0S8vJ9jY9L0l+1axTunSRA7CfAhV35NnFCXN1XBSFnIlC6X8y3Wdb/m2fOimFWitMosSs8znAMcXZuVokf0KGLtmBQ78q7OQYuMerrGIXIdBA+BuDDTsvTLPRBYNHPLN2IfJo7WjLOt91GvIGlEImH5eXIg8VMioE2FYHE6CxBHvB5NuNMVnW624Y+jukYhl10CEkr3LxGeHY7DP61l5/s2sPpekiICIdd1VZuLnapULs8z5wotv38qpMOOL5BQhLEaBYw4NCBWf1zr7eKenbT7B/BTbHi5v6IVzmYJQ/CcoGVET3vrR0Zp5PN7iwFdkMwQ7f2HvNC0uf+3hw17D9mrFlNqvtbr+UR2skUlu12WqR4huoGw222BqKPKGcLRSRtAo+zee/5q02oXhO5hOFQfm7VY7z6sAqI0qOAxHNaykvOD605lf6MPPhaV2Q6/92RVNqZYXn1OqfaJrnkIYoaVrxSnOO/CZ8mnVufLv1VnPYW2dXRORnllg7Gck3i+slWdeBbcGWCjOx3Y3l/FkQfS+aHGsRt2sl2ZyH3VCxc39YIaO0q/81pZpWWd6mAvclx8tsyBgACDwCAgkRZfmvVwtvAhzaj74ETR5/TuQEwY2HKNOPtDR88hJCFg3BBET3y75U1Lp5V4Ib4WCLqlrK8Xj0ZTe/fv0q5bAe77yIWPw83pYOMflyQTVzZfgC8KwqwfpoZmwQK26Y/yYtRKQqw3fZvzr+/QrTFvHicpLYCjEVIiUlbdw8g1EZ6nCVXfYQ7D1kHl/gz5DF9XlwlUuwrg8dn6uzanq7SKY9V5Nx5mcppdZDuY4VgULsl41WXJDe6jO4Ds9dsjZaNYE7QL3YEBEqXjZtR6+N0+/sV1zUW6cbey5GZRxGC/GwIWvO78N1yzKqj2Um+AVf/2lZuuD7TzR1DYkmbx74mx+sYYr5zRQn3iwIPGMVqqHq6OiY3pdlNMrww6/5wz0BwmyIxTMDc6i4gZbzG2b2Q+iY+7bhwXDFIYobivY0LiL6O6hmSfWaak7E4AiRDy0YatstFx8hnyuHhIPn3AUVxsPSMi0L/PeHsFqfwJFNa96JaBzw663fqBCvUrEALeCTkzmGGE/z+SC5I25ePofwjFh4k5sOvwb+Z4+Ev8o4HiUM0SnsuhrveWRcExt7gsXHr4c8DpVCw+l7taIwpeKO4iXt75RMZuDPm2WZkwXpT6qbJg1oJYuPcAgG8iNlFy/uUQvWt/w1W9MUsCAfolv2umuFOpeO8SpkZ83xavNGkKta08aTqizijqPhCNsNx+15qp7dTfkt1o3M5fem+ykMyBmPRJNaum9Hj6Fjow+uhefVvfX2FewdWVh3lqOrlt/n7awY6dr1ydiqIr6/od/8M66v7udgLd3QF2zvC8Xl/bK5G+3RlGMF4Fn52nRUyYtTB+8LQ+Rext2LwDTTp/tV8MH7A7T7HGudlhFRGLvC+lg5g16abqYOrdROO4EKfmhta0pLLt3An8lZep9ptEDnRGpJSK7AEAluaEd1RUJerlMOnywD0rKgkQfJ8jihOBtRcO7uI+xcGf91d8yKv0T+RyebnDtvIh825ysVQsqIqm6OGFqJHacsF4Tm2ogeMzAkN73EWSE5CH1Rhh5/+DBIKsCHZRx9p1IpfSaBR46VbWTH2/cLiiwA/04Jstg4H8o8WVrWy7bw4WeD1E28uKnspQd7WSCG3mkHEPVz9yb96bq5VuDsZBwx91e4QJPZ7iLEhHjNiuvX1rfplVJEhEhae6qq8HE1rpeT8WMdcOsrjw4MojrqXzvNfX+lzjdPBLr60NTYTu4fBvzz1kJ0aOjPGYpv3lclbayNrbv6OH4/n09tyiLC0oi0cau0GMF6R73+/QV9Ja0i3FLJMi0MuTCN8PwFtxUCf+bYN3kYXOHlE1sEm61ofpkC/3X8BGFqYusQu5tAOLfbfHJQD78yDltd/ft1YrprIsygO26DSy+Sp+xr7jUnvNklVfnlRyU4Rwx7nBICrIz/LrG6AUJpkZPF+9DQkg/YRPhp5+WxQqC6OywNn48EaH9j1k6+iAOkRzdIbUs0gZnAnOHd+J/r25kDFmJ0bF9vrfXejQptjm75kcLfTtTy5y8t6Kb14Nhftrt0dz9VbhzdDVb5kxsPg3qFDhDdF+8v53ar59HxQONd53zJNHQ+BuJboUqFtN9PM3BjWwrMzETXnCNTYZLjOGA5/NSHCWyxP8PU/D3CTqmPxxOc3pI8jxKRwFAc8gpnVFF8mLepqp2Gqqr/9V//Zb/iXCQRHAqCSGd3ieLf0YY1s8d3JQjvQ/3dSABOURu2RpjTE+AHBQ1ohxVzy/oyewHEkzdpgYmGJqvTJUP4wupOVwICuUXtqXrc6X2xXXjCnPzKpIsVfs6QITaex1eqy5myXg1YISK2earWytpUiUUFBtWY5TyvlcK228L+bOngOHup01bkiyfH8fBLpnwVy3Ecdg4NQxckGLNja6BqJWHpQwhaa61KREr11E4lFT8ygIi0Pf1znHHLDjF7N9TbsCTCaecxuIJGHt54o6pqyygRB28X8XQ0Ck8AHdWwywbQvjAPIggrQ12d0KP5twjfjrF5Pp+BFa3Zapbpbg1mtvkypAv/RGRcr5yfrdUgL6+gsI9Jx7yAbQF0frZx2JjhbytYrYwue6do8Ks0vmJq68CaiBQxjS120e1AhpmVrys47MNC4xjtvMrwMr2x8sOFWGstZUrBXfS+u8oh+E/ZqwRNwBYbnOQeVD30gvpQJcVqdJvk+QnalDZYuNAxOWAuQwP7JFGtdlbTYsTCm/biCvDXX3+FYZVOrBwzfxyZCrGfbL+CyHQOIkoBE4UJFk3OAZWTYcT3QlUU9cElWy5eTYGgXQOiV4RVyCqQyY6zjjuRHAERae1s6nZt9fuuPdP84/h1HHbsFj+fz8fj8Xg8hLoNHsfxeDxIizArs3I/yOfaJMiXdMDKtMFRC660IQFyIJYAmReyw1BEelYXFKm7r6aPx+P3799E9Hw+OzPHxYK4MKAzJ13bar/+/fffrn5E9Hg8TJTbvYv/00q2xqV9fgd+cDQ7F/B+0f0M4LufQ7bxA6VnO0T+f8yLIa7Py42bNtv2ZDOzFJWV557fBhrRcMS2XtgcrG6yHPwXHdwVBeHEzncY/jImLREOf6Jw3bUhnsiojBUyDekKzLxpCyFnhwUR9C27CLLLpc0XlnnNAEo9sVaGahpKqL9reilxZC/+lCEgA/GlM42ZbaHhxbExIJfVGEVDfdmf3TGFHJgZq0Kr4yp2tDtiWc3ugSzJvPlqBwq/etn0siB7XypVaF1Tf8Zh7vDxN8uJpJeo3vA5sOIl5kFRc4X3EftycQXWkZChpQSz5ZHpwKOIHCKViA4px1GO4xDi1qS16vlHYLWqtta8AxYk/nw+dT5oxttClLDH6JqzizUM6bvwdRKpTxoy7IZWmNAkIlFWZUBfuM+Aiar9ayeBExG3RiE9v/D4lqDeLiiwl43+cLaxgv8jsJc+y6X9Nfy/bGP9KxWmK60C/YMbZvrU4Xqwatf6EEonMEQaVe12OtdHinaQ+/uNiz7P07omInIcNhZVMcFC4DqXQJePo/hkzW58/p4VN1RgaA9uNADMjswedqTlhUe0YukFcB5mQIdFQV27o1lkV5pSNJpZnX/yX1s/2TmOGQ9fNjRTxQdL/MOlHAOxwavuama0x79KK1fjwgrFwov/4ICNb6bB2i9f68VHepiL3YsQbmUgihQtGU6gPPhrYMjSHflDm1ajfr0/qHNCv4P20naWI/H6ao2jpoyZZiEumYYFx4Bx8HvHkXs+76wjo+3npWXXFEgLTfMYXf6O1BzgMh2h2XLHs4owOI7CbHMgzVZitfYgepZS+pDtCAR9Su18Yb+hufP59Ao42IZruZCBlqghLfae52zYR7y49qFoHbNh6HOI3Gp9BIvwmCt3njpnov58BCb+iMDeKVnh7tsNLHvnk4/K0uqycr8syEl8IyKE7H3laHTVe1NVPNkwt0t5wlGDY4pjVwOfMYPuv7oZf3KM52WrjJdb+/eaL+NEaQZHqfMaGqS+jfPcTJ/ReIItuZ1kL0ZEAjtsLV1TGAkLfpkGJW6EE8mrEozrpgScg49GIAgKEyy6NQ0dWbXAdZaIv6bkaen7sHAaqtkh4FKgeTQLK7TW1A+lm06cV716sdMVWI5DaNf/zKLMtkkrfVvir9AzvhR9JFhYv9M4FMYwxMmFUcaJDNNg1ZVjLf1SeAmMmt68Y7aBjUva3y/BYaoqbdi+a2Lnh3ct2nEJqqqNey9PFY+GGU6tD8eyTJ0ED3kKW0QtCR54yuxUefxH1OdzTaD9/TJOufLkOKtQlvwMDzt92PHnZQl+Bg/OJTIvHjtOXn/ORfpMooioHuaf5RTh3qfq/Vg+wucGocFacIUpQiQ8u9kZgenNklfoWnuORdNcOYomiLL/qvFKLp5X6NNwZQbwwLf+8B2B/aPlzVj1tcLMFK4c/16XTqED5GJ/H3lddcu+gAaqi7v7ZXblqPrDm033Joi6janYHXOq1xKu7ozmm0Mwbr1JCPpEu+HLaHGPqXNnIsS2EJlao9Z6Kihin/Q5R2NXMLaAwzvMCfhn6w3V0KM5RQppYsYklOBlcrv4a95AMMOMAXJJO+K8xNBf+irRUWH6sI2rHnU6Yh61JSZMuzGYgDBitfvpBk5oJdCYWZErj+AdR6R8WmFe3u6/RrVfag5IeYFDUHtKkloS/mkJBrg06vft/ZvF4e88WMAQw7mLTCFBXMLPXOW0ZSrXgcovsiVk19KsdvrwZnFvMHuJkYy+B/nSJb2mC7WNsWqWpteKxvL4HVq0cp7XeW+qpMqtkSrj2k0kHO+cpbE5MdPlGHLqhpnr80uB/X2YbYzuem4lLGQMjreUMk0Ronr90waQ3fR9i5PSv/fJR2Wp61/gw9KcArE707qBhnHXf1vVTCSQ0nXqCRP1iz9BYwR14rpJ6nZfHhbuGxKZk+VYzHRcsT8UIAQ9xuA60ThOeTDVHWbWO0+BG7oqNOu5wgiQreui2d4QSed6MKQbNxdYlykNwT4gkPEPg08BTwR+8zI4Vgd1r5PBVzgQhRTE42vgibshl9pwT/2nsALG4dhf3rovVs2IZREEf4rM5zlzvciZ+ekQ8jHu/XlOgLqOAtWUVnmrKlExZx4Zvl90daNgNCnDwi286cRu1PhlCa4y/0mrPG8JZ4nYrj5DXHDFu2+CN64+PHzEisDnJe25ss6jaPgt4jPXQfS+Ff5QRq5FIoJGQ7OCIduM4QJ2xETCh0htrRGPOwdJhQ8qPXcxOLDlcHJrKD6ZDwgNPEFZ+wydcwldE75EijpA8KgKI2dhj9TFkX4UVs/qgJBmYwt9K8I4HHWaIvz3F3TTn371ZV/wUStf/jY8G7rv83nZ+vfEtKJlzq4W3/BbU4QIBFQZ49BocJMi79RAVwHDmYPGs1RjDKIIgcBzeaN4qcL7MemeOY4n+ilH+B6CE+u5i4/DLdmVHWL4iRKfHRmZt0ODD9qSNld7EUGdZJ8vkH52zsUNVXUtbZsrdzJR2Cj+GhiFHjbk4jc4e4Vaq+/nmr7iOacaf/RrcCAKKjSXrBtvbYs4aArDO51xmYcKGGZ2L0MEulmGeFOyvJbnhN1AaPNu4jejAzqEGxapqvAVjJc2+Ga7y1ZUVWY0XFtor2lLK6bEKGwx68M9f3LJTniIv+uAnbRA0x5w5r6nuLki43oDESaipkVVz9pHrczAhQ8uVUTgjK3LuHzQyN/biJSIqD4DmUu2+Pul+ILDxKZ1Xtvq3smTJzdYGvrjAcIPtPMZQyv2rd3j/r/NFOGOuffm+mkTsT/5DeALPUAf9x/KaHclxy16j71o6gwv7eHSzvHGeyq59aD9PGc/XrIr9KMxQs8DvduuWBPmJnzTe76ZYUf7+9VysEcENCUrSAXSgnFRoaeBwGl14YM/YIsBJYRv72uNS9F3ZPq3S7Ygdb6IwTx4Xr+cjH3RXcFGdyiFpulWZEEQOXaadqEsAjNpdNmJiMcl50QRTm73Hv93CmrUpx8SKECITB+VIPr8J4aYGyA0mB9OENjhj/Eyy/rmQ6zPc451/+3LcoNwiLOcEqbc9D8akYPEeWjswGTSCp5PjVJVKQfRaWmxKNHIM0zaqpXHS4Pj59s5yWFTUeDA8/x7heGkt4hSXvCwJJZ9e9Pou1oFH8GiOUtG6TgQGWcmh5fmKKwcFksMBK5T2cWYN3s2wI5pqM03JYms4aPrRMoHR3ws0c54ZV/E3UfoLzjHEo4xyhFj5rGCh2yrHfcD+4fADlLq/wGWV28RtUFV9ZzD/7gxoNY63fw3Pq96nSujUHz2dvxrreqDjC5W6v0Iw9/WdjCJXkMCTESlKRNxU5XGzMIiwspDjmwLQo1wJuoHZamqNiFq2imXUsRO9SH71o8OtWNV7NxeZlLmoqRNjkejJ9HBdI5eXWuqZYg32ElrfSeV/duXapE2xdedCURk598QaT3Jtrszs/BRn/8XuAMiVTv5qbY6umOzwpVG1GpTVWVRJmpa61Ovk43MkIilazL0ftSGYY7jYFsNhkPfY86LhzqZxRrtFwcIFjmpahEWHlcNDcMWu+R1LOmzVnr/aSzz004CS+nnvriaoU3VU0p5SOmbJVttpMJUGk2JqeMvRX17JsNmwzCEzmMM7Pn3n1JKOYqwGEpCXEo/h0aIhbiwqLZ21nbWv/76ixrZETiFi7m886xzD+Q6w6merNSXahkfxE+ea2q7wUspLFKVznoqNeNVkVKkqGqrrdZ6HAcpCXXjcNf3119/MTET21grjcUgB4uqtmdTpb6Wl0VIyoPcWRhKpjf93FBVImX7vTbVs/31/1N5kP5iegzqhIiUj6ZK1ESZijBr09qacvMUzcYV+kBYOF1FqV/J1+ofmtfqdRUCzfR/iYjZ00Eaemf/TgdQe30RW/Stranf50NEIjYZcp20R0qtEtGJcOzR4btudu/dTwBnh2AGMO6w50EjDcPhs54MBxcRTFVP/Bl/1mqpg5iN6rXzg0XQ3/YYIcTu6uyN8ck2ZJAK99uMegutThxjFiYSYeHSfcDYpmrlWc9xa0GXxzWUNN0QNVxC+8W9BwXSbEqXcMNcm3S+xd1ORP0C5h7yugKUv4hoPr+s9bFaZmGxpVGkwtSKPGqtl66Zi6MiYyGaSCnlMFdq+2hHGtB8qNJOxfOkxOLgeZ5284wU9aXkHiWJ6DgOHQNOfvZVKcVYPJyDMMtwXxe7bLmd+ZNHOVprvpezNa1Na22FuGnrUUCKsPQ1eiNtUdKmlamfgFb/nH/qs1BTUhV6trOerWAU13/LwBW/N+Z0X0f3wxtfLuYlIS+MPTmGTsYNHAxmNDmy16hinfy5jt1VP1tG1H+jWnrJfC0YMQ+DER1ZEdjCc7/tFXpTy0EQIlMPBj98TVXqyCJkRJV88iK14tUynhn/IGKv43BwQUAmJOunalQtZD6KI5NJK7Vcon2D/K7cy2KHSTaBgBLStYSM345QenUgcys7tJd18ssdAlAzWsGbmulw8MMdhKy3AciSsZ8i8/2yNFX/yX9Fz3CPIVpE4FWo9k1KP3XgoSiUN5vLfHiJw42Fzpz5YtwMUelNNDx7RupRcAqn5PhL7n22uuRbWIqaXWjY2QcIYOyQsLkBh6iXyQBKhKHYiYyhuVrrdVUOfnPPvq8VjIv3ElqaVuDy5THpWzcJTo3OkSzw903DQLk235+2HxEMDPfnPJXWla/u7xD5vISg+37IpCFHl4l/amramBUyMPVe/grUO74DG/XKMk4ldjspsoDzvkrnwN/mo6tlnvHh27QbNWcX4Sgq/ORK0JgRbE41aDZ4nF5BVDnh73Jc6qHu1zsuLQIrZ1eVn9EnhG+X3EPareCW6Qzf8++wszr4k0zgzt6DHJch02MYw6oD9lmJ6avJydDqEKwlGksMdxLJdYDt11o3F8GNr1sq501BIYYoyKu+jaYpV7r1D8EKsv2+H3feIWFH9UsP02AzjcO5/2qJcCAzGM7CsfhlaPf4vSouuOA9KC4Iu1yQx2gC5febf3eOiwZnzIOd9VqEjumXd5YQwwY3QyCSONyOvSwR0TbtRkRbCBxAbBFtuU66b7gDUS3BCi7mpaJ8WoKXvIlGVrIe32v2T5UrAwBbZWY7UNrqBLVewsmK7m5l1n3/YAGBxwUILq0fl47OaVHwa8v63IO/sWg4CJTOKgpijPHAM+EwPnmJsxmwf9s1uxQPWq21Iq978JGuFeF7b7hIu19GHVSYZVy8Ao8uJjgcirdLzPifC4KZSdiOFyZQmw5Qidp60Ci0CIHqeuN+M1Pnz7hFQIdB5foAP0bQgFX43BPHwLqcUNJIsHBRhTUn40bYbNr5zfJPr4w9aVUlmABaQoZtSsuMljkNUgdWKIQ0yqqiPLI0BQBdcGaAsxnWAOF9F/1e1LbYpvif6YVqsOgL/r29hILeBiEgLS+JelkC87G883kYyLj8xqpDiDh7/eGmIj4ZydBE1u0bnMdPWOFycTuP3W2WmKgPArmJ+e06w06Z58u7HAKSbH+KiC25cffuc4gNDuxFxHBy3H6VdAqos8XCR1A2HyIJBOYwkbUOe3E2NXksYd3L4AuFP+xGZFVAPJGtP50QekODp+nEv+9Y6U2LOud2P9vEq9a/PtkqItwuGaG8+p+xx/NFPHPEsmc4VPibqdv07OesJFWMAvKYTasxmxy9sEJgF+3v0AyKAaqCW4UNk+ILH6E+efgPOFsJSzWz4/aCrjbz1sf5s0cO5V4uOwYiMuguFU5nRvScKFfIpasNIfkdhPvnMNI8Q1CoONnFnNuFfN2fP7OTK6jMZhjsYqrZW3QduBAgIrjSbiKntXovuCViCmXAuUYgAsDAzDdDxrJ8Gndu4NBMS2bCeCMzx3revPxEVfmqT6O+/+cpqVXuv6NMg7Y7pZf1MbR1Vf7Y2yPtAxrRzGEea5PdCdi2oetwu7kjlDUTi1UIaz3dTeHAWLAvfxniKc/F3hxHwVlC7C8hbgDhQgYffDVYhL+U+qfcvylZxe/tE1tHMnB48B04X8CT0rVr8NOiM70sKOzw+Rxpp/93tQgzHRhmehj4kK4bPHlOye+5qhoOTPD+AZPf9tCrRWc6YJplLOT7ZmHo7wKEqxURCSd975z4Hn58DgJt85giuJspbLuN4VSv/epvsDng2AIHgoAXKEI3FJr2alH1Ul9Fx8i5lRzVskPM+kPDuQaN0pS7IKgl5DdtLThQf5MJDPBpk8jufEt+j4414E+zWobA0caVLDorEl02EnOr7M2zQEFeaw+W9ZOSqrxZQI6vK+/4nDdLOR+yyN7EJ0Bbxp3vxDZO4Rx/6hXeALLDOVezEixxWTkIFPHs5L/nb1daFHtKywA3Hro525KYsU0vtnujyUFF8QTRgEOwqZ1KB0cX/iSejFrHahMcY0MfxdBHbXCUjO9A13HOn/25uLiHPlHud0rW9XdKYCt6wAm9H8oGRURb3IOK/hrLDSG4SJktp7+tj2bAcEsDhkyE/DMrzkbTBLr1jtB1dImcIhGx2wM8syJQUx0ZITPbJTm+JmaC+VX8UbV2hxvd07X7dengdGSZQaA6F4K8IVRzttgumAwh4zP7r0XsR/eaKwSVJthNgxjmJUo7nvBqAQSBbQYXzylXC5WDy7OS16iOXy/fhyRg0zR0A5sOiGXqArsuFzxLgWZ98JsJsGn7/wnrUZo2XIalNI3BM3PwaIgtPgT0XKD0oUEtteWmIEPecRphLWlWZpQaEfE8BcyrdH+HcBa3s+XLTgaxDfz/Asygou9/iPIN9oJkBg+wcynvCG6Jw9jWuShBoJYYMbPOyLf5fDtXb5kvb8azprrhzJtD0XFhl3VZaMTTMiYEHZmzTSPKuOA9E8jMpNdiA4UVAu5w2jhJyz5ZjGB9WQA35csqnl3z8qcfLNFXfsiGgNVLcwrufudZ8N8fL98RN3Mfs3bUdC5XgmUPc6OfNg38HEDAgEVEv3I+4rYhdNBBEMGLYUE4+GeuliOiD1HyvEvAJg2M2xNAGscuQXO8yf9opEeOvzuaNt/CtvQv4Q0ywUX5viyXIfaeOTs4iAYlnmNb2EogKrsX/2pp1MHjhwLvZ6HfJvQZWDD84CuCvqnqWIOFtaRfxmfZoPaeFYtt4J82zfys2yca91hfMhoPtgCrYwsKQFOifNG1g3+ba3457txRtHHI96xDbQ+Yf9r0ffmCU/3Rpvsz9oICbigpL37sAs1Sk3E5LM9pmT+476I5xcxN8zzSb/8+zxO9QRarf44kBPwdvidY/VQakdeL3HdNLjUsEPaOYaB53GhGHlK+b2K5JTtEPxSGOR0fkLz4qIRAgnXlAFPGmusexnTqOvu/Mpby5FMWwzRwaNrPcPM6NnlU1VLv7jzJV9iMc7a6j7NfmY6jqH8w4N+YJXNfRt1tYPjE1poQGeHamqqZFj0ej0r6fD7tHipV7YOrmsDOD0GjJBmMe2pnl5tZa03bk+a01er//v17KUG/lR3NT+cTit1yWmtlXsTtFfLkPZrfRJGIquKVLzNp14k+waCCd+7x+ihEPE73MYaxKh3HAxMpIrJ+FVJaaz3P0zD0EbU2LyqSwog8JaV1Tna+wRo175UGJ+htqep5nr52iuEi6nDX2PWgcRF98He+/qP1LUUX69C9es/YISOS2XtwSrI7E8auKPvV7ULmk/EvHFgG1YehqkqtNRvZ7dxSImrEKiJU12MwOnZaKSytFRGt0U8ijdnhWAgIqBJRKfFkf+chvCR4OTSzEe3XsiD3gnrT7IuQqzpv/kKtC9aB2k6rEkwSFQnfOJywBsg54K0jqsxcyoPmpdYOZ2bF+FavfULWvv0nfPi5WfafayaBK3CqgwQHMkV5rAqahwqCf0MyVZWo4WLK1prdCdgUja67Cx6L1mGpCBHRcRwiUqWc5x+vVmu1g694rFVXcDu+I+/yCeILua6RIZQ4jROwHo+HO/PW2vP5JDhdfRo2BoZLIp/hWDVnrCdM9XwS6Kerih09aGd3Oe1ip8PRygw+Lej6o0/8n1Syq3qnvPxEwfP+o2Vyl8lfeJ0bzputvcSUoTviXxFR/7+Rd7bRfkDjsvz36Pq0gHdbL4zgecYqFPwV4wdWoLQU1+ZDlw56x3C0CwLxBYd+gdpkVwGgW352tQH+MgxkVmQFvjfeHVdppQy0OhwfA22Y9duRTGOMJ8NHXiHPza8ic5xSp/odN4UMnLg07wJzoayc+VUhAnnbTy7d19d82g5+eIOE2//nr8wMbwAGyfL+Kh5E4CWLUKA/yAQsPxIs0Fpp0/X6H1IGn7Ff0X9aimOK+wAHEzint7UmUjx5QoC4BjQXxHDpN0K+jk7P3+t8SIr2juWDUlFVvAYnGDUyAXFzTDBqTGuw3rdzghD1/if/zpJNWseU8Kc4Jxfzwa8BpYtj6XzIN8ukiP2NyT/7ppheWK0VPjGw8ZwBYByyLrjc5BMj9+qtDxMdhP+YW+mRMu23d2NAPqHh4QNDlxTtMHCDRlTQ2rIN3xQfY0AMM3pOkcpQUWMdujDbUuCfmEez86eJaHxiNadjo4mUtJG2FB0dk+2i433JFZAnIYpEPZzjLrJC4Kw/mk2YluF9/JrF3VpTvU6Bx+asWxyEeCNQJAfruCGop35dlwoyINlmf5BhfS8LmuEyhI+HxSW11M0uy2vbdhAfsOhqcakA7kxGILwS67k+w39rBPxfJHknoGyzAUL/99ZgGaR5r/9BE0CR1t2DJfL/MwMoMytMvNhDnxCntUVbcYVhZj/gt46fTEB2Qx8au0OzIlCYmfjaRIKOVMZtFiG18tHrgFvIe1y9cUAXv/IUkGcDX/ouZB2+aa1da7CiI3sjEO7UUTWG9n+u7FoJenCbG91Rmg17FzN06cMQz6Vb3Hxw4+ipB1Nm9IMXmSGjgudJxGs3HdhlaPNozD5kZmpbpnmdDs0/ocvTvV82TvzipSphv4STJqMqZmje02IYKMbxfHQ0IlL1DJqA9naDP7geZgj5wT4VmlsaUfRN4+6GfrsLnCqkfkQGsyppY21ziNvjfE/U/U+0yq6Cy2OYsMtej1ZCDO0GMwyeWlUthfJLmrFdawWnUGU+3+GGolCBw5oMmPJwRWXIp32ELzqoDScRK045VvjV/En+CUmgWW9JxXVlkqiODJ6ur5RIysKKVTVT8DX/z6/GU4N6hJoYelDrFA4IyGyhdHfnBfnVLqqIT2Pqy938Q1PIFj4b7OWZdZ509iuJ4L9/UzwNkcI7DgTccM/UI+io5HA80XGB6shBPdFBvcWxqGCwDhMN0AXtYtX5ttBLacHYs4fhORH3mjYnSOlgLb9aEFGilR7ac5wi/JpVhIlqBPVzAxYflxxZFQYwPgKFjFv+CmK7w4dmrfoIB2/LbWDSNjtqZfbF3oq7c2zTftvhw3MSprBcXeNAxZrYHuq+qlQJmYt8f1ZVbRxsAB8cjQAwxGOs762EHMj8tc4GjF/tMHdBKPR+MnrD0V8midWguSl/bXXdOiLpf7bWfElVZtRSyXeUhbhy3zozn+fp9dGZ+pbm0HoWSkCbNsbII4VyrqKXDwh86gcyBzz8OMU6EqxRJ26Lu0yyo/S6LV6lVggz6/+OtMmiQ3I/Z2aZ1cG9f2rXu2nBezx3El+il3kS1Wlm40sFCDwJPy2VNmj+jYv4jvr9Q2Ug/1mg1CvBioRPFYhszSUuWt9N9nXroMWBwCg7NDeeUyL/SeHoBPfGXtkxxCTs+XwGz2zPvnYz1M+U2sO0i3BpsTdlaZ+hwj+tQx8ZObPNWMXJneBNsOx4l+v3X1+hw5j534aou89Nb3q1ro5Boe2vJaUMM+sjZl9/Bv4MRfQTCjocUGIM1dyPmxPxuUwalyy/yeclvaGmjuWWbV5ZyeMOVPdr2DcNWcVNYUiMrPTuESwrpn0CF7AN1YKRZxv0f0OdYMz2BUoKVdRHaNDRoH4ubT/GjFu68LnjNqe/gTNhN9Cy3dBK1u3QKBLuLpvmZdQKC+155FgZ7EfOJLSLnhY1hOZTfEXiIv3e/dk0zavUCgmnoE46sZRXmcQMcK17+BL3S+omLaM0Pt1xe4uRU3PAmdjtyZWXBFJSicugKILKXMX3O/x36rp8H9wOGmyetf/PFtRJ1O1BwjYxVbVBu6geoRp6TrTuvIhq7BKrtrYdHSk+gOmBF5ozPB0Jlr+/0jg4JRvxzCPf41vCRvvOqtnJ88gOW2tH5sWbXiZYY1adQeF/TIGCcfIm21u672U1fEDhoXTvkJlX3tm/33FADV76xfM0TxHiSb5k6Q+MWGR8/CdEm/puwcmddap5zcBZ2z4k8u1iKOQtS04IxrNlHezB5NCSmWO7RGnezrNTLQKVwC1sOh+cu0MPvclMMrZ1/RRGCNDXgH6uVR1XPuGDbA5eC6Howirl34a87RwMTTgflv56abnuvPJX/t4TLNtehPtMsaOcCbkvSy+xxGRGeEqAwlSUjmC2XSuwyrF2yPj7naN7SWzwAzR0taWTz4LeehM8o7eU7/s8D4jhh2h6eY3jp/D92yBQ/STFv2E+YuU6rDpddPE/oQwluU5MMN6O/fUXgd3WcAZwhkPACmds2M7iRjHHi75nUFWpnZ7E4Ie++ormzmTYlUzgaih1AJjZ7uKklcZmCKp9o2SecDTfgvOb9uZKsLzV70vo+0D+0YJ+SlV5kyIsyxdcw88WNE693k13Av4U/wOjtL/sbrSjsGqL5550eP9TBbmgKYFeZicTJqufkK8BGoHVBXfJtwlW8Pho7dntIkxEMrt+B7dsNDzvgmvgwIr2tS7lJjJuqIp+zg36pjaO3YoavcoOd6jSinXm6Qik4+3SyLyzztyUXBOjaQYCb+IIlkIk1ivB+qx12is2susGsR35GPzwpXuepdXsXA5qL+L2znThUu4ZPlYLNvUjJZN8A/9NfsIHP4DhDxbXyazeDF1l7Z35+K2RyMwQMXpBw0SnlxeqOxqtNerH48RRItvlx5iqwodeQeFsrRWZi5EFe++7CAPw1vqJ7YgSUodnmfYRLP8g1M5ej2HLVXjvzPJfx6znWpBZ4YbT9ZcM/0YX44xuNMFxnGVg0joXhIhYeCxeGx+pWCogXFRwDKDrwXn+HRC3/7P7lUxbPHIQ6Xk+B4LF8dJ+xQqkt371tzLK2LmnJNip9U1hf1s3gklK3+Zwnq2e9TgO5kJ2DhIzaTeG/65PvoooS1XiRsKFSJlI+/xd/9fvGjMuOVeP47DZ8K4noy/yd/uXCtvgVqPKTZudetWaFi6PQ7Wez9b0LLQ49AukeYkPH4TiPDeP/oEXgvNO6tnNr0jB5nzu3AacmamUIqVwOcxuVLWaJhQZh291IdXqKiTlUezkIhpmb0PPXGJfpbOOz5GYDk0mYqKzVsOwqdrBMLXW8/kUO+eJmImFL7/TWrNjwJkKw0BIoxOBo4NQJTtSSYSJmBuLirY/ZsfE165DIjrPp4iUox+jVes4Lu/PaI7JnEsbV9Zfdme+wvR8zmPYz8hxgUIPr9Zq5+tk+dLsBB2UtssLKfR0H4+HKYCqnuPwwFIKaVWPkapM5EdEX53fWnV0QI/jF4VujKpZmRvFsPeqqn/9fnQwtqezR5jyPJ8iwkdhFiVqZjEsIg+XXa21qR7Hr1KKUmMW5kPVVtGSrWx+2jl2oiwsavPslYjq8yQiFmUlITHqtLaT5wGYbt/DvY9bwIdFqdB1b8TgRxwtg6SUKx2NmIlJj76jVZip707XxtXmYWnkuN4LHAbRfayKKrkGDgnT8/nHUGNmkStGiggRi1zxxZZI1OvcL6OL7E0phfpqRXGzU6VDDlWtrfqhTaZv9dl3m4ptf6Mx5Hn0P6+wJExErY7JgZFTdB62y5Or9sS5lHK2HtiUTVu67zriPsqOMNKFodL0wTMSd44UyjxOP6wz5hO+169dm9PrIEhtBy6Pwx2JSJXNq/RopCrmf4xQuCfx7z+niEh5yIPorLX+6b+3Lh3PYAjumbHP3bRVtcgvFmVqKjBOqdSquxGtlVQtUSvCp4iwEje1sGm4HZzuoFNioj+tMnMRT6fGrnzpZ9ArKQmbzlCrfz0enV0i2lWdVPV//fVXV2zmchw89tmso8KXy0LS/8PKpapQho7GUY2X5PwIvQo9JF4tEcstejWGlNchENjVjt6btWKqU/flvjAXovX9xNObJnZelV/8if8uaczPiN7kdaaeFi9h0m4QYkOjpG29/pBTgZuyzCkDCZiI7Biy/Mk94/IT90e4yltWfCOao8KgkX3l2Uy+v3xfT3bVQHDkrKAVbzuxCRTPyRDCEZE6ByjkWI5MOrrgGVXEJ6gfeg833ikBHV9J2ji5KzwPzGR2jfdTHeZrjSklQ16y1BHOLmiN2W2HWVf+MxiR8ydjcsOQT8vSSIOy0SsTDqoYdGClPFtoDipsS0Q49047F/zwfRt8E/g79ZmZaRIuouQz9ZZOmdMoo89Is7fRtK/o4hg4MZpNgKGvRSOuZZUOVoMUhZWaSPgiWMzPO3k5wqr6kwkWeuGXlZdi459brxPkjY4Pf/J/r7uT5gzm/ba+g2cW3su2XMY2hIYiZ74Oo6KV+J3MHBhC4qX6epUAc7H7nsO3TIU5hn+3JUpqGvT7hnZommda7vI2ArPftYtwZHWkCgbyEGWXLfo5QOgFOA2MM189/qW8stOx0uYD+vBXAuP3P83DIflYzZczu7/T2vQ2KQnU7UpoaPkhRjKXLNKiqkXWH+q84BSBIDSvIONwZ3rP4rDOxRwsdPkN4nGOTqKozpcRXbjB9isfMoKmL3JnDYyo8n6Q+IbA/OvWggbKub5c15Je8hI4ZI7ATHBqGB9+8CwCXfnzoGz3SouUZsfCb6c1AWbAATG5V8VPK2NBV7DDHF+G+hkHK3YsIn7u9oVuzcer/L2OLMTHvEMFHFX1FtHACQR07cPg65PgPYLsOv6bbq0f00ArNfBvkWREksfNHz+WYAUuw8PrLsKNLH8KscAgHVOkNJ0DHk3oBh/k7DJI5IJqfZEM+6reoT2w10Rv/YPl5+jHVZUoJlKh6aX53fiRiV2NmcalDtcYW2E+uafOU7qGQmmwUykgNkWx8RP2gNHpYM5yg+377lXGQVko8QCKmXdXc5QyrTHCz/1IFR7RupTSapDXlOsHFdL5kh+axe0PqPPMUc3cuzlApGvHoBs9QatZunLEra02KGTx3SgkilJht2CuQzCDidutJzxTShooQpjGsICbMa0LV3qPkUekqbroYQ8MUeIT2kj4FDZaHxmmkWzxxqkGt4bPAY1cH4vwIoFzdcUPkYHvuJSO7bLVz8vSIQcbzIgtdYZAY3cf+uf3mxX8ITuiwPAd/wnMPzS9aXbKbvMD0sJzJArVMjmqarPiqo3s5LSJ7TJyrcOuB7v0FhwO8sQFhC4Cq+kVuGMmF/pXQaxOV9DtPJKKn6AjpZUaIC0Iwf3MPzVFuJf3Ve698I8gE/DZau1X4fMqM1iW4Heul8xZ6jfQMq8ELiWgWQnusRr8iV2ie7vagGKyxVLXYgUZC+TQ5y5G1GhjDBts4ychVi1jg1uL24yuyg4l57nOiU4wv2Xhfled+n/MPUEcq0OUWZgLkYpoS3fJZXoRn127OK/neKoq8wU/0K6wEtx1EodbKGlX1pPZw04vX2ojJRcfKtw4zTa2duIJgb62Az8Jjjg0wa+cGKLHzLo2vc49lZ42ZQMPSkhzAh35MI9Z2v8REXHzbqHVX49fraLCpuI6ivgnl17ppQBOEU3Gvu6QWAmJ9bUura07Kj9VQrtLq5+UnKaEAKlACDulDZV5HqoMDHyfiuCd3qnP/jC1uE7vNKVi++bWaKO1ov/xO1idIUtN84F5H/oKX1HyAOENWnFwHViZodGssaFQ0mf0nF4H16H+/AgWPmfxBCJXSK/rf6R/u/ohnDCz6oXDjNIL/GklEtqr+w7/7HlvKu/gB81jhvtqNphsgwdP2Kq+mCLkK9gzkRIJUTNXq0pj+KoQnRn/pc4skcw458kgujUJNwCU2g2fcYiYwBuGFW80a/I9o/A5IEOzB8msoI2ahXlGr8ngvneQUfMVCja3+yrj9o6F6ioVvlEDbO7eY3q11potcrcES1iREH+vsIbjXnYBPYTG06ojlEM/O5GK0HxlQpaUaWYphw6bpYnzsfUlq3WsHqOVwug+kO98l5MZWswiI3AC2eXstCJr10sL+qgkf75IgwJPdM4q7LlpXCFwiX4phVcjWOHfHdVbbozAtCRh+QESRUmfAxBNqdXSD1x/ru5mdWhuYm5lnmD1FRHzGFJ2+zg2j26TwHbQhIOg0WSQ89jiMhw4zOBdtQWO9f9qtV0ylmCp0/7DI1iBO+9/tbTbH8EEec2rKzuwdRRne3sj8aTuGwp4HnW4hCeTRgZtyEXmm9oyLbvWvYkbXeTUS4OvNqBViOoF0BRxhArXM+ai7UnJApcohV8RT6+AU6IhaC35gGqJQGgcTBp8VuhpITlLNuzeLzRkj1uG5i3i4qHZ8uMagsAutCxV1XlZNNKbPemovvahSz2hZFOZCTtKUUZO1H1zXs3X9PgAld1s/+tRckNtnJrjKy8RhyXmvEk1AKshDxEdSZWNU6IO83xQtbZm6xQLuAiGpagdGSDZSt/oahumIBULbERGZebvxLH04ShcrOCct7+DpJZLF4LGBrR/quz8uavNskXkFfN0EOU9D99n8gV8sxzqTVa4RN5E7AbDINz7+qioNuKe7QIfbAVLPy8UWlxGnMD/Ng43gFBymc8uRiNjQxyhWYdxySD+6pfTB0fku+wRcljNiaB+PsHCtu9LCF3/ECahLJWG5+4+dUdhGcNrgN/BJ0iLZi+/rB9q0iqn+7exlJlJi1IjquP+LBkBQpiVuRA9iSwVI+JpZAgDGL5ZlmwwPBfajycFsPDnms+4timnI8GAbxycOwh8GYS4+/YGf4J4Tnst6sF4rNZXVaXo1His/s4xj+jqoULsv1uj82ZBDtxwI3N+B41hsl7HMNV5no9jWlHufjbsjsSySy+8ID4YbEAPLy4J3Pa9ZF2Aea8Pl0xLIerHNAxkFrlsDirveIZQxzFUVbl6qjEuEl0rwDI/w/t/epF78uexc3v/VUCeVqLJb27ixb320tt+4E23E4rq4qA1VaVXU4RvoEHj36vXR1NwJyIWaSLFFo14Ewon4QFKHb71JMNMQii+2jI4QJ6TVzSxQEJY4YNeMf+ZmeP2mDdWGysOXKuPD8tFu6pqd4rlJneeMfsjZ82SZbv6SyVQVeWFl0S/RsB0ZvYDD/2ln9NDhIreg2vVExHztuCr2flu7GSnJcZntLFliuCKe55/eD7HlkjUzqmCW8/GZdDk570PsILt2udOEbLa1MYoUlVmlY6FEBGPM7FUZi+jQmxUCDNR48bVJgqlFGaWTdAKeriMEOiUcW6eZkvwwWeHXErxs5F0DC1YZTsmzdeb+wST97p4HuK2O6pwL4yvqqbRacbRFJn7MEMn9TgOO4jlKIWI6qkiUuRR+Q/GYJ2LvTHp279KfemoR3dcY4TOq5OszdFo8xFiOi+Z73yWsnRPNC81cOYjh/3MPfQb3i6q5bIo9FAxfcEmspd07tVan88naS2lPB6PoCF//vxxCA5Hx6nlyJ+gkN0GfK8Ts9rhanDpITE9Ho9+0NrsoHR/sCrREOIseiIaNmWGb4mOdP1UT1aaqpbHI6BqhGBXAbfH2i6wBmfce7tuWf6gqq2NK0SKtFFMnw0flItqf++8dXmd52kKTDCKwMwVzhbx4GpUBLtDBqL/xPeaPGpQEqvcWvv9+7em02hpvnvOYWYEkNsT35i78vuOs3mXidtFKM/nEz0JNhF00m0B/7xE5mfo+JABEV2egREyc7RGbDo3qqqP5LcV8gcHWUqxE++e9e8+dz92F5rvdcUwCOO0wj7GfJ6njzqLyHEcZr9o1MdxlFLaeV3VjFOHDt9ettaez+fz+eSjhHgRiEX9Z+aq9qdBVhHuq42pqnJrJMKlPBy3Ixn5d4dk3ixbx7rpQPxIW8F3EBFT7IW8BBWsN1va13AL9n9fX6dVdeteOALJAHnV/bppd4+P2PJ2oj5XqJaqQteGiJgL85VKfqEs/eMNtOxnb8DSbF1vokFvyCtzldPUgMcMnm9rz96NgPaAvwPJdOG/fvKj0+sWEbzJO9Qt+ZO5rencIy8t7SJEOBmaBwKdy+6We2QCJZtF4/XAsAwqO2PBn9yn+zzgDZcyCbn6BWE/nRQcyE2LgTNftsRlQZhZlFjNazrhLe29D3/SnGEvkQ8ae++Qlyoa2HIPYUcmyp1hid6/I6b+k2XpkZjvlsTkhyBELCG19Uzar7oK5pzBhuYy8gT5tMPUEUbDYq/n8+kfbkf3E1EZjUNn10NvKNb/FgWtBSlyZvWktfWXuwDgxY3WXQMte0sf4omSe8flMXTZURG9gs6jlLTS9UDRdwozE/VRK6KirRKxamNPs/qYjjCxauV501MoObZtWlwbcKaRXiWOIc5RymAybss/b8oOgSWq3mMOwzxZk5clmLrOvW1V7VsQoMUR3a/QFZ5fEnJDF8JfVlYYe8P6hE48EYisMF9p/WOHmfcJBin7M27/IaLTrgLgSUsz28HwJ7XpvWGWjLY/BYCAbVQ/rMbsO3Bnj6FEs70ENXb2rvW8bTVK55TuXveGul7DBugbb77ykULEk2Yt4rnsoAXFWz4vX965o01rMl+1dLFaZ+n8ZBL7nyx5qUOPmHXwLfSovZ4yMwuzMMmKG5rWRvuMwVLubmimYDi9QHOYdvihOetE6ehQ8cgHEAhtVGipnDJOpc76GRMs//MdT/qdsoW/p+0zOJsKOgZU+/txmWVqZeIDenxKAnjHlXxEwg00dJT2BiYrIbVKk+vpYbO48ktiZxLFpe6k1Fi58RjUFRHSRlSE49TwLoYFJUZalnTdwHwpHWdpsOQlWETgDcg8B0UTE9miCKCo/1zKNVUXfLfOadA7KhcCZGuNOTqInGR4nFsGvHvCc0i+t46QDeAb/JPAEXsHNLDCEcMpJ3+pc65JIHTsX/mH5sFFxFwwLrbN6HEPIleChQSiainw0LGl0cfzOrGhTql9cuVVKJF3FDLrue632X/kl3R0L4Mol4qKsvAEC5cVY+WgeNkhv2mnOz9DG9YtIWesAm7/01IqwBMR+xhJFxlK4YY/Mh8wa1qBSQyB8gfP478SkU0O4iwzTkDrmHdGNcuek+ACeAQuIs/zGXwC0ht4qKp4bIcjjGgEEg5s7x2X/U+XjMM7jmNXgji/jBXKbCfIfw/3MGbkRtGhIO1ZV+hCmwgc1qf4XNwgIW42UajXmkomUqYi0uz+rbBr8tPmHMO8dvAGvfvAkOvkqOB1HIHcpbvHIYQH1CJ/o6p2RR6iASF8nUoitPAm6L85iC9I+f2SlRPXqC3xd9J2vhup89UYNA9sKKSDVhjGd4OFTh4T6jMzUcxiQxRfCoKZCdfqzUECBZQBIg6AnuPQX/kze56V2E40pUtOhYTrRKDCjfEE5/bS0LwmBtcQ/BBUYOPOBX1NXdFdcxJHhr9U0dYal23rWTG+gOf/8cVZ5GN+IQWxEkagx0XGilP2vmIyLJkKoIKG24NfDk3gukspB/WrYAUuZiCiX79+IVjv1zEVu8NV2wWciWQsrWNiWO42VuCiK/lJ7u7LriF/Hfzsrv6N415+Hgxe4RysAKDXl5hahRYj0z7n39L7vCxZR4fjnQZX8OqM2Rf8zAiWjp6rQ7a+Qf9/9+8kleqyRVRr5O0yKKLjXmISINMrloamvZUcGJZt6W03d1eBYTEsgQ2raq2Tv3YSvN8WaA8+ZfIFr/rfOcIFJxAgf8FFLL1exgQhy+0thzh8pXO+G2b5zYEOvzolTLTxDIiPjuwwaKZBg6n5AX9c5W5Ziw6h0rgrwlfXBgmC02+en5lfupqeUz1kS4xYib08j9sFMu+EN/PnviDfspHm5rAOysI7YAHIUv3cOvBN+HOpsUHoWPl9wrH1oI0XMsCge2j/UAGUEIGPkclW00m+/SrwkMcaU//Tx7SyMxz+sHplHoma743wicVrrnlooNup/elL6cNir1+/fh3HcYzrmWmkX4/HuMS9NevU1Vprrb/LY0kpbiJBwi+4SxX59xcMDMj9ttl1+E5BE7U1LuRpLBVKh6Hnz5FFCDO82ceRbUmfT35wh48jvHQQqovz7oKzW2LyBem3Rsw6btDr/1C3YDgyUa9NnTTHXfSJOf7dUzGRvBnguVfsuCYvjVQhKHz/Uky7wmMVHUYXdxDneS1BoKH5rTW8fD7gjw6FwEPxPISTC8Ea8yCI8AYfnIoddchGLzf18RNEL3PbyVzC938RFDIAm8OXU7u++nUu3sNOPBxPq+kPpasnY28azctpoX7mISBoRnStwVpO7VmdwNhB1lrPl0KhZDgX/zf1GdyXT3d61Al6hV8FfGSzBqutrtIKoILGBnFkklH6yw6JrhwpUqGz4/L6l36OX1+u8f0fXsJ+RvJdqJv62Z9YsVTG599xxV74EJcB0GywDCe8t7Hnt2881GnxgLdFYFYOmXmxZNAo9cTOa3IaPEOw6EyQ6oNme6Zbq/vBsmtlaV1Z9d+B75Rno4I1sIt773Ph1A0KTPPnT3nn9KI66qtch2HXAyU7v/8QnwNRNw70Fn/GJSHsCZYWnQ9wt8o/omAMAfUlhjc8cf4vzWPXLgrLvn0ZqzIQfHCYuL05qtaqiezIMMjtSECnoLDIdKeNoYl37CXgs/sEfQ460xvIyJmQXwb1FhHm+ElwiOErdO7gJeIIFsDE58G6EVvt6wan9bRxNEagKEcjVBJ6Q8+XGoIKRp/o+acla/LS/WLTuEGnbTYSBmyDfqJ0gsbSqnOV3R3NqYPjk3U+l4wSEou//iyr/yMlEPgOXc5AtC9LsGziDxMs27UX4FOyFIfsAyUENltrLRw9FXoYggTLh8EQYf/kX//6F6619xNncBMDohrw9J+OWntPF1KzuMQBnU5Yigg070aAXhh2YCgOIeZRpWBURHQ+n8FXZr9pDyaSBjtWiIiUwUFfo3yWaahqpQfRuGePiLgVYiKqdn6JKo2DRtj24+huO7r2YR37vHYmP0o/ocfWxQ5u+Olq8ZzZBj1shB+GKGkstXEeBnnZpa0i4pQ6onT1j9U9jci19lZVxw0BepTrvDQmYtHWGjFV672XQ4lEiUj0UKaD6STyDgerdgTO87SDTHTMu0tXytNnx3z3BzNT08FNHvJRkyddwZXttMnn8/nXX38Fb2vMOTrfSU8/Y4KYqNWTmQ++BkCUlJiYWK3RkeO21lRbH1NU1aZUiJlbra3WxqeIEBee12Y+ftk41lNxUbYQSyHuo4KqqtRY9BCp7TlYzE0bjyHCoqdDaMNsC5GoUCVS8S0GpCe1Wo6DdfCrNVK1SalarT/KpKTjPkQeG0Sbqt89x8x9nYGSNlXsaDI3ephpdXG0xiTCej5PnnuThpf6pofeOWFV8xmmgTbTfN3gRlykFDsdfWgyCFRJScrxS8rwp+1UtQsu3BEVZpIyrk4ibsraqKkyk+knU1M2okyp6FlPESGRUg4pxUfGCk09ezOKbmjcbI+eEDEpK2ulg0s7m52mw0UOLo0aKWkllUr0qKrctJGSCsvxPP8+jkP4IGon1VZbP7uKlMshXKQPaJlBKmu1o2dYyaYq7eH349cwun5EEDETU9VrsYsl5WFQAeVlFFLti0yYuHBx1guxMYOpUe93Ua2xI4HhypfaeBFdXEWVw6S/rKe6oxqdN2YisY2c2lWom7WqXzvh/hCbw+cREL21XmHEQe+WTwmHX+5ONl44jpyl1vrh+2ZiqkKsLH/P8cgfzvOk2kRj9+Aoh80mD6eBeT8Nk1E7Hq81/U2/iMhCW+usZiKyWzJJRcUMmlkOIirU8AwquY6T5BB+iUiEK/1x99UtWpXsiiHp1ZqvtyHR9rvS89lISQ8S86WqWi1/UGIl1Ur9wDiu9eQizKwsf6uK8oOkHL+YmUkqyfn8u7ZT68nCv8pRuODQF6qWc9LOwhxcfZByPQnrE6m2oiRNXfGEuYiwUl8U31rzfhQRyRjL65pghxwyHS4W1C0MQvcvX5YQ111EX4OWwTK8eQdmsF5KPdRlffYKvD3546MSXBinrs8a29XnN8h/GTH/y9Hb4RN+ZejrOEBu117CVq+xAVcGHQtjQ/qrY2GZgwLDWKAdVAuxXU4BvM+3pVBUFwMzQTT4STYxTjnfvfR3zYX3P6gP6FPDS51P4+w6zNurUZYh7c2y+2oH88IhKQO62kAUJZ4Pqx86+Z6T6SjNb6xd8Q7ZVZqdFUzDgvq/3IjivPA73HNQqFq4YCUTuxRZ1uEb2oNDw1+WAFEc6Ad2YQhXRMziiwvvvqBdlGzzQm9lXF9r4iUCSyu+iWvjp0U8dQTdMNEhw5+Xli7lu3RB34ngKHe859EXS1l/dYqG87oRVa21llKm2A1cYsjmlwPzIQkJzPF2YxSbvbQDp5VKeOWDZo5neSzLFFNf1cwBD5vbofiy6WVowaL7xOWN+lOXy6nQMagDaI9v3wCeaQGsEM87zBnyDIVOzEcFYC6mUP0veLOIsviQBeoPDNM0PvkSciyBk8QvbquSHZ8yOqM0+utt3g13DVCsFp+5aWWfdaMVL3XbP88Wi7QjtFCT4QwVq4ZrMBH/3RpB+9CBBN8XHArNUgsNvVnskyBHx1Npe4ejC2IyYeDwkttIVFZU/zeOTHs1uA8H6cWFUJNfmpseT1OCFQhEIDt+gl+1A3kbUcFflZSGQUC7LbRCG2PMmISS1+qZ7JZTMDegsoFjZeRD/5MmbadZCkvNRPjBoGjW7aUIdhzIaAcS8Kvr+UtLk1/qww4Hf5l1LCAWfhKxa8p8RGDW6m0/EGGayGLmoSm/uafo/YJDTce4GEDnnYOXnyyFqR+AYp5HhrhFpMcNYubLJ7tL1Hnt9bTwlBS5jUzz2XxcRKRK2e8RdOBdap0u1NfA/cBQfIkl+PRQ3IBfevYOYS++HHWsfnC1XnmJamx3m1uM+n6Q30j5px7DG6NNoWSrds/rQHYR0etjiPp83VRAeC0ItC70++g4nD87X9whgNB9mi+suhARH5o+jsM7NOhogu4u+Ql3BK27pEunvGQOkh9gZu3K3tntYsk3REbmS/Fc+sj20K6GNGVz8iEC9OIC9YaWrjwgg+zilCg7EKYrRQ6CQ1YEHc7tItNmotL46AuVWPi3G/GZgx7IjVYkHtF+tUtR2Zb8n7tP/Y0oKakQVyLV2lpRVXabIlbSwAdardbKJatZuMzbbRCXFiTHsrDoYAtBiKFd1XH7+y2GKGXUDfxwtzSFaK0nNyzaqXogk7qeLFbo3kDIzifrw319XhVayXQ8RPu9UXVmHjLh/vGVll3hwD/Jtj83vV1zvKNXRPxw9h5Aev2eJ7hjoZE82b9SSpFDqc91ttZ4AGyNswv1Byt5cXpG2Io7tOAhM1hMqoKUPSfbXvYcMPaXu/ovC/rWLwNxUODgtrLMDuUe7LJ+MvjeifxmHn/hfAtnclXp8yHXr3QsllNm92WJTLY6h0+De9PGrHmX1vJbAgKFCxMLi5IqjYPgyQe0+r+emweNp1nxgiN7h2n5wxwVaNaTUMG/esfpIxA0b5eXzjkWz59nh4jOwh+CO75BbKknbRbi9PlGpmizWESOTesmR2fjgjSMQGGEDxqKTMMKC03mCISZaSRY2GT/6ZUGZatRVSEbsJJ+UaGRp6paVYst81NVpjTCx8xj1Pxlo0s7zb8aP9MizkXOtIyyDnOhDKmbETAJDeXWKYlsWfi91Io2cW1HUSCBVmrzzZKdkhUXB3oGdAjwyQLn68OE6b3bR0vJsqOZ1R/SSjTf+trq1TcLI/cMnUCyVGYMJKhqMyQNsTGCZZWbxrGlpaLie57XoAcEnAOo4QFy0Af89TqmIeAUrAuxoZW57nKve7NZ2fNONLHwSLAC5IxA/gpfbOpHejuj+JrMGqR15eDeY3sL84st7K0o/rR0jvgSGP7NZQfb3nx207laZO+qmhuGak+waFZlggSFoSNbSsH+GY9V0tkrZaXHX/e03xV9ozPgtKhe21Edfx49vIDtxY05IGHwxl/R+4RYIrPZosEi8KxO6CxuKPWFnAgcRRA8w04KN3t1l34qh0z0D+imMCBRVsvEYRoOfYkGqqXnU1eCBRuLEE/7E/u+SKyq0jWCVXvuaESprU+vralonyUU1Ubqe24Gw3uCteRhLhgJaBYfss4VlWap8SpTyZarczwO5DNzawvmB9uf+T9dEhx0NZN5jKmfrJC7stS35ZQxJVFmtPNPS324RyYzNgtFN5HUVKu1FpKpDrnzv5sN0kVmTSMAoX3RpHjMs6Bfcpj2LBLpnBGRseheReQ866ggtiTxKmaqUpmEhVtrVdV2I5rl22CWqk2zN5x59A1SyEaFWNNzq5Fg+a4LGZe+I8fQCds43ALgLLW+BgtnJW92d+PzS9VxgP4JWrtTkm37HTj+1e6zEDmWju+t+jKZujvdZge5bvqIu4IciORPeC0WYCEJyEz60ggW8HNiy6RSQ6nsr+wLVK8ViJFMeMcgtbbKrlydvBvRWrMDdpttqRO2plpTk0FrPeSo+Y2B23G7GnrJyR1/XB+CVtBekTiFsZLT3/6TUk/KAZrqwTL2GVGtjVQtr6R67bbDB4XlehiNCFykv8QoFf684cPyV4ZNlP4mFwcyr2OYYnxgeGYmb2SKQPwOR5pVlGaAN5TewPdmCHAeIluE5DuASk3rGHxsqkxC0uhUVbVZvGZeR/sC65T2MWt764BHd/1EuVt4STBzZkkCCijzEFcTT6hq4xXbd+ZTW83v78s7epLbDfoWPLPXuWnuJT43QHJllAuaxo3nGQ9MPTPA1Xvb5ogut0AUWzzPcwguOodMCO+nCO8LjwTUrwLU1ncZi4jI4WsPROTahMjc6wzXLSLGEUNPm1K7psJtXtHbcu5NfIYukwvC8r/JjYz3vmZL++TMdYdP1hxmfmsEa2Loh4Gc1jrxHysJgTufQrNuIRVLVqjejWDliM7MYQ3ZMPvFt3vcti1+oUyuYYxemA6jquVPdg6U+dpFuPOqPCYpGBb32Cbhpi2wHdtd8HOV/S/lZYaBx4LsGLKTNerGjUu98VaYE/AIhAFIyIQyggTc9sqI8xdsNpOJbxRmlIJ0sHy5US83Dgcdpf8Zwrxq36AfNCG8IdRe6MH7xeROm85Adhjev2El0kZc2NxFP8CldUtuSqURFTvcAQENjF5wbPle4CxlNxyGrnX+cGcyS5eYdd6rIatzQnODOTaE5x4tqf6OkofWJyezMoEb3X5TH8In+auoljO07Etba9DzehFtmbnv4FOlV5V/tqDfU1jG1GqVK9e51mMdx2EJVl+FVQ43aurcvvREW6PUhcC5v8yZ7K9cyZf6jwN+2asHv6eqB64mw4Z3u3Le4R2256dPeefJSs4Q6ZXiIj7+4IanqdA8MRFG/Hb4j+bG+Lw1l2LYcRzNMvA6clhmEbFzZXb450h5HVymEw9RS7DdMA81oarwEjJ0hDN69epKHFqxc9EGe6dUYGm3pRwoRx+gOuQaUeB27ch4PB7neepI/8/zLKXYvQQOnEc2pqrMRf3QLWW9zi0z/MUJpf537BFawf2JqCQ+FMyjxzP4MB34iXIZ3I4HUepYwo9bym0kOei/reh3sRLo3uPx0LR4POvtjeu0n/zOPoZjh2gkcGGZAipbMCJXJIXxD+OSkYCj67XWX8d0/V+m0T8fFVw/icCK4eQCo6sredPprgzjubsv/9d5XspxnqehapsnOp6/fp3neZ6nycj17TrHTli49LaE+3EAs+lp7zwTXat3q19PS9O92tOSDlUlasyFqTUSpfarHMrc6rOJPEphH3AC86+12hxiKUWkM1zpOq9IR8Qyr4iu0owueN2gRS5oq49q6QLF+Q1XCVctl4t9zszmH8wurnuLUqaFXs4hYxO00kNmJlhC4BxAD+BfGbswonaXtTrX2zFpcEgstu5DI9i0qtqBmdkeg/U5u3Qk8Th4j/T65z6ig+jZ40ADrsoYx309+CBwzpfER6JAM73Mk6LSarcpionHPmjEEOUb/JtypMsgnM+xCZoJdYmIzAi5HDTAmlN1heRS9DhsTReDhrvV22QIzd3Xji2dZizmJQwfi0fuTHScEuf2jvpjD3bTQ54U3i5yf7MwxB5/g2JwaWXx/EjBQLX0HdgW51j1ISaq1t1cXFJ2v9w1+DKA+FH7EyZourGtV2ADPl+WSJa+rjp8KA6sjCta0PGBEU565YFkCXyHFc3eaonkm5R+XJpS81MfrctIPm+iY4HaJa+mpNq/Gg33402NEPiX6LoyJZMTQpc9hzGewL0ljUs2MqRi9tNuaUHAJ6N6o8k7IAplqQBQedIWf84LLAjEgYFnwjnFhuxSUM28GkTD2uf+lFQr80HUWG1CsBEV1ap6iDartrSmezahJ1x4vPeK20j4HJ3eUnOCagUmvzS6G7/Nc/bv73cQ8vub1nftoiP9wbD1sgSLiLFmVR/t6H2D+qj8IEB0yKr6eDz6GBXLOAc5kqyqfaBKVVVtyE54ktfYNnINX+WkGYt3vAmSywZH3qA1uX9YpjRL5hw8+9+PGIRa3uDuM1pl3DR7nPcbui95sWrAcHZzX9ePAKo7aBxnav8m81sam8ZBKZ5/ctq/O5YeCo7WWBE/8Xku6OA8OKEBMHTjvHIDDjNzH8hC13ORTESk7bKHZdOoFTs9DGF7aU4IjfbuO2y4Q5RyTML6lNwrzWEgK0BuHb1YDngMJdsR4oDskrFxWmGYwV/SignZydxwHttFDgzkL/eCzjFA8A+RLoSJCdYcs6dEsMP3VpIi0SxKZKkPLTjy7jeUibSI9pSuKZEQN1W57k5gIh1nkC7Z1f2tXqSJSNuMjH6h8Kof0tq0psr/bZuDfHWgt4tA9+3qnFdhEwPinA/Bv84BNIGbHu2yXbQgbOWnSmZLcO/vM42mda9vdfs/Kkt/9WU4DPN3NK7QycoWlnCY1ZuKD5NUHsNgXEhg1zDCD/7t8g912lThNS3hI2io+7d8TnCCj1Qc9KHGuP7R7GKC4bly51BEX5JQRvImotBGGzjnWK8w6QReYusve2IBcQuP1MNW3Pet4X9oAehlRisxahIk47Tyzqpquzkynp8W9ETYOs0o+fugPwxJOc6XX35NRfW6CCjw31sgcqqflIROSX8CD0Mgz6jecGlZjYbyN41n1tNaiFfg92/xk7xWrP/6xggW2uCOagwt079paphh3BHnOu1lbYshnIzSRUVjD8NEPYFWVZZxddQVby7kdZVgoc9B7l3OFDqmIcFq8wm3zHE9u5WWctzsUhjWP4T3F2JKttDKehCqJMrEZMc0qFbVQT5vNpF0uVy/Ld24bpKzl2Wpn7xJ0GlvFzTLZVnzvl1CbwbyRa8byEStyJA/ane56u0GFKjrVHlH9fJ9dkfvOGevadrbH34owQpuyh++lmyagEoprZXRpXRiGYdoVa/7tlW1NW2t1fnKPiYWkeM4GlWhiV0+d3mtpofCzFUrM1sm52pjfyLP1U/SSou20T1m/3YsfcE7DHJNel/2AbMvlODdaCYPa36nlVxmRX+tVAz9px9EY4/S1W53+i3igOq1RGxU+GE8zcgZiv+Ey/7yr0vS8NtAC3IDf3L4WDkYjz94tU/tYhdp0A7vm16S/FKLbhx3Romn+xNVIU+V+cTzl/Q6fP/QPGZtV1uBCgIOB4ewY1305vO4fZa1E4UeNhCFLM1SvrxKSitp9j+9RbowQSBIFMMUYWunLTuzSCDEjZm0j1RJc5CVxzV/g/YLGR2tMF8zJCaONmOYufpm2XlstLVQP+coItJqZ5QvPPoCMu/giYgFzXdZiIgvTvoU/s2bXHJ4uql5/yZPEfwHyzeVimbO9FVoqqpqawSJqLAch3gXDuWrNP5HVEopvadnp8mJqnKxqwwnlfM/vfeOBsvQ7UF80H51XhiXuUFpsMArTCNY73Atp1ZL14OVs6vVz/tVuf5wkWWJ+TK9WDX6gvbgKKFdAe8a++jZJX1ZI5co0RS3YteN2XrDy0ifE/AL7S+ULP2O2EYN+t7ANPaQ4WTqljzckLl+DsaDdUJltC6kNJvZknWXVc/SUW8I+n8KU/vLvITGlcY7vQo4MLOtS0X3QSMHchkF1V2SgIvkkFcOMDcdnnVMjQXgvSZfbSHknaxDwuTuzynCOVaaJYho65jWRD4jNWZFw5pwQdKc1V06ZR4cteVq6/qXiKjZ9m0p/cjcYu/Z8D9bKww3n2xivCW4ct1DP4KWpzI6r/LO/Lwp2Y8Bi9aDOqGVbMv3+uZfZcV27gUvgY36v/jJEvJH7TqpOvuoHaidf7iv//LPpRrsQKGW3n/yfsmepz98HjfcsdAYwWqt1fPs+ZAUkcP73iKi3BOrpq13TpiP4yhdQA1H6XAGwB+C7BjOU2RIiVC3PULpWOFu76VMVKAb9ILtTlflvGmHnHIsghOMZm91edgvGPmnJbeO7vjLnScdo5Q6pgjJR1DatcaGdbKrf6gsLW3p17C+ztmhRaJR89qZyMz1w2NoXO7+pvv3cK6Xl1mhMeYtiWrCzFxpOvjHY1UbN4YKC48Naa7cGaBCtyYYA+oqzW4x81xTRki3Hjzo/9Zbjcr+ENZihzCQMfT3eTrMcVjyPGtIfwmL5PCnWmtIUAbYy8sEjoWG/Jdl5Rzw7GVu17v4Ou++dFgBB2QvjucNtKcct79kts4Uzd6TiJTCZtJtGmEYCs2XnxELqxmdWly0z1WJW7jJ+IJzoUd0HXbvFnadyIBO/6OCToNuDcHrZybzyDJRQ14is/TbmQokLRgFJYsDoj5r999Wgv162bnHXG32CT+cYAV8vg+cYQGuYuGL7V1buPeslISYbC6vlCK9p0qX4bdWz9N1L6iHD1C5X2Vmz5gYVj7wGO+UsR8ZYILtb7q7NNaKqY1gfY07K91d9ADy4sc3zez9onOxN7bdPeOTSXEg902Eb/veVMyRb5P5HfzXJ9t8XlwpX+KDRH3TEYfATJtuLo6IBGR2SIY3GHGD4+6RaQMKNWTpzpCQJYSvKe3OdQbgWNk/WcaJe/R4zqLCsx/w63zwtpau0z1OsCZctDT/emUn/oDAAzmfctRl7e0qHAzof14IrHJZxI2SFdywVxUtvidYhGo/l6XshMgHscxQme1yHFIKJ4javsKoeAw5VljlHSj6mlHfFwxCtM8AQtO6EsQS+I3fxj+DpVDSW29rArJpedcur/oGb5rkO2XpVVzZguHceyeaUf0R9HblR+CjhqD9BoaPPgf5kRx9vZSboo2B1aq1+aEtVhMXufsaX+QkjwPZHQ1Xb0+wCI6k8YNwg7KF6cg2yoHOl+bEaMPa64YWois7gF1FHSQzE3G5xtSI1LaAMTOdT880xaFpOhY5ePAFOjPaXg3X3hLYoYZOoSs3H44mkXhrfvEqokREdtALjTM5VPs1F3D1zVTfe94EfW4R+dd//1+llOM4ihzM3FofkByagacBdUgBsl1Hysy19rNeSil2hE9rTfUwWvpQhPSOPhXXhmpK2bXqeBijmqptGicVJuJrv1JVVVFqTZlI2xzteoeenmoKXVjE7uZsQo1YH7+FC//5U89alViUmQsxFVYbqWImWNj70MOnYaibmBARNxblpkNRK3EjZnr84lrreZ52QinzNb/DTEzEYlSPIV8iHqZNytq6cbb67LqkykMBmPiQx6g8jdqKCGlHrxRY2SO1wQIUJtLWSLXROGFP+/iHiJRSqrU7Vq314+upXmOnfdhxwCRmYmraj38ftvzreBD1Qx8KS88DavPF41fmwURjCtK+5XGCEzERP5rahRts45JNtVVi+aXE/Xh5LsxEzE3JtnGacvMYYDflN9yuASeyEdO/zWOOw5zoPGutp7apG8rdrMgY2C77BP+1Om+vjms0jMeGbmvEXEwOIiJyWOsi8qx/uoE0EmkHi0g5jsP8Selhj1rrt541aUTEfePshRc6d1V11y1FbLlJ1Vbol4ho1aonDYKlibRTGhUuRKSVRYTblSt3/SRmpXZqa1prI6LWqFYtIhZruk4S19rMJ7iEgXNUynUE3VAKd8vaWu27HldlkGacN6qvfSq1aq3n41HOs5+hKnYjgzad1hWZS3QC+8si1+FkrTaRQjYuoyRU1ByzksqUgjgtz+cz4Umq9oGdk0Fk9xWpkKqdw0QkPhffKqk2PLfpUkT161AdsqkniYxEzRYjDj1nKqQ0orMQ2bP++vVLYV6bx9iJd4RAOqqqtT4ZEoiRkHi+PTLREeZqiHdKtg/uKBb6q9a+KJ7YosA0E3U53k2a/qzaKRrpq2UaUJ/9HyJ6QI9PmUWOR1Emej6JVRo1Zq1VmdvBcvDxbIeC/yzMB5fCRWpfEd/oqMRKolQqVTu4rxGr9iMbutSkNvPl3JSp8TgK4s8fGccf6jhUDx2X1TL/UEr5c/JI5qqOZVtl8JuVzC9wI24kyh+PYKHIw/ssiaD6+NOlrHfDS//nlCV1CgeHtvlEu5cAkdsaemnTSNLXEQ7mHTp/6B/z+52eiG/yZ7OZnkcg/qgYGLEyfAxjjqf/hD5oh9XNG+SAXjOtS7LuSgASfuXb3nAQKNZ3baHIsWncy9+gakXJ7q0PJ5sIzHbJN4W8DXHb0eihocFV1nGOL31yzzGafUtANVCx8zyhWl745TV3HVE86jMDx+iFMBW6v51vI2nG1nfCUhhBxE+CyPDhxkUHbvizl5tqDh9HE9E2dxJE5iwrvF92KpelH5hAaDWrIa8v4CbzEa/OCqG4O3jryX+0/DjAN0uj69Tu0YFVHUfRkiqnk0gDqjqfU4XLz0VE5/EU705cesjzGcsDbGA4ZlrBWlGN/dt+MDV4MKvzYwkWGhLHzJoo6Q3GxZ2/+D+voPvg0VnJ7Mqbm24KqNeUEFj5GmuD0xmxs8OmKfZUnt23f7UEy6P7NUYWldnve/Sv4lpvTBewuWyHroc5xOYAg38GhHeJyH3CGpi2qxBiZHb0AQiPEeWMJAOEUJwE/NVXIdDGeYWmsV2c3sWcY2IvPL+M1sgQXJ0KI7iLiPjN2BCCa9CTHvaGii5dGb7ZJVj+7RIBJ8TDg44Ey7eU94CREixK+uxILnMFrJDh4BIOXIuJ9oUqhCZMILhdaXCyvCeOAqd7LItCl4A2ihRoCS9D6MnVMIrTzWa9jYF8WlB1UX8Q1Wyn2Og31T6Un4X2WdN+C4fZCJM27mf9c7c7EdHZzwSr8SlFHPyzhfM0cdjZO6yVr7UNIqJtcgJo1yHWzGBnikZh8GD2/rsnuWMbwRiyWgTX9hH8Xf1P1SS7fo/t2NrXG9iU4ModE5wkxkBybwCzM/VndrXzabVP86ugUsxjjcjobXj2k+UYPAWSHGJkfL/fH5D1h+ZxmhCr3ADQde6ii/1fhq/jUpH3I/rSgxNYwZLAYCz4MtTHQBh+wvq6H+BB1eK5Z3aDP4ryJmhdHB7OTtOByJktRORTEg5kiY/LNLxHorJp41dICM/3HGd+upfn4eUd7Z2TDUWBD4Fv3mLgjzfhCRYRkVCG48AzvaqL+ry8pXFmUcAwyCvjv9NGmmXX/FLR1vzPnbFTGsF60/SwMhrCkuQlFS2d4xiczA3O75TAf2woi8ArLJH/qGQPtrTH66cNlTvyv8YWS2ZxwWGrRKwqxH4/laHUNPDfOOZeHTMwkX4KPMQCP4YmMt9aqedla9kLodPAD1WVhonVaqhPvss//DjB2u2t8LvbkAb6hmb8o2Xpnv4jJYj2U5RUla5ltugvvsv2gRj8idb+RjKdXXOuOf4kWk1tUHINocWsb/cJ8c5hbWJVDKVf05Yg3HuAucKNHel+a8VP2d3NDCwlLulI6NHrZYeFGEpZnFQepJxbD+4vfHtTx511oCsokmdXO5VwTHb+MGhOaIuZbQNshw8UWKQ/zxPDzK5kDoQpOfqq0iL8jPx9HZoNzdEIyvCy6NvrJUKLN584wC/nTF/jql/OSFcqQER0rk7A//HCqZ8T+vP/NAJYXECNyEzNcqq+glXEToBDMWGOpZsdAL1yPB/RNW2Ie9w525dPwbELwW+4AaJGwcgZpnHXQdDB7fzYCBZC9xL82rJOeLMT9lYJPowj28C8HcH6mUCV7Xk4aFur4UxgsqWX1+JEhX/JF7mHOOdj7wT8fOmgl3jqPAoy0O6hvC9HnevTXogfCXdUBhesfbHnUFmhfm57U53GdajLcOoX0mr0BX0xbUYClpjfeKKdXgX1ueeVv/HQ4mAnnPEhycsewtopwCdme7tgfMl9g3n+01Q8IIAh9oZpQUBZHKgkjgzOVdFKe4OLFNgllDT8AojiDpjoPCm2U4mwkkxnNWNmguPjdYDS8S0lCQZfGkY0MaIEa2K4jhdDlD8s/VLmDG1EaS/nFf0UIDilArcdL4uLJphwjhq5uazVCHCnfvhntqMlc5bQ7ksYIaNL7eOShmzpNAnio2bXxpUrXO83ZH0al3fyIrLNEzqGsVikHIcevx7UlEVJWNmqMRGVEo8BCo4x6AbOPgdzoJGBoY3b5LXCYkEXUxZKay1szx/fjmvUwUCs/NgaLBckuhJOa0fQbAj01f/MV4L8n1TQFQbVzwb2TtGRpNdaTRejZ/kGkjQiAfXM/VovsgSL/jobXn+/WeTeQXb4sKYYnrOf1VmhaRiY62FGZum/kPCQHxBYCzPr3YKTGEcJNDx76pAcZF5NfFsNpRgDMw40z2rht7jUiZKYMv7Bfp2lIYG4KgAbsa0dFVgBId+PDAXkg8Yq9HFlPm8T/WZWJ5r7JIi2ziUTvkQ1/Jq53SkdWAnzUN6pexD0ASWLmsYpNQ+f5IJTpUvTWPqlGyPK8J1Mz67ajw7bBIkg2tkDZP6EGIRgaYD4PpJBUqGVrJDBTr3OD/X3+7EFSwv6R4tyn8MzLGicufDr16/WGjW1kNV3bivZjmw/EMlvcMYROKJxxaf2jdyUdFjntIQGh0v5Zase3e3kkWPFPpVvwx9dF1VlPwxvuLI2blH8yQRr6Rd2gWGp3/8eGf+PKtlLLiPfO3CyW2TYhfeFgp8z89LXZG2mW+R98sUXuYuIqF0hQpz1YQ6cwTf5nzgyEVBaYhjUbxn5Ai3dL+8Ie1U0pdReOOUH+FN4ILAjVVUWdB/OtwDwxoHusLKCm1txETROeSAo/NuRaenSVqzjscQxuamfgfufy2iBxmXPuHQ9s2Wp4ct4fM83rJCbYO6HavSaw18qfE5gdCE/CPSGdvGnrEsBQtZ8rJz5k+0FW8wsZchNcb3pTr73XL0pWROWAWhn6QrpKYGUhade69dwo/1Uex4xQke3VOOfKv/BaGuHrwsJUSM7fOF4tFZrrehhlamMXMoVz1nhzy471WtpVGxxbLag2XUcj+n8LW8FV+7i4S/X2htQM2F6Pu14HXVXaSnsdRch/ttaO44DnfXVvF7r/HksZUWddtqMpDrfVh2cYLBngTOIvSBzL9aPwuVYVsY387chkxs8TdtlrdiBpT7EwkxjRfYiYqlqq3GkMbDXxOwzF8JTRswjo/dztkIJQ/HIQB3HSLbWSD2DuXTR2VjG6WqoUgbHL8WMdDU7YaTrqHtNG0GRedujyR05f5FvanccVek8z1arjn6JzunUANuRtCOG7CAZIMp/bUyF+ZqAd7XkedNTkIixAo+nQyrswXklIv2uhiE+tz0U+kSvXIqN07gMcgcmxxuvUEBmdKpqutHXDp+TfV12MVuc43McR8bZh/1Qx6xaKb9peJwKR7/YmzbOp3GGWB10T+5uULucwOfz6XT5lRSm/0sSHo9H7TrDvnra/RWi5IupGQpKJz8wM/o9lz6PE+SNe35vmk+9uVd1r4j26HBUtbXncRylFGWq59k3TwnbUoHa0e/HVauq779DfFxGKDXDucAuKuQz6oarB8MMQ2YOenhLiXChSXAg6Dd49OxVlairhH1rDPn9+3cPSKO+66HzlmAsExUgfFLTDAldpnqxS2fHkun1qSLUf4UNB0idwu7LwOGl3zP9DEN3HcjjCvk892ECRSiUIM3s1gKQwED/JLNCkz4EmEGXGHIA1KvM8P5hY6ZyHKNCY+ZxcNbQGiYhFSJWqpjc+Gl5KAVknYjU5x8a5tNaq/U5fEIfsWO5Flcx87/+9a9Ll8bBV0R0HEdmcq21are+RzmslVor1b7rWWaGE9F10ChqD6+S6PGr/7XonC0LCsY/zC+t4Cqi7BazpdGsN+Fh1+Ku9VwCE1QVUytmprF3z8VBs3ncs4jJLh1TIvuH1Y4K8R0WvZ8zGv25bgyawY1E/onyhbYCtv4eFdUdBM3Jeq5/fULTn/S2Vmf0grr6+/BAK/8VfOWOcEqDBJhwI2m7Eoh1S0fLmvgJPA9rg7xmuxZ7KgPkJfkxLOkF555vGQI+uONC+KFC4PlSUrNpT2QGT5gJxJc7+NhK+IT5uiXkfQcSSvA/4ZkSq98E/o7BLq0yW4RCv8KVOUs5GPvXvFOmLpiPS/af9n5od9O07M/Bp5lpnMYasOzoDRKJ1vrt0phEyQ53tTM/WcWyn6rKLERNmRopNyVilTriow1qkK8AQUJGB/yiItXhYFM8d2AIhglaa3/+/KF5fAS7Igzd49aa1toztiSII6w18X+XI0lE1+rmN5XyUwktXUPWFdTXYC0BNwweO6d/UzpMBbrHQ8DTD0lf+ohdW/d+HGm/N5hPy5Kl9sNPwZ/Azi8htCyqIUoDqfVSbvKOoPtxMAM0GEzc0fzsIPWcWNzrBta/ieJItchiu1widpFnYN6Q3IqW+TyYG5wz5rR3xM4iH59HF+N13Et4HYaYKpvj3G6YgMykSU+mXr7zxBtiGJb3ajeiCRrlNV2XvNHgYYIQPY8PXzmSAT7VyRv4g9UPWtpaozcW1AfBZS+XP3SKWjr+I3ub7EuX7SJjnWk2sjBG766t9TvfKNeNINevL+3xHqWdbwl//oh3zcxfmpjr7YdXv96V4JR0lSpRYumSD2H2403OvCmjxkREbGkWVcuxbIDztOErUtXul48Gp7GPYfUGeyZQk1VV4GpCHN8aYVy9S21flVJ81MpbsaH04Dd6WiwTN1zVxW/IgPdkI1iBO07JhnfRQb/D9KUsXxZUzaWaGreW+KBf05RjZXpvdiPq1C/vQLpXTV+GKTx6FbCXShy0P7jpHyzvy0V1d5L7ZzJ1evtaRZ3z0ZS44IeuA2ghODptfzt8tzSvnx8agHqXD+k5sDHL7t5VKZSQBITnUEdVpVyzVPeahm0h8MztiSE7Ps9nKF8YjoCNS50WZnuVRUeZ5+IvkZP+08IJApAAbccWr1nbNFms8xIISj7Ep5Pum7gInOUY3AUz0zgR0WbTjke7xzwUTQEVuYd1FGxtCQe/vamftT07YQyEutqGGdDO2L5JfsY/I3OrjRNdzOuT3N8pwSe4IUg8/uNn+sxBOroKl4jYTql0lZbxzdV5A6az901h9TSriY1jlfIw5lBrqmT51Zjwv3BT1fM8+3VwNisH6xlaa0SM2ZXvl0L7VeiT27AIeja/2osgTjld57jtaLL3MmkRRpwjqF02pKAojiXdShFZn8VwU7D14E91k3TfQwsGHLD6guk6ZFWbxhsiNKQGvGW7SzihPs2E7/zCN8tWrLf8QGxfyh1FGcwVIp6TGZsY2lXhQ/vV/7MmuhVZ14Tm+LeMDSEGfIGxOdgsRy7tD2TIfWB7qaKZ/8t/X2p1ruBeZteiplTD//Q1DUR0Pp80JzcLnkyEXM7Lw/CkIMmUlkvllgrJ8xqjQBe6lNwKQlPsU0EmpzCQllm6hI/kX5j7UiFouvfIx7q9wAq6LQEZFGJ4oFlhghciEOWSOS/9gPN5aSyBRYEEZ+89sfethwdHABuiVcfjywVx3kUB+PNnvHpwL8H6UqOLgQD/M/jPl+0SSBmR2Xxh7WLeJMSNi0g7mGvtIdR0JnZTFe4DQKBXgqUTUTxnfgazwVpY7J06B/ATGcXeVMjYfPEoF/3777+Rnw7z2JnizjMSTcb2UimXzvqdEuJQMGzkgqYsyn5dekxY5zDFsBvUmBnCdjSVK6oZBFmHyT2ZGEXUcwjgrWNORKT0vAf4tfJSjqqfjWDZrzgXIPOu4BGUFmqGknXxoWTxZVAJXnVVQ+VllFq6pB0rLqEnHxSDUFJg/DYjgFhlyParR3edZ1uy8i/L8if0Ml5BRJpevxJoO0K7hEn9wL0bzx5oZ/BfjjkG1xSrpuElGp7unuTscAMtwY00OOQCPaazJbeF/jA8I/wL87FBkIiUtN+HTeQO1qY727gV5J1oR7BL14EEKQTPSaD53gRDSuShKCyoD2BzK4FqU1RfvI/1d7ILqvVRyf6ENtkezVqBVDBfpyu/WW4IwefL3L6bzq3bDT4zGFEoucKnPL8R4qbYyuPWl2Rdsi7M3aN186HKzGrdZ1KlRnaRMnPTRio6bnNv2oiJVGh4IVVV9SN7uhw9u+qDWDStvtJ5XHkAuVZKIKMg8VKHgDarnmAFv6nzagCsIHzNKqJIfqrs1m0s5aeqsmkdw8zy23udi9UY/+YLT/VxlN6o5xvBqHZDrMHHhaaDK/zBgp4UkflJWd62Phxn4N4HZN6zJaQLIYL6e51y2UtkO8g5w0ByKPkmH4vGOI2ZRBD9rt2sQjx29iEOS/TCVzRrmlXGhQg03EdrjWmhmRmCtxt2sXnl0GP2X0OCZS/zwiaAxgxTTiHzyHTRbP7ZoWEd1JCAP36VUFq0uMRBoQPgYFExCDao8uiiIAIvXYHhJjJtp92FVQJxozZ6uzsLWra7fG6t5tG+JQ7+JnB+x+03S5bFTdM76j4qaGIud1ltkNcfTbA4ZQAZK9RztCD/MMvoZbtZXjf1rWoK5EJEIfboyG4nA4GT1bJL1DED6zuIWzvHGVcVNcGfzTpwD7LtVcyT/qF1wp4YrMHSsf7S6hyZ3TT3wBChoBDvaOTLyJHrMyzRf/MTRCb403sM38EfucHcL87zBOtCdeXQX8IPLiy//7Jn+R9bnKXOTBwFW8bF7GQzx/B9YNoyQiCHP3IraCkBQwRikHWcm8Ipx3pJS36JfhDDp7f7jrZkSnVeVjy1ruvI6s0pmICqHr9+Te5i1LTdOt7E1Qrwzf1m9vVIXSDWv13SFVxZ+JVWapCRd9yQ/0g+Vg6NLuGrTpdNMRHZ0DgzQ/q4U8gbt7DU5Cw+XQXUoIfvuPfQdHiDmuAII5N3nwTm39D7ZkHdy/j8G3wsCsXVQ1VzsvFl+A6cJhuJ1XSTY2U86W1/EqzsI7XxQawAkMwkVgmcZzDLn0TEjxSplZi51nqeFT0MkuwzfW6hng3j1LyOBAv3avRf29gWMCuwqh7a2GTMHUv7P2pVmYXtzThtSEmJbduks55VyQd1DI9aa2taSpFS7FyowAVa9eytgs9xUjqimlBs2v8LgcEGDIlI+Jh0V33Qz8+7YviXaDfVVU/XXKKmp9qIQTmYuQ9ZMbM2JWFSsnOJ6DZqTvCLMhOLr77Qpq0Ph650SPixfN9a43GXk+Xjo87ZWdc534+NrufYYqpdAQwezzlua83GVg0zIrLhUPbj15j7MhqJZqmkjapt02NmVmImLgerNm1NRItUOlhbJZXj0Hq2psLmdJrWVmsT/ouItTG5iiupqmjHmElJWEyHVZUejoMOOwDucX+j2s+Ql2dA2w0MNZOvOY6QIVkCxbWdIiJ8HdxlbMznTlFy9xjh2llNq1iEhXlkPyJ24LeoqtamRMx8SDmVTbgG5ShT4gWtqPbeEXubTjczPR4F0LYhh9ZaY9HW+vFUx0OYS621tXrWU0SOR8HF7K2p0kFMLEqqDPv7hgV1ZHhMfKtO+6jQgSKLLhmN21ydLXbXRv3zR7XvYfSaBKuXXATmf9FF+ietNeZqPO+gxhR+01a430PA2rQ2Zi5MyqpaVdtxHMxkvLIhOe0rSNTRIeJnPZlZiogIU98iLkpkoqfK3GySzxBU+W8+jiK/iio3VmFhO33HDrcebGQiLkR01iqqYseVFSE+e7/84FqbtqbcWK4De0iZu2aJOViLHtU38YyjFWsfCrjCGDrw5/PJMOlJtppftXRCmLmo6vNZReTx+D1vPWEisVt+ldrl/CywDc0IEzemAaU8WnONmBJu1ymaQsd0zpPCFn2kyD/3xTduofbwHGsNabiagUYrpdhRZ2AXLZwH6S3+3U7PBnx1kZ9TmMtB/YjajqF2QyOt5t+IbFxnZPPNmEfM1CxA8GEK0xqptsZGozlUHTMKFhTYedLa07Px4U8a2QwejQzJFECUiLgLq/UFsq0bwjFkaHM9Ok4hImJj2nkez+dTaxVRZhZ9SpHj6CNBtdZW23nahF3/0iz6OA4R0d9/KZGKaCmiKvXx/Pu/VelZGzVlraoqxCIkpYhIfVRhJmFhPuRhK+hrPc+ziUghLnJ019vDfSFtpM1swZrmh9huxPM8n+ezVj+CUX7yLkIPSPPDW8nsbBJfLz8F52VBGgPhtB9ZoTlgMKPK9l/daDOQm/Ky8vA+E/I0c+wGCDMTw4dvj/yhY2I2Tzqimv27FpfYIXTwoaHHo+kXUkY2OiYAh4bjiLRjNZ37dpQGLZaNBji7X71OFsQ7ZakhQZRLgS6/CppMs6KGN8hMfOnJFs38vKV0kshLtcemfe4pzKNl/HMJxMKHkVKvHCylP2+W79zrScAhwkx1ZgQw9YwK1hJMh7xEZqchyWzXYxv3BO7A0ko6mgrBASs/VQIJ2brxT+btLkJPvCjpbWC1M+p9A//ID7xZdk57Z246j/Tkav19OnBbp7HkLfDlm6C6zFykZC9qHSRHzMYU+tReKT5GwABHFUYtiFTH8vZjveTJUrqgFTSOMOWR7su4N3pkZhUXxdIXrsoxhG9UszU3e7bjv1+CW7ndr6D1I3DeLOhfdLXWmGalDKOa7rm8sx72KAW/fx91sLmXtI8K7hoiqi8/n1i9RyYQ2PWVmZowXxMidHUZxfuXBkIhMRqNvptgXS1+UrC5/BPtA2f4JHy+tOFc5wZbbHTW83VSgk0wznCt0KORpoQ40VoT2MascEBOWFPlssbPkZm4yipEUEQy286Sz2hNCsdnYxN5yRrGPDdbZIWmBMup6NybqSNaqyEy/E1fxJvkMsr9vgs0f4U60Op6P8RM+zot9mcR8U05WRs3RE0EBtKWZGbyd/Bvyo7teHcnzxkzDbVxJ8zMra1PqgrDabl1XOl8WV9KWZZO+02deb+sVXflwIOZLFn0qqGYJwXFRvj+Ei0xqFxX4PnKBNcKH76yEaw2EqZCi+QYnIOeRJa7gSZfOItclxYopIw4zGkPfvNKG3ddoDP8OMHKdkIbhzIe1vJAaTEE7C/gM8PpL9lGO6Ai3WDzeXFR6XwxSD4sPxiSo4rOK++2yzwZDv2uR4W4BWwHwAWfEcNdYbbrgob9vJfw4dLOmRD7qTA3JWaGcSwVO/GCuVgehozyBOtNF+SN+tEmqKihc4yG7SaEUgjOYqm0LmgDEjo0uS0EdVPQrEJkQlRD6wE95r5uNPvKbL9LBHQsI5Wxydkh97XqGtXe3Q3NVjMerl8RpcD5YB0EJ1K2fmnrddUVmiTPyAQ2BjVwA3H0gqyR5x3P/Qj9Uk9cLqrhYqjJazuQBkVEDC/aKExQRVUlEouhuAeQWZiluwKKnyB78achwZjIEmhF8HUZsSU//U1rjWc/9oWIcF+yJvh71P+XLhG3WeSaHhcItJ1m9Q4PdMschLyk6L4+QjYHziJ87U9njteTENTfZkiT3/b3ivqJnZwpHwg8CdqC/EFztmpusOZzLLuykaTnmFuvTdXuqhr3TzGzysFaie0CFW7EMqnx1eLloFpP6TwoBBEohAmv5jPOX5kiRPtBo8K2wdG/AOVwbrTqHZR+BM5H5SYgZfvhVRL5g+5jNqFtVwNexrSgf/WqIYfPtwlfRgwQYKaidE44qxD5MoWOIHPxCE0jgR7UbdHLjRL0TRWGalprvnRs6UFywcCz/ORGK/CTHMBodX1CgL901v7nMmxkVPHXDISgN6mq2oRU2CKxkjZmKcK22kyHX2amIlyEJWyLQo/j+LuvYGZbLBTQeymL8DJMJCkUSrnsDUwdCdauoHYhIVZwSSzydmpdL1A8/RqRdNIwupgWXNKBPvdouhAxEZ4jPyyLeo9lzORuSYs4T12Ly7fgv1gTP8GXGKp3icUBdy/uxPcjxZH5TrwIxs7zIC6lvBxb7/V52jTKo0t2PzGKLb6Jv6GZOZkkfnUtsnyXEg8ouQ8hopxg2chQdmJZMewnm3RzfcD+lecxllqZntgiSD1ra41Ua33ajZ8iYoN1ooW4sRI2N+i6HOy1q3os2jb4/l5hbLuNy8v9JX95BMvL0ie6SchqnT8WHOWb3NbnaCzhuC/wivZ/P5h9uWfMlhOeOWVXs1w110TNQ3XfeZo3Y9JIiq6pWwwJRLRbc8BjMFmHpfZvNwwNvvUKDv6B2oSgqJ6qOnrSQqSkPVIHH53NMpc2H1hyo4FWlrOxF7az/S8lhQ35V0F8Qfr4HGLVTSTJBoWRPlcODeU/M2fCVzyujvH0iKE49/CNOx0nGX9FZnpDl+5tYjzqv91HZdC5G3ljaoSL5VX5Oo3WCSdbljvMSIkaBICOwn3EQkI6vWqXfvSH65l6+z424A3QRp3cnxBoly+dduEzb7WapwAvxijjR5eUPoivZBTNJChnUMv8kxdcjTSx0micP8zNgbte/EmgUTuhLEu2iFCygefW7/0MgUm6GmcdRlkjwJ4T0JRKeru7pvN7tJ1l/aBpw46YuXt1ewwQUFiURuyuphcZZEywRtPrdA3bwn/t17Oewe8xjA/5ok83k9a0tWYTdtrO1prW2s+yscFc4UKlr8Rnpmlo6uri+qDXbFPTXJNjzsw4go5O7xgnqy5EM0fz7rBMEowaqSO5a9Ucmkjh7sLurIJTbkREe3xoiU+Cc9PgTxaeY3/HaZVpheARIo3rFs6h4Ba2oNY7x8Fz/rGrBhiuHfRNBhowv3dhwXNdhMDUuFtOayoy81OZqJp2BTj3ObKzVOdUKUy8gk9swfF5ikazQBE+PgRa8k+hBOebOXZDF9Z06oITfwnqHqvwxhMsHskWzX7QXUkgavlrJhwjE1a7IcSnBYPjC1Q4/vft+vPSxLDO8mWWNfjrlTIMMO5FR/1F7qKLEiJflNp8HAZ7jlXKo7VTVX3SMLdFycaXVoAidlY4IQEfbQxnO18mzDMnc7k3opflDQe4GEchyBfvEQi7jAk8TFCYnf50s4JWvM43aQ9F5+zqxm0zT+uWlhZBe1nvYGYIlJiPfsDfqyrNi2f6rr203NOPA2xCZz1brX05VPOJWrbshdm2TQ6shAPbdY4XwsXbMu5Z9ZmuEA0vAf7YLsLgrW78Y/jqRzTpp+B82qj9/04RabYZFMnSOO05ZFdI171OB7f+pgH4t6+Bj2fV12uwdo5MyUIJq1ZLprUNBvZZQu8QFw8PBCK+9z6hvn+yS7BE0hjSqvvOc8aGOIT3AcMdVxlSCpT4zZqeADmIGDHPrMB2w6/+Pjg4LGFiNAeP8IZmhX9HFUPTPCdqwe162uQHxwdiOWVs7yBA1PU6MyeEAXpljDs9wY4EYhiaCHDggWljAh0rsslbL2z75JlZ5PBDMVTVRxd2oBABRA/l4gzBA28DRZmNtNIcJDOz7tO9hHvpTI43yCIzf2eOPoIV2goQdtzgq7EPVPSb5d4idraPH2aBho66qvqox6hyZyxLntDKfBhurQk2OK11K0LtWprpvfG+hHFokZ1YQX5RV3Lsx9HTOBmzfPaTj1QtPV74l+yg0R3lSxfstyeGkWEey+kVTpfx82Zo1kUzSGeZ/dpH+XTqJfu3O0dgcC6OD2hjQWhsl+9GyBZl7rVfshdwNHZsiW3UfJQDG3WFUJA0JcPGVS+OP+JwVZ7PZcESlJW6zWxJc9EYAr1/MM+RX9WYqPePJ/h2zlPnCUjTz31xfKxOUxXuwyGtu27TE2uISYi5iFCr6/07g1EUuDpYF9c0EJhuMCRmJp6G+pH/9u1yZDFbFz7geqPzPJ2N9mwrBrwhdF7M7AeTVh/ZBu556zz6cLXJEhOH6cbYKYJ2ffW0QhcweNJSHkPz1XuQu3N6VC/NdAKtZrTTqxqjtiy9J54yr1pVqyUHquqnbFji0tpV00D9/v2otZ7nH4VuN5yZZK00Gqcl5Z0QVjMsokeVcDzx2ddkuGStnOfzon0sz0dbDlb869cvX85vn3kFk0vHUI0JUp91aKCa1thmkcH/Qj4npUJKrp+uZjyWATntvipIRM6z+nv/im8uAwalRbm78aJKB/PUOelBlPwT12RUmNba79+/0QRojH/8+fNEfFzffP8X4s7MeBu9t0izlSFdZho6RkHcjQf+XFFAJj0niKTAP2AIqRmgWY3qtKsOzGSsNKVrTZsdecWsIlL//LGDx0RYxt4UhmM+AsCgJ44YwXmWVoyjI74XlIKqHseDIOqhoF3cx3EYQ87zfBzXABKBQ8M1SNNoYjEM6RBbvzW85ePRLbSUR3n4wVp/zv92/p9nt8dSSilHp1R7o9bKeZ6Px+PXr1/czy897f3j8XA8/bAGvp0i3JXtlS9odf5yB8X5jjWZmZoQHgE6siTaZvrrMPxPF7D2K5YvO/o3THiz+EqXb8LBAm5idmFzhTfh0Eyvzl3zqbl++YplUY2ZlWwewf2sgb1LH99EjFe9Rox8RDSC0Ge8RUdG4Gex0cAHAp9106LOqaF/gk04LSKiYL/oE/MbvUxpba25uNej1VKbj8rL5pDSwAHnGDPb5DE7T1DKOh00apTmk2kiwE0HFBX7Bm2eH1DY/h8PZAhEqXc+LXHmomk7xbNA+DIiAb8t6DODmmVoXi1YdICwL66fgUM++KHzr9OU7lI64adcchoU/ACBqWaLC41iQQTCrwiQkvbSiofv68ASjYBDVnKsycx+/eVQbvt/Vu3HZX8Bk0FUlNQ95vfVXBw8jsnAXi7BVVoIrXcDIM9WVTtWufAhpViSJCKNtGrDU8q5H/dwJXmPRz/Q24/pGDxsUsguQ7RbEZWqktZGSuNECR3Ha9NXFrnfG4wlHEaz9w7vSrZk/5dmF/9Rcd2NEe6HshTw2lePmYjsiGf03W8Gs1wQ88s4NwoaHBBE+jXBPrAR8OQSTy7YLXsPaARvGJCfP+kjB8KHSFUuY7bCto57eOhnjWJbOo4xvkEp4+bPniVcnR6qnLQre88lvXOwnIY0crrg79/RB2Sm95AwUWC/y33YY1aAwAEfAqHULV5GU0Tb++LuoHeY33j8+5ohMmFbyEykK7/JTXgv2SUVlnChBFF2jgMlBX6nhEEgJHllpFOHjRKfr1+BS0gwKsbMAls0q34uAxFhvhUGP3bMNHxMCxBt5892BGvGSr/kzGmT8jIcFIzIBAmi9EOoDpQGi77HeWkIgQ/a7zWZVkw7qrr3zzqnff7G7RdJDsyZrGm8ZJ5mI03TVFVtB+64EuDT+DgUFcAOc2NmULm1EXHqoyJYEWl1umnDNQ3ZgiPxUsjjvtWxc9vNf/ZxehVfOs8ybdxxzC2Hs6VcKL5yXNc3YznPsztkGO7im12EOzPYudYgYODIroWLZbQxaUqa9D4+/4YycLskJCK1xktqlwr0fnEz6wzZXLoSsHrZnGsSxhjNA0cXqLuYujOeJW7+ozns1hNHYXbLce9QxjjmCEKjV75TmE1zMVG4KsBHCCHDX1KdaUdnR2jn8/UvW4VfkYDCIvA+IkIcZ+GXmKt7vfkN+uLABO4Jlo35FxvtHzXv9GvHuhzMiIiZlmjQSCL9p+DXaHY1vBlRcE/ndQK7wvuwKJ5eDZbsSg60vbnVhIFuAq3bgtKYIpzPyaR585f2CUFDeHS9laknYyHHio4CmYNm4nygJPjXLNpY5d6fLxwmygX1k+cQju/dZBTSQRpTvZ7+7nC4/iVFIK6EWd+WyOu4J8fGTqz1T9eTTYSv0A4WgX6GCA6u46FMvU7//9aar5x5OT6a8aK5S3Yv3y1d6WX3b42XNT0BupZbETHzr6OnNLVWZjHx4cqtVoeeM+k4t3Igf7loW6HxfD7PZ58ft4NMS7luBkOnUWsNVx4ZqJ+8KoeSVbzzSVtt/wle/k1QWHTuARgAfZXwfamV/hx8TWDFpz46W3WHuR+JTab1lazuU1ajx3mnvojwiChMJHyInMy+F1WYlIhVK6dkfTiHBbZLf4cotXGwsvvWoXhrct4kPCiqY5XCAC0rZ/yx/uTooeakY5vdZ1kcw6vEN0uioAlwdghnI+42n42egSeKJlflNftgfpoIsIv/roVExMPfLbS9NVVqSlZNlJSY+sC+5dZsx3sRsSpVpUZpyjUg/2ZZqpDpL+hYXERoYS/r0sWfwXzmeAY36g8zExXrscxFwpTCTuFv6F04pX+guFZn3aaVvS8NLcM5juJ/ZoeJreg8oqMpqULWBX+rk5RJxwiHqvodLLzqUO1YAZhFV5Ct+P2i+yG09yEgORT1EJH/wLX6cs9Wp4XaBtTeWB5znqeq+trQUsR9u92o6QtslIjlYGraGvVTgMju6tXeqbi6cH71jTkWuF9SPXyg48KlrkjLQZuTd3a7G3Sz5imYnCvWyxGs8PnY0xv7SVszvhtRu5YqE42+7B06HxRU7mB1N4b3aRPAxrFcIJnx0g15hV2XBJCckE+u0xVhzWhHAKddfOABMbE/Syl6neHmtnSoXYIrwjrSf72Y7BDcvbwMCVcKQkRwnpAF72shKk9ILmm8ARsesjK4UyBYOpDDwwV53vPh7/FPB9has0Xi3m5GAEkLErm4CmoWyCxF/PqtJeRQEIEQ5/BfwEfzJ9nenXZR0qbcbG2TijB51pJWvDFRA7m4FCjsPJqjQjC6e3plsIThXxo9uov/Y+ihgRTQrmksV8/tTFyK2jV4DgCBirHcatqcOq3BCgpzVZqn0mhGGzmGGr4ovIMT6nf+BbDI/yUyOVKEykGmEbvUULSjzRqVpQlnDK31Usp5nugi0LR3Jdujt+vhnIav8LiO0YeZ/YCr1lq7YFw3OryZmu184/DI2Dn8mKhcPIj0nQKgjWEWwo3aEqDa/jaGnOeYEByjSCJi3pJw1I2uHSTW98Ax72I7kuAy6aZ/bOZQr1JVm2o1rJkVrrb/ygjWbg2W6hQR/b+31mDtfHHQ/v85BX0KIukzQTgyd29IO/ho81eASY7Py9Lx7eDjgISTw8xV2/2HGY7O2YAh6btOPIRoT7AeOEXNV3eEuZ9SYnJnnk6sHhBe4YUxxguS7BP2NEZK/Nt3qEaBBqXFwOysGFGTnVjH856fYQEm7sJzHVDVptFrI0qoovaAI0yoMPgt4u+nJN+j7SVExOBM0fuPOnFRM7Ye6uvIMGIUnB03IsMy8ccZ6BDC3BO2iMC/MK2D/KdXrHNaHM/8q5F/GXiCcIfN5gCQrDP2kNdmjYfpqzf9M+9TnPtP0IK8xbn169wvVLZgDo4AhkbEf2n7Orp5odpW2cDkHR8zn7/++gtr+oA6we7UHR9o5jMyJNhXfiZPwVXbuP2VQDmHmfH0wdul9Z2w2C+aMAHBXeRn7gUtciPdZQ8mR4G93vZ8/umrq2B/cR/cUiLq6dRl9SIMizKv/LWUfpez8HEh0+zTa18zUsTjYkTU2x+bItw5hV19nuMuXQHppzD6Z4trZ3BDkkYylqb7aXH4xzhIMMSeL+A/kJz4v728dg8HRelKf4WB2SGKiFJRPe1jGrbUiOx44YxAilLv8tOVnlbuzwG+nz0QyD3gFvwgJgdLTdi1ZbkUgRu1YolR2L+N8HNEQRx4ztf9AbV3SaB7LrTWL6j0MgDc4OzPmVGOcxZcYLuqihTkp8Auh/Bh+Dez62v0BltY0oJ/7ljb9WHTyvW5MM8SfFmyHyZI9AkYbr/jn7zPTr5WdE7Kg3pkoYSWs9GFD/PmA7RWRGMlmi0+XgcH79EZPh5Xx9IKbjp5WTKfgxOjlcQVIr2OYxqIVERwBGvn9t8pwYF8LYIHzNFkkBBs1EYEfWWVy901VohVWMZNhSJCzCbqSwFEjklhGsJBrbhmPMq0hp2A+ewbj8AhH1LW/LCpzfAxM/uQuCWXnicCjf13tmsjruuPMRFx+Rbnm720EWWaFYiZ8MxJR4mZy/Hb3jcQieF6tUpErCJMxK3uEv/LKi44zKy4yu7ij9YmxCJFFbgMQ9zLNSvZIIvLA0a8ROQ6BWr2qnnEJViat2XyqvUR4pn2kSQ2AM5Jq194Qtu/Gdd/dH4+rWuhdJzEsKmVZrfieukI20jMUX611mo9VZXVOhkPbWet9JAiR6ntpKallHb+i1QLK7M2ba2pjbE9Hg+eTc7K43Gd9O1SsD/DrHl/QyePxAVxNjbKtdGsjy2fZw0ZgD3biJ1L35vw9M5GsFtrz+fz+Xza+WE4r0rdsG2jsZRyDGdBtdKvX/81eDhlPLZu1XEWkeIJ7uykhLmpnnA+mRN4iXsevmLmRnTWyu5umImoqfJA21vv/kWfLhEC/7AcumOixyE+ptiA56VbsDZtTE21qRIxN+LGQkXKmDuYBAqqRkWYSEhYpFGfdNY6ZrFJ7Yayx/Fg5ufzaTLqUmOWeWhh13E6dVwlZPrjowWko3NfSiliJy2RkrIR4kCMdFveIUJElVlHj0Z/+cmgJFxrYT74LEUOJjUFZt+L3oTJ9p8zM1HjQkxSa21ahUWryVdFhIS1qTLVqgORK1Yxc2ukSvav9m2/xEy/fv22hS8Ea8Va01Ief/78ISI7EOj5fHaiioun/9v1jcnWXPuG9lKKlFKf5pec2/0ob1Xf9TwtkjuO4zxPO46I5oG30y+h6xS11trj8aCx1R0VHkfch26awl/H+4Vx+jDL7C/dA+M4ffCE11eV0U25e9dV2qqqhzxIa21Vx/rtIsJUWm1EmCkyBo5hvB1IrbVd+aIQEZPTqET9oinnpGoLB2w6bsfvR8eNGrEUVm5FtbItclJiYrHrBxqp6slxzRZBQkOQStppWPVfv8/nqVSPozBra+2sf0REipQipFJrVbWjvKTW+rf+Hr/CBYXMevzqtLRW+fk0rdMm9UlEQkzMNGynMIntuNJGVHHsrRx/lcevRzn8EKzC8ngcXV5Nm53lq2rb0Q6UOhaPN7sKuegmjVi++ULhlNh+oSh0RL4PcEmXv8SHpcF8oV307yGcB1pCvFw27Sbk0JZ4fhnJ5U98GfyVsvEbqwGCWd7U8ZpurjfKSamr524x1w9+Yffe/0TG6ki5wsVVGX5GOOiSP6DjXmpC1kZvIvATcc74IEMCYu4fVS19WJvADTLvl+yaP/o8wEE9sfd5Ct6rhbYwrC7RWOIZCM/8Cby1y3GJqMEpx7ZlyewmNJHtt1ta0qWu5xv+LD0/WgeS4C8Rh3vJeh2BrQxBmW8+jwSuNDa/QUkFnBHOjaPw4ms6kVG6n0oOML/vY2kjI/+JEgnjz0tv3QnvmIae5CO0dfSvmJmufno40e2FQ8YWVUfn5QLmM+YXBOt4Mxz7vrRoGtw727n0h20++ttxeD6fpjN4wF7ms5ftFCGu8whce6cEtfv085flpQHfIPZTOCzpuiEclebLBoZLu7zwuKoCIQ8Pchc4ESxG0PfxCRb48ltnj4goSWtN918h8PDvkoEeS2DkafowNMSwTDh4ees/hYCR2w2SBbAa/mywzeQ4jnDSPVamMbaEsnaAbT5Pq87n3fPcZ8iqyHNZsn2qkBjOKUpZz7tTt7mKZDXZ1AOSm8w7WsRjPUTQ8139ezgOxGHaEgocBA01Q3PJ3BaMbXC8Vph68A/D1NLFn+tcOnZusx9Fn6bL23W+3YWP3Z3gDQY+hEY5zUa5LjGMxITxS5fgjgkZTw9+OAwZRPmOZFElllrqbzj1dpDVLmvH8Kb1L6Ma4bz8ZgMn4J/RcH27fpvP+OgMeZU2IUvDw00ZaKiq4jowmu8+X36I+tZH+nvmaknPXZDyNQDhJdqga0JrjevpcnfRc7p31cVd6zUk2eZl1gwDUq7M2xGssFbrHYZmncZv88NHJZs93Q573NsGgY4uIb8sO7qy3YaH6Lk+5AYuUkZQbWwk8ZdjzHzRNdFVfNIxQTOhd7+HcNVjvlcYs7GulDaeP7KcEHV4+qT/KnCaFIH2+wOlLNPtZ4mVV3Z/ZPi70w+WhpARjjN/R7uOla087lbKBh9aQZyvtQXDWeBUZiA5Y+hCcW4EwjNPeoVRLbM0fK4Q8VEuy5AWPBE2fW+MnncG3t74a/wV+ewpAtKb4e+ItWebVcSJIUoauCQfHfeSM0vSJutmDnY5O5+LzGUfpjeUQ/6iE3JR7ZstZNz/TeB8kOGDt0kkMwN3I1i55k3JbiHoA+ow8hx/JdAKNM9lyfr2Esn8CTN/eg9J0A2EHPznrAwox5iJLlHVOUbk+jdG+j7YgC36DXuwBKs2U6TJiltrYx5TdcQLN14ToveXAnA0Z4VMNFguzxPBqkp02KpUWzHM6Ta8Uc0q3O4izOy49306x7nwU3j4QmF+kfz++8v7dOlmjeSnlCwbQq+tKaqhHJcyxW8/5TD6U5oU8a1yhfDRlwrILz1FfsjuEtHwwBn00wwksyLTGP4NPwWKgggIPcJmmzHNPF8699mAyQFmUPhJgIOZRGYU1umRZr4OAbXFNQqfdwPyGLFQrDiy9VHJQXRZsto4/oiqKx6S45WD6HcantlIc94QwL5Dpic0ytPc0wDYG1pqSzCQpZR3+LtAw687/6BzymhKXjfXidLM9hSc1igtS4idDtbsPVC0zM6X5UJsfzzNzlPtSqjztSiWne3O6pfIMPSZ0Rkyr1kdgC+d1bIM46rhDcF148Ebh5foXgZBtdaq1E9tVZ2mCK1GmOHJPR9nGvdO7AGt9wUONA6k1X7ZlY4H8iEd71H7SlCC/rm7l+1lz2H4a2dXoWQfFNgX+PhpQU7dQ7jR9awlX0Dmhq6sJZneb5pZaJRma0HgSyPMASMgHz7h/d6QpSW/GTwcuIj02fpU0CHuAsBEb4vpo4/WLOHLuNzaNm1o73yQMZVAQMPSFkE00+7VsHMflpg4SuisM6XYVrYvf95lBoFpDKsTeKQ+lGz8GuJqlRk2GTlAX0pHjakJX/Heoc0efDvClJl5oz9L/u+GJ+8LOG71y1+dY/inO/TwKwHzEUOFtTgK41s8rsKkOYTg8CfKUbWvxBcRP1JcVckGVkWINA8ZZl4xTO0xX7Zjkg16FdALxNq7oHI8DoalV+IOJUuzjRsX3gSCI/eo7cEWds8ZH4QgInV7UMALUEvIX9DSXbsOEOevQ4v5K4YES6EfaHdaZ2N0aS4ZeEM+r5J+07dgQYhMeKBhPrX2s6bO82x6iojtpaCuh6Tzin73b44hpj46EiAR8YQpysanU5Vsg43ttSjCJMxFWKYRrFqr7RppqizX6czbEaxxG/ZaeLnoKmfCl9mGPyp7gX0GDZmePcgXSqDrHXaBt7pOZn+z7CKoKyU67hubUSgZcmjxJXOWgl4WERmncCtfyy2lpQNsrQ4mWPf2TOAf858Yt/ATH0PmOScI0kR2OXtD04i5P4TFbVbK5vAbDBJZOrpaZYIjQOhZEO3APZ6HtYNf85qjLdWZLTr6ah5ZkS3ZzO0B13SiTPOapPsSKEIcdvVRXs5bRMCraVq2TLcpPppGYNFOCjlRC4s/gqIiY8a0YIdDqwm4QKb/CVMn5O0SkdZr2xqlzPjGhyAVPljlCgxobL1KVipvXSH23xfXH1ct5GGAEDRNNeajwWCZt+cX6Owf/POdJi9Hat9X+4DzknWIBirARUt/ZmZuPvAD6GdLzBgGL3GD54WJTujlD7O6Muj5EOXoqxAYaac0JmqhA6lwP6DDFDuzqvZF7pjTcxrezoITSLAyRTIO39qOYKEn8lbf0fj78n0I3yzobelLKr4sSx+UH8Inqlo+PMAwm7QV32Fuf7r48TLU/GEAm/X7cri3juYj/HlcP0fXbWhrk8MHV78sO9RMTdnAjeObvM/8XlNg3jGNZu+WH8Izj8QuIxM+XypVeDaYYRQK1wTQShUD7YE/6Gc1zTjbs2+Ax5c3JOAgE87U4LdRPPsSpPO1QBUeaE5EAhWYINpPQSKBSwGII2x88KO53EcHLYWHSbv60lrVX79+LelCNAA9pPeqyWkNq4s7m8ySLkpG9KZDCAnBEgfH5AYOouqVNSQW0OKNG6HB4XfGz3AtrI68HIerM54EzAFefT0AvcNqp5rnBEtbCwkW1n8T7D1uzhZLsHacCV8FyHaKVW12nFOzoVw3xoxEWNvaRqFxCgZDERE9L2XwxCsTexm4ClNhKqRCxETcH1TsbItxnkkRPoTHWTuUXFVoxtvYTasvO5G8v2XdbSDoNyKDD2FEzYUnY7cX+gWdDyLD+kf5RStBBuQd7TKdGxb3y2Si8u4Dmr1AYGkm2eoH/J3DuKhWUzTleXRd4WTF0K5zPrhjHln/wKSLm4WxRSdK+ly1epywA0L8ZCmnyEqt1S5wFr+UEHxoa60qHcfx+/fv88/z+Xziri4e3Q5EHrmhEAhRlLhQMSQfdrAzEdstuTQOyKlVmcnYz8zMhfp9J+fSr/E0C8PeLkoQuWGHBi10QMm1i1O+0lk0bNB5jhJES1yaZPhTxqrerKvGEIfhTCaiUo5xno5HWenj6KvmzH7xvdX89euXQnxyniB63jpDPocNMeQo4X04b8xV1Nho6vR8Pv/1r38dx/F4PBBPtC/nuZ2vg/INxKJM7dlwQMtCF+/QCMzWmzuOh9PFzP04LqJaK7VWClOZ9iv4eWwMBw6xdD6bBjlphptxw0lzOw3+022NofvucPwkPHv5fD5tHqeNbfAudPsk8KGNi3ttrjb7bZ9mdY7ZVXF//fWXYYuuyX4lGC/0Y64mZqYeQhAiM9tBXg7N6+ORv6jPGQ6qbrBonkdK0DXlkc7u/cCPGc+9oVwfsVLV1q9acRMzmExEfpBHcFb+5/P5pNl7YLutNaWmqtyGAwQqBEawXEBhSG/JQB7nJpZS7CwuEWnaLx9U1XFrTa21/fX7v/7X//pfRQ+/1kZV//z5Y8ek+akKj8fDKnRHyv/L+en+Qa8ukP3HTbkpK0l5HFIKF5FhLKadyjaraFfpsjJVbdrSInfdZB6uKPjynyveaFAXShqMKKEGo3ot6Xofk0tH6XomitoQmgiKskw0b7Di2ctjK1+mhWYL2VVQ6BEGJodq+Aax+gJ6KN/Wmq3oZWb1DemjFXRAARk37PcLOqDgDfNzcJFLOPk9Fu9g4aSk087MhaevAszgQ/HPgAniyXPJs1f4SRRiChj2N8O/1LtyxLTdbZp1A/HPCuO049g+gQIEnmyavUDt/iSanDt6D0xes4E7tGCqQUO+bKr35UJp9StzFAUc4zKjtGEd5rUOcxkavlOCvt34ef8XjQXx+aa3x1YQvR3Ay+EAhH9I1t8piKeLXnV7R23+/B2ieF6ku1PLr5U+l6et1kZERQrNuwWZZdwZKAcfPj+IdTBeuM+5vFnSKOvYW8GrIDDVtoK9d/TYBgqX0G9XZHuF3cMPFrSrlyhxn0umQButzvH6mgFMcxl0QcMeJ7bofSmMnegywr+yv4sqcyCTswxROzJzkLup4y/G++hTdh7ta15GROzMfIupPF5iXmqttHFpzBJthR0lge0h7O3UGMMtpe1vMT4BblkQ+GuoEzB0aXrHlWZVwc+XDNzFBtdAdArervpIsN85P3nkzcLHTaKzRGyJHkEfHfHUuRCRj6/w6ibHly4IKwQF8DeX8sz45FGEmyYQIK1SB38OKN2TsPw1qMe9xTEzjWPrUfqI+XJlGLbiH7pXm+HHfOhlCdWCZubKrpD47Ei6q1wqxkslQZQyAlmmOi/28q/emQX7h8pOTxxnERknub+VNumr4BvaDW7zp4rx+TgOIlWtrTUbOrIZAOpurfi57Y/Hw5Fx3RhbAjVgKCJtld9jTTMcZ0Jrdt2Cjf/Z7BD1eyaI6bpIykDKEbzD0k1kJoY6Nwy690o3xZtG3xQgOxeCn3I2ETiI/u+H0p/InDp+jt6FWwgSlByHjhSBQN7LEpygv8Qh+iCCd1yb4/my6cF5F0GMvp26VQbzppPFIiJqRDWttQoxz9gGvc/4B30ItOxGEClpTq6z41Vw4m3eJGjPYTIFP0Q+oyit4JwdJSbfmwYFGc3batDGA68yzOAKwuc7XiE+N7jRcKDLRWMKheeBt2BWO3wyqzPDKdlaprSNA3UQ88y6zIqlISwZeGMyvSFjSKYlAY8eb2aXt2MKVljwrUI8DlYzRgUWGKLmvO+LMhCMZAE4jkA4PkscnPNLlVi+DxIPP2Edf4N6S0mF3i9LP/YRBASFvoJ7QtDc9qUv83iNzxwC1jkWOiLA/K2k//1ipufzwmYB/fJm7SGZ+Zq1Z726Ct51dGQanNTTfU5f+2HqLePUHh3XTNsNe/1usGF/k3NwM0E+eIuHM+uGlZT0ANXuR/iYS1DcbGC0OXUQP8c/rXwB309p5BRNf0rbckP+vORPqOyC33mf91qc7CqHri+ARfS0hzQVOCUhDPBSGFmc+yX+Bgc8wuYgr9wqMcd+pzAP6BToYlmf29TS7rMOClwD+v0cHgIcL0h1dvc027PXwV/z2FVgVG4CQibS2/ttzNyar8XsP3m3ENELgSdb5e7PYa3qH9pMgfPHiaJbC8XFyOHPOTD0Xwm0JUw0OF3OKGw30IKYIy2ySsV2yC+r6Ui2aPQQEAe9MJmM0dY2AWo9/JTSF/Y6Y1FJbh4C4SnQRrXMX2HEQfhLIwovGdKpJQ5B7hlhAl4QiGmJts7ZFYEm/Ih7R9Z9M6QuXYSXW5lMQFA6+HmuMP30bfxD6cscZ0/YxrEptoPLmrahbua4FtMEGpbD+k8q3XE1JhZutgGL9Gzjpg0mtctR1U7eYi5FmdvAxIfYTY3sPx3/HZmVS/v3n7JHzp8EGpbvd58Evxyku/Royyay97zH86ZcWpUa5Tlnx7ji5peHIrDmTaMh4BF4gcCHwLR7Ml9a2CzWjoP1fmjmQFCG4O8+Ld3RjyVKRhlOXeWCCGPTOIDvk7aZ/GCH+G+eYiYQa6YdUUJBeB4QejmhXLRMwHRXHyNBCAn2VVh8naUWCPe2Qou2I8FGwMlmSEmZif2W99Gq/X/jqABLr+Ko3uizPftqYhwLfN+osQmnUeaF80FeyHy0OB2ZvY/utNtdY8hhXgWeYNprOG1WsyFBZMK90ZmP8lmS1mrWapoVI8zezq1MrMvt3pNzU9xMsj4EHILpYYsouKDh/rwURDCi8Gtoy9EIf96r4j3wQO+noAJPCHLQLCAeS2uWcBwBxCQzZ8ne66cfGlPo8gLeKuzksAFca8pMks54uiwNkt1UEWFUdTR8TNAnldb13gjskqGnurbg4UMuO++w/Ok7JcQ5fL/UxWB+6HQwCF0m8Q3cZme62K1GIEs38rxaa0lgLgy9Z037AV3vg/vWFP4R4I0f8c9nybpHu1pBzWO63P2N/rwsQV5OoIAEMUcJu1Yva6cp/AQFyM6aktrzCOfBje5Yp3P+RxtjwUKzLs0eQXNlSgrDqYS2bgJ/+JdH/y/zRFXL0GRXxeXWuZdOYOdAdvqMPU6UBQ600HALN8MVQUmyi0ASdNxE5Ov8eB7dcQ7ofANjaJTn6O6k6Ry0ELEbw+lNzxVU4YTpVdPBkfK8ZZ2gF4EOxDHJOzoNjd0RbrTShI+8AQo0/3RvX7kE/gcDz64jO2SdHammhCMb3b0c/+mCKuplcp58HUPQbg/Z96/eJIeZ+wKvn84HRseg7wJW1abntfGlb/4zmZpRXFQQCFF38QVO/NcRWYI/QcUTjnfvyNhlbKj4LmP7Kk4Rflp+lpu0H8FCJ0hzgAmeGh1EmH/VsWTqU3xGiV1SdEyUgjGutcrjkwl4/ClHweDssK2PBHHvzQnEqsl902YVWw5X7+OD8AfruqnwfEGpzmlrQNsq3aO3fO/GlvnsjaKCBbe79PuZk1Z2k9pWx+LXfSBBT4GGgJ8EP7LDNogsizsQ6+Qv+amqu2N9AmKXw5rnT7FRZ3twf6GyjjVSN1wN7nLJUnQsmlbU5YQe3S4lm8LKS8MPKrRDPgPUV8MDA9pixZhT4ZGgndtjd4Je9YBxLDAPehKM6BbJ9fvs5wMhweO97wOX1ZY+dllW/jAi9hKHf7QE6Ux+YDPouATyHUK+5vyXxVYF2D0fPcGq1FqzYyNIxVe1k+WOEv1V7lEQ+p+ZRTo6TuhPFArDoSq4sNWP3bGXrsAHs29HNL5PI2CUlK+109ElENXu3KnaOh6+DM3mLEspSjSGSGh8e41MGN6+wO3vv//OwU+v8zDGV1T6kR6WUDci7pwqFqr9El8Tw2irzlJxIdlXk8YMztgiIUvZfLvniSePG11lbCuFmOElOD6GlR8BExPqL6OCqRkqjbTVylRKITV8dDRORCQcpzxcHG2cqISaZ+xy21LqB68zMWnT1pgPVirEajssCvHo6xs5tVa1lZVDd627IczEzGdVKdao0qGkyrb1r7KKElettf7h2li0kNRnPwdFWES4KtVWWTtvXaOIyFY+mh6aWf7588eef/36ZQYZ1tO4mmHBX3MF4ssuvCOFoMK39UncD545CovS2dpZa5XHxTGPeVKmEzjRx+Ul3uE9/ppjT8YNdFkJnIuraBegcjHPxlc1UmI7WI+I+1lhZJdFHNbQsOthH7aUi6yLeyEkbKP9XZqWOdiZTEqsyjbw3g/0I20q1TWZRJXtlgyldj5FpIgQTdfCCIlW1fN0Zyos3Ih19LgHroWokNCzStMHCSvz2aiRELEyNdJxs+xQa+I2maczmfu+J/LjrIDPzCymO0R0HGWMdhccEnNhNdamrbbKah11ZmY9G7WTRKjwwSKFmbiq1taO49lX4yorMbEQs1YSLqSNqDU97XA7JbLpQlcSX9LaWns8Hqh+OnIasymvj/pp+KNLYWYb6adxvJxzG0xEZGy8H3GrmP2e56naRGzPPDMXx8hGEJy1fnoZjy1jeFYcWoeycJFSoEtcpBSoAP+S9gDvB6e5xdnnflMktOv2ZULsv7bWqB9BTl0zxQ6ovGzZ9URV/cQr8h3xTds1QuP+bwTvvgiyd4Cd6hPybCFp2nuszGzmLtfxcObor7PHe4pwHCLSE5pUlLVpu07v49a4NaY/rcqw+cZNyC4dNzyn3qwxFs93vNjHXLk1asrSGjUqrenZ5KyntuGjqDGdwnz8Pkop/9+/T1X1haxEZAcc9oN51bedks1mSfvDyqxjlLo1Vi10DZkaJkcp5SgiUh6HHcDGbIdh9Zn3X8dhAUiY+8qsWmuti5Pcgwt+s3i0cCAGWTiO3Pi4NLISP8kKt5wC8IwhI2wKhyHHH96kbQk2F9132d8sITb7y4w8JSYHIPfwsRXIuK4xiVF/ZjVHUOHPy0+twn+ov3wfvhohXLXZFtq1iMOixXslQU27Fyv+igQCngucczX/1g5aRMH5mI3/6+tOIAzH8Q/vUWUbWZaAWKZr+bDUunv4BCOLS9EHorzyEmz4KQsufBjku8Mzczu3u0Q4LwlaIrw0ydAKkuCMcsVYij67l8wcd4Pwcj3K8lKmOxKCNmYR0CyIwG2a5RicGPKBR8fSnj3heynfgMwNLZ+W4D1oFl/gABHlHTP+bcYts/demZct5n8dODOXjbdZAsyEvxMH0fwJmTN/dyMCNwFKjsu/4LmU4+gP5VrzRNdSBwKPhLthLtJUWVWFpu0s9kMY5UFxB+fgLA2+wqsdaOHv8GJXfJ1EmJ5Umgbl0MBQvbIXCD5uSSFNCUDvBGv09YzAXyovgx9E0/JGr9EdzCY/YNWiLFfkXDxM+ZZey2JsRGVLFvaJ/dugBCh6u/UTpK/eT0QMFZ/n8IkNZdUyEUwSsU49C43rlltrVCuLMpP1B1xnkC4Cl2etYEfWUQpTcjxlk3d8Q+qcnHGg/SL3CgzptJyRLcxcSsG72/yrDPlyKDBkjba5m3DM9pupDg/4ycXGDYd8GNxr3niigIYLfelzwkP4XOZrdsgVZhOcUEPwE5wsCCJ2QcyGcNVEknUTnDIa6JdQGVy3nZBp2rQsToq/aUhHgsWTTBazuvrJegmnHVcKB/0JOtzghmwXmc9IZL1FbvNwfbTpO/mfImufFiR+qcG7FEfCEbcsgsyf9+E7WOTe/Sd5pAc/RLnjgZnIJVzXiFbcQKZe2mrvrbc1NSoHms+oLJ5tZb/k+C8pDa///+z9za9ty7InBkVEjjnX3vuce9999V7ZAspCIMuiYQkkRB/oYD7cAQkJWnT4Oyz/JwhaSIYWDSyQQKKBEC3ksvkw2Jgqu+rVq/d57zl7rzlGRtCIzBi/jMwx19r7nHurECe1zzpzjpkjMzIyvjIyMvIclhC1TboBJ12uNieOiPieTbQWNd3Aot6Otx+mUsRURWHQKQmZBlGqWI2Zt0D0kiLfX7i7+wIl3a5cp/zH27jmdgyErL/ohDKiPqsiA+JoNwAwE2Wp9AT+hIpgpdS1/z9ZHgmedxabgvG9oF0101+arHe2j13wqNrhpzVOkCq8VqOq/k7sW3tHy3VSGgLRYMISQEhmWiuxiTSdiq1xj5JBcd/3XDYezXdb3cGCUgBxlT7Pk2tUbSy0ImP4fbgIBXkVkUx9Rz8ZjgHzkk3eQu+JqwA1jTSxz9zvm+3H1y7Ostl0JU+QCGeuT+BFLxFpEJhfBqUu4ZwpGSGMt8KJEs3aeGgAEZVGtOx3qVTCkR+d4oL4RMj0Ik2ybpKBYcIONhn8ZRovopiLraxb63J1HnKisRhI8kJNoK6RZj2YYebThFhE7bxfP/P41xaM4IlmscL05LKvAAnfiq8z9q4KyjR03iAL0wXVpbGsiCf3lda3iUNdv/N5/U6jbVUlFaKI8BMiNtOe7HQhE2Zim+ZamFtaLzLyi7lUuX/IC2lsqtkbmrkyFq6JeIJy2sZfF9p4Jj0RsE0rAWbeljPxfIK/rSBhzcvQq67nwSAnI3H0N74u3DsVJKP3tGNmSDE/Y0l0n+QRCI5nGy7fUBITuoh3jpbRcTJz6TwdS5GBImli1+6tNTOyqjXs46UgSASN0nAWhVhmwW2Tdse+zjGedEtOKWbmgPsb0YP/k/HYfwIvzGiG2DgE5mog76S3JGWek8qsjJ+3HJhBEr3i08RZs2w96W0kHruwZlJJGF6OFJGWKsdfpIHwwaQWRngW8ioJWfywnLiZQpaAASVwQKiqjne/p/CKLt7kiCVUS46gCZM04hOfR5YNvG9kiXlsPz5HiO08nD6oBUpttA6DxfjrPVgzVF5wZ2DcoloY8TRqlqHZrwRoST9taKPQCDhpots0iYNcosyYNC4wLiQPio7CkavFitF5PBlzfNB4ScZyQa7jgWURIS0iVURYLYjaYexRd+v7KhpyWhxmy/9ORFtRiJiqaLYmDxZ1Q+2kpdWEIm7NbEuon995Z0niG+TvYhP9iaBPAITUnlkxfh0rD8AYrOeej4sn06rj5IRWW7i3gzGcCGVAwvsQdvY7v8ijPYEVYoD465PpWop11BDIjU576a3zb6cq68aFx2kik+Duho1K9xzaCkgzZSLuKwYSqVrNTLV1lGhG4KRG4qh4EtoxeYa8XKmEJY2dr1B+K3A1c5qZkTKtNrZkDE4PgCNqEttJ6HoPjSW+xr82WTOJnBKi3uxl3kF4jkMeDbIrYAgIKfl7roCZZ+EKpKtL67E1EGLZIIh5QYiuwMPn4fFNYD8HZmptGNc4fYzaLkYRRkAIyfeUgfJXaKQRyYkMsI6MuTaQf1GP4vPUBY3M8k74bVQQX2vQpI4QDwZnwwO3V1v2hDIBhpCGltB4NSKCUGavnPAGCFyg7mqaUtc2rm3wLWSNDrPYGTEozDob+2ZGNhwEThyaevemqJ2MaZgRLiJKpswbc7h4k4RZYy/ELDN78Lvw4cCEgeUwoNfKxiCEGYE8Fq/WdlRmJIZQW8N4UQIyjOFVVWwlwLVxhYE4RddIkstYf6aD1CB8Hnv5GhsrPZ9aHr5+LcawIFtyM+YGx2xMik47ntIvmVqWtPJAIkAmjwZlVPBosA5Dnlwss7gf24kZR8lyKlpVLf30eCnFRGo7dplXvV48jAkpnserNtAVxLDdk4gqoWvJ6qlykolekvMsXtF+vXyKUtdVjkqzMyFk6m4p3Z6UWB2i6nq+bzvLgSftG5S0fbbk0yWqQyCkD6mLNOqEnJjf+DXhYQmSnzYlmK8rzDwRhsyMW2bvkQBLBkkSLDEUgWXQoWWzMZ/7MDomIupnHr2EJ4naIucNUJ+zwFWZXzmOA+dxFmiJnp2vFS45QYaa+2pn31a8iWz+nqm5GNFwXJ/6+spnzKzdHWRtm+xcwLyzRxzaE94cYSBcb4S482GmYwG44iWgt5lnO6IHOkx/l1wc42VmOve0+/6geUdt292UTblLxQihi+FzbvqEhIm615BErVoPioW6dlhcenOqhXMUVPA5M2sd0r4EAoNfkmDxhsOxGqG0Ly8vDMHyseOfPVhpIt9fYuKjkRYvZsqrGQq2SR0hPFF4jCAbnl+Ev/B5OfHZpkulJ6OYGWPJKjbZyD+BgQeLNiYfETWKpPNNqP92+/iE4d14iB/wLfwwU0jqHmkxFVuJbPzVyCRuRPFongtB7J3OB5RwjPh3JpsnIC0bTA9nvC0jAJj50D2BwV3BLyk/BaVGa1eouyI8HFowWuJE/DDP5pLyUxc4NQSkMiN8SUJLaOcu+KmyRJhtpduWryDYNGqsGf6r4j0vCWau2YHR5Yjmd9/zBHmzL126+QV1nrTwteWKEWhcoEZNP96/JOAAHheTKP3ia+oFpymW8ImMf+Iwsbs08PQBp4+ZIwY0jfQJaT0RQVcgXck0REKSJ7HSMDDRrsYbc4E9zpNLRGZOb32zz4gsahazozfsdh4Rn3IDnZrYEYFsGWErxI0kjqM2c5aY+Bxad0BobPO5gdUYnAqNc+qrdESp20aeZsX6nmBAspVbRJqGFeXvRnwtTsEWK12csHgnTfmTicdgsajJzH0hlWdxlkrxCo8mRQN0G44ndNyxjb4fPoPRLlbDF7p/FsH9p4XLl5m3rbA1Fx36D40sYKNuERvscaBgwqmNkWJEdkKOme37kXLFEvk2FInfecmntGVmrcOlpP7WcRwYQzDMGvckVTEdcDEIIJ+d+DYRHs+q4BTH19ORpucAbRLTgatt29Q2JSZSRGbUdw+EU8VMPDi6Bc1AQurYU09LuoQfmLImKfrzrqF7/pi2jm3ajkrRoIEAAPti2Ozn7mlDyL0cxxHVkELwWAkBPt3jbV3IRmWkvRR6b13bYTsCifuSNwiJJ8CWnl8tmsW+Es3jpATJ+VcnUe8u2sGJxnkXEc+nFcDYdE4wXpynwCwCOCiYC0ku4A8/QZxX1TKQx3IsNJZY9XIXvLfb7fX1NRIOHcfh8n3fd6ptybHJTfrOYJB00LO5omOutdOD+ey0ydr3PSCE2aHAG/d1uTuQZnnlJfiFgG2RDKgf18AJCuLhHgMwe3y9ZsTBJAZp+dJGYGbcRonbVKYu1ksjBvGIYJcy4NzesuCXcj51pz3FTCmF4s670WJz+Ya0hOi60i8GhpRXeDweSW4Q2E9xhXk0a3zeWxACwcA8SPjh4nLP4elTLBuxsboJVQ3U7lFbXkOeCqoY6WdZtBIzE3f1ZCwit9tN2/yqHvWUY4WFeNu22+3uHBTjbQpOTyHQ5Eznhfv9vm3bcRzHcdRaA0Kc5aCWkLpRJ4StW9iekdEik/vvrzzhgZik+cNckDiiss2uzlMHfN1x2a8tqsotHucbfVfPS8IbjwsIhkgmn+IZdbZaFr+zLCdiprYn8/X+jq6ATBONfc39zvjBd6/ARnmN0u3J6K4yhqNIxc+YQC+kmFzEhOFAZiwtGT7havkkaYWvIoyrKUbDLuF8WRIABku4AC/Qfor7lSZL4sKuTZknI71awdMKXcvh0OSYQW2x7Po5PA4S/i2lGA+9BALwCbZoZs2DZUSQ7zUBb3BsfjmEebAIwLJawgCB7WKwNIpJn3t8Ik9SC0A5l/XTANuT1VieyrEzUSr1dKkhb5esithIVJSAT3GZAQ+2k2gG5z09XAoE7DE9TIKxU9baAfE+iXEeGzRtjaqSweE93HKlFi8Y/07YYBS+WhAicjNr6MXO+iLCxLdb2bbtdrvBmv8kxQhyPyEebzhF/r2SbzhZBGs26klT/atbWotEozRy1FcVhOkp1Q6abyYmRLE/xFU7vh4KD4dtQ5qGoZ2fyxqqtXpb1nOqt+5+ss0xFwbrIdLbwI8swilo903B8YRRU7lqBEVM0nz8LNgT+uUT1BOAUSK01Tg0Pg8kkJMEgUGhC5zMbPMkTJWu7xBMURHx4Xa72SpvDQazJxjmWUApidhI9ZeCOIFqF8ZWUhh2Gj1Dj1FihZ18S6nMeih1weAfiucRBC1wypKm2Un4T6IT25lBSlonCc1lff+aPoTnAKf+q/jIS8R8OGEsDayRnIeWzdb5+ZKBNaMoPYkJtQu9nvCG3cXYZTyAsnwd/SJBBkvMLMGjc16WLw1rEsQeyeKF1IVN9sSMiobzcWFAE6nPlICbD6rqec7SpM64heeGECYYcLBrvIwziEKP3X1esK/cDs51Fw1CxN30ISLxSxtUVc5lmJgayxv2wAxnRqA108rj0/srpwucmblnVA/B4pG6zWsIlb1TGWMDomtMx8CwyWB0CgrrzrZgXoNtAX+40cQzzwXBVyGIiPgiAHsW6MvX43nsQVBHfRvhdfaLZTtXZSkTiZYrwA5Pm18jOgeZhMWSx95Zltwyr9SZh5yCtPJmvb/YSuPaZPhG5a/ty8yMBulAF7PfMXm+OEMSYiXJF7ogrfQwCV8sM5I7PKgq1moG/5ZyBr2meUwINNB20Wy8mDqKh1gzfTgRvrIe0vPUPjaynGKF2+OvKHzGdtrQNIjDSG/FNtM8nGVfyWC9msfUyJJgaFyeLrs+X1zxxfIJtSl+FvtCo6XuBlZ/+QTMF+4URBVPG9iDB8smU4l5cBjQSDwMaXTSi0RUiiSkRSFYzeNch0hEtC+ngCYqTShKItEHu6ycXjkh7L08f4tW1RBXCikGaCL1Jd2G6Oau+81MyuIqM4YAU57CoWbYEj5Tv4nTo5fUTufoPGRA9RpLREQmdPouTg8Ts8S+IZMT9tuYHwd7sqGZMReiamZMxajtGgfRUT+l6xvZtdZ9393AaisWOTM1Yo/WY2AU7nF/QqIEogbtuZmSh33KhNOfpSA/XAni+ZV5/FeVca96ZKeva+drSxdhRJTl11lhevj+kl6BsaSA4rV8p3cIkUQoNGEpa5RVO8i67x3baFrNDQcwSZQH2DOtvkm0TwSETSW9hfAcxxmDgiuneQubVjwVjYdhwWBCGZiPiB+bkiknOT7LX/QizCPCr3OzCdvLKZ4nLk0BTvGTqYmxE9AST/r4zXZSiAmDjTX3iHjAxueubfLxUKJMwN41z2aLbSkPU4RcayHuQjWEnLlrKgMDi9sstL+ITBisQ7VQ2NZVr4GncB7+/OL864wrZNVlv1ev+weZAjFnBM79pjqOokQVTzaLn/z0pOuzr4ud4qhgZhhoOVegMePg8x5nwGz0+KLJG/IhsXxq5/nkjuAK+rGYY1uQg1iZGdM2PZ8+Gsi1s4aZG3AiQroZ7wzb63bKyUpEPfMCWQ+6XRKzIyEMrDjEGpTJbykXHk+p+9d93/NdhEmmvxezHcqEsv75knNs0rJX5MhTUGqM5JgUWx/hRacX8F9O9sUL50R9te303oJ8lVQXnWLiFKxZlDxlSO7rsGhZ+sG9VNacP4oFrPNcHAzJfHl418y4HQw55XJwDraflNCsutJIk07FkoIWE95iLBEUGZe5IjvRShZ3DJ959k7sjStLGP6CKWII8yjSpGN9me5xWwpxBGn5/OotVHh0Mek40qWyefI1xeouJdJSVuLwZ+DjawQaI360nx7CppZC+ez9Yr91+YpNmdCxhFOQOlmKCE0DZ3DrEjBj9OvJtX3llRZgobGihaRfcdTzYLkvMFClgVZrOMTFA4E6j6a4h1eHwwCHg/Mer8RNHqj2/I0lMpOUQFmBVLGkrmHsEOHWmgKfCplv0Ridt1nnzO8zbDjGtDDjaZVyBWrC8FVMZ0xQai2cNKkdRNQMxixtRu5Kqdt9aEx0cjH3mDZ47TT3W52eWCF68Mgtv6Tcf/KAdNUSud1RQqL/b9sKr3ztCVcGNpaOJ5z8Q6cbS8+xx2CKWqvHyw9bhD+9oECMYdjKYnvSI7YQ7yYFdg4yKdeThmTZzs8yTBoNrMScSwb4tq6v+JPAwIony2pfO6+oJPAvM+HzJTw0zvt7urhSXTG/8xZSkPtSHCS0xyuRSDo1ZVDw+QyMs+jtdkvV/EUMfk+yaW7Wxqgs/BVjDdNE6Hg10Axn+mmWktgdyqN5xme2Ta/PWwxPaHUeZkCIW//Rtc/X8lzLcvipQjrJhXWu4InnyTCNqY8YxyR5dbR6EcIr2n4iD20yLGbGDgCakqZT4HA3oYhcLq1bZmamPLNLGTIjcEmEMZU2WdIMpQHMTETbtvkUxyxfuYu4y//ENd0+XieMlYtTsTHIK/mcSAsXkPgXoUWJBDtla/pMdr9Op5VpxappIjA6fo6ZGwlvvfgM03ZW2djIFSRL2iaisKvMTMFZZRA69h5d/BabSCkddT2sCuVkqEURKWU7hbOdvMCdt2fhjwzO45lNvOMTe9R+EyLDcoI9BivNypuD/9oyN2iwBHlT3XpBl+Yw+FGvB7KeeHd/lhIM0SKKflaMrbsb95L6SF3IntV++qnGpU69mpor6XxZv7/1ZK6xkaiFNIMVZtJCAN7sxaDQKlYaNUQsleYXZxntRUFP46jToYR4PhtYNDkGELAZY/Ovz+X1e8o8v8iPIeVna5jGdTPCNuMEpwy3M2ia1lQ51cHhLwc7SNjRSlhC9R50pTHO8geHMM8IBuhw16AiUldpYqCdtKocDCyaPFg0cQQS87LC/NW5AONOBO6WtZXKT63hGK07wN6U/8kjGxi4Qs6TcaEeeWdBZrdpwU99xtXOtAs08SNiuyFhsvNwgDOc2AiN9J8qYL+pGg8ahNK7S355P6K8qKrQ2X4C6D0SKaoNyBzNa2bm8d6C2tJeDFeQne5Pzb2E4T4jimHj4sTDBQFj2Fa8VUrhf/Dv/NtLBKHoDK81RvalCR6AgClBV3AAHdQ2N6WjcIx3Lw0mQ5mO10F0ZNEZ/Wo2Y3iYy0U5Xk9swLVKIoHZGlPFzEKLu+cQRTG09ldO1CHaQ3JF/bbagFMMRNQjB1lkA0zCpcuUM0U9ny8/9XZiniq13CF4HVDlns6KeJFI1sxutxt2ESS4bWUJD3oIiOg4jsfjse/7ff/SU5EpixEp6aFamZntVCdCvkaR/VjDMyc8tLbAHfL3xFrnfr9rz+e0bdt5LGVFtPPfqFOEIiUVEvYyr48Pc9n+vu9xewOy0v740TkZ2YqItm1Dj4L3WGtlvgVdWU9GjHLBIJdxKYUP9RdFxBM1ufc7OQYA/tPTgBLK8zCNNdt0h2DBjacAL8mN43jE1whsD+sTNxa9+OhifnF2AjOlFEfX4/HwrwIZoRBdIQ/DvuTbfclHV/Iq3d4cs4b5qOIvEUWiau2LbzMzavaNdvSXUjyRj5b7cRy1mnDZtjvLVqsdx8HbrZQiQlyESGutx/FQ1Tsb0j/iZw0/yCUGPY2b7DgK0wu+KCVo0knLv768vDi/cA8fjvaX8KSbD1DqNhSpRtq/4dDARUn43/c9hux9hSpd0kmVxSkcg9NqNpZ02TB1NkzyMODZIvJ3pLfEVtH+cZy57hD+JAkD219oDX9sqSORmJnI1lnNzIzUtYbWWqk6oiozb/3K5ANyuaX5Wo5XI5+lHyZr/F25DeQgoo2FiJyWiB5+6RoRCd+5bKUU4aJxGleYmcKV+bGUfd9fX189bZX2GKyZMBzOD9+9oBALgRO3GTLz7XbzHA1EtE7TgKN9XuHNghQwP6QJxTNn/0QAruDBlp8IFB6M+tNviZkJkVauVq7fMAobgxuuKDINwcwIAuGv9ggTf8YH3JdhZqKe7SsvQjoHXgMfleNDCsWYK6fSGddFQG6fv+ai66DkqX6WUPGXp8i/53RyNShkIp2CTmYW41VEiEBAPT6f05TMOjJaMDjFFsNJ9REPM25Re6Xn3SxbXxqI8M9Yej938JO10KrIdEGQDzz1mIaPGHgnbMm1+eYoEJi5QppHMxt9UX3RZWb9NE9T/KvD8NDUe/H8HiQj0i7cS5c9zvO+/PxVc73q/fzannylHL6WG28A8P7244NBSZ2evX9lFzz5gb4BqqvXn7cZGmSQJ1+NoTeKmamdR/9q3clEpKA5yMxJU8VMffnyZd93D0gPsMMaxmFeYWBpUcTXy0SjnmzXVlH0vHLsP0cBzpPBqjqpeQI04Ki+Vqq+s6CeexIBgN/i03HUvjpvQhxHFO8mUxKfPB/RUlOamWXj+nTIY7UVyLn95SvWV1H+t54x2gOb8WktZUGA8xtDiHl051O8MhPACfgp2iRFWjR10ppFYXSqwzQRiWcCyCuFmmIsTjg7O7zJfv2VPDW+QvJgamwkdOdS9zB4gwK3IuIOWgzskDE6ymD/jojcw0Swxp2BR1xhBZystJC17sMo5Uarkgys6DFuosCHOPD0gVaTuOwRUTfMYH8R4Z8HPtNM6hphCHawvvS6hGocvk0e+sQ1OgUvi4h1N7mSqTYA3BVEwHcIHkITc8qT4nmzzFQRbcaQ0zw+l3t5aGPL7xH7l6LvwphevntVZ7kvHzyIGqRX++qF9IwuhUz6uc7Xq0Gkt8SAM/ukHmM60vRdibuxU/+LwudbgF+PCPqtzbSqqrrvu/BGkO9KRHg0qxvrEJnZ48uX4zj2fUcnOo43rWyNsnMLxQWKVn/x0oPFo78Bny8fXiFoScGziMe2aJxFnOmfpTxhyGXhU6Gegm+GKiEhEeWSz83sKk/YTJFNjGpdonQE5g2pMUMYNRNvu2g28Iq1nzoSqg6u7FmM2rQaQ3WCKmRWWiHLWoNxzNAS6gT+Piso6zvtDXZ82A0MG0MEFHvFFKmXqF/rafog2cwiryNhQUjUNw6S2UewFRgXsKQx4nCI2ryhQYYTZ2PmvcSeS8JLfD3XWUleTi08J1QsArE472Te1P4SwqXaYDi8No/Fuo4Nocw9Zv8ZbAacZdFG3tde4J/P4bgVbmZtQ4aIu4El2zk6635fZj7l6uiru1LYV/BfTSv+hMxbj8F9iKhbksEsJ5/PMrInPuFRTy1hwM9XFHjuBa+Wu9g+ypP3lzTqNFgcy/t55ElfT756d3xh2M2TkijBv83MjuQwVyCg+TcgZ+SL4UWD3AoiIiyl70iG9yGi7MnIIs088Jf24+T+Yuyi2njpOAqKmXrRxvKH33JVDmLkq4Tj89IanC4doxUp/JTynhl9s6Tb90781ssVWNJnzwG4Mvk16bafZnbOvWAUC3YU35iZaFiSIg1cjQ7nMQmUJAqx2bRDR27nETG388BOzJ3jBsGa6CeajV+9eAwBoRjowwmOwlmmC/q30WYKsOtxRjjRGOaV+p3ffVKNkOSmocXXeAKNnLJjriw9f/py4Ng+2gQGcTlXWi0WiIkw5i28JR5g+Jx6eV6WuJ1J13pwFWJsycWpGJTnNfEVHF0i/kROwCA5UyW+FTGOtLhZj0WkDt2BiflNAmSe5SRJkFyXcs9gERWvRCOhF5e0cQXSjPyZepcVnsyarNKd0OThxp++qqAYCYFD0w2JZ79f2f5M/CjEsPEOSZl+xUFxwEs0ECoBMj2qJE3bXJMmSn57CCu1gjjctrvwVsrmllbjTCXr6VFM3WPQ5vR2u8VURrymTVfwnUOQoeuADfeRAh4R2a6GFz0lsT4P+3lB4Y4QXLU5i/J3dvTOciXanpREN/7Zt1Aj4JFPD8Hi0EeShu/pVC6Oj54m+bS4gX75atawJDjTB+zCG5PliucpbawEcekSxOChK7ZzvMziY2UqPe67J1kxTzRXcNvDjJ1nXEBExCitct+jUgyhxuOZkXhiNoRaL7FHo8i4qhAziHVipvrDtC4cOGLZ49xXGikN3GeBc/RjadyVMVpFNm6CoKxJIHV0DSDNanVG1BLsq59ivmYAnmMAO4XIjKE7EcErMpbbdnPLNl0q92QIHjiIeEZ6u+qL+Uwrii8KiwPC/UwAX53dsw5VD0N6Lh+e/zpPIoaiztVoQgiSd8K/jLH2z2d52WwitrRpPld4UhxClCf+lozhpKnO+8tMnIkyefSafFtBmrGVRkZgZt0xEye2hu+OWMotqOqMoSv5hr8yDzeUMLPh7fJ8BuBv29Zu73HGNDUzMj8QxUREwgS5jWQrJNz+7Xuza0W2Ww518L4RLzg1SVkE4V16sFDQpAHPs85P7VBbbQnRBcUkJ9s3kOzzstzieQ78yY1gYJkNaA0hK3SONL3Oo+emPbzuFz/EW+g5c3FJDcMDT56K+em41rJ4UoQiEqcIicggzygx8MA4zDQEL67X8eCSl5S2gIDPmZmIzZSUuTCRnsNrplU/qW6XFP0edYJ4c19xEnkiYiupx8weS5TqM7Nv4eEiOEmoNFi6iMFKctBOnWpz/aQ/8KiEM+I5nE660SZqI9V26DYACOqiMfCLxwUGksQS21ghfU0EP701DPP5tAYSUA7OyEdeiPppCZtGlKYjVllR+erUG0GEIuJtbmHGFRBeq1BERM75VVVpkp17pitrt4is9Ohz1L1ZZqwGkeDfpdzD0SX8z3h+zyzPUCFKAz9zSAa+O5dEJPEBT+kiy3ytuorTeam7yw8/QSEuiT9KQvVyOp4+GZoKBRLPO5X+JKrrUA1qTvrFnaUU5t2UzdriUNu1UdzVdTuFH1DVasxSihAJcwkx7vkOUTY2hVWW8Mw+jvbrMw9WCJqfwoqp76DR2dBZVvvmfq/KkrCeDBCZyigLDhEh4n5+oarqfbv/XKDa6DsJIx3nOzkMUL0RLHyfjCuNHV2dRASRH/kar/cIppPPuobA7acZ4LkFZiad/OLWDD4zJjJP1WHK1/bkYhWLHSWVRuNpyvjA1wuJpXiinlARx0sj2pfD53csW220Ypc1E7ShyQYKgYIRJ53k8YBCPvwYHtzYAA0BmkQwTwWH+VXlq8TRcrqXz2kk2oSHJahznffAhu2kV2Z+fDKtzGfSw/eg0cxSY0+gvfqJR1N77iJKvPEmYHOnz3tZliUGUPsseeHJu08q41y/c9KftxwTOguQrLl/fpU4AEPT1PO0YJ5/wtfjrxnMY0zB1+NqQMU0ZczM3cDatk31sFCdytrSwXGEKCQP7v54RLRWJLuZlVQIuu1WMnyTuEZqGY4y0Tjf8SaeYPR8LcnqSiID25zP1ODm10ydKWNy6gKFozeyjcfU4UOn/pyILDvzua/mEwa8FADG6Lzb4X7fevqTFlhjYzKYaFZ6HqA0KK+877s7NiNJietjT8sxj7qmq6m4ATzmTZkjEOdb6NcMnPSE9YcybBCyj9rMHvuOpEkjeaUiIseuRCS8xVJAK2lVVWJunZgZkZGRdINSTFRdPfSWzTmBzUwrkQnLORb0mPrD2+3mp0UM1gwxXw5/JLYxs0h8FQ16UwUyRYWopTFdgsG61mczLSfmNSuQOvOYqdn/+vqM+kLQ6S0ybKEh7sXzTsUrAVKaGukpiLAvzIzlAiUan+UDupxV1bdo49eoH9Gj3DcifUQ+BOp7TP5ZRB4g+GZyQp4NB2H6lUZSNMiz7E8iFZl37RzqGAubOPjXt65S5GUpRaeM3kFyifVmOGkyteN5rJtf7i2/Xe2T6HhD92G8G2RQayVTIvEjXLF/pxrr9T5fXTMFugLOGMsgD8eo/yiOzPgpKLweqrCbQxDp4rR3u938kLw3fhyH+7OdVT2f0NV2CgGDIxqDhhmyrKXKiZI9z9yZ7q7D7HwUNBBTgB53hQNor7rTyOAxXhQjNEqPgM1Wp4wZjJvIlxa+f+vZm6L9IC0axUu4ZxzP3JNjBTZUlU2I0MLQvq8nzXFkZkRanULUw5yISMRvdnJom4FlZr7Gt4nCU0k7V1H5drt150U1s9IMqhZT6PBRP2hSSjHjWo99P8xMq1ajUsptKwyoYDhVuL3ca62P/aE9t9lWNhNmETIjpqp1r0dMt+yNbmMeA/6Za2qtGw6JnmrHKDOa7N3rjG8u2D6PBuPPUt4cdQIGsHkiLeg7UXn6EOrBKRjFMV3INQrNKkMQN51S43IVi1hK776/vKfxb26EVgZux2QhqmR+A0NbwWDWBqbCrB1rxQ+w82rBShB4RN2NOo8F301TgzUBwnO+Uo8oPWkUec9RNNNPqvCeglBhs8sWnvwULaBwSIKCV4XGHfmEbbvOHkkX/P4EeJQJCbB5IubJuup94rIMWMKwjb6NuZfQ3ElAI/6x02hQZMgcnYQ2fu5tC5HQOBHh8wLw85IVsYRDvsIYov0JYoOp08ATthE5SGPPueb3V5YE/0TfoQskXl/a1rQaFOLnCldLGT5PZf/7Nt4QyTreGDEDMHU6qrb3mRBXMFyxOXN3lHSIujDxX86xxwdHuVof1FaI2uWeaGAJb0xF+NzwZWIy9n1GUzZlj5Dv07oz2qMrSsaHm43MnHjs/aj5fReEJ/gw8TZRHt7PW3Ck4EgYIooSnAgwjaTch9DgRw6MBQRK0v7hXP2YGffk9arvHfjPPl/P5e/U9RpIngxKEDSFufZLVYdXfNKZCwsxFxExhguwgNVPFzGRrxH7ZK1jnlDK86Sz6dRYJ8kttQsiJ7p4MlNRM/Zqk69iqpx/StjD54kgQ+cRrMCwkfgww5CiyqI7mTw64dtLy+v3CGLUylF/Fr5LkTVR0dvIp2mmZoZNXc/D4e7RXI4OvR3RIJIrDpl6jI6I+J1rrZcuLiKTe2q/FBEuRGKUXLl49pOwF5yOqJPE7HLsiDSbLI8rbM/y0D8k33NgJlnnqev3l8SzBLzwvP0l7c3FwU4GFkEcJNZ80gKWBAnCjDN1BflVLzRRO8GyJ4Ywhw3gW2D3KxFZTwfJHIthI8ItwkuQlgJhKdzo3KJh7uaSO7qCjcLAcvh9p4uZrWcsaS3Ymf1OId9N3Dnr3BcICSTEaQwkVJq0wIa8keTvk4l5joX3lHlq2+frfmcSd7kz9+7i4xvgWfZLMPcBtmrtQdCnonJ4aGJLGq8MMlioBfkmbnku7+CV4K71ijZJk+eD/Tb8XJEKTaxLRJFJPBUZD7UR0EPrYui/X9Vu/VrfuOmFz74MLNRQVIi9UkoyTJeiNk39cuBPXnyCn7nYxSqfgCtRzC3nxS4UkpkRLfidYRsrdRTkHfWT5liK+Pg1FvRLYJ57sGzUhU/Gi5OSAEjPnzyJF58wS5pxZj40853/LeW8roqAebWeeeZQNHNXEhj8x8yerZ3GfAGnF3YkPGxNRLqB1WJffPYN0s6ZmYBcjXexpLEnxGZunVaVM18sW47GY12BpL6cqZ+rvMmeiJ93cnSiopmdrwiVTk/JWgjwqAfnqacRaUsx8vSrazS2dnW4c651T5URRIgTEXM7fUxx3upiyp7PIwKPzyMmJ7YnrW87prf8qhwPOoj9JenboHGlkuvn1H7cOx6c5ekbwrqKi3RIlPuRJuvRJomjceK+MQ8W0sdPYQCb1hPP+0WPTpKqKB2+DRK6ECJRYb5HeZYdppnKQ+BqT2UWvMrMImesD7IlWhs+qL6kWCgAlFAJwm/DxnL4BPiJRmUM7Vr2jni4MrCI5tUAMzNxYcaUMOb5GpgLGbP0dcyYICa83Lgn+KQgESZRRYnIR3U7a99xsAM1vkljNHFEktSJ3VzezC2kvgI87guPEEDxawp1QjAQCfEwYWwepoFjwHrsDsaKPUFC9JtU2hKS5WBnhvqqgu7DK9XYR20I55uAPR/vSP+nPOG+kMLJXUI1YmxYZ5qZmRLFtKqZldF0iJoyhgk+waf2myvxdQRsZpNZXsV0Bx16nfCmXNniP0W+/VyyEUtsAeNMXXEWj9GWs/KyydDk6df5lSXvpwbja6oTAKsOK4E3WWkGbwDpyZu991TL+sK4U+f5PyItcBqdIQj9djvD76SUIsXj/IKu1NwW7ECxVNVDz/tV2/YRk5Qec8lUTffHo9Z6L+0mklB8XieJhUDmhj/QOyTC8qd3IHD9yoIIrrueBcH0+rczzNUQgvNnmDs4596TLWyw9Yr/iv0QHuyOcd6m9He1Vk9plsjUzHhq08vXCpcn+Bm6Wzl1EIfdJLpsPzXYza5CqsR6+q7OmmKm1DBJMQGBZ+5LDRoPw3OLti4Jz/FKzI51X0vgP8m1GfMn/MI2kk2ihyt8xluzj3OJt/Q1PQ/yUR0qIHXZFNyDL6bKKHxTj1gtEHi73SJyHH9aIoESzfRibQ29qIwQEizGZjnzXMTB3nFmT6SH1NoMyfw18HY19qhgk+JMA+eVyRI1g2JnkWhmp8XWvp0m75U4ijbp2uJ/PqgZS/FuohMaw9Ss7wzMaVy+udioDt+sn+j5+StOPzq6Cee3ointqf8ZpGW8iJPipcCvyHEYWkoD9z2TGIlnCaaGR0N/nsRoYQCm5ZvKkRVnUxd4mzkU2794aWBJv4SeiI5DidjveDY+9+KDL8zUlQgzb9vNjJjVWTPcXSJFpJSymVkpyrz7cgUPK6SN/kAUjmW4Kuc91Pb+aj97wblEck/U2R9+deP81E5P0yz9HnVfW0o3qGmKhfKvfhqFJmJNJB70jWqVBkHWKnffTDMa5gRQBpbEDP/Xliv8oAh4XuE5DLNwiYk+n4/NxotmzZGjqsbDKcsko9uKB6wW5jU9I+Zj48ZpDlsm0BNLjCGc7xHrp6Xea3pBBZPEK7YZD2MBiqgQkVqzZY/7EbNkR49CjIjHXQzEFY8FZzbNMs77VXkuXlNJPdLogoqfvKTLqrFHGqkrxv5komnk37kO4hMlQGpw6UdMkNMwF9kCrjFqD7fqdc6QQSaiM2IV7C2iC9KKh4moEM+J92F0i2miiR5SX0RDxN4TD9Y3lwCAL0yHqJZmFql3WbC11HgSAks68Q8pIPKclOuFAU2kyMzO788LcuXMmDN+EkdbW38axbFVPucrUewVDAKns7Gc9O/Ya+vDQcI4TjwG6zhMlXxfiJnNz07ScdtKSHLVGgZWKUZEHu3D3WYK+8kgxV07bnk8uG87+tl/fzFOdyY05jQNCblz+arKP2NBZYbq4aflLctdpNGhKEyF+4rfzd6zpp0V8K8fi8WJ9GaraZoSVGzBNqEqpAyue7Vz23gp8ub06z8vfmyysWYsvb/xpahlLkTH/MpcmZncwJpDjLkzocH2R60VE28meGaS8x8I5AX+dCGJLmXomwjxDxjAtFR+VyyZfuroHfT09Oui2fiJV4XGBXTIppC/NIqIbxMX0dp7kJcGQhNrvAnDTNI4kKsZT2hZwiPjadmoHB3F1zRHCex5RlaVjXrETJc5TEx9UdE4IsGMvpCEtyWunuMTB/hExXq1Gb1XKMXer7p+T+G3FH8AhhA+Z2GcmueNP2kKkY8iyEMslqOeSfGJ52+m8Ct4kAVwrpMATBLjajhPcIGzHHg+6ccb6VAMZC+DPYe4ac+NN7v7i3213AysyAuTBFfsePRkTOzpbB5HY6Vt27Ztw2UArciJ/8G/82/jkGaxPhM9Pr+qENXqRaRqmowTJnsjLCx1Z7xeiTJk8g30mdlx5BUtPZURxc6QKTM796ckhl+xQj2YeTC5vHhekxn+smUN5F/Dk5EgTJl4/HIqZj72EJRDMMTt/gEH62mHVPVqBb9tt3jXCTJodpPTqGdraYF+fP1iXbOmyJUlnqVff5nnnYjGK25aeX3dH4/Xzz9a3ZnqJipMbLoJuUvLody1qpKqlm3r+C/Qtby+vjZuqWY9v5GIcDkjGdFUbVfngqHQjbMk9jud9/oRDRB5nhJ1+VtxNzOOlUGfNT7vbrta95gSIhXr9aWggw0mbsGP3FPgeJBmJBk6juPDhw8xTBQ6tA/ilfvqLVZsiZ53I+rptXw54Q1G6iaFY3QistcDQTWzCIYovXBfzKjq8djv9zv3OFM/7IPuYeqh4t5O2RqeY5YjBjbNiL977AMlWxfl6SqYgPk4TszjlgEOirs1r6oRahiN+FuRlCvBKeWOPcYwDXQMUpHyrc/RRkVKKSwbcVFV89RzXKjdOUVmZsdvA0gnKu9Ij+oqhIkiVxkKNAJvq00eQYtzjlaSKvEBGsTNxJAJ8iDiKkhVb7fbEg+qD2yW4SxYdBSnhkXk0DNfFI8LpGXRstiPoy6iBfzN3qAvpOepacJ0OuSkEOSXOkIyiw+bxU2mYOoxUmZLduVjPLqCwC6wQR7lsMmQKJt7MICMd8DH3BmFHNMOCBHbcRzcxloJA2xv91kY8ihjET8yHkuKd7Wnk/DwcyLa9/319bU8dp+XJje4NfvpV9+7uHvs+5cvX1R127b7/V6JMwY6PeOUnauOz7tLtnaKRYKe63EcXXadYQbfEuQ+z/r/T5RvgzbIsc/u4MmYy/L00JP2dYqipXc7Od5T7MIt9w1doByJw5IM2tdGY/prwZsniLltgYiIqncqZpXMiIZlpcMUfkGcKf+8Ukbr8m34QQykFmb801tXNs2927T4u4KQYZuPcO14vffKF3H91mPgEnjLue4PBw9NAICiM35d7vuk7hCeS8yMC8cQzUTUbYnFK/gVX1zO/gxqgmeeZZzfE+0XLnck3aCi0Go2rUhnSNpnikaU+i1S7LezU3M5Y5u2cvjhRMcsP5efV7ODryMRPueO+ByoeNJ1AGCTYsKH0eYso2YhGSXNexCtgF85dfrmQ6TwNN70YmLhseZCWr4pUp4I26tGZv7CAtZzbidmmICzlp3ShY9jfhLghfUscJ5JYNunsc9piCtucIf8UUjttCRFXxmGBBPIhxzpqZnZ8+LGrEV5l7sIBzYL4uctJNCfTNV7ygzPt73+ta+EfAyyvhrAvPZN0CYMoLh5jyi5YuPli9xXSKFEQ3DPAiI11RvkUJCE6+ZuYAmkVzh/fXIX29TRE+CJWpZ82QqpmNY2BY2SGzWbsNhGpBrrZnCheW8xcBudPbG0moXdzG9ppnASMdYHz5VIj31BickQ3EqjcMFmUYwmdotqiRoQyOgRaWb2EfIqwzudlLm4KC0AjoVa0ICUfloHEo/RqKjiFWZmWWjcuSMkMCSzKwXmsyAiVfcZyWmY2I7IcCdBtDZrnf6X59ZoSjtywj86GuODTDEobe1+scW8nK/2/5g7f2jGrO5EiNfFSK/DlhH59m65NNcxM5bh3TTR6cM56gtGm0vCBjJIqtaYVIYGka6ej4uHKOmcBuVJCwjYPHczcoI71i3bGm9XJKq63ixCDOATu9atOIQoIDrYK8FAwB4KufcOMzSwxJNZmQRgkjCllL3L/1anO6hiogk4WlUjRC1aiylg8N6dIW6s2m9bkcJ+RsrM9n3vvv92ia2/e2lgzShG4sC/7yxXcuHNfp83SO/gfJRl72x8Bgn/jhN/STF2cZPjrD/oLW6ZR9R7WcfKEAw20WiIsGXjV9Bm4qYusHqnSL5XkBNlQfOcKphZZJOipRTbCu2HaTOwXHB0EihE5gOLM7qjaLYYuEDU9ow0xOQs2Z/I+iAz6ZvROMAZmUgD2IhAEHH6sMRPEhxXNaOj2DePh4GZGQ8o8a9+SiRXwLBAc2GO9enoOtOUBGZcos0Ch0bKieHjABnsWjOrqwS8SLTLKZ5RMZnsQfALqyLaQVb1cjVHKMQRt2rrQzwhWBB7ZmZUmVrKn2IDebN5SmpXogMeElQDzCPal8ATHKpYDjAD2dlkOTXpK1/kUcOWkd2ShEn8hR7EJBhpYkYiOnOHw9QkPFyJ0+XDpUCY+ReZboYzfxixmFqzC6N2Bo+Z6doNtqSBoHOiU+jFDbZE5C5tvmgwfaAVqaTn6QN+RWJgX2Kd4A3LwiUnBrFFheQVU1WKeC9uXavqcTx8c1D1SIvVb9kinMf2ZuU0we956+ctIKbfMMi+qsElW6IwRbfkXESkHs/s9DcBoElJXLFQYrN3Tlygi7nFF9LAVEN3Mxs/AT5Qh4IA2Ql1SSlFq1SPdjcmokq2EVscGlwgZ1hLRbORNyEBTzCnSabPAm7WDWkKGHx4wSyphTRxV3Lw/DBx3JKeo/0JK0MvS6E2v6vUnXydBIiZmEmYhI2puaCYjImmHBzAd28UBOyJqg4PsUBm1Kt2iMjTl/goI2ARJjfZwZyQg1yGANAoAZ4M6gkG4qcnMZFXJa3cxvbbpFE72GXEombMaibuzTIzITJ7RicOmPRzOeci/qJ+jAKxxxN4PJZEz7hV+lVaxvohR4ccY3dwRH4PY0Ayw5bmSyDo8skkzphBEUcrzkovovBBkZig9RjgmNwnihXIflGwvoFBb9NPdCErsKMT1RO1NwgXgF2uP5domWFOCxLrxhOGvcZyF3eWCJYoAjInCvcQzzCwqJ80lBuLiFqN8NDjeMRlmsjvHp32hgcrqY3lPD2Xoc/fuur3qizguRYQ+JlP2/arDSzk8xXpDwCjWsWaV5hM+EE6XgIzsVAAthAcyKup8astPFeis4IXEdIzQpl6dgMdGWDm8xl+BO95ZZcjzKWUW5WHeroSYuHNrFb2rMPkYDijpcEuZgHyMqCgT6NYEnaqiS1HpuBg+NQCiqqZ/meEx/CXiD3FyoWGSHYATaSVhCb2IvlUDmywTt5BbARbjoGkLRUDAwixRCPFoodmgNAGZ1IExCRUI93iEEAODKND7EWdVBNHvURj4s3UQmLGBAAesAjEmjVvQAIj4dNLDyp35FSP6u6LIiNTo8Jm1hUNTayXYI7PGApGFyWMm7Se1FW6kERCc/GOlvGpqSQ6XI4oKqgqw851goemGfQe8CuPFypjL1ejiBcJuDtRYGJhmuQAUBGlmtOHS9lCI7em8c78OL81N6tw5vSszOu1H5JWwsbMhgnahLoIscCaZuZn/UIsxBEZ6gRQ+5EgL9IPD8ZV9HOPDHuFYlUKq8YhiZ7UVET1YI7VqLoyejsGK833jIUnc4CvxIw+Z9Svheed9b+5x6m7UBth2Vy+goJylsv4NaANmJ8M8Iqfl28l6RNfn/jV0os+zFIKpoTwZS0RRUhTiJ4r8BB+bDwNP5XqDitm4Y35wVyIjZjs8OCSHhhhbEbzzdkB25JXmc+LQmmci9TOlQSM59u2pVg0xAN+mFEUDc4P44Mry75oA9kt2fORWpvZ7UrgooSNOloVIYnGZwOOh+xiZ1Pmt8pvG0rDk1pWwNPEJifjjzWx9yRqAyQFEk3EgOqtNzjQ54w6L6j7lwLNoBAwSKoQH+bYuPbk4lj+8nXzyPYOWGXemCuRsB+nUmZTFSI1Gi70vepCVW06F7ksV7/amA2f4Uw3YnWJtzdlFE0UkughQWXg5QoCez60oGeEn+C0Yxp+ksBIjQnmNIM2SsWEE/iaO+K2Cl1MopmJDIeuos4y7DIBj70jj2ABPJjXjrdsNbNz44iQeTrGseeSRBMzl20zs33f0SPlJpXHSB0QQxKCKI48B5yzfOvCrd2ZU2uNA5ulFBEyu5kZi53K0d7KifBkSM9H/s9PSeLya0FO+oboiu57ZSIacxbQRPdz+wng9wgXA1JeSquAHGFAcX/RbAaPgOFBEJxPombi4efALyVR7prIjI2Nud1qPYzRmqD0OJXqV3+szBQUEChYqYurKx0zl3g9PQ+xO894wnxMykw8MzGkIZ9qY6KZuTX8KSkJ/5ACzwMnaCdhpu+55jw6BTwHtArprTEYS0SqrQ8SztTVPkCntPqcvm7lBJVWE5f61QsPFq/KFcHMr1/1HvOSrEAKa6Cs6Qf3RwyOzRNVYq5uCniCDOIqO8tGVI2K+BXRVsnYiOTiZgVaCZYn2LtSnzbtZCEPvom9QMXziQsUYUfpoY0lqj1pNloOG/EqdCzKcooRjCXZBEgzFyP87+kO25xRvZymuU2bxAu2iT/Bjo0RaEfvJpri0aCcW5tbvsJJGngM0ItnxolpCgdV1doMrOMwCAHkyTvgrJQYPNp/PY5a677vx/Hw7DO32+12aznffVsQw3C3RC7IsUvsX03PeZkiAESRNmpMNZtQQwMVvisWIdpR02U7sU7CSRWRlrwDYEC/S4g5irVXvqFiAN5fwvGGYYS+U2s5389EozyuCRLdB1/hDW7pxRBBXiGS53ri04Cf6nB3UryLAn2YL1X3l1LLf3N4T24wup9GVR+Pg2FF7lAFZaf9shiXiGgddFWaU2TCtgvO3O42IOJt20hJiUy5bFaPuqvn6aJ+y0HdHzQKFB9IME/Yi7GM9jQ/DnZAPsfv43zNPB+5o6wH2uOoI2Ao5Mjy8m+ijBymU4+WnuaHmUtpOWDUDl+BIdgeiBABBBiU4PmEotNE7e4njyiEWuuhWm43EqlBBh7LEz3Wdo1Xh7og8UtPeWxgBCCS49QhdcHkcjAozUcnPdR0fzwCn8x8u93wsB6NApf8+BJrE69H9btpmfl+v1u7KKbds8TMTCyiOFO40Hcbcd/3Usr9ft+2bd931eEoJW6tnqeNMCsYRH2lbT4BX5H2YlRvtxszu2LwCgpHVnm8z87rbFLNilklKkTGLIXFmIyYSF1o+F2Et5fbvu+ehetetph36qfQGa62DfCsxfYewUdOIQWsewABAABJREFUgZ04Tz4ySIEUrztxUj8DH0m20N2Iw5F+6AGfOxnUutsYueWvpwjIaB9lIIqIfd8dz5Eizh8iI9NoacVAfLwxECR+VAcCu96BQ4Ftd6QcGwV+PBTrKcWtBoOItC1mDVnZY4YsrhiBbXfriQZQlDU+khIIj7nAHdUo/tUT0ZmZ57uirl7N2gkLkWJm1F0GFeyPNC8Eiil+tVFVIZsjh3qd+/3O+uq0F3KsLRfr4daV877PdfTlcxcDZDh9j0RiZkR6HI/Pn388jqNzx25WX15ejJrY9/tdvP8NSQ0HlrD/ZokBI+G+//U/WOGVeR6Tx6P6ZObs0hnbYTC5zlfgg41aOaH3SUlSgIDClj8th/YNJVQFhcgDr8ybE4rj/aoeryA3IubSbyEkI2l8a6IkzOTOFhIW3vA4DaILpdWQEosZ7y5EHk6UgANEUnmzBAA0MRfOY3SKXD2/8qQXAhxGp2h8oHJKX+fhcBOOwpz99iHOUuX4nBAYv84otdEVV2ExgLM2oxH/Rs0kfxAzS4xhwbEkNM7oxTUurS6AX5JNe51p7hTRMvM1AhbzsmgZejcztmpWyKqZiBoVJRImNZJCVicavoIZsYHg4Wxe4XwWj6m1N0sCcslNCXVPGJN5CAmYBzW3hk8SkVt3buHy6T2D+ollxgmtAosVQv4Tg1wNLbCxJIb5q71jRygRJ17Wm+bxzTLS1aCsQ1DEniBuIrn9FAfMo0GGEIV51IE3GhHFg7vrqLWoatlwSXCaaFsC+gn23yyzdPsDlHn8S/pIryzhXDLSKgnD0M6smZafo4SPodHERfvBHtGUl/nqg4YBGoBJeiJ9vRxSX6YHgYqIhZdllI+B+bnBJ1OQRMObpMUsRmrSornNTJiFhYyYb8yHqhqTH5vyU+gdvSd3qZIvSUWEe0KgjMBR8ibuNShXo16WpUpASZe0QsKqnRbSM4qNvvBDtI/rVzdivISGsJ7PLH4KhERoAvaiq+hjhoLjYvADzagOUz6sluaJ7F4NVHgxwKQ8bFojzWhZSs8k8Why9GKP1p1M7sfyxNBei0e9NQNwIk3WYjb6TSyv0GQgM7nKBkIy5R7H3lNpm2plK2QWxzzF1LpODSQj/IGBJIjQw/R81M/LTKtXPBUVot+gWxo5EXkWm0JokcKveo/PXjHxJnVyRZy8KcdonNz5wxI5TyqkOjDG8y1VPYlgOhixZFi68JIEQvAns8urb+CtgSV1Olb/nIRS7+k5yhP/HJ7veOKOq7gfgsebXRTWbzoFziNJhD/MXfKqx+nkE4toK+azCyLaEHEzWokW5HWFiHnKzYz+UE6sma+uqs11DJzMBCMVEdLLu5z6u2cjOOvL9pcYXpbgilkxjGB0YrV4wkh2y46uHlJ32odKFhFd2vVBfzy8DoC97etC0rqaOGYODjLywTarj4mYC4uQGXHL8RN2YaSA83bSrgpNTIsbNAZaJ3G1tmSn2aZ/MszEsXah0ma8BdubWT8QlkkUKxPy3WgleI/S7yZDleN1cFsTh8alpWNQMmLyqyeqadwyTOIZGloIxnJVkDCPMCtgAw1BG3UhuuIM9CsOEPEQqPAm/QHOpLVTEe2DP6R+ZA9nDXsJpPleg299Lkl9nqwO5zoLHWLAS9NDtqiGDaaOWITZws1LRGSV2kK6khVm9W27YkYkEeGA2GNu6xlV5Wl7LvGFA4CbdMPcAfwJnzMxJL6YsZTGa91bMLc/l5kasU0ejKrBwKKRI/BD6nFJCfMQ5heRtFLjqaPE3WlSosLJFHJuOCaxgGg58QAgzRO66vFabpubU0R0hk6aDdBeTfQ88CXLDJJqEu+qaj1kSu08VxiBEET0qMOl1NidwdET6acIt1K2bbvditnNd+2Nqik9Hn4J9Gm9MZuIvBHkPhPW+0uD9fdvYCVE0zs4jUaE8qQj32wHEPLVfrtZfF/VwQ/xfAlhutSZx6UG1sfWkNBneRd1GtOO3t0rvfJkUDPYb9KVmfk5j+aHZyrMzH4S6kzjo/1gcGTRDU2mqsxt5eQKY2i8hxfwKp/hkv5RTMeTtGs2j2J+kiYC27RFWTTLzKehM01KktfYS8xp/DSr9v5uPsUWAGFMSVJaT1BHiRRh/hOJ4ld8spS82MsVvyybnYY2yNbAlY6RXjbukyZgrnC+nJoYVJJItOIOlAlL+gjhnhDiOxbUQs5bwm6iATlLrlyKi7kg6S4rBLHFEGaOs2vVi0QeNRM25kbwxTfhN1ClMAvr4UToT0yurM7lJfwsKXMJ+RIVUbNNZi/Jy4hd2MXGpU0CfIYQqyGzDyCtrqLyatYOtQz3VCZ+TIJr5tb01gxnmtyYODPb951qi+n0O2dLKaXfJNgIo56h4QnnaVHnRYS2Tczu3stxHK4Wf/zxRxF255ZfA20mZrZdwfemrJwRukTH77ssQXoPI2ExWBMnSfe83yvaxc9za1cKJrWfUGqwjIAGe7OrdnjcY57hn8HGiMJgY3drrUea5Phbe2cz56SRpuIJRUWklJuImLKxKfUV+ilcLVm6gXls3vqWR0gN6lIjHCcJXbMYWqrM5wbWTC2zDggZnVi6P1mvAc695hG30SaqH1udTo1tr6gTrnIi6hdguHAZTuwjTS7JaR4jfk7DCcAYIkw5jib0OUL9R9M0XbH2Eucoi+O59oItu2gO4pEx63qQ/awSYo6C5PRMXHfapk/oHxuMqQnRb6v8Dn0kZmKsh9JG/oqIsBIVIo2zRJjHjiZrhmAeE6go1lJlfGWei5AzySZITWHXtrLmqc3diQrsa2Zb/6sw6QlIBCAI3vSUaTyaxW9K1LkkuuWVVU0j0WIF6txhZtSDSYMMaEX/CZOIihgmPl++n2gAH14Je2a2Nstt+oJToh0Z8+3NLSyHf1UfoRKR4zgej4dxl5Ai4mdNxowMiAekipmtGq+xcXddm5lRNfNEGKeAEjkVymlg0QWJpIl5Z5m55fdXEsXMpP+8WNtK6JeprS63WXbaJyPRQV4UJhGPJGJmUxqjy5o42MSoZhYJiuPFAADpJtHrEhs0sh8vM0+u1lj0NfOOoupJNVWlItwTwVVykUpFZDBC4piqGrUzfSfyESeBpRaTZKcuR7xdwRM1308nMwelUWODVzF2S5CYmcaznNj4GWfQLYY5ACJewfOtA0NNNooXPHRDo6oItC+VRyJs7gYT96NbHo7qEU4BPPVDbcaDRMZmZ4JEmU7TzDokNipa3wKOFxmsOg/jkH7Gliayj4HgwP11eGWdGuMKVLw8O3gwhaBhg3rOy2GVzKzFwPRTn64J7KlPBaFComI4tIUoSgRAF+Sa5iUBv3wL+Xdm4aumzMwNYqzZgOyGSGoNcUirmb2qZqskus/L+8VvgtD6gty6gRXPsfLAX5M1n+CPBaeXiPlDLo5GElqey0lr7Q8eLBpnU8arWt+Dt2Db9FMA7FPf4q7I/MygCcfmIF2sh5cjTfKqaj2RKRaa8cOHD33/8ZSl5IlGZ5qYR/seullD/A2v/Z7LcnpoZP748LXwBxEgz8/Uv5QvCUiaxFYCPhrATr8S3lwi0LiDd3ryr8RHGiw9ZbyvLda1lIZNY0TN4dE6PUw92kTN88A1yAES2IywBnM3aIYYlLnr9CuP5Z2jmJUZNosNPkfjTAaz0ERVlCJjbHWFSIQXhAalgfAWence3UyB+ORKmVFfkVM38gzy0EQ76NDK+uYdxVZ2AOIqYVXHo5dBKh5y8QQP2B3WRMi9bey9P883QOAAYxIVconRKLjaE1U76cGNicqsZnfkX+EhxSvKGSTFNExEV0LRjIErRKXX8eEVVtMMIsGDL28wNFMLga6ZB22yiREkGik5Phj4DmPdciUhl8NfdoRkj59neK4a9JfOcU08OL8+cKitR3HZ6dPhmllqKbHDmxhLlLmEB3mBxgTunsVp27ZdK41k0OpPIRAxv0uBg0m2kA59IZZ4mYi2aBlrh+oiIlThU7XzKwhBwjGYNnectAVxRpa7HM4Rct7CWHYXCIIYVceID77tUjNn+ouVNyLOcYrZmwJHW18J9R4b9vf9SFhuwcjnCuNsHKkE9+CYmZTIzTgzoh6ITWxWyUy1EhsTlX78Z7OmhKqqX3tBRCZsldiP15E4bRCZiFjdPXlBT2HggFk9hjwoMYqjkvS0PUSmqvU49v21lMKe2FNMmMRaGpj+OiU2UXX8kNkZJ1iK1IO9N+kn/nxJeb9/UDhMGyj68KHs+149+9H9hetxHGxEVamwCZmQblyYzZwxPn237/vj8ajHkOjr2I+2z1iERUiExAPkyYiUmLkoMbU79TpJEwuLQlAzi7rlQn17sU33mc+Ja61Vq4i8vLyQusWnRFQ29l9Va5Gbv8lEjo3OtnfPS+TdidwiTZdf/G4sauVhLCKyyeP1lbXJlNvWJqVtJBm7e47YpPRE8+TXHDWCVvVMorZtdyfsqr6sbKYVs6i2daHIRsREVsrNsx05Ydd6mJHvpO1HbXzkKZF6vhlzI7fzgrvUlHkj9q1eUjNSIioscrv7lTiqSmZCLCxWtdohG5sZk4eon9n1XvcvwVMddjOz2+0DURKpLojYE6WzFO78q2p7ja0BZuJq5NfMqGq53Z1/jIikmNnjaBnqIx1rO6bXSd/rV1OLdFnGfF6LSx5Yz8xaB1MJdhXFcwsVFilN+IgUMmJiz9Md7kk1dS9gE4xH5a3cbkVud6t+XSSb6XGYcT9Mun30FsiMyYgqGWkFse8yj9iI1YjKxmKsSrVqrY5J4XaG19wl6f8cpY8fXPv4oJSbHLJqvj/ZhLaItjxSB3XFzCBLPfFeZ2cjslr1OCySHhmU8MrEsiqMITZiIqvab4sHg1tNVXd73G63W9mO43j9/KWUbGK2BQkZVaVIGEZn37dSyF28qqVrXAaPUXhkSyn7vg9y2CeBjCB/GFkLFDeyV32wsEhhMTWzqn7BBps1Dw11/eXEfvTTuGpsav2Sl4czDvlFGY7tlsrZIgDRASMy1TAicAhB5NwVi9tzTdUUzwOlh2l1O9ivkLFaa7MWInTY02VhaWR88tNZaLwK7JxBonq7V6JKXG93MipE/PKi2/3uwoqoqsaJQiL6dNu7GtJ6OCqpHZBqvRURsb7NuPN3RERq1erBbOWFigozqbIYG5lLVKpmxvatlz0vi02har+PxqPw1+x88bhynRt/0u/cOJ9ENHTxnoH8xJLor/X7Dh/kO0sIHTPz3oKmz+6o2d3vGTJPa6YEJ3cZdDVBM7YbcOQLFJ+dHoIwKLjBd4L8mYczOh6wssApKhFRqwSzwKPpHO1bX9qWp4SXBkV9PTPDifSPwwlFEg9xEzAeIp6TqMqbvzn49GwnRpqYMb2CjcQr38AdSyRQ35FPYVJXjSDMqXKiTP+KYXBIGziKRM+pGiqAeHJOEy4+n0RQgdsGh5AqG/jb0u+xlA1eJsRADxmpOKeInAiQGhHo1nbQD/Ya3jUEDxWh9ot3riaLm/H0htBY4io9OS2A6zr4EHGHcmOGJAmKucElnSTBErM/vz7DzPgZJAySkIxvpbGckIDfKDWIf7G8icMnz98sCf8LOl71/ia/E/ix3O6MVMwGGo2ZPRW6qh7Hceyqqp7wJ64tb6K1v9KeizORKlUzkobMBRK+3cB6D529pxH/8LUcdcr0SQgua9IoQFN9WwX/epl5oM1uP8H2TrCTQnrPK2/Cc1IJX7p2v7Zg4E4YWCIb5OQfeldbbG0sa85KF3/y2CMcQpAQ82lgnTYBE7MJmQMQ6RsRCtTQGAwe7dNIeAkwLKEgtbKv6OMyyv46xnsys7QnYx6dNEAEprc2QB51YhsCRT/3uKU0Is8jtUT7vLhPEg0gGSaIRiGY5nFeUGJ5yub85DOz0JheAZV6yMr3C6Kl4kRUoy/kCYMjflI7S0awCPTsbJRQipM7vtU+zIxvmPD9nL5WxzdHmrNBVfjMmez85E6yo5tnE4p6gmxuq5fmFu2JZ8OZQWNMWGIx3wE4y8puxq6TuF5We16Czmnio8TpMNgz9jFqdh5Zq7kR5ycpqp4LMAJuSqFOXiEZowEqImEJtpkRufu5+YLnuMAnyCGktMm6uhJQNukXp88ZvKt+zWx2THgJfCLqHL74PMtqmlhG+wEd7nGlmJQhLS9FfPmstdZj18fjcZhPU0xWERHfP3LA/DoN3183Ku4tl6aS3P/XnH320z1YSW7OhGh2uUc7T8YT8ZTqD3UmlRmCkqaJQX7j8T6vN8eYuuap3/bwmryvhvZWv2OLp2XPXQm1cMI2C3mpLV1vMbyP5jb+euYx6hKqPXRBysxmwqwh95MeSmNc8mrIF6yMK85ESCLC49aq86Kaku/vdQOLqO2EMnNsQfY+Waa986XImAHGgoZ4GlQAH8KOuWWOohAWZn5fiek5fb5o90uE0s1LKG4MlgEoI+JX9LThSPFvOOexixjOSUXjnM5a4WrSGdxpSaMQUOnZKdBiJk2HcMSAGZuxKsXJQpeT6IcjckeIMa8XJMjFaRKFhxi1NMyFfLsgcjys0IhWlZmPvV1hhGbuUsjMFIjdyXiScR6OefAcNwOLmEXYzAiQwJBepOPtxEPTVeAJY2a1o5Ti3GVkdl5VSb4DRc0L5SqoRQEb4HTFQdmUXw5/WRKt4t94jtM9db3ocVjM8HoilgZWqoDTceU5xlFbtz98Ls5+J93XGVGt7w5TXFW3ot6TAaOdWBGN44rhoOShySxGjk7YMzOixVmxK3pOJYmLZRc0zXuaYkS1QSgLiq92ExQdTMW01lp3rapqxsVzxDl7ln6/kLZQARHhrlCsHUs9i4iwkW+3CvHPs0UYrH4lGn7GklD5vCf+mdZDdCH1nJje07I8zZLytfAkZjaiEI62snS/qoxid3UdrAnHYS40FAAMIqbmyAkdyuGBQFCDDRhUe1TAfTeCdCyqyi0OxwINZiYUt8cjlho/zH5KEFh5ZhVOkgdg6KpJ7XgFPDLjj3DKktDB7hCMJM5mgJctRGwHgYiJX9OLPJalHnJKeO6dSjjx1sK0irhGv+1uRtpyLPgrjy4rLChMZcxwcYWiNPwAGMmPRxMQX78SAlg/oRpfSfDjk5k8Gj3L0HgaCM5y+3BuYQ+wueLtwUDZkQBE3ofQbWMbKxjlMwcBP7ISPrmYBdSOJ6LSK1dTuayzrJyanZGJ1O6/hvRj5n4Ic2G6za/gaifNbJrx1BRWm2mMcXS8oKUBFRc7j+1D/5wkYbQz7Ti3F0v3RMak00gwyyngJqPXe6b4cJZXDbGrZhGwRDAoB3w4+75HWGq8C+RbzA7y2EMid1lxW/+cl1iYNswcx1FKwUjxTE9+cLiQiBR+K9Ho8zITNCL6OW8kSqULBlv2hXV0pFoa5XL6QCN986TR54JT7v+P58gn8PD9TT0rUGckWUJC7LqH2nXlz8fyvuLnZv2mWGJm0yAniTB8j7t0nwhifobhSsjaqNGTbAoMxIn9qCYiNRqh89wyTitlv0tmYARvKR2SFIsXZ0WO3dm5s9AjW8dh2qjREZ4QcAgqhqZdyaDY1Y3XcfmY2Cpu8EUMoAco+ordn+g0Bg6ItQRSzNHyp5kSnhTsN5ZweAYCUTczF/IIAb/jXGBf6WtqMDE70gASbWphnt8gZn8l9vj80twAOxpPsURIkIGHwPaMQwDu/D+R2XQXMtZnZlgpLfgCW57RhdhQ+MyDuTY6SqGFBNLXljRTdC2C0k84hNDHLAtg0rs6pUpP5HH1kK5NKxtCUPKIEKUiggAitfOoj5BGT0hgyLg/jnt2PC60rvCcBpWI/wqNCZlLvpsbT0iIh7hVzd195e7kWGCHaCWiox6qWvtheeYipWzbVsqNmZWJlXxRUZvLkIn8fJSIiImYCZsR9yN1jdeaevpJMVgJvzMd2xgTs2wkKYCfCAbOK082Fk0xVW/2nuYyusP8VTM9XbUTlb9ZgqDg9jbMTM3aQZ7FFuHXFcBkibgryN0jbUtuZIPl1IciT0SSZHRrtzNGCl5uX3vzHrp4PDVkGzyjhotNmRketBWGFkYrrfGndWmkoSS8vl/aSOZHD4mofX5jCni01IOWlio/ZNwZ+wLm1JybKtqJ1kLKIJIJtpzirRaeoBX7DWTSNH1XG+5Jr0ykEj5OijttiMyD2LhTterhDcwWp7fsuXBnKTwqrSysEzDcd8RmSvBznWnubCz4fNgmRrnB2clBI7GlxnHb18agq6Sf2vyG9BsvJz37a6ZDCMkNK9C5IThg4ISzyxzsGqFNgwoPxJWkNdARMwborWLZLhkobfZYY8uJgCk4G65smmOGkEOJyC1+G1VAmh2ayAB5YfgAGxHx4ky3Z5vNTw9vTaQ4AD9joH+Wdpon0y3Ory34N3dk9jQuiKcnYNGm/YFUH0kdaQxLH8XQVEi2NMuqetS9V5BSbsS8bdu23UspykTGaqp0phJ0X4OrISES32ttF6gZeWCcKavxz7hF+IcvQMrrxH3xJFPYikTmasufkG3mK0QIlmi/v7KUwuHI6bDh/n2wn7t6qP0F3Q1/KVzizEzU/FhmRi2uhcLGwu4IqH8J85uyctbQDOsMrNaMhibu16bbjKgk39+EJ8wOV2zRb3KhIwZSyKo/GY95O0iOTPzXMJzEMcIZw0kEGQfgrR/gmDUZg42F7itUMPhKw/BISDMkS9wickIUJnWC7/qxdOufqdNmI1thYjY1EtZqxuTpDFypMAsTm0eXGjMJmUGLbvmu10i0IhiE80qRpJKIIZpCT6QNWMgwoAMS0YjQzrOW0s2cAHBvxPIQglyJjHqGCyrPVPhMHsKeLkCJiEw57FFT02quaJjbicSeuHKWWhwfZhv3K5eFS+BRjMwUO3eNaMe/3sCMFpy1gQb6/C5HgfWfAPNkmOnFk2enmu9p0OEYTJYeEJIkAOLzTSCfVFtOBE2Z/S2WUsA+WN+e6h2ebLUIfCRIa2Jm/aqc9pqItGvZijTf1WldsVkLzHIDi5iVmNncUaam5o1XJfY7UCGT+8xLOKOzcE/4ShNwLh34TC4VdczM88fMuLbxVBoK/Rm5M2YTX80Q3m63mYtmFo2R+sqVz32f4VICHlcPZhYrgFTmffHUY6q2bZvvHJvlICTraYTMzpXlcXiep1LSpcWSKY9GjsKfmPu5Bw7/MFOcISIiiu0DF+S6lZY/KbmI2p2A7SxSNfUtJxM5PSLIurhqRGp5eXlhZj8mw6Z1P4jodrt9OfaqlbQam4+6j6KhaH9Ux8nLy8v9/hIxQDGbiNJgPMe59osLrUvSMLACPHSlUPceoWb1Fu73+77v+76jKo0VVRweBod8s9WkJ6+PJbV1tSoicVdDBFOLyK0nnQpiCJC88VKKXwJvfX0fdB4xFtrSEbXZud1u3uDtdhO4KxpR4Yt4x8P9fndnkqfldEdOZOcj4FA/Pv3ly8PrOKP5Ttm+7/f73XfTwsPfYsuAZhH/j8cDxxVsEvwb9WO6fa4JzGhstnOfhWj2ieB+cw4ScGA4Zi1ejKb6CviMbZ+dtd5+tOBbhwa5+LuQOQ16G+VzEKoYm5nfj66qWmuhTUS5XXvFAds5I8SOcFUt0pmRqFOO7vt+uw+HhwK3PsWlFGc07m6/jRsdtr3dnmX75b5B+LxGWxBDtlA0+FxgIz6IHCfIB+LMIiKe2ts5DlUDTqKzJFJv8lzGFFBcLTDaWHF5eeQTV9VIExAiKBz2BfIs+u802vouRWNmv9RXH50ROZCNejtjWu+lBx6VAf4OqYRm5LM+EXEZLncJSeVjMTOXA9Lzlm3bsC0QVBoyweyctWg5aUNbrb4cRY96IM9GCXkbFBjPsSPkL6QWn2VnOG1JJa2Usm332+3GWzn2qqqHVjMT2ZgL9w3AWuvBh4iUze/MqXoczKxV98fjOB5s1JK820/YInxn4Ys4p8Q/UPlEx08sy2lLrMujnT6X0GQhzrpqWRzhIULP0LcUhhVDPEG6VEIPCkGdYdRXw3lvMSEzapHsp8uqB61DNRoIOrrGFUl4Vt6E6qpCTFPjNAy7Hqc0riZzweovun3zZtfvQVpG/QghXSxFkiiPn2bWSC2jKfMeeIJaZoMG21nyBbbwnplKfNFZ4/l7w9AQTqRz7tZGkFBA1Q5IT8vWJGevpimKjrtsOu1t8VgIlsXY13vmJamBcyzjdKTX/QMau4i3NMAgpDDBh5Wtqm+2Rgs2ttZ7XcCfikJMXqLq9SieenSWeMP673/xPc0++SkGFSPFKb4Sy14Gqhh56j108uZDu1Bk3He05xevum6hQZj9buo73koLgMRiM0h08s6Q9xUnseqgL5ZjTy0v6SqO8sQTry88njHqJS2NYjHmdqu0dLVbKYWKMEkpbEyF24q3OdKIth7D2jrs5krQjOPIrTH6eRONXpUZQTFgAnHmf2u99E7RiNCvkOUwAWg7z2JiZiRfYcRylntsT9VB8AF/vh+oPDSD2UIHCXfr23rO6E6wXZfDcCgjZx2FQOM2IcF2FVRp9tMQ3u79gG0XPSI+A88yLtnfxANybObnyHDtt3V2Xauq0uPw9QyCFl81qmqter/fn3c3y4J4jlThZ97N2D3GLmCZ2cxvDmAiGb2YfhqlMaBZvO7ONqaWQKtZrn6kBVVv6OMr+FEb4Ss0SsmYhXn4iR8FjtYP+nfsKH1tuFpCOTHsyePlZkRqalyI2bgYGYkdaqxUmJXELWsiYpJiOvXryJSgS2uE0YQjKs4lxrSfqDcbYj64m4AyxZxFhSRPkAdj9U+juyUqI9fg3M00SSNfpJ+wHEeNC9eY2SOxVHVLh1uldSTlPN/AIL50PHV1eliPyv2YFZ3RvMZqzMRqrCbCfnWV9NXPUkfOkTpOb2n4S8zjWBA5S6WgYw65uabNCVFHsBGAmQZkOmQwT9YS+Hkg8/rczKhbRQhPvOWgRYWJYMaalH59ZmDhqJeI5WErHKrx6V5N7SBTIL8QsMBzRGG1GG8UKXkHyXvRnofM/anuWbS+/vdtQWkpr4SIuEipxFz0NPhYFW9KMLN2Dw1CVUohbfdE2B/Ag5WGGp+RIHAFEFVQEi1b64TyrLulVFq2nxgVPp9ax8zOuO/RDjgF5fXwr4CkERv9w7B6CDGn4TkjIhqM0ZDOT/TxVxeLqPYyhrf3UBUq3VbjcEc7pN5A3zo0s0WY8NCVZWKlPmXcHRdtpD27rvX6p+riMLmGkPC1iO8W5SwIrgBb1kTbZe4o5iUmMWRc+kAjXeHrz/GWgIlRG1ztx91wR+cWTRSY2CGSdNiob2Zb7c2yHFppO1bn7jBBpGoyOObRRbPhrUxoeY66tMUz90Kj0bOsTNOkRwXfHkLGxAaR31HxpC6wd6S95cSdPbpRqJNMG43mU3CN1VTPcD00QKvtxIWpQGSEqmm7UocqsRq1pQexmo1erhFdHfiF1sSxP5lEfHGeL5ScqWV8ff6apntZM9CCHV29tRQs+DzNwhjje1Ly2REP8zVTPo4X3jqBb5XRMIIVdmK9NGXx8Dhiqy6vFhJCUmEoNIpoRNpy6oO159lPhIQyxMb1TK31OA6r2gJMinApbl11nBSRCCYs2sM2zKylgFNjuKrVV/4intqghff8oYPcZ2Z+Uo1G3H1tsdP2zGZTorwnjcReb7+J1gwCX36uMsMzM8xzOFHhPRdJbxVvR8cnHtPaV6ad/wkkIJJyoN3Ge8HeHAVWQMZrCbBVuf9aSlGrzDmza8TKqLUoCk6ZP3tHSZlhmMsSMJqEC00WyfwkpjUx+alyBjvyG2fNujqP7rQfM4xIFJ3SbSOqZ1E1f0WJKZJ3AVo71xAuGxc4vYjo6nb5IHNV1Zjmfr8KS0GTEec0IJ/Xo57LLFvSE8QVjbQ3fzCQ/jQyArYcVIqbp1GHmcl6vI77zLLZlLOaxSymqcHDQwOd6JAHa4mZNHybeGeBhwvCs59jubj0YOGvy7cMrZBx0rmHfCV7otZK3TWYgMfJsnFSEmDW1hj44tB7PKTOuepece8LQLXRmJ5H7QyLQjtZ1QlvOPX+JPSjCCwFr896odhMTcXQZuk080WC5KRGHQimwyax1e4TV3vR4zAzE76pC5xmXamS98TMIps3cthJD+q3iXQnroiQCRUyIxZyx5b9AbYIZ2JKWIvZnUkNZcdVa1esNwu7uX0aZzGmFhfHtR9TR5mS2v8p/M+DaXVCHsIrNsKCAaC7Ba5wRN8MVd+xGrc/iMiY2NM79S7sBBg7dc9ELPIS9q4KTlNq0OmYGk7MlwtWDzSwGGPjxrjjGRutI+gX1UPCZ/xFrxiOZY4WokmaxCRGLDCNWnNGI+JkWQJRCf5EmWmADKoxXCzprSX9RAXED/Lpk+lNNRvwffctWI/HoJZEOTaWJ1jqgxoeerVEsbhZgEEtXjlsUwK/BbawRNfJvzBe63oxtU/gefLPodpxqy7NQuo95EMIqxNjvSkiJVURv/XZzMwgyB1TEqRBBQtHBGja7nRFG+i1t1YOZkan42rxEKfYrj2myfMXqEDbiOCGqOTMji6incBkE1/9GudzI3USYshNfmlxQuNMnFhhiRzsBfEA5DryYFDIyPgiA8dFFhKNLi7URBLX8QHd4fNI4xuw7YAx9PSngQfJYVNPpNAMKvelOHIo8q+qYsbjUoqRGrO5cWxcCnERIrHY/CNhZu3rOg/ROTdURgPL1Iha7kNmJv79p2mYY54a1BdZy1IeDpqYx0YCuipPCBe7i+cu3Za8QUOGIWPf1zjfJXoHPE8KDzbWYPD5lA7Ss8cPaidvZ5IlIf58BePcs44kkL/xRMa0PWXaGn9P4dC1PhfRb5uCKiKj+4yP6uc+RK2tKdERsiw2lifViKiUG7MSVbNKw5nKloGoJ3Aa3gr1HJ9j5RfVnFO2bRSIb0EFgmyoGbOA1WgkVHwlIEFFwmAwJVGL744/rVE982OnluIBbdTSVbCZu7Vqv93LjS1Hr1B9pBHNY8FRI/wz5PH1XBDLicxwbgkcyUx0nhAebY5xbKf/iad83zrG8ids+ym2oGH0P+GgopSIwG2c5ydj2CWGG1jWFyqqSpC41cUJTlDiHRwITgFP5i/SQ/z0hA0DhvA0XA3wyetpFp7/ypMFY3Eir3dday2QtyzhAT/P7vkEto125zxwfBIPFSbLxlVNGDGt/rhwWracGAbBmOVDmkqCGcR+wfUw6NYY7NWk4zDpgjzMbPYoe0nHTa7oJGYnHFcBlR9YvtnWEciqSsKibZWiZi58Kplpi8MmFjOTdgi3d63KIElIzbq6/EN4sGapQat1QK88PHmuGr+hxMQjFdq4YkB4BFQXM4v0Q93nLuHoBP4JUKUnvc3heRguPHX9hyxLZUkwkEj8iIz6tbN58qdrfeZIn3iqutHg8wwFHoEbQUjvse6ei3KUj6hlEdSljEh1YlDYwoiixRUWTwBLzBU1sQvs90k7qa9OgWtszIW7gfkEAwlFCHyS77XWOAbPGJ6vuX2UsKgD+qDWACSnVOyiYjA4IiRtWV4hk0dqXA0/67Cl5AlQnZ6trwCpb+L4mXnEWB9aYENVtfmnfFUG83YaWOC9o4FOTuKZadsgIcJzmn/OU+eH0b5HzD8XHUum42mp/ARIC1T0d2edPUOSKGHBCKthLoXGEqonP/Ve1j/NfQ0cN/7q8nOW3jQes01dBzZsNLDORkiXvRN1lw+U2QeZ8LAcYwqJOZEPh7qSSIlZlp5LRUSIWzBWPRQri7jrkonIk6z4liJLOYeKCOlUVGvltqwwM9uQsIjoPADVZ3CQ+EYRhZPYmyEYloi0O9hKuS3rE7XreIMofcyvx2urWVFQFjBdhAi+XefNClJoe6uOgkohg/DvsTf/iBmZucFLZqFhuEcdcq1Uq4m8EBEzeZJPmMWdLgpCePZbXWe7nBUiU23ZTTbeytajX7sfcHceLxubhHIw5aOnyxJhYSFrDv/t7teFn4wRoejMbGcmLWEqTNwSPbP6zJBZ1ZZ6ioicAdUTW/mmu53JPwnS6vhsxgUg/jx2DCOC4YnScrX3QkpEJsWITDa1G7GZ1Z2sqinT7XZnUj0e9XEw8317cQYQtkaERSoZu/uvuX87zTE3j29zorRVkYiYubMqtEtR1VqPcttJiEnJqqsvYSlSlLTfviiOJuOqVA/dDHwhzO3grzHXeOKHCd1TrbvHax/Hw44eaMxus4qqHcdelVzdqqkoecRNOBd8mrUbIiJS3Civx2N/lNvGIsakZv6Xyaop9fScFqrFiIgOVRYmstpsXCFmJSN3+bSWychcVNdqe3Vi3Yhpr84X2+1+q7UetXI7yFMOpcdRP9z0w+3lJtu+76p6Lzci0kPv5XaT7VZuJnYcR30cIrKVop5M1Cisd5/lUgrzAH5znfqtxJ4hU5i5ydZ931tgn1kRbufiRISLqmrV46jWo7W12rFXIt7KjYyP49B6eHIjrZ2MXap0qO63FyaptWq13Q4RKbJ9/LC9vr6iyA1BH4sBgzPLRHQnY1OqRrWa319uwkSblGY/taakyE1Eym3z5+SkL+S4sHoUEbG6GcvxpZgHwvNn3Utz29Rad9R2j30vpZAwbzet9XCFIUW1XeospQixH+DdpNRahbhsN1V9fHl19t9rdemgSofVjZy5pIexiud9C65HBUHtgJFLg4Wbx8z8WGnLFFVcttR6HP36dzMyz0frJFONSp/qLpeOqpWNtm0z5sdRzWy7v5jZcRxMQmTCpKY+P871fppMREzaorce7bSyh6k5LzFzW+mpMXMc1I7plttwOIYLOU9VfRCRFCfjQ4mZCnPhahtRy07YxYoQq1rPMbtJaWrazEQIMwqFFthcXqhaU0BNFO9D9C2FuL7f72idcE+kYiadTSJaS5mdL0hcXFhLvMnMuh9JD6KmBsXU57efS26EYebHK47XB/dITWG2dikTyXYukBJPtQZFbrdbOKRfDzETpUKlO1DaKVniqlX9DujKZltzRx2mpkTMRXRzXalc/codZavs91cWKcK3n7xF+MTQfvNF/Ipz/9Nb+6oXu6od5vubx3VVTv0KX2m0X0OX+1n9U8v1X4l6BnN42J5P7lZ/gvH46cVE0+Mth3ktbosl0QlgWiukzxO0p0fdIHnm/IqLJyhnFi4R0YDXoMfzT4ezdxq4QmhSYtvAzLw0xzEGqMkonMubVJ1+jfqBnyDIZR1cLSA8qR3sws3cEJcE7pw0WBr3s4iILzz2UXAebbVknxl/Jp400nkgc+UkQFBSp5q4NF/SLaI9diJirzlyf1i/wRpbiJYjuehy4FE/RfaEGrDwqzUjQ6IZX/LVZoEhYWclyo3CjSEmKaWKJSl0gc/l82gzusMgkLmMtHq2HJYcOgP8//OIAj/p4YzPNBHRNYi7HMt1NTVzL6nCkhGuYEuSP2gMR0pAnJHJFlE9N574NA2Ex1i0uZGADTdGCdgnWguL38Z18oqdWx2B8DXfMktC5ucqiJMlxRKRJ551eNr5QacKuiGzEMUY+4m2sUGRvqVIokpmGuHyva50Icn0U67KQQ2NQMz64EkLiJQ3efXNdt7fKfIqvsVgXTUiWwWS01uTOpeZ6zr2fGqH+2e4nweJiy84RNspDk7WMuMwpFJHLXrMUIigx+i8lJcJmApGOoYXgI3YXKiX2pEAvUgkaZpQ02OZZxP6aEsX05OEGhWpxWZHG6OI8AaybDCwtEu6WcQs6Sq2MOI5T9ZhPJ9ZAz8/+TpLQ4Yy1hlWBSFn933HagGSdpE3C/dlGe/4G+IeGiQmY3ze2WYa/hgatVaE8TAkOALTfCdTsfGgACobHe9njDoBZPTe+oLEtbD90YK4I72hpwVXCC7EIVg3lZIGmqcvQBKRyFnfIPeM/A2fGlzs7/eEjQX9x4iHNE1h7cVzf9HzvfMqZhmng1Z8gdXSXyxumxIbKwVgtcWWEVOxrpLNjNlwRDEoGS8USnM3P1wCP5NNzIvjhyeL3MD9jM3O0olG10vqN0I7ZkiwZpq++GmeoNQpzjWOvVZNP+FwaGLnNMAAA9tEfolG+odW0TyLgYeRkcai7hsdIatRzyKUpkzu8VMKw6JIhS1nwtJoz8zqcZBa4hpm3m63mCNn2H3fe9L8oXg7lwYWgDjipENAkxdkfndJEIig+BxcdFX/TTjnD+956+rJ+XW60ivKxeguhzAO2RtA7VvMakepmG+RmjAPE3wB52SLxBK5+vHTk4wS1Kc26sc9mIfAppA7ZkZwPMTX0NFYAmwWByHoE+suK5+vGGm67ofIuoWlzErG2pAWAjaQLe7uPdNYS4zRYHQ0pURKe/wBc4I/DQQhb891Id/tYgXCzFbZrUZTVjUmJhYyzyoswiJM5gkzzKjFUnqkEZ/yUoRqD9BmMRZiJmEyI7N6HKrGTNtWuN1lpL6Z5P8QMj738Rma7ydRqBAPwn32RKKICKyCvG6OfDPflXb0OlC1yzv/lYnWK/L4Gr+GAxIVCUW7tfo+LIMZ11VgRZh5PKmOlMCjmYgfknI1sLRC0dJI9m5g4WKjSfAOBccii5oi8ciHgNDXH6jCTyLsmWUMbOs+gxSTPkj8TgzxNfPgiPB5LkKNhUojJlIzNmYiVWuINSapZJ0O1fvynUc1JavUWGLovoHU6KJDH2ADDP5Dr1MpNsNbcIAKeTgaE7OHe7KIqZLWTpV+56+F9Iw0x9SzTTIZU4tBITzW5yKXG2w2OjXrfgyC3Yw8j5iaXwtramzehBlpXK2TLvRIsj28Lzqmp4qCS5eTGKZtjfQciTMRA1FMBsVnM6Ocbf7nKVfyU5ODFoC3IWH4yRrI0cxtNh+PR8u1QC2lS8v4I5uwVXLj6jj2euzV11pepxQPfm8a8xs9WDgTCddYnhhMSx1jtkjv+0540od3lisIY1zLrSu6yF35ZkdI6zO0vjmYWMWVadq/M2T1Ln8TV0RNM7MxJSmKYHwljRTpL5qKVXsayHJC55J8J6ioUCBGBe0ufYP9QQLvgp88VhJil8JM/U761gVFjgaMJvS9l8W+GMPeECLEfz10D+WdGBghDx6+uhri8sn1XHgRuNfZzCJzPV0QVYKq9l2tq5KEbMeD60Z/nn0JvfjxybN3rDOqAVDGnFUyDgedCkF+a7nR69M0I/4iww2YuN+BXRNR1YWfhrvvCl/M/HjBPgiYwZ5jIGTJttFCDwp2dU7WfcbxFuxlD5toyGVLzHvR8ZJdRJrCgfwZNmzHRhcLfhAjqqpDLvsWMCcnhCbG2vtKxIBfr0aRoJqnNVbvNh5sxwqnlwXGktxXOOSEwBkqpAr0YBmIyqO2U6Ixj1EzUZeDHXdTBsza79Fb1neUJHomoDceiy/y+y8oHoOiyFoqhDBHGyag03MV2kzrr9TLb5Yr+WkrNcR9HaVw0arbQxUQQKBYj+Ngc/5q7N8uSODis9RFInsAubUVvsDlj0b0TR6soPVE9E8GPxcDx2+SAl9VkhyMD0v2W9YMePDdEypb1JlfeSeos7zLz6kY+fWWG2sPn+ppa7xGY+Oxd9zOGDo9TxXBYu4EHiJgQBxgG9wNjnCERl8iokejVx7ttlkCJjQa6ICr+WKOGKywrjrtclEWorjMh5iZpVA9RpSGywRtUzFr97TDtTanwfc//2/+l2dg/v+5/Ov/y/8ttSk77c6wXJk5dg9pNCzwQ0x0ON6JSDnrJ6STpGYMtH56zqNSJKC3tGXmP6H1gP4kSJx4WkKuwAZnTG+HwSboKMocF1CZn0ruvpBYSLGvvLvbw50c7DkXdDgbGLiVHqoNuiF7VXna+EY0zlGGOK7ZtG2fRxsmXpn5vc+LmakoUzuTU8Ui75qySSCfjYSa7xzxiRSF+MQPqdNUUNjq+BURgrZm/PUjFGEYzeOdsYRYjYdpcxDaHwzc0D4pMjVIKCBRKNHpPKEzNaK8nV8sxOwnWYgxXagZCXN3K7ZhMnPXGvWsx0q+U0DUlr9GqsZsTPyNHpSpIPvjEHgsBCQUzC498fW2bWRpi1+5W4Tc2hzw1pMmeT4BLcX8oJifiCr9pkLqNPMtHiwG02om8TRhV3YObghe8fnXQvWe1uZqqX5IsTYQ4vQ8vsbrtrKaU7mSBf2AZBPUROQ3ADKzyGZW+8Q7fYCAGy51yh6y6CK2D0AzEZ0euHNQgwSZZAEaWO7ECr0YdDwjAanf23EXd5JWSeQtsNcreip3thacrmasjRP4/BNICGtA/Hgddevq7P9a1vxSonTfT/tqZnKGbzoXZ0/nrMBw2w5dTTM94Lu4qxhaaubZZePUs5PFwqCF7kF36JQKN4b05IS4tYcBGV6/RRfBMAOkMMXQ32lmHl2LQKLoT8MUkdKllNmpm8zs1rY4h3BDAv7igREGM5S6CUV0ckOgPUaHDxHVsxsvVcYJ7b/WYmzGh6qxFS29qYNIwtNCIMEUttKir0RUs8SwqSBURG7ZDiSUYM5fp58QD/4ZPaNRIdH2/FMigERFMz69QtAPPuSL0AUiEsnBUk6QkREK+1VVlm0pABNmgk3CtGrAcKMNVRVha5uiDrMj6vcrXdP2AnVsb9vmKeUCVK+5lQ3NVmqpWOl2u8UWIXVmV1XrtxlKvzYnogNxKq2zyU/dIvzmEiSC08nMP3G/9mu1Y1L/8fknDHC95+hBJGYEc+xf8cVYBwj7FhYVorCx0goyD4FGA6tNuTift9dEhAjv2Tgll0G4NI3rPIOv2HdIFnuHieklLs9GLo2OsISRZI0pWft2vvJ5GYOxRwGxUemmFo+zAKvAMyFcCJxBmrsCfs9A/v+qMLOnqG6IaxusROO+LY3zaGOZnzMzlban0Lcg3VtzMgvQXjU7VXvqcdaXATp+7VrhPABII5HPn72g1y0UZK01EpFga9wTZqJBQ0Qicux7oj/p+QICM7Uny3UPFblfgD1GvL3Yg+tPL8OsV5AlT0cRM0NMNxtx3GvnKtL/+UP3n/lnG+Yu9ZWmeEaszyCrmZCRtgQhZkQaNhb5SXg73fPUFbKCUBrA6JemN8+2keoZShjmlAj7LdR+M4fpmZzZJQKZkqmn3KG2D2tM5hGRai0y7ITKakvxwn0bzKynTvKm2eHwd0lPBexwe07wbbt7ZaG+HezjUmNhv4kl0o8QU90fgVjHaYkFM7GwcF+vn2QBdxU4ACKRJqM1dVp7kE83TWIUtLCH+WZ87tk3nW0tVuY/l3Tl0dpG9TcDT0S+x5eYwnFBw0aw+rESN7C0ZWs68wq56zjQuGzWG3I5s00+5DYNkEF4MMYlBxy/UdJMICgMdvc5zRIok7ANu/HrPw2Iuyr96kCN2W2EdSxeDHmKO+7U/SIB7ZMB4gLlSbVQGGhoQ8vFSN1kZirM7qV3i6cdMfWMPcxMdl7i5qHK2F00W5sPLFPA/X43M0/0TF2DnlQ7sgoRicjtdvP1kJnt+y6FReR+v/d4v0Mg4XVsqSiEHTDzvu+lFI8kiFWUiDi9Jd6wHnFCRJXONV8ppT523/nWWpV0KzdhY7Vy38ys9gsThDf2vXMiIun595mZzaWSb6H3i33oJ58l/jf5X/UP/4b9/Z/y5Ku6+4ktpzrzK3Glq4i47+rxeJixWUx68ZjPDx/ujsA4XLNt2/1+J7inwi2HQLj1g9PBEUEtDM72+Cs9+yiBePFTk252RL+llH1/eNqb19fXz58/3+/3bdvmKY72t60dww4BGHmzXJj6Ty5SXl5eAv4QMtFajCWukSGiD9vt8Xjsj4d53IzIsR+eVbWUQmZ6HKZaSiksplbtTMfg99xJKUT05cuXUkopNy5dkhAzn6eJCfx2rjAej4f2AMrYgcKNQhfIwZW1J3yybo9GhLV1+5IhlRd1MehPVHXfd2nZo0xFmLkU9gWPWrVK1PKPkRCpUq2Vty1OUyKdLK+C4J6IlcB1QaDhcERODybtBKjLrhBT1JPmxyQy87Zt++vnoPyYaO1hT/FW3DUeACN6Q/iH9xRFTTyJ3mXMi4Yezdi3426yU+xewYycdFizTNNeAiSUulr3BueIRjI11WqV2b0gplXrYdt2JyKzSmZkzWHsq3oy8u3C0lPxBcOGIzngCfQG8h2efd9RXRIN27Wj9mx63PEQnBsK/Xa7ffr06fX19TiOfd9fX1+JiErDjNM5kZzHB1py0Z2ILBBFDVqcpugagWyXwM5UG/PHk0kxP3mzwlJrvmke/fSCvQS1fUO/dlFStfdjJtOEElyr6r9eBGWbtOChDtg7B8VTiRfx4fOmInFIhPtZ3++Yx/WknUhShwc6nl+kw8xddxUjMUdLERbh7TaQNY/jIgz8jBXPEDSjzJUo/SOif5P/VfxHq4fLCjSaKd/25D0F+31/78t25jqzfdZKp0Bc6gahIhUtiS30TUx9PEdlIxdRwwSWUJRoCnfr3GKL/RQCX5E/iauxXJ0HHc6cHnqLxmQHNF0rhJ+RTxFmBD5UXeox1E+6T8krB8AJAzPY2D4q1LA83FJMBXGe8G8rvp67jresOaiUqHnfVFX1oNoOvw5n4azG2bi5x7nxwHYClcfla5qFWQxiO3MXV/0uh4y0gZ3qtPwOGGJO0yzQpFOWKibwfEVX8ysz/FfzruMu7bKoHqoHkrdqW2xEclGv6EvaBPkT8LDrNAWDAl21M2sifzfov/Sy9RJ6zYsvw4LN61iOXuLrTAze71dsEXagL/GCIiYeiixsgvd3mor1xRyPDvy56LSF34f9df6JN6FlWKCYGeXjzL1ay29B3QdP3cVrRNQuAOHWIPNmVomZqKVpoL6XByAtAsKW4EVllCwKwSXRgl67cH0F70kPrKklVVXPnuzNIkXG0iogxO6CpRGkZTEzC8XJfZ+CRMTaor/cWCtTbSvwrgsj95URevch4Ax6QWGEv6DXJxki/4b9/Xjits7SRfTEbzT/9FXuq681yL6qhH12gmRi1rakbEjZsIUyi62HWOH5q9rX67g09wpqhxCVjTeT4ziMKjGVjV9fHyICh2eNpe+eAHeHZEdPvJeWp0rOeHaB7QA0tpCAq54eIFSZnsk6Ksev6EJIOMTKUZQVtVFUIwjb4r44rrVuCCeTqlLb+s/5tzwAeT4Tr+OxOJSHRLRVJYa0LGYegy8insuD1YhI2gHGtoOVulY41BZdJJ4yq9Tz7xMRew53NlIjMoqNEYOEEQGzbzglDLsvxB+CPm4OVFXpO4C+CeiW8iY3YvGAa1ZPrKCsJrEtacbcci6IMGk1Ij9L5qs0IWMmtn53gykZ9RQPlcWrKRmRCx9VVeVSWISo3ULQOmP2bDzUd458AEbkF7K4+PKACCZmYs9BzcxnhmcjIhLSthdpxFwoziiUSxWP9Mndu+ZnftBQSGhPugY9pv679xup5COGKdEMfk0GU5Dom4YU1sHPs/WMC4wIRU/ax2nE+o6NdXFRa3V/ni98UPig/EmI9fLsFOEM+nKQOKSrD7P2eqJTl2Xu+jlI1l2R+FVVZcrk+20Fe0cbK4TDDE+QMk0k1T+d2+cwrBab1Z8Pm6q93zfhzIvsjp/z4ZjWaj0EtOoQeAYnBGrQBCpSAm70TFx6Fu2XJ1vYmkRmVkSolG3bWGs9VI2lRV1w2xsM5oHbnyCLm7TsNeArwRF5SRtwyydYwth68603nzzv6Pda0Ihsj3rQVdPz5zHs5scyM4+EqfoIzOMuAHfzOmyL5suszdyJXdr4TJPbiUAuXUkSfIW6NyttSSS9Eo3MnoPEMmE+ErgNAqp5xY905UV58CvE62GjUPfyenfanGpEcAKOME1J2lG9cDgFesPeolEyL7GKKrYzdRYRgdXkMrFOK2yeIcrMTKv6Nn0pxMrK5BYca9jHfof6iTmUHig8+xDOXcv4CWvyGFFOrMTKvgNGpNayTp2XgxFRD58yOtvExgMtS6ERoCNm8DmSjdlitxq7i899LLm7VJD2ntSMX0NRNiZtCedONrF2jZjXDO5T6tdS9U7huCvV2BwzGwws4oLaISEwZjZR4/JJGuyohSm9GMjxkVKPWGA60iZpvIjlXIGwxckzJ1THg+oBc2RE6jGjl9bG0pNx5d7AAaQP/6wKktdzUnte5KL4r+8f7ykBV8/niuhpGyIPJ27/w6A6NFDsUEg/RkEwuoAn+Ba1HYG4CTes9tCc5733UlpiBRMqpZTbOB1leiujzh9GnWSCp/Jv2N8PIwM/o99o3mJLvqWlqTT7n+ZNun8m1pWX8GAlD1mYR2YWuCWiyJJjsOPA1ycYsMFlZYNdD/zAFyVEITOH5z+SV4V+jdaChr1m+GUdKoYjh3JGgtq8WYCOWBp1Jw7w3IJRE2L/54HkQlxYrKpVJbX0z7chcAi4x5EW4viVRqEUY/QAFIzBx9lJLIy/4kSkhzHAuUKL5jwfVzr3nvQsVh0bCIz28Km5l9SRrUo8jw8VLnnEdghUO3ZkcJkx4mfegpyxkUqiGTR2Z+GJ9HzFOIEiL0GoqamrguPFiWMzUnW7r9lW8MT/4a9iVIgL0ybi/wrbxkJVqaodu39o/3TYStNp59RG+2ke6TyQGUuzTIjngSVXOn7/KbJw+LdipmiUBqpHrftxPGrdfVO7H9CpfY/7fEh0bWAFoAjfkzlLVJhmcR78k36X5QqPT+ChUSjQxA8/pSwH+7wswQ6LIYkGIjLN1aKp9/PSLGsIloPY6fN2BPylGJy+fIthMYEdIRhoqj7xYDWAqXXk6wUi0u4iH4xdAMbHRMEeXDp3YfYmYtmIe2gXF5bNxk3kMDKuXErPLaG0jfh8mP+clPBdxbiAeKSLJPAlKK53zSbXThDJbEtZj5eikcYCmGgwFNIEUvMAhQgWON0TlhMSPwqEZEItf2Lm0M0umt3uiZYTkDrmpJgL/hTwx68VUrqjERCDRdhiFmZRgEMOr1iwMPaIAzcQlSg8cVoTJlVHL0WStO40AsOpH400RhBIz2x/47zTYIutwW5Nqzo5zfrYq8VPOF+p2tVMXZXU2gznsgW6KHxh+iwxjz/Ns/+kzDX9c9Az0kDix2Gu2fwU92pBch6MJVajy8BBXvkCEaqrDzNOEg4T3hiMY2dkR5obVSg0nE6oC5MY2lH3/Xg89tf9eFQ9YiVE/TguC8UHFuJ/+Pf/NzbwVUvS7WeF+vDPUu1YjpBXBgcR+b3uy8GjdIjWIi8LU4GpQlNjCO7R0S2f5O84NF9qy7I+XSzRWHe6LvPEX8ZgXdgupdx6v9X6/hYzqaoYsXRO6DeuHNwunTU9PdUiGyy+B/xUz1Ni56TEFJtZpDBgZjJIPDicIkTpiQH5xszUNxbRWeXyxR0JGucp+tZPqh8nyC40BIuIlBv5OSPX0ERmlUntOPTxuj9+1LoX19B+jLnx0lZK4a1IN2H9MrQGIZGZ3V7uvpSx7pNj5v/Fv/ZfSsZQRFxdfY3PVyfylg/fPP33nqN/S6i+quXlScNvPtj4S/ml/FJ+evmv/8/+bVSO3GIWH/5rUj23fkcegaVlZnYdg4X2ZRgZh1rYGQZbq37HeVopaQ9nBHMfvc49EwSdKSGUXwIAlPk67s4ndYk2X8JJPGn2hp07+BXSnfhBXe8IPbiffvV3BM4b1rrrUWutakdP01Ct7+My85f91bt27RY+8pigwE9bEF4ZWEVuYF9yvHzoeYksTnNCTXw9Dk3VAoLfq4FFoOlxJsIt9E4Di+qDVgUtOfoJBta23TucR4yTmcwMDaxwnh/cM/wqw9DKEwPLzJKBxX1lrwrcyxvHSmIysPqBJggqJDWz0oOYgkL863EcvvliPdw4zBdfQHM/ThzTtDSwzKiU4gZWDU8JkerBpFRrMrD42GPySrmVUuS2JQPLG6kumF7u+777MZCA8N/6b/wXl5P1S/ml/FJ+KX+Y8l/7n/6vUTk26UoL/WtmvpQNp0vIYb7dl40zHOUm2E94HDVtmocBd+rQ04SyEOxhYIGbs6t+Pm2AXbcAYDawaNLLDNv6BEZMMiXjgxtYOLpmOB5HpFlxA8tfefn0R+O+4eN47LXW7SbcDtXUtig3M7NdH2FgeZoPH5on/gjFGkptY/nQ9JjfoNLxX43IU6v4+Q5mbUkuQ//5wNoXPb33bj+1iRfxTQHHb/MNox7tFg/7f2bMvVkbLhsNg/2MdKYzfcXpEpOeqRYtymw2EbWPMWDvko3ImLtuJ6p6WugElmnp+TOIBzz09K+5yEX42n58afQhxD2DgPopHgdoNODEbtaz1ol44KqpHr7CmAvT5oiEURsRed4gNHyNKxEx3ZiZCH3IDAx8nhHzCnO+MUSXDycY/jiOluWLiQhz9nApm5m1o2rnPgir7c3FJVLK7ba101VFaONCQofKsZtqZTZWsbIFX5WtUClqdtQHZILwQF0rbs/rcRcqhY+j6nFUK3PqyF/KL+WX8kv5AxdTxW2/5k6RHU0N8rxMpkxsbFSIfFHd1ZDtlcAusZ6X5OXlJY5govly442VbW9B6oULMalrXSYVEvZLdMwvj99MyIgqcTtBJKSmNba5KqoYIhJ9+NJa2Fsis1DG4sqPiOKGurqZwYZmuAC6g2AwvFovakZkqmxWmIWoMJfthZmZWE03vhMdft7ieP1dKYVKcc+WR2URUT2GTU+3mIzozje/2JdFxMQPZ6gR070eambG6q4KR8BXZ3K/8sT8IcvSyP0Z28fWkqcqPfy2NrHIlMYieXFS0X4IiMeokXh3fiU9TNhLBtzXjqytky7m4qfPi4gQhSfyzFfkCfSiMLc7ntMaTqfjKqmEkdcM6HfkjP2l/FJ+Kb+UP0AZFsCTBMMnIbWSPIel9SKLwbJNXxIbXkbJ0eClILUxruudStnMoE2z0Rrzpf7Vi1g5KbWr+qE047n2cMnSrxjxInDIva/2xcz08UDV6YrpgJjUKP71bQPLxhi0f7YF8bi0G+gnKPWlZSDjKXF6ywB6T+NYShks8Wj/Ss3PhKIXEabtL60pD+d04MmvHFly1RKw6Az51zV9QkoiovXMtb1t267nwUORjXn3jrV7HMPACnfaslRIaf1v/bf/K98E4S/ll/JL+aX8zOV//z/6b/mH/+r/5H8VcllaAgljJr9VRdVY7YyOjU2fFnLjC0hMhGaQa8D6Ibi2X+Res7aMD5HO4X8yE8K1PUVHcAIUFNCw+xQFPQKpKXz9iYGVSthAV3oz9JSbdLHqxhA0IoqjhR6zhS2310dNGjta1r1a/l9UeJcH6yfaFj9vSRZiCo6jOSgKXnzS7PyWfxYeNumi3ytz4aqXq/rSE5CEXfKcUJamEoEdfFVhBma2sb6hoJlPgMZ4jthzufBV5bSQeLivDXtnZpFC7a46ojFTEYIxFx7vYfil/FJ+Kb+Uf64K6l80R1DYor4YZJ0fQmoJtNysICG26heykR+DY2bSuJOyFe4RxUykVpmYzMTEwFw7Y48h2AYW2yfYARsKW1VtO4M9SKk38l7kvMd9RYA6Vxd06o6hjsdpqerj8SBMDwbFRl9gL/0QYhkuXPm6LUK9uBPqn7eS/KX0NduIyZr+ucoTJ8o3tDPb+1hscDouYvl/FkiWrc38/xN7bOHwcnNnqyeyrrUyFSL1bGE9/JP8fGGwHAogtI8RHo+4+j1N+i/ll/JL+aX8xJJk11KuzgvyJPMNLh6gC7nt5k68zhw3wZJWpdItof6ywQZf96sNu5C4+E99gXCOHRjwbvTPZ2Ie2F9hV+jUUp26o4zt2e5LxJ67MRT2lsdSx1034cqq/XrQCDhO2sSttLY4F3HbbNs2Y9J6Rp58nQeLfm71/A0lxok2E5jM5+Sl8tzCTQQK2Fy8/gQJX+sLiXOLBFbgkzCg5ZblEvIAiMDMB/oYLM5vduEg5p+39m2Ugxxbyo2oqupx2CbxvB2KrMDJ1k81vhOf8zLll/JL+aX8Uv55KAo3MiXtxtMWGwrkWS0qXBgwKw4zK91x1VQSsWccNDOqTYy6hVJbp6FW8k5X0jKzmYUvpp/U2vXP5x1KY7nalrkqcZMBerzMrFbFKBHrl275DfFuM0XACRHpqXyb/8LjUTyLloiog9+3Vt4Vg/Um9H+wMpt6Ankm0cb8Nn05tx8n40JzK9xl9m0tD8/jcq4R/qt2eNyyjIepl9MM7cQxO3VSX9+GscThSLupR/qmLcJt28ik1krGzAUXInAC1HOHMsHpEjx860GLvNpCjfO6Tyb0f/i/+78Hrq2+glv4PEIcSe0TYiNxH56sVFU//ZqEIxFxyioy5jEXkW3bmDnySqh96SLDGz9F8P1+F5HjeNRamTtsD4ppMjNPDqKqsnEPBLQAstZa7r+Kifa3/JAmnrXEgTPcPEhEkWDM+urQG9GepFt09wOwzmillOM4Ho9HYoETUXZeG4W94xSjJBWRSIdDfanqR6wDqwrJWeLcNcEGNA7fxrNLDPxba/XxhlDuQvxM+C7VYonMzD5HmK00ncDlu6cXFj9sLSJbuctW+t2gm53X1DARmbYBbttWa3VM+hHgl5eXUsrr6+uXL18itpe43O93n01mjvP51q+alrgVcds+fPiwH58DNu1ZPWO578SpmJpS8Zqvk9pDn/nYI5+QyHbidtxLCsaPiTazaufJZXwF+wqQaq217qE1bRShSDzUM0yatRRQngs3zvnfbjcfY8Tu+PbO8XhF/kWuIRCPAadskQ7J/g//4/8erQpbZTNh4X6GP8bljiNKZ/txXVpI1U/AmVFzOPUrgFziWU/K43kJxMz8sKBJZwTuweBqxj0WZQQmZmdklnUgig2HtKiLiOGnZgXSescs5DyBsD3HP+MQlBEzxUQfrw/qlB+Jsuaw5mgh2KFnV6ZSCok4flRVySpcHv/VpwhTr/9MCgr0nz2AZpbsQTSp65/SLDw/FxNAc28YcKgA/MlSGLWq00pipvgkzt5fQl9GUyj+Ui/fULZy77njpZTBL4W3NDK1lFrBnCFwnWHwVAgCH/lRniDcVgNImJ+T0SfBiho6nsx72XMjPPoaCZSHmRkpkSeJ7VGlJt31zpiUnv2qWWVmJg6qLqq7klHPW6tNMFo11UibMY03TS7OflSL6eCVaZtGHQJaVT2pTOqXmqYcWove0arDtxIdojJIoxjE9DSuZMAFALXrXen3WLuufXl5mVvGD0GTgbcgDDTErS3z2gqDiEzWbIUtzwhHI3IcbDWrnkmRWXqstImwp15xolA9PP3cYPwxW7sWWrVfLpno3MBZgkgIEYHIVFWGZO6pqWWRftcW9wCa4DtsR6GEBYl0NRNnkmz+ioxZjhiWu9FvIGG5+I/PTWFfDWwsMw2/s4gRGTGxqXHPQES+cmisRH4DNROxmtLBzJ73gZXB89/65dPh5CPqOwZ0yofT2pn8WNjcLI1PpnvDXhpilwcUXWuxxIZuJ73ur9wXfmHx+5oBTXacSu/0qFVEqF/R2sUv1ZbEutVcLxdooun4VS8ShIanJ17pLF1TCx25sRk8dCdlfXlnUkXxFwma4crhN6+3S6W0S1VP0dOX4O0uMO4rp4iDW7YTIsMXQETk9gF6LKiLUeZ2VyuyTfwUC8FAtZkddo4LnyMMw2zy4Hujbq1jy1gcVF/RdsumhZZv28ZcHo9HrfV+vzNzrbWU84xrg/A4on4sTM1aguDH48uSfhrlwNWnAZuImHE1v5uzeHf1qGyVtKVKa33roFkVkuBFX+ge577j/lxmIahRPxHk/X6PpU8woZl9ePnUblYx442ZWasehzK5j20zsqMenjdORPzS0LTxzz2vG3WfUEDVqMhcGZBWU61mJCL7vh8Hczv1o/WoZnaTl7JtRLQfr+QOQubj9fW17v71dr+pHq+vr8Ty4eOH/TGgKyRm4JbGa8IYfB5IyYFM62ehHT/3raCLLpIsB1+juwitkCQZ3IkiIuFQ8UmXfq1YmuKw4YJuebDdT7aKpgIStLRc3xx1r3wQ0SaFxFS1sNRa/cyFMDOLH1C6l23f9xjaly9fMM7Duw4qEpGjyWsmYSTmkHL19MCxmRXJdokj3Fk+RNmJPTM/NuV7ItQ9lAr5TZjZBcKPP/748uFWxzvacCLc0EERrT1DHsF2vIF7zGt6Wj5mFjAf06Il2om/qkrCOClR01nG4XF/VbeNBNGIVhe+HsDfbi+RGBm9JkHSgSj3X4YkDLQYmLwoNxrSHo9Z+aYi/RJJM5PbcFtG8EIwUTjzvJpLYxQm1OWJqyQfWniRA/imTOPcXFWT7pwmISZPkFlK6Q5awlnofZ39zpzFfPZzHMdwb2xYnqou4WNuyC/8c/QSFWY0qnS8dYq5Wf/7o8qZsf2k6sM2gORs5/X11acydERjCjOf6GqewrTUWk31divU/LJFuDmtH4/HV3uwft8FiQAfxrTxxWp42chPLyiM3tMsCinqBBfrqtSIwZYZjitG985OaUQXlm9DxDgLFxMBzJMgCYMpfg1xlgbY67DAtWsn2zV7vXmqyKSfPxYRa4sv2oy0lKKyiVRE3Sy5kMlD5D2npfdgaflTsLgxkTD5ByYS5iJchEXY882UlvGPRY7adtlEhPqazHz81m5ScoGiZketVnfnamZm3qgQMZNy7T2TErG2SFJqYaFExFSMyUhMlIqwbapajUjJrChtxrSbyK2twfwiUybyFYanfnUF2BKUtWWxKrgzAxVx7JlG6kpi901qD6USExeaRrsDCVtjWMAk2kjzOHcdz2280hQVvPSrwFCHGdxRiMNcsf8AXowrasrNbT72LUJVrVSZAjAEkgJ/CZMJzzjG7q/sp/9d/ffA4WjR0SXMfiO1nzYzbRc5F/ZTz2akTpztjggzJiNy3wk72MItKwCz+JNWx+fkIlGz9Wlgbr6Sdjl0X2IRGak1gWfG0o7LeVrM+EemplUr+96TqfoojKzpaTOyFkjDIu2QnbUwarJ++xw11w0xEZ/tN0buchMlC0NcdqCU1HK9eez9xF9kosb5XUowqLT2kc2vNMnsIsdnxVcd3avZM5t3klAiIu2p21VPr17kcE9Uh3+f63EDRfMe4NOvA4ZHp1qSMZGLIQxT/zmM8lmhcAs8UO3BJ2HhOR1hB5Fy9KcaJbMye4/ectlBgBS9iHnC04tXAuunj2Iu887R8y5ilYNLikRMyCQy7oAEGr92INeU+lXNNPBGS2jwkyWC0TE8PD6HuzVt1S1lAZ3009AS2w1m3HZRqeApYhFxA4uZ1DaRKrKn/eKZJrHH5zx8VVCJpjbndprghq/AnzVoO0wEg61hZARmDoXNkLJF1e/HJU+LY0SmbOpraLLKTbcQETsazZq3i4xJ2TcHhGUjM9XjqLaxkbDJZsZH5Q/jipm7P8DX0wzRLdYdCUE/gV4DgyNMCsRbtB+oSAgPnIfnNXAVr/iqxkkuHI1pXq5sLHQGxJPoNGYK6/uoi54tx/6RwR0jDEtq7hmGYpZRFCD7RymtTWI+IWkrDJ/ls2QDCzkrvk6WohKxqqmyKvdIPh84TYBxXBuq/SoSM2MmM/88TLqZXcQo5zjr6GLeag9ExeoLFWHkCndIbeBN7SaNizLP/9T2hpC0EJh44r8WOecdKUFHl20is7mgqsIpNquTJTbj6jgJo4JNDOgpfmWKEWszatv8uR0E6/gT4R606peXuCVKqi2FunuuHGYW5spqRHKmVPC1HiNf2Mn4l6smrNzV4mAjNqKlwR4IpMXfa2ynBTyP2La5TtAMOjI9mrDANc8NYNV2qQmdsZVlNMXQuXBeP/dtev2by9xRAICoHBlmYEj/EKJ8qUp/ekFRiH9nwwuroeccAY5BJXnNowW2JCl6OjvPCW7x9Bpd1tN19moDTSNCnOBCBGPjKLziGp9aaykDuSNxoz4AYecNFmpXJDE577E7eIzoJACRLdqZpR6PdnmityfFrK9M08Op5bkCmtpYP+wV/ElVb9u52eqDclvz5eXF70ykUaazbMy+HPfrKalWM+VSNmJVPYjIPPaiRafWwzV9cySQMnG5iymp6HG8VhETks3MtNIL6FfURknZnG6krsLTW6i3cK6t3UJxFhw7jXyXMBntByZjNycxWrQ5y3qsk2gvoOXJKHRQa618tIciQqUFsrCa7m2mmuYy82iYCuGAAUA0noQG/ARPyMgCFWdctrVt4mzVpa9oOJ5N9iCzGGPyKMdq3mMWGQwsHi0MlMyqer9t2F2MGnFLwIbJvI6CBut7RL1NesSA5RPY1peCOLn+bpWKbSK1BBE+6R1p5k2Yr0osU5PSQYQn4owZV174IxDn+GJQmo1S0czESLnfI0JkHZg0XzhwJOwnw7fJuvKPDB4+dg4S8St0PKRs3VwhGiZloW6IzrmLufafPPjHulsENMuw7jWzaqcQg6sYW7NBWj+zB2um/t+TwfaEx37iQJYdzdL5qvgKD21YR3QKs5iwdPpUsBdeGV7LciWY+CtPOyZ5xNwNml7S3p+NlspS7sRPTuHL4fSV8ZB3RFVFNqgcosQVTV+lARvbGG4fz8FeHITve4Q1jjfUAKIIpUk8oebnYM/dhVAxU3hkPR0zCKMzmWows/Ow65gIxmpkxtwjZdmjfYoISZcUbgATuUgkssOUq3ERIqlkqsqySdkKSeHjoGJqlaXwjcTtgS8M27Wq6kaewlYd6pskT2MgIYC0nx/0CtvWDKNkiRpY82HGJWyjwOEL4wkxGcIUaS9MJQLJmKY43pq7SKfD4kWP8UIlFM3O9B8dEQ1RLMzcTWpxTdmGee4MogVPZsbSXgwXKYGVnzBsZpEBvI73rwfebNS1Md4wiFH32Ck0+kT3BUOiByTveJ2Z9fkWYQ8zP6fgdM0MjIx25IxzJCFARaZnm2LFUB8jieJUBs6RxtCYGwb2tkvmdK6oKpfcjo0nBtIAbRLR1OVhGml7TqwgycXYuq3joe/nTDWwm+XHo55BLNkkE2it2nAZMxjr7y8JjdApIvmcbgLuUzgalRwrp6bo3tNN/ahgW3jEYoOEhc94641G4ninGfHTC47QS5vFsUL8NNfHt1Kzv78hJLKYi8LdLImdkNTsVA8DzFH/6vLmq3I15CtAr4bQ0w2YjQsLbsvNJlBqP/qeDKk0OuoYC+EbcPIoGZ06ixTUxB1jEvzWX2dtWxpGOowddWFAQiN60bp6Pw/H1OMw8adEok3kWY986jFM3nEoAA4/R+N7vwyj61AlvwGbmdWYuJhZ1ZaIz0i07wAIsci2lbvwJuIRzbtVz+RcrcWvmdrhxwyZqarVaoVZyrbdXkSNyvHlsZOJ3G4iZTOjx25E1a+dlY1J63G41hczESZiI2FhavtDeaJdJ8UshHLteDtNnBMnk7WEO0eIalTn1P0u1vUiKrZQe4kMwrZDwohXwroyUK5RRMSAtNCaSYQRpJjoJIaZZAUMXJuUkD5MI7JYIrOelhObGY9txo6ewdYY9ijkZl9lj5+yAIws1jBMZmpGfthf40IFVV/0mKowm/Nsj2txjJAeEafsE2aqbEZ6MBePuLL+KzGzro/ls7ZkBKzGbCJta9ykH3NRpQhbDCQHYjudiF+aTKSmsm3EzNbOhpgJN4JWauqT9ailFOY2HP+H86VqXIhFyMxR4HPMItQj0tiMzuO5IwH42Z7n95/2AVoXm0FRBMwSD9FGD8GSbKxYriBfqCr3U1FhiTCd6UaDjHuERmsw5GivkFc4SHXxoUvU+Ix1TtGKXImDXaIKGXmAmQq8cuI/EotgnhHrRwoIjOxkn/QVcsPhyVnCRU4K2RKf/8SCGus9bbpEIMDIbJqEgMBekEbfryO/oaR+3/kWrhel5VPJZNHGRYNBgI3g6N6cpp8LCW1rAJjH4Eg5M6X5Tf0abCExuJGjsmoQazbCgvNjUYiNJw7EbpldoAszx+Y9Qwloo5fkUKT3kStInoyBq9eDekMSBT3EwzilUmt1A+XcAexAughAn5x/KFLM2JpgLKWU2/ahlNtxHMchRlV1M63U91J3U7Mqtskm2q4p1cL04cNH4yL3w378Uqtu9w+32wsRFf7BL5nnnirG59e3ihImmdkPgc1mLiLN+tKfmXsigGy+gAV2RjQS+aGx80ng1k9FOSQu7JySA9Xa47QCvaFgonEEDycoeozIM9ysmaV5Gm8y4PCt+IsutAGSU2/1JybG1PN4ga+imeTnnqn2s5w4UgLO8pcC4aF0Z3oOBEoh1Tq24921WkTN0jbT2PtFlkTfkjUbBVxftva4B+pOyNu8Hx3UUit5vomEf+oODJxu6wfuZrs5jRq3dHV0jBHImUAjEkBAO3uwrDsaeTy+egFI+52PwXYhIKEgVyLz8wNCXC+OOfmUhUBWrUSkWouUzmhnxOs5nO7Eit5PD66dNXkyg9LXNDYGndLrnII6Vb5qp48rbW72M+yCp8XP111oROBmyNhgH4N4SiK6AR+VUpzdjuOwnoDQr8qJld4/sxisq5LmJqhHYbskpiQ+fK2m/IkQPuklAjDjICHmyAkCArU0qP9ls4NwuRgcYuCnlEZeNFD8jPBzdjjXDKEZxGpj0EMeUfv/ua6ybpUys58J8zrIGF0cN8MrxBymY+Fx7zzhKt64QnsUszMGC2VBfFgiP4R4EC317IWllA8fPoT9LZCV4/H6OWHSi5/Ci9PUnozAzMr2oqpau/Vpja5KKWZFjo15DxS558/MqPjZgT65VLaXO8udpe6Hve512+63+wdmLvWeDsSFWooJDXyKCNdzI28mIcR8Cx2FHJs43iCb9JmFEiv5B8dPUJGNUZJRMyn79JBGCseJM8gugTInjZRWXBz0HySE7yLlS89YeI5iawvlGLNWVbLb7Rb9TMg7rbqwtOYwqfb1wtkQ84WmAxFJOe22QLhN8iHN4zyzqQR+Ct9oVa6kLs5dAJDAUEgSYWDvKngcZz2C0KavSwMCsTojc37YYLNhn/Rq7PEuHiTEOrNovWoqjcs/pMAPGoXe+WQk8tDLHh0VAKhaqj83nuDki/XzEjnz6wlIOpE2jHTulKc9npBOvppScK6bWbndmhxomzmNHbbtHgZ3BMyp6lYPCzXvtqljTy4GcMRBXB9P8CkzGdVqoAWZiIlfWo3+uHGtnCg8/xIJr09kJMUWFaTcAo9ExCweE6ewdAsetnYX+HrFObGBmdmtDIyNEgcfUmfU0veiw7zw+fDEgwFJyIX7/a6n9/icb1MSLrKVEJQ+OruwsNC3gX9ZNiYWFhHZSl+Lm3mCEANrr82vqjbfv1kjwVspYkab3Ii07kpEGxVVtoeV+2bjmZptK9z2pJvXpJRNxEd9BsyaUT0z3p7JSAKTrhWUTq5gJvYT3n4yiI2YlYoyq308trLbttEPUduX1b4qOV5fDTjYbQ1XEhWmY1mKnEJwrzdiMSEqeuhBZJuQ7xG8fv5yK3cROV4PIb6Xl9327/jVhEjuv3s9fnxYfbn/9ef6j/78zz9892vlrdxfbrebWUtN+f33v/7tl+JG2K1sIqSqj8ejBfSoiN5u24u8bERy1Fpr/bT/uH33smv9+OvvlehvP3/59afviloxqj9+Nr6XD99Xqz/unw82vm23j8dxHFb9GCZTVSu3vbz89svt0/ff/2hf/vbx+uG7X3/3x3+iTPtef/vb3x3bb/ZPVsl+ECY6qBx8e/3wa90//1CNVG5WPnz61d/h+/c//PjlX9Tjd7/73Q+//Zta9+1WNmGlx15f9/1RStm4+ZNut5dPH7//+PG77fHh9fHD3/7ur788/qLqD7xV4tfj+PLycj+OSsovt0+37UUq74eq0v6y8cYfttuHDx9E5PXxuVZiLka2HyqsRJXlMKvEfCtF97+je9HjkEL3+51v9vr4sn/5vH2wuj+EjvuNReh4fNFjLxsX/lf248ddfyvbq5TDtBJtxb7j+lKODx/tXpiO/Yfjh9/ebvW7718e/I+Pw4w2pk/G90NvZvcit9fHQWX78vm16uPlg9zuZPp6u2/6+LyVTVhMmWTbymbKtdr9tokUplIrHzsRschNRGx7NdVSeNPj9fX1vm3lVn788cfjy4/b/W4kj8dejUg2ZtmP4zv6VI/DrN5ftpciNzHV3fS1EBemg/R4fbBs9/udSF731x/og5+UMlX98qUU/vTh/vJyf319FQ8lNhaRwpEnaSPaTFmP3YS2mwmx1UOYPxWx2/2xf6HHUUoxq4/j8crfeXJwOz24NxauehzV7HCBUFjaDuPf8I/btt3Y87MRH0rqd/MqFyGxqvVz3Y1VXsq2bfr64qe6fnz9chyv9/t92zZiT5SqVJVMxUiYfTddy8dD90r1UFbdNtlMTEuttRYrxXwLnrVlXuVKn8W2cvT18MZipEaHi2Qz4UKVxUSIzey1du+7WTHxEHNh+fLYpdDWbsFT34oV5tdj972pK+FDRJg7sNajo3H0KXDba1OrpmwtVT7X/QzZRL1QRERNhIsUVbX9YOaN2U9ldrFcrPgeMmkXj4Va0j0X+9utMFe16nlEmFm1qnqIC/vUK+zn3IuamZpqJWo3JKtQOR6vzLxxIfb4BxWSImW/OFUaa/I0LjFmvxuQiDyPh8dm6N4RFQYI+9xsXKSwmVU96DC15sdiISnsiTlV9diPfd+Puoduum33bdtk2162jYhKuTUw9GhBkX5WyEbrm55aiMk6mR+m0u2ebAs/N7Sf9/tt9duT6eYj6h6y5bsMbjN/8hz4JyshAsN/+UrMAoNbEX9NcC7bvxo+wfymoaWukxHp0RfM2dhn8JkjtAHnEmlmGbavndkEAPYrIhiSheYyruAJ1hnv7OucPjqXEKVNTdviMTNPDiYiwlsppR72w+sPVYmLfVH+8qh/+9u/+of/yZ/9e/+v//Af/sf/uPJ2u98/fPjkbuqXl5dPnz496qMQS6F2oUfzOdVaTbZyv98/vHy6f/xwu734muT++tsPn75Toe9/80e3Dy+q+ptf/ZqrbkrSFpekwsbsCd5fX3czKyxFtk1ufOfb7eV+/1Bku718eFH7+PFj8dVYkft9+/DHf7pr3dVqyw60m+5Ub6K7hxew3Izut/uHl++++/jp1y8//K0VsUKvj8/MJEJSxYR560fPdjWi23bbPnz8+Kvv6w+lFC37Z3vcj30X2kVIpBxmu5pVOkyLHbV6AJAclbatfPz43Xd//Mcfbvff/e5v//Iv//J3P/ytVdqkFNlIj2pmJm7tk9GDyEp5+fTpV3/0fSH+27/969fjsLKZkpGoZ1TbSMpdSnl80VfVqszGrFSJpZIWVqXvPn7/3cdfsdoPv+PPx+fXx+vnv9k/lG03rUpWDyN5VFKrXKxs9/Lxe7q/HF9++/DUhMcur/uvP9213Eik7aPxTTepZtt2V2MiMSXeChFVLpXo4718+fzZKrOxUt0PrkpVC1WpuxnZUbkSFSnMG5dSlYhL2YqwVNKqxFzut+3z5x+Y2aqbK1LNT0IRi7HwJmxGVliEhIlJ2+l9p2kj41qIheVoUV9cbncRUVJTY5ZDlUhr3ffXg1i3Fgln7W6mHgpCThPMJVySxGLtWL7PgxxqtB9KXFmMRNmzRxZqy7MbbUqVVfSoXB9E1UxF942pkImpkbJRMTMm8fWjqZCZWa076WH1YBGrbYSkym70mPvJ1bMrM7Gpqu4tgyQVIqq+mFdicgdgJRMyNfZEUVXaPoNLJ2VjYzIHmLVJEc3R+k8WeCh/lLKI9ufdozl4ameFEk3hqcwQodJyPZzt0Bg42FtAIZy9htY9W9hddGTjodfe2TmoUJG9059hZwbVKI16KoT5+JAi3gCR6W6ttho3Vmmu3I7/YW+ntTMi7tlG1bcV6XmHEb8/V+PPS/SID9N8oyUxv+sTwCsv5Zv90mg6pFEnDgn6TmwwE8QVJEsDkZmvTrOuSI3wSdQ0MzXtaW3X/aJlFmOhkZY6/MOo18C9ozC3qOr42recsnUVGwQBKq0Q/iYwrTU6aJAvzBwGes/41cLyRcm27379+PJ4fehf/M1v/8E/+if/yZ//xX/4//lH//5/8B+9Vt3VyNiPBe377jL3dvc1T4sJuIkHDzQ+KnIr99vtdtu2O/le6uff/dEf/0aF7999rMT7vv/60/e2H6L103b3G0vpJvxSbJNK9TsWIrrdXj7cX0q5MZXb7X6/32+3lw8fvzuO4/Pj9Xb/sL3cb7fbx48f5ctnIyFhKlJumwiRHaKv++Mz10OISA4pttOPtH349N0flU8fP36888f79vkHYr3dNqt6f3yOjcXjOOphL/f797/6o0/ff398kNvxoE8f6buX18fvthvf7uaHIx9fvjweD1PSg/dHtUruhpBtKx9/ff/Vb+4fPtzlxp8fx+tD7eCy8SZV98dBh+5yyI3LVrYHKwuXT7/68Os/FmZ73b/Yb+shVQupFWUzJWVm2VS2clN60aJWxIj3ehBJUf744buPf/J3/+jXf3K8Pr4Qie6qN6K6Kx1UKwuVD0Yb2SblXm4vHz9993f/7t+Vwn/913/5+vp5f/xoX35U1c+2b7aJFlVlLkI3Mzuqaj2Yy7Zt9w8fP336/n6/CxczU/ph/+GotX64vRjJo+6sXOmFeWPbKrGyGonJXZmNSW1XO+pBR62qh9Z928RYDipibGwqLCxGxcik3Gg/zOhot84pbaQHazHTg7Uvn7gQbZ5gtvL99TiI6F62jaXuaqS3shEde637XmtVIvWQ/GpKdowiyy0Z9z90DWpC1O6Hu3uQVvUA8Y2YjYWbh560GlU1NpJCZsJCdTc7SJW1bkU2q+Rx6K53jNjI4/99KJVVa7VaVVnJjhZ71PKXtv0BVfakMEZWd2L3xGxK7ucWMzeajFogEzFtRNQMZGuiwUz9JAiRbz20XZG2l+J7wXzaQ1eSBwWXcYgdRgUXkjY2qmZ5G3KMxiu8aNSDycCiDnTAZwSRgtO9TNwjZJKCi7FAD90eWCmdNhZZH3qgC8NxWZbatj80VKyovBi27K1dZML74+hr6twgjcft/eGW6i0VPOKI+6/v1EyxHxmBBdytwidvLXH0zfURVN/znutfDYd5mLk0qVf9zli9MuziYVgAc0fxSqozw49U3j50UpjnPnEF/hSvWNtSVBFZblf3e0MztgP42VLsD0/eRkjeWRpzjFxRSqnHIvpHVZPBh3US+80luN3MzivhRhoQERNikqpkxipEZK/Hfmzf/+2Xxz/9q7/9D/6j/+j/+v/4D/7sL/7qh9ej8saF3Pvuw99I/Aas/fOXWmutZ74rJiLSl5eX4Bq/U8IF1f3Y73/xF7/78kpFlEmN/+SPfmNHvVV62Uphe9SHMZWPN76XanrbD2YucnMfvlYq5Xa/33e1+/1+1Gpmtw8vvoL/8OnjfTe3rrbby+1eSmEiFTtebpvfCGHK2+1j2V5ePv3qj37zd+j4XDa2qsexS6GXlxuzPR4PKXy/vdxuN+ZiZiLby8s/vd8+fNx+xczH8eXL62utdlP6JB+2jUoph5S93Im5Uq2mtnEp5ftPv2bm7ePHev9u3+70kT/9icl3vylM9/u2bdt+vH758Qfvcds2qx/3fReh7379649//MdE9qny9yRspHpU3d26IaulFCnl+HyvSsZCsu21vNqXQ7nwy/d/9Hfvf/Sn9OnXn4+//ZuDfqfC8vF2Z/5ChxyHmWo5qFQlISpCf/Kn/+If/2f+3vZy3371mx9++OHL64/bD7/b973Q6+12Yz8T2rcVHlUfr3sptw+fPv7Rr//4N7/5zceP37mW+ot//A8qf95tv5UXo1r1CzNbMZXC2+12e/l0f7l9+LjdXkSkEtPv/vLz5x8+f/6sdiiRsVhh5SI38WMUSvQwUuVSNpb7jb+Q1npUtcNMmQptB1UqZLUepkokRkdluxW+lfvr9p0efBwPtu1Qq2psst02ke3YX3fbq5mQEHFhJr4V20de6mfSMIupHz81EzOp7UYBZi7NkOJK7JcrH8fDAw+KkJQiwqKHqpHqjYxUuHKtpqqlX0ZulVTVqvrxCytkWsnd8pUgpp61mocwklnP6uqXizOZUSVzSa7s3lFSZjVi8cZaK9YvEnAGNnGnPbXk+6dQqm7A0BvWFcoxIk8JunAKVIhlRGkWedFQpCfJhhLbepim65rCrP2e+HiNldrB0TEKM8OMBpxjjLnWUAeXUvc9NtNVp7RSdnNTy67xod9IhiVUTHyIbNjULMUhxNPb2VDfz0ZGDCNp4jcHECUMwDDD7Q/oxEralCbMRoXZ4okqyzafEAdaDPE5FhapC6R4RHvihDdLspDOJ72NeSqft2Zg4cFfSwSTQoljllOaibDb0nmZt47PvLdEy0oFpEFz/BNzdbeutVBK85seugf6TZycYhFSFVsIzapCpV+XbFykbPda7fVx/D//wf/7z/7sz/7Jn//FP/7zf/qP/uyffn7st/unD9/fpbgC8Gv79uM4vnz5sj8eRhtLdbeWd61mZlKVIYjNhNlzfN8//er18Xg96t/7e//Sf/5f/le++9X3N5a/+if/9Ie/+hvbj88//O7x+YeHPui12nEcpsVvj6fCXI5Dj2rbtr28fPj1b36ju3758vrYX+l3f/v58w8//PCDiHwnL7WlhGiLSdVD9fju08fvP37a9/3x2G8vH5lvRvL999//+V//E5c8ZePbzaP3qt8Kd2++sg/bdivl5oEOdd9u901EqB5G9eXl5eW2SaF7KaoqbNu2FRantNvtZvfvmPnl5fbx5YOIVN2J6F7Kx48fb/dSStGjvr7utaqI3G704WWrhZn5twfVH15F5JXv23d/7NSoerjP3xsvpehvd2Mtm/J27Pr48nitJkU+/vG/8Pe++82/8OHl+9dy3z7/YHwU0e1l+82f/qf3fX9UPbR+eRyvRzWW28v9/pvfyK9/s93vm/KH+3f6449H+Y6P414e27axbNpCAG+VrOz1RbWU28fvPn3/q199+O7XLPK6P15fX1/pw24vD+VNX456eEiKqu4/7tu9fP+r28dPf+dXf/THHz59V0pR4i8bfan25YfP+163Isx81Pr52L/79PGw46Gmx2HGpdQbbbfb7U//9PvH4/Hjj797/fKjX2y4ay2VmdnPQHhCBDOrxlzKh9/8ybG92I+fqxib2iZbEflwt7rv+36YKG9GxiZKSsxlYm7rHuV2yw27+m0X79ytVmMhq8SqpH43galaEZHy8nEjo6qk1e9/2tgOraTKwmpW94eSEclOu7j7QFUrkbK25AKHkOevp5ZVoVkAfq0BhwBVU1Nl00IsKsxKfqbTc9oxi3L3vhTS4ofuxDPLm2m7z6idKSMzpi25k8zMtHaHyLUI8jwXLhBKdrr7V7/M0eCocj86U5OC9tnEAwpoFhTZvC936ro81zgJAUCJsVejLn7jp3gxXEH4UwfyzOSZcJL+XhVUxEvDEVVVMjk08pNPia9Ri2m/sCEcby61IrNoVA4cdj3LzBsRDXmwkoKfUUOTRye9OBeXX2joBaBPcDeXK1xf9ZyMgxPO1YzOBtZJxCmW8B1wLltbm9urNgP5yBL0li1y1X6gnUdH0UgNgwm1bNDgaCF2Gh6sxMBJCiAeOopOWzCdrX1PaVJsPJzVw+cHALxgGH60UGstWyb+ZV/BeK65RYi7caVqJMZMWo3FmISlVJHf/fi7P/uLv/i//Lv//j/4h//x3/zN3xhJJS7b/cv++N0PP3733XcekCtswlJkE7q9sn6pxkx0nBlTPai/enoaOYLiPdz/816r8X/qX/rP/nf/+/+Df+2/86+LlP/bv/vv/Z//j/+nP/+H/8kPf/3Xe7UXFq6vn/fXL49XpfpSxfo671AmuW8vH1++/9V/7l/+L9zv248//u6v/+YvX1+/vPzwUkpRPeprHEv2REGmJMa3f/pXP3761Z/e7tuDftg+fCzE+36Y0avy/vi8bdv3338yoy+/+/HL64/ac1NpJZHtdnu5bS/MbEY/fPn8st18ucwm97JJcYOVjVSEbj3zZSl8v9//8rf7tm0vL/f7/e6m21bKy8tNRAqLz6aqbizbtm3b9vLxV37SYtu2D/d7KcVb81+Z+TjUzHyjtJTynWkpcvtQbh9KteN1V2Pbij7+4q/++lX+v8T9V7BmSXIeCLqHOOpXV4vMmzqzsrJ0dVWXaoFudDcAAjBwSA64xNB2OQQ5nBmzeVrbfZgxLneNr/uyD/tCW9ouuUOChIEACJDdUK1ldXXpqtTq3rxa/vKoUL4P5/9Pnvvfm1nVTe4wHjL/e06cCI84cdy/cPdwb9WVc854vha+IQPcI6/JPPIQPETpdOhIeFL6PoVR4myWqxy4lZGVzHJAxgyLUcrhvp8xYBKBmLCh7zMpoygKazXh+0SEOWdMTs2fBBk6baQnjNLGKAQwxgzimHNZqzfqkzP11iQTXuFv5Df7Mrc8U+AFgScQQZvcKG2QKyINAIw7B5aQMU/KoDU1nWYJATOWDIEhxwwQOMaYNgQO+DCRjnXMeBbC5hR6EfNjnadI5EkeeEJy1u92DGSaEIAjQw1DRsKcHeMARZFMEo6yW46+Z0cOLeOIgNwQKWccEAkPhWcRo6jeCCLB0Smd9eMsjZ02UjpwhMiJwJEzDpALLmWaK8FJSgFM2sLp2BE6EPwhv3KVbFRVy1pV213oKAAdAsLQW9/h8DQfAjkojgKgpaEyTA+1GUCFSxgQc8CIEJgpnqrKCCJbHv15NP95eIyXhhyvMEgd4m9D7lrAGuRAgMjADVVGhzhnIdfcSN9TSWPF5DCUOdLwkBAigiNgQ0UUVdrBSix+VwmvU7Z2rHQ7lsGWP8uLWG5kH1uO7aIq9cZEHh4x3VQlV1VBUC6SIoVGUU2KAJEzNgzuYK11zjycvUqcUkRCPOyDBZ9Cd1KiwqoEPXYqq/XH2vx5pel/YqlO9EPjcUVqEtHRUFWjH8cAr8cL4/L32NYBj67yygKtkkQVPFROXdWd/Gg5Cr+Gf+LDPyu7h0OZNA4P+dO+qSqTOnaA1Q1K2VH18MvjV87jS/HmyrkqGx0juDq35QdQGewhSj6hu2qxBRR1JZfhHC05sETogEDFamV9/cbNG2vrOzt7u1rZIAiss0oV8al092BQr9cbtbonJfc455xF0tpwJzFKqSzL8ly7IgljcSIGuUPniDEHFp0rfC2dI3IyjE4snX3xs68uLc0AwPr6XL01s7W+l2kwIKLaRMCs63eSgdbOUZY7QgALzCPGpe/LaKLemvTqExONugz73TjJ+n1tDHImmOj0c2e0I8uBOOdSSuACGWvNTF16+qUgCHa2tp0xOs8G/a4QfGp2tt/vM4atyWkuMN/dVjEQIZfSGGOJPO57YdP3Q2OcUsoLCRCtBe1sETqJcqe1FoxZqwtjkAMH4DxfBIEjFubG5TbDNLdWK5UDEeeolCqMpojImPDEUEOWag1IHJBzLgUr951E5Ps+Q5Fr5VwBsAJE9FVPeCKMfOn7DijVCoBx4RNKKYLJVqvRaORp2u7sA+l6PfKNYIxJXwiPE0NgIH0/iELfD5AxZ4hzXwo/S7IkyXzhB4GRUg5FEWeFotda64WBlDJM0iBOPM9jbHg4NyAhwrqoc86RjBWSSS6UUvU8cxa45/v1FnqhRTTOkgMvbIRNO8mEYOD7HpHNVapzNRj0OPO4Vyh6kYg8LwijKGhMkggVcc0F5ik5yxjA8DQZR+QoBLPgjAERkB+BHwUyJBHEgz4jV69HgSfIaYgTx33HLeMEHMEZ5wwSGPKqH5crYpUCIUpHw6zRxc6NgBw4bS3j3CAYQMMQPD9oNv1anQuvAFhoXb/Tdqk2pByhcpyIITJgXButnZOe74e1wHOBHwVBCMCyLIsHaZ5lxpg6O/Qdl+KsZAgjZ9MKc8NhwugR13E4kheH+WdxJtoVAcCG0AsZAkcLhd2yOBZNREAMDgvHx7DB6q2qtmJMvkCFzVbtRce2VkR+OroddWQfHtMe6vuRiBixIgLWUN3HhhNDtsylWAiX0mLoCjVfAQTxiL6j1NQ45xAexqUrJePjAVZVnFUHPibvRn3h0X+r5SiHL5OZlj3iaANfxgcoPEqNMUQPo5aUwbSKpx4JsD4NBvo01caAy1F89inLo+o/qvujiw+OWH2PfmljfRHRsT08ZuDH0kmPyF1YXdnHNlhO3UhyPHKXM4Ybyn+HIY+PI7va+FGSSg3TYYwy3qmzh3ISl9KLRlq3Q7y1soc4TPnPjbGIDgWtLrVrY/boai9Fqap2P+UiPMQaHAHY4UTQMNw1IBYHci2hc6SM7vUHa+ubN27f6fSs1dr3JGc06PdVnrdardbc1Pz8bK1W84XMsixO+mmaZlmmVD7ZmkrTlIiMMdYBACsYaqZN4UQCDCSTyIgVcbC8ZliLvLAWZ2agYHc30cRPn3virZ+8e9AeWJV7UxO+zyjuG+O0cQH3HRVe3x5yP6g1GxOzzenZ2fmlmZmpfq+9d3Bw0N4zBJxzzr2g7jmtjM7BGBye9AIH8o1Xv/jFL3/VC8IbV6/tbm90tjfTJLHGRrUo6ScMwPcDxpAczzOLiNpYcszzgpnpufmFxXq9qZVNkmR166ZzTlvlnEMCh85ZZ4zlgkFx2JEzIcHzZb1Zq9frQTgdx3GSDEyucpU657RW1pKUUmttlQMgIcgUK8AQK3xxEJEhMlZYkbTWaZoGfgQMkyzX2iITTAoACG1XShlEofA841yaKUvIhORMKqV9359oNbXO23v7BHai2bB9yzhwTwqPGzIOrJAyCAILpJTRyjaiRrM5qTKdpSoKaoiDwhaJiMDYUIvmbGGjlFIKT/JK8UgAQBSGUnJGUK9HYRAopQhAKYNC1upNP4yAcUfEmAhcnCWptdrzpQJrrVaZ0lrJoMGIBOee9AHAOfC4CMMaRk0haoEIKGgERhXmNAAwKmPGIHJfes6BUsr3gqDZ1E5IKRkhZTky8GpNIblOE5AhyZyMRQbIGRlN1gKBYQ93LwVbGKozkRF7GKsTCoCFjtmEMedQaOSGM6/eiKZnG9PTQRT5MuDIsm4/7/QGFgwykDLTvEgQhSgUY4YcExELJmYmJqOoHoQREfW7A8vbGXU0ZcZlhcinUcIENkx/gm7o2I4ADAEdFP7qDgE5oSvjKkGRTBkdOByp0ksWCVAyVTfCKITMWWMZIyJOQ2DhGLLKc59gC6ty0WMBlhCi5Lp0CGAd0tmUFcaSauNI+1CcCSjhC6sIbg4wwliII8GIrrBFAGPICNARY6PMm1DknyfEwq3tIWFYxKp4KFnK3+Py+nF8+dPNWFHGLJhj6Aoqgq+gsAitXD5bbIo45+QEY5xzUWTgdsNCjFHpbs4FK5Wg4ti3NSZ0SwoAwBhbpbKsfKxpBo+EFTgkq44rpc24JLH4t0SU1WVERASHFsqxeAUreiCOhya6FLflgqtSiBVADYeRAY70omWF4gW4yvxU/x2rCYdDJ1dFfsFYq1uQqiX7UWtOSjlC0w91VM65IkIhAJR5AArFZnXGSjKKozqj1/rQ6syFPwoJDSW51blyR5LNVd9X+VGxIn0EAAAUZBR7AiFEkX0FDrMS51zp1DlcFaP+jTGs+tnQMIanc165SEotnXPEuYThomWjp4rEwOMr52gZuctwGDEAKg6vj9wIACDLsrBW15aUMWmmr16/8bN33mt3u1HYCnhwcHDQTZKFudmzz14+sbA4MztVq9VajXoYhtbaPM9Vluzv7+/t7b15Z4+FIUdGVud5X3oBCjnox17gIwEgIZAFx5wr3laWa78up2YW0kxfu7EOyD+6dmthZu6Jp579MMl3NhICXqu3GnnW7Q2MS0M/3O90a/Vmd5A/+cyVs+efvH7nDnjRqQtXzp0/ffvmVX7rpnGs0ZxcW10OpJDhRC9NVaaiQErGtTaE0qs3Zk+cPX/5hbfefntq4czs7OJKcC1Lk/u3b1Dfn5ubA3AbK+uDJNY6Z8QBmeQ+cKa1ffWVNxYXTi0vr5y+fHaQxEHNbG9v7+f7nuQChdXOOSsZ54zlKhNCcM8fJP3W5NTrn/t8rVbr7MXtdvvMmdM//vEP+5vdKAhjZ/M8FcjAOs8TWabAOWdsP+41mxPEgqUTJycmmoKBzrPOwf6g16/VamEYpmmaZ4ojguTaWq1JSukF0jl45bXXn7h8ZeXBxr2VB71unwmeJLEQgnHgyIKg1qiFnYP23t5+SD4xpDThQghf5DpzQFGjzhiLB2mtVltb22g14sEgMUrX602gWCllrfU8TxlDRPV6PVN5rVYrPNUsDXcsQgjP84ps2FHgCyGcUUIIT3KlhrGsCDlyobSVflBvtgaDQUuwNE05Ryk5WS2l8HxhreVY7D0w9INGowUACKzRaFhyxhhEiGqB1jmCm5hoAUC/MwjDUKnM9ykKIksBYQCa2TTHLFdKZcoKBmyQBJ4AR4khETY8PyJrGQdeMAqyvV630Wy22+16vd5oNLIs8zwvSRI2yuCW53mZaNk5x3lbBqEistY44WWMK+H5k9NETDHGHCjuaeEpJjLgCFAPWsAwzjMkIcJaFieWvJNzp6JGMwprTMg8z0UjaLB67OR+suUPT42xkZ4GCJgjLIJNAIBzYGgks3DoqGSgiMPAkCEDBA5pnntcMMkBwFjrrGOAjHGJzhijjB6eJLYKEQk559xaOzrbMBy7BesJdM6aijg/WqxW5V3OcET4sBQKbqvyQj0LAFTY/mjoiT0UPcM0yUW2JcLC8AdDp/6CWxrnmAgYY5yxInDGMH4vYw+jmXM2dO9x5MiVwK50jYeKwC2NsCU8qMCMqqaKlRHty8qFHEHpVaeilCae5x1FLCWgHPORKiXvGK6qyojqRTPKBlaKnkJ6CiGMLhuXUiKNTgMAjCRg6YmLiIUf1s9VHrMO/rcp1Wn99MQcxUb02POAY7eOVitNcuWLHaIWd0gzOYY4Pw2dj6KNHqsvrDrilWgJKyrWcrmPkT3W9TH0PIL+x4zrMXQei4CPXqz+OHRxhP/YKBnW0cYf81qPo/PnUGJBaUEAAKDhQT7nLFBQ+M1wQdZs7+482NjsJSlKTyc951zd5+eWzj/5xMWlkyempiZmJqcYUhiGjLE8T63ljNVPzE7G8eLkObx+/fq95ZXE9/Mgz7UlQOl7AEX2CnRIvAixCg4Ym5ycJcabrYkrTz33YHv7p2/9dHpy5sbt+3GSc+FPTM5OT8+0WvUkTzzPj7NUKSWEENITHnT6SS/JosZUN9GW+WkOM/OnZhdPtdvtna3VMIgCT+ZMovSk0QBgjFHG+LIuZU2ErZv3N67eWbt47uyZxZNZ3NvbXBNCEKHPBGPMF35GibXoCATjVtk8y6888+xkc9aXYeDXtaZTJ84z0ckGydryqtNmdmJG1kQMcTJIHToGZK3NMy14ML948tz5J4QnVf/B7IWFS09cSAYxQ9zeXhfI/Fo9zWIscjQ64xwvlr5guHj64qmTS9LjAtzC/Cw4dePatZXle+CIAUrBGJeEoK1zgJzzQZKcPnX22edeeO3VLyapunnn7jvvvru2tuackx7zBI9qQbNW17kyKu91ukopT3iMiUwrp/NGszk9Pe1HYa1W293dDWRgFTGGnuAcQesUKFcqdw44HyadSZLEWrvR7U5MTPi+H3leWIuUUr1eT2udKVPgKgaU57ngKIQoYs/6QeQFITCRZgqFCMMwSfMm85TKAIkxsFZzJM65McqTsniDQoiaXwNgBcgjP9JaA5CQzKhcSNZo1IhIciaEcJYYIrmhSZFzDmGdFULaOSFZ6AdR4EnOnFEckSExcIjEi+ihBIlSExNqMBh43dT3e9baZrNprY2iSAgBKKwUIAGFKOSqNgo8zyB6QjYmJpgfiCjKLPpRMEhyk+VkHPmRNzHFgpAjs/FACCE8jYzLMKiF1gsi3pgMmpMiDMmhtaniifV5ODE7CXIavFKCaq2HPBMgCIIx0VsUlcVQbPbIuCJ552jPlmuDTCMiDnd3jDNuDRHwIv5+lcOWLJ0AEIdhO3EYAOITlA7Vu+QeCr4xNvuwziEOfyj1Z4k5StlUXKz4aJf+XggExNA5YlCEk3AAwIicexj5nYANDbwAI50gQBEFGor2GRRa71G1MZrpiGGkKpiqUq/K3quuKWWpyrvHl7LZqpoDRtqBQpSXxr7yljGGYYhD4UOlxRARAYYZr0dUuULF918MYFXb+cXaHH4Jn6Ja9cWMoZ/qv8fWhyMLt6xWLs2y0ChS/FFPr8f6MI7Di0dhqcdgrGqu3KIUPWpDD7/tw2Vslkaf33HzNrSuYqkAx8qDY5RUIdGjBlusyPLxh+OqhCEdMpEx1W7lNzsMFstRV3Hko4j8uUrZPhEJKWFoQiBCctYa58CR9P1UaRJuECd376/cX1nJrQ5rdUzj0JNTc3NPP3n56aeebNZrgkGtJgf9vsuNJdJ5DgDCCyKJoua/dPpizROBJ27dWU6TROUZMgbICQGRAzokJAZIw9ORq6urz734mStPPzszL2M7v/JgY3NjX6dZe3OnP8gEIDBPCBn4ke/7jDFjDCDXjoTnDzJtUcydPHP95u233/v45t37NZ/fub8+SHJybHbuxP7eTo6WAIELIGutIULu+UG91YvNW+9de+eDW8Krt2q1fpJr48gCl8yTUkrpS48Bd64IMc3BAedyujUjhJdndm+nPTO9ePr0OYDt5cZywH0AGYU+R5bGRDa3SNLj1oG2Nqg3Fk6cm5xb6rR7y/fXn3v+mVZz+ty5iztbW3dv3QS09XrEkdliIQ0Z+9Bj7MITz09NtrY31lOVvrBw+tSJWbLuYH8/ixPJUQiPc0kMuXXWOAdkHQKXftA8de5SGGLUWNjvpGGtub25pk2SpX0OFIW+ZpwBB+eM0xI8JrhOHZfymadf/MxnXxZCPHjwIPAbjUbD8/zOwYGzFoDHcQyu0BjxYcAo54wxYVg7d+Hi2bNn0zTd3tnzfd+FjqEnhOgO2mnKiIicseTAARIjhCAK+4NYWteanJqYnhKeh4jCDyDWTAbGKKUVWQJ0pLQzNs5yRCSHgpk8ByGEtWT7ifYMOBsEAWYmVxkibR/0k2RQaFxCzwdgSikhpC89a8mLfCIqrJjWmjxLrDaIFAUeRyYYFO43xSFdBtjL8pmZGc55EWfEGCOlzLJsYmLC87xym8pH+cSamARRzSIDIYNmA6RnUYggaDabaZobpX3OJDJnLBjDCJiy0gcLAOh8TsS4AbbXz/f6W34QMSZ0roqE2eAFYWuyxgt4dGgviohZlrFKNrqSU1mjiIjIohtmP7PWAg0Vb0ZpYwyBtQCGiCxJC5yLQnAX1h5ZDA1GeiOCEgUUKaA/EWBVb7mKMgYOi4wxfoUVR9sK1x2z09G4qDp8GAgJ3ejPsp1hrvii0yI8Vtm+I4Chu9rQcuoIgHCUnLvCTh8K2apG7qiMGyO+uHgoAfPh+mM1qxerrRU/HB1yXCGiQpFMI8NrgZ+KmTTGeKIQQxwRGHOFYaTQYCEiG55JLCKvEfxnBFiPWh+PkW2/gNgbA0mPARzVWa5ihce3ebQ+jdTFYzCrRNDlJzq8hYcKPPbLOZbmo+Ma+3ge8/jjZ+ZYc+2xLRydhxJgDdlB5ZFj23nMMEcNsrErxf/Vxx+D1cobY5NTxIgiKkMCulGbhVMqEGHx4eNQ/28eT2rZ8oj/DFXBnDMgMkTMuSK2oHMuT9XG1uade/e7cRzW6kxwRLe4MHfh7Jnz505NTzU9zvMsyeIumByZxxlDwQmBARlnyRnd71w6s9hqhFbrzc3NlAMKlijDhRxiLHJAgMiLcS0snuRMNBoNAji3JP/mb//tb//Vt1Linh8IL9BJv9+LJac8z8kCWHIIzpo4jkU0YQnCRuvCk08vr+++f+3mifn5yVbY7sRrD7ZC4aYnW/Eg74FBa/zSRMuE4IH0aklOe3HSSc21Ow8G7b3e1j3d2bfWepxLKYUQIyk1dH1lDCYardbU9NLJs0ma7+weTE0dLN9f21jfHXRVKOthQ9ajepIMwFnOmSUthe+IOQd+1KpNzmdG3lzeOtiPswRUTpMTc/MLp8Nai4HxfWmMQbSICKzwSmacyyCIvGhGk9zrKZOlyjEm60LWOPMAGGeysHcQAhFatM5aHjQOBmp1ux2n6IWQKSFE8+lnFuYWFre3Vm7d/ODgoC+55wzlSQ4kLCpFVpIEFNMzJz/3S1/5la/9ej+J/8W/+BdTU0tPXD5fr01c/ei9NE2lJ6TixkhgmnHugBECcuEHtXMXL/6Tf/J/PXXq1Fs/ffsP/ugPu90uA0aYZcoKz6cst8aQddZassgZADFPBmm6PzO38MYbb5xYOt0bDJZXVpMkMX1jren1O71ezzEFzloDKJjRmnMuisRWyKJ6KwgCpRTWZpJ04Pt+liWKiDFIBv3MOI+JLFXIJADk2obMN7mx1u6296IgaDabjUZdygAJUoqttf04L7xSGLji4BUAcGSx1u1B6nnFqc8hUxoMBo3GQeHXUh7RoqFTf1JvtiyhMpb7PuPSImPS01oXxzzRWcG4J5gzVis1EdSE8CwQIXApufSElML3lDJCSsklIvpS+l4IAEbraS/GkQW2KBXrJPe8YncgS71F6ElE5MxjkoF0HAvPKUd5rrWGPAdjCtRltLZGEaEABsCMyZQyHBkwLoHR0J/JIaKjUYJkAHDDg4WPMhQAQNUfo7AgF6W6aXejcEhwWFSVhxbhcDbGMTZb/nAjU2B5hLDw6mCMFeeWi2fLAFDVHonGw9Mf5Z9jTLUg2z1CyMIRSVSWEmCNaS5K+VUVHMfC0Co4qziTjFsMxxovxQeMnF5omP6VjYBzMUPDEf3cAOs/Vzl66u3nKg+n7JOqHX1D1XdwFOce+0aPvvgqgobRXBfTXEVXo3fwyerfKrhxoyOvcFg98/iRlo+XjyDiQ3RUDf5xRG9XoQTH5gHKj/O4qPBHQeTPCysPP3jMjuSRlatf0ShjA8NDrntl5bHJ+TRdHFustQhEyJExRCxOgSE4ABBC7PY6d+4tr66vAxd+rZ7mWZ3z06dPP/nkk61mXSBKwZgvrVYgRMHluWQA4ICBA0CepJ3JqenTi7OXz5+5d+9+kua5M6wSP4eQARQHbxiBq9Vqq6urD9ZWv8ieiwkuXZo2+pf3N3Y7p7bvXbu+eu+OUnmno/r9XhzHKsv9gDHGc2M5Ya6Msnjq3IVX3rDrm9tPX7l8YmbyxWef+f1/9f/eenCnfdAXwk/6A4+D5AyQEBkQGOsSZWfnl2osOhjo7fXV7va67a5PCk2EQkoCMCN3ooKREzDizDh69rkXXvvc5waD5ObdlY8/ura936576mAvVoZNBA0/CPM8JYbc40ppy0AbMuixsOXVZ5yY6OeCyebWbv/mnXVtkjjRftCSHpHTwDKHBhkgk8gkoGCSZFAbaJlZJNHyoqAbu3srW6sbu91BmltiSAzIkgZEOwyKRJoFlgXdFO6t7U/F03eWdzoDNzFdXzpz0Tp14+bVg14/CCJnKE4VZx7xTDmrlVLIG1NzM3NniQfrG1ura52F+dnFk5cs8XvL97P1B0zysBHGgxy4YVJqrQEQmAjqzSeefPbM+SfCEAyITLO5xbNPPPFkv9/f29t7/70foOPWarDMGnTgGLMA0OsNBA/eeOOLv/v3/+Hk9OyP3/zp9labobdwalZr/eDBSpbnWW6VUmmaCckZIVkicMYYFsj5xRPnz58nonYOW9sbgvFejxeGRaWyOq8jYpIkRGSMds7lSuV53qg1X/3sy0Va1cJM2Wg00rQeD3qFN5UxxgF34Iijcw44b0b1/f39XJkwJM/zms2GECIIazTK7qK01caViXUHKh+YgTEGmVhYmGi1ppTSSZLk/VQ2JTDXHwy01kHgcYF5nnf2elpr7awDckQoOOfcWPJ9v8A9DDH0fCk9sk4p1fSHJ3+rPqnOuSAICpVnFWAhYuR7pZ8o58gYE4whkhACyMHQkISMoLA51nlaCyPP8ywPUDIAMgDOGM7QkStS3iEBx1HQeCQiVxjmHsVznBtuAoloxKQLR3NW/EBEIEsVwx8AEDACRm6ofUHEIpBEsctkRWguKtSNDwVZAcgKSeEeopCRgse5Ak48pLbs7vCZ9wrBhwEflFeqInXcB7/sYkxqj7X8aSpUr4+RV0jnwr2stEEBQHlUEA7H90HE0jeLMageBeWc0TA/Y4HShi/0/+8A6zGS7Fhc+SkbrAKIR1Ubg0pVxFpex8eqrwCGNu8xOqvroGy2dP2r1ikBzZj2aKxUmzoWUR1dT8dOy6EP7BGBErAS6KX6b6mbOWYeikkr3CtHGqxqj9VZfTydpbdjlfLicC8cfjvHztKhNDVHhg/wMHL90VuPmrRPLNUvzTqDMDymi4gcEJlA4QCRMdFut1dWVvpxMjE3ywTP++bs7PzS0tLi4qI1SlkjiAFjhMySttrk2hByZAIFMsa4H874mMZd4MHJhelzZ0+tbm4NeqkX1JUjGFkTEJgr0vAiW3uwGjUaf/VX3/rS1359YQF7BmZmZmoijLjsbO3uba6b2KgsGwwGJleScUdGeJ5EZoGSLF/b2BzE+QsvvXL6oLO4MDfZEOdOnNnf3vzeX/zHLOkEfoRJRkgAoz03sTzXebvrRY25xXO9xG5tbSmFnAliBhG5FJZcmueDPM2tQc4sgUHyPW9nf6820Zw9AfMY/Y3f/tu37//f/Vr98tmznYM0HmjBQ8+PuOxb5zKtHGOZsalhFpkij7xmc/bMmSfy3p3t1fV9QywedHZ2Vx16Yb2mVWIGsQEliBED4l5BLpNBbfKUM3lj0sX9vWu3VwXl+1sH2klruWNITjvnCJEJbgEsg35Gk+Fkbr0fv3U1S6nb7Q8GnUGWnzjR6vSzJLe5JmVAJWYQayRuOUfk2hCQABFt7PZ7P/zwzZ+8vbk9kMFELzbKIAgvM5YMTbXqg9QZAIY8tYoxzkFakJNzJ7wQejFcu7WyvrkX1acnphZrjRltRaM2kaeGMYGOGDBjjBhmn6WlpYVf+tyXnnryYqdrOvu9JM7nFuafefZ5rTUw1u/3BwPZB0jzrIAIxhhGJKU3Mzv/0ssvv/rq60T0jW9/L88mTpxYkILHcb/d3r967aMsjvM8Z0QMgazxhGQMWRA89/wz//h//j9aa2/duvXmm2/u7e3V6nWlzMYGZlmW5TrOVeFEPowuRmRskmXZ5cuXL126VISwHwwGaZoWYWyL45xa60LjBQDMb2pLuTLzs9Ofef6Vp556JouTzc3tnZ0t51yaxnHYAEZRFPqhxzl/cH95f38fjGPIdJ4TOUtOKeXIFO6wnAtyxipjrXVa76phaEYYnXEucFjVHbtEVwDg82Kj6zgyROTFdwooBGeMScGklEIwGJ3aOT8TTkxMtBo1IZhg3JOCyGYqC32BQFh4QyM5B4VFwNpPayIcMd6H1cach8qdc7WMYneNA53yx5gUK882ASACECIBYeFKVQRodTCKTs8Q0VVidAGU0gcrjbMh0wIAoLHhjH6MW6XGZNCnKcNHDsetHBP3Y8MHABxtyMuLIwPFQ4BVoq4CjVUFKCIicoDiZB46Z6y1dpQQGtD93ADr5wJDjynHTugv9Pjj6nya93QspPhEiFMSUFW3IuJYbqnyc/3E3g8P6uee5GM1apxzRzC2UOCI6a287pzj/NFqv5G/O9EwQl3ZVPk9fyJkGQORVQgIAEd9sKhCYQmwhmum0iaWUO8IwCrrlI18GjrHnsUyUnzxugsj+4htIKI2Lld6Z2d3d3eXcHhqWvjeuYsXJqdmUEgyhgC0ss5qY7QQHhESAkcBQiAXgnsopNDJIM9AQhT4U81a4AkYuTIQDsPnODa08DOgRqMRNRpvvvnmP/tn/+z/9D//D7UG3LvX21hZj/f2O50OOQzDUClrtHbG+oEHzgIAMSQA5Pze/ZXvfv+HX/jSL0dhfRCn3YNUJ616vTk5M2uzYHN1hUvJnHHWWCQByDlXllSavfv+R59tnZycnW+0poO6Z0Qm1QGv15nPM5v34143HihrmJBA4IA0OIP047d+9vrnPzc7C+cu1l7//BcQ8alzT29s7bbbXS7JOMxym2qtCZgnLDJDTCPrZboTaxmxsxef1E/v3r59a3ZuKc11nFGtOV2fqGdJ1+xuawfE0A5txAjEHLKZE+fzLOZ+Lb6b37x9Q2IWSQLuybAOpHJFqU4skbCCEIxzsRYg60FzJjFseW0zTbTO0+293Y1tMKrd7SeGkJjMtUpSJaWvEaT0nCUQAfca7V6+u7+7fZA4jPY72UfX73Y7m4NMayKbq0khUAaa+kjMAhfSJ2BJbpTD67f3r169+fb7V7uxafez9a39er1ea87mmclSrXPLOXeWOcsKgca4nJ6YazQm11Y7b/3snbfffn9n++DkiTM08qrRrpDdRaorcNpmWe48r1bzm83mzMxc4Ya/v7vT77Wnnnzi1KmTuUrv3Ll17aP38yyx1vqeCKSwSoeBRGSNWv3XvvqV5559BgCc0R988F6j0XjmmWfCqH7//v27y/fZhjSOjCNERK2ttcAY6XhxYe6v/9ZvfuUrX0nT9M6dO9euXev1er5/0jnX7/e3tpizOklc4VmsHSIhOSFFeGJ+6aVnX2qEUbvdvnr16o0b1zdTfXJustaIMp05cFG9trO5YYzKstTzPGOVVlZKaa1SpKdaE/Pz89OTU1IInaVZmiqlVndjm2UqTa21jBHnDFEAEwTOERlbnEp/CFw0WqKh9xWB5UUmdyTnnORF6KMi4vEQZ5iebDQajVot8GSrUZuenAgDvxAIDMkWeKdU5QyNbCMw9IhSZVzAcOxidf8MFQtg8QNhfMtd7ciNeVwhwmHPjbIwHMYdrbJERBzhsUOI7SjZpYwY04eM6peEHWMJOcqrsVIeM2ljomSMvOJiob6qYqZq0qFqGToFkRy1wBAdQpksqMiB6YZngW2Re4r+i5kI/7cpj4JWP+/1spR3y+OvYy8MRit7zEnr01N7lICH8OLRpQx5ABVAwDk39iEZZS84Sms49jGMUfJ4ah8FUx4/2CrQgcqHXf0TDk9m9cehqTiiqUJErFrTHqE9/pSkVquVvvNF3jQaqfKGJ6CJlFJxnLTb7SRLpZTAmCOs1Wrz8wtMyizXiBAGEYKjnIQApRQwFNxDKYAL40A5Dcrazg6TXhQGKs7IWk9IKbnSOaBX9DTqHQv/wCRJenG8uHjyD//wD7uJ+sKXv+IMHuztdza3ut0u57xZC+PYFm4xvpRSSmVMrownG/V6fX334Ps//IGMms8//+JEo97b37/63k8PNpZ3d/ZOLcwQAXJBVmtrJDrJmODCACOHP/zhj09cfH5yfqE1MdXAoJfvSoyjYLrPcm1tnKZZljhAhkgIlihPsqmZue9897u/+w//+8mZcL8DV55++vr1644EZyETPoFKkqw3GBRRNx0ioGCeZOD3E7Wz3xuk4Edw6Yln4zS/dOVKptJbd26Cc/1B0u10tSXjgDEkZI740MaBDGVUE16jVou77ZW7t4EYcZ7lttZoOZNZci5JlFGWHCEYY4BFwo/Onn/yzKlLtfrdu3fvb22udfvZ3sFuFOhcGYYeE5IQLWHAPA3OExwMSBmEtZYfNMNaeOHSk/04G8T9mzeXe/0NcqkDZkzuiLjwLDKLCJxLPzTGDTIVJ/kHH167eeeucTAzN9+Psx+/+bYX+GFYU8ooZZxxggkhPHA4TP6Nol5vCi43N7fv3VvudQfOkbVud3dfCDYYJGmSERVJJ73CXlY4mPt+yDlPkuT27dvvv/++UXnSH6RpDGQFw+L4ZRR4g8HAE4wzMDrXHI129ah29uzpQnehte53e8aYmZmZ6ZmZJEk6vf6gH7e7PZNllkhb0toC2JlGODc399nPvvTSSy92Op1O5yAIPOeiK1euKKV2d3cRSamMyCqlnHPKct8LBGoGwmnXjBoXL54CeXZp/iRpA0Snziw1Jpv315Z39naQwPO8gtkWuIeBYxwEiumJ1vnz559/7rkzp04h0d7O7sHuXhzHA9gaDAYWO0mSGCICZMgQ0RZpAUcuzwyRM46Ilpx11lkwtoiA4zgyxoFzXnj8FeiLCARyxmFze6fd7jIGnhBzM9Pu7NLC7KwvhUNAwgJAoCs/YPsoC8xY+US5UN24Hr5+vOA4BNoqzJCJRx7GguPkwtE/q3LhKP6rVKs2OH736P4fj+X2FdlavrhPpLzafpn0ulRDFGC6fAoqqAsRJQd46MdSaCEBkRXJW0vRb60tdHsCRznjqkMsWq2qYbAMnHVkZosfzrmRua4ywrEoVZWRVGb8kEqjiHJQxN54CDgqKpOjaIMOx7pgowgrUAl0WU6osw8PUIyVEnlAGYSJiCMfvZJD86R1AWh4sZshoiKUodIpDo2yvOioatytrjYsQyuN3krBJso4WOWcDJc+YwBgnRqtKla+Hc5EERitCABtraXhGQ4mxMNq5ai11lWAVYamBYDc5YiII00SsuI3g8JdYBQ/xjFW6MyBLMLoKAAxcsUAgRwWLwMROePDMRLR8HiXV3B854ghZygYL9ZACb8AkQMA5yXXcABFYJohxDmUln0ULitjAaJ1yC1TTmtyiiNxVqwhZ50drjEY8hF0vJwfeEQhosKsQERWMiE9BGd0zgmYCLTjiWPK85e383dXujuqxgS2RN05mppoTjWjZk2AjRFBq9wTrF7z2/s9juhJD8DkWcpQhFENETOl/JpJs0zlxIGFIUQ+eIVxv9grogUAJMfIYfFJy3o/0WjY//5/97vdjL37zkaq2fUbtxuNxqVLrzEbM91LVm9sxoMkH0x4ESobRaE1CahdpO58JLjR3/y3/4+tjz4zO7MwPTk16O/f+PjdwKPBQKX5tki7jDHiQGEjJZ4mWvBcur0WmG//i3/y7LPPvnb5yu3byw2fpzDR0Xq6We92963rGmeFZ/0AB4OB9OqAHheYa/e//ON/+o//b/+00ZTdXFk/+P1v/DtrdcpsICj0PEsuTdPp2kSuFRdKuBwFpUn24fvffOqppZdfeYVF+09eah5sfxgf3J4M0tDjcb/XcPnm3l6zUdNElqzmnCTPrftobfnMh7eevHRaxbsUb19e8nvdrW5nW/iJ15roD+z2TpppvxHO28xx4r6DqQkLavDZz5xrtaAeLWTprX6vnSUDIOh1U0e1Wk0iho71LNd9czAZeUk/sSSBs9X9/V85e1YEkweyEXbirTvXBXLy68vXb5tETQSe62WkbcS1ZCY3HW3SzAbgz/O5p3bkZb1w+ckLEz9980dra9fOLNYebN442LiV7HZ9LjyPOZs6TAxXjkknaxkGT5x5diU8v9tW65Ov8eee6Vy7/V48sfrRXSCd9hyDRtbZBJNOCe5ylVvXqk9nEK7HYTN67oPkQjrw3NRvdnvv5xPtD5bx/tadSJpeZ88Yvz0YcG9yv9trBM2Bx1Lk9YmQTc7e3++86/BgD759O3273YgYa97N5/fbeSp6sUmynIgCP3IgtdLgAJlgYVsFjUHz3HXNfnqncTd5/h6T1mw/Ezw9yfd5wGK+c4B+ymrKb1hgi3EeZ2lCeR86Zpbfg31fnGoFwJbmcOpFzSioXbh04ZTWcnNrI8u6aRIJnIkwdv08hAA5y1M3OT3jh825ped+9b/6e1Ho7W2tzS7uTTejG9c+ml04//G1a1d7fWtdEdrfWOuck4XIcLqQPoI5IOOsQ9kkk1mjwKSCjEAKPOYzjzNOJMgB8AD8yJBQDnPrWOR1jVHKSJKDLmzf3Dw/sC9cOUcqbvgorCHnhBcqh4PcIfNCSAuxU0k7PV6sQYAyZKMuGCmMzCMjgTKUiFj4LWARDZWI21HsACKwAAjDQyBDWwA8tCQAAFiriRgAZ1IwNswjZqwlZRCLtpmzZAg4L/zYeFX+AhSCqWDjBaOG0vUXAFArKEzPbtQpR0S0xjDGyvyEAGCBiBxaKHSGhXNzKRaLMz4ldMCRebdMJo2IRayIoo6peLkRoitkOoBXwaPOOXROOMeIwgK4WwvFCX2tEUAIYSgntGCcQB84J/SIyAJZazkDkgHDjEHGSJPVDH8eDdYYpjl68dhyLOY9qjl4FM79lFSNaT7G0MxRdcixdJZ1qo/jYSetY+kca2eMmOpgjyLuap3y7kPccFjFWtbBSjyFok5pi3wIVZ2z1hIcE2fl6PyP3TpM5PA0LyJCxXGtdFeskloScNQwOsJwY5D70KanOr3D8cKhyXxMGT4Fh87jDL8zBHKH3uzD2ah8YI9vf1SflWMf0UyIpJQa9Dr9fl/rPOAeY6zIQx9EoScDsppzFJyhs8ZZKhLTAnHOuZMOMFNKCE8Ij6HHBCMujCFjQRMYR9pYJlkZFJUBc+gAkAFw4bUma2fOnZ2YmpkKpoLW/NTs0s5BZ3Z2NgiCM0unnn1i6Sff+8atq+80ayLuthmXyjjrwBOeBmYszkzNnTk3N4j1h9duOm046izpRT40JiJNosD61oAzFkf6UT+qtdvdMKrdvbdy0O4xKXZ3d/M8T5JEz805UgwFAMvSnHPtiAPjCDyJM+lP3Lt3/5/8X/7pufMXLzz5xPLyirX21s3rTif16cbe7obR+dREq9fuCN8z2iHzA+nFmbpz89Z3vvVta+CJ1uTazsHe1mYv1SD8JM+YJyK/FgS+1hqlCDzfABoHAZcA8P0f/FXcf3ph0h/EPZVlaaKjsMW5v7vT8fx6vd4yWS9NYp+JwGfgaLfbff6Fz9TrwlkIwxpjrNPpOecEMs55FEWBLPJzW9/3J5uNvb0HgV+XLDgY9Ha2N1cfLJ+71ARnrM4lw263C2nHkRFChGHgS+8g7ltCso6hKGQqB1xdWf6V597o9nYE2VbdW0l6qNnS/HS8v9xNB8zjgjtjUjA54yAkd4K1u32r88CXntQzU5Ot+uTK3XtapRvbG0mv3e9s27Qdch1IZrRNskR6QapSgyyImmkaW6uQCyFwaqL54GBrq7fbYSrAfNDd2drYyFRem2gKjgIsA2JAKkvSZGCt/eM/fJ+s6x3oidZib3v76se31uuc23hrc7XbOVA65kwit8JzjhyB6fQGpy5N5Hl+7Vr/9u3VB6u7a2trTdAfXv24Tl0a7HR6A2uoiFihre1niWPEJPd8P6hFXhglyqqUv/mD67fu3Tnod/c77f1uwyBxIQdp1w8FCuc4FNnICQCRiyCcnFkI6q1Bao0ziYIkgYlGePrMk/WW6g0GDx486A36heqp9AEHdCN28XD7HffbVudOa8GMx5n0gDMkq6RX09YYB85kJIGLWi0MkfsmGaAvLWjjTJIrctju9jY3t09O1YoDx9ZaNIZQICLneIQdHs/ZSpZVct0xVjnGHumIEuhYEXZUjhf6+CHawPG7Rx98TKkKtTEhODaKhy0fGcjY4w/n4REDGaMTPklqwJg4GPVYvCmoyJ3iehkZC7GAqoyIkIgxQAaMAYJAJxEc54hAD1PlHCvAjg6DKrfGfnzKAYy1PFazdLKprqpPUz4N/Z/4eBUuwGOte2PNln+WipAxmDX2e6wjOLwdKTcEZbWycvFyy0aG9cmV2dGr7Tt3zMG/xyOVIf2V56oOoTDEdiOd5YiWkrzS/F84IZW3cKSEKzTt1Yswek1V1FiQDwBIh85gVjFodbBQfSOEAOX5juGHUFjEH5I0ms6fF2ANZxWRIQIBkSVCBmit7vV6/W7HKm0ld1oxDuQMlz4TXBnDGGecG2MdkJC+1to6QIZcekZro40DDIMo09wgcpSpzuLMpNppxwwwjkggCAsDg0MQAI7A7R+0uR9OzMzML55464ObH9/6we/+d//TS599eWNjAxn74MMPz52aeuW117/5F39669qDQHDHpLXOgPBEoI0xwOZOLD3z/Cuc1Tjz3nzzzRsff/jlX/615eUb7137qBb6kgtFBsBpbbkQAIx7/tz84swM1pqt3b3Oj99658TJJSllEDYt8za3dhknPyAufG2VsQjEgTwEf+nk+aeeeTnO3P2VjZ+9/cH69r5zbi7k01MT+7vJxuZaM+TOuV6nE4U+Y1wro2yG0pyYX+il7uP3P2i3e+emz/iSq3zQa/fzRElG9dDf3dnww6DTOeAkPcQ8z7n0wqieK3N/5UNrdp574tzidG2udTbpdRBMrz1Qqdja3B0MBp7nRR73pbOm6wl2culMnivpQz2Ae8udTm/AkO/uH8xMTRZfpVKK1cKpicm9ra3d3V2fIycSHhep7u7v/+A731aKbe93Br2uJ2W3O4A8DT3fWqm13t9PM8cBPaVTLgJECcQQ3LUPP/iN3/xvppvRD3/8kxtX35ubCD2brd29trd6r+YHgS8kKGWcc5YzRKfJ5K0ovPb+u/Df5OeXZv/k/e8DibmJ1srKA59MotNUpR4HGXicaUcoPVRWGUcKmM8dufyppy5oDJdXt9tx3+SZy7O+6nayTjbYR7KzMxNJmgdCoDWMtGSotSZjfc6nGhf3t3cCyU8v8Ps92Nt9sLvRyQdbKt8DigFzB4QoueCcSBkLjgVBfWd7b0Baa6zVGg5YP4mvXX9Qcx3I9tPBfi+Jc+eMY5YcCGSSOaBY604Sb+zsrm31Nh4crN/d3l0/6Hc799ceoJfF6U4/T/uDgZWRRmNAoXBAZB2hDILGpEZx0NPvf3yvFoVo8u5+d3dn4HM2NV0DhsAQwBFSocsh5woVOOccgFgl7aDNU86gXveaUbPV8CNPcCSrFSLPlYlTE+fKZM5KCwDSd0HU8gI/y/Ner6dUZpXa3N5jOpt6/olIIhE56xgbZoznAsn8HP6gxdbuqFCgw0qEKpYa21JWReoYfx7VHwmdI8E8Rw9W9tij2mNEltx4DBsBVH1qS3ZNAMcAxKE57IgYPSqpq/SUtIyJiWPZOxGxigKlNF4VJ0JKqYQjsxjnHMVQV1ZKQ1eiQAZIyJA4EGeFTY/EGAQ5igBKrHOU0E+DsR6FrqoVxm5+YpuP6eVRMKv891FrufKGqDqzUHlV1R+PmrRHWZqOop+juKGkwVUO3B5bDUYa4VGFcoDjxI9N47Hv8eg8YHWjUP2AK0QCARFxfujDHvvyx0y31eFXiXEPg7iMf2YPyXgsGzrEX4orwAHtmJ6vbBNhZGMlGKP52MarK6Fwr2OF/bcYCAPBWJ6mWmsEZ5RK4rgW+QKZJWcJldEEVjJfW8OBCy9wwIwxVlvP40xIlytjnSWXGLLE0FAnzvd6/UFqLCJI36FwyIYThEVQB0bAFpbmNncP9vbbyPnq+tq77777G3u7jUZ9YWF+a3P13//JH81MyN/42hcarSZxwTyRZoTcA84NcO2IydrkzInT555YXtk+sXT2y78ytXvQffozr0/Pz7139aPaZIO7DreOCW6cI2Ms8TCqX7r81FNPP6+0S3P9re98tx+nL730kueHnuf97Ftf39xczZUVPIhCZByUVtYwxuSzz730+c9/bWu388qrtas3bn7n+9974403RLazdPLp3c3mz978XgoMrCNLvu93un3mBRwZArz2ymunzj+5vLod1Zo//OG1LB4wZqabwdTMYmd3VQ+S3b29wBdExAiM0qjtwtzc4slTcZyEcmF7fe3BhluYeYYJL04g8KJeF6PGbLNek14GLsvivUatpuzAOAfi/M07D/70P/y01Zq4+vH1a9du7u7uEYo8N9qAL7ws7vbjQaseSun1+/2GxE6vU2f+7OSUgvqtq9eak/NchJ7gUauZdWSekucFRvuIRqlMEWdcWq08j5EDsATWrdy9+2//1//v08+9GnE9FfGWR7sP7na3VhdbjTQxHjhGTjhH4AQwcs4YPTE5c3/53ls//sGXv/ZbAXMbm5uNoMZMZtFJX0aNOjOQ6v4gbZNNBUMmeS0IdGLztJflvaeePLs/oB//+IcHD+6393dAD3TSYS4VSJxzsE6g5Qx1NiCtvCAgAATKsuzkxfravd2N1bZJcqu9wGtlOt3d73JMaqEVkozNrc44F4TknGZsovDT95tBvS4B7eTkZLu/34njftzOO5t50lZkrORW+sBE7gwHbhAk52GjOTk/lyVIvGu5sIxina1srrbjTW27vWTf2NRBHtuBY4oDWm2MZWHoha0JlE3lvJv3tiM/mmiEnZ18fflur9O+dCG8e/fu7v6eAyrDNIyYHgzlpKMieD0ReWimWs2F+Zm5qdZkMwwDKYCMUVmmtLLdOO10k3YvG6RaDQ6yGGsTc82Jph+hcbw/6OjcDRK1C539Ti/kzbpfggMLBOCqR/AeVyrA4RAfG6twVFQRHRKORx850vtI7oyCZyIOY/fiEcNFyWwfxTbH+OdRGkYEHAMwSprHBnVUrlUnpDreor+jNeEwWqiKvLK7wumq9GkuFFdCCI3IcKRfYFjCFVaEcScA5Og4EOcMoZrs+VHQpDqesVfyaVbG2IyMSdaxOkWrn77lajni2nWoPBTqj3YqHBvj8D196u1FUT4RwRytPzafv8DY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" }, "metadata": { "tags": [] } }, { "output_type": "display_data", "data": { "text/plain": [ "" ], "image/png": "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" }, "metadata": { "tags": [] } }, { "output_type": "display_data", "data": { "text/plain": [ "" ], "image/png": "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inQIyYcQQxbaokLd78bchUrgFACWOC+CRkVIWpwvERGp9ILWiZ268cSOpj4ygrTVXV7vtK5urj+9vrTti21bvDM6uT08AW/BeOhHsJQ467YBWKZHxeCTY9PuthVqyz4zHmNdduN57IUkaEIpS/SclhxZJ96/EeUn08l8NhuVtkBMotSyHOwdHpT7MekIjWaITcyFlcImpJMkuX79+s7Ozu7uboBW0+k0SJ9Op5Nl2f3t7aIoELHb7XY7naIosShBq2AniJWOtVEKJ8cDZNFREqFyADGphzcvPv7s025z/2WhFNTk4Gh+fDLc2XdHR61Oa146MNRR8by3grlz2dxHzlj2BlGARdg7EGQiQQAETeTDTg8kkIeF/1LHRmkRCk743BbzyWBvls/n83v37x2dHENkMDZxL/VKvJKbN25euHSJEbKy2Lp08clnnj48OT7a21Nx/PFPfvKNN94Y37/fuXDBFiU7315ZnRV2udcfFEXubavb9t7rSPlYZ2U5yyef+/LvffWlb44nk5/8yZ98/OmnBoPBne17rfX18XjsivIn/8RPrC4t/63/63948eLFg8O9fzoa/bWf+7m/+pf+Nz//X/78tt9uddrY7wupyWyKAqvdrkGaD4cmTS8/8sh3fsd3eIZXXn/jYDRcXVk5Phjf3r7X63aj1U1jXTEY758UlEZtE3cMTEpLGpUypAkUMDmnkBREpF05f+qJJy+vLB3duL2y3M+ms6CS251UEL1A6ZxnX+T58Hh4fHzc7badc+12OwRut9vt1dVVROz1ekVRTKfTPM/39/eTJOl2u2macpmRY2szV2RxnKytblxeWZ9duPqRJ5+djSe7B/t37t8/GJ4cTUflYPpHv/3Fv/KNF995553d7fsffPa5Dz73gU9858efeu756WTy0IWVl196+3d+67fv3bv3xhtv9HqdyWRyeLgfpRvOOZO0xPq00y5subu3J5eWIFHGGI3auazMLXsgVACgCcVaFUMriaNYG7UofrJAUQK6ktu1KG4IHxYBce59iEalAchq11vNtNSU7WVZMjMa1YRHzrk8z4uiaLVa0AhgagAsVSvNJhNmiDmpm11LSL+ogSjee/ZexNd6qknKEPCWMaaVpov8egnUvgKIoIiUAhZgRhGFWP8nDYyIFbm39770bqG5GtRTzRE4ByHqDtZGLKm8FvUlYQ5Cg7XS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" }, "metadata": { "tags": [] } } ], "metadata": { "id": "EEX-m3P1yp4y", "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "outputId": "d4e7d46f-5528-4fc5-9bb3-2774c75e2367" } } ] }